From 2f8ae1f7f4bae25bca511296a0e4c1647f605dc4 Mon Sep 17 00:00:00 2001 From: PopcornFX Bot Date: Thu, 18 Apr 2024 12:20:33 +0200 Subject: [PATCH] PopcornFX Plugin v2.19.2 --- .github/workflows/draft-release.yml | 30 + AE.code-workspace | 65 + .../Include/AEAttribute_Main.h | 39 + .../Include/AEAttribute_ParamDefine.h | 58 + .../Include/AEAttribute_PluginInterface.h | 99 + .../Include/AEAttribute_SequenceData.h | 52 + AE_Effect_Attribute/PkgInfo | 1 + .../Precompiled/ae_precompiled.cpp | 1 + .../Precompiled/ae_precompiled.h | 13 + .../Sources/AEAttribute_Main.cpp | 172 + .../Sources/AEAttribute_ParamDefine.cpp | 66 + .../Sources/AEAttribute_PluginInterface.cpp | 928 ++ .../Sources/AEAttribute_SequenceData.cpp | 59 + .../AE_Effect_Attribute.plugin-Info.plist | 24 + .../Sources/AE_Effect_Attribute_PiPL.r | 73 + .../Include/AEAttributeSampler_Main.h | 39 + .../Include/AEAttributeSampler_ParamDefine.h | 105 + .../AEAttributeSampler_PluginInterface.h | 107 + .../Include/AEAttributeSampler_SequenceData.h | 52 + AE_Effect_AttributeSampler/PkgInfo | 1 + .../Precompiled/ae_precompiled.cpp | 1 + .../Precompiled/ae_precompiled.h | 8 + .../Sources/AEAttributeSampler_Main.cpp | 170 + .../AEAttributeSampler_ParamDefine.cpp | 169 + .../AEAttributeSampler_PluginInterface.cpp | 780 ++ .../AEAttributeSampler_SequenceData.cpp | 59 + ..._Effect_AttributeSampler.plugin-Info.plist | 24 + .../Sources/AE_Effect_AttributeSampler_PiPL.r | 73 + AE_Effect_Emitter/Include/AEEffect_Main.h | 39 + .../Include/AEEffect_ParamDefine.h | 149 + .../Include/AEEffect_PluginInterface.h | 98 + .../Include/AEEffect_SequenceData.h | 65 + AE_Effect_Emitter/PkgInfo | 1 + .../Precompiled/ae_precompiled.cpp | 1 + .../Precompiled/ae_precompiled.h | 8 + AE_Effect_Emitter/Sources/AEEffect_Main.cpp | 169 + .../Sources/AEEffect_ParamDefine.cpp | 155 + .../Sources/AEEffect_PluginInterface.cpp | 1304 +++ .../Sources/AEEffect_SequenceData.cpp | 88 + .../AE_Effect_Emitter.plugin-Info.plist | 24 + .../Sources/AE_Effect_Emitter_PiPL.r | 73 + AE_GeneralPlugin/GeneralPlugin.manifest | 15 + .../Include/AEGP_AEPKConversion.h | 77 + AE_GeneralPlugin/Include/AEGP_AssetBaker.h | 222 + AE_GeneralPlugin/Include/AEGP_Attribute.h | 216 + AE_GeneralPlugin/Include/AEGP_Define.h | 41 + AE_GeneralPlugin/Include/AEGP_FileDialog.h | 82 + AE_GeneralPlugin/Include/AEGP_FileDialogMac.h | 23 + AE_GeneralPlugin/Include/AEGP_FileWatcher.h | 43 + .../Include/AEGP_FrameCollector.h | 46 + AE_GeneralPlugin/Include/AEGP_LayerHolder.h | 152 + AE_GeneralPlugin/Include/AEGP_Log.h | 51 + AE_GeneralPlugin/Include/AEGP_Main.h | 30 + AE_GeneralPlugin/Include/AEGP_PackExplorer.h | 61 + AE_GeneralPlugin/Include/AEGP_ParticleScene.h | 54 + .../Include/AEGP_PopcornFXPlugins.h | 55 + AE_GeneralPlugin/Include/AEGP_RenderContext.h | 120 + AE_GeneralPlugin/Include/AEGP_Scene.h | 316 + AE_GeneralPlugin/Include/AEGP_SkinnedMesh.h | 122 + .../Include/AEGP_SkinnedMeshInstance.h | 82 + AE_GeneralPlugin/Include/AEGP_System.h | 60 + AE_GeneralPlugin/Include/AEGP_UpdateAEState.h | 90 + AE_GeneralPlugin/Include/AEGP_VaultHandler.h | 99 + AE_GeneralPlugin/Include/AEGP_WinFileDialog.h | 111 + AE_GeneralPlugin/Include/AEGP_WinSystem.h | 34 + AE_GeneralPlugin/Include/AEGP_World.h | 322 + .../Panels/AEGP_GraphicalResourcesTreeModel.h | 163 + .../Include/Panels/AEGP_PanelQT.h | 201 + .../Include/RenderApi/AEGP_BaseContext.h | 68 + .../Include/RenderApi/AEGP_CopyPixels.h | 45 + .../Include/RenderApi/AEGP_CopyTask.h | 70 + .../Include/RenderApi/AEGP_D3D11Context.h | 77 + .../Include/RenderApi/AEGP_D3D12Context.h | 105 + .../Include/RenderApi/AEGP_MetalContext.h | 90 + AE_GeneralPlugin/PkgInfo | 1 + .../Precompiled/ae_precompiled.cpp | 1 + AE_GeneralPlugin/Precompiled/ae_precompiled.h | 28 + .../Sources/AEGP_AEPKConversion.cpp | 492 + AE_GeneralPlugin/Sources/AEGP_AssetBaker.cpp | 799 ++ AE_GeneralPlugin/Sources/AEGP_Attribute.cpp | 758 ++ AE_GeneralPlugin/Sources/AEGP_FileDialog.cpp | 107 + .../Sources/AEGP_FileDialogMac.mm | 66 + AE_GeneralPlugin/Sources/AEGP_FileWatcher.cpp | 113 + .../Sources/AEGP_FrameCollector.cpp | 45 + AE_GeneralPlugin/Sources/AEGP_LayerHolder.cpp | 155 + AE_GeneralPlugin/Sources/AEGP_Log.cpp | 108 + AE_GeneralPlugin/Sources/AEGP_Main.cpp | 475 + .../Sources/AEGP_PackExplorer.cpp | 124 + .../Sources/AEGP_ParticleScene.cpp | 134 + .../Sources/AEGP_PopcornFXPlugins.cpp | 282 + .../Sources/AEGP_RenderContext.cpp | 703 ++ AE_GeneralPlugin/Sources/AEGP_Scene.cpp | 2057 ++++ AE_GeneralPlugin/Sources/AEGP_SkinnedMesh.cpp | 451 + .../Sources/AEGP_SkinnedMeshInstance.cpp | 261 + AE_GeneralPlugin/Sources/AEGP_System.cpp | 276 + .../Sources/AEGP_UpdateAEState.cpp | 1233 +++ .../Sources/AEGP_VaultHandler.cpp | 492 + .../Sources/AEGP_WinFileDialog.cpp | 183 + AE_GeneralPlugin/Sources/AEGP_WinSystem.cpp | 216 + AE_GeneralPlugin/Sources/AEGP_World.cpp | 2674 +++++ .../AE_GeneralPlugin.plugin-Info.plist | 24 + .../Sources/AE_GeneralPlugin_PiPL.r | 41 + .../AEGP_GraphicalResourcesTreeModel.cpp | 931 ++ .../Sources/Panels/AEGP_PanelQT.cpp | 736 ++ .../Sources/RenderApi/AEGP_BaseContext.cpp | 54 + .../Sources/RenderApi/AEGP_CopyPixels.cpp | 193 + .../Sources/RenderApi/AEGP_D3D11Context.cpp | 506 + .../Sources/RenderApi/AEGP_D3D12Context.cpp | 712 ++ .../Sources/RenderApi/AEGP_MetalContext.mm | 188 + AE_Suites/PopcornFX_BasePluginInterface.h | 293 + AE_Suites/PopcornFX_Define.h | 90 + AE_Suites/PopcornFX_Define_Version.h | 9 + AE_Suites/PopcornFX_Suite.h | 1407 +++ AE_Suites/PopcornFX_UID.h | 67 + CopyQTDllsForAE.py | 105 + External/AE SDK/Headers/A.h | 196 + External/AE SDK/Headers/AEConfig.h | 102 + External/AE SDK/Headers/AEFX_ArbParseHelper.c | 171 + External/AE SDK/Headers/AEFX_ArbParseHelper.h | 75 + .../AE SDK/Headers/AEFX_ChannelDepthTpl.h | 59 + .../Headers/AEFX_SuiteHandlerTemplate.h | 63 + External/AE SDK/Headers/AEFX_SuiteHelper.c | 139 + External/AE SDK/Headers/AEFX_SuiteHelper.h | 157 + External/AE SDK/Headers/AEGP_SuiteHandler.cpp | 66 + External/AE SDK/Headers/AEGP_SuiteHandler.h | 601 ++ External/AE SDK/Headers/AEGP_Utils.cpp | 37 + External/AE SDK/Headers/AEGP_Utils.h | 9 + External/AE SDK/Headers/AE_AdvEffectSuites.h | 343 + External/AE SDK/Headers/AE_CacheOnLoadSuite.h | 39 + External/AE SDK/Headers/AE_ChannelSuites.h | 509 + .../AE SDK/Headers/AE_ComputeCacheSuite.h | 175 + External/AE SDK/Headers/AE_CreatorInfo.h | 1 + External/AE SDK/Headers/AE_Effect.h | 3049 ++++++ External/AE SDK/Headers/AE_EffectCB.h | 1223 +++ External/AE SDK/Headers/AE_EffectCBSuites.h | 914 ++ External/AE SDK/Headers/AE_EffectGPUSuites.h | 221 + .../AE SDK/Headers/AE_EffectPixelFormat.h | 110 + External/AE SDK/Headers/AE_EffectSuites.h | 728 ++ .../AE SDK/Headers/AE_EffectSuitesHelper.h | 152 + External/AE SDK/Headers/AE_EffectSuitesOld.h | 283 + External/AE SDK/Headers/AE_EffectUI.h | 580 ++ External/AE SDK/Headers/AE_EffectVers.h | 17 + External/AE SDK/Headers/AE_GeneralPlug.h | 5779 +++++++++++ External/AE SDK/Headers/AE_GeneralPlugOld.h | 9125 +++++++++++++++++ .../AE SDK/Headers/AE_GeneralPlugPanels.h | 134 + External/AE SDK/Headers/AE_GeneralPlugPost.h | 16 + External/AE SDK/Headers/AE_GeneralPlugPre.h | 15 + External/AE SDK/Headers/AE_HashSuite.h | 52 + External/AE SDK/Headers/AE_Hook.h | 155 + External/AE SDK/Headers/AE_IO.h | 789 ++ External/AE SDK/Headers/AE_IO_FileExt.h | 32 + External/AE SDK/Headers/AE_Macros.h | 102 + External/AE SDK/Headers/AE_PluginData.h | 84 + External/AE SDK/Headers/DuckSuite.h | 13 + External/AE SDK/Headers/FIEL_Public.h | 81 + External/AE SDK/Headers/Mach-O_prefix.h | 1 + External/AE SDK/Headers/MissingSuiteError.cpp | 43 + External/AE SDK/Headers/PF_Masks.h | 49 + External/AE SDK/Headers/PR_Public.h | 424 + External/AE SDK/Headers/PT_Public.h | 120 + External/AE SDK/Headers/Param_Utils.h | 343 + External/AE SDK/Headers/PrSDKAESupport.h | 547 + External/AE SDK/Headers/PrSDKPixelFormat.h | 160 + External/AE SDK/Headers/SP/PSIntTypes.h | 79 + External/AE SDK/Headers/SP/SPAccess.h | 387 + External/AE SDK/Headers/SP/SPAdapts.h | 406 + External/AE SDK/Headers/SP/SPBasic.h | 184 + External/AE SDK/Headers/SP/SPBckDbg.h | 118 + External/AE SDK/Headers/SP/SPBlocks.h | 118 + External/AE SDK/Headers/SP/SPCOM.h | 9 + External/AE SDK/Headers/SP/SPCaches.h | 128 + External/AE SDK/Headers/SP/SPConfig.h | 76 + External/AE SDK/Headers/SP/SPEDebug.c | 2 + External/AE SDK/Headers/SP/SPErrorCodes.h | 172 + External/AE SDK/Headers/SP/SPErrors.h | 34 + External/AE SDK/Headers/SP/SPFiles.h | 511 + External/AE SDK/Headers/SP/SPHost.h | 176 + External/AE SDK/Headers/SP/SPInterf.h | 180 + External/AE SDK/Headers/SP/SPMData.h | 66 + External/AE SDK/Headers/SP/SPObject.h | 15 + External/AE SDK/Headers/SP/SPPiPL.h | 302 + External/AE SDK/Headers/SP/SPPlugs.h | 631 ++ External/AE SDK/Headers/SP/SPProps.h | 316 + External/AE SDK/Headers/SP/SPRuntme.h | 500 + External/AE SDK/Headers/SP/SPSTSPrp.h | 52 + External/AE SDK/Headers/SP/SPStrngs.h | 132 + External/AE SDK/Headers/SP/SPSuites.h | 284 + External/AE SDK/Headers/SP/SPTypes.h | 175 + .../Headers/SP/artemis/config/platform.hpp | 114 + .../Headers/SP/photoshop/config/platform.hpp | 95 + External/AE SDK/Headers/Smart_Utils.cpp | 62 + External/AE SDK/Headers/Smart_Utils.h | 34 + External/AE SDK/Headers/String_Utils.c | 6 + External/AE SDK/Headers/String_Utils.h | 48 + External/AE SDK/Headers/SuiteHelper.h | 97 + .../AE SDK/Headers/adobesdk/DrawbotSuite.h | 660 ++ .../Headers/adobesdk/config/AdobesdkTypes.h | 54 + .../Headers/adobesdk/config/PostConfig.h | 2 + .../Headers/adobesdk/config/PreConfig.h | 23 + .../adobesdk/drawbotsuite/DrawbotSuiteTypes.h | 148 + External/AE SDK/Headers/entry.h | 53 + External/AE SDK/Resources/AE_General.r | 548 + External/AE SDK/Resources/Mach-O_prefix.h | 1 + External/AE SDK/Resources/PiPLtool.exe | 3 + External/AE SDK/Util/AEFX_ArbParseHelper.c | 174 + External/AE SDK/Util/AEFX_ArbParseHelper.h | 75 + External/AE SDK/Util/AEFX_ChannelDepthTpl.h | 59 + External/AE SDK/Util/AEFX_SuiteHelper.c | 139 + External/AE SDK/Util/AEFX_SuiteHelper.h | 157 + External/AE SDK/Util/AEGP_SuiteHandler.cpp | 66 + External/AE SDK/Util/AEGP_SuiteHandler.h | 601 ++ External/AE SDK/Util/AEGP_Utils.cpp | 38 + External/AE SDK/Util/AEGP_Utils.h | 9 + External/AE SDK/Util/DuckSuite.h | 13 + External/AE SDK/Util/MissingSuiteError.cpp | 43 + External/AE SDK/Util/Param_Utils.h | 343 + External/AE SDK/Util/Smart_Utils.cpp | 62 + External/AE SDK/Util/Smart_Utils.h | 34 + External/AE SDK/Util/String_Utils.h | 48 + External/AE SDK/Util/entry.h | 53 + External/popcornfx.qt/Qt5Core.dll | 3 + External/popcornfx.qt/Qt5Gui.dll | 3 + External/popcornfx.qt/Qt5Widgets.dll | 3 + External/popcornfx.qt/popcornfx.qt.manifest | 9 + External/popcornfx.qt/qwindows.dll | 3 + Native/debugger/PopcornFX.natvis | 409 + Native/debugger/qt5.natvis | 683 ++ PopcornFX/CHANGELOG.md | 3 + PopcornFX/LICENSE.md | 14 + PopcornFX/PK-ShaderTool_r.exe | 3 + .../PopcornFXInternals/Meshes/default.pkmm | 3 + ....0C443080A9914F8E3821857B39F3B3F6.metallib | Bin 0 -> 69574 bytes ....comp.3C55D2DBBDE67D3B05E91E33AA424D4A.cso | Bin 0 -> 32052 bytes ...p.3C55D2DBBDE67D3B05E91E33AA424D4A.cso.pdb | 3 + ....frag.3777E0C4C3850AF4730B699288C64A32.cso | Bin 0 -> 20372 bytes ...g.3777E0C4C3850AF4730B699288C64A32.cso.pdb | 3 + ....DBCFC7E098405CD8ABAFBFE666F38717.metallib | Bin 0 -> 68478 bytes ....frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso | Bin 0 -> 24300 bytes ...g.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso.pdb | 3 + ....C5813AF3B0DA61049FC61318A52A0039.metallib | Bin 0 -> 67730 bytes ....08B780C3B4A4A9B95239BE4725C155E3.metallib | Bin 0 -> 68274 bytes ....2BF4FFEBF18FD2317E7196CCB179BBD1.metallib | Bin 0 -> 68114 bytes ....comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso | Bin 0 -> 17656 bytes ...p.ACF5EA8A26A387527C94AE3CADBEEFE0.cso.pdb | 3 + ....comp.FADA9FB998752BB17F58A80A5F9E1569.cso | Bin 0 -> 20892 bytes ...p.FADA9FB998752BB17F58A80A5F9E1569.cso.pdb | 3 + ....12DC1B81F40BCA0B86B8977219474DA2.metallib | Bin 0 -> 67818 bytes ....comp.227B4305DA369E84D660CF7D0F95A7B1.cso | Bin 0 -> 19552 bytes ...p.227B4305DA369E84D660CF7D0F95A7B1.cso.pdb | 3 + ....comp.3041E5075421B7BEDB64891F34806B09.cso | Bin 0 -> 20104 bytes ...p.3041E5075421B7BEDB64891F34806B09.cso.pdb | 3 + ....3F9F670175C1E9A2721D86BF200E8992.metallib | Bin 0 -> 68042 bytes ....47AFC4B8F363592BAB2CB2B7450DC6CB.metallib | Bin 0 -> 66746 bytes ....comp.68D7368ADF463DA7672D728718850C05.cso | Bin 0 -> 19704 bytes ...p.68D7368ADF463DA7672D728718850C05.cso.pdb | 3 + ....comp.ADF077D22B698F0058CD269AB3B307F6.cso | Bin 0 -> 17168 bytes ...p.ADF077D22B698F0058CD269AB3B307F6.cso.pdb | 3 + ....E6559EF41DF4A3259DE7762E070648DE.metallib | Bin 0 -> 67050 bytes ....4FB8AAE1AE744B6A08826A79EB921BC5.metallib | Bin 0 -> 68134 bytes ....comp.B71DE41E8684A6AE211AB8D5CC66868D.cso | Bin 0 -> 22496 bytes ...p.B71DE41E8684A6AE211AB8D5CC66868D.cso.pdb | 3 + ....comp.77033778233ABE1F8DF4DC10896A9D54.cso | Bin 0 -> 16960 bytes ...p.77033778233ABE1F8DF4DC10896A9D54.cso.pdb | 3 + ....C9C782D1BBE13E453755EC081421DED8.metallib | Bin 0 -> 66942 bytes ....comp.369D88A577A88042FF66C8A4DB9A4FFF.cso | Bin 0 -> 17428 bytes ...p.369D88A577A88042FF66C8A4DB9A4FFF.cso.pdb | 3 + ....comp.392E08DB2C8E05308B151D1DA50C5FD0.cso | Bin 0 -> 20016 bytes ...p.392E08DB2C8E05308B151D1DA50C5FD0.cso.pdb | 3 + ....5105918DD8BE389C150428D89E1DC2A5.metallib | Bin 0 -> 67702 bytes ....comp.51CA73B06455A1B1FE3E7645C1E97A2C.cso | Bin 0 -> 17568 bytes ...p.51CA73B06455A1B1FE3E7645C1E97A2C.cso.pdb | 3 + ....87A39CD991750E4B6AA82597D1D6999F.metallib | Bin 0 -> 66742 bytes ....AE073ACCCC101E16160223DC2E63E101.metallib | Bin 0 -> 67942 bytes ....comp.C8248FD11EC1733B4966D0AD2A176353.cso | Bin 0 -> 19880 bytes ...p.C8248FD11EC1733B4966D0AD2A176353.cso.pdb | 3 + ....DF3F5EC676EAEE69B51393B80926E694.metallib | Bin 0 -> 67766 bytes ....2616FB8E13640920939266A5AB69B20D.metallib | Bin 0 -> 66830 bytes ....comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso | Bin 0 -> 19656 bytes ...p.5193D9B98F2643DCDDD49DEB24A0B7BF.cso.pdb | 3 + ....1176896EBBA00E7091A5D3AB0E2EBB79.metallib | Bin 0 -> 66454 bytes ....comp.22E56629C521714CE47CDCC8E03CCD62.cso | Bin 0 -> 20560 bytes ...p.22E56629C521714CE47CDCC8E03CCD62.cso.pdb | 3 + ....comp.3048D89D90DE3FE53B72E0B170415B00.cso | Bin 0 -> 20300 bytes ...p.3048D89D90DE3FE53B72E0B170415B00.cso.pdb | 3 + ....52AF64226113D111C7C55923680D03E7.metallib | Bin 0 -> 66662 bytes ....6D4F2B8F547360DC2A71F660E3706939.metallib | Bin 0 -> 67494 bytes ....comp.82765548E48F470AE2C324FD1DD1DF19.cso | Bin 0 -> 17248 bytes ...p.82765548E48F470AE2C324FD1DD1DF19.cso.pdb | 3 + ....comp.BF85DD78B470A799944AD5A0F0323B0C.cso | Bin 0 -> 19584 bytes ...p.BF85DD78B470A799944AD5A0F0323B0C.cso.pdb | 3 + ....EEC67DE904429E8E712062FB728CA7E7.metallib | Bin 0 -> 67286 bytes ....frag.002AC7D0B7F236B81143408D73D581F8.cso | Bin 0 -> 14900 bytes ...g.002AC7D0B7F236B81143408D73D581F8.cso.pdb | 3 + ....frag.008D18448C772DC164148A23DB8594EA.cso | Bin 0 -> 14940 bytes ...g.008D18448C772DC164148A23DB8594EA.cso.pdb | 3 + ....0AD45649F32641AAA69A3A9C079BDDBC.metallib | Bin 0 -> 69306 bytes ....frag.18BB2ED0068256FAC47DC4810295F65B.cso | Bin 0 -> 14620 bytes ...g.18BB2ED0068256FAC47DC4810295F65B.cso.pdb | 3 + ....3AEC42EAC916E5302A5879B5E0480E46.metallib | Bin 0 -> 66298 bytes ....42142CB169269EB33A0A31A418C939A6.metallib | Bin 0 -> 66314 bytes ....frag.48B033222FD1BD594675302F045A38A7.cso | Bin 0 -> 20092 bytes ...g.48B033222FD1BD594675302F045A38A7.cso.pdb | 3 + ....frag.4B0896B385CFE32F521EF3625ECD7CE6.cso | Bin 0 -> 14588 bytes ...g.4B0896B385CFE32F521EF3625ECD7CE6.cso.pdb | 3 + ....570374695D2EDE03975F3ACEEF142B8A.metallib | Bin 0 -> 66522 bytes ....5BCF450E7AAEB04EFE81950BC64E3F24.metallib | Bin 0 -> 66266 bytes ....6B6958101DFBCC2D44E480C8108B4531.metallib | Bin 0 -> 66314 bytes ....724B5E7F9D5F2C642BBADBF98BCE6122.metallib | Bin 0 -> 66666 bytes ....frag.7D3D408F4D90CC373A284D34F9B71F98.cso | Bin 0 -> 14708 bytes ...g.7D3D408F4D90CC373A284D34F9B71F98.cso.pdb | 3 + ....frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso | Bin 0 -> 14628 bytes ...g.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso.pdb | 3 + ....frag.87D14E5B2AF4072ABF40B5A743B01133.cso | Bin 0 -> 14588 bytes ...g.87D14E5B2AF4072ABF40B5A743B01133.cso.pdb | 3 + ....8EB0F8ED9C71D976C3914CE541D3AFC7.metallib | Bin 0 -> 67418 bytes ....9868960EE5BAA4542CE68A32E3F82EAB.metallib | Bin 0 -> 66618 bytes ....BD068B89B4F2CBB0E292F53BC3714F9D.metallib | Bin 0 -> 66314 bytes ....frag.CBB6451884404E44D465B01DF5A806BE.cso | Bin 0 -> 27776 bytes ...g.CBB6451884404E44D465B01DF5A806BE.cso.pdb | 3 + ....frag.F0E2F0F689387705D12CB9970013F51D.cso | Bin 0 -> 14560 bytes ...g.F0E2F0F689387705D12CB9970013F51D.cso.pdb | 3 + ....vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso | Bin 0 -> 14600 bytes ...t.01D890EA6B89BCCBE76EB1FEC30F851E.cso.pdb | 3 + ....01D890EA6B89BCCBE76EB1FEC30F851E.metallib | Bin 0 -> 65539 bytes ....vert.140F4C3CE57F202DE2DE8B945704F1F0.cso | Bin 0 -> 18096 bytes ...t.140F4C3CE57F202DE2DE8B945704F1F0.cso.pdb | 3 + ....vert.1DCA9D50DC853C86C4F97DC839A9325E.cso | Bin 0 -> 17916 bytes ...t.1DCA9D50DC853C86C4F97DC839A9325E.cso.pdb | 3 + ....vert.2FF984AB185BE7E8637187AC34C0981A.cso | Bin 0 -> 17816 bytes ...t.2FF984AB185BE7E8637187AC34C0981A.cso.pdb | 3 + ....3348F0F53DE2A58A3FAD84C6699E871C.metallib | Bin 0 -> 65898 bytes ....vert.58AAEEAE9F43BBE34D312BD53914D01A.cso | Bin 0 -> 14744 bytes ...t.58AAEEAE9F43BBE34D312BD53914D01A.cso.pdb | 3 + ....5AE82EFD5FB29F367E0D45BA786D928A.metallib | Bin 0 -> 66579 bytes ....7DDABF541F1046F394F9BD2476CB5992.metallib | Bin 0 -> 66991 bytes ....E77F6D2C2CCEA5FD8F910DA990E10013.metallib | Bin 0 -> 66698 bytes ....frag.4DD1C89DF8002B409E089089CE8F24E7.cso | Bin 0 -> 14416 bytes ...g.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb | 3 + ....4DD1C89DF8002B409E089089CE8F24E7.metallib | Bin 0 -> 65394 bytes ....5DF351B082B2DAEB6EA8D2B69FF8CE75.metallib | Bin 0 -> 66226 bytes ....frag.7CF9397E238069F29B5AD306936DC2E1.cso | Bin 0 -> 14416 bytes ...g.7CF9397E238069F29B5AD306936DC2E1.cso.pdb | 3 + ....7F37BB3F141BE207B89B42BD7E923FBA.metallib | Bin 0 -> 66226 bytes ....9E055DD95BFFEC03321947DE0EB82637.metallib | Bin 0 -> 66226 bytes ....DAB1785A8432D17D3A9633C69AC4C0BF.metallib | Bin 0 -> 66226 bytes ....EF723B81A7A0BF6787FDDD555588FDAA.metallib | Bin 0 -> 66226 bytes ....frag.7CF9397E238069F29B5AD306936DC2E1.cso | Bin 0 -> 14416 bytes ...g.7CF9397E238069F29B5AD306936DC2E1.cso.pdb | 3 + ....EF723B81A7A0BF6787FDDD555588FDAA.metallib | Bin 0 -> 66222 bytes ....vert.2FF984AB185BE7E8637187AC34C0981A.cso | Bin 0 -> 17816 bytes ...t.2FF984AB185BE7E8637187AC34C0981A.cso.pdb | 3 + ....5AE82EFD5FB29F367E0D45BA786D928A.metallib | Bin 0 -> 66595 bytes ....8DBEE0AA3D769A49703B7DD05C82CFA3.metallib | Bin 0 -> 69602 bytes ....frag.C1B07717CD6E335BA0719719B22FAFE3.cso | Bin 0 -> 31676 bytes ...g.C1B07717CD6E335BA0719719B22FAFE3.cso.pdb | 3 + ....29EB9B0EAE29F9736E833F3E1F035C27.metallib | Bin 0 -> 70111 bytes ....vert.75A6F16850E5D3B8E8B7368097463B42.cso | Bin 0 -> 34608 bytes ...t.75A6F16850E5D3B8E8B7368097463B42.cso.pdb | 3 + ....vert.03430199D846164B6B0612A9B2AB28EA.cso | Bin 0 -> 25100 bytes ...t.03430199D846164B6B0612A9B2AB28EA.cso.pdb | 3 + ....40C070F9811750AE211F3378926ED3B0.metallib | Bin 0 -> 69034 bytes ....9D7F4A290A88D708B9D8641A2177BBE3.metallib | Bin 0 -> 69386 bytes ....vert.AA13DF163AA5F83DF77B65270B739A08.cso | Bin 0 -> 25376 bytes ...t.AA13DF163AA5F83DF77B65270B739A08.cso.pdb | 3 + ....ABB1D1D062F10893CD085B71E73BA1FB.metallib | Bin 0 -> 69075 bytes ....vert.BB070F836ADD72A3E65E350E4F68AAFE.cso | Bin 0 -> 25100 bytes ...t.BB070F836ADD72A3E65E350E4F68AAFE.cso.pdb | 3 + ....vert.BB420670B55EEABBBB80947E171765E6.cso | Bin 0 -> 25124 bytes ...t.BB420670B55EEABBBB80947E171765E6.cso.pdb | 3 + ....vert.C0FACB4FBDE6B9C944D0F6B61E5515FE.cso | Bin 0 -> 25264 bytes ...t.C0FACB4FBDE6B9C944D0F6B61E5515FE.cso.pdb | 3 + ....F6238D8991D40344B66C2ABAF21B2B5A.metallib | Bin 0 -> 69194 bytes ....FE53A6036CA4635A540C1FEA2D189F45.metallib | Bin 0 -> 69034 bytes ....vert.05E05A32B897F2006A110EB2D80A4548.cso | Bin 0 -> 18096 bytes ...t.05E05A32B897F2006A110EB2D80A4548.cso.pdb | 3 + ....vert.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso | Bin 0 -> 17792 bytes ...t.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso.pdb | 3 + ....vert.266E4511F0C4068B851B075051BA543B.cso | Bin 0 -> 17900 bytes ...t.266E4511F0C4068B851B075051BA543B.cso.pdb | 3 + ....vert.2FF984AB185BE7E8637187AC34C0981A.cso | Bin 0 -> 17816 bytes ...t.2FF984AB185BE7E8637187AC34C0981A.cso.pdb | 3 + ....35C1E2A66FBFA2887558AC3636CCA6EB.metallib | Bin 0 -> 66854 bytes ....vert.38A9BD92AA3A1500ADA3082B18F935F4.cso | Bin 0 -> 18072 bytes ...t.38A9BD92AA3A1500ADA3082B18F935F4.cso.pdb | 3 + ....3DC0E88754F11D4478F7B7D881ADF28E.metallib | Bin 0 -> 66586 bytes ....473011F7B55118D4409E7A91C4CA0C06.metallib | Bin 0 -> 66720 bytes ....53C5FFB4F1F65014E9D8CE139E165C06.metallib | Bin 0 -> 66837 bytes ....vert.5A4DDE443DFF866A0B6F7E709735D7AB.cso | Bin 0 -> 20328 bytes ...t.5A4DDE443DFF866A0B6F7E709735D7AB.cso.pdb | 3 + ....5AE82EFD5FB29F367E0D45BA786D928A.metallib | Bin 0 -> 66595 bytes ....vert.5C6447565A432691A52405F2D1A50012.cso | Bin 0 -> 18000 bytes ...t.5C6447565A432691A52405F2D1A50012.cso.pdb | 3 + ....620373BC462CC9D98E9DAE33EC0EF03D.metallib | Bin 0 -> 66586 bytes ....vert.65E266EB404652FA1212BBD1F985A6AC.cso | Bin 0 -> 17900 bytes ...t.65E266EB404652FA1212BBD1F985A6AC.cso.pdb | 3 + ....66F6E1229EB0784EFA3F715B73E43D2B.metallib | Bin 0 -> 66695 bytes ....6CE9330E31EBBC32AE8E316A8C0EE277.metallib | Bin 0 -> 66996 bytes ....vert.8BD5661BC011A36608F82548C23FB052.cso | Bin 0 -> 18072 bytes ...t.8BD5661BC011A36608F82548C23FB052.cso.pdb | 3 + ....8D18B0A6A0838F6914203A391288C860.metallib | Bin 0 -> 66695 bytes ....A7855B18F4958E7E1B7D9B72701C3720.metallib | Bin 0 -> 66728 bytes ....vert.ADDF91CE486A3BFBC7564616DE170ABA.cso | Bin 0 -> 17924 bytes ...t.ADDF91CE486A3BFBC7564616DE170ABA.cso.pdb | 3 + ....B745EB05721137F2AE8C910D1BE17F25.metallib | Bin 0 -> 66854 bytes ....vert.C7EED909597A865FF430CA2885C69439.cso | Bin 0 -> 17792 bytes ...t.C7EED909597A865FF430CA2885C69439.cso.pdb | 3 + ....vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso | Bin 0 -> 20156 bytes ...t.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso.pdb | 3 + ....FDDCD4D907DA9A03ACCD42C140A776A4.metallib | Bin 0 -> 66863 bytes ....geom.11A3F59B29869268E24243BE4EABD116.cso | Bin 0 -> 41928 bytes ...m.11A3F59B29869268E24243BE4EABD116.cso.pdb | 3 + ....geom.125C4FCD6DC29A9F6B47ACC988C0162F.cso | Bin 0 -> 41956 bytes ...m.125C4FCD6DC29A9F6B47ACC988C0162F.cso.pdb | 3 + ....geom.1873B621D321CE82AA536C28DCE3C58D.cso | Bin 0 -> 49712 bytes ...m.1873B621D321CE82AA536C28DCE3C58D.cso.pdb | 3 + ....geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso | Bin 0 -> 42016 bytes ...m.1A146F33833BE9EEA65C6C0C0CBE799D.cso.pdb | 3 + ....geom.1B816B245295CA5D5327E96BFE6301F6.cso | Bin 0 -> 36624 bytes ...m.1B816B245295CA5D5327E96BFE6301F6.cso.pdb | 3 + ....geom.1C0F0C96333B91901C06D1175A16E1DE.cso | Bin 0 -> 40836 bytes ...m.1C0F0C96333B91901C06D1175A16E1DE.cso.pdb | 3 + ....geom.2ACA21574A23B0D0074098285F176749.cso | Bin 0 -> 49712 bytes ...m.2ACA21574A23B0D0074098285F176749.cso.pdb | 3 + ....geom.2C8009173B59A839A8E4FF2BC5B85094.cso | Bin 0 -> 49740 bytes ...m.2C8009173B59A839A8E4FF2BC5B85094.cso.pdb | 3 + ....geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso | Bin 0 -> 40924 bytes ...m.2CEEC2A138B6BB946C7E5836CC5E37E0.cso.pdb | 3 + ....geom.377370747DA9B2908354049AAC2D30FA.cso | Bin 0 -> 40924 bytes ...m.377370747DA9B2908354049AAC2D30FA.cso.pdb | 3 + ....geom.38E2D27FF7046D8A00290708435B3AC5.cso | Bin 0 -> 42016 bytes ...m.38E2D27FF7046D8A00290708435B3AC5.cso.pdb | 3 + ....geom.40452A858BDF0DD351CAAC7CAD4D75AC.cso | Bin 0 -> 40956 bytes ...m.40452A858BDF0DD351CAAC7CAD4D75AC.cso.pdb | 3 + ....geom.455299EAF18CA9285CFB885E58CDC6D0.cso | Bin 0 -> 36712 bytes ...m.455299EAF18CA9285CFB885E58CDC6D0.cso.pdb | 3 + ....geom.494F248863E815B635F86B4C4A2B9878.cso | Bin 0 -> 41956 bytes ...m.494F248863E815B635F86B4C4A2B9878.cso.pdb | 3 + ....geom.4A6E9FDAA1CE421286BA2A3A30A6658A.cso | Bin 0 -> 42044 bytes ...m.4A6E9FDAA1CE421286BA2A3A30A6658A.cso.pdb | 3 + ....geom.566A5829015B608CF29A39550DEF77DC.cso | Bin 0 -> 49624 bytes ...m.566A5829015B608CF29A39550DEF77DC.cso.pdb | 3 + ....geom.5E305102DF74F937A763A780239EC2AB.cso | Bin 0 -> 49652 bytes ...m.5E305102DF74F937A763A780239EC2AB.cso.pdb | 3 + ....geom.5F5DF159396A6B8FE4C4A0F97D78924B.cso | Bin 0 -> 36624 bytes ...m.5F5DF159396A6B8FE4C4A0F97D78924B.cso.pdb | 3 + ....geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso | Bin 0 -> 36740 bytes ...m.7B8359347B0DEF37AA39A05B62E5CBC1.cso.pdb | 3 + ....geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso | Bin 0 -> 36652 bytes ...m.7EEA6AF74A7E1398CE4B70E260147AF0.cso.pdb | 3 + ....geom.7F33C027EBB191F2059BE1A8839D31F5.cso | Bin 0 -> 40868 bytes ...m.7F33C027EBB191F2059BE1A8839D31F5.cso.pdb | 3 + ....geom.893C3B31AEB4B56E07A0C0112A35B626.cso | Bin 0 -> 49740 bytes ...m.893C3B31AEB4B56E07A0C0112A35B626.cso.pdb | 3 + ....geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso | Bin 0 -> 40868 bytes ...m.8DDF66C3535F05343B6E0711A2F5EDE9.cso.pdb | 3 + ....geom.9EBF63F0CECB121FB08C73258F424154.cso | Bin 0 -> 49624 bytes ...m.9EBF63F0CECB121FB08C73258F424154.cso.pdb | 3 + ....geom.9F151426D3A5187075EB122B45099E95.cso | Bin 0 -> 49652 bytes ...m.9F151426D3A5187075EB122B45099E95.cso.pdb | 3 + ....geom.C1D8B1B3F659E4754B02859930024C34.cso | Bin 0 -> 41928 bytes ...m.C1D8B1B3F659E4754B02859930024C34.cso.pdb | 3 + ....geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso | Bin 0 -> 40956 bytes ...m.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso.pdb | 3 + ....geom.DBAB50AF656C0B77BE3EACFA872A4107.cso | Bin 0 -> 36712 bytes ...m.DBAB50AF656C0B77BE3EACFA872A4107.cso.pdb | 3 + ....geom.E46C7BF11C16009DAD26F2E52BCA71ED.cso | Bin 0 -> 36740 bytes ...m.E46C7BF11C16009DAD26F2E52BCA71ED.cso.pdb | 3 + ....geom.EDC05431FEB536B2137D9C70A18E0E85.cso | Bin 0 -> 40836 bytes ...m.EDC05431FEB536B2137D9C70A18E0E85.cso.pdb | 3 + ....geom.F43E932D41866B4751D2AAAA122C0DF8.cso | Bin 0 -> 36652 bytes ...m.F43E932D41866B4751D2AAAA122C0DF8.cso.pdb | 3 + ....geom.FD048825BBE1F9EEFF9AF105929E49F9.cso | Bin 0 -> 42044 bytes ...m.FD048825BBE1F9EEFF9AF105929E49F9.cso.pdb | 3 + ....vert.0491B9E5DB4146F6039DB5A1028E068F.cso | Bin 0 -> 19056 bytes ...t.0491B9E5DB4146F6039DB5A1028E068F.cso.pdb | 3 + ....vert.089C1A93F75623C5625465ADC48162D9.cso | Bin 0 -> 19080 bytes ...t.089C1A93F75623C5625465ADC48162D9.cso.pdb | 3 + ....vert.2CBCDD973DD8785D8ED96E438B732020.cso | Bin 0 -> 19088 bytes ...t.2CBCDD973DD8785D8ED96E438B732020.cso.pdb | 3 + ....vert.2EBB1E214294B7250FB31039A38D6AC5.cso | Bin 0 -> 16848 bytes ...t.2EBB1E214294B7250FB31039A38D6AC5.cso.pdb | 3 + ....vert.38E30D094B028C691653A728362634B2.cso | Bin 0 -> 16824 bytes ...t.38E30D094B028C691653A728362634B2.cso.pdb | 3 + ....vert.45152D6B551F36103EA55B435AD0C462.cso | Bin 0 -> 16824 bytes ...t.45152D6B551F36103EA55B435AD0C462.cso.pdb | 3 + ....vert.57701C60E841F468867561F9335BDAB3.cso | Bin 0 -> 19056 bytes ...t.57701C60E841F468867561F9335BDAB3.cso.pdb | 3 + ....vert.630652A3268DE6E9BDE38BC918841E62.cso | Bin 0 -> 19088 bytes ...t.630652A3268DE6E9BDE38BC918841E62.cso.pdb | 3 + ....vert.77B31999700322078CF970FEB7407F9C.cso | Bin 0 -> 16824 bytes ...t.77B31999700322078CF970FEB7407F9C.cso.pdb | 3 + ....vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso | Bin 0 -> 16848 bytes ...t.7D65653E05F3CFD999E0CFE63FA6E06D.cso.pdb | 3 + ....vert.AA7A6E402DA45EA1877F3864059BB328.cso | Bin 0 -> 19056 bytes ...t.AA7A6E402DA45EA1877F3864059BB328.cso.pdb | 3 + ....vert.ABC8329C82EFC7A175A670CD89AFCF15.cso | Bin 0 -> 19088 bytes ...t.ABC8329C82EFC7A175A670CD89AFCF15.cso.pdb | 3 + ....vert.AF299C4F5A88FF41BB134DEBBD221243.cso | Bin 0 -> 16824 bytes ...t.AF299C4F5A88FF41BB134DEBBD221243.cso.pdb | 3 + ....vert.B73B1CA9CB013890A989873EBD811678.cso | Bin 0 -> 16824 bytes ...t.B73B1CA9CB013890A989873EBD811678.cso.pdb | 3 + ....vert.BB1894D2E83C03A44A1F4C0ACFAC5941.cso | Bin 0 -> 16848 bytes ...t.BB1894D2E83C03A44A1F4C0ACFAC5941.cso.pdb | 3 + ....vert.CF3846F9E7636FD9485E620D0B85EA7A.cso | Bin 0 -> 19272 bytes ...t.CF3846F9E7636FD9485E620D0B85EA7A.cso.pdb | 3 + ....vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso | Bin 0 -> 16824 bytes ...t.CFDCA74BBAE47557D9554F9C6994FFF5.cso.pdb | 3 + ....vert.D1027BFD27F09759DCE21D6C3D0007E6.cso | Bin 0 -> 19056 bytes ...t.D1027BFD27F09759DCE21D6C3D0007E6.cso.pdb | 3 + ....vert.D11F440AEF887A61EE9AF025D5E23AB9.cso | Bin 0 -> 19088 bytes ...t.D11F440AEF887A61EE9AF025D5E23AB9.cso.pdb | 3 + ....vert.DF9214C22288F9B9A48D38F5B74524DE.cso | Bin 0 -> 16824 bytes ...t.DF9214C22288F9B9A48D38F5B74524DE.cso.pdb | 3 + ....vert.E085F93BEC7DF3EBA14A46B44E57CA65.cso | Bin 0 -> 19272 bytes ...t.E085F93BEC7DF3EBA14A46B44E57CA65.cso.pdb | 3 + ....vert.E439E2679AC92876BE93DB6F63E71BA4.cso | Bin 0 -> 16848 bytes ...t.E439E2679AC92876BE93DB6F63E71BA4.cso.pdb | 3 + ....vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso | Bin 0 -> 16824 bytes ...t.FD3064546B01E2F76BFF1BFDEB54CC81.cso.pdb | 3 + ....vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso | Bin 0 -> 19080 bytes ...t.FF385EE49D348C3D94E3E75DDEC43EF1.cso.pdb | 3 + ....vert.03A9039DF625A5CE430A52161825FB2E.cso | Bin 0 -> 16876 bytes ...t.03A9039DF625A5CE430A52161825FB2E.cso.pdb | 3 + ....vert.125702F176A5DC7DE52D9A2D09ACB336.cso | Bin 0 -> 16864 bytes ...t.125702F176A5DC7DE52D9A2D09ACB336.cso.pdb | 3 + ....vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso | Bin 0 -> 16840 bytes ...t.1ADEC6D7AA8D6B5FA2623A3803561740.cso.pdb | 3 + ....vert.1B4EF1D1BFD046CEA6303A75D5A090DD.cso | Bin 0 -> 19084 bytes ...t.1B4EF1D1BFD046CEA6303A75D5A090DD.cso.pdb | 3 + ....vert.215E7FA2E1D915E575BF0D051FF57DAC.cso | Bin 0 -> 16864 bytes ...t.215E7FA2E1D915E575BF0D051FF57DAC.cso.pdb | 3 + ....vert.2CF9EB30E57EC06C260F1C994273BBB9.cso | Bin 0 -> 19300 bytes ...t.2CF9EB30E57EC06C260F1C994273BBB9.cso.pdb | 3 + ....vert.3830050E054524D9FB4B97B3C5795D74.cso | Bin 0 -> 16840 bytes ...t.3830050E054524D9FB4B97B3C5795D74.cso.pdb | 3 + ....vert.3FC5681EEA9466868BDE6277412A1602.cso | Bin 0 -> 19084 bytes ...t.3FC5681EEA9466868BDE6277412A1602.cso.pdb | 3 + ....vert.54CE329F05A57498A425EEE7FFB92A53.cso | Bin 0 -> 16840 bytes ...t.54CE329F05A57498A425EEE7FFB92A53.cso.pdb | 3 + ....vert.63E4E8675470AA49793AE6B8F2EFB412.cso | Bin 0 -> 16876 bytes ...t.63E4E8675470AA49793AE6B8F2EFB412.cso.pdb | 3 + ....vert.6EDA9FA1D0CE763321BA160FE1F69436.cso | Bin 0 -> 16852 bytes ...t.6EDA9FA1D0CE763321BA160FE1F69436.cso.pdb | 3 + ....vert.7B6CA6E5E319B7DCD804E51483B1560B.cso | Bin 0 -> 19288 bytes ...t.7B6CA6E5E319B7DCD804E51483B1560B.cso.pdb | 3 + ....vert.8041C676881D61780106102C13F8133C.cso | Bin 0 -> 19116 bytes ...t.8041C676881D61780106102C13F8133C.cso.pdb | 3 + ....vert.96BCBFB5543D4357E250741BD758D684.cso | Bin 0 -> 19104 bytes ...t.96BCBFB5543D4357E250741BD758D684.cso.pdb | 3 + ....vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso | Bin 0 -> 19096 bytes ...t.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso.pdb | 3 + ....vert.B7B90948D23B69401E4275BBBA5F6021.cso | Bin 0 -> 19072 bytes ...t.B7B90948D23B69401E4275BBBA5F6021.cso.pdb | 3 + ....vert.B959A091D6A562E3BB2A4A86D8938E3B.cso | Bin 0 -> 19116 bytes ...t.B959A091D6A562E3BB2A4A86D8938E3B.cso.pdb | 3 + ....vert.C631C6F1C848D8407BB4550427BFAFE5.cso | Bin 0 -> 19104 bytes ...t.C631C6F1C848D8407BB4550427BFAFE5.cso.pdb | 3 + ....vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso | Bin 0 -> 19072 bytes ...t.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso.pdb | 3 + ....vert.E757CD08237F5B4A4C260EE943E6A7BC.cso | Bin 0 -> 16852 bytes ...t.E757CD08237F5B4A4C260EE943E6A7BC.cso.pdb | 3 + ....vert.F0F89BC5650EEE995AA9D7357378D280.cso | Bin 0 -> 16840 bytes ...t.F0F89BC5650EEE995AA9D7357378D280.cso.pdb | 3 + ....vert.F2AC0D1822C5C821BF888C0AB7491E5E.cso | Bin 0 -> 16852 bytes ...t.F2AC0D1822C5C821BF888C0AB7491E5E.cso.pdb | 3 + ....vert.FA071B919FA56A0FB70F4ED2F802D474.cso | Bin 0 -> 16852 bytes ...t.FA071B919FA56A0FB70F4ED2F802D474.cso.pdb | 3 + ....vert.FEE5E6A661D8F4453A0120A78702157A.cso | Bin 0 -> 19108 bytes ...t.FEE5E6A661D8F4453A0120A78702157A.cso.pdb | 3 + ....vert.0323DA1D4D66DFFC422FD195212F40AC.cso | Bin 0 -> 40848 bytes ...t.0323DA1D4D66DFFC422FD195212F40AC.cso.pdb | 3 + ....08792B0244607751B94495BF11FEA6C3.metallib | Bin 0 -> 71979 bytes ....vert.0A7FA5C512F5E63FC77778DAD58C1444.cso | Bin 0 -> 38128 bytes ...t.0A7FA5C512F5E63FC77778DAD58C1444.cso.pdb | 3 + ....vert.0BD3C6312B7670505B943262A89C9294.cso | Bin 0 -> 40900 bytes ...t.0BD3C6312B7670505B943262A89C9294.cso.pdb | 3 + ....0C752CA2B0AA5C4F58A28B4FB4DBC067.metallib | Bin 0 -> 71131 bytes ....vert.0D2906E0F0B901297CEC98725443F6B8.cso | Bin 0 -> 32756 bytes ...t.0D2906E0F0B901297CEC98725443F6B8.cso.pdb | 3 + ....vert.0DC89CC6EF2BB651C434A448D67109E9.cso | Bin 0 -> 35536 bytes ...t.0DC89CC6EF2BB651C434A448D67109E9.cso.pdb | 3 + ....vert.1244F96A9F041AA77E0829FE15A81781.cso | Bin 0 -> 32588 bytes ...t.1244F96A9F041AA77E0829FE15A81781.cso.pdb | 3 + ....15BA3C3CB8B8717F4D80F5FEC204370F.metallib | Bin 0 -> 71979 bytes ....180EA62B9D1202547139A36A2D1C9FCC.metallib | Bin 0 -> 71003 bytes ....vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso | Bin 0 -> 43448 bytes ...t.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso.pdb | 3 + ....vert.19E6B3D25951E1F2F91F02467D1FB30F.cso | Bin 0 -> 32744 bytes ...t.19E6B3D25951E1F2F91F02467D1FB30F.cso.pdb | 3 + ....1A0AF4135571475AB793369A890D45CA.metallib | Bin 0 -> 70219 bytes ....vert.1A894823438A140EA9E04BF73CD2EAA5.cso | Bin 0 -> 32156 bytes ...t.1A894823438A140EA9E04BF73CD2EAA5.cso.pdb | 3 + ....vert.1B961C28B1FDF4C1823DAA29CE009487.cso | Bin 0 -> 43316 bytes ...t.1B961C28B1FDF4C1823DAA29CE009487.cso.pdb | 3 + ....1E6971511258F0A69158B0C15A49CFC7.metallib | Bin 0 -> 72203 bytes ....vert.21E51D63F6FD0658E746CAE70039F290.cso | Bin 0 -> 45444 bytes ...t.21E51D63F6FD0658E746CAE70039F290.cso.pdb | 3 + ....vert.22F4863734AAC59D6C9C66C631B23B6E.cso | Bin 0 -> 35536 bytes ...t.22F4863734AAC59D6C9C66C631B23B6E.cso.pdb | 3 + ....2CD2DBBA33D183ACE6CD7F2A42321467.metallib | Bin 0 -> 70379 bytes ....vert.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso | Bin 0 -> 48208 bytes ...t.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso.pdb | 3 + ....vert.2F8A55777C2632894CF6DBCA38D259A8.cso | Bin 0 -> 32300 bytes ...t.2F8A55777C2632894CF6DBCA38D259A8.cso.pdb | 3 + ....31F564DDF64897CE8D0D8575BA11EA13.metallib | Bin 0 -> 72203 bytes ....vert.323B3616109D749EF6D2A3CF51050BE6.cso | Bin 0 -> 41008 bytes ...t.323B3616109D749EF6D2A3CF51050BE6.cso.pdb | 3 + ....vert.3340D8F8BFE958B965936432A77D2811.cso | Bin 0 -> 43464 bytes ...t.3340D8F8BFE958B965936432A77D2811.cso.pdb | 3 + ....vert.34AC697454E7671946541CA5BDED791A.cso | Bin 0 -> 46016 bytes ...t.34AC697454E7671946541CA5BDED791A.cso.pdb | 3 + ....vert.3A79EBFB229E33A9A80C49E5140236DE.cso | Bin 0 -> 45432 bytes ...t.3A79EBFB229E33A9A80C49E5140236DE.cso.pdb | 3 + ....vert.3B0D4E708AD83ECD8CB195DDCB463524.cso | Bin 0 -> 37984 bytes ...t.3B0D4E708AD83ECD8CB195DDCB463524.cso.pdb | 3 + ....3B4B9C3BB8420D61B0C14B7C673D4312.metallib | Bin 0 -> 69995 bytes ....vert.40FE6F3B1F908655080943E7970B5923.cso | Bin 0 -> 46000 bytes ...t.40FE6F3B1F908655080943E7970B5923.cso.pdb | 3 + ....41CC71331EA3F4DF19C62447C3B4957D.metallib | Bin 0 -> 71003 bytes ....441699570AB850AD3DB81564F52B0908.metallib | Bin 0 -> 72139 bytes ....476DA901FEFBD9A0A3C70B45C3313D67.metallib | Bin 0 -> 70971 bytes ....495C0A9F8FB4194D8EF08AE9C350B23E.metallib | Bin 0 -> 70043 bytes ....vert.4B8021430CC3C9971C8BC859E0C8989D.cso | Bin 0 -> 46016 bytes ...t.4B8021430CC3C9971C8BC859E0C8989D.cso.pdb | 3 + ....50D311BEF26C71B333D271C49B078772.metallib | Bin 0 -> 70427 bytes ....5166BF50736369CD4E22FFBFC064DE76.metallib | Bin 0 -> 72315 bytes ....vert.56DD6FF54063679C76D12691EA79ED95.cso | Bin 0 -> 43304 bytes ...t.56DD6FF54063679C76D12691EA79ED95.cso.pdb | 3 + ....vert.6421B04960935975A09996C65CF0A478.cso | Bin 0 -> 43456 bytes ...t.6421B04960935975A09996C65CF0A478.cso.pdb | 3 + ....vert.654D257A8942334F737B4CF3DBED0F48.cso | Bin 0 -> 32588 bytes ...t.654D257A8942334F737B4CF3DBED0F48.cso.pdb | 3 + ....67F490450BA69DEBD5593D019A7EC0B6.metallib | Bin 0 -> 71339 bytes ....vert.6ABEABA3444031DF1A478CE27CADC998.cso | Bin 0 -> 34784 bytes ...t.6ABEABA3444031DF1A478CE27CADC998.cso.pdb | 3 + ....vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso | Bin 0 -> 38144 bytes ...t.6AF760A6E9E643069DB35D5D06BD6BA9.cso.pdb | 3 + ....vert.6D377C6B02680802CD74BA81C639ED28.cso | Bin 0 -> 43236 bytes ...t.6D377C6B02680802CD74BA81C639ED28.cso.pdb | 3 + ....vert.6E949D72552C7F34F1E09D89F1E1C952.cso | Bin 0 -> 43248 bytes ...t.6E949D72552C7F34F1E09D89F1E1C952.cso.pdb | 3 + ....71D4C26BBE212B4D2A9608C1E34D86E4.metallib | Bin 0 -> 70971 bytes ....vert.7204742FB331648ED83573329D86D073.cso | Bin 0 -> 32604 bytes ...t.7204742FB331648ED83573329D86D073.cso.pdb | 3 + ....73CFC84CF655AC999324D43BDB1E4EB6.metallib | Bin 0 -> 72155 bytes ....vert.74380FFB48164FF6B35623BE8701B7EB.cso | Bin 0 -> 32140 bytes ...t.74380FFB48164FF6B35623BE8701B7EB.cso.pdb | 3 + ....7521DA417DCEAD1B47E7D7BE0B95AFE5.metallib | Bin 0 -> 70043 bytes ....7B8E55E72E6CA6ACF6F1D3A81B3BC9D2.metallib | Bin 0 -> 72539 bytes ....vert.7E7C2EBE718EBA32FB6282BC269E323D.cso | Bin 0 -> 40832 bytes ...t.7E7C2EBE718EBA32FB6282BC269E323D.cso.pdb | 3 + ....vert.80EF261D1CC4A59FCF572E60A2F410EF.cso | Bin 0 -> 32604 bytes ...t.80EF261D1CC4A59FCF572E60A2F410EF.cso.pdb | 3 + ....8206568794DB63EDFB28346F08717693.metallib | Bin 0 -> 70171 bytes ....vert.86BBDE2865C753261D68E62FEF5F2901.cso | Bin 0 -> 43248 bytes ...t.86BBDE2865C753261D68E62FEF5F2901.cso.pdb | 3 + ....vert.8ADA3DCDE80CB10E83BA6B98332AB60B.cso | Bin 0 -> 35520 bytes ...t.8ADA3DCDE80CB10E83BA6B98332AB60B.cso.pdb | 3 + ....vert.8B6EC10AD63C117AADC967DFF1835F04.cso | Bin 0 -> 46156 bytes ...t.8B6EC10AD63C117AADC967DFF1835F04.cso.pdb | 3 + ....vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso | Bin 0 -> 43292 bytes ...t.8D5882C7F4BE916035D8A2A19C6DF78A.cso.pdb | 3 + ....vert.90E1EDC296925F67098F2D916779539D.cso | Bin 0 -> 32196 bytes ...t.90E1EDC296925F67098F2D916779539D.cso.pdb | 3 + ....vert.91F8A2067B8EA071695FF41B8B76AE97.cso | Bin 0 -> 37984 bytes ...t.91F8A2067B8EA071695FF41B8B76AE97.cso.pdb | 3 + ....vert.93D943F5A9C29E618797431F40796C35.cso | Bin 0 -> 35576 bytes ...t.93D943F5A9C29E618797431F40796C35.cso.pdb | 3 + ....vert.96DAC364F30C96759E77B529B883C028.cso | Bin 0 -> 35520 bytes ...t.96DAC364F30C96759E77B529B883C028.cso.pdb | 3 + ....vert.979416BB843C6F05F3845FFCC3ECD7D6.cso | Bin 0 -> 40848 bytes ...t.979416BB843C6F05F3845FFCC3ECD7D6.cso.pdb | 3 + ....vert.984E39E04658AF07687F9C17D33781DA.cso | Bin 0 -> 37996 bytes ...t.984E39E04658AF07687F9C17D33781DA.cso.pdb | 3 + ....vert.9AE9452EB8270BB640EA28FE04E85D12.cso | Bin 0 -> 40888 bytes ...t.9AE9452EB8270BB640EA28FE04E85D12.cso.pdb | 3 + ....vert.9C59ECCAF416177DA2B674CC26C4C7C6.cso | Bin 0 -> 43304 bytes ...t.9C59ECCAF416177DA2B674CC26C4C7C6.cso.pdb | 3 + ....9C9DC497EE8CB2A3010B8F5BE870A4AD.metallib | Bin 0 -> 72363 bytes ....A14339AF9BA1D695A2231452C7C125B1.metallib | Bin 0 -> 72107 bytes ....A416CC957DBBA6BB89F520075E9ED987.metallib | Bin 0 -> 71947 bytes ....vert.A911A0900D6EB7FD73E64020B22DC54D.cso | Bin 0 -> 43316 bytes ...t.A911A0900D6EB7FD73E64020B22DC54D.cso.pdb | 3 + ....vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso | Bin 0 -> 40992 bytes ...t.B0C01FFF068BBB8EC7C84EC464A263C6.cso.pdb | 3 + ....vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso | Bin 0 -> 38136 bytes ...t.B33BD37027E2C6E47FBC917C8D1AD34C.cso.pdb | 3 + ....vert.B815C5761C479B16EDEFA49DD71F5BEF.cso | Bin 0 -> 43236 bytes ...t.B815C5761C479B16EDEFA49DD71F5BEF.cso.pdb | 3 + ....vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso | Bin 0 -> 46168 bytes ...t.B95B5D8436DC9065FA2624B17C3A8F4A.cso.pdb | 3 + ....BB64A8E44AB8BAEEC81BE23ACF911CBC.metallib | Bin 0 -> 71179 bytes ....vert.BBDA720FBCB03878657725DCB4070478.cso | Bin 0 -> 38148 bytes ...t.BBDA720FBCB03878657725DCB4070478.cso.pdb | 3 + ....vert.C15B7A17F66E5D27A740A3A3C1979581.cso | Bin 0 -> 46000 bytes ...t.C15B7A17F66E5D27A740A3A3C1979581.cso.pdb | 3 + ....C7B2BB2F20BE157E180C159EFD14D8DE.metallib | Bin 0 -> 69995 bytes ....vert.C98B044AB7848AFC025DE95581642A05.cso | Bin 0 -> 37996 bytes ...t.C98B044AB7848AFC025DE95581642A05.cso.pdb | 3 + ....vert.CB92CEE22B94959EEA2E37687128679E.cso | Bin 0 -> 32140 bytes ...t.CB92CEE22B94959EEA2E37687128679E.cso.pdb | 3 + ....vert.CC0D866961E5688D9882D28BF15A2DD1.cso | Bin 0 -> 48196 bytes ...t.CC0D866961E5688D9882D28BF15A2DD1.cso.pdb | 3 + ....vert.CDA1E3C0E334532F508888E67D4074B0.cso | Bin 0 -> 37744 bytes ...t.CDA1E3C0E334532F508888E67D4074B0.cso.pdb | 3 + ....vert.D1972016D72D5B585C503DFDD9ABA548.cso | Bin 0 -> 43468 bytes ...t.D1972016D72D5B585C503DFDD9ABA548.cso.pdb | 3 + ....vert.D580014BB3F0D7F3FB392B6DE11130DF.cso | Bin 0 -> 32208 bytes ...t.D580014BB3F0D7F3FB392B6DE11130DF.cso.pdb | 3 + ....D8BEC1C4205A6483977E29A6E5C0A924.metallib | Bin 0 -> 72139 bytes ....vert.DB334DF1BF578B4A345D78EACFC48EFD.cso | Bin 0 -> 32156 bytes ...t.DB334DF1BF578B4A345D78EACFC48EFD.cso.pdb | 3 + ....vert.DBF0DC4E7C492B8443906BDABAB124D6.cso | Bin 0 -> 34796 bytes ...t.DBF0DC4E7C492B8443906BDABAB124D6.cso.pdb | 3 + ....vert.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso | Bin 0 -> 32288 bytes ...t.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso.pdb | 3 + ....vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso | Bin 0 -> 40832 bytes ...t.DDEB5E46AE2974A0BD8EEF904023D7ED.cso.pdb | 3 + ....E21668FA3F80C375943DB33466B664B7.metallib | Bin 0 -> 72379 bytes ....vert.E2A6EFBB662583C8B826AB85395FBE8B.cso | Bin 0 -> 35588 bytes ...t.E2A6EFBB662583C8B826AB85395FBE8B.cso.pdb | 3 + ....vert.E2B113ED936BDA4068FB8C5E849E995C.cso | Bin 0 -> 37728 bytes ...t.E2B113ED936BDA4068FB8C5E849E995C.cso.pdb | 3 + ....E7704C9D770808997358C137DF29684D.metallib | Bin 0 -> 71387 bytes ....E7F82C90DC6E05851419E96B05BE71AC.metallib | Bin 0 -> 72587 bytes ....EB837A0928B395784434A7A111B53B5A.metallib | Bin 0 -> 71947 bytes ....F57F07EF6B6ED1C1CCD0B43033944746.metallib | Bin 0 -> 72315 bytes ....vert.FE9156D85DC490262296F717A3729F04.cso | Bin 0 -> 43304 bytes ...t.FE9156D85DC490262296F717A3729F04.cso.pdb | 3 + ....vert.3AA9FB07C369A60580272C87CD195B48.cso | Bin 0 -> 23024 bytes ...t.3AA9FB07C369A60580272C87CD195B48.cso.pdb | 3 + ....54B0DD8802234A5C2D1599668B7B9206.metallib | Bin 0 -> 68818 bytes ....vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso | Bin 0 -> 22732 bytes ...t.55B9ABEC1E3A57FF5B4B48F003CA9752.cso.pdb | 3 + ....E0A95D2F1F3EE6F204B740E133E167F9.metallib | Bin 0 -> 69122 bytes ....vert.E4DE4FF3AC2C78D948169907E0A73083.cso | Bin 0 -> 22788 bytes ...t.E4DE4FF3AC2C78D948169907E0A73083.cso.pdb | 3 + ....E82AF2A7438928C99FB4380BF1D38EEA.metallib | Bin 0 -> 67698 bytes ....vert.F5A70F5EA17C5E1466A4461A319A10E1.cso | Bin 0 -> 22732 bytes ...t.F5A70F5EA17C5E1466A4461A319A10E1.cso.pdb | 3 + ....FC5D8F71F6D3DF19E20E42FF6618F7D3.metallib | Bin 0 -> 67714 bytes ....frag.7D4CDE3609CAABADC704CA9E51BB9F61.cso | Bin 0 -> 84236 bytes ...g.7D4CDE3609CAABADC704CA9E51BB9F61.cso.pdb | 3 + ....B5C43DC2134A05755ADB00CA12BAF5C9.metallib | Bin 0 -> 82802 bytes ....frag.AA6AB5EFB19FD706650DFAFAA01D7D90.cso | Bin 0 -> 17080 bytes ...g.AA6AB5EFB19FD706650DFAFAA01D7D90.cso.pdb | 3 + ....F9A4E1FF18B4D49D16DE912FD8A20B3E.metallib | Bin 0 -> 67094 bytes ....2BFF67C6D3C7441503662DA3FF5A8E57.metallib | Bin 0 -> 66914 bytes ....frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso | Bin 0 -> 17372 bytes ...g.AFFAB2D8D5F189DCDB557A256A2F8D08.cso.pdb | 3 + ....3A86B375B47444ED50B241CB31E4DE69.metallib | Bin 0 -> 69066 bytes ....frag.4E1DEB657074C0BC7622F2752888C406.cso | Bin 0 -> 58280 bytes ...g.4E1DEB657074C0BC7622F2752888C406.cso.pdb | 3 + ....6FF25215FE2377D1A9D44CB228A6FDCC.metallib | Bin 0 -> 69610 bytes ....frag.A565FBDBEDF828A39BE5F7DB10013507.cso | Bin 0 -> 50644 bytes ...g.A565FBDBEDF828A39BE5F7DB10013507.cso.pdb | 3 + ....comp.48F96F1C309D71E7B09A68D687BCAF2B.cso | Bin 0 -> 35276 bytes ...p.48F96F1C309D71E7B09A68D687BCAF2B.cso.pdb | 3 + ....7D008C2220573C54554F7ECF45C09AE1.metallib | Bin 0 -> 70846 bytes ....06F70F70BEE3A7F2C9007828EAC27793.metallib | Bin 0 -> 66350 bytes ....vert.23547C37D36CF6F9E3E4E1A5EFFDA5D7.cso | Bin 0 -> 16692 bytes ...t.23547C37D36CF6F9E3E4E1A5EFFDA5D7.cso.pdb | 3 + ....vert.5458F29FA4CB16046183E24079014F66.cso | Bin 0 -> 18740 bytes ...t.5458F29FA4CB16046183E24079014F66.cso.pdb | 3 + ....vert.6820B8E6207A3B72C4104BBEBA6362A7.cso | Bin 0 -> 16692 bytes ...t.6820B8E6207A3B72C4104BBEBA6362A7.cso.pdb | 3 + ....vert.84F2CED1305C36A788150F98225EDB8E.cso | Bin 0 -> 14644 bytes ...t.84F2CED1305C36A788150F98225EDB8E.cso.pdb | 3 + ....84F2CED1305C36A788150F98225EDB8E.metallib | Bin 0 -> 65550 bytes ....AB34E7F5715922651FCAC50613AD2C84.metallib | Bin 0 -> 67550 bytes ....E9BEA09E84D5D4F71D5B417CB9E33C2B.metallib | Bin 0 -> 66158 bytes ....20F6C676AA4429ECE221D06C3579FE6E.metallib | Bin 0 -> 68166 bytes ....frag.39AB76CAE213E76DBA545C88E8BDE602.cso | Bin 0 -> 22612 bytes ...g.39AB76CAE213E76DBA545C88E8BDE602.cso.pdb | 3 + ....frag.504D71546723AF7F0E946069BF0BBDC1.cso | Bin 0 -> 20372 bytes ...g.504D71546723AF7F0E946069BF0BBDC1.cso.pdb | 3 + ....frag.621E6F8AB62D0530723E6071DD1AECAE.cso | Bin 0 -> 20500 bytes ...g.621E6F8AB62D0530723E6071DD1AECAE.cso.pdb | 3 + ....frag.6B3AB535C56AF8AAA886CB915A7DE392.cso | Bin 0 -> 20348 bytes ...g.6B3AB535C56AF8AAA886CB915A7DE392.cso.pdb | 3 + ....frag.835D4B0EE4352DFABEFBE67F99F03581.cso | Bin 0 -> 22732 bytes ...g.835D4B0EE4352DFABEFBE67F99F03581.cso.pdb | 3 + ....A9E805B45F4C48DB5EC5940F2DBB49EF.metallib | Bin 0 -> 69734 bytes ....AD528D11B24C3E9547BBC2755B99AF0D.metallib | Bin 0 -> 68310 bytes ....AE86D100987DC55AC4CD67341D850BC9.metallib | Bin 0 -> 69798 bytes ....BBC3FA3E5A6A9C8BD17B04A4C3C3131F.metallib | Bin 0 -> 67526 bytes ....C26A349E4B498C28CA45FDF2B358356D.metallib | Bin 0 -> 67510 bytes ....frag.C7D82581B244FE8E3E7FAD38CA9B4C30.cso | Bin 0 -> 25560 bytes ...g.C7D82581B244FE8E3E7FAD38CA9B4C30.cso.pdb | 3 + ....D12FD3934A8AEA8B731F0FFDEE6E4203.metallib | Bin 0 -> 68118 bytes ....frag.F024867C34EF3686655F5D8B96BD85AD.cso | Bin 0 -> 25496 bytes ...g.F024867C34EF3686655F5D8B96BD85AD.cso.pdb | 3 + ....0A585A8EE1FAF289D0FA00431292E74D.metallib | Bin 0 -> 67562 bytes ....196033BDAFEE16C2947AC8D3CBD9E464.metallib | Bin 0 -> 67498 bytes ....frag.44119E8A23CB98B578519BD7A8DD2D3A.cso | Bin 0 -> 23796 bytes ...g.44119E8A23CB98B578519BD7A8DD2D3A.cso.pdb | 3 + ....frag.4D18DB2E6615B37CE61ADA69E7CF80B7.cso | Bin 0 -> 26252 bytes ...g.4D18DB2E6615B37CE61ADA69E7CF80B7.cso.pdb | 3 + ....frag.6B1E1A9B04F783E5EF5AF1FA2DD7A8F0.cso | Bin 0 -> 26464 bytes ...g.6B1E1A9B04F783E5EF5AF1FA2DD7A8F0.cso.pdb | 3 + ....776C8F8C4765207534C2B33EE67BA844.metallib | Bin 0 -> 67850 bytes ....frag.A85F6F848367C44C2139ED7946A2DD41.cso | Bin 0 -> 26060 bytes ...g.A85F6F848367C44C2139ED7946A2DD41.cso.pdb | 3 + ....frag.C7B3E6FB6A02D2891A0BFE850ABA2E05.cso | Bin 0 -> 23612 bytes ...g.C7B3E6FB6A02D2891A0BFE850ABA2E05.cso.pdb | 3 + ....D4B8B59DC084AF08261271DE31BD80FB.metallib | Bin 0 -> 67658 bytes ....D6F2FD832CE84459152427CA78D65D28.metallib | Bin 0 -> 67306 bytes ....frag.E0C7B3E835DB79196070A24486ABF763.cso | Bin 0 -> 23828 bytes ...g.E0C7B3E835DB79196070A24486ABF763.cso.pdb | 3 + ....E8745B044C2DFE8709E100D425FD7E22.metallib | Bin 0 -> 67210 bytes ....frag.4DD1C89DF8002B409E089089CE8F24E7.cso | Bin 0 -> 14436 bytes ...g.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb | 3 + ....4DD1C89DF8002B409E089089CE8F24E7.metallib | Bin 0 -> 65406 bytes ....vert.C992EAD4108528439F5ACC0580D33319.cso | Bin 0 -> 17244 bytes ...t.C992EAD4108528439F5ACC0580D33319.cso.pdb | 3 + ....EEDB02B1278B2566C0A24981ED8E295B.metallib | Bin 0 -> 66259 bytes ....9005CED6A719F4C5A6266F97BBFB476E.metallib | Bin 0 -> 66486 bytes ....frag.F811CE9BD360967E23FA73EFC790BF73.cso | Bin 0 -> 14772 bytes ...g.F811CE9BD360967E23FA73EFC790BF73.cso.pdb | 3 + ....87409A88665BA0A46F3F776DF2CA1206.metallib | Bin 0 -> 66366 bytes ....frag.F0E2F0F689387705D12CB9970013F51D.cso | Bin 0 -> 14632 bytes ...g.F0E2F0F689387705D12CB9970013F51D.cso.pdb | 3 + ....vert.13B53A2583576C2B028749CFE7A75DBA.cso | Bin 0 -> 17032 bytes ...t.13B53A2583576C2B028749CFE7A75DBA.cso.pdb | 3 + ....613A033E7F8C94916EEEB5D560FE454B.metallib | Bin 0 -> 66063 bytes ....comp.03B060E36BAC8979EBFFCD327F74AAF9.cso | Bin 0 -> 17052 bytes ...p.03B060E36BAC8979EBFFCD327F74AAF9.cso.pdb | 3 + ....0AE6A05A739437D201C8C1B2F93B8544.metallib | Bin 0 -> 66362 bytes ....comp.3C1C64A82544849508C4F7B5018CED35.cso | Bin 0 -> 17356 bytes ...p.3C1C64A82544849508C4F7B5018CED35.cso.pdb | 3 + ....712FE560E255C4424D1793FEF1498944.metallib | Bin 0 -> 66570 bytes ....95BBBD48996763573C91C6D61130ADC6.metallib | Bin 0 -> 66876 bytes ....vert.C69D1C8B63FD48E0C28A855BE4BC8C72.cso | Bin 0 -> 20180 bytes ...t.C69D1C8B63FD48E0C28A855BE4BC8C72.cso.pdb | 3 + ....01A367EBF8EF61BEB5BBD977C507AD5D.metallib | Bin 0 -> 69834 bytes ....comp.46FFC0AC778725D76C1B4B50B25D2820.cso | Bin 0 -> 40844 bytes ...p.46FFC0AC778725D76C1B4B50B25D2820.cso.pdb | 3 + ....01A367EBF8EF61BEB5BBD977C507AD5D.metallib | Bin 0 -> 67614 bytes ....comp.46FFC0AC778725D76C1B4B50B25D2820.cso | Bin 0 -> 22672 bytes ...p.46FFC0AC778725D76C1B4B50B25D2820.cso.pdb | 3 + ....40666DC8ABC0281162338BC37344400B.metallib | Bin 0 -> 69366 bytes ....frag.4AB7012A334144666A00F99BE4F8ABF5.cso | Bin 0 -> 30080 bytes ...g.4AB7012A334144666A00F99BE4F8ABF5.cso.pdb | 3 + ....frag.4DD1C89DF8002B409E089089CE8F24E7.cso | Bin 0 -> 14416 bytes ...g.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb | 3 + ....4DD1C89DF8002B409E089089CE8F24E7.metallib | Bin 0 -> 65370 bytes ....607F7C9197328C04A914D3DB28E91B70.metallib | Bin 0 -> 66047 bytes ....vert.7421279F2283857C300D16BA4AC862F9.cso | Bin 0 -> 16928 bytes ...t.7421279F2283857C300D16BA4AC862F9.cso.pdb | 3 + ....frag.3F8899175EDEBECFC90A9FCF4189D177.cso | Bin 0 -> 17288 bytes ...g.3F8899175EDEBECFC90A9FCF4189D177.cso.pdb | 3 + ....3F8899175EDEBECFC90A9FCF4189D177.metallib | Bin 0 -> 65978 bytes ....frag.4DD1C89DF8002B409E089089CE8F24E7.cso | Bin 0 -> 14416 bytes ...g.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb | 3 + ....4DD1C89DF8002B409E089089CE8F24E7.metallib | Bin 0 -> 65402 bytes ....vert.A0CB1C647BF9FDC5B765A1CD78BEA0C6.cso | Bin 0 -> 21708 bytes ...t.A0CB1C647BF9FDC5B765A1CD78BEA0C6.cso.pdb | 3 + ....vert.B1F47489E9CAD9F30B6E29EECDC49DC7.cso | Bin 0 -> 19380 bytes ...t.B1F47489E9CAD9F30B6E29EECDC49DC7.cso.pdb | 3 + ....C6E60C6043020672ADB3C28FE4231386.metallib | Bin 0 -> 66234 bytes ....E306BFB69B25E84A37254307D2194DE4.metallib | Bin 0 -> 66484 bytes ....comp.000E9EBE432F6B318E8869722FA96736.cso | Bin 0 -> 20188 bytes ...p.000E9EBE432F6B318E8869722FA96736.cso.pdb | 3 + ....6B0FF562C6B4E087E89ECFB854F4DF16.metallib | Bin 0 -> 68494 bytes ....00EEAD7565201E1D171906979186BFF4.metallib | Bin 0 -> 68473 bytes ....vert.194FBD4081C25D96A0D72764B5D2868C.cso | Bin 0 -> 21028 bytes ...t.194FBD4081C25D96A0D72764B5D2868C.cso.pdb | 3 + ....vert.5914DC24CB72BBC25D999BA4C1DB9B5A.cso | Bin 0 -> 23212 bytes ...t.5914DC24CB72BBC25D999BA4C1DB9B5A.cso.pdb | 3 + ....vert.A50757CC2A13C001045CDD9A011A0E78.cso | Bin 0 -> 23304 bytes ...t.A50757CC2A13C001045CDD9A011A0E78.cso.pdb | 3 + ....C771D47D0FD2493829F05C25BF23328F.metallib | Bin 0 -> 68548 bytes ....vert.C91A588C69123D5B74210A1169C0B7CB.cso | Bin 0 -> 23168 bytes ...t.C91A588C69123D5B74210A1169C0B7CB.cso.pdb | 3 + ....D2590CD60D4E66225883164A95636A82.metallib | Bin 0 -> 68443 bytes ....F1C2D218A3AFC30EF7F2C8297F4B8646.metallib | Bin 0 -> 68352 bytes ....frag.7CF9397E238069F29B5AD306936DC2E1.cso | Bin 0 -> 16528 bytes ...g.7CF9397E238069F29B5AD306936DC2E1.cso.pdb | 3 + ....9E055DD95BFFEC03321947DE0EB82637.metallib | Bin 0 -> 66278 bytes ....18162C7773971E53C43D7A0F15D8ECE4.metallib | Bin 0 -> 67890 bytes ....vert.6D34106F328960A07AB5DB0CBEBE05E5.cso | Bin 0 -> 18580 bytes ...t.6D34106F328960A07AB5DB0CBEBE05E5.cso.pdb | 3 + ....comp.36030C466ADE37AEB6B32358DC8DBAC7.cso | Bin 0 -> 109500 bytes ...p.36030C466ADE37AEB6B32358DC8DBAC7.cso.pdb | 3 + ....comp.5CFD62E25CEECDE84ED94155C845E9B2.cso | Bin 0 -> 124800 bytes ...p.5CFD62E25CEECDE84ED94155C845E9B2.cso.pdb | 3 + ....D224AE024F31A732967118BC1834D51D.metallib | Bin 0 -> 69022 bytes ....D53181CD829C7C2CC9A7D66D28AA2D06.metallib | Bin 0 -> 69230 bytes ....comp.001CEFA3E15B4064857DF52248F766BE.cso | Bin 0 -> 45760 bytes ...p.001CEFA3E15B4064857DF52248F766BE.cso.pdb | 3 + ....4C1B3D9DE2E2589090B928914DBDCA22.metallib | Bin 0 -> 69134 bytes ....comp.BC3EED1104C7A5A05486050D5E27A5CC.cso | Bin 0 -> 23052 bytes ...p.BC3EED1104C7A5A05486050D5E27A5CC.cso.pdb | 3 + ....E926B5F5F536A436919B0059B2A29EFC.metallib | Bin 0 -> 67334 bytes ....EDD9731E86E29E66F0807C2362C8B640.metallib | Bin 0 -> 67350 bytes ....comp.F3A85FB3B74B54E33EEF438D2BBA34A1.cso | Bin 0 -> 22940 bytes ...p.F3A85FB3B74B54E33EEF438D2BBA34A1.cso.pdb | 3 + .../Textures/DitheringPatterns.png | 3 + .../PopcornFXInternals/Textures/Overdraw.dds | 3 + .../PopcornFXInternals/Textures/TextAtlas.dds | 3 + .../Textures/TextAtlas.pkat | 98 + .../PopcornFXInternals/Textures/default.dds | 3 + PopcornFX/README.md | 40 + PopcornFX/Resources.rcc | Bin 0 -> 727957 bytes PopcornFX/Resources/Fonts/Consolas.ttf | 3 + PopcornFX/Resources/Fonts/Roboto-Bold.ttf | 3 + PopcornFX/Resources/Fonts/Roboto-Light.ttf | 3 + PopcornFX/Resources/Fonts/Roboto-Regular.ttf | 3 + .../Resources/Fonts/RobotoMono-Regular.ttf | 3 + PopcornFX/Resources/Icons/Reset.png | 3 + PopcornFX/Resources/Icons/branch-closed.png | 3 + PopcornFX/Resources/Icons/branch-open.png | 3 + PopcornFX/Stylesheet.qss | 146 + PopcornFX/WinPixEventRuntime.dll | 3 + .../documentation/debugger/PopcornFX.natvis | 409 + PopcornFX/fxc.exe | 3 + PopcornFX/popcornfx.qt/Qt5Core.dll | 3 + PopcornFX/popcornfx.qt/Qt5Gui.dll | 3 + PopcornFX/popcornfx.qt/Qt5Widgets.dll | 3 + PopcornFX/popcornfx.qt/popcornfx.qt.manifest | 9 + PopcornFX/popcornfx.qt/qwindows.dll | 3 + Samples/PK-MCPP/directive.cpp | 1713 ++++ Samples/PK-MCPP/eval.cpp | 1693 +++ Samples/PK-MCPP/expand.cpp | 2998 ++++++ Samples/PK-MCPP/internal.h | 478 + Samples/PK-MCPP/main.cpp | 903 ++ Samples/PK-MCPP/mbchar.cpp | 878 ++ Samples/PK-MCPP/mcpp_lib.h | 30 + Samples/PK-MCPP/mcpp_out.h | 13 + Samples/PK-MCPP/noconfig.h | 616 ++ Samples/PK-MCPP/pk_mcpp_bridge.cpp | 369 + Samples/PK-MCPP/pk_mcpp_bridge.h | 292 + Samples/PK-MCPP/pk_preprocessor.cpp | 257 + Samples/PK-MCPP/pk_preprocessor.h | 34 + Samples/PK-MCPP/precompiled.cpp | 1 + Samples/PK-MCPP/precompiled.h | 11 + Samples/PK-MCPP/support.cpp | 2831 +++++ Samples/PK-MCPP/system.cpp | 4783 +++++++++ Samples/PK-MCPP/system.h | 414 + .../ApiContext/D3D/D3D11Context.cpp | 550 + .../ApiContext/D3D/D3D11Context.h | 82 + .../ApiContext/D3D/D3D12Context.cpp | 904 ++ .../ApiContext/D3D/D3D12Context.h | 83 + Samples/PK-SampleLib/ApiContext/IApiContext.h | 46 + .../ApiContext/Metal/MetalContext.h | 103 + .../ApiContext/Metal/MetalContext.mm | 427 + .../ApiContext/Metal/MetalContextFactory.h | 21 + .../ApiContext/Metal/MetalContextFactory.mm | 35 + .../ApiContext/Metal/MetalFinalBlitShader.h | 587 ++ .../Metal/MetalFinalBlitShader.metal | 52 + .../ApiContext/OpenGL/EGLContext.cpp | 250 + .../ApiContext/OpenGL/EGLContext.h | 51 + .../ApiContext/OpenGL/GLContext.cpp | 321 + .../ApiContext/OpenGL/GLContext.h | 104 + .../ApiContext/OpenGL/GLXContext.cpp | 234 + .../ApiContext/OpenGL/GLXContext.h | 51 + .../ApiContext/OpenGL/NSGLContext.h | 51 + .../ApiContext/OpenGL/NSGLContext.mm | 135 + .../ApiContext/OpenGL/WGLContext.cpp | 246 + .../ApiContext/OpenGL/WGLContext.h | 52 + .../ApiContext/Vulkan/VulkanContext.cpp | 1506 +++ .../ApiContext/Vulkan/VulkanContext.h | 215 + Samples/PK-SampleLib/ApiContextConfig.h | 92 + .../PK-SampleLib/Assets/Meshes/default.fbx | 3 + .../Assets/ShaderIncludes/gen_shaders_header | 18 + .../ShaderIncludes/gen_shaders_header.cmd | 9 + .../ShaderIncludes/generated/Billboard.geom.h | 549 + .../ShaderIncludes/generated/Billboard.vert.h | 579 ++ ...SimInterface_GBuffer_ProjectToNormal.d3d.h | 58 + ...mInterface_GBuffer_ProjectToPosition.d3d.h | 48 + .../ShaderIncludes/generated/Ribbon.vert.h | 424 + .../ShaderIncludes/generated/Triangle.vert.h | 174 + .../ShaderIncludes/sources/Billboard.geom | 548 + .../ShaderIncludes/sources/Billboard.vert | 477 + ...PUSimInterface_GBuffer_ProjectToNormal.d3d | 40 + ...SimInterface_GBuffer_ProjectToPosition.d3d | 35 + .../Assets/ShaderIncludes/sources/Ribbon.vert | 341 + .../ShaderIncludes/sources/Triangle.vert | 137 + .../PK-SampleLib/Assets/Shaders/Gizmo.frag | 5 + .../PK-SampleLib/Assets/Shaders/Gizmo.vert | 14 + .../PK-SampleLib/Assets/Shaders/ImGui.frag | 5 + .../PK-SampleLib/Assets/Shaders/ImGui.vert | 7 + .../PK-SampleLib/Assets/Shaders/Profiler.frag | 5 + .../PK-SampleLib/Assets/Shaders/Profiler.vert | 6 + .../Assets/Shaders/ProfilerDrawNode.frag | 39 + .../Assets/Shaders/ProfilerDrawNode.vert | 56 + .../Assets/Textures/DitheringPatterns.png | 3 + .../PK-SampleLib/Assets/Textures/default.dds | 3 + Samples/PK-SampleLib/BRDFLUT.cpp | 210 + Samples/PK-SampleLib/BRDFLUT.h | 23 + Samples/PK-SampleLib/BlueNoise.cpp | 153 + Samples/PK-SampleLib/BlueNoise.h | 22 + Samples/PK-SampleLib/Camera.cpp | 297 + Samples/PK-SampleLib/Camera.h | 162 + Samples/PK-SampleLib/DebugHelper.cpp | 111 + Samples/PK-SampleLib/DebugHelper.h | 60 + Samples/PK-SampleLib/Gizmo.cpp | 1772 ++++ Samples/PK-SampleLib/Gizmo.h | 235 + Samples/PK-SampleLib/ImguiRhiImplem.cpp | 674 ++ Samples/PK-SampleLib/ImguiRhiImplem.h | 193 + Samples/PK-SampleLib/PKPix.cpp | 75 + Samples/PK-SampleLib/PKPix.h | 30 + Samples/PK-SampleLib/PKSample.h | 41 + Samples/PK-SampleLib/PKSampleInit.cpp | 101 + Samples/PK-SampleLib/PKSampleInit.h | 47 + Samples/PK-SampleLib/PipelineCacheHelper.cpp | 87 + Samples/PK-SampleLib/PipelineCacheHelper.h | 30 + .../PopcornStartup/PopcornStartup.cpp | 290 + .../PopcornStartup/PopcornStartup.h | 24 + Samples/PK-SampleLib/ProfilerRenderer.cpp | 998 ++ Samples/PK-SampleLib/ProfilerRenderer.h | 219 + .../RHIRenderParticleSceneHelpers.cpp | 3198 ++++++ .../RHIRenderParticleSceneHelpers.h | 664 ++ .../FeatureRenderingSettings.cpp | 191 + .../FeatureRenderingSettings.h | 129 + .../RenderIntegrationRHI/FrameCollector.cpp | 108 + .../RenderIntegrationRHI/FrameCollector.h | 50 + .../RenderIntegrationRHI/MaterialToRHI.cpp | 2319 +++++ .../RenderIntegrationRHI/MaterialToRHI.h | 266 + .../RHIBillboardingBatchPolicy.cpp | 3723 +++++++ .../RHIBillboardingBatchPolicy.h | 271 + .../RHIBillboardingBatchPolicy_Vertex.cpp | 2528 +++++ .../RHIBillboardingBatchPolicy_Vertex.h | 243 + .../RenderIntegrationRHI/RHICustomTasks.cpp | 717 ++ .../RenderIntegrationRHI/RHICustomTasks.h | 296 + .../RenderIntegrationRHI/RHIGPUSorter.cpp | 244 + .../RenderIntegrationRHI/RHIGPUSorter.h | 71 + .../RHIGraphicResources.cpp | 2298 +++++ .../RHIGraphicResources.h | 777 ++ .../RHIParticleRenderDataFactory.cpp | 314 + .../RHIParticleRenderDataFactory.h | 67 + .../RHIRenderIntegrationConfig.h | 21 + .../RenderIntegrationRHI/RHITypePolicy.h | 331 + .../RenderIntegrationRHI/RendererCache.cpp | 270 + .../RenderIntegrationRHI/RendererCache.h | 60 + .../RenderIntegrationRHI/SoundPoolCache.cpp | 201 + .../RenderIntegrationRHI/SoundPoolCache.h | 87 + .../RenderPasses/DirectionalShadows.cpp | 766 ++ .../RenderPasses/DirectionalShadows.h | 178 + .../RenderPasses/DownSampleTexture.cpp | 258 + .../RenderPasses/DownSampleTexture.h | 84 + Samples/PK-SampleLib/RenderPasses/GBuffer.cpp | 567 + Samples/PK-SampleLib/RenderPasses/GBuffer.h | 161 + .../PK-SampleLib/RenderPasses/PostFxBloom.cpp | 383 + .../PK-SampleLib/RenderPasses/PostFxBloom.h | 102 + .../RenderPasses/PostFxColorRemap.cpp | 231 + .../RenderPasses/PostFxColorRemap.h | 80 + .../RenderPasses/PostFxDistortion.cpp | 348 + .../RenderPasses/PostFxDistortion.h | 112 + .../PK-SampleLib/RenderPasses/PostFxFXAA.cpp | 196 + .../PK-SampleLib/RenderPasses/PostFxFXAA.h | 84 + .../RenderPasses/PostFxToneMapping.cpp | 231 + .../RenderPasses/PostFxToneMapping.h | 112 + .../SampleScene/AbstractGraphicScene.cpp | 501 + .../SampleScene/AbstractGraphicScene.h | 94 + .../SampleScene/DeferredScene.cpp | 1040 ++ .../PK-SampleLib/SampleScene/DeferredScene.h | 222 + .../Entities/EnvironmentMapEntity.cpp | 877 ++ .../Entities/EnvironmentMapEntity.h | 108 + .../SampleScene/Entities/LightEntity.cpp | 233 + .../SampleScene/Entities/LightEntity.h | 136 + .../SampleScene/Entities/MeshEntity.cpp | 453 + .../SampleScene/Entities/MeshEntity.h | 151 + Samples/PK-SampleLib/SampleUtils.cpp | 577 ++ Samples/PK-SampleLib/SampleUtils.h | 175 + .../BasicSceneShaderDefinitions.cpp | 377 + .../BasicSceneShaderDefinitions.h | 54 + .../EditorShaderDefinitions.cpp | 1159 +++ .../EditorShaderDefinitions.h | 97 + .../SampleLibShaderDefinitions.cpp | 1334 +++ .../SampleLibShaderDefinitions.h | 108 + .../ShaderDefinitions/ShaderDefinitions.cpp | 187 + .../ShaderDefinitions/ShaderDefinitions.h | 35 + .../UnitTestsShaderDefinitions.cpp | 1329 +++ .../UnitTestsShaderDefinitions.h | 210 + .../ShaderGenerator/GLSLShaderGenerator.cpp | 813 ++ .../ShaderGenerator/GLSLShaderGenerator.h | 80 + .../ShaderGenerator/HLSLShaderGenerator.cpp | 696 ++ .../ShaderGenerator/HLSLShaderGenerator.h | 63 + .../ShaderGenerator/MetalShaderGenerator.cpp | 803 ++ .../ShaderGenerator/MetalShaderGenerator.h | 72 + .../ParticleShaderGenerator.cpp | 568 + .../ShaderGenerator/ParticleShaderGenerator.h | 145 + .../ShaderGenerator/ShaderGenerator.cpp | 532 + .../ShaderGenerator/ShaderGenerator.h | 142 + .../ShaderGenerator/VulkanShaderGenerator.cpp | 749 ++ .../ShaderGenerator/VulkanShaderGenerator.h | 62 + Samples/PK-SampleLib/ShaderLoader.cpp | 348 + Samples/PK-SampleLib/ShaderLoader.h | 118 + .../SimInterface_GBufferSampling.cpp | 551 + .../SimInterfaces/SimInterfaces.h | 39 + .../WindowContext/AWindowContext.cpp | 64 + .../WindowContext/AWindowContext.h | 131 + .../OffscreenContext/OffscreenContext.cpp | 60 + .../OffscreenContext/OffscreenContext.h | 55 + .../WindowContext/SdlContext/SdlContext.cpp | 595 ++ .../WindowContext/SdlContext/SdlContext.h | 125 + Samples/PK-SampleLib/bin/mcpp.exe | 3 + Samples/precompiled/precompiled.cpp | 11 + Samples/precompiled/precompiled.h | 58 + download_3rd_party.bat | 40 + download_3rd_party.sh | 9 + .../AE_Effect_Attribute.make | 199 + .../AE_Effect_AttributeSampler.make | 199 + .../AE_Effect_Emitter.make | 199 + .../AfterEffects_macosx/AE_GeneralPlugin.make | 380 + .../AfterEffects_macosx/PK-AssetBaker.make | 192 + .../AfterEffects_macosx/PK-AssetBakerLib.make | 221 + .../PK-Discretizers_SDK1.make | 152 + projects/AfterEffects_macosx/PK-MCPP.make | 203 + .../AfterEffects_macosx/PK-MCPP_SDK1.make | 203 + .../PK-ParticlesToolbox_SDK1.make | 152 + projects/AfterEffects_macosx/PK-RHI.make | 768 ++ projects/AfterEffects_macosx/PK-RHI_SDK1.make | 162 + .../AfterEffects_macosx/PK-RenderHelpers.make | 436 + .../PK-RenderHelpers_SDK1.make | 152 + .../AfterEffects_macosx/PK-Runtime_SDK1.make | 151 + .../AfterEffects_macosx/PK-SampleLib.make | 492 + .../PK-Sample_01_BasicRendering.make | 200 + .../PK-Sample_01_BasicStartup.make | 175 + .../PK-Sample_02_BasicEvolve.make | 175 + .../PK-Sample_02_FullIntegration.make | 185 + .../PK-Sample_03_EngineHooks.make | 170 + .../PK-Sample_04_Baking.make | 177 + .../PK-Sample_04_EffectInterface.make | 230 + .../PK-Sample_05_Stats.make | 185 + .../PK-Sample_05_Upgrader.make | 172 + .../PK-Sample_06_SimInterface.make | 200 + .../PK-Sample_06_SimInterfaceGPU.make | 190 + .../AfterEffects_macosx/PK-Sample_07_LOD.make | 185 + .../PK-Sample_08_CustomCollision.make | 200 + .../PK-Sample_09_AsyncLoading.make | 190 + .../PK-Sample_10_AsyncRendering.make | 190 + .../PK-Sample_11_ThreadPool.make | 195 + .../PK-Sample_12_GBufferSampling.make | 185 + .../AfterEffects_macosx/PK-ShaderTool.make | 162 + projects/AfterEffects_macosx/PK-Upgrader.make | 172 + .../AfterEffects_macosx/PK-UpgraderLib.make | 1461 +++ .../PopcornFX_AfterEffectsPlugin.make | 168 + .../AfterEffects_macosx/PopcornFX_SDK1.make | 372 + .../moc_AEGP_GraphicalResourcesTreeModel.args | 53 + .../Qt/x64/Debug/moc_AEGP_PanelQT.args | 53 + .../moc_AEGP_GraphicalResourcesTreeModel.args | 54 + .../Qt/x64/Release/moc_AEGP_PanelQT.args | 54 + .../AE_Effect_Attribute.vcxproj | 199 + .../AE_Effect_Attribute.vcxproj.filters | 171 + .../AE_Effect_AttributeSampler.vcxproj | 199 + ...AE_Effect_AttributeSampler.vcxproj.filters | 171 + .../AE_Effect_Emitter.vcxproj | 199 + .../AE_Effect_Emitter.vcxproj.filters | 171 + .../AE_GeneralPlugin.vcxproj | 328 + .../AE_GeneralPlugin.vcxproj.filters | 473 + .../AE_GeneralPlugin.vcxproj.user | 11 + .../AfterEffects_vs2019/PK-AssetBaker.vcxproj | 179 + .../PK-AssetBaker.vcxproj.filters | 140 + .../PK-AssetBaker.vcxproj.user | 11 + .../PK-AssetBakerLib.vcxproj | 208 + .../PK-AssetBakerLib.vcxproj.filters | 98 + .../PK-Discretizers_SDK1.vcxproj | 180 + .../PK-Discretizers_SDK1.vcxproj.filters | 21 + projects/AfterEffects_vs2019/PK-MCPP.vcxproj | 196 + .../PK-MCPP.vcxproj.filters | 77 + .../AfterEffects_vs2019/PK-MCPP_SDK1.vcxproj | 196 + .../PK-MCPP_SDK1.vcxproj.filters | 77 + .../PK-ParticlesToolbox_SDK1.vcxproj | 196 + .../PK-ParticlesToolbox_SDK1.vcxproj.filters | 69 + projects/AfterEffects_vs2019/PK-RHI.vcxproj | 684 ++ .../PK-RHI.vcxproj.filters | 977 ++ .../AfterEffects_vs2019/PK-RHI_SDK1.vcxproj | 365 + .../PK-RHI_SDK1.vcxproj.filters | 650 ++ .../PK-RenderHelpers.vcxproj | 326 + .../PK-RenderHelpers.vcxproj.filters | 509 + .../PK-RenderHelpers_SDK1.vcxproj | 259 + .../PK-RenderHelpers_SDK1.vcxproj.filters | 285 + .../PK-Runtime_SDK1.vcxproj | 566 + .../PK-Runtime_SDK1.vcxproj.filters | 1335 +++ .../AfterEffects_vs2019/PK-SampleLib.vcxproj | 442 + .../PK-SampleLib.vcxproj.filters | 911 ++ .../PK-Sample_01_BasicRendering.vcxproj | 237 + ...K-Sample_01_BasicRendering.vcxproj.filters | 179 + .../PK-Sample_01_BasicRendering.vcxproj.user | 15 + .../PK-Sample_01_BasicStartup.vcxproj | 200 + .../PK-Sample_01_BasicStartup.vcxproj.filters | 50 + .../PK-Sample_01_BasicStartup.vcxproj.user | 15 + .../PK-Sample_02_BasicEvolve.vcxproj | 200 + .../PK-Sample_02_BasicEvolve.vcxproj.filters | 50 + .../PK-Sample_02_BasicEvolve.vcxproj.user | 15 + .../PK-Sample_02_FullIntegration.vcxproj | 306 + ...-Sample_02_FullIntegration.vcxproj.filters | 395 + .../PK-Sample_02_FullIntegration.vcxproj.user | 15 + .../PK-Sample_03_EngineHooks.vcxproj | 196 + .../PK-Sample_03_EngineHooks.vcxproj.filters | 44 + .../PK-Sample_03_EngineHooks.vcxproj.user | 15 + .../PK-Sample_04_Baking.vcxproj | 212 + .../PK-Sample_04_Baking.vcxproj.filters | 74 + .../PK-Sample_04_Baking.vcxproj.user | 15 + .../PK-Sample_04_EffectInterface.vcxproj | 322 + ...-Sample_04_EffectInterface.vcxproj.filters | 443 + .../PK-Sample_04_EffectInterface.vcxproj.user | 15 + .../PK-Sample_05_Stats.vcxproj | 306 + .../PK-Sample_05_Stats.vcxproj.filters | 395 + .../PK-Sample_05_Stats.vcxproj.user | 15 + .../PK-Sample_05_Upgrader.vcxproj | 211 + .../PK-Sample_05_Upgrader.vcxproj.filters | 77 + .../PK-Sample_05_Upgrader.vcxproj.user | 15 + .../PK-Sample_06_SimInterface.vcxproj | 312 + .../PK-Sample_06_SimInterface.vcxproj.filters | 413 + .../PK-Sample_06_SimInterface.vcxproj.user | 15 + .../PK-Sample_06_SimInterfaceGPU.vcxproj | 308 + ...-Sample_06_SimInterfaceGPU.vcxproj.filters | 401 + .../PK-Sample_06_SimInterfaceGPU.vcxproj.user | 15 + .../PK-Sample_07_LOD.vcxproj | 306 + .../PK-Sample_07_LOD.vcxproj.filters | 395 + .../PK-Sample_07_LOD.vcxproj.user | 15 + .../PK-Sample_08_CustomCollision.vcxproj | 312 + ...-Sample_08_CustomCollision.vcxproj.filters | 413 + .../PK-Sample_08_CustomCollision.vcxproj.user | 15 + .../PK-Sample_09_AsyncLoading.vcxproj | 307 + .../PK-Sample_09_AsyncLoading.vcxproj.filters | 398 + .../PK-Sample_09_AsyncLoading.vcxproj.user | 15 + .../PK-Sample_10_AsyncRendering.vcxproj | 307 + ...K-Sample_10_AsyncRendering.vcxproj.filters | 398 + .../PK-Sample_10_AsyncRendering.vcxproj.user | 15 + .../PK-Sample_11_ThreadPool.vcxproj | 308 + .../PK-Sample_11_ThreadPool.vcxproj.filters | 401 + .../PK-Sample_11_ThreadPool.vcxproj.user | 15 + .../PK-Sample_12_GBufferSampling.vcxproj | 306 + ...-Sample_12_GBufferSampling.vcxproj.filters | 395 + .../PK-Sample_12_GBufferSampling.vcxproj.user | 15 + .../AfterEffects_vs2019/PK-ShaderTool.vcxproj | 171 + .../PK-ShaderTool.vcxproj.filters | 137 + .../PK-ShaderTool.vcxproj.user | 11 + .../AfterEffects_vs2019/PK-Upgrader.vcxproj | 199 + .../PK-Upgrader.vcxproj.filters | 38 + .../PK-Upgrader.vcxproj.user | 18 + .../PK-UpgraderLib.vcxproj | 1312 +++ .../PK-UpgraderLib.vcxproj.filters | 3533 +++++++ .../PopcornFX_AfterEffectsPlugin.sln | 122 + .../AfterEffects_vs2019/PopcornFX_SDK1.sln | 293 + .../moc_AEGP_GraphicalResourcesTreeModel.args | 57 + .../Qt/x64/Debug/moc_AEGP_PanelQT.args | 57 + .../moc_AEGP_GraphicalResourcesTreeModel.args | 58 + .../Qt/x64/Release/moc_AEGP_PanelQT.args | 58 + qtoverride.dll.manifest | 15 + 1244 files changed, 176518 insertions(+) create mode 100644 .github/workflows/draft-release.yml create mode 100644 AE.code-workspace create mode 100644 AE_Effect_Attribute/Include/AEAttribute_Main.h create mode 100644 AE_Effect_Attribute/Include/AEAttribute_ParamDefine.h create mode 100644 AE_Effect_Attribute/Include/AEAttribute_PluginInterface.h create mode 100644 AE_Effect_Attribute/Include/AEAttribute_SequenceData.h create mode 100644 AE_Effect_Attribute/PkgInfo create mode 100644 AE_Effect_Attribute/Precompiled/ae_precompiled.cpp create mode 100644 AE_Effect_Attribute/Precompiled/ae_precompiled.h create mode 100644 AE_Effect_Attribute/Sources/AEAttribute_Main.cpp create mode 100644 AE_Effect_Attribute/Sources/AEAttribute_ParamDefine.cpp create mode 100644 AE_Effect_Attribute/Sources/AEAttribute_PluginInterface.cpp create mode 100644 AE_Effect_Attribute/Sources/AEAttribute_SequenceData.cpp create mode 100644 AE_Effect_Attribute/Sources/AE_Effect_Attribute.plugin-Info.plist create mode 100644 AE_Effect_Attribute/Sources/AE_Effect_Attribute_PiPL.r create mode 100644 AE_Effect_AttributeSampler/Include/AEAttributeSampler_Main.h create mode 100644 AE_Effect_AttributeSampler/Include/AEAttributeSampler_ParamDefine.h create mode 100644 AE_Effect_AttributeSampler/Include/AEAttributeSampler_PluginInterface.h create mode 100644 AE_Effect_AttributeSampler/Include/AEAttributeSampler_SequenceData.h create mode 100644 AE_Effect_AttributeSampler/PkgInfo create mode 100644 AE_Effect_AttributeSampler/Precompiled/ae_precompiled.cpp create mode 100644 AE_Effect_AttributeSampler/Precompiled/ae_precompiled.h create mode 100644 AE_Effect_AttributeSampler/Sources/AEAttributeSampler_Main.cpp create mode 100644 AE_Effect_AttributeSampler/Sources/AEAttributeSampler_ParamDefine.cpp create mode 100644 AE_Effect_AttributeSampler/Sources/AEAttributeSampler_PluginInterface.cpp create mode 100644 AE_Effect_AttributeSampler/Sources/AEAttributeSampler_SequenceData.cpp create mode 100644 AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler.plugin-Info.plist create mode 100644 AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler_PiPL.r create mode 100644 AE_Effect_Emitter/Include/AEEffect_Main.h create mode 100644 AE_Effect_Emitter/Include/AEEffect_ParamDefine.h create mode 100644 AE_Effect_Emitter/Include/AEEffect_PluginInterface.h create mode 100644 AE_Effect_Emitter/Include/AEEffect_SequenceData.h create mode 100644 AE_Effect_Emitter/PkgInfo create mode 100644 AE_Effect_Emitter/Precompiled/ae_precompiled.cpp create mode 100644 AE_Effect_Emitter/Precompiled/ae_precompiled.h create mode 100644 AE_Effect_Emitter/Sources/AEEffect_Main.cpp create mode 100644 AE_Effect_Emitter/Sources/AEEffect_ParamDefine.cpp create mode 100644 AE_Effect_Emitter/Sources/AEEffect_PluginInterface.cpp create mode 100644 AE_Effect_Emitter/Sources/AEEffect_SequenceData.cpp create mode 100644 AE_Effect_Emitter/Sources/AE_Effect_Emitter.plugin-Info.plist create mode 100644 AE_Effect_Emitter/Sources/AE_Effect_Emitter_PiPL.r create mode 100644 AE_GeneralPlugin/GeneralPlugin.manifest create mode 100644 AE_GeneralPlugin/Include/AEGP_AEPKConversion.h create mode 100644 AE_GeneralPlugin/Include/AEGP_AssetBaker.h create mode 100644 AE_GeneralPlugin/Include/AEGP_Attribute.h create mode 100644 AE_GeneralPlugin/Include/AEGP_Define.h create mode 100644 AE_GeneralPlugin/Include/AEGP_FileDialog.h create mode 100644 AE_GeneralPlugin/Include/AEGP_FileDialogMac.h create mode 100644 AE_GeneralPlugin/Include/AEGP_FileWatcher.h create mode 100644 AE_GeneralPlugin/Include/AEGP_FrameCollector.h create mode 100644 AE_GeneralPlugin/Include/AEGP_LayerHolder.h create mode 100644 AE_GeneralPlugin/Include/AEGP_Log.h create mode 100644 AE_GeneralPlugin/Include/AEGP_Main.h create mode 100644 AE_GeneralPlugin/Include/AEGP_PackExplorer.h create mode 100644 AE_GeneralPlugin/Include/AEGP_ParticleScene.h create mode 100644 AE_GeneralPlugin/Include/AEGP_PopcornFXPlugins.h create mode 100644 AE_GeneralPlugin/Include/AEGP_RenderContext.h create mode 100644 AE_GeneralPlugin/Include/AEGP_Scene.h create mode 100644 AE_GeneralPlugin/Include/AEGP_SkinnedMesh.h create mode 100644 AE_GeneralPlugin/Include/AEGP_SkinnedMeshInstance.h create mode 100644 AE_GeneralPlugin/Include/AEGP_System.h create mode 100644 AE_GeneralPlugin/Include/AEGP_UpdateAEState.h create mode 100644 AE_GeneralPlugin/Include/AEGP_VaultHandler.h create mode 100644 AE_GeneralPlugin/Include/AEGP_WinFileDialog.h create mode 100644 AE_GeneralPlugin/Include/AEGP_WinSystem.h create mode 100644 AE_GeneralPlugin/Include/AEGP_World.h create mode 100644 AE_GeneralPlugin/Include/Panels/AEGP_GraphicalResourcesTreeModel.h create mode 100644 AE_GeneralPlugin/Include/Panels/AEGP_PanelQT.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_BaseContext.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_CopyPixels.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_CopyTask.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_D3D11Context.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_D3D12Context.h create mode 100644 AE_GeneralPlugin/Include/RenderApi/AEGP_MetalContext.h create mode 100644 AE_GeneralPlugin/PkgInfo create mode 100644 AE_GeneralPlugin/Precompiled/ae_precompiled.cpp create mode 100644 AE_GeneralPlugin/Precompiled/ae_precompiled.h create mode 100644 AE_GeneralPlugin/Sources/AEGP_AEPKConversion.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_AssetBaker.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_Attribute.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_FileDialog.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_FileDialogMac.mm create mode 100644 AE_GeneralPlugin/Sources/AEGP_FileWatcher.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_FrameCollector.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_LayerHolder.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_Log.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_Main.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_PackExplorer.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_ParticleScene.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_PopcornFXPlugins.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_RenderContext.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_Scene.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_SkinnedMesh.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_SkinnedMeshInstance.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_System.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_UpdateAEState.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_VaultHandler.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_WinFileDialog.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_WinSystem.cpp create mode 100644 AE_GeneralPlugin/Sources/AEGP_World.cpp create mode 100644 AE_GeneralPlugin/Sources/AE_GeneralPlugin.plugin-Info.plist create mode 100644 AE_GeneralPlugin/Sources/AE_GeneralPlugin_PiPL.r create mode 100644 AE_GeneralPlugin/Sources/Panels/AEGP_GraphicalResourcesTreeModel.cpp create mode 100644 AE_GeneralPlugin/Sources/Panels/AEGP_PanelQT.cpp create mode 100644 AE_GeneralPlugin/Sources/RenderApi/AEGP_BaseContext.cpp create mode 100644 AE_GeneralPlugin/Sources/RenderApi/AEGP_CopyPixels.cpp create mode 100644 AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D11Context.cpp create mode 100644 AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D12Context.cpp create mode 100644 AE_GeneralPlugin/Sources/RenderApi/AEGP_MetalContext.mm create mode 100644 AE_Suites/PopcornFX_BasePluginInterface.h create mode 100644 AE_Suites/PopcornFX_Define.h create mode 100644 AE_Suites/PopcornFX_Define_Version.h create mode 100644 AE_Suites/PopcornFX_Suite.h create mode 100644 AE_Suites/PopcornFX_UID.h create mode 100644 CopyQTDllsForAE.py create mode 100644 External/AE SDK/Headers/A.h create mode 100644 External/AE SDK/Headers/AEConfig.h create mode 100644 External/AE SDK/Headers/AEFX_ArbParseHelper.c create mode 100644 External/AE SDK/Headers/AEFX_ArbParseHelper.h create mode 100644 External/AE SDK/Headers/AEFX_ChannelDepthTpl.h create mode 100644 External/AE SDK/Headers/AEFX_SuiteHandlerTemplate.h create mode 100644 External/AE SDK/Headers/AEFX_SuiteHelper.c create mode 100644 External/AE SDK/Headers/AEFX_SuiteHelper.h create mode 100644 External/AE SDK/Headers/AEGP_SuiteHandler.cpp create mode 100644 External/AE SDK/Headers/AEGP_SuiteHandler.h create mode 100644 External/AE SDK/Headers/AEGP_Utils.cpp create mode 100644 External/AE SDK/Headers/AEGP_Utils.h create mode 100644 External/AE SDK/Headers/AE_AdvEffectSuites.h create mode 100644 External/AE SDK/Headers/AE_CacheOnLoadSuite.h create mode 100644 External/AE SDK/Headers/AE_ChannelSuites.h create mode 100644 External/AE SDK/Headers/AE_ComputeCacheSuite.h create mode 100644 External/AE SDK/Headers/AE_CreatorInfo.h create mode 100644 External/AE SDK/Headers/AE_Effect.h create mode 100644 External/AE SDK/Headers/AE_EffectCB.h create mode 100644 External/AE SDK/Headers/AE_EffectCBSuites.h create mode 100644 External/AE SDK/Headers/AE_EffectGPUSuites.h create mode 100644 External/AE SDK/Headers/AE_EffectPixelFormat.h create mode 100644 External/AE SDK/Headers/AE_EffectSuites.h create mode 100644 External/AE SDK/Headers/AE_EffectSuitesHelper.h create mode 100644 External/AE SDK/Headers/AE_EffectSuitesOld.h create mode 100644 External/AE SDK/Headers/AE_EffectUI.h create mode 100644 External/AE SDK/Headers/AE_EffectVers.h create mode 100644 External/AE SDK/Headers/AE_GeneralPlug.h create mode 100644 External/AE SDK/Headers/AE_GeneralPlugOld.h create mode 100644 External/AE SDK/Headers/AE_GeneralPlugPanels.h create mode 100644 External/AE SDK/Headers/AE_GeneralPlugPost.h create mode 100644 External/AE SDK/Headers/AE_GeneralPlugPre.h create mode 100644 External/AE SDK/Headers/AE_HashSuite.h create mode 100644 External/AE SDK/Headers/AE_Hook.h create mode 100644 External/AE SDK/Headers/AE_IO.h create mode 100644 External/AE SDK/Headers/AE_IO_FileExt.h create mode 100644 External/AE SDK/Headers/AE_Macros.h create mode 100644 External/AE SDK/Headers/AE_PluginData.h create mode 100644 External/AE SDK/Headers/DuckSuite.h create mode 100644 External/AE SDK/Headers/FIEL_Public.h create mode 100644 External/AE SDK/Headers/Mach-O_prefix.h create mode 100644 External/AE SDK/Headers/MissingSuiteError.cpp create mode 100644 External/AE SDK/Headers/PF_Masks.h create mode 100644 External/AE SDK/Headers/PR_Public.h create mode 100644 External/AE SDK/Headers/PT_Public.h create mode 100644 External/AE SDK/Headers/Param_Utils.h create mode 100644 External/AE SDK/Headers/PrSDKAESupport.h create mode 100644 External/AE SDK/Headers/PrSDKPixelFormat.h create mode 100644 External/AE SDK/Headers/SP/PSIntTypes.h create mode 100644 External/AE SDK/Headers/SP/SPAccess.h create mode 100644 External/AE SDK/Headers/SP/SPAdapts.h create mode 100644 External/AE SDK/Headers/SP/SPBasic.h create mode 100644 External/AE SDK/Headers/SP/SPBckDbg.h create mode 100644 External/AE SDK/Headers/SP/SPBlocks.h create mode 100644 External/AE SDK/Headers/SP/SPCOM.h create mode 100644 External/AE SDK/Headers/SP/SPCaches.h create mode 100644 External/AE SDK/Headers/SP/SPConfig.h create mode 100644 External/AE SDK/Headers/SP/SPEDebug.c create mode 100644 External/AE SDK/Headers/SP/SPErrorCodes.h create mode 100644 External/AE SDK/Headers/SP/SPErrors.h create mode 100644 External/AE SDK/Headers/SP/SPFiles.h create mode 100644 External/AE SDK/Headers/SP/SPHost.h create mode 100644 External/AE SDK/Headers/SP/SPInterf.h create mode 100644 External/AE SDK/Headers/SP/SPMData.h create mode 100644 External/AE SDK/Headers/SP/SPObject.h create mode 100644 External/AE SDK/Headers/SP/SPPiPL.h create mode 100644 External/AE SDK/Headers/SP/SPPlugs.h create mode 100644 External/AE SDK/Headers/SP/SPProps.h create mode 100644 External/AE SDK/Headers/SP/SPRuntme.h create mode 100644 External/AE SDK/Headers/SP/SPSTSPrp.h create mode 100644 External/AE SDK/Headers/SP/SPStrngs.h create mode 100644 External/AE SDK/Headers/SP/SPSuites.h create mode 100644 External/AE SDK/Headers/SP/SPTypes.h create mode 100755 External/AE SDK/Headers/SP/artemis/config/platform.hpp create mode 100755 External/AE SDK/Headers/SP/photoshop/config/platform.hpp create mode 100644 External/AE SDK/Headers/Smart_Utils.cpp create mode 100644 External/AE SDK/Headers/Smart_Utils.h create mode 100644 External/AE SDK/Headers/String_Utils.c create mode 100644 External/AE SDK/Headers/String_Utils.h create mode 100644 External/AE SDK/Headers/SuiteHelper.h create mode 100644 External/AE SDK/Headers/adobesdk/DrawbotSuite.h create mode 100755 External/AE SDK/Headers/adobesdk/config/AdobesdkTypes.h create mode 100755 External/AE SDK/Headers/adobesdk/config/PostConfig.h create mode 100755 External/AE SDK/Headers/adobesdk/config/PreConfig.h create mode 100755 External/AE SDK/Headers/adobesdk/drawbotsuite/DrawbotSuiteTypes.h create mode 100644 External/AE SDK/Headers/entry.h create mode 100644 External/AE SDK/Resources/AE_General.r create mode 100644 External/AE SDK/Resources/Mach-O_prefix.h create mode 100755 External/AE SDK/Resources/PiPLtool.exe create mode 100644 External/AE SDK/Util/AEFX_ArbParseHelper.c create mode 100644 External/AE SDK/Util/AEFX_ArbParseHelper.h create mode 100644 External/AE SDK/Util/AEFX_ChannelDepthTpl.h create mode 100644 External/AE SDK/Util/AEFX_SuiteHelper.c create mode 100644 External/AE SDK/Util/AEFX_SuiteHelper.h create mode 100644 External/AE SDK/Util/AEGP_SuiteHandler.cpp create mode 100644 External/AE SDK/Util/AEGP_SuiteHandler.h create mode 100644 External/AE SDK/Util/AEGP_Utils.cpp create mode 100644 External/AE SDK/Util/AEGP_Utils.h create mode 100644 External/AE SDK/Util/DuckSuite.h create mode 100644 External/AE SDK/Util/MissingSuiteError.cpp create mode 100644 External/AE SDK/Util/Param_Utils.h create mode 100644 External/AE SDK/Util/Smart_Utils.cpp create mode 100644 External/AE SDK/Util/Smart_Utils.h create mode 100644 External/AE SDK/Util/String_Utils.h create mode 100644 External/AE SDK/Util/entry.h create mode 100644 External/popcornfx.qt/Qt5Core.dll create mode 100644 External/popcornfx.qt/Qt5Gui.dll create mode 100644 External/popcornfx.qt/Qt5Widgets.dll create mode 100644 External/popcornfx.qt/popcornfx.qt.manifest create mode 100644 External/popcornfx.qt/qwindows.dll create mode 100644 Native/debugger/PopcornFX.natvis create mode 100644 Native/debugger/qt5.natvis create mode 100644 PopcornFX/CHANGELOG.md create mode 100644 PopcornFX/LICENSE.md create mode 100755 PopcornFX/PK-ShaderTool_r.exe create mode 100644 PopcornFX/PopcornFXInternals/Meshes/default.pkmm create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BlurCubemap.comp.0C443080A9914F8E3821857B39F3B3F6.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BlurCubemap.comp.3C55D2DBBDE67D3B05E91E33AA424D4A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BlurCubemap.comp.3C55D2DBBDE67D3B05E91E33AA424D4A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BrushBackdrop.frag.3777E0C4C3850AF4730B699288C64A32.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BrushBackdrop.frag.3777E0C4C3850AF4730B699288C64A32.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/BrushBackdrop.frag.DBCFC7E098405CD8ABAFBFE666F38717.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.C5813AF3B0DA61049FC61318A52A0039.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.08B780C3B4A4A9B95239BE4725C155E3.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.2BF4FFEBF18FD2317E7196CCB179BBD1.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.FADA9FB998752BB17F58A80A5F9E1569.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.FADA9FB998752BB17F58A80A5F9E1569.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.12DC1B81F40BCA0B86B8977219474DA2.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.3041E5075421B7BEDB64891F34806B09.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.3041E5075421B7BEDB64891F34806B09.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.3F9F670175C1E9A2721D86BF200E8992.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.47AFC4B8F363592BAB2CB2B7450DC6CB.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.68D7368ADF463DA7672D728718850C05.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.68D7368ADF463DA7672D728718850C05.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.ADF077D22B698F0058CD269AB3B307F6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.ADF077D22B698F0058CD269AB3B307F6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.E6559EF41DF4A3259DE7762E070648DE.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.4FB8AAE1AE744B6A08826A79EB921BC5.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.C9C782D1BBE13E453755EC081421DED8.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.369D88A577A88042FF66C8A4DB9A4FFF.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.369D88A577A88042FF66C8A4DB9A4FFF.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.392E08DB2C8E05308B151D1DA50C5FD0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.392E08DB2C8E05308B151D1DA50C5FD0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.5105918DD8BE389C150428D89E1DC2A5.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.51CA73B06455A1B1FE3E7645C1E97A2C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.51CA73B06455A1B1FE3E7645C1E97A2C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.87A39CD991750E4B6AA82597D1D6999F.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.AE073ACCCC101E16160223DC2E63E101.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.C8248FD11EC1733B4966D0AD2A176353.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.C8248FD11EC1733B4966D0AD2A176353.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.DF3F5EC676EAEE69B51393B80926E694.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.2616FB8E13640920939266A5AB69B20D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.1176896EBBA00E7091A5D3AB0E2EBB79.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.22E56629C521714CE47CDCC8E03CCD62.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.22E56629C521714CE47CDCC8E03CCD62.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.3048D89D90DE3FE53B72E0B170415B00.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.3048D89D90DE3FE53B72E0B170415B00.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.52AF64226113D111C7C55923680D03E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.6D4F2B8F547360DC2A71F660E3706939.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.82765548E48F470AE2C324FD1DD1DF19.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.82765548E48F470AE2C324FD1DD1DF19.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.EEC67DE904429E8E712062FB728CA7E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.002AC7D0B7F236B81143408D73D581F8.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.002AC7D0B7F236B81143408D73D581F8.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.008D18448C772DC164148A23DB8594EA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.008D18448C772DC164148A23DB8594EA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.0AD45649F32641AAA69A3A9C079BDDBC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.3AEC42EAC916E5302A5879B5E0480E46.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.42142CB169269EB33A0A31A418C939A6.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.570374695D2EDE03975F3ACEEF142B8A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.5BCF450E7AAEB04EFE81950BC64E3F24.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.6B6958101DFBCC2D44E480C8108B4531.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.724B5E7F9D5F2C642BBADBF98BCE6122.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.8EB0F8ED9C71D976C3914CE541D3AFC7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.9868960EE5BAA4542CE68A32E3F82EAB.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.BD068B89B4F2CBB0E292F53BC3714F9D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.F0E2F0F689387705D12CB9970013F51D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Copy.frag.F0E2F0F689387705D12CB9970013F51D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.140F4C3CE57F202DE2DE8B945704F1F0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.140F4C3CE57F202DE2DE8B945704F1F0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.2FF984AB185BE7E8637187AC34C0981A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.3348F0F53DE2A58A3FAD84C6699E871C.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.58AAEEAE9F43BBE34D312BD53914D01A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.58AAEEAE9F43BBE34D312BD53914D01A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.5AE82EFD5FB29F367E0D45BA786D928A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.7DDABF541F1046F394F9BD2476CB5992.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.E77F6D2C2CCEA5FD8F910DA990E10013.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.5DF351B082B2DAEB6EA8D2B69FF8CE75.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.7CF9397E238069F29B5AD306936DC2E1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.7CF9397E238069F29B5AD306936DC2E1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.7F37BB3F141BE207B89B42BD7E923FBA.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.9E055DD95BFFEC03321947DE0EB82637.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.DAB1785A8432D17D3A9633C69AC4C0BF.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.EF723B81A7A0BF6787FDDD555588FDAA.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.frag.7CF9397E238069F29B5AD306936DC2E1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.frag.7CF9397E238069F29B5AD306936DC2E1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.frag.EF723B81A7A0BF6787FDDD555588FDAA.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.5AE82EFD5FB29F367E0D45BA786D928A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.8DBEE0AA3D769A49703B7DD05C82CFA3.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.29EB9B0EAE29F9736E833F3E1F035C27.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.03430199D846164B6B0612A9B2AB28EA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.03430199D846164B6B0612A9B2AB28EA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.40C070F9811750AE211F3378926ED3B0.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.9D7F4A290A88D708B9D8641A2177BBE3.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.AA13DF163AA5F83DF77B65270B739A08.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.AA13DF163AA5F83DF77B65270B739A08.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.ABB1D1D062F10893CD085B71E73BA1FB.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB070F836ADD72A3E65E350E4F68AAFE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB070F836ADD72A3E65E350E4F68AAFE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB420670B55EEABBBB80947E171765E6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB420670B55EEABBBB80947E171765E6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.C0FACB4FBDE6B9C944D0F6B61E5515FE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.C0FACB4FBDE6B9C944D0F6B61E5515FE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.F6238D8991D40344B66C2ABAF21B2B5A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.FE53A6036CA4635A540C1FEA2D189F45.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.05E05A32B897F2006A110EB2D80A4548.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.05E05A32B897F2006A110EB2D80A4548.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.266E4511F0C4068B851B075051BA543B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.266E4511F0C4068B851B075051BA543B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.2FF984AB185BE7E8637187AC34C0981A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.35C1E2A66FBFA2887558AC3636CCA6EB.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.3DC0E88754F11D4478F7B7D881ADF28E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.473011F7B55118D4409E7A91C4CA0C06.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.53C5FFB4F1F65014E9D8CE139E165C06.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5A4DDE443DFF866A0B6F7E709735D7AB.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5A4DDE443DFF866A0B6F7E709735D7AB.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5AE82EFD5FB29F367E0D45BA786D928A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5C6447565A432691A52405F2D1A50012.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5C6447565A432691A52405F2D1A50012.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.620373BC462CC9D98E9DAE33EC0EF03D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.65E266EB404652FA1212BBD1F985A6AC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.65E266EB404652FA1212BBD1F985A6AC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.66F6E1229EB0784EFA3F715B73E43D2B.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.6CE9330E31EBBC32AE8E316A8C0EE277.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.8BD5661BC011A36608F82548C23FB052.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.8BD5661BC011A36608F82548C23FB052.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.8D18B0A6A0838F6914203A391288C860.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.A7855B18F4958E7E1B7D9B72701C3720.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.ADDF91CE486A3BFBC7564616DE170ABA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.ADDF91CE486A3BFBC7564616DE170ABA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.B745EB05721137F2AE8C910D1BE17F25.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.C7EED909597A865FF430CA2885C69439.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.C7EED909597A865FF430CA2885C69439.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.FDDCD4D907DA9A03ACCD42C140A776A4.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.11A3F59B29869268E24243BE4EABD116.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.11A3F59B29869268E24243BE4EABD116.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.125C4FCD6DC29A9F6B47ACC988C0162F.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.125C4FCD6DC29A9F6B47ACC988C0162F.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1873B621D321CE82AA536C28DCE3C58D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1873B621D321CE82AA536C28DCE3C58D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2ACA21574A23B0D0074098285F176749.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2ACA21574A23B0D0074098285F176749.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2C8009173B59A839A8E4FF2BC5B85094.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2C8009173B59A839A8E4FF2BC5B85094.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.377370747DA9B2908354049AAC2D30FA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.377370747DA9B2908354049AAC2D30FA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.38E2D27FF7046D8A00290708435B3AC5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.38E2D27FF7046D8A00290708435B3AC5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.40452A858BDF0DD351CAAC7CAD4D75AC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.40452A858BDF0DD351CAAC7CAD4D75AC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.455299EAF18CA9285CFB885E58CDC6D0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.455299EAF18CA9285CFB885E58CDC6D0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.494F248863E815B635F86B4C4A2B9878.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.494F248863E815B635F86B4C4A2B9878.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.4A6E9FDAA1CE421286BA2A3A30A6658A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.4A6E9FDAA1CE421286BA2A3A30A6658A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.566A5829015B608CF29A39550DEF77DC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.566A5829015B608CF29A39550DEF77DC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.5E305102DF74F937A763A780239EC2AB.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.5E305102DF74F937A763A780239EC2AB.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.5F5DF159396A6B8FE4C4A0F97D78924B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.5F5DF159396A6B8FE4C4A0F97D78924B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.DBAB50AF656C0B77BE3EACFA872A4107.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.DBAB50AF656C0B77BE3EACFA872A4107.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.E46C7BF11C16009DAD26F2E52BCA71ED.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.E46C7BF11C16009DAD26F2E52BCA71ED.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.EDC05431FEB536B2137D9C70A18E0E85.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.EDC05431FEB536B2137D9C70A18E0E85.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.FD048825BBE1F9EEFF9AF105929E49F9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.FD048825BBE1F9EEFF9AF105929E49F9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.0491B9E5DB4146F6039DB5A1028E068F.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.0491B9E5DB4146F6039DB5A1028E068F.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.089C1A93F75623C5625465ADC48162D9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.089C1A93F75623C5625465ADC48162D9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.38E30D094B028C691653A728362634B2.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.38E30D094B028C691653A728362634B2.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.45152D6B551F36103EA55B435AD0C462.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.45152D6B551F36103EA55B435AD0C462.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.630652A3268DE6E9BDE38BC918841E62.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.630652A3268DE6E9BDE38BC918841E62.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.77B31999700322078CF970FEB7407F9C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.77B31999700322078CF970FEB7407F9C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.ABC8329C82EFC7A175A670CD89AFCF15.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.ABC8329C82EFC7A175A670CD89AFCF15.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AF299C4F5A88FF41BB134DEBBD221243.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AF299C4F5A88FF41BB134DEBBD221243.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.B73B1CA9CB013890A989873EBD811678.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.B73B1CA9CB013890A989873EBD811678.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.BB1894D2E83C03A44A1F4C0ACFAC5941.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.BB1894D2E83C03A44A1F4C0ACFAC5941.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CF3846F9E7636FD9485E620D0B85EA7A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CF3846F9E7636FD9485E620D0B85EA7A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D1027BFD27F09759DCE21D6C3D0007E6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D1027BFD27F09759DCE21D6C3D0007E6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D11F440AEF887A61EE9AF025D5E23AB9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D11F440AEF887A61EE9AF025D5E23AB9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E085F93BEC7DF3EBA14A46B44E57CA65.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E085F93BEC7DF3EBA14A46B44E57CA65.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E439E2679AC92876BE93DB6F63E71BA4.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E439E2679AC92876BE93DB6F63E71BA4.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1B4EF1D1BFD046CEA6303A75D5A090DD.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1B4EF1D1BFD046CEA6303A75D5A090DD.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.215E7FA2E1D915E575BF0D051FF57DAC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.215E7FA2E1D915E575BF0D051FF57DAC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.2CF9EB30E57EC06C260F1C994273BBB9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.2CF9EB30E57EC06C260F1C994273BBB9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3830050E054524D9FB4B97B3C5795D74.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3830050E054524D9FB4B97B3C5795D74.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3FC5681EEA9466868BDE6277412A1602.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3FC5681EEA9466868BDE6277412A1602.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.54CE329F05A57498A425EEE7FFB92A53.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.54CE329F05A57498A425EEE7FFB92A53.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.8041C676881D61780106102C13F8133C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.8041C676881D61780106102C13F8133C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.96BCBFB5543D4357E250741BD758D684.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.96BCBFB5543D4357E250741BD758D684.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B959A091D6A562E3BB2A4A86D8938E3B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B959A091D6A562E3BB2A4A86D8938E3B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C631C6F1C848D8407BB4550427BFAFE5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C631C6F1C848D8407BB4550427BFAFE5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.E757CD08237F5B4A4C260EE943E6A7BC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.E757CD08237F5B4A4C260EE943E6A7BC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F0F89BC5650EEE995AA9D7357378D280.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F0F89BC5650EEE995AA9D7357378D280.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F2AC0D1822C5C821BF888C0AB7491E5E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F2AC0D1822C5C821BF888C0AB7491E5E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FA071B919FA56A0FB70F4ED2F802D474.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FA071B919FA56A0FB70F4ED2F802D474.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.08792B0244607751B94495BF11FEA6C3.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0BD3C6312B7670505B943262A89C9294.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0BD3C6312B7670505B943262A89C9294.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0C752CA2B0AA5C4F58A28B4FB4DBC067.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0D2906E0F0B901297CEC98725443F6B8.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0D2906E0F0B901297CEC98725443F6B8.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0DC89CC6EF2BB651C434A448D67109E9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0DC89CC6EF2BB651C434A448D67109E9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1244F96A9F041AA77E0829FE15A81781.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1244F96A9F041AA77E0829FE15A81781.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.15BA3C3CB8B8717F4D80F5FEC204370F.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.180EA62B9D1202547139A36A2D1C9FCC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A0AF4135571475AB793369A890D45CA.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1E6971511258F0A69158B0C15A49CFC7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.22F4863734AAC59D6C9C66C631B23B6E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.22F4863734AAC59D6C9C66C631B23B6E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2CD2DBBA33D183ACE6CD7F2A42321467.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2F8A55777C2632894CF6DBCA38D259A8.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2F8A55777C2632894CF6DBCA38D259A8.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.31F564DDF64897CE8D0D8575BA11EA13.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3340D8F8BFE958B965936432A77D2811.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3340D8F8BFE958B965936432A77D2811.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.34AC697454E7671946541CA5BDED791A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.34AC697454E7671946541CA5BDED791A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B4B9C3BB8420D61B0C14B7C673D4312.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.40FE6F3B1F908655080943E7970B5923.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.40FE6F3B1F908655080943E7970B5923.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.41CC71331EA3F4DF19C62447C3B4957D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.441699570AB850AD3DB81564F52B0908.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.476DA901FEFBD9A0A3C70B45C3313D67.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.495C0A9F8FB4194D8EF08AE9C350B23E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.50D311BEF26C71B333D271C49B078772.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.5166BF50736369CD4E22FFBFC064DE76.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6421B04960935975A09996C65CF0A478.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6421B04960935975A09996C65CF0A478.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.654D257A8942334F737B4CF3DBED0F48.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.654D257A8942334F737B4CF3DBED0F48.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.67F490450BA69DEBD5593D019A7EC0B6.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6ABEABA3444031DF1A478CE27CADC998.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6ABEABA3444031DF1A478CE27CADC998.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6E949D72552C7F34F1E09D89F1E1C952.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6E949D72552C7F34F1E09D89F1E1C952.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.71D4C26BBE212B4D2A9608C1E34D86E4.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7204742FB331648ED83573329D86D073.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7204742FB331648ED83573329D86D073.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.73CFC84CF655AC999324D43BDB1E4EB6.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.74380FFB48164FF6B35623BE8701B7EB.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.74380FFB48164FF6B35623BE8701B7EB.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7521DA417DCEAD1B47E7D7BE0B95AFE5.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7B8E55E72E6CA6ACF6F1D3A81B3BC9D2.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8206568794DB63EDFB28346F08717693.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.86BBDE2865C753261D68E62FEF5F2901.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.86BBDE2865C753261D68E62FEF5F2901.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8ADA3DCDE80CB10E83BA6B98332AB60B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8ADA3DCDE80CB10E83BA6B98332AB60B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8B6EC10AD63C117AADC967DFF1835F04.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8B6EC10AD63C117AADC967DFF1835F04.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.90E1EDC296925F67098F2D916779539D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.90E1EDC296925F67098F2D916779539D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.91F8A2067B8EA071695FF41B8B76AE97.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.91F8A2067B8EA071695FF41B8B76AE97.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.93D943F5A9C29E618797431F40796C35.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.93D943F5A9C29E618797431F40796C35.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.96DAC364F30C96759E77B529B883C028.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.96DAC364F30C96759E77B529B883C028.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.979416BB843C6F05F3845FFCC3ECD7D6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.979416BB843C6F05F3845FFCC3ECD7D6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.984E39E04658AF07687F9C17D33781DA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.984E39E04658AF07687F9C17D33781DA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9C59ECCAF416177DA2B674CC26C4C7C6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9C59ECCAF416177DA2B674CC26C4C7C6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9C9DC497EE8CB2A3010B8F5BE870A4AD.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A14339AF9BA1D695A2231452C7C125B1.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A416CC957DBBA6BB89F520075E9ED987.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BB64A8E44AB8BAEEC81BE23ACF911CBC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C15B7A17F66E5D27A740A3A3C1979581.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C15B7A17F66E5D27A740A3A3C1979581.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C7B2BB2F20BE157E180C159EFD14D8DE.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CC0D866961E5688D9882D28BF15A2DD1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CC0D866961E5688D9882D28BF15A2DD1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CDA1E3C0E334532F508888E67D4074B0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CDA1E3C0E334532F508888E67D4074B0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D1972016D72D5B585C503DFDD9ABA548.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D1972016D72D5B585C503DFDD9ABA548.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D8BEC1C4205A6483977E29A6E5C0A924.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E21668FA3F80C375943DB33466B664B7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2A6EFBB662583C8B826AB85395FBE8B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2A6EFBB662583C8B826AB85395FBE8B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2B113ED936BDA4068FB8C5E849E995C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2B113ED936BDA4068FB8C5E849E995C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E7704C9D770808997358C137DF29684D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E7F82C90DC6E05851419E96B05BE71AC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.EB837A0928B395784434A7A111B53B5A.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.F57F07EF6B6ED1C1CCD0B43033944746.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.FE9156D85DC490262296F717A3729F04.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.FE9156D85DC490262296F717A3729F04.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.54B0DD8802234A5C2D1599668B7B9206.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E0A95D2F1F3EE6F204B740E133E167F9.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E82AF2A7438928C99FB4380BF1D38EEA.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.F5A70F5EA17C5E1466A4461A319A10E1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.F5A70F5EA17C5E1466A4461A319A10E1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.FC5D8F71F6D3DF19E20E42FF6618F7D3.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredLights.frag.7D4CDE3609CAABADC704CA9E51BB9F61.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredLights.frag.7D4CDE3609CAABADC704CA9E51BB9F61.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredLights.frag.B5C43DC2134A05755ADB00CA12BAF5C9.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredMerging.frag.AA6AB5EFB19FD706650DFAFAA01D7D90.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredMerging.frag.AA6AB5EFB19FD706650DFAFAA01D7D90.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/DeferredMerging.frag.F9A4E1FF18B4D49D16DE912FD8A20B3E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.2BFF67C6D3C7441503662DA3FF5A8E57.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.3A86B375B47444ED50B241CB31E4DE69.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.4E1DEB657074C0BC7622F2752888C406.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.4E1DEB657074C0BC7622F2752888C406.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.6FF25215FE2377D1A9D44CB228A6FDCC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.A565FBDBEDF828A39BE5F7DB10013507.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.A565FBDBEDF828A39BE5F7DB10013507.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FilterCubemap.comp.48F96F1C309D71E7B09A68D687BCAF2B.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FilterCubemap.comp.48F96F1C309D71E7B09A68D687BCAF2B.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FilterCubemap.comp.7D008C2220573C54554F7ECF45C09AE1.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.06F70F70BEE3A7F2C9007828EAC27793.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.23547C37D36CF6F9E3E4E1A5EFFDA5D7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.23547C37D36CF6F9E3E4E1A5EFFDA5D7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.5458F29FA4CB16046183E24079014F66.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.5458F29FA4CB16046183E24079014F66.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.6820B8E6207A3B72C4104BBEBA6362A7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.6820B8E6207A3B72C4104BBEBA6362A7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.84F2CED1305C36A788150F98225EDB8E.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.84F2CED1305C36A788150F98225EDB8E.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.84F2CED1305C36A788150F98225EDB8E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.AB34E7F5715922651FCAC50613AD2C84.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/FullScreenQuad.vert.E9BEA09E84D5D4F71D5B417CB9E33C2B.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.20F6C676AA4429ECE221D06C3579FE6E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.39AB76CAE213E76DBA545C88E8BDE602.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.39AB76CAE213E76DBA545C88E8BDE602.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.504D71546723AF7F0E946069BF0BBDC1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.504D71546723AF7F0E946069BF0BBDC1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.621E6F8AB62D0530723E6071DD1AECAE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.621E6F8AB62D0530723E6071DD1AECAE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.6B3AB535C56AF8AAA886CB915A7DE392.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.6B3AB535C56AF8AAA886CB915A7DE392.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.835D4B0EE4352DFABEFBE67F99F03581.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.835D4B0EE4352DFABEFBE67F99F03581.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.A9E805B45F4C48DB5EC5940F2DBB49EF.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.AD528D11B24C3E9547BBC2755B99AF0D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.AE86D100987DC55AC4CD67341D850BC9.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.BBC3FA3E5A6A9C8BD17B04A4C3C3131F.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.C26A349E4B498C28CA45FDF2B358356D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.C7D82581B244FE8E3E7FAD38CA9B4C30.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.C7D82581B244FE8E3E7FAD38CA9B4C30.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.D12FD3934A8AEA8B731F0FFDEE6E4203.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.F024867C34EF3686655F5D8B96BD85AD.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GBuffer.frag.F024867C34EF3686655F5D8B96BD85AD.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.0A585A8EE1FAF289D0FA00431292E74D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.196033BDAFEE16C2947AC8D3CBD9E464.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.44119E8A23CB98B578519BD7A8DD2D3A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.44119E8A23CB98B578519BD7A8DD2D3A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.4D18DB2E6615B37CE61ADA69E7CF80B7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.4D18DB2E6615B37CE61ADA69E7CF80B7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.6B1E1A9B04F783E5EF5AF1FA2DD7A8F0.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.6B1E1A9B04F783E5EF5AF1FA2DD7A8F0.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.776C8F8C4765207534C2B33EE67BA844.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.A85F6F848367C44C2139ED7946A2DD41.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.A85F6F848367C44C2139ED7946A2DD41.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.C7B3E6FB6A02D2891A0BFE850ABA2E05.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.C7B3E6FB6A02D2891A0BFE850ABA2E05.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.D4B8B59DC084AF08261271DE31BD80FB.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.D6F2FD832CE84459152427CA78D65D28.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.E0C7B3E835DB79196070A24486ABF763.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.E0C7B3E835DB79196070A24486ABF763.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/GaussianBlur.frag.E8745B044C2DFE8709E100D425FD7E22.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.frag.4DD1C89DF8002B409E089089CE8F24E7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.vert.C992EAD4108528439F5ACC0580D33319.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.vert.C992EAD4108528439F5ACC0580D33319.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Gizmo.vert.EEDB02B1278B2566C0A24981ED8E295B.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Heatmap.frag.9005CED6A719F4C5A6266F97BBFB476E.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Heatmap.frag.F811CE9BD360967E23FA73EFC790BF73.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Heatmap.frag.F811CE9BD360967E23FA73EFC790BF73.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.frag.87409A88665BA0A46F3F776DF2CA1206.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.frag.F0E2F0F689387705D12CB9970013F51D.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.frag.F0E2F0F689387705D12CB9970013F51D.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.vert.13B53A2583576C2B028749CFE7A75DBA.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.vert.13B53A2583576C2B028749CFE7A75DBA.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ImGui.vert.613A033E7F8C94916EEEB5D560FE454B.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.03B060E36BAC8979EBFFCD327F74AAF9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.03B060E36BAC8979EBFFCD327F74AAF9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.0AE6A05A739437D201C8C1B2F93B8544.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.3C1C64A82544849508C4F7B5018CED35.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.3C1C64A82544849508C4F7B5018CED35.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/InitIndirectionOffsetsBuffer.comp.712FE560E255C4424D1793FEF1498944.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/LightInstanced.vert.95BBBD48996763573C91C6D61130ADC6.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/LightInstanced.vert.C69D1C8B63FD48E0C28A855BE4BC8C72.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/LightInstanced.vert.C69D1C8B63FD48E0C28A855BE4BC8C72.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelector.comp.01A367EBF8EF61BEB5BBD977C507AD5D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelector.comp.46FFC0AC778725D76C1B4B50B25D2820.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelector.comp.46FFC0AC778725D76C1B4B50B25D2820.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelectorCycle.comp.01A367EBF8EF61BEB5BBD977C507AD5D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelectorCycle.comp.46FFC0AC778725D76C1B4B50B25D2820.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ParticleSelectorCycle.comp.46FFC0AC778725D76C1B4B50B25D2820.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/PointLightInstanced.frag.40666DC8ABC0281162338BC37344400B.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/PointLightInstanced.frag.4AB7012A334144666A00F99BE4F8ABF5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/PointLightInstanced.frag.4AB7012A334144666A00F99BE4F8ABF5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.frag.4DD1C89DF8002B409E089089CE8F24E7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.vert.607F7C9197328C04A914D3DB28E91B70.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.vert.7421279F2283857C300D16BA4AC862F9.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/Profiler.vert.7421279F2283857C300D16BA4AC862F9.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.3F8899175EDEBECFC90A9FCF4189D177.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.3F8899175EDEBECFC90A9FCF4189D177.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.3F8899175EDEBECFC90A9FCF4189D177.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.4DD1C89DF8002B409E089089CE8F24E7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.A0CB1C647BF9FDC5B765A1CD78BEA0C6.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.A0CB1C647BF9FDC5B765A1CD78BEA0C6.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.B1F47489E9CAD9F30B6E29EECDC49DC7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.B1F47489E9CAD9F30B6E29EECDC49DC7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.C6E60C6043020672ADB3C28FE4231386.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/ProfilerDrawNode.vert.E306BFB69B25E84A37254307D2194DE4.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/RenderCubemapFace.comp.000E9EBE432F6B318E8869722FA96736.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/RenderCubemapFace.comp.000E9EBE432F6B318E8869722FA96736.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/RenderCubemapFace.comp.6B0FF562C6B4E087E89ECFB854F4DF16.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.00EEAD7565201E1D171906979186BFF4.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.194FBD4081C25D96A0D72764B5D2868C.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.194FBD4081C25D96A0D72764B5D2868C.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.5914DC24CB72BBC25D999BA4C1DB9B5A.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.5914DC24CB72BBC25D999BA4C1DB9B5A.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.A50757CC2A13C001045CDD9A011A0E78.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.A50757CC2A13C001045CDD9A011A0E78.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.C771D47D0FD2493829F05C25BF23328F.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.C91A588C69123D5B74210A1169C0B7CB.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.C91A588C69123D5B74210A1169C0B7CB.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.D2590CD60D4E66225883164A95636A82.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMesh.vert.F1C2D218A3AFC30EF7F2C8297F4B8646.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.frag.7CF9397E238069F29B5AD306936DC2E1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.frag.7CF9397E238069F29B5AD306936DC2E1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.frag.9E055DD95BFFEC03321947DE0EB82637.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.vert.18162C7773971E53C43D7A0F15D8ECE4.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.vert.6D34106F328960A07AB5DB0CBEBE05E5.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SolidMeshShadow.vert.6D34106F328960A07AB5DB0CBEBE05E5.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.36030C466ADE37AEB6B32358DC8DBAC7.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.36030C466ADE37AEB6B32358DC8DBAC7.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.5CFD62E25CEECDE84ED94155C845E9B2.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.5CFD62E25CEECDE84ED94155C845E9B2.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.D224AE024F31A732967118BC1834D51D.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortDownSweep.comp.D53181CD829C7C2CC9A7D66D28AA2D06.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortPrefixSum.comp.001CEFA3E15B4064857DF52248F766BE.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortPrefixSum.comp.001CEFA3E15B4064857DF52248F766BE.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortPrefixSum.comp.4C1B3D9DE2E2589090B928914DBDCA22.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.BC3EED1104C7A5A05486050D5E27A5CC.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.BC3EED1104C7A5A05486050D5E27A5CC.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.E926B5F5F536A436919B0059B2A29EFC.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.EDD9731E86E29E66F0807C2362C8B640.metallib create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.F3A85FB3B74B54E33EEF438D2BBA34A1.cso create mode 100644 PopcornFX/PopcornFXInternals/Shaders/SortUpSweep.comp.F3A85FB3B74B54E33EEF438D2BBA34A1.cso.pdb create mode 100644 PopcornFX/PopcornFXInternals/Textures/DitheringPatterns.png create mode 100644 PopcornFX/PopcornFXInternals/Textures/Overdraw.dds create mode 100644 PopcornFX/PopcornFXInternals/Textures/TextAtlas.dds create mode 100644 PopcornFX/PopcornFXInternals/Textures/TextAtlas.pkat create mode 100644 PopcornFX/PopcornFXInternals/Textures/default.dds create mode 100644 PopcornFX/README.md create mode 100644 PopcornFX/Resources.rcc create mode 100644 PopcornFX/Resources/Fonts/Consolas.ttf create mode 100644 PopcornFX/Resources/Fonts/Roboto-Bold.ttf create mode 100644 PopcornFX/Resources/Fonts/Roboto-Light.ttf create mode 100644 PopcornFX/Resources/Fonts/Roboto-Regular.ttf create mode 100644 PopcornFX/Resources/Fonts/RobotoMono-Regular.ttf create mode 100644 PopcornFX/Resources/Icons/Reset.png create mode 100644 PopcornFX/Resources/Icons/branch-closed.png create mode 100644 PopcornFX/Resources/Icons/branch-open.png create mode 100644 PopcornFX/Stylesheet.qss create mode 100644 PopcornFX/WinPixEventRuntime.dll create mode 100644 PopcornFX/documentation/debugger/PopcornFX.natvis create mode 100644 PopcornFX/fxc.exe create mode 100644 PopcornFX/popcornfx.qt/Qt5Core.dll create mode 100644 PopcornFX/popcornfx.qt/Qt5Gui.dll create mode 100644 PopcornFX/popcornfx.qt/Qt5Widgets.dll create mode 100644 PopcornFX/popcornfx.qt/popcornfx.qt.manifest create mode 100644 PopcornFX/popcornfx.qt/qwindows.dll create mode 100644 Samples/PK-MCPP/directive.cpp create mode 100644 Samples/PK-MCPP/eval.cpp create mode 100644 Samples/PK-MCPP/expand.cpp create mode 100644 Samples/PK-MCPP/internal.h create mode 100644 Samples/PK-MCPP/main.cpp create mode 100644 Samples/PK-MCPP/mbchar.cpp create mode 100644 Samples/PK-MCPP/mcpp_lib.h create mode 100644 Samples/PK-MCPP/mcpp_out.h create mode 100644 Samples/PK-MCPP/noconfig.h create mode 100644 Samples/PK-MCPP/pk_mcpp_bridge.cpp create mode 100644 Samples/PK-MCPP/pk_mcpp_bridge.h create mode 100644 Samples/PK-MCPP/pk_preprocessor.cpp create mode 100644 Samples/PK-MCPP/pk_preprocessor.h create mode 100644 Samples/PK-MCPP/precompiled.cpp create mode 100644 Samples/PK-MCPP/precompiled.h create mode 100644 Samples/PK-MCPP/support.cpp create mode 100644 Samples/PK-MCPP/system.cpp create mode 100644 Samples/PK-MCPP/system.h create mode 100644 Samples/PK-SampleLib/ApiContext/D3D/D3D11Context.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/D3D/D3D11Context.h create mode 100644 Samples/PK-SampleLib/ApiContext/D3D/D3D12Context.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/D3D/D3D12Context.h create mode 100644 Samples/PK-SampleLib/ApiContext/IApiContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalContext.mm create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalContextFactory.h create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalContextFactory.mm create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalFinalBlitShader.h create mode 100644 Samples/PK-SampleLib/ApiContext/Metal/MetalFinalBlitShader.metal create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/EGLContext.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/EGLContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/GLContext.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/GLContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/GLXContext.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/GLXContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/NSGLContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/NSGLContext.mm create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/WGLContext.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/OpenGL/WGLContext.h create mode 100644 Samples/PK-SampleLib/ApiContext/Vulkan/VulkanContext.cpp create mode 100644 Samples/PK-SampleLib/ApiContext/Vulkan/VulkanContext.h create mode 100644 Samples/PK-SampleLib/ApiContextConfig.h create mode 100644 Samples/PK-SampleLib/Assets/Meshes/default.fbx create mode 100755 Samples/PK-SampleLib/Assets/ShaderIncludes/gen_shaders_header create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/gen_shaders_header.cmd create mode 100755 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/Billboard.geom.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/Billboard.vert.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/GPUSimInterface_GBuffer_ProjectToNormal.d3d.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/GPUSimInterface_GBuffer_ProjectToPosition.d3d.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/Ribbon.vert.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/generated/Triangle.vert.h create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/Billboard.geom create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/Billboard.vert create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/GPUSimInterfaces/GPUSimInterface_GBuffer_ProjectToNormal.d3d create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/GPUSimInterfaces/GPUSimInterface_GBuffer_ProjectToPosition.d3d create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/Ribbon.vert create mode 100644 Samples/PK-SampleLib/Assets/ShaderIncludes/sources/Triangle.vert create mode 100644 Samples/PK-SampleLib/Assets/Shaders/Gizmo.frag create mode 100644 Samples/PK-SampleLib/Assets/Shaders/Gizmo.vert create mode 100644 Samples/PK-SampleLib/Assets/Shaders/ImGui.frag create mode 100644 Samples/PK-SampleLib/Assets/Shaders/ImGui.vert create mode 100644 Samples/PK-SampleLib/Assets/Shaders/Profiler.frag create mode 100644 Samples/PK-SampleLib/Assets/Shaders/Profiler.vert create mode 100644 Samples/PK-SampleLib/Assets/Shaders/ProfilerDrawNode.frag create mode 100644 Samples/PK-SampleLib/Assets/Shaders/ProfilerDrawNode.vert create mode 100644 Samples/PK-SampleLib/Assets/Textures/DitheringPatterns.png create mode 100644 Samples/PK-SampleLib/Assets/Textures/default.dds create mode 100644 Samples/PK-SampleLib/BRDFLUT.cpp create mode 100644 Samples/PK-SampleLib/BRDFLUT.h create mode 100644 Samples/PK-SampleLib/BlueNoise.cpp create mode 100644 Samples/PK-SampleLib/BlueNoise.h create mode 100644 Samples/PK-SampleLib/Camera.cpp create mode 100644 Samples/PK-SampleLib/Camera.h create mode 100644 Samples/PK-SampleLib/DebugHelper.cpp create mode 100644 Samples/PK-SampleLib/DebugHelper.h create mode 100644 Samples/PK-SampleLib/Gizmo.cpp create mode 100644 Samples/PK-SampleLib/Gizmo.h create mode 100644 Samples/PK-SampleLib/ImguiRhiImplem.cpp create mode 100644 Samples/PK-SampleLib/ImguiRhiImplem.h create mode 100644 Samples/PK-SampleLib/PKPix.cpp create mode 100644 Samples/PK-SampleLib/PKPix.h create mode 100644 Samples/PK-SampleLib/PKSample.h create mode 100644 Samples/PK-SampleLib/PKSampleInit.cpp create mode 100644 Samples/PK-SampleLib/PKSampleInit.h create mode 100644 Samples/PK-SampleLib/PipelineCacheHelper.cpp create mode 100644 Samples/PK-SampleLib/PipelineCacheHelper.h create mode 100644 Samples/PK-SampleLib/PopcornStartup/PopcornStartup.cpp create mode 100644 Samples/PK-SampleLib/PopcornStartup/PopcornStartup.h create mode 100644 Samples/PK-SampleLib/ProfilerRenderer.cpp create mode 100644 Samples/PK-SampleLib/ProfilerRenderer.h create mode 100644 Samples/PK-SampleLib/RHIRenderParticleSceneHelpers.cpp create mode 100644 Samples/PK-SampleLib/RHIRenderParticleSceneHelpers.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/FeatureRenderingSettings.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/FeatureRenderingSettings.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/FrameCollector.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/FrameCollector.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/MaterialToRHI.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/MaterialToRHI.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIBillboardingBatchPolicy.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIBillboardingBatchPolicy.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIBillboardingBatchPolicy_Vertex.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIBillboardingBatchPolicy_Vertex.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHICustomTasks.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHICustomTasks.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIGPUSorter.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIGPUSorter.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIGraphicResources.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIGraphicResources.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIParticleRenderDataFactory.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIParticleRenderDataFactory.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHIRenderIntegrationConfig.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RHITypePolicy.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RendererCache.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/RendererCache.h create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/SoundPoolCache.cpp create mode 100644 Samples/PK-SampleLib/RenderIntegrationRHI/SoundPoolCache.h create mode 100644 Samples/PK-SampleLib/RenderPasses/DirectionalShadows.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/DirectionalShadows.h create mode 100644 Samples/PK-SampleLib/RenderPasses/DownSampleTexture.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/DownSampleTexture.h create mode 100644 Samples/PK-SampleLib/RenderPasses/GBuffer.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/GBuffer.h create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxBloom.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxBloom.h create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxColorRemap.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxColorRemap.h create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxDistortion.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxDistortion.h create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxFXAA.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxFXAA.h create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxToneMapping.cpp create mode 100644 Samples/PK-SampleLib/RenderPasses/PostFxToneMapping.h create mode 100644 Samples/PK-SampleLib/SampleScene/AbstractGraphicScene.cpp create mode 100644 Samples/PK-SampleLib/SampleScene/AbstractGraphicScene.h create mode 100644 Samples/PK-SampleLib/SampleScene/DeferredScene.cpp create mode 100644 Samples/PK-SampleLib/SampleScene/DeferredScene.h create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/EnvironmentMapEntity.cpp create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/EnvironmentMapEntity.h create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/LightEntity.cpp create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/LightEntity.h create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/MeshEntity.cpp create mode 100644 Samples/PK-SampleLib/SampleScene/Entities/MeshEntity.h create mode 100644 Samples/PK-SampleLib/SampleUtils.cpp create mode 100644 Samples/PK-SampleLib/SampleUtils.h create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/BasicSceneShaderDefinitions.cpp create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/BasicSceneShaderDefinitions.h create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/EditorShaderDefinitions.cpp create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/EditorShaderDefinitions.h create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/SampleLibShaderDefinitions.cpp create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/SampleLibShaderDefinitions.h create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/ShaderDefinitions.cpp create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/ShaderDefinitions.h create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/UnitTestsShaderDefinitions.cpp create mode 100644 Samples/PK-SampleLib/ShaderDefinitions/UnitTestsShaderDefinitions.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/GLSLShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/GLSLShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/HLSLShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/HLSLShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/MetalShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/MetalShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/ParticleShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/ParticleShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/ShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/ShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderGenerator/VulkanShaderGenerator.cpp create mode 100644 Samples/PK-SampleLib/ShaderGenerator/VulkanShaderGenerator.h create mode 100644 Samples/PK-SampleLib/ShaderLoader.cpp create mode 100644 Samples/PK-SampleLib/ShaderLoader.h create mode 100644 Samples/PK-SampleLib/SimInterfaces/SimInterface_GBufferSampling.cpp create mode 100644 Samples/PK-SampleLib/SimInterfaces/SimInterfaces.h create mode 100644 Samples/PK-SampleLib/WindowContext/AWindowContext.cpp create mode 100644 Samples/PK-SampleLib/WindowContext/AWindowContext.h create mode 100644 Samples/PK-SampleLib/WindowContext/OffscreenContext/OffscreenContext.cpp create mode 100644 Samples/PK-SampleLib/WindowContext/OffscreenContext/OffscreenContext.h create mode 100644 Samples/PK-SampleLib/WindowContext/SdlContext/SdlContext.cpp create mode 100644 Samples/PK-SampleLib/WindowContext/SdlContext/SdlContext.h create mode 100644 Samples/PK-SampleLib/bin/mcpp.exe create mode 100644 Samples/precompiled/precompiled.cpp create mode 100644 Samples/precompiled/precompiled.h create mode 100644 download_3rd_party.bat create mode 100644 download_3rd_party.sh create mode 100644 projects/AfterEffects_macosx/AE_Effect_Attribute.make create mode 100644 projects/AfterEffects_macosx/AE_Effect_AttributeSampler.make create mode 100644 projects/AfterEffects_macosx/AE_Effect_Emitter.make create mode 100644 projects/AfterEffects_macosx/AE_GeneralPlugin.make create mode 100644 projects/AfterEffects_macosx/PK-AssetBaker.make create mode 100644 projects/AfterEffects_macosx/PK-AssetBakerLib.make create mode 100644 projects/AfterEffects_macosx/PK-Discretizers_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-MCPP.make create mode 100644 projects/AfterEffects_macosx/PK-MCPP_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-ParticlesToolbox_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-RHI.make create mode 100644 projects/AfterEffects_macosx/PK-RHI_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-RenderHelpers.make create mode 100644 projects/AfterEffects_macosx/PK-RenderHelpers_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-Runtime_SDK1.make create mode 100644 projects/AfterEffects_macosx/PK-SampleLib.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_01_BasicRendering.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_01_BasicStartup.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_02_BasicEvolve.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_02_FullIntegration.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_03_EngineHooks.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_04_Baking.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_04_EffectInterface.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_05_Stats.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_05_Upgrader.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_06_SimInterface.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_06_SimInterfaceGPU.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_07_LOD.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_08_CustomCollision.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_09_AsyncLoading.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_10_AsyncRendering.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_11_ThreadPool.make create mode 100644 projects/AfterEffects_macosx/PK-Sample_12_GBufferSampling.make create mode 100644 projects/AfterEffects_macosx/PK-ShaderTool.make create mode 100644 projects/AfterEffects_macosx/PK-Upgrader.make create mode 100644 projects/AfterEffects_macosx/PK-UpgraderLib.make create mode 100644 projects/AfterEffects_macosx/PopcornFX_AfterEffectsPlugin.make create mode 100644 projects/AfterEffects_macosx/PopcornFX_SDK1.make create mode 100644 projects/AfterEffects_macosx/Qt/x64/Debug/moc_AEGP_GraphicalResourcesTreeModel.args create mode 100644 projects/AfterEffects_macosx/Qt/x64/Debug/moc_AEGP_PanelQT.args create mode 100644 projects/AfterEffects_macosx/Qt/x64/Release/moc_AEGP_GraphicalResourcesTreeModel.args create mode 100644 projects/AfterEffects_macosx/Qt/x64/Release/moc_AEGP_PanelQT.args create mode 100644 projects/AfterEffects_vs2019/AE_Effect_Attribute.vcxproj create mode 100644 projects/AfterEffects_vs2019/AE_Effect_Attribute.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/AE_Effect_AttributeSampler.vcxproj create mode 100644 projects/AfterEffects_vs2019/AE_Effect_AttributeSampler.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/AE_Effect_Emitter.vcxproj create mode 100644 projects/AfterEffects_vs2019/AE_Effect_Emitter.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/AE_GeneralPlugin.vcxproj create mode 100644 projects/AfterEffects_vs2019/AE_GeneralPlugin.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/AE_GeneralPlugin.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-AssetBaker.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-AssetBaker.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-AssetBaker.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-AssetBakerLib.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-AssetBakerLib.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Discretizers_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Discretizers_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-MCPP.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-MCPP.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-MCPP_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-MCPP_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-ParticlesToolbox_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-ParticlesToolbox_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-RHI.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-RHI.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-RHI_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-RHI_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-RenderHelpers.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-RenderHelpers.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-RenderHelpers_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-RenderHelpers_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Runtime_SDK1.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Runtime_SDK1.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-SampleLib.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-SampleLib.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicRendering.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicRendering.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicRendering.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicStartup.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicStartup.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_01_BasicStartup.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_BasicEvolve.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_BasicEvolve.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_BasicEvolve.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_FullIntegration.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_FullIntegration.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_02_FullIntegration.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_03_EngineHooks.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_03_EngineHooks.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_03_EngineHooks.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_Baking.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_Baking.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_Baking.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_EffectInterface.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_EffectInterface.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_04_EffectInterface.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Stats.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Stats.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Stats.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Upgrader.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Upgrader.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_05_Upgrader.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterface.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterface.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterface.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterfaceGPU.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterfaceGPU.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_06_SimInterfaceGPU.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_07_LOD.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_07_LOD.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_07_LOD.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_08_CustomCollision.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_08_CustomCollision.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_08_CustomCollision.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_09_AsyncLoading.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_09_AsyncLoading.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_09_AsyncLoading.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_10_AsyncRendering.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_10_AsyncRendering.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_10_AsyncRendering.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_11_ThreadPool.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_11_ThreadPool.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_11_ThreadPool.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Sample_12_GBufferSampling.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Sample_12_GBufferSampling.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Sample_12_GBufferSampling.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-ShaderTool.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-ShaderTool.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-ShaderTool.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-Upgrader.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-Upgrader.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PK-Upgrader.vcxproj.user create mode 100644 projects/AfterEffects_vs2019/PK-UpgraderLib.vcxproj create mode 100644 projects/AfterEffects_vs2019/PK-UpgraderLib.vcxproj.filters create mode 100644 projects/AfterEffects_vs2019/PopcornFX_AfterEffectsPlugin.sln create mode 100644 projects/AfterEffects_vs2019/PopcornFX_SDK1.sln create mode 100644 projects/AfterEffects_vs2019/Qt/x64/Debug/moc_AEGP_GraphicalResourcesTreeModel.args create mode 100644 projects/AfterEffects_vs2019/Qt/x64/Debug/moc_AEGP_PanelQT.args create mode 100644 projects/AfterEffects_vs2019/Qt/x64/Release/moc_AEGP_GraphicalResourcesTreeModel.args create mode 100644 projects/AfterEffects_vs2019/Qt/x64/Release/moc_AEGP_PanelQT.args create mode 100644 qtoverride.dll.manifest diff --git a/.github/workflows/draft-release.yml b/.github/workflows/draft-release.yml new file mode 100644 index 00000000..2afd7e80 --- /dev/null +++ b/.github/workflows/draft-release.yml @@ -0,0 +1,30 @@ +on: + push: + tags: + - v*.*.* + +jobs: + release-on-tag: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v3 + + - uses: jungwinter/split@master + id: split + with: + msg: ${{ github.ref_name }} + separator: "." + + - name: Set environment + run: echo "VERSION=$(echo "${GITHUB_REF_NAME#v}" | sed 's/-LTS//g')" >> $GITHUB_ENV && echo "MINOR_VERSION=${{ steps.split.outputs._0 }}.${{ steps.split.outputs._1 }}" >> $GITHUB_ENV + + - uses: ncipollo/release-action@v1 + with: + draft: true + name: "After Effects Plugin: ${{ github.ref_name }}" + body: "PopcornFX Plugin ${{ github.ref_name }} for After Effects\n\n + You can download the PopcornFX Editor and find the full changelog here:\n + https://wiki.popcornfx.com/index.php?title=PK-Editor_${{ env.MINOR_VERSION }}#Changelog_${{ env.VERSION }}" \ No newline at end of file diff --git a/AE.code-workspace b/AE.code-workspace new file mode 100644 index 00000000..f439dfde --- /dev/null +++ b/AE.code-workspace @@ -0,0 +1,65 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "C_Cpp.default.defines": [ "PK_BUILD_WITH_METAL_SUPPORT=1" ], + "C_Cpp.default.includePath": [ + "../../Runtime", + "../../Runtime/include", + "../../Runtime/include/license/AfterEffects", + "../../Integrations/AfterEffects/PK-AfterEffects__Main/Sources", + "../../Integrations/AfterEffects/PK-AfterEffects__Main/Include", + "../../Integrations/AfterEffects/PK-AfterEffects__Main/Precompiled", + "../../Integrations/AfterEffects/AE_Suites", + "../../Integrations/AfterEffects/External/AE SDK/Util", + "../../Integrations/AfterEffects/External/AE SDK/Resources", + "../../Integrations/AfterEffects/External/AE SDK/Headers", + "../../Integrations/AfterEffects/External/AE SDK/Headers/SP", + "../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk", + "../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk/config", + "../../Integrations/AfterEffects/External/AE SDK/Headers/adobesdk/drawbotsuite", + "../../SDK/Samples/PK-Samples", + "../../SDK/Samples/External/imgui", + "../../SDK/Samples/External/GL/include", + "/usr/local/include/SDL2", + ], + "lldb.launch.env": { + "AEBin": "\"/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects\"" + }, + "terminal.integrated.env.osx": { + "AEBin": "\"/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects\"" + }, + "files.associations": { + "array": "cpp", + "iterator": "cpp", + "string": "cpp", + "string_view": "cpp", + "vector": "cpp", + "__locale": "cpp" + }, + }, + "launch": { + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "(lldb) Launch", + "type": "cppdbg", + "request": "launch", + "program": "/Applications/Adobe After Effects 2022/Adobe After Effects 2022.app/Contents/MacOS/After Effects", + "args": ["--debug"], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "lldb", + "visualizerFile": "${workspaceRoot}/../../../configurations/visual studio/debugger/PopcornFX.natvis", + } + ] + } +} diff --git a/AE_Effect_Attribute/Include/AEAttribute_Main.h b/AE_Effect_Attribute/Include/AEAttribute_Main.h new file mode 100644 index 00000000..e44dc60c --- /dev/null +++ b/AE_Effect_Attribute/Include/AEAttribute_Main.h @@ -0,0 +1,39 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEATTRIBUTE_MAIN_H__ +#define __FX_AEATTRIBUTE_MAIN_H__ + +#include + +#ifdef AE_OS_WIN + typedef unsigned short PixelType; + #include +#endif + +#include +#include + +#include "PopcornFX_Define.h" + +//---------------------------------------------------------------------------- + +extern "C" { + DllExport + PF_Err + EffectMain( + PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra); + +} + +//---------------------------------------------------------------------------- + +#endif + diff --git a/AE_Effect_Attribute/Include/AEAttribute_ParamDefine.h b/AE_Effect_Attribute/Include/AEAttribute_ParamDefine.h new file mode 100644 index 00000000..780622ba --- /dev/null +++ b/AE_Effect_Attribute/Include/AEAttribute_ParamDefine.h @@ -0,0 +1,58 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#include +#include + +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +enum EPKParams +{ + ATTRIBUTE_INPUT = 0, + ATTRIBUTE_PARAM, + ATTRIBUTE_NUM_PARAMS +}; + +//---------------------------------------------------------------------------- + +enum EStrIDType +{ + StrID_NONE = 0, + StrID_Name, + StrID_Description, + StrID_Generic_Bool1, + StrID_Generic_Bool2, + StrID_Generic_Bool3, + StrID_Generic_Bool4, + StrID_Generic_Int1, + StrID_Generic_Int2, + StrID_Generic_Int3, + StrID_Generic_Int4, + StrID_Generic_Float1, + StrID_Generic_Float2, + StrID_Generic_Float3, + StrID_Generic_Float4, + StrID_Generic_Quaternion, + + StrID_Generic_Infernal_Uuid, + StrID_Scale_Checkbox, + StrID_Generic_Infernal_Name, + + StrID_Generic_Color_RGB, + StrID_Generic_Color_A, + + StrID_Parameters_Reset, + StrID_Parameters_Reset_Button, + + StrID_NUMTYPES +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_Attribute/Include/AEAttribute_PluginInterface.h b/AE_Effect_Attribute/Include/AEAttribute_PluginInterface.h new file mode 100644 index 00000000..6adef44b --- /dev/null +++ b/AE_Effect_Attribute/Include/AEAttribute_PluginInterface.h @@ -0,0 +1,99 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_CPluginInterface_H__ +#define __FX_CPluginInterface_H__ + +#include "PopcornFX_Define.h" +#include "PopcornFX_BasePluginInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +__AAEPK_BEGIN + +struct SAAEIOData; +struct SAttributeDesc; +struct SAttributeSequenceDataFlat; + +//---------------------------------------------------------------------------- + +class CPluginInterface : public CBasePluginInterface +{ + struct SAttributeData + { + //Memory Owned by effect + SAttributeDesc *m_DescAttribute; + + bool m_UIVisibility[__Attribute_Parameters_Count]; + bool m_IsDefault; + + SAttributeData() + : m_DescAttribute(nullptr) + , m_IsDefault(true) + { + } + ~SAttributeData() + { + m_DescAttribute = nullptr; + } + }; +public: + ~CPluginInterface(); + static CPluginInterface &Instance(); + + PF_Err About(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err ParamsSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err PreRender(SAAEIOData &AAEData); + PF_Err SmartRender(SAAEIOData &AAEData); + PF_Err UpdateParams(SAAEIOData &AAEData, PF_ParamDef *params[]); + PF_Err UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]); + + PF_Err SetDefaultValueIFN(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeData *AttrData); + + PF_Err HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]); + + void UpdateBoolAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility); + void UpdateIntAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility); + void UpdateFloatAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility); + +private: + CPluginInterface(); + static CPluginInterface *m_Instance; + static uint32_t m_AttrUID; + + bool _GetAttributeSequenceUID(SAAEIOData &AAEData, std::string &out); + + PF_Err _RegisterAttributeInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeSequenceDataFlat *sequenceData, bool setup); + + std::unordered_map m_AttributeData; + + std::thread::id m_MainThreadID; +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif diff --git a/AE_Effect_Attribute/Include/AEAttribute_SequenceData.h b/AE_Effect_Attribute/Include/AEAttribute_SequenceData.h new file mode 100644 index 00000000..e74600f2 --- /dev/null +++ b/AE_Effect_Attribute/Include/AEAttribute_SequenceData.h @@ -0,0 +1,52 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEATTRIBUTE_SEQUENCEDATA_H__ +#define __AEATTRIBUTE_SEQUENCEDATA_H__ + +#include +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +namespace SequenceCST +{ + static const size_t MAX_PATH_LEN = 1024; + static const size_t MAX_NAME_LEN = 100; + static const size_t UUID_LEN = 64; +}; + +//---------------------------------------------------------------------------- + +struct SAttributeSequenceDataFlat +{ + bool m_IsFlat = true; + + char m_AttributeUUID[SequenceCST::UUID_LEN]; + size_t m_AttributeUUIDLen; + + char m_AttributeName[SequenceCST::MAX_NAME_LEN]; + size_t m_AttributeNameLen; + + bool m_IsDefault = true; + + A_long m_LayerID; + + void CopyFrom(SAttributeSequenceDataFlat* src); + + void SetIsDefaultValue(bool value); + bool SetUUID(const char *uuid); + bool SetName(const char *name); + bool SetLayerID(bool value); +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif // !__AAEFFECT_SEQUENCEDATA_H__ diff --git a/AE_Effect_Attribute/PkgInfo b/AE_Effect_Attribute/PkgInfo new file mode 100644 index 00000000..31cf1f41 --- /dev/null +++ b/AE_Effect_Attribute/PkgInfo @@ -0,0 +1 @@ +eFKTFXTC \ No newline at end of file diff --git a/AE_Effect_Attribute/Precompiled/ae_precompiled.cpp b/AE_Effect_Attribute/Precompiled/ae_precompiled.cpp new file mode 100644 index 00000000..84e52276 --- /dev/null +++ b/AE_Effect_Attribute/Precompiled/ae_precompiled.cpp @@ -0,0 +1 @@ +#include "ae_precompiled.h" diff --git a/AE_Effect_Attribute/Precompiled/ae_precompiled.h b/AE_Effect_Attribute/Precompiled/ae_precompiled.h new file mode 100644 index 00000000..5b1746dd --- /dev/null +++ b/AE_Effect_Attribute/Precompiled/ae_precompiled.h @@ -0,0 +1,13 @@ +#pragma once + +#undef PV_MODULE_NAME +#undef PV_MODULE_SYM +#define PV_MODULE_NAME "AEPlugin" +#define PV_MODULE_SYM AEPlugin + +#include + +#if defined(PK_WINDOWS) +#define WIN32_LEAN_AND_MEAN +#include +#endif diff --git a/AE_Effect_Attribute/Sources/AEAttribute_Main.cpp b/AE_Effect_Attribute/Sources/AEAttribute_Main.cpp new file mode 100644 index 00000000..a442da88 --- /dev/null +++ b/AE_Effect_Attribute/Sources/AEAttribute_Main.cpp @@ -0,0 +1,172 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttribute_Main.h" + +#include "AEAttribute_PluginInterface.h" +#include "PopcornFX_Suite.h" + +#include + +#include + +//---------------------------------------------------------------------------- + +extern "C" +{ + DllExport PF_Err PluginDataEntryFunction( PF_PluginDataPtr inPtr, + PF_PluginDataCB inPluginDataCallBackPtr, + SPBasicSuite *inSPBasicSuitePtr, + const char *inHostName, + const char *inHostVersion) + { + (void)inSPBasicSuitePtr; + (void)inHostName; + (void)inHostVersion; + + PF_Err result = PF_Err_INVALID_CALLBACK; + + result = PF_REGISTER_EFFECT( + inPtr, // Infos must match the PopcornFXPiPL.r + inPluginDataCallBackPtr, // + "Attribute", // Name + "ADBE PopcornFX Attribute", // Match Name + "PopcornFX", // Category + AE_RESERVED_INFO); // Reserved Info + return result; + } +} + +//---------------------------------------------------------------------------- + +PF_Err EffectMain( PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra) +{ + PF_Err result = PF_Err_NONE; + AAePk::CPluginInterface &AEPlugin = AAePk::CPluginInterface::Instance(); + AAePk::SAAEIOData AAEData{ cmd, in_data, out_data, extra, AEPlugin.GetParametersIndexes() }; + +#if _DEBUG + try + { +#endif + + assert(in_data != nullptr); + assert(out_data != nullptr); + if (in_data == nullptr) + return PF_Err_BAD_CALLBACK_PARAM; + //Force Render + //AAEData.m_OutData->out_flags &= PF_OutFlag_FORCE_RERENDER + + if (AAEData.m_InData->appl_id == 'PrMr') + { + //User Tried to load plugin in Premiere Pro. + //There is surely a better way to handle this. + return PF_Err_UNRECOGNIZED_PARAM_TYPE; + } + + switch (cmd) + { + // Called once + case PF_Cmd_ABOUT: + //Mandatory + //Version and General Infos about the plugin + result = AEPlugin.About(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETUP: + //Mandatory + //Startup run + result = AEPlugin.GlobalSetup(AAEData, params, output); + break; + case PF_Cmd_PARAMS_SETUP: + //Mandatory + //Setup AAE UI. + result = AEPlugin.ParamsSetup(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETDOWN: + //Mandatory + result = AEPlugin.GlobalSetdown(AAEData, params, output); + break; + // Sequence Handling + //UI thread + case PF_Cmd_SEQUENCE_SETUP: + //Each time the user adds the effect to a layer + result = AEPlugin.SequenceSetup(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_RESETUP: + //Load or Duplicate + //UI/Render thread + result = AEPlugin.SequenceReSetup(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_FLATTEN: + //Effect Saved, copied, duplicated.. + //UI/Render thread + result = AEPlugin.SequenceFlatten(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_SETDOWN: + //Effect Deleted + result = AEPlugin.SequenceShutdown(AAEData, params, output); + break; + case PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: + break; + + // Called each Frame + case PF_Cmd_AUDIO_SETUP: + case PF_Cmd_AUDIO_RENDER: + case PF_Cmd_AUDIO_SETDOWN: + break; + case PF_Cmd_FRAME_SETUP: + //Allow resizing of drawing area + break; + case PF_Cmd_SMART_PRE_RENDER: + result = AEPlugin.PreRender(AAEData); + //Can be called several times for one render + break; + case PF_Cmd_SMART_RENDER: + result = AEPlugin.SmartRender(AAEData); + break; + case PF_Cmd_FRAME_SETDOWN: + //Allow resizing of drawing area + break; + + // Messaging + case PF_Cmd_EVENT: + break; + case PF_Cmd_USER_CHANGED_PARAM: + AEPlugin.UpdateParams(AAEData, params); + //If PF_ParamFlag_SUPERVIZE if set when adding param, PF_Cmd_USER_CHANGED_PARAM is called when value change + break; + case PF_Cmd_UPDATE_PARAMS_UI: + result = AEPlugin.UpdateParamsUI(AAEData, params); + break; + case PF_Cmd_ARBITRARY_CALLBACK: + case PF_Cmd_GET_EXTERNAL_DEPENDENCIES: + break; + case PF_Cmd_COMPLETELY_GENERAL: + result = AEPlugin.HandleDataFromAEGP(AAEData, params); + break; + case PF_Cmd_DO_DIALOG: + //Send when user click on Options + //Received if PF_OutFlag_I_DO_DIALOG is set in PF_Cmd_GLOBAL_SETUP + break; + case PF_Cmd_QUERY_DYNAMIC_FLAGS: + break; + default: + break; + } + +#if _DEBUG + } + catch (...) + { + assert(false); + } +#endif + return result; +} diff --git a/AE_Effect_Attribute/Sources/AEAttribute_ParamDefine.cpp b/AE_Effect_Attribute/Sources/AEAttribute_ParamDefine.cpp new file mode 100644 index 00000000..19ba1ce2 --- /dev/null +++ b/AE_Effect_Attribute/Sources/AEAttribute_ParamDefine.cpp @@ -0,0 +1,66 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttribute_ParamDefine.h" + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +struct STableString +{ + A_u_long index; + A_char str[256]; +} ; + +//---------------------------------------------------------------------------- + +STableString g_strs[StrID_NUMTYPES] = +{ + { StrID_NONE, "" }, + { StrID_Name, "Attribute" }, + { StrID_Description, "PopcornFX Plugin." }, + { StrID_Generic_Bool1, "Attribute bool" }, + { StrID_Generic_Bool2, "Attribute bool 2" }, + { StrID_Generic_Bool3, "Attribute bool 3" }, + { StrID_Generic_Bool4, "Attribute bool 4" }, + { StrID_Generic_Int1, "Attribute int" }, + { StrID_Generic_Int2, "Attribute int 2" }, + { StrID_Generic_Int3, "Attribute int 3" }, + { StrID_Generic_Int4, "Attribute int 4" }, + { StrID_Generic_Float1, "Attribute float" }, + { StrID_Generic_Float2, "Attribute float 2" }, + { StrID_Generic_Float3, "Attribute float 3" }, + { StrID_Generic_Float4, "Attribute float 4" }, + { StrID_Generic_Quaternion, "Attribute Quaternion" }, + { StrID_Generic_Infernal_Uuid, "AttributeKey" }, + { StrID_Scale_Checkbox, "Affected by scale" }, + { StrID_Generic_Infernal_Name, "AttributeName" }, + { StrID_Generic_Color_RGB, "RGB" }, + { StrID_Generic_Color_A, "Alpha" }, + { StrID_Parameters_Reset, "" }, + { StrID_Parameters_Reset_Button, "Reset Value" }, +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +//---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" +{ +#endif + +A_char *GetStringPtr(int strNum) +{ + return AAePk::g_strs[strNum].str; +} + +#ifdef __cplusplus +} +#endif + diff --git a/AE_Effect_Attribute/Sources/AEAttribute_PluginInterface.cpp b/AE_Effect_Attribute/Sources/AEAttribute_PluginInterface.cpp new file mode 100644 index 00000000..a6ac028b --- /dev/null +++ b/AE_Effect_Attribute/Sources/AEAttribute_PluginInterface.cpp @@ -0,0 +1,928 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttribute_PluginInterface.h" +#include "AEAttribute_SequenceData.h" +#include "AEAttribute_ParamDefine.h" + +#include "PopcornFX_UID.h" + +//AE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//AAE Plugin code +#include +#include + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +CPluginInterface *CPluginInterface::m_Instance = nullptr; +uint32_t CPluginInterface::m_AttrUID = 1; + +//---------------------------------------------------------------------------- + +CPluginInterface::CPluginInterface() +{ +} + +//---------------------------------------------------------------------------- + +CPluginInterface::~CPluginInterface() +{ + for (auto& it : m_AttributeData) + { + delete(it.second); + } + m_AttributeData.clear(); +} + +//---------------------------------------------------------------------------- + +CPluginInterface &CPluginInterface::Instance() +{ + if (CPluginInterface::m_Instance == nullptr) + { + m_Instance = new CPluginInterface(); + } + return *m_Instance; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::About( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + suites.ANSICallbacksSuite1()->sprintf(AAEData.m_OutData->return_msg, + "%s v%d.%d.%d\r%s", + STR(StrID_Name), + AEPOPCORNFX_MAJOR_VERSION, + AEPOPCORNFX_MINOR_VERSION, + AEPOPCORNFX_BUG_VERSION, + STR(StrID_Description)); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + m_MainThreadID = std::this_thread::get_id(); + + AEFX_SuiteScoper popcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + AAEData.m_OutData->my_version = PF_VERSION( AEPOPCORNFX_MAJOR_VERSION, + AEPOPCORNFX_MINOR_VERSION, + AEPOPCORNFX_BUG_VERSION, + AEPOPCORNFX_STAGE_VERSION, + AEPOPCORNFX_BUILD_VERSION); + + //PF_OutFlag_DEEP_COLOR_AWARE -> To support 16bit per chan format. + //PF_OutFlag_I_AM_OBSOLETE -> Do not show in menu. We do not want user to create this effect manually. + //PF_OutFlag_SEND_UPDATE_PARAMS_UI -> To be notified when PF_ParamFlag_SUPERVISE is set on parameters + AAEData.m_OutData->out_flags = PF_OutFlag_DEEP_COLOR_AWARE | PF_OutFlag_I_AM_OBSOLETE | PF_OutFlag_SEND_UPDATE_PARAMS_UI; + //PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS -> To be able to change dynamicly some out_flags. see doc. + //PF_OutFlag2_FLOAT_COLOR_AWARE -> To support 32bit per chan format. Need PF_OutFlag2_SUPPORTS_SMART_RENDER + //PF_OutFlag2_SUPPORTS_SMART_RENDER -> Necessary for new render pipeline. + //PF_OutFlag2_I_USE_3D_CAMERA -> Can query 3D camera information, Not sure if necessery in Attribute or just on Effect. + AAEData.m_OutData->out_flags2 = PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS | PF_OutFlag2_FLOAT_COLOR_AWARE | PF_OutFlag2_SUPPORTS_SMART_RENDER | PF_OutFlag2_I_USE_3D_CAMERA | + PF_OutFlag2_SUPPORTS_THREADED_RENDERING;// | PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER;; + + suites.UtilitySuite3()->AEGP_RegisterWithAEGP(nullptr, STR(StrID_Name), &m_AAEID); + + return popcornFXSuite->InitializePopcornFXIFN(AAEData); +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::ParamsSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEFX_SuiteScoper popcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + PF_Err result = PF_Err_NONE; + //TMP Used in Macros + PF_InData *in_data = AAEData.m_InData; + PF_ParamDef def; + + m_ParametersIndexes = new int[__Attribute_Parameters_Count]; + for (unsigned int i = 0; i < __Attribute_Parameters_Count; ++i) + m_ParametersIndexes[i] = -1; + m_ParametersIndexes[0] = 0; // First Parameter is reserved to AE + + AddCheckBoxParameter(in_data, STR(StrID_Generic_Bool1), Attribute_Parameters_Bool1); + AddCheckBoxParameter(in_data, STR(StrID_Generic_Bool2), Attribute_Parameters_Bool2); + AddCheckBoxParameter(in_data, STR(StrID_Generic_Bool3), Attribute_Parameters_Bool3); + AddCheckBoxParameter(in_data, STR(StrID_Generic_Bool4), Attribute_Parameters_Bool4); + + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Int1), Attribute_Parameters_Int1, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Int2), Attribute_Parameters_Int2, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Int3), Attribute_Parameters_Int3, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Int4), Attribute_Parameters_Int4, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Float1), Attribute_Parameters_Float1, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Float2), Attribute_Parameters_Float2, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Float3), Attribute_Parameters_Float3, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + AddFloatParameterUnbound(in_data, STR(StrID_Generic_Float4), Attribute_Parameters_Float4, 0.0f, PF_ValueDisplayFlag_NONE | PF_ParamFlag_SUPERVISE | PF_ParamFlag_COLLAPSE_TWIRLY); + + //To do add Quaternion + //PF_ADD_POINT_3D(STR(StrID_Generic_Quaternion), 50, 50, 0, AttributeType_Quaternion) + + AddCheckBoxParameter(in_data, STR(StrID_Generic_Infernal_Uuid), Attribute_Parameters_Infernal_Uuid, false, 0, PF_PUI_INVISIBLE); + + AddCheckBoxParameter(in_data, STR(StrID_Scale_Checkbox), Attribute_Parameters_AffectedByScale, false, PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AddCheckBoxParameter(in_data, STR(StrID_Generic_Infernal_Name), Attribute_Parameters_Infernal_Name, false, 0, PF_PUI_INVISIBLE); + + + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(STR(StrID_Generic_Color_RGB), + (char)(0.0f), + (char)(0.0f), + (char)(0.0f), + Attribute_Parameters_Color_RGB); + m_ParametersIndexes[Attribute_Parameters_Color_RGB] = ++m_CurrentIndex; + + AddPercentParameter(in_data, STR(StrID_Generic_Color_A), Attribute_Parameters_Color_A, 100); + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(STR(StrID_Parameters_Reset), STR(StrID_Parameters_Reset_Button), 0, PF_ParamFlag_SUPERVISE, Attribute_Parameters_Reset); + m_ParametersIndexes[Attribute_Parameters_Reset] = ++m_CurrentIndex; + + AAEData.m_OutData->num_params = __Attribute_Parameters_Count; + + popcornFXSuite->SetParametersIndexes(m_ParametersIndexes, EPKChildPlugins::ATTRIBUTE); + + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetdown( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + + + if (m_ParametersIndexes != nullptr) + delete[] m_ParametersIndexes; + m_ParametersIndexes = nullptr; + for (auto it = m_AttributeData.begin(); it != m_AttributeData.end(); ++it) + { + if (it->second != nullptr) + { + delete (it->second); + it->second = nullptr; + } + } + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + + A_Err result = A_Err_NONE; + SAttributeSequenceDataFlat *sequenceData = nullptr; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Handle sequenceDataHandle = suites.HandleSuite1()->host_new_handle(sizeof(SAttributeSequenceDataFlat)); + + if (!sequenceDataHandle) + return PF_Err_OUT_OF_MEMORY; + sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + if (sequenceData != nullptr) + { + AEFX_CLR_STRUCT(*sequenceData); + + sequenceData->m_IsDefault = true; + sequenceData->m_IsFlat = true; + sequenceData->SetUUID(CUUIDGenerator::Get16().data()); + sequenceData->SetName("AttributeName"); + + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + sequenceData->SetLayerID(dstID); + + _RegisterAttributeInstancePlugin(AAEData, params, sequenceData, true); + + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (AAEData.m_InData->sequence_data) + { + PF_Handle sequenceDataFlatHandle = AAEData.m_InData->sequence_data; + SAttributeSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataFlatHandle)); + + if (sequenceDataFlat) + { + _RegisterAttributeInstancePlugin(AAEData, params, sequenceDataFlat, false); + AAEData.m_OutData->sequence_data = sequenceDataFlatHandle; + + suites.HandleSuite1()->host_unlock_handle(sequenceDataFlatHandle); + } + } + else + { + result = SequenceSetup(AAEData, params, output); + } + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (!AAEData.m_InData->sequence_data) + return result; + + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + SAttributeSequenceDataFlat *sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + + if (sequenceData) + { + std::string uuid; + //Check Layer ID to determine if its a duplicate. if so, update LayerID and regenerate UUID + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + { + if (sequenceData->m_LayerID != dstID) + { + sequenceData->m_LayerID = dstID; + sequenceData->SetUUID(CUUIDGenerator::Get16().data()); + } + } + _RegisterAttributeInstancePlugin(AAEData, params, sequenceData, false); + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid]) != A_Err_NONE) + return result; + + if (m_AttributeData.count(uuid) == 0) + return result; + + SAttributeDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + + if (descriptor == nullptr) + return result; + + sequenceData->m_IsFlat = true; + sequenceData->SetIsDefaultValue(descriptor->m_IsDefaultValue); + sequenceData->SetName(descriptor->GetAttributePKKey().c_str()); + + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + else + result = PF_Err_INTERNAL_STRUCT_DAMAGED; + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + if (AAEData.m_InData->sequence_data != nullptr) + { + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + suites.HandleSuite1()->host_dispose_handle(sequenceDataHandle); + } + AAEData.m_InData->sequence_data = nullptr; + AAEData.m_OutData->sequence_data = nullptr; + + return PF_Err_NONE; + +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::PreRender(SAAEIOData &AAEData) +{ + PF_RenderRequest req = AAEData.m_ExtraData.m_PreRenderData->input->output_request; + PF_CheckoutResult in_result; + + AE_VERIFY(AAEData.m_ExtraData.m_PreRenderData != nullptr); + AE_VERIFY(AAEData.m_ExtraData.m_PreRenderData->cb != nullptr); + + AAEData.m_ExtraData.m_PreRenderData->cb->checkout_layer(AAEData.m_InData->effect_ref, + ATTRIBUTE_INPUT, + ATTRIBUTE_INPUT, + &req, + AAEData.m_InData->current_time, + AAEData.m_InData->local_time_step, + AAEData.m_InData->time_scale, + &in_result); + + UnionLRect(&in_result.result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->result_rect); + UnionLRect(&in_result.max_result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->max_result_rect); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +void CPluginInterface::UpdateBoolAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility) +{ + bool value[4]; + + for (uint32_t i = 0; i < 4; ++i) + { + if (uiVisibility[i + Attribute_Parameters_Bool1]) + { + SAAEScopedParams params{ AAEData, i + Attribute_Parameters_Bool1 }; + + value[i] = params.GetCheckBoxValue(); + } + } + descriptor->SetValue(&value); +} + +//---------------------------------------------------------------------------- + +void CPluginInterface::UpdateIntAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility) +{ + int value[4]; + + if (descriptor->m_AttributeSemantic == AttributeSemantic_Color) + { + SAAEScopedParams color{ AAEData, Attribute_Parameters_Color_RGB }; + SAAEScopedParams alpha{ AAEData, Attribute_Parameters_Color_A }; + + A_FloatPoint3 AEColor = color.GetColor(); + + value[0] = (int)AEColor.x * 255; + value[1] = (int)AEColor.y * 255; + value[2] = (int)AEColor.z * 255; + value[3] = (int)alpha.GetPercent() *255; + } + else + { + for (uint32_t i = 0; i < 4; ++i) + { + if (uiVisibility[i + Attribute_Parameters_Int1]) + { + SAAEScopedParams params{ AAEData, i + Attribute_Parameters_Int1 }; + + value[i] = params.GetInt(); + } + } + } + descriptor->SetValue(&value); +} + +//---------------------------------------------------------------------------- + +void CPluginInterface::UpdateFloatAttribute(SAAEIOData &AAEData, SAttributeDesc *descriptor, bool *uiVisibility) +{ + float value[4]; + + if (descriptor->m_AttributeSemantic == AttributeSemantic_Color) + { + SAAEScopedParams color{ AAEData, Attribute_Parameters_Color_RGB }; + SAAEScopedParams alpha{ AAEData, Attribute_Parameters_Color_A }; + + A_FloatPoint3 AEColor = color.GetColor(); + + value[0] = (float)AEColor.x; + value[1] = (float)AEColor.y; + value[2] = (float)AEColor.z; + value[3] = alpha.GetPercent(); + } + else + { + for (uint32_t i = 0; i < 4; ++i) + { + if (uiVisibility[i + Attribute_Parameters_Float1]) + { + SAAEScopedParams params{ AAEData, i + Attribute_Parameters_Float1 }; + value[i] = params.GetFloat(); + } + } + } + descriptor->SetValue(&value); +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SmartRender(SAAEIOData &AAEData) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_EffectWorld *inputWorld = nullptr; + PF_EffectWorld *outputWorld = nullptr; + PF_Err err = PF_Err_NONE; + + std::string uuid; + + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_layer_pixels(AAEData.m_InData->effect_ref, ATTRIBUTE_INPUT, &inputWorld); + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_output(AAEData.m_InData->effect_ref, &outputWorld); + + if (inputWorld == nullptr || outputWorld == nullptr) + return PF_Err_BAD_CALLBACK_PARAM; + outputWorld->data = inputWorld->data; + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid]) != PF_Err_NONE) + return PF_Err_BAD_CALLBACK_PARAM; + if ( m_AttributeData.count(uuid) == 0) + return err; + + SAttributeDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + bool *uiVisibility = m_AttributeData[uuid]->m_UIVisibility; + + if (descriptor != nullptr) + { + switch (descriptor->m_Type) + { + case Attribute_Parameters_Bool1: + case Attribute_Parameters_Bool2: + case Attribute_Parameters_Bool3: + case Attribute_Parameters_Bool4: + UpdateBoolAttribute(AAEData, descriptor, uiVisibility); + break; + case Attribute_Parameters_Int1: + case Attribute_Parameters_Int2: + case Attribute_Parameters_Int3: + case Attribute_Parameters_Int4: + UpdateIntAttribute(AAEData, descriptor, uiVisibility); + break; + case Attribute_Parameters_Float1: + case Attribute_Parameters_Float2: + case Attribute_Parameters_Float3: + case Attribute_Parameters_Float4: + UpdateFloatAttribute(AAEData, descriptor, uiVisibility); + break; + } + { + SAAEScopedParams affectedByScale{ AAEData, Attribute_Parameters_AffectedByScale }; + + descriptor->m_IsAffectedByScale = affectedByScale.GetCheckBoxValue(); + } + } + + AAEData.m_ExtraData.m_SmartRenderData->cb->checkin_layer_pixels(AAEData.m_InData->effect_ref, ATTRIBUTE_INPUT); + + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::UpdateParams(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)AAEData; + (void)params; + + PF_Err result = PF_Err_NONE; +#if 1 + std::string uuid; + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid]) != A_Err_NONE) + return PF_Err_BAD_CALLBACK_PARAM; + if (m_AttributeData.count(uuid) == 0) + return result; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + SAttributeDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + + if (descriptor == nullptr) + return result; + + if (descriptor != nullptr) + { + if (AAEData.m_ExtraData.m_ChangeParamData->param_index == m_ParametersIndexes[Attribute_Parameters_Reset]) + { + descriptor->ResetValues(); + m_AttributeData[uuid]->m_IsDefault = true; + SetDefaultValueIFN(AAEData, params, m_AttributeData[uuid]); + } + } +#endif + return result; +} + +//---------------------------------------------------------------------------- + +bool CPluginInterface::_GetAttributeSequenceUID(SAAEIOData &AAEData, std::string &out) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEFX_SuiteScoper seqdata_suite = AEFX_SuiteScoper(AAEData.m_InData, kPFEffectSequenceDataSuite, kPFEffectSequenceDataSuiteVersion1, AAEData.m_OutData); + PF_ConstHandle constSeq; + seqdata_suite->PF_GetConstSequenceData(AAEData.m_InData->effect_ref, &constSeq); + + const SAttributeSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle((PF_Handle)constSeq)); + + out.clear(); + if (sequenceDataFlat && sequenceDataFlat->m_IsFlat == true) + { + out.append(sequenceDataFlat->m_AttributeUUID, strlen(sequenceDataFlat->m_AttributeUUID)); + suites.HandleSuite1()->host_unlock_handle((PF_Handle)constSeq); + return true; + } + if (sequenceDataFlat) + suites.HandleSuite1()->host_unlock_handle((PF_Handle)constSeq); + return false; +} + +//---------------------------------------------------------------------------- + +bool Debug_IsInterfaceRelevant(EAttributeParameterType current, EAttributeType attribute, EAttributeSemantic semantic) +{ + if (semantic == AttributeSemantic_Color) + { + if (current == Attribute_Parameters_Color_RGB) + return true; + else if (current == Attribute_Parameters_Color_A && + (attribute == AttributeType_Int4 || attribute == AttributeType_Float4)) + return true; + else + return false; + } + if (attribute >= AttributeType_Bool1 && attribute <= AttributeType_Bool4) + { + return (current >= AttributeType_Bool1 && current <= attribute); + } + if (attribute >= AttributeType_Int1 && attribute <= AttributeType_Int4) + { + return (current >= AttributeType_Int1 && current <= attribute); + } + if (attribute >= AttributeType_Float1 && attribute <= AttributeType_Float4) + { + return (current >= AttributeType_Float1 && current <= attribute); + } + return false; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SetDefaultValueIFN(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeData *AttrData) +{ + (void)params; + + PF_Err err = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_StreamRefH streamRef = nullptr; + AEGP_EffectRefH effectRef = nullptr; + bool *uiVisibility = AttrData->m_UIVisibility; + SAttributeDesc *desc = AttrData->m_DescAttribute; + + err = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + + for (int i = 1; i < __Attribute_Parameters_Count; ++i) // Start at 1, first params is reserved. + { + if (i == Attribute_Parameters_Infernal_Uuid || + i == Attribute_Parameters_AffectedByScale || + i == Attribute_Parameters_Infernal_Name || + i == Attribute_Parameters_Reset) + continue; + err |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectRef, m_ParametersIndexes[i], &streamRef); + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + + if (Debug_IsInterfaceRelevant((EAttributeParameterType)i, desc->m_Type, desc->m_AttributeSemantic) == false) // Disable + { + uiVisibility[i] = false; + } + else // Enable and Update name + { + uiVisibility[i] = true; + } + // Toggle visibility of parameter + err |= suites.DynamicStreamSuite2()->AEGP_SetDynamicStreamFlag(streamRef, AEGP_DynStreamFlag_HIDDEN, FALSE, !uiVisibility[i]); + + // Set Default Value + if (uiVisibility[i] && AttrData->m_IsDefault) + { + AEGP_StreamValue streamValue; + if (i < __AttributeType_Count) + { + AttrData->m_DescAttribute->GetValueAsStreamValue((EAttributeType)i, &streamValue); + err |= suites.StreamSuite2()->AEGP_SetStreamValue(m_AAEID, streamRef, &streamValue); + } + else if (desc->m_AttributeSemantic == AttributeSemantic_Color) + { + float color[4]; + float mult = 1.0f; + + if (desc->m_Type >= AttributeType_Int1 && desc->m_Type <= AttributeType_Int4) + mult = 255.0f; + + AttrData->m_DescAttribute->GetValue(color); + if (i == Attribute_Parameters_Color_RGB) + { + streamValue.val.color.redF = color[0] / mult; + streamValue.val.color.greenF = color[1] / mult; + streamValue.val.color.blueF = color[2] / mult; + err |= suites.StreamSuite2()->AEGP_SetStreamValue(m_AAEID, streamRef, &streamValue); + } + else if (i == Attribute_Parameters_Color_A) + { + streamValue.val.one_d = color[3] * 100.0f / mult; + err |= suites.StreamSuite2()->AEGP_SetStreamValue(m_AAEID, streamRef, &streamValue); + } + } + } + + err |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + streamRef = nullptr; + } + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::HandleDataFromAEGP(SAAEIOData &AAEData, + PF_ParamDef *params[]) +{ + PF_Err err = PF_Err_NONE; + void *extraData = AAEData.m_ExtraData.m_UndefinedData; + SAttributeDesc *desc = reinterpret_cast(extraData); + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + if (desc != nullptr) + { + if (desc->m_IsDeleted) + { + std::string uuid; + + if (_GetAttributeSequenceUID(AAEData, uuid) == false) + { + AE_VERIFY(false); + return PF_Err_BAD_CALLBACK_PARAM; + } + if (m_AttributeData.count(uuid) == 0) + return PF_Err_BAD_CALLBACK_PARAM; + + SAttributeData *AttrData = m_AttributeData[uuid]; + + if (AttrData) + { + m_AttributeData.erase(uuid); + + AttrData->m_DescAttribute = nullptr; + delete desc; + delete AttrData; + return PF_Err_NONE; + } + } + else + { + m_AttrUID += 1; + + std::string pkKey; + std::string uuid; + SAttributeData *AttrData = nullptr; + + if (_GetAttributeSequenceUID(AAEData, uuid) == false) + { + AE_VERIFY(false); + return PF_Err_BAD_CALLBACK_PARAM; + } + if (m_AttributeData.count(uuid) == 0) + { + AttrData = new SAttributeData{}; + } + AttrData = m_AttributeData[uuid]; + AttrData->m_DescAttribute = desc; + + pkKey = AttrData->m_DescAttribute->GetAttributePKKey(); + + AttrData->m_DescAttribute->m_IsDefaultValue = AttrData->m_IsDefault; + + err |= SetDefaultValueIFN(AAEData, params, AttrData); + + AEGP_EffectRefH effectRef = nullptr; + + err = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + + err |= SetEffectName(AAEData, pkKey, effectRef); + err |= SetParameterStreamName(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid] , effectRef); + err |= SetParameterStreamName(AAEData, pkKey, m_ParametersIndexes[Attribute_Parameters_Infernal_Name], effectRef); + + params[m_ParametersIndexes[Attribute_Parameters_Infernal_Name]]->ui_flags |= PF_PUI_INVISIBLE; + params[m_ParametersIndexes[Attribute_Parameters_Infernal_Name]]->ui_flags |= PF_PUI_DISABLED; + + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + effectRef = nullptr; + } + } + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER; + AE_VERIFY(err == A_Err_NONE); + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + std::string uuid; + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid]) != A_Err_NONE) + return PF_Err_BAD_CALLBACK_PARAM; + if (m_AttributeData.count(uuid) == 0) + return A_Err_NONE; + + PF_Err err = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + SAttributeDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + bool *uiVisibility = m_AttributeData[uuid]->m_UIVisibility; + + if (descriptor == nullptr) + return PF_Err_NONE; + + if (descriptor != nullptr && descriptor->m_IsDeleted) + { + m_AttributeData.erase(uuid); + delete descriptor; + return PF_Err_NONE; + } + PF_ParamDef paramCopy[__Attribute_Parameters_Count]; + + MakeParamCopy(params, paramCopy, __Attribute_Parameters_Count); + for (int i = 1; i < __Attribute_Parameters_Count; ++i) // Start at 1, first params is reserved. + { + if (i == Attribute_Parameters_Infernal_Uuid || + i == Attribute_Parameters_AffectedByScale || + i == Attribute_Parameters_Infernal_Name) + continue; + if (uiVisibility[i] == false) // Disable + { + paramCopy[m_ParametersIndexes[i]].ui_flags |= PF_PUI_DISABLED; + } + else // Enable + { + if ((paramCopy[m_ParametersIndexes[i]].ui_flags & PF_PUI_DISABLED) != 0) + { + paramCopy[m_ParametersIndexes[i]].ui_flags &= ~PF_PUI_DISABLED; + } + //Should set min and max value. + if (paramCopy[m_ParametersIndexes[i]].param_type == PF_Param_FLOAT_SLIDER) + { + float value; + descriptor->GetDefaultValueByType((EAttributeType)i, &value); + paramCopy[m_ParametersIndexes[i]].u.fs_d.dephault = static_cast(value); + + if (descriptor->m_HasMax || descriptor->m_HasMin) + { + if (descriptor->m_HasMin) + { + descriptor->GetMinValueByType((EAttributeType)i, &value); + paramCopy[m_ParametersIndexes[i]].u.fs_d.slider_min = static_cast(value); + } + if (descriptor->m_HasMax) + { + descriptor->GetMaxValueByType((EAttributeType)i, &value); + paramCopy[m_ParametersIndexes[i]].u.fs_d.slider_max = static_cast(value); + } + if ((paramCopy[m_ParametersIndexes[i]].flags & PF_ParamFlag_COLLAPSE_TWIRLY) != 0) + paramCopy[m_ParametersIndexes[i]].flags &= ~PF_ParamFlag_COLLAPSE_TWIRLY; + } + else + { + paramCopy[m_ParametersIndexes[i]].flags |= PF_ParamFlag_COLLAPSE_TWIRLY; + } + + paramCopy[m_ParametersIndexes[i]].uu.change_flags = PF_ChangeFlag_CHANGED_VALUE; + } + } + //Apply Change on param + err |= suites.ParamUtilsSuite3()->PF_UpdateParamUI(AAEData.m_InData->effect_ref, m_ParametersIndexes[i], ¶mCopy[m_ParametersIndexes[i]]); + } + AE_VERIFY(err == A_Err_NONE); + return err; +} + +//---------------------------------------------------------------------------- + +A_Err CPluginInterface::_RegisterAttributeInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeSequenceDataFlat *sequenceData, bool setup) +{ + (void)params; + + PF_Err err = PF_Err_NONE; + std::string id; + + if (sequenceData != nullptr) + id = sequenceData->m_AttributeUUID; + else if (_GetAttributeSequenceUID(AAEData, id) == false) + return A_Err_NONE; + + if (m_AttributeData.count(id) == 0) + { + SAttributeData *AttrData = new SAttributeData{}; + + if (!AE_VERIFY(AttrData != nullptr)) + return A_Err_ALLOC; + + if (!setup) + { + if (m_MainThreadID == std::this_thread::get_id()) + { + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_EffectRefH effectRef = nullptr; + + err |= suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + + std::string uuid(sequenceData->m_AttributeUUID); + std::string name(sequenceData->m_AttributeName); + err |= SetParameterStreamName(AAEData, uuid, m_ParametersIndexes[Attribute_Parameters_Infernal_Uuid], effectRef); + err |= SetParameterStreamName(AAEData, name, m_ParametersIndexes[Attribute_Parameters_Infernal_Name], effectRef); + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + } + m_AttributeData[id] = AttrData; + } + if (sequenceData != nullptr) + { + m_AttributeData[id]->m_IsDefault = sequenceData->m_IsDefault; + } + return A_Err_NONE;; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_Attribute/Sources/AEAttribute_SequenceData.cpp b/AE_Effect_Attribute/Sources/AEAttribute_SequenceData.cpp new file mode 100644 index 00000000..3007a780 --- /dev/null +++ b/AE_Effect_Attribute/Sources/AEAttribute_SequenceData.cpp @@ -0,0 +1,59 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttribute_SequenceData.h" + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +void SAttributeSequenceDataFlat::CopyFrom(SAttributeSequenceDataFlat *src) +{ + m_IsFlat = true; + SetUUID(src->m_AttributeUUID); + SetName(src->m_AttributeName); + SetIsDefaultValue(src->m_IsDefault); +} + +//---------------------------------------------------------------------------- + +void SAttributeSequenceDataFlat::SetIsDefaultValue(bool value) +{ + m_IsDefault = value; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSequenceDataFlat::SetUUID(const char *uuid) +{ + m_AttributeUUIDLen = strlen(uuid) + 1; + + strncpy(m_AttributeUUID, uuid, SequenceCST::UUID_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSequenceDataFlat::SetName(const char *name) +{ + m_AttributeNameLen = strlen(name) + 1; + + strncpy(m_AttributeName, name, SequenceCST::MAX_NAME_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSequenceDataFlat::SetLayerID(bool value) +{ + m_LayerID = value; + return true; +} + +//---------------------------------------------------------------------------- +__AAEPK_END diff --git a/AE_Effect_Attribute/Sources/AE_Effect_Attribute.plugin-Info.plist b/AE_Effect_Attribute/Sources/AE_Effect_Attribute.plugin-Info.plist new file mode 100644 index 00000000..3299ec2f --- /dev/null +++ b/AE_Effect_Attribute/Sources/AE_Effect_Attribute.plugin-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleExecutable + Attribute + CFBundleIdentifier + com.PersistantStudio.PopcornFX.Attribute + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AE_Effect_Attribute + CFBundlePackageType + eFKT + CFBundleSignature + FXTC + LSRequiresCarbon + + NSAppleScriptEnabled + No + NSHumanReadableCopyright + © PersistantStudio PopcornFX + + diff --git a/AE_Effect_Attribute/Sources/AE_Effect_Attribute_PiPL.r b/AE_Effect_Attribute/Sources/AE_Effect_Attribute_PiPL.r new file mode 100644 index 00000000..0fe45ea0 --- /dev/null +++ b/AE_Effect_Attribute/Sources/AE_Effect_Attribute_PiPL.r @@ -0,0 +1,73 @@ +#include "AEConfig.h" +#include "AE_EffectVers.h" + +#ifndef AE_OS_WIN + #include +#endif + + +#ifdef AE_OS_WIN +#include "../../AE_Suites/PopcornFX_Define_Version.h" +#endif +#ifdef AE_OS_MAC +#include "PopcornFX_Define_Version.h" +#endif + +resource 'PiPL' (16000) { + { /* array properties: 12 elements */ + /* [1] */ + Kind { + AEEffect + }, + /* [2] */ + Name { + "Attribute" + }, + /* [3] */ + Category { + "PopcornFX" + }, +#ifdef AE_OS_WIN + #ifdef AE_PROC_INTELx64 + CodeWin64X86 {"EffectMain"}, + #endif +#else + #ifdef AE_OS_MAC + CodeMacIntel64 {"EffectMain"}, + #endif +#endif + /* [6] */ + AE_PiPL_Version { + 2, + 0 + }, + /* [7] */ + AE_Effect_Spec_Version { + PF_PLUG_IN_VERSION, + PF_PLUG_IN_SUBVERS + }, + /* [8] */ + AE_Effect_Version { + AEPOPCORNFX_PIPL_VERSION + }, + /* [9] */ + AE_Effect_Info_Flags { + 0 + }, + /* [10] */ + AE_Effect_Global_OutFlags { + 0x06200000 + }, + AE_Effect_Global_OutFlags_2 { + 0x08001403 + }, + /* [11] */ + AE_Effect_Match_Name { + "ADBE PopcornFX Attribute" + }, + /* [12] */ + AE_Reserved_Info { + 8 + } + } +}; diff --git a/AE_Effect_AttributeSampler/Include/AEAttributeSampler_Main.h b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_Main.h new file mode 100644 index 00000000..48128c83 --- /dev/null +++ b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_Main.h @@ -0,0 +1,39 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEATTRIBUTESAMPLER_MAIN_H__ +#define __FX_AEATTRIBUTESAMPLER_MAIN_H__ + +#include + +#ifdef AE_OS_WIN + typedef unsigned short PixelType; + #include +#endif + +#include +#include + +#include "PopcornFX_Define.h" + +//---------------------------------------------------------------------------- + +extern "C" { + DllExport + PF_Err + EffectMain( + PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra); + +} + +//---------------------------------------------------------------------------- + +#endif + diff --git a/AE_Effect_AttributeSampler/Include/AEAttributeSampler_ParamDefine.h b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_ParamDefine.h new file mode 100644 index 00000000..f47ca41b --- /dev/null +++ b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_ParamDefine.h @@ -0,0 +1,105 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEATTRIBUTESAMPLER_PARAM_DEFINE_H__ +#define __FX_AEATTRIBUTESAMPLER_PARAM_DEFINE_H__ + +#include +#include + +#include + +__AAEPK_BEGIN + + +//---------------------------------------------------------------------------- + +enum EPKParams +{ + ATTRIBUTESAMPLER_INPUT = 0, + ATTRIBUTESAMPLER_PARAM, + ATTRIBUTESAMPLER_NUM_PARAMS +}; + +//---------------------------------------------------------------------------- + +enum EStrIDType +{ + StrID_NONE = 0, + StrID_Name, + StrID_Description, + StrID_Generic_Infernal_Uuid, + StrID_Generic_Infernal_Name, + StrID_Parameters_Shapes, + StrID_Parameters_Shapes_Combobox, + + StrID_Topic_Shape_Start, + + StrID_Topic_Shape_Box_Start, + StrID_Parameters_Box_Size_X, + StrID_Parameters_Box_Size_Y, + StrID_Parameters_Box_Size_Z, + + StrID_Topic_Shape_Sphere_Start, + StrID_Parameters_Sphere_Radius, + StrID_Parameters_Sphere_InnerRadius, + + StrID_Topic_Shape_Ellipsoid_Start, + StrID_Parameters_Ellipsoid_Radius, + StrID_Parameters_Ellipsoid_InnerRadius, + + StrID_Topic_Shape_Cylinder_Start, + StrID_Parameters_Cylinder_Radius, + StrID_Parameters_Cylinder_Height, + StrID_Parameters_Cylinder_InnerRadius, + + StrID_Topic_Shape_Capsule_Start, + StrID_Parameters_Capsule_Radius, + StrID_Parameters_Capsule_Height, + StrID_Parameters_Capsule_InnerRadius, + + StrID_Topic_Shape_Cone_Start, + StrID_Parameters_Cone_Radius, + StrID_Parameters_Cone_Height, + + StrID_Topic_Shape_Mesh_Start, + StrID_Parameters_Mesh_Scale, + + StrID_Parameters_Mesh_Path, + StrID_Parameters_Mesh_Path_Button, + + StrID_Parameters_Mesh_Bind_Backdrop, + StrID_Parameters_Mesh_Bind_Backdrop_Weight_Enabled, + StrID_Parameters_Mesh_Bind_Backdrop_ColorStreamID, + StrID_Parameters_Mesh_Bind_Backdrop_WeightStreamID, + + StrID_Parameters_Layer_Pick, + + StrID_Parameters_Layer_Sample_Once, + StrID_Parameters_Layer_Sample_Seeking, + + StrID_Parameters_VectorField_Path, + StrID_Parameters_VectorField_Path_Button, + StrID_Parameters_VectorField_Strength, + StrID_Parameters_VectorField_Position, + StrID_Parameters_VectorField_Interpolation, + StrID_Parameters_VectorField_Interpolation_Combobox, + + StrID_Parameters_Layer_Sample_Downsampling_X, + StrID_Parameters_Layer_Sample_Downsampling_Y, + + StrID_NUMTYPES +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +//---------------------------------------------------------------------------- + +bool GetParamsVisibility(int num, AAePk::EAttributeSamplerType type); + +#endif + diff --git a/AE_Effect_AttributeSampler/Include/AEAttributeSampler_PluginInterface.h b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_PluginInterface.h new file mode 100644 index 00000000..9e330073 --- /dev/null +++ b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_PluginInterface.h @@ -0,0 +1,107 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + + +#ifndef __FX_AEATTRIBUTESAMPLER_PLUGIN_INTERFACE_H__ +#define __FX_AEATTRIBUTESAMPLER_PLUGIN_INTERFACE_H__ + + +#include "PopcornFX_Define.h" +#include "PopcornFX_BasePluginInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +struct SAAEIOData; +struct SAttributeSamplerDesc; +struct SAttributeSamplerSequenceDataFlat; + +//---------------------------------------------------------------------------- + +class CPluginInterface : public CBasePluginInterface +{ + struct SAttributeSamplerData + { + //Memory Owned by effect + SAttributeSamplerDesc *m_DescAttribute; + + std::string m_ResourcePath; + bool m_IsDefault; + + SAttributeSamplerData() + : m_DescAttribute(nullptr) + , m_ResourcePath("") + , m_IsDefault(true) + { + } + ~SAttributeSamplerData() + { + m_DescAttribute = nullptr; + } + }; +public: + ~CPluginInterface(); + static CPluginInterface &Instance(); + + PF_Err About(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err ParamsSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err PreRender(SAAEIOData &AAEData); + PF_Err SmartRender(SAAEIOData &AAEData); + PF_Err UpdateParams(SAAEIOData &AAEData, PF_ParamDef *params[]); + PF_Err UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]); + + PF_Err HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]); + +private: + CPluginInterface(); + + PF_Err _UpdateParamsVisibility(SAAEIOData &AAEData, SAttributeSamplerData *AttrData); + + bool _GetAttributeSequenceUID(SAAEIOData &AAEData, std::string &out); + + PF_Err _RegisterAttributeInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeSamplerSequenceDataFlat *sequenceData, bool setup); + + + void UpdateSamplerGeometry(SAAEIOData &AAEData, SAttributeSamplerDesc *descriptor); + void UpdateSamplerText(SAAEIOData &AAEData, SAttributeSamplerDesc *descriptor); + void UpdateSamplerImage(SAAEIOData &AAEData, SAttributeSamplerDesc *descriptor); + void UpdateSamplerVectorField(SAAEIOData &AAEData, SAttributeSamplerDesc *descriptor); + + static CPluginInterface *m_Instance; + static uint32_t m_AttrUID; + + std::unordered_map m_AttributeData; + + std::thread::id m_MainThreadID; +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif diff --git a/AE_Effect_AttributeSampler/Include/AEAttributeSampler_SequenceData.h b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_SequenceData.h new file mode 100644 index 00000000..7ad1dde2 --- /dev/null +++ b/AE_Effect_AttributeSampler/Include/AEAttributeSampler_SequenceData.h @@ -0,0 +1,52 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEATTRIBUTESAMPLER_SEQUENCEDATA_H__ +#define __AEATTRIBUTESAMPLER_SEQUENCEDATA_H__ + +#include +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +namespace SequenceCST +{ + static const size_t MAX_PATH_LEN = 4096; + static const size_t MAX_NAME_LEN = 100; + static const size_t UUID_LEN = 64; +} + +//---------------------------------------------------------------------------- + +struct SAttributeSamplerSequenceDataFlat +{ + bool m_IsFlat = true; + + char m_AttributeUUID[SequenceCST::UUID_LEN]; + size_t m_AttributeUUIDLen; + + char m_AttributeName[SequenceCST::MAX_NAME_LEN]; + size_t m_AttributeNameLen; + + char m_ResourcePath[SequenceCST::MAX_PATH_LEN]; + size_t m_ResourcePathLen; + + A_long m_LayerID; + + bool SetUUID(const char *uuid); + bool SetName(const char *name); + bool SetResourcePath(const char * path); + bool SetLayerID(A_long id); +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif // !__AAEFFECT_SEQUENCEDATA_H__ + diff --git a/AE_Effect_AttributeSampler/PkgInfo b/AE_Effect_AttributeSampler/PkgInfo new file mode 100644 index 00000000..31cf1f41 --- /dev/null +++ b/AE_Effect_AttributeSampler/PkgInfo @@ -0,0 +1 @@ +eFKTFXTC \ No newline at end of file diff --git a/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.cpp b/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.cpp new file mode 100644 index 00000000..84e52276 --- /dev/null +++ b/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.cpp @@ -0,0 +1 @@ +#include "ae_precompiled.h" diff --git a/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.h b/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.h new file mode 100644 index 00000000..ee643f3d --- /dev/null +++ b/AE_Effect_AttributeSampler/Precompiled/ae_precompiled.h @@ -0,0 +1,8 @@ +#pragma once + +#undef PV_MODULE_NAME +#undef PV_MODULE_SYM +#define PV_MODULE_NAME "AEPlugin" +#define PV_MODULE_SYM AEPlugin + +#include diff --git a/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_Main.cpp b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_Main.cpp new file mode 100644 index 00000000..b4bdd532 --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_Main.cpp @@ -0,0 +1,170 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttributeSampler_Main.h" + +#include "AEAttributeSampler_PluginInterface.h" +#include "PopcornFX_Suite.h" + +#include + +#include + +//---------------------------------------------------------------------------- + +extern "C" +{ + DllExport PF_Err PluginDataEntryFunction( PF_PluginDataPtr inPtr, + PF_PluginDataCB inPluginDataCallBackPtr, + SPBasicSuite *inSPBasicSuitePtr, + const char *inHostName, + const char *inHostVersion) + { + (void)inSPBasicSuitePtr; + (void)inHostName; + (void)inHostVersion; + + PF_Err result = PF_Err_INVALID_CALLBACK; + + result = PF_REGISTER_EFFECT( + inPtr, // Infos must match the PopcornFXPiPL.r + inPluginDataCallBackPtr, // + "Attribute Sampler", // Name + "ADBE PopcornFX Sampler", // Match Name + "PopcornFX", // Category + AE_RESERVED_INFO); // Reserved Info + return result; + } +} + +//---------------------------------------------------------------------------- + +PF_Err EffectMain( PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra) +{ + PF_Err result = PF_Err_NONE; + AAePk::CPluginInterface &AEPlugin = AAePk::CPluginInterface::Instance(); + AAePk::SAAEIOData AAEData{ cmd, in_data, out_data, extra, AEPlugin.GetParametersIndexes() }; + +#if _DEBUG + try + { +#endif + + assert(in_data != nullptr); + assert(out_data != nullptr); + if (in_data == nullptr) + return PF_Err_BAD_CALLBACK_PARAM; + + if (AAEData.m_InData->appl_id == 'PrMr') + { + //User Tried to load plugin in Premiere Pro. + //There is surely a better way to handle this. + return PF_Err_UNRECOGNIZED_PARAM_TYPE; + } + + switch (cmd) + { + // Called once + case PF_Cmd_ABOUT: + //Mandatory + //Version and General Infos about the plugin + result = AEPlugin.About(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETUP: + //Mandatory + //Startup run + result = AEPlugin.GlobalSetup(AAEData, params, output); + break; + case PF_Cmd_PARAMS_SETUP: + //Mandatory + //Setup AAE UI. + result = AEPlugin.ParamsSetup(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETDOWN: + //Mandatory + result = AEPlugin.GlobalSetdown(AAEData, params, output); + break; + // Sequence Handling + //UI thread + case PF_Cmd_SEQUENCE_SETUP: + //Each time the user adds the effect to a layer + result = AEPlugin.SequenceSetup(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_RESETUP: + //Load or Duplicate + result = AEPlugin.SequenceReSetup(AAEData, params, output); + break; + //UI thread + case PF_Cmd_SEQUENCE_FLATTEN: + //Effect Saved, copied, duplicated.. + result = AEPlugin.SequenceFlatten(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_SETDOWN: + //Effect Deleted + result = AEPlugin.SequenceShutdown(AAEData, params, output); + break; + case PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: + break; + // Called each Frame + case PF_Cmd_AUDIO_SETUP: + case PF_Cmd_AUDIO_RENDER: + case PF_Cmd_AUDIO_SETDOWN: + break; + case PF_Cmd_FRAME_SETUP: + //Allow resizing of drawing area + break; + case PF_Cmd_SMART_PRE_RENDER: + result = AEPlugin.PreRender(AAEData); + //Can be called several times for one render + break; + case PF_Cmd_SMART_RENDER: + result = AEPlugin.SmartRender(AAEData); + break; + case PF_Cmd_FRAME_SETDOWN: + //Allow resizing of drawing area + break; + // Messaging + case PF_Cmd_EVENT: + break; + case PF_Cmd_USER_CHANGED_PARAM: + AEPlugin.UpdateParams(AAEData, params); + //If PF_ParamFlag_SUPERVIZE if set when adding param, PF_Cmd_USER_CHANGED_PARAM is called when value change + break; + case PF_Cmd_UPDATE_PARAMS_UI: + result = AEPlugin.UpdateParamsUI(AAEData, params); + break; + case PF_Cmd_ARBITRARY_CALLBACK: + case PF_Cmd_GET_EXTERNAL_DEPENDENCIES: + break; + case PF_Cmd_COMPLETELY_GENERAL: + result = AEPlugin.HandleDataFromAEGP(AAEData, params); + break; + case PF_Cmd_DO_DIALOG: + //Send when user click on Options + //Received if PF_OutFlag_I_DO_DIALOG is set in PF_Cmd_GLOBAL_SETUP + break; + case PF_Cmd_QUERY_DYNAMIC_FLAGS: + break; + default: + break; + } + +#if _DEBUG + } + catch (...) + { + assert(false); + } +#endif + return result; +} + +//---------------------------------------------------------------------------- + diff --git a/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_ParamDefine.cpp b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_ParamDefine.cpp new file mode 100644 index 00000000..2c3b9e3f --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_ParamDefine.cpp @@ -0,0 +1,169 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttributeSampler_ParamDefine.h" + +#include "PopcornFX_Suite.h" + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +struct STableString +{ + A_u_long index; + A_char str[256]; +} ; + +//---------------------------------------------------------------------------- + +STableString g_strs[StrID_NUMTYPES] = +{ + { StrID_NONE, "" }, + { StrID_Name, "Attribute Sampler" }, + { StrID_Description, "PopcornFX Plugin." }, + { StrID_Generic_Infernal_Uuid, "AttributeKey" }, + { StrID_Generic_Infernal_Name, "AttributeSamplerName" }, + { StrID_Parameters_Shapes, "Geometry" }, + { StrID_Parameters_Shapes_Combobox, "Box|Sphere|Ellipsoid|Cylinder|Capsule|Cone|Mesh" }, + { StrID_Topic_Shape_Start, "Shapes Properties" }, + { StrID_Topic_Shape_Box_Start, "Box" }, + { StrID_Parameters_Box_Size_X, "Width" }, + { StrID_Parameters_Box_Size_Y, "Height" }, + { StrID_Parameters_Box_Size_Z, "Depth" }, + { StrID_Topic_Shape_Sphere_Start, "Sphere" }, + { StrID_Parameters_Sphere_Radius, "Radius" }, + { StrID_Parameters_Sphere_InnerRadius, "Inner Radius" }, + { StrID_Topic_Shape_Ellipsoid_Start, "Complex Ellipsoid" }, + { StrID_Parameters_Ellipsoid_Radius, "Radius" }, + { StrID_Parameters_Ellipsoid_InnerRadius, "Inner Radius" }, + { StrID_Topic_Shape_Cylinder_Start, "Cylinder" }, + { StrID_Parameters_Cylinder_Radius, "Radius" }, + { StrID_Parameters_Cylinder_Height, "Height" }, + { StrID_Parameters_Cylinder_InnerRadius, "Inner Radius" }, + { StrID_Topic_Shape_Capsule_Start, "Capsule" }, + { StrID_Parameters_Capsule_Radius, "Radius" }, + { StrID_Parameters_Capsule_Height, "Height" }, + { StrID_Parameters_Capsule_InnerRadius, "Inner Radius" }, + { StrID_Topic_Shape_Cone_Start, "Cone" }, + { StrID_Parameters_Cone_Radius, "Radius" }, + { StrID_Parameters_Cone_Height, "Height" }, + { StrID_Topic_Shape_Mesh_Start, "Mesh" }, + { StrID_Parameters_Mesh_Scale, "Scale" }, + { StrID_Parameters_Mesh_Path, "Mesh Path" }, + { StrID_Parameters_Mesh_Path_Button, "Browse" }, + { StrID_Parameters_Mesh_Bind_Backdrop, "Bind to Backdrop" }, + { StrID_Parameters_Mesh_Bind_Backdrop_Weight_Enabled, "Weight Sampling" }, + { StrID_Parameters_Mesh_Bind_Backdrop_ColorStreamID, "Color Stream ID" }, + { StrID_Parameters_Mesh_Bind_Backdrop_WeightStreamID, "Weight Stream ID" }, + { StrID_Parameters_Layer_Pick, "Layer" }, + { StrID_Parameters_Layer_Sample_Once, "Sample once" }, + { StrID_Parameters_Layer_Sample_Seeking, "Sample while seeking" }, + { StrID_Parameters_VectorField_Path, "VectorField Path" }, + { StrID_Parameters_VectorField_Path_Button, "Browse" }, + { StrID_Parameters_VectorField_Strength, "Strength" }, + { StrID_Parameters_VectorField_Position, "Position" }, + { StrID_Parameters_VectorField_Interpolation, "Interpolation Type" }, + { StrID_Parameters_VectorField_Interpolation_Combobox, "Point|Trilinear|Quadrilinear" }, + { StrID_Parameters_Layer_Sample_Downsampling_X, "Downsample X" }, + { StrID_Parameters_Layer_Sample_Downsampling_Y, "Downsample Y" }, +}; + +//---------------------------------------------------------------------------- + +struct STableVisibility +{ + A_u_long index; + bool visibility[__AttributeSamplerType_Count]; +}; + +//---------------------------------------------------------------------------- + +STableVisibility g_attributeSamplerParamVisibility[__AttributeSamplerType_Parameters_Count] = +{ + // None , AT , Audio, Curve, Event, Geom , Img , ImgAT, Text , Vector + { 0,/*Padding*/ { false, false, false, false, false, false, false, false, false, false } },/*Padding*/ + { AttributeSamplerType_Parameters_Infernal_Uuid, { false, false, false, false, false, false, false, false, false, false } }, + { AttributeSamplerType_Parameters_Infernal_Name, { false, false, false, false, false, false, false, false, false, false } }, + { AttributeSamplerType_Parameters_Shapes, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Box_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Box_Size_X, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Box_Size_Y, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Box_Size_Z, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Box_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Sphere_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Sphere_Radius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Sphere_InnerRadius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Sphere_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Ellipsoid_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Ellipsoid_Radius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Ellipsoid_InnerRadius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Ellipsoid_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Cylinder_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Cylinder_Radius, { false, false, false, false, false, TRUE, false, false, false, false } }, + // None , AT , Audio, Curve, Event, Geom , Img , ImgAT, Text , Vector + { AttributeSamplerType_Parameters_Cylinder_Height, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Cylinder_InnerRadius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Cylinder_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Capsule_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Capsule_Radius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Capsule_Height, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Capsule_InnerRadius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Capsule_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Cone_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Cone_Radius, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Cone_Height, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Cone_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Mesh_Start, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Scale, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Path, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Bind_Backdrop, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_Weighted_Enabled, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_ColorStreamID, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_WeightStreamID, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_Mesh_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + { AttributeSamplerType_Topic_Shape_End, { false, false, false, false, false, TRUE, false, false, false, false } }, + // None , AT , Audio, Curve, Event, Geom , Img , ImgAT, Text , Vector + { AttributeSamplerType_Layer_Pick, { false, false, TRUE, false, false, false, TRUE, false, TRUE, false } }, + { AttributeSamplerType_Layer_Sample_Once, { false, false, false, false, false, false, TRUE, false, TRUE, false } }, + { AttributeSamplerType_Layer_Sample_Seeking, { false, false, TRUE, false, false, false, TRUE, false, TRUE, false } }, + + { AttributeSamplerType_Parameters_VectorField_Path, { false, false, false, false, false, false, false, false, false, TRUE } }, + { AttributeSamplerType_Parameters_VectorField_Strength, { false, false, false, false, false, false, false, false, false, TRUE } }, + { AttributeSamplerType_Parameters_VectorField_Position, { false, false, false, false, false, false, false, false, false, TRUE } }, + { AttributeSamplerType_Parameters_VectorField_Interpolation, { false, false, false, false, false, false, false, false, false, TRUE } }, + + { AttributeSamplerType_Layer_Sample_Downsampling_X, { false, false, false, false, false, false, TRUE, false, false, false } }, + { AttributeSamplerType_Layer_Sample_Downsampling_Y, { false, false, false, false, false, false, TRUE, false, false, false } }, + // None , AT , Audio, Curve, Event, Geom , Img , ImgAT, Text , Vector +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +//---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" +{ +#endif + +A_char *GetStringPtr(int strNum) +{ + return AAePk::g_strs[strNum].str; +} + +#ifdef __cplusplus +} +#endif + +//---------------------------------------------------------------------------- + +bool GetParamsVisibility(int num, AAePk::EAttributeSamplerType type) +{ + return AAePk::g_attributeSamplerParamVisibility[num].visibility[type]; +} diff --git a/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_PluginInterface.cpp b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_PluginInterface.cpp new file mode 100644 index 00000000..7a85032b --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_PluginInterface.cpp @@ -0,0 +1,780 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttributeSampler_PluginInterface.h" +#include "AEAttributeSampler_SequenceData.h" +#include "AEAttributeSampler_ParamDefine.h" + +#include "PopcornFX_UID.h" + +//AE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//AAE Plugin code +#include +#include + +#include +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +CPluginInterface *CPluginInterface::m_Instance = nullptr; +uint32_t CPluginInterface::m_AttrUID = 1; + +//---------------------------------------------------------------------------- + +CPluginInterface::CPluginInterface() +{ +} + +//---------------------------------------------------------------------------- + +CPluginInterface::~CPluginInterface() +{ + for (auto& it : m_AttributeData) + { + delete(it.second); + } + m_AttributeData.clear(); +} + +//---------------------------------------------------------------------------- + +CPluginInterface &CPluginInterface::Instance() +{ + if (CPluginInterface::m_Instance == nullptr) + { + m_Instance = new CPluginInterface(); + } + return *m_Instance; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::About( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + suites.ANSICallbacksSuite1()->sprintf(AAEData.m_OutData->return_msg, + "%s v%d.%d.%d\r%s", + STR(StrID_Name), + AEPOPCORNFX_MAJOR_VERSION, + AEPOPCORNFX_MINOR_VERSION, + AEPOPCORNFX_BUG_VERSION, + STR(StrID_Description)); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + m_MainThreadID = std::this_thread::get_id(); + + AEFX_SuiteScoper popcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + AAEData.m_OutData->my_version = PF_VERSION( AEPOPCORNFX_MAJOR_VERSION, + AEPOPCORNFX_MINOR_VERSION, + AEPOPCORNFX_BUG_VERSION, + AEPOPCORNFX_STAGE_VERSION, + AEPOPCORNFX_BUILD_VERSION); + + //PF_OutFlag_DEEP_COLOR_AWARE -> To support 16bit per chan format. + //PF_OutFlag_I_AM_OBSOLETE -> Do not show in menu. We do not want user to create this effect manually. + //PF_OutFlag_SEND_UPDATE_PARAMS_UI -> To be notified when PF_ParamFlag_SUPERVISE is set on parameters + AAEData.m_OutData->out_flags = PF_OutFlag_DEEP_COLOR_AWARE | + PF_OutFlag_I_AM_OBSOLETE | + PF_OutFlag_SEND_UPDATE_PARAMS_UI; + //PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS -> To be able to change dynamicly some out_flags. see doc. + //PF_OutFlag2_FLOAT_COLOR_AWARE -> To support 32bit per chan format. Need PF_OutFlag2_SUPPORTS_SMART_RENDER + //PF_OutFlag2_SUPPORTS_SMART_RENDER -> Necessary for new render pipeline. + //PF_OutFlag2_I_USE_3D_CAMERA -> Can query 3D camera information, Not sure if necessery in Attribute or just on Effect. + AAEData.m_OutData->out_flags2 = PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS | + PF_OutFlag2_FLOAT_COLOR_AWARE | + PF_OutFlag2_SUPPORTS_SMART_RENDER | + PF_OutFlag2_I_USE_3D_CAMERA | + PF_OutFlag2_SUPPORTS_THREADED_RENDERING; + + suites.UtilitySuite3()->AEGP_RegisterWithAEGP(nullptr, STR(StrID_Name), &m_AAEID); + + return popcornFXSuite->InitializePopcornFXIFN(AAEData); +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::ParamsSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEFX_SuiteScoper popcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + PF_Err result = PF_Err_NONE; + PF_InData *in_data = AAEData.m_InData; //Used in AE Macros + PF_ParamDef def; + float minFloat = -100000.0f; //std::numeric_limits::min() crashes AfterFX, smashing his stack to pieces. + float maxFloat = 100000.0f; //same as above. + + m_ParametersIndexes = new int[__AttributeSamplerType_Parameters_Count]; + for (unsigned int i = 0; i < __AttributeSamplerType_Parameters_Count; ++i) + m_ParametersIndexes[i] = -1; + m_ParametersIndexes[0] = 0; // First Parameter is reserved to AE + + CBasePluginInterface::AddCheckBoxParameter(in_data, GetStringPtr(StrID_Generic_Infernal_Uuid), AttributeSamplerType_Parameters_Infernal_Uuid); + CBasePluginInterface::AddCheckBoxParameter(in_data, GetStringPtr(StrID_Generic_Infernal_Name), AttributeSamplerType_Parameters_Infernal_Name, false, 0, PF_PUI_INVISIBLE); + + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_INTERP; + PF_ADD_POPUP( GetStringPtr(StrID_Parameters_Shapes), + __SamplerShapeType_Count, + SamplerShapeType_Box, + GetStringPtr(StrID_Parameters_Shapes_Combobox), + AttributeSamplerType_Parameters_Shapes); + m_ParametersIndexes[AttributeSamplerType_Parameters_Shapes] = ++m_CurrentIndex; + + CBasePluginInterface::StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Start), AttributeSamplerType_Topic_Shape_Start); + { + CBasePluginInterface::StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Box_Start), AttributeSamplerType_Topic_Shape_Box_Start); + { + CBasePluginInterface::AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Box_Size_X), AttributeSamplerType_Parameters_Box_Size_X, 0.5f); + CBasePluginInterface::AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Box_Size_Y), AttributeSamplerType_Parameters_Box_Size_Y, 0.5f); + CBasePluginInterface::AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Box_Size_Z), AttributeSamplerType_Parameters_Box_Size_Z, 0.5f); + } + CBasePluginInterface::EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Box_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Sphere_Start), AttributeSamplerType_Topic_Shape_Sphere_Start); + { + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Sphere_Radius), AttributeSamplerType_Parameters_Sphere_Radius, 1.0f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Sphere_InnerRadius), AttributeSamplerType_Parameters_Sphere_InnerRadius, 0.0f); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Sphere_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Ellipsoid_Start), AttributeSamplerType_Topic_Shape_Ellipsoid_Start); + { + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Ellipsoid_Radius), AttributeSamplerType_Parameters_Ellipsoid_Radius, 1.0f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Ellipsoid_InnerRadius), AttributeSamplerType_Parameters_Ellipsoid_InnerRadius, 0.0f); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Ellipsoid_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Cylinder_Start), AttributeSamplerType_Topic_Shape_Cylinder_Start); + { + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Cylinder_Radius), AttributeSamplerType_Parameters_Cylinder_Radius, 1.0f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Cylinder_Height), AttributeSamplerType_Parameters_Cylinder_Height, 0.5f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Cylinder_InnerRadius), AttributeSamplerType_Parameters_Cylinder_InnerRadius, 0.0f); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Cylinder_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Capsule_Start), AttributeSamplerType_Topic_Shape_Capsule_Start); + { + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Capsule_Radius), AttributeSamplerType_Parameters_Capsule_Radius, 1.0f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Capsule_Height), AttributeSamplerType_Parameters_Capsule_Height, 0.5f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Capsule_InnerRadius), AttributeSamplerType_Parameters_Capsule_InnerRadius, 0.0f); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Capsule_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Cone_Start), AttributeSamplerType_Topic_Shape_Cone_Start); + { + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Cone_Radius), AttributeSamplerType_Parameters_Cone_Radius, 1.0f); + AddFloatParameterUnbound(in_data, GetStringPtr(StrID_Parameters_Cone_Height), AttributeSamplerType_Parameters_Cone_Height, 0.5f); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Cone_End); + + StartParameterCategory(in_data, GetStringPtr(StrID_Topic_Shape_Mesh_Start), AttributeSamplerType_Topic_Shape_Mesh_Start); + { + AEFX_CLR_STRUCT(def); + PF_ADD_FLOAT_SLIDERX(GetStringPtr(StrID_Parameters_Mesh_Scale), minFloat, maxFloat, minFloat, maxFloat, 1.0f/*default*/, 6, 0, 0, AttributeSamplerType_Parameters_Mesh_Scale); + m_ParametersIndexes[AttributeSamplerType_Parameters_Mesh_Scale] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetStringPtr(StrID_Parameters_Mesh_Path), GetStringPtr(StrID_Parameters_Mesh_Path_Button), 0, PF_ParamFlag_SUPERVISE, AttributeSamplerType_Parameters_Mesh_Path); + m_ParametersIndexes[AttributeSamplerType_Parameters_Mesh_Path] = ++m_CurrentIndex; + + AddCheckBoxParameter(in_data, GetStringPtr(StrID_Parameters_Mesh_Bind_Backdrop), AttributeSamplerType_Parameters_Mesh_Bind_Backdrop); + + AddCheckBoxParameter(in_data, GetStringPtr(StrID_Parameters_Mesh_Bind_Backdrop_Weight_Enabled), AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_Weighted_Enabled); + + AddIntParameter(in_data, GetStringPtr(StrID_Parameters_Mesh_Bind_Backdrop_ColorStreamID), AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_ColorStreamID, 0, 0, 100); + AddIntParameter(in_data, GetStringPtr(StrID_Parameters_Mesh_Bind_Backdrop_WeightStreamID), AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_WeightStreamID, 0, 0, 100); + + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_Mesh_End); + } + EndParameterCategory(in_data, AttributeSamplerType_Topic_Shape_End); + + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE; + PF_ADD_LAYER(GetStringPtr(StrID_Parameters_Layer_Pick), PF_LayerDefault_NONE, AttributeSamplerType_Layer_Pick); + m_ParametersIndexes[AttributeSamplerType_Layer_Pick] = ++m_CurrentIndex; + + AddCheckBoxParameter(in_data, GetStringPtr(StrID_Parameters_Layer_Sample_Once), AttributeSamplerType_Layer_Sample_Once); + + AddCheckBoxParameter(in_data, GetStringPtr(StrID_Parameters_Layer_Sample_Seeking), AttributeSamplerType_Layer_Sample_Seeking); + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetStringPtr(StrID_Parameters_VectorField_Path), GetStringPtr(StrID_Parameters_Mesh_Path_Button), 0, PF_ParamFlag_SUPERVISE, AttributeSamplerType_Parameters_VectorField_Path); + m_ParametersIndexes[AttributeSamplerType_Parameters_VectorField_Path] = ++m_CurrentIndex; + + AddFloatParameter(in_data, GetStringPtr(StrID_Parameters_VectorField_Strength), AttributeSamplerType_Parameters_VectorField_Strength, 0.1f, 0.0f, 10.0f); + + AEFX_CLR_STRUCT(def); + def.ui_flags = PF_PUI_INVISIBLE; + def.param_type = PF_Param_POINT_3D; + PF_STRCPY(def.name, (GetStringPtr(StrID_Parameters_VectorField_Position))); + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = 0; + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = 0; + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = 0; + def.uu.id = (AttributeSamplerType_Parameters_VectorField_Position); + PF_ADD_PARAM(in_data, -1, &def); + m_ParametersIndexes[AttributeSamplerType_Parameters_VectorField_Position] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + //def.ui_flags = PF_PUI_STD_CONTROL_ONLY; + PF_ADD_POPUP(GetStringPtr(StrID_Parameters_VectorField_Interpolation), + __EInterpolationType_Count, + EInterpolationType_Point, + GetStringPtr(StrID_Parameters_VectorField_Interpolation_Combobox), + AttributeSamplerType_Parameters_VectorField_Interpolation); + m_ParametersIndexes[AttributeSamplerType_Parameters_VectorField_Interpolation] = ++m_CurrentIndex; + + AddFloatParameter(in_data, GetStringPtr(StrID_Parameters_Layer_Sample_Downsampling_X), AttributeSamplerType_Layer_Sample_Downsampling_X, 1.0f, 1.0f, 100.0f); + AddFloatParameter(in_data, GetStringPtr(StrID_Parameters_Layer_Sample_Downsampling_Y), AttributeSamplerType_Layer_Sample_Downsampling_Y, 1.0f, 1.0f, 100.0f); + + AAEData.m_OutData->num_params = __AttributeSamplerType_Parameters_Count; + + popcornFXSuite->SetParametersIndexes(m_ParametersIndexes, EPKChildPlugins::SAMPLER); + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetdown( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + + if (m_ParametersIndexes != nullptr) + delete[] m_ParametersIndexes; + m_ParametersIndexes = nullptr; + + for (auto it = m_AttributeData.begin(); it != m_AttributeData.end(); ++it) + { + if (it->second != nullptr) + { + delete (it->second); + it->second = nullptr; + } + } + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + + A_Err result = A_Err_NONE; + SAttributeSamplerSequenceDataFlat *sequenceData = nullptr; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Handle sequenceDataHandle = suites.HandleSuite1()->host_new_handle(sizeof(SAttributeSamplerSequenceDataFlat)); + + if (!sequenceDataHandle) + return PF_Err_OUT_OF_MEMORY; + sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + if (sequenceData != nullptr) + { + AEFX_CLR_STRUCT(*sequenceData); + + sequenceData->m_IsFlat = true; + + sequenceData->SetUUID(CUUIDGenerator::Get16().data()); + sequenceData->SetName("AttributeSamplerName"); + sequenceData->SetResourcePath(""); + + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + sequenceData->SetLayerID(dstID); + + _RegisterAttributeInstancePlugin(AAEData, params, sequenceData, true); + + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (AAEData.m_InData->sequence_data) + { + PF_Handle sequenceDataFlatHandle = AAEData.m_InData->sequence_data; + SAttributeSamplerSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataFlatHandle)); + + if (sequenceDataFlat) + { + _RegisterAttributeInstancePlugin(AAEData, params, sequenceDataFlat, false); + AAEData.m_OutData->sequence_data = sequenceDataFlatHandle; + + suites.HandleSuite1()->host_unlock_handle(sequenceDataFlatHandle); + } + } + else + { + result = SequenceSetup(AAEData, params, output); + } + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (!AAEData.m_InData->sequence_data) + return result; + + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + SAttributeSamplerSequenceDataFlat *sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + + if (sequenceData) + { + std::string uuid; + //Check Layer ID to determine if its a duplicate. if so, update LayerID and regenerate UUID + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + { + if (sequenceData->m_LayerID != dstID) + { + sequenceData->m_LayerID = dstID; + sequenceData->SetUUID(CUUIDGenerator::Get16().data()); + } + } + _RegisterAttributeInstancePlugin(AAEData, params, sequenceData, false); + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Uuid]) != PF_Err_NONE) + return result; + + if (m_AttributeData.count(uuid) == 0) + return result; + + SAttributeSamplerDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + + if (descriptor == nullptr) + return result; + + sequenceData->m_IsFlat = true; + sequenceData->SetName(descriptor->GetAttributePKKey().c_str()); + sequenceData->SetResourcePath(descriptor->m_ResourcePath.c_str()); + + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + else + result = PF_Err_INTERNAL_STRUCT_DAMAGED; + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + if (AAEData.m_InData->sequence_data != nullptr) + { + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + suites.HandleSuite1()->host_dispose_handle(sequenceDataHandle); + } + AAEData.m_InData->sequence_data = nullptr; + AAEData.m_OutData->sequence_data = nullptr; + + return PF_Err_NONE; + +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::PreRender(SAAEIOData &AAEData) +{ + PF_RenderRequest req = AAEData.m_ExtraData.m_PreRenderData->input->output_request; + PF_CheckoutResult in_result; + + AE_VERIFY(AAEData.m_ExtraData.m_PreRenderData != nullptr); + AE_VERIFY(AAEData.m_ExtraData.m_PreRenderData->cb != nullptr); + + AAEData.m_ExtraData.m_PreRenderData->cb->checkout_layer(AAEData.m_InData->effect_ref, + ATTRIBUTESAMPLER_INPUT, + ATTRIBUTESAMPLER_INPUT, + &req, + AAEData.m_InData->current_time, + AAEData.m_InData->local_time_step, + AAEData.m_InData->time_scale, + &in_result); + + UnionLRect(&in_result.result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->result_rect); + UnionLRect(&in_result.max_result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->max_result_rect); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SmartRender(SAAEIOData &AAEData) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_EffectWorld *inputWorld = nullptr; + PF_EffectWorld *outputWorld = nullptr; + PF_Err err = PF_Err_NONE; + + std::string uuid; + + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_layer_pixels(AAEData.m_InData->effect_ref, ATTRIBUTESAMPLER_INPUT, &inputWorld); + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_output(AAEData.m_InData->effect_ref, &outputWorld); + + if (inputWorld == nullptr || outputWorld == nullptr) + { + return PF_Err_BAD_CALLBACK_PARAM; + } + outputWorld->data = inputWorld->data; + + AAEData.m_ExtraData.m_SmartRenderData->cb->checkin_layer_pixels(AAEData.m_InData->effect_ref, ATTRIBUTESAMPLER_INPUT); + + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::UpdateParams(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)AAEData; + (void)params; + + PF_Err result = PF_Err_NONE; + std::string uuid; + + if (AAEData.m_InData->appl_id == 'PrMr') + return result; + + if (_GetAttributeSequenceUID(AAEData, uuid) == false) + return PF_Err_BAD_CALLBACK_PARAM; + if (m_AttributeData.count(uuid) == 0) + return result; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + SAttributeSamplerDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + + if (descriptor == nullptr) + return result; + + if (descriptor != nullptr) + { + if (m_ParametersIndexes[AttributeSamplerType_Parameters_Mesh_Path] == (AAEData.m_ExtraData.m_ChangeParamData->param_index) || + m_ParametersIndexes[AttributeSamplerType_Parameters_VectorField_Path] == (AAEData.m_ExtraData.m_ChangeParamData->param_index)) + { + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper(AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + result |= PopcornFXSuite->Display_AttributeSampler_BrowseMeshDialog(AAEData, descriptor); + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER; + } + else if (m_ParametersIndexes[AttributeSamplerType_Layer_Pick] == (AAEData.m_ExtraData.m_ChangeParamData->param_index)) + { + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER; + } + } + return result; +} + +//---------------------------------------------------------------------------- + +bool CPluginInterface::_GetAttributeSequenceUID(SAAEIOData &AAEData, std::string &out) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + SAttributeSamplerSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + + out.clear(); + if (sequenceDataFlat && sequenceDataFlat->m_IsFlat == true) + { + out.append(sequenceDataFlat->m_AttributeUUID, strlen(sequenceDataFlat->m_AttributeUUID)); + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + return true; + } + return false; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::_UpdateParamsVisibility(SAAEIOData &AAEData, SAttributeSamplerData *AttrData) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err err = PF_Err_NONE; + AEGP_EffectRefH effectRef = nullptr; + AEGP_StreamRefH streamRef = nullptr; + + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + + err = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + + for (int i = 1; i < __AttributeSamplerType_Parameters_Count; ++i) // Start at 1, first params is reserved. + { + err |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectRef, m_ParametersIndexes[i], &streamRef); + if (!AE_VERIFY(err == A_Err_NONE)) + { + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return err; + + } + bool visibility = GetParamsVisibility(i, AttrData->m_DescAttribute->m_Type); + + // Toggle visibility of parameter + err |= suites.DynamicStreamSuite2()->AEGP_SetDynamicStreamFlag(streamRef, AEGP_DynStreamFlag_HIDDEN, FALSE, !visibility); + + err |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + streamRef = nullptr; + if (!AE_VERIFY(err == A_Err_NONE)) + { + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return err; + } + } + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::HandleDataFromAEGP(SAAEIOData &AAEData, + PF_ParamDef *params[]) +{ + (void)params; + + PF_Err err = PF_Err_NONE; + void *extraData = AAEData.m_ExtraData.m_UndefinedData; + SAttributeSamplerDesc *desc = reinterpret_cast(extraData); + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + if (desc != nullptr) + { + if (desc->m_IsDeleted) + { + std::string uuid; + + if (_GetAttributeSequenceUID(AAEData, uuid) == false) + { + AE_VERIFY(false); + return PF_Err_BAD_CALLBACK_PARAM; + } + + if (m_AttributeData.count(uuid) == 0) + return PF_Err_BAD_CALLBACK_PARAM; + + SAttributeSamplerData *AttrData = m_AttributeData[uuid]; + + if (AttrData) + { + m_AttributeData.erase(uuid); + + AttrData->m_DescAttribute = nullptr; + if (desc->m_Descriptor != nullptr) + delete desc->m_Descriptor; + delete desc; + delete AttrData; + return PF_Err_NONE; + } + } + else + { + m_AttrUID += 1; + + std::string pkKey; + std::string uuid; + SAttributeSamplerData *AttrData = nullptr; + + if (_GetAttributeSequenceUID(AAEData, uuid) == false) + { + AE_VERIFY(false); + return PF_Err_BAD_CALLBACK_PARAM; + } + if (m_AttributeData.count(uuid) == 0) + { + AttrData = new SAttributeSamplerData{}; + } + AttrData = m_AttributeData[uuid]; + AttrData->m_DescAttribute = desc; + + pkKey = AttrData->m_DescAttribute->GetAttributePKKey(); + + AttrData->m_DescAttribute->m_IsDefaultValue = AttrData->m_IsDefault; + AttrData->m_DescAttribute->m_ResourcePath = AttrData->m_ResourcePath; + + AEGP_EffectRefH effectRef = nullptr; + + err = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(err == A_Err_NONE)) + return err; + + err |= SetEffectName(AAEData, pkKey, effectRef); + err |= SetParameterStreamName(AAEData, uuid, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Uuid], effectRef); + err |= SetParameterStreamName(AAEData, pkKey, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Name], effectRef); + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + effectRef = nullptr; + + + _UpdateParamsVisibility(AAEData, AttrData); + } + + } + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER; + AE_VERIFY(err == A_Err_NONE); + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)params; + std::string uuid; + + if (GetParamsSequenceUID(AAEData, uuid, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Uuid]) != PF_Err_NONE) + return PF_Err_BAD_CALLBACK_PARAM; + if (m_AttributeData.count(uuid) == 0) + return A_Err_NONE; + + PF_Err err = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + SAttributeSamplerDesc *descriptor = m_AttributeData[uuid]->m_DescAttribute; + + if (descriptor == nullptr) + return PF_Err_NONE; + + if (descriptor != nullptr && descriptor->m_IsDeleted) + { + m_AttributeData.erase(uuid); + delete descriptor; + return PF_Err_NONE; + } + return err; +} + +//---------------------------------------------------------------------------- + +A_Err CPluginInterface::_RegisterAttributeInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SAttributeSamplerSequenceDataFlat *sequenceData, bool setup) +{ + (void)params; + + PF_Err err = PF_Err_NONE; + std::string id; + + if (sequenceData != nullptr) + id = sequenceData->m_AttributeUUID; + else if (_GetAttributeSequenceUID(AAEData, id) == false) + return A_Err_NONE; + + if (m_AttributeData.count(id) == 0) + { + SAttributeSamplerData *AttrData = new SAttributeSamplerData{}; + + if (!AE_VERIFY(AttrData != nullptr)) + return A_Err_ALLOC; + + if (!setup) + { + if (m_MainThreadID == std::this_thread::get_id()) + { + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_EffectRefH effectRef = nullptr; + + err |= suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + + std::string uuid(sequenceData->m_AttributeUUID); + std::string name(sequenceData->m_AttributeName); + + err |= SetParameterStreamName(AAEData, uuid, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Uuid], effectRef); + err |= SetParameterStreamName(AAEData, name, m_ParametersIndexes[AttributeSamplerType_Parameters_Infernal_Name], effectRef); + err |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + } + m_AttributeData[id] = AttrData; + } + if (sequenceData != nullptr) + { + m_AttributeData[id]->m_ResourcePath = sequenceData->m_ResourcePath; + } + AE_VERIFY(err == A_Err_NONE); + return A_Err_NONE;; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_SequenceData.cpp b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_SequenceData.cpp new file mode 100644 index 00000000..4f13f72d --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AEAttributeSampler_SequenceData.cpp @@ -0,0 +1,59 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEAttributeSampler_SequenceData.h" + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +bool SAttributeSamplerSequenceDataFlat::SetUUID(const char *uuid) +{ + m_AttributeUUIDLen = std::min(strlen(uuid) + 1, SequenceCST::UUID_LEN); + if (m_AttributeUUIDLen != 0) + { + strncpy(m_AttributeUUID, uuid, m_AttributeUUIDLen); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSamplerSequenceDataFlat::SetName(const char *name) +{ + m_AttributeNameLen = std::min(strlen(name) + 1, SequenceCST::MAX_NAME_LEN); + if (m_AttributeNameLen != 0) + { + strncpy(m_AttributeName, name, m_AttributeNameLen); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSamplerSequenceDataFlat::SetResourcePath(const char *path) +{ + m_ResourcePathLen = std::min(strlen(path) + 1, SequenceCST::MAX_PATH_LEN); + if (m_ResourcePathLen != 0) + { + strncpy(m_ResourcePath, path, m_ResourcePathLen); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool SAttributeSamplerSequenceDataFlat::SetLayerID(A_long id) +{ + m_LayerID = id; + return true; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler.plugin-Info.plist b/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler.plugin-Info.plist new file mode 100644 index 00000000..719de26a --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler.plugin-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleExecutable + AttributeSampler + CFBundleIdentifier + com.PersistantStudio.PopcornFX.AttributeSampler + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + PK-AfterEffects_AttributeSampler + CFBundlePackageType + eFKT + CFBundleSignature + FXTC + LSRequiresCarbon + + NSAppleScriptEnabled + No + NSHumanReadableCopyright + © PersistantStudio PopcornFX + + diff --git a/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler_PiPL.r b/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler_PiPL.r new file mode 100644 index 00000000..bf73cd01 --- /dev/null +++ b/AE_Effect_AttributeSampler/Sources/AE_Effect_AttributeSampler_PiPL.r @@ -0,0 +1,73 @@ +#include "AEConfig.h" +#include "AE_EffectVers.h" + +#ifndef AE_OS_WIN + #include +#endif + +#ifdef AE_OS_WIN +#include "../../AE_Suites/PopcornFX_Define_Version.h" +#endif +#ifdef AE_OS_MAC +#include "PopcornFX_Define_Version.h" +#endif + +resource 'PiPL' (16000) { + { /* array properties: 12 elements */ + /* [1] */ + Kind { + AEEffect + }, + /* [2] */ + Name { + "Attribute Sampler" + }, + /* [3] */ + Category { + "PopcornFX" + }, +#ifdef AE_OS_WIN + #ifdef AE_PROC_INTELx64 + CodeWin64X86 {"EffectMain"}, + #endif +#else + #ifdef AE_OS_MAC + CodeMacIntel64 {"EffectMain"}, + #endif +#endif + /* [6] */ + AE_PiPL_Version { + 2, + 0 + }, + /* [7] */ + AE_Effect_Spec_Version { + PF_PLUG_IN_VERSION, + PF_PLUG_IN_SUBVERS + }, + /* [8] */ + AE_Effect_Version { + AEPOPCORNFX_PIPL_VERSION + }, + /* [9] */ + AE_Effect_Info_Flags { + 0 + }, + /* [10] */ + AE_Effect_Global_OutFlags { + 0x06200000 + }, + AE_Effect_Global_OutFlags_2 { + 0x08001403 + }, + /* [11] */ + AE_Effect_Match_Name { + "ADBE PopcornFX Sampler" + }, + /* [12] */ + AE_Reserved_Info { + 8 + } + } +}; + diff --git a/AE_Effect_Emitter/Include/AEEffect_Main.h b/AE_Effect_Emitter/Include/AEEffect_Main.h new file mode 100644 index 00000000..dac2331a --- /dev/null +++ b/AE_Effect_Emitter/Include/AEEffect_Main.h @@ -0,0 +1,39 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEEFFECT_MAIN_H__ +#define __FX_AEEFFECT_MAIN_H__ + +#include + +#ifdef AE_OS_WIN + typedef unsigned short PixelType; + #include +#endif + +#include +#include + +#include "PopcornFX_Define.h" + +//---------------------------------------------------------------------------- + +extern "C" { + DllExport + PF_Err + EffectMain( + PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra); + +} + +//---------------------------------------------------------------------------- + +#endif + diff --git a/AE_Effect_Emitter/Include/AEEffect_ParamDefine.h b/AE_Effect_Emitter/Include/AEEffect_ParamDefine.h new file mode 100644 index 00000000..86ab0a90 --- /dev/null +++ b/AE_Effect_Emitter/Include/AEEffect_ParamDefine.h @@ -0,0 +1,149 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +enum EStrIDType +{ + StrID_None_Param_Name, + StrID_Name_Param_Name, + StrID_Description_Param_Name, + + StrID_Generic_Infernal_Autorender_Param_Name, + + StrID_Parameters_Path, + StrID_Parameters_Path_Button, + + StrID_Parameters_Path_Reimport, + StrID_Parameters_Path_Reimport_Button, + + StrID_Generic_Infernal_Effect_Path_Hash, + + StrID_Topic_Transform_Start, + StrID_Parameters_Position, + StrID_Parameters_Rotation_X, + StrID_Parameters_Rotation_Y, + StrID_Parameters_Rotation_Z, + + StrID_Parameters_Seed, + + StrID_Topic_Rendering_Start, + + StrID_Parameters_Render_Background_Toggle, + StrID_Parameters_Render_Background_Opacity, + + StrID_Parameters_Render_Type, + StrID_Parameters_Render_Type_Combobox, + + StrID_Topic_Camera_Start, + StrID_Parameters_Camera, + StrID_Parameters_Camera_Combobox, + StrID_Parameters_Camera_Position, + StrID_Parameters_Camera_Rotation_X, + StrID_Parameters_Camera_Rotation_Y, + StrID_Parameters_Camera_Rotation_Z, + StrID_Parameters_Camera_FOV, + StrID_Parameters_Camera_Near, + StrID_Parameters_Camera_Far, + + StrID_Parameters_Receive_Light, + + StrID_Topic_PostFX_Start, + + StrID_Topic_Distortion_Start, + StrID_Parameters_Distortion_Enable, + + StrID_Topic_Bloom_Start, + StrID_Parameters_Bloom_Enable, + StrID_Parameters_Bloom_BrightPassValue, + StrID_Parameters_Bloom_Intensity, + StrID_Parameters_Bloom_Attenuation, + StrID_Parameters_Bloom_GaussianBlur, + StrID_Parameters_Bloom_GaussianBlur_Combobox, + StrID_Parameters_Bloom_RenderPassCount, + + StrID_Topic_ToneMapping_Start, + StrID_Parameters_ToneMapping_Enable, + StrID_Parameters_ToneMapping_Saturation, + StrID_Parameters_ToneMapping_Exposure, + + StrID_Topic_FXAA_Start, + StrID_Parameters_FXAA_Enable, + + StrID_Topic_BackdropMesh_Start, + + StrID_Parameters_BackdropMesh_Enable_Rendering, + StrID_Parameters_BackdropMesh_Enable_Collisions, + StrID_Parameters_BackdropMesh_Path, + StrID_Parameters_BackdropMesh_Path_Button, + + StrID_Parameters_BackdropMesh_Reset, + StrID_Parameters_BackdropMesh_Reset_Button, + + StrID_Topic_BackdropMesh_Transform_Start, + StrID_Parameters_BackdropMesh_Position, + StrID_Parameters_BackdropMesh_Rotation_X, + StrID_Parameters_BackdropMesh_Rotation_Y, + StrID_Parameters_BackdropMesh_Rotation_Z, + StrID_Parameters_BackdropMesh_Scale_X, + StrID_Parameters_BackdropMesh_Scale_Y, + StrID_Parameters_BackdropMesh_Scale_Z, + StrID_Parameters_BackdropMesh_Roughness, + StrID_Parameters_BackdropMesh_Metalness, + + StrID_Topic_BackdropAudio_Start, + StrID_Parameters_Audio, + + StrID_Topic_BackdropEnvMap_Start, + StrID_Parameters_BackdropEnvMap_Enable_Rendering, + StrID_Parameters_BackdropEnvMap_Path, + StrID_Parameters_BackdropEnvMap_Path_Button, + StrID_Parameters_BackdropEnvMap_Reset, + StrID_Parameters_BackdropEnvMap_Reset_Button, + StrID_Parameters_BackdropEnvMap_Intensity, + StrID_Parameters_BackdropEnvMap_Color, + + StrID_Topic_Light_Start, + StrID_Parameters_Light_Category, + StrID_Parameters_Light_Combobox, + StrID_Parameters_Light_Direction, + StrID_Parameters_Light_Intensity, + StrID_Parameters_Light_Color, + StrID_Parameters_Light_Ambient, + + StrID_Parameters_Scale_Factor, + StrID_Parameters_Refresh_Render, + StrID_Parameters_Render_Seeking_Toggle, + StrID_Parameters_Simulation_State, + + StrID_Parameters_BackdropMesh_Enable_Animation, + + StrID_Parameters_Path_Marketplace, + StrID_Parameters_Path_Marketplace_Button, + + StrID_Parameters_TransformType, + StrID_Parameters_TransformType_Combobox, + + StrID_Parameters_Position_2D, + StrID_Parameters_Position_2D_Distance, + + StrID_Parameters_BringEffectIntoView, + StrID_Parameters_BringEffectIntoView_Button, + + StrID_num_types +}; + +//---------------------------------------------------------------------------- + +char *GetParamsStringPtr(int strNum); + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_Emitter/Include/AEEffect_PluginInterface.h b/AE_Effect_Emitter/Include/AEEffect_PluginInterface.h new file mode 100644 index 00000000..a8f64e06 --- /dev/null +++ b/AE_Effect_Emitter/Include/AEEffect_PluginInterface.h @@ -0,0 +1,98 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_CPluginInterface_H__ +#define __FX_CPluginInterface_H__ + + +#include "PopcornFX_Define.h" +#include "PopcornFX_Suite.h" +#include "PopcornFX_BasePluginInterface.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +struct SEmitterDesc; +struct SEffectSequenceDataFlat; +struct SAAEIOData; + +//---------------------------------------------------------------------------- + +class CPluginInterface : public CBasePluginInterface +{ + struct SEffectData + { + //Memory Owned by effect + SEmitterDesc *m_Desc; + int m_LastRenderTime = -1; + + std::mutex m_Lock; + + SEffectData() + : m_Desc(nullptr) + { + + } + }; +public: + virtual ~CPluginInterface(); + static CPluginInterface &Instance(); + + PF_Err About(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err ParamsSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err GlobalSetdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + PF_Err SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output); + + PF_Err PreRender(SAAEIOData &AAEData); + PF_Err SmartRender(SAAEIOData &AAEData); + + PF_Err ParamValueChanged(SAAEIOData &AAEData, PF_ParamDef *params[]); + PF_Err UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]); + PF_Err HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]); + PF_Err QueryDynamicFlags(SAAEIOData &AAEData, PF_ParamDef *params[]); + + bool GetEffectSequenceUID(SAAEIOData &AAEData, std::string &out); + + +private: + CPluginInterface(); + static CPluginInterface *m_Instance; + static uint32_t m_AttrUID; + + //void _MakeParamCopy(PF_ParamDef *actual[], PF_ParamDef copy[]); + bool _RegisterEffectInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SEffectSequenceDataFlat *sequenceData); + bool _UnRegisterEffectInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SEffectSequenceDataFlat *sequenceData); + + //PF_Err _UpdateEmitterName(SAAEIOData &AAEData, SEmitterDesc* desc); + //PF_Err _UpdateBackdropMeshPath(SAAEIOData &AAEData, SEmitterDesc* desc); + + std::unordered_map m_EffectData; + std::vector m_QueuedEffectData; + +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif diff --git a/AE_Effect_Emitter/Include/AEEffect_SequenceData.h b/AE_Effect_Emitter/Include/AEEffect_SequenceData.h new file mode 100644 index 00000000..7867a5be --- /dev/null +++ b/AE_Effect_Emitter/Include/AEEffect_SequenceData.h @@ -0,0 +1,65 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AAEFFECT_SEQUENCEDATA_H__ +#define __AAEFFECT_SEQUENCEDATA_H__ + +#include +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +namespace SequenceCST +{ + static const size_t MAX_PATH_LEN = 1024; + static const size_t MAX_NAME_LEN = 100; + static const size_t UUID_LEN = 32; +} + +//---------------------------------------------------------------------------- + +struct SEffectSequenceDataFlat +{ + //Set is useless, as we do not create directly the struct. Just a friendly reminder. + bool m_IsFlat = true; + + char m_EffectUUID[SequenceCST::UUID_LEN]; + + char m_EffectName[SequenceCST::MAX_NAME_LEN]; + size_t m_EffectNameLen; + + char m_EffectPath[SequenceCST::MAX_PATH_LEN]; + size_t m_EffectPathLen; + + char m_EffectPathSource[SequenceCST::MAX_PATH_LEN]; + size_t m_EffectPathSourceLen; + + char m_EffectBackdropMeshPath[SequenceCST::MAX_PATH_LEN]; + size_t m_EffectBackdropMeshPathLen; + + char m_EffectEnvironmentMapPath[SequenceCST::MAX_PATH_LEN]; + size_t m_EffectEnvironmentMapPathLen; + + A_long m_LayerID; + + bool SetEffectName(const char *name); + bool SetEffectPathSource(const char *name); + bool SetEffectBackdropMeshPath(const char *name); + bool SetEffectEnvironmentMapPath(const char *name); + bool SetUUID(const std::string &uuid); + bool SetUUID(const char *uuid); + void SetLayerID(A_long id); + bool CopyFrom(SEffectSequenceDataFlat *src); +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif // !__AAEFFECT_SEQUENCEDATA_H__ + diff --git a/AE_Effect_Emitter/PkgInfo b/AE_Effect_Emitter/PkgInfo new file mode 100644 index 00000000..31cf1f41 --- /dev/null +++ b/AE_Effect_Emitter/PkgInfo @@ -0,0 +1 @@ +eFKTFXTC \ No newline at end of file diff --git a/AE_Effect_Emitter/Precompiled/ae_precompiled.cpp b/AE_Effect_Emitter/Precompiled/ae_precompiled.cpp new file mode 100644 index 00000000..84e52276 --- /dev/null +++ b/AE_Effect_Emitter/Precompiled/ae_precompiled.cpp @@ -0,0 +1 @@ +#include "ae_precompiled.h" diff --git a/AE_Effect_Emitter/Precompiled/ae_precompiled.h b/AE_Effect_Emitter/Precompiled/ae_precompiled.h new file mode 100644 index 00000000..ee643f3d --- /dev/null +++ b/AE_Effect_Emitter/Precompiled/ae_precompiled.h @@ -0,0 +1,8 @@ +#pragma once + +#undef PV_MODULE_NAME +#undef PV_MODULE_SYM +#define PV_MODULE_NAME "AEPlugin" +#define PV_MODULE_SYM AEPlugin + +#include diff --git a/AE_Effect_Emitter/Sources/AEEffect_Main.cpp b/AE_Effect_Emitter/Sources/AEEffect_Main.cpp new file mode 100644 index 00000000..53906ab5 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AEEffect_Main.cpp @@ -0,0 +1,169 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEEffect_Main.h" + +#include "PopcornFX_Suite.h" +#include "AEEffect_PluginInterface.h" +#include "PopcornFX_Define.h" + +#include + +//---------------------------------------------------------------------------- + +extern "C" +{ + DllExport PF_Err PluginDataEntryFunction( PF_PluginDataPtr inPtr, + PF_PluginDataCB inPluginDataCallBackPtr, + SPBasicSuite *inSPBasicSuitePtr, + const char *inHostName, + const char *inHostVersion) + { + (void)inSPBasicSuitePtr; + (void)inHostName; + (void)inHostVersion; + + PF_Err result = PF_Err_INVALID_CALLBACK; + + result = PF_REGISTER_EFFECT( + inPtr, // Infos must match the PopcornFXPiPL.r + inPluginDataCallBackPtr, // + "Emitter", // Name + "ADBE PopcornFX Emitter", // Match Name + "PopcornFX", // Category + AE_RESERVED_INFO); // Reserved Info + return result; + } +} + +//---------------------------------------------------------------------------- + +PF_Err EffectMain( PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamDef *params[], + PF_LayerDef *output, + void *extra) +{ + PF_Err result = PF_Err_NONE; + AAePk::CPluginInterface &AEPlugin = AAePk::CPluginInterface::Instance(); + AAePk::SAAEIOData AAEData{ cmd, in_data, out_data, extra, AEPlugin.GetParametersIndexes() }; + + assert(in_data != nullptr); + assert(out_data != nullptr); + +#if _DEBUG + try + { +#endif + + if (AAEData.m_InData->appl_id == 'PrMr') + { + //User Tried to load plugin in Premiere Pro. + //There is surely a better way to handle this. + return PF_Err_UNRECOGNIZED_PARAM_TYPE; + } + + switch (cmd) + { + // Called once + case PF_Cmd_ABOUT: + //Mandatory + //Version and General Infos about the plugin + result = AEPlugin.About(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETUP: + //Mandatory + //Startup run + result = AEPlugin.GlobalSetup(AAEData, params, output); + break; + case PF_Cmd_PARAMS_SETUP: + //Mandatory + //Setup AAE UI. + result = AEPlugin.ParamsSetup(AAEData, params, output); + break; + case PF_Cmd_GLOBAL_SETDOWN: + //Mandatory + result = AEPlugin.GlobalSetdown(AAEData, params, output); + break; + // Sequence Handling + //UI thread + case PF_Cmd_SEQUENCE_SETUP: + //Each time the user adds the effect to a layer + result = AEPlugin.SequenceSetup(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_RESETUP: + //Load or Duplicate + result = AEPlugin.SequenceReSetup(AAEData, params, output); + break; + //UI thread + case PF_Cmd_SEQUENCE_FLATTEN: + //Effect Saved, copied, duplicated.. + result = AEPlugin.SequenceFlatten(AAEData, params, output); + break; + case PF_Cmd_SEQUENCE_SETDOWN: + //Effect Deleted + result = AEPlugin.SequenceShutdown(AAEData, params, output); + break; + case PF_Cmd_GET_FLATTENED_SEQUENCE_DATA: + break; + // Audio + case PF_Cmd_AUDIO_SETUP: + case PF_Cmd_AUDIO_RENDER: + case PF_Cmd_AUDIO_SETDOWN: + break; + case PF_Cmd_SMART_PRE_RENDER: + //Can be called several times for one render + result = AEPlugin.PreRender(AAEData); + break; + case PF_Cmd_SMART_RENDER: + result = AEPlugin.SmartRender(AAEData); + break; + case PF_Cmd_FRAME_SETDOWN: + //Allow resizing of drawing area + break; + // Messaging + case PF_Cmd_EVENT: + break; + case PF_Cmd_USER_CHANGED_PARAM: + result = AEPlugin.ParamValueChanged(AAEData, params); + break; + //UI thread + //If PF_ParamFlag_SUPERVIZE if set when adding param, PF_Cmd_USER_CHANGED_PARAM is called when value change + case PF_Cmd_UPDATE_PARAMS_UI: + result = AEPlugin.UpdateParamsUI(AAEData, params); + break; + case PF_Cmd_ARBITRARY_CALLBACK: + case PF_Cmd_GET_EXTERNAL_DEPENDENCIES: + break; + case PF_Cmd_COMPLETELY_GENERAL: + result = AEPlugin.HandleDataFromAEGP(AAEData, params); + break; + case PF_Cmd_DO_DIALOG: + //UI thread + //Send when user click on Options + //Received if PF_OutFlag_I_DO_DIALOG is set in PF_Cmd_GLOBAL_SETUP + break; + case PF_Cmd_QUERY_DYNAMIC_FLAGS: + result = AEPlugin.QueryDynamicFlags(AAEData, params); + break; + default: + break; + } + +#if _DEBUG + } + catch (...) + { + assert(false); + } +#endif + if (AAEData.m_ReturnCode != PF_Err_NONE) + return AAEData.m_ReturnCode; + return result; +} + +//---------------------------------------------------------------------------- + diff --git a/AE_Effect_Emitter/Sources/AEEffect_ParamDefine.cpp b/AE_Effect_Emitter/Sources/AEEffect_ParamDefine.cpp new file mode 100644 index 00000000..77a65ab4 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AEEffect_ParamDefine.cpp @@ -0,0 +1,155 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEEffect_ParamDefine.h" + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +struct STableString +{ + A_u_long index; + A_char str[256]; +}; + +//---------------------------------------------------------------------------- + +STableString g_strs_params[StrID_num_types] = +{ + { StrID_None_Param_Name, "" }, + { StrID_Name_Param_Name, "Emitter" }, + { StrID_Description_Param_Name, "PopcornFX Emitter plugin" }, + + { StrID_Generic_Infernal_Autorender_Param_Name, "Internal Autorender" }, + + { StrID_Parameters_Path, "" }, + { StrID_Parameters_Path_Button, "Browse local files" }, + + { StrID_Parameters_Path_Reimport, "" }, + { StrID_Parameters_Path_Reimport_Button, "Reimport" }, + + { StrID_Generic_Infernal_Effect_Path_Hash, "Internal - Param Path Hash" }, + + { StrID_Topic_Transform_Start, "Transform" }, + { StrID_Parameters_Position, "Position" }, + { StrID_Parameters_Rotation_X, "Rotation X" }, + { StrID_Parameters_Rotation_Y, "Rotation Y" }, + { StrID_Parameters_Rotation_Z, "Rotation Z" }, + + { StrID_Parameters_Seed, "Seed" }, + + { StrID_Topic_Rendering_Start, "Rendering" }, + + { StrID_Parameters_Render_Background_Toggle, "Override background opacity" }, + { StrID_Parameters_Render_Background_Opacity, "Background opacity" }, + { StrID_Parameters_Render_Type, "Render Output" }, + { StrID_Parameters_Render_Type_Combobox, "Final|Emissive(Not impld)|Albedo(Not impld)|Normal|Depth" }, + + { StrID_Topic_Camera_Start, "Camera Options" }, + { StrID_Parameters_Camera, "Camera" }, + { StrID_Parameters_Camera_Combobox, "Default Composition|Custom Composition(Not impld)" }, + { StrID_Parameters_Camera_Position, "Position" }, + { StrID_Parameters_Camera_Rotation_X, "Rotation X" }, + { StrID_Parameters_Camera_Rotation_Y, "Rotation Y" }, + { StrID_Parameters_Camera_Rotation_Z, "Rotation Z" }, + { StrID_Parameters_Camera_FOV, "FOV" }, + { StrID_Parameters_Camera_Near, "Near" }, + { StrID_Parameters_Camera_Far, "Far" }, + + { StrID_Parameters_Receive_Light, "Receive Light(Not impld)" }, + + { StrID_Topic_PostFX_Start, "Post Effects" }, + + { StrID_Topic_Distortion_Start, "Distortion" }, + { StrID_Parameters_Distortion_Enable, "Enable" }, + + { StrID_Topic_Bloom_Start, "Bloom" }, + { StrID_Parameters_Bloom_Enable, "Enable" }, + { StrID_Parameters_Bloom_BrightPassValue, "Bright Pass Value" }, + { StrID_Parameters_Bloom_Intensity, "Intensity" }, + { StrID_Parameters_Bloom_Attenuation, "Attenuation" }, + { StrID_Parameters_Bloom_GaussianBlur, "Blur Pixel Radius" }, + { StrID_Parameters_Bloom_GaussianBlur_Combobox, "5|9|13" }, + { StrID_Parameters_Bloom_RenderPassCount, "Render Pass Count" }, + + { StrID_Topic_ToneMapping_Start, "Tone Mapping" }, + { StrID_Parameters_ToneMapping_Enable, "Enable" }, + { StrID_Parameters_ToneMapping_Saturation, "Saturation" }, + { StrID_Parameters_ToneMapping_Exposure, "Exposure" }, + + { StrID_Topic_FXAA_Start, "FXAA" }, + { StrID_Parameters_FXAA_Enable, "Enable" }, + + { StrID_Topic_BackdropMesh_Start, "Backdrop Mesh" }, + + { StrID_Parameters_BackdropMesh_Enable_Rendering, "Enable Rendering" }, + { StrID_Parameters_BackdropMesh_Enable_Collisions, "Enable Collisions" }, + { StrID_Parameters_BackdropMesh_Path, "Mesh Path" }, + { StrID_Parameters_BackdropMesh_Path_Button, "Browse" }, + { StrID_Parameters_BackdropMesh_Reset, "" }, + { StrID_Parameters_BackdropMesh_Reset_Button, "Reset" }, + + { StrID_Topic_BackdropMesh_Transform_Start, "Transform" }, + { StrID_Parameters_BackdropMesh_Position, "Position" }, + { StrID_Parameters_BackdropMesh_Rotation_X, "Rotation X" }, + { StrID_Parameters_BackdropMesh_Rotation_Y, "Rotation Y" }, + { StrID_Parameters_BackdropMesh_Rotation_Z, "Rotation Z" }, + { StrID_Parameters_BackdropMesh_Scale_X, "Scale X" }, + { StrID_Parameters_BackdropMesh_Scale_Y, "Scale Y" }, + { StrID_Parameters_BackdropMesh_Scale_Z, "Scale Z" }, + { StrID_Parameters_BackdropMesh_Roughness, "Roughness" }, + { StrID_Parameters_BackdropMesh_Metalness, "Metalness" }, + + { StrID_Topic_BackdropAudio_Start, "Backdrop Audio" }, + { StrID_Parameters_Audio, "Audio Layer" }, + + { StrID_Topic_BackdropEnvMap_Start, "Environment Map" }, + { StrID_Parameters_BackdropEnvMap_Enable_Rendering, "Enable Rendering" }, + { StrID_Parameters_BackdropEnvMap_Path, "Map Path" }, + { StrID_Parameters_BackdropEnvMap_Path_Button, "Browse" }, + { StrID_Parameters_BackdropEnvMap_Reset, "" }, + { StrID_Parameters_BackdropEnvMap_Reset_Button, "Reset" }, + { StrID_Parameters_BackdropEnvMap_Intensity, "Intensity" }, + { StrID_Parameters_BackdropEnvMap_Color, "Color" }, + + { StrID_Topic_Light_Start, "Light" }, + { StrID_Parameters_Light_Category, "Category" }, + { StrID_Parameters_Light_Combobox, "Internal|All in Composition" }, + { StrID_Parameters_Light_Direction, "Direction" }, + { StrID_Parameters_Light_Intensity, "Intensity" }, + { StrID_Parameters_Light_Color, "Color" }, + { StrID_Parameters_Light_Ambient, "Ambient" }, + + { StrID_Parameters_Scale_Factor, "Effect Scale Up Factor" }, + { StrID_Parameters_Refresh_Render, "Internal" }, + { StrID_Parameters_Render_Seeking_Toggle, "Seeking Simulation" }, + { StrID_Parameters_Simulation_State, "Simulation state" }, + + { StrID_Parameters_BackdropMesh_Enable_Animation, "Enable Animations" }, + + { StrID_Parameters_Path_Marketplace, "Emitter Effect" }, + { StrID_Parameters_Path_Marketplace_Button, "Browse Marketplace" }, + + { StrID_Parameters_TransformType, "Transform Type" }, + { StrID_Parameters_TransformType_Combobox, "3D|2D" }, + + { StrID_Parameters_Position_2D, "Position" }, + { StrID_Parameters_Position_2D_Distance, "Distance To camera" }, + + { StrID_Parameters_BringEffectIntoView, "" }, + { StrID_Parameters_BringEffectIntoView_Button, "Bring Effect to view" }, +}; + +//---------------------------------------------------------------------------- + +A_char *GetParamsStringPtr(int strNum) +{ + return AAePk::g_strs_params[strNum].str; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_Emitter/Sources/AEEffect_PluginInterface.cpp b/AE_Effect_Emitter/Sources/AEEffect_PluginInterface.cpp new file mode 100644 index 00000000..ee91d280 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AEEffect_PluginInterface.cpp @@ -0,0 +1,1304 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEEffect_PluginInterface.h" +#include "AEEffect_ParamDefine.h" +#include "AEEffect_SequenceData.h" + +//AE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//AAE Plugin code +#include "PopcornFX_Suite.h" +#include "PopcornFX_UID.h" + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +int SEmitterDesc::s_ID = 0; + +CPluginInterface *CPluginInterface::m_Instance = nullptr; +uint32_t CPluginInterface::m_AttrUID = 1; + +//---------------------------------------------------------------------------- + +CPluginInterface::CPluginInterface() +{ +} + +//---------------------------------------------------------------------------- + +CPluginInterface::~CPluginInterface() +{ +} + +//---------------------------------------------------------------------------- + +CPluginInterface &CPluginInterface::Instance() +{ + if (CPluginInterface::m_Instance == nullptr) + { + m_Instance = new CPluginInterface(); + } + return *m_Instance; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::About( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + suites.ANSICallbacksSuite1()->sprintf(AAEData.m_OutData->return_msg, + "%s v%d.%d.%d\r%s", + GetParamsStringPtr(StrID_Name_Param_Name), + AEPOPCORNFX_MAJOR_VERSION, + AEPOPCORNFX_MINOR_VERSION, + AEPOPCORNFX_BUG_VERSION, + GetParamsStringPtr(StrID_Description_Param_Name)); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + + AAEData.m_OutData->my_version = PF_VERSION(AEPOPCORNFX_MAJOR_VERSION, AEPOPCORNFX_MINOR_VERSION, AEPOPCORNFX_BUG_VERSION, AEPOPCORNFX_STAGE_VERSION, AEPOPCORNFX_BUILD_VERSION); + + //PF_OutFlag_DEEP_COLOR_AWARE -> To support 16bit per chan format. + //PF_OutFlag_SEND_UPDATE_PARAMS_UI -> To be notified when PF_ParamFlag_SUPERVISE is set on parameters + AAEData.m_OutData->out_flags = PF_OutFlag_DEEP_COLOR_AWARE | + PF_OutFlag_SEND_UPDATE_PARAMS_UI | + PF_OutFlag_I_USE_SHUTTER_ANGLE; + //PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS -> To be able to change dynamicly some out_flags. see doc. + //PF_OutFlag2_FLOAT_COLOR_AWARE -> To support 32bit per chan format. Need PF_OutFlag2_SUPPORTS_SMART_RENDER + //PF_OutFlag2_SUPPORTS_SMART_RENDER -> Necessary for new render pipeline. + //PF_OutFlag2_I_USE_3D_CAMERA -> Can query 3D camera information, Not sure if necessery in Attribute or just on Effect. + //PF_OutFlag2_I_USE_3D_LIGHTS -> Can query 3D LIGHT information, Not sure if necessery in Attribute or just on Effect. + AAEData.m_OutData->out_flags2 = PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS | + PF_OutFlag2_FLOAT_COLOR_AWARE | + PF_OutFlag2_SUPPORTS_SMART_RENDER | + PF_OutFlag2_I_USE_3D_CAMERA | + PF_OutFlag2_I_USE_3D_LIGHTS | + PF_OutFlag2_SUPPORTS_THREADED_RENDERING; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + suites.UtilitySuite3()->AEGP_RegisterWithAEGP(nullptr, GetParamsStringPtr(StrID_Name_Param_Name), &m_AAEID); + + return PopcornFXSuite->InitializePopcornFXIFN(AAEData); +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::ParamsSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + + AEFX_SuiteScoper popcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + AAEData.m_OutData, + "PopcornFX suite was not found."); + + PF_Err result = PF_Err_NONE; + PF_InData *in_data = AAEData.m_InData; + PF_ParamDef def; + + const float minFloat = -1000000.0f;//std::numeric_limits::min() crashes AfterFX, smashing his stack to pieces. + const float maxFloat = 1000000.0f;//same as above. + + m_ParametersIndexes = new int[__Effect_Parameters_Count]; + for (unsigned int i = 0; i < __Effect_Parameters_Count; ++i) + m_ParametersIndexes[i] = -1; + m_ParametersIndexes[0] = 0; // First Parameter is reserved to AE + + AddFloatParameterUnbound(in_data, GetParamsStringPtr(StrID_Generic_Infernal_Autorender_Param_Name), Effect_Parameters_Infernal_Autorender, 0.0f, PF_ValueDisplayFlag_NONE, PF_PUI_INVISIBLE); + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_Path_Marketplace), GetParamsStringPtr(StrID_Parameters_Path_Marketplace_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_Path_Marketplace); + m_ParametersIndexes[Effect_Parameters_Path_Marketplace] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_Path), GetParamsStringPtr(StrID_Parameters_Path_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_Path); + m_ParametersIndexes[Effect_Parameters_Path] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_Path_Reimport), GetParamsStringPtr(StrID_Parameters_Path_Reimport_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_Path_Reimport); + m_ParametersIndexes[Effect_Parameters_Path_Reimport] = ++m_CurrentIndex; + + AddIntParameterUnbound(in_data, GetParamsStringPtr(StrID_Generic_Infernal_Effect_Path_Hash), Effect_Parameters_Infernal_Effect_Path_Hash, 0, PF_ValueDisplayFlag_NONE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP, PF_PUI_INVISIBLE); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Transform_Start), Effect_Topic_Transform_Start); + { + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + //def.ui_flags = PF_PUI_STD_CONTROL_ONLY; + PF_ADD_POPUP(GetParamsStringPtr(StrID_Parameters_TransformType), + __ETransformType_Count, + ETransformType_3D, + GetParamsStringPtr(StrID_Parameters_TransformType_Combobox), + Effect_Parameters_TransformType); + m_ParametersIndexes[Effect_Parameters_TransformType] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + def.param_type = PF_Param_POINT_3D; + PF_STRCPY(def.name, (GetParamsStringPtr(StrID_Parameters_Position))); + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = 50; + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = 50; + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = 0; + def.uu.id = (Effect_Parameters_Position); + PF_ADD_PARAM(in_data, -1, &def); + m_ParametersIndexes[Effect_Parameters_Position] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + def.param_type = PF_Param_POINT; + PF_STRCPY(def.name, (GetParamsStringPtr(StrID_Parameters_Position_2D))); + def.u.td.x_value = def.u.td.x_dephault = 50; + def.u.td.y_value = def.u.td.y_dephault = 50; + def.uu.id = (Effect_Parameters_Position_2D); + PF_ADD_PARAM(in_data, -1, &def); + m_ParametersIndexes[Effect_Parameters_Position_2D] = ++m_CurrentIndex; + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Position_2D_Distance), Effect_Parameters_Position_2D_Distance, 1.0f, -10.f, 500.0f, NULL); + + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Rotation_X), Effect_Parameters_Rotation_X, 0.0f); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Rotation_Y), Effect_Parameters_Rotation_Y, 0.0f); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Rotation_Z), Effect_Parameters_Rotation_Z, 0.0f); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Scale_Factor), Effect_Parameters_Scale_Factor, 1.0f, 0.001f, 10000.0f, PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_BringEffectIntoView), GetParamsStringPtr(StrID_Parameters_BringEffectIntoView_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_BringEffectIntoView); + m_ParametersIndexes[Effect_Parameters_BringEffectIntoView] = ++m_CurrentIndex; + + } + EndParameterCategory(in_data, Effect_Topic_Transform_End); + + AddIntParameterUnbound(in_data, GetParamsStringPtr(StrID_Parameters_Seed), Effect_Parameters_Seed, 0, PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Simulation_State), Effect_Parameters_Simulation_State, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_INTERP); + + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Render_Seeking_Toggle), Effect_Parameters_Seeking_Toggle, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP, PF_PUI_INVISIBLE); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Rendering_Start), Effect_Topic_Rendering_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Render_Background_Toggle), Effect_Parameters_Background_Toggle); + + AddPercentParameter(in_data, GetParamsStringPtr(StrID_Parameters_Render_Background_Opacity), Effect_Parameters_Background_Opacity, 0); + + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + //def.ui_flags = PF_PUI_STD_CONTROL_ONLY; + PF_ADD_POPUP(GetParamsStringPtr(StrID_Parameters_Render_Type), + __RenderType_Count, + RenderType_FinalCompositing, + GetParamsStringPtr(StrID_Parameters_Render_Type_Combobox), + Effect_Parameters_Render_Type); + m_ParametersIndexes[Effect_Parameters_Render_Type] = ++m_CurrentIndex; + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Camera_Start), Effect_Topic_Camera_Start); + { + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + //def.ui_flags = PF_PUI_STD_CONTROL_ONLY; + PF_ADD_POPUP(GetParamsStringPtr(StrID_Parameters_Camera), + __ECameraType_Count, + ECameraType_Compo_Default, + GetParamsStringPtr(StrID_Parameters_Camera_Combobox), + Effect_Parameters_Camera); + m_ParametersIndexes[Effect_Parameters_Camera] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + def.ui_flags = PF_PUI_INVISIBLE; + def.param_type = PF_Param_POINT_3D; + PF_STRCPY(def.name, (GetParamsStringPtr(StrID_Parameters_Camera_Position))); + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = 50; + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = 50; + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = 1; + def.uu.id = (Effect_Parameters_Camera_Position); + PF_ADD_PARAM(in_data, -1, &def); + m_ParametersIndexes[Effect_Parameters_Camera_Position] = ++m_CurrentIndex; + + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_Rotation_X), Effect_Parameters_Camera_Rotation_X, 0, 0, PF_PUI_INVISIBLE); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_Rotation_Y), Effect_Parameters_Camera_Rotation_Y, 0, 0, PF_PUI_INVISIBLE); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_Rotation_Z), Effect_Parameters_Camera_Rotation_Z, 0, 0, PF_PUI_INVISIBLE); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_FOV), Effect_Parameters_Camera_FOV, 90.0f, 1.0f, 179.0f, 0, PF_PUI_INVISIBLE); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_Near), Effect_Parameters_Camera_Near, 0.01f, 0.0001f, 1.0f); + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Camera_Far), Effect_Parameters_Camera_Far, 1000.0f, 1.0f, 100000.0f); + } + EndParameterCategory(in_data, Effect_Topic_Camera_End); + + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Receive_Light), Effect_Parameters_Receive_Light, false, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP, PF_PUI_DISABLED | PF_PUI_INVISIBLE); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_PostFX_Start), Effect_Topic_PostFX_Start); + { + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Distortion_Start), Effect_Topic_Distortion_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Distortion_Enable), Effect_Parameters_Distortion_Enable, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + } + EndParameterCategory(in_data, Effect_Topic_Distortion_End); + + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Bloom_Start), Effect_Topic_Bloom_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_Bloom_Enable), Effect_Parameters_Bloom_Enable, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Bloom_BrightPassValue), Effect_Parameters_Bloom_BrightPassValue, 1.0f, 0.0f, 20.0f); + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Bloom_Intensity), Effect_Parameters_Bloom_Intensity, 0.75f, 0.0f, 20.0f); + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Bloom_Attenuation), Effect_Parameters_Bloom_Attenuation, 0.5f, 0.0f, 1.0f); + + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + PF_ADD_POPUP(GetParamsStringPtr(StrID_Parameters_Bloom_GaussianBlur), + __GaussianBlurPixelRadius_Count, + GaussianBlurPixelRadius_5, + GetParamsStringPtr(StrID_Parameters_Bloom_GaussianBlur_Combobox), + Effect_Parameters_Bloom_GaussianBlur); + m_ParametersIndexes[Effect_Parameters_Bloom_GaussianBlur] = ++m_CurrentIndex; + + AddIntParameter(in_data, GetParamsStringPtr(StrID_Parameters_Bloom_RenderPassCount), Effect_Parameters_Bloom_RenderPassCount, 6, 0, 13, PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + } + EndParameterCategory(in_data, Effect_Topic_Bloom_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_ToneMapping_Start), Effect_Topic_ToneMapping_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_ToneMapping_Enable), Effect_Parameters_ToneMapping_Enable, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_ToneMapping_Saturation), Effect_Parameters_ToneMapping_Saturation, 1.0f, 0.0f, 2.0f); + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_ToneMapping_Exposure), Effect_Parameters_ToneMapping_Exposure, 0.0f, -5.0f, 5.0f); + } + EndParameterCategory(in_data, Effect_Topic_ToneMapping_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_FXAA_Start), Effect_Topic_FXAA_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_FXAA_Enable), Effect_Parameters_FXAA_Enable, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + } + EndParameterCategory(in_data, Effect_Topic_FXAA_End); + } + EndParameterCategory(in_data, Effect_Topic_PostFX_End); + } + EndParameterCategory(in_data, Effect_Topic_Rendering_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_BackdropMesh_Start), Effect_Topic_BackdropMesh_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Enable_Rendering), Effect_Parameters_BackdropMesh_Enable_Rendering, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Enable_Collisions), Effect_Parameters_BackdropMesh_Enable_Collisions, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Enable_Animation), Effect_Parameters_BackdropMesh_Enable_Animation, true, PF_ParamFlag_SUPERVISE | PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP); + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_BackdropMesh_Path), GetParamsStringPtr(StrID_Parameters_BackdropMesh_Path_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_BackdropMesh_Path); + m_ParametersIndexes[Effect_Parameters_BackdropMesh_Path] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_BackdropMesh_Reset), GetParamsStringPtr(StrID_Parameters_BackdropMesh_Reset_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_BackdropMesh_Reset); + m_ParametersIndexes[Effect_Parameters_BackdropMesh_Reset] = ++m_CurrentIndex; + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_BackdropMesh_Transform_Start), Effect_Topic_BackdropMesh_Transform_Start); + { + AEFX_CLR_STRUCT(def); + PF_ADD_POINT_3D(GetParamsStringPtr(StrID_Parameters_BackdropMesh_Position), 0, 0, 0, Effect_Parameters_BackdropMesh_Position); + m_ParametersIndexes[Effect_Parameters_BackdropMesh_Position] = ++m_CurrentIndex; + + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Rotation_X), Effect_Parameters_BackdropMesh_Rotation_X, 0); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Rotation_Y), Effect_Parameters_BackdropMesh_Rotation_Y, 0); + AddAngleParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Rotation_Z), Effect_Parameters_BackdropMesh_Rotation_Z, 0); + + AddFloatParameterUnbound(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Scale_X), Effect_Parameters_BackdropMesh_Scale_X, 1.0f); + AddFloatParameterUnbound(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Scale_Y), Effect_Parameters_BackdropMesh_Scale_Y, 1.0f); + AddFloatParameterUnbound(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Scale_Z), Effect_Parameters_BackdropMesh_Scale_Z, 1.0f); + } + EndParameterCategory(in_data, Effect_Topic_BackdropMesh_Transform_End); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Roughness), Effect_Parameters_BackdropMesh_Roughness, 1.0f, 0.0f, 1.0f); + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropMesh_Metalness), Effect_Parameters_BackdropMesh_Metalness, 0.0f, 0.0f, 1.0f); + } + EndParameterCategory(in_data, Effect_Topic_BackdropMesh_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_BackdropAudio_Start), Effect_Topic_BackdropAudio_Start); + { + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE; + PF_ADD_LAYER(GetParamsStringPtr(StrID_Parameters_Audio), PF_LayerDefault_NONE, Effect_Parameters_Audio); + m_ParametersIndexes[Effect_Parameters_Audio] = ++m_CurrentIndex; + } + EndParameterCategory(in_data, Effect_Topic_BackdropAudio_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_BackdropEnvMap_Start), Effect_Topic_BackdropEnvMap_Start); + { + AddCheckBoxParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Enable_Rendering), Effect_Parameters_BackdropEnvMap_Enable_Rendering); + + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Path), GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Path_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_BackdropEnvMap_Path); + m_ParametersIndexes[Effect_Parameters_BackdropEnvMap_Path] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_BUTTON(GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Reset), GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Reset_Button), 0, PF_ParamFlag_SUPERVISE, Effect_Parameters_BackdropEnvMap_Reset); + m_ParametersIndexes[Effect_Parameters_BackdropEnvMap_Reset] = ++m_CurrentIndex; + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Intensity), Effect_Parameters_BackdropEnvMap_Intensity, 1.0f, 0.0f, 10.0f); + + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(GetParamsStringPtr(StrID_Parameters_BackdropEnvMap_Color), 51, 51, 51, Effect_Parameters_BackdropEnvMap_Color); + m_ParametersIndexes[Effect_Parameters_BackdropEnvMap_Color] = ++m_CurrentIndex; + } + EndParameterCategory(in_data, Effect_Topic_BackdropEnvMap_End); + + StartParameterCategory(in_data, GetParamsStringPtr(StrID_Topic_Light_Start), Effect_Topic_Light_Start); + { + AEFX_CLR_STRUCT(def); + def.flags = PF_ParamFlag_SUPERVISE | + PF_ParamFlag_CANNOT_TIME_VARY | + PF_ParamFlag_CANNOT_INTERP; + PF_ADD_POPUP(GetParamsStringPtr(StrID_Parameters_Light_Category), + __ELightCategory_Count, + ELightCategory_Debug_Default, + GetParamsStringPtr(StrID_Parameters_Light_Combobox), + Effect_Parameters_Light_Category); + m_ParametersIndexes[Effect_Parameters_Light_Category] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + //def.ui_flags = PF_PUI_INVISIBLE; + def.param_type = PF_Param_POINT_3D; + PF_STRCPY(def.name, (GetParamsStringPtr(StrID_Parameters_Light_Direction))); + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = 0; + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = 1; + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = 0; + def.uu.id = (Effect_Parameters_Light_Direction); + PF_ADD_PARAM(in_data, -1, &def); + m_ParametersIndexes[Effect_Parameters_Light_Direction] = ++m_CurrentIndex; + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Light_Intensity), Effect_Parameters_Light_Intensity, 1.0f, -100.0f, 100.0f); + + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(GetParamsStringPtr(StrID_Parameters_Light_Color), 51, 51, 51, Effect_Parameters_Light_Color); + m_ParametersIndexes[Effect_Parameters_Light_Color] = ++m_CurrentIndex; + + AEFX_CLR_STRUCT(def); + PF_ADD_COLOR(GetParamsStringPtr(StrID_Parameters_Light_Ambient), 51, 51, 51, Effect_Parameters_Light_Ambient); + m_ParametersIndexes[Effect_Parameters_Light_Ambient] = ++m_CurrentIndex; + } + EndParameterCategory(in_data, Effect_Topic_Light_End); + + AddFloatParameter(in_data, GetParamsStringPtr(StrID_Parameters_Refresh_Render), Effect_Parameters_Refresh_Render, 0.0f, 0.0f, 10000.0f, 0, PF_PUI_INVISIBLE | PF_PUI_DISABLED); + + AAEData.m_OutData->num_params = __Effect_Parameters_Count; + + popcornFXSuite->SetParametersIndexes(m_ParametersIndexes, EPKChildPlugins::EMITTER); + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::GlobalSetdown( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)AAEData; + (void)output; + (void)params; + + if (m_ParametersIndexes != nullptr) + delete[] m_ParametersIndexes; + m_ParametersIndexes = nullptr; + for (auto it = m_QueuedEffectData.begin(); it != m_QueuedEffectData.end(); ++it) + { + if (*it != nullptr) + { + if ((*it)->m_Desc != nullptr) + { + delete ((*it)->m_Desc); + (*it)->m_Desc = nullptr; + } + delete (*it); + } + } + + for (auto it = m_EffectData.begin(); it != m_EffectData.end(); ++it) + { + if (it->second != nullptr) + { + if (it->second->m_Desc != nullptr) + { + delete (it->second->m_Desc); + it->second->m_Desc = nullptr; + } + delete (it->second); + it->second = nullptr; + } + } + m_EffectData.clear(); + + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +bool CPluginInterface::GetEffectSequenceUID(SAAEIOData &AAEData, std::string &out) +{ + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEFX_SuiteScoper seqdata_suite = AEFX_SuiteScoper(AAEData.m_InData, kPFEffectSequenceDataSuite, kPFEffectSequenceDataSuiteVersion1, AAEData.m_OutData); + + PF_ConstHandle constSeq; + seqdata_suite->PF_GetConstSequenceData(AAEData.m_InData->effect_ref, &constSeq); + + const SEffectSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle((PF_Handle)constSeq)); + + out.clear(); + if (sequenceDataFlat && sequenceDataFlat->m_IsFlat == true) + { + out.append(sequenceDataFlat->m_EffectUUID, strlen(sequenceDataFlat->m_EffectUUID)); + suites.HandleSuite1()->host_unlock_handle((PF_Handle)constSeq); + return true; + } + if (sequenceDataFlat) + suites.HandleSuite1()->host_unlock_handle((PF_Handle)constSeq); + return false; +} + +//---------------------------------------------------------------------------- + +//Called when creating an effect only. +PF_Err CPluginInterface::SequenceSetup( SAAEIOData &AAEData, + PF_ParamDef *params[], + PF_LayerDef *output) +{ + (void)output; + (void)params; + + A_Err result = A_Err_NONE; + SEffectSequenceDataFlat *sequenceData = nullptr; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Handle sequenceDataHandle = suites.HandleSuite1()->host_new_handle(sizeof(SEffectSequenceDataFlat)); + + if (!sequenceDataHandle) + return PF_Err_OUT_OF_MEMORY; + sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + if (sequenceData != nullptr) + { + AEFX_CLR_STRUCT(*sequenceData); + + sequenceData->m_IsFlat = true; + + sequenceData->SetEffectPathSource(""); + sequenceData->SetEffectBackdropMeshPath(""); + sequenceData->SetEffectName(""); + + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + sequenceData->SetLayerID(dstID); + + sequenceData->SetUUID(std::to_string(dstID)); + + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (AAEData.m_InData->sequence_data) + { + PF_Handle sequenceDataFlatHandle = AAEData.m_InData->sequence_data; + SEffectSequenceDataFlat *sequenceDataFlat = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataFlatHandle)); + + if (sequenceDataFlat) + { + //Check Layer ID to determine if its a duplicate. if so, update LayerID and regenerate UUID + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (result == A_Err_NONE) + { + if (sequenceDataFlat->m_LayerID != dstID) + { + sequenceDataFlat->m_LayerID = dstID; + sequenceDataFlat->SetUUID(std::to_string(dstID).c_str()); + } + } + _RegisterEffectInstancePlugin(AAEData, params, sequenceDataFlat); + + AAEData.m_OutData->sequence_data = sequenceDataFlatHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataFlatHandle); + } + } + else + { + result = SequenceSetup(AAEData, params, output); + } + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + + if (!AAEData.m_InData->sequence_data) + return result; + + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + SEffectSequenceDataFlat *sequenceData = static_cast(suites.HandleSuite1()->host_lock_handle(sequenceDataHandle)); + + if (sequenceData) + { + //First Update sequence Data to reflect RT information + std::string uuid; + + if (GetEffectSequenceUID(AAEData, uuid) == false) + return false; + if (m_EffectData.count(uuid) == 0) + return false; + SEffectData *data = m_EffectData[uuid]; + if (data->m_Desc != nullptr) + { + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + size_t extensionIdx = data->m_Desc->m_Name.find_last_of('.'); + if (extensionIdx != std::string::npos) + data->m_Desc->m_Name = data->m_Desc->m_Name.substr(0, extensionIdx) + ".pkfx"; + + sequenceData->SetEffectName(data->m_Desc->m_Name.data()); + sequenceData->SetEffectPathSource(data->m_Desc->m_PathSource.data()); + sequenceData->SetEffectBackdropMeshPath(data->m_Desc->m_BackdropMesh.m_Path.data()); + sequenceData->SetEffectEnvironmentMapPath(data->m_Desc->m_BackdropEnvironmentMap.m_Path.data()); + sequenceData->SetLayerID(dstID); + sequenceData->SetUUID(std::to_string(dstID)); + } + AAEData.m_OutData->sequence_data = sequenceDataHandle; + suites.HandleSuite1()->host_unlock_handle(sequenceDataHandle); + } + else + result = PF_Err_INTERNAL_STRUCT_DAMAGED; + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) +{ + (void)output; + (void)params; + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + if (AAEData.m_InData->sequence_data != nullptr) + { + PF_Handle sequenceDataHandle = AAEData.m_InData->sequence_data; + + _UnRegisterEffectInstancePlugin(AAEData, params, nullptr); + + suites.HandleSuite1()->host_dispose_handle(sequenceDataHandle); + } + AAEData.m_InData->sequence_data = nullptr; + AAEData.m_OutData->sequence_data = nullptr; + + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::QueryDynamicFlags(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)params; + (void)AAEData; + + PF_Err result = PF_Err_NONE; + + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::PreRender(SAAEIOData &AAEData) +{ + PF_Err result = PF_Err_NONE; + PF_RenderRequest req = AAEData.m_ExtraData.m_PreRenderData->input->output_request; + PF_CheckoutResult in_result; + + req.preserve_rgb_of_zero_alpha = TRUE; + AAEData.m_ExtraData.m_PreRenderData->output->solid = false; + + result = AAEData.m_ExtraData.m_PreRenderData->cb->checkout_layer( AAEData.m_InData->effect_ref, + Effect_Parameters_InputReserved, + Effect_Parameters_InputReserved, + &req, + AAEData.m_InData->current_time, + AAEData.m_InData->local_time_step, + AAEData.m_InData->time_scale, + &in_result); + + UnionLRect(&in_result.result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->result_rect); + UnionLRect(&in_result.max_result_rect, &AAEData.m_ExtraData.m_PreRenderData->output->max_result_rect); + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::SmartRender(SAAEIOData &AAEData) +{ + PF_Err result = PF_Err_NONE; + std::string uuid; + + if (GetEffectSequenceUID(AAEData, uuid) == false) + return PF_Err_NONE; + if (m_EffectData.count(uuid) == 0) + return PF_Err_NONE; + + SEffectData *data = m_EffectData[uuid]; + SEmitterDesc *emitterDesc = data->m_Desc; + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper(AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + + if (emitterDesc == nullptr || !PopcornFXSuite->CheckEmitterValidity(AAEData, data->m_Desc)) + { + return PF_Interrupt_CANCEL; + } + // With multi-frame rendering, multiple threads can execute this at the same time even with just one emitter per layer: + data->m_Lock.lock(); + { + SAAEScopedParams emitterTransformType { AAEData, Effect_Parameters_TransformType }; + + SAAEScopedParams emitterPosition { AAEData, Effect_Parameters_Position }; + + SAAEScopedParams emitterPosition2D { AAEData, Effect_Parameters_Position_2D }; + SAAEScopedParams emitterPosition2DDist { AAEData, Effect_Parameters_Position_2D_Distance }; + + SAAEScopedParams emitterRotationX { AAEData, Effect_Parameters_Rotation_X }; + SAAEScopedParams emitterRotationY { AAEData, Effect_Parameters_Rotation_Y }; + SAAEScopedParams emitterRotationZ { AAEData, Effect_Parameters_Rotation_Z }; + SAAEScopedParams emitterSeed { AAEData, Effect_Parameters_Seed }; + + SAAEScopedParams emitterSimulationState { AAEData, Effect_Parameters_Simulation_State }; + + emitterDesc->m_TransformType = (ETransformType)emitterTransformType.GetComboBoxValue(); + if (emitterDesc->m_TransformType == ETransformType_3D) + emitterDesc->m_Position = emitterPosition.GetPoint3D(); + else + { + A_FloatPoint xy = emitterPosition2D.GetPoint2D(); + emitterDesc->m_Position.x = xy.x; + emitterDesc->m_Position.y = xy.y; + emitterDesc->m_Position.z = emitterPosition2DDist.GetFloat(); + } + emitterDesc->m_Rotation.x = emitterRotationX.GetAngle(); + emitterDesc->m_Rotation.y = emitterRotationY.GetAngle(); + emitterDesc->m_Rotation.z = emitterRotationZ.GetAngle(); + emitterDesc->m_Seed = emitterSeed.GetInt(); + + {//Camera + SAAEScopedParams emitterCameraType{ AAEData, Effect_Parameters_Camera }; + emitterDesc->m_Camera.m_Internal = false; + + SAAEScopedParams cameraPosition{ AAEData, Effect_Parameters_Camera_Position }; + SAAEScopedParams cameraRotationX{ AAEData, Effect_Parameters_Camera_Rotation_X }; + SAAEScopedParams cameraRotationY{ AAEData, Effect_Parameters_Camera_Rotation_Y }; + SAAEScopedParams cameraRotationZ{ AAEData, Effect_Parameters_Camera_Rotation_Z }; + SAAEScopedParams cameraFOV{ AAEData, Effect_Parameters_Camera_FOV }; + + emitterDesc->m_Camera.m_Position = cameraPosition.GetPoint3D(); + emitterDesc->m_Camera.m_Rotation.x = cameraRotationX.GetAngle(); + emitterDesc->m_Camera.m_Rotation.y = cameraRotationY.GetAngle(); + emitterDesc->m_Camera.m_Rotation.z = cameraRotationZ.GetAngle(); + emitterDesc->m_Camera.m_FOV = cameraFOV.GetFloat(); + + SAAEScopedParams cameraNear { AAEData, Effect_Parameters_Camera_Near }; + SAAEScopedParams cameraFar { AAEData, Effect_Parameters_Camera_Far }; + + emitterDesc->m_Camera.m_Near = cameraNear.GetFloat(); + emitterDesc->m_Camera.m_Far = cameraFar.GetFloat(); + } + {//Rendering + SAAEScopedParams renderingType { AAEData, Effect_Parameters_Render_Type }; + SAAEScopedParams renderingReceiveLight { AAEData, Effect_Parameters_Receive_Light }; + SAAEScopedParams renderingDistortionEnable { AAEData, Effect_Parameters_Distortion_Enable }; + SAAEScopedParams renderingBloomEnable { AAEData, Effect_Parameters_Bloom_Enable }; + SAAEScopedParams renderingBloomBrightPass { AAEData, Effect_Parameters_Bloom_BrightPassValue }; + SAAEScopedParams renderingBloomIntensity { AAEData, Effect_Parameters_Bloom_Intensity }; + SAAEScopedParams renderingBloomAttenuation { AAEData, Effect_Parameters_Bloom_Attenuation }; + SAAEScopedParams renderingBloomGaussianBlur { AAEData, Effect_Parameters_Bloom_GaussianBlur }; + SAAEScopedParams renderingBloomRenderPassCount { AAEData, Effect_Parameters_Bloom_RenderPassCount }; + SAAEScopedParams renderingToneMappingEnable { AAEData, Effect_Parameters_ToneMapping_Enable }; + SAAEScopedParams renderingToneMappingSaturation { AAEData, Effect_Parameters_ToneMapping_Saturation }; + SAAEScopedParams renderingToneMappingExposure { AAEData, Effect_Parameters_ToneMapping_Exposure }; + SAAEScopedParams renderingFXAAEnable { AAEData, Effect_Parameters_FXAA_Enable }; + + SAAEScopedParams renderingAlphaOverride { AAEData, Effect_Parameters_Background_Toggle }; + SAAEScopedParams renderingAlphaOverrideValue { AAEData, Effect_Parameters_Background_Opacity }; + + + emitterDesc->m_Rendering.m_Type = (ERenderType)renderingType.GetComboBoxValue(); + emitterDesc->m_Rendering.m_ReceiveLight = renderingReceiveLight.GetCheckBoxValue(); + + emitterDesc->m_Rendering.m_Distortion.m_Enable = renderingDistortionEnable.GetCheckBoxValue(); + + emitterDesc->m_Rendering.m_Bloom.m_Enable = renderingBloomEnable.GetCheckBoxValue(); + emitterDesc->m_Rendering.m_Bloom.m_BrightPassValue = renderingBloomBrightPass.GetFloat(); + emitterDesc->m_Rendering.m_Bloom.m_Intensity = renderingBloomIntensity.GetFloat(); + emitterDesc->m_Rendering.m_Bloom.m_Attenuation = renderingBloomAttenuation.GetFloat(); + emitterDesc->m_Rendering.m_Bloom.m_GaussianBlur = (EGaussianBlurPixelRadius)renderingBloomGaussianBlur.GetComboBoxValue(); + emitterDesc->m_Rendering.m_Bloom.m_RenderPassCount = renderingBloomRenderPassCount.GetInt(); + + emitterDesc->m_Rendering.m_ToneMapping.m_Enable = renderingToneMappingEnable.GetCheckBoxValue(); + emitterDesc->m_Rendering.m_ToneMapping.m_Saturation = renderingToneMappingSaturation.GetFloat(); + emitterDesc->m_Rendering.m_ToneMapping.m_Exposure = renderingToneMappingExposure.GetFloat(); + + emitterDesc->m_Rendering.m_FXAA.m_Enable = renderingFXAAEnable.GetCheckBoxValue(); + + emitterDesc->m_IsAlphaBGOverride = renderingAlphaOverride.GetCheckBoxValue(); + emitterDesc->m_AlphaBGOverride = renderingAlphaOverrideValue.GetPercent(); + } + {//BackdropMesh + SAAEScopedParams backdropMeshEnableRendering { AAEData, Effect_Parameters_BackdropMesh_Enable_Rendering }; + SAAEScopedParams backdropMeshEnableCollisions { AAEData, Effect_Parameters_BackdropMesh_Enable_Collisions }; + SAAEScopedParams backdropMeshEnableAnimation { AAEData, Effect_Parameters_BackdropMesh_Enable_Animation }; + SAAEScopedParams backdropMeshPosition { AAEData, Effect_Parameters_BackdropMesh_Position }; + SAAEScopedParams backdropMeshRotationX { AAEData, Effect_Parameters_BackdropMesh_Rotation_X }; + SAAEScopedParams backdropMeshRotationY { AAEData, Effect_Parameters_BackdropMesh_Rotation_Y }; + SAAEScopedParams backdropMeshRotationZ { AAEData, Effect_Parameters_BackdropMesh_Rotation_Z }; + SAAEScopedParams backdropMeshScaleX { AAEData, Effect_Parameters_BackdropMesh_Scale_X }; + SAAEScopedParams backdropMeshScaleY { AAEData, Effect_Parameters_BackdropMesh_Scale_Y }; + SAAEScopedParams backdropMeshScaleZ { AAEData, Effect_Parameters_BackdropMesh_Scale_Z }; + SAAEScopedParams backdropMeshRoughness { AAEData, Effect_Parameters_BackdropMesh_Roughness }; + SAAEScopedParams backdropMeshMetalness { AAEData, Effect_Parameters_BackdropMesh_Metalness }; + + emitterDesc->m_BackdropMesh.m_EnableRendering = backdropMeshEnableRendering.GetCheckBoxValue(); + emitterDesc->m_BackdropMesh.m_EnableCollisions = backdropMeshEnableCollisions.GetCheckBoxValue(); + emitterDesc->m_BackdropMesh.m_EnableAnimations = backdropMeshEnableAnimation.GetCheckBoxValue(); + + emitterDesc->m_BackdropMesh.m_Position = backdropMeshPosition.GetPoint3D(); + emitterDesc->m_BackdropMesh.m_Rotation.x = DegToRad(backdropMeshRotationX.GetAngle()); + emitterDesc->m_BackdropMesh.m_Rotation.y = DegToRad(backdropMeshRotationY.GetAngle()); + emitterDesc->m_BackdropMesh.m_Rotation.z = DegToRad(backdropMeshRotationZ.GetAngle()); + emitterDesc->m_BackdropMesh.m_Scale = A_FloatPoint3{ backdropMeshScaleX.GetFloat(), backdropMeshScaleY.GetFloat(), backdropMeshScaleZ.GetFloat() }; + + emitterDesc->m_BackdropMesh.m_Roughness = backdropMeshRoughness.GetFloat(); + emitterDesc->m_BackdropMesh.m_Metalness = backdropMeshMetalness.GetFloat(); + + } + {//Backdrop Environment + SAAEScopedParams backdropEnvMapEnableRendering { AAEData, Effect_Parameters_BackdropEnvMap_Enable_Rendering }; + SAAEScopedParams backdropEnvMapIntensity { AAEData, Effect_Parameters_BackdropEnvMap_Intensity }; + SAAEScopedParams backdropEnvMapColor { AAEData, Effect_Parameters_BackdropEnvMap_Color }; + + emitterDesc->m_BackdropEnvironmentMap.m_EnableRendering = backdropEnvMapEnableRendering.GetCheckBoxValue(); + emitterDesc->m_BackdropEnvironmentMap.m_Intensity = backdropEnvMapIntensity.GetFloat(); + emitterDesc->m_BackdropEnvironmentMap.m_Color = backdropEnvMapColor.GetColor(); + } + + {//Light + SAAEScopedParams LightCategory{ AAEData, Effect_Parameters_Light_Category }; + SAAEScopedParams LightDirection{ AAEData, Effect_Parameters_Light_Direction }; + SAAEScopedParams LightIntensity{ AAEData, Effect_Parameters_Light_Intensity }; + SAAEScopedParams LightColor{ AAEData, Effect_Parameters_Light_Color }; + SAAEScopedParams LightAmbient{ AAEData, Effect_Parameters_Light_Ambient }; + + if (LightCategory.GetComboBoxValue() == ELightCategory_Debug_Default) + { + emitterDesc->m_Light.m_Internal = true; + } + else + { + emitterDesc->m_Light.m_Internal = false; + } + emitterDesc->m_Light.m_Category = (ELightCategory)LightCategory.GetComboBoxValue(); + emitterDesc->m_Light.m_Direction = LightDirection.GetPoint3D(); + emitterDesc->m_Light.m_Intensity = LightIntensity.GetFloat(); + emitterDesc->m_Light.m_Color = LightColor.GetColor(); + emitterDesc->m_Light.m_Ambient = LightAmbient.GetColor(); + } + { + SAAEScopedParams scaleFactor{ AAEData, Effect_Parameters_Scale_Factor }; + + emitterDesc->m_ScaleFactor = scaleFactor.GetFloat(); + } + } + +#if defined(PK_SCALE_DOWN) + emitterDesc->m_Position.x = emitterDesc->m_Position.x / emitterDesc->m_ScaleFactor; + emitterDesc->m_Position.y = emitterDesc->m_Position.y / emitterDesc->m_ScaleFactor; + emitterDesc->m_Position.z = emitterDesc->m_Position.z / emitterDesc->m_ScaleFactor; + + emitterDesc->m_BackdropMesh.m_Position.x = emitterDesc->m_BackdropMesh.m_Position.x / emitterDesc->m_ScaleFactor; + emitterDesc->m_BackdropMesh.m_Position.y = emitterDesc->m_BackdropMesh.m_Position.y / emitterDesc->m_ScaleFactor; + emitterDesc->m_BackdropMesh.m_Position.z = emitterDesc->m_BackdropMesh.m_Position.z / emitterDesc->m_ScaleFactor; + + emitterDesc->m_Camera.m_Position.x = emitterDesc->m_Camera.m_Position.x / emitterDesc->m_ScaleFactor; + emitterDesc->m_Camera.m_Position.y = emitterDesc->m_Camera.m_Position.y / emitterDesc->m_ScaleFactor; + emitterDesc->m_Camera.m_Position.z = emitterDesc->m_Camera.m_Position.z / emitterDesc->m_ScaleFactor; +#endif + + PF_EffectWorld *input_worldP = nullptr; + result |= AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_layer_pixels(AAEData.m_InData->effect_ref, 0/*POPCORN_INPUT*/, &input_worldP); + if (input_worldP == nullptr) + { + data->m_Lock.unlock(); + return result; + } + + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + emitterDesc->m_UUID = std::to_string(dstID); + emitterDesc->m_LayerID = dstID; + + PopcornFXSuite->UpdateScene(AAEData, emitterDesc); + + result = PF_ABORT(AAEData.m_InData); + if (result) + { + AAEData.m_ExtraData.m_SmartRenderData->cb->checkin_layer_pixels(AAEData.m_InData->effect_ref, 0); + data->m_Lock.unlock(); + return result; + } + + AAEData.m_ExtraData.m_SmartRenderData->cb->checkin_layer_pixels(AAEData.m_InData->effect_ref, 0); + data->m_LastRenderTime = AAEData.m_InData->current_time; + + data->m_Lock.unlock(); + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::ParamValueChanged(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)params; + + std::string id; + PF_Err result = PF_Err_NONE; + + if (GetEffectSequenceUID(AAEData, id) == false) + return false; + if (m_EffectData.count(id) == 0) + return false; + + // this block must be in this function, if not, it will fail. + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + A_Time AETime; + AEGP_LayerH cameraLayer = nullptr; + AETime.scale = AAEData.m_InData->time_scale; + AETime.value = AAEData.m_InData->current_time; + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectCamera(AAEData.m_InData->effect_ref, &AETime, &cameraLayer); + if (cameraLayer == nullptr) + { + A_FloatPoint center; + AEGP_CompH effectComp = nullptr; + + center.x = AAEData.m_InData->width / 2.0f; + center.y = AAEData.m_InData->height / 2.0f; + + A_UTF16Char name[64]; + CopyCharToUTF16("PopcornFX Camera", name); + + AEGP_LayerH layerH = nullptr; + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite5()->AEGP_GetLayerParentComp(layerH, &effectComp); + result |= suites.CompSuite11()->AEGP_CreateCameraInComp(name, center, effectComp, &cameraLayer); + if (result != A_Err_NONE) + return false; + + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper(AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + PopcornFXSuite->SetDefaultLayerPosition(AAEData, cameraLayer); + + } + SEffectData *data = m_EffectData[id]; + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper(AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + + if (data->m_Desc != nullptr) + { + if (data->m_Desc->m_IsDeleted) + { + m_EffectData.erase(id); + delete data->m_Desc; + delete data; + return PF_Err_NONE; + } + if (m_ParametersIndexes[Effect_Parameters_Path] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + if (PopcornFXSuite->DisplayBrowseEffectPanel(AAEData, (data->m_Desc)) != A_Err_NONE) + { + strcpy(AAEData.m_OutData->return_msg, "PopcornFX Error: Unable to load effect"); + AAEData.m_OutData->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + } + else + { + SetParameterStreamName(AAEData, data->m_Desc->m_Name, m_ParametersIndexes[Effect_Parameters_Path]); //_UpdateEmitterName(AAEData, desc); + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + } + else if (m_ParametersIndexes[Effect_Parameters_Path_Marketplace] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + if (PopcornFXSuite->DisplayMarketplacePanel(AAEData, (data->m_Desc)) != A_Err_NONE) + { + strcpy(AAEData.m_OutData->return_msg, "PopcornFX Error: Unable to load effect"); + AAEData.m_OutData->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + } + } + else if (m_ParametersIndexes[Effect_Parameters_Path_Reimport] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + PopcornFXSuite->ReimportEffect(AAEData, (data->m_Desc)); + + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_BackdropMesh_Path] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + if (PopcornFXSuite->DisplayBrowseMeshDialog(AAEData, (data->m_Desc)) != A_Err_NONE) + { + strcpy(AAEData.m_OutData->return_msg, "PopcornFX Error: Unable to load mesh"); + AAEData.m_OutData->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + } + else + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_BackdropEnvMap_Path] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + if (PopcornFXSuite->DisplayBrowseEnvironmentMapDialog(AAEData, (data->m_Desc)) != A_Err_NONE) + { + strcpy(AAEData.m_OutData->return_msg, "PopcornFX Error: Unable to load Env Map"); + AAEData.m_OutData->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + } + else + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_BackdropEnvMap_Reset] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + data->m_Desc->m_BackdropEnvironmentMap.m_Path = ""; + data->m_Desc->m_Update = true; + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_BackdropMesh_Reset] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + data->m_Desc->m_BackdropMesh.m_Path = ""; + data->m_Desc->m_Update = true; + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_Audio] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + else if (m_ParametersIndexes[Effect_Parameters_BringEffectIntoView] == AAEData.m_ExtraData.m_ChangeParamData->param_index) + { + PopcornFXSuite->MoveEffectIntoCurrentView(AAEData, (data->m_Desc)); + + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + } + } + return result; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)AAEData; + (void)params; + + PF_Err err = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + std::string id; + + if (GetEffectSequenceUID(AAEData, id) == false) + return false; + + // PK to AE + if (m_EffectData.count(id) != 0) + { + SEffectData *effectData = m_EffectData[id]; + SEmitterDesc *desc = effectData->m_Desc; + + if (desc) + { + if (desc->m_IsDeleted) + { + m_EffectData.erase(id); + delete desc; + delete effectData; + return PF_Err_NONE; + } + + if (desc->m_Update) + { + desc->m_Update = false; + err |= SetParameterStreamName(AAEData, desc->m_Name, m_ParametersIndexes[Effect_Parameters_Path]); //_UpdateEmitterName(AAEData, desc); + err |= SetParameterStreamName(AAEData, desc->m_BackdropMesh.m_Path, m_ParametersIndexes[Effect_Parameters_BackdropMesh_Path]); //_UpdateBackdropMeshPath(AAEData, desc); + } + } + } + PF_ParamDef paramCopy[__Effect_Parameters_Count]; + std::map indexChanged; + + MakeParamCopy(params, paramCopy, __Effect_Parameters_Count); + + if (params[m_ParametersIndexes[Effect_Parameters_TransformType]]->u.pd.value == ETransformType_3D) + { + indexChanged.insert({ { m_ParametersIndexes[Effect_Parameters_Position], paramCopy[m_ParametersIndexes[Effect_Parameters_Position]].ui_flags &= ~(PF_PUI_DISABLED | PF_PUI_INVISIBLE) }, + { m_ParametersIndexes[Effect_Parameters_Position_2D], paramCopy[m_ParametersIndexes[Effect_Parameters_Position_2D]].ui_flags |= PF_PUI_DISABLED | PF_PUI_INVISIBLE }, + { m_ParametersIndexes[Effect_Parameters_Position_2D_Distance], paramCopy[m_ParametersIndexes[Effect_Parameters_Position_2D_Distance]].ui_flags |= PF_PUI_DISABLED | PF_PUI_INVISIBLE }, + }); + + } + else if (params[m_ParametersIndexes[Effect_Parameters_TransformType]]->u.pd.value == ETransformType_2D) + { + indexChanged.insert({ { m_ParametersIndexes[Effect_Parameters_Position], paramCopy[m_ParametersIndexes[Effect_Parameters_Position]].ui_flags |= PF_PUI_DISABLED | PF_PUI_INVISIBLE }, + { m_ParametersIndexes[Effect_Parameters_Position_2D], paramCopy[m_ParametersIndexes[Effect_Parameters_Position_2D]].ui_flags &= ~(PF_PUI_DISABLED | PF_PUI_INVISIBLE) }, + { m_ParametersIndexes[Effect_Parameters_Position_2D_Distance], paramCopy[m_ParametersIndexes[Effect_Parameters_Position_2D_Distance]].ui_flags &= ~(PF_PUI_DISABLED | PF_PUI_INVISIBLE) }, + }); + } + //Apply Change on param + AEGP_EffectRefH effectHandle = nullptr; + err |= suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectHandle); + if (err != A_Err_NONE) + return err; + for (auto it = indexChanged.begin(); it != indexChanged.end(); ++it) + { + AEGP_StreamRefH streamHandle = nullptr; + // Toggle visibility of parameter + err |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectHandle, it->first, &streamHandle); + + bool visibility = false; + if ((it->second & PF_PUI_INVISIBLE) != 0) + visibility = true; + err |= suites.DynamicStreamSuite2()->AEGP_SetDynamicStreamFlag(streamHandle, AEGP_DynStreamFlag_HIDDEN, FALSE, visibility); + err |= suites.StreamSuite2()->AEGP_DisposeStream(streamHandle); + + paramCopy[it->first].ui_flags = it->second; + err |= suites.ParamUtilsSuite3()->PF_UpdateParamUI(AAEData.m_InData->effect_ref, it->first, ¶mCopy[it->first]); + } + + if (effectHandle) + err |= suites.EffectSuite2()->AEGP_DisposeEffect(effectHandle); + return err; +} + +//---------------------------------------------------------------------------- + +PF_Err CPluginInterface::HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]) +{ + (void)params; + + PF_Err result = PF_Err_NONE; + std::string id; + void *extraData = AAEData.m_ExtraData.m_UndefinedData; + + const EEmitterEffectGenericCall *extraDataType = (EEmitterEffectGenericCall*)(extraData); + + if (*extraDataType == EEmitterEffectGenericCall::EmitterDesc) + { + SEmitterDesc *desc = reinterpret_cast(extraData); + + if (desc) + { + if (desc->m_IsDeleted) + { + if (GetEffectSequenceUID(AAEData, id) == false) + return false; + if (m_EffectData.count(id) != 0) + { + SEffectData *effectData = m_EffectData[id]; + delete effectData; + m_EffectData.erase(id); + } + delete desc; + return PF_Err_NONE; + } + else + { + desc->m_Update = false; + + + size_t extensionIdx = desc->m_Name.find_last_of('.'); + if (extensionIdx != std::string::npos) + desc->m_Name = desc->m_Name.substr(0, extensionIdx) + ".pkfx"; + result |= SetParameterStreamName(AAEData, desc->m_Name, m_ParametersIndexes[Effect_Parameters_Path]); //_UpdateEmitterName(AAEData, desc); + result |= SetParameterStreamName(AAEData, desc->m_BackdropMesh.m_Path, m_ParametersIndexes[Effect_Parameters_BackdropMesh_Path]); //_UpdateBackdropMeshPath(AAEData, desc); + } + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER; + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + } + } + else if (*extraDataType == EEmitterEffectGenericCall::GetEmitterInfos) + { + SGetEmitterInfos *infoToFill = reinterpret_cast(extraData); + + if (GetEffectSequenceUID(AAEData, id) == false) + return false; + if (m_EffectData.count(id) != 0) + { + strncpy(infoToFill->m_Name, m_EffectData[id]->m_Desc->m_Name.c_str(), 1023); + infoToFill->m_Name[1023] = '\0'; + strncpy(infoToFill->m_PathSource, m_EffectData[id]->m_Desc->m_PathSource.c_str(), 1023); + infoToFill->m_PathSource[1023] = '\0'; + } + } + return result; +} + +//---------------------------------------------------------------------------- + +bool CPluginInterface::_RegisterEffectInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SEffectSequenceDataFlat *sequenceData) +{ + (void)params; + + std::string id; + + if (sequenceData != nullptr) + id = sequenceData->m_EffectUUID; + else if (GetEffectSequenceUID(AAEData, id) == false) + return false; + + if (m_EffectData.count(id) == 0) + { + //Check if effect is valid + { + PF_Err result = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_EffectRefH effectHandle = nullptr; + AEGP_LayerH layerH; + bool discard = false; + + result |= suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectHandle); + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + + if (result != PF_Err_NONE || effectHandle == nullptr || layerH == nullptr) + discard = true; + if (effectHandle) + result |= suites.EffectSuite2()->AEGP_DisposeEffect(effectHandle); + if (discard == true) + return false; + } + SEffectData *effectData = new SEffectData{}; + effectData->m_Desc = new SEmitterDesc{}; + m_EffectData[id] = effectData; + + if (sequenceData != nullptr) + { + PF_Err result = PF_Err_NONE; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_LayerH layerH; + A_long dstID = 0; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + effectData->m_Desc->m_UUID = std::to_string(dstID); + effectData->m_Desc->m_LayerID = dstID; + if (sequenceData->m_EffectName) + effectData->m_Desc->m_Name = sequenceData->m_EffectName; + if (sequenceData->m_EffectPathSource) + effectData->m_Desc->m_PathSource = sequenceData->m_EffectPathSource; + if (sequenceData->m_EffectBackdropMeshPath) + effectData->m_Desc->m_BackdropMesh.m_Path = sequenceData->m_EffectBackdropMeshPath; + if (sequenceData->m_EffectEnvironmentMapPath) + effectData->m_Desc->m_BackdropEnvironmentMap.m_Path = sequenceData->m_EffectEnvironmentMapPath; + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper( AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + PopcornFXSuite->HandleNewEmitterEvent(AAEData, effectData->m_Desc); + + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPluginInterface::_UnRegisterEffectInstancePlugin(SAAEIOData &AAEData, PF_ParamDef *params[], SEffectSequenceDataFlat *sequenceData) +{ + (void)params; + + std::string id; + + if (sequenceData != nullptr) + id = sequenceData->m_EffectUUID; + else if (GetEffectSequenceUID(AAEData, id) == false) + return false; + + if (m_EffectData.count(id) != 0) + { + SEffectData *effectData = m_EffectData[id]; + + AEFX_SuiteScoper PopcornFXSuite = AEFX_SuiteScoper(AAEData.m_InData, kPopcornFXSuite1, kPopcornFXSuiteVersion1, AAEData.m_OutData, "PopcornFX suite was not found."); + PopcornFXSuite->HandleDeleteEmitterEvent(AAEData, effectData->m_Desc); + + delete effectData->m_Desc; + delete effectData; + + m_EffectData.erase(id); + } + return true; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END diff --git a/AE_Effect_Emitter/Sources/AEEffect_SequenceData.cpp b/AE_Effect_Emitter/Sources/AEEffect_SequenceData.cpp new file mode 100644 index 00000000..2f8c40e0 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AEEffect_SequenceData.cpp @@ -0,0 +1,88 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEEffect_SequenceData.h" + +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetEffectName(const char* name) +{ + strncpy(m_EffectName, name, SequenceCST::MAX_NAME_LEN); + + m_EffectNameLen = strlen(name) + 1; + return true; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetEffectPathSource(const char *path) +{ + m_EffectPathSourceLen = strlen(path) + 1; + strncpy(m_EffectPathSource, path, SequenceCST::MAX_PATH_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetEffectBackdropMeshPath(const char *path) +{ + m_EffectBackdropMeshPathLen = strlen(path) + 1; + strncpy(m_EffectBackdropMeshPath, path, SequenceCST::MAX_PATH_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetEffectEnvironmentMapPath(const char *path) +{ + m_EffectEnvironmentMapPathLen = strlen(path) + 1; + strncpy(m_EffectEnvironmentMapPath, path, SequenceCST::MAX_PATH_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetUUID(const char *uuid) +{ + strncpy(m_EffectUUID, uuid, SequenceCST::UUID_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::SetUUID(const std::string &uuid) +{ + strncpy(m_EffectUUID, uuid.c_str(), SequenceCST::UUID_LEN); + return true; +} + +//---------------------------------------------------------------------------- + +void SEffectSequenceDataFlat::SetLayerID(A_long id) +{ + m_LayerID = id; +} + +//---------------------------------------------------------------------------- + +bool SEffectSequenceDataFlat::CopyFrom(SEffectSequenceDataFlat *src) +{ + SetEffectName(src->m_EffectName); + SetEffectPathSource(src->m_EffectPathSource); + SetEffectBackdropMeshPath(src->m_EffectBackdropMeshPath); + SetEffectEnvironmentMapPath(src->m_EffectEnvironmentMapPath); + SetUUID(src->m_EffectUUID); + SetLayerID(src->m_LayerID); + return true; +} + +//---------------------------------------------------------------------------- +__AAEPK_END + diff --git a/AE_Effect_Emitter/Sources/AE_Effect_Emitter.plugin-Info.plist b/AE_Effect_Emitter/Sources/AE_Effect_Emitter.plugin-Info.plist new file mode 100644 index 00000000..2f07e012 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AE_Effect_Emitter.plugin-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleExecutable + Emitter + CFBundleIdentifier + com.PersistantStudio.PopcornFX.Emitter + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AE_Effect_Emitter + CFBundlePackageType + eFKT + CFBundleSignature + FXTC + LSRequiresCarbon + + NSAppleScriptEnabled + No + NSHumanReadableCopyright + © PersistantStudio PopcornFX + + diff --git a/AE_Effect_Emitter/Sources/AE_Effect_Emitter_PiPL.r b/AE_Effect_Emitter/Sources/AE_Effect_Emitter_PiPL.r new file mode 100644 index 00000000..7ef877b3 --- /dev/null +++ b/AE_Effect_Emitter/Sources/AE_Effect_Emitter_PiPL.r @@ -0,0 +1,73 @@ +#include "AEConfig.h" +#include "AE_EffectVers.h" + +#ifndef AE_OS_WIN + #include +#endif + +#ifdef AE_OS_WIN +#include "../../AE_Suites/PopcornFX_Define_Version.h" +#endif +#ifdef AE_OS_MAC +#include "PopcornFX_Define_Version.h" +#endif + +resource 'PiPL' (16000) { + { /* array properties: 12 elements */ + /* [1] */ + Kind { + AEEffect + }, + /* [2] */ + Name { + "Emitter" + }, + /* [3] */ + Category { + "PopcornFX" + }, +#ifdef AE_OS_WIN + #ifdef AE_PROC_INTELx64 + CodeWin64X86 {"EffectMain"}, + #endif +#else + #ifdef AE_OS_MAC + CodeMacIntel64 {"EffectMain"}, + #endif +#endif + /* [6] */ + AE_PiPL_Version { + 2, + 0 + }, + /* [7] */ + AE_Effect_Spec_Version { + PF_PLUG_IN_VERSION, + PF_PLUG_IN_SUBVERS + }, + /* [8] */ + AE_Effect_Version { + AEPOPCORNFX_PIPL_VERSION + }, + /* [9] */ + AE_Effect_Info_Flags { + 0 + }, + /* [10] */ + AE_Effect_Global_OutFlags { + 101187584 + }, + AE_Effect_Global_OutFlags_2 { + 134222855 + }, + /* [11] */ + AE_Effect_Match_Name { + "ADBE PopcornFX Emitter" + }, + /* [12] */ + AE_Reserved_Info { + 8 + } + } +}; + diff --git a/AE_GeneralPlugin/GeneralPlugin.manifest b/AE_GeneralPlugin/GeneralPlugin.manifest new file mode 100644 index 00000000..ad87fd43 --- /dev/null +++ b/AE_GeneralPlugin/GeneralPlugin.manifest @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AE_GeneralPlugin/Include/AEGP_AEPKConversion.h b/AE_GeneralPlugin/Include/AEGP_AEPKConversion.h new file mode 100644 index 00000000..a965359d --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_AEPKConversion.h @@ -0,0 +1,77 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AECONVERSION_H__ +#define __FX_AECONVERSION_H__ + +#include "AEGP_Define.h" + +#include + +#include +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +RHI::EPixelFormat AAEToPK(PF_PixelFormat format); +PF_PixelFormat PKToAAE(RHI::EPixelFormat format); +u32 GetPixelSizeFromPixelFormat(RHI::EPixelFormat format); + +void AAEToPK(A_Matrix4 &in, CFloat4x4 &out); +void AAEToPK(A_Matrix4 &in, CFloat4x4 *out); + +CFloat3 AAEToPK(A_FloatPoint3 &in); +A_FloatPoint3 PKToAAE(CFloat3 &in); + +CFloat3 AngleAAEToPK(A_FloatPoint3 &in); +A_FloatPoint3 AnglePKToAAE(CFloat3 &in); + +EAttributeSemantic AttributePKToAAE(EDataSemantic value); + +EAttributeType AttributePKToAAE(EBaseTypeID value); +EBaseTypeID AttributeAAEToPK(EAttributeType value); + +EAttributeSamplerType AttributeSamplerPKToAAE(SParticleDeclaration::SSampler::ESamplerType type); + +void AAEToPK(SPostFXBloomDesc &in, PKSample::SParticleSceneOptions::SBloom &out); +void AAEToPK(SPostFXDistortionDesc &in, PKSample::SParticleSceneOptions::SDistortion &out); +void AAEToPK(SPostFXToneMappingDesc &in, PKSample::SParticleSceneOptions::SToneMapping &out); +void AAEToPK(SRenderingDesc &in, PKSample::SParticleSceneOptions &out); + +CUbyte3 ConvertSRGBToLinear(CUbyte3 v); +CUbyte3 ConvertLinearToSRGB(CUbyte3 v); + +EApiValue RHIApiToAEApi(RHI::EGraphicalApi value); +RHI::EGraphicalApi AEApiToRHIApi(EApiValue value); + +PKSample::CRHIParticleSceneRenderHelper::ERenderTargetDebug AAEToPK(ERenderType format); +CParticleSamplerDescriptor_VectorField_Grid::EInterpolation AAEToPK(EInterpolationType &value); + +//---------------------------------------------------------------------------- + +inline void WCharToCString(aechar_t *input, CString *destination) +{ + CStringUnicode tmp = CStringUnicode::FromUTF16(input); + destination->Append(tmp.ToUTF8()); +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif // !__FX_AECONVERSION_H__ diff --git a/AE_GeneralPlugin/Include/AEGP_AssetBaker.h b/AE_GeneralPlugin/Include/AEGP_AssetBaker.h new file mode 100644 index 00000000..c2b50a73 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_AssetBaker.h @@ -0,0 +1,222 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_ASSET_BAKER_H__ +#define __AEGP_ASSET_BAKER_H__ + +#include "AEGP_Define.h" + +#include "pk_base_object/include/hbo_object.h" +#include "pk_kernel/include/kr_threads.h" +#include "pk_kernel/include/kr_timers.h" +#include "pk_kernel/include/kr_resources.h" +#include "pk_kernel/include/kr_file_directory_walker.h" +#include + +//---------------------------------------------------------------------------- + +__PK_API_BEGIN + +class CResourceHandlerMesh; +class CResourceHandlerImage; +class CResourceHandlerRectangleList; +class CResourceHandlerFontMetrics; +class CResourceHandlerVectorField; +class CResourceManager; +class CCookery; +namespace HBO { + class CContext; +} + +__PK_API_END + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +class CResourceHandlerDummy : public IResourceHandler +{ +public: + CResourceHandlerDummy() { } + virtual ~CResourceHandlerDummy() { } + virtual void *Load(const CResourceManager *resourceManager, u32 resourceTypeID, const CString &resourcePath, bool pathNotVirtual, const SResourceLoadCtl &loadCtl, CMessageStream &loadReport, SAsyncLoadStatus *asyncLoadStatus) override + { + (void)resourceManager; (void)resourceTypeID; (void)resourcePath; (void)pathNotVirtual; (void)loadCtl; (void)loadReport; (void)asyncLoadStatus; + return null; + } + virtual void *Load(const CResourceManager *resourceManager, u32 resourceTypeID, const CFilePackPath &resourcePath, const SResourceLoadCtl &loadCtl, CMessageStream &loadReport, SAsyncLoadStatus *asyncLoadStatus) override + { + (void)resourceManager; (void)resourceTypeID; (void)resourcePath; (void)loadCtl; (void)loadReport; (void)asyncLoadStatus; + return null; + } + + virtual void Unload(const CResourceManager *, u32, void *) override { } + virtual void AppendDependencies(const CResourceManager *, u32, void *, TArray &) const override { } + virtual void AppendDependencies(const CResourceManager *, u32, const CString &, bool, TArray &) const override { } + virtual void AppendDependencies(const CResourceManager *, u32, const CFilePackPath &, TArray &) const override { } + virtual void BroadcastResourceChanged(const CResourceManager *, const CFilePackPath &) override { } +}; + +class CProjectSettingsFinder : public CFileDirectoryWalker +{ +public: + CProjectSettingsFinder(const CString &rootDir, IFileSystem *controller = null); + + virtual void FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) override; + virtual bool DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) override; + const CString &ProjectSettingsPath() const; + +private: + static bool ProjectSettingsPathValidator(const char *filePath); + +private: + CString m_ProjectSettingsPath; +}; + +//---------------------------------------------------------------------------- + +class SBakeContext +{ +public: + SBakeContext(); + ~SBakeContext(); + + IResourceHandler *m_BakeResourceMeshHandler; + IResourceHandler *m_BakeResourceImageHandler; + IResourceHandler *m_BakeResourceRectangleListHandler; + IResourceHandler *m_BakeResourceFontMetricsHandler; + IResourceHandler *m_BakeResourceVectorFieldHandler; + + IFileSystem *m_BakeFSController; + CResourceManager *m_BakeResourceManager; + HBO::CContext *m_BakeContext; + + bool m_Initialized; + + bool Init(); + + static bool _RemapPath(CString &path); + static CString _RemapFX(const CString &path); +}; + +//---------------------------------------------------------------------------- + +enum EAssetChangesType : int +{ + Undefined = 0, + Add, + Remove, + Update, + Rename +}; + +//---------------------------------------------------------------------------- + +class HBO_CLASS(CEditorAssetEffect), public CBaseObject +{ +private: + // Camera + HBO_FIELD(CFloat3, StartCameraPosition); + HBO_FIELD(CFloat3, StartCameraOrientation); +public: + CEditorAssetEffect(); + virtual ~CEditorAssetEffect(); + + void CopyFrom(CEditorAssetEffect *other); + + HBO_CLASS_DECLARATION(); +}; +PK_DECLARE_REFPTRCLASS(EditorAssetEffect); + +//---------------------------------------------------------------------------- + +class CEffectBaker : public CRefCountedObject +{ +private: + struct SAssetChange + { + CString m_EffectPath; + CString m_EffectPathOld; + EAssetChangesType m_Type; + }; + + struct SDirectoryValidator + { + const CStringView m_LibraryDir; + const CStringView m_EditorCacheDir; + const CStringView m_TemplatesDir; + + bool cmp(const char *rawPath) + { + const CStringView path = CStringView::FromNullTerminatedString(rawPath); + return !path.Contains(m_LibraryDir) && !path.Contains(m_EditorCacheDir) && !path.Contains(m_TemplatesDir); + } + + SDirectoryValidator(const CString &library, const CString &editor, const CString &templat) + : m_LibraryDir(library) + , m_EditorCacheDir(editor) + , m_TemplatesDir(templat) + { + } + }; + +public: + CEffectBaker(); + ~CEffectBaker(); + + void FileAdded(const CString &path); + void FileRemoved(const CString &path); + void FileChanged(const CString &path); + void FileChangedRelativePath(const CString &path); + void FileRenamed(const CString &oldPath, const CString &newPath); + + void Initialize(const CString &srcPack, const CString &dstPack, const CString &pkprojPath); + void LoadProjectSettings(const CString &pkprojPath); + void Clear(); + + void Lock(); + void Unlock(); + + void CancelAllFileChanges(); + int PopFileChanges(); + bool IsChangeRegistered(const CString &path, EAssetChangesType type); + void ReimportAssets(TArray &paths, bool importPkri = true); + void ReimportAllAssets(bool refesh); + void GetAllAssetPath(); + const CString &GetSourcePackRootPath() const { return m_RootDir; } + bool BakeAssetOrAddToRetryStack(SAssetChange &path); + bool LoadAndBrowseEffect(const CString &path); + bool BakeAsset(const CString &path, bool bakeDependencies = true); + + SBakeContext &GetBakeContextData() { return m_BakeContext; } + + void ClearBakedPaths() { m_BakedPaths.Clear(); } +private: + + bool m_Initialized; + + TArray m_ToBake; + TArray m_BakedPaths; + CString m_DstPackPath; + CString m_SrcPackPath; + PFilePack m_SrcPack; + PFilePack m_DstPack; + + SBakeContext m_BakeContext; + CCookery m_Cookery; + Threads::CCriticalSection m_Lock; + + CString m_RootDir; + CString m_LibraryDir; + CString m_EditorCacheDir; + CString m_PresetsDir; +}; +PK_DECLARE_REFPTRCLASS(EffectBaker); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_Attribute.h b/AE_GeneralPlugin/Include/AEGP_Attribute.h new file mode 100644 index 00000000..760d8e8d --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_Attribute.h @@ -0,0 +1,216 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AAEATTRIBUTE_H__ +#define __FX_AAEATTRIBUTE_H__ + +#include "AEGP_Define.h" + +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +//---------------------------------------------------------------------------- + +namespace PopcornFX +{ + PK_FORWARD_DECLARE(ParticleSamplerDescriptor); + PK_FORWARD_DECLARE(ShapeDescriptor); + PK_FORWARD_DECLARE(ImageSampler); + PK_FORWARD_DECLARE(ResourceMeshBatch); + PK_FORWARD_DECLARE(ResourceMesh); + + class CMeshSurfaceSamplerStructuresRandom; + class CMeshSurfaceSamplerStructuresFromUV; + class CMeshKdTree; + class CMeshVolumeSamplerStructuresRandom; + class CMeshProjection; + + struct SDensitySamplerData; +} + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +struct SSamplerBase +{ + PParticleSamplerDescriptor m_SamplerDescriptor; + bool m_Dirty = true; + + SSamplerBase(); + virtual ~SSamplerBase(); +}; + +//---------------------------------------------------------------------------- + +struct SSamplerShape : public SSamplerBase +{ + ESamplerShapeType m_Type; + + PShapeDescriptor m_ShapeDesc; + + + PResourceMeshBatch m_MeshBatch; + + // Acceleration structures are now owned by the integration: +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_SURFACE != 0) + CMeshSurfaceSamplerStructuresRandom *m_SurfaceSamplingStructs; + CMeshSurfaceSamplerStructuresFromUV *m_SurfaceUVSamplingStructs; + + bool CreateSurfaceSamplingStructs(const PResourceMeshBatch mesh); + bool CreateSurfaceUVSamplingStructs(const PResourceMeshBatch mesh); +#endif + +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_VOLUME != 0) + CMeshVolumeSamplerStructuresRandom *m_VolumeSamplingStructs; + + bool CreateVolumeSamplingStructs(const PResourceMeshBatch mesh); +#endif + +#if (PK_GEOMETRICS_BUILD_MESH_PROJECTION != 0) && 0 + CMeshProjection *m_ProjectionStructs; + + bool CreateProjectionStructs(const PResourceMeshBatch mesh); +#endif + +#if (PK_GEOMETRICS_BUILD_KDTREE != 0) + CMeshKdTree *m_KdTree; + + bool CreateKdTree(const PResourceMeshBatch mesh); +#endif + + SSamplerShape(); + virtual ~SSamplerShape(); + bool UpdateShape(SShapeSamplerDescriptor *aeShapeDesc); +}; + +//---------------------------------------------------------------------------- + +struct SSamplerImage : public SSamplerBase +{ + PRefCountedMemoryBuffer m_TextureData; + u32 m_Width; + u32 m_Height; + u32 m_SizeInBytes; + CImage::EFormat m_PixelFormat; + + int m_WrapMode; + + CImageSampler *m_ImageDesc = null; + SDensitySamplerData *m_DensitySampler = null; + + SSamplerImage(); + virtual ~SSamplerImage(); + bool UpdateImage(SImageSamplerDescriptor *aeTextDesc); +}; + +//---------------------------------------------------------------------------- + +struct SSamplerText : public SSamplerBase +{ + CString m_Data; + + SSamplerText(); + virtual ~SSamplerText(); + bool UpdateText(STextSamplerDescriptor *aeTextDesc); +}; + +//---------------------------------------------------------------------------- + +struct SSamplerAudio : public SSamplerBase +{ + enum SamplingType + { + SamplingType_Unknown = 0, + SamplingType_WaveForm, + SamplingType_Spectrum, + }; + + float *m_Waveform; + u32 m_InputSampleCount; + u32 m_SampleCount; + + AEGP_SoundDataH m_SoundData; + + SamplingType m_SamplingType; + float *m_WaveformData; + TArray m_WaveformPyramid; + + CStringId m_Name; + + Threads::CCriticalSection m_Lock; + bool m_BuiltThisFrame; + + SSamplerAudio(); + virtual ~SSamplerAudio(); + bool UpdateSound(SAudioSamplerDescriptor *aeTextDesc); + + bool CleanAudioPyramid(); + bool BuildAudioPyramidIFN(); + + bool ReleaseAEResources(); +}; + +//---------------------------------------------------------------------------- + +struct SSamplerVectorField : public SSamplerBase +{ + SSamplerVectorField(); + virtual ~SSamplerVectorField(); + bool UpdateVectorField(SVectorFieldSamplerDescriptor *aeShapeDesc); +}; + +//---------------------------------------------------------------------------- + +struct SPendingAttribute +{ + PF_ProgPtr m_ParentEffectPtr; + + SAttributeBaseDesc *m_Desc; + + SSamplerBase *m_PKDesc; + + AEGP_EffectRefH m_AttributeEffectRef; + + bool m_Deleted = false; + + SPendingAttribute(PF_ProgPtr parent = null, SAttributeBaseDesc *desc = null, AEGP_EffectRefH effectRef = null) + : m_ParentEffectPtr(parent) + , m_Desc(desc) + , m_PKDesc(null) + , m_AttributeEffectRef(effectRef) + {}; + + SPendingAttribute(const SPendingAttribute &other) + : m_ParentEffectPtr(other.m_ParentEffectPtr) + , m_Desc(other.m_Desc) + , m_PKDesc(other.m_PKDesc) + , m_AttributeEffectRef(other.m_AttributeEffectRef) + {}; + + ~SPendingAttribute() + { + PK_ASSERT(!m_AttributeEffectRef); + }; + +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_Define.h b/AE_GeneralPlugin/Include/AEGP_Define.h new file mode 100644 index 00000000..68347847 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_Define.h @@ -0,0 +1,41 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEGP_DEFINE_H__ +#define __FX_AEGP_DEFINE_H__ + +#include + +#include + +//---------------------------------------------------------------------------- + +#define __AEGP_PK_BEGIN namespace AEGPPk { +#define __AEGP_PK_END } + +#define ASSERT_AE_ERR(result, value) PK_ASSERT(value != A_Err_NONE); result |= value; + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +using namespace PK_NAMESPACE; +using namespace AAePk; + +//---------------------------------------------------------------------------- + +enum EApiValue //Do not reorder/change values +{ + D3D11 = 1, + D3D12, + Metal, + Size, +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif // !__FX_AEGP_DEFINE_H__ diff --git a/AE_GeneralPlugin/Include/AEGP_FileDialog.h b/AE_GeneralPlugin/Include/AEGP_FileDialog.h new file mode 100644 index 00000000..d57aa9c1 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_FileDialog.h @@ -0,0 +1,82 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_FILEDIALOG_H__ +#define __AEGP_FILEDIALOG_H__ + +#include "AEGP_Define.h" +#if defined (PK_MACOSX) +#include "AEGP_FileDialogMac.h" +#endif +#if defined (PK_WINDOWS) +#include "AEGP_WinFileDialog.h" +#endif +#include + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +#if defined(PK_MACOSX) + +//---------------------------------------------------------------------------- + +struct SMacFileDialogFilterData +{ + CString m_Desc; + CString m_Type; + + SMacFileDialogFilterData(const CString desc, const CString type); +}; + +//---------------------------------------------------------------------------- + +struct SMacFileOpenData +{ + TArray m_Filters; + PopcornFX::FastDelegate m_Cb; + + SMacFileOpenData(); + + ~SMacFileOpenData(); + + bool AddFilter(const CString &desc, const CString &type); +}; + +//---------------------------------------------------------------------------- + +bool MacBasicFileOpen(SMacFileOpenData &data); + +//---------------------------------------------------------------------------- +#endif + +//---------------------------------------------------------------------------- + +struct SFileDialog +{ +#if defined(PK_WINDOWS) + SWinFileOpenData m_Data; +#elif defined (PK_MACOSX) + SMacFileOpenData m_Data; +#endif + bool m_Cancel; + + SFileDialog(); + + bool AddFilter(const CString &desc, const CString &type); + void SetCallback(FastDelegate cb) { m_Data.m_Cb = cb; }; + bool BasicFileOpen(); + + bool IsCancelled(); + +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_FileDialogMac.h b/AE_GeneralPlugin/Include/AEGP_FileDialogMac.h new file mode 100644 index 00000000..68a5dcab --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_FileDialogMac.h @@ -0,0 +1,23 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#ifndef __AEGP_FILEDIALOGMAC_H__ +#define __AEGP_FILEDIALOGMAC_H__ + +#include "AEGP_Define.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +#if defined(PK_MACOSX) + +CString OpenFileDialogMac(const TArray &filters, const CString &defaultPathAndFile = CString()); + +#endif + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_FileWatcher.h b/AE_GeneralPlugin/Include/AEGP_FileWatcher.h new file mode 100644 index 00000000..c9989506 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_FileWatcher.h @@ -0,0 +1,43 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_FILE_WATCHER_H__ +#define __AEGP_FILE_WATCHER_H__ + +#include "AEGP_Define.h" + +#include + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +class CFileWatcher : public CRefCountedObject +{ +private: + PFileSystemWatcher m_FileWatcher; + CString m_PathToWatch; + + bool CreateWatcherIFN(); + void RemoveWatchIFN(); + +public: + CFileWatcher(); + ~CFileWatcher(); + + void PauseFileWatcher(); + void RestartFileWatcher(); + + bool SetWatchPack(const CString &pathToWatch); + void SetNotifierAdd(void(*callback)(const CString &filePath)); + void SetNotifierRemove(void(*callback)(const CString &filePath)); + void SetNotifierModify(void(*callback)(const CString &filePath)); + void SetNotifierRename(void(*callback)(const CString &oldFilePath, const CString &newFilePath)); +}; +PK_DECLARE_REFPTRCLASS(FileWatcher); + +//---------------------------------------------------------------------------- +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_FrameCollector.h b/AE_GeneralPlugin/Include/AEGP_FrameCollector.h new file mode 100644 index 00000000..866c148d --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_FrameCollector.h @@ -0,0 +1,46 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#include "PK-SampleLib/PKSample.h" + +#include +#include + +#include + +#include "AEGP_Define.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- +// +// Frame collector +// +//---------------------------------------------------------------------------- + +// CFrameCollector is specialized with our policy to work with RHI. +// Create your own policy to use it in your custom engine. +class CFrameCollector : public TFrameCollector +{ +public: + CFrameCollector(); + virtual ~CFrameCollector(); + + // Views to cull against (setup from update thread) + TMemoryView m_CullingFrustums; + +private: + // Early Cull: Culls an entire medium on the update thread (when collecting the frame) + virtual bool EarlyCull(const PopcornFX::CAABB &bbox) const override; + + // Late Cull: Cull draw requests or individual pages on the render thread (when collecting draw calls) + // You can use this method if you don't have render thread views available from the update thread + // Ideally, cull in EarlyCull, but you should implement both methods + // Late cull also allows for finer culling (per draw request / per page) + virtual bool LateCull(const PopcornFX::CAABB &bbox) const override { return EarlyCull(bbox); } +}; + +//---------------------------------------------------------------------------- +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Include/AEGP_LayerHolder.h b/AE_GeneralPlugin/Include/AEGP_LayerHolder.h new file mode 100644 index 00000000..4d2556ae --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_LayerHolder.h @@ -0,0 +1,152 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once +#include "AEGP_Define.h" + +#include "AEGP_Attribute.h" + +#include + +#include +#include +#include +#include +#include + +#include + +#include +#include + +#include +#include +#include + +namespace AAePk +{ + struct SAAEIOData; + struct SAttributeDesc; + struct SAttributeSamplerDesc; + struct SEmitterDesc; +}; + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(AAEScene); +PK_FORWARD_DECLARE(RendererProperties); + +//---------------------------------------------------------------------------- + +class HBO_CLASS(CGraphicOverride), public CBaseObject +{ +public: + HBO_FIELD(u32, RendererID); + HBO_FIELD(u32, PropertyID); + + HBO_FIELD(CString, Value); +public: + CGraphicOverride(); + ~CGraphicOverride(); + + bool operator==(const CGraphicOverride &other); + + HBO_CLASS_DECLARATION(); +}; +PK_DECLARE_REFPTRCLASS(GraphicOverride); + +//---------------------------------------------------------------------------- + +class HBO_CLASS(CLayerProperty), public CBaseObject +{ +public: + HBO_FIELD(CString, CompName); + HBO_FIELD(u32, ID); + HBO_FIELD(TArray, RendererProperties); + +public: + CLayerProperty(); + ~CLayerProperty(); + + HBO_CLASS_DECLARATION(); +}; +PK_DECLARE_REFPTRCLASS(LayerProperty); + +//---------------------------------------------------------------------------- + +struct SPendingEmitter +{ + PF_ProgPtr m_EffectHandle; + + //Data Owned by AEEffect. Do not free in AEGP + SEmitterDesc *m_Desc; + + SPendingEmitter(PF_ProgPtr ptr = null, SEmitterDesc *desc = null) + : m_EffectHandle(ptr) + , m_Desc(desc) + { + + } + + SPendingEmitter(const SPendingEmitter& other) + { + m_EffectHandle = other.m_EffectHandle; + m_Desc = other.m_Desc; + } + + ~SPendingEmitter() + { + m_EffectHandle = null; + m_Desc = null; + } +}; + +//---------------------------------------------------------------------------- + +struct SLayerHolder +{ + u32 ID = 0; + + u32 m_TimeScale = 0; + u32 m_TimeStep = 0; + u32 m_CurrentTime = 0; + CFloat4x4 m_ViewMatrix = CFloat4x4::IDENTITY; + CFloat4 m_CameraPos = CFloat4::ZERO; + + AEGP_LayerH m_EffectLayer = null; + AEGP_LayerH m_CameraLayer = null; + PAAEScene m_Scene = null; + + TArray m_SPendingEmitters; + SPendingEmitter m_SpawnedEmitter; + + TArray m_SPendingAttributes; + THashMap m_DeletedAttributes; + THashMap m_SpawnedAttributes; + + THashMap m_DeletedAttributesSampler; + THashMap m_SpawnedAttributesSampler; + + SSamplerAudio *m_BackdropAudioWaveform = null; + SSamplerAudio *m_BackdropAudioSpectrum = null; + + float m_ScaleFactor = 1; + bool m_ForceRender = false; + bool m_Deleted = false; + + Threads::CCriticalSection m_LayerLock; + + CString m_SourcePackPath; + PFilePack m_BakedPack = null; + + CString m_LayerName; + CString m_CompositionName; + PLayerProperty m_LayerProperty = null; + + SLayerHolder(); + ~SLayerHolder(); + + bool Clear(SPBasicSuite* suite); +}; + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Include/AEGP_Log.h b/AE_GeneralPlugin/Include/AEGP_Log.h new file mode 100644 index 00000000..2778c891 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_Log.h @@ -0,0 +1,51 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEGP_LOG_H__ +#define __FX_AEGP_LOG_H__ + +#include + +#include +#include +#include +#include +#include +#include + +#include "AEGP_Define.h" + +//---------------------------------------------------------------------------- +namespace AAePk +{ + struct SAAEIOData; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +class CAELog +{ + static bool s_PKState; + static SAAEIOData *s_IOData; +public: + static bool LogErrorWindows(SAAEIOData *AAEData, const CString errorStr); + + static bool SetIOData(SAAEIOData *AAEData); + static void ClearIOData(); + static bool TryLogErrorWindows(const CString errorStr); + static void SetPKLogState(bool state); + + + static bool TryLogInfoWindows(const CString infoStr); +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif + diff --git a/AE_GeneralPlugin/Include/AEGP_Main.h b/AE_GeneralPlugin/Include/AEGP_Main.h new file mode 100644 index 00000000..8f3086d9 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_Main.h @@ -0,0 +1,30 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEGP_MAIN_H__ +#define __FX_AEGP_MAIN_H__ + +#include + +#include +#include +#include +#include +#include +#include + +#ifdef AE_OS_WIN + typedef unsigned short PixelType; + #include +#endif + +//---------------------------------------------------------------------------- +// This entry point is exported through the PiPL (.r file) +extern "C" DllExport AEGP_PluginInitFuncPrototype EntryPointFunc; + +//---------------------------------------------------------------------------- + +#endif + diff --git a/AE_GeneralPlugin/Include/AEGP_PackExplorer.h b/AE_GeneralPlugin/Include/AEGP_PackExplorer.h new file mode 100644 index 00000000..5e777cd4 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_PackExplorer.h @@ -0,0 +1,61 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_PACK_EXPLORER_H__ +#define __FX_PACK_EXPLORER_H__ + +#include "AEGP_Define.h" + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +class CPackExplorer : public CFileDirectoryWalker, public CRefCountedObject +{ +protected: + CString m_Pack; + TArray m_EffectPaths; + + virtual bool DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) override; + virtual void FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) override; + +public: + CPackExplorer(const CString &pack, IFileSystem *fileSystem = null); + virtual ~CPackExplorer(); + + void Explore(); // will start scanning + + const CString &Pack() const { return m_Pack; } + TMemoryView EffectPaths() const { return m_EffectPaths; } +}; + +//---------------------------------------------------------------------------- + +class CBakedPackExplorer : public CFileDirectoryWalker, public CRefCountedObject +{ +protected: + CString m_Pack; + TArray m_EffectPaths; + + virtual bool DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) override; + virtual void FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) override; + +public: + CBakedPackExplorer(const CString &pack, IFileSystem *fileSystem = null); + virtual ~CBakedPackExplorer(); + + void Explore(); // will start scanning + + const CString &Pack() const { return m_Pack; } + TMemoryView EffectPaths() const { return m_EffectPaths; } +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif // __FX_PACK_EXPLORER_H__ diff --git a/AE_GeneralPlugin/Include/AEGP_ParticleScene.h b/AE_GeneralPlugin/Include/AEGP_ParticleScene.h new file mode 100644 index 00000000..52206183 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_ParticleScene.h @@ -0,0 +1,54 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AAEPARTICLESCENE_H__ +#define __FX_AAEPARTICLESCENE_H__ + +#include "AEGP_Define.h" + +#include + +#include +#include +#include + +#include + +__AEGP_PK_BEGIN + +class CAAEScene; + +//---------------------------------------------------------------------------- + +class CAAEParticleScene : public IParticleScene +{ +public: + CAAEParticleScene() {} + virtual ~CAAEParticleScene() {} + + virtual void RayTracePacket( const Colliders::STraceFilter &traceFilter, + const Colliders::SRayPacket &packet, + const Colliders::STracePacket &results) override; + + void ClearBackdropMesh(); + void SetBackdropMeshTransform(const CFloat4x4 &transforms); + void SetBackdropMesh(const TResourcePtr &resourceMesh, const CFloat4x4 &transforms); + const CFloat4x4 &BackdropMeshTransforms() const { return m_BackdropMeshTransforms; } + + virtual TMemoryView GetAudioSpectrum(CStringId channelGroup, u32 &outBaseCount) const override; + virtual TMemoryView GetAudioWaveform(CStringId channelGroup, u32 &outBaseCount) const override; + + CAAEScene *m_Parent = null; +private: + // Mesh backdrop + TArray m_BackdropMeshes; + CFloat4x4 m_BackdropMeshTransforms = CFloat4x4::IDENTITY; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_PopcornFXPlugins.h b/AE_GeneralPlugin/Include/AEGP_PopcornFXPlugins.h new file mode 100644 index 00000000..eeda0a43 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_PopcornFXPlugins.h @@ -0,0 +1,55 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_POPCORNPLUGINS_H__ +#define __FX_POPCORNPLUGINS_H__ + +#include "AEGP_Define.h" + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +enum ERuntimePlugin +{ + EPlugin_ImageCodecDDS = 1 << 0, + EPlugin_ImageCodecPNG = 1 << 1, + EPlugin_ImageCodecJPG = 1 << 2, + EPlugin_ImageCodecTGA = 1 << 3, + EPlugin_ImageCodecTIFF = 1 << 4, + EPlugin_ImageCodecPKM = 1 << 5, + EPlugin_ImageCodecPVR = 1 << 6, + EPlugin_ImageCodecHDR = 1 << 7, + EPlugin_ImageCodecEXR = 1 << 8, + + EPlugin_MeshCodecFBX = 1 << 16, + EPlugin_MeshCodecGranny = 1 << 17, + + EPlugin_CompilerBackendVM = 1 << 20, + EPlugin_CompilerBackendISPC = 1 << 21, + EPlugin_CompilerBackendD3D = 1 << 22, + EPlugin_CompilerBackendPSSLC = 1 << 23, + + // All "base" plugins + EPlugin_Default = EPlugin_CompilerBackendVM | + EPlugin_CompilerBackendD3D | + EPlugin_ImageCodecDDS | + EPlugin_ImageCodecPNG | + EPlugin_ImageCodecJPG | + EPlugin_ImageCodecTGA | + EPlugin_ImageCodecHDR, +}; + +//---------------------------------------------------------------------------- + +// loads selected plugins. set 'selected' to a bitwise combinations of the above plugin flags. must be matched by a call to 'UnregisterPlugins' +bool PopcornRegisterPlugins(u32 selected = 0); + +// unloads all previously loaded plugins +void PopcornUnregisterPlugins(); + +//---------------------------------------------------------------------------- +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_RenderContext.h b/AE_GeneralPlugin/Include/AEGP_RenderContext.h new file mode 100644 index 00000000..9fb4ebc5 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_RenderContext.h @@ -0,0 +1,120 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_RENDERCONTEXT_H__ +#define __FX_RENDERCONTEXT_H__ + +#include "AEGP_Define.h" + +#include +#include +#include + +#include + +#include +#include + +//---------------------------------------------------------------------------- + +namespace AAePk +{ + struct SAAEIOData; +} + +__AEGP_PK_BEGIN + +class CAAEBaseContext; +PK_FORWARD_DECLARE(AAERenderContext); + +//---------------------------------------------------------------------------- + +class CAAERenderContext : public CRefCountedObject +{ +public: + CAAERenderContext(); + ~CAAERenderContext(); + + bool InitializeIFN(RHI::EGraphicalApi api, const CString &className); + bool InitGraphicContext(RHI::EPixelFormat rhiformat, u32 width, u32 height); + bool Destroy(); + + CAAEBaseContext *GetAEGraphicContext(); + + PKSample::CRHIParticleSceneRenderHelper *GetCurrentSceneRenderer(); + CUint2 GetViewportSize() const; + void *GetWindowHandle() { return m_WindowHandle; } + + void LogGraphicsErrors(); + + void SetShaderLoader(PKSample::CShaderLoader *sl); + PKSample::CShaderLoader *GetShaderLoader(); + void SetPostFXOptions(PKSample::SParticleSceneOptions &so); + + bool SetAsCurrentContext(); + + void SetBackgroundOptions(bool isOverride, float alphaValue) { m_IsOverride = isOverride; m_AlphaValue = alphaValue; } + void SetGamma(float gamma) { m_Gamma = gamma; } + + bool RenderFrameBegin(u32 width, u32 height); + bool RenderFrameEnd(); + + bool AERenderFrameBegin (SAAEIOData &AAEData, bool getBackground = true); + bool AERenderFrameEnd (SAAEIOData &AAEData); + bool RenderToSAAEWorld (SAAEIOData &AAEData, AEGP_SuiteHandler &suiteHandler, PF_EffectWorld *inputWorld, PF_EffectWorld *effectWorld, PF_PixelFormat format); + bool GetCompositingBuffer(SAAEIOData &AAEData, AEGP_SuiteHandler &suiteHandler, PF_EffectWorld *inputWorld, PF_EffectWorld *effectWorld, PF_PixelFormat format); + + CUint2 GetContextSize(); + +private: + bool CreateInternalWindowIFN(const CString& className); + + void *m_WindowHandle; + void *m_DeviceContext; + + u32 m_Width; + u32 m_Height; + + RHI::EGraphicalApi m_API; + + static Threads::CCriticalSection m_AEGraphicContextLock; + static CAAEBaseContext *m_AEGraphicContext; + + RHI::EPixelFormat m_Format; + PF_PixelFormat m_AAEFormat; + + bool m_Initialized; + + float m_Gamma = 1.0f; + bool m_IsOverride = false; + float m_AlphaValue = 1.0f; + + PKSample::CRHIParticleSceneRenderHelper *m_RHIRendering; + + //Shared between rendercontexts + PKSample::CShaderLoader *m_ShaderLoader; + + PKSample::SParticleSceneOptions m_SceneOptions; + + PRefCountedMemoryBuffer m_UploadBuffer = null; + u32 m_UploadBufferSize = 0; + + PRefCountedMemoryBuffer m_DownloadBuffer = null; + u32 m_DownloadBufferSize = 0; + +private: + void ResetCheckedOutWorlds(SAAEIOData &AAEData); + + PF_EffectWorld *m_InputWorld = null; + PF_EffectWorld *m_OutputWorld = null; + +}; +PK_DECLARE_REFPTRCLASS(AAERenderContext); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_Scene.h b/AE_GeneralPlugin/Include/AEGP_Scene.h new file mode 100644 index 00000000..d43adcb7 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_Scene.h @@ -0,0 +1,316 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AAESCENE_H__ +#define __FX_AAESCENE_H__ + +#include "AEGP_Define.h" + +#include "AEGP_RenderContext.h" +#include "AEGP_FrameCollector.h" + +#include + +#include + +#include + +#include +#include +#include + +#include "AEGP_Attribute.h" +#include "AEGP_ParticleScene.h" + +#include + +//---------------------------------------------------------------------------- + +__PK_API_BEGIN +PK_FORWARD_DECLARE(SkeletonState); +__PK_API_END + +__AAEPK_BEGIN + +struct SEmitterDesc; + +__AAEPK_END + + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(AAERenderContext); +PK_FORWARD_DECLARE(SkinnedMeshInstance); + +// Forward declare our simple scene definition +struct SSimpleSceneDef; +struct SLayerHolder; + +struct SSamplerAudio; +struct SPendingAttribute; + +//---------------------------------------------------------------------------- + +struct SAAEWorld +{ + CFloat3 m_WorldOrigin; + float m_WorldWidth = -1.0f; + float m_WorldHeight = -1.0f; +}; + +//---------------------------------------------------------------------------- + +struct SRendererProperties +{ + CString m_Name; + CString m_Value; + + CString m_EffectLayerName; + u32 m_EffectLayerUID; + + CStringId m_LayerID; + + u32 m_RendererUID; + u32 m_PropertyUID; + + + SRendererProperties(const CString &name, const CString &value, const CString &effectLayerName, u32 effectLayerUID, CStringId layerID, u32 rdrUID, u32 propUID) + : m_Name(name) + , m_Value(value) + , m_EffectLayerName(effectLayerName) + , m_EffectLayerUID(effectLayerUID) + , m_LayerID(layerID) + , m_RendererUID(rdrUID) + , m_PropertyUID(propUID) + { + + } +}; + +PK_FORWARD_DECLARE(AAEScene); + +//---------------------------------------------------------------------------- + +class CAAEScene : public CRefCountedObject +{ +public: + + struct SSkinnedDataSimple + { + struct SSkinnedDataSubMesh + { + u32 m_SubMeshID; + TStridedMemoryView m_Positions; + TStridedMemoryView m_Normals; + SSkinnedDataSubMesh() : m_SubMeshID(0) {} + }; + + bool m_Valid; + TSemiDynamicArray m_SubMeshes; + + SSkinnedDataSimple() : m_Valid(false) {} + }; +public: + static u32 s_SceneID; + u32 m_ID; +public: + CAAEScene(); + virtual ~CAAEScene(); + + bool Init(SAAEIOData &AAEData); + bool Quit(); + static void ShutdownPopcornFX(); + + bool Update(SAAEIOData &AAEData); + bool UpdateLight(SLayerHolder *layer); + bool UpdateAttributes(SLayerHolder *layer); + + void UpdateBackdropTransform(SEmitterDesc *desc); + bool UpdateBackdrop(SLayerHolder *layer, SEmitterDesc *desc); + bool Render(SAAEIOData &AAEData); + + bool ResetEffect(bool unload); + + TArray &GetRenderers() { return m_OverridableProperties; } + HBO::CContext *GetContext() { return m_HBOContext; } + bool GetEmitterBounds(CAABB &bounds); + + void SetLayerHolder(SLayerHolder *parent); + void SetCameraViewMatrix(const CFloat4x4 &viewMatrix, const CFloat4 &pos, const float cameraZoom); + + void SetWorldSize(SAAEIOData &AAEData); + void SetEmitterPosition(const CFloat3 &position, ETransformType type); + void SetEmitterRotation(const CFloat3 &rotation); + void SetEmitterTeleport(bool teleport = true); + + bool SetupScene(bool seeking, bool refresh); + + //Pack&Effect Management + bool SetPack(PFilePack pack, bool unload); + bool SetSelectedEffect(CString name, bool refresh); + + void SetEffectDescriptor(SEmitterDesc* desc); + + bool RefreshAssetList(); + + SSamplerAudio *GetAudioSamplerDescriptor(CStringId name, SSamplerAudio::SamplingType type); + + void SetSeeking(bool seekingEnabled) { m_SeekingEnabled = seekingEnabled; } + void SetSkinnedBackdropParams(bool enabled, bool weightedSampling, u32 colorStreamID, u32 weightStreamID); + +protected: + bool _LateInitializeIFN(); + bool _SetupMediumCollection(); + void _FastForwardSimulation(SAAEIOData &AAEData, float timeTarget); + bool _UpdateShapeSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc* descriptor); + bool _UpdateTextSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc* descriptor); + bool _UpdateImageSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc* descriptor); + bool _UpdateAudioSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc* descriptor); + bool _UpdateVectorFieldSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc* descriptor); + bool _SeekingUpdateEffect(float dt, float elapsedTime, float timeTarget, u32 curUpdateIdx, u32 totalUpdatesCount); + void _SeekingLoadAndRunEffect(CParticleMediumCollection *mediumCollection, + const CParticleEffect *effect, + const CFloat4x4 &transform, + float timeFromStartOfFrame, + float timeToEndOfFrame, + float elapsedTime); + bool _SeekingWaitForUpdateFence(CTimer *waitTimer, float customMaxUpdateTime = -1.0f); + u32 _PickNewEffectSeed(); + + // Scene + bool _LoadScene(const SSimpleSceneDef &fxPath); + void _CollectCurrentFrame(); + void _RenderLastCollectedFrame(); + + void _UpdateEmitter(float dt); + void _UpdateCamera(); + void _UpdateMediumCollectionView(); + + void _OnUpdateComplete(CParticleMediumCollection *collection); + + // Effects + bool _LoadEffectIFN(const SSimpleSceneDef &sceneDef); + PParticleEffectInstance _InstantiateEffect(); + PParticleEffectInstance _InstantiateEffect(float timeFromStartOfFrame, float timeToEndOfFrame); + void _OnInstanceDeath(const PParticleEffectInstance &instance); + + bool _RebuildAttributes(const SSimpleSceneDef &sceneDef); + + void _ExtractAEFrameInfo(SAAEIOData &AAEData); + bool _CheckRenderAbort(SAAEIOData *AAEData); + // Camera + void _SetProj(float fovxDegrees, const CFloat2 &winDimPixel, float zNear, float zFar); + + void _FillAdditionnalDataForRender(); +public: + // GPU Sim +#if (PK_PARTICLES_UPDATER_USE_D3D12 != 0 || PK_PARTICLES_UPDATER_USE_D3D11 != 0) + static bool SimDispatchMask(const PopcornFX::CParticleDescriptor *descriptor, PopcornFX::SSimDispatchHint &outHint); + void D3D12_EnqueueTask(const PopcornFX::PParticleUpdaterTaskD3D12 &task); +#endif + +protected: + //World + SAAEWorld m_SAAEWorldData; + PF_ProgPtr m_EffectRef; + SEmitterDesc *m_EffectDesc; + + SLayerHolder *m_LayerHolder; + + CFloat3 m_EmitterDefaultPosition; + CFloat3 m_EmitterDefaultOrientation; + + ETransformType m_EmitterTransformType; + CFloat4x4 m_EmitterTransformsCurrent; + CFloat4x4 m_EmitterTransformsPrevious; + CFloat3 m_EmitterVelCurrent; + CFloat3 m_EmitterVelPrevious; + + CUint2 m_OriginViewport; + + bool m_Paused; + + //AE Interface + CFloat3 m_AEEmitterPosition; + CFloat3 m_AEEmitterRotation; + u32 m_AEEmitterSeed; + + CFloat4x4 m_AEViewMatrix; + CFloat4 m_AECameraPos; + float m_AECameraZoom; + bool m_TeleportEmitter; + + u32 m_FrameNumber; + float m_DT; + float m_PreviousTimeSec; + float m_CurrentTimeSec; + + bool m_Initialized; + bool m_SeekingEnabled; + + A_Err m_FrameAbortedDuringSeeking; + + PKSample::SCamera m_Camera; + + PParticleEffect m_Effect; + + PBaseObjectFile m_EffectFile; + CString m_EffectPath; + PParticleEffectInstance m_EffectLastInstance; + + PParticleAttributeList m_AttributesList; + + TArray m_ActiveAudioSamplers; + + CFloat4 m_EmitterPositionNormalized_Debug; + CFloat4x4 m_LastInstanceXForms; + float m_ElapsedTimeSinceLastSpawn; + + PKSample::CRHIParticleRenderDataFactory m_ParticleRenderDataFactory; + CFrameCollector m_FrameCollector; + PKSample::SRHIDrawOutputs m_DrawOutputs; + EDrawCallSortMethod m_DCSortMethod; + + PKSample::SSceneInfoData m_SceneInfoData; + RHI::PConstantSet m_SceneInfoConstantSet; + RHI::PGpuBuffer m_SceneInfoConstantBuffer; + + CString m_SelectedEffect; + + PFilePack m_LoadedPack; + + HBO::CContext *m_HBOContext; + CAAEParticleScene *m_ParticleScene; + CParticleMediumCollection *m_ParticleMediumCollection; + float m_Stats_SimulationTime; + + CGuid m_ViewSlotInMediumCollection; + PKSample::SBackdropsData m_BackdropData; + + TResourcePtr m_ResourceMesh; + PSkinnedMeshInstance m_SkinnedMeshInstance; + PSkeletonState m_SkeletonState; + TArray m_FXInstancesSkinnedData; + + CResourceManager *m_ResourceManager; + + //Skinned Mesh Sampling + bool m_HasBoundBackdrop; + bool m_IsWeightedSampling; + u32 m_ColorStreamID; + u32 m_WeightStreamID; + SAAEIOData *m_AAEDataForSeeking; + +private: + TArray m_OverridableProperties; + bool m_ForceRestartSeeking; +}; +PK_DECLARE_REFPTRCLASS(AAEScene); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_SkinnedMesh.h b/AE_GeneralPlugin/Include/AEGP_SkinnedMesh.h new file mode 100644 index 00000000..529b6509 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_SkinnedMesh.h @@ -0,0 +1,122 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_SKINNEDMESH_H__ +#define __AEGP_SKINNEDMESH_H__ + +#include "AEGP_Define.h" + +#include +#include + +// For skinned mesh backdrops +#include +#include +#include + +//---------------------------------------------------------------------------- + +namespace PopcornFX +{ + PK_FORWARD_DECLARE(SkeletonState); + PK_FORWARD_DECLARE(ResourceMeshBatch); +} + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +enum EMeshChannels +{ + Channel_Position = 0x1, + Channel_Normal = 0x2, + Channel_Tangent = 0x4, + Channel_Velocity = 0x8, +}; + +//---------------------------------------------------------------------------- + +class CSkinnedMesh : public CRefCountedObject +{ +protected: + PSkeletonState m_SkeletonState; + CTimeline m_Timeline; + + struct SSubMesh + { + PCResourceMeshBatch m_SkeletalMesh; + PSkeletonState m_SkeletonState; + CSkinAsyncContext m_SkinUpdateContext; + SSamplerSourceOverride m_SampleSourceOverride; + void *m_RawSkinnedData = null; + u32 m_RawSkinnedDataElementCount = 0; + TStridedMemoryView m_Positions; // view inside 'm_RawSkinnedData' + TStridedMemoryView m_Normals; // view inside 'm_RawSkinnedData' + TStridedMemoryView m_Tangents; // view inside 'm_RawSkinnedData' + TStridedMemoryView m_OldPositions; // view inside 'm_RawSkinnedData' + TStridedMemoryView m_Velocities; // view inside 'm_RawSkinnedData' + float m_SkinDt; // accessed by skinning jobs + bool m_FirstFrame; + + ~SSubMesh() + { + PK_FREE(m_RawSkinnedData); + } + + bool Empty() const { return m_SkeletalMesh == null; } + + void Skin_PreProcess(u32 vertexStart, u32 vertexCount, const SSkinContext &ctx); + void Skin_PostProcess(u32 vertexStart, u32 vertexCount, const SSkinContext &ctx); + }; + + TArray m_SubMeshes; + + float m_SkinDt; // accessed by skinning jobs + bool m_FirstFrame; + u32 m_SamplingChannels; + + bool _Init_Impl(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &srcSkeletonState); + +public: + CSkinnedMesh(); + ~CSkinnedMesh(); + + void Reset(); + bool Init(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &srcSkeletonState); + bool Play(const PSkeletonAnimationInstance &animInstance); + void Stop(); + void Update(float dt); + bool Valid() const { return m_SkeletonState != null; } + // void Render(); + void StartAsyncUpdateSkin(float dt); + bool WaitAsyncUpdateSkin(); + void ClearVelocities(); + + u32 SubMeshCount() const { return m_SubMeshes.Count(); } + TStridedMemoryView Positions(u32 batchId) const { return m_SubMeshes[batchId].m_Positions; } + TStridedMemoryView Normals(u32 batchId) const { return m_SubMeshes[batchId].m_Normals; } + + u32 SamplingChannels() const { return m_SamplingChannels; } + + // CMeshAnimRenderer &Renderer() { return m_Renderer; } + PSkeletonState SkeletonState() { return m_SkeletonState; } + bool HasGeometry() const + { + for (const auto &mesh : m_SubMeshes) + { + if (mesh.m_SkeletalMesh != null && mesh.m_SkeletalMesh->RawMesh() != null && !mesh.m_SkeletalMesh->RawMesh()->TriangleBatch().Empty()) + return true;; + } + return false; + } + SSamplerSourceOverride *SamplerSourceOverride(u32 batchId) { return &m_SubMeshes[batchId].m_SampleSourceOverride; } +}; +PK_DECLARE_REFPTRCLASS(SkinnedMesh); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_SkinnedMeshInstance.h b/AE_GeneralPlugin/Include/AEGP_SkinnedMeshInstance.h new file mode 100644 index 00000000..1df464a7 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_SkinnedMeshInstance.h @@ -0,0 +1,82 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_SKINNEDMESHINSTANCE_H__ +#define __AEGP_SKINNEDMESHINSTANCE_H__ + +#include "AEGP_Define.h" + +#include + +#include +#include +#include +#include + +//---------------------------------------------------------------------------- + +__PK_API_BEGIN + +PK_FORWARD_DECLARE(SkeletonAnimationInstance); +PK_FORWARD_DECLARE(ParticleSamplerDescriptor_Shape); +PK_FORWARD_DECLARE(MeshSurfaceSamplerStructuresRandom); +PK_FORWARD_DECLARE(MeshVolumeSamplerStructuresRandom); +PK_FORWARD_DECLARE(ResourceMesh); + +namespace HBO { + class CContext; +} +__PK_API_END + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(SkinnedMesh); + +//---------------------------------------------------------------------------- + +class CSkinnedMeshInstance : public CRefCountedObject +{ +public: + PSkeletonAnimationInstance m_SkeletonAnimationInstance; + CString m_CurrentAnimationPath; + PSkinnedMesh m_SkinnedMesh; + PParticleSamplerDescriptor_Shape m_ShapeDescOverride; + + CMeshSurfaceSamplerStructuresRandom *m_SurfaceSamplingStruct = null; + CMeshVolumeSamplerStructuresRandom *m_VolumeSamplingStruct = null; + + CFloat4x4 m_CurMeshTransformScaled; + CFloat4x4 m_CurMeshTransform; + CFloat4x4 m_PrevMeshTransform; + +public: + CSkinnedMeshInstance(); + ~CSkinnedMeshInstance(); + + CSkinnedMeshInstance &operator = (const CSkinnedMeshInstance &other); + + + void ResetXForms(const CFloat4x4 &backdropXForm); + void SetBackdropXForms(const CFloat4x4 &backdropXForm); + + CFloat3 PredictVelocity(float dt); + + void ResetAnimationCursor(); + + void Update(float dt); + void StartAsyncUpdateSkin(float dt); + bool WaitAsyncUpdateSkin(); + + void ClearSkinnedMesh(); + bool LoadSkinnedMeshIFN(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &scrSkeletonState); + bool LoadAnimationIFN(HBO::CContext *context, const CString &pksaPath, bool forceReload); + bool SetupAttributeSampler(CMeshNew *srcMesh, bool weightedSampling, u32 weightedSamplingColorStreamId, u32 weightedSamplingChannelId); +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_System.h b/AE_GeneralPlugin/Include/AEGP_System.h new file mode 100644 index 00000000..63a3c71d --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_System.h @@ -0,0 +1,60 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once +#include "AEGP_Define.h" + +#include +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +struct SEditorExecutable +{ + CString m_BinaryPathUninstall; + CString m_BinaryPath; + SEngineVersion m_Version; + + SEditorExecutable() {} + SEditorExecutable(const CString &path, const CString &uninstallerPath, const SEngineVersion &version) + : m_BinaryPathUninstall(uninstallerPath) + , m_BinaryPath(path) + , m_Version(version) + { + + } + + bool operator < (const SEditorExecutable &other) const { return m_Version < other.m_Version; } +}; + +//---------------------------------------------------------------------------- + +class CSystemHelper +{ +public: // Get Hardware ID + static const CString GetUniqueHardwareID(); + static const CString GetUniqueHardwareIDForHuman(); + + static bool LaunchEditorAsPopup(); + +private: + static u16 *_ComputeSystemUniqueId(); + + static void _Smear(u16 *id); + static void _Unsmear(u16 *id); + + static u16 _GetMacHash(); + + static u16 _GetCPUHash(); + static const char *_GetMachineName(); + +private: + CSystemHelper() = delete; + ~CSystemHelper() = delete; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Include/AEGP_UpdateAEState.h b/AE_GeneralPlugin/Include/AEGP_UpdateAEState.h new file mode 100644 index 00000000..8e2d7dcc --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_UpdateAEState.h @@ -0,0 +1,90 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_UPDATEAESTATE_H__ +#define __AEGP_UPDATEAESTATE_H__ + +#include "AEGP_Define.h" +#include "PopcornFX_Suite.h" + +#include "AEGP_World.h" + +#include +#include +#include +#include +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +struct SLayerHolder; +struct SPendingAttribute; + +//---------------------------------------------------------------------------- + +class CAEUpdater +{ +public: + static A_Err UpdateLayerAtTime(SLayerHolder *targetLayer, float time, bool isSeeking); + + static bool GetLightsAtTime(SLayerHolder *layer, A_Time &AETime, TArray &lights); + static bool GetCameraViewMatrixAtTime(SLayerHolder *layer, CFloat4x4 &view, CFloat4 &pos, A_Time &AETime, float &cameraZoom); + + static int s_AttributeIndexes[__Attribute_Parameters_Count]; + static int s_EmitterIndexes[__Effect_Parameters_Count]; + static int s_SamplerIndexes[__AttributeSamplerType_Parameters_Count]; +private: + CAEUpdater(); + ~CAEUpdater(); + + static A_Err _UpdateLayerAtTime(SLayerHolder *targetLayer, A_Time &AETime, bool isSeeking); + + static A_Err _UpdateSamplerAtTime(SLayerHolder *targetLayer, SPendingAttribute *sampler, AEGP_EffectRefH effect, A_Time &AETime, bool isSeeking); + static A_Err _UpdateAttributeAtTime(SLayerHolder *targetLayer, SPendingAttribute *attribute, AEGP_EffectRefH effect, A_Time &AETime, bool isSeeking); + static A_Err _UpdateEmitterAtTime(SLayerHolder *layer, AEGP_EffectRefH effectRef, A_Time &AETime, bool isSeeking); + static bool _SetupAudioSampler(SLayerHolder *targetLayer, AEGP_LayerIDVal layerID, A_Time &AETime, SSamplerAudio *samplerAudio, bool isSeeking); + + template + static A_Err _GetParamsStreamValueAtTime(s32 idx, AEGP_EffectRefH effectRef, A_Time &AETime, T &out) + { + A_Err result = A_Err_NONE; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + AEGP_StreamRefH streamHandler; + AEGP_StreamValue2 value; + AEGP_StreamType stream_type; + + result |= suites.StreamSuite5()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, idx, &streamHandler); + + AEFX_CLR_STRUCT(value); + if (!PK_VERIFY(streamHandler != null)) + return result; + + result |= suites.StreamSuite5()->AEGP_GetStreamType(streamHandler, &stream_type); + if (AEGP_StreamType_NO_DATA == stream_type) + { + PK_ASSERT_NOT_REACHED(); + result |= suites.StreamSuite5()->AEGP_DisposeStream(streamHandler); + return result; + } + result |= suites.StreamSuite5()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + + out = *reinterpret_cast(&value.val.one_d); + + result |= suites.StreamSuite5()->AEGP_DisposeStreamValue(&value); + result |= suites.StreamSuite5()->AEGP_DisposeStream(streamHandler); + + return result; + } +}; + +//---------------------------------------------------------------------------- + + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_VaultHandler.h b/AE_GeneralPlugin/Include/AEGP_VaultHandler.h new file mode 100644 index 00000000..78103e2d --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_VaultHandler.h @@ -0,0 +1,99 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_VAULHANDLER_H__ +#define __AEGP_VAULHANDLER_H__ + +#include + +#include "AEGP_Define.h" +#include "AEGP_FileWatcher.h" + +#include +#include + +//---------------------------------------------------------------------------- + +namespace AAePk +{ + struct SAttributeSamplerDesc; +} + +__AEGP_PK_BEGIN + +PK_DECLARE_REFPTRCLASS(LogListenerFile); + +//---------------------------------------------------------------------------- + +struct SResourceBakeConfig +{ + bool m_StraightCopy = false; + bool m_IsAnimTrack = false; + bool m_IsSkeletalAnim = false; +}; + +//---------------------------------------------------------------------------- + +class CVaultHandler +{ +public: + CVaultHandler(); + ~CVaultHandler(); + + bool InitializeIFN(); + bool ShutdownIFN(); + //func ptr callback for the file watcher + static void FileAdded(const CString &path); + static void FileRemoved(const CString &path); + static void FileChanged(const CString &path); + static void FileChangedRelativePath(const CString &path); + static void FileRenamed(const CString &oldPath, const CString &newPath); + + bool IsBakedAssetLatestVersion(const CString &srcPath, const CString &dstPath); + bool LoadEffectIntoVault(const CString &packPath, CString &effectPath, const CString &pkprojPath, bool &refresh); + CString ImportResource(const CString resourcePath); + + CString CopyResource(const CString resourcePath); + + CString BakeVectorField(const CString resourcePath, const CString targetPath, const SResourceBakeConfig &config); + CString BakeMesh(const CString resourcePath, const CString targetPath, const SResourceBakeConfig &config); + CString BakeResource(const CString resourcePath, const SResourceBakeConfig &config); + + PFilePack GetVaultPackFromPath(CString path); + + const CString VaultPathRoot() const { return m_VaultPathRoot; }; + const CString VaultPathAssets() const { return m_VaultPathAssets; }; + const CString VaultPathCache() const { return m_VaultPathCache; }; + const CString VaultPathLog() const { return m_VaultPathLogs; }; + PFilePack InternalPack() const { return m_InternalPack; }; +private: + + bool _SetupVault(); +private: + + bool m_Initialized = false; + + PFileWatcher m_FileWatcher = null; + + PLogListenerFile m_AELogFileListener = null; + + PFilePack m_InternalPack = null; + + CString m_VaultPathRoot = ""; + CString m_VaultPathAssets = ""; + CString m_VaultPathCache = ""; + CString m_VaultPathLogs = ""; + + static const char *k_VaultFolderMainName; + static const char *k_VaultFolderAssetsName; + static const char *k_VaultFolderCacheName; + static const char *k_VaultFolderLogsName; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_WinFileDialog.h b/AE_GeneralPlugin/Include/AEGP_WinFileDialog.h new file mode 100644 index 00000000..46c22aa2 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_WinFileDialog.h @@ -0,0 +1,111 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#if defined(PK_WINDOWS) + +#include +#include + +using namespace PopcornFX; + +//---------------------------------------------------------------------------- + +struct SWinFileDialogFilterData +{ + wchar_t *m_Desc; + wchar_t *m_Type; + + COMDLG_FILTERSPEC m_Spec; + + SWinFileDialogFilterData(const CString desc, const CString type) + : m_Desc(null) + , m_Type(null) + { + convert(&m_Desc, desc); + convert(&m_Type, type); + + m_Spec.pszName = m_Desc; + m_Spec.pszSpec = m_Type; + } + + // Simple move assignment operator + SWinFileDialogFilterData(SWinFileDialogFilterData&& other) + { + m_Desc = other.m_Desc; + m_Type = other.m_Type; + + m_Spec.pszName = m_Desc; + m_Spec.pszSpec = m_Type; + + other.m_Desc = null; + other.m_Type = null; + } + + SWinFileDialogFilterData& operator=(SWinFileDialogFilterData&& other) + { + m_Desc = other.m_Desc; + m_Type = other.m_Type; + + m_Spec.pszName = m_Desc; + m_Spec.pszSpec = m_Type; + + other.m_Desc = null; + other.m_Type = null; + return *this; + } + + ~SWinFileDialogFilterData() + { + if (m_Desc != null) + PK_FREE(m_Desc); + if (m_Type != null) + PK_FREE(m_Type); + } + + void convert(wchar_t **dst, const CString& desc) + { + const int wideStringLength = ::MultiByteToWideChar(CP_UTF8, 0, desc.Data(), -1, NULL, 0); + if (!PK_VERIFY(wideStringLength >= 0)) + return; + *dst = PK_TALLOC(wideStringLength); + if (!PK_VERIFY(*dst != null)) + return; + + ::MultiByteToWideChar(CP_UTF8, 0, desc.Data(), -1, *dst, wideStringLength); + } +}; + +//---------------------------------------------------------------------------- + +struct SWinFileOpenData +{ + TArray m_Filters; + PopcornFX::FastDelegate m_Cb; + + SWinFileOpenData() + { + } + + + ~SWinFileOpenData() + { + } + + bool AddFilter(const CString &desc, const CString &type) + { + //SWinFileDialogFilterData filterData(desc, type); + if (!PK_VERIFY(m_Filters.PushBack(SWinFileDialogFilterData(desc, type)).Valid())) + return false; + return true; + } +}; + +//---------------------------------------------------------------------------- + +HRESULT WinBasicFileOpen(SWinFileOpenData& data); + +//---------------------------------------------------------------------------- + +#endif diff --git a/AE_GeneralPlugin/Include/AEGP_WinSystem.h b/AE_GeneralPlugin/Include/AEGP_WinSystem.h new file mode 100644 index 00000000..61616ccc --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_WinSystem.h @@ -0,0 +1,34 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once +#include "AEGP_Define.h" +#include "AEGP_System.h" + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +#if defined(PK_WINDOWS) + +class CWinSystemHelper +{ +private: + CWinSystemHelper() = delete; + ~CWinSystemHelper() = delete; +public: + static CString GetLastErrorAsString(); + static CString GetLastErrorAsString(TArray &ignore); + static CString _GetWindowsInstallDir(); + static TArray _FindInstalledVersions(const CString &baseSearchPath); + + static SEditorExecutable GetMatchingEditor(const SEngineVersion &version); +}; + +#endif + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Include/AEGP_World.h b/AE_GeneralPlugin/Include/AEGP_World.h new file mode 100644 index 00000000..5ac41b71 --- /dev/null +++ b/AE_GeneralPlugin/Include/AEGP_World.h @@ -0,0 +1,322 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_WORLD_H__ +#define __FX_WORLD_H__ + +#include + +#include +#if defined(PK_MACOSX) +# include +#endif +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include + + +#include "AEGP_Define.h" +#include "AEGP_Attribute.h" +#include "AEGP_Scene.h" +#include "AEGP_LayerHolder.h" +#include "AEGP_VaultHandler.h" + +#include + +#include + +//---------------------------------------------------------------------------- + +namespace AAePk +{ + struct SAAEIOData; + struct SAttributeDesc; + struct SAttributeSamplerDesc; + struct SEmitterDesc; +} + +namespace PopcornFX +{ + PK_FORWARD_DECLARE(LogListenerFile); +} + + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +PK_FORWARD_DECLARE(EffectBaker); +PK_FORWARD_DECLARE(AAERenderContext); + +class CPanelBaseGUI; + +//---------------------------------------------------------------------------- + +struct SUIEvent +{ + virtual ~SUIEvent() {}; + virtual bool Exec() = 0; +}; + +//---------------------------------------------------------------------------- + +struct SUIEventString : public SUIEvent +{ + SLayerHolder *m_TargetLayer; + CString m_Data; + PopcornFX::FastDelegate m_Cb; + + virtual bool Exec() override + { + return m_Cb(m_TargetLayer, m_Data); + } +}; + +//---------------------------------------------------------------------------- + +struct SAEPreferenciesKeys +{ + static constexpr const char *kSection = "AEPocornFX"; + static constexpr const char *kApi = "Api"; + + static constexpr const EApiValue kSupportedAPIs[] = + { +#if PK_BUILD_WITH_D3D12_SUPPORT != 0 + EApiValue::D3D11, +#endif +#if PK_BUILD_WITH_D3D11_SUPPORT != 0 + EApiValue::D3D12, +#endif +#if PK_BUILD_WITH_METAL_SUPPORT != 0 + EApiValue::Metal, +#endif + }; + static constexpr const char *kApiNames[EApiValue::Size] = { "Unknown", "DirectX 11", "DirectX 12", "Metal" }; + + static const char *GetGraphicsApiAsCharPtr(EApiValue value); + static const char *GetGraphicsApiAsCharPtr(RHI::EGraphicalApi value); +}; + +//---------------------------------------------------------------------------- + +class HBO_CLASS(CAEPProjectProperties), public CBaseObject +{ +public: + HBO_FIELD(CString, ProjectName); + HBO_FIELD(TArray, LayerProperties); + +public: + CAEPProjectProperties(); + ~CAEPProjectProperties(); + + HBO_CLASS_DECLARATION(); +}; +PK_DECLARE_REFPTRCLASS(AEPProjectProperties); + +//---------------------------------------------------------------------------- + +class CPopcornFXWorld +{ +public: + ~CPopcornFXWorld(); + static CPopcornFXWorld &Instance(); + + bool Setup(SPBasicSuite *pica_basicP, AEGP_PluginID id); + bool SetCommandHandle(AEGP_Command &command, const char *name); + + AEGP_PluginID GetPluginID(); + SPBasicSuite *GetAESuites(); + + bool FetchAEProject(); + + RHI::EGraphicalApi GetRenderApi(); + void SetRenderApi(EApiValue AEGraphicsApi); + + bool IdleUpdate(); + bool HandleNewAttributeEvent(PF_ProgPtr &effectRef, SAttributeDesc *desc, bool asyncMerge = true, SLayerHolder *layer = null); + bool HandleNewAttributeSamplerEvent(PF_ProgPtr &effectRef, SAttributeSamplerDesc *desc, bool asyncMerge = true, SLayerHolder *layer = null); + bool HandleNewAttributes(TArray &attributes, PF_ProgPtr &effectRef, SLayerHolder *layer, bool asyncMerge = true); + + void CreatePanel(AEGP_PlatformViewRef container, AEGP_PanelH panelH, AEGP_PanelFunctions1 *outFunctionTable, AEGP_PanelRefcon *outRefcon); + void Command(AEGP_Command command, AEGP_HookPriority hookPriority, A_Boolean alreadyHandled, A_Boolean *handledPB); + void UpdateMenu(AEGP_WindowType activeWindow); + + void ClearAttributesAndSamplers(SLayerHolder *layer); + + CStringId GetAEEffectID(AEGP_EffectRefH &effect, s32 paramIdx); + + CStringId GetAttributeID(AEGP_EffectRefH &effect); + CStringId GetAttributeID(SAttributeBaseDesc *desc); + + CStringId GetAttributeSamplerID(AEGP_EffectRefH &effect); + + s32 _ExecSPendingEmitters(SLayerHolder *layer); + + s32 _ExecSPendingAttributes(SLayerHolder *layer); + s32 _ExecClearAttributes(SLayerHolder *layer); + + bool _ExecDeleteAttribute(SPendingAttribute *attribute, AEGP_EffectRefH &effectRef); + bool _ExecDeleteAttributeSampler(SPendingAttribute *attribute, AEGP_EffectRefH &effectRef); + + bool _SetupAutoRender(AEGP_EffectRefH &effect); + + bool _GetAEPath(AEGP_GetPathTypes type, CString &dst); + + //Pack Management + bool SetDestinationPackFromPath(SLayerHolder &layer, const CString &packPath); + + CString GetPluginInstallationPath(); + CString GetInternalPackPath(); + CString GetResourcesPath(); + + CString GetPluginVersion() const; + AEGP_InstalledEffectKey GetPluginEffectKey(EPKChildPlugins type) const; + + void SetWorkerCount(u32 count) { m_WorkerCount = count; } + u32 GetWorkerCount() const { return m_WorkerCount; } + + CVaultHandler &GetVaultHandler() { return m_VaultHandler; } + + void RefreshAssetList(); + + TArray &GetLayers() { return m_Layers; } + SLayerHolder *GetLayerForSEmitterDesc(SEmitterDesc *desc); + SLayerHolder *GetLayerForSEmitterDescID(CStringId id); + + bool SetSelectedEffectAsync(SLayerHolder *targetLayer, CString &name); + bool SetSelectedEffectFromPath(SEmitterDesc *desc, CString path, bool forceReload = false); + bool SetSelectedEffect(SLayerHolder *layer, CString &name); + bool SetEffectDefaultTransform(SLayerHolder *layer, const CFloat3 &pos, const CFloat3 &rot); + bool SetBackdropMeshDefaultTransform(SLayerHolder *layer); + + bool SetPanelInstance(CPanelBaseGUI *panel); + + //Suite + bool InitializeIFN(SAAEIOData &AAEData); + bool HandleNewEmitterEvent(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc); + bool HandleDeleteEmitterEvent(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc); + + bool CheckEmitterValidity(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor); + bool UpdateScene(SAAEIOData &AAEData, SEmitterDesc *desc); + bool UpdateEmitter(SAAEIOData &AAEData, SEmitterDesc *desc); + + bool InvalidateEmitterRender(SLayerHolder *layer, AEGP_EffectRefH effectRef); + bool InvalidateEmitterRender(SAAEIOData &AAEData, SEmitterDesc *desc); + + bool LaunchEditorAsPopup(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc); + + bool ShutdownIFN(); + + void SetProfilingState(bool state); + + void SetParametersIndexes(const int *indexes, EPKChildPlugins plugin); + bool SetDefaultLayerPosition(SAAEIOData& AAEData, AEGP_LayerH layer); + bool MoveEffectIntoCurrentView(SAAEIOData &AAEData, SEmitterDesc *descriptor); + + PAAERenderContext GetCurrentRenderContext(); + + void OnEndSetupScene(); + + bool GetMostRecentCompName(CString &compName); + bool SetLayerName(SLayerHolder *layer); + bool SetLayerCompName(SLayerHolder *layer); + + const PBaseObjectFile &GetProjectConfFile(); + bool CreateLayerPropertyIFP(SLayerHolder *layer); + + bool SetResourceOverride(CStringId layerID, u32 rdrID, u32 propID, const CString &value); + bool WriteProjectFileModification(); + + //HOOK + static A_Err DeathHook(AEGP_GlobalRefcon pluginRefCon, AEGP_DeathRefcon refCon); + static A_Err IdleHook(AEGP_GlobalRefcon pluginRefCon, AEGP_IdleRefcon refCon, A_long *maxSleep); + + static A_Err CreatePanelHook(AEGP_GlobalRefcon pluginRefconP, + AEGP_CreatePanelRefcon refconP, + AEGP_PlatformViewRef container, + AEGP_PanelH panelH, + AEGP_PanelFunctions1 *outFunctionTable, + AEGP_PanelRefcon *outRefcon); + + static A_Err CommandHook( AEGP_GlobalRefcon plugin_refconP, + AEGP_CommandRefcon refconP, + AEGP_Command command, + AEGP_HookPriority hook_priority, + A_Boolean already_handledB, + A_Boolean *handledPB); + + static A_Err UpdateMenuHook( AEGP_GlobalRefcon plugin_refconP, + AEGP_UpdateMenuRefcon refconP, + AEGP_WindowType active_window); + + Threads::CCriticalSection &GetRenderLock() { return m_RenderLock; } + +private: + CPopcornFXWorld(); + + + static CPopcornFXWorld *m_Instance; + + bool m_Initialized; + + CString m_ClassName; + + TArray m_AAETreadID; + u32 m_WorkerCount; + + TArray m_Layers; + + Threads::CCriticalSection m_Lock; + + CPanelBaseGUI *m_Panel = null; + + SPBasicSuite *m_Suites; + AEGP_PluginID m_AEGPID; + AEGP_InstalledEffectKey m_PKInstalledPluginKeys[_PLUGIN_COUNT]; + + AEGP_Command m_Command = 42; + CString m_CommandName; + + RHI::EGraphicalApi m_GraphicsApi; + + CVaultHandler m_VaultHandler; + + //Developpement + float m_CameraZoom = 2000.0; + + PFilePack m_ProjectPack = null; + PBaseObjectFile m_ProjectConfFile = null; + PAEPProjectProperties m_ProjectProperty = null; + CString m_AEProjectFilename; + CString m_AEProjectPath; + PLogListenerFile m_AELogFileListener; + + CString m_PluginPath; + CString m_UserPluginPath; + CString m_AllUserPluginPath; + CString m_AEPath; + CString m_MostRecentCompName; + + + Threads::CCriticalSection m_UIEventLock; + TArray m_UIEvents; + + Threads::CCriticalSection m_RenderLock; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif //!__FX_WORLD_H__ + diff --git a/AE_GeneralPlugin/Include/Panels/AEGP_GraphicalResourcesTreeModel.h b/AE_GeneralPlugin/Include/Panels/AEGP_GraphicalResourcesTreeModel.h new file mode 100644 index 00000000..e064ad6a --- /dev/null +++ b/AE_GeneralPlugin/Include/Panels/AEGP_GraphicalResourcesTreeModel.h @@ -0,0 +1,163 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_GRAPHICALRESOURCESTREEMODEL_H__ +#define __AEGP_GRAPHICALRESOURCESTREEMODEL_H__ + +#include "AEGP_Define.h" + +#include "pk_kernel/include/kr_string_id.h" + +#include +#include +#include +#include +#include +#include + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +struct SRendererProperties; + +//---------------------------------------------------------------------------- + +class CGraphicResetButtonView +{ +public: + explicit CGraphicResetButtonView(); + + void paint(QPainter *painter, const QRect &rect, const QPalette &palette, bool hover) const; + QSize sizeHint() const; + + QPixmap m_Pixmap; +}; + +//---------------------------------------------------------------------------- + +class CGraphicResourceView +{ +public: + enum class ViewType { ViewType_Effect, ViewType_PathResource, ViewType_Layer }; + + explicit CGraphicResourceView(); + explicit CGraphicResourceView(ViewType type); + explicit CGraphicResourceView(ViewType type, const QPixmap &pixmap); + + void paint(QPainter *painter, const QRect &rect, const QPalette &palette, bool hover) const; + QSize sizeHint() const; + + ViewType Type() const { return m_Type; } +private: + ViewType m_Type; + QPixmap m_Pixmap; +}; + +//---------------------------------------------------------------------------- + +class CGraphicResourceDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + using QStyledItemDelegate::QStyledItemDelegate; + + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; +}; + +//---------------------------------------------------------------------------- + +class CGraphicalResourcesTreeItem +{ +public: + explicit CGraphicalResourcesTreeItem(); + explicit CGraphicalResourcesTreeItem(const QVector &data, CGraphicalResourcesTreeItem *parentItem = nullptr); + ~CGraphicalResourcesTreeItem(); + + void AppendChild(CGraphicalResourcesTreeItem *child); + void InsertChild(CGraphicalResourcesTreeItem *child, int index); + CGraphicalResourcesTreeItem *Child(int row); + int ChildCount() const; + int ColumnCount() const; + QVariant Data(int column) const; + int Row() const; + CGraphicalResourcesTreeItem *ParentItem(); + void ClearChildren(); + void RemoveChild(int index); + void RemoveChildren(int from, int count); + + void SetData(int column, const QVariant &data); + + u32 GetID() const { return m_UID; } + bool GetUpdated() { return m_Updated; } + void SetID(u32 id) { m_UID = id; } + void SetUpdated(bool updated) { m_Updated = updated; } + + CStringId GetLayerID() const { return m_LayerUID; } + u32 GetRendererID() const { return m_RendererUID; } + void SetLayerID(CStringId id) { m_LayerUID = id; } + void SetRendererID(u32 id) { m_RendererUID = id; } +private: + QVector m_ChildItems; + QVector m_ItemData; + CGraphicalResourcesTreeItem *m_ParentItem = null; + + u32 m_UID; + bool m_Updated; + + CStringId m_LayerUID; + u32 m_RendererUID; +}; + +//---------------------------------------------------------------------------- + +class CGraphicalResourcesTreeModel : public QAbstractItemModel +{ + Q_OBJECT + +public: + explicit CGraphicalResourcesTreeModel(QObject *parent = nullptr); + ~CGraphicalResourcesTreeModel(); + + QVariant data(const QModelIndex &index, int role) const override; + Qt::ItemFlags flags(const QModelIndex &index) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; + QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override; + QModelIndex parent(const QModelIndex &index) const override; + int rowCount(const QModelIndex &parent = QModelIndex()) const override; + int columnCount(const QModelIndex &parent = QModelIndex()) const override; + + CGraphicalResourcesTreeItem *Item(const QModelIndex &index) const; + QModelIndex Index(CGraphicalResourcesTreeItem *item) const; + + void UpdateModel(); +private: + void _UpdateModel(); + void _ResetModel(); + + CGraphicalResourcesTreeItem *_CreateEffect(const QString &layerName, const QString &emitterName, u32 uid); + CGraphicalResourcesTreeItem *_CreateEffectLayer(const QString &layerName, u32 uid, CGraphicalResourcesTreeItem *effect); + CGraphicalResourcesTreeItem *_CreateRenderer(SRendererProperties *renderer, CGraphicalResourcesTreeItem *layer); + + CGraphicalResourcesTreeItem *_FindChild(CGraphicalResourcesTreeItem *parent, u32 childId); + void _UnflagUpdated(CGraphicalResourcesTreeItem *parent); + void _RemoveOldItems(CGraphicalResourcesTreeItem *parent); + + bool _LoadImageThumbnail(const CString &path, QPixmap *outThumbnail); + + CGraphicalResourcesTreeItem *m_RootItem = null; + CString m_CompositionName; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +Q_DECLARE_METATYPE(AEGPPk::CGraphicResetButtonView) +Q_DECLARE_METATYPE(AEGPPk::CGraphicResourceView) +Q_DECLARE_METATYPE(AEGPPk::CGraphicalResourcesTreeItem) + +#endif //!__AEGP_GRAPHICALRESOURCESTREEMODEL_H__ diff --git a/AE_GeneralPlugin/Include/Panels/AEGP_PanelQT.h b/AE_GeneralPlugin/Include/Panels/AEGP_PanelQT.h new file mode 100644 index 00000000..0a100011 --- /dev/null +++ b/AE_GeneralPlugin/Include/Panels/AEGP_PanelQT.h @@ -0,0 +1,201 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_PANELQT_H__ +#define __FX_PANELQT_H__ + +#include "AEGP_Define.h" + +#include +#include + +#include +#include + +#include +#include + +//---------------------------------------------------------------------------- + +struct SPBasicSuite; + +__AEGP_PK_BEGIN + +class CGraphicalResourcesTreeModel; + +//---------------------------------------------------------------------------- + +class QPanelAppSignalSink : public QObject +{ + Q_OBJECT +public: + QPanelAppSignalSink(QApplication *app, QObject *parent = null); + + Q_SIGNAL void OnWindowHandlerChanged(WId wid); + Q_SIGNAL void OnWindowSizeChanged(const QRect &rect); + Q_SIGNAL void OnRenderersChanged(); + Q_SIGNAL void OnExit(); + + void DoExit(); + +private: + QApplication *m_App = null; +}; + +//---------------------------------------------------------------------------- + +class QPanel : public QObject +{ + Q_OBJECT +public: + QPanel(QPanelAppSignalSink* appSignal, QApplication *application, QObject *parent = null); + ~QPanel(); + +private: + void _CreateWindowContent(); + + void _SetWindow(WId wid); + void _SetGeometry(const QRect &windowRect); + void _UpdateModel(); + + + CGraphicalResourcesTreeModel *m_TreeModel = null; + + QPanelAppSignalSink *m_AppSignal = null; + QApplication *m_App = null; + + QWindow *m_Window = null; + QWidget *m_Widget = null; + + WId m_PendingWindowHandle = 0; +}; + +//---------------------------------------------------------------------------- + +class CPanelApp +{ +public: + CPanelApp(); + ~CPanelApp(); + + bool Startup(); + void LaunchApp(); + void Shutdown(); + + void OnWindowHandlerChanged(WId wid); + void OnWindowSizeChanged(const QRect &rect); + void OnRenderersChanged(); + void OnExit(); + +private: + QApplication *m_QApp = null; +#if defined(PK_MACOSX) + QEventLoop *m_EventLoop = null; +#endif + QPanelAppSignalSink *m_AppSignalSink = null; + + QPanel *m_Panel = null; +}; + +//---------------------------------------------------------------------------- + +#if !defined(PK_MACOSX) +class CAsynchronousJob_QtThread : public CAsynchronousJob +{ +public: + CAsynchronousJob_QtThread(); + ~CAsynchronousJob_QtThread(); + virtual void _OnRefptrDestruct() override {} + + +protected: + virtual void _VirtualLaunch(Threads::SThreadContext &) override { ImmediateExecute(); } + +public: + void ImmediateExecute(); + + CPanelApp &App() { return m_App; } + + // Waited for by the main thread: + Threads::CEvent m_Initialized; + Threads::CEvent m_Exited; + +private: + CPanelApp m_App; +}; +PK_DECLARE_REFPTRCLASS(AsynchronousJob_QtThread); +#endif + +//---------------------------------------------------------------------------- + +class CPanelBaseGUI +{ + static CPanelBaseGUI *m_Instance; + + CPanelBaseGUI(); + virtual ~CPanelBaseGUI(); + +public: + static CPanelBaseGUI *GetInstance(); + static bool DestroyInstance(); + + + bool InitializeIFN(); +#if defined(PK_MACOSX) + void IdleUpdate(); +#endif + bool CreatePanel(SPBasicSuite *spbP, AEGP_PanelH panelH, AEGP_PlatformViewRef platformWindowRef, AEGP_PanelFunctions1 *outFunctionTable); + void SetGeometry(const QRect &rect); + void UpdateScenesModel(); + +protected: + //Base AE Commands + void operator=(const CPanelBaseGUI&) = delete; + CPanelBaseGUI(const CPanelBaseGUI&) = delete; + + AEGP_PanelH m_PanelHandle; + + virtual void GetSnapSizes(A_LPoint *snapSizes, A_long *numSizesP); + virtual void PopulateFlyout(AEGP_FlyoutMenuItem *itemsP, A_long *in_out_numItemsP); + virtual void DoFlyoutCommand(AEGP_FlyoutMenuCmdID commandID); + +private: + + static A_Err _GetSnapSizes(AEGP_PanelRefcon refcon, A_LPoint *snapSizes, A_long *numSizesP); + static A_Err _PopulateFlyout(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuItem *itemsP, A_long *in_out_numItemsP); + static A_Err _DoFlyoutCommand(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuCmdID commandID); + + SPBasicSuite *m_BasicSuite = null; + +#if !defined(PK_MACOSX) + PAsynchronousJob_QtThread m_Task; +#else + CPanelApp m_App; +#endif + + bool m_Initialized = false; + +#if defined(PK_WINDOWS) +public: + + static LRESULT CALLBACK StaticOSWindowWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + LRESULT OSWindowWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + +private: + typedef LRESULT(CALLBACK* WindowProc)(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); + + Threads::CCriticalSection m_HandleLock; + HWND m_WindowHandle; + WindowProc m_WindowProc; + + void _SetWindowHandle(HWND hwnd); +#endif +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif //!__FX_PANELQT_H__ diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_BaseContext.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_BaseContext.h new file mode 100644 index 00000000..491062eb --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_BaseContext.h @@ -0,0 +1,68 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_BASECONTEXT_H__ +#define __FX_BASECONTEXT_H__ + +#include "AEGP_Define.h" +#include +#include "AEGP_RenderContext.h" + +namespace AAePk { + struct SAAEIOData; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(Texture); + +//---------------------------------------------------------------------------- + +class CAAEBaseContext +{ +public: + static CAAEBaseContext *GetInstance() { return null; } + + CAAEBaseContext(); + virtual ~CAAEBaseContext(); + + virtual bool BeginFrame() { return false; }; + virtual bool EndFrame() { return m_ApiManager->EndFrame(); }; + + virtual void LogApiError() { return; }; + + virtual bool InitIFN() { return true; }; + + virtual bool CreatePlatformContext(void *winHandle, void *deviceContext) { (void)winHandle; (void)deviceContext; return false; }; + virtual bool CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) { (void)format; (void)size; return false; }; + + virtual TMemoryView GetCurrentSwapChain() { return TMemoryView(); }; + + virtual bool SetAsCurrent(void *deviceContext) { (void)deviceContext; return false; }; + + virtual bool FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) { (void)dstBuffer; (void)srcBuffer; (void)format; (void)width; (void)height; (void)rowLength; return false; }; + + virtual bool FillCompositingTexture(void* srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) { (void)srcBuffer; (void)format; (void)width; (void)height; (void)rowLength; return false; }; + + RHI::PApiManager GetApiManager(); + RHI::SApiContext *GetApiContext(); + RHI::PTexture GetCompositingTexture(); + +protected: + bool m_Initialized = false; + RHI::PApiManager m_ApiManager; + RHI::SApiContext *m_ApiContext; + + RHI::PTexture m_CompositingTexture; +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + + +#endif // ! diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyPixels.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyPixels.h new file mode 100644 index 00000000..f9bf91b9 --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyPixels.h @@ -0,0 +1,45 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_COPYPIXELS_H__ +#define __FX_COPYPIXELS_H__ + +#include "AEGP_Define.h" + +#include + +namespace PopcornFX +{ + PK_FORWARD_DECLARE(RefCountedMemoryBuffer); +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +struct SCopyPixel { + PRefCountedMemoryBuffer m_BufferPtr; + PF_EffectWorld *m_InputWorld; + double m_Gamma; + + bool m_IsAlphaOverride; + double m_AlphaOverrideValue; +}; + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelIn32(void *refcon, A_long x, A_long y, PF_Pixel32 *inP, PF_Pixel32 *); +PF_Err CopyPixelIn16(void *refcon, A_long x, A_long y, PF_Pixel16 *inP, PF_Pixel16 *); +PF_Err CopyPixelIn8(void *refcon, A_long x, A_long y, PF_Pixel8 *inP, PF_Pixel8 *); + +PF_Err CopyPixelOut32(void *refcon, A_long x, A_long y, PF_Pixel32 *, PF_Pixel32 *outP); +PF_Err CopyPixelOut16(void *refcon, A_long x, A_long y, PF_Pixel16 *, PF_Pixel16 *outP); +PF_Err CopyPixelOut8(void *refcon, A_long x, A_long y, PF_Pixel8 *, PF_Pixel8 *outP); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyTask.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyTask.h new file mode 100644 index 00000000..f9d9ba7b --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_CopyTask.h @@ -0,0 +1,70 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_AEGP_COPYTASK_H__ +#define __FX_AEGP_COPYTASK_H__ + +#include "AEGP_Define.h" + +#include "RenderApi/AEGP_BaseContext.h" + +#include "pk_render_helpers/include/draw_requests/rh_tasks.h" // Task::CBase +#include "pk_render_helpers/include/draw_requests/rh_job_pools.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +class CAsynchronousJob_CopyTextureTask : public CAsynchronousJob +{ +public: + TAtomic *m_Counter; + Threads::CEvent *m_EndCB; + + u32 m_TargetCount; + + // data + u32 m_Height; + u32 m_StartOffset; + + BYTE *m_DestinationPtr; + BYTE *m_SourcePtr; + + u32 m_WidthSize; + u32 m_RowPitch; + +public: + CAsynchronousJob_CopyTextureTask() { } + ~CAsynchronousJob_CopyTextureTask() { } + +protected: + virtual void _VirtualLaunch(Threads::SThreadContext &) override { ImmediateExecute(); } + +public: + bool Setup() { return true; } + void ImmediateExecute() + { + PK_NAMEDSCOPEDPROFILE("Copy Task"); + + //Loop + for (u32 i = 0; i < m_Height; ++i) + { + memcpy(m_DestinationPtr + (m_StartOffset + i) * m_WidthSize, m_SourcePtr + (m_StartOffset + i) * m_RowPitch, m_WidthSize); + } + + u32 value = m_Counter->Inc(); + + if (value == m_TargetCount) + m_EndCB->Trigger(); + } +}; +PK_DECLARE_REFPTRCLASS(AsynchronousJob_CopyTextureTask); + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + + +#endif __FX_AEGP_COPYTASK_H__ diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D11Context.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D11Context.h new file mode 100644 index 00000000..083debe2 --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D11Context.h @@ -0,0 +1,77 @@ +#pragma once + +#ifndef __FX_D3D11CONTEXT_H__ +#define __FX_D3D11CONTEXT_H__ + +#if (PK_BUILD_WITH_D3D11_SUPPORT != 0) + +#include "AEGP_Define.h" + +#include "RenderApi/AEGP_BaseContext.h" + +#include + +namespace AAePk { + struct SAAEIOData; +} + +PK_FORWARD_DECLARE(CD3D11ApiManager); + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(AsynchronousJob_CopyTextureTask); + +struct SD3D11PlatformContext; + +class CAAED3D11Context : public CAAEBaseContext +{ +public: + static CAAEBaseContext *GetInstance() + { + return PK_NEW(CAAED3D11Context); + } + + CAAED3D11Context(); + virtual ~CAAED3D11Context(); + + virtual bool BeginFrame() override; + virtual bool EndFrame() override; + virtual void LogApiError() override; + + + virtual bool InitIFN() override; + virtual bool CreatePlatformContext(void *winHandle, void *deviceContext) override; + virtual bool CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) override; + + virtual bool SetAsCurrent(void *deviceContext) override; + + virtual bool FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + virtual bool FillCompositingTexture(void* srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + virtual TMemoryView GetCurrentSwapChain() override; + + RHI::SD3D11BasicContext *m_D3D11Context = null; +private: + bool _LoadDynamicLibrary(); + bool _CreateDevice(); + bool _PickHardwareAdapter(); + + RHI::CD3D11ApiManager *m_D3D11Manager = null; + SD3D11PlatformContext *m_Context = null; + + ID3D11Texture2D *m_Texture = null; + ID3D11Texture2D *m_StagingTexture = null; + RHI::PD3D11RenderTarget m_SwapChainRenderTarget; + + + TArray m_Tasks; + u32 m_WorkerCount; + +}; + +__AEGP_PK_END + +#endif + +#endif // __FX_D3D11CONTEXT_H__! diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D12Context.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D12Context.h new file mode 100644 index 00000000..15566f4a --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_D3D12Context.h @@ -0,0 +1,105 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_D3D12CONTEXT_H__ +#define __FX_D3D12CONTEXT_H__ + +#if (PK_BUILD_WITH_D3D12_SUPPORT != 0) + +#include "AEGP_Define.h" + +#include "RenderApi/AEGP_BaseContext.h" + +#include + +//---------------------------------------------------------------------------- + +namespace AAePk { + struct SAAEIOData; +} + +PK_FORWARD_DECLARE(CD3D12ApiManager); + +__AEGP_PK_BEGIN + +PK_FORWARD_DECLARE(AsynchronousJob_CopyTextureTask); +struct SD3D12PlatformContext; + +//---------------------------------------------------------------------------- + +class CAAED3D12Context : public CAAEBaseContext +{ + + static bool m_Once; + static CAAED3D12Context *m_Instance; +public: + static CAAEBaseContext *GetInstance() + { + if (m_Instance == null) + m_Instance = PK_NEW(CAAED3D12Context); + return m_Instance; + } + + CAAED3D12Context(); + virtual ~CAAED3D12Context(); + + CAAED3D12Context(CAAED3D12Context &) = delete; + CAAED3D12Context &operator=(CAAED3D12Context &) = delete; + + virtual bool BeginFrame() override; + virtual bool EndFrame() override; + virtual void LogApiError() override; + + + virtual bool InitIFN() override; + virtual bool CreatePlatformContext(void *winHandle, void *deviceContext) override; + virtual bool CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) override; + + + virtual bool SetAsCurrent(void *deviceContext) override; + + virtual bool FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + virtual bool FillCompositingTexture(void* srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + bool CreateCommandQueue(); + + + virtual TMemoryView GetCurrentSwapChain() override; + + RHI::SD3D12BasicContext *m_D3D12Context; + + //Don't iterate over the different RT yet; + static const u32 kFrameCount = 1; +private: + bool LoadDynamicLibrary(); + bool CreateDevice(); + bool PickHardwareAdapter(); + bool CreateDescriptorAllocator(); + PRefCountedMemoryBuffer CreateBufferFromReadBackTexture(RHI::PCReadBackTexture readBackTexture) const; + void ClearContextSwapchainsRT(); + + RHI::CD3D12ApiManager *m_D3D12Manager; + SD3D12PlatformContext *m_Context; + RHI::PD3D12Fence m_Fence; + u64 m_FrameCount = 0; + + + ID3D12Resource *m_Resources[CAAED3D12Context::kFrameCount]; + RHI::PD3D12RenderTarget m_SwapChainRenderTarget; + + + TArray m_Tasks; + u32 m_WorkerCount = 0; + +}; + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif + +#endif // __FX_D3D12CONTEXT_H__! diff --git a/AE_GeneralPlugin/Include/RenderApi/AEGP_MetalContext.h b/AE_GeneralPlugin/Include/RenderApi/AEGP_MetalContext.h new file mode 100644 index 00000000..c2fd2208 --- /dev/null +++ b/AE_GeneralPlugin/Include/RenderApi/AEGP_MetalContext.h @@ -0,0 +1,90 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __AEGP_METALCONTEXT_H__ +#define __AEGP_METALCONTEXT_H__ + +#if defined (PK_MACOSX) + + +#include "AEGP_Define.h" +#include "RenderApi/AEGP_BaseContext.h" + +#include "pk_render_helpers/include/draw_requests/rh_tasks.h" // Task::CBase +#include "pk_render_helpers/include/draw_requests/rh_job_pools.h" + +//---------------------------------------------------------------------------- + +#if (PK_BUILD_WITH_METAL_SUPPORT != 0) + +namespace AAePk { + struct SAAEIOData; +} + +__PK_RHI_API_BEGIN + struct SMetalBasicContext; + struct SWaitAllSwapChains; + class CMetalApiManager; +__PK_RHI_API_END + +PK_FORWARD_DECLARE(CMetalApiManager); + +__AEGP_PK_BEGIN + struct SMetalPlatformContext; +__AEGP_PK_END + + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +class CAAEMetalContext : public CAAEBaseContext +{ +public: + static CAAEMetalContext *GetInstance() + { + if (m_Instance == null) + m_Instance = PK_NEW(CAAEMetalContext); + return m_Instance; + } + + CAAEMetalContext(); + virtual ~CAAEMetalContext(); + + virtual bool BeginFrame() override; + virtual bool EndFrame() override; + virtual void LogApiError() override; + + + virtual bool InitIFN() override; + + virtual bool SetAsCurrent(void *deviceContext) { (void)deviceContext; return true; }; + + virtual bool CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) override; + + virtual bool FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + virtual bool FillCompositingTexture(void *srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) override; + + virtual TMemoryView GetCurrentSwapChain() override; + + virtual bool CreatePlatformContext(void *winHandle, void *deviceContext) override; + +private: + SMetalPlatformContext *m_Data; + bool m_Parented; + static CAAEMetalContext *m_Instance; + RHI::SWaitAllSwapChains *m_LastFrameSyncInfo = null; +}; + +__AEGP_PK_END + +//---------------------------------------------------------------------------- + +#endif //PK_BUILD_WITH_METAL_SUPPORT != 0 + +#endif //PK_MACOSX + +#endif //__AEGP_METALCONTEXT_H__ diff --git a/AE_GeneralPlugin/PkgInfo b/AE_GeneralPlugin/PkgInfo new file mode 100644 index 00000000..62f1eddb --- /dev/null +++ b/AE_GeneralPlugin/PkgInfo @@ -0,0 +1 @@ +AEgxFXTC \ No newline at end of file diff --git a/AE_GeneralPlugin/Precompiled/ae_precompiled.cpp b/AE_GeneralPlugin/Precompiled/ae_precompiled.cpp new file mode 100644 index 00000000..84e52276 --- /dev/null +++ b/AE_GeneralPlugin/Precompiled/ae_precompiled.cpp @@ -0,0 +1 @@ +#include "ae_precompiled.h" diff --git a/AE_GeneralPlugin/Precompiled/ae_precompiled.h b/AE_GeneralPlugin/Precompiled/ae_precompiled.h new file mode 100644 index 00000000..b6bb494c --- /dev/null +++ b/AE_GeneralPlugin/Precompiled/ae_precompiled.h @@ -0,0 +1,28 @@ +#pragma once + +#ifndef __AE_PRECOMPILED_H__ +#define __AE_PRECOMPILED_H__ + +#undef PV_MODULE_NAME +#undef PV_MODULE_SYM +#define PV_MODULE_NAME "AEPlugin" +#define PV_MODULE_SYM AEPlugin + +#include + +PK_LOG_MODULE_DEFINE(); + +#include + + + +#ifdef PK_NULL_AS_VARIABLE +using PopcornFX::null; +#endif + +#if defined(PK_WINDOWS) +#define WIN32_LEAN_AND_MEAN +#include +#endif + +#endif //__AE_PRECOMPILED_H__ diff --git a/AE_GeneralPlugin/Sources/AEGP_AEPKConversion.cpp b/AE_GeneralPlugin/Sources/AEGP_AEPKConversion.cpp new file mode 100644 index 00000000..a2f51712 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_AEPKConversion.cpp @@ -0,0 +1,492 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_AEPKConversion.h" +#include "AEGP_World.h" + +#include +#include + + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +RHI::EPixelFormat AAEToPK(PF_PixelFormat format) +{ + RHI::EPixelFormat result = RHI::EPixelFormat::FormatUnknown; + switch (format) + { + case PF_PixelFormat_ARGB32: + result = RHI::EPixelFormat::FormatUnorm8RGBA; + break; + case PF_PixelFormat_ARGB64: + result = RHI::EPixelFormat::FormatUnorm16RGBA; + break; + case PF_PixelFormat_ARGB128: + result = RHI::EPixelFormat::FormatFloat32RGBA; + break; + default: + //PF_PixelFormat_INVALID 1717854562 + PK_ASSERT_MESSAGE(false, "Unknown conversion of pixel format between PopcornFX and AfterEffects."); + break; + } + return result; +} + +//---------------------------------------------------------------------------- + +PF_PixelFormat PKToAAE(RHI::EPixelFormat format) +{ + PF_PixelFormat result = PF_PixelFormat_INVALID; + switch (format) + { + case RHI::EPixelFormat::FormatUnorm8RGBA: + result = PF_PixelFormat_ARGB32; + break; + case RHI::EPixelFormat::FormatUnorm16RGBA: + result = PF_PixelFormat_ARGB64; + break; + case RHI::EPixelFormat::FormatFloat32RGBA: + result = PF_PixelFormat_ARGB128; + break; + default: + PK_ASSERT_MESSAGE(false, "Unknown conversion of pixel format between PopcornFX and AfterEffects."); + break; + } + return result; +} + +//---------------------------------------------------------------------------- + +u32 GetPixelSizeFromPixelFormat(RHI::EPixelFormat format) +{ + u32 result = 0; + + switch (format) + { + case RHI::EPixelFormat::FormatUnorm8RGBA: + return sizeof(PF_Pixel8); + break; + case RHI::EPixelFormat::FormatUnorm16RGBA: + return sizeof(PF_Pixel16); + break; + case RHI::EPixelFormat::FormatFloat32RGBA: + return sizeof(PF_PixelFloat); + break; + default: + PK_ASSERT_MESSAGE(false, "Unknown conversion of pixel format between PopcornFX and AfterEffects."); + break; + } + return result; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(A_Matrix4 &in, CFloat4x4 &out) +{ + out.XAxis() = CFloat4((float)in.mat[0][0], (float)in.mat[0][1], (float)in.mat[0][2], (float)in.mat[0][3]); + out.YAxis() = CFloat4((float)in.mat[1][0], (float)in.mat[1][1], (float)in.mat[1][2], (float)in.mat[1][3]); + out.ZAxis() = CFloat4((float)in.mat[2][0], (float)in.mat[2][1], (float)in.mat[2][2], (float)in.mat[2][3]); + out.WAxis() = CFloat4((float)in.mat[3][0], (float)in.mat[3][1], (float)in.mat[3][2], (float)in.mat[3][3]); +} + +//---------------------------------------------------------------------------- + +void AAEToPK(A_Matrix4 &in, CFloat4x4 *out) +{ + AAEToPK(in, *out); +} + +//---------------------------------------------------------------------------- + +CFloat3 AAEToPK(A_FloatPoint3 &in) +{ + CFloat3 res((float)in.x, (float)in.y, (float)in.z); + return res; +} + +//---------------------------------------------------------------------------- + +A_FloatPoint3 PKToAAE(CFloat3 &in) +{ + A_FloatPoint3 res; + res.x = in.x(); + res.y = in.y(); + res.z = in.z(); + return res; +} + +//---------------------------------------------------------------------------- + +CFloat3 AngleAAEToPK(A_FloatPoint3 &in) +{ + return CFloat3(DegToRad((float)in.x), DegToRad((float)in.y), DegToRad((float)in.z)); +} + +//---------------------------------------------------------------------------- + +A_FloatPoint3 AnglePKToAAE(CFloat3 &in) +{ + CFloat3 degree(RadToDeg(in.x()), RadToDeg(in.y()), RadToDeg(in.z())); + return PKToAAE(degree); +} + +//---------------------------------------------------------------------------- + +EAttributeSemantic AttributePKToAAE(EDataSemantic value) +{ + PK_STATIC_ASSERT((int)EDataSemantic::DataSemantic_None == (int)EAttributeSemantic::AttributeSemantic_None); + PK_STATIC_ASSERT((int)EDataSemantic::DataSemantic_3DCoordinate == (int)EAttributeSemantic::AttributeSemantic_Coordinate); + PK_STATIC_ASSERT((int)EDataSemantic::DataSemantic_3DScale == (int)EAttributeSemantic::AttributeSemantic_Scale); + PK_STATIC_ASSERT((int)EDataSemantic::DataSemantic_Color == (int)EAttributeSemantic::AttributeSemantic_Color); + + return (EAttributeSemantic)value; +} + +//---------------------------------------------------------------------------- + +EAttributeType AttributePKToAAE(EBaseTypeID value) +{ + EAttributeType res = AttributeType_None; + switch(value) + { + case (BaseType_Bool): + res = AttributeType_Bool1; + break; + case (BaseType_Bool2): + res = AttributeType_Bool2; + break; + case (BaseType_Bool3): + res = AttributeType_Bool3; + break; + case (BaseType_Bool4): + res = AttributeType_Bool4; + break; + case (BaseType_I32): + res = AttributeType_Int1; + break; + case (BaseType_Int2): + res = AttributeType_Int2; + break; + case (BaseType_Int3): + res = AttributeType_Int3; + break; + case (BaseType_Int4): + res = AttributeType_Int4; + break; + case (BaseType_Float): + res = AttributeType_Float1; + break; + case (BaseType_Float2): + res = AttributeType_Float2; + break; + case (BaseType_Float3): + res = AttributeType_Float3; + break; + case (BaseType_Float4): + res = AttributeType_Float4; + break; + default: + PK_ASSERT_NOT_REACHED_MESSAGE("Attribute Type missmatch !"); + } + return res; +} + +//---------------------------------------------------------------------------- + +EAttributeSamplerType AttributeSamplerPKToAAE(SParticleDeclaration::SSampler::ESamplerType type) +{ + EAttributeSamplerType res = AttributeSamplerType_None; + switch (type) + { + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Animtrack): + res = AttributeSamplerType_Animtrack; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Audio): + res = AttributeSamplerType_Audio; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Curve): + res = AttributeSamplerType_Curve; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_EventStream): + res = AttributeSamplerType_EventStream; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Geometry): + res = AttributeSamplerType_Geometry; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Image): + res = AttributeSamplerType_Image; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Grid): + res = AttributeSamplerType_Grid; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_ImageAtlas): + res = AttributeSamplerType_ImageAtlas; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_Text): + res = AttributeSamplerType_Text; + break; + case (SParticleDeclaration::SSampler::ESamplerType::Sampler_VectorField): + res = AttributeSamplerType_VectorField; + break; + default: + PK_ASSERT_NOT_REACHED_MESSAGE("Attribute Sampler Type missmatch !"); + break; + } + return res; +} + +//---------------------------------------------------------------------------- + +EBaseTypeID AttributeAAEToPK(EAttributeType value) +{ + EBaseTypeID res = BaseType_Evolved; + switch (value) + { + case (AttributeType_Bool1): + res = BaseType_Bool; + break; + case (AttributeType_Bool2): + res = BaseType_Bool2; + break; + case (AttributeType_Bool3): + res = BaseType_Bool3; + break; + case (AttributeType_Bool4): + res = BaseType_Bool4; + break; + case (AttributeType_Int1): + res = BaseType_I32; + break; + case (AttributeType_Int2): + res = BaseType_Int2; + break; + case (AttributeType_Int3): + res = BaseType_Int3; + break; + case (AttributeType_Int4): + res = BaseType_Int4; + break; + case (AttributeType_Float1): + res = BaseType_Float; + break; + case (AttributeType_Float2): + res = BaseType_Float2; + break; + case (AttributeType_Float3): + res = BaseType_Float3; + break; + case (AttributeType_Float4): + res = BaseType_Float4; + break; + default: + PK_ASSERT_NOT_REACHED_MESSAGE("Attribute Type missmatch !"); + } + return res; +} + +//---------------------------------------------------------------------------- + +PKSample::CRHIParticleSceneRenderHelper::ERenderTargetDebug AAEToPK(ERenderType value) +{ + PKSample::CRHIParticleSceneRenderHelper::ERenderTargetDebug res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_NoDebug; + switch (value) + { + case (RenderType_FinalCompositing): + res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_NoDebug; + break; + case (RenderType_Emissive): + res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_NoDebug; + break; + case (RenderType_Albedo): + res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_Diffuse; + break; + case (RenderType_Normal): + res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_NormalUnpacked; + break; + case (RenderType_Depth): + res = PKSample::CRHIParticleSceneRenderHelper::RenderTargetDebug_Depth; + break; + default: + PK_ASSERT_NOT_REACHED_MESSAGE("Render Type missmatch !"); + + } + return res; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(SPostFXBloomDesc &in, PKSample::SParticleSceneOptions::SBloom &out) +{ + out.m_Enable = in.m_Enable; + out.m_BrightPassValue = in.m_BrightPassValue; + out.m_Intensity = in.m_Intensity; + out.m_Attenuation = in.m_Attenuation; + + switch (in.m_GaussianBlur) + { + case (GaussianBlurPixelRadius_5): + out.m_BlurTap = PKSample::GaussianBlurCombination_5_Tap; + break; + case (GaussianBlurPixelRadius_9): + out.m_BlurTap = PKSample::GaussianBlurCombination_9_Tap; + break; + case (GaussianBlurPixelRadius_13): + out.m_BlurTap = PKSample::GaussianBlurCombination_13_Tap; + break; + } + out.m_RenderPassCount = in.m_RenderPassCount; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(SPostFXDistortionDesc &in, PKSample::SParticleSceneOptions::SDistortion &out) +{ + out.m_Enable = in.m_Enable; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(SPostFXToneMappingDesc &in, PKSample::SParticleSceneOptions::SToneMapping &out) +{ + out.m_Saturation = in.m_Saturation; + out.m_Enable = in.m_Enable; + out.m_Exposure = in.m_Exposure; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(SPostFXAADesc &in, PKSample::SParticleSceneOptions::SFXAA &out) +{ + out.m_Enable = in.m_Enable; +} + +//---------------------------------------------------------------------------- + +void AAEToPK(SRenderingDesc &in, PKSample::SParticleSceneOptions &out) +{ + AAEToPK(in.m_Bloom, out.m_Bloom); + AAEToPK(in.m_Distortion, out.m_Distortion); + AAEToPK(in.m_ToneMapping, out.m_ToneMapping); + AAEToPK(in.m_FXAA, out.m_FXAA); +} + +//---------------------------------------------------------------------------- + +CParticleSamplerDescriptor_VectorField_Grid::EInterpolation AAEToPK(EInterpolationType &value) +{ + CParticleSamplerDescriptor_VectorField_Grid::EInterpolation res = CParticleSamplerDescriptor_VectorField_Grid::EInterpolation::__MaxInterpolations; + switch (value) + { + case EInterpolationType::EInterpolationType_Point: + res = CParticleSamplerDescriptor_VectorField_Grid::EInterpolation::Interpolation_Point; + break; + case EInterpolationType::EInterpolationType_Trilinear: + res = CParticleSamplerDescriptor_VectorField_Grid::EInterpolation::Interpolation_Trilinear; + break; + case EInterpolationType::EInterpolationType_Quadrilinear: + res = CParticleSamplerDescriptor_VectorField_Grid::EInterpolation::Interpolation_Quadrilinear; + break; + default: + PK_ASSERT_NOT_REACHED_MESSAGE("Render Type missmatch !"); + break; + } + return res; +} + +//---------------------------------------------------------------------------- + +CUbyte3 ConvertSRGBToLinear(CUbyte3 v) +{ + CFloat3 vf(v.x() / 255.0f, v.y() / 255.0f, v.z() / 255.0f); + + CFloat3 vfl = PKSample::ConvertSRGBToLinear(vf); + return CUbyte3(static_cast(vfl.x() * 255.0f), static_cast(vfl.y() * 255.0f), static_cast(vfl.z() * 255.0f)); +} + +//---------------------------------------------------------------------------- + +CUbyte3 ConvertLinearToSRGB(CUbyte3 v) +{ + CFloat3 vf(v.x() / 255.0f, v.y() / 255.0f, v.z() / 255.0f); + + CFloat3 vfl = PKSample::ConvertLinearToSRGB(vf); + return CUbyte3(static_cast(vfl.x() * 255.0f), static_cast(vfl.y() * 255.0f), static_cast(vfl.z() * 255.0f)); +} + +//---------------------------------------------------------------------------- + +EApiValue RHIApiToAEApi(RHI::EGraphicalApi value) +{ + EApiValue ret; + switch (value) + { +#if PK_BUILD_WITH_D3D12_SUPPORT != 0 + case RHI::EGraphicalApi::GApi_D3D12: + ret = EApiValue::D3D12; + break; +#endif +#if PK_BUILD_WITH_D3D11_SUPPORT != 0 + case RHI::EGraphicalApi::GApi_D3D11: + ret = EApiValue::D3D11; + break; +#endif +#if PK_BUILD_WITH_METAL_SUPPORT != 0 + case RHI::EGraphicalApi::GApi_Metal: + ret = EApiValue::Metal; + break; +#endif + default: +#if defined(PK_WINDOWS) && PK_BUILD_WITH_D3D11_SUPPORT != 0 + ret = EApiValue::D3D11; +#elif defined(PK_MACOSX) && PK_BUILD_WITH_METAL_SUPPORT != 0 + ret = EApiValue::Metal; +#else + PK_ASSERT_NOT_REACHED_MESSAGE("Cannot choose a compatible default API for the current platform"); +#endif + break; + } + return ret; +} + +//---------------------------------------------------------------------------- + +RHI::EGraphicalApi AEApiToRHIApi(EApiValue value) +{ + RHI::EGraphicalApi ret; + switch (value) + { +#if PK_BUILD_WITH_D3D12_SUPPORT != 0 + case EApiValue::D3D12: + ret = RHI::EGraphicalApi::GApi_D3D12; + break; +#endif +#if PK_BUILD_WITH_D3D11_SUPPORT != 0 + case EApiValue::D3D11: + ret = RHI::EGraphicalApi::GApi_D3D11; + break; +#endif +#if PK_BUILD_WITH_METAL_SUPPORT != 0 + case EApiValue::Metal: + ret = RHI::EGraphicalApi::GApi_Metal; + break; +#endif + default: +#if defined(PK_WINDOWS) && PK_BUILD_WITH_D3D11_SUPPORT != 0 + ret = RHI::EGraphicalApi::GApi_D3D11; +#elif defined(PK_MACOSX) && PK_BUILD_WITH_METAL_SUPPORT != 0 + ret = RHI::EGraphicalApi::GApi_Metal; +#else + PK_ASSERT_NOT_REACHED_MESSAGE("Cannot choose a compatible default API for the current platform"); +#endif + break; + } + return ret; + +} + +//---------------------------------------------------------------------------- +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_AssetBaker.cpp b/AE_GeneralPlugin/Sources/AEGP_AssetBaker.cpp new file mode 100644 index 00000000..4880ba38 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_AssetBaker.cpp @@ -0,0 +1,799 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "AEGP_AssetBaker.h" + +#include "AEGP_World.h" + +#include "AEGP_PopcornFXPlugins.h" + +#include "AEGP_PackExplorer.h" +#include "AEGP_FileWatcher.h" +#include "pk_kernel/include/kr_log_listeners_file.h" + +//Baking +#include "pk_imaging/include/im_resource.h" +#include "pk_geometrics/include/ge_mesh_resource_handler.h" +#include "pk_geometrics/include/ge_rectangle_list.h" +#include "pk_particles/include/ps_font_metrics_resource.h" +#include "pk_particles/include/ps_vectorfield_resource.h" +#include "pk_base_object/include/hbo_context.h" + +#include "PK-AssetBakerLib/AssetBaker_Oven.h" +#include "PK-AssetBakerLib/AssetBaker_Oven_HBO.h" +#include "PK-AssetBakerLib/AssetBaker_Oven_Mesh.h" +#include "PK-AssetBakerLib/AssetBaker_Oven_VectorField.h" +#include "PK-AssetBakerLib/AssetBaker_Oven_Texture.h" +#include "PK-AssetBakerLib/AssetBaker_Oven_StraightCopy.h" + +#include "AEGP_Log.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +static const CStringView kPopcornProjectExtension = "pkproj"; + +//---------------------------------------------------------------------------- + +HBO_CLASS_DEFINITION_BEGIN(CEditorAssetEffect) +.HBO_FIELD_DEFINITION(StartCameraPosition) +[ + HBO::Properties::DefaultValue(CFloat3(0.0f, 0.0f, 5.0f)), + HBO::Properties::AlwaysSerialize(), + HBO::Properties::Caracs(HBO::FieldCaracs::Caracs_3DCoordinateDistance), + HBO::Properties::Description("Initial position of the camera when opening the effect") +] +.HBO_FIELD_DEFINITION(StartCameraOrientation) +[ + HBO::Properties::DefaultValue(CFloat3::ZERO), + HBO::Properties::AlwaysSerialize(), + HBO::Properties::Caracs(HBO::Caracs_3DCoordinate), + HBO::Properties::Description("Initial euler orientation of the camera when opening the effect") +] +HBO_CLASS_DEFINITION_END + +//---------------------------------------------------------------------------- + +CEditorAssetEffect::CEditorAssetEffect() + :HBO_CONSTRUCT(CEditorAssetEffect) +{ + +} + +//---------------------------------------------------------------------------- + +CEditorAssetEffect::~CEditorAssetEffect() +{ + +} + +//---------------------------------------------------------------------------- + +void CEditorAssetEffect::CopyFrom(CEditorAssetEffect *other) +{ + SetStartCameraPosition(other->StartCameraPosition()); + SetStartCameraOrientation(other->StartCameraOrientation()); +} + +//---------------------------------------------------------------------------- + +CProjectSettingsFinder::CProjectSettingsFinder(const CString &rootDir, IFileSystem *controller) + : CFileDirectoryWalker(rootDir, IgnoreVirtualFS, controller) +{ + SetFilePathValidator(ProjectSettingsPathValidator); +} + +//---------------------------------------------------------------------------- + +void CProjectSettingsFinder::FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) +{ + (void)pack; + (void)fileFirstCharPos; + + PK_ASSERT(CFilePath::IsPure(fullPath)); + PK_ASSERT(kPopcornProjectExtension == CFilePath::ExtractExtension(fullPath)); + + if (!PK_VERIFY(m_ProjectSettingsPath == null)) + { + CLog::Log(PK_ERROR, "Multiple pkproj found in RootDir (\"%s\").", fullPath); + } + else + { + m_ProjectSettingsPath = fullPath; + } +} + +//---------------------------------------------------------------------------- + +bool CProjectSettingsFinder::DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) +{ + (void)pack; + (void)fullPath; + (void)directoryFirstCharPos; + return true; // Recursive search +} + +//---------------------------------------------------------------------------- + +const CString &CProjectSettingsFinder::ProjectSettingsPath() const +{ + return m_ProjectSettingsPath; +} + +//---------------------------------------------------------------------------- + +bool CProjectSettingsFinder::ProjectSettingsPathValidator(const char *filePath) +{ + return kPopcornProjectExtension == CFilePath::ExtractExtension(filePath); +} + +//---------------------------------------------------------------------------- +// SBakeContext +//---------------------------------------------------------------------------- + +SBakeContext::SBakeContext() + : m_BakeResourceMeshHandler(null) + , m_BakeResourceImageHandler(null) + , m_BakeResourceRectangleListHandler(null) + , m_BakeResourceFontMetricsHandler(null) + , m_BakeResourceVectorFieldHandler(null) + , m_BakeFSController(null) + , m_BakeResourceManager(null) + , m_Initialized(false) +{ +} + +//---------------------------------------------------------------------------- + +SBakeContext::~SBakeContext() +{ + if (!m_Initialized) + return; + + CCookeryLogger::Shutdown(); + + if (m_BakeResourceManager != null) + { + PK_ASSERT(m_BakeResourceMeshHandler != null); + PK_ASSERT(m_BakeResourceImageHandler != null); + PK_ASSERT(m_BakeResourceVectorFieldHandler != null); + PK_ASSERT(m_BakeResourceFontMetricsHandler != null); + PK_ASSERT(m_BakeResourceRectangleListHandler != null); + + m_BakeResourceManager->UnregisterHandler(m_BakeResourceMeshHandler); + m_BakeResourceManager->UnregisterHandler(m_BakeResourceImageHandler); + m_BakeResourceManager->UnregisterHandler(m_BakeResourceRectangleListHandler); + m_BakeResourceManager->UnregisterHandler(m_BakeResourceFontMetricsHandler); + m_BakeResourceManager->UnregisterHandler(m_BakeResourceVectorFieldHandler); + } + PK_SAFE_DELETE(m_BakeResourceMeshHandler); + PK_SAFE_DELETE(m_BakeResourceImageHandler); + PK_SAFE_DELETE(m_BakeResourceVectorFieldHandler); + PK_SAFE_DELETE(m_BakeResourceFontMetricsHandler); + PK_SAFE_DELETE(m_BakeResourceRectangleListHandler); + PK_SAFE_DELETE(m_BakeContext); + PK_SAFE_DELETE(m_BakeFSController); + PK_SAFE_DELETE(m_BakeResourceManager); + + // unregister the oven's HBO bake-config classes: + COvenBakeConfig_Audio::UnregisterHandler(); + COvenBakeConfig_StraightCopy::UnregisterHandler(); + COvenBakeConfig_Particle::UnregisterHandler(); + COvenBakeConfig_ParticleCompiler::UnregisterHandler(); + COvenBakeConfig_VectorField::UnregisterHandler(); + COvenBakeConfig_TextureAtlas::UnregisterHandler(); + COvenBakeConfig_Texture::UnregisterHandler(); + COvenBakeConfig_Mesh::UnregisterHandler(); + COvenBakeConfig_HBO::UnregisterHandler(); + COvenBakeConfig_Base::UnregisterHandler(); +} + +//---------------------------------------------------------------------------- + +bool SBakeContext::Init() +{ + PK_ASSERT(m_BakeResourceMeshHandler == null); + PK_ASSERT(m_BakeResourceImageHandler == null); + PK_ASSERT(m_BakeResourceVectorFieldHandler == null); + PK_ASSERT(m_BakeResourceFontMetricsHandler == null); + PK_ASSERT(m_BakeResourceRectangleListHandler == null); + PK_ASSERT(m_BakeFSController == null); + PK_ASSERT(m_BakeResourceManager == null); + + // We do not constant fold the images because we do not want to link with all the image codecs: + m_BakeResourceImageHandler = PK_NEW(CResourceHandlerDummy); + m_BakeResourceVectorFieldHandler = PK_NEW(CResourceHandlerDummy); + // Keep this updated with all PopcornFX resource types + m_BakeResourceMeshHandler = PK_NEW(PopcornFX::CResourceHandlerMesh); + m_BakeResourceRectangleListHandler = PK_NEW(PopcornFX::CResourceHandlerRectangleList); + m_BakeResourceFontMetricsHandler = PK_NEW(PopcornFX::CResourceHandlerFontMetrics); + + if (!PK_VERIFY(m_BakeResourceMeshHandler != null) || + !PK_VERIFY(m_BakeResourceImageHandler != null) || + !PK_VERIFY(m_BakeResourceRectangleListHandler != null) || + !PK_VERIFY(m_BakeResourceFontMetricsHandler != null) || + !PK_VERIFY(m_BakeResourceVectorFieldHandler != null)) + return false; + + m_BakeFSController = File::NewInternalFileSystem(); + if (!PK_VERIFY(m_BakeFSController != null)) + return false; + + m_BakeResourceManager = PK_NEW(PopcornFX::CResourceManager(m_BakeFSController)); + if (!PK_VERIFY(m_BakeResourceManager != null)) + return false; + m_BakeResourceManager->RegisterHandler(m_BakeResourceMeshHandler); + m_BakeResourceManager->RegisterHandler(m_BakeResourceImageHandler); + m_BakeResourceManager->RegisterHandler(m_BakeResourceRectangleListHandler); + m_BakeResourceManager->RegisterHandler(m_BakeResourceFontMetricsHandler); + m_BakeResourceManager->RegisterHandler(m_BakeResourceVectorFieldHandler); + + m_BakeContext = PK_NEW(PopcornFX::HBO::CContext(m_BakeResourceManager)); + if (!PK_VERIFY(m_BakeContext != null)) + return false; + + // register the oven's HBO bake-config classes: + COvenBakeConfig_Base::RegisterHandler(); + COvenBakeConfig_HBO::RegisterHandler(); + COvenBakeConfig_Mesh::RegisterHandler(); + COvenBakeConfig_Texture::RegisterHandler(); + COvenBakeConfig_TextureAtlas::RegisterHandler(); + COvenBakeConfig_VectorField::RegisterHandler(); + COvenBakeConfig_ParticleCompiler::RegisterHandler(); + COvenBakeConfig_Particle::RegisterHandler(); + COvenBakeConfig_StraightCopy::RegisterHandler(); + COvenBakeConfig_Audio::RegisterHandler(); + + const CVaultHandler &vault = CPopcornFXWorld::Instance().GetVaultHandler(); + + const CString vaultlogs = vault.VaultPathLog(); + + if (!PK_VERIFY(CCookeryLogger::Startup(vaultlogs / "AssetBakerLogs", true))) + return false; + + m_Initialized = true; + return true; +} + +//---------------------------------------------------------------------------- + +bool SBakeContext::_RemapPath(CString &path) +{ + CString extension = CFilePath::ExtractExtension(path.Data()); + + if (extension.Compare("fbx", CaseInsensitive)) + path = CFilePath::StripExtension(path) + ".pkmm"; + if (extension.Compare("fga", CaseInsensitive)) + path = CFilePath::StripExtension(path) + ".pkvf"; + if (extension.Compare("pkfx", CaseInsensitive)) + path = CFilePath::StripExtension(path) + ".pkb"; + + return true; +} + +CString SBakeContext::_RemapFX(const CString &path) +{ + CString extension = CFilePath::ExtractExtension(path.Data()); + + if (extension.Compare("pkfx", CaseInsensitive)) + return CFilePath::StripExtension(path) + ".pkb"; + return null; +} + +//---------------------------------------------------------------------------- + +CEffectBaker::CEffectBaker() + : m_Initialized(false) + , m_SrcPack(null) + , m_DstPack(null) +{ + m_BakeContext.Init(); +} + +//---------------------------------------------------------------------------- + +CEffectBaker::~CEffectBaker() +{ + Clear(); + m_Initialized = false; +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::FileAdded(const CString &path) +{ + if (path.EndsWith(".pkfx") == true || path.EndsWith(".pkri")) + { + SAssetChange effect; + + if (IsChangeRegistered(path, EAssetChangesType::Add) == true) + return; + CString cleanPath = path.Extract(m_SrcPackPath.SlashAppended().Length(), path.Length()); + CFilePath::Purify(cleanPath); + effect.m_EffectPath = cleanPath; + effect.m_Type = EAssetChangesType::Add; + + PK_SCOPEDLOCK(m_Lock); + m_ToBake.PushBack(effect); + } +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::FileRemoved(const CString &path) +{ + (void)path; +#if 0 //User isn't supposed to remove content of the vault during play ? + if (path.EndsWith(".pkfx") == true || path.EndsWith(".pkri")) + { + SAssetChange effect; + + if (IsChangeRegistered(path, EAssetChangesType::Remove) == true) + return; + CString cleanPath = path.Extract(m_SrcPackPath.SlashAppended().Length(), path.Length()); + CFilePath::Purify(cleanPath); + effect.m_EffectPath = cleanPath; + effect.m_Type = EAssetChangesType::Remove; + + PK_SCOPEDLOCK(m_Lock); + } +#endif +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::FileChanged(const CString &path) +{ + if (path.EndsWith(".pkfx") == true || path.EndsWith(".pkri")) + { + SAssetChange effect; + + if (IsChangeRegistered(path, EAssetChangesType::Update) == true) + return; + CString cleanPath = path.Extract(m_SrcPackPath.SlashAppended().Length(), path.Length()); + CFilePath::Purify(cleanPath); + + CEffectBaker::FileChangedRelativePath(cleanPath); + } +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::FileChangedRelativePath(const CString &path) +{ + SAssetChange effect; + + effect.m_EffectPath = path; + effect.m_Type = EAssetChangesType::Update; + + PK_SCOPEDLOCK(m_Lock); + m_ToBake.PushBack(effect); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::FileRenamed(const CString &oldPath, const CString &newPath) +{ + if (newPath.EndsWith(".pkfx") == true) + { + SAssetChange effect; + + if (IsChangeRegistered(newPath, EAssetChangesType::Rename) == true) + return; + + CString cleanPath = newPath.Extract(m_SrcPackPath.SlashAppended().Length(), newPath.Length()); + CString cleanOldPath = oldPath.Extract(m_SrcPackPath.SlashAppended().Length(), oldPath.Length()); + + CFilePath::Purify(cleanPath); + CFilePath::Purify(cleanOldPath); + + effect.m_EffectPath = cleanPath; + effect.m_EffectPathOld = cleanOldPath; + effect.m_Type = EAssetChangesType::Rename; + + PK_SCOPEDLOCK(m_Lock); + m_ToBake.PushBack(effect); + } +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::Initialize(const CString &srcPack, const CString &dstPack, const CString &pkprojPath) +{ + m_RootDir = ""; + if (!pkprojPath.Empty()) + LoadProjectSettings(pkprojPath); + + m_SrcPackPath = srcPack / m_RootDir; + m_DstPackPath = dstPack; + + if (m_SrcPackPath == m_DstPackPath) + { + CAELog::TryLogErrorWindows("Bake Error: Trying to bake into the source pack, aborting"); + return; + } + CLog::Log(PK_INFO, "Setting up cookery with source pack: \"%s\" and destination path: \"%s\"", m_SrcPackPath.Data(), m_DstPackPath.Data()); + m_BakeContext.m_BakeFSController->UnmountAllPacks(); + + m_SrcPack = m_BakeContext.m_BakeFSController->MountPack(m_SrcPackPath); + + // Initialize the cookery: + if (!m_Initialized) + { + Mem::Reinit(m_Cookery); + + m_Cookery.SetHBOContext(m_BakeContext.m_BakeContext); + if (!m_Cookery.TurnOn()) + { + CLog::Log(PK_WARN, "Couldn't initialize the cookery, TurnOn Failed."); + return; + } + + const CGuid ovenIdHBO = m_Cookery.RegisterOven(PK_NEW(COven_HBO)); + const CGuid ovenIdMesh = m_Cookery.RegisterOven(PK_NEW(COven_Mesh)); + const CGuid ovenIdTexture = m_Cookery.RegisterOven(PK_NEW(COven_Texture)); + const CGuid ovenIdTextureAtlas = m_Cookery.RegisterOven(PK_NEW(COven_TextureAtlas)); + const CGuid ovenIdVectorField = m_Cookery.RegisterOven(PK_NEW(COven_VectorField)); + + COven_Particle *ovenParticle = PK_NEW(COven_Particle); + ovenParticle->SetExternalPathRemapper(FastDelegate(SBakeContext::_RemapPath)); + const CGuid ovenIdParticle = m_Cookery.RegisterOven(ovenParticle); + + const CGuid ovenIdStraightCopy = m_Cookery.RegisterOven(PK_NEW(COven_StraightCopy)); + const CGuid ovenIdAudio = m_Cookery.RegisterOven(PK_NEW(COven_Audio)); + + if (!ovenIdHBO.Valid() || !ovenIdMesh.Valid() || !ovenIdTexture.Valid() || !ovenIdTextureAtlas.Valid() || + !ovenIdVectorField.Valid() || !ovenIdParticle.Valid() || !ovenIdStraightCopy.Valid() || + !ovenIdAudio.Valid()) + { + CLog::Log(PK_WARN, "Couldn't initialize the cookery, RegisterOven Failed."); + return; + } + + m_Cookery.MapOven("pkri", ovenIdStraightCopy); // Editor Material + m_Cookery.MapOven("pkma", ovenIdStraightCopy); // Editor Material + // map all known extensions to the appropriate oven: + m_Cookery.MapOven("fbx", ovenIdMesh); // FBX mesh + m_Cookery.MapOven("pkmm", ovenIdMesh); // PopcornFX multi-mesh + m_Cookery.MapOven("dds", ovenIdTexture); // dds image + m_Cookery.MapOven("png", ovenIdTexture); // png image + m_Cookery.MapOven("jpg", ovenIdTexture); // jpg image + m_Cookery.MapOven("jpeg", ovenIdTexture); // jpg image + m_Cookery.MapOven("tga", ovenIdTexture); // tga image + m_Cookery.MapOven("tif", ovenIdTexture); // tiff image + m_Cookery.MapOven("tiff", ovenIdTexture); // tiff image + m_Cookery.MapOven("pkm", ovenIdTexture); // pkm image + m_Cookery.MapOven("pvr", ovenIdTexture); // pvrtc image + //m_Cookery.MapOven("exr", ovenIdTexture); // exr image ------------- Collide with FBX + m_Cookery.MapOven("hdr", ovenIdTexture); // hdr image + m_Cookery.MapOven("txt", ovenIdStraightCopy); // misc + m_Cookery.MapOven("fga", ovenIdVectorField); // FGA vector-field + m_Cookery.MapOven("pkfm", ovenIdStraightCopy); // PopcornFX font + m_Cookery.MapOven("pkvf", ovenIdStraightCopy); // PopcornFX vector-field + m_Cookery.MapOven("pkat", ovenIdTextureAtlas); // PopcornFX atlas definition + m_Cookery.MapOven("pksc", ovenIdStraightCopy); // PopcornFX simulation cache + m_Cookery.MapOven("pkbo", ovenIdHBO); // PopcornFX base object + m_Cookery.MapOven("pkan", ovenIdHBO); // PopcornFX Animation + m_Cookery.MapOven("pksa", ovenIdHBO); // PopcornFX Skeletal Animation + m_Cookery.MapOven("mp3", ovenIdAudio); // mp3 sound + m_Cookery.MapOven("wav", ovenIdAudio); // wav sound + m_Cookery.MapOven("ogg", ovenIdAudio); // ogg sound + m_Cookery.MapOven("pkfx", ovenIdParticle, FastDelegate(SBakeContext::_RemapFX)); // PopcornFX Effect + + m_Cookery.AddOvenFlags(PopcornFX::COven::Flags_BakeMemoryVersion); + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + CString installPath = world.GetPluginInstallationPath(); + CString SrcPackPath = srcPack.Replace('/', '\\'); + + PopcornFX::PBaseObjectFile configFile = m_Cookery.m_BaseConfigFile; + PK_FOREACH(it, configFile->ObjectList()) + { + PopcornFX::COvenBakeConfig_Particle *config = PopcornFX::HBO::Cast(*it); + if (config != null) + { + config->SetCompile(true); + config->SetSourceConfig(Bake_NoSource); + config->SetRemoveEditorNodes(true); + config->SetBakeMode(PopcornFX::COvenBakeConfig_HBO::Bake_SaveAsBinary); + + COvenBakeConfig_Particle::_TypeOfBackendCompilers backendCompilers; + +#if (PK_COMPILER_BUILD_COMPILER_D3D12 != 0) + if (world.GetRenderApi() == RHI::GApi_D3D12) + { + //BakeBytecodeCommandLine_Windows = "\"{DXC}\" -T cs_6_0 -E main -WX -Ges -O3 -nologo -all_resources_bound -Fo \"$(TargetPath)\" \"$(InputPath)\""; + const CString cmdLine_D3D12 = "\"" + installPath + "fxc.exe\"" + " -T cs_5_1 -E main -WX -Ges -O3 -all_resources_bound -Fo \"$(TargetPath)\" \"$(InputPath)\""; + POvenBakeConfig_ParticleCompiler backendCompiler = m_Cookery.HBOContext()->NewObject(configFile.Get()); + if (!PK_VERIFY(backendCompiler != null) || + !PK_VERIFY(backendCompilers.PushBack(backendCompiler).Valid())) + return; + backendCompiler->SetTarget(BackendTarget_D3D12); + backendCompiler->SetBakeBytecodeCommandLine_Windows(cmdLine_D3D12); + } +#endif +#if (PK_COMPILER_BUILD_COMPILER_D3D11 != 0) + if (world.GetRenderApi() == RHI::GApi_D3D11) + { + const CString cmdLine_D3D11 = "\"" + installPath + "fxc.exe\"" + " -T cs_5_0 -E main -WX -Ges -O3 -Fo \"$(TargetPath)\" \"$(InputPath)\""; + POvenBakeConfig_ParticleCompiler backendCompiler = m_Cookery.HBOContext()->NewObject(configFile.Get()); + if (!PK_VERIFY(backendCompiler != null) || + !PK_VERIFY(backendCompilers.PushBack(backendCompiler).Valid())) + return; + backendCompiler->SetTarget(BackendTarget_D3D11); + backendCompiler->SetBakeBytecodeCommandLine_Windows(cmdLine_D3D11); + } +#endif + config->SetBackendCompilers(backendCompilers); + + config->SetCompilerSwitches("--determinism"); + config->SetCommandLine_Windows( "\"" + installPath + "PK-ShaderTool_r.exe\" -v -k false -O \"$(TargetPath)\"" + " -P \"" + SrcPackPath + "\" " + + "-api d3d " + "-c \"\\\"" + installPath + "fxc.exe\\\" -T ##ShortStage##_5_0 ##InputPath## -Fo ##OutputPath## -nologo -O3\" \"$(InputPath)\""); + config->SetCommandLine_MacOsX( "\"" + installPath + "AE_GeneralPlugin.plugin/Contents/MacOs/PK-ShaderTool_r\" -v -k false -O \"$(TargetPath)\"" + " -P \"" + SrcPackPath + "\" " + + "-api metal -c \"xcrun -sdk macosx metal -mmacosx-version-min=10.14 -std=macos-metal2.1 ##InputPath## -o ##OutputPath##\" \"$(InputPath)\""); + continue; + } + PopcornFX::COvenBakeConfig_Base *configBase = PopcornFX::HBO::Cast(*it); + if (configBase != null) + continue; + } + m_Initialized = true; + } + const PopcornFX::SBakeTarget defaultTarget("AfterEffect_Generic", m_DstPackPath); + + m_Cookery.m_DstPackPaths.PushBack(defaultTarget); + +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::Clear() +{ + PK_SCOPEDLOCK(m_Lock); + + m_BakeContext.m_BakeFSController->UnmountAllPacks(); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::Lock() +{ + m_Lock.Lock(); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::Unlock() +{ + m_Lock.Unlock(); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::CancelAllFileChanges() +{ + m_ToBake.Clear(); +} + +//---------------------------------------------------------------------------- + +int CEffectBaker::PopFileChanges() +{ + if (m_ToBake.Count() != 0) + { + SAssetChange effect = m_ToBake.Pop(); + + BakeAssetOrAddToRetryStack(effect); + } + return m_ToBake.Count(); +} + +//---------------------------------------------------------------------------- + +bool CEffectBaker::IsChangeRegistered(const CString &path, EAssetChangesType type) +{ + for (u32 i = 0; i < m_ToBake.Count(); ++i) + { + if (m_ToBake[i].m_Type == type && path.Compare(m_ToBake[i].m_EffectPath)) + return true; + } + return false; +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::ReimportAssets(TArray &paths, bool importPkri /*=true*/) +{ + for (u32 i = 0; i < paths.Count(); ++i) + { + FileChangedRelativePath(paths[i]); + } + if (importPkri) + FileChangedRelativePath(m_LibraryDir + "/PopcornFXCore/Materials/Interface/Editor.pkri"); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::ReimportAllAssets(bool refresh) +{ + (void)refresh; + + CPackExplorer packExplorer(m_SrcPack->Path(), m_BakeContext.m_BakeFSController); + packExplorer.Explore(); + + TMemoryView path = packExplorer.EffectPaths(); + + for (u32 i = 0; i < path.Count(); ++i) + { + FileChangedRelativePath(path[i]); + } +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::LoadProjectSettings(const CString &pkprojPath) +{ + CString projectSettingsFilePath; + HBO::CContext context; + if (pkprojPath.Empty()) + { + CProjectSettingsFinder finder(m_SrcPack->Path(), m_BakeContext.m_BakeFSController); + + finder.Walk(); + + projectSettingsFilePath = finder.ProjectSettingsPath(); + } + else + projectSettingsFilePath = pkprojPath; + + if (projectSettingsFilePath.Empty() || + !m_BakeContext.m_BakeFSController->Exists(projectSettingsFilePath, true)) + { + CLog::Log(PK_ERROR, "Could not find Project Settings in pack \"%s\"", m_SrcPack->Path().Data()); + return; + } + + const CString fileBuffer = m_BakeContext.m_BakeFSController->BufferizeToString(projectSettingsFilePath, true); + if (fileBuffer == null) + { + CLog::Log(PK_ERROR, "Failed to read project settings file at \"%s\"", projectSettingsFilePath.Data()); + return; + } + + CConstMemoryStream stream(fileBuffer.Data(), fileBuffer.Length()); + PProjectSettings projectSettings = CProjectSettings::LoadFromStream(stream, &context); + if (projectSettings == null) + { + CLog::Log(PK_ERROR, "Failed to load project settings file at \"%s\"", projectSettingsFilePath.Data()); + return; + } + + PProjectSettingsGeneral general = projectSettings->General(); + m_RootDir = general->RootDir(); + m_LibraryDir = general->LibraryDir(); + m_EditorCacheDir = general->EditorCacheDir(); + m_PresetsDir = general->PresetsDir(); +} + +//---------------------------------------------------------------------------- + +void CEffectBaker::GetAllAssetPath() +{ + CPackExplorer packExplorer(m_SrcPack->Path(), m_BakeContext.m_BakeFSController); + SDirectoryValidator directoryValidator(m_LibraryDir, m_EditorCacheDir, m_PresetsDir); + CPackExplorer::PathValidator directoryPathValidator = CPackExplorer::PathValidator(&(directoryValidator), &SDirectoryValidator::cmp); + + packExplorer.SetDirectoryPathValidator(directoryPathValidator); + packExplorer.Explore(); + + TMemoryView paths = packExplorer.EffectPaths(); + TArray pathChar(paths.Count()); + for (u32 i = 0; i < paths.Count(); ++i) + { + pathChar[i] = paths[i].Data(); + } +} + +//---------------------------------------------------------------------------- + +bool CEffectBaker::BakeAssetOrAddToRetryStack(SAssetChange &assetInfo) +{ + CLog::Log(PK_INFO, "Baking asset '%s' and its dependencies...", assetInfo.m_EffectPath.Data()); + if (!BakeAsset(assetInfo.m_EffectPath)) + { + CString errorLog = "Bake Error: " + assetInfo.m_EffectPath + " failed to bake"; + CAELog::TryLogErrorWindows(errorLog); + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CEffectBaker::LoadAndBrowseEffect(const CString &path) +{ + PBaseObjectFile file = m_BakeContext.m_BakeContext->LoadFile(path); + + if (!PK_VERIFY(file != null)) + { + CLog::Log(PK_ERROR, "Could not load the effect file for '%s'", path.Data()); + return false; + } + + PEditorAssetEffect editorAssetEffect = file->FindFirstOf(); + if (!PK_VERIFY(editorAssetEffect != null)) + { + CLog::Log(PK_ERROR, "Could not find the CEditorAssetEffect object in file for '%s'", path.Data()); + return false; + } + CString pkboPath = CFilePath::StripExtension(path) + ".pkbo"; + IFileSystem *fileSystem = File::DefaultFileSystem(); + PFilePack dstPack = fileSystem->MountPack(m_DstPackPath); + + fileSystem->SetForcedFileCreationPack(dstPack); + PBaseObjectFile pkboFile = HBO::g_Context->LoadFile_AndCreateIFN_Pure(pkboPath.View(), false); + + + PEditorAssetEffect editorProp = pkboFile->FindFirstOf(); + if (editorProp == null) + { + editorProp = HBO::g_Context->NewObject(pkboFile.Get()); + } + editorProp->CopyFrom(editorAssetEffect.Get()); + + if (!PK_VERIFY(HBO::g_Context->WriteFile(pkboFile.Get(), pkboFile->Path()))) + { + return false; + } + fileSystem->SetForcedFileCreationPack(null); + editorAssetEffect = null; + file->Unload(); + return true; +} + +//---------------------------------------------------------------------------- + +bool CEffectBaker::BakeAsset(const CString &path, bool bakeDependencies) +{ + if (m_BakedPaths.Contains(path)) + return true; + + m_BakedPaths.PushBack(path); + + if (bakeDependencies) + { + TArray dependencies; + + m_Cookery.GetAssetDependencies(path, dependencies); + for (u32 i = 0; i < dependencies.Count(); i++) + { + const CString &dependency = (dependencies[i]); + if (dependency == null || + dependency.EndsWith(".pkfx") || + dependency.EndsWith(".pkbo")) + continue; + if (BakeAsset(dependency, true) == false) + { + CLog::Log(PK_ERROR, "Asset Dependency of '%s' failed baking: '%s'", path.Data(), dependency.Data()); + return false; + } + } + } + PopcornFX::CMessageStream bakerErrors; + if (!m_Cookery.BakeAsset(path, m_Cookery.m_BaseConfigFile, bakerErrors)) + { + CLog::Log(PK_ERROR, "Couldn't bake effect '%s':", path.Data()); + bakerErrors.Log(); + return false; + } + if (path.EndsWith(".pkfx")) + { + LoadAndBrowseEffect(path); + } + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_Attribute.cpp b/AE_GeneralPlugin/Sources/AEGP_Attribute.cpp new file mode 100644 index 00000000..22f0060e --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_Attribute.cpp @@ -0,0 +1,758 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_Attribute.h" +#include "AEGP_AEPKConversion.h" + +#include +#include + +#include "AEGP_FileWatcher.h" +#include "pk_kernel/include/kr_log_listeners_file.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "AEGP_World.h" + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +SSamplerBase::SSamplerBase() + : m_SamplerDescriptor(null) +{ + +} + +//---------------------------------------------------------------------------- + +SSamplerBase::~SSamplerBase() +{ + m_SamplerDescriptor = null; +} + +//---------------------------------------------------------------------------- + +SSamplerShape::SSamplerShape() + : m_Type(SamplerShapeType_None) + , m_ShapeDesc(null) + , m_MeshBatch(null) +{ + +} + +//---------------------------------------------------------------------------- + +SSamplerShape::~SSamplerShape() +{ + m_ShapeDesc = null; + +} + +//---------------------------------------------------------------------------- + +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_SURFACE != 0) + +bool SSamplerShape::CreateSurfaceSamplingStructs(const PResourceMeshBatch mesh) +{ + m_SurfaceSamplingStructs = PK_NEW(CMeshSurfaceSamplerStructuresRandom); + if (!PK_VERIFY(m_SurfaceSamplingStructs != null)) + return false; + return m_SurfaceSamplingStructs->Build(mesh->RawMesh()->TriangleBatch().m_IStream, mesh->RawMesh()->TriangleBatch().m_VStream.Positions()); +} + +//---------------------------------------------------------------------------- + +bool SSamplerShape::CreateSurfaceUVSamplingStructs(const PResourceMeshBatch mesh) +{ + m_SurfaceUVSamplingStructs = PK_NEW(CMeshSurfaceSamplerStructuresFromUV); + if (!PK_VERIFY(m_SurfaceUVSamplingStructs != null)) + return false; + return m_SurfaceUVSamplingStructs->Build(SMeshUV2PCBuildConfig(), mesh->RawMesh()->TriangleBatch().m_VStream, mesh->RawMesh()->TriangleBatch().m_IStream); +} + +#endif + +//---------------------------------------------------------------------------- + +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_VOLUME != 0) +bool SSamplerShape::CreateVolumeSamplingStructs(const PResourceMeshBatch mesh) +{ + m_VolumeSamplingStructs = PK_NEW(CMeshVolumeSamplerStructuresRandom); + if (!PK_VERIFY(m_VolumeSamplingStructs != null)) + return false; + + if (!mesh->RawMesh()->HasTetrahedralMeshing()) + return false; + + return m_VolumeSamplingStructs->Build(mesh->RawMesh()->TriangleBatch().m_VStream.Positions(), mesh->RawMesh()->TetrahedralOtherPositions(), mesh->RawMesh()->TetrahedralIndices(), mesh->RawMesh()->TetrahedralIndicesCount()); +} +#endif + +//---------------------------------------------------------------------------- + +#if (PK_GEOMETRICS_BUILD_MESH_PROJECTION) && 0 +bool SSamplerShape::CreateProjectionStructs(const PResourceMeshBatch mesh) +{ + m_ProjectionStructs = PK_NEW(CMeshProjection); + if (!PK_VERIFY(m_ProjectionStructs != null)) + return false; + return m_ProjectionStructs->Build(mesh->RawMesh()->TriangleBatch()); +} +#endif + +//---------------------------------------------------------------------------- + +#if (PK_GEOMETRICS_BUILD_KDTREE != 0) +bool SSamplerShape::CreateKdTree(const PResourceMeshBatch mesh) +{ + m_KdTree = PK_NEW(CMeshKdTree); + if (!PK_VERIFY(m_KdTree != null)) + return false; + SMeshKdTreeBuildConfig buildConfig; + buildConfig.m_Flags |= SMeshKdTreeBuildConfig::LowQualityButFasterBuild; + return m_KdTree->Build(mesh->RawMesh()->TriangleBatch(), buildConfig); +} +#endif + +//---------------------------------------------------------------------------- + +bool SSamplerShape::UpdateShape(SShapeSamplerDescriptor *aeShapeDesc) +{ + CParticleSamplerDescriptor_Shape_Default *desc = static_cast(m_SamplerDescriptor.Get()); + + if (m_ShapeDesc == null || + m_Type != aeShapeDesc->m_Type) + { + m_Type = aeShapeDesc->m_Type; + // Create new shape descriptor: + switch (m_Type) + { + case SamplerShapeType_Box: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Box(CFloat3(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1], aeShapeDesc->m_Dimension[2]))); + break; + case SamplerShapeType_Sphere: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Sphere(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1])); + break; + case SamplerShapeType_Ellipsoid: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Ellipsoid(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1])); + break; + case SamplerShapeType_Cylinder: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Cylinder(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1], aeShapeDesc->m_Dimension[2])); + break; + case SamplerShapeType_Capsule: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Capsule(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1], aeShapeDesc->m_Dimension[2])); + break; + case SamplerShapeType_Cone: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Cone(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1])); + break; + case SamplerShapeType_Mesh: + m_ShapeDesc = PK_NEW(CShapeDescriptor_Mesh()); + break; + default: + break; + } + } + if (aeShapeDesc->m_Type == m_Type) + { + // Update shape descriptor: + if (m_Type == SamplerShapeType_Box) + { + static_cast(m_ShapeDesc.Get())->SetDimensions(CFloat3(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[1], aeShapeDesc->m_Dimension[2])); + } + else if (m_Type == SamplerShapeType_Sphere) + { + CShapeDescriptor_Sphere *sphereDesc = static_cast(m_ShapeDesc.Get()); + sphereDesc->SetRadius(aeShapeDesc->m_Dimension[0]); + sphereDesc->SetInnerRadius(aeShapeDesc->m_Dimension[1]); + } + else if (m_Type == SamplerShapeType_Ellipsoid) + { + CShapeDescriptor_Ellipsoid *ellipsoidDesc = static_cast(m_ShapeDesc.Get()); + ellipsoidDesc->SetRadius(aeShapeDesc->m_Dimension[0]); + ellipsoidDesc->SetInnerRadius(aeShapeDesc->m_Dimension[1]); + } + else if (m_Type == SamplerShapeType_Cylinder) + { + CShapeDescriptor_Cylinder *cylinderDesc = static_cast(m_ShapeDesc.Get()); + cylinderDesc->SetRadius(aeShapeDesc->m_Dimension[0]); + cylinderDesc->SetHeight(aeShapeDesc->m_Dimension[1]); + cylinderDesc->SetInnerRadius(aeShapeDesc->m_Dimension[2]); + } + else if (m_Type == SamplerShapeType_Capsule) + { + CShapeDescriptor_Capsule *capsuleDesc = static_cast(m_ShapeDesc.Get()); + capsuleDesc->SetRadius(aeShapeDesc->m_Dimension[0]); + capsuleDesc->SetHeight(aeShapeDesc->m_Dimension[1]); + capsuleDesc->SetInnerRadius(aeShapeDesc->m_Dimension[2]); + } + else if (m_Type == SamplerShapeType_Cone) + { + CShapeDescriptor_Cone *coneDesc = static_cast(m_ShapeDesc.Get()); + coneDesc->SetRadius(aeShapeDesc->m_Dimension[0]); + coneDesc->SetHeight(aeShapeDesc->m_Dimension[1]); + } + else if (m_Type == SamplerShapeType_Mesh) + { + CShapeDescriptor_Mesh *meshDesc = static_cast(m_ShapeDesc.Get()); + + if (aeShapeDesc->m_Path.length() == 0) + return true; + + //Todo do it with the resource manager + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(aeShapeDesc->m_Path.data(), File::DefaultFileSystem()); + + if (!filePackPath.Empty()) + { + CMessageStream loadReport; + PResourceMesh mesh = CResourceMesh::Load(File::DefaultFileSystem(), filePackPath, loadReport); + loadReport.Log(); + if (!PK_VERIFY(mesh != null)) + { + CLog::Log(PK_ERROR, "Fail loading the CMeshResource from the pkmm content"); + return false; + } + const u32 uSubMeshId = static_cast(0); + const u32 batchCount = mesh->BatchList().Count(); + if (!PK_VERIFY(uSubMeshId < batchCount)) + { + CLog::Log(PK_ERROR, "Cannot use the submesh ID %d: the mesh only has %d submeshes", uSubMeshId, batchCount); + return false; + } + m_MeshBatch = mesh->BatchList()[uSubMeshId]; + + // ------------------------------------------ + // Build KD Tree IFN + if ((aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_Intersect) != 0 || + (aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_Project) != 0 || + (aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_Contains) != 0 || + (aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_DistanceField) != 0) + { +#if (PK_GEOMETRICS_BUILD_KDTREE != 0) + if (!CreateKdTree(m_MeshBatch)) + CLog::Log(PK_WARN, "Failed building mesh kdTree acceleration structure"); + else + meshDesc->SetKdTree(m_KdTree); +#endif + } + +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_SURFACE != 0) + // Build sampling info IFN + if ((aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_Sample) != 0) + { + if (!CreateSurfaceSamplingStructs(m_MeshBatch)) + CLog::Log(PK_WARN, "Failed building mesh surface-sampling acceleration structure"); + else + meshDesc->SetSamplingStructs(m_SurfaceSamplingStructs, null); + } + + // Build UV 2 PCoords info IFN + if ((aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_SampleFromUV) != 0) + { + if (!CreateSurfaceUVSamplingStructs(m_MeshBatch)) + CLog::Log(PK_WARN, "Failed building mesh uv-to-pcoords acceleration structure"); + else + meshDesc->SetUVSamplingStructs(m_SurfaceUVSamplingStructs, 0); + } +#endif +#if (PK_GEOMETRICS_BUILD_MESH_SAMPLER_VOLUME) + if ((aeShapeDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Mesh_Sample) != 0) + { + if (!CreateVolumeSamplingStructs(m_MeshBatch)) + CLog::Log(PK_WARN, "Failed building mesh surface-sampling acceleration structure"); + } +#endif + meshDesc->SetMesh(m_MeshBatch->RawMesh()); + meshDesc->SetScale(CFloat3(aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[0], aeShapeDesc->m_Dimension[0])); + } + } + } + + if (desc == null && m_ShapeDesc != null) + { + desc = PK_NEW(CParticleSamplerDescriptor_Shape_Default(m_ShapeDesc.Get())); + m_SamplerDescriptor = desc; + } + else if (m_ShapeDesc != null) + { + desc->m_Shape = m_ShapeDesc.Get(); + } + + return true; +} + +//---------------------------------------------------------------------------- + +SSamplerImage::SSamplerImage() + : m_ImageDesc(null) + , m_TextureData(null) + , m_Width(0) + , m_Height(0) + , m_SizeInBytes(0) + , m_PixelFormat(CImage::EFormat::Format_Invalid) + , m_DensitySampler(null) + +{ +} + +//---------------------------------------------------------------------------- + +SSamplerImage::~SSamplerImage() +{ + PK_SAFE_DELETE(m_DensitySampler); + PK_SAFE_DELETE(m_ImageDesc); +} + +//---------------------------------------------------------------------------- + +bool SSamplerImage::UpdateImage(SImageSamplerDescriptor *aeImageDesc) +{ + const u32 width = m_Width; + const u32 height = m_Height; + const u32 sizeInBytes = m_SizeInBytes; + const CImage::EFormat format = m_PixelFormat; + + CParticleSamplerDescriptor_Image_Default *desc = static_cast(m_SamplerDescriptor.Get()); + + if (width == 0 || height == 0) + return false; + + CImageMap map; + + map.m_RawBuffer = m_TextureData; + map.m_Dimensions = CUint3(width, height, 1); + + CImageSampler *imageDesc = m_ImageDesc; + CImageSurface surface(map, format); + + if (imageDesc == null) + { + imageDesc = PK_NEW(CImageSamplerBilinear); + m_ImageDesc = imageDesc; + } + + if (!PK_VERIFY(m_ImageDesc != null)) + { + CLog::Log(PK_ERROR, "Could not create the image sampler"); + return false; + } + + if (!imageDesc->SetupFromSurface(surface)) + { + surface.Convert(CImage::Format_BGRA8); + if (!PK_VERIFY(imageDesc->SetupFromSurface(surface))) + { + CLog::Log(PK_ERROR, "Could not setup the image sampler"); + return false; + } + } + + if (desc == null) + { + desc = PK_NEW(CParticleSamplerDescriptor_Image_Default(m_ImageDesc)); + m_SamplerDescriptor = desc; + } + else + { + desc->m_Sampler = m_ImageDesc; + desc->m_ImageDimensions = m_ImageDesc->Dimensions(); + } + + if (aeImageDesc->m_UsageFlags & SParticleDeclaration::SSampler::UsageFlags_Image_Density) + { + if (m_DensitySampler == null) + { + m_DensitySampler = PK_NEW(SDensitySamplerData); + + PK_ASSERT(m_DensitySampler != null); + } + SDensitySamplerBuildSettings densityBuildSettings; + + if (!m_DensitySampler->Build(surface, densityBuildSettings)) + { + CLog::Log(PK_ERROR, "Could not build the density sampler"); + return false; + } + if (!desc->SetupDensity(m_DensitySampler)) + { + CLog::Log(PK_ERROR, "Could not setup the density image sampler"); + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +SSamplerText::SSamplerText() +{ +} + +//---------------------------------------------------------------------------- + +SSamplerText::~SSamplerText() +{ +} + +//---------------------------------------------------------------------------- + +bool SSamplerText::UpdateText(STextSamplerDescriptor *aeTextDesc) +{ + m_Data = aeTextDesc->m_Data.c_str(); + + CParticleSamplerDescriptor_Text_Default *desc = static_cast(m_SamplerDescriptor.Get()); + + const CFontMetrics *fontKerning = null; + bool useKerning = false; + + if (desc == null) + { + desc = PK_NEW(CParticleSamplerDescriptor_Text_Default()); + m_SamplerDescriptor = desc; + } + if (desc != null) + { + if (!desc->_Setup(m_Data, fontKerning, useKerning)) + { + CLog::Log(PK_ERROR, "Could not setup the text descriptor"); + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +SSamplerAudio::SSamplerAudio() + : m_Waveform(null) + , m_InputSampleCount(0) + , m_SampleCount(0) + , m_Name(null) + , m_SoundData(null) + , m_SamplingType(SamplingType_Unknown) + , m_WaveformData(null) + , m_BuiltThisFrame(false) +{ +} + +//---------------------------------------------------------------------------- + +SSamplerAudio::~SSamplerAudio() +{ + CleanAudioPyramid(); +} + +//---------------------------------------------------------------------------- + +bool SSamplerAudio::UpdateSound(SAudioSamplerDescriptor *aeSoundDesc) +{ + (void)aeSoundDesc; + CParticleSamplerDescriptor_Audio_Default *desc = static_cast(m_SamplerDescriptor.Get()); + + if (desc == null) + { + desc = PK_NEW(CParticleSamplerDescriptor_Audio_Default()); + m_SamplerDescriptor = desc; + } + m_Name = desc->m_ChannelGroupNameID; + return true; +} + +//---------------------------------------------------------------------------- + +bool SSamplerAudio::CleanAudioPyramid() +{ + for (u32 i = 0; i < m_WaveformPyramid.Count(); i++) + { + PK_FREE(m_WaveformPyramid[i]); + } + m_WaveformPyramid.Clean(); + return true; +} + +//---------------------------------------------------------------------------- + +unsigned int BitReverse(u32 x, int log2n) +{ + return IntegerTools::ReverseBits(x) >> (32 - log2n); +} + +void BasicFFT(std::complex *inputs, std::complex *outputs, int log2n) +{ + const float kPI = 3.1415926536f; + const std::complex kImag(0, 1); + u32 n = 1 << log2n; + for (u32 i = 0; i < n; ++i) + { + outputs[BitReverse(i, log2n)] = inputs[i]; + } + for (s32 s = 1; s <= log2n; ++s) + { + u32 m = 1 << s; + u32 m2 = m >> 1; + std::complex w(1, 0); + std::complex wm = exp(-kImag * (kPI / m2)); + for (u32 j = 0; j < m2; ++j) + { + for (u32 k = j; k < n; k += m) + { + std::complex t = w * outputs[k + m2]; + std::complex u = outputs[k]; + outputs[k] = u + t; + outputs[k + m2] = u - t; + } + w *= wm; + } + } +} + +//---------------------------------------------------------------------------- + +bool SSamplerAudio::BuildAudioPyramidIFN() +{ + PK_SCOPEDLOCK(m_Lock); + + if (m_InputSampleCount == 0 || + m_Waveform == null) + return false; + + m_SampleCount = 1024; + PK_ASSERT(m_InputSampleCount >= m_SampleCount); + if (m_SamplingType == SamplingType_Spectrum) + { + const u32 frequencyCount = m_SampleCount * 2; + PK_ASSERT(m_InputSampleCount >= frequencyCount); + TArray > inData; + TArray > outData; + + if (!PK_VERIFY(inData.Resize(m_InputSampleCount) && outData.Resize(frequencyCount))) + return false; + + for (u32 i = 0; i < m_InputSampleCount; ++i) + { + inData[i].real(m_Waveform[i]); + inData[i].imag(0); + } + BasicFFT(inData.RawDataPointer(), outData.RawDataPointer(), IntegerTools::Log2(frequencyCount)); + for (u32 j = 0; j < m_SampleCount; ++j) + { + m_Waveform[j] = std::sqrt(PKSquared(outData[j].real()) + PKSquared(outData[j].imag())) / static_cast(m_SampleCount); + } + } + + // lazy-allocation + if (m_WaveformData == null) + { + CleanAudioPyramid(); + + const u32 baseAllocSize = m_SampleCount; + // allocate two double borders to avoid checking for overflow during sampling w/ Cubic or Linear filters + const u32 baseByteCount = (2 + baseAllocSize + 2) * sizeof(*m_WaveformData); + m_WaveformData = (float*)PK_MALLOC_ALIGNED(baseByteCount, 0x80); + if (m_WaveformData == null) + return false; + Mem::Clear(m_WaveformData, baseByteCount); + + bool success = true; + const u32 pyramidSize = IntegerTools::Log2(m_SampleCount) + 1; + if (m_WaveformPyramid.Resize(pyramidSize)) + { + u32 currentCount = m_SampleCount; + for (u32 i = 1; i < pyramidSize; i++) + { + currentCount >>= 1; + PK_ASSERT(currentCount != 0); + const u32 mipByteCount = (2 + currentCount + 2) * sizeof(float); + m_WaveformPyramid[i] = (float*)PK_MALLOC_ALIGNED(mipByteCount, 0x10); + if (m_WaveformPyramid[i] != null) + Mem::Clear(m_WaveformPyramid[i], mipByteCount); + success &= (m_WaveformPyramid[i] != null); + } + } + m_WaveformPyramid[0] = m_WaveformData; + + if (!success) + { + m_WaveformData = null; + CleanAudioPyramid(); + return false; + } + } + + PK_ASSERT(m_WaveformData != null); + float *realDataPtr = m_WaveformData + 2; // ptr to the first real element, skipping the two-element border + memcpy(realDataPtr, m_Waveform, m_SampleCount * sizeof(*m_WaveformData)); + + { + const float firstEntry = realDataPtr[0]; + const float lastEntry = realDataPtr[m_SampleCount - 1]; + realDataPtr[-1] = firstEntry; // duplicate the first entry in the two start borders + realDataPtr[-2] = firstEntry; + realDataPtr[m_SampleCount + 0] = lastEntry; // duplicate the last entry in the two end borders + realDataPtr[m_SampleCount + 1] = lastEntry; + } + + // right, rebuild the spectrum pyramid: + if (!m_WaveformPyramid.Empty()) + { + u32 currentCount = m_SampleCount; + for (u32 i = 1; i < m_WaveformPyramid.Count(); i++) + { + const float * __restrict src = 2 + m_WaveformPyramid[i - 1]; + float * __restrict dst = 2 + m_WaveformPyramid[i]; + + currentCount >>= 1; + + // downsample + for (u32 j = 0; j < currentCount; j++) + { + dst[j] = 0.5f * (src[j * 2 + 0] + src[j * 2 + 1]); + } + + const float firstEntry = dst[0]; + const float lastEntry = dst[currentCount - 1]; + dst[-1] = firstEntry; // duplicate the first entry in the two start borders + dst[-2] = firstEntry; + dst[currentCount + 0] = lastEntry; // duplicate the last entry in the two end borders + dst[currentCount + 1] = lastEntry; + } + } + m_BuiltThisFrame = true; + return true; +} + +//---------------------------------------------------------------------------- + +bool SSamplerAudio::ReleaseAEResources() +{ + m_Waveform = null; + if (m_SoundData != null) + { + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(instance.GetAESuites()); + + result |= suites.SoundDataSuite1()->AEGP_UnlockSoundDataSamples(m_SoundData); + result |= suites.SoundDataSuite1()->AEGP_DisposeSoundData(m_SoundData); + + m_SoundData = null; + if (result != A_Err_NONE) + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +SSamplerVectorField::SSamplerVectorField() +{ +} + +//---------------------------------------------------------------------------- + +SSamplerVectorField::~SSamplerVectorField() +{ +} + +//---------------------------------------------------------------------------- + +bool SSamplerVectorField::UpdateVectorField(SVectorFieldSamplerDescriptor * aeTurbulenceDesc) +{ + CParticleSamplerDescriptor_VectorField_Grid *desc = static_cast(m_SamplerDescriptor.Get()); + + if (m_Dirty == false) + return true; + + m_Dirty = false; + + if (desc == null) + { + desc = PK_NEW(CParticleSamplerDescriptor_VectorField_Grid()); + m_SamplerDescriptor = desc; + } + + + if (aeTurbulenceDesc->m_ResourceUpdate) + { + if (aeTurbulenceDesc->m_Path.length() == 0) + return true; + + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(aeTurbulenceDesc->m_Path.data(), File::DefaultFileSystem()); + TResourcePtr rscVf = Resource::DefaultManager()->Load(filePackPath); + + CParticleSamplerDescriptor_VectorField_Grid::EDataType dataType = CParticleSamplerDescriptor_VectorField_Grid::DataType_Void; + switch (rscVf->m_DataType) + { + case VFDataType_Fp32: + dataType = CParticleSamplerDescriptor_VectorField_Grid::DataType_Fp32; + break; + case VFDataType_Fp16: + dataType = CParticleSamplerDescriptor_VectorField_Grid::DataType_Fp16; + break; + case VFDataType_U8SN: + dataType = CParticleSamplerDescriptor_VectorField_Grid::DataType_U8SN; + break; + default: + break; + } + CFloat4x4 transform = CFloat4x4::IDENTITY; + + transform.StrippedTranslations() = AAEToPK(aeTurbulenceDesc->m_Position); + + if (!(desc->Setup( rscVf->m_Dimensions, + rscVf->m_IntensityMultiplier, + rscVf->m_BoundsMin, + rscVf->m_BoundsMax, + rscVf->m_Data, + dataType, + aeTurbulenceDesc->m_Strength, //Strength + transform, //Xforms + 0, //Flags + AAEToPK(aeTurbulenceDesc->m_Interpolation)))) + return false; + } + else + { + CFloat4x4 transform = CFloat4x4::IDENTITY; + + transform.StrippedTranslations() = AAEToPK(aeTurbulenceDesc->m_Position); + + desc->SetTransforms(transform); + desc->SetStrength(aeTurbulenceDesc->m_Strength); + } + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + diff --git a/AE_GeneralPlugin/Sources/AEGP_FileDialog.cpp b/AE_GeneralPlugin/Sources/AEGP_FileDialog.cpp new file mode 100644 index 00000000..0b0e4856 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_FileDialog.cpp @@ -0,0 +1,107 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include + +#include "AEGP_FileDialog.h" + +#include "AEGP_World.h" + +#include +#include + +__AEGP_PK_BEGIN + +#if defined(PK_MACOSX) + +//---------------------------------------------------------------------------- + +SMacFileDialogFilterData::SMacFileDialogFilterData(const CString desc, const CString type) + : m_Desc(desc) + , m_Type(type) +{ +} + +//---------------------------------------------------------------------------- + +SMacFileOpenData::SMacFileOpenData() +{ +} + +//---------------------------------------------------------------------------- + +SMacFileOpenData::~SMacFileOpenData() +{ +} + +//---------------------------------------------------------------------------- + +bool SMacFileOpenData::AddFilter(const CString &desc, const CString &type) +{ + if (!PK_VERIFY(m_Filters.PushBack(SMacFileDialogFilterData(desc, type)).Valid())) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool MacBasicFileOpen(SMacFileOpenData &data) +{ + TArray filters; + + for (u32 i = 0; i < data.m_Filters.Count(); ++i) + filters.PushBack(CFilePath::ExtractExtension(data.m_Filters[i].m_Type)); + + CString stringResult = OpenFileDialogMac(filters); + + if (!stringResult.Empty()) + { + data.m_Cb(stringResult); + return true; + } + return false; +} + +//---------------------------------------------------------------------------- + +#endif + +SFileDialog::SFileDialog() +{ + +} + +//---------------------------------------------------------------------------- + +bool SFileDialog::AddFilter(const CString &desc, const CString &type) +{ + if (!PK_VERIFY(m_Data.AddFilter(desc, type))) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool SFileDialog::IsCancelled() +{ + return m_Cancel; +} + +//---------------------------------------------------------------------------- + +bool SFileDialog::BasicFileOpen() +{ + m_Cancel = false; +#if defined(PK_WINDOWS) + HRESULT hr = WinBasicFileOpen(m_Data); + if (HRESULT_CODE(hr) == ERROR_CANCELLED) + m_Cancel = true; + return SUCCEEDED(hr); +#elif defined(PK_MACOSX) + return MacBasicFileOpen(m_Data); +#endif +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_FileDialogMac.mm b/AE_GeneralPlugin/Sources/AEGP_FileDialogMac.mm new file mode 100644 index 00000000..f6c45179 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_FileDialogMac.mm @@ -0,0 +1,66 @@ +#include "ae_precompiled.h" +#include "AEGP_FileDialogMac.h" + +#if defined(PK_OS_MACOSX) +#import + +#import +#import + +#include +#endif + +#include +#include + +__AEGP_PK_BEGIN + +#if defined(PK_OS_MACOSX) + +CString OpenFileDialogMac(const TArray &filters, const CString &defaultPathAndFile) +{ + TArray fileList; + + // Create a File Open Dialog class. + NSOpenPanel* openDlg = [NSOpenPanel openPanel]; + [openDlg setLevel:CGShieldingWindowLevel()]; + + // Set array of file types + NSMutableArray * fileTypesArray = [NSMutableArray array]; + for (unsigned int i = 0; i < filters.Count(); i++) + { + NSString * filt =[NSString stringWithUTF8String:filters[i].Data()]; + [fileTypesArray addObject:filt]; + } + + // Enable options in the dialog. + [openDlg setCanChooseFiles:YES]; + [openDlg setAllowedFileTypes:fileTypesArray]; + [openDlg setAllowsMultipleSelection:TRUE]; + + if (!defaultPathAndFile.Empty()) + { + [openDlg setDirectoryURL:[NSURL URLWithString:[NSString stringWithUTF8String:defaultPathAndFile.Data() ] ] ]; + } + + // Display the dialog box. If the OK pressed, + // process the files. + if ( [openDlg runModal] == NSModalResponseOK ) + { + // Gets list of all files selected + NSArray *files = [openDlg URLs]; + // Loop through the files and process them. + for (unsigned int i = 0; i < [files count]; i++ ) + { + // Do something with the filename. + fileList.PushBack(CString([[[files objectAtIndex:i] path] UTF8String])); + } + } + if (fileList.Empty()) + return CString(); + return fileList[0]; +} +#endif + + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_FileWatcher.cpp b/AE_GeneralPlugin/Sources/AEGP_FileWatcher.cpp new file mode 100644 index 00000000..f41c98f4 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_FileWatcher.cpp @@ -0,0 +1,113 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "AEGP_FileWatcher.h" + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +bool CFileWatcher::CreateWatcherIFN() +{ + if (m_FileWatcher == null) + { + m_FileWatcher = CFileSystemWatcher::NewWatcher(); + if (!PK_VERIFY(m_FileWatcher != null)) + { + CLog::Log(PK_ERROR, "Could not create the file watcher"); + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::RemoveWatchIFN() +{ + if (m_FileWatcher != null) + m_FileWatcher->RemoveWatch(m_PathToWatch); +} + +//---------------------------------------------------------------------------- + +CFileWatcher::CFileWatcher() +{ +} + +//---------------------------------------------------------------------------- + +CFileWatcher::~CFileWatcher() +{ + RemoveWatchIFN(); + m_FileWatcher = null; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::PauseFileWatcher() +{ + RemoveWatchIFN(); +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::RestartFileWatcher() +{ + SetWatchPack(m_PathToWatch); +} + +//---------------------------------------------------------------------------- + +bool CFileWatcher::SetWatchPack(const CString &pathToWatch) +{ + CString purifiedPath = pathToWatch; + CFilePath::Purify(purifiedPath); + purifiedPath.AppendSlash(); + + RemoveWatchIFN(); + CreateWatcherIFN(); + + m_PathToWatch = pathToWatch; + m_FileWatcher->AddWatch(m_PathToWatch); + return true; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::SetNotifierAdd(void(*callback)(const CString &filePath)) +{ + CreateWatcherIFN(); + m_FileWatcher->m_NotifierAdd.Clear(); + m_FileWatcher->m_NotifierAdd += callback; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::SetNotifierRemove(void(*callback)(const CString &filePath)) +{ + CreateWatcherIFN(); + m_FileWatcher->m_NotifierRemove.Clear(); + m_FileWatcher->m_NotifierRemove += callback; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::SetNotifierModify(void(*callback)(const CString &filePath)) +{ + CreateWatcherIFN(); + m_FileWatcher->m_NotifierModify.Clear(); + m_FileWatcher->m_NotifierModify += callback; +} + +//---------------------------------------------------------------------------- + +void CFileWatcher::SetNotifierRename(void(*callback)(const CString &oldFilePath, const CString &newFilePath)) +{ + CreateWatcherIFN(); + m_FileWatcher->m_NotifierRename.Clear(); + m_FileWatcher->m_NotifierRename += callback; +} + +//---------------------------------------------------------------------------- +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_FrameCollector.cpp b/AE_GeneralPlugin/Sources/AEGP_FrameCollector.cpp new file mode 100644 index 00000000..b977c768 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_FrameCollector.cpp @@ -0,0 +1,45 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_FrameCollector.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CFrameCollector::CFrameCollector() +{ +} + +//---------------------------------------------------------------------------- + +CFrameCollector::~CFrameCollector() +{ +} + +//---------------------------------------------------------------------------- + +bool CFrameCollector::EarlyCull(const CAABB &bbox) const +{ + // Can happen if bounds are not active + if (!bbox.IsFinite() || + !bbox.Valid()) + return false; + + if (m_CullingFrustums.Empty()) + return false; + + const u32 viewCount = m_CullingFrustums.Count(); + for (u32 iView = 0; iView < viewCount; ++iView) + { + if (m_CullingFrustums[iView].Touches(bbox)) + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_LayerHolder.cpp b/AE_GeneralPlugin/Sources/AEGP_LayerHolder.cpp new file mode 100644 index 00000000..77cfd4ac --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_LayerHolder.cpp @@ -0,0 +1,155 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include +#include "AEGP_LayerHolder.h" + +#include "AEGP_Scene.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +HBO_CLASS_DEFINITION_BEGIN(CGraphicOverride) + .HBO_FIELD_DEFINITION(RendererID) + .HBO_FIELD_DEFINITION(PropertyID) + .HBO_FIELD_DEFINITION(Value) +HBO_CLASS_DEFINITION_END + +CGraphicOverride::CGraphicOverride() + : HBO_CONSTRUCT(CGraphicOverride) + +{ +} + +//---------------------------------------------------------------------------- + +CGraphicOverride::~CGraphicOverride() +{ +} + +//---------------------------------------------------------------------------- + +bool CGraphicOverride::operator==(const CGraphicOverride &other) +{ + if (other.m_RendererID == m_RendererID && + other.m_PropertyID == m_PropertyID) + return true; + return false; +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +HBO_CLASS_DEFINITION_BEGIN(CLayerProperty) + .HBO_FIELD_DEFINITION(CompName) + .HBO_FIELD_DEFINITION(ID) + .HBO_FIELD_DEFINITION(RendererProperties) +HBO_CLASS_DEFINITION_END + +CLayerProperty::CLayerProperty() + : HBO_CONSTRUCT(CLayerProperty) +{ +} + +//---------------------------------------------------------------------------- + +CLayerProperty::~CLayerProperty() +{ +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +SLayerHolder::SLayerHolder() +{ + +} + +//---------------------------------------------------------------------------- + +SLayerHolder::~SLayerHolder() +{ + + +} +//---------------------------------------------------------------------------- + +bool SLayerHolder::Clear(SPBasicSuite* suite) +{ + AEGP_SuiteHandler suites(suite); + + bool result = true; + if (m_Scene->Quit() == false) + result = false; + m_Scene = null; + + for (s32 i = m_SPendingAttributes.Count() - 1; i >= 0; --i) + { + if (m_SPendingAttributes[i].m_AttributeEffectRef != null) + suites.EffectSuite4()->AEGP_DisposeEffect(m_SPendingAttributes[i].m_AttributeEffectRef); + m_SPendingAttributes[i].m_AttributeEffectRef = null; + m_SPendingAttributes[i].m_Desc->m_IsDeleted = true; + m_SPendingAttributes[i].m_Desc = null; + } + m_SPendingAttributes.Clear(); + + for (auto &it : m_DeletedAttributes) + { + if (it.m_AttributeEffectRef != null) + suites.EffectSuite4()->AEGP_DisposeEffect(it.m_AttributeEffectRef); + it.m_AttributeEffectRef = null; + it.m_Desc->m_IsDeleted = true; + it.m_Desc = null; + } + m_DeletedAttributes.Clear(); + + for (auto &it : m_SpawnedAttributes) + { + if (it.m_AttributeEffectRef != null) + suites.EffectSuite4()->AEGP_DisposeEffect(it.m_AttributeEffectRef); + it.m_AttributeEffectRef = null; + it.m_Desc->m_IsDeleted = true; + it.m_Desc = null; + } + m_SpawnedAttributes.Clear(); + + for (auto &it : m_SpawnedAttributesSampler) + { + if (it.m_AttributeEffectRef != null) + suites.EffectSuite4()->AEGP_DisposeEffect(it.m_AttributeEffectRef); + it.m_AttributeEffectRef = null; + it.m_Desc->m_IsDeleted = true; + it.m_Desc = null; + } + m_SpawnedAttributes.Clear(); + + for (auto &it : m_SPendingEmitters) + { + if (it.m_EffectHandle) + it.m_EffectHandle = null; + it.m_Desc->m_IsDeleted = true; + it.m_Desc = null; + } + m_SPendingEmitters.Clear(); + + if (m_SpawnedEmitter.m_EffectHandle) + m_SpawnedEmitter.m_EffectHandle = null; + m_SpawnedEmitter.m_Desc->m_IsDeleted = true; + m_SpawnedEmitter.m_Desc = null; + + m_EffectLayer = null; + m_CameraLayer = null; + + PK_SAFE_DELETE(m_BackdropAudioWaveform); + PK_SAFE_DELETE(m_BackdropAudioSpectrum); + return result; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_Log.cpp b/AE_GeneralPlugin/Sources/AEGP_Log.cpp new file mode 100644 index 00000000..f09a78db --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_Log.cpp @@ -0,0 +1,108 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_Log.h" +#include "AEGP_World.h" + +//Suite +#include +#include + +//AE +#include +#include +#include + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +bool CAELog::s_PKState = false; +SAAEIOData *CAELog::s_IOData = null; + +//---------------------------------------------------------------------------- + +bool CAELog::LogErrorWindows(SAAEIOData *AAEData, const CString errorStr) +{ + PK_ASSERT(errorStr.Length() < 256); + + if (s_PKState) + CLog::Log(PK_ERROR, errorStr); + if (AAEData == null || AAEData->m_OutData == null) + return false; + AAEData->m_OutData->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + sprintf(AAEData->m_OutData->return_msg, "%s", errorStr.Data()); + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + SPBasicSuite *basicSuite = instance.GetAESuites(); + + if (basicSuite) + { + AEGP_SuiteHandler suites(basicSuite); + + suites.UtilitySuite6()->AEGP_WriteToDebugLog("PopcornFX Plugin", "Error", errorStr.Data()); + suites.AdvAppSuite2()->PF_InfoDrawText("PopcornFX Plugin [ERROR]", errorStr.Data()); + } + return false; +} + +//---------------------------------------------------------------------------- + +bool CAELog::SetIOData(SAAEIOData *AAEData) +{ + s_IOData = AAEData; + return true; +} + +//---------------------------------------------------------------------------- + +void CAELog::ClearIOData() +{ + s_IOData = null; +} + +//---------------------------------------------------------------------------- + +bool CAELog::TryLogErrorWindows(const CString errorStr) +{ + if (s_IOData == null) + return false; + LogErrorWindows(s_IOData, errorStr); + return false; +} + +//---------------------------------------------------------------------------- + +void CAELog::SetPKLogState(bool state) +{ + s_PKState = state; +} + +//---------------------------------------------------------------------------- + +bool CAELog::TryLogInfoWindows(const CString infoStr) +{ + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + if (s_PKState) + CLog::Log(PK_INFO, infoStr); + + SPBasicSuite *basicSuite = instance.GetAESuites(); + + if (basicSuite) + { + AEGP_SuiteHandler suites(basicSuite); + + suites.UtilitySuite6()->AEGP_ReportInfo(instance.GetPluginID(), infoStr.Data()); + + suites.UtilitySuite6()->AEGP_WriteToDebugLog("PopcornFX Plugin", "Info", infoStr.Data()); + + suites.AdvAppSuite2()->PF_InfoDrawText("PopcornFX Plugin [INFO]", infoStr.Data()); + } + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_Main.cpp b/AE_GeneralPlugin/Sources/AEGP_Main.cpp new file mode 100644 index 00000000..1dcb2410 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_Main.cpp @@ -0,0 +1,475 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_Main.h" +#include "AEGP_World.h" +#include "AEGP_FileDialog.h" +#include "AEGP_PopcornFXPlugins.h" +#include "AEGP_Scene.h" +#include "AEGP_AEPKConversion.h" +#include "AEGP_Log.h" +#include "AEGP_VaultHandler.h" +#include + +//AE +#include +#include + +#include + +#include + +using namespace PopcornFX; +//---------------------------------------------------------------------------- + +static SPAPI A_Err InitializePopcornFXIFN(AAePk::SAAEIOData& AAEData) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().InitializeIFN(AAEData) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err HandleNewEmitterEvent(AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().HandleNewEmitterEvent(AAEData, descriptor) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err HandleDeleteEmitterEvent(AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().HandleDeleteEmitterEvent(AAEData, descriptor) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI bool CheckEmitterValidity(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + bool ret = AEGPPk::CPopcornFXWorld::Instance().CheckEmitterValidity(AAEData, descriptor); + AEGPPk::CAELog::ClearIOData(); + return ret; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err UpdateScene(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().UpdateScene(AAEData, descriptor) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err UpdateEmitter(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().UpdateEmitter(AAEData, descriptor) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err DisplayMarketplacePanel(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + + AEGPPk::CPopcornFXWorld::Instance().LaunchEditorAsPopup(AAEData, descriptor); + + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err DisplayBrowseEffectPanel(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + + AEGPPk::SFileDialog cbData; + + cbData.AddFilter("PopcornFX effect file (*.pkfx)", "*.pkfx"); + + struct SFunctor + { + void Function(const PopcornFX::CString path) + { + AEGPPk::CPopcornFXWorld::Instance().SetSelectedEffectFromPath(m_Descriptor, path); + } + + AAePk::SEmitterDesc *m_Descriptor = null; + }; + + static SFunctor functor; + + functor.m_Descriptor = descriptor; + cbData.SetCallback(PopcornFX::FastDelegate(&functor, &SFunctor::Function)); + + if (!cbData.BasicFileOpen()) + { + AEGPPk::CAELog::ClearIOData(); + if (cbData.IsCancelled()) + return A_Err_NONE; + return A_Err_GENERIC; + } + AEGPPk::CAELog::ClearIOData(); + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err DisplayBrowseMeshDialog(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + + AEGPPk::SFileDialog cbData; + + cbData.AddFilter("Baked Mesh file (*.fbx)", "*.fbx"); + + struct SFunctor + { + void Function(const CString path) + { + if (m_Descriptor != null) + { + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + AEGPPk::SResourceBakeConfig bakeConfig; + + m_Descriptor->m_BackdropMesh.m_Path = world.GetVaultHandler().BakeResource(path, bakeConfig).Data(); + bakeConfig.m_IsSkeletalAnim = true; + world.GetVaultHandler().BakeResource(path, bakeConfig).Data(); + m_Descriptor->m_LoadBackdrop = true; + m_Descriptor->m_UpdateBackdrop = true; + } + } + + AAePk::SEmitterDesc* m_Descriptor = null; + }; + + static SFunctor functor; + + functor.m_Descriptor = descriptor; + cbData.SetCallback(PopcornFX::FastDelegate(&functor, &SFunctor::Function)); + + + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + AEGPPk::SLayerHolder *layer = world.GetLayerForSEmitterDesc(descriptor); + + if (layer) + { + AEGP_LayerH layerH = null; + AEGP_SuiteHandler suites(world.GetAESuites()); + PF_Err result = A_Err_NONE; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + if (!PK_VERIFY(result == A_Err_NONE)) + return A_Err_GENERIC; + if (layerH != null) + layer->m_EffectLayer = layerH; + if (!cbData.BasicFileOpen()) + { + AEGPPk::CAELog::ClearIOData(); + if (cbData.IsCancelled()) + return A_Err_NONE; + return A_Err_GENERIC; + } + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err DisplayBrowseEnvironmentMapDialog(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + AEGPPk::SFileDialog cbData; + cbData.AddFilter("Image file", "*.*"); + + struct SFunctor + { + void Function(const CString path) + { + if (m_Descriptor != null) + { + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + AEGPPk::SResourceBakeConfig bakeConfig; + + bakeConfig.m_StraightCopy = true; + m_Descriptor->m_BackdropEnvironmentMap.m_Path = world.GetVaultHandler().BakeResource(path, bakeConfig).Data(); + m_Descriptor->m_Update = true; + } + } + AAePk::SEmitterDesc* m_Descriptor = null; + }; + + static SFunctor functor; + + functor.m_Descriptor = descriptor; + cbData.SetCallback(PopcornFX::FastDelegate(&functor, &SFunctor::Function)); + + if (!cbData.BasicFileOpen()) + { + AEGPPk::CAELog::ClearIOData(); + if (cbData.IsCancelled()) + return A_Err_NONE; + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err ReimportEffect(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + if (descriptor == null || descriptor->m_PathSource.empty()) + return A_Err_NONE; + + AEGPPk::CAELog::SetIOData(&AAEData); + + PopcornFX::CString path = PopcornFX::CString(descriptor->m_PathSource.c_str()) / PopcornFX::CString(descriptor->m_Name.c_str()); + + path = CFilePath::StripExtension(path) + ".pkfx"; + + AEGPPk::CPopcornFXWorld::Instance().SetSelectedEffectFromPath(descriptor, path, true); + + AEGPPk::CPopcornFXWorld::Instance().InvalidateEmitterRender(AAEData, descriptor); + + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err Display_AttributeSampler_BrowseMeshDialog(AAePk::SAAEIOData &AAEData, AAePk::SAttributeSamplerDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + AEGPPk::SFileDialog cbData; + + if (descriptor->m_Type == AAePk::AttributeSamplerType_Geometry) + { + cbData.AddFilter("Mesh file (*.fbx)", "*.fbx"); + } + else if (descriptor->m_Type == AAePk::AttributeSamplerType_VectorField) + { + cbData.AddFilter("Baked Mesh file (*.fga)", "*.fga"); + } + else + return A_Err_NONE; + + struct SFunctor + { + AAePk::SAttributeSamplerDesc* m_Descriptor = null; + + void Function(const CString path) + { + if (m_Descriptor != null) + { + AEGPPk::SResourceBakeConfig bakeConfig; + + if (m_Descriptor->m_Type == AEGPPk::AttributeSamplerType_Animtrack) + { + bakeConfig.m_IsAnimTrack = true; + } + + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + m_Descriptor->m_ResourcePath = world.GetVaultHandler().BakeResource(path, bakeConfig).Data(); + + } + } + }; + + static SFunctor functor; + + functor.m_Descriptor = descriptor; + cbData.SetCallback(PopcornFX::FastDelegate(&functor, &SFunctor::Function)); + + if (!cbData.BasicFileOpen()) + { + AEGPPk::CAELog::ClearIOData(); + if (cbData.IsCancelled()) + return A_Err_NONE; + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err SetParametersIndexes(const int *indexes, AAePk::EPKChildPlugins plugin) +{ + AEGPPk::CPopcornFXWorld::Instance().SetParametersIndexes(indexes, plugin); + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err ShutdownPopcornFXIFN(AAePk::SAAEIOData &AAEData) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().ShutdownIFN() == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err SetDefaultLayerPosition(AAePk::SAAEIOData& AAEData, AEGP_LayerH layer) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().SetDefaultLayerPosition(AAEData, layer) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static SPAPI A_Err MoveEffectIntoCurrentView(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + AEGPPk::CAELog::SetIOData(&AAEData); + if (AEGPPk::CPopcornFXWorld::Instance().MoveEffectIntoCurrentView(AAEData, descriptor) == false) + { + AEGPPk::CAELog::ClearIOData(); + return A_Err_GENERIC; + } + AEGPPk::CPopcornFXWorld::Instance().InvalidateEmitterRender(AAEData, descriptor); + AAEData.m_OutData->out_flags |= PF_OutFlag_FORCE_RERENDER | PF_OutFlag_REFRESH_UI; + + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +static PopcornFXSuite1 g_PopcornFXSuite = +{ + InitializePopcornFXIFN, + HandleNewEmitterEvent, + HandleDeleteEmitterEvent, + CheckEmitterValidity, + UpdateScene, + UpdateEmitter, + DisplayMarketplacePanel, + DisplayBrowseEffectPanel, + DisplayBrowseMeshDialog, + DisplayBrowseEnvironmentMapDialog, + ReimportEffect, + Display_AttributeSampler_BrowseMeshDialog, + ShutdownPopcornFXIFN, + SetParametersIndexes, + SetDefaultLayerPosition, + MoveEffectIntoCurrentView, +}; + +//---------------------------------------------------------------------------- + +A_Err EntryPointFunc( struct SPBasicSuite *pica_basicP, /* >> */ + A_long major_versionL, /* >> */ + A_long minor_versionL, /* >> */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_GlobalRefcon *global_refconP) /* << */ +{ + (void)global_refconP; + (void)minor_versionL; + (void)major_versionL; + + A_Err err = A_Err_NONE; + SPSuiteRef my_ref = 0; + AEGP_SuiteHandler suites(pica_basicP); + SuiteHelper panelSuite(pica_basicP); + SPSuitesSuite *suitesOfSuite = nullptr; + AEGP_Command command; + const A_u_char *commandName = (const A_u_char*)"PopcornFX"; + AEGPPk::CPopcornFXWorld &PKWorld = AEGPPk::CPopcornFXWorld::Instance(); + + *global_refconP = (AEGP_GlobalRefcon)&PKWorld; + + if (!PKWorld.Setup(pica_basicP, aegp_plugin_id)) + return A_Err_GENERIC; + + AEGP_RegisterSuite5 *registerSuite = suites.RegisterSuite5(); + if (registerSuite != NULL) + { + err |= registerSuite->AEGP_RegisterDeathHook(aegp_plugin_id, AEGPPk::CPopcornFXWorld::DeathHook, 0); + err |= registerSuite->AEGP_RegisterIdleHook(aegp_plugin_id, AEGPPk::CPopcornFXWorld::IdleHook, 0); + } + else + return A_Err_MISSING_SUITE; + + AEGP_CommandSuite1 *commandSuite = suites.CommandSuite1(); + if (commandSuite != NULL) + { + err |= commandSuite->AEGP_GetUniqueCommand(&command); + if (command != 0) + { + PKWorld.SetCommandHandle(command, (const char*)commandName); + err |= commandSuite->AEGP_InsertMenuCommand(command, (const A_char*)commandName, AEGP_Menu_WINDOW, AEGP_MENU_INSERT_SORTED); + } + } + else + return A_Err_MISSING_SUITE; + + err |= registerSuite->AEGP_RegisterCommandHook( aegp_plugin_id, + AEGP_HP_BeforeAE, + command, + &AEGPPk::CPopcornFXWorld::CommandHook, + (AEGP_CommandRefcon)(&PKWorld)); + err |= registerSuite->AEGP_RegisterUpdateMenuHook( aegp_plugin_id, + &AEGPPk::CPopcornFXWorld::UpdateMenuHook, + null); + err |= panelSuite->AEGP_RegisterCreatePanelHook( aegp_plugin_id, + commandName, + &AEGPPk::CPopcornFXWorld::CreatePanelHook, + (AEGP_CreatePanelRefcon)&PKWorld, + true); + + err |= pica_basicP->AcquireSuite(kSPSuitesSuite, kSPSuitesSuiteVersion, (const void **)&suitesOfSuite); + if (err == A_Err_NONE && suitesOfSuite) + { + err |= suitesOfSuite->AddSuite( kSPRuntimeSuiteList, + 0, + kPopcornFXSuite1, + kPopcornFXSuiteVersion1, + 1, + &g_PopcornFXSuite, + &my_ref); + err |= pica_basicP->ReleaseSuite(kSPSuitesSuite, kSPSuitesSuiteVersion); + } + return err; +} + +//---------------------------------------------------------------------------- diff --git a/AE_GeneralPlugin/Sources/AEGP_PackExplorer.cpp b/AE_GeneralPlugin/Sources/AEGP_PackExplorer.cpp new file mode 100644 index 00000000..5e7a3b0c --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_PackExplorer.cpp @@ -0,0 +1,124 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_PackExplorer.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CPackExplorer::CPackExplorer(const CString &pack, IFileSystem *fileSystem) + : CFileDirectoryWalker(pack, IgnoreVirtualFS, fileSystem) + , m_Pack(pack) +{ +} + +//---------------------------------------------------------------------------- + +CPackExplorer::~CPackExplorer() +{ + m_Pack = null; +} + +//---------------------------------------------------------------------------- + +void CPackExplorer::Explore() +{ + if (!m_Pack.Empty()) + { + Walk(); + } +} + +//---------------------------------------------------------------------------- + +bool CPackExplorer::DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) +{ + (void)directoryFirstCharPos; + (void)pack; + + const CString filename = CFilePath::ExtractFilename(fullPath); + + // go full recursive unless a hidden directory somehow ended up in the pack + return filename[0] != '.'; +} + +//---------------------------------------------------------------------------- + +void CPackExplorer::FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) +{ + (void)fileFirstCharPos; + (void)pack; + + const char *extension = CFilePath::ExtractExtension(fullPath); + + // add the effect to the list + if (extension != null && !strcasecmp(extension, "pkfx")) + { + const CString effectPath = CFilePath::Relativize(m_Pack.Data(), fullPath); + + m_EffectPaths.PushBack(effectPath); + } +} + +//---------------------------------------------------------------------------- + +CBakedPackExplorer::CBakedPackExplorer(const CString &pack, IFileSystem *fileSystem) + : CFileDirectoryWalker(pack, IgnoreVirtualFS, fileSystem) + , m_Pack(pack) +{ +} + +//---------------------------------------------------------------------------- + +CBakedPackExplorer::~CBakedPackExplorer() +{ + m_Pack = null; +} + +//---------------------------------------------------------------------------- + +void CBakedPackExplorer::Explore() +{ + if (!m_Pack.Empty()) + { + Walk(); + } +} + +//---------------------------------------------------------------------------- + +bool CBakedPackExplorer::DirectoryNotifier(const CFilePack *pack, const char *fullPath, u32 directoryFirstCharPos) +{ + (void)directoryFirstCharPos; + (void)pack; + + const CString filename = CFilePath::ExtractFilename(fullPath); + + // go full recursive unless a hidden directory somehow ended up in the pack + return filename[0] != '.'; +} + +//---------------------------------------------------------------------------- + +void CBakedPackExplorer::FileNotifier(const CFilePack *pack, const char *fullPath, u32 fileFirstCharPos) +{ + (void)fileFirstCharPos; + (void)pack; + + const char *extension = CFilePath::ExtractExtension(fullPath); + + // add the effect to the list + if (extension != null && !strcasecmp(extension, "pkb")) + { + const CString effectPath = CFilePath::Relativize(m_Pack.Data(), fullPath); + + m_EffectPaths.PushBack(effectPath); + } +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_ParticleScene.cpp b/AE_GeneralPlugin/Sources/AEGP_ParticleScene.cpp new file mode 100644 index 00000000..ea69af9c --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_ParticleScene.cpp @@ -0,0 +1,134 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_ParticleScene.h" + +#include + +#include "AEGP_Scene.h" +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +void CAAEParticleScene::RayTracePacket( const Colliders::STraceFilter &traceFilter, + const Colliders::SRayPacket &packet, + const Colliders::STracePacket &results) +{ + (void)traceFilter; + PK_NAMEDSCOPEDPROFILE_C("CParticleSceneInterface: RayTracePacket", CFloat3(0.0f, 0.6f, 1.0f)); + // pre-conditions + PK_ASSERT(packet.m_RayOrigins_Aligned16.Count() == packet.m_RayDirectionsAndLengths_Aligned16.Count()); + PK_ASSERT(results.Count() == packet.m_RayOrigins_Aligned16.Count()); + + const s32 kMaskTrue = -1; + TStridedMemoryView enableMasks = packet.m_RayMasks_Aligned16; + if (enableMasks.Empty()) + enableMasks = TStridedMemoryView(&kMaskTrue, results.Count(), 0); + + if (!m_BackdropMeshes.Empty()) + { + // we've got a mesh to collide against. Store the previous ray lengths so we may + // detect which rays intersect the mesh: + PK_STACKALIGNEDMEMORYVIEW(float, prevHitTimes, results.Count(), 0x10); + Mem::Copy(prevHitTimes.Data(), results.m_HitTimes_Aligned16, results.Count() * sizeof(float)); + + const CFloat4x4 &meshXForms = m_BackdropMeshTransforms; + const CFloat4x4 meshXFormsInv = meshXForms.Inverse(); + + for (u32 i = 0; i < m_BackdropMeshes.Count(); ++i) + { + // trace the mesh: + m_BackdropMeshes[i]->TracePacket(CMeshNew::STraceFlags(), packet, results, &meshXForms, &meshXFormsInv); + + if (results.m_ContactObjects_Aligned16 != null) // the caller wants us to report contact objects + { + for (u32 j = 0; j < results.Count(); j++) + { + PK_ASSERT(results.m_HitTimes_Aligned16[j] <= prevHitTimes[j]); + + // if the hit time is different from the original hit-time, + // this ray has hit the mesh, set the contact object: + if (results.m_HitTimes_Aligned16[j] != prevHitTimes[j]) + results.m_ContactObjects_Aligned16[j] = CollidableObject::DEFAULT; + } + } + } + } +} + +//---------------------------------------------------------------------------- + +void CAAEParticleScene::ClearBackdropMesh() +{ + m_BackdropMeshes.Clear(); +} + +//---------------------------------------------------------------------------- + +void CAAEParticleScene::SetBackdropMeshTransform(const CFloat4x4 &transforms) +{ + m_BackdropMeshTransforms = transforms; +} + +//---------------------------------------------------------------------------- + +void CAAEParticleScene::SetBackdropMesh(const TResourcePtr &resourceMesh, const CFloat4x4 &transforms) +{ + m_BackdropMeshes.Clear(); + if (resourceMesh == null || resourceMesh->Empty()) + return; + for (const auto &staticBatch : resourceMesh->BatchList()) + { + m_BackdropMeshes.PushBack(staticBatch->RawMesh()); + } + m_BackdropMeshTransforms = transforms; +} + +//---------------------------------------------------------------------------- + +TMemoryView CAAEParticleScene::GetAudioSpectrum(CStringId channelGroup, u32 &outBaseCount) const +{ + PK_ASSERT(m_Parent != null); + SSamplerAudio *samplerAudio = m_Parent->GetAudioSamplerDescriptor(channelGroup, SSamplerAudio::SamplingType_Spectrum); + + if (samplerAudio == null) + return TMemoryView(); + + samplerAudio->m_SamplingType = SSamplerAudio::SamplingType_Spectrum; + + samplerAudio->BuildAudioPyramidIFN(); + + outBaseCount = samplerAudio->m_SampleCount; + if (samplerAudio->m_SampleCount == 0) + return TMemoryView(); + return TMemoryView(samplerAudio->m_WaveformPyramid.RawDataPointer(), samplerAudio->m_WaveformPyramid.Count()); +} + +//---------------------------------------------------------------------------- + +TMemoryView CAAEParticleScene::GetAudioWaveform(CStringId channelGroup, u32 &outBaseCount) const +{ + PK_ASSERT(m_Parent != null); + SSamplerAudio *samplerAudio = m_Parent->GetAudioSamplerDescriptor(channelGroup, SSamplerAudio::SamplingType_WaveForm); + + if (samplerAudio == null) + return TMemoryView(); + + samplerAudio->m_SamplingType = SSamplerAudio::SamplingType_WaveForm; + + samplerAudio->BuildAudioPyramidIFN(); + + outBaseCount = samplerAudio->m_SampleCount; + if (samplerAudio->m_SampleCount == 0) + return TMemoryView(); + return TMemoryView(samplerAudio->m_WaveformPyramid.RawDataPointer(), samplerAudio->m_WaveformPyramid.Count()); + +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_PopcornFXPlugins.cpp b/AE_GeneralPlugin/Sources/AEGP_PopcornFXPlugins.cpp new file mode 100644 index 00000000..c3efb2d3 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_PopcornFXPlugins.cpp @@ -0,0 +1,282 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_PopcornFXPlugins.h" + +#include +#include + +#define USE_COMPILER_BACKEND +#define USE_IMAGE_PLUGINS +#define USE_IMAGE_PLUGIN_TIFF +#define USE_IMAGE_PLUGIN_PKM +#define USE_IMAGE_PLUGIN_PVR +#define USE_FBXIMPORTER + +//------------------------------------------------------------------------------ +// +// toolkit to load/unload PKFX runtime plugins +// +//------------------------------------------------------------------------------ + +#ifdef PK_PLUGINS_STATIC +# if defined(USE_COMPILER_BACKEND) +PK_PLUGIN_DECLARE(CCompilerBackendCPU_VM); +# if defined(PK_PARTICLES_UPDATER_USE_D3D12) || defined(PK_PARTICLES_UPDATER_USE_D3D11) +PK_PLUGIN_DECLARE(CCompilerBackendGPU_D3D); +# endif +# endif + + +# if defined(USE_IMAGE_PLUGINS) +PK_PLUGIN_DECLARE(CImageDDSCodec); +PK_PLUGIN_DECLARE(CImagePNGCodec); +PK_PLUGIN_DECLARE(CImageTGACodec); +PK_PLUGIN_DECLARE(CImageJPEGCodec); +PK_PLUGIN_DECLARE(CImageHDRCodec); +# if defined(USE_IMAGE_PLUGIN_TIFF) +PK_PLUGIN_DECLARE(CImageTIFFCodec); +# endif +# if defined(USE_IMAGE_PLUGIN_PKM) +PK_PLUGIN_DECLARE(CImagePKMCodec); +# endif +# if defined(USE_IMAGE_PLUGIN_PVR) +PK_PLUGIN_DECLARE(CImagePVRCodec); +# endif +# endif + +# if defined(USE_FBXIMPORTER) +PK_PLUGIN_DECLARE(CMeshCodecFBX); +# endif + +# if defined(PK_DEBUG) +# define PK_PLUGIN_POSTFIX_BUILD "_D" +# else +# define PK_PLUGIN_POSTFIX_BUILD "" +# endif +# if defined(PK_WINDOWS) +# define PK_PLUGIN_POSTFIX_EXT ".dll" +# else +# define PK_PLUGIN_POSTFIX_EXT "" +# endif +#endif + +__AEGP_PK_BEGIN +//------------------------------------------------------------------------------ + +static u32 g_LoadedPlugins = 0; + +//----------------------------------------------------------------------------- +// +// Loads selected plugins +// +//----------------------------------------------------------------------------- + +bool PopcornRegisterPlugins(u32 selected /*= 0*/) +{ + PK_ASSERT(g_LoadedPlugins == 0); + + bool success = true; +#ifndef PK_PLUGINS_STATIC + // plugins are .dll + PopcornFX::CPluginManager::RegisterDirectory("Plugins", false); + +#else + // plugins are linked statically + if (selected & EPlugin_CompilerBackendVM) + { + const char *backendPath = "Plugins/CBCPU_VM" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *backend = StartupPlugin_CCompilerBackendCPU_VM(); + success &= (backend != null && PopcornFX::CPluginManager::PluginRegister(backend, true, backendPath)); + } +# if (PK_PARTICLES_UPDATER_USE_D3D12 != 0 || PK_PARTICLES_UPDATER_USE_D3D11 != 0) + if (selected & EPlugin_CompilerBackendD3D) + { + const char *backendPath = "Plugins/CBGPU_D3D" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *backend = StartupPlugin_CCompilerBackendGPU_D3D(); + success &= (backend != null && CPluginManager::PluginRegister(backend, true, backendPath)); + } +# endif +# ifdef USE_IMAGE_PLUGINS + if (selected & EPlugin_ImageCodecDDS) + { + const char *codecPathDDS = "Plugins/image_codec_dds" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecDDS = StartupPlugin_CImageDDSCodec(); + success &= (codecDDS != null && PopcornFX::CPluginManager::PluginRegister(codecDDS, true, codecPathDDS)); + } + + if (selected & EPlugin_ImageCodecPNG) + { + const char *codecPathPNG = "Plugins/image_codec_png" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecPNG = StartupPlugin_CImagePNGCodec(); + success &= (codecPNG != null && PopcornFX::CPluginManager::PluginRegister(codecPNG, true, codecPathPNG)); + } + + if (selected & EPlugin_ImageCodecJPG) + { + const char *codecPathJPG = "Plugins/image_codec_jpeg" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecJPG = StartupPlugin_CImageJPEGCodec(); + success &= (codecJPG != null && PopcornFX::CPluginManager::PluginRegister(codecJPG, true, codecPathJPG)); + } + + if (selected & EPlugin_ImageCodecTGA) + { + const char *codecPathTGA = "Plugins/image_codec_tga" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecTGA = StartupPlugin_CImageTGACodec(); + success &= (codecTGA != null && PopcornFX::CPluginManager::PluginRegister(codecTGA, true, codecPathTGA)); + } + + if (selected & EPlugin_ImageCodecHDR) + { + const char *codecPathHDR = "Plugins/image_codec_hdr" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecHDR = StartupPlugin_CImageHDRCodec(); + success &= (codecHDR != null && PopcornFX::CPluginManager::PluginRegister(codecHDR, true, codecPathHDR)); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_TIFF) + if (selected & EPlugin_ImageCodecTIFF) + { + const char *codecPathTIFF = "Plugins/image_codec_tiff" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecTIFF = StartupPlugin_CImageTIFFCodec(); + success &= (codecTIFF != null && PopcornFX::CPluginManager::PluginRegister(codecTIFF, true, codecPathTIFF)); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_PKM) + if (selected & EPlugin_ImageCodecPKM) + { + const char *codecPathPKM = "Plugins/image_codec_pkm" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecPKM = StartupPlugin_CImagePKMCodec(); + success &= (codecPKM != null && PopcornFX::CPluginManager::PluginRegister(codecPKM, true, codecPathPKM)); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_PVR) + if (selected & EPlugin_ImageCodecPVR) + { + const char *codecPathPVR = "Plugins/image_codec_pvr" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codecPVR = StartupPlugin_CImagePVRCodec(); + success &= (codecPVR != null && PopcornFX::CPluginManager::PluginRegister(codecPVR, true, codecPathPVR)); + } +# endif + +# if defined(USE_FBXIMPORTER) + if (selected & EPlugin_MeshCodecFBX) + { + const char *codecPath = "Plugins/MeshCodecFBX" PK_PLUGIN_POSTFIX_BUILD PK_PLUGIN_POSTFIX_EXT; + IPluginModule *codec = StartupPlugin_CMeshCodecFBX(); + success &= (codec != null && PopcornFX::CPluginManager::PluginRegister(codec, true, codecPath)); + } +# endif +#endif + + g_LoadedPlugins = selected; + return success; +} + +//----------------------------------------------------------------------------- +// +// Unloads all plugins +// +//----------------------------------------------------------------------------- + +void PopcornUnregisterPlugins() +{ + // unregister plugins: +#ifdef PK_PLUGINS_STATIC + if (g_LoadedPlugins & EPlugin_CompilerBackendVM) + { + IPluginModule *backend = GetPlugin_CCompilerBackendCPU_VM(); + (backend != null && PopcornFX::CPluginManager::PluginRelease(backend)); + ShutdownPlugin_CCompilerBackendCPU_VM(); + } + +# if (PK_PARTICLES_UPDATER_USE_D3D12 != 0 || PK_PARTICLES_UPDATER_USE_D3D11 != 0) + if (g_LoadedPlugins & EPlugin_CompilerBackendD3D) + { + IPluginModule *backend = GetPlugin_CCompilerBackendGPU_D3D(); + (backend != null && PopcornFX::CPluginManager::PluginRelease(backend)); + ShutdownPlugin_CCompilerBackendGPU_D3D(); + } +# endif +# ifdef USE_IMAGE_PLUGINS + if (g_LoadedPlugins & EPlugin_ImageCodecDDS) + { + IPluginModule *codecDDS = GetPlugin_CImageDDSCodec(); + (codecDDS != null && PopcornFX::CPluginManager::PluginRelease(codecDDS)); + ShutdownPlugin_CImageDDSCodec(); + } + + if (g_LoadedPlugins & EPlugin_ImageCodecPNG) + { + IPluginModule *codecPNG = GetPlugin_CImagePNGCodec(); + (codecPNG != null && PopcornFX::CPluginManager::PluginRelease(codecPNG)); + ShutdownPlugin_CImagePNGCodec(); + } + + if (g_LoadedPlugins & EPlugin_ImageCodecJPG) + { + IPluginModule *codecJPG = GetPlugin_CImageJPEGCodec(); + (codecJPG != null && PopcornFX::CPluginManager::PluginRelease(codecJPG)); + ShutdownPlugin_CImageJPEGCodec(); + } + + if (g_LoadedPlugins & EPlugin_ImageCodecTGA) + { + IPluginModule *codecTGA = GetPlugin_CImageTGACodec(); + (codecTGA != null && PopcornFX::CPluginManager::PluginRelease(codecTGA)); + ShutdownPlugin_CImageTGACodec(); + } + + if (g_LoadedPlugins & EPlugin_ImageCodecHDR) + { + IPluginModule *codecHDR = GetPlugin_CImageHDRCodec(); + (codecHDR != null && PopcornFX::CPluginManager::PluginRelease(codecHDR)); + ShutdownPlugin_CImageHDRCodec(); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_TIFF) + if (g_LoadedPlugins & EPlugin_ImageCodecTIFF) + { + IPluginModule *codecTIFF = GetPlugin_CImageTIFFCodec(); + (codecTIFF != null && PopcornFX::CPluginManager::PluginRelease(codecTIFF)); + ShutdownPlugin_CImageTIFFCodec(); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_PKM) + if (g_LoadedPlugins & EPlugin_ImageCodecPKM) + { + IPluginModule *codecPKM = GetPlugin_CImagePKMCodec(); + (codecPKM != null && PopcornFX::CPluginManager::PluginRelease(codecPKM)); + ShutdownPlugin_CImagePKMCodec(); + } +# endif + +# if defined(USE_IMAGE_PLUGIN_PVR) + if (g_LoadedPlugins & EPlugin_ImageCodecPVR) + { + IPluginModule *codecPVR = GetPlugin_CImagePVRCodec(); + (codecPVR != null && PopcornFX::CPluginManager::PluginRelease(codecPVR)); + ShutdownPlugin_CImagePVRCodec(); + } +# endif + +# if defined(USE_FBXIMPORTER) + if (g_LoadedPlugins & EPlugin_MeshCodecFBX) + { + IPluginModule *codec = GetPlugin_CMeshCodecFBX(); + (codec != null && PopcornFX::CPluginManager::PluginRelease(codec)); + ShutdownPlugin_CMeshCodecFBX(); + } +# endif +#endif + g_LoadedPlugins = 0; +} + +//------------------------------------------------------------------------------ +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_RenderContext.cpp b/AE_GeneralPlugin/Sources/AEGP_RenderContext.cpp new file mode 100644 index 00000000..e5558e55 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_RenderContext.cpp @@ -0,0 +1,703 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_RenderContext.h" +#include "AEGP_AEPKConversion.h" + +#include "PopcornFX_Suite.h" + +//AAE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//CreateInternalWindow +#if defined(PK_MACOSX) +# include +# include +# include +#else +# include +# include +#endif + +#include +#include +//RHI +#include +#include + +//D3D11 +#if (PK_BUILD_WITH_D3D11_SUPPORT != 0) +#include "RenderApi/AEGP_D3D11Context.h" +#endif +//D3D12 +#if (PK_BUILD_WITH_D3D12_SUPPORT != 0) +#include "RenderApi/AEGP_D3D12Context.h" +#endif +#if (PK_BUILD_WITH_METAL_SUPPORT != 0) +#include "RenderApi/AEGP_MetalContext.h" +#endif + +#include "RenderApi/AEGP_CopyPixels.h" + +//Samples +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CAAEBaseContext *CAAERenderContext::m_AEGraphicContext = null; +Threads::CCriticalSection CAAERenderContext::m_AEGraphicContextLock; + +//---------------------------------------------------------------------------- + +CAAERenderContext::CAAERenderContext() +: m_WindowHandle(null) +, m_DeviceContext(null) +, m_Width(0) +, m_Height(0) +, m_Initialized(false) +, m_RHIRendering(null) +, m_ShaderLoader(null) +{ +} + +//---------------------------------------------------------------------------- + +CAAERenderContext::~CAAERenderContext() +{ + PKSample::SPassDescription::s_PassDescriptions.Clean(); +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::InitializeIFN(RHI::EGraphicalApi api, const CString &className) +{ + if (m_Initialized == true) + { + return true; + } + m_API = api; + + if (!CreateInternalWindowIFN(className)) + return false; + + PK_SCOPEDLOCK(m_AEGraphicContextLock); + if (m_AEGraphicContext == null) + { + switch (m_API) + { + #if (PK_BUILD_WITH_METAL_SUPPORT != 0) + case (RHI::GApi_Metal): + m_AEGraphicContext = PK_NEW(CAAEMetalContext); + break; + #endif + #if (PK_BUILD_WITH_D3D11_SUPPORT != 0) + case (RHI::GApi_D3D11): + m_AEGraphicContext = PK_NEW(CAAED3D11Context); + break; + #endif + #if (PK_BUILD_WITH_D3D12_SUPPORT != 0) + case (RHI::GApi_D3D12): + m_AEGraphicContext = PK_NEW(CAAED3D12Context); + break; + #endif + default: + CLog::Log(PK_ERROR, "No compatible API context could be created"); + PK_ASSERT_NOT_REACHED(); + return false; + break; + } + if (!PK_VERIFY(m_AEGraphicContext != null)) + return false; + if (!PK_VERIFY(m_AEGraphicContext->CreatePlatformContext(m_WindowHandle, m_DeviceContext))) + { + CLog::Log(PK_ERROR, "CreatePlatformContext failed"); + return false; + } + if (!PK_VERIFY(m_AEGraphicContext->InitIFN())) + { + CLog::Log(PK_ERROR, "Graphic context initialization failed"); + return false; + } + } + m_Initialized = true; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::Destroy() +{ + PK_SAFE_DELETE(m_RHIRendering); + PK_SAFE_DELETE(m_AEGraphicContext); + m_Initialized = false; + return true; +} + +//---------------------------------------------------------------------------- +// GETTER +//---------------------------------------------------------------------------- + +PKSample::CRHIParticleSceneRenderHelper *CAAERenderContext::GetCurrentSceneRenderer() +{ + PK_ASSERT(m_RHIRendering != null); + return m_RHIRendering; +} + +//---------------------------------------------------------------------------- + +CUint2 CAAERenderContext::GetViewportSize() const +{ + return CUint2{ m_Width, m_Height }; +} + +//---------------------------------------------------------------------------- + +void CAAERenderContext::LogGraphicsErrors() +{ + m_AEGraphicContext->LogApiError(); +} + +//---------------------------------------------------------------------------- + +CAAEBaseContext *CAAERenderContext::GetAEGraphicContext() +{ + return m_AEGraphicContext; +} + +//---------------------------------------------------------------------------- +// Setter +//---------------------------------------------------------------------------- + +void CAAERenderContext::SetShaderLoader(PKSample::CShaderLoader *shaderLoader) +{ + m_ShaderLoader = shaderLoader; +} + +//---------------------------------------------------------------------------- + +PKSample::CShaderLoader *CAAERenderContext::GetShaderLoader() +{ + return m_ShaderLoader; +} + +//---------------------------------------------------------------------------- + +void CAAERenderContext::SetPostFXOptions(PKSample::SParticleSceneOptions &postFXOptions) +{ + m_SceneOptions = postFXOptions; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::SetAsCurrentContext() +{ + PK_ASSERT(m_DeviceContext != null); + + return m_AEGraphicContext->SetAsCurrent(m_DeviceContext); +} + +//---------------------------------------------------------------------------- + +//Used for IMGUI Context +bool CAAERenderContext::RenderFrameBegin(u32 width, u32 height) +{ + if (!PK_VERIFY(SetAsCurrentContext())) + return false; + if (m_Width != width || m_Height != height) + { + if (InitGraphicContext(m_Format, width, height) == false) + return false; + } + //Frame + return m_AEGraphicContext->BeginFrame(); +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::RenderFrameEnd() +{ + return m_AEGraphicContext->EndFrame(); +} + +//---------------------------------------------------------------------------- +// AEE Interface +//---------------------------------------------------------------------------- + +bool CAAERenderContext::InitGraphicContext(RHI::EPixelFormat rhiformat, u32 width, u32 height) +{ + PK_SCOPEDPROFILE(); + + // Force the format to 32bpc for precision issues: + rhiformat = RHI::EPixelFormat::FormatFloat32RGBA; + + bool updateRHISize = false; + if (m_Format != rhiformat || m_Width != width || m_Height != height) + updateRHISize = true; + m_Format = rhiformat; + m_Width = width; + m_Height = height; + + RHI::PApiManager apiManager = m_AEGraphicContext->GetApiManager(); + + if (!m_AEGraphicContext->CreateRenderTarget(m_Format, CUint3{ m_Width, m_Height, 1 })) + { + CLog::Log(PK_ERROR, "Graphic context CreateRenderTarget failed"); + return false; + } + + bool newRHIRendering = false; + if (m_RHIRendering == null) + { + m_RHIRendering = PK_NEW(PKSample::CRHIParticleSceneRenderHelper); + if (!PK_VERIFY(m_RHIRendering != null)) + return false; + if (!PK_VERIFY(m_ShaderLoader != null)) + { + CLog::Log(PK_ERROR, "Shader loader was not properly set on the render context"); + return false; + } + + if (!m_RHIRendering->Init( apiManager, m_ShaderLoader, Resource::DefaultManager(), + PKSample::CRHIParticleSceneRenderHelper::InitRP_All)) + { + CLog::Log(PK_ERROR, "RHIRendering Initialisation failed"); + return false; + } + newRHIRendering = true; + } + if (updateRHISize || newRHIRendering) + { + if (!m_RHIRendering->Resize(m_AEGraphicContext->GetCurrentSwapChain())) + { + CLog::Log(PK_ERROR, "Particle render scene Resize failed"); + return false; + } + if (!m_RHIRendering->SetupPostFX_Distortion(m_SceneOptions.m_Distortion, newRHIRendering)) + { + CLog::Log(PK_ERROR, "Particle render scene SetupPostFX_Distortion failed"); + return false; + } + if (!m_RHIRendering->SetupPostFX_ToneMapping(m_SceneOptions.m_ToneMapping, m_SceneOptions.m_Vignetting, true /*dithering*/, newRHIRendering, false)) + { + CLog::Log(PK_ERROR, "Particle render scene SetupPostFX_ToneMapping failed"); + return false; + } + if (!m_RHIRendering->SetupPostFX_Bloom(m_SceneOptions.m_Bloom, newRHIRendering, true)) + { + CLog::Log(PK_ERROR, "Particle render scene SetupPostFX_Bloom failed"); + return false; + } + if (!m_RHIRendering->SetupPostFX_FXAA(m_SceneOptions.m_FXAA, newRHIRendering, false)) + { + CLog::Log(PK_ERROR, "Particle render scene SetupPostFX_FXAA failed"); + return false; + } + if (!m_RHIRendering->SetupShadows()) + { + CLog::Log(PK_ERROR, "Particle render scene SetupShadows failed"); + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::AERenderFrameBegin(SAAEIOData &AAEData, bool getBackground /*=true*/) +{ + PK_SCOPEDPROFILE(); + PF_PixelFormat format = PF_PixelFormat_INVALID; + RHI::EPixelFormat rhiFormat = RHI::EPixelFormat::FormatUnknown; + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + PK_ASSERT(m_AEGraphicContext != null); + m_AEGraphicContext->SetAsCurrent(m_DeviceContext); + { + PK_NAMEDSCOPEDPROFILE("checkout_layer_pixels"); + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_layer_pixels(AAEData.m_InData->effect_ref, 0, &m_InputWorld); + if (!PK_VERIFY(m_InputWorld != null)) + { + CLog::Log(PK_ERROR, "Checkout AE input world failed"); + return false; + } + AAEData.m_ExtraData.m_SmartRenderData->cb->checkout_output(AAEData.m_InData->effect_ref, &m_OutputWorld); + if (!PK_VERIFY(m_OutputWorld != null)) + { + CLog::Log(PK_ERROR, "Checkout AE output world failed"); + ResetCheckedOutWorlds(AAEData); + return false; + } + } + + AAEData.m_WorldSuite->PF_GetPixelFormat(m_InputWorld, &format); + + rhiFormat = AAEToPK(format); + + u32 width = (u32)m_InputWorld->width; + u32 height = (u32)m_InputWorld->height; + + m_AAEFormat = format; + + if (m_Width != width || m_Height != height) + { + if (InitGraphicContext(rhiFormat, width, height) == false) + { + CLog::Log(PK_ERROR, "InitGraphicContext failed"); + ResetCheckedOutWorlds(AAEData); + return false; + } + } + + //Frame + if (!PK_VERIFY(m_AEGraphicContext->BeginFrame())) + { + CLog::Log(PK_ERROR, "Graphic context BeginFrame failed"); + ResetCheckedOutWorlds(AAEData); + return false; + } + + if (getBackground) + { + if (!GetCompositingBuffer(AAEData, suites, m_InputWorld, m_OutputWorld, format)) + { + CLog::Log(PK_ERROR, "GetCompositingBuffer failed"); + ResetCheckedOutWorlds(AAEData); + m_AEGraphicContext->EndFrame(); + return false; + } + } + else + m_RHIRendering->SetBackGroundTexture(null); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::AERenderFrameEnd(SAAEIOData &AAEData) +{ + PK_SCOPEDPROFILE(); + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + + m_AEGraphicContext->EndFrame(); + + if (m_InputWorld == null || m_OutputWorld == null) + { + ResetCheckedOutWorlds(AAEData); + return false; + } + RenderToSAAEWorld(AAEData, suites, m_InputWorld, m_OutputWorld, m_AAEFormat); + ResetCheckedOutWorlds(AAEData); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::RenderToSAAEWorld(SAAEIOData &AAEData, AEGP_SuiteHandler &suiteHandler, PF_EffectWorld *inputWorld, PF_EffectWorld *effectWorld, PF_PixelFormat format) +{ + PK_SCOPEDPROFILE(); + + u32 requiredBufferSize = GetPixelSizeFromPixelFormat(m_Format) * inputWorld->width * inputWorld->height; + if (m_DownloadBuffer == null || m_DownloadBufferSize < requiredBufferSize) + { + m_DownloadBufferSize = requiredBufferSize; + if (m_DownloadBuffer != null) + m_DownloadBuffer = null; + m_DownloadBuffer = CRefCountedMemoryBuffer::Alloc(requiredBufferSize); + PK_ASSERT(m_DownloadBuffer != null); + } + + if (!m_AEGraphicContext->FillRenderBuffer(m_DownloadBuffer, m_RHIRendering->GetFinalFrameBuffers(0), m_Format, m_Width, m_Height, m_Width)) + { + CLog::Log(PK_ERROR, "FillRenderBuffer failed"); + return false; + } + + + PF_Err res = PF_Err_NONE; + + switch (format) + { + case PF_PixelFormat_ARGB128: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelOut32"); + SCopyPixel refcon = { m_DownloadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + res = suiteHandler.IterateFloatSuite1()->iterate( AAEData.m_InData, + 0, + inputWorld->height, + inputWorld, + null, + reinterpret_cast(&refcon), + CopyPixelOut32, + effectWorld); + break; + } + case PF_PixelFormat_ARGB64: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelOut16"); + SCopyPixel refcon = { m_DownloadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + res = suiteHandler.Iterate16Suite1()->iterate( AAEData.m_InData, + 0, + inputWorld->height, + inputWorld, + null, + reinterpret_cast(&refcon), + CopyPixelOut16, + effectWorld); + break; + } + + case PF_PixelFormat_ARGB32: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelOut8"); + SCopyPixel refcon = { m_DownloadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + res = suiteHandler.Iterate8Suite1()->iterate( AAEData.m_InData, + 0, + inputWorld->height, + inputWorld, + null, + reinterpret_cast(&refcon), + CopyPixelOut8, + effectWorld); + break; + } + default: + PK_ASSERT(true); + break; + } + + if (res != PF_Err_NONE) + { + AAEData.m_ReturnCode = res; + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::GetCompositingBuffer(SAAEIOData &AAEData, AEGP_SuiteHandler &suiteHandler, PF_EffectWorld *inputWorld, PF_EffectWorld *effectWorld, PF_PixelFormat format) +{ + PK_SCOPEDPROFILE(); + PF_Err res = PF_Err_NONE; + RHI::EPixelFormat rhiFormat = RHI::FormatFloat32RGBA; + + PF_Rect rect = inputWorld->extent_hint; + PF_Point origin; + + origin.h = (A_short)(AAEData.m_InData->output_origin_x); + origin.v = (A_short)(AAEData.m_InData->output_origin_y); + + // We always copy the pixels in 32 bpc + u32 requiredBufferSize = sizeof(CFloat4) * inputWorld->width * inputWorld->height; + if (m_UploadBuffer == null || m_UploadBufferSize < requiredBufferSize) + { + m_UploadBufferSize = requiredBufferSize; + m_UploadBuffer = CRefCountedMemoryBuffer::Alloc(requiredBufferSize); + PK_ASSERT(m_UploadBuffer != null); + } + void *srcBuffer = m_UploadBuffer->Data(); + + switch (format) + { + case PF_PixelFormat_ARGB128: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn32_TryCatch"); + SCopyPixel refcon = { m_UploadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + try + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn32"); + res = suiteHandler.IterateFloatSuite1()->iterate_origin_non_clip_src(AAEData.m_InData, 0, inputWorld->height, inputWorld, &rect, &origin, + reinterpret_cast(&refcon), CopyPixelIn32, effectWorld); + } + catch (PF_Err& thrownErr) + { + res = thrownErr; + } + catch (...) + { + res = PF_Err_OUT_OF_MEMORY; + } + if (res == A_Err_NONE) + { + if (!m_AEGraphicContext->FillCompositingTexture(srcBuffer, rhiFormat, inputWorld->width, inputWorld->height, inputWorld->rowbytes / sizeof(PF_Pixel32))) + res = A_Err_GENERIC; + } + break; + } + case PF_PixelFormat_ARGB64: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn16_TryCatch"); + SCopyPixel refcon = { m_UploadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + try + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn16"); + res = suiteHandler.Iterate16Suite1()->iterate_origin_non_clip_src(AAEData.m_InData, 0, inputWorld->height, inputWorld, &rect, &origin, + reinterpret_cast(&refcon), CopyPixelIn16, effectWorld); + } + catch (PF_Err& thrownErr) + { + res = thrownErr; + } + catch (...) + { + res = PF_Err_OUT_OF_MEMORY; + } + if (res == A_Err_NONE) + { + if (!m_AEGraphicContext->FillCompositingTexture(srcBuffer, rhiFormat, inputWorld->width, inputWorld->height, inputWorld->rowbytes / sizeof(PF_Pixel32))) + res = A_Err_GENERIC; + } + break; + } + + case PF_PixelFormat_ARGB32: + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn8_TryCatch"); + SCopyPixel refcon = { m_UploadBuffer, inputWorld, m_Gamma, m_IsOverride, m_AlphaValue }; + + try + { + PK_NAMEDSCOPEDPROFILE("CopyPixelIn8"); + res = suiteHandler.Iterate8Suite1()->iterate_origin_non_clip_src(AAEData.m_InData, 0, inputWorld->height, inputWorld, &rect, &origin, + reinterpret_cast(&refcon), CopyPixelIn8, effectWorld); + } + catch (PF_Err& thrownErr) + { + res = thrownErr; + } + catch (...) + { + res = PF_Err_OUT_OF_MEMORY; + } + if (res == A_Err_NONE) + { + if (!m_AEGraphicContext->FillCompositingTexture(srcBuffer, rhiFormat, inputWorld->width, inputWorld->height, inputWorld->rowbytes / sizeof(PF_Pixel32))) + res = A_Err_GENERIC; + } + break; + } + default: + break; + } + if (res) + { + AAEData.m_ReturnCode = res; + if (res == PF_Interrupt_CANCEL) + return false; + CLog::Log(PK_WARN, "Unknown error"); + return false; + } + + if (res == A_Err_NONE) + m_RHIRendering->SetBackGroundTexture(m_AEGraphicContext->GetCompositingTexture()); + + if (res != PF_Err_NONE) + { + AAEData.m_ReturnCode = res; + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +CUint2 CAAERenderContext::GetContextSize() +{ + return CUint2(m_Width, m_Height); +} + +//---------------------------------------------------------------------------- + +void CAAERenderContext::ResetCheckedOutWorlds(SAAEIOData &AAEData) +{ + AAEData.m_ExtraData.m_SmartRenderData->cb->checkin_layer_pixels(AAEData.m_InData->effect_ref, 0); + m_InputWorld = null; + m_OutputWorld = null; +} + +//---------------------------------------------------------------------------- + +bool CAAERenderContext::CreateInternalWindowIFN(const CString& className) +{ + if (m_WindowHandle != null) + return true; +#if defined(PK_MACOSX) + (void)className; + NSRect frameRect = NSMakeRect(100, 100 , 256, 256); + NSView *view = [[NSView alloc] initWithFrame:frameRect]; + [view setHidden:NO]; + [view setNeedsDisplay:YES]; + + NSWindow *myWindow = [[NSWindow alloc] initWithContentRect:NSMakeRect(100,100,256,256) styleMask:NSTitledWindowMask backing:NSBackingStoreBuffered defer:NO]; + [myWindow setContentView:view]; + //[myWindow makeKeyAndOrderFront:self]; + + m_WindowHandle = (void*)myWindow; + m_DeviceContext = null; + return m_WindowHandle != null; +#else + MSG uMsg; + + ::memset(&uMsg, 0, sizeof(uMsg)); + + // tricky, windows needs a unique class name for each window instance + // to derive a unique name, a pointer to "this" is used + static std::atomic_int S_cnt; + std::stringstream ss; + + ss << " PK_Win_Class" << S_cnt.load(); + S_cnt++; + CString name = className + CString(ss.str().c_str()); + + WNDCLASSEX winClass; + ::memset(&winClass, 0, sizeof(winClass)); + winClass.lpszClassName = name.Data(); + winClass.cbSize = sizeof(WNDCLASSEX); + winClass.style = CS_HREDRAW | CS_VREDRAW; + winClass.lpfnWndProc = ::DefWindowProc; + winClass.hInstance = GetModuleHandle(null); + winClass.hCursor = ::LoadCursor(null, IDC_ARROW); + winClass.hbrBackground = (HBRUSH)::GetStockObject(BLACK_BRUSH); + + if (!(::RegisterClassEx(&winClass))) + { + return false; + } + + HWND hwnd = ::CreateWindowEx(WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, + name.Data(), + "PopcornFX context", + 0, 0, + 0, 8, 8, + null, + null, + null, + null); + + PK_ASSERT(hwnd != null); + m_WindowHandle = (void*)hwnd; + m_DeviceContext = (void*)::GetDC(hwnd); + return m_WindowHandle != null && m_DeviceContext != null; +#endif +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_Scene.cpp b/AE_GeneralPlugin/Sources/AEGP_Scene.cpp new file mode 100644 index 00000000..76c71799 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_Scene.cpp @@ -0,0 +1,2057 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_Scene.h" + +#include "AEGP_World.h" +#include "AEGP_AEPKConversion.h" + +#include "AEGP_RenderContext.h" +#include "RenderApi/AEGP_BaseContext.h" +#include "RenderApi/AEGP_D3D12Context.h" +#include "RenderApi/AEGP_D3D11Context.h" + +#include "AEGP_Attribute.h" +#include "AEGP_Log.h" +#include "AEGP_PackExplorer.h" + +#include "AEGP_Main.h" +#include "AEGP_Attribute.h" + +#include "AEGP_AssetBaker.h" +#include "AEGP_SkinnedMeshInstance.h" +#include "AEGP_SkinnedMesh.h" + +#include + + +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include // for Random::DefaultGenerator() +#include // for PRNG +#include // for CPlane in CParticleSceneBasic + +#include +#include + +#include + +#include +#include + +#include +#include + +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +struct SSimpleSceneDef +{ + CString m_EffectPath; + CString m_BackdropMeshPath; + + CUint3 m_SpawnGridResolution; // defined in side-up-forward coordinates + float m_SpawnGridRange; + + float m_RespawnDelay; + + bool m_Seeking = false; + bool m_Refresh = false; + struct + { + float m_Distance; + CFloat3 m_Angles; // { pitch, yaw, roll } + float m_Height; + } m_CameraStartParameters; +}; + +//---------------------------------------------------------------------------- + + +u32 CAAEScene::s_SceneID = 0; + +//---------------------------------------------------------------------------- + +CAAEScene::CAAEScene() +: m_EffectRef(null) +, m_EffectDesc(null) +, m_LayerHolder(null) +, m_EmitterDefaultPosition(CFloat3::ZERO) +, m_EmitterDefaultOrientation(CFloat3::ZERO) +, m_EmitterTransformType(ETransformType::ETransformType_3D) +, m_EmitterTransformsCurrent(CFloat4x4::IDENTITY) +, m_EmitterTransformsPrevious(CFloat4x4::IDENTITY) +, m_EmitterVelCurrent(CFloat3::ZERO) +, m_EmitterVelPrevious(CFloat3::ZERO) +, m_OriginViewport(CUint2::ZERO) +, m_Paused(false) +, m_AEEmitterPosition(CFloat3::ZERO) +, m_AEEmitterRotation(CFloat3::ZERO) +, m_AEEmitterSeed(0) +, m_AEViewMatrix(CFloat4x4::IDENTITY) +, m_AECameraPos(CFloat4::ZERO) +, m_AECameraZoom(1.0f) +, m_TeleportEmitter(false) +, m_FrameNumber(0) +, m_DT(0.0f) +, m_PreviousTimeSec(0.0f) +, m_CurrentTimeSec(0.0f) +, m_Initialized(false) +, m_FrameAbortedDuringSeeking(A_Err_NONE) +, m_Effect(null) +, m_EffectFile(null) +, m_EffectLastInstance(null) +, m_AttributesList(null) +, m_EmitterPositionNormalized_Debug(CFloat4::ZERO) +, m_LastInstanceXForms(CFloat4x4::IDENTITY) +, m_DCSortMethod(EDrawCallSortMethod::Sort_DrawCalls) +, m_SceneInfoConstantSet(null) +, m_SceneInfoConstantBuffer(null) +, m_LoadedPack(null) +, m_HBOContext(null) +, m_ParticleScene(null) +, m_ParticleMediumCollection(null) +, m_Stats_SimulationTime(0.0f) +, m_ViewSlotInMediumCollection(CGuid::INVALID) +, m_SkinnedMeshInstance(null) +, m_SkeletonState(null) +, m_ResourceManager(null) +, m_HasBoundBackdrop(false) +, m_IsWeightedSampling(false) +, m_ColorStreamID(0) +, m_WeightStreamID(0) +, m_ForceRestartSeeking(true) +{ + m_ID = s_SceneID++; +} + +//---------------------------------------------------------------------------- + +CAAEScene::~CAAEScene() +{ + Quit(); +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::Init(SAAEIOData &AAEData) +{ + if (AAEData.m_InData) + m_EffectRef = AAEData.m_InData->effect_ref; + else + m_EffectRef = null; + + m_ResourceManager = Resource::DefaultManager(); + if (!PK_VERIFY(m_ResourceManager != null)) + return CAELog::LogErrorWindows(&AAEData, "Could not allocate PopcornFX ResourceManager"); + if (m_HBOContext != null) + PK_SAFE_DELETE(m_HBOContext); + m_HBOContext = PK_NEW(HBO::CContext); + if (m_ParticleScene != null) + PK_SAFE_DELETE(m_ParticleScene); + m_ParticleScene = PK_NEW(CAAEParticleScene); + if (!PK_VERIFY(m_ParticleScene != null)) + return false; + m_ParticleScene->m_Parent = this; + //AAE INFO + SetWorldSize(AAEData); + // Medium collection + if (m_ParticleMediumCollection == null) + { + if (_SetupMediumCollection() == false) + return false; + } + + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetWorldSize(SAAEIOData &AAEData) +{ + if (AAEData.m_InData) + { + m_SAAEWorldData.m_WorldWidth = (float)AAEData.m_InData->width; + m_SAAEWorldData.m_WorldHeight = (float)AAEData.m_InData->height; + m_SAAEWorldData.m_WorldOrigin = CFloat3{ m_SAAEWorldData.m_WorldWidth / 2, m_SAAEWorldData.m_WorldHeight / 2, 0 }; + } +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetEmitterPosition(const CFloat3 &position, ETransformType type) +{ + m_EmitterTransformType = type; + m_AEEmitterPosition = position; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetEmitterRotation(const CFloat3 &rotation) +{ + m_AEEmitterRotation = rotation; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetEmitterTeleport(bool teleport) +{ + m_TeleportEmitter = teleport; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetLayerHolder(SLayerHolder *parent) +{ + m_LayerHolder = parent; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetCameraViewMatrix(const CFloat4x4 &viewMatrix, const CFloat4 &pos, const float cameraZoom) +{ + m_AECameraZoom = cameraZoom; + m_AECameraPos = pos; + m_AEViewMatrix = viewMatrix; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::RefreshAssetList() +{ + m_LoadedPack = null; + PK_ASSERT(m_LayerHolder != null); + + if (m_LayerHolder->m_BakedPack == null) + return false; + + m_LoadedPack = m_LayerHolder->m_BakedPack; + return true; +} + +//---------------------------------------------------------------------------- + +SSamplerAudio *CAAEScene::GetAudioSamplerDescriptor(CStringId name, SSamplerAudio::SamplingType type) +{ + if (!name.Valid() || name.Empty()) + return null; + + for (u32 i = 0; i < m_ActiveAudioSamplers.Count(); ++i) + { + if (name == m_ActiveAudioSamplers[i]->m_Name && type == m_ActiveAudioSamplers[i]->m_SamplingType) + { + return m_ActiveAudioSamplers[i]; + } + } + for (u32 i = 0; i < m_ActiveAudioSamplers.Count(); ++i) + { + if (name == m_ActiveAudioSamplers[i]->m_Name && m_ActiveAudioSamplers[i]->m_SamplingType == SSamplerAudio::SamplingType::SamplingType_Unknown) + { + return m_ActiveAudioSamplers[i]; + } + } + for (u32 i = 0; i < m_ActiveAudioSamplers.Count(); ++i) + { + if (!m_ActiveAudioSamplers[i]->m_Name.Valid() || m_ActiveAudioSamplers[i]->m_Name.Empty()) + { + m_ActiveAudioSamplers[i]->m_Name = name; + return m_ActiveAudioSamplers[i]; + } + } + return null; +} +//---------------------------------------------------------------------------- + +bool CAAEScene::GetEmitterBounds(CAABB &bounds) +{ + if (m_EffectLastInstance == null) + return false; + const CParticleMediumCollection::SEffectMediums *mediums = m_ParticleMediumCollection->MapEffectMediumLookup(m_Effect.Get()); + + for (auto medium : mediums->m_Mediums) + { + bounds.Add(medium->ExactBounds()); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::SetPack(PFilePack pack, bool unload) +{ + if (pack == null) + return false; + + ResetEffect(unload); + + m_LoadedPack = pack; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::SetSelectedEffect(CString name, bool refresh) +{ + if (name == null || name.Empty()) + return false; + CBakedPackExplorer packExplorer(m_LoadedPack->Path(), File::DefaultFileSystem()); + CString bakedName = CFilePath::StripExtension(name); + + bakedName += ".pkb"; + + packExplorer.Explore(); + TMemoryView effectPaths = packExplorer.EffectPaths(); + + if (effectPaths.IndexOf(bakedName).Valid()) + { + m_SelectedEffect = bakedName; + return SetupScene(false, refresh); + } + else + { + CAELog::TryLogInfoWindows("Trying to load " + bakedName + " Missing file in " + m_LoadedPack->Path() + " Reimport effect"); + } + return false; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetEffectDescriptor(SEmitterDesc *desc) +{ + m_EffectDesc = desc; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::SetupScene(bool seeking, bool refresh) +{ + m_PreviousTimeSec = 0.0f; + m_CurrentTimeSec = 0.0f; + m_DT = 0.0f; + + PK_ASSERT(m_ParticleMediumCollection != null); + m_ParticleMediumCollection->Clear(); + + SetEmitterTeleport(); + + SSimpleSceneDef def; + def.m_Seeking = seeking; + def.m_Refresh = refresh; + if (m_SelectedEffect == null) + { + if (!m_LayerHolder->m_SpawnedEmitter.m_Desc->m_PathSource.empty()) + CPopcornFXWorld::Instance().SetDestinationPackFromPath(*m_LayerHolder, CString(m_LayerHolder->m_SpawnedEmitter.m_Desc->m_PathSource.c_str())); + SetPack(m_LayerHolder->m_BakedPack, true); + SetEffectDescriptor(m_LayerHolder->m_SpawnedEmitter.m_Desc); + SetSelectedEffect(CString(m_LayerHolder->m_SpawnedEmitter.m_Desc->m_Name.c_str()), false); + } + def.m_EffectPath = m_SelectedEffect; + + if (!_LoadScene(def)) + return false; + CPopcornFXWorld::Instance().OnEndSetupScene(); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::Quit() +{ + m_EffectRef = null; + m_EffectDesc = null; + + m_LayerHolder = null; + if (m_EffectLastInstance != null) + { + // Not strictly necessary to -= the callback, the instance is getting destroyed anyway. + m_EffectLastInstance->m_DeathNotifier -= FastDelegate(this, &CAAEScene::_OnInstanceDeath); + //m_EffectLastInstance->KillImmediate(); + m_EffectLastInstance = null; + } + m_AttributesList = null; + + m_EffectPath = null; + if (m_Effect != null) + m_Effect = null; + if (m_EffectFile != null) + { + m_EffectFile->Unload(); + m_EffectFile = null; + } + + m_ActiveAudioSamplers.Clear(); + + m_ParticleRenderDataFactory.UpdateThread_Release(); + + if (m_SkinnedMeshInstance != null) + { + m_SkinnedMeshInstance->WaitAsyncUpdateSkin(); + m_SkinnedMeshInstance->ClearSkinnedMesh(); + } + m_SkinnedMeshInstance = null; + + m_DrawOutputs.Clear(); + m_SceneInfoConstantSet = null; + m_SceneInfoConstantBuffer = null; + + m_LoadedPack = null; + + PK_SAFE_DELETE(m_ParticleScene); + + if (m_Initialized) + { + m_FrameCollector.UpdateThread_UninstallFromMediumCollection(m_ParticleMediumCollection); + if (m_ParticleMediumCollection) + { + m_ParticleMediumCollection->Clear(); + PK_SAFE_DELETE(m_ParticleMediumCollection); + } + m_FrameCollector.DestroyBillboardingBatches(); + m_FrameCollector.UpdateThread_Destroy(); + } + + m_ResourceManager = null; + + for (u32 i = 0; i < m_OverridableProperties.Count(); ++i) + PK_SAFE_DELETE(m_OverridableProperties[i]); + m_OverridableProperties.Clean(); + + PK_SAFE_DELETE(m_HBOContext); + + m_Initialized = false; + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::ShutdownPopcornFX() +{ + +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::Update(SAAEIOData &AAEData) +{ + PK_SCOPEDPROFILE(); + + if (m_LayerHolder == null || m_EffectDesc == null) //Waiting for AE to process new effects + return true; + + SetWorldSize(AAEData); + if (!PK_VERIFY(_LateInitializeIFN())) + return false; + + m_EffectRef = AAEData.m_InData->effect_ref; + + if (!m_Paused) + { + if (m_EffectLastInstance == null) + { + if (!SetupScene(false, false)) + return false; + } + } + /// Update ------------------------------------------------------------------------------------------ + if (!m_Paused) + { + PK_NAMEDSCOPEDPROFILE("Scene Update"); + _ExtractAEFrameInfo(AAEData); + m_FrameCollector.ReleaseRenderedFrame(); + m_FrameAbortedDuringSeeking = A_Err_NONE; + _FastForwardSimulation(AAEData, m_CurrentTimeSec + m_DT); + if (m_FrameAbortedDuringSeeking != A_Err_NONE) + { + AAEData.m_ReturnCode = m_FrameAbortedDuringSeeking; + m_ParticleMediumCollection->Clear(); + return true; + } + if (_CheckRenderAbort(&AAEData)) + { + m_ParticleMediumCollection->Clear(); + return true; + } + _CollectCurrentFrame(); + } + + _FillAdditionnalDataForRender(); + +#if _DEBUG + auto v = m_ParticleMediumCollection->Stats(); +#endif + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::UpdateAttributes(SLayerHolder *layer) +{ + PK_SCOPEDPROFILE(); + if (m_EffectLastInstance == null || layer == null) + return true; + + for (auto it = layer->m_SpawnedAttributes.Begin(); it != layer->m_SpawnedAttributes.End(); ++it) + { + SAttributeDesc *descriptor = static_cast(it->m_Desc); + if (descriptor == null) // Corrupt attribute on AE Side + it->m_Deleted = true; + else if (descriptor->m_IsDirty) + { + //Update Attributes Values +#if defined(PK_SCALE_DOWN) + if (descriptor->m_IsAffectedByScale) + { + void *attributeValue = descriptor->GetRawValue(); + CInt4 *intData = null; + CFloat4 *floatData = null; + + switch (descriptor->m_Type) + { + case (AttributeType_Int1): + case (AttributeType_Int2): + case (AttributeType_Int3): + case (AttributeType_Int4): + intData = static_cast(attributeValue); + *((CFloat4*)intData) /= layer->m_ScaleFactor; + break; + case (AttributeType_Float1): + case (AttributeType_Float2): + case (AttributeType_Float3): + case (AttributeType_Float4): + floatData = static_cast(attributeValue); + *floatData /= layer->m_ScaleFactor; + break; + default: + break; + } + if (!PK_VERIFY(m_EffectLastInstance->SetRawAttribute(descriptor->m_Name.data(), AttributeAAEToPK(descriptor->m_Type), attributeValue))) + return false; + } + else + { + if (!PK_VERIFY(m_EffectLastInstance->SetRawAttribute(descriptor->m_Name.data(), AttributeAAEToPK(descriptor->m_Type), descriptor->GetRawValue()))) + return false; + } +#else + if (!PK_VERIFY(m_EffectLastInstance->SetRawAttribute(descriptor->m_Name.data(), AttributeAAEToPK(descriptor->m_Type), descriptor->GetRawValue()))) + return false; +#endif + descriptor->m_IsDirty = false; + } + } + for (auto it = layer->m_SpawnedAttributesSampler.Begin(); it != layer->m_SpawnedAttributesSampler.End(); ++it) + { + SAttributeSamplerDesc *descriptor = static_cast(it->m_Desc); + if (descriptor == null) // Corrupt attribute on AE Side + it->m_Deleted = true; + + switch (descriptor->m_Type) + { + case AttributeSamplerType_Geometry: + _UpdateShapeSampler(*it, descriptor); + break; + case AttributeSamplerType_Text: + _UpdateTextSampler(*it, descriptor); + break; + case AttributeSamplerType_Image: + _UpdateImageSampler(*it, descriptor); + break; + case AttributeSamplerType_Audio: + _UpdateAudioSampler(*it, descriptor); + break; + case AttributeSamplerType_VectorField: + _UpdateVectorFieldSampler(*it, descriptor); + break; + default: + break; + } + if ((*it).m_PKDesc != null) + (*it).m_PKDesc->m_Dirty = false; + } + if (layer->m_BackdropAudioWaveform != null) + { + layer->m_BackdropAudioWaveform->m_BuiltThisFrame = false; + if (!PK_VERIFY(m_ActiveAudioSamplers.PushBack(layer->m_BackdropAudioWaveform).Valid())) + return false; + layer->m_BackdropAudioWaveform->m_Dirty = false; + } + if (layer->m_BackdropAudioSpectrum != null) + { + layer->m_BackdropAudioSpectrum->m_BuiltThisFrame = false; + if (!PK_VERIFY(m_ActiveAudioSamplers.PushBack(layer->m_BackdropAudioSpectrum).Valid())) + return false; + layer->m_BackdropAudioSpectrum->m_Dirty = false; + } + return true; +} + +//---------------------------------------------------------------------------- + +static CString _GetAnimPathFromMesh(const CResourceManager *resourceManager, const CString &meshPath) +{ + PK_ASSERT(resourceManager != null); + if (meshPath.Empty()) + return null; + + CString remappedPath = meshPath; + bool remappedPathNotVirtual = false; + resourceManager->RemapAndPurifyPathIFN(remappedPath, remappedPathNotVirtual); + PK_ASSERT(!remappedPathNotVirtual); + return CFilePath::StripExtension(remappedPath) + ".pksa"; +} + +//---------------------------------------------------------------------------- + +static bool _PreloadMeshResource(CResourceManager *resourceManager, const CString &path, TResourcePtr &dstMeshResource, PSkeletonState &dstBindPose) +{ + dstMeshResource = resourceManager->Load(path, false, SResourceLoadCtl(false, true)); + if (dstMeshResource == null) + { + CLog::Log(PK_ERROR, "Failed loading mesh resource \"%s\"", path.Data()); + return false; + } + + for (const auto &batch : dstMeshResource->BatchList()) + { + batch->RawMesh()->BuildTangentsIFN(); + } + + PSkeleton skeleton = dstMeshResource->Skeleton(); + if (skeleton != null) + { + dstBindPose = PK_NEW(CSkeletonState(skeleton)); + if (dstBindPose == null) + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::UpdateBackdropTransform(SEmitterDesc *desc) +{ + const CQuaternion quat = Transforms::Quaternion::FromEuler(CFloat3((float)desc->m_BackdropMesh.m_Rotation.x, (float)desc->m_BackdropMesh.m_Rotation.y, (float)desc->m_BackdropMesh.m_Rotation.z)); + const CFloat3 pos((float)desc->m_BackdropMesh.m_Position.x, (float)desc->m_BackdropMesh.m_Position.y, (float)desc->m_BackdropMesh.m_Position.z); + const CFloat4 scale((float)desc->m_BackdropMesh.m_Scale.x, (float)desc->m_BackdropMesh.m_Scale.y, (float)desc->m_BackdropMesh.m_Scale.z, 1.0f); + + m_BackdropData.m_MeshBackdropTransforms = Transforms::Matrix::FromQuaternion(quat, CFloat4(pos, 1.0f)); + m_BackdropData.m_MeshBackdropTransforms.Scale(scale); + if (desc->m_BackdropMesh.m_EnableCollisions) + m_ParticleScene->SetBackdropMeshTransform(m_BackdropData.m_MeshBackdropTransforms); +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::UpdateBackdrop(SLayerHolder *layer,SEmitterDesc *desc) +{ + if (!desc->m_BackdropMesh.m_Path.empty()) + { + const CQuaternion quat = Transforms::Quaternion::FromEuler(CFloat3((float)desc->m_BackdropMesh.m_Rotation.x, (float)desc->m_BackdropMesh.m_Rotation.y, (float)desc->m_BackdropMesh.m_Rotation.z)); + const CFloat3 pos((float)desc->m_BackdropMesh.m_Position.x, (float)desc->m_BackdropMesh.m_Position.y, (float)desc->m_BackdropMesh.m_Position.z); + const CFloat4 scale((float)desc->m_BackdropMesh.m_Scale.x, (float)desc->m_BackdropMesh.m_Scale.y, (float)desc->m_BackdropMesh.m_Scale.z, 1.0f); + + m_BackdropData.m_MeshBackdropTransforms = Transforms::Matrix::FromQuaternion(quat, CFloat4(pos, 1.0f)); + m_BackdropData.m_MeshBackdropTransforms.Scale(scale); + if (m_BackdropData.m_MeshBackdropTransforms == CFloat4x4::IDENTITY && desc->m_LoadBackdrop) + { + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + m_BackdropData.m_MeshBackdropTransforms = m_EmitterTransformsCurrent; + pkfxWorld.SetBackdropMeshDefaultTransform(layer); + } + + m_BackdropData.m_MeshMetalness = desc->m_BackdropMesh.m_Metalness; + m_BackdropData.m_MeshRoughness = desc->m_BackdropMesh.m_Roughness; + + m_BackdropData.m_ShowMesh = desc->m_BackdropMesh.m_EnableRendering; + } + if (!desc->m_BackdropEnvironmentMap.m_Path.empty()) + { + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(desc->m_BackdropEnvironmentMap.m_Path.data(), File::DefaultFileSystem()); + + m_BackdropData.m_EnvironmentMapPath = filePackPath.Path(); + m_BackdropData.m_EnvironmentMapColor = CFloat3((float)desc->m_BackdropEnvironmentMap.m_Color.x, (float)desc->m_BackdropEnvironmentMap.m_Color.y, (float)desc->m_BackdropEnvironmentMap.m_Color.z); + m_BackdropData.m_EnvironmentMapIntensity = desc->m_BackdropEnvironmentMap.m_Intensity; + m_BackdropData.m_BackgroundUsesEnvironmentMap = desc->m_BackdropEnvironmentMap.m_EnableRendering; + m_BackdropData.m_EnvironmentMapAffectsAmbient = true; + } + else + { + m_BackdropData.m_EnvironmentMapPath = null; + } + + if (!desc->m_UpdateBackdrop && !desc->m_LoadBackdrop) + return true; + + desc->m_LoadBackdrop = false; + desc->m_UpdateBackdrop = false; + if (!desc->m_BackdropMesh.m_Path.empty()) + { + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(desc->m_BackdropMesh.m_Path.data(), File::DefaultFileSystem()); + + m_BackdropData.m_MeshPath = filePackPath.Path(); + + _PreloadMeshResource(m_ResourceManager, m_BackdropData.m_MeshPath, m_ResourceMesh, m_SkeletonState); + + if (desc->m_BackdropMesh.m_EnableCollisions) + m_ParticleScene->SetBackdropMesh(m_ResourceMesh, m_BackdropData.m_MeshBackdropTransforms); + else + m_ParticleScene->ClearBackdropMesh(); + if (desc->m_BackdropMesh.m_EnableAnimations) + { + const CString animPath = (!m_BackdropData.m_MeshPath.Empty()) ? _GetAnimPathFromMesh(m_ResourceManager, m_BackdropData.m_MeshPath) : CString::EmptyString; + m_SkinnedMeshInstance = PK_NEW(CSkinnedMeshInstance); + if (!m_SkinnedMeshInstance->LoadSkinnedMeshIFN(m_ResourceMesh, EMeshChannels::Channel_Tangent | EMeshChannels::Channel_Velocity | EMeshChannels::Channel_Normal | EMeshChannels::Channel_Position, m_SkeletonState) || + !m_SkinnedMeshInstance->LoadAnimationIFN(m_HBOContext, animPath, false)) + m_SkinnedMeshInstance = null; + } + } + else + { + m_SkinnedMeshInstance = null; + m_SkeletonState = null; + m_BackdropData.m_MeshPath = ""; + m_ParticleScene->ClearBackdropMesh(); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::Render(SAAEIOData &AAEData) +{ + if (_CheckRenderAbort(&AAEData)) + return true; + + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + + // our render specific context (one per thread) + PAAERenderContext currentRenderContext = pkfxWorld.GetCurrentRenderContext(); + if (!PK_VERIFY(currentRenderContext != null)) + return false; + + RHI::PApiManager apiManager = currentRenderContext->GetAEGraphicContext()->GetApiManager(); + + if (_CheckRenderAbort(&AAEData)) + return true; + + if (!(currentRenderContext->AERenderFrameBegin(AAEData, !m_BackdropData.m_BackgroundUsesEnvironmentMap))) + return true; + + if (_CheckRenderAbort(&AAEData)) + { + PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData)); + return true; + } + + _RenderLastCollectedFrame(); + + // Update scene info + { + PKSample::Utils::SetupSceneInfoData(m_SceneInfoData, m_Camera, CCoordinateFrame::GlobalFrame()); + if (!PK_VERIFY(currentRenderContext->GetCurrentSceneRenderer()->SetSceneInfo(m_SceneInfoData, CCoordinateFrame::GlobalFrame()))) + { + PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData)); + return false; + } + } + + //// Flush all graphical resources + PKSample::CRendererCacheInstance_UpdateThread::RenderThread_FlushAllResources(); + + PKSample::SParticleSceneOptions sceneOptions; + + AAEToPK(m_EffectDesc->m_Rendering, sceneOptions); + currentRenderContext->SetPostFXOptions(sceneOptions); + + currentRenderContext->SetBackgroundOptions(m_EffectDesc->m_IsAlphaBGOverride, m_EffectDesc->m_AlphaBGOverride); + + // Render ------------------------------------------------------------------------------------------ + { + PKSample::CRHIParticleSceneRenderHelper *renderHelper = currentRenderContext->GetCurrentSceneRenderer(); + CUint2 vpSize = currentRenderContext->GetViewportSize(); + // + PK_ASSERT(renderHelper != null); + PK_ASSERT(vpSize.x() != 0 || vpSize.y() != 0); + + RHI::PCommandBuffer preRenderCmdBuff = apiManager->CreateCommandBuffer(RHI::SRHIResourceInfos("PK-RHI Pre Render command buffer")); + RHI::PCommandBuffer postRenderCmdBuff = apiManager->CreateCommandBuffer(RHI::SRHIResourceInfos("PK-RHI Post Render command buffer")); + + renderHelper->SetupPostFX_Bloom(sceneOptions.m_Bloom, false, false); + renderHelper->SetupPostFX_Distortion(sceneOptions.m_Distortion, false); + renderHelper->SetupPostFX_ToneMapping(sceneOptions.m_ToneMapping, sceneOptions.m_Vignetting, sceneOptions.m_Dithering, false, false); + renderHelper->SetupPostFX_FXAA(sceneOptions.m_FXAA, false, false); + renderHelper->SetupShadows(); + renderHelper->SetCurrentPackResourceManager(m_ResourceManager); + renderHelper->SetBackdropInfo(m_BackdropData, ECoordinateFrame::Frame_User1); + + // Fill the command buffer + preRenderCmdBuff->Start(); + + if (!m_BackdropData.m_EnvironmentMapPath.Empty()) + { + renderHelper->GetEnvironmentMap().GenerateCubemap(preRenderCmdBuff); + + PKSample::SBackdropsData &data = renderHelper->GetBackDropsData(); + data.m_BackgroundUsesEnvironmentMap = m_BackdropData.m_BackgroundUsesEnvironmentMap; + data.m_EnvironmentMapAffectsAmbient = true; + } + + // Copy the particle count for the indirect draws: + PK_FOREACH(copy, m_DrawOutputs.m_CopyCommands) + { + if (!PK_VERIFY(preRenderCmdBuff->CopyBuffer(copy->m_SrcBuffer, copy->m_DstBuffer, copy->m_SrcOffset, copy->m_DstOffset, copy->m_SizeToCopy))) + { + CLog::Log(PK_ERROR, "preRenderCmdBuff->CopyBuffer() failed."); + PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData)); + return false; + } + } + preRenderCmdBuff->SetViewport({ 0, 0 }, vpSize, { 0, 1 }); + preRenderCmdBuff->SetScissor({ 0, 0 }, vpSize); + + preRenderCmdBuff->Stop(); + apiManager->SubmitCommandBufferDirect(preRenderCmdBuff); + postRenderCmdBuff->Start(); + if (!PK_VERIFY(renderHelper->RenderScene(AAEToPK(m_EffectDesc->m_Rendering.m_Type), m_DrawOutputs, 0))) + { + CLog::Log(PK_ERROR, "renderHelper->RenderScene() failed."); + PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData)); + return false; + } + + if (!PK_VERIFY(postRenderCmdBuff->Stop())) + { + CLog::Log(PK_ERROR, "postRenderCmdBuff->Stop() failed."); + PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData)); + return false; + } + apiManager->SubmitCommandBufferDirect(postRenderCmdBuff); + if (!PK_VERIFY(currentRenderContext->AERenderFrameEnd(AAEData))) + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::ResetEffect(bool unload) +{ + bool hasUnloaded = false; + + m_EffectLastInstance = null; + if (m_ParticleMediumCollection != null) + m_ParticleMediumCollection->Clear(); + m_Effect = null; + if (unload && m_EffectFile != null) + { + m_EffectFile->Unload(); + hasUnloaded = true; + m_EffectFile = null; + } + return hasUnloaded; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::SetSkinnedBackdropParams(bool enabled, bool weightedSampling, u32 colorStreamID, u32 weightStreamID) +{ + bool update = false; + if (m_HasBoundBackdrop != enabled || m_IsWeightedSampling != weightedSampling || m_ColorStreamID != colorStreamID || m_WeightStreamID != weightStreamID) + update = true; + m_HasBoundBackdrop = enabled; + m_IsWeightedSampling = weightedSampling; + m_ColorStreamID = colorStreamID; + m_WeightStreamID = weightStreamID; + + if (update && m_SkinnedMeshInstance != null && m_ResourceMesh != null && m_ResourceMesh->BatchList().Count() > 0) + { + m_SkinnedMeshInstance->WaitAsyncUpdateSkin(); + + m_SkinnedMeshInstance->SetupAttributeSampler(m_ResourceMesh->BatchList()[0]->RawMesh(), + m_IsWeightedSampling, + m_ColorStreamID, + m_WeightStreamID); + } + +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::UpdateLight(SLayerHolder *layer) +{ + PK_ASSERT(layer != null); + PK_ASSERT(layer->m_SpawnedEmitter.m_Desc != null); + + SLightDesc &light = layer->m_SpawnedEmitter.m_Desc->m_Light; + + if (light.m_Internal) + { + if (m_BackdropData.m_Lights.Count() == 0) + { + m_BackdropData.m_Lights.Resize(2); + } + m_BackdropData.m_Lights[0].SetAmbient(AAEToPK(light.m_Ambient), light.m_Intensity); + m_BackdropData.m_Lights[1].SetDirectional(AAEToPK(light.m_Direction), AAEToPK(light.m_Color), light.m_Intensity); + } + if (!light.m_Internal) + { + TArray lights; + A_Time time; + + time.value = layer->m_CurrentTime; + time.scale = layer->m_TimeScale; + if (!CAEUpdater::GetLightsAtTime(layer, time, lights)) + return false; + + if (lights.Count() != m_BackdropData.m_Lights.Count()) + m_BackdropData.m_Lights.Resize(lights.Count()); + for (u32 i = 0; i < lights.Count(); ++i) + { + if (lights[i].m_Type == AEGP_LightType_PARALLEL) + { + m_BackdropData.m_Lights[i].SetDirectional(AAEToPK(lights[i].m_Direction), AAEToPK(lights[i].m_Color), lights[i].m_Intensity); + } + else if (lights[i].m_Type == AEGP_LightType_AMBIENT) + { + m_BackdropData.m_Lights[i].SetAmbient(AAEToPK(lights[i].m_Color), lights[i].m_Intensity); + } + else if (lights[i].m_Type == AEGP_LightType_SPOT) + { + m_BackdropData.m_Lights[i].SetSpot(AAEToPK(lights[i].m_Position), AAEToPK(lights[i].m_Direction), lights[i].m_Angle, lights[i].m_Feather, AAEToPK(lights[i].m_Color), lights[i].m_Intensity); + } + else if (lights[i].m_Type == AEGP_LightType_POINT) + { + m_BackdropData.m_Lights[i].SetPoint(AAEToPK(lights[i].m_Position), AAEToPK(lights[i].m_Color), lights[i].m_Intensity); + } + } + } + + return false; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_LateInitializeIFN() +{ + if (m_Initialized == true) + return true; + // Medium collection + if (m_ParticleMediumCollection == null) + { + if (_SetupMediumCollection() == false) + return false; + } + // Render data factory + { + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + + PK_SCOPEDLOCK(pkfxWorld.GetRenderLock()); + RHI::PApiManager apiManager = pkfxWorld.GetCurrentRenderContext()->GetAEGraphicContext()->GetApiManager(); + const RHI::SGPUCaps &caps = apiManager->GetApiContext()->m_GPUCaps; // We get the GPU caps to know what is supported by the GPU and fallback IFN + m_ParticleRenderDataFactory.UpdateThread_Initialize(apiManager->ApiName(), m_HBOContext, caps, Drawers::BillboardingLocation_CPU); + } + // Frame collector + { + const u32 enabledRenderers = (1U << ERendererClass::Renderer_Billboard) | (1U << ERendererClass::Renderer_Ribbon) | (1U << ERendererClass::Renderer_Mesh) | (1U << ERendererClass::Renderer_Light) | (1U << ERendererClass::Renderer_Triangle); + + // Initialize the frame collector with the factory and required renderers (see CPopcornScene::CollectCurrentFrame() for more detail) + CFrameCollector::SFrameCollectorInit init(&m_ParticleRenderDataFactory, enabledRenderers); + if (!m_FrameCollector.UpdateThread_Initialize(init)) + { + return CAELog::TryLogErrorWindows("Failed to initialize the frame collector."); + } + // Hook this frame collector to the medium collection. It will "listen" to each medium insertion (see rh_frame_collector.inl) + m_FrameCollector.UpdateThread_InstallToMediumCollection(m_ParticleMediumCollection); + + m_FrameCollector.SetDrawCallsSortMethod(m_DCSortMethod); + } + m_Initialized = true; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_SetupMediumCollection() +{ + PK_ASSERT(m_ParticleMediumCollection == null); + + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + + PK_SCOPEDLOCK(pkfxWorld.GetRenderLock()); + + PAAERenderContext renderContext = pkfxWorld.GetCurrentRenderContext(); + + CParticleUpdateManager_Auto *updateManager = null; + +#if PK_PARTICLES_UPDATER_USE_D3D12 != 0 + if (pkfxWorld.GetRenderApi() == RHI::GApi_D3D12) + updateManager = PopcornFX::CParticleUpdateManager_Auto::New(EGPUContext::ContextD3D12); +#endif + +#if PK_PARTICLES_UPDATER_USE_D3D11 != 0 + if (pkfxWorld.GetRenderApi() == RHI::GApi_D3D11) + updateManager = PopcornFX::CParticleUpdateManager_Auto::New(EGPUContext::ContextD3D11); +#endif + + m_ParticleMediumCollection = PK_NEW(CParticleMediumCollection(m_ParticleScene, updateManager)); + if (!PK_VERIFY(m_ParticleMediumCollection != null)) + return false; + + m_ViewSlotInMediumCollection = m_ParticleMediumCollection->RegisterView(); + if (!PK_VERIFY(m_ViewSlotInMediumCollection.Valid())) + return false; + + m_ParticleMediumCollection->m_OnUpdateComplete += FastDelegate(this, &CAAEScene::_OnUpdateComplete); + + m_ParticleMediumCollection->EnableBounds(true); + m_ParticleMediumCollection->EnableLocalizedPages(true, false); + +#if 0 +#if PK_PARTICLES_UPDATER_USE_D3D12 != 0 + if (pkfxWorld.GetRenderApi() == RHI::GApi_D3D12) + { + CAAED3D12Context *D3D12Context = static_cast(renderContext->GetAEGraphicContext()); + + if (D3D12Context != null) + { + m_OriginViewport = renderContext->GetContextSize(); + // Small struct describing the D3D12 device used to build command lists, the root signature and the callback for submitting tasks to the engine + // g_D3D12SerializeRootSignature is PFN_D3D12_SERIALIZE_ROOT_SIGNATURE + PopcornFX::SD3D12Context context(D3D12Context->m_D3D12Context->m_Device, D3D12Context->m_D3D12Context->m_SerializeRootSignatureFunc, PopcornFX::CParticleUpdateManager_D3D12::CbEnqueueTask(this, &CAAEScene::D3D12_EnqueueTask), D3D12_COMMAND_LIST_TYPE_DIRECT); + + if (updateManager->GetUpdateManager_GPU()->BindContext(context)) + { + // Enables GPU simulation but does not force it + + m_ParticleMediumCollection->SetSimDispatchMaskCallback(CParticleMediumCollection::CbSimDispatchMask(&SimDispatchMask)); + } + } + } +#endif + +#if PK_PARTICLES_UPDATER_USE_D3D11 != 0 + if (pkfxWorld.GetRenderApi() == RHI::GApi_D3D11) + { + CAAED3D11Context *D3D11Context = static_cast(renderContext->GetAEGraphicContext()); + + if (D3D11Context != null) + { + m_OriginViewport = renderContext->GetContextSize(); + PopcornFX::SD3D11Context context(D3D11Context->m_D3D11Context->m_Device, D3D11Context->m_D3D11Context->m_ImmediateDeviceContext); + + CParticleUpdateManager_D3D11 *updateManagerD3D11 = checked_cast(updateManager->GetUpdateManager_GPU()); + if (updateManagerD3D11) + { + updateManagerD3D11->SetOwner(m_ParticleMediumCollection); + if (!updateManagerD3D11->BindContext(context)) + { + return false; + } + } + } + } +#endif +#endif + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_FastForwardSimulation(SAAEIOData &AAEData, float timeTarget) +{ + (void)AAEData; + + if (m_Effect == null) + { + m_FrameAbortedDuringSeeking = A_Err_GENERIC; + return; + } + if (!PK_VERIFY(m_ParticleMediumCollection != null)) + return; + + CTimer updateTimer; + + updateTimer.Start(); + + const float maxUpdateTime = 30.0f; + + if (!PK_VERIFY(m_Effect->FeatureFlagsAll() & SParticleDeclaration::FeatureFlag_Determinism)) // if at least one layer doesn't have the flag, fail. + CAELog::TryLogErrorWindows("Effect is baked with Determinism disabled."); + + ParticleToolbox::SSeekingContextNew seekingCtx(timeTarget, m_DT, m_DT, maxUpdateTime, 0.0f, m_Effect.Get(), m_EmitterTransformsCurrent); + + ParticleToolbox::SSeekingContextNew::SInstanceInfo instInfo; + PK_ASSERT(m_Effect != null); + instInfo.m_Effect = m_Effect.Get(); + instInfo.m_CurTransforms = m_EmitterTransformsCurrent; + instInfo.m_SpawnTime = 0.0f; + PK_VERIFY(seekingCtx.m_InstancesToSpawn.PushBack(instInfo).Valid()); + + seekingCtx.m_LoadAndRunEffectDelegate = FastDelegate(this, &CAAEScene::_SeekingLoadAndRunEffect); + seekingCtx.m_UpdateEffectDelegate = FastDelegate(this, &CAAEScene::_SeekingUpdateEffect); + seekingCtx.m_WaitForUpdateFenceDelegate = FastDelegate(this, &CAAEScene::_SeekingWaitForUpdateFence); + + seekingCtx.m_PrecisionEpsilon = m_DT / 10.0f; // Arbitrary value for precision issues + seekingCtx.m_ForceRestartWhenNoUpdateNeeded = true; // Restarts when the elapsed time is equal to the target time + seekingCtx.m_ForceRestartFromZero = m_ForceRestartSeeking; + + m_AAEDataForSeeking = &AAEData; + PF_PROGRESS(m_AAEDataForSeeking->m_InData, 0, 1000); + ParticleToolbox::SSeekingContextNew::SeekToTargetTime(seekingCtx, m_ParticleMediumCollection); + m_AAEDataForSeeking = null; + m_Stats_SimulationTime = (float)updateTimer.Stop(); +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_SeekingLoadAndRunEffect( CParticleMediumCollection *mediumCollection, + const CParticleEffect *effect, + const CFloat4x4 &transform, + float timeFromStartOfFrame, + float timeToEndOfFrame, + float elapsedTime) +{ + (void)timeFromStartOfFrame; + (void)timeToEndOfFrame; + (void)transform; + (void)effect; + (void)mediumCollection; + m_FrameAbortedDuringSeeking |= CAEUpdater::UpdateLayerAtTime(m_LayerHolder, elapsedTime, true); + SetupScene(true, false); + m_FrameAbortedDuringSeeking |= CAEUpdater::UpdateLayerAtTime(m_LayerHolder, elapsedTime, true); +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_SeekingUpdateEffect(float dt, float elapsedTime, float timeTarget, u32 curUpdateIdx, u32 totalUpdatesCount) +{ + (void)dt; + (void)elapsedTime; + (void)timeTarget; + + if (totalUpdatesCount != 0) + { + PF_Err res = PF_Err_NONE; + res = PF_PROGRESS(m_AAEDataForSeeking->m_InData, curUpdateIdx, totalUpdatesCount); + if (res != PF_Err_NONE) + { + m_AAEDataForSeeking->m_ReturnCode = res; + return false; + } + } + m_FrameAbortedDuringSeeking |= CAEUpdater::UpdateLayerAtTime(m_LayerHolder, elapsedTime, curUpdateIdx != totalUpdatesCount); + + if (m_SkinnedMeshInstance != null) + { + if (elapsedTime == 0.0f) + m_SkinnedMeshInstance->ResetAnimationCursor(); + const CFloat4x4 &backdropTransforms = (m_ParticleScene != null) ? m_ParticleScene->BackdropMeshTransforms() : CFloat4x4::IDENTITY; + m_SkinnedMeshInstance->SetBackdropXForms(backdropTransforms); + m_SkinnedMeshInstance->Update(dt); + m_SkinnedMeshInstance->StartAsyncUpdateSkin(dt); + m_SkinnedMeshInstance->WaitAsyncUpdateSkin(); + } + _UpdateCamera(); + _UpdateEmitter(dt); + _UpdateMediumCollectionView(); + return m_FrameAbortedDuringSeeking == A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_SeekingWaitForUpdateFence(CTimer *waitTimer, float customMaxUpdateTime) +{ + (void)waitTimer; + + const u32 kMaxWaitTimeMs = 100;//ms max wait time + const float kMaxUpdateTimeSecsSetting = 1000;//ms + bool updateInProgress = true; + float maxUpdateTimeSecs = customMaxUpdateTime >= 0.0f ? customMaxUpdateTime : kMaxUpdateTimeSecsSetting; + CTimer ignoreTimer; + + ignoreTimer.Start(); + ignoreTimer.Pause(); + while (updateInProgress) + { + updateInProgress = m_ParticleMediumCollection->UpdateFence(kMaxWaitTimeMs); + if (updateInProgress || maxUpdateTimeSecs <= 0.0f) + { + } + } + return true; +} + +//---------------------------------------------------------------------------- + +u32 CAAEScene::_PickNewEffectSeed() +{ + return (u32)m_AEEmitterSeed; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_UpdateShapeSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc *descriptor) +{ + if (!PK_VERIFY(descriptor != null) || + !PK_VERIFY(samplerData.m_PKDesc != null)) + return false; + + SSamplerShape *pkDesc = static_cast(samplerData.m_PKDesc); + SShapeSamplerDescriptor *aeDesc = static_cast(descriptor->m_Descriptor); + + if (aeDesc == null) + return false; + + pkDesc->UpdateShape(aeDesc); + + CParticleSamplerDescriptor_Shape_Default *shapeSmpDesc = null; + if (aeDesc->m_BindToBackdrop && m_SkinnedMeshInstance != null && m_SkinnedMeshInstance->m_ShapeDescOverride != null) + shapeSmpDesc = static_cast(m_SkinnedMeshInstance->m_ShapeDescOverride.Get()); + else + shapeSmpDesc = static_cast(pkDesc->m_SamplerDescriptor.Get()); + m_EffectLastInstance->SetAttributeSampler(descriptor->m_Name.data(), shapeSmpDesc); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_UpdateTextSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc *descriptor) +{ + if (!PK_VERIFY(descriptor != null) || + !PK_VERIFY(samplerData.m_PKDesc != null)) + return false; + SSamplerText *pkDesc = static_cast(samplerData.m_PKDesc); + STextSamplerDescriptor *aeDesc = static_cast(descriptor->m_Descriptor); + + if (aeDesc == null) + return false; + + pkDesc->UpdateText(aeDesc); + + CParticleSamplerDescriptor_Text_Default *textSmpDesc = static_cast(pkDesc->m_SamplerDescriptor.Get()); + + if (!PK_VERIFY(m_EffectLastInstance->SetAttributeSampler(descriptor->m_Name.data(), textSmpDesc))) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_UpdateImageSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc *descriptor) +{ + if (!PK_VERIFY(descriptor != null) || + !PK_VERIFY(samplerData.m_PKDesc != null)) + return false; + SSamplerImage *pkDesc = static_cast(samplerData.m_PKDesc); + SImageSamplerDescriptor *aeDesc = static_cast(descriptor->m_Descriptor); + + if (aeDesc == null) + return false; + if (pkDesc->m_Dirty) + { + pkDesc->UpdateImage(aeDesc); + } + + CParticleSamplerDescriptor_Image_Default *imageSmpDesc = static_cast(pkDesc->m_SamplerDescriptor.Get()); + + if (!PK_VERIFY(m_EffectLastInstance->SetAttributeSampler(descriptor->m_Name.data(), imageSmpDesc))) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_UpdateAudioSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc *descriptor) +{ + if (!PK_VERIFY(descriptor != null) || + !PK_VERIFY(samplerData.m_PKDesc != null)) + return false; + + SSamplerAudio *pkDesc = static_cast(samplerData.m_PKDesc); + + pkDesc->m_BuiltThisFrame = false; + m_ActiveAudioSamplers.PushBack(pkDesc); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_UpdateVectorFieldSampler(SPendingAttribute &samplerData, SAttributeSamplerDesc *descriptor) +{ + if (!PK_VERIFY(descriptor != null) || + !PK_VERIFY(samplerData.m_PKDesc != null)) + return false; + + SSamplerVectorField *pkDesc = static_cast(samplerData.m_PKDesc); + SVectorFieldSamplerDescriptor *aeDesc = static_cast(descriptor->m_Descriptor); + + if (aeDesc == null) + return false; + pkDesc->UpdateVectorField(aeDesc); + + CParticleSamplerDescriptor_VectorField_Grid *turbulenceSmpDesc = static_cast(pkDesc->m_SamplerDescriptor.Get()); + + if (!PK_VERIFY(m_EffectLastInstance->SetAttributeSampler(descriptor->m_Name.data(), turbulenceSmpDesc))) + return false; + + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_LoadScene(const SSimpleSceneDef &sceneDef) +{ + m_EffectLastInstance = null; + + if (!_LoadEffectIFN(sceneDef)) + return false; + + m_EffectLastInstance = _InstantiateEffect(); + PK_ASSERT(m_EffectLastInstance != null); + if (m_EffectLastInstance == null) // failed instantiating + return false; + m_EffectDesc->m_Name = sceneDef.m_EffectPath.Data(); + if (sceneDef.m_BackdropMeshPath.Data() != null) + m_EffectDesc->m_BackdropMesh.m_Path = sceneDef.m_BackdropMeshPath.Data(); + + if (m_SkinnedMeshInstance != null) + { + m_SkinnedMeshInstance->Update(0.0f); + m_SkinnedMeshInstance->StartAsyncUpdateSkin(0.0f); + m_SkinnedMeshInstance->WaitAsyncUpdateSkin(); + + m_SkinnedMeshInstance->SetupAttributeSampler(m_ResourceMesh->BatchList()[0]->RawMesh(), + m_IsWeightedSampling, + m_ColorStreamID, + m_WeightStreamID); + } + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_CollectCurrentFrame() +{ + PK_SCOPEDPROFILE(); + m_FrameCollector.m_CullingFrustums = TMemoryView(m_Camera.ViewFrustum()); + + if (m_FrameCollector.UpdateThread_BeginCollectFrame()) + { + m_FrameCollector.UpdateThread_CollectFrame(m_ParticleMediumCollection); + } +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_RenderLastCollectedFrame() +{ + TSceneView view; + + CFloat4x4 matW2P = m_Camera.m_ViewInv;//AE Axis System + + matW2P.Axis(1) *= -1; //AE Y-down to PopcornFX Y-up + matW2P.Axis(2) *= -1; //AE Z-foward to PopcornFX Z-backward + view.m_InvViewMatrix = matW2P; + view.m_NeedsSortedIndices = true; + + m_FrameCollector.BuildNewFrame(m_FrameCollector.UpdateThread_GetLastCollectedFrame()); + m_DrawOutputs.Clear(); + + // Build necessary renderer caches + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + PAAERenderContext currentRenderContext = pkfxWorld.GetCurrentRenderContext(); + + m_ParticleRenderDataFactory.RenderThread_BuildPendingCaches(currentRenderContext->GetAEGraphicContext()->GetApiManager()); + + // Do not release last collected frame when billboarding is finished + // We release frame before updating the medium collection (avoids handling of special cases when sim is paused) + const bool releaseLastCollectedFrame = false; + + PKSample::SRenderContext context(PKSample::SRenderContext::EPass_RenderThread, currentRenderContext->GetAEGraphicContext()->GetApiManager()); + + if (m_FrameCollector.BeginCollectingDrawCalls(context, TMemoryView(view))) + m_FrameCollector.EndCollectingDrawCalls(context, m_DrawOutputs, releaseLastCollectedFrame); +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_UpdateEmitter(float dt) +{ + CQuaternion quat = Transforms::Quaternion::FromEuler(m_AEEmitterRotation); + + if (m_EmitterTransformType == ETransformType_2D) //If project coordinate to match 2D Widget + { + //normalize to -1;1 + const CFloat2 viewportDimensions = CFloat2(m_SAAEWorldData.m_WorldWidth, m_SAAEWorldData.m_WorldHeight); + const CFloat2 normalizedViewportCoords = (m_AEEmitterPosition.xy() / CFloat2(viewportDimensions)) * CFloat2(2, 2) - 1; + + const CFloat4x4 viewProj = m_Camera.m_View * m_Camera.m_Proj; + const CFloat4x4 viewProjInv = viewProj.Inverse(); + + const CFloat4 clipPos = CFloat4(normalizedViewportCoords, 0, 1); + const CFloat4 worldPosOnNearPlaneH = viewProjInv.TransformVector(clipPos); + const CFloat3 worldPosOnNearPlane = worldPosOnNearPlaneH.xyz() / worldPosOnNearPlaneH.w(); + const CFloat3 worldOrigin = m_Camera.m_View.Inverse().StrippedTranslations(); + const CFloat3 worldDirection = (worldPosOnNearPlane - worldOrigin).Normalized(); + + m_EmitterTransformsPrevious = m_EmitterTransformsCurrent; + m_EmitterTransformsCurrent = Transforms::Matrix::FromQuaternion(quat, CFloat4(worldOrigin + worldDirection * m_AEEmitterPosition.z(), 1.0f)); + } + else + { + CFloat3 pos(m_AEEmitterPosition.x(), m_AEEmitterPosition.y(), m_AEEmitterPosition.z()); + + m_EmitterTransformsPrevious = m_EmitterTransformsCurrent; + m_EmitterTransformsCurrent = Transforms::Matrix::FromQuaternion(quat, CFloat4(pos, 1.0f)); + } + if (m_TeleportEmitter == true) + { + m_EmitterTransformsPrevious = m_EmitterTransformsCurrent; + m_TeleportEmitter = false; + } + + m_EmitterVelPrevious = m_EmitterVelCurrent; + if (dt > 1.0e-6f) + { + const float invDt = PKRcp(dt); + const CFloat3 posDelta = m_EmitterTransformsCurrent.StrippedTranslations() - m_EmitterTransformsPrevious.StrippedTranslations(); + m_EmitterVelCurrent = posDelta * invDt; + } + + if (m_LayerHolder->m_SpawnedEmitter.m_Desc->m_SimStatePrev != m_LayerHolder->m_SpawnedEmitter.m_Desc->m_SimState) + { + if (m_LayerHolder->m_SpawnedEmitter.m_Desc->m_SimState) + m_EffectLastInstance = _InstantiateEffect(0, 0); + else if (m_EffectLastInstance != null) + m_EffectLastInstance->Stop(); + } +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_UpdateCamera() +{ + CFloat4 cameraPos = m_AECameraPos; + + m_Camera.m_View = m_AEViewMatrix ; + if (m_EmitterTransformType == ETransformType_2D)//If project coordinate to match 2D Widget + { + { + //normalize to -1;1 + m_EmitterPositionNormalized_Debug = CFloat4(cameraPos.x() - (m_SAAEWorldData.m_WorldWidth / 2.0f), + cameraPos.y() - (m_SAAEWorldData.m_WorldHeight / 2.0f), + cameraPos.z(), + 1.0f); + m_Camera.m_Position = m_EmitterPositionNormalized_Debug.xyz(); + } + + m_Camera.m_View.WAxis() = CFloat4(m_Camera.m_Position.x(), m_Camera.m_Position.y(), m_Camera.m_Position.z(), 1.0f); + } + else + m_Camera.m_Position = cameraPos.xyz(); + + if (m_SAAEWorldData.m_WorldWidth > 0 && m_SAAEWorldData.m_WorldHeight > 0) + { + if (m_EmitterTransformType == ETransformType_2D) + { + float ratio = Units::DegreesToRadians((((m_AECameraZoom) * 2.0f) / (m_SAAEWorldData.m_WorldWidth))); + float HFov = 2.0f * (1.0f / tan(ratio)); + + _SetProj(HFov, CFloat2(m_SAAEWorldData.m_WorldWidth, m_SAAEWorldData.m_WorldHeight), m_EffectDesc->m_Camera.m_Near, m_EffectDesc->m_Camera.m_Far); + } + else + { + double tanTheta = (((double)m_SAAEWorldData.m_WorldHeight) / (double)(2.0 * m_AECameraZoom)); + double halfFOV = Units::RadiansToDegrees(atan(tanTheta)); + float FOVDeg = (float)(halfFOV * 2.0); + + _SetProj(FOVDeg, CFloat2(m_SAAEWorldData.m_WorldWidth, m_SAAEWorldData.m_WorldHeight), m_EffectDesc->m_Camera.m_Near, m_EffectDesc->m_Camera.m_Far); + } + } + else + { + PK_ASSERT_NOT_REACHED(); + } + m_Camera.Update(); +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_UpdateMediumCollectionView() +{ + const CFloat4x4 matW2V = m_Camera.m_View; //AE Axis system + const CFloat4x4 matW2P = matW2V * m_Camera.m_Proj; //RHYUP + + PK_ASSERT(m_ViewSlotInMediumCollection.Valid()); + m_ParticleMediumCollection->UpdateView(m_ViewSlotInMediumCollection, matW2V, matW2P, m_Camera.m_WinSize); +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_OnUpdateComplete(CParticleMediumCollection *collection) +{ + (void)collection; + for (u32 i = 0; i < m_ActiveAudioSamplers.Count(); ++i) + { + m_ActiveAudioSamplers[i]->ReleaseAEResources(); + } + m_ActiveAudioSamplers.Clear(); +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_LoadEffectIFN(const SSimpleSceneDef &sceneDef) +{ + CPopcornFXWorld &world = CPopcornFXWorld::Instance(); + + if (m_LayerHolder->m_LayerProperty == null) + world.CreateLayerPropertyIFP(m_LayerHolder); + + if (m_Effect != null && sceneDef.m_Refresh == false) + return true; + + for (u32 i = 0; i < m_OverridableProperties.Count(); ++i) + PK_SAFE_DELETE(m_OverridableProperties[i]); + m_OverridableProperties.Clean(); + if (sceneDef.m_EffectPath == null) + { + CLog::Log(PK_ERROR, "empty effect path."); + return false; + } + + CLog::Log(PK_INFO, "Loading Effect : %s", sceneDef.m_EffectPath.Data()); + + IFileSystem *fileSystem = File::DefaultFileSystem(); + + // Method #1 for loading: Pass down your own memory buffer to the load function + u32 rawFileSize = 0; // will be filled by 'Bufferize' call below + u8 *rawFileBuffer = fileSystem->Bufferize(m_LoadedPack->Path() / sceneDef.m_EffectPath, &rawFileSize, true); + if (rawFileBuffer != null) + { + CConstMemoryStream memoryFileView(rawFileBuffer, rawFileSize); + + PBaseObjectFile objFile = m_HBOContext->LoadFileFromStream(memoryFileView, sceneDef.m_EffectPath); + + if (!PK_VERIFY(objFile != null)) + { + CLog::Log(PK_ERROR, "Loading file from stream failed: %s", sceneDef.m_EffectPath.Data()); + return false; + } + + if (m_LayerHolder->m_LayerProperty != null) + { + for (auto obj : objFile->ObjectList()) + { + PLayerCompileCache srcLayer = HBO::Cast(obj.Get()); + + if (srcLayer != null) + { + for (auto &srcRenderer : srcLayer->Renderers()) + { + for (u32 pidx = 0; pidx < srcRenderer->Properties().Count(); ++pidx) + { + CLayerCompileCacheRendererProperty *srcProp = srcRenderer->Properties()[pidx]; + + if (srcProp->PropertyType() == PropertyType_TexturePath) + { + SRendererProperties *prop = PK_NEW(SRendererProperties(srcProp->PropertyName(), srcProp->PropertyValueStr(), srcLayer->LayerName(), srcLayer->UID(), CStringId(m_EffectDesc->m_UUID.c_str()), srcRenderer->UID(), srcProp->UID())); + if (!PK_VERIFY(m_OverridableProperties.PushBack(prop).Valid())) + return false; + + for (u32 i = 0; i < m_LayerHolder->m_LayerProperty->RendererProperties().Count(); ++i) + { + if (srcRenderer->UID() == m_LayerHolder->m_LayerProperty->RendererProperties()[i]->RendererID() && + srcProp->UID() == m_LayerHolder->m_LayerProperty->RendererProperties()[i]->PropertyID()) + { + srcProp->SetPropertyValueStr(m_LayerHolder->m_LayerProperty->RendererProperties()[i]->Value()); + prop->m_Value = srcProp->PropertyValueStr(); + } + } + } + } + } + } + } + + if (m_EffectFile != null) + { + m_Effect = null; + m_EffectFile->Unload(); + m_EffectFile = null; + } + } + if (m_Effect == null) + m_Effect = CParticleEffect::Load(objFile); + + PK_FREE(rawFileBuffer); + + if (!PK_VERIFY(m_Effect != null)) + { + CLog::Log(PK_ERROR, "Failed loading effect \"%s\"", sceneDef.m_EffectPath.Data()); + return false; + } + if (!m_Effect->Install(m_ParticleMediumCollection)) + { + CLog::Log(PK_ERROR, "Failed Install effect \"%s\"", sceneDef.m_EffectPath.Data()); + return false; + } + m_AttributesList = m_Effect->AttributeFlatList().Get(); + if (!PK_VERIFY(m_AttributesList != null)) + { + CLog::Log(PK_WARN, "no attributes descriptor"); + return false; + } + if (!_RebuildAttributes(sceneDef)) + { + CLog::Log(PK_ERROR, "_RebuildAttributes failed"); + return false; + } + m_AttributesList = null; + } + + m_EffectPath = sceneDef.m_EffectPath; + return true; +} + +//---------------------------------------------------------------------------- + +PParticleEffectInstance CAAEScene::_InstantiateEffect() +{ + _UpdateCamera(); + _UpdateEmitter(m_DT); + return _InstantiateEffect(0, 0); +} + +//---------------------------------------------------------------------------- +// This version if 'InstantiateEffect' takes two time arguments to pinpoint with accuracy +// where during the frame the instantiation happened. If you don't care, just pass zero in both parameters. + +PParticleEffectInstance CAAEScene::_InstantiateEffect(float timeFromStartOfFrame, float timeToEndOfFrame) +{ + PK_ASSERT(m_Effect != null); + PK_ASSERT(timeFromStartOfFrame >= 0.0f); + PK_ASSERT(timeToEndOfFrame >= 0.0f); + + // CParticleEffect::Instantiate() returns an effect instance, registered into the specified medium collection + PParticleEffectInstance instance = m_Effect->Instantiate_AlreadyInstalled(m_ParticleMediumCollection); + + if (instance != null) + { + // The death notifier will be called as soon as the instance dies. See the comment above the 'm_DeathNotifier' member in + instance->m_DeathNotifier += FastDelegate(this, &CAAEScene::_OnInstanceDeath); + + instance->EnableSeed(true); + instance->Seed(m_LayerHolder->m_SpawnedEmitter.m_Desc->m_Seed); + + SEffectStartCtl effectStartCtl; + effectStartCtl.m_TimeFromStartOfFrame = timeFromStartOfFrame; + effectStartCtl.m_TimeToEndOfFrame = timeToEndOfFrame; + effectStartCtl.m_SpawnTransformsPack.m_WorldTr_Current = &m_EmitterTransformsCurrent; + effectStartCtl.m_SpawnTransformsPack.m_WorldTr_Previous = &m_EmitterTransformsPrevious; + effectStartCtl.m_SpawnTransformsPack.m_WorldVel_Current = &m_EmitterVelCurrent; + effectStartCtl.m_SpawnTransformsPack.m_WorldVel_Previous = &m_EmitterVelPrevious; + + // Start the instance. (Frame start/end times are optional, you can call 'instance->Start(xforms)' if you don't care) + instance->Start(effectStartCtl); + } + + return instance; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_OnInstanceDeath(const PParticleEffectInstance &instance) +{ + PK_ASSERT(instance != null); + // This callback will be called from worker threads + + // Not strictly necessary to -= the callback, the instance is getting destroyed anyway. + instance->m_DeathNotifier -= FastDelegate(this, &CAAEScene::_OnInstanceDeath); + if (instance == m_EffectLastInstance) + { + instance->KillImmediate(); + m_EffectLastInstance = null; + } +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_RebuildAttributes(const SSimpleSceneDef &sceneDef) +{ + (void)sceneDef; + + auto &attributeList = m_AttributesList->AttributeList(); + auto &samplerList = m_AttributesList->SamplerList(); + const u32 samplerCount = samplerList.Count(); + const u32 attrCount = attributeList.Count(); + + TArray attrOrder; + + for (u32 i = 0; i < attrCount; ++i) + { + CParticleAttributeDeclaration *attrDecl = attributeList[i]; + + PK_ASSERT(attrDecl != null); + + CString category = attrDecl->CategoryName().MapENG().ToAscii(); + SAttributeDesc *attrDesc = new SAttributeDesc(attrDecl->ExportedName().Data(), (const char*)category.Data(), AttributePKToAAE((EBaseTypeID)attrDecl->ExportedType()), AttributePKToAAE(attrDecl->GetEffectiveDataSemantic())); + + SAttributesContainer_SAttrib value = attrDecl->GetDefaultValue(); + SAttributesContainer_SAttrib valueMin = attrDecl->GetMinValue(); + SAttributesContainer_SAttrib valueMax = attrDecl->GetMaxValue(); + + attrDesc->m_HasMax = attrDecl->HasMax(); + attrDesc->m_HasMin = attrDecl->HasMin(); + EAttributeType type = attrDesc->m_Type; + if (type >= AttributeType_Bool1 && type <= AttributeType_Bool4) + { + attrDesc->SetValue(value.Get()); + attrDesc->SetDefaultValue(value.Get()); + attrDesc->SetMinValue(valueMin.Get()); + attrDesc->SetMaxValue(valueMax.Get()); + } + if (type >= AttributeType_Int1 && type <= AttributeType_Int4) + { + attrDesc->SetValue(value.Get()); + attrDesc->SetDefaultValue(value.Get()); + attrDesc->SetMinValue(valueMin.Get()); + attrDesc->SetMaxValue(valueMax.Get()); + } + if (type >= AttributeType_Float1 && type <= AttributeType_Float4) + { + attrDesc->SetValue(value.Get()); + attrDesc->SetDefaultValue(value.Get()); + attrDesc->SetMinValue(valueMin.Get()); + attrDesc->SetMaxValue(valueMax.Get()); + } + attrDesc->m_IsDefaultValue = true; + + if (!PK_VERIFY(attrOrder.PushBack(attrDesc).Valid())) + return false; + } + + for (u32 i = 0; i < samplerCount; ++i) + { + CParticleAttributeSamplerDeclaration *samplerDecl = samplerList[i]; + PK_ASSERT(samplerDecl != null); + + CString category = samplerDecl->CategoryName().MapENG().ToAscii(); + SAttributeSamplerDesc *smplrDesc = new SAttributeSamplerDesc(samplerDecl->ExportedName().Data(), (const char*)category.Data(), AttributeSamplerPKToAAE((SParticleDeclaration::SSampler::ESamplerType)samplerDecl->ExportedType())); + + switch (smplrDesc->m_Type) + { + case AttributeSamplerType_Geometry: + smplrDesc->m_Descriptor = new SShapeSamplerDescriptor(); + break; + case AttributeSamplerType_Text: + smplrDesc->m_Descriptor = new STextSamplerDescriptor(); + break; + case AttributeSamplerType_Image: + smplrDesc->m_Descriptor = new SImageSamplerDescriptor(); + break; + case AttributeSamplerType_Audio: + { + smplrDesc->m_Descriptor = new SAudioSamplerDescriptor(); + + CResourceDescriptor_Audio *nodeSamplerData = HBO::Cast(samplerDecl->AttribSamplerDefaultValue().Get()); + if (PK_VERIFY(nodeSamplerData != null)) + ((SAudioSamplerDescriptor*)smplrDesc->m_Descriptor)->m_ChannelGroup = nodeSamplerData->ChannelGroup().Data(); + break; + } + case AttributeSamplerType_VectorField: + smplrDesc->m_Descriptor = new SVectorFieldSamplerDescriptor(); + break; + default: + smplrDesc->m_Descriptor = null; + break; + } + if (smplrDesc->m_Descriptor) + smplrDesc->m_Descriptor->m_UsageFlags = samplerDecl->UsageFlags(); + + if (!PK_VERIFY(attrOrder.PushBack(smplrDesc).Valid())) + return false; + } + + typedef TArray::Iterator attrDescIt; + + struct SSortAttributesPolicy + { + PK_FORCEINLINE static bool Less(const attrDescIt &it0, const attrDescIt &it1) + { + int cmpCategoryRes = (*it0)->m_CategoryName.compare((*it1)->m_CategoryName); + + if (cmpCategoryRes < 0) + return true; + if (cmpCategoryRes > 0) + return false; + if (cmpCategoryRes == 0) + { + if ((*it0)->m_Name.compare((*it1)->m_Name) < 0) + return true; + else + return false; + } + return false; + } + + PK_FORCEINLINE static bool Equal(const attrDescIt &it0, const attrDescIt &it1) + { + int cmpCategoryRes = (*it0)->m_CategoryName.compare((*it1)->m_CategoryName); + int cmpNameRes = (*it0)->m_Name.compare((*it1)->m_Name); + return cmpCategoryRes == 0 && cmpNameRes == 0; + } + }; + + QuickSort(attrOrder.Begin(), attrOrder.End()); + + CPopcornFXWorld::Instance().HandleNewAttributes(attrOrder, m_EffectRef, m_LayerHolder, false); + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_ExtractAEFrameInfo(SAAEIOData &AAEData) +{ + u32 targetFrame = AAEData.m_InData->current_time / AAEData.m_InData->local_time_step; + if (m_FrameNumber + 1 != targetFrame) + m_ForceRestartSeeking = true; + else + m_ForceRestartSeeking = false; + m_FrameNumber = targetFrame; + + m_DT = (float)((double)AAEData.m_InData->local_time_step / (double)AAEData.m_InData->time_scale); + m_PreviousTimeSec = m_CurrentTimeSec; + m_CurrentTimeSec = (float)((double)AAEData.m_InData->current_time / (double)AAEData.m_InData->time_scale); +} + +//---------------------------------------------------------------------------- + +bool CAAEScene::_CheckRenderAbort(SAAEIOData *AAEData) +{ + if (AAEData == null) + { + CLog::Log(PK_INFO, "RenderAbort"); + return true; + } + PF_Err res = PF_Err_NONE; + res = PF_ABORT(AAEData->m_InData); + if (res != PF_Err_NONE) + { + AAEData->m_ReturnCode = res; + CLog::Log(PK_INFO, "RenderAbort"); + return true; + } + return false; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_SetProj(float fovydegree, const CFloat2 &winDimPixel, float zNear, float zFar) +{ + float fX, fY; + + m_Camera.m_ProjNear = zNear; + m_Camera.m_ProjFar = zFar; + m_Camera.m_WinSize = winDimPixel; + if (m_EmitterTransformType == ETransformType_2D) + { + const float aspect = winDimPixel.y() / winDimPixel.x(); + fX = 1.f / tanf(Units::DegreesToRadians(fovydegree) * 0.5f); + fY = fX / aspect; + } + else + { + m_Camera.m_ProjFovy = fovydegree; + const float aspect = winDimPixel.x() / winDimPixel.y(); + fY = 1.f / tanf(Units::DegreesToRadians(fovydegree * 0.5f)); + fX = fY / aspect; + } + + const float kRcpRange = 1.0f / (zNear - zFar); + const float kA = (zFar + zNear) * kRcpRange; + const float kB = (zFar * zNear) * kRcpRange; + + RHI::EGraphicalApi api = CPopcornFXWorld::Instance().GetRenderApi(); + if (api == RHI::GApi_D3D11 || api == RHI::GApi_D3D12 || api == RHI::GApi_Metal) + { + // GApi_D3D11: GApi_D3D12 + m_Camera.m_Proj = CFloat4x4(fX, 0, 0, 0, + 0, -fY, 0, 0, + 0, 0, 0.5f * kA - 0.5f, -1, + 0, 0, kB, 0); + } + else + { + PK_ASSERT_NOT_REACHED_MESSAGE("No projection matrix for this API"); + } + + CFloat4x4 current2RHYUp = CFloat4x4::IDENTITY; + CCoordinateFrame::BuildTransitionFrame(CCoordinateFrame::GlobalFrame(), Frame_RightHand_Y_Up, current2RHYUp); + + m_Camera.m_Proj = current2RHYUp * m_Camera.m_Proj; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::_FillAdditionnalDataForRender() +{ + TArray &outSkinnedDatas = m_FXInstancesSkinnedData; + + outSkinnedDatas.Clear(); + + const PSkinnedMeshInstance instance = m_SkinnedMeshInstance; + if (instance == null) + return; + if (!PK_VERIFY(outSkinnedDatas.PushBack().Valid())) + { + outSkinnedDatas.Clear(); + return; + } + + SSkinnedDataSimple &skinnedDataSimple = outSkinnedDatas.Last(); + + skinnedDataSimple.m_Valid = (instance->m_SkinnedMesh != null && instance->m_SkinnedMesh->Valid() && instance->m_SkinnedMesh->HasGeometry()); + if (skinnedDataSimple.m_Valid) + { + if (!PK_VERIFY(skinnedDataSimple.m_SubMeshes.Resize(instance->m_SkinnedMesh->SubMeshCount()))) + { + skinnedDataSimple.m_SubMeshes.Clear(); + return; + } + for (u32 smidx = 0, smCount = instance->m_SkinnedMesh->SubMeshCount(); smidx < smCount; smidx++) + { + auto &submesh = skinnedDataSimple.m_SubMeshes[smidx]; + submesh.m_SubMeshID = smidx; + submesh.m_Positions = instance->m_SkinnedMesh->Positions(smidx); + submesh.m_Normals = instance->m_SkinnedMesh->Normals(smidx); + } + for (u32 smidx = 0; smidx < skinnedDataSimple.m_SubMeshes.Count(); smidx++) + { + auto &submesh = skinnedDataSimple.m_SubMeshes[smidx]; + if (submesh.m_Positions.Empty() && + submesh.m_Normals.Empty()) + skinnedDataSimple.m_SubMeshes.Remove(smidx--); + } + } + + if (!PK_VERIFY(m_BackdropData.m_FXInstancesSkinnedDatas.Resize(1))) + return; + + for (u32 iInstance = 0; iInstance < 1; ++iInstance) + { + const SSkinnedDataSimple &skinnedData = m_FXInstancesSkinnedData[iInstance]; + PKSample::SSkinnedMeshData &skinnedDataForRender = m_BackdropData.m_FXInstancesSkinnedDatas[iInstance]; + + skinnedDataForRender.m_Valid = false; + + if (!skinnedData.m_Valid || + skinnedData.m_SubMeshes.Empty() || + !PK_VERIFY(skinnedDataForRender.m_SubMeshes.Resize(skinnedData.m_SubMeshes.Count()))) + { + skinnedDataForRender.m_SubMeshes.Clear(); + continue; + } + + skinnedDataForRender.m_Valid = skinnedData.m_Valid; + + for (u32 smidx = 0; smidx < skinnedData.m_SubMeshes.Count(); smidx++) + { + const auto &submesh = skinnedData.m_SubMeshes[smidx]; + auto &submeshForRender = skinnedDataForRender.m_SubMeshes[smidx]; + + submeshForRender.m_SubMeshID = submesh.m_SubMeshID; + + // skinned data is 0x10 aligned, submeshForRender has same alignment as final vb so we can memcpy + const u32 posCount = submesh.m_Positions.Count(); + const u32 pnStride = sizeof(CFloat3); + const u32 posSizeInBytes = posCount * pnStride; + const u32 totalSizeInBytes = posSizeInBytes + submesh.m_Normals.Count() * pnStride; + PK_ASSERT(totalSizeInBytes > 0); + PK_ASSERT(posCount == submesh.m_Normals.Count() || submesh.m_Normals.Empty()); + if (!PK_VERIFY(submeshForRender.m_RawData.Resize(totalSizeInBytes))) + { + submeshForRender.m_RawData.Clear(); + continue; + } + + CFloat3 *dstData = reinterpret_cast(submeshForRender.m_RawData.RawDataPointer()); + TStridedMemoryView dstPositions(dstData, posCount, pnStride); + TStridedMemoryView dstNormals(dstData + posCount, posCount, pnStride); + + Mem::CopyStreamToStream(dstPositions, submesh.m_Positions); + Mem::CopyStreamToStream(dstNormals, submesh.m_Normals); + } + } +} + +//---------------------------------------------------------------------------- + +#if (PK_PARTICLES_UPDATER_USE_D3D12 != 0 || PK_PARTICLES_UPDATER_USE_D3D11 != 0) +bool CAAEScene::SimDispatchMask(const PopcornFX::CParticleDescriptor *descriptor, PopcornFX::SSimDispatchHint &outHint) +{ + const PopcornFX::SParticleDeclaration &decl = descriptor->ParticleDeclaration(); + // Tell PopcornFX Runtime that our code does not handle any of the following renderers on GPU: + // if a particle layer contain any of those, even if the simulation graph has compute shader bytecodes, it will fallback on CPU. + if (!decl.m_LightRenderers.Empty() || + !decl.m_SoundRenderers.Empty() || + !decl.m_RibbonRenderers.Empty() || + !decl.m_TriangleRenderers.Empty() || + !decl.m_DecalRenderers.Empty()) + { + outHint.m_AllowedDispatchMask &= ~(1 << PopcornFX::SSimDispatchHint::Location_GPU); // can't draw any of these on the GPU + } + // if we are allowed on GPU, prefer GPU, otherwise prefer CPU: + if (outHint.m_AllowedDispatchMask & (1 << PopcornFX::SSimDispatchHint::Location_GPU)) + outHint.m_PreferredDispatchMask = (1 << PopcornFX::SSimDispatchHint::Location_GPU); + else + outHint.m_PreferredDispatchMask = (1 << PopcornFX::SSimDispatchHint::Location_CPU); + return true; +} + +//---------------------------------------------------------------------------- + +void CAAEScene::D3D12_EnqueueTask(const PopcornFX::PParticleUpdaterTaskD3D12 &task) +{ + CPopcornFXWorld &pkfxWorld = CPopcornFXWorld::Instance(); + PAAERenderContext renderContext = pkfxWorld.GetCurrentRenderContext(); + CAAED3D12Context *D3D12Context = static_cast(renderContext->GetAEGraphicContext()); + + if (D3D12Context != null && D3D12Context->m_D3D12Context->m_CommandQueue != null) // Your ID3D12CommandQueue (can be D3D12_COMMAND_LIST_TYPE_DIRECT or D3D12_COMMAND_LIST_TYPE_COMPUTE) + task->Execute(D3D12Context->m_D3D12Context->m_CommandQueue); // Internally calls commandQueue->ExecuteCommandLists and fences +} +#endif + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_SkinnedMesh.cpp b/AE_GeneralPlugin/Sources/AEGP_SkinnedMesh.cpp new file mode 100644 index 00000000..74a3c7d1 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_SkinnedMesh.cpp @@ -0,0 +1,451 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "AEGP_SkinnedMesh.h" + +#include // for random XForms tests +#include // for 'Skin_PostProcess' +#include // for CMeshSurfaceSamplerStructuresRandom && CMeshVolumeSamplerStructuresRandom + +// For skinned mesh backdrops +#include +#include +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- +// +// Skinned mesh instance wrapper implementation +// +//---------------------------------------------------------------------------- + +CSkinnedMesh::CSkinnedMesh() + : m_SkinDt(0) + , m_FirstFrame(false) + , m_SamplingChannels(0) +{ +} + +//---------------------------------------------------------------------------- + +CSkinnedMesh::~CSkinnedMesh() +{ + Reset(); +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::Reset() +{ + WaitAsyncUpdateSkin(); + + m_SubMeshes.Clear(); + + m_SkinDt = 0; + m_FirstFrame = 0; + m_SamplingChannels = 0; + + m_Timeline = CTimeline(); // must reset before clearing m_SkeletonState + m_SkeletonState = null; +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMesh::Init(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &srcSkeletonState) +{ + const bool success = _Init_Impl(meshResource, samplingChannels, srcSkeletonState); + if (!success) + Reset(); + return success; +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMesh::_Init_Impl(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &srcSkeletonState) +{ + WaitAsyncUpdateSkin(); + + m_FirstFrame = true; + m_SamplingChannels = samplingChannels; + + if (meshResource == null || srcSkeletonState == null) + return false; + + for (auto &mesh : m_SubMeshes) + { + mesh.m_SkeletalMesh = null; + mesh.m_SkeletonState = null; + } + + m_Timeline = CTimeline(); // must reset before clearing m_SkeletonState + m_SkeletonState = null; + + // create and copy skeleton state if necessary: + if (m_SkeletonState == null) + { + m_SkeletonState = PK_NEW(CSkeletonState); + if (m_SkeletonState == null) + return false; + } + + if (!m_SkeletonState->DeepCopy(*srcSkeletonState)) + return false; + + m_SkeletonState->SetTimeline(&m_Timeline); + + const u32 kLodLevel = 0; + TMemoryView batchList = meshResource->BatchList(kLodLevel); + if (!PK_VERIFY(m_SubMeshes.Resize(batchList.Count()))) + return false; + + for (u32 batchId = 0; batchId < m_SubMeshes.Count(); batchId++) + { + SSubMesh &mesh = m_SubMeshes[batchId]; + + // grab the desired skeletal mesh: + mesh.m_SkeletalMesh = batchList[batchId].Get(); + if (!PK_VERIFY(mesh.m_SkeletalMesh != null)) + return false; + + // FIXME: Handle when some submeshes aren't skinned + if (!mesh.m_SkeletalMesh->IsSkinned()) + { + mesh.m_SkeletalMesh = null; + mesh.m_SkeletonState = null; + continue; + } + + mesh.m_SkeletonState = m_SkeletonState; + + // grab the raw geometry: + const CMeshTriangleBatch &srcGeomBatch = mesh.m_SkeletalMesh->RawMesh()->TriangleBatch(); + const CMeshVStream &srcVStream = srcGeomBatch.m_VStream; + if (srcVStream.Empty()) + return false; + + // do we need to create or resize our locally skinned vertex streams? + if (mesh.m_RawSkinnedDataElementCount != srcVStream.VertexCount()) + { + // nedds initial alloc, or resize + const u32 vertexCount = srcVStream.VertexCount(); + const u32 offsetPos = 0; + const u32 offsetNor = Mem::Align(offsetPos + vertexCount * u32(sizeof(CFloat4))); // pad Positions & Normals to Float4 for fast aligned SIMD processing + const u32 offsetTan = Mem::Align(offsetNor + vertexCount * u32(sizeof(CFloat4))); + const u32 offsetOld = Mem::Align(offsetTan + vertexCount * u32(sizeof(CFloat4))); + const u32 offsetVel = Mem::Align(offsetOld + vertexCount * u32(sizeof(CFloat4))); + const u32 offsetEnd = Mem::Align(offsetVel + vertexCount * u32(sizeof(CFloat4))); + + const u32 totalStreamsFootprint = offsetEnd; + void *rawDataPtr = PK_REALLOC_ALIGNED(mesh.m_RawSkinnedData, totalStreamsFootprint, Memory::CacheLineSize); // alloc or grow existing buffer + if (rawDataPtr == null) + { + PK_FREE(mesh.m_RawSkinnedData); + mesh.m_RawSkinnedData = null; + mesh.m_Positions = TStridedMemoryView(); + mesh.m_Normals = TStridedMemoryView(); + mesh.m_Tangents = TStridedMemoryView(); + mesh.m_OldPositions = TStridedMemoryView(); + mesh.m_Velocities = TStridedMemoryView(); + return false; + } + + mesh.m_RawSkinnedDataElementCount = vertexCount; + mesh.m_RawSkinnedData = rawDataPtr; + + // build views into the memory we just (re)allocated: + mesh.m_Positions = TStridedMemoryView(static_cast(Mem::AdvanceRawPointer(mesh.m_RawSkinnedData, offsetPos)), vertexCount, sizeof(CFloat4)); + mesh.m_Normals = TStridedMemoryView(static_cast(Mem::AdvanceRawPointer(mesh.m_RawSkinnedData, offsetNor)), vertexCount, sizeof(CFloat4)); + mesh.m_Tangents = TStridedMemoryView(static_cast(Mem::AdvanceRawPointer(mesh.m_RawSkinnedData, offsetTan)), vertexCount, sizeof(CFloat4)); + mesh.m_OldPositions = TStridedMemoryView(static_cast(Mem::AdvanceRawPointer(mesh.m_RawSkinnedData, offsetOld)), vertexCount, sizeof(CFloat4)); + mesh.m_Velocities = TStridedMemoryView(static_cast(Mem::AdvanceRawPointer(mesh.m_RawSkinnedData, offsetVel)), vertexCount, sizeof(CFloat4)); + + mesh.m_SampleSourceOverride.m_PositionsOverride = TStridedMemoryView(); + mesh.m_SampleSourceOverride.m_NormalsOverride = TStridedMemoryView(); + mesh.m_SampleSourceOverride.m_TangentsOverride = TStridedMemoryView(); + mesh.m_SampleSourceOverride.m_VelocitiesOverride = TStridedMemoryView(); + } + + if (samplingChannels & Channel_Position) + mesh.m_SampleSourceOverride.m_PositionsOverride = mesh.m_Positions; + + if (samplingChannels & Channel_Velocity) + mesh.m_SampleSourceOverride.m_VelocitiesOverride = mesh.m_Velocities; + + if (samplingChannels & Channel_Normal) + mesh.m_SampleSourceOverride.m_NormalsOverride = mesh.m_Normals; + + if (samplingChannels & Channel_Tangent) + mesh.m_SampleSourceOverride.m_TangentsOverride = mesh.m_Tangents; + + PK_ASSERT(mesh.m_RawSkinnedData != null); + + // copy source vertex-buffer streams to dst + // Note: here we only copy the tangents. the 'w' components of the tangents will not be touched by the skinner, and have to be valid in the dst streams + // (this might change in the future, where no initial copy necessary at all) +#ifdef PK_SAMPLE_SKIN_TANGENTS + TStridedMemoryView srcVbTangents = srcVStream.Tangents(); + PK_ASSERT(srcVbTangents.Count() == srcVStream.VertexCount()); + PK_ASSERT(srcVbTangents.Count() == mesh.m_RawSkinnedDataElementCount); + PK_ASSERT(mesh.m_Tangents.Stride() == sizeof(CFloat4)); + + if (srcVbTangents.Stride() == mesh.m_Tangents.Stride()) + { + // common-case fast-path + Mem::Copy(mesh.m_Tangents.Data(), srcVbTangents.Data(), mesh.m_RawSkinnedDataElementCount * sizeof(CFloat4)); + } + else + { + // do a slow copy (should not happen, except if we've got AOS VBs (we shouldn't, skinner will take a monstruous perf hit) + for (u32 i = 0; i < mesh.m_RawSkinnedDataElementCount; i++) + mesh.m_Tangents[i] = srcVbTangents[i]; + } +#endif + } + + return true; +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMesh::Play(const PSkeletonAnimationInstance &animInstance) +{ + if (m_SkeletonState != null) + { + if (m_SkeletonState->__TMP_GORE_PlayAnim(animInstance) == null) // FIXME: gore + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::Stop() +{ + if (m_SkeletonState != null) + m_SkeletonState->__TMP_GORE_StopAnim(); // FIXME: gore +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::Update(float dt) +{ + m_Timeline.Update(dt); + if (m_SkeletonState != null) + m_SkeletonState->Update(dt); +} + +//---------------------------------------------------------------------------- + +#if 0 +void CSkinnedMesh::Render() +{ + m_Renderer.AnimMesh(m_Positions); + m_Renderer.Render(); +} +#endif + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::StartAsyncUpdateSkin(float dt) +{ + if (m_SkeletonState == null) + return; + + const u32 samplingChannels = SamplingChannels(); + if (samplingChannels & Channel_Velocity) + m_SkinDt = dt; + + for (auto &mesh : m_SubMeshes) + { + if (mesh.Empty()) + continue; + + SSkinContext asyncSkinContext; + + const CMeshVStream *vStream = &mesh.m_SkeletalMesh->RawMesh()->TriangleBatch().m_VStream; + + asyncSkinContext.m_SkinningStreams = mesh.m_SkeletalMesh->m_OptimizedStreams; + + // Skinner always expects positions, even if the effect won't be sampling them + asyncSkinContext.m_SrcPositions = vStream->Positions(); + asyncSkinContext.m_DstPositions = mesh.m_Positions; + + // The rendering may need normals (in fact, the most of the cases) + //if (samplingChannels & Channel_Normal) + { + asyncSkinContext.m_SrcNormals = vStream->Normals(); + asyncSkinContext.m_DstNormals = mesh.m_Normals; + } + + // The rendering may need tangents (not for now, as skined mesh does not have normal-map) + // for tangents, they are in fact a CFloat4 stream, with the 'w' component containing a sign telling if the tangent basis is mirrored. + // we are only interested in skinning the float3 part, and we need to keep the 'w' component intact for correct tangent-space reconstruction in the shaders. + if (samplingChannels & Channel_Tangent) + { + asyncSkinContext.m_SrcTangents = vStream->Tangents(); + asyncSkinContext.m_DstTangents = mesh.m_Tangents; + } + + if (samplingChannels & Channel_Velocity) + { + // hook our pre-skin callback where we'll copy the positions to m_OldPositions so that the skin job can correctly + // differentiate the two and compute the instantaneous mesh surface velocities using 'asyncSkinContext.m_SrcDt' + asyncSkinContext.m_CustomProcess_PreSkin = SSkinContext::CbCustomProcess(&mesh, &SSubMesh::Skin_PreProcess); + asyncSkinContext.m_CustomProcess_PostSkin = SSkinContext::CbCustomProcess(&mesh, &SSubMesh::Skin_PostProcess); + } + + asyncSkinContext.m_SkinFlags = SkinFlags_UseMultipassSkinning; + // If you handle unskinned verts in the PostSkin pass, you can set the following flag, + // it'll avoid unnecessary copies in the skinner jobs: +// asyncSkinContext.m_SkinFlags = SkinFlags_DontCopyUnskinnedVerts; + + mesh.m_SkinDt = m_SkinDt; + mesh.m_FirstFrame = m_FirstFrame; + + CSkeletalSkinnerSimple::AsyncSkinStart(mesh.m_SkinUpdateContext, m_SkeletonState->View(), asyncSkinContext); + } +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::SSubMesh::Skin_PreProcess(u32 vertexStart, u32 vertexCount, const SSkinContext &ctx) +{ + (void)ctx; + if (m_SkeletonState == null) + return; + + TStridedMemoryView src = m_Positions.Slice(vertexStart, vertexCount); + TStridedMemoryView dst = m_OldPositions.Slice(vertexStart, vertexCount); + + PK_ASSERT(src.Stride() == 0x10 && dst.Stride() == 0x10); + Mem::Copy(dst.Data(), src.Data(), dst.Count() * dst.Stride()); +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::SSubMesh::Skin_PostProcess(u32 vertexStart, u32 vertexCount, const SSkinContext &ctx) +{ + if (m_SkeletonState == null) + return; + + PK_SCOPEDPROFILE(); // record this function in the visual profiler + + // compute instantaneous surface velocities IFN: + TStridedMemoryView vel = m_Velocities.Slice(vertexStart, vertexCount); + TStridedMemoryView posCur = ctx.m_DstPositions.Slice(vertexStart, vertexCount); + TStridedMemoryView posOld = m_OldPositions.Slice(vertexStart, vertexCount); + const float dt = m_SkinDt; + + const bool continuousAnim = true;//(m_Skeleton != null) && (m_Skeleton->LastUpdateFrameID() == m_LastSkinnedSkeletonFrameID + 1); + if ((m_FirstFrame || !continuousAnim) && !vel.Empty()) + { + Mem::Clear(vel.Data(), vel.CoveredBytes()); + + PK_ASSERT(posCur.Stride() == posOld.Stride()); + PK_ASSERT(posCur.Count() == posOld.Count()); + PK_ASSERT(posCur.CoveredBytes() == posOld.CoveredBytes()); + if (m_FirstFrame) + { + // Avoid glitches during the first frame: our old positions will be the bindpose, + // we don't want particles to lerp between bindpose and first real frame + Mem::Copy((void*)posOld.Data(), posCur.Data(), posOld.CoveredBytes()); + } + } + else if (!posCur.Empty() && !posOld.Empty() && !vel.Empty()) + { + PK_ASSERT(posCur.Stride() == 0x10); + PK_ASSERT(posOld.Stride() == 0x10); + PK_ASSERT(vel.Stride() == 0x10); + + CFloat3 * __restrict dstVel = vel.Data(); + const CFloat3 *dstVelEnd = Mem::AdvanceRawPointer(dstVel, vertexCount * 0x10); + const CFloat3 *srcPosCur = posCur.Data(); + const CFloat3 *srcPosOld = posOld.Data(); + + PK_ASSERT(Mem::IsAligned<0x10>(dstVel)); + PK_ASSERT(Mem::IsAligned<0x10>(dstVelEnd)); + PK_ASSERT(Mem::IsAligned<0x10>(srcPosCur)); + PK_ASSERT(Mem::IsAligned<0x10>(srcPosOld)); + + const SIMD::Float4 invDt = SIMD::Float4(1.0f / dt); + dstVelEnd = Mem::AdvanceRawPointer(dstVelEnd, -0x40); + while (dstVel < dstVelEnd) + { + const SIMD::Float4 pA0 = SIMD::Float4::LoadAligned16(srcPosOld, 0x00); + const SIMD::Float4 pA1 = SIMD::Float4::LoadAligned16(srcPosOld, 0x10); + const SIMD::Float4 pA2 = SIMD::Float4::LoadAligned16(srcPosOld, 0x20); + const SIMD::Float4 pA3 = SIMD::Float4::LoadAligned16(srcPosOld, 0x30); + const SIMD::Float4 pB0 = SIMD::Float4::LoadAligned16(srcPosCur, 0x00); + const SIMD::Float4 pB1 = SIMD::Float4::LoadAligned16(srcPosCur, 0x10); + const SIMD::Float4 pB2 = SIMD::Float4::LoadAligned16(srcPosCur, 0x20); + const SIMD::Float4 pB3 = SIMD::Float4::LoadAligned16(srcPosCur, 0x30); + const SIMD::Float4 v0 = (pB0 - pA0) * invDt; + const SIMD::Float4 v1 = (pB1 - pA1) * invDt; + const SIMD::Float4 v2 = (pB2 - pA2) * invDt; + const SIMD::Float4 v3 = (pB3 - pA3) * invDt; + v0.StoreAligned16(dstVel, 0x00); + v1.StoreAligned16(dstVel, 0x10); + v2.StoreAligned16(dstVel, 0x20); + v3.StoreAligned16(dstVel, 0x30); + + dstVel = Mem::AdvanceRawPointer(dstVel, 0x40); + srcPosCur = Mem::AdvanceRawPointer(srcPosCur, 0x40); + srcPosOld = Mem::AdvanceRawPointer(srcPosOld, 0x40); + } + dstVelEnd = Mem::AdvanceRawPointer(dstVelEnd, +0x40); + + while (dstVel < dstVelEnd) + { + const SIMD::Float4 pA = SIMD::Float4::LoadAligned16(srcPosOld); + const SIMD::Float4 pB = SIMD::Float4::LoadAligned16(srcPosCur); + const SIMD::Float4 v = (pB - pA) * invDt; + v.StoreAligned16(dstVel); + + dstVel = Mem::AdvanceRawPointer(dstVel, 0x10); + srcPosCur = Mem::AdvanceRawPointer(srcPosCur, 0x10); + srcPosOld = Mem::AdvanceRawPointer(srcPosOld, 0x10); + } + } +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMesh::WaitAsyncUpdateSkin() +{ + if (m_SkeletonState == null) + return true; + + for (auto &mesh : m_SubMeshes) + { + if (mesh.Empty()) + continue; + CAABB dummy; + if (!CSkeletalSkinnerSimple::AsyncSkinWait(mesh.m_SkinUpdateContext, &dummy, true)) + return false; + + if (mesh.m_FirstFrame && !mesh.m_Velocities.Empty()) + Mem::Clear(mesh.m_Velocities.Data(), mesh.m_Velocities.CoveredBytes()); + + mesh.m_FirstFrame = false; + } + + m_FirstFrame = false; + return true; +} + +//---------------------------------------------------------------------------- + +void CSkinnedMesh::ClearVelocities() +{ + for (auto &mesh : m_SubMeshes) + { + if (!mesh.Empty()) + Mem::Clear(mesh.m_Velocities.Data(), mesh.m_Velocities.CoveredBytes()); + } +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_SkinnedMeshInstance.cpp b/AE_GeneralPlugin/Sources/AEGP_SkinnedMeshInstance.cpp new file mode 100644 index 00000000..a2cb4370 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_SkinnedMeshInstance.cpp @@ -0,0 +1,261 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_SkinnedMeshInstance.h" +#include "AEGP_SkinnedMesh.h" + +#include +#include +#include +#include // for random XForms tests +#include // for 'Skin_PostProcess' +#include // for CMeshSurfaceSamplerStructuresRandom && CMeshVolumeSamplerStructuresRandom +// For skinned mesh backdrops +#include +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CSkinnedMeshInstance::CSkinnedMeshInstance() + : m_SkeletonAnimationInstance(null) + , m_CurrentAnimationPath(CString::EmptyString) + , m_SkinnedMesh(null) + , m_CurMeshTransformScaled(CFloat4x4::IDENTITY) + , m_CurMeshTransform(CFloat4x4::IDENTITY) + , m_PrevMeshTransform(CFloat4x4::IDENTITY) +{ + +} + +//---------------------------------------------------------------------------- + +CSkinnedMeshInstance::~CSkinnedMeshInstance() +{ + if (m_SurfaceSamplingStruct != null) + PK_DELETE(m_SurfaceSamplingStruct); + if (m_VolumeSamplingStruct != null) + PK_DELETE(m_VolumeSamplingStruct); + + // order matters + m_SkeletonAnimationInstance = null; + m_SkinnedMesh = null; + +} + +//---------------------------------------------------------------------------- + +CSkinnedMeshInstance &CSkinnedMeshInstance::operator=(const CSkinnedMeshInstance &other) +{ + if (m_SurfaceSamplingStruct != null) + PK_SAFE_DELETE(m_SurfaceSamplingStruct); + if (m_VolumeSamplingStruct != null) + PK_SAFE_DELETE(m_VolumeSamplingStruct); + + m_CurrentAnimationPath = other.m_CurrentAnimationPath; + m_SkinnedMesh = other.m_SkinnedMesh; + m_ShapeDescOverride = other.m_ShapeDescOverride; + + m_CurMeshTransformScaled = other.m_CurMeshTransformScaled; + m_CurMeshTransform = other.m_CurMeshTransform; + m_PrevMeshTransform = other.m_PrevMeshTransform; + + PK_ASSERT(other.m_SurfaceSamplingStruct == null && + other.m_VolumeSamplingStruct == null); + return *this; +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::ResetXForms(const CFloat4x4 &backdropXForm) +{ + SetBackdropXForms(backdropXForm); + +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::SetBackdropXForms(const CFloat4x4 &backdropXForm) +{ + m_CurMeshTransform = backdropXForm; + m_PrevMeshTransform = backdropXForm; + m_CurMeshTransformScaled = m_CurMeshTransform; + + // Fix #5336: Scaled mesh backdrops also scale their sampled normals. Should not + // Here we need to remove the scale of the transforms and instead apply it in the mesh descriptor with 'SetScale' + const CFloat3 scale = m_CurMeshTransform.ScalingFactors(); + m_CurMeshTransform.RemoveScale(); + m_PrevMeshTransform.RemoveScale(); + + // Apply scale + if (m_ShapeDescOverride != null) + { + CParticleSamplerDescriptor_Shape_Default *def = checked_cast(m_ShapeDescOverride.Get()); + if (PK_VERIFY(def->m_Shape != null && def->m_Shape->ShapeType() == CShapeDescriptor::ShapeMesh)) + { + CShapeDescriptor_Mesh *shapeDescMesh = const_cast(checked_cast(def->m_Shape.Get())); + if (PK_VERIFY(shapeDescMesh != null)) + shapeDescMesh->SetScale(scale); + } + } +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::ResetAnimationCursor() +{ + if (m_SkeletonAnimationInstance != null) + m_SkeletonAnimationInstance->SeekTo(0.0f); +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::Update(float dt) +{ + if (m_SkinnedMesh != null) + m_SkinnedMesh->Update(dt); +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::StartAsyncUpdateSkin(float dt) +{ + if (m_SkinnedMesh != null) + m_SkinnedMesh->StartAsyncUpdateSkin(dt); +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMeshInstance::WaitAsyncUpdateSkin() +{ + if (m_SkinnedMesh != null) + return m_SkinnedMesh->WaitAsyncUpdateSkin(); + return true; +} + +//---------------------------------------------------------------------------- + +void CSkinnedMeshInstance::ClearSkinnedMesh() +{ + m_SkeletonAnimationInstance = null; + if (m_SkinnedMesh != null) + m_SkinnedMesh->Reset(); +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMeshInstance::LoadSkinnedMeshIFN(const TResourcePtr &meshResource, u32 samplingChannels, const PSkeletonState &scrSkeletonState) +{ + m_SkeletonAnimationInstance = null; + if (meshResource == null) + { + if (m_SkinnedMesh != null) + m_SkinnedMesh->Reset(); + return true; + } + + if (m_SkinnedMesh == null) + { + m_SkinnedMesh = PK_NEW(CSkinnedMesh); + if (m_SkinnedMesh == null) + return false; + } + + if (!m_SkinnedMesh->Init(meshResource, samplingChannels, scrSkeletonState)) + { + m_SkinnedMesh->Reset(); + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMeshInstance::LoadAnimationIFN(HBO::CContext *context, const CString &pksaPath, bool forceReload) +{ + m_SkeletonAnimationInstance = null; + if (m_SkinnedMesh == null || !m_SkinnedMesh->HasGeometry()) + return true; + + if (pksaPath.Empty()) + { + m_SkeletonAnimationInstance = null; + m_CurrentAnimationPath = null; + m_SkinnedMesh->Stop(); + return true; + } + + if (m_SkeletonAnimationInstance == null || m_CurrentAnimationPath != pksaPath) // if not already loaded or different anim + { + m_SkeletonAnimationInstance = CSkeletonAnimationInstance::NewInstance(context, pksaPath, m_SkinnedMesh->SkeletonState().Get(), forceReload); + if (m_SkeletonAnimationInstance == null) + { + CLog::Log(PK_ERROR, "failed loading animation"); + m_SkinnedMesh->Stop(); + return false; + } + + m_CurrentAnimationPath = pksaPath; + } + + // reset playback parameters + m_SkeletonAnimationInstance->SetPlaybackMode(CSkeletonAnimationInstance::Playback_Loop); + m_SkeletonAnimationInstance->SeekTo(0.0f); + m_SkeletonAnimationInstance->SetSpeed(1.0f); + m_SkinnedMesh->Play(m_SkeletonAnimationInstance); + return true; +} + +//---------------------------------------------------------------------------- + +bool CSkinnedMeshInstance::SetupAttributeSampler(CMeshNew *srcMesh, bool weightedSampling, u32 weightedSamplingColorStreamId, u32 weightedSamplingChannelId) +{ + PK_ASSERT(m_SkinnedMesh != null); + CShapeDescriptor_Mesh *shapeDescMesh = PK_NEW(CShapeDescriptor_Mesh); + if (!PK_VERIFY(shapeDescMesh != null)) + return false; + + SSamplerSourceOverride *samplerSourceOverride = null; + const u32 samplingSubMeshId = 0; + if (samplingSubMeshId < m_SkinnedMesh->SubMeshCount()) + samplerSourceOverride = m_SkinnedMesh->SamplerSourceOverride(samplingSubMeshId); + shapeDescMesh->SetMesh(srcMesh, samplerSourceOverride); + + shapeDescMesh->SetScale(m_CurMeshTransformScaled.ScalingFactors()); + + if (weightedSampling) + { + if (m_SurfaceSamplingStruct == null) + m_SurfaceSamplingStruct = PK_NEW(CMeshSurfaceSamplerStructuresRandom); + if (m_SurfaceSamplingStruct != null) + srcMesh->SetupSurfaceSamplingAccelStructs(weightedSamplingColorStreamId, weightedSamplingChannelId, *m_SurfaceSamplingStruct); + + if (m_VolumeSamplingStruct == null) + m_VolumeSamplingStruct = PK_NEW(CMeshVolumeSamplerStructuresRandom); + if (m_VolumeSamplingStruct != null) + srcMesh->SetupVolumeSamplingAccelStructs(*m_VolumeSamplingStruct); + + shapeDescMesh->SetSamplingStructs(m_SurfaceSamplingStruct, m_VolumeSamplingStruct); + } + + PParticleSamplerDescriptor_Shape_Default desc = PK_NEW(CParticleSamplerDescriptor_Shape_Default(shapeDescMesh)); + if (!PK_VERIFY(desc != null)) + { + PK_DELETE(shapeDescMesh); + return false; + } + desc->m_Angular_Velocity = &CFloat3::ZERO; + desc->m_Linear_Velocity = &CFloat3::ZERO; + desc->m_WorldTr_Current = &m_CurMeshTransform; + desc->m_WorldTr_Previous = &m_PrevMeshTransform; + m_ShapeDescOverride = desc; + return true; + +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_System.cpp b/AE_GeneralPlugin/Sources/AEGP_System.cpp new file mode 100644 index 00000000..5c3291c4 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_System.cpp @@ -0,0 +1,276 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- + +#include "ae_precompiled.h" +#include "AEGP_System.h" +#include "AEGP_Define.h" + +#if defined(PK_WINDOWS) +#include "AEGP_WinSystem.h" +#endif + +#include "pk_toolkit/include/pk_toolkit_process.h" + +#if defined(PK_WINDOWS) +# include + +#elif defined(PK_LINUX) || defined(PK_MACOSX) +# include +# include +# include +#endif + +#if defined(PK_LINUX) +# include +#elif defined(PK_MACOSX) +# include +#endif + +#include "AEGP_Log.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- +// HardwareID +//---------------------------------------------------------------------------- + +u16 CSystemHelper::_GetMacHash() +{ + u16 hash = 0; + + //for (const QNetworkInterface &interface : QNetworkInterface::allInterfaces()) + //{ + // if (interface.isValid() && !interface.flags().testFlag(QNetworkInterface::IsLoopBack)) + // { + // const QStringList macAddr = interface.hardwareAddress().split(":"); + // + // for (int i = 0; i < macAddr.length(); ++i) + // hash += (macAddr[i].toInt() << ((i & 1) * 8)); + // } + //} + + return hash; +} + +//---------------------------------------------------------------------------- + +#if defined(PK_LINUX) +static void _getCpuid(u32 *p, u32 ax) +{ + __asm __volatile + ("movl %%ebx, %%esi\n\t" + "cpuid\n\t" + "xchgl %%ebx, %%esi" + : "=a" (p[0]), "=S" (p[1]), + "=c" (p[2]), "=d" (p[3]) + : "0" (ax) + ); +} +#endif + +//---------------------------------------------------------------------------- + +u16 CSystemHelper::_GetCPUHash() +{ + u16 hash = 0; + +#if defined(PK_WINDOWS) + int cpuinfo[4] = { 0, 0, 0, 0 }; + + __cpuid(cpuinfo, 0); + + u16 *ptr = (u16*)(&cpuinfo[0]); + for (u32 i = 0; i < 8; i++) + hash += ptr[i]; + +#elif defined(PK_LINUX) + + u32 cpuinfo[4] = { 0, 0, 0, 0 }; + + _getCpuid(cpuinfo, 0); + + u32 *ptr = (&cpuinfo[0]); + + for (u32 i = 0; i < 4; i++) + hash += (ptr[i] & 0xFFFF) + (ptr[i] >> 16); + +#elif defined(PK_MACOSX) + + const NXArchInfo *info = NXGetLocalArchInfo(); + + hash += u16(info->cputype); + hash += u16(info->cpusubtype); + +#else + PK_ASSERT_NOT_REACHED(); +#endif + + return hash; +} + +//---------------------------------------------------------------------------- + +const char *CSystemHelper::_GetMachineName() +{ +#if defined(PK_WINDOWS) + static char computerName[1024]; + DWORD size = 1024; + + GetComputerName(computerName, &size); + + return computerName; + +#elif defined(PK_LINUX) || defined(PK_MACOSX) + static struct utsname u; + + if (uname(&u) < 0) + return "unknown"; + + return u.nodename; +#else + PK_ASSERT_NOT_REACHED(); +#endif +} + +//---------------------------------------------------------------------------- + +static const u16 kSmearMask[3] = { 0x4e25, 0xf4a1, 0x5437 }; + +//---------------------------------------------------------------------------- + +void CSystemHelper::_Smear(u16 *id) +{ + for (u32 i = 0; i < 3; i++) + { + for (u32 j = i; j < 3; j++) + { + if (i != j) + id[i] ^= id[j]; + } + } + + for (u32 i = 0; i < 3; i++) + id[i] ^= kSmearMask[i]; +} + +//---------------------------------------------------------------------------- + +void CSystemHelper::_Unsmear(u16 *id) +{ + for (u32 i = 0; i < 3; i++) + id[i] ^= kSmearMask[i]; + + for (u32 i = 0; i < 3; i++) + { + for (u32 j = 0; j < i; j++) + { + if (i != j) + id[2 - i] ^= id[2 - j]; + } + } +} + +//---------------------------------------------------------------------------- + +u16 *CSystemHelper::_ComputeSystemUniqueId() +{ + static u16 id[3]; + static bool computed = false; + + if (!computed) + { + id[0] = _GetCPUHash(); + id[2] = _GetMacHash(); + id[1] = id[0] + id[2]; + + _Smear(id); + + computed = true; + } + + return id; +} + +//---------------------------------------------------------------------------- + +const CString CSystemHelper::GetUniqueHardwareID() +{ + CString hId; + + u16 *id = _ComputeSystemUniqueId(); + for (u32 i = 0; i < 3; i++) + hId += CString::Format("%04x", id[i]); + + return hId.ToUppercase(); +} + +//---------------------------------------------------------------------------- + +const CString CSystemHelper::GetUniqueHardwareIDForHuman() +{ + CString hId = _GetMachineName(); + + u16 *id = _ComputeSystemUniqueId(); + for (u32 i = 0; i < 3; i++) + hId += CString::Format("-%04x", id[i]); + + return hId.ToUppercase(); +} + +bool CSystemHelper::LaunchEditorAsPopup() +{ + SEngineVersion version{ PK_VERSION_MAJOR, PK_VERSION_MINOR, PK_VERSION_PATCH, PK_VERSION_REVID }; +#if defined(PK_WINDOWS) + SEditorExecutable application = CWinSystemHelper::GetMatchingEditor(version); +#else + SEditorExecutable application; +#endif + if (application.m_BinaryPath.Empty()) + { + return CAELog::TryLogErrorWindows("No installed versions of the PopcornFX editor were found\nPlease visit: https://auth.popcornfx.com/ws/latest?channel=pkfx-stable&v=2 and download the latest PopcornFX editor"); + } + + CProcess process; + + TArray commandline; + + if (!commandline.PushBack("--aeass").Valid()) + return false; + if (!commandline.PushBack("toto").Valid()) + return false; + if (!process.Start(application.m_BinaryPath, commandline, true)) + { + return CAELog::TryLogErrorWindows("No installed versions of the PopcornFX editor were found\nPlease visit: https://auth.popcornfx.com/ws/latest?channel=pkfx-stable&v=2 and download the latest PopcornFX editor"); + } + CString output; + +#if defined(PK_WINDOWS) + TArray errorIgnoreList; + errorIgnoreList.PushBack(ERROR_NO_MORE_FILES); +#endif + + process.WaitForExit(); + + output = process.GetProcessStandardOutput(); + if (output != null && !output.Empty()) + { + CLog::Log(PK_INFO, "%s", output.Data()); + output.Clear(); + } + else + { +#if defined(PK_WINDOWS) + CString errorstr = CWinSystemHelper::GetLastErrorAsString(errorIgnoreList); + if (!errorstr.Empty()) + { + CLog::Log(PK_INFO, "%s", errorstr.Data()); + return false; + } +#endif + } + return true; +} + +//---------------------------------------------------------------------------- +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_UpdateAEState.cpp b/AE_GeneralPlugin/Sources/AEGP_UpdateAEState.cpp new file mode 100644 index 00000000..392d0dac --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_UpdateAEState.cpp @@ -0,0 +1,1233 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_UpdateAEState.h" + +#include "AEGP_World.h" +#include "AEGP_LayerHolder.h" +#include "AEGP_AEPKConversion.h" + +#include + +#include + +__AEGP_PK_BEGIN + + +int CAEUpdater::s_AttributeIndexes[__Attribute_Parameters_Count]; +int CAEUpdater::s_EmitterIndexes[__Effect_Parameters_Count]; +int CAEUpdater::s_SamplerIndexes[__AttributeSamplerType_Parameters_Count]; + +//---------------------------------------------------------------------------- + +CAEUpdater::CAEUpdater() +{ +} + +//---------------------------------------------------------------------------- + +CAEUpdater::~CAEUpdater() +{ +} + +//---------------------------------------------------------------------------- + +A_Err CAEUpdater::UpdateLayerAtTime(SLayerHolder *targetLayer, float time, bool isSeeking /*=false*/) +{ + s32 targetTime = (s32)(time * (float)targetLayer->m_TimeScale); + s32 toEndOfFrame = targetTime % targetLayer->m_TimeStep; + A_Time AETime; + + if (targetTime < 0) + AETime.value = 0; + else if ((u32)toEndOfFrame > (targetLayer->m_TimeStep / 2)) + AETime.value = targetTime + (targetLayer->m_TimeStep - toEndOfFrame); // Round to next frame + else + AETime.value = targetTime - toEndOfFrame; // Round to previous frame + AETime.scale = targetLayer->m_TimeScale; + return _UpdateLayerAtTime(targetLayer, AETime, isSeeking); +} + +//---------------------------------------------------------------------------- + +A_Err CAEUpdater::_UpdateLayerAtTime(SLayerHolder *targetLayer, A_Time &AETime, bool isSeeking /*=false*/) +{ + PK_ASSERT(targetLayer != null); + + PK_SCOPEDPROFILE(); + + A_Err frameAborted = A_Err_NONE; + CFloat4x4 viewMatrix; + CFloat4 cameraPos; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + + float cameraZoom = 0.f; + GetCameraViewMatrixAtTime(targetLayer, viewMatrix, cameraPos, AETime, cameraZoom); + targetLayer->m_Scene->SetCameraViewMatrix(viewMatrix, cameraPos, cameraZoom); + + A_long effectCount = 0; + + frameAborted |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(targetLayer->m_EffectLayer, &effectCount); + + for (A_long j = effectCount - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + frameAborted |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(PKFXWorld.GetPluginID(), targetLayer->m_EffectLayer, j, &effectRef); + frameAborted |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (installedKey == PKFXWorld.GetPluginEffectKey(EPKChildPlugins::EMITTER)) + { + frameAborted |= _UpdateEmitterAtTime(targetLayer, effectRef, AETime, isSeeking); + if (frameAborted != A_Err_NONE) + return frameAborted; + } + else if (installedKey == PKFXWorld.GetPluginEffectKey(EPKChildPlugins::ATTRIBUTE)) + { + CStringId id = PKFXWorld.GetAttributeID(effectRef); + if (targetLayer->m_SpawnedAttributes.Contains(id)) + { + SPendingAttribute *attribute = targetLayer->m_SpawnedAttributes[id]; + + PK_ASSERT(attribute != null); + frameAborted |= _UpdateAttributeAtTime(targetLayer, attribute, effectRef, AETime, isSeeking); + if (frameAborted != A_Err_NONE) + return frameAborted; + } + } + else if (installedKey == PKFXWorld.GetPluginEffectKey(EPKChildPlugins::SAMPLER)) + { + CStringId id = PKFXWorld.GetAttributeSamplerID(effectRef); + if (targetLayer->m_SpawnedAttributesSampler.Contains(id)) + { + SPendingAttribute *smplr = targetLayer->m_SpawnedAttributesSampler[id]; + + PK_ASSERT(smplr != null); + PK_ASSERT(smplr->m_Desc != null); + + SAttributeSamplerDesc *samplerDescriptor = static_cast(smplr->m_Desc); + + if (smplr->m_PKDesc == null) + { + switch (samplerDescriptor->m_Type) + { + case AttributeSamplerType_Geometry: + smplr->m_PKDesc = PK_NEW(SSamplerShape); + break; + case AttributeSamplerType_Text: + smplr->m_PKDesc = PK_NEW(SSamplerText); + break; + case AttributeSamplerType_Image: + smplr->m_PKDesc = PK_NEW(SSamplerImage); + break; + case AttributeSamplerType_Audio: + { + SSamplerAudio *sampler = PK_NEW(SSamplerAudio); + smplr->m_PKDesc = sampler; + sampler->m_Name = CStringId(((SAudioSamplerDescriptor*)samplerDescriptor->m_Descriptor)->m_ChannelGroup.c_str()); + break; + } + case AttributeSamplerType_VectorField: + smplr->m_PKDesc = PK_NEW(SSamplerVectorField); + break; + default: + break; + } + } + PK_ASSERT(smplr->m_PKDesc != null); + frameAborted |= _UpdateSamplerAtTime(targetLayer, smplr, effectRef, AETime, isSeeking); + if (frameAborted != A_Err_NONE) + return frameAborted; + } + } + frameAborted |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + if (!PK_VERIFY(frameAborted == A_Err_NONE)) + return frameAborted; + if (!targetLayer->m_Scene->UpdateAttributes(targetLayer)) + return A_Err_GENERIC; + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +bool CAEUpdater::GetCameraViewMatrixAtTime(SLayerHolder *layer, CFloat4x4 &view, CFloat4 &pos, A_Time &AETime, float &cameraZoom) +{ + PK_SCOPEDPROFILE(); + + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + AEGP_LayerH camera_layerH = null; + A_Matrix4 matrix; + PF_Err result = A_Err_NONE; + CFloat4x4 viewMatrix = CFloat4x4::IDENTITY; + SEmitterDesc *emitter = layer->m_SpawnedEmitter.m_Desc; + + camera_layerH = layer->m_CameraLayer; + if (!result && camera_layerH) + { + result |= suites.LayerSuite5()->AEGP_GetLayerToWorldXform(camera_layerH, &AETime, &matrix); + if (!result) + { + emitter->m_Camera.m_AECameraPresent = true; + AEGP_StreamVal stream_val; + AEFX_CLR_STRUCT(stream_val); + + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(camera_layerH, + AEGP_LayerStream_ZOOM, + AEGP_LTimeMode_CompTime, + &AETime, + FALSE, + &stream_val, + null); + cameraZoom = (float)stream_val.one_d; + AAEToPK(matrix, viewMatrix); + + pos = viewMatrix.WAxis(); +#if defined(PK_SCALE_DOWN) + pos.xyz() = pos.xyz() / layer->m_ScaleFactor; + viewMatrix.WAxis() = pos; +#endif + viewMatrix.Invert(); + view = viewMatrix; + } + } + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAEUpdater::_SetupAudioSampler(SLayerHolder *targetLayer, AEGP_LayerIDVal layerID, A_Time &AETime, SSamplerAudio *samplerAudio, bool isSeeking) +{ + (void)isSeeking; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + A_Err frameAborted = A_Err_NONE; + + if (layerID != AEGP_LayerIDVal_NONE) + { + AEGP_LayerH layer; + AEGP_CompH compH; + AEGP_ItemH layerItem = null; + AEGP_SoundDataFormat soundFormat; + AEGP_SoundDataH soundData = null; + A_Time duration; + A_Time layerTime; + + frameAborted |= suites.LayerSuite5()->AEGP_GetLayerParentComp(targetLayer->m_EffectLayer, &compH); + frameAborted |= suites.LayerSuite7()->AEGP_GetLayerFromLayerID(compH, layerID, &layer); + frameAborted |= suites.LayerSuite5()->AEGP_GetLayerSourceItem(layer, &layerItem); + frameAborted |= suites.LayerSuite5()->AEGP_ConvertCompToLayerTime(layer, &AETime, &layerTime); + + if (layerItem == null) + return false; + + soundFormat.encoding = AEGP_SoundEncoding_FLOAT; + soundFormat.num_channelsL = 1; + soundFormat.sample_rateF = 48000.0; + + // We compute the expected timestep to get 2048 values (We are using 2x the number of samples in the PopcornFX editor to get proper spectrum analysis): + A_FpLong secondsToSample = 2048.0 / soundFormat.sample_rateF; + + duration.value = static_cast(secondsToSample * static_cast(targetLayer->m_TimeScale)) + 1; + duration.scale = targetLayer->m_TimeScale; + frameAborted |= suites.RenderSuite5()->AEGP_RenderNewItemSoundData(layerItem, &layerTime, &duration, &soundFormat, null, null, &soundData); + + if (soundData != null) + { + void *audioSamples; + A_long numSamples = 0; + + frameAborted |= suites.SoundDataSuite1()->AEGP_LockSoundDataSamples(soundData, &audioSamples); + frameAborted |= suites.SoundDataSuite1()->AEGP_GetNumSamples(soundData, &numSamples); + + if (!PK_VERIFY(frameAborted == A_Err_NONE)) + { + frameAborted |= suites.SoundDataSuite1()->AEGP_UnlockSoundDataSamples(soundData); + frameAborted |= suites.SoundDataSuite1()->AEGP_DisposeSoundData(soundData); + } + else + { + samplerAudio->m_SoundData = soundData; + // Align to the previous power of 2: + const int alignedSampleCount = 1 << IntegerTools::Log2(numSamples); + samplerAudio->m_InputSampleCount = alignedSampleCount; + samplerAudio->m_Waveform = (float*)audioSamples; + samplerAudio->m_Dirty = true; + return true; + } + } + } + samplerAudio->m_SoundData = null; + samplerAudio->m_InputSampleCount = 0; + samplerAudio->m_Waveform = null; + return false; +} + +//---------------------------------------------------------------------------- + +A_Err CAEUpdater::_UpdateSamplerAtTime(SLayerHolder *targetLayer, SPendingAttribute *sampler, AEGP_EffectRefH effectRef, A_Time &AETime, bool isSeeking /*=false*/) +{ + if (sampler == null || sampler->m_Desc == null) + return A_Err_NONE; + PK_SCOPEDPROFILE(); + A_Err frameAborted = A_Err_NONE; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + SAttributeSamplerDesc *samplerDescriptor = static_cast(sampler->m_Desc); + SBaseSamplerDescriptor *AEdescriptor = samplerDescriptor->m_Descriptor; + SSamplerBase *PKdescriptor = sampler->m_PKDesc; + + if (!PK_VERIFY(AEdescriptor != null)) + return A_Err_GENERIC; + + switch (samplerDescriptor->m_Type) + { + case AttributeSamplerType_Geometry: + { + SShapeSamplerDescriptor *shapeDescriptor = static_cast(AEdescriptor); + ESamplerShapeType shapeType; + double value; + double dimension[3] = { 0.0, 0.0, 0.0 }; + + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Shapes, effectRef, AETime, value); + shapeType = (ESamplerShapeType)(int)(value - 1); // Because AE Popup are weird. + + if (shapeType == SamplerShapeType_Box) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Box_Size_X, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Box_Size_Y, effectRef, AETime, dimension[1]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Box_Size_Z, effectRef, AETime, dimension[2]); + } + else if (shapeType == SamplerShapeType_Sphere) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Sphere_Radius, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Sphere_InnerRadius, effectRef, AETime, dimension[1]); + } + else if (shapeType == SamplerShapeType_Ellipsoid) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Ellipsoid_Radius, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Ellipsoid_InnerRadius, effectRef, AETime, dimension[1]); + } + else if (shapeType == SamplerShapeType_Cylinder) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Cylinder_Radius, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Cylinder_Height, effectRef, AETime, dimension[1]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Cylinder_InnerRadius, effectRef, AETime, dimension[2]); + } + else if (shapeType == SamplerShapeType_Capsule) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Capsule_Radius, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Capsule_Height, effectRef, AETime, dimension[1]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Capsule_InnerRadius, effectRef, AETime, dimension[2]); + } + else if (shapeType == SamplerShapeType_Cone) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Cone_Radius, effectRef, AETime, dimension[0]); + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Cone_Height, effectRef, AETime, dimension[1]); + } + else if (shapeType == SamplerShapeType_Mesh) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Mesh_Scale, effectRef, AETime, dimension[0]); + } + shapeDescriptor->m_Type = shapeType; + shapeDescriptor->m_Dimension[0] = (float)dimension[0]; + shapeDescriptor->m_Dimension[1] = (float)dimension[1]; + shapeDescriptor->m_Dimension[2] = (float)dimension[2]; + if (shapeType == SamplerShapeType_Mesh) + { + if (shapeDescriptor->m_Path.compare(samplerDescriptor->m_ResourcePath)) + { + shapeDescriptor->m_Path = samplerDescriptor->m_ResourcePath; + PKdescriptor->m_Dirty = true; + } + + double doubleValue; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Mesh_Bind_Backdrop, effectRef, AETime, doubleValue); + shapeDescriptor->m_BindToBackdrop = (bool)doubleValue; + if (shapeDescriptor->m_BindToBackdrop) + { + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_Weighted_Enabled, effectRef, AETime, doubleValue); + shapeDescriptor->m_WeightedSampling = (bool)doubleValue; + + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_ColorStreamID, effectRef, AETime, doubleValue); + shapeDescriptor->m_ColorStreamID = (unsigned int)doubleValue; + + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_WeightStreamID, effectRef, AETime, doubleValue); + shapeDescriptor->m_WeightStreamID = (unsigned int)doubleValue; + } + targetLayer->m_Scene->SetSkinnedBackdropParams(shapeDescriptor->m_BindToBackdrop, shapeDescriptor->m_WeightedSampling, shapeDescriptor->m_ColorStreamID, shapeDescriptor->m_WeightStreamID); + + } + else + PKdescriptor->m_Dirty = true; + break; + } + case AttributeSamplerType_Text: + { + STextSamplerDescriptor *textDesc = static_cast(AEdescriptor); + + AEGP_LayerIDVal layerID; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Pick, effectRef, AETime, layerID); + + if (layerID != AEGP_LayerIDVal_NONE) + { + AEGP_LayerH textLayer; + AEGP_CompH compH; + + frameAborted |= suites.LayerSuite5()->AEGP_GetLayerParentComp(targetLayer->m_EffectLayer, &compH); + frameAborted |= suites.LayerSuite7()->AEGP_GetLayerFromLayerID(compH, layerID, &textLayer); + + AEGP_StreamValue2 streamValue; + AEGP_StreamType streamType; + AEGP_ObjectType layerType; + AEGP_StreamRefH textStream = null; + + frameAborted |= suites.LayerSuite8()->AEGP_GetLayerObjectType(textLayer, &layerType); + if (!PK_VERIFY(frameAborted == A_Err_NONE) || layerType != AEGP_ObjectType_TEXT) + break; + + frameAborted |= suites.StreamSuite5()->AEGP_GetNewLayerStream(PKFXWorld.GetPluginID(), textLayer, AEGP_LayerStream_SOURCE_TEXT, &textStream); + frameAborted |= suites.StreamSuite5()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), textStream, AEGP_LTimeMode_LayerTime, &AETime, TRUE, &streamValue); + frameAborted |= suites.StreamSuite2()->AEGP_GetStreamType(textStream, &streamType); + if (!PK_VERIFY(frameAborted == A_Err_NONE) || streamType != AEGP_StreamType_TEXT_DOCUMENT) + break; + + AEGP_MemHandle textHandle = null; + frameAborted |= suites.TextDocumentSuite1()->AEGP_GetNewText(PKFXWorld.GetPluginID(), streamValue.val.text_documentH, &textHandle); + + aechar_t *retrievedText; + CString text = ""; + + if (textHandle != null) + { + frameAborted |= suites.MemorySuite1()->AEGP_LockMemHandle(textHandle, reinterpret_cast(&retrievedText)); + + WCharToCString(retrievedText, &text); + + frameAborted |= suites.MemorySuite1()->AEGP_UnlockMemHandle(textHandle); + frameAborted |= suites.MemorySuite1()->AEGP_FreeMemHandle(textHandle); + + textDesc->m_Data = text.Data(); + PKdescriptor->m_Dirty = true; + } + frameAborted |= suites.StreamSuite5()->AEGP_DisposeStreamValue(&streamValue); + frameAborted |= suites.StreamSuite5()->AEGP_DisposeStream(textStream); + } + else + textDesc->m_Data = ""; + break; + } + case AttributeSamplerType_Image: + { + SSamplerImage *pkImageDesc = static_cast(PKdescriptor); + + if (!PK_VERIFY(pkImageDesc != null)) + break; + + double boolValue; + bool sampleOnSeek = false, sampleOnce = false; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Sample_Once, effectRef, AETime, boolValue); + sampleOnce = (bool)boolValue; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Sample_Seeking, effectRef, AETime, boolValue); + sampleOnSeek = (bool)boolValue; + + double intValue; + int downSampleX; + int downSampleY; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Sample_Downsampling_X, effectRef, AETime, intValue); + downSampleX = (int)intValue; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Sample_Downsampling_Y, effectRef, AETime, intValue); + downSampleY = (int)intValue; + + if ((!sampleOnSeek && isSeeking) || + (sampleOnce && pkImageDesc->m_TextureData != null && pkImageDesc->m_TextureData->DataSizeInBytes() != 0)) + { + pkImageDesc->m_Dirty = false; + break; + } + + AEGP_LayerIDVal layerID; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Pick, effectRef, AETime, layerID); + + if (layerID != AEGP_LayerIDVal_NONE) + { + AEGP_LayerH imageLayer; + AEGP_CompH compH; + AEGP_LayerRenderOptionsH renderOptions = null; + AEGP_WorldType worldType = AEGP_WorldType_NONE; + AEGP_FrameReceiptH inputFrame = null; + AEGP_WorldH inputworld = null; + A_Time layerDuration, layerInPoint; + + frameAborted |= suites.LayerSuite5()->AEGP_GetLayerParentComp(targetLayer->m_EffectLayer, &compH); + frameAborted |= suites.LayerSuite7()->AEGP_GetLayerFromLayerID(compH, layerID, &imageLayer); + + frameAborted |= suites.LayerSuite8()->AEGP_GetLayerInPoint(imageLayer, AEGP_LTimeMode_CompTime, &layerInPoint); + frameAborted |= suites.LayerSuite8()->AEGP_GetLayerDuration(imageLayer, AEGP_LTimeMode_CompTime, &layerDuration); + + if (!PK_VERIFY(frameAborted == A_Err_NONE)) + return frameAborted; + + double aeTime = (double)AETime.value / (double)AETime.scale; + double layInPtTime = (double)layerInPoint.value / (double)layerInPoint.scale; + double layDurTime = (double)layerDuration.value / (double)layerDuration.scale; + + if ((aeTime >= layInPtTime) && + (aeTime < (layInPtTime + layDurTime))) + { + A_Time layerTime; + + layerTime.scale = AETime.scale; + layerTime.value = AETime.value - layerInPoint.value; + frameAborted |= suites.LayerRenderOptionsSuite2()->AEGP_NewFromLayer(PKFXWorld.GetPluginID(), imageLayer, &renderOptions); + frameAborted |= suites.LayerRenderOptionsSuite2()->AEGP_GetWorldType(renderOptions, &worldType); + + frameAborted |= suites.LayerRenderOptionsSuite2()->AEGP_SetTime(renderOptions, layerTime); + + frameAborted |= suites.LayerRenderOptionsSuite2()->AEGP_SetDownsampleFactor(renderOptions, (A_short)downSampleX, (A_short)downSampleY); + + if (frameAborted != A_Err_NONE) + return frameAborted; + + // This fails if the frame is cancelled: + frameAborted |= suites.RenderSuite5()->AEGP_RenderAndCheckoutLayerFrame(renderOptions, null, null, &inputFrame); + + if (frameAborted != A_Err_NONE) + return frameAborted; + + frameAborted |= suites.RenderSuite5()->AEGP_GetReceiptWorld(inputFrame, &inputworld); + if (inputworld != null) + { + A_long width, height; + A_u_long rowbyte; + + frameAborted |= suites.WorldSuite3()->AEGP_GetSize(inputworld, &width, &height); + frameAborted |= suites.WorldSuite3()->AEGP_GetRowBytes(inputworld, &rowbyte); + + if (worldType == AEGP_WorldType_32) + { + PF_Pixel32 *worldData = null; + + pkImageDesc->m_PixelFormat = CImage::EFormat::Format_Fp32RGBA; + pkImageDesc->m_Width = width; + pkImageDesc->m_Height = height; + pkImageDesc->m_SizeInBytes = width * height * sizeof(PF_Pixel32); + pkImageDesc->m_TextureData = CRefCountedMemoryBuffer::AllocAligned(pkImageDesc->m_SizeInBytes, 0x10); + + frameAborted |= suites.WorldSuite3()->AEGP_GetBaseAddr32(inputworld, &worldData); + + if (worldData != null) + { + //input is ARGB; + u8 *sptr = (u8*)worldData; + u8 *dptr = (u8*)pkImageDesc->m_TextureData->Data(); + + for (s32 i = 0; i < height; ++i) + { + for (s32 j = 0; j < width; ++j) + { + PF_Pixel32 *dst = (PF_Pixel32*)&(dptr[j * sizeof(PF_Pixel32) + i * width * sizeof(PF_Pixel32)]); + PF_Pixel32 *src = (PF_Pixel32*)&(sptr[j * sizeof(PF_Pixel32) + i * rowbyte]); + + CFloat4 value = CFloat4(PKSample::ConvertSRGBToLinear(CFloat3(src->red, src->green, src->blue)), src->alpha); + + value = PKSaturate(value); + + /*0*/dst->alpha = value.x(); + /*1*/dst->red = value.y(); + /*2*/dst->green = value.z(); + /*3*/dst->blue = value.w(); + } + } + } + } + else if (worldType == AEGP_WorldType_16) + { + PF_Pixel16 *worldData = null; + + pkImageDesc->m_PixelFormat = CImage::EFormat::Format_Fp16RGBA; + pkImageDesc->m_Width = width; + pkImageDesc->m_Height = height; + pkImageDesc->m_SizeInBytes = width * height * sizeof(PF_Pixel16); + pkImageDesc->m_TextureData = CRefCountedMemoryBuffer::AllocAligned(pkImageDesc->m_SizeInBytes, 0x10); + + frameAborted |= suites.WorldSuite3()->AEGP_GetBaseAddr16(inputworld, &worldData); + + if (worldData != null) + { + //input is ARGB; + u8 *sptr = (u8*)worldData; + u8 *dptr = (u8*)pkImageDesc->m_TextureData->Data(); + + for (s32 i = 0; i < height; ++i) + { + for (s32 j = 0; j < width; ++j) + { + PF_Pixel16 *dst = (PF_Pixel16*)&(dptr[j * sizeof(PF_Pixel16) + i * width * sizeof(PF_Pixel16)]); + PF_Pixel16 *src = (PF_Pixel16*)&(sptr[j * sizeof(PF_Pixel16) + i * rowbyte]); + + CFloat4 value = CFloat4(PKSample::ConvertSRGBToLinear(CFloat3(src->red, src->green, src->blue)), src->alpha); + + value = PKSaturate(value); + /*0*/dst->alpha = (A_u_short)value.x(); + /*1*/dst->red = (A_u_short)value.y(); + /*2*/dst->green = (A_u_short)value.z(); + /*3*/dst->blue = (A_u_short)value.w(); + } + } + } + } + else if (worldType == AEGP_WorldType_8) + { + PF_Pixel8 *worldData = null; + + pkImageDesc->m_PixelFormat = CImage::EFormat::Format_BGRA8; + pkImageDesc->m_Width = width; + pkImageDesc->m_Height = height; + pkImageDesc->m_SizeInBytes = width * height * sizeof(PF_Pixel8); + pkImageDesc->m_TextureData = CRefCountedMemoryBuffer::AllocAligned(pkImageDesc->m_SizeInBytes, 0x10); + + frameAborted |= suites.WorldSuite3()->AEGP_GetBaseAddr8(inputworld, &worldData); + + if (worldData != null) + { + //input is ARGB; + u8 *sptr = (u8*)worldData; + u8 *dptr = (u8*)pkImageDesc->m_TextureData->Data(); + + for (s32 i = 0; i < height; ++i) + { + for (s32 j = 0; j < width; ++j) + { + PF_Pixel8 *dst = (PF_Pixel8*)&(dptr[j * sizeof(PF_Pixel8) + i * width * sizeof(PF_Pixel8)]); + PF_Pixel8 *src = (PF_Pixel8*)&(sptr[j * sizeof(PF_Pixel8) + i * rowbyte]); + + CUbyte4 value = CUbyte4(/*PKSample::ConvertSRGBToLinear*/(CUbyte3(src->blue, src->green, src->red)), src->alpha); + + value = PKClamp(value, CUbyte4::ZERO, CUbyte4(255)); + /*0*/dst->alpha = value.x(); + /*1*/dst->red = value.y(); + /*2*/dst->green = value.z(); + /*3*/dst->blue = value.w(); + } + } + } + } + } + + frameAborted |= suites.RenderSuite5()->AEGP_CheckinFrame(inputFrame); + frameAborted |= suites.LayerRenderOptionsSuite2()->AEGP_Dispose(renderOptions); + } + else if (pkImageDesc->m_Width != 1 || pkImageDesc->m_Height != 1) + { + pkImageDesc->m_PixelFormat = CImage::EFormat::Format_BGRA8; + pkImageDesc->m_Width = 1; + pkImageDesc->m_Height = 1; + pkImageDesc->m_SizeInBytes = sizeof(PF_Pixel8); + pkImageDesc->m_TextureData = CRefCountedMemoryBuffer::AllocAligned(pkImageDesc->m_SizeInBytes, 0x10); + + u8 *dptr = (u8*)pkImageDesc->m_TextureData->Data(); + PF_Pixel8 *dst = (PF_Pixel8*)&(dptr[0]); + /*0*/dst->alpha = 0; + /*1*/dst->red = 0; + /*2*/dst->green = 0; + /*3*/dst->blue = 0; + } + + if (!PK_VERIFY(frameAborted == A_Err_NONE)) + break; + pkImageDesc->m_Dirty = true; + } + else if (pkImageDesc->m_Width != 1 || pkImageDesc->m_Height != 1) + { + pkImageDesc->m_PixelFormat = CImage::EFormat::Format_BGRA8; + pkImageDesc->m_Width = 1; + pkImageDesc->m_Height = 1; + pkImageDesc->m_SizeInBytes = sizeof(PF_Pixel8); + pkImageDesc->m_TextureData = CRefCountedMemoryBuffer::AllocAligned(pkImageDesc->m_SizeInBytes, 0x10); + + u8 *dptr = (u8*)pkImageDesc->m_TextureData->Data(); + PF_Pixel8 *dst = (PF_Pixel8*)&(dptr[0]); + /*0*/dst->alpha = 0; + /*1*/dst->red = 0; + /*2*/dst->green = 0; + /*3*/dst->blue = 0; + + pkImageDesc->m_Dirty = true; + } + break; + } + case AttributeSamplerType_Audio: + { + SSamplerAudio *pkAudioDesc = static_cast(PKdescriptor); + + if (!PK_VERIFY(pkAudioDesc != null)) + break; + + double value; + bool sampleOnSeek = false; + + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Sample_Seeking, effectRef, AETime, value); + sampleOnSeek = (bool)value; + + if ((!sampleOnSeek && isSeeking)) + { + pkAudioDesc->m_Dirty = false; + break; + } + AEGP_LayerIDVal layerID; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Layer_Pick, effectRef, AETime, layerID); + _SetupAudioSampler(targetLayer, layerID, AETime, pkAudioDesc, isSeeking); + break; + } + case AttributeSamplerType_VectorField: + { + SVectorFieldSamplerDescriptor *vfDescriptor = static_cast(AEdescriptor); + { + AEGP_StreamRefH streamHandler; + AEGP_StreamValue2 value; + + frameAborted |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, AttributeSamplerType_Parameters_VectorField_Position, &streamHandler); + AEFX_CLR_STRUCT(value); + frameAborted |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + vfDescriptor->m_Position = A_FloatPoint3{ value.val.three_d.x, value.val.three_d.y, value.val.three_d.z }; + frameAborted |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + frameAborted |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + } + double value; + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_VectorField_Strength, effectRef, AETime, value); + vfDescriptor->m_Strength = (float)value; + + frameAborted |= _GetParamsStreamValueAtTime(AttributeSamplerType_Parameters_VectorField_Interpolation, effectRef, AETime, value); + EInterpolationType interpolation = (EInterpolationType)(int)value; + if (vfDescriptor->m_Interpolation != interpolation) + { + vfDescriptor->m_Interpolation = interpolation; + vfDescriptor->m_ResourceUpdate = true; + } + + std::string vectorfieldPath = samplerDescriptor->m_ResourcePath.c_str(); + if (vectorfieldPath != vfDescriptor->m_Path) + vfDescriptor->m_Path = vectorfieldPath; + PKdescriptor->m_Dirty = true; + break; + } + default: + break; + } + return frameAborted; +} + +//---------------------------------------------------------------------------- + +A_Err CAEUpdater::_UpdateAttributeAtTime(SLayerHolder *targetLayer, SPendingAttribute *attribute, AEGP_EffectRefH effectRef, A_Time &AETime, bool isSeeking /*=false*/) +{ + PK_SCOPEDPROFILE(); + (void)targetLayer; + (void)isSeeking; + + A_Err result = A_Err_NONE; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + + if (attribute->m_Desc && attribute->m_Desc->m_IsAttribute) + { + SAttributeDesc *desc = static_cast(attribute->m_Desc); + if (desc->m_AttributeSemantic == AttributeSemantic_Color) + { + float floatValues[4]; + + AEGP_StreamRefH streamHandler; + AEGP_StreamValue2 value; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, Attribute_Parameters_Color_RGB, &streamHandler); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + floatValues[0] = (float)value.val.color.redF; + floatValues[1] = (float)value.val.color.greenF; + floatValues[2] = (float)value.val.color.blueF; + + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + + if (desc->m_Type == AttributeType_Float4 || + desc->m_Type == AttributeType_Int4) + { + double floatValue; + result |= _GetParamsStreamValueAtTime(Attribute_Parameters_Color_A, effectRef, AETime, floatValue); + floatValues[3] = (float)(floatValue / 100.0f); + } + if (desc->m_Type >= AttributeType_Int1 && desc->m_Type <= AttributeType_Int4) + { + for (u32 i = 0; i < 4; ++i) + floatValues[i] *= 255; + } + desc->SetValue(&floatValues); + } + else + { + switch (desc->m_Type) + { + case AttributeType_Bool1: + case AttributeType_Bool2: + case AttributeType_Bool3: + case AttributeType_Bool4: + { + bool boolValues[4]; + for (s32 i = 0; i < (desc->m_Type + 1) - AttributeType_Bool1; ++i) + { + double boolValue; + + result |= _GetParamsStreamValueAtTime(AttributeType_Bool1 + i, effectRef, AETime, boolValue); + boolValues[i] = (bool)boolValue; + } + desc->SetValue(&boolValues); + break; + } + case AttributeType_Int1: + case AttributeType_Int2: + case AttributeType_Int3: + case AttributeType_Int4: + { + int intValues[4]; + for (s32 i = 0; i < (desc->m_Type + 1) - AttributeType_Int1; ++i) + { + double intValue; + + result |= _GetParamsStreamValueAtTime(AttributeType_Int1 + i, effectRef, AETime, intValue); + intValues[i] = (int)intValue; + } + desc->SetValue(&intValues); + break; + } + case AttributeType_Float1: + case AttributeType_Float2: + case AttributeType_Float3: + case AttributeType_Float4: + { + float floatValues[4]; + for (s32 i = 0; i < (desc->m_Type + 1) - AttributeType_Float1; ++i) + { + double floatValue; + + result |= _GetParamsStreamValueAtTime(AttributeType_Float1 + i, effectRef, AETime, floatValue); + floatValues[i] = (float)floatValue; + } + desc->SetValue(&floatValues); + break; + } + default: + break; + } + } + } + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return result; +} + + +//---------------------------------------------------------------------------- + +A_Err CAEUpdater::_UpdateEmitterAtTime(SLayerHolder *layer, AEGP_EffectRefH effectRef, A_Time &AETime, bool isSeeking) +{ + PK_SCOPEDPROFILE(); + (void)isSeeking; + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + A_Err result = A_Err_NONE; + AEGP_StreamRefH streamHandler; + AEGP_StreamValue2 value; + SPendingEmitter &emitter = layer->m_SpawnedEmitter; + + if (!PK_VERIFY(effectRef != null)) + { + return A_Err_GENERIC; + } + { //Emitter + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_TransformType], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_TransformType = ((ETransformType)(int)value.val.one_d); + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + if (emitter.m_Desc->m_TransformType == ETransformType_3D) + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Position], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_Position = A_FloatPoint3{ value.val.three_d.x, value.val.three_d.y, value.val.three_d.z }; +#if defined(PK_SCALE_DOWN) + emitter.m_Desc->m_Position.x = emitter.m_Desc->m_Position.x / layer->m_ScaleFactor; + emitter.m_Desc->m_Position.y = emitter.m_Desc->m_Position.y / layer->m_ScaleFactor; + emitter.m_Desc->m_Position.z = emitter.m_Desc->m_Position.z / layer->m_ScaleFactor; +#endif + layer->m_Scene->SetEmitterPosition(AAEToPK(emitter.m_Desc->m_Position), emitter.m_Desc->m_TransformType); + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + else if (emitter.m_Desc->m_TransformType == ETransformType_2D) + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Position_2D], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + + emitter.m_Desc->m_Position.x = value.val.two_d.x; + emitter.m_Desc->m_Position.y = value.val.two_d.y; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Position_2D_Distance], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + + emitter.m_Desc->m_Position.z = value.val.one_d; + layer->m_Scene->SetEmitterPosition(AAEToPK(emitter.m_Desc->m_Position), emitter.m_Desc->m_TransformType); + } + } + { + float rotation[3]; + for (u32 i = 0; i < 3; ++i) + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Rotation_X + i], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + rotation[i] = (float)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + emitter.m_Desc->m_Rotation = A_FloatPoint3{ rotation[0], rotation[1], rotation[2] }; + layer->m_Scene->SetEmitterRotation(AngleAAEToPK(emitter.m_Desc->m_Rotation)); + } + } + + { //Camera + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Camera], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Camera_Near], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_Camera.m_Near = (float)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Camera_Far], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_Camera.m_Far = (float)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + + //Background Override + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Background_Toggle], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_IsAlphaBGOverride = (bool)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Background_Opacity], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_AlphaBGOverride = (float)value.val.one_d / 100.0f; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + { //BackdropMesh + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Enable_Rendering], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_BackdropMesh.m_EnableRendering = (int)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Enable_Collisions], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_BackdropMesh.m_EnableCollisions = (int)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Enable_Animation], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_BackdropMesh.m_EnableAnimations = (int)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + + if (emitter.m_Desc->m_BackdropMesh.m_EnableCollisions) + { + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Position], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_BackdropMesh.m_Position = A_FloatPoint3{ value.val.three_d.x, value.val.three_d.y, value.val.three_d.z }; +#if defined(PK_SCALE_DOWN) + emitter.m_Desc->m_BackdropMesh.m_Position.x = emitter.m_Desc->m_BackdropMesh.m_Position.x / layer->m_ScaleFactor; + emitter.m_Desc->m_BackdropMesh.m_Position.y = emitter.m_Desc->m_BackdropMesh.m_Position.y / layer->m_ScaleFactor; + emitter.m_Desc->m_BackdropMesh.m_Position.z = emitter.m_Desc->m_BackdropMesh.m_Position.z / layer->m_ScaleFactor; +#endif + layer->m_Scene->UpdateBackdropTransform(emitter.m_Desc); + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + { + float rotation[3]; + for (u32 i = 0; i < 3; ++i) + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Rotation_X + i], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + rotation[i] = DegToRad((float)value.val.one_d); + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + emitter.m_Desc->m_BackdropMesh.m_Rotation = A_FloatPoint3{ rotation[0], rotation[1], rotation[2] }; + } + { + float scale[3]; + for (u32 i = 0; i < 3; ++i) + { + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_BackdropMesh_Scale_X + i], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, true, &value); + PK_ASSERT(result == A_Err_NONE); + scale[i] = (float)value.val.one_d; + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + emitter.m_Desc->m_BackdropMesh.m_Scale = A_FloatPoint3{ scale[0], scale[1], scale[2] }; + } + } + result |= suites.StreamSuite3()->AEGP_GetNewEffectStreamByIndex(PKFXWorld.GetPluginID(), effectRef, s_EmitterIndexes[Effect_Parameters_Simulation_State], &streamHandler); + PK_ASSERT(result == A_Err_NONE); + AEFX_CLR_STRUCT(value); + result |= suites.StreamSuite3()->AEGP_GetNewStreamValue(PKFXWorld.GetPluginID(), streamHandler, AEGP_LTimeMode_CompTime, &AETime, false, &value); + PK_ASSERT(result == A_Err_NONE); + emitter.m_Desc->m_SimStatePrev = emitter.m_Desc->m_SimState; + emitter.m_Desc->m_SimState = (int)value.val.one_d; + + result |= suites.StreamSuite3()->AEGP_DisposeStreamValue(&value); + PK_ASSERT(result == A_Err_NONE); + result |= suites.StreamSuite3()->AEGP_DisposeStream(streamHandler); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE) + return result; + } + + // Update audio backdrop: + AEGP_LayerIDVal layerID; + CAEUpdater::_GetParamsStreamValueAtTime(s_EmitterIndexes[Effect_Parameters_Audio], effectRef, AETime, layerID); + + if (layer->m_BackdropAudioSpectrum == null) + layer->m_BackdropAudioSpectrum = PK_NEW(SSamplerAudio); + if (layer->m_BackdropAudioWaveform == null) + layer->m_BackdropAudioWaveform = PK_NEW(SSamplerAudio); + + if (!_SetupAudioSampler(layer, layerID, AETime, layer->m_BackdropAudioSpectrum, isSeeking)) + PK_SAFE_DELETE(layer->m_BackdropAudioSpectrum); + if (!_SetupAudioSampler(layer, layerID, AETime, layer->m_BackdropAudioWaveform, isSeeking)) + PK_SAFE_DELETE(layer->m_BackdropAudioWaveform); + if (!PK_VERIFY(result == A_Err_NONE)) + return result; + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +bool CAEUpdater::GetLightsAtTime(SLayerHolder *layer, A_Time &AETime, TArray &lights) +{ + CPopcornFXWorld &PKFXWorld = CPopcornFXWorld::Instance(); + AEGP_SuiteHandler suites(PKFXWorld.GetAESuites()); + A_Err result = A_Err_NONE; + AEGP_CompH compH = null; + AEGP_LayerH layerH = null; + A_long layerNbr = 0; + + A_Boolean layerActive = false; + + result |= suites.LayerSuite5()->AEGP_GetLayerParentComp(layer->m_EffectLayer, &compH); + result |= suites.LayerSuite5()->AEGP_GetCompNumLayers(compH, &layerNbr); + + for (s32 i = 0; i < layerNbr; ++i) + { + AEGP_ObjectType layerType = AEGP_ObjectType_NONE; + + result |= suites.LayerSuite5()->AEGP_GetCompLayerByIndex(compH, i, &layerH); + result |= suites.LayerSuite5()->AEGP_GetLayerObjectType(layerH, &layerType); + + result |= suites.LayerSuite5()->AEGP_IsVideoActive(layerH, AEGP_LTimeMode_CompTime, &AETime, &layerActive); + if (layerType == AEGP_ObjectType_LIGHT && layerActive == (A_Boolean)TRUE) + { + SLightDesc light; + AEGP_LightType type; + AEGP_StreamVal streamValColor, streamValIntensity; + + result |= suites.LightSuite2()->AEGP_GetLightType(layerH, &type); + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_COLOR, AEGP_LTimeMode_CompTime, &AETime, false, &streamValColor, null); + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_INTENSITY, AEGP_LTimeMode_CompTime, &AETime, false, &streamValIntensity, null); + + light.m_Type = type; + light.m_Color.x = streamValColor.color.redF; + light.m_Color.y = streamValColor.color.greenF; + light.m_Color.z = streamValColor.color.blueF; + light.m_Intensity = (float)(streamValIntensity.one_d) / 100.0f; + + if (light.m_Type == AEGP_LightType_PARALLEL) + { + AEGP_StreamVal streamValPos, streamValAnchor; + + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_POSITION, AEGP_LTimeMode_CompTime, &AETime, false, &streamValPos, null); + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_ANCHORPOINT, AEGP_LTimeMode_CompTime, &AETime, false, &streamValAnchor, null); + + CFloat3 direction = { (float)(streamValAnchor.three_d.x - streamValPos.three_d.x), (float)(streamValAnchor.three_d.y - streamValPos.three_d.y), (float)(streamValAnchor.three_d.z - streamValPos.three_d.z) }; + direction.Normalize(); + light.m_Direction = PKToAAE(direction); + } + else if (light.m_Type == AEGP_LightType_SPOT) + { + AEGP_StreamVal streamValPos, streamValAnchor, streamValConeAngle, streamValConeFeather; + + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_POSITION, AEGP_LTimeMode_CompTime, &AETime, false, &streamValPos, null); + CFloat3 position = { (float)(streamValPos.three_d.x), (float)(streamValPos.three_d.y), (float)(streamValPos.three_d.z) }; + light.m_Position = PKToAAE(position); +#if defined(PK_SCALE_DOWN) + light.m_Position.x = light.m_Position.x / layer->m_ScaleFactor; + light.m_Position.y = light.m_Position.y / layer->m_ScaleFactor; + light.m_Position.z = light.m_Position.z / layer->m_ScaleFactor; +#endif + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_ANCHORPOINT, AEGP_LTimeMode_CompTime, &AETime, false, &streamValAnchor, null); + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_CONE_ANGLE, AEGP_LTimeMode_CompTime, &AETime, false, &streamValConeAngle, null); + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_CONE_FEATHER, AEGP_LTimeMode_CompTime, &AETime, false, &streamValConeFeather, null); + + CFloat3 direction = { (float)(streamValAnchor.three_d.x - streamValPos.three_d.x), (float)(streamValAnchor.three_d.y - streamValPos.three_d.y), (float)(streamValAnchor.three_d.z - streamValPos.three_d.z) }; + direction.Normalize(); + light.m_Direction = PKToAAE(direction); + + light.m_Angle = (float)streamValConeAngle.one_d; + light.m_Feather = (float)(streamValConeFeather.one_d / 100.0f); + } + else if (light.m_Type == AEGP_LightType_POINT) + { + AEGP_StreamVal streamValPos; + result |= suites.StreamSuite2()->AEGP_GetLayerStreamValue(layerH, AEGP_LayerStream_POSITION, AEGP_LTimeMode_CompTime, &AETime, false, &streamValPos, null); + + CFloat3 position = { (float)(streamValPos.three_d.x), (float)(streamValPos.three_d.y), (float)(streamValPos.three_d.z) }; + light.m_Position = PKToAAE(position); +#if defined(PK_SCALE_DOWN) + light.m_Position.x = light.m_Position.x / layer->m_ScaleFactor; + light.m_Position.y = light.m_Position.y / layer->m_ScaleFactor; + light.m_Position.z = light.m_Position.z / layer->m_ScaleFactor; +#endif + } + if (!lights.PushBack(light).Valid()) + return false; + } + } + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_VaultHandler.cpp b/AE_GeneralPlugin/Sources/AEGP_VaultHandler.cpp new file mode 100644 index 00000000..896827c6 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_VaultHandler.cpp @@ -0,0 +1,492 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_VaultHandler.h" + +#include "AEGP_FileWatcher.h" +#include "AEGP_World.h" +#include "AEGP_AEPKConversion.h" +#include "AEGP_Log.h" + +#include "AEGP_AssetBaker.h" + +#if defined(PK_WINDOWS) +# include +#endif + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +__AEGP_PK_BEGIN +//---------------------------------------------------------------------------- + +const char *CVaultHandler::k_VaultFolderMainName = "Persistant Studios/AfterEffects/Vault"; +const char *CVaultHandler::k_VaultFolderAssetsName = "Assets"; +const char *CVaultHandler::k_VaultFolderCacheName = "Cache"; +const char *CVaultHandler::k_VaultFolderLogsName = "Logs"; + +//---------------------------------------------------------------------------- + +CVaultHandler::CVaultHandler() +{ +} + +//---------------------------------------------------------------------------- + +CVaultHandler::~CVaultHandler() +{ +} + +//---------------------------------------------------------------------------- + +bool CVaultHandler::InitializeIFN() +{ + if (m_Initialized == true) + return true; + m_Initialized = true; + + m_InternalPack = File::DefaultFileSystem()->MountPack(CPopcornFXWorld::Instance().GetInternalPackPath()); + + if (!PK_VERIFY(_SetupVault())) + return false; + + CString logPath = m_VaultPathLogs / "popcorn.htm"; + + m_AELogFileListener = PK_NEW(CLogListenerFile(logPath.Data(), "popcorn-engine logfile"); + CLog::AddGlobalListener(m_AELogFileListener)); + +#if 0 + m_FileWatcher = PK_NEW(CFileWatcher()); + if (!PK_VERIFY(m_FileWatcher != null)) + return false; + m_FileWatcher->SetNotifierAdd(&CVaultHandler::FileAdded); + m_FileWatcher->SetNotifierRemove(&CVaultHandler::FileRemoved); + m_FileWatcher->SetNotifierModify(&CVaultHandler::FileChanged); + m_FileWatcher->SetNotifierRename(&CVaultHandler::FileRenamed); + + bool watchPackSucceed = m_FileWatcher->SetWatchPack(""); + + if (!watchPackSucceed) + return false; +#endif + return false; +} + +//---------------------------------------------------------------------------- + +bool CVaultHandler::ShutdownIFN() +{ + if (m_Initialized == false) + return true; + if (m_AELogFileListener != null) + { + CLog::RemoveGlobalListener(m_AELogFileListener); + m_AELogFileListener = null; + } + + return true; +} + +//---------------------------------------------------------------------------- + +void CVaultHandler::FileAdded(const CString &path) +{ + (void)path; +} + +//---------------------------------------------------------------------------- + +void CVaultHandler::FileRemoved(const CString &path) +{ + (void)path; +} + +//---------------------------------------------------------------------------- + +void CVaultHandler::FileChanged(const CString &path) +{ + (void)path; +} + +//---------------------------------------------------------------------------- + +void CVaultHandler::FileChangedRelativePath(const CString &path) +{ + (void)path; +} + +//---------------------------------------------------------------------------- + +void CVaultHandler::FileRenamed(const CString &oldPath, const CString &newPath) +{ + (void)oldPath; + (void)newPath; +} + +//---------------------------------------------------------------------------- + +bool CVaultHandler::IsBakedAssetLatestVersion(const CString &srcPath, const CString &dstPath) +{ + IFileSystem *fs = File::DefaultFileSystem(); + + if (!fs->Exists(dstPath, true)) + return false; + + SFileTimes srcTimes, dstTimes; + + fs->Timestamps(srcPath, srcTimes, true); + fs->Timestamps(dstPath, dstTimes, true); + + if (srcTimes.m_LastWriteTime > dstTimes.m_LastWriteTime) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CVaultHandler::LoadEffectIntoVault(const CString &srcPackPath, CString &effectPath, const CString &pkprojPath, bool &refresh) +{ + IFileSystem *fs = File::DefaultFileSystem(); + //Check if pack exist in cache + + PFilePack dstPack = GetVaultPackFromPath(srcPackPath); + CString dstPackPath = dstPack->Path(); + CString bakedName = CFilePath::StripExtension(effectPath) + ".pkb"; + CString sourceName = CFilePath::StripExtension(effectPath) + ".pkfx"; + CString sourcePath = srcPackPath / sourceName; + + if (!fs->Exists(dstPackPath, true)) + { + if (!fs->CreateDirectoryChainIFN(dstPackPath, true)) + return false; + } + if (!refresh) + { + if (IsBakedAssetLatestVersion(sourcePath, dstPackPath / bakedName)) + return true; + } + + TArray effectsPath; + + CEffectBaker baker; + + baker.Initialize(srcPackPath, dstPackPath, pkprojPath); + + CString rootDir = baker.GetSourcePackRootPath(); + if (!rootDir.Empty() && sourceName.StartsWith(rootDir)) + { + sourceName = sourceName.Extract(rootDir.Length() + 1, sourceName.Length()); + effectPath = sourceName; + } + effectsPath.PushBack(sourceName); + + baker.ReimportAssets(effectsPath); + baker.ClearBakedPaths(); + + while (baker.PopFileChanges() != 0) + { + } + baker.Clear(); + refresh = true; + return true; +} + +//---------------------------------------------------------------------------- + +CString CVaultHandler::ImportResource(const CString resourcePath) +{ + IFileSystem *fs = File::DefaultFileSystem(); + CString filename = CFilePath::ExtractFilename(resourcePath); + CString sourcePath = resourcePath; + CString targetPath = m_VaultPathAssets / filename; + + if (IsBakedAssetLatestVersion(resourcePath, targetPath)) + return targetPath; + CFilePath::Purify(sourcePath); + if (!PK_VERIFY(fs->FileCopy(sourcePath, targetPath, true))) + return null; + return targetPath; +} + +//---------------------------------------------------------------------------- + +CString CVaultHandler::BakeVectorField(const CString resourcePath, const CString targetPath, const SResourceBakeConfig &config) +{ + (void)config; + IFileSystem *fs = File::DefaultFileSystem(); + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(resourcePath, fs); + + PFilePack srcPack = null; + if (filePackPath.Empty()) + { + srcPack = fs->MountPack(CFilePath::StripFilename(resourcePath)); + filePackPath = CFilePackPath::FromPhysicalPath(resourcePath, fs); + } + if (!filePackPath.Empty()) + { + TArray effectsPath; + + effectsPath.PushBack(CFilePath::ExtractFilename(resourcePath)); + + CEffectBaker baker; + + baker.Initialize(filePackPath.Pack()->Path(), m_VaultPathAssets, ""); + baker.ReimportAssets(effectsPath, false); + baker.ClearBakedPaths(); + + while (baker.PopFileChanges() != 0) + { + } + baker.Clear(); + } + if (srcPack != null) + fs->UnmountPack(srcPack.Get()); + return targetPath; +} + +//---------------------------------------------------------------------------- + +CString CVaultHandler::BakeMesh(const CString resourcePath, const CString targetPath, const SResourceBakeConfig &config) +{ + IFileSystem *fs = File::DefaultFileSystem(); + CFilePackPath filePackPath = CFilePackPath::FromPhysicalPath(resourcePath, fs); + bool unload = false; + CString targetExtension = ".pkmm"; + + PFilePack srcPack = null; + if (filePackPath.Empty()) + { + srcPack = fs->MountPack(CFilePath::StripFilename(resourcePath)); + filePackPath = CFilePackPath::FromPhysicalPath(resourcePath, fs); + unload = true; + } + if (!filePackPath.Empty()) + { + class CMeshCodecMessageStreamBaker : public CMeshCodecMessageStream + { + virtual void NotifyProgressMessage(const CString &msg) override // called from time to time to tell what's being loaded + { + (void)msg; +#ifdef PK_DEBUG + printf(" Mesh Importer log: %s\n", msg.Data()); // only display these in debug +#endif + }; + virtual void NotifyError(const CString &msg) override { printf(" Mesh Importer ERROR: %s\n", msg.Data()); } + virtual void NotifyWarning(const CString &msg) override { printf(" Mesh Importer WARNING: %s\n", msg.Data()); } + }; + CMessageStream outBakeReport; + CMeshCodecMessageStreamBaker notifier; + SMeshImportSettings importSettings; + + importSettings.m_ImportGeometry = true; + + importSettings.m_ImportSkeleton = true; + if (config.m_IsAnimTrack) + { + importSettings.m_ImportAnimation = true; + importSettings.m_ImportSkeleton = false; + targetExtension = ".pkan"; + } + if (config.m_IsSkeletalAnim) + { + importSettings.m_ImportAnimation = true; + importSettings.m_ImportSkeleton = true; + targetExtension = ".pksa"; + } + importSettings.m_WriteAccelSampling = true; + importSettings.m_WriteAccelUV2PC = true; + importSettings.m_WriteKdTree = true; + importSettings.m_Positions = SVStreamCode::Type_F32; + importSettings.m_Normals = SVStreamCode::Type_F32; + importSettings.m_Tangents = SVStreamCode::Type_F32; + importSettings.m_Texcoords = SVStreamCode::Type_F32; + + importSettings.m_RemapToZero = true; + + importSettings.m_ResourcePath = filePackPath.Path(); + importSettings.m_ResourceManager = Resource::DefaultManager(); + + PMeshImportOut outFbxImport = CResourceMesh::ImportFromFile(notifier, outBakeReport, &importSettings); + + if (outFbxImport != null) + { + if (!outFbxImport->Write(fs, targetPath + ".pkmm", targetPath + ".pkan", targetPath + ".pksa", outBakeReport)) + CLog::Log(PK_ERROR, "The fbx import failed"); + } + } + if (unload) + fs->UnmountPack(srcPack.Get()); + return targetPath + targetExtension; +} + +//---------------------------------------------------------------------------- + +CString CVaultHandler::CopyResource(const CString resourcePath) +{ + IFileSystem *fs = File::DefaultFileSystem(); + CString filename = CFilePath::ExtractFilename(resourcePath); + CString extension = CFilePath::ExtractExtension(filename); + CString targetPath = m_VaultPathAssets / filename;; + CString sourcePath = resourcePath; + + + if (IsBakedAssetLatestVersion(resourcePath, targetPath)) + return targetPath; + CFilePath::Purify(sourcePath); + if (!PK_VERIFY(fs->FileCopy(sourcePath, targetPath, true))) + return null; + return targetPath; +} + +//---------------------------------------------------------------------------- + +CString CVaultHandler::BakeResource(const CString resourcePath, const SResourceBakeConfig &config) +{ + IFileSystem *fs = File::DefaultFileSystem(); + CString filename = CFilePath::ExtractFilename(resourcePath); + CString extension = CFilePath::ExtractExtension(filename); + CString sourcePath = resourcePath; + + CFilePath::StripExtensionInPlace(filename); + + CString targetPath = m_VaultPathAssets / filename; + + if (!config.m_StraightCopy && extension.Compare("fbx", CaseInsensitive)) + { + CString targetExt = ".pkmm"; + if (config.m_IsAnimTrack) + targetExt = ".pkan"; + if (config.m_IsSkeletalAnim) + targetExt = ".pksa"; + if (IsBakedAssetLatestVersion(resourcePath, targetPath + targetExt)) + return targetPath + targetExt; + + return BakeMesh(resourcePath, targetPath, config); + } + if (!config.m_StraightCopy && extension.Compare("fga", CaseInsensitive)) + { + targetPath += ".pkvf"; + if (IsBakedAssetLatestVersion(resourcePath, targetPath)) + return targetPath; + + return BakeVectorField(resourcePath, targetPath, config); + } + else //Wildcard + { + targetPath += "." + extension; + + if (IsBakedAssetLatestVersion(resourcePath, targetPath)) + return targetPath; + CFilePath::Purify(sourcePath); + if (!PK_VERIFY(fs->FileCopy(sourcePath, targetPath, true))) + return null; + } + return targetPath; +} + +//---------------------------------------------------------------------------- + +PFilePack CVaultHandler::GetVaultPackFromPath(CString path) +{ + PK_ASSERT(path != null); + PK_ASSERT(!path.Empty()); + + IFileSystem *fs = File::DefaultFileSystem(); + + CString packName = CFilePath::ExtractFilename(path); + + u32 pathHash = (u32)std::hash{}(path.Data()); + CString vaultPath = m_VaultPathCache / packName + CString::Format("_%u", pathHash); + + if (fs->Exists(vaultPath, true)) + { + return fs->MountPack(vaultPath); + } + + fs->CreateDirectoryChainIFN(vaultPath, true); + + return fs->MountPack(vaultPath); +} + +//---------------------------------------------------------------------------- + +bool CVaultHandler::_SetupVault() +{ + CString localPathString; +#if defined(PK_WINDOWS) + + aechar_t *userFolder = null; + HRESULT result = 0; + + result = SHGetKnownFolderPath(FOLDERID_LocalAppData, 0, NULL, (PWSTR*)&userFolder); + if (FAILED(result)) + return false; + WCharToCString(userFolder, &localPathString); + CoTaskMemFree(static_cast(userFolder)); + +#elif defined(PK_MACOSX) + const char *homeFolder = getenv("HOME"); + if (!PK_VERIFY(homeFolder != null)) + return false; + localPathString = CString(homeFolder) / "Library" / "Application Support"; +#endif + CFilePath::Purify(localPathString); + + IFileSystem *fs = File::DefaultFileSystem(); + + m_VaultPathRoot = localPathString + "/"+ k_VaultFolderMainName; + m_VaultPathAssets = m_VaultPathRoot + "/" + k_VaultFolderAssetsName; + m_VaultPathCache = m_VaultPathRoot + "/" + k_VaultFolderCacheName; + m_VaultPathLogs = m_VaultPathRoot + "/" + k_VaultFolderLogsName; + + if (!fs->CreateDirectoryChainIFN(m_VaultPathRoot, true) || + !fs->CreateDirectoryChainIFN(m_VaultPathAssets, true) || + !fs->CreateDirectoryChainIFN(m_VaultPathCache, true) || + !fs->CreateDirectoryChainIFN(m_VaultPathLogs, true)) + return false; + + class CPKFolderWalker : public CFileDirectoryWalker + { + public: + TArray m_Folders; + + CPKFolderWalker(const CString &rootDir) + : CFileDirectoryWalker(rootDir, IgnoreVirtualFS) + { + } + + virtual bool DirectoryNotifier(const CFilePack *, const char *fullPath, u32 ) override + { + m_Folders.PushBack(fullPath); + return false; + } + + }; + + CPKFolderWalker walker(m_VaultPathCache); + + walker.Walk(); + + for (u32 i = 0; i < walker.m_Folders.Count(); ++i) + { + fs->MountPack(walker.m_Folders[i]); + } + + fs->MountPack(m_VaultPathAssets); + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AEGP_WinFileDialog.cpp b/AE_GeneralPlugin/Sources/AEGP_WinFileDialog.cpp new file mode 100644 index 00000000..3c79070c --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_WinFileDialog.cpp @@ -0,0 +1,183 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include + +#if defined(PK_WINDOWS) + +#include "AEGP_WinFileDialog.h" + +#include +#include + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif + +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include "AEGP_World.h" + +//---------------------------------------------------------------------------- + +class CDialogEventHandler : public IFileDialogEvents, + public IFileDialogControlEvents +{ +public: + // IUnknown methods + IFACEMETHODIMP QueryInterface(REFIID riid, void** ppv) + { +#pragma warning(disable:4838) + static const QITAB qit[] = { + QITABENT(CDialogEventHandler, IFileDialogEvents), + QITABENT(CDialogEventHandler, IFileDialogControlEvents), + { 0 }, + }; + return QISearch(this, qit, riid, ppv); + +#pragma warning(default:4838) + } + + IFACEMETHODIMP_(ULONG) AddRef() + { + return InterlockedIncrement(&_cRef); + } + + IFACEMETHODIMP_(ULONG) Release() + { + long cRef = InterlockedDecrement(&_cRef); + if (!cRef) + delete this; + return cRef; + } + + // IFileDialogEvents methods + IFACEMETHODIMP OnFileOk(IFileDialog *) { return S_OK; }; + IFACEMETHODIMP OnFolderChange(IFileDialog *) { return S_OK; }; + IFACEMETHODIMP OnFolderChanging(IFileDialog *, IShellItem *) { return S_OK; }; + IFACEMETHODIMP OnHelp(IFileDialog *) { return S_OK; }; + IFACEMETHODIMP OnSelectionChange(IFileDialog *) { return S_OK; }; + IFACEMETHODIMP OnShareViolation(IFileDialog *, IShellItem *, FDE_SHAREVIOLATION_RESPONSE *) { return S_OK; }; + IFACEMETHODIMP OnTypeChange(IFileDialog *) { return S_OK; }; + IFACEMETHODIMP OnOverwrite(IFileDialog *, IShellItem *, FDE_OVERWRITE_RESPONSE *) { return S_OK; }; + + // IFileDialogControlEvents methods + IFACEMETHODIMP OnItemSelected(IFileDialogCustomize *, DWORD, DWORD) { return S_OK; }; + IFACEMETHODIMP OnButtonClicked(IFileDialogCustomize *, DWORD) { return S_OK; }; + IFACEMETHODIMP OnCheckButtonToggled(IFileDialogCustomize *, DWORD, BOOL) { return S_OK; }; + IFACEMETHODIMP OnControlActivating(IFileDialogCustomize *, DWORD) { return S_OK; }; + + CDialogEventHandler() : _cRef(1) { }; +private: + ~CDialogEventHandler() { }; + long _cRef; +}; + +//---------------------------------------------------------------------------- + +// Instance creation helper +HRESULT CDialogEventHandler_CreateInstance(REFIID riid, void **ppv) +{ + *ppv = NULL; + CDialogEventHandler *pDialogEventHandler = new (std::nothrow) CDialogEventHandler(); + HRESULT hr = pDialogEventHandler ? S_OK : E_OUTOFMEMORY; + if (SUCCEEDED(hr)) + { + hr = pDialogEventHandler->QueryInterface(riid, ppv); + pDialogEventHandler->Release(); + } + return hr; +} + +//---------------------------------------------------------------------------- + +HRESULT WinBasicFileOpen(SWinFileOpenData &data) +{ + IFileDialog *pfd = NULL; + AEGP_SuiteHandler suites(AEGPPk::CPopcornFXWorld::Instance().GetAESuites()); + HWND winHandle = null; + + suites.UtilitySuite6()->AEGP_GetMainHWND(&winHandle); + + HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, + NULL, + CLSCTX_INPROC_SERVER, + IID_PPV_ARGS(&pfd)); + if (SUCCEEDED(hr)) + { + IFileDialogEvents *pfde = NULL; + hr = CDialogEventHandler_CreateInstance(IID_PPV_ARGS(&pfde)); + if (SUCCEEDED(hr)) + { + DWORD dwCookie; + hr = pfd->Advise(pfde, &dwCookie); + if (SUCCEEDED(hr)) + { + DWORD dwFlags; + hr = pfd->GetOptions(&dwFlags); + if (SUCCEEDED(hr)) + { + hr = pfd->SetOptions(dwFlags | FOS_FORCEFILESYSTEM); + if (SUCCEEDED(hr)) + { + TArray filters; + for (u32 i = 0; i < data.m_Filters.Count(); i++) + filters.PushBack(data.m_Filters[i].m_Spec); + + hr = pfd->SetFileTypes(filters.Count(), filters.RawDataPointer()); + if (SUCCEEDED(hr)) + { + hr = pfd->SetFileTypeIndex(0); + if (SUCCEEDED(hr)) + { + hr = pfd->SetDefaultExtension(L"*.pkproj"); + if (SUCCEEDED(hr)) + { + hr = pfd->Show(winHandle); + if (SUCCEEDED(hr)) + { + IShellItem *psiResult; + hr = pfd->GetResult(&psiResult); + if (SUCCEEDED(hr)) + { + wchar_t *pszFilePath = NULL; + hr = psiResult->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath); + if (SUCCEEDED(hr)) + { + char result[1024]; + CString stringResult; + wcstombs(result, pszFilePath, 1024); + stringResult = result; + + data.m_Cb(stringResult); + } + psiResult->Release(); + } + } + } + } + } + } + } + pfd->Unadvise(dwCookie); + } + pfde->Release(); + } + pfd->Release(); + } + return hr; +} + +//---------------------------------------------------------------------------- + +#endif diff --git a/AE_GeneralPlugin/Sources/AEGP_WinSystem.cpp b/AE_GeneralPlugin/Sources/AEGP_WinSystem.cpp new file mode 100644 index 00000000..3f44a946 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_WinSystem.cpp @@ -0,0 +1,216 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include + +#include "AEGP_WinSystem.h" +#include "PopcornFX_Suite.h" + +#include "AEGP_System.h" + +#include + +#if defined(PK_WINDOWS) + +#include +#include +#include +#include +#include +#include +#include +#include + + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CString CWinSystemHelper::GetLastErrorAsString() +{ + TArray error; + return GetLastErrorAsString(error); +} + +//---------------------------------------------------------------------------- + +CString CWinSystemHelper::GetLastErrorAsString(TArray &ignore) +{ + //Get the error message ID, if any. + DWORD errorMessageID = ::GetLastError(); + if (errorMessageID == 0 || ignore.Contains(errorMessageID)) + return CString(); + + LPSTR messageBuffer = nullptr; + + //Ask Win32 to give us the string version of that message ID. + //The parameters we pass in, tell Win32 to create the buffer that holds the message for us (because we don't yet know how long the message string will be). + size_t size = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, errorMessageID, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&messageBuffer, 0, NULL); + + //Copy the error message into a std::string. + CString message(messageBuffer, (u32)size); + + //Free the Win32's string's buffer. + LocalFree(messageBuffer); + + return message; +} + +//---------------------------------------------------------------------------- + +CString CWinSystemHelper::_GetWindowsInstallDir() +{ + CString appFolderPath; + + aechar_t dstPath[MAX_PATH]; + if (::ExpandEnvironmentStringsW(L"%ProgramW6432%", (LPWSTR)dstPath, PK_ARRAY_COUNT(dstPath)) != 0) + { + std::string dest; + dstPath[PK_ARRAY_COUNT(dstPath) - 1] = 0; + WCharToString(dstPath, &dest); + appFolderPath = dest.c_str(); + appFolderPath = appFolderPath + (appFolderPath.EndsWith("/") ? "" : "/") + "Persistant Studios/"; + } + return appFolderPath; +} + +//---------------------------------------------------------------------------- + +TArray CWinSystemHelper::_FindInstalledVersions(const CString &baseSearchPath) +{ + WIN32_FIND_DATA ffd; + TCHAR szDir[MAX_PATH]; + HANDLE hFind = INVALID_HANDLE_VALUE; + DWORD dwError = 0; + + // we expect 'baseSearchPath' to be the root 'Persistant Studios' install dir, + // inside which are located PopcornFX editor executables of the form 'PopcornFX-X.Y/Binaries_Release/PK-Editor.exe' + TArray paths; + + // Prepare string for use with FindFile functions. First, copy the + // string to a buffer, then append '\*' to the directory name. + StringCchCopy(szDir, MAX_PATH, baseSearchPath.Data()); + StringCchCat(szDir, MAX_PATH, TEXT("\\*")); + + // Find the first file in the directory. + hFind = FindFirstFile(szDir, &ffd); + + if (INVALID_HANDLE_VALUE == hFind) + { + CString error = GetLastErrorAsString(); + CLog::Log(PK_ERROR, "%s", error.Data()); + return paths; + } + + // List all the files in the directory with some info about them. + do + { + if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + { + const CString entryName = ffd.cFileName; + if (entryName.StartsWith("PopcornFX-")) + { + const CString editorVersionDir = baseSearchPath + entryName; + const CString editorExecPathV2 = editorVersionDir + "/bin/PK-Editor.exe"; + const CString editorExecPathUn = editorVersionDir + "/Uninstall.exe"; + + DWORD dwAttrib = GetFileAttributes(TEXT(editorExecPathV2.Data())); + if (dwAttrib != INVALID_FILE_ATTRIBUTES) + { + const SDllVersion version = PKTKGetFileVersionInfo(editorExecPathV2.Data()); + if (!paths.PushBack(SEditorExecutable(editorExecPathV2, "", SEngineVersion(version.Major, version.Minor, version.Patch, version.RevID))).Valid()) + { + CLog::Log(PK_ERROR, "TArray Alloc Failed"); + return paths; + } + + } + } + } + } while (FindNextFile(hFind, &ffd) != 0); + + dwError = GetLastError(); + if (dwError != ERROR_NO_MORE_FILES) + { + CString error = GetLastErrorAsString(); + CLog::Log(PK_ERROR, "%s", error.Data()); + } + + FindClose(hFind); + return paths; +} + +//---------------------------------------------------------------------------- + +SEditorExecutable CWinSystemHelper::GetMatchingEditor(const SEngineVersion &version) +{ + PK_ASSERT(version.Major() == 2); + + CGuid bestVerPatch; + CGuid bestVer; + + TArray execList = _FindInstalledVersions(_GetWindowsInstallDir()); + for (u32 i = 0; i < execList.Count(); i++) + { + const SEditorExecutable &execVer = execList[i]; + + if (execVer.m_Version.Equal_IgnoreRevID(version)) + { + // Exact version, always the best option. + // This assumes there's always a single version installed at the same patch, + // and there can't be multiple versions with the same major.minor.patch version. + // Otherwise, when there are multiple similar versions installed, + // it'll take the first one in the list. Do we care? + // Do we want to handle that better and actually return the one with + // the closest revid ? + CLog::Log(PK_INFO, "Running exact match editor : %s", execVer.m_BinaryPath.Data()); + return execVer; // Exact version + } + if (execVer.m_Version.Equal_IgnorePatch(version)) + { + // Within the same minor version, this is the best candidate + if (!bestVerPatch.Valid()) + bestVerPatch = i; + else + { + const u32 patchPrev = execList[bestVerPatch].m_Version.Patch(); + const u32 patchNew = execVer.m_Version.Patch(); + { + if (patchNew >= patchPrev) + bestVerPatch = i; + } + } + } + else if (execVer.m_Version >= version) + { + // Minor version higher than project + if (!bestVer.Valid()) + bestVer = i; + else + { + if (execVer.m_Version < execList[bestVer].m_Version) // if it's closer to the target project version + bestVer = i; + } + } + } + if (bestVerPatch.Valid()) + return execList[bestVerPatch]; + if (bestVer.Valid()) + return execList[bestVer]; + + SEditorExecutable ret; +#if _DEBUG + ret.m_BinaryPath = "%PK_SDK_ROOT%\\Tools\\Poped\\build_vs2019\\PK-Editor_d.exe"; +#else + ret.m_BinaryPath = "%PK_SDK_ROOT%\\Tools\\Poped\\build_vs2019\\PK-Editor_r.exe"; +#endif + CLog::Log(PK_INFO, "Running default path dev: %s", ret.m_BinaryPath.Data()); + return ret; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif // PK_WINDOWS diff --git a/AE_GeneralPlugin/Sources/AEGP_World.cpp b/AE_GeneralPlugin/Sources/AEGP_World.cpp new file mode 100644 index 00000000..2786e0ae --- /dev/null +++ b/AE_GeneralPlugin/Sources/AEGP_World.cpp @@ -0,0 +1,2674 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" + +#include "AEGP_World.h" + +#include "AEGP_PopcornFXPlugins.h" +#include "AEGP_Scene.h" +#include "AEGP_AEPKConversion.h" + +#include "AEGP_AssetBaker.h" +#include "AEGP_Log.h" + +//Suite +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +//StartUp Runtime +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include // for PRNG +#include // for CPlane in CParticleSceneBasic + +#include +#include + +//RHI +#include +#include +#include +//Sample +#include +#include + +#include + +//AE +#include +#include + +#include "AEGP_LayerHolder.h" +#include "AEGP_UpdateAEState.h" + +#include "Panels/AEGP_PanelQT.h" + +#include "AEGP_System.h" + +#include +#include + +#include + +//---------------------------------------------------------------------------- + +PK_LOG_MODULE_DECLARE(); + +template <> +const A_char* SuiteTraits::i_name = kAEGPPanelSuite; +template <> +const int32_t SuiteTraits::i_version = kAEGPPanelSuiteVersion1; + +template <> +const A_char* SuiteTraits::i_name = kPFAppSuite; +template <> +const int32_t SuiteTraits::i_version = kPFAppSuiteVersion4; + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +//TODO OS Specific code +static PAAERenderContext s_AAEThreadRenderContexts = null; +static PKSample::CShaderLoader *s_ShaderLoader = null; + +//---------------------------------------------------------------------------- + +const char *SAEPreferenciesKeys::GetGraphicsApiAsCharPtr(EApiValue value) +{ + return kApiNames[value]; + +} + +//---------------------------------------------------------------------------- + +const char *SAEPreferenciesKeys::GetGraphicsApiAsCharPtr(RHI::EGraphicalApi value) +{ + return GetGraphicsApiAsCharPtr(RHIApiToAEApi(value)); +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +HBO_CLASS_DEFINITION_BEGIN(CAEPProjectProperties) + .HBO_FIELD_DEFINITION(ProjectName) + .HBO_FIELD_DEFINITION(LayerProperties) +HBO_CLASS_DEFINITION_END + +CAEPProjectProperties::CAEPProjectProperties() + : HBO_CONSTRUCT(CAEPProjectProperties) +{ +} + +//---------------------------------------------------------------------------- + +CAEPProjectProperties::~CAEPProjectProperties() +{ +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +CPopcornFXWorld *CPopcornFXWorld::m_Instance = null; + +CPopcornFXWorld::CPopcornFXWorld() + : m_Initialized(false) + , m_AAETreadID(0) + , m_GraphicsApi(RHI::GApi_Null) + , m_AELogFileListener(null) +{ +} + +//---------------------------------------------------------------------------- + +CPopcornFXWorld::~CPopcornFXWorld() +{ + if (s_AAEThreadRenderContexts != null) + { + s_AAEThreadRenderContexts->Destroy(); + s_AAEThreadRenderContexts = null; + } + PK_SAFE_DELETE(s_ShaderLoader); +} + +//---------------------------------------------------------------------------- + +CPopcornFXWorld &CPopcornFXWorld::Instance() +{ + if (CPopcornFXWorld::m_Instance == null) + { + m_Instance = new CPopcornFXWorld(); + } + return *m_Instance; +} + +//---------------------------------------------------------------------------- + +static Threads::PAbstractPool _CreateCustomThreadPool() +{ + bool success = true; + CThreadManager::EPriority workersPriority = CThreadManager::Priority_High; + PWorkerThreadPool pool = PK_NEW(CWorkerThreadPool); + + if (PK_VERIFY(pool != null)) + { + // Let the OS shedule our workers + // leave 2 core for main thread and render thread + u32 processorCount = PKMin(PKMax(CPU::Caps().ProcessAffinity().NumBitsSet(), (u32)4) - (u32)3, (u32)12); + + CPopcornFXWorld::Instance().SetWorkerCount(processorCount); + success = pool->AddFullAffinityWorkers(processorCount, CPU::Caps().ProcessAffinity(), workersPriority); + + if (!success) + return null; + + pool->StartWorkers(); + } + return pool; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::Setup(SPBasicSuite *pica_basicP, AEGP_PluginID id) +{ + PK_SCOPEDLOCK(m_Lock); + m_AEGPID = id; + m_Suites = pica_basicP; + + AEGP_SuiteHandler suites(m_Suites); + A_Err err = A_Err_NONE; + // AE SETUP + { + AEGP_InstalledEffectKey key = AEGP_InstalledEffectKey_NONE; + u32 effectInstalled; + A_char effectName[AEGP_MAX_EFFECT_MATCH_NAME_SIZE] = { '\0' }; + u32 pluginsFound = 0; + + suites.EffectSuite4()->AEGP_GetNumInstalledEffects((A_long*)&effectInstalled); + + for (u32 i = 0; i < effectInstalled; ++i) + { + suites.EffectSuite4()->AEGP_GetNextInstalledEffect(key, &key); + suites.EffectSuite4()->AEGP_GetEffectMatchName(key, effectName); + + if (strcmp(effectName, "ADBE PopcornFX Emitter") == 0) + { + m_PKInstalledPluginKeys[EPKChildPlugins::EMITTER] = key; + ++pluginsFound; + } + else if (strcmp(effectName, "ADBE PopcornFX Attribute") == 0) + { + m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE] = key; + ++pluginsFound; + } + else if (strcmp(effectName, "ADBE PopcornFX Sampler") == 0) + { + m_PKInstalledPluginKeys[EPKChildPlugins::SAMPLER] = key; + ++pluginsFound; + } + + if (pluginsFound == EPKChildPlugins::_PLUGIN_COUNT) + break; + } + PK_RELEASE_ASSERT(pluginsFound == EPKChildPlugins::_PLUGIN_COUNT); + } + + //POPCORN FX INIT + SDllVersion engineVersion; + CPKKernel::Config configKernel; + + configKernel.m_CreateThreadPool = &_CreateCustomThreadPool; + + if (engineVersion.Major != PK_VERSION_MAJOR || engineVersion.Minor != PK_VERSION_MINOR) + { + PK_ASSERT_NOT_REACHED(); + } + + if (!CPKKernel::Startup(engineVersion, configKernel) || + !CPKBaseObject::Startup(engineVersion, CPKBaseObject::Config()) || + !CPKEngineUtils::Startup(engineVersion, CPKEngineUtils::Config()) || + !CPKCompiler::Startup(engineVersion, CPKCompiler::Config()) || + !CPKGeometrics::Startup(engineVersion, CPKGeometrics::Config()) || + !CPKImaging::Startup(engineVersion, CPKImaging::Config()) || + !CPKParticles::Startup(engineVersion, CPKParticles::Config()) || + !ParticleToolbox::Startup() || + !CPKRHI::Startup(engineVersion, CPKRHI::Config()) || + !CPKRenderHelpers::Startup(engineVersion, CPKRenderHelpers::Config()) || + !CPKSample::Startup(engineVersion, CPKSample::Config()) || // Only necessary if your engine links/relies on PKSample + !PK_VERIFY(Kernel::CheckStaticConfigFlags(Kernel::g_BaseStaticConfig, SKernelConfigFlags()))) + { + return false; + } + + PK_LOG_MODULE_INIT_START; + + CAEPProjectProperties::RegisterHandler(); + CLayerProperty::RegisterHandler(); + CGraphicOverride::RegisterHandler(); + CEditorAssetEffect::RegisterHandler(); + + PK_LOG_MODULE_INIT_END; + + CAELog::SetPKLogState(true); + +#if 0 + _GetAEPath(AEGP_GetPathTypes_PLUGIN, m_PluginPath); < --Not implemented by AE +#endif + if (!PK_VERIFY(_GetAEPath(AEGP_GetPathTypes_USER_PLUGIN, m_UserPluginPath)) || + !PK_VERIFY(_GetAEPath(AEGP_GetPathTypes_ALLUSER_PLUGIN, m_AllUserPluginPath)) || + !PK_VERIFY(_GetAEPath(AEGP_GetPathTypes_APP, m_AEPath))) + return false; + + CFilePath::Purify(m_AEPath); + + CCoordinateFrame::SetupFrame(ECoordinateFrame::Frame_User1, EAbsoluteAxis::Axis_Right, EAbsoluteAxis::Axis_Down, EAbsoluteAxis::Axis_Forward); + CCoordinateFrame::SetGlobalFrame(ECoordinateFrame::Frame_User1); + + if (!PK_VERIFY(PopcornRegisterPlugins(EPlugin_Default | EPlugin_MeshCodecFBX) == true)) + return CAELog::TryLogErrorWindows("Could not load PopcornFX plugins"); + + AEGP_PersistentBlobH blobH = NULL; + AEGP_PersistentDataSuite4 *persistentDataSuite = suites.PersistentDataSuite4(); + + if (persistentDataSuite != null) + { + err |= persistentDataSuite->AEGP_GetApplicationBlob(AEGP_PersistentType_MACHINE_SPECIFIC, &blobH); + if (err == A_Err_NONE && blobH != null) + { + u32 targetApi; +#if defined(PK_WINDOWS) + A_long defaultApi = EApiValue::D3D11; +#elif defined(PK_MACOSX) + A_long defaultApi = EApiValue::Metal; +#endif + err |= persistentDataSuite->AEGP_GetLong(blobH, + SAEPreferenciesKeys::kSection, + SAEPreferenciesKeys::kApi, + defaultApi, + (A_long*)&targetApi); + if (err == A_Err_NONE) + { + m_GraphicsApi = AEApiToRHIApi(static_cast(targetApi)); + } + } + } + if (!PK_VERIFY(err == A_Err_NONE)) + return false; + + CPanelBaseGUI *panel = CPanelBaseGUI::GetInstance(); + if (!PK_VERIFY(panel->InitializeIFN())) + return false; + + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::FetchAEProject() +{ + AEGP_SuiteHandler suites(m_Suites); + A_Err err = A_Err_NONE; + A_long numProj = 0; + + err |= suites.ProjSuite6()->AEGP_GetNumProjects(&numProj); + + if (numProj > 0) + { + AEGP_ProjectH projPH; + + err |= suites.ProjSuite6()->AEGP_GetProjectByIndex(0, &projPH); + + if (err == A_Err_NONE && projPH != null) + { + AEGP_MemHandle handle; + aechar_t *retrievedPath; + CString path = ""; + + err |= suites.ProjSuite6()->AEGP_GetProjectPath(projPH, &handle); + err |= suites.MemorySuite1()->AEGP_LockMemHandle(handle, reinterpret_cast(&retrievedPath)); + + WCharToCString(retrievedPath, &path); + + err |= suites.MemorySuite1()->AEGP_UnlockMemHandle(handle); + err |= suites.MemorySuite1()->AEGP_FreeMemHandle(handle); + if (path != null) + { + m_AEProjectFilename = CFilePath::ExtractFilename(path.Data()); + CFilePath::StripExtensionInPlace(m_AEProjectFilename); + path = CFilePath::StripFilename(path.Data()); + CFilePath::Purify(path); + bool newPath = false; + + //Create log file in AEP directory + if (m_AEProjectPath != path) + { + newPath = true; + m_AEProjectPath = path; + + CString logPath = path / "popcorn.htm"; + + if (m_AELogFileListener != null) + { + CLog::RemoveGlobalListener(m_AELogFileListener); + m_AELogFileListener = null; + } + m_AELogFileListener = PK_NEW(CLogListenerFile(path.Data(), "popcorn-engine logfile"); + CLog::AddGlobalListener(m_AELogFileListener)); + } + //CreateINF Project conf file or reload it if AEP changed + if (m_ProjectConfFile == null || newPath) + { + IFileSystem *fileSystem = File::DefaultFileSystem(); + + if (m_ProjectPack != null) + fileSystem->UnmountPack(m_ProjectPack.Get()); + if (m_ProjectConfFile != null) + { + m_ProjectConfFile->Unload(); + for (auto *layers : m_Layers) + layers->m_LayerProperty = null; + } + + CString projectPropFilename = m_AEProjectFilename + ".pkbo"; + + m_ProjectPack = fileSystem->MountPack(path); + m_ProjectConfFile = HBO::g_Context->LoadFile_AndCreateIFN_Pure(projectPropFilename.View(), false); + + } + if (m_ProjectConfFile != null) + { + PAEPProjectProperties projectProp = m_ProjectConfFile->FindFirstOf(); + + if (projectProp != null) + { + if (!projectProp->ProjectName().Compare(m_AEProjectFilename))//project change: unload file and let the next frame recreate it + { + m_ProjectConfFile->Unload(); + m_ProjectConfFile = null; + } + } + else //or a new project + { + projectProp = HBO::g_Context->NewObject(m_ProjectConfFile.Get()); + projectProp->SetProjectName(m_AEProjectFilename); + + WriteProjectFileModification(); + } + m_ProjectProperty = projectProp; + } + } + } + } + if (!PK_VERIFY(err == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::_GetAEPath(AEGP_GetPathTypes type, CString &dst) +{ + AEGP_MemHandle handle; + A_Err err = A_Err_NONE; + aechar_t *retrievedPath; + AEGP_SuiteHandler suites(m_Suites); + + err = suites.UtilitySuite6()->AEGP_GetPluginPaths(m_AEGPID, type, &handle); + if (!PK_VERIFY(err == A_Err_NONE)) + return false; + suites.MemorySuite1()->AEGP_LockMemHandle(handle, reinterpret_cast(&retrievedPath)); + + dst.Clear(); + WCharToCString(retrievedPath, &dst); + + err |= suites.MemorySuite1()->AEGP_UnlockMemHandle(handle); + err |= suites.MemorySuite1()->AEGP_FreeMemHandle(handle); + + if (!PK_VERIFY(err == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetCommandHandle(AEGP_Command &command, const char *name) +{ + m_CommandName = name; + m_Command = command; + return true; +} + +//---------------------------------------------------------------------------- + +AEGP_PluginID CPopcornFXWorld::GetPluginID() +{ + return m_AEGPID; +} + +//---------------------------------------------------------------------------- + +SPBasicSuite *CPopcornFXWorld::GetAESuites() +{ + return m_Suites; +} + +//---------------------------------------------------------------------------- + +RHI::EGraphicalApi CPopcornFXWorld::GetRenderApi() +{ + PK_ASSERT(m_GraphicsApi != RHI::GApi_Null); + return m_GraphicsApi; +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::SetRenderApi(EApiValue AEGraphicsApi) +{ + A_Err err = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_PersistentBlobH blobH = NULL; + AEGP_PersistentDataSuite4 *persistentDataSuite = suites.PersistentDataSuite4(); + + if (persistentDataSuite != null) + { + err |= persistentDataSuite->AEGP_GetApplicationBlob(AEGP_PersistentType_MACHINE_SPECIFIC, &blobH); + if (err == A_Err_NONE && blobH != null) + { + err |= persistentDataSuite->AEGP_SetLong(blobH, + SAEPreferenciesKeys::kSection, + SAEPreferenciesKeys::kApi, + (A_long)AEGraphicsApi); + PK_ASSERT(err == A_Err_NONE); + } + } + CAELog::TryLogInfoWindows("Graphics Api changed, restart After Effects to apply change."); +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::InitializeIFN(SAAEIOData &AAEData) +{ + (void)AAEData; + FetchAEProject(); + if (m_Initialized == true) + return true; + PK_SCOPEDLOCK(m_Lock); + + m_ClassName = "PKPluginInterface"; + + m_VaultHandler.InitializeIFN(); + m_Initialized = true; + for (u32 i = 0; i < __Effect_Parameters_Count; ++i) + CAEUpdater::s_EmitterIndexes[i] = i; + for (u32 i = 0; i < __Attribute_Parameters_Count; ++i) + CAEUpdater::s_AttributeIndexes[i] = i; + for (u32 i = 0; i < __AttributeSamplerType_Parameters_Count; ++i) + CAEUpdater::s_SamplerIndexes[i] = i; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::ShutdownIFN() +{ + bool result = true; + + m_VaultHandler.ShutdownIFN(); + { + PK_SCOPEDLOCK(m_Lock); + if (m_Panel) + { + m_Panel->DestroyInstance(); + m_Panel = null; + } + + for (s32 j = m_Layers.Count() - 1; j >= 0; --j) + { + SLayerHolder &layer = *m_Layers[j]; + + result = layer.Clear(m_Suites); + PK_ASSERT(result); + PK_DELETE(m_Layers[j]); + } + m_Layers.Clear(); + HBO::g_Context->UnloadAllFiles(); + + CAAEScene::ShutdownPopcornFX(); + m_Suites = null; + if (m_AAETreadID.Count() != 0) + { + for (u32 i = 0; i < m_AAETreadID.Count(); ++i) + { + PopcornFX::CThreadManager::UnsafeUnregisterUserThread(m_AAETreadID[i]); + } + m_AAETreadID.Clear(); + } + if (m_AELogFileListener != null) + { + CLog::RemoveGlobalListener(m_AELogFileListener); + m_AELogFileListener = null; + } + IFileSystem *fileSystem = File::DefaultFileSystem(); + if (PK_VERIFY(fileSystem != null)) + fileSystem->UnmountAllPacks(); + m_Initialized = false; + } + delete m_Instance; + + PopcornUnregisterPlugins(); + CAELog::SetPKLogState(false); + + PK_LOG_MODULE_RELEASE_START; + + CAEPProjectProperties::UnregisterHandler(); + CLayerProperty::UnregisterHandler(); + CGraphicOverride::UnregisterHandler(); + CEditorAssetEffect::UnregisterHandler(); + + PK_LOG_MODULE_RELEASE_END; + + CPKSample::Shutdown(); + CPKRenderHelpers::Shutdown(); + CPKRHI::Shutdown(); + ParticleToolbox::Shutdown(); + CPKParticles::Shutdown(); + CPKImaging::Shutdown(); + CPKGeometrics::Shutdown(); + CPKCompiler::Shutdown(); + CPKEngineUtils::Shutdown(); + CPKBaseObject::Shutdown(); + CPKKernel::Shutdown(); + return result; +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::SetProfilingState(bool state) +{ +#if (KR_PROFILER_ENABLED != 0) + Profiler::CProfiler *profiler = Profiler::MainEngineProfiler(); + if (profiler == null) + return; + profiler->GrabCallstacks(false); + profiler->Activate(state); + profiler->Reset(); + + if (!state) + { + CString path = m_VaultHandler.VaultPathRoot() / "profilerReport.pkpr"; + CDynamicMemoryStream stream = CDynamicMemoryStream(); + Profiler::CProfilerReport report; + profiler->BuildReport(&report); + Profiler::WriteProfileReport(report, stream); + FILE *f = fopen(path.Data(), "wb"); + if (f != null) + { + u32 size = 0; + u8 *buffer = stream.ExportDataAndClose(size); + fwrite(buffer, size, 1, f); + fclose(f); + PK_FREE(buffer); + } + else + CLog::Log(PK_ERROR, "Failed to write profile report to %s", path.Data()); + stream.Close(); + } +#endif +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::SetParametersIndexes(const int *indexes, EPKChildPlugins plugin) +{ + if (plugin == EPKChildPlugins::EMITTER) + { + for (u32 i = 0; i < __Effect_Parameters_Count; ++i) + { + CAEUpdater::s_EmitterIndexes[i] = indexes[i]; + PK_ASSERT(CAEUpdater::s_EmitterIndexes[i] >= 0); + } + } + else if (plugin == EPKChildPlugins::ATTRIBUTE) + { + for (u32 i = 0; i < __Attribute_Parameters_Count; ++i) + { + CAEUpdater::s_AttributeIndexes[i] = indexes[i]; + PK_ASSERT(CAEUpdater::s_AttributeIndexes[i] >= 0); + } + } + else if (plugin == EPKChildPlugins::SAMPLER) + { + for (u32 i = 0; i < __AttributeSamplerType_Parameters_Count; ++i) + { + CAEUpdater::s_SamplerIndexes[i] = indexes[i]; + PK_ASSERT(CAEUpdater::s_SamplerIndexes[i] >= 0); + } + } +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetDefaultLayerPosition(SAAEIOData& AAEData, AEGP_LayerH layer) +{ + if (layer == null) + return false; + + AEGP_SuiteHandler suites(m_Suites); + A_Err result = A_Err_NONE; + AEGP_StreamRefH stream = null; + A_Time time; + + time.value = AAEData.m_InData->current_time; + time.scale = AAEData.m_InData->time_scale; + + result |= suites.StreamSuite2()->AEGP_GetNewLayerStream(m_AEGPID, layer, AEGP_LayerStream_POSITION, &stream); + if (result != A_Err_NONE || stream == null) + return false; + + AEGP_StreamValue value; + + result |= suites.StreamSuite2()->AEGP_GetNewStreamValue(m_AEGPID, stream, AEGP_LTimeMode_LayerTime, &time, false, &value); + if (result != A_Err_NONE) + return false; + value.val.three_d.x = AAEData.m_InData->width / 2.0f; + value.val.three_d.y = AAEData.m_InData->height / 2.0f; + + result |= suites.StreamSuite2()->AEGP_SetStreamValue(m_AEGPID, stream, &value); + if (result != A_Err_NONE) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::MoveEffectIntoCurrentView(SAAEIOData &AAEData, SEmitterDesc *descriptor) +{ + SLayerHolder *layer = GetLayerForSEmitterDesc(descriptor); + + if (layer == null && layer->m_SpawnedEmitter.m_Desc == null) + return false; + + CAABB bounds; + CFloat4x4 view; + CFloat4 pos; + float zoom; + A_Time AETime; + + AETime.scale = AAEData.m_InData->time_scale; + AETime.value = AAEData.m_InData->current_time; + if (!layer->m_Scene->GetEmitterBounds(bounds) || + !CAEUpdater::GetCameraViewMatrixAtTime(layer, view, pos, AETime, zoom)) + return false; + + + CFloat3 forward = view.Inverse().StrippedZAxis().Normalized(); + + float extends = bounds.Extent().HighestComponent(); + CFloat3 newPos = pos.xyz() + forward * (extends * 2.0f); + + AEGP_SuiteHandler suites(m_Suites); + A_Err result = A_Err_NONE; + AEGP_StreamRefH streamPos = null; + AEGP_EffectRefH effectRef = null; + + result = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AEGPID, AAEData.m_InData->effect_ref, &effectRef); + if (result != A_Err_NONE || effectRef == null) + return false; + + result |= suites.StreamSuite5()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effectRef, CAEUpdater::s_EmitterIndexes[Effect_Parameters_Position], &streamPos); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE || streamPos == null) + { + return false; + } + AEGP_StreamValue2 value; + result |= suites.StreamSuite5()->AEGP_GetNewStreamValue(m_AEGPID, streamPos, AEGP_LTimeMode_LayerTime, &AETime, false, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + value.val.three_d.x = newPos.x(); + value.val.three_d.y = newPos.y(); + value.val.three_d.z = newPos.z(); + result |= suites.StreamSuite5()->AEGP_SetStreamValue(m_AEGPID, streamPos, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + result |= suites.StreamSuite5()->AEGP_DisposeStreamValue(&value); + result |= suites.StreamSuite5()->AEGP_DisposeStream(streamPos); + + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::IdleUpdate() +{ + if (m_Initialized == false) + return false; + + PK_SCOPEDPROFILE(); + + AEGP_SuiteHandler suites(m_Suites); + AEGP_EffectSuite4 *effectSuite = suites.EffectSuite4(); + A_Err result = A_Err_NONE; + bool updateEmitterPanel = false; + + if (effectSuite == null) + return false; + + CAELog::ClearIOData(); + FetchAEProject(); + + CString compositionName; + + GetMostRecentCompName(compositionName); + if (m_MostRecentCompName != compositionName) + { + if (m_Panel) + m_Panel->UpdateScenesModel(); + m_MostRecentCompName = compositionName; + } + for (s32 l = m_Layers.Count() - 1; l >= 0; --l) + { + SLayerHolder &layer = *m_Layers[l]; + + if (!layer.m_LayerLock.TryLock()) + continue; + + A_long count = 0; + u32 emitterCount = 0; + + if (layer.m_SpawnedEmitter.m_Desc != null) + { + result = effectSuite->AEGP_GetLayerNumEffects(layer.m_EffectLayer, &count); + if (result != A_Err_NONE) + { + CLog::Log(PK_INFO, "AEGP_GetLayerNumEffects failed"); + layer.m_LayerLock.Unlock(); + continue; + } + + //Start the fuckery to handle Layer deletion + AEGP_CompH compH; + AEGP_LayerIDVal layerID; + AEGP_LayerH layerFromComp; + result = suites.LayerSuite5()->AEGP_GetLayerParentComp(layer.m_EffectLayer, &compH); + if (result != A_Err_NONE) + { + CLog::Log(PK_INFO, "AEGP_GetLayerNumEffects failed"); + layer.m_LayerLock.Unlock(); + continue; + } + result = suites.LayerSuite7()->AEGP_GetLayerID(layer.m_EffectLayer, &layerID); + result = suites.LayerSuite7()->AEGP_GetLayerFromLayerID(compH, layerID, &layerFromComp); + if (result != A_Err_NONE) //Layer is deleted but still on the undo stack + { + updateEmitterPanel = layer.m_Deleted != true ? true : updateEmitterPanel; + layer.m_Deleted = true; + } + else + { + updateEmitterPanel = layer.m_Deleted != false ? true : updateEmitterPanel; + layer.m_Deleted = false; + } + + for (A_long j = count - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + result = suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer.m_EffectLayer, j, &effectRef); + result = suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (!PK_VERIFY(result == A_Err_NONE)) + { + CLog::Log(PK_INFO, "AEGP_GetLayerEffectByIndex failed"); + layer.m_LayerLock.Unlock(); + continue; + } + if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE]) + { + } + else if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::EMITTER]) + { + emitterCount += 1; + if (layer.m_ForceRender) + { + layer.m_ForceRender = false; + if (!InvalidateEmitterRender(&layer, effectRef)) + { + layer.m_LayerLock.Unlock(); + return false; + } + } + } + result = suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + if (emitterCount == 0) + { + layer.Clear(m_Suites); + m_Layers.RemoveElement(&layer); + layer.m_LayerLock.Unlock(); + PK_DELETE(&layer); + updateEmitterPanel = true; + continue; + } + } + if (_ExecClearAttributes(&layer) != 0) //Clear attribute did work, give time to AE to reorder internals. + { + layer.m_LayerLock.Unlock(); + continue; + } + + if (_ExecSPendingEmitters(&layer) < 0) + { + updateEmitterPanel = true; + layer.m_LayerLock.Unlock(); + continue; + } + + if (_ExecSPendingAttributes(&layer) < 0) + { + layer.m_LayerLock.Unlock(); + continue; + } + + layer.m_LayerLock.Unlock(); + } + { + PK_SCOPEDLOCK(m_UIEventLock); + for (u32 i = 0; i < m_UIEvents.Count(); ++i) + { + SUIEvent *event = m_UIEvents[i]; + + event->Exec(); + PK_DELETE(event); + } + m_UIEvents.Clear(); + } + if (m_Panel != null) + { + if (updateEmitterPanel) + m_Panel->UpdateScenesModel(); + } +#if defined(PK_MACOSX) + if (m_Panel != null) + m_Panel->IdleUpdate(); +#endif + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::HandleNewEmitterEvent(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_LayerH layerH; + A_long dstID = 0, existingID; + s32 existingLayerID = -1; + + FetchAEProject(); + PK_SCOPEDLOCK(m_Lock); + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + result |= suites.LayerSuite8()->AEGP_GetLayerID(layerH, &dstID); + + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + + for (u32 i = 0; i < m_Layers.Count(); ++i) + { + result |= suites.LayerSuite8()->AEGP_GetLayerID(m_Layers[i]->m_EffectLayer, &existingID); + if (dstID == existingID) + { + existingLayerID = i; + break; + } + } + SLayerHolder *layerHolder = null; + + if (existingLayerID >= 0) + { + layerHolder = m_Layers[existingLayerID]; + layerHolder->m_Scene->Quit(); + layerHolder->m_Scene = null; + } + else + { + layerHolder = PK_NEW(SLayerHolder); + if (!PK_VERIFY(m_Layers.PushBack(layerHolder).Valid())) + return false; + existingLayerID = m_Layers.Count() - 1; + } + if (!PK_VERIFY(layerHolder != null)) + return false; + + layerHolder->m_EffectLayer = layerH; + layerHolder->ID = existingLayerID; + + if (!SetLayerName(layerHolder)) + return false; + if (!SetLayerCompName(layerHolder)) + return false; + CreateLayerPropertyIFP(layerHolder); + + layerHolder->m_Scene = PK_NEW(CAAEScene); + if (!PK_VERIFY(layerHolder->m_Scene != null)) + return false; + layerHolder->m_Scene->SetLayerHolder(layerHolder); + layerHolder->m_ViewMatrix = CFloat4x4::IDENTITY; + layerHolder->m_CameraPos = CFloat4::ZERO; + layerHolder->m_CurrentTime = AAEData.m_InData->current_time; + layerHolder->m_TimeScale = AAEData.m_InData->time_scale; + layerHolder->m_TimeStep = AAEData.m_InData->local_time_step; + + if (layerHolder->m_Scene->Init(AAEData) == false) + return false; + layerHolder->m_Scene->SetEffectDescriptor(desc); + if (layerHolder->m_SpawnedEmitter.m_Desc != null) + { + layerHolder->m_SpawnedEmitter.m_EffectHandle = AAEData.m_InData->effect_ref; + layerHolder->m_SpawnedEmitter.m_Desc = desc; + } + else + { + if (!layerHolder->m_SPendingEmitters.PushBack(SPendingEmitter{ AAEData.m_InData->effect_ref, desc }).Valid()) + return false; + } + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::HandleDeleteEmitterEvent(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc) +{ + (void)AAEData; + + SLayerHolder *layer = GetLayerForSEmitterDesc(desc); + + if (layer) + { + layer->Clear(m_Suites); + + u32 idx = m_Layers.IndexOf(layer); + m_Layers.Remove(idx); + + PK_DELETE(layer); + if (m_Panel != null) + m_Panel->UpdateScenesModel(); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::HandleNewAttributeEvent(PF_ProgPtr &effectRef, SAttributeDesc *desc, bool asyncMerge /*= true*/, SLayerHolder *layer /*=null*/) +{ + (void)asyncMerge; + AEGP_SuiteHandler suites(m_Suites); + + PK_SCOPEDLOCK(m_Lock); + + if (layer == null) + { + PK_ASSERT(false); + return false; + } + if (layer != null) + { + CStringId id = GetAttributeID(desc); + if (layer->m_SpawnedAttributes.Contains(id)) + { + SPendingAttribute *attr = layer->m_SpawnedAttributes[id]; + attr->m_ParentEffectPtr = effectRef; + + if (attr->m_Desc != null) + { + *(attr->m_Desc) = *desc; + delete (desc); + } + else + { + attr->m_Desc = desc; + } + } + else //Not yet spawned in AE, must do an async merge due to SDK limitations. + { + if (!PK_VERIFY(layer->m_SPendingAttributes.PushBack(SPendingAttribute(effectRef, desc, null)).Valid())) + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::HandleNewAttributeSamplerEvent(PF_ProgPtr &effectRef, SAttributeSamplerDesc *desc, bool asyncMerge, SLayerHolder *layer) +{ + (void)asyncMerge; + AEGP_SuiteHandler suites(m_Suites); + + PK_SCOPEDLOCK(m_Lock); + + if (layer == null) + { + PK_ASSERT(false); + return false; + } + + if (layer != null) + { + CStringId id = GetAttributeID(desc); + if (layer->m_SpawnedAttributesSampler.Contains(id)) + { + SPendingAttribute *attr = layer->m_SpawnedAttributesSampler[id]; + attr->m_ParentEffectPtr = effectRef; + if (attr->m_Desc != null) + { + SAttributeSamplerDesc *descriptor = static_cast(attr->m_Desc); + if (descriptor->m_Descriptor != null) + { + delete(descriptor->m_Descriptor); + descriptor->m_Descriptor = null; + attr->m_Desc->m_IsDeleted = true; + } + *(static_cast(attr->m_Desc)) = *(static_cast(desc)); + delete (desc); + } + else + { + attr->m_Desc = desc; + } + } + else //Not yet spawned in AE, must do an async merge due to SDK limitations. + { + if (!PK_VERIFY(layer->m_SPendingAttributes.PushBack(SPendingAttribute(effectRef, desc, null)).Valid())) + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::HandleNewAttributes(TArray &attributes, PF_ProgPtr &effectRef, SLayerHolder *layer, bool asyncMerge) +{ + for (u32 i = 0; i < attributes.Count(); ++i) + { + attributes[i]->m_Order = attributes.Count() - i - 1; + if (attributes[i]->m_IsAttribute == true) + HandleNewAttributeEvent(effectRef, static_cast(attributes[i]), asyncMerge, layer); + else + HandleNewAttributeSamplerEvent(effectRef, static_cast(attributes[i]), asyncMerge, layer); + + } + return true; +} + +//---------------------------------------------------------------------------- + +SLayerHolder *CPopcornFXWorld::GetLayerForSEmitterDesc(SEmitterDesc *desc) +{ + return GetLayerForSEmitterDescID(CStringId(desc->m_UUID.c_str())); +} + +//---------------------------------------------------------------------------- + +SLayerHolder *CPopcornFXWorld::GetLayerForSEmitterDescID(CStringId id) +{ + for (u32 i = 0; i < m_Layers.Count(); ++i) + { + SLayerHolder &layer = *m_Layers[i]; + if (layer.m_SpawnedEmitter.m_Desc && CStringId(layer.m_SpawnedEmitter.m_Desc->m_UUID.c_str()) == id) + { + return &layer; + } + } + return null; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::CheckEmitterValidity(AAePk::SAAEIOData &AAEData, AAePk::SEmitterDesc *descriptor) +{ + (void)AAEData; + SLayerHolder *layer = GetLayerForSEmitterDesc(descriptor); + + if (layer == null) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::UpdateScene(SAAEIOData &AAEData, SEmitterDesc *desc) +{ + PK_SCOPEDPROFILE(); + if (!InitializeIFN(AAEData)) + return false; + if (m_Layers.Count() == 0) + return true; + if (!PopcornFX::CCurrentThread::IsRegistered()) + { + if (!m_AAETreadID.PushBack(PopcornFX::CCurrentThread::RegisterUserThread()).Valid()) + return false; + } + + SLayerHolder *layer = GetLayerForSEmitterDesc(desc); + AEGP_SuiteHandler suites(m_Suites); + PF_Err result = A_Err_NONE; + A_Time AETime; + + if (layer == null) + return true; + + PK_SCOPEDLOCK(layer->m_LayerLock); + + layer->m_CurrentTime = AAEData.m_InData->current_time; + layer->m_TimeScale = AAEData.m_InData->time_scale; + //Sync Params with current frame + result |= suites.PFInterfaceSuite1()->AEGP_ConvertEffectToCompTime(AAEData.m_InData->effect_ref, layer->m_CurrentTime, layer->m_TimeScale, &AETime); + + AEGP_LayerH cameraLayer = null; + + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectCamera(AAEData.m_InData->effect_ref, &AETime, &cameraLayer); + layer->m_CameraLayer = cameraLayer; + if (desc->m_Name.empty()) + return true; + + A_long dstID = 0; + result |= suites.LayerSuite8()->AEGP_GetLayerID(layer->m_EffectLayer, &dstID); + +#if 1 // Fix for copy paste break everything... + + if (desc->m_LayerID != dstID) + { + AEGP_LayerH layerH = null; + result |= suites.PFInterfaceSuite1()->AEGP_GetEffectLayer(AAEData.m_InData->effect_ref, &layerH); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + + if (layerH != null) + { + desc->m_LayerID = dstID; + layer->m_EffectLayer = layerH; + + A_long count = 0; + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &count); + + for (A_long j = count - 1; j >= 0; --j) + { + bool disposeEffect = true; + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &effectRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (!PK_VERIFY(result == A_Err_NONE)) + { + return false; + } + if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE]) + { + CStringId id = GetAttributeID(effectRef); + if (layer->m_SpawnedAttributes.Contains(id)) + { + SPendingAttribute *attribute = layer->m_SpawnedAttributes[id]; + + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attribute->m_AttributeEffectRef); + attribute->m_AttributeEffectRef = effectRef; + disposeEffect = false; + } + } + else if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::SAMPLER]) + { + CStringId id = GetAttributeSamplerID(effectRef); + if (layer->m_SpawnedAttributesSampler.Contains(id)) + { + SPendingAttribute *sampler = layer->m_SpawnedAttributesSampler[id]; + + result |= suites.EffectSuite4()->AEGP_DisposeEffect(sampler->m_AttributeEffectRef); + sampler->m_AttributeEffectRef = effectRef; + disposeEffect = false; + } + } + else if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::EMITTER]) + { + if (m_Panel) + { + m_Panel->UpdateScenesModel(); + } + } + if (disposeEffect) + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + } + } +#endif + layer->m_SpawnedEmitter.m_EffectHandle = AAEData.m_InData->effect_ref; + +#if TEST_COLOR_PROFILE & 0 + AEGP_CompH compH; + AEGP_ColorProfileP colorProfile; + A_FpShort gamma; + + result |= suites.LayerSuite5()->AEGP_GetLayerParentComp(layer->m_EffectLayer, &compH); + result |= suites.ColorSettingsSuite2()->AEGP_GetNewWorkingSpaceColorProfile(m_AEGPID, compH, &colorProfile); + result |= suites.ColorSettingsSuite2()->AEGP_GetColorProfileApproximateGamma(colorProfile, &gamma); + + //AEGP_MemHandle iccProfile = null; + //result |= suites.ColorSettingsSuite2()->AEGP_GetNewICCProfileFromColorProfile(m_AEGPID, colorProfile, &iccProfile); + //result |= suites.MemorySuite1()->AEGP_FreeMemHandle(iccProfile); + result |= suites.ColorSettingsSuite2()->AEGP_DisposeColorProfile(colorProfile); + +#endif + PAAEScene scene = layer->m_Scene; + + scene->SetLayerHolder(layer); +#if defined (PK_SCALE_DOWN) + layer->m_ScaleFactor = desc->m_ScaleFactor; +#endif + scene->UpdateLight(layer); + scene->UpdateBackdrop(layer, desc); + { + PK_SCOPEDLOCK(GetRenderLock()); + scene->Update(AAEData); + if (AAEData.m_ReturnCode == A_Err_NONE) + { + scene->Render(AAEData); + } + } + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::UpdateEmitter(SAAEIOData &AAEData, SEmitterDesc *desc) +{ + (void)AAEData; + (void)desc; + + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::InvalidateEmitterRender(SLayerHolder *layer , AEGP_EffectRefH effectRef) +{ + if (layer == null) + return false; + + A_Err result = A_Err_NONE; + + AEGP_SuiteHandler suites(m_Suites); + AEGP_StreamRefH streamRef = null; + + A_Time AETime; + + AETime.scale = layer->m_TimeScale; + AETime.value = 0; + + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effectRef, CAEUpdater::s_EmitterIndexes[Effect_Parameters_Refresh_Render], &streamRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + + AEGP_StreamValue value; + + result |= suites.StreamSuite2()->AEGP_GetNewStreamValue(m_AEGPID, streamRef, AEGP_LTimeMode_LayerTime, &AETime, TRUE, &value); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + + value.val.one_d = (int)(value.val.one_d + 1) % 100; + + result |= suites.StreamSuite2()->AEGP_SetStreamValue(m_AEGPID, streamRef, &value); + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::InvalidateEmitterRender(SAAEIOData &AAEData, SEmitterDesc *desc) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_EffectRefH effectRef = null; + + result = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AEGPID, AAEData.m_InData->effect_ref, &effectRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + bool ret = InvalidateEmitterRender(GetLayerForSEmitterDesc(desc) , effectRef); + + result = suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return ret; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::LaunchEditorAsPopup(AAePk::SAAEIOData &AAEData, SEmitterDesc *desc) +{ + (void)AAEData; + (void)desc; + return CSystemHelper::LaunchEditorAsPopup(); +} + +//---------------------------------------------------------------------------- + +A_Err CPopcornFXWorld::DeathHook(AEGP_GlobalRefcon pluginRefCon, AEGP_DeathRefcon refCon) +{ + (void)refCon; + (void)pluginRefCon; + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + const A_u_char *commandName = (const A_u_char*)"PopcornFX"; + A_Err result = PF_Err_NONE; + SuiteHelper panelSuite(instance.m_Suites); + + result |= panelSuite->AEGP_UnRegisterCreatePanelHook(commandName); + + instance.ShutdownIFN(); + + if (!PK_VERIFY(result == A_Err_NONE)) + return result; + return result; +} + +//---------------------------------------------------------------------------- + +A_Err CPopcornFXWorld::IdleHook(AEGP_GlobalRefcon pluginRefCon, AEGP_IdleRefcon refCon, A_long *maxSleep) +{ + (void)maxSleep; + (void)refCon; + (void)pluginRefCon; + + A_Err err = A_Err_NONE; + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + instance.IdleUpdate(); + return err; +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::CreatePanel(AEGP_PlatformViewRef container, AEGP_PanelH panelH, AEGP_PanelFunctions1 *outFunctionTable, AEGP_PanelRefcon *outRefcon) +{ + (void)container; + (void)panelH; + (void)outFunctionTable; + (void)outRefcon; + + CPanelBaseGUI *panel = CPanelBaseGUI::GetInstance(); + + panel->CreatePanel(m_Suites, panelH, container, outFunctionTable); + *outRefcon = reinterpret_cast(panel); +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::Command( AEGP_Command command, + AEGP_HookPriority hookPriority, + A_Boolean alreadyHandled, + A_Boolean *handledP) +{ + (void)handledP; + (void)alreadyHandled; + (void)hookPriority; + + if (command == m_Command) + { + SuiteHelper panelSuites(m_Suites); + + A_Boolean shown = false; + A_Boolean topLevel = false; + + panelSuites->AEGP_IsShown((const A_u_char*)m_CommandName.Data(), &shown, &topLevel); + if (!shown || !topLevel) + panelSuites->AEGP_ToggleVisibility((const A_u_char*)m_CommandName.Data()); + *handledP = true; + } +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::UpdateMenu(AEGP_WindowType activeWindow) +{ + (void)activeWindow; + + SuiteHelper panelSuites(m_Suites); + AEGP_SuiteHandler suites(m_Suites); + + suites.CommandSuite1()->AEGP_EnableCommand(m_Command); + + A_Boolean thumbIsShown = false; + A_Boolean panelIsFront = false; + + panelSuites->AEGP_IsShown((const A_u_char*)m_CommandName.Data(), &thumbIsShown, &panelIsFront); + suites.CommandSuite1()->AEGP_CheckMarkMenuCommand(m_Command, thumbIsShown && panelIsFront); +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::ClearAttributesAndSamplers(SLayerHolder *layer) +{ + PK_ASSERT(layer != null); + + AEGP_SuiteHandler suites(m_Suites); + + for (auto it = layer->m_SpawnedAttributes.Begin(); it != layer->m_SpawnedAttributes.End(); ++it) + { + layer->m_DeletedAttributes.Insert(it.Key(), *it); + it->m_AttributeEffectRef = null; + } + layer->m_SpawnedAttributes.Clear(); + for (auto it = layer->m_SpawnedAttributesSampler.Begin(); it != layer->m_SpawnedAttributesSampler.End(); ++it) + { + layer->m_DeletedAttributesSampler.Insert(it.Key(), *it); + it->m_AttributeEffectRef = null; + } + layer->m_SpawnedAttributesSampler.Clear(); +} + +//---------------------------------------------------------------------------- + +CStringId CPopcornFXWorld::GetAEEffectID(AEGP_EffectRefH &effect, s32 paramIdx) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_StreamRefH streamRef = null; + AEGP_MemHandle nameHandle; + + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effect, paramIdx, &streamRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return CStringId::Null; + + result |= suites.StreamSuite5()->AEGP_GetStreamName(m_AEGPID, streamRef, false, &nameHandle); + if (!PK_VERIFY(result == A_Err_NONE)) + return CStringId::Null; + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return CStringId::Null; + streamRef = null; + + aechar_t *wname; + CString name; + + result |= suites.MemorySuite1()->AEGP_LockMemHandle(nameHandle, reinterpret_cast(&wname)); + if (!PK_VERIFY(result == A_Err_NONE)) + return CStringId::Null; + WCharToCString(wname, &name); + + result |= suites.MemorySuite1()->AEGP_UnlockMemHandle(nameHandle); + result |= suites.MemorySuite1()->AEGP_FreeMemHandle(nameHandle); + + if (!PK_VERIFY(result == A_Err_NONE)) + return CStringId::Null; + if (!PK_VERIFY(name.Length() != 0)) + return CStringId::Null; + return CStringId(name.Data()); +} + +//---------------------------------------------------------------------------- + +CStringId CPopcornFXWorld::GetAttributeID(AEGP_EffectRefH &effect) +{ + return GetAEEffectID(effect, Attribute_Parameters_Infernal_Name); +} + +//---------------------------------------------------------------------------- + +CStringId CPopcornFXWorld::GetAttributeSamplerID(AEGP_EffectRefH &effect) +{ + return GetAEEffectID(effect, AttributeSamplerType_Parameters_Infernal_Name); +} + +//---------------------------------------------------------------------------- + +CStringId CPopcornFXWorld::GetAttributeID(SAttributeBaseDesc *desc) +{ + return CStringId(desc->GetAttributePKKey().data()); +} + +//---------------------------------------------------------------------------- + +s32 CPopcornFXWorld::_ExecSPendingEmitters(SLayerHolder *layer) +{ + PK_SCOPEDPROFILE(); + s32 emittersCount = 0; + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + + for (s32 i = layer->m_SPendingEmitters.Count() - 1; i >= 0; --i) + { + A_long count; + SPendingEmitter &emitter = layer->m_SPendingEmitters[i]; + AEGP_LayerFlags flags = AEGP_LayerFlag_NONE; + + result |= suites.LayerSuite8()->AEGP_GetLayerFlags(layer->m_EffectLayer, &flags); + if ((flags & AEGP_LayerFlag_LOCKED) != AEGP_LayerFlag_NONE) + continue; + + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &count); + + for (A_long j = count - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + PAAEScene scene = layer->m_Scene; + A_Time fake_timeT = { 0, 100 }; + bool releaseEffectHandle = true; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &effectRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::EMITTER]) + { + if (_SetupAutoRender(effectRef) == false) + return -1; + + layer->m_SpawnedEmitter = emitter; + scene->SetEmitterTeleport(); + scene->SetEmitterPosition(AAEToPK(emitter.m_Desc->m_Position), emitter.m_Desc->m_TransformType); + scene->SetEmitterRotation(AngleAAEToPK(emitter.m_Desc->m_Rotation)); + + if (!emitter.m_Desc->m_PathSource.empty()) + SetDestinationPackFromPath(*layer, CString(emitter.m_Desc->m_PathSource.c_str())); + + bool forceRefresh = false; + if (!emitter.m_Desc->m_PathSource.empty()) + { + CString sourcePackPath(emitter.m_Desc->m_PathSource.data()); + if (!CFilePath::IsAbsolute(emitter.m_Desc->m_PathSource.data())) + sourcePackPath = m_AEProjectPath / sourcePackPath; + + CFilePath::Purify(sourcePackPath); + CProjectSettingsFinder walker(sourcePackPath); + walker.Walk(); + + CString effectName = emitter.m_Desc->m_Name.data(); + if (!m_VaultHandler.LoadEffectIntoVault(sourcePackPath, effectName, walker.ProjectSettingsPath(), forceRefresh)) + return false; + emitter.m_Desc->m_Name = effectName.Data(); + } + scene->RefreshAssetList(); + scene->SetLayerHolder(layer); + scene->SetPack(layer->m_BakedPack, forceRefresh); + scene->SetSelectedEffect(CString(emitter.m_Desc->m_Name.c_str()), forceRefresh); + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, effectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, emitter.m_Desc); + + SGetEmitterInfos infos; + + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, effectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, &infos); + + CLog::Log(PK_INFO, "%s", infos.m_PathSource); + } + if (releaseEffectHandle) + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + ++emittersCount; + } + layer->m_SPendingEmitters.Clear(); + + if (!PK_VERIFY(result == A_Err_NONE)) + return -1; + return emittersCount; +} + +//---------------------------------------------------------------------------- + +s32 CPopcornFXWorld::_ExecClearAttributes(SLayerHolder *layer) +{ + PK_SCOPEDPROFILE(); + s32 count = 0; + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + A_long effectCount = 0; + + PK_ASSERT(layer->m_EffectLayer != null); + + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &effectCount); + + for (A_long j = effectCount - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &effectRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE]) + { + CStringId id = GetAttributeID(effectRef); + + if (layer->m_DeletedAttributes.Contains(id)) + { + SPendingAttribute *attr = layer->m_DeletedAttributes[id]; + + if (!_ExecDeleteAttribute(attr, effectRef)) + result |= A_Err_GENERIC; + ++count; + } + else if (layer->m_SpawnedAttributes.Contains(id)) + { + SPendingAttribute *attr = layer->m_SpawnedAttributes[id]; + + if (attr->m_Deleted) + { + if (!_ExecDeleteAttribute(attr, effectRef)) + result |= A_Err_GENERIC; + layer->m_SpawnedAttributes.Remove(id); + } + } + } + else if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::SAMPLER]) + { + CStringId id = GetAttributeSamplerID(effectRef); + + if (layer->m_DeletedAttributesSampler.Contains(id)) + { + SPendingAttribute *attr = layer->m_DeletedAttributesSampler[id]; + + if (!_ExecDeleteAttributeSampler(attr, effectRef)) + result |= A_Err_GENERIC; + ++count; + } + else if (layer->m_SpawnedAttributesSampler.Contains(id)) + { + SPendingAttribute *attr = layer->m_SpawnedAttributesSampler[id]; + + if (attr->m_Deleted) + { + if (!_ExecDeleteAttributeSampler(attr, effectRef)) + result |= A_Err_GENERIC; + layer->m_SpawnedAttributesSampler.Remove(id); + } + } + } + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + layer->m_DeletedAttributes.Clear(); + layer->m_DeletedAttributesSampler.Clear(); + + if (!PK_VERIFY(result == A_Err_NONE)) + return -1; + return count; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::_ExecDeleteAttribute(SPendingAttribute *attribute, AEGP_EffectRefH &effectRef) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + + if (attribute->m_Desc) + attribute->m_Desc->m_IsDeleted = true; + + if (attribute->m_AttributeEffectRef != null) + { + A_Time fake_timeT = { 0, 100 }; + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, attribute->m_AttributeEffectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, attribute->m_Desc); + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attribute->m_AttributeEffectRef); + attribute->m_AttributeEffectRef = null; + } + result |= suites.EffectSuite4()->AEGP_DeleteLayerEffect(effectRef); + + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return result == A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::_ExecDeleteAttributeSampler(SPendingAttribute *attribute, AEGP_EffectRefH &effectRef) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + + if (attribute->m_Desc) + attribute->m_Desc->m_IsDeleted = true; + + if (attribute->m_AttributeEffectRef != null) + { + A_Time fake_timeT = { 0, 100 }; + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, attribute->m_AttributeEffectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, attribute->m_Desc); + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attribute->m_AttributeEffectRef); + attribute->m_AttributeEffectRef = null; + PK_SAFE_DELETE(attribute->m_PKDesc); + } + result |= suites.EffectSuite4()->AEGP_DeleteLayerEffect(effectRef); + + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return result == A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +s32 CPopcornFXWorld::_ExecSPendingAttributes(SLayerHolder *layer) +{ + PK_SCOPEDPROFILE(); + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + A_Time fake_timeT = { 0, 100 }; + u32 spawned = 0; + + PK_ASSERT(layer != null); + + for (s32 i = layer->m_SPendingAttributes.Count() - 1; i >= 0 ; --i) + { + SPendingAttribute &attribute = layer->m_SPendingAttributes[i]; + CStringId id = GetAttributeID(layer->m_SPendingAttributes[i].m_Desc); + A_long count; + bool allreadySpawned = false; + + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &count); + + for (A_long j = count - 1; j >= 0; --j) + { + AEGP_EffectRefH attributeRef = null; + AEGP_InstalledEffectKey installedKey; + PAAEScene scene = layer->m_Scene; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &attributeRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(attributeRef, &installedKey); + + if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE]) + { + CStringId spawnedID = GetAttributeID(attributeRef); + + if (spawnedID.ToString() == "AttributeName") //Default value, leave time to after effects to get its thing together. + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attributeRef); + return 0; + } + if (spawnedID == id) + { + attribute.m_AttributeEffectRef = attributeRef; + + if (layer->m_SpawnedAttributes.Contains(id)) + { + if (layer->m_SpawnedAttributes[id]->m_AttributeEffectRef) + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attributeRef); + if (layer->m_SpawnedAttributes[id]->m_Desc) + delete layer->m_SpawnedAttributes[id]->m_Desc; + layer->m_SpawnedAttributes[id]->m_Desc = attribute.m_Desc; + } + else + layer->m_SpawnedAttributes.Insert(id, attribute); + layer->m_SPendingAttributes[i].m_AttributeEffectRef = null; + PK_ASSERT(attribute.m_Desc != null); + + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, layer->m_SpawnedAttributes[id]->m_AttributeEffectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, attribute.m_Desc); + + layer->m_SPendingAttributes.Remove(i); + allreadySpawned = true; + break; + } + } + else if (installedKey == m_PKInstalledPluginKeys[EPKChildPlugins::SAMPLER]) + { + CStringId spawnedID = GetAttributeSamplerID(attributeRef); + + if (spawnedID.ToString() == "AttributeSamplerName") //Default value, leave time to after effects to get it's thing together. + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attributeRef); + return 0; + } + if (spawnedID == id) + { + attribute.m_AttributeEffectRef = attributeRef; + + if (layer->m_SpawnedAttributesSampler.Contains(id)) + { + if (layer->m_SpawnedAttributesSampler[id]->m_AttributeEffectRef) + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attributeRef); + if (layer->m_SpawnedAttributesSampler[id]->m_Desc) + delete layer->m_SpawnedAttributesSampler[id]->m_Desc; + layer->m_SpawnedAttributesSampler[id]->m_Desc = attribute.m_Desc; + } + else + layer->m_SpawnedAttributesSampler.Insert(id, attribute); + layer->m_SPendingAttributes[i].m_AttributeEffectRef = null; + + PK_ASSERT(attribute.m_Desc != null); + + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, layer->m_SpawnedAttributesSampler[id]->m_AttributeEffectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, attribute.m_Desc); + allreadySpawned = true; + layer->m_SPendingAttributes.Remove(i); + break; + } + } + result |= suites.EffectSuite4()->AEGP_DisposeEffect(attributeRef); + } + if (allreadySpawned) + continue; + + + if ((attribute.m_Desc->m_IsAttribute && layer->m_SpawnedAttributes.Contains(id)) || + (!attribute.m_Desc->m_IsAttribute && layer->m_SpawnedAttributesSampler.Contains(id))) + continue; + + AEGP_EffectRefH effectRef = null; + + AEGP_LayerFlags flags = AEGP_LayerFlag_NONE; + result |= suites.LayerSuite8()->AEGP_GetLayerFlags(layer->m_EffectLayer, &flags); + + if (attribute.m_Desc->m_IsAttribute) + result |= suites.EffectSuite4()->AEGP_ApplyEffect(m_AEGPID, layer->m_EffectLayer, m_PKInstalledPluginKeys[EPKChildPlugins::ATTRIBUTE], &effectRef); + else + result |= suites.EffectSuite4()->AEGP_ApplyEffect(m_AEGPID, layer->m_EffectLayer, m_PKInstalledPluginKeys[EPKChildPlugins::SAMPLER], &effectRef); + if (result != A_Err_NONE || effectRef == null) + return count; + result |= suites.EffectSuite4()->AEGP_ReorderEffect(effectRef, layer->m_SPendingAttributes[i].m_Desc->m_Order); + result |= suites.EffectSuite4()->AEGP_EffectCallGeneric(m_AEGPID, effectRef, &fake_timeT, PF_Cmd_COMPLETELY_GENERAL, layer->m_SPendingAttributes[i].m_Desc); + attribute.m_AttributeEffectRef = effectRef; + + if (attribute.m_Desc->m_IsAttribute) + layer->m_SpawnedAttributes.Insert(id, attribute); + else + layer->m_SpawnedAttributesSampler.Insert(id, attribute); + attribute.m_AttributeEffectRef = null; + spawned += 1; + } +#if _DEBUG + for (u32 i = 0; i < layer->m_SPendingAttributes.Count(); ++i) + { + PK_ASSERT(!layer->m_SPendingAttributes[i].m_AttributeEffectRef); + } +#endif + layer->m_SPendingAttributes.Clear(); + + if (!PK_VERIFY(result == A_Err_NONE)) + return -1; + return spawned; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::_SetupAutoRender(AEGP_EffectRefH &effect) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_StreamRefH streamRef = null; + AEGP_AddKeyframesInfoH KeyFrameOperationHandle; + A_Time start, end; + A_long outIndex; + AEGP_StreamValue2 keyValue; + + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effect, CAEUpdater::s_EmitterIndexes[Effect_Parameters_Infernal_Autorender], &streamRef); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + start.value = 0; + start.scale = 1; + PK_TODO("Handle Max time correctly"); + end.value = 1000; + end.scale = 1; + + result |= suites.KeyframeSuite4()->AEGP_StartAddKeyframes(streamRef, &KeyFrameOperationHandle); + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + if (KeyFrameOperationHandle) + { + //Start + result |= suites.KeyframeSuite4()->AEGP_AddKeyframes(KeyFrameOperationHandle, AEGP_LTimeMode_CompTime, &start, &outIndex); + //End + result |= suites.KeyframeSuite4()->AEGP_AddKeyframes(KeyFrameOperationHandle, AEGP_LTimeMode_CompTime, &end, &outIndex); + result |= suites.KeyframeSuite4()->AEGP_EndAddKeyframes(true, KeyFrameOperationHandle); + } + keyValue.streamH = streamRef; + keyValue.val.one_d = 0; + result |= suites.KeyframeSuite4()->AEGP_SetKeyframeValue(streamRef, 0, &keyValue); + keyValue.val.one_d = 1000; + result |= suites.KeyframeSuite4()->AEGP_SetKeyframeValue(streamRef, 1, &keyValue); + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + streamRef = null; + if (!PK_VERIFY(result == A_Err_NONE)) + return false; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetDestinationPackFromPath(SLayerHolder &layer, const CString &packPath) +{ + if (packPath.Empty()) + return false; + CString absolutePath = packPath; + if (!CFilePath::IsAbsolute(packPath)) + { + absolutePath = m_AEProjectPath / absolutePath; + CFilePath::Purify(absolutePath); + } + + layer.m_BakedPack = m_VaultHandler.GetVaultPackFromPath(absolutePath); + PK_ASSERT(layer.m_BakedPack != null); + return true; +} + +//---------------------------------------------------------------------------- + +CString CPopcornFXWorld::GetInternalPackPath() +{ + return GetResourcesPath() + "PopcornFXInternals"; +} + +//---------------------------------------------------------------------------- + +CString CPopcornFXWorld::GetResourcesPath() +{ +#if defined(PK_WINDOWS) + return GetPluginInstallationPath(); +#elif defined(PK_MACOSX) + return GetPluginInstallationPath() + "AE_GeneralPlugin.plugin/Contents/Resources/"; +#endif +} + +//---------------------------------------------------------------------------- + +CString CPopcornFXWorld::GetPluginVersion() const +{ + CString version = PK_VERSION_CURRENT_STRING; + return version; +} + +//---------------------------------------------------------------------------- + +AEGP_InstalledEffectKey CPopcornFXWorld::GetPluginEffectKey(EPKChildPlugins type) const +{ + return m_PKInstalledPluginKeys[type]; +} + +//---------------------------------------------------------------------------- + +CString CPopcornFXWorld::GetPluginInstallationPath() +{ + return m_AEPath / "Plug-ins/PopcornFX/"; +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::RefreshAssetList() +{ + for (u32 i = 0; i < m_Layers.Count(); ++i) + { + PAAEScene scene = m_Layers[i]->m_Scene; + scene->RefreshAssetList(); + } +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetSelectedEffectFromPath(SEmitterDesc *desc, CString path, bool forceReload) +{ + CFilePath::Purify(path); + + //Doesn't work with absolute path + //if (!CFilePath::IsValidPath(path)) + // return false; + + CString root = CFilePath::StripFilename(path); + CString pkprojPath = ""; + + if (!CFilePath::IsAbsolute(root)) + { + root = m_AEProjectPath / root; + CFilePath::Purify(root); + } + if (!CFilePath::IsAbsolute(path)) + { + path = m_AEProjectPath / path; + CFilePath::Purify(path); + } + + while (root != "") + { + CProjectSettingsFinder walker(root); + + walker.Walk(); + + if (!walker.ProjectSettingsPath().Empty()) + { + pkprojPath = walker.ProjectSettingsPath(); + + root = CFilePath::StripFilename(pkprojPath); + CLog::Log(PK_INFO, "Pkproj found"); + break; + } + CFilePath::StripFilenameInPlace(root); + } + if (!root.Empty()) + { + CString effectPath; + + effectPath = CFilePath::Relativize(root.Data(), path.Data()); + + TArray unload; + bool needUnload = true; + for (u32 i = 0; i < m_Layers.Count(); ++i) + { + if (m_Layers[i]->m_SpawnedEmitter.m_Desc == null) + continue; + if (effectPath.Compare(m_Layers[i]->m_SpawnedEmitter.m_Desc->m_Name.c_str(), CaseInsensitive) == true) + { + if (!PK_VERIFY(unload.PushBack(m_Layers[i]).Valid())) + return false; + PK_SCOPEDLOCK(m_Layers[i]->m_LayerLock); + needUnload = m_Layers[i]->m_Scene->ResetEffect(needUnload); + } + } + PK_ASSERT(effectPath != null); + bool needRefresh = forceReload; + if (!m_VaultHandler.LoadEffectIntoVault(root, effectPath, pkprojPath, needRefresh)) + return false; + + CString pathDest = (m_VaultHandler.VaultPathCache() / CFilePath::ExtractFilename(root)).Data(); + + for (u32 i = 0; i < unload.Count(); ++i) + { + SLayerHolder *layer = unload[i]; + + if (layer != null) + { + CString relativeSrcPath = CFilePath::Relativize(m_AEProjectPath.Data(), root.Data()); + + desc->m_PathSource = !relativeSrcPath.Empty() ? relativeSrcPath.Data() : root.Data(); + desc->m_ReloadEffect = forceReload; + SetSelectedEffect(layer, effectPath); + } + } + SLayerHolder *layer = GetLayerForSEmitterDesc(desc); + if (layer != null && !unload.Contains(layer)) + { + if (layer != null) + { + CString relativeSrcPath = CFilePath::Relativize(m_AEProjectPath.Data(), root.Data()); + + desc->m_PathSource = !relativeSrcPath.Empty() ? relativeSrcPath.Data() : root.Data(); + desc->m_ReloadEffect = forceReload; + SetSelectedEffect(layer, effectPath); + } + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetSelectedEffectAsync(SLayerHolder *targetLayer, CString &name) +{ + PK_ASSERT(targetLayer != null); + + PK_SCOPEDLOCK(m_UIEventLock); + + SUIEventString *event = PK_NEW(SUIEventString); + + event->m_TargetLayer = targetLayer; + event->m_Cb = FastDelegate(this, &CPopcornFXWorld::SetSelectedEffect); + event->m_Data = name; + + return m_UIEvents.PushBack(event).Valid(); +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetEffectDefaultTransform(SLayerHolder *layer, const CFloat3 &position, const CFloat3 &rotation) +{ + (void)rotation; + if (layer == null) + return false; + + AEGP_SuiteHandler suites(m_Suites); + A_Err result = A_Err_NONE; + A_Time time; + + time.value = 0; + time.scale = layer->m_TimeScale; + + A_long effectCount = 0; + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &effectCount); + + for (A_long j = effectCount - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &effectRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (installedKey == GetPluginEffectKey(EPKChildPlugins::EMITTER)) + { + CFloat4x4 viewMatrix; + CFloat4 cameraPos; + float cameraZoom = 0.f; + + CAEUpdater::GetCameraViewMatrixAtTime(layer, viewMatrix, cameraPos, time, cameraZoom); + + CFloat3 forward = viewMatrix.Inverse().StrippedZAxis().Normalized(); + + CFloat3 emitterPos = cameraPos.xyz() + forward * position.Length(); + + AEGP_StreamRefH streamPos = null; + result |= suites.StreamSuite5()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effectRef, CAEUpdater::s_EmitterIndexes[Effect_Parameters_Position], &streamPos); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE || streamPos == null) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + AEGP_StreamValue2 value; + result |= suites.StreamSuite5()->AEGP_GetNewStreamValue(m_AEGPID, streamPos, AEGP_LTimeMode_LayerTime, &time, false, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + value.val.three_d.x = emitterPos.x(); + value.val.three_d.y = emitterPos.y(); + value.val.three_d.z = emitterPos.z(); + result |= suites.StreamSuite5()->AEGP_SetStreamValue(m_AEGPID, streamPos, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + result |= suites.StreamSuite5()->AEGP_DisposeStreamValue(&value); + result |= suites.StreamSuite5()->AEGP_DisposeStream(streamPos); + } + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + + } + return true; +} + + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetBackdropMeshDefaultTransform(SLayerHolder *layer) +{ + if (layer == null) + return false; + + AEGP_SuiteHandler suites(m_Suites); + A_Err result = A_Err_NONE; + A_Time time; + + time.value = 0; + time.scale = layer->m_TimeScale; + + A_long effectCount = 0; + result |= suites.EffectSuite4()->AEGP_GetLayerNumEffects(layer->m_EffectLayer, &effectCount); + + for (A_long j = effectCount - 1; j >= 0; --j) + { + AEGP_EffectRefH effectRef = null; + AEGP_InstalledEffectKey installedKey; + + result |= suites.EffectSuite4()->AEGP_GetLayerEffectByIndex(m_AEGPID, layer->m_EffectLayer, j, &effectRef); + result |= suites.EffectSuite4()->AEGP_GetInstalledKeyFromLayerEffect(effectRef, &installedKey); + + if (installedKey == GetPluginEffectKey(EPKChildPlugins::EMITTER)) + { + A_FloatPoint3 emitterPos = layer->m_SpawnedEmitter.m_Desc->m_Position; + + AEGP_StreamRefH streamPos = null; + result |= suites.StreamSuite5()->AEGP_GetNewEffectStreamByIndex(m_AEGPID, effectRef, CAEUpdater::s_EmitterIndexes[Effect_Parameters_BackdropMesh_Position], &streamPos); + PK_ASSERT(result == A_Err_NONE); + if (result != A_Err_NONE || streamPos == null) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + AEGP_StreamValue2 value; + result |= suites.StreamSuite5()->AEGP_GetNewStreamValue(m_AEGPID, streamPos, AEGP_LTimeMode_LayerTime, &time, false, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + value.val.three_d.x = emitterPos.x; + value.val.three_d.y = emitterPos.y; + value.val.three_d.z = emitterPos.z; + result |= suites.StreamSuite5()->AEGP_SetStreamValue(m_AEGPID, streamPos, &value); + if (result != A_Err_NONE) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + return false; + } + result |= suites.StreamSuite5()->AEGP_DisposeStreamValue(&value); + result |= suites.StreamSuite5()->AEGP_DisposeStream(streamPos); + } + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetSelectedEffect(SLayerHolder *layer, CString &fileName) +{ + if (layer != null) + { + PK_SCOPEDLOCK(layer->m_LayerLock); + SEmitterDesc *desc = layer->m_SpawnedEmitter.m_Desc; + CString name = CFilePath::StripExtension(fileName); + if (desc) + { + bool setTransform = false; + CString oldName = CFilePath::StripExtension(CString(desc->m_Name.c_str())); + if (!name.Compare(oldName)) + { + setTransform = true; + ClearAttributesAndSamplers(layer); + if (layer->m_LayerProperty != null) + { + CLayerProperty::_TypeOfRendererProperties overrides = layer->m_LayerProperty->RendererProperties(); + + overrides.Clear(); + layer->m_LayerProperty->SetRendererProperties(overrides); + } + } + + SetDestinationPackFromPath(*layer, layer->m_SpawnedEmitter.m_Desc->m_PathSource.data()); + if (!layer->m_Scene->SetPack(layer->m_BakedPack, desc->m_ReloadEffect)) + return false; + + //Set Default Effect position according to the Editor + { + //Load Editor information into the effect + if (setTransform) + { + IFileSystem *fileSystem = File::DefaultFileSystem(); + CString pkboPath = layer->m_BakedPack->Path() / name + ".pkbo"; + u32 rawFileSize = 0; + u8 *rawFileBuffer = fileSystem->Bufferize(pkboPath, &rawFileSize, true); + if (rawFileBuffer != null) + { + CConstMemoryStream memoryFileView(rawFileBuffer, rawFileSize); + + PBaseObjectFile pkboFile = layer->m_Scene->GetContext()->LoadFileFromStream(memoryFileView, pkboPath); + PEditorAssetEffect editorProp = pkboFile->FindFirstOf(); + + CFloat3 emitterDefaultPosition = -editorProp->StartCameraPosition(); + CFloat3 emitterDefaultOrientation = -editorProp->StartCameraOrientation(); + + SetEffectDefaultTransform(layer, emitterDefaultPosition, emitterDefaultOrientation); + } + } + } + + + if (!layer->m_Scene->SetSelectedEffect(fileName, desc->m_ReloadEffect)) + return false; + + desc->m_Name = fileName.Data(); + desc->m_Update = true; + return true; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +// - OpenGL resources are restricted per thread, mimicking the OGL driver +// - The filter will eliminate all TLS (Thread Local Storage) at PF_Cmd_GLOBAL_SETDOWN +PAAERenderContext CPopcornFXWorld::GetCurrentRenderContext() +{ + // Lazy init: + if (s_AAEThreadRenderContexts == null) + { + s_AAEThreadRenderContexts = PK_NEW(CAAERenderContext); + s_ShaderLoader = PK_NEW(PKSample::CShaderLoader); + + if (!PK_VERIFY(s_AAEThreadRenderContexts != null && s_ShaderLoader != null)) + return null; + + s_AAEThreadRenderContexts->SetShaderLoader(s_ShaderLoader); + + if (!PK_VERIFY(s_AAEThreadRenderContexts->InitializeIFN(GetRenderApi(), CString::Format("PopcornFXRendering")))) + return null; + } + return s_AAEThreadRenderContexts; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetPanelInstance(CPanelBaseGUI *panel) +{ + m_Panel = panel; + return true; +} + +//---------------------------------------------------------------------------- + +A_Err CPopcornFXWorld::CreatePanelHook( AEGP_GlobalRefcon pluginRefconP, + AEGP_CreatePanelRefcon refconP, + AEGP_PlatformViewRef container, + AEGP_PanelH panelH, + AEGP_PanelFunctions1 *outFunctionTable, + AEGP_PanelRefcon *outRefcon) +{ + (void)pluginRefconP; + (void)refconP; + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + instance.CreatePanel(container, panelH, outFunctionTable, outRefcon); + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +A_Err CPopcornFXWorld::CommandHook( AEGP_GlobalRefcon plugin_refconP, + AEGP_CommandRefcon refconP, + AEGP_Command command, + AEGP_HookPriority hook_priority, + A_Boolean already_handledB, + A_Boolean *handledPB) +{ + (void)refconP; + (void)plugin_refconP; + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + instance.Command(command, hook_priority, already_handledB, handledPB); + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +A_Err CPopcornFXWorld::UpdateMenuHook(AEGP_GlobalRefcon pluginRefconP, + AEGP_UpdateMenuRefcon refconP, + AEGP_WindowType activeWindow) +{ + (void)refconP; + (void)pluginRefconP; + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + instance.UpdateMenu(activeWindow); + return A_Err_NONE; +} + +//---------------------------------------------------------------------------- + +void CPopcornFXWorld::OnEndSetupScene() +{ + if (m_Panel) + { + m_Panel->UpdateScenesModel(); + } +} + +const PBaseObjectFile &CPopcornFXWorld::GetProjectConfFile() +{ + return m_ProjectConfFile; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::GetMostRecentCompName(CString &compName) +{ + AEGP_SuiteHandler suites(m_Suites); + AEGP_CompH compH = null; + AEGP_ItemH itemH = null; + AEGP_MemHandle memH = null; + aechar_t *compositionNameAE = null; + CString compositionName = ""; + PF_Err result = A_Err_NONE; + result |= suites.CompSuite11()->AEGP_GetMostRecentlyUsedComp(&compH); + if (result != A_Err_NONE) + return false; + if (compH != null) + { + result |= suites.CompSuite11()->AEGP_GetItemFromComp(compH, &itemH); + if (result != A_Err_NONE) + return false; + result |= suites.ItemSuite9()->AEGP_GetItemName(m_AEGPID, itemH, &memH); + + result |= suites.MemorySuite1()->AEGP_LockMemHandle(memH, reinterpret_cast(&compositionNameAE)); + + WCharToCString(compositionNameAE, &compositionName); + + result |= suites.MemorySuite1()->AEGP_UnlockMemHandle(memH); + result |= suites.MemorySuite1()->AEGP_FreeMemHandle(memH); + + compName = compositionName; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetLayerName(SLayerHolder *layer) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_ItemH itemH = null; + AEGP_MemHandle memH = null; + aechar_t *layerNameAE = null; + CString layerName = ""; + + result |= suites.LayerSuite8()->AEGP_GetLayerSourceItem(layer->m_EffectLayer, &itemH); + if (result != A_Err_NONE) + return false; + + result |= suites.ItemSuite9()->AEGP_GetItemName(m_AEGPID, itemH, &memH); + if (result != A_Err_NONE) + return false; + + result |= suites.MemorySuite1()->AEGP_LockMemHandle(memH, reinterpret_cast(&layerNameAE)); + if (result != A_Err_NONE) + return false; + + WCharToCString(layerNameAE, &layerName); + + result |= suites.MemorySuite1()->AEGP_UnlockMemHandle(memH); + if (result != A_Err_NONE) + return false; + result |= suites.MemorySuite1()->AEGP_FreeMemHandle(memH); + if (result != A_Err_NONE) + return false; + + layer->m_LayerName = layerName; + + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetLayerCompName(SLayerHolder *layer) +{ + A_Err result = A_Err_NONE; + AEGP_SuiteHandler suites(m_Suites); + AEGP_CompH compH = null; + AEGP_ItemH itemH = null; + AEGP_MemHandle memH = null; + aechar_t *compositionNameAE = null; + CString compositionName = ""; + result |= suites.LayerSuite5()->AEGP_GetLayerParentComp(layer->m_EffectLayer, &compH); + if (result != A_Err_NONE) + return false; + result |= suites.CompSuite11()->AEGP_GetItemFromComp(compH, &itemH); + if (result != A_Err_NONE) + return false; + result |= suites.ItemSuite9()->AEGP_GetItemName(m_AEGPID, itemH, &memH); + if (result != A_Err_NONE) + return false; + result |= suites.MemorySuite1()->AEGP_LockMemHandle(memH, reinterpret_cast(&compositionNameAE)); + if (result != A_Err_NONE) + return false; + WCharToCString(compositionNameAE, &compositionName); + + result |= suites.MemorySuite1()->AEGP_UnlockMemHandle(memH); + if (result != A_Err_NONE) + return false; + result |= suites.MemorySuite1()->AEGP_FreeMemHandle(memH); + if (result != A_Err_NONE) + return false; + layer->m_CompositionName = compositionName; + if (m_MostRecentCompName != compositionName) + { + if (m_Panel) + m_Panel->UpdateScenesModel(); + m_MostRecentCompName = compositionName; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::CreateLayerPropertyIFP(SLayerHolder *layer) +{ + if (m_ProjectProperty == null) + return false; + + // Go through all objects in file: + for (const auto &obj : m_ProjectProperty->LayerProperties()) + { + if (obj->ID() == layer->ID && + obj->CompName() == layer->m_CompositionName) + layer->m_LayerProperty = obj.Get(); + + } + if (layer->m_LayerProperty == null) + { + CAEPProjectProperties::_TypeOfLayerProperties LayerProps = m_ProjectProperty->LayerProperties(); + PLayerProperty prop = m_ProjectProperty->File()->Context()->NewObject(m_ProjectConfFile.Get()); + + if (!LayerProps.PushBack(prop).Valid()) + return false; + layer->m_LayerProperty = prop; + + prop->SetCompName(layer->m_CompositionName); // Useless ? + prop->SetID(layer->ID); + + m_ProjectProperty->SetLayerProperties(LayerProps); + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::SetResourceOverride(CStringId layerID, u32 rdrID, u32 propID, const CString &value) +{ + IFileSystem *fileSystem = File::DefaultFileSystem(); + SLayerHolder *layerHolder = GetLayerForSEmitterDescID(layerID); + + if (layerHolder == null || layerHolder->m_LayerProperty == null) + return false; + + PK_SCOPEDLOCK(layerHolder->m_LayerLock); + CLayerProperty::_TypeOfRendererProperties overrides = layerHolder->m_LayerProperty->RendererProperties(); + CGraphicOverride *existingOverride = null; + bool updated = false; + for (const auto &entry : overrides) + { + if (entry->RendererID() == rdrID && entry->PropertyID() == propID) + { + existingOverride = entry.Get(); + if (value.Empty()) + { + overrides.RemoveElementFromRawPointerInArray_AndKeepOrder(&entry); + layerHolder->m_LayerProperty->SetRendererProperties(overrides); + updated = true; + } + break; + } + } + + if (!value.Empty()) + { + AEGPPk::SResourceBakeConfig bakeConfig; + bakeConfig.m_StraightCopy = true; + CString virtualPath = fileSystem->PhysicalToVirtual(value); + if (virtualPath == null) //Not in loaded packs, bake into resources folder + { + virtualPath = fileSystem->PhysicalToVirtual(GetVaultHandler().BakeResource(value, bakeConfig)); + } + if (existingOverride != null) + { + if (!existingOverride->Value().Compare(virtualPath)) + { + existingOverride->SetValue(virtualPath); + updated = true; + } + } + else + { + PGraphicOverride prop = m_ProjectProperty->File()->Context()->NewObject(m_ProjectConfFile.Get()); + + prop->SetRendererID(rdrID); + prop->SetPropertyID(propID); + prop->SetValue(virtualPath); + + if (!overrides.PushBack(prop).Valid()) + return false; + + layerHolder->m_LayerProperty->SetRendererProperties(overrides); + updated = true; + } + } + if (updated) + { + layerHolder->m_ForceRender = true; + WriteProjectFileModification(); + layerHolder->m_Scene->SetupScene(true, true); + + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CPopcornFXWorld::WriteProjectFileModification() +{ + if (m_ProjectConfFile == null) + return false; + IFileSystem *fs = File::DefaultFileSystem(); + + if (fs->Exists(m_AEProjectPath, true)) + { + if (!PK_VERIFY(HBO::g_Context->WriteFile(m_ProjectConfFile.Get(), m_ProjectConfFile->Path()))) + return false; + } + return true; +} + +//---------------------------------------------------------------------------- +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/AE_GeneralPlugin.plugin-Info.plist b/AE_GeneralPlugin/Sources/AE_GeneralPlugin.plugin-Info.plist new file mode 100644 index 00000000..129eef34 --- /dev/null +++ b/AE_GeneralPlugin/Sources/AE_GeneralPlugin.plugin-Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleExecutable + Main + CFBundleIdentifier + com.PersistantStudio.PopcornFX.Main + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + AE_GeneralPlugin + CFBundlePackageType + AEgx + CFBundleSignature + FXTC + LSRequiresCarbon + + NSAppleScriptEnabled + No + NSHumanReadableCopyright + © PersistantStudio PopcornFX + + diff --git a/AE_GeneralPlugin/Sources/AE_GeneralPlugin_PiPL.r b/AE_GeneralPlugin/Sources/AE_GeneralPlugin_PiPL.r new file mode 100644 index 00000000..bb8ce5ab --- /dev/null +++ b/AE_GeneralPlugin/Sources/AE_GeneralPlugin_PiPL.r @@ -0,0 +1,41 @@ +#include "AEConfig.h" +#include "AE_EffectVers.h" + +#ifndef AE_OS_WIN + #include +#endif + +resource 'PiPL' (16000) { + { /* array properties: 7 elements */ + /* [1] */ + Kind { + AEGP + }, + /* [2] */ + Name { + "PopcornFX" + }, + /* [3] */ + Category { + "Particle Plugin" + }, + /* [4] */ + Version { + 65536 + }, + /* [5] */ +#ifdef AE_OS_WIN + #ifdef AE_PROC_INTELx64 + CodeWin64X86 {"EntryPointFunc"}, + #else + CodeWin32X86 {"EntryPointFunc"}, + #endif +#else + #ifdef AE_OS_MAC + CodeMachOPowerPC {"EntryPointFunc"}, + CodeMacIntel32 {"EntryPointFunc"}, + CodeMacIntel64 {"EntryPointFunc"}, + #endif +#endif + } +}; diff --git a/AE_GeneralPlugin/Sources/Panels/AEGP_GraphicalResourcesTreeModel.cpp b/AE_GeneralPlugin/Sources/Panels/AEGP_GraphicalResourcesTreeModel.cpp new file mode 100644 index 00000000..fa26bb72 --- /dev/null +++ b/AE_GeneralPlugin/Sources/Panels/AEGP_GraphicalResourcesTreeModel.cpp @@ -0,0 +1,931 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include + +#include "Panels/AEGP_GraphicalResourcesTreeModel.h" +#include "AEGP_World.h" +#include "AEGP_Scene.h" +#include "AEGP_LayerHolder.h" +#include "AEGP_AEPKConversion.h" + +#include + +#include + +//---------------------------------------------------------------------------- + +__AEGP_PK_BEGIN + +const QSize kGraphicResourceThumbSize = QSize(35, 35); +const QSize kResetButtonSize = QSize(16, 16); + +//---------------------------------------------------------------------------- + +CGraphicResetButtonView::CGraphicResetButtonView() +{ + m_Pixmap = QPixmap(":/icons/reset.png"); +} + +//---------------------------------------------------------------------------- + +void CGraphicResetButtonView::paint(QPainter *painter, const QRect &rect, const QPalette &palette, bool hover) const +{ + (void)palette; + (void)hover; + const QRect displayRect = QRect(QPoint(rect.x(), rect.y()), sizeHint()).adjusted(1, 1, -1, -1); + painter->drawPixmap(displayRect, m_Pixmap); +} + +//---------------------------------------------------------------------------- + +QSize CGraphicResetButtonView::sizeHint() const +{ + return kResetButtonSize + QSize(2, 2); +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +CGraphicResourceView::CGraphicResourceView() + : m_Type(CGraphicResourceView::ViewType::ViewType_Effect) +{ + +} + +//---------------------------------------------------------------------------- + +CGraphicResourceView::CGraphicResourceView(CGraphicResourceView::ViewType type) + : m_Type(type) +{ + +} + +//---------------------------------------------------------------------------- + +CGraphicResourceView::CGraphicResourceView(CGraphicResourceView::ViewType type, const QPixmap &pixmap) + : m_Type(type) + , m_Pixmap(pixmap) +{ + +} + +//---------------------------------------------------------------------------- + +static s32 _Align(s32 v, s32 alignment) +{ + return v - v % alignment; +} + +//---------------------------------------------------------------------------- + +static void _DrawCheckerboard( QPainter &painter, const QRect &displayRect, const QRect &visibleRect, + const QColor &baseColor, const QColor &alternateColor, s32 patternSize) +{ + PK_ASSERT(patternSize > 0); + const s32 offsetX = displayRect.left(); + const s32 offsetY = displayRect.top(); + for (s32 py = visibleRect.top(), stopY = visibleRect.bottom(); py <= stopY; ) + { + const s32 startY = py; + const s32 endY = PKMin(stopY + 1, _Align(startY - offsetY + patternSize, patternSize) + offsetY); + for (s32 px = visibleRect.left(), stopX = visibleRect.right(); px <= stopX; ) + { + const s32 startX = px; + const s32 endX = PKMin(stopX + 1, _Align(startX - offsetX + patternSize, patternSize) + offsetX); + + const s32 tileIdX = (px - offsetX) / patternSize; + const s32 tileIdY = (py - offsetY) / patternSize; + const bool evenTile = ((tileIdX ^ tileIdY) & 1) != 0; + + const QRect tileRect(startX, startY, endX - startX, endY - startY); + const QColor tileColor = evenTile ? baseColor : alternateColor; + painter.fillRect(tileRect, tileColor); + + px = endX; + } + py = endY; + } +} + +void CGraphicResourceView::paint(QPainter *painter, const QRect &rect, const QPalette &palette, bool hover) const +{ + (void)palette; + + if (m_Type == ViewType::ViewType_PathResource) + { + if (hover) + { + QPixmap pix = QPixmap(sizeHint()); + pix.fill(QColor(255, 255, 255, 128)); + const QRect displayRect = QRect(QPoint(rect.x(), rect.y()), sizeHint()); + painter->drawPixmap(displayRect, pix); + } + + // Display a checkerboard background + const QColor chkColorA = QColor(0x30, 0x30, 0x30, 0xFF); + const QColor chkColorB = QColor(0x40, 0x40, 0x40, 0xFF); + const QRect displayRect = QRect(QPoint(rect.x(), rect.y()), sizeHint()).adjusted(1, 1, -1, -1); + const QRect visibleRect = displayRect & rect; + + _DrawCheckerboard(*painter, displayRect, visibleRect, chkColorA, chkColorB, 5); + + painter->drawPixmap(displayRect, m_Pixmap); + } +} + +//---------------------------------------------------------------------------- + +QSize CGraphicResourceView::sizeHint() const +{ + if (m_Type == ViewType::ViewType_PathResource) + return kGraphicResourceThumbSize + QSize(2, 2); + + return 0.1f/*PaintingScaleFactor*/ * QSize(1, 1); +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +void CGraphicResourceDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + if (index.data().canConvert()) + { + CGraphicResourceView item = qvariant_cast(index.data()); + item.paint(painter, option.rect, option.palette, option.state & QStyle::State_MouseOver); + } + if (index.data().canConvert()) + { + CGraphicResetButtonView item = qvariant_cast(index.data()); + item.paint(painter, option.rect, option.palette, option.state & QStyle::State_MouseOver); + } + else + { + //Remove Selected and MouseOver state for visual + QStyleOptionViewItem modifiedOption = option; + modifiedOption.state &= ~QStyle::State_Selected; + modifiedOption.state &= ~QStyle::State_MouseOver; + modifiedOption.state &= ~QStyle::State_HasFocus; + + QStyledItemDelegate::paint(painter, modifiedOption, index); + } +} + +//---------------------------------------------------------------------------- + +QSize CGraphicResourceDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + if (index.data().canConvert()) + { + CGraphicResourceView item = qvariant_cast(index.data()); + return item.sizeHint(); + } + return QStyledItemDelegate::sizeHint(option, index); +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem::CGraphicalResourcesTreeItem() + : m_ParentItem(null) +{ +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem::CGraphicalResourcesTreeItem(const QVector &data, CGraphicalResourcesTreeItem *parentItem) + : m_ItemData(data) + , m_ParentItem(parentItem) +{ +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem::~CGraphicalResourcesTreeItem() +{ + qDeleteAll(m_ChildItems); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::AppendChild(CGraphicalResourcesTreeItem *child) +{ + m_ChildItems.append(child); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::InsertChild(CGraphicalResourcesTreeItem *child, int index) +{ + m_ChildItems.insert(index, child); +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeItem::Child(int row) +{ + if (row < 0 || row >= m_ChildItems.size()) + return nullptr; + return m_ChildItems.at(row); +} + +//---------------------------------------------------------------------------- + +int CGraphicalResourcesTreeItem::ChildCount() const +{ + return m_ChildItems.count(); +} + +//---------------------------------------------------------------------------- + +int CGraphicalResourcesTreeItem::ColumnCount() const +{ + return m_ItemData.count(); +} + +//---------------------------------------------------------------------------- + +QVariant CGraphicalResourcesTreeItem::Data(int column) const +{ + //Crash on close + if (column < 0 || column >= m_ItemData.size()) + return QVariant(); + return m_ItemData.at(column); +} + +//---------------------------------------------------------------------------- + +int CGraphicalResourcesTreeItem::Row() const +{ + if (m_ParentItem) + return m_ParentItem->m_ChildItems.indexOf(const_cast(this)); // yuck, ugly + + return 0; +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeItem::ParentItem() +{ + return m_ParentItem; +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::ClearChildren() +{ + qDeleteAll(m_ChildItems); + m_ChildItems.clear(); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::RemoveChild(int index) +{ + delete m_ChildItems[index]; + m_ChildItems.remove(index); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::RemoveChildren(int from, int count) +{ + for (int i = from; i < from + count; ++i) + delete m_ChildItems[i]; + m_ChildItems.remove(from, count); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeItem::SetData(int column, const QVariant &data) +{ + if (column < 0 || column >= m_ItemData.size()) + return; + m_ItemData[column] = data; +} + +//---------------------------------------------------------------------------- +// +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeModel::CGraphicalResourcesTreeModel(QObject *parent) + : QAbstractItemModel(parent) + , m_RootItem(null) +{ + m_RootItem = new CGraphicalResourcesTreeItem({ tr("Layer"), tr("Path"), QVariant::fromValue(CGraphicResourceView(CGraphicResourceView::ViewType::ViewType_Effect)), tr("") }); +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeModel::~CGraphicalResourcesTreeModel() +{ + if (m_RootItem) + delete m_RootItem; +} + +//---------------------------------------------------------------------------- + +QVariant CGraphicalResourcesTreeModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + if (role != Qt::DisplayRole) + return QVariant(); + + CGraphicalResourcesTreeItem *item = static_cast(index.internalPointer()); + + return item->Data(index.column()); +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeModel::Item(const QModelIndex &index) const +{ + if (!index.isValid()) + return null; + + CGraphicalResourcesTreeItem *item = static_cast(index.internalPointer()); + + return item; +} + +//---------------------------------------------------------------------------- + +QModelIndex CGraphicalResourcesTreeModel::Index(CGraphicalResourcesTreeItem *item) const +{ + if (item == m_RootItem) + return QModelIndex(); + + return index(item->Row(), 0, Index(item->ParentItem())); +} + +//---------------------------------------------------------------------------- + +Qt::ItemFlags CGraphicalResourcesTreeModel::flags(const QModelIndex &index) const +{ + if (!index.isValid()) + return Qt::NoItemFlags; + + return QAbstractItemModel::flags(index); +} + +//---------------------------------------------------------------------------- + +QVariant CGraphicalResourcesTreeModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation == Qt::Horizontal && role == Qt::DisplayRole) + return m_RootItem->Data(section); + + return QVariant(); +} + +//---------------------------------------------------------------------------- + +QModelIndex CGraphicalResourcesTreeModel::index(int row, int column, const QModelIndex &parent) const +{ + if (!hasIndex(row, column, parent)) + return QModelIndex(); + + CGraphicalResourcesTreeItem *parentItem; + + if (!parent.isValid()) + parentItem = m_RootItem; + else + parentItem = static_cast(parent.internalPointer()); + + CGraphicalResourcesTreeItem *childItem = parentItem->Child(row); + if (childItem) + return createIndex(row, column, childItem); + return QModelIndex(); +} + +//---------------------------------------------------------------------------- + +QModelIndex CGraphicalResourcesTreeModel::parent(const QModelIndex &index) const +{ + if (!index.isValid()) + return QModelIndex(); + + CGraphicalResourcesTreeItem *childItem = static_cast(index.internalPointer()); + if (childItem == m_RootItem) + return QModelIndex(); + + CGraphicalResourcesTreeItem *parentItem = childItem->ParentItem(); + + if (parentItem == m_RootItem) + return QModelIndex(); + + return createIndex(parentItem->Row(), 0, parentItem); +} + +//---------------------------------------------------------------------------- + +int CGraphicalResourcesTreeModel::rowCount(const QModelIndex &parent) const +{ + CGraphicalResourcesTreeItem *parentItem; + if (parent.column() > 0) + return 0; + + if (!parent.isValid()) + parentItem = m_RootItem; + else + parentItem = static_cast(parent.internalPointer()); + + return parentItem->ChildCount(); +} + +//---------------------------------------------------------------------------- + +int CGraphicalResourcesTreeModel::columnCount(const QModelIndex &parent) const +{ + if (parent.isValid()) + return static_cast(parent.internalPointer())->ColumnCount(); + return m_RootItem->ColumnCount(); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeModel::UpdateModel() +{ + if (m_RootItem == null) + return; + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + CString compositionName = ""; + + if (!instance.GetMostRecentCompName(compositionName)) + return; + + const bool reset = compositionName != m_CompositionName; + + m_CompositionName = compositionName; + if (!reset) + _UpdateModel(); + else + _ResetModel(); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeModel::_UpdateModel() +{ + _UnflagUpdated(m_RootItem); + + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + TArray &layers = instance.GetLayers(); + u32 effectCount = 0; + + for (u32 i = 0; i < layers.Count(); ++i) + { + PK_SCOPEDLOCK(layers[i]->m_LayerLock); + + if (layers[i]->m_Deleted == true) + continue; + if (layers[i]->m_SpawnedEmitter.m_Desc != null) + { + if (layers[i]->m_CompositionName != m_CompositionName) + continue; + + const QString layerName(layers[i]->m_LayerName.Data()); + const QString emitterName(layers[i]->m_SpawnedEmitter.m_Desc->m_Name.c_str()); + const CStringId emitterUID = CStringId(layers[i]->m_SpawnedEmitter.m_Desc->m_UUID.c_str()); + + if (emitterName.isEmpty()) + continue; + + // Find effect or create it + CGraphicalResourcesTreeItem *effect = _FindChild(m_RootItem, emitterUID.Id()); + + if (effect == null) + { + beginInsertRows(Index(m_RootItem), effectCount, effectCount); + effect = _CreateEffect(layerName, emitterName, emitterUID.Id()); + m_RootItem->InsertChild(effect, effectCount); + endInsertRows(); + } + else + { + // Update effect data + effect->SetData(0, layerName); + effect->SetData(1, emitterName); + } + effect->SetUpdated(true); + effectCount++; + + // Add properties + TArray &renderers = layers[i]->m_Scene->GetRenderers(); + THashMap effectLayers; + + for (u32 iRenderer = 0; iRenderer < renderers.Count(); ++iRenderer) + { + // Find effect layer or create it + const QString effectLayerName = renderers[iRenderer]->m_EffectLayerName.Data(); + const u32 effectLayerUID = renderers[iRenderer]->m_EffectLayerUID; + CGraphicalResourcesTreeItem *effectLayer = _FindChild(effect, effectLayerUID); + + if (effectLayer == null) + { + beginInsertRows(Index(effect), effectLayers.Count(), effectLayers.Count()); + effectLayer = _CreateEffectLayer(effectLayerName, effectLayerUID, effect); + effect->InsertChild(effectLayer, effectLayers.Count()); + endInsertRows(); + } + else + { + // Update effect layer data + effectLayer->SetData(0, effectLayerName); + } + effectLayer->SetUpdated(true); + + u32* propertyCount = effectLayers.Find(effectLayer); + if (propertyCount == null) + propertyCount = effectLayers.Insert(effectLayer, u32(0)); + + // Find renderer property or create it + const u32 propertyUID = renderers[iRenderer]->m_PropertyUID; + CGraphicalResourcesTreeItem *property = _FindChild(effectLayer, propertyUID); + + if (property == null) + { + beginInsertRows(Index(effectLayer), *propertyCount, *propertyCount); + property = _CreateRenderer(renderers[iRenderer], effectLayer); + effectLayer->InsertChild(property, *propertyCount); + endInsertRows(); + } + else + { + // Update property data + property->SetData(0, QString(renderers[iRenderer]->m_Name.Data())); + + const QString newPath = renderers[iRenderer]->m_Value.Data(); + if (property->Data(1) != newPath) + { + QPixmap pix; + if (!_LoadImageThumbnail(renderers[iRenderer]->m_Value, &pix)) + { + pix = QPixmap(kGraphicResourceThumbSize); + pix.fill(QColor(255, 0, 0, 128)); + + } + + property->SetData(1, newPath); + property->SetData(2, QVariant::fromValue(CGraphicResourceView(CGraphicResourceView::ViewType::ViewType_PathResource, pix))); + } + property->SetLayerID(renderers[iRenderer]->m_LayerID); + property->SetRendererID(renderers[iRenderer]->m_RendererUID); + } + property->SetUpdated(true); + *propertyCount++; + } + } + } + + _RemoveOldItems(m_RootItem); +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeModel::_ResetModel() +{ + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + TArray &layers = instance.GetLayers(); + + beginResetModel(); + + if (m_RootItem->ChildCount() != 0) + m_RootItem->ClearChildren(); + + for (u32 i = 0; i < layers.Count(); ++i) + { + PK_SCOPEDLOCK(layers[i]->m_LayerLock); + + if (layers[i]->m_SpawnedEmitter.m_Desc != null) + { + if (layers[i]->m_CompositionName != m_CompositionName) + continue; + + const QString layerName(layers[i]->m_LayerName.Data()); + const QString emitterName(layers[i]->m_SpawnedEmitter.m_Desc->m_Name.c_str()); + const CStringId emitterUID = CStringId(layers[i]->m_SpawnedEmitter.m_Desc->m_UUID.c_str()); + + if (emitterName.isEmpty()) + continue; + + CGraphicalResourcesTreeItem *effect = _CreateEffect(layerName, emitterName, emitterUID.Id()); + + m_RootItem->AppendChild(effect); + + TArray &renderers = layers[i]->m_Scene->GetRenderers(); + for (u32 iRenderer = 0; iRenderer < renderers.Count(); ++iRenderer) + { + const QString effectLayerName = renderers[iRenderer]->m_EffectLayerName.Data(); + const u32 effectLayerUID = renderers[iRenderer]->m_EffectLayerUID; + CGraphicalResourcesTreeItem *effectLayer = _FindChild(effect, effectLayerUID); + + if (effectLayer == null) + { + effectLayer = _CreateEffectLayer(effectLayerName, effectLayerUID, effect); + effect->AppendChild(effectLayer); + } + + CGraphicalResourcesTreeItem *rdr = _CreateRenderer(renderers[iRenderer], effectLayer); + effectLayer->AppendChild(rdr); + } + } + } + endResetModel(); + +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeModel::_CreateEffect(const QString &layerName, const QString &emitterName, u32 uid) +{ + QVector effectData; + effectData.append(layerName); + effectData.append(emitterName); + effectData.append(QVariant::fromValue(CGraphicResourceView(CGraphicResourceView::ViewType::ViewType_Effect))); + effectData.append(QString("")); + + CGraphicalResourcesTreeItem *effect = new CGraphicalResourcesTreeItem(effectData, m_RootItem); + + effect->SetID(uid); + + return effect; +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeModel::_CreateEffectLayer(const QString &layerName, u32 uid, CGraphicalResourcesTreeItem *effect) +{ + QVector effectData; + effectData.append(layerName); + effectData.append(QString("")); + effectData.append(QVariant::fromValue(CGraphicResourceView(CGraphicResourceView::ViewType::ViewType_Layer))); + effectData.append(QString("")); + + CGraphicalResourcesTreeItem *layer = new CGraphicalResourcesTreeItem(effectData, effect); + + layer->SetID(uid); + + return layer; +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeModel::_CreateRenderer(SRendererProperties *renderer, CGraphicalResourcesTreeItem *layer) +{ + QPixmap pix; + + if (!_LoadImageThumbnail(renderer->m_Value, &pix)) + { + pix = QPixmap(kGraphicResourceThumbSize); + pix.fill(QColor(255, 0, 0, 128)); + } + + QVector rdrData; + rdrData << QString(renderer->m_Name.Data()); + rdrData << QString(renderer->m_Value.Data()); + rdrData << QVariant::fromValue(CGraphicResourceView(CGraphicResourceView::ViewType::ViewType_PathResource, pix)); + rdrData << QVariant::fromValue(CGraphicResetButtonView()); + + CGraphicalResourcesTreeItem *rdr = new CGraphicalResourcesTreeItem(rdrData, layer); + + rdr->SetLayerID(renderer->m_LayerID); + rdr->SetRendererID(renderer->m_RendererUID); + rdr->SetID(renderer->m_PropertyUID); + + return rdr; +} + +//---------------------------------------------------------------------------- + +CGraphicalResourcesTreeItem *CGraphicalResourcesTreeModel::_FindChild(CGraphicalResourcesTreeItem *parent, u32 childId) +{ + for (int i = 0; i < parent->ChildCount(); ++i) + { + CGraphicalResourcesTreeItem *item = parent->Child(i); + if (item->GetID() == childId) + return item; + } + return null; +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeModel::_UnflagUpdated(CGraphicalResourcesTreeItem* parent) +{ + + for (int i = 0; i < parent->ChildCount(); ++i) + { + CGraphicalResourcesTreeItem *item = parent->Child(i); + item->SetUpdated(false); + _UnflagUpdated(item); + } +} + +//---------------------------------------------------------------------------- + +void CGraphicalResourcesTreeModel::_RemoveOldItems(CGraphicalResourcesTreeItem* parent) +{ + QModelIndex parentIndex = Index(parent); + + for (int i = 0; i < parent->ChildCount(); ) + { + CGraphicalResourcesTreeItem *item = parent->Child(i); + if (!item->GetUpdated()) + { + beginRemoveRows(parentIndex, i, i); + parent->RemoveChild(i); + endRemoveRows(); + } + else + { + _RemoveOldItems(item); + ++i; + } + } +} + +//---------------------------------------------------------------------------- + +bool CGraphicalResourcesTreeModel::_LoadImageThumbnail(const CString &path, QPixmap *outThumbnail) +{ + const float dpr = 1.0f;// : MaxDevicePixelRatio(); + const QSize size = kGraphicResourceThumbSize * dpr; + + CResourceManager *resourceManager = Resource::DefaultManager(); + + if (!PK_VERIFY(outThumbnail != null)) + return false; + + if (!resourceManager->FileController()->Exists(path, false)) + return false; + + PImage resource; + const TResourcePtr resourcePtr = resourceManager->Load(path, false, SResourceLoadCtl(false, true)); + if (resourcePtr == null || resourcePtr->Empty()) + return false; + resource = resourcePtr.operator->(); + + if (resource == null) + return false; + + PK_ASSERT(!resource->m_Frames.Empty()); + const CImageFrame &frame = resource->m_Frames.First(); + PK_ASSERT(!frame.m_Mipmaps.Empty()); + const CImageMap &map = frame.m_Mipmaps.First(); + + CImageSurface surface(map, resource->m_Format); + QImage::Format targetFormat; + + switch (surface.m_Format) + { + case CImage::Format_BGR8: + targetFormat = QImage::Format_RGB888; + break; + case CImage::Format_BGRA8: + targetFormat = QImage::Format_RGBA8888; + break; + default: + targetFormat = QImage::Format_RGBA8888; + if (!PK_VERIFY(surface.Convert(CImage::Format_BGRA8))) + return false; + break; + } + + // Note: we do this analysis & alpha-patching before downscaling, as Qt will + // trash the RGB colors when downscaling with an alpha set to zero, for some reason... + if (targetFormat == QImage::Format_RGBA8888) + { + bool isFullyTransparent = false; + { + CUbyte4 *texels = surface.m_RawBuffer->Data(); + const CUbyte4 *texelsStop = texels + surface.m_Dimensions.x() * surface.m_Dimensions.y(); + + SIMD::Float4 texelORx4 = SIMD::Float4::Zero(); + texelsStop -= 4; + while (texels <= texelsStop) + { + texelORx4 |= SIMD::Float4::LoadAligned16(texels); + texels += 4; + } + texelsStop += 4; + + const u32 texelOR32 = texelORx4.x().AsUint() | texelORx4.y().AsUint() | texelORx4.z().AsUint() | texelORx4.w().AsUint(); + CUbyte4 texelOR = *reinterpret_cast(&texelOR32); + while (texels < texelsStop) + { + texelOR |= *texels; + texels++; + } + + isFullyTransparent = (texelOR.w() == 0); + } + + // Fix #3945: Editor propertygrid: Some cubemaps do not show-up in asset-picker preview + // Fix #4133: Content browser: Some cubemap thumbnails do not appear + if (isFullyTransparent || + (resource->m_Flags & CImage::Flag_Cubemap)) + { + // When it's a cubemap, we're only displaying part of it, and in perhaps 99+% of cases, even if the + // image format has alpha, we don't want to display alpha. (envmaps, cubemap backdrops) + // And in practise there are quite a bit of cubemaps grabbed from the web that have a BGRA8 format + // with zero alpha. Here, for preview purposes & practical reasons, force the alpha channel to 0xFF: + + CUbyte4 *texels = surface.m_RawBuffer->Data(); + const CUbyte4 *texelsStop = texels + surface.m_Dimensions.x() * surface.m_Dimensions.y(); + + const SIMD::Float4 kFullAlpha = SIMD::Float4::FromConstInt<0xFF000000>(); + texelsStop -= 4; + while (texels <= texelsStop) + { + (SIMD::Float4::LoadAligned16(texels) | kFullAlpha).StoreAligned16(texels); + texels += 4; + } + texelsStop += 4; + while (texels < texelsStop) + { + texels->w() = 0xFF; + texels++; + } + } + } + + const CUint3 &dim = surface.m_Dimensions; + const u32 channelCount = CImage::GetFormatChannelCount(surface.m_Format); + if (!PK_VERIFY(QImage::toPixelFormat(targetFormat).channelCount() == channelCount) || + !PK_VERIFY(dim.AxialProduct() * channelCount * sizeof(uchar) <= surface.m_RawBuffer->DataSizeInBytes())) + return false; + + QImage dstImage; + if (PK_VERIFY(All(dim > CUint3(0)))) + { + const u32 bytesPerLine = dim.x() * channelCount; + QImage srcImage = QImage(surface.m_RawBuffer->Data(), dim.x(), dim.y(), bytesPerLine, targetFormat).rgbSwapped(); + + const u64 fixedPoint = dim.y() * u64(size.height()); + const u64 fixedPointRatioSrc = (dim.x() * fixedPoint) / dim.y(); + const u64 fixedPointRatioDst = (size.width() * fixedPoint) / size.height(); + + if (fixedPointRatioSrc == fixedPointRatioDst) + { + dstImage = srcImage.scaled(size.width(), size.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + } + else if (fixedPointRatioSrc != fixedPointRatioDst) + { + if (dim.y() == 1) + { + // We have a 1D texture, probably a gradient + dstImage = srcImage.scaled(size.width(), size.height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + } + else + { + u32 dstPadW = 0; + u32 dstPadH = 0; + u32 dstW = 0; + u32 dstH = 0; + + // fixedPointRatioSrc > fixedPointRatioDst : pad along y (top & bottom) + // fixedPointRatioSrc < fixedPointRatioDst : pad along x (left & right) + + if (fixedPointRatioSrc > fixedPointRatioDst) + { + dstW = size.width(); // dim.x() * size.width() / dim.x(); + dstH = PKMax(1U, dim.y() * size.height() / dim.x()); + dstPadH = (size.height() - dstH) / 2; + } + else + { + dstW = PKMax(1U, dim.x() * size.width() / dim.y()); + dstH = size.height(); // dim.y() * size.height() / dim.y(); + dstPadW = (size.width() - dstW) / 2; + } + + // First do a smooth downscale. QPainter::drawImage() does a fast downscale. + // We want the higher quality box-scale for proper thumbnail display: + QImage scaledImage = srcImage.scaled(dstW, dstH, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + dstImage = QImage(size.width(), size.height(), srcImage.format()); + dstImage.fill(Qt::transparent); + + QPainter p(&dstImage); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.drawImage(QRect(dstPadW, dstPadH, dstW, dstH), scaledImage); + } + } + } + + *outThumbnail = QPixmap::fromImage(dstImage); + outThumbnail->setDevicePixelRatio(dpr); + + return true; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/Panels/AEGP_PanelQT.cpp b/AE_GeneralPlugin/Sources/Panels/AEGP_PanelQT.cpp new file mode 100644 index 00000000..71e60b95 --- /dev/null +++ b/AE_GeneralPlugin/Sources/Panels/AEGP_PanelQT.cpp @@ -0,0 +1,736 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include + +#include "Panels/AEGP_PanelQT.h" + +#include "RenderApi/AEGP_BaseContext.h" +#include "AEGP_RenderContext.h" + +#include "AEGP_World.h" +#include "AEGP_Scene.h" +#include "AEGP_PackExplorer.h" + +#include "AEGP_AssetBaker.h" + +#include "AEGP_Log.h" +//Suite +#include + +//AE +#include +#include + +#include +#include + +#include "Panels/AEGP_GraphicalResourcesTreeModel.h" +#include "AEGP_AEPKConversion.h" + +#include "AEGP_FileDialog.h" + +#if defined(PK_WINDOWS) +#include +#include +#endif + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +template +PK_FORCEINLINE void safe_delete(_Type * & ptr) +{ + if (ptr != null) + { + delete ptr; + ptr = null; + } +} + +//---------------------------------------------------------------------------- + +#if defined(PK_WINDOWS) +const char OSWndObjectProperty[] = "CPanelPopcornFX_PlatPtr"; +#endif + +CPanelBaseGUI *CPanelBaseGUI::m_Instance = null; + +//---------------------------------------------------------------------------- + +QPanelAppSignalSink::QPanelAppSignalSink(QApplication *app, QObject *parent) + : QObject(parent) + , m_App(app) +{ +} + +//---------------------------------------------------------------------------- + +void QPanelAppSignalSink::DoExit() +{ + m_App->exit(); +} + +//---------------------------------------------------------------------------- + +QPanel::QPanel(QPanelAppSignalSink* appSignal, QApplication *application, QObject *parent /*= null*/) + : QObject(parent) + , m_AppSignal(appSignal) + , m_App(application) +{ + m_TreeModel = new CGraphicalResourcesTreeModel(); + m_TreeModel->UpdateModel(); + + QObject::connect(appSignal, &QPanelAppSignalSink::OnWindowHandlerChanged, this, &QPanel::_SetWindow); + QObject::connect(appSignal, &QPanelAppSignalSink::OnWindowSizeChanged, this, &QPanel::_SetGeometry); + QObject::connect(appSignal, &QPanelAppSignalSink::OnRenderersChanged, this, &QPanel::_UpdateModel); +} + +//---------------------------------------------------------------------------- + +QPanel::~QPanel() +{ + safe_delete(m_TreeModel); + safe_delete(m_Widget); + safe_delete(m_Window); +} + +//---------------------------------------------------------------------------- + +void QPanel::_CreateWindowContent() +{ + QVBoxLayout *container = new QVBoxLayout(); + container->setMargin(0); + m_Widget->setLayout(container); + + QTabWidget *tab = new QTabWidget(); + container->addWidget(tab); + + QWidget *rendererTab = new QWidget(); + { + QVBoxLayout *layout = new QVBoxLayout(); + layout->setMargin(0); + + QTreeView *view = new QTreeView(); + + view->setItemDelegate(new CGraphicResourceDelegate()); + + // this line cause the error "QObject::~QObject: Timers cannot be stopped from another thread" when the application quit. + // this is a known issue + // see here : https://forum.qt.io/topic/128256/timers-cannot-be-stopped-from-a-different-thread/6 + // and here : https://lists.qt-project.org/pipermail/development/2021-May/041517.html + view->setModel(m_TreeModel); + view->setColumnWidth(2, 35); + + QObject::connect(view, &QTreeView::clicked, m_TreeModel, [this](const QModelIndex &index) + { + QModelIndex targetIndex; + targetIndex = index; + + QVariant variant = this->m_TreeModel->data(targetIndex, Qt::DisplayRole); + + if (variant.canConvert()) + { + CGraphicalResourcesTreeItem *item = this->m_TreeModel->Item(targetIndex); + CGraphicResourceView view = qvariant_cast(variant); + if (view.Type() == CGraphicResourceView::ViewType::ViewType_PathResource) + { + AEGPPk::SFileDialog cbData; + +#if !defined(PK_MACOSX) + // Filter *.* not working on MacOS + cbData.AddFilter("Image file (*.*)", "*.*"); +#endif + struct SFunctor + { + void Function(const CString path) + { + if (m_Item != null) + { + m_Item->SetData(1, QString(path.Data())); + + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + if (!world.SetResourceOverride(m_Item->GetLayerID(), m_Item->GetRendererID(), m_Item->GetID(), path)) + { + CLog::Log(PK_ERROR, "Set resource override failed"); + return; + } + } + } + + CGraphicalResourcesTreeItem* m_Item = null; + }; + + static SFunctor functor; + + functor.m_Item = item; + cbData.SetCallback(FastDelegate(&functor, &SFunctor::Function)); + + cbData.BasicFileOpen(); + } + } + else if (variant.canConvert()) + { + CGraphicalResourcesTreeItem *item = this->m_TreeModel->Item(targetIndex); + + AEGPPk::CPopcornFXWorld &world = AEGPPk::CPopcornFXWorld::Instance(); + world.SetResourceOverride(item->GetLayerID(), item->GetRendererID(), item->GetID(), ""); + } + }); + + layout->addWidget(view); + + rendererTab->setLayout(layout); + } + tab->addTab(rendererTab, "Renderers"); + + QWidget *settingsTab = new QWidget(tab); + { + QVBoxLayout *layout = new QVBoxLayout(); + + QGridLayout *Glayout = new QGridLayout(); + Glayout->setColumnStretch(0, 1); + { + QString message = "Graphical API"; + QLabel *label = new QLabel(message); + Glayout->addWidget(label, 0, 0); + + QComboBox *graphicCombo = new QComboBox(); + + RHI::EGraphicalApi currentApi = AEGPPk::CPopcornFXWorld::Instance().GetRenderApi(); + EApiValue selectedAPI = RHIApiToAEApi(currentApi); + u32 selectedAPIIndex = 0; + for (u32 i = 0; i < PK_ARRAY_COUNT(SAEPreferenciesKeys::kSupportedAPIs); ++i) + { + if (selectedAPI == SAEPreferenciesKeys::kSupportedAPIs[i]) + selectedAPIIndex = i; + const char *apiStr = SAEPreferenciesKeys::GetGraphicsApiAsCharPtr(SAEPreferenciesKeys::kSupportedAPIs[i]); + graphicCombo->insertItem(i, apiStr); + } + graphicCombo->setCurrentIndex(selectedAPIIndex); + QObject::connect(graphicCombo, QOverload::of(&QComboBox::currentIndexChanged), [](int value) { AEGPPk::CPopcornFXWorld::Instance().SetRenderApi(SAEPreferenciesKeys::kSupportedAPIs[value]); }); + Glayout->addWidget(graphicCombo, 0, 1); + } + layout->addLayout(Glayout); + +#if defined(PK_DEBUG) + { + QString messageButton = "Reload CSS"; + QPushButton *button = new QPushButton(messageButton); + QObject::connect(button, &QPushButton::released, [this]() + { + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + QString path = instance.GetPluginInstallationPath().Data() + QString("/Stylesheet.qss"); + QFile file(path); + + if (!file.open(QFile::ReadOnly)) + return false; + QString styleSheet = QLatin1String(file.readAll()); + m_App->setStyleSheet(styleSheet); + return true; + }); + layout->addWidget(button); + } + + { + QString messageButton = "Profile"; + QCheckBox *button = new QCheckBox(messageButton); + QObject::connect(button, &QCheckBox::stateChanged, [this](int state) + { + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + + instance.SetProfilingState(state != 0); + }); + layout->addWidget(button); + } +#endif + + settingsTab->setLayout(layout); + } + tab->addTab(settingsTab, "Settings"); +} + +//---------------------------------------------------------------------------- + +void QPanel::_SetWindow(WId wid) +{ + m_PendingWindowHandle = wid; +} + +//---------------------------------------------------------------------------- + +void QPanel::_SetGeometry(const QRect &windowRect) +{ + if (m_PendingWindowHandle != 0) + { + safe_delete(m_Widget); + safe_delete(m_Window); + + m_Widget = new QWidget(null, Qt::FramelessWindowHint); + + _CreateWindowContent(); +#if defined(PK_WINDOWS) + m_Widget->setProperty("_q_embedded_native_parent_handle", QVariant(m_PendingWindowHandle)); +#else + //Create internal window + m_Widget->winId(); + m_Window = QWindow::fromWinId(m_PendingWindowHandle); + m_Widget->windowHandle()->setParent(m_Window); +#endif + } + +#if defined(PK_MACOSX) + (void)windowRect; + if (m_Window != null) + { + // In the Qt documentation of QWindow::fromWinId this is not advised to observe state changes like this + // Do it like this for mac anyway since it's working but this should be changed + // https://doc.qt.io/qt-5/qwindow.html#fromWinId + QRect newRect = QRect(0, 0, m_Window->geometry().width(), m_Window->geometry().height()); + if (m_Widget != null && m_Widget->geometry() != newRect) + m_Widget->setGeometry(newRect); + } +#else + if (m_Widget != null && m_Widget->geometry() != windowRect) + m_Widget->setGeometry(windowRect); +#endif + + if (m_PendingWindowHandle != 0) + { + m_Widget->show(); + m_PendingWindowHandle = 0; + } +} + +//---------------------------------------------------------------------------- + +void QPanel::_UpdateModel() +{ + if (m_TreeModel != null) + m_TreeModel->UpdateModel(); +} + +//---------------------------------------------------------------------------- + +CPanelApp::CPanelApp() +{ +} + +//---------------------------------------------------------------------------- + +CPanelApp::~CPanelApp() +{ + PK_ASSERT(m_QApp == null); + PK_ASSERT(m_AppSignalSink == null); + PK_ASSERT(m_Panel == null); +} + +//---------------------------------------------------------------------------- + +bool CPanelApp::Startup() +{ + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + +#if defined(PK_MACOSX) + QApplication::setAttribute(Qt::AA_MacPluginApplication, true); + CString QTPath = instance.GetPluginInstallationPath() / "AE_GeneralPlugin.plugin/Contents/PlugIns"; +#else + CString QTPath = instance.GetPluginInstallationPath() / "popcornfx.qt"; +#endif + + CLog::Log(PK_INFO, "path: %s", QTPath.Data()); + + char *argv[] = { (char *)"", (char *)"-platformpluginpath", QTPath.RawDataForWriting(), null }; + int argc = sizeof(argv) / sizeof(char*) - 1; + + m_QApp = new QApplication(argc, argv); + if (!PK_VERIFY(m_QApp != null)) + { + CLog::Log(PK_ERROR, "Could not initialize Qt"); + return false; + } + +#if defined(PK_MACOSX) + m_EventLoop = new QEventLoop(); + if (!PK_VERIFY(m_EventLoop != null)) + { + CLog::Log(PK_ERROR, "Could not initialize Qt Event Loop"); + return false; + } +#endif + + qRegisterMetaType("WId"); + + m_AppSignalSink = new QPanelAppSignalSink(m_QApp); + if (m_AppSignalSink == null) + { + CLog::Log(PK_ERROR, "Could not initialize Qt signal sink"); + Shutdown(); + return false; + } + QObject::connect(m_AppSignalSink, &QPanelAppSignalSink::OnExit, m_AppSignalSink, &QPanelAppSignalSink::DoExit, Qt::QueuedConnection); + + if (!QResource::registerResource(QString(instance.GetResourcesPath().Data()) + "Resources.rcc")) + { + CLog::Log(PK_ERROR, "Could not load Resources.rcc"); + PK_ASSERT_NOT_REACHED(); + } + + QFile stylesheetFile(QString(instance.GetResourcesPath().Data()) + "/Stylesheet.qss"); + if (!stylesheetFile.open(QFile::ReadOnly)) + { + CLog::Log(PK_ERROR, "Could not load Stylesheet.qss"); + PK_ASSERT_NOT_REACHED(); + } + + QString styleSheet = QLatin1String(stylesheetFile.readAll()); + m_QApp->setStyleSheet(styleSheet); + + m_Panel = new QPanel(m_AppSignalSink, m_QApp); + if (!PK_VERIFY(m_Panel != null)) + { + CLog::Log(PK_ERROR, "Could not initialize Qt panel"); + Shutdown(); + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +void CPanelApp::LaunchApp() +{ +#if defined(PK_WINDOWS) + m_QApp->exec(); +#else + OnWindowSizeChanged(QRect(0, 0, 0, 0)); + m_EventLoop->processEvents(); +#endif +} + +//---------------------------------------------------------------------------- + +void CPanelApp::Shutdown() +{ +#if defined(PK_MACOSX) + if (m_QApp != null) + m_QApp->quit(); + safe_delete(m_EventLoop); +#endif + safe_delete(m_Panel); + safe_delete(m_AppSignalSink); + safe_delete(m_QApp); +} + +//---------------------------------------------------------------------------- + +void CPanelApp::OnWindowHandlerChanged(WId wid) +{ + if (PK_VERIFY(m_AppSignalSink != null)) + Q_EMIT m_AppSignalSink->OnWindowHandlerChanged(wid); +} + +//---------------------------------------------------------------------------- + +void CPanelApp::OnWindowSizeChanged(const QRect &rect) +{ + if (PK_VERIFY(m_AppSignalSink != null)) + Q_EMIT m_AppSignalSink->OnWindowSizeChanged(rect); +} + +//---------------------------------------------------------------------------- + +void CPanelApp::OnRenderersChanged() +{ + if (PK_VERIFY(m_AppSignalSink != null)) + Q_EMIT m_AppSignalSink->OnRenderersChanged(); +} + +//---------------------------------------------------------------------------- + +void CPanelApp::OnExit() +{ + if (PK_VERIFY(m_AppSignalSink != null)) + Q_EMIT m_AppSignalSink->OnExit(); +} + +//---------------------------------------------------------------------------- +#if defined(PK_WINDOWS) + +CAsynchronousJob_QtThread::CAsynchronousJob_QtThread() +{ +} + +//---------------------------------------------------------------------------- + +CAsynchronousJob_QtThread::~CAsynchronousJob_QtThread() +{ +} + +//---------------------------------------------------------------------------- + +void CAsynchronousJob_QtThread::ImmediateExecute() +{ + if (!m_App.Startup()) + { + m_Initialized.Trigger(); + m_Exited.Trigger(); + return; + } + + m_Initialized.Trigger(); + + m_App.LaunchApp(); + + // VMN: Locking operation on my pc. + //m_App.Shutdown(); + + m_Exited.Trigger(); +} + +#endif +//---------------------------------------------------------------------------- + +CPanelBaseGUI::CPanelBaseGUI() +#if defined(PK_WINDOWS) + : m_Task(null) +#endif +{ +} + +//---------------------------------------------------------------------------- + +CPanelBaseGUI::~CPanelBaseGUI() +{ +#if defined(PK_WINDOWS) + if (m_Task != null) + { + m_Task->App().OnExit(); + m_Task->m_Exited.Wait(); + } +#else + m_App.Shutdown(); +#endif +} + +//---------------------------------------------------------------------------- + +CPanelBaseGUI *CPanelBaseGUI::GetInstance() +{ + if (m_Instance == null) + { + m_Instance = new CPanelBaseGUI(); + } + return m_Instance; +} + +//---------------------------------------------------------------------------- + +bool CPanelBaseGUI::DestroyInstance() +{ + if (m_Instance) + delete m_Instance; + m_Instance = null; + return true; +} + +//---------------------------------------------------------------------------- + +bool CPanelBaseGUI::InitializeIFN() +{ + if (!m_Initialized) + { + AAePk::SAAEIOData AAEData{ PF_Cmd_ABOUT, null, null, null, null }; + CPopcornFXWorld &instance = AEGPPk::CPopcornFXWorld::Instance(); + if (!instance.InitializeIFN(AAEData)) + return false; + instance.SetPanelInstance(this); + +#if defined(PK_WINDOWS) + m_Task = PK_NEW(CAsynchronousJob_QtThread()); + if (!PK_VERIFY(m_Task != null)) + return false; + m_Task->AddToPool(Scheduler::ThreadPool()); + Scheduler::ThreadPool()->KickTasks(true); + m_Task->m_Initialized.Wait(); +#else + m_App.Startup(); +#endif + + m_Initialized = true; + } + return true; +} + +//---------------------------------------------------------------------------- +#if defined(PK_MACOSX) +void CPanelBaseGUI::IdleUpdate() +{ + PK_ASSERT(m_Initialized); + + m_App.LaunchApp(); +} +#endif +//---------------------------------------------------------------------------- + +bool CPanelBaseGUI::CreatePanel(SPBasicSuite *spbP, AEGP_PanelH panelH, AEGP_PlatformViewRef platformWindowRef, AEGP_PanelFunctions1 *outFunctionTable) +{ + PK_ASSERT(m_Initialized); + + m_BasicSuite = spbP; + (void)panelH; + outFunctionTable->DoFlyoutCommand = _DoFlyoutCommand; + outFunctionTable->GetSnapSizes = _GetSnapSizes; + outFunctionTable->PopulateFlyout = _PopulateFlyout; + + { +#if defined(PK_WINDOWS) + m_Task->App().OnWindowHandlerChanged((WId)platformWindowRef); +#else + m_App.OnWindowHandlerChanged((WId)platformWindowRef); +#endif + +#if defined(PK_WINDOWS) + _SetWindowHandle((HWND)platformWindowRef); +#endif + } + return true; +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::SetGeometry(const QRect &rect) +{ + PK_ASSERT(m_Initialized); +#if defined(PK_WINDOWS) + m_Task->App().OnWindowSizeChanged(rect); +#else + m_App.OnWindowSizeChanged(rect); +#endif +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::UpdateScenesModel() +{ + PK_ASSERT(m_Initialized); +#if defined(PK_WINDOWS) + m_Task->App().OnRenderersChanged(); +#else + m_App.OnRenderersChanged(); +#endif +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::GetSnapSizes(A_LPoint *snapSizes, A_long *numSizesP) +{ + snapSizes[0].x = 100; + snapSizes[0].y = 100; + snapSizes[1].x = 200; + snapSizes[1].y = 400; + *numSizesP = 2; +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::PopulateFlyout(AEGP_FlyoutMenuItem *itemsP, A_long *in_out_numItemsP) +{ + (void)itemsP; + (void)in_out_numItemsP; +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::DoFlyoutCommand(AEGP_FlyoutMenuCmdID commandID) +{ + (void)commandID; +} + +//---------------------------------------------------------------------------- + +A_Err CPanelBaseGUI::_GetSnapSizes(AEGP_PanelRefcon refcon, A_LPoint *snapSizes, A_long *numSizesP) +{ + reinterpret_cast(refcon)->GetSnapSizes(snapSizes, numSizesP); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +A_Err CPanelBaseGUI::_PopulateFlyout(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuItem *itemsP, A_long * in_out_numItemsP) +{ + reinterpret_cast(refcon)->PopulateFlyout(itemsP, in_out_numItemsP); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +A_Err CPanelBaseGUI::_DoFlyoutCommand(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuCmdID commandID) +{ + reinterpret_cast(refcon)->DoFlyoutCommand(commandID); + return PF_Err_NONE; +} + +#if defined(PK_WINDOWS) + +LRESULT CALLBACK CPanelBaseGUI::StaticOSWindowWndProc( HWND hWnd, + UINT message, + WPARAM wParam, + LPARAM lParam) +{ + CPanelBaseGUI* platPtr = reinterpret_cast(::GetProp(hWnd, OSWndObjectProperty)); + if (platPtr) + { + return platPtr->OSWindowWndProc(hWnd, message, wParam, lParam); + } + else + { + return DefWindowProc(hWnd, message, wParam, lParam); + } +} + +//---------------------------------------------------------------------------- + +LRESULT CPanelBaseGUI::OSWindowWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + PK_SCOPEDLOCK(m_HandleLock); + + bool eventHandled = false; + + if (m_WindowHandle == hwnd) // Filter events that are not for our window + { + RECT rect; + GetClientRect(hwnd, &rect); + + u32 width = rect.right - rect.left; + u32 height = rect.bottom - rect.top; + + SetGeometry(QRect(rect.left, rect.top, width, height)); + + eventHandled = true; + } + + if (m_WindowProc && !eventHandled) + return CallWindowProc(m_WindowProc, hwnd, message, wParam, lParam); + else + return DefWindowProc(hwnd, message, wParam, lParam); +} + +//---------------------------------------------------------------------------- + +void CPanelBaseGUI::_SetWindowHandle(HWND hwnd) +{ + PK_SCOPEDLOCK(m_HandleLock); + + m_WindowHandle = hwnd; + m_WindowProc = (WindowProc)GetWindowLongPtrA(m_WindowHandle, GWLP_WNDPROC); + SetWindowLongPtrA(m_WindowHandle, GWLP_WNDPROC, (LONG_PTR)CPanelBaseGUI::StaticOSWindowWndProc); + ::SetProp(m_WindowHandle, OSWndObjectProperty, (HANDLE)this); +} + +#endif // defined(PK_WINDOWS) + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/RenderApi/AEGP_BaseContext.cpp b/AE_GeneralPlugin/Sources/RenderApi/AEGP_BaseContext.cpp new file mode 100644 index 00000000..24801ae2 --- /dev/null +++ b/AE_GeneralPlugin/Sources/RenderApi/AEGP_BaseContext.cpp @@ -0,0 +1,54 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "RenderApi/AEGP_BaseContext.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CAAEBaseContext::CAAEBaseContext() + : m_ApiManager(null) + , m_ApiContext(null) + , m_CompositingTexture(null) +{ + +} + +//---------------------------------------------------------------------------- + +CAAEBaseContext::~CAAEBaseContext() +{ + PK_SAFE_DELETE(m_ApiContext); + m_ApiManager = null; + m_CompositingTexture = null; +} + +//---------------------------------------------------------------------------- + +RHI::PApiManager CAAEBaseContext::GetApiManager() +{ + PK_ASSERT(m_ApiManager != null); + return m_ApiManager; +} + +//---------------------------------------------------------------------------- + +RHI::SApiContext *CAAEBaseContext::GetApiContext() +{ + PK_ASSERT(m_ApiContext != null); + return m_ApiContext; +} + +//---------------------------------------------------------------------------- + +RHI::PTexture CAAEBaseContext::GetCompositingTexture() +{ + PK_ASSERT(m_CompositingTexture != null); + return m_CompositingTexture; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END diff --git a/AE_GeneralPlugin/Sources/RenderApi/AEGP_CopyPixels.cpp b/AE_GeneralPlugin/Sources/RenderApi/AEGP_CopyPixels.cpp new file mode 100644 index 00000000..62a1b9de --- /dev/null +++ b/AE_GeneralPlugin/Sources/RenderApi/AEGP_CopyPixels.cpp @@ -0,0 +1,193 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "RenderApi/AEGP_CopyPixels.h" + +//Samples +#include +#include + +#include "AEGP_AEPKConversion.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +CFloat4 Pixel32ToCFloat4(const PF_Pixel32 &pxl) +{ + return CFloat4(pxl.red, pxl.green, pxl.blue, pxl.alpha); +} + +//---------------------------------------------------------------------------- + +CFloat4 Pixel16ToCFloat4(const PF_Pixel16 &pxl) +{ + CFloat4 pxlValue( static_cast(pxl.red), + static_cast(pxl.green), + static_cast(pxl.blue), + static_cast(pxl.alpha)); + return pxlValue / CFloat4(static_cast(0x7FFF)); +} + +//---------------------------------------------------------------------------- + +CFloat4 Pixel8ToCFloat4(const PF_Pixel8 &pxl) +{ + CFloat4 pxlValue( static_cast(pxl.red), + static_cast(pxl.green), + static_cast(pxl.blue), + static_cast(pxl.alpha)); + return pxlValue / CFloat4(static_cast(0xFF)); +} + +//---------------------------------------------------------------------------- + +PF_Pixel32 CFloat4ToPixel32(const CFloat4 &pxl) +{ + PF_Pixel32 out = {}; + out.red = pxl.x(); + out.green = pxl.y(); + out.blue = pxl.z(); + out.alpha = pxl.w(); + return out; +} + +//---------------------------------------------------------------------------- + +PF_Pixel16 CFloat4ToPixel16(const CFloat4 &pxl) +{ + PF_Pixel16 out = {}; + out.red = static_cast(pxl.x() * static_cast(0x7FFF)); + out.green = static_cast(pxl.y() * static_cast(0x7FFF)); + out.blue = static_cast(pxl.z() * static_cast(0x7FFF)); + out.alpha = static_cast(pxl.w() * static_cast(0x7FFF)); + return out; +} + +//---------------------------------------------------------------------------- + +PF_Pixel8 CFloat4ToPixel8(const CFloat4 &pxl) +{ + PF_Pixel8 out = {}; + out.red = static_cast(pxl.x() * static_cast(0xFF)); + out.green = static_cast(pxl.y() * static_cast(0xFF)); + out.blue = static_cast(pxl.z() * static_cast(0xFF)); + out.alpha = static_cast(pxl.w() * static_cast(0xFF)); + return out; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelIn32( void *refcon, + A_long x, + A_long y, + PF_Pixel32 *inP, + PF_Pixel32 *) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + CFloat4 *outP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), sizeof(CFloat4) * y * thiS->m_InputWorld->width + x * sizeof(CFloat4)); + CFloat4 value = Pixel32ToCFloat4(*inP); + + value.xyz() = PKSample::ConvertSRGBToLinear(value.xyz()); + value = PKSaturate(value); + *outP = value; + if (thiS->m_IsAlphaOverride) + outP->w() = static_cast(thiS->m_AlphaOverrideValue); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelIn16( void *refcon, + A_long x, + A_long y, + PF_Pixel16 *inP, + PF_Pixel16 *) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + CFloat4 *outP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), sizeof(CFloat4) * y * thiS->m_InputWorld->width + x * sizeof(CFloat4)); + CFloat4 value = Pixel16ToCFloat4(*inP); + + value.xyz() = PKSample::ConvertSRGBToLinear(value.xyz()); + value = PKSaturate(value); + *outP = value; + if (thiS->m_IsAlphaOverride) + outP->w() = static_cast(thiS->m_AlphaOverrideValue); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelIn8( void *refcon, + A_long x, + A_long y, + PF_Pixel8 *inP, + PF_Pixel8 *) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + CFloat4 *outP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), sizeof(CFloat4) * y * thiS->m_InputWorld->width + x * sizeof(CFloat4)); + CFloat4 value = Pixel8ToCFloat4(*inP); + + value.xyz() = PKSample::ConvertSRGBToLinear(value.xyz()); + value = PKSaturate(value); + *outP = value; + if (thiS->m_IsAlphaOverride) + outP->w() = static_cast(thiS->m_AlphaOverrideValue); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelOut32( void *refcon, + A_long x, + A_long y, + PF_Pixel32 *, + PF_Pixel32 *outP) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + const u32 size = sizeof(CFloat4); + const CFloat4 *inP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), size * y * thiS->m_InputWorld->width + x * size); + CFloat4 value = CFloat4(PKSample::ConvertLinearToSRGB(inP->xyz()), inP->w()); + value = PKSaturate(value); + *outP = CFloat4ToPixel32(value); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelOut16( void *refcon, + A_long x, + A_long y, + PF_Pixel16 *, + PF_Pixel16 *outP) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + const u32 size = sizeof(CFloat4); + const CFloat4 *inP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), size * y * thiS->m_InputWorld->width + x * size); + CFloat4 value = CFloat4(PKSample::ConvertLinearToSRGB(inP->xyz()), inP->w()); + value = PKSaturate(value); + *outP = CFloat4ToPixel16(value); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- + +PF_Err CopyPixelOut8( void *refcon, + A_long x, + A_long y, + PF_Pixel8 *, + PF_Pixel8 *outP) +{ + SCopyPixel *thiS = reinterpret_cast(refcon); + const u32 size = sizeof(CFloat4); + const CFloat4 *inP = Mem::AdvanceRawPointer(thiS->m_BufferPtr->Data(), size * y * thiS->m_InputWorld->width + x * size); + CFloat4 value = CFloat4(PKSample::ConvertLinearToSRGB(inP->xyz()), inP->w()); + value = PKSaturate(value); + *outP = CFloat4ToPixel8(value); + return PF_Err_NONE; +} + +//---------------------------------------------------------------------------- +__AEGP_PK_END + diff --git a/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D11Context.cpp b/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D11Context.cpp new file mode 100644 index 00000000..f86b54c6 --- /dev/null +++ b/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D11Context.cpp @@ -0,0 +1,506 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "RenderApi/AEGP_D3D11Context.h" + +#if (PK_BUILD_WITH_D3D11_SUPPORT != 0) + +#include +#include +#include +#include + +#include + +#include + +#include + +#include "AEGP_World.h" +#include "RenderApi/AEGP_CopyTask.h" + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +struct SD3D11PlatformContext +{ + IDXGIFactory1 *m_Factory; + IDXGIAdapter1 *m_HardwareAdapter; + + TArray m_SwapChains; + +#if USE_DEBUG_DXGI + IDXGIDebug *m_Debug; +#endif + + PFN_D3D11_CREATE_DEVICE m_CreateDeviceFunc; + HMODULE m_D3DModule; + HMODULE m_DXGIModule; + + bool m_Initialized = false; + + SD3D11PlatformContext() + : m_Factory(null) + , m_HardwareAdapter(null) +#if USE_DEBUG_DXGI + , m_Debug(null) +#endif + , m_D3DModule(0) + , m_DXGIModule(0) + { + } + + ~SD3D11PlatformContext() + { + if (m_Factory != null) + m_Factory->Release(); + if (m_HardwareAdapter != null) + m_HardwareAdapter->Release(); + PK_FOREACH(swapChain, m_SwapChains) + { + if (PK_VERIFY(*swapChain != null)) + (*swapChain)->Release(); + } +#if USE_DEBUG_DXGI + if (m_Debug) + { + m_Debug->ReportLiveObjects(DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_ALL); + m_Debug->Release(); + } +#endif + if (m_D3DModule != null) + FreeLibrary(m_D3DModule); + if (m_DXGIModule != null) + FreeLibrary(m_DXGIModule); + } +}; + +//---------------------------------------------------------------------------- + +CAAED3D11Context::CAAED3D11Context() + : m_Texture(null) + , m_StagingTexture(null) +{ + m_D3D11Manager = PK_NEW(RHI::CD3D11ApiManager); + m_D3D11Context = PK_NEW(RHI::SD3D11BasicContext); + m_ApiManager = m_D3D11Manager; + m_ApiContext = m_D3D11Context; + + if (m_Context == null) + m_Context = (PK_NEW(SD3D11PlatformContext)); +} + +//---------------------------------------------------------------------------- + +CAAED3D11Context::~CAAED3D11Context() +{ + if (m_Texture != null) + { + m_Texture->Release(); + m_Texture = null; + } + if (m_StagingTexture != null) + { + m_StagingTexture->Release(); + m_StagingTexture = null; + } + m_D3D11Context->m_SwapChainRenderTargets.Clear(); + if (m_D3D11Context->m_ImmediateDeviceContext != null) + { + m_D3D11Context->m_ImmediateDeviceContext->Release(); + m_D3D11Context->m_ImmediateDeviceContext = null; + } + if (m_D3D11Context->m_Device != null) + { + m_D3D11Context->m_Device->Release(); + m_D3D11Context->m_Device = null; + } + + PK_SAFE_DELETE(m_Context); + PK_SAFE_DELETE(m_D3D11Context); + + m_D3D11Manager = null; + m_ApiContext = null; + m_ApiManager = null; + + m_Tasks.Clear(); + +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::InitIFN() +{ + if (m_Initialized) + return true; + m_Initialized = true; + + m_WorkerCount = CPopcornFXWorld::Instance().GetWorkerCount() + 1; + m_Tasks.Resize(m_WorkerCount); + + m_ApiManager->InitApi(m_ApiContext); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::BeginFrame() +{ + m_ApiManager->BeginFrame(0); + LogApiError(); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::EndFrame() +{ + LogApiError(); + + m_ApiManager->EndFrame(); + + HRESULT hr = 0; + if (m_Context->m_SwapChains.Count() > 0) + { + hr = m_Context->m_SwapChains[0]->Present(0, 0); + if (FAILED(hr)) + return false; + if (hr == DXGI_ERROR_DEVICE_RESET || + hr == DXGI_ERROR_DEVICE_REMOVED) + return false; + if (hr == DXGI_STATUS_OCCLUDED) + return true; + } + return PK_D3D11_OK(hr); +} + +//---------------------------------------------------------------------------- + +void CAAED3D11Context::LogApiError() +{ +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::CreatePlatformContext(void *winHandle, void *deviceContext) +{ + (void)winHandle; + + HDC hdc = (HDC)deviceContext; + + int PixelFormat; + PIXELFORMATDESCRIPTOR pfd; + + ::ZeroMemory(&pfd, sizeof(pfd)); + + pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); + pfd.nVersion = 1; + pfd.dwFlags = PFD_DRAW_TO_WINDOW; // | PFD_DOUBLEBUFFER; + pfd.iPixelType = PFD_TYPE_RGBA; + pfd.cColorBits = 32; + pfd.cDepthBits = 8; + + PixelFormat = ChoosePixelFormat(hdc, &pfd); + if (PixelFormat == 0) + return false; + if (!SetPixelFormat(hdc, PixelFormat, &pfd)) + return false; + + if (m_Context == null) + return false; + if (m_Context->m_Initialized) + return true; + + m_D3D11Context->m_Api = RHI::GApi_D3D11; + m_D3D11Context->m_SwapChainCount = 0; + + if (!_LoadDynamicLibrary()) + return false; + + // try grabbing CreateDXGIFactory1: + typedef HRESULT(WINAPI *FnCreateDXGIFactory1)(REFIID riid, _COM_Outptr_ void **ppFactory); + + FnCreateDXGIFactory1 fnCreateDXGIFactory1 = (FnCreateDXGIFactory1)::GetProcAddress(m_Context->m_DXGIModule, "CreateDXGIFactory1"); + // if not found, this is not fatal, it will fallback (ie: on vista & xp) + if (fnCreateDXGIFactory1 == null) + { + CLog::Log(PK_INFO, "DXGI API 'CreateDXGIFactory1' not found, cannot create D3D11 context."); + return false; + } + m_Context->m_Initialized = true; + return PK_D3D11_OK(fnCreateDXGIFactory1(IID_PPV_ARGS(&m_Context->m_Factory))) && _CreateDevice(); +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) +{ + RHI::PD3D11RenderTarget rt = PK_NEW(RHI::CD3D11RenderTarget(RHI::SRHIResourceInfos("Render Target"))); + ID3D11Texture2D *texture2D = null; + D3D11_TEXTURE2D_DESC texDesc = {}; + + texDesc.Width = size.x(); + texDesc.Height = size.y(); + texDesc.MipLevels = 1; + texDesc.ArraySize = 1; + texDesc.Format = RHI::D3DConversion::PopcornToD3DPixelFormat(format); + texDesc.SampleDesc.Count = 1; + texDesc.Usage = D3D11_USAGE_DEFAULT; + texDesc.BindFlags = D3D11_BIND_RENDER_TARGET; + + if (PK_D3D11_FAILED(m_D3D11Context->m_Device->CreateTexture2D(&texDesc, null, &texture2D))) + return false; + texture2D->AddRef(); + rt->D3D11SetRenderTarget(texture2D, format, size.xy(), true, null, RHI::SampleCount1); + + if (m_Texture != null) + { + m_Texture->Release(); + m_Texture = null; + } + + m_Texture = texture2D; + + if (m_D3D11Context->m_SwapChainCount != 0) + { + m_D3D11Context->m_SwapChainRenderTargets.Clear(); + m_D3D11Manager->SwapChainRemoved(0); + } + + m_D3D11Context->m_SwapChainRenderTargets.PushBack(rt); + m_D3D11Context->m_SwapChainCount = 1; + + m_D3D11Manager->SwapChainAdded(); + + ID3D11Texture2D *tex = null; + D3D11_TEXTURE2D_DESC textureStagingDesc = {}; + + textureStagingDesc.Width = size.x(); + textureStagingDesc.Height = size.y(); + textureStagingDesc.MipLevels = 1; + textureStagingDesc.ArraySize = 1; + textureStagingDesc.Format = RHI::D3DConversion::PopcornToD3DPixelFormat(format); + textureStagingDesc.SampleDesc.Count = 1; + textureStagingDesc.Usage = D3D11_USAGE_STAGING; + textureStagingDesc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; + if (textureStagingDesc.Format == DXGI_FORMAT_UNKNOWN || + PK_D3D11_FAILED(m_D3D11Context->m_Device->CreateTexture2D(&textureStagingDesc, null, &tex))) + return false; + + if (m_StagingTexture != null) + { + m_StagingTexture->Release(); + m_StagingTexture = null; + } + m_StagingTexture = tex; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::SetAsCurrent(void *deviceContext) +{ + (void)deviceContext; + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + + PK_SCOPEDPROFILE(); + + m_D3D11Context->m_ImmediateDeviceContext->CopyResource(m_StagingTexture, m_Texture); + // Copy GPU Resource to CPU + D3D11_TEXTURE2D_DESC desc; + D3D11_MAPPED_SUBRESOURCE resource; + UINT subresource = D3D11CalcSubresource(0, 0, 0); + + m_StagingTexture->GetDesc(&desc); + //Locking Map + HRESULT hr = m_D3D11Context->m_ImmediateDeviceContext->Map(m_StagingTexture, subresource, D3D11_MAP_READ, 0, &resource); + if (FAILED(hr)) + { + CLog::Log(PK_ERROR, "D3D11Context map failure"); + return false; + } + + BYTE *sptr = reinterpret_cast(resource.pData); + BYTE *dptr = (BYTE*)dstBuffer->Data(); + + const u32 formatSize = RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format); + const u32 widthSize = (formatSize * width); + + PK_ASSERT(resource.RowPitch >= widthSize); + + u32 taskRowNumbers = height / m_WorkerCount; + u32 reminder = height % m_WorkerCount; + TAtomic counter = 0; + Threads::CEvent event; + + for (u32 i = 0; i < m_WorkerCount;++i) + { + m_Tasks[i] = PK_NEW(CAsynchronousJob_CopyTextureTask); + m_Tasks[i]->m_TargetCount = m_WorkerCount; + + m_Tasks[i]->m_Counter = &counter; + m_Tasks[i]->m_EndCB = &event; + + if (i == (m_WorkerCount - 1)) + m_Tasks[i]->m_Height = taskRowNumbers + reminder; + else + m_Tasks[i]->m_Height = taskRowNumbers; + m_Tasks[i]->m_StartOffset = i * taskRowNumbers; + m_Tasks[i]->m_DestinationPtr = dptr; + m_Tasks[i]->m_SourcePtr = sptr; + m_Tasks[i]->m_WidthSize = widthSize; + m_Tasks[i]->m_RowPitch = resource.RowPitch; + } + + for (u32 i = 1; i < m_WorkerCount; ++i) + { + m_Tasks[i]->AddToPool(Scheduler::ThreadPool()); + } + Scheduler::ThreadPool()->KickTasks(true); + + m_Tasks[0]->ImmediateExecute(); + { + PK_SCOPEDLOGGEDPROFILE("WaitMergeTask"); + + event.Wait(); + + for (u32 i = 0; i < m_WorkerCount; ++i) + { + if (!m_Tasks[i]->Done()) + i = 0; + } + } + + m_D3D11Context->m_ImmediateDeviceContext->Unmap(m_StagingTexture, subresource); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::FillCompositingTexture(void *srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + + PK_SCOPEDPROFILE(); + + CImageMap image(CUint3(width, height, 1), srcBuffer, RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format) * width * height); + + PK_TODO("Optim: Use GPU Swizzle instead of CPU"); + + RHI::PTexture textureSrc = m_D3D11Manager->CreateTexture(RHI::SRHIResourceInfos("CompositingTexture"), TMemoryView(image), format); + + m_CompositingTexture = textureSrc; + return true; +} + +//---------------------------------------------------------------------------- + +TMemoryView CAAED3D11Context::GetCurrentSwapChain() +{ + return m_D3D11Context->m_SwapChainRenderTargets; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::_LoadDynamicLibrary() +{ + if (m_Initialized) + return true; + PK_ASSERT(m_Context != null); + m_Context->m_D3DModule = ::LoadLibraryA("d3d11.dll"); + if (m_Context->m_D3DModule == null) + return false; + m_Context->m_DXGIModule = ::LoadLibraryA("dxgi.dll"); + if (m_Context->m_DXGIModule == null) + return false; + m_Context->m_CreateDeviceFunc = (PFN_D3D11_CREATE_DEVICE)::GetProcAddress(m_Context->m_D3DModule, "D3D11CreateDevice"); + + return m_Context->m_CreateDeviceFunc != null; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::_CreateDevice() +{ + D3D_FEATURE_LEVEL featureLevels[] = + { + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + }; + if (!_PickHardwareAdapter()) + { + return false; + } + +#if defined(PK_DEBUG) + UINT deviceFlags = (D3D11_CREATE_DEVICE_DEBUG); +#else + UINT deviceFlags = 0; +#endif + + if (!PK_D3D11_OK(m_Context->m_CreateDeviceFunc( m_Context->m_HardwareAdapter, + D3D_DRIVER_TYPE_UNKNOWN, + null, + deviceFlags, + featureLevels, + _countof(featureLevels), + D3D11_SDK_VERSION, + &m_D3D11Context->m_Device, + &m_D3D11Context->m_FeatureLevel, + &m_D3D11Context->m_ImmediateDeviceContext))) + { + return false; + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D11Context::_PickHardwareAdapter() +{ + IDXGIFactory1 *&factory = m_Context->m_Factory; + IDXGIAdapter1 *&adapter = m_Context->m_HardwareAdapter; + + adapter = 0; + for (u32 idx = 0; factory->EnumAdapters1(idx, &adapter) != DXGI_ERROR_NOT_FOUND; ++idx) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + // If you want a software adapter, pass in "/warp" on the command line. + continue; + } + + // Check to see if the adapter supports Direct3D 12, but don't create the + // actual device yet. + D3D_FEATURE_LEVEL featureLevels[] = + { + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_11_0, + }; + if (SUCCEEDED(m_Context->m_CreateDeviceFunc(adapter, D3D_DRIVER_TYPE_UNKNOWN, null, 0, featureLevels, _countof(featureLevels), D3D11_SDK_VERSION, null, null, null))) + { + return true; + } + } + adapter = 0; + return false; +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D12Context.cpp b/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D12Context.cpp new file mode 100644 index 00000000..f1cbfb89 --- /dev/null +++ b/AE_GeneralPlugin/Sources/RenderApi/AEGP_D3D12Context.cpp @@ -0,0 +1,712 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#include "ae_precompiled.h" +#include "RenderApi/AEGP_D3D12Context.h" + +#if (PK_BUILD_WITH_D3D12_SUPPORT != 0) + +#include +#include +#include +#include +#include +#include "pk_rhi/include/D3D12/D3D12ReadBackTexture.h" + +#include + +#include + +#include + +#include "AEGP_World.h" +#include "RenderApi/AEGP_CopyTask.h" + +#include + +#include +#include + +__AEGP_PK_BEGIN + +//---------------------------------------------------------------------------- + +class CD3D12SwapChainRT : public RHI::ID3D12SwapChain +{ +public: + CGuid m_BufferIndex; + + RHI::PD3D12RenderTarget m_RenderTargets[CAAED3D12Context::kFrameCount]; + RHI::PD3D12ReadBackTexture m_ReadbackTextures[CAAED3D12Context::kFrameCount]; + + + CD3D12SwapChainRT() + : m_BufferIndex(0) + { + } + + ~CD3D12SwapChainRT() + { + m_BufferIndex = 0; + } + + CGuid BeginFrame() + { + m_BufferIndex = (m_BufferIndex + 1) % CAAED3D12Context::kFrameCount; + return m_BufferIndex; + } + + virtual TMemoryView GetD3D12RenderTargets() const + { + return TMemoryView(m_RenderTargets); + } + + virtual TMemoryView GetRenderTargets() const + { + return TMemoryView(GetD3D12RenderTargets()); + } +}; + +//---------------------------------------------------------------------------- + +class CD3D12SwapChain : public RHI::ID3D12SwapChain +{ +public: + IDXGISwapChain3 *m_SwapChain; + CGuid m_BufferIndex; + RHI::PD3D12RenderTarget m_RenderTargets[CAAED3D12Context::kFrameCount]; + + CD3D12SwapChain() + : m_SwapChain(null) + { + } + + ~CD3D12SwapChain() + { + if (m_SwapChain != null) + m_SwapChain->Release(); + } + + CGuid BeginFrame() + { + m_BufferIndex = m_SwapChain->GetCurrentBackBufferIndex(); + return m_BufferIndex; + } + + virtual TMemoryView GetD3D12RenderTargets() const + { + return TMemoryView(m_RenderTargets); + } + + virtual TMemoryView GetRenderTargets() const + { + return TMemoryView(GetD3D12RenderTargets()); + } +}; + +//---------------------------------------------------------------------------- + +struct SD3D12PlatformContext +{ + IDXGIFactory4 *m_Factory; + IDXGIAdapter1 *m_HardwareAdapter; + + TArray m_SwapChainsRTs; + + + PFN_D3D12_CREATE_DEVICE m_CreateDeviceFunc; + PFN_D3D12_GET_DEBUG_INTERFACE m_GetDebugInterfaceFunc; + + HMODULE m_D3DModule; + HMODULE m_DXGIModule; + + SD3D12PlatformContext() + : m_Factory(null) + , m_HardwareAdapter(null) +#if USE_DEBUG_DXGI + , m_Debug(null) +#endif + , m_D3DModule(0) + , m_DXGIModule(0) + { + } + + ~SD3D12PlatformContext() + { + if (m_Factory != null) + m_Factory->Release(); + if (m_HardwareAdapter != null) + m_HardwareAdapter->Release(); + if (m_D3DModule != null) + FreeLibrary(m_D3DModule); + if (m_DXGIModule != null) + FreeLibrary(m_DXGIModule); + } +}; + +//---------------------------------------------------------------------------- + +CAAED3D12Context *CAAED3D12Context::m_Instance = null; +bool CAAED3D12Context::m_Once = false; + +//---------------------------------------------------------------------------- + +CAAED3D12Context::CAAED3D12Context() + : m_Context(PK_NEW(SD3D12PlatformContext)) +{ + for (u32 i = 0; i < kFrameCount; ++i) + { + m_Resources[i] = null; + } + m_D3D12Manager = PK_NEW(RHI::CD3D12ApiManager); + m_D3D12Context = PK_NEW(RHI::SD3D12BasicContext); + + m_ApiContext = m_D3D12Context; + m_ApiManager = m_D3D12Manager; +} + +//---------------------------------------------------------------------------- + +CAAED3D12Context::~CAAED3D12Context() +{ + ClearContextSwapchainsRT(); + m_D3D12Manager->SwapChainRemoved(0); + + m_D3D12Manager = null; + m_ApiManager = null; + + if (m_D3D12Context->m_Device != null) + m_D3D12Context->m_Device->Release(); + PK_SAFE_DELETE(m_Context); + m_ApiContext = null; + PK_SAFE_DELETE(m_D3D12Context); + m_Tasks.Clear(); +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::InitIFN() +{ + if (m_Initialized || m_Once) + return true; + m_Initialized = true; + m_Once = true; + + m_WorkerCount = CPopcornFXWorld::Instance().GetWorkerCount() + 1; + m_Tasks.Resize(m_WorkerCount); + + m_ApiManager->InitApi(m_ApiContext); + m_Fence = m_D3D12Manager->CreateFence(RHI::SRHIResourceInfos("Fence")); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::BeginFrame() +{ + if (m_Context->m_SwapChainsRTs.Count() > 0) + m_ApiManager->BeginFrame(m_Context->m_SwapChainsRTs[0]->BeginFrame()); + else + return false; + LogApiError(); + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::EndFrame() +{ + LogApiError(); + + m_FrameCount += 1; + if (m_Context->m_SwapChainsRTs.Count() > 0) + { + RHI::PCommandBuffer cmdBuff = m_ApiManager->CreateCommandBuffer(RHI::SRHIResourceInfos("Command Buffer"), true); + + if (cmdBuff != null) + { + cmdBuff->Start(); + + cmdBuff->ReadBackRenderTarget(m_Context->m_SwapChainsRTs[0]->m_RenderTargets[m_Context->m_SwapChainsRTs[0]->m_BufferIndex], + m_Context->m_SwapChainsRTs[0]->m_ReadbackTextures[m_Context->m_SwapChainsRTs[0]->m_BufferIndex]); + + cmdBuff->Stop(); + m_ApiManager->SubmitCommandBufferDirect(cmdBuff); + } + else + CLog::Log(PK_ERROR, "D3D12: Create command buffer failed"); + } + m_ApiManager->EndFrame(); + //Keep that after the endframe; + m_Fence->Signal(m_FrameCount, m_D3D12Context->m_CommandQueue); + return true; +} + +//---------------------------------------------------------------------------- + +void CAAED3D12Context::LogApiError() +{ +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::CreateDescriptorAllocator() +{ + // Create allocators if not exists or missing + TArray & allocators = m_D3D12Context->m_DescriptorAllocators; + u32 count = allocators.Count(); + if (count < D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES) + { + if (!allocators.Resize(D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES)) + return false; + for (u32 i = 0; i < D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES; ++i) + { + u32 batchCount = (i >= D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER) ? 64u : 8192u; + allocators[i] = PK_NEW(RHI::CD3D12DescriptorAllocator(m_D3D12Context->m_Device, static_cast(i), batchCount)); + if (allocators[i] == null) + return false; + } + } + + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::LoadDynamicLibrary() +{ + PK_ASSERT(m_Context != null); + m_Context->m_D3DModule = ::LoadLibraryA("d3d12.dll"); + if (m_Context->m_D3DModule == null) + return false; + m_Context->m_DXGIModule = ::LoadLibraryA("dxgi.dll"); + if (m_Context->m_DXGIModule == null) + return false; + m_Context->m_CreateDeviceFunc = (PFN_D3D12_CREATE_DEVICE)::GetProcAddress(m_Context->m_D3DModule, "D3D12CreateDevice"); + m_D3D12Context->m_SerializeRootSignatureFunc = (PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)::GetProcAddress(m_Context->m_D3DModule, "D3D12SerializeRootSignature"); + + return m_Context->m_CreateDeviceFunc != null && + m_D3D12Context->m_SerializeRootSignatureFunc != null; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::CreateDevice() +{ + if (!PickHardwareAdapter()) + return false; + if (!PK_D3D_OK(m_Context->m_CreateDeviceFunc(m_Context->m_HardwareAdapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_D3D12Context->m_Device)))) + { + CLog::Log(PK_ERROR, "D3D12: Couldn't create device"); + return false; + } + + D3D12_FEATURE_DATA_FEATURE_LEVELS levelFeature = {}; + const D3D_FEATURE_LEVEL levels[] = + { + D3D_FEATURE_LEVEL_11_0, + D3D_FEATURE_LEVEL_11_1, + D3D_FEATURE_LEVEL_12_0, + D3D_FEATURE_LEVEL_12_1 + }; + levelFeature.NumFeatureLevels = PK_ARRAY_COUNT(levels); + levelFeature.pFeatureLevelsRequested = levels; + m_D3D12Context->m_Device->CheckFeatureSupport(D3D12_FEATURE_FEATURE_LEVELS, &levelFeature, sizeof(levelFeature)); + + if (levelFeature.MaxSupportedFeatureLevel > D3D_FEATURE_LEVEL_11_0) + { + m_D3D12Context->m_Device->Release(); + m_D3D12Context->m_Device = null; + if (!PK_D3D_OK(m_Context->m_CreateDeviceFunc(m_Context->m_HardwareAdapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&m_D3D12Context->m_Device)))) + { + PK_ASSERT_NOT_REACHED_MESSAGE("Internal error when creating d3d12 device."); + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- + +//Duplicate of PK-Samples\PK-SampleLib\ApiContext\D3D\D3D12Context.h::PickHardwareAdapter +bool CAAED3D12Context::PickHardwareAdapter() +{ + IDXGIFactory4 *&factory = m_Context->m_Factory; + IDXGIAdapter1 *&adapter = m_Context->m_HardwareAdapter; + adapter = 0; + HRESULT hres; + for (u32 idx = 0; (hres = factory->EnumAdapters1(idx, &adapter)) != DXGI_ERROR_NOT_FOUND; ++idx) + { + DXGI_ADAPTER_DESC1 desc; + adapter->GetDesc1(&desc); + + if (desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE) + { + // Don't select the Basic Render Driver adapter. + // If you want a software adapter, pass in "/warp" on the command line. + continue; + } + + // Check to see if the adapter supports Direct3D 12, but don't create the + // actual device yet. + HRESULT hr = m_Context->m_CreateDeviceFunc(adapter, D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), null); + if (SUCCEEDED(hr)) + { + return true; + } + } + PK_ASSERT_NOT_REACHED(); + adapter = 0; + return false; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::CreatePlatformContext(void *winHandle, void *deviceContext) +{ + (void)winHandle; + if (m_Once) + return true; + + HDC hdc = (HDC)deviceContext; + + int PixelFormat; + PIXELFORMATDESCRIPTOR pfd; + + ::ZeroMemory(&pfd, sizeof(pfd)); + + pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR); + pfd.nVersion = 1; + pfd.dwFlags = PFD_DRAW_TO_WINDOW; // | PFD_DOUBLEBUFFER; + pfd.iPixelType = PFD_TYPE_RGBA; + pfd.cColorBits = 32; + pfd.cDepthBits = 8; + + PixelFormat = ChoosePixelFormat(hdc, &pfd); + if (PixelFormat == 0) + return false; + if (!SetPixelFormat(hdc, PixelFormat, &pfd)) + return false; + + if (m_Context == null) + return false; + m_D3D12Context->m_Api = RHI::GApi_D3D12; + m_D3D12Context->m_SwapChainCount = 0; + + if (!LoadDynamicLibrary()) + return false; + // If you want to develop with the debug layer on: + // -with DirectX Control panel(accessible via visual studio Debug->Graphics->DirectX Control panel) + // - Click on Scope->Edit List...->Add : AfterFX.exe + // - Then Direct3D / DXGI Debug Layer : Choose the `Force On` Option and voila !You got your debug logs. + +#if 0 + Microsoft::WRL::ComPtr debugController; + + m_Context->m_GetDebugInterfaceFunc = (PFN_D3D12_GET_DEBUG_INTERFACE)::GetProcAddress(m_Context->m_D3DModule, "D3D12GetDebugInterface"); + if (PK_D3D_FAILED(m_Context->m_GetDebugInterfaceFunc(IID_PPV_ARGS(&debugController)))) + return false; + debugController->EnableDebugLayer(); +#endif + + // try grabbing CreateDXGIFactory1: + typedef HRESULT(WINAPI *FnCreateDXGIFactory2)(UINT Flags, REFIID riid, _COM_Outptr_ void **ppFactory); + + FnCreateDXGIFactory2 CreateDXGIFactory2 = (FnCreateDXGIFactory2)::GetProcAddress(m_Context->m_DXGIModule, "CreateDXGIFactory2"); + // if not found, this is not fatal, it will fallback (ie: on vista & xp) + if (CreateDXGIFactory2 == null) + { + CLog::Log(PK_INFO, "DXGI API 'FnCreateDXGIFactory2' not found, cannot create D3D12 context."); + return false; + } + + UINT flags = 0; + if (!PK_D3D_OK(CreateDXGIFactory2(flags, IID_PPV_ARGS(&m_Context->m_Factory)))) + return false; + + if (!CreateDevice()) + return false; + + return CreateCommandQueue() && + CreateDescriptorAllocator();; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::CreateCommandQueue() +{ + D3D12_COMMAND_QUEUE_DESC graphicsCmdQueueDesc = {}; + graphicsCmdQueueDesc.Type = D3D12_COMMAND_LIST_TYPE_DIRECT; + graphicsCmdQueueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT; // Disable TDR for compute + graphicsCmdQueueDesc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL; + + D3D12_COMMAND_QUEUE_DESC copyCmdQueueDesc = {}; + copyCmdQueueDesc.Type = D3D12_COMMAND_LIST_TYPE_COPY; + copyCmdQueueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT; // Disable TDR for compute + copyCmdQueueDesc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL; + + D3D12_COMMAND_QUEUE_DESC computeCmdQueueDesc = {}; + computeCmdQueueDesc.Type = D3D12_COMMAND_LIST_TYPE_COMPUTE; + computeCmdQueueDesc.Flags = D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT; // Disable TDR for compute + computeCmdQueueDesc.Priority = D3D12_COMMAND_QUEUE_PRIORITY_NORMAL; + + return PK_D3D_OK(m_D3D12Context->m_Device->CreateCommandQueue(&graphicsCmdQueueDesc, IID_PPV_ARGS(&m_D3D12Context->m_CommandQueue))) && + PK_D3D_OK(m_D3D12Context->m_Device->CreateCommandQueue(©CmdQueueDesc, IID_PPV_ARGS(&m_D3D12Context->m_CopyCommandQueue))) && + PK_D3D_OK(m_D3D12Context->m_Device->CreateCommandQueue(&computeCmdQueueDesc, IID_PPV_ARGS(&m_D3D12Context->m_ComputeCommandQueue))); +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) +{ + if (m_Context->m_SwapChainsRTs.Count() != 0) + { + ClearContextSwapchainsRT(); + m_D3D12Manager->SwapChainRemoved(0); + } + + CD3D12SwapChainRT *swapchainRT = PK_NEW(CD3D12SwapChainRT()); + const CGuid idx = m_Context->m_SwapChainsRTs.PushBack(swapchainRT); + if (!PK_VERIFY(idx.Valid())) + { + PK_DELETE(swapchainRT); + return false; + } + m_D3D12Context->m_SwapChainCount = 1; + m_D3D12Context->m_SwapChains = TMemoryView(m_Context->m_SwapChainsRTs.ViewForWriting()); + + for (u32 i = 0; i < CAAED3D12Context::kFrameCount; ++i) + { + RHI::PD3D12RenderTarget rt = PK_NEW(RHI::CD3D12RenderTarget(RHI::SRHIResourceInfos("Render Target"))); + if (rt == null) + { + CLog::Log(PK_ERROR, "D3D12Context: CD3D12RenderTarget creation failure"); + return false; + } + ID3D12Resource *resource = null; + D3D12_HEAP_PROPERTIES heapProps = { D3D12_HEAP_TYPE_DEFAULT }; + D3D12_RESOURCE_DESC resDesc = {}; + D3D12_RESOURCE_STATES initialState = (PKRHI_D3D12_SHADER_RESOURCE_STATE); + D3D12_CLEAR_VALUE defaultClearValue; + + resDesc.Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D; + resDesc.Alignment = 0; + resDesc.Width = size.x(); + resDesc.Height = size.y(); + resDesc.DepthOrArraySize = 1; + resDesc.MipLevels = 1; + resDesc.Format = RHI::D3DConversion::PopcornToD3DPixelFormat(format); + resDesc.Flags = D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET; + resDesc.SampleDesc.Count = 1; + resDesc.SampleDesc.Quality = 0; + + defaultClearValue.Format = RHI::D3DConversion::PopcornToD3DPixelFormat(format); + for (u32 c = 0; c < 4; ++c) + defaultClearValue.Color[c] = 0.0f; + + if (PK_D3D_FAILED(m_D3D12Context->m_Device->CreateCommittedResource(&heapProps, D3D12_HEAP_FLAG_NONE, &resDesc, initialState, null, PK_RHI_IID_PPV_ARGS(&resource)))) + { + CLog::Log(PK_ERROR, "D3D12Context: CreateCommittedResource failure"); + m_D3D12Context->m_SwapChainCount = 0; + m_D3D12Context->m_SwapChains = TMemoryView(); + ClearContextSwapchainsRT(); + return false; + } + rt->D3D12SetRenderTarget(resource, format, size.xy(), true, null, RHI::SampleCount1); + m_Resources[i] = resource; + + RHI::PReadBackTexture readbackTex = m_D3D12Manager->CreateReadBackTexture(RHI::SRHIResourceInfos("readback Texture"), rt); + + if (readbackTex == null) + { + CLog::Log(PK_ERROR, "D3D12Context: CreateReadBackTexture failure"); + return false; + } + m_Context->m_SwapChainsRTs[0]->m_RenderTargets[i] = rt; + m_Context->m_SwapChainsRTs[0]->m_ReadbackTextures[i] = CastD3D12(readbackTex); + } + m_D3D12Manager->SwapChainAdded(); + + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::SetAsCurrent(void *deviceContext) +{ + (void)deviceContext; + return true; +} + +//---------------------------------------------------------------------------- + +PRefCountedMemoryBuffer CAAED3D12Context::CreateBufferFromReadBackTexture(RHI::PCReadBackTexture readBackTexture) const +{ + PK_SCOPEDPROFILE(); + + u32 size = RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(readBackTexture->GetFormat()) * readBackTexture->GetSize().x() * readBackTexture->GetSize().y(); + PRefCountedMemoryBuffer rawBuffer = CRefCountedMemoryBuffer::AllocAligned(size); + + if (rawBuffer == null) + { + CLog::Log(PK_ERROR, "D3D12Context: CreateBufferFromReadBackTexture alloc failure"); + return null; + } + + RHI::PCD3D12ReadBackTexture d3dReadBackTex = CastD3D12(readBackTexture); + ID3D12Resource *d3dResource = d3dReadBackTex->D3D12GetResource(); + void *mappedData; + + if (PK_D3D_FAILED(d3dResource->Map(0, null, &mappedData))) + { + CLog::Log(PK_ERROR, "D3D12Context: map failure"); + return null; + } + + const u32 rowcount = d3dReadBackTex->D3D12GetFootprint().m_RowCount; + const u32 rowpitch = d3dReadBackTex->D3D12GetFootprint().m_Footprint.Footprint.RowPitch; + const u64 rowsize = d3dReadBackTex->D3D12GetFootprint().m_RowSizeInBytes; + + for (u32 r = 0; r < rowcount; ++r) + { + Mem::Copy(Mem::AdvanceRawPointer(rawBuffer->Data(), r * rowsize), Mem::AdvanceRawPointer(mappedData, r * rowpitch), rowsize); + } + + d3dResource->Unmap(0, null); + return rawBuffer; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + + PK_SCOPEDPROFILE(); + + { + PK_NAMEDSCOPEDPROFILE("m_Fence->Wait"); + m_Fence->Wait(m_FrameCount); + } + RHI::PReadBackTexture rbTexture = m_Context->m_SwapChainsRTs[0]->m_ReadbackTextures[m_Context->m_SwapChainsRTs[0]->m_BufferIndex]; + if (rbTexture == null) + { + CLog::Log(PK_ERROR, "D3D12Context: No readback texture in swap chain"); + return false; + } + + + { + PK_NAMEDSCOPEDPROFILE("Copy Task Creation And Kick"); + + PRefCountedMemoryBuffer buffer = CreateBufferFromReadBackTexture(rbTexture); + + if (buffer == null) + { + CLog::Log(PK_ERROR, "D3D12Context: Create buffer from readback texture failed"); + return false; + } + + BYTE *sptr = buffer->Data< BYTE>(); + BYTE *dptr = (BYTE*)dstBuffer->Data(); + + const u32 formatSize = RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format); + const u32 widthSize = (formatSize * width); + u32 taskRowNumbers = height / m_WorkerCount; + u32 reminder = height % m_WorkerCount; + TAtomic counter = 0; + Threads::CEvent event; + + for (u32 i = 0; i < m_WorkerCount; ++i) + { + m_Tasks[i] = PK_NEW(CAsynchronousJob_CopyTextureTask); + if (m_Tasks[i] == null) + { + + CLog::Log(PK_ERROR, "D3D12Context: Create task copy texture failed"); + return false; + } + m_Tasks[i]->m_TargetCount = m_WorkerCount; + + m_Tasks[i]->m_Counter = &counter; + m_Tasks[i]->m_EndCB = &event; + + if (i == (m_WorkerCount - 1)) + m_Tasks[i]->m_Height = taskRowNumbers + reminder; + else + m_Tasks[i]->m_Height = taskRowNumbers; + m_Tasks[i]->m_StartOffset = i * taskRowNumbers; + m_Tasks[i]->m_DestinationPtr = dptr; + m_Tasks[i]->m_SourcePtr = sptr; + m_Tasks[i]->m_WidthSize = widthSize; + m_Tasks[i]->m_RowPitch = formatSize * width; + } + + for (u32 i = 1; i < m_WorkerCount; ++i) + { + m_Tasks[i]->AddToPool(Scheduler::ThreadPool()); + } + + Scheduler::ThreadPool()->KickTasks(true); + + m_Tasks[0]->ImmediateExecute(); + + { + PK_NAMEDSCOPEDPROFILE("WaitMergeTask"); + + event.Wait(); + + for (u32 i = 0; i < m_WorkerCount; ++i) + { + if (!m_Tasks[i]->Done()) + i = 0; + } + } + } + return true; +} + +//---------------------------------------------------------------------------- + +bool CAAED3D12Context::FillCompositingTexture(void *srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + + PK_SCOPEDPROFILE(); + + CImageMap image(CUint3(width, height, 1), srcBuffer, RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format) * width * height); + + PK_TODO("Optim: Use GPU Swizzle instead of CPU"); + + RHI::PTexture textureSrc = m_D3D12Manager->CreateTexture(RHI::SRHIResourceInfos("CompositingTexture"), TMemoryView(image), format); + + m_CompositingTexture = textureSrc; + return true; +} + +//---------------------------------------------------------------------------- + +TMemoryView CAAED3D12Context::GetCurrentSwapChain() +{ + if (PK_VERIFY(!m_D3D12Context->m_SwapChains.Empty())) + return m_D3D12Context->m_SwapChains[0]->GetRenderTargets(); + + return TMemoryView(); +} + +//---------------------------------------------------------------------------- + +void CAAED3D12Context::ClearContextSwapchainsRT() +{ + for (u32 i = 0; i < m_Context->m_SwapChainsRTs.Count(); ++i) + { + PK_DELETE(m_Context->m_SwapChainsRTs[i]); + } + m_Context->m_SwapChainsRTs.Clear(); +} + +//---------------------------------------------------------------------------- + +__AEGP_PK_END + +#endif diff --git a/AE_GeneralPlugin/Sources/RenderApi/AEGP_MetalContext.mm b/AE_GeneralPlugin/Sources/RenderApi/AEGP_MetalContext.mm new file mode 100644 index 00000000..0feeda65 --- /dev/null +++ b/AE_GeneralPlugin/Sources/RenderApi/AEGP_MetalContext.mm @@ -0,0 +1,188 @@ +#include "ae_precompiled.h" +#include "RenderApi/AEGP_MetalContext.h" + +#if defined(PK_MACOSX) +#if (PK_BUILD_WITH_METAL_SUPPORT != 0) + +#include "AEGP_World.h" + +#include +#include +#include +#include + +#include + +#include + +#include + +__AEGP_PK_BEGIN + +CAAEMetalContext *CAAEMetalContext::m_Instance = null; + +struct SMetalPlatformContext +{ + RHI::SMetalBasicContext *m_MetalContext; + RHI::CMetalApiManager *m_MetalManager; + RHI::PMetalRenderTarget m_MetalFinalRT; + PKSample::CMetalContext::SFinalBlit m_FinalBlit; + + SMetalPlatformContext() + { + } + + ~SMetalPlatformContext() + { + m_MetalContext = null; + m_MetalManager = null; + } +}; + +CAAEMetalContext::CAAEMetalContext() +: m_Data(null) +{ + m_ApiManager = PK_NEW(RHI::CMetalApiManager); + m_ApiContext = PK_NEW(RHI::SMetalBasicContext); + m_Data = PK_NEW(SMetalPlatformContext); + m_Data->m_MetalContext = static_cast(m_ApiContext); + m_Data->m_MetalManager = static_cast(m_ApiManager.Get()); +} + +CAAEMetalContext::~CAAEMetalContext() +{ + PK_SAFE_DELETE(m_Data); + PK_SAFE_DELETE(m_ApiContext); + m_ApiManager = null; +} + +bool CAAEMetalContext::BeginFrame() +{ + m_ApiManager->BeginFrame(0); + LogApiError(); + return true; +} + +bool CAAEMetalContext::EndFrame() +{ + void *syncRenderData = m_ApiManager->EndFrame(); + if (syncRenderData == null) + return false; + m_LastFrameSyncInfo = reinterpret_cast(syncRenderData); + PKSample::CMetalContext::EndFrame( m_Data->m_MetalContext->m_Queue, + m_Data->m_MetalContext->m_SwapChains, + m_Data->m_FinalBlit, + m_LastFrameSyncInfo, + true, + m_Data->m_MetalFinalRT); + return false; + return true; +} + +void CAAEMetalContext::LogApiError() +{ +} + +bool CAAEMetalContext::InitIFN() +{ + if (m_Initialized) + return true; + m_Initialized = true; + m_ApiContext->m_Api = RHI::GApi_Metal; + id device = MTLCreateSystemDefaultDevice(); + if (!PK_VERIFY(device != null)) + return false; + id queue = [device newCommandQueue]; + if (!PK_VERIFY(queue != null)) + return false; + m_Data->m_MetalContext->m_Device = device; + m_Data->m_MetalContext->m_Queue = queue; + if (!m_Data->m_MetalManager->InitApi(m_Data->m_MetalContext)) + return false; + if (!PKSample::CMetalContext::CreateFinalBlitData(device, m_Data->m_FinalBlit, RHI::FormatFloat32RGBA)) + return false; + return true; +} + +bool CAAEMetalContext::CreateRenderTarget(RHI::EPixelFormat format, CUint3 size) +{ + RHI::PMetalRenderTarget mtlRt = PK_NEW(RHI::CMetalRenderTarget(RHI::SRHIResourceInfos("Render Target"), null)); + + if (!PK_VERIFY(mtlRt != null)) + return false; + if (!PK_VERIFY(mtlRt->MetalCreateRenderTarget(size.xy(), format, true, RHI::SampleCount1, m_Data->m_MetalContext->m_Device))) + return false; + + m_Data->m_MetalFinalRT = PKSample::CMetalContext::MetalCreateRenderTarget(m_Data->m_MetalContext->m_Device, size.xy(), RHI::FormatFloat32RGBA, true); + + if (m_Data->m_MetalContext->m_SwapChainCount != 0) + { + m_Data->m_MetalContext->m_SwapChains.Clear(); + m_Data->m_MetalManager->SwapChainRemoved(0); + } + m_Data->m_MetalContext->m_SwapChains.PushBack().Valid(); + m_Data->m_MetalContext->m_SwapChains.Last().m_RenderTarget = mtlRt; + m_Data->m_MetalContext->m_SwapChainCount = 1; + + if (!m_Data->m_MetalManager->SwapChainAdded()) + return false; + return true; +} + +bool CAAEMetalContext::FillRenderBuffer(PRefCountedMemoryBuffer dstBuffer, RHI::PFrameBuffer srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + (void)srcBuffer; + if (!PK_VERIFY(m_LastFrameSyncInfo != null)) + return false; + + const u32 formatSize = RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format); + const u32 widthSize = (formatSize * width); + const u32 bytesPerImage = RHI::PixelFormatHelpers::GetTextureBufferSize(format, CUint2(width, height)); + u8 *dstBuffBytes = (u8*)dstBuffer->Data(); + id mtlTexture = m_Data->m_MetalFinalRT->MetalGetTexture(); + + PK_ASSERT(dstBuffer->DataSizeInBytes() >= bytesPerImage); + + // Synchronize the command buffer: + { + PK_SCOPEDLOCK(m_LastFrameSyncInfo->m_SwapChainDoneCountLock); + if (m_LastFrameSyncInfo->m_SwapChainDoneCount < m_LastFrameSyncInfo->m_SwapChainToWait) + m_LastFrameSyncInfo->m_CondVar.Wait(m_LastFrameSyncInfo->m_SwapChainDoneCountLock); + m_LastFrameSyncInfo->m_SwapChainDoneCount = 0; + m_LastFrameSyncInfo->m_SwapChainToWait = 0; + } + + [mtlTexture getBytes:dstBuffBytes bytesPerRow:widthSize bytesPerImage:bytesPerImage fromRegion:MTLRegionMake2D(0, 0, width, height) mipmapLevel:0 slice:0]; + return true; +} + +bool CAAEMetalContext::FillCompositingTexture(void *srcBuffer, RHI::EPixelFormat format, u32 width, u32 height, u32 rowLength) +{ + (void)rowLength; + PK_SCOPEDPROFILE(); + + CImageMap image(CUint3(width, height, 1), srcBuffer, RHI::PixelFormatHelpers::PixelFormatToPixelByteSize(format) * width * height); + + RHI::PTexture textureSrc = m_Data->m_MetalManager->CreateTexture(RHI::SRHIResourceInfos("Texture"), TMemoryView(image), format); + + m_CompositingTexture = textureSrc; + return true; +} + +TMemoryView CAAEMetalContext::GetCurrentSwapChain() +{ + return TMemoryView(m_Data->m_MetalContext->m_SwapChains.Last().m_RenderTarget); +} + +bool CAAEMetalContext::CreatePlatformContext(void *window, void *deviceContext) +{ + (void)window; (void)deviceContext; + return true; +} + +__AEGP_PK_END + + +#endif //PK_BUILD_WITH_METAL_SUPPORT != 0 +#endif //PK_MACOSX \ No newline at end of file diff --git a/AE_Suites/PopcornFX_BasePluginInterface.h b/AE_Suites/PopcornFX_BasePluginInterface.h new file mode 100644 index 00000000..c588f829 --- /dev/null +++ b/AE_Suites/PopcornFX_BasePluginInterface.h @@ -0,0 +1,293 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __FX_BASEPLUGININTERFACE_H__ +#define __FX_BASEPLUGININTERFACE_H__ + +#include "PopcornFX_Define.h" +#include "PopcornFX_Suite.h" + +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +const float k_MinFloat = -100000.0f; +const float k_MaxFloat = 100000.0f; + +//---------------------------------------------------------------------------- + +class CBasePluginInterface +{ +public: + virtual ~CBasePluginInterface() { } + +#if defined(PK_WINDOWS) +#pragma warning( push ) +#pragma warning( disable : 4100 ) //Disable unused parameters +#endif + + virtual PF_Err About(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err GlobalSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err ParamsSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err GlobalSetdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err SequenceSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err SequenceReSetup(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err SequenceFlatten(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err SequenceShutdown(SAAEIOData &AAEData, PF_ParamDef *params[], PF_LayerDef *output) { (void)AAEData; (void)params; (void)output; return A_Err_NONE; }; + virtual PF_Err PreRender(SAAEIOData &AAEData) { (void)AAEData; return A_Err_NONE; }; + virtual PF_Err SmartRender(SAAEIOData &AAEData) { (void)AAEData; return A_Err_NONE; }; + virtual PF_Err ParamValueChanged(SAAEIOData &AAEData, PF_ParamDef *params[]) { (void)AAEData; (void)params; return A_Err_NONE; }; + virtual PF_Err UpdateParamsUI(SAAEIOData &AAEData, PF_ParamDef *params[]) { (void)AAEData; (void)params; return A_Err_NONE; }; + virtual PF_Err HandleDataFromAEGP(SAAEIOData &AAEData, PF_ParamDef *params[]) { (void)AAEData; (void)params; return A_Err_NONE; }; + virtual PF_Err QueryDynamicFlags(SAAEIOData &AAEData, PF_ParamDef *params[]) { (void)AAEData; (void)params; return A_Err_NONE; }; + +#if defined(PK_WINDOWS) +#pragma warning( pop ) +#endif + const int *GetParametersIndexes() + { + return m_ParametersIndexes; + }; + + PF_Err SetEffectName(SAAEIOData &AAEData, std::string &name, AEGP_EffectRefH effect = nullptr) + { + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_EffectRefH effectRef = effect; + A_UTF16Char nameUTF[64]; + AEGP_StreamRefH streamRef = nullptr; + AEGP_StreamRefH effectStreamRef = nullptr; + PF_Err result = A_Err_NONE; + + AE_VERIFY(name.size() < 64); + if (effectRef == nullptr) + { + result = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(result == A_Err_NONE)) + return result; + } + + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectRef, 1, &streamRef); + if (!AE_VERIFY(result == A_Err_NONE)) + return result; + CopyCharToUTF16(name.data(), nameUTF); + + result |= suites.DynamicStreamSuite4()->AEGP_GetNewParentStreamRef(m_AAEID, streamRef, &effectStreamRef); + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + streamRef = nullptr; + if (!AE_VERIFY(result == A_Err_NONE)) + return result; + result |= suites.DynamicStreamSuite4()->AEGP_SetStreamName(effectStreamRef, nameUTF); + result |= suites.StreamSuite2()->AEGP_DisposeStream(effectStreamRef); + + effectStreamRef = nullptr; + if (effect == nullptr) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + return result; + } + + PF_Err SetParameterStreamName(SAAEIOData &AAEData, std::string &str, unsigned int index, AEGP_EffectRefH effect = nullptr) + { + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + PF_Err result = PF_Err_NONE; + A_UTF16Char strUTF[256]; + AEGP_StreamRefH streamRef = nullptr; + AEGP_EffectRefH effectRef = effect; + + AE_VERIFY(str.size() < 256); + if (effectRef == nullptr) + { + result = suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(result == A_Err_NONE)) + return result; + } + CopyCharToUTF16(str.data(), strUTF); + + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectRef, index, &streamRef); + result |= suites.DynamicStreamSuite4()->AEGP_SetStreamName(streamRef, strUTF); + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + + AAEData.m_OutData->out_flags |= PF_OutFlag_REFRESH_UI; + if (effect == nullptr) + { + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + } + return result; + } + + PF_Err GetParamsSequenceUID(SAAEIOData &AAEData, std::string &out, unsigned int index, AEGP_EffectRefH effect = nullptr) + { + AEGP_SuiteHandler suites(AAEData.m_InData->pica_basicP); + AEGP_StreamRefH streamRef = nullptr; + AEGP_EffectRefH effectRef = effect; + PF_Err result = PF_Err_NONE; + + AEGP_MemHandle nameHandle; + aechar_t *wname; + + out.clear(); + if (effectRef == nullptr) + { + result |= suites.PFInterfaceSuite1()->AEGP_GetNewEffectForEffect(m_AAEID, AAEData.m_InData->effect_ref, &effectRef); + if (!AE_VERIFY(result == A_Err_NONE)) + return result; + } + result |= suites.StreamSuite2()->AEGP_GetNewEffectStreamByIndex(m_AAEID, effectRef, index, &streamRef); + + result |= suites.StreamSuite5()->AEGP_GetStreamName(m_AAEID, streamRef, false, &nameHandle); + result |= suites.StreamSuite2()->AEGP_DisposeStream(streamRef); + streamRef = nullptr; + + result |= suites.MemorySuite1()->AEGP_LockMemHandle(nameHandle, reinterpret_cast(&wname)); + + WCharToString(wname, &out); + + result |= suites.MemorySuite1()->AEGP_UnlockMemHandle(nameHandle); + result |= suites.MemorySuite1()->AEGP_FreeMemHandle(nameHandle); + + if (effect == nullptr) + result |= suites.EffectSuite4()->AEGP_DisposeEffect(effectRef); + effectRef = nullptr; + return result; + } + + void MakeParamCopy(PF_ParamDef *actual[], PF_ParamDef copy[], A_short arraySize) + { + for (A_short iS = 0; iS < arraySize; ++iS) { + AEFX_CLR_STRUCT(copy[iS]); + copy[iS] = *actual[iS]; + } + } + + PF_Err AddAngleParameter(PF_InData *in_data, const char *name, unsigned int id, float defaultValue = 0.0f, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_ANGLE(name, defaultValue, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddPercentParameter(PF_InData *in_data, const char *name, unsigned int id, int defaultValue = 0, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_PERCENT(name, defaultValue, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddCheckBoxParameter(PF_InData *in_data, const char *name, unsigned int id, bool defaultValue = false, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_CHECKBOX(name, "", defaultValue, flags, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddFloatParameter(PF_InData *in_data, const char *name, unsigned int id, float defaultValue = 0.0f, float min = 0.0f, float max = 0.0f, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_FLOAT_SLIDER(name, min, max, min, max, + 0/*Curve tolerance*/, defaultValue, 2/*float*/, 0/*display_flags*/, 0/*want phase*/, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddFloatParameterUnbound(PF_InData *in_data, const char *name, unsigned int id, float defaultValue = 0.0f, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_FLOAT_SLIDER(name, k_MinFloat, k_MaxFloat, k_MinFloat, k_MaxFloat, + 0/*Curve tolerance*/, defaultValue, 2/*float*/, 0/*display_flags*/, 0/*want phase*/, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddIntParameter(PF_InData *in_data, const char *name, unsigned int id, int defaultValue = 0, int min = 0, int max = 0, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_FLOAT_SLIDER(name, (PF_FpShort)min, (PF_FpShort)max, (PF_FpShort)min, (PF_FpShort)max, + 0/*Curve tolerance*/, defaultValue, 0/*int*/, 0/*display_flags*/, 0/*want phase*/, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err AddIntParameterUnbound(PF_InData *in_data, const char *name, unsigned int id, int defaultValue = 0, PF_ParamFlags flags = 0, PF_ParamUIFlags uiFlags = 0) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + def.flags = flags; + def.ui_flags = uiFlags; + PF_ADD_FLOAT_SLIDER(name, k_MinFloat, k_MaxFloat, k_MinFloat, k_MaxFloat, + 0/*Curve tolerance*/, defaultValue, 0/*int*/, 0/*display_flags*/, 0/*want phase*/, id); + + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err StartParameterCategory(PF_InData *in_data, const char *name, unsigned int id) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + PF_ADD_TOPIC(name, id); + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + + PF_Err EndParameterCategory(PF_InData *in_data, unsigned int id) + { + PF_ParamDef def; + + AEFX_CLR_STRUCT(def); + PF_END_TOPIC(id); + m_ParametersIndexes[id] = ++m_CurrentIndex; + return PF_Err_NONE; + } + +protected: + AEGP_PluginID m_AAEID; + int *m_ParametersIndexes = nullptr; + int m_CurrentIndex = 0; +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif + diff --git a/AE_Suites/PopcornFX_Define.h b/AE_Suites/PopcornFX_Define.h new file mode 100644 index 00000000..1ceae62c --- /dev/null +++ b/AE_Suites/PopcornFX_Define.h @@ -0,0 +1,90 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#include + +//---------------------------------------------------------------------------- + +#if (defined(MACOSX) || defined(__APPLE__) || defined(__apple__) || defined(macosx) || defined(MACOS_X)) && !defined(PK_MACOSX) +# define PK_MACOSX +#elif (defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__win32__)) && !defined(PK_WINDOWS) +# define PK_WINDOWS +#endif + +//---------------------------------------------------------------------------- + +typedef unsigned char u_char; +typedef unsigned short u_short; +typedef unsigned short u_int16; +typedef unsigned long u_long; +typedef short int int16; +typedef float fpshort; + +//---------------------------------------------------------------------------- + +#define __AAEPK_BEGIN namespace AAePk { +#define __AAEPK_END } + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +#define PK_SCALE_DOWN 1 + +#define TEST_COLOR_PROFILE 1 + +#define PF_TABLE_BITS 12 + +#define PF_DEEP_COLOR_AWARE 1 // make sure we get 16bpc pixels; + +#define A_INTERNAL_TEST_ONE 0 + +inline bool ae_verify(bool condition) +{ +#if defined(PK_WINDOWS) + // Only breaks on windows for now + // should add a raise(SIGTRAP) for macos + if (condition == false) + __debugbreak(); +#endif + return condition; +} + +#ifndef AE_STRINGIFY +# define AE_STRINGIFY(s) __AE_STRINGIFY(s) +# define __AE_STRINGIFY(s) # s // don't directly use this one +#endif // !PK_STRINGIFY + +#define AE_MESSAGE(__msg) __pragma(message(__msg)) +#define AE_TODO(__msg) AE_MESSAGE(__FILE__ "(" AE_STRINGIFY(__LINE__) ") /!\\/!\\/!\\/!\\ TODO /!\\/!\\/!\\/!\\ " __msg) + +#define AE_VERIFY(__condition) ae_verify(__condition) + +// sub (shared) context +#ifndef WGL_CONTEXT_MAJOR_VERSION_ARB +#define WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 +#define WGL_CONTEXT_MINOR_VERSION_ARB 0x2092 +#define WGL_CONTEXT_PROFILE_MASK_ARB 0x9126 +#define WGL_CONTEXT_FLAGS_ARB 0x2094 +#define WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002 +#define WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 +#endif + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#include + +/* Versioning information */ +#define AEPOPCORNFX_MAJOR_VERSION PK_VERSION_MAJOR +#define AEPOPCORNFX_MINOR_VERSION PK_VERSION_MINOR +#define AEPOPCORNFX_BUG_VERSION PK_VERSION_PATCH +#define AEPOPCORNFX_STAGE_VERSION PF_Stage_DEVELOP +#include "PopcornFX_Define_Version.h" + +typedef char16_t aechar_t; + +//---------------------------------------------------------------------------- diff --git a/AE_Suites/PopcornFX_Define_Version.h b/AE_Suites/PopcornFX_Define_Version.h new file mode 100644 index 00000000..77c84a57 --- /dev/null +++ b/AE_Suites/PopcornFX_Define_Version.h @@ -0,0 +1,9 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +//---------------------------------------------------------------------------- + +#define AEPOPCORNFX_BUILD_VERSION 1 +#define AEPOPCORNFX_PIPL_VERSION 1150977 //AEPOPCORNFX_MAJOR_VERSION * 524288 + AEPOPCORNFX_MINOR_VERSION * 32768 + AEPOPCORNFX_BUG_VERSION * 2048 + AEPOPCORNFX_STAGE_VERSION * 512 + AEPOPCORNFX_BUILD_VERSION - 1 diff --git a/AE_Suites/PopcornFX_Suite.h b/AE_Suites/PopcornFX_Suite.h new file mode 100644 index 00000000..251df69d --- /dev/null +++ b/AE_Suites/PopcornFX_Suite.h @@ -0,0 +1,1407 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __POPCORNFX_SUITE_H__ +#define __POPCORNFX_SUITE_H__ + +#include "A.h" +#include + +#ifdef AE_OS_WIN +#include +#endif + +#include + +//AE +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "PopcornFX_Define.h" + +#include +#include +#include + +//---------------------------------------------------------------------------- + +#define kPopcornFXSuite1 "AEGP PopcornFX Suite" +#define kPopcornFXSuiteVersion1 1 + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +enum EPKChildPlugins +{ + EMITTER = 0, + ATTRIBUTE, + SAMPLER, + _PLUGIN_COUNT +}; + +#pragma region Emitter + +//---------------------------------------------------------------------------- + +enum EGaussianBlurPixelRadius +{ + GaussianBlurPixelRadius_5 = 1, + GaussianBlurPixelRadius_9, + GaussianBlurPixelRadius_13, + __GaussianBlurPixelRadius_Count = GaussianBlurPixelRadius_13 +}; + +//---------------------------------------------------------------------------- + +enum ELightCategory +{ + ELightCategory_Debug_Default = 1, + ELightCategory_Compo_Default, + ELightCategory_Compo_Custom, + __ELightCategory_Count = ELightCategory_Compo_Custom +}; + +//---------------------------------------------------------------------------- + +enum ETransformType +{ + ETransformType_3D = 1, + ETransformType_2D, + __ETransformType_Count = ETransformType_2D +}; + +//---------------------------------------------------------------------------- + +enum ECameraType +{ + ECameraType_Compo_Default = 1, + ECameraType_Compo_Custom, + __ECameraType_Count = ECameraType_Compo_Custom +}; + +//---------------------------------------------------------------------------- + +enum ERenderType +{ + RenderType_FinalCompositing = 1, + RenderType_Emissive, + RenderType_Albedo, + RenderType_Normal, + RenderType_Depth, + __RenderType_Count = RenderType_Depth +}; + +//---------------------------------------------------------------------------- + +enum EInterpolationType +{ + EInterpolationType_Point = 1, + EInterpolationType_Trilinear, + EInterpolationType_Quadrilinear, + __EInterpolationType_Count = EInterpolationType_Quadrilinear +}; + +//---------------------------------------------------------------------------- + +// Add new effect parameters at the end of this enum +enum EEffectParameterType +{ + Effect_Parameters_InputReserved = 0, + + Effect_Parameters_Infernal_Autorender, + + Effect_Parameters_Path, + Effect_Parameters_Path_Reimport, + + Effect_Parameters_Infernal_Effect_Path_Hash, + + Effect_Topic_Transform_Start, + Effect_Parameters_Position, + Effect_Parameters_Rotation_X, + Effect_Parameters_Rotation_Y, + Effect_Parameters_Rotation_Z, + Effect_Topic_Transform_End, + + Effect_Parameters_Seed, + + + Effect_Topic_Rendering_Start, + + Effect_Parameters_Background_Toggle, + Effect_Parameters_Background_Opacity, + + Effect_Parameters_Render_Type, // PF_ParamFlag_CANNOT_TIME_VARY | PF_ParamFlag_CANNOT_INTERP + + Effect_Topic_Camera_Start, + Effect_Parameters_Camera, + Effect_Parameters_Camera_Position, + Effect_Parameters_Camera_Rotation_X, + Effect_Parameters_Camera_Rotation_Y, + Effect_Parameters_Camera_Rotation_Z, + Effect_Parameters_Camera_FOV, + Effect_Parameters_Camera_Near, + Effect_Parameters_Camera_Far, + Effect_Topic_Camera_End, + + Effect_Parameters_Receive_Light, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + + Effect_Topic_PostFX_Start, + Effect_Topic_Distortion_Start, + Effect_Parameters_Distortion_Enable, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Topic_Distortion_End, + + Effect_Topic_Bloom_Start, + Effect_Parameters_Bloom_Enable, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Parameters_Bloom_BrightPassValue, + Effect_Parameters_Bloom_Intensity, + Effect_Parameters_Bloom_Attenuation, + Effect_Parameters_Bloom_GaussianBlur, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Parameters_Bloom_RenderPassCount, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Topic_Bloom_End, + + Effect_Topic_ToneMapping_Start, + Effect_Parameters_ToneMapping_Enable, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Parameters_ToneMapping_Saturation, + Effect_Parameters_ToneMapping_Exposure, + Effect_Topic_ToneMapping_End, + Effect_Topic_PostFX_End, + + Effect_Topic_Rendering_End, + + Effect_Topic_BackdropMesh_Start, + Effect_Parameters_BackdropMesh_Enable_Rendering, + Effect_Parameters_BackdropMesh_Enable_Collisions, + Effect_Parameters_BackdropMesh_Path, + Effect_Parameters_BackdropMesh_Reset, + + Effect_Topic_BackdropMesh_Transform_Start, + Effect_Parameters_BackdropMesh_Position, + Effect_Parameters_BackdropMesh_Rotation_X, + Effect_Parameters_BackdropMesh_Rotation_Y, + Effect_Parameters_BackdropMesh_Rotation_Z, + Effect_Parameters_BackdropMesh_Scale_X, + Effect_Parameters_BackdropMesh_Scale_Y, + Effect_Parameters_BackdropMesh_Scale_Z, + Effect_Topic_BackdropMesh_Transform_End, + Effect_Parameters_BackdropMesh_Roughness, + Effect_Parameters_BackdropMesh_Metalness, + Effect_Topic_BackdropMesh_End, + + Effect_Topic_BackdropEnvMap_Start, + Effect_Parameters_BackdropEnvMap_Enable_Rendering, + Effect_Parameters_BackdropEnvMap_Path, + Effect_Parameters_BackdropEnvMap_Reset, + Effect_Parameters_BackdropEnvMap_Intensity, + Effect_Parameters_BackdropEnvMap_Color, + Effect_Topic_BackdropEnvMap_End, + + Effect_Topic_Light_Start, + Effect_Parameters_Light_Category, + Effect_Parameters_Light_Direction, + Effect_Parameters_Light_Intensity, + Effect_Parameters_Light_Color, + Effect_Parameters_Light_Ambient, + Effect_Topic_Light_End, + + Effect_Parameters_Scale_Factor, + Effect_Parameters_Refresh_Render, + + Effect_Parameters_Seeking_Toggle, + Effect_Parameters_Simulation_State, + + Effect_Parameters_BackdropMesh_Enable_Animation, + + Effect_Topic_FXAA_Start, + Effect_Parameters_FXAA_Enable, // PF_ParamFlag_CANNOT_TIME_VARY || PF_ParamFlag_CANNOT_INTERP + Effect_Topic_FXAA_End, + + Effect_Parameters_Path_Marketplace, + + Effect_Parameters_TransformType, + Effect_Parameters_Position_2D, + Effect_Parameters_Position_2D_Distance, + + Effect_Topic_BackdropAudio_Start, + Effect_Parameters_Audio, + Effect_Topic_BackdropAudio_End, + + Effect_Parameters_BringEffectIntoView, + __Effect_Parameters_Count +}; + +//---------------------------------------------------------------------------- + +struct SPostFXDistortionDesc +{ + bool m_Enable; +}; + +//---------------------------------------------------------------------------- + +struct SPostFXBloomDesc +{ + bool m_Enable; + float m_BrightPassValue; + float m_Intensity; + float m_Attenuation; + EGaussianBlurPixelRadius m_GaussianBlur; + int m_RenderPassCount; +}; + +//---------------------------------------------------------------------------- + +struct SPostFXToneMappingDesc +{ + bool m_Enable; + + float m_Saturation; + float m_Exposure; +}; + +//---------------------------------------------------------------------------- + +struct SPostFXAADesc +{ + bool m_Enable; +}; + +//---------------------------------------------------------------------------- + +struct SRenderingDesc +{ + ERenderType m_Type; + bool m_ReceiveLight; + + SPostFXDistortionDesc m_Distortion; + SPostFXBloomDesc m_Bloom; + SPostFXToneMappingDesc m_ToneMapping; + SPostFXAADesc m_FXAA; +}; + +//---------------------------------------------------------------------------- + +struct SLightDesc +{ + bool m_Internal = true; + ELightCategory m_Category; + + A_FloatPoint3 m_Direction; + A_FloatPoint3 m_Position; + A_FloatPoint3 m_Color; + A_FloatPoint3 m_Ambient; + float m_Intensity; + float m_Angle; + float m_Feather; + + AEGP_LightType m_Type; +}; + +//---------------------------------------------------------------------------- + +struct SCameraDesc +{ + bool m_Internal = false; + bool m_AECameraPresent = false; + + A_FloatPoint3 m_Position; + A_FloatPoint3 m_Rotation; + + float m_FOV; + float m_Near = 0.1f; + float m_Far = 1000; + +}; + +//---------------------------------------------------------------------------- + +struct SBackdropMesh +{ + std::string m_Path; + + bool m_EnableRendering; + bool m_EnableCollisions; + bool m_EnableAnimations; + + A_FloatPoint3 m_Position; + A_FloatPoint3 m_Rotation; + A_FloatPoint3 m_Scale; + + float m_Roughness; + float m_Metalness; +}; + +//---------------------------------------------------------------------------- + +struct SBackdropEnvironmentMap +{ + std::string m_Path; + + bool m_EnableRendering = false; + + float m_Intensity; + A_FloatPoint3 m_Color; + +}; + +//---------------------------------------------------------------------------- + +enum EEmitterEffectGenericCall : int +{ + EmitterDesc = 0, + GetEmitterInfos +}; + + +//---------------------------------------------------------------------------- + +struct SGetEmitterInfos +{ + const EEmitterEffectGenericCall m_Type = EEmitterEffectGenericCall::GetEmitterInfos; + char m_Name[1024]; + char m_PathSource[1024]; +}; + +//---------------------------------------------------------------------------- + +struct SEmitterDesc +{ + const EEmitterEffectGenericCall m_Type = EEmitterEffectGenericCall::EmitterDesc; + static int s_ID; +public: + std::string m_Name; + std::string m_PathSource; + std::string m_UUID; + + ETransformType m_TransformType; + A_FloatPoint3 m_Position; + A_FloatPoint3 m_Rotation; + + bool m_IsAlphaBGOverride; + float m_AlphaBGOverride; + + int m_Seed = 0; + + SCameraDesc m_Camera; + SRenderingDesc m_Rendering; + + SBackdropMesh m_BackdropMesh; + SBackdropEnvironmentMap m_BackdropEnvironmentMap; + + SLightDesc m_Light; + + float m_ScaleFactor = 1; + + bool m_Update; + bool m_UpdateBackdrop = true; + bool m_LoadBackdrop = false; + int m_DebugID; + + A_long m_LayerID; + bool m_IsDeleted = false; + bool m_ReloadEffect = false; + + bool m_SimStatePrev = true; + bool m_SimState = true; + + SEmitterDesc() + { + SEmitterDesc::s_ID++; + m_DebugID = SEmitterDesc::s_ID; + m_Position.x = 0; + m_Position.y = 0; + m_Position.z = 0; + + m_Rotation.x = 0; + m_Rotation.y = 0; + m_Rotation.z = 0; + + m_IsAlphaBGOverride = false; + m_AlphaBGOverride = 1.0f; + m_LayerID = 0; + } +}; + +//---------------------------------------------------------------------------- + +#pragma region AttributeSampler + +enum ESamplerShapeType : int +{ + SamplerShapeType_Box = 0, + SamplerShapeType_Sphere, + SamplerShapeType_Ellipsoid, + SamplerShapeType_Cylinder, + SamplerShapeType_Capsule, + SamplerShapeType_Cone, + SamplerShapeType_Mesh, + + SamplerShapeType_None, + __SamplerShapeType_Count = SamplerShapeType_Mesh +}; + +//---------------------------------------------------------------------------- + +struct SBaseSamplerDescriptor +{ + uint32_t m_UsageFlags = 0; +}; + +//---------------------------------------------------------------------------- + +struct SShapeSamplerDescriptor : public SBaseSamplerDescriptor +{ + ESamplerShapeType m_Type; + + float m_Dimension[3]; + + std::string m_Path; + + //Skinned Backdrop + bool m_BindToBackdrop; + bool m_WeightedSampling; + unsigned int m_ColorStreamID; + unsigned int m_WeightStreamID; + + SShapeSamplerDescriptor() + : m_Type(SamplerShapeType_None) + , m_BindToBackdrop(false) + , m_WeightedSampling(false) + , m_ColorStreamID(0) + , m_WeightStreamID(0) + + { + m_Dimension[0] = 1.0f; + m_Dimension[1] = 1.0f; + m_Dimension[2] = 1.0f; + } +}; + +//---------------------------------------------------------------------------- + +struct STextSamplerDescriptor : public SBaseSamplerDescriptor +{ + AEGP_LayerIDVal m_LayerID = AEGP_LayerIDVal_NONE; + std::string m_Data; +}; + +//---------------------------------------------------------------------------- + +struct SAudioSamplerDescriptor : public SBaseSamplerDescriptor +{ + AEGP_LayerIDVal m_LayerID = AEGP_LayerIDVal_NONE; + + std::string m_ChannelGroup = ""; +}; + +//---------------------------------------------------------------------------- + +struct SImageSamplerDescriptor : public SBaseSamplerDescriptor +{ + AEGP_LayerIDVal m_LayerID = AEGP_LayerIDVal_NONE; +}; + +//---------------------------------------------------------------------------- + +struct SVectorFieldSamplerDescriptor : public SBaseSamplerDescriptor +{ + std::string m_Path; + + EInterpolationType m_Interpolation; + float m_Strength; + A_FloatPoint3 m_Position; + + bool m_ResourceUpdate; +}; + +//---------------------------------------------------------------------------- + +enum EAttributeSamplerType : int +{ + AttributeSamplerType_None = 0, + AttributeSamplerType_Animtrack, + AttributeSamplerType_Audio, + AttributeSamplerType_Curve, + AttributeSamplerType_EventStream, + AttributeSamplerType_Geometry, + AttributeSamplerType_Image, + AttributeSamplerType_ImageAtlas, + AttributeSamplerType_Grid, + AttributeSamplerType_Text, + AttributeSamplerType_VectorField, + __AttributeSamplerType_Count, +}; + +//---------------------------------------------------------------------------- + +enum EAttributeSamplerParameterType : int +{ + AttributeSamplerType_Parameters_Infernal_Uuid = 1, + AttributeSamplerType_Parameters_Infernal_Name, + AttributeSamplerType_Parameters_Shapes, + + AttributeSamplerType_Topic_Shape_Start, + + AttributeSamplerType_Topic_Shape_Box_Start, + AttributeSamplerType_Parameters_Box_Size_X, + AttributeSamplerType_Parameters_Box_Size_Y, + AttributeSamplerType_Parameters_Box_Size_Z, + AttributeSamplerType_Topic_Shape_Box_End, + + AttributeSamplerType_Topic_Shape_Sphere_Start, + AttributeSamplerType_Parameters_Sphere_Radius, + AttributeSamplerType_Parameters_Sphere_InnerRadius, + AttributeSamplerType_Topic_Shape_Sphere_End, + + AttributeSamplerType_Topic_Shape_Ellipsoid_Start, + AttributeSamplerType_Parameters_Ellipsoid_Radius, + AttributeSamplerType_Parameters_Ellipsoid_InnerRadius, + AttributeSamplerType_Topic_Shape_Ellipsoid_End, + + AttributeSamplerType_Topic_Shape_Cylinder_Start, + AttributeSamplerType_Parameters_Cylinder_Radius, + AttributeSamplerType_Parameters_Cylinder_Height, + AttributeSamplerType_Parameters_Cylinder_InnerRadius, + AttributeSamplerType_Topic_Shape_Cylinder_End, + + AttributeSamplerType_Topic_Shape_Capsule_Start, + AttributeSamplerType_Parameters_Capsule_Radius, + AttributeSamplerType_Parameters_Capsule_Height, + AttributeSamplerType_Parameters_Capsule_InnerRadius, + AttributeSamplerType_Topic_Shape_Capsule_End, + + AttributeSamplerType_Topic_Shape_Cone_Start, + AttributeSamplerType_Parameters_Cone_Radius, + AttributeSamplerType_Parameters_Cone_Height, + AttributeSamplerType_Topic_Shape_Cone_End, + + AttributeSamplerType_Topic_Shape_Mesh_Start, + AttributeSamplerType_Parameters_Mesh_Scale, + AttributeSamplerType_Parameters_Mesh_Path, + AttributeSamplerType_Parameters_Mesh_Bind_Backdrop, + AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_Weighted_Enabled, + AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_ColorStreamID, + AttributeSamplerType_Parameters_Mesh_Bind_Backdrop_WeightStreamID, + AttributeSamplerType_Topic_Shape_Mesh_End, + + AttributeSamplerType_Topic_Shape_End, + + AttributeSamplerType_Layer_Pick, + + AttributeSamplerType_Layer_Sample_Once, + AttributeSamplerType_Layer_Sample_Seeking, + + AttributeSamplerType_Parameters_VectorField_Path, + AttributeSamplerType_Parameters_VectorField_Strength, + AttributeSamplerType_Parameters_VectorField_Position, + AttributeSamplerType_Parameters_VectorField_Interpolation, + + AttributeSamplerType_Layer_Sample_Downsampling_X, + AttributeSamplerType_Layer_Sample_Downsampling_Y, + + __AttributeSamplerType_Parameters_Count +}; + +//---------------------------------------------------------------------------- + +struct SAttributeBaseDesc +{ + unsigned int m_Order; + bool m_IsAttribute; + + std::string m_Name; + std::string m_CategoryName; + + bool m_IsDeleted = false; + + SAttributeBaseDesc() + : m_Order(0) + , m_IsAttribute(false) + , m_Name("") + , m_CategoryName("") + { + + } + + SAttributeBaseDesc(const SAttributeBaseDesc &other) + : m_Order(other.m_Order) + , m_Name(other.m_Name) + , m_CategoryName(other.m_CategoryName) + , m_IsDeleted(other.m_IsDeleted) + { + } + + SAttributeBaseDesc &operator=(const SAttributeBaseDesc &other) + { + m_Name = other.m_Name; + m_CategoryName = other.m_CategoryName; + + return *this; + } + + std::string GetAttributePKKey() + { + std::string key = ""; + if (m_CategoryName.length() != 0) + { + key += m_CategoryName; + key += ":"; + } + key += m_Name; + return key; + } +}; + +//---------------------------------------------------------------------------- + +struct SAttributeSamplerDesc : public SAttributeBaseDesc +{ +public: + EAttributeSamplerType m_Type; + SBaseSamplerDescriptor *m_Descriptor = nullptr; + std::string m_ResourcePath = ""; + bool m_IsDefaultValue = true; + + SAttributeSamplerDesc(const char* name = nullptr, const char* category = nullptr, EAttributeSamplerType type = AttributeSamplerType_None) + : m_Type(type) + { + m_Name = name == nullptr ? "" : name; + m_CategoryName = category == nullptr ? "" : category; + } + + SAttributeSamplerDesc(const SAttributeSamplerDesc &other) + : SAttributeBaseDesc(other) + , m_Type(other.m_Type) + , m_Descriptor(other.m_Descriptor) + , m_IsDefaultValue(other.m_IsDefaultValue) + { + if(m_ResourcePath.length() == 0) + m_ResourcePath = (other.m_ResourcePath); + } + + SAttributeSamplerDesc &operator=(const SAttributeSamplerDesc &other) + { + m_Name = other.m_Name; + m_CategoryName = other.m_CategoryName; + m_Type = other.m_Type; + m_Descriptor = other.m_Descriptor; + m_IsDeleted = other.m_IsDeleted; + m_IsDefaultValue = other.m_IsDefaultValue; + + if (m_ResourcePath.length() == 0) + m_ResourcePath = (other.m_ResourcePath); + + return *this; + } +}; + +#pragma endregion + +//---------------------------------------------------------------------------- +#pragma region Attribute + +enum EAttributeType : int +{ + AttributeType_None = 0, + AttributeType_Bool1, + AttributeType_Bool2, + AttributeType_Bool3, + AttributeType_Bool4, + AttributeType_Int1, + AttributeType_Int2, + AttributeType_Int3, + AttributeType_Int4, + AttributeType_Float1, + AttributeType_Float2, + AttributeType_Float3, + AttributeType_Float4, + __AttributeType_Count, +}; + +//---------------------------------------------------------------------------- + +enum EAttributeParameterType : int +{ + Attribute_Parameters_Bool1 = 1, + Attribute_Parameters_Bool2, + Attribute_Parameters_Bool3, + Attribute_Parameters_Bool4, + Attribute_Parameters_Int1, + Attribute_Parameters_Int2, + Attribute_Parameters_Int3, + Attribute_Parameters_Int4, + Attribute_Parameters_Float1, + Attribute_Parameters_Float2, + Attribute_Parameters_Float3, + Attribute_Parameters_Float4, + Attribute_Parameters_Infernal_Uuid, + Attribute_Parameters_AffectedByScale, + Attribute_Parameters_Infernal_Name, + Attribute_Parameters_Color_RGB, + Attribute_Parameters_Color_A, + Attribute_Parameters_Reset, + __Attribute_Parameters_Count +}; + +//---------------------------------------------------------------------------- + +enum EAttributeSemantic : int +{ + AttributeSemantic_None = 0, + AttributeSemantic_Coordinate, + AttributeSemantic_Scale, + AttributeSemantic_Color, + __AttributeSemantic_Count +}; + +//---------------------------------------------------------------------------- + +union UAttributeValue +{ + void *m_Invalid; + bool m_Bool4[4]; + int m_Int4[4]; + float m_Float4[4]; + float m_Angles[3]; +}; + +//---------------------------------------------------------------------------- + +struct SAttributeDesc : public SAttributeBaseDesc +{ +public: + EAttributeType m_Type; + EAttributeSemantic m_AttributeSemantic; + + UAttributeValue m_DefaultValue; + + UAttributeValue m_MinValue; + UAttributeValue m_MaxValue; + + bool m_HasMax = false; + bool m_HasMin = false; + + UAttributeValue m_Value; + bool m_IsValid; + bool m_IsDirty; + + std::mutex m_Lock; +public: + bool m_IsDefaultValue = true; + bool m_IsAffectedByScale = false; + + SAttributeDesc(const char* name = nullptr, const char* category = nullptr, EAttributeType type = AttributeType_None, EAttributeSemantic semantic = EAttributeSemantic::AttributeSemantic_None) + : m_Type(type) + , m_AttributeSemantic(semantic) + , m_DefaultValue() + , m_MinValue() + , m_MaxValue() + , m_Value() + , m_IsValid(true) + , m_IsDirty(true) + { + m_IsAttribute = true; + m_Name = name == nullptr ? "" : name; + m_CategoryName = category == nullptr ? "" : category; + } + + SAttributeDesc(const SAttributeDesc &other) + : SAttributeBaseDesc(other) + , m_Type(other.m_Type) + , m_AttributeSemantic(other.m_AttributeSemantic) + , m_DefaultValue(other.m_DefaultValue) + , m_MinValue(other.m_MinValue) + , m_MaxValue(other.m_MaxValue) + , m_HasMax(other.m_HasMax) + , m_HasMin(other.m_HasMin) + , m_Value(other.m_Value) + , m_IsValid(other.m_IsValid) + , m_IsDirty(true) + , m_IsDefaultValue(other.m_IsDefaultValue) + { + + } + + ~SAttributeDesc() + { + + } + + SAttributeDesc& operator=(const SAttributeDesc &other) + { + m_Name = other.m_Name; + m_CategoryName = other.m_CategoryName; + m_Type = other.m_Type; + m_AttributeSemantic = other.m_AttributeSemantic; + + m_HasMin = other.m_HasMin; + m_HasMax = other.m_HasMax; + + m_MinValue = other.m_MinValue; + m_MaxValue = other.m_MaxValue; + + if (m_IsDefaultValue == true) + { + m_Value = other.m_Value; + m_IsDefaultValue = other.m_IsDefaultValue; + } + m_DefaultValue = other.m_DefaultValue; + m_IsDirty = true; + m_IsValid = other.m_IsValid; + m_IsDeleted = other.m_IsDeleted; + return *this; + } + + void Invalidate() + { + m_IsValid = false; + } + + bool isValid() + { + return m_IsValid; + } + + bool ResetValues() + { + m_Lock.lock(); + memcpy(&m_Value, &m_DefaultValue, sizeof(UAttributeValue)); + m_IsDirty = true; + m_IsDefaultValue = true; + m_Lock.unlock(); + + return true; + } + + template + void SetDefaultValue(T *value) + { + return _SetValueImpl(value, m_DefaultValue, true); + } + + template + void GetDefaultValue(T *value) + { + return _GetValueImpl(value, m_DefaultValue); + } + + template + void GetDefaultValueByType(EAttributeType type, T *value) + { + _GetValueByTypeImpl(type, value, m_DefaultValue); + } + + template + void SetValue(T *value) + { + return _SetValueImpl(value, m_Value); + } + + template + void GetValue(T *value) + { + return _GetValueImpl(value, m_Value); + } + + template + void GetValueByType(EAttributeType type, T *value) + { + _GetValueByTypeImpl(type, value, m_Value); + } + + void *GetRawValue() + { + return _GetRawValueImpl(m_Value); + } + + void GetValueAsStreamValue(EAttributeType type, AEGP_StreamValue *value) + { + _GetValueAsStreamValueImpl(type, value, m_Value); + } + + template + void SetMinValue(T *value) + { + return _SetValueImpl(value, m_MinValue); + } + + template + void GetMinValueByType(EAttributeType type, T *value) + { + _GetValueByTypeImpl(type, value, m_MinValue); + } + + template + void SetMaxValue(T *value) + { + return _SetValueImpl(value, m_MaxValue); + } + + template + void GetMaxValueByType(EAttributeType type, T *value) + { + _GetValueByTypeImpl(type, value, m_MaxValue); + } + + void Reset() + { + m_IsDirty = true; + m_IsValid = false; + m_Value = {}; + m_Name = ""; + m_CategoryName = ""; + m_Type = AttributeType_None; + m_AttributeSemantic = EAttributeSemantic::AttributeSemantic_None; + } +private: + template + void _SetValueImpl(T *value, UAttributeValue &field, bool isDefault = false) + { + m_Lock.lock(); + switch (m_Type) + { + case AttributeType_Bool4: + case AttributeType_Bool3: + case AttributeType_Bool2: + case AttributeType_Bool1: + memcpy(field.m_Bool4, value, sizeof(bool) * 4); + break; + case AttributeType_Int4: + case AttributeType_Int3: + case AttributeType_Int2: + case AttributeType_Int1: + memcpy(field.m_Int4, value, sizeof(int) * 4); + break; + case AttributeType_Float4: + case AttributeType_Float3: + case AttributeType_Float2: + case AttributeType_Float1: + memcpy(field.m_Float4, value, sizeof(float) * 4); + break; + default: + m_IsValid = false; + AE_VERIFY(false); + break; + } + m_IsDirty = true; + m_IsDefaultValue = isDefault; + m_Lock.unlock(); + } + + template + void _GetValueByTypeImpl(EAttributeType type, T *value, UAttributeValue &field) + { + m_Lock.lock(); + switch (type) + { + case AttributeType_Bool4: + *value = (T)field.m_Bool4[3]; + break; + case AttributeType_Bool3: + *value = (T)field.m_Bool4[2]; + break; + case AttributeType_Bool2: + *value = (T)field.m_Bool4[1]; + break; + case AttributeType_Bool1: + *value = (T)field.m_Bool4[0]; + break; + case AttributeType_Int4: + *value = (T)field.m_Int4[3]; + break; + case AttributeType_Int3: + *value = (T)field.m_Int4[2]; + break; + case AttributeType_Int2: + *value = (T)field.m_Int4[1]; + break; + case AttributeType_Int1: + *value = (T)field.m_Int4[0]; + break; + case AttributeType_Float4: + *value = (T)field.m_Float4[3]; + break; + case AttributeType_Float3: + *value = (T)field.m_Float4[2]; + break; + case AttributeType_Float2: + *value = (T)field.m_Float4[1]; + break; + case AttributeType_Float1: + *value= (T)field.m_Float4[0]; + break; + default: + m_IsValid = false; + AE_VERIFY(false); + break; + } + m_Lock.unlock(); + } + + void _GetValueAsStreamValueImpl(EAttributeType type, AEGP_StreamValue *value, UAttributeValue &field) + { + m_Lock.lock(); + switch (type) + { + case AttributeType_Bool4: + value->val.one_d = field.m_Bool4[3]; + break; + case AttributeType_Bool3: + value->val.one_d = field.m_Bool4[2]; + break; + case AttributeType_Bool2: + value->val.one_d = field.m_Bool4[1]; + break; + case AttributeType_Bool1: + value->val.one_d = field.m_Bool4[0]; + break; + case AttributeType_Int4: + value->val.one_d = field.m_Int4[3]; + break; + case AttributeType_Int3: + value->val.one_d = field.m_Int4[2]; + break; + case AttributeType_Int2: + value->val.one_d = field.m_Int4[1]; + break; + case AttributeType_Int1: + value->val.one_d = field.m_Int4[0]; + break; + case AttributeType_Float4: + value->val.one_d = field.m_Float4[3]; + break; + case AttributeType_Float3: + value->val.one_d = field.m_Float4[2]; + break; + case AttributeType_Float2: + value->val.one_d = field.m_Float4[1]; + break; + case AttributeType_Float1: + value->val.one_d = field.m_Float4[0]; + break; + default: + m_IsValid = false; + AE_VERIFY(false); + break; + } + m_Lock.unlock(); + } + + template + void _GetValueImpl(T *value, UAttributeValue &field) + { + m_Lock.lock(); + switch (m_Type) + { + case AttributeType_Bool4: + value[3] = field.m_Bool4[3]; + case AttributeType_Bool3: + value[2] = field.m_Bool4[2]; + case AttributeType_Bool2: + value[1] = field.m_Bool4[1]; + case AttributeType_Bool1: + value[0] = field.m_Bool4[0]; + break; + case AttributeType_Int4: + value[3] = (T)field.m_Int4[3]; + case AttributeType_Int3: + value[2] = (T)field.m_Int4[2]; + case AttributeType_Int2: + value[1] = (T)field.m_Int4[1]; + case AttributeType_Int1: + value[0] = (T)field.m_Int4[0]; + break; + case AttributeType_Float4: + value[3] = field.m_Float4[3]; + case AttributeType_Float3: + value[2] = field.m_Float4[2]; + case AttributeType_Float2: + value[1] = field.m_Float4[1]; + case AttributeType_Float1: + value[0] = field.m_Float4[0]; + break; + default: + m_IsValid = false; + AE_VERIFY(false); + break; + } + m_Lock.unlock(); + } + + void *_GetRawValueImpl(UAttributeValue &field) + { + m_Lock.lock(); + + void* result = nullptr; + switch (m_Type) + { + case AttributeType_Bool4: + case AttributeType_Bool3: + case AttributeType_Bool2: + case AttributeType_Bool1: + result = (void*)&field.m_Bool4; + break; + case AttributeType_Int4: + case AttributeType_Int3: + case AttributeType_Int2: + case AttributeType_Int1: + result = (void*)&field.m_Int4; + break; + case AttributeType_Float4: + case AttributeType_Float3: + case AttributeType_Float2: + case AttributeType_Float1: + result = (void*)&field.m_Float4; + break; + default: + AE_VERIFY(false); + break; + } + m_Lock.unlock(); + return result; + } +}; + +#pragma endregion + +//---------------------------------------------------------------------------- + +union SAAEExtraData +{ + SAAEExtraData(PF_Cmd Cmd, void *data) + { + switch (Cmd) + { + case PF_Cmd_SMART_PRE_RENDER: + m_PreRenderData = reinterpret_cast(data); + break; + case PF_Cmd_SMART_RENDER: + m_SmartRenderData = reinterpret_cast(data); + break; + case PF_Cmd_USER_CHANGED_PARAM: + m_ChangeParamData = reinterpret_cast(data); + break; + default: + m_UndefinedData = data; + break; + } + } + PF_SmartRenderExtra *m_SmartRenderData; + PF_PreRenderExtra *m_PreRenderData; + PF_UserChangedParamExtra *m_ChangeParamData; + void *m_UndefinedData; +}; + +//---------------------------------------------------------------------------- + +struct SAAEIOData +{ + SAAEIOData(PF_Cmd Cmd, PF_InData *InData, PF_OutData *OutData, void *data, const int *paramIndexes) + : m_Cmd(Cmd) + , m_InData(InData) + , m_OutData(OutData) + , m_ExtraData(Cmd, data) + , m_WorldSuite(nullptr) + , m_ReturnCode(PF_Err_NONE) + , m_ParametersIndexes(paramIndexes) + { + if (m_InData && m_OutData) + { + AEFX_AcquireSuite( m_InData, + m_OutData, + kPFWorldSuite, + kPFWorldSuiteVersion2, + "Couldn't load suite.", + (void**)&m_WorldSuite); + } + }; + ~SAAEIOData() + { + if (m_InData && m_OutData) + { + AEFX_ReleaseSuite( m_InData, + m_OutData, + kPFWorldSuite, + kPFWorldSuiteVersion2, + "Couldn't release suite."); + } + m_WorldSuite = nullptr; + }; + + PF_Cmd m_Cmd; + + PF_InData *m_InData; + PF_OutData *m_OutData; + + SAAEExtraData m_ExtraData; + + PF_WorldSuite2 *m_WorldSuite; + + PF_Err m_ReturnCode; + + const int *m_ParametersIndexes; +}; + +//---------------------------------------------------------------------------- + +struct SAAEScopedParams +{ + PF_ParamDef m_ParamData; + PF_InData *m_InData; + + SAAEScopedParams(SAAEIOData& AAEData, A_u_long type) : + m_InData(AAEData.m_InData) + { + AEFX_CLR_STRUCT(m_ParamData); + int idx = (AAEData.m_ParametersIndexes != nullptr) ? AAEData.m_ParametersIndexes[type] : type; + PF_CHECKOUT_PARAM( m_InData, + idx, + m_InData->current_time, + m_InData->time_step, + m_InData->time_scale, + &m_ParamData); + } + ~SAAEScopedParams() + { + PF_CHECKIN_PARAM(m_InData, &m_ParamData); + m_InData = nullptr; + } + + PF_ParamDef &GetRawParam() { return m_ParamData; } + float GetAngle() const { return (float)m_ParamData.u.ad.value / 65536.0f; } + float GetFloat() const { return (float)m_ParamData.u.fs_d.value; } + float GetPercent() const { return (float)m_ParamData.u.fd.value / (float)m_ParamData.u.fd.valid_max; } + int GetInt() const { return (int)m_ParamData.u.fs_d.value; } + int GetComboBoxValue() const { return (int)m_ParamData.u.pd.value; } + bool GetCheckBoxValue() const { return (bool)m_ParamData.u.bd.value; } + PF_LayerDef GetLayer() const { return (PF_LayerDef)m_ParamData.u.ld; } + A_FloatPoint3 GetPoint3D() const + { + A_FloatPoint3 position = {(float)m_ParamData.u.point3d_d.x_value * m_InData->downsample_x.den, + (float)m_ParamData.u.point3d_d.y_value * m_InData->downsample_y.den, + (float)m_ParamData.u.point3d_d.z_value * ::sqrt(m_InData->downsample_x.den * m_InData->downsample_y.den)}; + return position; + } + A_FloatPoint GetPoint2D() const + { + A_FloatPoint position = { (float)m_ParamData.u.td.x_value * m_InData->downsample_x.den, + (float)m_ParamData.u.td.y_value * m_InData->downsample_y.den }; + return position; + } + A_FloatPoint3 GetColor() const + { + const PF_UnionablePixel &color = m_ParamData.u.cd.value; + return A_FloatPoint3{ color.red / 255.0f, color.green / 255.0f, color.blue / 255.0f }; + } +}; + +//---------------------------------------------------------------------------- + +struct SAAECamera +{ + float m_YFov; +}; + +//---------------------------------------------------------------------------- + +inline void CopyCharToUTF16(const char *input, + A_UTF16Char *destination) +{ + std::string basicStr(input); + std::u16string ws; + + ws.append(basicStr.begin(), basicStr.end()); + memcpy(destination, ws.data(), (ws.length() + 1) * sizeof(char16_t)); +} + +//---------------------------------------------------------------------------- + +inline void WCharToString(aechar_t *input, std::string *destination) +{ + std::u16string ws(input); + destination->append(ws.begin(), ws.end()); +} + +//---------------------------------------------------------------------------- + +inline unsigned int hashString(const char *str) +{ + unsigned int hash = 5381; + int c; + + while ((c = *str++)) + hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ + + return hash; +} + +//---------------------------------------------------------------------------- + +inline float RadToDeg(const float angle) +{ + return angle * 180.f / 3.141592f; +} + +//---------------------------------------------------------------------------- + +inline float DegToRad(const float angle) +{ + return angle * 3.141592f / 180.f; +} + +//---------------------------------------------------------------------------- + +__AAEPK_END + +//---------------------------------------------------------------------------- + +struct PopcornFXSuite1 +{ + SPAPI A_Err (*InitializePopcornFXIFN) (AAePk::SAAEIOData& AAEData); + + SPAPI A_Err (*HandleNewEmitterEvent) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc *descriptor); + + SPAPI A_Err (*HandleDeleteEmitterEvent) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc *descriptor); + + SPAPI bool (*CheckEmitterValidity) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc *descriptor); + + SPAPI A_Err (*UpdateScene) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*UpdateEmitter) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*DisplayMarketplacePanel) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*DisplayBrowseEffectPanel) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*DisplayBrowseMeshDialog) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*DisplayBrowseEnvironmentMapDialog) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*ReimportEffect) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + + SPAPI A_Err (*Display_AttributeSampler_BrowseMeshDialog) (AAePk::SAAEIOData& AAEData, AAePk::SAttributeSamplerDesc* descriptor); + + SPAPI A_Err (*ShutdownPopcornFXIFN) (AAePk::SAAEIOData& AAEData); + + SPAPI A_Err (*SetParametersIndexes) (const int *indexes, AAePk::EPKChildPlugins plugin); + + SPAPI A_Err (*SetDefaultLayerPosition) (AAePk::SAAEIOData& AAEData, AEGP_LayerH layer); + + SPAPI A_Err (*MoveEffectIntoCurrentView) (AAePk::SAAEIOData& AAEData, AAePk::SEmitterDesc* descriptor); + +}; + +//---------------------------------------------------------------------------- + +#endif // !__POPCORNFX_SUITE_H__ + + diff --git a/AE_Suites/PopcornFX_UID.h b/AE_Suites/PopcornFX_UID.h new file mode 100644 index 00000000..e7ac9d64 --- /dev/null +++ b/AE_Suites/PopcornFX_UID.h @@ -0,0 +1,67 @@ +//---------------------------------------------------------------------------- +// Copyright Persistant Studios, SARL. All Rights Reserved. https://www.popcornfx.com/terms-and-conditions/ +//---------------------------------------------------------------------------- +#pragma once + +#ifndef __POPCORNFX_UID_H__ +#define __POPCORNFX_UID_H__ + +#include "PopcornFX_Define.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +__AAEPK_BEGIN + +//---------------------------------------------------------------------------- + +class CUUIDGenerator +{ +private: + CUUIDGenerator() {} + + static unsigned char _RandomChar() + { + std::random_device rd; + std::mt19937 gen(rd()); + std::uniform_int_distribution<> dis(0, 255); + return static_cast(dis(gen)); + } + + static std::string _GenerateHex(const unsigned int len) + { + std::stringstream ss; + + for (unsigned int i = 0; i < len; i++) + { + unsigned char rc = _RandomChar(); + std::stringstream hexstream; + + hexstream << std::hex << int(rc); + + std::string hex = hexstream.str(); + + ss << (hex.length() < 2 ? '0' + hex : hex); + } + return ss.str(); + } +public: + ~CUUIDGenerator() {}; + + static std::string Get32() { return _GenerateHex(32); } + static std::string Get16() { return _GenerateHex(16); } + static std::string Get8() { return _GenerateHex(8); } + +}; + +//---------------------------------------------------------------------------- + +__AAEPK_END + +#endif diff --git a/CopyQTDllsForAE.py b/CopyQTDllsForAE.py new file mode 100644 index 00000000..d86ade92 --- /dev/null +++ b/CopyQTDllsForAE.py @@ -0,0 +1,105 @@ +import os +import shutil +import sys +import subprocess +import pathlib + +# Check if file's relative location is as expected +script_dir = pathlib.Path(os.path.abspath(__file__)).parent +assert script_dir.match("*/source_tree/Integrations/AfterEffects") + +sys.path.append(str(script_dir / "../../SDK/Python")) +from Libs.pk_tools_locate import get_qt_bin_path + +#SETUP +#============ +QT_BIN_PATH_OVERRIDE="" # e.g. "E:\\SDK\\Qt\\Qt5.15.2\\5.15.2\\msvc2019_64\\bin" + +assembly_folder = "External/popcornfx.qt" +debug_dlls = False #Set this to True to add debug dlls in the private assembly +qt_dll_override_manifest = "qtoverride.dll.manifest" +win_kit_bin_path = "C:\\Program Files (x86)\\Windows Kits\\10\\bin" + +# [0] path: str +# [1] addInAssembly: bool +# [2] patchWithManifest: bool +dlls_to_copy = [ + ("Qt5Core.dll", True, False), #The first one must be Qt5Core + ("Qt5Gui.dll", True, True), + ("Qt5Widgets.dll", True, True), + ("../plugins/platforms/qwindows.dll", False, True), + ] +#============ + +def FindMtExe(): + versions_list = [name for name in os.listdir(win_kit_bin_path) if os.path.isdir(os.path.join(win_kit_bin_path, name)) and name.startswith("10.")] + versions_list.sort(reverse=True) + for version in versions_list: + mt_exe_path = os.path.join(win_kit_bin_path, version + "\\x64\\mt.exe") + if (os.path.exists(mt_exe_path)): + return mt_exe_path + return "" + +def CopyDll(dll, debug, path_qt_folder, mt_exe_path, f): + dll_path = dll[0] #path + if debug: + split_path = os.path.splitext(dll_path) + dll_path = split_path[0] + "d" + split_path[1] + src_fpath = os.path.join(path_qt_folder, dll_path) + file = os.path.basename(dll_path) + dest_fpath = os.path.join(assembly_folder, file) + print("Copying: " + file) + shutil.copy(src_fpath, dest_fpath) + if dll[1]: #addInAssembly + f.write(" \n") + if dll[2]: #patchWithManifest + cmd = [mt_exe_path, "-manifest", "qtoverride.dll.manifest", "-outputresource:" + assembly_folder + "/" + file + ";#2"] + process = subprocess.run(cmd, check=True, stdout=subprocess.DEVNULL) + process.check_returncode() + +def main(): + mt_exe_path = FindMtExe() + if not mt_exe_path: + print("Error: Could not found mt.exe") + sys.exit(1) + + if not os.path.exists(qt_dll_override_manifest): + print("Error: Could not found:" + qt_dll_override_manifest) + sys.exit(1) + + path_qt_folder = QT_BIN_PATH_OVERRIDE if QT_BIN_PATH_OVERRIDE else str(get_qt_bin_path(True)) + if not os.path.exists(path_qt_folder): + print("Error: Could not found Qt folder: " + path_qt_folder) + sys.exit(1) + print("Found Qt directory at: " + path_qt_folder) + + if not path_qt_folder: + print("Error: Could not found Qt directory in PATH") + sys.exit(1) + + if os.path.isdir(assembly_folder): + shutil.rmtree(assembly_folder) + os.mkdir(assembly_folder) + f = open(assembly_folder + "/popcornfx.qt.manifest", "w") + if not f: + print("Error: Could not open to write:" + assembly_folder + "/popcornfx.qt.manifest") + sys.exit(1) + + f.write("\n") + f.write("\"\n") + f.write("\n") + f.write(" \n") + + for dll in dlls_to_copy: + CopyDll(dll, False, path_qt_folder, mt_exe_path, f) + if debug_dlls: + CopyDll(dll, True, path_qt_folder, mt_exe_path, f) + + f.write("\n") + f.write("") + f.close() + + sys.exit(0) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/External/AE SDK/Headers/A.h b/External/AE SDK/Headers/A.h new file mode 100644 index 00000000..b0ba6616 --- /dev/null +++ b/External/AE SDK/Headers/A.h @@ -0,0 +1,196 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/** A.h + + Adobe-standard (hopefully one day) types to promote plug-in sharing. + +**/ +#ifndef _H_A +#define _H_A + +#ifdef A_INTERNAL + + #include + +#else + #include "stdint.h" + + typedef int32_t A_long; + typedef uint32_t A_u_long; + typedef char A_char; + typedef double A_FpLong; + typedef float A_FpShort; + typedef A_long A_Err; + typedef void * A_Handle; + typedef A_long A_Fixed; + typedef A_u_long A_UFixed; + + #if defined( __MWERKS__) || defined (__GNUC__) // metrowerks codewarrior and XCode/GCC + typedef int16_t A_short; + typedef uint16_t A_u_short; + typedef uint8_t A_u_char; + typedef uint8_t A_Boolean; + typedef intptr_t A_intptr_t; + #else // windows + typedef short A_short; + typedef unsigned short A_u_short; + typedef unsigned char A_u_char; + typedef unsigned char A_Boolean; + #ifdef _WIN64 + typedef __int64 A_intptr_t; + #else + typedef int32_t A_intptr_t; + #endif + #endif + +#ifdef _MSC_VER // visual c++ + typedef unsigned __int64 A_u_longlong; +#endif + +#if defined( __MWERKS__) || defined (__GNUC__) // metrowerks codewarrior and XCode/GCC + typedef uint64_t A_u_longlong; +#endif + + +#include + + + typedef struct { + A_long value; + A_u_long scale; + } A_Time; + + typedef struct { + A_long num; /* numerator */ + A_u_long den; /* denominator */ + } A_Ratio; + + typedef struct { + A_FpLong x, y; + } A_FloatPoint; + + typedef struct { + A_FpLong x, y, z; + } A_FloatPoint3; + + typedef struct { + A_FpLong left, top, right, bottom; + } A_FloatRect; + + typedef struct { + A_FpLong mat[3][3]; + } A_Matrix3; + + typedef struct { + A_FpLong mat[4][4]; + } A_Matrix4; + + typedef struct { + A_short top, left, bottom, right; + } A_LegacyRect; + + typedef struct { + A_long left, top, right, bottom; + } A_LRect; + + typedef A_LRect A_Rect; + + typedef struct { + A_long x, y; + } A_LPoint; + + typedef struct { + A_FpLong radius, angle; + } A_FloatPolar; + + typedef A_u_longlong A_HandleSize; + +#include + + + + +#endif + + +#include + +typedef struct { + A_FpLong alpha; + A_FpLong red; + A_FpLong green; + A_FpLong blue; + +} A_Color; + +#include + + + + + +#define A_THROW(ERR) throw ((A_long) ERR) + +enum { + A_Err_NONE = 0, + A_Err_GENERIC, + A_Err_STRUCT, + A_Err_PARAMETER, + A_Err_ALLOC, + A_Err_WRONG_THREAD, // Some calls can only be used on UI (Main) or Render threads. Also, calls back to AE can only be made from the same thread AE called you on + A_Err_CONST_PROJECT_MODIFICATION, // An attempt was made to write to a read only copy of an AE project. Project changes must originate in the UI/Main thread. + A_Err_RESERVED_7, + A_Err_RESERVED_8, + A_Err_RESERVED_9, + A_Err_RESERVED_10, + A_Err_RESERVED_11, + A_Err_RESERVED_12, + A_Err_MISSING_SUITE = 13, // acquire suite failed on a required suite + A_Err_RESERVED_14, + A_Err_RESERVED_15, + A_Err_RESERVED_16, + A_Err_RESERVED_17, + A_Err_RESERVED_18, + A_Err_RESERVED_19, + A_Err_RESERVED_20, + A_Err_RESERVED_21, + A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING, + + A_Err_LAST +}; + +typedef struct { + A_short majorS; + A_short minorS; +} A_Version; + +typedef struct _Up_OpaqueMem **AEGP_MemHandle; + +typedef A_u_short A_UTF16Char; + +#if defined( __MWERKS__) || defined (__GNUC__) // metrowerks codewarrior and XCode/GCC + typedef A_char A_LegacyEnumType; +#else // windows + typedef A_long A_LegacyEnumType; +#endif + +#endif diff --git a/External/AE SDK/Headers/AEConfig.h b/External/AE SDK/Headers/AEConfig.h new file mode 100644 index 00000000..c1b36982 --- /dev/null +++ b/External/AE SDK/Headers/AEConfig.h @@ -0,0 +1,102 @@ +#ifndef AECONFIG_H +#define AECONFIG_H + +/* +Usage guidelines for these defines. 4/12/2006 + +Always use the most specific kind for your problem. Try and use +the form + +#ifdef AE_XXXXX (i.e. AE_OS_MAC) + +#elif defined(AE_NOT_XXXX) (i.e. AE_OS_WIN) + +#else + #error "unknown" +#endif + +when creating conditionally compiled blocks. + +AE_OS_MAC | AE_OS_WIN + +are used to select between the most popular version of the operating +system API's. As of this writing AE_OS_MAC implies 10.4.4u SDK, and +AE_OS_WIN implies the platform SDK shipped with VS8 and _WIN32. + + +AE_PROC_PPC | AE_PROC_INTEL + +are used for code that will only execute on one processor family or +the other. Essentially should only be used for asm, or asm based +intrinsics. Note: we do not currently have a define for things +like SSE or SSE3 as we don't build the whole code base targetted +for different instances of processors. You'll need to do runtime checks for SSE3 +(though our minimum requirement is Pentium4 so SSE2 can be assumed). + + +AE_BIG_ENDIAN | AE_LITTLE_ENDIAN + +PowerPC on Mac was BIG endian (as is network byte order). +x86 is a little endian architecture. + +Try and avoid writing new code that uses this. Use XML or dva::filesupport +for writing things to disk. + +These defines should be seldom used, instead use the byte swapping macro's +already defined in U which will be a no-op on platforms that don't need it. + +For the record, our file format is stored big endian. + + +*/ +//Define our OS defines +#if defined(_WIN32) + #define AE_OS_WIN +#elif defined(__GNUC__) && defined(__MACH__) + #include "TargetConditionals.h" // defines the nesting of TARGET_OS_* + #if TARGET_OS_MAC + #if TARGET_OS_IPHONE + // Older SDKs ( before TV, WATCH ) do not have TARGET_OS_IOS defined. + #if TARGET_OS_IOS || !defined(TARGET_OS_IOS) + #define AE_OS_IOS + #endif + #else + #define AE_OS_MAC + #endif // TARGET_OS_IPHONE + + #if TARGET_OS_SIMULATOR + #define AE_OS_APPLE_SIM + #endif + #endif // TARGET_OS_MAC +#elif Rez + #define AE_OS_MAC +#elif defined(__ANDROID__) + #define AE_OS_ANDROID +#else + #error "unrecognized AE platform" +#endif + +//Define our Processor defines +#if defined(__i386__) || defined(_M_IX86) + #define AE_PROC_INTEL +#elif defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) + #define AE_PROC_INTELx64 +#elif defined(__arm64__) || defined(__aarch64__) + #define AE_PROC_ARM64 +#else + #error "unrecognized AE processor" +#endif + +#if defined(AE_OS_MAC) && defined(AE_PROC_ARM64) +// This is used to enable/disable features that are still being +// ported/tested to run on Mac arm64based M1 processors, aka Apple Silicon. +// It is intended for Adobe internal use, and will be going away once the mac +// arm64 work is completed. +#define AE_MAC_ARM64_PROTOTYPE_TODO +#endif + +//Define our Byte order +#define AE_LITTLE_ENDIAN + + +#endif diff --git a/External/AE SDK/Headers/AEFX_ArbParseHelper.c b/External/AE SDK/Headers/AEFX_ArbParseHelper.c new file mode 100644 index 00000000..789f269b --- /dev/null +++ b/External/AE SDK/Headers/AEFX_ArbParseHelper.c @@ -0,0 +1,171 @@ +// AEFX_ArbParseHelper.c +// + + + +#include "AEFX_ArbParseHelper.h" + +#include +#include +#include +#include +#include + +PF_Err +AEFX_AppendText( A_char *srcAC, /* >> */ + const A_u_long dest_sizeL, /* >> */ + A_char *destAC, /* <> */ + A_u_long *current_indexPLu) /* <> */ +{ + PF_Err err = PF_Err_NONE; + + A_u_long new_strlenLu = (A_u_long) strlen(srcAC) + *current_indexPLu; + + + if (new_strlenLu <= dest_sizeL) { + destAC[*current_indexPLu] = 0x00; + + strcat(destAC, srcAC); + *current_indexPLu = new_strlenLu; + } else { + err = AEFX_ParseError_APPEND_ERROR; + } + + return err; +} + + + + +PF_Err +AEFX_ParseCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + A_char *bufAC) /* << AEFX_CELL_SIZE */ +{ + PF_Err err = PF_Err_NONE; + A_char c; + A_char buf[AEFX_CELL_SIZE]; + A_char *scan; + A_short count; + + if (startPC[*current_indexPL] == AEFX_Char_EOL) { + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else if (startPC[*current_indexPL] == 0) { + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else { + count = 0; + scan = buf; + while ((c = startPC[(*current_indexPL)++]) != 0) { + if (c == AEFX_Char_TAB) + break; + if (c == AEFX_Char_EOL) { + (*current_indexPL)--; + break; + } + + *scan++ = c; + + if (++count >= AEFX_CELL_SIZE) + break; + } + *scan = 0; + + // trim spaces from head + scan = buf; + while (isspace(*scan)) + scan++; + + strcpy(bufAC, scan); + + // trim spaces from end (guaranteed not to scan past start of string, because + // if the string were all spaces, it would be trimmed down to nothing in the + // head-trim step above + if (*bufAC) { + scan = bufAC + strlen(bufAC) - 1; + while (*scan == AEFX_Char_SPACE) { + *scan-- = 0; + } + } + } + + return err; + +} + + +/** AEFX_ParseFpLong + + Reads in the next cell in the input stream and converts it to a double. + The first non-space character must be numeric. + +**/ +PF_Err +AEFX_ParseFpLong( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_FpLong *dPF) /* << */ +{ + PF_Err err = PF_Err_NONE; + A_char c; + A_char *end_ptr; + A_char buf[AEFX_CELL_SIZE]; + + err = AEFX_ParseCell(in_data, out_data, startPC, current_indexPL, buf); + + if (!err) { + c = buf[0]; + + if (!isdigit(c) && c != '.' && c != '-') { + err = AEFX_ParseError_EXPECTING_A_NUMBER; + } else { + errno = 0; + *dPF = strtod(buf, &end_ptr); + } + } + + return err; +} + + + +PF_Err +AEFX_MatchCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *strPC, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_Boolean *matchPB0) /* << */ +{ + PF_Err err = PF_Err_NONE; + A_char buf[AEFX_CELL_SIZE]; + A_u_long origLu = *current_indexPL; + PF_Boolean found = 0; + + if (startPC[*current_indexPL] == AEFX_Char_EOL) { + found = 0; + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else { + err = AEFX_ParseCell(in_data, out_data, startPC, current_indexPL, buf); + + if (!err) { + found = STR_EQUAL(buf, strPC); + + if (!found) + *current_indexPL = origLu; + } + } + + if (!err && !found && matchPB0 == NULL) { + err = AEFX_ParseError_MATCH_ERROR; + } + + if (matchPB0) + *matchPB0 = found; + + return err; +} + + diff --git a/External/AE SDK/Headers/AEFX_ArbParseHelper.h b/External/AE SDK/Headers/AEFX_ArbParseHelper.h new file mode 100644 index 00000000..fa79fa3e --- /dev/null +++ b/External/AE SDK/Headers/AEFX_ArbParseHelper.h @@ -0,0 +1,75 @@ +// AEFX_ArbParseHelper.h +// + +// This file has no header, and is designed to by #included as necessary. -jja 9/30/98 + + +#ifndef _H_AEFX_ArbParseHelper +#define _H_AEFX_ArbParseHelper + +#include + +#define AEFX_Char_TAB '\t' +#define AEFX_Char_EOL '\r' +#define AEFX_Char_SPACE ' ' + +#ifndef AEFX_CELL_SIZE +#define AEFX_CELL_SIZE 256 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +enum { + AEFX_ParseError_EXPECTING_MORE_DATA = 0x00FEBE00, + AEFX_ParseError_APPEND_ERROR, + AEFX_ParseError_EXPECTING_A_NUMBER, + AEFX_ParseError_MATCH_ERROR +}; +typedef A_long AEFX_ParseErrors; + + + +#ifndef STR_EQUAL + #define STR_EQUAL(A, B) (strcmp((A),(B)) == 0) +#endif + + +PF_Err +AEFX_AppendText( A_char *srcAC, /* >> */ + const A_u_long dest_sizeL, /* >> */ + A_char *destAC, /* <> */ + A_u_long *current_indexPLu); /* <> */ + + +PF_Err +AEFX_ParseFpLong( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_FpLong *dPF); /* << */ + + +PF_Err +AEFX_MatchCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *strPC, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_Boolean *matchPB0); /* << */ + +PF_Err +AEFX_ParseCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + A_char *bufAC); /* << AEFX_CELL_SIZE */ + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/External/AE SDK/Headers/AEFX_ChannelDepthTpl.h b/External/AE SDK/Headers/AEFX_ChannelDepthTpl.h new file mode 100644 index 00000000..55c0546d --- /dev/null +++ b/External/AE SDK/Headers/AEFX_ChannelDepthTpl.h @@ -0,0 +1,59 @@ +#ifndef _H_AEFX_CHANNELDEPTHTPL +#define _H_AEFX_CHANNELDEPTHTPL + +/** AEFX_ChannelDepthTpl.h + + (c) 2005 Adobe Systems Incorporated + +**/ + +// Basic pixel traits structure. This structure is never used per se, merely overidden -- see below. +template +struct PixelTraits { + typedef int PixType; + typedef int DataType; + static DataType + LutFunc(DataType input, const DataType *map); + + enum {max_value = 0 }; +}; + + +// 8 bit pixel types, constants, and functions +template <> +struct PixelTraits{ + typedef PF_Pixel8 PixType; + typedef u_char DataType; + static DataType + LutFunc(DataType input, const DataType *map){return map[input];} + enum {max_value = PF_MAX_CHAN8}; +}; + +// 16 bit pixel types, constants, and functions +template <> +struct PixelTraits{ + typedef PF_Pixel16 PixType; + typedef u_short DataType; + static u_short + LutFunc(u_short input, const u_short *map); + enum {max_value = PF_MAX_CHAN16}; +}; + + +inline u_short +PixelTraits::LutFunc(u_short input, + const u_short *map) +{ + u_short index = input >> (15 - PF_TABLE_BITS); + uint32_t fract = input & ((1 << (15 - PF_TABLE_BITS)) - 1); + A_long result = map [index]; + + if (fract) { + result += ((((A_long) map [index + 1] - result) * fract) + + (1 << (14 - PF_TABLE_BITS))) >> (15 - PF_TABLE_BITS); + } + return (u_short) result; + +} + +#endif //_H_AEFX_CHANNELDEPTHTPL \ No newline at end of file diff --git a/External/AE SDK/Headers/AEFX_SuiteHandlerTemplate.h b/External/AE SDK/Headers/AEFX_SuiteHandlerTemplate.h new file mode 100644 index 00000000..b51cf18e --- /dev/null +++ b/External/AE SDK/Headers/AEFX_SuiteHandlerTemplate.h @@ -0,0 +1,63 @@ +#ifndef _H_AEFX_SUITE_HELPER_TEMPLATE +#define _H_AEFX_SUITE_HELPER_TEMPLATE + +#include +#include +#include +#include + + +#ifdef __cplusplus + +// Throws A_Err_MISSING_SUITE if acquisition fails and the second template argument, ALLOW_NO_SUITE, is set to false +template +class AEFX_SuiteScoper +{ +public: + AEFX_SuiteScoper(const PF_InData *in_data, const char *suite_name, int32_t suite_versionL, PF_OutData *out_dataP0 = 0, const char *err_stringZ0 = 0) + { + i_suite_name = suite_name; + i_suite_versionL = suite_versionL; + i_basic_suiteP = in_data->pica_basicP; + + const void *suiteP; + SPErr err = i_basic_suiteP->AcquireSuite(i_suite_name, i_suite_versionL, &suiteP); + + if (err != kSPNoError) { + if (ALLOW_NO_SUITE) { + suiteP = NULL; + } + else { + if (out_dataP0) { + const char *error_stringPC = err_stringZ0 ? err_stringZ0 : "Not able to acquire AEFX Suite."; + out_dataP0->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + (*in_data->utils->ansi.sprintf)(out_dataP0->return_msg, error_stringPC); + } + A_THROW(A_Err_MISSING_SUITE); + } + } + + i_suiteP = reinterpret_cast(suiteP); + } + + ~AEFX_SuiteScoper() + { + if (i_suiteP) { + i_basic_suiteP->ReleaseSuite(i_suite_name, i_suite_versionL); // ignore error, nothing we can do in dtor + } + } + + const SUITETYPE* operator->() const { return i_suiteP; } + const SUITETYPE* get() const { return i_suiteP; } + +private: + mutable const SUITETYPE *i_suiteP; + SPBasicSuite *i_basic_suiteP; + const char *i_suite_name; + int32_t i_suite_versionL; +}; + + +#endif // __cplusplus + +#endif // _H diff --git a/External/AE SDK/Headers/AEFX_SuiteHelper.c b/External/AE SDK/Headers/AEFX_SuiteHelper.c new file mode 100644 index 00000000..9ddd9b2a --- /dev/null +++ b/External/AE SDK/Headers/AEFX_SuiteHelper.c @@ -0,0 +1,139 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + + +/** AEFX_SuiteHelper.c + + Contains helper routines for acquiring/releasing suites. + +**/ + +#include "AEFX_SuiteHelper.h" +#include + +PF_Err AEFX_AcquireSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0, /* >> */ + void **suite) /* << */ +{ + PF_Err err = PF_Err_NONE; + SPBasicSuite *bsuite; + + bsuite = in_data->pica_basicP; + + if (bsuite) { + (*bsuite->AcquireSuite)((char*)name, version, (const void**)suite); + + if (!*suite) { + err = PF_Err_BAD_CALLBACK_PARAM; + } + } else { + err = PF_Err_BAD_CALLBACK_PARAM; + } + + if (err) { + const char *error_stringPC = error_stringPC0 ? error_stringPC0 : "Not able to acquire AEFX Suite."; + + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, error_stringPC); + } + + return err; +} + + + +PF_Err AEFX_ReleaseSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0) /* >> */ +{ + PF_Err err = PF_Err_NONE; + SPBasicSuite *bsuite; + + bsuite = in_data->pica_basicP; + + if (bsuite) { + (*bsuite->ReleaseSuite)((char*)name, version); + } else { + err = PF_Err_BAD_CALLBACK_PARAM; + } + + if (err) { + const char *error_stringPC = error_stringPC0 ? error_stringPC0 : "Not able to release AEFX Suite."; + + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, error_stringPC); + } + + return err; +} + + +PF_Err AEFX_AcquireDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + DRAWBOT_Suites *suitesP) /* << */ +{ + PF_Err err = PF_Err_NONE; + + if (suitesP == NULL) { + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, "NULL suite pointer passed to AEFX_AcquireDrawbotSuites"); + + err = PF_Err_UNRECOGNIZED_PARAM_TYPE; + } + + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent, NULL, (void **)&suitesP->drawbot_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent, NULL, (void **)&suitesP->supplier_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent, NULL, (void **)&suitesP->surface_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent, NULL, (void **)&suitesP->path_suiteP); + } + + return err; +} + + +PF_Err AEFX_ReleaseDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data) /* >> */ +{ + PF_Err err = PF_Err_NONE; + + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent, NULL); + + return err; +} + + + + diff --git a/External/AE SDK/Headers/AEFX_SuiteHelper.h b/External/AE SDK/Headers/AEFX_SuiteHelper.h new file mode 100644 index 00000000..2ede44c8 --- /dev/null +++ b/External/AE SDK/Headers/AEFX_SuiteHelper.h @@ -0,0 +1,157 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + +#ifndef AEFX_SUITE_HELPER_H +#define AEFX_SUITE_HELPER_H + + +/** AEFX_SuiteHelper.h + + Contains helper routines for acquiring/releasing suites. + + NOTE: If you're writing C++ plug-ins that support exceptions, use the AEGP_SuiteHandler class or AEFX_SuiteScoper. + +**/ + +#include +#include +#include +#include + + + +#ifdef __cplusplus + extern "C" { +#endif + +PF_Err AEFX_AcquireSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0, /* >> */ + void **suite); /* << */ + + +PF_Err AEFX_ReleaseSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0); /* >> */ + + +PF_Err AEFX_AcquireDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + DRAWBOT_Suites *suiteP); /* << */ + + +PF_Err AEFX_ReleaseDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data); /* >> */ + + +#ifdef __cplusplus + } +#endif + + +#ifdef __cplusplus + + template + class AEFX_SuiteHelperT + { + public: + AEFX_SuiteHelperT( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version) : /* >> */ + mInDataP(in_data), mOutDataP(out_data), mSuiteName(name), mSuiteVersion(version), mSuiteP(NULL) + { + void *suiteP(NULL); + + PF_Err err = AEFX_AcquireSuite(mInDataP, mOutDataP, mSuiteName, mSuiteVersion, NULL, &suiteP); + + if (err) { + A_THROW(err); + } + + mSuiteP = reinterpret_cast(suiteP); + } + + ~AEFX_SuiteHelperT() + { + (void)AEFX_ReleaseSuite(mInDataP, mOutDataP, mSuiteName, mSuiteVersion, NULL); + } + + const SuiteType* operator->() const + { + return mSuiteP; + } + + SuiteType* get() const + { + return mSuiteP; + } + + private: + + PF_InData *mInDataP; + PF_OutData *mOutDataP; + const char *mSuiteName; + int32_t mSuiteVersion; + SuiteType *mSuiteP; + }; + + + +// clients of this class probably should just be using the regular template +// instead + +class AEFX_DrawbotSuitesScoper +{ +public: + AEFX_DrawbotSuitesScoper(PF_InData *in_data, PF_OutData *out_data) + : + i_in_data(in_data), + i_out_data(out_data) + { + PF_Err err = AEFX_AcquireDrawbotSuites(in_data, out_data, &i_suites); + + if (err) { + A_THROW(err); + } + } + + inline DRAWBOT_Suites* Get() + { + return &i_suites; + } + + ~AEFX_DrawbotSuitesScoper() + { + AEFX_ReleaseDrawbotSuites(i_in_data, i_out_data); + } + +private: + DRAWBOT_Suites i_suites; + PF_InData *i_in_data; + PF_OutData *i_out_data; +}; + +#endif + + +#endif // AEFX_SUITE_HELPER_H diff --git a/External/AE SDK/Headers/AEGP_SuiteHandler.cpp b/External/AE SDK/Headers/AEGP_SuiteHandler.cpp new file mode 100644 index 00000000..146a5f5e --- /dev/null +++ b/External/AE SDK/Headers/AEGP_SuiteHandler.cpp @@ -0,0 +1,66 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/** AEGP_SuiteHandler.cpp + + Implementation of AEGP_SuiteHandler non-inlines. See AEGP_SuiteHandler.h for usage. + + created 9/11/2000 jms +**/ + + +#include +#include + +AEGP_SuiteHandler::AEGP_SuiteHandler(const SPBasicSuite *pica_basicP) : + i_pica_basicP(pica_basicP) +{ + AEFX_CLR_STRUCT(i_suites); + + if (!i_pica_basicP) { //can't construct w/out basic suite, everything else is demand loaded + MissingSuiteError(); + } +} + +AEGP_SuiteHandler::~AEGP_SuiteHandler() +{ + ReleaseAllSuites(); +} + +// Had to go to the header file to be inlined to please CW mach-o target +/*void *AEGP_SuiteHandler::pLoadSuite(A_char *nameZ, A_long versionL) const +{ + const void *suiteP; + A_long err = i_pica_basicP->AcquireSuite(nameZ, versionL, &suiteP); + + if (err || !suiteP) { + MissingSuiteError(); + } + + return (void*)suiteP; +}*/ + +// Free a particular suite. Ignore errors, because, what is there to be done if release fails? +void AEGP_SuiteHandler::ReleaseSuite(const A_char *nameZ, A_long versionL) +{ + i_pica_basicP->ReleaseSuite(nameZ, versionL); +} + diff --git a/External/AE SDK/Headers/AEGP_SuiteHandler.h b/External/AE SDK/Headers/AEGP_SuiteHandler.h new file mode 100644 index 00000000..59bc043b --- /dev/null +++ b/External/AE SDK/Headers/AEGP_SuiteHandler.h @@ -0,0 +1,601 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + + +/** AEGP_SuiteHandler.h + + DEPRECATED: + This way of doing things is out of date. See AEFX_SuiteHandlerTemplate.h for the + new way of doing things. + + -kjw 2/28/2014 + + A very helpful class that manages demand loading and automatic, exception-safe freeing + of AEGP suites. + + USAGE INSTRUCTIONS: + + The accompanying file, AEGP_SuiteHandler.cpp, is designed to be compiled right into + the client application or plug-in. + + You'll get a link error. + + This is because AEGP_SuiteHandler.cpp lacks a definition for the MissingSuiteError() + method. You must provide one to define the error handling behaviour of the class. + This function may or may not display an error message etc. but it must end + by throwing an exception. It cannot return. + + Other than that, usage is pretty trivial. Construct with a pointer to the PICA + basic suite, and then call the public method to obtain lazily loaded pointers + to other AEGP suites. Upon desctruction, all loaded suites are freed (so this class + is really handy for writing exception-safe AEGP code.) + + NOTE!!! If you need to upgrade a suite, DO NOT SIMPLY UPDATE THE VERSION NUMBER. + You should: + 1. Add a new member to the Suites structure for that suite. + 2. Add the boiler plate macro to release the suite in ReleaseAllSuites (AEGP_SUITE_RELEASE_BOILERPLATE). + 3. Add the boiler plate macro to define the suite. (AEGP_SUITE_ACCESS_BOILERPLATE) + + If you have any questions, ask me. -jja 5/7/2004 + + If you'll be using ADM suites, #define I_NEED_ADM_SUPPORT before #including AEGP_SuiteHandler.h. + + -bbb 9/16/2004 +**/ + +#ifndef _H_AEGP_SUITEHANDLER +#define _H_AEGP_SUITEHANDLER + +#include +#include +#include +#include +#include +#include +#include + +#ifdef I_NEED_ADM_SUPPORT +#include +#include +#include +#include +#include +#include +#include +#endif + +// Suite registration and handling object +class AEGP_SuiteHandler { + +private: + // forbid copy construct + AEGP_SuiteHandler(const AEGP_SuiteHandler&) {} + AEGP_SuiteHandler& operator=(const AEGP_SuiteHandler&) { return *this; } + + // basic suite pointer + const SPBasicSuite *i_pica_basicP; + + // Suites we can register. These are mutable because they are demand loaded using a const object. + + struct Suites { + AEGP_KeyframeSuite4 *keyframe_suite4P; + AEGP_StreamSuite3 *stream_suite3P; + AEGP_StreamSuite4 *stream_suite4P; + AEGP_StreamSuite5 *stream_suite5P; + AEGP_MarkerSuite1 *marker_suite1P; + AEGP_MarkerSuite2 *marker_suite2P; + AEGP_MarkerSuite3 *marker_suite3P; + AEGP_CompSuite4 *comp_suite4P; + AEGP_CompSuite5 *comp_suite5P; + AEGP_CompSuite6 *comp_suite6P; + AEGP_CompSuite7 *comp_suite7P; + AEGP_CompSuite8 *comp_suite8P; + AEGP_CompSuite9 *comp_suite9P; + AEGP_CompSuite10 *comp_suite10P; + AEGP_CompSuite11 *comp_suite11P; + AEGP_LayerSuite3 *layer_suite3P; + AEGP_LayerSuite4 *layer_suite4P; + AEGP_StreamSuite2 *stream_suite2P; + AEGP_DynamicStreamSuite2 *dynamic_stream_suite2P; + AEGP_DynamicStreamSuite3 *dynamic_stream_suite3P; + AEGP_DynamicStreamSuite4 *dynamic_stream_suite4P; + AEGP_KeyframeSuite3 *keyframe_suite3P; + AEGP_CanvasSuite5 *canvas_suite5P; + AEGP_CanvasSuite6 *canvas_suite6P; + AEGP_CanvasSuite7 *canvas_suite7P; + AEGP_CanvasSuite8 *canvas_suite8P; + AEGP_CameraSuite2 *camera_suite2P; + AEGP_RegisterSuite5 *register_suite5P; + AEGP_MemorySuite1 *memory_suite1P; + AEGP_ItemViewSuite1 *item_view_suite1P; + AEGP_ItemSuite9 *item_suite9P; + AEGP_ItemSuite8 *item_suite8P; + AEGP_ItemSuite7 *item_suite7P; + AEGP_ItemSuite6 *item_suite6P; + AEGP_ItemSuite5 *item_suite5P; + AEGP_ItemSuite1 *item_suite1P; + AEGP_LightSuite1 *light_suite1P; + AEGP_LightSuite2 *light_suite2P; + AEGP_EffectSuite1 *effect_suite1P; + AEGP_EffectSuite2 *effect_suite2P; + AEGP_EffectSuite3 *effect_suite3P; + AEGP_EffectSuite4 *effect_suite4P; + AEGP_MaskSuite4 *mask_suite4P; + AEGP_MaskOutlineSuite1 *mask_outline_suite1P; + AEGP_MaskOutlineSuite2 *mask_outline_suite2P; + AEGP_MaskOutlineSuite3 *mask_outline_suite3P; + AEGP_CommandSuite1 *command_suite1P; + AEGP_UtilitySuite3 *utility_suite3P; + AEGP_RenderSuite1 *render_suite1P; + AEGP_RenderSuite2 *render_suite2P; + AEGP_RenderSuite3 *render_suite3P; + AEGP_RenderSuite4 *render_suite4P; + AEGP_RenderSuite5 *render_suite5P; + PF_ANSICallbacksSuite1 *ansi_callbacks_suite1P; + PF_HandleSuite1 *handle_suite1P; + PF_FillMatteSuite2 *fill_matte_suite2P; + PF_WorldTransformSuite1 *world_transform_suite1P; + AEGP_QueryXformSuite2 *query_xform_suite2P; + AEGP_CompositeSuite2 *composite_suite2P; + PF_WorldSuite1 *world_suite1P; + AEGP_PFInterfaceSuite1 *pf_interface_suite1P; + AEGP_MathSuite1 *math_suite1P; + PF_AdvTimeSuite4 *adv_time_suite4P; + PF_PathQuerySuite1 *path_query_suite1P; + PF_PathDataSuite1 *path_data_suite1P; + PF_ParamUtilsSuite3 *param_utils_suite3P; + PFAppSuite4 *app_suite4P; + PFAppSuite5 *app_suite5P; + PFAppSuite6 *app_suite6P; + PF_AdvAppSuite2 *adv_app_suite2P; + AEGP_IOInSuite4 *io_in_suite4P; + AEGP_IOOutSuite4 *io_out_suite4P; + AEGP_PersistentDataSuite3 *persistent_data_suite3P; + AEGP_PersistentDataSuite4 *persistent_data_suite4P; + AEGP_RenderQueueSuite1 *render_queue_suite1P; + AEGP_RQItemSuite2 *rq_item_suite2P; + AEGP_OutputModuleSuite4 *output_module_suite4P; + AEGP_FIMSuite3 *fim_suite3P; + PF_Sampling8Suite1 *sampling_8_suite1P; + PF_Sampling16Suite1 *sampling_16_suite1P; + PF_Iterate8Suite1 *iterate_8_suite1P; + PF_iterate16Suite1 *iterate_16_suite1P; + PF_iterateFloatSuite1 *iterate_float_suite1P; + PF_Iterate8Suite2 *iterate_8_suite2P; + PF_iterate16Suite2 *iterate_16_suite2P; + PF_iterateFloatSuite2 *iterate_float_suite2P; + AEGP_CollectionSuite2 *collection_suite2P; + AEGP_TextDocumentSuite1 *text_document_suite1P; + AEGP_SoundDataSuite1 *sound_data_suite1P; + AEGP_IterateSuite1 *aegp_iterate_suite1P; + AEGP_IterateSuite2 *aegp_iterate_suite2P; + AEGP_TextLayerSuite1 *text_layer_suite1P; + AEGP_ArtisanUtilSuite1 *artisan_util_suite1P; + AEGP_WorldSuite2 *aegp_world_suite_2P; + AEGP_WorldSuite3 *aegp_world_suite_3P; + AEGP_RenderOptionsSuite1 *render_options_suite_1P; + AEGP_LayerRenderOptionsSuite1 *layer_render_options_suite_1P; + AEGP_LayerRenderOptionsSuite2 *layer_render_options_suite_2P; + AEGP_RenderAsyncManagerSuite1 *async_manager_suite_1P; + AEGP_TrackerSuite1 *tracker_suite_1P; + AEGP_TrackerUtilitySuite1 *tracker_utility_suite_1P; + PF_HelperSuite2 *helper_suite_2P; + AEGP_LayerSuite5 *layer_suite_5P; + AEGP_LayerSuite6 *layer_suite_6P; + AEGP_LayerSuite7 *layer_suite_7P; + AEGP_LayerSuite8 *layer_suite_8P; + +#ifdef I_NEED_ADM_SUPPORT + ADMBasicSuite8 *adm_basic_suite_8P; + ADMDialogSuite8 *adm_dialog_suite_8P; + ADMDialogGroupSuite3 *adm_dialog_group_suite_3P; + ADMItemSuite8 *adm_item_suite_8P; + ADMListSuite3 *adm_list_suite_3P; + ADMEntrySuite5 *adm_entry_suite_5P; + ADMNotifierSuite2 *adm_notifier_suite_2P; +#endif + AEGP_LayerSuite1 *layer_suite_1P; + AEGP_MaskSuite1 *mask_suite_1P; + AEGP_MaskSuite5 *mask_suite_5P; + AEGP_MaskSuite6 *mask_suite_6P; + AEGP_StreamSuite1 *stream_suite_1P; + AEGP_CompSuite1 *comp_suite_1P; + AEGP_CollectionSuite1 *collection_suite_1P; + AEGP_KeyframeSuite1 *keyframe_suite_1P; + PF_AdvAppSuite1 *adv_app_suite_1P; + AEGP_UtilitySuite1 *utility_suite_1P; + AEGP_RenderOptionsSuite2 *render_options_suite_2P; + AEGP_ProjSuite5 *proj_suite_5P; + AEGP_ProjSuite6 *proj_suite_6P; + AEGP_FootageSuite5 *footage_suite_5P; + AEGP_RQItemSuite3 *rq_item_suite_3P; + AEGP_UtilitySuite4 *utility_suite_4P; + AEGP_ColorSettingsSuite3 *color_settings_suite_3P; + AEGP_ColorSettingsSuite2 *color_settings_suite_2P; + AEGP_ColorSettingsSuite1 *color_settings_suite_1P; + PF_AdvItemSuite1 *adv_item_suite_1P; + AEGP_RenderOptionsSuite3 *render_options_suite_3P; + PF_ColorParamSuite1 *color_param_suite_1P; + PF_SamplingFloatSuite1 *sampling_float_suite_1P; + AEGP_UtilitySuite5 *utility_suite_5P; + AEGP_UtilitySuite6 *utility_suite_6P; + PF_EffectCustomUISuite1 *custom_ui_suite1P; + PF_EffectCustomUISuite2 *custom_ui_suite2P; + PF_EffectCustomUIOverlayThemeSuite1 *custom_ui_theme_suite1P; + + //Drawbot Suites + DRAWBOT_DrawbotSuiteCurrent *drawing_suite_currentP; + DRAWBOT_SupplierSuiteCurrent *drawbot_supplier_suite_currentP; + DRAWBOT_SurfaceSuiteCurrent *drawbot_surface_suite_currentP; + DRAWBOT_PathSuiteCurrent *drawbot_path_suite_currentP; + + SPSuitesSuite *suites_suite_2P; + }; + + mutable Suites i_suites; + + // private methods + // I had to make this inline by moving the definition from the .cpp file + // CW mach-o target was freaking otherwise when seeing the call to this + // function in inlined public suite accessors below + + void *LoadSuite(const A_char *nameZ, A_long versionL) const + { + const void *suiteP; + A_long err = i_pica_basicP->AcquireSuite(nameZ, versionL, &suiteP); + + if (err || !suiteP) { + MissingSuiteError(); + } + + return (void*)suiteP; + } + + void ReleaseSuite(const A_char *nameZ, A_long versionL); + void ReleaseAllSuites() + { + #define AEGP_SUITE_RELEASE_BOILERPLATE(MEMBER_NAME, kSUITE_NAME, kVERSION_NAME) \ + if (i_suites.MEMBER_NAME) { \ + ReleaseSuite(kSUITE_NAME, kVERSION_NAME); \ + } + + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite1P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite2P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite3P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite3P, kAEGPLayerSuite, kAEGPLayerSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite4P, kAEGPLayerSuite, kAEGPLayerSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite5P, kAEGPStreamSuite, kAEGPStreamSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite4P, kAEGPStreamSuite, kAEGPStreamSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite3P, kAEGPStreamSuite, kAEGPStreamSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite2P, kAEGPStreamSuite, kAEGPStreamSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite_1P, kAEGPStreamSuite, kAEGPStreamSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite2P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite3P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite4P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite4P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite3P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite_1P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite4P, kAEGPCompSuite, kAEGPCompSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite5P, kAEGPCompSuite, kAEGPCompSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite6P, kAEGPCompSuite, kAEGPCompSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite7P, kAEGPCompSuite, kAEGPCompSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite8P, kAEGPCompSuite, kAEGPCompSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite9P, kAEGPCompSuite, kAEGPCompSuiteVersion9); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite10P, kAEGPCompSuite, kAEGPCompSuiteVersion10); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite11P, kAEGPCompSuite, kAEGPCompSuiteVersion11); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite5P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite6P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite7P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite8P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(camera_suite2P, kAEGPCameraSuite, kAEGPCameraSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(register_suite5P, kAEGPRegisterSuite, kAEGPRegisterSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(item_view_suite1P, kAEGPItemViewSuite, kAEGPItemViewSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite8P, kAEGPItemSuite, kAEGPItemSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite7P, kAEGPItemSuite, kAEGPItemSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite6P, kAEGPItemSuite, kAEGPItemSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite5P, kAEGPItemSuite, kAEGPItemSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite1P, kAEGPItemSuite, kAEGPItemSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(pf_interface_suite1P, kAEGPPFInterfaceSuite, kAEGPPFInterfaceSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(path_query_suite1P, kPFPathQuerySuite, kPFPathQuerySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(memory_suite1P, kAEGPMemorySuite, kAEGPMemorySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(path_data_suite1P, kPFPathDataSuite, kPFPathDataSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(param_utils_suite3P, kPFParamUtilsSuite, kPFParamUtilsSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite4P, kPFAppSuite, kPFAppSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite5P, kPFAppSuite, kPFAppSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite6P, kPFAppSuite, kPFAppSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_app_suite2P, kPFAdvAppSuite, kPFAdvAppSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(light_suite1P, kAEGPLightSuite, kAEGPLightSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(light_suite2P, kAEGPLightSuite, kAEGPLightSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite1P, kAEGPEffectSuite, kAEGPEffectSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite2P, kAEGPEffectSuite, kAEGPEffectSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite3P, kAEGPEffectSuite, kAEGPEffectSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite4P, kAEGPEffectSuite, kAEGPEffectSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite4P, kAEGPMaskSuite, kAEGPMaskSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite1P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite2P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite3P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(command_suite1P, kAEGPCommandSuite, kAEGPCommandSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite3P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite1P, kAEGPRenderSuite, kAEGPRenderSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite2P, kAEGPRenderSuite, kAEGPRenderSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite3P, kAEGPRenderSuite, kAEGPRenderSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite4P, kAEGPRenderSuite, kAEGPRenderSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite5P, kAEGPRenderSuite, kAEGPRenderSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(ansi_callbacks_suite1P, kPFANSISuite, kPFANSISuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(handle_suite1P, kPFHandleSuite, kPFHandleSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(fill_matte_suite2P, kPFFillMatteSuite, kPFFillMatteSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(world_transform_suite1P, kPFWorldTransformSuite, kPFWorldTransformSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(query_xform_suite2P, kAEGPQueryXformSuite, kAEGPQueryXformSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(composite_suite2P, kAEGPCompositeSuite, kAEGPCompositeSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(world_suite1P, kPFWorldSuite, kPFWorldSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(io_in_suite4P, kAEGPIOInSuite, kAEGPIOInSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(io_out_suite4P, kAEGPIOOutSuite, kAEGPIOOutSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(render_queue_suite1P, kAEGPRenderQueueSuite, kAEGPRenderQueueSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(rq_item_suite2P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(output_module_suite4P, kAEGPOutputModuleSuite, kAEGPOutputModuleSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(fim_suite3P, kAEGPFIMSuite, kAEGPFIMSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_8_suite1P, kPFSampling8Suite, kPFSampling8SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_16_suite1P, kPFSampling16Suite, kPFSampling16SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_8_suite1P, kPFIterate8Suite, kPFIterate8SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_16_suite1P, kPFIterate16Suite, kPFIterate16SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_float_suite1P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_8_suite2P, kPFIterate8Suite, kPFIterate8SuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_16_suite2P, kPFIterate16Suite, kPFIterate16SuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_float_suite2P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(collection_suite2P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(text_document_suite1P, kAEGPTextDocumentSuite, kAEGPTextDocumentSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sound_data_suite1P, kAEGPSoundDataSuite, kAEGPSoundDataVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(text_layer_suite1P, kAEGPTextLayerSuite, kAEGPTextLayerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(artisan_util_suite1P, kAEGPArtisanUtilSuite, kAEGPArtisanUtilSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(aegp_world_suite_2P, kAEGPWorldSuite, kAEGPWorldSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(aegp_world_suite_3P, kAEGPWorldSuite, kAEGPWorldSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_options_suite_1P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(tracker_suite_1P, kAEGPTrackerSuite, kAEGPTrackerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(tracker_utility_suite_1P, kAEGPTrackerUtilitySuite, kAEGPTrackerUtilitySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(helper_suite_2P, kPFHelperSuite2, kPFHelperSuite2Version2); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_5P, kAEGPLayerSuite, kAEGPLayerSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_6P, kAEGPLayerSuite, kAEGPLayerSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_7P, kAEGPLayerSuite, kAEGPLayerSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_8P, kAEGPLayerSuite, kAEGPLayerSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_item_suite_1P, kPFAdvItemSuite, kPFAdvItemSuiteVersion1); +#ifdef I_NEED_ADM_SUPPORT + AEGP_SUITE_RELEASE_BOILERPLATE(adm_basic_suite_8P, kADMBasicSuite, kADMBasicSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_dialog_suite_8P, kADMDialogSuite, kADMDialogSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_dialog_group_suite_3P, kADMDialogGroupSuite, kADMDialogGroupSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_item_suite_8P, kADMItemSuite, kADMItemSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_list_suite_3P, kADMListSuite, kADMListSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_entry_suite_5P, kADMEntrySuite, kADMEntrySuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_notifier_suite_2P, kADMNotifierSuite, kADMNotifierSuiteVersion2); +#endif + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_1P, kAEGPLayerSuite, kAEGPLayerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_1P, kAEGPMaskSuite, kAEGPMaskSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_5P, kAEGPMaskSuite, kAEGPMaskSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_6P, kAEGPMaskSuite, kAEGPMaskSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite_1P, kAEGPCompSuite, kAEGPCompSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(collection_suite_1P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_app_suite_1P, kPFAdvAppSuite, kPFAdvAppSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_1P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(render_options_suite_2P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_render_options_suite_1P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_render_options_suite_2P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(async_manager_suite_1P, kAEGPRenderAsyncManagerSuite, kAEGPRenderAsyncManagerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(proj_suite_5P, kAEGPProjSuite, kAEGPProjSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(proj_suite_6P, kAEGPProjSuite, kAEGPProjSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(footage_suite_5P, kAEGPFootageSuite, kAEGPFootageSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(rq_item_suite_3P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_4P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(persistent_data_suite4P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(persistent_data_suite3P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_3P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_2P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_1P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(color_param_suite_1P, kPFColorParamSuite, kPFColorParamSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_float_suite_1P, kPFSamplingFloatSuite, kPFSamplingFloatSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_5P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_6P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_suite1P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_suite2P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_theme_suite1P, kPFEffectCustomUIOverlayThemeSuite, kPFEffectCustomUIOverlayThemeSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(drawing_suite_currentP, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_supplier_suite_currentP, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_surface_suite_currentP, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_path_suite_currentP, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(suites_suite_2P, kSPSuitesSuite, kSPSuitesSuiteVersion); +} + + // Here is the error handling function which must be defined. + // It must exit by throwing an exception, it cannot return. + void MissingSuiteError() const; + +public: + // To construct, pass pica_basicP + AEGP_SuiteHandler(const SPBasicSuite *pica_basicP); + ~AEGP_SuiteHandler(); + + const SPBasicSuite *Pica() const { return i_pica_basicP; } + + #define AEGP_SUITE_ACCESS_BOILERPLATE(SUITE_NAME, VERSION_NUMBER, SUITE_PREFIX, MEMBER_NAME, kSUITE_NAME, kVERSION_NAME) \ + SUITE_PREFIX##SUITE_NAME##VERSION_NUMBER *SUITE_NAME##VERSION_NUMBER() const \ + { \ + if (i_suites.MEMBER_NAME == NULL) { \ + i_suites.MEMBER_NAME = (SUITE_PREFIX##SUITE_NAME##VERSION_NUMBER*) \ + LoadSuite(kSUITE_NAME, kVERSION_NAME); \ + } \ + return i_suites.MEMBER_NAME; \ + } + + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 1, AEGP_, marker_suite1P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 2, AEGP_, marker_suite2P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 3, AEGP_, marker_suite3P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 3, AEGP_, layer_suite3P, kAEGPLayerSuite, kAEGPLayerSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 4, AEGP_, layer_suite4P, kAEGPLayerSuite, kAEGPLayerSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 5, AEGP_, stream_suite5P, kAEGPStreamSuite, kAEGPStreamSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 4, AEGP_, stream_suite4P, kAEGPStreamSuite, kAEGPStreamSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 3, AEGP_, stream_suite3P, kAEGPStreamSuite, kAEGPStreamSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 2, AEGP_, stream_suite2P, kAEGPStreamSuite, kAEGPStreamSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 1, AEGP_, stream_suite_1P, kAEGPStreamSuite, kAEGPStreamSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 2, AEGP_, dynamic_stream_suite2P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 3, AEGP_, dynamic_stream_suite3P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 4, AEGP_, dynamic_stream_suite4P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 4, AEGP_, keyframe_suite4P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 3, AEGP_, keyframe_suite3P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 1, AEGP_, keyframe_suite_1P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 4, AEGP_, comp_suite4P, kAEGPCompSuite, kAEGPCompSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 5, AEGP_, comp_suite5P, kAEGPCompSuite, kAEGPCompSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 6, AEGP_, comp_suite6P, kAEGPCompSuite, kAEGPCompSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 7, AEGP_, comp_suite7P, kAEGPCompSuite, kAEGPCompSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 8, AEGP_, comp_suite8P, kAEGPCompSuite, kAEGPCompSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 9, AEGP_, comp_suite9P, kAEGPCompSuite, kAEGPCompSuiteVersion9); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 10, AEGP_, comp_suite10P, kAEGPCompSuite, kAEGPCompSuiteVersion10); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 11, AEGP_, comp_suite11P, kAEGPCompSuite, kAEGPCompSuiteVersion11); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 5, AEGP_, canvas_suite5P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 6, AEGP_, canvas_suite6P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 7, AEGP_, canvas_suite7P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 8, AEGP_, canvas_suite8P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(CameraSuite, 2, AEGP_, camera_suite2P, kAEGPCameraSuite, kAEGPCameraSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RegisterSuite, 5, AEGP_, register_suite5P, kAEGPRegisterSuite, kAEGPRegisterSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(MemorySuite, 1, AEGP_, memory_suite1P, kAEGPMemorySuite, kAEGPMemorySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemViewSuite, 1, AEGP_, item_view_suite1P, kAEGPItemViewSuite, kAEGPItemViewSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 9, AEGP_, item_suite9P, kAEGPItemSuite, kAEGPItemSuiteVersion9); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 8, AEGP_, item_suite8P, kAEGPItemSuite, kAEGPItemSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 7, AEGP_, item_suite7P, kAEGPItemSuite, kAEGPItemSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 6, AEGP_, item_suite6P, kAEGPItemSuite, kAEGPItemSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 5, AEGP_, item_suite5P, kAEGPItemSuite, kAEGPItemSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 1, AEGP_, item_suite1P, kAEGPItemSuite, kAEGPItemSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PFInterfaceSuite, 1, AEGP_, pf_interface_suite1P, kAEGPPFInterfaceSuite, kAEGPPFInterfaceSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MathSuite, 1, AEGP_, math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvTimeSuite, 4, PF_, adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(PathQuerySuite, 1, PF_, path_query_suite1P, kPFPathQuerySuite, kPFPathQuerySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PathDataSuite, 1, PF_, path_data_suite1P, kPFPathDataSuite, kPFPathDataSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ParamUtilsSuite, 3, PF_, param_utils_suite3P, kPFParamUtilsSuite, kPFParamUtilsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 4, PF, app_suite4P, kPFAppSuite, kPFAppSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 5, PF, app_suite5P, kPFAppSuite, kPFAppSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 6, PF, app_suite6P, kPFAppSuite, kPFAppSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvAppSuite, 2, PF_, adv_app_suite2P, kPFAdvAppSuite, kPFAdvAppSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(LightSuite, 1, AEGP_, light_suite1P, kAEGPLightSuite, kAEGPLightSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(LightSuite, 2, AEGP_, light_suite2P, kAEGPLightSuite, kAEGPLightSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 1, AEGP_, effect_suite1P, kAEGPEffectSuite, kAEGPEffectSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 2, AEGP_, effect_suite2P, kAEGPEffectSuite, kAEGPEffectSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 3, AEGP_, effect_suite3P, kAEGPEffectSuite, kAEGPEffectSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 4, AEGP_, effect_suite4P, kAEGPEffectSuite, kAEGPEffectSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 4, AEGP_, mask_suite4P, kAEGPMaskSuite, kAEGPMaskSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 1, AEGP_, mask_outline_suite1P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 2, AEGP_, mask_outline_suite2P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 3, AEGP_, mask_outline_suite3P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(CommandSuite, 1, AEGP_, command_suite1P, kAEGPCommandSuite, kAEGPCommandSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 3, AEGP_, utility_suite3P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 1, AEGP_, render_suite1P, kAEGPRenderSuite, kAEGPRenderSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 2, AEGP_, render_suite2P, kAEGPRenderSuite, kAEGPRenderSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 3, AEGP_, render_suite3P, kAEGPRenderSuite, kAEGPRenderSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 4, AEGP_, render_suite4P, kAEGPRenderSuite, kAEGPRenderSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 5, AEGP_, render_suite5P, kAEGPRenderSuite, kAEGPRenderSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ANSICallbacksSuite, 1, PF_, ansi_callbacks_suite1P, kPFANSISuite, kPFANSISuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(HandleSuite, 1, PF_, handle_suite1P, kPFHandleSuite, kPFHandleSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(FillMatteSuite, 2, PF_, fill_matte_suite2P, kPFFillMatteSuite, kPFFillMatteSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldTransformSuite, 1, PF_, world_transform_suite1P, kPFWorldTransformSuite, kPFWorldTransformSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(QueryXformSuite, 2, AEGP_, query_xform_suite2P, kAEGPQueryXformSuite, kAEGPQueryXformSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(CompositeSuite, 2, AEGP_, composite_suite2P, kAEGPCompositeSuite, kAEGPCompositeSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 1, PF_, world_suite1P, kPFWorldSuite, kPFWorldSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IOInSuite, 4, AEGP_, io_in_suite4P, kAEGPIOInSuite, kAEGPIOInSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(IOOutSuite, 4, AEGP_, io_out_suite4P, kAEGPIOOutSuite, kAEGPIOOutSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderQueueSuite, 1, AEGP_, render_queue_suite1P, kAEGPRenderQueueSuite, kAEGPRenderQueueSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RQItemSuite, 2, AEGP_, rq_item_suite2P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(OutputModuleSuite, 4, AEGP_, output_module_suite4P, kAEGPOutputModuleSuite, kAEGPOutputModuleSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(FIMSuite, 3, AEGP_, fim_suite3P, kAEGPFIMSuite, kAEGPFIMSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(Sampling8Suite, 1, PF_, sampling_8_suite1P, kPFSampling8Suite, kPFSampling8SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Sampling16Suite, 1, PF_, sampling_16_suite1P, kPFSampling16Suite, kPFSampling16SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate8Suite, 1, PF_, iterate_8_suite1P, kPFIterate8Suite, kPFIterate8SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate16Suite, 1, PF_, iterate_16_suite1P, kPFIterate16Suite, kPFIterate16SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateFloatSuite, 1, PF_, iterate_float_suite1P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate8Suite, 2, PF_, iterate_8_suite2P, kPFIterate8Suite, kPFIterate8SuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate16Suite, 2, PF_, iterate_16_suite2P, kPFIterate16Suite, kPFIterate16SuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateFloatSuite, 2, PF_, iterate_float_suite2P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(CollectionSuite, 2, AEGP_, collection_suite2P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(TextDocumentSuite, 1, AEGP_, text_document_suite1P, kAEGPTextDocumentSuite, kAEGPTextDocumentSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(SoundDataSuite, 1, AEGP_, sound_data_suite1P, kAEGPSoundDataSuite, kAEGPSoundDataVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateSuite, 1, AEGP_, aegp_iterate_suite1P, kAEGPIterateSuite, kAEGPIterateSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateSuite, 2, AEGP_, aegp_iterate_suite2P, kAEGPIterateSuite, kAEGPIterateSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(TextLayerSuite, 1, AEGP_, text_layer_suite1P, kAEGPTextLayerSuite, kAEGPTextLayerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ArtisanUtilSuite, 1, AEGP_, artisan_util_suite1P, kAEGPArtisanUtilSuite, kAEGPArtisanUtilSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 2, AEGP_, aegp_world_suite_2P, kAEGPWorldSuite, kAEGPWorldSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 3, AEGP_, aegp_world_suite_3P, kAEGPWorldSuite, kAEGPWorldSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 1, AEGP_, render_options_suite_1P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(TrackerSuite, 1, AEGP_, tracker_suite_1P, kAEGPTrackerSuite, kAEGPTrackerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(TrackerUtilitySuite, 1, AEGP_, tracker_utility_suite_1P, kAEGPTrackerUtilitySuite, kAEGPTrackerUtilitySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(HelperSuite, 2, PF_, helper_suite_2P, kPFHelperSuite2, kPFHelperSuite2Version2); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 5, AEGP_, layer_suite_5P, kAEGPLayerSuite, kAEGPLayerSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 6, AEGP_, layer_suite_6P, kAEGPLayerSuite, kAEGPLayerSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 7, AEGP_, layer_suite_7P, kAEGPLayerSuite, kAEGPLayerSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 8, AEGP_, layer_suite_8P, kAEGPLayerSuite, kAEGPLayerSuiteVersion8); +#ifdef I_NEED_ADM_SUPPORT + AEGP_SUITE_ACCESS_BOILERPLATE(BasicSuite, 8, ADM, adm_basic_suite_8P, kADMBasicSuite, kADMBasicSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(DialogSuite, 8, ADM, adm_dialog_suite_8P, kADMDialogSuite, kADMDialogSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(DialogGroupSuite, 3, ADM, adm_dialog_group_suite_3P, kADMDialogGroupSuite, kADMDialogGroupSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 8, ADM, adm_item_suite_8P, kADMItemSuite, kADMItemSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(ListSuite, 3, ADM, adm_list_suite_3P, kADMListSuite, kADMListSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(EntrySuite, 5, ADM, adm_entry_suite_5P, kADMEntrySuite, kADMEntrySuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(NotifierSuite, 2, ADM, adm_notifier_suite_2P, kADMNotifierSuite, kADMNotifierSuiteVersion2); +#endif + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 1, AEGP_, layer_suite_1P, kAEGPLayerSuite, kAEGPLayerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvItemSuite, 1, PF_, adv_item_suite_1P, kPFAdvItemSuite, kPFAdvItemSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 1, AEGP_, mask_suite_1P, kAEGPMaskSuite, kAEGPMaskSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 5, AEGP_, mask_suite_5P, kAEGPMaskSuite, kAEGPMaskSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 6, AEGP_, mask_suite_6P, kAEGPMaskSuite, kAEGPMaskSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 1, AEGP_, comp_suite_1P, kAEGPCompSuite, kAEGPCompSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(CollectionSuite, 1, AEGP_, collection_suite_1P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvAppSuite, 1, PF_, adv_app_suite_1P, kPFAdvAppSuite, kPFAdvAppSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 1, AEGP_, utility_suite_1P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 2, AEGP_, render_options_suite_2P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 3, AEGP_, render_options_suite_3P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerRenderOptionsSuite, 1, AEGP_, layer_render_options_suite_1P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerRenderOptionsSuite, 2, AEGP_, layer_render_options_suite_2P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderAsyncManagerSuite, 1, AEGP_, async_manager_suite_1P, kAEGPRenderAsyncManagerSuite, kAEGPRenderAsyncManagerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ProjSuite, 5, AEGP_, proj_suite_5P, kAEGPProjSuite, kAEGPProjSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ProjSuite, 6, AEGP_, proj_suite_6P, kAEGPProjSuite, kAEGPProjSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(FootageSuite, 5, AEGP_, footage_suite_5P, kAEGPFootageSuite, kAEGPFootageSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(RQItemSuite, 3, AEGP_, rq_item_suite_3P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 4, AEGP_, utility_suite_4P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 3, AEGP_, color_settings_suite_3P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 2, AEGP_, color_settings_suite_2P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 1, AEGP_, color_settings_suite_1P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorParamSuite, 1, PF_, color_param_suite_1P, kPFColorParamSuite, kPFColorParamSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PersistentDataSuite, 4, AEGP_, persistent_data_suite4P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(PersistentDataSuite, 3, AEGP_, persistent_data_suite3P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(SamplingFloatSuite, 1, PF_, sampling_float_suite_1P, kPFSamplingFloatSuite, kPFSamplingFloatSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 5, AEGP_, utility_suite_5P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 6, AEGP_, utility_suite_6P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUISuite, 1, PF_, custom_ui_suite1P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUISuite, 2, PF_, custom_ui_suite2P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUIOverlayThemeSuite, 1, PF_, custom_ui_theme_suite1P, kPFEffectCustomUIOverlayThemeSuite, kPFEffectCustomUIOverlayThemeSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(DrawbotSuite, Current, DRAWBOT_, drawing_suite_currentP, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(SupplierSuite, Current, DRAWBOT_, drawbot_supplier_suite_currentP, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(SurfaceSuite, Current, DRAWBOT_, drawbot_surface_suite_currentP, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(PathSuite, Current, DRAWBOT_, drawbot_path_suite_currentP, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent); + + AEGP_SUITE_ACCESS_BOILERPLATE(SuitesSuite, , SP, suites_suite_2P, kSPSuitesSuite, kSPSuitesSuiteVersion); +}; + +#endif diff --git a/External/AE SDK/Headers/AEGP_Utils.cpp b/External/AE SDK/Headers/AEGP_Utils.cpp new file mode 100644 index 00000000..8b598074 --- /dev/null +++ b/External/AE SDK/Headers/AEGP_Utils.cpp @@ -0,0 +1,37 @@ +#include "AEGP_Utils.h" + + +A_Err GetNewFirstLayerInFirstComp( + SPBasicSuite *sP, + AEGP_LayerH *first_layerPH) +{ + A_Err err = A_Err_NONE; + + AEGP_ItemH itemH = NULL; + AEGP_ItemType type = AEGP_ItemType_NONE; + AEGP_CompH compH = NULL; + AEGP_ProjectH projH = NULL; + A_long num_projectsL = 0, + num_layersL = 0; + + AEGP_SuiteHandler suites(sP); + + ERR(suites.ProjSuite5()->AEGP_GetProjectByIndex(0, &projH)); + ERR(suites.ItemSuite8()->AEGP_GetFirstProjItem(projH, &itemH)); + ERR(suites.ItemSuite6()->AEGP_GetItemType(itemH, &type)); + + while ((itemH != NULL) && (type != AEGP_ItemType_COMP)){ + ERR(suites.ItemSuite6()->AEGP_GetNextProjItem(projH, itemH, &itemH)); + ERR(suites.ItemSuite6()->AEGP_GetItemType(itemH, &type)); + } + if (!err && (type == AEGP_ItemType_COMP)){ + err = suites.CompSuite4()->AEGP_GetCompFromItem(itemH, &compH); + } + if (!err && compH) { + err = suites.LayerSuite5()->AEGP_GetCompNumLayers(compH, &num_layersL); + } + if (!err && num_layersL){ + err = suites.LayerSuite5()->AEGP_GetCompLayerByIndex(compH, 0, first_layerPH); + } + return err; +} \ No newline at end of file diff --git a/External/AE SDK/Headers/AEGP_Utils.h b/External/AE SDK/Headers/AEGP_Utils.h new file mode 100644 index 00000000..a2f2b06f --- /dev/null +++ b/External/AE SDK/Headers/AEGP_Utils.h @@ -0,0 +1,9 @@ +#include "A.h" +#include "AE_GeneralPlug.h" +#include "AEGP_SuiteHandler.h" +#include "AE_Macros.h" + +A_Err GetNewFirstLayerInFirstComp( + SPBasicSuite *sP, + AEGP_LayerH *first_layerPH); + diff --git a/External/AE SDK/Headers/AE_AdvEffectSuites.h b/External/AE SDK/Headers/AE_AdvEffectSuites.h new file mode 100644 index 00000000..5ea6901d --- /dev/null +++ b/External/AE SDK/Headers/AE_AdvEffectSuites.h @@ -0,0 +1,343 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_AE_AdvEffectSuites +#define _H_AE_AdvEffectSuites + +#include +#include +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + + +#define kPFAdvAppSuite "PF AE Adv App Suite" +#define kPFAdvAppSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_AdvAppSuite1 { + + SPAPI PF_Err (*PF_SetProjectDirty)(void); + + SPAPI PF_Err (*PF_SaveProject)(void); + + SPAPI PF_Err (*PF_SaveBackgroundState)(void); + + SPAPI PF_Err (*PF_ForceForeground)(void); + + SPAPI PF_Err (*PF_RestoreBackgroundState)(void); + + SPAPI PF_Err (*PF_RefreshAllWindows)(void); + + // 2 lines of text, same as calling PF_InfoDrawText3( line1Z0, line2Z0, NULL) + SPAPI PF_Err (*PF_InfoDrawText)( + const A_char *line1Z0, + const A_char *line2Z0); + + SPAPI PF_Err (*PF_InfoDrawColor)( + PF_Pixel color); + + // 3 lines of text + SPAPI PF_Err (*PF_InfoDrawText3)( + const A_char *line1Z0, + const A_char *line2Z0, + const A_char *line3Z0); + + // 3 lines, with two lines including formatting for right and left justification + SPAPI PF_Err (*PF_InfoDrawText3Plus)( + const A_char *line1Z0, + const A_char *line2_jrZ0, + const A_char *line2_jlZ0, + const A_char *line3_jrZ0, + const A_char *line3_jlZ0); + +} PF_AdvAppSuite1; + + + + + +#define kPFAdvAppSuiteVersion2 2/* to be frozen in AE 6.0 */ + +typedef struct PF_AdvAppSuite2 { + + SPAPI PF_Err (*PF_SetProjectDirty)(void); + + SPAPI PF_Err (*PF_SaveProject)(void); + + SPAPI PF_Err (*PF_SaveBackgroundState)(void); + + SPAPI PF_Err (*PF_ForceForeground)(void); + + SPAPI PF_Err (*PF_RestoreBackgroundState)(void); + + SPAPI PF_Err (*PF_RefreshAllWindows)(void); + + // 2 lines of text, same as calling PF_InfoDrawText3( line1Z0, line2Z0, NULL) + SPAPI PF_Err (*PF_InfoDrawText)( + const A_char *line1Z0, + const A_char *line2Z0); + + SPAPI PF_Err (*PF_InfoDrawColor)( + PF_Pixel color); + + // 3 lines of text + SPAPI PF_Err (*PF_InfoDrawText3)( + const A_char *line1Z0, + const A_char *line2Z0, + const A_char *line3Z0); + + // 3 lines, with two lines including formatting for right and left justification + SPAPI PF_Err (*PF_InfoDrawText3Plus)( + const A_char *line1Z0, + const A_char *line2_jrZ0, + const A_char *line2_jlZ0, + const A_char *line3_jrZ0, + const A_char *line3_jlZ0); + + // append a line of text to top line for so many ticks + SPAPI PF_Err (*PF_AppendInfoText)( + const A_char *appendZ0); + + +} PF_AdvAppSuite2; + + + +#define PF_MAX_TIME_LEN 31 + +enum { + PF_Step_FORWARD, + PF_Step_BACKWARD +}; +typedef A_LegacyEnumType PF_Step; + +enum { + PF_TimeDisplayFormatTimecode, + PF_TimeDisplayFormatFrames, + PF_TimeDisplayFormatFeetFrames // OBSOLETE: returned only by kPFAdvTimeSuiteVersion1 +}; + +typedef struct { + A_char display_mode; + A_long framemax; + A_long frames_per_foot; + A_char frames_start; + A_Boolean nondrop30B; + A_Boolean honor_source_timecodeB; + A_Boolean use_feet_framesB; +} PF_TimeDisplayPrefVersion3; + + + +#define kPFAdvTimeSuite "PF AE Adv Time Suite" +#define kPFAdvTimeSuiteVersion4 4 //frozen for ae15.0 + +typedef struct PF_AdvTimeSuite4 { + + SPAPI PF_Err (*PF_FormatTimeActiveItem)( A_long time_valueUL, // time is value/scale in seconds + A_u_long time_scaleL, + PF_Boolean durationB, // is the time value a duration or time? + A_char *time_buf); // allocate as PF_MAX_TIME_LEN + 1 + + SPAPI PF_Err (*PF_FormatTime)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_FormatTimePlus)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean comp_timeB, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_GetTimeDisplayPref)( PF_TimeDisplayPrefVersion3 *tdp, + A_long *starting_frame_num); + + SPAPI PF_Err (*PF_TimeCountFrames)( const A_Time* start_timeTP, + const A_Time* time_stepTP, + A_Boolean include_partial_frameB, + A_long* frame_countL); + +} PF_AdvTimeSuite4; + + +#define kPFAdvTimeSuite "PF AE Adv Time Suite" +#define kPFAdvTimeSuiteVersion3 3 //frozen for ae14.2 + +typedef struct PF_AdvTimeSuite3 { + + SPAPI PF_Err (*PF_FormatTimeActiveItem)( A_long time_valueUL, // time is value/scale in seconds + A_u_long time_scaleL, + PF_Boolean durationB, // is the time value a duration or time? + A_char *time_buf); // allocate as PF_MAX_TIME_LEN + 1 + + SPAPI PF_Err (*PF_FormatTime)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_FormatTimePlus)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean comp_timeB, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_GetTimeDisplayPref)( PF_TimeDisplayPrefVersion3 *tdp, + A_long *starting_frame_num); + +} PF_AdvTimeSuite3; + + +#define kPFAdvTimeSuiteVersion2 2 + +typedef struct { + A_char display_mode; + A_char framemax; + A_char frames_per_foot; + A_char frames_start; + A_Boolean nondrop30B; + A_Boolean honor_source_timecodeB; + A_Boolean use_feet_framesB; +} PF_TimeDisplayPrefVersion2; + +typedef struct PF_AdvTimeSuite2 { + + SPAPI PF_Err (*PF_FormatTimeActiveItem)( A_long time_valueUL, // time is value/scale in seconds + A_u_long time_scaleL, + PF_Boolean durationB, // is the time value a duration or time? + A_char *time_buf); // allocate as PF_MAX_TIME_LEN + 1 + + SPAPI PF_Err (*PF_FormatTime)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_FormatTimePlus)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean comp_timeB, + PF_Boolean durationB, + A_char *time_buf); + + + SPAPI PF_Err (*PF_GetTimeDisplayPref)( PF_TimeDisplayPrefVersion2 *tdp, + A_long *starting_frame_num); + + + +} PF_AdvTimeSuite2; + + + +#define kPFAdvTimeSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct { + A_char time_display_format; + A_char framemax; + A_char nondrop30; + A_char frames_per_foot; +} PF_TimeDisplayPref; + +typedef struct PF_AdvTimeSuite1 { + + SPAPI PF_Err (*PF_FormatTimeActiveItem)( A_long time_valueUL, // time is value/scale in seconds + A_u_long time_scaleL, + PF_Boolean durationB, // is the time value a duration or time? + A_char *time_buf); // allocate as PF_MAX_TIME_LEN + 1 + + SPAPI PF_Err (*PF_FormatTime)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean durationB, + A_char *time_buf); + + SPAPI PF_Err (*PF_FormatTimePlus)( PF_InData *in_data, + PF_EffectWorld *world, + A_long time_valueUL, + A_u_long time_scaleL, + PF_Boolean comp_timeB, + PF_Boolean durationB, + A_char *time_buf); + + + SPAPI PF_Err (*PF_GetTimeDisplayPref)( PF_TimeDisplayPref *tdp, + A_long *starting_frame_num); + +} PF_AdvTimeSuite1; + + + +#define kPFAdvItemSuite "PF AE Adv Item Suite" +#define kPFAdvItemSuiteVersion1 1 /* frozen in AE 5.0 */ + + + +typedef struct PF_AdvItemSuite1 { + + SPAPI PF_Err (*PF_MoveTimeStep)( PF_InData *in_data, + PF_EffectWorld *world, + PF_Step time_dir, + A_long num_stepsL); + + SPAPI PF_Err (*PF_MoveTimeStepActiveItem) ( PF_Step time_dir, + A_long num_stepsL); + + + SPAPI PF_Err (*PF_TouchActiveItem) (void); + + + SPAPI PF_Err (*PF_ForceRerender)( PF_InData *in_data, + PF_EffectWorld *world); + + + SPAPI PF_Err (*PF_EffectIsActiveOrEnabled)( PF_ContextH contextH, + PF_Boolean *enabledPB); + + +} PF_AdvItemSuite1; + + + +#ifdef __cplusplus +} +#endif + +#include + + +#endif diff --git a/External/AE SDK/Headers/AE_CacheOnLoadSuite.h b/External/AE SDK/Headers/AE_CacheOnLoadSuite.h new file mode 100644 index 00000000..3572ce71 --- /dev/null +++ b/External/AE SDK/Headers/AE_CacheOnLoadSuite.h @@ -0,0 +1,39 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2003 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef AECACHEONLOADSUITE +#define AECACHEONLOADSUITE + +/** +** CacheOnLoadSuite, used to signal whether or not the plugin needs to load from +** disk every time on startup. +*/ +#define kPFCacheOnLoadSuite "PF Cache On Load Suite" +#define kPFCacheOnLoadSuiteVersion1 1 + +typedef struct PF_CacheOnLoadSuite1 { + + SPAPI PF_Err (*PF_SetNoCacheOnLoad)( PF_ProgPtr effect_ref, + long effectAvailable); + +} PF_CacheOnLoadSuite1; + +#endif // AECACHEONLOADSUITE \ No newline at end of file diff --git a/External/AE SDK/Headers/AE_ChannelSuites.h b/External/AE SDK/Headers/AE_ChannelSuites.h new file mode 100644 index 00000000..3ce87f56 --- /dev/null +++ b/External/AE SDK/Headers/AE_ChannelSuites.h @@ -0,0 +1,509 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + +#ifndef _H_AE_ChannelSuites +#define _H_AE_ChannelSuites + +#include +#include + +#include + + +#ifdef __cplusplus + extern "C" { +#endif + + +/** PF_ChannelSuite + + PF_GetLayerChannelCount + use this to find the number of channels associated with a given source layer + Most likely use is to get number of channels for iteration purposes. + + -param_index is the parameter index of the layer whose source you wish to interrogate + -num_paramsL is the number of "auxillary" channels + + + PF_GetLayerIndexedChannelRefAndDesc + Given a channel index return the opaque channelRef and a channel description + channel index must lie between 0 and num_channels-1 + you will use the channelRef in all subsequent calls + + PF_GetLayerTypedChannelRefAndDesc + Given a type retrieve the channelRef and ChannelDescription + + PF_CheckoutLayerChannel + given the time parameters and a channel reference, get the data + The data chunk is allocated is of the type requested. + The data is in chunky format. + + + + PF_ProgPtr effect_ref, >> + PF_ChannelRefPtr channel_refP, >> + A_long what_time, >> + A_long duration, >> + A_u_long time_scale, >> + PF_DataType data_type, >> + PF_ChannelData *channel_chunkP) <<------ + + PF_CheckinLayerChannel + The checked out channel must be checked in to avoid memory leaks. + PF_ProgPtr effect_ref, + PF_ChannelRefPtr channel_refP, + PF_ChannelDataPtr channel_data_chunkP + +**/ + +#define PF_CHANNEL_DEPTH_INFINITY 1e7 + +#define kPFChannelSuite1 "PF AE Channel Suite" +#define kPFChannelSuiteVersion1 1 /* frozen in AE 5.0 */ + + + + +/** + ** channel data access macros with a check for the type + **/ + +#define PF_GET_CHANNEL_FLOAT_DATA( CHUNK, FLOAT_PTR) \ + do { \ + if ( (CHUNK).data_type == PF_DataType_FLOAT) { \ + FLOAT_PTR = (A_FpShort *) (CHUNK).dataPV; \ + } else { \ + FLOAT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_DOUBLE_DATA( CHUNK, DOUBLE_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_DOUBLE) { \ + DOUBLE_PTR = (A_FpLong *) (CHUNK).dataPV; \ + } else { \ + DOUBLE_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_LONG_DATA( CHUNK, LONG_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_LONG) { \ + LONG_PTR = (A_long *) (CHUNK).dataPV; \ + } else { \ + LONG_PTR = NULL; \ + } \ + } while(0) + + + +#define PF_GET_CHANNEL_SHORT_DATA( CHUNK, SHORT_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_SHORT) { \ + SHORT_PTR = (A_short *) (CHUNK).dataPV; \ + } else { \ + SHORT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_FIXED_DATA( CHUNK, FIXED_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_FIXED_16_16) { \ + FIXED_PTR = (A_long *) (CHUNK).dataPV; \ + } else { \ + FIXED_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_CHAR_DATA( CHUNK, CHAR_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_CHAR) { \ + CHAR_PTR = (A_char *) (CHUNK).dataPV; \ + } else { \ + CHAR_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_U_BYTE_DATA( CHUNK, BYTE_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_U_BYTE) { \ + BYTE_PTR = (A_u_char *) (CHUNK).dataPV; \ + } else { \ + BYTE_PTR = NULL; \ + } \ + } while(0) + + + + + +#define PF_GET_CHANNEL_U_SHORT_DATA( CHUNK, U_SHORT_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_U_SHORT) { \ + U_SHORT_PTR = (A_u_short *) (CHUNK).dataPV;\ + } else { \ + U_SHORT_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_U_FIXED_DATA( CHUNK, U_FIXED_PTR) \ + do { \ + if ((CHUNK).data_type == PF_DataType_U_FIXED_16_16) { \ + U_FIXED_PTR = (A_u_long) (CHUNK).dataPV; \ + } else { \ + U_FIXED_PTR = NULL; \ + } \ + } while(0) + + + + +/** + ** get a row of the chunk data + **/ +#define PF_GET_CHANNEL_ROW_FLOAT_DATA( CHUNK, ROW, FLOAT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_FLOAT) && ((ROW) < (CHUNK).heightL)) { \ + FLOAT_PTR = (A_FpShort *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + FLOAT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_DOUBLE_DATA( CHUNK, ROW, DOUBLE_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_DOUBLE) && ((ROW) < (CHUNK).heightL)) { \ + DOUBLE_PTR = (A_FpLong *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + DOUBLE_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_LONG_DATA( CHUNK, ROW, LONG_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_LONG) && ((ROW) < (CHUNK).heightL)) { \ + LONG_PTR = (A_long *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + LONG_PTR = NULL; \ + } \ + } while(0) + + + +#define PF_GET_CHANNEL_ROW_SHORT_DATA( CHUNK, ROW, SHORT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_SHORT) && ((ROW) < (CHUNK).heightL)) { \ + SHORT_PTR = (A_short *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + SHORT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_FIXED_DATA( CHUNK, ROW, FIXED_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_FIXED_16_16) && ((ROW) < (CHUNK).heightL)) { \ + FIXED_PTR = (A_long *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + FIXED_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_CHAR_DATA( CHUNK, ROW, CHAR_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_CHAR) && ((ROW) < (CHUNK).heightL)) { \ + CHAR_PTR = (A_char *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + CHAR_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_U_BYTE_DATA( CHUNK, ROW, BYTE_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_BYTE) && ((ROW) < (CHUNK).heightL)) { \ + BYTE_PTR = (A_u_char *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + BYTE_PTR = NULL; \ + } \ + } while(0) + + + + + +#define PF_GET_CHANNEL_ROW_U_SHORT_DATA( CHUNK, ROW, U_SHORT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_SHORT) && ((ROW) < (CHUNK).heightL)) { \ + U_SHORT_PTR = (A_u_short *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + U_SHORT_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_U_FIXED_DATA( CHUNK, ROW, U_FIXED_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_FIXED_16_16) && ((ROW) < (CHUNK).heightL)) { \ + U_FIXED_PTR = (A_u_long) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + } else { \ + U_FIXED_PTR = NULL; \ + } \ + } while(0) + + + + + + +/** + ** get a item from the chunk data + **/ +#define PF_GET_CHANNEL_ROW_COL_FLOAT_DATA( CHUNK, ROW, COL, FLOAT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_FLOAT) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + FLOAT_PTR = (A_FpShort *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + FLOAT_PTR = (A_FpShort *)FLOAT_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + FLOAT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_COL_DOUBLE_DATA( CHUNK, ROW, COL, DOUBLE_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_DOUBLE) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + DOUBLE_PTR = (A_FpLong *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + DOUBLE_PTR = (A_FpLong *)DOUBLE_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + DOUBLE_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_COL_LONG_DATA( CHUNK, ROW, COL, LONG_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_LONG) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + LONG_PTR = (A_long *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + LONG_PTR = (A_long *) LONG_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + LONG_PTR = NULL; \ + } \ + } while(0) + + + +#define PF_GET_CHANNEL_ROW_COL_SHORT_DATA( CHUNK, ROW, COL, SHORT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_SHORT) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + SHORT_PTR = (A_short *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + SHORT_PTR = (A_short *) SHORT_PTR + (COL) * (CHUNK).dimensionL;\ + } else { \ + SHORT_PTR = NULL; \ + } \ + } while(0) + + +#define PF_GET_CHANNEL_ROW_COL_FIXED_DATA( CHUNK, ROW, COL, FIXED_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_FIXED_16_16) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + FIXED_PTR = (A_long *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + FIXED_PTR = (A_long *) FIXED_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + FIXED_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_COL_CHAR_DATA( CHUNK, ROW, COL, CHAR_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_CHAR) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + CHAR_PTR = (A_char *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + CHAR_PTR = (A_char *) CHAR_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + CHAR_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_COL_U_BYTE_DATA( CHUNK, ROW, COL, BYTE_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_BYTE) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + BYTE_PTR = (A_u_char *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + BYTE_PTR = (A_u_char *) BYTE_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + BYTE_PTR = NULL; \ + } \ + } while(0) + + + + + +#define PF_GET_CHANNEL_ROW_COL_U_SHORT_DATA( CHUNK, ROW, COL, U_SHORT_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_SHORT) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + U_SHORT_PTR = (A_u_short *) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + U_SHORT_PTR = (A_u_short *) U_SHORT_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + U_SHORT_PTR = NULL; \ + } \ + } while(0) + + + + +#define PF_GET_CHANNEL_ROW_COL_U_FIXED_DATA( CHUNK, ROW, COL, U_FIXED_PTR) \ + do { \ + if (((CHUNK).data_type == PF_DataType_U_FIXED_16_16) && \ + ((ROW) >= 0) && \ + ((COL) >= 0) && \ + ((ROW) < (CHUNK).heightL) && \ + ((COL) < (CHUNK).widthL)) { \ + U_FIXED_PTR = (A_u_long) ((A_char *)(CHUNK).dataPV + (ROW) * (CHUNK).row_bytesL); \ + U_FIXED_PTR = (A_u_long) U_FIXED_PTR + (COL) * (CHUNK).dimensionL; \ + } else { \ + U_FIXED_PTR = NULL; \ + } \ + } while(0) + + + + + + +/** + ** the suite functions + **/ + +typedef struct PF_ChannelSuite1 { /* frozen in AE 5.0 */ + + SPAPI PF_Err (*PF_GetLayerChannelCount)( + PF_ProgPtr effect_ref, /* >> */ + PF_ParamIndex param_index, /* >> */ + A_long *num_channelsPL); /* << */ + + SPAPI PF_Err (*PF_GetLayerChannelIndexedRefAndDesc)( + PF_ProgPtr effect_ref, /* >> */ + PF_ParamIndex param_index, /* >> */ + PF_ChannelIndex channel_index, /* >> */ + PF_Boolean *foundPB, /* << */ + PF_ChannelRef *channel_refP, /* << */ + PF_ChannelDesc *channel_descP); /* << */ + + + SPAPI PF_Err (*PF_GetLayerChannelTypedRefAndDesc)( + PF_ProgPtr effect_ref, /* >> */ + PF_ParamIndex param_index, /* >> */ + PF_ChannelType channel_type, /* >> */ + PF_Boolean *foundPB, /* << */ + PF_ChannelRef *channel_refP, /* << */ + PF_ChannelDesc *channel_descP); /* << */ + + SPAPI PF_Err (*PF_CheckoutLayerChannel)( + PF_ProgPtr effect_ref, /* >> */ + PF_ChannelRefPtr channel_refP, /* >> */ + A_long what_time, /* >> */ + A_long duration, /* >> */ + A_u_long time_scale, /* >> */ + PF_DataType data_type, /* << */ + PF_ChannelChunk *channel_chunkP); /* << */ + + + SPAPI PF_Err (*PF_CheckinLayerChannel)( + PF_ProgPtr effect_ref, /* >> */ + PF_ChannelRefPtr channel_refP, /* >> */ + PF_ChannelChunk *channel_chunkP); /* << */ + + +} PF_ChannelSuite1; + + + + + +#ifdef __cplusplus + } // end extern "C" +#endif + + +#include + + +#endif diff --git a/External/AE SDK/Headers/AE_ComputeCacheSuite.h b/External/AE SDK/Headers/AE_ComputeCacheSuite.h new file mode 100644 index 00000000..e11481d5 --- /dev/null +++ b/External/AE SDK/Headers/AE_ComputeCacheSuite.h @@ -0,0 +1,175 @@ +/******************************************************************** +* ADOBE CONFIDENTIAL +* __________________ +* +* Copyright 2020 Adobe Inc. +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains +* the property of Adobe and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe +* and its suppliers and are protected by all applicable intellectual +* property laws, including trade secret and copyright laws. +* Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained +* from Adobe. +********************************************************************/ + +#ifndef _H_AE_ComputeCacheSuite +#define _H_AE_ComputeCacheSuite + +#include +#include + +#ifdef AEGP_INTERNAL + #include +#endif + +#ifdef __cplusplus + extern "C" { +#endif + +///////////////////////////////////// MC Compute -- plugin registration of cached computations + +// Globally unique identifier for the compute class, such as "adobe.ae.effect.test_effect.cache_v_1" +typedef const char *AEGP_CCComputeClassIdP; + +typedef void *AEGP_CCComputeOptionsRefconP; // opaque content provided by plugin for generating key and value. Input to the compute. +typedef void *AEGP_CCComputeValueRefconP; // opaque compute result from the plugin + + +// GUID used as the cache key. +typedef struct AEGP_GUID { + A_long bytes[4]; +} AEGP_GUID; + +typedef AEGP_GUID AEGP_CCComputeKey; +typedef AEGP_CCComputeKey *AEGP_CCComputeKeyP; + +typedef void *AEGP_CCCheckoutReceiptP; + +// +// The effect supplies implementations of these callbacks. +// +typedef struct AEGP_ComputeCacheCallbacks { + // Cache key. Called when creating a cache entry and when doing a cache lookup. Should be fast to compute. All of the inputs + // needed to uniquely address the cache entry must be hashed into the key. If a layer checkout is needed to calculate the cache + // value, such as with a histogram, then the hash of that input must be included. See PF_ParamUtilsSuite::PF_GetCurrentState + // to get the hash for a layer param. Note this is the hash of the inputs needed to generate the frame, not a hash the pixels + // in the frame, thus a render is not triggered when making this call. + A_Err (*generate_key)( + AEGP_CCComputeOptionsRefconP optionsP, + AEGP_CCComputeKeyP out_keyP); + + // The expensive call. Generate the cache data from the input parameters. + A_Err (*compute)( + AEGP_CCComputeOptionsRefconP optionsP, + AEGP_CCComputeValueRefconP *out_valuePP); + + // The computed value may not be a flat data structure. This should return the total memory footprint. The size is an input + // to the cache purging heuristic. + size_t (*approx_size_value)( + AEGP_CCComputeValueRefconP valueP); + + // The computed value lives in the cache. This is called to free the value when the cached is to be purged. All resources + // owned by the cache value must be freed here. + void (*delete_compute_value)( + AEGP_CCComputeValueRefconP valueP); +} AEGP_ComputeCacheCallbacks; + + + +#define kAEGPComputeCacheSuite "AEGP Compute Cache" +#define kAEGPComputeCacheSuiteVersion1 1 /* frozen in AE 18.2 */ + +typedef struct AEGP_ComputeCacheSuite1 { + + // Register a cache type. + SPAPI A_Err (*AEGP_ClassRegister)( + AEGP_CCComputeClassIdP compute_classP, + const AEGP_ComputeCacheCallbacks *callbacksP); + + // Unregister a cache type. Note that all cached values will be purged at this time since the delete_compute_value callback + // is how cache entries are deleted, and delete_compute_value is not available after unregister. + SPAPI A_Err (*AEGP_ClassUnregister)( + AEGP_CCComputeClassIdP compute_classP); + + + // This is the main checkout call. + // + // When adding cache support one of the first questions to answer is if a single render call needs to checkout more than one + // cache value. If more than one cache value is needed then the multi-checkout pattern, below, can be applied to concurrently + // calculate the caches across multiple render calls and thus avoid serialization of the compute. + // + // SINGLE CACHE VALUE + // If a render call only needs one cache value then set wait_for_other_threadB to true. The checkout call will return a receipt, + // possibly calling the compute callback to populate the cache; or waiting on another thread that had already started the + // needed computation. + // + // MULTI-CHECKOUT + // If a render call needs multiple cache values then this pattern can be used to keep the render threads utilized and thus + // avoid serializing the compute. + // Render() + // { + // bool first_err = AEGP_ComputeIfNeededAndCheckout(first_options, do_not_wait); + // bool second_err = AEGP_ComputeIfNeededAndCheckout(second_options, do_not_wait); + // // Add as many additional do_not_wait checkout calls here as needed. + // + // if(first_err == A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING) { + // AEGP_ComputeIfNeededAndCheckout(wait); + // } + // if(second_err == A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING) { + // AEGP_ComputeIfNeededAndCheckout(wait); + // } + // // Add as many additional waiting checkout calls here as needed + // } + // + // wait_for_other_threadB + // CACHE STATE || FALSE TRUE | + // ================++========================+========================+ + // No cache || Compute and checkout | Compute and checkout | + // ----------------++------------------------+------------------------+ + // Being computed || Return error, see | Wait for the other | + // by another thread || below. | thread and checkout | + // ----------------++------------------------+------------------------+ + // Cached || Checkout | Checkout | + // ----------------++------------------------+------------------------+ + // + // Returns A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING if wait_for_other_threadB is false and another thread is currently computing + // the cache value. Note that the host will not notify the user of this error; it will be silent to the user. + // + // Must call AEGP_CheckinComputeReceipt on success. Check-in must be done before returning to the host. + SPAPI A_Err (*AEGP_ComputeIfNeededAndCheckout)( + AEGP_CCComputeClassIdP compute_classP, + AEGP_CCComputeOptionsRefconP opaque_optionsP, + bool wait_for_other_threadB, + AEGP_CCCheckoutReceiptP *compute_receiptPP); + + // This call does a cache check, and thus should return always quickly. It does not do compute nor does it wait for another + // thread that is populating the cache. + // This call could be used to implement a polling pattern where another piece of code is expected to populate the cache. For + // example, a UI thread could poll the cache regularly for a histogram that is generated on a render thread. + // + // Either returns cache value or A_Err_NOT_IN_CACHE_OR_COMPUTE_PENDING if cache miss. + // Must call AEGP_CheckinComputeReceipt on success. Check-in must be done before returning to the host. + SPAPI A_Err (*AEGP_CheckoutCached)( + AEGP_CCComputeClassIdP compute_classP, + AEGP_CCComputeOptionsRefconP opaque_optionsP, + AEGP_CCCheckoutReceiptP *compute_receiptPP); + + // Get the cache value from a checkout receipt. + SPAPI A_Err (*AEGP_GetReceiptComputeValue)( + const AEGP_CCCheckoutReceiptP compute_receiptP, + AEGP_CCComputeValueRefconP *compute_valuePP); + + // Check-in a receipt. + SPAPI A_Err (*AEGP_CheckinComputeReceipt)( + AEGP_CCCheckoutReceiptP compute_receiptP ); + +} AEGP_ComputeCacheSuite1; + +#ifdef __cplusplus + } // end extern "C" +#endif + +#endif diff --git a/External/AE SDK/Headers/AE_CreatorInfo.h b/External/AE SDK/Headers/AE_CreatorInfo.h new file mode 100644 index 00000000..2867c1a0 --- /dev/null +++ b/External/AE SDK/Headers/AE_CreatorInfo.h @@ -0,0 +1 @@ +/*******************************************************************/ /* */ /* ADOBE CONFIDENTIAL */ /* _ _ _ _ _ _ _ _ _ _ _ _ _ */ /* */ /* Copyright 2007 Adobe Systems Incorporated */ /* All Rights Reserved. */ /* */ /* NOTICE: All information contained herein is, and remains the */ /* property of Adobe Systems Incorporated and its suppliers, if */ /* any. The intellectual and technical concepts contained */ /* herein are proprietary to Adobe Systems Incorporated and its */ /* suppliers and may be covered by U.S. and Foreign Patents, */ /* patents in process, and are protected by trade secret or */ /* copyright law. Dissemination of this information or */ /* reproduction of this material is strictly forbidden unless */ /* prior written permission is obtained from Adobe Systems */ /* Incorporated. */ /* */ /*******************************************************************/ /* If you'd like After Effects to open files created by your application IN your application, embed this structure in that file. Data must be in Motorola byte order. Your application must then respond to the appleEvent (mac) or the command line flags (win) that are specified in the structure. */ #define ADBE_CREATOR_ATOM_TYPE 'Cr8r' #define CR8R_MAGIC 0xBEEFCAFE #define ADBE_CREATOR_ATOM_VERS_MAJOR 1 #define ADBE_CREATOR_ATOM_VERS_MINOR 0 typedef struct adbe_creator_atom { unsigned long magicLu; // set to CR8R_MAGIC long atom_sizeL; // size of this structure (sizeof(CR8R_CreatorAtom)) short atom_vers_majorS; // set to ADBE_CREATOR_ATOM_VERS_MAJOR short atom_vers_minorS; // set to ADBE_CREATOR_ATOM_VERS_MINOR // mac unsigned long creator_codeLu; // application code on MacOS unsigned long creator_eventLu; // invocation appleEvent // windows char creator_extAC[16]; // extension allowing registry search to app char creator_flagAC[16]; // flag passed to app at invocation time char creator_nameAC[32]; // name of the creator application } CR8R_CreatorAtom, **CR8R_CreatorAtomHandle; \ No newline at end of file diff --git a/External/AE SDK/Headers/AE_Effect.h b/External/AE SDK/Headers/AE_Effect.h new file mode 100644 index 00000000..bb1107b2 --- /dev/null +++ b/External/AE SDK/Headers/AE_Effect.h @@ -0,0 +1,3049 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + +/** AE_Effect.h + + Part of the After Effects SDK + + CONTENTS + Version Information + Constants And Enumerations + Output Flags + Input Flags + Command Selectors + Simple Types + Pixel Access Macros + Effect Parameter Description Structures + Interaction Callbacks + Effect Parameter Blocks + Effect Prototype + + NOTES + It may be easiest to start reading this file at the bottom + and work your way, section by section, to the top. Of course, + the best thing to do is start with the sample filter and the + work your way from that back through the goodies in this file. + + All strings in this spec are NULL-terminated (C strings). + +**/ + +// This stuff is a test to make sure that no code is including +// this file with contradictory settings of A_INTERNAL. It must +// come *before* the _H_AE_Effect "include once" test. +// You can define A_SUPPRESS_A_INTERNAL_WARNING if you have a plugin +// that breaks this rule innocently. +#ifdef A_INTERNAL + #define A_INTERNAL_TEST_ONE 1 +#else + #define A_INTERNAL_TEST_TWO 1 +#endif + +#if (A_INTERNAL_TEST_ONE && A_INTERNAL_TEST_TWO) + #ifndef A_SUPPRESS_A_INTERNAL_WARNING + #pragma message("Warning: You have included AE_Effect.h once with A_INTERNAL set and once without.") + #endif +#endif + +// End of A_INTERNAL consistency check. + + +#ifndef _H_AE_Effect +#define _H_AE_Effect + +#ifdef A_INTERNAL + #include "PF_Private.h" +#endif + +#include "A.h" +#if defined(__APPLE__) +#include +#endif +#include + + +#ifdef __cplusplus + extern "C" { +#endif + +#ifndef __cplusplus + #if defined(__ANDROID__) + #include + #endif +#endif + +/** -------------------- Version Information ---------------------------------- + ** + ** Please use these macros for designating the version information + ** of your plug-ins. Should After Effects encounter more than one version + ** of a specific plug-in when it starts up, it will use this information + ** to decide which plug-in to honor. The plug-in version information + ** (field 'my_version' in the PF_OutData) should be set at GLOBAL_SETUP + ** time. + ** + ** This version information is meant for your version control, and should + ** not be confused with the min_version and desired_version fields in the + ** PF_OutData structure, which refer to the version of the PF specification. + ** + **/ + +#define PF_Vers_BUILD_BITS 0x1ffL +#define PF_Vers_BUILD_SHIFT 0 +#define PF_Vers_STAGE_BITS 0x3L +#define PF_Vers_STAGE_SHIFT 9 +#define PF_Vers_BUGFIX_BITS 0xfL +#define PF_Vers_BUGFIX_SHIFT 11 +#define PF_Vers_SUBVERS_BITS 0xfL +#define PF_Vers_SUBVERS_SHIFT 15 +#define PF_Vers_VERS_BITS 0x7L // incomplete without high bits, below +#define PF_Vers_VERS_SHIFT 19 +// skipping these bits for similarity to Up_Vers_ARCH_*, currently unused in PF +#define PF_Vers_VERS_HIGH_BITS 0xfL // expand version max from 7 to 127 +#define PF_Vers_VERS_HIGH_SHIFT 26 + +// b/c we are stripping the stand alone vers value for two fields +#define PF_Vers_VERS_LOW_SHIFT 3 +#define PF_Vers_VERS_HIGH(vers) ((vers)>>PF_Vers_VERS_LOW_SHIFT) + +#define PF_VERSION(vers, subvers, bugvers, stage, build) \ + (A_u_long)( \ + ((((A_u_long)PF_Vers_VERS_HIGH(vers)) & PF_Vers_VERS_HIGH_BITS) << PF_Vers_VERS_HIGH_SHIFT) | \ + ((((A_u_long)(vers)) & PF_Vers_VERS_BITS) << PF_Vers_VERS_SHIFT) | \ + ((((A_u_long)(subvers)) & PF_Vers_SUBVERS_BITS)<> PF_Vers_VERS_SHIFT) & PF_Vers_VERS_BITS) + (((vers >> PF_Vers_VERS_HIGH_SHIFT) & PF_Vers_VERS_HIGH_BITS) << PF_Vers_VERS_LOW_SHIFT)) + +#define PF_Version_SUBVERS(vers) \ + ((((A_u_long) vers) >> PF_Vers_SUBVERS_SHIFT) & PF_Vers_SUBVERS_BITS) + +#define PF_Version_BUGFIX(vers) \ + ((((A_u_long) vers) >> PF_Vers_BUGFIX_SHIFT) & PF_Vers_BUGFIX_BITS) + +#define PF_Version_STAGE(vers) \ + ((((A_u_long) vers) >> PF_Vers_STAGE_SHIFT) & PF_Vers_STAGE_BITS) + +#define PF_Version_BUILD(vers) \ + ((((A_u_long) vers) >> PF_Vers_BUILD_SHIFT) & PF_Vers_BUILD_BITS) + + +enum { + PF_Stage_DEVELOP, + PF_Stage_ALPHA, + PF_Stage_BETA, + PF_Stage_RELEASE +}; +typedef A_long PF_Stage; + + + + + + +/** -------------------- Constants And Enumerations -------------------- + + These version numbers refer to the PF_AE_PLUG_IN_VERSION & SUBVERSION of all releases of AE, and, correspondingly, + the API used by each plug-in (i.e. the SDK that the plug-in is compiled against). The plug-in can check this number + (PF_SpecVersion version field in in_data) to see which API the host supports, and the host can check to see what API + the plug-in is expecting (as listed in the plug-in's PiPL). + +**/ + +//CC +#define PF_AE220_PLUG_IN_VERSION 13 // manually set for SDK changes to allow more than 32 max threads for PF_Iterate +#define PF_AE220_PLUG_IN_SUBVERS 27 // manually set for SDK changes to allow more than 32 max threads for PF_Iterate + +#define PF_AE184_PLUG_IN_VERSION 13 // manually set for mid-cycle SDK drop +#define PF_AE184_PLUG_IN_SUBVERS 26 // manually set for mid-cycle SDK drop + +#define PF_AE182_PLUG_IN_VERSION 13 // manually set for mid-cycle SDK drop +#define PF_AE182_PLUG_IN_SUBVERS 25 // manually set for mid-cycle SDK drop + +#define PF_AE180_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE180_PLUG_IN_SUBVERS 24 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE177_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE177_PLUG_IN_SUBVERS 23 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE176_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE176_PLUG_IN_SUBVERS 22 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE175_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE175_PLUG_IN_SUBVERS 21 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE171_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE171_PLUG_IN_SUBVERS 20 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE170_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE170_PLUG_IN_SUBVERS 18 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE161_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE161_PLUG_IN_SUBVERS 17 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE160_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE160_PLUG_IN_SUBVERS 16 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE151_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE151_PLUG_IN_SUBVERS 15 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE150_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE150_PLUG_IN_SUBVERS 15 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE142_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE142_PLUG_IN_SUBVERS 14 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE140_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE140_PLUG_IN_SUBVERS 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE138_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE138_PLUG_IN_SUBVERS 11 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +// AE137 is same plugin version as AE136, below + +#define PF_AE136_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE136_PLUG_IN_SUBVERS 10 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +#define PF_AE135_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_AE135_PLUG_IN_SUBVERS 9 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay + +// AE131 and AE132 are the same plugin version as AE130, below + +#define PF_AE130_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay +#define PF_AE130_PLUG_IN_SUBVERS 7 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay + +#define PF_AE122_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay +#define PF_AE122_PLUG_IN_SUBVERS 6 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay + +#define PF_AE121_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay +#define PF_AE121_PLUG_IN_SUBVERS 5 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit okay + +#define PF_AE120_PLUG_IN_VERSION 13 +#define PF_AE120_PLUG_IN_SUBVERS 4 + +//CS6.0.1 +//Plugins have to make dummy checkout (hack) to fix W3163764 in CS6. The bug has been fixed in CS6.0.1 so increase SDK minor version +//so that plugins can constrain the hack only for CS6. +#define PF_AE1101_PLUG_IN_VERSION 13 +#define PF_AE1101_PLUG_IN_SUBVERS 3 + +#define PF_AE110_PLUG_IN_VERSION 13 +#define PF_AE110_PLUG_IN_SUBVERS 2 + +#define PF_AE105_PLUG_IN_VERSION 13 +#define PF_AE105_PLUG_IN_SUBVERS 1 + +#define PF_AE100_PLUG_IN_VERSION 13 +#define PF_AE100_PLUG_IN_SUBVERS 0 + +#define PF_AE90_PLUG_IN_VERSION 12 +#define PF_AE90_PLUG_IN_SUBVERS 14 + +#define PF_AE80_PLUG_IN_VERSION 12 +#define PF_AE80_PLUG_IN_SUBVERS 13 + +#define PF_AE70_PLUG_IN_VERSION 12 +#define PF_AE70_PLUG_IN_SUBVERS 12 + +#define PF_AE65_PLUG_IN_VERSION 12 +#define PF_AE65_PLUG_IN_SUBVERS 11 + +#define PF_AE41_PLUG_IN_VERSION 12 +#define PF_AE41_PLUG_IN_SUBVERS 2 + +#define PF_AE40_PLUG_IN_VERSION 12 +#define PF_AE40_PLUG_IN_SUBVERS 1 + +#define PF_AE31_PLUG_IN_VERSION 11 +#define PF_AE31_PLUG_IN_SUBVERS 6 +#define PF_AE31_PLUG_IN_SUBVERS_STRICTIFY 8 + +#define PF_AE_PLUG_IN_VERSION PF_AE220_PLUG_IN_VERSION // manually set for SDK changes to allow more than 32 max threads for PF_Iterate +#define PF_AE_PLUG_IN_SUBVERS PF_AE220_PLUG_IN_SUBVERS // manually set for SDK changes to allow more than 32 max threads for PF_Iterate + +/* Note: AE3.1 will drive any v11.x plugin + AE4.0 will drive any v11.x or v12.x plugin + AE4.1 will drive any v11.x or v12.x plugin, changed current version from 12.1 -> 12.2 + + If you use PF_AE31_PLUG_IN_VERSION, PF_AE31_PLUG_IN_SUBVERS_STRICTIFY + or later (e.g. 11.8 or 12.0) AE4.0 will enforce new stricter rules and + report more plug-in errors. +*/ + + +#define PF_MAX_EFFECT_NAME_LEN 31 +#define PF_MAX_EFFECT_CATEGORY_NAME_LEN 31 +#define PF_MAX_EFFECT_PARAM_NAME_LEN 31 +#define PF_MAX_PARAM_DESCRIPTION_LEN 31 +#define PF_MAX_PARAM_VALUE_LEN 31 +#define PF_MAX_EFFECT_MSG_LEN 255 + +// Through AE6.5, effects could only have this many parameters. Now the number is unlimited. +#define PF_AE65_AND_EARLIER_MAX_NUM_EFFECT_PARAMS 127 + +#define PF_MAX_WORLD_WIDTH 30000 +#define PF_MAX_WORLD_HEIGHT 30000 + +#define PF_FIRST_ERR 512 + + +/* Standard effect categories for After Effects effects modules. + * These need to be set in the PiPL. + */ +#define PF_Category_BLUR_AND_SHARPEN "Blur & Sharpen" +#define PF_Category_CHANNEL "Channel" +#define PF_Category_DISTORT "Distort" +#define PF_Category_IMAGE_CONTROL "Image Control" +#define PF_Category_KEYING "Keying" +#define PF_Category_PERSPECTIVE "Perspective" +#define PF_Category_STYLIZE "Stylize" +#define PF_Category_TEXT "Text" +#define PF_Category_VIDEO "Video" +#define PF_Category_TRANSITION "Transition" +#define PF_Category_AUDIO "Audio" +#define PF_Category_OTHER "Other" + +enum { + PF_Quality_DRAWING_AUDIO = -1, // only used to inform audio plugins that the output + // will be used to draw the waveform; the plugin should + // not perform any filtering operations that may weaken + // the amplitude when rendering at low sampling rates + + PF_Quality_LO = 0, // LO & HI are sent to both audio & visual effects + PF_Quality_HI +}; +typedef A_long PF_Quality; + +enum { + PF_MF_Alpha_PREMUL = 0, + PF_MF_Alpha_STRAIGHT = (1L << 0) +}; +typedef A_long PF_ModeFlags; + +#define PF_ALPHA_PREMUL(F) (((F) & 0x00000001) == 0) +#define PF_ALPHA_STRAIGHT(F) (((F) & 0x00000001)) + +enum { + PF_Field_FRAME = 0L, + PF_Field_UPPER = 1L, + PF_Field_LOWER = 2L +}; +typedef A_long PF_Field; + + + +/* PF_ParamType + */ +enum { + PF_Param_RESERVED = -1, + PF_Param_LAYER = 0, + PF_Param_SLIDER, /* obsolete, use PF_Param_FLOAT_SLIDER */ + PF_Param_FIX_SLIDER,/* obsolete, use PF_Param_FLOAT_SLIDER */ + PF_Param_ANGLE, + PF_Param_CHECKBOX, + PF_Param_COLOR, + PF_Param_POINT, + PF_Param_POPUP, + PF_Param_CUSTOM, /* obsolete */ + PF_Param_NO_DATA, /* used for CustomUI in Effect window controls, with NO data stream */ + PF_Param_FLOAT_SLIDER, + PF_Param_ARBITRARY_DATA, // in AE: must combine with either PF_PUI_TOPIC/PF_PUI_CONTROL or PF_PUI_NO_ECW + // in PPro starting with 8.0: it's OK to set none of those flags, which allows you to + // see the parameter's keyframe track on the right side of Effect Controls + // without creating a custom control + PF_Param_PATH, + PF_Param_GROUP_START, + PF_Param_GROUP_END, + PF_Param_BUTTON, // must combine with PF_ParamFlag_SUPERVISE + PF_Param_RESERVED2, + PF_Param_RESERVED3, + PF_Param_POINT_3D // only supported by AE, not PPro +}; +typedef A_long PF_ParamType; + + +/* PF_ParamFlags + + These flags are passed when adding a param (using PF_ADD_PARAM) to specify + some details about how the param can be used. The flags + are: + + PF_ParamFlag_CANNOT_TIME_VARY + If this is passed, the parameter will not be allowed to vary + over time -- no keyframe controller will appear at the right. + + PF_ParamFlag_CANNOT_INTERP + If this is passed, parameter values are not interpolated + between. You can still use no interp and discontinuous interp. + + PF_ParamFlag_COLLAPSE_TWIRLY / PF_ParamFlag_START_COLLAPSED + Set this flag if you want the parameter's twirly arrow in the + Effect Control Window to be twirled up by default when the + effect is first applied. New in AE 4.0: you can now set & + clear this bit when handling PF_Cmd_UPDATE_PARAMS_UI and + PF_Cmd_USER_CHANGED_PARAM messages, so as to twirl your + parameters and groups up and down at will. + + PF_ParamFlag_SUPERVISE + If this is passed, PF_Cmd_USER_CHANGED_PARAM will be sent when + this parameter changes. + + PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS + This only affects the loading of projects saved with an older version + of the effect which lacks parameters added later. When set, the PF_ParamDef + "value" field set in PF_ADD_PARAM will be used to initialize the missing parameter, + but the "dephault" field will still be used for initial value of the parameter when + the effect is newly applied or reset. This is useful for when you want a + parameter to default to one value but need it set to something else to + preserve rendering behaviour for older projects. + + This flag is valid for all PF_Param types except PF_Param_LAYER + + PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE + For PF_Param_LAYER, this flag indicates that the layer parameter is to be presented + as a track matte. Supported by Premiere, ignored in AE. + + PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED + See doc for PF_HaveInputsChangedOverTimeSpan. + + PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN + when this param is "un hidden" (cuz it may hide and show), then the GUI is NOT to cause + the parameter to be "revealed", ie: it won't twirl down it's parents and scroll it into view + +**/ +enum { + PF_ParamFlag_RESERVED1 = 1 << 0, + PF_ParamFlag_CANNOT_TIME_VARY = 1 << 1, /* can't vary over time */ + PF_ParamFlag_CANNOT_INTERP = 1 << 2, /* can only vary discontinuously */ + PF_ParamFlag_RESERVED2 = 1 << 3, /* was _old_ PF_ParamFlag_WANTS_UPDATE value, never used */ + PF_ParamFlag_RESERVED3 = 1 << 4, /* was _old_ PF_ParamFlag_SEPARATE, now use PF_PUI_ECW_SEPARATOR */ + PF_ParamFlag_COLLAPSE_TWIRLY = 1 << 5, /* controls the twirl-state of the twirly-arrow in the ECW (dynamic) */ + PF_ParamFlag_SUPERVISE = 1 << 6, /* call me with PF_Cmd_USER_CHANGED_PARAM (new in AE 4.0) */ + PF_ParamFlag_START_COLLAPSED = PF_ParamFlag_COLLAPSE_TWIRLY, /* when first applied, param comes up collapsed */ + PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS = 1 << 7, /* see extensive comment above */ + PF_ParamFlag_LAYER_PARAM_IS_TRACKMATTE = 1 << 7, /* only valid for layer parameters. indicates that a layer param is used as a track-matte with applied filters (used in Premiere, ignored in AE) */ + PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED = 1 << 8, /* only relevant if you call PF_HaveInputsChangedOverTimeSpan() */ + PF_ParamFlag_SKIP_REVEAL_WHEN_UNHIDDEN = 1 << 9 /* dont reveal this stream when un-hidden (use only during param setup) */ +}; +typedef A_long PF_ParamFlags; + +enum { + PF_Err_NONE = 0, + PF_Err_OUT_OF_MEMORY = 4, + PF_Err_INTERNAL_STRUCT_DAMAGED = PF_FIRST_ERR, + PF_Err_INVALID_INDEX, /* out of range, or action not allowed on this index */ + PF_Err_UNRECOGNIZED_PARAM_TYPE, + PF_Err_INVALID_CALLBACK, + PF_Err_BAD_CALLBACK_PARAM, + PF_Interrupt_CANCEL, /* Returned when user interrupts rendering */ + PF_Err_CANNOT_PARSE_KEYFRAME_TEXT /* Returned from PF_Arbitrary_SCAN_FUNC when effect + cannot parse arbitrary data from text */ +}; +typedef A_long PF_Err; + + +enum { + PF_WorldFlag_DEEP = 1L << 0, + PF_WorldFlag_WRITEABLE = 1L << 1, + + + PF_WorldFlag_RESERVED0 = 1L << 24, + PF_WorldFlag_RESERVED1 = 1L << 25, + PF_WorldFlag_RESERVED2 = 1L << 26, + PF_WorldFlag_RESERVED3 = 1L << 27, + PF_WorldFlag_RESERVED4 = 1L << 28, + PF_WorldFlag_RESERVED5 = 1L << 29, + PF_WorldFlag_RESERVED6 = 1L << 30, + PF_WorldFlag_RESERVED = 1L << 31 +}; + +typedef A_long PF_WorldFlags; + +#define PF_WORLD_IS_DEEP(W) ( ((W)->world_flags & PF_WorldFlag_DEEP) != 0 ) + +#define PF_MAX_CHAN8 255 +#define PF_HALF_CHAN8 128 +#define PF_MAX_CHAN16 32768 +#define PF_HALF_CHAN16 16384 + + + +/** -------------------- Output Flags -------------------- + + The out_flags field of the OutData can be set to an OR-ed + combination of these flags to communicate various things to + the driver program. The flags are described here: + + PF_OutFlag_NONE + This is the "empty" setting -- no outflags. + + PF_OutFlag_WIDE_TIME_INPUT + Set this flag if the effect calls get_param to inquire a + parameter at a time besides the current one (e.g. to get + the previous video frame). This should be sent, if it is + going to be sent, at PF_Cmd_GLOBAL_SETUP. Can be over-ridden + dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS. + + As of AE10, this flag is no longer recommended. It still works the + same way and is safe to set, but there's a more efficient option. + See PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT. + + PF_OutFlag_NON_PARAM_VARY + Set this if the effect uses information other than the parameters + in the param list to generate its output at the current time. + For instance, if the effect uses the current time of the frame + or some random value to decide the output, set this flag. This + flag should be sent at PF_Cmd_GLOBAL_SETUP. If the effect + produces changing frames when applied to a still image and + all parameters are constant, that's a sure sign that this bit + should be set (e.g. Wave Warp). Can be over-ridden dynamically + during PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING + When you allocate a sequence data handle, the app + may write the handle out to disk and reuse it + later. Pass this flag if the handle is not "flat" + (i.e. has pointers or handles hanging off of it). + Basically, this gives you a chance to alter the + handle contents before it is written out to disk, + so you won't get invalid handles or pointers. Once + you have flattened a handle, you will get an + opportunity to un-flatten it before the effect + needs to continue. For sequence data, you will be + invoked with a PF_Cmd_SEQUENCE_RESETUP call. You + should store a boolean at a common offset in your + unflattened and flattened data that says whether + the data is flat or not. If you get a + PF_Cmd_SEQUENCE_RESETUP and the boolean indicated + the data is flattened, you should unflatten the + data, free the flattened data handle, and set the + sequence_data handle in the PF_OutData. If you + ever set the data to NULL when you flatten it, you + will NOT get the sequence resetup call to + unflatten it. Instead, you may just get a RENDER + call with NULL data. Forewarned is forearmed. This + flag, indicating if the data will need to be + flattened, should be set at PF_Cmd_GLOBAL_SETUP time. + + PF_OutFlag_I_DO_DIALOG + Set this is the effect responds to a PF_Cmd_DO_DIALOG, i.e. Does this + effect bring up an options dialog box. PF_Cmd_DO_DIALOG is generated + when the user presses the Options button on the Effect floater. + This flag should be set at PF_Cmd_GLOBAL_SETUP time. + + PF_OutFlag_USE_OUTPUT_EXTENT + The output layer is passed with an "extent rect" indicating + the area of the layer that actually contains visible image data. If + the effect changes its behavior based on the extent rect (for instance, + by not iterating over the entire image), set this flag, so the + application will know whether having the extent change should cause + the frame to re-render. Specify this flag at PF_Cmd_GLOBAL_SETUP. + + PF_OutFlag_SEND_DO_DIALOG + Some filters need their options dialog box to be brought up at least + once to be valid. You can set this flag, and the driver app will + automatically send a PF_Cmd_DO_DIALOG to the effect when it is applied. + The DO_DIALOG will be sent after PF_Cmd_SEQUENCE_SETUP. This flag + should be set in PF_Cmd_SEQUENCE_SETUP if it is going to be set. + + PF_OutFlag_DISPLAY_ERROR_MESSAGE + Whenever the return_msg field in the PF_OutData is set to a string, + After Effects will bring up a simple dialog box containing that + string. If you set this flag, the dialog box will be made to look + like an error message dialog box. If you don't set this flag, it + will be an undecorated dialog box. Using this flag, an effects module + can have and display its own error messages and not worry about the + code for dialog boxes -- the program will do it for you. + This flag can be sent after any command. + + PF_OutFlag_I_EXPAND_BUFFER + Starting with After Effects 2.0, effects will be able to expand their buffers + beyond the current layer's dimensions. This has always been part of the + PF specification, but as an extra precaution (and hint to the AE rendering + engine) set this flag at PF_Cmd_GLOBAL_SETUP if you plan to expand your + buffer. + + PF_OutFlag_I_SHRINK_BUFFER + Set this flag if you can shrink your buffer based on the extent-rects passed + to you in order to be more memory efficient. + + PF_OutFlag_PIX_INDEPENDENT + Set this flag if the output at a given pixel is not dependent on the values + of the pixels around it. If this is set, the pixels After Effects does not + care about (because of field rendering, for example) could be filled with garbage + colors. Please set this flag at PF_Cmd_GLOBAL_SETUP. Can be over-ridden + dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag_I_WRITE_INPUT_BUFFER + Set this flag if your effect would like to write into the input buffer. This + can be useful if you need an scratch buffer, but it also invalidates some speedups + in the AE rendering pipeline, so use it with some discretion. Please set this + flag at PF_Cmd_GLOBAL_SETUP. + + PF_OutFlag_KEEP_RESOURCE_OPEN + + Obsoleted in AE 2015 (does nothing when set). + + Set this flag if your effect expects its Macintosh resource fork to be open + at any time other than global setup. Note that this does not mean that + the resource fork will be kept open at all times, just whenever the + effect is being executed. + + PF_OutFlag_NOP_RENDER + + Set this flag in PF_Cmd_GLOBAL_SETUP if the render would never result in changes + to the source image (or audio?). For example, an expression control would set this. + + PF_OutFlag_CUSTOM_UI + + This flag must be set if your effect has a custom UI in the Effect Controls + Window, Layer Window or Comp Window. + + PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER (new in 13.5) + + This flags enables use of AEGP_CheckoutOrRender_*_AsyncManager() calls + which avoid the need for plugin management of the lifetime of async custom UI renders from the UI thread. + The plugin asks for what frames it needs and the manager calls PF_Event_DRAW again when they are available + (or cancels them as needed automatically). The plugin responds in PF_Event_DRAW by asking for what it needs + and drawing what it can from what is available. + + Due to separation of Render thread and UI thread in 13.5, frames for custom UI should no longer be + rendered synchronously (see RenderSuite5 for more details). The manager simplifies this, especially when + there are multiple requests needed for DRAW. + + When enabled, this flag associates a "PF_AsyncManager" with the NEW_CONTEXT/CLOSE_CONTEXT and PF_Event_DRAW + that will automatically track completion of 1 or more asynch render requests made for drawing custom UI. + As requests complete, PF_Event_DRAW will be called again and the current state of the CUSTOM_UI can be drawn. + Such requests may be canceled automatically as the user scrubs the time needle or project changes are made and + become invalid. + + This flag is used in addition to the CUSTOM_UI flag during PF_Cmd_GLOBAL_SETUP + + PF_OutFlag_REFRESH_UI + + Can be returned from PF_Cmd_EVENT, PF_Cmd_RENDER, and PF_Cmd_DO_DIALOG. + Causes the effects control window, layer window, and comp window to be re-drawn. + + PF_OutFlag_I_USE_SHUTTER_ANGLE + + Must be set at PF_Cmd_GLOBAL_SETUP time if the effect uses + the shutter_angle or the shutter_phase. Can be over-ridden dynamically during + PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag_I_USE_AUDIO + + Must be set at PF_Cmd_GLOBAL_SETUP time for a visual effect + that calls the audio checkout calls. + + PF_OutFlag_I_AM_OBSOLETE + + Set at PF_Cmd_GLOBAL_SETUP time for effects that don't + want to appear in the AE Effects menu (but will still be invoked + if you load a project that has an old copy of the effect applied). + + PF_OutFlag_FORCE_RERENDER + + Set at PF_Cmd_EVENT if the effect modified sequence data, + or did anything else that requires the effect needs to re-render. + Note that setting PF_ChangeFlag_CHANGED_VALUE automatically + causes a re-render, so don't worry about setting PF_OutFlag_FORCE_RERENDER + in that case. Also, I_MIX_GUID_DEPENDENCIES can be used to trigger a rerender on + dependant changes if sequence_data has not been changed. + + IMPORTANT: FORCE_RERENDER should be used as a last resort. Long term we should be eliminating the need for this + because it causes forced cache invalidation that doesn't work well with undo. + Once we have the full set of APIs in place needed to manage render state, we will be able to deprecate this. + Prefer using ARB data + CHANGED_VALUE or I_MIX_GUID_DEPENDENCIES when possible instead. + + In 13.5 the split between a UI and render threads means that FORCE_RERENDER will now also have the needed + side effect of copying sequence_data state to the render project. This can be expensive if the sequence_data is large. + Support GET_FLATTENED_SEQUENCE_DATA to prevent deallocation of your sequence_data, which can help. + GET_FLATTENED_SEQUENCE_DATA support is required for FORCE_RERENDER use in custom mouse/key events. + + PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS + + Valid only for setting in your PiPL. When set out_flags will be + ignored at PF_Cmd_GLOBAL_SETUP time (& thus don't need to match). + + PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES + + Set this flag at PF_Cmd_GLOBAL_SETUP time if the effect has dependencies + that the user should know about before transporting their project to a + different machine. For example, dependencies on an installed font, + or on an external file. If set, the effect will receive a + PF_Cmd_GET_EXTERNAL_DEPENDENCIES request, where the extra + param will be a PF_ExtDependenciesExtra, and the effect should + report its information based on the given sequence_data. + + PF_OutFlag_SEND_UPDATE_PARAMS_UI + + Set this flag at PF_Cmd_GLOBAL_SETUP time if you want to receive + PF_Cmd_UPDATE_PARAMS_UI messages. + + PF_OutFlag_AUDIO_FLOAT_ONLY + + Set this flag if you only want to receive PF_SIGNED_FLOAT data + when processing audio data. Requires PF_OutFlag_AUDIO_EFFECT_TOO + or PF_OutFlag_AUDIO_EFFECT_ONLY. + + PF_OutFlag_AUDIO_IIR + + Set this flag at PF_Cmd_GLOBAL_SETUP time if you are an + Infinite-Impulse-Response audio filter (i.e. your output at a given + time depends on your output from previous times). + + PF_OutFlag_I_SYNTHESIZE_AUDIO + + Set this flag at PF_Cmd_GLOBAL_SETUP time if you generate + audio even when handed silence. Requires PF_OutFlag_AUDIO_EFFECT_TOO + or PF_OutFlag_AUDIO_EFFECT_ONLY. + + PF_OutFlag_AUDIO_EFFECT_TOO + + Must be set at PF_Cmd_GLOBAL_SETUP time for an effect that + wants to filter the audio too (as opposed to just reading the audio). + + PF_OutFlag_AUDIO_EFFECT_ONLY + + Must be set at PF_Cmd_GLOBAL_SETUP time for an effect + that only filters audio (no video). + + PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS + + Set this during PF_Cmd_GLOBAL_SETUP if the effect handles PF_Cmd_QUERY_DYNAMIC_FLAGS. + Supporting this command can dramatically improve performance for certain + effects, because it provides dynamic information to the host about what + can be cached (as opposed to PIPL bits which cannot be changed at run-time) + + PF_OutFlag2_I_USE_3D_CAMERA + + This bit must be set if the effect ever uses the AEGP PF_Interface suite to + access camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag2_I_USE_3D_LIGHTS + + This bit must be set if the effect ever uses the AEGP PF_Interface suite to + access camera layers. Can be over-ridden dynamically during PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG + + If you want a parameter group to honor the PF_ParamFlag_COLLAPSE_TWIRLY or + PF_ParamFlag_START_COLLAPSED flag, set this bit. Otherwise, all parameter + groups will be collapsed by default. + + PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS + + Added for render optimizations; shrinks the input buffer passed to the effect to + exclude any empty pixels (where empty means "zero alpha" unless + PF_OutFlag2_REVEALS_ZERO_ALPHA is set, in which case RGB must be zero as well.) + The origin of the trimmed buffer can be found in in_data->pre_effect_source_origin. + Effects with both this flag and PF_OutFlag_I_EXPAND_BUFFER set may get called with + a null input buffer if their input is completely empty, and must be able to handle + this case without crashing. This flag can be cleared dynamically during + PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag2_REVEALS_ZERO_ALPHA + + The effect can take pixels with zero alpha and reveal the RGB data in them (like + our Set Channels effect). This tells After Effects not to trim such pixels when + determining the input for the effect. This flag can be cleared dynamically during + PF_Cmd_QUERY_DYNAMIC_FLAGS. + + PF_OutFlag2_I_AM_DEPRECATED + this effect is still available, and shows up under user-visible "Obsolete" category + in the UI. Setting this flag means "there's a better way to do this, but this effect + may still be useful in some situations". distinct from PF_OutFlag_I_AM_OBSOLETE in + that these will still show up in the GUI and the user can still apply them to new + projects. The category that is set by the effect is pretty much ignored, as it will + instead always go into the "Obsolete" category + + PF_OutFlag2_I_USE_TIMECODE + New in AE 9.0. The effect depends on the Composition's timecode or a layer's + source footage timecode. If the underlying timecode changes the effects will + be asked to rerender. + + PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT + New in AE 10. Requires setting of PF_OutFlag_WIDE_TIME_INPUT (which allows you + to support old hosts), but effectively overrides that flag. When set, all + parameter checkouts are tracked so over-time dependencies are known by AE. Note + that if you use this new flag, and you cache any time-dependent data in your + sequence data (or anywhere else), you must validate that cache using the + new PF_HaveInputsChangedOverTimeSpan() before using it. + + This only works for smart effects (those that set PF_OutFlag2_SUPPORTS_SMART_RENDER). If you haven't + set that, After Effects will silently treat this as PF_OutFlag_WIDE_TIME_INPUT instead. + + To test that it's working, apply your effect with one parameter keyframed on every frame. + RAM Preview to fill the cache, then change one of the keyframes. The related frame and + all dependent frames (e.g. later frames, in the case of a simulation) should lose their + cache marks and require re-rendering. Simlarly, upstream changes to sources of layer + parameters should cause time-selective invalidation of the cache. + + PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS + Set this if you are going to look at paths that aren't directly referenced by a path + param, e.g. if you are going to draw a stroke on all masks. + + PF_OutFlag2_OUTPUT_IS_WATERMARKED + Set this if your output is going to be watermarked in some way that makes it unsuitable for + final use, probably because the user is using an unlicensed demo version. It is ok to change + this state during the course of app session, if e.g. a floating license status changes. + Plugin authors that actually do have this state changing asynchronously must be careful to + have the next render match the last state returned from QUERY_DYNAMIC_FLAGS otherwise race conditions + could cause incorrect frames to be cached. (This is a non-issue if you only change this in response + to DO_DIALOG.) + + PF_OutFlag2_I_MIX_GUID_DEPENDENCIES (new in 13.5) + Smart effects only. With this option, FORCE_RERENDER becomes a cache-savvy more efficient MAYBE rerender. + If custom UI or DO_DIALOG change sequence data, returning FORCE_RERENDER requests AE to check whether + rerender needs to occur. During PreRender, the effect uses the GuidMixInPtr callback to mix + any additional state that affects the render into our internal GUID for the cached frame. + AE can then tell whether the frame already exists and if so, no longer needs to render. + This also means that DO_DIALOG no longer always blows the cache and that undo works across DO_DIALOG. + Cancelation of DO_DIALOG no longer blows the cache either. + This also means that I_USE_* flags are now basically redundant since any dependency could be mixed in. + Just be sure to mix in everything that can uniquely affect resulting rendered pixels (that is not already + an AE stream parameter). But don't mixin things that are disabled and have no render effect (this + results in less cache efficiency). + + PF_OutFlag2_SUPPORTS_THREADED_RENDERING + Indicates the effect supports rendering on multiple threads at the same time. Single or multiple + applications of this effect on a layer can be called to render at the same time on multiple threads. + + UI selectors are still sent on the main thread, however Sequence Setup, Sequence Resetup, Sequence SetDown, + PreRender, and Render may be sent on multiple threads at the same time as the UI selectors are being handled + so all of these selectors must be thread safe. + + Global Setup and Global Setdown selectors are unaffected by this flag. Regardless whether this flag is set + or not, they will only be sent on the main thread, and will not be sent at the same time as any other selectors. + + If the effect sets PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING indicating the sequence data needs flattening + then it must also set PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA. + + sequence_data is read-only at render time and must be accessed with PF_EffectSequenceDataSuite. + in_data->sequence_data will be NULL during render. AEGP_ComputeCacheSuite is suggested if writing to + sequence_data at render time is needed for caching. This suite unifies cache entries so multiple threads do + not recompute the same cache value. If neither of these solutions work, see the next flag, + PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER. + + PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER + Indicates the effect needs sequence_data replicated for each render thread, thus allowing each render to have + sequence_data which can be written to. Note that changes to sequence_data will be discarded regularly, currently + after each span of frames is rendered such as single RAM Preview or Render Queue export. + +**/ + +enum { + PF_OutFlag_NONE = 0L, + + // which PF_Cmds each flag is relevant for: + PF_OutFlag_KEEP_RESOURCE_OPEN = 1L << 0, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_WIDE_TIME_INPUT = 1L << 1, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag_NON_PARAM_VARY = 1L << 2, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag_RESERVED6 = 1L << 3, + PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING = 1L << 4, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_I_DO_DIALOG = 1L << 5, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_USE_OUTPUT_EXTENT = 1L << 6, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_SEND_DO_DIALOG = 1L << 7, // PF_Cmd_SEQUENCE_SETUP + PF_OutFlag_DISPLAY_ERROR_MESSAGE = 1L << 8, // all PF_Cmds + PF_OutFlag_I_EXPAND_BUFFER = 1L << 9, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_PIX_INDEPENDENT = 1L << 10, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag_I_WRITE_INPUT_BUFFER = 1L << 11, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_I_SHRINK_BUFFER = 1L << 12, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_WORKS_IN_PLACE = 1L << 13, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_RESERVED8 = 1L << 14, + PF_OutFlag_CUSTOM_UI = 1L << 15, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_RESERVED7 = 1L << 16, + PF_OutFlag_REFRESH_UI = 1L << 17, // PF_Cmd_EVENT, PF_Cmd_RENDER, PF_Cmd_DO_DIALOG + PF_OutFlag_NOP_RENDER = 1L << 18, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_I_USE_SHUTTER_ANGLE = 1L << 19, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag_I_USE_AUDIO = 1L << 20, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_I_AM_OBSOLETE = 1L << 21, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_FORCE_RERENDER = 1L << 22, // PF_Cmd_EVENT, PF_Cmd_USER_CHANGED_PARAM, PF_Cmd_UPDATE_PARAMS_UI + PF_OutFlag_PiPL_OVERRIDES_OUTDATA_OUTFLAGS = 1L << 23, // PiPL-only-flag + PF_OutFlag_I_HAVE_EXTERNAL_DEPENDENCIES = 1L << 24, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_DEEP_COLOR_AWARE = 1L << 25, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_SEND_UPDATE_PARAMS_UI = 1L << 26, // PF_Cmd_GLOBAL_SETUP + + // audio flags (PF_OutFlag_AUDIO_EFFECT_TOO or PF_OutFlag_AUDIO_EFFECT_ONLY required for audio effects) + PF_OutFlag_AUDIO_FLOAT_ONLY = 1L << 27, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_AUDIO_IIR = 1L << 28, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_I_SYNTHESIZE_AUDIO = 1L << 29, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_AUDIO_EFFECT_TOO = 1L << 30, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag_AUDIO_EFFECT_ONLY = 1L << 31 // PF_Cmd_GLOBAL_SETUP +}; +typedef A_long PF_OutFlags; + +enum { + PF_OutFlag2_NONE = 0L, + // which PF_Cmds each flag is relevant for: + PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS = 1L << 0, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_I_USE_3D_CAMERA = 1L << 1, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_I_USE_3D_LIGHTS = 1L << 2, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_PARAM_GROUP_START_COLLAPSED_FLAG= 1L << 3, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_I_AM_THREADSAFE = 1L << 4, // PF_Cmd_GLOBAL_SETUP (unused) + PF_OutFlag2_CAN_COMBINE_WITH_DESTINATION = 1L << 5, // Premiere only (as of AE 6.0) + PF_OutFlag2_DOESNT_NEED_EMPTY_PIXELS = 1L << 6, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_REVEALS_ZERO_ALPHA = 1L << 7, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_PRESERVES_FULLY_OPAQUE_PIXELS = 1L << 8, // Premiere only (as of AE 6.0) + PF_OutFlag2_SUPPORTS_SMART_RENDER = 1L << 10, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_RESERVED9 = 1L << 11, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_FLOAT_COLOR_AWARE = 1L << 12, // PF_Cmd_GLOBAL_SETUP, may require PF_OutFlag2_SUPPORTS_SMART_RENDER + PF_OutFlag2_I_USE_COLORSPACE_ENUMERATION = 1L << 13, // PF_Cmd_GLOBAL_SETUP, not implemented in AE7 (may be impl in Premiere Pro) + PF_OutFlag2_I_AM_DEPRECATED = 1L << 14, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_PPRO_DO_NOT_CLONE_SEQUENCE_DATA_FOR_RENDER = 1L << 15, // PF_Cmd_GLOBAL_SETUP, Premiere only, CS4.1 and later + PF_OutFlag2_RESERVED10 = 1L << 16, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT = 1L << 17, // PF_Cmd_GLOBAL_SETUP, falls back to PF_OutFlag_WIDE_TIME_INPUT if not PF_OutFlag2_SUPPORTS_SMART_RENDER + PF_OutFlag2_I_USE_TIMECODE = 1L << 18, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_DEPENDS_ON_UNREFERENCED_MASKS = 1L << 19, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_OUTPUT_IS_WATERMARKED = 1L << 20, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_QUERY_DYNAMIC_FLAGS + PF_OutFlag2_I_MIX_GUID_DEPENDENCIES = 1L << 21, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_AE13_5_THREADSAFE = 1L << 22, // PF_Cmd_GLOBAL_SETUP (unused) + PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA = 1L << 23, // PF_Cmd_GLOBAL_SETUP, support required if both PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING and PF_OutFlag2_SUPPORTS_THREADED_RENDERING is set + PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER = 1L << 24, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_SUPPORTS_GPU_RENDER_F32 = 1L << 25, // PF_Cmd_GLOBAL_SETUP, PF_Cmd_GPU_DEVICE_SETUP. Must also set PF_RenderOutputFlag_GPU_RENDER_POSSIBLE at pre-render to enable GPU rendering. + PF_OutFlag2_RESERVED12 = 1L << 26, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_SUPPORTS_THREADED_RENDERING = 1L << 27, // PF_Cmd_GLOBAL_SETUP + PF_OutFlag2_MUTABLE_RENDER_SEQUENCE_DATA_SLOWER = 1L << 28 // PF_Cmd_GLOBAL_SETUP +}; +typedef A_long PF_OutFlags2; + + +/** -------------------- Input Flags -------------------- + + The in_flags field of the InData can be set to an OR-ed + combination of these flags to communicate various things from AE to an effect plugin + The flags are described here: + + PF_InFlag_NONE + This is the "empty" setting -- no inflags. + + PF_InFlag_PROJECT_IS_RENDER_ONLY (since 13.5) + + For efficiency, if a plugin sets up UI that is not used in render, this flag + can be tested to skip that step when an effect is being RESETUP for render only. + Effect instances with this flag on in RESETUP are in read-only AE projects and will not receive UI related selectors. + + This is an optimization hint. If you don't make such optimizations in render your plugin should still work. + + This flag should generally not be used to suppress errors in render. Errors should still be reported as usual via AE standard mechanisms, + and AE will then handle the differences in context reporting. + + If this is off, UI should be set up normally (and the effect could also be running in an earlier version of + AE that assumed render and UI on the same effect instance.) + +**/ + +enum { + PF_InFlag_NONE = 0L, + PF_InFlag_PROJECT_IS_RENDER_ONLY = 1L << 0 // since 13.5 and only in PF_Cmd_SEQUENCE_RESETUP +}; +typedef A_long PF_InFlags; + + + + + +/** -------------------- Command Selectors -------------------- + + The first parameter to the effect routine is one of t hese command + selectors. The commands are described here. + + PF_Cmd_ABOUT + This command should display an information dialog box about the + effect module. The easiest thing to do is PF_SPRINTF the info + into the out_data->return_msg field. After Effects will bring + up a simple undecorated modal dialog with your text proudly displayed. + This command can be sent at _any_ time, so don't count on having + any global data or anything else set. (Except, as always, the + current resource file will be set to your effects module.) + + PF_Cmd_GLOBAL_SETUP + When you get this command, you should check the version of the + effect protocol with which you are being invoked, and set any of + the necessary out flags (described above) or out data fields + (described below). If your global data was flattened, the flat + data will be passed here and you should unflatten it, free the + flat global data, and set the OutData global_data to the new un-flat + data. Alternatively, the global data may come in NULL and you can + allocate new global data at this time. + + PF_Cmd_GLOBAL_SETDOWN + You should free any global data you have allocated when you get + this command. + + PF_Cmd_PARAMS_SETUP + Here you should add any params your effect wants using the + PF_ADD_PARAM callback described below. This is called after global + setup -- see the add_param callback described below. + + PF_Cmd_SEQUENCE_SETUP + This is called when the effect is first applied to a layer. + A sequence is a series of images that will usually be all be of the same + size and in the same context. You can allocate sequence data + at this time -- many more input fields are defined at this time. + See the PF_InData description below. + + As of 13.5 this only happens on the UI thread. + Except for legacy (no GET_FLATTENED_SEQUENCE_DATA) effects that do I_DO_DIALOG which can still hit this in render. + + PF_Cmd_SEQUENCE_RESETUP + This call is made to unflatten flattened sequence data. + There are at least three cases when this can happen: + 1) after the sequence data is written to disk, 2) after the + sequence data is read in from disk, 3) after a duplicate + is made (called on both original and the new sequence). + + This can happen in UI or Render thread (13.5), the effect must handle + initialization of a NULL sequence_data input if needed. See also PF_InFlag_PROJECT_IS_RENDER_ONLY. + + PF_Cmd_SEQUENCE_FLATTEN + This call is made to flatten unflat sequence data so it can be + cached to disk. After the data is flattened, free the un-flat data + and set the out_data->sequence_data to the new flat data. + If you don't want your sequence handle written to disk, you + can set it to NULL (after disposing it) at this time. Presumably + you would then reallocate it at another time. + + This command will be sent when saving and when duplicating + the sequence. + + PF_Cmd_GET_FLATTENED_SEQUENCE_DATA (new in 13.5) + Returns an independent allocation of the sequence data which can be written + to disk or used to initialise or update other instances of the effect plug-in. + + The host calls this command to serialize the sequence data without + having to flatten and resetup the UI plug-in as was legacy practice. (However, at present effects + still may need flattening in render if the sequence_data is about to be assigned.) + + An effect that implements GET_FLATTENED_SEQUENCE_DATA will only receive SEQUENCE_SETUP on the UI thread. + SEQUENCE_RESETUP can happen on either thread. Make sure you handle a NULL sequence_data in RESETUP. + (Without GET_FLATTENED, a legacy effect may still get SEQUENCE_SETUP in render but DO_DIALOG will not be called.) + + Also when enabled, this means that the effect is guaranteed to get a + SEQUENCE_SETDOWN cmd to dispose the effect's sequence_data (previously + it was possible for AE to bypass this if the sequence_data was flat, + but that lead to SEQUENCE_SETUP/SETDOWN imbalances for some plugins. + The imbalance should not happen when using this flag, but the plugin must + handle being called on SETDOWN with possibly flat data. For example, + try copy and pasting an effect onto itself. + + Support for this command is indicated by setting + PF_OutFlag2_SUPPORTS_GET_FLATTENED_SEQUENCE_DATA + + The ownership of the returned handle is transferred to the host. + + PF_Cmd_SEQUENCE_SETDOWN + You should free any sequence data you have allocated when you + get this command. + + PF_Cmd_DO_DIALOG + This command indicated that the Options button or command has + been selected and the effect should bring up its options dialog. + This command will only be sent it the effect has indicated that + it has an options dialog with PF_OutFlag_I_DO_DIALOG. This + command will automatically be sent once upon applying the filter + if PF_OutFlag_SEND_DO_DIALOG is set in SEQUENCE_SETUP. + + PF_Cmd_FRAME_SETUP + This is called immediately before each frame is invoked. You + can allocate frame data at this time, if you wish, or you can + just wait for the RENDER which will immediately follow. + + PF_Cmd_RENDER + This is the call to render the frame. All fields in the in_data + will be valid at this time and you can inquire parameters or + what-have-you. This should set the output frame with the new + image data. This is the main action command. + + PF_Cmd_FRAME_SETDOWN + If you allocated data in PF_Cmd_FRAME_SETUP, this is the time + to free it and clean up after rendering the frame. + + PF_Cmd_USER_CHANGED_PARAM + This command will be sent if you set the PF_ParamFlag_SUPERVISE + flag for a param. This allows you to modify the params array contents to + control values or make one control affect others, including arbitrary + data. This command will be sent whenever the user interacts with a + standard param controller that has PF_ParamFlag_SUPERVISE + set. + + The "extra" field will be a pointer to a PF_UserChangedParamExtra structure + which contains the param_index of the changed parameter. + + You can return PF_ChangeFlag_CHANGED_VALUE and/or call PF_UpdateParamUI() + for any param. + + PF_Cmd_UPDATE_PARAMS_UI + This command will be sent when the Effect Controls Window (ECW) + needs to updated (e.g. after opening the ECW or moving the comp to + a new time) if you have set PF_OutFlag_SEND_UPDATE_PARAMS_UI at + global setup time. + + This gives you a chance to call PF_UpdateParamUI() to modify certain + ui fields for the params. See the doc for PF_UpdateParamUI() + to see which fields can be modified. + + WARNING: When handling PF_Cmd_UPDATE_PARAMS_UI, you can call + PF_UpdateParamUI() for any param(s), but not PF_ChangeFlag_CHANGED_VALUE -- + only cosmetic changes can be made in response to this command. + + PF_Cmd_QUERY_DYNAMIC_FLAGS + This command will be sent at arbitrary times if PF_OutFlag2_SUPPORTS_QUERY_DYNAMIC_FLAGS + is set during global setup. During this call the effect may examine the values + of its parameters at the current time (except layer parameters) by checking them out, + and decide whether any of the flags that support PF_Cmd_QUERY_DYNAMIC_FLAGS should be set. + + The appropriate flags must be set in out_data->out_flags and out_data->out_flags2 before + returning. The effect must decide what information is necessary to render a frame at + the current time, given only the values of parameters at that time. Clearing the + appropriate bits when possible can result in great performance improvements, but + incorrectly clearing bits will result in caching bugs, and you won't like that. Nope. + +**/ +enum { /* The order of this enumeration must not be altered! */ + PF_Cmd_ABOUT = 0, /* about can be called at any time */ + PF_Cmd_GLOBAL_SETUP, /* check versions, cpu, serial #, etc. always */ + PF_Cmd_UNUSED_0, + PF_Cmd_GLOBAL_SETDOWN, + PF_Cmd_PARAMS_SETUP, /* add parameters here */ + PF_Cmd_SEQUENCE_SETUP, + PF_Cmd_SEQUENCE_RESETUP, /* if part of in_data changed */ + PF_Cmd_SEQUENCE_FLATTEN, /* prepare handle to be written to disk */ + PF_Cmd_SEQUENCE_SETDOWN, + PF_Cmd_DO_DIALOG, /* called after SEQUENCE_SETUP only if effect requests */ + PF_Cmd_FRAME_SETUP, + PF_Cmd_RENDER, + PF_Cmd_FRAME_SETDOWN, + +/* most of these command types make use of the 'extra' field */ + + PF_Cmd_USER_CHANGED_PARAM, /* user just changed a param value, extra contains ptr to PF_UserChangedParamExtra */ + PF_Cmd_UPDATE_PARAMS_UI, /* UI fields in paramdefs need to be refreshed according to new values, no extra info */ + PF_Cmd_EVENT, /* handle some event. extra contains a ptr to a relevant structure */ + PF_Cmd_GET_EXTERNAL_DEPENDENCIES, /* new in AE4.1: return text description of things like fonts, etc. in PF_ExtDependenciesExtra */ + PF_Cmd_COMPLETELY_GENERAL, /* new in AE4.1: Used for completely general effect calls via AEGP */ + + PF_Cmd_QUERY_DYNAMIC_FLAGS, /* new in AE5.0: allows effect to control certain flags based on parameter values */ + + PF_Cmd_AUDIO_RENDER, /* For Audio Effects */ + PF_Cmd_AUDIO_SETUP, + PF_Cmd_AUDIO_SETDOWN, + + PF_Cmd_ARBITRARY_CALLBACK, /* used for arbitrary data, passes PF_ArbParamsExtra * in extra */ + + PF_Cmd_SMART_PRE_RENDER, /* used with Smart Render effect interface */ + PF_Cmd_SMART_RENDER, + + PF_Cmd_RESERVED1, /* private command */ + PF_Cmd_RESERVED2, /* private command */ + PF_Cmd_RESERVED3, /* private command */ + + PF_Cmd_GET_FLATTENED_SEQUENCE_DATA, + PF_Cmd_TRANSLATE_PARAMS_TO_PREFS, + + PF_Cmd_RESERVED4, /* private command */ + PF_Cmd_SMART_RENDER_GPU, /* used when rendering on the GPU */ + PF_Cmd_GPU_DEVICE_SETUP, + PF_Cmd_GPU_DEVICE_SETDOWN, + + PF_Cmd_NUM_CMDS +}; +typedef A_long PF_Cmd; + + +/** -------------------- Simple Types -------------------- +**/ + +typedef struct _PF_LayerAudio *PF_LayerAudio; + +typedef void *PF_SndSamplePtr; + +/* The following is an opaque type you pass to callback routines */ +struct PF_ProgressInfo; +typedef struct PF_ProgressInfo *PF_ProgPtr; + +typedef A_long PF_ParamValue; + +typedef struct { + A_short major; + A_short minor; +} PF_SpecVersion; + +typedef A_long PF_ParamIndex; + +typedef A_u_long PF_UFixed; + +#ifndef A_INTERNAL + + #if defined(_WINDOWS) || defined(__ANDROID__) + + typedef A_long PF_Fixed; + typedef A_char PF_Boolean; + typedef void **PF_Handle; + + typedef struct { + A_short v; + A_short h; + } PF_LegacyPoint; + + typedef struct { + A_short top, left, bottom, right; + } PF_LegacyRect; + + #else + + typedef Fixed PF_Fixed; + typedef Boolean PF_Boolean; + typedef Handle PF_Handle; + + #endif + + typedef struct { + #ifdef LPOINT_RENAME_COMPONENTS + A_long x; + A_long y; + #else + A_long h; + A_long v; + #endif + } PF_Point; + + typedef struct { + A_long left, top, right, bottom; + } PF_LRect; + + typedef PF_LRect PF_Rect; + + typedef PF_Rect PF_UnionableRect; + + typedef struct { + A_long num; /* numerator */ + A_u_long den; /* denominator */ + } PF_RationalScale; + +#endif + +#define PF_Fixed_MINVAL ((PF_Fixed)0x80000000) // Maximally negative value +#define PF_Fixed_MAXVAL ((PF_Fixed)0x7fffffff) // Maximally positive value + + +typedef struct { + PF_Fixed x, y; +} PF_FixedPoint; + +typedef struct { + PF_Fixed left, top, right, bottom; +} PF_FixedRect; + +typedef struct { + PF_Fixed mat[3][3]; +} PF_Matrix; + + +#ifndef A_INTERNAL + + // Basic pixel defn's + typedef struct { + A_u_char alpha, red, green, blue; + } PF_Pixel; + + typedef PF_Pixel PF_Pixel8; + typedef PF_Pixel PF_UnionablePixel; + + typedef struct { + #ifdef PF_PIXEL16_RENAME_COMPONENTS + // this style is useful for debugging code converted from 8 bit + A_u_short alphaSu, redSu, greenSu, blueSu; + #else + A_u_short alpha, red, green, blue; + #endif + } PF_Pixel16; + + typedef A_FpShort PF_FpShort; + typedef A_FpLong PF_FpLong; + + typedef struct { + PF_FpShort alpha, red, green, blue; + } PF_PixelFloat, PF_Pixel32; + + typedef struct { + PF_FpLong mat[3][3]; + } PF_FloatMatrix; + +#endif + + +typedef A_u_long PF_PixLong; + +typedef struct _PF_PixelOpaque *PF_PixelOpaquePtr; + +#ifdef PF_DEEP_COLOR_AWARE + typedef PF_PixelOpaquePtr PF_PixelPtr; +#else + typedef PF_Pixel *PF_PixelPtr; +#endif + + + +#define PF_HUE_UNDEFINED 0x80000000 + +typedef PF_Fixed PF_RGB_Pixel[3]; +typedef PF_Fixed PF_YIQ_Pixel[3]; +typedef PF_Fixed PF_HLS_Pixel[3]; + + + + +/** -------------------- Pixel Access Macros -------------------- + + If you're using the PF_PixLong struct for pixel representation, + you can use these macros to guarantee correct channel access + for a given pixel. + +**/ + +#define PF_PixLong_ALPHA(pl) ((A_u_char)(0xff & ((pl) >> 24))) +#define PF_PixLong_RED(pl) ((A_u_char)(0xff & ((pl) >> 16))) +#define PF_PixLong_GREEN(pl) ((A_u_char)(0xff & ((pl) >> 8))) +#define PF_PixLong_BLUE(pl) ((A_u_char)(0xff & (pl))) + +#define PF_SET_PixLong_ALPHA(pl, v) (pl)&=0x00ffffff, (pl)|=((A_long)(v)<<24) +#define PF_SET_PixLong_RED(pl, v) (pl)&=0xff00ffff, (pl)|=((A_long)(v)<<16) +#define PF_SET_PixLong_GREEN(pl, v) (pl)&=0xffff00ff, (pl)|=((A_long)(v)<<8) +#define PF_SET_PixLong_BLUE(pl, v) (pl)&=0xffffff00, (pl)|=(0xff & (v)) +#define PF_MAKE_PixLong(a, r, g, b) \ + ((PF_PixLong)(((A_long)(a)<<24) | ((A_long)(r)<<16) | ((A_long)(g)<<8) | (b))) + + + +/*********************** multi-channel data *********************/ + +/** + ** the kinds of multichannels we understand + **/ +#define PF_ChannelType_DEPTH 'DPTH' +#define PF_ChannelType_DEPTHAA 'DPAA' // since 16.0 for 3D Precomp in some Artisans +#define PF_ChannelType_NORMALS 'NRML' +#define PF_ChannelType_OBJECTID 'OBID' +#define PF_ChannelType_MOTIONVECTOR 'MTVR' +#define PF_ChannelType_BK_COLOR 'BKCR' +#define PF_ChannelType_TEXTURE 'TEXR' +#define PF_ChannelType_COVERAGE 'COVR' +#define PF_ChannelType_NODE 'NODE' +#define PF_ChannelType_MATERIAL 'MATR' +#define PF_ChannelType_UNCLAMPED 'UNCP' +#define PF_ChannelType_UNKNOWN 'UNKN' + +typedef A_long PF_ChannelType; + + +/** + ** These are the elementary data types we understand. + ** By convention we reserve the last characters of the type + ** to designate the size in bytes of a plane of data. This together + ** with the dimension tells us the size of each pixel. + ** For example, data of PF_ChannelType_COLOR with PF_DataType_DOUBLE would + ** consist of 32 bytes per pixel. + **/ +#define PF_DataType_FLOAT 'FLT4' /* 4 byte */ +#define PF_DataType_DOUBLE 'DBL8' /* 8 byte */ +#define PF_DataType_LONG 'LON4' /* 4 bytes */ +#define PF_DataType_SHORT 'SHT2' /* 2 bytes */ +#define PF_DataType_FIXED_16_16 'FIX4' /* 4 bytes */ +#define PF_DataType_CHAR 'CHR1' /* 1 byte */ +#define PF_DataType_U_BYTE 'UBT1' /* 1 byte */ +#define PF_DataType_U_SHORT 'UST2' /* 2 bytes */ +#define PF_DataType_U_FIXED_16_16 'UFX4' /* 4 bytes */ +#define PF_DataType_RGB 'RBG ' /* 3 bytes */ + +typedef A_long PF_DataType; + + + + + +/** + ** for enumerating over all the channels + **/ +typedef A_long PF_ChannelIndex; + + + + + +/** + ** a description of the channel + ** use this when iterating through channels to determine + ** the characteristics of the channel + ** + **/ +#define PF_CHANNEL_NAME_LEN 63 + +typedef struct { + PF_ChannelType channel_type; + A_char name[PF_CHANNEL_NAME_LEN+1]; + PF_DataType data_type; + A_long dimension; // the number of data per pixel +} PF_ChannelDesc; // eg 3 for normals + + + + + +/** + ** the opaque type representing the channel data + **/ +typedef struct { + A_intptr_t opaque[8]; +} PF_ChannelRef, *PF_ChannelRefPtr; + + + + + + +/** + ** the channel data parallels the image data in size and shape. + ** the width is the number of pixels, the height is the number of scanlines + ** the height is image_height + ** the dimension is the number of planes in a pixel + ** the row_bytes is the length of a scanline in bytes + ** the data type is the type of data in a plane + ** Note : a pixel consists of dimensionL * sizeof(data_type) bytes + ** dataH is a handle to the data. + ** dataPV is a pointer to the dereferenced locked handle + ** effects should always have dataPV non null. + **/ +typedef struct { + PF_ChannelRef channel_ref; + A_long widthL; + A_long heightL; + A_long dimensionL; + A_long row_bytesL; + PF_DataType data_type; + PF_Handle dataH; + void *dataPV; +} PF_ChannelChunk; + + + +/** -------------------- Effect Parameter Description Structures -------------------- + + In general each structure is divided into two parts: + a) description of the parameter + b) setting of parameter at the current invocation time + + A number of these structures end in A_char*, A_char[] unions. These + structures are "flattened" between the add_param callback (in which + the A_char * should be used) and the read-only values accessible when + the effect is later invoked (at which time the A_char [] is used and + the string data is concatenated right at the end of the struct). + +**/ + + +enum { + PF_LayerDefault_MYSELF = -1, /* default to this layer */ + PF_LayerDefault_NONE = 0 /* default to no layer */ +}; + +/** Layer -- PF_Param_LAYER + + Layer parameters represent movie or image layers in the composition. + All effects automatically have 1 layer param, param[0], which is the + layer to which they have been applied. Some effects may have additional + layer parameters to do compound effects or multi-channel effects. If + your effects module has a layer parameter other than the param[0] default, + you will have to call the checkout_param callback to access the contents + of that layer. There is a special case for all layer params (except the + param[0] automatic layer) which is that the user can set them to , + indicating that no layer is selected. The effect can detect this, because + the checkout_param callback will not return an error, but the "data" pointer + in the returned LayerDef struct will be NULL. For the NULL-layers, the + effect should attempt some logical interpretation, like pretending there + is an all alpha-zero layer or perhaps just using param[0]. + +**/ + +#ifndef A_INTERNAL + + + +typedef struct PF_LayerDef { + /* PARAMETER VALUE */ + + void *reserved0; + void *reserved1; + + PF_WorldFlags world_flags; + + PF_PixelPtr data; + + A_long rowbytes; + A_long width; + A_long height; + PF_UnionableRect extent_hint; + /* For source, extent_hint is the smallest rect encompassing all opaque + * (non-zero alpha) areas of the layer. For output, this encompasses + * the area that needs to be rendered (i.e. not covered by other layers, + * needs refreshing, etc.). if your plug-in varies based on extent (like + * a diffusion dither, for example) you should ignore this param and + * render the full frame each time. + */ + void *platform_ref; /* unused since CS5 */ + + A_long reserved_long1; + + void *reserved_long4; + + PF_RationalScale pix_aspect_ratio; /* pixel aspect ratio of checked out layer */ + + void *reserved_long2; + + A_long origin_x; /* origin of buffer in layer coords; smart effect checkouts only */ + A_long origin_y; + + A_long reserved_long3; + + /* PARAMETER DESCRIPTION */ + A_long dephault; /* use a PF_LayerDefault constant defined above */ + +} PF_LayerDef; + + + +typedef PF_LayerDef PF_EffectWorld; + +#endif + +#ifdef PF_USE_OLD_WORLD /* set this for source code compatibility with older effects */ + typedef PF_EffectWorld PF_World; +#endif + +enum { + PF_UNSIGNED_PCM = 0, + PF_SIGNED_PCM = 1, + PF_SIGNED_FLOAT = 2 +}; +typedef A_short PF_SoundFormat; + + +// Sound encoding is always SIGNED +enum { + PF_SSS_1 = 1, + PF_SSS_2 = 2, + PF_SSS_4 = 4 +}; +typedef A_short PF_SoundSampleSize; // in bytes + +enum { + PF_Channels_MONO = 1, + PF_Channels_STEREO = 2 +}; +typedef A_short PF_SoundChannels; + + +typedef struct { + PF_FpLong rateF; + PF_SoundChannels num_channels; + PF_SoundFormat format; + PF_SoundSampleSize sample_size; +} PF_SoundFormatInfo; + +typedef struct { + PF_SoundFormatInfo fi; + A_long num_samples; + void *dataP; +} PF_SoundWorld; + + + +enum { + PF_ValueDisplayFlag_NONE = 0, + PF_ValueDisplayFlag_PERCENT = 1 << 0, // append % to value display for A_FpShort sliders (for fixed-point sliders, also maps range into 0-100%) + PF_ValueDisplayFlag_PIXEL = 1 << 1, // assume 0..1 is a pixel value, either 0..255, 0..32768, or 0..1.0 in UI (value will always be 0..1), + PF_ValueDisplayFlag_RESERVED1 = 1 << 2, // reserved for After Effects + PF_ValueDisplayFlag_REVERSE = 1 << 3 // presentation negates values. eg: a true -5 would be presented as "5", and typing in "22" would store in the model as -22 +}; + +#define PF_VALUEFLAG_IS_PERCENT(A) (((A) & PF_ValueDisplayFlag_PERCENT) != 0) +#define PF_VALUEFLAG_IS_PIXEL(A) (((A) & PF_ValueDisplayFlag_PIXEL) != 0) +#define PF_VALUEFLAG_IS_REVERSED(A) (((A) & PF_ValueDisplayFlag_REVERSE) != 0) + +typedef A_short PF_ValueDisplayFlags; + + +/** Slider -- PF_Param_SLIDER +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_ParamValue value; + A_char value_str[PF_MAX_PARAM_VALUE_LEN + 1]; /* string for value */ + A_char value_desc[PF_MAX_PARAM_DESCRIPTION_LEN + 1]; /* qualitative descr */ + + /* PARAMETER DESCRIPTION */ + PF_ParamValue valid_min, valid_max; /* acceptable input range */ + PF_ParamValue slider_min, slider_max; /* range represented by width of slider */ + PF_ParamValue dephault; +} PF_SliderDef; + + +/** Fixed Point Slider -- PF_Param_FIX_SLIDER +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_Fixed value; + A_char value_str[PF_MAX_PARAM_VALUE_LEN + 1]; /* string for value */ + A_char value_desc[PF_MAX_PARAM_DESCRIPTION_LEN + 1]; /* qualitative descr */ + + /* PARAMETER DESCRIPTION */ + PF_Fixed valid_min, valid_max; /* acceptable input range */ + PF_Fixed slider_min, slider_max; /* range represented by width of slider */ + PF_Fixed dephault; + A_short precision; /* decimal places to display */ + PF_ValueDisplayFlags display_flags; /* set bit to 1 to enable special display: + * --> bit 0 == append percent sign + */ +} PF_FixedSliderDef; + + +#define AEFX_AUDIO_DEFAULT_CURVE_TOLERANCE 0.05f + + +enum { + PF_FSliderFlag_NONE = 0, + PF_FSliderFlag_WANT_PHASE = 1L << 0 /* works for audio effects only */ +}; +typedef A_u_long PF_FSliderFlags; + +/** Floating Point Slider -- PF_Param_FLOAT_SLIDER +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_FpLong value; + PF_FpLong phase; /* used for PF_FSliderFlag_WANT_PHASE */ + A_char value_desc[PF_MAX_PARAM_DESCRIPTION_LEN + 1]; /* qualitative descr */ + + /* PARAMETER DESCRIPTION */ + PF_FpShort valid_min, valid_max; /* acceptable input range */ + PF_FpShort slider_min, slider_max; /* range represented by width of slider */ + PF_FpShort dephault; + A_short precision; /* decimal places to display */ + PF_ValueDisplayFlags display_flags; /* set bit to 1 to enable special display: + * --> bit 0 == append percent sign + */ + PF_FSliderFlags fs_flags; + PF_FpShort curve_tolerance; /* used for subdividing audio effects + set to zero for default, or non-audio */ + + /* next 2 fields are used in Premiere Pro and ignored in AE */ + PF_Boolean useExponent; /* use exponential value display */ + PF_FpShort exponent; /* typical values from 0.01 to 100 */ +} PF_FloatSliderDef; + + +/** Angle -- PF_Param_ANGLE +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_Fixed value; /* degrees with fixed point accuracy; + * this is NOT limited in range to 0 to 360. + */ + + /* PARAMETER DESCRIPTION */ + PF_Fixed dephault; + + /* Min and max values. Note!! Not supported for effect plugins. + ** Angle properties in effects are always unlimited in range. + */ + PF_Fixed valid_min, valid_max; +} PF_AngleDef; + + +/** CheckBox -- PF_Param_CHECKBOX +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_ParamValue value; + + /* PARAMETER DESCRIPTION */ + PF_Boolean dephault; + A_char reserved; /* padding */ + A_short reserved1; + union { + const A_char *nameptr; + } u; +} PF_CheckBoxDef; + + +/** Color -- PF_Param_COLOR +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_UnionablePixel value; + + /* PARAMETER DESCRIPTION */ + PF_UnionablePixel dephault; +} PF_ColorDef; + + +/** Point -- PF_Param_POINT + + The values for the point use the source's coordinate system, with the + origin at the top left. The values are expressed in fixed point, with + 16 bits of fractional precision (out of a total of 32 bits). + + The dephaults (sorry) are expressed as percentages (with 16 bits of + fraction) with the origin at the top left. The percent can be negative, + but should not be smaller than -600%. It should not be greater than 600%. + + If restrict_bounds is TRUE, the user will not be allowed to specify + points outside the bounds of the layer to which they are applying the + effect. If this is TRUE, the dephaults should be between 0.0 and 100.0. + +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_Fixed x_value; + PF_Fixed y_value; + + /* PARAMETER DESCRIPTION */ + A_char reserved[3]; + PF_Boolean restrict_bounds; /* restrict bounds to size of src */ + PF_Fixed x_dephault; /* percentage */ + PF_Fixed y_dephault; /* percentage */ +} PF_PointDef; + + +/** 3D Point -- PF_Param_POINT_3D + + Just like POINT, with an extra dimension. Supported in AE starting with version 10.5 (CS 5.5). + +**/ +typedef struct { + /* PARAMETER VALUE */ + PF_FpLong x_value; + PF_FpLong y_value; + PF_FpLong z_value; + + /* PARAMETER DESCRIPTION */ + PF_FpLong x_dephault; /* percentage of layer width; note: use 50 for halfway, not 0.5; this matches the old PF_PointDef behavior */ + PF_FpLong y_dephault; /* percentage of layer height */ + PF_FpLong z_dephault; /* percentage of layer _height_ (since typical layers are zero depth) */ + + char reserved[16]; /* set to zeros */ +} PF_Point3DDef; + +/** Popup Menu -- PF_Param_POPUP + ** + ** can also be used as a radio-button group in some hosts + ** when PF_PUI_RADIO_BUTTON is set + ** + **/ +typedef struct { + /* PARAMETER VALUE */ + PF_ParamValue value; + + /* PARAMETER DESCRIPTION */ + A_short num_choices; + A_short dephault; + union { + const A_char *namesptr; /* menu manager standard, '|' separator */ + } u; +} PF_PopupDef; + + +/** Momentary Buttons -- PF_Param_BUTTON + ** + ** supported by AE starting with CS 5.5 (AE 10.5); may be supported in other hosts + ** + **/ +typedef struct { + /* PARAMETER VALUE */ + PF_ParamValue value; // not used at this time + + union { + const A_char *namesptr; /* button name */ + } u; +} PF_ButtonDef; + + + + +enum { + PF_PathID_NONE = 0 +}; +typedef A_u_long PF_PathID; + + +enum { + PF_MaskMode_NONE = 0, // mask shape does nothing + PF_MaskMode_ADD, // shape is added into mask (normal behavior (really screen!)) + PF_MaskMode_SUBTRACT, + PF_MaskMode_INTERSECT, + PF_MaskMode_LIGHTEN, + PF_MaskMode_DARKEN, + PF_MaskMode_DIFFERENCE, + PF_MaskMode_ACCUM, // real add, not screen (not exposed in UI!) + + PF_NUM_MASKMODES +}; +#define PF_NUM_USER_MASKMODES (PF_NUM_MASKMODES - 1) +typedef A_long PF_MaskMode; + + + +/** Path -- PF_Param_PATH + + Path parameters give access to the mask/path/shapes of the layer on which + the effect is applied. For more information + on how to use these paths, see the PF_PathQuerySuite, and the PF_PathDataSuite + in AE_EffectSuites.h + +**/ +typedef struct PF_PathDef { + + /* PARAMETER VALUE */ + PF_PathID path_id; /* to be used with PF_CheckoutPath() + note that path_id != PF_PathID_NONE does not + guarantee that PF_CheckoutPath will return a + valid path (it may have been deleted) */ + + /* PARAMETER DESCRIPTION */ + A_long reserved0; /* not currently used, set to zero */ + + A_long dephault; /* 0 means that the default is NONE, + other numbers are the 1-based index of the + path, if the path doesn't exist, the + path_idLu value will be PF_PathID_NONE. + */ +} PF_PathDef; + + +/* --------------------- ARBITRARY DATA ----------------------------------- + * new arbitrary data type - you supply functions for various activities + * needed by After Effects to manipulate your arbitrary data. + */ + +typedef PF_Handle PF_ArbitraryH; + + +typedef struct { + A_short id; /* for effect use: lets effect distinguish between */ + /* different arbitrary data param types in the same effect */ + A_short pad; /* padding, set to zero */ + PF_ArbitraryH dephault; /* becomes owned by host at ADD_PARAM time */ + PF_ArbitraryH value; /* pass NULL at ADD_PARAM time; owned by host at render time */ + void *refconPV; /* passed into all callbacks, for effect use */ +} PF_ArbitraryDef; + + + +enum { + PF_Arbitrary_NEW_FUNC = 0, + PF_Arbitrary_DISPOSE_FUNC, + PF_Arbitrary_COPY_FUNC, + PF_Arbitrary_FLAT_SIZE_FUNC, + PF_Arbitrary_FLATTEN_FUNC, + PF_Arbitrary_UNFLATTEN_FUNC, + PF_Arbitrary_INTERP_FUNC, + PF_Arbitrary_COMPARE_FUNC, + PF_Arbitrary_PRINT_SIZE_FUNC, + PF_Arbitrary_PRINT_FUNC, + PF_Arbitrary_SCAN_FUNC +}; +typedef A_long PF_FunctionSelector; + + + +enum { + PF_ArbCompare_EQUAL = 0, + PF_ArbCompare_LESS, + PF_ArbCompare_MORE, + PF_ArbCompare_NOT_EQUAL +}; +typedef A_long PF_ArbCompareResult; + + +enum { + PF_ArbPrint_NONE = 0, + PF_ArbPrint_ABBREVIATED = 1 << 0 +}; +typedef A_long PF_ArbPrintFlags; + + + +/* this is what gets passed in the extra parameter with + * PF_Cmd_ARBITRARY_CALLBACKS + */ +typedef struct { + + PF_FunctionSelector which_function; + + A_short id; + A_short padding; + + union { + + /* PF_Arbitrary_NEW_FUNC + * + * allocate and initialize the data + * the passed in parameter,v, will already have its non data fields filled in + * you just allocate and optionally fill out the data. + */ + struct { + void *refconPV; /* >> */ + PF_ArbitraryH *arbPH; /* << */ + } new_func_params; + + + + /* PF_Arbitrary_DISPOSE_FUNC + * + * dispose of any allocated data + */ + struct { + void *refconPV; + PF_ArbitraryH arbH; + } dispose_func_params; + + + + /* PF_Arbitrary_COPY_FUNC + * + * make a copy of src_dataP into dst_dataP. refconPV was assigned from parameter def. + */ + struct { + void *refconPV; + PF_ArbitraryH src_arbH; + PF_ArbitraryH *dst_arbPH; /* << allocated by copy func, owned by caller */ + } copy_func_params; + + + + /* PF_Arbitrary_FLAT_SIZE_FUNC + * + * return in flat_data_sizePLu the number of bytes that are needed to flatten the object. + */ + struct { + void *refconPV; + PF_ArbitraryH arbH; + A_u_long *flat_data_sizePLu; /* << */ + } flat_size_func_params; + + + + /* PF_Arbitrary_FLATTEN_FUNC + * + * Flatten the arbH and place it into the supplied buffer, honoring its size. + */ + struct { + void *refconPV; + PF_ArbitraryH arbH; + A_u_long buf_sizeLu; // size of buffer + void *flat_dataPV; // buffer already allocated + } flatten_func_params; + + + + /* PF_Arbitrary_UNFLATTEN_FUNC + * + * opposite of FlattenFunc, unpack the buffer into a PF_ArbitraryH. + */ + struct { + void *refconPV; + A_u_long buf_sizeLu; /* size of buffer */ + const void *flat_dataPV; /* >> */ + PF_ArbitraryH *arbPH; /* << */ // owned by caller + } unflatten_func_params; + + + + /* PF_Arbitrary_INTERP_FUNC + * + * The interpolation function takes a left and a right keyframe and a value between + * 0 and 1, 0 being the left keyframe, 1 represents the right keyframe. + * allocate PF_ArbitraryH and fill it with interpolated data. + * The velocity curves have already been accounted for when the normalized time value was + * calculated. + */ + struct { + void *refconPV; + PF_ArbitraryH left_arbH; /* >> */ // left keyframe + PF_ArbitraryH right_arbH; /* >> */ // right keyframe + PF_FpLong tF; /* >> */ // range [0,1] + PF_ArbitraryH *interpPH; /* << */ // becomes owned by caller + } interp_func_params; + + + /* PF_Arbitrary_COMPARE_FUNC + * + * compare two arbitrary data types for equality + * return 0 if equal, otherwise return 1 in comparePL + */ + struct { + void *refconPV; + PF_ArbitraryH a_arbH; /* >> */ // value 1 + PF_ArbitraryH b_arbH; /* >> */ // value 2 + PF_ArbCompareResult *compareP; /* << */ // result of compare use enumeration above + } compare_func_params; + + + + /* PF_Arbitrary_PRINT_SIZE_FUNC + * + * return in print_sizePLu the number of bytes that are needed to print the object. + */ + struct { + void *refconPV; + PF_ArbitraryH arbH; /* >> */ // the data + A_u_long *print_sizePLu; /* << */ // size of buffer needed to print + } print_size_func_params; + + + /* PF_Arbitrary_PRINT_FUNC + * + * return in buff a user-readable description of your arb data + */ + struct { + void *refconPV; /* >> */ + PF_ArbPrintFlags print_flags; /* >> */ // PF_ArbPrint_NONE means print the complete description + PF_ArbitraryH arbH; /* >> */ + A_u_long print_sizeLu; /* >> */ // size of buffer + A_char *print_bufferPC; /* << */ + } print_func_params; + + + + /* PF_Arbitrary_SCAN_FUNC + * + * return a PF_ArbitraryH from the text description of your arb data + */ + struct { + void *refconPV; /* >> */ + const A_char *bufPC; /* >> */ + A_u_long bytes_to_scanLu; /* >> */ + PF_ArbitraryH *arbPH; /* << */ + } scan_func_params; + + } u; + +} PF_ArbParamsExtra; + + +typedef struct { + PF_ParamIndex param_index; +} PF_UserChangedParamExtra; // passed as extra for PF_Cmd_USER_CHANGED_PARAM + + +/* The following is an opaque type you pass to PF_Cmd_TRANSLATE_PARAMS_TO_PREFS */ +typedef struct PF_ImporterPrefsData *PF_ImporterPrefsDataPtr; + +/* prefsPC is a pointer to an importer opaque data (prefs) that coincides + * with its matching importer. It's an in/out param. The host owns it, + * but the filter will modify it. + * prefs_sizeLU is the size of the prefs object pointed to. + * This is part of a Premiere Pro feature that requires a matching Importer/Source Settings effect + * and will only be used in that particular case. + */ +typedef struct { + PF_ImporterPrefsDataPtr prefsPC; + A_u_long prefs_sizeLu; +} PF_TranslateParamsToPrefsExtra; // passed as extra for PF_Cmd_TRANSLATE_PARAMS_TO_PREFS + + +enum { + PF_DepCheckType_NONE = 0, + PF_DepCheckType_ALL_DEPENDENCIES, + PF_DepCheckType_MISSING_DEPENDENCIES +}; +typedef A_long PF_DepCheckType; + +typedef struct { + PF_DepCheckType check_type; /* >> */ // effect should ignore any unknown type + PF_Handle dependencies_strH; /* << */ // NULL terminated string. Flat and disposed of by the host +} PF_ExtDependenciesExtra; + + +#ifdef PREMIERE_INTERNAL + #include "PF_Private_Premiere.h" +#else + + +typedef union { + PF_LayerDef ld; + PF_SliderDef sd; + PF_FixedSliderDef fd; + PF_AngleDef ad; + PF_CheckBoxDef bd; + PF_ColorDef cd; + PF_PointDef td; + PF_PopupDef pd; + PF_FloatSliderDef fs_d; + PF_ArbitraryDef arb_d; + PF_PathDef path_d; + PF_ButtonDef button_d; + PF_Point3DDef point3d_d; +} PF_ParamDefUnion; + +#endif + +/** Param UI Flags + + PF_PUI_TOPIC + + Set this flag if you handle PF_Cmd_EVENTs for the "topic" of + the parameter. The "topic" is the portion of the param UI + in the Effect Controls Window (ECW) that is still visible + when the twirly-arrow is twirled up for that param. + + If you set this flag, you must also set PF_OutFlag_CUSTOM_UI + at PF_Cmd_GLOBAL_SETUP time. + + PF_PUI_CONTROL + + Set this flag if you handle PF_Cmd_EVENTs for the control + area in the ECW. This is the area that becomes invisible + when you twirl up a parameter's twirly arrow (and is the + usual place to have your custom UI). + + If you set this flag, you must also set PF_OutFlag_CUSTOM_UI + at PF_Cmd_GLOBAL_SETUP time. + + PF_PUI_STD_CONTROL_ONLY + + Set this flag if you want the standard control only -- no + data stream will be associated with this parameter, and + thus no keyframes (nothing appears in the Time Layout window + for this type of param). + + You might want to do this to control something in your + sequence data with a standard control. Or in your arb + data, or custom UI in the comp window, or to group-set multiple + other controls. + + + This flag can be used with these param types: + PF_Param_SLIDER, PF_Param_FIX_SLIDER, PF_Param_ANGLE, + PF_Param_CHECKBOX, PF_Param_COLOR, PF_Param_POINT, + PF_Param_POPUP, PF_Param_FLOAT_SLIDER, PF_Param_POINT_3D + + but NOT: + + PF_Param_CUSTOM, PF_Param_NO_DATA, + PF_Param_LAYER, PF_Param_ARBITRARY_DATA, PF_Param_PATH + + If you set this flag, you must also set PF_ParamFlag_SUPERVISE + (otherwise you would never find out about value changes, and + the setting would never be used for anything). This flag + does not require the setting of PF_OutFlag_CUSTOM_UI. + + If you want a standard control for PF_Param_ARBITRARY_DATA, + just add one (or more) using PF_PUI_STD_CONTROL_ONLY with + the supported param types, and then when handling + PF_Cmd_USER_CHANGED_PARAM you can modify your arb data. + + + PF_PUI_NO_ECW_UI + + Set this flag if you want no UI to appear in the Effect Controls + Window. Presumably, you are setting the value of the parameter + through some other method (e.g. custom UI in the comp window, + or while handling PF_Cmd_USER_CHANGED_PARAM for a different param with + PF_ParamFlag_SUPERVISE set). In AE, this doesn't affect keyframe + visibility in the timeline. In PPro it does remove the entire row, + so you won't see keyframes. + + PF_PUI_ECW_SEPARATOR + + Set this flag if you'd like a thick line above this parameter + in the effect control window. This is provided so that parameters + can be grouped visually, if needed (without adding groups). + This flag can be changed at runtime through the PF_UpdateParamUI() + method. Not used by AE. + + PF_PUI_INVISIBLE + + Set this flag if you'd like the parameter to be initially invisible. This is useful + if your effect needs hidden data parameters that affect rendering. + + Premiere only: The parameter can later be made visible by clearing the flag + during the PF_UpdateParamUI() callback. + +**/ + +enum { + PF_PUI_NONE = 0, + PF_PUI_TOPIC = 1L << 0, // effect has custom UI and wants events for this params' title (portion visible when twirled up) + PF_PUI_CONTROL = 1L << 1, // effect has custom UI and wants events for this params' control (portion invisible when twirled up) + // use the width and height below + + // following flags are new in AE 4.0 + + PF_PUI_STD_CONTROL_ONLY = 1L << 2, // param will be used as UI only, no data (new in AE 4.0) */ + PF_PUI_NO_ECW_UI = 1L << 3, // stop param from appearing in Effect Controls (which in PPro also means you won't see a keyframe track there) + PF_PUI_ECW_SEPARATOR = 1L << 4, // draw a thick separating line above this param; not used by AE + PF_PUI_DISABLED = 1L << 5, // disable (gray-out) UI for this param + + // following flags are new in AE 4.1 + + // AE will not erase the ECW topic, it's up to the FX to erase/draw every pixel. + // Handy if FX author implements an offscreen, prevents flashing. + PF_PUI_DONT_ERASE_TOPIC = 1L << 6, + PF_PUI_DONT_ERASE_CONTROL = 1L << 7, + + PF_PUI_RADIO_BUTTON = 1L << 8, // display as a radio-button group; only valid for PF_Param_POPUP; ignored by AE + + PF_PUI_INVISIBLE = 1L << 9 // in AE as of CS6, this hides the parameter UI in both the Effect Controls and Timeline. + // in Premiere since earlier than that, this hides the parameter UI in the Effect Controls, + // which includes the keyframe track; for PPro only, the flag is dynamic and can be cleared + // to make the parameter visible again. +}; +typedef A_long PF_ParamUIFlags; + +/** PF_ChangeFlags + + New in AE 4.0 (although PF_ChangeFlag_CHANGED_VALUE was implemented + by setting low bit of old changed field). + + PF_ChangeFlag_CHANGED_VALUE + + Set this flag for each param whose value you change when handling + a PF_Cmd_USER_CHANGED_PARAM or specific PF_Cmd_EVENT events + (PF_Event_DO_CLICK, PF_Event_DRAG, & PF_Event_KEYDOWN). If set during + PF_Cmd_EVENT, but sure to also set PF_EO_HANDLED_EVENT before returning. + You can change as many params as you want at once. These changes are undoable and + re-doable by the user. Exception: do not set PF_PUI_STD_CONTROL_ONLY + param values with this flag, use PF_UpdateParamUI() instead. + + PF_ChangeFlag_SET_TO_VARY + + Not yet implemented. Same restrictions as PF_ChangeFlag_CHANGED_VALUE. + + PF_ChangeFlag_SET_TO_CONSTANT + + Not yet implemented. Same restrictions as PF_ChangeFlag_CHANGED_VALUE. + +**/ + +enum { + PF_ChangeFlag_NONE = 0, + PF_ChangeFlag_CHANGED_VALUE = 1L << 0, + PF_ChangeFlag_RESERVED = 1L << 1, + PF_ChangeFlag_SET_TO_VARY = 1L << 2, + PF_ChangeFlag_SET_TO_CONSTANT = 1L << 3 +}; +typedef A_long PF_ChangeFlags; + + +/** ParamDef +**/ +typedef struct { + /* PARAMETER VALUE */ + union { + A_long id; // used by PF_ADD_PARAM callback, see doc + PF_ChangeFlags change_flags; // set when handling PF_Cmd_USER_CHANGED_PARAM & PF_Cmd_UPDATE_PARAMS_UI + } uu; + + PF_ParamUIFlags ui_flags; + A_short ui_width; /* ignored if !PF_PUI_CONTROL */ + A_short ui_height; /* ignored if !PF_PUI_CONTROL */ + + /* PARAMETER DESCRIPTION */ + PF_ParamType param_type; + A_char name[PF_MAX_EFFECT_PARAM_NAME_LEN + 1]; + PF_ParamFlags flags; + + A_long unused; // Once upon a time was reserved_tdb + PF_ParamDefUnion u; + +} PF_ParamDef, *PF_ParamDefPtr, **PF_ParamDefH; + +typedef PF_ParamDef** PF_ParamList; + +#define PF_ParamDef_IS_PUI_FLAG_SET(_defP, _puiFlag) \ + (((_defP)->ui_flags & _puiFlag) != 0) + +#define PF_ParamDef_IS_PARAM_FLAG_SET(_defP, _paramFlag) \ + (((_defP)->flags & _paramFlag) != 0) + + + + /** -------------------- Smart Render Interface Constants and Structures -------------------- + + PF_Cmd_SMART_PRE_RENDER gets a PF_PreRenderExtra struct in the extra pointer, and must + fill out the "output" field before returning. + + PF_Cmd_SMART_RENDER gets a PF_SmartRenderExtra struct in the extra pointer, if pre-render was invoked. + + */ + + enum { + PF_ChannelMask_ALPHA = 0x1, + PF_ChannelMask_RED = 0x2, + PF_ChannelMask_GREEN = 0x4, + PF_ChannelMask_BLUE = 0x8, + PF_ChannelMask_ARGB = 0xF + }; + typedef A_long PF_ChannelMask; + + enum { + PF_GPU_Framework_NONE = 0, + PF_GPU_Framework_OPENCL, + PF_GPU_Framework_METAL, + PF_GPU_Framework_CUDA, + }; + typedef A_long PF_GPU_Framework; + + typedef struct { + PF_LRect rect; + PF_Field field; + PF_ChannelMask channel_mask; + PF_Boolean preserve_rgb_of_zero_alpha; // whether the effect should attempt to preserve RGB when A=0 + char unused[3]; // keep this zeroed! + A_long reserved[4]; // this too + } PF_RenderRequest; + + typedef struct { + PF_RenderRequest output_request; // what the effect is being asked to render + short bitdepth; // bitdepth the effect is being driven in (in bpc) + const void *gpu_data; + PF_GPU_Framework what_gpu; + A_u_long device_index; + } PF_PreRenderInput; + + typedef void (*PF_DeletePreRenderDataFunc)(void *pre_render_data); + + + enum { + PF_RenderOutputFlag_RETURNS_EXTRA_PIXELS = 0x1, // if it's just as cheap to compute more pixels at once, set this to allow result > request rect + PF_RenderOutputFlag_GPU_RENDER_POSSIBLE = 0x2 // if the GPU render is possible given the params and frame render context + }; + typedef short PF_RenderOutputFlags; + + typedef struct { + PF_LRect result_rect; // the rectangle actually available from this request (can be empty) + PF_LRect max_result_rect; // the maximum size the output could possibly be, if AE asked for all of it + // (this must not vary depending on requested output size!) + + PF_Boolean solid; // optimization hint; set this if there is full alpha at every pixel in the result rect + PF_Boolean reserved; + PF_RenderOutputFlags flags; // RETURNS_EXTRA_PIXELS, other things later + + void* pre_render_data; // will be passed back to render + PF_DeletePreRenderDataFunc delete_pre_render_data_func; // and eventually passed to this function for deletion, if set + + } PF_PreRenderOutput; + +typedef struct { + PF_LRect result_rect; // the rectangle actually available from this request (can be empty) + PF_LRect max_result_rect; // the maximum size the output could possibly be, if AE asked for all of it + PF_RationalScale par; // aspect ratio of pixels + PF_Boolean solid; // boolean; true if result has full alpha throughout result rect + PF_Boolean reservedB[3]; + A_long ref_width; // original size of layer, pre-effects (without DSF, comp size for collapsed layers) + A_long ref_height; + A_long reserved[6]; + } PF_CheckoutResult; + + + typedef struct { + + PF_Err (*checkout_layer)( + PF_ProgPtr effect_ref, // reference from in_data + PF_ParamIndex index, // 0 = input, 1..n = param + A_long checkout_idL, // chosen by effect, must be >=0 and unique + const PF_RenderRequest *req, + A_long what_time, + A_long time_step, + A_u_long time_scale, + PF_CheckoutResult *checkout_result); // out + + PF_Err (*GuidMixInPtr)( + PF_ProgPtr effect_ref, // reference from in_data + //const PF_RenderRequest *req, + A_u_long buf_sizeLu, /* >> size of buffer to mix into guid */ + const void *buf ); + + } PF_PreRenderCallbacks; + + // This is passed as the extra parameter to PF_Cmd_PRE_RENDER when an effect is using the pre-render interface. + // Effect must fill out output. + typedef struct { + PF_PreRenderInput *input; + PF_PreRenderOutput *output; + PF_PreRenderCallbacks *cb; + } PF_PreRenderExtra; + + typedef struct { + PF_RenderRequest output_request; // what the effect is being asked to render + short bitdepth; // bitdepth the effect is being driven in (in bpc) + void *pre_render_data;// passed back from value placed in extra->output->pre_render_data during PF_Cmd_PRE_RENDER + const void *gpu_data; + PF_GPU_Framework what_gpu; + A_u_long device_index; // For use in conjunction with PrSDKGPUDeviceSuite + } PF_SmartRenderInput; + + typedef struct { + + PF_Err (*checkout_layer_pixels)( + PF_ProgPtr effect_ref, // reference from in_data + A_long checkout_idL, // passed during checkout_layer + PF_EffectWorld **pixels); // out, valid for duration of current command or until checked in + + PF_Err (*checkin_layer_pixels)( // not strictly necessary to call, but useful to free up memory early + PF_ProgPtr effect_ref, + A_long checkout_idL); + + PF_Err (*checkout_output)( + PF_ProgPtr effect_ref, // reference from in_data + PF_EffectWorld **output); // out + + } PF_SmartRenderCallbacks; + + // Passed as extra param during PF_Cmd_SMART_RENDER + typedef struct { + PF_SmartRenderInput *input; + PF_SmartRenderCallbacks *cb; + } PF_SmartRenderExtra; + + + /** -------------------- GPU Setup/Setdown Constants and Structures -------------------- + + PF_Cmd_GPU_DEVICE_SETUP gets a PF_GPUDeviceSetupExtra struct in the extra pointer. + + PF_Cmd_GPU_DEVICE_SETDOWN gets a PF_GPUDeviceSetdownExtra struct in the extra pointer. + + */ + + + typedef struct { + PF_GPU_Framework what_gpu; + A_u_long device_index; // For use in conjunction with PrSDKGPUDeviceSuite + } PF_GPUDeviceSetupInput; + + typedef struct { + void *gpu_data; // effect owned pointer. + } PF_GPUDeviceSetupOutput; + + typedef struct { + PF_GPUDeviceSetupInput *input; + PF_GPUDeviceSetupOutput *output; + } PF_GPUDeviceSetupExtra; + + + + typedef struct { + void *gpu_data; // effect must dispose. + PF_GPU_Framework what_gpu; + A_u_long device_index; // For use in conjunction with PrSDKGPUDeviceSuite + } PF_GPUDeviceSetdownInput; + + typedef struct { + PF_GPUDeviceSetdownInput *input; + } PF_GPUDeviceSetdownExtra; + + + +/** -------------------- Interaction Callbacks -------------------- + + Effects modules use callbacks to define their parameters. When invoked, + they will be given the parameters values at the particular invocation + moment, but some effects may need to ask for the parameter values at + other times (notably of layer parameters for, say, a visual echo). + + While running, effects modules are responsible for checking for user + interrupts. This checking can be done with either the abort callback, + which will return a value indicating if the user has taken any action, + or with the progress callback, which performs user interrupt checking + just like the abort callback, and also displays a progress display. + + At the bottom of this section are macros for accessing these callback + routines. The first parameter to each macro is a pointer to a PF_InData + structure, defined below. This pointer will be passed to your effect. + + checkout_param + The checkout_param callback allows you to inquire param values at times + other than the current one, and allows you to access layer params other + than the default input layer and the output layer. See the notes on the + "params" structure at the end of this file. The PF_ParamDef you must + specify cannot point into the "params" array; the memory must exist else- + where, such as on the stack. + + If you checkout a layer parameter and the layer popup is currently set + to , the return value will be filled with zeros. You can check + the "data" pointer. If it is NULL, then the layer param is set to + and you should do something like faking an all alpha zero layer or some + such nonsense. IMPORTANT: Due to 13.5 threading changes, checking out + a layer param that is not inside of UPDATE_PARAMS_UI will return + a frame with black pixels to avoid render requests and possible deadlock. + In other selectors the actual render will be triggered as it did before. + + checkin_param + When you have called checkout_param, you must call checkin_param when you + are done, so After Effects can clean up after itself and you. This is + very important for smooth functioning and also to save memory where possible. + Once checked in, the fields in the PF_ParamDef will no longer be valid. + + add_param + When given the PARAMS_SETUP message, the effect will generally make a + series of calls to the add_param routine to define the interface that + the After Effects user will see. See the PF_ParamDefs defined above. + Currently you can only add params at the end, and only at PARAMS_SETUP + time. + + abort + Periodically, you should check if the user wants to interrupt the + current processing. The abort proc here will return non-zero if + the effects module should suspend its current processing. If you + call this routine and it returns a value other than zero, you should + return that value when your effect returns. That will let us know + if the effect completed rendering or not. + + progress + Alternatively, you may wish to display a progress bar while you are + processing the image. This routine combines the abort proc user + interrupt checking with code that will display a progress bar for + you. The current and total params represent a fraction (current/total) + that describes how far you are along in your processing. Current + should equal total when done. Additionally, this routine will return + non-zero if you should suspend/abort your current processing. You + should probably try not to call this too frequently (e.g. at every pixel). + It is better to call it, say, once per scanline, unless your filter is + really really slow. + +**/ + +typedef struct _PF_CustomUIInfo PF_CustomUIInfo; + + +typedef struct { + // IMPORTANT: This structure is FROZEN. Changing this would break binary compatibility with PF_InData + + PF_Err (*checkout_param)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_ParamIndex index, /* 0 = input, 1..n = param */ + A_long what_time, + A_long time_step, /* duration between frames in time_scale units */ + A_u_long time_scale, + PF_ParamDef *param); /* the param you've been waiting for... */ + + PF_Err (*checkin_param)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_ParamDef *param); + + PF_Err (*add_param)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_ParamIndex index, /* -1 = add to end */ + PF_ParamDefPtr def); + + PF_Err (*abort)( + PF_ProgPtr effect_ref); /* reference from in_data */ + + PF_Err (*progress)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long current, + A_long total); + + PF_Err (*register_ui)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_CustomUIInfo *cust_info); + + PF_Err (*checkout_layer_audio)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_ParamIndex index, /* 0 = input, 1..n = param */ + A_long start_time, /* in time_scale units */ + A_long duration, /* in time_scale units */ + A_u_long time_scale, /* units/sec */ + PF_UFixed rate, /* unsigned! */ + A_long bytes_per_sample, + A_long num_channels, + A_long fmt_signed, /* non-zero for signed, zero for unsigned */ + PF_LayerAudio *audio); /* the LayerAudio you've been waiting for... */ + + PF_Err (*checkin_layer_audio)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_LayerAudio audio); + + PF_Err (*get_audio_data)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_LayerAudio audio, + PF_SndSamplePtr *data0, /* optional - packed array of samples, if stereo, left/right */ + A_long *num_samples0, /* optional */ + PF_UFixed *rate0, /* optional - unsigned! */ + A_long *bytes_per_sample0, /* optional */ + A_long *num_channels0, /* optional */ + A_long *fmt_signed0); /* optional - non-zero for signed, zero for unsigned */ + + void *reserved_str[3]; + + void *reserved[10]; + +} PF_InteractCallbacks; + + +#define PF_CHECKOUT_PARAM(IN_DATA, INDEX, TIME, STEP, SCALE, PARAM) \ + (*(IN_DATA)->inter.checkout_param)((IN_DATA)->effect_ref, \ + (INDEX), (TIME), (STEP), (SCALE), (PARAM)) + +#define PF_CHECKIN_PARAM(IN_DATA, PARAM) \ + (*(IN_DATA)->inter.checkin_param)((IN_DATA)->effect_ref, (PARAM)) + +#define PF_ADD_PARAM(IN_DATA, INDEX, DEF) \ + (*(IN_DATA)->inter.add_param)((IN_DATA)->effect_ref, (INDEX), (DEF)) + +#define PF_ABORT(IN_DATA) \ + (*(IN_DATA)->inter.abort)((IN_DATA)->effect_ref) + +#define PF_PROGRESS(IN_DATA, CURRENT, TOTAL) \ + (*(IN_DATA)->inter.progress)((IN_DATA)->effect_ref, (CURRENT), (TOTAL)) + +#define PF_REGISTER_UI(IN_DATA, CUST_INFO) \ + (*(IN_DATA)->inter.register_ui)((IN_DATA)->effect_ref, (CUST_INFO)) + +#define PF_CHECKOUT_LAYER_AUDIO(IN_DATA, INDEX, START_TIME, DURATION, SCALE, RATE, \ + BYTES_PER_SAMPLE, NUM_CHANNELS, FMT_SIGNED, AUDIO) \ + (*(IN_DATA)->inter.checkout_layer_audio)((IN_DATA)->effect_ref, \ + (INDEX), (START_TIME), (DURATION), (SCALE), (RATE), (BYTES_PER_SAMPLE), \ + (NUM_CHANNELS), (FMT_SIGNED), (AUDIO)) + +#define PF_CHECKIN_LAYER_AUDIO(IN_DATA, AUDIO) \ + (*(IN_DATA)->inter.checkin_layer_audio)((IN_DATA)->effect_ref, (AUDIO)) + +#define PF_GET_AUDIO_DATA(IN_DATA, AUDIO, DATA_0, NUM_SAMPLES_0, RATE_0, \ + BYTES_PER_SAMPLE_0, NUM_CHANNELS_0, FMT_SIGNED_0) \ + (*(IN_DATA)->inter.get_audio_data)((IN_DATA)->effect_ref, \ + (AUDIO), (DATA_0), (NUM_SAMPLES_0), (RATE_0), (BYTES_PER_SAMPLE_0), \ + (NUM_CHANNELS_0), (FMT_SIGNED_0)) + + +/** -------------------- Effect Parameter Blocks -------------------- + + The effects module itself is invoked with input and output blocks + of parameters for various messages that it needs to handle. The + output block (values returned from the effect to the program) and + the input block (values provided by the program for the edification + of the effect) are defined here. Discussion follows. + + The Output Block + + Most fields of the output block are only examined for changes after + certain commands have been sent to the effect module. Each field + below describes when it will be checked. + + my_version + This is the version number of your plug-in effect, not to be confused + with the version of the plug-in specification. Please set this + at PF_Cmd_GLOBAL_SETUP. + + name + This lets you override the name of the effect in the Time Layout and + in the Effect Controls windows when the effect is applied. The name from + the PiPL resource is always used in the Effect menu. This field is + checked after PF_Cmd_SEQUENCE_SETUP. You will almost always leave + this field empty. + + global_data + This is a Handle that you can allocate at PF_Cmd_GLOBAL_SETUP + time. It will be passed back to you verbatim in the input + parameter block for use later on. In PF_Cmd_GLOBAL_SETUP, + the global_data field in the Input Block may be set to a + flattened version of your global data, in which case you should + unflatten it, free the flat version, and set this field to the + unflattened new global data. + + It will be locked & unlocked for you automatically like sequence_data. + + num_params + The calling application will sanity check the num_params field + vs the times add_param is called. The implicit main + layer parameter MUST be included in the parameter count. Use the + num_params value in the in_data as a starting value (it will + include the implicit layer parameter). + Set this field when you get PF_Cmd_PARAMS_SETUP. + + sequence_data + This is a Handle that you can allocate (using PF_NEW_HANDLE) + at PF_Cmd_SEQUENCE_SETUP time. + It will be passed back to you in the input parameter block + for later use. + + WARNING: this handle is always locked for you before your plugin + is called, and the lock-state is restored on the way out. If you + have arbitrary data, your plugin can be called re-entrantly, so + if you have a lock/unlock inside your plugin, the handle will + become unlocked prematurely -- instead simply depend on the host + to lock & unlock your sequence data for you. Of course during + PF_Cmd_SEQUENCE_SETUP the handle you allocate will not be + locked unless you explicitly lock it at that time. + + The contents of this handle will be written out to + disk. If other handles hang off this block, you must specify the + PF_OutFlag_SEQUENCE_DATA_NEEDS_FLATTENING out flag when you get + the PF_Cmd_GLOBAL_SETUP command. You will then receive the + PF_Cmd_SEQUENCE_FLATTEN before your handle is written out. At that + time, you should create a flat version of the handle contents, + free the old unflat handle, and set this field to the flattened + version of the handle. Or after disposing, simply set to NULL + and nothing will be written to disk. + + You will receive a PF_Cmd_SEQUENCE_RESETUP + call to unflatten this handle (as well as to adjust the sequence + data to altered frame rates, etc). If your + sequence data can be flat or unflat, you should store its current + state along with the other data, and check that value in Resetup. + If the handle is flat, Resetup should unflatten it, free the flat + handle, and set this field to the new unflat usable handle. + + flat_sdata_size + OBSOLETE. Turns out, it was never used. Since the handle + set in sequence_data must be allocated using PF_NEW_HANDLE, + the host can find out the size of the handle without asking. + + frame_data + This is a Handle that you can allocated at PF_Cmd_FRAME_SETUP + time. It will be passed to you in the input parameters, as + with the global_data and the sequence_data. This will not + be written out to disk. There is no particular use for this. + Set this field in PF_Cmd_FRAME_SETUP, if you must. + + It will be locked & unlocked for you like sequence_data. + + width + height + origin + You set these fields at PF_Cmd_FRAME_SETUP time to indicate + that the output image will be larger than the input image. + You should set width and height to the size that you want the + output buffer to be. Set origin to the place that the + point (0,0) in the input should map to in the new larger + output. Thus, if you created a 5 pixel drop shadow up and left, + you would set origin to (5, 5). + + out_flags + out_flags2 + This field can be set to an OR-ed combination of the PF_OutFlag + and PF_OutFlag2 constants (don't mix them up!) to communicate + things to After Effects. This will be checked after every + command, but only certain flags are relevant at given times. + Check the PF_OutFlag constants above. + + return_msg + This is a message string (in C string format) that will be + interpreted as either an error message or a useful display + message (for instance, for handling PF_Cmd_ABOUT). Fill + this string with a message you want After Effects to report + to the user for you. It will come up in a simple dialog + with an OK button. Set the first byte of this string to '\0' + to indicate no string -- it is set that way upon entry. This + field is examined after every PF_Cmd. + + The Input Block + + Many parts of the input block are actually structures defined elsewhere + in this file, or in the companion file AE_EffectCB.h. See the documentation + where those structures are defined to understand their contents. + With any given PF_Cmd, only certain fields in the Input Block will + have valid values. Each field described below tells when it is valid. + + in_flags + in_flags2 + These are various flags indicating some boolean value to + the effect module. This is a combination of PF_InFlag values + OR-ed together. This is set for all commands, though most + flags make sense only at certain times. Usually this is + just a copy of the PiPL global flags. See PF_OutFlags and + PF_OutFlags2 above. + + inter + This is a structure defined above containing callbacks + related to user interaction. This has callbacks to add parameters, + to check if the user has interrupted the effect, to display + a progress bar, and to inquire parameter values outside of the + current moment. See the doc above. When each callback can + validly be executed is defined above. + + utils + This is a pointer to a block of useful graphical and mathematical + callbacks provided for the effects module. The documentation + for this block is in the AE_EffectCB.h file. This is a void *, + which can be confusing. See AE_EffectCB.h for macros to use these + functions. This pointer will be defined at all times. + + effect_ref + This is a opaque piece of data that needs to be passed to + most of the various callback routines. Don't worry about it. + + quality + This is set to one of the PF_Quality constants above to + describe the Quality currently chosen by the user. Ideally, + your effect should do a faster version with LO quality, and + a better, "broadcast"-able version with HI quality. Also, + some of the utility callbacks perform differently between + LO and HI quality. This is defined for all PF_Cmds related + to SEQUENCE and FRAME (obviously, including RENDER). + + version + This is the version of the effects spec with which you are + being invoked. This will not be defined until after GLOBAL_SETUP. + + serial_num + This is the serial number of the invoking application. + + appl_id + This is the identifier of the invoking application. It will + be the creator A_long of the app. + + freq + This is an estimate of the frequency with which you should + call the abort check callback. You can ignore this. + + num_params + This is set to the number of input parameters you are receiving. + + what_cpu + This is set to the return value from Gestalt asking what sort + of CPU your machine has. If your effect requires a certain + type of CPU it should check this value and return an error + indicating that it cannot run. After Effects only runs on + 68020s and higher, so don't sweat it if you require that. + + what_fpu + This is set to the return value from Gestalt asking what sort + of FPU your machine has. If you require a floating point unit, + you should return the OutFlag indicating that in GLOBAL_SETUP, + and then do not execute your floating point code if this value + is set to 0 -- just do a PF_COPY of the input to the output when + you get the PF_Cmd_RENDER. See OutFlag description above. + + current_time + This is the time of the current frame. It will be set in RENDER. + The number of the current frame is current_time / time_step. + All effects sequences start at time 0. + + time_step + This is the time difference to the next or last frame. This value + and current_time and total_time are in units given by time_scale. + The time between frames is time_step, not 1. This value will be 0 + at SEQUENCE_SETUP if it is not constant for all frames. It will + be set correctly in the FRAME calls, even if it's not constant. + + total_time + This is the amount of time from the start to the end of the + image sequence on which this effect is being invoked. The total + number of frames is total_time / time_step. + + time_scale + These are the units that current_time, time_step, and total_time + are in. See QuickTime for an explanation of how these time values work. + + width + height + These are the size of the input image. As Stoney Ballard points out, + these are certainly NOT the same as the width and height fields in param[0], + but rather reflect the full-resolution dimensions of the input layer. + + field + Will be set to PF_Field_UPPER or PF_Field_LOWER during field-rendering + if certain conditions are met -- for example: effect must have + PF_OutFlag_PIX_INDEPENDENT set, and the layer to which the effect is + applied must not be rotated, scaled nor positioned on a subpixel. + You can safely ignore the setting of this field, but might be able to + optimize things by only processing the specified field. + + extent_hint + This is a rectangle that indicates the intersection of the visible + portions of the input and output layers. For an effect that does + not do a geometric distortion of the image, copying just this rectangle + from the source image to the destination image is sufficient to copy + all the image data that the user will see. This can speed up effects + very much. Just iterate over only this rectangle of pixels. + + output_origin_x + output_origin_y + These fields correspond to the origin returned in the out_data at + PF_Cmd_FRAME_SETUP time. They indicate the position of the top left + corner of the input buffer in the output buffer. + + downsample_x + downsample_y + For speed, the user may have asked for only every Nth vertical or + horizontal pixel to be actually rendered by After Effects. The width + and height of all effect parameters (including layers) will be + automatically adjusted to compensate, but the effect needs to know + the downsampling factors to correctly interpret scalar parameters + (ie. sliders) that represent pixel distances in the image. + Downsample factors will be in the range 1 to 999+. This is set in + SEQUENCE_SETUP or RESETUP as the case may be. As of PF_PLUG_IN_VERSION 2, + this factor is a rational quantity. + + global_data + sequence_data + frame_data + These fields are copied from the out data on previous invocations + and set here for you to access as you need them. They will only + be set if they have been allocated during previous commands. + + pre_effect_source_origin_x + pre_effect_source_origin_y + These fields are the origin of the source image in the input buffer. They are set + only during frame calls (PF_Cmd_FRAME_SETUP, PF_Cmd_RENDER, PF_Cmd_FRAME_SETDOWN). + They will be non-zero only if one or more effects that preceded this effect + on the same layer resized the output buffer (i.e. specified that the output + image will be larger or smaller than the input image). + +**/ + + +typedef struct { + A_u_long my_version; /* version # for plug-in code */ + A_char name[PF_MAX_EFFECT_NAME_LEN + 1]; /* only used at seq setup to change */ + PF_Handle global_data; + A_long num_params; + PF_Handle sequence_data; + A_long flat_sdata_size;/* obsolete */ + PF_Handle frame_data; + A_long width; /* change if you want resized output */ + A_long height; + PF_Point origin; + PF_OutFlags out_flags; /* ORed combo of PF_OutFlag values */ + A_char return_msg[PF_MAX_EFFECT_MSG_LEN + 1]; + A_long start_sampL; /* used only for audio commands */ + A_long dur_sampL; /* used only for audio commands */ + PF_SoundWorld dest_snd; /* used only for audio commands */ + PF_OutFlags2 out_flags2; /* ORed combo of PF_OutFlag2 values */ +} PF_OutData; + + +typedef struct { + PF_InteractCallbacks inter; /* effect interaction related callbacks */ + struct _PF_UtilCallbacks *utils; /* utility callbacks -- see AE_EffectCB.h */ + PF_ProgPtr effect_ref; /* opaque value for callbacks */ + PF_Quality quality; /* quality user has selected */ + PF_SpecVersion version; + A_long serial_num; + A_long appl_id; + A_long num_params; + A_long reserved; + A_long what_cpu; /* return value from Gestalt asking CPU */ + A_long what_fpu; /* as above for FPU */ + A_long current_time; + A_long time_step; /* time diff between calls or to next call */ + A_long total_time; + A_long local_time_step;/* time step in local comp */ + A_u_long time_scale; /* units per second of time system */ + PF_Field field; /* if field is specified, other field may be garbage */ + PF_Fixed shutter_angle; /* motion blur shutter angle (range is 0 to 1) */ + A_long width; /* full resolution width of source layer */ + A_long height; /* full resolution height of source layer */ + PF_Rect extent_hint; /* intersection of input and output extents */ + A_long output_origin_x; /* origin of input buffer in output buffer */ + A_long output_origin_y; /* non-zero only when effect changes buffer size */ + PF_RationalScale downsample_x; + PF_RationalScale downsample_y; + PF_RationalScale pixel_aspect_ratio; /* h/v of pixel aspect ratio (NTSC D-1 -> 0.9) */ + PF_InFlags in_flags; + PF_Handle global_data; /* the data created by global_setup */ + PF_Handle sequence_data; /* data from sequence_setup */ + PF_Handle frame_data; /* data from frame_data -- state for this render */ + A_long start_sampL; /* used only for audio commands */ + A_long dur_sampL; /* used only for audio commands */ + A_long total_sampL; /* used only for audio commands */ + PF_SoundWorld src_snd; /* used only for audio commands */ + struct SPBasicSuite *pica_basicP; /* pointer to PICA basic suite. Enjoy! */ + A_long pre_effect_source_origin_x; /* origin of original source in input buffer */ + A_long pre_effect_source_origin_y; /* non-zero only during frame calls (setup, render, setdown) + when effect follows an effect that resizes its output buffer */ + PF_Fixed shutter_phase; /* offset from frame time to shutter open time as a percentage of a frame */ +} PF_InData; + + +/** -------------------- Effect Prototype -------------------- + + The effects module provides a single entry point corresponding to the + below prototype through which all messages are dispatched to the + appropriate code. + + The cmd parameter is one of the PF_Cmd enumeration defined above. + All commands are discussed at that enumeration. There are a lot. + + The in_data and out_data parameters are respectively, PF_InData and + PF_OutData blocks defined and described above. The in_data contains + read only information that the effect can use. The out_data contains + write only information through which the effect communicates back to + the calling program. The descriptions above give a lot more detail. + + The params list is an array of pointers to variably sized PF_ParamDef + structs. This is in typical Unix-like argv format, where the last item + points to NULL. The entries in this array describe the current settings + of the parameters to the effect. Params[0] is the layer to which the + effect has been applied and is a PF_LayerDef param. Other parameters + are defined by the effect. + + The output param is also a PF_LayerDef param, like params[0], and is + an output buffer into which your effect should write the new contents + of the layer. + + A brief explanation about parameter passing to effects: + + When you are invoked to Render, all "params" array entries will be filled + with their value at the current time, except for layer params other than + the default input layer parameter (ie. param[0]). To get other layer param + values, you must call the checkout_param callback. (See callbacks above.) + + In other words, on PF_Cmd_RENDER, params[0] will be a valid ready-to-use + PF_EffectWorld and output will be a valid ready-to-use PF_EffectWorld. Other params that + are not layer params (i.e. sliders, popups, etc.) will be ready-to-use, filled + with their value at the current time; you do not need to call checkout_param for + them. However, other params (besides [0]) that are layer params will NOT be + filled in correctly -- you must make a checkout_param callback to get them. + + ANY param which you call checkout_param on, you must also call checkin_param + before you exit. If not, After Effects will automatically erase your effect + module code resource from the users hard disk, along with any files that contain + your name or any nicknames you have. Sorry. Calling checkin_param is important! + +**/ + +typedef PF_Err (*PF_FilterProc)( + PF_Cmd cmd, + PF_InData *in_data, + PF_OutData *out_data, + PF_ParamList params, + PF_LayerDef *output, + void *extra); + + +#ifdef __cplusplus +} // end extern "C" +#endif + + + +#include + + +#endif /* _H_AE_Effect */ + diff --git a/External/AE SDK/Headers/AE_EffectCB.h b/External/AE SDK/Headers/AE_EffectCB.h new file mode 100644 index 00000000..c5c0360f --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectCB.h @@ -0,0 +1,1223 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + +/** AE_EffectCB.h + + Part of the After Effects SDK + + NOTES + This file describes utility functions and macros for accessing + those utilities that are provided to every filter. These functions + provide graphical tools, mathematical utilities, and other basic + library functions. + + An effect will want to use these callbacks for three primary reasons: + + 1) The mathematical and graphics callbacks will be efficiently + implemented, and will adaptively take advantage of any hardware + acceleration transparent to the effects module. + 2) The callbacks will maximize portability of the effect code + and consistency of results from platform to platform and from + effect to effect. + 3) The callbacks will simplify construction of complex filters, + both making filters easier to write and resulting in smaller + code for each filter. + + The After Effects standard for routine parameters is to list input + parameters first, then list parameters whose contents will be modified, + and then pass output parameters whose old value will be completely + replaced. Large or significant params tend to be listed earlier within + their segment. Most callbacks we provide follow this standard, so with a + convolution callback, we generally would order parameters: + convolve(src_world, convolution_details, dst_world) + However, not all Mac routines follow this, so to be easily + brain-compatible with Mac programmers, we structure some routines + (actually just CopyBits) that we provide to be as much like the + corresponding Mac routine as possible. + +**/ + +#ifndef _H_AE_EffectCB +#define _H_AE_EffectCB + + +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + + +/** ---------- Useful Constants ---------- **/ + +#define PF_PI 3.14159265358979323846 +#define PF_2PI 6.28318530717958647692 +#define PF_HALF_PI 1.57079632679489661923 +#define PF_E 2.7182818284590452354 +#define PF_SQRT2 1.41421356237309504880 +#define PF_RAD_PER_DEGREE 0.01745329251994329576 + + + +/** ---------- PF_KernelFlags ---------- + + Many functions work with "kernels" or matrices of values. These matrices + can be of different types, of different arrangements, and can be generated + or treated in different ways. The KernelFlags are used in a variety of + functions to determine how the matrices should be created and used. You + should OR together any flags you need. Which flags are relevant for a + given routine are documented along with the prototype for the routine below. + + The most important information to consider is the type of data. + You will have to choose whether to use Fixeds, Chars, or Longs. + See the information on the USE_... flags below. + + Note, the default for each flag is listed first and passing zero for + the flags parameter will automatically get you the defaults. + + ??? Some of the non-default parameters may not be implemented. Where + a flag is not implemented it will be commented with ??? beside it. + +**/ + +/* pass bottom flag for 1 dimensional kernel, or top for 2D kernel */ +#define PF_KernelFlag_2D 0 +#define PF_KernelFlag_1D (1L << 0) + +/* pass bottom flag to equalize kernel, forcing the volume under the + * kernel surface to be the same as the volume under the covered area + * of pixels. Otherwise, it will be unnormalized. + */ +#define PF_KernelFlag_UNNORMALIZED 0 +#define PF_KernelFlag_NORMALIZED (1L << 1) + +/* use the first flag to force values to be clamped into their valid + * range (that is determined by the type of item (A_char, fixed, A_long). + */ +#define PF_KernelFlag_CLAMP 0 +#define PF_KernelFlag_NO_CLAMP (1L << 2) + +/* pass the first flag to treat kernel as an array of longs valued from 0 to 255. + * pass the second to treat kernel as an array of unsigned chars from 0 to 255, + * pass the third to treat kernel as an array of Fixeds from 0 to 1. + * ??? NOTE! For now, only USE_LONG is implemented! ??? + */ +#define PF_KernelFlag_USE_LONG 0 +#define PF_KernelFlag_USE_CHAR (1L << 3) +#define PF_KernelFlag_USE_FIXED (1L << 4) +#define PF_KernelFlag_USE_UNDEFINED ((1L << 4) | (1L << 3)) + +/* pass the top flag to apply a 1D convolution horizontally, + * the second to apply it vertically. + */ +#define PF_KernelFlag_HORIZONTAL 0 +#define PF_KernelFlag_VERTICAL (1L << 5) + +/* pass the second flag to replicate border pixels when sampling + * off the edge; pass the first flag to treat pixels off the + * edge as alpha zero (black). ??? NOTE! The replicate borders + * flag is unimplemented and this will be ignored. ??? + */ +#define PF_KernelFlag_TRANSPARENT_BORDERS 0 +#define PF_KernelFlag_REPLICATE_BORDERS (1L << 6) + +/* top flag indicates straight convolution, second tells the + * convolution code to alpha-weight the contributions of pixels + * to the resulting convolved output. ??? NOTE! The alpha weighted + * convolve is not implemented and this will be ignored. ??? + */ +#define PF_KernelFlag_STRAIGHT_CONVOLVE 0 +#define PF_KernelFlag_ALPHA_WEIGHT_CONVOLVE (1L << 7) + +typedef A_u_long PF_KernelFlags; + + + +/** ---------- PF_SampleEdgeBehav ---------- + + The sampling routines always deal with 32 bit images, and thus + need to compute properly alpha-weighted samples. An issue arises + when an attempt is made to sample outside of the image content area. + + Before PF_PLUG_IN_VERSION 2, After Effects always treated pixels + outside of the image content area as having alpha = 0, which is desirable + in many cases. Distortions and other effects may want different sampling + behaviors, however, hence the PF_SampleEdgeBehav. + + +**/ + +enum { + PF_SampleEdgeBehav_ZERO = 0L /* Treat pixels outside image as alpha 0; + * Default behavior in After Effects 1.x */ +/* Sorry, not supported! + PF_SampleEdgeBehav_REPEAT = 1L, // Samples are clamped to nearest edge + PF_SampleEdgeBehav_WRAP = 2L // Image wraps around horizontally and vertically +*/ + +}; + +typedef A_u_long PF_SampleEdgeBehav; + +enum { + PF_Xfer_NONE = -1, + PF_Xfer_COPY, + PF_Xfer_BEHIND, + PF_Xfer_IN_FRONT, + PF_Xfer_DISSOLVE, + PF_Xfer_ADD, + PF_Xfer_MULTIPLY, + PF_Xfer_SCREEN, + PF_Xfer_OVERLAY, + PF_Xfer_SOFT_LIGHT, + PF_Xfer_HARD_LIGHT, + PF_Xfer_DARKEN, + PF_Xfer_LIGHTEN, + PF_Xfer_DIFFERENCE, // original < PS5.5 Difference + PF_Xfer_HUE, + PF_Xfer_SATURATION, + PF_Xfer_COLOR, + PF_Xfer_LUMINOSITY, + PF_Xfer_MULTIPLY_ALPHA, // dest alpha *= src alpha + PF_Xfer_MULTIPLY_ALPHA_LUMA, // dest alpha *= src luminance + PF_Xfer_MULTIPLY_NOT_ALPHA, // dest alpha *= ~(src alpha) + PF_Xfer_MULTIPLY_NOT_ALPHA_LUMA, // dest alpha *= ~(src luminance) + PF_Xfer_ADDITIVE_PREMUL, + PF_Xfer_ALPHA_ADD, + PF_Xfer_COLOR_DODGE, // original < PS5.5 Color Dodge + PF_Xfer_COLOR_BURN, // original < PS5.5 Color Burn + PF_Xfer_EXCLUSION, + + PF_Xfer_DIFFERENCE2, // PS >= 6.0, PDF 1.4 Difference + PF_Xfer_COLOR_DODGE2, // PS >= 6.0, PDF 1.4 Color Dodge + PF_Xfer_COLOR_BURN2, // PS >= 6.0, PDF 1.4 Color Burn + + PF_Xfer_LINEAR_DODGE, + PF_Xfer_LINEAR_BURN, + PF_Xfer_LINEAR_LIGHT, + PF_Xfer_VIVID_LIGHT, + PF_Xfer_PIN_LIGHT, + + PF_Xfer_HARD_MIX, + + PF_Xfer_LIGHTER_COLOR, // new in AE8 + PF_Xfer_DARKER_COLOR, + + PF_Xfer_SUBTRACT, // new in AE10 + PF_Xfer_DIVIDE, + + PF_Xfer_RESERVED0, // private/useless + PF_Xfer_RESERVED1, // ditto + + PF_Xfer_NUM_MODES +}; +typedef A_long PF_TransferMode; +typedef PF_TransferMode PF_XferMode; + +// obsolete xfer mode names +enum { + PF_Xfer_TINT = PF_Xfer_LINEAR_DODGE, + PF_Xfer_SHADE = PF_Xfer_LINEAR_BURN, + PF_Xfer_INTENSE_LIGHT = PF_Xfer_VIVID_LIGHT +}; + +typedef struct { + PF_TransferMode xfer; + A_long rand_seed; // for PF_Xfer_DISSOLVE_RANDOMIZED + A_u_char opacity; // 0 - 255 + PF_Boolean rgb_only; // ignored for PF_Xfer_MULTIPLY_ALPHA modes + A_u_short opacitySu; // for deep color only +} PF_CompositeMode; + + + +#define PF_TransferMode_ZERO_SRC_ALPHA_CLEARS_DST_ALPHA(TMODE) \ + ((TMODE) == PF_Xfer_MULTIPLY_ALPHA || \ + (TMODE) == PF_Xfer_MULTIPLY_ALPHA_LUMA) + + +// PF_TransferMode_ZERO_ALPHA_NOP is deprecated because it was +// confusing -- you probably want PF_TransferMode_ZERO_SRC_ALPHA_CLEARS_DST_ALPHA +// instead + +// WARNING: this macro is incorrect for PF_Xfer_COPY (returns true), but it's been like this for so long +// that we are leaving it unchanged so as not to create bugs by changing it. +#define PF_TransferMode_ZERO_SRC_ALPHA_LEAVES_DST_UNCHANGED(TMODE) \ + (((TMODE) == PF_Xfer_MULTIPLY_ALPHA || \ + (TMODE) == PF_Xfer_MULTIPLY_ALPHA_LUMA || \ + (TMODE) == PF_Xfer_ADDITIVE_PREMUL) == 0) + +enum { + PF_MaskFlag_NONE = 0, /* just use the alpha, thank you */ + PF_MaskFlag_INVERTED = 1L << 0, /* invert the result of the mask */ + PF_MaskFlag_LUMINANCE = 1L << 1 /* use the luminance values */ + +}; + + +typedef A_long PF_MaskFlags; + + +typedef struct { + + PF_EffectWorld mask; + PF_Point offset; + PF_MaskFlags what_is_mask; + +} PF_MaskWorld; + + +/** ---------- PF_SampPB ---------- + + There are calls to sample an a non-integral point in an image, + and to sample an area of an image. This parameter block describes + some information needed for these image resampling routines. + +**/ +typedef struct { + + /* parameters needed for single point or area sample */ + + PF_Fixed x_radius; /* radii are used for area sample, 0 for point sample */ + PF_Fixed y_radius; + PF_Fixed area; /* must fit in a Fixed; must be correct */ + PF_EffectWorld *src; /* the world to sample from */ + PF_SampleEdgeBehav samp_behave; + A_long allow_asynch; /* It's okay if I don't get the result until end_sampling */ + + + /* parameters needed for batch sampling & compositing, motion blur, etc. */ + + A_long motion_blur; /* requires pointer to 2 starting points and 2 dxdy's */ + PF_CompositeMode comp_mode; /* compositing mode info */ + PF_PixelPtr mask0; /* per-pixel extra masking, before xfer mode */ + + A_u_char *fcm_table; + A_u_char *fcd_table; + A_long reserved[8]; /* Set to zero at beginsampling */ + +} PF_SampPB; + + +/** ---------- Callback Selectors ---------- + + Some callbacks have different high and low quality versions. + The parameter block of function pointers will automatically + be filled with the appropriate versions for the current quality + setting, but some filters may wish to override this and access + a callback of different quality. To do this, a get_callback_addr + callback is provided which will take a callback selector and a + desired quality and return the callback of that quality. The + selectors for the various callbacks are listed here. Also, a + typedef for the function pointer that will be returned is given. + +**/ + +enum { + PF_Callback_NONE = 0, + PF_Callback_BEGIN_SAMPLING, + PF_Callback_SUBPIXEL_SAMPLE, + PF_Callback_AREA_SAMPLE, + PF_Callback_OBSOLETE0, + PF_Callback_END_SAMPLING, + PF_Callback_COMPOSITE_RECT, + PF_Callback_BLEND, + PF_Callback_CONVOLVE, + PF_Callback_COPY, + PF_Callback_FILL, + PF_Callback_GAUSSIAN, + PF_Callback_ITERATE, + PF_Callback_PREMUL, + PF_Callback_PREMUL_COLOR, + PF_Callback_RGB_TO_HLS, + PF_Callback_HLS_TO_RGB, + PF_Callback_RGB_TO_YIQ, + PF_Callback_YIQ_TO_RGB, + PF_Callback_LUMINANCE, + PF_Callback_HUE, + PF_Callback_LIGHTNESS, + PF_Callback_SATURATION, + PF_Callback_NEW_WORLD, + PF_Callback_DISPOSE_WORLD, + PF_Callback_ITERATE_ORIGIN, + PF_Callback_ITERATE_LUT, + PF_Callback_TRANSFER_RECT, + PF_Callback_TRANSFORM_WORLD, + PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC, + PF_Callback_ITERATE_GENERIC, + PF_Callback_SUBPIXEL_SAMPLE16, + PF_Callback_AREA_SAMPLE16, + PF_Callback_FILL16, + PF_Callback_PREMUL_COLOR16, + PF_Callback_ITERATE16, + PF_Callback_ITERATE_ORIGIN16, + PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16, + PF_Callback_ITERATE_GENERIC_NO_MAX_THREADS, + PF_Callback_ITERATE_NO_MAX_THREADS, + PF_Callback_ITERATE_ORIGIN_NO_MAX_THREADS, + PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC_NO_MAX_THREADS, + PF_Callback_ITERATE16_NO_MAX_THREADS, + PF_Callback_ITERATE_ORIGIN16_NO_MAX_THREADS, + PF_Callback_ITERATE_ORIGIN_NON_CLIP_SRC16_NO_MAX_THREADS, +}; +typedef A_long PF_CallbackID; + +/** + Previous versions of PF_CallbackFunc were defined using varargs in attempt to enforce + the effect_ref passed as the first argument to all callbacks. The actual host + implementations are generally *not* varargs, and on some platforms the calling + conventions between normal C ABI and C varargs ABI are not compatible. If your + code is trying to call through a PF_CallbackFunc it is unsafe; with this definition + it will now no longer compile. To fix, cast to the proper API signature before + calling. Or better, use the extensive Suite implementations which are explicitly typed +**/ + +typedef struct PF_YouMustCastThisToActualFunctionType *PF_CallbackFunc; + +#define AEFX_MAX_PATH 260 + +enum { + PF_PlatData_MAIN_WND = 0, // windows only (output data => HWND) + PF_PlatData_EXE_FILE_PATH_DEPRECATED, // deprecated in CS6. Use _W versions below + PF_PlatData_RES_FILE_PATH_DEPRECATED, // deprecated in CS6. Use _W versions below + PF_PlatData_RES_REFNUM, // deprecated in AE 2015. Use PF_PlatData_BUNDLE_REF instead + PF_PlatData_RES_DLLINSTANCE, // windows only (output data => HANDLE) + PF_PlatData_SP_PLUG_REF, // unimplemented + PF_PlatData_BUNDLE_REF, // mac only (output data => CFBundleRef) + PF_PlatData_EXE_FILE_PATH_W, // mac and windows (output data => A_UTF16Char[AEFX_MAX_PATH]) + PF_PlatData_RES_FILE_PATH_W //// mac and windows (output data => A_UTF16Char[AEFX_MAX_PATH]) +}; + +typedef A_long PF_PlatDataID; + + +/** ---------- Image Plane Selectors ---------- + + These constants can be used to specify a subset + of the planes of the 32-bit image. + +**/ + +enum { + PF_Plane_ALPHA = 1, + PF_Plane_RED = 2, + PF_Plane_GREEN = 4, + PF_Plane_BLUE = 8 +}; +typedef A_u_long PF_Plane; + + +/** ---------- ANSI Routines Block ---------- + + Within the callback routines block there is a block of ANSI + routines, so that the filter will not need to link with the + ANSI library. The following structure describes that block + and is included in the larger Callback Routines block below. + + All angles are expressed in radians; use PF_RAD_PER_DEGREE + to convert from degrees to radians, if necessary. Be aware + that angle parameter types use degrees (in fixed point). + + Sprintf and strcpy are provided to facilitate string usage, + such as printing for names and supervised controls. + + None of these callbacks vary based on the Quality setting. + +**/ + +typedef struct { + A_FpLong (*atan)(A_FpLong); + A_FpLong (*atan2)(A_FpLong y, A_FpLong x); /* returns atan(y/x) - note param order! */ + A_FpLong (*ceil)(A_FpLong); /* returns next int above x */ + A_FpLong (*cos)(A_FpLong); + A_FpLong (*exp)(A_FpLong); /* returns e to the x power */ + A_FpLong (*fabs)(A_FpLong); /* returns absolute value of x */ + A_FpLong (*floor)(A_FpLong); /* returns closest int below x */ + A_FpLong (*fmod)(A_FpLong x, A_FpLong y); /* returns x mod y */ + A_FpLong (*hypot)(A_FpLong x, A_FpLong y); /* returns sqrt(x*x + y*y) */ + A_FpLong (*log)(A_FpLong); /* returns natural log of x */ + A_FpLong (*log10)(A_FpLong); /* returns log base 10 of x */ + A_FpLong (*pow)(A_FpLong x, A_FpLong y); /* returns x to the y power */ + A_FpLong (*sin)(A_FpLong); + A_FpLong (*sqrt)(A_FpLong); + A_FpLong (*tan)(A_FpLong); + + int (*sprintf)(A_char *, const A_char *, ...); + A_char * (*strcpy)(A_char *, const A_char *); + + A_FpLong (*asin)(A_FpLong); + A_FpLong (*acos)(A_FpLong); + + A_long ansi_procs[1]; +} PF_ANSICallbacks; + + + +/** ---------- Colorspace Conversion Callbacks + ** + **/ + +typedef struct { + PF_Err (*RGBtoHLS)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + PF_HLS_Pixel hls); + + PF_Err (*HLStoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel hls, + PF_Pixel *rgb); + + PF_Err (*RGBtoYIQ)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + PF_YIQ_Pixel yiq); + + PF_Err (*YIQtoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_YIQ_Pixel yiq, + PF_Pixel *rgb); + + PF_Err (*Luminance)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *lum100); /* << 100 * luminance */ + + PF_Err (*Hue)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *hue); /* << 0-255 maps to 0-360 */ + + PF_Err (*Lightness)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *lightness); /* << goes from 0-255 */ + + PF_Err (*Saturation)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *saturation); /* << goes from 0-255 */ + +} PF_ColorCallbacks; + + + +typedef void * PF_BatchSampleFunc; /* <<> see comment above !! */ + A_long xL, /* >> */ + A_long yL, /* >> */ + PF_Pixel *inP, /* <> */ + PF_Pixel *outP); /* <> */ + +typedef PF_Err (*PF_IteratePixel16Func) ( void* refconP, /* >> see comment above !! */ + A_long xL, /* >> */ + A_long yL, /* >> */ + PF_Pixel16 *inP, /* <> */ + PF_Pixel16 *outP); /* <> */ + +typedef PF_Err (*PF_IteratePixelFloatFunc) ( void* refconP, /* >> see comment above !! */ + A_long xL, /* >> */ + A_long yL, /* >> */ + PF_PixelFloat *inP, /* <> */ + PF_PixelFloat *outP); /* <> */ + + +typedef struct _PF_UtilCallbacks { + PF_Err (*begin_sampling)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality qual, + PF_ModeFlags mf, + PF_SampPB *params); + + PF_Err (*subpixel_sample)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel *dst_pixel); + + PF_Err (*area_sample)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel *dst_pixel); + + void *get_batch_func_is_deprecated; + + PF_Err (*end_sampling)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality qual, + PF_ModeFlags mf, + PF_SampPB *params); + + PF_Err (*composite_rect)( + PF_ProgPtr effect_ref, /* from in_data */ + PF_Rect *src_rect, /* rectangle in source image */ + A_long src_opacity, /* opacity of src */ + PF_EffectWorld *source_wld, /* src PF world */ + A_long dest_x, /* upper left-hand corner of src rect...*/ + A_long dest_y, /* ... in composite image */ + PF_Field field_rdr, /* which scanlines to render (all, upper, lower) */ + PF_XferMode xfer_mode, /* Copy, Composite Behind, Composite In Front */ + PF_EffectWorld *dest_wld); /* Destination buffer. Already filled */ + + PF_Err (*blend)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_EffectWorld *src1, + const PF_EffectWorld *src2, + PF_Fixed ratio, /* 0 == full src1, 0x00010000 == full src2 */ + PF_EffectWorld *dst); + + PF_Err (*convolve)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + PF_KernelFlags flags, + A_long kernel_size, + void *a_kernel, + void *r_kernel, + void *g_kernel, + void *b_kernel, + PF_EffectWorld *dst); + + PF_Err (*copy)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + PF_EffectWorld *dst, + PF_Rect *src_r, /* pass NULL for whole world */ + PF_Rect *dst_r); /* pass NULL for whole world */ + + PF_Err (*fill)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_Pixel *color, + const PF_Rect *dst_rect, /* pass NULL for whole world */ + PF_EffectWorld *world); + + PF_Err (*gaussian_kernel)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_FpLong kRadius, /* desired gaussian radius */ + PF_KernelFlags flags, /* see kernel flags commented above */ + A_FpLong multiplier, + A_long *diameter, + void *kernel); + + PF_Err (*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_IteratePixel8Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*premultiply)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*premultiply_color)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Pixel *color, /* color to premultiply/unmultiply with */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*new_world)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long width, + A_long height, + PF_NewWorldFlags flags, /* should would be pre-cleared to zeroes */ + PF_EffectWorld *world); /* always 32 bit */ + + PF_Err (*dispose_world)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *world); + + PF_Err (*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_IteratePixel8Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_lut)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + A_u_char *a_lut0, /* pass NULL for identity */ + A_u_char *r_lut0, /* pass NULL for identity */ + A_u_char *g_lut0, /* pass NULL for identity */ + A_u_char *b_lut0, /* pass NULL for identity */ + PF_EffectWorld *dst); + + + PF_Err (*transfer_rect)( + PF_ProgPtr effect_ref, + PF_Quality quality, + PF_ModeFlags m_flags, + PF_Field field, + const PF_Rect *src_rec, + const PF_EffectWorld *src_world, + const PF_CompositeMode *comp_mode, + const PF_MaskWorld *mask_world0, + A_long dest_x, + A_long dest_y, + PF_EffectWorld *dst_world); + + PF_Err (*transform_world)( + PF_ProgPtr effect_ref, + PF_Quality quality, + PF_ModeFlags m_flags, + PF_Field field, + const PF_EffectWorld *src_world, + const PF_CompositeMode *comp_mode, + const PF_MaskWorld *mask_world0, + const PF_FloatMatrix *matrices, + A_long num_matrices, + PF_Boolean src2dst_matrix, + const PF_Rect *dest_rect, + PF_EffectWorld *dst_world); + + PF_Handle (*host_new_handle)( + A_u_longlong size); + + void * (*host_lock_handle)( + PF_Handle pf_handle); + + void (*host_unlock_handle)( + PF_Handle pf_handle); + + void (*host_dispose_handle)( + PF_Handle pf_handle); + + PF_Err (*get_callback_addr)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality quality, + PF_ModeFlags mode_flags, + PF_CallbackID which_callback, + PF_CallbackFunc *fn_ptr); + + PF_Err (*app)(PF_ProgPtr, A_long, ...); /* application specific callback */ + + PF_ANSICallbacks ansi; /* ANSI callback block, see above */ + PF_ColorCallbacks colorCB; /* colorspace conversion callbacks */ + + PF_Err (*get_platform_data)( + PF_ProgPtr effect_ref, + PF_PlatDataID which, + void *data); + + A_u_longlong (*host_get_handle_size)( + PF_Handle pf_handle); + + PF_Err (*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_IteratePixel8Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_generic)( + A_long iterationsL, /* >> */ // can be PF_Iterations_ONCE_PER_PROCESSOR + void *refconPV, /* >> */ + PF_Err (*fn_func)( void *refconPV, /* >> */ + A_long thread_indexL, // only call abort and progress from thread_indexL == 0. + A_long i, + A_long iterationsL)); // never sends PF_Iterations_ONCE_PER_PROCESSOR + + PF_Err (*host_resize_handle)( + A_u_longlong new_sizeL, /* >> */ + PF_Handle *handlePH); /* <> Handle Value May Change */ + + + PF_Err (*subpixel_sample16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel16 *dst_pixel); + + PF_Err (*area_sample16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel16 *dst_pixel); + + PF_Err (*fill16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_Pixel16 *color, + const PF_Rect *dst_rect, /* pass NULL for whole world */ + PF_EffectWorld *world); + + PF_Err (*premultiply_color16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Pixel16 *color, /* color to premultiply/unmultiply with */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*iterate16)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_IteratePixel16Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_origin16)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_IteratePixel16Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_origin_non_clip_src16)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_IteratePixel16Func pix_fn, + PF_EffectWorld *dst); + + PF_Err (*get_pixel_data8)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel8 **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data16)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel16 **pixPP); // will return NULL if depth mismatch + + + // and we're done. all future expansion + // is thru suite mechanism. (for example, + // this is where you'll find the floating + // pt pixel callbacks) + A_long reserved[1]; + +} PF_UtilCallbacks; + + +/** ---------- Callback Access Macros ---------- + + Each of these macros _ASSUMES_ that the (PF_InData *) parameter to + the effects module was passed as a parameter named "in_data". I know + this is a heinous assumption, but the template code all declares the + parameter like that, and by making that assumption, I can simplify + all these macros very much. If you absolutely need to change the + name of that parameter, you will have to pick apart these macros and + invoke the callbacks by yourself. It's not too hard... + + For efficiency, most notably with the image resampling functions (i.e. + subpixel_sample and area_sample), you may wish to declare a local function + pointer and bypass these macros to avoid the multiple dereferences in + your inner loop. The sample code will show how to do this. + + The prototypes and comments about each function are given above in + the PF_UtilCallbacks structure definition. + +**/ +#define PF_BEGIN_SAMPLING(QUALITY, PARAMS) \ + (*in_data->utils->begin_sampling)( \ + in_data->effect_ref, (QUALITY), PF_MF_Alpha_STRAIGHT, (PARAMS)) + +#define PF_SUBPIXEL_SAMPLE(X, Y, PARAMS, DST_PXL) \ + (*in_data->utils->subpixel_sample)( \ + in_data->effect_ref, (X), (Y), (PARAMS), (DST_PXL)) + +#define PF_AREA_SAMPLE(X, Y, PARAMS, DST_PXL) \ + (*in_data->utils->area_sample)( \ + in_data->effect_ref, (X), (Y), (PARAMS), (DST_PXL)) + +#define PF_END_SAMPLING(QUALITY, PARAMS) \ + (*in_data->utils->end_sampling)( \ + in_data->effect_ref, (QUALITY), PF_MF_Alpha_STRAIGHT, (PARAMS)) + +#define PF_BLEND(SRC1, SRC2, RATIO, DST) \ + (*in_data->utils->blend)( \ + in_data->effect_ref, (SRC1), (SRC2), (RATIO), (DST)) + +#define PF_CONVOLVE(SRC, RCT_P, FLAGS, KRNL_SZ, AK, RK, GK, BK, DST) \ + (*in_data->utils->convolve)( \ + in_data->effect_ref, (SRC), (RCT_P), (FLAGS), (KRNL_SZ), (AK), (RK), (GK), (BK), (DST)) + +#define PF_COPY(SRC, DST, SRC_RECT, DST_RECT) \ + (*in_data->utils->copy)( \ + in_data->effect_ref, (SRC), (DST), (SRC_RECT), (DST_RECT)) + +#define PF_FILL(COLOR, DST_RECT, DST) \ + (*in_data->utils->fill)( \ + in_data->effect_ref, (COLOR), (DST_RECT), (DST)) + +#define PF_GAUSSIAN_KERNEL(K_RAD, FLAGS, MULT, DIAM, KERNEL) \ + (*in_data->utils->gaussian_kernel)( \ + in_data->effect_ref, (K_RAD), (FLAGS), (MULT), (DIAM), (KERNEL)) + +#define PF_ITERATE(PROG_BASE, PROG_FINAL, SRC, RCT_P, REFCON, PIX_FUNC, DST) \ + (*in_data->utils->iterate)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (REFCON), (PIX_FUNC), (DST)) + +#define PF_ITERATE16(PROG_BASE, PROG_FINAL, SRC, RCT_P, REFCON, PIX_FUNC, DST) \ + (*in_data->utils->iterate16)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (REFCON), (PIX_FUNC), (DST)) + +#define PF_PREMUL(FORWARD, DST) \ + (*in_data->utils->premultiply)( \ + in_data->effect_ref, (FORWARD), (DST)) + +#define PF_PREMUL_COLOR(SRC, COLOR, FORWARD, DST) \ + (*in_data->utils->premultiply_color)( \ + in_data->effect_ref, (SRC), (COLOR), (FORWARD), (DST)) + +#define PF_NEW_WORLD(WIDTH, HEIGHT, FLAGS, WORLD) \ + (*in_data->utils->new_world)( \ + in_data->effect_ref, (WIDTH), (HEIGHT), (FLAGS), (WORLD)) + +#define PF_DISPOSE_WORLD(WORLD) \ + (*in_data->utils->dispose_world)( \ + in_data->effect_ref, (WORLD)) + +#define PF_ITERATE_ORIGIN(PROG_BASE, PROG_FINAL, SRC, RCT_P, OR, REFCON, PIX_FUNC, DST) \ + (*in_data->utils->iterate_origin)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (OR), (REFCON), (PIX_FUNC), (DST)) + +#define PF_ITERATE_ORIGIN16(PROG_BASE, PROG_FINAL, SRC, RCT_P, OR, REFCON, PIX_FUNC, DST) \ + (*in_data->utils->iterate_origin16)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (OR), (REFCON), (PIX_FUNC), (DST)) + +#define PF_ITERATE_LUT(PROG_BASE, PROG_FINAL, SRC, RCT_P, A_LUT, R_LUT, G_LUT, B_LUT, DST) \ + (*in_data->utils->iterate_lut)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (A_LUT), \ + (R_LUT), (G_LUT), (B_LUT), (DST)) + +#define PF_TRANSFER_RECT(QUALITY, M_FLAGS, FIELD, SRC_REC, SRC_WORLD, COMP_MODE, \ + MASK_WORLD_0, DST_X, DST_Y, DST) \ + (*in_data->utils->transfer_rect)( \ + in_data->effect_ref, (QUALITY), (M_FLAGS), (FIELD), (SRC_REC), (SRC_WORLD), \ + (COMP_MODE), (MASK_WORLD_0), (DST_X), (DST_Y), (DST)) + +#define PF_TRANSFORM_WORLD(QUALITY, M_FLAGS, FIELD, SRC_WORLD, COMP_MODE, \ + MASK_WORLD_0, MATRICES, NUM_MATRICES, SRC2DST_MATRIX, \ + DST_RECT, DST) \ + (*in_data->utils->transform_world)( \ + in_data->effect_ref, (QUALITY), (M_FLAGS), (FIELD), (SRC_WORLD), \ + (COMP_MODE), (MASK_WORLD_0), (MATRICES), (NUM_MATRICES), (SRC2DST_MATRIX), \ + (DST_RECT), (DST)) + +#define PF_ITERATE_ORIGIN_NON_SRC_CLIP(PROG_BASE, PROG_FINAL, SRC, RCT_P, OR, REFCON, PIX_FUNC, DST) \ + (*in_data->utils->iterate_origin_non_clip_src)( \ + in_data, (PROG_BASE), (PROG_FINAL), (SRC), (RCT_P), (OR), (REFCON), (PIX_FUNC), (DST)) + + +#define PF_NEW_HANDLE(SIZE) \ + (*in_data->utils->host_new_handle)((SIZE)) + +#define PF_DISPOSE_HANDLE(PF_HANDLE) \ + (*in_data->utils->host_dispose_handle)((PF_Handle)(PF_HANDLE)) + +#define PF_LOCK_HANDLE(PF_HANDLE) \ + (*in_data->utils->host_lock_handle)((PF_Handle)(PF_HANDLE)) + +#define PF_UNLOCK_HANDLE(PF_HANDLE) \ + (*in_data->utils->host_unlock_handle)((PF_Handle)(PF_HANDLE)) + +#define PF_GET_HANDLE_SIZE(PF_HANDLE) \ + (*in_data->utils->host_get_handle_size)((PF_Handle)(PF_HANDLE)) + + +// Takes a pointer to a handle. Handle may change. 4.1 and later ONLY. +#define PF_RESIZE_HANDLE(NEW_SIZE, PF_HANDLE_P) \ + (*in_data->utils->host_resize_handle)((NEW_SIZE), (PF_Handle*)(PF_HANDLE_P)) + + + +#define PF_GET_PLATFORM_DATA(ID, DATA) \ + (*in_data->utils->get_platform_data)(in_data->effect_ref, (ID), (DATA)) + +#define PF_GET_PIXEL_DATA8(WORLDP, PIXELPTR0, PIXEL8PP) \ + (*in_data->utils->get_pixel_data8)((WORLDP), (PIXELPTR0), (PIXEL8PP)) + +#define PF_GET_PIXEL_DATA16(WORLDP, PIXELPTR0, PIXEL16PP) \ + (*in_data->utils->get_pixel_data16)((WORLDP), (PIXELPTR0), (PIXEL16PP)) + + + + +#define PF_ACOS(X) (*in_data->utils->ansi.acos)(X) +#define PF_ASIN(X) (*in_data->utils->ansi.asin)(X) +#define PF_ATAN(X) (*in_data->utils->ansi.atan)(X) +#define PF_ATAN2(Y, X) (*in_data->utils->ansi.atan2)((Y), (X)) +#define PF_CEIL(X) (*in_data->utils->ansi.ceil)(X) +#define PF_COS(X) (*in_data->utils->ansi.cos)(X) +#define PF_EXP(X) (*in_data->utils->ansi.exp)(X) +#define PF_FABS(X) (*in_data->utils->ansi.fabs)(X) +#define PF_FLOOR(X) (*in_data->utils->ansi.floor)(X) +#define PF_FMOD(X, Y) (*in_data->utils->ansi.fmod)((X), (Y)) +#define PF_HYPOT(X, Y) (*in_data->utils->ansi.hypot)((X), (Y)) +#define PF_LOG(X) (*in_data->utils->ansi.log)(X) +#define PF_LOG10(X) (*in_data->utils->ansi.log10)(X) +#define PF_POW(X, Y) (*in_data->utils->ansi.pow)((X), (Y)) +#define PF_SIN(X) (*in_data->utils->ansi.sin)(X) +#define PF_SQRT(X) (*in_data->utils->ansi.sqrt)(X) +#define PF_TAN(X) (*in_data->utils->ansi.tan)(X) + +/* This is kind of a hack to deal with the varargs params to sprintf */ + +#define PF_SPRINTF (*in_data->utils->ansi.sprintf) + +#define PF_STRCPY(DST, SRC) \ + (*in_data->utils->ansi.strcpy)((DST), (SRC)) + + + +#define PF_RGB_TO_HLS(RGB, HLS) \ + (*in_data->utils->colorCB.RGBtoHLS)(in_data->effect_ref, (RGB), (HLS)) + +#define PF_HLS_TO_RGB(HLS, RGB) \ + (*in_data->utils->colorCB.HLStoRGB)(in_data->effect_ref, (HLS), (RGB)) + +#define PF_RGB_TO_YIQ(RGB, YIQ) \ + (*in_data->utils->colorCB.RGBtoYIQ)(in_data->effect_ref, (RGB), (YIQ)) + +#define PF_YIQ_TO_RGB(YIQ, RGB) \ + (*in_data->utils->colorCB.YIQtoRGB)(in_data->effect_ref, (YIQ), (RGB)) + +#define PF_LUMINANCE(RGB, LUM100) \ + (*in_data->utils->colorCB.Luminance)(in_data->effect_ref, (RGB), (LUM100)) + +#define PF_HUE(RGB, HUE) \ + (*in_data->utils->colorCB.Hue)(in_data->effect_ref, (RGB), (HUE)) + +#define PF_LIGHTNESS(RGB, LIGHTNESS) \ + (*in_data->utils->colorCB.Lightness)(in_data->effect_ref, (RGB), (LIGHTNESS)) + +#define PF_SATURATION(RGB, SATURATION) \ + (*in_data->utils->colorCB.Saturation)(in_data->effect_ref, (RGB), (SATURATION)) + + + + +#ifdef __cplusplus + } // end extern "C" +#endif + + + +#include + + +#endif /* _H_AE_EffectCB */ diff --git a/External/AE SDK/Headers/AE_EffectCBSuites.h b/External/AE SDK/Headers/AE_EffectCBSuites.h new file mode 100644 index 00000000..901023fe --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectCBSuites.h @@ -0,0 +1,914 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + +#ifndef _H_AE_EffectCBSuites +#define _H_AE_EffectCBSuites + + +#include +#include +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +// note: many of these suites are not SPAPI because they are shared with the +// old-style PF_UtilCallback definitions and we want calls to them to +// be object compatible + +#define kPFHandleSuite "PF Handle Suite" +#define kPFHandleSuiteVersion1 2 /* frozen in AE 10.0 */ + +//Keeping the same version for compatibility reasons but bumping the actual value for 64-bit SDK. Please define A_HandleSize +//as A_u_long to get the same suite working with 32-bit SDK. + +typedef struct PF_HandleSuite1 { + PF_Handle (*host_new_handle)( + A_HandleSize size); + + void * (*host_lock_handle)( + PF_Handle pf_handle); + + void (*host_unlock_handle)( + PF_Handle pf_handle); + + void (*host_dispose_handle)( + PF_Handle pf_handle); + + A_HandleSize (*host_get_handle_size)( + PF_Handle pf_handle); + + PF_Err (*host_resize_handle)( + A_HandleSize new_sizeL, /* >> */ + PF_Handle *handlePH); /* <> Handle Value May Change */ + +} PF_HandleSuite1; + + +#define kPFANSISuite "PF ANSI Suite" +#define kPFANSISuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct PF_ANSICallbacksSuite1 { + A_FpLong (*atan)(A_FpLong); + A_FpLong (*atan2)(A_FpLong y, A_FpLong x); /* returns atan(y/x) - note param order! */ + A_FpLong (*ceil)(A_FpLong); /* returns next int above x */ + A_FpLong (*cos)(A_FpLong); + A_FpLong (*exp)(A_FpLong); /* returns e to the x power */ + A_FpLong (*fabs)(A_FpLong); /* returns absolute value of x */ + A_FpLong (*floor)(A_FpLong); /* returns closest int below x */ + A_FpLong (*fmod)(A_FpLong x, A_FpLong y); /* returns x mod y */ + A_FpLong (*hypot)(A_FpLong x, A_FpLong y); /* returns sqrt(x*x + y*y) */ + A_FpLong (*log)(A_FpLong); /* returns natural log of x */ + A_FpLong (*log10)(A_FpLong); /* returns log base 10 of x */ + A_FpLong (*pow)(A_FpLong x, A_FpLong y); /* returns x to the y power */ + A_FpLong (*sin)(A_FpLong); + A_FpLong (*sqrt)(A_FpLong); + A_FpLong (*tan)(A_FpLong); + + int (*sprintf)(A_char *, const A_char *, ...); + A_char * (*strcpy)(A_char *, const A_char *); + + A_FpLong (*asin)(A_FpLong); + A_FpLong (*acos)(A_FpLong); + +} PF_ANSICallbacksSuite1; + + +#define kPFPixelDataSuite "PF Pixel Data Suite" +#define kPFPixelDataSuiteVersion1 1 /* frozen in AE 7.0 */ + +typedef struct PF_PixelDataSuite1 { + + PF_Err (*get_pixel_data8)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel8 **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data16)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel16 **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data_float)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_PixelFloat **pixPP); // will return NULL if depth mismatch + + +} PF_PixelDataSuite1; + + +#define kPFPixelDataSuiteVersion2 2 /* frozen in AE 16.0 */ + +typedef struct PF_PixelDataSuite2 { + + PF_Err (*get_pixel_data8)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel8 **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data16)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_Pixel16 **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data_float)( + PF_EffectWorld *worldP, + PF_PixelPtr pixelsP0, // NULL to use data in PF_EffectWorld + PF_PixelFloat **pixPP); // will return NULL if depth mismatch + + PF_Err (*get_pixel_data_float_gpu)( + PF_EffectWorld *worldP, + void **pixPP); // will return NULL if depth mismatch + +} PF_PixelDataSuite2; + + +#define kPFColorCallbacksSuite "PF Color Suite" +#define kPFColorCallbacksSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_ColorCallbacksSuite1 { + PF_Err (*RGBtoHLS)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + PF_HLS_Pixel hls); + + PF_Err (*HLStoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel hls, + PF_Pixel *rgb); + + PF_Err (*RGBtoYIQ)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + PF_YIQ_Pixel yiq); + + PF_Err (*YIQtoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel yiq, + PF_Pixel *rgb); + + PF_Err (*Luminance)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *lum100); /* << 100 * luminance */ + + PF_Err (*Hue)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *hue); /* << 0-255 maps to 0-360 */ + + PF_Err (*Lightness)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *lightness); /* << goes from 0-255 */ + + PF_Err (*Saturation)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel *rgb, + A_long *saturation); /* << goes from 0-255 */ + +} PF_ColorCallbacksSuite1; + +#define kPFColorCallbacks16Suite "PF Color16 Suite" +#define kPFColorCallbacks16SuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_ColorCallbacks16Suite1 { + PF_Err (*RGBtoHLS)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + PF_HLS_Pixel hls); + + PF_Err (*HLStoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel hls, + PF_Pixel16 *rgb); + + PF_Err (*RGBtoYIQ)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + PF_YIQ_Pixel yiq); + + PF_Err (*YIQtoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel yiq, + PF_Pixel16 *rgb); + + PF_Err (*Luminance)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + A_long *lum100); /* << 100 * luminance */ + + PF_Err (*Hue)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + A_long *hue); /* << 0-255 maps to 0-360 */ + + PF_Err (*Lightness)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + A_long *lightness); /* << goes from 0-32768 */ + + PF_Err (*Saturation)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Pixel16 *rgb, + A_long *saturation); /* << goes from 0-32768 */ + +} PF_ColorCallbacks16Suite1; + + + + +#define kPFColorCallbacksFloatSuite "PF ColorFloat Suite" +#define kPFColorCallbacksFloatSuiteVersion1 1 /* frozen in AE 7.0 */ + + +typedef struct PF_ColorCallbacksFloatSuite1 { + PF_Err (*RGBtoHLS)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + PF_HLS_Pixel hls); + + PF_Err (*HLStoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel hls, + PF_PixelFloat *rgb); + + PF_Err (*RGBtoYIQ)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + PF_YIQ_Pixel yiq); + + PF_Err (*YIQtoRGB)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_HLS_Pixel yiq, + PF_PixelFloat *rgb); + + PF_Err (*Luminance)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + float *lumP); /* << luminance -- note *not* 100*lum */ + + PF_Err (*Hue)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + float *hue); /* 0..360 float */ + + PF_Err (*Lightness)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + float *lightness); /* << */ + + PF_Err (*Saturation)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFloat *rgb, + float *saturation); /* << */ + +} PF_ColorCallbacksFloatSuite1; + + + +#define kPFBatchSamplingSuite "PF Batch Sampling Suite" +#define kPFBatchSamplingSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_BatchSamplingSuite1 { + PF_Err (*begin_sampling)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality qual, + PF_ModeFlags mf, + PF_SampPB *params); + + PF_Err (*end_sampling)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality qual, + PF_ModeFlags mf, + PF_SampPB *params); + + PF_Err (*get_batch_func)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality quality, + PF_ModeFlags mode_flags, + const PF_SampPB *params, + PF_BatchSampleFunc *batch); + + PF_Err (*get_batch_func16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Quality quality, + PF_ModeFlags mode_flags, + const PF_SampPB *params, + PF_BatchSample16Func *batch); + +} PF_BatchSamplingSuite1; + + +#define kPFSampling8Suite "PF Sampling8 Suite" +#define kPFSampling8SuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct PF_Sampling8Suite1 { + + PF_Err (*nn_sample)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel *dst_pixel); + + PF_Err (*subpixel_sample)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel *dst_pixel); + + PF_Err (*area_sample)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel *dst_pixel); + + +} PF_Sampling8Suite1; + +#define kPFSampling16Suite "PF Sampling16 Suite" +#define kPFSampling16SuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_Sampling16Suite1 { + + PF_Err (*nn_sample16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel16 *dst_pixel); + + PF_Err (*subpixel_sample16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel16 *dst_pixel); + + PF_Err (*area_sample16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_Pixel16 *dst_pixel); + +} PF_Sampling16Suite1; + + +#define kPFSamplingFloatSuite "PF SamplingFloat Suite" +#define kPFSamplingFloatSuiteVersion1 1 /* frozen in AE 7.0 */ + + +typedef struct PF_SamplingFloatSuite1 { + + PF_Err (*nn_sample_float)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_PixelFloat *dst_pixel); + + PF_Err (*subpixel_sample_float)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_PixelFloat *dst_pixel); + + PF_Err (*area_sample_float)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_Fixed x, + PF_Fixed y, + const PF_SampPB *params, + PF_PixelFloat *dst_pixel); + +} PF_SamplingFloatSuite1; + + + + +#define kPFWorldSuite "PF World Suite" +#define kPFWorldSuiteVersion2 2 /* frozen in AE 7.0 */ + + +typedef struct PF_WorldSuite2 { + + PF_Err (*PF_NewWorld)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long widthL, + A_long heightL, + PF_Boolean clear_pixB, + PF_PixelFormat pixel_format, + PF_EffectWorld *worldP); + + PF_Err (*PF_DisposeWorld)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *worldP); + + + PF_Err (*PF_GetPixelFormat)( + const PF_EffectWorld *worldP, /* the pixel buffer of interest */ + PF_PixelFormat *pixel_formatP); /* << OUT. one of the above PF_PixelFormat types */ + + +} PF_WorldSuite2; + + + + + +#define kPFPixelFormatSuite "PF Pixel Format Suite" +#define kPFPixelFormatSuiteVersion2 2 + + +// call during global setup + +typedef struct PF_PixelFormatSuite2 { + + PF_Err (*PF_AddSupportedPixelFormat)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_PixelFormat pixel_format); /* add a supported pixel format */ + + + PF_Err (*PF_ClearSupportedPixelFormats)( + PF_ProgPtr effect_ref); /* reference from in_data */ + +} PF_PixelFormatSuite2; + + + + + +#define kPFWorldSuite "PF World Suite" +#define kPFWorldSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_WorldSuite1 { + + PF_Err (*new_world)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long width, + A_long height, + PF_NewWorldFlags flags, /* should would be pre-cleared to zeroes */ + PF_EffectWorld *world); /* always 32 bit */ + + PF_Err (*dispose_world)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *world); + + +} PF_WorldSuite1; + + + +#define kPFIterate8Suite "PF Iterate8 Suite" +#define kPFIterate8SuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_Iterate8Suite1 { + PF_Err (*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel *in, PF_Pixel *out), + PF_EffectWorld *dst); + + + PF_Err (*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel *in, PF_Pixel *out), + PF_EffectWorld *dst); + + PF_Err (*iterate_lut)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + A_u_char *a_lut0, /* pass NULL for identity */ + A_u_char *r_lut0, /* pass NULL for identity */ + A_u_char *g_lut0, /* pass NULL for identity */ + A_u_char *b_lut0, /* pass NULL for identity */ + PF_EffectWorld *dst); + + PF_Err (*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel *in, PF_Pixel *out), + PF_EffectWorld *dst); + + PF_Err (*iterate_generic)( + A_long iterationsL, /* >> */ // can be PF_Iterations_ONCE_PER_PROCESSOR + void *refconPV, /* >> */ + PF_Err (*fn_func)( void *refconPV, /* >> */ + A_long thread_indexL, // only call abort and progress from thread_indexL == 0. + A_long i, + A_long iterationsL)); // never sends PF_Iterations_ONCE_PER_PROCESSOR + +} PF_Iterate8Suite1; + +#define kPFIterate8SuiteVersion2 2 /* frozen in AE 22.0 */ + +typedef struct PF_Iterate8Suite2 { + PF_Err(*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel* in, PF_Pixel* out), + PF_EffectWorld *dst); + + + PF_Err(*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel* in, PF_Pixel* out), + PF_EffectWorld *dst); + + PF_Err(*iterate_lut)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + A_u_char *a_lut0, /* pass NULL for identity */ + A_u_char *r_lut0, /* pass NULL for identity */ + A_u_char *g_lut0, /* pass NULL for identity */ + A_u_char *b_lut0, /* pass NULL for identity */ + PF_EffectWorld *dst); + + PF_Err(*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel* in, PF_Pixel* out), + PF_EffectWorld *dst); + + PF_Err(*iterate_generic)( + A_long iterationsL, /* >> */ // can be PF_Iterations_ONCE_PER_PROCESSOR + void *refconPV, /* >> */ + PF_Err(*fn_func)( + void *refconPV, /* >> */ + A_long thread_indexL, // only call abort and progress from thread_indexL == 0. + A_long i, + A_long iterationsL)); // never sends PF_Iterations_ONCE_PER_PROCESSOR + +} PF_Iterate8Suite2; + +#define kPFIterate16Suite "PF iterate16 Suite" +#define kPFIterate16SuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_iterate16Suite1 { + PF_Err (*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16 *in, PF_Pixel16 *out), + PF_EffectWorld *dst); + + + PF_Err (*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16 *in, PF_Pixel16 *out), + PF_EffectWorld *dst); + + PF_Err (*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_Err (*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16 *in, PF_Pixel16 *out), + PF_EffectWorld *dst); + +} PF_Iterate16Suite1; + +#define kPFIterate16SuiteVersion2 2 /* frozen in AE 22.0 */ + +typedef struct PF_iterate16Suite2 { + PF_Err(*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16* in, PF_Pixel16* out), + PF_EffectWorld *dst); + + + PF_Err(*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16* in, PF_Pixel16* out), + PF_EffectWorld *dst); + + PF_Err(*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void *refcon, + PF_Err(*pix_fn)(void* refcon, A_long x, A_long y, PF_Pixel16* in, PF_Pixel16* out), + PF_EffectWorld *dst); + +} PF_Iterate16Suite2; + +#define kPFIterateFloatSuite "PF iterateFloat Suite" +#define kPFIterateFloatSuiteVersion1 1 /* frozen in AE 7.0 */ + + +typedef struct PF_iterateFloatSuite1 { + PF_Err (*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + + + PF_Err (*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + +} PF_IterateFloatSuite1; + +#define kPFIterateFloatSuiteVersion2 2 /* frozen in AE 22.0 */ + +typedef struct PF_iterateFloatSuite2 { + PF_Err (*iterate)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + + + PF_Err (*iterate_origin)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + const PF_Point *origin, + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + + PF_Err (*iterate_origin_non_clip_src)( + PF_InData *in_data, + A_long progress_base, + A_long progress_final, + PF_EffectWorld *src, + const PF_Rect *area, + const PF_Point *origin, + void* refcon, + PF_IteratePixelFloatFunc pix_fn, + PF_EffectWorld *dst); + +} PF_IterateFloatSuite2; + +#define kPFWorldTransformSuite "PF World Transform Suite" +#define kPFWorldTransformSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct PF_WorldTransformSuite1 { + + PF_Err (*composite_rect)( + PF_ProgPtr effect_ref, /* from in_data */ + PF_Rect *src_rect, /* rectangle in source image */ + A_long src_opacity, /* opacity of src */ + PF_EffectWorld *source_wld, /* src PF world */ + A_long dest_x, /* upper left-hand corner of src rect...*/ + A_long dest_y, /* ... in composite image */ + PF_Field field_rdr, /* which scanlines to render (all, upper, lower) */ + PF_XferMode xfer_mode, /* Copy, Composite Behind, Composite In Front */ + PF_EffectWorld *dest_wld); /* Destination buffer. Already filled */ + + PF_Err (*blend)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_EffectWorld *src1, + const PF_EffectWorld *src2, + PF_Fixed ratio, /* 0 == full src1, 0x00010000 == full src2 */ + PF_EffectWorld *dst); + + PF_Err (*convolve)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Rect *area, /* pass NULL for all pixels */ + PF_KernelFlags flags, + A_long kernel_size, + void *a_kernel, + void *r_kernel, + void *g_kernel, + void *b_kernel, + PF_EffectWorld *dst); + + PF_Err (*copy)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + PF_EffectWorld *dst, + PF_Rect *src_r, /* pass NULL for whole world */ + PF_Rect *dst_r); /* pass NULL for whole world */ + + PF_Err (*copy_hq)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + PF_EffectWorld *dst, + PF_Rect *src_r, /* pass NULL for whole world */ + PF_Rect *dst_r); /* pass NULL for whole world */ + + + PF_Err (*transfer_rect)( + PF_ProgPtr effect_ref, + PF_Quality quality, + PF_ModeFlags m_flags, + PF_Field field, + const PF_Rect *src_rec, + const PF_EffectWorld *src_world, + const PF_CompositeMode *comp_mode, + const PF_MaskWorld *mask_world0, + A_long dest_x, + A_long dest_y, + PF_EffectWorld *dst_world); + + PF_Err (*transform_world)( + PF_ProgPtr effect_ref, + PF_Quality quality, + PF_ModeFlags m_flags, + PF_Field field, + const PF_EffectWorld *src_world, + const PF_CompositeMode *comp_mode, + const PF_MaskWorld *mask_world0, + const PF_FloatMatrix *matrices, + A_long num_matrices, + PF_Boolean src2dst_matrix, + const PF_Rect *dest_rect, + PF_EffectWorld *dst_world); + + +} PF_WorldTransformSuite1; + + +#define kPFFillMatteSuite "PF Fill Matte Suite" + + +#define kPFFillMatteSuiteVersion2 2 /* frozen in AE 7.0 */ +typedef struct PF_FillMatteSuite2 { + + PF_Err (*fill)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_Pixel *color, + const PF_Rect *dst_rect, /* pass NULL for whole world */ + PF_EffectWorld *world); + + PF_Err (*fill16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_Pixel16 *color, + const PF_Rect *dst_rect, /* pass NULL for whole world */ + PF_EffectWorld *world); + + PF_Err (*fill_float)( + PF_ProgPtr effect_ref, /* reference from in_data */ + const PF_PixelFloat *color, + const PF_Rect *dst_rect, /* pass NULL for whole world */ + PF_EffectWorld *world); + + PF_Err (*premultiply)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*premultiply_color)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Pixel *color, /* color to premultiply/unmultiply with */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*premultiply_color16)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_Pixel16 *color, /* color to premultiply/unmultiply with */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + + PF_Err (*premultiply_color_float)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *src, + const PF_PixelFloat *color, /* color to premultiply/unmultiply with */ + A_long forward, /* TRUE means convert non-premul to premul, FALSE mean reverse */ + PF_EffectWorld *dst); + +} PF_FillMatteSuite2; + + + +#ifdef __cplusplus + } // end extern "C" +#endif + + + +#include + + +#endif + diff --git a/External/AE SDK/Headers/AE_EffectGPUSuites.h b/External/AE SDK/Headers/AE_EffectGPUSuites.h new file mode 100644 index 00000000..9874b46f --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectGPUSuites.h @@ -0,0 +1,221 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2018 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_AE_EffectGPUSuites +#define _H_AE_EffectGPUSuites + +#include +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + + +#define PF_CUDAVersion 10010 + + +#define kPFGPUDeviceSuite "PF GPU Device Suite" +#define kPFGPUDeviceSuiteVersion1 1 /* frozen in AE 16.0 */ + +typedef struct +{ + PF_GPU_Framework device_framework; + PF_Boolean compatibleB; // device meets minimum requriement for acceleration + + void* platformPV; // cl_platform_id + void* devicePV; // CUdevice or cl_device_id or MTLDevice + void* contextPV; // CUcontext or cl_context + void* command_queuePV; // CUstream or cl_command_queue or MTLCommandQueue + void* offscreen_opengl_contextPV; // CGLContextObj or HGLRC - only available on the primary device + void* offscreen_opengl_devicePV; // HDC - only available on the primary device + +} PF_GPUDeviceInfo; + + + +typedef struct PF_GPUDeviceSuite1 { + + /** + ** This will return the number of gpu devices the host supports. + ** + ** @param effect_ref Comes with PF_InData. + ** @param device_countP Return number of devices available. + */ + SPAPI PF_Err (*GetDeviceCount)( PF_ProgPtr effect_ref, + A_u_long *device_countP); /* << */ + + /** + ** This will return the device info with given device index, which includes necessary context/queue information + ** needed to dispatch task to the device. Refer PF_GPUDeviceInfo for details. + ** + ** @param effect_ref Comes with PF_InData. + ** @param device_index The device index for the requested device. + ** @param PF_GPUDeviceInfo The device info will to be filled. + */ + SPAPI PF_Err (*GetDeviceInfo)( PF_ProgPtr effect_ref, + A_u_long device_index, + PF_GPUDeviceInfo *device_infoP); /* << */ + + + /** + ** Acquire/release exclusive access to inDeviceIndex. All calls below this point generally require access be held. + ** For full GPU plugins (those that use a separate entry point for GPU rendering) exclusive access is always held. + ** These calls do not need to be made in that case. + ** For CUDA calls cuCtxPushCurrent/cuCtxPopCurrent on the current thread to manage the devices context. + */ + SPAPI PF_Err (*AcquireExclusiveDeviceAccess)( PF_ProgPtr effect_ref, + A_u_long device_index); + + SPAPI PF_Err (*ReleaseExclusiveDeviceAccess)( PF_ProgPtr effect_ref, + A_u_long device_index); + + /** + ** All device memory must be allocated through this suite. + ** Purge should be called only in emergency situations when working with GPU memory + ** that cannot be allocated through this suite (eg OpenGL memory). + ** Returned pointer value represents memory allocated through cuMemAlloc or clCreateBuffer. + */ + + SPAPI PF_Err (*AllocateDeviceMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + size_t size_bytes, + void **memoryPP); /* << */ + + SPAPI PF_Err (*FreeDeviceMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + void *memoryP); + + SPAPI PF_Err (*PurgeDeviceMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + size_t size_bytes, + size_t *bytes_purgedP0); /* << */ + + /** + ** All host (pinned) memory must be allocated through this suite. + ** Purge should be called only in emergency situations when working with GPU memory + ** that cannot be allocated through this suite (eg OpenGL memory). + ** Returned pointer value represents memory allocated through cuMemHostAlloc or malloc. + */ + SPAPI PF_Err (*AllocateHostMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + size_t size_bytes, + void **memoryPP); /* << */ + + + SPAPI PF_Err (*FreeHostMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + void *memoryP); + + + SPAPI PF_Err (*PurgeHostMemory)( PF_ProgPtr effect_ref, + A_u_long device_index, + size_t bytes_to_purge, + size_t *bytes_purgedP0); /* << */ + + /** + ** This will allocate a gpu effect world. Caller is responsible for deallocating the buffer with + ** PF_GPUDeviceSuite1::DisposeGPUWorld. + ** + ** @param effect_ref Comes with PF_InData. + ** @param device_index The device you want your gpu effect world allocated with. + ** @param width Width of the effect world. + ** @param height Height of the effect world. + ** @param pixel_aspect_ratio Pixel Aspect Ratio of the effect world. + ** @param field_type The field of the effect world. + ** @param pixel_format The pixel format of the effect world, only gpu formats are accepted. + ** @param clear_pixB Pass in 'true' for a transparent black frame. + ** @param worldPP The handle to the effect world to be created. + */ + SPAPI PF_Err (*CreateGPUWorld)( PF_ProgPtr effect_ref, + A_u_long device_index, + A_long width, + A_long height, + PF_RationalScale pixel_aspect_ratio, + PF_Field field_type, + PF_PixelFormat pixel_format, + PF_Boolean clear_pixB, + PF_EffectWorld **worldPP); /* << */ + + + /** + ** This will free this effect world. The effect world is no longer valid after this function is called. + ** Plugin module is only allowed to dispose of effect worlds they create. + ** + ** @param effect_ref Comes with PF_InData. + ** @param worldP The effect world you want to dispose. + */ + SPAPI PF_Err (*DisposeGPUWorld)( PF_ProgPtr effect_ref, + PF_EffectWorld *worldP); + + + /** + ** This will return the gpu buffer address of the given effect world. + ** + ** @param effect_ref Comes with PF_InData. + ** @param worldP The effect world you want to operate on, has to be a gpu effect world. + ** @param pixPP Returns the gpu buffer address. + */ + SPAPI PF_Err (*GetGPUWorldData)( PF_ProgPtr effect_ref, + PF_EffectWorld *worldP, + void **pixPP); /* << */ + + /** + ** This will return the size of the total data in the effect world. + ** + ** @param effect_ref Comes with PF_InData. + ** @param worldP The effect world you want to operate on, has to be a gpu effect world. + ** @param device_indexP Returns the size of the total data in the effect world. + */ + SPAPI PF_Err (*GetGPUWorldSize)( PF_ProgPtr effect_ref, + PF_EffectWorld *worldP, + size_t *size_in_bytesP); /* << */ + + + /** + ** This will return device index the gpu effect world is associated with. + ** + ** @param effect_ref Comes with PF_InData. + ** @param worldP The effect world you want to operate on, has to be a gpu effect world. + ** @param device_indexP Returns the device index of the given effect world. + */ + SPAPI PF_Err (*GetGPUWorldDeviceIndex)( PF_ProgPtr effect_ref, + PF_EffectWorld *worldP, + A_u_long *device_indexP); /* << */ + + +} PF_GPUDeviceSuite1; + + + +/**********************************************************/ +/**********************************************************/ + +#ifdef __cplusplus + } +#endif + + +#include + +#endif diff --git a/External/AE SDK/Headers/AE_EffectPixelFormat.h b/External/AE SDK/Headers/AE_EffectPixelFormat.h new file mode 100644 index 00000000..44635a64 --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectPixelFormat.h @@ -0,0 +1,110 @@ +#ifndef _H_AE_PIXEL_FORMAT +#define _H_AE_PIXEL_FORMAT + +#include "A.h" + +/* data types for PF_EffectWorlds that are not just 8bpc ARGB + * + * see AE_EffectCBSuites.h for more details + * + */ + +#ifndef MAKE_PIXEL_FORMAT_FOURCC + +#define MAKE_PIXEL_FORMAT_FOURCC(ch0, ch1, ch2, ch3) \ + ((A_u_long)(A_u_char)(ch0) | ((A_u_long)(A_u_char)(ch1) << 8) | \ + ((A_u_long)(A_u_char)(ch2) << 16) | ((A_u_long)(A_u_char)(ch3) << 24 )) + +#endif + + +// +// note! MAKE_PIXEL_FORMAT_FOURCC('a', 'r', 'g', 'b') does not give the same result +// as the literal 'argb' in your compiler +// +// MS image compression interfaces define FOURCC this way (unlike QuickTime) so please +// be careful and use the enums as defined rather than rolling your own. +// + +enum { + PF_PixelFormat_ARGB32 = MAKE_PIXEL_FORMAT_FOURCC('a', 'r', 'g', 'b'), // After Effects-style ARGB, 8 bits per channel, range 0...255 + // trillions of pixels served since 1992. support required for After Effects + + PF_PixelFormat_ARGB64 = MAKE_PIXEL_FORMAT_FOURCC('a', 'e', '1', '6'), // After Effects-style ARGB, 16 bits per channel, range 0...32768 + PF_PixelFormat_ARGB128 = MAKE_PIXEL_FORMAT_FOURCC('a', 'e', '3', '2'), // After Effects-style ARGB, 32 bits floating point per channel, 1.0 is "white" + + + /* -------------------------------------------------------------------------------------- */ + + PF_PixelFormat_GPU_BGRA128 = MAKE_PIXEL_FORMAT_FOURCC('@', 'C', 'D', 'A'), // GPU, BGRA, 32 bits floating point per channel. + + PF_PixelFormat_RESERVED = MAKE_PIXEL_FORMAT_FOURCC('@', 'C', 'D', 'a'), // reserved for future use. + + /* -------------------------------------------------------------------------------------- */ + + PF_PixelFormat_BGRA32 = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'a'), // Premiere-style BGRA, 8 bits per channel. Premiere-only; support required for Premiere + PF_PixelFormat_VUYA32 = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'a'), // Premiere-style YUVA, 8 bits per channel. Premiere-only + + PF_PixelFormat_NTSCDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '2'), // compressed DV-25. Premiere only. + PF_PixelFormat_PALDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '2'), // compressed DV-25. Premiere only. + + PF_PixelFormat_INVALID = MAKE_PIXEL_FORMAT_FOURCC('b', 'a', 'd', 'f'), // invalid pixel format - this is used for intialization and error conditions + + + PF_PixelFormat_FORCE_LONG_INT = 0xFFFFFFFF +}; + +typedef A_long PF_PixelFormat; + + +#ifdef PREMIERE +// for Premiere-specific pixel format support +// some of these are aliases of formats already available as a PF_PixelFormat + +#ifndef PRSDKPIXELFORMAT_H +typedef PF_PixelFormat PrPixelFormat; + +enum { + // Uncompressed formats - these are most common for effects + PrPixelFormat_BGRA_4444_8u = PF_PixelFormat_BGRA32, + PrPixelFormat_VUYA_4444_8u = PF_PixelFormat_VUYA32, + PrPixelFormat_ARGB_4444_8u = PF_PixelFormat_ARGB32, + PrPixelFormat_BGRA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'a'), // 16 bit integer per component BGRA + PrPixelFormat_VUYA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('V', 'u', 'y', 'a'), // 16 bit integer per component VUYA + PrPixelFormat_ARGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('A', 'r', 'g', 'b'), // 16 bit integer per component ARGB + PrPixelFormat_BGRA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'a'), // 32 bit float per component BGRA + PrPixelFormat_VUYA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'a'), // 32 bit float per component VUYA + PrPixelFormat_ARGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('A', 'R', 'g', 'b'), // 32 bit float per component ARGB + + // Packed formats + PrPixelFormat_YUYV_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '2'), // 8 bit 422 YUY2 601 colorspace + PrPixelFormat_YUYV_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '3'), // 8 bit 422 YUY2 709 colorspace + PrPixelFormat_UYVY_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', 'y'), // 8 bit 422 UYVY 601 colorspace + PrPixelFormat_UYVY_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', '7'), // 8 bit 422 UYVY 709 colorspace + PrPixelFormat_V210_422_10u_601 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '0'), // packed uncompressed 10 bit 422 YUV aka V210 601 colorspace + PrPixelFormat_V210_422_10u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '1'), + + // Planar formats + PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) + PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) + + // Compressed formats + PrPixelFormat_NTSCDV25 = PF_PixelFormat_NTSCDV25, // compressed DV-25 + PrPixelFormat_PALDV25 = PF_PixelFormat_PALDV25, // compressed DV-25 + PrPixelFormat_720pDV100 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', '7', '1'), // compressed DV-100 720p + PrPixelFormat_1080iDV100 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', '1', '1'), // compressed DV-100 1080i + + // Raw, opaque data formats + PrPixelFormat_Raw = MAKE_PIXEL_FORMAT_FOURCC('r', 'a', 'w', 'w'), // raw, opaque data, with no row bytes or height + + // Invalid + PrPixelFormat_Invalid = PF_PixelFormat_INVALID, // invalid pixel format - this is used for intialization and error conditions + + PrPixelFormat_Any = 0 +}; + +#endif // PRSDKPIXELFORMAT_H + +#endif // PREMIERE + +#endif // AE_PixelFormat diff --git a/External/AE SDK/Headers/AE_EffectSuites.h b/External/AE SDK/Headers/AE_EffectSuites.h new file mode 100644 index 00000000..63a85492 --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectSuites.h @@ -0,0 +1,728 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_AE_EffectSuites +#define _H_AE_EffectSuites + +#include +#include // for PF_CursorType +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + + + +#define kPFPathQuerySuite "PF Path Query Suite" +#define kPFPathQuerySuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct PF_PathOutline *PF_PathOutlinePtr; +typedef struct PF_PathSegPrep *PF_PathSegPrepPtr; + +typedef struct PF_PathQuerySuite1 { + + SPAPI PF_Err (*PF_NumPaths)( PF_ProgPtr effect_ref, + A_long *num_pathsPL); /* << */ + + SPAPI PF_Err (*PF_PathInfo)( PF_ProgPtr effect_ref, + A_long indexL, + PF_PathID *unique_idP); /* << */ + + SPAPI PF_Err (*PF_CheckoutPath)( PF_ProgPtr effect_ref, + PF_PathID unique_id, + A_long what_time, + A_long time_step, + A_u_long time_scale, + PF_PathOutlinePtr *pathPP); /* << */ // can return NULL ptr if path doesn't exist + + SPAPI PF_Err (*PF_CheckinPath)( PF_ProgPtr effect_ref, + PF_PathID unique_id, + PF_Boolean changedB, + PF_PathOutlinePtr pathP); + +} PF_PathQuerySuite1; + + + +/* -------------------------------------------------------------------- */ + + +#define kPFPathDataSuite "PF Path Data Suite" +#define kPFPathDataSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct { + + PF_FpLong x, y; + PF_FpLong tan_in_x, tan_in_y; + PF_FpLong tan_out_x, tan_out_y; + +} PF_PathVertex; + +#define PF_MAX_PATH_NAME_LEN 31 + + +typedef struct PF_PathDataSuite1 { + + SPAPI PF_Err (*PF_PathIsOpen)( PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + PF_Boolean *openPB); + + // N segments means there are segments [0..N-1]; segment J is defined by vertex J & J+1 + SPAPI PF_Err (*PF_PathNumSegments)( PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + A_long *num_segmentsPL); + + // which_pointL range: [0..num_segments]; for closed paths vertex[0] == vertex[num_segments] + SPAPI PF_Err (*PF_PathVertexInfo)( PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + A_long which_pointL, + PF_PathVertex *vertexP); + + SPAPI PF_Err (*PF_PathPrepareSegLength)( + PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + A_long which_segL, + A_long frequencyL, + PF_PathSegPrepPtr *lengthPrepPP); + + SPAPI PF_Err (*PF_PathGetSegLength)( PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + A_long which_segL, + PF_PathSegPrepPtr *lengthPrepP0, + PF_FpLong *lengthPF); + + SPAPI PF_Err (*PF_PathEvalSegLength)(PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + PF_PathSegPrepPtr *lengthPrepPP0, + A_long which_segL, + PF_FpLong lengthF, + PF_FpLong *x, + PF_FpLong *y); + + SPAPI PF_Err (*PF_PathEvalSegLengthDeriv1)( + PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + PF_PathSegPrepPtr *lengthPrepPP0, + A_long which_segL, + PF_FpLong lengthF, + PF_FpLong *x, + PF_FpLong *y, + PF_FpLong *deriv1x, + PF_FpLong *deriv1y); + + + SPAPI PF_Err (*PF_PathCleanupSegLength)( + PF_ProgPtr effect_ref0, + PF_PathOutlinePtr pathP, + A_long which_segL, + PF_PathSegPrepPtr *lengthPrepPP); + + + SPAPI PF_Err (*PF_PathIsInverted)( PF_ProgPtr effect_ref, + PF_PathID unique_id, + PF_Boolean *invertedB); + + SPAPI PF_Err (*PF_PathGetMaskMode)( PF_ProgPtr effect_ref, + PF_PathID unique_id, + PF_MaskMode *modeP); + + SPAPI PF_Err (*PF_PathGetName)( PF_ProgPtr effect_ref, + PF_PathID unique_id, + A_char *nameZ); /* << can be up to PF_MAX_PATH_NAME_LEN+1 bytes long */ + + +} PF_PathDataSuite1; + + +/* -------------------------------------------------------------------- */ + +// New versions of state related APIs added in CS6 + +#define kPFParamUtilsSuite "PF Param Utils Suite" +#define kPFParamUtilsSuiteVersion3 3 // Frozen in AE CS6 [aka AE11.0] + +typedef struct { + A_long reservedAL[4]; +} PF_State; + + +#define PF_ParamIndex_NONE (-1L) +#define PF_ParamIndex_CHECK_ALL (-2L) +#define PF_ParamIndex_CHECK_ALL_EXCEPT_LAYER_PARAMS (-3L) +#define PF_ParamIndex_CHECK_ALL_HONOR_EXCLUDE (-4L) // Like PF_ParamIndex_CHECK_ALL, but honor PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED + +#define PF_KeyIndex_NONE (-1L) + + +enum { + PF_TimeDir_GREATER_THAN = 0x0000, + PF_TimeDir_LESS_THAN = 0x0001, + PF_TimeDir_GREATER_THAN_OR_EQUAL = 0x1000, + PF_TimeDir_LESS_THAN_OR_EQUAL = 0x1001 +}; +typedef A_long PF_TimeDir; + +typedef A_long PF_KeyIndex; + + +/** PF_ParamUtilsSuite3 + + PF_UpdateParamUI() + + You can call this function for each param whose UI settings you + want to change when handling a PF_Cmd_USER_CHANGED_PARAM or + PF_Cmd_UPDATE_PARAMS_UI. These changes are cosmetic only, and don't + go into the undo buffer. + + The ONLY fields that can be changed in this way are: + + PF_ParamDef + ui_flags: PF_PUI_ECW_SEPARATOR, PF_PUI_DISABLED only (and PF_PUI_INVISIBLE in Premiere). + ui_width + ui_height + name + flags: PF_ParamFlag_COLLAPSE_TWIRLY only + + PF_ParamDefUnion: + slider_min, slider_max, precision, display_flags of any slider type + + For PF_PUI_STD_CONTROL_ONLY params, you can also change the value field by setting + PF_ChangeFlag_CHANGED_VALUE before returning. But you are not allowed to change + the value during PF_Cmd_UPDATE_PARAMS_UI. + + PF_GetCurrentState() / PF_AreStatesIdentical() + This API lets you determine if a set of your inputs (either layers, other properties, or both) + are different between when you first called PF_GetCurrentState() and a current call, so it can + be used for caching. You can specify a range of time to consider or all of time. + + For effects that do simulation across time and therefore set PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT, + when you ask about a time range, it will be expanded to include any times needed to produce + that range. + + See doc on the old PF_HaveInputsChangedOverTimeSpan() for historical context. + +**/ + +typedef struct PF_ParamUtilsSuite3 { + + SPAPI PF_Err (*PF_UpdateParamUI)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + const PF_ParamDef *defP); + + // IMPORTANT: as of 13.5 to avoid threading deadlock problems, PF_GetCurrentState() returns a random state + // if used in the context of UPDATE_PARAMS_UI only. In other selectors this will behave normally. + SPAPI PF_Err (*PF_GetCurrentState)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + const A_Time *startPT0, // NULL for both start & duration means over all of time + const A_Time *durationPT0, + PF_State *stateP); /* << */ + + SPAPI PF_Err (*PF_AreStatesIdentical)( + PF_ProgPtr effect_ref, + const PF_State *state1P, + const PF_State *state2P, + A_Boolean *samePB); /* << */ + + SPAPI PF_Err (*PF_IsIdenticalCheckout)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + A_long what_time1, + A_long time_step1, + A_u_long time_scale1, + A_long what_time2, + A_long time_step2, + A_u_long time_scale2, + PF_Boolean *identicalPB); /* << */ + + SPAPI PF_Err (*PF_FindKeyframeTime)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + A_long what_time, + A_u_long time_scale, + PF_TimeDir time_dir, + PF_Boolean *foundPB, /* << */ + PF_KeyIndex *key_indexP0, /* << */ + A_long *key_timeP0, /* << */ // you can ask for either: + A_u_long *key_timescaleP0); /* << */ // time×cale OR neither + + SPAPI PF_Err (*PF_GetKeyframeCount)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex *key_countP); /* << */ // returns PF_KeyIndex_NONE for constant + + SPAPI PF_Err (*PF_CheckoutKeyframe)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex key_index, // zero-based + A_long *key_timeP0, /* << */ // you can ask for either: + A_u_long *key_timescaleP0, /* << */ // time×cale OR neither + PF_ParamDef *paramP0); /* << */ + + SPAPI PF_Err (*PF_CheckinKeyframe)( + PF_ProgPtr effect_ref, + PF_ParamDef *paramP); + + SPAPI PF_Err (*PF_KeyIndexToTime)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex key_indexP, /* >> */ + A_long *key_timeP, /* >> */ + A_u_long *key_timescaleP); /* << */ + +} PF_ParamUtilsSuite3; + + + + +/* -------------------------------------------------------------------- */ + + +#define kPFColorParamSuite "PF ColorParamSuite" +#define kPFColorParamSuiteVersion1 1 /* frozen in AE 7.0 */ + +/** PF_ColorParamSuite1 + +**/ + +typedef struct PF_ColorParamSuite1 { + + // floating point color is in the working space of + // your effect, i.e. the same color space + // as the pixels you get + + // note that overrange and underrange values are possible + // even when project is not set to 32bpc + + SPAPI PF_Err (*PF_GetFloatingPointColorFromColorDef)( + PF_ProgPtr effect_ref, /* >> */ + const PF_ParamDef *color_defP, /* >> */ + PF_PixelFloat *fp_colorP); /* << */ + +} PF_ColorParamSuite1; + + + + +/* -------------------------------------------------------------------- */ + +#define kPFPointParamSuite "PF PointParamSuite" +#define kPFPointParamSuiteVersion1 1 /* frozen in AE 10.5 */ + +/** PF_PointParamSuite1 + +**/ + +typedef struct PF_PointParamSuite1 { + + // this api returns floating point value of a point parameter. + + SPAPI PF_Err (*PF_GetFloatingPointValueFromPointDef)( + PF_ProgPtr effect_ref, /* >> */ + const PF_ParamDef *point_defP, /* >> */ + A_FloatPoint *fp_pointP); /* << */ + +} PF_PointParamSuite1; + + +/* -------------------------------------------------------------------- */ + +#define kPFAngleParamSuite "PF AngleParamSuite" +#define kPFAngleParamSuiteVersion1 1 /* frozen in AE 11.0.x */ + +/** PF_AngleParamSuite1 + +**/ + +typedef struct PF_AngleParamSuite1 { + + // this api returns floating point value of an angle parameter. + + SPAPI PF_Err (*PF_GetFloatingPointValueFromAngleDef)( + PF_ProgPtr effect_ref, /* >> */ + const PF_ParamDef *angle_defP, /* >> */ + A_FpLong *fp_valueP); /* << */ + +} PF_AngleParamSuite1; + + +/* -------------------------------------------------------------------- */ + +#define kPFAppSuite "PF AE App Suite" +#define kPFAppSuiteVersion6 1 /* frozen in AE 13.1 */ + +enum { + PF_App_Color_NONE = -1, + + PF_App_Color_FRAME, + PF_App_Color_FILL, + PF_App_Color_TEXT, + PF_App_Color_LIGHT_TINGE, + PF_App_Color_DARK_TINGE, + PF_App_Color_HILITE, + PF_App_Color_SHADOW, + + PF_App_Color_BUTTON_FRAME, + PF_App_Color_BUTTON_FILL, + PF_App_Color_BUTTON_TEXT, + PF_App_Color_BUTTON_LIGHT_TINGE, + PF_App_Color_BUTTON_DARK_TINGE, + PF_App_Color_BUTTON_HILITE, + PF_App_Color_BUTTON_SHADOW, + + PF_App_Color_BUTTON_PRESSED_FRAME, + PF_App_Color_BUTTON_PRESSED_FILL, + PF_App_Color_BUTTON_PRESSED_TEXT, + PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE, + PF_App_Color_BUTTON_PRESSED_DARK_TINGE, + PF_App_Color_BUTTON_PRESSED_HILITE, + PF_App_Color_BUTTON_PRESSED_SHADOW, + + /********************************/ + + PF_App_Color_FRAME_DISABLED, + PF_App_Color_FILL_DISABLED, + PF_App_Color_TEXT_DISABLED, + PF_App_Color_LIGHT_TINGE_DISABLED, + PF_App_Color_DARK_TINGE_DISABLED, + PF_App_Color_HILITE_DISABLED, + PF_App_Color_SHADOW_DISABLED, + + PF_App_Color_BUTTON_FRAME_DISABLED, + PF_App_Color_BUTTON_FILL_DISABLED, + PF_App_Color_BUTTON_TEXT_DISABLED, + PF_App_Color_BUTTON_LIGHT_TINGE_DISABLED, + PF_App_Color_BUTTON_DARK_TINGE_DISABLED, + PF_App_Color_BUTTON_HILITE_DISABLED, + PF_App_Color_BUTTON_SHADOW_DISABLED, + + PF_App_Color_BUTTON_PRESSED_FRAME_DISABLED, + PF_App_Color_BUTTON_PRESSED_FILL_DISABLED, + PF_App_Color_BUTTON_PRESSED_TEXT_DISABLED, + PF_App_Color_BUTTON_PRESSED_LIGHT_TINGE_DISABLED, + PF_App_Color_BUTTON_PRESSED_DARK_TINGE_DISABLED, + PF_App_Color_BUTTON_PRESSED_HILITE_DISABLED, + PF_App_Color_BUTTON_PRESSED_SHADOW_DISABLED, + + /********************************/ + PF_App_Color_BLACK, + PF_App_Color_WHITE, + PF_App_Color_GRAY, + PF_App_Color_RED, + PF_App_Color_YELLOW, + PF_App_Color_GREEN, + PF_App_Color_CYAN, + + /********************************/ + PF_App_Color_TLW_NEEDLE_CURRENT_TIME, + PF_App_Color_TLW_NEEDLE_PREVIEW_TIME, + PF_App_Color_TLW_CACHE_MARK_MEM, + PF_App_Color_TLW_CACHE_MARK_DISK, + PF_App_Color_TLW_CACHE_MARK_MIX, + PF_App_Color_FILL_LIGHT, + PF_App_Color_HOT_TEXT, + PF_App_Color_HOT_TEXT_DISABLED, + + /********************************/ + PF_App_Color_LABEL_0, + PF_App_Color_LABEL_1, + PF_App_Color_LABEL_2, + PF_App_Color_LABEL_3, + PF_App_Color_LABEL_4, + PF_App_Color_LABEL_5, + PF_App_Color_LABEL_6, + PF_App_Color_LABEL_7, + PF_App_Color_LABEL_8, + PF_App_Color_LABEL_9, + PF_App_Color_LABEL_10, + PF_App_Color_LABEL_11, + PF_App_Color_LABEL_12, + PF_App_Color_LABEL_13, + PF_App_Color_LABEL_14, + PF_App_Color_LABEL_15, + PF_App_Color_LABEL_16, + + /********************************/ + PF_App_Color_TLW_CACHE_MARK_MEM_DUBIOUS, + PF_App_Color_TLW_CACHE_MARK_DISK_DUBIOUS, + PF_App_Color_TLW_CACHE_MARK_MIX_DUBIOUS, + PF_App_Color_HOT_TEXT_PRESSED, + PF_App_Color_HOT_TEXT_WARNING, + PF_App_Color_PURE_BLACK, + PF_App_Color_PURE_WHITE, + + PF_App_Color_PANEL_BACKGROUND = 1000, + PF_App_Color_LIST_BOX_FILL, + PF_App_Color_DARK_CAPTION_FILL, + PF_App_Color_DARK_CAPTION_TEXT, + PF_App_Color_TEXT_ON_LIGHTER_BG, + + PF_App_Color_NUMTYPES +}; +typedef A_short PF_App_ColorType; + +enum { + // the first entry allows the user to do it the way they normally do with + // ae native color pickers (straight is the default, shift gives you premul) + PF_EyeDropperSampleMode_DEFAULT, + PF_EyeDropperSampleMode_STRAIGHT, + PF_EyeDropperSampleMode_PREMUL +}; + +typedef A_short PF_EyeDropperSampleMode; + +typedef struct PF_App_Color { + A_u_short red; + A_u_short green; + A_u_short blue; +} PF_App_Color; + + +#define PF_APP_MAX_PERS_LEN 63 + +typedef struct PF_AppPersonalTextInfo { + A_char name[PF_APP_MAX_PERS_LEN + 1]; + A_char org[PF_APP_MAX_PERS_LEN + 1]; + A_char serial_str[PF_APP_MAX_PERS_LEN + 1]; +} PF_AppPersonalTextInfo; + + +enum { + PF_FontStyle_NONE = -1, // sentinel + PF_FontStyle_SYS = 0, // system font, system size, system style (0, 0, 0) + PF_FontStyle_SMALL, // usually small annotation text + PF_FontStyle_SMALL_BOLD, // more important small annotations + PF_FontStyle_SMALL_ITALIC, // missing things, etc. + PF_FontStyle_MED, // times in in/out panels + PF_FontStyle_MED_BOLD, // + PF_FontStyle_APP, // + PF_FontStyle_APP_BOLD, // time in TL window + PF_FontStyle_APP_ITALIC // +}; +typedef A_LegacyEnumType PF_FontStyleSheet; + + + +#define PF_FONT_NAME_LEN 255 + +typedef struct PF_FontName { + A_char font_nameAC[PF_FONT_NAME_LEN+1]; +} PF_FontName; + + +#define PF_APP_LANG_TAG_SIZE (5 + 1) + +typedef struct _PF_AppProgressDialog *PF_AppProgressDialogP; + + +typedef struct PFAppSuite6 { /* frozen in AE 13.1 */ + + SPAPI PF_Err (*PF_AppGetBgColor)( PF_App_Color *bg_colorP); /* << */ + + SPAPI PF_Err (*PF_AppGetColor)( PF_App_ColorType color_type, /* >> */ + PF_App_Color *app_colorP); /* << */ + + // Provides the active displayed language of AE UI so plugin can match. e.g. "en_US" + SPAPI PF_Err (*PF_AppGetLanguage)( A_char *lang_tagZ); /* << up to PF_APP_LANG_TAG_SIZE-1 */ + + SPAPI PF_Err (*PF_GetPersonalInfo)( PF_AppPersonalTextInfo *ptiP); /* << */ + + SPAPI PF_Err (*PF_GetFontStyleSheet)(PF_FontStyleSheet sheet, /* >> */ + PF_FontName *font_nameP0, /* << */ + A_short *font_numPS0, /* << */ + A_short *sizePS0, /* << */ + A_short *stylePS0); /* << */ + + // normally the effect should respond to PF_Event_ADJUST_CURSOR, but for changing + // the cursor during modal situations, you can use this API + SPAPI PF_Err (*PF_SetCursor)( PF_CursorType cursor); /* >> */ + + // as of AE6.5, this function returns TRUE if installed app is the render engine (as before) + // OR if the app is being run with no UI OR if the app is in watch-folder mode + SPAPI PF_Err (*PF_IsRenderEngine)( PF_Boolean *render_enginePB); /* >> */ + + // will return PF_Interrupt_CANCEL if user cancels dialog. color is in project working colorspace + // if use_ws_to_monitor_xformB is TRUE, then the color chips and pickers are run through the + // working space -> display transformation while interacting. set FALSE to have the raw RGB values + // pushed directly to the screen. TRUE is intended for when the returned color is used in rendering, FALSE + // is intended if the color is for UI elements or other nonrenderables. + + SPAPI PF_Err (*PF_AppColorPickerDialog)( const A_char *dialog_titleZ0, /* >> */ + const PF_PixelFloat *sample_colorP, /* >> */ + PF_Boolean use_ws_to_monitor_xformB, /* >> */ + PF_PixelFloat *new_colorP); /* << */ + + // for use only when processing an event in an effect with custom UI + SPAPI PF_Err (*PF_GetMouse)(PF_Point* pointP); + + // NEW api in version 4. + // Use it to invalidate rect of current window being drawn. Invalidated rect will be updated during idle time. + // Specify PF_EO_UPDATE_NOW out flag to update the window immediately after the event returns. Specify rectP0 + // as NULL to invalidate the whole window. + // Only valid while handling an non-draw event in the effect. + SPAPI PF_Err (*PF_InvalidateRect)( const PF_ContextH contextH, + const PF_Rect* rectP0); + + // only safe to use when processing an event from a custom UI event. + SPAPI PF_Err (*PF_ConvertLocalToGlobal)(const PF_Point* localP, PF_Point* globalP); + + // this will return a deep color if over a content window containing 32bpc. + // eyeSize == 0 will use the application pref as set by the user. + SPAPI PF_Err (*PF_GetColorAtGlobalPoint)(const PF_Point* globalP, A_short eyeSize, PF_EyeDropperSampleMode mode, PF_PixelFloat* outColorP); + + + // Manages a modal progress dialog session for use inside of time-consuming AEGP commands + // Only one dialog active at a time is supported, and it may not get displayed in cases where AE UI is disabled (become no-ops) + // These calls must be used from the AE main/UI thread + // The app busy cursor will automatically set/reset as needed, regardless of whether dialog is displayed + SPAPI PF_Err (*PF_CreateNewAppProgressDialog)( + const A_UTF16Char* titleZ, // >> title of the progress dialog + const A_UTF16Char* cancel_strZ0, // >> [optional] what the name on the button should be. + // If NULL, AE localized Cancel used by default + PF_Boolean indeterminateB, // >> TRUE shows "barber pole" style animation with no incremental progress + PF_AppProgressDialogP *prog_dlgPP); // <> Returns allocated ProgressDialog session (may not display actual dialog yet) + + // This will trigger initial dialog display once timeout elapses. + // While dialog is displayed, this updates animation/progress status. + // If the session is disposed before the elapsed time the dialog is never displayed. + // This must be called frequently during your algorithm to keep UI responsive and animation moving. About 100ms interval would be a good target. + // Returns PF_Interrupt_CANCEL if user canceled the dialog + SPAPI PF_Err (*PF_AppProgressDialogUpdate)( + PF_AppProgressDialogP prog_dlgP, // >> The allocated session + A_long countL, A_long totalL); // >> count/total is the fraction of progress to display (when not indeterminate style) + // (pass zeros to keep barber-pole animation alive) + + // PF_AppProgressDialogP MUST be disposed whether the actual dialog is displayed or not + SPAPI PF_Err (*PF_DisposeAppProgressDialog)(PF_AppProgressDialogP prog_dlgP); // >> The allocated session. MUST be disposed. + +} PFAppSuite6; + + + +#define kPFEffectUISuite "PF Effect UI Suite" +#define kPFEffectUISuiteVersion1 1 /* frozen in 5.5 */ + +typedef struct PF_EffectUISuite1 { + + SPAPI PF_Err (*PF_SetOptionsButtonName)( PF_ProgPtr effect_ref, + const A_char *nameZ); + +} PF_EffectUISuite1; + + + + +#define kPFEffectCustomUISuite "PF Effect Custom UI Suite" +#define kPFEffectCustomUISuiteVersion2 2 /* frozen in 13.5 */ + +typedef struct _PF_AsyncManager *PF_AsyncManagerP; // manage multiple asynchronous render requests during lifetime, especially for better caching on UI thread + +// apis that relate to + +typedef struct PF_EffectCustomUISuite2 { + + // This provides basic apis needed for custom ui drawing in any window (Comp/Layer/ECW) + // Get the drawing reference for custom ui drawing. + SPAPI PF_Err (*PF_GetDrawingReference)( const PF_ContextH effect_contextH, /* >> */ + DRAWBOT_DrawRef *referenceP0); /* << */ + + // NEW in version 2 (ae13.5) + // When using PF_OutFlag2_CUSTOM_UI_ASYNC_MANAGER, use this to get the async manager associated with the effect PF_ContextH. + // The managed can then be asked to do Async render requests + SPAPI PF_Err (*PF_GetContextAsyncManager)( PF_InData* in_data, PF_EventExtra* extra, PF_AsyncManagerP* managerPP0); + +} PF_EffectCustomUISuite2; + + + + +#define kPFEffectCustomUIOverlayThemeSuite "PF Effect Custom UI Overlay Theme Suite" +#define kPFEffectCustomUIOverlayThemeSuiteVersion1 1 /* frozen in 10.0 */ + +// This suite should be used for stroking/filling paths, vertices etc on Comp/Layer window. After Effects is internally using it +// so use it to make custom ui look consistent across effects. The foreground/shadow colors are computed based on the app brightness +// level so custom ui is always visible regardless of app brightness. + +typedef struct PF_EffectCustomUIOverlayThemeSuite1 { + + // Get foreground/shadow colors preferred for custom ui drawing in AE. + // These colors are used by AE custom ui effects. + SPAPI PF_Err (*PF_GetPreferredForegroundColor)( DRAWBOT_ColorRGBA *foreground_colorP); /* << */ + + SPAPI PF_Err (*PF_GetPreferredShadowColor) ( DRAWBOT_ColorRGBA *shadow_colorP); /* << */ + + + // Get foreground & shadow stroke width, vertex size and shadow offset preferred for custom ui drawing in AE. + // These settings are used by AE custom ui effects. + SPAPI PF_Err (*PF_GetPreferredStrokeWidth)( float *stroke_widthPF); /* << for both foreground and shadow stroke */ + + SPAPI PF_Err (*PF_GetPreferredVertexSize)( float *vertex_sizePF); /* << */ + + SPAPI PF_Err (*PF_GetPreferredShadowOffset)( A_LPoint *shadow_offsetP); /* << */ + + + // Stroke the path with overlay theme foreground color. It can also draw shadow using overlay theme shadow color. + // It uses overlay theme stroke width for stroking foreground and shadow strokes. + SPAPI PF_Err (*PF_StrokePath) ( const DRAWBOT_DrawRef drawbot_ref, /* >> */ + const DRAWBOT_PathRef path_ref, /* >> */ + PF_Boolean draw_shadowB); /* >> */ + + + // Fills the path with overlay theme foreground color. It can also draw shadow using overlay theme shadow color. + // It can be used for drawing in any Comp/Layer/EC windows. + SPAPI PF_Err (*PF_FillPath) ( const DRAWBOT_DrawRef drawbot_ref, /* >> */ + const DRAWBOT_PathRef path_ref, /* >> */ + PF_Boolean draw_shadowB); /* >> */ + + + // Fills a square (vertex) around the center point using overlay theme foreground color and vertex size. + SPAPI PF_Err (*PF_FillVertex) ( const DRAWBOT_DrawRef drawbot_ref, /* >> */ + const A_FloatPoint *center_pointP, /* >> */ + PF_Boolean draw_shadowB); /* >> */ + +} PF_EffectCustomUIOverlayThemeSuite1; + + +// we include this at the end here to maintain source-level compatibility with +// files that #include AE_EffectSuite but are still using the old suites +// note: this is _inside_ the pre/post & ifdefs, as this is just a snippet, +// and not designed to be #include by anyone else +#define _H_AE_EffectSuitesOld + #include "AE_EffectSuitesOld.h" +#undef _H_AE_EffectSuitesOld + +/**********************************************************/ +/**********************************************************/ + +#ifdef __cplusplus + } +#endif + + +#include + +#endif diff --git a/External/AE SDK/Headers/AE_EffectSuitesHelper.h b/External/AE SDK/Headers/AE_EffectSuitesHelper.h new file mode 100644 index 00000000..0dc74657 --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectSuitesHelper.h @@ -0,0 +1,152 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/* Adobe Premiere Device Control plug-in definitions */ +/* */ +/* AE_EffectSuitesHelper.h */ +/* */ +/* After Effects 5.0 PICA Suites (extended 3/8/00) */ +/* */ +/* */ +/*******************************************************************/ + +#ifndef _H_AE_EffectSuitesHelper +#define _H_AE_EffectSuitesHelper + +#include +#include + +#include + +#ifdef __cplusplus + extern "C" { +#endif + + +/** PF_HelperSuite1 + + PF_GetCurrentTool() + + retrieves the type of the current tool palette tool selected + +**/ + +#define kPFHelperSuite "AE Plugin Helper Suite" +#define kPFHelperSuiteVersion1 1 +#define kPFHelperSuiteVersion kPFHelperSuiteVersion1 + +enum { + PF_SuiteTool_NONE = 0, + PF_SuiteTool_ARROW, + PF_SuiteTool_ROTATE, + PF_SuiteTool_SHAPE, + PF_SuiteTool_OBSOLETE, + PF_SuiteTool_PEN, + PF_SuiteTool_PAN, + PF_SuiteTool_HAND, + PF_SuiteTool_MAGNIFY, + PF_SuiteTool_ROUNDED_RECT, + PF_SuiteTool_POLYGON, + PF_SuiteTool_STAR, + PF_SuiteTool_PIN, + PF_SuiteTool_PIN_STARCH, + PF_SuiteTool_PIN_DEPTH +}; +typedef A_LegacyEnumType PF_SuiteTool; + + + +typedef struct PF_HelperSuite1 { + // obsolete, use PF_HelperSuite2 + SPAPI PF_Err (*PF_GetCurrentTool)( PF_SuiteTool *toolP ); /* << */ +} PF_HelperSuite1; + + +/** PF_HelperSuite2 + + PF_ParseClipboard() + + causes After Effects to parse the clipboard immediately + +**/ +enum { + PF_ExtendedSuiteTool_NONE = 0, + PF_ExtendedSuiteTool_ARROW, + PF_ExtendedSuiteTool_ROTATE, + PF_ExtendedSuiteTool_PEN_NORMAL, + PF_ExtendedSuiteTool_PEN_ADD_POINT, + PF_ExtendedSuiteTool_PEN_DELETE_POINT, + PF_ExtendedSuiteTool_PEN_CONVERT_POINT, + PF_ExtendedSuiteTool_RECT, + PF_ExtendedSuiteTool_OVAL, + PF_ExtendedSuiteTool_CAMERA_ORBIT_CAMERA, + PF_ExtendedSuiteTool_CAMERA_PAN_CAMERA, //changed from PF_ExtendedSuiteTool_CAMERA_TRACK_XY + PF_ExtendedSuiteTool_CAMERA_DOLLY_CAMERA, //changed from PF_ExtendedSuiteTool_CAMERA_TRACK_Z + PF_ExtendedSuiteTool_PAN_BEHIND, + PF_ExtendedSuiteTool_HAND, + PF_ExtendedSuiteTool_MAGNIFY, + PF_ExtendedSuiteTool_PAINTBRUSH, // All below added in 6.0 + PF_ExtendedSuiteTool_PENCIL, + PF_ExtendedSuiteTool_CLONE_STAMP, + PF_ExtendedSuiteTool_ERASER, + PF_ExtendedSuiteTool_TEXT, + PF_ExtendedSuiteTool_TEXT_VERTICAL, + PF_ExtendedSuiteTool_PIN, + PF_ExtendedSuiteTool_PIN_STARCH, + PF_ExtendedSuiteTool_PIN_DEPTH, + PF_ExtendedSuiteTool_ROUNDED_RECT, + PF_ExtendedSuiteTool_POLYGON, + PF_ExtendedSuiteTool_STAR, + PF_ExtendedSuiteTool_QUICKSELECT, + PF_ExtendedSuiteTool_CAMERA_MAYA, + PF_ExtendedSuiteTool_HAIRBRUSH, + PF_ExtendedSuiteTool_FEATHER, + PF_ExtendedSuiteTool_PIN_BEND, + PF_ExtendedSuiteTool_PIN_ADVANCED, + PF_ExtendedSuiteTool_CAMERA_ORBIT_CURSOR, //new cursors should go at the end to avoid messing with sdk order + PF_ExtendedSuiteTool_CAMERA_ORBIT_SCENE, + PF_ExtendedSuiteTool_CAMERA_PAN_CURSOR, + PF_ExtendedSuiteTool_CAMERA_DOLLY_TOWARDS_CURSOR, + PF_ExtendedSuiteTool_CAMERA_DOLLY_TO_CURSOR, +}; +typedef A_LegacyEnumType PF_ExtendedSuiteTool; + + +#define kPFHelperSuite2 "AE Plugin Helper Suite2" +#define kPFHelperSuite2Version1 1 +#define kPFHelperSuite2Version2 2 +#define kPFHelperSuite2Version kPFHelperSuite2Version2 + +typedef struct PF_HelperSuite2 { + SPAPI PF_Err (*PF_ParseClipboard)( void ); + // Do not call PF_SetCurrentExtendedTool until the UI is built. i.e. Do not call it from + // your plugin init function. + SPAPI PF_Err (*PF_SetCurrentExtendedTool)(PF_ExtendedSuiteTool tool); + SPAPI PF_Err (*PF_GetCurrentExtendedTool)(PF_ExtendedSuiteTool *tool); +} PF_HelperSuite2; + +#ifdef __cplusplus + } +#endif + +#include + + + +#endif diff --git a/External/AE SDK/Headers/AE_EffectSuitesOld.h b/External/AE SDK/Headers/AE_EffectSuitesOld.h new file mode 100644 index 00000000..a3f0d51a --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectSuitesOld.h @@ -0,0 +1,283 @@ +// AE_EffectSuitesOld.h +// +// Copyright (c) 2011 Adobe Systems Inc, Seattle WA +// All Rights Reserved +// +// These are old, deprecated versions of some suites. Please use the ones in AE_EffectSuites.h instead if at all possible. +// +// + +// +#ifndef _H_AE_EffectSuitesOld + #error this file is designed to be included only by AE_EffectSuites.h; do not include directly +#endif + +/** PF_ParamUtilsSuite1 + + PF_UpdateParamUI() + + You can call this function for each param whose UI settings you + want to change when handling a PF_Cmd_USER_CHANGED_PARAM or + PF_Cmd_UPDATE_PARAMS_UI. These changes are cosmetic only, and don't + go into the undo buffer. + + The ONLY fields that can be changed in this way are: + + PF_ParamDef + ui_flags: PF_PUI_ECW_SEPARATOR, PF_PUI_DISABLED only (and PF_PUI_INVISIBLE in Premiere). + ui_width + ui_height + name + flags: PF_ParamFlag_COLLAPSE_TWIRLY only + + PF_ParamDefUnion: + slider_min, slider_max, precision, display_flags of any slider type + + For PF_PUI_STD_CONTROL_ONLY params, you can also change the value field by setting + PF_ChangeFlag_CHANGED_VALUE before returning. But you are not allowed to change + the value during PF_Cmd_UPDATE_PARAMS_UI. + + PF_HaveInputsChangedOverTimeSpan() -- OBSOLETE, see PF_AreStatesIdentical() instead. + This API is handy for effects that do simulation across time, where frame N is + dependent on frame N-1, and you have a cache in your sequence data that needs validating. + When asked to render frame N, assume you have your cached data from frame N-1, you'd call + PF_HaveInputsChangedOverTimeSpan(start=0, duration=N-1) to see if your cache is still valid. + The state of all parameters (except those with PF_ParamFlag_EXCLUDE_FROM_HAVE_INPUTS_CHANGED + set), including layer parameters (including param[0]) are checked over the passed time + span. This is done efficiently, as the change tracking is done with timestamps. + + Requires PF_OutFlag2_AUTOMATIC_WIDE_TIME_INPUT to be set by the effect. If validating a + cache for use during a render, the call to PF_HaveInputsChangedOverTimeSpan() must + happen during one of the rendering PF_Cmds (PF_Cmd_FRAME_SETUP, PF_Cmd_RENDER, + PF_Cmd_FRAME_SETDOWN,PF_Cmd_SMART_PRE_RENDER, PF_Cmd_SMART_RENDER). + + If *changedPB is returned FALSE, you can safely use your cache, AND the internal + caching system will assume that you have a temporal dependency on the passed range, + so if something changes upstream, AE's caches will be properly invalidated. + +**/ + +#define kPFParamUtilsSuiteVersion1 2 /* 64-bit version frozen in AE 10.0 */ + + +typedef struct PF_ParamUtilsSuite1 { + + SPAPI PF_Err (*PF_UpdateParamUI)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + const PF_ParamDef *defP); + + // The next 3 methods have had "Obsolete" added to their name to intentionally + // break compile compatibility. They continue to work and are binary compatible, but + // are more conservative and inefficient than in previous versions. Please + // switch to the current version of this suite for maximum benefit. + SPAPI PF_Err (*PF_GetCurrentStateObsolete)( + PF_ProgPtr effect_ref, + PF_State *stateP); /* << */ + + SPAPI PF_Err (*PF_HasParamChangedObsolete)( + PF_ProgPtr effect_ref, + const PF_State *stateP, // has param changed since this state was grabbed + PF_ParamIndex param_index, // ignored, always treated as PF_ParamIndex_CHECK_ALL_HONOR_EXCLUDE - go use the modern version of this suite! + // have changed including layer param[0]; + // pass PF_ParamIndex_CHECK_ALL_EXCEPT_LAYER_PARAMS to see + // if any non-layer param values have changed + PF_Boolean *changedPB); /* << */ + + SPAPI PF_Err (*PF_HaveInputsChangedOverTimeSpanObsolete)( // see comment above + PF_ProgPtr effect_ref, + const PF_State *stateP, // has param changed since this state was grabbed + const A_Time *startPT0, // NULL for both start & duration mean at any time + const A_Time *durationPT0, + PF_Boolean *changedPB); /* << */ + + SPAPI PF_Err (*PF_IsIdenticalCheckout)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + A_long what_time1, + A_long time_step1, + A_u_long time_scale1, + A_long what_time2, + A_long time_step2, + A_u_long time_scale2, + PF_Boolean *identicalPB); /* << */ + + + SPAPI PF_Err (*PF_FindKeyframeTime)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + A_long what_time, + A_u_long time_scale, + PF_TimeDir time_dir, + PF_Boolean *foundPB, /* << */ + PF_KeyIndex *key_indexP0, /* << */ + A_long *key_timeP0, /* << */ // you can ask for either: + A_u_long *key_timescaleP0); /* << */ // time×cale OR neither + + SPAPI PF_Err (*PF_GetKeyframeCount)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex *key_countP); /* << */ // returns PF_KeyIndex_NONE for constant + + SPAPI PF_Err (*PF_CheckoutKeyframe)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex key_index, // zero-based + A_long *key_timeP0, /* << */ // you can ask for either: + A_u_long *key_timescaleP0, /* << */ // time×cale OR neither + PF_ParamDef *paramP0); /* << */ + + SPAPI PF_Err (*PF_CheckinKeyframe)( + PF_ProgPtr effect_ref, + PF_ParamDef *paramP); + + SPAPI PF_Err (*PF_KeyIndexToTime)( + PF_ProgPtr effect_ref, + PF_ParamIndex param_index, + PF_KeyIndex key_indexP, /* >> */ + A_long *key_timeP, /* >> */ + A_u_long *key_timescaleP); /* << */ + +} PF_ParamUtilsSuite1; + + +/* -------------------------------------------------------------------- */ + +#define kPFAppSuite "PF AE App Suite" +#define kPFAppSuiteVersion4 6 /* frozen in AE 10.0 */ + + +typedef struct PFAppSuite4 { /* frozen in AE 10.0 */ + + SPAPI PF_Err (*PF_AppGetBgColor)( PF_App_Color *bg_colorP); /* << */ + + SPAPI PF_Err (*PF_AppGetColor)( PF_App_ColorType color_type, /* >> */ + PF_App_Color *app_colorP); /* << */ + + SPAPI PF_Err (*PF_GetPersonalInfo)( PF_AppPersonalTextInfo *ptiP); /* << */ + + SPAPI PF_Err (*PF_GetFontStyleSheet)(PF_FontStyleSheet sheet, /* >> */ + PF_FontName *font_nameP0, /* << */ + A_short *font_numPS0, /* << */ + A_short *sizePS0, /* << */ + A_short *stylePS0); /* << */ + + // normally the effect should respond to PF_Event_ADJUST_CURSOR, but for changing + // the cursor during modal situations, you can use this API + SPAPI PF_Err (*PF_SetCursor)( PF_CursorType cursor); /* >> */ + + // as of AE6.5, this function returns TRUE if installed app is the render engine (as before) + // OR if the app is being run with no UI OR if the app is in watch-folder mode + SPAPI PF_Err (*PF_IsRenderEngine)( PF_Boolean *render_enginePB); /* >> */ + + // will return PF_Interrupt_CANCEL if user cancels dialog. color is in project working colorspace + // if use_ws_to_monitor_xformB is TRUE, then the color chips and pickers are run through the + // working space -> display transformation while interacting. set FALSE to have the raw RGB values + // pushed directly to the screen. TRUE is intended for when the returned color is used in rendering, FALSE + // is intended if the color is for UI elements or other nonrenderables. + + SPAPI PF_Err (*PF_AppColorPickerDialog)( const A_char *dialog_titleZ0, /* >> */ + const PF_PixelFloat *sample_colorP, /* >> */ + PF_Boolean use_ws_to_monitor_xformB, /* >> */ + PF_PixelFloat *new_colorP); /* << */ + + // for use only when processing an event in an effect with custom UI + SPAPI PF_Err (*PF_GetMouse)(PF_Point* pointP); + + // NEW api in version 4. + // Use it to invalidate rect of current window being drawn. Invalidated rect will be updated during idle time. + // Specify PF_EO_UPDATE_NOW out flag to update the window immediately after the event returns. Specify rectP0 + // as NULL to invalidate the whole window. + // Only valid while handling an non-draw event in the effect. + SPAPI PF_Err (*PF_InvalidateRect)( const PF_ContextH contextH, + const PF_Rect* rectP0); + + // only safe to use when processing an event from a custom UI event. + SPAPI PF_Err (*PF_ConvertLocalToGlobal)(const PF_Point* localP, PF_Point* globalP); + + // this will return a deep color if over a content window containing 32bpc. + // eyeSize == 0 will use the application pref as set by the user. + SPAPI PF_Err (*PF_GetColorAtGlobalPoint)(const PF_Point* globalP, A_short eyeSize, PF_EyeDropperSampleMode mode, PF_PixelFloat* outColorP); + +} PFAppSuite4; + + +/* -------------------------------------------------------------------- */ + + +#define kPFAppSuiteVersion5 7 /* frozen in AE 12.0 */ + +typedef struct PFAppSuite5 { /* frozen in AE 12.0 */ + + SPAPI PF_Err (*PF_AppGetBgColor)( PF_App_Color *bg_colorP); /* << */ + + SPAPI PF_Err (*PF_AppGetColor)( PF_App_ColorType color_type, /* >> */ + PF_App_Color *app_colorP); /* << */ + + // Provides the active displayed language of AE UI so plugin can match. e.g. "en_US" + SPAPI PF_Err (*PF_AppGetLanguage)( A_char *lang_tagZ); /* << up to PF_APP_LANG_TAG_SIZE-1 */ + + SPAPI PF_Err (*PF_GetPersonalInfo)( PF_AppPersonalTextInfo *ptiP); /* << */ + + SPAPI PF_Err (*PF_GetFontStyleSheet)(PF_FontStyleSheet sheet, /* >> */ + PF_FontName *font_nameP0, /* << */ + A_short *font_numPS0, /* << */ + A_short *sizePS0, /* << */ + A_short *stylePS0); /* << */ + + // normally the effect should respond to PF_Event_ADJUST_CURSOR, but for changing + // the cursor during modal situations, you can use this API + SPAPI PF_Err (*PF_SetCursor)( PF_CursorType cursor); /* >> */ + + // as of AE6.5, this function returns TRUE if installed app is the render engine (as before) + // OR if the app is being run with no UI OR if the app is in watch-folder mode + SPAPI PF_Err (*PF_IsRenderEngine)( PF_Boolean *render_enginePB); /* >> */ + + // will return PF_Interrupt_CANCEL if user cancels dialog. color is in project working colorspace + // if use_ws_to_monitor_xformB is TRUE, then the color chips and pickers are run through the + // working space -> display transformation while interacting. set FALSE to have the raw RGB values + // pushed directly to the screen. TRUE is intended for when the returned color is used in rendering, FALSE + // is intended if the color is for UI elements or other nonrenderables. + + SPAPI PF_Err (*PF_AppColorPickerDialog)( const A_char *dialog_titleZ0, /* >> */ + const PF_PixelFloat *sample_colorP, /* >> */ + PF_Boolean use_ws_to_monitor_xformB, /* >> */ + PF_PixelFloat *new_colorP); /* << */ + + // for use only when processing an event in an effect with custom UI + SPAPI PF_Err (*PF_GetMouse)(PF_Point* pointP); + + // NEW api in version 4. + // Use it to invalidate rect of current window being drawn. Invalidated rect will be updated during idle time. + // Specify PF_EO_UPDATE_NOW out flag to update the window immediately after the event returns. Specify rectP0 + // as NULL to invalidate the whole window. + // Only valid while handling an non-draw event in the effect. + SPAPI PF_Err (*PF_InvalidateRect)( const PF_ContextH contextH, + const PF_Rect* rectP0); + + // only safe to use when processing an event from a custom UI event. + SPAPI PF_Err (*PF_ConvertLocalToGlobal)(const PF_Point* localP, PF_Point* globalP); + + // this will return a deep color if over a content window containing 32bpc. + // eyeSize == 0 will use the application pref as set by the user. + SPAPI PF_Err (*PF_GetColorAtGlobalPoint)(const PF_Point* globalP, A_short eyeSize, PF_EyeDropperSampleMode mode, PF_PixelFloat* outColorP); + + +} PFAppSuite5; + +/* -------------------------------------------------------------------- */ + +#define kPFEffectCustomUISuite "PF Effect Custom UI Suite" +#define kPFEffectCustomUISuiteVersion1 1 /* frozen in 10.0 */ + +// This suite provides basic apis needed for custom ui drawing in any window (Comp/Layer/ECW) + +typedef struct PF_EffectCustomUISuite1 { + + // Get the drawing reference for custom ui drawing. + SPAPI PF_Err (*PF_GetDrawingReference)( const PF_ContextH effect_contextH, /* >> */ + DRAWBOT_DrawRef *referenceP0); /* << */ + +} PF_EffectCustomUISuite1; + + diff --git a/External/AE SDK/Headers/AE_EffectUI.h b/External/AE SDK/Headers/AE_EffectUI.h new file mode 100644 index 00000000..18371a00 --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectUI.h @@ -0,0 +1,580 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/** AE_EffectUI.h + + Part of the After Effects SDK. + + Describes structures and callbacks used by plug-ins with Custom + composition window and effect palette UIs. + +**/ + +#ifndef _H_AE_EffectUI +#define _H_AE_EffectUI + + +#include + +#ifdef ADOBE_SDK_INTERNAL + #include +#else + #include +#endif + + +#include + + + + + +#ifdef __cplusplus + extern "C" { +#endif + + +/** PF_CustomFlags + ** + ** kinds of events and actions the custom parameter type might require + ** + **/ + +enum { + PF_CustomEFlag_NONE = 0, + + PF_CustomEFlag_COMP = 1L << 0, + PF_CustomEFlag_LAYER = 1L << 1, + PF_CustomEFlag_EFFECT = 1L << 2, + PF_CustomEFlag_PREVIEW = 1L << 3 +}; +typedef A_long PF_CustomEventFlags; + + +enum { + PF_Window_NONE = -1, + PF_Window_COMP, + PF_Window_LAYER, + PF_Window_EFFECT, + PF_Window_PREVIEW +}; +typedef A_long PF_WindowType; + + +/* $$$ document! + + new context -> evt extra has context and type, but everything else should be ignored + fill in plugin_state[4] + close context -> + all other evts -> params set up, but no layers + +*/ +enum { + PF_Event_NONE = -1, + PF_Event_NEW_CONTEXT, + PF_Event_ACTIVATE, + PF_Event_DO_CLICK, + PF_Event_DRAG, + PF_Event_DRAW, + PF_Event_DEACTIVATE, + PF_Event_CLOSE_CONTEXT, + PF_Event_IDLE, + PF_Event_KEYDOWN_OBSOLETE, // As of AE 7, this is no longer used. + PF_Event_ADJUST_CURSOR, // new for AE 4.0, sent when mouse moves over custom UI + PF_Event_KEYDOWN, // new for AE 7.0, replaces previous keydown event with cross platform codes and unicode characters. + PF_Event_MOUSE_EXITED, // new for AE 11.0, notification that the mouse is no longer over a specific view (layer or comp only). + + PF_Event_NUM_EVENTS +}; +typedef A_long PF_EventType; + + +enum { + PF_Cursor_NONE = 0, // see comment in PF_AdjustCursorEventInfo + PF_Cursor_CUSTOM, // means effect set cursor itself with platform-specific calls + PF_Cursor_ARROW, + PF_Cursor_HOLLOW_ARROW, + PF_Cursor_WATCH_N_WAIT, // watch on the Mac, wait (hourglass) on Windows + PF_Cursor_MAGNIFY, + PF_Cursor_MAGNIFY_PLUS, + PF_Cursor_MAGNIFY_MINUS, + PF_Cursor_CROSSHAIRS, + PF_Cursor_CROSS_RECT, + PF_Cursor_CROSS_OVAL, + PF_Cursor_CROSS_ROTATE, + PF_Cursor_PAN, + PF_Cursor_EYEDROPPER, + PF_Cursor_HAND, + PF_Cursor_PEN, + PF_Cursor_PEN_ADD, + PF_Cursor_PEN_DELETE, + PF_Cursor_PEN_CLOSE, + PF_Cursor_PEN_DRAG, + PF_Cursor_PEN_CORNER, + PF_Cursor_RESIZE_VERTICAL, + PF_Cursor_RESIZE_HORIZONTAL, + PF_Cursor_FINGER_POINTER, + PF_Cursor_SCALE_HORIZ, + PF_Cursor_SCALE_DIAG_LR, + PF_Cursor_SCALE_VERT, + PF_Cursor_SCALE_DIAG_UR, + PF_Cursor_ROT_TOP, + PF_Cursor_ROT_TOP_RIGHT, + PF_Cursor_ROT_RIGHT, + PF_Cursor_ROT_BOT_RIGHT, + PF_Cursor_ROT_BOTTOM, + PF_Cursor_ROT_BOT_LEFT, + PF_Cursor_ROT_LEFT, + PF_Cursor_ROT_TOP_LEFT, + PF_Cursor_DRAG_CENTER, + PF_Cursor_COPY, + PF_Cursor_ALIAS, + PF_Cursor_CONTEXT, + PF_Cursor_SLIP_EDIT, + PF_Cursor_CAMERA_ORBIT_CAMERA, //changed from PF_Cursor_ORBIT + PF_Cursor_CAMERA_PAN_CAMERA, //changed from PF_Cursor_TRACK_XY + PF_Cursor_CAMERA_DOLLY_CAMERA, //changed from PF_Cursor_TRACK_Z + PF_Cursor_ROTATE_X, + PF_Cursor_ROTATE_Y, + PF_Cursor_ROTATE_Z, + PF_Cursor_ARROW_X, + PF_Cursor_ARROW_Y, + PF_Cursor_ARROW_Z, + PF_Cursor_SCISSORS, + PF_Cursor_FAT_EYEDROPPER, + PF_Cursor_FINGER_POINTER_SCRUB, + PF_Cursor_HORZ_I_BEAM, + PF_Cursor_VERT_I_BEAM, + PF_Cursor_HORZ_BOX_I_BEAM, + PF_Cursor_VERT_BOX_I_BEAM, + PF_Cursor_I_BEAM_0, + PF_Cursor_I_BEAM_11_25, + PF_Cursor_I_BEAM_22_5, + PF_Cursor_I_BEAM_33_75, + PF_Cursor_I_BEAM_45, + PF_Cursor_I_BEAM_56_25, + PF_Cursor_I_BEAM_67_5, + PF_Cursor_I_BEAM_78_75, + PF_Cursor_I_BEAM_90, + PF_Cursor_I_BEAM_101_25, + PF_Cursor_I_BEAM_112_5, + PF_Cursor_I_BEAM_123_75, + PF_Cursor_I_BEAM_135, + PF_Cursor_I_BEAM_146_25, + PF_Cursor_I_BEAM_157_5, + PF_Cursor_I_BEAM_168_75, + PF_Cursor_CROSSHAIRS_PICKUP, + PF_Cursor_ARROW_SELECTOR, + PF_Cursor_LAYER_MOVE, + PF_Cursor_MOVE_START_MARGIN, + PF_Cursor_MOVE_END_MARGIN, + PF_Cursor_SOLID_ARROW, + PF_Cursor_HOLLOW_ARROW_PLUS, + PF_Cursor_BRUSH_CENTER, + PF_Cursor_CLONE_SOURCE, + PF_Cursor_CLONE_SOURCE_OFFSET, + PF_Cursor_HOLLOW_LAYER_MOVE, + PF_Cursor_MOVE_TRACK_SEARCH_REGION, + PF_Cursor_MOVE_TRACK_ATTACH_POINT, + PF_Cursor_COLOR_CUBE_CROSS_SECTION, + PF_Cursor_PEN_CORNER_ROTOBEZ_TENSION, + PF_Cursor_PIN, + PF_Cursor_PIN_ADD, + PF_Cursor_MESH_ADD, + PF_Cursor_MARQUEE, + PF_Cursor_CROSS_ROUNDED_RECT, + PF_Cursor_CROSS_POLYGON, + PF_Cursor_CROSS_STAR, + PF_Cursor_PIN_STARCH, + PF_Cursor_PIN_OVERLAP, + PF_Cursor_STOPWATCH, + PF_Cursor_DRAG_DOT, + PF_Cursor_DRAG_CIRCLE, + PF_Cursor_DIRECT_SELECT, + PF_Cursor_DRAG_COPY_MOVE, + PF_Cursor_DRAG_COPY_ROTATE, + PF_Cursor_CAMERA_MAYA, //Changed from PF_Cursor_MAYA + PF_Cursor_RESIZE_HORIZONTAL_LEFT, + PF_Cursor_RESIZE_HORIZONTAL_RIGHT, + PF_Cursor_FEATHER, + PF_Cursor_FEATHER_ADD, + PF_Cursor_FEATHER_DELETE, + PF_Cursor_FEATHER_MOVE, + PF_Cursor_FEATHER_TENSION, + PF_Cursor_FEATHER_MARQUEE, + PF_Cursor_LASSO_ARROW, + PF_Cursor_DRAG_NO_DROP, + PF_Cursor_DRAG_COPY, + PF_Cursor_DRAG_LINK, + PF_Cursor_PIN_BEND, + PF_Cursor_PIN_ADVANCED, + PF_Cursor_CAMERA_ORBIT_CURSOR, + PF_Cursor_CAMERA_ORBIT_SCENE, + PF_Cursor_CAMERA_PAN_CURSOR, + PF_Cursor_CAMERA_DOLLY_TOWARDS_CURSOR, + PF_Cursor_CAMERA_DOLLY_TO_CURSOR, + + PF_MAX_CURSOR_PLUS_ONE +}; +typedef A_long PF_CursorType; + + +enum { + PF_Mod_NONE = 0x0000, + PF_Mod_CMD_CTRL_KEY = 0x0100, // cmd on Mac, ctrl on Windows + PF_Mod_SHIFT_KEY = 0x0200, + PF_Mod_CAPS_LOCK_KEY = 0x0400, + PF_Mod_OPT_ALT_KEY = 0x0800, // option on Mac, alt on Windows + PF_Mod_MAC_CONTROL_KEY = 0x1000 // Mac control key only +}; +typedef A_long PF_Modifiers; + + +typedef struct { + PF_Point screen_point; /* >> where the mouse is right now */ + PF_Modifiers modifiers; /* >> modifiers right now */ + PF_CursorType set_cursor; /* << set this to your desired cursor, or PF_Cursor_CUSTOM if you + set the cursor yourself, or PF_Cursor_NONE if you don't + want to override the cursor (i.e. the app will set the + cursor however it wants) */ +} PF_AdjustCursorEventInfo; + +typedef struct { + A_u_long when; + PF_Point screen_point; + A_long num_clicks; + PF_Modifiers modifiers; + A_intptr_t continue_refcon[4]; /* <> if send_drag is TRUE, set this */ + PF_Boolean send_drag; /* << set this from a do_click to get a drag */ + PF_Boolean last_time; /* >> set the last time you get a drag */ +} PF_DoClickEventInfo; + + +typedef struct { + PF_UnionableRect update_rect; // in window's coordinate system + A_long depth; +} PF_DrawEventInfo; + + +typedef struct { + A_u_long when; + PF_Point screen_point; + A_long char_code; + A_long key_code; + PF_Modifiers modifiers; +} PF_KeyDownEventObsolete; // As of AE 7, this is no longer used. + + +typedef A_u_long PF_KeyCode; // For printable characters, we use the unshifted upper case version (A not a, 7 not &). +typedef A_u_short PF_ControlCode; + +typedef struct { + A_u_long when; + PF_Point screen_point; + PF_KeyCode keycode; // as of AE 7, this is either a control code, or character code + PF_Modifiers modifiers; + +} PF_KeyDownEvent; + + +enum { + PF_KEYCODE_FLAG_Printable = 1 << 31, // a printable key, otherwise a control code like page up + PF_KEYCODE_FLAG_Extended = 1 << 30 // an alternate key, typically on the numeric keypad. +}; + +#define PF_GENERATE_KEYBOARD_CODE_VALUE(CODE_VALUE, FLAGS) (((CODE_VALUE) & 0xFFFF) | (FLAGS)) +#define PF_GENERATE_KEYBOARD_CODE_VALUE_FROM_CHARACTER(CHAR) PF_GENERATE_KEYBOARD_CODE_VALUE(CHAR, PF_KEYCODE_FLAG_Printable) +#define PF_GENERATE_KEYBOARD_CODE_VALUE_FROM_CHARACTER_EXTENDED(CHAR) PF_GENERATE_KEYBOARD_CODE_VALUE(CHAR, PF_KEYCODE_FLAG_Printable | PF_KEYCODE_FLAG_Extended) +#define PF_GENERATE_KEYBOARD_CODE_VALUE_FROM_CONTROL_CODE(CODE) PF_GENERATE_KEYBOARD_CODE_VALUE(CODE, 0) +#define PF_GENERATE_KEYBOARD_CODE_VALUE_FROM_CONTROL_CODE_EXTENDED(CODE) PF_GENERATE_KEYBOARD_CODE_VALUE(CODE, PF_KEYCODE_FLAG_Extended) + +#define PF_KEYCODE_IS_PRINTABLE(_KEY_CODE) (((_KEY_CODE) & PF_KEYCODE_FLAG_Printable ) != 0) +#define PF_KEYCODE_IS_EXTENDED(_KEY_CODE) (((_KEY_CODE) & PF_KEYCODE_FLAG_Extended ) != 0) + +#define PF_KEYCODE_GET_SHORTCUT_CHARACTER(_KEY_CODE) (PF_KEYCODE_IS_PRINTABLE(_KEY_CODE)) ? ((_KEY_CODE) & 0xFFFF) : 0 +#define PF_KEYCODE_GET_CONTROL_CODE(_KEY_CODE) (!PF_KEYCODE_IS_PRINTABLE(_KEY_CODE)) ? ((_KEY_CODE) & 0xFFFF) : 0 + +enum { + PF_ControlCode_Unknown = (PF_ControlCode)0xFFFF, + + PF_ControlCode_Space = 1, + PF_ControlCode_Backspace, + PF_ControlCode_Tab, + PF_ControlCode_Return, + PF_ControlCode_Enter, + + PF_ControlCode_Escape, + + PF_ControlCode_F1, + PF_ControlCode_F2, + PF_ControlCode_F3, + PF_ControlCode_F4, + PF_ControlCode_F5, + PF_ControlCode_F6, + PF_ControlCode_F7, + PF_ControlCode_F8, + PF_ControlCode_F9, + PF_ControlCode_F10, + PF_ControlCode_F11, + PF_ControlCode_F12, + PF_ControlCode_F13, + PF_ControlCode_F14, + PF_ControlCode_F15, + PF_ControlCode_F16, + PF_ControlCode_F17, + PF_ControlCode_F18, + PF_ControlCode_F19, + PF_ControlCode_F20, + PF_ControlCode_F21, + PF_ControlCode_F22, + PF_ControlCode_F23, + PF_ControlCode_F24, + + PF_ControlCode_PrintScreen, + PF_ControlCode_ScrollLock, + PF_ControlCode_Pause, + + PF_ControlCode_Insert, + PF_ControlCode_Delete, + PF_ControlCode_Home, + PF_ControlCode_End, + PF_ControlCode_PageUp, + PF_ControlCode_PageDown, + PF_ControlCode_Help, + PF_ControlCode_Clear, + + PF_ControlCode_Left, + PF_ControlCode_Right, + PF_ControlCode_Up, + PF_ControlCode_Down, + + PF_ControlCode_NumLock, + + PF_ControlCode_Command, + PF_ControlCode_Option, + PF_ControlCode_Alt = PF_ControlCode_Option, + PF_ControlCode_Control, + PF_ControlCode_Shift, + PF_ControlCode_CapsLock, + + PF_ControlCode_ContextMenu +}; + + +typedef union { + PF_DoClickEventInfo do_click; // also drag + PF_DrawEventInfo draw; + PF_KeyDownEvent key_down; + PF_AdjustCursorEventInfo adjust_cursor; + + // add other event types here + +} PF_EventUnion; + +#if defined(A_INTERNAL) && defined (__cplusplus) + class FLT_FCSeqSpec; + typedef FLT_FCSeqSpec *PF_ContextRefcon; +#else + typedef struct _PF_ContextRefcon *PF_ContextRefcon; +#endif + +#define PF_CONTEXT_MAGIC 0x05ea771e +typedef struct { + A_u_long magic; + PF_WindowType w_type; + PF_ContextRefcon reserved_flt; + A_intptr_t plugin_state[4]; // plug-in specific data + DRAWBOT_DrawRef reserved_drawref; + void *reserved_paneP; + void *reserved_job_manageP; // used for managing async job requests for UI in the context of Effect pane custom UI +} PF_Context, *PF_ContextPtr, **PF_ContextH; + +typedef enum { + PenTip, + PenEraser +} PF_StylusTool; + +typedef struct { + // only applies when stylus_dataB == true; + A_FpShort stylus_tiltxF; // -1.0 to 1.0 0.0 == vertical + A_FpShort stylus_tiltyF; // -1.0 to 1.0 0.0 == vertical + A_FpShort stylus_pressureF; // 0.0 to 1.0 1.0 == full pressure + A_FpShort stylus_wheelF; // -1.0 to 1.0 0.0 == none +} PF_StylusEventInfo; + +typedef struct PF_PointerEventInfo { + A_FpLong when_secondsF; + PF_Point screen_point; + A_short num_clicksS; + A_long mod_keysL; + + PF_StylusTool stylus_tool; // set to PenTip when using mouse + PF_Boolean stylus_extra_dataB; + PF_StylusEventInfo stylus_extra_data; // only valid when stylus_extra_dataB == true +} PF_PointerEventInfo; + +typedef struct { + void *refcon; // front-end's refcon + + PF_Err (*layer_to_comp)(void *refcon, /* >> */ + PF_ContextH context, /* >> */ + A_long curr_time, /* >> */ + A_long time_scale, /* >> */ + PF_FixedPoint *pt); /* << */ + + PF_Err (*comp_to_layer)(void *refcon, /* >> */ + PF_ContextH context, /* >> */ + A_long curr_time, /* >> */ + A_long time_scale, /* >> */ + PF_FixedPoint *pt); /* << */ + + PF_Err (*get_comp2layer_xform)(void *refcon, /* >> */ + PF_ContextH context, /* >> */ + A_long curr_time, /* >> */ + A_long time_scale, /* >> */ + A_long *exists, /* << non-zero if exists */ + PF_FloatMatrix *c2l); /* << */ + + PF_Err (*get_layer2comp_xform)(void *refcon, /* >> */ + PF_ContextH context, /* >> */ + A_long curr_time, /* >> */ + A_long time_scale, /* >> */ + PF_FloatMatrix *l2c); /* << */ + + PF_Err (*source_to_frame)(void *refcon, PF_ContextH context, PF_FixedPoint *pt); + PF_Err (*frame_to_source)(void *refcon, PF_ContextH context, PF_FixedPoint *pt); + + PF_Err (*info_draw_color)(void *refcon, PF_Pixel color); + + // 2 lines of text, same as calling PF_InfoDrawText3( line1Z0, line2Z0, NULL) + PF_Err (*info_draw_text)(void *refcon, const A_char *text1Z0, const A_char *text2Z0); // Cstrings + + // Due to this structure's containment within PF_EventExtra, + // we are unable to add new functions to this structure in order + // to remain backwards compatible. In other words, do not add any + // new functions here, add them to the PF_AdvAppSuite1 suite + // within AE_AdvEffectSuites.h. -jja 10-24-2000 + +} PF_EventCallbacks, *PF_EventCallbacksPtr; + +enum { + PF_EA_NONE = 0, + PF_EA_PARAM_TITLE, + PF_EA_CONTROL +}; +typedef A_long PF_EffectArea; + +typedef struct { + PF_ParamIndex index; + PF_EffectArea area; + PF_UnionableRect current_frame; // full frame of the current area + PF_UnionableRect param_title_frame; // full frame of the param title area + A_long horiz_offset; // h offset to draw into title +} PF_EffectWindowInfo; + +enum { + PF_EO_NONE = 0, + PF_EO_HANDLED_EVENT = (1L << 0), + PF_EO_ALWAYS_UPDATE = (1L << 1), //rerender the comp + PF_EO_NEVER_UPDATE = (1L << 2), //do not rerender the comp + PF_EO_UPDATE_NOW = (1L << 3) //update the view immediately after the event returns when using PF_InvalidateRect +}; +typedef A_long PF_EventOutFlags; + +enum { + PF_EI_NONE = 0, + PF_EI_DONT_DRAW = 1L << 0 // don't draw controls in comp or layer window +}; +typedef A_long PF_EventInFlags; + +// this info is passed for ALL event types, except those in the Effect Control Window +// in ECW, you get the PF_EffectWindowInfo, during all events +typedef struct { + PF_UnionableRect port_rect; +} PF_ItemWindowInfo; + +/* + to know what union to take, look in + (**contextH).w_type. if == effect win, you get effect win, else you get item win +*/ +typedef union { + PF_EffectWindowInfo effect_win; /* >> only for Effect window do_click, draw, and adjust-cursor */ + PF_ItemWindowInfo item_win; /* >> comp or layer */ +} PF_WindowUnion; + +// uncomment if you want to get the port rect during most events +// #define PF_USE_NEW_WINDOW_UNION +typedef struct { + PF_ContextH contextH; /* >> */ + PF_EventType e_type; /* >> */ + PF_EventUnion u; /* >> based on e_type */ + + #ifdef PF_USE_NEW_WINDOW_UNION + PF_WindowUnion window_union; /* >> union of window-specific handy information */ + #else + PF_EffectWindowInfo effect_win; /* >> only for Effect window do_click, draw, and adjust-cursor */ + #endif + + PF_EventCallbacks cbs; /* >> not for new_context or close_context */ + PF_EventInFlags evt_in_flags; /* >> */ + PF_EventOutFlags evt_out_flags; /* << */ +} PF_EventExtra; + +enum { + PF_UIAlignment_NONE = 0, // No values other than PF_UIAlignment_NONE are honored, in AE or PPro. + PF_UIAlignment_TOP = 1L << 0, + PF_UIAlignment_LEFT = 1L << 1, + PF_UIAlignment_BOTTOM = 1L << 2, + PF_UIAlignment_RIGHT = 1L << 3 +}; + +typedef A_long PF_UIAlignment; + +struct _PF_CustomUIInfo { + + A_long reserved; + PF_CustomEventFlags events; + + A_long comp_ui_width; + A_long comp_ui_height; + PF_UIAlignment comp_ui_alignment; // unused + + A_long layer_ui_width; + A_long layer_ui_height; + PF_UIAlignment layer_ui_alignment; // unused + + A_long preview_ui_width; // unused + A_long preview_ui_height; // unused + PF_UIAlignment preview_ui_alignment; // unused + +}; + + +#ifdef __cplusplus +} +#endif + + +#include + + + +#endif /* _H_AE_EffectUI */ diff --git a/External/AE SDK/Headers/AE_EffectVers.h b/External/AE SDK/Headers/AE_EffectVers.h new file mode 100644 index 00000000..f9ab54a3 --- /dev/null +++ b/External/AE SDK/Headers/AE_EffectVers.h @@ -0,0 +1,17 @@ +#ifndef _H_AE_EffectVers +#define _H_AE_EffectVers + + +#define AEFX_API_VERSION 8 +#define AEFX_API_SUBVERS ' ' +#define AEFXp_CODE_VERSION 0 // no longer user, we have p4 now + +// these are here as copies -> when these change in AE_Effect.h, AEFX won't compile +// when they change, decide how to update above versions +// NOTE: this file is included by effect\shared\AEFX_PiPL.r and these versions are +// used when building PiPLs +#define PF_PLUG_IN_VERSION 13 // auto-set by prep_codeline_for_release.py, adjust comment if manually edit is okay +#define PF_PLUG_IN_SUBVERS 27 // manually set for SDK changes to allow more than 32 max threads for PF_Iterate + + +#endif diff --git a/External/AE SDK/Headers/AE_GeneralPlug.h b/External/AE SDK/Headers/AE_GeneralPlug.h new file mode 100644 index 00000000..ea0f7de9 --- /dev/null +++ b/External/AE SDK/Headers/AE_GeneralPlug.h @@ -0,0 +1,5779 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_AE_PlugGeneral +#define _H_AE_PlugGeneral + +#include +#include +#include +#include +#include + +#include +#include +#include +#ifdef AEGP_INTERNAL +#include +#endif +#include +#include + + +#include + +#define AEGP_PLUGIN_TYPE 'AEgx' + +#define AEGP_INITFUNC_MAJOR_VERSION 1 +#define AEGP_INITFUNC_MINOR_VERSION 9 + +#ifndef AEGP_INTERNAL + typedef struct _AEGP_Project **AEGP_ProjectH; + typedef struct _AEGP_Item **AEGP_ItemH; + typedef struct _AEGP_Comp **AEGP_CompH; + typedef struct _AEGP_Footage **AEGP_FootageH; + typedef struct _AEGP_Layer **AEGP_LayerH; + typedef struct _AEGP_Effect **AEGP_EffectRefH; + typedef struct _AEGP_Mask **AEGP_MaskRefH; + typedef struct _AEGPp_Stream **AEGP_StreamRefH; + typedef struct _AEGP_LayerContext **AEGP_RenderLayerContextH; + typedef struct _AEGP_PersistentBlob **AEGP_PersistentBlobH; + typedef struct _AEGP_MaskOutline **AEGP_MaskOutlineValH; + typedef struct _AEGP_Collection **AEGP_CollectionH; + typedef struct _AEGP_Collection2 **AEGP_Collection2H; + typedef struct _AEGP_SoundData **AEGP_SoundDataH; + typedef struct _AEGP_AddKeyframesInfo **AEGP_AddKeyframesInfoH; + typedef struct _AEGP_RenderReceipt **AEGP_RenderReceiptH; + typedef struct _AEGP_World **AEGP_WorldH; + typedef struct _AEGP_RenderOptions **AEGP_RenderOptionsH; + typedef struct _AEGP_LayerRenderOptions **AEGP_LayerRenderOptionsH; + typedef struct _AEGP_FrameReceipt **AEGP_FrameReceiptH; + typedef struct _AEGP_RenderQueueItem **AEGP_RQItemRefH; + typedef struct _AEGP_OutputModule **AEGP_OutputModuleRefH; + typedef struct _AEGP_TextDocument **AEGP_TextDocumentH; + typedef struct _AEGP_MarkerVal *AEGP_MarkerValP; + // AEGP_ConstMarkerValP is defined in AE_IO.h; + typedef struct _AEGP_TextOutlines **AEGP_TextOutlinesH; + typedef struct _AEGP_TimeStamp{A_char a[4];} AEGP_TimeStamp; + typedef struct _AEGP_PlatformWorld **AEGP_PlatformWorldH; + typedef struct _AEGP_ItemView *AEGP_ItemViewP; + typedef struct _AEGP_ColorProfile *AEGP_ColorProfileP; + typedef const struct _AEGP_ColorProfile *AEGP_ConstColorProfileP; +#endif + +typedef A_long AEGP_SubLayerIndex; + +#define AEGP_SubLayer_ALL (-1L) + +typedef A_long AEGP_PluginID; +// define a _AEGP_Refcon1 struct to use a typesafe refcon. +typedef struct _AEGP_GlobalRefcon *AEGP_GlobalRefcon; +typedef struct _AEGP_CommandRefcon *AEGP_CommandRefcon; +typedef struct _AEGP_UpdateMenuRefcon *AEGP_UpdateMenuRefcon; +typedef struct _AEGP_DeathRefcon *AEGP_DeathRefcon; +typedef struct _AEGP_VersionRefcon *AEGP_VersionRefcon; +typedef struct _AEGP_AboutStringRefcon *AEGP_AboutStringRefcon; +typedef struct _AEGP_AboutRefcon *AEGP_AboutRefcon; +typedef struct _AEGP_AsyncFrameRequestRefcon *AEGP_AsyncFrameRequestRefcon; +typedef struct _AEGP_IdleRefcon *AEGP_IdleRefcon; +typedef struct _AEGP_IORefcon *AEGP_IORefcon; +typedef struct _AEGP_CancelRefcon *AEGP_CancelRefcon; + + +// _SIZE constants include space for the terminating null. -1 for string length. +#define AEGP_MAX_PATH_SIZE 260 +#define AEGP_MAX_ABOUT_STRING_SIZE 256 +#define AEGP_MAX_RQITEM_COMMENT_SIZE 256 +#define AEGP_MAX_TYPE_NAME_SIZE 32 +#define AEGP_MAX_ITEM_NAME_SIZE 32 +#define AEGP_MAX_ITEM_NAME_SIZE 32 +#define AEGP_MAX_LAYER_NAME_SIZE 32 +#define AEGP_MAX_MASK_NAME_SIZE 32 +#define AEGP_MAX_EFFECT_NAME_SIZE (PF_MAX_EFFECT_NAME_LEN + 17) +#define AEGP_MAX_EFFECT_MATCH_NAME_SIZE (PF_MAX_EFFECT_NAME_LEN + 17) +#define AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE (PF_MAX_EFFECT_CATEGORY_NAME_LEN + 1) +#define AEGP_MAX_STREAM_NAME_SIZE (PF_MAX_EFFECT_PARAM_NAME_LEN + 1) +#define AEGP_MAX_STREAM_UNITS_SIZE (PF_MAX_EFFECT_PARAM_NAME_LEN + 1) +#define AEGP_MAX_PROJ_NAME_SIZE 48 +#define AEGP_MAX_PLUGIN_NAME_SIZE 32 + +#define AEGP_MAX_MARKER_NAME_SIZE 64 +#define AEGP_MAX_MARKER_URL_SIZE 1024 +#define AEGP_MAX_MARKER_TARGET_SIZE 128 +#define AEGP_MAX_MARKER_CHAPTER_SIZE 128 + + +enum { + AEGP_Platform_MAC, + AEGP_Platform_WIN +}; +typedef A_long AEGP_Platform; + +enum { + AEGP_ProjBitDepth_8 = 0, + AEGP_ProjBitDepth_16, + AEGP_ProjBitDepth_32, + AEGP_ProjBitDepth_NUM_VALID_DEPTHS +}; +typedef A_char AEGP_ProjBitDepth; + +#define AEGP_Index_NONE ((A_long)0x80000000) +#define AEGP_Index_START ((A_long)0) +#define AEGP_Index_END ((A_long)-1) + +typedef A_long AEGP_Index; + +#define AEGP_LayerIDVal_NONE (0L) + +typedef A_long AEGP_LayerIDVal; + +#define AEGP_MaskIDVal_NONE (0L) + +typedef A_long AEGP_MaskIDVal; + +typedef struct { + A_FpLong alphaF, redF, greenF, blueF; // in the range [0.0 - 1.0] +} AEGP_ColorVal; + + +enum { + AEGP_CameraType_NONE = -1, + + AEGP_CameraType_PERSPECTIVE, + AEGP_CameraType_ORTHOGRAPHIC, + + AEGP_CameraType_NUM_TYPES +}; + +typedef A_u_long AEGP_CameraType; + +enum { + AEGP_FootageDepth_1 = 1, + AEGP_FootageDepth_2 = 2, + AEGP_FootageDepth_4 = 4, + AEGP_FootageDepth_8 = 8, + AEGP_FootageDepth_16 = 16, + AEGP_FootageDepth_24 = 24, + AEGP_FootageDepth_30 = 30, + AEGP_FootageDepth_32 = 32, + AEGP_FootageDepth_GRAY_2 = 34, + AEGP_FootageDepth_GRAY_4 = 36, + AEGP_FootageDepth_GRAY_8 = 40, + AEGP_FootageDepth_48 = 48, + AEGP_FootageDepth_64 = 64, + AEGP_FootageDepth_GRAY_16 = -16 +}; + + +enum { + AEGP_FilmSizeUnits_NONE = 0, + AEGP_FilmSizeUnits_HORIZONTAL, + AEGP_FilmSizeUnits_VERTICAL, + AEGP_FilmSizeUnits_DIAGONAL +}; +typedef A_long AEGP_FilmSizeUnits; + + +enum { + AEGP_LightType_NONE = -1, + + AEGP_LightType_PARALLEL, + AEGP_LightType_SPOT, + AEGP_LightType_POINT, + AEGP_LightType_AMBIENT, + + AEGP_LightType_NUM_TYPES +}; + +typedef A_u_long AEGP_LightType; + + +enum { + AEGP_LightFalloff_NONE = 0, + AEGP_LightFalloff_SMOOTH, + AEGP_LightFalloff_INVERSE_SQUARE_CLAMPED +}; + +typedef A_u_long AEGP_LightFalloffType; + + +/* -------------------------------------------------------------------- */ + +enum { + AEGP_TimeDisplayType_TIMECODE = 0, + AEGP_TimeDisplayType_FRAMES, + AEGP_TimeDisplayType_FEET_AND_FRAMES +}; +typedef A_char AEGP_TimeDisplayType; + +#define AEGP_FramesPerFoot_35MM 16 +#define AEGP_FramesPerFoot_16MM 40 + +typedef struct { // note: unused values are still stored in settings and used when cycling through + // the 3 types using cmd/ctrl-click on timecode + AEGP_TimeDisplayType time_display_type; + A_char timebaseC; // only used for AEGP_TimeDisplayType_TIMECODE, 1 to 100 + A_Boolean non_drop_30B; // only used for AEGP_TimeDisplayType_TIMECODE, + // when timebaseC == 30 && item framerate == 29.97, use drop frame or non-drop? + A_char frames_per_footC; // only used for AEGP_TimeDisplayType_FEET_AND_FRAMES + A_long starting_frameL; // usually 0 or 1, not used for AEGP_TimeDisplayType_TIMECODE + A_Boolean auto_timecode_baseB; +} AEGP_TimeDisplay2; + +enum { + AEGP_TimeDisplay_TIMECODE = 0, + AEGP_TimeDisplay_FRAMES +}; +typedef char AEGP_TimeDisplayMode; + +enum { + AEGP_SourceTimecode_ZERO = 0, + AEGP_SourceTimecode_SOURCE_TIMECODE +}; +typedef char AEGP_SourceTimecodeDisplayMode; + +enum { + AEGP_Frames_ZERO_BASED = 0, + AEGP_Frames_ONE_BASED, + AEGP_Frames_TIMECODE_CONVERSION +}; +typedef char AEGP_FramesDisplayMode; + +typedef struct { + AEGP_TimeDisplayMode display_mode; + AEGP_SourceTimecodeDisplayMode footage_display_mode; + A_Boolean display_dropframeB; + A_Boolean use_feet_framesB; + A_char timebaseC; + A_char frames_per_footC; + AEGP_FramesDisplayMode frames_display_mode; +} AEGP_TimeDisplay3; + + + +#define kAEGPProjSuite "AEGP Proj Suite" +#define kAEGPProjSuiteVersion6 9 /* frozen in AE 10.5 */ + +typedef struct AEGP_ProjSuite6 { + + SPAPI A_Err (*AEGP_GetNumProjects)( /* will always (in 5.0) return 1 if project is open */ + A_long *num_projPL); /* << */ + + SPAPI A_Err (*AEGP_GetProjectByIndex)( + A_long proj_indexL, /* >> */ + AEGP_ProjectH *projPH); /* << */ + + SPAPI A_Err (*AEGP_GetProjectName)( + AEGP_ProjectH projH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_PROJ_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetProjectPath)( + AEGP_ProjectH projH, /* >> */ + AEGP_MemHandle *unicode_pathPH); // << empty string if no file. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetProjectRootFolder)( + AEGP_ProjectH projH, /* >> */ + AEGP_ItemH *root_folderPH); /* << */ + + SPAPI A_Err (*AEGP_SaveProjectToPath)( + AEGP_ProjectH projH, /* >> */ + const A_UTF16Char *pathZ); // >> null terminated unicode path with platform separators + + SPAPI A_Err (*AEGP_GetProjectTimeDisplay)( + AEGP_ProjectH projH, /* >> */ + AEGP_TimeDisplay3 *time_displayP); /* << */ + + SPAPI A_Err (*AEGP_SetProjectTimeDisplay)( /* UNDOABLE */ + AEGP_ProjectH projH, /* <> */ + const AEGP_TimeDisplay3 *time_displayP); /* >> */ + + SPAPI A_Err (*AEGP_ProjectIsDirty)( + AEGP_ProjectH projH, /* >> */ + A_Boolean *is_dirtyPB); /* << */ + + SPAPI A_Err (*AEGP_SaveProjectAs)( + AEGP_ProjectH projH, /* >> */ + const A_UTF16Char *pathZ); // >> null terminated unicode path with platform separators + + SPAPI A_Err (*AEGP_NewProject)( + AEGP_ProjectH *new_projectPH); /* << WARNING: Will close any open projects! */ + + // WARNING: Will close any open projects! + SPAPI A_Err (*AEGP_OpenProjectFromPath)( + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + AEGP_ProjectH *projectPH); /* << */ + + SPAPI A_Err (*AEGP_GetProjectBitDepth)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ProjBitDepth *bit_depthP); /* << */ + + SPAPI A_Err (*AEGP_SetProjectBitDepth)( /* UNDOABLE */ + AEGP_ProjectH projectH, /* >> */ + AEGP_ProjBitDepth bit_depth); /* >> */ + +} AEGP_ProjSuite6; + +/* -------------------------------------------------------------------- */ + +enum { + AEGP_SoundEncoding_UNSIGNED_PCM = 3, + AEGP_SoundEncoding_SIGNED_PCM, + AEGP_SoundEncoding_FLOAT, + AEGP_SoundEncoding_END, + AEGP_SoundEncoding_BEGIN = AEGP_SoundEncoding_UNSIGNED_PCM +}; +typedef A_long AEGP_SoundEncoding; + +typedef struct AEGP_SoundDataFormat { + A_FpLong sample_rateF; + AEGP_SoundEncoding encoding; + A_long bytes_per_sampleL; /* 1, 2, or 4 only (ignored if encoding == AEGP_SoundEncoding_FLOAT) */ + A_long num_channelsL; /* 1 for mono, 2 for stereo */ +}AEGP_SoundDataFormat; + + +enum { + AEGP_ItemType_NONE, + AEGP_ItemType_FOLDER, + AEGP_ItemType_COMP, + AEGP_ItemType_SOLID_defunct, // as of AE6, solids are now just AEGP_ItemType_FOOTAGE with AEGP_FootageSignature_SOLID + AEGP_ItemType_FOOTAGE, + AEGP_ItemType_NUM_TYPES1 +}; +typedef A_short AEGP_ItemType; + + +enum { + AEGP_ItemFlag_MISSING = 0x1, /* footage property: here for convenience */ + AEGP_ItemFlag_HAS_PROXY = 0x2, + AEGP_ItemFlag_USING_PROXY = 0x4, /* is using the proxy as source */ + AEGP_ItemFlag_MISSING_PROXY = 0x8, /* footage property: here for convenience */ + AEGP_ItemFlag_HAS_VIDEO = 0x10, /* is there a video track? */ + AEGP_ItemFlag_HAS_AUDIO = 0x20, /* is there an audio track? */ + AEGP_ItemFlag_STILL = 0x40, /* are all frames exactly the same */ + AEGP_ItemFlag_HAS_ACTIVE_AUDIO = 0x80 /* new in AE CS 5.5: is there an audio track, and is it also turned on right now? */ +}; +typedef A_long AEGP_ItemFlags; + + +enum { + AEGP_Label_NONE = -1, /* undefined sentinel value */ + AEGP_Label_NO_LABEL = 0, + AEGP_Label_1, + AEGP_Label_2, + AEGP_Label_3, + AEGP_Label_4, + AEGP_Label_5, + AEGP_Label_6, + AEGP_Label_7, + AEGP_Label_8, + AEGP_Label_9, + AEGP_Label_10, + AEGP_Label_11, + AEGP_Label_12, + AEGP_Label_13, + AEGP_Label_14, + AEGP_Label_15, + AEGP_Label_16, // label 16 is new in AE 10.0 (CS5) + + AEGP_Label_NUMTYPES +}; +typedef A_char AEGP_LabelID; + +/* -------------------------------------------------------------------- */ + +enum { + AEGP_PersistentType_MACHINE_SPECIFIC, + AEGP_PersistentType_MACHINE_INDEPENDENT, + AEGP_PersistentType_MACHINE_INDEPENDENT_RENDER, + AEGP_PersistentType_MACHINE_INDEPENDENT_OUTPUT, + AEGP_PersistentType_MACHINE_INDEPENDENT_COMPOSITION, + AEGP_PersistentType_MACHINE_SPECIFIC_TEXT, + AEGP_PersistentType_MACHINE_SPECIFIC_PAINT, + + AEGP_PersistentType_NUMTYPES +}; +typedef A_long AEGP_PersistentType; + + +#define kAEGPItemSuite "AEGP Item Suite" +#define kAEGPItemSuiteVersion9 14 /* frozen in AE 14.1 */ + +typedef struct AEGP_ItemSuite9 { + + SPAPI A_Err (*AEGP_GetFirstProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_PluginID pluginID, // in + AEGP_ItemH itemH, /* >> */ + AEGP_MemHandle *unicode_namePH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetItemName)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> */ + const A_UTF16Char *nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_SetItemParentFolder)( + AEGP_ItemH itemH, /* <> */ + AEGP_ItemH parent_folder_itemH); /* >> */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_UTF16Char *nameZ, /* >> null terminated UTF16 */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + AEGP_MemHandle *unicode_namePH); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const A_UTF16Char *commentZ); /* >> */ + + SPAPI A_Err (*AEGP_GetItemLabel)( + AEGP_ItemH itemH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetItemLabel)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + AEGP_LabelID label); /* >> */ + + SPAPI A_Err (*AEGP_GetItemMRUView)( + AEGP_ItemH itemH, // >> + AEGP_ItemViewP *mru_viewP); // << + +} AEGP_ItemSuite9; + + +/* -------------------------------------------------------------------- */ + +#define kAEGPItemViewSuite "AEGP Item View Suite" +#define kAEGPItemViewSuiteVersion1 1 /* frozen in AE 13.6 */ + +typedef struct AEGP_ItemViewSuite1 { + // Each item view can have its own playback time, if previewing is active, otherwise the current associated item time + SPAPI A_Err (*AEGP_GetItemViewPlaybackTime)( + AEGP_ItemViewP item_viewP, /* >> */ + A_Boolean *is_currently_previewingPB0, /* >> whether the time is actually playback time (TRUE), FALSE is default item current_time */ + A_Time *curr_timePT ); /* << */ + +} AEGP_ItemViewSuite1; + + + +/* -------------------------------------------------------------------- */ + +#define kAEGPSoundDataSuite "AEGP Sound Data Suite" +#define kAEGPSoundDataVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct AEGP_SoundDataSuite1 { + SPAPI A_Err (*AEGP_NewSoundData)( /* Must be disposed with DisposeSoundData */ + const AEGP_SoundDataFormat* sound_formatP, + AEGP_SoundDataH *new_sound_dataPH); /* << can return NULL if no audio */ + + SPAPI A_Err (*AEGP_DisposeSoundData)( + AEGP_SoundDataH sound_dataH); /* >> */ + + SPAPI A_Err (*AEGP_GetSoundDataFormat)( + AEGP_SoundDataH soundH, /* >> */ + AEGP_SoundDataFormat *sound_formatP); /* << */ + + + /* + If the sound format has two channels, the data is interleaved + left (0), right(1), left(0), right(1), ... + + AEGP_SoundEncoding_FLOAT has a type of FpShort + + For bytes_per_sample == 1 + AEGP_SoundEncoding_UNSIGNED_PCM == A_u_char + AEGP_SoundEncoding_SIGNED_PCM == A_char + + For bytes_per_sample == 2 + AEGP_SoundEncoding_UNSIGNED_PCM == A_u_short + AEGP_SoundEncoding_SIGNED_PCM == A_short + + For bytes_per_sample == 4 + AEGP_SoundEncoding_UNSIGNED_PCM == A_u_long + AEGP_SoundEncoding_SIGNED_PCM == A_long + + usage: + void * sound_dataP; + sds->AEGP_LockSoundDataSamples( soundH, &sound_dataP); + A_u_long* correct_samples = (A_u_long*)sound_dataP; // for AEGP_SoundEncoding_UNSIGNED_PCM + */ + + SPAPI A_Err (*AEGP_LockSoundDataSamples)( + AEGP_SoundDataH soundH, /* >> */ + void **samples); /* << use the correct combination of unsigned/signed/float and bytes_per_sample to determine type */ + + SPAPI A_Err (*AEGP_UnlockSoundDataSamples)( + AEGP_SoundDataH soundH); /* >> */ + + SPAPI A_Err (*AEGP_GetNumSamples)( + AEGP_SoundDataH soundH, /* >> */ + A_long *num_samplesPL); /* << */ + +} AEGP_SoundDataSuite1 ; + + + +/* -------------------------------------------------------------------- */ + + +typedef struct { + A_short xS, yS; +} AEGP_DownsampleFactor; + +enum { + AEGP_CompFlag_SHOW_ALL_SHY = 0x1, + AEGP_CompFlag_RESERVED_1 = 0x2, + AEGP_CompFlag_RESERVED_2 = 0x4, + AEGP_CompFlag_ENABLE_MOTION_BLUR = 0x8, + AEGP_CompFlag_ENABLE_TIME_FILTER = 0x10, + AEGP_CompFlag_GRID_TO_FRAMES = 0x20, + AEGP_CompFlag_GRID_TO_FIELDS = 0x40, + AEGP_CompFlag_USE_LOCAL_DSF = 0x80, // If on, use the dsf in the comp, not the RO + AEGP_CompFlag_DRAFT_3D = 0x100, + AEGP_CompFlag_SHOW_GRAPH = 0x200, + AEGP_CompFlag_RESERVED_3 = 0x400 + +}; +typedef A_long AEGP_CompFlags; + + + + +#define kAEGPCompSuite "AEGP Comp Suite" +#define kAEGPCompSuiteVersion11 25 /* frozen in AE 14.2 */ + +typedef struct AEGP_CompSuite11 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_GetShowLayerNameOrSourceName)( + AEGP_CompH compH, /* >> */ + A_Boolean *layer_names_shownPB); /* << true if layer names, false if source names */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_SetShowLayerNameOrSourceName)( + AEGP_CompH compH, /* >> */ + A_Boolean show_layer_namesB); /* >> true to show layer names, false to show source names */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_GetShowBlendModes)( + AEGP_CompH compH, /* >> */ + A_Boolean *blend_modes_shownPB); /* << */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_SetShowBlendModes)( + AEGP_CompH compH, /* >> */ + A_Boolean show_blend_modesB); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompMotionBlurAdaptiveSampleLimit)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompMotionBlurAdaptiveSampleLimit)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_UTF16Char *utf_nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_CreateBoxTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + A_FloatPoint box_dimensions, /* >> */ // (width and height) + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + + SPAPI A_Err (*AEGP_GetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean *dropFramePB); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean dropFrameB); /* << */ + + SPAPI A_Err (*AEGP_ReorderCompSelection)( + AEGP_CompH compH, /* >> */ + A_long index); /* >> */ + +} AEGP_CompSuite11; + + +/* -------------------------------------------------------------------- */ + + +#define kAEGPMemorySuite "AEGP Memory Suite" +#define kAEGPMemorySuiteVersion1 1 /* frozen in AE 5.0 */ + +enum { + AEGP_MemFlag_NONE = 0x0, + AEGP_MemFlag_CLEAR = 0x01, + AEGP_MemFlag_QUIET = 0x02 +}; +typedef A_long AEGP_MemFlag; + +typedef A_u_long AEGP_MemSize; + + +typedef struct AEGP_MemorySuite1 { + + + SPAPI A_Err (*AEGP_NewMemHandle)( AEGP_PluginID plugin_id, /* >> */ + const A_char *whatZ, /* >> */ + AEGP_MemSize size, /* >> */ + AEGP_MemFlag flags, /* >> */ + AEGP_MemHandle *memPH); /* << */ + + SPAPI A_Err (*AEGP_FreeMemHandle)( AEGP_MemHandle memH); + + SPAPI A_Err (*AEGP_LockMemHandle)( AEGP_MemHandle memH, /* nestable */ + void **ptr_to_ptr); /* << */ + + SPAPI A_Err (*AEGP_UnlockMemHandle)( AEGP_MemHandle memH); + + SPAPI A_Err (*AEGP_GetMemHandleSize)( AEGP_MemHandle memH, + AEGP_MemSize *sizeP); /* << */ + + SPAPI A_Err (*AEGP_ResizeMemHandle)( const A_char *whatZ, /* >> */ + AEGP_MemSize new_size, /* >> */ + AEGP_MemHandle memH); /* <> */ + + SPAPI A_Err (*AEGP_SetMemReportingOn)( A_Boolean turn_OnB); + + SPAPI A_Err (*AEGP_GetMemStats)( AEGP_PluginID plugin_id, /* >> */ + A_long *countPL, /* << */ + A_long *sizePL); /* << */ +} AEGP_MemorySuite1; + +/* -------------------------------------------------------------------- */ + + +enum { + AEGP_TransferFlag_PRESERVE_ALPHA = 0x1, + AEGP_TransferFlag_RANDOMIZE_DISSOLVE = 0x2 +}; +typedef A_long AEGP_TransferFlags; + +enum { + AEGP_TrackMatte_NO_TRACK_MATTE, + AEGP_TrackMatte_ALPHA, + AEGP_TrackMatte_NOT_ALPHA, + AEGP_TrackMatte_LUMA, + AEGP_TrackMatte_NOT_LUMA +}; +typedef A_long AEGP_TrackMatte; + +typedef struct { + PF_TransferMode mode; // defined in AE_EffectCB.h + AEGP_TransferFlags flags; + AEGP_TrackMatte track_matte; +} AEGP_LayerTransferMode; + + + +enum { + AEGP_LayerQual_NONE = -1, // sentinel + AEGP_LayerQual_WIREFRAME, // wire-frames only + AEGP_LayerQual_DRAFT, // LO-qual filters, LO-qual geom + AEGP_LayerQual_BEST // HI-qual filters, HI-qual geom +}; +typedef A_short AEGP_LayerQuality; + + +enum { + AEGP_LayerSamplingQual_BILINEAR, // bilinear interpolation + AEGP_LayerSamplingQual_BICUBIC // bicubic interpolation +}; +typedef A_short AEGP_LayerSamplingQuality; + +enum { + AEGP_LayerFlag_NONE = 0x00000000, + AEGP_LayerFlag_VIDEO_ACTIVE = 0x00000001, + AEGP_LayerFlag_AUDIO_ACTIVE = 0x00000002, + AEGP_LayerFlag_EFFECTS_ACTIVE = 0x00000004, + AEGP_LayerFlag_MOTION_BLUR = 0x00000008, + AEGP_LayerFlag_FRAME_BLENDING = 0x00000010, + AEGP_LayerFlag_LOCKED = 0x00000020, + AEGP_LayerFlag_SHY = 0x00000040, + AEGP_LayerFlag_COLLAPSE = 0x00000080, + AEGP_LayerFlag_AUTO_ORIENT_ROTATION = 0x00000100, + AEGP_LayerFlag_ADJUSTMENT_LAYER = 0x00000200, + AEGP_LayerFlag_TIME_REMAPPING = 0x00000400, + AEGP_LayerFlag_LAYER_IS_3D = 0x00000800, + AEGP_LayerFlag_LOOK_AT_CAMERA = 0x00001000, + AEGP_LayerFlag_LOOK_AT_POI = 0x00002000, + AEGP_LayerFlag_SOLO = 0x00004000, + AEGP_LayerFlag_MARKERS_LOCKED = 0x00008000, + AEGP_LayerFlag_NULL_LAYER = 0x00010000, + AEGP_LayerFlag_HIDE_LOCKED_MASKS = 0x00020000, + AEGP_LayerFlag_GUIDE_LAYER = 0x00040000, + AEGP_LayerFlag_ADVANCED_FRAME_BLENDING = 0x00080000, + AEGP_LayerFlag_SUBLAYERS_RENDER_SEPARATELY = 0x00100000, + AEGP_LayerFlag_ENVIRONMENT_LAYER = 0x00200000 +}; +typedef A_long AEGP_LayerFlags; + + +// Layers are always one of the following types. + +enum { + AEGP_ObjectType_NONE = -1, + AEGP_ObjectType_AV, /* Includes all pre-AE 5.0 layer types (audio or video source, including adjustment layers) */ + AEGP_ObjectType_LIGHT, + AEGP_ObjectType_CAMERA, + AEGP_ObjectType_TEXT, + AEGP_ObjectType_VECTOR, + + AEGP_ObjectType_NUM_TYPES +}; +typedef A_long AEGP_ObjectType; + +enum { + AEGP_LTimeMode_LayerTime, + AEGP_LTimeMode_CompTime +}; +typedef A_short AEGP_LTimeMode; + +#define AEGP_REORDER_LAYER_TO_END -1 + +#define kAEGPLayerSuite "AEGP Layer Suite" +#define kAEGPLayerSuiteVersion7 13 /* frozen AE 10.0 build 396 */ + +typedef struct AEGP_LayerSuite7 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << returns non null only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItemID)( + AEGP_LayerH layerH, /* >> */ + A_long *source_item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_PluginID pluginID, // in + AEGP_LayerH layerH, /* >> */ + AEGP_MemHandle *utf_layer_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_source_namePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_UTF16Char *new_nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + SPAPI A_Err (*AEGP_DuplicateLayer)( + AEGP_LayerH orig_layerH, /* >> */ + AEGP_LayerH *duplicate_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerID)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerIDVal id, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerLabel)( + AEGP_LayerH layerH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerLabel)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LabelID label); /* >> */ + +} AEGP_LayerSuite7; + +#define kAEGPLayerSuiteVersion8 14 /* frozen AE 12.0 x300 */ + +typedef struct AEGP_LayerSuite8 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << returns non null only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItemID)( + AEGP_LayerH layerH, /* >> */ + A_long *source_item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_PluginID pluginID, // in + AEGP_LayerH layerH, /* >> */ + AEGP_MemHandle *utf_layer_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_source_namePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_UTF16Char *new_nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + SPAPI A_Err (*AEGP_DuplicateLayer)( + AEGP_LayerH orig_layerH, /* >> */ + AEGP_LayerH *duplicate_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerID)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerIDVal id, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerLabel)( + AEGP_LayerH layerH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerLabel)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LabelID label); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerSamplingQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerSamplingQuality *qualityP); /* << */ + + /* Option is explicitly set on the layer independent of layer quality. + If you want to force it on you must also set the layer quality to + AEGP_LayerQual_BEST with AEGP_SetLayerQuality. Otherwise it will only be using + the specified layer sampling quality whenever the layer quality is set to AEGP_LayerQual_BEST*/ + SPAPI A_Err (*AEGP_SetLayerSamplingQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerSamplingQuality quality); /* >> */ + +} AEGP_LayerSuite8; + + + + + + +/* -------------------------------------------------------------------- */ + + +enum { + /* + WARNING!! + don't reorder these items, don't add in the middle + these IDs are saved to disk! + + only ever add to the end of the list, right before AEGP_LayerStream_NUMTYPES + */ + + AEGP_LayerStream_NONE = -1, + AEGP_LayerStream_ANCHORPOINT, + AEGP_LayerStream_POSITION, + AEGP_LayerStream_SCALE, + AEGP_LayerStream_ROTATION, + AEGP_LayerStream_ROTATE_Z = AEGP_LayerStream_ROTATION, /* for 3D streams */ + AEGP_LayerStream_OPACITY, + AEGP_LayerStream_AUDIO, + AEGP_LayerStream_MARKER, + AEGP_LayerStream_TIME_REMAP, + AEGP_LayerStream_ROTATE_X, + AEGP_LayerStream_ROTATE_Y, + AEGP_LayerStream_ORIENTATION, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_CAMERA + AEGP_LayerStream_ZOOM, + AEGP_LayerStream_DEPTH_OF_FIELD, + AEGP_LayerStream_FOCUS_DISTANCE, + AEGP_LayerStream_APERTURE, + AEGP_LayerStream_BLUR_LEVEL, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_LIGHT + AEGP_LayerStream_INTENSITY, + AEGP_LayerStream_COLOR, + AEGP_LayerStream_CONE_ANGLE, + AEGP_LayerStream_CONE_FEATHER, + AEGP_LayerStream_SHADOW_DARKNESS, + AEGP_LayerStream_SHADOW_DIFFUSION, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_AV + AEGP_LayerStream_ACCEPTS_SHADOWS, + AEGP_LayerStream_ACCEPTS_LIGHTS, + AEGP_LayerStream_AMBIENT_COEFF, + AEGP_LayerStream_DIFFUSE_COEFF, + AEGP_LayerStream_SPECULAR_INTENSITY, + AEGP_LayerStream_SPECULAR_SHININESS, + + AEGP_LayerStream_CASTS_SHADOWS, // LIGHT, and AV only, no CAMERA + AEGP_LayerStream_LIGHT_TRANSMISSION, // AV Layer only + AEGP_LayerStream_METAL, // AV layer only + + AEGP_LayerStream_SOURCE_TEXT, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_CAMERA + AEGP_LayerStream_IRIS_SHAPE, + AEGP_LayerStream_IRIS_ROTATION, + AEGP_LayerStream_IRIS_ROUNDNESS, + AEGP_LayerStream_IRIS_ASPECT_RATIO, + AEGP_LayerStream_IRIS_DIFFRACTION_FRINGE, + AEGP_LayerStream_IRIS_HIGHLIGHT_GAIN, + AEGP_LayerStream_IRIS_HIGHLIGHT_THRESHOLD, + AEGP_LayerStream_IRIS_HIGHLIGHT_SATURATION, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_LIGHT + AEGP_LayerStream_LIGHT_FALLOFF_TYPE, + AEGP_LayerStream_LIGHT_FALLOFF_START, + AEGP_LayerStream_LIGHT_FALLOFF_DISTANCE, + + // only valid for AEGP_ObjectType == AEGP_ObjectType_AV + AEGP_LayerStream_REFLECTION_INTENSITY, + AEGP_LayerStream_REFLECTION_SHARPNESS, + AEGP_LayerStream_REFLECTION_ROLLOFF, + AEGP_LayerStream_TRANSPARENCY_COEFF, + AEGP_LayerStream_TRANSPARENCY_ROLLOFF, + AEGP_LayerStream_INDEX_OF_REFRACTION, + + AEGP_LayerStream_EXTRUSION_BEVEL_STYLE, + AEGP_LayerStream_EXTRUSION_BEVEL_DIRECTION, + AEGP_LayerStream_EXTRUSION_BEVEL_DEPTH, + AEGP_LayerStream_EXTRUSION_HOLE_BEVEL_DEPTH, + AEGP_LayerStream_EXTRUSION_DEPTH, + AEGP_LayerStream_PLANE_CURVATURE, + AEGP_LayerStream_PLANE_SUBDIVISION, + + /*********************************************************/ + AEGP_LayerStream_NUMTYPES, + AEGP_LayerStream_BEGIN = AEGP_LayerStream_NONE + 1, + AEGP_LayerStream_END = AEGP_LayerStream_NUMTYPES + +}; +typedef A_long AEGP_LayerStream; + +enum { + AEGP_MaskStream_OUTLINE = 400, + AEGP_MaskStream_OPACITY, + AEGP_MaskStream_FEATHER, + AEGP_MaskStream_EXPANSION, + + // useful for iteration + AEGP_MaskStream_BEGIN = AEGP_MaskStream_OUTLINE, + AEGP_MaskStream_END = AEGP_MaskStream_EXPANSION+1 +}; +typedef A_long AEGP_MaskStream; + + +enum { + AEGP_StreamFlag_NONE = 0, + AEGP_StreamFlag_HAS_MIN = 0x01, + AEGP_StreamFlag_HAS_MAX = 0x02, + AEGP_StreamFlag_IS_SPATIAL = 0x04 +}; +typedef A_long AEGP_StreamFlags; + + +typedef A_FpLong AEGP_OneDVal; + +typedef struct { + A_FpLong x,y; +} AEGP_TwoDVal; // if audio, rt is x, left is y + +typedef struct { + A_FpLong x,y,z; +} AEGP_ThreeDVal; + +typedef A_FpLong AEGP_FourDVal[4]; + +typedef A_Handle AEGP_ArbBlockVal; + +enum { + AEGP_KeyInterp_NONE = 0, + AEGP_KeyInterp_LINEAR, + AEGP_KeyInterp_BEZIER, + AEGP_KeyInterp_HOLD, + + AEGP_Interp_NUM_VALUES +}; +typedef A_long AEGP_KeyframeInterpolationType; + +/* AEGP_KeyInterpMask -- allowed interpolation mask constants and type + */ +enum { + AEGP_KeyInterpMask_NONE = 0, + AEGP_KeyInterpMask_LINEAR = 1 << 0, + AEGP_KeyInterpMask_BEZIER = 1 << 1, + AEGP_KeyInterpMask_HOLD = 1 << 2, + AEGP_KeyInterpMask_CUSTOM = 1 << 3, + + AEGP_KeyInterpMask_ANY = 0xFFFF +}; +typedef A_long AEGP_KeyInterpolationMask; + +typedef struct { + A_FpLong speedF; + A_FpLong influenceF; +} AEGP_KeyframeEase; + + +typedef union { + AEGP_FourDVal four_d; + AEGP_ThreeDVal three_d; + AEGP_TwoDVal two_d; + AEGP_OneDVal one_d; + AEGP_ColorVal color; + AEGP_ArbBlockVal arbH; + AEGP_MarkerValP markerP; + AEGP_LayerIDVal layer_id; + AEGP_MaskIDVal mask_id; + AEGP_MaskOutlineValH mask; + AEGP_TextDocumentH text_documentH; +} AEGP_StreamVal2; + +typedef struct { + AEGP_StreamRefH streamH; + AEGP_StreamVal2 val; +} AEGP_StreamValue2; + +enum { + AEGP_StreamType_NO_DATA, + AEGP_StreamType_ThreeD_SPATIAL, + AEGP_StreamType_ThreeD, + AEGP_StreamType_TwoD_SPATIAL, + AEGP_StreamType_TwoD, + AEGP_StreamType_OneD, + AEGP_StreamType_COLOR, + AEGP_StreamType_ARB, + AEGP_StreamType_MARKER, + AEGP_StreamType_LAYER_ID, + AEGP_StreamType_MASK_ID, + AEGP_StreamType_MASK, + AEGP_StreamType_TEXT_DOCUMENT +}; +typedef A_long AEGP_StreamType; + + +#define kAEGPStreamSuite "AEGP Stream Suite" +#define kAEGPStreamSuiteVersion5 10 /* frozen in AE 15 */ + +typedef struct AEGP_StreamSuite5 { + // the only diff from this vs. last rev is that routines that pass AEGP_StreamValue2, when referring to a marker, + // (comp or layer) the struct now contains the NEW markerP type, which is compatible with the new Marker Suite + + SPAPI A_Err (*AEGP_IsStreamLegal)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + A_Boolean* is_legalP); /* << */ + + + SPAPI A_Err (*AEGP_CanVaryOverTime)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean* can_varyPB); /* << */ + + SPAPI A_Err (*AEGP_GetValidInterpolations)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyInterpolationMask* valid_interpolationsP); /* << */ + + SPAPI A_Err (*AEGP_GetNewLayerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetEffectNumParamStreams)( + AEGP_EffectRefH effect_refH, /* >> */ + A_long *num_paramsPL); /* << */ + + SPAPI A_Err (*AEGP_GetNewEffectStreamByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewMaskStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskStream which_stream, /* >> */ + AEGP_StreamRefH *mask_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DisposeStream)( + AEGP_StreamRefH streamH); /* >> */ + + SPAPI A_Err (*AEGP_GetStreamName)( + AEGP_PluginID pluginID, // in + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + AEGP_MemHandle *utf_stream_namePH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetStreamUnitsText)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *unitsZ); /* << space for A_char[AEGP_MAX_STREAM_UNITS_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamProperties)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamFlags *flagsP, /* << */ + A_FpLong *minP0, /* << */ + A_FpLong *maxP0); /* << */ + + SPAPI A_Err (*AEGP_IsStreamTimevarying)( /* takes expressions into account */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *is_timevaryingPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamType *stream_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNewStreamValue)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamValue2 *valueP); /* << must be disposed */ + + SPAPI A_Err (*AEGP_DisposeStreamValue)( + AEGP_StreamValue2 *valueP); /* <> */ + + + SPAPI A_Err (*AEGP_SetStreamValue)( // only legal to call when AEGP_GetStreamNumKFs==0 or NO_DATA + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamValue2 *valueP); /* << */ + + // this is only valid on streams with primitive types. It is illegal on + // AEGP_ArbBlockVal || AEGP_MarkerValP || AEGP_MaskOutlineValH + + SPAPI A_Err (*AEGP_GetLayerStreamValue)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamVal2 *stream_valP, /* << */ + AEGP_StreamType *stream_typeP0); /* << */ + + SPAPI A_Err (*AEGP_GetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *enabledPB); /* >> */ + + SPAPI A_Err (*AEGP_SetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean enabledB); /* >> */ + + SPAPI A_Err(*AEGP_GetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_MemHandle *unicodeHZ); /* << must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err(*AEGP_SetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + const A_UTF16Char* expressionP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_DuplicateStreamRef)( // must dispose yourself + AEGP_PluginID aegp_plugin_id, // in + AEGP_StreamRefH streamH, // in + AEGP_StreamRefH *dup_streamPH); // out +} AEGP_StreamSuite5; + + +/* -------------------------------------------------------------------- */ +/* new Dynamic Streams API for AE6 + + Used to access new tracker, text, & paint streams. Eventually + will work for all streams & groups on a layer. + +*/ + +#define AEGP_MAX_STREAM_MATCH_NAME_SIZE 40 + + +enum { + AEGP_StreamGroupingType_NONE = -1, + AEGP_StreamGroupingType_LEAF, + AEGP_StreamGroupingType_NAMED_GROUP, + AEGP_StreamGroupingType_INDEXED_GROUP +}; +typedef A_long AEGP_StreamGroupingType; + +enum { + AEGP_DynStreamFlag_ACTIVE_EYEBALL = 1L << 0, // read/write + AEGP_DynStreamFlag_HIDDEN = 1L << 1, // read/write, shown in UI at the moment? + AEGP_DynStreamFlag_DISABLED = 1L << 4, // read-only, greyed out in UI? + AEGP_DynStreamFlag_ELIDED = 1L << 5, // read-only, user never sees, children still seen and not indented + AEGP_DynStreamFlag_SHOWN_WHEN_EMPTY = 1L << 10, // read-only, should this group be shown when empty? + AEGP_DynStreamFlag_SKIP_REVEAL_WHEN_UNHIDDEN = 1L << 16 // read-only, do not auto reveal this property when un-hidden +}; +typedef A_u_long AEGP_DynStreamFlags; + +// Here are some matchnames for use with +// AEGP_GetNewStreamRefByMatchname(). + +#define AEGP_StreamGroupName_MASK_PARADE "ADBE Mask Parade" +#define AEGP_StreamGroupName_MASK_ATOM "ADBE Mask Atom" +#define AEGP_StreamName_MASK_FEATHER "ADBE Mask Feather" +#define AEGP_StreamName_MASK_OPACITY "ADBE Mask Opacity" +#define AEGP_StreamName_MASK_OFFSET "ADBE Mask Offset" +#define AEGP_StreamGroupName_EFFECT_PARADE "ADBE Effect Parade" +#define AEGP_StreamGroupName_LAYER "ADBE Abstract Layer" +#define AEGP_StreamGroupName_AV_LAYER "ADBE AV Layer" +#define AEGP_StreamGroupName_TEXT_LAYER "ADBE Text Layer" +#define AEGP_StreamGroupName_CAMERA_LAYER "ADBE Camera Layer" +#define AEGP_StreamGroupName_LIGHT_LAYER "ADBE Light Layer" +#define AEGP_StreamGroupName_AUDIO "ADBE Audio Group" +#define AEGP_StreamGroupName_MATERIAL_OPTIONS "ADBE Material Options Group" +#define AEGP_StreamGroupName_TRANSFORM "ADBE Transform Group" +#define AEGP_StreamGroupName_LIGHT_OPTIONS "ADBE Light Options Group" +#define AEGP_StreamGroupName_CAMERA_OPTIONS "ADBE Camera Options Group" + +#define kAEGPDynamicStreamSuite "AEGP Dynamic Stream Suite" +#define kAEGPDynamicStreamSuiteVersion4 5 /* frozen in AE 9.0 */ + +typedef struct AEGP_DynamicStreamSuite4 { + + SPAPI A_Err (*AEGP_GetNewStreamRefForLayer)( // used to start recursive walk of layer, + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewStreamRefForMask)( // used to start recursive walk of layer, + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH maskH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + + SPAPI A_Err (*AEGP_GetStreamDepth)( // layer is depth 0 + AEGP_StreamRefH streamH, /* >> */ + A_long *depthPL); /* << */ + + + SPAPI A_Err (*AEGP_GetStreamGroupingType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamGroupingType *group_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNumStreamsInGroup)( // error on leaf + AEGP_StreamRefH streamH, /* >> */ + A_long *num_streamsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetDynamicStreamFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags *stream_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetDynamicStreamFlag)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags one_flag, /* >> */ + A_Boolean undoableB, /* true if you want this to be an undoable change */ + /* if false, the only legal flag is AEGP_DynStreamFlag_HIDDEN */ + A_Boolean setB); /* >> */ + + + SPAPI A_Err (*AEGP_GetNewStreamRefByIndex)( // legal for namedgroup, indexedgroup, not leaf + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + A_long indexL, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewStreamRefByMatchname)( // legal for namedgroup + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + const A_char *utf8_match_nameZ, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DeleteStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH); /* >> */ // must still dispose the streamref later + + SPAPI A_Err (*AEGP_ReorderStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* <> updated to refer to newly ordered stream */ + A_long new_indexL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_long *new_indexPL0); /* << */ + + /* GetStreamName is in main kAEGPStreamSuite, and works on dynamic streams including groups */ + + SPAPI A_Err (*AEGP_SetStreamName)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* >> */ + const A_UTF16Char *nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_CanAddStream)( + AEGP_StreamRefH group_streamH, /* >> */ + const A_char *utf8_match_nameZ, /* >> make note: this is now defined as a UTF8 string! */ + A_Boolean *can_addPB); /* << */ + + SPAPI A_Err (*AEGP_AddStream)( /* UNDOABLE, only valid for AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH indexed_group_streamH, /* >> */ + const A_char *utf8_match_nameZ, /* >> make note: this is now defined as a UTF8 string! */ + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetMatchName)( + AEGP_StreamRefH streamH, /* >> */ + A_char *utf8_match_nameZ); /* << UTF8!! use A_char[AEGP_MAX_STREAM_MATCH_NAME_SIZE] for buffer */ + + SPAPI A_Err (*AEGP_GetNewParentStreamRef)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamRefH *parent_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamIsModified)( // i.e. changed from defaults, like the UU key + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *modifiedPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamIndexInParent)( // only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP + AEGP_StreamRefH streamH, /* >> */ + A_long *indexPL); /* << */ + + // Valid on leaf streams only. Returns true if this stream is a multidimensional stream + // that can have its dimensions separated, though they may not be currently separated. + // Terminology: A Leader is the stream that can be separated, a Follower is one + // of N automatically streams that correspond to the N dimensions of the Leader. + // A Leader isn't always separated, call AEGP_AreDimensionsSeparated to find out if it is. + // As of 8/20/2007, the only stream that is ever separarated is the layer's Position property. + // Please *do not* write code assuming that, we anticipate allowing separation of more streams in the future. + SPAPI A_Err (*AEGP_IsSeparationLeader)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *leaderPB); /* << */ + + // Valid on leaf streams only. Returns true if AEGP_IsSeparationLeader() is true and the + // dimensions are currently separated. If this is the case, this stream will have + // AEGP_DynStreamFlag_HIDDEN set, and AEGP_GetSeparationFollower() will help you find the individual + // dimension streams. However, some simple APIs can continue to be used on this leader, and + // they will simply automatically propagate to the follower, including: + // + // AEGP_GetNewStreamValue + // AEGP_SetStreamValue + // AEGP_GetLayerStreamValue + // + // Methods such as AEGP_GetNewKeyframeValue that work on keyframe indices will most definitely *not* work on the Leader property, + // you will need to retrieve and operate on the Followers explicitly. + SPAPI A_Err (*AEGP_AreDimensionsSeparated)( + AEGP_StreamRefH leader_streamH, /* >> */ + A_Boolean *separatedPB); /* << */ + + // Valid only if AEGP_IsSeparationLeader() is true. + SPAPI A_Err (*AEGP_SetDimensionsSeparated)( + AEGP_StreamRefH leader_streamH, /* >> */ + A_Boolean separatedB); /* << */ + + // Retrieve the Follower stream corresponding to a given dimension of the Leader stream. dimS + // can range from 0 to AEGP_GetStreamValueDimensionality(leader_streamH) - 1. + SPAPI A_Err (*AEGP_GetSeparationFollower)( + AEGP_StreamRefH leader_streamH, /* >> */ + A_short dimS, /* >> */ + AEGP_StreamRefH *follower_streamPH); /* << */ + + // Valid on leaf streams only. Returns true if this stream is a one dimensional property + // that represents one of the dimensions of a Leader. You can retrieve stream from the Leader + // using AEGP_GetSeparationFollower(). + SPAPI A_Err (*AEGP_IsSeparationFollower)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *followerPB); /* << */ + + // Valid on separation Followers only, returns the Leader it is part of + SPAPI A_Err (*AEGP_GetSeparationLeader)( + AEGP_StreamRefH follower_streamH, /* >> */ + AEGP_StreamRefH *leader_streamPH); /* << */ + + // Valid on separation Followers only, returns which dimension of the Leader it corresponds to + SPAPI A_Err (*AEGP_GetSeparationDimension)( + AEGP_StreamRefH follower_streamH, /* >> */ + A_short *dimPS); /* << */ + +} AEGP_DynamicStreamSuite4; + + + +/* -------------------------------------------------------------------- */ + +typedef A_long AEGP_KeyframeIndex; + +enum { + AEGP_KeyframeFlag_NONE = 0x00, + AEGP_KeyframeFlag_TEMPORAL_CONTINUOUS = 0x01, + AEGP_KeyframeFlag_TEMPORAL_AUTOBEZIER = 0x02, + AEGP_KeyframeFlag_SPATIAL_CONTINUOUS = 0x04, + AEGP_KeyframeFlag_SPATIAL_AUTOBEZIER = 0x08, + AEGP_KeyframeFlag_ROVING = 0x10 +}; +typedef A_long AEGP_KeyframeFlags; + + +enum { + AEGP_NumKF_NO_DATA = -1 +}; + +#define kAEGPKeyframeSuite "AEGP Keyframe Suite" +#define kAEGPKeyframeSuiteVersion4 4 /* frozen in 8 */ + +typedef struct AEGP_KeyframeSuite4 { + // the only diff from this vs. last rev is that routines that pass AEGP_StreamValue2, when referring to a marker, + // (comp or layer) the struct now contains the NEW markerP type, which is compatible with the new Marker Suite + + // returns AEGP_NumKF_NO_DATA if it's a AEGP_StreamType_NO_DATA, and you can't retrieve any values + // returns zero if no keyframes (but might have an expression, so not necessarily constant) + SPAPI A_Err (*AEGP_GetStreamNumKFs)( + AEGP_StreamRefH streamH, /* >> */ + A_long *num_kfsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetKeyframeTime)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *timePT); /* << */ + + // leaves stream unchanged if a keyframe already exists at specified time + SPAPI A_Err (*AEGP_InsertKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + AEGP_KeyframeIndex *key_indexP); /* << */ + + SPAPI A_Err (*AEGP_DeleteKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_KeyframeIndex key_index); /* >> */ + + SPAPI A_Err (*AEGP_GetNewKeyframeValue)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue2 *valueP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeValue)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue2 *valueP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetStreamValueDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *value_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetStreamTemporalDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *temporal_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetNewKeyframeSpatialTangents)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue2 *in_tanP0, /* << */ + AEGP_StreamValue2 *out_tanP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeSpatialTangents)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue2 *in_tanP0, /* >> not adopted */ + const AEGP_StreamValue2 *out_tanP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeTemporalEase)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + AEGP_KeyframeEase *in_easeP0, /* << */ + AEGP_KeyframeEase *out_easeP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeTemporalEase)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + const AEGP_KeyframeEase *in_easeP0, /* >> not adopted */ + const AEGP_KeyframeEase *out_easeP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags *flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeFlag)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags flag, /* >> set one flag at a time */ + A_Boolean true_falseB); /* >> */ + + SPAPI A_Err (*AEGP_GetKeyframeInterpolation)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType *in_interpP0, /* << */ + AEGP_KeyframeInterpolationType *out_interpP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeInterpolation)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType in_interp, /* >> */ + AEGP_KeyframeInterpolationType out_interp); /* >> */ + + SPAPI A_Err (*AEGP_StartAddKeyframes)( + AEGP_StreamRefH streamH, + AEGP_AddKeyframesInfoH *akPH); /* << */ + + + SPAPI A_Err (*AEGP_AddKeyframes)( + AEGP_AddKeyframesInfoH akH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_long *key_indexPL); /* >> */ + + SPAPI A_Err (*AEGP_SetAddKeyframe)( + AEGP_AddKeyframesInfoH akH, /* <> */ + A_long key_indexL, /* >> */ + const AEGP_StreamValue2 *valueP); /* >> */ + + SPAPI A_Err (*AEGP_EndAddKeyframes)( /* UNDOABLE */ + A_Boolean addB, + AEGP_AddKeyframesInfoH akH); /* >> */ + +} AEGP_KeyframeSuite4; + + +/* -------------------------------------------------------------------- */ + +#define kAEGPTextDocumentSuite "AEGP Text Document Suite" +#define kAEGPTextDocumentSuiteVersion1 1 /* frozen in AE 6.0 */ + +typedef struct AEGP_TextDocumentSuite1 { + + SPAPI A_Err (*AEGP_GetNewText)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_TextDocumentH text_documentH, /* >> */ + AEGP_MemHandle *unicodePH); /* << handle of A_u_short, UTF16, NULL terminated. must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetText)( + AEGP_TextDocumentH text_documentH, /* >> */ + const A_u_short *unicodePS, /* >> */ + A_long lengthL); /* >> number of characters */ + +} AEGP_TextDocumentSuite1; + +/* -------------------------------------------------------------------- */ + +#define kAEGPMarkerSuite "AEGP Marker Suite" +#define kAEGPMarkerSuiteVersion3 3 /* frozen in AE 16.0 */ + +enum { + AEGP_MarkerString_NONE, + + AEGP_MarkerString_COMMENT, + AEGP_MarkerString_CHAPTER, + AEGP_MarkerString_URL, + AEGP_MarkerString_FRAME_TARGET, + AEGP_MarkerString_CUE_POINT_NAME, + + AEGP_MarkerString_NUMTYPES +}; +typedef A_long AEGP_MarkerStringType; + +enum { + AEGP_MarkerFlag_NONE = 0x00000000, + AEGP_MarkerFlag_NAVIGATION = 0x00000001, // if this bit is zero, then the marker is for "Event" rather than "Navigation" + AEGP_MarkerFlag_PROTECT_REGION = 0x00000002 // if this bit is 1, then the marker is for a protected region (protected against timestretching, when existing on a precomp layer) +}; +typedef A_long AEGP_MarkerFlagType; + +typedef struct AEGP_MarkerSuite3 { + + SPAPI A_Err (*AEGP_NewMarker)( + AEGP_MarkerValP *markerPP); + + SPAPI A_Err (*AEGP_DisposeMarker)( + AEGP_MarkerValP markerP); + + SPAPI A_Err (*AEGP_DuplicateMarker)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerValP *new_markerP); // << + + SPAPI A_Err (*AEGP_SetMarkerFlag)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean valueB); // >> + + SPAPI A_Err (*AEGP_GetMarkerFlag)( + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean *valueBP); // << + + SPAPI A_Err (*AEGP_GetMarkerString)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerStringType strType, // >> + AEGP_MemHandle *unicodePH); /* << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetMarkerString)( + AEGP_MarkerValP markerP, // <<>> + AEGP_MarkerStringType strType, // >> + const A_u_short *unicodeP, // >> + A_long lengthL); // >> number of characters + + SPAPI A_Err (*AEGP_CountCuePointParams)( + AEGP_ConstMarkerValP markerP, // >> + A_long *paramsLP); // << + + SPAPI A_Err (*AEGP_GetIndCuePointParam)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstMarkerValP markerP, // >> + A_long param_indexL, // >> must be between 0 and count - 1. else error + AEGP_MemHandle *unicodeKeyPH, // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *unicodeValuePH); // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL, // must be between 0 and count - 1. else error + const A_u_short *unicodeKeyP, // >> UTF16 + A_long key_lengthL, // >> number of characters + const A_u_short *unicodeValueP, // >> UTF16 + A_long value_lengthL); // >> number of characters + + // this call is followed by AEGP_SetIndCuePointParam() to actually set the data + // the ONLY thing this function does is reserve the space for the param, at the provided index + SPAPI A_Err (*AEGP_InsertCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count. else error + + SPAPI A_Err (*AEGP_DeleteIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count - 1. else error + + SPAPI A_Err (*AEGP_SetMarkerDuration)( + AEGP_MarkerValP markerP, // >> + const A_Time *durationPT); // >> + + + SPAPI A_Err (*AEGP_GetMarkerDuration)( + AEGP_ConstMarkerValP markerP, // >> + A_Time *durationPT); // << + + SPAPI A_Err (*AEGP_SetMarkerLabel)( + AEGP_MarkerValP markerP, // >> + A_long value); // >> + + SPAPI A_Err (*AEGP_GetMarkerLabel)( + AEGP_ConstMarkerValP markerP, // >> + A_long *valueP); // << + +} AEGP_MarkerSuite3; + + +/* -------------------------------------------------------------------- */ + +#define kAEGPTextLayerSuite "AEGP Text Layer Suite" +#define kAEGPTextLayerSuiteVersion1 1 /* frozen in AE 6.0 */ + +typedef struct AEGP_TextLayerSuite1 { + + SPAPI A_Err (*AEGP_GetNewTextOutlines)( + AEGP_LayerH layerH, /* >> must be a text layer */ + const A_Time *layer_timePT, /* >> */ + AEGP_TextOutlinesH *outlinesPH); /* << must be disposed with AEGP_DisposeTextOutlines */ + + SPAPI A_Err (*AEGP_DisposeTextOutlines)( + AEGP_TextOutlinesH outlinesH); /* >> */ + + SPAPI A_Err (*AEGP_GetNumTextOutlines)( + AEGP_TextOutlinesH outlinesH, /* >> */ + A_long *num_outlinesPL); /* << */ + + SPAPI A_Err (*AEGP_GetIndexedTextOutline)( + AEGP_TextOutlinesH outlinesH, /* >> */ + A_long path_indexL, /* >> */ + PF_PathOutlinePtr *pathPP); /* << DO NOT DISPOSE */ + +} AEGP_TextLayerSuite1; + + +/* -------------------------------------------------------------------- */ + + +typedef A_long AEGP_InstalledEffectKey; +#define AEGP_InstalledEffectKey_NONE 0 + +#define RQ_ITEM_INDEX_NONE -1 + +enum { + AEGP_EffectFlags_NONE =0, + AEGP_EffectFlags_ACTIVE =0x01L << 0, + AEGP_EffectFlags_AUDIO_ONLY =0x01L << 1, + AEGP_EffectFlags_AUDIO_TOO =0x01L << 2, + AEGP_EffectFlags_MISSING =0x01L << 3 +}; +typedef A_long AEGP_EffectFlags; + +typedef A_long AEGP_EffectIndex; + + +#define kAEGPEffectSuite "AEGP Effect Suite" +#define kAEGPEffectSuiteVersion4 4 /* frozen in AE 13.0 */ + +typedef struct AEGP_EffectSuite4 { + + SPAPI A_Err (*AEGP_GetLayerNumEffects)( + AEGP_LayerH layerH, /* >> */ + A_long *num_effectsPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerEffectByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_EffectIndex layer_effect_indexL, /* >> */ + AEGP_EffectRefH *effectPH); /* << MUST dispose with DisposeEffect*/ + + SPAPI A_Err (*AEGP_GetInstalledKeyFromLayerEffect)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_InstalledEffectKey *installed_effect_keyP); /* << */ + + SPAPI A_Err (*AEGP_GetEffectParamUnionByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + PF_ParamType *param_typeP, /* << */ + PF_ParamDefUnion *uP0); /* << DO NOT USE THE VALUE FROM THIS PARAMDEF! */ + + SPAPI A_Err (*AEGP_GetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags *effect_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags effect_flags_set_mask, /* >> */ + AEGP_EffectFlags effect_flags); /* >> */ + + SPAPI A_Err (*AEGP_ReorderEffect)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + A_long effect_indexL); /* >> */ + + /** new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command **/ + SPAPI A_Err (*AEGP_EffectCallGeneric)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + const A_Time *timePT, /* >> Use the timebase of the layer to which effect is applied. */ + PF_Cmd effect_cmd, /* >> new parameter from version 2 */ + void *effect_extraPV); /* <> */ + + SPAPI A_Err (*AEGP_DisposeEffect)( + AEGP_EffectRefH effect_refH ); /* >> */ + + SPAPI A_Err (*AEGP_ApplyEffect)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_EffectRefH *effect_refPH); /* << MUST BE DISPOSED with AEGP_DisposeEffect */ + + SPAPI A_Err (*AEGP_DeleteLayerEffect)( + AEGP_EffectRefH effect_refH); /* >> undoable */ + + SPAPI A_Err (*AEGP_GetNumInstalledEffects)( + A_long *num_installed_effectsPL); /* << */ + + // pass in AEGP_InstalledEffectKey_NONE for installed_effect_key to get first effect key + + SPAPI A_Err (*AEGP_GetNextInstalledEffect)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_InstalledEffectKey *next_effectPH); /* << */ + + SPAPI A_Err (*AEGP_GetEffectName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_EFFECT_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectMatchName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *utf8_match_nameZ); /* << UTF8!! space for A_char[AEGP_MAX_EFFECT_MATCH_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectCategory)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *categoryZ); /* << space for A_char[AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_DuplicateEffect)( + AEGP_EffectRefH original_effect_refH, /* >> */ + AEGP_EffectRefH *duplicate_effect_refPH); /* << */ + + /** new in AE 13.0: effect masks */ + SPAPI A_Err (*AEGP_NumEffectMask)( + AEGP_EffectRefH effect_refH, /* >> */ + A_u_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetEffectMaskID)( + AEGP_EffectRefH effect_refH, /* >> */ + A_u_long mask_indexL, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_AddEffectMask)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_MaskIDVal id_val, /* >> */ + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_RemoveEffectMask)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_MaskIDVal id_val); /* >> */ + + SPAPI A_Err (*AEGP_SetEffectMask)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + A_u_long mask_indexL, /* >> */ + AEGP_MaskIDVal id_val, /* >> */ + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ +} AEGP_EffectSuite4; + + +/* -------------------------------------------------------------------- */ + +typedef A_long AEGP_MaskIndex; + +enum { + AEGP_MaskMBlur_SAME_AS_LAYER, + AEGP_MaskMBlur_OFF, + AEGP_MaskMBlur_ON +}; +typedef A_u_char AEGP_MaskMBlur; // This must be A_u_char, used in disk safe BEE_MaskInfo + +enum { + AEGP_MaskFeatherFalloff_SMOOTH, + AEGP_MaskFeatherFalloff_LINEAR +}; +typedef A_u_char AEGP_MaskFeatherFalloff; // This must be A_u_char, used in disk safe BEE_MaskInfo + +enum { + AEGP_MaskFeatherInterp_NORMAL, + AEGP_MaskFeatherInterp_HOLD_CW +}; +typedef A_u_char AEGP_MaskFeatherInterp; + +enum { + AEGP_MaskFeatherType_OUTER, + AEGP_MaskFeatherType_INNER +}; +typedef A_u_char AEGP_MaskFeatherType; + +#define kAEGPMaskSuite "AEGP Layer Mask Suite" +#define kAEGPMaskSuiteVersion6 7 /* frozen AE 11 */ + +typedef struct AEGP_MaskSuite6 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean invertB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMode)( + AEGP_MaskRefH maskH, /* >> */ + PF_MaskMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur *blur_stateP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur blur_state); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskFeatherFalloff)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskFeatherFalloff *feather_falloffP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskFeatherFalloff)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskFeatherFalloff feather_falloffP); /* >> */ + + // AEGP_GetMaskName/SetMaskName are obsoleted. Use AEGP_GetNewDynamicStreamForMask + // and the name functions there + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0); /* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( /* UNDOABLE */ + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + + SPAPI A_Err (*AEGP_GetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + const AEGP_ColorVal *colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_lockedPB); /* >> */ + + SPAPI A_Err (*AEGP_SetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean lockB); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_roto_bezierPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean is_roto_bezierB); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateMask)( + AEGP_MaskRefH orig_mask_refH, /* >> */ + AEGP_MaskRefH *duplicate_mask_refPH); /* << */ + +} AEGP_MaskSuite6; + + +/* -------------------------------------------------------------------- */ + +typedef struct { + A_long segment; /* mask segment where feather is located */ + PF_FpLong segment_sF; /* 0-1: feather location on segment */ + PF_FpLong radiusF; /* negative value allowed if type == AEGP_MaskFeatherType_INNER */ + PF_FpShort ui_corner_angleF; /* 0-1: angle of UI handle on corners */ + PF_FpShort tensionF; /* 0-1: tension of boundary at feather pt */ + AEGP_MaskFeatherInterp interp; + AEGP_MaskFeatherType type; +} AEGP_MaskFeather; + +typedef A_long AEGP_FeatherIndex; + +typedef PF_PathVertex AEGP_MaskVertex; + +typedef A_long AEGP_VertexIndex; +#define AEGP_VertexIndex_END 10922 + +#define kAEGPMaskOutlineSuite "AEGP Mask Outline Suite" +#define kAEGPMaskOutlineSuiteVersion3 5 /* frozen in AE 11 */ + +typedef struct AEGP_MaskOutlineSuite3 { + + SPAPI A_Err (*AEGP_IsMaskOutlineOpen)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_Boolean *openPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskOutlineOpen)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_Boolean openB); /* >> */ + + // N segments means there are segments [0..N-1]; segment J is defined by vertex J & J+1 + SPAPI A_Err (*AEGP_GetMaskOutlineNumSegments)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_long *num_segmentsPL); /* << */ + + // which_pointL range: [0..num_segments]; for closed masks vertex[0] == vertex[num_segments] + SPAPI A_Err (*AEGP_GetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> */ + AEGP_MaskVertex *vertexP); /* << tangents are relative to position */ + + // Setting vertex 0 is special. Its in tangent will actually set the out tangent + // of the last vertex in the outline. + SPAPI A_Err (*AEGP_SetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> must already exists (use Create) */ + const AEGP_MaskVertex *vertexP); /* >> tangents are relative to position */ + + SPAPI A_Err (*AEGP_CreateVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex insert_position); /* >> will insert at this index. moving other verticies index++*/ + + SPAPI A_Err (*AEGP_DeleteVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex index); /* >> */ + + + SPAPI A_Err (*AEGP_GetMaskOutlineNumFeathers)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_long *num_feathersPL); /* << */ + + SPAPI A_Err (*AEGP_GetMaskOutlineFeatherInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_FeatherIndex which_featherL, /* >> */ + AEGP_MaskFeather *featherP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskOutlineFeatherInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_featherL, /* >> must already exists (use Create) */ + const AEGP_MaskFeather *featherP); /* >> */ + + SPAPI A_Err (*AEGP_CreateMaskOutlineFeather)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + const AEGP_MaskFeather *featherP0, /* >> */ + AEGP_FeatherIndex *insert_positionP); /* << index of new feather */ + + SPAPI A_Err (*AEGP_DeleteMaskOutlineFeather)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_FeatherIndex index); /* >> */ + +} AEGP_MaskOutlineSuite3; + + +/* -------------------------------------------------------------------- */ + + +typedef FIEL_Label AEGP_InterlaceLabel; + +enum { + AEGP_AlphaPremul = 0x1, /* otherwise straight */ + AEGP_AlphaInverted = 0x2, /* 255 = transparent */ + AEGP_AlphaIgnore = 0x4 +}; +typedef A_u_long AEGP_AlphaFlags; + +typedef struct { + AEGP_AlphaFlags flags; + A_u_char redCu; // color that was matted (if premul) + A_u_char greenCu; + A_u_char blueCu; +} AEGP_AlphaLabel; + +enum { + AEGP_PulldownPhase_NO_PULLDOWN = 0, + AEGP_PulldownPhase_WSSWW = 1, + AEGP_PulldownPhase_SSWWW, + AEGP_PulldownPhase_SWWWS, + AEGP_PulldownPhase_WWWSS, + AEGP_PulldownPhase_WWSSW, + AEGP_PulldownPhase_WWWSW, + AEGP_PulldownPhase_WWSWW, + AEGP_PulldownPhase_WSWWW, + AEGP_PulldownPhase_SWWWW, + AEGP_PulldownPhase_WWWWS +}; +typedef A_long AEGP_PulldownPhase; + +typedef struct { + A_long loops; + A_long reserved; /* set to 0; reserved for future use (palindrome, etc.) */ +} AEGP_LoopBehavior; + +typedef struct { + AEGP_InterlaceLabel il; + AEGP_AlphaLabel al; + AEGP_PulldownPhase pd; + AEGP_LoopBehavior loop; + A_Ratio pix_aspect_ratio; + A_FpLong native_fpsF; + A_FpLong conform_fpsF; + A_long depthL; + A_Boolean motion_dB; +} AEGP_FootageInterp; + +#define AEGP_FOOTAGE_LAYER_NAME_LEN (63) +#define AEGP_LayerIndex_UNKNOWN (-2) +#define AEGP_LayerIndex_MERGED (-1) +#define AEGP_LayerID_UNKNOWN (-1) + +enum { + AEGP_LayerDrawStyle_LAYER_BOUNDS = 0, + AEGP_LayerDrawStyle_DOCUMENT_BOUNDS +}; + +typedef A_long AEGP_LayerDrawStyle; + + +typedef struct { + A_long layer_idL; /* unique ID for layer, as contained in a Photoshop document's 'lyid' resource. */ + /* pass AEGP_LayerID_UNKNOWN if you don't know this */ + A_long layer_indexL; /* zero-based layer index. pass AEGP_LayerIndex_MERGED for merged layers */ + A_char nameAC[AEGP_FOOTAGE_LAYER_NAME_LEN + 1]; /* used for sequences and backup for linking */ + AEGP_LayerDrawStyle layer_draw_style; + +} AEGP_FootageLayerKey; + +#define AEGP_ANY_FRAME -1 + +typedef struct { + A_Boolean all_in_folderB; /* TRUE means intepret as a sequence, FALSE means still frame. + If FALSE, other parameters in this structure have no effect. */ + A_Boolean force_alphabeticalB; /* if TRUE, filenames of sequence will be forced to alphabetical order */ + A_long start_frameL; /* first frame of sequence, AEGP_ANY_FRAME means earliest frame found */ + A_long end_frameL; /* last frame of sequence, AEGP_ANY_FRAME means last frame found */ +} AEGP_FileSequenceImportOptions; + +enum { + AEGP_FootageSignature_NONE = -1, // invalid sig + AEGP_FootageSignature_MISSING = 0, // placeholder + AEGP_FootageSignature_SOLID = 'Soli' +}; +typedef A_long AEGP_FootageSignature; + + +#define AEGP_FOOTAGE_MAIN_FILE_INDEX 0 + +#define kAEGPFootageSuite "AEGP Footage Suite" + +#define kAEGPFootageSuiteVersion5 11 /* frozen in AE 10.0 */ + + +enum { + AEGP_InterpretationStyle_NO_DIALOG_GUESS = 0, // FALSE for backwards compatability: will guess alpha interpretation even if file contains unknown alpha interpretation and user pref says to ask user + AEGP_InterpretationStyle_DIALOG_OK = 1, // TRUE for backwards comptability. Optionally can show a dialog. + AEGP_InterpretationStyle_NO_DIALOG_NO_GUESS = 2 // used for replace footage implementation +}; +typedef A_u_char AEGP_InterpretationStyle; + +typedef struct AEGP_FootageSuite5 { + + SPAPI A_Err (*AEGP_GetMainFootageFromItem)( /* error if item isn't AEGP_ItemType_FOOTAGE! */ + AEGP_ItemH itemH, /* >> */ + AEGP_FootageH *footagePH); /* << */ + + SPAPI A_Err (*AEGP_GetProxyFootageFromItem)( /* error if has_proxy is false! (note, item could still be a comp) */ + AEGP_ItemH itemH, /* >> */ + AEGP_FootageH *proxy_footagePH); /* << */ + + SPAPI A_Err (*AEGP_GetFootageNumFiles)( + AEGP_FootageH footageH, /* >> */ + A_long *num_main_filesPL0, /* << */ + A_long *files_per_framePL0); /* << includes main file. e.g. 1 for no aux data */ + + SPAPI A_Err (*AEGP_GetFootagePath)( + AEGP_FootageH footageH, /* >> */ + A_long frame_numL, /* >> range is 0 to num_main_files */ + A_long file_indexL, /* >> AEGP_FOOTAGE_MAIN_FILE_INDEX is main file */ + AEGP_MemHandle *unicode_pathPH); // << empty string if no file. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetFootageSignature)( + AEGP_FootageH footageH, /* >> */ + AEGP_FootageSignature *sigP); /* << like filetype, but also for non-file types like solids, etc. */ + + SPAPI A_Err (*AEGP_NewFootage)( + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + const AEGP_FootageLayerKey *layer_infoP0, /* >> optional layer info; pass NULL for merged layers */ + const AEGP_FileSequenceImportOptions *sequence_optionsP0, /* >> optional sequence info; passing NULL means not a sequence */ + AEGP_InterpretationStyle interp_style, /* >> (in) */ + void *reserved, /* >> pass NULL */ + AEGP_FootageH *footagePH); /* << caller owns until disposed or added to project */ + + SPAPI A_Err (*AEGP_AddFootageToProject)( /* UNDOABLE */ + AEGP_FootageH footageH, /* >> will be adopted by project, may not be added more than once */ + AEGP_ItemH folderH, /* >> add to this folder */ + AEGP_ItemH *added_itemPH0); /* << */ + + SPAPI A_Err (*AEGP_SetItemProxyFootage)( /* UNDOABLE */ + AEGP_FootageH footageH, /* >> will be adopted by project, may not be set more than once */ + AEGP_ItemH itemH); /* >> set for this item */ + + SPAPI A_Err (*AEGP_ReplaceItemMainFootage)( /* UNDOABLE */ + AEGP_FootageH footageH, /* >> will be adopted by project, may not be set more than once */ + AEGP_ItemH itemH); /* >> replace main footage for this item */ + + SPAPI A_Err (*AEGP_DisposeFootage)( + AEGP_FootageH footageH); /* >> do not dipose footage that is owned or has been adopted by project */ + + SPAPI A_Err (*AEGP_GetFootageInterpretation)( + AEGP_ItemH itemH, /* >> note: item that contains footage */ + A_Boolean proxyB, /* >> TRUE = get proxy interp; FALSE = get main interp */ + AEGP_FootageInterp *interpP); /* << */ + + SPAPI A_Err (*AEGP_SetFootageInterpretation)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> note: item that contains footage */ + A_Boolean proxyB, /* >> TRUE = set proxy interp; FALSE = set main interp */ + const AEGP_FootageInterp *interpP); /* >> */ + + SPAPI A_Err (*AEGP_GetFootageLayerKey) ( + AEGP_FootageH footageH, /* >> */ + AEGP_FootageLayerKey *layerKeyP); /* << the footages layer info */ + + SPAPI A_Err (*AEGP_NewPlaceholderFootage)( /* doesn't modify project, creates footage with AEGP_FootageSignature_MISSING */ + AEGP_PluginID plugin_id, /* >> */ + const A_char *nameZ, /* >> file name, not the path! */ + A_long width, /* >> */ + A_long height, /* >> */ + const A_Time *durationPT, /* >> */ + AEGP_FootageH *footagePH); /* << caller owns until disposed or added to project */ + + SPAPI A_Err (*AEGP_NewPlaceholderFootageWithPath)( /* doesn't modify project, creates footage with AEGP_FootageSignature_MISSING */ + AEGP_PluginID plugin_id, /* >> */ + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + AEGP_Platform path_platform, /* >> Mac or Win */ + AEIO_FileType file_type, // >> AEIO_FileType_NONE is now a warning condition. If you pass AEIO_FileType_ANY, then path MUST exist. if path may not exist: pass AEIO_FileType_DIR for folder, or AEIO_FileType_GENERIC for a file + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Time *durationPT, /* >> */ + AEGP_FootageH *footagePH); /* << caller owns until disposed or added to project */ + + SPAPI A_Err (*AEGP_NewSolidFootage)( /* doesn't modify project, creates footage with AEGP_FootageSignature_SOLID */ + const A_char *nameZ, /* >> file name, not the path! */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *colorP, /* >> */ + AEGP_FootageH *footagePH); /* << caller owns until disposed or added to project */ + + SPAPI A_Err (*AEGP_GetSolidFootageColor)( /* error if footage isn't AEGP_FootageSignature_SOLID */ + AEGP_ItemH itemH, /* >> note: item that contains footage */ + A_Boolean proxyB, /* >> TRUE = get proxy solid color; FALSE = get main solid color */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetSolidFootageColor)( /* UNDOABLE, error if footage isn't AEGP_FootageSignature_SOLID */ + AEGP_ItemH itemH, /* >> note: item that contains footage */ + A_Boolean proxyB, /* >> TRUE = set proxy solid color; FALSE = set main solid color */ + const AEGP_ColorVal *colorP); /* >> */ + + SPAPI A_Err (*AEGP_SetSolidFootageDimensions)( /* UNDOABLE, error if footage isn't AEGP_FootageSignature_SOLID */ + AEGP_ItemH itemH, /* >> note: item that contains footage */ + A_Boolean proxyB, /* >> TRUE = set proxy solid size; FALSE = set main solid size */ + A_long widthL, /* >> min 1, max 30,000 */ + A_long heightL); /* >> min 1, max 30,000 */ + + SPAPI A_Err (*AEGP_GetFootageSoundDataFormat)( + AEGP_FootageH footageH, /* >> */ + AEGP_SoundDataFormat* sound_formatP); /* << */ + + SPAPI A_Err (*AEGP_GetFootageSequenceImportOptions)( + AEGP_FootageH footageH, /* >> */ + AEGP_FileSequenceImportOptions *optionsP); /* << */ + +} AEGP_FootageSuite5; + +/* -------------------------------------------------------------------- */ + + +typedef A_long AEGP_Command; + +#define AEGP_Command_ALL 0 + +enum { + AEGP_WindType_NONE, + AEGP_WindType_PROJECT, + AEGP_WindType_COMP, + AEGP_WindType_TIME_LAYOUT, + AEGP_WindType_LAYER, + AEGP_WindType_FOOTAGE, + AEGP_WindType_RENDER_QUEUE, + AEGP_WindType_QT, + AEGP_WindType_DIALOG, + AEGP_WindType_FLOWCHART, + AEGP_WindType_EFFECT, + AEGP_WindType_OTHER +}; +typedef A_LegacyEnumType AEGP_WindowType; + + +enum { + AEGP_HP_BeforeAE = 0x1, // call hook before AE handles event (if AE handles) + AEGP_HP_AfterAE = 0x2 // call hook after AE handles event (if AE handles) +}; +typedef A_u_long AEGP_HookPriority; + + +typedef A_Err (*AEGP_CommandHook)( + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_CommandRefcon refconP, /* >> */ + AEGP_Command command, /* >> */ + AEGP_HookPriority hook_priority, /* >> currently always AEGP_HP_BeforeAE */ + A_Boolean already_handledB, /* >> */ + A_Boolean *handledPB); /* << whether you handled */ + +typedef A_Err (*AEGP_UpdateMenuHook)( + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_UpdateMenuRefcon refconP, /* >> */ + AEGP_WindowType active_window); /* >> */ + +typedef A_Err (*AEGP_DeathHook)( + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_DeathRefcon refconP); /* >> */ + +typedef A_Err (*AEGP_VersionHook)( /* As of 5.0, not called */ + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_VersionRefcon refconP, /* >> */ + A_u_long *pf_versionPLu); /* << use PF_VERSION() macro to build and PF_Version_XXX() macros to access */ + + // one line description. when displaying, AE will prepend name and version information. + // this will be used to display a list of about info for all plugins + +typedef A_Err (*AEGP_AboutStringHook)( /* As of 5.0, not called */ + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_AboutStringRefcon refconP, /* >> */ + A_char *aboutZ); /* << space for A_char[AEGP_MAX_ABOUT_STRING_SIZE] */ + + // bring up a dialog and tell us about yourself +typedef A_Err (*AEGP_AboutHook)( /* As of 5.0, not called */ + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_AboutRefcon refconP); /* >> */ + +typedef A_Err (*AEGP_IdleHook)( + AEGP_GlobalRefcon plugin_refconP, /* >> */ + AEGP_IdleRefcon refconP, /* >> */ + A_long *max_sleepPL); /* <> in 1/60 of a second*/ + + + + +#define kAEGPRegisterSuite "AEGP Register Suite" +#define kAEGPRegisterSuiteVersion5 6 /* frozen AE 10.0 */ + +typedef struct AEGP_RegisterSuite5 { + + SPAPI A_Err (*AEGP_RegisterCommandHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_HookPriority hook_priority, /* >> */ + AEGP_Command command, /* >> use AEGP_Command_ALL to get all commands */ + AEGP_CommandHook command_hook_func, /* >> */ + AEGP_CommandRefcon refconP); /* >> */ + + // this will be called anytime any menu is about to be drawn. it isn't specific to a menu so you + // must enable all appropriate menu items when this hook is called. + + SPAPI A_Err (*AEGP_RegisterUpdateMenuHook)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_UpdateMenuHook update_menu_hook_func, /* >> */ + AEGP_UpdateMenuRefcon refconP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterDeathHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_DeathHook death_hook_func, /* >> */ + AEGP_DeathRefcon refconP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterVersionHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_VersionHook version_hook_func, /* >> */ + AEGP_VersionRefcon refconP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterAboutStringHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_AboutStringHook about_string_hook_func, /* >> */ + AEGP_AboutStringRefcon refconP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterAboutHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_AboutHook about_hook_func, /* >> */ + AEGP_AboutRefcon refconP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterArtisan) ( + A_Version api_version, /* >> */ + A_Version artisan_version, /* >> */ + AEGP_PluginID aegp_plugin_id, /* >> */ + void *aegp_refconPV, /* <> */ + const A_char *utf8_match_nameZ, /* >> */ + const A_char *artisan_nameZ, /* >> */ + PR_ArtisanEntryPoints *entry_funcs); /* >> */ + + SPAPI A_Err (*AEGP_RegisterIO) ( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_IORefcon aegp_refconP, /* >> */ + const AEIO_ModuleInfo *io_infoP, /* >> */ + const AEIO_FunctionBlock4 *aeio_fcn_blockP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterIdleHook)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_IdleHook idle_hook_func, /* >> */ + AEGP_IdleRefcon refconP); /* >> */ + + + SPAPI A_Err (*AEGP_RegisterTracker)( + A_Version api_version, /* >> */ + A_Version tracker_version, /* >> */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const AEGP_GlobalRefcon refconP, /* >> */ + const A_char *utf8_match_nameZ, /* >> */ + const A_char *tracker_nameZ, /* >> */ + const PT_TrackerEntryPoints *entry_pointsP); /* >> */ + + SPAPI A_Err (*AEGP_RegisterInteractiveArtisan) ( + A_Version api_version, /* >> */ + A_Version artisan_version, /* >> */ + AEGP_PluginID aegp_plugin_id, /* >> */ + void *aegp_refconPV, /* <> */ + const A_char *utf8_match_nameZ, /* >> */ + const A_char *artisan_nameZ, /* >> */ + PR_ArtisanEntryPoints *entry_funcs); /* >> */ + + // Call this to register as many strings as you like for name-replacement + // when presets are loaded. Any time a Property name is found, or referred + // to in an expression, and it starts with an ASCII tab character ('\t'), followed + // by one of the english names, it will be replaced with the localized name. (In + // English the tab character will simply be removed). + SPAPI A_Err (*AEGP_RegisterPresetLocalizationString) ( + const A_char *english_nameZ, /* >> */ + const A_char *localized_nameZ); /* >> */ + + + +} AEGP_RegisterSuite5; + + +/* -------------------------------------------------------------------- */ + + +enum { + AEGP_Menu_NONE, + AEGP_Menu_APPLE, + AEGP_Menu_FILE, + AEGP_Menu_EDIT, + AEGP_Menu_COMPOSITION, + AEGP_Menu_LAYER, + AEGP_Menu_EFFECT, + AEGP_Menu_WINDOW, + AEGP_Menu_FLOATERS, + AEGP_Menu_KF_ASSIST, + AEGP_Menu_IMPORT, + AEGP_Menu_SAVE_FRAME_AS, + AEGP_Menu_PREFS, + AEGP_Menu_EXPORT, + AEGP_Menu_ANIMATION, + AEGP_Menu_PURGE, + //the following menu options only valid for AE 12.0 and up + AEGP_Menu_NEW +}; +typedef A_LegacyEnumType AEGP_MenuID; + + +#define AEGP_MENU_INSERT_SORTED (-2) +#define AEGP_MENU_INSERT_AT_BOTTOM (-1) +#define AEGP_MENU_INSERT_AT_TOP 0 + + +#define kAEGPCommandSuite "AEGP Command Suite" +#define kAEGPCommandSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct AEGP_CommandSuite1 { + + SPAPI A_Err (*AEGP_GetUniqueCommand)( + AEGP_Command *unique_commandP); /* << */ + + SPAPI A_Err (*AEGP_InsertMenuCommand)( + AEGP_Command command, /* >> */ + const A_char *nameZ, /* >> */ + AEGP_MenuID menu_id, /* >> */ + A_long after_itemL); /* >> */ + + SPAPI A_Err (*AEGP_RemoveMenuCommand)( + AEGP_Command command); /* >> */ + + SPAPI A_Err (*AEGP_SetMenuCommandName)( + AEGP_Command command, /* >> */ + const A_char *nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EnableCommand)( + AEGP_Command command); /* >> */ + + SPAPI A_Err (*AEGP_DisableCommand)( + AEGP_Command command); /* >> */ + + SPAPI A_Err (*AEGP_CheckMarkMenuCommand)( + AEGP_Command command, /* >> */ + A_Boolean checkB); /* >> */ + + SPAPI A_Err (*AEGP_DoCommand)( + AEGP_Command command); /* >> */ + +} AEGP_CommandSuite1; + + + + +/* -------------------------------------------------------------------- */ + + +typedef struct { + A_long reservedAL[12]; +} AEGP_ErrReportState; + + +enum { + AEGP_GetPathTypes_PLUGIN = 0, // (Not Implemented) The path to the executable of the plugin itself. + AEGP_GetPathTypes_USER_PLUGIN, // The suite specific location of user specific plugins. + AEGP_GetPathTypes_ALLUSER_PLUGIN, // The suite specific location of plugins shared by all users. + AEGP_GetPathTypes_APP // The After Effects exe or .app location. Not plugin specific. + }; +typedef A_u_long AEGP_GetPathTypes; + + +#define kAEGPUtilitySuite "AEGP Utility Suite" +#define kAEGPUtilitySuiteVersion6 13 /* frozen in AE 12.0 */ + +typedef struct AEGP_UtilitySuite6 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string. See also: ReportInfoUnicode */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + SPAPI A_Err (*AEGP_ReportInfoUnicode)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_UTF16Char *info_stringP); /* >> */ + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_GetLastErrorMessage)( + A_long buffer_size, /* >> size of character buffer */ + A_char *error_string, /* << */ + A_Err *error_num); /* << */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + + SPAPI A_Err (*AEGP_ShowHideAllFloaters)( + A_Boolean include_tool_palB); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalGetForeColor)( + AEGP_ColorVal *fore_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalGetBackColor)( + AEGP_ColorVal *back_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalSetForeColor)( + const AEGP_ColorVal *fore_colorP); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalSetBackColor)( + const AEGP_ColorVal *back_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalGetFillColor)( + A_Boolean *is_fill_color_definedPB, /* << */ + AEGP_ColorVal *fill_colorP); /* << only valid if is_fill_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalGetStrokeColor)( + A_Boolean *is_stroke_color_definedPB, /* << */ + AEGP_ColorVal *stroke_colorP); /* << only valid if is_stroke_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalSetFillColor)( + const AEGP_ColorVal *fill_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalSetStrokeColor)( + const AEGP_ColorVal *stroke_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalIsFillColorUIFrontmost)( /* Otherwise, StrokeColor is frontmost */ + A_Boolean *is_fill_color_selectedPB); /* << */ + + SPAPI A_Err (*AEGP_ConvertFpLongToHSFRatio)( + A_FpLong numberF, /* >> */ + A_Ratio *ratioPR); /* << */ + + SPAPI A_Err (*AEGP_ConvertHSFRatioToFpLong)( + A_Ratio ratioR, /* << */ + A_FpLong *numberPF); /* >> */ + + // this routine is safe to call from the non-main + // thread. It is asynchronous and will return before the idle handler is called. + // The Suite routines to get this pointer are not + // thread safe, therefore you need to save it off + // in the main thread for use by the child thread. + SPAPI A_Err (*AEGP_CauseIdleRoutinesToBeCalled)(void); + + + // Determine if after effects is running in a mode where there is no + // user interface, and attempting to interact with the user (via a modal dialog) + // will hang the application. + // This will not change during a run. Use it to optimize your plugin at startup + // to not create a user interface and make AE launch faster, and not break + // when running multiple instances of a service. + SPAPI A_Err (*AEGP_GetSuppressInteractiveUI)(A_Boolean* ui_is_suppressedPB); // out + + // this call writes text to the console if one is available. One is guaranteed to be available + // if ui_is_suppressedB == true. + // In general use the call AEGP_ReportInfo() as it will write to the console in + // non-interactive modes, and use a dialog in interactive modes. + SPAPI A_Err (*AEGP_WriteToOSConsole)(const A_char* textZ); // in + + // this writes an entry into the debug log, or to the command line if launched + // with the -debug flag. + SPAPI A_Err (*AEGP_WriteToDebugLog)(const A_char* subsystemZ, // in + const A_char* event_typeZ, // in + const A_char * infoZ); // in + + + SPAPI A_Err (*AEGP_IsScriptingAvailable)(A_Boolean* outAvailablePB); + + // Execute a script. + // The script text can either be in UTF-8, or the current + // application encoding. + // The result is the result string if OK. It is optional. + // The error is the error string if an error occurred. It is optional. + // the result and error are in the encoding specified by platform_encodingB + SPAPI A_Err (*AEGP_ExecuteScript)(AEGP_PluginID inPlugin_id, + const A_char* inScriptZ, // in + const A_Boolean platform_encodingB, // in + AEGP_MemHandle* outResultPH0, + AEGP_MemHandle* outErrorStringPH0); + + SPAPI A_Err (*AEGP_HostIsActivated)(A_Boolean *is_activatedPB); + + SPAPI A_Err (*AEGP_GetPluginPlatformRef)(AEGP_PluginID plug_id, void** plat_refPPV); // on the Mac, it is a CFBundleRef to your mach-o plugin or NULL for a CFM plug-in; on Windows it is set to NULL for now + + SPAPI A_Err (*AEGP_UpdateFontList)(void); // Rescan the system font list. This will return quickly if the font list hasn't changed. + + // return a particular path associated with the plugin + SPAPI A_Err (*AEGP_GetPluginPaths)( + AEGP_PluginID aegp_plugin_id, // >> which plugin we are talking about + AEGP_GetPathTypes path_type, // >> which path type to retrieve + AEGP_MemHandle *unicode_pathPH); // << UTF16 mem handle must be disposed with AEGP_FreeMemHandle + +} AEGP_UtilitySuite6; + + + +/* -------------------------------------------------------------------- */ + + +#define kAEGPMathSuite "AEGP Math Suite" +#define kAEGPMathSuiteVersion1 1 /* frozen AE 15.0 */ + +typedef struct AEGP_MathSuite1 { + + // Matrices + // right-hand rule, Y down, origin in upper left corner of comp. + + SPAPI A_Err(*AEGP_IdentityMatrix4)(A_Matrix4 *matrixP); + + SPAPI A_Err(*AEGP_MultiplyMatrix4)(const A_Matrix4 *A, const A_Matrix4 *B, A_Matrix4 *resultP); + + SPAPI A_Err(*AEGP_Matrix3ToMatrix4)(const A_Matrix3 *A, A_Matrix4 *B); + + SPAPI A_Err(*AEGP_MultiplyMatrix4by3)(const A_Matrix4 *A, const A_Matrix3 *B, A_Matrix4 *resultP); + + SPAPI A_Err(*AEGP_MatrixDecompose4)(const A_Matrix4 *A, A_FloatPoint3* posVP, A_FloatPoint3* scaleVP, A_FloatPoint3* shearVP, A_FloatPoint3* rotVP); + +} AEGP_MathSuite1; + + +/* -------------------------------------------------------------------- */ + + + +typedef struct _PF_OpaqueBlendingTables *PF_EffectBlendingTables; + +#define kAEGPColorSettingsSuite "PF Color Settings Suite" +#define kAEGPColorSettingsSuiteVersion3 4 // frozen in AE 16.1; adding an API to set working color space + +typedef struct AEGP_ColorSettingsSuite3 { + + SPAPI A_Err (*AEGP_GetBlendingTables)( + PR_RenderContextH render_contextH, + PF_EffectBlendingTables *blending_tables); + + SPAPI A_Err (*AEGP_DoesViewHaveColorSpaceXform)( + AEGP_ItemViewP viewP, // >> + A_Boolean *has_xformPB); // << + + SPAPI A_Err (*AEGP_XformWorkingToViewColorSpace)( + AEGP_ItemViewP viewP, // >> + AEGP_WorldH srcH, // in + AEGP_WorldH dstH); // out; must be the same size (can be the same as source) + + SPAPI A_Err (*AEGP_GetNewWorkingSpaceColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_CompH compH, // >> + AEGP_ColorProfileP *color_profilePP); // << caller must dispose with AEGP_DisposeColorProfile + + SPAPI A_Err (*AEGP_GetNewColorProfileFromICCProfile)( + AEGP_PluginID aegp_plugin_id, // >> + A_long icc_sizeL, // >> icc profile size + const void *icc_dataPV, // >> icc profile + AEGP_ColorProfileP *color_profilePP); // << builds AEGP_ColorProfile from icc profile; caller must dispose with AEGP_DisposeColorProfile + + SPAPI A_Err (*AEGP_GetNewICCProfileFromColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstColorProfileP color_profileP, // >> + AEGP_MemHandle *icc_profilePH); // << extract icc profile from AEGP_ColorProfile; caller must dispose with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNewColorProfileDescription)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstColorProfileP color_profileP, // >> + AEGP_MemHandle *unicode_descPH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_DisposeColorProfile)( + AEGP_ColorProfileP color_profileP); // >> + + SPAPI A_Err (*AEGP_GetColorProfileApproximateGamma)( + AEGP_ConstColorProfileP color_profileP, // >> + A_FpShort *approx_gammaP); // << + + SPAPI A_Err (*AEGP_IsRGBColorProfile)( + AEGP_ConstColorProfileP color_profileP, // << + A_Boolean *is_rgbPB); // >> + + SPAPI A_Err (*AEGP_SetWorkingColorSpace)( + AEGP_PluginID aegp_plugin_id, + AEGP_CompH compH, // >> + AEGP_ConstColorProfileP color_profileP); // >> + + +} AEGP_ColorSettingsSuite3; + + +/* -------------------------------------------------------------------- */ +/* + Render Queue Suite + Used to add, remove, and modify items in the reder queue. + + */ + +#define kAEGPRenderQueueSuite "AEGP Render Queue Suite" +#define kAEGPRenderQueueSuiteVersion1 1 /* frozen in AE 5.0 */ + +enum { + AEGP_RenderQueueState_STOPPED, + AEGP_RenderQueueState_PAUSED, + AEGP_RenderQueueState_RENDERING +}; + +typedef A_u_long AEGP_RenderQueueState; + +enum { + AEGP_RenderItemStatus_NONE = -2, + + AEGP_RenderItemStatus_WILL_CONTINUE, // -1 + AEGP_RenderItemStatus_NEEDS_OUTPUT, // 0 + AEGP_RenderItemStatus_UNQUEUED, // 1 ready to be rendered, but not included in the queue + AEGP_RenderItemStatus_QUEUED, // 2 ready AND queued + AEGP_RenderItemStatus_RENDERING, + AEGP_RenderItemStatus_USER_STOPPED, + AEGP_RenderItemStatus_ERR_STOPPED, + AEGP_RenderItemStatus_DONE, + + AEGP_RenderItemStatus_LAST_PLUS_ONE +}; + +typedef A_long AEGP_RenderItemStatusType; + +typedef struct AEGP_RenderQueueSuite1 { + SPAPI A_Err (*AEGP_AddCompToRenderQueue)( + AEGP_CompH comp, /* >> */ + const A_char* pathZ); + + // not legal to go from STOPPED to PAUSED. + SPAPI A_Err (*AEGP_SetRenderQueueState)( + AEGP_RenderQueueState state); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderQueueState)( + AEGP_RenderQueueState *stateP); /* << */ + +} AEGP_RenderQueueSuite1; + +/* -------------------------------------------------------------------- */ + +enum { + AEGP_LogType_NONE = -1, + AEGP_LogType_ERRORS_ONLY, + AEGP_LogType_PLUS_SETTINGS, + AEGP_LogType_PER_FRAME_INFO, + AEGP_LogType_NUM_TYPES +}; + +typedef A_long AEGP_LogType; + +enum { + AEGP_Embedding_NONE = -1, + AEGP_Embedding_NOTHING, + AEGP_Embedding_LINK, + AEGP_Embedding_LINK_AND_COPY, + AEGP_Embedding_NUM_TYPES +}; + +typedef A_long AEGP_EmbeddingType; + +enum { + AEGP_PostRenderOptions_NONE = -1, + AEGP_PostRenderOptions_IMPORT, + AEGP_PostRenderOptions_IMPORT_AND_REPLACE_USAGE, + AEGP_PostRenderOptions_SET_PROXY, + AEGP_PostRenderOptions_NUM_OPTIONS +}; + +typedef A_long AEGP_PostRenderAction; + +enum { + AEGP_OutputType_NONE = 0, + AEGP_OutputType_VIDEO = 1L << 0, + AEGP_OutputType_AUDIO = 1L << 1, + AEGP_OutputType_NUM_TYPES +}; + +typedef A_long AEGP_OutputTypes; + +enum { + AEGP_VideoChannels_NONE = -1, + AEGP_VideoChannels_RGB, + AEGP_VideoChannels_RGBA, + AEGP_VideoChannels_ALPHA, + AEGP_VideoChannels_NUMTYPES +}; + +typedef A_long AEGP_VideoChannels; + +enum { + AEGP_StretchQual_NONE = -1, + + AEGP_StretchQual_LOW, + AEGP_StretchQual_HIGH, + + AEGP_StretchQual_NUMTYPES +}; +typedef A_long AEGP_StretchQuality; + +enum { + AEGP_OutputColorType_STRAIGHT = -1, + AEGP_OutputColorType_PREMUL +}; + +typedef A_long AEGP_OutputColorType; + +#define kAEGPRQItemSuite "AEGP Render Queue Item Suite" +#define kAEGPRQItemSuiteVersion4 5 /* frozen in AE 14.1 */ + +typedef struct AEGP_RQItemSuite4 { + + SPAPI A_Err (*AEGP_GetNumRQItems)( + A_long *num_itemsPL); /* << */ + + /* NOTE: All AEGP_RQItemRefH are invalidated by ANY + re-ordering, addition or removal of render + items. DO NOT CACHE THEM. + */ + + SPAPI A_Err (*AEGP_GetRQItemByIndex)( + A_long rq_item_index, /* >> */ + AEGP_RQItemRefH *rq_item_refPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextRQItem)( /* Pass RQ_ITEM_INDEX_NONE for current_rq_itemH to get first RQItemH. */ + AEGP_RQItemRefH current_rq_itemH, /* >> */ + AEGP_RQItemRefH *next_rq_itemH); /* << */ + + SPAPI A_Err (*AEGP_GetNumOutputModulesForRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_long *num_outmodsPL); /* << */ + + SPAPI A_Err (*AEGP_GetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType *statusP); /* << */ + + /* + the following now returns: + Err_PARAMETER if you try to call while AEGP_RenderQueueState != AEGP_RenderQueueState_STOPPED + + if that's okay then: + Err_RANGE if you pass a status that is illegal in any case + Err_PARAMETER if you try to pass a status that doesn't make sense right now (eg: trying to Que something for which you haven't set the output path) + */ + SPAPI A_Err (*AEGP_SetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType status); /* >> */ + + SPAPI A_Err (*AEGP_GetStartedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *started_timePT); /* << Returns {0,1} if not started. */ + + SPAPI A_Err (*AEGP_GetElapsedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *render_timePT); /* << Returns {0,1} if not rendered. */ + + SPAPI A_Err (*AEGP_GetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType *logtypeP); /* << */ + + SPAPI A_Err (*AEGP_SetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType logtype); /* << */ + + SPAPI A_Err (*AEGP_RemoveOutputModule)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH); /* >> */ + + SPAPI A_Err (*AEGP_GetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_MemHandle *unicodeH); /* << */ + + SPAPI A_Err (*AEGP_SetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + const A_UTF16Char *commentZ); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFromRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_DeleteRQItem)( + AEGP_RQItemRefH rq_itemH); /* <> UNDOABLE */ + +} AEGP_RQItemSuite4; + + +#define kAEGPOutputModuleSuite "AEGP Output Module Suite" +#define kAEGPOutputModuleSuiteVersion4 4 /* frozen in AE 10.0 */ + +typedef struct AEGP_OutputModuleSuite4 { + + /* NOTE: All AEGP_OutputModuleRefHs are invalidated by ANY + re-ordering, addition or removal of output modules + from a render item. DO NOT CACHE THEM. + */ + + SPAPI A_Err (*AEGP_GetOutputModuleByIndex)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_long outmod_indexL, /* >> */ + AEGP_OutputModuleRefH *outmodPH); /* << */ + + SPAPI A_Err (*AEGP_GetEmbedOptions)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_EmbeddingType *embed_optionsP); /* << */ + + SPAPI A_Err (*AEGP_SetEmbedOptions)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_EmbeddingType embed_options); /* >> */ + + SPAPI A_Err (*AEGP_GetPostRenderAction)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_PostRenderAction *post_render_actionP); /* << */ + + SPAPI A_Err (*AEGP_SetPostRenderAction)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_PostRenderAction post_render_action); /* >> */ + + SPAPI A_Err (*AEGP_GetEnabledOutputs)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_OutputTypes *enabled_typesP); /* << */ + + SPAPI A_Err (*AEGP_SetEnabledOutputs)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_OutputTypes enabled_types); /* >> */ + + SPAPI A_Err (*AEGP_GetOutputChannels)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_VideoChannels *output_channelsP); /* << */ + + SPAPI A_Err (*AEGP_SetOutputChannels)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_VideoChannels output_channels); /* >> */ + + SPAPI A_Err (*AEGP_GetStretchInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + A_Boolean *is_enabledPB, /* << */ + AEGP_StretchQuality *stretch_qualityP, /* << */ + A_Boolean *lockedPB); /* << */ + + SPAPI A_Err (*AEGP_SetStretchInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + A_Boolean is_enabledB, /* >> */ + AEGP_StretchQuality stretch_quality); /* >> */ + + SPAPI A_Err (*AEGP_GetCropInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + A_Boolean *is_enabledBP, /* << */ + A_Rect *crop_rectP); /* << */ + + SPAPI A_Err (*AEGP_SetCropInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + A_Boolean enableB, /* >> */ + A_Rect crop_rect); /* >> */ + + SPAPI A_Err (*AEGP_GetSoundFormatInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_SoundDataFormat *sound_format_infoP, /* << */ + A_Boolean *audio_enabledPB); /* << */ + + SPAPI A_Err (*AEGP_SetSoundFormatInfo)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_SoundDataFormat sound_format_info, /* >> */ + A_Boolean audio_enabledB); /* >> */ + + SPAPI A_Err (*AEGP_GetOutputFilePath)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + AEGP_MemHandle *unicode_pathPH); // << empty string if not specified. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetOutputFilePath)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH, /* >> */ + const A_UTF16Char *pathZ); // >> null terminated unicode path with platform separators + + SPAPI A_Err (*AEGP_AddDefaultOutputModule)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH *outmodPH); /* << */ + + SPAPI A_Err (*AEGP_GetExtraOutputModuleInfo)( + AEGP_RQItemRefH rq_itemH, + AEGP_OutputModuleRefH outmodH, + AEGP_MemHandle *format_unicodePH, /* << handle of A_u_short, (contains null terminated UTF16 string) must be disposed with AEGP_FreeMemHandle */ + AEGP_MemHandle *info__unicodePH, /* << handle of A_u_short, (contains null terminated UTF16 string) must be disposed with AEGP_FreeMemHandle */ + A_Boolean *is_sequenceBP, + A_Boolean *multi_frameBP); + +} AEGP_OutputModuleSuite4; + +/* -------------------------------------------------------------------- */ + +/** + ** Canvas Suite + ** Used by artisans to render layers + **/ + +#define kAEGPCanvasSuite "AEGP Canvas Suite" +#define kAEGPCanvasSuiteVersion8 14 /* frozen in AE 12.0*/ + + +enum { + AEGP_RenderHints_NONE = 0, + AEGP_RenderHints_IGNORE_EXTENTS = 0x1, + AEGP_RenderHints_NO_TRANSFER_MODE = 0x2 // prevents application of opacity & transfer mode; for RenderLayer calls +}; +typedef A_u_long AEGP_RenderHints; + + +enum { + AEGP_RenderReceiptStatus_INVALID = 0, + AEGP_RenderReceiptStatus_VALID, + AEGP_RenderReceiptStatus_VALID_BUT_INCOMPLETE +}; +typedef A_u_long AEGP_RenderReceiptStatus; + + +enum { + AEGP_BinType_NONE = -1, + AEGP_BinType_2D = 0, + AEGP_BinType_3D = 1 +}; +typedef A_long AEGP_BinType; + + +typedef void * AEGP_PlatformWindowRef; + + + +enum { + AEGP_DisplayChannel_NONE = 0, + AEGP_DisplayChannel_RED, + AEGP_DisplayChannel_GREEN, + AEGP_DisplayChannel_BLUE, + AEGP_DisplayChannel_ALPHA, + AEGP_DisplayChannel_RED_ALT, + AEGP_DisplayChannel_GREEN_ALT, + AEGP_DisplayChannel_BLUE_ALT, + AEGP_DisplayChannel_ALPHA_ALT, + AEGP_DisplayChannel_NUM_ITEMS +}; +typedef A_long AEGP_DisplayChannelType; // disk safe + +enum { + AEGP_RenderNumEffects_ALL_EFFECTS = -1 +}; + +typedef A_short AEGP_NumEffectsToRenderType; + + +typedef struct AEGP_CanvasSuite8 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerAndSubLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH, /* << */ + AEGP_SubLayerIndex *sublayerP); /* << */ + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + AEGP_WorldH *dst); /* << */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_WorldH *dstPH); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_WorldH dstH0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + // for track mattes. + // Returns a comp-size buffer, which must be disposed thru AEGP_Dispose in World suite + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_WorldH *render_bufferPH); /* << must be disposed with AEGP_DisposeWorld */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + + // new for 6.0 --get receipt with the returned texture + // use receipt to determine if a subsequent call to render + // this layer can be skipped (because the artisan cached it) + SPAPI A_Err (*AEGP_RenderTextureWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* >> number of effect to render, -1 for all */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *dstPH); /* << */ + + + + SPAPI A_Err (*AEGP_GetNumberOfSoftwareEffects)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + A_short *num_software_effectsPS); + + SPAPI A_Err (*AEGP_RenderLayerPlusWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *render_bufferPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeRenderReceipt)( + AEGP_RenderReceiptH render_receiptH); /* >> */ + + + /* modified for 7.0 - added num_effects to check against */ + SPAPI A_Err (*AEGP_CheckRenderReceipt)( + PR_RenderContextH current_render_contextH, /* in */ + AEGP_RenderLayerContextH current_layer_contextH, /* in */ + AEGP_RenderReceiptH old_render_receiptH, /* in */ + A_Boolean check_geometricsB, /* in */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptStatus *receipt_statusP); /* out */ + + + /* new in 7.0 generate a receipt for a layer as asd if the first num_effectsS have been rendered */ + SPAPI A_Err (*AEGP_GenerateRenderReceipt)( + PR_RenderContextH current_render_contextH, /* >> */ + AEGP_RenderLayerContextH current_layer_contextH, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptH *render_receiptPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumBinsToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_bins_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_SetNthBin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n); /* >> */ + + SPAPI A_Err (*AEGP_GetBinType)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_BinType *bin_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform2D3D)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Boolean only_2dB, /* >> */ + A_Matrix4 *transform); /* << */ + + + // interactive artisan information + // handle to the on-screen window + SPAPI A_Err (*AEGP_GetPlatformWindowRef)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_PlatformWindowRef *window_refP); /* << */ + + + // the dsf src to frame scale factors + SPAPI A_Err (*AEGP_GetViewportScale)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *scale_xPF, /* << */ + A_FpLong *scale_yPF); /* << */ + + + // the dsf src to frame translate + SPAPI A_Err (*AEGP_GetViewportOrigin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *origin_xPL, /* << */ + A_long *origin_yPL); /* << */ + + + SPAPI A_Err (*AEGP_GetViewportRect)( + const PR_RenderContextH render_contextH, /* >> */ + A_LegacyRect *viewport_rectPR); /* << */ + + + SPAPI A_Err (*AEGP_GetFallowColor)( + const PR_RenderContextH render_contextH, /* >> */ + PF_Pixel8 *fallow_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboard)( + const PR_RenderContextH render_contextH, /* in */ + A_Boolean *checkerboard_onPB);/* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardColors)( + const PR_RenderContextH render_contextH, /* in */ + PF_Pixel *checkerboard_color1P, /* out */ + PF_Pixel *checkerboard_color2P); /* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardSize)( + const PR_RenderContextH render_contextH, /* in */ + A_u_long *checkerboard_widthPLu, /* out - width of square*/ + A_u_long *checkerboard_heightPLu); /* out - height of square*/ + + SPAPI A_Err (*AEGP_GetInteractiveCachedBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + + // should we call AEGP_RenderLayer or AEGP_RenderTexture + SPAPI A_Err (*AEGP_ArtisanMustRenderAsLayer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, + A_Boolean *use_render_texturePB); + + + SPAPI A_Err (*AEGP_GetInteractiveDisplayChannel)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_DisplayChannelType *display_channelP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveExposure)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *exposurePF); /* << */ + + + SPAPI A_Err (*AEGP_GetColorTransform)( + const PR_RenderContextH render_contextH, /* >> */ + A_Boolean *cms_onB, + A_u_long *xform_keyLu, + void *xformP); + + + SPAPI A_Err (*AEGP_GetCompShutterTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *shutter_time, /* << */ + A_Time *shutter_dur); + + // uses remapping if any + SPAPI A_Err (*AEGP_MapCompToLayerTime)( + PR_RenderContextH render_contextH, /* in */ + AEGP_RenderLayerContextH layer_contextH, /* in*/ + const A_Time *comp_timePT, /* in */ + A_Time *layer_timePT); /* out */ + +} AEGP_CanvasSuite8; + + + + + + + +/** + ** Artisan utility suite + ** + **/ +#define kAEGPArtisanUtilSuite "AEGP Artisan Util Suite" +#define kAEGPArtisanUtilSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct AEGP_ArtisanUtilSuite1 { + + + SPAPI A_Err (*AEGP_GetGlobalContextFromInstanceContext)( + const PR_InstanceContextH instance_contextH, /* >> */ + PR_GlobalContextH *global_contextPH); /* << */ + + + SPAPI A_Err (*AEGP_GetInstanceContextFromRenderContext)( + const PR_RenderContextH render_contextH, /* >> */ + PR_InstanceContextH *instance_contextPH); /* << */ + + + + SPAPI A_Err (*AEGP_GetInstanceContextFromQueryContext)( + const PR_QueryContextH query_contextH, /* >> */ + PR_InstanceContextH *instance_contextPH); /* << */ + + + SPAPI A_Err (*AEGP_GetGlobalData)( + const PR_GlobalContextH global_contextH, /* >> */ + PR_GlobalDataH *global_dataPH); /* << */ + + + SPAPI A_Err (*AEGP_GetInstanceData)( + const PR_InstanceContextH instance_contextH, /* >> */ + PR_InstanceDataH *instance_dataPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderData)( + const PR_RenderContextH render_contextH, /* >> */ + PR_RenderDataH *render_dataPH); /* << */ + +} AEGP_ArtisanUtilSuite1; + + + +#define kAEGPCameraSuite "AEGP Camera Suite" +#define kAEGPCameraSuiteVersion2 2 /* frozen in AE 5.5 */ + +typedef struct AEGP_CameraSuite2 { + + SPAPI A_Err (*AEGP_GetCamera)( + PR_RenderContextH render_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + AEGP_LayerH *camera_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetCameraType)( + AEGP_LayerH camera_layerH, /* >> */ + AEGP_CameraType *camera_typeP); /* << */ + + + SPAPI A_Err (*AEGP_GetDefaultCameraDistanceToImagePlane)( + AEGP_CompH compH, /* >> */ + A_FpLong *dist_to_planePF); /* << */ + + // If a camera is created using aegp, then you must set the film size units. + // No default is provided. + + SPAPI A_Err (*AEGP_GetCameraFilmSize)( + AEGP_LayerH camera_layerH, /* >> */ + AEGP_FilmSizeUnits *film_size_unitsP, /* << */ + A_FpLong *film_sizePF0); /* << in pixels */ + + SPAPI A_Err (*AEGP_SetCameraFilmSize)( + AEGP_LayerH camera_layerH, /* >> */ + AEGP_FilmSizeUnits film_size_units, /* >> */ + A_FpLong *film_sizePF0); /* >> in pixels */ + +} AEGP_CameraSuite2; + +#define kAEGPLightSuite "AEGP Light Suite" +#define kAEGPLightSuiteVersion2 2 /* frozen in AE 5.5 */ + +typedef struct AEGP_LightSuite2 { + + SPAPI A_Err (*AEGP_GetLightType)( + AEGP_LayerH light_layerH, /* >> */ + AEGP_LightType *light_typeP); /* << */ + + SPAPI A_Err (*AEGP_SetLightType)( + AEGP_LayerH light_layerH, /* >> */ + AEGP_LightType light_type); /* >> */ + +} AEGP_LightSuite2; + + + +/** + ** Query Xform suite + ** Called by artisans during a response to a Query + **/ + +#define kAEGPQueryXformSuite "AEGP QueryXform Suite" +#define kAEGPQueryXformSuiteVersion2 4 /* frozen in AE 6.0 */ + + +/** + ** the type of source or dst transformation wanted + **/ +enum { + AEGP_Query_Xform_LAYER, + AEGP_Query_Xform_WORLD, + AEGP_Query_Xform_VIEW, + AEGP_Query_Xform_SCREEN +}; + +typedef A_u_long AEGP_QueryXformType; + + + +typedef struct AEGP_QueryXformSuite2 { + + SPAPI A_Err (*AEGP_QueryXformGetSrcType)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_QueryXformType *src_type); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetDstType)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_QueryXformType *dst_type); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetLayer)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetComp)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetTransformTime)( + PR_QueryContextH query_contextH, /* <> */ + A_Time *time); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetViewTime)( + PR_QueryContextH query_contextH, /* <> */ + A_Time *time); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetCamera)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_LayerH *camera_layerPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetXform)( + PR_QueryContextH query_contextH, /* <> */ + A_Matrix4 *xform); /* << */ + + SPAPI A_Err (*AEGP_QueryXformSetXform)( + PR_QueryContextH query_contextH, /* <> */ + A_Matrix4 *xform); /* >> */ + + SPAPI A_Err (*AEGP_QueryWindowRef)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_PlatformWindowRef *window_refP); /* >> */ + + SPAPI A_Err (*AEGP_QueryWindowClear)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_PlatformWindowRef *window_refP, /* out */ + A_LegacyRect *boundsPR); /* out */ + + SPAPI A_Err (*AEGP_QueryFrozenProxy)( + PR_QueryContextH query_contextH, /* <> */ + A_Boolean *onPB); /* out */ + + SPAPI A_Err (*AEGP_QuerySwapBuffer)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_PlatformWindowRef *window_refP, /* out */ + AEGP_WorldH *dest_bufferp); /* out */ + + SPAPI A_Err (*AEGP_QueryDrawProcs)( + PR_QueryContextH query_contextH, /* <> */ + PR_InteractiveDrawProcs *window_refP); /* in */ + + + SPAPI A_Err (*AEGP_QueryPrepareForLineDrawing)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_PlatformWindowRef *window_refP, + A_LegacyRect *viewportP, + A_LPoint *originP, + A_FloatPoint *scaleP); /* in */ + + SPAPI A_Err (*AEGP_QueryUnprepareForLineDrawing)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_PlatformWindowRef *window_refP); /* in */ + + SPAPI A_Err (*AEGP_QueryGetData)( + PR_QueryContextH query_contextH, /* <> */ + A_long i, /* in */ + void **dataPP); /* out */ + + SPAPI A_Err (*AEGP_QuerySetData)( + PR_QueryContextH query_contextH, /* <> */ + A_long i, /* in */ + void *dataP); /* in */ + + +}AEGP_QueryXformSuite2; + + +/* -------------------------------------------------------------------- */ + + + +#define kAEGPCompositeSuite "AEGP Composite Suite" +#define kAEGPCompositeSuiteVersion2 4 /* frozen in AE 10.0 */ + +typedef struct AEGP_CompositeSuite2 { + + SPAPI A_Err (*AEGP_ClearAlphaExceptRect)( + A_Rect *clipped_dest_rectPR, /* >> */ + PF_EffectWorld *dstP); /* <> */ + + SPAPI A_Err (*AEGP_PrepTrackMatte)( + A_long num_pix, /* >> */ + A_Boolean deepB, /* >> */ + const PF_Pixel *src_mask, /* >> */ + PF_MaskFlags mask_flags, /* >> */ + PF_Pixel *dst_mask); /* << */ + + SPAPI A_Err (*AEGP_TransferRect)( + PF_Quality quality, /* >> */ + PF_ModeFlags m_flags, /* >> */ + PF_Field field, /* >> */ + const A_Rect *src_rec, /* >> */ + const PF_EffectWorld *src_world, /* >> */ + const PF_CompositeMode *comp_mode, /* >> */ + PF_EffectBlendingTables blend_tablesP0, /* >>, pass NULL to blend in workingspace*/ + const PF_MaskWorld *mask_world0, /* >> */ + A_long dest_x, /* >> */ + A_long dest_y, /* >> */ + PF_EffectWorld *dst_world); /* <> */ + + SPAPI A_Err (*AEGP_CopyBits_LQ) ( + PF_EffectWorld *src_worldP, /* >> */ + A_Rect *src_r, /* pass NULL for whole world */ + A_Rect *dst_r, /* pass NULL for whole world */ + PF_EffectWorld *dst_worldP); /* <> */ + + SPAPI A_Err (*AEGP_CopyBits_HQ_Straight) ( + PF_EffectWorld *src, /* >> */ + A_Rect *src_r, /* pass NULL for whole world */ + A_Rect *dst_r, /* pass NULL for whole world */ + PF_EffectWorld *dst); /* <> */ + + SPAPI A_Err (*AEGP_CopyBits_HQ_Premul) ( + PF_EffectWorld *src, /* >> */ + A_Rect *src_r, /* pass NULL for whole world */ + A_Rect *dst_r, /* pass NULL for whole world */ + PF_EffectWorld *dst); /* <> */ + +} AEGP_CompositeSuite2; + + + +/* -------------------------------------------------------------------- */ + +#define kAEGPIterateSuite "AEGP Iterate Suite" +#define kAEGPIterateSuiteVersion2 2 /* frozen in AE 22.0 */ + +typedef struct AEGP_IterateSuite2 { + + SPAPI A_Err (*AEGP_GetNumThreads)( + A_long *num_threadsPL); + + + SPAPI A_Err (*AEGP_IterateGeneric)( + A_long iterationsL, /* >> */ // can be PF_Iterations_ONCE_PER_PROCESSOR + void *refconPV, /* >> */ + A_Err (*fn_func)( void *refconPV, /* >> */ + A_long thread_indexL, /* >> */ + A_long i, /* >> */ + A_long iterationsL)); /* >> */ + +} AEGP_IterateSuite2; + +// Export the name of this function in your PiPL resource's EntryPoint + +typedef A_Err (AEGP_PluginInitFuncPrototype)( + struct SPBasicSuite *pica_basicP, /* >> */ + A_long driver_major_versionL, /* >> */ + A_long driver_minor_versionL, /* >> */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_GlobalRefcon *plugin_refconP); /* << will be passed to all hooks! */ + +typedef AEGP_PluginInitFuncPrototype *AEGP_PluginInitFunc; + + +/* -------------------------------------------------------------------- */ + +/** AEGPPFInterfaceSuite1 + + These are basically wrappers for constructing various AEGP objects from + the information available to an effect plug-in so that various other AEGP suites + may be used. + + AEGP_GetEffectLayer -- get AEGP_LayerH corresponding to layer that effect is applied to + AEGP_GetNewEffectForEffect -- get AEGP_EffectRefH corresponding to effect + AEGP_ConvertEffectToCompTime -- return comp time from time units passed to effect (layer time) + AEGP_GetEffectCamera -- get camera AEGP_LayerH which defines current 3D view + -- NOTE : this may be null if no camera is defined + + AEGP_GetEffectCameraMatrix -- use this to get the geometry for the camera. + + These may only be called during PF_Cmd_FRAME_SETUP, PF_Cmd_RENDER, + and PF_Cmd_EVENT::PF_Event_DRAW +**/ + +#define kAEGPPFInterfaceSuite "AEGP PF Interface Suite" +#define kAEGPPFInterfaceSuiteVersion1 1 /* frozen in AE 5.0 */ + + +typedef struct AEGP_PFInterfaceSuite1 { + + SPAPI A_Err (*AEGP_GetEffectLayer)( + PF_ProgPtr effect_pp_ref, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewEffectForEffect)( /* must be disposed using AEGP_DisposeEffect */ + AEGP_PluginID aegp_plugin_id, /* >> */ + PF_ProgPtr effect_pp_ref, /* >> */ + AEGP_EffectRefH *effect_refPH); /* << */ + + SPAPI A_Err (*AEGP_ConvertEffectToCompTime)( + PF_ProgPtr effect_pp_ref, /* >> */ + A_long what_timeL, /* >> */ + A_u_long time_scaleLu, /* from PF_InData */ + A_Time *comp_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetEffectCamera)( + PF_ProgPtr effect_pp_ref, /* >> */ + const A_Time *comp_timePT, /* >> */ + AEGP_LayerH *camera_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetEffectCameraMatrix)( + PF_ProgPtr effect_pp_ref, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Matrix4 *camera_matrixP, /* <> */ + A_FpLong *dist_to_image_planePF, /* <> */ + A_short *image_plane_widthPL, /* <> */ + A_short *image_plane_heightPL); /* <> */ +} AEGP_PFInterfaceSuite1; + +// PIN_FileSize +typedef A_u_longlong AEIO_FileSize; + +#define kAEGPIOInSuite "AEGP IO In Suite" +#define kAEGPIOInSuiteVersion5 6 /* frozen in AE 12 */ + +typedef struct AEGP_IOInSuite5 { + + SPAPI A_Err (*AEGP_GetInSpecOptionsHandle)( + AEIO_InSpecH inH, /* >> */ + void **optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecOptionsHandle)( + AEIO_InSpecH inH, /* >> */ + void *optionsPV, /* >> */ + void **old_optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecFilePath)( + AEIO_InSpecH inH, /* >> */ + AEGP_MemHandle *unicode_pathPH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetInSpecNativeFPS)( + AEIO_InSpecH inH, /* >> */ + A_Fixed *native_fpsP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecNativeFPS)( + AEIO_InSpecH inH, /* >> */ + A_Fixed native_fps); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecDepth)( + AEIO_InSpecH inH, /* >> */ + A_short *depthPS); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecDepth)( + AEIO_InSpecH inH, /* >> */ + A_short depthS); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_FileSize *sizePL); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_FileSize sizeL); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecInterlaceLabel)( + AEIO_InSpecH inH, /* >> */ + FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecInterlaceLabel)( + AEIO_InSpecH inH, /* >> */ + const FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecAlphaLabel)( + AEIO_InSpecH inH, /* >> */ + AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecAlphaLabel)( + AEIO_InSpecH inH, /* >> */ + const AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecDuration)( + AEIO_InSpecH inH, /* >> */ + A_Time *durationP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecDuration)( + AEIO_InSpecH inH, /* >> */ + const A_Time *durationP); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecDimensions)( + AEIO_InSpecH inH, /* >> */ + A_long *widthPL0, /* << */ + A_long *heightPL0); + + SPAPI A_Err (*AEGP_SetInSpecDimensions)( + AEIO_InSpecH inH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_InSpecGetRationalDimensions)( + AEIO_InSpecH inH, /* >> */ + const AEIO_RationalScale *rs0, /* << */ + A_long *width0, /* << */ + A_long *height0, /* << */ + A_Rect *r0); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecHSF)( + AEIO_InSpecH inH, /* >> */ + A_Ratio *hsfP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecHSF)( + AEIO_InSpecH inH, /* >> */ + const A_Ratio *hsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundRate)( + AEIO_InSpecH inH, /* >> */ + A_FpLong *ratePF); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundRate)( + AEIO_InSpecH inH, /* >> */ + A_FpLong rateF); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundEncoding)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndEncoding *encodingP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundEncoding)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndEncoding encoding); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundSampleSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndSampleSize *bytes_per_sampleP);/* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundSampleSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndSampleSize bytes_per_sample); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundChannels)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndChannels *num_channelsP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundChannels)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndChannels num_channels); /* >> */ + + SPAPI A_Err (*AEGP_AddAuxExtMap)( + const A_char *extension, /* >> */ + A_long file_type, /* >> */ + A_long creator); /* >> */ + + // In case of RGB data, if there is an embedded icc profile, build AEGP_ColorProfile out of this icc profile using AEGP_GetNewColorProfileFromICCProfile and pass it to + // AEGP_SetInSpecEmbeddedColorProfile, with profile description set to NULL. + // + // In case of non-RGB data, if there is an embedded non-RGB icc profile or you know the color space the data is in, pass its description as a null-terminated unicode string + // to AEGP_SetInSpecEmbeddedColorProfile, with color profile set to NULL. Doing this disables color management UI that allows user to affect + // profile choice in the application UI. + // + // If you are unpacking non-RGB data directly into working space (to get working space use AEGP_GetNewWorkingSpaceColorProfile), you are done. + // + // If you are unpacking non-RGB data into specific RGB color space, you must pass the profile describing this space to AEGP_SetInSpecAssignedColorProfile. + // Otherwise, your RGB data will be incorrectly interpreted as being in working space. + // + // Either color profile or profile description should be NULL in AEGP_SetInSpecEmbeddedColorProfile. You cannot use both. + SPAPI A_Err (*AEGP_SetInSpecEmbeddedColorProfile)( + AEIO_InSpecH inH, // << + AEGP_ConstColorProfileP color_profileP0, // << + const A_UTF16Char *profile_descP0); // << pointer to a null-terminated unicode string + + // Assign valid RGB profile to the footage + SPAPI A_Err (*AEGP_SetInSpecAssignedColorProfile)( + AEIO_InSpecH inH, // << + AEGP_ConstColorProfileP color_profileP); // << + + + SPAPI A_Err (*AEGP_GetInSpecNativeStartTime)( + AEIO_InSpecH inH, /* >> */ + A_Time *startTimeP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecNativeStartTime)( + AEIO_InSpecH inH, /* >> */ + const A_Time *startTimeP); /* >> */ + + SPAPI A_Err (*AEGP_ClearInSpecNativeStartTime)( + AEIO_InSpecH inH); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecNativeDisplayDropFrame)( + AEIO_InSpecH inH, /* >> */ + A_Boolean *displayDropFrameBP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecNativeDisplayDropFrame)( + AEIO_InSpecH inH, /* >> */ + A_Boolean displayDropFrameB); /* >> */ + + SPAPI A_Err (*AEGP_SetInSpecStillSequenceNativeFPS)( + AEIO_InSpecH inH, /* >> */ + A_Fixed native_still_seq_fps); /* >> */ + +} AEGP_IOInSuite5; + +#define kAEGPIOOutSuite "AEGP IO Out Suite" +#define kAEGPIOOutSuiteVersion5 8 /* frozen in AE 17.0 */ + +typedef struct AEGP_IOOutSuite5 { + SPAPI A_Err (*AEGP_GetOutSpecOptionsHandle)( + AEIO_OutSpecH outH, /* >> */ + void **optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecOptionsHandle)( + AEIO_OutSpecH outH, /* >> */ + void *optionsPV, /* >> */ + void **old_optionsPPVO); /* <> */ + + SPAPI A_Err (*AEGP_GetOutSpecFilePath)( + AEIO_OutSpecH outH, /* >> */ + AEGP_MemHandle *unicode_pathPH, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + A_Boolean *file_reservedPB); /* << If the file is reserved, do not create the file. + Otherwise, multi-machine rendering can fail. + If true, an empty file has already been created. */ + + SPAPI A_Err (*AEGP_GetOutSpecFPS)( + AEIO_OutSpecH outH, /* >> */ + A_Fixed *native_fpsP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecNativeFPS)( + AEIO_OutSpecH outH, /* >> */ + A_Fixed native_fpsP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDepth)( + AEIO_OutSpecH outH, /* >> */ + A_short *depthPS); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecDepth)( + AEIO_OutSpecH outH, /* >> */ + A_short depthPS); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecInterlaceLabel)( + AEIO_OutSpecH outH, /* >> */ + FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecInterlaceLabel)( + AEIO_OutSpecH outH, /* >> */ + const FIEL_Label *interlaceP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecAlphaLabel)( + AEIO_OutSpecH outH, /* >> */ + AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecAlphaLabel)( + AEIO_OutSpecH outH, /* >> */ + const AEIO_AlphaLabel *alphaP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDuration)( + AEIO_OutSpecH outH, /* >> */ + A_Time *durationP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecDuration)( + AEIO_OutSpecH outH, /* >> */ + const A_Time *durationP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDimensions)( + AEIO_OutSpecH outH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecHSF)( + AEIO_OutSpecH outH, /* >> */ + A_Ratio *hsfP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecHSF)( + AEIO_OutSpecH outH, /* >> */ + const A_Ratio *hsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundRate)( + AEIO_OutSpecH outH, /* >> */ + A_FpLong *ratePF); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundRate)( + AEIO_OutSpecH outH, /* >> */ + A_FpLong rateF); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundEncoding)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndEncoding *encodingP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundEncoding)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndEncoding encoding); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundSampleSize)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndSampleSize *bytes_per_sampleP);/* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundSampleSize)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndSampleSize bytes_per_sample); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundChannels)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndChannels *num_channelsP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundChannels)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndChannels num_channels); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecIsStill)( + AEIO_OutSpecH outH, /* >> */ + A_Boolean *is_stillPB); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecPosterTime)( + AEIO_OutSpecH outH, /* >> */ + A_Time *poster_timeP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecStartFrame)( + AEIO_OutSpecH outH, /* >> */ + A_long *start_frameP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecPullDown)( + AEIO_OutSpecH outH, /* >> */ + AEIO_Pulldown *pulldownP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecIsMissing)( + AEIO_OutSpecH outH, /* >> */ + A_Boolean *missingPB); /* << */ + + // see if you need to embed outspec's color profile as an icc profile + SPAPI A_Err (*AEGP_GetOutSpecShouldEmbedICCProfile)( + AEIO_OutSpecH outH, // >> + A_Boolean *embedPB); // << + + // query outspec's color profile + SPAPI A_Err (*AEGP_GetNewOutSpecColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEIO_OutSpecH outH, // >> + AEGP_ColorProfileP *color_profilePP); // << output color space; caller must dispose with AEGP_DisposeColorProfile + + // Fails if rq_itemP is not found. + // This API would also fail if the outH is not a confirmed outH and is a copy. + // e.g. if the Output Module settings dialog is Open. + SPAPI A_Err (*AEGP_GetOutSpecOutputModule)( + AEIO_OutSpecH outH, /* >> */ + AEGP_RQItemRefH *rq_itemP, /* << */ + AEGP_OutputModuleRefH *om_refP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecStartTime)( + AEIO_OutSpecH outH, /* >> */ + A_Time *outStartTimePT); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecFrameTime)( // relative to start time + AEIO_OutSpecH outH, /* >> */ + A_Time *outFrameTimePT); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecIsDropFrame)( + AEIO_OutSpecH outH, /* >> */ + A_Boolean *outIsDropFramePB); /* << */ + + +} AEGP_IOOutSuite5; + + + +/* This suite allows you to take advantage of going through AE Import Dialog + and being treated as a native format type +*/ + +typedef A_long AE_FIM_ImportFlavorRef; + +#define AE_FIM_ImportFlavorRef_NONE AEGP_Index_NONE + +#define AE_FIM_MAX_FLAVOR_NAME_LEN 63 + +enum { + AE_FIM_ImportFlag_NONE = 0x0, + AE_FIM_ImportFlag_COMP = 0x2 +}; +typedef A_long AE_FIM_ImportFlags; + +enum { + AE_FIM_SpecialAction_NONE = -1, + AE_FIM_SpecialAction_DRAG_N_DROP_FILE = 2 +}; +typedef A_long AE_FIM_SpecialAction; + + +typedef struct AE_FIM_RefconTag *AE_FIM_Refcon; + +typedef struct AE_FIM_ImportOptionsTag *AE_FIM_ImportOptions; + +// callbacks +typedef A_Err (*AE_FIM_ImportFileCB)( + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + AE_FIM_ImportOptions imp_options, /* >> opaque structure; in the future could be expanded with query functions*/ + AE_FIM_SpecialAction action, /* >> is it a special kind of import situation? */ + AEGP_ItemH itemH, /* >> meaning varies depending on AE_FIM_SpecialAction */ + // both for no special action and drag'n'drop it is + // a folder where imported item should go + AE_FIM_Refcon refcon); /* >> the client defines this and it is stored with import callbacks */ + + + +typedef A_Err (*AE_FIM_VerifyImportableCB)( + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + AE_FIM_Refcon refcon, /* >> the client defines this and it is stored with import callbacks */ + A_Boolean *importablePB); /* << */ + + +typedef struct { + AE_FIM_Refcon refcon; // points to whatever you want; stored and passed back with the callbacks + AE_FIM_ImportFileCB import_cb; + AE_FIM_VerifyImportableCB verify_cb; +} AE_FIM_ImportCallbacks; + +#define kAEGPFIMSuite "AEGP File Import Manager Suite" +#define kAEGPFIMSuiteVersion4 4 /* frozen in AE 17.0 */ + + +typedef struct { + SPAPI A_Err (*AEGP_RegisterImportFlavor)( + const A_char *nameZ, // format name you'd like to appear + // in AE's Import Dialog Format pop-up + // menu. + // Limited to AE_FIM_MAX_IMPORT_FLAVOR_NAME_LEN. + // Everything after that will be truncated. + AE_FIM_ImportFlavorRef *imp_refP); // On return it is set to a valid opaque ref. + // If error occured, it will be returned to + // the caller and ref will be set to a special + // value - AE_FIM_ImportFlavorRef_NONE. + + SPAPI A_Err (*AEGP_RegisterImportFlavorFileTypes)( + AE_FIM_ImportFlavorRef imp_ref, // Received from AEGP_RegisterImportFlavor + A_long num_filekindsL, // number of supported file types for this format + const AEIO_FileKind *kindsAP, // Array of supported file types for this format + A_long num_fileextsL, // number of supported file exts for this format + const AEIO_FileKind *extsAP); // Array of supported file exts for this format + + + SPAPI A_Err (*AEGP_RegisterImportFlavorImportCallbacks)( + AE_FIM_ImportFlavorRef imp_ref, // Received from AEGP_RegisterImportFlavor + AE_FIM_ImportFlags single_flag, // You can register callbacks only per single flag + // this also registers the flag with the import flavor + const AE_FIM_ImportCallbacks *imp_cbsP); // Callbacks your format installs per each flag + + // optionally call once from AE_FIM_ImportFileCB. This is used by the application when re-importing + // from the render queue and replacing an existing item. + SPAPI A_Err (*AEGP_SetImportedItem)( + AE_FIM_ImportOptions imp_options, /* <> */ + AEGP_ItemH imported_itemH); /* >> */ + + SPAPI A_Err (*AEGP_FileSequenceImportOptionsFromFIMImportOptions)( + const AE_FIM_ImportOptions imp_options, /* >> */ + AEGP_FileSequenceImportOptions *seq_import_optionsP); /* << */ + +} AEGP_FIMSuite4; + + + +/* --------------------------- Persistent Data Suite ------------------------------*/ +/* +The persist data suite allows you to store persistant data with the application. + +The data entries are accessed by SectionKey, ValueKey pairs. It is recommended +that plugins use their matchname as their SectionKey, or the prefix if using multiple +section names. THe available data types are void*, floating point numbers, and strings. + +Void* unstructured data allows you to store any kind of data. You must pass in a size in +bytes along with the data. + +String data supports the full 8 bit space, only 0x00 is reserved for string ending. +This makes them ideal for storing UTF-8 encoded strings, ISO 8859-1, and plain ASCII. +Both Section keys and Value keys are of this type. + +FpLongs are stored with 6 decimal places of precision. There is no provision +for specifying a different precision. + +Right now the only persistent data host is the application. + +*/ + +#define kAEGPPersistentDataSuite "AEGP Persistent Data Suite" +#define kAEGPPersistentDataSuiteVersion4 4 /* frozen in AE 12.0 */ + +typedef struct { + // get a handle of the application blob, + // modifying this will modify the application + SPAPI A_Err (*AEGP_GetApplicationBlob)( + AEGP_PersistentType blob_type, /* >> new in AE 12 */ + AEGP_PersistentBlobH *blobPH); /* << */ + + // section and value key management + SPAPI A_Err (*AEGP_GetNumSections)( + AEGP_PersistentBlobH blobH, /* >> */ + A_long *num_sectionPL); /* << */ + + SPAPI A_Err (*AEGP_GetSectionKeyByIndex)( + AEGP_PersistentBlobH blobH, /* >> */ + A_long section_index, /* >> */ + A_long max_section_size, /* >> */ + A_char *section_keyZ); /* << */ + + SPAPI A_Err (*AEGP_DoesKeyExist)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_Boolean *existsPB); /* << */ + + SPAPI A_Err (*AEGP_GetNumKeys)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + A_long *num_keysPL); /* << */ + + SPAPI A_Err (*AEGP_GetValueKeyByIndex)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + A_long key_index, /* >> */ + A_long max_key_size, /* >> */ + A_char *value_keyZ); /* << */ + + // data access and manipulation + + // For the entry points below, if a given key is not found, + // the default value is both written to the blobH and + // returned as the value; if no default is provided, a blank value will be written + // and returned + + SPAPI A_Err (*AEGP_GetDataHandle)( + AEGP_PluginID plugin_id, + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + AEGP_MemHandle defaultH0, /* >> never adopted, NULL means no default data */ + AEGP_MemHandle *valuePH); /* << newly allocated, owned by caller, NULL if would be zero sized handle */ + + SPAPI A_Err (*AEGP_GetData)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_u_long data_sizeLu, /* >> bufPV & default must be this big, if pref isn't then the default will be used */ + const void *defaultPV0, /* >> NULL means all zeros for default */ + void *bufPV); /* << */ + + SPAPI A_Err (*AEGP_GetString)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_char *defaultZ0, /* >> NULL means '\0' is the default */ + A_u_long buf_sizeLu, /* >> size of buffer. Behavior dependent on actual_buf_sizeLu0 */ + A_char *bufZ, /* << will be "" if buf_size is too small */ + A_u_long *actual_buf_sizeLu0); /* << actual size needed to store the buffer (includes terminating NULL). Pass NULL for error reporting if size mismatch.*/ + + SPAPI A_Err (*AEGP_GetLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_long defaultL, /* >> */ + A_long *valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetFpLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_FpLong defaultF, /* >> */ + A_FpLong *valuePF); /* << */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_Time *defaultPT0, /* >> */ + A_Time *valuePT); /* << */ + + SPAPI A_Err (*AEGP_GetARGB)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const PF_PixelFloat *defaultP0, /* >> */ + PF_PixelFloat *valueP); /* << */ + + // setters + SPAPI A_Err (*AEGP_SetDataHandle)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const AEGP_MemHandle valueH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_SetData)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_u_long data_sizeLu, /* >> */ + const void *dataPV); /* >> */ + + SPAPI A_Err (*AEGP_SetString)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_char *strZ); /* >> */ + + SPAPI A_Err (*AEGP_SetLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_long valueL); /* >> */ + + SPAPI A_Err (*AEGP_SetFpLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_FpLong valueF); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_Time *valuePT); /* >> */ + + SPAPI A_Err (*AEGP_SetARGB)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const PF_PixelFloat *valueP); /* >> */ + + SPAPI A_Err (*AEGP_DeleteEntry)( /* no error if entry not found */ + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ); /* >> */ + + SPAPI A_Err (*AEGP_GetPrefsDirectory)( + AEGP_MemHandle *unicode_pathPH); // << empty string if no file. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + +} AEGP_PersistentDataSuite4; + + +// AEGP_CollectionSuite1 + +#define kAEGPCollectionSuite "AEGP Collection Suite" +#define kAEGPCollectionSuiteVersion2 2 /* frozen in AE 6.5 */ + +enum { + AEGP_CollectionItemType_NONE, + + AEGP_CollectionItemType_LAYER, + AEGP_CollectionItemType_MASK, + AEGP_CollectionItemType_EFFECT, + AEGP_CollectionItemType_STREAM, + AEGP_CollectionItemType_KEYFRAME, + AEGP_CollectionItemType_MASK_VERTEX, + AEGP_CollectionItemType_STREAMREF, + + AEGP_CollectionItemType_END, + AEGP_CollectionItemType_BEGIN = AEGP_CollectionItemType_LAYER +}; +typedef A_LegacyEnumType AEGP_CollectionItemType; + +typedef struct { + AEGP_LayerH layerH; /* comp derived from layerH */ +} AEGP_LayerCollectionItem; + +typedef struct { + AEGP_LayerH layerH; /* containing layer */ + AEGP_MaskIndex index; /* index to layer. */ +}AEGP_MaskCollectionItem; + +typedef struct { + AEGP_LayerH layerH; /* containing layer */ + AEGP_EffectIndex index; /* index to the effect */ +}AEGP_EffectCollectionItem; + +enum { + AEGP_StreamCollectionItemType_NONE, + AEGP_StreamCollectionItemType_LAYER, + AEGP_StreamCollectionItemType_MASK, + AEGP_StreamCollectionItemType_EFFECT, + AEGP_StreamCollectionItemType_END, + AEGP_StreamCollectionItemType_BEGIN = AEGP_StreamCollectionItemType_LAYER +}; +typedef A_LegacyEnumType AEGP_StreamCollectionItemType; + +typedef struct { + AEGP_MaskCollectionItem mask; + AEGP_MaskStream mask_stream; +} AEGP_MaskStreamCollectionItem; + +typedef struct { + AEGP_EffectCollectionItem effect; + A_long param_index; +} AEGP_EffectStreamCollectionItem; + +typedef struct { + AEGP_LayerH layerH; + AEGP_LayerStream layer_stream; +} AEGP_LayerStreamCollectionItem; + +typedef struct { + AEGP_StreamCollectionItemType type; + union { + AEGP_LayerStreamCollectionItem layer_stream; + AEGP_MaskStreamCollectionItem mask_stream; + AEGP_EffectStreamCollectionItem effect_stream; + } u; +}AEGP_StreamCollectionItem; + +typedef struct { + AEGP_MaskCollectionItem mask_sel; /* the mask must be selected for a vertex to be selected */ + AEGP_VertexIndex index; +}AEGP_MaskVertexCollectionItem; + +typedef struct { + AEGP_StreamCollectionItem stream_coll; + AEGP_KeyframeIndex index; +}AEGP_KeyframeCollectionItem; + +typedef struct { + AEGP_CollectionItemType type; + // the union is not used for AEGP_CollectionItemType_STREAMREF + union { + AEGP_LayerCollectionItem layer; + AEGP_MaskCollectionItem mask; + AEGP_EffectCollectionItem effect; + AEGP_StreamCollectionItem stream; + AEGP_MaskVertexCollectionItem mask_vertex; + AEGP_KeyframeCollectionItem keyframe; + } u; + + AEGP_StreamRefH stream_refH; // valid for all types +} AEGP_CollectionItemV2; + +typedef struct { + SPAPI A_Err (*AEGP_NewCollection)( /* dispose with dispose collection */ + AEGP_PluginID plugin_id, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeCollection)( + AEGP_Collection2H collectionH); /* >> */ + + SPAPI A_Err (*AEGP_GetCollectionNumItems)( /* constant time */ + AEGP_Collection2H collectionH, /* >> */ + A_u_long *num_itemsPL); /* << */ + + SPAPI A_Err (*AEGP_GetCollectionItemByIndex)( /* constant time */ + AEGP_Collection2H collectionH, /* >> */ + A_u_long indexL, /* >> */ + AEGP_CollectionItemV2 *collection_itemP); /* << */ + + SPAPI A_Err (*AEGP_CollectionPushBack)( /* constant time */ + AEGP_Collection2H collectionH, /* <> */ + const AEGP_CollectionItemV2 *collection_itemP); /* >> NOTE: The passed AEGP_CollectionItemV2, as well as all the AEGP_StreamRefH's + it references, will be adopted by AE; DO NOT dispose of it! */ + + SPAPI A_Err (*AEGP_CollectionErase)( /* O(n) */ + AEGP_Collection2H collectionH, /* <> */ + A_u_long index_firstL, /* >> */ + A_u_long index_lastL); /* >> */ + +} AEGP_CollectionSuite2; + + +enum +{ + AEGP_WorldType_NONE, + AEGP_WorldType_8, + AEGP_WorldType_16, + AEGP_WorldType_32 +}; + +typedef A_long AEGP_WorldType; + + +#define kAEGPWorldSuite "AEGP World Suite" +#define kAEGPWorldSuiteVersion3 3 /* frozen in AE 7.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_New)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_WorldType type, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_WorldH worldH); /* >> */ + + SPAPI A_Err (*AEGP_GetType)( + AEGP_WorldH worldH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + SPAPI A_Err (*AEGP_GetSize)( + AEGP_WorldH worldH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetRowBytes)( + AEGP_WorldH worldH, /* >> */ + A_u_long *row_bytesPL); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr8)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_8 */ + PF_Pixel8 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr16)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_16 */ + PF_Pixel16 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr32)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_32 */ + PF_PixelFloat **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_FillOutPFEffectWorld)( /* Provided so you can use some of the PF routines with an AEGPWorld. Pass NULL as the ProgPtr to the PF routines.*/ + AEGP_WorldH worldH, /* >> */ + PF_EffectWorld *pf_worldP); /* << */ + + SPAPI A_Err (*AEGP_FastBlur)( + A_FpLong radiusF, /* >> */ + PF_ModeFlags mode, /* >> */ + PF_Quality quality, /* >> */ + AEGP_WorldH worldH); /* <> only for user allocated worlds; not for checked-out frames which are read only */ + + SPAPI A_Err (*AEGP_NewPlatformWorld)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_WorldType type, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + AEGP_PlatformWorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_DisposePlatformWorld)( + AEGP_PlatformWorldH worldH); /* >> */ + + SPAPI A_Err (*AEGP_NewReferenceFromPlatformWorld)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_PlatformWorldH platform_worldH, // >> + AEGP_WorldH *worldPH); /* << */ + + +} AEGP_WorldSuite3; + + +/* AEGP_RenderOptionsSuite + +*/ + +enum { + AEGP_MatteMode_STRAIGHT = 0, + AEGP_MatteMode_PREMUL_BLACK, + AEGP_MatteMode_PREMUL_BG_COLOR +}; +typedef A_long AEGP_MatteMode; + +enum { + AEGP_ChannelOrder_ARGB = 0, + AEGP_ChannelOrder_BGRA +}; +typedef A_char AEGP_ChannelOrder; + +enum { + AEGP_ItemQuality_DRAFT = 0, /* footage only. perform faster decode at expense of quality and draft-quality deinterlacing. */ + AEGP_ItemQuality_BEST /* footage only. perform full decode and resampled deinterlacing */ +}; +typedef A_char AEGP_ItemQuality; + +#define kAEGPRenderOptionsSuite "AEGP Render Options Suite" +#define kAEGPRenderOptionsSuiteVersion4 4 /* frozen in AE 10.5 */ + +typedef struct { + // fills out + // Time to 0 + // Time step to the frame duration + // field render to none + // depth is best resolution of item + SPAPI A_Err (*AEGP_NewFromItem)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_RenderOptionsH *optionsPH); /* << */ + + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_RenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetFieldRender)( /* How fields are to be handled. */ + AEGP_RenderOptionsH optionsH, /* <> */ + PF_Field field_render); /* >> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + AEGP_RenderOptionsH optionsH, /* >> */ + PF_Field *field_renderP); /* << */ + + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* <> */ + const A_LRect *roiP); /* >> {0,0,0,0} for all*/ + + SPAPI A_Err (*AEGP_GetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_LRect *roiP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_ChannelOrder channel_order); /* >> */ + + SPAPI A_Err (*AEGP_GetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_ChannelOrder *channelP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderGuideLayers)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Boolean *will_renderPB); /* << */ + + SPAPI A_Err (*AEGP_SetRenderGuideLayers)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Boolean render_themB); /* >> */ + + /* AEGP_ItemType_FOOTAGE can be decoded at different with different + quality levels. Ignore for other AEGP_ItemType + */ + + SPAPI A_Err (*AEGP_GetRenderQuality)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_ItemQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderQuality)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_ItemQuality quality); /* >> */ +} AEGP_RenderOptionsSuite4; + + +#define kAEGPLayerRenderOptionsSuite "AEGP Layer Render Options Suite" +#define kAEGPLayerRenderOptionsSuiteVersion2 2 /* frozen in 13.5 */ + +typedef struct { + // optionsPH must be disposed by calling code + // + // fills out + // Time to the layer's current time + // Time step to layer's frame duration + // ROI to the layer's nominal bounds + // EffectsToRender to "all" + SPAPI A_Err (*AEGP_NewFromLayer)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerRenderOptionsH *optionsPH); /* << */ + + // optionsPH must be disposed by calling code + // like AEGP_NewFromLayer, but sets EffectsToRender to be the index fof effectH + SPAPI A_Err (*AEGP_NewFromUpstreamOfEffect)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_EffectRefH effectH, /* >> */ + AEGP_LayerRenderOptionsH *optionsPH); /* << */ + + // optionsPH must be disposed by calling code + // like AEGP_NewFromLayer, but sets EffectsToRender to include the effect output + // THIS MAY ONLY BE CALLED FROM THE UI THREAD + SPAPI A_Err (*AEGP_NewFromDownstreamOfEffect)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_EffectRefH effectH, /* >> */ + AEGP_LayerRenderOptionsH *optionsPH); /* << */ + + // copyPH must be disposed by calling code + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_LayerRenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_LayerRenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ +} AEGP_LayerRenderOptionsSuite2; + + +#define kAEGPRenderSuite "AEGP Render Suite" +#define kAEGPRenderSuiteVersion5 8 /* frozen in 13.5 */ + +typedef A_u_longlong AEGP_AsyncRequestId; + +typedef A_Err (*AEGP_RenderSuiteCheckForCancel)( + void *refcon, + A_Boolean *cancelPB); + +typedef A_Err (*AEGP_AsyncFrameReadyCallback)( + AEGP_AsyncRequestId request_id, // this will be the AEGP_AsyncRequestId that was returned from AEGP_RenderAndCheckoutLayerFrame_Async + A_Boolean was_canceled, // will be set to true if this request was canceled via a call to AEGP_CancelAsyncRequest + A_Err error, // will be set to A_Err_NONE (0) if successful + AEGP_FrameReceiptH receiptH, // frame data (only if successful) + AEGP_AsyncFrameRequestRefcon refconP0); // this is the AEGP_AsyncFrameRequestRefcon that was (optionally) passed in to AEGP_RenderAndCheckoutLayerFrame_Async + +typedef struct { + // IMPORTANT: use of this call on the UI thread should be considered DEPRECATED except in a very narrow use case: + // a) the plugin requires this frame to make database change (e.g. an auto color button on an effect) + // b) the user explicitly requested this operation (e.g. this is not a passive redraw of UI because something else changed) + // This is to avoid having poor interactivity while the user is doing other unrelated things. + // Asynchronous APIs should be used on the UI thread except in this specific case + // On the UI thread, if the frame takes longer than 2 seconds, a progress dialog will automatically open to allow the user to cancel + // On a render thread, these calls will work as normal with no progress dialog + + // See IMPORTANT note above about using this synchronous call on the UI thread which is considered DEPRECATED behavior + SPAPI A_Err (*AEGP_RenderAndCheckoutFrame)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + // render_plain_layer_frameB was confusing and is not the design we want going forward + // eventually this will be replaced with new RenderOptions calls. Until that is available, this will behave as if render_plain_layer_frameB is "false" + // (upstream effect render). If the "true" behavior for adjustment layer mask is desired, see kAEGPRenderSuiteVersion4 that still has this flag + + // See IMPORTANT note above about using this synchronous call on the UI thread which is considered DEPRECATED behavior + SPAPI A_Err (*AEGP_RenderAndCheckoutLayerFrame)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_RenderAndCheckoutLayerFrame_Async)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_AsyncFrameReadyCallback callback, /* >> this will be called when the frame is ready (guaranteed to be called unless AE is shutting down) */ + AEGP_AsyncFrameRequestRefcon request_completion_refconP0, /* >> optional. if included, it will be passed into the above callback */ + AEGP_AsyncRequestId *asyncRequestIdP); /* << Id associated with frame request. Can be used to cancel early */ + + SPAPI A_Err (*AEGP_CancelAsyncRequest)( + AEGP_AsyncRequestId asyncRequestId); /* >> */ + + SPAPI A_Err (*AEGP_CheckinFrame)( + AEGP_FrameReceiptH receiptH); /* >> */ + + /* This returns a read only world that is not-owned by the plugin. + Call CheckinFrame to release the world when you are done reading from it. + */ + + SPAPI A_Err (*AEGP_GetReceiptWorld)( + AEGP_FrameReceiptH receiptH, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderedRegion)( + AEGP_FrameReceiptH receiptH, /* >> */ + A_LRect *rendered_regionP); /* << */ + + SPAPI A_Err (*AEGP_IsRenderedFrameSufficient)( + AEGP_RenderOptionsH rendered_optionsH, /* >> */ + AEGP_RenderOptionsH proposed_optionsH, /* >> */ + A_Boolean *rendered_is_sufficientPB); /* << */ + + // See IMPORTANT note above about using this synchronous call on the UI thread which is considered DEPRECATED behavior + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( /* Works on Compositions and Footage items. */ + AEGP_ItemH itemH, /* >> */ + const A_Time *start_timePT, /* >> */ + const A_Time *durationPT, /* >> */ + const AEGP_SoundDataFormat *sound_formatP, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_SoundDataH *new_sound_dataPH); /* << AEGP_SoundDataH must be disposed. Returns NULL if no audio */ + + + // returns the current timestamp of the project.this is increased any time something is touched in the project + // that affects rendering + SPAPI A_Err (*AEGP_GetCurrentTimestamp)( + AEGP_TimeStamp * time_stampP); // out + + // Lets you know if the video of the item has changed since the input time stamp. + // Is not affected by audio. + SPAPI A_Err (*AEGP_HasItemChangedSinceTimestamp)(AEGP_ItemH itemH, // in + const A_Time * start_timeP, // in + const A_Time* durationP, //in + const AEGP_TimeStamp * time_stampP, //in + A_Boolean * item_has_changedPB); //out + + // checks whether this frame would be worth rendering externally and + // checking in to the cache. a speculative renderer should check this twice: + // (1) before sending the frame out to render + // (2) when it is complete, before calling AEGP_NewPlatformWorld and checking in. + // (don't forget to call AEGP_HasItemChangedSinceTimestamp also!) + SPAPI A_Err (*AEGP_IsItemWorthwhileToRender)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_Boolean *worthwhile_to_renderPB); // out + + // ticks_to_render is the approximate amount of time needed to render the frame + // on this machine. it is 60Hz. + SPAPI A_Err (*AEGP_CheckinRenderedFrame)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_u_long ticks_to_renderL, // in + AEGP_PlatformWorldH imageH); // in (adopted) + + SPAPI A_Err (*AEGP_GetReceiptGuid) (AEGP_FrameReceiptH receiptH, // in + AEGP_MemHandle *guidMH); // out, must be disposed +} AEGP_RenderSuite5; + + + +// AsyncManager render suite. For render requests that are managed by AE rather than explicitly by plugin callbacks (as in some cases in AEGP_RenderSuite5+) +// As of 13.5 the only way to get an AsyncManager is via PF_GetContextAsyncManager in PF_EffectCustomUISuite2. (This Async Manager is PF_Event_DRAW specific +// but there may be others in the future) + +#define kAEGPRenderAsyncManagerSuite "AEGP Render Asyc Manager Suite" +#define kAEGPRenderAsyncManagerSuiteVersion1 1 /* frozen in 13.5 */ + + +typedef struct { + + // An AsyncManager automatically handles possibly multiple async render requests + // The first use of this in for async requests in CUSTOM_UI of PF_EventDRAW. See PF_OutFlags2_CUSTOM_UI_ASYNC_MANAGER + // The purpose_id is a unique constant number that helps the manager understand when it can automatically cancel + // old requests (because they have the same purpose id and the RO has changed) + + SPAPI A_Err (*AEGP_CheckoutOrRender_ItemFrame_AsyncManager)( PF_AsyncManagerP async_managerP, // >> the async manager to ask for the render + A_u_long purpose_id, // >> a unique id to identify requests for the same usage (e.g. to hint cancellation of old) + AEGP_RenderOptionsH ro, // >> the description of the item frame to render + AEGP_FrameReceiptH *out_receiptPH ); // << on success, the rendered frame. Can succeed and have no pixels (no world) + + SPAPI A_Err (*AEGP_CheckoutOrRender_LayerFrame_AsyncManager)( PF_AsyncManagerP async_managerP, // >> the async manager to ask for the render + A_u_long purpose_id, // >> a unique id to identify requests for the same usage (e.g. to hint cancellation of old) + AEGP_LayerRenderOptionsH lro, // >> the description of the layer frame to render + AEGP_FrameReceiptH *out_receiptPH ); // << on success, the rendered frame. Can succeed and have no pixels (no world) + + + +} AEGP_RenderAsyncManagerSuite1; + + + + +#define kAEGPTrackerSuite "AEGP Tracker Suite" +#define kAEGPTrackerSuiteVersion1 1 /* frozen in AE 6.0 */ + + +typedef struct { + SPAPI A_Err (*AEGP_GetNumFeatures)( + const PT_TrackingContextPtr contextP, /* >> */ + A_long *num_featuresPL); /* << */ + + SPAPI A_Err (*AEGP_GetFeatureRegionByIndex)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + A_FloatRect *rectP); /* << */ + + SPAPI A_Err (*AEGP_GetSearchRegionByIndex)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + A_FloatRect *rectP); /* << */ + + SPAPI A_Err (*AEGP_GetFeatureWorldByIndex)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + AEGP_WorldH *feature_worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetFrameWorld)( + const PT_TrackingContextPtr contextP, /* >> */ + AEGP_WorldH *frame_worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetTrackerSourceDimensions)( + const PT_TrackingContextPtr contextP, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); + + SPAPI A_Err (*AEGP_SetFeatureRegionByIndex)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + const A_FloatRect *rectP); /* >> */ + + SPAPI A_Err (*AEGP_SetAccuracyByIndex)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + A_FpLong accuracyF); /* >> */ + + SPAPI A_Err (*AEGP_ShouldTrackFeature)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_Index index, /* >> */ + A_Boolean *trackPB); /* << */ + +} AEGP_TrackerSuite1; + + +#define kAEGPTrackerUtilitySuite "AEGP Tracker Utility Suite" +#define kAEGPTrackerUtilitySuiteVersion1 1 /* frozen in AE 6.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_HasUserCancelled)( + const PT_TrackingContextPtr contextP, /* >> */ + A_Boolean *user_cancelledPB); /* << */ + + SPAPI A_Err (*AEGP_GetTrackerFromTrackerInstance)( + const PT_TrackerInstancePtr tracker_instanceP, /* >> */ + PT_TrackerPtr *trackerPP); /* << */ + + SPAPI A_Err (*AEGP_GetTrackerInstanceFromTrackingContext)( + const PT_TrackingContextPtr contextP, /* >> */ + PT_TrackerInstancePtr *tracker_instancePP); /* << */ + + SPAPI A_Err (*AEGP_GetGlobalData)( + const PT_TrackerPtr trackerP, /* >> */ + AEGP_MemHandle *global_dataPH); /* << */ + + SPAPI A_Err (*AEGP_GetInstanceData)( + const PT_TrackerInstancePtr tracker_instanceP, /* >> */ + AEGP_MemHandle *instance_dataPH); /* << */ // currently has to be flat (no handles inside the handle) + + SPAPI A_Err (*AEGP_GetTrackData)( + const PT_TrackingContextPtr contextP, /* >> */ + AEGP_MemHandle *track_dataPH); /* << */ +} AEGP_TrackerUtilitySuite1; + + + +#define kAEGPRenderQueueMonitorSuite "AEGP RenderQueue Monitor Suite" +#define kAEGPRenderQueueMonitorSuiteVersion1 1 /* frozen AE 11.0 */ + +typedef struct _AEGP_RQM_Refcon *AEGP_RQM_Refcon; +typedef A_u_longlong AEGP_RQM_SessionId; +typedef A_u_longlong AEGP_RQM_ItemId; +typedef A_u_longlong AEGP_RQM_FrameId; + +typedef enum +{ + AEGP_RQM_FinishedStatus_UNKNOWN, + AEGP_RQM_FinishedStatus_SUCCEEDED, + AEGP_RQM_FinishedStatus_ABORTED, + AEGP_RQM_FinishedStatus_ERRED +} AEGP_RQM_FinishedStatus; + +typedef struct _AEGP_RQM_BasicData { + const struct SPBasicSuite *pica_basicP; + A_long aegp_plug_id; + AEGP_RQM_Refcon aegp_refconPV; +} AEGP_RQM_BasicData; + +typedef struct _AEGP_RQM_FunctionBlock1 { + A_Err (*AEGP_RQM_RenderJobStarted)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid); + A_Err (*AEGP_RQM_RenderJobEnded)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid); + A_Err (*AEGP_RQM_RenderJobItemStarted)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid, AEGP_RQM_ItemId itemid); + A_Err (*AEGP_RQM_RenderJobItemUpdated)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid, AEGP_RQM_ItemId itemid, AEGP_RQM_FrameId frameid); + A_Err (*AEGP_RQM_RenderJobItemEnded)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid, AEGP_RQM_ItemId itemid, AEGP_RQM_FinishedStatus fstatus); + A_Err (*AEGP_RQM_RenderJobItemReportLog)(AEGP_RQM_BasicData *basic_dataP, AEGP_RQM_SessionId jobid, AEGP_RQM_ItemId itemid, A_Boolean isError, AEGP_MemHandle logbuf); +} AEGP_RQM_FunctionBlock1; + +typedef struct AEGP_RenderQueueMonitorSuite1 { + + SPAPI A_Err (*AEGP_RegisterListener) ( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_RQM_Refcon aegp_refconP, /* >> */ + const AEGP_RQM_FunctionBlock1 * fcn_blockP); /* >> */ + + SPAPI A_Err (*AEGP_DeregisterListener) ( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_RQM_Refcon aegp_refconP); /* >> */ + + SPAPI A_Err (*AEGP_GetProjectName)( + AEGP_RQM_SessionId sessid, // >> + AEGP_MemHandle *utf_project_namePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetAppVersion)( + AEGP_RQM_SessionId sessid, // >> + AEGP_MemHandle *utf_app_versionPH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNumJobItems)( + AEGP_RQM_SessionId sessid, // >> + A_long *num_jobitemsPL); // << + + SPAPI A_Err (*AEGP_GetJobItemID)( + AEGP_RQM_SessionId sessid, // >> + A_long jobItemIndex, // >> + AEGP_RQM_ItemId *jobItemID); // << + + SPAPI A_Err (*AEGP_GetNumJobItemRenderSettings)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long *num_settingsPL); // << + + SPAPI A_Err (*AEGP_GetJobItemRenderSetting)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long settingIndex, // >> + AEGP_MemHandle *utf_setting_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_setting_valuePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNumJobItemOutputModules)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long *num_outputmodulesPL); // << + + SPAPI A_Err (*AEGP_GetNumJobItemOutputModuleSettings)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long *num_settingsPL); // << + + SPAPI A_Err (*AEGP_GetJobItemOutputModuleSetting)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long settingIndex, // >> + AEGP_MemHandle *utf_setting_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_setting_valuePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNumJobItemOutputModuleWarnings)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long *num_warningsPL); // << + + SPAPI A_Err (*AEGP_GetJobItemOutputModuleWarning)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long warningIndex, // >> + AEGP_MemHandle *utf_warning_valuePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNumJobItemFrameProperties)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + AEGP_RQM_FrameId frameid, // >> + A_long *num_propertiesPL); // << + + SPAPI A_Err (*AEGP_GetJobItemFrameProperty)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + AEGP_RQM_FrameId frameid, // >> + A_long propertyIndex, // >> + AEGP_MemHandle *utf_property_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_property_valuePH0);// << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNumJobItemOutputModuleProperties)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long *num_propertiesPL); // << + + SPAPI A_Err (*AEGP_GetJobItemOutputModuleProperty)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + A_long outputModuleIndex, // >> + A_long propertyIndex, // >> + AEGP_MemHandle *utf_property_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_property_valuePH0);// << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetJobItemFrameThumbnail)( + AEGP_RQM_SessionId sessid, // >> + AEGP_RQM_ItemId itemid, // >> + AEGP_RQM_FrameId frameid, // >> + A_long *widthPL, // <> pass in the maximum width, returns the actual width + A_long *heightPL, // <> pass in the maximum height, returns the actual height + AEGP_MemHandle *thumbnailPH0); // << handle of an image memory block in JPEG format + +} AEGP_RenderQueueMonitorSuite1; + + + +/* -------------------------------------------------------------------- */ + +typedef const void *PF_ConstPtr; +typedef const PF_ConstPtr *PF_ConstHandle; + +#define kPFEffectSequenceDataSuite "PF Effect Sequence Data Suite" +#define kPFEffectSequenceDataSuiteVersion1 1 /* frozen in 18.2 */ + +typedef struct PF_EffectSequenceDataSuite1 { + + SPAPI PF_Err (*PF_GetConstSequenceData)( PF_ProgPtr effect_ref, + PF_ConstHandle *sequence_data); /* >> */ + +} PF_EffectSequenceDataSuite1; + + + + +#include + + +/****************************************************************/ +/* include old versions of the suites */ +/****************************************************************/ +#include + +#endif diff --git a/External/AE SDK/Headers/AE_GeneralPlugOld.h b/External/AE SDK/Headers/AE_GeneralPlugOld.h new file mode 100644 index 00000000..68bb8620 --- /dev/null +++ b/External/AE SDK/Headers/AE_GeneralPlugOld.h @@ -0,0 +1,9125 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/*******************************************************************/ +/* */ +/* this file contains the old or deprecated versions of the suites */ +/* listed in AE_GeneralPlug.h */ +/*******************************************************************/ + + +#include + +typedef struct { // note: unused values are still stored in settings and used when cycling through + // the 3 types using cmd/ctrl-click on timecode + AEGP_TimeDisplayType time_display_type; + A_char timebaseC; // only used for AEGP_TimeDisplayType_TIMECODE, 1 to 100 + A_Boolean non_drop_30B; // only used for AEGP_TimeDisplayType_TIMECODE, + // when timebaseC == 30 && item framerate == 29.97, use drop frame or non-drop? + A_char frames_per_footC; // only used for AEGP_TimeDisplayType_FEET_AND_FRAMES + A_long starting_frameL; // usually 0 or 1, not used for AEGP_TimeDisplayType_TIMECODE +} AEGP_TimeDisplay; + +/** + ** Canvas Suite + ** Used by artisans to render layers + **/ + +#define kAEGPCanvasSuiteVersion1 4 /* frozen in AE 5.0 */ + +typedef struct AEGP_CanvasSuite1 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, + A_long *num_to_renderPL); + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + PF_EffectWorld *dst); /* <> */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + /// for rendering track mattes + SPAPI A_Err (*AEGP_RenderLayer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + PF_EffectWorld *render_bufferP); /* >> */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + PF_EffectWorld *dst); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + PF_EffectWorld *dst0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + +} AEGP_CanvasSuite1; + +/********************************************************************/ + +#define kAEGPRQItemSuiteVersion3 4 /* frozen in AE 7.0 */ + +typedef struct AEGP_RQItemSuite3 { + + SPAPI A_Err (*AEGP_GetNumRQItems)( + A_long *num_itemsPL); /* << */ + + /* NOTE: All AEGP_RQItemRefH are invalidated by ANY + re-ordering, addition or removal of render + items. DO NOT CACHE THEM. + */ + + SPAPI A_Err (*AEGP_GetRQItemByIndex)( + A_long rq_item_index, /* >> */ + AEGP_RQItemRefH *rq_item_refPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextRQItem)( /* Pass RQ_ITEM_INDEX_NONE for current_rq_itemH to get first RQItemH. */ + AEGP_RQItemRefH current_rq_itemH, /* >> */ + AEGP_RQItemRefH *next_rq_itemH); /* << */ + + SPAPI A_Err (*AEGP_GetNumOutputModulesForRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_long *num_outmodsPL); /* << */ + + SPAPI A_Err (*AEGP_GetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType *statusP); /* << */ + + /* + the following now returns: + Err_PARAMETER if you try to call while AEGP_RenderQueueState != AEGP_RenderQueueState_STOPPED + + if that's okay then: + Err_RANGE if you pass a status that is illegal in any case + Err_PARAMETER if you try to pass a status that doesn't make sense right now (eg: trying to Que something for which you haven't set the output path) + */ + SPAPI A_Err (*AEGP_SetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType status); /* >> */ + + SPAPI A_Err (*AEGP_GetStartedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *started_timePT); /* << Returns {0,1} if not started. */ + + SPAPI A_Err (*AEGP_GetElapsedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *render_timePT); /* << Returns {0,1} if not rendered. */ + + SPAPI A_Err (*AEGP_GetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType *logtypeP); /* << */ + + SPAPI A_Err (*AEGP_SetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType logtype); /* << */ + + SPAPI A_Err (*AEGP_RemoveOutputModule)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH); /* >> */ + + SPAPI A_Err (*AEGP_GetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_char *commentZ); /* << up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + + SPAPI A_Err (*AEGP_SetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + const A_char *commentZ); /* >> up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + + SPAPI A_Err (*AEGP_GetCompFromRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_DeleteRQItem)( + AEGP_RQItemRefH rq_itemH); /* <> UNDOABLE */ + +} AEGP_RQItemSuite3; + +#define kAEGPRQItemSuiteVersion2 3 /* frozen in AE 6.5 */ + +typedef struct AEGP_RQItemSuite2 { + + SPAPI A_Err (*AEGP_GetNumRQItems)( + A_long *num_itemsPL); /* << */ + + /* NOTE: All AEGP_RQItemRefH are invalidated by ANY + re-ordering, addition or removal of render + items. DO NOT CACHE THEM. + */ + + SPAPI A_Err (*AEGP_GetRQItemByIndex)( + A_long rq_item_index, /* >> */ + AEGP_RQItemRefH *rq_item_refPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextRQItem)( /* Pass NULL for current_rq_itemH to get first RQItemH. */ + AEGP_RQItemRefH current_rq_itemH, /* >> */ + AEGP_RQItemRefH *next_rq_itemH); /* << */ + + SPAPI A_Err (*AEGP_GetNumOutputModulesForRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_long *num_outmodsPL); /* << */ + + SPAPI A_Err (*AEGP_GetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType *statusP); /* << */ + + /* + the following now returns: + Err_PARAMETER if you try to call while AEGP_RenderQueueState != AEGP_RenderQueueState_STOPPED + + if that's okay then: + Err_RANGE if you pass a status that is illegal in any case + Err_PARAMETER if you try to pass a status that doesn't make sense right now (eg: trying to Que something for which you haven't set the output path) + */ + SPAPI A_Err (*AEGP_SetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType status); /* >> */ + + SPAPI A_Err (*AEGP_GetStartedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *started_timePT); /* << Returns {0,1} if not started. */ + + SPAPI A_Err (*AEGP_GetElapsedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *render_timePT); /* << Returns {0,1} if not rendered. */ + + SPAPI A_Err (*AEGP_GetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType *logtypeP); /* << */ + + SPAPI A_Err (*AEGP_SetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType logtype); /* << */ + + SPAPI A_Err (*AEGP_RemoveOutputModule)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH); /* >> */ + + SPAPI A_Err (*AEGP_GetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_char *commentZ); /* << up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + + SPAPI A_Err (*AEGP_SetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + const A_char *commentZ); /* >> up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + + SPAPI A_Err (*AEGP_GetCompFromRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + +} AEGP_RQItemSuite2; + +#define kAEGPRQItemSuiteVersion1 1 /* frozen in AE 6.0 */ + +typedef struct AEGP_RQItemSuite1 { + + SPAPI A_Err (*AEGP_GetNumRQItems)( + A_long *num_itemsPL); /* << */ + + /* NOTE: All AEGP_RQItemRefH are invalidated by ANY + re-ordering, addition or removal of render + items. DO NOT CACHE THEM. + */ + + SPAPI A_Err (*AEGP_GetRQItemByIndex)( + A_long rq_item_index, /* >> */ + AEGP_RQItemRefH *rq_item_refPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextRQItem)( /* Pass NULL for current_rq_itemH to get first RQItemH. */ + AEGP_RQItemRefH current_rq_itemH, /* >> */ + AEGP_RQItemRefH *next_rq_itemH); /* << */ + + SPAPI A_Err (*AEGP_GetNumOutputModulesForRQItem)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_long *num_outmodsPL); /* << */ + + SPAPI A_Err (*AEGP_GetRenderState)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType *statusP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderState)( /* Will return error if called while (AEGP_RenderQueueState != AEGP_RenderQueueState_STOPPED). */ + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_RenderItemStatusType status); /* >> */ + + SPAPI A_Err (*AEGP_GetStartedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *started_timePT); /* << Returns {0,0} if not started. */ + + SPAPI A_Err (*AEGP_GetElapsedTime)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_Time *render_timePT); /* << Returns {0,0} if not rendered. */ + + SPAPI A_Err (*AEGP_GetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType *logtypeP); /* << */ + + SPAPI A_Err (*AEGP_SetLogType)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_LogType logtype); /* << */ + + SPAPI A_Err (*AEGP_RemoveOutputModule)( + AEGP_RQItemRefH rq_itemH, /* >> */ + AEGP_OutputModuleRefH outmodH); /* >> */ + + SPAPI A_Err (*AEGP_GetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + A_char *commentZ); /* << up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + + SPAPI A_Err (*AEGP_SetComment)( + AEGP_RQItemRefH rq_itemH, /* >> */ + const A_char *commentZ); /* >> up to A_char[AEGP_MAX_RQITEM_COMMENT_SIZE] */ + +} AEGP_RQItemSuite1; + + + +#define kAEGPCanvasSuiteVersion2 6 /* frozen in AE 5.5 */ + +typedef struct AEGP_CanvasSuite2 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, + A_long *num_to_renderPL); + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + PF_EffectWorld *dst); /* <> */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + /// for rendering track mattes + SPAPI A_Err (*AEGP_RenderLayer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + PF_EffectWorld *render_bufferP); /* >> */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + PF_EffectWorld *dst); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + PF_EffectWorld *dst0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + PF_EffectWorld *render_bufferP); /* << */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + +} AEGP_CanvasSuite2; + + + +#define kAEGPCanvasSuiteVersion4 9 /* frozen AE 6.0 */ + +typedef struct AEGP_CanvasSuite4 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + AEGP_WorldH *dst); /* << */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_WorldH *dstPH); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_WorldH dstH0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + // for track mattes. + // Returns a comp-size buffer, which must be disposed thru AEGP_Dispose in World suite + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_WorldH *render_bufferPH); /* << must be disposed with AEGP_DisposeWorld */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + + // new for 6.0 --get receipt with the returned texture + // use receipt to determine if a subsequent call to render + // this layer can be skipped (because the artisan cached it) + SPAPI A_Err (*AEGP_RenderTextureWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *dstPH); /* << */ + + SPAPI A_Err (*AEGP_RenderLayerPlusWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *render_bufferPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeRenderReceipt)( + AEGP_RenderReceiptH render_receiptH); /* >> */ + + + SPAPI A_Err (*AEGP_CheckRenderReceipt)( + PR_RenderContextH current_render_contextH, /* >> */ + AEGP_RenderLayerContextH current_layer_contextH, /* >> */ + AEGP_RenderReceiptH old_render_receiptH, /* >> */ + A_Boolean check_aceB, /* >> */ + AEGP_RenderReceiptStatus *receipt_statusP); /* << */ + + + SPAPI A_Err (*AEGP_GetNumBinsToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_bins_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_SetNthBin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n); /* >> */ + + SPAPI A_Err (*AEGP_GetBinType)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_BinType *bin_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform2D3D)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Boolean only_2dB, /* >> */ + A_Matrix4 *transform); /* << */ + + + // interactive artisan information + // handle to the on-screen window + SPAPI A_Err (*AEGP_GetPlatformWindowRef)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_PlatformWindowRef *window_refP); /* << */ + + + // the dsf src to frame scale factors + SPAPI A_Err (*AEGP_GetViewportScale)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *scale_xPF, /* << */ + A_FpLong *scale_yPF); /* << */ + + + // the dsf src to frame translate + SPAPI A_Err (*AEGP_GetViewportOrigin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *origin_xPL, /* << */ + A_long *origin_yPL); /* << */ + + + SPAPI A_Err (*AEGP_GetViewportRect)( + const PR_RenderContextH render_contextH, /* >> */ + A_LegacyRect *viewport_rectPR); /* << */ + + + SPAPI A_Err (*AEGP_GetFallowColor)( + const PR_RenderContextH render_contextH, /* >> */ + PF_Pixel8 *fallow_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboard)( + const PR_RenderContextH render_contextH, /* in */ + A_Boolean *checkerboard_onPB);/* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardColors)( + const PR_RenderContextH render_contextH, /* in */ + PF_Pixel *checkerboard_color1P, /* out */ + PF_Pixel *checkerboard_color2P); /* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardSize)( + const PR_RenderContextH render_contextH, /* in */ + A_u_long *checkerboard_widthPLu, /* out - width of square*/ + A_u_long *checkerboard_heightPLu); /* out - height of square*/ + + SPAPI A_Err (*AEGP_GetInteractiveCachedBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + + // should we call AEGP_RenderLayer or AEGP_RenderTexture + SPAPI A_Err (*AEGP_ArtisanMustRenderAsLayer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, + A_Boolean *use_render_texturePB); + +} AEGP_CanvasSuite4; + + + +#define kAEGPCanvasSuiteVersion5 10 /* frozen in AE 6.5 */ + +typedef struct AEGP_CanvasSuite5 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + AEGP_WorldH *dst); /* << */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_WorldH *dstPH); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_WorldH dstH0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + // for track mattes. + // Returns a comp-size buffer, which must be disposed thru AEGP_Dispose in World suite + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_WorldH *render_bufferPH); /* << must be disposed with AEGP_DisposeWorld */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + + // new for 6.0 --get receipt with the returned texture + // use receipt to determine if a subsequent call to render + // this layer can be skipped (because the artisan cached it) + SPAPI A_Err (*AEGP_RenderTextureWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *dstPH); /* << */ + + SPAPI A_Err (*AEGP_RenderLayerPlusWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *render_bufferPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeRenderReceipt)( + AEGP_RenderReceiptH render_receiptH); /* >> */ + + + SPAPI A_Err (*AEGP_CheckRenderReceipt)( + PR_RenderContextH current_render_contextH, /* >> */ + AEGP_RenderLayerContextH current_layer_contextH, /* >> */ + AEGP_RenderReceiptH old_render_receiptH, /* >> */ + A_Boolean check_geometricsB, /* >> */ + AEGP_RenderReceiptStatus *receipt_statusP); /* << */ + + + SPAPI A_Err (*AEGP_GetNumBinsToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_bins_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_SetNthBin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n); /* >> */ + + SPAPI A_Err (*AEGP_GetBinType)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_BinType *bin_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform2D3D)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Boolean only_2dB, /* >> */ + A_Matrix4 *transform); /* << */ + + + // interactive artisan information + // handle to the on-screen window + SPAPI A_Err (*AEGP_GetPlatformWindowRef)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_PlatformWindowRef *window_refP); /* << */ + + + // the dsf src to frame scale factors + SPAPI A_Err (*AEGP_GetViewportScale)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *scale_xPF, /* << */ + A_FpLong *scale_yPF); /* << */ + + + // the dsf src to frame translate + SPAPI A_Err (*AEGP_GetViewportOrigin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *origin_xPL, /* << */ + A_long *origin_yPL); /* << */ + + + SPAPI A_Err (*AEGP_GetViewportRect)( + const PR_RenderContextH render_contextH, /* >> */ + A_LegacyRect *viewport_rectPR); /* << */ + + + SPAPI A_Err (*AEGP_GetFallowColor)( + const PR_RenderContextH render_contextH, /* >> */ + PF_Pixel8 *fallow_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboard)( + const PR_RenderContextH render_contextH, /* in */ + A_Boolean *checkerboard_onPB);/* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardColors)( + const PR_RenderContextH render_contextH, /* in */ + PF_Pixel *checkerboard_color1P, /* out */ + PF_Pixel *checkerboard_color2P); /* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardSize)( + const PR_RenderContextH render_contextH, /* in */ + A_u_long *checkerboard_widthPLu, /* out - width of square*/ + A_u_long *checkerboard_heightPLu); /* out - height of square*/ + + SPAPI A_Err (*AEGP_GetInteractiveCachedBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + + // should we call AEGP_RenderLayer or AEGP_RenderTexture + SPAPI A_Err (*AEGP_ArtisanMustRenderAsLayer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, + A_Boolean *use_render_texturePB); + + + SPAPI A_Err (*AEGP_GetInteractiveDisplayChannel)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_DisplayChannelType *display_channelP); /* << */ + +} AEGP_CanvasSuite5; + + +#define kAEGPCanvasSuiteVersion6 11 /* frozen in AE 7.0 */ + +typedef struct AEGP_CanvasSuite6 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + AEGP_WorldH *dst); /* << */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_WorldH *dstPH); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_WorldH dstH0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + // for track mattes. + // Returns a comp-size buffer, which must be disposed thru AEGP_Dispose in World suite + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_WorldH *render_bufferPH); /* << must be disposed with AEGP_DisposeWorld */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + + // new for 6.0 --get receipt with the returned texture + // use receipt to determine if a subsequent call to render + // this layer can be skipped (because the artisan cached it) + SPAPI A_Err (*AEGP_RenderTextureWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* >> number of effect to render, -1 for all */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *dstPH); /* << */ + + + + SPAPI A_Err (*AEGP_GetNumberOfSoftwareEffects)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + A_short *num_software_effectsPS); + + SPAPI A_Err (*AEGP_RenderLayerPlusWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *render_bufferPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeRenderReceipt)( + AEGP_RenderReceiptH render_receiptH); /* >> */ + + + /* modified for 7.0 - added num_effects to check against */ + SPAPI A_Err (*AEGP_CheckRenderReceipt)( + PR_RenderContextH current_render_contextH, /* in */ + AEGP_RenderLayerContextH current_layer_contextH, /* in */ + AEGP_RenderReceiptH old_render_receiptH, /* in */ + A_Boolean check_geometricsB, /* in */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptStatus *receipt_statusP); /* out */ + + + /* new in 7.0 generate a receipt for a layer as asd if the first num_effectsS have been rendered */ + SPAPI A_Err (*AEGP_GenerateRenderReceipt)( + PR_RenderContextH current_render_contextH, /* >> */ + AEGP_RenderLayerContextH current_layer_contextH, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptH *render_receiptPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumBinsToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_bins_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_SetNthBin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n); /* >> */ + + SPAPI A_Err (*AEGP_GetBinType)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_BinType *bin_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform2D3D)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Boolean only_2dB, /* >> */ + A_Matrix4 *transform); /* << */ + + + // interactive artisan information + // handle to the on-screen window + SPAPI A_Err (*AEGP_GetPlatformWindowRef)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_PlatformWindowRef *window_refP); /* << */ + + + // the dsf src to frame scale factors + SPAPI A_Err (*AEGP_GetViewportScale)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *scale_xPF, /* << */ + A_FpLong *scale_yPF); /* << */ + + + // the dsf src to frame translate + SPAPI A_Err (*AEGP_GetViewportOrigin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *origin_xPL, /* << */ + A_long *origin_yPL); /* << */ + + + SPAPI A_Err (*AEGP_GetViewportRect)( + const PR_RenderContextH render_contextH, /* >> */ + A_LegacyRect *viewport_rectPR); /* << */ + + + SPAPI A_Err (*AEGP_GetFallowColor)( + const PR_RenderContextH render_contextH, /* >> */ + PF_Pixel8 *fallow_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboard)( + const PR_RenderContextH render_contextH, /* in */ + A_Boolean *checkerboard_onPB);/* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardColors)( + const PR_RenderContextH render_contextH, /* in */ + PF_Pixel *checkerboard_color1P, /* out */ + PF_Pixel *checkerboard_color2P); /* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardSize)( + const PR_RenderContextH render_contextH, /* in */ + A_u_long *checkerboard_widthPLu, /* out - width of square*/ + A_u_long *checkerboard_heightPLu); /* out - height of square*/ + + SPAPI A_Err (*AEGP_GetInteractiveCachedBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + + // should we call AEGP_RenderLayer or AEGP_RenderTexture + SPAPI A_Err (*AEGP_ArtisanMustRenderAsLayer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, + A_Boolean *use_render_texturePB); + + + SPAPI A_Err (*AEGP_GetInteractiveDisplayChannel)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_DisplayChannelType *display_channelP); /* << */ + + +} AEGP_CanvasSuite6; + + + +#define kAEGPCanvasSuiteVersion7 13 /* frozen in AE 8.0, source code-compatible additions in 64-bit AE 10.0*/ + +typedef struct AEGP_CanvasSuite7 { + + SPAPI A_Err (*AEGP_GetCompToRender)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumLayersToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_GetNthLayerContextToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n, /* >> */ + AEGP_RenderLayerContextH *layer_contextPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerAndSubLayerFromLayerContext)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_LayerH *layerPH, /* << */ + AEGP_SubLayerIndex *sublayerP); /* << */ + + /** + ** With collapsed geometrics "on" this gives the layer in the root comp + ** contining the layer context. With collapsed geometrics off + ** this is the same as AEGP_GetLayerFromLayerContext. + ** + **/ + SPAPI A_Err (*AEGP_GetTopLayerFromLayerContext)( + const PR_RenderContextH render_contextH, + AEGP_RenderLayerContextH layer_contextH, + AEGP_LayerH *layerPH); + + SPAPI A_Err (*AEGP_GetCompRenderTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *time, /* << */ + A_Time *time_step); + + SPAPI A_Err (*AEGP_GetCompDestinationBuffer)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_CompH compH, /* >> */ + AEGP_WorldH *dst); /* << */ + + SPAPI A_Err (*AEGP_GetROI)( + PR_RenderContextH render_contextH, /* <> */ + A_LegacyRect *roiPR); /* << */ + + // for rendering the texture map of a layer + SPAPI A_Err (*AEGP_RenderTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_WorldH *dstPH); /* <> */ + + + SPAPI A_Err (*AEGP_DisposeTexture)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_WorldH dstH0); /* <> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + PR_RenderContextH render_contextH, /* >> */ + PF_Field *field); /* << */ + + // not thread safe on MacOS + // only call when thread ID = 0 + SPAPI A_Err (*AEGP_ReportArtisanProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long totalL); /* >> */ + + SPAPI A_Err (*AEGP_GetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetRenderDownsampleFactor)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_IsBlankCanvas)( + PR_RenderContextH render_contextH, /* >> */ + A_Boolean *is_blankPB); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerBounds)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_LegacyRect *boundsP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderOpacity)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_FpLong *opacityPF); /* << */ + + SPAPI A_Err (*AEGP_IsRenderLayerActive)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Boolean *activePB); /* << */ + + // set the layer index. If total > 0, set it too. + SPAPI A_Err (*AEGP_SetArtisanLayerProgress)( + PR_RenderContextH render_contextH, /* >> */ + A_long countL, /* >> */ + A_long num_layersL); + + // for track mattes. + // Returns a comp-size buffer, which must be disposed thru AEGP_Dispose in World suite + SPAPI A_Err (*AEGP_RenderLayerPlus)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_WorldH *render_bufferPH); /* << must be disposed with AEGP_DisposeWorld */ + + + SPAPI A_Err (*AEGP_GetTrackMatteContext)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH fill_contextH, /* << */ + AEGP_RenderLayerContextH *matte_contextPH); /* >> */ + + // new for 6.0 --get receipt with the returned texture + // use receipt to determine if a subsequent call to render + // this layer can be skipped (because the artisan cached it) + SPAPI A_Err (*AEGP_RenderTextureWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* >> number of effect to render, -1 for all */ + A_FloatPoint *suggested_scaleP0, /* >> */ + A_FloatRect *suggested_src_rectP0, /* >> */ + A_Matrix3 *src_matrixP0, /* << */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *dstPH); /* << */ + + + + SPAPI A_Err (*AEGP_GetNumberOfSoftwareEffects)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + A_short *num_software_effectsPS); + + SPAPI A_Err (*AEGP_RenderLayerPlusWithReceipt)( + PR_RenderContextH render_contextH, /* <> */ + AEGP_LayerH layerH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + AEGP_RenderHints render_hints, /* >> */ + AEGP_RenderReceiptH *render_receiptPH, /* << must be disposed with AEGP_DisposeRenderReceipt */ + AEGP_WorldH *render_bufferPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeRenderReceipt)( + AEGP_RenderReceiptH render_receiptH); /* >> */ + + + /* modified for 7.0 - added num_effects to check against */ + SPAPI A_Err (*AEGP_CheckRenderReceipt)( + PR_RenderContextH current_render_contextH, /* in */ + AEGP_RenderLayerContextH current_layer_contextH, /* in */ + AEGP_RenderReceiptH old_render_receiptH, /* in */ + A_Boolean check_geometricsB, /* in */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptStatus *receipt_statusP); /* out */ + + + /* new in 7.0 generate a receipt for a layer as asd if the first num_effectsS have been rendered */ + SPAPI A_Err (*AEGP_GenerateRenderReceipt)( + PR_RenderContextH current_render_contextH, /* >> */ + AEGP_RenderLayerContextH current_layer_contextH, /* >> */ + AEGP_NumEffectsToRenderType num_effectsS, /* in */ + AEGP_RenderReceiptH *render_receiptPH); /* << */ + + SPAPI A_Err (*AEGP_GetNumBinsToRender)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *num_bins_to_renderPL); /* << */ + + + SPAPI A_Err (*AEGP_SetNthBin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long n); /* >> */ + + SPAPI A_Err (*AEGP_GetBinType)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_BinType *bin_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderLayerToWorldXform2D3D)( + PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Boolean only_2dB, /* >> */ + A_Matrix4 *transform); /* << */ + + + // interactive artisan information + // handle to the on-screen window + SPAPI A_Err (*AEGP_GetPlatformWindowRef)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_PlatformWindowRef *window_refP); /* << */ + + + // the dsf src to frame scale factors + SPAPI A_Err (*AEGP_GetViewportScale)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *scale_xPF, /* << */ + A_FpLong *scale_yPF); /* << */ + + + // the dsf src to frame translate + SPAPI A_Err (*AEGP_GetViewportOrigin)( + const PR_RenderContextH render_contextH, /* >> */ + A_long *origin_xPL, /* << */ + A_long *origin_yPL); /* << */ + + + SPAPI A_Err (*AEGP_GetViewportRect)( + const PR_RenderContextH render_contextH, /* >> */ + A_LegacyRect *viewport_rectPR); /* << */ + + + SPAPI A_Err (*AEGP_GetFallowColor)( + const PR_RenderContextH render_contextH, /* >> */ + PF_Pixel8 *fallow_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboard)( + const PR_RenderContextH render_contextH, /* in */ + A_Boolean *checkerboard_onPB);/* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardColors)( + const PR_RenderContextH render_contextH, /* in */ + PF_Pixel *checkerboard_color1P, /* out */ + PF_Pixel *checkerboard_color2P); /* out */ + + SPAPI A_Err (*AEGP_GetInteractiveCheckerboardSize)( + const PR_RenderContextH render_contextH, /* in */ + A_u_long *checkerboard_widthPLu, /* out - width of square*/ + A_u_long *checkerboard_heightPLu); /* out - height of square*/ + + SPAPI A_Err (*AEGP_GetInteractiveCachedBuffer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_WorldH *buffer); /* << */ + + + // should we call AEGP_RenderLayer or AEGP_RenderTexture + SPAPI A_Err (*AEGP_ArtisanMustRenderAsLayer)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_RenderLayerContextH layer_contextH, + A_Boolean *use_render_texturePB); + + + SPAPI A_Err (*AEGP_GetInteractiveDisplayChannel)( + const PR_RenderContextH render_contextH, /* >> */ + AEGP_DisplayChannelType *display_channelP); /* << */ + + SPAPI A_Err (*AEGP_GetInteractiveExposure)( + const PR_RenderContextH render_contextH, /* >> */ + A_FpLong *exposurePF); /* << */ + + + SPAPI A_Err (*AEGP_GetColorTransform)( + const PR_RenderContextH render_contextH, /* >> */ + A_Boolean *cms_onB, + A_u_long *xform_keyLu, + void *xformP); + + + SPAPI A_Err (*AEGP_GetCompShutterTime)( + PR_RenderContextH render_contextH, /* >> */ + A_Time *shutter_time, /* << */ + A_Time *shutter_dur); + +} AEGP_CanvasSuite7; + + + + +#define kAEGPMaskOutlineSuite "AEGP Mask Outline Suite" +#define kAEGPMaskOutlineSuiteVersion2 3 /* frozen in AE 5.5 */ + +typedef struct AEGP_MaskOutlineSuite2 { + + SPAPI A_Err (*AEGP_IsMaskOutlineOpen)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_Boolean *openPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskOutlineOpen)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_Boolean openB); /* >> */ + + // N segments means there are segments [0..N-1]; segment J is defined by vertex J & J+1 + SPAPI A_Err (*AEGP_GetMaskOutlineNumSegments)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_long *num_segmentsPL); /* << */ + + // which_pointL range: [0..num_segments]; for closed masks vertex[0] == vertex[num_segments] + SPAPI A_Err (*AEGP_GetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> */ + AEGP_MaskVertex *vertexP); /* << tangents are relative to position */ + + // Setting vertex 0 is special. Its in tangent will actually set the out tangent + // of the last vertex in the outline. + SPAPI A_Err (*AEGP_SetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> must already exists (use Create) */ + const AEGP_MaskVertex *vertexP); /* >> tangents are relative to position */ + + SPAPI A_Err (*AEGP_CreateVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex insert_position); /* >> will insert at this index. moving other verticies index++*/ + + SPAPI A_Err (*AEGP_DeleteVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex index); /* >> */ + +} AEGP_MaskOutlineSuite2; + +#define kAEGPMaskOutlineSuiteVersion1 2 /* frozen in AE 5.0 */ + +typedef struct AEGP_MaskOutlineSuite1 { + + SPAPI A_Err (*AEGP_IsMaskOutlineOpen)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_Boolean *openPB); /* << */ + + // N segments means there are segments [0..N-1]; segment J is defined by vertex J & J+1 + SPAPI A_Err (*AEGP_GetMaskOutlineNumSegments)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + A_long *num_segmentsPL); /* << */ + + // which_pointL range: [0..num_segments]; for closed masks vertex[0] == vertex[num_segments] + SPAPI A_Err (*AEGP_GetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> */ + AEGP_MaskVertex *vertexP); /* << tangents are relative to position */ + + // Setting vertex 0 is special. Its in tangent will actually set the out tangent + // of the last vertex in the outline. + SPAPI A_Err (*AEGP_SetMaskOutlineVertexInfo)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex which_pointL, /* >> must already exists (use Create) */ + const AEGP_MaskVertex *vertexP); /* >> tangents are relative to position */ + + SPAPI A_Err (*AEGP_CreateVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex insert_position); /* >> will insert at this index. moving other verticies index++*/ + + SPAPI A_Err (*AEGP_DeleteVertex)( + AEGP_MaskOutlineValH mask_outlineH, /* >> */ + AEGP_VertexIndex index); /* >> */ + +} AEGP_MaskOutlineSuite1; + + +#define kAEGPCompSuite "AEGP Comp Suite" +#define kAEGPCompSuiteVersion10 21 /* frozen in AE 12 */ + +typedef struct AEGP_CompSuite10 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_GetShowLayerNameOrSourceName)( + AEGP_CompH compH, /* >> */ + A_Boolean *layer_names_shownPB); /* << true if layer names, false if source names */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_SetShowLayerNameOrSourceName)( + AEGP_CompH compH, /* >> */ + A_Boolean show_layer_namesB); /* >> true to show layer names, false to show source names */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_GetShowBlendModes)( + AEGP_CompH compH, /* >> */ + A_Boolean *blend_modes_shownPB); /* << */ + + /*Opens the comp*/ + SPAPI A_Err (*AEGP_SetShowBlendModes)( + AEGP_CompH compH, /* >> */ + A_Boolean show_blend_modesB); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompMotionBlurAdaptiveSampleLimit)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompMotionBlurAdaptiveSampleLimit)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_UTF16Char *utf_nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_CreateBoxTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + A_FloatPoint box_dimensions, /* >> */ // (width and height) + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + + SPAPI A_Err (*AEGP_GetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean *dropFramePB); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean dropFrameB); /* << */ + +} AEGP_CompSuite10; + + +#define kAEGPCompSuiteVersion9 19 /* frozen in AE 11 */ + +typedef struct AEGP_CompSuite9 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_UTF16Char *utf_nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_CreateBoxTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_Boolean select_new_layerB, /* >> */ + A_FloatPoint box_dimensions, /* >> */ // (width and height) + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + + SPAPI A_Err (*AEGP_GetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean *dropFramePB); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean dropFrameB); /* << */ + + +} AEGP_CompSuite9; + + +#define kAEGPCompSuiteVersion8 18 /* frozen in AE 10.5 */ + +typedef struct AEGP_CompSuite8 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_UTF16Char *utf_nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_CreateBoxTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + A_FloatPoint box_dimensions, /* >> */ // (width and height) + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + + SPAPI A_Err (*AEGP_GetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean *dropFramePB); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayDropFrame)( + AEGP_CompH compH, /* >> */ + A_Boolean dropFrameB); /* << */ + + +} AEGP_CompSuite8; + + + +#define kAEGPCompSuiteVersion7 15 /* frozen in AE 9.0 */ + +typedef struct AEGP_CompSuite7 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_UTF16Char *utf_nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_UTF16Char *utf_nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + +} AEGP_CompSuite7; + + +#define kAEGPCompSuiteVersion6 14 /* frozen in AE 8.0 */ + +typedef struct AEGP_CompSuite6 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompSuggestedMotionBlurSamples)( + AEGP_CompH compH, /* >> */ + A_long *samplesPL); /* << */ + + SPAPI A_Err (*AEGP_SetCompSuggestedMotionBlurSamples)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_long samplesL); /* >> */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + const A_Time *work_area_startPT, /* >> */ + const A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_char *nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)( + AEGP_CompH compH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ + + SPAPI A_Err (*AEGP_CreateVectorLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_vector_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCompMarkerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller */ + +} AEGP_CompSuite6; + + +#define kAEGPCompSuiteVersion5 11 /* frozen AE 7.0 */ + +typedef struct AEGP_CompSuite5 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_SetCompBGColor)( + AEGP_CompH compH, /* >> */ + const AEGP_ColorVal *bg_colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT, /* >> */ + A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_char *nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)(AEGP_CompH compH, /* >> */ + A_Time* timeP); /* << */ + + SPAPI A_Err (*AEGP_GetMostRecentlyUsedComp)( + AEGP_CompH *compPH); /* << If compPH returns NULL, there's no available comp */ +} AEGP_CompSuite5; + + +#define kAEGPCompSuiteVersion4 9 /* frozen AE 6.5 */ + +typedef struct AEGP_CompSuite4 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT, /* >> */ + A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_Collection2H *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_Collection2H collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_char *nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompDimensions)( + AEGP_CompH compH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateComp)( + AEGP_CompH compH, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompFrameDuration)(AEGP_CompH compH, // in + A_Time* timeP); // out + +} AEGP_CompSuite4; + + +#define kAEGPCompSuiteVersion3 7 /* frozen AE 6.0 */ + +typedef struct AEGP_CompSuite3 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_SetCompFrameRate)( + AEGP_CompH compH, /* >> */ + const A_FpLong *fpsPF); /* >> */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT, /* >> */ + A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_CollectionH *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_CollectionH collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetCompDisplayStartTime)( + AEGP_CompH compH, /* >> */ + A_Time *start_timePT); /* << */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_char *nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + + SPAPI A_Err (*AEGP_SetCompPixelAspectRatio)( + AEGP_CompH compH, /* >> */ + const A_Ratio *pix_aspectratioPRt); /* >> */ + + SPAPI A_Err (*AEGP_CreateTextLayerInComp)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerH *new_text_layerPH); /* << */ + +} AEGP_CompSuite3; + + +#define kAEGPCompSuiteVersion2 6 /* frozen in AE 5.5 */ + +typedef struct AEGP_CompSuite2 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_SetCompDownsampleFactor)( + AEGP_CompH compH, /* <> */ + const AEGP_DownsampleFactor *dsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT, /* >> */ + A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_ItemH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateCameraInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_ItemH parent_compH, /* >> */ + AEGP_LayerH *new_cameraPH); /* << */ + + SPAPI A_Err (*AEGP_CreateLightInComp)( + const A_char *nameZ, /* >> */ + A_FloatPoint center_point, /* >> */ + AEGP_ItemH parent_compH, /* >> */ + AEGP_LayerH *new_lightPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_CompH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_CollectionH *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_CollectionH collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ + + + SPAPI A_Err (*AEGP_CreateNullInComp)( + const A_char *nameZ, /* >> */ + AEGP_CompH parent_compH, /* >> */ + const A_Time *durationPT0, /* >> */ + AEGP_LayerH *new_null_solidPH); /* << */ + +} AEGP_CompSuite2; + + +#define kAEGPCompSuiteVersion1 4 /* frozen in AE 5.0 */ + +typedef struct AEGP_CompSuite1 { + + SPAPI A_Err (*AEGP_GetCompFromItem)( // error if item isn't AEGP_ItemType_COMP! + AEGP_ItemH itemH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemFromComp)( + AEGP_CompH compH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetCompDownsampleFactor)( + AEGP_CompH compH, /* >> */ + AEGP_DownsampleFactor *dsfP); /* << */ + + SPAPI A_Err (*AEGP_GetCompBGColor)( + AEGP_CompH compH, /* >> */ + AEGP_ColorVal *bg_colorP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFlags)( + AEGP_CompH compH, /* >> */ + AEGP_CompFlags *comp_flagsP); /* << */ + + SPAPI A_Err (*AEGP_GetCompFramerate)( + AEGP_CompH compH, /* >> */ + A_FpLong *fpsPF); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterAnglePhase)( + AEGP_CompH compH, /* >> */ + A_Ratio *angle, /* << */ + A_Ratio *phase); /* << */ + + SPAPI A_Err (*AEGP_GetCompShutterFrameRange)( + AEGP_CompH compH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *start, /* << */ + A_Time *duration); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaStart)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT); /* << */ + + SPAPI A_Err (*AEGP_GetCompWorkAreaDuration)( + AEGP_CompH compH, /* >> */ + A_Time *work_area_durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetCompWorkAreaStartAndDuration)( /* UNDOABLE */ + AEGP_CompH compH, /* >> */ + A_Time *work_area_startPT, /* >> */ + A_Time *work_area_durationPT); /* >> */ + + SPAPI A_Err (*AEGP_CreateSolidInComp)( + const A_char *nameZ, /* >> */ + A_long width, /* >> */ + A_long height, /* >> */ + const AEGP_ColorVal *color, /* >> */ + AEGP_ItemH parent_compH, /* >> */ + AEGP_LayerH *new_solidPH); /* << */ + + SPAPI A_Err (*AEGP_CreateComp)( + AEGP_ItemH parent_folderH0, /* >> */ + const A_char *nameZ, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + const A_Ratio *pixel_aspect_ratioPRt, /* >> */ + const A_Time *durationPT, /* >> */ + const A_Ratio *frameratePRt, /* >> */ + AEGP_ItemH *new_compPH); /* << */ + + SPAPI A_Err (*AEGP_GetNewCollectionFromCompSelection)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_CompH compH, /* >> */ + AEGP_CollectionH *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_SetSelection)( + AEGP_CompH compH, /* >> */ + AEGP_CollectionH collectionH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_SetCompDisplayStartTime)( /* NOT Undoable! */ + AEGP_CompH compH, /* >> */ + const A_Time *start_timePT); /* >> */ + + SPAPI A_Err (*AEGP_SetCompDuration)( + AEGP_CompH compH, /* >> */ + const A_Time *durationPT); /* >> */ +} AEGP_CompSuite1; + + + +#define kAEGPLayerSuite "AEGP Layer Suite" + +#define kAEGPLayerSuiteVersion6 12 /* frozen AE 9.0 */ + +typedef struct AEGP_LayerSuite6 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << returns non null only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItemID)( + AEGP_LayerH layerH, /* >> */ + A_long *source_item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_PluginID pluginID, // in + AEGP_LayerH layerH, /* >> */ + AEGP_MemHandle *utf_layer_namePH0, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *utf_source_namePH0); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_UTF16Char *new_nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + SPAPI A_Err (*AEGP_DuplicateLayer)( + AEGP_LayerH orig_layerH, /* >> */ + AEGP_LayerH *duplicate_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerID)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerIDVal id, /* >> */ + AEGP_LayerH *layerPH); /* << */ + +} AEGP_LayerSuite6; + + +#define kAEGPLayerSuiteVersion5 11 /* frozen AE 7.0 */ + +typedef struct AEGP_LayerSuite5 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << returns non null only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItemID)( + AEGP_LayerH layerH, /* >> */ + A_long *source_item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_LayerH layerH, /* >> */ + A_char *layer_nameZ0, /* << space for A_char[AEGP_MAX_LAYER_NAME_MB_SIZE] */ + A_char *source_nameZ0); /* << space for A_char[AEGP_MAX_LAYER_NAME_MB_SIZE] */ + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_char *new_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + SPAPI A_Err (*AEGP_DuplicateLayer)( + AEGP_LayerH orig_layerH, /* >> */ + AEGP_LayerH *duplicate_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerFromLayerID)( + AEGP_CompH parent_compH, /* >> */ + AEGP_LayerIDVal id, /* >> */ + AEGP_LayerH *layerPH); /* << */ + +} AEGP_LayerSuite5; + + + +#define kAEGPLayerSuiteVersion4 10 /* frozen AE 6.5 */ + +typedef struct AEGP_LayerSuite4 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << returns non null only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItemID)( + AEGP_LayerH layerH, /* >> */ + A_long *source_item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_LayerH layerH, /* >> */ + A_char *layer_nameZ0, /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + A_char *source_nameZ0); /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *transform); /* << */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_char *new_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + SPAPI A_Err (*AEGP_DuplicateLayer)( + AEGP_LayerH orig_layerH, /* >> */ + AEGP_LayerH *duplicate_layerPH); /* << */ + +} AEGP_LayerSuite4; + +#define kAEGPLayerSuiteVersion3 8 /* frozen AE 6.0 */ + +typedef struct AEGP_LayerSuite3 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_LayerH layerH, /* >> */ + A_char *layer_nameZ0, /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + A_char *source_nameZ0); /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_char *new_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH0); /* >> */ + + SPAPI A_Err (*AEGP_DeleteLayer)( + AEGP_LayerH layerH); /* >> UNDOABLE */ + + +} AEGP_LayerSuite3; + +/*******************************************************************************/ + +typedef struct { + A_char nameAC [AEGP_MAX_MARKER_NAME_SIZE]; + A_char urlAC [AEGP_MAX_MARKER_URL_SIZE]; + A_char targetAC [AEGP_MAX_MARKER_TARGET_SIZE]; + A_char chapterAC [AEGP_MAX_MARKER_CHAPTER_SIZE]; +} AEGP_MarkerVal; + +typedef AEGP_MarkerVal** AEGP_MarkerValH; + +typedef union { + AEGP_FourDVal four_d; + AEGP_ThreeDVal three_d; + AEGP_TwoDVal two_d; + AEGP_OneDVal one_d; + AEGP_ColorVal color; + AEGP_ArbBlockVal arbH; + AEGP_MarkerValH markerH; + AEGP_LayerIDVal layer_id; + AEGP_MaskIDVal mask_id; + AEGP_MaskOutlineValH mask; + AEGP_TextDocumentH text_documentH; +} AEGP_StreamVal; + +/* Metrowerks 2.4.6, a.k.a. Codewarrior Pro 7.1, changed PowerPC struct + alignment. The pragma ensures the same alignment as with 2.4.5 and + previous since plug-ins are built against this structure. See Codewarrior + release notes for for details. Bug# WB1-27922. +*/ + +#if (__MWERKS__ >= 0x2406) +#pragma options align=mac68k4byte +#endif + +typedef struct { + + AEGP_StreamRefH streamH; + /* CW 7.1 was adding 4 padding bytes here. See pragma above for comments. */ + AEGP_StreamVal val; +} AEGP_StreamValue; + +#define kAEGPStreamSuite "AEGP Stream Suite" + +#define kAEGPStreamSuiteVersion4 9 /* frozen in AE 9 */ +typedef struct AEGP_StreamSuite4 { + // the only diff from this vs. last rev is that routines that pass AEGP_StreamValue2, when referring to a marker, + // (comp or layer) the struct now contains the NEW markerP type, which is compatible with the new Marker Suite + + SPAPI A_Err(*AEGP_IsStreamLegal)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + A_Boolean* is_legalP); /* << */ + + + SPAPI A_Err(*AEGP_CanVaryOverTime)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean* can_varyPB); /* << */ + + SPAPI A_Err(*AEGP_GetValidInterpolations)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyInterpolationMask* valid_interpolationsP); /* << */ + + SPAPI A_Err(*AEGP_GetNewLayerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err(*AEGP_GetEffectNumParamStreams)( + AEGP_EffectRefH effect_refH, /* >> */ + A_long *num_paramsPL); /* << */ + + SPAPI A_Err(*AEGP_GetNewEffectStreamByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err(*AEGP_GetNewMaskStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskStream which_stream, /* >> */ + AEGP_StreamRefH *mask_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err(*AEGP_DisposeStream)( + AEGP_StreamRefH streamH); /* >> */ + + SPAPI A_Err(*AEGP_GetStreamName)( + AEGP_PluginID pluginID, // in + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + AEGP_MemHandle *utf_stream_namePH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err(*AEGP_GetStreamUnitsText)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *unitsZ); /* << space for A_char[AEGP_MAX_STREAM_UNITS_SIZE] */ + + SPAPI A_Err(*AEGP_GetStreamProperties)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamFlags *flagsP, /* << */ + A_FpLong *minP0, /* << */ + A_FpLong *maxP0); /* << */ + + SPAPI A_Err(*AEGP_IsStreamTimevarying)( /* takes expressions into account */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *is_timevaryingPB); /* << */ + + SPAPI A_Err(*AEGP_GetStreamType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamType *stream_typeP); /* << */ + + SPAPI A_Err(*AEGP_GetNewStreamValue)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamValue2 *valueP); /* << must be disposed */ + + SPAPI A_Err(*AEGP_DisposeStreamValue)( + AEGP_StreamValue2 *valueP); /* <> */ + + + SPAPI A_Err(*AEGP_SetStreamValue)( // only legal to call when AEGP_GetStreamNumKFs==0 or NO_DATA + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamValue2 *valueP); /* << */ + + // this is only valid on streams with primitive types. It is illegal on + // AEGP_ArbBlockVal || AEGP_MarkerValP || AEGP_MaskOutlineValH + + SPAPI A_Err(*AEGP_GetLayerStreamValue)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamVal2 *stream_valP, /* << */ + AEGP_StreamType *stream_typeP0); /* << */ + + SPAPI A_Err(*AEGP_GetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *enabledPB); /* >> */ + + SPAPI A_Err(*AEGP_SetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean enabledB); /* >> */ + + SPAPI A_Err(*AEGP_GetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_MemHandle *expressionHZ); /* << must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err(*AEGP_SetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + const A_char* expressionP); /* >> not adopted */ + + SPAPI A_Err(*AEGP_DuplicateStreamRef)( // must dispose yourself + AEGP_PluginID aegp_plugin_id, // in + AEGP_StreamRefH streamH, // in + AEGP_StreamRefH *dup_streamPH); // out +} AEGP_StreamSuite4; + + + +#define kAEGPStreamSuiteVersion3 8 /* frozen in AE 8 */ +typedef struct AEGP_StreamSuite3 { + // the only diff from this vs. last rev is that routines that pass AEGP_StreamValue2, when referring to a marker, + // (comp or layer) the struct now contains the NEW markerP type, which is compatible with the new Marker Suite + + SPAPI A_Err (*AEGP_IsStreamLegal)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + A_Boolean* is_legalP); /* << */ + + + SPAPI A_Err (*AEGP_CanVaryOverTime)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean* can_varyPB); /* << */ + + SPAPI A_Err (*AEGP_GetValidInterpolations)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyInterpolationMask* valid_interpolationsP); /* << */ + + SPAPI A_Err (*AEGP_GetNewLayerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetEffectNumParamStreams)( + AEGP_EffectRefH effect_refH, /* >> */ + A_long *num_paramsPL); /* << */ + + SPAPI A_Err (*AEGP_GetNewEffectStreamByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewMaskStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskStream which_stream, /* >> */ + AEGP_StreamRefH *mask_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DisposeStream)( + AEGP_StreamRefH streamH); /* >> */ + + SPAPI A_Err (*AEGP_GetStreamName)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_STREAM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamUnitsText)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *unitsZ); /* << space for A_char[AEGP_MAX_STREAM_UNITS_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamProperties)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamFlags *flagsP, /* << */ + A_FpLong *minP0, /* << */ + A_FpLong *maxP0); /* << */ + + SPAPI A_Err (*AEGP_IsStreamTimevarying)( /* takes expressions into account */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *is_timevaryingPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamType *stream_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNewStreamValue)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamValue2 *valueP); /* << must be disposed */ + + SPAPI A_Err (*AEGP_DisposeStreamValue)( + AEGP_StreamValue2 *valueP); /* <> */ + + + SPAPI A_Err (*AEGP_SetStreamValue)( // only legal to call when AEGP_GetStreamNumKFs==0 or NO_DATA + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamValue2 *valueP); /* << */ + + // this is only valid on streams with primitive types. It is illegal on + // AEGP_ArbBlockVal || AEGP_MarkerValP || AEGP_MaskOutlineValH + + SPAPI A_Err (*AEGP_GetLayerStreamValue)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamVal2 *stream_valP, /* << */ + AEGP_StreamType *stream_typeP0); /* << */ + + SPAPI A_Err (*AEGP_GetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *enabledPB); /* >> */ + + SPAPI A_Err (*AEGP_SetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean enabledB); /* >> */ + + SPAPI A_Err (*AEGP_GetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_MemHandle *expressionHZ); /* << must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + const A_char* expressionP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_DuplicateStreamRef)( // must dispose yourself + AEGP_PluginID aegp_plugin_id, // in + AEGP_StreamRefH streamH, // in + AEGP_StreamRefH *dup_streamPH); // out +} AEGP_StreamSuite3; + + +#define kAEGPStreamSuiteVersion2 7 /* frozen in AE 6.5 */ + +typedef struct AEGP_StreamSuite2 { + + SPAPI A_Err (*AEGP_IsStreamLegal)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + A_Boolean* is_legalP); /* << */ + + + SPAPI A_Err (*AEGP_CanVaryOverTime)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean* can_varyPB); /* << */ + + SPAPI A_Err (*AEGP_GetValidInterpolations)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyInterpolationMask* valid_interpolationsP); /* << */ + + SPAPI A_Err (*AEGP_GetNewLayerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetEffectNumParamStreams)( + AEGP_EffectRefH effect_refH, /* >> */ + A_long *num_paramsPL); /* << */ + + SPAPI A_Err (*AEGP_GetNewEffectStreamByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewMaskStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskStream which_stream, /* >> */ + AEGP_StreamRefH *mask_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DisposeStream)( + AEGP_StreamRefH streamH); /* >> */ + + SPAPI A_Err (*AEGP_GetStreamName)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_STREAM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamUnitsText)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *unitsZ); /* << space for A_char[AEGP_MAX_STREAM_UNITS_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamProperties)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamFlags *flagsP, /* << */ + A_FpLong *minP0, /* << */ + A_FpLong *maxP0); /* << */ + + SPAPI A_Err (*AEGP_IsStreamTimevarying)( /* takes expressions into account */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *is_timevaryingPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamType *stream_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNewStreamValue)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamValue *valueP); /* << must be disposed */ + + SPAPI A_Err (*AEGP_DisposeStreamValue)( + AEGP_StreamValue *valueP); /* <> */ + + + SPAPI A_Err (*AEGP_SetStreamValue)( // only legal to call when AEGP_GetStreamNumKFs==0 or NO_DATA + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamValue *valueP); /* << */ + + // this is only valid on streams with primitive types. It is illegal on + // AEGP_ArbBlockVal || AEGP_MarkerValP || AEGP_MaskOutlineValH + + SPAPI A_Err (*AEGP_GetLayerStreamValue)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamVal *stream_valP, /* << */ + AEGP_StreamType *stream_typeP0); /* << */ + + SPAPI A_Err (*AEGP_GetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *enabledPB); /* >> */ + + SPAPI A_Err (*AEGP_SetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean enabledB); /* >> */ + + SPAPI A_Err (*AEGP_GetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_MemHandle *expressionHZ); /* << must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + const A_char* expressionP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_DuplicateStreamRef)( // must dispose yourself + AEGP_PluginID aegp_plugin_id, // in + AEGP_StreamRefH streamH, // in + AEGP_StreamRefH *dup_streamPH); // out +} AEGP_StreamSuite2; + +#define kAEGPStreamSuite "AEGP Stream Suite" +#define kAEGPStreamSuiteVersion1 4 /* frozen in AE 5.0 */ + +typedef struct AEGP_StreamSuite1 { + + SPAPI A_Err (*AEGP_IsStreamLegal)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + A_Boolean* is_legalP); /* << */ + + + SPAPI A_Err (*AEGP_CanVaryOverTime)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean* can_varyPB); /* << */ + + + SPAPI A_Err (*AEGP_GetNewLayerStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetEffectNumParamStreams)( + AEGP_EffectRefH effect_refH, /* >> */ + A_long *num_paramsPL); /* << */ + + SPAPI A_Err (*AEGP_GetNewEffectStreamByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewMaskStream)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskStream which_stream, /* >> */ + AEGP_StreamRefH *mask_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DisposeStream)( + AEGP_StreamRefH streamH); /* >> */ + + SPAPI A_Err (*AEGP_GetStreamName)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_STREAM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamUnitsText)( + AEGP_StreamRefH streamH, /* >> */ + A_Boolean force_englishB, /* >> */ + A_char *unitsZ); /* << space for A_char[AEGP_MAX_STREAM_UNITS_SIZE] */ + + SPAPI A_Err (*AEGP_GetStreamProperties)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamFlags *flagsP, /* << */ + A_FpLong *minP0, /* << */ + A_FpLong *maxP0); /* << */ + + SPAPI A_Err (*AEGP_IsStreamTimevarying)( /* takes expressions into account */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *is_timevaryingPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamType *stream_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNewStreamValue)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamValue *valueP); /* << must be disposed */ + + SPAPI A_Err (*AEGP_DisposeStreamValue)( + AEGP_StreamValue *valueP); /* <> */ + + + SPAPI A_Err (*AEGP_SetStreamValue)( // only legal to call when AEGP_GetStreamNumKFs==0 or NO_DATA + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamValue *valueP); /* << */ + + // this is only valid on streams with primitive types. It is illegal on + // AEGP_ArbBlockVal || AEGP_MarkerValH || AEGP_MaskOutlineValH + + SPAPI A_Err (*AEGP_GetLayerStreamValue)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerStream which_stream, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean pre_expressionB, /* >> sample the stream before evaluating the expression */ + AEGP_StreamVal *stream_valP, /* << */ + AEGP_StreamType *stream_typeP0); /* << */ + + SPAPI A_Err (*AEGP_GetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *enabledPB); /* >> */ + + SPAPI A_Err (*AEGP_SetExpressionState)( /* expressions can be disabled automatically by the parser on playback */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_Boolean enabledB); /* >> */ + + SPAPI A_Err (*AEGP_GetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_MemHandle *expressionHZ); /* << must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetExpression)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + const A_char* expressionP); /* >> not adopted */ + + +} AEGP_StreamSuite1; + + +#define kAEGPLayerSuiteVersion1 5 /* frozen in AE 5.0 */ + +typedef struct AEGP_LayerSuite1 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_LayerH layerH, /* >> */ + A_char *layer_nameZ0, /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + A_char *source_nameZ0); /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, // >> + AEGP_LayerFlags single_flag, // >> + A_Boolean valueB); // >> + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Time *layer_timeP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_char *new_nameZ); /* >> */ + +} AEGP_LayerSuite1; + +#define kAEGPLayerSuiteVersion2 7 /* frozen in AE 5.5 */ + +typedef struct AEGP_LayerSuite2 { + + SPAPI A_Err (*AEGP_GetCompNumLayers)( + AEGP_CompH compH, /* >> */ + A_long *num_layersPL); /* << */ + + SPAPI A_Err (*AEGP_GetCompLayerByIndex)( + AEGP_CompH compH, /* >> */ + A_long layer_indexL, /* >> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetActiveLayer)( + AEGP_LayerH *layerPH); /* << only if one layer is selected */ + + SPAPI A_Err (*AEGP_GetLayerIndex)( + AEGP_LayerH layerH, /* >> */ + A_long *layer_indexPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerSourceItem)( + AEGP_LayerH layerH, /* >> */ + AEGP_ItemH *source_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerParentComp)( + AEGP_LayerH layerH, /* >> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_GetLayerName)( + AEGP_LayerH layerH, /* >> */ + A_char *layer_nameZ0, /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + A_char *source_nameZ0); /* << space for A_char[AEGP_MAX_LAYER_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetLayerQuality)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality *qualityP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerQuality)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerQuality quality); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerFlags)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags *layer_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerFlag)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerFlags single_flag, /* >> */ + A_Boolean valueB); /* >> */ + + SPAPI A_Err (*AEGP_IsLayerVideoReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerAudioReallyOn)( // accounts for solo status of other layers in comp + AEGP_LayerH layerH, /* >> */ + A_Boolean *onPB); /* << */ + + SPAPI A_Err (*AEGP_GetLayerCurrentTime)( // not updated while rendering + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerInPoint)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *in_pointPT); /* << */ + + SPAPI A_Err (*AEGP_GetLayerDuration)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *durationPT); /* << */ + + SPAPI A_Err (*AEGP_SetLayerInPointAndDuration)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *in_pointPT, /* >> */ + const A_Time *durationPT); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerOffset)( + AEGP_LayerH layerH, /* >> */ + A_Time *offsetPT); /* << always in comp time */ + + SPAPI A_Err (*AEGP_SetLayerOffset)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Time *offsetPT); /* >> always in comp time */ + + SPAPI A_Err (*AEGP_GetLayerStretch)( + AEGP_LayerH layerH, /* >> */ + A_Ratio *stretchPRt); /* << */ + + SPAPI A_Err (*AEGP_SetLayerStretch)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const A_Ratio *stretchPRt); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerTransferMode)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerTransferMode *transfer_modeP); /* << */ + + SPAPI A_Err (*AEGP_SetLayerTransferMode)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerTransferMode *transfer_modeP); /* >> */ + + SPAPI A_Err (*AEGP_IsAddLayerValid)( + AEGP_ItemH item_to_addH, /* >> */ + AEGP_CompH into_compH, /* >> */ + A_Boolean *validPB); /* << */ + + SPAPI A_Err (*AEGP_AddLayer)( /* UNDOABLE */ + AEGP_ItemH item_to_addH, /* >> check AEGP_IsAddLayerValid() before using */ + AEGP_CompH into_compH, /* >> */ + AEGP_LayerH *added_layerPH0); /* << */ + + SPAPI A_Err (*AEGP_ReorderLayer)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + A_long layer_indexL); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerMaskedBounds)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_FloatRect *boundsPR); /* << */ + + SPAPI A_Err (*AEGP_GetLayerObjectType)( + AEGP_LayerH layerH, /* >> */ + AEGP_ObjectType *object_type); /* << */ + + SPAPI A_Err (*AEGP_IsLayer3D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_3DPB); /* << */ + + SPAPI A_Err (*AEGP_IsLayer2D)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *is_2DPB); /* << */ + + SPAPI A_Err (*AEGP_IsVideoActive)( + AEGP_LayerH layerH, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_Boolean *is_activePB); /* << */ + + SPAPI A_Err (*AEGP_IsLayerUsedAsTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean fill_must_be_activeB, /* >> */ + A_Boolean *is_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_DoesLayerHaveTrackMatte)( + AEGP_LayerH layerH, /* >> */ + A_Boolean *has_track_mattePB); /* << */ + + SPAPI A_Err (*AEGP_ConvertCompToLayerTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_Time *layer_timePT); /* << */ + + SPAPI A_Err (*AEGP_ConvertLayerToCompTime)( + AEGP_LayerH layerH, /* >> */ + const A_Time *layer_timePT, /* >> */ + A_Time *comp_timePT) ; /* << */ + + SPAPI A_Err (*AEGP_GetLayerDancingRandValue)( + AEGP_LayerH layerH, /* >> */ + const A_Time *comp_timePT, /* >> */ + A_long *rand_valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerID)( + AEGP_LayerH layerH, /* >> */ + AEGP_LayerIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXform)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerToWorldXformFromView)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_Time *view_timeP, /* >> */ + const A_Time *comp_timeP, /* >> */ + A_Matrix4 *tranform); /* >> */ + + SPAPI A_Err (*AEGP_SetLayerName)( + AEGP_LayerH aegp_layerH, /* >> */ + const A_char *new_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_GetLayerParent)( + const AEGP_LayerH layerH, /* >> */ + AEGP_LayerH *parent_layerPH); /* << NULL if no parent */ + + SPAPI A_Err (*AEGP_SetLayerParent)( + AEGP_LayerH layerH, /* >> */ + const AEGP_LayerH parent_layerH); /* >> */ + + +} AEGP_LayerSuite2; + + + + +#define kAEGPEffectSuite "AEGP Effect Suite" +#define kAEGPEffectSuiteVersion1 1 /* frozen in AE 5.5 */ + +typedef struct AEGP_EffectSuite1 { + + SPAPI A_Err (*AEGP_GetLayerNumEffects)( + AEGP_LayerH layerH, /* >> */ + A_long *num_effectsPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerEffectByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_EffectIndex layer_effect_indexL, /* >> */ + AEGP_EffectRefH *effectPH); /* << MUST dispose with DisposeEffect*/ + + SPAPI A_Err (*AEGP_GetInstalledKeyFromLayerEffect)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_InstalledEffectKey *installed_effect_keyP); /* << */ + + SPAPI A_Err (*AEGP_GetEffectParamUnionByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + PF_ParamType *param_typeP, /* << */ + PF_ParamDefUnion *uP0); /* << DO NOT USE THE VALUE FROM THIS PARAMDEF! */ + + SPAPI A_Err (*AEGP_GetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags *effect_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags effect_flags_set_mask, /* >> */ + AEGP_EffectFlags effect_flags); /* >> */ + + SPAPI A_Err (*AEGP_ReorderEffect)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + A_long effect_indexL); /* >> */ + + SPAPI A_Err (*AEGP_EffectCallGeneric)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + const A_Time *timePT, /* >> Use the timebase of the layer to which effect is applied. */ + void *effect_extraPV); /* <> */ + + SPAPI A_Err (*AEGP_DisposeEffect)( + AEGP_EffectRefH effect_refH ); /* >> */ + + SPAPI A_Err (*AEGP_ApplyEffect)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_EffectRefH *effect_refPH); /* << MUST BE DISPOSED with AEGP_DisposeEffect */ + + SPAPI A_Err (*AEGP_DeleteLayerEffect)( + AEGP_EffectRefH effect_refH); /* >> undoable */ + + SPAPI A_Err (*AEGP_GetNumInstalledEffects)( + A_long *num_installed_effectsPL); /* << */ + + // pass in AEGP_InstalledEffectKey_NONE for installed_effect_key to get first effect key + + SPAPI A_Err (*AEGP_GetNextInstalledEffect)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_InstalledEffectKey *next_effectPH); /* << */ + + SPAPI A_Err (*AEGP_GetEffectName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_EFFECT_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectMatchName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *match_nameZ); /* << space for A_char[AEGP_MAX_EFFECT_MATCH_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectCategory)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *categoryZ); /* << space for A_char[AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE] */ + + +} AEGP_EffectSuite1; + + + + +#define kAEGPEffectSuiteVersion2 2 /* frozen in AE 6.5 */ + +typedef struct AEGP_EffectSuite2 { + + SPAPI A_Err (*AEGP_GetLayerNumEffects)( + AEGP_LayerH layerH, /* >> */ + A_long *num_effectsPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerEffectByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_EffectIndex layer_effect_indexL, /* >> */ + AEGP_EffectRefH *effectPH); /* << MUST dispose with DisposeEffect*/ + + SPAPI A_Err (*AEGP_GetInstalledKeyFromLayerEffect)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_InstalledEffectKey *installed_effect_keyP); /* << */ + + SPAPI A_Err (*AEGP_GetEffectParamUnionByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + PF_ParamType *param_typeP, /* << */ + PF_ParamDefUnion *uP0); /* << DO NOT USE THE VALUE FROM THIS PARAMDEF! */ + + SPAPI A_Err (*AEGP_GetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags *effect_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags effect_flags_set_mask, /* >> */ + AEGP_EffectFlags effect_flags); /* >> */ + + SPAPI A_Err (*AEGP_ReorderEffect)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + A_long effect_indexL); /* >> */ + + SPAPI A_Err (*AEGP_EffectCallGeneric)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + const A_Time *timePT, /* >> Use the timebase of the layer to which effect is applied. */ + void *effect_extraPV); /* <> */ + + SPAPI A_Err (*AEGP_DisposeEffect)( + AEGP_EffectRefH effect_refH ); /* >> */ + + SPAPI A_Err (*AEGP_ApplyEffect)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_EffectRefH *effect_refPH); /* << MUST BE DISPOSED with AEGP_DisposeEffect */ + + SPAPI A_Err (*AEGP_DeleteLayerEffect)( + AEGP_EffectRefH effect_refH); /* >> undoable */ + + SPAPI A_Err (*AEGP_GetNumInstalledEffects)( + A_long *num_installed_effectsPL); /* << */ + + // pass in AEGP_InstalledEffectKey_NONE for installed_effect_key to get first effect key + + SPAPI A_Err (*AEGP_GetNextInstalledEffect)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_InstalledEffectKey *next_effectPH); /* << */ + + SPAPI A_Err (*AEGP_GetEffectName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_EFFECT_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectMatchName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *match_nameZ); /* << space for A_char[AEGP_MAX_EFFECT_MATCH_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectCategory)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *categoryZ); /* << space for A_char[AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_DuplicateEffect)( + AEGP_EffectRefH original_effect_refH, /* >> */ + AEGP_EffectRefH *duplicate_effect_refPH); /* << */ + +} AEGP_EffectSuite2; + + +#define kAEGPEffectSuiteVersion3 3 /* frozen in AE 7.0 */ + +typedef struct AEGP_EffectSuite3 { + + SPAPI A_Err (*AEGP_GetLayerNumEffects)( + AEGP_LayerH layerH, /* >> */ + A_long *num_effectsPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerEffectByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_EffectIndex layer_effect_indexL, /* >> */ + AEGP_EffectRefH *effectPH); /* << MUST dispose with DisposeEffect*/ + + SPAPI A_Err (*AEGP_GetInstalledKeyFromLayerEffect)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_InstalledEffectKey *installed_effect_keyP); /* << */ + + SPAPI A_Err (*AEGP_GetEffectParamUnionByIndex)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + PF_ParamIndex param_index, /* >> valid in range [0 to AEGP_GetEffectNumParamStreams - 1], where 0 is the effect's input layer */ + PF_ParamType *param_typeP, /* << */ + PF_ParamDefUnion *uP0); /* << DO NOT USE THE VALUE FROM THIS PARAMDEF! */ + + SPAPI A_Err (*AEGP_GetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags *effect_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetEffectFlags)( + AEGP_EffectRefH effect_refH, /* >> */ + AEGP_EffectFlags effect_flags_set_mask, /* >> */ + AEGP_EffectFlags effect_flags); /* >> */ + + SPAPI A_Err (*AEGP_ReorderEffect)( /* UNDOABLE */ + AEGP_EffectRefH effect_refH, /* >> */ + A_long effect_indexL); /* >> */ + + /** new command parameter addded. To get old behaviour pass in PF_Cmd_COMPLETELY_GENERAL for effect_command **/ + SPAPI A_Err (*AEGP_EffectCallGeneric)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_EffectRefH effect_refH, /* >> */ + const A_Time *timePT, /* >> Use the timebase of the layer to which effect is applied. */ + PF_Cmd effect_cmd, /* >> new parameter from version 2 */ + void *effect_extraPV); /* <> */ + + SPAPI A_Err (*AEGP_DisposeEffect)( + AEGP_EffectRefH effect_refH ); /* >> */ + + SPAPI A_Err (*AEGP_ApplyEffect)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_EffectRefH *effect_refPH); /* << MUST BE DISPOSED with AEGP_DisposeEffect */ + + SPAPI A_Err (*AEGP_DeleteLayerEffect)( + AEGP_EffectRefH effect_refH); /* >> undoable */ + + SPAPI A_Err (*AEGP_GetNumInstalledEffects)( + A_long *num_installed_effectsPL); /* << */ + + // pass in AEGP_InstalledEffectKey_NONE for installed_effect_key to get first effect key + + SPAPI A_Err (*AEGP_GetNextInstalledEffect)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + AEGP_InstalledEffectKey *next_effectPH); /* << */ + + SPAPI A_Err (*AEGP_GetEffectName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_EFFECT_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectMatchName)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *match_nameZ); /* << space for A_char[AEGP_MAX_EFFECT_MATCH_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetEffectCategory)( + AEGP_InstalledEffectKey installed_effect_key, /* >> */ + A_char *categoryZ); /* << space for A_char[AEGP_MAX_EFFECT_CATEGORY_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_DuplicateEffect)( + AEGP_EffectRefH original_effect_refH, /* >> */ + AEGP_EffectRefH *duplicate_effect_refPH); /* << */ +} AEGP_EffectSuite3; + +#define kAEGPLightSuite "AEGP Light Suite" +#define kAEGPLightSuiteVersion1 1 /* frozen in AE 5.0 */ + + + +typedef struct AEGP_LightSuite1 { + + SPAPI A_Err (*AEGP_GetLightType)( + AEGP_LayerH light_layerH, /* >> */ + AEGP_LightType *light_typeP); /* << */ + + +} AEGP_LightSuite1; + + + +#define kAEGPMaskSuite "AEGP Layer Mask Suite" +#define kAEGPMaskSuiteVersion5 6 /* frozen AE 10 */ + +typedef struct AEGP_MaskSuite5 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean invertB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMode)( + AEGP_MaskRefH maskH, /* >> */ + PF_MaskMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur *blur_stateP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur blur_state); /* >> */ + + // AEGP_GetMaskName/SetMaskName are obsoleted. Use AEGP_GetNewDynamicStreamForMask + // and the name functions there + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0); /* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( /* UNDOABLE */ + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + + SPAPI A_Err (*AEGP_GetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + const AEGP_ColorVal *colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_lockedPB); /* >> */ + + SPAPI A_Err (*AEGP_SetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean lockB); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_roto_bezierPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean is_roto_bezierB); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateMask)( + AEGP_MaskRefH orig_mask_refH, /* >> */ + AEGP_MaskRefH *duplicate_mask_refPH); /* << */ + +} AEGP_MaskSuite5; + +#define kAEGPMaskSuiteVersion4 5 /* frozen AE 6.5 */ + +typedef struct AEGP_MaskSuite4 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean invertB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMode)( + AEGP_MaskRefH maskH, /* >> */ + PF_MaskMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur *blur_stateP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur blur_state); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_SetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* >> space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0); /* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( /* UNDOABLE */ + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + + SPAPI A_Err (*AEGP_GetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + const AEGP_ColorVal *colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_lockedPB); /* >> */ + + SPAPI A_Err (*AEGP_SetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean lockB); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_roto_bezierPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean is_roto_bezierB); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateMask)( + AEGP_MaskRefH orig_mask_refH, /* >> */ + AEGP_MaskRefH *duplicate_mask_refPH); /* << */ + +} AEGP_MaskSuite4; + +#define kAEGPMaskSuiteVersion3 4 /* frozen AE 6.0 */ + +typedef struct AEGP_MaskSuite3 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean invertB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMode)( + AEGP_MaskRefH maskH, /* >> */ + PF_MaskMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur *blur_stateP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur blur_state); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_SetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* >> space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( /* UNDOABLE */ + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0); /* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( /* UNDOABLE */ + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + + SPAPI A_Err (*AEGP_GetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskColor)( + AEGP_MaskRefH mask_refH, /* >> */ + const AEGP_ColorVal *colorP); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_lockedPB); /* >> */ + + SPAPI A_Err (*AEGP_SetMaskLockState)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean lockB); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean *is_roto_bezierPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskIsRotoBezier)( + AEGP_MaskRefH mask_refH, /* <> */ + A_Boolean is_roto_bezierB); /* >> */ + +} AEGP_MaskSuite3; + +#define kAEGPMaskSuiteVersion1 2 /* frozen in AE 5.0 */ + +typedef struct AEGP_MaskSuite1 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_GetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( //undoable + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0);/* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( //undoable + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + +} AEGP_MaskSuite1; + +#define kAEGPMaskSuiteVersion2 3 /* frozen in AE 5.5 */ + +typedef struct AEGP_MaskSuite2 { + + SPAPI A_Err (*AEGP_GetLayerNumMasks)( + AEGP_LayerH aegp_layerH, /* >> */ + A_long *num_masksPL); /* << */ + + SPAPI A_Err (*AEGP_GetLayerMaskByIndex)( + AEGP_LayerH aegp_layerH, /* >> */ + AEGP_MaskIndex mask_indexL, /* >> */ + AEGP_MaskRefH *maskPH); /* << must be disposed by calling AEGP_DisposeMask() */ + + SPAPI A_Err (*AEGP_DisposeMask)( + AEGP_MaskRefH mask_refH); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean *invertPB); /* << */ + + SPAPI A_Err (*AEGP_SetMaskInvert)( + AEGP_MaskRefH mask_refH, /* >> */ + A_Boolean invertB); /* << */ + + SPAPI A_Err (*AEGP_GetMaskMode)( + AEGP_MaskRefH mask_refH, /* >> */ + PF_MaskMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMode)( + AEGP_MaskRefH maskH, /* >> */ + PF_MaskMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur *blur_stateP); /* << */ + + SPAPI A_Err (*AEGP_SetMaskMotionBlurState)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskMBlur blur_state); /* >> */ + + SPAPI A_Err (*AEGP_GetMaskName)( + AEGP_MaskRefH mask_refH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_MASK_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetMaskID)( + AEGP_MaskRefH mask_refH, /* >> */ + AEGP_MaskIDVal *id_valP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewMask)( //undoable + AEGP_LayerH layerH, /* >> */ + AEGP_MaskRefH *mask_refPH, /* << */ + A_long *mask_indexPL0); /* << */ + + SPAPI A_Err (*AEGP_DeleteMaskFromLayer)( //undoable + AEGP_MaskRefH mask_refH); /* >> still need to Dispose MaskRefH */ + +} AEGP_MaskSuite2; +/** + ** Camera Suite + ** + **/ +#define kAEGPCameraSuite "AEGP Camera Suite" +#define kAEGPCameraSuiteVersion1 1 /* frozen in AE 5.0 */ + + + +typedef struct AEGP_CameraSuite1 { + + SPAPI A_Err (*AEGP_GetCamera)( + PR_RenderContextH render_contextH, /* >> */ + const A_Time *comp_timeP, /* >> */ + AEGP_LayerH *camera_layerPH); /* << */ + + SPAPI A_Err (*AEGP_GetCameraType)( + AEGP_LayerH camera_layerH, /* >> */ + AEGP_CameraType *camera_typeP); /* << */ + + + SPAPI A_Err (*AEGP_GetDefaultCameraDistanceToImagePlane)( + AEGP_CompH compH, /* >> */ + A_FpLong *dist_to_planePF); /* << */ + +} AEGP_CameraSuite1; + + +#define kAEGPItemSuite "AEGP Item Suite" + +#define kAEGPItemSuiteVersion8 13 /* frozen in AE 9.0 */ + +typedef struct AEGP_ItemSuite8 { + + SPAPI A_Err (*AEGP_GetFirstProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_PluginID pluginID, // in + AEGP_ItemH itemH, /* >> */ + AEGP_MemHandle *unicode_namePH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetItemName)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> */ + const A_UTF16Char *nameZ); /* >> null terminated UTF16 */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_SetItemParentFolder)( + AEGP_ItemH itemH, /* <> */ + AEGP_ItemH parent_folder_itemH); /* >> */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_UTF16Char *nameZ, /* >> null terminated UTF16 */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemCommentLength)( + AEGP_ItemH itemH, /* >> */ + A_u_long *buf_sizePLu); /* << */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + A_u_long buf_sizeLu, /* >> */ + A_char *commentZ); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const A_char *commentZ); /* >> */ + + SPAPI A_Err (*AEGP_GetItemLabel)( + AEGP_ItemH itemH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetItemLabel)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + AEGP_LabelID label); /* >> */ + + SPAPI A_Err (*AEGP_GetItemMRUView)( + AEGP_ItemH itemH, // >> + AEGP_ItemViewP *mru_viewP); // << + +} AEGP_ItemSuite8; + +#define kAEGPItemSuiteVersion7 11 /* frozen in AE 8.0 */ + +typedef struct AEGP_ItemSuite7 { + + SPAPI A_Err (*AEGP_GetFirstProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_SetItemName)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> */ + const A_char *nameZ); /* >> up to A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_SetItemParentFolder)( + AEGP_ItemH itemH, /* <> */ + AEGP_ItemH parent_folder_itemH); /* >> */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemCommentLength)( + AEGP_ItemH itemH, /* >> */ + A_u_long *buf_sizePLu); /* << */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + A_u_long buf_sizeLu, /* >> */ + A_char *commentZ); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const A_char *commentZ); /* >> */ + + SPAPI A_Err (*AEGP_GetItemLabel)( + AEGP_ItemH itemH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetItemLabel)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + AEGP_LabelID label); /* >> */ + + SPAPI A_Err (*AEGP_GetItemMRUView)( + AEGP_ItemH itemH, // >> + AEGP_ItemViewP *mru_viewP); // << + +} AEGP_ItemSuite7; + + +#define kAEGPItemSuiteVersion6 10 /* frozen in AE 7.0 */ + +typedef struct AEGP_ItemSuite6 { + + SPAPI A_Err (*AEGP_GetFirstProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH *itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetNextProjItem)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_SetItemName)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> */ + const A_char *nameZ); /* >> up to A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_SetItemParentFolder)( + AEGP_ItemH itemH, /* <> */ + AEGP_ItemH parent_folder_itemH); /* >> */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemCommentLength)( + AEGP_ItemH itemH, /* >> */ + A_u_long *buf_sizePLu); /* << */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + A_u_long buf_sizeLu, /* >> */ + A_char *commentZ); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const A_char *commentZ); /* >> */ + + SPAPI A_Err (*AEGP_GetItemLabel)( + AEGP_ItemH itemH, /* >> */ + AEGP_LabelID *labelP); /* << */ + + SPAPI A_Err (*AEGP_SetItemLabel)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + AEGP_LabelID label); /* >> */ + +} AEGP_ItemSuite6; + + +#define kAEGPItemSuiteVersion5 7 /* frozen in AE 6.5 */ + +typedef struct AEGP_ItemSuite5 { + + SPAPI A_Err (*AEGP_GetNextItem)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_SetItemParentFolder)( + AEGP_ItemH itemH, /* <> */ + AEGP_ItemH parent_folder_itemH); /* >> */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemCommentLength)( + AEGP_ItemH itemH, /* >> */ + A_u_long *buf_sizePLu); /* << */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + A_u_long buf_sizeLu, /* >> */ + char *commentZ); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const char *commentZ); /* >> */ + +} AEGP_ItemSuite5; + + +#define kAEGPItemSuiteVersion4 6 /* frozen in AE 6.0 */ + +typedef struct AEGP_ItemSuite4 { + + SPAPI A_Err (*AEGP_GetNextItem)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << allocated and owned by AE */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* UNDOABLE. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + SPAPI A_Err (*AEGP_GetItemCommentLength)( + AEGP_ItemH itemH, /* >> */ + A_u_long *buf_sizePLu); /* << */ + + SPAPI A_Err (*AEGP_GetItemComment)( + AEGP_ItemH itemH, /* >> */ + A_u_long buf_sizeLu, /* >> */ + char *commentZ); /* << */ + + SPAPI A_Err (*AEGP_SetItemComment)( + AEGP_ItemH itemH, /* >> UNDOABLE */ + const char *commentZ); /* >> */ + +} AEGP_ItemSuite4; + + +#define kAEGPItemSuite "AEGP Item Suite" +#define kAEGPItemSuiteVersion3 5 /* frozen in 5.5.1 */ + +typedef struct AEGP_ItemSuite3 { + + SPAPI A_Err (*AEGP_GetNextItem)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << could be NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Solid/Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_GetItemSolidColor)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetSolidColor)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* <> */ + AEGP_ColorVal color); /* >> */ + + SPAPI A_Err (*AEGP_SetSolidDimensions)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* <> */ + A_short widthS, /* >> */ + A_short heightS); /* >> */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << */ /* allocated and owned by project (AE) */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* Undoable. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + +} AEGP_ItemSuite3; + +/**************************************************************************************************/ +#define kAEGPKeyframeSuite "AEGP Keyframe Suite" +#define kAEGPKeyframeSuiteVersion3 3 /* frozen in 6.5 */ + +typedef struct AEGP_KeyframeSuite3 { + + // returns AEGP_NumKF_NO_DATA if it's a AEGP_StreamType_NO_DATA, and you can't retrieve any values + // returns zero if no keyframes (but might have an expression, so not necessarily constant) + + + SPAPI A_Err (*AEGP_GetStreamNumKFs)( + AEGP_StreamRefH streamH, /* >> */ + A_long *num_kfsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetKeyframeTime)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *timePT); /* << */ + + // leaves stream unchanged if a keyframe already exists at specified time + SPAPI A_Err (*AEGP_InsertKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + AEGP_KeyframeIndex *key_indexP); /* << */ + + SPAPI A_Err (*AEGP_DeleteKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_KeyframeIndex key_index); /* >> */ + + SPAPI A_Err (*AEGP_GetNewKeyframeValue)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *valueP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeValue)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *valueP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetStreamValueDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *value_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetStreamTemporalDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *temporal_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetNewKeyframeSpatialTangents)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *in_tanP0, /* << */ + AEGP_StreamValue *out_tanP0); /* << */ + + // In AEGP_KeyframeSuite2 and prior versions, the values returned from + // this function were wrong when called on an effect point control stream or + // anchor point. They were not multiplied by the layer size. Now they are. + SPAPI A_Err (*AEGP_SetKeyframeSpatialTangents)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *in_tanP0, /* >> not adopted */ + const AEGP_StreamValue *out_tanP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeTemporalEase)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + AEGP_KeyframeEase *in_easeP0, /* << */ + AEGP_KeyframeEase *out_easeP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeTemporalEase)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + const AEGP_KeyframeEase *in_easeP0, /* >> not adopted */ + const AEGP_KeyframeEase *out_easeP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags *flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeFlag)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags flag, /* >> set one flag at a time */ + A_Boolean true_falseB); /* >> */ + + SPAPI A_Err (*AEGP_GetKeyframeInterpolation)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType *in_interpP0, /* << */ + AEGP_KeyframeInterpolationType *out_interpP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeInterpolation)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType in_interp, /* >> */ + AEGP_KeyframeInterpolationType out_interp); /* >> */ + + SPAPI A_Err (*AEGP_StartAddKeyframes)( + AEGP_StreamRefH streamH, + AEGP_AddKeyframesInfoH *akPH); /* << */ + + + SPAPI A_Err (*AEGP_AddKeyframes)( + AEGP_AddKeyframesInfoH akH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_long *key_indexPL); /* >> */ + + SPAPI A_Err (*AEGP_SetAddKeyframe)( + AEGP_AddKeyframesInfoH akH, /* <> */ + A_long key_indexL, /* >> */ + const AEGP_StreamValue *valueP); /* >> */ + + SPAPI A_Err (*AEGP_EndAddKeyframes)( /* UNDOABLE */ + A_Boolean addB, + AEGP_AddKeyframesInfoH akH); /* >> */ + +} AEGP_KeyframeSuite3; + +#define kAEGPKeyframeSuiteVersion2 2 /* frozen in 5.5 */ + +typedef struct AEGP_KeyframeSuite2 { + + // returns AEGP_NumKF_NO_DATA if it's a AEGP_StreamType_NO_DATA, and you can't retrieve any values + // returns zero if no keyframes (but might have an expression, so not necessarily constant) + + + SPAPI A_Err (*AEGP_GetStreamNumKFs)( + AEGP_StreamRefH streamH, /* >> */ + A_long *num_kfsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetKeyframeTime)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *timePT); /* << */ + + // leaves stream unchanged if a keyframe already exists at specified time + SPAPI A_Err (*AEGP_InsertKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + AEGP_KeyframeIndex *key_indexP); /* << */ + + SPAPI A_Err (*AEGP_DeleteKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_KeyframeIndex key_index); /* >> */ + + SPAPI A_Err (*AEGP_GetNewKeyframeValue)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *valueP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeValue)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *valueP); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetStreamValueDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *value_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetStreamTemporalDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + A_short *temporal_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetNewKeyframeSpatialTangents)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *in_tanP0, /* << */ + AEGP_StreamValue *out_tanP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeSpatialTangents)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *in_tanP0, /* >> not adopted */ + const AEGP_StreamValue *out_tanP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeTemporalEase)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + AEGP_KeyframeEase *in_easeP0, /* << */ + AEGP_KeyframeEase *out_easeP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeTemporalEase)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> ranges from 0..TemporalDimensionality-1 */ + const AEGP_KeyframeEase *in_easeP0, /* >> not adopted */ + const AEGP_KeyframeEase *out_easeP0); /* >> not adopted */ + + SPAPI A_Err (*AEGP_GetKeyframeFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags *flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeFlag)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags flag, /* >> set one flag at a time */ + A_Boolean true_falseB); /* >> */ + + SPAPI A_Err (*AEGP_GetKeyframeInterpolation)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType *in_interpP0, /* << */ + AEGP_KeyframeInterpolationType *out_interpP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeInterpolation)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType in_interp, /* >> */ + AEGP_KeyframeInterpolationType out_interp); /* >> */ + + SPAPI A_Err (*AEGP_StartAddKeyframes)( + AEGP_StreamRefH streamH, + AEGP_AddKeyframesInfoH *akPH); /* << */ + + + SPAPI A_Err (*AEGP_AddKeyframes)( + AEGP_AddKeyframesInfoH akH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + A_long *key_indexPL); /* >> */ + + SPAPI A_Err (*AEGP_SetAddKeyframe)( + AEGP_AddKeyframesInfoH akH, /* <> */ + A_long key_indexL, /* >> */ + const AEGP_StreamValue *valueP); /* >> */ + + SPAPI A_Err (*AEGP_EndAddKeyframes)( /* UNDOABLE */ + A_Boolean addB, + AEGP_AddKeyframesInfoH akH); /* >> */ + +} AEGP_KeyframeSuite2; + +#define kAEGPKeyframeSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct AEGP_KeyframeSuite1 { + + // returns AEGP_NumKF_NO_DATA if it's a AEGP_StreamType_NO_DATA, and you can't retrieve any values + // returns zero if no keyframes (but might have an expression, so not necessarily constant) + + + SPAPI A_Err (*AEGP_GetStreamNumKFs)( + AEGP_StreamRefH streamH, /* >> */ + A_long *num_kfsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetKeyframeTime)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_LTimeMode time_mode, /* >> */ + A_Time *timePT); /* << */ + + // leaves stream unchanged if a keyframe already exists at specified time + SPAPI A_Err (*AEGP_InsertKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_LTimeMode time_mode, /* >> */ + const A_Time *timePT, /* >> */ + AEGP_KeyframeIndex *key_indexP); /* << */ + + SPAPI A_Err (*AEGP_DeleteKeyframe)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* <> */ + AEGP_KeyframeIndex key_index); /* >> */ + + SPAPI A_Err (*AEGP_GetNewKeyframeValue)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *valueP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeValue)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *valueP); /* >> */ // not adopted + + SPAPI A_Err (*AEGP_GetStreamValueDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + short *value_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetStreamTemporalDimensionality)( + AEGP_StreamRefH streamH, /* >> */ + short *temporal_dimPS); /* << */ + + SPAPI A_Err (*AEGP_GetNewKeyframeSpatialTangents)( // dispose using AEGP_DisposeStreamValue() + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_StreamValue *in_tanP0, /* << */ + AEGP_StreamValue *out_tanP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeSpatialTangents)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + const AEGP_StreamValue *in_tanP0, /* >> */ // not adopted + const AEGP_StreamValue *out_tanP0); /* >> */ // not adopted + + SPAPI A_Err (*AEGP_GetKeyframeTemporalEase)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> */ // ranges from 0..TemporalDimensionality-1 + AEGP_KeyframeEase *in_easeP0, /* << */ + AEGP_KeyframeEase *out_easeP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeTemporalEase)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + A_long dimensionL, /* >> */ // ranges from 0..TemporalDimensionality-1 + const AEGP_KeyframeEase *in_easeP0, /* >> */ // not adopted + const AEGP_KeyframeEase *out_easeP0); /* >> */ // not adopted + + SPAPI A_Err (*AEGP_GetKeyframeFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags *flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeFlag)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeFlags flag, /* >> */ // set one at a time + A_Boolean true_falseB); /* >> */ + + SPAPI A_Err (*AEGP_GetKeyframeInterpolation)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType *in_interpP0, /* << */ + AEGP_KeyframeInterpolationType *out_interpP0); /* << */ + + SPAPI A_Err (*AEGP_SetKeyframeInterpolation)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_KeyframeIndex key_index, /* >> */ + AEGP_KeyframeInterpolationType in_interp, /* >> */ + AEGP_KeyframeInterpolationType out_interp); /* >> */ + +} AEGP_KeyframeSuite1; + +/* frozen AE 5.5 */ +#define kAEGPItemSuiteVersion2 4 + +typedef struct AEGP_ItemSuite2 { + + SPAPI A_Err (*AEGP_GetNextItem)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << could be NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Solid/Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_GetItemSolidColor)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_SetSolidColor)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* <> */ + AEGP_ColorVal color); /* >> */ + + SPAPI A_Err (*AEGP_SetSolidDimensions)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* <> */ + A_short widthS, /* >> */ + A_short heightS); /* >> */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << */ /* allocated and owned by project (AE) */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* Undoable. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + + // work on Comps and Footage items. + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( // AEGP_SoundDataH must be disposed. + AEGP_ItemH itemH, // >> + const A_Time *start_timePT, // >> + const A_Time *durationPT, // >> + const AEGP_SoundDataFormat* sound_formatP, // >> + AEGP_SoundDataH *new_sound_dataPH); // << can return NULL if no audio + +} AEGP_ItemSuite2; + + +#define kAEGPItemSuiteVersion1 3 /* frozen in AE 5.0 */ + +typedef struct AEGP_ItemSuite1 { + + SPAPI A_Err (*AEGP_GetNextItem)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *next_itemPH); /* << NULL after last item */ + + SPAPI A_Err (*AEGP_GetActiveItem)( + AEGP_ItemH *itemPH); /* << could be NULL if none is active */ + + SPAPI A_Err (*AEGP_IsItemSelected)( + AEGP_ItemH itemH, /* >> */ + A_Boolean *selectedPB); /* << */ + + SPAPI A_Err (*AEGP_SelectItem)( + AEGP_ItemH itemH, /* >> */ + A_Boolean selectB, /* >> allows to select or deselect the item */ + A_Boolean deselect_othersB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemType)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemType *item_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetTypeName)( + AEGP_ItemType item_type, /* << */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_TYPE_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemName)( + AEGP_ItemH itemH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_ITEM_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetItemID)( + AEGP_ItemH itemH, /* >> */ + A_long *item_idPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemFlags)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemFlags *item_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetItemUseProxy)( /* UNDOABLE */ + AEGP_ItemH itemH, /* >> error if has_proxy is FALSE! */ + A_Boolean use_proxyB); /* >> */ + + SPAPI A_Err (*AEGP_GetItemParentFolder)( + AEGP_ItemH itemH, /* >> */ + AEGP_ItemH *parent_folder_itemPH); /* << */ + + SPAPI A_Err (*AEGP_GetItemDuration)( /* Returns the result in the item's native timespace: */ + AEGP_ItemH itemH, /* >> Comp -> comp time, */ + A_Time *durationPT); /* << Footage -> footage time, */ + /* Solid/Folder -> 0 (no duration) */ + + SPAPI A_Err (*AEGP_GetItemCurrentTime)( /* Returns the result in the item's native timespace (not updated while rendering)*/ + AEGP_ItemH itemH, /* >> */ + A_Time *curr_timePT); /* << */ + + SPAPI A_Err (*AEGP_GetItemDimensions)( + AEGP_ItemH itemH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetItemPixelAspectRatio)( + AEGP_ItemH itemH, /* >> */ + A_Ratio *pix_aspect_ratioPRt); /* << */ + + SPAPI A_Err (*AEGP_DeleteItem)( /* UNDOABLE */ + AEGP_ItemH itemH); /* >> removes item from all comps */ + + SPAPI A_Err (*AEGP_GetItemSolidColor)( /* error if item isn't AEGP_ItemType_SOLID! */ + AEGP_ItemH itemH, /* >> */ + AEGP_ColorVal *colorP); /* << */ + + SPAPI A_Err (*AEGP_CreateNewFolder)( + const A_char *nameZ, /* >> */ + AEGP_ItemH parent_folderH0, /* >> */ + AEGP_ItemH *new_folderPH); /* << */ /* allocated and owned by project (AE) */ + + SPAPI A_Err (*AEGP_SetItemCurrentTime)( /* Undoable. Use the item's native timespace */ + AEGP_ItemH itemH, /* >> */ + const A_Time *new_timePT); /* >> */ + + + // work on Comps and Footage items. + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( // AEGP_SoundDataH must be disposed. + AEGP_ItemH itemH, // >> + const A_Time *start_timePT, // >> + const A_Time *durationPT, // >> + const AEGP_SoundDataFormat* sound_formatP, // >> + AEGP_SoundDataH *new_sound_dataPH); // << can return NULL if no audio + +} AEGP_ItemSuite1; + +/*********************************************************/ + +#define kAEGPUtilitySuiteVersion5 11 /* frozen in AE 8.0 */ + +typedef struct AEGP_UtilitySuite5 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_GetLastErrorMessage)( + A_long buffer_size, /* >> size of character buffer */ + A_char *error_string, /* << */ + A_Err *error_num); /* << */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + + SPAPI A_Err (*AEGP_ShowHideAllFloaters)( + A_Boolean include_tool_palB); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalGetForeColor)( + AEGP_ColorVal *fore_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalGetBackColor)( + AEGP_ColorVal *back_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalSetForeColor)( + const AEGP_ColorVal *fore_colorP); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalSetBackColor)( + const AEGP_ColorVal *back_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalGetFillColor)( + A_Boolean *is_fill_color_definedPB, /* << */ + AEGP_ColorVal *fill_colorP); /* << only valid if is_fill_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalGetStrokeColor)( + A_Boolean *is_stroke_color_definedPB, /* << */ + AEGP_ColorVal *stroke_colorP); /* << only valid if is_stroke_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalSetFillColor)( + const AEGP_ColorVal *fill_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalSetStrokeColor)( + const AEGP_ColorVal *stroke_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalIsFillColorUIFrontmost)( /* Otherwise, StrokeColor is frontmost */ + A_Boolean *is_fill_color_selectedPB); /* << */ + + SPAPI A_Err (*AEGP_ConvertFpLongToHSFRatio)( + A_FpLong numberF, /* >> */ + A_Ratio *ratioPR); /* << */ + + SPAPI A_Err (*AEGP_ConvertHSFRatioToFpLong)( + A_Ratio ratioR, /* << */ + A_FpLong *numberPF); /* >> */ + + // this routine is safe to call from the non-main + // thread. It is asynchronous and will return before the idle handler is called. + // The Suite routines to get this pointer are not + // thread safe, therefore you need to save it off + // in the main thread for use by the child thread. + SPAPI A_Err (*AEGP_CauseIdleRoutinesToBeCalled)(void); + + + // Determine if after effects is running in a mode where there is no + // user interface, and attempting to interact with the user (via a modal dialog) + // will hang the application. + // This will not change during a run. Use it to optimize your plugin at startup + // to not create a user interface and make AE launch faster, and not break + // when running multiple instances of a service. + SPAPI A_Err (*AEGP_GetSuppressInteractiveUI)(A_Boolean* ui_is_suppressedPB); // out + + // this call writes text to the console if one is available. One is guaranteed to be available + // if ui_is_suppressedB == true. + // In general use the call AEGP_ReportInfo() as it will write to the console in + // non-interactive modes, and use a dialog in interactive modes. + SPAPI A_Err (*AEGP_WriteToOSConsole)(const A_char* textZ); // in + + // this writes an entry into the debug log, or to the command line if launched + // with the -debug flag. + SPAPI A_Err (*AEGP_WriteToDebugLog)(const A_char* subsystemZ, // in + const A_char* event_typeZ, // in + const A_char * infoZ); // in + + + SPAPI A_Err (*AEGP_IsScriptingAvailable)(A_Boolean* outAvailablePB); + + // Execute a script. + // The script text can either be in UTF-8, or the current + // application encoding. + // The result is the result string if OK. It is optional. + // The error is the error string if an error occurred. It is optional. + // the result and error are in the encoding specified by platform_encodingB + SPAPI A_Err (*AEGP_ExecuteScript)(AEGP_PluginID inPlugin_id, + const A_char* inScriptZ, // in + const A_Boolean platform_encodingB, // in + AEGP_MemHandle* outResultPH0, + AEGP_MemHandle* outErrorStringPH0); + + SPAPI A_Err (*AEGP_HostIsActivated)(A_Boolean *is_activatedPB); + + SPAPI A_Err (*AEGP_GetPluginPlatformRef)(AEGP_PluginID plug_id, void** plat_refPPV); // on the Mac, it is a CFBundleRef to your mach-o plugin or NULL for a CFM plug-in; on Windows it is set to NULL for now + + SPAPI A_Err (*AEGP_UpdateFontList)(void); // Rescan the system font list. This will return quickly if the font list hasn't changed. + +} AEGP_UtilitySuite5; + + + +#define kAEGPUtilitySuiteVersion4 10 /* frozen in AE 7.0 */ + +typedef struct AEGP_UtilitySuite4 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_GetLastErrorMessage)( + A_long buffer_size, /* >> size of character buffer */ + A_char *error_string, /* << */ + A_Err *error_num); /* << */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + + SPAPI A_Err (*AEGP_ShowHideAllFloaters)( + A_Boolean include_tool_palB); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalGetForeColor)( + AEGP_ColorVal *fore_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalGetBackColor)( + AEGP_ColorVal *back_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalSetForeColor)( + const AEGP_ColorVal *fore_colorP); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalSetBackColor)( + const AEGP_ColorVal *back_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalGetFillColor)( + A_Boolean *is_fill_color_definedPB, /* << */ + AEGP_ColorVal *fill_colorP); /* << only valid if is_fill_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalGetStrokeColor)( + A_Boolean *is_stroke_color_definedPB, /* << */ + AEGP_ColorVal *stroke_colorP); /* << only valid if is_stroke_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalSetFillColor)( + const AEGP_ColorVal *fill_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalSetStrokeColor)( + const AEGP_ColorVal *stroke_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalIsFillColorUIFrontmost)( /* Otherwise, StrokeColor is frontmost */ + A_Boolean *is_fill_color_selectedPB); /* << */ + + SPAPI A_Err (*AEGP_ConvertFpLongToHSFRatio)( + A_FpLong numberF, /* >> */ + A_Ratio *ratioPR); /* << */ + + SPAPI A_Err (*AEGP_ConvertHSFRatioToFpLong)( + A_Ratio ratioR, /* << */ + A_FpLong *numberPF); /* >> */ + + // this routine is safe to call from the non-main + // thread. It is asynchronous and will return before the idle handler is called. + // The Suite routines to get this pointer are not + // thread safe, therefore you need to save it off + // in the main thread for use by the child thread. + SPAPI A_Err (*AEGP_CauseIdleRoutinesToBeCalled)(void); + + + // Determine if after effects is running in a mode where there is no + // user interface, and attempting to interact with the user (via a modal dialog) + // will hang the application. + // This will not change during a run. Use it to optimize your plugin at startup + // to not create a user interface and make AE launch faster, and not break + // when running multiple instances of a service. + SPAPI A_Err (*AEGP_GetSuppressInteractiveUI)(A_Boolean* ui_is_suppressedPB); // out + + // this call writes text to the console if one is available. One is guaranteed to be available + // if ui_is_suppressedB == true. + // In general use the call AEGP_ReportInfo() as it will write to the console in + // non-interactive modes, and use a dialog in interactive modes. + SPAPI A_Err (*AEGP_WriteToOSConsole)(const A_char* textZ); // in + + // this writes an entry into the debug log, or to the command line if launched + // with the -debug flag. + SPAPI A_Err (*AEGP_WriteToDebugLog)(const A_char* subsystemZ, // in + const A_char* event_typeZ, // in + const A_char * infoZ); // in + + + SPAPI A_Err (*AEGP_IsScriptingAvailable)(A_Boolean* outAvailablePB); + + // Execute a script. + // The script text can either be in UTF-8, or the current + // application encoding. + // The result is the result string if OK. It is optional. + // The error is the error string if an error occurred. It is optional. + // the result and error are in the encoding specified by platform_encodingB + SPAPI A_Err (*AEGP_ExecuteScript)(AEGP_PluginID inPlugin_id, + const A_char* inScriptZ, // in + const A_Boolean platform_encodingB, // in + AEGP_MemHandle* outResultPH0, + AEGP_MemHandle* outErrorStringPH0); + + SPAPI A_Err (*AEGP_HostIsActivated)(A_Boolean *is_activatedPB); + + SPAPI A_Err (*AEGP_GetPluginPlatformRef)(AEGP_PluginID plug_id, void** plat_refPPV); // on the Mac, it is a CFBundleRef to your mach-o plugin or NULL for a CFM plug-in; on Windows it is set to NULL for now + +} AEGP_UtilitySuite4; + + + +#define kAEGPUtilitySuiteVersion3 7 /* frozen in AE 6.5 */ + +typedef struct AEGP_UtilitySuite3 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + + SPAPI A_Err (*AEGP_ShowHideAllFloaters)( + A_Boolean include_tool_palB); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalGetForeColor)( + AEGP_ColorVal *fore_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalGetBackColor)( + AEGP_ColorVal *back_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalSetForeColor)( + const AEGP_ColorVal *fore_colorP); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalSetBackColor)( + const AEGP_ColorVal *back_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalGetFillColor)( + A_Boolean *is_fill_color_definedPB, /* << */ + AEGP_ColorVal *fill_colorP); /* << only valid if is_fill_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalGetStrokeColor)( + A_Boolean *is_stroke_color_definedPB, /* << */ + AEGP_ColorVal *stroke_colorP); /* << only valid if is_stroke_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalSetFillColor)( + const AEGP_ColorVal *fill_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalSetStrokeColor)( + const AEGP_ColorVal *stroke_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalIsFillColorUIFrontmost)( /* Otherwise, StrokeColor is frontmost */ + A_Boolean *is_fill_color_selectedPB); /* << */ + + SPAPI A_Err (*AEGP_ConvertFpLongToHSFRatio)( + A_FpLong numberF, /* >> */ + A_Ratio *ratioPR); /* << */ + + SPAPI A_Err (*AEGP_ConvertHSFRatioToFpLong)( + A_Ratio ratioR, /* << */ + A_FpLong *numberPF); /* >> */ + + // this routine is safe to call from the non-main + // thread. It is asynchronous and will return before the idle handler is called. + // The Suite routines to get this pointer are not + // thread safe, therefore you need to save it off + // in the main thread for use by the child thread. + SPAPI A_Err (*AEGP_CauseIdleRoutinesToBeCalled)(void); + + + // Determine if after effects is running in a mode where there is no + // user interface, and attempting to interact with the user (via a modal dialog) + // will hang the application. + // This will not change during a run. Use it to optimize your plugin at startup + // to not create a user interface and make AE launch faster, and not break + // when running multiple instances of a service. + SPAPI A_Err (*AEGP_GetSuppressInteractiveUI)(A_Boolean* ui_is_suppressedPB); // out + + // this call writes text to the console if one is available. One is guaranteed to be available + // if ui_is_suppressedB == true. + // In general use the call AEGP_ReportInfo() as it will write to the console in + // non-interactive modes, and use a dialog in interactive modes. + SPAPI A_Err (*AEGP_WriteToOSConsole)(const A_char* textZ); // in + + // this writes an entry into the debug log, or to the command line if launched + // with the -debug flag. + SPAPI A_Err (*AEGP_WriteToDebugLog)(const A_char* subsystemZ, // in + const A_char* event_typeZ, // in + const A_char * infoZ); // in +} AEGP_UtilitySuite3; + +#define kAEGPUtilitySuiteVersion2 5 /* frozen in AE 6.0 */ + +typedef struct AEGP_UtilitySuite2 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + + SPAPI A_Err (*AEGP_ShowHideAllFloaters)( + A_Boolean include_tool_palB); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalGetForeColor)( + AEGP_ColorVal *fore_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalGetBackColor)( + AEGP_ColorVal *back_colorP); /* << */ + + SPAPI A_Err (*AEGP_PaintPalSetForeColor)( + const AEGP_ColorVal *fore_colorP); /* >> */ + + SPAPI A_Err (*AEGP_PaintPalSetBackColor)( + const AEGP_ColorVal *back_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalGetFillColor)( + A_Boolean *is_fill_color_definedPB, /* << */ + AEGP_ColorVal *fill_colorP); /* << only valid if is_fill_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalGetStrokeColor)( + A_Boolean *is_stroke_color_definedPB, /* << */ + AEGP_ColorVal *stroke_colorP); /* << only valid if is_stroke_color_definedPB == TRUE */ + + SPAPI A_Err (*AEGP_CharPalSetFillColor)( + const AEGP_ColorVal *fill_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalSetStrokeColor)( + const AEGP_ColorVal *stroke_colorP); /* >> */ + + SPAPI A_Err (*AEGP_CharPalIsFillColorUIFrontmost)( /* Otherwise, StrokeColor is frontmost */ + A_Boolean *is_fill_color_selectedPB); /* << */ + +} AEGP_UtilitySuite2; + +#define kAEGPUtilitySuiteVersion1 3 /* frozen in AE 5.0 */ + +typedef struct AEGP_UtilitySuite1 { + + SPAPI A_Err (*AEGP_ReportInfo)( /* displays dialog with name of plugin followed by info string */ + AEGP_PluginID aegp_plugin_id, /* >> */ + const A_char *info_stringZ); /* >> */ + + + SPAPI A_Err (*AEGP_GetDriverPluginInitFuncVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_GetDriverImplementationVersion)( + A_short *major_versionPS, /* << */ + A_short *minor_versionPS); /* << */ + + SPAPI A_Err (*AEGP_StartQuietErrors)( + AEGP_ErrReportState *err_stateP); /* << */ + + SPAPI A_Err (*AEGP_EndQuietErrors)( + A_Boolean report_quieted_errorsB, /* >> currently reports last quieted error */ + AEGP_ErrReportState *err_stateP); /* >> */ + + SPAPI A_Err (*AEGP_StartUndoGroup)( /* MUST be balanced with call to AEGP_EndUndoGroup() */ + const A_char *undo_nameZ); /* >> */ + + SPAPI A_Err (*AEGP_EndUndoGroup)(void); + + SPAPI A_Err (*AEGP_RegisterWithAEGP)( + AEGP_GlobalRefcon global_refcon, /* >> global refcon passed in command handlers */ + const A_char *plugin_nameZ, /* >> name of this plugin. AEGP_MAX_PLUGIN_NAME_SIZE */ + AEGP_PluginID *plugin_id); /* << id for plugin to use in other AEGP calls */ + + SPAPI A_Err (*AEGP_GetMainHWND)( + void *main_hwnd); /* << */ + +} AEGP_UtilitySuite1; + + + + +#define kAEGPQueryXformSuiteVersion1 1 /* frozen in AE 5.0 */ + + + +typedef struct AEGP_QueryXformSuite1 { + + SPAPI A_Err (*AEGP_QueryXformGetSrcType)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_QueryXformType *src_type); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetDstType)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_QueryXformType *dst_type); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetLayer)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_LayerH *layerPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetComp)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_CompH *compPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetTransformTime)( + PR_QueryContextH query_contextH, /* <> */ + A_Time *time); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetViewTime)( + PR_QueryContextH query_contextH, /* <> */ + A_Time *time); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetCamera)( + PR_QueryContextH query_contextH, /* <> */ + AEGP_LayerH *camera_layerPH); /* << */ + + SPAPI A_Err (*AEGP_QueryXformGetXform)( + PR_QueryContextH query_contextH, /* <> */ + A_Matrix4 *xform); /* << */ + + SPAPI A_Err (*AEGP_QueryXformSetXform)( + PR_QueryContextH query_contextH, /* <> */ + A_Matrix4 *xform); /* >> */ + +}AEGP_QueryXformSuite1; + + + + +#define kAEGPRenderSuiteVersion1 1 /* frozen in AE 5.5.1 */ + + +typedef struct { + SPAPI A_Err (*AEGP_RenderAndCheckoutFrame)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_CheckinFrame)( + AEGP_FrameReceiptH receiptH); /* >> */ + + /* This returns a read only world that is not-owned by the plugin. + Call CheckinFrame to release the world when you are done reading from it. + */ + + SPAPI A_Err (*AEGP_GetReceiptWorld)( + AEGP_FrameReceiptH receiptH, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderedRegion)( + AEGP_FrameReceiptH receiptH, /* >> */ + A_LRect *rendered_regionP); /* << */ + + SPAPI A_Err (*AEGP_IsRenderedFrameSufficient)( + AEGP_RenderOptionsH rendered_optionsH, /* >> */ + AEGP_RenderOptionsH proposed_optionsH, /* >> */ + A_Boolean *rendered_is_sufficientPB); /* << */ + + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( /* Works on Compositions and Footage items. */ + AEGP_ItemH itemH, /* >> */ + const A_Time *start_timePT, /* >> */ + const A_Time *durationPT, /* >> */ + const AEGP_SoundDataFormat *sound_formatP, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_SoundDataH *new_sound_dataPH); /* << AEGP_SoundDataH must be disposed. Returns NULL if no audio */ + +} AEGP_RenderSuite1; + + +#define kAEGPRenderSuiteVersion2 2 /* frozen in 6.5 */ + + +typedef A_Err (*AEGP_RenderSuiteCheckForCancelv1)( + void *refcon, + A_Boolean *cancelPB); + +typedef struct { + SPAPI A_Err (*AEGP_RenderAndCheckoutFrame)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancelv1 cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_CheckinFrame)( + AEGP_FrameReceiptH receiptH); /* >> */ + + /* This returns a read only world that is not-owned by the plugin. + Call CheckinFrame to release the world when you are done reading from it. + */ + + SPAPI A_Err (*AEGP_GetReceiptWorld)( + AEGP_FrameReceiptH receiptH, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderedRegion)( + AEGP_FrameReceiptH receiptH, /* >> */ + A_LRect *rendered_regionP); /* << */ + + SPAPI A_Err (*AEGP_IsRenderedFrameSufficient)( + AEGP_RenderOptionsH rendered_optionsH, /* >> */ + AEGP_RenderOptionsH proposed_optionsH, /* >> */ + A_Boolean *rendered_is_sufficientPB); /* << */ + + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( /* Works on Compositions and Footage items. */ + AEGP_ItemH itemH, /* >> */ + const A_Time *start_timePT, /* >> */ + const A_Time *durationPT, /* >> */ + const AEGP_SoundDataFormat *sound_formatP, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_SoundDataH *new_sound_dataPH); /* << AEGP_SoundDataH must be disposed. Returns NULL if no audio */ + + + // returns the current timestamp of the project.this is increased any time something is touched in the project + // that affects rendering + SPAPI A_Err (*AEGP_GetCurrentTimestamp)( + AEGP_TimeStamp * time_stampP); // out + + // Lets you know if the video of the item has changed since the input time stamp. + // Is not affected by audio. + SPAPI A_Err (*AEGP_HasItemChangedSinceTimestamp)(AEGP_ItemH itemH, // in + const A_Time * start_timeP, // in + const A_Time* durationP, //in + const AEGP_TimeStamp * time_stampP, //in + A_Boolean * item_has_changedPB); //out + + // checks whether this frame would be worth rendering externally and + // checking in to the cache. a speculative renderer should check this twice: + // (1) before sending the frame out to render + // (2) when it is complete, before calling AEGP_NewPlatformWorld and checking in. + // (don't forget to call AEGP_HasItemChangedSinceTimestamp also!) + SPAPI A_Err (*AEGP_IsItemWorthwhileToRender)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_Boolean *worthwhile_to_renderPB); // out + + // ticks_to_render is the approximate amount of time needed to render the frame + // on this machine. it is 60Hz. + SPAPI A_Err (*AEGP_CheckinRenderedFrame)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_u_long ticks_to_renderL, // in + AEGP_PlatformWorldH imageH); // in (adopted) +} AEGP_RenderSuite2; + + +#define kAEGPRenderSuiteVersion3 3 /* frozen in 11.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_RenderAndCheckoutFrame)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_CheckinFrame)( + AEGP_FrameReceiptH receiptH); /* >> */ + + /* This returns a read only world that is not-owned by the plugin. + Call CheckinFrame to release the world when you are done reading from it. + */ + + SPAPI A_Err (*AEGP_GetReceiptWorld)( + AEGP_FrameReceiptH receiptH, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderedRegion)( + AEGP_FrameReceiptH receiptH, /* >> */ + A_LRect *rendered_regionP); /* << */ + + SPAPI A_Err (*AEGP_IsRenderedFrameSufficient)( + AEGP_RenderOptionsH rendered_optionsH, /* >> */ + AEGP_RenderOptionsH proposed_optionsH, /* >> */ + A_Boolean *rendered_is_sufficientPB); /* << */ + + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( /* Works on Compositions and Footage items. */ + AEGP_ItemH itemH, /* >> */ + const A_Time *start_timePT, /* >> */ + const A_Time *durationPT, /* >> */ + const AEGP_SoundDataFormat *sound_formatP, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_SoundDataH *new_sound_dataPH); /* << AEGP_SoundDataH must be disposed. Returns NULL if no audio */ + + + // returns the current timestamp of the project.this is increased any time something is touched in the project + // that affects rendering + SPAPI A_Err (*AEGP_GetCurrentTimestamp)( + AEGP_TimeStamp * time_stampP); // out + + // Lets you know if the video of the item has changed since the input time stamp. + // Is not affected by audio. + SPAPI A_Err (*AEGP_HasItemChangedSinceTimestamp)(AEGP_ItemH itemH, // in + const A_Time * start_timeP, // in + const A_Time* durationP, //in + const AEGP_TimeStamp * time_stampP, //in + A_Boolean * item_has_changedPB); //out + + // checks whether this frame would be worth rendering externally and + // checking in to the cache. a speculative renderer should check this twice: + // (1) before sending the frame out to render + // (2) when it is complete, before calling AEGP_NewPlatformWorld and checking in. + // (don't forget to call AEGP_HasItemChangedSinceTimestamp also!) + SPAPI A_Err (*AEGP_IsItemWorthwhileToRender)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_Boolean *worthwhile_to_renderPB); // out + + // ticks_to_render is the approximate amount of time needed to render the frame + // on this machine. it is 60Hz. + SPAPI A_Err (*AEGP_CheckinRenderedFrame)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_u_long ticks_to_renderL, // in + AEGP_PlatformWorldH imageH); // in (adopted) + + SPAPI A_Err (*AEGP_GetReceiptGuid) (AEGP_FrameReceiptH receiptH, // in + AEGP_MemHandle *guidMH); // out, must be disposed +} AEGP_RenderSuite3; + + +#define kAEGPRenderSuiteVersion4 5 /* frozen in 13.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_RenderAndCheckoutFrame)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_RenderAndCheckoutLayerFrame)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_Boolean render_plain_layer_frameB, /* >> true to render layer frame, false to render effect input frame */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_FrameReceiptH *receiptPH); /* << check in using AEGP_CheckinFrame to release memory */ + + SPAPI A_Err (*AEGP_CheckinFrame)( + AEGP_FrameReceiptH receiptH); /* >> */ + + /* This returns a read only world that is not-owned by the plugin. + Call CheckinFrame to release the world when you are done reading from it. + */ + + SPAPI A_Err (*AEGP_GetReceiptWorld)( + AEGP_FrameReceiptH receiptH, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_GetRenderedRegion)( + AEGP_FrameReceiptH receiptH, /* >> */ + A_LRect *rendered_regionP); /* << */ + + SPAPI A_Err (*AEGP_IsRenderedFrameSufficient)( + AEGP_RenderOptionsH rendered_optionsH, /* >> */ + AEGP_RenderOptionsH proposed_optionsH, /* >> */ + A_Boolean *rendered_is_sufficientPB); /* << */ + + SPAPI A_Err (*AEGP_RenderNewItemSoundData)( /* Works on Compositions and Footage items. */ + AEGP_ItemH itemH, /* >> */ + const A_Time *start_timePT, /* >> */ + const A_Time *durationPT, /* >> */ + const AEGP_SoundDataFormat *sound_formatP, /* >> */ + AEGP_RenderSuiteCheckForCancel cancel_functionP0, /* >> optional*/ + AEGP_CancelRefcon cancel_function_refconP0, /* >> optional */ + AEGP_SoundDataH *new_sound_dataPH); /* << AEGP_SoundDataH must be disposed. Returns NULL if no audio */ + + + // returns the current timestamp of the project.this is increased any time something is touched in the project + // that affects rendering + SPAPI A_Err (*AEGP_GetCurrentTimestamp)( + AEGP_TimeStamp * time_stampP); // out + + // Lets you know if the video of the item has changed since the input time stamp. + // Is not affected by audio. + SPAPI A_Err (*AEGP_HasItemChangedSinceTimestamp)(AEGP_ItemH itemH, // in + const A_Time * start_timeP, // in + const A_Time* durationP, //in + const AEGP_TimeStamp * time_stampP, //in + A_Boolean * item_has_changedPB); //out + + // checks whether this frame would be worth rendering externally and + // checking in to the cache. a speculative renderer should check this twice: + // (1) before sending the frame out to render + // (2) when it is complete, before calling AEGP_NewPlatformWorld and checking in. + // (don't forget to call AEGP_HasItemChangedSinceTimestamp also!) + SPAPI A_Err (*AEGP_IsItemWorthwhileToRender)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_Boolean *worthwhile_to_renderPB); // out + + // ticks_to_render is the approximate amount of time needed to render the frame + // on this machine. it is 60Hz. + SPAPI A_Err (*AEGP_CheckinRenderedFrame)( AEGP_RenderOptionsH roH, // in + const AEGP_TimeStamp* time_stampP, // in + A_u_long ticks_to_renderL, // in + AEGP_PlatformWorldH imageH); // in (adopted) + + SPAPI A_Err (*AEGP_GetReceiptGuid) (AEGP_FrameReceiptH receiptH, // in + AEGP_MemHandle *guidMH); // out, must be disposed +} AEGP_RenderSuite4; + + + +#define kAEGPWorldSuiteVersion2 2 /* frozen in AE 6.5 */ + +typedef struct { + SPAPI A_Err (*AEGP_New)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_WorldType type, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_WorldH worldH); /* >> */ + + SPAPI A_Err (*AEGP_GetType)( + AEGP_WorldH worldH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + SPAPI A_Err (*AEGP_GetSize)( + AEGP_WorldH worldH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetRowBytes)( + AEGP_WorldH worldH, /* >> */ + A_u_long *row_bytesPL); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr8)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_8 */ + PF_Pixel8 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr16)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_16 */ + PF_Pixel16 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_FillOutPFEffectWorld)( /* Provided so you can use some of the PF routines with an AEGPWorld. Pass NULL as the ProgPtr to the PF routines.*/ + AEGP_WorldH worldH, /* >> */ + PF_EffectWorld *pf_worldP); /* << */ + + SPAPI A_Err (*AEGP_FastBlur)( + A_FpLong radiusF, /* >> */ + PF_ModeFlags mode, /* >> */ + PF_Quality quality, /* >> */ + AEGP_WorldH worldH); /* <> only for user allocated worlds; not for checked-out frames which are read only */ + + SPAPI A_Err (*AEGP_NewPlatformWorld)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_WorldType type, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + AEGP_PlatformWorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_DisposePlatformWorld)( + AEGP_PlatformWorldH worldH); /* >> */ + + SPAPI A_Err (*AEGP_NewReferenceFromPlatformWorld)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_PlatformWorldH platform_worldH, // >> + AEGP_WorldH *worldPH); /* << */ + + +} AEGP_WorldSuite2; + + +#define kAEGPWorldSuite "AEGP World Suite" +#define kAEGPWorldSuiteVersion1 1 /* frozen AE 6.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_New)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_WorldType type, /* >> */ + A_long widthL, /* >> */ + A_long heightL, /* >> */ + AEGP_WorldH *worldPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_WorldH worldH); /* >> */ + + SPAPI A_Err (*AEGP_GetType)( + AEGP_WorldH worldH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + SPAPI A_Err (*AEGP_GetSize)( + AEGP_WorldH worldH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetRowBytes)( + AEGP_WorldH worldH, /* >> */ + A_u_long *row_bytesPL); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr8)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_8 */ + PF_Pixel8 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_GetBaseAddr16)( + AEGP_WorldH worldH, /* >> error if the worldH is not AEGP_WorldType_16 */ + PF_Pixel16 **base_addrP); /* << */ + + SPAPI A_Err (*AEGP_FillOutPFEffectWorld)( /* Provided so you can use some of the PF routines with an AEGPWorld. Pass NULL as the ProgPtr to the PF routines.*/ + AEGP_WorldH worldH, /* >> */ + PF_EffectWorld *pf_worldP); /* << */ + + SPAPI A_Err (*AEGP_FastBlur)( + A_FpLong radiusF, /* >> */ + PF_ModeFlags mode, /* >> */ + PF_Quality quality, /* >> */ + AEGP_WorldH worldH); /* <> only for user allocated worlds; not for checked-out frames which are read only */ +} AEGP_WorldSuite1; + + +typedef struct { + AEGP_CollectionItemType type; + union { + AEGP_LayerCollectionItem layer; + AEGP_MaskCollectionItem mask; + AEGP_EffectCollectionItem effect; + AEGP_StreamCollectionItem stream; + AEGP_MaskVertexCollectionItem mask_vertex; + AEGP_KeyframeCollectionItem keyframe; + } u; +} AEGP_CollectionItem; + + +#define kAEGPCollectionSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_NewCollection)( /* dispose with dispose collection */ + AEGP_PluginID plugin_id, /* >> */ + AEGP_CollectionH *collectionPH); /* << */ + + SPAPI A_Err (*AEGP_DisposeCollection)( + AEGP_CollectionH collectionH); /* >> */ + + SPAPI A_Err (*AEGP_GetCollectionNumItems)( /* constant time */ + AEGP_CollectionH collectionH, /* >> */ + A_u_long *num_itemsPL); /* << */ + + SPAPI A_Err (*AEGP_GetCollectionItemByIndex)( /* constant time */ + AEGP_CollectionH collectionH, /* >> */ + A_u_long indexL, /* >> */ + AEGP_CollectionItem *collection_itemP); /* << */ + + SPAPI A_Err (*AEGP_CollectionPushBack)( /* constant time */ + AEGP_CollectionH collectionH, /* <> */ + const AEGP_CollectionItem *collection_itemP); /* >> */ + + SPAPI A_Err (*AEGP_CollectionErase)( /* O(n) */ + AEGP_CollectionH collectionH, /* <> */ + A_u_long index_firstL, /* >> */ + A_u_long index_lastL); /* >> */ + +} AEGP_CollectionSuite1; + +#define kAEGPDynamicStreamSuiteVersion1 1 /* frozen in AE 6.0 */ + +typedef struct AEGP_DynamicStreamSuite1 { + + SPAPI A_Err (*AEGP_GetNewStreamRefForLayer)( // used to start recursive walk of layer, + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamDepth)( // layer is depth 0 + AEGP_StreamRefH streamH, /* >> */ + A_long *depthPL); /* << */ + + + SPAPI A_Err (*AEGP_GetStreamGroupingType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamGroupingType *group_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNumStreamsInGroup)( // error on leaf + AEGP_StreamRefH streamH, /* >> */ + A_long *num_streamsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetDynamicStreamFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags *stream_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetDynamicStreamFlag)( /* UNDOABLE */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags one_flag, /* >> */ + A_Boolean setB); /* >> */ + + + SPAPI A_Err (*AEGP_GetNewStreamRefByIndex)( // legal for namedgroup, indexedgroup, not leaf + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + A_long indexL, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewStreamRefByMatchname)( // legal for namedgroup + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + const A_char *match_nameZ, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DeleteStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH); /* >> */ // must still dispose the streamref later + + SPAPI A_Err (*AEGP_ReorderStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* <> updated to refer to newly ordered stream */ + A_long new_indexL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_long *new_indexPL0); /* << */ + + /* GetStreamName is in main kAEGPStreamSuite, and works on dynamic streams including groups */ + + SPAPI A_Err (*AEGP_SetStreamName)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* >> */ + const A_char *nameZ); /* >> */ + + SPAPI A_Err (*AEGP_CanAddStream)( + AEGP_StreamRefH group_streamH, /* >> */ + const A_char *match_nameZ, /* >> */ + A_Boolean *can_addPB); /* << */ + + SPAPI A_Err (*AEGP_AddStream)( /* UNDOABLE, only valid for AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH indexed_group_streamH, /* >> */ + const A_char *match_nameZ, + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetMatchName)( + AEGP_StreamRefH streamH, /* >> */ + A_char *nameZ); /* << use A_char[AEGP_MAX_STREAM_MATCH_NAME_SIZE] for buffer */ + + SPAPI A_Err (*AEGP_GetNewParentStreamRef)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamRefH *parent_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamIsModified)( // i.e. changed from defaults, like the UU key + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *modifiedPB); /* << */ + +} AEGP_DynamicStreamSuite1; + +#define kAEGPDynamicStreamSuiteVersion2 2 /* frozen in AE 6.5 */ + +typedef struct AEGP_DynamicStreamSuite2 { + + SPAPI A_Err (*AEGP_GetNewStreamRefForLayer)( // used to start recursive walk of layer, + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamDepth)( // layer is depth 0 + AEGP_StreamRefH streamH, /* >> */ + A_long *depthPL); /* << */ + + + SPAPI A_Err (*AEGP_GetStreamGroupingType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamGroupingType *group_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNumStreamsInGroup)( // error on leaf + AEGP_StreamRefH streamH, /* >> */ + A_long *num_streamsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetDynamicStreamFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags *stream_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetDynamicStreamFlag)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags one_flag, /* >> */ + A_Boolean undoableB, /* true if you want this to be an undoable change */ + /* if false, the only legal flag is AEGP_DynStreamFlag_HIDDEN */ + A_Boolean setB); /* >> */ + + + SPAPI A_Err (*AEGP_GetNewStreamRefByIndex)( // legal for namedgroup, indexedgroup, not leaf + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + A_long indexL, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewStreamRefByMatchname)( // legal for namedgroup + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + const A_char *match_nameZ, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DeleteStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH); /* >> */ // must still dispose the streamref later + + SPAPI A_Err (*AEGP_ReorderStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* <> updated to refer to newly ordered stream */ + A_long new_indexL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_long *new_indexPL0); /* << */ + + /* GetStreamName is in main kAEGPStreamSuite, and works on dynamic streams including groups */ + + SPAPI A_Err (*AEGP_SetStreamName)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* >> */ + const A_char *nameZ); /* >> */ + + SPAPI A_Err (*AEGP_CanAddStream)( + AEGP_StreamRefH group_streamH, /* >> */ + const A_char *match_nameZ, /* >> */ + A_Boolean *can_addPB); /* << */ + + SPAPI A_Err (*AEGP_AddStream)( /* UNDOABLE, only valid for AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH indexed_group_streamH, /* >> */ + const A_char *match_nameZ, + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetMatchName)( + AEGP_StreamRefH streamH, /* >> */ + A_char *nameZ); /* << use A_char[AEGP_MAX_STREAM_MATCH_NAME_SIZE] for buffer */ + + SPAPI A_Err (*AEGP_GetNewParentStreamRef)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamRefH *parent_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamIsModified)( // i.e. changed from defaults, like the UU key + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *modifiedPB); /* << */ + +} AEGP_DynamicStreamSuite2; + +#define kAEGPDynamicStreamSuiteVersion3 3 /* frozen in AE 7.0 */ + +typedef struct AEGP_DynamicStreamSuite3 { + + SPAPI A_Err (*AEGP_GetNewStreamRefForLayer)( // used to start recursive walk of layer, + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamDepth)( // layer is depth 0 + AEGP_StreamRefH streamH, /* >> */ + A_long *depthPL); /* << */ + + + SPAPI A_Err (*AEGP_GetStreamGroupingType)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamGroupingType *group_typeP); /* << */ + + SPAPI A_Err (*AEGP_GetNumStreamsInGroup)( // error on leaf + AEGP_StreamRefH streamH, /* >> */ + A_long *num_streamsPL); /* << */ + + + SPAPI A_Err (*AEGP_GetDynamicStreamFlags)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags *stream_flagsP); /* << */ + + SPAPI A_Err (*AEGP_SetDynamicStreamFlag)( + AEGP_StreamRefH streamH, /* >> */ + AEGP_DynStreamFlags one_flag, /* >> */ + A_Boolean undoableB, /* true if you want this to be an undoable change */ + /* if false, the only legal flag is AEGP_DynStreamFlag_HIDDEN */ + A_Boolean setB); /* >> */ + + + SPAPI A_Err (*AEGP_GetNewStreamRefByIndex)( // legal for namedgroup, indexedgroup, not leaf + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + A_long indexL, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetNewStreamRefByMatchname)( // legal for namedgroup + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH parent_groupH, /* >> */ + const A_char *match_nameZ, /* >> */ + AEGP_StreamRefH *streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_DeleteStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH); /* >> */ // must still dispose the streamref later + + SPAPI A_Err (*AEGP_ReorderStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* <> updated to refer to newly ordered stream */ + A_long new_indexL); /* >> */ + + SPAPI A_Err (*AEGP_DuplicateStream)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + A_long *new_indexPL0); /* << */ + + /* GetStreamName is in main kAEGPStreamSuite, and works on dynamic streams including groups */ + + SPAPI A_Err (*AEGP_SetStreamName)( /* UNDOABLE, only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_StreamRefH streamH, /* >> */ + const A_char *nameZ); /* >> */ + + SPAPI A_Err (*AEGP_CanAddStream)( + AEGP_StreamRefH group_streamH, /* >> */ + const A_char *match_nameZ, /* >> */ + A_Boolean *can_addPB); /* << */ + + SPAPI A_Err (*AEGP_AddStream)( /* UNDOABLE, only valid for AEGP_StreamGroupingType_INDEXED_GROUP */ + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH indexed_group_streamH, /* >> */ + const A_char *match_nameZ, + AEGP_StreamRefH *streamPH0); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetMatchName)( + AEGP_StreamRefH streamH, /* >> */ + A_char *nameZ); /* << use A_char[AEGP_MAX_STREAM_MATCH_NAME_SIZE] for buffer */ + + SPAPI A_Err (*AEGP_GetNewParentStreamRef)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_StreamRefH streamH, /* >> */ + AEGP_StreamRefH *parent_streamPH); /* << must be disposed by caller! */ + + SPAPI A_Err (*AEGP_GetStreamIsModified)( // i.e. changed from defaults, like the UU key + AEGP_StreamRefH streamH, /* >> */ + A_Boolean *modifiedPB); /* << */ + + SPAPI A_Err (*AEGP_GetStreamIndexInParent)( // only valid for children of AEGP_StreamGroupingType_INDEXED_GROUP + AEGP_StreamRefH streamH, /* >> */ + A_long *indexPL); /* << */ + + + +} AEGP_DynamicStreamSuite3; + + +#define kAEGPRenderOptionsSuite "AEGP Render Options Suite" +#define kAEGPRenderOptionsSuiteVersion3 3 /* frozen in AE 7.01 */ + +typedef struct { + // fills out + // Time to 0 + // Time step to the frame duration + // field render to none + // depth is best resolution of item + SPAPI A_Err (*AEGP_NewFromItem)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_RenderOptionsH *optionsPH); /* << */ + + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_RenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetFieldRender)( /* How fields are to be handled. */ + AEGP_RenderOptionsH optionsH, /* <> */ + PF_Field field_render); /* >> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + AEGP_RenderOptionsH optionsH, /* >> */ + PF_Field *field_renderP); /* << */ + + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* <> */ + const A_LRect *roiP); /* >> {0,0,0,0} for all*/ + + SPAPI A_Err (*AEGP_GetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_LRect *roiP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_ChannelOrder channel_order); /* >> */ + + SPAPI A_Err (*AEGP_GetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_ChannelOrder *channelP); /* << */ + + SPAPI A_Err (*AEGP_GetRenderGuideLayers)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Boolean *will_renderPB); /* << */ + + SPAPI A_Err (*AEGP_SetRenderGuideLayers)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Boolean render_themB); /* >> */ + +} AEGP_RenderOptionsSuite3; + + +#define kAEGPRenderOptionsSuite "AEGP Render Options Suite" +#define kAEGPRenderOptionsSuiteVersion2 2 /* frozen in AE 7.0 */ + +typedef struct { + // fills out + // Time to 0 + // Time step to the frame duration + // field render to none + // depth is best resolution of item + SPAPI A_Err (*AEGP_NewFromItem)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_RenderOptionsH *optionsPH); /* << */ + + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_RenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetFieldRender)( /* How fields are to be handled. */ + AEGP_RenderOptionsH optionsH, /* <> */ + PF_Field field_render); /* >> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + AEGP_RenderOptionsH optionsH, /* >> */ + PF_Field *field_renderP); /* << */ + + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* <> */ + const A_LRect *roiP); /* >> {0,0,0,0} for all*/ + + SPAPI A_Err (*AEGP_GetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_LRect *roiP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ + + SPAPI A_Err (*AEGP_SetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_ChannelOrder channel_order); /* >> */ + + SPAPI A_Err (*AEGP_GetChannelOrder)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_ChannelOrder *channelP); /* << */ +} AEGP_RenderOptionsSuite2; + + +#define kAEGPRenderOptionsSuite "AEGP Render Options Suite" +#define kAEGPRenderOptionsSuiteVersion1 1 /* frozen in AE 5.5.1 */ + +typedef struct { + // fills out + // Time to 0 + // Time step to the frame duration + // field render to none + // depth is best resolution of item + SPAPI A_Err (*AEGP_NewFromItem)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_ItemH itemH, /* >> */ + AEGP_RenderOptionsH *optionsPH); /* << */ + + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_RenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_RenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_RenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetFieldRender)( /* How fields are to be handled. */ + AEGP_RenderOptionsH optionsH, /* <> */ + PF_Field field_render); /* >> */ + + SPAPI A_Err (*AEGP_GetFieldRender)( + AEGP_RenderOptionsH optionsH, /* >> */ + PF_Field *field_renderP); /* << */ + + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* <> */ + const A_LRect *roiP); /* >> {0,0,0,0} for all*/ + + SPAPI A_Err (*AEGP_GetRegionOfInterest)( + AEGP_RenderOptionsH optionsH, /* >> */ + A_LRect *roiP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_RenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_RenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ + +} AEGP_RenderOptionsSuite1; + + + + +#define kAEGPLayerRenderOptionsSuite "AEGP Layer Render Options Suite" +#define kAEGPLayerRenderOptionsSuiteVersion1 1 /* frozen in 13.0 */ + +typedef struct { + // optionsPH must be disposed by calling code + // + // fills out + // Time to the layer's current time + // Time step to layer's frame duration + // ROI to the layer's nominal bounds + // EffectsToRender to "all" + SPAPI A_Err (*AEGP_NewFromLayer)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_LayerH layerH, /* >> */ + AEGP_LayerRenderOptionsH *optionsPH); /* << */ + + // optionsPH must be disposed by calling code + // like AEGP_NewFromLayer, but sets EffectsToRender to be the index fof effectH + SPAPI A_Err (*AEGP_NewFromUpstreamOfEffect)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_EffectRefH effectH, /* >> */ + AEGP_LayerRenderOptionsH *optionsPH); /* << */ + + // copyPH must be disposed by calling code + SPAPI A_Err (*AEGP_Duplicate)( + AEGP_PluginID plugin_id, /* >> */ + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_LayerRenderOptionsH *copyPH); /* << */ + + SPAPI A_Err (*AEGP_Dispose)( + AEGP_LayerRenderOptionsH optionsH); /* >> */ + + SPAPI A_Err (*AEGP_SetTime)( /* the render time */ + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_Time time); /* >> */ + + SPAPI A_Err (*AEGP_GetTime)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_Time *timeP); /* << */ + + SPAPI A_Err (*AEGP_SetTimeStep)( /* duration of the frame; important for motion blur. */ + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_Time time_step); /* >> */ + + SPAPI A_Err (*AEGP_GetTimeStep)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_Time *timePT); /* << */ + + SPAPI A_Err (*AEGP_SetWorldType)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + AEGP_WorldType type); /* >> */ + + SPAPI A_Err (*AEGP_GetWorldType)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_WorldType *typeP); /* << */ + + // 1 == 100% + // 2 == 50% + // ... + SPAPI A_Err (*AEGP_SetDownsampleFactor)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + A_short x, /* >> */ + A_short y); /* >> */ + + SPAPI A_Err (*AEGP_GetDownsampleFactor)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + A_short *xP, /* >> */ + A_short *yP); /* << */ + + SPAPI A_Err (*AEGP_SetMatteMode)( + AEGP_LayerRenderOptionsH optionsH, /* <> */ + AEGP_MatteMode mode); /* >> */ + + SPAPI A_Err (*AEGP_GetMatteMode)( + AEGP_LayerRenderOptionsH optionsH, /* >> */ + AEGP_MatteMode *modeP); /* << */ +} AEGP_LayerRenderOptionsSuite1; + + + + +#define kAEGPColorSettingsSuiteVersion1 1 // frozen in AE 7.0 + +typedef struct AEGP_ColorSettingsSuite1 { + + SPAPI A_Err (*AEGP_GetBlendingTables)( + PR_RenderContextH render_contextH, + PF_EffectBlendingTables *blending_tables); + +} AEGP_ColorSettingsSuite1; + +#define kAEGPColorSettingsSuiteVersion2 3 // frozen in AE 8.0 + +typedef struct AEGP_ColorSettingsSuite2 { + + SPAPI A_Err (*AEGP_GetBlendingTables)( + PR_RenderContextH render_contextH, + PF_EffectBlendingTables *blending_tables); + + SPAPI A_Err (*AEGP_DoesViewHaveColorSpaceXform)( + AEGP_ItemViewP viewP, // >> + A_Boolean *has_xformPB); // << + + SPAPI A_Err (*AEGP_XformWorkingToViewColorSpace)( + AEGP_ItemViewP viewP, // >> + AEGP_WorldH srcH, // in + AEGP_WorldH dstH); // out; must be the same size (can be the same as source) + + SPAPI A_Err (*AEGP_GetNewWorkingSpaceColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_CompH compH, // >> + AEGP_ColorProfileP *color_profilePP); // << caller must dispose with AEGP_DisposeColorProfile + + SPAPI A_Err (*AEGP_GetNewColorProfileFromICCProfile)( + AEGP_PluginID aegp_plugin_id, // >> + A_long icc_sizeL, // >> icc profile size + const void *icc_dataPV, // >> icc profile + AEGP_ColorProfileP *color_profilePP); // << builds AEGP_ColorProfile from icc profile; caller must dispose with AEGP_DisposeColorProfile + + SPAPI A_Err (*AEGP_GetNewICCProfileFromColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstColorProfileP color_profileP, // >> + AEGP_MemHandle *icc_profilePH); // << extract icc profile from AEGP_ColorProfile; caller must dispose with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetNewColorProfileDescription)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstColorProfileP color_profileP, // >> + AEGP_MemHandle *unicode_descPH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_DisposeColorProfile)( + AEGP_ColorProfileP color_profileP); // >> + + SPAPI A_Err (*AEGP_GetColorProfileApproximateGamma)( + AEGP_ConstColorProfileP color_profileP, // >> + A_FpShort *approx_gammaP); // << + + SPAPI A_Err (*AEGP_IsRGBColorProfile)( + AEGP_ConstColorProfileP color_profileP, // << + A_Boolean *is_rgbPB); // >> + + +} AEGP_ColorSettingsSuite2; + +#define kAEGPMarkerSuiteVersion1 1 /* frozen in AE 8.0 */ + +typedef struct AEGP_MarkerSuite1 { + + SPAPI A_Err (*AEGP_NewMarker)( + AEGP_MarkerValP *markerPP); + + SPAPI A_Err (*AEGP_DisposeMarker)( + AEGP_MarkerValP markerP); + + SPAPI A_Err (*AEGP_DuplicateMarker)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerValP *new_markerP); // << + + SPAPI A_Err (*AEGP_SetMarkerFlag)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean valueB); // >> + + SPAPI A_Err (*AEGP_GetMarkerFlag)( + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean *valueBP); // << + + SPAPI A_Err (*AEGP_GetMarkerString)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerStringType strType, // >> + AEGP_MemHandle *unicodePH); /* << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetMarkerString)( + AEGP_MarkerValP markerP, // <<>> + AEGP_MarkerStringType strType, // >> + const A_u_short *unicodeP, // >> + A_long lengthL); // >> number of characters + + SPAPI A_Err (*AEGP_CountCuePointParams)( + AEGP_ConstMarkerValP markerP, // >> + A_long *paramsLP); // << + + SPAPI A_Err (*AEGP_GetIndCuePointParam)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstMarkerValP markerP, // >> + A_long param_indexL, // >> must be between 0 and count - 1. else error + AEGP_MemHandle *unicodeKeyPH, // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *unicodeValuePH); // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL, // must be between 0 and count - 1. else error + const A_u_short *unicodeKeyP, // >> UTF16 + A_long key_lengthL, // >> number of characters + const A_u_short *unicodeValueP, // >> UTF16 + A_long value_lengthL); // >> number of characters + + // this call is followed by AEGP_SetIndCuePointParam() to actually set the data + // the ONLY thing this function does is reserve the space for the param, at the provided index + SPAPI A_Err (*AEGP_InsertCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count. else error + + SPAPI A_Err (*AEGP_DeleteIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count - 1. else error + +} AEGP_MarkerSuite1; + +#define kAEGPMarkerSuiteVersion2 2 /* frozen in AE 9.0 */ + +typedef struct AEGP_MarkerSuite2 { + + SPAPI A_Err (*AEGP_NewMarker)( + AEGP_MarkerValP *markerPP); + + SPAPI A_Err (*AEGP_DisposeMarker)( + AEGP_MarkerValP markerP); + + SPAPI A_Err (*AEGP_DuplicateMarker)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerValP *new_markerP); // << + + SPAPI A_Err (*AEGP_SetMarkerFlag)( + AEGP_MarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean valueB); // >> + + SPAPI A_Err (*AEGP_GetMarkerFlag)( + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerFlagType flagType, // >> + A_Boolean *valueBP); // << + + SPAPI A_Err (*AEGP_GetMarkerString)( + AEGP_PluginID aegp_plugin_id, /* >> */ + AEGP_ConstMarkerValP markerP, // >> + AEGP_MarkerStringType strType, // >> + AEGP_MemHandle *unicodePH); /* << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle */ + + SPAPI A_Err (*AEGP_SetMarkerString)( + AEGP_MarkerValP markerP, // <<>> + AEGP_MarkerStringType strType, // >> + const A_u_short *unicodeP, // >> + A_long lengthL); // >> number of characters + + SPAPI A_Err (*AEGP_CountCuePointParams)( + AEGP_ConstMarkerValP markerP, // >> + A_long *paramsLP); // << + + SPAPI A_Err (*AEGP_GetIndCuePointParam)( + AEGP_PluginID aegp_plugin_id, // >> + AEGP_ConstMarkerValP markerP, // >> + A_long param_indexL, // >> must be between 0 and count - 1. else error + AEGP_MemHandle *unicodeKeyPH, // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + AEGP_MemHandle *unicodeValuePH); // << handle of A_u_short, UTF16, NULL terminated, must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_SetIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL, // must be between 0 and count - 1. else error + const A_u_short *unicodeKeyP, // >> UTF16 + A_long key_lengthL, // >> number of characters + const A_u_short *unicodeValueP, // >> UTF16 + A_long value_lengthL); // >> number of characters + + // this call is followed by AEGP_SetIndCuePointParam() to actually set the data + // the ONLY thing this function does is reserve the space for the param, at the provided index + SPAPI A_Err (*AEGP_InsertCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count. else error + + SPAPI A_Err (*AEGP_DeleteIndCuePointParam)( + AEGP_MarkerValP markerP, // >> + A_long param_indexL); // must be between 0 and count - 1. else error + + SPAPI A_Err (*AEGP_SetMarkerDuration)( + AEGP_MarkerValP markerP, // >> + const A_Time *durationPT); // >> + + + SPAPI A_Err (*AEGP_GetMarkerDuration)( + AEGP_ConstMarkerValP markerP, // >> + A_Time *durationPT); // << + + +} AEGP_MarkerSuite2; + +#define kAEGPProjSuiteVersion5 8 /* frozen in AE 10.0 */ + +typedef struct AEGP_ProjSuite5 { + + SPAPI A_Err (*AEGP_GetNumProjects)( /* will always (in 5.0) return 1 if project is open */ + A_long *num_projPL); /* << */ + + SPAPI A_Err (*AEGP_GetProjectByIndex)( + A_long proj_indexL, /* >> */ + AEGP_ProjectH *projPH); /* << */ + + SPAPI A_Err (*AEGP_GetProjectName)( + AEGP_ProjectH projH, /* >> */ + A_char *nameZ); /* << space for A_char[AEGP_MAX_PROJ_NAME_SIZE] */ + + SPAPI A_Err (*AEGP_GetProjectPath)( + AEGP_ProjectH projH, /* >> */ + AEGP_MemHandle *unicode_pathPH); // << empty string if no file. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetProjectRootFolder)( + AEGP_ProjectH projH, /* >> */ + AEGP_ItemH *root_folderPH); /* << */ + + SPAPI A_Err (*AEGP_SaveProjectToPath)( + AEGP_ProjectH projH, /* >> */ + const A_UTF16Char *pathZ); // >> null terminated unicode path with platform separators + + SPAPI A_Err (*AEGP_GetProjectTimeDisplay)( + AEGP_ProjectH projH, /* >> */ + AEGP_TimeDisplay2 *time_displayP); /* << */ + + SPAPI A_Err (*AEGP_SetProjectTimeDisplay)( /* UNDOABLE */ + AEGP_ProjectH projH, /* <> */ + const AEGP_TimeDisplay2 *time_displayP); /* >> */ + + SPAPI A_Err (*AEGP_ProjectIsDirty)( + AEGP_ProjectH projH, /* >> */ + A_Boolean *is_dirtyPB); /* << */ + + SPAPI A_Err (*AEGP_SaveProjectAs)( + AEGP_ProjectH projH, /* >> */ + const A_UTF16Char *pathZ); // >> null terminated unicode path with platform separators + + SPAPI A_Err (*AEGP_NewProject)( + AEGP_ProjectH *new_projectPH); /* << WARNING: Will close any open projects! */ + + // WARNING: Will close any open projects! + SPAPI A_Err (*AEGP_OpenProjectFromPath)( + const A_UTF16Char *pathZ, // >> null terminated unicode path with platform separators + AEGP_ProjectH *projectPH); /* << */ + + SPAPI A_Err (*AEGP_GetProjectBitDepth)( + AEGP_ProjectH projectH, /* >> */ + AEGP_ProjBitDepth *bit_depthP); /* << */ + + SPAPI A_Err (*AEGP_SetProjectBitDepth)( /* UNDOABLE */ + AEGP_ProjectH projectH, /* >> */ + AEGP_ProjBitDepth bit_depth); /* >> */ + +} AEGP_ProjSuite5; + +#define kAEGPPersistentDataSuiteVersion3 3 /* frozen in AE 10.0 */ + +typedef struct { + // get a handle of the application blob, + // modifying this will modify the application + SPAPI A_Err (*AEGP_GetApplicationBlob)( + AEGP_PersistentBlobH *blobPH); /* >> */ + + // section and value key management + SPAPI A_Err (*AEGP_GetNumSections)( + AEGP_PersistentBlobH blobH, /* >> */ + A_long *num_sectionPL); /* << */ + + SPAPI A_Err (*AEGP_GetSectionKeyByIndex)( + AEGP_PersistentBlobH blobH, /* >> */ + A_long section_index, /* >> */ + A_long max_section_size, /* >> */ + A_char *section_keyZ); /* << */ + + SPAPI A_Err (*AEGP_DoesKeyExist)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_Boolean *existsPB); /* << */ + + SPAPI A_Err (*AEGP_GetNumKeys)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + A_long *num_keysPL); /* << */ + + SPAPI A_Err (*AEGP_GetValueKeyByIndex)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + A_long key_index, /* >> */ + A_long max_key_size, /* >> */ + A_char *value_keyZ); /* << */ + + // data access and manipulation + + // For the entry points below, if a given key is not found, + // the default value is both written to the blobH and + // returned as the value; if no default is provided, a blank value will be written + // and returned + + SPAPI A_Err (*AEGP_GetDataHandle)( + AEGP_PluginID plugin_id, + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + AEGP_MemHandle defaultH0, /* >> never adopted, NULL means no default data */ + AEGP_MemHandle *valuePH); /* << newly allocated, owned by caller, NULL if would be zero sized handle */ + + SPAPI A_Err (*AEGP_GetData)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_u_long data_sizeLu, /* >> bufPV & default must be this big, if pref isn't then the default will be used */ + const void *defaultPV0, /* >> NULL means all zeros for default */ + void *bufPV); /* << */ + + SPAPI A_Err (*AEGP_GetString)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_char *defaultZ0, /* >> NULL means '\0' is the default */ + A_u_long buf_sizeLu, /* >> size of buffer. Behavior dependent on actual_buf_sizeLu0 */ + A_char *bufZ, /* << will be "" if buf_size is too small */ + A_u_long *actual_buf_sizeLu0); /* << actual size needed to store the buffer (includes terminating NULL). Pass NULL for error reporting if size mismatch.*/ + + SPAPI A_Err (*AEGP_GetLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_long defaultL, /* >> */ + A_long *valuePL); /* << */ + + SPAPI A_Err (*AEGP_GetFpLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_FpLong defaultF, /* >> */ + A_FpLong *valuePF); /* << */ + + // setters + SPAPI A_Err (*AEGP_SetDataHandle)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const AEGP_MemHandle valueH); /* >> not adopted */ + + SPAPI A_Err (*AEGP_SetData)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_u_long data_sizeLu, /* >> */ + const void *dataPV); /* >> */ + + SPAPI A_Err (*AEGP_SetString)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + const A_char *strZ); /* >> */ + + SPAPI A_Err (*AEGP_SetLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_long valueL); /* >> */ + + + SPAPI A_Err (*AEGP_SetFpLong)( + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ, /* >> */ + A_FpLong valueF); /* >> */ + + SPAPI A_Err (*AEGP_DeleteEntry)( /* no error if entry not found */ + AEGP_PersistentBlobH blobH, /* >> */ + const A_char *section_keyZ, /* >> */ + const A_char *value_keyZ); /* >> */ + + SPAPI A_Err (*AEGP_GetPrefsDirectory)( + AEGP_MemHandle *unicode_pathPH); // << empty string if no file. handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + +} AEGP_PersistentDataSuite3; + +#define kAEGPIterateSuite "AEGP Iterate Suite" +#define kAEGPIterateSuiteVersion1 1 /* frozen in AE 5.0 */ + +typedef struct AEGP_IterateSuite1 { + + SPAPI A_Err(*AEGP_GetNumThreads)( + A_long* num_threadsPL); + + + SPAPI A_Err(*AEGP_IterateGeneric)( + A_long iterationsL, /* >> */ // can be PF_Iterations_ONCE_PER_PROCESSOR + void* refconPV, /* >> */ + A_Err(*fn_func)(void* refconPV, /* >> */ + A_long thread_indexL, /* >> */ + A_long i, /* >> */ + A_long iterationsL)); /* >> */ + +} AEGP_IterateSuite1; + +#define kAEGPIOInSuite "AEGP IO In Suite" +#define kAEGPIOInSuiteVersion4 5 /* frozen in AE 10 */ + +typedef struct AEGP_IOInSuite4 { + + SPAPI A_Err (*AEGP_GetInSpecOptionsHandle)( + AEIO_InSpecH inH, /* >> */ + void **optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecOptionsHandle)( + AEIO_InSpecH inH, /* >> */ + void *optionsPV, /* >> */ + void **old_optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecFilePath)( + AEIO_InSpecH inH, /* >> */ + AEGP_MemHandle *unicode_pathPH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + SPAPI A_Err (*AEGP_GetInSpecNativeFPS)( + AEIO_InSpecH inH, /* >> */ + A_Fixed *native_fpsP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecNativeFPS)( + AEIO_InSpecH inH, /* >> */ + A_Fixed native_fps); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecDepth)( + AEIO_InSpecH inH, /* >> */ + A_short *depthPS); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecDepth)( + AEIO_InSpecH inH, /* >> */ + A_short depthS); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_FileSize *sizePL); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_FileSize sizeL); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecInterlaceLabel)( + AEIO_InSpecH inH, /* >> */ + FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecInterlaceLabel)( + AEIO_InSpecH inH, /* >> */ + const FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecAlphaLabel)( + AEIO_InSpecH inH, /* >> */ + AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecAlphaLabel)( + AEIO_InSpecH inH, /* >> */ + const AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecDuration)( + AEIO_InSpecH inH, /* >> */ + A_Time *durationP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecDuration)( + AEIO_InSpecH inH, /* >> */ + const A_Time *durationP); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecDimensions)( + AEIO_InSpecH inH, /* >> */ + A_long *widthPL0, /* << */ + A_long *heightPL0); + + SPAPI A_Err (*AEGP_SetInSpecDimensions)( + AEIO_InSpecH inH, /* >> */ + A_long widthL, /* >> */ + A_long heightL); /* >> */ + + SPAPI A_Err (*AEGP_InSpecGetRationalDimensions)( + AEIO_InSpecH inH, /* >> */ + const AEIO_RationalScale *rs0, /* << */ + A_long *width0, /* << */ + A_long *height0, /* << */ + A_Rect *r0); /* << */ + + SPAPI A_Err (*AEGP_GetInSpecHSF)( + AEIO_InSpecH inH, /* >> */ + A_Ratio *hsfP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecHSF)( + AEIO_InSpecH inH, /* >> */ + const A_Ratio *hsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundRate)( + AEIO_InSpecH inH, /* >> */ + A_FpLong *ratePF); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundRate)( + AEIO_InSpecH inH, /* >> */ + A_FpLong rateF); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundEncoding)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndEncoding *encodingP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundEncoding)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndEncoding encoding); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundSampleSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndSampleSize *bytes_per_sampleP);/* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundSampleSize)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndSampleSize bytes_per_sample); /* >> */ + + SPAPI A_Err (*AEGP_GetInSpecSoundChannels)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndChannels *num_channelsP); /* << */ + + SPAPI A_Err (*AEGP_SetInSpecSoundChannels)( + AEIO_InSpecH inH, /* >> */ + AEIO_SndChannels num_channels); /* >> */ + + SPAPI A_Err (*AEGP_AddAuxExtMap)( + const A_char *extension, /* >> */ + A_long file_type, /* >> */ + A_long creator); /* >> */ + + // In case of RGB data, if there is an embedded icc profile, build AEGP_ColorProfile out of this icc profile using AEGP_GetNewColorProfileFromICCProfile and pass it to + // AEGP_SetInSpecEmbeddedColorProfile, with profile description set to NULL. + // + // In case of non-RGB data, if there is an embedded non-RGB icc profile or you know the color space the data is in, pass its description as a null-terminated unicode string + // to AEGP_SetInSpecEmbeddedColorProfile, with color profile set to NULL. Doing this disables color management UI that allows user to affect + // profile choice in the application UI. + // + // If you are unpacking non-RGB data directly into working space (to get working space use AEGP_GetNewWorkingSpaceColorProfile), you are done. + // + // If you are unpacking non-RGB data into specific RGB color space, you must pass the profile describing this space to AEGP_SetInSpecAssignedColorProfile. + // Otherwise, your RGB data will be incorrectly interpreted as being in working space. + // + // Either color profile or profile description should be NULL in AEGP_SetInSpecEmbeddedColorProfile. You cannot use both. + SPAPI A_Err (*AEGP_SetInSpecEmbeddedColorProfile)( + AEIO_InSpecH inH, // << + AEGP_ConstColorProfileP color_profileP0, // << + const A_UTF16Char *profile_descP0); // << pointer to a null-terminated unicode string + + // Assign valid RGB profile to the footage + SPAPI A_Err (*AEGP_SetInSpecAssignedColorProfile)( + AEIO_InSpecH inH, // << + AEGP_ConstColorProfileP color_profileP); // << + +} AEGP_IOInSuite4; + +#define kAEGPIOOutSuiteVersion4 7 /* frozen in AE 10.0 */ + +typedef struct AEGP_IOOutSuite4 { + SPAPI A_Err (*AEGP_GetOutSpecOptionsHandle)( + AEIO_OutSpecH outH, /* >> */ + void **optionsPPV); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecOptionsHandle)( + AEIO_OutSpecH outH, /* >> */ + void *optionsPV, /* >> */ + void **old_optionsPPVO); /* <> */ + + SPAPI A_Err (*AEGP_GetOutSpecFilePath)( + AEIO_OutSpecH outH, /* >> */ + AEGP_MemHandle *unicode_pathPH, // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + A_Boolean *file_reservedPB); /* << If the file is reserved, do not create the file. + Otherwise, multi-machine rendering can fail. + If true, an empty file has already been created. */ + + SPAPI A_Err (*AEGP_GetOutSpecFPS)( + AEIO_OutSpecH outH, /* >> */ + A_Fixed *native_fpsP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecNativeFPS)( + AEIO_OutSpecH outH, /* >> */ + A_Fixed native_fpsP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDepth)( + AEIO_OutSpecH outH, /* >> */ + A_short *depthPS); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecDepth)( + AEIO_OutSpecH outH, /* >> */ + A_short depthPS); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecInterlaceLabel)( + AEIO_OutSpecH outH, /* >> */ + FIEL_Label *interlaceP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecInterlaceLabel)( + AEIO_OutSpecH outH, /* >> */ + const FIEL_Label *interlaceP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecAlphaLabel)( + AEIO_OutSpecH outH, /* >> */ + AEIO_AlphaLabel *alphaP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecAlphaLabel)( + AEIO_OutSpecH outH, /* >> */ + const AEIO_AlphaLabel *alphaP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDuration)( + AEIO_OutSpecH outH, /* >> */ + A_Time *durationP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecDuration)( + AEIO_OutSpecH outH, /* >> */ + const A_Time *durationP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecDimensions)( + AEIO_OutSpecH outH, /* >> */ + A_long *widthPL, /* << */ + A_long *heightPL); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecHSF)( + AEIO_OutSpecH outH, /* >> */ + A_Ratio *hsfP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecHSF)( + AEIO_OutSpecH outH, /* >> */ + const A_Ratio *hsfP); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundRate)( + AEIO_OutSpecH outH, /* >> */ + A_FpLong *ratePF); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundRate)( + AEIO_OutSpecH outH, /* >> */ + A_FpLong rateF); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundEncoding)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndEncoding *encodingP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundEncoding)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndEncoding encoding); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundSampleSize)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndSampleSize *bytes_per_sampleP);/* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundSampleSize)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndSampleSize bytes_per_sample); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecSoundChannels)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndChannels *num_channelsP); /* << */ + + SPAPI A_Err (*AEGP_SetOutSpecSoundChannels)( + AEIO_OutSpecH outH, /* >> */ + AEIO_SndChannels num_channels); /* >> */ + + SPAPI A_Err (*AEGP_GetOutSpecIsStill)( + AEIO_OutSpecH outH, /* >> */ + A_Boolean *is_stillPB); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecPosterTime)( + AEIO_OutSpecH outH, /* >> */ + A_Time *poster_timeP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecStartFrame)( + AEIO_OutSpecH outH, /* >> */ + A_long *start_frameP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecPullDown)( + AEIO_OutSpecH outH, /* >> */ + AEIO_Pulldown *pulldownP); /* << */ + + SPAPI A_Err (*AEGP_GetOutSpecIsMissing)( + AEIO_OutSpecH outH, /* >> */ + A_Boolean *missingPB); /* << */ + + // see if you need to embed outspec's color profile as an icc profile + SPAPI A_Err (*AEGP_GetOutSpecShouldEmbedICCProfile)( + AEIO_OutSpecH outH, // >> + A_Boolean *embedPB); // << + + // query outspec's color profile + SPAPI A_Err (*AEGP_GetNewOutSpecColorProfile)( + AEGP_PluginID aegp_plugin_id, // >> + AEIO_OutSpecH outH, // >> + AEGP_ColorProfileP *color_profilePP); // << output color space; caller must dispose with AEGP_DisposeColorProfile + + // Fails if rq_itemP is not found. + // This API would also fail if the outH is not a confirmed outH and is a copy. + // e.g. if the Output Module settings dialog is Open. + SPAPI A_Err (*AEGP_GetOutSpecOutputModule)( + AEIO_OutSpecH outH, /* >> */ + AEGP_RQItemRefH *rq_itemP, /* << */ + AEGP_OutputModuleRefH *om_refP); /* << */ + + +} AEGP_IOOutSuite4; + +#define kAEGPFIMSuiteVersion3 3 /* frozen in AE 10.0 */ +typedef struct { + SPAPI A_Err (*AEGP_RegisterImportFlavor)( + const A_char *nameZ, // format name you'd like to appear + // in AE's Import Dialog Format pop-up + // menu. + // Limited to AE_FIM_MAX_IMPORT_FLAVOR_NAME_LEN. + // Everything after that will be truncated. + AE_FIM_ImportFlavorRef *imp_refP); // On return it is set to a valid opaque ref. + // If error occured, it will be returned to + // the caller and ref will be set to a special + // value - AE_FIM_ImportFlavorRef_NONE. + + SPAPI A_Err (*AEGP_RegisterImportFlavorFileTypes)( + AE_FIM_ImportFlavorRef imp_ref, // Received from AEGP_RegisterImportFlavor + A_long num_filekindsL, // number of supported file types for this format + const AEIO_FileKind *kindsAP, // Array of supported file types for this format + A_long num_fileextsL, // number of supported file exts for this format + const AEIO_FileKind *extsAP); // Array of supported file exts for this format + + + SPAPI A_Err (*AEGP_RegisterImportFlavorImportCallbacks)( + AE_FIM_ImportFlavorRef imp_ref, // Received from AEGP_RegisterImportFlavor + AE_FIM_ImportFlags single_flag, // You can register callbacks only per single flag + // this also registers the flag with the import flavor + const AE_FIM_ImportCallbacks *imp_cbsP); // Callbacks your format installs per each flag + + // optionally call once from AE_FIM_ImportFileCB. This is used by the application when re-importing + // from the render queue and replacing an existing item. + SPAPI A_Err (*AEGP_SetImportedItem)( + AE_FIM_ImportOptions imp_options, /* <> */ + AEGP_ItemH imported_itemH); /* >> */ + +} AEGP_FIMSuite3; + + +#include diff --git a/External/AE SDK/Headers/AE_GeneralPlugPanels.h b/External/AE SDK/Headers/AE_GeneralPlugPanels.h new file mode 100644 index 00000000..9f1e5e75 --- /dev/null +++ b/External/AE SDK/Headers/AE_GeneralPlugPanels.h @@ -0,0 +1,134 @@ +#ifndef _AEGP_PANELS_H_ +#define _AEGP_PANELS_H_ + +#include "AE_GeneralPlug.h" + +#if defined(__GNUC__) && defined(__MACH__) + #if defined(__LP64__) + #include + typedef NSView *AEGP_PlatformViewRef; + #else + typedef HIViewRef AEGP_PlatformViewRef; + #endif +#endif + +#if defined(WIN32) + #include + typedef HWND AEGP_PlatformViewRef; +#endif + +typedef struct _AEGP_CreatePanelRefcon *AEGP_CreatePanelRefcon; +typedef struct _AEGP_PanelRefcon *AEGP_PanelRefcon; + +#ifndef AEGP_INTERNAL + // opaque for everyone else + typedef struct _AEGP_PanelH *AEGP_PanelH; +#endif + + + +#include + + +enum {AEGP_FlyoutMenuCmdID_NONE = 0}; +typedef A_long AEGP_FlyoutMenuCmdID; + + +enum { + AEGP_FlyoutMenuMarkType_NORMAL, + AEGP_FlyoutMenuMarkType_CHECKED, + AEGP_FlyoutMenuMarkType_RADIO_BULLET, + AEGP_FlyoutMenuMarkType_SEPARATOR +}; +typedef A_long AEGP_FlyoutMenuMarkType; + +typedef A_long AEGP_FlyoutMenuIndent; + + +typedef struct +{ + AEGP_FlyoutMenuIndent indent; + AEGP_FlyoutMenuMarkType type; + A_Boolean enabledB; + AEGP_FlyoutMenuCmdID cmdID; // limited to MAX(A_long) - 201; + const A_u_char* utf8NameZ; +}AEGP_FlyoutMenuItem; + +/* +flyout menu's are a simple declarative structure + +AEGP_FlyoutMenuItem myMenu[] = { + {1, AEGP_FlyoutMenuMarkType_NORMAL, FALSE, AEGP_FlyoutMenuCmdID_NONE, "Hi!" }, + {1, AEGP_FlyoutMenuMarkType_SEPARATOR, TRUE, AEGP_FlyoutMenuCmdID_NONE, NULL }, + {1, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, AEGP_FlyoutMenuCmdID_NONE, "Set BG Color" }, + {2, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_RED, "Red" }, + {2, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_GREEN, "Green" }, + {2, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_BLUE, "Blue" }, + {1, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_STANDARD, "Normal Fill Color" }, + {1, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, AEGP_FlyoutMenuCmdID_NONE, "Set Title" }, + {2, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_TITLE_LONGER, "Longer" }, + {2, AEGP_FlyoutMenuMarkType_NORMAL, TRUE, PT_MenuCmd_TITLE_SHORTER, "Shorter" } +}; + + +*/ + +typedef struct { + // no more than 5 snap sizes. Our algo can't really cope and it confuses + // the user. + A_Err (*GetSnapSizes)(AEGP_PanelRefcon refcon, A_LPoint* snapSizes, A_long * numSizesP); + + + A_Err (*PopulateFlyout)(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuItem* itemsP, A_long * in_out_numItemsP); + A_Err (*DoFlyoutCommand)(AEGP_PanelRefcon refcon, AEGP_FlyoutMenuCmdID commandID); +} AEGP_PanelFunctions1; + +typedef A_Err (*AEGP_CreatePanelHook)( + AEGP_GlobalRefcon plugin_refconP, + AEGP_CreatePanelRefcon refconP, + AEGP_PlatformViewRef container, + AEGP_PanelH panelH, + AEGP_PanelFunctions1* outFunctionTable, + AEGP_PanelRefcon* outRefcon); +#define kAEGPPanelSuite "AEGP Workspace Panel Suite" +#define kAEGPPanelSuiteVersion1 1 /* frozen in AE 8.0 */ + +typedef struct { + SPAPI A_Err (*AEGP_RegisterCreatePanelHook)( + AEGP_PluginID in_plugin_id, + const A_u_char* in_utf8_match_nameZ, // do not localize + AEGP_CreatePanelHook in_update_menu_hook_func, + AEGP_CreatePanelRefcon in_refconP, + A_Boolean in_paint_backgroundB); + + + SPAPI A_Err (*AEGP_UnRegisterCreatePanelHook)( + const A_u_char* in_utf8_match_nameZ); // do not localize match name + + SPAPI A_Err (*AEGP_SetTitle)( + AEGP_PanelH in_panelH, + const A_u_char* in_utf8_nameZ // use this to localize the user visible name of the panel + ); + + /** Does the standard 'Window' menu operation + If tab is not in workspace, it creates it. + Otherwise, if the tab is not the front most tab in it's frame, it is made frontmost + Else, if it is visible and frontmost, it is closed. + */ + SPAPI A_Err (*AEGP_ToggleVisibility)( + const A_u_char* in_utf8_match_nameZ + ); + + SPAPI A_Err (*AEGP_IsShown)( + const A_u_char* in_utf8_match_nameZ, + A_Boolean* out_tab_is_shownB, + A_Boolean* out_panel_is_frontmostB + ); + +} AEGP_PanelSuite1; + + +#include + + +#endif \ No newline at end of file diff --git a/External/AE SDK/Headers/AE_GeneralPlugPost.h b/External/AE SDK/Headers/AE_GeneralPlugPost.h new file mode 100644 index 00000000..7b5fba7b --- /dev/null +++ b/External/AE SDK/Headers/AE_GeneralPlugPost.h @@ -0,0 +1,16 @@ + +#ifdef __cplusplus +} // end extern "C" +#endif + + + +#include + + + +#ifndef _AE_GENERAL_PLUG_PRE___ + #error "AE_GeneralPlugPost.h not balanced" +#else + #undef _AE_GENERAL_PLUG_PRE___ +#endif \ No newline at end of file diff --git a/External/AE SDK/Headers/AE_GeneralPlugPre.h b/External/AE SDK/Headers/AE_GeneralPlugPre.h new file mode 100644 index 00000000..8b2e28d9 --- /dev/null +++ b/External/AE SDK/Headers/AE_GeneralPlugPre.h @@ -0,0 +1,15 @@ + +/* This file should be included after all headers, but before the definition of any suites +or data structures. +*/ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _AE_GENERAL_PLUG_PRE___ +#error "AE_GeneralPlugPre.h not balanced" +#endif + +#define _AE_GENERAL_PLUG_PRE___ \ No newline at end of file diff --git a/External/AE SDK/Headers/AE_HashSuite.h b/External/AE SDK/Headers/AE_HashSuite.h new file mode 100644 index 00000000..04859b8a --- /dev/null +++ b/External/AE SDK/Headers/AE_HashSuite.h @@ -0,0 +1,52 @@ +/******************************************************************** +* ADOBE CONFIDENTIAL +* __________________ +* +* Copyright 2020 Adobe Inc. +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains +* the property of Adobe and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe +* and its suppliers and are protected by all applicable intellectual +* property laws, including trade secret and copyright laws. +* Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained +* from Adobe. +********************************************************************/ + +#ifndef _H_AE_HashSuite + #define _H_AE_HashSuite + +#ifdef AEGP_INTERNAL + #include +#endif + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +#define kAEGPHashSuite "AEGP Hash Suite" +#define kAEGPHashSuiteVersion1 1 /* frozen in AE 17.5.1 */ + +typedef struct { + + SPAPI A_Err (*AEGP_CreateHashFromPtr)( + const A_u_longlong buf_sizeLu, /* >> size of the buffer */ + const void *bufPV, /* >> the buffer pointer */ + AEGP_GUID *hashP); /* << result */ + + SPAPI A_Err (*AEGP_HashMixInPtr)( + const A_u_longlong buf_sizeLu, /* >> size of the buffer */ + const void *bufPV, /* >> the buffer pointer */ + AEGP_GUID *hashP); /* <> guid to be mixed in */ + +} AEGP_HashSuite1; + +#ifdef __cplusplus + } // end extern "C" +#endif + +#endif diff --git a/External/AE SDK/Headers/AE_Hook.h b/External/AE SDK/Headers/AE_Hook.h new file mode 100644 index 00000000..6f747688 --- /dev/null +++ b/External/AE SDK/Headers/AE_Hook.h @@ -0,0 +1,155 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_HOOK_AE +#define _H_HOOK_AE + + +#include // for PF_Version, other types + + +#ifdef __cplusplus + extern "C" { +#endif + + +#define AE_HOOK_PLUGIN_TYPE 'AEgp' + +#define AE_HOOK_MAJOR_VERSION 3 +#define AE_HOOK_MINOR_VERSION 0 + +enum { + AE_PixFormat_NONE = -1, // sentinel -- meaningless + AE_PixFormat_ARGB = 0, + AE_PixFormat_BGRA +}; + +typedef A_long AE_PixFormat; + +enum { + AE_BlitOutFlag_NONE = 0, + AE_BlitOutFlag_ASYNCHRONOUS = 1L << 0 +}; + +enum { + AE_BlitInFlag_NONE = 0, + AE_BlitInFlag_RENDERING = 1L << 0 +}; + +typedef A_long AE_BlitInFlags; +typedef A_long AE_BlitOutFlags; + +// AE now supports 8bpp, 16bpp and 32bpc +// depthL, chan_bytesL, and plane_bytesL +// can now change. +typedef struct { + A_long widthL; + A_long heightL; + A_long depthL; // 32, 64, or 128 + AE_PixFormat pix_format; // always AE_PixFormat_ARGB on Mac, BGRA on Windows (for now) + + A_long row_bytesL; + A_long chan_bytesL; // 4, 8, or 16 + A_long plane_bytesL; // 1, 2, or 4 (for float) + + void *pixelsPV; + +} AE_PixBuffer; + + + +typedef struct { + A_long frame_widthL; // original size of image regardless of region of interest + A_long frame_heightL; + + A_long origin_xL; // where the pix buffer is placed in frame coords + A_long origin_yL; + + A_long view_rect_leftL; // what the user is actually seeing in the window + A_long view_rect_topL; + A_long view_rect_rightL; + A_long view_rect_bottomL; + + +} AE_ViewCoordinates; + + + +typedef struct _AE_BlitReceipt *AE_BlitReceipt; // opaque + +typedef struct _AE_CursorInfo *AE_CursorInfo; // opaque until I can decide what this means + + + +typedef void (*AE_DeathHook)( void *hook_refconPV); /* >> */ + +typedef void (*AE_VersionHook)( void *hook_refconPV, /* >> */ + A_u_long *versionPV); /* << */ + + +typedef struct FILE_Spec **AE_FileSpecH; + + +typedef void (*AE_BlitCompleteFunc)( AE_BlitReceipt receipt, + PF_Err err); // non zero if error during asynch operation + + +typedef PF_Err (*AE_BlitHook)( void *hook_refconPV, /* >> */ + const AE_PixBuffer *pix_bufP0, /* >> if NULL, display a blank frame */ + const AE_ViewCoordinates *viewP, /* >> */ + AE_BlitReceipt receipt, /* >> */ + AE_BlitCompleteFunc complete_func0, /* >> */ + AE_BlitInFlags in_flags, /* >> */ + AE_BlitOutFlags *out_flags); /* << */ + + + +typedef void (*AE_CursorHook)( void *hook_refconPV, /* >> */ + const AE_CursorInfo *cursorP); /* >> */ + +typedef struct { + // must match NIM_Hooks + + void *hook_refconPV; + void *reservedAPV[8]; + AE_DeathHook death_hook_func; + AE_VersionHook version_hook_func; + struct SPBasicSuite *pica_basicP; + AE_BlitHook blit_hook_func; + AE_CursorHook cursor_hook_func; + +} AE_Hooks; + + + +typedef PF_Err (*AE_HookPluginEntryFunc)( A_long major_version, /* >> */ + A_long minor_version, /* >> */ + AE_FileSpecH file_specH, /* >> */ + AE_FileSpecH res_specH, /* >> */ + AE_Hooks *hooksP); /* << */ + +#ifdef __cplusplus + } +#endif + + +#endif + diff --git a/External/AE SDK/Headers/AE_IO.h b/External/AE SDK/Headers/AE_IO.h new file mode 100644 index 00000000..88ccce2a --- /dev/null +++ b/External/AE SDK/Headers/AE_IO.h @@ -0,0 +1,789 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _AEIO_Public_H +#define _AEIO_Public_H + +#include +#include +#include +#include +#include + +#include + + +/////////////////////////////////////////////////// +////////////////// PUBLIC //////////////////////// +////////////////////////////////////////////////// + +#define AEIO_MAX_MODULE_NAME_LEN 31 +#define AEIO_MAX_TYPES 16 +#define AEIO_MAX_SEQ_NAME_LEN 31 +#define AEIO_MAX_MESSAGE_LEN 127 +#define AEIO_MAX_AUX_EXT 16 + +#define AEIO_ANY_CREATOR -1 + +#ifdef __cplusplus + extern "C" { +#endif + +#ifndef AEGP_INTERNAL + typedef const struct _AEGP_MarkerVal *AEGP_ConstMarkerValP; +#else +#ifndef _H_AE_GENERALPLUG_PRIVATE_H +#error include general plug private header before including AEIO +#endif +#endif + + + +/** + ** in data is passed to every function block function + **/ + +typedef void (*AEIO_MessageFunc) (A_Err err_number, const A_char *msgA); + +typedef struct AEIO_InData { + AEIO_MessageFunc msg_func; + const struct SPBasicSuite *pica_basicP; + A_long aegp_plug_id; + void *aegp_refconPV; +} AEIO_BasicData; + +enum { + AEIO_Err_UNSUPPORTED_CALLBACK = (((39)<<8)+1), + AEIO_Err_UNIMPLEMENTED, + AEIO_Err_UNSUPPORTED_FILETYPE, + AEIO_Err_INAPPROPRIATE_ACTION, + AEIO_Err_BAD_BMWORLD, + AEIO_Err_INCONSISTENT_PARAMETERS, + AEIO_Err_INVALID_TIME, + AEIO_Err_USE_DFLT_CALLBACK, + AEIO_Err_USER_CANCEL, + AEIO_Err_DISK_FULL, + AEIO_Err_INITIALIZE_FAILED, + AEIO_Err_BAD_FILENAME, + AEIO_Err_PARSING, + AEIO_Err_NOT_SEQUENCE, + AEIO_Err_USE_DFLT_GETSIZES_FREESPACE +}; + +typedef struct _Up_OpaqueMem **AEIO_Handle; + +enum { + AEIO_DFlags_NONE = 0, + AEIO_DFlags_DID_DEINT = (1L<<1), // I already did deinterlacing + AEIO_DFlags_DID_ALPHA_CONV = (1L<<2) // I already did alpha conversion to what you wanted. +}; +typedef A_long AEIO_DrawingFlags; + +/* NOTE: AEIO_DFlags_NO_SCALE and AEIO_DFlags_DID_TIME_FILTER, + previously included in the above, were never honored (so + we removed them). -bbb 8/14/02 +*/ + +enum { + AEIO_Qual_LOW, + AEIO_Qual_HIGH +}; +typedef A_short AEIO_Quality; + +enum { + AEIO_TimeDir_FORWARD = 0x0000, + AEIO_TimeDir_BACKWARD = 0x0001, + AEIO_TimeDir_INCLUDE_BASE_TIME = 0x1000 +}; +typedef A_short AEIO_TimeDir; + +enum { + AEIO_IdleFlag_NONE = 0, + AEIO_IdleFlag_PURGED_MEM = 1L << 0, + AEIO_IdleFlag_ADD_YOUR_OWN = 1L << 1 +}; +typedef A_long AEIO_IdleFlags; + +enum { + AEIO_SndQuality_APPROX = -1, // This quality is used to draw the audio waveform. -jja + AEIO_SndQuality_LO = 0, + AEIO_SndQuality_HI +}; + +typedef A_long AEIO_SndQuality; + +enum { + AEIO_E_UNSIGNED_PCM = 1, + AEIO_E_SIGNED_PCM = 2, + AEIO_E_SIGNED_FLOAT = 3 +}; +typedef A_short AEIO_SndEncoding; + +enum { + AEIO_SS_1 = 1, + AEIO_SS_2 = 2, + AEIO_SS_4 = 4 +}; +typedef A_short AEIO_SndSampleSize; + +enum { + AEIO_SndChannels_MONO = 1, + AEIO_SndChannels_STEREO = 2 +}; +typedef A_short AEIO_SndChannels; + +enum { + AEIO_Marker_URL_FLIP, + AEIO_Marker_CHAPTER, + AEIO_Marker_HOTSPOT, + AEIO_Marker_NONE +}; +typedef A_u_char AEIO_MarkerType; + +enum { + AEIO_Field_FRAME = 0, + AEIO_Field_UPPER, + AEIO_Field_LOWER +}; +typedef A_long AEIO_Field; + + +typedef struct { + const A_char *chapterZ0; + const A_char *commentZ0; + const A_char *urlZ0; + const A_char *url_frame_targetZ0; // optionally used if urlZ0 != NULL +} AEIO_Marker; + + +enum { + AEIO_FrameBlend_NONE = 0, + AEIO_FrameBlend_LOW = 1, + AEIO_FrameBlend_HIGH = 2 +}; +typedef A_char AEIO_FrameBlend; + + +enum { + AEIO_LFlag_ALFA = 0x1, + AEIO_LFlag_FIELDS = 0x2, + AEIO_LFlag_SIGNATURE = 0x4 +}; +typedef A_long AEIO_LabelFlags; + +enum { + AEIO_InputDepth_1 = 1, + AEIO_InputDepth_2 = 2, + AEIO_InputDepth_4 = 4, + AEIO_InputDepth_8 = 8, + AEIO_InputDepth_16 = 16, + AEIO_InputDepth_24 = 24, + AEIO_InputDepth_30 = 30, + AEIO_InputDepth_32 = 32, + AEIO_InputDepth_GRAY_2 = 34, + AEIO_InputDepth_GRAY_4 = 36, + AEIO_InputDepth_GRAY_8 = 40, + AEIO_InputDepth_48 = 48, + AEIO_InputDepth_64 = 64, + AEIO_InputDepth_96 = 96, // RGB float + AEIO_InputDepth_128 = 128, // ARGB float + AEIO_InputDepth_GRAY_16 = -16, + AEIO_InputDepth_GRAY_32 = -32 +}; + +typedef A_long AEIO_InputDepth; + +enum { + AEIO_SupportedDepthFlags_NONE = 0, + AEIO_SupportedDepthFlags_DEPTH_1 = 1L << 1, // Enable 1 bit images. Put an interface on it, if you like + AEIO_SupportedDepthFlags_DEPTH_2 = 1L << 2, // Enable 2 bit images. etc. + AEIO_SupportedDepthFlags_DEPTH_4 = 1L << 3, + AEIO_SupportedDepthFlags_DEPTH_8 = 1L << 4, + AEIO_SupportedDepthFlags_DEPTH_16 = 1L << 5, + AEIO_SupportedDepthFlags_DEPTH_24 = 1L << 6, + AEIO_SupportedDepthFlags_DEPTH_32 = 1L << 7, // Enable 32-bit images (with alpha channels) + AEIO_SupportedDepthFlags_DEPTH_GRAY_2 = 1L << 8, // greyscale + AEIO_SupportedDepthFlags_DEPTH_GRAY_4 = 1L << 9, + AEIO_SupportedDepthFlags_DEPTH_GRAY_8 = 1L << 10, + AEIO_SupportedDepthFlags_DEPTH_48 = 1L << 11, + AEIO_SupportedDepthFlags_DEPTH_64 = 1L << 12, + AEIO_SupportedDepthFlags_DEPTH_GRAY_16 = 1L << 13, + AEIO_SupportedDepthFlags_DEPTH_96 = 1L << 14, + AEIO_SupportedDepthFlags_DEPTH_128 = 1L << 15, + AEIO_SupportedDepthFlags_LAST = 1L << 16 +}; + +typedef A_long AEIO_SupportedDepthFlags; + +enum { + AEIO_Phase_NO_PULLDOWN = 0, + AEIO_Phase_WSSWW = 1, + AEIO_Phase_SSWWW, + AEIO_Phase_SWWWS, + AEIO_Phase_WWWSS, + AEIO_Phase_WWSSW +}; +typedef A_long AEIO_Pulldown; + +typedef A_long AEIO_FileType; +typedef A_long AEIO_Creator; + +typedef struct { + AEIO_FileType type; + AEIO_Creator creator; +} PFILE_FileKind; + + +typedef union { + PFILE_FileKind mac; + AEIO_FileExt ext; + A_long scrap; +} AEIO_FileKind; + + +typedef struct { + A_char name[AEIO_MAX_SEQ_NAME_LEN+1]; // usually the filename + A_char type[AEIO_MAX_SEQ_NAME_LEN+1]; // e.g. "PICT Sequence" "QT Movie" + A_char sub_type[AEIO_MAX_MESSAGE_LEN+1]; +} AEIO_Verbiage; + + +#ifdef __cplusplus + } +#endif + + +///////////////////////////////////////////////////////// +////////////////// redefined in PRIVATE ///////////////// +//////////////////////////////////////////////////////// + +#ifdef A_INTERNAL + #include +#else + #ifdef __cplusplus + extern "C" { + #endif + + typedef struct AEIO_SeqSpec **AEIO_InSpecH; + typedef struct AEIO_OutSpec **AEIO_OutSpecH; + + typedef A_long AEIO_ModuleSignature; // please register your module signature with adobe + // mailto:bbb@adobe.com?subject=AEIO_Signature + + typedef struct { + A_Ratio x; + A_Ratio y; + } AEIO_RationalScale; + + + #define AEIO_AlphaLabel_VERSION 0x0101 + + enum { + AEIO_AlphaPremul = 0x1, // otherwise straight + AEIO_AlphaInverted = 0x2 // 255 = transparent + }; + + typedef A_u_long AEIO_AlphaFlags; + + enum { + AEIO_Alpha_STRAIGHT, + AEIO_Alpha_PREMUL, + AEIO_Alpha_IGNORE, + AEIO_Alpha_NONE + }; + + typedef A_u_char AEIO_AlphaType; + + + #pragma pack( push, CoSAalign, 2 ) + + typedef struct { + A_short version; + AEIO_AlphaFlags flags; + A_u_char red; // color that was matted (if premul) + A_u_char green; + A_u_char blue; + AEIO_AlphaType alpha; + } AEIO_AlphaLabel; +#if defined(A_INTERNAL) && defined(__cplusplus) + AE_STRUCT_SIZE_ASSERT(AEIO_AlphaLabel, 10); +#endif + + #pragma pack( pop, CoSAalign) + + + typedef A_Err (*AEIO_AbortProc)(void *refcon); + typedef A_Err (*AEIO_ProgressProc)(void *refcon, A_long count, A_long total); + + + typedef struct { + void *refcon; + AEIO_AbortProc abort0; + AEIO_ProgressProc progress0; + } AEIO_InterruptFuncs; + + + // All coordinates are in the scaled coordinate system. + typedef struct { + AEIO_Quality qual; + AEIO_AlphaLabel alpha_label; + AEIO_Field field_request; + AEIO_RationalScale rs; + A_Time tr; + A_Time duration; + AEIO_FrameBlend time_filter; + // CW adds 1 pad byte here + A_LRect required_region0; // empty rect means entire + // CW adds 2 pad bytes here + AEIO_InterruptFuncs inter; + } AEIO_DrawFramePB; + + enum { + AEIO_RenderMarkerFlag_NONE = 0x00000000, + AEIO_RenderMarkerFlag_COMP = 0x00000001 // if 1 means comp marker; 0 means Layer marker + }; + typedef A_long AEIO_RenderMarkerFlag; + + #ifdef __cplusplus + } + #endif +#endif // A_INTERNAL + +#ifdef __cplusplus + extern "C" { +#endif + + +#define AEIO_FileType_DIR -2L +#define AEIO_FileType_NONE -1L +#define AEIO_FileType_ANY 0L +#define AEIO_FileType_GENERIC 1L + + +//////////////////////////////////////////////////////////////////// +///////////////////////// PUBLIC /////////////////////////////////// +//////////////////////////////////////////////////////////////////// + + +enum { + AEIO_MFlag_NONE = 0, + AEIO_MFlag_INPUT = (1L<<0), // input module + AEIO_MFlag_OUTPUT = (1L<<1), // output module (can be both) + AEIO_MFlag_FILE = (1L<<2), // direct correspondence to file in file system + AEIO_MFlag_STILL = (1L<<3), // still image support (not VIDEO) + AEIO_MFlag_VIDEO = (1L<<4), // multiple image support (not STILL) + AEIO_MFlag_AUDIO = (1L<<5), // audio support + AEIO_MFlag_NO_TIME = (1L<<6), // time-independent frame-store? always true if STILL; PICS example of non-STILL one + AEIO_MFlag_INTERACTIVE_GET = (1L<<7), // user interaction for new seq, required if !FILE & INPUT + AEIO_MFlag_INTERACTIVE_PUT = (1L<<8), // user interaction for new out, required if !FILE & OUTPUT + AEIO_MFlag_CANT_CLIP = (1L<<9), // DrawFrame can't accept worlds smaller than requested dimensions + AEIO_MFlag_MUST_INTERACT_PUT = (1L<<10), // dialog box can't be avoided, even if optionsH available + AEIO_MFlag_CANT_SOUND_INTERLEAVE = (1L<<11), // all frames must be added, then sound + AEIO_MFlag_CAN_ADD_FRAMES_NON_LINEAR= (1L<<12), // AddFrame can handle non-sequential times + AEIO_MFlag_HOST_DEPTH_DIALOG = (1L<<13), // expects host to bring up a dialog with depth + AEIO_MFlag_HOST_FRAME_START_DIALOG = (1L<<14), // expects host to bring up dialog with starting frame # + AEIO_MFlag_RESERVED1 = (1L<<15), + AEIO_MFlag_NO_OPTIONS = (1L<<16), // set this bit if the module does not accept output options + AEIO_MFlag_RESERVED2 = (1L<<17), + + AEIO_MFlag_RESERVED3 = (1L<<18), + AEIO_MFlag_NO_PIXELS = (1L<<19), // this file format doesn't store real pixels, only geometry (or whatever) + AEIO_MFlag_SEQUENCE_OPTIONS_OK = (1L<<20), // this module should take the options of its parent sequence when a folder is selected + AEIO_MFlag_INPUT_OPTIONS = (1L<<21), // this module has user options associated with an input sequence. NOTE: options must be flat. + AEIO_MFlag_HSF_AWARE = (1L<<22), // this module set the hsf for incoming sequences -> don't guess what it is! + AEIO_MFlag_HAS_LAYERS = (1L<<23), // this module supports multiple layers in a single document + AEIO_MFlag_SCRAP = (1L<<24), // module has a memory parsing (clipboard) component + AEIO_MFlag_NO_UI = (1L<<25), // don't show any UI for this module + AEIO_MFlag_SEQ_OPTIONS_DLG = (1L<<26), // module has sequence options + AEIO_MFlag_HAS_AUX_DATA = (1L<<27), // has depth, or normals, or anything that is on a per pixel basis besides color + AEIO_MFlag_HAS_META_DATA = (1L<<28), // supports user definable metadata + AEIO_MFlag_CAN_DO_MARKERS = (1L<<29), // supports markers (e.g. URL flips, chapters) + AEIO_MFlag_CAN_DRAW_DEEP = (1L<<30), // module can draw into 64 bpp BM_Worlds + AEIO_MFlag_RESERVED4 = (1L<<31) +}; +typedef A_u_long AEIO_ModuleFlags; + +enum { + AEIO_MFlag2_NONE = 0, + AEIO_MFlag2_AUDIO_OPTIONS = (1L<<0), // has audio options + AEIO_MFlag2_RESERVED1 = (1L<<1), + AEIO_MFlag2_SEND_ADDMARKER_BEFORE_ADDFRAME = (1L<<2), // otherwise it is sent just after; use with AEIO_MFlag_CAN_DO_MARKERS + AEIO_MFlag2_CAN_DO_MARKERS_2 = (1L<<3), // supports combined markers (e.g. URL flips, chapters, comments) + AEIO_MFlag2_CAN_DRAW_FLOAT = (1L<<4), + AEIO_MFlag2_RESERVED2 = (1L<<5), + AEIO_MFlag2_CAN_DO_AUDIO_32 = (1L<<6), // supports 32 bit audio output. + AEIO_MFlag2_RESERVED3 = (1L<<7), + AEIO_MFlag2_SUPPORTS_ICC_PROFILES = (1L<<8), + AEIO_MFlag2_CAN_DO_MARKERS_3 = (1L<<9), // supports cue points + AEIO_MFlag2_SEND_ADDMARKER_BEFORE_STARTADDING = (1L<<10), + AEIO_MFlag2_RESERVED4 = (1L<<11), + AEIO_MFlag2_USES_QUICKTIME = (1L<<12), // Module uses quicktime for decompression or compression + AEIO_MFlag2_RESERVED5 = (1L<<13), + AEIO_MFlag2_RESERVED6 = (1L<<14), + AEIO_MFlag2_RESERVED7 = (1L<<15), + AEIO_MFlag2_RESERVED8 = (1L<<16), + AEIO_MFlag2_RESERVED9 = (1L<<17), + AEIO_MFlag2_RESERVED10 = (1L<<18) +}; +typedef A_u_long AEIO_ModuleFlags2; + +typedef struct { + A_char extension[4]; // includes '.' + A_long type; // mac type + A_long creator; // mac creator +} AEIO_AuxExt; + +typedef struct { + AEIO_ModuleSignature sig; // please register number this with adobe + A_char name[AEIO_MAX_MODULE_NAME_LEN+1]; + AEIO_ModuleFlags flags; + AEIO_ModuleFlags2 flags2; + A_long max_width; + A_long max_height; + A_short num_filetypes; // # of filetype/creator pairs supported + A_short num_extensions; // # of .XXX extensions supported + A_short num_clips; // # of clipboard types supported + A_short pad; + PFILE_FileKind create_kind; // type/creator for newly created files + AEIO_FileExt create_ext; // extension for new created DOS files + AEIO_FileKind read_kinds[AEIO_MAX_TYPES]; // mac types first, then DOS, then clipboard + A_short num_aux_extensionsS; + // CW adds 2 pad bytes here + AEIO_AuxExt aux_ext[AEIO_MAX_AUX_EXT]; +} AEIO_ModuleInfo; + +typedef struct AEIO_OptionsCBInfo { + AEIO_SupportedDepthFlags o_flags; + AEIO_OutSpecH out_specH; +} AEIO_OptionsCBInfo; + +typedef struct { + AEIO_Quality qual; + // CW adds 2 pad bytes here + AEIO_RationalScale rs; + A_Time tr; + A_Time duration; + A_LRect required_region; // empty rect means entire + AEIO_InterruptFuncs inter; +} AEIO_DrawSparseFramePB; + + +/*********************** plugin entry points ***************************** + ** the main routine of each plugin fills in these function pointers + ** AE will call them as appropriate + ****************************************************************************/ + +typedef struct _AEIO_FunctionBlock4 { // revved to 4 in AE 10. Frozen in AE10. + + A_Err (*AEIO_InitInSpecFromFile)( + AEIO_BasicData *basic_dataP, + const A_UTF16Char *file_pathZ, // Null terminated UTF16 string with platform separators + AEIO_InSpecH inH); + + A_Err (*AEIO_InitInSpecInteractive)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH); + + A_Err (*AEIO_DisposeInSpec)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH); + + A_Err (*AEIO_FlattenOptions)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + AEIO_Handle *flat_optionsPH); + + A_Err (*AEIO_InflateOptions)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + AEIO_Handle flat_optionsH); + + A_Err (*AEIO_SynchInSpec)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_Boolean *changed0); + + A_Err (*AEIO_GetActiveExtent)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, /* >> */ + const A_Time *tr, /* >> */ + A_LRect *extent); /* << */ + + A_Err (*AEIO_GetInSpecInfo)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + AEIO_Verbiage *verbiageP); + + // All coordinates are in the scaled coordinate system. + A_Err (*AEIO_DrawSparseFrame)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + const AEIO_DrawSparseFramePB *sparse_framePPB, + PF_EffectWorld *worldP, + AEIO_DrawingFlags *draw_flagsP); + + A_Err (*AEIO_GetDimensions)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + const AEIO_RationalScale *rs0, + A_long *width0, + A_long *height0); + + A_Err (*AEIO_GetDuration)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_Time *tr); + + A_Err (*AEIO_GetTime)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_Time *tr); + + A_Err (*AEIO_GetSound)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + AEIO_SndQuality quality, + const AEIO_InterruptFuncs *interrupt_funcsP0, + const A_Time *startPT, + const A_Time *durPT, + A_u_long start_sampLu, + A_u_long num_samplesLu, + void *dataPV); + + A_Err (*AEIO_InqNextFrameTime)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + const A_Time *base_time_tr, + AEIO_TimeDir time_dir, + A_Boolean *found0, + A_Time *key_time_tr0); + + A_Err (*AEIO_InitOutputSpec)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_Boolean *user_interacted); + + A_Err (*AEIO_GetFlatOutputOptions)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + AEIO_Handle *optionsH); + + A_Err (*AEIO_DisposeOutputOptions)( + AEIO_BasicData *basic_dataP, + void *optionsPV); + + A_Err (*AEIO_UserOptionsDialog)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + const PF_EffectWorld *sample0, + A_Boolean *user_interacted0); + + A_Err (*AEIO_GetOutputInfo)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + AEIO_Verbiage *verbiage); + + A_Err (*AEIO_OutputInfoChanged)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH); + + A_Err (*AEIO_SetOutputFile)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + const A_UTF16Char *file_pathZ); // Null terminated UTF16 string with platform separators + + A_Err (*AEIO_StartAdding)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long flags); + + A_Err (*AEIO_AddFrame)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long frame_index, + A_long frames, + const PF_EffectWorld *wP, + const A_LPoint *origin0, + A_Boolean was_compressedB, + AEIO_InterruptFuncs *inter0); + + A_Err (*AEIO_EndAdding)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long flags); + + A_Err (*AEIO_OutputFrame)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + const PF_EffectWorld *wP); + + A_Err (*AEIO_WriteLabels)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + AEIO_LabelFlags *written); + + A_Err (*AEIO_GetSizes)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_u_longlong *free_space, + A_u_longlong *file_size); + + A_Err (*AEIO_Flush)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH); + + A_Err (*AEIO_AddSoundChunk)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + const A_Time *start, + A_u_long num_samplesLu, + const void *dataPV); + + A_Err (*AEIO_Idle)( + AEIO_BasicData *basic_dataP, + AEIO_ModuleSignature sig, + AEIO_IdleFlags *idle_flags0); /* >> */ + + A_Err (*AEIO_GetDepths)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + AEIO_SupportedDepthFlags *which); + + A_Err (*AEIO_GetOutputSuffix)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_char *suffix); + + A_Err (*AEIO_SeqOptionsDlg)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_Boolean *user_interactedPB0); + + A_Err (*AEIO_GetNumAuxChannels)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_long *num_channelsPL); + + A_Err (*AEIO_GetAuxChannelDesc)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_long chan_indexL, + PF_ChannelDesc *descP); + + A_Err (*AEIO_DrawAuxChannel)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_long chan_indexL, + const AEIO_DrawFramePB *pbP, + PF_ChannelChunk *chunkP); + + A_Err (*AEIO_FreeAuxChannel)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + PF_ChannelChunk *chunkP); + + A_Err (*AEIO_NumAuxFiles)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH seqH, + A_long *files_per_framePL0); + + A_Err (*AEIO_GetNthAuxFileSpec)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH seqH, + A_long frame_numL, + A_long n, + AEGP_MemHandle *pathPH); // << handle of A_UTF16Char (contains null terminated UTF16 string); must be disposed with AEGP_FreeMemHandle + + A_Err (*AEIO_CloseSourceFiles)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH seqH); + + A_Err (*AEIO_CountUserData)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_u_long typeLu, + A_u_long max_sizeLu, + A_u_long *num_of_typePLu); + + A_Err (*AEIO_SetUserData)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_u_long typeLu, + A_u_long indexLu, + const AEIO_Handle dataH); + + A_Err (*AEIO_GetUserData)( + AEIO_BasicData *basic_dataP, + AEIO_InSpecH inH, + A_u_long typeLu, + A_u_long indexLu, + A_u_long max_sizeLu, + AEIO_Handle *dataPH); + + A_Err (*AEIO_AddMarker)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long frame_index, + AEIO_MarkerType marker_type, + void *marker_dataPV, + AEIO_InterruptFuncs *inter0); + + A_Err (*AEIO_VerifyFileImportable)( + AEIO_BasicData *basic_dataP, + AEIO_ModuleSignature sig, + const A_UTF16Char * file_pathZ, // Null terminated UTF16 string with platform separators + A_Boolean *importablePB); + + A_Err (*AEIO_UserAudioOptionsDialog)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_Boolean *user_interacted0); + + A_Err (*AEIO_AddMarker2)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long frame_index, + const AEIO_Marker *markerP, + AEIO_InterruptFuncs *inter0); + + A_Err (*AEIO_AddMarker3)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long frame_index, + AEGP_ConstMarkerValP marker_valP, + AEIO_RenderMarkerFlag marker_flag, + AEIO_InterruptFuncs *inter0); + + A_Err (*AEIO_GetMimeType)( + AEIO_BasicData *basic_dataP, + AEIO_OutSpecH outH, + A_long mime_type_sizeL, + char *mime_typeZ); + +} AEIO_FunctionBlock4; + +#ifdef __cplusplus + } +#endif + +#include + +#endif diff --git a/External/AE SDK/Headers/AE_IO_FileExt.h b/External/AE SDK/Headers/AE_IO_FileExt.h new file mode 100644 index 00000000..27625bda --- /dev/null +++ b/External/AE SDK/Headers/AE_IO_FileExt.h @@ -0,0 +1,32 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _AEIO_FileExt_Public_H +#define _AEIO_FileExt_Public_H + +#include + +typedef struct { + A_char pad; // constant: always '.' + A_char extension[3]; +} AEIO_FileExt; + +#endif // _AEIO_FileExt_Public_H diff --git a/External/AE SDK/Headers/AE_Macros.h b/External/AE SDK/Headers/AE_Macros.h new file mode 100644 index 00000000..3f245cc7 --- /dev/null +++ b/External/AE SDK/Headers/AE_Macros.h @@ -0,0 +1,102 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 1999 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ +/** AE_Macros.h + + Part of the Adobe After Effects 4.0 SDK. + Copyright 1998 Adobe Systems Incorporated. + All Rights Reserved. + + REVISION HISTORY + 06/12/96 bsa Updated for After Effects 3.1 + 04/06/97 bsa Updated for After Effects 3.1 Windows version + 03/01/99 bbb Added DH. + +**/ + +#ifndef _H_AE_MACROS +#define _H_AE_MACROS + +#include "A.h" + +#ifndef ERR + #define ERR(FUNC) do { if (!err) { err = (FUNC); } } while (0) +#endif + +#ifndef ERR2 + #define ERR2(FUNC) do { if (((err2 = (FUNC)) != A_Err_NONE) && !err) err = err2; } while (0) +#endif + +#ifndef AEFX_CLR_STRUCT +#define AEFX_CLR_STRUCT(STRUCT) \ + do { \ + A_long _t = sizeof(STRUCT); \ + A_char *_p = (A_char*)&(STRUCT); \ + while (_t--) { \ + *_p++ = 0; \ + } \ + } while (0); +#endif + +#ifndef DH +#define DH(h) (*(h)) +#endif + +#define FIX2INT(X) ((A_long)(X) >> 16) +#define INT2FIX(X) ((A_long)(X) << 16) +#define FIX2INT_ROUND(X) (FIX2INT((X) + 32768)) +#define FIX_2_FLOAT(X) ((A_FpLong)(X) / 65536.0) +#define FLOAT2FIX(F) ((PF_Fixed)((F) * 65536 + (((F) < 0) ? -0.5 : 0.5))) + +// These are already defined if using Objective-C +#ifndef ABS + #define ABS(N) ((N) < 0 ? -(N) : (N)) +#endif + +#ifndef MIN + #define MIN(A,B) ((A) < (B) ? (A) : (B)) +#endif + +#ifndef MAX + #define MAX(A, B) ((A) > (B) ? (A) : (B)) +#endif + +#define A_Fixed_ONE ((A_Fixed)0x00010000L) +#define A_Fixed_HALF ((A_Fixed)0x00008000L) + +#define PF_RECT_2_FIXEDRECT(R,FR) do { \ + (FR).left = INT2FIX((R).left); \ + (FR).top = INT2FIX((R).top); \ + (FR).right = INT2FIX((R).right); \ + (FR).bottom = INT2FIX((R).bottom); \ + } while (0) + +#define PF_FIXEDRECT_2_RECT(FR,R) do { \ + (R).left = (A_short)FIX2INT_ROUND((FR).left); \ + (R).top = (A_short)FIX2INT_ROUND((FR).top); \ + (R).right = (A_short)FIX2INT_ROUND((FR).right); \ + (R).bottom = (A_short)FIX2INT_ROUND((FR).bottom); \ + } while (0) + +#define CONVERT8TO16(A) ( (((long)(A) * PF_MAX_CHAN16) + PF_HALF_CHAN8) / PF_MAX_CHAN8 ) + +#define RATIO2FLOAT(R) (A_FpLong)((A_FpLong)(R).num / ((A_FpLong)(R).den)) + +#endif // _H_AX_MACROS diff --git a/External/AE SDK/Headers/AE_PluginData.h b/External/AE SDK/Headers/AE_PluginData.h new file mode 100644 index 00000000..790843f4 --- /dev/null +++ b/External/AE SDK/Headers/AE_PluginData.h @@ -0,0 +1,84 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2017 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + +#ifndef _H_AE_PLUGIN_DATA +#define _H_AE_PLUGIN_DATA + +#ifdef A_INTERNAL + #include "PF_Private.h" +#endif + +#include "A.h" + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +typedef struct PF_PluginData * PF_PluginDataPtr; + +typedef A_Err (*PF_PluginDataCB)( + // The same plugin data pointer that was sent in the entry point + PF_PluginDataPtr inPtr, + const A_u_char* inNamePtr, + const A_u_char* inMatchNamePtr, + const A_u_char* inCategoryPtr, + const A_u_char* inEntryPointNamePtr, + // Type of plugin ( VFlt,eFKT ,8BFM) + A_long inkind, + // If the kind is eFKT, this argument must be PF_AE_PLUG_IN_VERSION + A_long inApiVersionMajor, + // If the kind is eFKT, this argument must be PF_AE_PLUG_IN_SUBVERS + A_long inApiVersionMinor, + A_long inReservedInfo + ) ; + +/* + * This is the Entry point function signature that must be implemented by the plugin + * Name of the function must be PluginDataEntryFunction +*/ +typedef A_Err (*PluginDataEntryFunctionPtr)( + // An opaque pointer, which must be sent as an argument in the callback + PF_PluginDataPtr inPtr, + // Callback function pointer + PF_PluginDataCB inPluginDataCallBackPtr, + // SPBasicSuite function pointer + struct SPBasicSuite* inSPBasicSuitePtr, + // Name of the host application which is invoking the plugin + const char* inHostName, + // Exact version of the host application e.x. 10.1.3 + const char* inHostVersion + ); + + + +#ifdef __cplusplus +} // end extern "C" +#endif + + + +#include + + +#endif /* _H_AE_PLUGIN_DATA */ diff --git a/External/AE SDK/Headers/DuckSuite.h b/External/AE SDK/Headers/DuckSuite.h new file mode 100644 index 00000000..59f9953c --- /dev/null +++ b/External/AE SDK/Headers/DuckSuite.h @@ -0,0 +1,13 @@ +#include "A.h" +#include + +#ifdef AE_OS_WIN + #include +#endif + +#define kDuckSuite1 "AEGP Duck Suite" +#define kDuckSuiteVersion1 1 + +typedef struct DuckSuite1 { + SPAPI A_Err (*Quack)(A_u_short timesSu); +} DuckSuite1; \ No newline at end of file diff --git a/External/AE SDK/Headers/FIEL_Public.h b/External/AE SDK/Headers/FIEL_Public.h new file mode 100644 index 00000000..8306b15b --- /dev/null +++ b/External/AE SDK/Headers/FIEL_Public.h @@ -0,0 +1,81 @@ +#ifndef _H_FIEL_PUBLIC +#define _H_FIEL_PUBLIC + +/* FIEL_Public.h + + (c) 1993 CoSA + + The purpose of this header is to define a standard way to communicate interlace information + within common image file formats. The FIEL_Label structure should be included as a + user data of type 'FIEL' of a QuickTime movie, and as 'FIEL' resouce 128 in an + image or animation file. + + The FIEL_Label structure may also be appended to the end of an ImageDescription if the creator + is unable to add the resource or user data. Only the first FIEL_Label in the movie may be + honored, however. If a sequence of frames is composed of multiple files, the FIEL_Label from only + the first frame may be honored. In a QuickTime movie, the first user data item (index 1) will be honored. + + If the version is increased, to preserve backward compatibility we will only add types + to the existing fields or add to the end of the FIEL_Label structure. + + *** Please note that most applications will only support interlaced full-height frames. The other + *** formats are included so the spec is as general as possible. If you choose to store field-rendered + *** video in one of the other formats it may not be de-interlaced properly by most applications. + + CoSA After Effects 1.0/1.1 outputs FIEL_Label version 0, with the obsolete tag 'Fiel' (not 'FIEL'). + The struct has a short version (set to 0) followed by a std::int32_t type that is 0 if field rendered, 1 + if upper field is first, and 2 if lower field is first. All field rendered frames output from + AE 1.0/1.1 are interlaced. + + Future versions of CoSA After Effects will label all output with a version 1 or higher FIEL_Label. + +*/ + +#include + +#define FIEL_Label_VERSION 1 + +#define FIEL_Tag 'FIEL' // use as udata and resource type +#define FIEL_ResID 128 + + +enum { + FIEL_Type_FRAME_RENDERED = 0, // FIEL_Order is irrelevant + FIEL_Type_INTERLACED = 1, + FIEL_Type_HALF_HEIGHT = 2, + FIEL_Type_FIELD_DOUBLED = 3, // 60 full size field-doubled frames/sec + FIEL_Type_UNSPECIFIED = 4 // do not use! +}; +typedef uint32_t FIEL_Type; + + +/* + If the frames are interlaced, the following structure tells which of the interlaced fields is + temporally first. If the frames are not interlaced but the animation was field rendered + (i.e. half height or field doubled), the structure tells which field the first sample (if the + label is attached to a multi-sample file like a QT movie) or the current sample (if the label is + attached to a single sample like a PICT file) contains. +*/ + +enum { + FIEL_Order_UPPER_FIRST = 0, + FIEL_Order_LOWER_FIRST = 1 +}; +typedef uint32_t FIEL_Order; + +#pragma pack(push, CoSAalign, 2) + typedef struct { + uint32_t signature; // always FIEL_Tag + int16_t version; + FIEL_Type type; + FIEL_Order order; + uint32_t reserved; + } FIEL_Label; + #if defined(A_INTERNAL) && defined(__cplusplus) + #include "AE_StructSizeAssert.h" + AE_STRUCT_SIZE_ASSERT(FIEL_Label, 18); + #endif + +#pragma pack(pop, CoSAalign) + +#endif diff --git a/External/AE SDK/Headers/Mach-O_prefix.h b/External/AE SDK/Headers/Mach-O_prefix.h new file mode 100644 index 00000000..e5da3715 --- /dev/null +++ b/External/AE SDK/Headers/Mach-O_prefix.h @@ -0,0 +1 @@ +#define __MACH__ 1 \ No newline at end of file diff --git a/External/AE SDK/Headers/MissingSuiteError.cpp b/External/AE SDK/Headers/MissingSuiteError.cpp new file mode 100644 index 00000000..5be71f4f --- /dev/null +++ b/External/AE SDK/Headers/MissingSuiteError.cpp @@ -0,0 +1,43 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "AEGP_SuiteHandler.h" + +void AEGP_SuiteHandler::MissingSuiteError() const +{ + // Yes, we've read Scott Meyers, and know throwing + // a stack-based object can cause problems. Since + // the err is just a long, and since we aren't de- + // referencing it in any way, risk is mimimal. + + // As always, we expect those of you who use + // exception-based code to do a little less rudi- + // mentary job of it than we are here. + + // Also, excuse the Madagascar-inspired monkey + // joke; couldn't resist. + // -bbb 10/10/05 + + PF_Err poop = PF_Err_BAD_CALLBACK_PARAM; + + throw poop; +} + diff --git a/External/AE SDK/Headers/PF_Masks.h b/External/AE SDK/Headers/PF_Masks.h new file mode 100644 index 00000000..88870b82 --- /dev/null +++ b/External/AE SDK/Headers/PF_Masks.h @@ -0,0 +1,49 @@ +/* PF_Masks.h */ + + +#ifndef H_PF_MASKS +#define H_PF_MASKS + +#include +#include +#include +#include + + +#pragma pack( push, 2 ) + +#define PF_MASKS_MAJOR_VERSION 1 +#define PF_MASKS_MINOR_VERSION 0 + +#ifdef __cplusplus + extern "C" { +#endif + + +#define kPF_MaskSuite "AEGP Mask Suite" +#define kPF_MaskSuiteVersion1 1 + +typedef struct PF_MaskSuite1 { + + SPAPI A_Err (*PF_MaskWorldWithPath)( + PF_ProgPtr effect_ref, + PF_PathOutlinePtr *mask, /* >> */ + PF_FpLong feather_x, /* >> */ + PF_FpLong feather_y, /* >> */ + PF_Boolean invert, /* >> */ + PF_FpLong opacity, /* >> 0...1 */ + PF_Quality quality, /* >> */ + PF_EffectWorld *worldP, /* <> */ + PF_Rect *bboxPR0); /* >> */ + +} PF_MaskSuite1; + +#ifdef __cplusplus +} // end extern "C" +#endif + + +#pragma pack( pop ) + + +#endif /* H_PH_MASKS */ \ No newline at end of file diff --git a/External/AE SDK/Headers/PR_Public.h b/External/AE SDK/Headers/PR_Public.h new file mode 100644 index 00000000..b851a530 --- /dev/null +++ b/External/AE SDK/Headers/PR_Public.h @@ -0,0 +1,424 @@ +#ifndef _PR_Public_H +#define _PR_Public_H + +/** PR_Public.h + ** (C)2005 by Adobe Systems Inc. + ** Public header that defines the API for plug-in renderers + ** + ** Plugin renderers are known as artisans. They are AEGP modules which register + ** themselves with the plug-in render manager when they are loaded at + ** program startup. + ** Very little is passed to these functions, just an opaque context + ** and a handle to previously allocated data. The artisan must query + ** for other rendering parameters via AEGP suites. The appropriate + ** suites will take one of the opaque rendering contexts as one of their + ** parameters. + ** + ** The entry points are : + ** PR_GlobalSetupFunc + ** Called at artisan load. If necessary allocate global data that will be shared + ** among all instances of this type of artisan. + ** + ** PR_GlobalSetdownFunc + ** Called at program termination. Delete the global data if any allocated. + ** + ** PR_GlobalDoAboutFunc + ** Display an about box with revelant information about the artisan + ** + ** + ** PR_InstanceSetupFunc + ** An instance of the artisan is associated with each comp. Each instance has its + ** own data. It should be allocated within this function. + ** + ** PR_InstanceSetdownFunc + ** Delete allocated data if needed. + ** + ** PR_FlattenInstanceFunc + ** Return a flattened platform independent version of the instance data. + ** This is called when the artisan is being written to disk or a copy of the + ** artisan is being made. Do not disturb the src instance handle. + ** + ** PR_DoInstanceDialogFunc + ** Some artisans may have parameters. They may be set here. + ** + ** PR_FrameSetupFunc + ** Called just berfore render. Allocate the render handle, if needed. + ** + ** PR_RenderFunc + ** This is the main rendering function. + ** + ** PR_FrameSetdownFunc + ** Called just after render. Deallocate the render handle if needed. + ** + ** PR_Query + ** This can be called at any time after Instance Setup. It is used by AE + ** to inquire about geomertic transforms used by the artisan. AE uses this information + ** to draw layer handles, and manipulate the layers with a mouse better. + ** + **/ + + +#include +#include +#include + +#pragma pack( push, 4 ) + + + + +#ifdef __cplusplus + extern "C" { +#endif + + + + +#define PR_FileType_ARTISAN 'ARt' +#define PR_ARTISAN_EXTENSION ".aex" + +#define PR_ARTISAN_API_VERSION_MAJOR 1 +#define PR_ARTISAN_API_VERSION_MINOR 0 + + +#define PR_PUBLIC_MATCH_NAME_LEN 31 +#define PR_PUBLIC_ARTISAN_NAME_LEN 31 + + +/** $$$ move to aegp.h ***/ +typedef struct _Up_OpaqueMem **PR_Handle; +typedef PR_Handle PR_FlatHandle; + +typedef PR_Handle PR_GlobalDataH; // holds data private to the plug-in +typedef PR_Handle PR_InstanceDataH; +typedef PR_Handle PR_RenderDataH; + +typedef struct PR_GlobalContext **PR_GlobalContextH; // opaque until PR.h +typedef struct PR_InstanceContext **PR_InstanceContextH; // opaque until PR.h +typedef struct PR_RenderContext **PR_RenderContextH; // opaque until PR.h +typedef struct PR_QueryContext **PR_QueryContextH; // opaque until PR.h + +typedef struct PF_LayerDef *PF_EffectWorldPtr; +/** + ** in data is passed to every pr entry function + **/ +typedef void (*PR_MessageFunc) (A_Err err_number, const A_char *msgA); + + +typedef struct PR_InData { + PR_MessageFunc msg_func; + const struct SPBasicSuite *pica_basicP; + A_long aegp_plug_id; + void *aegp_refconPV; +} PR_InData; + + + + + +/** + ** response from dialog box function + **/ +enum { + PR_DialogResult_NO_CHANGE, + PR_DialogResult_CHANGE_MADE +}; +typedef A_long PR_DialogResult; + + + +/** + ** The types of queries that will be made. + ** + **/ +enum { + PR_QueryType_NONE = 0, + PR_QueryType_TRANSFORM, + PR_QueryType_INTERACTIVE_WINDOW_DISPOSE, + PR_QueryType_INTERACTIVE_WINDOW_CLEAR, + PR_QueryType_INTERACTIVE_WINDOW_FROZEN_PROXY, + PR_QueryType_INTERACTIVE_SWAP_BUFFER, + PR_QueryType_INTERACTIVE_DRAW_PROCS, + PR_QueryType_PREPARE_FOR_LINE_DRAWING, + PR_QueryType_UNPREPARE_FOR_LINE_DRAWING, + PR_QueryType_GET_CURRENT_CONTEXT_SAFE_FOR_LINE_DRAWING, + PR_QueryType_GET_ARTISAN_QUALITY, +}; + +typedef A_u_long PR_QueryType; + + +// If this sounds interesting, talk to us +enum { + PR_ArtisanFeature_NONE = 0 +}; +typedef A_long PR_ArtisanFeature_Flags; + + +/** + ** PR_InstanceSetupFunc flags + **/ +enum { + PR_InstanceFlags_NONE = 0x0, + PR_InstanceFlags_DUPLICATE +}; + +typedef A_u_long PR_InstanceFlags; + + +/*********************** plugin entry points ***************************** + ** the main routine of each plugin fills in these function pointers + ** AE will call them as appropriate + ****************************************************************************/ + + + +/** + ** called after main. This happens just once, after the plugin is loaded. + ** The global data is common across all instances of the plugin + **/ +typedef A_Err (*PR_GlobalSetupFunc)( const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_GlobalDataH *global_dataPH); /* << */ + +/** + ** dispose of the global data + **/ +typedef A_Err (*PR_GlobalSetdownFunc)( const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_GlobalDataH global_dataH); /* <> */ // must be disposed by plugin + + +/** + ** display an about box + **/ +typedef A_Err (*PR_GlobalDoAboutFunc)( const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_GlobalDataH global_dataH); /* <> */ + + + +/** + ** Analogous to an Effect's Sequence setup call. This sets up the renderer's + ** instance data. + **/ +typedef A_Err (*PR_InstanceSetupFunc)( + const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* >> */ + PR_InstanceFlags flags, + PR_FlatHandle flat_dataH0, /* >> */ + PR_InstanceDataH *instance_dataPH); /* << */ + + +/** + ** dispose of the instance data + **/ +typedef A_Err (*PR_InstanceSetdownFunc)( + const PR_InData *in_dataP, /* >> */ + const PR_GlobalContextH global_contextH, /* >> */ + const PR_InstanceContextH instance_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* >> */ + PR_InstanceDataH instance_dataH); /* >> */ // must be disposed by plugin + + + +/** + ** flatten your data in preparation to being written to disk. + ** Make sure its OS independent + **/ +typedef A_Err (*PR_FlattenInstanceFunc)( + const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* <> */ + PR_InstanceDataH instance_dataH, /* <> */ + PR_FlatHandle *flatH); /* << */ + + + + + +/** + ** if the renderer has parameters, this is where they get set or changed. + **/ + + +typedef A_Err (*PR_DoInstanceDialogFunc)( const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* <> */ + PR_InstanceDataH instance_dataH, /* <> */ + PR_DialogResult *resultP); /* << */ + + + +/** + ** allocate render data if needed + **/ +typedef A_Err (*PR_FrameSetupFunc)( + const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_RenderContextH render_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* <> */ + PR_InstanceDataH instance_dataH, /* <> */ + PR_RenderDataH *render_dataPH); /* << */ + + +/** + ** deallocate render data + **/ +typedef A_Err (*PR_FrameSetdownFunc)( + const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_RenderContextH render_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* <> */ + PR_InstanceDataH instance_dataH, /* <> */ + PR_RenderDataH render_dataH); + + +/** + ** the main drawing routine + **/ +typedef A_Err (*PR_RenderFunc)( + const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_RenderContextH render_contextH, /* >> */ + PR_GlobalDataH global_dataH, /* <> */ + PR_InstanceDataH instance_dataH, /* <> */ + PR_RenderDataH render_dataH); + + + + +/** + ** AE will need to have the artisan process data on its behalf such as + ** projecting points to the screen, transforming axis, etc. This routine will handle + ** it all + **/ +typedef A_Err (*PR_QueryFunc)( const PR_InData *in_dataP, /* >> */ + PR_GlobalContextH global_contextH, /* >> */ + PR_InstanceContextH instance_contextH, /* >> */ + PR_QueryContextH query_contextH, /* <> */ + PR_QueryType query_type, /* >> */ + PR_GlobalDataH global_data, /* >> */ + PR_InstanceDataH instance_dataH); /* >> */ + + + + +/** + ** main fills this in, just once at plugin load time + ** These are the entry points that AE calls to use an artisan. + **/ + +typedef struct { + + PR_GlobalSetupFunc global_setup_func0; + PR_GlobalSetdownFunc global_setdown_func0; + PR_GlobalDoAboutFunc global_do_about_func0; + + PR_InstanceSetupFunc setup_instance_func0; + PR_InstanceSetdownFunc setdown_instance_func0; + PR_FlattenInstanceFunc flatten_instance_func0; + PR_DoInstanceDialogFunc do_instance_dialog_func0; + + PR_FrameSetupFunc frame_setup_func0; + PR_RenderFunc render_func; // must have at least this one function + PR_FrameSetdownFunc frame_setdown_func0; + + PR_QueryFunc query_func0; + +} PR_ArtisanEntryPoints; + + + + +/** + ** line drawing routines for interactive artisans + **/ +typedef void (*PR_Draw_MoveToFunc)(A_FpLong x, A_FpLong y); + +typedef void (*PR_Draw_LineToFunc)(A_FpLong x, A_FpLong y); + +typedef void (*PR_Draw_LineRelFunc)(A_FpLong dx, A_FpLong dy); + +typedef void (*PR_Draw_ForeColorFunc)(const A_Color *fore_color); + +typedef void (*PR_Draw_BackColorFunc)(const A_Color *fore_color); + +typedef void (*PR_Draw_FrameRectFunc)(const A_FloatRect *rectPR ); + +typedef void (*PR_Draw_PaintRectFunc)(const A_FloatRect *rectPR ); + +typedef void (*PR_Draw_FrameOvalFunc)(const A_FloatRect *rectPR ); + +typedef void (*PR_Draw_PaintOvalFunc)(const A_FloatRect *rectPR ); + +typedef void (*PR_Draw_InvertRectFunc)(const A_FloatRect *rectPR ); + +typedef void (*PR_Draw_SetClipFunc)(const A_FloatRect *rectPR, A_Boolean invertB ); + +typedef void (*PR_Draw_PenNormal)(void); + +typedef void (*PR_Draw_PenSize)(A_FpLong widthS, A_FpLong heightS); + +typedef void (*PR_Draw_PenPat)(A_u_char pattern); + +typedef void (*PR_Draw_Invert)(A_Boolean); + +typedef void (*PR_CacheIconFunc)(PF_EffectWorldPtr iconP); + +typedef void (*PR_DrawCachedIconFunc)(A_long x, A_long y); + +typedef void (*PR_DrawStringFunc)(const A_UTF16Char *nameZ, PF_FontStyleSheet style, const A_Color *fore_colorP, const A_Color *shadow_colorP, const A_FloatPoint *originP, const A_FloatPoint *shadow_offsetP); + +typedef void (*PR_StrokePolyFunc) (A_long nptsL, A_FloatPoint *ptsA); + +typedef void (*PR_PaintPolyFunc) (A_long nptsL, A_FloatPoint *ptsA); + + + +typedef struct { + + PR_Draw_MoveToFunc move_to_func; + PR_Draw_LineToFunc line_to_func; + PR_Draw_LineRelFunc line_rel_func; + PR_Draw_ForeColorFunc fore_color_func; + PR_Draw_BackColorFunc back_color_func; + PR_Draw_FrameRectFunc frame_rect_func; + PR_Draw_PaintRectFunc paint_rect_func; + PR_Draw_FrameOvalFunc frame_oval_func; + PR_Draw_PaintOvalFunc paint_oval_func; + PR_Draw_InvertRectFunc invert_rect_func; + PR_Draw_SetClipFunc set_clip_func; + PR_Draw_PenNormal pen_normal_func; + PR_Draw_PenSize pen_size_func; + PR_Draw_PenPat pen_pat_func; + PR_Draw_Invert invert_func; + PR_CacheIconFunc cache_icon_func; + PR_DrawCachedIconFunc draw_cached_icon_func; + PR_DrawStringFunc draw_string_func; + PR_StrokePolyFunc stroke_poly_func; + PR_PaintPolyFunc paint_poly_func; + +} PR_InteractiveDrawProcs; + + + + + +#pragma pack( pop ) + + + +#ifdef __cplusplus + } +#endif + + +#endif diff --git a/External/AE SDK/Headers/PT_Public.h b/External/AE SDK/Headers/PT_Public.h new file mode 100644 index 00000000..7065b1a9 --- /dev/null +++ b/External/AE SDK/Headers/PT_Public.h @@ -0,0 +1,120 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef _H_PT_Public +#define _H_PT_Public + +/*** + + This header file defines public interface for tracker or pixel- + matching plug-ins. + + Their function is to implement a pixel matching algorithm that a + tracker in After Effects could use to track user specified features. + + Tracker in the application provides UI and sets the main parameters. + Tracker plug-ins, however, can provide a simple dialog-based UI for + parameters specific to the implemented algorithm(s). + + +***/ + +#include + +#pragma pack( push, 4 ) + +#ifdef __cplusplus + extern "C" { +#endif + +#define PT_TRACKER_API_VERSION_MAJOR 1 +#define PT_TRACKER_API_VERSION_MINOR 0 + +#define PT_TRACKER_MATCH_NAME_LEN 31 +#define PT_TRACKER_NAME_LEN 31 + +typedef A_long PT_Index; + + +typedef struct PT_Tracker *PT_TrackerPtr; +typedef struct PT_TrackerInstance *PT_TrackerInstancePtr; +typedef struct PT_TrackingContext *PT_TrackingContextPtr; + +// plug-in entry points +typedef A_Err (*PT_GlobalSetupFunc)( + const PT_TrackerPtr trackerP, + AEGP_MemHandle *global_dataPH); // << + +typedef A_Err (*PT_GlobalSetdownFunc)( + const PT_TrackerPtr trackerP); + +typedef A_Err (*PT_GlobalDoAboutFunc)( + const PT_TrackerPtr trackerP); + +typedef A_Err (*PT_InstanceSetupFunc)( + const PT_TrackerInstancePtr tracker_instanceP, + AEGP_MemHandle flat_instance_dataH0, + AEGP_MemHandle *instance_dataPH); // currently has to be flat (no handles inside a handle) + +typedef A_Err (*PT_InstanceSetdownFunc)( + const PT_TrackerInstancePtr tracker_instanceP); + +typedef A_Err (*PT_InstanceFlattenFunc)( + const PT_TrackerInstancePtr tracker_instanceP, + AEGP_MemHandle *flat_instance_dataPH); + +typedef A_Err (*PT_InstanceDoOptionsFunc)( + const PT_TrackerInstancePtr tracker_instanceP); + +typedef A_Err (*PT_PrepareTrackFunc)( + const PT_TrackingContextPtr contextP, + AEGP_MemHandle *tracker_dataPH); // << + +typedef A_Err (*PT_TrackFunc)( + const PT_TrackingContextPtr contextP); + +typedef A_Err (*PT_FinishTrackFunc)( + const PT_TrackingContextPtr contextP); + + +typedef struct { + PT_GlobalSetupFunc global_setup_func; + PT_GlobalSetdownFunc global_setdown_func; + PT_GlobalDoAboutFunc global_do_about_func; + + PT_InstanceSetupFunc instance_setup_func; + PT_InstanceSetdownFunc instance_setdown_func; + PT_InstanceFlattenFunc instance_flatten_func; + PT_InstanceDoOptionsFunc instance_do_options_func; + + PT_PrepareTrackFunc track_prepare_func; + PT_TrackFunc track_func; + PT_FinishTrackFunc track_finish_func; +} PT_TrackerEntryPoints; + + +#pragma pack( pop ) + +#ifdef __cplusplus + } +#endif + +#endif // _H_PT_Public \ No newline at end of file diff --git a/External/AE SDK/Headers/Param_Utils.h b/External/AE SDK/Headers/Param_Utils.h new file mode 100644 index 00000000..f4129069 --- /dev/null +++ b/External/AE SDK/Headers/Param_Utils.h @@ -0,0 +1,343 @@ +#ifndef H_PARAM_UTILS +#define H_PARAM_UTILS + +// do not include DVA headers here +#include +#include + +// requires the explicit use of 'def' for the struct name + +#define PF_ParamDef_IS_PUI_FLAG_SET(_defP, _puiFlag) \ + (((_defP)->ui_flags & _puiFlag) != 0) + +#define PF_ParamDef_IS_PARAM_FLAG_SET(_defP, _paramFlag) \ + (((_defP)->flags & _paramFlag) != 0) + + +#define PF_ADD_COLOR(NAME, RED, GREEN, BLUE, ID)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_COLOR; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.cd.value.red = (RED); \ + def.u.cd.value.green = (GREEN); \ + def.u.cd.value.blue = (BLUE); \ + def.u.cd.value.alpha = 255; \ + def.u.cd.dephault = def.u.cd.value; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ARBITRARY2(NAME, WIDTH, HEIGHT, PARAM_FLAGS, PUI_FLAGS, DFLT, ID, REFCON)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_ARBITRARY_DATA; \ + def.flags = (PARAM_FLAGS); \ + PF_STRCPY(def.name, (NAME) ); \ + def.ui_width = (WIDTH);\ + def.ui_height = (HEIGHT);\ + def.ui_flags = (PUI_FLAGS); \ + def.u.arb_d.value = NULL;\ + def.u.arb_d.pad = 0;\ + def.u.arb_d.dephault = (DFLT); \ + def.uu.id = def.u.arb_d.id = (ID); \ + def.u.arb_d.refconPV = REFCON; \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ARBITRARY(NAME, WIDTH, HEIGHT, PUI_FLAGS, DFLT, ID, REFCON)\ + PF_ADD_ARBITRARY2(NAME, WIDTH, HEIGHT, PF_ParamFlag_NONE, PUI_FLAGS, DFLT, ID, REFCON) + +#define PF_ADD_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.sd.value_str[0] = '\0'; \ + def.u.sd.value_desc[0] = '\0'; \ + def.u.sd.valid_min = (VALID_MIN); \ + def.u.sd.slider_min = (SLIDER_MIN); \ + def.u.sd.valid_max = (VALID_MAX); \ + def.u.sd.slider_max = (SLIDER_MAX); \ + def.u.sd.value = def.u.sd.dephault = (DFLT); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_FIXED(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_FIX_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.fd.value_str[0] = '\0'; \ + def.u.fd.value_desc[0] = '\0'; \ + def.u.fd.valid_min = (PF_Fixed)((VALID_MIN) * 65536.0); \ + def.u.fd.slider_min = (PF_Fixed)((SLIDER_MIN) * 65536.0); \ + def.u.fd.valid_max = (PF_Fixed)((VALID_MAX) * 65536.0); \ + def.u.fd.slider_max = (PF_Fixed)((SLIDER_MAX) * 65536.0); \ + def.u.fd.value = def.u.fd.dephault = (PF_Fixed)((DFLT) * 65536.0); \ + def.u.fd.precision = (A_short)(PREC); \ + def.u.fd.display_flags |= (A_short)(DISP); \ + def.flags |= (FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// why does fs_flags get or-ed in? and why is CURVE_TOLERANCE param ignored? and .flags is never set. oy. +#define PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, CURVE_TOLERANCE, DFLT, PREC, DISP, WANT_PHASE, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_FLOAT_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.fs_d.valid_min = (VALID_MIN); \ + def.u.fs_d.slider_min = (SLIDER_MIN); \ + def.u.fs_d.valid_max = (VALID_MAX); \ + def.u.fs_d.slider_max = (SLIDER_MAX); \ + def.u.fs_d.value = (DFLT); \ + def.u.fs_d.dephault = (PF_FpShort)(def.u.fs_d.value); \ + def.u.fs_d.precision = (PREC); \ + def.u.fs_d.display_flags = (DISP); \ + def.u.fs_d.fs_flags |= (WANT_PHASE) ? PF_FSliderFlag_WANT_PHASE : 0; \ + def.u.fs_d.curve_tolerance = AEFX_AUDIO_DEFAULT_CURVE_TOLERANCE;\ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// safer newer version +#define PF_ADD_FLOAT_SLIDERX(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, 0, DFLT, PREC, DISP, 0, ID); \ + } while (0) + +// copied from Pr version of Param_Utils.h. It is used in some of Pr versions of AE effects +#define PF_ADD_FLOAT_EXPONENTIAL_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, CURVE_TOLERANCE, DFLT, PREC, DISP, WANT_PHASE, EXPONENT, ID) \ +do {\ +PF_Err priv_err = PF_Err_NONE; \ +def.param_type = PF_Param_FLOAT_SLIDER; \ +PF_STRCPY(def.name, (NAME) ); \ +def.u.fs_d.valid_min = (VALID_MIN); \ +def.u.fs_d.slider_min = (SLIDER_MIN); \ +def.u.fs_d.valid_max = (VALID_MAX); \ +def.u.fs_d.slider_max = (SLIDER_MAX); \ +def.u.fs_d.value = (DFLT); \ +def.u.fs_d.dephault = (DFLT); \ +def.u.fs_d.precision = (PREC); \ +def.u.fs_d.display_flags = (DISP); \ +def.u.fs_d.fs_flags |= (WANT_PHASE) ? PF_FSliderFlag_WANT_PHASE : 0; \ +def.u.fs_d.curve_tolerance = AEFX_AUDIO_DEFAULT_CURVE_TOLERANCE;\ +def.u.fs_d.useExponent = true;\ +def.u.fs_d.exponent = EXPONENT;\ +def.uu.id = (ID); \ +if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ +} while (0) + +enum { PF_Precision_INTEGER, PF_Precision_TENTHS, PF_Precision_HUNDREDTHS, PF_Precision_THOUSANDTHS, PF_Precision_TEN_THOUSANDTHS }; + +#define PF_ADD_CHECKBOX(NAME_A, NAME_B, DFLT, FLAGS, ID)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_CHECKBOX; \ + PF_STRCPY(def.name, NAME_A); \ + def.u.bd.u.nameptr = (NAME_B); \ + def.u.bd.value = (DFLT); \ + def.u.bd.dephault = (PF_Boolean)(def.u.bd.value); \ + def.flags |= (FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// safer newer version +#define PF_ADD_CHECKBOXX(NAME, DFLT, FLAGS, ID)\ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_ADD_CHECKBOX(NAME, "", DFLT, FLAGS, ID); \ + } while (0) + +#define PF_ADD_BUTTON(PARAM_NAME, BUTTON_NAME, PUI_FLAGS, PARAM_FLAGS, ID)\ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_BUTTON; \ + PF_STRCPY(def.name, PARAM_NAME); \ + def.u.button_d.u.namesptr = (BUTTON_NAME); \ + def.flags = (PARAM_FLAGS); \ + def.ui_flags = (PUI_FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ANGLE(NAME, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_ANGLE; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.ad.value = def.u.ad.dephault = (PF_Fixed)((DFLT) * 65536.0); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + + +#define PF_ADD_NULL(NAME, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_NO_DATA; \ + PF_STRCPY(def.name, (NAME) ); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + + +#define PF_ADD_POPUP(NAME, CHOICES, DFLT, STRING, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POPUP; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.pd.num_choices = (CHOICES); \ + def.u.pd.dephault = (DFLT); \ + def.u.pd.value = def.u.pd.dephault; \ + def.u.pd.u.namesptr = (STRING); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_LAYER(NAME, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_LAYER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.ld.dephault = (DFLT); \ + def.uu.id = ID;\ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_255_SLIDER(NAME, DFLT, ID)\ + PF_ADD_SLIDER( (NAME), 0, 255, 0, 255, (DFLT), (ID)) + +#define PF_ADD_PERCENT(NAME, DFLT, ID)\ + PF_ADD_FIXED( (NAME), 0, 100, 0, 100, (DFLT), 1, 1, 0, (ID)) + +#define PF_ADD_POINT(NAME, X_DFLT, Y_DFLT, RESTRICT_BOUNDS, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POINT; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.td.restrict_bounds = RESTRICT_BOUNDS;\ + def.u.td.x_value = def.u.td.x_dephault = (X_DFLT << 16); \ + def.u.td.y_value = def.u.td.y_dephault = (Y_DFLT << 16); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_POINT_3D(NAME, X_DFLT, Y_DFLT, Z_DFLT, ID) \ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POINT_3D; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = X_DFLT; \ + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = Y_DFLT; \ + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = Y_DFLT; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_TOPIC(NAME, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_GROUP_START; \ + PF_STRCPY(def.name, (NAME) ); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_END_TOPIC(ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_GROUP_END; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_VERSIONED_FLAG(NAME) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_CHECKBOX; \ + def.name[0] = 0; \ + def.u.bd.u.nameptr = (NAME); \ + def.u.bd.value = true; \ + def.u.bd.dephault = false; \ + def.flags = PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS; \ + def.ui_flags = PF_PUI_INVISIBLE; \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// newer safer version +#define PF_ADD_TOPICX(NAME, FLAGS, ID) \ + do {\ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_TOPIC(NAME, ID); \ + } while (0) + +#define PF_ADD_POPUPX(NAME, NUM_CHOICES, DFLT, ITEMS_STRING, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_POPUP(NAME, NUM_CHOICES, DFLT, ITEMS_STRING, ID); \ + } while (0) + +enum { PF_ParamFlag_NONE=0 }; // SBI:AE_Effect.h + +#define PF_ADD_FLOAT_SLIDERX_DISABLED(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS);\ + def.ui_flags = PF_PUI_DISABLED;\ + PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, 0, DFLT, PREC, DISP, 0, ID); \ + } while (0) + +namespace fxparam_utility { + + template + inline int RoundF(T x) + { + int ret; + + if (x > 0) { + ret = (int)(x + (T)0.5); + } else { + if ((int)(x + (T)0.5) == (x + (T)0.5)) { + ret = (int)x; + } else { + ret = (int)(x - (T)0.5); + } + } + + return ret; + } +}; + +inline PF_Err PF_AddPointControl(PF_InData *in_data, + const char *nameZ, + float x_defaultF, // 0-1 + float y_defaultF, // 0-1 + bool restrict_boundsB, + PF_ParamFlags param_flags, + PF_ParamUIFlags pui_flags, + A_long param_id) +{ + PF_ParamDef def = {{0}}; + namespace du = fxparam_utility; + + def.flags = param_flags; + def.ui_flags = pui_flags; + + PF_ADD_POINT(nameZ, du::RoundF(x_defaultF*100), du::RoundF(y_defaultF*100), restrict_boundsB, param_id); // has error return in macro + + return PF_Err_NONE; +} + + +#endif // H_PARAM_UTILS diff --git a/External/AE SDK/Headers/PrSDKAESupport.h b/External/AE SDK/Headers/PrSDKAESupport.h new file mode 100644 index 00000000..7bf914f0 --- /dev/null +++ b/External/AE SDK/Headers/PrSDKAESupport.h @@ -0,0 +1,547 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2002 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef PRSDKAESUPPORT_H +#define PRSDKAESUPPORT_H + +#ifdef PREMIERE_INTERNAL + +#ifndef PRSDKTYPES_H +#include "PrSDKTypes.h" +#endif + +#ifndef PRSDKTIMESUITE_H +#include "PrSDKTimeSuite.h" +#endif + +#endif + +#ifndef PRSDKPIXELFORMAT_H +#include "PrSDKPixelFormat.h" +#endif + +#ifdef _WIN32 +// Required for AE Stuff +#ifndef MSWindows +#define MSWindows 1 +#endif +#endif + +#ifndef _H_AE_Effect +#include "AE_Effect.h" +#endif + +#ifndef _H_AE_EffectCB +#include "AE_EffectCB.h" +#endif + +#ifndef PREMIERE_INTERNAL +#ifndef csSDK_uint32 +typedef unsigned int csSDK_uint32; +typedef int csSDK_int32; + +#ifdef AE_OS_WIN +typedef signed __int64 csSDK_int64; +#elif defined AE_OS_MAC +typedef int64_t csSDK_int64; +#endif + +typedef csSDK_int64 prInt64; +typedef csSDK_int32 prFieldType; +typedef csSDK_int32 PrTimelineID; +typedef csSDK_int32 PrClipID; +typedef prInt64 PrTime; +// This is a conflicting redefinition for any host +// other than PPRO because PREMIERE_INTERNAL +// is not defined for other hosts and PrSDKTypes.h +// will be included through other headers. +// We need to fix it. We go ahead and redefine it +// only if PrSDKTypes.h has not been included. +#ifndef PRSDKTYPES_H +typedef struct +{ + csSDK_int64 opaque[2]; +} PrSDKString; +#endif // PRSDKTYPES_H +#endif + +enum { + PF_TimeDisplay_24 = 1, + PF_TimeDisplay_25, + PF_TimeDisplay_30Drop, + PF_TimeDisplay_30NonDrop, + PF_TimeDisplay_50, + PF_TimeDisplay_60Drop, + PF_TimeDisplay_60NonDrop, + PF_TimeDisplay_NonStandard, + PF_TimeDisplay_Invalid +}; +typedef csSDK_uint32 PF_TimeDisplay; +#endif + +#define kPFPixelFormatSuite "PF Pixel Format Suite" +#define kPFPixelFormatSuiteVersion1 1 +#define kPFPixelFormatSuiteVersion kPFPixelFormatSuiteVersion1 + +typedef struct PF_PixelFormatSuite +{ + SPAPI PF_Err (*AddSupportedPixelFormat)( + PF_ProgPtr effect_ref, /* reference from in_data */ + PrPixelFormat pixelFormat); /* add a supported pixel format */ + + SPAPI PF_Err (*ClearSupportedPixelFormats)( + PF_ProgPtr effect_ref); /* reference from in_data */ + + // not implemented yet + SPAPI PF_Err (*NewWorldOfPixelFormat)( + PF_ProgPtr effect_ref, /* reference from in_data */ + A_u_long width, + A_u_long height, + PF_NewWorldFlags flags, /* should be pre-cleared to zeroes */ + PrPixelFormat pixelFormat, + PF_EffectWorld *world); /* always 32 bit */ + + // not implemented yet + SPAPI PF_Err (*DisposeWorld)( /* Identical to dispose_world in PF_WorldSuite */ + PF_ProgPtr effect_ref, /* reference from in_data */ + PF_EffectWorld *world); + + SPAPI PF_Err (*GetPixelFormat)( + PF_EffectWorld *inWorld, /* the pixel buffer of interest */ + PrPixelFormat *pixelFormat); /* one of the above PF_PixelFormat types */ + + SPAPI PF_Err (*GetBlackForPixelFormat)( + PrPixelFormat pixelFormat, + void* pixelData); + + SPAPI PF_Err (*GetWhiteForPixelFormat)( + PrPixelFormat pixelFormat, + void* pixelData); + + SPAPI PF_Err (*ConvertColorToPixelFormattedData)( + PrPixelFormat pixelFormat, + float alpha, + float red, + float green, + float blue, + void* pixelData); +} PF_PixelFormatSuite; + +typedef PF_PixelFormatSuite PF_PixelFormatSuite1; + +/********** Documentation *********************************************** +AddSupportedPixelFormat() + During PF_Cmd_GLOBAL_SETUP a plug-in can add the formats it supports. By definition, + the 8-bit ARGB pixel format in use today will be the lowest priority, the default and doesn't + need to be added. The default pixel format will be used when the rendering pipeline + indicates it would be optimal and minimizes color space conversions. Within the scope of + Premiere, the effect_ref will be a reference to one of the many types of plug-ins (import, + compile, export, etc...). + +NewWorldOfPixelFormat() + Since the pixel buffers for some of the formats are very different in structure, an allocator + that understands the new formats would be a nice convenience and have some performance benefits. + For example, YCbCr(YUV) is often stored planar rather than packed. + +DisposeWorld() + This call is to balance the suite, however it's functionally equivalent to the dispose_world + in the PF_WorldSuite or the dispose_world callback in the _PF_UtilCallbacks. However, all dispose + world calls will need to be updated to understand how to dispose of planar pixels. + +GetPixelFormat() + Retrieves the pixel format label of the PF_EffectWorld of interest. + +SetPixelFormat() + Sets the pixel format label of the PF_EffectWorld of interest. It does not convert the pixels to the + format specified. Perhaps this call doesn't need to be public, as the user will be using the + ConvertToPixelFormat() call which will set the format? + +ConvertToPixelFormat() + Used to convert a PF_EffectWorld to another pixel format, such as converting ARGB to YCbCr(YUV). The + function would use built in conversion routines and would account for white and black levels while + performing appropriate clipping or scaling. +***********************************************************************/ + +#define kPFBackgroundFrameSuite "PF Background Frame Suite" +#define kPFBackgroundFrameSuiteVersion1 1 +#define kPFBackgroundFrameSuiteVersion kPFBackgroundFrameSuiteVersion1 + +typedef struct PF_BackgroundFrameSuite +{ + SPAPI PF_Err (*AddSupportedBackgroundTransferMode)( + PF_ProgPtr inEffectRef, /* reference from in_data */ + PF_TransferMode supportedTransferMode, /* transfer mode that an effect can use to composite on the background */ + PrPixelFormat supportedPixelFormat); /* pixel format that the effect can composite with */ + + SPAPI PF_Err (*GetBackgroundFrame)( + PF_ProgPtr inEffectRef, /* reference from in_data */ + PF_LayerDef** backgroundFrame, /* the background frame, if any */ + PF_TransferMode* backgroundTransferMode); /* the transfer mode to be used on the background frame */ +} PF_BackgroundFrameSuite; + +typedef PF_BackgroundFrameSuite PF_BackgroundFrameSuite1; + +/********** Documentation *********************************************** +AddSupportedBackgroundTransferMode + Called to register support for a transfer mode in a filter. + The filter must be able to do its effect and composite onto the background. + +GetBackgroundLayer() + Get the background layer and the transfer mode. + If the returned PF_LayerDef* is nil, there is no background frame. +***********************************************************************/ + +#define kPFUtilitySuite "PF Utility Suite" +#define kPFUtilitySuiteVersion2 2 +#define kPFUtilitySuiteVersion3 3 +#define kPFUtilitySuiteVersion4 4 +#define kPFUtilitySuiteVersion5 5 +#define kPFUtilitySuiteVersion6 6 +#define kPFUtilitySuiteVersion7 7 +#define kPFUtilitySuiteVersion8 8 +#define kPFUtilitySuiteVersion9 9 +#define kPFUtilitySuiteVersion kPFUtilitySuiteVersion9 + +typedef struct PF_UtilitySuite4 +{ + SPAPI PF_Err (*GetFilterInstanceID)( + PF_ProgPtr effect_ref, + A_long* outFilterInstanceID); + SPAPI PF_Err (*GetMediaTimecode)( + PF_ProgPtr effect_ref, + A_long* outCurrentFrame, + PF_TimeDisplay* outTimeDisplay); + SPAPI PF_Err (*GetClipSpeed)( + PF_ProgPtr effect_ref, + double* speed); + SPAPI PF_Err (*GetClipDuration)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetClipStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetUnscaledClipDuration)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetUnscaledClipStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetTrackItemStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetMediaFieldType)( + PF_ProgPtr effect_ref, + prFieldType* outFieldType); + SPAPI PF_Err (*GetMediaFrameRate)( + PF_ProgPtr effect_ref, + PrTime* outTicksPerFrame); + SPAPI PF_Err (*GetContainingTimelineID)( + PF_ProgPtr effect_ref, + PrTimelineID* outTimelineID); + SPAPI PF_Err (*GetClipName)( + PF_ProgPtr effect_ref, + PrSDKString * outSDKString); + SPAPI PF_Err (*EffectWantsCheckedOutFramesToMatchRenderPixelFormat)( + PF_ProgPtr effect_ref); +} PF_UtilitySuite4; + +typedef struct PF_UtilitySuite +{ + SPAPI PF_Err (*GetFilterInstanceID)( + PF_ProgPtr effect_ref, + A_long* outFilterInstanceID); + SPAPI PF_Err (*GetMediaTimecode)( + PF_ProgPtr effect_ref, + A_long* outCurrentFrame, + PF_TimeDisplay* outTimeDisplay); + SPAPI PF_Err (*GetClipSpeed)( + PF_ProgPtr effect_ref, + double* speed); + SPAPI PF_Err (*GetClipDuration)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetClipStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetUnscaledClipDuration)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetUnscaledClipStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetTrackItemStart)( + PF_ProgPtr effect_ref, + A_long* frameDuration); + SPAPI PF_Err (*GetMediaFieldType)( + PF_ProgPtr effect_ref, + prFieldType* outFieldType); + SPAPI PF_Err (*GetMediaFrameRate)( + PF_ProgPtr effect_ref, + PrTime* outTicksPerFrame); + SPAPI PF_Err (*GetContainingTimelineID)( + PF_ProgPtr effect_ref, + PrTimelineID* outTimelineID); + SPAPI PF_Err (*GetClipName)( + PF_ProgPtr effect_ref, + A_Boolean inGetMasterClipName, + PrSDKString * outSDKString); + SPAPI PF_Err (*EffectWantsCheckedOutFramesToMatchRenderPixelFormat)( + PF_ProgPtr effect_ref); + SPAPI PF_Err (*EffectDependsOnClipName)( + PF_ProgPtr effect_ref, + A_Boolean inDependsOnClipName); + SPAPI PF_Err (*SetEffectInstanceName)( + PF_ProgPtr effect_ref, + const PrSDKString* inSDKString); + SPAPI PF_Err (*GetFileName)( + PF_ProgPtr effect_ref, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetOriginalClipFrameRate)( + PF_ProgPtr effect_ref, + PrTime* outTicksPerFrame); + SPAPI PF_Err (*GetSourceTrackMediaTimecode)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + bool inApplyTransform, + bool inAddStartTimeOffset, + A_long* outCurrentFrame); + SPAPI PF_Err (*GetSourceTrackClipName)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + A_Boolean inGetMasterClipName, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetSourceTrackFileName)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + PrSDKString* outSDKString); + SPAPI PF_Err (*EffectDependsOnClipName2)( + PF_ProgPtr effect_ref, + A_Boolean inDependsOnClipName, + csSDK_uint32 inLayerParamIndex); + SPAPI PF_Err (*GetMediaTimecode2)( + PF_ProgPtr effect_ref, + bool inApplyTrim, + A_long* outCurrentFrame, + PF_TimeDisplay* outTimeDisplay); + SPAPI PF_Err (*GetSourceTrackMediaTimecode2)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + bool inApplyTransform, + bool inAddStartTimeOffset, + PrTime inSequenceTime, + A_long* outCurrentFrame); + SPAPI PF_Err (*GetSourceTrackClipName2)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + A_Boolean inGetMasterClipName, + PrSDKString* outSDKString, + PrTime inSequenceTime); + SPAPI PF_Err (*GetSourceTrackFileName2)( + PF_ProgPtr effect_ref, + csSDK_uint32 inLayerParamIndex, + PrSDKString* outSDKString, + PrTime inSequenceTime); + SPAPI PF_Err (*GetCommentString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetLogNoteString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetCameraRollString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetClientMetadataString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetDailyRollString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetDescriptionString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetLabRollString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetSceneString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetShotString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetTapeNameString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetVideoCodecString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetGoodMetadataString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetSoundRollString)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrSDKString* outSDKString); + SPAPI PF_Err (*GetSequenceTime)( + PF_ProgPtr inEffectRef, + PrTime* outSequenceTime); + SPAPI PF_Err (*GetSoundTimecode)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + A_long* outCurrentFrame); + SPAPI PF_Err (*GetOriginalClipFrameRateForSourceTrack)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime* outTicksPerFrame); + SPAPI PF_Err (*GetMediaFrameRateForSourceTrack)( + PF_ProgPtr inEffectRef, + int32_t inSourceTrack, + PrTime inSequenceTime, + PrTime* outTicksPerFrame); + SPAPI PF_Err (*GetSourceTrackMediaActualStartTime)( + PF_ProgPtr inEffectRef, + csSDK_uint32 inLayerParamIndex, + PrTime inSequenceTime, + PrTime* outClipActualStartTime); + SPAPI PF_Err (*IsSourceTrackMediaTrimmed)( + PF_ProgPtr inEffectRef, + csSDK_uint32 inLayerParamIndex, + PrTime inSequenceTime, + bool* outTrimApplied); + SPAPI PF_Err (*IsMediaTrimmed)( + PF_ProgPtr inEffectRef, + PrTime inSequenceTime, + bool* outTrimApplied); + SPAPI PF_Err (*IsTrackEmpty)( + PF_ProgPtr inEffectRef, + csSDK_uint32 inLayerParamIndex, + PrTime inSequenceTime, + bool* outIsTrackEmpty); + SPAPI PF_Err (*IsTrackItemEffectAppliedToSynthetic)( + PF_ProgPtr inEffectRef, + bool* outIsTrackItemEffectAppliedToSynthetic); +} PF_UtilitySuite; + +// Legacy function tables +// Please note that version 4 didn't version the GetClipName API correctly, which is why it needs a separate table. But this was fixed in later versions, and that API didn't exist in prior versions, so all of the rest can use PF_UtilitySuite. +typedef PF_UtilitySuite PF_UtilitySuiteVersion1; +typedef PF_UtilitySuite PF_UtilitySuite2; +typedef PF_UtilitySuite PF_UtilitySuite3; +typedef PF_UtilitySuite4 PF_UtilitySuite4; +typedef PF_UtilitySuite PF_UtilitySuite5; +typedef PF_UtilitySuite PF_UtilitySuite6; +typedef PF_UtilitySuite PF_UtilitySuite7; +typedef PF_UtilitySuite PF_UtilitySuite8; + +#define kPFSourceSettingsSuite "PF Source Settings Suite" +#define kPFSourceSettingsSuiteVersion 1 + +typedef struct PF_SourceSettingsSuite +{ + SPAPI PF_Err (*PerformSourceSettingsCommand)( + PF_ProgPtr effect_ref, + void * ioCommandStruct, + csSDK_uint32 inDataSize); + +} PF_SourceSettingsSuite; + +/********** Documentation *********************************************** +GetFilterInstanceID + An AE filter running in Premiere can call this method to obtain + its instance ID from the PF_InData->effect_ref. The instance ID + obtained is the same value contained in the prtFilterRec of its RT segment. +GetMediaTimecode + Returns the starting timecode of the media file. +GetClipSpeed + Returns the playback rate of the underlying clip in the timeline + (negative speed means backwards playback). +GetClipDuration + Returns the trimmed duration (in frames) of the underlying clip in + the timeline. +***********************************************************************/ + + + +#define kPFTransitionSuite "PF Transition Suite" +#define kPFTransitionSuiteVersion1 1 +#define kPFTransitionSuiteVersion2 2 // Added RegisterTransitionStartParam and RegisterTransitionEndParam +#define kPFTransitionSuiteVersion kPFTransitionSuiteVersion2 + +typedef struct PF_TransitionSuite +{ + /** + ** Register an effect as a transition using the passed in + ** input layer as the outgoing clip. When registered the effect + ** will be available to be dragged directly onto clip ends rather + ** than only applied to layers. + */ + SPAPI PF_Err (*RegisterTransitionInputParam)( + PF_ProgPtr inEffectRef, + PF_ParamIndex inIndex); + + /** + ** Register a PF_ADD_FLOAT_SLIDER parameter to receive + ** changes to the start of the transition region through the + ** PF_Cmd_USER_CHANGED_PARAM command. + */ + SPAPI PF_Err (*RegisterTransitionStartParam)( + PF_ProgPtr inEffectRef, + PF_ParamIndex inIndex); + + /** + ** Register a PF_ADD_FLOAT_SLIDER parameter to receive + ** changes to the end of the transition region through the + ** PF_Cmd_USER_CHANGED_PARAM command. + */ + SPAPI PF_Err (*RegisterTransitionEndParam)( + PF_ProgPtr inEffectRef, + PF_ParamIndex inIndex); + +} PF_TransitionSuite; + + +#endif // PRSDKAESUPPORT_H + diff --git a/External/AE SDK/Headers/PrSDKPixelFormat.h b/External/AE SDK/Headers/PrSDKPixelFormat.h new file mode 100644 index 00000000..c39889b8 --- /dev/null +++ b/External/AE SDK/Headers/PrSDKPixelFormat.h @@ -0,0 +1,160 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2002 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#ifndef PRSDKPIXELFORMAT_H +#define PRSDKPIXELFORMAT_H + +#ifdef PREMIERE_INTERNAL + +#ifndef PRSDKTYPES_H +#include "PrSDKTypes.h" +#endif + +#endif + +#ifndef MAKE_PIXEL_FORMAT_FOURCC +#define MAKE_PIXEL_FORMAT_FOURCC(ch0, ch1, ch2, ch3) \ + (static_cast(static_cast(ch0)) | \ + (static_cast(static_cast(ch1)) << 8) | \ + (static_cast(static_cast(ch2)) << 16) | \ + (static_cast(static_cast(ch3)) << 24 )) +#endif + +/** +** Premiere supported pixel formats for RenderFrame and PPixs +*/ + +enum PrPixelFormat +{ + +/** +** Currently supported types +*/ + +// Packed formats +PrPixelFormat_BGRA_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'a'), // 4 byte BGRA, standard windows 32 bit pixels (was kPixelFormat_BGRA32) +PrPixelFormat_VUYA_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'a'), // 4 byte VUYA (was kPixelFormat_VUYA32) +PrPixelFormat_VUYA_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'Y', 'A'), // 4 byte VUYA (was kPixelFormat_VUYA32) +PrPixelFormat_ARGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('a', 'r', 'g', 'b'), // 4 byte ARGB (the format used by AE) (was kPixelFormat_ARGB32) + +PrPixelFormat_BGRX_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'x'), // 4 byte BGRX +PrPixelFormat_VUYX_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'x'), // 4 byte VUYX +PrPixelFormat_VUYX_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'x', '7'), // 4 byte VUYX +PrPixelFormat_XRGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('x', 'r', 'g', 'b'), // 4 byte XRGB + +PrPixelFormat_BGRP_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('b', 'g', 'r', 'p'), // 4 byte BGRP +PrPixelFormat_VUYP_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'y', 'p'), // 4 byte VUYP +PrPixelFormat_VUYP_4444_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'u', 'p', '7'), // 4 byte VUYP +PrPixelFormat_PRGB_4444_8u = MAKE_PIXEL_FORMAT_FOURCC('p', 'r', 'g', 'b'), // 4 byte PRGB + +PrPixelFormat_BGRA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'a'), // 16 bit integer per component BGRA +PrPixelFormat_VUYA_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('V', 'u', 'y', 'a'), // 16 bit integer per component VUYA +PrPixelFormat_ARGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('A', 'r', 'g', 'b'), // 16 bit integer per component ARGB + +PrPixelFormat_BGRX_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'x'), // 16 bit integer per component BGRX +PrPixelFormat_XRGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('X', 'r', 'g', 'b'), // 16 bit integer per component XRGB + +PrPixelFormat_BGRP_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('B', 'g', 'r', 'p'), // 16 bit integer per component BGRP +PrPixelFormat_PRGB_4444_16u = MAKE_PIXEL_FORMAT_FOURCC('P', 'r', 'g', 'b'), // 16 bit integer per component PRGB + +PrPixelFormat_BGRA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'a'), // 32 bit float per component BGRA +PrPixelFormat_VUYA_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'a'), // 32 bit float per component VUYA +PrPixelFormat_VUYA_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('v', 'U', 'Y', 'a'), // 32 bit float per component VUYA +PrPixelFormat_ARGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('A', 'R', 'g', 'b'), // 32 bit float per component ARGB + +PrPixelFormat_BGRX_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'x'), // 32 bit float per component BGRX +PrPixelFormat_VUYX_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'x'), // 32 bit float per component VUYX +PrPixelFormat_VUYX_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'x', '7'), // 32 bit float per component VUYX +PrPixelFormat_XRGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('X', 'R', 'g', 'b'), // 32 bit float per component XRGB + +PrPixelFormat_BGRP_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'r', 'p'), // 32 bit float per component BGRX +PrPixelFormat_VUYP_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'y', 'p'), // 32 bit float per component VUYX +PrPixelFormat_VUYP_4444_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('V', 'U', 'p', '7'), // 32 bit float per component VUYX +PrPixelFormat_PRGB_4444_32f = MAKE_PIXEL_FORMAT_FOURCC('P', 'R', 'g', 'b'), // 32 bit float per component XRGB + +PrPixelFormat_RGB_444_10u = MAKE_PIXEL_FORMAT_FOURCC('R', 'G', 'B', '1'), // Full range 10-bit 444 RGB little-endian + +PrPixelFormat_YUYV_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '2'), // 8 bit 422 YUY2 601 colorspace +PrPixelFormat_YUYV_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'u', 'y', '3'), // 8 bit 422 YUY2 709 colorspace + +PrPixelFormat_UYVY_422_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', 'y'), // 8 bit 422 UYVY 601 colorspace +PrPixelFormat_UYVY_422_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('u', 'y', 'v', '7'), // 8 bit 422 UYVY 709 colorspace + +PrPixelFormat_V210_422_10u_601 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '0'), // packed uncompressed 10 bit 422 YUV aka V210 601 colorspace +PrPixelFormat_V210_422_10u_709 = MAKE_PIXEL_FORMAT_FOURCC('v', '2', '1', '1'), // packed uncompressed 10 bit 422 YUV aka V210 709 colorspace + +PrPixelFormat_UYVY_422_32f_601 = MAKE_PIXEL_FORMAT_FOURCC('U', 'Y', 'v', 'y'), +PrPixelFormat_UYVY_422_32f_709 = MAKE_PIXEL_FORMAT_FOURCC('U', 'Y', 'v', '7'), + +PrPixelFormat_BGRA_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'a', 'L'), // 32 bit float per component linear BGRA +PrPixelFormat_BGRP_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'p', 'L'), // 32 bit float per component linear BGRP +PrPixelFormat_BGRX_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('B', 'G', 'x', 'L'), // 32 bit float per component linear BGRX +PrPixelFormat_ARGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('A', 'R', 'g', 'L'), // 32 bit float per component linear ARGB +PrPixelFormat_PRGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('P', 'R', 'g', 'L'), // 32 bit float per component linear PRGB +PrPixelFormat_XRGB_4444_32f_Linear = MAKE_PIXEL_FORMAT_FOURCC('X', 'R', 'g', 'L'), // 32 bit float per component linear XRGB + +PrPixelFormat_RGB_444_12u_PQ_709 = MAKE_PIXEL_FORMAT_FOURCC('@', 'P', 'Q', '7'), // 12 bit integer (in 16 bit words) per component RGB with PQ curve, Rec.709 primaries +PrPixelFormat_RGB_444_12u_PQ_P3 = MAKE_PIXEL_FORMAT_FOURCC('@', 'P', 'Q', 'P'), // 12 bit integer (in 16 bit words) per component RGB with PQ curve, P3 primaries +PrPixelFormat_RGB_444_12u_PQ_2020 = MAKE_PIXEL_FORMAT_FOURCC('@', 'P', 'Q', '2'), // 12 bit integer (in 16 bit words) per component RGB with PQ curve, Rec.2020 primaries + +// Planar formats +PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) +PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '2'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) +PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'f'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) +PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'f'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) +PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', '7'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace +PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', '7'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace +PrPixelFormat_YUV_420_MPEG2_FRAME_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', '1', 'F'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace +PrPixelFormat_YUV_420_MPEG2_FIELD_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('y', 'v', 'i', 'F'), // YUV with 2x2 chroma subsampling. Planar. (for MPEG-2) 709 colorspace + +PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '2'), // YUV with 2x2 chroma subsampling, center chroma. Planar. +PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '2'), // YUV with 2x2 chroma subsampling, center chroma. Planar. +PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'f'), // YUV with 2x2 chroma subsampling, center chroma. Planar. +PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_601_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'f'), // YUV with 2x2 chroma subsampling, center chroma. Planar. +PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', '7'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace +PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709 = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', '7'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace +PrPixelFormat_YUV_420_MPEG4_FRAME_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', '1', 'F'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace +PrPixelFormat_YUV_420_MPEG4_FIELD_PICTURE_PLANAR_8u_709_FullRange = MAKE_PIXEL_FORMAT_FOURCC('Y', 'v', 'i', 'F'), // YUV with 2x2 chroma subsampling, center chroma. Planar. 709 colorspace + +// Compressed formats +PrPixelFormat_NTSCDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '2'), // compressed DV-25 +PrPixelFormat_PALDV25 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '2'), // compressed DV-25 +PrPixelFormat_NTSCDV50 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '5'), +PrPixelFormat_PALDV50 = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '5'), +PrPixelFormat_NTSCDV100_720p = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '7'), // compressed DV-100 720p, 60 Hz +PrPixelFormat_PALDV100_720p = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '7'), // compressed DV-100 720p, 50 Hz +PrPixelFormat_NTSCDV100_1080i = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'n', '1'), // compressed DV-100 1080i, 60 Hz +PrPixelFormat_PALDV100_1080i = MAKE_PIXEL_FORMAT_FOURCC('d', 'v', 'p', '1'), // compressed DV-100 1080i, 50 Hz + +// Raw, opaque data formats +PrPixelFormat_Raw = MAKE_PIXEL_FORMAT_FOURCC('r', 'a', 'w', 'w'), // raw, opaque data, with no row bytes or height. + +// Invalid +PrPixelFormat_Invalid = MAKE_PIXEL_FORMAT_FOURCC('b', 'a', 'd', 'f'), // invalid pixel format - this is used for intialization and erorr conditions + +PrPixelFormat_Any = 0 +}; + +#define MAKE_ADOBE_PRIVATE_PIXEL_FORMAT_FOURCC(ch1, ch2, ch3) (static_cast(MAKE_PIXEL_FORMAT_FOURCC('@', ch1, ch2, ch3))) +#define MAKE_THIRD_PARTY_CUSTOM_PIXEL_FORMAT_FOURCC(ch1, ch2, ch3) (static_cast(MAKE_PIXEL_FORMAT_FOURCC('_', ch1, ch2, ch3))) + +#endif // PRSDKPIXELFORMAT_H + diff --git a/External/AE SDK/Headers/SP/PSIntTypes.h b/External/AE SDK/Headers/SP/PSIntTypes.h new file mode 100644 index 00000000..7811e58d --- /dev/null +++ b/External/AE SDK/Headers/SP/PSIntTypes.h @@ -0,0 +1,79 @@ +// ADOBE SYSTEMS INCORPORATED +// (c) Copyright 2009 Adobe Systems Incorporated +// All Rights Reserved +// +// NOTICE: Adobe permits you to use, modify, and distribute this +// file in accordance with the terms of the Adobe license agreement +// accompanying it. If you have received this file from a source +// other than Adobe, then your use, modification, or distribution +// of it requires the prior written permission of Adobe. +//------------------------------------------------------------------- +/** +* +* \file PSIntTypes.h +* +* \brief +* Fixed sized integer types used in Photoshop +* +* Distribution: +* PUBLIC +* +*/ + +#ifndef __PSIntTypes__ +#define __PSIntTypes__ + +//------------------------------------------------------------------- + +#if defined(_MSC_VER) && defined(__cplusplus) +#include +#else +#include +#endif + +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; + +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; + +typedef uint8_t unsigned8; +typedef uint16_t unsigned16; +typedef uint32_t unsigned32; +typedef uint64_t unsigned64; + + +//------------------------------------------------------------------- +//------------------------------------------------------------------- + +#ifndef _BOOL8 + #define _BOOL8 + typedef unsigned char Bool8; +#endif + +#ifndef _BOOL32 + #define _BOOL32 + typedef uint32 Bool32; +#endif + +//------------------------------------------------------------------- +//------------------------------------------------------------------- +//REVISIT - PSFixedTypes.h would probably be a more appropriate name for this file + +#ifndef _REAL32 + #define _REAL32 + typedef float real32; +#endif + +#ifndef _REAL64 + #define _REAL64 + typedef double real64; +#endif + +typedef double nativeFloat; + +#endif /* __PSIntTypes.h__ */ diff --git a/External/AE SDK/Headers/SP/SPAccess.h b/External/AE SDK/Headers/SP/SPAccess.h new file mode 100644 index 00000000..79240f28 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPAccess.h @@ -0,0 +1,387 @@ +/***********************************************************************/ +/* */ +/* SPAccess.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPAccess__ +#define __SPAccess__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPPlugs.h" +#include "SPMData.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +/* + * The name and version number of the Sweet Pea Plug-in Access suite. + */ + +#define kSPAccessSuite "SP Access Suite" +/** Plug-in Access suite name */ +#define kSPAccessSuiteVersion 3 + +/** @ingroup Callers + The \c #SPAccessSuite sends a reload message (\c #kSPAccessReloadSelector) + to a plug-in when it has just been loaded, and an unload message + (\c #kSPAccessUnloadSelector) when it is about to be unloaded. + A plug-in is automatically loaded when the application or another + plug-in calls it or acquires as suite that it exports. + A plug-in can be unloaded at any time if it is not being used. + + A plug-in that exports a suite should unload the suite's procedure pointers + when it is unloaded, and restore them when the plug-in is reloaded. + \li On unload, replace the suite's procedure pointers + with the address of the \c #SPBasicSuite::Undefined() function + (which is always available). This is a protective measure + against other plug-ins that may mistakenly use the suite after they have + released it. + \li On reload, restore the suite's procedure + pointers with the updated addresses of their functions. + + For example: + @code + SPErr UnloadSuite( MySuite *mySuite, SPAccessMessage *message ) { + mySuite->functionA = (void *) message->d.basic->Undefined; + mySuite->functionB = (void *) message->d.basic->Undefined; + } + + SPErr ReloadSuite( MySuite *mySuite, SPAccessMessage *message ) { + mySuite->functionA = functionA; + mySuite->functionB = functionB; + } + @endcode + */ +#define kSPAccessCaller "SP Access" +/** @ingroup Selectors + The first message a plug-in receives on startup (whether + loaded or reloaded). Allows you to restore saved state information, + before startup initialization. + See \c #kSPAccessCaller, \c #SPAccessSuite */ +#define kSPAccessReloadSelector "Reload" +/** @ingroup Selectors + The first message a plug-in receives before being unloaded. + Allows you to save state information + See \c #kSPAccessCaller, \c #SPAccessSuite */ +#define kSPAccessUnloadSelector "Unload" + +/** The name of the object that the \c #SPAccessSuite caches, + which can be purged when caches are flushed. During a cache flush, + if this is the type sent to the \c #SPFlushCachesProc, it can + make calls to the Access suite to collect information about + the access object before deciding to purge it or not. + + For example, this purges filter plug-ins before window plug-ins: +@code +int32 myFlushCachesProc( const char *type, void *data, SPErr *error ) { +int32 flush = TRUE; +if ( strcmp( type, kSPFlushAccessType ) == 0 ) { + SPAccessRef access = data; + SPPluginRef plugin = sAccess->GetAccessPlugin( access, error ); + fail( error ); + switch ( myPluginType( plugin ) ) { + case kMyFilterPlugin: + if ( gPurgeLevel < kFilterPurgeLevel ) + flush = FALSE; + break; + case kMyWindowPlugin: + if ( gPurgeLevel < kWindowPurgeLevel ) + flush = FALSE; + break; + } + } + return flush; +} +@endcode +*/ +#define kSPFlushAccessType "SP Flush Access" + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** Prototype for a plug-in entry point, which receives messages from + the application or other plug-ins. + @param caller The caller, which identifies what suite or subsystem + made the call. See @ref Callers. + @param selector The specific event that triggered the call. See @ref Selectors. + @param message The message data, whose type depends on the specific event. + */ +typedef SPAPI SPErr (*SPEntry)( const char *caller, const char *selector, void *message ); + + +/** A plug-in access object, used with the \c #SPAccessSuite to make calls + to a plug-in. These objects are reference counted. The count is + incremented when you acquire the object using \c #SPAccessSuite::AcquirePlugin() + and decremented when you release it with \c #SPAccessSuite::ReleasePlugin(), + so you must be careful to balance these calls. The object is automatically + created and the plug-in loaded if necessary, and the object is destroyed + and the plug-in unloaded when the reference count is 0.*/ +typedef struct SPAccess *SPAccessRef; + + + + + +/** Plug-in library handle on Windows, resource chain on Mac. \deprecated */ +typedef void *SPPlatformAccessRef; + + +/** Access information for the resource chain on Mac OS, or library information on Windows. + See \c #SPAccessSuite::GetAccessInfo(). */ +typedef struct { + /** File access for entry and resources, when resource-access has not been set. \deprecated */ + SPPlatformAccessRef defaultAccess; /* */ + /** \deprecated File access for entry and resources, when resource-access + has been set using \c #SPAccessSuite::SetPluginResourceAccess(). + Otherwise \c NULL. */ + SPPlatformAccessRef resourceAccess; + /** The time since the last access operation, in clock-ticks (1/60th second). */ + uint32 lastAccessTicks; +} SPPlatformAccessInfo; + + + +/** Sent in the \c #SPAccessMessage to identify when an access call was made. + Use to distinguish a start-up load from a run-time load or reload, + and a run-time unload from a shut-down unload. */ +typedef enum { + /** The receiving plug-in has been loaded at application startup, and not yet initialized. + Sent with the \c #kSPAccessReloadSelector.*/ + kStartup = 0, + /** The receiving plug-in has been loaded programmatically while the application + is running, and not yet initialized. <> + Sent with the \c #kSPAccessReloadSelector.*/ + kRuntime, + /** The receiving plug-in is about to be unloaded. + Sent with the \c #kSPAccessUnloadSelector. */ + kShutdown, + /** The receiving plug-in has a non-zero access count and the application is shutting down. + Sent with the \c #kSPAccessUnloadSelector. + If the plug-in has acquired itself in order to remain in memory, + it should not free any resources and not acquire others when this + call is received.*/ + kTerminal +} SPAccessPoint; + +/** Message sent with the \c #kSPAccessCaller. */ +typedef struct SPAccessMessage { + /** The message data. */ + SPMessageData d; + /** When the access occurred. */ + SPAccessPoint when; +} SPAccessMessage; + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** @ingroup Suites + This suite is used to load and unload plug-ins. The functions allow + you to send messages directly to another plug-in. For example: +@code + SPErr SendMessage( SPPluginRef plugin, const char *caller, const char *selector, void *message, SPErr *error ) { + + SPErr result; + SPAccessRef access; + + access = sAccess->AcquirePlugin( plugin, error ); + fail( error ); + + result = sAccess->CallPlugin( access, caller, selector, message, error ); + fail( error ); + + sAccess->ReleasePlugin( access, error ); + fail( error ); + + return result; + } +@endcode + Standard PICA plug-ins rarely call one another directly. Usually program + control flows from plug-in to plug-in through higher-level suites. + Plug-in adapters, which provide protocol conversion to non-PICA plug-ins, + can add their own access suites to provide access to their foreign plug-ins. + + @see \c #SPInterfaceSuite + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPAccessSuite and \c #kSPAccessSuiteVersion. +*/ +typedef struct SPAccessSuite { + + /** Loads a plug-in if necessary, and prepares it to be called. Creates + an accessor object if necessary, or increments the reference count + of the existing accessor. Use \c #ReleasePlugin() to decrement + the count when you not longer need the accessor. + + A plug-in can acquire itself in order to remain in memory, even if + not referenced by any other plug-in. + @param plugin The plug-in object. + @param access [out] A buffer in which to return the new access object. + */ + SPAPI SPErr (*AcquirePlugin)( SPPluginRef plugin, SPAccessRef *access ); + + /** Decrements the reference count of an accessor object. + When the reference count reaches 0, frees the accessor object + and allows the associated plug-in to be unloaded. + @param access The access object. + */ + SPAPI SPErr (*ReleasePlugin)( SPAccessRef access ); + + /** Retrieves the accessor object for a plug-in. + You can use this to get the accessor for your own plug-in, in order + to access the resource chain or library information. + + Used by plug-ins that export suites to manually establish a + resource context within any of the suite procedures, so that + they can access resources. Not needed when a plug-in is called + through its entry point. \c #SPAccessSuite::CallPlugin() + sets up the resource context for you. + + @param plugin The plug-in object. + @param access [out] A buffer in which to return the access object, + or \c NULL if the plug-in is not loaded. + */ + SPAPI SPErr (*GetPluginAccess)( SPPluginRef plugin, SPAccessRef *access ); + /** Retrieves the plug-in for an accessor. + @param access The access object. + @param plugin [out] A buffer in which to return the plug-in object, + or \c NULL if the plug-in is not loaded. <> + */ + SPAPI SPErr (*GetAccessPlugin)( SPAccessRef access, SPPluginRef *plugin ); + /** Retrieves the entry point of a plug-in accessor. This is the point to + which \c #CallPlugin() jumps. Before accessing the entry point directly, + use \c #SetCurrentPlugin() to make the plug-in current. + @param access The access object. + @param entry [out] A buffer in which to return the entry point structure. + */ + SPAPI SPErr (*GetAccessEntry)( SPAccessRef access, SPEntry *entry ); + /** Retrieves the current reference count of an accessor object. + @param access The access object. + @param count [out] A buffer in which to return the count. + */ + SPAPI SPErr (*GetAccessCount)( SPAccessRef access, int32 *count ); + /** Retrieves the platform-specific resource access information of a plug-in accessor. + This is for the resource-chain in Mac OS, or the plug-in library in Windows. + @param access The access object. + @param info [out] A buffer in which to return the information structure. + */ + SPAPI SPErr (*GetAccessInfo)( SPAccessRef access, SPPlatformAccessInfo *info ); + + /** Retrieves the platform-specific resource access information of a plug-in accessor. + This is for the resource-chain in Mac OS, or the plug-in library in Windows. + <> + @param access The access object. + @param info [out] A buffer in which to return the information structure. + */ + SPAPI SPErr (*GetPluginResourceAccess)( SPPluginRef plugin, SPPlatformAccessRef *resourceAccess ); + /** <> */ + SPAPI SPErr (*SetPluginResourceAccess)( SPPluginRef plugin, SPPlatformAccessRef resourceAccess ); + + /** Sends a message to a plug-in, using an accessor object. + @param access The access object. + @param caller The caller. + @param slector The selector. + @param message The message, as required for the selector. + @param result [out] A buffer in which to return the result of the call, + returned by the called plug-in. + */ + SPAPI SPErr (*CallPlugin)( SPAccessRef access, const char *caller, const char *selector, + void *message, SPErr *result ); + + /** Retrieves the current plug-in, whose access information is the current + resource context. This is typically the last plug-in to + receive a call, but can be set by a plug-in adapter, or by + \c #SetCurrentPlugin(). + @param plugin [out] A buffer in which to return the plug-in object, + */ + SPAPI SPErr (*GetCurrentPlugin)( SPPluginRef *plugin ); + /** Makes a plug-in and its resource context current. An adapter can use + this to set the resource context before making a call to a plug-in. + Before making this call, you should save the reference for the current + plug-in, and restore it when this plug-in no longer needs to be current. + @param plugin The plug-in object, + */ + SPAPI SPErr (*SetCurrentPlugin)( SPPluginRef plugin ); + +} SPAccessSuite; + +/** Internal */ +SPAPI SPErr SPAcquirePlugin( SPPluginRef plugin, SPAccessRef *access ); +/** Internal */ +SPAPI SPErr SPReleasePlugin( SPAccessRef access ); + +/** Internal */ +SPAPI SPErr SPGetPluginAccess( SPPluginRef plugin, SPAccessRef *access ); +/** Internal */ +SPAPI SPErr SPGetAccessPlugin( SPAccessRef access, SPPluginRef *plugin ); +/** Internal */ +SPAPI SPErr SPGetAccessEntry( SPAccessRef access, SPEntry *entry ); +/** Internal */ +SPAPI SPErr SPGetAccessCount( SPAccessRef access, int32 *count ); +/** Internal */ +SPAPI SPErr SPGetAccessInfo( SPAccessRef access, SPPlatformAccessInfo *info ); + +/** Internal */ +SPAPI SPErr SPGetPluginResourceAccess( SPPluginRef plugin, SPPlatformAccessRef *resourceAccess ); +/** Internal */ +SPAPI SPErr SPSetPluginResourceAccess( SPPluginRef plugin, SPPlatformAccessRef resourceAccess ); + +/** Internal */ +SPAPI SPErr SPCallPlugin( SPAccessRef access, const char *caller, const char *selector, + void *message, SPErr *result ); + +/** Internal */ +SPAPI SPErr SPGetCurrentPlugin( SPPluginRef *plugin ); +/** Internal */ +SPAPI SPErr SPSetCurrentPlugin( SPPluginRef plugin ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPAdapts.h b/External/AE SDK/Headers/SP/SPAdapts.h new file mode 100644 index 00000000..9f12d5bb --- /dev/null +++ b/External/AE SDK/Headers/SP/SPAdapts.h @@ -0,0 +1,406 @@ +/***********************************************************************/ +/* */ +/* SPAdapts.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPAdapters__ +#define __SPAdapters__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPCaches.h" +#include "SPMData.h" +#include "SPProps.h" + +#ifdef __cplusplus +extern "C" { +#endif + + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +/** SPAdapters suite name */ +#define kSPAdaptersSuite "SP Adapters Suite" +/** SPAdapters suite version */ +#define kSPAdaptersSuiteVersion 3 + +/** @ingroup Callers + Caller for a plug-in adapter. Sent to plug-ins + with adapters to allow the adapter to load or unload + files of managed types, or to make translations for + compatability with legacy versions of PICA, the application, + or earlier versions of the plug-in. + See \c #SPAdaptersSuite. */ +#define kSPAdaptersCaller "SP Adapters" + +/** @ingroup Selectors + Received by a plug-in with an adapter on application startup, after + PICA completes its plug-in startup process. Use for initialization + related to the adapter. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersStartupSelector "Start up" +/** @ingroup Selectors + Received by a plug-in with an adapter on application shutdown, after + PICA completes its plug-in shutdown process. Use for termination cleanup + related to the adapter. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersShutdownSelector "Shut down" +/** @ingroup Selectors + Received by a plug-in with an adapter after a call to + \c #SPCachesSuite::SPFlushCaches(), for a final flush of + any memory used for private data, including PICA lists and + string pools. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersDisposeInfoSelector "Dispose info" +/** @ingroup Selectors + Received by a plug-in with an adapter when the application + frees memory, to allow garbage collection. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersFlushSelector "Flush" + +// Second generation adapters (has property 'adpt'/2) +//--------------------------------------------------- +/** @ingroup Selectors + Received by a plug-in after its initialization, to allow it to + register its own adapter. Get the adapter list from PICA and + use \c #SPAdaptersSuite::AddAdapter( ) to register your adapter. + For example: + @code +SPAdapterRef oldAPI; +SPAdapterListRef adapterList; +SPErr error; +error = sSPRuntime->GetRuntimeAdapterList( &adapterList); +error = sSPAdapters->AddAdapter( adapterList, message->d.self, "old API adapter", &oldAPI ); + @endcode + + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersRegisterPluginsSelector "Register plugins" + +/** @ingroup Selectors + Received by a plug-in with an adapter before it is loaded, to allow the + adapter to perform needed translations before the load occurs. The + handler does not need to call the load operation. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersLoadPluginSelector "Load plugin" +/** @ingroup Selectors + Received by a plug-in with an adapter before it is unloaded, to allow the + adapter to perform needed translations before the unload occurs. The + handler does not need to call the unload operation. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersReleasePluginSelector "Release plugin" + +/** @ingroup Selectors + Received by a plug-in with an adapter when the application needs to + communicate with it. The adapter should relay the message, performing + any required translation. + See \c #kSPAdaptersCaller, \c #SPAdaptersMessage, \c #SPAdaptersSuite. */ +#define kSPAdaptersSendMessageSelector "Send message" + +// First generation adapters (no 'adpt' property, or 'adpt'/1 ) +//------------------------------------------------------------- +// These messages are only for the "SP2 Adapter" that is built into +// Sweet Pea and maybe legacy adapters (i.e., AI6Adapter for AI7). +// For newer adapters, all of these methods are now deprecated. +// New adapters should do the vast majority of their processing via +// the message kSPAdaptersSendMessageSelector. +/** @deprecated Used internally. */ +#define kSPAdaptersFindPropertySelector "Find property" +/** @deprecated Used internally. */ +#define kSPAdaptersAboutSelector "About" +/** @deprecated Used internally. */ +#define kSPAdaptersAcquireSuiteHostSelector "Acquire Suite" +/** @deprecated Used internally. */ +#define kSPAdaptersReleaseSuiteHostSelector "Release Suite" + +/** PICA global list of registered plug-in adapters. + @see \c #SPAdaptersSuite::AddAdapter(), \c #SPRuntimeSuite::GetRuntimeAdapterList(). */ +#define kSPRuntimeAdapterList ((SPAdapterListRef)NULL) + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** An opaque reference to an adapter object. Access using the \c #SPAdaptersSuite. */ +typedef struct SPAdapter *SPAdapterRef; +/** A list of adapter objects. Create with + \c #SPAdaptersSuite::AllocateAdapterList(), or use + the global list, \c #kSPRuntimeAdapterList. */ +typedef struct SPAdapterList *SPAdapterListRef; +/** An iterator object for examining an adapter list. + See \c #SPAdaptersSuite::NewAdapterListIterator(). */ +typedef struct SPAdapterListIterator *SPAdapterListIteratorRef; + +/** The message passed with all \c #kSPAdaptersCaller calls. + Fields are used by specific selectors as indicated. */ +typedef struct SPAdaptersMessage { + /** The message data. All selectors. */ + SPMessageData d; + /** The adapter object. All selectors. If you add more than + one adapter for a plug-in, use this to determine which handler to use. */ + SPAdapterRef adapter; + + /** For \c #kSPAdaptersAboutSelector, the plug-in object for which to display information. + No longer used. <> */ + struct SPPlugin *targetPlugin; + /** For \c #kSPAdaptersAboutSelector, the target result of the handler, if any. + No longer used. <> */ + SPErr targetResult; + + /** For \c #kSPAdaptersFindPropertySelector. + No longer used. */ + PIType vendorID; + /** For \c #kSPAdaptersFindPropertySelector. + No longer used. */ + PIType propertyKey; + /** For \c #kSPAdaptersFindPropertySelector. + No longer used. */ + int32 propertyID; + /** For \c #kSPAdaptersFindPropertySelector. + No longer used. */ + void *property; + + /** For \c #kSPAdaptersFlushSelector. The procedure with which to flush caches, + passed from the call to \c #SPCachesSuite::SPFlushCaches(). + The adapter should call this to determine which plug-ins are being removed from + memory, and unload them. */ + SPFlushCachesProc flushProc; + /** For \c #kSPAdaptersFlushSelector. Return the result of the flush procedure, + the number of plug-ins removed.*/ + int32 flushed; + + /** For \c #kSPAdaptersAcquireSuiteHostSelector and \c #kSPAdaptersReleaseSuiteHostSelector. + No longer used.*/ + struct SPSuiteList *suiteList; /* use these if you need name, apiVersion, internalVersion */ + /** For \c #kSPAdaptersAcquireSuiteHostSelector and \c #kSPAdaptersReleaseSuiteHostSelector. + No longer used.*/ + struct SPSuite *suite; + /** For \c #kSPAdaptersAcquireSuiteHostSelector and \c #kSPAdaptersReleaseSuiteHostSelector. + No longer used.*/ + struct SPPlugin *host; /* plug-in hosting the suite, to be aquired/released by adapter */ + /** For \c #kSPAdaptersAcquireSuiteHostSelector and \c #kSPAdaptersReleaseSuiteHostSelector. + No longer used.*/ + const void *suiteProcs; /* returned here if reallocated */ + /** For \c #kSPAdaptersAcquireSuiteHostSelector and \c #kSPAdaptersReleaseSuiteHostSelector. + No longer used.*/ + int32 acquired; /* returned here */ + + /** For \c #kSPAdaptersSendMessageSelector. + The caller to pass to the adapted plug-in. */ + const char *plugin_caller; + /** For \c #kSPAdaptersSendMessageSelector. + The selector to pass to the adapted plug-in. */ + const char *plugin_selector; + /** For \c #kSPAdaptersSendMessageSelector. + The message to pass to the adapted plug-in. */ + void *plugin_message; +} SPAdaptersMessage; + +/** A string pool structure. See \c #SPStringsSuite. */ +struct SPStringPool; + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + An adapter is an interface between the PICA plug-in manager and + an individual plug-in. PICA and application plug-ins are hosted by + internal PICA adapters. Plug-ins can add other adapters to PICA's + \e adapter \e list, allowing non-PICA plug-ins to run under the PICA API. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPAdaptersSuite and \c #kSPAdaptersSuiteVersion. + + An adapter searches the PICA \e file \e list (\c #kSPRuntimeFileList) + for plug-ins types that it supports, and adds them to the \e plug-in \e list + (\c #kSPRuntimePluginList). When notified by PICA to do so, the adapter is + responsible for loading and calling the plug-ins it adds, and must + do any conversion of messages, data structures or other API elements. + An adapter can be used to update + + There are always at least two adapters, the internal adapters for PICA + and for the application, in the global adapter list (\c #kSPRuntimeAdapterList). + The internal adapters translate any legacy function calls into those + currently supported by PICA and the application. + + You can provide an adapter for backward compatability with older + versions of your own plug-ins, or to interpret your own file types. + To make an adapter available for your plug-in, add it in response to the + \c #kSPAdaptersRegisterPluginsSelector when your plug-in is loaded. + + You can also use this suite to create and maintain your own adapter list, + in addition to the global list. + + Use the adapter to load and call the adapted plug-in. For example, to + verify that a message could be sent to a plug-in: +@code +SPErr error; +SPPluginRef pluginToCall; +SPAdapterRef pluginsAdapter; +char *adapterName; +int32 adapterVersion; + +error = sSPPlugins->GetPluginAdapter( pluginToCall, &pluginsAdapter ); +error = sSPAdapters->GetAdapterName( pluginsAdapter, &adapterName ); +if ( strcmp( adapterName, kSPSweetPea2Adapter ) == 0 ) { + // it is a PICA plug-in, call it as such with sSPInterface. + } else if ( strcmp( adapterName, "MYAPP Legacy Plug-in Adapter" ) == 0 ) { + // it is an adapted plug-in, call it with the adapter's + // interface suite + error = sSPAdapters->GetAdapterVersion( pluginsAdapter, &adapterVersion ); + if ( adapterVersion == 1 ) { + // use one hypothetical interface suite + } else if ( adapterVersion == 2) { + // use another hypothetical interface suite + } + } +@endcode +*/ +typedef struct SPAdaptersSuite { + + /** Allocates a new list of adapters. You can keep your own list, + or obtain the global list with \c #SPRuntimeSuite::GetRuntimeAdapterList(). + @param stringPool The string pool in which to keep adapter names. + @param adapterList [out] A buffer in which to return the new list object. + */ + SPAPI SPErr (*AllocateAdapterList)( struct SPStringPool *stringPool, SPAdapterListRef *adapterList ); + /** Frees a list of adapters allocated with \c #AllocateAdapterList(), and + also frees any entries in the list. Do not free the global list (\c #kSPRuntimeAdapterList). + @param adapterList The adapter list object. + */ + SPAPI SPErr (*FreeAdapterList)( SPAdapterListRef adapterList ); + /** Creates a new adapter object and adds it to an adapter list. Do this in + response to the \c #kSPAdaptersRegisterPluginsSelector message. + @param adapterList The adapter list object, or \c NULL to use the + global list. + @param host This plug-in object, for which the adapter is responsible. + @param name The unique, identifying name of the adapter. + @param version The version number of the adapter. Only the latest version + of any adapter is used to start up plug-ins. + @param adapter [out] A buffer in which to return the new adapter object, or + \c NULL if you add only one adapter. If you add more than one adapter, + compare this to \c #SPAdaptersMessage::adapter to determine which handler to use. + @see \c #AllocateAdapterList() + */ + SPAPI SPErr (*AddAdapter)( SPAdapterListRef adapterList, struct SPPlugin *host, const char *name, + int32 version, SPAdapterRef *adapter ); + + /** Retrieves an adapter by name. + @param adapterList The adapter list object, or \c NULL to use the + global list. + @param name The unique, identifying name of the adapter. + @param adapter [out] A buffer in which to return the adapter object. + */ + SPAPI SPErr (*SPFindAdapter)( SPAdapterListRef adapterList, const char *name, SPAdapterRef *adapter ); + + /** Creates an iterator object with which to traverse an adapter list. + The iterator is initially set to the first adapter in the list. + @param adapterList The adapter list object, or \c NULL to use the + global list. + @param iter [out] A buffer in which to return the new iterator object. + @see \c #NextAdapter(), \c #DeleteAdapterListIterator() + */ + SPAPI SPErr (*NewAdapterListIterator)( SPAdapterListRef adapterList, SPAdapterListIteratorRef *iter ); + /** Retrieves the current adapter and advances an adapter-list iterator to the + next adapter in the list. + @param iter The adapter-list iterator object. + @param adapter [out] A buffer in which to return the current adapter object, \c NULL + if the end of the list has been reached. + @see \c #NewAdapterListIterator(), + */ + SPAPI SPErr (*NextAdapter)( SPAdapterListIteratorRef iter, SPAdapterRef *adapter ); + /** Frees an adapter-list iterator that is no longer needed. + @param iter The adapter-list iterator object. + @see \c #NewAdapterListIterator(), + */ + SPAPI SPErr (*DeleteAdapterListIterator)( SPAdapterListIteratorRef iter ); + + /** Retrieves the plug-in that an adapter manages. + @param adapter The adapter object. + @param plug-in [out] A buffer in which to return the plug-in object. + */ + SPAPI SPErr (*GetAdapterHost)( SPAdapterRef adapter, struct SPPlugin **plugin ); + /** Retrieves the unique, identifying name of an adapter. + @param adapter The adapter object. + @param name [out] A buffer in which to return the name string. + */ + SPAPI SPErr (*GetAdapterName)( SPAdapterRef adapter, const char **name ); + /** Retrieves the version of an adapter. + @param adapter The adapter object. + @param version [out] A buffer in which to return the version number. + */ + SPAPI SPErr (*GetAdapterVersion)( SPAdapterRef adapter, int32 *version ); + +} SPAdaptersSuite; + + +/** Internal */ +SPAPI SPErr SPAllocateAdapterList( struct SPStringPool *stringPool, SPAdapterListRef *adapterList ); +/** Internal */ +SPAPI SPErr SPFreeAdapterList( SPAdapterListRef adapterList ); + +/** Internal */ +SPAPI SPErr SPAddAdapter( SPAdapterListRef adapterList, struct SPPlugin *host, const char *name, + int32 version, SPAdapterRef *adapter ); + +/** Internal */ +SPAPI SPErr SPFindAdapter( SPAdapterListRef adapterList, const char *name, SPAdapterRef *adapter ); + +/** Internal */ +SPAPI SPErr SPNewAdapterListIterator( SPAdapterListRef adapterList, SPAdapterListIteratorRef *iter ); +/** Internal */ +SPAPI SPErr SPNextAdapter( SPAdapterListIteratorRef iter, SPAdapterRef *adapter ); +/** Internal */ +SPAPI SPErr SPDeleteAdapterListIterator( SPAdapterListIteratorRef iter ); + +/** Internal */ +SPAPI SPErr SPGetAdapterHost( SPAdapterRef adapter, struct SPPlugin **plugin ); +/** Internal */ +SPAPI SPErr SPGetAdapterName( SPAdapterRef adapter, const char **name ); +/** Internal */ +SPAPI SPErr SPGetAdapterVersion( SPAdapterRef adapter, int32 *version ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPBasic.h b/External/AE SDK/Headers/SP/SPBasic.h new file mode 100644 index 00000000..c0273a40 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPBasic.h @@ -0,0 +1,184 @@ +/***********************************************************************/ +/* */ +/* SPBasic.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPBasic__ +#define __SPBasic__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** PICA basic suite name */ +#define kSPBasicSuite "SP Basic Suite" +/** PICA basic suite version */ +#define kSPBasicSuiteVersion 4 + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** @ingroup Suites + This suite provides basic memory management for PICA (the Adobe plug-in manager) + and defines the basic functions for acquiring and releasing other suites. + + A suite consists of a list of function pointers. The application, or a + plug-in that loads a suite, provides valid pointers when the suite is + acquired. When a suite is not available, the pointers are set to the + address of the \c #Undefined() function. + + Do not attempt to acquire a suite (other than the \c #SPBlocksSuite) + in response to a PICA access (\c #kSPAccessCaller) or property + (\c #kSPPropertiesCaller) message. Most suites are unavailable + during these load and unload operations. + + You can acquire all the suites you will need when your plug-in is first + loaded, as long as you release them before your plug-in is unloaded. + At shutdown, however, it is most efficient to acquire only those + suites explicitly needed to shut down; for example, to free memory + and save preferences. + + The \c SPBasicSuite itself is a part of the message data passed + to your plug-in with any call. To access it from the message data structure: + @code + SPBasicSuite sBasic = message->d.basic; + sBasic->function( ) + @endcode + */ +typedef struct SPBasicSuite { + /** Acquires a function suite. Loads the suite if necessary, + and increments its reference count. For example: + @code +SPErr error; +SPBasicSuite *sBasic = message->d.basic; +AIRandomSuite *sRandom; +sBasic->AcquireSuite( kAIRandomSuite, kAIRandomVersion, &sRandom ); + @endcode + @param name The suite name. + @param version The suite version number. + @param suite [out] A buffer in which to return the suite pointer. + @see \c #SPSuitesSuite::AcquireSuite() + */ + SPAPI SPErr (*AcquireSuite)( const char *name, int32 version, const void **suite ); + /** Decrements the reference count of a suite and unloads it when the + reference count reaches 0. + @param name The suite name. + @param version The suite version number. + */ + SPAPI SPErr (*ReleaseSuite)( const char *name, int32 version ); + /** Compares two strings for equality. + @param token1 The first null-terminated string. + @param token2 The second null-terminated string. + @return True if the strings are the same, false otherwise. + */ + SPAPI SPBoolean (*IsEqual)( const char *token1, const char *token2 ); + /** Allocates a block of memory. + @param size The number of bytes. + @param block [out] A buffer in which to return the block pointer. + @see \c #SPBlocksSuite::AllocateBlock() + */ + SPAPI SPErr (*AllocateBlock)( size_t size, void **block ); + /** Frees a block of memory allocated with \c #AllocateBlock(). + @param block The block pointer. + @see \c #SPBlocksSuite::FreeBlock() + */ + SPAPI SPErr (*FreeBlock)( void *block ); + /** Reallocates a block previously allocated with \c #AllocateBlock(). + Increases the size without changing the location, if possible. + @param block The block pointer. + @param newSize The new number of bytes. + @param newblock [out] A buffer in which to return the new block pointer. + @see \c #SPBlocksSuite::ReallocateBlock() + */ + SPAPI SPErr (*ReallocateBlock)( void *block, size_t newSize, void **newblock ); + /** A function pointer for unloaded suites. This is a protective measure + against other plug-ins that may mistakenly use the suite after they have + released it. + + A plug-in that exports a suite should unload the suite's procedure pointers + when it is unloaded, and restore them when the plug-in is reloaded. + \li On unload, replace the suite's procedure pointers + with the address of this function. + \li On reload, restore the suite's procedure + pointers with the updated addresses of their functions. + + For example: + @code + SPErr UnloadSuite( MySuite *mySuite, SPAccessMessage *message ) { + mySuite->functionA = (void *) message->d.basic->Undefined; + mySuite->functionB = (void *) message->d.basic->Undefined; + } + + SPErr ReloadSuite( MySuite *mySuite, SPAccessMessage *message ) { + mySuite->functionA = functionA; + mySuite->functionB = functionB; + } + @endcode + */ + SPAPI SPErr (*Undefined)( void ); + +} SPBasicSuite; + + +/** Internal */ +SPAPI SPErr SPBasicAcquireSuite( const char *name, int32 version, const void **suite ); +/** Internal */ +SPAPI SPErr SPBasicReleaseSuite( const char *name, int32 version ); +/** Internal */ +SPAPI SPBoolean SPBasicIsEqual( const char *token1, const char *token2 ); +/** Internal */ +SPAPI SPErr SPBasicAllocateBlock( size_t size, void **block ); +/** Internal */ +SPAPI SPErr SPBasicFreeBlock( void *block ); +/** Internal */ +SPAPI SPErr SPBasicReallocateBlock( void *block, size_t newSize, void **newblock ); +/** Internal */ +SPAPI SPErr SPBasicUndefined( void ); + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPBckDbg.h b/External/AE SDK/Headers/SP/SPBckDbg.h new file mode 100644 index 00000000..b7bfe08c --- /dev/null +++ b/External/AE SDK/Headers/SP/SPBckDbg.h @@ -0,0 +1,118 @@ +/***********************************************************************/ +/* */ +/* SPBckDbg.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPBlockDebug__ +#define __SPBlockDebug__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** SPBlockDebug suite name */ +#define kSPBlockDebugSuite "SP Block Debug Suite" +/** SPBlockDebug suite version */ +#define kSPBlockDebugSuiteVersion 2 + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** @ingroup Suites + This suite provides basic debugging capability for blocks of memory + allocated with the \c #SPBlocksSuite. Debugging can only be enabled + in the developement environment. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPBlockDebugSuite and \c #kSPBlockDebugSuiteVersion. + */ +typedef struct SPBlockDebugSuite { + /** Reports whether block debugging is enabled. + @param enabled [out] A buffer in which to return 1 if debugging + is enabled, 0 otherwise. + */ + SPAPI SPErr (*GetBlockDebugEnabled)( int32 *enabled ); + /** Turns debugging on or off. + @param debug 1 to turn debugging on, 0 to turn it off. + */ + SPAPI SPErr (*SetBlockDebugEnabled)( int32 debug ); + /** Retrieves the first block of memory allocated. Use with \c #GetNextBlock() + to iterate through all allocated blocks. + @param block [out] A buffer in which to return the block pointer. + */ + SPAPI SPErr (*GetFirstBlock)( void **block ); + /** Retrieves the block of memory allocated immediately after a given block. + Use with \c #GetFirstBlock() to iterate through all allocated blocks. + @param block The current block pointer + @param nextblock [out] A buffer in which to return the next block pointer. + */ + SPAPI SPErr (*GetNextBlock)( void *block, void **nextblock ); + /** Retrieves the debugging tag assigned to a block of memory when it + was allocated or reallocated. + @param block The block pointer. + @param debug [out] A buffer in which to return the tag string. + @see \c #SPBlocksSuite::AllocateBlock(), \c #SPBlocksSuite::ReallocateBlock() + */ + SPAPI SPErr (*GetBlockDebug)( void *block, const char **debug ); + +} SPBlockDebugSuite; + + +/** Internal */ +SPAPI SPErr SPGetBlockDebugEnabled( int32 *enabled ); +/** Internal */ +SPAPI SPErr SPSetBlockDebugEnabled( int32 debug ); +/** Internal */ +SPAPI SPErr SPGetFirstBlock( void **block ); +/** Internal */ +SPAPI SPErr SPGetNextBlock( void *block, void **nextblock ); +/** Internal */ +SPAPI SPErr SPGetBlockDebug( void *block, const char **debug ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPBlocks.h b/External/AE SDK/Headers/SP/SPBlocks.h new file mode 100644 index 00000000..cdb0effd --- /dev/null +++ b/External/AE SDK/Headers/SP/SPBlocks.h @@ -0,0 +1,118 @@ +/***********************************************************************/ +/* */ +/* SPBlocks.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPBlocks__ +#define __SPBlocks__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#ifdef SWEETPEA_STRICTER_HOST_COMPATIBILITY +#include +#endif +#include "SPTypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** SPBlocks suite name */ +#define kSPBlocksSuite "SP Blocks Suite" +/** SPBlocks suite version */ +#define kSPBlocksSuiteVersion 2 + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite provides basic memory management for PICA (the Adobe plug-in manager), + with debugging capability for the development version of the application. + + Unlike other suites, this suite is available during plug-in load and unload operations. + You can acquire it in response to a PICA access (\c #kSPAccessCaller) or property + (\c #kSPPropertiesCaller) message, and use it to allocate and free memory + for the plug-in you are loading or unloading. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPBlocksSuite and \c #kSPBlocksSuiteVersion. + */ +typedef struct SPBlocksSuite { + + /** Allocates a block of memory. + @param size The number of bytes. + @param debug Optional. A tag for the block, available in the + developement version of the application. Otherwise ignored. + See \c #SPBlockDebugSuite::GetBlockDebug(). + @param block [out] A buffer in which to return the block pointer. + @see \c #SPBasicSuite::AllocateBlock() + */ + SPAPI SPErr (*AllocateBlock)( size_t size, const char *debug, void **block ); + /** Frees a block of memory allocated with \c #AllocateBlock(). + @param block The block pointer. + @see \c #SPBasicSuite::FreeBlock() + */ + SPAPI SPErr (*FreeBlock)( void *block ); + /** Reallocates a block previously allocated with \c #AllocateBlock(). + Increases the size without changing the location, if possible. + @param block The block pointer. + @param newSize The new number of bytes. + @param debug Optional. A tag for the block, available in the + developement version of the application. Otherwise ignored. + See \c #SPBlockDebugSuite::GetBlockDebug(). + @param newblock [out] A buffer in which to return the new block pointer. + @see \c #SPBasicSuite::ReallocateBlock() + */ + SPAPI SPErr (*ReallocateBlock)( void *block, size_t newSize, const char *debug, void **rblock ); + +} SPBlocksSuite; + +/** Internal */ +SPAPI SPErr SPAllocateBlock( size_t size, const char *debug, void **block ); +/** Internal */ +SPAPI SPErr SPFreeBlock( void *block ); +/** Internal */ +SPAPI SPErr SPReallocateBlock( void *block, size_t newSize, const char *debug, void **rblock ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPCOM.h b/External/AE SDK/Headers/SP/SPCOM.h new file mode 100644 index 00000000..0783c1fb --- /dev/null +++ b/External/AE SDK/Headers/SP/SPCOM.h @@ -0,0 +1,9 @@ +/* (c) Copyright 2002. Adobe Systems, Incorporated. All rights reserved. */ + +#pragma once + +#ifndef __SPCOM__ +#define __SPCOM__ +/* This module is obsolete. */ +#endif // __SPCOM__ + diff --git a/External/AE SDK/Headers/SP/SPCaches.h b/External/AE SDK/Headers/SP/SPCaches.h new file mode 100644 index 00000000..c2150f6e --- /dev/null +++ b/External/AE SDK/Headers/SP/SPCaches.h @@ -0,0 +1,128 @@ +/***********************************************************************/ +/* */ +/* SPCaches.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPCaches__ +#define __SPCaches__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPMData.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** Cache suite name */ +#define kSPCachesSuite "SP Caches Suite" +/** Cache suite version */ +#define kSPCachesSuiteVersion 2 + +/* To receive these, an PIConditionalMessages property must be present + * with the PIAcceptsPurgeCachesMessage flag set. */ +/** @ingroup Callers + The cache management caller. See \c #SPCachesSuite */ +#define kSPCacheCaller "SP Cache" +/** @ingroup Selectors + Received by plug-in adapters with the \c #PIAcceptsPurgeCachesMessage flag set + in the \c #PIConditionalMessages property, when a call has + been made to \c #SPCachesSuite::SPFlushCaches(). Accompanied by + the \c #SPPurgeCachesMessage. + @see \c #SPAdaptersSuite, \c #kSPAdaptersDisposeInfoSelector + */ +#define kSPPluginPurgeCachesSelector "Plug-in Purge" + +/* The plug-in should return one of these two responses when it receives the kSPPluginPurgeCachesSelector */ +//<> +//#define kSPPluginCachesFlushResponse 'pFls' +//#define kSPPluginCouldntFlushResponse kSPNoError; +#include "SPErrorCodes.h" + +/******************************************************************************* + ** + ** Types + ** + **/ +/** Prototype for the cache-flushing procedure an adapter calls in response to the + \c #kSPAdaptersDisposeInfoSelector, to determine which plug-ins to unload, + and inform the caller of whether its managed plug-in have been unloaded. + @param type The plug-in type, as set by the adapter.<> + @param data A pointer to the adapter-defined plug-in data. <> + @param flushed [out] A buffer in which to return the result, + the number of plug-ins actually unloaded. + */ +typedef SPErr (*SPFlushCachesProc)( const char *type, void *data, int32 *flushed ); + +/** Message passed with the \c #kSPPluginPurgeCachesSelector. */ +typedef struct SPPurgeCachesMessage { + /** The message data. */ + SPMessageData d; +} SPPurgeCachesMessage; + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite allows you to manage PICA cache memory. + + PICA plug-ins are intended to move in and out of memory (cache) as necessary, + to allow a small memory footprint. By default, PICA keeps loaded plug-ins in + cache until the application heap has been filled, and then unloads them. + Beyond this simple strategy, the application and plug-ins can use this + function to unload plug-ins when needed. Plug-ins do not typically need + to do this. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPCachesSuite and \c #kSPCachesSuiteVersion. +*/ +typedef struct SPCachesSuite { + /** Sends a message to all plug-in adapters telling them to unload any + unused plug-ins from memory. + @param flushProc The procedure the adapter uses to determine which + plug-ins to unload. + @param flushed [out] A buffer in which to return the result of the + procedure calls, the total number of plug-ins actually unloaded. + */ + SPAPI SPErr (*SPFlushCaches)( SPFlushCachesProc flushProc, int32 *flushed ); + +} SPCachesSuite; + +/** Internal */ +SPAPI SPErr SPFlushCaches( SPFlushCachesProc flushProc, int32 *flushed ); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPConfig.h b/External/AE SDK/Headers/SP/SPConfig.h new file mode 100644 index 00000000..499d7b25 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPConfig.h @@ -0,0 +1,76 @@ +/***********************************************************************/ +/* */ +/* SPConfig.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +/** + + SPConfig.h is the environment configuration file for Sweet Pea. It + defines MAC_ENV or WIN_ENV. These are used to control platform-specific + sections of code. + + **/ + +#ifndef __SPCnfig__ +#define __SPCnfig__ + +#if defined(__APPLE_CC__) +#if !defined (MAC_ENV) && !defined(SIMULATED_WASM) +#define MAC_ENV 1 +#endif +#endif + +/* + * Windows + */ +#if defined(_WINDOWS) || defined(_MSC_VER) || defined(WINDOWS) // PSMod, better compiler check +#ifndef WIN_ENV +#define WIN_ENV 1 +#endif +#endif + +#ifndef qiOS +#if defined(MAC_ENV) && defined(__arm__) +#define qiOS 1 +#endif +#endif + +/* + * Make certain that one and only one of the platform constants is defined. + */ + +#ifdef __ANDROID__ + #define ANDROID_ENV 1 +#endif + +#ifdef __LINUX__ + #define UNIX_ENV 1 +#endif + +#if defined (__EMSCRIPTEN__) + #define WEB_ENV 1 +#endif + +#if !defined(WIN_ENV) && !defined(MAC_ENV) && !defined(ANDROID_ENV) && !defined(UNIX_ENV) && !defined(WEB_ENV) + #error +#endif + +#if defined(WIN_ENV) && defined(MAC_ENV) && defined(ANDROID_ENV) && defined(UNIX_ENV) && defined (WEB_ENV) + #error +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPEDebug.c b/External/AE SDK/Headers/SP/SPEDebug.c new file mode 100644 index 00000000..97c14e3e --- /dev/null +++ b/External/AE SDK/Headers/SP/SPEDebug.c @@ -0,0 +1,2 @@ +// (c) Copyright 2002. Adobe Systems, Incorporated. All rights reserved. + diff --git a/External/AE SDK/Headers/SP/SPErrorCodes.h b/External/AE SDK/Headers/SP/SPErrorCodes.h new file mode 100644 index 00000000..137faaed --- /dev/null +++ b/External/AE SDK/Headers/SP/SPErrorCodes.h @@ -0,0 +1,172 @@ +/***********************************************************************/ +/* */ +/* SPErrorCodes.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPErrorCodes__ +#define __SPErrorCodes__ + +#if PRAGMA_ONCE +#pragma once +#endif + +/******************************************************************************* + ** + ** General Errors + ** + **/ + +// General errors +#define kASNoError 0 +#define kASUnimplementedError '!IMP' +#define kASUserCanceledError 'stop' + + +/******************************************************************************* + ** + ** SP Errors + ** + **/ + +// General errors +/** @ingroup Errors + PICA no-error code is \c NULL. All other + PICA errors are strings, except \c #kSPOutOfMemoryError. See \c SPTypes.h. */ +#define kSPNoError 0 +/** @ingroup Errors + PICA error, applies to all PICA suites. See \c SPTypes.h. */ +#define kSPUnimplementedError '!IMP' +/** @ingroup Errors + PICA error. */ +#define kSPUserCanceledError 'stop' +#define kSPOperationInterrupted 'intr' +#define kSPLogicError 'fbar' // general programming error + +// SPAccessSuite errors +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPCantAcquirePluginError '!Acq' +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPCantReleasePluginError '!Rel' +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPPluginAlreadyReleasedError 'AlRl' + +// SPAdaptsSuite errors +/** @ingroup Errors + PICA adapter error. See \c #SPAdaptsSuite */ +#define kSPAdapterAlreadyExistsError 'AdEx' +/** @ingroup Errors + PICA adapter error.See \c #SPAdaptsSuite */ +#define kSPBadAdapterListIteratorError 'BdAL' + +// SPBasicSuite errors +/** @ingroup Errors + Basic PICA error. See \c #SPBasicSuite */ +#define kSPBadParameterError 'Parm' + +// Block debugging errors +/** @ingroup Errors + PICA debugging error. See \c #SPBlockDebugSuite */ +#define kSPCantChangeBlockDebugNowError '!Now' +/** @ingroup Errors + PICA debugging error. See \c #SPBlockDebugSuite */ +#define kSPBlockDebugNotEnabledError '!Nbl' + +// SPBlocks errors +/** @ingroup Errors + PICA memory management error. See \c #SPBlocksSuite */ +#define kSPOutOfMemoryError (int32(0xFFFFFF6c)) /* -108, same as Mac memFullErr */ +/** @ingroup Errors + PICA memory management error. See \c #SPBlocksSuite */ +#define kSPBlockSizeOutOfRangeError 'BkRg' + +// SPCaches errors +/** @ingroup Errors + PICA cache-flushing error. See \c #SPCachesSuite */ +#define kSPPluginCachesFlushResponse 'pFls' +/** @ingroup Errors + PICA cache-flushing error. See \c #SPCachesSuite */ +#define kSPPluginCouldntFlushResponse kSPNoError; + +// SPFiles errors +/** @ingroup Errors + PICA file-access error. See \c #SPFilesSuite */ +#define kSPTroubleAddingFilesError 'TAdd' +/** @ingroup Errors + PICA file-access error. See \c #SPFilesSuite */ +#define kSPBadFileListIteratorError 'BFIt' + +// SPHost errors +/** @ingroup Errors + PICA plug-in atart-up error. See \c #SPHostSuite */ +#define kSPTroubleInitializingError 'TIni' // Some non-descript problem encountered while starting up. +/** @ingroup Errors PICA plug-in atart-up error. See \c #SPHostSuite */ +#define kHostCanceledStartupPluginsError 'H!St' + +// SPInterface errors +/** @ingroup Errors + PICA interface error. See \c #SPInterfaceSuite */ +#define kSPNotASweetPeaPluginError 'NSPP' +/** @ingroup Errors + PICA interface error. See \c #SPInterfaceSuite */ +#define kSPAlreadyInSPCallerError 'AISC' + +// SPPlugins errors +/** @ingroup Errors + PICA plug-in error. See \c #SPPluginsSuite */ +#define kSPUnknownAdapterError '?Adp' +/** @ingroup Errors + PICA plug-in error. See \c #SPPluginsSuite */ +#define kSPBadPluginListIteratorError 'PiLI' +/** @ingroup Errors + PICA plug-in error. See \c #SPPluginsSuite */ +#define kSPBadPluginHost 'PiH0' +/** @ingroup Errors + PICA plug-in error. See \c #SPPluginsSuite */ +#define kSPCantAddHostPluginError 'AdHo' +/** @ingroup Errors + PICA plug-in error. See \c #SPPluginsSuite */ +#define kSPPluginNotFound 'P!Fd' + +// SPProperties errors +/** @ingroup Errors + PICA properties error. See \c #SPPropertiesSuite */ +#define kSPCorruptPiPLError 'CPPL' +/** @ingroup Errors + PICA properties error. See \c #SPPropertiesSuite */ +#define kSPBadPropertyListIteratorError 'BPrI' + +// SPSuites errors +/** @ingroup Errors + PICA suite access error. See \c #SPSuitesSuite */ +#define kSPSuiteNotFoundError 'S!Fd' +/** @ingroup Errors + PICA suite access error. See \c #SPSuitesSuite */ +#define kSPSuiteAlreadyExistsError 'SExi' +/** @ingroup Errors + PICA suite access error. See \c #SPSuitesSuite */ +#define kSPSuiteAlreadyReleasedError 'SRel' +/** @ingroup Errors + PICA suite access error. See \c #SPSuitesSuite */ +#define kSPBadSuiteListIteratorError 'SLIt' +/** @ingroup Errors + PICA suite access error. See \c #SPSuitesSuite */ +#define kSPBadSuiteInternalVersionError 'SIVs' + +#endif diff --git a/External/AE SDK/Headers/SP/SPErrors.h b/External/AE SDK/Headers/SP/SPErrors.h new file mode 100644 index 00000000..7b8fd8f3 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPErrors.h @@ -0,0 +1,34 @@ +/***********************************************************************/ +/* */ +/* SPErrors.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + + +/******************************************************************************* + ** + ** Errors + ** + **/ +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPCantAcquirePluginError '!Acq' +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPCantReleasePluginError '!Rel' +/** @ingroup Errors + PICA access error. See \c #SPAccessSuite. */ +#define kSPPluginAlreadyReleasedError 'AlRl' diff --git a/External/AE SDK/Headers/SP/SPFiles.h b/External/AE SDK/Headers/SP/SPFiles.h new file mode 100644 index 00000000..fa19c09c --- /dev/null +++ b/External/AE SDK/Headers/SP/SPFiles.h @@ -0,0 +1,511 @@ +/***********************************************************************/ +/* */ +/* SPFiles.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPFiles__ +#define __SPFiles__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPProps.h" + +#include "photoshop/config/platform.hpp" + +#if PS_PLATFORM_APPLE +#include "CoreFoundation/CoreFoundation.h" +#if PS_OS_MAC +#include "Carbon/Carbon.h" +#endif +#endif + +#if PS_OS_IOS +#include "photoshop/platform/EmulateEndianOnIOS.h" +#include "photoshop/platform/EmulateMacErrorsOnIOS.h" +#include "photoshop/platform/EmulateQuickdrawOnIOS.h" +#include "photoshop/platform/EmulateOSAPIsOnIOS.h" +#include "photoshop/platform/EmulateCarbonFilesOnIOS.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** Files suite name */ +#define kSPFilesSuite "SP Files Suite" +/** Files suite version */ +#define kSPFilesSuitePrevVers 3 +#define kSPFilesSuiteVersion 4 + +/** PICA global list of potential plug-in files. . + @see \c #SPRuntimeSuite::GetRuntimeFileList().*/ +#define kSPRuntimeFileList ((SPFileListRef)NULL) + +/** Return value for \c #SPFilesSuite::GetFilePropertyList(), + indicating that the file has no property list. */ +#define kFileDoesNotHavePiPL (SPPropertyListRef)((intptr_t)-1) +/** Return value for \c #SPFilesSuite::GetFilePropertyList(), + indicating that the file has multiple property lists. <> */ +#define kFileHasMulitplePiPLs NULL + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** The maximum number of characters allowed in a file path specification. */ +#define kMaxPathLength 300 + +/** Opaque reference to a file. Access with the \c #SPFilesSuite. */ +typedef struct SPFile *SPFileRef; +/** Opaque reference to a file list. Access with the \c #SPFilesSuite. */ +typedef struct SPFileList *SPFileListRef; +/** Opaque reference to a file-list iterator. Access with the \c #SPFilesSuite. */ +typedef struct SPFileListIterator *SPFileListIteratorRef; +/** Opaque reference to a platform-specific file specification. Access with the \c #SPFilesSuite. */ +typedef struct OpaqueSPPlatformFileRef SPPlatformFileRef; + +#define kXPlatFileSpecVersion 1 + +/** The replacement for SPPlatformFileSpecification and SPPlatformFileSpecificationW, +** used in SP Files Suite version 4 and later */ +typedef struct XPlatFileSpec { + int32 mFileSpecVersion; ///< \brief kXPlatFileSpecVersion + ///< + ///< A value of zero implies "not initialized", + ///< and you should not attempt to use mFileReference +#if defined(WIN_ENV) || defined(ANDROID_ENV) || WEB_ENV || defined(UNIX_ENV) + uint16* mFileReference; ///< \brief mFileReference could be as long as 64K but MUST be NULL terminated. +#elif defined(MAC_ENV) + CFURLRef mFileReference; ///< \brief A CFURLRef, as defined by Mac OS X +#endif +} XPlatFileSpec; + + +/*******************************************************************************/ + +#if defined (MAC_ENV) +#if PRAGMA_STRUCT_ALIGN // DRSWAT +#pragma options align=mac68k +#endif // PRAGMA_STRUCT_ALIGN + + +/** A file specification: + \li In Mac OS 32 bit, the same as \c FSSpec. + \li In Windows, a path string. */ + + +#if USE_POSIX_API + +typedef struct SPPlatformFileSpecification { /* this handles unicode file names */ + /** The file path string. */ + char path[kMaxPathLength]; +} SPPlatformFileSpecification; + +typedef struct SPPlatformFileSpecificationW { /* this handles unicode file names */ + /** mReference could be as long as 64K but MUST be NULL terminated. */ + uint16 *mReference; +} SPPlatformFileSpecificationW; + +/**Platform-specific file metadata. */ +typedef struct SPPlatformFileInfo { + /** File attribute flags; see Windows documentation. */ + uint32 attributes; + /** Least-significant byte of the file creation date-time (Windows).*/ + uint32 lowCreationTime; + /** Most-significant byte of the file creation date-time (Windows).*/ + uint32 highCreationTime; + /** Least-significant byte of the file modification date-time (Windows).*/ + uint32 lowModificationTime; + /** Most-significant byte of the file cremodification date-time (Windows).*/ + uint32 highModificationTime; + /** The file-name extension indicating the file type (Windows). */ + const char *extension; +} SPPlatformFileInfo; + +#elif PS_PLATFORM_APPLE + +typedef struct SPPlatformFileSpecification { /* this handles unicode file names */ + FSRef mReference; +} SPPlatformFileSpecification; + +typedef struct SPPlatformFileSpecificationW { /* this handles unicode file names */ + FSRef mReference; +} SPPlatformFileSpecificationW; + +#if PRAGMA_STRUCT_ALIGN // DRSWAT +#pragma options align=reset +#endif + + /*******************************************************************************/ + + /** Platform-specific file metadata. */ + typedef struct SPPlatformFileInfo { /* On Mac OS*/ + /** Not used. */ + uint32 attributes; //Unused, but still required to maintain binary compatibility + /** Date file was created (Mac OS). */ + uint32 creationDate; + /** Data file was last modified (Mac OS). */ + uint32 modificationDate; + /** Type of file for Finder (Mac OS). */ + uint32 finderType; + /** File creator (Mac OS). */ + uint32 finderCreator; + /** File flags for Finder; see Mac OS documentation. */ + uint16 finderFlags; + } SPPlatformFileInfo; +#endif // PS_PLATFORM_APPLE + +#endif // MAC_ENV + +/*******************************************************************************/ + +#ifdef WIN_ENV +/** A file specification in Windows. */ +typedef struct SPPlatformFileSpecification { + /** The file path string. */ + char path[kMaxPathLength]; +} SPPlatformFileSpecification; + +/** A widechar file specification in Windows to handle unicode file names. */ +typedef struct SPPlatformFileSpecificationW { + /** mReference could be as long as 64K but MUST be NULL terminated. */ + uint16 *mReference; +} SPPlatformFileSpecificationW; + +/*******************************************************************************/ + +/**Platform-specific file metadata. */ +typedef struct SPPlatformFileInfo { + /** File attribute flags; see Windows documentation. */ + uint32 attributes; + /** Least-significant byte of the file creation date-time (Windows).*/ + uint32 lowCreationTime; + /** Most-significant byte of the file creation date-time (Windows).*/ + uint32 highCreationTime; + /** Least-significant byte of the file modification date-time (Windows).*/ + uint32 lowModificationTime; + /** Most-significant byte of the file cremodification date-time (Windows).*/ + uint32 highModificationTime; + /** The file-name extension indicating the file type (Windows). */ + const uint16 *extension; +} SPPlatformFileInfo; +#endif // WIN_ENV + +/*******************************************************************************/ + + +#if defined(__ANDROID__) || defined(__LINUX__) || defined (__EMSCRIPTEN__) || defined(SIMULATED_WASM) +typedef struct SPPlatformFileSpecification { + /** The file path string. */ + char path[kMaxPathLength]; +} SPPlatformFileSpecification; + +/** A widechar file specification in Windows to handle unicode file names. */ +typedef struct SPPlatformFileSpecificationW { + /** mReference could be as long as 64K but MUST be NULL terminated. */ + uint16 *mReference; +} SPPlatformFileSpecificationW; + +/*******************************************************************************/ + +/**Platform-specific file metadata. */ +typedef struct SPPlatformFileInfo { + uint32 attributes; + uint32 lowCreationTime; + uint32 highCreationTime; + uint32 lowModificationTime; + uint32 highModificationTime; + const uint16 *extension; +} SPPlatformFileInfo; +#endif // __ANDROID__ + +/** Conversion from new platform file specification to old platform file +** specification, and vice-versa. It's okay to pass NULL pointers to these +** functions. If you do, the value returned will be a default constructed +** structure (i.e. zero-filled) +*/ +/** Internal ? */ +SPAPI SPPlatformFileSpecification OldFileSpecFromXplatFileSpec(const XPlatFileSpec* newSpec); + +SPAPI SPPlatformFileSpecificationW OldFileSpecWFromXplatFileSpec(const XPlatFileSpec* newSpec); + +/// Caller owns the CFURLRef contained in XPlatFileSpec::mFileReference +SPAPI XPlatFileSpec XplatFileSpecFromOldFileSpec(const SPPlatformFileSpecification* oldSpec); + +/// Caller owns the CFURLRef contained in XPlatFileSpec::mFileReference +SPAPI XPlatFileSpec XplatFileSpecFromOldFileSpecW(const SPPlatformFileSpecificationW* oldSpecW); + +/*******************************************************************************/ + +/** Internal */ +typedef SPBoolean (*SPAddPiPLFilterProc)( SPPlatformFileInfo *info ); + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite allows you to access the PICA files list. This list, created at startup, + contains references to every file in the application's plug-in folder, including + any resolved file and folder aliases. PICA maintains this list, and uses it to find plug-ins. + + Use this suite to access the plug-in file list, in order to avoid redundant directory + scans. Adapters looking for their own plug-ins and PICA plug-ins looking for + support files should scan the list to locate relevant files rather than walking + platform directory structures on their own. + + Similarly, you can use this suite to create, maintain, and access your own lists + of files in a platform-independant and efficient manner. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPFilesSuite and \c #kSPFilesSuiteVersion (4). + */ + +typedef struct SPFilesSuite { + /** Creates a new file list. Typically, you use the main PICA file list to access + plug-in files, available through \c #SPRuntimeSuite::GetRuntimeFileList(). + You can use this to track other file collections. If you create a new list, you + must free it when it is no longer needed, using \c #FreeFileList(). + @param fileList [out] A buffer in which to return the new file list object. + */ + SPAPI SPErr (*AllocateFileList)( SPFileListRef *fileList ); + /** Frees a file list created with \c #AllocateFileList(), and any entries in the list. + @param fileList The file list object. + */ + SPAPI SPErr (*FreeFileList)( SPFileListRef fileList ); + + /** Adds a file or all files in a directory to a file list. Searches a directory + recursively for contained files. + @param fileList The file list object. + @param file The file or directory specification. + */ + SPAPI SPErr (*AddFiles)( SPFileListRef fileList, const XPlatFileSpec *file ); + + /** Creates a file-list iterator object to use with \c #NextFile() for iterating + through a file list. The iterator is initially set to the first file in the list. + When the iterator is no longer needed, free it with \c #DeleteFileListIterator(). + @param fileList The file list object. + @param iter [out] A buffer in which to return the new iterator object. + */ + SPAPI SPErr (*NewFileListIterator)( SPFileListRef fileList, SPFileListIteratorRef *iter ); + /** Retrieves the current file from a file list iterator, and advances the iterator. + @param iter The iterator object. + @param file [out] A buffer in which to return the current file object, or \c NULL + if the end of the list has been reached. + */ + SPAPI SPErr (*NextFile)( SPFileListIteratorRef iter, SPFileRef *file ); + /** Frees a file-list iterator created with /c #NewFileListIterator(). + @param iter The iterator object. + */ + SPAPI SPErr (*DeleteFileListIterator)( SPFileListIteratorRef iter ); + + /** Retrieves the platform-specific file specification for a file. + @param file The file object. + @param fileSpec [out] A buffer in which to return the file specification. + */ + SPAPI SPErr (*GetFileSpecification)( SPFileRef file, XPlatFileSpec *fileSpec ); + /** Retrieves the metadata for a file. + @param file The file object. + @param info [out] A buffer in which to return the file information. + */ + SPAPI SPErr (*GetFileInfo)( SPFileRef file, SPPlatformFileInfo *info ); + + /** Reports whether a file in a file list is a plug-in. + @param file The file object. + @param isAPlugin [out] A buffer in which to return true if the file is a plug-in. + */ + SPAPI SPErr (*GetIsAPlugin)( SPFileRef file, SPBoolean *isAPlugin ); + /** Sets whether a file in a file list is a plug-in. + @param file The file object. + @param isAPlugin True to mark the file as a plug-in, false to mark it as not a plug-in. + */ + SPAPI SPErr (*SetIsAPlugin)( SPFileRef file, SPBoolean isAPlugin ); + + /** Retrieves the property list for a file. + @param file The file object. + @param propertList [out] A buffer in which to return the property list, + or \c #kFileDoesNotHavePiPL if the file does not have a property list, + or \c #kFileHasMulitplePiPLs if the file has multiple property lists. + @see \c SPPiPL.h + */ + SPAPI SPErr (*GetFilePropertyList)( SPFileRef file, SPPropertyListRef *propertList ); + /** Sets the property list for a file. + @param file The file object. + @param propertList The new property list. + */ + SPAPI SPErr (*SetFilePropertyList)( SPFileRef file, SPPropertyListRef propertList ); + +} SPFilesSuite; + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite allows you to access the PICA files list. This list, created at startup, + contains references to every file in the application's plug-in folder, including + any resolved file and folder aliases. PICA maintains this list, and uses it to find plug-ins. + + Use this suite to access the plug-in file list, in order to avoid redundant directory + scans. Adapters looking for their own plug-ins and PICA plug-ins looking for + support files should scan the list to locate relevant files rather than walking + platform directory structures on their own. + + Similarly, you can use this suite to create, maintain, and access your own lists + of files in a platform-independant and efficient manner. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPFilesSuite and \c #kSPFilesSuitePrevVers (3). + */ +typedef struct SPFilesV3Suite { + /** Creates a new file list. Typically, you use the main PICA file list to access + plug-in files, available through \c #SPRuntimeSuite::GetRuntimeFileList(). + You can use this to track other file collections. If you create a new list, you + must free it when it is no longer needed, using \c #FreeFileList(). + @param fileList [out] A buffer in which to return the new file list object. + */ + SPAPI SPErr (*AllocateFileList)( SPFileListRef *fileList ); + /** Frees a file list created with \c #AllocateFileList(), and any entries in the list. + @param fileList The file list object. + */ + SPAPI SPErr (*FreeFileList)( SPFileListRef fileList ); + + /** Adds a file or all files in a directory to a file list. Searches a directory + recursively for contained files. + @param fileList The file list object. + @param file The file or directory specification. + */ + SPAPI SPErr (*AddFiles)( SPFileListRef fileList, const SPPlatformFileSpecification *file ); + + /** Creates a file-list iterator object to use with \c #NextFile() for iterating + through a file list. The iterator is initially set to the first file in the list. + When the iterator is no longer needed, free it with \c #DeleteFileListIterator(). + @param fileList The file list object. + @param iter [out] A buffer in which to return the new iterator object. + */ + SPAPI SPErr (*NewFileListIterator)( SPFileListRef fileList, SPFileListIteratorRef *iter ); + /** Retrieves the current file from a file list iterator, and advances the iterator. + @param iter The iterator object. + @param file [out] A buffer in which to return the current file object, or \c NULL + if the end of the list has been reached. + */ + SPAPI SPErr (*NextFile)( SPFileListIteratorRef iter, SPFileRef *file ); + /** Frees a file-list iterator created with /c #NewFileListIterator(). + @param iter The iterator object. + */ + SPAPI SPErr (*DeleteFileListIterator)( SPFileListIteratorRef iter ); + + /** Retrieves the platform-specific file specification for a file. + @param file The file object. + @param fileSpec [out] A buffer in which to return the file specification. + */ + SPAPI SPErr (*GetFileSpecification)( SPFileRef file, SPPlatformFileSpecification *fileSpec ); + /** Retrieves the metadata for a file. + @param file The file object. + @param info [out] A buffer in which to return the file information. + */ + SPAPI SPErr (*GetFileInfo)( SPFileRef file, SPPlatformFileInfo *info ); + + /** Reports whether a file in a file list is a plug-in. + @param file The file object. + @param isAPlugin [out] A buffer in which to return true if the file is a plug-in. + */ + SPAPI SPErr (*GetIsAPlugin)( SPFileRef file, SPBoolean *isAPlugin ); + /** Sets whether a file in a file list is a plug-in. + @param file The file object. + @param isAPlugin True to mark the file as a plug-in, false to mark it as not a plug-in. + */ + SPAPI SPErr (*SetIsAPlugin)( SPFileRef file, SPBoolean isAPlugin ); + + /** Retrieves the property list for a file. + @param file The file object. + @param propertList [out] A buffer in which to return the property list, + or \c #kFileDoesNotHavePiPL if the file does not have a property list, + or \c #kFileHasMulitplePiPLs if the file has multiple property lists. + @see \c SPPiPL.h + */ + SPAPI SPErr (*GetFilePropertyList)( SPFileRef file, SPPropertyListRef *propertList ); + /** Sets the property list for a file. + @param file The file object. + @param propertList The new property list. + */ + SPAPI SPErr (*SetFilePropertyList)( SPFileRef file, SPPropertyListRef propertList ); + +} SPFilesV3Suite; + + +/** Internal */ +SPAPI SPErr SPAllocateFileList( SPFileListRef *fileList ); +/** Internal */ +SPAPI SPErr SPFreeFileList( SPFileListRef fileList ); +/** Internal */ +SPAPI SPErr SPAddFiles( SPFileListRef fileList, const SPPlatformFileSpecification *file ); +/** Internal */ +SPAPI SPErr SPNewAddFiles( SPFileListRef fileList, const XPlatFileSpec *file ); + +/** Internal */ +SPAPI SPErr SPNewFileListIterator( SPFileListRef fileList, SPFileListIteratorRef *iter ); +/** Internal */ +SPAPI SPErr SPNextFile( SPFileListIteratorRef iter, SPFileRef *file ); +/** Internal */ +SPAPI SPErr SPDeleteFileListIterator( SPFileListIteratorRef iter ); + +/** Internal */ +SPAPI SPErr SPGetFileSpecification( SPFileRef file, SPPlatformFileSpecification *fileSpec ); +/** Internal */ +SPAPI SPErr SPNewGetFileSpecification( SPFileRef file, XPlatFileSpec *fileSpec ); +/** Internal */ +SPAPI SPErr SPGetFileInfo( SPFileRef file, SPPlatformFileInfo *info ); +/** Internal */ +SPAPI SPErr SPGetIsAPlugin( SPFileRef file, SPBoolean *isAPlugin ); +/** Internal */ +SPAPI SPErr SPSetIsAPlugin( SPFileRef file, SPBoolean isAPlugin ); + +/** Internal */ +SPAPI SPErr SPGetFilePropertyList( SPFileRef file, SPPropertyListRef *propertList ); +/** Internal */ +SPAPI SPErr SPSetFilePropertyList( SPFileRef file, SPPropertyListRef propertList ); + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPHost.h b/External/AE SDK/Headers/SP/SPHost.h new file mode 100644 index 00000000..601bf736 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPHost.h @@ -0,0 +1,176 @@ +/***********************************************************************/ +/* */ +/* SPHost.h */ +/* */ +/* Copyright 1995-1999 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPHost__ +#define __SPHost__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPAccess.h" +#include "SPAdapts.h" +#include "SPBasic.h" +#include "SPBckDbg.h" +#include "SPBlocks.h" +#include "SPCaches.h" +#include "SPFiles.h" +#include "SPInterf.h" +#include "SPPlugs.h" +#include "SPProps.h" +#include "SPRuntme.h" +#include "SPStrngs.h" +#include "SPSuites.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ + + +/* + * The version number of the Sweet Pea host interface. You can compare it to the + * version number that Sweet Pea was compiled with to determine that you are + * running the version you think you are. See SPVersion() below. + * + * This number consists of a hi word which is the major version number reflecting + * changes to the SP inteface, and a low word which is the minor revision number, + * for instance indicating bug fixes. + */ + +#define kSPVersion 0x000B0002 // version 11.2 + + +/* + * Options available to the host at init time. They are: + * + * kSPHostBlockDebugOption - block allocation debugging is enabled. See + * SPBckDbg.h for details. + * + * Examples: + * + * SPInit( hostProcs, pluginsFolder, kSPHostNoOptions, error ); + * // No debugging. + * + * SPInit( hostProcs, pluginsFolder, kSPHostBlockDebugOption, error ); + * // Enable block debugging. + */ + +#define kSPHostNoOptions 0 +#define kSPHostBlockDebugOption (1<<0L) + + +/******************************************************************************* + ** + ** Functions + ** + **/ + +/* + * SPInit() initializes Sweet Pea. It is the first call made to Sweet Pea. It + * initializes its suites and builds the list of application files. + * + * HostProcs points to a filled-in structure of host callbacks, as described + * in SPRuntme.h. It may be NULL, in which case Sweet Pea uses its default + * versions for all of the host callbacks. PluginFolder is the file spec of the + * plug-ins folder. The contents of this folder are collected into the application + * files list (see SPFiles.h). Options may be any of the host options described + * above. + */ +SPErr SPInit( SPHostProcs *hostProcs, const SPPlatformFileSpecification *pluginFolder, int32 options ); + +/* + * SPXPlatInit() uses the XPlatFileSpec rather than the SPPlatformFileSpecification. + * + * Otherwise it's identical to SPInit (and actually calls through to it for Photoshop 17.0) + */ +SPErr SPXPlatInit( SPHostProcs *hostProcs, const XPlatFileSpec *pluginFolder, int32 options ); + +SPBoolean SPInited( void ); + +/* + * SPTerm() terminates Sweet Pea. Call this when your application quits. + */ +SPErr SPTerm( void ); + +/* + * SPStartupPlugins() scans the list of application files and builds the list + * of plug-ins. It then starts them up, calling each in turn with a start up + * message (see SPPlugs.h). Call this sometime after SPInit(). + */ +SPErr SPStartupPlugins( void ); + +/* + * SPShutdownPlugins() shuts down the plug-ins. It calls each in turn with a + * shut down message (see SPPlugs.h). Call this when your application quits + * before calling SPTerm(). + */ +SPErr SPShutdownPlugins( void ); + + +#ifdef MAC_ENV +/* + * SPSetPPCLoadHeap() sets the destination heap of plug-in accesses on PowerPPC + * Macintoshes. Plug-ins can load into the system heap or the application heap. + */ +typedef enum { + kAppHeap = 0, + kSysHeap +} SPTargetHeap; + +SPErr SPSetPPCLoadHeap( SPTargetHeap target ); + +/* + * SPSetHostBundleRef() lets sweet pea know the bundle ref of the host. + */ +SPErr SPSetHostBundleRef(CFBundleRef hostBundle); +#endif + + +/* + * SPVersion() returns the version number of the Sweet Pea host interface (this + * file) for which Sweet Pea was built. You can compare this to the constant + * kSPVersion to make sure you're using the version you think you are. + */ +uint32 SPVersion( void ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPInterf.h b/External/AE SDK/Headers/SP/SPInterf.h new file mode 100644 index 00000000..276d09f0 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPInterf.h @@ -0,0 +1,180 @@ +/***********************************************************************/ +/* */ +/* SPInterf.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPInterface__ +#define __SPInterface__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPBasic.h" +#include "SPFiles.h" +#include "SPMData.h" +#include "SPPlugs.h" +#include "SPProps.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** PICA Interface suite name. */ +#define kSPInterfaceSuite "SP Interface Suite" +/** PICA Interface suite version. */ +#define kSPInterfaceSuiteVersion 2 + +/** PICA messaging system caller; see \c #SPInterfaceSuite. */ +#define kSPInterfaceCaller "SP Interface" +/** PICA messaging system startup; see \c #SPInterfaceSuite. */ +#define kSPInterfaceStartupSelector "Startup" +/** PICA messaging system shutdown; see \c #SPInterfaceSuite. */ +#define kSPInterfaceShutdownSelector "Shutdown" +/** PICA messaging system request for information; see \c #SPInterfaceSuite. + Illustrator sends this call to all plug-ins to implement + the "About Plug-ins" feature.*/ +#define kSPInterfaceAboutSelector "About" + +/** Adapter name for PICA version 2. */ +#define kSPSweetPea2Adapter "Sweet Pea 2 Adapter" +/** Adapter version for PICA version 2.*/ +#define kSPSweetPea2AdapterVersion 1 + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** A basic message, sent with \c #kSPInterfaceCaller. */ +typedef struct SPInterfaceMessage { + + /** The message data. */ + SPMessageData d; + +} SPInterfaceMessage; + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite provides is the ability for a plug-in to call + other plug-ins, by sending a message to the main entry point. + This is how the application communicates with plug-ins. + + Use \c #SetupMessageData() to prepare the message for a call, + \c #SendMessage() to send the call with the message, and + \c #EmptyMessageData() to terminate the operation, allowing + PICA to release the basic suite and store global variables. + + These calls work only with PICA plug-ins. Before making the calls, + use \c #SPAdaptersSuite::GetAdapterName() to determine that + the target is a PICA plug-in. For non-PICA plug-ins, use the + interface suite provided by the adapter. See \c #SPAdaptersSuite. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPInterfaceSuite and \c #kSPInterfaceSuiteVersion. +*/ +typedef struct SPInterfaceSuite { + + /** Sends a message to a PICA plug-in, loading it if needed and + passing the caller, selector, and message to the main entry point. + @param plug-in The target plug-in object. + @param caller The caller constant. See @ref Callers. + @param selector The selector constant. See @ref Selectors. + @param message The message, initialized by \c #SetupMessageData(). + @param result [out] A buffer in which to return the result of the call, + as returned by the target plug-in. + */ + SPAPI SPErr (*SendMessage)( SPPluginRef plugin, const char *caller, const char *selector, + void *message, SPErr *result ); + + /** Initializes a message to be sent with \c #SendMessage(). + The function fills in the basic suite, the plug-in reference, + and the globals pointer that PICA keeps for that plug-in. + You must provide any additional data needed. + @param plugin The target plug-in object. + @param data The message structure, initialized with data required + for the intended call. + */ + SPAPI SPErr (*SetupMessageData)( SPPluginRef plugin, SPMessageData *data ); + /** Terminates a call to another plug-in, releasing the basic suite and + updating the target plug-in's globals pointer, in case it has changed. + Use after a call to \c #SendMessage(). + @param plugin The target plug-in object. + @param data The message structure, updated during the call. + */ + SPAPI SPErr (*EmptyMessageData)( SPPluginRef plugin, SPMessageData *data ); + + /** Starts up the plug-in in a plug-in list that exports a given suite. + Searches in the given plug-in list for the plug-in that exports the named + suite, and, if found, sends it the startup message. + @param pluginList The plug-in list object. Access PICA's global plug-in + list using \c #SPRuntimeSuite::GetRuntimePluginList(), + or create your own lists with \c #SPPluginsSuite::AllocatePluginList(). + @param name The suite name constant. + @param version The suite version number constant. + @param started [out] A buffer in which to return true (non-zero) if a + plug-in that exports the suite was found, false (0) if not. + */ + SPAPI SPErr (*StartupExport)( SPPluginListRef pluginList, const char *name, int32 version, + int32 *started ); + +} SPInterfaceSuite; + + +/** Internal */ +SPAPI SPErr SPSendMessage( SPPluginRef plugin, const char *caller, const char *selector, + void *message, SPErr *result ); + +/** Internal */ +SPAPI SPErr SPSetupMessageData( SPPluginRef plugin, SPMessageData *data ); +/** Internal */ +SPAPI SPErr SPEmptyMessageData( SPPluginRef plugin, SPMessageData *data ); + +/** Internal */ +SPAPI SPErr SPStartupExport( SPPluginListRef pluginList, const char *name, int32 version, + int32 *started ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPMData.h b/External/AE SDK/Headers/SP/SPMData.h new file mode 100644 index 00000000..507e5fff --- /dev/null +++ b/External/AE SDK/Headers/SP/SPMData.h @@ -0,0 +1,66 @@ +/***********************************************************************/ +/* */ +/* SPMData.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPMessageData__ +#define __SPMessageData__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** The value of \c #SPMessageData::SPCheck, if the message data associated + with a call to a plug-in has come from \c #SPInterfaceSuite::SendMessage(), + or is prepared using \c #SPInterfaceSuite::SetupMessageData(). */ +#define kSPValidSPMessageData 'SPCk' + +/** Basic suite-access information provided with every call. */ +typedef struct SPMessageData { + /** \c #kSPValidSPMessageData if this is a valid PICA message. */ + int32 SPCheck; + /** This plug-in, an \c #SPPluginRef. */ + struct SPPlugin *self; + /** An array of application-wide global variables. */ + void *globals; + /** A pointer to the basic PICA suite, which you use to obtain all other suites. */ + struct SPBasicSuite *basic; + +} SPMessageData; + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPObject.h b/External/AE SDK/Headers/SP/SPObject.h new file mode 100644 index 00000000..9c419b2b --- /dev/null +++ b/External/AE SDK/Headers/SP/SPObject.h @@ -0,0 +1,15 @@ +/****************************************************************************** + SPObject.h + +Purpose: + Defines the suite for registering and creating Sweet Pea objects. + It is a "conventional" Sweet Pea suite used to provide + COM-like objects from Sweet Pea plugins. + + Copyright (c) 1995-1998, 2002 Adobe Systems Incorporated. +******************************************************************************/ +#pragma once +#ifndef __SPObject__ +#define __SPObject__ +/* This module is obsolete. */ +#endif /* __SPObject__ */ diff --git a/External/AE SDK/Headers/SP/SPPiPL.h b/External/AE SDK/Headers/SP/SPPiPL.h new file mode 100644 index 00000000..02aac5d8 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPPiPL.h @@ -0,0 +1,302 @@ +/***********************************************************************/ +/* */ +/* SPPiPL.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPPiPL__ +#define __SPPiPL__ + + +/******************************************************************************* + ** + ** Imports and alignment + ** + **/ + +#include "SPTypes.h" + + +#if PRAGMA_STRUCT_ALIGN +#pragma options align=mac68k +#endif + + +/******************************************************************************* + ** + ** Constants + ** + ** Note: 4-character long IDs must be defined in hexidecimal, not long + ** literal ('long'), due to Windows RC compilers not understanding what + ** to do with them. + ** + **/ + +/** Vendor identifier for a plug-in resource, \c #PIProperty::vendorID value. +
'ADBE' Vendor identifier for PICA-generic applications. */ +#define PIAdobeVendorID (PIType)0x41444245L + +/** Property mechanism version property, \c #PIProperty::propertyKey value +
'ivrs' PICA plug-in version. */ +#define PISPVersionProperty (PIType)0x69767273L + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'impt' Suite import information. */ +#define PIImportsProperty (PIType)0x696D7074L + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'expt' Suite export information. */ +#define PIExportsProperty (PIType)0x65787074L + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'ppcR' Power PC resource information. */ +#define PIPowerPCCodeResProperty (PIType)0x70706352L + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'heap' Mac OS PPC-only. +
If not defined, loads application default heap. +
If 0, loads system heap */ +#define PIDestinationHeapProperty (PIType)0x68656170L +/** Value of \c #PIDestinationHeapProperty, loads system heap */ +#define PILoadInAppHeap (1L<<0) + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'adpt' Adapter version property (a long value) */ +#define PIAdapterProperty (PIType)0x61647074L + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'pinm' Internal plug-in name */ +#define PIPluginNameProperty (PIType)0x70696E6DL + +/** Plug-in resource type, \c #PIProperty::propertyKey value. +
'AcpM' Message flags */ +#define PIConditionalMessages (PIType)0x4163704DL +/** Flag bit for \c #PIConditionalMessages: plug-in accepts property changes. <> */ +#define PIAcceptsPropertyMessage (1L<<0) +/** Flag bit for \c #PIConditionalMessages: skip shutdown. <> */ +#define PISkipShutDownMessage (1L<<1) +/** Flag bit for \c #PIConditionalMessages: plug-in accepts purge-cache messages. */ +#define PIAcceptsPurgeCachesMessage (1L<<2) +/** Flag bit for \c #PIConditionalMessages: skip startup message. <> */ +#define PISkipStartupMessage (1L<<3) + +/** Internal. Plug-in resource type, \c #PIProperty::propertyKey value. +
'RelP' generated by Illustrator to optimize program launch */ +#define PIReleasePluginEarly 0x52656c50 + +/******************************************************************************* + ** + ** General PiPL properties and structures + ** + ** Many hosts multiply define these properties, so we bracket them + ** so they are only defined once. + ** + **/ + +#ifndef kGeneralPiPLPropertiesDefined // Already defined? +/** Internal: Defines the general properties only if the application has + not already done so. */ +#define kGeneralPiPLPropertiesDefined // Only define once. + +/** Data type for plug-in property key and vendor ID. See \c #PIProperty. */ +typedef SPUInt32 PIType; + +/** Plug-in properties version number. */ +#define kCurrentPiPLVersion 0 + +// 'kind' giving the plug-in's kind: +#define PIKindProperty (PIType)0x6b696e64L + +// 'm68k' 68k code descriptor. See struct below. +#define PI68KCodeProperty (PIType)0x6d36386bL + +// 'pwpc' PowerPC code descriptor. See struct below. +#define PIPowerPCCodeProperty (PIType)0x70777063L + +// 'ppcb' PowerPC CARBON code descriptor. See struct below. +#define PIPowerPCCarbonCodeProperty 'ppcb' + +// 'mach' PowerPC Mach-O code descriptor. See struct below. +#define PIPowerPCMachOCodeProperty 'mach' + +// 'mi32' Intel 32 Mach-O code descriptor. See struct below. +#define PIMacIntel32Property 'mi32' + +// 'mi64' Intel 64 Mach-O code descriptor. See struct below. +#define PIMacIntel64Property 'mi64' + +// 'ma64' ARM 64 Mach-O code descriptor. See struct below. +#define PIMacARM64Property 'ma64' + +// 'frag' PowerPC fragment descriptor. See struct below. +#define PICodeFragmentProperty 'frag' + +// 'frgc' PowerPC CARBON fragment descriptor. See struct below. +#define PICarbonCodeFragmentProperty 'frgc' + +// '8664' Win32 Intel code descriptor. See struct below. +#define PIWin64X86CodeProperty (PIType)0x38363634L + +// 'wx86' Win32 Intel code descriptor. See struct below. +#define PIWin32X86CodeProperty (PIType)0x77783836L + +// \deprecated 'fx86' Win16 Intel code descriptor. See struct below. +#define PIWin16X86CodeProperty (PIType)0x66783836L + +/** Plug-in property. Properties contain information about + plug-in resource files, such as their type and location. */ +typedef struct PIProperty { + /** Vendor-specific identifier. */ + PIType vendorID; + /** Identification key for this resource type. */ + PIType propertyKey; + /** 0-based index of this resource within its type. + Must be unique for properties of a given type within + a property list. */ + SPInt32 propertyID; + /** Number of characters in the data array. Rounded to a multiple of 4. */ + SPInt32 propertyLength; + /** The property data array that contains the property value, a string of 4 characters. */ + char propertyData[1]; +} PIProperty; + +/** Plug-in property list. Provides the version number of the plug-in + property mechanism itself, and properties for the associated plug-in. + */ +typedef struct PIPropertyList { + /** Version number for the \c #PIProperty structure. */ + SPInt32 version; + /** Number of properties in the list. */ + SPInt32 count; + /** The properties array. */ + PIProperty properties[1]; +} PIPropertyList; + +/* Following structures describe resource file types used in plug-in property lists. + * These structures obey Macintosh 68k alignment and padding rules though + * generally they are laid out so fields have natural alignment and any + * needed padding is explicit in the structure. + */ + //<> + +/** 68k code descriptor. */ +typedef struct PI68KCodeDesc { + /** Property type key code. */ + PIType fType; + /** Property type unique identifier. */ + int16 fID; +} PI68KCodeDesc; + +/** PowerPC code descriptor. */ +typedef struct PICFMCodeDesc { + /** The offset within the data fork for the start of this plugin's + code fragment. This allows more than one code-fragment-based + plug-in per file. */ + SPInt32 fContainerOffset; + /** The length of this plug-in's code fragment. If this + is the only fragment in the file, the length is 0. */ + SPInt32 fContainerLength; + /** The entry-point name, used to look up the address of + the function to call within the fragment; allows a single code + fragment to export more than one plug-in. + + If the name is an empty string, the default entry point + for the code fragment is used. The entry-point name + must be an exported symbol of the code fragment. */ + unsigned char fEntryName[1]; +} PICFMCodeDesc; + +/** PowerPC Mach-O code descriptor. */ +typedef struct PIMachCodeDesc +{ + /** Property type key code <> */ + unsigned char fEntryName[1]; +} PIMachCodeDesc; + +// For 'mi32' PICodeMacIntel32Property: +// For 'mi64' PICodeMacIntel64Property: +typedef struct PIMacIntelMachCodeDesc +{ + unsigned char fEntryName[1]; +} PIMacIntelMachCodeDesc; + +typedef struct PIFragmentCodeDesc +{ + SPInt32 fFragmentResource; + SPInt32 fFramentNumber; + unsigned char fEntryName[1]; +} PIFragmentCodeDesc; + +/** The entry point name for 64 bit windows, used to lookup the function +which is called to invoke the plug-in. A \c NULL terminated string, padded +with additional \ NULL charcters if needed to satisfy the 4-byte alignment +requirement. See @ref PIWin64X86CodeProperty above. */ +typedef struct PIWin64X86CodeDesc +{ + char fEntryName[1]; +} PIWin64X86CodeDesc; + +/** The entry point name for 32 bit windows, used to lookup the function +which is called to invoke the plug-in. A \c NULL terminated string, padded +with additional \ NULL charcters if needed to satisfy the 4-byte alignment +requirement. See @ref PIWin32X86CodeProperty above. */ +typedef struct PIWin32X86CodeDesc { + char fEntryName[1]; +} PIWin32X86CodeDesc; + +/** \deprecated Win16 Intel code descriptor. +See @ref PIWin16X86CodeProperty above. */ +typedef struct PIWin16X86CodeDesc { + char fEntryName[1]; +} PIWin16X86CodeDesc; + +#endif // kGeneralPiPLPropertiesDefined + + +/******************************************************************************* + ** + ** Additional Types + ** + **/ + +/** CFM code descriptor */ +typedef struct PICFMCodeResourceDesc { + /** Not used. */ + SPInt32 fContainerOffset; /* Currently unused, reserved. */ + /** The length of this plug-in's code fragment. If this + is the only fragment in the file, the length is 0. */ + SPInt32 fContainerLength; + /** Resource type key code. <> */ + PIType fType; + /** Unique identifier for the resource within the type. <> */ + int16 fID; + /** The entry-point name, used to look up the address of + the function to call within the fragment; allows a single code + fragment to export more than one plug-in. + + If the name is an empty string, the default entry point + for the code fragment is used. The entry-point name + must be an exported symbol of the code fragment. */ + unsigned char fEntryName[1]; +} PICFMCodeResourceDesc; + +/*******************************************************************************/ + +#if PRAGMA_STRUCT_ALIGN +#pragma options align=reset +#endif + +#endif // SPPiPL diff --git a/External/AE SDK/Headers/SP/SPPlugs.h b/External/AE SDK/Headers/SP/SPPlugs.h new file mode 100644 index 00000000..7cbd83be --- /dev/null +++ b/External/AE SDK/Headers/SP/SPPlugs.h @@ -0,0 +1,631 @@ +/***********************************************************************/ +/* */ +/* SPPlugs.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPPlugins__ +#define __SPPlugins__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPFiles.h" +#include "SPAdapts.h" +#include "SPProps.h" +#include "SPStrngs.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** PICA plugins suite name */ +#define kSPPluginsSuite "SP Plug-ins Suite" +/** PICA plugins suite version */ +#define kSPPluginsSuiteVersion4 4 +/** PICA plugins suite version */ +#define kSPPluginsSuiteVersion5 5 +/** PICA plugins suite version */ +#define kSPPluginsSuiteVersion6 6 + +#define kSPPluginsSuiteVersion kSPPluginsSuiteVersion4 + +/** PICA global list of available plug-ins.. + @see \c #SPRuntimeSuite::GetRuntimePluginList(). */ +#define kSPRuntimePluginList ((SPPluginListRef)NULL) + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** Opaque reference to a plug-in object. Access with the \c #SPPluginsSuite. */ +typedef struct SPPlugin *SPPluginRef; +/** A list of plug-in objects. Create with + \c #SPPluginsSuite::AllocatePluginList(), or use + the global list, \c #kSPRuntimePluginList. */ +typedef struct SPPluginList *SPPluginListRef; +/** An iterator object for examining a plug-in list. + See \c #SPPluginsSuite::NewPluginListIterator(). */ +typedef struct SPPluginListIterator *SPPluginListIteratorRef; + +/** PICA file-access error */ +typedef struct _SPErrorData +{ + /** The file for which the error occurred. */ + SPPlatformFileSpecification mErrorFile; + /** Error code, see @ref Errors. */ + SPErr mErrorCode; +} SPErrorData, *SPErrorDataPtr; + +/** File-access error */ +typedef struct _SPXPlatErrorData +{ + /** The file for which the error occurred. */ + XPlatFileSpec mErrorFile; + /** Error code, see @ref Errors. */ + SPErr mErrorCode; +} SPXPlatErrorData, *SPXPlatErrorDataPtr; + +/** */ +typedef SPAPI SPErr (*SPPluginEntryFunc)( const char *caller, const char *selector, void *message ); + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** This suite allows you to access and manipulate the plug-in object for your own + and those of other plug-ins managed by the Adobe plug-in manager (PICA). + You can access both plug-ins provided with the application (\e host plug-ins), + and external plug-ins.You can query and set plug-in states, + including the "broken" state, which indicates that a plug-in has + become unavailable due to an error condition. + + You can also use this suite to create and use your own lists of plug-ins, + in addition to the global list kept by the application. + + For higher-level access to plug-ins, see \c #AIPluginSuite. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPPluginsSuite and \c #kSPPluginsSuiteVersion. + */ +typedef struct SPPluginsSuite { + + /** Creates a new plug-in list. You can also access PICA's global plug-in list, + using \c #SPRuntimeSuite::GetRuntimePluginList(). + @param stringPool The string pool in which to keep plug-in names. + @param pluginList [out] A buffer in which to return the new list object. + */ + SPAPI SPErr (*AllocatePluginList)( SPStringPoolRef strings, SPPluginListRef *pluginList ); + /** Frees a list of plug-ins allocated with \c #AllocatePluginList(), and + also frees any entries in the list. Do not free the global list (\c #kSPRuntimePluginList). + @param pluginList The plug-in list object. + */ + SPAPI SPErr (*FreePluginList)( SPPluginListRef pluginList ); + + /** Creates a new plug-in object and adds it to a plug-in list. + @param pluginList The plug-in list object, or \c NULL to use the + global list. + @param fileSpec The file specification for the plug-in code and resources. + @param PiPL The structure containing the plug-in properties. + @param adapterName The unique identifiying name of the adapter for the new plug-in. + @param adapterInfo A pointer to the adapter-defined structure that stores needed + information about this plug-in. + @param plugin [out] A buffer in which to return the new plug-in object. + @see \c #AllocatePluginList(), \c #SPAdaptersSuite + */ + SPAPI SPErr (*AddPlugin)( SPPluginListRef pluginList, const SPPlatformFileSpecification *fileSpec, + PIPropertyList *PiPL, const char *adapterName, void *adapterInfo, SPPluginRef *plugin ); + + /** Creates an iterator object with which to traverse a plug-in list. + The iterator is initially set to the first plug-in in the list. + @param pluginList The plug-in list object, or \c NULL to use the + global list. + @param iter [out] A buffer in which to return the new iterator object. + @see \c #NextPlugin(), \c #DeletePluginListIterator() + */ + SPAPI SPErr (*NewPluginListIterator)( SPPluginListRef pluginList, SPPluginListIteratorRef *iter ); + /** Retrieves the current plug-in and advances a plug-in-list iterator to the next plug-in in the list. + @param iter The plug-in-list iterator object. + @param plugin [out] A buffer in which to return the current plug-in object, \c NULL + if the end of the list has been reached. + @see \c #NewPluginListIterator(), + */ + SPAPI SPErr (*NextPlugin)( SPPluginListIteratorRef iter, SPPluginRef *plugin ); + /** Frees a plug-in-list iterator that is no longer needed. + @param iter The plug-in-list iterator object. + @see \c #NewPluginListIterator(), + */ + SPAPI SPErr (*DeletePluginListIterator)( SPPluginListIteratorRef iter ); + /** Reports whether a plug-in that is needed <> is + available in a plug-in list. + @param pluginList The plug-in list object, or \c NULL to use the global list. + @param available [out] A buffer in which to return true if the plug-in <> + is found in the list. + @see \c #SPInterfaceSuite::StartupExport() + */ + SPAPI SPErr (*GetPluginListNeededSuiteAvailable)( SPPluginListRef pluginList, SPBoolean *available ); + + /** Retrieves <> for a plug-in provided by the application. <> + @param plugin The plug-in object. + @param host A pointer to the callback procedure. <> + */ + SPAPI SPErr (*GetPluginHostEntry)( SPPluginRef plugin, SPPluginEntryFunc *hostEntry ); + /** Retrieves the code and resources file of a plug-in. + @param plugin The plug-in object. + @param fileSpec [out] A buffer in which to return the file specification. + @see \c #SPFilesSuite + */ + SPAPI SPErr (*GetPluginFileSpecification)( SPPluginRef plugin, SPPlatformFileSpecification *fileSpec ); + /** Retrieves the property list of a plug-in. + @param plugin The plug-in object. + @param propertList [out] A buffer in which to return the property list object. + @see \c #SPPropertiesSuite + */ + SPAPI SPErr (*GetPluginPropertyList)( SPPluginRef plugin, SPPropertyListRef *propertList ); + /** Retrieves the global variables of a plug-in. This is the same value passed in messages + to the plug-in, which PICA stores when the plug-in is unloaded. + @param plugin The plug-in object. + @param globals [out] A buffer in which to return a pointer to the global variable array. + */ + SPAPI SPErr (*GetPluginGlobals)( SPPluginRef plugin, void **globals ); + /** Sets the global variables for a plug-in. This is the same value passed in messages + to the plug-in, which PICA stores when the plug-in is unloaded. + @param plugin The plug-in object. + @param globals The new global variable array. + */ + SPAPI SPErr (*SetPluginGlobals)( SPPluginRef plugin, void *globals ); + /** Reports whether a plug-in has received and returned from the interface start-up message. + @param plugin The plug-in object. + @param started [out] A buffer in which to return true (non-zero) if the plug-in has been started, + false (0) otherwise. + */ + SPAPI SPErr (*GetPluginStarted)( SPPluginRef plugin, int32 *started ); + /** Sets whether a plug-in has received and returned from the interface start-up message. + @param plugin The plug-in object. + @param started True (non-zero) if the plug-in has been started, false (0) otherwise. + */ + SPAPI SPErr (*SetPluginStarted)( SPPluginRef plugin, int32 started ); + /** Reports whether a plug-in is instructed to skip the start-up message. + @param plugin The plug-in object. + @param skipShutdown [out] A buffer in which to return true (non-zero) if the plug-in skips + the start-up message, false (0) otherwise. + */ + SPAPI SPErr (*GetPluginSkipShutdown)( SPPluginRef plugin, int32 *skipShutdown ); + /** Instructs a plug-in to respond or not to respond to the start-up message. + @param plugin The plug-in object. + @param skipShutdown True (non-zero) to skip the start-up message, false (0) + to respond normally to the start-up message. + */ + SPAPI SPErr (*SetPluginSkipShutdown)( SPPluginRef plugin, int32 skipShutdown ); + /** Reports whether a plug-in has reported an error condition that makes it unavailable. + @param plugin The plug-in object. + @param broken [out] A buffer in which to return true (non-zero) if + the plug-in is marked as broken, false (0) otherwise. + */ + SPAPI SPErr (*GetPluginBroken)( SPPluginRef plugin, int32 *broken ); + /** Sets or clears the broken flag that marks a plug-in as unavailable due to an + error condition. + @param plugin The plug-in object. + @param broken True (non-zero) to mark the plug-in as broken, false (0) + to clear the broken flag. + */ + SPAPI SPErr (*SetPluginBroken)( SPPluginRef plugin, int32 broken ); + /** Retrieves the adapter for a plug-in. + @param plugin The plug-in object. + @param adapter [out] A buffer in which to return the adapter object. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetPluginAdapter)( SPPluginRef plugin, SPAdapterRef *adapter ); + /** Retrieves the adapter-specific information for a plug-in. Typically + used only by the adapter that defined the information. Other plug-ins + should use \c #AIPluginSuite::GetPluginOptions(). + @param plugin The plug-in object. + @param adapterInfo [out] A buffer in which to return a pointer to the adapter-defined + information structure. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetPluginAdapterInfo)( SPPluginRef plugin, void **adapterInfo ); + /** Sets the adapter-specific information for a plug-in. Typically + used only by the adapter that defined the information. Other plug-ins + should use \c #AIPluginSuite::SetPluginOptions(). + @param plugin The plug-in object. + @param adapterInfo The adapter-defined information structure. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*SetPluginAdapterInfo)( SPPluginRef plugin, void *adapterInfo ); + + /** Retrieves a specific property from the property list for a plug-in. If + the property is not found in the list, sends the plug-in the + \c #kSPPropertiesAcquireSelector message. The plug-in can ignore the + message, or it can create and return the requested property. In either + case, this function adds the (possibly \c NULL) property to the list + and returns it. + @param plugin The plug-in object. + @param vendorID The property vendor ID code. + @param propetyKey The property type key code. + @param propertyID The specific property identifier. + @param p [out] A buffer in which to return a pointer to the property object. + @see \c #SPPropertiesSuite + */ + SPAPI SPErr (*FindPluginProperty)( SPPluginRef plugin, PIType vendorID, PIType propertyKey, int32 propertyID, PIProperty **p ); + + /** Retrieves the name of a plug-in. + @param plugin The plug-in object. + @param name [out] A buffer in which to return the name string. + */ + SPAPI SPErr (*GetPluginName)( SPPluginRef plugin, const char **name ); + /** Sets the name of a plug-in. + @param plugin The plug-in object. + @param name The new name string. + */ + SPAPI SPErr (*SetPluginName)( SPPluginRef plugin, const char *name ); + /** Retrieves a plug-in by name. + @param name The name string. + @param plugin [out] A buffer in which to return the plug-in object. + */ + SPAPI SPErr (*GetNamedPlugin)( const char *name, SPPluginRef *plugin); + + /** Sets the property list for a plug-in. + @param plugin The plug-in object. + @param file The file containing the property list. <> + */ + SPAPI SPErr (*SetPluginPropertyList)( SPPluginRef plugin, SPFileRef file ); + + // Plug-ins suite version 5 + /* This attribute frees the adapterInfo field for private data for adapters. + <> */ + /** Retrieves host information for a plug-in. <> + @param plugin The plug-in object. + @param hostInfo [out] A buffer in which to return a pointer to the + host information structure. + */ + SPAPI SPErr (*GetPluginHostInfo)( SPPluginRef plugin, void **hostInfo ); + /** Sets host information for a plug-in. <> + @param plugin The plug-in object. + @param hostInfo The new host information structure. + */ + SPAPI SPErr (*SetPluginHostInfo)( SPPluginRef plugin, void *hostInfo ); + +} SPPluginsSuite; + + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** This suite allows you to access and manipulate the plug-in object but uses + the XPlatFileSpec rather than the SPPlatformFileSpecification as in previous + versions. + + For higher-level access to plug-ins, see \c #AIPluginSuite. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPPluginsSuite and \c #kSPPluginsSuiteVersion6. + */ +typedef struct SPXPlatPluginsSuite { + + /** Creates a new plug-in list. You can also access PICA's global plug-in list, + using \c #SPRuntimeSuite::GetRuntimePluginList(). + @param stringPool The string pool in which to keep plug-in names. + @param pluginList [out] A buffer in which to return the new list object. + */ + SPAPI SPErr (*AllocatePluginList)( SPStringPoolRef strings, SPPluginListRef *pluginList ); + /** Frees a list of plug-ins allocated with \c #AllocatePluginList(), and + also frees any entries in the list. Do not free the global list (\c #kSPRuntimePluginList). + @param pluginList The plug-in list object. + */ + SPAPI SPErr (*FreePluginList)( SPPluginListRef pluginList ); + + /** Creates a new plug-in object and adds it to a plug-in list. + @param pluginList The plug-in list object, or \c NULL to use the + global list. + @param fileSpec The file specification for the plug-in code and resources. + @param PiPL The structure containing the plug-in properties. + @param adapterName The unique identifiying name of the adapter for the new plug-in. + @param adapterInfo A pointer to the adapter-defined structure that stores needed + information about this plug-in. + @param plugin [out] A buffer in which to return the new plug-in object. + @see \c #AllocatePluginList(), \c #SPAdaptersSuite + */ + SPAPI SPErr (*AddXPlatPlugin)( SPPluginListRef pluginList, const XPlatFileSpec *fileSpec, + PIPropertyList *PiPL, const char *adapterName, void *adapterInfo, SPPluginRef *plugin ); + + /** Creates an iterator object with which to traverse a plug-in list. + The iterator is initially set to the first plug-in in the list. + @param pluginList The plug-in list object, or \c NULL to use the + global list. + @param iter [out] A buffer in which to return the new iterator object. + @see \c #NextPlugin(), \c #DeletePluginListIterator() + */ + SPAPI SPErr (*NewPluginListIterator)( SPPluginListRef pluginList, SPPluginListIteratorRef *iter ); + /** Retrieves the current plug-in and advances a plug-in-list iterator to the next plug-in in the list. + @param iter The plug-in-list iterator object. + @param plugin [out] A buffer in which to return the current plug-in object, \c NULL + if the end of the list has been reached. + @see \c #NewPluginListIterator(), + */ + SPAPI SPErr (*NextPlugin)( SPPluginListIteratorRef iter, SPPluginRef *plugin ); + /** Frees a plug-in-list iterator that is no longer needed. + @param iter The plug-in-list iterator object. + @see \c #NewPluginListIterator(), + */ + SPAPI SPErr (*DeletePluginListIterator)( SPPluginListIteratorRef iter ); + /** Reports whether a plug-in that is needed <> is + available in a plug-in list. + @param pluginList The plug-in list object, or \c NULL to use the global list. + @param available [out] A buffer in which to return true if the plug-in <> + is found in the list. + @see \c #SPInterfaceSuite::StartupExport() + */ + SPAPI SPErr (*GetPluginListNeededSuiteAvailable)( SPPluginListRef pluginList, SPBoolean *available ); + + /** Retrieves <> for a plug-in provided by the application. <> + @param plugin The plug-in object. + @param host A pointer to the callback procedure. <> + */ + SPAPI SPErr (*GetPluginHostEntry)( SPPluginRef plugin, SPPluginEntryFunc *hostEntry ); + /** Retrieves the code and resources file of a plug-in. + @param plugin The plug-in object. + @param fileSpec [out] A buffer in which to return the file specification. + @see \c #SPFilesSuite + */ + SPAPI SPErr (*GetPluginXplatFileSpec)( SPPluginRef plugin, XPlatFileSpec *fileSpec ); + /** Retrieves the property list of a plug-in. + @param plugin The plug-in object. + @param propertList [out] A buffer in which to return the property list object. + @see \c #SPPropertiesSuite + */ + SPAPI SPErr (*GetPluginPropertyList)( SPPluginRef plugin, SPPropertyListRef *propertList ); + /** Retrieves the global variables of a plug-in. This is the same value passed in messages + to the plug-in, which PICA stores when the plug-in is unloaded. + @param plugin The plug-in object. + @param globals [out] A buffer in which to return a pointer to the global variable array. + */ + SPAPI SPErr (*GetPluginGlobals)( SPPluginRef plugin, void **globals ); + /** Sets the global variables for a plug-in. This is the same value passed in messages + to the plug-in, which PICA stores when the plug-in is unloaded. + @param plugin The plug-in object. + @param globals The new global variable array. + */ + SPAPI SPErr (*SetPluginGlobals)( SPPluginRef plugin, void *globals ); + /** Reports whether a plug-in has received and returned from the interface start-up message. + @param plugin The plug-in object. + @param started [out] A buffer in which to return true (non-zero) if the plug-in has been started, + false (0) otherwise. + */ + SPAPI SPErr (*GetPluginStarted)( SPPluginRef plugin, int32 *started ); + /** Sets whether a plug-in has received and returned from the interface start-up message. + @param plugin The plug-in object. + @param started True (non-zero) if the plug-in has been started, false (0) otherwise. + */ + SPAPI SPErr (*SetPluginStarted)( SPPluginRef plugin, int32 started ); + /** Reports whether a plug-in is instructed to skip the start-up message. + @param plugin The plug-in object. + @param skipShutdown [out] A buffer in which to return true (non-zero) if the plug-in skips + the start-up message, false (0) otherwise. + */ + SPAPI SPErr (*GetPluginSkipShutdown)( SPPluginRef plugin, int32 *skipShutdown ); + /** Instructs a plug-in to respond or not to respond to the start-up message. + @param plugin The plug-in object. + @param skipShutdown True (non-zero) to skip the start-up message, false (0) + to respond normally to the start-up message. + */ + SPAPI SPErr (*SetPluginSkipShutdown)( SPPluginRef plugin, int32 skipShutdown ); + /** Reports whether a plug-in has reported an error condition that makes it unavailable. + @param plugin The plug-in object. + @param broken [out] A buffer in which to return true (non-zero) if + the plug-in is marked as broken, false (0) otherwise. + */ + SPAPI SPErr (*GetPluginBroken)( SPPluginRef plugin, int32 *broken ); + /** Sets or clears the broken flag that marks a plug-in as unavailable due to an + error condition. + @param plugin The plug-in object. + @param broken True (non-zero) to mark the plug-in as broken, false (0) + to clear the broken flag. + */ + SPAPI SPErr (*SetPluginBroken)( SPPluginRef plugin, int32 broken ); + /** Retrieves the adapter for a plug-in. + @param plugin The plug-in object. + @param adapter [out] A buffer in which to return the adapter object. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetPluginAdapter)( SPPluginRef plugin, SPAdapterRef *adapter ); + /** Retrieves the adapter-specific information for a plug-in. Typically + used only by the adapter that defined the information. Other plug-ins + should use \c #AIPluginSuite::GetPluginOptions(). + @param plugin The plug-in object. + @param adapterInfo [out] A buffer in which to return a pointer to the adapter-defined + information structure. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetPluginAdapterInfo)( SPPluginRef plugin, void **adapterInfo ); + /** Sets the adapter-specific information for a plug-in. Typically + used only by the adapter that defined the information. Other plug-ins + should use \c #AIPluginSuite::SetPluginOptions(). + @param plugin The plug-in object. + @param adapterInfo The adapter-defined information structure. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*SetPluginAdapterInfo)( SPPluginRef plugin, void *adapterInfo ); + + /** Retrieves a specific property from the property list for a plug-in. If + the property is not found in the list, sends the plug-in the + \c #kSPPropertiesAcquireSelector message. The plug-in can ignore the + message, or it can create and return the requested property. In either + case, this function adds the (possibly \c NULL) property to the list + and returns it. + @param plugin The plug-in object. + @param vendorID The property vendor ID code. + @param propetyKey The property type key code. + @param propertyID The specific property identifier. + @param p [out] A buffer in which to return a pointer to the property object. + @see \c #SPPropertiesSuite + */ + SPAPI SPErr (*FindPluginProperty)( SPPluginRef plugin, PIType vendorID, PIType propertyKey, int32 propertyID, PIProperty **p ); + + /** Retrieves the name of a plug-in. + @param plugin The plug-in object. + @param name [out] A buffer in which to return the name string. + */ + SPAPI SPErr (*GetPluginName)( SPPluginRef plugin, const char **name ); + /** Sets the name of a plug-in. + @param plugin The plug-in object. + @param name The new name string. + */ + SPAPI SPErr (*SetPluginName)( SPPluginRef plugin, const char *name ); + /** Retrieves a plug-in by name. + @param name The name string. + @param plugin [out] A buffer in which to return the plug-in object. + */ + SPAPI SPErr (*GetNamedPlugin)( const char *name, SPPluginRef *plugin); + + /** Sets the property list for a plug-in. + @param plugin The plug-in object. + @param file The file containing the property list. <> + */ + SPAPI SPErr (*SetPluginPropertyList)( SPPluginRef plugin, SPFileRef file ); + + // Plug-ins suite version 5 + /* This attribute frees the adapterInfo field for private data for adapters. + <> */ + /** Retrieves host information for a plug-in. <> + @param plugin The plug-in object. + @param hostInfo [out] A buffer in which to return a pointer to the + host information structure. + */ + SPAPI SPErr (*GetPluginHostInfo)( SPPluginRef plugin, void **hostInfo ); + /** Sets host information for a plug-in. <> + @param plugin The plug-in object. + @param hostInfo The new host information structure. + */ + SPAPI SPErr (*SetPluginHostInfo)( SPPluginRef plugin, void *hostInfo ); + +} SPXPlatPluginsSuite; + + +/** Internal */ +SPAPI SPErr SPAllocatePluginList( SPStringPoolRef strings, SPPluginListRef *pluginList ); +/** Internal */ +SPAPI SPErr SPFreePluginList( SPPluginListRef pluginList ); +/** Internal */ +SPAPI SPErr SPGetPluginListNeededSuiteAvailable( SPPluginListRef pluginList, SPBoolean *available ); + +/** Internal */ +SPAPI SPErr SPAddPlugin( SPPluginListRef pluginList, const SPPlatformFileSpecification *fileSpec, + PIPropertyList *PiPL, const char *adapterName, void *adapterInfo, SPPluginRef *plugin ); + +/** Internal */ +SPAPI SPErr SPAddXPlatPlugin( SPPluginListRef pluginList, const XPlatFileSpec *fileSpec, + PIPropertyList *PiPL, const char *adapterName, void *adapterInfo, SPPluginRef *plugin ); + +/** Internal */ +SPAPI SPErr SPNewPluginListIterator( SPPluginListRef pluginList, SPPluginListIteratorRef *iter ); +/** Internal */ +SPAPI SPErr SPNextPlugin( SPPluginListIteratorRef iter, SPPluginRef *plugin ); +/** Internal */ +SPAPI SPErr SPDeletePluginListIterator( SPPluginListIteratorRef iter ); + +/** Internal */ +SPAPI SPErr SPGetHostPluginEntry( SPPluginRef plugin, SPPluginEntryFunc *hostEntry ); +/** Internal */ +SPAPI SPErr SPGetPluginFileSpecification( SPPluginRef plugin, SPPlatformFileSpecification *fileSpec ); +/** Internal */ +SPAPI SPErr SPGetPluginXplatFileSpec( SPPluginRef plugin, XPlatFileSpec *fileSpec ); +/** Internal */ +SPAPI SPErr SPGetPluginPropertyList( SPPluginRef plugin, SPPropertyListRef *propertyList ); +/** Internal */ +SPAPI SPErr SPGetPluginGlobals( SPPluginRef plugin, void **globals ); +/** Internal */ +SPAPI SPErr SPSetPluginGlobals( SPPluginRef plugin, void *globals ); +/** Internal */ +SPAPI SPErr SPGetPluginStarted( SPPluginRef plugin, int32 *started ); +/** Internal */ +SPAPI SPErr SPSetPluginStarted( SPPluginRef plugin, int32 started ); +/** Internal */ +SPAPI SPErr SPGetPluginSkipShutdown( SPPluginRef plugin, int32 *skipShutdown ); +/** Internal */ +SPAPI SPErr SPSetPluginSkipShutdown( SPPluginRef plugin, int32 skipShutdown ); +/** Internal */ +SPAPI SPErr SPGetPluginBroken( SPPluginRef plugin, int32 *broken ); +/** Internal */ +SPAPI SPErr SPSetPluginBroken( SPPluginRef plugin, int32 broken ); +/** Internal */ +SPAPI SPErr SPGetPluginAdapter( SPPluginRef plugin, SPAdapterRef *adapter ); +/** Internal */ +SPAPI SPErr SPGetPluginAdapterInfo( SPPluginRef plugin, void **adapterInfo ); +/** Internal */ +SPAPI SPErr SPSetPluginAdapterInfo( SPPluginRef plugin, void *adapterInfo ); + +/** Internal */ +SPAPI SPErr SPFindPluginProperty( SPPluginRef plugin, PIType vendorID, PIType propertyKey, + int32 propertyID, PIProperty **p ); + +/** Internal */ +SPAPI SPErr SPGetPluginName( SPPluginRef plugin, const char **name ); +/** Internal */ +SPAPI SPErr SPSetPluginName( SPPluginRef plugin, const char *name ); +/** Internal */ +SPAPI SPErr SPGetNamedPlugin( const char *name, SPPluginRef *plugin); + +/** Internal */ +SPAPI SPErr SPSetPluginPropertyList( SPPluginRef plugin, SPFileRef file ); + +/** Internal */ +SPErr SPAddHostPlugin( SPPluginListRef pluginList, SPPluginEntryFunc entry, void *access, const char *adapterName, + void *adapterInfo, SPPluginRef *plugin, const char *name); + /* access is SPPlatformAccessRef */ + + +// Plug-ins suite version 5 +/* This attribute frees the adapterInfo field for private data for adapters. */ +/** Internal */ +SPAPI SPErr SPGetPluginHostInfo( SPPluginRef plugin, void **hostInfo ); +/** Internal */ +SPAPI SPErr SPSetPluginHostInfo( SPPluginRef plugin, void *hostInfo ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPProps.h b/External/AE SDK/Headers/SP/SPProps.h new file mode 100644 index 00000000..748c7ba7 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPProps.h @@ -0,0 +1,316 @@ +/***********************************************************************/ +/* */ +/* SPProps.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPProperties__ +#define __SPProperties__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPMData.h" +#include "SPPiPL.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +/** PICA properties suite name */ +#define kSPPropertiesSuite "SP Properties Suite" +/** PICA properties suite version */ +#define kSPPropertiesSuiteVersion2 2 +/** PICA properties suite version */ +#define kSPPropertiesSuiteVersion kSPPropertiesSuiteVersion2 // minimal is default +/** PICA properties suite version */ +#define kSPPropertiesSuiteVersion3 3 + +/** @ingroup Callers + PICA plug-in property operation; sent with \c #SPPropertiesMessage. + See \c #SPPropertiesSuite. */ +#define kSPPropertiesCaller "SP Properties" +/** @ingroup Selectors + Acquire PICA plug-in properties; sent with \c #SPPropertiesMessage. + See \c #SPPropertiesSuite.*/ +#define kSPPropertiesAcquireSelector "Acquire" +/** @ingroup Selectors + Release PICA plug-in properties; sent with \c #SPPropertiesMessage. + See \c #SPPropertiesSuite.*/ +#define kSPPropertiesReleaseSelector "Release" + + +/******************************************************************************* + ** + ** Types + ** + **/ +/** An opaque reference to a plug-in property. Access with the \c #SPPropertiesSuite. */ +typedef struct SPProperty *SPPropertyRef; +/** An opaque reference to a plug-in property list. Create and access with the \c #SPPropertiesSuite. */ +typedef struct SPPropertyList *SPPropertyListRef; +/** An opaque reference to an iterator for a plug-in property list. Create and access with the \c #SPPropertiesSuite. */ +typedef struct SPPropertyListIterator *SPPropertyListIteratorRef; + +/** Message passed with the \c #kSPPropertiesCaller. */ +typedef struct SPPropertiesMessage { + /** The message data. */ + SPMessageData d; + + /** Unique identifier for the vendor defining this property type. This allows + you to define your own properties in a way that + does not conflict with either Adobe or other vendors. + Use a registered application creator code to ensure uniqueness. + All PICA properties use \c #PIAdobeVendorID.*/ + PIType vendorID; + /** The property type key code, typically identifies a resource type. */ + PIType propertyKey; + /** The unique property identifier, for multiple resources of a given + type. Normally, there is only one, and the ID value is 0. */ + int32 propertyID; + + /** A structure containing the property data, or value. */ + void *property; + /** Reference count. Increment when a property is acquired, decrement + when it is released. */ + int32 refCon; + /** True (non-zero) if this property does not change betweeen sessions + and can be cached by the application in the start-up preferences + file, false (0) otherwise. Typically true. */ + int32 cacheable; + +} SPPropertiesMessage; + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + Use these functions to create, access, and manage plug-in property lists + associated with a specific plug-in. Plug-in properties provide the + application with resource information for the plug-in, such as the types + and locations of code files, and the plug-in version. + + A plug-in can be associated with multiple properties lists. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPPropertiesSuite and \c #kSPPropertiesSuiteVersion. + */ +typedef struct SPPropertiesSuite { + + /** Creates a new plug-in property list. + @param stringPool The string pool in which to keep plug-in names. + @param propertyList [out] A buffer in which to return the new list object. + */ + SPAPI SPErr (*AllocatePropertyList)( SPPropertyListRef *propertyList ); + /** Frees a list of plug-in properties allocated with \c #AllocatePropertyList(), and + also frees any entries in the list. If the list is one of a chain, frees the + entire chain. + @param propertyList The plug-in properties list object. + @see \c #SPHasMultiplePropertyLists() + */ + SPAPI SPErr (*FreePropertyList)( SPPropertyListRef propertyList ); + + /** Adds a set of properties to a plug-in properties list. This set is typically + read from a resource file.Creates an \c #SPPropertyRef for each property, + but does not return these objects. + @param propertyList The plug-in properties list object. + @param pList A pointer to the low-level structure for the set of properties to add. + @param refCon The initial reference count for properties in the set. + @param cacheable True (non-zero) if these properties do not change betweeen sessions + and can be cached by the application in the start-up preferences + file, false (0) otherwise. Typically true. + @see \c #AddProperty() + */ + SPAPI SPErr (*AddProperties)( SPPropertyListRef propertyList, PIPropertyList *pList, int32 refCon, int32 cacheable ); + + /** Creates a new individual property and adds it to a plug-in properties list. + Typically called to install a property returned from an \c #kSPPropertiesAcquireSelector message. + @param propertyList The plug-in properties list object. + @param vendorID The vendor identifier for the new property. + @param propertyKey The type key code for the new property. + @param propertyID The unique identifier for the individual property (normally 0). + @param p A pointer to the property value structure. + <> + @param refCon The initial reference count for property. + @param cacheable True (non-zero) if this property does not change betweeen sessions + and can be cached by the application in the start-up preferences + file, false (0) otherwise. Typically true. + @param property [out] A buffer in which to return the new property object. + @see \c #AllocatePropertyList(), \c #AddProperties() + */ + SPAPI SPErr (*AddProperty)( SPPropertyListRef propertyList, PIType vendorID, PIType propertyKey, int32 propertyID, PIProperty *p, + int32 refCon, int32 cacheable, SPPropertyRef *property ); + + /** Retrieves a property from a plug-in properties list, or from any list in its chain. + @param propertyList The plug-in properties list object. + @param vendorID The vendor identifier for the new property. + @param propertyKey The type key code for the new property. + @param propertyID The unique identifier for the individual property (normally 0). + @param property [out] A buffer in which to return the property object, or \c NULL if a + matching property is not found. + @param \c #FindPropertyLocal() + */ + SPAPI SPErr (*FindProperty)( SPPropertyListRef propertyList, PIType vendorID, PIType propertyKey, int32 propertyID, SPPropertyRef *property ); + + /** Creates an iterator object with which to traverse a plug-in properties list. + The iterator is initially set to the first property in the list. + @param propertyList The plug-in properties list object. + @param iter [out] A buffer in which to return the new iterator object. + @see \c #NextProperty(), \c #DeletePropertyListIterator() + */ + SPAPI SPErr (*NewPropertyListIterator)( SPPropertyListRef propertyList, SPPropertyListIteratorRef *iter ); + /** Retrieves the current property and advances a plug-in properties list iterator + to the next property in the list. + @param iter The plug-in properties list iterator object. + @param property [out] A buffer in which to return the current property object, \c NULL + if the end of the list has been reached. + @see \c #NewPropertyListIterator(), + */ + SPAPI SPErr (*NextProperty)( SPPropertyListIteratorRef iter, SPPropertyRef *property ); + /** Frees a plug-in properties list iterator that is no longer needed. + @param iter The plug-in properties list iterator object. + @see \c #NewPropertyListIterator(), + */ + SPAPI SPErr (*DeletePropertyListIterator)( SPPropertyListIteratorRef iter ); + + /** Retrieves the low-level property structure of a property object. + @param property The property object. + @param p [out] A buffer in which to return a pointer to the property structure. + */ + SPAPI SPErr (*GetPropertyPIProperty)( SPPropertyRef property, PIProperty **p ); + /** Retrieves the current reference count of a property. + @param property The property object. + @param refCon [out] A buffer in which to return the reference count. + */ + SPAPI SPErr (*GetPropertyRefCon)( SPPropertyRef property, int32 *refCon ); + /** Reports whether a property is cacheable. + @param property The property object. + @param cacheable [out] A buffer in which to return true (non-zero) + if this property does not change betweeen sessions + and can be cached by the application in the start-up preferences + file, false (0) otherwise. + */ + SPAPI SPErr (*GetPropertyCacheable)( SPPropertyRef property, int32 *cacheable ); + /** Reports whether a property was allocated by the plug-in that contains it. + @param property The property object. + @param allocatedByPlugin [out] A buffer in which to return true (non-zero) + if this property was created after being acquired from a + \c #kSPPropertiesAcquireSelector message, false (0) if the + property was read from a resource file. + @see \c #AddProperty(), \c #AddProperties() + */ + SPAPI SPErr (*GetPropertyAllocatedByPlugin)( SPPropertyRef property, int32 *allocatedByPlugin ); + + // kSPPropertiesSuiteVersion3 + /** Reports whether a plug-in properties list is one of a chain of properties lists for its plug-in. + (Note that this function returns a boolean value, not an error code.) + @param propertyList The plug-in properties list object. + @return True (non-zero) if the list is one of a chain, false (0) otherwise. + @see \c #GetNextPropertyList() + */ + SPAPI SPBoolean (*SPHasMultiplePropertyLists)(SPPropertyListRef propertyList); + /** Retrieves the next plug-in properties list in a properties-list chain. + @param propertyList The current plug-in properties list object. + @param nextPropertyList [out] A buffer in which to return the next properties list object, + or \c NULL if the end of the chain has been reached. + */ + SPAPI SPErr (*GetNextPropertyList)(SPPropertyListRef propertyList, SPPropertyListRef *nextPropertyList); + /** Retrieves a property from a plug-in properties list, but does not search in other + lists in the chain. + @param propertyList The plug-in properties list object. + @param vendorID The vendor identifier for the new property. + @param propertyKey The type key code for the new property. + @param propertyID The unique identifier for the individual property (normally 0). + @param property [out] A buffer in which to return the property object, or \c NULL if a + matching property is not found. + @see \c #FindProperty() + */ + SPAPI SPErr (*FindPropertyLocal)( SPPropertyListRef propertyList, PIType vendorID, PIType propertyKey, + int32 propertyID, SPPropertyRef *property ); + +} SPPropertiesSuite; + + +/** Internal */ +SPAPI SPErr SPAllocatePropertyList( SPPropertyListRef *propertyList ); +/** Internal */ +SPAPI SPErr SPFreePropertyList( SPPropertyListRef propertyList ); + +/** Internal */ +SPAPI SPErr SPAddProperties( SPPropertyListRef propertyList, PIPropertyList *pList, int32 refCon, + int32 cacheable ); + +/** Internal */ +SPAPI SPErr SPAddProperty( SPPropertyListRef propertyList, PIType vendorID, PIType propertyKey, + int32 propertyID, PIProperty *p, int32 refCon, int32 cacheable, SPPropertyRef *property ); + +/** Internal */ +SPAPI SPErr SPFindProperty( SPPropertyListRef propertyList, PIType vendorID, PIType propertyKey, + int32 propertyID, SPPropertyRef *property ); + +/** Internal */ +SPAPI SPErr SPNewPropertyListIterator( SPPropertyListRef propertyList, SPPropertyListIteratorRef *iter ); +/** Internal */ +SPAPI SPErr SPNextProperty( SPPropertyListIteratorRef iter, SPPropertyRef *property ); +/** Internal */ +SPAPI SPErr SPDeletePropertyListIterator( SPPropertyListIteratorRef iter ); + +/** Internal */ +SPAPI SPErr SPGetPropertyPIProperty( SPPropertyRef property, PIProperty **p ); +/** Internal */ +SPAPI SPErr SPGetPropertyRefCon( SPPropertyRef property, int32 *refCon ); +/** Internal */ +SPAPI SPErr SPGetPropertyCacheable( SPPropertyRef property, int32 *cacheable ); +/** Internal */ +SPAPI SPErr SPGetPropertyAllocatedByPlugin( SPPropertyRef property, int32 *allocatedByPlugin ); + +/** Internal */ +SPAPI SPBoolean SPHasMultiplePropertyLists(SPPropertyListRef propertyList); +/** Internal */ +SPAPI SPErr SPGetNextPropertyList(SPPropertyListRef propertyList, SPPropertyListRef *nextPropertyList); + +/** Internal */ +SPAPI SPErr SPFindPropertyLocal( SPPropertyListRef propertyList, PIType vendorID, + PIType propertyKey, int32 propertyID, SPPropertyRef *property ); + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPRuntme.h b/External/AE SDK/Headers/SP/SPRuntme.h new file mode 100644 index 00000000..8f6f6aa6 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPRuntme.h @@ -0,0 +1,500 @@ +/***********************************************************************/ +/* */ +/* SPRuntme.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPRuntime__ +#define __SPRuntime__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPAdapts.h" +#include "SPFiles.h" +#include "SPPlugs.h" +#include "SPStrngs.h" +#include "SPSuites.h" +#include "SPStrngs.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +#define kSPRuntimeSuite "SP Runtime Suite" +#define kSPRuntimeSuiteVersion 5 +#define kSPRuntimeSuiteXPlatVersion 6 + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/* INTERNAL DOCS + * PICA makes callbacks into the host through the host procs. The host + * procs are filled in by the host and passed to Sweet Pea at SPInit(). + * + * hostData - data that is given back to each host proc when Sweet Pea + * calls it. Sweet Pea does nothing with it itself. + * + * extAllocate - implementation of the Block Suite's AllocateBlock() routine. + * It is identical to ANSI C malloc(). It returns a pointer to the + * beginning of the allocated block or NULL. + * + * extFree - implementation of the Block Suite's FreeBlock() routine. It is + * identical to ANSI C free(). Note that you can pass it NULL. + * + * extReallocate - implementation of the Block Suite's ReallocateBlock() + * routine. It is identical to ANSI C realloc(). It returns a pointer + * to the resized block or NULL. Note that you can pass it NULL or a + * newSize of 0. + * + * intAllocate, intFree, intReallocate - routines used by Sweet Pea for + * its own memory needs. You may want to allocate blocks differently + * with plug-ins and Sweet Pea. Plug-ins are unbounded in their memory + * needs, while Sweet Pea's memory usage can be approximated. + * + * startupNotify - called as each plug-in is started up. This is intended + * as a way to tell the user what's happening during start up. + * Note that plug-ins may start up at any time, not just during + * SPStartupPlugins(). + * + * shutdownNotify - called as each plug-in is shut down. Also intended as + * a way to let users know what's going on. + * + * assertTrap - called when a fatal assert is triggered. Sweet Pea does + * not expect execution to continue after an assert. + * + * throwTrap - called when an internal error is thrown. This can be used + * during debugging to catch errors as they happen. It should return + * to allow Sweet Pea to handle the error. + * + * + * To aid in getting Sweet Pea up and running quickly, you can set any of + * these to NULL and Sweet Pea will use a default implementation. However: + * you cannot mix your implementations of the memory routines with + * Sweet Pea's defaults. + * + * + * The string pool functions replace the default routines used internally + * and exported by the Strings suite. Because they are exported, the behaviors + * listed below should be followed. + * + * allocateStringPool - creates a new string pool instance. The host app and + * Sweet Pea have a string pool which can be used by a plug-in, or a plug-in + * can create its own. See the notes in SPStrngs.h on how the pool is + * implemented. + * The function should return kSPNoError if the pool is allocated successfully + * or kSPOutOfMemoryError if allocation fails. + * + * freeStringPool - disposes of the string pool and any associated memory. The + * funtion should return kSPNoError + * + * makeWString - the string pool keeps a list of added strings. When a new string is + * added with MakeWString(), the routine checks to see if it is already in the + * pool. If so, the address of the string instance in the pool is returned. If + * not, it will add it to the pool and return the address of the newly + * created string instance. The behavior is: + * + * if ( string == NULL ) + * *wString = NULL; + * returns kSPNoError; + * else if ( string in string pool ) + * *wString = found string; + * returns kSPNoError; + * else add string + * if successful + * *wString = new string; + * returns kSPNoError; + * else + * *wString = nil + * returns kSPOutOfMemoryError + * + * appStringPool - if the host application has already allocated a string pool to use, + * it's reference should be passed here. If this value is NULL, Sweet Pea will + * allocate the pool when initialized and dispose of it at termination. + * + * filterEvent - a function called for each event allowing the host to cancel it. + * The event type is indicative of what the filter is to do. A file validation + * is called before a directory entry is added to the file list (kAddFile). + * A plug-in validation before a file is checked for PiPL information (kAddPlugin); + * the host might examine the file name/type to determine whether it should be added. + * For these 'add' events the return value is TRUE if the item should be skipped + * or FALSE if should be should be added. The default filter proc, used (if NULL) + * is passed, will skip files/folders in ( ). + * The other event is kSuitesAvailable. It is called when the last suite adding + * plug-in (as determined by available PiPL information) has been added. This is + * a point at which the host can cancel the startup process; for instance, if the host + * requires a suite from a plug-in, this is the time to check for it. If the + * host returns TRUE, the startup process continues. If it returns FALSE, the + * plug-in startup is canceled and the host would likely terminate or startup in + * an alternate manner. + * + * overrideAddPlugins - if supplied, SP will call the host to create the runtime + * plug-in list. This occurs at SPStartupPlugins(). The function takes no parameters + * as it is up to the host to determine how to do this. For instance, the host can do + * this from cached data or, as SP would, from the file list. A returned error will + * stop the plug-in startup process. + * + * overrideStartup - a function called for each SP2 plug-in before it is sent the + * startup message. If the host returns FALSE, SP will startup the plug-in normal. + * If the host returns true, it is assumed that the host has handled the startup + * for the plug-in, so SP will not do anything for the plug-in. This is intended + * to be used with a plug-in caching scheme. + * The host would be responsible, for instance, for defining the cacheable + * information in the PiPL, adding it when the callback is made, and later issuing + * a startup message when the plug-in is actually needed (e.g. when a menu item + * is selected.) Two notes: don't forget to SetPluginStarted(), and make sure + * to use a string pooled char* to kSPInterfaceCaller and kSPInterfaceStartupSelector. + * + * resolveLink - Windows only. If the search for plug-ins is to recurse sub-folders, + * the host needs to suply this routine. When a .lnk file is encountered, the + * resolveLink host callback function will be called and should return a resolved path. + * This is a host callback due to OLE issues such as initialization, which the SP + * libary does not currently handle. If it returns an error code, the result will + * be ignored. + * + * getPluginAccess - Allows the host to set the plug-in access information. This would + * be used if, for instance, the host kept its own plug-in list (ala, Photoshop), but + * still needed these to be compatible with SPPlugins (e.g. whose accesses are used by ADM) + * + * memoryIsCritical - Mac only. Allows the host to indicate that memory is in a critical state + * (really low, but can't be purged because you are, say, shutdown.) + * If so and the plug-in load target heap is the app heap, when a plug-in fails to load + * SP will then try to load the plug-in into the system heap + */ + +/* These are passed in startup and shutdown host notify procs and the filter file proc. */ +/** A notification event type, that an adapter passes to the \c #SPStartupNotifyProc + and \c #SPShutdownNotifyProc when the associated plug-in is loaded or unloaded. + */ +typedef enum { + /** Sent to the \c #SPStartupNotifyProc after a file has been added as a plug-in. + The \c notifyData value is the plug-in object, an \c #SPPluginRef. */ + kAddFile, /* Internal: for filter file, received before a file is + added to a file list, notifyData is a pointer to the + SPPlatformFileSpecification */ + /** Sent to the \c #SPStartupNotifyProc after a plug-in has been added. + The \c notifyData value is the plug-in object, an \c #SPPluginRef. */ + kAddPlugin, /* Internal: for filter file, received before a file is + checked to see if it is a plugin, notifyData is the + files SPFileRef */ + /** Sent to the \c #SPStartupNotifyProc to specify a general message for the application splash screen. + The \c notifyData value is a pointer to a C string, char**. */ + kSetMessage, + /** Internal */ + kSuitesAvailable, /* Internal: used only by event filter to allow host to + check for suites it requires, notifyDatais NULL */ + /** Internal */ + kError, /* Internal: notifyData is SPErrorDataPtr*/ + /** Sent to the \c #SPStartupNotifyProc after the plug-in is started. + The \c notifyData value is the plug-in object, an \c #SPPluginRef. */ + kStartingupPlugin, /* Internal: for filter file, received before a file is + checked to see if it is a plugin, notifyData is the + files SPFileRef */ + kXPlatError, /* Internal: notifyData is SPXPlatErrorData */ + /** Sent to the \c #SPStartupNotifyProc after the plug-in is started. + The \c notifyData value is the plug-in object, an \c #SPPluginRef. */ + /** Internal */ + kNoEvent = 0xffffffff + } NotifyEvent; + +/** Internal */ +typedef void *(*SPAllocateProc)( size_t size, void *hostData ); +/** Internal */ +typedef void (*SPFreeProc)( void *block, void *hostData ); +/** Internal */ +typedef void *(*SPReallocateProc)( void *block, size_t newSize, void *hostData ); +/** Called by an adapter to inform the application that a plug-in is being started up. + The application uses this information to track the start-up process; for example, + to display a list of plug-ins being loaded. + @param event The notification event constant that identifies which event occurred. + @param notifyData A pointer to plug-in-defined initialization data. + @param hostData A pointer to application-defined initialization data. + @return Nothing. + */ +typedef void (*SPStartupNotifyProc)( NotifyEvent event, void *notifyData, void *hostData ); +/** Called by an adapter to inform the application that a plug-in is being shut down. + The application uses this information to track the shut-down process. + @param event The notificatin event. + @param notifyData A pointer to plug-in-defined termination data. + @param hostData A pointer to application-defined termination data. + @return Nothing. + */ +typedef void (*SPShutdownNotifyProc)( NotifyEvent event, void *notifyData, void *hostData ); +/** Internal */ +typedef void (*SPAssertTrapProc)( const char *failMessage, void *hostData ); +/** Internal */ +typedef void (*SPThrowTrapProc)( SPErr error, void *hostData ); +/** Internal */ +typedef void (*SPDebugTrapProc)( const char *debugMessage, void *hostData ); + +/** Internal */ +typedef SPAPI SPErr (*SPAllocateStringPoolProc)( SPStringPoolRef *pool ); +/** Internal */ +typedef SPAPI SPErr (*SPFreeStringPoolProc)( SPStringPoolRef stringPool ); +/** Internal */ +typedef SPAPI SPErr (*SPMakeWStringProc)( SPStringPoolRef stringPool, const char *string, + const char **wString ); + +/** Internal */ +typedef SPAPI SPErr (*SPGetHostAccessInfoProc)( SPPlatformAccessInfo *spHostAccessInfo ); + +/** Internal */ +typedef SPAPI SPBoolean (*SPFilterEventProc)( NotifyEvent event, const void *eventData ); +/** Internal */ +typedef SPAPI SPErr (*SPAddPluginsProc)( void ); +/** Internal */ +typedef SPAPI SPBoolean (*SPOverrideStartupProc)( SPPluginRef currentPlugin ); + +#if defined(WIN_ENV) || defined(ANDROID_ENV) +/** Internal */ +typedef SPAPI SPErr (*SPResolveLinkProc)(const char *shortcutFile, char *resolvedPath); +#endif + +/** Internal */ +typedef SPAPI SPErr (*GetNativePluginAccessProc)(SPPluginRef plugin, SPAccessRef *access); + +/** Internal */ +typedef SPAPI SPBoolean (*MemoryIsCriticalProc)( void ); + +/** Callback procedures provided to PICA by the application. + Plug-ins do not use these, except for adapters, which + call the initialization and termination procedures. + @see \c #SPRuntimeSuite::GetRuntimeHostFileSpec() */ +typedef struct SPHostProcs { + + void *hostData; + + SPAllocateProc extAllocate; + SPFreeProc extFree; + SPReallocateProc extReallocate; + + SPAllocateProc intAllocate; + SPFreeProc intFree; + SPReallocateProc intReallocate; + /** Plug-in initialization procedure */ + SPStartupNotifyProc startupNotify; + /** Plug-in termination procedure */ + SPShutdownNotifyProc shutdownNotify; + + SPAssertTrapProc assertTrap; + SPThrowTrapProc throwTrap; + SPDebugTrapProc debugTrap; + + SPAllocateStringPoolProc allocateStringPool; + SPFreeStringPoolProc freeStringPool; + SPMakeWStringProc makeWString; + SPStringPoolRef appStringPool; + + SPFilterEventProc filterEvent; + SPAddPluginsProc overrideAddPlugins; + SPOverrideStartupProc overridePluginStartup; + +#if defined(WIN_ENV) || defined(ANDROID_ENV) + SPResolveLinkProc resolveLink; +#endif + + GetNativePluginAccessProc getPluginAccess; + +#ifdef MAC_ENV + // enable second-chance plugin loading for success-critical situations + MemoryIsCriticalProc memoryIsCritical; +#endif + +} SPHostProcs; + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite allows you to obtain specific references to the + PICA global lists and string pool. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPRuntimeSuite and \c #kSPRuntimeSuiteVersion. + */ +typedef struct SPRuntimeSuite { + /** Retrieves the PICA global string pool. + @param stringPool [out] A buffer in which to return the string-pool object. + @see \c #SPStringsSuite + */ + SPAPI SPErr (*GetRuntimeStringPool)( SPStringPoolRef *stringPool ); + /** Retrieves the PICA global suite list. + @param suiteList [out] A buffer in which to return the list object. + @see \c #SPSuitesSuite + */ + SPAPI SPErr (*GetRuntimeSuiteList)( SPSuiteListRef *suiteList ); + /** Retrieves the PICA global file list. + @param fileList [out] A buffer in which to return the list object. + @see \c #SPFilesSuite + */ + SPAPI SPErr (*GetRuntimeFileList)( SPFileListRef *fileList ); + /** Retrieves the PICA global plug-in list. + @param pluginList [out] A buffer in which to return the list object. + @see \c #SPPluginsSuite + */ + SPAPI SPErr (*GetRuntimePluginList)( SPPluginListRef *pluginList ); + /** Retrieves the PICA global adapter list. + @param adapterList [out] A buffer in which to return the list object. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetRuntimeAdapterList)( SPAdapterListRef *adapterList ); + /** Retrieves the block of function pointers supplied to PICA by the + application, which contains memory management routines, notification routines, + exception handling, and string pool routines. + + A plug-in does not normally call the host functions directly; you + can use the PICA suite functions for most operations. An adapter, however, + uses the host functions for start-up and shut-down notification. + @param hostProcs [out] A buffer in which to return a pointer to the + block of function pointers. + */ + SPAPI SPErr (*GetRuntimeHostProcs)( SPHostProcs **hostProcs ); + /** Retrieves the location of the application's plug-in folder. + @param pluginFolder [out] A buffer in which to return the + file specification for the directory that contains plug-ins. + */ + SPAPI SPErr (*GetRuntimePluginsFolder)( SPPlatformFileSpecification *pluginFolder ); + /** Retrieves the location of the application's executable file. + @param hostFileSpec [out] A buffer in which to return the + file specification for the application's executable file. + */ + SPAPI SPErr (*GetRuntimeHostFileSpec)( SPPlatformFileSpecification *hostFileSpec ); +} SPRuntimeSuite; + + + +/******************************************************************************* + ** + ** Suite + ** + **/ +/** @ingroup Suites + This suite allows you to obtain specific references to the + PICA global lists and string pool using the new XPlatFileSpec + rather than the old SPPlatformFileSpecification. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPRuntimeSuite and \c #kSPRuntimeSuiteXPlatVersion. + */ +typedef struct SPXPlatRuntimeSuite { + /** Retrieves the PICA global string pool. + @param stringPool [out] A buffer in which to return the string-pool object. + @see \c #SPStringsSuite + */ + SPAPI SPErr (*GetRuntimeStringPool)( SPStringPoolRef *stringPool ); + /** Retrieves the PICA global suite list. + @param suiteList [out] A buffer in which to return the list object. + @see \c #SPSuitesSuite + */ + SPAPI SPErr (*GetRuntimeSuiteList)( SPSuiteListRef *suiteList ); + /** Retrieves the PICA global file list. + @param fileList [out] A buffer in which to return the list object. + @see \c #SPFilesSuite + */ + SPAPI SPErr (*GetRuntimeFileList)( SPFileListRef *fileList ); + /** Retrieves the PICA global plug-in list. + @param pluginList [out] A buffer in which to return the list object. + @see \c #SPPluginsSuite + */ + SPAPI SPErr (*GetRuntimePluginList)( SPPluginListRef *pluginList ); + /** Retrieves the PICA global adapter list. + @param adapterList [out] A buffer in which to return the list object. + @see \c #SPAdaptersSuite + */ + SPAPI SPErr (*GetRuntimeAdapterList)( SPAdapterListRef *adapterList ); + /** Retrieves the block of function pointers supplied to PICA by the + application, which contains memory management routines, notification routines, + exception handling, and string pool routines. + + A plug-in does not normally call the host functions directly; you + can use the PICA suite functions for most operations. An adapter, however, + uses the host functions for start-up and shut-down notification. + @param hostProcs [out] A buffer in which to return a pointer to the + block of function pointers. + */ + SPAPI SPErr (*GetRuntimeHostProcs)( SPHostProcs **hostProcs ); + /** Retrieves the location of the application's plug-in folder. + @param pluginFolder [out] A buffer in which to return the + file specification for the directory that contains plug-ins. + */ + SPAPI SPErr (*XPlatGetRuntimePluginsFolder)( XPlatFileSpec *pluginFolder ); + /** Retrieves the location of the application's executable file. + @param hostFileSpec [out] A buffer in which to return the + file specification for the application's executable file. + */ + SPAPI SPErr (*XPlatGetRuntimeHostFileSpec)( XPlatFileSpec *hostFileSpec ); +} SPXPlatRuntimeSuite; + + +/** Internal */ +SPAPI SPErr SPGetRuntimeStringPool( SPStringPoolRef *stringPool ); +/** Internal */ +SPAPI SPErr SPGetRuntimeSuiteList( SPSuiteListRef *suiteList ); +/** Internal */ +SPAPI SPErr SPGetRuntimeFileList( SPFileListRef *fileList ); +/** Internal */ +SPAPI SPErr SPGetRuntimePluginList( SPPluginListRef *pluginList ); +/** Internal */ +SPAPI SPErr SPGetRuntimeAdapterList( SPAdapterListRef *adapterList ); +/** Internal */ +SPAPI SPErr SPGetRuntimeHostProcs( SPHostProcs **hostProcs ); +/** Internal */ +SPAPI SPErr SPGetRuntimePluginsFolder( SPPlatformFileSpecification *pluginFolder ); +/** Internal */ +SPAPI SPErr SPXPlatGetRuntimePluginsFolder( XPlatFileSpec *pluginFolder ); +/** Internal */ +SPAPI SPErr SPGetRuntimeHostFileSpec( SPPlatformFileSpecification *hostFileSpec ); +/** Internal */ +SPAPI SPErr SPXPlatGetRuntimeHostFileSpec( XPlatFileSpec *hostFileSpec ); + +/** Internal */ +typedef struct +{ + SPAPI SPErr (*SPAcquireSuiteFunc)( SPSuiteListRef suiteList, const char *name, int32 apiVersion, int32 internalVersion, const void **suiteProcs ); + SPAPI SPErr (*SPReleaseSuiteFunc)( SPSuiteListRef suiteList, const char *name, int32 apiVersion, int32 internalVersion ); + SPErr (*spAllocateBlockFunc)( SPAllocateProc allocateProc, size_t size, const char *debug, void **block ); + SPErr (*spFreeBlockFunc)( SPFreeProc freeProc, void *block ); + SPErr (*spReallocateBlockFunc)( SPReallocateProc reallocateProc, void *block, size_t newSize, const char *debug, void **newblock ); + SPHostProcs *gProcs; +} SPBasicFuncStruct; + +/** Internal */ +void SetUpBasicFuncs(SPBasicFuncStruct *inStruct); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPSTSPrp.h b/External/AE SDK/Headers/SP/SPSTSPrp.h new file mode 100644 index 00000000..956173b3 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPSTSPrp.h @@ -0,0 +1,52 @@ +/***********************************************************************/ +/* */ +/* SPSTSPrp.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPSTSPrp__ +#define __SPSTSPrp__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPPiPL.h" + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +/** Internal */ +#define PISuperTopSecretProperty 'StsP' +/** Internal */ +#define PISuperTopSecretValue 'clEn' + + +/******************************************************************************* + ** + ** Types + ** + **/ + + +#endif diff --git a/External/AE SDK/Headers/SP/SPStrngs.h b/External/AE SDK/Headers/SP/SPStrngs.h new file mode 100644 index 00000000..ebe9bed4 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPStrngs.h @@ -0,0 +1,132 @@ +/***********************************************************************/ +/* */ +/* SPStrngs.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPStrings__ +#define __SPStrings__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** PICA strings suite name */ +#define kSPStringsSuite "SP Strings Suite" +/** PICA strings suite version */ +#define kSPStringsSuiteVersion 2 + +/** Globally available PICA strings resources. + @see \c #SPRuntimeSuite::GetRuntimeStringPool(). */ +#define kSPRuntimeStringPool ((SPStringPoolRef)NULL) + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/* If you override the default string pool handler by defining host proc routines, + * how the string pool memory allocation and searching is done is up to you. As an example, + * the structure below is similar to what Sweet Pea uses for its default string pool + * routines. The pool is a sorted list of strings of number count, kept in memory referenced + * by the heap field. + * + * typedef struct SPStringPool { + * + * SPPoolHeapRef heap; + * int32 count; + * + * } SPStringPool; + */ + +/** Opaque reference to a string pool. Access with the \c #SPStringsSuite. */ +typedef struct SPStringPool *SPStringPoolRef; + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** @ingroup Suites + This suite allows you to work with the PICA string pool. + + PICA manages a string pool, which provides an efficient central + storage space for C strings. When a string is placed in the pool, PICA + checks whether it already exists in the pool, and if so, returns a + pointer to the existing string. If not, it copies the string into the pool, + and returns a pointer to the copy. + + This mechanisms atomizes the strings. Because each string exists in + only one place, strings can be compared by address, rather than character + by character, and string searches are made much more efficient. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPStringsSuite and \c #kSPStringsSuiteVersion. + */ +typedef struct SPStringsSuite { + + /** Creates a new string pool and allocates an initial block of memory for + its strings. You can also access PICA's global string pool, + using \c #SPRuntimeSuite::GetRuntimeStringPool(). + @param stringPool [out] A buffer in which to return the new string pool reference. + */ + SPAPI SPErr (*AllocateStringPool)( SPStringPoolRef *stringPool ); + /** Frees the memory used for a string pool created with \c #AllocateStringPool(). + Do not free the global string pool (\c #kSPRuntimeStringPool). + @param stringPool The string pool reference. + */ + SPAPI SPErr (*FreeStringPool)( SPStringPoolRef stringPool ); + /** Adds a string to a string pool, or, if the string has already been added + to the pool, retrieves a reference to the pooled string. + @param stringPool The string pool reference. + @param string The string. + @param wString [out] A buffer in which to return the address of + the atomized string in the pool. + */ + SPAPI SPErr (*MakeWString)( SPStringPoolRef stringPool, const char *string, const char **wString ); + +} SPStringsSuite; + + +SPAPI SPErr SPAllocateStringPool( SPStringPoolRef *stringPool ); +SPAPI SPErr SPFreeStringPool( SPStringPoolRef stringPool ); +SPAPI SPErr SPMakeWString( SPStringPoolRef stringPool, const char *string, const char **wString ); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPSuites.h b/External/AE SDK/Headers/SP/SPSuites.h new file mode 100644 index 00000000..17b8dc93 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPSuites.h @@ -0,0 +1,284 @@ +/***********************************************************************/ +/* */ +/* SPSuites.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + +#ifndef __SPSuites__ +#define __SPSuites__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPTypes.h" +#include "SPAccess.h" +#include "SPPlugs.h" +#include "SPStrngs.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/******************************************************************************* + ** + ** Constants + ** + **/ +/** PICA suite-management suite name */ +#define kSPSuitesSuite "SP Suites Suite" +/** PICA suite-management suite version */ +#define kSPSuitesSuiteVersion 2 + +/** Internal */ +#define kSPLatestInternalVersion 0 + +/** PICA global list of available suites. + @see \c #SPRuntimeSuite::GetRuntimeSuiteList(). */ +#define kSPRuntimeSuiteList ((SPSuiteListRef)NULL) + + +/******************************************************************************* + ** + ** Types + ** + **/ + +/** Opaque reference to a suite object. Access with the \c #SPSuitesSuite. */ +typedef struct SPSuite *SPSuiteRef; +/** A list of suite objects. Create with + \c #SPSuitesSuite::AllocateSuiteList(), or use + the global list, \c #kSPRuntimeSuiteList. */ +typedef struct SPSuiteList *SPSuiteListRef; +/** An iterator object for examining a suite list. + See \c #SPSuitesSuite::NewSuiteListIterator(). */ +typedef struct SPSuiteListIterator *SPSuiteListIteratorRef; + + +/******************************************************************************* + ** + ** Suite + ** + **/ + +/** @ingroup Suites + This suite allows you to create, manage, and access PICA function suites. + + A suite associates a name and version number with a pointer to an array of + function pointers. The functions generally haves some common purpose, such as + accessing a data type, and are used by plug-ins to interact with PICA, with + the application, and with each other. + + In order to use a function in a suite, you must first \e acquire it. + This suite provides the low-level function \c #AcquireSuite(), + but a plug-in more typically uses the \c #SPBasicSuite, which is provided + with every message to a plug-in. + + PICA creates a global suite list at application startup, which contains + references to every suite added by PICA, the application, or other plug-ins. + You can use this suite to create and manage additional suite lists. + + \li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants + \c #kSPSuitesSuite and \c #kSPSuitesSuiteVersion. + */ +typedef struct SPSuitesSuite { + + /** Creates a new suite list. You can also access PICA's global suite list, + using \c #SPRuntimeSuite::GetRuntimeSuiteList(). + @param stringPool The string pool in which to keep suite names. + @param plugins <> + @param suiteList [out] A buffer in which to return the new list object. + */ + SPAPI SPErr (*AllocateSuiteList)( SPStringPoolRef stringPool, SPPluginListRef plugins, + SPSuiteListRef *suiteList ); + + /** Frees a list of suites allocated with \c #AllocateSuiteList(), and + also frees any entries in the list. Do not free the global list (\c #kSPRuntimeSuiteList). + @param suiteList The suite list object. + */ + SPAPI SPErr (*FreeSuiteList)( SPSuiteListRef suiteList ); + + /** Creates a new plug-in function suite and adds it to a suite list. + Identifying constants for the suite name and version must be made + available in a public header file. + @param suiteList The suite list object, or \c NULL to use the + global list. + @param host The plug-in object providing the suite. + @param name The unique name of the suite. + @param apiVersion The public version number of the suite. + @param internalVersion The internal version number of the suite. + @param suiteProcs A pointer to a structure containing the function pointers + for the suite. + @param suite [out] A buffer in which to return the new suite object. + */ + SPAPI SPErr (*AddSuite)( SPSuiteListRef suiteList, SPPluginRef host, const char *name, + int32 apiVersion, int32 internalVersion, const void *suiteProcs, SPSuiteRef *suite ); + + /** Acquires a function suite from a suite list. Loads the suite if necessary, + and increments its reference count. This function differs from + \c #SPBasicSuite::AcquireSuite() in that you can specify a suite list + and internal version number. + @param suiteList The suite list object, or \c NULL to use the + global list. + @param name The suite name. + @param version The public suite version number. + @param internalVersion The internal suite version number. + @param suiteProcs [out] A buffer in which to return a pointer to the + suite function pointer array. + */ + SPAPI SPErr (*AcquireSuite)( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion, const void **suiteProcs ); + + /** Decrements the reference count of a suite in a suite list and unloads it when the + reference count reaches 0. + @param suiteList The suite list object, or \c NULL to use the + global list. + @param name The suite name. + @param version The public suite version number. + @param internalVersion The internal suite version number. + */ + SPAPI SPErr (*ReleaseSuite)( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion ); + + /** Retrieves a suite from a suite list. + @param suiteList The suite list object, or \c NULL to use the + global list. + @param name The suite name. + @param version The public suite version number. + @param internalVersion The internal suite version number. + @param suiteProcs [out] A buffer in which to return the suite object, or + \c NULL if no matching suite is found in the list. + */ + SPAPI SPErr (*FindSuite)( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion, SPSuiteRef *suite ); + + /** Creates an iterator object with which to traverse a suite list. + The iterator is initially set to the first suite in the list. + @param suiteList The suite list object, or \c NULL to use the + global list. + @param iter [out] A buffer in which to return the new iterator object. + @see \c #NextSuite(), \c #DeleteSuiteListIterator() + */ + SPAPI SPErr (*NewSuiteListIterator)( SPSuiteListRef suiteList, SPSuiteListIteratorRef *iter ); + /** Retrieves the current suite and advances a suite-list iterator to the next suite in the list. + @param iter The suite-list iterator object. + @param suite [out] A buffer in which to return the current suite object, \c NULL + if the end of the list has been reached. + @see \c #NewSuiteListIterator(), + */ + SPAPI SPErr (*NextSuite)( SPSuiteListIteratorRef iter, SPSuiteRef *suite ); + /** Frees a suite-list iterator that is no longer needed. + @param iter The suite-list iterator object. + @see \c #NewSuiteListIterator(), + */ + SPAPI SPErr (*DeleteSuiteListIterator)( SPSuiteListIteratorRef iter ); + + /** Retrieves the plug-in that provides a suite. + @param suite The suite object. + @param plugin [out] A buffer in which to return the plug-in object. + */ + SPAPI SPErr (*GetSuiteHost)( SPSuiteRef suite, SPPluginRef *plugin ); + /** Retrieves the unique name of a suite. + @param suite The suite object. + @param name [out] A buffer in which to return the name string. + */ + SPAPI SPErr (*GetSuiteName)( SPSuiteRef suite, const char **name ); + /** Retrieves the public version number of a suite. + @param suite The suite object. + @param version [out] A buffer in which to return the public version number. + */ + SPAPI SPErr (*GetSuiteAPIVersion)( SPSuiteRef suite, int32 *version ); + /** Retrieves the internal version number of a suite. + @param suite The suite object. + @param version [out] A buffer in which to return the internal version number. + */ + SPAPI SPErr (*GetSuiteInternalVersion)( SPSuiteRef suite, int32 *version ); + /** Retrieves the function pointer array of a suite. + @param suite The suite object. + @param suiteProcs [out] A buffer in which to return a pointer + to the function pointer array. + */ + SPAPI SPErr (*GetSuiteProcs)( SPSuiteRef suite, const void **suiteProcs ); + /** Retrieves the current reference count of a suite. + @param suite The suite object. + @param count [out] A buffer in which to return the reference count. + */ + SPAPI SPErr (*GetSuiteAcquireCount)( SPSuiteRef suite, int32 *count ); + +} SPSuitesSuite; + + +/** Internal */ +SPAPI SPErr SPAllocateSuiteList( SPStringPoolRef stringPool, SPPluginListRef plugins, + SPSuiteListRef *suiteList ); + +/** Internal */ +SPAPI SPErr SPFreeSuiteList( SPSuiteListRef suiteList ); + +/** Internal */ +SPAPI SPErr SPAddSuite( SPSuiteListRef suiteList, SPPluginRef host, const char *name, + int32 apiVersion, int32 internalVersion, const void *suiteProcs, SPSuiteRef *suite ); + +/** Internal */ +SPAPI SPErr SPAcquireSuite( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion, const void **suiteProcs ); + +/** Internal */ +SPAPI SPErr SPReleaseSuite( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion ); + +/** Internal */ +SPAPI SPErr SPFindSuite( SPSuiteListRef suiteList, const char *name, int32 apiVersion, + int32 internalVersion, SPSuiteRef *suite ); + +/** Internal */ +SPAPI SPErr SPNewSuiteListIterator( SPSuiteListRef suiteList, SPSuiteListIteratorRef *iter ); +/** Internal */ +SPAPI SPErr SPNextSuite( SPSuiteListIteratorRef iter, SPSuiteRef *suite ); +/** Internal */ +SPAPI SPErr SPDeleteSuiteListIterator( SPSuiteListIteratorRef iter ); + +/** Internal */ +SPAPI SPErr SPGetSuiteHost( SPSuiteRef suite, SPPluginRef *plugin ); +/** Internal */ +SPAPI SPErr SPGetSuiteName( SPSuiteRef suite, const char **name ); +/** Internal */ +SPAPI SPErr SPGetSuiteAPIVersion( SPSuiteRef suite, int32 *version ); +/** Internal */ +SPAPI SPErr SPGetSuiteInternalVersion( SPSuiteRef suite, int32 *version ); +/** Internal */ +SPAPI SPErr SPGetSuiteProcs( SPSuiteRef suite, const void **suiteProcs ); +/** Internal */ +SPAPI SPErr SPGetSuiteAcquireCount( SPSuiteRef suite, int32 *count ); + + +/******************************************************************************* + ** + ** Errors + ** + **/ + +#include "SPErrorCodes.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/External/AE SDK/Headers/SP/SPTypes.h b/External/AE SDK/Headers/SP/SPTypes.h new file mode 100644 index 00000000..182c0810 --- /dev/null +++ b/External/AE SDK/Headers/SP/SPTypes.h @@ -0,0 +1,175 @@ +/***********************************************************************/ +/* */ +/* SPTypes.h */ +/* */ +/* Copyright 1995-2006 Adobe Systems Incorporated. */ +/* All Rights Reserved. */ +/* */ +/* Patents Pending */ +/* */ +/* NOTICE: All information contained herein is the property of Adobe */ +/* Systems Incorporated. Many of the intellectual and technical */ +/* concepts contained herein are proprietary to Adobe, are protected */ +/* as trade secrets, and are made available only to Adobe licensees */ +/* for their internal use. Any reproduction or dissemination of this */ +/* software is strictly forbidden unless prior written permission is */ +/* obtained from Adobe. */ +/* */ +/***********************************************************************/ + + +/** + + These are the basic declarations used by Sweet Pea. + + **/ + + +#ifndef __SPTypes__ +#define __SPTypes__ + + +/******************************************************************************* + ** + ** Imports + ** + **/ + +#include "SPConfig.h" + + +/* + * You can replace SPTypes.h with your own. Define OTHER_SP_TYPES_H on the + * command line or in SPConfig.h to be the name of the replacement file. + * + * Example: + * + * #define OTHER_SP_TYPES_H "MySPTypes.h" + * #include "SPBasic.h" // for example + * + * Sweet Pea depends on TRUE, FALSE, SPErr, etc. Your replacement must + * define them. + */ + +#ifdef OTHER_SP_TYPES_H +#include OTHER_SP_TYPES_H +#else + + +/******************************************************************************* + ** + ** Constants + ** + **/ + +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef NULL + +#ifdef MAC_ENV +#if !defined(__cplusplus) && (defined(__SC__) || defined(THINK_C)) +#define NULL ((void *) 0) +#else +#define NULL 0 +#endif +#endif + +#ifdef WIN_ENV +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif + +#endif + + +/* + * SPAPI is placed in front of procedure declarations in the API. On the Mac + * it used to be 'pascal', which forced consistent calling conventions across different + * compilers. No longer needed. On Windows it's nothing. + * + * Example: + * + * SPAPI void *SPAllocateBlock( int32 size, const char *debug, SPErr *error ); + * + */ + +#if defined(MAC_ENV) || defined(__ANDROID__) || defined(__LINUX__) || defined (__EMSCRIPTEN__) || defined(SIMULATED_WASM) +#if defined(__GNUC__) +#define SPAPI +#else +#define SPAPI pascal +#endif +#endif + +#ifdef WIN_ENV +#define SPAPI +#endif + +#include "PSIntTypes.h" + +typedef uint8 SPUInt8; +typedef uint16 SPUInt16; +typedef uint32 SPUInt32; + +typedef int32 SPInt32; + +#if defined(MAC_ENV) || defined(__ANDROID__) || defined(__LINUX__) || defined (__EMSCRIPTEN__) || defined(SIMULATED_WASM) + +/* SPBoolean is the same a Macintosh Boolean. */ +typedef uint8 SPBoolean; + +#endif + +#ifdef WIN_ENV + +/* SPBoolean is the same a Windows BOOL. */ +typedef int32 SPBoolean; + +#endif + + +/******************************************************************************* + ** + ** Error Handling + ** + **/ + +/* + * Error codes in Sweet Pea are C strings, with the exception of the code for + * no error, which is NULL. The error can first be compared with kSPNoError to + * test if the function succeeded. If it is not NULL then the error can be + * string-compared with predefined error strings. + * + * Example: + * + * SPErr error = kSPNoError; + * + * block = SPAllocateBlock( size, debug, &error ); + * if ( error != kSPNoError ) { + * if ( strcmp( error, kSPOutOfMemoryError ) == 0 ) + * FailOutOfMemory(); + * ... + * } + */ + +typedef int32 SPErr; + +/* + * kSPNoError and kSPUnimplementedError are universal. Other error codes should + * be defined in the appropriate header files. + */ + +#include "SPErrorCodes.h" + +#endif /* OTHER_SP_TYPES_H */ + +#endif diff --git a/External/AE SDK/Headers/SP/artemis/config/platform.hpp b/External/AE SDK/Headers/SP/artemis/config/platform.hpp new file mode 100755 index 00000000..5d128c4a --- /dev/null +++ b/External/AE SDK/Headers/SP/artemis/config/platform.hpp @@ -0,0 +1,114 @@ +// +// ADOBE CONFIDENTIAL +// __________________ +// +// Copyright 2016 Adobe +// All Rights Reserved. +// +// NOTICE: All information contained herein is, and remains +// the property of Adobe and its suppliers, if any. The intellectual +// and technical concepts contained herein are proprietary to Adobe +// and its suppliers and are protected by all applicable intellectual +// property laws, including trade secret and copyright laws. +// Dissemination of this information or reproduction of this material +// is strictly forbidden unless prior written permission is obtained +// from Adobe. +// + +#ifndef ARTEMIS_PLATFORM_HPP +#define ARTEMIS_PLATFORM_HPP + +/* + The ARTEMIS_PLATFORM() macro is used to conditionalize code based on platform or platform + attibutes. + + It is used as: + + #if ARTEMIS_PLATFORM(MACOS) + #endif + + The attributes currently create a hierarchy from general to specific, items lower in the + hierarchy imply their parent are defined as '1', all others are '0'. + + This graph may eventually become a DAG. Higher level nodes represent a set of services that the + lower level nodes have in common. As such, it should rarely be necessary to write an expression + using more than one of these terms. If you find yourself doing so, please name the common + service and add the flag. + + An unqualified else clause should only be written entirely in terms of standard constructs that + has no platform dependencies and should not assume that 'not X' implies some other 'Y'. + + POSIX - any Posix compliant platform + APPLE - any Apple platform + MACOS - compiled for macOS + IOS - compiled for iOS + LINUX - compiled for Linux + ANDROID - compiled for Android + MICROSOFT - any Microsoft platform + UWP - Compiled for UWP + WIN32 - Compiled for Win32 +*/ +#define ARTEMIS_PLATFORM(X) (ARTEMIS_PRIVATE_PLATFORM_##X()) + +/**************************************************************************************************/ + +// The *_PRIVATE_* macros are just that. Don't use them directly. + +#define ARTEMIS_PRIVATE_PLATFORM_ANDROID() 0 +#define ARTEMIS_PRIVATE_PLATFORM_WEB() 0 +#define ARTEMIS_PRIVATE_PLATFORM_APPLE() 0 +#define ARTEMIS_PRIVATE_PLATFORM_IOS() 0 +#define ARTEMIS_PRIVATE_PLATFORM_LINUX() 0 +#define ARTEMIS_PRIVATE_PLATFORM_MACOS() 0 +#define ARTEMIS_PRIVATE_PLATFORM_MICROSOFT() 0 +#define ARTEMIS_PRIVATE_PLATFORM_POSIX() 0 +#define ARTEMIS_PRIVATE_PLATFORM_UWP() 0 +#define ARTEMIS_PRIVATE_PLATFORM_WIN32() 0 + +#if defined(__ANDROID__) + #undef ARTEMIS_PRIVATE_PLATFORM_POSIX + #define ARTEMIS_PRIVATE_PLATFORM_POSIX() 1 + #undef ARTEMIS_PRIVATE_PLATFORM_ANDROID + #define ARTEMIS_PRIVATE_PLATFORM_ANDROID() 1 +#elif defined(_WIN32) + #include // for #define WINVER + #include + + #undef ARTEMIS_PRIVATE_PLATFORM_MICROSOFT + #define ARTEMIS_PRIVATE_PLATFORM_MICROSOFT() 1 + + #if defined(WINAPI_FAMILY) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + #undef ARTEMIS_PRIVATE_PLATFORM_UWP + #define ARTEMIS_PRIVATE_PLATFORM_UWP() 1 + #else + #undef ARTEMIS_PRIVATE_PLATFORM_WIN32 + #define ARTEMIS_PRIVATE_PLATFORM_WIN32() 1 + #endif +#elif defined(__APPLE__) && !defined (__SIMULATED_WASM__) + #include "TargetConditionals.h" + + #undef ARTEMIS_PRIVATE_PLATFORM_POSIX + #define ARTEMIS_PRIVATE_PLATFORM_POSIX() 1 + #undef ARTEMIS_PRIVATE_PLATFORM_APPLE + #define ARTEMIS_PRIVATE_PLATFORM_APPLE() 1 + + #if TARGET_OS_SIMULATOR || TARGET_OS_IPHONE + #undef ARTEMIS_PRIVATE_PLATFORM_IOS + #define ARTEMIS_PRIVATE_PLATFORM_IOS() 1 + #elif TARGET_OS_MAC + #undef ARTEMIS_PRIVATE_PLATFORM_MACOS + #define ARTEMIS_PRIVATE_PLATFORM_MACOS() 1 + #endif +#elif defined(__LINUX__) + #undef ARTEMIS_PRIVATE_PLATFORM_POSIX + #define ARTEMIS_PRIVATE_PLATFORM_POSIX() 1 + #undef ARTEMIS_PRIVATE_PLATFORM_LINUX + #define ARTEMIS_PRIVATE_PLATFORM_LINUX() 1 +#elif defined(__EMSCRIPTEN__) || defined (__SIMULATED_WASM__) + #undef ARTEMIS_PRIVATE_PLATFORM_POSIX + #define ARTEMIS_PRIVATE_PLATFORM_POSIX() 1 + #undef ARTEMIS_PRIVATE_PLATFORM_WEB + #define ARTEMIS_PRIVATE_PLATFORM_WEB() 1 +#endif + +#endif // ARTEMIS_PLATFORM_HPP diff --git a/External/AE SDK/Headers/SP/photoshop/config/platform.hpp b/External/AE SDK/Headers/SP/photoshop/config/platform.hpp new file mode 100755 index 00000000..e9f9da0b --- /dev/null +++ b/External/AE SDK/Headers/SP/photoshop/config/platform.hpp @@ -0,0 +1,95 @@ +// +// ADOBE CONFIDENTIAL +// __________________ +// +// Copyright 2016 Adobe +// All Rights Reserved. +// +// NOTICE: All information contained herein is, and remains +// the property of Adobe and its suppliers, if any. The intellectual +// and technical concepts contained herein are proprietary to Adobe +// and its suppliers and are protected by all applicable intellectual +// property laws, including trade secret and copyright laws. +// Dissemination of this information or reproduction of this material +// is strictly forbidden unless prior written permission is obtained +// from Adobe. +// + +#ifndef PHOTOSHOP_PLATFORM_HPP +#define PHOTOSHOP_PLATFORM_HPP + +/**************************************************************************************************/ + +#ifdef RC_INVOKED // Windows Resource Compiler + + // #error Windows resource compiler - do not include this file! + +#else + +/**************************************************************************************************/ + +#include + +/**************************************************************************************************/ + +// alias to the private artemis macros via concatenation because calling PHOTOSHOP_PLATFORM(X) errors +// when PHOTOSHOP_PLATFORM(X) = (ARTEMIS_PLATFORM(X)) when the value of X is itself defined as a +// macro. This is especially problematic for WIN32. + +#define PHOTOSHOP_PLATFORM(X) (ARTEMIS_PRIVATE_PLATFORM_##X()) +#define PHOTOSHOP_ARCH(X) (ARTEMIS_PRIVATE_ARCH_##X()) +#define PHOTOSHOP_BITS(X) (ARTEMIS_PRIVATE_BITS_##X()) +#define PHOTOSHOP_CPU(A,B) (ARTEMIS_PRIVATE_ARCH_##A() && ARTEMIS_PRIVATE_BITS_##B()) +#define PHOTOSHOP_PLATFORM_ARCH(X, A) (ARTEMIS_PRIVATE_PLATFORM_##X() && ARTEMIS_PRIVATE_ARCH_##A()) +#define PHOTOSHOP_PLATFORM_ARCH_BITS(X, A, B) (ARTEMIS_PRIVATE_PLATFORM_##X() && ARTEMIS_PRIVATE_ARCH_##A() && ARTEMIS_PRIVATE_BITS_##B()) + +// Really, these need to die a horrible death. However, they are still required +// for rez_defines.h (See the comment in rez_platform.h for more details.) +#define PS_PLATFORM_ANDROID PHOTOSHOP_PLATFORM(ANDROID) +#define PS_PLATFORM_WEB PHOTOSHOP_PLATFORM(WEB) +#define PS_PLATFORM_APPLE PHOTOSHOP_PLATFORM(APPLE) +#define PS_PLATFORM_IOS PHOTOSHOP_PLATFORM(IOS) +#define PS_PLATFORM_LINUX PHOTOSHOP_PLATFORM(LINUX) +#define PS_PLATFORM_MACOS PHOTOSHOP_PLATFORM(MACOS) +#define PS_PLATFORM_MS PHOTOSHOP_PLATFORM(MICROSOFT) +#define PS_PLATFORM_POSIX PHOTOSHOP_PLATFORM(POSIX) +#define PS_PLATFORM_UWP PHOTOSHOP_PLATFORM(UWP) +#define PS_PLATFORM_WIN32 PHOTOSHOP_PLATFORM(WIN32) + +// Is there a reason why the above are replicated here? +#ifndef PS_OS_WIN // Some Windows projects define this in their props file + #define PS_OS_WIN PHOTOSHOP_PLATFORM(MICROSOFT) +#endif +#ifndef PS_OS_IOS // Some Windows projects define this in their props file + #define PS_OS_IOS PHOTOSHOP_PLATFORM(IOS) +#endif +#ifndef PS_OS_MAC // Some Windows projects define this in their props file + #define PS_OS_MAC PHOTOSHOP_PLATFORM(MACOS) +#endif +#ifndef PS_OS_ANDROID // Some Windows projects define this in their props file + #define PS_OS_ANDROID PHOTOSHOP_PLATFORM(ANDROID) +#endif + +#define PS_OS_WEB POISONED_MACRO_PS_OS_WEB() + +/**************************************************************************************************/ + +// Deprecated + +#define qPSIsWin (PHOTOSHOP_PLATFORM(MICROSOFT)) +#define qPSIsMac (PHOTOSHOP_PLATFORM(APPLE)) + +// REVISIT (sparent) : This also come from Switches.h... sometimes. Untangle + +// #ifndef MSWindows +// #define MSWindows (PHOTOSHOP_PLATFORM(MICROSOFT)) +// #endif + +// Macintosh is only defined for apple platforms +#if PHOTOSHOP_PLATFORM(APPLE) && !defined(Macintosh) + #define Macintosh 1 +#endif + +/**************************************************************************************************/ +#endif // RC_INVOKED +#endif // PHOTOSHOP_PLATFORM_HPP diff --git a/External/AE SDK/Headers/Smart_Utils.cpp b/External/AE SDK/Headers/Smart_Utils.cpp new file mode 100644 index 00000000..b67378b7 --- /dev/null +++ b/External/AE SDK/Headers/Smart_Utils.cpp @@ -0,0 +1,62 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "Smart_Utils.h" + + +PF_Boolean IsEmptyRect(const PF_LRect *r){ + return (r->left >= r->right) || (r->top >= r->bottom); +} + +void UnionLRect(const PF_LRect *src, PF_LRect *dst) +{ + if (IsEmptyRect(dst)) { + *dst = *src; + } else if (!IsEmptyRect(src)) { + dst->left = mmin(dst->left, src->left); + dst->top = mmin(dst->top, src->top); + dst->right = mmax(dst->right, src->right); + dst->bottom = mmax(dst->bottom, src->bottom); + } +} + +PF_Boolean +IsEdgePixel( + PF_LRect *rectP, + A_long x, + A_long y) +{ + PF_Boolean x_hitB = FALSE, + y_hitB = FALSE; + + x_hitB = ((x == rectP->left) || (x == rectP->right)); + + y_hitB = ((y == rectP->top) || (y == rectP->bottom)); + + if (x_hitB){ + y_hitB = ((y >= rectP->top) && (y <= rectP->bottom)); + } else { + if (y_hitB){ + x_hitB = ((x >= rectP->left) && (x <= rectP->right)); + } + } + return (x_hitB && y_hitB); +} \ No newline at end of file diff --git a/External/AE SDK/Headers/Smart_Utils.h b/External/AE SDK/Headers/Smart_Utils.h new file mode 100644 index 00000000..3e1c03ce --- /dev/null +++ b/External/AE SDK/Headers/Smart_Utils.h @@ -0,0 +1,34 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "AE_Effect.h" +#include "SPTypes.h" + +#ifndef mmin + #define mmin(a,b) ((a) < (b) ? (a) : (b)) + #define mmax(a,b) ((a) > (b) ? (a) : (b)) +#endif + +PF_Boolean IsEmptyRect(const PF_LRect *r); + +void UnionLRect(const PF_LRect *src, PF_LRect *dst); + +PF_Boolean IsEdgePixel(PF_LRect *rectP, A_long x, A_long y); \ No newline at end of file diff --git a/External/AE SDK/Headers/String_Utils.c b/External/AE SDK/Headers/String_Utils.c new file mode 100644 index 00000000..b897d050 --- /dev/null +++ b/External/AE SDK/Headers/String_Utils.c @@ -0,0 +1,6 @@ +#include "String_Utils.h" + +A_char *GetStringPtr(int strNum) +{ + return g_strs[strNum].str; +} \ No newline at end of file diff --git a/External/AE SDK/Headers/String_Utils.h b/External/AE SDK/Headers/String_Utils.h new file mode 100644 index 00000000..eadf62e7 --- /dev/null +++ b/External/AE SDK/Headers/String_Utils.h @@ -0,0 +1,48 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + + +/* String_Utils.h */ + + +#pragma once + +#ifndef STRING_UTILS_H +#define STRING_UTILS_H + +#ifdef __cplusplus +extern "C" { +#endif +A_char *GetStringPtr(int strNum); +#ifdef __cplusplus +} +#endif + +#define STR(_foo) GetStringPtr(_foo) + + + + + + + +#endif /* STRING_UTILS_H */ \ No newline at end of file diff --git a/External/AE SDK/Headers/SuiteHelper.h b/External/AE SDK/Headers/SuiteHelper.h new file mode 100644 index 00000000..ff050ccd --- /dev/null +++ b/External/AE SDK/Headers/SuiteHelper.h @@ -0,0 +1,97 @@ +#ifndef _H_SUITEHELPER +#define _H_SUITEHELPER + +#include "A.h" +#include "SPBasic.h" + +#include + +template +struct SuiteTraits +{ + static const A_char* i_name; + static const int32_t i_version; +}; + +template +class AssertAndThrowOnMissingSuite +{ +public: + void operator()() + { + assert( false ); + A_THROW(A_Err_MISSING_SUITE); + } +}; + + +class MissingSuiteErrFunc_NoOp +{ +public: + void operator()() + { + //swallow the error, not much we want to do or can do + } +}; + + +template > +class SuiteHelper +{ +public: + SuiteHelper(const SPBasicSuite* const basic_suiteP); + ~SuiteHelper(); + + const SuiteType* operator->() const; + SuiteType* get() const; + +private: + mutable SuiteType* i_SuiteP; + const SPBasicSuite* const i_basic_suiteP; +}; + + +template +SuiteHelper::SuiteHelper(const SPBasicSuite* const basic_suiteP) : i_basic_suiteP(basic_suiteP), i_SuiteP( NULL ) +{ + assert(basic_suiteP); + const void * acquired_suite = NULL; + + A_Err err = i_basic_suiteP->AcquireSuite(SuiteTraits::i_name, SuiteTraits::i_version, &acquired_suite); + if (err || !acquired_suite) { + MissingSuiteErrFunc error_func; + error_func(); + } else { + i_SuiteP = reinterpret_cast(const_cast(acquired_suite)); + } +} + +template +SuiteHelper::~SuiteHelper() +{ + if (i_SuiteP) { + + #ifdef DEBUG + A_Err err = + #endif + + i_basic_suiteP->ReleaseSuite(SuiteTraits::i_name, SuiteTraits::i_version); + + #ifdef DEBUG + assert( !err ); + #endif + } +} + +template +const SuiteType* SuiteHelper::operator->() const +{ + return i_SuiteP; +} + +template +SuiteType* SuiteHelper::get() const +{ + return i_SuiteP; +} +#endif diff --git a/External/AE SDK/Headers/adobesdk/DrawbotSuite.h b/External/AE SDK/Headers/adobesdk/DrawbotSuite.h new file mode 100644 index 00000000..409ed070 --- /dev/null +++ b/External/AE SDK/Headers/adobesdk/DrawbotSuite.h @@ -0,0 +1,660 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + +#ifndef DRAWBOT_SUITE_H +#define DRAWBOT_SUITE_H + +#include + +#ifdef __cplusplus + #include // for std::exception +#endif +//Sweet pea header +#include + +#ifdef ADOBE_SDK_INTERNAL + #include +#else + #include +#endif + +#include + +#ifdef __cplusplus + extern "C" { +#endif + +/* +C STYLE +-------- +Drawbot suites can be used to draw paths, strings, images using application-provided DrawbotRef. Use C++ style (mentioned later in the file) +if you are creating cpp files as it is more elegant and you don't have to deal with retain/release of objects. + +Below function takes DrawbotRef and strokes a circle & a rectangle. + +void DrawSomething(DRAWBOT_DrawRef drawbot_ref) +{ + //Acquire drawbot (drawbot_suiteP), supplier (supplier_suiteP), surface (surface_suiteP) & path (path_suiteP) suites + ... + + //Get the supplier and surface reference from drawbot_ref + DRAWBOT_SupplierRef supplier_ref; + DRAWBOT_SurfaceRef surface_ref; + + drawbot_suiteP->GetSupplier(drawbot_ref, &supplier_ref); + drawbot_suiteP->GetSurface(drawbot_ref, &surface_ref); + + //Save the surface state by pushing it in stack. It is required to restore state if you are going to clip/transform surface + //or change interpolation/anti-aliasing policy. + surface_suiteP->PushStateStack(surface_ref); + + //Create a new red-color brush. + DRAWBOT_BrushRef brush_ref; + + supplier_suiteP->NewBrush(supplier_ref, DRAWBOT_ColorRGBA(1.0f, 0.0f, 0.0f, 1.0f), &brush_ref); + + //Create a new path + DRAWBOT_PathRef path_ref; + + supplier_suiteP->NewPath(supplier_ref, &path_ref); + + //Add a rectangle to the path + DRAWBOT_RectF32 rect1(0.0f, 0.0f, 50.0f, 50.0f); + + path_suiteP->AddRect(path_ref, rect1); + + //Add a circle to the path + path_suiteP->AddArc(path_ref, DRAWBOT_PointF32(25.0f, 25.0f), 10.0f, 0.0f, 360.0f); + + //Fill the path using red-colored brush. + surface_suiteP->FillPath(surface_ref, brush_ref, path_ref, kDRAWBOT_FillType_EvenOdd); + + //We are done. Release (delete) all the objects. There will be memory leak if you don't release. + surface_suiteP->ReleaseObject((DRAWBOT_ObjectRef)path_ref); + surface_suiteP->ReleaseObject((DRAWBOT_ObjectRef)brush_ref); + + //Don't forget to pop surface state (if pushed earlier) + surface_suiteP->PopStateStack(surface_ref); + + //DO NOT CALL ReleaseObject on surface_ref and supplier_ref as you did not create them. + + //Release drawbot (drawbot_suiteP), supplier (supplier_suiteP), surface (surface_suiteP) & path (path_suiteP) suites +} +*/ + + +#define kDRAWBOT_DrawSuite "DRAWBOT Draw Suite" +#define kDRAWBOT_DrawSuite_Version1 1 + +#define kDRAWBOT_DrawSuite_VersionCurrent kDRAWBOT_DrawSuite_Version1 +#define DRAWBOT_DrawbotSuiteCurrent DRAWBOT_DrawbotSuite1 + +typedef struct DRAWBOT_DrawbotSuite1 { + + //Get the supplier from the drawbot_ref + SPAPI SPErr (*GetSupplier)( DRAWBOT_DrawRef in_drawbot_ref, + DRAWBOT_SupplierRef *out_supplierP); + + //Get the surface from the drawbot_ref + SPAPI SPErr (*GetSurface)( DRAWBOT_DrawRef in_drawbot_ref, + DRAWBOT_SurfaceRef *out_surfaceP); + +} DRAWBOT_DrawbotSuite1; + + + +#define kDRAWBOT_SupplierSuite "DRAWBOT Supplier Suite" +#define kDRAWBOT_SupplierSuite_Version1 1 + +#define kDRAWBOT_SupplierSuite_VersionCurrent kDRAWBOT_SupplierSuite_Version1 +#define DRAWBOT_SupplierSuiteCurrent DRAWBOT_SupplierSuite1 + +typedef struct DRAWBOT_SupplierSuite1 { + + //Create a new pen. + //It should be released with ReleaseObject api. + SPErr (*NewPen)( DRAWBOT_SupplierRef in_supplier_ref, + const DRAWBOT_ColorRGBA *in_colorP, + float in_size, + DRAWBOT_PenRef *out_penP); + + //Create a new brush. + //It should be released with ReleaseObject api. + SPErr (*NewBrush)(DRAWBOT_SupplierRef in_supplier_ref, + const DRAWBOT_ColorRGBA *in_colorP, + DRAWBOT_BrushRef *out_brushP); + + //Check if current supplier supports text. + SPErr (*SupportsText)(DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_Boolean *out_supports_textPB); + + //Get default font size. + SPErr (*GetDefaultFontSize)( DRAWBOT_SupplierRef in_supplier_ref, + float *out_font_sizeF); + + //Create a new font with default settings. + //You can pass default font size from GetDefaultFontSize. + //It should be released with ReleaseObject api. + SPErr (*NewDefaultFont)( DRAWBOT_SupplierRef in_supplier_ref, + float in_font_sizeF, + DRAWBOT_FontRef *out_fontP); + + //Create a new image from buffer. + //It should be released with ReleaseObject api. + SPErr (*NewImageFromBuffer)( DRAWBOT_SupplierRef in_supplier_ref, + int in_width, + int in_height, + int in_row_bytes, + DRAWBOT_PixelLayout in_pl, + const void *in_dataP, + DRAWBOT_ImageRef *out_imageP); + + //Create a new path. + //It should be released with ReleaseObject api. + SPErr (*NewPath)( DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_PathRef *out_pathP); + + + //A given drawbot implementation can support multiple channel orders, but will likely + //prefer one over the other. Use below apis to get the preferred layout for any api that + //takes DRAWBOT_PixelLayout (ex- NewImageFromBuffer). + + SPErr (*SupportsPixelLayoutBGRA)( DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_Boolean *out_supports_bgraPB); + + SPErr (*PrefersPixelLayoutBGRA) ( DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_Boolean *out_prefers_bgraPB); + + SPErr (*SupportsPixelLayoutARGB)( DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_Boolean *out_supports_argbPB); + + SPErr (*PrefersPixelLayoutARGB) ( DRAWBOT_SupplierRef in_supplier_ref, + DRAWBOT_Boolean *out_prefers_argbPB); + + //Retain (increase reference count) any object (pen, brush, path etc) + //Ex: It should be used when any object is copied and the copied object should be retained. + SPErr (*RetainObject)(DRAWBOT_ObjectRef in_obj_ref); + + //Release (decrease reference count) any object (pen, brush, path etc) + //This function MUST be called for any object created using NewXYZ() from this suite. + SPErr (*ReleaseObject)(DRAWBOT_ObjectRef in_obj_ref); + +} DRAWBOT_SupplierSuite1; + + +#define kDRAWBOT_SurfaceSuite "DRAWBOT Surface Suite" +#define kDRAWBOT_SurfaceSuite_Version1 1 +#define kDRAWBOT_SurfaceSuite_Version2 2 + +#define kDRAWBOT_SurfaceSuite_VersionCurrent kDRAWBOT_SurfaceSuite_Version2 +#define DRAWBOT_SurfaceSuiteCurrent DRAWBOT_SurfaceSuite2 + +typedef struct DRAWBOT_SurfaceSuite1 { + + //Push the current surface state in stack. It should be popped to retrieve old state. + SPErr (*PushStateStack)( DRAWBOT_SurfaceRef in_surface_ref); + + //Pop the last pushed surface state. + SPErr (*PopStateStack)( DRAWBOT_SurfaceRef in_surface_ref); + + //Paint a rectangle with a color on the surface. + SPErr (*PaintRect)( DRAWBOT_SurfaceRef in_surface_ref, + const DRAWBOT_ColorRGBA *in_colorP, + const DRAWBOT_RectF32 *in_rectPR); + + //Fill a path using a brush and fill type. + SPErr (*FillPath)( DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_BrushRef in_brush_ref, + DRAWBOT_PathRef in_path_ref, + DRAWBOT_FillType in_fill_type); + + //Stroke a path using a pen. + SPErr (*StrokePath)( DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_PenRef in_pen_ref, + DRAWBOT_PathRef in_path_ref); + + //Clip the surface + SPErr (*Clip)( DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_SupplierRef in_supplier_ref, + const DRAWBOT_Rect32 *in_rectPR); + + //Get clip bounds + SPErr (*GetClipBounds)( + DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_Rect32 *out_rectPR); + + //Checks whether a rect is within the clip bounds. + SPErr (*IsWithinClipBounds)( + DRAWBOT_SurfaceRef in_surface_ref, + const DRAWBOT_Rect32 *in_rectPR, + DRAWBOT_Boolean *out_withinPB); + + //Transform the last surface state. + SPErr (*Transform)( DRAWBOT_SurfaceRef in_surface_ref, + const DRAWBOT_MatrixF32 *in_matrixP); + + //Draw a string + SPErr (*DrawString)( DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_BrushRef in_brush_ref, + DRAWBOT_FontRef in_font_ref, + const DRAWBOT_UTF16Char *in_stringP, + const DRAWBOT_PointF32 *in_originP, + DRAWBOT_TextAlignment in_alignment_style, + DRAWBOT_TextTruncation in_truncation_style, + float in_truncation_width); + + //Draw an image (created using NewImageFromBuffer())on the surface + //alpha = [0.0f, 1.0f] + SPErr (*DrawImage)( DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_ImageRef in_image_ref, + const DRAWBOT_PointF32 *in_originP, + float in_alpha); + + SPErr (*SetInterpolationPolicy)( + DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_InterpolationPolicy in_interp); + + SPErr (*GetInterpolationPolicy)( + DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_InterpolationPolicy *out_interpP); + + SPErr (*SetAntiAliasPolicy)( + DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_AntiAliasPolicy in_policy); + + SPErr (*GetAntiAliasPolicy)( + DRAWBOT_SurfaceRef in_surface_ref, + DRAWBOT_AntiAliasPolicy *out_policyP); + + //Flush drawing + SPErr (*Flush)( DRAWBOT_SurfaceRef in_surface_ref); + + //Get the transform of the surface state. + SPErr (*GetTransformToScreenScale)(DRAWBOT_SurfaceRef in_surface_ref, + float* out_scale); +} DRAWBOT_SurfaceSuite2; + +typedef DRAWBOT_SurfaceSuite2 DRAWBOT_SurfaceSuite1; // At the time, the last function was Flush. + + +#define kDRAWBOT_PathSuite "DRAWBOT Path Suite" +#define kDRAWBOT_PathSuite_Version1 1 + +#define kDRAWBOT_PathSuite_VersionCurrent kDRAWBOT_PathSuite_Version1 +#define DRAWBOT_PathSuiteCurrent DRAWBOT_PathSuite1 + +typedef struct DRAWBOT_PathSuite1 { + + //Move to a point + SPErr (*MoveTo)( DRAWBOT_PathRef in_path_ref, + float in_x, + float in_y); + + //Add a line to the path + SPErr (*LineTo)( DRAWBOT_PathRef in_path_ref, + float in_x, + float in_y); + + //Add a cubic bezier to the path + SPErr (*BezierTo)(DRAWBOT_PathRef in_path_ref, + const DRAWBOT_PointF32 *in_pt1P, + const DRAWBOT_PointF32 *in_pt2P, + const DRAWBOT_PointF32 *in_pt3P); + + //Add a rect to the path + SPErr (*AddRect)( DRAWBOT_PathRef in_path_ref, + const DRAWBOT_RectF32 *in_rectPR); + + //Add a arc to the path + //zero start degrees == 3 o'clock + //sweep is clockwise + //units in degrees + SPErr (*AddArc)( DRAWBOT_PathRef in_path_ref, + const DRAWBOT_PointF32 *in_centerP, + float in_radius, + float in_start_angle, + float in_sweep); + + SPErr (*Close)( DRAWBOT_PathRef in_path_ref); + +} DRAWBOT_PathSuite1; + + +#define kDRAWBOT_PenSuite "DRAWBOT Pen Suite" +#define kDRAWBOT_PenSuite_Version1 1 + +#define kDRAWBOT_PenSuite_VersionCurrent kDRAWBOT_PenSuite_Version1 +#define DRAWBOT_PenSuiteCurrent DRAWBOT_PenSuite1 + +typedef struct DRAWBOT_PenSuite1 { + + //Make the line dashed + SPErr (*SetDashPattern)( DRAWBOT_PenRef in_pen_ref, + const float *in_dashesP, + int in_pattern_size); + +} DRAWBOT_PenSuite1; + +#define kDRAWBOT_ImageSuite "DRAWBOT Image Suite" +#define kDRAWBOT_ImageSuite_Version1 1 + +#define kDRAWBOT_ImageSuite_VersionCurrent kDRAWBOT_ImageSuite_Version1 +#define DRAWBOT_ImageSuiteCurrent DRAWBOT_ImageSuite1 + +typedef struct DRAWBOT_ImageSuite1 { + + //Make the line dashed + SPErr (*SetScaleFactor)( DRAWBOT_ImageRef in_image_ref, + float in_scale_factor); + +} DRAWBOT_ImageSuite1; + +//Collection of latest drawbot suites +typedef struct { + DRAWBOT_DrawbotSuiteCurrent *drawbot_suiteP; + DRAWBOT_SupplierSuiteCurrent *supplier_suiteP; + DRAWBOT_SurfaceSuiteCurrent *surface_suiteP; + DRAWBOT_PathSuiteCurrent *path_suiteP; + DRAWBOT_PenSuiteCurrent *pen_suiteP; + DRAWBOT_ImageSuiteCurrent *image_suiteP; +} DRAWBOT_Suites; + + +#ifdef __cplusplus + } // end extern "C" +#endif + + + +#ifdef __cplusplus //C++ Style + +/* +Use C++ style as it will automatically deal with memory management of objects. Below example will make it clear. + +Below function takes DrawbotRef and strokes a circle & a rectangle. + +void DrawSomething(DRAWBOT_DrawRef drawbot_ref) +{ + //Acquire drawbot (drawbot_suiteP), supplier (supplier_suiteP), surface (surface_suiteP) & path (path_suiteP) suites + ... + + //Get the supplier and surface reference from drawbot_ref + DRAWBOT_SupplierRef supplier_ref; + DRAWBOT_SurfaceRef surface_ref; + + drawbot_suiteP->GetSupplier(drawbot_ref, &supplier_ref); + drawbot_suiteP->GetSurface(drawbot_ref, &surface_ref); + + //Save the surface state by pushing it in stack. It is required to restore if you are going to clip or transform surface. + //Below call acts like a a scoper: it will push the current surface state and automatically pop at the end of scope. + DRAWBOT_SaveAndRestoreStateStack sc_save_state(surface_suiteP, surface_ref); + + //Create a new red-color brush. + //Compare below call with C-style apis. It is compact and brush will be automatically released at the end of scope. + DRAWBOT_BrushP brushP(supplier_suiteP, supplier_ref, DRAWBOT_ColorRGBA(1.0f, 0.0f, 0.0f, 1.0f)); + + //Create a new path + DRAWBOT_PathP pathP(supplier_suiteP, supplier_ref); + + //Add a rectangle to the path + DRAWBOT_RectF32 rect1(0.0f, 0.0f, 50.0f, 50.0f); + + path_suiteP->AddRect(pathP, rect1); + + //Add a circle to the path + path_suiteP->AddArc(pathP, DRAWBOT_PointF32(25.0f, 25.0f), 10.0f, 0.0f, 360.0f); + + //Fill the path using red-colored brush. + surface_suiteP->FillPath(surface_ref, brushP, pathP, kDRAWBOT_FillType_EvenOdd); + + //Release drawbot (drawbot_suiteP), supplier (supplier_suiteP), surface (surface_suiteP) & path (path_suiteP) suites + + //We are DONE. You don't have to release brush & path objects as you did in C-style. +} +*/ +class DRAWBOT_Exception : public std::exception { +public: + DRAWBOT_Exception(SPErr err): mErr(err) + { + } + virtual ~DRAWBOT_Exception() throw () {} + + SPErr mErr; +}; + +#define DRAWBOT_ErrorToException(EXPR) { SPErr _err = (EXPR); if (_err) throw DRAWBOT_Exception(_err); } + + +//SharedRefImpl declaration + +template +class SharedRefImpl { +public: + SharedRefImpl(DRAWBOT_SupplierSuiteCurrent *suiteP, REF_T r = 0, bool retainB = true) + : + mRef(r), + mSuiteP(suiteP) + { + if (retainB) { + RetainObject(); + } + } + + virtual ~SharedRefImpl() + { + ReleaseObject(); + } + + //copy constructor + SharedRefImpl(SharedRefImpl const & rhs) + { + *this = rhs; + } + + //assignment operator + SharedRefImpl & operator=(SharedRefImpl const & rhs) + { + mSuiteP = rhs.mSuiteP; + mRef = rhs.mRef; + + RetainObject(); + + return *this; + } + + inline REF_T Get() const + { + return mRef; + } + + inline operator REF_T() const + { + return mRef; + } + + inline void Reset(REF_T rhs = 0, bool retainB = true) + { + if (mRef != rhs) { + ReleaseObject(); + + mRef = rhs; + + if (retainB) { + RetainObject(); + } + } + } + +private: + void ReleaseObject() + { + if (mRef) { + DRAWBOT_ErrorToException(mSuiteP->ReleaseObject(reinterpret_cast(mRef))); + mRef = NULL; + } + } + + void RetainObject() + { + if (mRef) { + DRAWBOT_ErrorToException(mSuiteP->RetainObject(reinterpret_cast(mRef))); + } + } + + REF_T mRef; + DRAWBOT_SupplierSuiteCurrent *mSuiteP; +}; + + +//DRAWBOT_PenP declaration + +class DRAWBOT_PenP : public SharedRefImpl { + typedef SharedRefImpl _inherited; +public: + + DRAWBOT_PenP( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + const DRAWBOT_ColorRGBA *colorP, + float sizeF) + : + _inherited(suiteP) + { + New(suiteP, supplier_ref, colorP, sizeF); + } + + void New( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + const DRAWBOT_ColorRGBA *colorP, + float sizeF) + { + DRAWBOT_PenRef pen_ref; + + DRAWBOT_ErrorToException(suiteP->NewPen(supplier_ref, colorP, sizeF, &pen_ref)); + + Reset(pen_ref, false); + } +}; + + +//DRAWBOT_PathP declaration + +class DRAWBOT_PathP : public SharedRefImpl { + typedef SharedRefImpl _inherited; +public: + DRAWBOT_PathP( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref) + : + _inherited(suiteP) + { + New(suiteP, supplier_ref); + } + + void New( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref) + { + DRAWBOT_PathRef path_ref; + + DRAWBOT_ErrorToException(suiteP->NewPath(supplier_ref, &path_ref)); + + Reset(path_ref, false); + } +}; + + +//DRAWBOT_BrushP declaration + +class DRAWBOT_BrushP : public SharedRefImpl { + typedef SharedRefImpl _inherited; +public: + DRAWBOT_BrushP( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + const DRAWBOT_ColorRGBA *colorP) + : + _inherited(suiteP) + { + New(suiteP, supplier_ref, colorP); + } + + void New( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + const DRAWBOT_ColorRGBA *colorP) + { + DRAWBOT_BrushRef brush_ref; + + DRAWBOT_ErrorToException(suiteP->NewBrush(supplier_ref, colorP, &brush_ref)); + + Reset(brush_ref, false); + } +}; + + +//DRAWBOT_FontP declaration + +class DRAWBOT_FontP : public SharedRefImpl { + typedef SharedRefImpl _inherited; +public: + DRAWBOT_FontP( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + float in_font_size) + : + _inherited(suiteP) + { + New(suiteP, supplier_ref, in_font_size); + } + + void New( DRAWBOT_SupplierSuiteCurrent *suiteP, + const DRAWBOT_SupplierRef supplier_ref, + float in_font_size) + { + DRAWBOT_FontRef font_ref; + + DRAWBOT_ErrorToException(suiteP->NewDefaultFont(supplier_ref, in_font_size, &font_ref)); + + Reset(font_ref, false); + } +}; + + +class DRAWBOT_SaveAndRestoreStateStack { +public: + DRAWBOT_SaveAndRestoreStateStack( DRAWBOT_SurfaceSuiteCurrent *suiteP, + const DRAWBOT_SurfaceRef surface_ref) + : + mSurfaceRef(surface_ref), + mSuiteP(suiteP) + { + DRAWBOT_ErrorToException(mSuiteP->PushStateStack(mSurfaceRef)); + } + + ~DRAWBOT_SaveAndRestoreStateStack() + { + (void)mSuiteP->PopStateStack(mSurfaceRef); + } + +private: + DRAWBOT_SurfaceRef mSurfaceRef; + DRAWBOT_SurfaceSuiteCurrent *mSuiteP; +}; + + +#endif //C++ Style + + +#include + +#endif //DRAWBOT_SUITE_H diff --git a/External/AE SDK/Headers/adobesdk/config/AdobesdkTypes.h b/External/AE SDK/Headers/adobesdk/config/AdobesdkTypes.h new file mode 100755 index 00000000..4dc90478 --- /dev/null +++ b/External/AE SDK/Headers/adobesdk/config/AdobesdkTypes.h @@ -0,0 +1,54 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + +/** + Definition of common types used by adobesdk. +**/ + +#ifndef ADOBESDK_CONFIG_TYPES_H +#define ADOBESDK_CONFIG_TYPES_H + +#include + +#include "stdint.h" + + +typedef uint16_t ADOBESDK_UTF16Char; +typedef uint8_t ADOBESDK_UTF8Char; +typedef uint8_t ADOBESDK_Boolean; + +enum +{ + kAdobesdk_False = 0, + kAdobesdk_True = 1 +}; + + +typedef ADOBESDK_UTF16Char DRAWBOT_UTF16Char; +typedef ADOBESDK_Boolean DRAWBOT_Boolean; + + +typedef struct +{ + int64_t opaque[2]; +} ADOBESDK_String; + + +#include + +#endif //ADOBESDK_CONFIG_TYPES_H diff --git a/External/AE SDK/Headers/adobesdk/config/PostConfig.h b/External/AE SDK/Headers/adobesdk/config/PostConfig.h new file mode 100755 index 00000000..f10326ad --- /dev/null +++ b/External/AE SDK/Headers/adobesdk/config/PostConfig.h @@ -0,0 +1,2 @@ + +#pragma pack( pop, AdobeSDKExternalAlign ) \ No newline at end of file diff --git a/External/AE SDK/Headers/adobesdk/config/PreConfig.h b/External/AE SDK/Headers/adobesdk/config/PreConfig.h new file mode 100755 index 00000000..2675004d --- /dev/null +++ b/External/AE SDK/Headers/adobesdk/config/PreConfig.h @@ -0,0 +1,23 @@ + +//Must be balanced with PostConfig.h! + +#ifdef _WINDOWS + //disable warning in VS2008 about unbalanced struct alignment changes + #pragma warning( disable : 4103 ) + + // This is taken from PreConfig_Win.h in dvacore, there is a bug in the VS2010 xlocnum header in particular where it is + // incorrectly putting a declspec on a static member of a template class 'numpunct'. + #if defined(_MSC_VER) && (_MSC_VER >= 1600) && defined(PREMIERE_INTERNAL) + // Compilation problems due to locale id being marked as dllimport. -jacquave 2/18/2010 + // Also, opened a Technical Support Request with Microsoft, # 111021865918375. + + // http://connect.microsoft.com/VisualStudio/feedback/details/572376/msvc10-c-std-numpunct-has-a-hardcoded-dllimport-in-definition + // http://dotnetforum.net/topic/7346-vs2010-error-c2491-stdnumpunctid-while-using-stdbasic-fstream-in-ccli/ + #ifdef __cplusplus + #include "dvacore/config/win/xlocnum_hack.h" + #endif + #endif +#endif + +//8 byte alignment for adobesdk public files. +#pragma pack( push, AdobeSDKExternalAlign, 8 ) diff --git a/External/AE SDK/Headers/adobesdk/drawbotsuite/DrawbotSuiteTypes.h b/External/AE SDK/Headers/adobesdk/drawbotsuite/DrawbotSuiteTypes.h new file mode 100755 index 00000000..5c1ee028 --- /dev/null +++ b/External/AE SDK/Headers/adobesdk/drawbotsuite/DrawbotSuiteTypes.h @@ -0,0 +1,148 @@ +/************************************************************************** + * + * ADOBE CONFIDENTIAL + * ___________________ + * + * Copyright 2009 Adobe Systems Incorporated + * All Rights Reserved. + * + * NOTICE: All information contained herein is, and remains the property of + * Adobe Systems Incorporated and its suppliers, if any. The intellectual + * and technical concepts contained herein are proprietary to Adobe Systems + * Incorporated and its suppliers and may be covered by U.S. and Foreign + * Patents,patents in process,and are protected by trade secret or copyright + * law. Dissemination of this information or reproduction of this material + * is strictly forbidden unless prior written permission is obtained from + * Adobe Systems Incorporated. + **************************************************************************/ +// Author: pankajn@adobe.com + +#ifndef DRAWBOT_SUITE_TYPES_H +#define DRAWBOT_SUITE_TYPES_H + +#include + + +typedef struct _DRAWBOT_DrawRef *DRAWBOT_DrawRef; +typedef struct _DRAWBOT_SupplierRef *DRAWBOT_SupplierRef; +typedef struct _DRAWBOT_SurfaceRef *DRAWBOT_SurfaceRef; +typedef struct _DRAWBOT_PenRef *DRAWBOT_PenRef; +typedef struct _DRAWBOT_PathRef *DRAWBOT_PathRef; +typedef struct _DRAWBOT_BrushRef *DRAWBOT_BrushRef; +typedef struct _DRAWBOT_ImageRef *DRAWBOT_ImageRef; +typedef struct _DRAWBOT_FontRef *DRAWBOT_FontRef; +typedef struct _DRAWBOT_ObjectRef *DRAWBOT_ObjectRef; + + +// 0.0f to 1.0f +typedef struct { + float red; + float green; + float blue; + float alpha; +} DRAWBOT_ColorRGBA; + + +typedef struct { + float x; + float y; +} DRAWBOT_PointF32; + + +typedef struct { + float left; + float top; + float width; //not right + float height; //not bottom +} DRAWBOT_RectF32; + + +typedef struct { + int left; + int top; + int width; //not right + int height; //not bottom +} DRAWBOT_Rect32; + + +typedef struct { + float mat[3][3]; +} DRAWBOT_MatrixF32; + + +//Enum to fill a path +enum { + kDRAWBOT_FillType_EvenOdd = 0, + kDRAWBOT_FillType_Winding, + + kDRAWBOT_FillType_Default = kDRAWBOT_FillType_Winding +}; +typedef int DRAWBOT_FillType; + + +//Enum to specify pixel layout of buffer to create an image. +enum { + kDRAWBOT_PixelLayout_24RGB = 0, + kDRAWBOT_PixelLayout_24BGR, + kDRAWBOT_PixelLayout_32RGB, // ARGB (A is ignored). + kDRAWBOT_PixelLayout_32BGR, // BGRA (A is ignored). + kDRAWBOT_PixelLayout_32ARGB_Straight, + kDRAWBOT_PixelLayout_32ARGB_Premul, + kDRAWBOT_PixelLayout_32BGRA_Straight, + kDRAWBOT_PixelLayout_32BGRA_Premul +}; +typedef int DRAWBOT_PixelLayout; + + +//Enum to specify the text alignment (used in DrawString) +enum { + kDRAWBOT_TextAlignment_Left = 0, + kDRAWBOT_TextAlignment_Center, + kDRAWBOT_TextAlignment_Right, + + kDRAWBOT_TextAlignment_Default = kDRAWBOT_TextAlignment_Left +}; +typedef int DRAWBOT_TextAlignment; + + +//Enum to specify text truncation (used in DrawString) +enum { + kDRAWBOT_TextTruncation_None = 0, + kDRAWBOT_TextTruncation_End, + kDRAWBOT_TextTruncation_EndEllipsis, + kDRAWBOT_TextTruncation_PathEllipsis // tries to preserve the disk name ellipsis in middle of string +}; +typedef int DRAWBOT_TextTruncation; + + +//Enum to specify surface interpolation level +enum { + kDRAWBOT_InterpolationPolicy_None = 0, + kDRAWBOT_InterpolationPolicy_Med, + kDRAWBOT_InterpolationPolicy_High, + + kDRAWBOT_InterpolationPolicy_Default = kDRAWBOT_InterpolationPolicy_None +}; +typedef int DRAWBOT_InterpolationPolicy; + + +//Enum to specify drawing anti-aliasing level +enum { + kDRAWBOT_AntiAliasPolicy_None = 0, + kDRAWBOT_AntiAliasPolicy_Med, + kDRAWBOT_AntiAliasPolicy_High, + + kDRAWBOT_AntiAliasPolicy_Default = kDRAWBOT_AntiAliasPolicy_None +}; +typedef int DRAWBOT_AntiAliasPolicy; + + +#include + +#endif //DRAWBOT_SUITE_TYPES_H + + + + + + \ No newline at end of file diff --git a/External/AE SDK/Headers/entry.h b/External/AE SDK/Headers/entry.h new file mode 100644 index 00000000..6a0175db --- /dev/null +++ b/External/AE SDK/Headers/entry.h @@ -0,0 +1,53 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/* + Entry.h + + Part of the Adobe After Effects SDK. +*/ + +#include "AE_PluginData.h" + +#ifdef AE_OS_WIN + #define DllExport __declspec( dllexport ) +#elif defined AE_OS_MAC + #define DllExport __attribute__ ((visibility ("default"))) +#endif + + +#define AE_ENTRY_POINT "EffectMain" +#define AE_RESERVED_INFO 8 + +#define PF_REGISTER_EFFECT(INPTR, CBPTR, NAME, MATCHNAME, CATEGORY,RESERVEDINFO) \ + result = (*(CBPTR))((INPTR),\ + reinterpret_cast(NAME),\ + reinterpret_cast(MATCHNAME),\ + reinterpret_cast(CATEGORY),\ + reinterpret_cast(AE_ENTRY_POINT),\ + 'eFKT',\ + PF_AE_PLUG_IN_VERSION,\ + PF_AE_PLUG_IN_SUBVERS,\ + RESERVEDINFO);\ + if(result == A_Err_NONE)\ + {\ + result = PF_Err_NONE;\ + } diff --git a/External/AE SDK/Resources/AE_General.r b/External/AE SDK/Resources/AE_General.r new file mode 100644 index 00000000..a0b146cf --- /dev/null +++ b/External/AE SDK/Resources/AE_General.r @@ -0,0 +1,548 @@ +/* + File: AE_General.r + + Copyright 1991-96 by Adobe Systems Inc.. + + Photoshop's Rinclude with AE extensions + +*/ + +#ifndef __AEPIGeneral_r__ +#define __AEPIGeneral_r__ + +#ifndef kPIPropertiesVersion +#define kPIPropertiesVersion 0 +#endif + +type 'PiPL' + { + longint = kPIPropertiesVersion; + longint = $$CountOf(properties); + array properties + { + switch + { + +/* Properties for all types of plug-ins. */ + + case Kind: + longint = '8BIM'; + key longint = 'kind'; + longint = 0; + longint = 4; + literal longint Filter = '8BFM', Parser = '8BYM', ImageFormat='8BIF', + Extension = '8BXM', Acquire = '8BAM', Export = '8BEM', + /* AE specific */ + AEEffect = 'eFKT', AEImageFormat = 'FXIF', AEAccelerator = 'eFST', + AEGeneral = 'AEgp', AEGP = 'AEgx', AEForeignProjectFormat = 'eFPF'; + + case Version: + longint = '8BIM'; + key longint = 'vers'; + longint = 0; + longint = 4; + longint; + + case Priority: + longint = '8BIM'; + key longint = 'prty'; + longint = 0; + longint = 4; + longint; + + case RequiredHost: + longint = '8BIM'; + key longint = 'host'; + longint = 0; + longint = 4; + literal longint; + + case Name: + longint = '8BIM'; + key longint = 'name'; + longint = 0; +#if DeRez + fill long; +#else + longint = (nameEnd[$$ArrayIndex(properties)] - nameStart[$$ArrayIndex(properties)]) / 8; +#endif + nameStart: + pstring; + nameEnd: + align long; + + case Category: + longint = '8BIM'; + key longint = 'catg'; + longint = 0; +#if DeRez + fill long; +#else + longint = (catgEnd[$$ArrayIndex(properties)] - catgStart[$$ArrayIndex(properties)]) / 8; +#endif + catgStart: + pstring; + catgEnd: + align long; + + case Code68k: + longint = '8BIM'; + key longint = 'm68k'; + longint = 0; + longint = 6; + literal longint; + integer; + align long; + + case Code68kFPU: + longint = '8BIM'; + key longint = '68fp'; + longint = 0; + longint = 6; + literal longint; + integer; + align long; + + case CodePowerPC: + longint = '8BIM'; + key longint = 'pwpc'; + longint = 0; +#if DeRez + fill long; +#else + longint = (pwpcEnd[$$ArrayIndex(properties)] - pwpcStart[$$ArrayIndex(properties)]) / 8; +#endif + pwpcStart: + longint; + longint; + pstring; + pwpcEnd: + align long; + + case CodeCarbonPowerPC: + longint = '8BIM'; + key longint = 'ppcb'; + longint = 0; + #if DeRez + fill long; + #else + longint = (pwpcCarbonEnd[$$ArrayIndex(properties)] - pwpcCarbonStart[$$ArrayIndex(properties)]) / 8; + #endif + pwpcCarbonStart: + longint; + longint; + pstring; + pwpcCarbonEnd: + align long; + + // Mach-O Support + case CodeMachOPowerPC: + longint = '8BIM'; + key longint = 'mach'; + longint = 0; + #if DeRez + fill long; + #else + longint = (pwpcMachEnd[$$ArrayIndex(properties)] - pwpcMachStart[$$ArrayIndex(properties)]) / 8; + #endif + pwpcMachStart: + pstring; + pwpcMachEnd: + align long; + + // Mach-O Intel 32bit Support + case CodeMacIntel32: + longint = '8BIM'; + key longint = 'mi32'; + longint = 0; + #if DeRez + fill long; + #else + longint = (pwpcMacIntel32End[$$ArrayIndex(properties)] - pwpcMacIntel32Start[$$ArrayIndex(properties)]) / 8; + #endif + pwpcMacIntel32Start: + pstring; + pwpcMacIntel32End: + align long; + + // Mach-O Intel 64bit Support + case CodeMacIntel64: + longint = '8BIM'; + key longint = 'mi64'; + longint = 0; + #if DeRez + fill long; + #else + longint = (pwpcMacIntel64End[$$ArrayIndex(properties)] - pwpcMacIntel64Start[$$ArrayIndex(properties)]) / 8; + #endif + pwpcMacIntel64Start: + pstring; + pwpcMacIntel64End: + align long; + + case CodeMacARM64: + longint = '8BIM'; + key longint = 'ma64'; + longint = 0; + #if DeRez + fill long; + #else + longint = (pwpcMacARM64End[$$ArrayIndex(properties)] - pwpcMacARM64Start[$$ArrayIndex(properties)]) / 8; + #endif + pwpcMacARM64Start: + pstring; + pwpcMacARM64End: + align long; + + +#ifdef AE_OS_WIN /* For documentation purposes only. */ + case CodeWin32X86: + longint = '8BIM'; + key longint = 'wx86'; + longint = 0; + longint = (win32x86End[$$ArrayIndex(properties)] - win32x86Start[$$ArrayIndex(properties)]) / 8; + win32x86Start: + cstring; + win32x86End: + align long; + + case CodeWin64X86: + longint = '8BIM'; + key longint = '8664'; + longint = 0; + longint = (win64x86End[$$ArrayIndex(properties)] - win64x86Start[$$ArrayIndex(properties)]) / 8; + win64x86Start: + cstring; + win64x86End: + align long; +#endif + + case SupportedModes: + longint = '8BIM'; + key longint = 'mode'; + longint = 0; +#if DeRez + fill long; +#else + longint = (modeEnd[$$ArrayIndex(properties)] - modeStart[$$ArrayIndex(properties)]) / 8; +#endif + modeStart: + boolean noBitmap, doesSupportBitmap; + boolean noGrayScale, doesSupportGrayScale; + boolean noIndexedColor, doesSupportIndexedColor; + boolean noRGBColor, doesSupportRGBColor; + boolean noCMYKColor, doesSupportCMYKColor; + boolean noHSLColor, doesSupportHSLColor; + boolean noHSBColor, doesSupportHSBColor; + boolean noMultichannel, doesSupportMultichannel; + boolean noDuotone, doesSupportDuotone; + boolean noLABColor, doesSupportLABColor; + boolean noGray16, doesSupportGray16; + boolean noRGB48, doesSupportRGB48; + boolean noLab48, doesSupportLab48; + boolean noCMYK64, doesSupportCMYK64; + boolean noDeepMultichannel, doesSupportDeepMultichannel; + boolean noDuotone16, doesSupportDuotone16; + modeEnd: + align long; + +/* Filter plug-in properties. */ + + case FilterCaseInfo: + longint = '8BIM'; + key longint = 'fici'; + longint = 0; + longint = 28; + array [7] + { + byte inCantFilter = 0, + inStraightData = 1, + inBlackMat = 2, + inGrayMat = 3, + inWhiteMat = 4, + inDefringe = 5, + inBlackZap = 6, + inGrayZap = 7, + inWhiteZap = 8, + inBackgroundZap = 10, + inForegroundZap = 11; + byte outCantFilter = 0, + outStraightData = 1, + outBlackMat = 2, + outGrayMat = 3, + outWhiteMat = 4, + outFillMask = 9; + fill bit [5]; + boolean doesNotFilterLayerMasks, filtersLayerMasks; + boolean doesNotWorkWithBlankData, worksWithBlankData; + boolean copySourceToDestination, doNotCopySourceToDestination; + fill byte; + } ; + +/* Export plug-in properties. */ + + case ExportFlags: + longint = '8BIM'; + key longint = 'expf'; + longint = 0; +#if DeRez + fill long; +#else + longint = (expFlagsEnd[$$ArrayIndex(properties)] - expFlagsStart[$$ArrayIndex(properties)]) / 8; +#endif + expFlagsStart: + boolean expDoesNotSupportTransparency, expSupportsTransparency; + fill bit[7]; + expFlagsEnd: + align long; + +/* Format plug-in properties. */ +// If this property is present, then its on. No parameters + case SupportsPOSIXIO: + longint = '8BIM'; + key longint = 'fxio'; + longint = 0; + longint = 4; + literal longint = 1; + + case FmtFileType: + longint = '8BIM'; + key longint = 'fmTC'; + longint = 0; + longint = 8; + literal longint; /* Default file type. */ + literal longint; /* Default file creator. */ + + case ReadTypes: + longint = '8BIM'; + key longint = 'RdTy'; + longint = 0; + longint = $$CountOf(ReadableTypes) * 8; + wide array ReadableTypes { literal longint; literal longint; } ; + + case WriteTypes: + longint = '8BIM'; + key longint = 'WrTy'; + longint = 0; + longint = $$CountOf(WritableTypes) * 8; + wide array WritableTypes { literal longint; literal longint; } ; + + case FilteredTypes: + longint = '8BIM'; + key longint = 'fftT'; + longint = 0; + longint = $$CountOf(FilteredTypes) * 8; + wide array FilteredTypes { literal longint; literal longint; } ; + + case ReadExtensions: + longint = '8BIM'; + key longint = 'RdEx'; + longint = 0; + longint = $$CountOf(ReadableExtensions) * 4; + wide array ReadableExtensions { literal longint; } ; + + case WriteExtensions: + longint = '8BIM'; + key longint = 'WrEx'; + longint = 0; + longint = $$CountOf(WriteableExtensions) * 4; + wide array WriteableExtensions { literal longint; } ; + + case FilteredExtensions: + longint = '8BIM'; + key longint = 'fftE'; + longint = 0; + longint = $$CountOf(FilteredExtensions) * 4; + wide array FilteredExtensions { literal longint; } ; + + case FormatFlags: + longint = '8BIM'; + key longint = 'fmtf'; + longint = 0; +/* longint = (fmtFlagsEnd[$$ArrayIndex(properties)] - fmtFlagsStart[$$ArrayIndex(properties)]) / 8; */ + longint = 1; + fmtFlagsStart: + boolean fmtReadsAllTypes, fmtDoesntReadAllTypes; + boolean fmtDoesNotSaveImageResources, fmtSavesImageResources; + boolean fmtCannotRead, fmtCanRead; + boolean fmtCannotWrite, fmtCanWrite; + boolean fmtWritesAll, fmtCanWriteIfRead; + fill bit[3]; + fmtFlagsEnd: + align long; + + case FormatICCFlags: + longint = '8BIM'; + key longint = 'fmip'; + longint = 0; + //longint = (iccFlagsEnd[$ArrayIndex(properties)] - iccFlagsStart[$ArrayIndex(properties)]) / 8; + longint = 1; + iccFlagsStart: + boolean iccCannotEmbedGray, iccCanEmbedGray; + boolean iccCannotEmbedIndexed, iccCanEmbedIndexed; + boolean iccCannotEmbedRGB, iccCanEmbedRGB; + boolean iccCannotEmbedCMYK, iccCanEmbedCMYK; + fill bit[4]; + iccFlagsEnd: + align long; + + case FormatMaxSize: + longint = '8BIM'; + key longint = 'mxsz'; + longint = 0; + longint = 4; + Point; + + case FormatMaxChannels: + longint = '8BIM'; + key longint = 'mxch'; + longint = 0; + longint = $$CountOf(ChannelsSupported) * 2; + wide array ChannelsSupported { integer; } ; + align long; + + /* after effects specific PiPL atoms */ + + case AE_PiPL_Version: + longint = '8BIM'; + key longint = 'ePVR'; + longint = 0; + longint = 4; + integer; + integer; + + case AE_Effect_Spec_Version: + longint = '8BIM'; + key longint = 'eSVR'; + longint = 0; + longint = 4; + integer; + integer; + + + case AE_Effect_Version: + longint = '8BIM'; + key longint = 'eVER'; + longint = 0; + longint = 4; + longint; + + + case AE_Effect_Info_Flags: + longint = '8BIM'; + key longint = 'eINF'; + longint = 0; + longint = 2; + integer; + align long; +/* + case AE_Effect_Global_OutFlags: + longint = '8BIM'; + key longint = 'eGLO'; + longint = 0; +#if DeRez + fill long; +#else + longint = (gloEnd[$$ArrayIndex(properties)] - gloStart[$$ArrayIndex(properties)]) / 8; +#endif + gloStart: + fill bit[6]; + boolean noReserved4, reserved4; + boolean noReserved3, reserved3; + boolean noReserved2, reserved2; + boolean noReserved1, reserved1; + boolean noObsolete, obsolete; + boolean noAudio, audio; + boolean noShutterAngle, shutterAngle; + boolean noNopRender, nopRender; + boolean noRefreshUI, refreshUI; + boolean noCustomNtrp, customNtrp; + boolean noCustomUI, customUI; + boolean noNonSquareOnly, nonSquareOnly; + boolean noWorksInPlace, worksInPlace; + boolean noShrinkBuf, shrinkBuf; + boolean noWriteInput, writeInput; + boolean noPixIndep, pixIndep; + boolean noExpandBuf, expandBuf; + boolean noErrMsg, errMsg; + boolean noSendDialog, sendDialog; + boolean noOutputExtent, outputExtent; + boolean noDialog, dialog; + boolean noSeqFlatten, seqFlatten; + boolean noSendParamsUpdate, sendParamsUpdate; + boolean noRandomness, randomness; + boolean noWideTimeInput, wideTimeInput; + boolean noKeepRsrcOpen, keepRsrcOpen; + gloEnd: + align long; +*/ + case AE_Effect_Global_OutFlags: + longint = '8BIM'; + key longint = 'eGLO'; + longint = 0; + longint = 4; + longint; + + case AE_Effect_Global_OutFlags_2: + longint = '8BIM'; + key longint = 'eGL2'; + longint = 0; + longint = 4; + longint; + + case AE_Effect_Match_Name: + longint = '8BIM'; + key longint = 'eMNA'; + longint = 0; +#if DeRez + fill long; +#else + longint = (matchNameEnd[$$ArrayIndex(properties)] - matchNameStart[$$ArrayIndex(properties)]) / 8; +#endif + matchNameStart: + pstring; + matchNameEnd: + align long; + + case AE_ImageFormat_Extension_Info: + longint = '8BIM'; + key longint = 'FXMF'; + longint = 0; + longint = 16; + integer; /* major version */ + integer; /* minor version */ + fill bit[21]; + boolean hasOptions, hasNoOptions; + boolean sequentialOnly, nonSequentialOk; + boolean noInteractRequired, mustInteract; + boolean noInteractPut, hasInteractPut; + boolean noInteractGet, hasInteractGet; + boolean hasTime, hasNoTime; + boolean noVideo, hasVideo; + boolean noStill, still; + boolean noFile, hasFile; + boolean noOutput, output; + boolean noInput, input; + longint = 0; /* reserved */ + literal longint;/* signature */ + + + case AE_Reserved: + longint = '8BIM'; + key longint = 'aeRD'; + longint = 0; + longint = 4; + longint; + + case AE_Reserved_Info: + longint = '8BIM'; + key longint = 'aeFL'; + longint = 0; + longint = 4; + longint; + }; + }; + }; + + +#endif diff --git a/External/AE SDK/Resources/Mach-O_prefix.h b/External/AE SDK/Resources/Mach-O_prefix.h new file mode 100644 index 00000000..e5da3715 --- /dev/null +++ b/External/AE SDK/Resources/Mach-O_prefix.h @@ -0,0 +1 @@ +#define __MACH__ 1 \ No newline at end of file diff --git a/External/AE SDK/Resources/PiPLtool.exe b/External/AE SDK/Resources/PiPLtool.exe new file mode 100755 index 00000000..a50f04f6 --- /dev/null +++ b/External/AE SDK/Resources/PiPLtool.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c4d33fe38e8b8bd99c4dc98f4bebcd2f486c016ae6d9259775060b2ef9fac05 +size 201216 diff --git a/External/AE SDK/Util/AEFX_ArbParseHelper.c b/External/AE SDK/Util/AEFX_ArbParseHelper.c new file mode 100644 index 00000000..29d75396 --- /dev/null +++ b/External/AE SDK/Util/AEFX_ArbParseHelper.c @@ -0,0 +1,174 @@ +// AEFX_ArbParseHelper.c +// + + + +#include "AEFX_ArbParseHelper.h" + +#include +#include +#include +#include +#include + +PF_Err +AEFX_AppendText( A_char *srcAC, /* >> */ + const A_u_long dest_sizeL, /* >> */ + A_char *destAC, /* <> */ + A_u_long *current_indexPLu) /* <> */ +{ + PF_Err err = PF_Err_NONE; + + A_u_long new_strlenLu = (A_u_long) strlen(srcAC) + *current_indexPLu; + + + if (new_strlenLu <= dest_sizeL) { + destAC[*current_indexPLu] = 0x00; + + strcat(destAC, srcAC); + *current_indexPLu = new_strlenLu; + } else { + err = AEFX_ParseError_APPEND_ERROR; + } + + return err; +} + + + + +PF_Err +AEFX_ParseCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + A_char *bufAC) /* << AEFX_CELL_SIZE */ +{ + (void)out_data; + (void)in_data; + + PF_Err err = PF_Err_NONE; + A_char c; + A_char buf[AEFX_CELL_SIZE]; + A_char *scan; + A_short count; + + if (startPC[*current_indexPL] == AEFX_Char_EOL) { + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else if (startPC[*current_indexPL] == 0) { + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else { + count = 0; + scan = buf; + while ((c = startPC[(*current_indexPL)++]) != 0) { + if (c == AEFX_Char_TAB) + break; + if (c == AEFX_Char_EOL) { + (*current_indexPL)--; + break; + } + + *scan++ = c; + + if (++count >= AEFX_CELL_SIZE) + break; + } + *scan = 0; + + // trim spaces from head + scan = buf; + while (isspace(*scan)) + scan++; + + strcpy(bufAC, scan); + + // trim spaces from end (guaranteed not to scan past start of string, because + // if the string were all spaces, it would be trimmed down to nothing in the + // head-trim step above + if (*bufAC) { + scan = bufAC + strlen(bufAC) - 1; + while (*scan == AEFX_Char_SPACE) { + *scan-- = 0; + } + } + } + + return err; + +} + + +/** AEFX_ParseFpLong + + Reads in the next cell in the input stream and converts it to a double. + The first non-space character must be numeric. + +**/ +PF_Err +AEFX_ParseFpLong( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_FpLong *dPF) /* << */ +{ + PF_Err err = PF_Err_NONE; + A_char c; + A_char *end_ptr; + A_char buf[AEFX_CELL_SIZE]; + + err = AEFX_ParseCell(in_data, out_data, startPC, current_indexPL, buf); + + if (!err) { + c = buf[0]; + + if (!isdigit(c) && c != '.' && c != '-') { + err = AEFX_ParseError_EXPECTING_A_NUMBER; + } else { + errno = 0; + *dPF = strtod(buf, &end_ptr); + } + } + + return err; +} + + + +PF_Err +AEFX_MatchCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *strPC, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_Boolean *matchPB0) /* << */ +{ + PF_Err err = PF_Err_NONE; + A_char buf[AEFX_CELL_SIZE]; + A_u_long origLu = *current_indexPL; + PF_Boolean found = 0; + + if (startPC[*current_indexPL] == AEFX_Char_EOL) { + found = 0; + err = AEFX_ParseError_EXPECTING_MORE_DATA; + } else { + err = AEFX_ParseCell(in_data, out_data, startPC, current_indexPL, buf); + + if (!err) { + found = STR_EQUAL(buf, strPC); + + if (!found) + *current_indexPL = origLu; + } + } + + if (!err && !found && matchPB0 == NULL) { + err = AEFX_ParseError_MATCH_ERROR; + } + + if (matchPB0) + *matchPB0 = found; + + return err; +} + + diff --git a/External/AE SDK/Util/AEFX_ArbParseHelper.h b/External/AE SDK/Util/AEFX_ArbParseHelper.h new file mode 100644 index 00000000..fa79fa3e --- /dev/null +++ b/External/AE SDK/Util/AEFX_ArbParseHelper.h @@ -0,0 +1,75 @@ +// AEFX_ArbParseHelper.h +// + +// This file has no header, and is designed to by #included as necessary. -jja 9/30/98 + + +#ifndef _H_AEFX_ArbParseHelper +#define _H_AEFX_ArbParseHelper + +#include + +#define AEFX_Char_TAB '\t' +#define AEFX_Char_EOL '\r' +#define AEFX_Char_SPACE ' ' + +#ifndef AEFX_CELL_SIZE +#define AEFX_CELL_SIZE 256 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +enum { + AEFX_ParseError_EXPECTING_MORE_DATA = 0x00FEBE00, + AEFX_ParseError_APPEND_ERROR, + AEFX_ParseError_EXPECTING_A_NUMBER, + AEFX_ParseError_MATCH_ERROR +}; +typedef A_long AEFX_ParseErrors; + + + +#ifndef STR_EQUAL + #define STR_EQUAL(A, B) (strcmp((A),(B)) == 0) +#endif + + +PF_Err +AEFX_AppendText( A_char *srcAC, /* >> */ + const A_u_long dest_sizeL, /* >> */ + A_char *destAC, /* <> */ + A_u_long *current_indexPLu); /* <> */ + + +PF_Err +AEFX_ParseFpLong( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_FpLong *dPF); /* << */ + + +PF_Err +AEFX_MatchCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *strPC, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + PF_Boolean *matchPB0); /* << */ + +PF_Err +AEFX_ParseCell( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const A_char *startPC, /* >> */ + A_u_long *current_indexPL, /* << */ + A_char *bufAC); /* << AEFX_CELL_SIZE */ + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif diff --git a/External/AE SDK/Util/AEFX_ChannelDepthTpl.h b/External/AE SDK/Util/AEFX_ChannelDepthTpl.h new file mode 100644 index 00000000..55c0546d --- /dev/null +++ b/External/AE SDK/Util/AEFX_ChannelDepthTpl.h @@ -0,0 +1,59 @@ +#ifndef _H_AEFX_CHANNELDEPTHTPL +#define _H_AEFX_CHANNELDEPTHTPL + +/** AEFX_ChannelDepthTpl.h + + (c) 2005 Adobe Systems Incorporated + +**/ + +// Basic pixel traits structure. This structure is never used per se, merely overidden -- see below. +template +struct PixelTraits { + typedef int PixType; + typedef int DataType; + static DataType + LutFunc(DataType input, const DataType *map); + + enum {max_value = 0 }; +}; + + +// 8 bit pixel types, constants, and functions +template <> +struct PixelTraits{ + typedef PF_Pixel8 PixType; + typedef u_char DataType; + static DataType + LutFunc(DataType input, const DataType *map){return map[input];} + enum {max_value = PF_MAX_CHAN8}; +}; + +// 16 bit pixel types, constants, and functions +template <> +struct PixelTraits{ + typedef PF_Pixel16 PixType; + typedef u_short DataType; + static u_short + LutFunc(u_short input, const u_short *map); + enum {max_value = PF_MAX_CHAN16}; +}; + + +inline u_short +PixelTraits::LutFunc(u_short input, + const u_short *map) +{ + u_short index = input >> (15 - PF_TABLE_BITS); + uint32_t fract = input & ((1 << (15 - PF_TABLE_BITS)) - 1); + A_long result = map [index]; + + if (fract) { + result += ((((A_long) map [index + 1] - result) * fract) + + (1 << (14 - PF_TABLE_BITS))) >> (15 - PF_TABLE_BITS); + } + return (u_short) result; + +} + +#endif //_H_AEFX_CHANNELDEPTHTPL \ No newline at end of file diff --git a/External/AE SDK/Util/AEFX_SuiteHelper.c b/External/AE SDK/Util/AEFX_SuiteHelper.c new file mode 100644 index 00000000..9ddd9b2a --- /dev/null +++ b/External/AE SDK/Util/AEFX_SuiteHelper.c @@ -0,0 +1,139 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + + +/** AEFX_SuiteHelper.c + + Contains helper routines for acquiring/releasing suites. + +**/ + +#include "AEFX_SuiteHelper.h" +#include + +PF_Err AEFX_AcquireSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0, /* >> */ + void **suite) /* << */ +{ + PF_Err err = PF_Err_NONE; + SPBasicSuite *bsuite; + + bsuite = in_data->pica_basicP; + + if (bsuite) { + (*bsuite->AcquireSuite)((char*)name, version, (const void**)suite); + + if (!*suite) { + err = PF_Err_BAD_CALLBACK_PARAM; + } + } else { + err = PF_Err_BAD_CALLBACK_PARAM; + } + + if (err) { + const char *error_stringPC = error_stringPC0 ? error_stringPC0 : "Not able to acquire AEFX Suite."; + + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, error_stringPC); + } + + return err; +} + + + +PF_Err AEFX_ReleaseSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0) /* >> */ +{ + PF_Err err = PF_Err_NONE; + SPBasicSuite *bsuite; + + bsuite = in_data->pica_basicP; + + if (bsuite) { + (*bsuite->ReleaseSuite)((char*)name, version); + } else { + err = PF_Err_BAD_CALLBACK_PARAM; + } + + if (err) { + const char *error_stringPC = error_stringPC0 ? error_stringPC0 : "Not able to release AEFX Suite."; + + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, error_stringPC); + } + + return err; +} + + +PF_Err AEFX_AcquireDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + DRAWBOT_Suites *suitesP) /* << */ +{ + PF_Err err = PF_Err_NONE; + + if (suitesP == NULL) { + out_data->out_flags |= PF_OutFlag_DISPLAY_ERROR_MESSAGE; + + PF_SPRINTF(out_data->return_msg, "NULL suite pointer passed to AEFX_AcquireDrawbotSuites"); + + err = PF_Err_UNRECOGNIZED_PARAM_TYPE; + } + + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent, NULL, (void **)&suitesP->drawbot_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent, NULL, (void **)&suitesP->supplier_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent, NULL, (void **)&suitesP->surface_suiteP); + } + if (!err) { + err = AEFX_AcquireSuite(in_data, out_data, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent, NULL, (void **)&suitesP->path_suiteP); + } + + return err; +} + + +PF_Err AEFX_ReleaseDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data) /* >> */ +{ + PF_Err err = PF_Err_NONE; + + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent, NULL); + AEFX_ReleaseSuite(in_data, out_data, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent, NULL); + + return err; +} + + + + diff --git a/External/AE SDK/Util/AEFX_SuiteHelper.h b/External/AE SDK/Util/AEFX_SuiteHelper.h new file mode 100644 index 00000000..2ede44c8 --- /dev/null +++ b/External/AE SDK/Util/AEFX_SuiteHelper.h @@ -0,0 +1,157 @@ +/************************************************************************** +* +* ADOBE CONFIDENTIAL +* ___________________ +* +* Copyright 2009 Adobe Systems Incorporated +* All Rights Reserved. +* +* NOTICE: All information contained herein is, and remains the property of +* Adobe Systems Incorporated and its suppliers, if any. The intellectual +* and technical concepts contained herein are proprietary to Adobe Systems +* Incorporated and its suppliers and may be covered by U.S. and Foreign +* Patents,patents in process,and are protected by trade secret or copyright +* law. Dissemination of this information or reproduction of this material +* is strictly forbidden unless prior written permission is obtained from +* Adobe Systems Incorporated. +**************************************************************************/ + +#ifndef AEFX_SUITE_HELPER_H +#define AEFX_SUITE_HELPER_H + + +/** AEFX_SuiteHelper.h + + Contains helper routines for acquiring/releasing suites. + + NOTE: If you're writing C++ plug-ins that support exceptions, use the AEGP_SuiteHandler class or AEFX_SuiteScoper. + +**/ + +#include +#include +#include +#include + + + +#ifdef __cplusplus + extern "C" { +#endif + +PF_Err AEFX_AcquireSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0, /* >> */ + void **suite); /* << */ + + +PF_Err AEFX_ReleaseSuite( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version, /* >> */ + const char *error_stringPC0); /* >> */ + + +PF_Err AEFX_AcquireDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + DRAWBOT_Suites *suiteP); /* << */ + + +PF_Err AEFX_ReleaseDrawbotSuites( PF_InData *in_data, /* >> */ + PF_OutData *out_data); /* >> */ + + +#ifdef __cplusplus + } +#endif + + +#ifdef __cplusplus + + template + class AEFX_SuiteHelperT + { + public: + AEFX_SuiteHelperT( PF_InData *in_data, /* >> */ + PF_OutData *out_data, /* >> */ + const char *name, /* >> */ + int32_t version) : /* >> */ + mInDataP(in_data), mOutDataP(out_data), mSuiteName(name), mSuiteVersion(version), mSuiteP(NULL) + { + void *suiteP(NULL); + + PF_Err err = AEFX_AcquireSuite(mInDataP, mOutDataP, mSuiteName, mSuiteVersion, NULL, &suiteP); + + if (err) { + A_THROW(err); + } + + mSuiteP = reinterpret_cast(suiteP); + } + + ~AEFX_SuiteHelperT() + { + (void)AEFX_ReleaseSuite(mInDataP, mOutDataP, mSuiteName, mSuiteVersion, NULL); + } + + const SuiteType* operator->() const + { + return mSuiteP; + } + + SuiteType* get() const + { + return mSuiteP; + } + + private: + + PF_InData *mInDataP; + PF_OutData *mOutDataP; + const char *mSuiteName; + int32_t mSuiteVersion; + SuiteType *mSuiteP; + }; + + + +// clients of this class probably should just be using the regular template +// instead + +class AEFX_DrawbotSuitesScoper +{ +public: + AEFX_DrawbotSuitesScoper(PF_InData *in_data, PF_OutData *out_data) + : + i_in_data(in_data), + i_out_data(out_data) + { + PF_Err err = AEFX_AcquireDrawbotSuites(in_data, out_data, &i_suites); + + if (err) { + A_THROW(err); + } + } + + inline DRAWBOT_Suites* Get() + { + return &i_suites; + } + + ~AEFX_DrawbotSuitesScoper() + { + AEFX_ReleaseDrawbotSuites(i_in_data, i_out_data); + } + +private: + DRAWBOT_Suites i_suites; + PF_InData *i_in_data; + PF_OutData *i_out_data; +}; + +#endif + + +#endif // AEFX_SUITE_HELPER_H diff --git a/External/AE SDK/Util/AEGP_SuiteHandler.cpp b/External/AE SDK/Util/AEGP_SuiteHandler.cpp new file mode 100644 index 00000000..146a5f5e --- /dev/null +++ b/External/AE SDK/Util/AEGP_SuiteHandler.cpp @@ -0,0 +1,66 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/** AEGP_SuiteHandler.cpp + + Implementation of AEGP_SuiteHandler non-inlines. See AEGP_SuiteHandler.h for usage. + + created 9/11/2000 jms +**/ + + +#include +#include + +AEGP_SuiteHandler::AEGP_SuiteHandler(const SPBasicSuite *pica_basicP) : + i_pica_basicP(pica_basicP) +{ + AEFX_CLR_STRUCT(i_suites); + + if (!i_pica_basicP) { //can't construct w/out basic suite, everything else is demand loaded + MissingSuiteError(); + } +} + +AEGP_SuiteHandler::~AEGP_SuiteHandler() +{ + ReleaseAllSuites(); +} + +// Had to go to the header file to be inlined to please CW mach-o target +/*void *AEGP_SuiteHandler::pLoadSuite(A_char *nameZ, A_long versionL) const +{ + const void *suiteP; + A_long err = i_pica_basicP->AcquireSuite(nameZ, versionL, &suiteP); + + if (err || !suiteP) { + MissingSuiteError(); + } + + return (void*)suiteP; +}*/ + +// Free a particular suite. Ignore errors, because, what is there to be done if release fails? +void AEGP_SuiteHandler::ReleaseSuite(const A_char *nameZ, A_long versionL) +{ + i_pica_basicP->ReleaseSuite(nameZ, versionL); +} + diff --git a/External/AE SDK/Util/AEGP_SuiteHandler.h b/External/AE SDK/Util/AEGP_SuiteHandler.h new file mode 100644 index 00000000..59bc043b --- /dev/null +++ b/External/AE SDK/Util/AEGP_SuiteHandler.h @@ -0,0 +1,601 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + + +/** AEGP_SuiteHandler.h + + DEPRECATED: + This way of doing things is out of date. See AEFX_SuiteHandlerTemplate.h for the + new way of doing things. + + -kjw 2/28/2014 + + A very helpful class that manages demand loading and automatic, exception-safe freeing + of AEGP suites. + + USAGE INSTRUCTIONS: + + The accompanying file, AEGP_SuiteHandler.cpp, is designed to be compiled right into + the client application or plug-in. + + You'll get a link error. + + This is because AEGP_SuiteHandler.cpp lacks a definition for the MissingSuiteError() + method. You must provide one to define the error handling behaviour of the class. + This function may or may not display an error message etc. but it must end + by throwing an exception. It cannot return. + + Other than that, usage is pretty trivial. Construct with a pointer to the PICA + basic suite, and then call the public method to obtain lazily loaded pointers + to other AEGP suites. Upon desctruction, all loaded suites are freed (so this class + is really handy for writing exception-safe AEGP code.) + + NOTE!!! If you need to upgrade a suite, DO NOT SIMPLY UPDATE THE VERSION NUMBER. + You should: + 1. Add a new member to the Suites structure for that suite. + 2. Add the boiler plate macro to release the suite in ReleaseAllSuites (AEGP_SUITE_RELEASE_BOILERPLATE). + 3. Add the boiler plate macro to define the suite. (AEGP_SUITE_ACCESS_BOILERPLATE) + + If you have any questions, ask me. -jja 5/7/2004 + + If you'll be using ADM suites, #define I_NEED_ADM_SUPPORT before #including AEGP_SuiteHandler.h. + + -bbb 9/16/2004 +**/ + +#ifndef _H_AEGP_SUITEHANDLER +#define _H_AEGP_SUITEHANDLER + +#include +#include +#include +#include +#include +#include +#include + +#ifdef I_NEED_ADM_SUPPORT +#include +#include +#include +#include +#include +#include +#include +#endif + +// Suite registration and handling object +class AEGP_SuiteHandler { + +private: + // forbid copy construct + AEGP_SuiteHandler(const AEGP_SuiteHandler&) {} + AEGP_SuiteHandler& operator=(const AEGP_SuiteHandler&) { return *this; } + + // basic suite pointer + const SPBasicSuite *i_pica_basicP; + + // Suites we can register. These are mutable because they are demand loaded using a const object. + + struct Suites { + AEGP_KeyframeSuite4 *keyframe_suite4P; + AEGP_StreamSuite3 *stream_suite3P; + AEGP_StreamSuite4 *stream_suite4P; + AEGP_StreamSuite5 *stream_suite5P; + AEGP_MarkerSuite1 *marker_suite1P; + AEGP_MarkerSuite2 *marker_suite2P; + AEGP_MarkerSuite3 *marker_suite3P; + AEGP_CompSuite4 *comp_suite4P; + AEGP_CompSuite5 *comp_suite5P; + AEGP_CompSuite6 *comp_suite6P; + AEGP_CompSuite7 *comp_suite7P; + AEGP_CompSuite8 *comp_suite8P; + AEGP_CompSuite9 *comp_suite9P; + AEGP_CompSuite10 *comp_suite10P; + AEGP_CompSuite11 *comp_suite11P; + AEGP_LayerSuite3 *layer_suite3P; + AEGP_LayerSuite4 *layer_suite4P; + AEGP_StreamSuite2 *stream_suite2P; + AEGP_DynamicStreamSuite2 *dynamic_stream_suite2P; + AEGP_DynamicStreamSuite3 *dynamic_stream_suite3P; + AEGP_DynamicStreamSuite4 *dynamic_stream_suite4P; + AEGP_KeyframeSuite3 *keyframe_suite3P; + AEGP_CanvasSuite5 *canvas_suite5P; + AEGP_CanvasSuite6 *canvas_suite6P; + AEGP_CanvasSuite7 *canvas_suite7P; + AEGP_CanvasSuite8 *canvas_suite8P; + AEGP_CameraSuite2 *camera_suite2P; + AEGP_RegisterSuite5 *register_suite5P; + AEGP_MemorySuite1 *memory_suite1P; + AEGP_ItemViewSuite1 *item_view_suite1P; + AEGP_ItemSuite9 *item_suite9P; + AEGP_ItemSuite8 *item_suite8P; + AEGP_ItemSuite7 *item_suite7P; + AEGP_ItemSuite6 *item_suite6P; + AEGP_ItemSuite5 *item_suite5P; + AEGP_ItemSuite1 *item_suite1P; + AEGP_LightSuite1 *light_suite1P; + AEGP_LightSuite2 *light_suite2P; + AEGP_EffectSuite1 *effect_suite1P; + AEGP_EffectSuite2 *effect_suite2P; + AEGP_EffectSuite3 *effect_suite3P; + AEGP_EffectSuite4 *effect_suite4P; + AEGP_MaskSuite4 *mask_suite4P; + AEGP_MaskOutlineSuite1 *mask_outline_suite1P; + AEGP_MaskOutlineSuite2 *mask_outline_suite2P; + AEGP_MaskOutlineSuite3 *mask_outline_suite3P; + AEGP_CommandSuite1 *command_suite1P; + AEGP_UtilitySuite3 *utility_suite3P; + AEGP_RenderSuite1 *render_suite1P; + AEGP_RenderSuite2 *render_suite2P; + AEGP_RenderSuite3 *render_suite3P; + AEGP_RenderSuite4 *render_suite4P; + AEGP_RenderSuite5 *render_suite5P; + PF_ANSICallbacksSuite1 *ansi_callbacks_suite1P; + PF_HandleSuite1 *handle_suite1P; + PF_FillMatteSuite2 *fill_matte_suite2P; + PF_WorldTransformSuite1 *world_transform_suite1P; + AEGP_QueryXformSuite2 *query_xform_suite2P; + AEGP_CompositeSuite2 *composite_suite2P; + PF_WorldSuite1 *world_suite1P; + AEGP_PFInterfaceSuite1 *pf_interface_suite1P; + AEGP_MathSuite1 *math_suite1P; + PF_AdvTimeSuite4 *adv_time_suite4P; + PF_PathQuerySuite1 *path_query_suite1P; + PF_PathDataSuite1 *path_data_suite1P; + PF_ParamUtilsSuite3 *param_utils_suite3P; + PFAppSuite4 *app_suite4P; + PFAppSuite5 *app_suite5P; + PFAppSuite6 *app_suite6P; + PF_AdvAppSuite2 *adv_app_suite2P; + AEGP_IOInSuite4 *io_in_suite4P; + AEGP_IOOutSuite4 *io_out_suite4P; + AEGP_PersistentDataSuite3 *persistent_data_suite3P; + AEGP_PersistentDataSuite4 *persistent_data_suite4P; + AEGP_RenderQueueSuite1 *render_queue_suite1P; + AEGP_RQItemSuite2 *rq_item_suite2P; + AEGP_OutputModuleSuite4 *output_module_suite4P; + AEGP_FIMSuite3 *fim_suite3P; + PF_Sampling8Suite1 *sampling_8_suite1P; + PF_Sampling16Suite1 *sampling_16_suite1P; + PF_Iterate8Suite1 *iterate_8_suite1P; + PF_iterate16Suite1 *iterate_16_suite1P; + PF_iterateFloatSuite1 *iterate_float_suite1P; + PF_Iterate8Suite2 *iterate_8_suite2P; + PF_iterate16Suite2 *iterate_16_suite2P; + PF_iterateFloatSuite2 *iterate_float_suite2P; + AEGP_CollectionSuite2 *collection_suite2P; + AEGP_TextDocumentSuite1 *text_document_suite1P; + AEGP_SoundDataSuite1 *sound_data_suite1P; + AEGP_IterateSuite1 *aegp_iterate_suite1P; + AEGP_IterateSuite2 *aegp_iterate_suite2P; + AEGP_TextLayerSuite1 *text_layer_suite1P; + AEGP_ArtisanUtilSuite1 *artisan_util_suite1P; + AEGP_WorldSuite2 *aegp_world_suite_2P; + AEGP_WorldSuite3 *aegp_world_suite_3P; + AEGP_RenderOptionsSuite1 *render_options_suite_1P; + AEGP_LayerRenderOptionsSuite1 *layer_render_options_suite_1P; + AEGP_LayerRenderOptionsSuite2 *layer_render_options_suite_2P; + AEGP_RenderAsyncManagerSuite1 *async_manager_suite_1P; + AEGP_TrackerSuite1 *tracker_suite_1P; + AEGP_TrackerUtilitySuite1 *tracker_utility_suite_1P; + PF_HelperSuite2 *helper_suite_2P; + AEGP_LayerSuite5 *layer_suite_5P; + AEGP_LayerSuite6 *layer_suite_6P; + AEGP_LayerSuite7 *layer_suite_7P; + AEGP_LayerSuite8 *layer_suite_8P; + +#ifdef I_NEED_ADM_SUPPORT + ADMBasicSuite8 *adm_basic_suite_8P; + ADMDialogSuite8 *adm_dialog_suite_8P; + ADMDialogGroupSuite3 *adm_dialog_group_suite_3P; + ADMItemSuite8 *adm_item_suite_8P; + ADMListSuite3 *adm_list_suite_3P; + ADMEntrySuite5 *adm_entry_suite_5P; + ADMNotifierSuite2 *adm_notifier_suite_2P; +#endif + AEGP_LayerSuite1 *layer_suite_1P; + AEGP_MaskSuite1 *mask_suite_1P; + AEGP_MaskSuite5 *mask_suite_5P; + AEGP_MaskSuite6 *mask_suite_6P; + AEGP_StreamSuite1 *stream_suite_1P; + AEGP_CompSuite1 *comp_suite_1P; + AEGP_CollectionSuite1 *collection_suite_1P; + AEGP_KeyframeSuite1 *keyframe_suite_1P; + PF_AdvAppSuite1 *adv_app_suite_1P; + AEGP_UtilitySuite1 *utility_suite_1P; + AEGP_RenderOptionsSuite2 *render_options_suite_2P; + AEGP_ProjSuite5 *proj_suite_5P; + AEGP_ProjSuite6 *proj_suite_6P; + AEGP_FootageSuite5 *footage_suite_5P; + AEGP_RQItemSuite3 *rq_item_suite_3P; + AEGP_UtilitySuite4 *utility_suite_4P; + AEGP_ColorSettingsSuite3 *color_settings_suite_3P; + AEGP_ColorSettingsSuite2 *color_settings_suite_2P; + AEGP_ColorSettingsSuite1 *color_settings_suite_1P; + PF_AdvItemSuite1 *adv_item_suite_1P; + AEGP_RenderOptionsSuite3 *render_options_suite_3P; + PF_ColorParamSuite1 *color_param_suite_1P; + PF_SamplingFloatSuite1 *sampling_float_suite_1P; + AEGP_UtilitySuite5 *utility_suite_5P; + AEGP_UtilitySuite6 *utility_suite_6P; + PF_EffectCustomUISuite1 *custom_ui_suite1P; + PF_EffectCustomUISuite2 *custom_ui_suite2P; + PF_EffectCustomUIOverlayThemeSuite1 *custom_ui_theme_suite1P; + + //Drawbot Suites + DRAWBOT_DrawbotSuiteCurrent *drawing_suite_currentP; + DRAWBOT_SupplierSuiteCurrent *drawbot_supplier_suite_currentP; + DRAWBOT_SurfaceSuiteCurrent *drawbot_surface_suite_currentP; + DRAWBOT_PathSuiteCurrent *drawbot_path_suite_currentP; + + SPSuitesSuite *suites_suite_2P; + }; + + mutable Suites i_suites; + + // private methods + // I had to make this inline by moving the definition from the .cpp file + // CW mach-o target was freaking otherwise when seeing the call to this + // function in inlined public suite accessors below + + void *LoadSuite(const A_char *nameZ, A_long versionL) const + { + const void *suiteP; + A_long err = i_pica_basicP->AcquireSuite(nameZ, versionL, &suiteP); + + if (err || !suiteP) { + MissingSuiteError(); + } + + return (void*)suiteP; + } + + void ReleaseSuite(const A_char *nameZ, A_long versionL); + void ReleaseAllSuites() + { + #define AEGP_SUITE_RELEASE_BOILERPLATE(MEMBER_NAME, kSUITE_NAME, kVERSION_NAME) \ + if (i_suites.MEMBER_NAME) { \ + ReleaseSuite(kSUITE_NAME, kVERSION_NAME); \ + } + + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite1P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite2P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(marker_suite3P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite3P, kAEGPLayerSuite, kAEGPLayerSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite4P, kAEGPLayerSuite, kAEGPLayerSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite5P, kAEGPStreamSuite, kAEGPStreamSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite4P, kAEGPStreamSuite, kAEGPStreamSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite3P, kAEGPStreamSuite, kAEGPStreamSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite2P, kAEGPStreamSuite, kAEGPStreamSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(stream_suite_1P, kAEGPStreamSuite, kAEGPStreamSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite2P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite3P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(dynamic_stream_suite4P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite4P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite3P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(keyframe_suite_1P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite4P, kAEGPCompSuite, kAEGPCompSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite5P, kAEGPCompSuite, kAEGPCompSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite6P, kAEGPCompSuite, kAEGPCompSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite7P, kAEGPCompSuite, kAEGPCompSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite8P, kAEGPCompSuite, kAEGPCompSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite9P, kAEGPCompSuite, kAEGPCompSuiteVersion9); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite10P, kAEGPCompSuite, kAEGPCompSuiteVersion10); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite11P, kAEGPCompSuite, kAEGPCompSuiteVersion11); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite5P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite6P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite7P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(canvas_suite8P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(camera_suite2P, kAEGPCameraSuite, kAEGPCameraSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(register_suite5P, kAEGPRegisterSuite, kAEGPRegisterSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(item_view_suite1P, kAEGPItemViewSuite, kAEGPItemViewSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite8P, kAEGPItemSuite, kAEGPItemSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite7P, kAEGPItemSuite, kAEGPItemSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite6P, kAEGPItemSuite, kAEGPItemSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite5P, kAEGPItemSuite, kAEGPItemSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(item_suite1P, kAEGPItemSuite, kAEGPItemSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(pf_interface_suite1P, kAEGPPFInterfaceSuite, kAEGPPFInterfaceSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(path_query_suite1P, kPFPathQuerySuite, kPFPathQuerySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(memory_suite1P, kAEGPMemorySuite, kAEGPMemorySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(path_data_suite1P, kPFPathDataSuite, kPFPathDataSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(param_utils_suite3P, kPFParamUtilsSuite, kPFParamUtilsSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite4P, kPFAppSuite, kPFAppSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite5P, kPFAppSuite, kPFAppSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(app_suite6P, kPFAppSuite, kPFAppSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_app_suite2P, kPFAdvAppSuite, kPFAdvAppSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(light_suite1P, kAEGPLightSuite, kAEGPLightSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(light_suite2P, kAEGPLightSuite, kAEGPLightSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite1P, kAEGPEffectSuite, kAEGPEffectSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite2P, kAEGPEffectSuite, kAEGPEffectSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite3P, kAEGPEffectSuite, kAEGPEffectSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(effect_suite4P, kAEGPEffectSuite, kAEGPEffectSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite4P, kAEGPMaskSuite, kAEGPMaskSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite1P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite2P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_outline_suite3P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(command_suite1P, kAEGPCommandSuite, kAEGPCommandSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite3P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite1P, kAEGPRenderSuite, kAEGPRenderSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite2P, kAEGPRenderSuite, kAEGPRenderSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite3P, kAEGPRenderSuite, kAEGPRenderSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite4P, kAEGPRenderSuite, kAEGPRenderSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(render_suite5P, kAEGPRenderSuite, kAEGPRenderSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(ansi_callbacks_suite1P, kPFANSISuite, kPFANSISuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(handle_suite1P, kPFHandleSuite, kPFHandleSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(fill_matte_suite2P, kPFFillMatteSuite, kPFFillMatteSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(world_transform_suite1P, kPFWorldTransformSuite, kPFWorldTransformSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(query_xform_suite2P, kAEGPQueryXformSuite, kAEGPQueryXformSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(composite_suite2P, kAEGPCompositeSuite, kAEGPCompositeSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(world_suite1P, kPFWorldSuite, kPFWorldSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(io_in_suite4P, kAEGPIOInSuite, kAEGPIOInSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(io_out_suite4P, kAEGPIOOutSuite, kAEGPIOOutSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(render_queue_suite1P, kAEGPRenderQueueSuite, kAEGPRenderQueueSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(rq_item_suite2P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(output_module_suite4P, kAEGPOutputModuleSuite, kAEGPOutputModuleSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(fim_suite3P, kAEGPFIMSuite, kAEGPFIMSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_8_suite1P, kPFSampling8Suite, kPFSampling8SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_16_suite1P, kPFSampling16Suite, kPFSampling16SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_8_suite1P, kPFIterate8Suite, kPFIterate8SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_16_suite1P, kPFIterate16Suite, kPFIterate16SuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_float_suite1P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_8_suite2P, kPFIterate8Suite, kPFIterate8SuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_16_suite2P, kPFIterate16Suite, kPFIterate16SuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(iterate_float_suite2P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(collection_suite2P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(text_document_suite1P, kAEGPTextDocumentSuite, kAEGPTextDocumentSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sound_data_suite1P, kAEGPSoundDataSuite, kAEGPSoundDataVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(text_layer_suite1P, kAEGPTextLayerSuite, kAEGPTextLayerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(artisan_util_suite1P, kAEGPArtisanUtilSuite, kAEGPArtisanUtilSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(aegp_world_suite_2P, kAEGPWorldSuite, kAEGPWorldSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(aegp_world_suite_3P, kAEGPWorldSuite, kAEGPWorldSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(render_options_suite_1P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(tracker_suite_1P, kAEGPTrackerSuite, kAEGPTrackerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(tracker_utility_suite_1P, kAEGPTrackerUtilitySuite, kAEGPTrackerUtilitySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(helper_suite_2P, kPFHelperSuite2, kPFHelperSuite2Version2); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_5P, kAEGPLayerSuite, kAEGPLayerSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_6P, kAEGPLayerSuite, kAEGPLayerSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_7P, kAEGPLayerSuite, kAEGPLayerSuiteVersion7); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_8P, kAEGPLayerSuite, kAEGPLayerSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_item_suite_1P, kPFAdvItemSuite, kPFAdvItemSuiteVersion1); +#ifdef I_NEED_ADM_SUPPORT + AEGP_SUITE_RELEASE_BOILERPLATE(adm_basic_suite_8P, kADMBasicSuite, kADMBasicSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_dialog_suite_8P, kADMDialogSuite, kADMDialogSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_dialog_group_suite_3P, kADMDialogGroupSuite, kADMDialogGroupSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_item_suite_8P, kADMItemSuite, kADMItemSuiteVersion8); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_list_suite_3P, kADMListSuite, kADMListSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_entry_suite_5P, kADMEntrySuite, kADMEntrySuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(adm_notifier_suite_2P, kADMNotifierSuite, kADMNotifierSuiteVersion2); +#endif + AEGP_SUITE_RELEASE_BOILERPLATE(layer_suite_1P, kAEGPLayerSuite, kAEGPLayerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_1P, kAEGPMaskSuite, kAEGPMaskSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_5P, kAEGPMaskSuite, kAEGPMaskSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(mask_suite_6P, kAEGPMaskSuite, kAEGPMaskSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(comp_suite_1P, kAEGPCompSuite, kAEGPCompSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(collection_suite_1P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(adv_app_suite_1P, kPFAdvAppSuite, kPFAdvAppSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_1P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(render_options_suite_2P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_render_options_suite_1P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(layer_render_options_suite_2P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(async_manager_suite_1P, kAEGPRenderAsyncManagerSuite, kAEGPRenderAsyncManagerSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(proj_suite_5P, kAEGPProjSuite, kAEGPProjSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(proj_suite_6P, kAEGPProjSuite, kAEGPProjSuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(footage_suite_5P, kAEGPFootageSuite, kAEGPFootageSuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(rq_item_suite_3P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_4P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(persistent_data_suite4P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion4); + AEGP_SUITE_RELEASE_BOILERPLATE(persistent_data_suite3P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_3P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion3); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_2P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(color_settings_suite_1P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(color_param_suite_1P, kPFColorParamSuite, kPFColorParamSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(sampling_float_suite_1P, kPFSamplingFloatSuite, kPFSamplingFloatSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_5P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion5); + AEGP_SUITE_RELEASE_BOILERPLATE(utility_suite_6P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion6); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_suite1P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_suite2P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion2); + AEGP_SUITE_RELEASE_BOILERPLATE(custom_ui_theme_suite1P, kPFEffectCustomUIOverlayThemeSuite, kPFEffectCustomUIOverlayThemeSuiteVersion1); + AEGP_SUITE_RELEASE_BOILERPLATE(drawing_suite_currentP, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_supplier_suite_currentP, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_surface_suite_currentP, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(drawbot_path_suite_currentP, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent); + AEGP_SUITE_RELEASE_BOILERPLATE(suites_suite_2P, kSPSuitesSuite, kSPSuitesSuiteVersion); +} + + // Here is the error handling function which must be defined. + // It must exit by throwing an exception, it cannot return. + void MissingSuiteError() const; + +public: + // To construct, pass pica_basicP + AEGP_SuiteHandler(const SPBasicSuite *pica_basicP); + ~AEGP_SuiteHandler(); + + const SPBasicSuite *Pica() const { return i_pica_basicP; } + + #define AEGP_SUITE_ACCESS_BOILERPLATE(SUITE_NAME, VERSION_NUMBER, SUITE_PREFIX, MEMBER_NAME, kSUITE_NAME, kVERSION_NAME) \ + SUITE_PREFIX##SUITE_NAME##VERSION_NUMBER *SUITE_NAME##VERSION_NUMBER() const \ + { \ + if (i_suites.MEMBER_NAME == NULL) { \ + i_suites.MEMBER_NAME = (SUITE_PREFIX##SUITE_NAME##VERSION_NUMBER*) \ + LoadSuite(kSUITE_NAME, kVERSION_NAME); \ + } \ + return i_suites.MEMBER_NAME; \ + } + + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 1, AEGP_, marker_suite1P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 2, AEGP_, marker_suite2P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(MarkerSuite, 3, AEGP_, marker_suite3P, kAEGPMarkerSuite, kAEGPMarkerSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 3, AEGP_, layer_suite3P, kAEGPLayerSuite, kAEGPLayerSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 4, AEGP_, layer_suite4P, kAEGPLayerSuite, kAEGPLayerSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 5, AEGP_, stream_suite5P, kAEGPStreamSuite, kAEGPStreamSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 4, AEGP_, stream_suite4P, kAEGPStreamSuite, kAEGPStreamSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 3, AEGP_, stream_suite3P, kAEGPStreamSuite, kAEGPStreamSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 2, AEGP_, stream_suite2P, kAEGPStreamSuite, kAEGPStreamSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(StreamSuite, 1, AEGP_, stream_suite_1P, kAEGPStreamSuite, kAEGPStreamSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 2, AEGP_, dynamic_stream_suite2P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 3, AEGP_, dynamic_stream_suite3P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(DynamicStreamSuite, 4, AEGP_, dynamic_stream_suite4P, kAEGPDynamicStreamSuite, kAEGPDynamicStreamSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 4, AEGP_, keyframe_suite4P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 3, AEGP_, keyframe_suite3P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(KeyframeSuite, 1, AEGP_, keyframe_suite_1P, kAEGPKeyframeSuite, kAEGPKeyframeSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 4, AEGP_, comp_suite4P, kAEGPCompSuite, kAEGPCompSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 5, AEGP_, comp_suite5P, kAEGPCompSuite, kAEGPCompSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 6, AEGP_, comp_suite6P, kAEGPCompSuite, kAEGPCompSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 7, AEGP_, comp_suite7P, kAEGPCompSuite, kAEGPCompSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 8, AEGP_, comp_suite8P, kAEGPCompSuite, kAEGPCompSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 9, AEGP_, comp_suite9P, kAEGPCompSuite, kAEGPCompSuiteVersion9); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 10, AEGP_, comp_suite10P, kAEGPCompSuite, kAEGPCompSuiteVersion10); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 11, AEGP_, comp_suite11P, kAEGPCompSuite, kAEGPCompSuiteVersion11); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 5, AEGP_, canvas_suite5P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 6, AEGP_, canvas_suite6P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 7, AEGP_, canvas_suite7P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(CanvasSuite, 8, AEGP_, canvas_suite8P, kAEGPCanvasSuite, kAEGPCanvasSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(CameraSuite, 2, AEGP_, camera_suite2P, kAEGPCameraSuite, kAEGPCameraSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RegisterSuite, 5, AEGP_, register_suite5P, kAEGPRegisterSuite, kAEGPRegisterSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(MemorySuite, 1, AEGP_, memory_suite1P, kAEGPMemorySuite, kAEGPMemorySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemViewSuite, 1, AEGP_, item_view_suite1P, kAEGPItemViewSuite, kAEGPItemViewSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 9, AEGP_, item_suite9P, kAEGPItemSuite, kAEGPItemSuiteVersion9); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 8, AEGP_, item_suite8P, kAEGPItemSuite, kAEGPItemSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 7, AEGP_, item_suite7P, kAEGPItemSuite, kAEGPItemSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 6, AEGP_, item_suite6P, kAEGPItemSuite, kAEGPItemSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 5, AEGP_, item_suite5P, kAEGPItemSuite, kAEGPItemSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 1, AEGP_, item_suite1P, kAEGPItemSuite, kAEGPItemSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PFInterfaceSuite, 1, AEGP_, pf_interface_suite1P, kAEGPPFInterfaceSuite, kAEGPPFInterfaceSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MathSuite, 1, AEGP_, math_suite1P, kAEGPMathSuite, kAEGPMathSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvTimeSuite, 4, PF_, adv_time_suite4P, kPFAdvTimeSuite, kPFAdvTimeSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(PathQuerySuite, 1, PF_, path_query_suite1P, kPFPathQuerySuite, kPFPathQuerySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PathDataSuite, 1, PF_, path_data_suite1P, kPFPathDataSuite, kPFPathDataSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ParamUtilsSuite, 3, PF_, param_utils_suite3P, kPFParamUtilsSuite, kPFParamUtilsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 4, PF, app_suite4P, kPFAppSuite, kPFAppSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 5, PF, app_suite5P, kPFAppSuite, kPFAppSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(AppSuite, 6, PF, app_suite6P, kPFAppSuite, kPFAppSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvAppSuite, 2, PF_, adv_app_suite2P, kPFAdvAppSuite, kPFAdvAppSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(LightSuite, 1, AEGP_, light_suite1P, kAEGPLightSuite, kAEGPLightSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(LightSuite, 2, AEGP_, light_suite2P, kAEGPLightSuite, kAEGPLightSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 1, AEGP_, effect_suite1P, kAEGPEffectSuite, kAEGPEffectSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 2, AEGP_, effect_suite2P, kAEGPEffectSuite, kAEGPEffectSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 3, AEGP_, effect_suite3P, kAEGPEffectSuite, kAEGPEffectSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectSuite, 4, AEGP_, effect_suite4P, kAEGPEffectSuite, kAEGPEffectSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 4, AEGP_, mask_suite4P, kAEGPMaskSuite, kAEGPMaskSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 1, AEGP_, mask_outline_suite1P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 2, AEGP_, mask_outline_suite2P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskOutlineSuite, 3, AEGP_, mask_outline_suite3P, kAEGPMaskOutlineSuite, kAEGPMaskOutlineSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(CommandSuite, 1, AEGP_, command_suite1P, kAEGPCommandSuite, kAEGPCommandSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 3, AEGP_, utility_suite3P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 1, AEGP_, render_suite1P, kAEGPRenderSuite, kAEGPRenderSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 2, AEGP_, render_suite2P, kAEGPRenderSuite, kAEGPRenderSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 3, AEGP_, render_suite3P, kAEGPRenderSuite, kAEGPRenderSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 4, AEGP_, render_suite4P, kAEGPRenderSuite, kAEGPRenderSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderSuite, 5, AEGP_, render_suite5P, kAEGPRenderSuite, kAEGPRenderSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ANSICallbacksSuite, 1, PF_, ansi_callbacks_suite1P, kPFANSISuite, kPFANSISuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(HandleSuite, 1, PF_, handle_suite1P, kPFHandleSuite, kPFHandleSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(FillMatteSuite, 2, PF_, fill_matte_suite2P, kPFFillMatteSuite, kPFFillMatteSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldTransformSuite, 1, PF_, world_transform_suite1P, kPFWorldTransformSuite, kPFWorldTransformSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(QueryXformSuite, 2, AEGP_, query_xform_suite2P, kAEGPQueryXformSuite, kAEGPQueryXformSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(CompositeSuite, 2, AEGP_, composite_suite2P, kAEGPCompositeSuite, kAEGPCompositeSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 1, PF_, world_suite1P, kPFWorldSuite, kPFWorldSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IOInSuite, 4, AEGP_, io_in_suite4P, kAEGPIOInSuite, kAEGPIOInSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(IOOutSuite, 4, AEGP_, io_out_suite4P, kAEGPIOOutSuite, kAEGPIOOutSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderQueueSuite, 1, AEGP_, render_queue_suite1P, kAEGPRenderQueueSuite, kAEGPRenderQueueSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RQItemSuite, 2, AEGP_, rq_item_suite2P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(OutputModuleSuite, 4, AEGP_, output_module_suite4P, kAEGPOutputModuleSuite, kAEGPOutputModuleSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(FIMSuite, 3, AEGP_, fim_suite3P, kAEGPFIMSuite, kAEGPFIMSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(Sampling8Suite, 1, PF_, sampling_8_suite1P, kPFSampling8Suite, kPFSampling8SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Sampling16Suite, 1, PF_, sampling_16_suite1P, kPFSampling16Suite, kPFSampling16SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate8Suite, 1, PF_, iterate_8_suite1P, kPFIterate8Suite, kPFIterate8SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate16Suite, 1, PF_, iterate_16_suite1P, kPFIterate16Suite, kPFIterate16SuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateFloatSuite, 1, PF_, iterate_float_suite1P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate8Suite, 2, PF_, iterate_8_suite2P, kPFIterate8Suite, kPFIterate8SuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(Iterate16Suite, 2, PF_, iterate_16_suite2P, kPFIterate16Suite, kPFIterate16SuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateFloatSuite, 2, PF_, iterate_float_suite2P, kPFIterateFloatSuite, kPFIterateFloatSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(CollectionSuite, 2, AEGP_, collection_suite2P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(TextDocumentSuite, 1, AEGP_, text_document_suite1P, kAEGPTextDocumentSuite, kAEGPTextDocumentSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(SoundDataSuite, 1, AEGP_, sound_data_suite1P, kAEGPSoundDataSuite, kAEGPSoundDataVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateSuite, 1, AEGP_, aegp_iterate_suite1P, kAEGPIterateSuite, kAEGPIterateSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(IterateSuite, 2, AEGP_, aegp_iterate_suite2P, kAEGPIterateSuite, kAEGPIterateSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(TextLayerSuite, 1, AEGP_, text_layer_suite1P, kAEGPTextLayerSuite, kAEGPTextLayerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ArtisanUtilSuite, 1, AEGP_, artisan_util_suite1P, kAEGPArtisanUtilSuite, kAEGPArtisanUtilSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 2, AEGP_, aegp_world_suite_2P, kAEGPWorldSuite, kAEGPWorldSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(WorldSuite, 3, AEGP_, aegp_world_suite_3P, kAEGPWorldSuite, kAEGPWorldSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 1, AEGP_, render_options_suite_1P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(TrackerSuite, 1, AEGP_, tracker_suite_1P, kAEGPTrackerSuite, kAEGPTrackerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(TrackerUtilitySuite, 1, AEGP_, tracker_utility_suite_1P, kAEGPTrackerUtilitySuite, kAEGPTrackerUtilitySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(HelperSuite, 2, PF_, helper_suite_2P, kPFHelperSuite2, kPFHelperSuite2Version2); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 5, AEGP_, layer_suite_5P, kAEGPLayerSuite, kAEGPLayerSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 6, AEGP_, layer_suite_6P, kAEGPLayerSuite, kAEGPLayerSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 7, AEGP_, layer_suite_7P, kAEGPLayerSuite, kAEGPLayerSuiteVersion7); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 8, AEGP_, layer_suite_8P, kAEGPLayerSuite, kAEGPLayerSuiteVersion8); +#ifdef I_NEED_ADM_SUPPORT + AEGP_SUITE_ACCESS_BOILERPLATE(BasicSuite, 8, ADM, adm_basic_suite_8P, kADMBasicSuite, kADMBasicSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(DialogSuite, 8, ADM, adm_dialog_suite_8P, kADMDialogSuite, kADMDialogSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(DialogGroupSuite, 3, ADM, adm_dialog_group_suite_3P, kADMDialogGroupSuite, kADMDialogGroupSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(ItemSuite, 8, ADM, adm_item_suite_8P, kADMItemSuite, kADMItemSuiteVersion8); + AEGP_SUITE_ACCESS_BOILERPLATE(ListSuite, 3, ADM, adm_list_suite_3P, kADMListSuite, kADMListSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(EntrySuite, 5, ADM, adm_entry_suite_5P, kADMEntrySuite, kADMEntrySuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(NotifierSuite, 2, ADM, adm_notifier_suite_2P, kADMNotifierSuite, kADMNotifierSuiteVersion2); +#endif + AEGP_SUITE_ACCESS_BOILERPLATE(LayerSuite, 1, AEGP_, layer_suite_1P, kAEGPLayerSuite, kAEGPLayerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvItemSuite, 1, PF_, adv_item_suite_1P, kPFAdvItemSuite, kPFAdvItemSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 1, AEGP_, mask_suite_1P, kAEGPMaskSuite, kAEGPMaskSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 5, AEGP_, mask_suite_5P, kAEGPMaskSuite, kAEGPMaskSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(MaskSuite, 6, AEGP_, mask_suite_6P, kAEGPMaskSuite, kAEGPMaskSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(CompSuite, 1, AEGP_, comp_suite_1P, kAEGPCompSuite, kAEGPCompSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(CollectionSuite, 1, AEGP_, collection_suite_1P, kAEGPCollectionSuite, kAEGPCollectionSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(AdvAppSuite, 1, PF_, adv_app_suite_1P, kPFAdvAppSuite, kPFAdvAppSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 1, AEGP_, utility_suite_1P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 2, AEGP_, render_options_suite_2P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderOptionsSuite, 3, AEGP_, render_options_suite_3P, kAEGPRenderOptionsSuite, kAEGPRenderOptionsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerRenderOptionsSuite, 1, AEGP_, layer_render_options_suite_1P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(LayerRenderOptionsSuite, 2, AEGP_, layer_render_options_suite_2P, kAEGPLayerRenderOptionsSuite, kAEGPLayerRenderOptionsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(RenderAsyncManagerSuite, 1, AEGP_, async_manager_suite_1P, kAEGPRenderAsyncManagerSuite, kAEGPRenderAsyncManagerSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ProjSuite, 5, AEGP_, proj_suite_5P, kAEGPProjSuite, kAEGPProjSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(ProjSuite, 6, AEGP_, proj_suite_6P, kAEGPProjSuite, kAEGPProjSuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(FootageSuite, 5, AEGP_, footage_suite_5P, kAEGPFootageSuite, kAEGPFootageSuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(RQItemSuite, 3, AEGP_, rq_item_suite_3P, kAEGPRQItemSuite, kAEGPRQItemSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 4, AEGP_, utility_suite_4P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 3, AEGP_, color_settings_suite_3P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 2, AEGP_, color_settings_suite_2P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorSettingsSuite, 1, AEGP_, color_settings_suite_1P, kAEGPColorSettingsSuite, kAEGPColorSettingsSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(ColorParamSuite, 1, PF_, color_param_suite_1P, kPFColorParamSuite, kPFColorParamSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(PersistentDataSuite, 4, AEGP_, persistent_data_suite4P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion4); + AEGP_SUITE_ACCESS_BOILERPLATE(PersistentDataSuite, 3, AEGP_, persistent_data_suite3P, kAEGPPersistentDataSuite, kAEGPPersistentDataSuiteVersion3); + AEGP_SUITE_ACCESS_BOILERPLATE(SamplingFloatSuite, 1, PF_, sampling_float_suite_1P, kPFSamplingFloatSuite, kPFSamplingFloatSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 5, AEGP_, utility_suite_5P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion5); + AEGP_SUITE_ACCESS_BOILERPLATE(UtilitySuite, 6, AEGP_, utility_suite_6P, kAEGPUtilitySuite, kAEGPUtilitySuiteVersion6); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUISuite, 1, PF_, custom_ui_suite1P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUISuite, 2, PF_, custom_ui_suite2P, kPFEffectCustomUISuite, kPFEffectCustomUISuiteVersion2); + AEGP_SUITE_ACCESS_BOILERPLATE(EffectCustomUIOverlayThemeSuite, 1, PF_, custom_ui_theme_suite1P, kPFEffectCustomUIOverlayThemeSuite, kPFEffectCustomUIOverlayThemeSuiteVersion1); + AEGP_SUITE_ACCESS_BOILERPLATE(DrawbotSuite, Current, DRAWBOT_, drawing_suite_currentP, kDRAWBOT_DrawSuite, kDRAWBOT_DrawSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(SupplierSuite, Current, DRAWBOT_, drawbot_supplier_suite_currentP, kDRAWBOT_SupplierSuite, kDRAWBOT_SupplierSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(SurfaceSuite, Current, DRAWBOT_, drawbot_surface_suite_currentP, kDRAWBOT_SurfaceSuite, kDRAWBOT_SurfaceSuite_VersionCurrent); + AEGP_SUITE_ACCESS_BOILERPLATE(PathSuite, Current, DRAWBOT_, drawbot_path_suite_currentP, kDRAWBOT_PathSuite, kDRAWBOT_PathSuite_VersionCurrent); + + AEGP_SUITE_ACCESS_BOILERPLATE(SuitesSuite, , SP, suites_suite_2P, kSPSuitesSuite, kSPSuitesSuiteVersion); +}; + +#endif diff --git a/External/AE SDK/Util/AEGP_Utils.cpp b/External/AE SDK/Util/AEGP_Utils.cpp new file mode 100644 index 00000000..95f7cdb6 --- /dev/null +++ b/External/AE SDK/Util/AEGP_Utils.cpp @@ -0,0 +1,38 @@ +#include "AEGP_Utils.h" + + +A_Err GetNewFirstLayerInFirstComp( + SPBasicSuite *sP, + AEGP_LayerH *first_layerPH) +{ + A_Err err = A_Err_NONE; + + AEGP_ItemH itemH = NULL; + AEGP_ItemType type = AEGP_ItemType_NONE; + AEGP_CompH compH = NULL; + AEGP_ProjectH projH = NULL; + A_long num_projectsL = 0, + num_layersL = 0; + + AEGP_SuiteHandler suites(sP); + + (void)num_projectsL; + ERR(suites.ProjSuite5()->AEGP_GetProjectByIndex(0, &projH)); + ERR(suites.ItemSuite8()->AEGP_GetFirstProjItem(projH, &itemH)); + ERR(suites.ItemSuite6()->AEGP_GetItemType(itemH, &type)); + + while ((itemH != NULL) && (type != AEGP_ItemType_COMP)){ + ERR(suites.ItemSuite6()->AEGP_GetNextProjItem(projH, itemH, &itemH)); + ERR(suites.ItemSuite6()->AEGP_GetItemType(itemH, &type)); + } + if (!err && (type == AEGP_ItemType_COMP)){ + err = suites.CompSuite4()->AEGP_GetCompFromItem(itemH, &compH); + } + if (!err && compH) { + err = suites.LayerSuite5()->AEGP_GetCompNumLayers(compH, &num_layersL); + } + if (!err && num_layersL){ + err = suites.LayerSuite5()->AEGP_GetCompLayerByIndex(compH, 0, first_layerPH); + } + return err; +} diff --git a/External/AE SDK/Util/AEGP_Utils.h b/External/AE SDK/Util/AEGP_Utils.h new file mode 100644 index 00000000..a2f2b06f --- /dev/null +++ b/External/AE SDK/Util/AEGP_Utils.h @@ -0,0 +1,9 @@ +#include "A.h" +#include "AE_GeneralPlug.h" +#include "AEGP_SuiteHandler.h" +#include "AE_Macros.h" + +A_Err GetNewFirstLayerInFirstComp( + SPBasicSuite *sP, + AEGP_LayerH *first_layerPH); + diff --git a/External/AE SDK/Util/DuckSuite.h b/External/AE SDK/Util/DuckSuite.h new file mode 100644 index 00000000..59f9953c --- /dev/null +++ b/External/AE SDK/Util/DuckSuite.h @@ -0,0 +1,13 @@ +#include "A.h" +#include + +#ifdef AE_OS_WIN + #include +#endif + +#define kDuckSuite1 "AEGP Duck Suite" +#define kDuckSuiteVersion1 1 + +typedef struct DuckSuite1 { + SPAPI A_Err (*Quack)(A_u_short timesSu); +} DuckSuite1; \ No newline at end of file diff --git a/External/AE SDK/Util/MissingSuiteError.cpp b/External/AE SDK/Util/MissingSuiteError.cpp new file mode 100644 index 00000000..5be71f4f --- /dev/null +++ b/External/AE SDK/Util/MissingSuiteError.cpp @@ -0,0 +1,43 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "AEGP_SuiteHandler.h" + +void AEGP_SuiteHandler::MissingSuiteError() const +{ + // Yes, we've read Scott Meyers, and know throwing + // a stack-based object can cause problems. Since + // the err is just a long, and since we aren't de- + // referencing it in any way, risk is mimimal. + + // As always, we expect those of you who use + // exception-based code to do a little less rudi- + // mentary job of it than we are here. + + // Also, excuse the Madagascar-inspired monkey + // joke; couldn't resist. + // -bbb 10/10/05 + + PF_Err poop = PF_Err_BAD_CALLBACK_PARAM; + + throw poop; +} + diff --git a/External/AE SDK/Util/Param_Utils.h b/External/AE SDK/Util/Param_Utils.h new file mode 100644 index 00000000..f4129069 --- /dev/null +++ b/External/AE SDK/Util/Param_Utils.h @@ -0,0 +1,343 @@ +#ifndef H_PARAM_UTILS +#define H_PARAM_UTILS + +// do not include DVA headers here +#include +#include + +// requires the explicit use of 'def' for the struct name + +#define PF_ParamDef_IS_PUI_FLAG_SET(_defP, _puiFlag) \ + (((_defP)->ui_flags & _puiFlag) != 0) + +#define PF_ParamDef_IS_PARAM_FLAG_SET(_defP, _paramFlag) \ + (((_defP)->flags & _paramFlag) != 0) + + +#define PF_ADD_COLOR(NAME, RED, GREEN, BLUE, ID)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_COLOR; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.cd.value.red = (RED); \ + def.u.cd.value.green = (GREEN); \ + def.u.cd.value.blue = (BLUE); \ + def.u.cd.value.alpha = 255; \ + def.u.cd.dephault = def.u.cd.value; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ARBITRARY2(NAME, WIDTH, HEIGHT, PARAM_FLAGS, PUI_FLAGS, DFLT, ID, REFCON)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_ARBITRARY_DATA; \ + def.flags = (PARAM_FLAGS); \ + PF_STRCPY(def.name, (NAME) ); \ + def.ui_width = (WIDTH);\ + def.ui_height = (HEIGHT);\ + def.ui_flags = (PUI_FLAGS); \ + def.u.arb_d.value = NULL;\ + def.u.arb_d.pad = 0;\ + def.u.arb_d.dephault = (DFLT); \ + def.uu.id = def.u.arb_d.id = (ID); \ + def.u.arb_d.refconPV = REFCON; \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ARBITRARY(NAME, WIDTH, HEIGHT, PUI_FLAGS, DFLT, ID, REFCON)\ + PF_ADD_ARBITRARY2(NAME, WIDTH, HEIGHT, PF_ParamFlag_NONE, PUI_FLAGS, DFLT, ID, REFCON) + +#define PF_ADD_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.sd.value_str[0] = '\0'; \ + def.u.sd.value_desc[0] = '\0'; \ + def.u.sd.valid_min = (VALID_MIN); \ + def.u.sd.slider_min = (SLIDER_MIN); \ + def.u.sd.valid_max = (VALID_MAX); \ + def.u.sd.slider_max = (SLIDER_MAX); \ + def.u.sd.value = def.u.sd.dephault = (DFLT); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_FIXED(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_FIX_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.fd.value_str[0] = '\0'; \ + def.u.fd.value_desc[0] = '\0'; \ + def.u.fd.valid_min = (PF_Fixed)((VALID_MIN) * 65536.0); \ + def.u.fd.slider_min = (PF_Fixed)((SLIDER_MIN) * 65536.0); \ + def.u.fd.valid_max = (PF_Fixed)((VALID_MAX) * 65536.0); \ + def.u.fd.slider_max = (PF_Fixed)((SLIDER_MAX) * 65536.0); \ + def.u.fd.value = def.u.fd.dephault = (PF_Fixed)((DFLT) * 65536.0); \ + def.u.fd.precision = (A_short)(PREC); \ + def.u.fd.display_flags |= (A_short)(DISP); \ + def.flags |= (FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// why does fs_flags get or-ed in? and why is CURVE_TOLERANCE param ignored? and .flags is never set. oy. +#define PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, CURVE_TOLERANCE, DFLT, PREC, DISP, WANT_PHASE, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_FLOAT_SLIDER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.fs_d.valid_min = (VALID_MIN); \ + def.u.fs_d.slider_min = (SLIDER_MIN); \ + def.u.fs_d.valid_max = (VALID_MAX); \ + def.u.fs_d.slider_max = (SLIDER_MAX); \ + def.u.fs_d.value = (DFLT); \ + def.u.fs_d.dephault = (PF_FpShort)(def.u.fs_d.value); \ + def.u.fs_d.precision = (PREC); \ + def.u.fs_d.display_flags = (DISP); \ + def.u.fs_d.fs_flags |= (WANT_PHASE) ? PF_FSliderFlag_WANT_PHASE : 0; \ + def.u.fs_d.curve_tolerance = AEFX_AUDIO_DEFAULT_CURVE_TOLERANCE;\ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// safer newer version +#define PF_ADD_FLOAT_SLIDERX(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, 0, DFLT, PREC, DISP, 0, ID); \ + } while (0) + +// copied from Pr version of Param_Utils.h. It is used in some of Pr versions of AE effects +#define PF_ADD_FLOAT_EXPONENTIAL_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, CURVE_TOLERANCE, DFLT, PREC, DISP, WANT_PHASE, EXPONENT, ID) \ +do {\ +PF_Err priv_err = PF_Err_NONE; \ +def.param_type = PF_Param_FLOAT_SLIDER; \ +PF_STRCPY(def.name, (NAME) ); \ +def.u.fs_d.valid_min = (VALID_MIN); \ +def.u.fs_d.slider_min = (SLIDER_MIN); \ +def.u.fs_d.valid_max = (VALID_MAX); \ +def.u.fs_d.slider_max = (SLIDER_MAX); \ +def.u.fs_d.value = (DFLT); \ +def.u.fs_d.dephault = (DFLT); \ +def.u.fs_d.precision = (PREC); \ +def.u.fs_d.display_flags = (DISP); \ +def.u.fs_d.fs_flags |= (WANT_PHASE) ? PF_FSliderFlag_WANT_PHASE : 0; \ +def.u.fs_d.curve_tolerance = AEFX_AUDIO_DEFAULT_CURVE_TOLERANCE;\ +def.u.fs_d.useExponent = true;\ +def.u.fs_d.exponent = EXPONENT;\ +def.uu.id = (ID); \ +if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ +} while (0) + +enum { PF_Precision_INTEGER, PF_Precision_TENTHS, PF_Precision_HUNDREDTHS, PF_Precision_THOUSANDTHS, PF_Precision_TEN_THOUSANDTHS }; + +#define PF_ADD_CHECKBOX(NAME_A, NAME_B, DFLT, FLAGS, ID)\ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_CHECKBOX; \ + PF_STRCPY(def.name, NAME_A); \ + def.u.bd.u.nameptr = (NAME_B); \ + def.u.bd.value = (DFLT); \ + def.u.bd.dephault = (PF_Boolean)(def.u.bd.value); \ + def.flags |= (FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// safer newer version +#define PF_ADD_CHECKBOXX(NAME, DFLT, FLAGS, ID)\ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_ADD_CHECKBOX(NAME, "", DFLT, FLAGS, ID); \ + } while (0) + +#define PF_ADD_BUTTON(PARAM_NAME, BUTTON_NAME, PUI_FLAGS, PARAM_FLAGS, ID)\ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_BUTTON; \ + PF_STRCPY(def.name, PARAM_NAME); \ + def.u.button_d.u.namesptr = (BUTTON_NAME); \ + def.flags = (PARAM_FLAGS); \ + def.ui_flags = (PUI_FLAGS); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_ANGLE(NAME, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_ANGLE; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.ad.value = def.u.ad.dephault = (PF_Fixed)((DFLT) * 65536.0); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + + +#define PF_ADD_NULL(NAME, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_NO_DATA; \ + PF_STRCPY(def.name, (NAME) ); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + + +#define PF_ADD_POPUP(NAME, CHOICES, DFLT, STRING, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POPUP; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.pd.num_choices = (CHOICES); \ + def.u.pd.dephault = (DFLT); \ + def.u.pd.value = def.u.pd.dephault; \ + def.u.pd.u.namesptr = (STRING); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_LAYER(NAME, DFLT, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_LAYER; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.ld.dephault = (DFLT); \ + def.uu.id = ID;\ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_255_SLIDER(NAME, DFLT, ID)\ + PF_ADD_SLIDER( (NAME), 0, 255, 0, 255, (DFLT), (ID)) + +#define PF_ADD_PERCENT(NAME, DFLT, ID)\ + PF_ADD_FIXED( (NAME), 0, 100, 0, 100, (DFLT), 1, 1, 0, (ID)) + +#define PF_ADD_POINT(NAME, X_DFLT, Y_DFLT, RESTRICT_BOUNDS, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POINT; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.td.restrict_bounds = RESTRICT_BOUNDS;\ + def.u.td.x_value = def.u.td.x_dephault = (X_DFLT << 16); \ + def.u.td.y_value = def.u.td.y_dephault = (Y_DFLT << 16); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_POINT_3D(NAME, X_DFLT, Y_DFLT, Z_DFLT, ID) \ + do {\ + AEFX_CLR_STRUCT(def); \ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_POINT_3D; \ + PF_STRCPY(def.name, (NAME) ); \ + def.u.point3d_d.x_value = def.u.point3d_d.x_dephault = X_DFLT; \ + def.u.point3d_d.y_value = def.u.point3d_d.y_dephault = Y_DFLT; \ + def.u.point3d_d.z_value = def.u.point3d_d.z_dephault = Y_DFLT; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_TOPIC(NAME, ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_GROUP_START; \ + PF_STRCPY(def.name, (NAME) ); \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_END_TOPIC(ID) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_GROUP_END; \ + def.uu.id = (ID); \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +#define PF_ADD_VERSIONED_FLAG(NAME) \ + do {\ + PF_Err priv_err = PF_Err_NONE; \ + def.param_type = PF_Param_CHECKBOX; \ + def.name[0] = 0; \ + def.u.bd.u.nameptr = (NAME); \ + def.u.bd.value = true; \ + def.u.bd.dephault = false; \ + def.flags = PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS; \ + def.ui_flags = PF_PUI_INVISIBLE; \ + if ((priv_err = PF_ADD_PARAM(in_data, -1, &def)) != PF_Err_NONE) return priv_err; \ + } while (0) + +// newer safer version +#define PF_ADD_TOPICX(NAME, FLAGS, ID) \ + do {\ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_TOPIC(NAME, ID); \ + } while (0) + +#define PF_ADD_POPUPX(NAME, NUM_CHOICES, DFLT, ITEMS_STRING, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS); \ + PF_ADD_POPUP(NAME, NUM_CHOICES, DFLT, ITEMS_STRING, ID); \ + } while (0) + +enum { PF_ParamFlag_NONE=0 }; // SBI:AE_Effect.h + +#define PF_ADD_FLOAT_SLIDERX_DISABLED(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, DFLT, PREC, DISP, FLAGS, ID) \ + do { \ + AEFX_CLR_STRUCT(def); \ + def.flags = (FLAGS);\ + def.ui_flags = PF_PUI_DISABLED;\ + PF_ADD_FLOAT_SLIDER(NAME, VALID_MIN, VALID_MAX, SLIDER_MIN, SLIDER_MAX, 0, DFLT, PREC, DISP, 0, ID); \ + } while (0) + +namespace fxparam_utility { + + template + inline int RoundF(T x) + { + int ret; + + if (x > 0) { + ret = (int)(x + (T)0.5); + } else { + if ((int)(x + (T)0.5) == (x + (T)0.5)) { + ret = (int)x; + } else { + ret = (int)(x - (T)0.5); + } + } + + return ret; + } +}; + +inline PF_Err PF_AddPointControl(PF_InData *in_data, + const char *nameZ, + float x_defaultF, // 0-1 + float y_defaultF, // 0-1 + bool restrict_boundsB, + PF_ParamFlags param_flags, + PF_ParamUIFlags pui_flags, + A_long param_id) +{ + PF_ParamDef def = {{0}}; + namespace du = fxparam_utility; + + def.flags = param_flags; + def.ui_flags = pui_flags; + + PF_ADD_POINT(nameZ, du::RoundF(x_defaultF*100), du::RoundF(y_defaultF*100), restrict_boundsB, param_id); // has error return in macro + + return PF_Err_NONE; +} + + +#endif // H_PARAM_UTILS diff --git a/External/AE SDK/Util/Smart_Utils.cpp b/External/AE SDK/Util/Smart_Utils.cpp new file mode 100644 index 00000000..b67378b7 --- /dev/null +++ b/External/AE SDK/Util/Smart_Utils.cpp @@ -0,0 +1,62 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "Smart_Utils.h" + + +PF_Boolean IsEmptyRect(const PF_LRect *r){ + return (r->left >= r->right) || (r->top >= r->bottom); +} + +void UnionLRect(const PF_LRect *src, PF_LRect *dst) +{ + if (IsEmptyRect(dst)) { + *dst = *src; + } else if (!IsEmptyRect(src)) { + dst->left = mmin(dst->left, src->left); + dst->top = mmin(dst->top, src->top); + dst->right = mmax(dst->right, src->right); + dst->bottom = mmax(dst->bottom, src->bottom); + } +} + +PF_Boolean +IsEdgePixel( + PF_LRect *rectP, + A_long x, + A_long y) +{ + PF_Boolean x_hitB = FALSE, + y_hitB = FALSE; + + x_hitB = ((x == rectP->left) || (x == rectP->right)); + + y_hitB = ((y == rectP->top) || (y == rectP->bottom)); + + if (x_hitB){ + y_hitB = ((y >= rectP->top) && (y <= rectP->bottom)); + } else { + if (y_hitB){ + x_hitB = ((x >= rectP->left) && (x <= rectP->right)); + } + } + return (x_hitB && y_hitB); +} \ No newline at end of file diff --git a/External/AE SDK/Util/Smart_Utils.h b/External/AE SDK/Util/Smart_Utils.h new file mode 100644 index 00000000..3e1c03ce --- /dev/null +++ b/External/AE SDK/Util/Smart_Utils.h @@ -0,0 +1,34 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +#include "AE_Effect.h" +#include "SPTypes.h" + +#ifndef mmin + #define mmin(a,b) ((a) < (b) ? (a) : (b)) + #define mmax(a,b) ((a) > (b) ? (a) : (b)) +#endif + +PF_Boolean IsEmptyRect(const PF_LRect *r); + +void UnionLRect(const PF_LRect *src, PF_LRect *dst); + +PF_Boolean IsEdgePixel(PF_LRect *rectP, A_long x, A_long y); \ No newline at end of file diff --git a/External/AE SDK/Util/String_Utils.h b/External/AE SDK/Util/String_Utils.h new file mode 100644 index 00000000..00f9f9ad --- /dev/null +++ b/External/AE SDK/Util/String_Utils.h @@ -0,0 +1,48 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + + + +/* String_Utils.h */ + + +#pragma once + +#ifndef STRING_UTILS_H +#define STRING_UTILS_H + +#if defined(__cplusplus) +extern "C" { +#endif +A_char *GetStringPtr(int strNum); +#if defined(__cplusplus) +} +#endif + +#define STR(_foo) GetStringPtr(_foo) + + + + + + + +#endif /* STRING_UTILS_H */ \ No newline at end of file diff --git a/External/AE SDK/Util/entry.h b/External/AE SDK/Util/entry.h new file mode 100644 index 00000000..6a0175db --- /dev/null +++ b/External/AE SDK/Util/entry.h @@ -0,0 +1,53 @@ +/*******************************************************************/ +/* */ +/* ADOBE CONFIDENTIAL */ +/* _ _ _ _ _ _ _ _ _ _ _ _ _ */ +/* */ +/* Copyright 2007 Adobe Systems Incorporated */ +/* All Rights Reserved. */ +/* */ +/* NOTICE: All information contained herein is, and remains the */ +/* property of Adobe Systems Incorporated and its suppliers, if */ +/* any. The intellectual and technical concepts contained */ +/* herein are proprietary to Adobe Systems Incorporated and its */ +/* suppliers and may be covered by U.S. and Foreign Patents, */ +/* patents in process, and are protected by trade secret or */ +/* copyright law. Dissemination of this information or */ +/* reproduction of this material is strictly forbidden unless */ +/* prior written permission is obtained from Adobe Systems */ +/* Incorporated. */ +/* */ +/*******************************************************************/ + +/* + Entry.h + + Part of the Adobe After Effects SDK. +*/ + +#include "AE_PluginData.h" + +#ifdef AE_OS_WIN + #define DllExport __declspec( dllexport ) +#elif defined AE_OS_MAC + #define DllExport __attribute__ ((visibility ("default"))) +#endif + + +#define AE_ENTRY_POINT "EffectMain" +#define AE_RESERVED_INFO 8 + +#define PF_REGISTER_EFFECT(INPTR, CBPTR, NAME, MATCHNAME, CATEGORY,RESERVEDINFO) \ + result = (*(CBPTR))((INPTR),\ + reinterpret_cast(NAME),\ + reinterpret_cast(MATCHNAME),\ + reinterpret_cast(CATEGORY),\ + reinterpret_cast(AE_ENTRY_POINT),\ + 'eFKT',\ + PF_AE_PLUG_IN_VERSION,\ + PF_AE_PLUG_IN_SUBVERS,\ + RESERVEDINFO);\ + if(result == A_Err_NONE)\ + {\ + result = PF_Err_NONE;\ + } diff --git a/External/popcornfx.qt/Qt5Core.dll b/External/popcornfx.qt/Qt5Core.dll new file mode 100644 index 00000000..c0a7b6b7 --- /dev/null +++ b/External/popcornfx.qt/Qt5Core.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dae3aefe8afc6ecce88184c8908722af6a1382bcf2a67ea66fe5c97dfa59322a +size 6453232 diff --git a/External/popcornfx.qt/Qt5Gui.dll b/External/popcornfx.qt/Qt5Gui.dll new file mode 100644 index 00000000..b3b7f0cb --- /dev/null +++ b/External/popcornfx.qt/Qt5Gui.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38a6c697833268f5c5013e68e8bb7f7b7ef00bd9946ebfc9d563f533fa55bf66 +size 7208960 diff --git a/External/popcornfx.qt/Qt5Widgets.dll b/External/popcornfx.qt/Qt5Widgets.dll new file mode 100644 index 00000000..fb41e8cd --- /dev/null +++ b/External/popcornfx.qt/Qt5Widgets.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da032d6457d5f6993c3aa3388d62739d9c3387a5d34edd0b7f79a81cb9af6f74 +size 5562880 diff --git a/External/popcornfx.qt/popcornfx.qt.manifest b/External/popcornfx.qt/popcornfx.qt.manifest new file mode 100644 index 00000000..f2161de7 --- /dev/null +++ b/External/popcornfx.qt/popcornfx.qt.manifest @@ -0,0 +1,9 @@ + +" + + + + + + + \ No newline at end of file diff --git a/External/popcornfx.qt/qwindows.dll b/External/popcornfx.qt/qwindows.dll new file mode 100644 index 00000000..4a3eaf74 --- /dev/null +++ b/External/popcornfx.qt/qwindows.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9f083147f27e7f6ac7d8d97b02e165cfb00af89b2b79ab4524971d0cfc5eaca9 +size 1469952 diff --git a/Native/debugger/PopcornFX.natvis b/Native/debugger/PopcornFX.natvis new file mode 100644 index 00000000..94eba7ef --- /dev/null +++ b/Native/debugger/PopcornFX.natvis @@ -0,0 +1,409 @@ + + + + + + + + + + + + null + {*((char**)((ptrdiff_t)m_Container.m_Ptr + (((sizeof(PopcornFX::CStringContainer) + 4) + (sizeof(void*) - 1)) & ~((ptrdiff_t)(sizeof(void*) - 1))))),s} [Len={m_Container.m_Ptr->m_Length & 0x7FFFFFFF}] + {(char*)((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringContainer) + (0xF - ((sizeof(PopcornFX::CStringContainer) + 0xF) & ((ptrdiff_t)0xF)))),s} [Len={m_Container.m_Ptr->m_Length & 0x7FFFFFFF}] + null + *((char**)((ptrdiff_t)m_Container.m_Ptr + (((sizeof(PopcornFX::CStringContainer) + 4) + (sizeof(void*) - 1)) & ~((ptrdiff_t)(sizeof(void*) - 1))))),s + (char*)((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringContainer) + (0xF - ((sizeof(PopcornFX::CStringContainer) + 0xF) & ((ptrdiff_t)0xF)))),s + + + + null + {*((wchar_t**)((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringUnicodeContainer) + 4)),su} [Len={m_Container.m_Ptr->m_Length & 0x7FFFFFFF}] + {(wchar_t*)(((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringUnicodeContainer) + 0xF) & ~((ptrdiff_t)0xF)),su} [Len={m_Container.m_Ptr->m_Length & 0x7FFFFFFF}] + null + *((wchar_t**)((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringUnicodeContainer) + 4)),su + (wchar_t*)(((ptrdiff_t)m_Container.m_Ptr + sizeof(PopcornFX::CStringUnicodeContainer) + 0xF) & ~((ptrdiff_t)0xF)),su + + + + Id=0 null + Id={m_Id} {PopcornFX::CStringInternals::m_StringIdDictionnary->m_StringIdPool.m_Chunks[m_Id / PopcornFX::CStringIdDictionary::kPoolChunkSize][m_Id % PopcornFX::CStringIdDictionary::kPoolChunkSize]} + + PopcornFX::CStringInternals::m_StringIdDictionnary->m_StringIdPool.m_Chunks[m_Id / PopcornFX::CStringIdDictionary::kPoolChunkSize][m_Id % PopcornFX::CStringIdDictionary::kPoolChunkSize] + + + + + null + {m_Data,[m_Length]s} [Len={m_Length}] + + + + null + {m_DataFeed.m_Ptr} + + m_DataFeed.m_Ptr + + + + + {{RefPtr={(void*)m_Ptr}}} + + m_Ptr + + + + {{WeakPtr={(void*)m_Ptr}}} + + m_Ptr + + + + {{ScopedPtr={(void*)m_Ptr}}} + + m_Ptr + + + + + {{A Count={m_Count}}} + + + m_Count + ($T1*)m_Data + + + + + + {{A Count={m_Count}}} + + + m_Count + ($T1*)m_Data + + + + + + {{SDA Count={m_Count & 0x7FFFFFFF} Data={(void*)m_Allocated.m_Data}} + {{SDA Count={m_Count & 0x7FFFFFFF} Data={(void*)(((unsigned long long)m_StaticData + kAlignment - 1) & - kAlignment)}} + + + m_Count & 0x7FFFFFFF + ($T1*)m_Allocated.m_Data + + + m_Count + ($T1*)(((unsigned long long)m_StaticData + kAlignment - 1) & - kAlignment) + + + + + + {{SFA Count={m_Count}, Data={(void*)m_Data}, Cap={m_Capacity}}} + + + m_Count + ($T1*)m_Data + + + + + + {{SA _Count={$T2}, Data={(void*)(((unsigned long long)_m_Data + kAlignment - 1) & - kAlignment)} + + + $T2 + ($T1*)(((unsigned long long)_m_Data + kAlignment - 1) & - kAlignment) + + + + + + {{SCA Count={m_Count}, Data={(void*)(((unsigned long long)_m_Data + kAlignment - 1) & - kAlignment)}}} + + + m_Count + ($T1*)(((unsigned long long)_m_Data + kAlignment - 1) & - kAlignment) + + + + + + {{CA Count={$T2 * m_ChunksCount}({$T2}*{m_ChunksCount}), ChuncksCap={m_ChunksCapacity}}} + + + $T2 * m_ChunksCount + m_Chunks[$i / $T2][$i % $T2] + + + + + + {{SlotA UsedCount={m_UsedSlots} _Count={$T2}}} + + + $T2 + ($T1*)m_Data + + + + + + {{SlotA UsedCount={m_UsedSlots} Count={m_DataSizeInBytes / sizeof($T1)}}} + + + m_DataSizeInBytes / sizeof($T1) + ($T1*)m_Data + + + + + + {{MV Count={m_Count}, Data={(void*)m_Data}, sizeof={sizeof($T1)}}} + + + m_Count + ($T1*)m_Data + + + + + + {{SMV Count={m_Storage.m_Count}, Data={(void*)m_Storage.m_RawDataPtr}, Stride={m_Storage.m_Stride}, sizeof={sizeof($T1)}}} + + + m_Storage.m_Count + *(($T1*)(m_Storage.m_RawDataPtr + $i * m_Storage.m_Stride)) + + + + + + {{SMVF Count={m_Storage.m_Count}, Data={(void*)m_Storage.m_RawDataPtr}, Stride={m_Storage.m_Stride}, Footp={m_ElementFootprintInBytes}, sizeof={sizeof($T1)}} + + + m_Storage.m_Count + *(($T1*)(m_Storage.m_RawDataPtr + $i * m_Storage.m_Stride)) + + + + + + {{First={m_First}, Second={m_Second}}} + + m_First + m_Second + + + + + {{FHM Count={m_Count}, Data={(void*)m_Slots}, Size={m_Size}}} + + + m_Size + m_Slots + + + + + + + empty + + void (error) + + + const class cr{m_RawBits & 0xFFFF,d} + variable class vr{m_RawBits & 0xFFFF,d} + instance class ir{m_RawBits & 0xFFFF,d} + stream class sr{m_RawBits & 0xFFFF,d} + + + const bool1 cr{m_RawBits & 0xFFFF,d} + variable bool1 vr{m_RawBits & 0xFFFF,d} + instance bool1 ir{m_RawBits & 0xFFFF,d} + stream bool1 sr{m_RawBits & 0xFFFF,d} + + const bool2 cr{m_RawBits & 0xFFFF,d} + variable bool2 vr{m_RawBits & 0xFFFF,d} + instance bool2 ir{m_RawBits & 0xFFFF,d} + stream bool2 sr{m_RawBits & 0xFFFF,d} + + const bool3 cr{m_RawBits & 0xFFFF,d} + variable bool3 vr{m_RawBits & 0xFFFF,d} + instance bool3 ir{m_RawBits & 0xFFFF,d} + stream bool3 sr{m_RawBits & 0xFFFF,d} + + const bool4 cr{m_RawBits & 0xFFFF,d} + variable bool4 vr{m_RawBits & 0xFFFF,d} + instance bool4 ir{m_RawBits & 0xFFFF,d} + stream bool4 sr{m_RawBits & 0xFFFF,d} + + + const int1 cr{m_RawBits & 0xFFFF,d} + variable int1 vr{m_RawBits & 0xFFFF,d} + instance int1 ir{m_RawBits & 0xFFFF,d} + stream int1 sr{m_RawBits & 0xFFFF,d} + + const int2 cr{m_RawBits & 0xFFFF,d} + variable int2 vr{m_RawBits & 0xFFFF,d} + instance int2 ir{m_RawBits & 0xFFFF,d} + stream int2 sr{m_RawBits & 0xFFFF,d} + + const int3 cr{m_RawBits & 0xFFFF,d} + variable int3 vr{m_RawBits & 0xFFFF,d} + instance int3 ir{m_RawBits & 0xFFFF,d} + stream int3 sr{m_RawBits & 0xFFFF,d} + + const int4 cr{m_RawBits & 0xFFFF,d} + variable int4 vr{m_RawBits & 0xFFFF,d} + instance int4 ir{m_RawBits & 0xFFFF,d} + stream int4 sr{m_RawBits & 0xFFFF,d} + + + const float1 cr{m_RawBits & 0xFFFF,d} + variable float1 vr{m_RawBits & 0xFFFF,d} + instance float1 ir{m_RawBits & 0xFFFF,d} + stream float1 sr{m_RawBits & 0xFFFF,d} + + const float2 cr{m_RawBits & 0xFFFF,d} + variable float2 vr{m_RawBits & 0xFFFF,d} + instance float2 ir{m_RawBits & 0xFFFF,d} + stream float2 sr{m_RawBits & 0xFFFF,d} + + const float3 cr{m_RawBits & 0xFFFF,d} + variable float3 vr{m_RawBits & 0xFFFF,d} + instance float3 ir{m_RawBits & 0xFFFF,d} + stream float3 sr{m_RawBits & 0xFFFF,d} + + const float4 cr{m_RawBits & 0xFFFF,d} + variable float4 vr{m_RawBits & 0xFFFF,d} + instance float4 ir{m_RawBits & 0xFFFF,d} + stream float4 sr{m_RawBits & 0xFFFF,d} + + + const orientation cr{m_RawBits & 0xFFFF,d} + variable orientation vr{m_RawBits & 0xFFFF,d} + instance orientation ir{m_RawBits & 0xFFFF,d} + stream orientation sr{m_RawBits & 0xFFFF,d} + + + + + + Range = ]{m_BoundMin.m_Value.m_Data32u,X}, {m_BoundMax.m_Value.m_Data32u,X}[ - ]{m_BoundMin.m_Value.m_Data32f}, {m_BoundMax.m_Value.m_Data32f}[ - ]{m_BoundMin.m_Value.m_Data32s}, {m_BoundMax.m_Value.m_Data32s}[ + Range = ]{m_BoundMin.m_Value.m_Data32u,X}, {m_BoundMax.m_Value.m_Data32u,X}] - ]{m_BoundMin.m_Value.m_Data32f}, {m_BoundMax.m_Value.m_Data32f}] - ]{m_BoundMin.m_Value.m_Data32s}, {m_BoundMax.m_Value.m_Data32s}] + Range = [{m_BoundMin.m_Value.m_Data32u,X}, {m_BoundMax.m_Value.m_Data32u,X}[ - [{m_BoundMin.m_Value.m_Data32f}, {m_BoundMax.m_Value.m_Data32f}[ - [{m_BoundMin.m_Value.m_Data32s}, {m_BoundMax.m_Value.m_Data32s}[ + Range = [{m_BoundMin.m_Value.m_Data32u,X}, {m_BoundMax.m_Value.m_Data32u,X}] - [{m_BoundMin.m_Value.m_Data32f}, {m_BoundMax.m_Value.m_Data32f}] - [{m_BoundMin.m_Value.m_Data32s}, {m_BoundMax.m_Value.m_Data32s}] + + + + X + O + + + + {*(PopcornFX::Range::Internal::_SConstantRange_Natvis*)(m_BoundMin.m_Value.m_Data32u + 0)} + + + 4 + (PopcornFX::Range::Internal::_SConstantRange_Natvis*)(m_BoundMin.m_Value.m_Data32u + $i) + + + + + + {*(PopcornFX::Range::Internal::_SConstantEdge_Natvis*)(m_Edge.m_Data+0)}{*(PopcornFX::Range::Internal::_SConstantEdge_Natvis*)(m_Edge.m_Data+1)}{*(PopcornFX::Range::Internal::_SConstantEdge_Natvis*)(m_Edge.m_Data+2)}{*(PopcornFX::Range::Internal::_SConstantEdge_Natvis*)(m_Edge.m_Data+3)}: |{m_Value.m_Data32u[0],X}, {m_Value.m_Data32u[1],X}, {m_Value.m_Data32u[2],X}, {m_Value.m_Data32u[3],X}| - |{m_Value.m_Data32f[0]}, {m_Value.m_Data32f[1]}, {m_Value.m_Data32f[2]}, {m_Value.m_Data32f[3]}| - |{m_Value.m_Data32s[0]}, {m_Value.m_Data32s[1]}, {m_Value.m_Data32s[2]}, {m_Value.m_Data32s[3]}| + + + + INVALID + void + auto + byte + float + float2 + float3 + float4 + int + int2 + int3 + int4 + bool + bool2 + bool3 + bool4 + orientation + + m_Index + + + + + (PopcornFX::CVStreamSemanticDictionnary::EDefaultOrdinals)(m_Code >> 8) + (m_Code >> 8) + + (PopcornFX::CVStreamSemanticDictionnary::EDefaultOrdinals)(m_Code >> 8) + (m_Code >> 8) + (PopcornFX::SVStreamCode::EElementType)(m_Code & 0x1F) + (m_Code & 0x80) != 0 + (m_Code & 0x40) != 0 + m_Code + + + + + v{(m_Key >> 29) & 0x7,d}.{(m_Key >> 24) & 0x1F,d}.{(m_Key >> 18) & 0x3F,d}.{m_Key & 0x3FFFF,d} + + m_Key + + + + + {m_Data} + + + $T2 + m_Data + + + + + + {m_Axes} + + + $T2 + m_Axes + + + + + + {{{m_Imag[0]}, {m_Imag[1]}, {m_Imag[2]}, {m_Real}}} + + + 4 + m_Imag + + + + + diff --git a/Native/debugger/qt5.natvis b/Native/debugger/qt5.natvis new file mode 100644 index 00000000..65bf3a65 --- /dev/null +++ b/Native/debugger/qt5.natvis @@ -0,0 +1,683 @@ + + + + + + {{ x = {xp}, y = {yp} }} + + xp + yp + + + + + {{ x = {x1}, y = {y1}, width = {x2 - x1 + 1}, height = {y2 - y1 + 1} }} + + x1 + y1 + x2 - x1 + 1 + y2 - y1 + 1 + + + + + {{ x = {xp}, y = {yp}, width = {w}, height = {h} }} + + xp + yp + w + h + + + + + + {{ width = {wd}, height = {ht} }} + + wd + ht + + + + + + {{ start point = {pt1}, end point = {pt2} }} + + + {pt1} + + pt1 + + + + {pt2} + + pt2 + + + + + + + + {{ size = {d->size} }} + + d->ref.atomic._q_value + + d->size + (QPoint*)((reinterpret_cast<char*>(d)) + d->offset) + + + + + + {{ size = {d->size} }} + + + d->size > 0 + && ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).xp + == (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).xp) + && ((((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[0]).yp + == (((QPointF*)((reinterpret_cast<char*>(d)) + d->offset)[d->size - 1]).yp) + + d->ref.atomic._q_value + + d->size + (QPointF*)((reinterpret_cast<char*>(d)) + d->offset) + + + + + + {{ x = {xp}, y = {yp} }} + + xp + yp + + + + + {{ x = {xp}, y = {yp}, z = {zp} }} + + xp + yp + zp + + + + + {{ x = {xp}, y = {yp}, z = {zp}, w = {wp} }} + + xp + yp + zp + wp + + + + + + {{ m11 = {_m11}, m12 = {_m12}, m21 = {_m21}, m22 = {_m22}, ... }} + + + _m11 + _m12 + _m21 + _m22 + _dx + _dy + + + + + + {{ m11 = {m[0][0]}, m12 = {m[1][0]}, m13 = {m[2][0]}, m14 = {m[3][0]}, ... }} + + + m[0][0] + m[1][0] + m[2][0] + m[3][0] + m[0][1] + m[1][1] + m[2][1] + m[3][1] + m[0][2] + m[1][2] + m[2][2] + m[3][2] + m[0][3] + m[1][3] + m[2][3] + m[3][3] + + + + + + {{ horizontal = {static_cast<Policy>(bits.horPolicy)}, vertical = {static_cast<Policy>(bits.verPolicy)}, type = {ControlType(1 << bits.ctype)} }} + + + + QSizePolicy::Policy::{static_cast<Policy>(bits.verPolicy)} + + + QSizePolicy::Policy::{static_cast<Policy>(bits.horPolicy)} + + + QSizePolicy::ControlType::{ControlType(1 << bits.ctype)} + + + + Qt::Vertical (2) + + + Qt::Horizontal (1) + + + static_cast<int>(bits.verStretch) + static_cast<int>(bits.horStretch) + bits.hfw == 1 + bits.wfh == 1 + + + + + {ucs,c} + ucs,c + + ucs > 0xff ? '\0' : char(ucs),c + ucs,c + + + + + {((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub} + ((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),sub + + d->size + d->ref.atomic._q_value + + d->size + ((reinterpret_cast<unsigned short*>(d)) + d->offset / 2),c + + + + + + {((reinterpret_cast<char*>(d)) + d->offset),sb} + ((reinterpret_cast<char*>(d)) + d->offset),sb + + d->size + d->ref.atomic._q_value + + d->size + ((reinterpret_cast<char*>(d)) + d->offset),c + + + + + + {{ size = {(d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset)} }} + + d.d->ref.atomic._q_value + + (d.d->size << 3) - *((reinterpret_cast<char*>(d.d)) + d.d->offset) + + (*(reinterpret_cast<const unsigned char*>((reinterpret_cast<char*>(d.d)) + d.d->offset) + 1 + + ($i >> 3)) & (1 << ($i & 7))) != 0 + + + + + + + + {{ size = {s} }} + + a + + s + ptr + + + + + + {{ julian day = {jd} }} + + + + + {{ millisecond = {mds} }} + {{ milliseconds = {mds} }} + + mds / 3600000, d + mds / 3600000, d + (mds % 3600000) / 60000, d + (mds % 3600000) / 60000, d + (mds / 1000) % 60, d + (mds / 1000) % 60, d + mds % 1000, d + mds % 1000, d + + + + + {d.pattern} + + + + + ref._q_value + + + + + strong reference to shared pointer of type {"$T1"} + + value == 0 + d->weakref._q_value + d->strongref._q_value + + + + + pointer to implicit shared object of type {"$T1"} + + d + + + + + pointer to explicit shared object of type {"$T1"} + + d + + + + + guarded pointer to subclass of QObject of type {"$T1"} + + wp.d == 0 || wp.d->strongref._q_value == 0 || wp.value == 0 + + + + + weak reference to shared pointer of type {"$T1"} + + d == 0 || d->strongref._q_value == 0 || value == 0 + d->weakref._q_value + d->strongref._q_value + + + + + scoped pointer to a dynamically allocated object of type {"$T1"} + + !d + + + + + scoped pointer to dynamically allocated array of objects of type {"$T1"} + + !d + + + + + ({first}, {second}) + + first + second + + + + + + {{ size = {d->size} }} + + d->ref.atomic._q_value + + d->size + ($T1*)((reinterpret_cast<char*>(d)) + d->offset) + + + + + + + + {{ size = {d->end - d->begin} }} + + d->ref.atomic._q_value + + d->end - d->begin + + *reinterpret_cast<$T1*>((sizeof($T1) > sizeof(void*)) + ? reinterpret_cast<Node*>(d->array + d->begin + $i)->v + : reinterpret_cast<$T1*>(d->array + d->begin + $i)) + + + + + + + {{ size = {d->size} }} + + d->ref.atomic._q_value + + d->size + d->n + n + (*(QLinkedListNode<$T1>*)this).t + + + + + + ({key}, {value}) + + key + value + + + + + + {{ size = {d->size} }} + + d->ref.atomic._q_value + + d->size + d->header.left + left + right + *((QMapNode<$T1,$T2>*)this) + + + + + + (empty) + ({key}, {value}) + + key + value + + + + + + {{ size = {d->size} }} + + d->ref.atomic._q_value + + d->numBuckets + *((QHashNode<$T1,$T2>*)d->buckets[$i]) + + + + + + (empty) + ({key}) + + key + + + + + {{ size = {q_hash.d->size} }} + + q_hash + + + + + ({*keyPtr}, {*t}) + + *keyPtr + *t + + + + + {{ size = {hash.d->size} }} + + mx + total + hash.d->ref.atomic._q_value + + hash.d->size + f + n + *((Node*)this) + + + + + + + + Invalid + {d.data.b} + {d.data.i} + {d.data.u} + {d.data.ll} + {d.data.ull} + {d.data.d} + {d.data.c} + + {*((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QString*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QStringList*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QByteArray*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QBitArray*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QDate*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QTime*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + DateTime + Url + Locale + + {*((QRect*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QRectF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QSize*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QSizeF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QLine*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QLineF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QPoint*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + + {*((QPointF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + RegExp + RegularExpression + + {*((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr)))} + + EasingCurve + Uuid + ModelIndex + LastCoreType + Font + Pixmap + Brush + Color + Palette + Image + Polygon + Region + Bitmap + Cursor + KeySequence + Pen + TextLength + TextFormat + Matrix + Transform + Matrix4x4 + Vector2D + Vector3D + Vector4D + Quaternion + PolygonF + Icon + LastGuiType + SizePolicy + UserType + LastType + + + + + + d.data.c + + + *((QString*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + + *((QByteArray*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + + + + + + + *((QMap<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QList<QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QString*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QStringList*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QByteArray*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QBitArray*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QDate*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QTime*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QRect*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QRectF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QSize*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QSizeF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QLine*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QLineF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QPoint*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QPointF*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + *((QHash<QString,QVariant>*)(d.is_shared ? d.data.shared->ptr + : reinterpret_cast<const void *>(&d.data.ptr))) + + + + + + + diff --git a/PopcornFX/CHANGELOG.md b/PopcornFX/CHANGELOG.md new file mode 100644 index 00000000..be56853b --- /dev/null +++ b/PopcornFX/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog +For each PopcornFX **Editor** / **Runtime SDK** there is one matching After Effects plugin version. +Official changelog for each version can be found [here](https://www.popcornfx.com/category/news/) \ No newline at end of file diff --git a/PopcornFX/LICENSE.md b/PopcornFX/LICENSE.md new file mode 100644 index 00000000..1814cd64 --- /dev/null +++ b/PopcornFX/LICENSE.md @@ -0,0 +1,14 @@ +# After Effects PopcornFX Plugin and its PopcornFX Runtime SDK License + +[PopcornFX store terms & conditions](http://www.popcornfx.com/terms-and-conditions/) +governs the After Effects PopcornFX Plugin, its PopcornFX Runtime SDK, and +related products licenses. + +* After Effects PopcornFX Plugin **source code** AND its PopcornFX Runtime SDK + **source code and binaries**: + * You cannot lease, rent or sell them in any form + * You will only use them in Adobe After Effects + * You cannot use them in a different way + * http://www.popcornfx.com/terms-and-conditions/ +* Any other form of the After Effects PopcornFX Plugin and PopcornFX Runtime SDK: + * http://www.popcornfx.com/terms-and-conditions/ diff --git a/PopcornFX/PK-ShaderTool_r.exe b/PopcornFX/PK-ShaderTool_r.exe new file mode 100755 index 00000000..e3d4b1f4 --- /dev/null +++ b/PopcornFX/PK-ShaderTool_r.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ece42846ba27c70bb7b86120ca979c3bbcae458eb4f4d153d4065d808469e79 +size 7869952 diff --git a/PopcornFX/PopcornFXInternals/Meshes/default.pkmm b/PopcornFX/PopcornFXInternals/Meshes/default.pkmm new file mode 100644 index 00000000..d47df868 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Meshes/default.pkmm @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82104142fed2d9e31deb8f93ca50471e9e943fa52c582d2e30bacc6c1b24e9b6 +size 67558 diff --git a/PopcornFX/PopcornFXInternals/Shaders/BlurCubemap.comp.0C443080A9914F8E3821857B39F3B3F6.metallib b/PopcornFX/PopcornFXInternals/Shaders/BlurCubemap.comp.0C443080A9914F8E3821857B39F3B3F6.metallib new file mode 100644 index 0000000000000000000000000000000000000000..16ae65c7e46bc3fa848880d07e2e11b1f5b320d5 GIT binary patch literal 69574 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso b/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso new file mode 100644 index 0000000000000000000000000000000000000000..b8324deae371a83f87b99c849821f8a47ac109f1 GIT binary patch literal 24300 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 PH!_gP##a{R=<@#o<27Yn literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso.pdb new file mode 100644 index 00000000..af1e0b6d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.1CFFFE56845EBA06EDCF9E5C8278FEE3.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63935b4efa45dd1fdec385a457ff2edf46a4bab07ec61825ef53f04ecc5274d8 +size 22016 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.C5813AF3B0DA61049FC61318A52A0039.metallib b/PopcornFX/PopcornFXInternals/Shaders/ColorRemap.frag.C5813AF3B0DA61049FC61318A52A0039.metallib new file mode 100644 index 0000000000000000000000000000000000000000..3cfd9af6de1936ca584b176f904585e536bed87a GIT binary patch literal 67730 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%0A-(#7Y>LDhEw#zR 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 H7gPBkE*l&& literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.08B780C3B4A4A9B95239BE4725C155E3.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.08B780C3B4A4A9B95239BE4725C155E3.metallib new file mode 100644 index 0000000000000000000000000000000000000000..af727051d9a382cebff004d27c11177c4b291c18 GIT binary patch literal 68274 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso new file mode 100644 index 0000000000000000000000000000000000000000..f47f2d94f89b49786d31dd7461148914ed46b091 GIT binary patch literal 17656 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 CS8PH6 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso.pdb new file mode 100644 index 00000000..b28b6997 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.ACF5EA8A26A387527C94AE3CADBEEFE0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e5c32f2e38ea88ea05c1c2462d871f672fb04307bc76fb7d73682472d5105628 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.FADA9FB998752BB17F58A80A5F9E1569.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeCubemap.comp.FADA9FB998752BB17F58A80A5F9E1569.cso new file mode 100644 index 0000000000000000000000000000000000000000..064a02fa6f127c37b75089a880b87906f32b379d GIT binary patch literal 20892 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%0A-(#7Y>LDhEw#zR zsySrd*sR=nVi@=gIkqTJn#h zF_Qy>2#;8&h%x}443Uo!8AjLb>#1*Xm#Ay!6^JjNc@B$1pB?^t)yV2+ZJLV|6y)GN zKpZ#>FK{}L5dZ}>6^y|0;5sj(ONt-`qcgSXzem+lLs=)#MgHc-OFFjzgR}PLKI9hs;z?hQ)d7p)A%=LUFn^bQVq^lo^ntU5t;9_Fd z#TLP<+aj*rTB@!Y`8>}tnrTQgN`gpc5Lj9|C<{Ymg;i`Ml#m%|TQFpnVP+e4LQu$} zH8^ds8tTKd&5pGbOMn;0Shem>V-z<)g8N7+0U}B9ru!&%nZO%4{h)$d{3N+AABeM5 z=aRGB+S5!lxr$)%H19RQndpm!lWPMrT^xdK z4ho>-@LCoj%F{vvucP*Qt|#%Xmur>*!&=9ElHd^!kVxFr)5W%!CZyPNJOvDB{0)No z?l+blMpvS?rz$dTq^-#8a=#D*(QTV(3Gs5GV9YWeGrna@(=tk;oWSgdWQXps1J96y z(|~IPk_-W{0!oqs1)yDytIR?>ySv1}b9KP&AUTVa#&=ideGWUUq1ZXNnKVR*5Ss|UqoCNLNb8{U|7YFd@#2Er)!4ReCyi~} zY~0v(Zmg$olM{#w8 zV9KQnEXW$zLW<^51>t7EipG?}-J9h#HlXO{_dTzD%RXYh@ySW?>kc-ct~*ZkT_EjP zdT>V(N!9qxc>QeykX=bdsbCVeZv9~=-fBHX@a1wF08f~^wrn@F#|TWcLA7)K$gw7! zb#sD8Jx9d*uG<4du$6kJSG>HT;!hr8jVuwa6;B^%$S}w5JQV9LJ;AsTj-Vb`3v* zB@|EJ&CH%u?U@=mSP-JnSloI}gl*(75G0td8+)3Cmwmp>yaT%OjGiqusBqH6T`d}Z z6|uc{kLdD_%evf-*OYv(u!1`JT{VnEYN_Pv${)Kj^?9B9@-^PE_qFbEtF-Szk3Sf5 z0MeBMXjzeI|4LY{#}YLseKhq`c@vywdO=*-Gpbct@yInKS^6>wCF5-ge?crFvJj1l zWzcu5G`S^7r!;}4TI%Z7obwfhEpgZ~n|b(fKgI0Eglz3GhAAF5d@sjHwI%lUSy&J# z35O85r+DC8fd$PEE8Ur*t^mnNPsewjt&M+$WZ)D9;M+cBA;DFnViVQVw#k=j+aK<% zi&bs=xX`hFI(@BelSGzpTD81a^-A})2A_XjPE0bsfo3$epFb63;)35~0-(2#*1OL^ z8Q=oQbDt<~kNUL3zJY0GO{LF>>im=`;*^N}MIL`{ zEZaC-GV>m!y%53wO_~0KtDZ!}tv443JO}jlUm(nA-yoYR0ck2&o0sU<> z4QayZ_Pcj`dU(;c8=Y#KuFCzYksh+0=KLyq&Q!lbOwAxCw(m$i|Ht`bjPC?f&`25)F9UssB}4 z(#qqO9=!18M_m5!{*9Da={L=K<(CurG{$yU_Od%7iqS2#KZ|#q`jVC%GM5<(R_7*+<5o?94QTLYR8=C8}y4gzhqM9z?i2=Z7+3d z=T^HRZUSO}d#p1^(-0<6YJV#Gxt97JJPUDP%J!hm z&x%8qsgYciRIQ2?;3e1Y0Wh8^9Li^6;QHkHjgrg#MAMt!ojB~H+dcc36-eHutJXLD zH|cb6Tk2J^eM*SUEU!ej&%2I%fj^kA^aY7E`YJe8&8lv}^GTAi`Pl!G^{~9Tc;sC~ zDIXelEJeiPpcDaXr!SdGXFBFYdqc0(dd=T`#T9|}uWUS^1J#_WCoG*do^y5nIRmai>WA%RpfPB||L| z4;$vp;yec+UXZy!xX{L)YKNu4_2A{sRX2q&X6IcK+?U1kJ@6-2CN}eZD4MCkfaQ`K z`zwd-+Bmb^7LlCO6%PX+8WBKCQ$49xFe2WLQ)1yL`^3Z?)iY<} zs&s{rTU0B{e8YjEhY#(U4+CAg9*6>nz&4&UB!(%0K1_T99}5-Eeh@@`KVUE0 zdy*+UKJ`hrv8D6{doDCp2tY4nVxvApG&f|V@6J{7j4dxOAM=%b_;ii$RjxEr&NLZW zA{>>o6M9}tapCOU{p82*EZPcU$>Yz<%XqkH9Za{@aJu!2P>olRpgq;DO5S5p?so~C zG(4RteAkN+rpgk#Z}7UF{A?P*BybpB;LKu~#CYS_swGEgXy{%}2znYZi0i7l*j!i-I) zU@bSgr1nfV0Ybr1Kf=p)&;N2_;jMYlstA3{J@8=za zA~Lm1o!y;`u}ywuu=;Os{Ov0+Ml>=Eh-(~*$ha~XfHi> zetgQAQS?t@lz73@b~ggWg{e0Y1e!+)lOB1dA9Yz$0(+Wkv6^|C`Vnkdt@Jp@LedUslr~fbYnd0B2K`Tue#W{={h5?7#GA zV;G$E0>%S&$OzYNE0;7==d25QR?E~XR|MNEy3P97VDN8^3^Vy0gJegvwF_f$P*S(j ziGS+hR3h}e27<==R>d-&h2Cj2OwGu!Y3s#xcOAJ==QmH~{SdSL9B3;dg|g&Cq&kuH z*BM+j4|LZ|UVU0Mo#f`3RF9c?m(0ldG^g{L!5ebUoOK^`LdA5u%W9{8&gCe@v7G`| zB{0e4NcCxQIFf|TWQ;knw9aKfXVN$xW+;7O&mY_x8LG8X(t9Kgo}t3+H;?|F$ocW| zzUb5fr{Cy8iq0`p{?0;RwUmHwWL1qG9AyI}WtAC=|MU#-r6}rAk zXU^Un6G;R;Z`ac-$bgW#9IHDrfzrx3=do^SyLyS-Di_e0{y<CWC_E+XY8GPdHw;9`4 z2#&QBNz0F>W3t#w&}xdtvq2Q&<9NZ1KuK+EBCR4FDAFTMBM8{R(?SjkmM5+aRQ$)i z`nad@ZsgRN`xAmlNB?5{jOcm-$g=sqVR>m1X#$SJ2d9SPZ1fX(%)eUADmCF6R6K1? z%vBe#tOB_+Gge8k8d-~sUzRBP`LqXD4V~luISI&=yML~ObdBKj)`}c8KM6FTf z$S0O|Gu2Q@pJjg97}ieQzB1hwA+Gp;e>)IV@h5*Ho;E0ycALWJ35K!FTOAt~;FQ<5 zyMtkQd6hu;$)o2_&YQCHFg$NAsZV>)`G;FPWBfG_YjxeOEZ2ShYxR3J#JL+gRE|GHD&sU zT5K5&CT`pI?W45&tYK|vTI<=_@m(}gcxuNSz6+sm@KkojcFnuVkz*4P10$0S8+@Di z&81UJkbQpHej3LA?q*#hFRQ4$f=0(l@lKxX&xa2JuOsPlWWNf1Z{MnEF6=Z0JB0c$ zpG*gUe)anj2RTv?ubUcai;XEbhUSkCU&7ZR(!-t213IQ45@<~0 zCn0#C-t0z1UN2Q>NPU9pdM9U#Y<@Qach)cK8l)S^;bh8I?pzXg+Yo#+UqA0N zBy5TB%O&8D8}OmVk-(mF|E0x!2pRZ;*3e{e+;8(Df=23AYc>ZI=KJqApm&i_1yB(= z@vpH2uwj+xlgXMhzO$^7vPu6+nhSWK%sfjOXo`ehw9dQ$Gy0IV5V%dsc zDv-d$wT-Y~Qw=a>Pff{PV#-g0mRRYI%JY$Qpd+Dx?`ZADR_a!gs;42HF_9RqpJbf)6!f4Wn&&b6{+RX||#$ zf~Yb-PS-ZIG!4+`AA3lwa&K-F7|ll8W}cVGHv0Q(9L%qpi>hv=5-_gBsgn)PntftF zEZIZA8uOtbO;8$A>{xbtu{dd|1I1h56 zljG&c&xOiW`{oq|6O75Y8AUx+mtbXzX}I)Iz?W^jXdLpzMZlA%57X3|-iWW}Pvr^j zDI^C}S-%YQi;i4>+rQWJD$87J<2g0;x+^U;ZhG0uG zclpd5m{XB*E%tlN+m*5H5>Q9Yueu#qjQ*L*bTrp08WI%e^HO}9HLaB1m3`wgJ*TT6wa&f z|JR6-_Ye&L5z$*)j;wT3^hIqTcY)Wml1$~&a)NcHli&xu{1{ZjSt$J~5)J=SRC8>$ znD2I}{8W#soqc$N_PyNJJG%BOxv}qolcMErgJPR|RO62Vkd_%M7mxQI>bKUF_CfBG z!M#IlRvd=N!4YMBDV_A+1NJ_cuCB4;z;{T%6I<55?SzOS2F#dJ=Xcw)4O%YWWR$a~ zf2AtI^k<9=Z*ARo!Xpn_A9PHr@k5Xu+8z#lYy@8-%)v`e$q86bk4ger60EP5Uh%4S z&P&(f?8brJOLf?jd0wO9Z>PY`Bdm$9l^fi_oq0<3&*ub$*BjQ0CYa$f@AtiDO$M6; zm=-avuC99n#%y8ANrAV@irEu?_h;v4I=551$_-#~P+x9S9TWo&`N)=m%U=Q`-P7xK z!FM&U{ukT+cAk{%ZRcn5tYNm#+8Q)`p*Q=^@W5||O(4Rh&5d7#cCg;a7hJ{HVc?K? zep^IWKYqNzD$3z`SP<-}iYv?t7vmm6AKEPyC0u&tuImu$m^eXawa7J2-@$_Stq6<1 z#EHn=>vWe>gR;_#{#=<%^o{nsRSO!tL(VFW(y^+yn|6?>o|ASrV3EsfLWfTx4lAJ< zS2Fhw?%VqrX5l4Cb<)D*fKquGthesL@Zv=MV$VJ}!w zmVg^(sgFNXR`>|7YaU}stk2dQlDY-^Old+%j@)=}aWRQ(GN*7W#Tvn}qORs`^1R7y z8gHm(*TZw^pstIcnG##p>h^6~FMS4xJ`5U8+Ed1#)Tb? ze}VsMIQ(jeO=p*`vDt9VsjE1>yr8?N!A7NVT8q>@3$X|Z1&WT?hTqBb zNRL`Vu_GmoecrQmzN^u?w@8xE3O#w zmuv(}NXYYIfyd`I*&fz?NUJwJ9lO6R59VxOnuchf5_gBj%DiyJhY;AQXN8vY~{ zAOv>+S6cGlKsZo!Fk9Lgk^E_yQ7LSvyQBD)G4)M|CILs~Rt%rg-T;jg_Jd=4WdTcl zsKEvoCZEQ-7u1sZ<3ku|A1G^!(>m8qkE`P(DK8@le$@9YLAGnGv5RCvf{sTqYyO3# z>S4Dij8k23rh(Y}cP=s{oT>y@w*x#zObNZRhZ&wxa@Y?+?Nh3a{LW&=508aFne5Ik z{D4VH-M7J+r$-nS;dM-#QlAI8F2WRA<#24NkNm+e;)9GqMIx+dE-l=RlY(e0l9e#n zDuO}@7ZOUv6`S6${_aE}xMOe=gb7_4v9MG$YH%H69{6|3wj7w^Pl#cB5AsQ0OOq5w zOFs$5LYd0rO?kK-GAhiGh&;K@jm)sVz@FMx8GY{RRTOy->>L& z9pviT6l`7GYQ-58alZt_&XJ&-&yBE?AaA>F_nM6iX!SD^!SHGGJo0UB~Y7L_wY*1PS0M`E?sb)8qNOC1akQ3QzwLdmHd+Gu4 zg6W|a?1l&1G6mc*myoWlCrYO(rbk3R!jOA4tA0YWM8I0nvJnL|)pF|2dNyHb0kaZh zzY5@?Xi>xaMFCPoh?65Q>gKI|c8cZ(8809sj0$o8VEO23l_$N0K-5=0hHfG=WCaDS zi>+ppqfEIbE|n?2Kb6X~rH09<{Rd<`p_*|Q&(ZiHUKsov51wdbi}wuc-dS9dvZy*x zvhzYZel5v~j|j@u!E#HHIkMx#);{WUq0s{GOUt{2TUj>+y=Fb@VMbpOfz`firKm>I znwnFn)!vz4Rt0qXQVfK>{dpY;E0;d|olq0T6TAne6b^5*3^XR3f3AOC#^99bxhz&c z5{YI?8QaVKWuFbpS%0Qo6b4=y_p*N2gWZAOyXw=|ua97nYI!3_J?7|*+6K;3l|3hG zyorKL2Hp#oT6M@^HfeLWm=HEl$@}kz_E6ejh=59@iuTQ|H2sNlQn4wkNkOec40; zk)&Wb1=q+x>VOj^5KYVnflj4!iN-A#k*S)~l6f73k6J}zN6o(+@AIltAF2s}c0#DW z{AuX+p)F3?_@j54kwGv7^E<$?OB zs4;5gyIFwB(UaZWnE`3cV0l1OYO~zB_?%U@;hRkeG+Z_rfZtDjDloWYPqg$ zP(BQ@?3@Kt?gdQlb7m5GW%{ zP3dJnu=v9(9~*h6J{t5^wOG{+D!+IH%vi8#sLX!@3zk7m;r$SR9nf=q&a(Kv=V0Qz z(aYSL%Fac+t_)3&>v&Bd0R~+oFx!{J!V|C~_{lwsA){DE zY86g`x=JdKhym3T9d?rrYe?hwM%qiArJuIjS?`r{15XsqRr?sy#@z?wkPLG&UXwsi!55DHt^^<8>E;}i2`0H5<%-q| zuR_6_Vo6g)yoV`)WwPm@1`!8Sn}2k3q5heM z>LLCueSMw%?Wb72JPksaxeOfN5Sw+x99}1EJOS4~D}zX0Jvz1(-dPz_^js{OFOJQU zn96}rBEjEE6mkJ-`7E-kYA(UJDi)EdIP9m{H^;m)Zq~VIzg2iob~D$PehyEG6G6vX zf*b$F5BGiVt>MA+_|6_&b6DMzidUNkJo3nKa?%)XER5&=!NDzoy_<%yclLcP7xjk)0Gj+)qQRXwh~ zvqcXSa8`9->sw`yj7+AfsafrkX=YH!mAkM`+iVPr>4}xpdWJkBF-uruul@PiBG&(7 zGn;ffgj2tk-#WJo*J$Xx8nGZ%oh`(4v!V#TuaDV1Q|t08Kc(}M3rQrm{A1PC;rOjE z-=fHvr)M&V$jf$8crK7w8hA%?{ni*0_mufev#WpbPCAj~?cQ$*crUVAIW62&dC%v3 zh4td-7kQO^R%GX06Fi{&-uYLj!Hz^oObC1_p?h_+D-Jw2frXMGjn!{zMo%r-&r};h z(MBxE{l?bbiGY9mhNM6|UJ6J=1;0l3OnE2iVDrbzPZqc860*-85J{-HL+q37Z{X6( z_N}NM*9N(kL02t&gW6~Bn?iYz%idN1U?UX)bObnF&dMvLuWGB0h0z!2tHW@pokbvn8 z9@I8Al}CYSC|V0D*klT_m?h#aw7q1?v)8(x8+GFB+)>O#&qb<9eklJRZ@xb;se_1= zH4_6Uu3Q&Kn~Vyus@Sqg+Zstt1%ge8Cqn>|h6xz9(!$(yxNJ=Z2nYylRGCMEem!vU zVNo>%iMJ~cOYYnBIO1;;9F=;UxcAkh9Abb(!Gi`wTw2$a9zp9he<~44X6aM2UjL0;h+Ce9Ox3$D_8X- zHd|=eyBhJuciUYoc9OX6%{jEs$Vi$umDEOyPh)^F)@OUHTqC2#NJU2?f?;|^nXunf z-~8H=ZXCJoOv{?q*K8In6OA7hdqf&Sc?C;fejig)V4t5nyKSD07S#?p$~WPHkcy^zEr)A&U9l7hlwkQv!OF@44mM(J(zXs!T}?=m@J=L z_3IF#{cpVcEe(K;c;{_ZAifB0UphY0vh81zrL?RL2ToU*ZTxH zDV)_97#)}*ODc47g#W5r6W2y=lL&}88*WZ^BJkKw;9E1B+=&k*xg2ehyyk>$F;Xh3 zHbq|b1>e?D3c0z$PKRNZf~j_JXweNxSaRO-#V@vU5r&5R(SdUP15VU+U;~)lxPZOd zZhj_R!xLhy8DEL4sIrJpE-Ff?oU;$3wGwUlTl{Ye_#m8VktPU{bBu`CL=;IlYc#(R;y{`!5eeuzT&%???CRm)+nl zw*#e_8X{~`9{`UFcfBT5qW9=x#A$^dsy%Z|jVZtGhKo->F}=ohKE>CD%0?OrA*6Qe z-X5$ESb(FX3y-=TJ^GiBOIimU*_J1mj_eOOEHthJm?H?-`pLXPJw&zBkc66VN`m;Q z70AH~MgE01`EYwa_ILv z%}}K+T9r?NCCm#-bPh7sZtYs$Uhtrggrr?>{+{|G_yAHqDNz=$F_6?SxG7x3$_PBTR_e)FlU7R z8{26#X4xNuRmV%<&j{9K$Otav$cWoyJPm>a_a*HT_2y{N+WRSVPl;s3d^qWRgSEMJ z#tCFXHN=4R?;{N-h-qw-L4WS)31UMW!**!&r*V%8TyoIXieRC|`9L9U(P7N`(?i;# z3Rc1VHN26afJuo3g=69m_TTzX;6H)?1pX8FPvAd+{{;RM_)p+Jf&T>l6ZlWyKY{-b K0Z9c3)&BukZ3QX- literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso new file mode 100644 index 0000000000000000000000000000000000000000..b0e65f1a9be6ea65d88fbcdf93511b90b7f06770 GIT binary patch literal 19552 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso.pdb new file mode 100644 index 00000000..722a5aa0 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.227B4305DA369E84D660CF7D0F95A7B1.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0b046c483db13f07a5e3d6e402a15c53a8e18d798b3bd1771d8fa253281d851 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.3041E5075421B7BEDB64891F34806B09.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.3041E5075421B7BEDB64891F34806B09.cso new file mode 100644 index 0000000000000000000000000000000000000000..28f9c7bd495c86453f41d5b4628b2649e15f7c7c GIT binary patch literal 20104 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ð17AF&`&^u!u?0W_h4%K2YzD4P{Cz-V46p2~CKv2Z68 zQCfmA`A-A0qrTjJViBZOSs|WYRg$r~sYzgInSby&EbQL9yk&-WSi8W8B%1UWRkT)0 zwWEnOMiE;bL}Kr)PwbB$pNqE9U0`CWF@w2sx%Zt70=U&8_$rD){Ki0Y#ZNrjU3qUj z+~&q3HXr3RZEi}Xyui*O7rI!XZ{_=Np=WlT_{uq+Gcb0pNPMH(=EChH!8Gx!ujbfYzu7XG zM8(_Btt#4^1?ZXO=nEO=?Ztn7Z*W6E_0W7W)~BnE3YkZXKtK>hBcMf#h9ftT2!LB znX+MY@`Y9bzmfKEycG45-G1H0!k`F3NzfYPoh|uE7J-5+Bcy|-ery}!jr*Qbs|R{J zzti(T`=C$!a&Q0BdQi6O{0zS8sJy}BMD)pA#ZpXy4E^nAdKt04KqGht+GjJ+!#5ZL zRO2&9iTQbT9e!xi@;ShcDmVZFIuP~>3#OinWgN3A&pu_uIxY!Mzm%tB5BuCdB(cgI6qQJ@5N`SwZ|DJs`J&~Tevq&#h1!mndo;Rg3I zCGpyqR`DDB*Pp1Vw(Gn%rss2m!*$e-LHo^tvp#v^Qo)g#OSfwdB%g>sc!&LxJxm?s zOuHI`KXU)fRnPZHDLMR)dJCl!QiRVO)VRWcj5-~|!4PCldUF!r?@`ZiPbsr5LM zmO!zpu)eHPsi9tYE!|4DyU!${k+W*4c2*`a&Wfwmc(AUv>hodGA|6qz*Gi5A*WAFX z993O`dkZ!O^BKi=9-ogsWO6T5sS2ft9lBwtzKXB3EjP7n?DEWL>^*xyjoBrU`fEF= z*yEd*P8H8jVU1DNf?zlc7I*BONdX^uA(1t~xcSRkzGp0p zA@1$dg3LaJ(VXMn*e(U7-8Vyk&I&CbN8Zh$?)x~xcM93Flw%-tU%8q={+SWO%5?$+xOex6TXV1HThg#OcST(?}8B&Hx^0fK@u3DZVT)|yxsr8 z=txnpJYhP{{*9FMHp;-M+(&!FSQm-XxhfOX?DQmO*wA+i-m9XTwz$FfR=nW%=(pB#i=jzSB$2;Yug=JuEOAlFZHXj)UTxAC`R?Q3<13s7=#o}apG(|1G@5rF|Qo3-rnXtw024?wrdcW zieg!?%2Y|PwxfA!-OV1J{R|Rf4>A=8$xtpRW-F^sZLEFwZA*xZp6uGLJzdx}JNtDU zTfBvtO-3W}>+Wa2^_fv~TZ<+3=x%vt&aA>@D=63IcO7pc**RhmC@RX0sVtL;k#}#8 zbI$A3b!9#QYhC}Hf6q(>S5E}IE0%CQ+5Mfv3H%jF3+*jX|5GFGCf>@j`|hXt5%;1U zzb9Jc3)trb>%mVJm!pi)@l}c1#5VmkXAM={$QXGq?k3Wa0P9N7qy$wL<&`ki4>p!X zEXVh)$T;D!#9E!&o+ueLG_Di&RuRnDDb2616N6<*)-MeLqzIiyn5NGJZ02HC^Pd{@ zsA+L9r&y|~;0T82s556+%j8b5YFn9Rs_;RS4FFD>+UenCszUb^TN_T^J$5JM=|WOd1f`^+(29o5HmeM&@j&DWBj8gx&+=zY3q*jjhnAXS3? z`yny_zUQ*#GEZ(F#jE`wuV|nk$k!2PvgL{K@O73gF@JY3`GvSxg1u3CYoR24;SpB> z$IWi$WHB4UzkxtDX+FFo=_^-BMeuP}R6y}pc&mv7PVxKB?p`^}}eK<#|8o!xQhk8x8Tm*flS@+2M%u=I*ZXkqo{1+TI8$T4LNNn(eZ!O5h6GOYJR zYp8vrY+Y=_8X*c&A(Be5TQg$xxSW-`)x9sjq;qX`MVP=9n#EqkY_Z_*G=BOjf6awW zE`vn#P}5d|++1B$7F0}vBRsiJS&}`T=aKN#XP;=y%fCRBw9b&Uz)LdG~ z7^S;sMN3P@w403++bS`=eAa#^QQPlzi0zf+^zq24+Fp_tbRCJH(If<}KNP__F)wb-(Ig!XasM|dD9~_LTPEGLpR^n)zFLf)F!SvBBz3wB4o>EhN{E5CdWb1x|NMYn!Dro|^lCsk_)C)DQ@a&3p?e{Kd*Syj zLP*_OQj{~M&nx%g!Tj2R1U`&+n%Uf$_+IQR3a2%KB>j2p>W3jlp;M%I?h8M?Py3b9 ztw8PZ+RN0GG*7NqGbl5EMt8JseO(==wbL~{fAik9(epsr8sjKRXX|AXCg;5X=S-1OxCQ9 zE-8)s6FZ&JC-;8h>uAh;&>BJFd;TCv?+;)RH?E1N9j&%LMg^dDf>VeGQB1vWO`_t&epnl0cV8|ZKXItrt;nh;Qp)@Ga)_;C z5dBB>tObWpA(L2)m1P0LL?5`5Yf6`WSuXSy>8mTmvyXm8jOX3f)Dm$}r*X?Rri9l5 z20G!7K0ISyi?y}VM{Kp-Uh63BM7gq7N^ENhhtB7SQaB&#Q+#JUKe_r~Cz);Azof3W zxVK?YXwbmH-Cx2L_tw&nrRc%ngsq6l^E)oj+Fz~fPUH+QelZpOo@biK*Y(pR#4D4O z4I6*Fud-`WJ^B#ihKk6Uc>i?ex?!BdZsXI*Qd;RFJF$Tztak|&w?T$_w`cOIK6=S^G zSXTt~^(Q)G*er)N&n~(p+dZ~!M+7%^=Z$7hTi7P0e5j6o-D+G_5l6MR?;~o6z?_`l ztK+WE8*ntAxWt$HfeAun%@->>RGV1jJ_7Q0(r3-Dk7-0o*qOo*gbBl3aoWmvY!}Ws z^YhCHmZCfF+>vKo8){%Zy15EU4B7fYMXMYCtF|L#((0maIbb&|^1V*dP2BWo4rSNZ zo1%)A+1l5St1jQWZScG z(=zy)#nDwju&}%>*~HN%Bd4$4HXhX3DdBKA{ng0WT{jNDf+2sfU%6Ff$4^q!lw)vi_psD0u6svV#YmwrjBh(|FOcG5%{{9OP9&$ zzRzk*J<;3~?eDx=wpH!lP4F*Z`(VRHreDVFz)eiUSM)z_b6=f;zE>1jA_!j(y{Ib@ z_~UO_tbB1foV_;t_0qLMF`pg0 zJEloI%@Z%6Q-vpNB$O$$EPFgUD{y|aC;oBT$nQDErZA5c-nG^1=18f|7d*Qz_DbN_ z{BoNl%WR3)EfAH!px(6#9xq2KKtdB$pdvU^3*FmzVwpq6Q+}zxp_(C@d9S>`n2z_A zMA5*IqoKcH)c(B?#zkm6^(;8iFsq=WsX39xlC#;4iRgLdPu`DTH zQINQujdX~iZITtT@zW7j?0QJ7NBVs-4O+x1V#-`{*+Vq3R*wH%3VxNbFP}bEf$yiK zYqfbm*8fdGyeTM4X%wrQ4MU_PPtX@FJ3x$p@&23@M!QF0YyYlb>kz24{+eGaLMv={2_xM+zoq7xfT)PvCQsOU4RPVnoQCh$KqO2}c`es_k zpo$>{FyE}J^GN_b@|A4*`Vn!XLtA&+yMfc_hKLbs1*%4Jhv-M%wD9=(7V)g1`vFJe zCpi`zN71a4XDsm;%=UN?)EvX=A{W&ELG!%_w2&4__JQXkcoN! zLD9PtEn|w&(RS*CmB@a*Zsd2svajVfC?oEM{RoP@2<#g63z@l=Hy0^E+>cB5X4GUw za2{#wO~mW+;g3mhnod3VerEc}#;j$2s&IMzVArsxqk4jZm;C2r%yxw!dkUH7U%2g! z>b52c@v+D_thvd@@ilR`bo)vh(pb{p*j)RQq%~w;8_gg4c}E^XLa{hw*sVmI%3nJ6 zmV|f}aJJ{Y@M*oA7Jc(f?dVH(Fr%N-EAsC%#+8rMtl5ZL^Q69Eg6=jj5A{?!QlrPs zzW}mL(I;~q6*+qzl@?XZz$_?e=49K*lPC@E73<0|mMTjN;Ayy{$;J^gvu1JhZ?lVf z%4%jMRvd0~;HBaeds80XSp0$%q%&a-a%Sd5FheKuI6Q}S{mEw!CM=YoDS86jVFVWP z_{`CG&YvIr zD$x_Sd(L@_b}%q#J2QdQ14s2%MC=*|SFa9>cAc%P_JC6u@aGww8i!Vtb1ZyV>_ZH~sSnZAg-^w*`_^u_UKU zk`-LgNpB0Bpda7EBq8Wn`PZL{z= zYayc`cVAcJ{XM2`lk_&6B1sJZ=oqnNSfZ&w0th1j7Da={dcKR}-{`_5nUa9wkN-Sx zwd;Am_Mo7kprFY-PW<5}aQaNd)jGBwJTEC*ko>i);fX z&HhXG$?fBf4E+$HM{hbgc3`dfhf$%jeDzi~4lW>#8WMgT4^!F zRoBq|{{QpG|J_gbr@{DsKCKhn4TJ=_m{uUCzo(7c$ zr-TceDY4gnIjCOONyS+S2utU`jJl)rAhE;M#0IhtHEP90@TgPzOyIslVGivWpSkaC zR@W0=zjyQfHziLiZCXPpS{-;Nu05jyl~%F>gC6+gmIPU=Jdtev)Yg10Ra!zG|L`23 z>a|G`kBAP-=Xqy<^xyS?L!j6#-OqnwIQ9`g(<3ZDyFC>5ky8<_}-o?t|;M?X@3b*rf|83WZ6CbrN zSD|ZgL~;*H~It>{nz6h9vVPvsGjL%+BB=>Iv|>i#36=IM3fWn$DpwD;bd zN3(eOQg0{^!*GHo{4D?8BNv&dAn2J4wsp)lTp|t#0*)IB0G!)Q|Dfu~w50te*m-_- zOzlDnkJ@tIP6;s>J5#+9jrLvxqOOaV4J@iyfmIyrR^0wbIWVU|3Vb*exk3k`z$XoW zPD!)V4I`2;9=O1AMJc_AIVQz58lq))TgcO#bCd{!i5Q5D&T^P&iwxr8_b7oCggh6&9%3ub(;#JLiVs63vCBqN#^!5y4KRtugrI@D|okb znjm;)VKX6_1}={+0Qid@TmrzC@4w33>?aJ#67prBsGlYEg@u%`%Nfbt(pGW3j;znt zrd#SnkT>hx{0eME{hTBn8v)6@Lvz`}`XBwUIHU&*eeZE#`%@CLXreK+&$s_yuJ;!t zTtn{2gYytIFB^a{3(YmxqZ`7MMlUL*q|yA%$xz@u6o}p75RftEyd#-RMI*{>Q}N|* z$kcbtth4G-APv#E91QNS>us&Ql(;vw8FU6#S~-p z?eqQTIbK91L4p^8Tb3Iv*J^xi1)OD~K-GA_IhqfABI&lMTm)5A09&u5;{w?L`2dNwKfn3J3d@8lBT*rxmEf|1f%qDY zsI*M{xo+y1qDzzMzxV&yNq9PU(QG0^v zO503Orwnz!)w2Sq%2+fIb^z)Ukw(~4otL2Z)oWANR?n(^8k!;1sRj`&badvK2t*&A z%hPnIwK#S%^FM$6ueds5O+wnCyb8q%8WxPp20@ThAj=Un&NPH%V<_JMB;gj5gcapN>-qLSOxZs1~7@B*Xauy?&HGI*ll_}llOhp+n4h@yfe&u z05>9m?@Q&Xr&&UsTg8iZWUK!98<8#o7KKA?T?1fW&WjdU(AWvCv_CU@saWJ=yoXVK zpZ1>dW* zDVM*U{YD`|CK_294j{!Zy7QaNZ#S5EB1p|BQsn z%m@Ku)?r4o{^u83t%I{fps(~Exm3i#*TO7!q(#6(kp46SlkhMG00EaqaF$K5rtfk6 zQUjIF%=L3Q;q!C36cL+h*Y$B-Gb!ta)%iBMQcfg{opsEPaVAny&#so%FBop*AtAUy zVzrnNoZjv;@AvEKSrygSksREUUO5ifh7j`)&P-pubQr zmK#OX793w{{xY3r8}uXaTr+C2=&)4PtK_uksoTu61D!7(2!J`OEQIQMD1spfge18e zeBVFR=Ii?09y&H3_IY~GRR?GIR$x}5{{5=2MiTY)DQ za@-Ua`JyCU!BFecUk!3HyDj+_smE^m- z5v^H4;(R}l6O{s1-~XQH&48yPGY=TbU}fg$JJwE+-_*})hNfag-N6zt<$2!c;ZedR z1N-e;@{I+Bjk;fVYK0d4GKD+`$9I?fqMgUUIS| ztbZ;!;@r3;3k{1_OS58*{!jGDXCnx?BxqF8iH=~HyAM#4^x^#WPs+PftDkS zN;UCe`%@`tBV=rN=zO7*r}!zZHP%yy{6LRN4`JlKloaV>hVz1-442#ZoN9lTtfyZw z$D}Y5@VG;<5`4>;lA>)zllQv%$F+3R*09*O%lGQF1dkT>KAAAt77yEh$l7uf)dEsGsq zNUtx}5%3n4e19rgB-i+3ZE8VTg3+5sEXD5Dn!(5e^A|@*0oR%^X zNzyG0AXxLzOGQ)m2=cmW0w@PNpNLbA0%Si=ws~*lBJmGeT8^l-BlCTRM$r7Rq{xp= zDqc*l5lTSKb>L>_bN}1(cXKItp;_CO`<)c-a-VoqIsSFkt<6aXXKW|e*453+5;?8- zSp*^!{8)+rc^7wSp8jL0lKUidYd;Kl(4t7j?o}!!HyRU#e%7TZOCc%?xW&= zZ9yZI?bM`B!Qm3pOi57~ev7K^lEtETzf1*Vrdn~EMrU6E=k=BC(azj~su1l9Oj24Y z!hfGNedd>m8yLpu;OA`~++-XQvR;zg#H1(5SKC)0)AI$!NUtSo;4zWdk(tJ(`v=LP z_%(=Zw3^=4oL`3pgcy01l3K^yZQKlh*3uyrZNGVB^?fA_OugB1H6OzSnh-7?R!;D#hyX z>+`r@o5Y)Zq{5*@a4brtGfddRR2@}xua%{y=`Besr9b6sY@H%!nzV4Ta5mmPcQF*f zVmW=&(W>Rs)Y1cweNCa@=b?xjL7D0j<%6obt^TG948XBPBEWyAko{1T-SCaaJ$_gZ z=r_#MNC^z{}xdjEEQ*8WjzX}!j=OsRW}y{)+zohx034HY!Z zP{@)A7X8Thw*RqwWiV2M|AG_QI*Fu%L{P1yM=lg-A|B;UU9U?w_YRB-$Xf^@fK3!Z z3g+D?26WtXK394CoBh&h!g7eQNGPigPo|Pd=8*YlC`v*U$ske^EP%35k{fP?PA(ZA z*b>5h@(HSS&lxltaSP~r50580_XI23XV*?^IhXWT!MoM6y=uOx{jT3d>GSrjUp~x! zQ3;R!Z@at=ePo@Q`FiJidEE>-4^S`<^sELe2Occ~uXF!@{QjQ>M$$)a1{Gubz0QS< zD0UKDkN5SpKfg-G7lRZ706rregeBD7;pC_HiBVn>RaQb)v#>Kc7nc|yJT&RnN@vJI zXG#zNKv03dCs`>K=dE!cIjHCG-`I{w&r`a4gAwClf70OJX>ZhL^-PiLO^f~Lk(QtK zJ8?cuV5Kd0Z z9TNC5)$%{Vk5SlxJcxi#c1`ROJ{nW@Xq2TJ&r#mNMG7J#fq-dooVi6#kxK1|(9gZp z;Y%Cs_8f)BFLVZn*mxidi()zjDOg*ah1lzBvj7%lCUtu5;@^Aw>JjPJWRA;(QLB*f zQDZNq@YL2qvY&l~Uq*bIc|+fwz@1@FiAaXW&M7WXPLJo)|CqV&6o^ziH!LmG5cWnn zfY>8vz|^ghhlzOks06nWI&C2H|XP|ltzgh zE`y^Nl7f9)$-E4d7^)F@;j)YoROEmzT$QpLukKePTaRPwuo8FKZGWP!2G@J}@$(pP z`m-;Js6XHUZrCr8Z4Z6zu?$$L%GH{3#=Lj$T_^$smSFV0O4#kTlElF;H7X2iUsgL( zyDwBxnc$BTb~h1-)VLUL?yj-D+t{qwu@HT2tZHiI?;s)3w~>?lnm#^K9%rS_$ya0k z)*T?dt=p}s4ujMY&g+%Dn3{HgduRPLV1vR59nW+8h(ETaTz^w&1Ef9pjOdk^#*hmz zKKJ}?G*x&yD%5wFA*{`-?Smo|)-uXckLSoUOZZq(OLK7f81Zx^&^vt~zmXyho2!=f zX;!r4wL%a$ijcJk&Xfpd&w?xVg81!0{5iBDctiaod1%V}*|-LQxfwDm*7Widy8~F8 zP5}M1thExVe5CS{LovEZmJ*a;HzT!;*qKJeQJ%&6*&N7EnA$)u|ufe=#9}Q_I2$`Di9P)1A-TN^Q5nLe?i#1?QY0@k2L>!EmT!;#Xjb0_)_S^``F0-H_|+k_A2iyI_LU`pXUxmGv`L_H#e#^1oWN929fEwwa#98TR}6&A-WCS zPRjte3~sh2Vc(klsaftK@mO)5d^vr4UhDyq^3d}B5MvxouJW|uAitact7aQ2?@9Jy zn+4R6t;T|b8$>R#B46(BielCP4+js$%h_^wYc-(bqY#34gsW)wtxBXcc=PLN&g6lp z))OCS@5r8c?}2h#-Zyoi@MI!kDny-H*D#o%Dzhi*(;$ND&0wO6D9r>T(c@-ZNXiDuAU`<_divOy{x_Wysul?y#E4`_BL=GSb{Uw{ZSAnf@8gj4H5C_8t~ zC51(mbxAK&UctYc=-p)M z0E7k}yiDxh-D*z)hm#`Dr;uJyD?^Yv8CRC^3*glwvG%L zT6Taz{~B_jwZ*md7fIIGpcc0Pqi6$bgHnhNg3J>FkVnp=-$yP-%ACAH-0s}9$7F@#RLHD)$ z3X0(?(npPYRP#h;3d!g-z3MCeTQ3&_rT*aW(81Qr+b-Wa?dkwTd;Q; z&qeR(plSyF2${Q|Y1fjFhZ2dm^!lF@LpQ1Y-`Tq@-1xROxP!&cVWMJu{=eGwDp*>! zTc*VE<}bzoSb|2lo*onkL7n;b@xXcmSPJA(hsVqFPL24Q&8Xc+Wy{*fLRwK79N3n9nWZ{MS-Z#&or10PuwB!`+aEH(u9D-d% z>5O^UFWcW|1KkI0Dla5*NW+oRAxi*fbXR(lw+Y~8e_0Q81|@*}-6!HdKQ0!9E`wtg3S4&z@qj7-scy`hX}08I#uJ1=`isr_ zOO@ty>zg>3Borz{zwPz?SUs<3jTofYQZUn3e-4Pv(>DG$8oryjMk>z+dL@Iw@1qGL zERMq-W}@#YC8Ry=p`|qgXY~~E8XH^f!9^l&6Lejc$SY)7hdF$)b;d;`J6i6Ah^N3? zPuR%HMF|G@96gn1CYKrfXLk5JqowA95+h0gDyZ2#ZV~=b_Y@ZC-p^|2!U8opiU5d7 zFIwl_(fHpdzo_ed zPyPsCO{Su$D?Uo0aA>L-PU<0dqLGV+e1eSgxp+ zG{D>P0~l=}Y9cn~H#V^p1&7$<^j6=>-LV1}?d0n+g&xb?45N$3(nWZ0dq(TZC($ws zv;_U9`$MRZY^I}k3P-0}dGo&q_tvA*#gPBaJidbLSq%!q)kz1o#ZdWBDd|}pP&{0R zIdPdv>Na{b9!VYr7C zeod`wW(}^LfrVQ}-*6$e@x7piGQ#}^G-gXK;9rP!c+0$qTr-v9!zN*1rGt4H@H6oa zt{g{DhK;us`5)_nDSp0opx2?YATUoWTGt9gT=@$W7OG%}^Mg@hv0;HmuHvr2WLQBX z3C3G~bDUAY?+@)$l;a`HgBT#JS>&i<2ljU-w`eM#o#)zWBiPLKXIq!d)03j10*i&d+nn_6B!XWCJ0m4oqj6AQ^+EwUc-XL$=bhp0Y-Sd>B^BUq-KQ z5zPRy0)1SrMvLpwOP1}71uigE0fH!yz>|kEmz<<1gcu+L5$7%+?##|^H+6{fS7g&e zzM5$$@i*K{IQ!^bPKm5i0|N<=;jG*XKFH3nl*)D6F;26O@F?qP`8mf;6{P(He1*~o z(gf0Fd9?g*Rhcs*u}b9g^SBPYFRn!CPL5~~W3XDbDRZ`=@6>L`==F6%;IgNiqrL%x zyhW8+{_9CROWKQ_6N1N9ee*=U{Ne5f7q9JbX^FFR@F@O@k=kXCNI;FNN?}TfT%v*+ z`K*zMrl{AGvQ<~2lo^YR=R^M)8CGfwQh4bq)9kGQDH7uQY>7P_1nBJ}v+U1^pYQg* z70gcKu)pCMySH%nj~kJ=7s&l9VshGnTAO=wcP$~+%trh z-Y-wHOgnVT-ddiP&fq{FC1Brz=HaU^KgksU!-g}uJa2FFvKAQv*T=t=k_=(1X{-M5 z_sCkifGxY~)0VXbT?L1BY4YUEj#jaX;rl+s7Ie8`fr!4hkxWu9vBQTtn+3x;^-s!n z@r#_$pfg6KSEB&oFQiO?go?tnhnXvId_vUM8KL0J1LpCeXJrX5T_6`m9~xsiVh1=W zrYMn*G{s^B4h4YD1zc>vik32C&uD8H)=sb~Ds-$fqa3;;to>YJFX}nZ*f!GD?b`<@ zd%X$q5L)vN`^}w1L_|bj1w#(J6cFa>axkHFtM%5SFdg1MvEb4r!0D$*Z3-|*d_RH2 z-gz_N9PGkgVL4XUtL{q0C1Ef#37Ik#IxQ#gQCm{rbMfwxO#?x%BSf8G6UHw>bzi!iQZ=Ed2^VS4%iIHsdGIK7W1sD)lg zvJvZ06Q!$ga?c%KQ81!>r^JPHH&8NqWfH%cdgg{%2FvA&iBT#;EghcXDC`3f^ z6TmoU_7<9~xpL*D*>dH{w0n(1Yps(9-j_P^h)S3xhAv+Cb>Z$TJIH9dmjT{_^i)bQc ze=tkN5=5y$!4nJGLIj{xh*gL~;{Hp)%%qXQkYy*YnyXN#KHOd58Q~6Ge^n)?3>7d z+;||r7yu)r(n*B{L96jIZXf+O;hBsBu z68p^rMM0U#S#nU3ifkQ)Zl7Blui}pE_3@@|#g3HyZ8nKo02!1-!l5A%0unRv*$ao! zZoU2;th~yHE7Nfi9>@IF}{erKWH*So?HJ9yDFLA~sg&ax0NbF=nMW?%^N> z)gY|XlFCPQ2>{#H>=4F~Z#&wwT{nb!E%8p+!VDSAj~5EjYVw&3|49BmM*pOL%QTRT zkHC<{efuNyw>3mUMEW93;bc3;^9(7Uhlwl}p$Y-$Q_^BgFi`qf8(c83X+aEb-WE8t z(h}=(jkTo$mMc#Slf;nyzza+#^M94tRXS`Z-#tz+qxd7{XuwsYC^LU|1F1+fY?+aW z?%%VvDhHjmgGZ-$PXrE&4+BLlD2|RzY>|I&^BKJueLiSi2((J&^OkbCe|b{gCev-l zLv#3=v$4LZea?h;UxsgeiJNu0%_yuv;yv7{Q{j3551334|C!m z${|33#eA+PqPAXKKTpxyQ)JAao&sBqt1M@Y*`Aw&=3I38`IDZA1Je(UY)|Ok$?qQe z|8lEJX<3*(VTxZiSpwPUyyu923%#LWC>KwCZ2*dO^X*MvIC0EUq3#CsWQh;QbM=!a z%uAV;y8{0J&_I6-_){-7CzLmD$U7-;L6o9E?!`|vkT<=KT*06+GIT17gt^z+=q%uv z1j7$R5IM7~geW2^QYuvvrN0>UJnEms3?i3^XfL@>JZZCkd><^F+SH+k1Btpx!?0=n%ww zwBT@7BWC0XEp>aG*YeP@G5W@BPXH<)RHUmiYM9S4ZizvUYLqg*n&rc@kGI>R1++-o z0$~Aq3RCO}Wl@xH@xl{b??G6+AM@Bl^VC&7WcRc@craVn(`E=y=8Q%rc2)lE&V9HT?Sf zC4#cE0fu!>wl;PmR=9>oOUYjrKwoeVKQAOsTb41v8=A4N-t-<&a z_8UEMnzubAx-2-Bco_tjA`BL{(@Vq5Yvtfv5=tyoa4k2Q`Cf&nv z*4{XdQJ>1nk`v*HvjiKN8YKzuCF$2m6lm^frO8X6(GmsIJ(VX)1QWZOme{eOEaQguirW6M*ULh=@7MQ z(n5u?`g8C{1zvqV@}>QP-@Vjbv7Eo7VS0)Hfb|tAI~KihrTK8>eZV!UYBirDkWmyU zMo|a`p4WX4McML=0c1v!9Y>C_gS@rQZnbpw^ z_C^2$6-5wT=dgzAiv`3GMMOkZC+;NYkn(7K`#KCjs3>p{R)V2R7)CHTNSsI&oDO;g zYu7j&F0(VBr|VqeST-tPlGF3 z#EGmIpRUKTm!z=IrD?f%tyw&Oj&?eEhd37H2Mr3Ha7Pc zp!c-Y&2#qF0eDr2%ZtGLj{yEZxybuYkFbll{!Wv48p72cp*Z6RM}XnRjw^xA4YOH= z=?{dBa>NUymsyG@n23MWpC77jLqSYCu9gHRQi#4bL7O!|8C*q=(bsNWNCcqz$VY_3 zHEf>%c_?9*D%IEBvg2k5bmP26D;7jJYx4fMN6Iof;Ik2kb_xC6EUrrViB7)X*iRQe zm}U_+t5J!Lr0M}pIuF!8zgoeNssBd!9mXDH!dbAxt0|I1B9WyAkh(nZLLjlO;1k^<+8MC)DNs|Et zNpN-9rXe~UYJzC5Clbr8Zyt!x`dYLs)$U8ZFGVHuHil1YG`bqhDcAZI6#`I;T=mDL z*SNPr;}3Y-X(THH$nY@FCVn4R$^*QU2soAtm#dpB!{OY9Nj+VdC?G^gwRqr76sexp z(!*sX(shqmJ0IKkni94Cyp769T5O9%xrmKl!*5&UBAdgKMGM1y-v(lh-KGFNdp&C^ z6vKuW4u#0&2MP?XpP7wjw(R)oDW(kr5UD6*LX=e%LrkKos;H_0rBo_}DHtUc2jS_M z;yOPQTagYP(h#P>h!R2FsWZnD?HGem6%VYa!FT90>!A6bQntlJAwjGGh$;+XC5;`w z@oEwCb`~min8602K_|0EYC)*&2-`V#@W?#p0eDF*$Il#{fyj^n^oBBlg3dK8R(TE% zH28#i)B_Xec^8apRS+tjG8@E17=dA9lv(0bS1F43Algjr^@Taiw@l`_4{E7AD+2Trm-#kEv(SVBRM_LXF`sos;Ek`u8%^;53DNk3%!iDreLgYM*e{o@E_3C#3 z9hX06&229A+~Y&FFJs%X>IJL(mYpzXFED#vy;GF~Ut!O`<%&M$%fv|9PO5(Zmh~@` zGp}#DEJPp@3vt3S#!KvozS$UU~J?B?k~eTAqMK&cZZ6ZEhj{r&k@m!wrH z+o;rXCl>j%yC|qc5P>)8n)n-2U&Wo1wVzIO{4XEs>y_5*r;QULs;Z{f{bM%SzC_oi zl$C$ME!3)quBI0jpRL*a{73G4MpvyuEI^V3)!u!S8%KnB zcQaR*w!N8M`kZO)|C0A#{kr2Bh5wiTyERCS6z`+S{$7VdZZK*-J$#_j1V(IO=34;C z8ZY~3NEf*tRCV?ALdw_yJSf|@{ry|o5EcSA2ABRUdtw;3B|)XS_Wd1xO0pso#Id`J z!unIX33mzL4fwKQYgQuMjS@$ZwIbAIh;7_?j56zMIu9|tb;W@KGmZ}@Ppzjh9f*k2 z-yB{d#;MVuawA#zuGkoHTFiW{jkF6#Q<_9V`vdJPdj*0E3lnvCoTK~)zjho(!h~mT zTn1-nhUI}ba=WKR5I65U+Vb&VHL}#6wcj||HMfr^7~9?8IY}@cM!xbuNo1ef{IPrU zy~iQM^fq$OZha6w&AOdYNOHc=P%%8^akJ0-7cTo-n^X|T-df=|cO_wDpU#|&d(R#P z^oD`+u#2)2?851yrchlzw3*M(uIL0~M?|awWTTg`e0lw4CyTaeb z!RYA@h2G?aKd*_35x$m+{NMgJlU)8(X^Tu0cVX5lsH%d-R03r2h#hWE`nOmVDen#c zbh%^tzMvq*SfRilC@phG;QoS8Cg&zO_X zrvjaG*6uy5{Qp!j&fqXINHgk1B7#h|)R{pptBb(NLznR+lw_@093BloeK^Onvv%R5 z2qW;?;mEQ+RwwiDQ*%jRZxGyKH+{WBBIGwp{aI2v(A{t2H|T^b8z!CA&!N4D>hE2q zEna~NW!Bd1R}9hU*~bZJM!^l4V~IhnixePX0NDYA1Yy`+i6HkX2T)?UY-qT{rwr>i zglN5brhWZ`sU?hrmRMbLlRU${p50d^o$!8-OZoerkNPwRNorC3ld}$?3?YUMpu!GF zVIwTeFoLH?*gP=7U{`25+`=kKLmVnH9ib|&jZfc^KNItfaj(hUxpI1=Z+h!LMZUM8 zyLCpzo;wybh%3vuP__xEutLFr+2TxO{jyoW5Il)O0{=7DWN}E*kc5TS*pZQqTM2&K z3?9D01i$XtKZY0)lZ356)gKGDx{~`UE?mj->>*ur;qZSI*xdb}t9s+D&hMP-lgq^f zg9fe3u^2orDrdt1{XJA*VI6$0<)_|<=7JDM8!6~|_$yh>@14$HWP{$^^4lzyMkaZ> z(8K^tCr%xMn99PL-3EJq9=EJybZj{3W>#dy8GrSBpjXnQ#Chi#;oQ;?0IX9t1q|QW)S| z;;Iw6#oncj-*(ln!1x@3)uRuPK~uS<aH@)Um?gZq@L;Ou)+^)B}ysBhjwrhAWhrPAzY3OthmuI;v zYj8Y0+8ysOr9K(u?)wZu&gOG%yB1hE_*Lk=@wBHO1d@Pxkii&mu2NXiD z-UJ`&bi0GsVlhVX+e1Fga{gTrNRCBSnyhCnYoh6Oc(tXN8?*t57PMe__J1?mfbzBm zeJEPp4|lnJ1UOI#o|rn6B(29wr+jFIHG4%FqSap;zDn%&&m9vUqju0GQ3_#2L-d7= zHSn>#W*Ph$n+6u&LgsJ)5Ys_`P-)WROI`38?|d1VePY;*bLB>`+374Xb0k)XjzEht z1~XaI7PDqXIYtyyAw)Qr(F5pl9#RT~aB>|aO+vEGnIV}Ec5(N}NHdp73mMpFVMz|7 zr`I}dG2&cMZ7_gKE@kZoZ_vW5%~I=&lPrDa%Zua%1C<=n=d2M@{u_MHo=8Y!u{78$ zoqFrj+J7n(%H$v0WN;!0GqtVLcO+n)ZZiq^e+oPmC@K`#!+E+R1Wog`Y7kozZN57Y zYPOe?IhL^i8Xlj^O+Vu=CK_i;3rh`|!zH=P1>IimC9A?!%{`xbjPQRLxp~`dD=QRq zwBaoGk)P$BM`iK#UB0g#eKBxX2Ks9EB0ylP6AP79zu8BFeAdntFH1?1ch<&j=|&7u zVEfZitg;Y5i}DeJQ^kz?gdOj@1~`V6M`N#ByPcoU-5cX4YyTgS*m>ykJ-#?>hKqh{hz(U{rw=R|0okV0Rk!lWM&JBo%j5F$!s@bOSwU^G;W09R`6mOvD$GJ zoHZNHYk_DQ$&4ywr;kOEf)M-gT+`jFhL~muDsW&_(u$r-wR{(J&6_rC*|TQK2@@xw zm5mTTNE!j88i49Spj4q0pg^Hgg-WWNWlG@vFn3p24f_rRFiADT>th|{o$Inlu=W4`hq{%+EWX-kC;=4uZ4?WjgCCGHbAbr9* zULGIWVPgXtzO15k4Uao@5XA^Dg@V=G7lq>zuF5K|hQY0;Ct;_rvMD9Q12EN?QL<#r187Lr{&^f~7!B&24b1Kw>N+K>lw^sojwOrJ}5A3=; zD2793Is{EF?LT#D?a@v5xqX`xgNk@Pj#lFR-}E~$y^i}a-^be(KTHanFZd5x*9pd> zj};F{LD{$jiBjosM%w5Wc#(JfFAsQm!2%>oovD+tb^SKKZ`kH#KMFe7^EWq`^ z`Uj?(Q+c`CcErcqrq}YqyTFOM;PVzQx^{hK=9;jn^H5Yf(|A1KpIkS=gwEVf*v%yI$NXSVkqRfVnO6G4uTJr6n6Y_0W%yYYWxrcu?573ZHaDxltYL_ zXP!$DU!ztUTP`Eik*?N5MoGmdjUe&9@*qUTVg}TYtDT}p!xtoGa4^M?CZ!tLL?yC0 zAYY=;FuCZg2xe479TgmOP>5{UBfpu3QwwlMcJrOw^K9*2AZl^&5F*QF=?gCu5=XRw z>l_fD(v#WzE>uB4hP5b*kX`a6FHLoO`2KbqPMQNQ*C*Cy#gKO@%9mA1t#jBvTsxcw zJi$5E0b5ws~JBAvsLcV)&zdJy{#8whni+{WgY8V}AiGWP3 z-JDt+?~QnvvNeI%Ba{t)YvgTVP!Tu}!u!fI=_VAga@`=p(4e%_vEZG?>ox7gSMF;C zUiEubT8>?{yV!roPS0K-$O7dN6pNA=BC{{O@JE1+!6t&O<)OAdU3oK0h1dk}Qqo2L zWM10i>=o6B%de~FkLl>7DOuK~A~1v2PAkQ%Z4gE`qv6sb?5Cqhg@We%2j)x5;?Q4vvqC}67PTbmmI%o%9`adhIBX00QZwzC39 z)sb!6vj%w&19kl}t8Vc?aXC&WNwLfGh@E5_Z=xu=Q^y{{J>y6)$F2jN#zIhE*U~W^ z=*KJAXpAfwa~gLv6xoc`RPnoxX+*IA#3DoqGXT1f&U;cx5-hxBxgX=t`d%kmy|2XAzdSoG(Px+z!4Z_RB4YDA%1c_rP^xUe8UGCL_>Awb_Wrl}$jjb!$neB%Qa-kRfbmKF@fVI#E%sdd=Rb?LpBI#>6eCjA&;5O{#aGf0x+~s0Pb=&^Ss&Nx&z@k zHfBw_VVmR-X86b5UZ=e6f;QTNXHlW7=WH*}*|?iz*&Se+B8n&=SpkHP!EN4wdkOx& zsHsaVB!_ot zl*Zqg_B9z=D6oSF0wS`y+wrG$7@*uIPg2YoA4N+BJ<}sl&EGt(C!O3`VaETkf@k`68T#`_Ta%6uh)x6Jlaah*vPRpo=}f z$q!wp5Wbp5(r?lnn(l03x%0V|IRl588}GQu&*5-qc-^k5ry^PT-H0C|%d8ZEgAZ?d zg;o%;frCdg*1)*242lY%DWxDp2vC$nK!`|Zr2#WP>BMYTdSyv|Fwfwnv)k=^TbkH4 zkit}HDpdl>QXq>O1gfPv7*`ZPd4^;RFev#L^Z&(?#HjUq%4+F0hFs==_F?fTwJl|E zZ8{4sTV2KW`xhLJkGKSG!ki}3om~3R4bw5YY8=ru(E;a{zH%YGhAiq@p{9hwGXCvu zdd0bZbCvkKXez;CjesrKE(nd7n9c&ql`G#-yI9>`>kjrP}&-SPR|VQ(^K9tK;NMVfz1N!B52>@wQQ55 znHRW*;xOL0gh>!LraMTiqfExrG?TRN&u)2Wpn*;l zCxTIQ3nK($0g5n^AYctk$9-$(FW|idYS!dlJg!?s^p(eDB-YT^3ib<3VQ3IzQR+M& zMu@%4Z0M6+Y}->KX}6|=Q4K)UuC%IJEH*6~YOSUOz3!AP?B<4Gil$~dx0(UHb%W`! z^Uil2u;N)SaU4r?A{&Cya&$pr1j`A%66)*=rJ*GUtZ0z^2;u(APou9Mo)-Doq#^a- zdbyfb^k9(6`v0D{GHR>gr+o%km1ddrm4hu;aebQFVkyp{B^dJrT!Fd(_m*K{Ux$t3 zX@Qiv@c#*eLz{KRmA|PH?*fw664o(f!CG}+oW(U%&o~$-g_4MY078kSN~!m3KR414 z%TpAsnE?JWS=D=$Om`A=WJ32*j3you&@PV)z?rlx7I{-?WAB zy6@rGVam?qux14Xmpi-W#*kdY(ul4raOuQodt1!`B6g&a_a^>TCvCxBr1jd26mY|o za$w(I?)9n@B}5()>RHlJV)E}8pO<@}zHg19Ux|1sq+gMF>(musmi!lP2OtCM061U|c=@K{ zJGr%WaZ)oJ%^^Y^WN{8%QY^-X!4M(@M2feZNgr>oi`{Q;w4ZwXN2h!+?g9LUSinQY z6($bm1P@P*>-y)Z&nUQii7B0d6)=SX!RcZlh$011MT)USQAHF{VysbAQALU>#Zh94 zqKg$piZAT>lD%(&Y=+2ehR9|i466=D#>%*{P7^TzPfay(K< zGejdKu*@d0AQ6Uq)Kv{tP}NmjBtF3;GwOz~r*vkfkZK`x$u+d~imEE8wn?ddO!t|P z#gU|6g!M$Q)`*T)=rNvD3vv}9Ay{Txq}dOx>WaZ^Ar*jJKT z6_nGhX;FOc8?OtK{Ounj+wF69(nJ52@vBww0+tTd1WK|%y6C}3r6ubLIqXvV*LMU} z@p1h=;=Y5$@GmdPW3lIO0>z`4U~7DB-5!@eA4Q9+7QvO2yL#ARG}^XL3>0CA7#sBl za{J3Q#P&0d2Mds0p2tijUiUIj{Pp!%hv&s)yU;$S7Ej(g>iXGz9xAuC7Za=0`*gA2 zuKb?Zhlm8>C(9sN@AQHO3j8N9wVkl7iA#>!D_x!Lm6x=JNBI&huV}mfNVn#e5$((-v*15o=oQeyH5K ztacceu2ew|2-~>C(EON7cF(}bWI(7Q(%L0AehW9!!%fef1LmO2>Ev{-qbX~QUsbC0 z8(F+*>t=tbE=!D33>pr+au;YYfrbz;(Z5_XhppZ^3yx3P%w`d3V8Z`2`!q><1Z}pc z?tpGr3olLKLrcHj?e^d-?NfJ7*TZx320e2k}mg;s9#g&jBU ztF)JIWVNMmwlei=HsZ=ls3M?!{n=tUbh{kBuRGY#&t%*L&$PZBnV4^61U;M3@6Bn*8+sk5{l2U?0#?*^KLw`xQs}- zy_2-N5vN!66}y=R=HHp2>Nd&kFEb!AdHwDM$nYa(GQ_SQKL!39;gzq`(ild_1pxdE z1r|qEqd5Rn0egc2>myd&cY-t4pk@)P8>-DS2nJ>o&NQuOZ%5;VHLpcgD~1YyBE9~{ z0U4{Sz5+0O%&dkA;KWqhb00`O$SEyVlt}>eV(ptv_Rk68m`vin`@{RZ?iK5gNbZNl zZ==MWA+OPK@;Lq)s)6R!{sy4m2AY)8l+2XjnX&M-(?GIXy)Dh{?|5oy2m1wfgHp%X zFS?CvWfLY~W( zzhkxfW05J56C4Df=O+-Rj1)q9G??Uwmn(y-;&^ipw-Ke3nt9mN=?^%|0aI&!$A5@7 znWAkrZ)waLTR-#!JrAHjQpd3$$PwES4Ve-9*HKwg9Vn7BS^&`=Sbkt&aj;7~Y90Xx zByi0yg{TtWPDJ_u-U=2!18SZY20U^9=?pmxFi2q5`2Aj!i({p_4q*YtA-QicE6C~E z0lH5{LyKd6mBz>gt`FTiZn$PC-w3~gHSIK!?I{4(apSUds(>9XFLm~^85r1zN0a#` z7`{qA%e%z#8|ni>-*7daQxMk>cU>P*>`CDVPpC;Zo51|YFj%DOCL5n)?ERJLw`s<&n_xC!INe5+6hf5E%nuOl!BV z4`kv|F85V5ydYtI0fS_q4**oKctuqVibFt!^YW*f&$(E4q7ft&@c(!<7OX*+A-E`h zxB`kG=S4tNhJb><#uYn~xL2+P=&An7r9x69Ds9T8(20o%dV|%KipXgMAvYffVA_y| zuF{oNRaI40RYg@*RaI40SKJ*qgj$dywXMc3kivVHacQY?F1jRFD4Sf^bUOIUt0wpt zvLG;6FBv^zoEnV|XBbR6_*Avhy7i@dbegaP7b=3pwd-=iQ& z_t#_gGrl#CzVWTuRq>ybv(!xcE)lihsipprJE28yT=8Kb#J3GRV z1KGblv=3bz#dD4u4zd&xV6%}A#F5Z|8^ay|wLqSSn%TOivj7}v)&DGtYUaJ6MQ@1x z9*bX}#O&-9_WWG&bCzL*xY zzf7ac-WT7Mm506LD_yM;f}i@bmr=^__nU~U#O`YL!+i=M(i$Wg^Tg4i`b}g@u=0&G zQApzE^wqm?H~Pa%w3rX{Jr_dvMbR@k??yfDdz|MxcCq8Fif$Z|_A zbb=X?)_roZKoS8MoJ@{#qYPPpM^Vt7Tb-tLSH1YUWZ)C2+k1^WcqhC)Q6xJY^aKxF zbkRtNC@6}o6bdAUOn?(U{E`<5`;*4@AXGJkh-n9i><%p4oriQtmCwK1<7qQbkLgIl zAfxy$V_h_o&7LPA@p=$c%;wXTt||=%J=RYft_pqNbcXO(Y7GXm2_r&X1CIda_n<;l zK4~xY;3-6bB+gm_%QW2Do@&-goABhy^+Dgz3hgf>pG`tSN z&rfW248m^&&+GhBr%I-Yeh5OqrM9lPI%X?xS*Iso0rED+5Pi7YH;q7}=%zk^A0QxE4l=0gmIOoWJ$7?F%YJ?D#* zCxl3ByXut{7teNh4ICs@bVQCmsI4Z64F+nO^-(?ZBN-YF7hG|dg4yMTD28Xj$kp5h zY6ppJHHgfeJBsmT#FjjfQpE*!CRzvF$3s@(V{zZ-*9WJ5UT*N^s7WBBIpD%*TbC38 z9w;IrBLkLkM;7#T!luG&eQvFd(!+S%gu>mlm@nj+V)A~GQ-?3<`XQ$}|7}mYtsabR zogl}l4Uj?j3it{}Uh;q~crpO3hY%>B3KGO%;GJ;9b+RIHdmUiNJ1t&NX2fuS2P`|g zo4i|)dX-e(NLY$80-R03{qAg%dr`GZo@Ri9rQYgccD%kiNsJyB@c)lIokFO5b-o^BwndmuY zK~Qx*2h<4NFJ-%)N7;za3sD${TayX}*{v*K>AoizAliM1S!NzU7{YGaw>bP@wxsLj zMHGx?H{g?^ERy^17^s$|8K)@?uy@X*(8?hc`2p z&fc)GVcgX!F^ZY5&z%31sitELk!)eTs8H;r5@DW?5;m=f<8H&=sS-uP9DJRIj1pK- z3Zal4PeIvKUEMn!%#MvLRiFaeot&{a>KzI>)O5xRiBA;4&%?Tow$XE<4;9h~vM7h8 z$DZO#>POrWYPr(m<$Jq3W7EkY@g3LwIT+OTmX7fH_VxjlTatZm!|3=y_&wJ5x#~W0+SpLq_601W6j@m*cH+@;FN?%3 zz0piYDG&gg9BCD>gMpc=gs|o9KwHJL)Qo8uLL%wrxcs)JrMe>+60XBxaABP5SG-DQUg@zn$G=`&EE2Geg=@ zh*_5>0gm(G*0Opm8o~5bb)dURlhKv6Ilg`LY0+N|IoKvf{K(kN2~^$$cf?(yq|j${ zbR{BM6*E^3Nc%7%LN6kG96bL;k$1ch>%>apv!EPhOR_}l%)BW{2%3}%v~)51_9Brt{$$Ye|KE}PEZ zJpCrYzlBJk`Wi_c0wksRJ;*0<;o@&B1q&FP>wiK zj?9>rGd*zqbP|L-ZZWnP7t|GE1=>b%2A~3Hz!pi&4*-u$Sb>1Ysx0wAz{brY6hlD> z7@^alT5X36SAOhoBj-rAJ!%I8xQs+$@75vjk5rPQD0tG*jLxH&{i*WFDPrPhAA%49AX+)W@c4YRaI40RaI40RaI40 zRaI40Ra>ZeT9Dw_mnfEuF$_Zx$0M@NU{wT0uwLtw=YC8tl0=6u+4S9C6XR%{kKE%qeD;DK zYUA+tQqIKEt7^Wd&#ex)0C2ogMe5aog;ni_7D_OyUjp@oUe~j0Uknksa|e%e zT=%t#=Q-|Iz3g+wvCnd`&mPvj`-I*blfgHB4i}Wl#AC|2cmACrO!3?azi0*?{J7?P zioT=V-C|^osNin7V?>Qut^UAEg~Aw(eVof$S?QALCuJyaD*Rc!awe4%a}q+33RF-f z1Q-Phz?2X`DFqe~pn?HI6bYEnfjp59FA9fy(4OkQ1kc>lLsZj6QB>7c6;#zzRaI40 zD3wICTDW>?yi5)a%Uc6J3Sp(oKOorU*QYjL|3;bY1eMP22d+D^dIjI_Gf#BW0$ z{Y&7En>S(!FRj$L5*m4CL`q{Z(bK#&j#oNH{qMCTNZ}DIgi{dx)gn!!xfZ8Pv&j^t zV;`~M8ssuKcNQGz9tDR?WcOBSlwf8&E(S`|Jv2seoxO-dNskE~#Oocl1ic1(ZBQ=B z6EKb;>$`pqun~@;12R5}>sUacB)h`=;6y)$icO`Gwy0wz_$pHsN z0T?wDNi%~*0uHv0gLFE^`CZx{!ty!x#5!JFkgd6&drD{sanwXlMFkN3I99G`WuH=)o}I8D=Iae216h?p2SeOL#U zJU4Rv!R}S?0Ol7`y&~_E|FCyJ@oVRAce5ag1MXAwq%Bo9NZ$q`nu0F7QQyn5w?ZZP z#F)T-c?hWrP>RS^%82e6ud-Unc)?-TqVblDmgpJDk6I_?Mvta}+X4ymH4<*B=U8U` z*EW8;ae9c5Ct#$Ml=0VY&ck+;jWM5~{M?OAn^Evak9K}?zvkCk?NrlU%BmS68uT!b z0(t$Hb8l~dBW|a2Pc_PdN9uv(TQ{k^if?qM{<$;;?&Ew#`>Qd z*=chHUZaHC7$EJU&@e~HKtmIa)G)?V z2_f<3U(c$lTA`wfs!>I%p4Z|A+!LEPmX-pIFOwxCHy5|gi)Y!}bgvl60?O0474Zx- z1Y#hFd$mG2<~kFeVuGj$l23!>ZLU0l71eA2-|x*}wtns~gbdIiZS&-3oyc3RN6zx4 zzcvMEv2^F}z+v_g2bWMkG$ZU!TvA3CgdmI;lIS^+w%0SEnS zdjxrdh8r^VTnj=y_zVyLEPTk$v@j9<`i0&zgi!Pz=E|(*0N0@wj3p&woJYj{@_Fj~ zH+G2}WVra9(Sa8bM`j}?24mWS98Ea)+UmXwBz|6(q~{Ecp_Zejm!Qf50QspcTKhdc zZ=I~0=IQJVXb1p6fJ)6!)w3~-cUT!tlWl5bw!GhEh5h1aj_sFPeBUD`+5Rpu=kmd+ z$7Uh+Jz56cF4l#Pzl_X4Zvza^nP9AAe-`8FPyVX9481SpZS}uk^m^`oFk5)~kmBr1 zE2$51&9IlVHdLjuhXvNda^e6p%P*u0M>$l9MeEq0)P|+06kB` z?eYmHh^*fuA0Z|zUR(#SudtxeV!BrIVqcrd6eKYt!a~G#h}JVPPwE&p!G(%IS2v`k zxBR=DyO4+60p8d-UTVGPqyN6Y-{HRS^iFn%QL42TqO7(`M!?l^)h>XFo?)$!hNm+D-FK=uBSITm5t8Y-;^7xrMWKSll) z2(xR?2e}CJ`Sp9=Tw22{6!YT3#F1?CEUB^UF(0o;QeN@x0n%-dp_1C>rTe~pm$jxHqf1efr87&|9DsV(dS|cSuDP$mA)<$3MiCfb zgCVQKTa}g8PZyOJ&n7$wc^I!im8qw!iv?fChWSl~q}N+j222S;yFlgx;SkY{Ur zas7XXF|r{ZMG7eQDT*GgT+r2M;{@ZXA^0w;Y`;<(hoR?sV-RYAp{~<6^RpSdO1AK} z7B4nwo}DG_SaY}icnlx=+W$(PGxB$GNlwKLqGA$F2((ohoaT7SX`^=oQT-$)%&6QA zPj%#Se=pjsgZlv*e5m?yCu$?U3_i}(n0Axx;^OThGEIsarGg-LKXOG%#3Jn$=;;}_WP6r`8 zpGqIk#Dt5K=R*doowUpvB#WB8!2v{woqQke^V2s;!_m;|^wz2gTgZ8md$jV$`@A0d zt$YY`s;g7}p!|bFD3fFFFVRpya)_`&dW+Dw;w~yI+&=RQK0Buib9R@UN?VO4U*oKl z`F8LX#f;h*T)=0RRv6d<^Z(2G)o-r>$vI%!mPG<<9*DpZ*SWz4nEp}7GnV%`;l;cW zT7ZZsyi5FubF|EC9{4O|m;p;m`eFu}wd)f@fV)6@TTNFprpA5l(T~e`ygIv`r00Xx zwVA?Fl^=(0MGiH+itU8q?e%0b1U4v8Ap}B!gf4Ny-n_d2ICvhdk+}PkH?7Djx4iv} zn4O--H7*7TehOv9;>gIdc|vFAmykoaM4h}|;PBaom-krnR9~>%H?I5B#4BnXR zl zT803M08Se=i{8#rxHA=0nm0LJGcAZMkY1Z^Ie5Zm8x_U)_B$N7VV8n90IB)GA(z^l zK7s)yVMlDeZu28$>TcmL#}F$;%+T5{(Ncbfz{sZfE-C0fi#N<~t;^sp@mH!@bA03? zd)5z;`XY*okSS}FXr`)UGv0?q=jxLiqd2iySi~pliVcJ7(X-}1v5Z<aE~~HcKH_M_$Y_h+xJcN{b!rg=W3}v>VK>#>bBuN~GUEig(X(BEVL#STP%#hMD;p zQ};26JWRoBYQL-&Xf=G$86l(tzi=-^zb$|7Cr+2-L#^h*vu@$%*e>ODN zS3<6U8HO1!!o3ksY!2e8*!J=43OO8S-&gy zQZdH(4t)$nB3%DXu0t@)zCo8Cct;^a{g%__gFrzcZ+-IuM-BcFl1BDi#KwN!wqN$e z=;&ouL@+QgI8MlZ9}5i{M*HYfC94vIMncBt&Dj3@)7!d4x6Q}+DYC`Fr41AleWiGo z;h1Fq?HpT8Wj{RiAOsqE)@-8Fo3zP&sdxz4Tusmh<+l!CZ#i-r-Nf5x{i;wvG~5BM z@j6gL7U_L@&P)qdg1HfQsc&_tUhhM8I8}H5Z*yMdbC~Cf_dH|yobqqgU_;e#+-Bxjs4g^9rmCH?iI;_LMRPzJ3#fmgzGMyPBV;DzX{p(Ek}86T1*qloxw`k9Nqu;>SHCQi z9AqZ!QrFq>_@zj~3awz3RS9~}gURQrCU`O=U5&QZ7Q_}|EgynbiLDc4z-SLy14Eb9 z!_^RnWQl;6K)`h41Op*&Sr=%$vx@JUcUIGGggA4no{a;MH2-gny>dJ0bSh#1mgNyu;0e=GAnlg#t~H>$bL?fPlkOMxlc>A99Ez$>8CEqcgZLze^r zoP;VeiWCyigs51(NLq=EmL`>P;UOqXX^xXiw5w?@rj#aWElS>^4j`&B~`D-f#IXl*aUo@cfS!DVfeO) z$?PiknIoN-wl4SnFShE!K5Fxn|Bu~E)k~N?m~aG}#m|I4pRHz1%EROcR|Iq+nV1tG zJry4XO#TN%d{-JSg-KC{=SI1VB8LkT7}LEvIpD*86)i6y3|3~T6T$H(VIn6AuL2a8 z3WezFquk6D{0!C9k#1|2dn4muwnIwUo1TrYS79H2D3SGK{z{kkHU4hz#*5CAD^JY5 zaD$O3%2G6AA2s?O=8vwD_D5;1{+?z3(5+Xzt6Aa82$>M$8@?fwCay*^0!g=DAn#$X z!$poI8F1(XRA{@SSlgfu#V03`9gt_X&t>W_aI!uC-}KA4za;wtBUw z^?I(Phw{jsvVKBwCPb~S@c{OQg7e-A83cKhJJUcfF$^YPZMJea_^IuDjei59;8ND> zw7p*o>9P0B%Lg5{oT`)qne9Xv}1lirSCs_=YX_Fp;@;M%m>hdBqLepY_ z`$9B@0XT3#x$Q07jcHiPuzv$e>Mq;@byGe6#+N>Ct%klEhIdvj)fY%S%LwNG7kKyf zD^OxI*vVlIA1UG9@=$4e>w549@^@CVbbr7aolc!CFSFZ0mp)g&+rLyfTR!YFDX6iq4~1$?aP|2R!@Oj%^bBE%B;xpY6FP-qn5TH$3!mRzFFsNRd*FQbbM$(^SmP zygIE7hxYviSN=G`ws{-vqhL2+)R-J>Y##FawzR*G7MzWXsN2XR`jkY=4+%X{2dPjZ zBF_&IlHT@s^K@pQG?Ha*12qDcdp?$2I#lYXWwUU6WASEtj#ZKV?#6lt5$Ar#?76WL z`QBVcP3@gf!bQ)_lfDi4gpO z!xZ&VOH8Ilj#&t=$-#x6jWYc|S|bm%sZIGk?Fnia?}NED7`g zHRI(#G)WbjJ4qBgTW(mv51)t?C^z!Q%!L@Sp@gDZZx+a^;MqohO<(BlZ)xzfeI~fB z3^>FI{(a*cW5tMXp_beYGF|e1_#%eb_q;4c&vF;5BYpbi#`HAd+J+-x`)wA)O=Cmn zp-sO)2v>BBksm$ z2rZ(Kqc)n#Y17J3F?utj|1Ap%jb_K1L?~P0p8Org6iGV*rq3ir#9}yZ8js9~koer? zUY|9SyKUyVh>w+(p9+z5jrcgm_3wLL zwl(0+f}z?-&Y+B=R=O{vHRX@b$FC#5K_G;RfM>OMZzm3soUv1U#6xMeT+J$4Aaamd zFeKO1Bx4C0t$s@%{)}C~?1w+;$qe4jW*6O7%M1ms5w^5eGho{gn@-=b>PNIkx;5mz zi({57P0pjc3HF;Tj9}6)P}?Z@xs7D*WB4W_v)>^e=ECxk;9whWXQ%oP8u_0(55w)x86R!_bf~{ zRap;#E)>l0p@fiew|;<;@T$JlNCVu=K)y#`J2_~;pa(wXECmpR6wPTc5S(T!J;#0l zv=n2Icem`^96v%IAz3`#QIXx^|5LT%mB z7>|rbeGC?^a<;a@^=Ymioxt8cZi9Nq2r;ddXB>wq7=6XY#|c&;k3bOS$=>bx5cSeY z2lhZjH81k^@HZ7pLU$GB+?2&3V+Tq?_>qq;LU|WrkyhJ-}Y%wi0QE7qQl0TIud>+}g451NiT3sv0Sb=4DHRX0uxp%0p9U zP?It^ED;;&?#Ab*K5Winf)2ZQUPv8?h9kNN$VQFOyNO&5wlKOa z^1n>&X28O0+USF$>AryWVqUpho$O85?*MyU#}m=x?mc*NUII`eLWHR|(57<8awO6q z2v1HRAI=~e;#fk$7C%PmbhZEnei7sVdIp1jh%x{_$aMz(DbcjXTkhUNYyddXg3DQI zm`MJ6)a_fIfb9Jl*!7uMD?$51&4|wSLgDOgWLii=z6UFKfx2yMui!9Ydl&swGizjq z7-6})IVq7hG62a{Uk5K^C?d!3$8o+j^L^b>z}pj~S=0WouEX!RBJ-XWxDkYlUfbu? zm4G8Y0|>fZmh+ygTa%RSX%*SMcXP7e@H^378vApo%1hOpo|6j)Be&D1Za<*R;m#SE zgv`ihq@huaRwE8`ukQP~K+;3k7ZTzZGSMeA z%fCqUIHt~}bm5@c)X87aB(ep?@!{o77H}=dH_Nd&oW6U1s&mi%l{mZJ67M=IK3LJ8 z#i-(L+~tXycDJ3$84yP35QHEhmgotjX+hQ}P$g9GQ(~8wT0rUJO|L#v%Z?-@4#@S&Q zAygZ(3+P(%^B#f4g{H15D1>Miy{lB=VAEBF&YApO*PxtiD3?Dq7`F}UC3n%zz z^?ocR&ZGXmMXJ{?RMCMTsI1g_f@_tJEc-D#be`3mk7dwOqI{)FQ3xm(3Sd05an9GP zAD`_%M{?us=JAvp4V&W_rxp&8hf*`ofAwT9xafGTrm!AT*-r^2*ckKy;BW;Q)}WH8 z=F;AKL55;xX@IYyq4(yKE~Xm^JFuebx^?>lapPQp8}v-LHt5Nt(L#S_2RogfJ)d!Y zh$c3Y+e1lVH<4!0>>x~GDp8dBLIu&$9B#$2BgeY_J|14LhtBd?H~c6e?*Dx!M&$d# zR{;z%0T=d&EG4$xO$n*_q58Tib7YxuR0n0tX@DC6fX<8nNdgZzrw{085%rft$hS`k z;hRnc6;x=Mc#XJzgph8)4Y3n=8|Gd2*U%Gz1$jW+Ap`cS^zcZ>$7e|X!HVHviODgH zVnb3I4I4^;HE=s?Z1YF&0Hw5QH}`6(dmV@M-r0fo1_1Z+-5wii{i`f@$J^$vtPy&T z0T#j+{fp8?<;C5M)Lpnk;*5w8@*2ykMZy^ppGVIRIS+8fX1Z!hKSckh{zY{snC z0G$4PH$WS3*u-A-mO|Nf%Hhy#w;+Z2X;e5qH2~GggR^E^x<&-*K7TB7r;lc9!v=>l?mtBLp=c=J0Sl3%W5lHJEWBUe)WBgXZ4W|w zWa{T^ZKNXfC_P)OrKI#e&Rd0H_cQww(`OPxED-_=ZLBendzp5J^=E~^J&WCm0rMIZ zdf2`neQn?M()hDw{+qtyeUFQS+GGWg1z-yx3+SjuvhHng7~9wR61XUohD9XIM6gQJ z4@HM>qd(E#j%+hB_g8$Me4 zXPt4FyU-!qIWhrXJqXE zV!YuRZ$)Kk*g@C~wRn;WpjD^@wkolHmuIAO%n0Yd}Tl(KqSLj_u z#I)RceJ>v|-vA5o>X5TIfZh#)DN0a)x;I#g6j)8_=}%?KLfA!7UV#m{3!RXntHM99 zBTAhP|Lvoy`D{B_jm!FQRxh8uwOs8VNqlu@?UDBO=ZQh>caLM{950sL!Y{pH=UNNX|q3cTnkgzEZtqt@uPdk z|vY_$;e9sBt`{e7`RO=Mo@oI{+An*On_ z8oSH+uFj$}&*aJDnmw5EMe*kV8sDoS18Ou71dw^wa256NNbES8Pix~xkH)*aTJl~? z3bLeix~EQfuGvjQdBERnsl^h(A!a=O3d+{s)Kk<*sGR*MVDk>7jk~cA6hV}|%okUB zV>=QE2-rU;Qnz^mQ>n6Lbz^XwMWtAV)|`E~hA-ohgXE-2h=QR-G?PTL$E|TdRaz`C z6i@losd!ltRb>3N4$5jtFj6SW(*0lik)9G-jtXJF9@Qd{4_E!St+#@BEPNslQ)I-*b`CZ`i<~nVV-tf*eNz zN~}yNy?2SX1?}why}#DCk?uWlZeW1X+aJyQ zmtQxNyyhXJsR#^(g|N8~s-E&zx06%0A-(#7Y>LDhEw#zRsySrd*sR=nVi@=gIkqTJn#hF_Qy>2#;8&h%x}443Uo! z8AjLb>#1*Xm#Ay!6^JjNc@B$1pB?^t)yV2+ZJLV|6y)GNKpZ#>FK{}L5dZ}>6^y z|0;5sj(ONt-`qcgSXzem+lLs=)#MgHc-OFFjzgR}PLKI9hs;z?hQ)d7p)A%=LUFn^bQVq^lo^ntU5t;9_Fd#TLP<+aj*rTB@!Y`8>}t znrTQgN`gpc5Lj9|C<{Ymg;i`Ml#m%|TQFpnVP+e4LQu$}H8^ds8tTKd&5pGbOMn;0 zShem>V-z<)g8N7+0U}B9ru!&%nZO%4{h)$d{3N+AABeM5=aRGB+S5!lxr$)%H19RQ zndpm!lWPMrT^xdK4ho>-@LCoj%F{vvucP*Q zt|#%Xmur>*!&=9ElHd^!kVxFr)5W%!CZyPNJOvDB{0)No?l+blMpvS?rz$dTq^-#8 za=#D*(QTV(3Gs5GV9YWeGrna@(=tk;oWSgdWQXps1J96y(|~IPk_-W{0!oqs1)yDy ztIR?>ySv1}b9KP&AUTVa#&=ideGWUUq1ZXNnKVR*5 zSs|UqoCHWiBL9n+=|1iH*h9#aumX{7znP{sjg!e_P_k3F9mHzZG)epcno-vNc8Pta z1p}k4_V3m4I`42DS|}^WYZv7vgg4NIxA|reL5es}*v1>ob-VzBYfZKw5qYcvcV96P zE|oXGn|sK@Pj`PxpSj*|iPE$8b5H;B2!XJ@k5v3Tm*+>r;7<)yV*6s-``iVbt0g2( zV~5*o{cc0IYs?$}b@71;9G=?NZp7j(O_FR7Zgl;fYaq{ea|#ga3>ivXzD)~lM*J&J z?eHZ#l*BQLq(IOhSSNG_@s>qWFhLhTe&Ngf9~bX7tBdQg&Bo|!C4YPkz}ErDBDlr2 zQX(Ky1j{w#SHG4i^_F>29=;9;Hde%Hnll1czRJz>yWhjg^ISVZv?MV{}H2+(lc){@tCp#Z<}b-pF60bOz&1hs8+2h}`@m4jWhoK={}L z-B=I0g*=xgIT;?A26K-R=G7cEPKK~FYZWc*9b3Qh!%mR_VhEzewx=r%r296`Z}|)j zZ*k7*a=bq;sa)n;uO4z%%ei7v9&Bjd>|lm0thOmDkEApwqWIW+6fCz&Otg;C8K%jIUd=0t?f3V>GxyheP1QzQ$tg@4P*bt@XfjpX!PO9feKAzE^g*0B{qXCU@u ze^dKC%`W*2*WzKXQ`dQ(U?0{0V}>C)wut!*qaA2LjgBl{ajRqTADAR#1|`+Jy;#tG zK?tRA-eu19{dnmVy%YntzG4TY$zc4c6P9fre0|f?Jf(;NK=UK*-Q`jo%n}A*2rTaI zZo%E%2^QQPf?Lqw?ry=I;O_43PH=ZwV1dQYcN?cFa{=??si~={>YjcdxK`mn3&SdR z=4h*m6l7=PyI@<>pP?DJMS%qNPg%(D)o3`x^>l3trMiwsyBp$FJHBr8Y#%P4>pP@T zL($w#%GT+tUU%z%mX@^gdZdRezWS4tKfHY< zBT@N7yHWY+LNSfG)0MsAi3GLCpw1up+&M7jWmelulh(Q2Zj6_R6zCb}3eq-) zO_DyC$_Cfcyg_Cm4U9Z6z0CjQze2<3KJ4+W;awv8)~@OZ+WM$CVx1bvMNQMGSXI2@ z-aAxGV2*(Hofx<|y?LeL_B_@05%44lfA99pK4DX&Xw%o|oBo@8Hn=1GBGo=6%x;la zqTg}W1Y(d>c*-2gl9p5Pvxb-4^eK8MOPLf_7TnF1c8sK!OYX{bRC<(v9;|=dr|n@r zG)CatK)ECsOkDni!XAAQnyO~gwBr3B&DeVEf6jVX*;+dGDWXyci$9SjW_41DgmW;I zN~1R)bD;w=sI=Y)bYF8vqW@Pm9?*ksPBRdZ`8}R0tKt<`US2-tC-v~*p3tjWX`-5GHnL1KD(@f+UQc!7>fQSg zAm}XG4ra|0$ji%k0JaXM+iJPo`bVlKC`rF#EMX7iQhMP z-%NfqjbITv4KH$KvCi_XO3Kzzw(hm*z|zLvT~<~(S2i=PV2z_`nYEH1_3})NU|8;U zU>jdUoO`nJQ}1zpXI*HXv$FWs#3O^Boj zEGKtsF?Q zTR^Whe5X+kWEm0uR1~h^ps>n7r9z(PejvAO*M}EhT?2V(-UpgDx3Ea z)|wgMKtLSPMtge3PAj;xSs$6J?RJLKww2slevK4E+LQelgnDOTZOwnU*(ax(rThB ze9W~z;@em>n4d-&PwCi_ci+Z!tl}$3U1Xa(E6LXDeqy~KP|%l}=dyyUEjtdPOhc@n zTscMZ`)~nff?&9bLFd|=NOGcVXDr~&A{c_rM!~y&rtI&>-4|sP8reFBJ6Th^{K^o` zKad1F*APtTa4DnW%U}T#Txz_;=*L1!T=u-YZ2Jl>^(qGmsplp!KS)p$gwEPM z2$dJ7UPTdUA0^Ft6qvu)bpcPMi59*>k|p|#58>h#DS+HU`$YF0;%*c$9dbZLx_8^S z{Wf>ax@2IpPOEZ9w9lg7s*ekS{MyJklg~LweoR-pI2I2reJhhRUk|SqY2ZB&Jl3}+ zo&gqqqt!CEAjhGrm(bsH=0RK7I#cjR%Jz4ntB4ZLk{6ZkL^0f8bk{!AUpIU4ZPj*> zUtm^0Vc}c0py1b@&TEEj$T@e_f6xmP*Y7T?o&GVGqY}@423V8CB9|vKq|M<>7O{{u z<-*pvkOiH~;Qq2e?F$FL^JrzL*GkLmlQwvTiL?VB1H4f36BPU~G`Hf>11YI#6UTrZ;QOcFNK1*lLU!9Xkg}iPzep`_% zLg{m^?aBtpsODV6dHmipNa9hugu$ZlOUgf~D+y(1-ttv`rk~VXHN*LuF zP)v{!Q%?w0w$L}MAVVrc$a(bO(r}WEajJmzSEpI6CPIsvx6Os6>JpAkFn4CgCK*mE zYl-R88r3kL?(n*yb37m?5rt}R{w7%81m0l1$XWXx2`odeQdUGUvAmb5fkp&>!O-Cjmi75X67dJGK>!6` z>h8nvf~Ay7DL~!Rsk?3+^cYiBp%kn5$MDEs`S!Kf&CQCCX8;Cj#o$6%qgXhG5gm;w zQLu3$Rxhmt=ne{ zXGhyw&%r_9rj5#5JLdFF7-N&SvNNu0!9$(`hnPe$D#f_LuSvjCCe;kZ_ow}bal)T& zwsnfKippyk4BS+ol*#^lgkZ=z(k^F?>#(=>?V9GoPE&{@=y%J>bO7jQzaL4kYc;Yv z`aLOX&-m8HGxNrVxrwg$n38i?{`l|}LLCwV{P_Z)W9myHt$D)a7hdRBhY``2D>Yg& z-{895$=M>iKaGmJ8&`D=G7S<`mn{VFvSq7xZb^G>h<=$bANLuO_QV9`lJF=E1kmHi z5a8VZ(&FBQjRHXH=yJH8w|SAlBXw&vTLVf9{r8(Nd&p>lXh>WHH`szWa4HNb(-TPVx$eG7JMsgQ@a(KpyTQ{ zyA1q;1ur@*d;8{A9+U3T+%eGdeV2hjDHlGBFWu_C?_F||)XtLkW*0*%DjnEk$ zdq{0^fj}iDi_x|j@G|*ke}9dW<#lsW)va_Q=CuS(iqUzqZ``{zM<|5Ccj@!@vti;2 zD0m*2R{#4;GV&kh931qXORo84VWOsmP>}_3xmKGEME6QJl-h5qn@)&5#s=Rg*)$K2 zH8e{&u@%3nrrK1LSrwM)R_G$ANC6}TG}c1qX8>#eowfn4!(5n@1bK=J;d1r91!bW` zQ*s_AF)#IHIN4%aZUa=v6+3TQr+f)f$du`$-x^J?B-aaP3WWERQUmI2pGJm7$L@a| z-)ef5X~{}ljN))8FM!+obyZ@(AgVe2bTr){*!GNDO^eD<92u4_-xd9w!x}^HZ75mO4d4LK6Jm%CEELl`?yBul(j0v{za+-DJ@%(jiU}WnLFu zh?2d?+jkVTEzGqy1GoJsN>3d$?mlUh=f?L}0zRF^vqMoLdG-DOHDcsF!~j6V47S!I ztKF1+(VHk;kTtEOQ@M0p5S{6y1cA@r2Q_dPOFxUmB0iNhoSUr{y4@;2G^1;0A6{Yn zu67KLZ~RMujy>?wbUba)>~oJA0?`1nGE>#!@!liD*1FO@r~`8Nw=Y{2N1^iY#95yz zr~UVU{deZ;8=QE^T~f%TmW{8wq2fq^Gv+k;-Hz;o)+@k_a*p)RG-cTSjFI8(?fXsy zltJ6Wj!6xHFXTt|M?>$MAyg0|D6Qi`mJw%5xq_*J_Xr5o@LjM^Fg`fF1`tegv#^ZCcggu{RK{09{-mW z;jX%b(yT}^-Vw}^!*WsLm3Quj9+94z3rtpveB<;T9Aw|Bh{SWesQkTNcR39xE4^s` z+H9h4wCA;2$mk7fR(X`3O|#v+gH-*3th)i5LO~lQViIXs1>LlgrFZba(cd@=KUuny z4mJmr#>Z&8eGh>jFBT9dRrBaWgEouy>a)R(Ic8GZ1;+z-$%eYDxM`90_#<_dpXjFM zF^<&seBCLzTd2>RHjMPxgYOm(i`Xu63a?VU5fVH4dciKwhr+HANIkm|kxLJKQv}1D z)UsZ8VApyX0ua|BIkzI0EGd8GWVtYJ_mKPRI{T+nHaD#ss}?TQPnt7tpRO#g?C(AA zk>uvDvfF*!{|MScdP?XUrKgj}G6J$nc2 z2S4>Xn|W9~QR23Vd;F=^VS4L8sRD$^I9=8NL3y>6KR?jB*Ghj2ceyvv=`~e-H^0K{`RIEC*~N9;!Q8 zEbop;{jkoc6mihsResHw`YKGDh^uxhPC(^ogw6%`&bhO?h^;x)V21~rPixx?YRUZm zE~4ldBxjG?I@ivCr{^N2AS(rV+y|B<-!s+PLpCGDz^9zG{6tp&<*+1zTU~Ijh1C3a zE-EyFx&%+Z12R@z1*5Wu1%XLw*dI~jL%NOP&T7UVpOsLR{LUfbkXc&OufdhKM+6P= zWlWdKkQb#c(i}$ZXl%KU;=w=iot#lkGQ4Q+cZ3HQCGl7k8&QZ&B&7--6ttQ<4uf(1 z-KkPY$KVzS3#Kx1ak*&J=qA=O=Qo+I>cj1j zNnws;)agxbREF&(&eV?D5LBUPL{uy?jf}4*dQg?R3II%VzpB@Dn5%DBuzh)}6K_<+ z^BfpAM~Y!NH^M=Rvg5wfYcVpQ)6YZ<%dgA($iKOYy^+(CHWOLQPZ3Q}Et19EosJ8& z(wOZ#*%j8RGmLS#No5lV*qBFF&u%V};!cdDAhy?Oe{6R3GEl@1VSrwA7#?iP6!gSe zM!vC~D4nX99ua*HN9onB`T@fl31>scP8`@&%cVc-)r6^|n3X8^S%3gdhZfN<29PF3 znjC@Ev~2BjP_{J6cm|nZR!9VdD8y8&JsB(pp}p`kb`x8mC@JY&Za149XUaEmt4;aO zSE|yL8mFN3ACmKiX~$oJV+caMF$FdsywJ&)?in|Hvbd$>(Db0?7KHWuTT+r95ml>0 zszOSTBe0U-`=VDLrVW5`L9D)+-zD_AMUjAS#!#c6 zn=UEAXg8!H50DyN<+N8&2S!m4@`xi_J^W1KifUd#r0A~-!6(OWx7wGMA*AkosZ7EQ z1_bw6!BonpUocC2^J#j0Uovi>5)kOS?;*4`qCG{;G?_E%hYAzznz-V_bw4kf1F+5* zX2icJJ%m3mXC(IdEh33lYuFN#T!^ru`n>zqjuZ+UtM za1n2O2Hf??Mr zxbAObTW2YMQ9zwbNolp!ulHXO2J&Cc3HM@Y~R` z;}gsv%!<;J`2T65!HKA0|1rYbt4F88lR_OZA+=ioIhQ!#1?S)4i$yy?AH38E@>t*B zndt|yM-$u~-3p8yVaT7lV(0i>ib^_&=o%TYRYD1fIa7&_yQBBN_3KFd0OilS*D=PUMe!QRo8mjrEK zN0qk8R*UYCgmP@PqNXEq5e$l_z1OH={QlMxgnIhN!$&J)cnDwLoSAXD;Tc);sSEZJ z58cciVz_2BE$;GlUH0Dq`~g9x;*v*-6DZt-=WW@lMWdYxjSD0nV7#kinC2u!)Mr;R_V|N6O?~P9vruP z2pm3ZA4A)C`e2<>U{A+u5*aA@BQV}n5CXkCT!S+qq*kKc(R&fpDEU&YX{$)~u_Uq0 zwwyG+#KYF+9|JEnpA7CWgD@-Zz1n9?aeScZlGIF^H}QxFrX96vr{F2PMRth|)FIsZ|#K_rYZgG!@7=E!U8Q1jw3y zcscJG-+Q@kp_F%gtPW5GH<%@-;==UAI4g0MFjSarY^ANcXnd_664*90)H~RDisR4I zB7&XE!1W8Y+d#_UbHTwEbe~@xME35{v#;>U%9vu{X4QUnZkEDQ4T2U8`C6is3(&}C zl~dPn3&B&fic-hrILii}@XdJG=A!>m<2&8U+*tlGJS9O46K4%+`iCIG@2$6<*BSV* zL%C5H7Fjw>rTbh~PDf+yhL0;PHRrW^NjaSBFu`!uilL3nUu775G+EI~_45{%%2mvN z;o1*G{6Um`pYSOPnru~N6QIu%vz&!~eW4$7Bgh>!bJ(tWTz_Ma87SbY>cBCy$sQS* z{H>v3vq!F-K`CGE#x`xYIV^4N7vJ^NJf;G`IYH&E4tbwJ_hR$dtEdGML!geo|yE zh(t#5j`ZfWF*g1w6HL2jc=$#(k?iByZw+`WvROSV+){hX=X!zj=Ij@JkpnAp@U06S zQhn?EtJmN_Dl9Gxxt!R&w$&96nVZN;#rT`ee`>}+BgNlb7g51E}bEJE_`f@s19XfOC|^bb<32z zje++`Dxa#8b51v92o)O(9k3C{=L6Nrp{Imc9fm{B!6htc4#bDv!J+k2o#?qtGs_PXnD^nIhfNzqqNXzl zOWx5+ZYmIJLOLA+kTy)fvX>U-ro(4zGk*E<1qV&`(Wu`5Qes$415xtz`j<7&ZF)S( z*9p!_11`M#YBEl7K$6g50}>vc`)ZGn?YinItF3j$Tot+We}#STh8!(C zx&+T9ZPi55;inA6;#&eXIQgYWRW2j5zScbuswgX^?GZHblajEh+#aKcyjZDs@onXq znEPg8GRvhX{mgR?IQAU_mPl&F2wbd5JS0Sm;k-2)lL*>0ljF-6DvqbV2KQl8b_*eR z^U6Vae$}<4w{Hxev+zQVhQfwqfP;F?%J0XgvD2~!gdZ9@)`9^Utx)j`pl9)-lMf-W z;0L^=dSO8)iwoKroUZNz5;rq(=B@y)@BSL7NR+@eyPqC1yj0CrT8{1}{0ZF-mrI?b z?)!62?K84cmQ5wKF%r|55KQ&izgBNh&|;-yqL3i4yra!HfYrdC+cJ$Kx1GPUrVX{5 zh04SdhQ%L|hfrT2(pTQbG?X|NCeLr19HSb1+M7}fvp?~iMW{tFJHNR42LJ$K;rB2{ zyZD&8`#w)J}24QA>a

)|pJ89hGp{}N`d)cK@yy3v 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 HqALFbUk?Rk literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso new file mode 100644 index 0000000000000000000000000000000000000000..241311d124db6a6a89610df657ff88c3ebf6d6a6 GIT binary patch literal 22496 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso.pdb new file mode 100644 index 00000000..d6974cc5 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.B71DE41E8684A6AE211AB8D5CC66868D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb32c37ce885a2ae20539b770d99be0a78a2d47fc9b418cb3ac6e343ec9cc575 +size 19968 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso new file mode 100644 index 0000000000000000000000000000000000000000..a13b272a69a6eaa8770ac24007239756b8d907d0 GIT binary patch literal 16960 zcmeHOZ){sv6+h2T)7XjIq%>)^m2z7RaJts9opedMwQCbMYo@fz;&gN@BXgYR#?-Nm z|CEdk7PNstVpEYS)QJI=*at)rLTsAQ#H4BxAR)f&8=y%{`+)cWY%NuVM78kyy?0;o zoF+l2Ter0Dw8!V(bIv>Wo^$`a`{yNbyno<<&hP!Q=b4w=U;C*#nfc3SHyI*wpkHJ? z=)J(V!1z1xDsb8_QdcL^1o>#<(BN6{@L&E71l!V=b;$wa>vK|sU^Een(MCH^0mHyM zflWZduYoXm4bUd>O`s3B4oLg+01!(S0(}Qa{z~%qAX^R``^nTyF=v)0hVsQ~Wz3wd zR7<9S)-oQfR$Ssls*;lP=g-qN?KI=3*;Pm{nScf$>praWPTd`fV$57J`xR3%xk9QE zr%eOVFs!F&;acd2ts~iVsZcItDk?nMp$-oxhgEVqHD#96Kw+ksg*z%1jl^UqdH+$? zfk67;l6>;;q2p7qH-hLr0{Isk!~m@ud|n}E`}TP@&*Qdt$J-I=qMbf=Oyou8-)^yV znV*2WanyYplrDcCwiGCl`G=8@>qrgSJ_Z-_wq4%=D2m*t(aQ9q`b+f&=aePm&nHEK zZ)m&qbv1Uh&K&H`-G_d-zF+I@)pVz(pMsxG`mo4zZ{UG}W36&Y%Lg6$HQT-u6XSqg z#7iRemvk%!*ZE{{gRR#J*Y^XHV+Y61Ks5+tEC{4d-)GuE%9aD?xuvp|_)GPc%k$af zNTOd*$;Ey(&^d6|UFt}3Q1wKj(NOUAM3N7qGqXPfLyN;7!uNYAY~rh+!1irA~&~}o_8xn;7lZDJpB)q;hON(KPA6( z-wQwLKfUwGAM{^oj62UzMs&kl4|OeNxy4?3jYME!1FZI{l6fLqu9&58y1Yx3qaF7I zM?a^x$MM9y)_%2nzpB|6yPvA^3BsvDcFNk8Rx9R_R5l-0*}O_}p9+Sx=~gPOX-DwM zV8GrAD^+ne$7-Ka3p-_XPmRVvp-`GCLnExhVWl7KP+{9*`^Y3>u6+ksf&)F2Ok z?aFt=5-9d5v^?ubMgn1k((p|je`!-e$Xz_WGlFBPiAYZNW+P{O4$lt2&0 zU`kI`GZ`FZ@wCl7wM<6c^TguJuvZmR>63*_rfgQi>1bpYGZ5@RfoFR01SgT&(YR!m zt8mWJV=`GuRm|lF=#rZIzYkn{t=s&2cNwad*5EHRjOte|USO`_y;; zZ2Z5Adg}9h*r7$0PzA_Wg2i3-7bU2%?>u~Hab7Z7_Mrrv7MCL=9M-xS(*uF5ZP#^vzq zaGmAwUvcppT>M{Y{tnn_a`Df(_{}cVwxBc+yBQGC4^Yr#pzqx`1z$Ne-CJ~?k!Sy98*dkx(^O`4UQ;=z^O{=mp#BA$FMrc=O{EU@Dc97xhi0DR7u52BdHTZq zxJ~CYmB*3a0lB8|vlY1cx+#6L%?SMOJubfppaefzFFzxYCYw2xoQTW18;K^xK-^+eS+ca^0X-voN=s@aC3T z%fah%kuCTEf?C-Y-v@kW+zE`Xtma8RrV-dApSI54o<;o(eImC_9%>2Tz0UW&{YBXP z{KB0ZIG=&M3G($=C-7@A{w}>}2 z9sz`WMPR$~-LRs9Cs^|lSnd0-v+%BSIGaB?l+P5TGoP9<%hFjcr8}qbagAA;%oWln zZAJ!vfl}_gfp>abkJbbErrQf7a3bSwmG`og5%>-34xl}k;qRKf@75TW1>hL}av)|f zjv)ztXM?=*;zsNMhmlvnUBFqO1Kjl8=43Q=RvSF~R@f`J#Xj8BC?4bi4nywf+8mrL zaMPGCPrmjZHvj z402310y+KyKt9jE;oAV@SY`R20PtF%YgAYFfw}1FWcqMod@FL(vz>9zv z0WSg{vj_|gCysI*#}mA+Xm9u3(U_U;yL-}%N8{;KcUNCu%8d8KQho6~u}E=hlA8Yo Ds66Lr literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso.pdb new file mode 100644 index 00000000..fef8fd27 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.77033778233ABE1F8DF4DC10896A9D54.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:866afd04ed9efae5b7c500b11bc5e71cf5eeff661af7f2892774e32f9672de63 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.C9C782D1BBE13E453755EC081421DED8.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeMipMap.comp.C9C782D1BBE13E453755EC081421DED8.metallib new file mode 100644 index 0000000000000000000000000000000000000000..9aab17ac3dd43b6bd4de9fd1d422a4a46353fe81 GIT binary patch literal 66942 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.369D88A577A88042FF66C8A4DB9A4FFF.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.369D88A577A88042FF66C8A4DB9A4FFF.cso new file mode 100644 index 0000000000000000000000000000000000000000..f0b5a93f6c4086ec38facaa9bf356b5ecd9b0e95 GIT binary patch literal 17428 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%0Dld@zr}l4{4JoH?@|2X$Ky# z9Z;sDMoIDeqi_!*Q*KACk|{>aGfKxow84Fg(~FszvO5_{W|5Kc(2kiI=x}}NIPEkl z89vUAjO&h%>Wkq!R?N&$fjSXK4f@OQ>ves!Vc0b8iY0Vw&cvSb-7u#>m2uU3;9~dx zzl+{=3?`Bfs{f5ZM>0BPXQU&Oj&)4nTCtrT1)^klw}q(#Sd#ao#w|RMH0F&L6d(HT=rDylO0pM@wtLdZnz{-zaWmRL<162=HJy7+)Rp5bv!N?B2 s#~F!<#lvIv+Hh~w?!IenEZ#X5zH4o7PbeJi?(FOdcSYN$<71TkH?+CCWdHyG literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.392E08DB2C8E05308B151D1DA50C5FD0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.392E08DB2C8E05308B151D1DA50C5FD0.cso.pdb new file mode 100644 index 00000000..968fdafc --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.392E08DB2C8E05308B151D1DA50C5FD0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5c26be66492940ff4d6c408516df4a17db8c78d875281ab4d554a8b6737c70d +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.5105918DD8BE389C150428D89E1DC2A5.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.5105918DD8BE389C150428D89E1DC2A5.metallib new file mode 100644 index 0000000000000000000000000000000000000000..365f817184913de1b4d784de136db1b04c0daf49 GIT binary patch literal 67702 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.C8248FD11EC1733B4966D0AD2A176353.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeParticleCountPerMesh.comp.C8248FD11EC1733B4966D0AD2A176353.cso new file mode 100644 index 0000000000000000000000000000000000000000..d9cc640ed7010137b0c0c29c97bfc062e185d3d6 GIT binary patch literal 19880 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 Jq=JO%{{X}^A9DZz literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.2616FB8E13640920939266A5AB69B20D.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.2616FB8E13640920939266A5AB69B20D.metallib new file mode 100644 index 0000000000000000000000000000000000000000..05e36c69a61758d73439533132a33b2d8f838353 GIT binary patch literal 66830 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso new file mode 100644 index 0000000000000000000000000000000000000000..d3753223b950b2e3d59af7b457fa5146ab426bfb GIT binary patch literal 19656 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 Hr{@0vVU31N literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso.pdb new file mode 100644 index 00000000..cde1e34a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeRibbonSortKeys.comp.5193D9B98F2643DCDDD49DEB24A0B7BF.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:285a9758dc6b9c409b4deaf4d5227c3a3c442a5ed804ddda4e8b6ef7757291bd +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.1176896EBBA00E7091A5D3AB0E2EBB79.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.1176896EBBA00E7091A5D3AB0E2EBB79.metallib new file mode 100644 index 0000000000000000000000000000000000000000..ed78e86ebd86bd5d13b0c081a90d35c845ea611b GIT binary patch literal 66454 zcmeFYWl&tp8Ynuz0E0Wh8JwVlJHaJ^;2vBDXK)QZxVr@>Kp+IS-~-J0(6Zu6;S}FDzZ8% zU_g7+CCgU)_oq)R=5z#NC(epCJ(ky>>})gyg|%#saqMU)Dd|%Dh4256>nm#OfB>if z1Ukf{uApNK0{lZ>2Qd`{$oZQo#it6oDmvQogn&)LzYw)w{8j4dsVWcxUL-3oqVs<@ z0yMsG;EO##M~+7diY$==Dk#dS)&WEi5MDh`TbL)WyPLbU8_d&l$ z*Vhf^WDEPJ_ye|q!g%exot?R1wtw2Zx^8aHp1hiF?zT3(+P0o<-Y{!hPhK4dOB*C| zd4#gOy=-;dU|vsb{XKb*%H!eV6A=~_6IPUylZ8MOMId5)vO)?1vT_hbegsTJjK{^+ z%hK5yYV}tI!Lp{38i3cw5<%L{`43)4KVEY&UmH6S7aKu40f>)-jgyO)wP%0_pC|;8 z>|J?v|5w`Ff)HUberp~}DD00iHv1mnAQeZ7cybVyzDFcE`Mymd1OVwlR=5!6P(t)k zWIqEg0N{oI;-E4h3ARf#xrc~KcpehC-zgQYdBrXd&h>{K%Zxu?ah$@$cBUety zPbvzcc!JHZ9ix&$3YJ%jsQ^&&%K=sKQ&Jg+G-b8I5_Td!#{nNIVQ3*dBMO0&dX(iS zk`I(nG#SQsJG8s9bmNvZ2Vt}qC3w3#v`784qa`$>C3vF@w8sp{`lR zuoSp3JEo5c+y`(VOLtU46WUL^iQq(*ZlHvAyaaE1hjzA~_Mn7jw*+rIjCQt!cD0Xo zv!8Y~ly;nfW&#DgzC*hTrd{u++4~Rvi!uFQ{zFs~9^ioK=YSRf!t}6!!*VeDXa>TN zOacawwALAD))CAj8OB>>pgBOH1q7tP0}!&i!+jkh{8iwd?r<0wErM6@Eq)EU--!FrBeH5|Mq1 zEJ-0HR*Or(i7Zzm)MWyA0xcj35MTr-3=%^KR94kdz)JrBd&;CPBk*QOq0A~lb`&hf zK*OX?#G)q6DI66M4vBFG4Flvr5$t%ta+w?^K$L8xYz_*Af?uRos2Hk45|}~(3`CFy zkTfE^$-e6HuEC@WnNap`%K8^8% z5Yr!w834xgMhyOwBZk2=k+S^H95GB2IV<4bawIkYCQJs2+#QV6&tFZKZG0pN1U94w zhz3$(w;>-s08|8+QPY5cP=oc|gy`B3bOje+F&Mkt0y}2e5LEy%{td#T0uiMED3oSshsKT+MJh&K zG;%OO?vJl~=6K-l0SHbA@h?O11#smMo{d-@GXgu>lZ5D^U##V~z-q9f4yhQiGezD9uv z2XOzKFs{>c{L^jx?|t~k5Hu@9Ohg2-i9h+eB@H6b4298-TVgDx$cv52i{<>u+XqE6 zVmH zlMKNQ82=a{1(+QXx#$LD>1GizD2#4>n+6%6QRwU_v_u=^#S0=NCN!D<7Q_PX>xb!= zqosD4LV(l&o#UUd&VY=DAt=bmJHbGEZi%5A6(Kq?DA6DcL=2)im@tfu zkQDBV;0F=8*fC)_Vb4Ah;ve_nf7ZnR24U)-m8IL=d9b`gyNO^x(@3;DLb5$fY(7E) zVVd$miS|L>f(XfOd8xiZNq|2XVQ+-P@aKU@QKJ&rl$1t^_-*E=LvhcspD;c2&~$!A z>8#Z+YBe3&&nHDJNA$QtAzPa}X%6y44|(FyQFsE@N9^rTH&+E;OPJli8i)gdJy_M% z&g~zFueF0E%-j}OThtsIx7PjjgL2%*E5(2I^^P;KjVvvfi5WoKs#GqTT2^rcQ;R{7eX3ysH?d>3~GbKZ3(kC_wskQHFrhK_lCN93H$>^0_>gL ztSp^%|4dg^K=%9}Q2hn6hq-yXJG)u`pN9YG``^g_f&PUR>WVmS*;;#<|0MyE(BHBk zm5OX4G5^iGjjbONf)oi^dV0aU5i|b?0Yw-EDTIy}qSpm!BIJmFVMhq-?PBZdg#`Xj zO8-*9KeYY@uylsnyZ*7OvZkI6)J4J4%TnIk)631}pL3puot>wxm#2oe*FTVdSTpy9 zLA`7d9jbrJhETkYyql}1mnDKfTQA7J*A-xvzS_1P-nNL|e`nbGpYcdhkWYCT!Z8sE z5>5zY0^tgV6M~pP{fHJJ6G)aXycoa)3gZhWq+tS~@P`vJBU=1}DHvf?6Oi(-1`GjQ zD5RkuSDu>C2_mnFfXPy~_v1#UVz_K$2mnWLQTXLkCIAx_?O~0OM1hDIj1L2X)3{1h z3OI8r0-~-BdalzL1V!DRfuCfow(zK)OLCe9I9@`kp zRha{ba7JxmQJjlPi>z1`7Y^VOQ>&5E=puMnjKZd&@$zU$kd?;}V0N{@$fRyYkhFyi z?qE1=V;E98)IcJdF-Tf4^r)M|yz5Z^@N7R_+>eXS9vRMFj>F%d*mdi!y^Pm~| z^V`R8-NtaWmr+PqQ{z3y749BddnVt>F4Fm%t6mqLX326?gR!SFqrcO`g;Gb&>H+GC(S z_!D;lGl*b@ftZ6iAz2kZBoP}!${=z-wFCnI&WMr(D9eS6d&qYJQf$JM zVo66t4FLEG0RRLMC8P3aiWZd$7ZNspE;)xhtC<_?>Imr|Jrl9&++19t?rvU)1qMb2 zM8twY219vHPOz?=tSoXUpTK`C0ZUhZusd?5EewH+B+@PyEI0uyfwF=U1!NtH@WQy9 zDXe54I9d(@aJn>csG|+Gql}j!m#Dn+1JPmRJ|*PBTutXVE$29`=QwTWIPK>+9SxQM zxOsaN9vbht9Jez?-_8SP#B}^##B>bzpXkq)A)$l3yGY)xK`~7qG$qN+JtLR9R5Wm|_=N#U}Nn%m*z5+HeZlxNtR?chyx7%xZ*CCUz+L9@SwjIjHCLuwe6 zCIp0Ti7R4*La8P~YSQo?fB_}MBqfBI#?t~BD1^b`RsbK$(PF&gP*gb|LR72eP|%PC z00KrB1o_f!g28YQ#f?T3I+(Qs8nAqy0{qxu>mKgD%>S%k)S0pYOw)?{Oa|X1nimA; zmZt!IZm^|@0Mj650stQ1zih>iPskVvh(Mb7PqIZEkZ2J#Vzi6{Bmik+tiK&OB*?w^FjhfK&4`5p&g{?i1QB4{J!LeO?XLjHA! z@UI;Y5#NLbxh;|VB)5yDwVS6OAB2ZbkO$#peP>k^zeFn!g&Aey}W-& z@>)S%c@d0oJ3HHexh-MV4&Xm*f&b>n{O_&X+y&|i{+m58x2L}+%+1XU{C~llrn9A& z9dbM8RkyU(&@tq3{~Pdc{3DJT|8(>5^9b;G+Bku^-N66fzqA1Vzj#pr=C*aQvb8b) z`&#AyM#so|ng3h+Bd%O{t(`4h?Ro#@m%K=rjU~(%;TnkQA8#>-d6^>|l*bZ)Plz}V z%4*A_B1#BA&e#EQm1D%JWAysS#0mgpHg8{VP|&UC zeb^~Dw!5}8g@U&fxGsbDHQYzH?Grcogk5@qrWuC2B^@iSI*M&ji4X;8|MgvQr)mYX zVN6daeVV+b+EwS3@X6MhsEu5t%;8xU7Yx!-wo73X%|+U<6M4iLBj`mqF$|QuIvjH_}Yxv7<6msqjt^Ty>jD|U!35L=F!m?xzEC)`$j2z zf+$;C#V1NKBDj?)QLL}H^n}nb>ie)4r5Bh!yjO1x8x|s~ubEb}34NWwSO#4ozC~l` zZ$fdI&B`>1hh|C+agJJs8v$cj7o;4uMKBu8gjmD-CWs&YG;+|bpCYAIC6Wt+z3So7 zqH?>C4~RxL?nMO~Iue^z%9eh5=9strw2BY?-x353bTa z3FPP6a&mL_2{>mUWrVzdX|Bqe)DQ^iVhR^j!pXEOoNfDtI&Uru0WV}4n9}7-GmU<# zls$DXalGai5W>-C;WF}=?ooj34NiTIU5hmR{cYhxmHxw>P*#3i$pap3(0dj_S*%>% zcPJ|$3c2!BJi?M#T-^u~bu^VQ{;&FrjGH6=6Sr_9EqN_0j7v)Gx|ijO*rs7V#lk!+ zdXkca#tH=ZJA@ohPf9XOW3Do$%4J9B8oa``b6TdgozWcU10IXdvdf+>li;~y%toRf z!1Fu0M_&VZA_@fcm7(Isk6X!oZK#2fkRhUms+$~18M%P;CEWxmFR5_2ggM1Lf{kMCeCU{^8t&i&@^ zo&LYYe>L!54g6OF|JA^MHSk{z{8t12)xdu>@c#!5AU`p|-~RhX08#S&+l_!Op=lBz zYXf-;@c*2)yG-9V8-BeCGQJ4@=6ZQuj3Vv3`O#+_Kr%(rxi7uv%M;wwqlal?5LkLf zZ=JU}xSwM}^KDXW!SmDR<>j?+muJsv;K}+AiO{we!9TWqgEuylyOLe5TDyZ+UVDn? zo_TBfUv<5e3O?yV`%AOUT;jePT6(sb@Y5_zj1wf({r+s zwq4NLRA{=TF12^H1-l8h-*Rm_bt~Gq+B^-EciI<%6}^33w{a4`@ALGTz4Y7%zuGko z-_08;>JIg*^{cfnMM9_h6>r}TdUv{h=vhDMIPJ#SaDKb6*>%{pdDXLU`Q<|>W{>#I zS;uh8kKHrw!n3zao53I40t1h}F}=O=k8j}_FBXMq2E zUe}K;OT4XJFW_^sC%CNxG{L)i*fViRLtkhd&+5}TVida z{d7d5{>NtinRKAjS&!b;o8y})vkU(wfsGfAD^fjYO=s}3$$SXEN+^>I0N9sjp+pqp zFfE7?ii-+OEh!ds7{!o5ewU+`101WwN+)3gV8vJg2h~&$0AQO`#67wa0FZ}LY5}ye zkXIs62e2wdsPjWBqjRDY(pl$p=B->8!b|Ga69g=mp7iXl13X;QVT0 z^;>np&%C)9H)dh5PZ)YU6(lz9X z6E!Z>iqgrXDpe0l=+yF(AGQdq@$25{%*_)LJ1Q^&Waj6HsvE7;t1GDhz<%XQb>KuL z8c4Y^4>wV*C|A9hEmmXJS}RYDsB+%Mk}6**kzYOKJ6mP?oNW0>b#>+ZY7SKJGDrC( zs9XUnWu{n(iAAcIidCmCUn^ZH532KnHRDI6pb!N=@rxt=qP!w-k?!UU>0NnVK>C{Q zs$HB0KfjO$tAmE>p>W0>6@gYw2#M-pg-A`HR*RI*SoO)n>$2}c^wmdTRb~+4vjY-T z2oN{a0f12noSp+hV`EdR8wG7BQT>^qkQoRGD~Xa2pWs+!PA(NRa*p+3Rji~E5g*#D zdiDLM180XLx%F1lHWKYslL<#tb{DE@Jty+619x|gwZ6g8iFF9HpCKHDK5iRAGV^Y0SMnO)i<@#K%c`vJ`p<)}}@qIem>0a3g4k;FjaL7`^ z#eU4No=CU%t6_?MLynjlZ1l&zBs?dZYO%gXR7adRPKkmJf@kzS&E36oS_MakgZ5Vs z3_iHK70kLZlI#n=T4<6I4LU$=bDIhxLVyZSgrkTwLWa^@eaW$* zIolFfQ(UpSbmpaC6&KDP2da4?SFNYdr)9+vlZ+o;MiIBd!OmX87hcNx#m$LnROl{< z*Y>jWO!e0zfwY-|!)LkQpNUAeDapf>?TNwYKZ^Zhh_5j{u>~C%GA-_&$4~uuG+SJz z1tQf83j^VtT)!faY;_Qpx9ZRUdF4F-G)%nu!OY4v-4F$`yf~$>aF|-P=GVKPFI+pcX|JgNtyD4BV!D2 zp%n=noECBo#j@J^vCl$gQ)lp^g(IQD`VY^Oulzft_c@o;RX}WLVI{>ca5ln2Wzw|u zvIBHvbX`7|z({d6*<9ypY)p-sKuPt@xD*ZDdHe@3)`V75*nt$-J~fprChiU|gjRo} zSXC)jyB6!`chLf#=v{3xD8EJfm~J=*Zu0WTMbh*8AnFHE(_+h*J=@|L%)^=TWZu6Y zrCUC5h#ECIl+f0Wv{zkNPzT2p_9Q@2iaQLp({?{znn_#i48PB9%5Ok>Ol4fBK2Gg9 z`SaoxH`(LjH>wd&u|Aow;&b07YFqu9(y&_i(vKc5m$m- zBYP2pEFm6e;bV2;LWK`=w5phN2mUIl3D%Tm4Kw4uoY8Tht9XnSEgpIt#!1|CU^r`! zP305$IlU_G@cdU}U)oA=BZKh_toyZ4X)Z8C5ut_oTLYCCOV+9ONV(S10GU#rWpys3 zhH|8Nc(~1gyzU8mVh$nthnR*8!%B;6_or<-&p294W*_YgIKPZZ=a7OvCvB@pLZPH4 z!r)+7Qn>m)r(MU_rdL4|I%XUjkhGZc^U!GK!XnhFgaI2^r%Cn_x2A?cyR7AOnI8@J zW5Z>jL}Ke10F5gyy#MiI#VB;#1ru@Z$v`jCjQaJ7rnek+ku$Mn41-wd+LeSHb|65C ziporrgSOs5eh9zqKV?ad#-PKi6U3L!W{_O5;p?_>@#v}7h-``74 zm(L@%?yG8kiGNcE7%Hph_oqZr8xu&c_)MZcUEu%?+B}u~mi;KAt)4wibjmwkNE_oW zCV!FYz@rpbS#ZLb%KJO_t2A<=m}izMqQ}MrCRNRc?#yE|iVQNN^p)x7%_7oCh`WCN z$WlGJvyTfq4`5=s3`eX9?C_(KN=mkmr&LsKwvFg0Y?CSgjhZnKOa%aSnwLs{`&LzQ z^RUEy(YSgE1%QYg;Pm906~72n)sBhE97kD`DJ-)iF&ZpOm0{x}MZZCq|7f*J0#i=rv!7Dem0BfvX$96B#y-jV z-ww&W-6<#Ur)ozXNCDr!9!_dTQmwEbf%O<7S;&hA`JY@kGt20MQ!@GQ2a{gHij4K- zPjFFbR|(;k^JAu5DANrrF_bbd*pd%Ob9OHXfpA7@Q>x%RDqaL!-#6Mp9+cp*Dm7>{Pob9l)SIt$srzQsqF5R zu+@Hw6qP=X+j0`pMP@vI(Ev6E2R%Wf9M|arYw7r`D>3N$GXlMqWCOlv{)T~iG>nja zLVEHINZXMU+sF~~a|MjGqTW?fsaUca2Qrs%+}lm*h&0fb6yR#;W$47H!Su%dFN~Yu zQk;4w{cRf26b8CkKQax*7ov5g^?%t7H2fxC`I=+4G$N!=S}Aq` zakkDhe$)8g?1Z-B!X;XC$BEpXG9u6fS3vKzbFh+LwEE*$o?Bdwrw^lQzC%1ZqA4~T zJU?6gv~<$5c~|pO%cioyML$n;?@gdprjfb4km=Ok2p4Zqo%)(iKA=`V2-1Rw%d^_p zBT1_&b_w`(Pw)NfIq#={mugALJGzn$8c(CRQX`tQCz`oN-O0Yj;4mpZc912kVegt? ziPzQ3;J0+lBA(z{wl&kuZV~2q3{}eKunO~F?)ex#7;bU*WomHD?@-(%-vdwhAvtLu zIVPB*7?GB0ql^v3v0vA&k7(8u&RoiO;mW&PGrvy25K)!Fr_Iw2^$#w3yl#NPgQn%S zEj@4hXx4=_nuf=9pWB~N$Cj7Fxr$K%omEC@i&b9iL!dH!@S8&IkEJsBp84vP=Ev#z z_{ID(gkY!*rlV@0h)V^ly*KBMhwuk)tgGj_SAfUw`G45B8WfG*i@b6V67kK`=>5<= z``)sXJUPK#R3?D;H({gOeeeiQ^FT0>j)}&-TUNTSwCQX5A9O~AvtDA@MV01v3JGzi z-ezTk5E^cSmgpC9I6#p-o8aXp&D#hdJ;|j8Q@a|Sr{ycYK??exKCj?C=GnhOX8FfZ zm2oX7_LF1?K8inpeh0a?ZMciNWDQzh|JX8F`8k{Hx~-D(b#LN0s)_6;q;;2dK27u? zhE(0w*z##AMzEaFz_#IlVlngCBYytC?2Q+B=V-yi8Hrug5_Wt$ZrP}Q>Id`_-m<0T|N{RM_9%GIG9b*gQlOP&=W>ib_U~>-VbM)IYMy%`}%~j%jB}-qU$P3spPil-!F!O2~PrJ z*bH5y`F^eKH|AAhv*Yg;XX58oeNW;0WF{bc{kB_%rnQyG7}uz5VV&~bl?4H9v%_UN zvjB5{vxeRDTT*dH;w^l|S{7LU=tl5PkI)J(X6(-&s|nBF6T6&;&cCd&4`Y~WezwsW z{9)#1;cKA8-tU^l35hH*N{s1!<7kB*FrPf)&rYCwn_W z)hx+K^%OMjZZyyuP6eN%2|M`pPGa2{-@iQ%F~cxQ)zUkt?Z3V)xx`#F>A$R6J--iv z^AFZB^gm=|z!pmp`H-fAwyeKZa$SFhCla$7snEN2C5>w1eA2tm@1w;y0*L`CgPs;W1UKxaN|h+v)oF1*!L8u zEvG-r15Bd(FDG86%mOEFgHP3+eo0aDJ9oP_mo!WNo{OTZ&Hl|Tcu0Hj0812ugHzBu z$!4j2?a~W0yt1X{L+e^Wk}D(;ouZOK9JLfA@4Hnk0 zt|yQ*4QTx(eLY(bpTOnS%^}YrNzBJAU3^qi#SYF-L~%ldFYV5^FVKsL)F%|L37^#D-VR$E%d~f64>>YXdZj*J z^%7Y7(3&r1lafEr-6m5)`-*r72y`rr5jF0Efj_FU1{I@(%*!WJlf;R>iR#cNBkyJQ zez&~ER##Co+17bah%Ni{OYrIIg zS5Y@Wco|GAi{ZP*Tb@*)1JOiR?0YOdogqIzKTQCp7m&_5q+iVtoX5lgnwZySqt~Sa zCw5+&0>yDSpUvL6sGS7ssFC%GSdW{%br#`mk%;bdwYdjHJ_uO|JxMj=|6>2Pa<<3# z@uIE;Cf^Cz2mf1Q(L?)|F7%e%#WKGeo1=P5m5=4gfk}M6zmlP2FK5TT3D@?ssv8VS zcYf3@l|9K`BFtMGZ0r;4*lLU)o1FP|Q)@&V@;gm8{BB>+&6O|g>DIAR4_D$2pw*xs zs1w3L<@EsQspPI6zOGpkQf4OfkdgJpHU*ye0L1!d_@j{bhPQfE;-urdW|eemWC-H<@+5w`60bOao{%S}B@QMBg;cQ@66|y9fpE9;M)RCZ6sfrRQF9dUJxsHhj~DNnGafq% zzYuT?`$gHjT>`n5e@LNxLe(Mj#+$iEgIqOr8DXZkbKg>`*dkEEc+!Mp3+O< zo~J%n5BPTm2NR6QXoy1bOGkzDza}5J1c}#;4Nx$bn@pPTjM%`$Dpu(u>1H(LZ}4-N zazLp}9gygsIfcZGjEpSLBLZ3aCtPzKq1+kY4Alo8E{8!Uy&ODUtnQ- zEKP~u>W+MOQfpOfU-4o~1u!{p;7um@fIuPQ*4*9hbV*I0S9Gah^-VMRQJWBpU>)> zioffTRof^h>L&?!i}Rc&%>_!sQ@`MO_P|Rs1ayTNK@1z{k1^EnVeV|iBshY^S@D>r z_ODtdj(u)A2ZpSUjP!&!1U1XHd>j_&&rzP!{7kWH3bk%Ls#m#Ylm|!;y}v5#Cp7Ff zktOWCmJ{nf82xlnSZBcvl+(2h$~06rgX#@~fY%9I)Hu9Ng2s3FU8;FuM=M5Mjws$T zzgDvNZ|pU2Ewfp@{J0}bzfOpKhVt=VHm{sqj_6#7Wbf#?az*eE&&jUhuKg6E5FQWL z(v^Ek7DulVfQ1e(COWMCCtvlN!zY$2T5cXz<+;ynALpHfr3zzFXZlD?P zByw9nf@jmz9?IW(-8sc zRWmrX8yWkG&I4rjdomw4AP5rnIpdX^(TLwS*muHKQ;=BhQgd3;&X;2cTKfdZstrjF z?tS7z3v0zm+P0%N+n=9rsdtq_&W);!1$7dL=tnGpo)3?|uK>`$Tr^xT?&swQTEq$@ zmIi2wib6lufo2_o=P3BqcsN&Z)>A*bvrMrRT;G#j5q*t$ZEgO!!sTgA#p7Pu*M~83 zo5qvmG{ei$a=7$ync0X>#oKVBmL*GkY%s4dO{gI90YA4@%t{$7Y2GMZC~)Dha3_^e zS`h;IFM@Mp&hJ072-2#q6U}WX%Ua*QN@8hSdh{$J;^F&(HHP=-`M4Fh#&5_n<6^7>;t0teIP(rL0f=qagu|EHJ#Vhn58FHRI;^| zvT=OorB)HYk@je!G_}wEknT!xNEE&lXcPS2j{GbKPf?B$+)dLku?zObo}$$1hukmi z^*_=+8kG2XaQJyEB-d?e9{2IMg2A(7)R}yxav)xo{_bsa7HMJ5Mvmf(Jt@Fwr3K; z2ji}i{Kl`EYQZU!*smwe1Df^`2cR zkIZRYYIBkkQN-R&%}E=YXyN53K9Nd zFEOj;pN7o-{JePjMfbGR+?&&%km6;G9FTd=bn%{|dJBev-Qp_kY3CYw6Xymsc$h7P z)3v&R+ZeFrqxQHtV@muaV{T*k< z^#t^(#}}>!zR${qNu6D1q?gtmk2qd@%}DrkY=Ilk5H6sMGpZ&g#I09QUu_5OjF0=Sgxc4!_BJ ztSj(v+16kwtCZ~7kMSo=9>uCP;S}*Bw+yw{iPd(MrdG|po>|QUmoKS-y^`s_cSA~H z-@J5ccjghA#IJj_(^h*t zk|LOw&sMPWu|4%PM(bV?P$ai8ExO|1OF>Q*Nc0wa;=M@`A9*o>4c?^r>pH&YEGuCi zU2}rWzQwVelinDvMdf|BBY>VNEng?zosm9qEMc-@_8gTsFx^+KR!~6p2i_IDv8&L; zYJW2DJ$0J%#!r)Dv?hlkTU`7%(X=LCDobe+)B;@5LJ}sT>0rdcQR;S>{qVPk=ZsDi zMQhWhlkDF}NbX}Cos~K8VNa@yFG5FuO$DnhQiP?`zZVS179+}B(HyiF6v4bCq?Mw2 zSzArxqEo?O!4!dJXU{iq|BatU*lv#KXJNpKoxtJ}542=Nj!os!9mC)!S`m8F)}I5~ zNw0%gY~GdW#?r5}urrzv9jM^HV###qHe>KxeprwYjc>=o)opNGSwe8ZCgQEB${)v^ zI=!TPftgf1kzF!pYuvIhY|>td-Su+$TLV`F`Z%Di&>h&Y9p(j$1kCtW?<%+YGpA2 zK(34SxU=)8)vaQCI%^8fSagPCdlwo$MN5JN8_%$=0)E^ZNA$P%1y5|8lS}Oz1!iMd zmaVf@lWgp1f^7QOBXggF!yG`S5+GU1Wu;t|$Ftj;-~Bq1qGM-zck3>e_suSUpT?Jd z1m=>`NdA8C#eZvl+}zG$l|8mkftfR>IMo`$wewxan?P=n2n33Wac8Q?W@6+$IN)6L zx^P=xN4-7w%TS~RAFn7V1J#eV*F>x) z53NZ#p_a*YI(7XqvT7(?XY3s!!1!6suT9CJa>QFd4FaX{UB;N^E(L5C<2DL|4Eoiy zIGEF{)KswqBlFamvutGZr&+bFO|w<`z$yj+XHD(Q$co1c8IvsR`O9ehNDT2O_3OJKcNH*pESpV)) z)R2e;OT@-C{Ojubtknw@f2U?Vhen;uheQ~AKJ*VUz^@F4ZRwg$=^n*P-}nmWy8Y@K z(J7pgvt%{D+pnX&BG`N0wzSvCJkIZp-LLY-qGaYOfGsIFB$PsK|NXXB@NWZ&{wW)6 z>AeuqsFbcv+`5;hy_enZJ~-!7^JNE)LDR0Asa9;pJGa5LxbNt#!GOas zSpeS)xk_1|`=^O&zsRc^Deww)B$(`Y;$VI*a%JZ4k7mw^N+sEwWj-#KWiCJED&n}^ z&z>n|g9kL?$)zkscBg#hDys@T&4~#t{R-_ck;E#U>ggMh$Dd#CpZp=+%5Ly_2qe@6 zkQ%OAO0~B?4gWQ1%Hx`PB~zKggGMN`E)rf`yK}{BtUY#0`HDEXTg~8XMnJ`K;7n_z zYrA4gY}*Dd3Q{GIPP5-MVubx%kiORyS6J1#vA)Jn;tJ1UFJZP=b_`0KyDr>xWs}b$ z);!jKr=P@|4a-^ed9@jzATO>rb`ge&GAwJ2ezO{Z{oal>iud~;qH{hBl`6|$vNj z68D+{154pB+&DCqOFAhI+5r<&%)R@7TE%D6sQhMFCGD zTbfGN+>h!*XehsSFrF_XSu2|d6W`0d72%9#kW>JVeZwf&D14R#$7A`<`(j8r(;C#3 zsJ%u_N#k>~kwuw(7u((O@$1GUt-Y@4kM=3MX3rxP8?+ac7uHIByHJs1#WgO)>=Pp1 zGjU~^X?d-t)YO61SNq|kQh&!2yyS3#}FPq=49~txY0j|(JebvqK1K;F8*yCUj zGb#4r{6iwv_XjagX?v%2hS^5Jht-dw|rE=|tR@L=Z4z>-7 z4H`MPhswAT-dg#ylstMjZ6{*#g3R@K*PAWf>AYdab5qgp1*XY-y>}*IUfCpU7`T&z z)x9(7vBzk)R0J+WhZpNNjguVq+n>)?Gs>UZi+y^QKzqUStK3(ZMQLJx?e>kT(uaYr z1BgYfI}@M1k+5woa3JBGlUR68ox|R6tZ~AQ%=vxy#X+OD2P#SU6P2(xjEQO!y;0OR zpXrP(7dUKq_ED|a9GGa7Uliloc4a% zhNAc;B)>ikP7)$*y;|R++CeAx6;L3{Trj^mr4cD(XNrL1CyjC?XseLfE&t#wEUds= zjqM>LQ$YNorjhmJ_Btdv?Bg#gTHVCob=_ez)>rjwf%_5BQ#vWP33KCll)Yd3i}fgV zwFXKa%46-l>P-{V%szzqOWTsWMBVZSQ2`A)m*#@UOI(>y2h-9Sb4Xj&KOsG1dH`WY1!V^`^m zLO?$LGlk*urU1W%x~69}Kd0Qc`4>*Au2_#)ajTf@yI23pNiq{(sdSS8GOy* z=q8X?p0PYQ)9|P81q0d&qo@ta0o)|Ux<3J@_P zVx~~ACQ4E~oAn~_Cn3)x)B=IRNZ^URzq%fo8wZxHpSvC}+?f4-?N+5!$WFLFp-D8y zlPI85gClGtlr6g^cRIcx@Z;n_;?taw{|mGoVIFIo8|$XlXz8ApJo~N=%7jh)@;k(9 zY{@rmVAbG|fz2u&FDEKMQVUhE5@EI$s<-j<8i%Z>!s<|CEki8xLFG^>9q${-lHn02 z!vMpW!-rvvE09F$1;S**oTBcQ)?^wh&Q^OSf)~|yyq~`AsFW*E9uc6W*92`+5W8QF zb&H|wkQTG?)8SX`!z8z&{Xd(Ate}@LWv{v(z*|_WC+}86-((#sWKLA!`fKT0?;Md1 zeN&WZ3CU3&NAF`p6DcbY^h3!F6vJZ_f1ZXWK2!ZsuJo8D%FYf;!n0s?FSfGvS$qa0 zZA7j>3PFbxA*l5XeLH$>wPVgSSr-n5!W9VKI?pc)p>Cm`H82# zY~il3&HMCj;*^%)fci6zMQaP&T5T=UlJw`&?rKGYFDNnm(XVl&2%2y;jAEQhU#$`! z9Oj=eZNyW3+u}Eg<0$FY)!6!NCxLode?%s@-zQ^V896L+PpH>9UH3ud!{^0?AI(87 zy{BPZN5&`8c0p?2&?tZL#DCYzjcd4ogq<@87P*p65&_&mj|5McIzTd1rtyC8y5TR6 z3T(T&JzjZCkZv(d8jE{Re)ZjJKvTrFKeH$&I#;He`npPK^Y&atUADY^PRF2zAq}w9 zs;l!^05$rJT;|pZQL|%bU&j04i`d4fF&jmyW^%{ar{1*C#HBWgoDuQBlgYC@3yzam z)|pF|M6}8>vq=l!l?vJ+bW;o<%^mwu@Oy5;QJU2%#i@YKXHz>J0?*8{d*7ZUBVMbm z64|dhmo@g2`+@JGe4q11T9F@FT7no}>OQ{O5N5?~pG?IfBIKB||1M`(8o$buZi2F12cho;@{zk!Eqzo>ekm=2+$qMH@(Kwh+ z)aApSkmNL-ef0g(^r@{`+tO_D+Sbv&VSjh+GzBmD-7{d9Vu%BU?2B`52c!CrGx)gZ zq#QQf3kHO*SoN?^dBF>esod(Lnyoxxx z3SRnl{G1bQf39|No*T;O@BD`R`@C`WQ#BhlqK*RTZ$Qw4M&^6f}!+o#ZK$h7U`1M!a*EqUQ zQ7C}63!QEuY_elc6u2SVGba{;lW;#zQkP?$RCGi>D$WOT@Otv&)NsV_SG4PA`ln2;v4IYcHaj<0 zB!1^j0F?P!XD0Ab?hF%B6r_FE-GmaZRlybZ(+F{!9pwd|R{f zrr7lrcMz7$wF>lQCrpv_NS zprD|jpvgQ={NW~W{%6GfwRWn!;zB^kT=Gl_8z4W}3Yg}U+MRuvUxkO^JPx(cP~Lcx zy=|IBsscRZFj$6`*Vd6PVH56W!WI1id|NQG3KQTQ3R(nNGcV6?E@S$G9E;%}0tA*? zxl;ue=Z=akK0dz`E?{gspF|Mh)&E;@vji@J#%lM{sIdc&C_FA+;&GpCybIFF)P{wH zrkbg&`u?xjXPwB_5wX)J%E*y)l(#gb6T3ex045>O3@XF`#cZV!u(|tAD(#{ZE=dFY z89+sNn21?#!G>VBrsbkXEP7v<>xB+4@%`w5Y4j=HW|<%;gD;z=8Gh%Qk$agVZwkGm09e=-jaKTqo zNz%R2;KRNrF^s-&d(2=lOI=v>3?5`G=!?O7PfA{qv1BqD(6i3yTb*U_!)2fSpMt=MNS3QVjZD1LMt*{#4g2moSaxmZD z$R(adie~Zoin}x<9iM5a1L{45Ab0Zdh^>tONGr4+&hy_;yXE}#l#*Ev)}U%1VxE-1RzkFiCS5vLld$hh{%r+5R;>4_>4~H-v=h6)so)781ao29*YB~L4DT06=Jrz4s3S}o_^{z$z^f^y{|(3MaG0nP4Pvc4N=$Z01BC2=~|V$?yj_uiXFvv~PZ zZzvDLaDpcMEdSmk7n!Ia=$Q<*b<8$gA`S=wjvER9oZC$Qpz6r9r2Qt?d46_G?LrEV z+H&7c2{9NuQ@s+6_Fe;`u8WrqEUH+6RUGVA-2O;8FsDHZd^i-jLIJF|a+qj~4C3PVD1jA)U_@f&rz@*8 zMEIX%7|^Bc_+6F5_=6vRE>O9~c5M@+w}NBJO+wg|BtcZdqXSK^dzD3}Xh6ijgu#qP z3nRyWEG=OLI7bini(gTr?Ck0C_!uNfWBGPrI7VBnx&wX96x3Fw32tlHX8Rv~sr|pn z3MRxoHz^3&B&*y!RfUZO{~mYK?D@auIB`5ZA)C(gSFPrGS7tM*x0aD4m~<<}WCqx% z>;ZQE?364IB9%j%IOO-uwYR5rn+l>r_OKiaZ3kaT=JqqX*3#0i%y+IUc(-(#Ab4hB zGa;DGE=zslY0Ck)9F@@1f?pC$E$g_N+%8Ohz!R&l+Ktk2e_Tk1rR zH|yN|3T#FFoFp9^0m-~WbJ@cBAN{a6qz4Rr?{Q%JQxdaiqA|43xBp+R_ZK8wL+;3f z^AI&J8-Otj%{AAf8^V-EFDj*^(frNHP~bfjh~423kTK@GBbiJ^Bg$=4@#SyG)OXCR zv+7YG4bizA4DPS&46lT#gN}(fbN?MEW^FDWOOxrGEmtQ&6O^=F2&EE8i*iXQ+ODd- z5XqujZhZz`F1kaLN$vt$IE!S#1 zfpXn78yl_qn&(BMid3aL-^A!@s@F+6igH<=D1AjLwH%hXylyk1A{G--dxGgo+e}cW z40XTNvjV8fSTqoJ0O}HvM%YuGm!S96Yg5-&&#HYInjzJx1`#ZDbmo}|L?52Z({!k{ zICe7gKY#tNxH@7@LfWCc3dIT<7L3aVL6B1*%MmorG=yYhBO}V-ca_b_wdASurJ*@M zX_~a2IB7sVc0J@o4lddlT3z&eZyt;M_{2+@%tYCDeeSNH@^u(&*fmSeDvFo~eo=?fa}rcQ~Ck4xYJQRiuztoT#9|z+K5lES-_Zx4cfF+=tpE zGDBX0)9NtSpEI!ZwtiQ|07tv$VoSQFA?;(d&edy8DuK0nloDzp>#sR%l-T{Jz=IYx zMIIaVR4?Sm3UTnHbJCLzd%b2>UPL7~6X8E|x$GCM?0q@z-3ztL4q9(TybVFf^+D_f zR(%t<7dnkfwRD#6<>J00g-Yf_%f=*aBH}X{%9N(}e&g=8WHz2VC3K#hH)(dp>!RD8 zCRaZ-zV}_9v^0)p0m4jo;nEHoXpT-XQ@H68~oZjD*U}2mxZ& zVMeq5=NDS7gR?}Suk;?dRK&s8!Yp^BMZiOl{xk!V@Gu4d0hdN_mQApx?{WQ71C`Fq z^>aDl^K-cr5u0k)^>JM@DeH#S`8K*zP9%(-b7;fYtA-F+ewU`l{ z-tIH+_v`9e71h^~9Plkb%*bJeU@N}WkG*N!(7cN*tGFMEYr=H z9A9ewGM#1{^ds-yXtIyN8nd3w)P2WR+JU{>a7phEyMV_royGE)!SK#E~|i*NSu38B)C~iB{G{L%DEzuWiP-gAU>^?%1Z|DNZ~fTtrf4;ac|W#;HR)=rS$)X!>$rea0i!4fd#dEV#YQNktVWl$J! zyqUyZ`fO6kF2*)Fktt>pO^XNQg&33|S0k*8^LY1Rc6!d|Bk`;E>ov?=z-rTmv>QH7 zxH%gC`q$6+unSWaMj83Lx3j<4xNA0D@Ay3!eU@6hGG=ciaWdS8ghKhoVJC+Ea@@IX zmWh%%j|oTFnVhxe@-6xdGK(yKAO>vOIASP(w}nD^e|+rR!2`wZ{acM*ae=a%V z+_)tR4U1Mwvto|^PzTyzQW=>ksa&?~zNQ<_3#faaosmLrQwHSuBl zQz>a9WNdioe4&%4_$jV6)>DW4K#xifVdTD)6zOAz^MaoYm)rQ9YJZljr(ZG0q%c>q z&Y_kob+osj)nWxV!41U~6Xcd91?G+24v6rMqwzGjN26bc0S$lV(|Ph$lEt*)Az-Nqnbr~^2=oL|iiyTUJWcin zFTMHhR#|19UdX6x!MZl8L8M`arHu%R-QZssuqG9E-z$!03E1Cu6<*>nzoxQwuo1?cqF9GVXjrhYP?qBRa_g}Pw15IjGv~b3n;l>h_g8w& zSZ_f+YU(Zne~>&YR2dIc{){7U-caQrM~I}GY5eL^(=elQ^x_QucD4*Fz9q$vkC)iTgG(y_WTmH{=K(fcC|^Hyv~r*#L_ziydA_uP@dS z@D`SQhA}WN__3OHx&F5Ugc#JJiV6yIZ)xsp)*u^{yCgOkP>_jWR7Zw_Z<&y4<BAuhbc9G@6kf);{S>@Fh=n*U>=}LEd0xWGl80o7 zrvebo`DQ<7mFw&sGz?+swHx~0jMj@Q-L1$A<{|oLCw_UuT$Pw2CMx2bmNF4Z(k%=i zSo6?JMN{?&^15mQCU!(EPEa$d64bUQDkM zNNiIj#6v1R@mt zSc(977k6o%{$r_<`y_O0KMZ)#qDaQ>RVpPn8WV+n)}<&*B=oYcy-O8sO4VezFpgT2 zi=n$nNQ9wz7D*(vFK*~Oy2YTdjYJGWC6E+DPz&jJZwP2YQ6hg|S>#UcqvC&UK_ivz z)TBmID#iDn=Oa)`6T5+33XI}y5^_A_>&fI~j5bX<0Qd%j(f1fpd z=9h^Z7{=(}=WQO`WE>K*UXt6yq$kN&+gBjd^99C8uO({WF_GAjnZ~C32g#xMHHd7q zn%>o%U!EmOH7Tr$C8wauB5^u~2)Sn>awL>6sE(EdYWdp~Jc)#-FtaS-G}GfrCs36V z+LaSS^y*BdB?32kz8%UbQ;UUix=Q4Tn(&W@iS2yvo&7Zc*Kipu@^vpl&CC`cS`jgG zM$-qhtzb>LaR|rP{#W)TTt^b0Glz*h&tcffeu@rOtDJ*VwhGS06v&*8-x;DsosFYb zUs&f0I3<1n4vu&9=8^l8*6QNCqofO9lHL?5#p>|u^SED| z#G8Di!l6WPEJ~#_OxVIy9aVI%m8GWXElDe-Kjmv|og!zNv~aR;Hr_sWF%-dKIepX7 zs^!zv(gTluO`+iDp@P_3j#E)-}Y9_3A4uS+-g4vY%OTL>Y5O%y>2=G`a; zblh}4S9$!K{nBZ|a)_}=D60-nrjkkKkojmRNgzgA@Y*J|i52CDh&FNRzg;@uroOqmlz;CH0jn#XUIZlN)P}* zP=UWESt%9gt#KbYsORwC*p5igQ@VSD5#wQh(%|1|Z`5b?Op)tNi~Z=4mY?=L&#E`o z|9-F^mucXeeYp&{&JDQ{uMlJb8QZbcS$!;BwYDlkKFjwLO`v0+@%JHPd}AM|O$uyT zPJEm;856QimX&{>hM{G^JqVR1e^MBIWMsNx%VJOWCX4kqj+O5lu$K`KPEN}m68JLJ z@;||kQP_bzh=5OaP3#gr8dLUYl%*TbQQpBt3L+zcfN61@xkXNqO6`cy&%M;)OB?O> z9EHa(bOwjmcpwXlVmbvWSX-Qh*z0Sv02XB?b$agN-+TM&5$V@tj?08mtB~+fV=txf z)Yd|>pM8X1MtquiL*JdioncRjNQTGGDK1b>kLT0>n7Qv1h*Uc_EG^U!_C`5?*du4a z)UA?-iHS!&7m_0AR*DWk(2zIK0Z<&XQj@`S7ZLx9U#4} z+pVb%gVYhu>y^Bins$JDXZ@pL87JAEL(ks=M7tCsa?RLD;2c z*vS4j(may(D(@>g=lY1B=MF_P=SJ-}H>x!R^qt2Bk?FX#&R%+3K{Ll8x((e<%K*3x zZnh?2-;aPU(DMEeV;oJc^0eU~znlN7W*aK+N%moz1=NtO z#)5+zL@u!+U+(XUV%7i;2M@)|*>ZPlHK6085Q2Dwt7!JEN~AP+^XqBO*OS<7Qk)${LsRT;+~e zwa3Hh+TqOmo=cmuK`I^g|9`=i3q3FoXm%&&*KE*VfCw}o?D+wNQ|mz}J9o|{g+-O) z?t~_<pl zr$GQN>!>;liNerw3Fd9L@|1~qLgTC6&OHf7=#&%hB`MKHPv|MsaAUO<$c2&sga#hG zOzhv?YEJ@(lOoTjkX}&b519J|Cit1;c(j!`L7cAX-7MI#rQU$@)HE};jtm)Ec7Q?u z8gihu#kKVpN!Hk)7PkPSXaj45Qiu+M%o75TN6w?)M=nRooV-HZ?%cJX3)UMW@Z8?gPS`Q zQ{-wRA2h+w3G=`yKu3y+>oP8Nb^JOlSInAaL5M~nQ;!{t9|S<@@B!&T_qF>9isKDZ zg84lu)Nb%F0muZYj>Y8Uc)}M1gK0FoEVjsAG>v$V9&32g9^M!xH@cjJv&K*}E;=__j8BaqGEjhzuNUGSX#DQro{2) zFU9~^f=0NW9ux>co%#0hzd&x6e>i&?e+awJ+Eku7^K%yFw<9m4v5XuHvTsnzMHs4D$fRbC4<55qX{D{j>8^i zqVFjsq&@ASr8NU*^%U_M8(ZzcMIvq!bX}InD`Z)RIef8o#ziDMTJD92r@&iJ*vQI7 z2?qEaJ(XuBml^zLcKAG_rRIYYBT4`&sM$Sk5&lv46c*{;&uZwx0yQ~`0EkI1TIb#5 z@GQu5OKe%E?yNpGcY)@gXRvrs;7jsnH+O7NQ~p0)A<@{E5qeKU_~3IZ$f5%Z*t{=tEg&0VojB_}?eLsOx=C{s>@A zrlP4UK1%9l9xQSlZ_#EcG7{)d7BqR%t~L_sUfX;_^8ye7b2zwT2ydcTuBetYz}xZz z7;PYGA~xnXHn9{1huGuvR^Q6qu>u$EEr;pavfwCeZkw}iookoq798p(0QEkqKUpG&3{mEHjxQ7*fO|5HY z4X&Mmgi`3n>ls$hrngHd9!VSz@j;;zADSV1ER##?@K zoKe8<5A9Qw;~~t07$B@!H}`u?ZU%wn198T01CT^JyY49OqP&vVK426um9;j3`(takCu6{Zu> zb2_k3f**h8>RphEc3j zeO#_ai|f%#mhFrME-+OAf+&!{lZP^woTMm(7$5@?=Pn=a%+78%b%^ssqvvZtG)z5#-~MU`3p z>q$II+KZhNg2z^U^F+P;;qC?(ukCPYiL-R@DE^9(+GUSOK#i+PVM>TxqJkRvtdWSO zsMnLSRac^v8H4Tx`IKmNH|{XloeOPOvE|bgVO@9J(W{{aj%$>N(HYHqzDY+Xp9my$SIU zTJsM3&7DL>9o|2&;L;_)>8D6-3NT1~KY_&Fc{AV~ z?807QIab%J?n=caVK6fZnKBhREhq3%TT5|8Tt4)6QXh2lvc(rI>Bqc7 z>=>ZlzW$Gz`&@U-mYkjo@h~R`pfGEVpA(fKI}K*)sq!{Bp{-Mm92|&?Xd-2QFiXY~ zM5#c*6ARix1fW!iRft34{!78kq>;gpWhbxXX{rZ1QItP(H#T6x|7>JTkZ-q=nH`)P z>6c~iKyi<|=JY2u$^=vquJ6dpo*3Lq$GH4dDHH&xFP`^^MJ zL7B-}a!`?qY#oJepIaNR;*RX~@uqIYj+FgvHi=pQ8I(lAp&=0h5;O7H3y0Bez5X4n zyvm0w({T|V$NbjhtnRSZmf7~Y*YD07;DEvhGzcJw0unwaP(>6BTD~OC#WTVOEZDFn zd{_!oU}(aN#bviG#~KBy%nnVZrf@S@`*cbkG+nwPHdg3zE0IevW~Dgp;UERoAgt4p z%13nx0Nd8=5XO*iJKD5eH-vgE@lM#n3>nOi7Yfm8@|g_(Nd7)X|D=D*G?0vsz>vj# z`y=$XHAF&0`XWr>WIM+53@M+7i7XbO3IXU-(qc?7Q2JOKTrjX{K@4u*7C5xh66NK4@JCv`XdkmU6j&c~agc({0B?bNHIG zvA(H&&V+YghHrg|n{~R)D6zriloVAITV&y!*C0-`0`6h`0-X>Ky^m23bK)S%AwYq} ze6A>>wq9I6Ptn^`WXzwQ0$Yu%EN6|`o|}W_Ty*;Rlb(nJ(+`boPw3vs?;iU9a;r*d zS(rUxieENa0@>)i=ZJp`y`f+z7f*d{0E%_~!w*Cd zIkT*UC?YCSDpeAtzZmsA>Yv06BA1A0FS$=VX|sQPA1s{O)S;rLoOGZQsoeQZ_psge zm_RdVCdS1`S&Fd=66e^U?OK3~08J#)z(0wgIn!Q_Ea$J!VjAb%_PkKvZ#?K5nfI+n zWuzva&5vi->bU;=&kf%!uX>v^f($X4`+b>oae5?FYF0H9Fj4I)9{$iq_WunZ?RA7i z%rLMTj877#*orY;5v;8unh09e0DoHmNDl3x`#fHgwB+yplzbvMIPV2H+NWLf7_tZ< zVTTVaR$6nn2`q?<)L`A$8S~)>da$5bR8r}6;}4>(1pz=+r#vXCQCO?!5X5}6;BZzW zX58uWjOyJp|cB}GlMp(LQ**4zC;pkQEbThtIGJQY0mB7%4iVn!wP@~48~nV z50~Q?jWqa3i(p{v_rAqj$wYn+3BT#5RPHfTD}A?8p2d1M4c`b3-6DGpyF3zMFB!QKn0@nTQFL<4g`YdZRNr#N>Y^c z>S$I0!4!KXBL5;QLsLtGGnNDT>x_Yz|!_AWV`b#|!51{QCPPg0iy# zhILN1Hg+ObxQ0hd$zLj(1FXV_SIwtrnHwE-)Wd47PCh@k`gEY=2?!|IMw<-vYO1@j z1~e!z*|Fgb&?|ZD!+7;PsoZzI-K`Ih5_40wPYtV4MdqJ#MA&!coQXQE!T1sO8$EHF zw>>4gEI5{U83dOi3>LT3OT)}-<=|WrN-R`xEjOC^Vf-{{K&jXsWm7Wh;%flb-Z+j? zpUTRT6XA)o2T-2eEtZ3=nBX!dB@#D4mkdG9dGrHdRDlX;-~_-5#lXoQTg=j{%ZXlG zm_*J4Co3wI@JpR4u?T6|V=A-eBmApD{rqm_yuf8)FF`q zSt7FqWH;s~IM0Hwa4gcNJf;}sXK>dP7&W6CTj~Vg-Dj}h>ZHjY;HhUO$5$X7c5}B! z-l@W_uQqL!mRWOwgpZ3AAjji4y3JtIpN4)+a=`sdGooIv-#O<-{Zi@a5VdO3LWQyV zbMQw6UVT3DrTv26z0_T?oWG-CdWrym^%W^Q7QJz$`EccZz%{CBHJ>ApQ4}afQ3wW} z*L@I0+47A6Y$yctr0i+3$s_z^uzITc6al`*b-NeAQKk?ysGb1J%z+zwgx{GM!=*A9 z=7}DrznHQhffs;bkHY$*5IoWFkPCExWnefPJ4-SJ|)HkqxV4tGe4e}JerL{3ngDYCZiL4i& zuE(+D^G^MmCtX2fKwhywrHUB-iNculq^J`op58jV&Vmk$G|xw32ht9pJGP|CKi%@K zfRfd)$Ro{@xDD^9cgTt$!3*KS=%1fcrJM})&QY@Yym zC}Ec>)z{s!<7NnSH%YGK6LFVPykB-I>b;4ASi=7TdQ;3Xm{AaN@CtUHXQ|aD|yqebCp@$YV_2u z&~HwJhQJl5Z*tR?kCKIYv>iYL0%S}bGbpu)LzG`b0m$V9)I}&6v$r!zlK})taCOPy>h>c&vZ(HOdo5PYt3&VZi24aofrT{&AJ!>iy!-f|Q zg~;Ux3Jk8FnT=+)?D*;_rVRrSsVHMYlvNc&Orol)sHy^`R4Rli7$p@4;pv#-IzJOz zkq#cx5T?P15<%UmGshF{7=uw253H!ccjzjYzDT?Mp}AdcH9Pglmmh4er|URJgmp^CC zZ7%iP<3qJCW81Ro1*`m)oiJxFFneCTQVb8ziiazGc#7Npss(%2M^)Hk&uW!06 zL?99ial&70?zI`iHPT``vUB&LMg)|Qe_8_;IPwRE_|3cpZYB~P7xDcE`6`V$RUXGH zFB#bQE8c7_0nk+0alVN_Ru~w_J+`at=IKFwg{T!ksS_p>^spcO{rOjyq*W^0sMK;N z7WuThD5yjbfj8-z_#0DS#hsJ2pH6iAFCXgbmDcR1jT0iOs;1ZdV>a2oMAxR2m4Cr4 z)T)QBrWY2Ut=atiNA7z@SFKYt@m&@vBkvJx};4h)$1MR5Knk4%FE68a6bpHGL$UikKK#~O2-hGrCM}&EIGgp|l zy_sG5oN4Xi`TL8%#FZ*an z7r7o(b@lW@%Gd!sDBHLF{ae})76La0m;Nk!Vi>n2L8ZF({T+TvvLX}2vAc`H`ct|I zcM0GP__ASZRwCSu5=W7>BGhGwZQOZ`GV5zP4>7!T#eo7djt?hKt*0>^h=|kQ99|;E zsnMWvBU$*a*cfqI%zUklv!^6_6avecfn-#FPdw~r?n+uh(fNiZHpzVbjxWS`sov3v8q$05Y@ zHgeByeGop)x}8x-a=y?|F+AmQv(Nk&F8f=XR1nABTH!Z$C1GTr&YX;U&mINzhJo|2 zlXl6iy4;2gM_f+nbsf(c6EK5!)8_{Z-ltJG#yQ>Zd)M4sPlWgZzSGUS!r#Wh=;;oH z-sFWpuZfBgzLtvo-~Km~T>eyPi%b-EVb&_Bs)EK;0%Y-s9d1whw^$S@?+yQSxnugi zpdiIr&6rc0MQe_QW(|t~%x?HVi`)y(cjJkl)c*=qqk<=(Lp-FMnKEq8n3K<^0-bZ# z?mevh|5P!~;4m^sGwMYmf=ss5nL#eAi@?c4m+>T&WUW~o9t}W!ILEWIcHyH4Bk#|dag!3~*Xi9xN46d+*$*#U$EVc1=XAonTn6AzgIg@P8H9-2I=cdgHCm@0{zC%f$qP2Cd7n z7(6d3XTt&gJyc*}9el6lr{0I=f)Ga=Dd>9mD_PC&oz7omgWlZo+botwCV9Hh!~jeu zP91}o%EFo7mm6p@xX?w!X9ercaQ)NKwOTGOGA?Bpl*};MF7W=Y@X|HJR93WeN(+gI z&egBcg^geNQs4AGTSoDz>QRJbWZVu=hcrwqMjeMMChRY(@CtgxA{ma|lL|*(*rad5y0z>c7W|_T)2!JkR|&I+~4X`d)EY)zL_* zW>S7E_6-%4mDP7}2qvL~%MU+i6sRS8!Ui_#F8Sn?;GAd@NeBc+A6VC~$2w*{u# zq)%Fy68aCf{tmP^z2;Qz1mwy?{7qrpuD80ps$^ldYj`k+y|wIV=yVU4XSpkDa6CQQ z9q%xuJ{jfi`wT(O=5uYk7Ghq+1Ac`{Q+?jodALKg-wX?UESZ*yigp4A6hg1w1Rv^j zyMxzaF-Gy*Lq5!M{#_ABjzv|PtY2;F^0o$jC|cbQ zce#B8I8X?lm^zdst;b8Jd}xI=dqo+d)n6OFO6>N}9TOg-cF-kJ3SmV<^o5Ky@UgsR z8T=WW1{U8!=5PQI(?NhxY0~3MUGN$2d>NU2V%Usx?VwwIGR zmazaD9-qriKjSYZ8fQxjOAVRBCArH5-Cph`tHM>yJ)e4v@P8P&dE0F(D-?9J;Vk!& zpXHuMW%2c0zONpAF>qG~`fB$gKwzsA3zb#B*++waBbMUY=%`M>4I({33p_#KS$1uCh?+yz)pdOG%P<*2Zn=MhsD4`_oaZ zvJgOv@)3hm#fm z8M9{1Nwa3nNwa3;Lit+0ufL|&N5M$h$vUe!y1lgb%6MA;c-sQzjk~@^nv?iJXQ5Z> z@E48!pS{BU{UE9TC=)pW0xAMzW($g)_xyaxY&T*{xk0itZiL}h@M0OU+Hn<}H5<-r zfoK}Zj4EWOk42G!5c}|4)7`6vm}Uqna9~u@ik?fgd>3@hn>K9Ovu4T(6DOgSjSxRb z8Udslfa*b@RG}20K%r8FN~)Y?O5pu4cUM>q`wj#!Nj1akV;$t4L!Q~>=&{p5>S*$~ z-U2d&Q7rgKPBIF4x)-?{n~{!_U4mu!M9^zjWX%Z@@=I>+tG1N8`1L<4me$t&M4t+W z2X}OW^6?BCC0&qrBp-|pdjf2mjAMR)0lr1h>5zlhXYnQF7F@tSud!_phmSl7#l=BK z{GrV7)7M*vs(u6@M^li;&rhc3YQ$-z$v(DZ&9%_-NbYH39>tSI)tii{!2Y*2|hdJW*0DdmB z>oEL_?;5_#+~yyFuyYkoJ6{Gi4j|US?hG+Zu&k<-v&i}#)c-TscCbFbwAyo%D0%+K z3HtM%-oAhE+pWP&ot)t1sq)YtX43lnT3djjy(73IzFB*IKKpa2mbk_QCOJ98Judoh z+9fUN)wqZTzTC}33HQ4hC?J~9Il|<@R(@@BD%68YA}&9-R{!iU5JdQYUgWd4yO;6M=)5~xwx zJ@6M@;DF*zDcw~XI@S>_D)=f#P9QW^WvWZwzlY8C=%m%(X~6jd!%0iMugF3|pXyGP zOI@x%L1s)O5*dVx=L3dB-AAT~zZ3*31HyVzS{4tB(*5j`^B9Lm29%7;JxdG-KOg zkG6;k?O)qas+fL1?l8PKeIGg@8Y18bqInLn+b3}IxeFEgntHB91Y)8r!1ciT2d0`+ zdAZtl#K+sF*Yd)DuGT|FNyR6PAo0HPAVkGt2GozMouWs>7bIqIFvXB2r5f2pC9*jnU!u@3 zx#+A2W>iES6&!R>h-}y+znO+p3vfqv^PSxDZ0%kkYH{!oBFkp!3ojHBN3?FA^>TekG}-?0tm#oYPcsNjjh5$Yk-pW+Vu_#8qF^pOF~Kl!@`N-;(I z?cN9pF&_FTBPpYaA3`9kz&hN5P8>LJ*=DQ$kp@K@hFG#?cle$v-%#N^AI2!$Y_J6E z`ESpoGXTCdIw1W)PPwQPFb-m!C6pdjf+8at^=LMLQr4V(lH(A$1B)q zj4T;*8h11l*^Jdx@w<*`M6m$GB18!@0J@OQds0afEWBm8ALGyZUME_;x1l?pWU8vE zV?JlqEu!U?P*M$TcKrFvY06wgB(Y`1ge*{{3Hh~1c2V(X5tg@{FGSVc4%G{tDk35$ z5b{ADS?%qXC`MT9_91boWbhqHyMwnveI`L<7?Bbp9pK44#-Dgh!K*rGA2VnhqNN7- zB~QWWgi){}V)H!8OIpNGs%*d+{|xW=jPI}Z{+o#&i%ZhDWw zbPqlrGxjx9dsuJ;o^P1@-eNUkvG3D`$>-!9cxk(p6fNkak=0-0bC4SiSDHK z;n9F)QJ)q+yNO;EdJ=7lD9t4&@R%q@a9MPl9Tkya)$k2sXE`s=;A{8bpMNCsq1PT! zH8^jF543!}AH{be+W|F*1L7!(B7&o%p&>t;?YeQeUZ2f-VC8Ha*bH&bVt%>4r>G1t zQn!#Ec21o+NQqwvW!{RS|DlS4tPVgk4LXuF?a|}I_@-w|l@K+|CZFJo=I-t<|Dbsq zMv7W>ype{FFTCTOv{e|3+)j)?x4ifL-+|P?)%Ut8?N}XnAZY?fkim&f5HcxW`T~k> z>mu9sa%2(P$MJ0A?9q_MttuW3>X5Lw(9|NJ;(6|$|$=~L>;)! zYtsfXf#W8`j};Sq5UvqJHVA0xmxg*FkD1N>SXI#iFtkqq?s7KsyxHNp1K~L~W=*;2b@2|w9(>bkBU5d8ZcXJv$G_HxpoaW65{kap4+gsKr6hcJwh_1x$Pe=~m2hjHG2 z%v*^ZepZ%Kb6S>~IxE~3CQ*Dk93sL;!*!O+__6nTPFG0+DQPjaU_l2Xl&+nG=F|2O3$&@0_MduMB|O)-(YF6 zYg^u)4O&%N#hIpV4aHEp;muBS=U0*He)H${VLVcOqroAXZ?d~)+xzwp68(f6sB4E2 z%=Byy=I_ZDjTjTG*IlNj4!>Ej$_^y-+~brUggo|$b+}wj@wh!W!Pv;IGh8@xnbFOZ9#c&Iuw9B&7T&W25{)y+IdcxGaDGW^ zc@&*_fsip5yR;Vfa7F_wH3L;!?zMyYBAkZ%(E%M4ytH5wVq#2)S1`4pi#@-|4_&7a zzM4kTZ_*r^?rdVY^SPBd1BaO#@3_g&;c#bo-L9&qB3b#}h#w-$tQ3KR4{v&fRuHj) zgGV#gz__stiVC19r65EIP?SVKh)8Fp0W&}8#B5i3Wl4T8&)}uA+wFT>n%Fgv!c=K0 zRRYOUAd4CVs--#@R}?^bhGYydDES!k|HYETsP%iwYUwtHT;_oGVeu%nEoE?RItwma zUB&kM7aWd{xCCy(oF>wpT>8)r(=obg9MLt=0q2&!av{BjEb3aJri8*W{_Sph#kqcS zmH519D#2onfGyZA2#uJS&H~?th&9!eH;Re?1}}tfgvJszR+grYw>oyBeER_#sK9nK z9*-~{$YhO;_ScZz@%i0hZ!%^cvRK^FR0Xg+u>eUx-=PSB%>wKqXy4+sY?Gv!7sc)7 z)i%~FY+1!dw*ZL%hFe!8GO9%4Fy6R?Nf0-tJ4mdfOvckRleF*8Zh2^+fld@Bf>Cq} zBLrgsiZGHOU=2&heQW10;JpND*5qD1u3JU)mB(cy*3j1q_6tm5Xb@vj>O3Dth`r2g z=#yP++fyTHx2A$o4M5bcw5nPxHZ2-zt)>LM?vyR;=7wO3re->~ngP9agXysI&UYQK z;#n_o97}T|8-metbU|VS%L%;_>g)@pp(O{bXpsE~;r`1{qpu#G7WvquA@$&Txtdn= zV35lC|DLxpYOCR=eFj*SW|{PrgDqEaeVW>0DbArK81n>Nfw}Fn9Kqp)-2u##Fm4drVhqp_#0`IW(fG-w1x1x@8Q^C z%Fg4kW(5V8JGBMMzTg?F?cBGN_CjM0?ZNXop_1cUSaKn^xVBcTv z^{NvkL>?0AS<+Er^6wa*mwTYTZ;hhk`<=X*TM`re?G$(3fe6uw7j-D3=d0_NrtF5z zn-0p8@u6&syg$XqMYHk9R%bd%N_qrYj?*0}}o;XoZv3CW_9YGTXWj$KWOejwU zV61az8Ui%~1pWs{128FoglZ>0%*>A_Y-Jim^peMHEqDtWi`^MT#oLQDTasixowR zFYNh}y>EhShRAG&$Yvo7vT_i#`6L-7GJ-NrmpEq(;hZz(&TYd77GyGIdK#kFrqm^_ zRm(P}sG+rl&olxuO!V~hUbY`ZIY9VyVHMI4Lsw$|qNvVBI_nDBzmQ3hf zGv%CWimEM=Uo6(nhGt^m!#j3mpE*@URT*AiJ!a2SGcje*&fS@3&Q(!WMU0a(pB(m? znTuu_+p|77%Bm`;wn?8g7-y`^F=h#!F3%gl^k1{oKb6<gG_9N%sApjmBs7AL=3iq*5uN7x)MF zFq-7D++4UZGTpD@RB;CQSCNTxSbPEjctv>P0UECNqZ6e>Nt~W6j>!#ZXW0!I3ID%V z%MCBD5UyRzge|A%{0L?kM33X~{yuCEPmB9m`MbZ%B{j+!|J7Z+oPyc!(1r;Kh3g>c zN8N@>QYA!$^+d4Nh>lk1F`iTlaup#V%?L9rKiFnh6huvY)Wg?8^Y-|M;%qZkhd?y9 z$j)5X!LhpM9SWlIWjBlNOzuQMhzM2!HfiR1~;+YK!lAzeOsXU&54h}UT#>Q#T~Yo(Ad6dq(y8v-`;5r)s7q&NOWRrf98Z*bKet(NQ$R4-SCU#4l+&$g zQGD(juM3m>?H?oC?Q?e0L;sfXt5xv=mJZbfO0qz@=)p*(CF=<}>{9#JcLY`Oas58x zzJtZ^FE7bsvFC6C#iN*DYkY0p9+y8KMT@Hz!IhM|de~t!+O|&&6k&)M8}$Zq`^z=N z_A`wK3y@u&$4n(&_cBlX_4QbX=fz~Z&_1RXPu@G~`q_ORDz~;56RXtwbg|#A{GQl{ zhy>v$%OF|gyg)o#{S)KId7(z`-58~9Zg;xe7k_?${a$Z1-@|)762946WhVg^C}emU zlw^%->3PwAVU#`VB*>FeEa@~(cg6Z55>2Qx+MP` z(75Sb>yNzcIzk^5<2c{f9~tSlGA#TQ9qm#gQwC4I50qG1z9iH9zrOD=am}ag3?#(p=O-HvN<^B^7EO_^InIR+o-_Bd>=Q{7Hz2!Yg+AosNA}&b{Lng zR6!01+qlHg{FqC2&%nrJK&T?p+9fxB3pdikP0yVJ=Ag{!hRjTzHS-ffM zW`C$ION>$s8V8dj!)XmW)W#%!v8e;G)Z~{ZMLZHfNoa{ zFHPY?OTXUj_TVh#Sx5j*O$0%zg(8Yngf6;(L@0%C4_YUDjHiEvR&Ml#9XIZ)w3lyW zwWV;jGWBaV;>t^?BA|W!*JiqEm^esC1?ZalHLj7Yh?leD`L zr&skAyO{>&-?VC;Z&k5p~Oya)#!~4AM73+^k?uW&1qr{yd zuhDVxIQ|-{f#%iz2B6;tnv~L%%#`7ovGBFiK(boBEzRxkcxq_}`vrD`QpeaYx{YjQ z6DDA041xPZl3&2pfV0zYjPo7Y!%2PBKney-T`;PpW9gJcmX4RVo4mGy_C-h8Fuas8 z=CrvAyLHN%N?bu3ws4FEat9ACM`7m6iEV~j7CsWSNO(#H4<+hMbHnM#-R#;-m@L10 z-xyARcShQiHfW^xeO>-b26dYJ7;5w*i4OVVl_?P%6i*Csx13Uc1KOoJct!ocW3~EY zktvZA90Z`}ClIEL6heD6nB<6;D}$@zcykZ85v7!xdDztH4>-#KQ)_<5e~34kqHQ*B zY0Mg1KlB7W51>F&$FU#C5!(?BnGyTfQCU(QD3UW;0MQ;;eqdm6uuD8@9svg=aLq4; zs1n~!MEU^U3Kl;DYMvGbJaPZ&3^@!iNMP3Z{a%xcW2L$dVFAV=xofS(58XR%xMnHe2)}|g?KF|?DFD`SH|XGa5bJ&5Z4fQT^~{GN#O@is7W`Q!2HNCSfuJE8=qtB{gvsrYuLC`hBdBx zoaZ}tUO5pGKnr*~BrWwBS)0_>e6|Ne$xn-wH}?PUkHdYxv-**2<5GM?!bS3CGXW$Z z2gciv6mxgJCmeC;7D8YRRW1^pkiYQLkC>0;k(v?+J zRaI40MO9T*RaI42+#NWCT96{Ot;Q~p!h4r-X{mB9x+GU9n_Sp*I{3@0CioY!ATU@j z89id08jTKT7)(0&RJGE&^`s5ka}Fvp6a~Oru{YXubia0|LFsLuebw}xC5=GoCzz^B z5+VXxr3ix%s_C9N@c3FvdiL0pe%oU@EoWqaaE5*JJiG zzBP}&@vYfa@t>3AW(rSgGIc=^QALu{!bOPHP?XS$%4n)9qV-wki<6E!JHn6y*}pxs z4_zF^bB-GhvJ??uvyl(Pk#L=PpO=L^3@{Kf6NaE)7 z)w^&v`ol}Km=E+l7ee<%(K9*kMm_F(oaZ~_L`jD=E5Zdd6Y|)x-+0?U-rDd`-SN=< zPTpG3(eXXs0typAZMn%I6Z;OTPa@A`M z%nVy(RxLEuvMqFKo8@acI5@blCJq?Uh8S96HH8K(RTpt_TC5ygTwEMnKqk0m)DlUq z?1=2-s|00{q1NX)_=WwyPupz8z#|Xvs@|k_IjYX9YRev?;G#cR{=XWBc|s5Hz@cH2 z4H^+Vzo@G4a`UsCmX2I-I6^2&1|0kjXqjd1wzSqTbX=RRd;_79&&1+}lDG(!XfZ`5 zAZCVS3G&8l0SYjLE@`3?Km_JdiZX#rLXHcjuE%N^Q!@0w;f>w=F$D5}N@c637~dgy zEIUgV_dO&@U&0rWVmi*(7shc^>CnDo4JShcRe@j`grFp*a_b79;g)6CV|+{`w~_qW zJkGX^3c9#Aa*9OJg{qPTsc5Fk&nrJ`v--U34lLZAhjd7l&%fK_X){lc=}5vLqxddk zT{M!-o+lykdJt61=F^p~Dh&ob)=wL*3Vq;ohVWNv4F<9aBSKvRj{xTPph8qWX)pEQ zDMW!J&RPP?G~C*rYSv1d@Z`$%LEq5hoy}}Ct%dF5-gbk7^%Bg7SbEqrybi+8Pi%G! z!fyo6>-Xj82&vtkX93)kAM2L25Or1Q9bh`85#~3Tyd9z+2w^OhG)UZ)!YSY2Z?Pp zh|HZkit%N{mOPPC#RYaIS_j<6LssEqao^|H2d92sZt&%(Ng$&+;KFEImlOdWC?X;w z1D0_|7W8$(rowA|Zmo^d!+6|;!rio(FXWkG@_vz1hcD^+A*VY3ZBM$b9*k|BAjhc< zkU{tg_zFf|@_;RPG61cI5GbGu62xHOop8i;vLbPN9bm{iEnZM&#BhKIEIYfKyjzfZ zl~mqHSc)az9$$U+I@&wW*$Ho!fx8PIQ(F?r0eBH6pUs! zKM&Ko?|5AAQ{@x#x~zuEB7EBNVpvLPI~I|LH#3&b-mtM@ z+|?>EikYv^od1-mreh3|Y+=2qQ0$}P(Q~2?719W@D2JuTp5jaD zN8Ax=xzgk1d%HVh)5#(69oPLi7}WNbj_~^S_5qdTZIQMGyhWs7DEwq*Hqck2n4Dym zo7vZTTJB5@kIUj)l6`N(==eeSJ=XWR>OOMX*ihQ`1uUWzSy?G|;?Z(1i^MLy(M(1u z5CEGTX%(=8ftjm>u;uMQTg9`~jAcTw5YODW##>wX|4W{;aq`s=+ZX}$cvo!w;nRe&%vL)uY@S(hgP zj`QKxvU)5U!Sqyhpu0(v(UrA1zJ2s*(O(TY*d|8&$k@#ZRNe%4#9gAK&}VdXB_diC zGgl5s`!FIxFCu&#JpV5&dA33A-hyk4I&Qn#G(d?ckcLA@2a$GLn4^Le z1B;R2^3;e(|54Szfh((^)qKwDo3MqF5f|xpLME(Kyb&|y$|e>fNaPhzjyO_|%$Sxl zJ#hVW5`;W%F}4^N)D>a{+D32&paN*X7D>zx0FO*qfq=)VEb&3W#?2xWLqP}_q0^yS zZHEk3e(Y}}=Sa3aY6k?kj6`AbLUwKh(1=l)F}RDK5|)Vj5OvW>r;HRaI40RaI40RaI40RaI40 zTc~+jkl@&tD3**d3_}pdBeKq5RRl(`Uh9NxCW}P0B)KalobB zatq!;Xt{*;DTl-`$t24d7r3U==%P4Zf!F(-e#66q^ch>IZcC%*pamu^8 z0TUk10JZ{1(eRG5MVHO#%bYDm>eYdTRqcirN-(Qm0`-Mn*RyM13=z3=2aj`H_qB@W zIqp}z>~qGk&vLQP9@f44gx(vI!8d*m7nI7xW6HUA{+%IA@!Sc&Xa*kqxaNF{zN6gT zVq}e|;BL8NM2%Rj{=iFx!WfNxoXc8S>5}OuWhied{8_znCY2L&5<-v)R8S=Z7zGNz zln_8E1r`vXf&oJm37F74Ob!jpTLV4{VWrDIAlT*Cr#6#GJkR2hUF=d3HEl{*P#Q+fDvFF9suJa4aE6^k zSGOl=*KWQD=&9X%AHH57qeMc9;5UXP`lN2Hjp5CE|0x=xsH#ZH3Z7VPM)Q=%mDc|c zt*fgJt`(zqMRbKWrTR%OCU|P}QlU2xm6U|s;dQqz{+XdQp4R6NMGq(7U)v+x5&CV; z506N9(mJY-f|pclt~v6{pqc?!Fu}MavDQHJo!w*4Z$AFoPQcQPw7S>CZ$lpaOW=;1 zH)07dt<<;@8hK_!N@Fq6)4Vl~S2{-h@3kaI;Snr^QxN^tB2A;Y7N<m9ZPy#{-2P%g<6FpeSX zyM7L^5ssn*GCqpySU{m9yTbh7L_da#Qv>*ByDj2yi|op64z9;dwDD?Cn#(z=4z(z{ z?P#(m=Tq4GQ3OE|Em&=fNs;2{EKnr4(+!A*W=#9Mt(TkXM4fHAwUYM90S83^7&R10 zGlN9}4z`YibUMcQUD_YQ@;UazI$m6mt+}6jN@xgi)I?831rYr>R<3AepHe&nkbw~j z1OWt2Yj@7yK#x_0S5li$;H_cqM35TEedA7NTm>4*HSO=CoH*)>K z?p5#r<`+`EBJY#`uy;W5Yv*rwvml8B?o;%nEmb#2-v%O@f-bvJ-^;SMLM8dcn81E{ z2&oECipW*Ui0&D$vRcV_!C}^-@s^C1=o!h6S|{a3kEVg!0txdq5^k#JSZ4m$Hh#Nt zdWeuGV5F3k@z-w7!*-O7F`uCP+>K3}QSe5Oc7Afd=GR*7RMTC`su?00^e~VDdHt7j zZ*PAiZl`lkHOhiV>Vf22H>tdeZ*-^rxikjlU6{gYmsQA%Pu?L)ZDR%f7~IN=^?OGR zSu7e1Yeq7l!|ioO*r@3>b?skeqNWP=M0UZmZPSZpvnRO`Kc{h`#n8xovfSY z>Ff+>2mnBUO3hH!voVZ!SQ$=}ZE9q;yx(Po{o-hj?U!17-y0WhynFs7qbDc)2`%tvNrdj5@I3%)`EZ>(?D4QfD{D)Jx{~!@(Cx1 ztluLaAto$dTnDeOu%OXmx>oaIUz^DkBrzkxLd125)-y3r>KHb`g^EB|H>9Pv{JWgH zkcZp>-q<-_YQ5*9|GvN9;lA+nPIiY;sRg3D_5P7L7Gc{ODy;_>_F%C;MgA5Dvun=> zxd`<6^?TmsJWDfNTEi?9^Wwt9k!Nv^hyC)ko zL@DdzPWCLrA3!2#!1)M3pF1_%e};+Ut}EdtfIPUDN5JE!h;O142ry%i5M(eTT*v6F z^5C0!7izdUaMrWa1wYqPkt;<1kI6<`?@xmXX5naech`gXxOZ|4DpVgoZ-4@&h*iz7 zIni41-#d}2&2zos`1N7kI;a5j&IlOWzlptvJXxkA=Y!!9wn? zFWRhw`vDq!sQPgyY9qc3LH@pccyOy&`uL11$V=IP`)f(>F=O(a`Jk)~X3x$a#``wDQOMydL_kd((fQTr( zOZk~tOyFhzeO;&(fO6sRw@! zh+itK$wT0wLr_|9@aMclEEw-pKkZ1uL10Jyg+BSM+9}V<T=Uy znK|PMury>l6?>-O#R~_%uy>osRJPt0(uD{<@X7?3|mbtA(6&du}pAb-u<+Z8EVh5(8H zP8&9h-p*0DGZj>tH#uE1Er>0UUYl+?c*15I6~*}WI~=%Smx4F|srkVnm)e^?f&nFA zM{K=r^CM;IZs9M-5GzH@(AqB1QhtWO$fo!%Dd;|nH_UIX%iu2YSE^ZaeB>f~)(?^T zB8rNTDQlEyrmAE!-iJl!>XRFzII&q+#3$;C4TI~^v*tgsj9Oc`2&os<+L5g4t>A?= zOCeWBUd%FxV8$UziyiERX1)Hj8_cf8$B!CHq~AY^ch7Mmz*ewWF&mnOnfV!0_c4h) zOu=hvzpNH$HGI$+A*2Jpa0@{}E(Lw;7(P#RfAw~!cfF0qV`L2$Gdt3jddV9#?BrnD= z7~hJGKa7ycB{v&lgH0KeDS+GYm?~qlGW2ZU=z^iWyTY$)xh|0m&!41$Aluf#se0i8O_8hYD1~6vHT5JK#YKz#P3qQ_uEHrQ-Ik)wG^$e(+F9irUM8p)2IM zq6<3+uyxoo8mv6!4RqoYlZ5AQD@QW2;$!oPIa3Lh%=J|>GzBL^(G?eSC!|zr%IQ@z zXdfRRA0H{nH=M+DF%ifEnisr`s=w3TWvu%`6A?#4tf0FYoF*6wU#%o7ks|-*epfPR zflmt2|JIZ=EAMy7=8E+<#&~cxTR3lFuC8-Xih@)7Dda|9%GB#E<;u%$A zQ2}NWvqeV3F0zbp4rF~;}~ zeGEh*T>nk3Lom#~L6;wRMA3k@1Z`{+|8s}h7pLdNIK*#7*}+qy)z&BypDvc)$IdU4^#M@{6s!%{Q+ySofI#5Fv z>3w?6Obb?mxe<4%Z*{0%??ZMtRd@eyb6(|hnCFW3JY)Hs@^AE=X8}}U9)7$~)r}4v zIGDoRyJXM`>gk|hL)CEHX69I^E;Li7s<1n)(+IU24t>=st_GR|t1BH9jtqUZtGV}J zX!Na{D`rGye`Z_D8|Up~Bsw+EsC(9Lyc|L&LIT2ceeOj0A>(^~v)>_*)*R#rhoVo) zhm;VBmxXRcb3hsksDGipWDV#eWG3Wkso8dtDuRdwsO9syy7!z(eR#H4zbum+WG3uV z*V*y-rAWdGtzeZ^33|_i$>*vjcrqkijkeYn#1>&KAA(kitrKLxXb)KfLzmUV)ewhd ziGY_tz;xpT10io&7ihe*itn0tR?}{TICHC>jRTQ4l&M9m_pH;{>Y?tXf~+&V2Jsen zaVB)-+W?pdH4}l=K{Qc>f2PqpA@!$&x*w?q zzib73oZ2%_Un5dhpHJTt_uagMnIWltMM^uQ4?teH9lf(6;tvX0z5f3NFjE0KM8gvi zI!>x3LU2+^$ZyksEAu^*%=7;@s=3bX`f1xsfhpSQxt1xwE1=XZddOWvmjnTvgeo$M z6cW&cs93#7T8WI7CY5pFAt*~}j+0BYt7$H#lqP8{O5Ng8CDKVLOVqnbrGRTCWUQBo zR+JuqEJ7P3B0~M`Pm?`$n#U)?3CdWg!9UMsE$M9bx2+cE|Byj}+Pqq*hNkqTA>LUP zsX-!y57`F|FYV}&Vi5#r1=zV9>3wqY+WL7VRj?-$} zBb}GFF8BT~w(7z@YV(x;kKIevOPD>Fa0Hvh&xAjpt!7Qi!{i881au*pm=hp96(0pm z{s%;SR~jybNl}L9M!Ae4hYJ%J)4e)5;KP3vEiWJpR%WRa!SN?yA}0#30u+}Dh3M;} z+{_jH4As<;Zfll%BjaGULrU43o{g_pVIO}ek@aN$N|*OF{%-Hai_ViPPt3h=gOMo8 zQZ!>9HToXrkFJvTM`^D9o@M{gtyjFOS>ekFnGoX}z9Ez*u0}HgNw;4h?_saQMUEvI zaOeb7XuG3W+n^4`Cnu2|kY~2fW$G_*vOWOh9aztRKplg(JkI+cNpNqrdbOzadak60 z^2nXCenN33M6Isz0QQE0^WF*>1bLJ@(?BmV3?^W0wsJW5sqK7?e*>f7Qr7FVzqm`6 zLP~1^kh`RK3Z?^U!cGbGT?c|A%^#+*%T{gs5r#fDxyR#kS;GyzVHl{zMs(rw7(Qq> zFBUKBKy_3c>hnfI;T@Y@FhaI`%*d7m+1<4#SqznFlOBTdIUbPe@**@s(_(@9LNtW| zIB-C@?JeAmX;{gye*;SDF5CijQ$7F2mp*T;hQ1qycUCUd7f3wI2f51Ois^>5<+Wh>fu$`m)ovV#c5gVcA#6h^O%F5N` zQ2P@!ehefV8mltl()u0hvCI;|T1KpF>wp%8AO~o?GKm{%SE)tgsRpQKYiMh^S=jDf zf<62pRSQVV>h667P)lc4(yFbxrB+h2n)i;wrMN~$ri<8qefMr&%aWipt$ZIzp4>I= z<0jsjBc#a1^9E(XEMf>^utx9)CdSsC8T3=Cw2eq!4UNdbwvHc%7*Z_$*%70vpqRXh z&ZAk$?OQ(wJp0&=Z4&$~@v3p3?YSr3)qUzWJoIu_KS``eky4FPL{0|NRLsu2I;{g_u9`gIPw7-uQoQ;d9+sGsOltjx92|ZB)Y-dsja z?VV8L(g5tXARIA&T?oM0myo->55Uy_XS;9X<#}q9^6O;Tb#+zNe8xzL5d49|6!lR{ zOr}PTS;d*cB&#qHb+|HDd&H`(-58s<&(9!vKTFG(zxxz3f4{zpK%`PE3G@IpcGPwOIO;hvqAiysNZL2VR}4%V;q8$&%~1xZ#IHN0gc&I4EfdEuxX5 zHk!(5)5=gWdNZT{Eei>aX2+UDC|ly5{2j&=Njn0j&m={}VmNLZkIaaW_}t}QpEZ-a zZRWX%e#aY6k9L_DozDVrCMA!z4S37k2!kSb&0Ir568_54OQNn)W;g2f?|WXhHQ>&I zq1s5!pp2tdx-X+O<&V$DuOq)fAcTs5XSH~5Ck~OEu~U4+Lus~L%_>?Ta*$atB-hj= zV+k6qeoG(zj9tL&hd=4b4BpLV7u{CN3=&6+JTCzrwP17H8(d(cO2StAw|HdGoE)a>3KAN?~lqfy_6z@NEW z;n7UghQtH$!oWh;+}S+$>aD$hE4zP@!<*z}$i_ZS8Z%_jrZtzh-afwfEKD|4Sr36O z6wL6UgphH!et?nis=m}n1Ki9&zDHj>IcUJ32R`L21rUT3&1oL0(wzk6cX|5ifz}`M?gL=mZF|Czn9ET|weZ|Jd305JGKoI81-tGAi_0mZP_CQ26 zFY@;CL#9vhZFBnY(WVR<;{$7Fl<@fAv_N>pnW4qUUHYfe3k&{x5Ii!UD zU|?objUr!mD8{&~RTrfN?WCf33^NE}f#``GPhye~!c4lfRTV`PSfZ$^D$7FPfOfbB zuIC&g3cYxAT(q4Rr{wW6H!u^;dDN?F#aZ+OhBh`0s408YztCWlMu*vs)9&LsMr^lQJ`U z_}fZfeGT3zKS!A0d!M|A2e(9}!1iSAIq3vtT0zSG;+}3#`e!K7h!R}^vU-BdN!f!R6=h^;9Jn$3E!km2f{k`NM^4_Hu zFu9q{%%zt*oa$vi49)L=mQNqXHuAnqI`wwUJ=XpJ0bg01pxFaWc0W#*I0jib9D=gV z&N1!9xK$BNF9iVBf1F4Mvc(BiChl0FuE=BzfA3B zz`|?V=!2u_zJT^(Ub$PH>`mA20DE1>6Vc=DJ$Q0n0#G7CgsC^srgF$~B+?)VPfj2o z&LA4%SVF=UKSt?vwg3ix5##`R27`WxG5|lwbq4+^(X_@}?%qRe065Wt%UNoeNd9}& z?OUFJ?EM+o^_f^JLHk3^h|cyx;p}c?T1Z2_2P=4ix@~N);4oo(7yVQ-Yh;EPVY$0G zDUmla0LfKf2QOnNBFFH@alSS4ece&O+Y_W&)Bdoo!|%8v^PU#C5rm6g+vn7kfFnKw z2)bRC^Pa0)la%dg71_OabF$y?JJDVm`*WzuOVym7lM4qUx6`L?KcLLv&Ka46%*bY> zp;3%hBMx(~?)$mq2ptcD6O;{phN1V9aqZ7wUF`%3UahN*lfGGjo32Hc1VkagTjV65 ztl77$2#bqg5ocdoI<5d-kw@Ms=^?oBbwWugN>YNvh0I1i4fe;1lc}@BLd(SDw*A*U z0ri6;Op|~low$&m9Ee;?iE#^OyL7?;as0Pq1N5MLbPx4F(nHr565n$zRYUvIWKQ;pI&ha4pC;%dt3|zI%VFbI<*iIJ@2w?>Z|!Ska%wsN!zi z<%ybhx1Gru5Ju<_gdic7=n150LDnZwB~$hK*i;upw-%g&? zdX^U+y5VB~-_L$$$H`Dyn=EMJXu;LGgqPqk11og#y02R%zGDM#wm*VA3UG=e>boTC-`Ueek>)< zqyD}{s@E@6(SabStkimfYn6{I`!PFop4FU>WzbThe5FcJ2q+f{U_7&N&ey9SpY1rW*-6u%hd_b^8Nx<6MCo^h~%m=*gqeLVsolJDr|ApK*SOCN`4W zLrGybk!H~BAWUH@QIz^Z1<}zQZpE=9$GZML9$v49&hl6{{3s#r|9vM$40Qd6U9vf=?t1NfN+vcvU5qggS7Qz?( zi_%5q#odh5UARNyjEE5O8q2Ch!Wj~uN6!yA56p|&8_(r$FXila@0pQo#;n!=oc?_` zKpSw_#9sB5LfLl8;m~ZiAcgs9R5(600M*HZvu0bmMg;0Ue=KsRmnykFncz+ozF4?=rn>gR0a z>mJ@e6_z3PzRyuKCzJU0C`S_Kh+YI!6i;VKHbmJi{4aE>ozf*t4z%=Nu;f$F$XO+T z*rvz?X&pGFr1U<{TZLiwGy4LLxG0o{MI_8buu9VpMTc*r zKhfWgY%?IXYPbOf{zr7tnkhE2i1T6~#26D4euL>bBij2-9i~OlgX9$Z z8_+{hr&-3ZOjL`D7G67#b2;BB89KoZ~AZ+#l5ocZcZ9G=}^yqO=r&`IP3Tqn?<8!?C0q<)SPiaSi z4VvN!lo2W4UtBa4Hkg8RWI9Yu28${Rswr`%EgW{M)=QZ`y5Z9emTwyzLU+%tq9|1v(h1gG!`Icm^=GE1hc`~_M`rlJm=v_s`wA^}q zFCQ`A01NTzkh3^|-VK5&N>G5hH&}`kSWW8bPi4wN*hNuZfepC}osgod!auMhN}Ue> z?W3ysY&%$u%ldFuFQ2`&T9x(LeT?qfVu1e3|3tM zt*N09>h9F$XGOo^!Yz08b3AbTTHmQdpSqPdotCRip;S<+C{!E(G05c{*8qnrm!Z^bwGj0k`}sZneX&DLWM1c-L!6D8{;{qayUY2m z&Z0BV<->V@5YBUf8ka^Z{74`5)>^PcFYvV_c#=E>)@?J{{vZQso zr%rgT*-b=wz~5}C#S+0GW<351%GTf1Q`AVPoc$J>1WF{ZO_t)6ebm20kv_B_K_(CJ!t%RM3xUd*G8*ly zL{+Re1PY!58a2r?mcmCV1UuvAIaVu(=Pap7K_=lT)@Kz50S|io_Z%waLS(Ib`1D8de4`cJ>y05q-dAur&Am z{pFr?KBasb%OYSEF8se0ahUt)4FFf?$@z#{@{gl2lLLbYk65ROG60?ok&h7>M%V4@ zsc&(YsB7mHh%cXc4vRyd9sYaO$m(Zpnu`<^ccV9 z`gR2{gyQZ&q50lqI!^x&+`rv@j~#xs1a(L4VwSPWeHa)lR0xyG!HWfcS<2evSy;CG zO|`SGAVaZs`bUC(1&Gu#yly?WDD*%P00lJ_jv!@ne8NYvNV`5U+*}3Ec|XXv;o0Wj zZngX(KW@Dz^#}EHXSw8C9Bv-OxR#mxN#Q?YRT^C+=Iy1R8W!80@dznXjmYQ!Dsq{Q zdDvFp+&_a@T88%9hZxS)dNeVq(_C7Qw6ABCg$9s;(LNJkK$jX-G3l zf=Ff%SXw$L3qxduRcs`bkQr%PFl3ftW*c@wP{^V+IBl>R>cg|mjUj9NBn$~YWkZ8k0%48j7 zpuLdH&c0vI5P_lh&Y_SlZBn?pdgA&stoZ-zJX$*r3ZUcgS{5P7(?SEUqxO2PC-JVA zYnB1STE~5o;1LgyNZi!Z#kQCxq}X#j1q^8X4TAdaH z@73`-?{FPjC@aTn7v&~|H_(N*`DPG7ia1Z$#v9Caya0o1O|~Erd8`6=UojCbl{dee zd&t61cYjKsx!!My(zEw-Pyg}=fv~-gRQx=b=SRcfPYqOJ`(oSs+y$JgB_vK`hudrY zZbP?g%p3o8@qr2)p4!%K#NsVYl57xebp4%cAkTMm3J~iI8A@EfO$%*C{3}oG@FhEx z#4(DbK+qsqCv*n!mPJx9K^H%M;miCV7wW$WGXhq=%FXk;-^0rDTsuOvBtIdW3Qz*25it#R`3wzjan9;; zygx6gT;^M^9&%R8xnfZsY-rx>V1_KLwka!*q%r z6AMHy@3X$OKh}N!Wqg6WpJDiES0xvhLw0Dga-%Z*y~bQQ$w_tb$*!eJs%ix0rmV#c zAZbx{b~}#O%>M75`Txnf;{V%u@loS-D;mR%-VH(l-B zcFB0rTUjuBoZ& znSN*E70&^^zzf7_T@Z@7Qr-or2b6OGj$(kFwlQr4{eJguPY)mZcB4ye(^a{D zHS&G7%dCH8&zbsXnAx+imI=!~Y-Pxe(8#_wYU)%8cX4yP@$V*U!X=&B`D6OSwLb`m zUsZ)xPSOL1IzZuH5VP^32Y=8g_;`MNvc>>jcj|wZmbCJEq=ziL`jeF3zkMYmQTao= zUis-lF@?F^mA&kV1hv4R&L8>c(l?8~Dq&3m&J7m!-#2@poIHPd8a8vm6K$_2oV0g9 zVX|CZpfKINJ4gPFKDlGb`xWNdQa~!XvwzgfthSdXt#hm07%vei&@;{ztZfXNB)vbG z{Zvcy2APG_KYY*hGWV1J5)GgGpvSj{caiK{yQ(92^P}RBb#gctHBF~tMe&k*_dqd$ zIRe^uy#M;-`jv{?^F-T6z>_5Wz1uVUm`#zQO<$vL>TmMtz_#>@RQsebyG34!e#dDO zm_btEF>^3WT295!8eVe4r|7;cWkOh4a3@#VF_Ky?xhvOE=|KW|p#EWxwukw^7=dpc z<$_=!ap@BZd*nrEvYJiPiuZ#wWAg#{oOQpvxp?GLM5PcGe=JSR>ZB40=U^z6MsGgq zLI+|{X}uQczT%EV|F3P_uLs?nW*{Q-do1S|lR$3EfcL1?en~KO0nnA_JAa(>Yjt=Y zn6F>&#j?G0;i1`wPYhAmxFWue|NT~(=BJU;0&0dv6h02@nbmm?K%yXXfoP$PBh3L@ zi~HW&le=yban!-5CZsQm_gl~p?o1q(yD)Tfqkiip4~`d3`?WC^`7L63mn&XIesp4h zF!^E!Cyf$V5d}F*UR?d8TFHcDJ6?sAv+M&4YsA2knY+^ci~OQSS>`J)ECWJV&wM!e z()~aTKn$_*lp#52ZMMKSMgDH)8}v}9boQMv`r83V+1{gU;qj?&x}80hAH-9kxl$lT zAu~J8A(Evr6GL~didS5DdHJZH)cuEhLa%D2iE5_V@DkC8yo2!5TB;jY@9u{HL1)oc zFl(MbUS7sMsC6LSR?FqaKTWa*aWz(8n?AZz(V+!LA`XK|m0_}+evvtEHn`m*geFxk;bSTnK1Jd; zKof+KxY6wJ{OM`@bL(54I0gk-1X*DBRqBaa@{Pm|?q4@dJ!@Wk#yE)~#YZ;Pa;%22 zzn6diOTLhK)7Xk@I0ZzuL4G@$PL^?`Q0A5|_MWzM4@2c?D`*A2V2dTaPvr=G4;s1G z*0~YTc|fcHc8y2rc}0}A?zZW`(#GCiR8~1xHZv__jiG6owUQt9@{A8-SnhOS8(%@3 zd9w0T?{a=;oo~ir-(WlyZ=NQR+;`$_rN3S(} zr%?`M85aIj6t3Z*u*yKCLZ0KkC%0_ZhZkR1>4Y7fO2uAobW8Qq6K&NhoAVLYnjjz( zn>qH=xvctQe<1L)mg0zIc@##HprPYYp4^>LGysr!uc*r}LX#aKLr;6z{&K||RI#i{ zPf;yAS9UVHthWIsc}D%3uG3Pk`_))0)g~y~DUK#pzWMu5vrQyACJcg(X+?7=wyvVM zB+Im<(lR=uYKb&NMRK_?b(cJE50u{CQ~K)AHwHD$#d>Fo zXwq$*I(YyTfcRH2kN^Wc=?7+iU`0@qxq#pfA&>K;%WAV*g}Xmr<)OLKN}?-#%#}Xk z+i3I?KaDb;(vc_*y}rpf5GgMFm$|b{s^Rh8U1sIYsjO zPyuFwV7Q4v=jxkCa-wW!Ea1%|7=q14!MlFC?C;0z7iAP0**b??SyQ|G$`H*zkObRT z5KQRgm|w1ODWl@cU;z?bYP`hgM?#BS_Po4odkQY~D*FkkXC^T}NKg}mPTM^Ql@}&o zMG{0$2iDx68BIOOH81edWOepEqKn=wjNaq?lMa&pAMTL|3~o8V@afBa<{&53d$!;N2fQ+P5m6@g)34 zt7UFMjzd>3p}*_QgEqf;s^E{5?e9ca5ha`@FDl)MVz|!eu6>}tX7=LSs_h~_&#ZpT z!nb5W!LL1)*9_T^bLOgluNNk+-(6Na^C7io5PtbVj*kFg{^Zg z3qF&<{bhmL7yk6lqm`jvD=o7}+Tax?(hhnE@IuK?Q1HXh+>A#Lq@<=z9347s?mBBP`57)_}3 z7~NJiVzfNQ+lVBq2uavYZE^_hvDER(QaFQOqWvag`wG#ymNI$y!F*H>X9-3_*>onD za%>Dgq)|~y7l&AtKBoc!RYfXYF^SCmDK`vLcG{rQJ*oG_ohzA9lvI<2NtN zH$_M*0pDH^gwz5kUP-2m3S~SdF?&K_?ekVghXlD43>|J^S)X4d5r6O+1W@p$?%WT} zTS}>v0@OX7y6e`!4>460O0kN63=jR4Z(e)d+^h(B`eC4!4bFu%iiKks(b1R^1slg> z_0np=5=|%ji$r@!%bukfe~u%DHmM&rDg?kbH+b5zeZ(#HOh)53ZTpVVx_!2AcC@Ya z92^90+Niv>qfXz1F*bNBJL9_MJ>)5Hh)EQqQj8n?nglFmQq53&f7*W-C;aJVTcaqe zsJw!~z)kf@nE>V^1Vh%5b~$rgg}t?J)if7&nnD~xzgteE1HeClek8%J)yVGXcciF2 zW1H*G%VV?&n+bw~{GXY+uL$uEht<_QyDc%fe%hDBd4)o96lgX?-H zW{T|oG%D__U)D9qG)Pcgv=G3{maW{nCGEB$`enX+++|4G6BCq6!lN`0K#w6qJmvnE z7WXb}6aZdBm&5hE$%_mgu3N3y>{prx-fh6_BBKeSA#o90V+-QIsW7CFH)nifT_t0e z`I$T$cu$pisLr8DOFuL~;EFQ=6&^P1A<_hL9Li$dN?0n8#KNqts-4rok^arTUV}$kv5Q8@U5^-?M7&vjtgjZ5%>oS zUUW$I=FP1|+S(OI)^+`BbLD1^dy>9hCKA>s-scpjKm z|GNt^@*n0L9Q2-xuK8tQqNasVkp*$NRvQgOcS_fk+Ha~GPKZ6m2Hz;zG!Kq6G)p+K z6~C&c+EkQT6_)8%=pv{{0VD-9Rzv2d0jvL2TR+!9E=)>-JjJ{q^noQc8TTUa*Std+`z|3( z^!%#FamC2oWTvyFPSK!{1i!cP>x_A&%&y!kzxg@srB+QhS#*nZh*LzF*LfGBWH0j8 zEk$h$bM1Bi4G=}?v4h6lCynyV`0i4`r?YrwFiIq^9{ArwjJ*380GOD;)_QoQo3bx@ z1EmYHrj>LumyQdfGo6$m@cH|I2JS-XXOURMr?Q4~v(r>?fcn8>f zXTG||iHF=Fg-mK$|GE<@jubd;PLtp5$Ub1b49Y0yNdHVzh6QE}4{dGTbt0e)*dBCD zXb5~EKeRs_eBTJUM4UyCnv@r`of?r+WKFcaT6)2++Bq*>hj$oL>|UzFnaJ}Vk$62- z+&sb_|6Bp#4eZQQaeO=_BEEpwE}CG6&V1hXp0pY55@B1!xx2dVjF_@Ts3rtoD=TJB z0z98wpXfbK9V#~zi-Y@eo9dt$aVdtkjNJYbn&_Wiw+p>#cmtp9f$hAh+1sv96j?*; zAGI~;1j4V5oe@D_jhnzkOPd=%i5%d3P%gNOufrjs^8B}mufBhOfm4>p|7AtEqb{K| zBT|fa2y^JLRFrt>ox83_q-W*=lhq>MICTpL*|#Dh@fk$J zG1_k3LEy)W1;k0!JowO{&7i&dtaD?In$&i|@xWcMp)M(ISfoAtNL}G4x~_SMBegwS zb4uNBSeBR%rqyTQXEw#%Hvs}yg9#E!n2x6AXPuxkWS&#Xt}(nDVt!7wMatkvz? zwO)h(#C1r{tjHxx%3nEI&du9B$O{OOd2SFm0;cf1$z&)ravdM2Mv>=e%Fwz)ErrFWREzc`gd z!N(vQ!+>QaBkBwACwGGA-nA92dlF_977h{{wvV`#?U5O=hUP#{9{spu?|}W_r(R<- z4~r*C+%l1T$o>m2K9E^u3J@*7E5~k#Fy24Sj8R@O7AV;Wk(5;6!-h=AZL&YCdzaB{ zdOY@gT^`8Uz%mzqg!{qxT8dN9zEEO~vVPUOMnq?WC@zJCWuc)?=LehjZs=lp`us67 zZSmMMQh#)|@1;=rls(jrt9)4t_utLNKKi7dK&+O7z!dfM7sPQ7;)x{-DIp3bM@3OO z$IeC2iS=Ew|M_o5um4VZP{9*JHt{x ztTQS_9Q1dTUo$4Z3ezUys@;eaP&pc*bHTlHZm%q0YYsNp;lbw9+V+B5GQYozC^`no z+2gj(wlm=AxkxF-9~Y1HSLejN~lVH>kx6kEUoF+;L6)0f`<4qs!L_a zi&7V94x@HBy3|K;?;rV2&Zs6CUNrkV!h?&Fcr=QQD8wd`QUwnRTFo7Y!MOhRL@A_W zU=xf5QyICiR5W6A9cvl%cgen7F*Se))ASDPo4)p2N&-FoBm^6EGLJ9y{$|jmFh?@# zs!%i{Di)bW##a+Ps7hT0@I-UBqStkht8Z7Zb#bE;Z&bwd92hrC zieWiB%t4B>?Y`Y>G2E{MWFm&;*X4cS-&nz3&*@2Q!#$AwyM%=Vq= z3TxFF!Z_HVvIzvN&mpU4H3WvfsK1Fbn?YJ#&w@8ZYeo5J!rXkVLktrl%xkl)#?!WrKlXa zF%nx}&DpRR!MCO5U81clP(iOn&w9AYXJk;d-&!e}iHx@PBwDpkCWK7^{k}9KQ7B#*Tt4`cGfHu>x1}!xyl9+w3qU3`wy|84t!r!7d5aW$Lru$wHr8zSB&>L_YMry*cliM0}Jjhee?VJWj2 zFfrv+X!#c3m2b>0^b-tc`=$j^J_DRW*kTl8W8qkH>iTuv)?L1PUD~?%c=sBo){Ywf zg#C~y`De)l*Ntc6^AgsES%6U7)0VH#DNA~}jHF8`@1>KK>}+4)vd3z6Gbv@L;Q%qz z8L}3)>#9g91l6#Qusx4^f|0p%0c6(FQJ?L_W6w}Fo=7YuR8Gk~+@IF(LZyfF$t3Xl=G*Z(<$ODkM{vC;;>_w zfwVrb@Gy%oaCjyVB1M?!G!%mEr75UmYO?d)L{-1g9+b64Yw2_^`#LuS@+6ENDp~}u#QFr=W3~3M$I5L(r zTFD43S-CSt=tg5LVyqb*e9eks6ShE`U1nEyOiPqS@dr&z5U5!=u3m)sfPrnoAC<^> zjCvzGhLF1Biou8SJIeaeftU6q zQF;>pKTR|^5jE^ThIxDS=u~)8r~}5Ob_yV86Z^g3{5yQHX#44d7aPGIYkS+%KrnkW z!R_IVz~~`{{E16mrV52>x`R#Z7P1REneg4S4Km+uv9(ok$U$`tfsP;(zgZFOXK5l# zflSXcGpme%m_b(d9hb&ekwM?|w;)AXIT|W&$Nt6d-uXBvJM}T(*Q&*; zZgBa<17O;UT}y5LD@2GaS}NbWAY8wJ`%{+Hw>>8_*NtA5)-(=ol66%W20Z6$LP=9ccAuZ52u;FWLDn59ib1N8BAH_GBTS8QnXbv1td)9o|te@I-D^X zVz@MbloY0(6XRehN~aD5@Hh!WXWUU_bmhcnS;tRNG$rJG$$lo-JF@(epbhG%(l*&_ z(H)dfj;&VIbVM$KLGiTr8ZnID+kAvjPye|8Xk`o!;p>|6$P(S^YB+R4n!@}-;#fQrS zbQgQ&PF(Yw;e-DMClzSYAwwc}>nk7=^Or|)rs;C%6g$%@9ok@=^6&7yVnpno0Be?iQuG8&*Bui?#vWCO2g$HuoPqx<*!7 z%TukB7D-iJd?W<7#gT?2HkH{t`~+y zmJU(rK9`l#(OA3T<4Q}-dhJ|L4&^$GGhDV}Xe0Ai8AcyYRJ2n4yn&^174x6J@&glp z5M|#be2Ri6T2UM3%IH}a13p-hleMAYiQW) zl51yB%9p#bP1$V>i5rNQ)Ov+JA+t!@;;ha6Xb}f~-^?c44&^ee6|l|i!ZR5>uSP0J z(_{}d->fJ?=<8$g%+$I3%unsSCUf{erfub*RPs$v8YeEN9-#Y*5 zH8_w8iwi?8C3dfFcEv;HCbCj7{$}%^oHo!%@i*5+RJIdO_5|5Gx)2I%gGdV`5~LN0 zsS(!bpQvu7ob2Yj{pIkgE}{Ay0Z~NSJ0!l@0Y+}E>|cxO@$7KA_v`P#tFaDRr^Tv? zK`Q_4O~ly^&a%Al85VQMfS80+p^<#sx-eXm&X7G5KC(qrhcdAx6NG@eVM^Y@!22YX zPu0meqnk8@ij9R1SdZiLf$HSYQ$nl`!y)J35*9QE;X`lZQ2#0r3qx-~gP2G~5w}L# zg>jTheez!S_n=9dnLUaf@3}}b%MTNn^WmR^O&dU>su}M`b?3e~+GJ9KQ^%1@-quQP zDiCTyIvE6zHjKlvmlo!x!)I$Ve);kR2Tk_D2xtH)F(jseDEWHz%bMpVJ)Y$2IA^5+ z7v5bp8K*cPN$8*f36IWwrANqiP4$G;);eRhid_1?#=dt$j+VUFwcGCxD{=#dpMQqU zHa5CXJP+BtYrPCN<=)emsT43$g;`b-wgzNh`y@yp9Aw@DG5oOt+)yM&>MS$+k4pPq z1q2`3v&&s2CC<0B)Diw*@H_Iu-hZXz`W*w7NNU;WsaTVEP>2@8d2=Qv5xik0$Coi!98Z1q)Q3&kErj6BD+lHI zRo9ZVKHkH)INK9cuFx6-OTDe9+i z5`RD*M16rsUw#|aP~w=MIJ;?bjB4;{Z%Qr9{={<@p%%sL{Nm~#004-E-@zR2;BT-* z^?#~+AD!vP6%LV9kYvMTf{a`ccz&_y)kOe?@vvAww(8fvhyh>u_FEbN8wsx4jsmLX zYy$E#O#3KEI*rFMxAlv>D^XZT{+VfwmtOY_!p!>QV#{&hKmf@5c-|;Tpx?_6%zd}W z4-7TkzQ`Uhj~_Z|O;1Q2#ixP|F%0}cz$~J$RuxN1TDUyF1nf8|BkcRD9I~3bzP|Np z&X@_`60>JLNY1fb@Ic)|RHJ&v`{b9Usw$5-DhHE}bnEg6+d1+ioWFaz>3F0irg=OF zf&_ApKp|4J+J^?79^liiD4{bQ2pIY)6~r}8d%ulSkipxGLeN7fv!=nML1iv=3%b)mCQOMIJD`=0~7bB;k=~CuZU+`}orBYZb?Q|GtDVghr zgcX5E!&CB>FMhI@i!wIkkMx%t9&n+pD>gtlj0rkw?B++&7k05bz%7&`FN920#zE&e zQTdB~5rJWgSiB6QM?xh@r4XGU9Zh#)A*|lUC5reJB z-C$O2(D_tT^D(uKY}I?gpZi}PhEVs~ga7yLmrsX*T^=VY3k@W=9f+IXFe$ypeLmICj@nKJ8ZoqX>&_9PPq6@3MIQleJ7(lB5x0yU zB#J$62tD~6BpeK$B!n|qvGs#xg=Ua?ry&_F-<%ZbLnnxn4VvN;f8ze;d^&(}i@bwX z_3~UFl=78a?#om^GHT;4&%p(JkBc8EhL{~>JH)+w)Nf<8witDON!D<0Xt7zSIES@s z1xKNSK2p+lgZVp}i;x2-h2$hT{Kgfje&?z{9$dthKZe@du52*wI(et{(;?7y*{CZpECSnN7J!T=_SE@LK0 zVP_`1CetY}Jft64mzWP{i_YE;;X5j185y&h+O6u)ZpAVb0p>r30U3g!MTa26I$$5z77W?`81l!u)Y%Yh z!w~KFyYF7|@rhFGElA^-$3DF8o^$Rw=broVF7Lfm=8@5{k=Os=ROQX_@11!2mruR1 z`Fpcr!uF{oCGZhnb%PWEF~}Na$|vCSd^{c zO=VIk>evCafN|hHU=NTmgL1S3QK4M}d?uc6!#6yp)i!+kV`RS2h9C0qf2|F_%ftU2 z@Vk*;&A;!o;e*t${|Ym0z{q^R4d3vX=IT{De`%sJ=g9rphjOJ$nS4DjS*KR2mz+xN z!MVAbU9ZVhX?E7BOjL@cs$C#Q%yXuizbp?f)N@X?{we!vjn9Thxm>}n*h;_ppud}7 z_kWPS%0OzMpY-S2I+4wWh;*940*t6nkqbJ%3?Rv*&x1}GB4IVTFF|e*{1G5wHMw7h z+^gV^012zf{Wj$2_y~mntI7R7dQUYcB=hTVM^}{u{n! z?D_fyUGmYstZPuVh_uN3WK#ja^BP$J3~ zbiP&KIp}yp$DPrnwI8k04xB!w?9VRPwYn59JJq7nzXf$&UH@Cq^+2gmb!yIB-HK23 zTjP_tNh^0DU$m>%m~&~qRK`OpnMlb*?*6l;Z!vw)m(Pu#e&h#mFe~fi8u*{-mcY-T z`<(frg`5aKO`aYRzrg^^yCc9nd+DsNq4Ql}o*9eZV%ax)@zi`~*>ea}A0l-DDa(Hq zJ}e?7kN8s}(LO!uqKlTIfh>U$yf1Z1{ofM#r9TbI;upTMQyTKRTo^w4W%gy6%Bnikb*KZdc<=l79y^7>}vj1JnR40MD?8+wDPe*Uu0X#Rek zvMl3_7)6ZU@yKQv z<42$zpVpY))=YW}?-zkEymtma0MPcGe3Jz7>+c+aHu){g;rO z|9U_swg%)YuY_b%Dky&$4a$-4gyeH0BE#>7w)VAFuPzko zR*pM%3w0b4;4}KUXk?*OsSjHBmz~*sdHMp*CyEmpbe`P9=Q5?*e7;_|V5pcqT;WNl z;FrC>>MYE!5L8s7PG?R;pFRz zyOLI;#NX{bBM#fnRvRt;Iixc$-d^*f>LKWoqgU(peZ^uGd++XUzSTUf^LEa964UKU z;pTZ>i*Tx~u>ZubrN}_rA}h`WTgnW!En`jwx$WN~o`(3;Pp__qFdmbii`tbl{ox}{7Po5vw2;`PLW^9sD;#=w}f0KZYd)Lq3l zG3n%saVsA8YTa)gu?|?Nervy#?zj4()~j$fU$e7buZ@L?3r4`FP^;L8~n*wK{8Hb=DwQ{Z``2)u&pkKi_)p zO}|zQj7B9rQT5c)Uqz^-ntV-FFm8E9rP4GQ_ZvNc7Hb9&?KEiAds?dz!lGTS=V5_% z4w-;9YNd=?MZCmvpIyjT?II*qiNqBsHctoi)71v;D*A}aeX2oYtW+nxXkUezpUc;n zi(7Mp19fLEH5B)lLC^B{m)5QYZfVZ)*7FqVpnIO`&i&CyL|amJIO5TRR+jS4if-d1 zVZL4Ih<7$g@(;lxs6tXWlN(OxZPOp<1wOGwvC0ZAQn&Tslb93Gd4DSIypEtmKhpI6lzZ5Lb+BJ$@{F;m9=?g4ewiRt)@yo2j}1UuOVC-Bfp|~NILKli2%=`N9APiW;ReDigxOee;YOFjo$DO zIWG711~{(Il=J6nlDsmU98M-vLeg};dfu)}p?2=bxul|;uGFhng|jcifOB(o8H4wb z2uXG*ovy=v!V;bXvZTZla;g_c{J4kcPREp63${zP*HR}LU0P2v_%hBo44rq4mY^U2 ztJggAZV&yBG<`4h^myn?9y)Jz7(L(g(6@T%-`4cIpl64N{(^_T+e3fRL$^HiFN6NB zJka|r{7$aJ2ja0_BEeWT+!vBqe|T?bGIm!u651E(jrE43p&j6z4c`&k9Xl1?5X!{P zg?mCLWA}uEq4C&5_}mvegwNeddSfUK>14PI)Z^iHyk*0jWsyO|PMs(X)mom*v&>uOJ1)Jw5a2YhA;>k4CS)=ahd>ptU(JPW5)fziz?8@`iM< zGjvH0#!mn@a9K51_c~CUblz1mboO&2&-=R^U#?BH^aN#XFnVa0;}+v|glgc(nn;SQ`k6@*66FTZTZq(szlP@c}dmIv!v%Nu_j{XN^ z=r^rz4*WxZ{}2Cq%UA#D(A`Jx9oo6;H$>h6{Y^3fyhrx~=pft!{43CxkUl7~s8jhf zo!66Pw2c(g|Q`Hr^1*ruT#0E^E#E+k-zz0k?i+Qno4oy^Ff5 zZj01B?8hV5KLqx9&JHuc&jY^+d>!~BAlotx{BgpD*HQu1vr&nyz|X^~< zdFMLbwbUd5rHlIbn}U{YYWNxGWB9lph{_IE9&NHwx;J-$b_bqAnnz#RUfbdK2%cTP z-8~Tc#`5bSOBp^>hR=Isw|Ztgh!7DOaWC`o#xiB2o^l)1vjjKF9V$LMf-k>@*+A)! zdE_?w+j7ohi?`Q)i!>(|ha2 zAodUxBfS4U#|aqbX~VgU^^eVKj%3l(cDgQt3)6(n8}T2rW*Sb?fkYxo?sv7 zw12zk+}bp3B`@!a9KN1KH4fsNKF<=IuB? zKcM){t2f*W_m&STezx`GL>+sy%7v8Nii=P1XK#zXE+uC!j_@*;@wpE^?@?UWZ_oFB zrK6P}@c%UpRqrh-KAat?V|khS&2Q*w=T-q!V^v_i_-{NJ`!NiAnVNjdJa4oA3>A5&{jn}G zjVaG=jI|HW@;Dr6j_bIZ#;jn|J`4RU`h!1><-@*MLTeC6NL%Ho+YhGDdb zl=ruu#jxVpAJ=hl;PZ$%`^Gfnd6ve%$FT)y0ogxdK#o9uA7G!k1IYE?Mj%HbRH{+B z0V#EE0@4?b;65NnG0#qS0q+Fv2JQj=1h4}iTm`=v2;?O;3o z;A^2UiA@Z#t$z##TajSuRK}2oCbp?lHEly;Xwv=|ViSL${ehUY4aykWUv$6UefK8M zt`o|K7^Ob#dFS49&OP_s^X|Rxy?d_{-`%@u+k^M*{?+`OPTl+Le|{3&b2RD^k%1i| zb3v~MuBaF31jd1-29YMeNDJgUCN zQ7YKU1O2(tylffVmB<{3Cre2g%oj7IOg>lKF*;hbOGVi+QA*?sr7zh>RJuQx&J^qv zRV0zJbG9;|E+VJ5v^=+W^WDgkEF+YY^+^U&K3y~*>?8=-$%&pS)K zMfwMY9uUGz{vD-%=b`sq`UgF8k514&z}yEzUk3k?^U!-0ddH#1eolCM278OpFHW3? z-j&dM4tm;*bRthMei?dm#y&Jy$lorb*?h9pdAL(fp7eE_qAu#OSD97|0yRV2G+lc1+trfM$RV>8@`cp-Ucr+vqST`WoZP`;2>_7|e9 zGuwX%wzg$bg?uqTTCzer+pMhvi2*AymQ33PYg7KfcqWTPG!l+Ve`3pa)3-=>ROAy| zH}4L?!9kfL--P`32Jw6a-KXzi3po*9O`aYRpJV{Woe^NtZa&-l1a)3-Mrt}uoxKRh z0z_mCl=<(Yu1Qd)iES7P3-ss;Oj?Quws?A+I6f`%jo)}>^8QCJl_@=~Uk{&H_f>8i z;IJ&8Splu*wox#3Y1&t4GIjcmtk3JTweP4kxe;~J7_7DbrV{Ed!^4kHa4|yTD8jB zmguv(!jVWYa9KRTf>5UZRlsMM2UzM_yL=uZaGC?41{ZAvy3vW>zi3-uYdBty)O^lw zR{|qKS`VbG2A}T;RC~Ype7CsPI(Gz)g`=LY{nHxdJLR&>!(Fkvy5i6Np}p>pix2KG zdXy2}@Y+qWN|sw(OJ5)n=nfxlyDs22D;t(xp|CbsTxrOwWxG%++EHDN3mKKF>nc>I z);TH^J0cZ|Q_CQgik%gTm8&F``ju@OEL$_F(2i9$t#XZ}QopQy*7O2Qgm zd?`Ag;TK5nuen()6(&+8E5Vhpi4xY|aShxR@K0oNrI@uPn;%JLhsLnBpYD&N^CWKG z8_yKSlcm&{;bQi1ln3&uO5H7m{KWVCAP3d#(!vQX^_5(wf=}K$Qi1U#3{H z3!#xn8$Fwvs@VOjOh9Gh?r^6XC6(RYHR71i1<4mX1W#=;KhgTnq8exD5mj<}+!voQ_FkTQZXiS(#k~Ww4w22 zp_EBwZA=C?XmPlF&IupJ{F1^BV#!ifr>FM-P{i$tHKk~&DI#WB2RTFJi&S)GjZnxs z=jEa8*2tdlq19GZQFLZe$IPM_L~U01@R2*Gd{WMjmv4vCuXFBscp#rlhpbS@)zUU= zrPbMHwN+^%OwvrUs2UiuTpdnXiiIjGT?N~&xUaNg#(XvVX**j=q6XHp#sqY#RjN`e zjrloo$3(JVr=h7zgb%}IlUk)yN2Yj3EW^8VipN-~DDAh8z|6hLB6A^YG}ckdk4D#p zT-6{J(9Von?v~t$IJgF<6UYcu1Af1@sVs721pMxC6HZ_Q&1TT21EYho+CotVMwM`n zoLLLG?O=!m0=MQS4wTe$v>1wZbg#Ce_}{k288-(wV9psY&TvtKML(U@z|w45{RCcL z-hb=;xA-CV7&p8&ZWtb&$Y$3R?2(B~Ha$F)&u5FngZXhgJ-pK{<|hg%yEyFZofU_* zQ)WLuoWd(aI2P&bj(4w*uaCqx$NDy}jrDeQY>xCsyCR*@wY`x@I91Gt$Fjw&NV1}~ zlB#W7)rR?2*H%Eak{p2_xkkuNZO8#+G}GYT^)90#Hnq>U0dxv zr}}%&<$sHKCUNT@`9*){!EgW7^I<>gsn7i(Ly?p`Fa)ISKmYpZi>Gj4hVq=2fz;qL z5&`bH_saFnO}s�Pa(x{Hxc{^W8ZY*&sJGdpNH9vdMi#i5%{ZbVnjlA!{gE*k_j{ zRouIFZ$xo6=Sqbm!fB6TSSd|v^Sg)60FKiaP3Pcy@l$FLLouX#SP3 z)8gVk;^Mcu_{Us)%fl#}+8^pgp*zcKquzs;m{8n(lXZd5nTUgqEWpEg| zOM_RdTx)Ph(Ivr^psoI3aJ6rde{t|yde^;G(>Oj4I6+73f(Ck&~ zHgG`I$)Kuxkt)HsO{f%}rXRw_VP)evRl+OVo4wd6dKWpKdt@z5o>zKyuXr`Mc;S=3 zf8nQRo{-x_-T{A-LIBU|@C*%M8L$LC#~=2eCN-54IM`^K3umX)V`O*e1#~mB)2nQ+ZzJHI-L&UQ>Bn=QWi^w2$^Ql@-X}fV`%7 zUM>bM`qU_6&VTQr?W+5LnnVami+KQh2IDgfyc_rw@VCG>fi?JiM&Oc{q8^?BV1HNy zyc>NvfL&nDLub!AyMu#B6B~fLfrJHe`C`r=)MylbSHk^elk8!uNrIv^e_c=kuhYsSdoQNc*&m zzH$sKf!{qyJAOM01@w*O=R%h{OjC#HWzwqBj0X`aB0bI_NuC6yZopOU5|tM3JXxyZ z)8ZZfF=jwzKj_k%SD|;QORveL*R1te51*T8ubw^W$j65pSHK4B*5KldKy96~w$5p_ z-CA4ctgUl?hSxdyiz@<`3;4w63KQWqho~pBPS(hWih%q5kMCOij=QAd{m;Dn@cpk* zTVEocB}{UC#0(VmCV?LZdaUy;%?|k)29BAJ0w3vf>;u0F zt&if$M=rzX1fL}pc~HABlFg^~JB(5Min`eTsh;TI)0Mwc;&|QwBycL@ zw<1r*P)6W>-*TXNS*ZPTfl)EQF@DG&Rp&l}5_o8yJpcH7d;tzX!2+%ZaxcgLKl&~; z8BKWy2;A4R@U6hK0WWsyFd9F$Wr5X-fWY!1><-a&M6PoA(0;ktV!^Au|ce z^E)97C+_|5y)FbSA?EBG4bbOa$`^nOfZWqv3Zx!KAompcZNPpL1acJmfgGWi0OtYu z`*`|cM(;wT`R>Smb{Vi0csZ~JpL_)Pw;5_si$E;`wFuNAaPdW;e;~e{&vCBQq*C2o k>${R`aez9yJ~@&~rjjEak?v?mG(EB|ol1qr(<9XUA6%>y5&!@I literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.3048D89D90DE3FE53B72E0B170415B00.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.3048D89D90DE3FE53B72E0B170415B00.cso.pdb new file mode 100644 index 00000000..f2777002 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.3048D89D90DE3FE53B72E0B170415B00.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76d072b6411ac852a98ca6cfe3bd7e2512f7b0260af96706234ba87272cf13c4 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.52AF64226113D111C7C55923680D03E7.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.52AF64226113D111C7C55923680D03E7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..c7d5b02ab183a845d9730deb821bb79382324016 GIT binary patch literal 66662 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.6D4F2B8F547360DC2A71F660E3706939.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.6D4F2B8F547360DC2A71F660E3706939.metallib new file mode 100644 index 0000000000000000000000000000000000000000..df996c5daa0e9ab8fdb1a107f7af36b8c17da89d GIT binary patch literal 67494 zcmeFXcT`kMvp71yzzi_tAekX&7=|oCa!`<*CC4E%fFwb3kQ^j~{&o*K6;t?y9cps_Im`XS5776|uswK{%klQY8fI zcfsUOJ?Rgm{R<6({;9M4sT2Kyg4ll%dddHS7&M0Wwt|)l0m#nN-OI||2IT=VFx64P z0%5Bw=&Qp)xLADRrRrNXOObRM3eM8wRtr9Gz1OfnLJF4vE3SnyZBgD85Hz)_xb=U6qNHvDV5vG2I~5HN~EA8%D)7)pZo<44Ka=y1C>=2H5x!h07l5r#{umlr%2EWnvD728HpPQQi+TnLy$iUOn%|}Sb)62nLNYBB?(+_Ru;3K5( zY-5iRt^_#C&(}fU6YYD;A<#z<<2*reWl>e6qNJ*rsDy|(LRkr^AR(+OE{;$UkwAz` ziAV{$JNVkTxuIk=SjCFO7LDB*4|>L`M^>um4p?rY~0 zdVw*bQeqDIwb0WZds#94TQKDIpqRVLV{Ll$WfT-YGEc zmJp3&F)bA{_J=b~Vj*I^tYZVYAz|=X-<()4QpjEISn=XmFLlUW=SXiTf&?7M&U^&JDS%9(xzGtH88h!VuQSxCUsVz|>#DI95WmvB@~y$GBUL>v{>6~M>c2bHi4Agw1UTaaK_TAOvFIE~ zFGGJgMoCaVrmqzih7~}0jKV}qEDXC?jG&;@*dV}muULQQ$Uya2AFo(6JXU-Xqpg1q z#)<&v$h%NTkUS&|Fd5?kj2b|hg<%7W2~ha;e-)Jj34+FYn*fGG0s|mH+_B!pvHpPV zq_IH=hz~a;5YrJPgc|}P0hKZV`tC_O|_R7Os|Y1=X~UVTgoz6>4mVT ziLt>vU~dK`WLz;+O+#N9KjRJhHk+2b$df_kGHY68>nMdNc^YMCL|HjcY1F8bR8<;h zajuDN?bN1Z@_U&#aBOx4HZ3v^O*uaC=*S3bQU&rcENH}}GKDS<77yt-Sy(?jf(^#X z-w(%Tfw98+5&ein>~S)AA8;SMpA9e&}s0VUPe|W?%+2);l0Jus2pR z3`Zgk=eie;;5}{GS|Xri0-M`bUnD z27;jFF~Ysz82|iLb>ASybOA`icz~=wHGTu}<_$<)gdLll02BrcfIRSm*u|lg6~K6m zU}H{5%;AP)%Auhp(@ago=TsX4D-k>>CLJpVtAYqhK{y0D#UKblYB7kAV6qrQLO@yq zq9D*IktZ-H38Nw~E9s>o@G99Ls0<^hr6j1Qfzo4f$6@p2VDnaEm$~wX(_(sj0(24# zKoMvd!{8=^BPEt>oRVbJK%(OBwds@N4ci8h9Fh{Bh7pUv6oHipEN2Es1n%!r5z_DK1e0rM38tONZx-U{-i@JLORH} z2JDtBjQuuDj)-{au1M)gC8-u1nXX8gC>-hWPn379A;HcN31?s$LL|asy;6Z47}#|o zcfaETV*SHnt$?{n18iThfjQy)N1up~Hi*CW5+5LNY=J!-*m%c(=PNc0z{WTj&Nya+ zH=n8`HKHVy^E+=Jkjzw)jKh)691sFJy@-&W#gT3rfDNN!y-Z@!UXi}QCTSh(OB3r` z983FJpX3Nca-u`Ll}h|xo@5hFd;nMh=LU9KrhWycX<*L`XIj}{z#J%8OpY|Vl1)n2 z3nHb*b=dzHVjb%r013#^)jUll!FYhl<@Yhfg4w-8u`nmaI1A$^8$5&PNXhX5=_Vyv zz#$j?GFwX0aX@t-@g)IZX{53tj6L(nln+R^4+s@R%5*8o_72E^0^z_6111WLTfDEV&|&Mg<(Iz;G*Fp4gr{VG0pVZb78PO+YD} z@LqIWj|!}>d<$*_#3m?D4`qKFwBx@jKtSUJ*YI%k{2SwM=WK(v@<9bTD0q3fIlzC1 zCGfj{@xn!f5eQ*HF(eYs{hQ$EAn-2~j}|6^0V0jx0T0T}LD1g8!xQc9V`Y!>v9Wb? z_$SHH#>W>3D1Du+96bIT4Q=BN=;i3>fVOgU@U?UPrvP7Pw1bVkm6xXv$``Q43guzt zghtt8WZR&ftb7B#9IQM5em|6lugKq648qCH)7Hk#;5WO5GKTU$i24iVg!c6Fa`UwN zpPK)s{kQIaWB-zh@&Lj`2RmP@zbwFX^v4#AQ!!PH*sRlqd+R~LZAe(nw)z8K_RojAIA+W3kFh#H|B{B_WtE`LJ}kGq)S zAAq4?0$~GBO?5NiG4RCH6j5$&ww^X@%IpFqTErwJ{SpJKtQYy_~18L-NwV-!QR8c#|NYQzlQE_ zAN>nql{`Isd~G~@^&NZ>|14vMTHhD&p*zM?YC4AcD0gKWUmKl2bHqp6 z(b31j*GCU!YwPKu@n?L1$@6zn8ExaQ?dSVZPq_ayU2qkJ6z!r$!xmVYWC{0}9B zF*5WVy!{*i75_Ozc7H34(GBy02IVj(2MC0SAO*8QjcF6%;C`qg0swU?F90T>iW>lU162ei!NF5dMK}Ovpo;PUm;?9#@D|_$z#_m0 zfMtLW0IRS_Zg3f508W6-GmePs*C7yrRm!LK!xV%8T%{L*2x$y=PCw5$DT4@j1g3z* zK}32JjP;AYhQ;v65YEVp(3Fx2XtGT-5mXfuRQ3ARV)DQ`Ode8?$-@=+s{47oY&HmL zy$A|ux*~WBuqE)CFr+jEehkS0PKY7Vj$;cH^wSnA2u$|#6e!RwDDoCW(AD<|l=t&g zW6^J5^Asr3xA(y&dEDlBaw7a*4A5_3GfehJh%Lf~d4NXNxp*WZ>J%X|Z;+2CS#>pvH^9M+ZVDI|-QD&#(|~MADf`P=$c_7cb%n z{cgtOd^SmlX_gA1le_rc>>xY~FtZ$?+o6*SsG2R;6)uP|^WNlXA8eH8Lcx!q5-{*R zM1-MA9wRNZ`11fPT}YFX$DkB2caG#Q>j=3;OAwKL#D^QiCru>35CdTZA3u?Ng@Cy5 z7>2$7`%^&Q9u7PzK!j#WT@DExOXNxu?B|3Dm(d``kTCZO=YI+DBPPk_l zGb9t-%J8uv^pUP3l;%5c=F7;x73@RLfr!oTpWeDNw6?S{y)f3jwy`_Cwz92C`x=XJ zdNZ?0R4V%!QmPHvsvB`11gZgIBg_XaApx2jh&doZCSEy8vOwt2q$D*t5V6fLR6+!N zrvV|+HVfnK@3R~YM zx22qwmr6y@`Estp9nzvi~xZY0m!O0lB&xDl>&;Ou}?BHNI;O4nSs8T zK4!@S`;(`;2g=LS7uc)em;)Brp)iN55+5JjKv6*f(^OdG-}V+8k3hH=h7&jh{~HxS z0UpnXTd#w$a3b-ssqrYlnlMi20*xjq0=Yn%Iv8WaZi&qy4r9fl;C^BQjn9#fCyLY@ z1mAR{(ZuG|u^rGS7Y!#DO(PdAAs2l@F4{*fIz=wJNlqV=SB#&vfEZNPEFO$0;dHhI zgm5WfgpA=^>2G~VdM6_E4^fd?vHvzlU z&3Sjamy+9SLu2z__HHCQ$|3bXLz_o?JtP&W8 zTCadX%0UBcUu{6bwcKb`S$5+Elz716PaGtpdjYN*(gonI29vzuf8FIEiAh-+ z&@c%DF?Tv3_TN>I1<*G!Pz3sR#bEw*pZKrn5jZr(MFngyF{gmLjh&}YfG|Q(SX2;L zVE;&%djKI!V2b)Hgz^zGvGcTd5Cr&ut1n=&c=-AVDLdSCa0Bk<(7*5LfaQkr_|s0= z!O_Og%~vo02v|Jbep7_}e9%I_V_Bi!-3r;FJcIyc1l-*0;Q}^jJ7@TB)!=`$vicJW zTe+h=;D1zv3-|>3pglc(;r|QWblhxw9Wmjtkd}>|w!Vp=*B`_`^asNBzsbT#K@mY8 zdsn!CC;b2amzePX7cVa10uJuB4)#`mu37&#KE~YB{%^-0xPle3bF=Yq68hKN6vE)_ zZP5O})BuXVXNwiu*9w@Vf;J#xQV>XAK~D)AfC!MHnX{Czf+?rI=}?o~0tmPMe)~!j zC`{x2)$xtvb#q`%oP$AN5F7-8TH{^G8W`I<)`0L9u$35Q$kH-2^RQB;-abrk?!5BpUM6qwR(lf*`8iSrgk1t6ZTTrZ|KU4Q=_w-jZ~mfmEC* zOfs4%F=_^n(jInC*W%8j*_~RGr{Uu;;-wcJ(0g=Igb4|W)2kmvga#wpix43}MsjcN zyFD0}OL%3@`2xyzE%-iRnS_>;=S9bbcT8A|+!0I3J%#kCQ^noToKk16@X?1)&V9J^ zKO3KT1Vva09D0yZH5fW8d9vncF6eW7 zgG5vm;T-53DwfBv(zLNKe8Ui)WSS_IhxfAl z!;iYC%iJmN{+{q^k&i;?NArDrl}Y_x(gwVA)xDwdc(apeBPOp}9}{)j%Fb)KUWQEB zBjT53g96MxQ6tg#i4nqjhpUcX=Yv*cnm+`f6?Cs>Ep=I}Z z)z*4GF}iX%KaJ~->^4HUMcjpm=E1a@vlFuDKAq*MQ36!pQ6b@NueBBkX^tUD={lQT zOP3IQoGv_uTsf8Q*VhJ9XP721rBxp5u?r~)`IpNOskj%C8X@KNX>L)2>kK#KB(n>a zup_Dx>Z-`n4X^9lHshJD?~FfaCMvJIRtD`idPmxmmZ=xBCjx^EAO|?JmN)M=bLikuqPC9yC10 z;6_z-c+}JD)4m5YhYBW6s(rO_#n)fYGIA`xG?|Yu3wQpSL86WOS+0Sw=gMK?ZFP!l zPMB%G9WLEuZ8~AI?dvven~tU%+pBCz0XQ|eSYhZNw$|6fWuQ>Q>pF?`zKUE82tsmt z<+M;yAh*E>7sZ@ALA`}&6(ti2j`xIW$QU)PhA~V=LdJqLc3(XxWkK6Ks`@X&W4R%06pzI^|BQ)cRhbrA1HZ`Q^gI(!t6qF@9 zd@V+>j_@|fF?Xq6y6pW8w%QAgYsH^t4dP?Iv$T|ew&QeMd*3YwPVp2%EjT~D^{V9< zDNMrhA$}OSRqs} zxz(%LC543QX_}@86cq|)8`#M)XZSK9HRtnw?ez4gf2U9PQt;u*H|emp zMQ~&AbVyTh{hpJEx<6u64F@w*0Y3>}aRr#ft&I4v#n8D~HdI zx(HX@Ud*j^?scx6b=2S zy!-Tp^z!pyx3%-euKriYFABRmf&yO&dAxh}^y870nR|A~$78kh#hFfK|Dll8Hx?5Q z+dR95=QX}QmlQp|cQ*6!-u98v+YqkRV_7}nHx19v)`KmMKD}D>4e>Yo(*4EL|M^+r z8GZNdZ|BC3{PE5|9!cFj_IvHR+9kcb+I}>w-S}-S|5z^A^|;&c?8(9TYs-_sry{G5 zToz@!kDngLmQCa%km_M<@*r?;p0z4job#k8UKk7;l~z(L>O6uckNKaTW)66?5bB*WGglHN|-eBQh1(;Ya$IU^=D>D z$z7CLLGrURWHrsUS~Zn)AaI{rr51R+5(lbQnFmYKEXvg?=8D&zw$shiB&(dYx1q~d zO+sp=e&wpnm{BMnuBoYThm**Ij2={WU!^K~;+^HBQVI5WRh zii*)7$sg?_i}H%#MFwkAl$YgsK^e;iOO6k;kw`IZPG@b6J@L#-IuhO5PzsH`3W?fa z-Dk4;qcw*-Kg+&~G1u(FHQ1q`Fc1Yc0t^dt2H{nLCuhK@`1rJ%W>I@u>_9dYVhTaQ zNueqxEIL}5lS_w+n&ITBikDF(6ULd=s=0c<>*l<#xYBCTMxnQ4KJH?{?M_!?=t|wW z>*b}r+&eHbzJfqCmCIH*I*bbA!WRF55uPg^m1mbPt$xhr$Ly0cG`j<3)CcJUA1h_Z-DFhGKG~@kE z>Gt^uU6VweMUR=gTe^B?bPM+P2As~W8Nc!JESUCWrPvX#pL;5MJ&1aLw$9^O$Nb0H z29G5Cy``FG12uX>OBGTdN)#u$c=k*l3Aw5!WRvemWv#x-5ik>VQppIs{b*A(O*K_n z%DG%IoKe_@`i?&_vwW)?eMB;)f$gZvv}UgEs-6-wtW!6{Qz3~NU_GyNLbgF zH!g)ZqKxLjA}=?0t#Cvs=SNRhwh^(*dqNJU9mg6!Ziu8$73|%~{dz}2rcG4|t>#1y z$Ng3u7)SmS;zJ+zro}Ap z+d*+?$Sj)y>wLD%QD>AiwB=}0D^_{w-~Xj!UNkaR0_+nr5Q1w@s$xn@C-_$+; zSB`$6^adK_hO6Hh9^hBrw`pFcc5UAb&rfVonvn1rwYExGUE}BnG0WG-u|;$HVug)w z?x&muK9}3!d#j}m<-!RsDSkw_8WAR+u4kAXq%Uva{-Fd-Nw~)4F;i=AVfqxB+}Hx6 zY3j;D?xHypTP@JLvT&!gG^)4i3G$-G{uM4~cEcpQzZ(UBse5O2k)qQ;WP%`OOTY283xhP(3Zt zj@GhiYRsQ6<^l990q>cvATuHB1S|s_!P#wJc}r==uu32zzkc*%TL~;Ggvi*gPZyiv z1Wyv!TG+od(MfS+9qA31>%Q%$Qq8le$wk!C4!68~*=9`LaEm)BhZOfsTvMh=rFFK~ z?Kb^8ywA+1Z*2CvRmWxU%A)R5wpAo!(bALQ@v^*CKKnYO*C5&d#DTqQIt`XiYCQ(w@IQ#?yLnS38W%QaeqCT9 z*q1W1ab^7J3tq>lsrWLM0sIWTN>W}&C@583ed?*Rp5bm^6nk-HCHVuI^jWc=MUV_> z*C?3!kfvE0htVzThq;vM%G?%=wBuvrZ?C&QVy{d47RXK=&3^O|Ew*ms`5F z-4Pv~r$aL?7T1J2NV|3vidF}qTxVr7UcAtdS^O3{S5hHbw3b(SZ?H~xNY0#qf6hk^ zD^K2xfD{`}5eFT+9A)eN)$?YaEPsid{$uoh?(*Jsaz&!j^w0|x+~~I6JLju!%>3oQ z@xH4~Bv1Wde#Lm(PWPTqdX(zoFDTSVdn%Y-+SsS)k@y4J+K1xuo6;j83UrzF zcV(GZN%L*u`*ohZ6R z?tQo+OB4rn@c{DHi5t7T5j^!F@@gQt8eL>&sB{R!W?UkTwV55Y;K!P5;)tV_f5ert zOPRBELJE#$rMI9fKFH&p&vM{iS+t>Mls2jhc$Du(D;Id^LRVm_6HKGKW!oG?nd9B% zsqx09wU+b9-PJ9mrJ6?TTXX!^3!1|kJ{O@jo%HQaEg_j2arw``6zL?=2Wjj!WTFeC zOq+%^Vgl4D0zY?}WfHH1)u!fshEEI%vdd<7Eru`k(WI*P@?MlvP|mXx1xf~Su{axw zn&x;+7TC!pWSvQ&R_>4(K1(qcjzKo{H{#%h?vOH5uOiy^UAcz$+3zdkEf@7HQOd?s z)jCtTN5C%Dc!7FmT!l}j3_ImP7rQ(56zx5zp^}JtT=Ixk=%5p_M(jp zHiwBAK6VRHHH^`^S?{yX?{dTwUHcW`{XB+dt;y$u?ROhjL;IoH@4EJtP3}f{lG{&$ zZ6BIiDT!IU-X7)`y4Rq!te+36GrEU(Mg$XFYVMX{)Q~y_{kUTG`*C0BeNeS#a>}NG zOq2HQX#TXwr+VWp{3BjepW_JGRBk#ekk)c{j&md!7-k}ET(Zc=`4=244YHq!^WH?M z=JVQyd$V`Hix`NozWn%lU^HOwx_Q1gkvI=EWiK@ZPE!n|w{_8GCf5lb*R2fe)D}*i zDs{q?yzJN?C*nzH$PzQ=>4gP`6y01g#uCKQ_1ut~b+|F@&KbiX=&>UZ$g1xk#OqeY zs*KAiue#2uB=sg(jXC5=q29Yvd19Y@txBtdjC|r^q&z7cWe;)D2$pcK;B@li+w>NH zgnp4WdtQYM6Snk+ zkm;LiUwLL__{&*5X8y)xS~%@1MNm{}b*Y^A;KN}!!i*q(zk_S(=VSRMrC=D+}QLKN%q+g|&{rCnF z8JxZPC=a)N$K4m!baUE|uOv3BqN&%U@j+Z{9P@dsw4+Nj88!jefpPZE&%IO4iv?7!rs@S?Kt^@^12K8IUkY{`=`1N)yvZH4 zqiyDqiV{VGFc)g`nxQCgk<%m9;O=wQ-t`MDOE>I|uYk z;Gdgaz4#PriD#OoYq(q2_w%CU6f$q#cUrad>FQoAa-e~wkB60oKq^(@O}akLg3)@( z&&FdSiMXXG<(}m;Il@5;ThYwHZ+5}o$BPw5AV)aemU#L#k>9E>a(O{jLYy~o!y+Dh zX;ve5+rZT&1kKflRoCWF1N$+w)s$S0rB$87tX_#3b(Z=X-*C z6mjpe42ZEURG#y_C)+*XpOm<|c+dVtY`D!&hB_tU25n0ydiLU6kg2oBz19D*v>xYB z)+(GDTiN7Tk}g5ix~-j_oUOrhb8OC3`S_iX(k7kFNA6&|V@N}{^1YBi!<@u4s>gje zKlD0YJi;v|(;8R#NqVa`_u{3UnS6T}!JrEpt#8`>C0~){H?8?n_Nn=^0&VgojP>M$ zV6aPJoTOPV8vag$^IkDl=&Vu-J;ejbC(+N1sHl6`{e~9Sxf&{JC)zr$NC_0~+|pF> zsb}40>5_P_X!spr8=+dW`c*hpu^>8Ss=Kt!s@9iMUZX!Z2y7xB72PA%gBxsG=Rr3#1HZ%Ol(2bz0DpRYG3 zj807bIIlA$5B-&H5OKL9>ggdIetZ4EwVOX_6Vz(l2i6berSrW8_EGiHidfMp2`#e} z<6-4|v_V63y&qxsJ>o{_E0YVus&ZXW`3dhbnF9*j@1AfI19Kp$;tgBHjJQYqO=Zwe z-vTAx8#834mKC<3_5^s?8ng{5b))gb{0N0E7hQum`XY#wCDmWpGFIUqTYWE0ECfrp z#|rlx{p1QAPM+P`q`tN`Y4^!>vxh9MF2KisfuEF2_;I5+{W>3$@J~(|*Jh63k*Bns zMrl$Pg!njWd07X#MpEJ=^7oL+H}Z(BU*o0cB|=uCy0sS&={+$?Fa31|*F-13b!r8B zh$G)U&i7U+U@$FwDjcH0=6aKf>Ad{Rs-$N&gce2MPw-T0(_LD!8sBMZ^ZPyRAp!yxpmlft!&Laz$L5{48&8&~c!!Akt{2jZAX+ zq$AvbKyUs%PHbzrY_R?q6`n^Zdus{!!X=jkkttO${Z%4wjtBHtItHrx--#xpA+#DE4G^Ju73nMNa z5i|Onvg>~Ddc$Zx4STuygw^J-JzA<_i8+dCN=NCOIEO6AoGif)&S2!IBLSz*~jAn>ggvhgj;71uD`@p#LK7mOF~@6+9)hvZFSF( zhPR%kZFYW0KB+?orM;k1nz@WqkZNS%I_vjgdu@_ixFqt;b`WeKY}sEW)Pl^Qz!&Lk ze?UMJ@9`tjm9pJDa%bdzU!?GB_J#<-YyIU^Z%51c-^EBNFq8x=Z7Ovow^p_G7SBJc z0H@^jKY57yP<3Ne2dOikrG&5ejihXm=tCnbn`_{@>pikC>t|+LqfsZHgs~R$UwjeM zdnx?sA+=ahXTg3U_2Z94Q%96HL0y z;@Kc8>xy0(OuE2NeIMUx<}Jx$xXVjh80sKPiZXa~!Q#io5E^68E(%@i>ZXN9t?;@-s5Bu0C2ky8+gl4m7AES&0}jUU`S@8}=2-8VH9 z;}z8@Tfgf($NUNFKEwA^$ERU-&HIh&KUtMPa)YnV3j0V+y37?wdwwcPb?uJ4KPham z762<6INW<^qGgFPda+sC#*YpIil9_B1xq|I+Bv8cMZ^K=a3m1 zq^2O>BH>Ef2QQA-90fnGsLsef$33>Q`cUD1ySCzH598y#IK?%y32KIy3o(i?<_8b6 zfxpeS!J-#rO77Z2&LHM=2&JI!8|s#&EH(^JR8N%o2{{CkOK5FL!N`-4+_+CyA2>uA zHCD)GR@D^jF6xsx+TPx{6B)_#s$iMr748lsI+fvJbuFWvTEkdMy=nBjE)uEN_Q%dg zcfLt>Fr9(Hn(U1Y+G~Cydh>R{v&~Jp^lH33 zYO%8w=I6q1&I~QjQ=Ygd@r5MJmq>5aIh=VNCtD=keOU9gr@10xPjPUhT(y>ef5$S2 zqT0oV&|l_-=TDDsGRX9UW{G8vG8OLt{%S!c&Y$z#o?jf<%;S=r=T}voErSg$^NhsI z3U-q|wg*(-%?r259DAq2VY7p9H?(-bzk{ACij0{_>;D+NMs7u+ras_P2*c|KZ4h^x_yYNx7&R;^!5j&zwhpSSP#wh zd^-!fIi_rUCk1;dU$q=elx4Ja-!Lm70Ah;D!un_lz15B*LN_rR`|Mf6RGtMjILgjm zlD6|ee3Kepi1ToQX|b)xbEPQ zVX#a*$JYs|=PN~rkG1tz(VhfnVK-~5lGj@YMaAbHTEF1s%NuhkT6#GUoBBHU;?!1g z--JOkD_`+tJx;vN^VrlKAN5)LRfyhr3?h(F)q_sf_))O0W>N8FMi z`@FKYC8JF;zr4If_$X zYx$wBgzAdGbi_sj0#?gP33V@K(KjSz{7!zcQd}~#To63292qE84XK*F9XkE}!~D@l zgQE^BKfXXxn(8=3F#C+f{1r{jIvR`MnTMQ@qes;F15cDOPqr*!=h7;yIcWW^=FLw1 z*JjMZUMQ5l<`HzSHDu1eKw2&=CVS~>&4v5}*&DyeUy27ALwuP($5FSvKk_#Te^4t- z?&v(GJhgj%gZI(r%*6Kx*02PY2oa-Ir6Gez9YYHx*7HD}WbQk@%07zF#@yVb5`Iz# zP1+Kwy{D-~QMz@hZn`z>W^II_WY4GWGj^E;I1PW9t^M%)D4UT;wYIpaqDHN`Nqp_0 zok8z_d2$P1?NY;>LQ0|?|8ujU#)jID2Yri#B+q?U@?`kuUp~pZX&}P0;9&eVtCZ@_ zx3ODn-o+ZV5i|+I7c6x@lWH6*Eo@tQe6m{lPpj#{Ju(@;wn9tMUwrjz1uw<5$2g0^ zP#o~H2vS(oY0yOUo#63E-#o663;M%&^%j?*Rte{v8_CI)SkUI;w?hqf<#e{U@WHC% zdqIR|KP4oX-yS1EJ&uLQW45&N=C*W~f8P9LXBcw7khtN-W?S9CaH?otK3Bo!yY{rB zINd81P?6&5q~xNrKMgfqFxd-&@mJC>bp2h0Hivt!5F}__leb&rf7N6VuJe%1;tgI zi<=rRG5S_b@k!XokJllZ^EBZZ%&$a)vZcr#F6s<8iAq3DNf~A7s_SYP-1RG1tl1)Q z9G!&wuf8A|#2shIz83~9I*QD{6-1Q`D{`sdxMUf4&nUrc(fYk#FZuC34*Q`pgLvk} zXWXpjWV`Cb^&AhKyDV7(7I+F0V~8C&_`8e`DoaRCxFq~^G>{M2(rcL_HHSqPR%0IaU2VF*&50AP7L?# zd%2@>@595Lp%&6m1==u47BF{jb+yK7(tf>5Egt0n#v$`feN0&yF z@cZEAu5s+uR1IBWo$CJDM=6EFmH9i*s+zisP_Lqcj-{1TECk*)4xLJxka6Hk*n32L zUV4?abfO;U+Ct>qtpAXQ3~&1`GY=lT-sGhN)6*lS8wqmf{^GfwKYEAt3tubRa9UmN zG%%i#Y~OEtyWPw_hV&!oQ-5MzGIbWjl^hZpMx(g%YC|{Vm$7u;YkNJp?NG_+)Xp_n zL$yWEY1hyjw|six?BG#U`p*`+MfW3hzj+k*&GEQpaa|$%dB4QPkkaQmEmrYf45NfaN#z85%0xL_EafXY)~_i zV(QzduGG)`WmREEIdQ?IpHa`vW$;U1clY)y5znslO?;DUuD$-ZoOo95(n z6!BxiLeL}aOujNz5QkKLMIxfOZu3mYOmFmvww^qtOVjvxN<`hJ|5$gpbE9HiYQsKO z5~@KWm+rJ?%8LFzCwFCVU3p3W-0mlFGJix4cL}@og3G<6nV*Gg9$ZRU9|4?7hRup76}W9UPPDU{}Z1rlqCk{2cm2=S!UOozs$~B{Rm& zmdP!R2mQkKfyZ%Mul32C)s&0~sp&c%Qxx?aN?9rcGW{`ORw`y&NBcOu!TrHw8a#aE zy$G|gG=90{2dL+0DV5yIH`rCe_RVTfUaE(EN)^55w1OqZ6At2ux^5j#;nkL|o;CBW zW)BsH)C(c1i46 zp08%nW?#m4J%9Ikb%N2!z~Wo`YsVI!eRX@BN3?&nAjC_)%n6T|CC_#%@8O%CBfb- z4;kmH-MCwdy`k5ZPhSlG@LknRyY%Gyd|W_7jQ!k~pUpZIpZOw$Ya7^o;{rv$^{Vit zv2`4JWoqPZyUC1!4Zl2-lqL(r-59_2c=712OXE&eP7{e*!I#IwTwO!hKkDYJdHsvo zq#oGW7O_kYkaqJ=8*ncxMLeN+@-z1S`#@9HZ@u>PGKmPc3EK{~W z@dr2;bR_O%dnYUB%@e#%8y}9BGRto}Nxi?5$ao_7qugJdLv?&-`QnL&>YM(~U4(U= z7n`t?sklQOxIb~oRVpH>NSqnVqwV?JS8PaYpxa-< zqlCX*-;*w-lf8!ylyjhVkG>FWM&RT~tcR;~?bIg3-q~*^H%hHwWo2%vh~PIvXm+tS z)XGGg?3HLf^9l&wp=7;2nD4r^VwOFRILdRi+6q?DieYp|jcD4kW*pPev38a|Dg@;d z-%);9{xm3HuHosO+V8KuHjs0NRcD<0oP-37fgd%V_X;W|`W;CTZ!vWg=o){{;q56R zT3Ftaea73Npk$=gF%jC`E#vZi=Ci4pw?QIayEW2Iy~wRP}_@uGMs#}yx%6S1%90aeyAyvRsdsK|M)Ypg&g_$v1x^yOIv7lDM+`;!?R znn5}SNCInl$U~Fw;wLOPi-?-#BJH4?WURYLwyrJPpz-31QPjGnN00f~p8x8DCX)HP zdS8Wf9cw$kn#0a)_DD@y*nXLDLpH%CPndsPiN-m!^$kUY~_>3!Q8p!ug9KMs)gL7JL5WJGlEGX z`n81OrefI&%Zf*1b0XgkcctIYm zur?`+xsXi6RXb>z^_aj97NLu{C2ZMC9=oy6IBO;@m%^T8?I}MTuYv{Y8rW^_Qx1Mn zk$x7Mqc(=y%Y`FRRv;RHl^ZNY#CrXHI?nZ}nsRRnSW_(QZ0~z@)i}h8Rim>u9f$$+To^BM)5dd!pKQ!$lxd=cSU5j{! zt;OpB>!XfX{YwD2y-}IM`xx_ zneTD}I6hP^=X)Z(q~IksoA(&At!yMj0&wettgl-viyE}xb=BDJJAc9e$6H^->Y>Z; zQCb+v%DWrt+=j$ez*zD3LbF5Q8HE>v`F@7?eZRfK3uWQ1ifpnfL zyPT+Zx%ksKxPMIT@R@)jd2F#3_0(FaPE2Gc5xJZ`^8^SNvLwgBscRbojMu0KC(<90 zEbXCfbM2&|r_^C!7#!9@x)zWbSSg}ZLn5R|Kr;(ZaREY%5hNyJPW#ji8hu#i%==#3>&v~f=kL1Dj zFQMiG10BAX2OGuhuwxG>PwM)y?4jpvV`JzC(gSIqmcCEyV;R;ZF*Lnxxd58tfnIDs zfB+r41s>Ib&AHP!1l>Wt(>Z<%jQ`XVt(aqup6V9JIxz@nbW8T`VaN8PiW^5qwcKg< zShvgsxFydduM7gMm2*+TDh&e&uz-$K6j2N6g}uc`$-F?jhHm8_P9tuKduTu2y58A4 z{+i4HM=`e1%nkzm%~lprYoH`mQvfA5{qqQINRqI(1(H;;B&SP~6v_NSprD|jpvgQ= z{NW~W{%6GfwRWn!;zB^kT=Gl_8z4W}3Yg}U+MRuvUxkO^JPx(cP~Lcxy=|IBsscRZ zFj$6`*Vd6PVH56W!WI1id|NQG3KQTQ3R(nNGcV6?E@S$G9E;%}0tA*?xl;ue=Z=ak zK0dz`E?{gspF|Mh)&E;@vji@J#%lM{sIdc&C_FA+;&GpCybIFF)P{wHrkbg&`u?xj zXPwB_5wX)J%E*y)l(#gb6T3ex045>O3@XF`#cZV!u(|tAD(#{ZE=dFY89+sNn21?# z!G>VBrsbkXEP7v<>xB+4@%`w5Y4j=HW|<%;gD; zz=8Gh%Qk$agVZwkGm09e=-jaKTqoNz%R2;KRNr zF^s-&d(2=lOI=v>3?5`G=!?O7PfA{qv1BqD(6i3yTb*U_!)2fSpMt=MNS3QVjZD1LMt*{#4g2moSaxmZD$R(adie~Zo zin}x<9iM5a1L{45Ab0Zdh^>tONGr4+&hy_;yXE}#l#*Ev)}U%1VxE z-1RzkFiCS5vLld$hh{%r+5R;>4_>4~H-v=h6)so)781ao29*YB~L4D zT06=Jrz4s3S}o_^ z{z$z^f^y{|(3MaG0nP4Pvc4N=$Z01BC2=~|V$?yj_uiXFvv~PZZzvDLaDpcM zEdSmk7n!Ia=$Q<*b<8$gA`S=wjvER9oZC$Qpz6r9r2Qt?d46_G?LrEV+H&7c2{9Nu zQ@s+6_Fe;`u8WrqEUH+6RUGVA-2O;8FsDHZd^i-jLIJF|a+qj~4C3PVD1jA)U_@f&rz@*8MEIX%7|^Bc z_+6F5_=6vRE>O9~c5M@+w}NBJO+wg|BtcZdqXSK^dzD3}Xh6ijgu#qP3nRyWEG=OL zI7bini(gTr?Ck0C_!uNfWBGPrI7VBnx&wX96x3Fw32tlHX8Rv~sr|pn3MRxoHz^3& zB&*y!RfUZO{~mYK?D@auIB`5ZA)C(gSFPrGS7tM*x0aD4m~<<}WCqx%>;ZQE?364I zB9%j%IOO-uwYR5rn+l>r_OKiaZ3kaT=JqqX*3#0i%y+IUc(-(#Ab4hBGa;DGE=zslY0Ck)9F@@1f?pC$E$g_N+%8Ohz!R&l+Ktk2e_Tk1rRH|yN|3T#FF zoFp9^0m-~WbJ@cBAN{a6qz4Rr?{Q%JQxdaiqA|43xBp+R_ZK8wL+;3f^AI&J8-Otj z%{AAf8^V-EFDj*^(frNHP~bfjh~423kTK@GBbiJ^Bg$=4@#SyG)OXCRv+7YG4bizA z4DPS&46lT#gN}(fbN?MEW^FDWOOxrGEmtQ&6O^=F2&EE8i*iXQ+ODd-5XqujZhZz` zF1kaLN$vt$IE!S#1fpXn78yl_q zn&(BMid3aL-^A!@s@F+6igH<=D1AjLwH%hXylyk1A{G--dxGgo+e}cW40XTNvjV8f zSTqoJ0O}HvM%YuGm!S96Yg5-&&#HYInjzJx1`#ZDbmo}|L?52Z({!k{ICe7gKY#tN zxH@7@LfWCc3dIT<7L3aVL6B1*%MmorG=yYhBO}V-ca_b_wdASurJ*@MX_~a2IB7sV zc0J@o4lddlT3z&eZyt;M_{2+@%tYCDeeSNH@^u(&*fmSeDvFo~eo=?fa}rcQ~Ck4xYJQRiuztoT#9|z+K5lES-_Zx4cfF+=tpEGDBX0)9NtS zpEI!ZwtiQ|07tv$VoSQFA?;(d&edy8DuK0nloDzp>#sR%l-T{Jz=IYxMIIaVR4?Sm z3UTnHbJCLzd%b2>UPL7~6X8E|x$GCM?0q@z-3ztL4q9(TybVFf^+D_fR(%t<7dnkf zwRD#6<>J00g-Yf_%f=*aBH}X{%9N(}e&g=8WHz2VC3K#hH)(dp>!RD8CRaZ-zV}_9 zv^0)p0m4jo;nEHoXpT-XQ@H68~oZjD*U}2mxZ&VMeq5=NDS7 zgR?}Suk;?dRK&s8!Yp^BMZiOl{xk!V@Gu4d0hdN_mQApx?{WQ71C`Fq^>aDl^K-cr z5u0k)^>JM@DeH#S`8K*zP9%(-b7;fYtA-F+ewU`l{-tIH+_v`9e z71h^~9Plkb%*bJeU@N}WkG*N!(7cN*tGFMEYr=H9A9ewGM#1{ z^ds-yXtIyN8n zd3w)P2WR+JU{>a7phEyMV_royGE)!SK#E~|i*NSu38B)C~iB{G{L%DEzuWiP-gAU>^?%1Z z|DNZ~fTtrf4;ac|W#;HR)=rS$)X!>$rea0i!4fd#dEV#YQNktVWl$J!yqUyZ`fO6k zF2*)Fktt>pO^XNQg&33|S0k*8^LY1Rc6!d|Bk`;E>ov?=z-rTmv>QH7xH%gC`q$6+ zunSWaMj83Lx3j<4xNA0D@Ay3!eU@6hGG=ciaWdS8ghKhoVJC+Ea@@IXmWh%%j|oTF znVhxe@-6xdGK(yKAO>vOIASP(w}nD^e|+rR!2`wZ{acM*ae=a%V+_)tR4U1Mw zvto|^PzTyzQW=>ksa&?~zNQ<_3#faaosmLrQwHSuBlQz>a9WNdio ze4&%4_$jV6)>DW4K#xifVdTD)6zOAz^MaoYm)rQ9YJZljr(ZG0q%c>q&Y_kob+osj z)nWxV!41U~6Xcd91?G+24v6rMqwzGjN26bc0S$lV(|Ph$lEt*)Az-Nqnbr~^2=oL|iiyTUJWcinFTMHhR#|19 zUdX6x!MZl8L8M`arHu%R-QZssuqG9E-z$!03E1Cu z6<*>nzoxQwuo1?cqF9GVXjrhYP?qBRa_g}Pw15IjGv~b3n;l>h_g8w&SZ_f+YU(Zn ze~>&YR2dIc{){7U-caQrM~I}GY5eL^(=elQ^x_QucD4*Fz9q$vkC)iTgG(y_WTmH{=K(fcC|^Hyv~r*#L_ziydA_uP@dS@D`SQhA}WN z__3OHx&F5Ugc#JJiV6yIZ)xsp)*u^{yCgOkP>_jWR7Zw_Z<&y4<BAuhbc9G@6kf);{S>@Fh=n*U>=}LEd0xWGl80o7rvebo`DQ<7 zmFw&sGz?+swHx~0jMj@Q-L1$A<{|oLCw_UuT$Pw2CMx2bmNF4Z(k%=iSo6?JMN{?& z^15mQCU!(EPEa$d64bUQDkMNNiIj#6v1R@mtSc(977k6o% z{$r_<`y_O0KMZ)#qDaQ>RVpPn8WV+n)}<&*B=oYcy-O8sO4VezFpgT2i=n$nNQ9wz z7D*(vFK*~Oy2YTdjYJGWC6E+DPz&jJZwP2YQ6hg|S>#UcqvC&UK_ivz)TBmID#iDn=Oa)`6T5+33XI}y5^_A_>&fI~j5bX<0Qd%j(f1fpd=9h^Z7{=(} z=WQO`WE>K*UXt6yq$kN&+gBjd^99C8uO({WF_GAjnZ~C32g#xMHHd7qn%>o%U!EmO zH7Tr$C8wauB5^u~2)Sn>awL>6sE(EdYWdp~Jc)#-FtaS-G}GfrCs36V+LaSS^y*Bd zB?32kz8%UbQ;UUix=Q4Tn(&W@iS2yvo&7Zc*Kipu@^vpl&CC`cS`jgGM$-qhtzb>L zaR|rP{#W)TTt^b0Glz*h&tcffeu@rOtDJ*VwhGS06v&*8-x;DsosFYbUs&f0I3<1n z4vu&9=8^l8*6QNCqofO9lHL?5#p>|u^SED|#G8Di!l6WP zEJ~#_OxVIy9aVI%m8GWXElDe-Kjmv|og!zNv~aR;Hr_sWF%-dKIepX7s^!zv(gTlu zO`+iDp@P_3j#E)-}Y9_3A4uS+-g4vY%OTL>Y5O%y>2=G`a;blh}4S9$!K z{nBZ|a)_}=D60-nrjkkKkojmRNgz zgA@Y*J|i52CDh&FNRzg;@uroOqmlz;CH0jn#XUIZlN)P}*P=UWESt%9g zt#KbYsORwC*p5igQ@VSD5#wQh(%|1|Z`5b?Op)tNi~Z=4mY?=L&#E`o|9-F^mucXe zeYp&{&JDQ{uMlJb8QZbcS$!;BwYDlkKFjwLO`v0+@%JHPd}AM|O$uyTPJEm;856Qi zmX&{>hM{G^JqVR1e^MBIWMsNx%VJOWCX4kqj+O5lu$K`KPEN}m68JLJ@;||kQP_bz zh=5OaP3#gr8dLUYl%*TbQQpBt3L+zcfN61@xkXNqO6`cy&%M;)OB?O>9EHa(bOwjm zcpwXlVmbvWSX-Qh*z0Sv02XB?b$agN-+TM&5$V@tj?08mtB~+fV=txf)Yd|>pM8X1 zMtquiL*JdioncRjNQTGGDK1b>kLT0>n7Qv1h*Uc_EG^U!_C`5?*du4a)UA?-iHS!& z7m_0AR*DWk(2zIK0Z<&XQj@`S7ZLx9U#4}+pVb%gVYhu z>y^Bins$JDXZ@pL87JAEL(ks=M7tCsa?RLD;2c*vS4j(may( zD(@>g=lY1B=MF_P=SJ-}H>x!R^qt2Bk?FX#&R%+3K{Ll8x((e<%K*3xZnh?2-;aPU(DMEeV;oJc^0eU~znlN7W*aK+N%moz1=NtO#)5+zL@u!+ zU+(XUV%7i;2M@)|*>ZPlHK6085Q2Dwt7!JEN~AP+^XqBO*OS<7Qk)${LsRT;+~ewa3Hh+TqOm zo=cmuK`I^g|9`=i3q3FoXm%&&*KE*VfCw}o?D+wNQ|mz}J9o|{g+-O)?t~_<plr$GQN>!>;l ziNerw3Fd9L@|1~qLgTC6&OHf7=#&%hB`MKHPv|MsaAUO<$c2&sga#hGOzhv?YEJ@( zlOoTjkX}&b519J|Cit1;c(j!`L7cAX-7MI#rQU$@)HE};jtm)Ec7Q?u8gihu#kKVp zN!Hk)7PkPSXaj45Qiu+M%o75TN6w?)M=nRooV-HZ?%cJX3)UMW@Z8?gPS`QQ{-wRA2h+w z3G=`yKu3y+>oP8Nb^JOlSInAaL5M~nQ;!{t9|S<@@B!&T_qF>9isKDZg84lu)Nb%F z0muZYj>Y8Uc)}M1gK0FoEVjsAG>v$V9&32g9^M!xH@cjJv&K*}E;=__j8BaqGEjhzuNUGSX#DQro{2)FU9~^f=0NW z9ux>co%#0hzd&x6e>i& z?e+awJ+Eku7^K%yFw<9m4v5XuHvTsnzMHs4D$fRbC4<55qX{D{j>8^iqVFjsq&@AS zr8NU*^%U_M8(ZzcMIvq!bX}InD`Z)RIef8o#ziDMTJD92r@&iJ*vQI72?qEaJ(XuB zml^zLcKAG_rRIYYBT4`&sM$Sk5&lv46c*{;&uZwx0yQ~`0EkI1TIb#5@GQu5OKe%E z?yNpGcY)@gXRvrs;7jsnH+O7NQ~p0)A<@{E5qeKU_~3IZ$f5%Z*t{=tEg&0VojB_}?eLsOx=C{s>@ArlP4UK1%9l z9xQSlZ_#EcG7{)d7BqR%t~L_sUfX;_^8ye7b2zwT2ydcTuBetYz}xZz7;PYGA~xnX zHn9{1huGuvR^Q6qu>u$EEr;pavfwCeZkw}iookoq798p(0QEkqKUpG&3{mEHjxQ7*fO|5HY4X&Mmgi`3n>ls$hrngHd9!VSz@j;;zADSV1ER##?@KoKe8<5A9Qw z;~~t07$B@!H}`u?ZU%wn198T01CT^JyY49OqP&vVK426um9;j3`(takCu6{Zu>b2_k3f**h8 z>RphEc3jeO#_ai|f%# zmhFrME-+OAf+&!{lZP^woTMm(7$5@?=Pn=a%+78%b%^ssqvvZtG)z5#-~MU`3p>q$II+KZhN zg2z^U^F+P;;qC?(ukCPYiL-R@DE^9(+GUSOK#i+PVM>TxqJkRvtdWSOsMnLSRac^v z8H4 zTx`IKmNH|{XloeOPOvE|bgVO@9J(W{{aj%$>N(HYHqzDY+Xp9my$SIUTJsM3&7DL< zL_}Z(Lk_$Y5a#M~Frjs;_12>>9o|2&;L;_)>8D6-3NT1~KY_&Fc{AV~?807QIab%J z?n=caVK6fZnKBhREhq3%TT5|8Tt4)6QXh2lvc(rI>Bqc7>=>ZlzW$Gz z`&@U-mYkjo@h~R`pfGEVpA(fKI}K*)sq!{Bp{-Mm92|&?Xd-2QFiXY~M5#c*6ARix z1fW!iRft34{!78kq>;gpWhbxXX{rZ1QItP(H#T6x|7>JTkZ-q=nH`)P>6c~iKyi<| z=JY2u$^=vquJ6dpo*3Lq$GH4dDHH&xFP`^^MJL7B-}a!`?q zY#oJepIaNR;*RX~@uqIYj+FgvHi=pQ8I(lAp&=0h5;O7H3y0Bez5X4nyvm0w({T|V z$NbjhtnRSZmf7~Y*YD07;DEvhGzcJw0unwaP(>6BTD~OC#WTVOEZDFnd{_!oU}(aN z#bviG#~KBy%nnVZrf@S@`*cbkG+nwPHdg3zE0IevW~Dgp;UERoAgt4p%13nx0Nd8= z5XO*iJKD5eH-vgE@lM#n3>nOi7Yfm8@|g_(Nd7)X|D=D*G?0vsz>vj#`y=$XHAF&0 z`XWr>WIM+53@M+7i7XbO3IXU-(qc?7Q2JOKTrjX{K@4u*7C5xh66NK4@JCv`XdkmU6j&c~agc({0B?bNHIGvA(H&&V+Yg zhHrg|n{~R)D6zriloVAITV&y!*C0-`0`6h`0-X>Ky^m23bK)S%AwYq}e6A>>wq9I6 zPtn^`WXzwQ0$Yu%EN6|`o|}W_Ty*;Rlb(nJ(+`boPw3vs?;iU9a;r*dS(rUxieENa z0@>)i=ZJp`y`f+z7f*d{0E%_~!w*CdIkT*UC?YCS zDpeAtzZmsA>Yv06BA1A0FS$=VX|sQPA1s{O)S;rLoOGZQsoeQZ_psgem_RdVCdS1` zS&Fd=66e^U?OK3~08J#)z(0wgIn!Q_Ea$J!VjAb%_PkKvZ#?K5nfI+nWuzva&5vi- z>bU;=&kf%!uX>v^f($X4`+b>oae5?FYF0H9Fj4I)9{$iq_WunZ?RA7i%rLMTj877# z*orY;5v;8unh09e0DoHmNDl3x`#fHgwB+yplzbvMIPV2H+NWLf7_tZda$5bR8r}6;}4>(1pz=+r#vXCQCO?!5X5}6;BZzWX58u zWjOyJp|cB}GlMp(LQ**4zC;pkQEbThtIGJQY0mB7%4iVn!wP@~48~nV50~Q?jWqa3 zi(p{v_rAqj$wYn+3BT#5RPHfTD}A?8p2d1M4c`b3-6DGpyF3zMFB!QKn0@nTQFL<4g`YdZRNr#N>Y^c>S$I0!4!KX zBL5;QLsLtGGnNDT>x_Yz|!_AWV`b#|!51{QCPPg0iy#hILN1Hg+Ob zxQ0hd$zLj(1FXV_SIwtrnHwE-)Wd47PCh@k`gEY=2?!|IMw<-vYO1@j1~e!z*|Fgb z&?|ZD!+7;PsoZzI-K`Ih5_40wPYtV4MdqJ#MA&!coQXQE!T1sO8$EHFw>>4gEI5{U z83dOi3>LT3OT)}-<=|WrN-R`xEjOC^Vf-{{K&jXsWm7Wh;%flb-Z+j?pUTRT6XA)o z2T-2eEtZ3=nBX!dB@#D4mkdG9dGrHdRDlX;-~_-5#lXoQTg=j{%ZXlGm_*J4Co3wI z@JpR4u?T6|V=A-eBmApD{rqm_yuf8)FF`qSt7FqWH;s~ zIM0Hwa4gcNJf;}sXK>dP7&W6CTj~Vg-Dj}h>ZHjY;HhUO$5$X7c5}B!-l@W_uQqL! zmRWOwgpZ3AAjji4y3JtIpN4)+a=`sdGooIv-#O<-{Zi@a5VdO3LWQyVbMQw6UVT3D zrTv26z0_T?oWG-CdWrym^%W^Q7QJz$`EccZz%{CBHJ>ApQ4}afQ3wW}*L@I0+47A6 zY$yctr0i+3$s_z^uzITc6al`*b-NeAQKk?ysGb1J%z+zwgx{GM!=*A9=7}DrznHQh zffs;bk zHY$*5IoWFkPCExWnefPJ4-SJ|)HkqxV4tGe4e}JerL{3ngDYCZiL4i&uE(+D^G^Mm zCtX2fKwhywrHUB-iNculq^J`op58jV&Vmk$G|xw32ht9pJGP|CKi%@KfRfd)$Ro{@ zxDD^9cgTt$!3*KS=%1fcrJM})&QY@YymC}Ec>)z{s! z<7NnSH%YG zK6LFVPykB-I>b;4ASi=7TdQ;3Xm{AaN@CtUHXQ|aD|yqebCp@$YV_2u&~HwJhQJl5 zZ*tR?kCKIYv>iYL0%S}bGbpu)LzG`b0m$V9)I}&6v$r!zlK})taCOPy>h>c&vZ(HOdo5PYt3&VZi24aofrT{&AJ!>iy!-f|Qg~;Ux3Jk8F znT=+)?D*;_rVRrSsVHMYlvNc&Orol)sHy^`R4Rli7$p@4;pv#-IzJOzkq#cx5T?P1 z5<%UmGshF{7=uw253H!ccjzjYzDT?Mp}AdcH9Pglmmh4er|URJgmp^CCZ7%iP<3qJC zW81Ro1*`m)oiJxFFneCTQVb8ziiazGc#7Npss(%2M^)Hk&uW!06L?99ial&70 z?zI`iHPT``vUB&LMg)|Qe_8_;IPwRE_|3cpZYB~P7xDcE`6`V$RUXGHFB#bQE8c7_ z0nk+0alVN_Ru~w_J+`at=IKFwg{T!ksS_p>^spcO{rOjyq*W^0sMK;N7WuThD5yjb zfj8-z_#0DS#hsJ2pH6iAFCXgbmDcR1jT0iOs;1ZdV>a2oMAxR2m4Cr4)T)QBrWY2U zt=atiNA7z@SFKYt@m&@vB zkvJx};4h)$1MR5Knk4%FE68a6bpHGL$UikKK#~O2-hGrCM}&EIGgp|ly_sG5oN4X< zlJ{Tzy5kvz|Cj%}HAsyV@1x27UWY<%Fls(Me4x?i`TL8%#FZ*an7r7o(b@lW@ z%Gd!sDBHLF{ae})76La0m;Nk!Vi>n2L8ZF({T+TvvLX}2vAc`H`ct|IcM0GP__ASZ zRwCSu5=W7>BGhGwZQOZ`GV5zP4>7!T#eo7djt?hKt*0>^h=|kQ99|;EsnMWvBU$*a z*cfqI%zUklv!^6_6avecfn-#FPdw~r?n+uh(fNiZHpzVbjxWS`sov3v8q$05Y@HgeByeGop) zx}8x-a=y?|F+AmQv(Nk&F8f=XR1nABTH!Z$C1GTr&YX;U&mINzhJo|2lXl6iy4;2g zM_f+nbsf(c6EK5!)8_{Z-ltJG#yQ>Zd)M4sPlWgZzSGUS!r#Wh=;;oH-sFWpuZfBg zzLtvo-~Km~T>eyPi%b-EVb&_Bs)EK;0%Y-s9d1whw^$S@?+yQSxnugipdiIr&6rc0 zMQe_QW(|t~%x?HVi`)y(cjJkl)c*=qqk<=(Lp-FMnKEq8n3K<^0-bZ#?mevh|5P!~ z;4m^sGwMYmf=ss5nL#eAi@?c4m+>T&WUW~o9t}W!ILEWIcHyH4Bk z#|dag!3~*Xi9xN46d+*$*#U$EVc1=XAonTn6AzgIg@P8H9-2I=cdgHCm@0{zC%f$qP2Cd7n7(6d3XTt&g zJyc*}9el6lr{0I=f)Ga=Dd>9mD_PC&oz7omgWlZo+botwCV9Hh!~jeuP91}o%EFo7 zmm6p@xX?w!X9ercaQ)NKwOTGOGA?Bpl*};MF7W=Y@X|HJR93WeN(+gI&egBcg^geN zQs4AGTSoDz>QRJbWZVu=hcrwqMjeMMChR zY(@CtgxA{ma|lL|*(*rad5y0z>c7W|_T)2!JkR|&I+~4X`d)EY)zL_*W>S7E_6-%4 zmDP7}2qvL~%MU+i6sRS8!Ui_#F8Sn?;GAd@NeBc+A6VC~$2w*{u#q)%Fy68aCf z{tmP^z2;Qz1mwy?{7qrpuD80ps$^ldYj`k+y|wIV=yVU4XSpkDa6CQQ9q%xuJ{jfi z`wT(O=5uYk7Ghq+1Ac`{Q+?jodALKg-wX?UESZ*yigp4A6hg1w1Rv^jyMxzaF-Gy* zLq5!M{#_ABjzv|PtY2;F^0o$jC|cbQce#B8I8X?l zm^zdst;b8Jd}xI=dqo+d)n6OFO6>N}9TOg-cF-kJ3SmV<^o5Ky@UgsR8T=WW1{U8! z=5PQI(?NhxY0~3MUGN$2d>NU2V%Usx?VwwIGRmazaD9-qri zKjSYZ8fQxjOAVRBCArH5-Cph`tHM>yJ)e4v@P8P&dE0F(D-?9J;Vk!&pXHuMW%2c0 zzONpAF>qG~`fB$gKwzsA3zb#B*++waBbMUY=%`M>4I({33p_#KS$1uCh?+yz)pdOG%P<*2Zn=MhsD4`_oaZvJgOv@)3hm z#fm8M9{1Nwa3n zNwa3;Lit+0ufL|&N5M$h$vUe!y1lgb%6MA;c-sQzjk~@^nv?iJXQ5Z>@E48!pS{BU z{UE9TC=)pW0xAMzW($g)_xyaxY&T*{xk0itZiL}h@M0OU+Hn<}H5<-rfoK}Zj4EWO zk42G!5c}|4)7`6vm}Uqna9~u@ik?fgd>3@hn>K9Ovu4T(6DOgSjSxRb8Udslfa*b@ zRG}20K%r8FN~)Y?O5pu4cUM>q`wj#!Nj1akV;$t4L!Q~>=&{p5>S*$~-U2d&Q7rgK zPBIF4x)-?{n~{!_U4mu!M9^zjWX%Z@@=I>+tG1N8`1L<4me$t&M4t+W2X}OW^6?BC zC0&qrBp-|pdjf2mjAMR)0lr1h>5zlhXYnQF7F@tSud!_phmSl7#l=BK{GrV7)7M*v zs(u6@M^li;&rhc3YQ$-z$v(DZ&9%_-NbYH39>tSI)tii{!2Y*2|hdJW*0DdmB>oEL_?;5_# z+~yyFuyYkoJ6{Gi4j|US?hG+Zu&k<-v&i}#)c-TscCbFbwAyo%D0%+K3HtM%-oAhE z+pWP&ot)t1sq)YtX43lnT3djjy(73IzFB*IKKpa2mbk_QCOJ98Judoh+9fUN)wqZT zzTC}33HQ4hC?J~9Il|<@R(@@BD%68YA}&9-R{!iU5JdQYUgWd4yO;6M=)5~xwxJ@6M@;DF*z zDcw~XI@S>_D)=f#P9QW^WvWZwzlY8C=%m%(X~6jd!%0iMugF3|pXyGPOI@x%L1s)O z5*dVx=L3dB-AAT~zZ3*31HyVzS{4tB(*5j`^B9Lm29%7;JxdG-KOgkG6;k?O)qa zs+fL1?l8PKeIGg@8Y18bqInLn+b3}IxeFEgntHB91Y)8r!1ciT2d0`+dAZtl#K+sF z*Yd)D zuGT|FNyR6PAo0HPAVkGt2GozMouWs>7bIqIFvXB2r5f2pC9*jnU!u@3x#+A2W>iES z6&!R>h-}y+znO+p3vfqv^PSxDZ0%kkYH{!oBFkp!3ojHBN3?FA^>TekG}-?0tm#oYPcsNjjh5$Yk-pW+Vu_#8qF^pOF~Kl!@`N-;(I?cN9pF&_FT zBPpYaA3`9kz&hN5P8>LJ*=DQ$kp@K@hFG#?cle$v-%#N^AI2!$Y_J6E`ESpoGXTCd zIw1W)PPw zQPFb-m!C6pdjf+8at^=LMLQr4V(lH(A$1B)qj4T;*8h11l z*^Jdx@w<*`M6m$GB18!@0J@OQds0afEWBm8ALGyZUME_;x1l?pWU8vEV?JlqEu!U? zP*M$TcKrFvY06wgB(Y`1ge*{{3Hh~1b^vBTnZHr-XAzdSoG(Px+z!4Z_RB4YDA%1c_rP^xUe8UGCL_>Awb_Wrl}$jjb!$neB%Qa-kRfbmK zF@fVI#E%sdd=Rb?LpBI#>6eCjA&;5O{#aGf0x+~s0Pb=&^Ss&Nx&z@kHfBw_VVmR- zX86b5UZ=e6f;QTNXHlW7=WH*}*|?iz*&Se+B8n&=SpkHP!EN4wdkOx&sHsaVB!_otl*Zqg_B9z= zD6oSF0wS`y+wrG$7@*uIPg2YoA4N+BJ<}sl&EGt(C!O3`VEU*_F+6yeWSr4ns2hZX50Jr4-)-^9H?uD5zO># z4(9L47mXMbtk+$prVhVZu*wc3^xWf=9)vvhh;`9N)W*`{11oRGx#ND#k7tsux)97T zMz$nSRl*wH(%`SqQSrh(9ZU6o5zYxB4^c@&*_fsip5 zyR;Vfa7F_wH3L;!?zMyYBAkZ%(E%M4ytH5wVq#2)S1`4pi#@-|4_&7azM4kTZ_*r^ z?rdVY^SPBd1BaO#@3_g&;c#bo-L9&qB3b#}h#w-$tQ3KR4{v&fRuHj)gGV#gz__st ziVC19r65EIP?SVKh)8Fp0W&}8#B5i3Wl4T8&)}uA+wFT>n%Fgv!c=K0RRYOUAd4CV zs--#@R}?^bhGYydDES!k|HYETsP%iwYUwtHT;_oGVeu%nEoE?RItwmaUB&kM7aWd{ zxCCy(oF>wpT>8)r(=obg9MLt=0q2&!av{BjEb3aJri8*W{_Sph#kqcSmH519D#2on zfGyZA2#uJS&H~?th&9!eH;Re?1}}tfgvJszR+grYw>oyBeER_#sK9nK9*-~{$YhO; z_ScZz@%i0hZ!%^cvRK^FR0Xg+u>eUx-=PSB%>wKqXy4+sY?Gv!7sc)7)i%~FY+1!d zw*ZL%hFe!8GO9%4Fy6R?Nf0-tJ4mdfOvckRleF*8Zh2^+fld@Bf>Cq}BLrgsiZGHO zU=2&heQW10;JpND*5qD1u3JU)mB(cy*3j1q_6tm5Xb@vj>O3Dth`r2g=#yP++fyTH zx2A$o4M5bcw5nPxHZ2-zt)>LM?vyR;=7wO3re->~ngP9agXysI&UYQK;#n_o97}T| z8-metbU|VS%L%;_>g)@pp(O{bXpsE~;r`1{qpu#G7WvquA@$&Txtdn=V35lC|DLxp zYOCR=eFj*SW|{PrgDqEaeVW>0DbArK81n>Nfw}Fn9Kqp)-2u##Fm4drVhqp_#0`IW(fG-w1x1x@8Q^C%Fg4kW(5V8 zJGBMMzTg?F?cBGN_CjM0?ZNXop_1cUSaKn^xVBcTv^{NvkL>?0A zS<+Er^6wa*mwTYTZ;hhk`<=X*TM`re?G$(3fe6uw7j-D3=d0_NrtF5zn-0p8@ zu6&syg$XqMYHk9R%bd%N_qrYj?*0}}o;XoZv3CW_9YGTXWj$KWOejwUV61az8Ui%~ z1pWs{128FoglZ>0%*>A_Y-Jim^peMHEqDtWi`^MT#oLQDTasixowRFYNh}y>EhS zhRAG&$Yvo7vT_i#`6L-7GJ-NrmpEq(;hZz(&TYd77GyGIdK#kFrqm^_Rm(P}sG+rl z&olxuO!V~hUbY`ZIY9VyVHMI4Lsw$|qNvVBI_nDBzmQ3hfGv%CWimEM= zUo6(nhGt^m!#j3mpE*@URT*AiJ!a2SGcje*&fS@3&Q(!WMU0a(pB(m?nTuu_+p|77 z%Bm`;wn?8g7-y`^F=h#!F3%gl^k1{oKb6<gG_9N%sApjmBs7AL=3iq*5uN7x)MFFq-7D++4UZ zGTpD@RB;CQSCNTxSbPEjctv>P0UECNqZ6e>Nt~W6j>!#ZXW0!I3ID%V%MCBD5UyRz zge|A%{0L?kM33X~{yuCEPmB9m`MbZ%B{j+!|J7Z+oPyc!(1r;Kh3g>cN8N@>QYA!$ z^+d4Nh>lk1F`iTlaup#V%?L9rKiFnh6huvY)Wg?8^Y-|M;%qZkhd?y9$j)5X!LhpM z9SWlIWjBlNOzuQMhzM2!HfiR1~;+YK!lAzeOsXU&54h}UT#>Q# zT~Yo(Ad6dq(y8v-`;5r)s7q&NOWRrf98Z*bKet(NQ$R4-SCU#4l+&$gQGD(juM3m> z?H?oC?Q?e0L;sfXt5xv=mJZbfO0qz@=)p*(CF=<}>{9#JcLY`Oas58xzJtZ^FE7bs zvFC6C#iN*DYkY0p9+y8KMT@Hz!IhM|de~t!+O|&&6k&)M8}$Zq`^z=N_A`wK3y@u& z$4n(&_cBlX_4QbX=fz~Z&_1RXPu@G~`q_ORDz~;56RXtwbg|#A{GQl{hy>v$%OF|g zyg)o#{S)KId7(z`-58~9Zg;xe7k_?${a$Z1-@|)762946WhVg^C}emUlw^%->3PwAVU#`VB*>FeEa@~(cg6Z55>2Qx+MP`(75Sb>yNzc zIzk^5<2c{f9~tSlGA#TQ9qm#gQwC4I50qG1z9iH9zrOD=am}a zg3?#(p=O-HvN<^B^7EO_^InIR+o-_Bd>=Q{7Hz2!Yg+AosNA}&b{LngR6!01+qlHg z{FqC2&%nrJK&T?p+9fxB3pdikP0yVJ=Ag{!hRjTzHS-ffMW`C$ION>$s z8V8dj!)XmW)W#%!v8e;G)Z~{ZMLZHfNoa{FHPY?OTXUj z_TVh#Sx5j*O$0%zg(8Yngf6;(L@0%C4_YUDjHiEvR&Ml#9XIZ)w3lyWwWV;jGWBaV z;>t^?BA|W!*JiqEm^esC1?ZalHLj7Yh?leD`Lr&skAyO{>& z-?VC;Z&k5p~Oya)#!~4AM73+^k?uW&1qr{yduhDVxIQ|-{ zf#%iz2B6;tnv~L%%#`7ovGBFiK(boBEzRxkcxq_}`vrD`QpeaYx{YjQ6DDA041xPZ zl3&2pfV0zYjPo7Y!%2PBKney-T`;PpW9gJcmX4RVo4mGy_C-h8Fuas8=CrvAyLHN% zN?bu3ws4FEat9ACM`7m6iEV~j7CsWSNO(#H4<+hMbHnM#-R#;-m@L10-xyARcShQi zHfW^xeO>-b26dYJ7;5w*i4OVVl_?P%6i*Csx13Uc1KOoJct!ocW3~EYktvZA90Z`} zClIEL6heD6nB<6;D}$@zcykZ85v7!xdDztH4>-#KQ)_<5e~34kqHQ*BY0Mg1KlB7W z51>F&$FU#C5!(?BnGyTfQCU(QD3UW;0MQ;;eqdm6uuD8@9svg=aLq4;s1n~!MEU^U z3Kl;DYMvGbJaPZ&3^@!iNMP3Z{a%xcW2L$dVFAV=xofS( z58XR%xMnHe2)}|g?KF|?DFD`SH|XG za5bJ&5Z4fQT^~{GN#O@is7W`Q!2HNCSfuJE8=qtB{gvsrYuLC`hBdBxoaZ}tUO5pG zKnr*~BrWwBS)0_>e6|Ne$xn-wH}?PUkHdYxv-**2<5GM?!bS3CGXW$Z2gciv6mxgJ zCmeC;7D8YRRW1^pkiYQLkC>0;k(v?+JRaI40MO9T* zRaI42+#NWCT96{Ot;Q~p!h4r-X{mB9x+GU9n_Sp*I{3@0CioY!ATU@j89id08jTKT z7)(0&RJGE&^`s5ka}Fvp6a~Oru{YXubia0|LFsLuebw}xC5=GoCzz^B5+VXxr3ix% zs_C9 zN@c3FvdiL0pe%oU@EoWqaaE5*JJiGzBP}&@vYfa z@t>3AW(rSgGIc=^QALu{!bOPHP?XS$%4n)9qV-wki<6E!JHn6y*}pxs4_zF^bB-Gh zvJ??uvyl(Pk#L=PpO=L^3@{Kf6NaE)7)w^&v`ol}K zm=E+l7ee<%(K9*kMm_F(oaZ~_L`jD=E5Zdd6Y|)x-+0?U-rDd`-SN=<PTpG3(eXXs0typAZMn%I6Z;OTPa@A`M%nVy(RxLEu zvMqFKo8@acI5@blCJq?Uh8S96HH8K(RTpt_TC5ygTwEMnKqk0m)DlUq?1=2-s|00{ zq1NX)_=WwyPupz8z#|Xvs@|k_IjYX9YRev?;G#cR{=XWBc|s5Hz@cH24H^+Vzo@G4 za`UsCmX2I-I6^2&1|0kjXqjd1wzSqTbX=RRd;_79&&1+}lDG(!XfZ`5AZCVS3G&8l z0SYjLE@`3?Km_JdiZX#rLXHcjuE%N^Q!@0w;f>w=F$D5}N@c637~dgyEIUgV_dO&@ zU&0rWVmi*(7shc^>CnDo4JShcRe@j`grFp*a_b79;g)6CV|+{`w~_qWJkGX^3c9#A za*9OJg{qPTsc5Fk&nrJ`v--U34lLZAhjd7l&%fK_X){lc=}5vLqxddkT{M!-o+lyk zdJt61=F^p~Dh&ob)=wL*3Vq;ohVWNv4F<9aBSKvRj{xTPph8qWX)pEQDMW!J&RPP? zG~C*rYSv1d@Z`$%LEq5hoy}}Ct%dF5-gbk7^%Bg7SbEqrybi+8Pi%G!!fyo6>-Xj82&vtkX z93)kAM2L25Or1Q9bh`85#~3Tyd9z+2w^OhG)UZ)!YSY2Z?Pph|HZkit%N{ zmOPPC#RYaIS_j<6LssEqao^|H2d92sZt&%(Ng$&+;KFEImlOdWC?X;w1D0_|7W8$( zrowA|Zmo^d!+6|;!rio(FXWkG@_vz1hcD^+A*VY3ZBM$b9*k|BAjhcaz9$$U+I@&wW*$Ho!fx8PIQ(F?r0eBH6pUs!KM&Ko?|5AAQ{@x#x~zuEB7EBNVpvLPI~I|LH#3&b-mtM@+|?>EikYv^ zod1-mreh3|Y+=2qQ0$}P(Q~2?719W@D2JuTp5jaDN8Ax=xzgk1 zd%HVh)5#(69oPLi7}WNbj_~^S_5qdTZIQMGyhWs7DEwq*Hqck2n4Dymo7vZTTJB5@ zkIUj)l6`N(==eeSJ=XWR>OOMX*ihQ`1uUWzSy?G|;?Z(1i^MLy(M(1u5CEGTX%(=8 zftjm>u;uMQTg9`~jAcTw5YODW##>wX|4W{;aq`s=+ZX}$cvo!w;nRe&%vL)uY@S(hgPj`QKxvU)5U z!Sqyhpu0(v(UrA1zJ2s*(O(TY*d|8&$k@#ZRNe%4#9gAK&}VdXB_diCGgl5s`!FIx zFCu&#JpV5&dA33A-hyk4I&Qn#G(d?ckcLA@2a$GLn4^Le1B;R2^3;e( z|54Szfh((^)qKwDo3MqF5f|xpLME(Kyb&|y$|e>fNaPhzjyO_|%$SxlJ#hVW5`;W% zF}4^N)D>a{+D32&paN*X7D>zx0FO*qfq=)VEb&3W#?2xWLqP}_q0^ySZHEk3e(Y}} z=Sa3aY6k?kj6`AbLUwKh(1=l)F}RDK5|)Vj5OvW>r;HRaI40RaI40RaI40RaI40Tc~+jkl@&t zD3**d3_}pdBeKq5RRl(`Uh9NxCW}P0B)KalobBa ztq!;Xt{*;DTl-`$t24d7r3U==%P4Zf!F(-e#66q^ch>IZcC%*pamu^80TUk10JZ{1 z(eRG5MVHO#%bYDm>eYdTRqcirN-(Qm0`-Mn*RyM13=z3=2aj`H_qB@WIqp}z>~qGk z&vLQP9@f44gx(vI!8d*m7nI7xW6HUA{+%IA@!Sc&Xa*kqxaNF{zN6gTVq}e|;BL8N zM2%Rj{=iFx!WfNxoXc8S>5}OuWhied{8_znCY2L&5<-v)R8S=Z7zGNzln_8E1r`vX zf&oJm37F74Ob!jp zTLV4{VWrDIAlT*Cr#6#GJkR2hUF=d3HEl{*P#Q+fDvFF9suJa4aE6^kSGOl=*KWQD z=&9X%AHH57qeMc9;5UXP`lN2Hjp5CE|0x=xsH#ZH3Z7VPM)Q=%mDc|ct*fgJt`(zq zMRbKWrTR%OCU|P}QlU2xm6U|s;dQqz{+XdQp4R6NMGq(7U)v+x5&CV;506N9(mJY- zf|pclt~v6{pqc?!Fu}MavDQHJo!w*4Z$AFoPQcQPw7S>CZ$lpaOW=;1H)07dt<<;@ z8hK_!N@Fq6)4Vl~S2{-h@3kaI;Snr^QxN^tB2A;Y7N<m9ZPy#{-2P%g<6FpeSXyM7L^5ssn* zGCqpySU{m9yTbh7L_da#Qv>*ByDj2yi|op64z9;dwDD?Cn#(z=4z(z{?P#(m=Tq4G zQ3OE|Em&=fNs;2{EKnr4(+!A*W=#9Mt(TkXM4fHAwUYM90S83^7&R10GlN9}4z`Yi zbUMcQUD_YQ@;UazI$m6mt+}6jN@xgi)I?831rYr>R<3AepHe&nkbw~j1OWt2Yj@7y zK#x_0S5li$;H_cqM35TEedA7NTm>4*HSO=CoH*)>K?p5#r<`+`E zBJY#`uy;W5Yv*rwvml8B?o;%nEmb#2-v%O@f-bvJ-^;SMLM8dcn81E{2&oECipW*U zi0&D$vRcV_!C}^-@s^C1=o!h6S|{a3kEVg!0txdq5^k#JSZ4m$Hh#NtdWeuGV5F3k z@z-w7!*-O7F`uCP+>K3}QSe5Oc7Afd=GR*7RMTC`su?00^e~VDdHt7jZ*PAiZl`lk zHOhiV>Vf22H>tdeZ*-^rxikjlU6{gYmsQA%Pu?L)ZDR%f7~IN=^?OGRSu7e1Yeq7l z!|ioO*r@3>b?skeqNWP=M0UZmZPSZpvnRO`Kc{h`#n8xovfSY>Ff+>2mnBU zO3hH!voVZ!SQ$=}ZE9q;yx(Po{o-hj?U!17-y0WhynFs7qbDc)2`%tvNrdj5@I3%)`EZ>(?D4QfD{D)Jx{~!@(Cx1tluLaAto$d zTnDeOu%OXmx>oaIUz^DkBrzkxLd125)-y3r>KHb`g^EB|H>9Pv{JWgHkcZp>-q<-_ zYQ5*9|GvN9;lA+nPIiY;sRg3D_5P7L7Gc{ODy;_>_F%C;MgA5Dvun=>xd`<6^?Tms zJWDfNTEi?9^Wwt9k!Nv^hyC)koL@DdzPWCLr zA3!2#!1)M3pF1_%e};+Ut}EdtfIPUDN5JE!h;O142ry%i5M(eTT*v6F^5C0!7izdU zaMrWa1wYqPkt;<1kI6<`?@xmXX5naech`gXxOZ|4DpVgoZ-4@&h*iz7Ini41-#d}2 z&2zos`1N7kI;a5j&IlOWzlptvJXxkA=Y!!9wn?FWRhw`vDq! zsQPgyY9qc3LH@pccyOy&`uL11$V=IP`)f(>F=O(a`Jk)~X3x$a#``wDQOMydL_kd((fQTr(OZk~tOyFhzeO;&(fO6sRw@!h+itK$wT0w zLr_|9@aMclEEw-pKkZ1uL10Jyg+BSM+9}V<T=UynK|PMury>l z6?>-O#R~_%uy>osRJPt0(uD{<@X7?3|mbtA(6&du}pAb-u<+Z8EVh5(8HP8&9h-p*0D zGZj>tH#uE1Er>0UUYl+?c*15I6~*}WI~=%Smx4F|srkVnm)e^?f&nFAM{K=r^CM;I zZs9M-5GzH@(AqB1QhtWO$fo!%Dd;|nH_UIX%iu2YSE^ZaeB>f~)(?^TB8rNTDQlEy zrmAE!-iJl!>XRFzII&q+#3$;C4TI~^v*tgsj9Oc`2&os<+L5g4t>A?=OCeWBUd%Fx zV8$UziyiERX1)Hj8_cf8$B!CHq~AY^ch7Mmz*ewWF&mnOnfV!0_c4h)Ou=hvzpNH$ zHGI$+A*2Jpa0@{}E(Lw;7(P#RfAw~!cfF0qV`L2$Gdt3jddV9#?BrnD=7~hJGKa7yc zB{v&lgH0KeDS+GYm?~qlGW2ZU=z^iWyTY$)xh|0m&!41 z$Aluf#se0i8O_8hYD1~6vHT5JK#YKz#P3qQ_ zuEHrQ-Ik)wG^$e(+F9irUM8p)2IMq6<3+uyxoo z8mv6!4RqoYlZ5AQD@QW2;$!oPIa3Lh%=J|>GzBL^(G?eSC!|zr%IQ@zXdfRRA0H{n zH=M+DF%ifEnisr`s=w3TWvu%`6A?#4tf0FYoF*6wU#%o7ks|-*epfPRflmt2|JIZ=EAMy7=8E+<#&~cxTR3lFuC8-Xih@)7Dda|9%GB#E<;u%$AQ2}NWvqeV3 zF0zbp4rF~;}~eGEh*T>nk3 zLom#~L6;wRMA z3k@1Z`{+|8s}h7pLdNIK*#7*}+qy)z&BypDvc)$IdU4^#M@{6s!%{Q+ySofI#5Fv>3w?6Obb?m zxe<4%Z*{0%??ZMtRd@eyb6(|hnCFW3JY)Hs@^AE=X8}}U9)7$~)r}4vIGDoRyJXM` z>gk|hL)CEHX69I^E;Li7s<1n)(+IU24t>=st_GR|t1BH9jtqUZtGV}JX!Na{D`rGy ze`Z_D8|Up~Bsw+EsC(9Lyc|L&LIT2ceeOj0A>(^~v)>_*)*R#rhoVo)hm;VBmxXRc zb3hsksDGipWDV#eWG3Wkso8dtDuRdwsO9syy7!z(eR#H4zbum+WG3uV*V*y-rAWdG ztzeZ^33|_i$>*vjcrqkijkeYn#1>&KAA(kitrKLxXb)KfLzmUV)ewhdiGY_tz;xpT z10io&7ihe*itn0tR?}{TICHC>jRTQ4l&M9m_pH;{>Y?tXf~+&V2JsenaVB)-+W?pd zH4}l=K{Qc>f2PqpA@!$&x*w?qzib73oZ2%_ zUn5dhpHJTt_uagMnIWltMM^uQ4?teH9lf(6;tvX0z5f3NFjE0KM8gviI!>x3LU2+^ z$ZyksEAu^*%=7;@s=3bX`f1xsfhpSQxt1xwE1=XZddOWvmjnTvgeo$M6cW&cs93#7 zT8WI7CY5pFAt*~}j+0BYt7$H#lqP8{O5Ng8CDKVLOVqnbrGRTCWUQBoR+JuqEJ7P3 zB0~M`Pm?`$n#U)?3CdWg!9UMsE$M9bx2+cE|Byj}+Pqq*hNkqTA>LUPsX-!y57`F| zFYV}&Vi5#r1=zV9>3wqY+WL7VRj?-$}Bb}GFF8BT~ zw(7z@YV(x;kKIevOPD>Fa0Hvh&xAjpt!7Qi!{i881au*pm=hp96(0pm{s%;SR~jyb zNl}L9M!Ae4hYJ%J)4e)5;KP3vEiWJpR%WRa!SN?yA}0#30u+}Dh3M;}+{_jH4As<; zZfll%BjaGULrU43o{g_pVIO}ek@aN$N|*OF{%-Hai_ViPPt3h=gOMo8QZ!>9HToXr zkFJvTM`^D9o@M{gtyjFOS>ekFnGoX}z9Ez*u0}HgNw;4h?_saQMUEvIaOeb7XuG3W z+n^4`Cnu2|kY~2fW$G_*vOWOh9aztRKplg(JkI+cNpNqrdbOzadak60^2nXCenN33 zM6Isz0QQE0^WF*>1bLJ@(?BmV3?^W0wsJW5sqK7?e*>f7Qr7FVzqm`6LP~1^kh`RK z3Z?^U!cGbGT?c|A%^#+*%T{gs5r#fDxyR#kS;GyzVHl{zMs(rw7(Qq>FBUKBKy_3c z>hnfI;T@Y@FhaI`%*d7m+1<4#SqznFlOBTdIUbPe@**@s(_(@9LNtW|IB-C@?JeAm zX;{gye*;SDF5CijQ$7F2mp*T;hQ1qycUCUd7f3wI2f51Ois^>5<+Wh>fu$`m)ovV#c5gVcA#6h^O%F5N`Q2P@!ehefV z8mltl()u0hvCI;|T1KpF>wp%8AO~o?GKm{%SE)tgsRpQKYiMh^S=jDff<62pRSQVV z>h667P)lc4(yFbxrB+h2n)i;wrMN~$ri<8qefMr&%aWipt$ZIzp4>I=<0jsjBc#a1 z^9E(XEMf>^utx9)CdSsC8T3=Cw2eq!4UNdbwvHc%7*Z_$*%70vpqRXh&ZAk$?OQ(w zJp0&=Z4&$~@v3p3?YSr3)qUzWJoIu_KS``eky4FPL{0|NRLsu2I;{g_u9`gIPw7-uQoQ;d9+sGsOltjx92|ZB)Y-dsja?VV8L(g5tX zARIA&T?oM0myo->55Uy_XS;9X<#}q9^6O;Tb#+zNe8xzL5d49|6!lR{Or}PTS;d*c zB&#qHb+|HDd&H`(-58s<&(9!vKTFG(zxxz3f4{zpK%`PE3G@IpcGPwOIO;hvqAiysNZL2VR}4%V;q8$&%~1xZ#IHN0gc&I4EfdEuxX5Hk!(5)5=gW zdNZT{Eei>aX2+UDC|ly5{2j&=Njn0j&m={}VmNLZkIaaW_}t}QpEZ-aZRWX%e#aY6 zk9L_DozDVrCMA!z4S37k2!kSb&0Ir568_54OQNn)W;g2f?|WXhHQ>&Iq1s5!pp2td zx-X+O<&V$DuOq)fAcTs5XSH~5Ck~OEu~U4+Lus~L%_>?Ta*$atB-hj=V+k6qeoG(z zj9tL&hd=4b4BpLV7u{CN3=&6+JTCzrwP17H8(d(cO2StAw|HdGoE)a>3KAN?~lqfy_6z@NEW;n7UghQtH$ z!oWh;+}S+$>aD$hE4zP@!<*z}$i_ZS8Z%_jrZtzh-afwfEKD|4Sr36O6wL6UgphH! zet?nis=m}n1Ki9&zDHj>IcUJ32R`L21rUT3&1oL0(wzk6c zX|5ifz}`M?gL=mZF|Czn9ET|weZ|Jd305JGKoI81-tGAi_0mZP_CQ26FY@;CL#9vh zZFBnY(WVR<;{$7Fl<@fAv_N>pnW4qUUHYfe3k&{x5Ii!UDU|?objUr!m zD8{&~RTrfN?WCf33^NE}f#``GPhye~!c4lfRTV`PSfZ$^D$7FPfOfbBuIC&g3cYxA zT(q4Rr{wW6H!u^;dDN?F#aZ+OhBh`0s408YztCWlMu*vs)9&LsMr^lQJ`U_}fZfeGT3z zKS!A0d!M|A2e(9}!1iSAIq3vtT0zSG;+}3#`e!K7h!R}^vU-BdN!f!R6=h^;9Jn$3E!km2f{k`NM^4_HuFu9q{%%zt* zoa$vi49)L=mQNqXHuAnqI`wwUJ=XpJ0bg01pxFaWc0W#*I0jib9D=gV&N1!9xK$B< zx(Bx`5gY05#^NF9iVBf1F4Mvc(BiChl0FuE=BzfA3Bz`|?V=!2u_ zzJT^(Ub$PH>`mA20DE1>6Vc=DJ$Q0n0#G7CgsC^srgF$~B+?)VPfj2o&LA4%SVF=U zKSt?vwg3ix5##`R27`WxG5|lwbq4+^(X_@}?%qRe065Wt%UNoeNd9}&?OUFJ?EM+o z^_f^JLHk3^h|cyx;p}c?T1Z2_2P=4ix@~N);4oo(7yVQ-Yh;EPVY$0GDUmla0LfKf z2QOnNBFFH@alSS4ece&O+Y_W&)Bdoo!|%8v^PU#C5rm6g+vn7kfFnKw2)bRC^Pa0) zla%dg71_OabF$y?JJDVm`*WzuOVym7lM4qUx6`L?KcLLv&Ka46%*bY>p;3%hBMx(~ z?)$mq2ptcD6O;{phN1V9aqZ7wUF`%3UahN*lfGGjo32Hc1VkagTjV65tl77$2#bqg z5ocdoI<5d-kw@Ms=^?oBbwWugN>YNvh0I1i4fe;1lc}@BLd(SDw*A*U0ri6;Op|~l zow$&m9Ee;?iE#^OyL7?;as0Pq1N5MLbPx4F(nHr565n z$zRYUvIWKQ;pI&ha4pC;%dt3|zI%VFbI<*iIJ@2w?>Z|!Ska%wsN!zi<%ybhx1Gru z5Ju<_gdic7=n150LDnZwB~$hK*i;upw-%g&?dX^U+y5VB~ z-_L$$$H`Dyn=EMJXu;LGgqPqk11og#y02R%zGDM#wm*VA3UG=e>boTC-`Ueek>)WzbThe5FcJ2q+f{U_7&N&ey9SpY1rW*-6u%hd_b^8Nx<6MCo^h~%m=*gqeLVsolJDr|ApK*SOCN`4WLrGybk!H~B zAWUH@QIz^Z1<}zQZpE=9$GZML9$v49&hl6{{3s#r|9vM$40Qd6U9vf=?t1NfN+vcvU5qggS7Qz?(i_%5q#odh5 zUARNyjEE5O8q2Ch!Wj~uN6!yA56p|&8_(r$FXila@0pQo#;n!=oc?_`KpSw_#9sB5 zLfLl8;m~ZiAcgs9R5(600M*HZvu0bmMg;0Ue=KsRmnykFncz+ozF4?=rn>gR0a>mJ@e6_z3P zzRyuKCzJU0C`S_Kh+YI!6i;VKHbmJi{4aE>ozf*t4z%=Nu;f$F$XO+T*rvz?X&pGF zr1U<{TZLiwGy4LLxG0o{MI_8buu9VpMTc*rKhfWgY%?IXYPbOf{zr7tnkhE2i1T6~#26D4euL>bBij2-9i~OlgX9$Z8_+{hr&-3Z zOjL`D7G67#b z2;BB89KoZ~AZ+#l5ocZcZ9G=}^yqO=r&`IP3Tqn?<8!?C0q<)SPiaSi4VvN!lo2W4 zUtBa4Hkg8RWI9Yu28${Rswr`%EgW{M)=QZ`y5Z9emTwyzLU+%tq9|1v(h1gG!`Icm^=GE1hc`~_M`rlJm=v_s`wA^}qFCQ`A01NTz zkh3^|-VK5&N>G5hH&}`kSWW8bPi4wN*hNuZfepC}osgod!auMhN}Ue>?W3ysY&%$u z%ldFuFQ2`&T9x(LeT?qfVu1e3|3tMt*N09>h9F$ zXGOo^!Yz08b3AbTTHmQdpSqPdotCRip;S<+ zC{!E(G05c{*8qnrm!Z^bwGj0k`}sZneX&DLWM1c-L!6D8{;{qayUY2m&Z0BV<->V@5YBUf8ka^Z{74`5)>^PcFYvV_c#=E>)@?J{{vZQsor%rgT*-b=w zz~5}C#S+0GW<351%GTf1Q`AVPoc$J>1WF{ZO_t)6ebm20kv_B_K_(CJ!t%RM3xUd*G8*lyL{+Re1PY!5 z8a2r?mcmCV1UuvAIaV zu(=Pap7K_=lT)@Kz50S|io_Z%waLS(Ib`1D8de4`cJ>y05q-dAur&Am{pFr?KBasb z%OYSEF8se0ahUt)4FFf?$@z#{@{gl2lLLbYk65ROG60?ok&h7>M%V4@sc&(YsB7mH zh%cXc4vRyd9sYaO$m(Zpnu`<^ccV9`gR2{gyQZ& zq50lqI!^x&+`rv@j~#xs1a(L4VwSPWeHa)lR0xyG!HWfcS<2evSy;CGO|`SGAVaZs z`bUC(1&Gu#yly?WDD*%P00lJ_jv!@ne8NYvNV`5U+*}3Ec|XXv;o0WjZngX(KW@Dz z^#}EHXSw8C9Bv-OxR#mxN#Q?YRT^C+=Iy1R8W!80@dznXjmYQ!Dsq{QdDvFp+&_a@ zT88%9hZxS)dNeVq(_C7Qw6ABCg$9s;(LNJkK$jX-G3lf=Ff%SXw$L z3qxduRcs`bkQr%PFl3ftW*c@wP{^V+IBl>R>cg|mjUj9NBn$~YWkZ8k0%48j7puLdH&c0vI z5P_lh&Y_SlZBn?pdgA&stoZ-zJX$*r3ZUcgS{5P7(?SEUqxO2PC-JVAYnB1STE~5o z;1LgyNZi!Z#kQCxq}X#j1q^8X4TAdaHxndA{ZcFH@0$0gtxPEsNcz@?~0f^ zDtW|B{n!VQx2j-`yDf_xxSCguQ03M|gvP6?MPH#wN+GC!<*rGRGm;Gl1)zn^*S z+jbEPjn7UB-}le~b=`3)AAD&il7qVn2r5SJMjP*&fb2>Na(Uyh4XaOE(N?P|ylYh+vJ&m1e_SvMzGTsXrc5 zJroIh5TQBLhAcB#!PI&trXMtFeC4ugy9x0*`qgZQ3@D4 zOT=!9Yma|3aOZA6uevl#JX+R3StbuQ7Aa#WBrBQO@5N1F+ z#i1TAD{Gg31W}_;6S@TAxYyByw-4unzNJ)EP^o5S|XFObQnl|$4 z`FViN!#k0nxH;`8lzt0TPG!m|HUJC)R5h~7Z6n5~KJEF^Eyv;bZ7Rm1c|$l%^j`-1 zh|%Ru7k?88m}U4Q&|Li&AuB>WVhP#vPgB!p6+4DTHYT_z6ehQxQ$cGPG&nKFo5r4I z!4;oxQ}2MTJi`|YbqcIBQCIT@$0C-G?hzgCacP&k@tTsK6_yakf2xKNh%FRdU3p_y zr@n4-U%$sY_P;kg?i3GPXmJN)4uLu{08L90EyskFdJJJR;wKY7<#+yRhFAF2eZyMi zRgYW)qUCSnP!jHz@K^XE0(0S*SUNq2O5;1CbaG=zisi0ujX7Uo=o0&F)0xLl_cQcv zbnw<5BdFqWgO75wR2xEXpT$MKl5jAg2eL=@RcPSCu;RT5@~Rvu@!9z9i z0Itn*76ME)GA2Pib(?Idmfg|rhDgl>J6+En@iuf|KBB1#V5U*s`=YthE$l9~4?=>-q^ugmm2wptPar|w*w+y$Vw{}OIS z>lV>OKJSvq4csA}v0HCYQ_kO7!+AKvn8sRb9Y0j^*=UnAG z)c93E-H`DBsxtVFfAqi$DP_8ZqqsTFAg##)Z&|Z;;e_UB{SPeM4<-K9)AWGhj@vLW zxNPjGq2H9U-tJ%DOwoY%-FnB;l2$Ia^x(yJKf?0Ij~~Q@ihrm!D!-jbr_px0vRB;U z!53*&cp{#i`sPs9L@fw`xj_Pc2gXliQx|V9BgRhHLhbc|q(*xW7YJ!6 zQ@dtdKOkStc*T=C2gW>&YkMhEJGa{nuoK_|++&@A8U|2_5(iV+FSV2(pjq$(BaifN z^Nu`M$T%E_Jw7#DOT<6hmF$39Ulm78QzN-ZshSn5a#tLChjQ@@;SfF(12?BP@8lfr zryAb8?u22V-R{{Z%yOh{I;wrsf0NDzcO>4#+ouFrO!G=~I?kGav|_T)nL}9;(u%$o zFk+kDMUQ34lL88SySWl}5fsu%UAcDhPofZm^-ud$Jq(8iu-qGnm$-uo%irJ_qi_6E z)y!(PTTlJ3S&u7QOUK?tj{5S8NExb;IG9l9<`+2t(SpoH{KYobR9g&njz=$dj=CwhFQC%|zj!IWBnI+Y-%y%p(TG-H@g)rci>!C1!0A%weLu|;x zc#(UWcu zb*DSO2$gtwG3qm|s^onprGA&dNrSVQ!VldTL5eJqhX${k$*-mnbUgdvMfNPFS?;yT z>+u4s^s(KF4s~ck5lA%h48xW5%ghDip`9LnWbtxQZzJijX+qyY%0SeF&1T!zZ+8R7 z?VoufsHDWdnSKR*99iACmE@?Gb7BP5Y_|i$;2PxIor#BHkL?%JLNg}I zCf%7x^9-TbflKhG5XdN(WZpdi{}oNoQ4dV%W}Q!b1ZhBNiEPqBRL^WNhQIjI%DD~G z%8Dx87WYH=YArwbDf>ZWTZsN{Om4Qsc*a#AI81HjK%(^mO0C`}r9uGXh`_g;Kn*LY zc?J?W!aT<#iCMc2jL70@C)C(<3dTyKONy_yP^)^`ytjb*BrdV=?1``DRn;GxLte*P z(qqPzF-S4ohK^?$5?4AQe?aD=oEDEDWp=nE4b@fq+cj5U#flmYX|=$7+3DPh_9l?< z73oL1W=px&4+HfS%fKl6SjrTc=3m3jmJujukg%FY70n?ST5=*{j5A{LD=1_{)ySoE z76hD#$tV&P?1d;wB@!SNN#z0*T{2uf;M)5y>1)G3X_eKM>K#ajeRPJ`|jn73^)TK_&jI8r3gVp|k;_h67(4&x`f!$z{MaGpu z0YurAxd>2>`Ip#jxVV`2Wu59358_kK4WoY(BE|EcwY%XdEKa=(!BIVl8TZIC{Hp7^ zJ(a*;_yJ0s;5|Nsg;gXAbP4Gb+P9U4<=fX-kJZTA(u-ipYNf?G5vZ=V#g}6io|Xw9 zU7Dk}LHw&Pk_~qTpEs1O&*jZJDX(1vJ{+Sfk*nu`bI?XEI)w~OL~28(!-Q2w3em|d z3)12R1+X_&$;6a|9ZZad&HhV|HiE+1D4;)N1&?s;wsc7|an8D=WwuDIa)qmC z4F>(uNH>$uHb`j$6hXHQ)bDUc;2B+-eew?XHsaj3Iy{N~fD;Uu%bpmM^#4 z&rqqAklZI~@C+4fzkTxeM9hzu^+i?NibDw?qo7I{8$N5~;_Z8E3Z1^eWBuzY`qp5= z3^e8Y4v8{2U7L?)6;47dm+$&6ojHGZNF?I-yxT}KCy@i!VO!gk3Y1jJxrlX3+tW?t zRKA2nC-qItKdCDTVPV+vQTU{g*gPkkGqW~@i;Jts=qNlv<}W=#u~G^jE06ZlC(J5> z7jRLY8b*FDwYxSG$lwuezsuOUhI6PTOImp{8I#6bhE!EBnhhcwAIAx9loQv&B+x9< zh9ExHFa(1hJS$`)V|wP;M8 zdUR?y$wobuMgObWtXvbWPQlgY#8`C+&CHiOGh>+qt)8_+|80S!mrs3o-OxGipOb({ zzBhjpq+zf$dZ!TSbQtp)9$KeGtam7-Aio1Px-8%3o zx~f7xM(&T^k)Oidd#{U&IUeT#B>0N%g@9_YKr|f+GJOJH<3x;hYAsN->GWU;e;f8ws~z%ELw&kEX_s6!2&rd$YvYw+W5dKyOJq#m zAvAw{_zJcTo)+eO0njl8mOy0^KMBSK@oqaJ^me68MeGw)*E=~|Wc{a6Zg=CVu0gUv zl>D*<7e=aV_1-0MuMN&O^X=;)L(GN%w_FScu>lui90BAd_g`Avr+~gca2-V&%l$4d zB50&;t!8ULexd(i6LJp$nGYGB9rp%<4-;CEHkqV3<0sP^F^i;Q(pT99t zRJpTy@;}yyG>o?8&4I8Krr8K1@gqz9I$Ph;)X+zved-~y%)Pypr#BsKn|WC#+3fGH zu{XPJE~>hdNI<(5rA*d8Z}y4(v|tSZk^Loc{&_Y`Pyr6Z3EArRa7j$^+k};s#(l{- zzbsV9s1Q7&AU4;0vjP7>{)SBBLuu0040XPcS0kq!;#7S%#J>rsB{=0$s88 zqO#8y6#`A3K1x$`=lWA{cqUr<0DX6$sUyai?Zl8G0qW= zG{i5;q>C;iT2azS;aUeiq+)glpWA718p(FG^gi?Dr9THC@0`md3RdEy|14EGYt$5o10NDRzxW2)R1KlM8O>Eit zu^S=+A24G=ncr>4GH9`Kn^Df1{++4-)t@mkyuJO<35z&rb=Wbf$_qwvWOFq1xfy%~ zHwP;|CBtVmJt{88lwfte{DxDtdr`UpV>>R_y3d&l{OG;5gUtF{IOSK!^QGd%Ez zK@$*vd27=V-xk^%@sgwXCJYoj&u^RH`q!^FXayM@4|BX-6;b(F!D8$q$Rpe3qJ%52 z+zoAfZDS|MtQMKZ>3e9l6?>_&Jl4a7|mBtv4$dfkC_>t!%NM3eB`oJ6do z{GE;Q!ld0z`mgispH8XV)Nb@z=n!8Cw!D4nvb?gt4_rrLn;vC%{XAuo2kADF0Py}1 z*mPFO8tYBhoVtp$t4o^88camgM+ioXoXb+-jdB=F)>+g4AA)8CYz(WPf4|==M(q$mBE}%bQ6(h z=-+hjrI-cnizOC_8`r(-_|%qgBI4-irm8B`zEF9edQN6%uV1q>rq4a2^~dK2p0brM z*~9Hv3Rktz|4ueGQK$8|!nLfpMo8}-ASXR=r)G>qc!+4M6-DW+yO)8d77s~&7in~! z|8{zX6%hR#Tv7doQ=IHwY=htUeE6XDpo+`>n{bCJ_NL3bBjUd;GAadab#@irGp2qB zP$gg~--+Oo+v%gQLw~aEtS(}x4K-L}L*-Lh^#WTme|-wd*#%15V71P*(_(8oiOWif zgC6(2h>`3WsqY~e6QSae&6<59sCd{e31U?joU6k(|DB5r38yH**69F^5m7{~>|unZ z7a#V6Q~i=?BfU4D@xx)lQzE&y4L@X%Q1fkY=IRkdhI<>+BG=OcX~}n z1~mKW37~kixSn`6S1~qndQxX1ig`$*aH|EgIJ(oZz*icxeI~m?TQ!GK4>!pz0{|QI z2rAjlCE^?j5u^k*n(a@`&Yrq*IKi|Ki?+jqZJB)T=*tKQaMb@} z5HB>|%|}lZlBEZ_4eu-tacN|22R_4W$Qo-O)h&8?8B%X3~M{NQZD9T=v)!#*l4i-HO?D!aUUcj_5q{hCG-QEaBej;tVhp~x? zC;Rt{orRK@J#YKO#7zSEgWk~-Wi^KWEDnnMI1`oJw<@|ux<^C*QqGwe8uO5dGkl77 zORpzv;q|v-XPuIxK^0;a1F5kN;ZC!ePc#lGy+&3Uy6fabvlj7tH~fX7n=R-sE3{d9QT$la^haoxItf zd)vaw-1$qrNR??|UBH6uxOIx6~&TbLIIA6D1kYVy(Z7#C4}mnJ|KNcOxkFiG+X>thc+OF3zGm45kc0op&l+r zYStkFo~IzG4LXYSukE?b>Uc=23| z5#4P(NA=?Nx1K>%(!Uv#h+jKR2hLLHW4xu|i_IKpbZp$0j_Ph2eq>Zx=%03zDbi5{k zmW(GH^+ORhz|+k+C=*0{CCU}07gm{!JH>*kif|uY48wTKUKK13sy6@l_EPOx_Z}?} zt>VG6eZ~mW8-hAf*|2$IZ<|cT1-%~oO+y!Yi-Rl#gX0f2bt4m%*_rxjiWbz_}!W#PXME?dB<0J>@EhD3Nk*8Jn!dC&OX+jR?>jNMbUztT&C zaZ(BvWKXn%JX;BEh4IE#>bjHakLn@bZ9P5hgPrGCo;-DYsJRR*-w^8!_#AF0OdLMf z`PD%LuO4li3h%6pDOwIDjaP?eadf3X2%+E~CGxod)qEyt6;+pDY-RIE6)e`X?AsIW z88@q3lt0Scr+b+j%fE-GLcU&|bBoY9R1b=|vq)RoZG-EEfxueFm+f`5NA1u)W1?*KFn0l7kBO{Y(s;ZWIBpMlHGUYDJ)7G2A zBDx|awVoj_2#jJ@nCtVuTSWSQZDkYhgs|(?@>=C~VH*xzRKpjfs-=MwN`i0)4Uldrm*ZB|0e|G-WZm=a15D@@fPUv3S z>WTx+O<*FYOJnw%n$cBF_A}9fQ?M3Ea=*2)bHd}@xg{zPjhB!kpnzScc_F_Sx3`}6 z@{`7{x&rUB14QC$>=OE9`|G>3vivBj$F|1oKB#{HuEp4@pA{=51S2Wcms^5V7O=SG=0 zJ9iv2(Q}zwypYM6jx zDJ{%RhsoBU0|NuYM3#Ee@7Dzt9TrxF6MMh*u;9E)k0bms!B(luj{Q(g%q9Xz#4UT z{h7W(E{mEXz_=Q}Jt+0wCrSunEBP6K>WA*{f+#v#XO=l|T-x`}%V)ctw>&wHlf*R0 zDk^A1cw?ELUG6Ldl;DjR?UQ@XZY7a@VeDC7N$}0iK&BSDuQ&IYv``qo=FH|Ue z@fH1-Vl{#xekxRlt=Z@V;HI%Ocg9e09L4oZ9|l=BKdcv*G`RZ@Ei)RM#;`e4PoyYt z3{YBV@b|3zejG|`bqhe)p`Kms3m~HvJZ=H_DpGXv#V;K6h`m%Vz-MoIK{bQf)qOzd zVl2YY<~_uC(M^(zyxCmc&ef17zT5V4sguZcf6l&rMoQeQsiZbqbQ%qW zzCPPy^#&0+Mj|>A9t7Ph%9!=G`qptzBAzBhlggGE*C`JRfNV7<5R4S7LzyfLpJV1^qzY0Z(5b$HNj&e~8h}W%i&+-0*2@ zdVICu@E`-g@yBbwm25rL8QU;L55!wh<@5v|ZaqOV)xA^c)u*6!#U~Yh>HZW8n$aSH0 zDHM5G4=y}p4r16ZVnW9AM+NK%)C9_es5##-D%I1V^yVxP{H zpJfk?!NH0AY5w*=NOSOoMaGQKe{DMr$1M6|FzUGR{OLiu4Cp}x9O$u|jHZDwpuWUi z!rp8xn)|;69>@_a8ILBNZ!xyE&)MY|kPXnF{riZ+@nRa=q)=aadV*Ns$1v?1{i)oe z0+;QzG$WX(u|AQATeRu3=6i@+R6r^izlS#y;GXn5d+&Mo|9wv0IXHCJpSJ$x)q!=doc?@j!`J?GL0+P$>__n)KK7oio68gcruZojSip!MuD4v zEkMHCK<2}=wBrH8#N~J_mU}YNwiUdoibpf(#q9UikTac!Lk!daPo8qhR(g7* zm@CQtvBRnSbTaLvWoXuRO4F%Q*}2s^W#695*_LC=?X!-@VtAyO&6ll=lP?uT8(?0v zdkl|NzC0f$69Cr>>vq<}=K$n;G+9pHH*S4y*0LSR-d8GT<=JONu7^#NfXa*D3`7U> znR3Z4qF8OlbK!~t$A!Qi*KgkwdF17wR33ctMw!<$`b{Vk^M;M4jh+o~ytEt8481gK z=jCoa-pww{_7#z3Uiz>}e;76g7ujNd*FhioHG8tnvZ}HdJObrX(fx8hE#zQUWk-Bv z^<-Y2{<3=ZwN0d_4+vujda^Kl;Mv$N67uTc@tBtF&$Iu1=55~HVn0FFL>c{2l?7!0 zMNb{td*}@KECJ;NkFwnpy*OpHprHoy-O|)ZvVg@lks3=5vXIq&GSoG+Ws5qP8dlq5 z@pvS>Hko27C{zEVz_W}4*1M$s{1ABHB{uXrT(chN7kT}ft$e-WbIUM>DInLg1iFNj zYfH-N@Zt7At@Xu+yTDuMNfL}Tp?+kw-9GcA+9p&5a?+SkriNfJ~OZlwcwa+@%!F0YD zRr#VyaT^cDND)t^GKN+S&7{jtK2xwplIj*Cj_og$CewvOQ#jtpjwE9zcZEZlQqgvl z&N^E?YCsZyNz_8cjQ=FWJqTffng=8*Hd;z&qbeHpneSAaRd1*2gk4kZ6V@r1NZTw( zRONcQol-7wa}=Chp_B%zdJtnQ)+)pnWK*rTmkTq3`~6k5^T&&Wc?VhM9t%p>i$OX4 zGwjcCkTCYufTV%HZfcO21Zr~xyU|&5i}Z2sNK7@;x=Ul)=qW5nr9=eJG}GxSyfF8K|ZH^BeojAG~#RV z?%WZ_@Er~r8(-2h1eD4 z?Kk)J_4e=U?H}&l9^bpKd#INJ|3vx)#vWH ztM}e-{xjdo>G2zJ3+LKDA9&8kZ}#z@H~fvT)8gZw^YK^t_)q)zt9|@u4F6-W)8XSk?&Gib z@z419%Ex~K{1@b4>qDsbIr-h} zwMJSQgKivpn<6`#8e2NnH%n+RG9EbDv<92IO_9S5Dl`^3N`=sl$gzfwP&6`$#O)Ca zoQ{ZsiPfQXk!{-K+Q?4mH%Hd!SbO9Xnl?ex&8!2N#dK!UaGd)`iU zt@kdb7L=)?ZSB#vf^u7H5U26~fB}AQ!h)^}l(wnXALoDggCie#`qm9+e*s^<3H}qh z7Sw@PI4A=Y@KNyD#y5*p43#HL+)(XH%IQ;3`IV6yDt|X|Lj^|x+Mc2Mn-r#}KbfBX zVBAp2nz*4-F>yon_aD?hYtp}D~aiC#9h+(hiQU=)$uDdF#y!o~%U{92JPi?+|ksAa7p4 zSW8P1n0Fe#v08BIhjIq^sg!U&2up{n4_~j8=2ea0twFfK$XHgshn2EMmz(Vbz2*Yb zEr$+e3^(hr1Ub2e15%HtLRGPSpEIi^32uG!&Y)`ZK&%4*LMmln4f}jczVE4hKWxZ+Gl9Hp@$6x zsQ~{M*rWc_)EtPeU|?VQZ{Yv84Ex|5#QA}9$R=PMxEpu?Scfaq18wqgefIVciWe{^ zavS81)({%wa;yXRH6WkWTPc3W@0SO(yn6M@eYjs9)bg6Qt;mzMT9DTUt>xzDyVsJ9 zOXPvYzcbM`BCz4MdfJ$q^L6*d^R91PiP|BQe89Dr-%I>? zGzbH!L*NA`q5kEf>j(GAK7L;)q3``75`J{0Ja_gw>;Ok0R=};m`+**C(|4m6F_dqB zz%yrsy#m7?1aVXI3=i@EJiGODU5>ajPO((9z}WUe?1Cq+Z7ZnXF0HWKv_ZXQAi?92 z@;uMW?ebo0i+FeHx-MRYyaKXtb8{{8)16xlNE& dbCZd_p7@STCZ0>=y1UaiTRXaAGucUM{u{)F>l6S0 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.82765548E48F470AE2C324FD1DD1DF19.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.82765548E48F470AE2C324FD1DD1DF19.cso.pdb new file mode 100644 index 00000000..c3be4c0e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.82765548E48F470AE2C324FD1DD1DF19.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adda924cda49d2375bab1c8e5b89b60f04e73c62a15dedb64fbd072758585cf0 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso new file mode 100644 index 0000000000000000000000000000000000000000..5a2d9d6112e7b32ae5773a029ea252072faf7b79 GIT binary patch literal 19584 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso.pdb new file mode 100644 index 00000000..49ec2c1f --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.BF85DD78B470A799944AD5A0F0323B0C.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5d0d2aebdeed6663e587d4e05ec826f9650eea40d1869ded9f3d983029de9a0 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.EEC67DE904429E8E712062FB728CA7E7.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeSortKeys.comp.EEC67DE904429E8E712062FB728CA7E7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..b84f9c160ae4de9074508ff5135e9ffb8a3283c7 GIT binary patch literal 67286 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.002AC7D0B7F236B81143408D73D581F8.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.002AC7D0B7F236B81143408D73D581F8.cso new file mode 100644 index 0000000000000000000000000000000000000000..359ce64f0c8692160ba875ee97554a4648dfe5b4 GIT binary patch literal 14900 zcmeHOU2I%O6+U z=mFsG!HD=ovcTykk@tWC`9ypyaS<}+e+@`B^UIoA&HDU#nS)>=9*vUM1ysOp;G@8H zAmJ4t%hdyQ62Aq6Sy=;Y2G#%|S{4NT0WX#TQ$CrRU&z~~nMwO>rCPEDbSZtbnjg+) z4;OMpxlBE@^CnOM4fIeEAOxiRfO~D~VdyFFndjf-gUyqveASj*zL=`?qa95^wrqJA zfL>J6DRXo#Q!18=xr*wZ*r5&`Ngh$j*;LjpsnO#6!W`PEqLFY^E?>TUIQg+B#-WmR zZUqi`)Ej>{Au;Uo{h(}`!O5|y(PPIZ;*vZ$bGV!+6$_O_Dr3tr=^P?v=$TfWjL=tZP#OIv6Mt4l4tz`1}99iOmqFD_l zO}%^2?Jl^s_PJ&HMFJ(4mvGDb9@j;0`Z)+!CMSm{FM`XyOML|15269XH`iXeoNPIs zx6FT^&g7H|L*-~OUo0W3@@(E!*xA{4tGXS&>Ve)J>PCCiyxwxN zylJdgn$nwVN=?HdMIGzRhfAl^$TXii+r6x4r)x&%+oc?>ynt78t?!>b+(zOET^autp3kBTMyIB0DDPW%}*{A2q6}!~EQ0`Hc2nLor8zd{K zihaw}P*h*W8zsqOA@3;{d-Z!1A=JUHtcDg#3&rVNbXqTtQiwkykdcrOjtEG%xo_3C$%hRL9 zg>(A3jpM@D@aSMXGBTKm_3arMibnhU`XfW}!M^ywP&6?V&XkMc*?c)KlBzRN(IytO ziPDmZvOd)=PiMR)QklVQBt4jeiL^119qh}(M9yQPex7N}Xt$fuw)`PtoyV=8IhpG} z^R+ju|8`N&{5&5fHD$T3V4R1#|McVC6G8MX%D4uhtO56q2N-!8kprC}eFFoyPwn!~ zh@m&41Gf)2F&y|5aqKz^m)jY2_4rn>Oa5|p$@ki2e2w)Xzui+G#!e5)(az^VzeJy*UTekg z3l6t*G)Zu#rM11Mr@i~}R`G8Pe$<+3@i&S8;o!$L-~UkXDaihp_LwLv?OMVppi@8c z*&f3;ek7mmF?`b=^4T7TpVzTqpFDwfw#eV0vkS=X7_zo+efvk*=Fovpy!Fk?rv}=$ z3gUYrF9Qh{{;oPn34l@`@8x!p^DfmqUQ-4t-vNFE*Dlp@Ysz19<$reNF2&ro75K;! zrA_`BzPbK8%7uU$+{8v)e9&c)_5)e3vo7ymAZ@>lT0^V|>f8xD1;+<)3fv4<4f{Jn z+(q8MBV+(J%9ag}gR=XzI>GFi{Po&mOq$jQH=vyMfp^;=i{z(ue$RG6t}SktH5;hM za{Y!R`oz*Xf_{Kgx3S5(g-ifl^BtQ_y1dy&h}O$~)a=n4x}nz{$JZ7+#9B}LoL4x; z1JcD7==4R|m;z_HYT2iF7M`JeMIj`pOjZvJNUhwfWUSI$z8@?J#oq_@LZ-=Yu<3hPD8?B;hORgl#}hGn~ix$qJ7GnTKFrVQjpv z#zglIiCXd02hD;xaoVyT)31sgK!n7uvY+C0v}H5 zU)E<}BEJRKLTJE8T!4*4tI;n=`!H4gfY8RONmTndRsA$+Rrj|_x=v`C>Yd+x_l8%K zK!*U4-~%V;-gC}9=ic+~z3={cj!zB8y1w_`_3MAW@z!@T*I)I%`JXX^h^7aL)-m13 z_(x`hT8OfY=Uqf%4N-vQ6Y-J6MV3MTH;gQj`n0xQH@-bbvn-g1hr_VZ!6+C5jN2L8 z7y+*^qFf`uCh&Dec1vp+*)7!>m`ItI>93Jl0(ALg>SQTzm5)tYr>nKHMNAjdajR6F zIatUQ>Cz?GfuDC7eGYp)FvI}gkndA@T@Ou*#|~B!{4|WBk25ol( zGq~7fs(iw#a%GYSMy5L0FzSgG13W6p`WAyhy?=bX?< zP|sDR=XUVj=Wpsn*p~KZl5f#grz$t7Xgd!jUFV;fc75DRwx64yoE)0G$PV3%Xb%9- z4Sh+2=IgwZ-cIJ!yPI@!JU&dj$9IRHWeigy-dO<3I#&}+NZ-O6U`mW#l} zVA%N9KST~|&A&Wzm)uWgu%@i@tlLuaTwIn{)+5fOpE+weB@N za^EWSo^-EyZm)T&IGYuTa_YoMt57|Znk@vxY(XS7=U|~!s|t~mv`2^{=N5%ywW=-E zi7xZ&CWGxKB1G+!cuJKG=GX`C;A6#NIlEUX*`$KMp#T2Wpy6vRbd5Lb{xd{7MhyB~t%b(FYtYP-28F+B(A)h)d)_wats^b; z%;Q9te@pbE_gr-D9i9f%R(u6@`({;D1S-{XE#v4$axA0s=t(>tc)ArGHWja4^7OkhopHLzN*5V+k8HJzA{wNp{04@2BA+@@q0s4p&_E~@Ca~0nQK@ol*Rhb~ zj1;QnGlb!N>9ze%IQ5?S+f9viu*|X<5cE_)GZ(-{}|kaN16rqdvG} zP0%6#d8P*tGp^S<^0at|-0d#%?s5Ct=6=xAN}kQ$FB(&Bzl%KG-ra7WtH-m&yUi8w z_Pe%w+}?q<#{+lOE`4hY{|4c%6LY{}Zm*mE#pw=4bSIy2xt`ft6uhJXKNdmLUHRAMvd9#bsPC?o27TJcsAS^xX6F@Oql+x(2jIbJ5806cl#yJf{e;j25Y^JT7o@R>f*J|H+N9eb@SOiqc-36>5}F3HiD#GbgwlIyS|%t)i_?5Zzp3T z{9|6h7&oZ{Es)Q@omzeCn74&n>So$bTQz3vk8xK1h6u@<_G{rO_mWOtqH3+0?zp#^DiIm(fWq@ zAH4vG`5*6TKqnb^4f5>BYZ1o@G3I0No3Jt>5buj855y-H*I`T5TJW-<`TUoP%*yBC zzQ5DcJ0IYtbnsFDGe3~80VLg}D1X-{^H|hCelI}W*~q6*S<1*=7F){H-SF;JfbPck z%`%v-?>pdq(80K!F?8R(H67gR2yCP;$g`L8Y}imIGEdME|9XC}uTx(GVUBQIzS1_9 zx3kx&nx?8_-%qwMIr=X>48roH7Oz>jEIz%#?U zVOfQyV8ut^cHjTJ$gS%goh>{oe@oF@NS(AQ)LSWMdS@*BIw74eW}dYfIsTDCrT6|{ z?qC_JKc^p5!N>fCpR|}t1~xuj+{UQifz8jA5S1kWWBfT!Sl;`1$-K}`zj|c@?*MVm zCm4GeON<(@>HDnCD5{q`ILj5hS8$43_@sVZo`Dg)&jPKhb>yLbp;)k(vGa}Kyp}I* zt3^I&SV6sE1A48>zUG1AJWYFh0N0wN?@?v_bt6zgRK|ujM;elc0x%9OYo+Mj5tR}-;#%>Oq=jvBG5RNAB@+gmxm<+2S?-bcYoNyh5IZkx+fj&x5A;2 bmCp4?GMQAUFP+|%*|obrnhKV(Y1I3F)aj&p literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.008D18448C772DC164148A23DB8594EA.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.008D18448C772DC164148A23DB8594EA.cso.pdb new file mode 100644 index 00000000..1c6032d8 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.008D18448C772DC164148A23DB8594EA.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:80d2ccabbfd7a0ca7df3f237c15613f581636eaa4169aae2d8d437a118f372f6 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.0AD45649F32641AAA69A3A9C079BDDBC.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.0AD45649F32641AAA69A3A9C079BDDBC.metallib new file mode 100644 index 0000000000000000000000000000000000000000..3c0ed9a52220712ca78fe031c76595c174f4923c GIT binary patch literal 69306 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 C;~>5O literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso new file mode 100644 index 0000000000000000000000000000000000000000..edd58d200e0a6a7f2adc4c244eec437dd96a7745 GIT binary patch literal 14620 zcmeHOU2I%e5uUq_6Ys`$)`9$xl=disU^ni1cWuW%=}+ukFLvcLj@Lm^Wi{QOySB-C zce%TpCMpF3K|;b3Me0L~B0;4hA+;|^JOB@Rr7u4-ea$~ zj;o?3b>basJm=1tGjq<|J9E#^-S~ykSksT^u0Q^@-yFOCb~XO1pT75&B_j6?iR=M= z7`O|JS>W@)xKHG5;NJ&DrsHFY*HLc(Y%MR%tE<+xmgGfTPsbw>>NpHkz)s*7fUQ8n z*MUvCwDBKI32_-nz0JT~z*PW^ zy^;O6G&vO?6%1niS%~$-PMlC@k_j~s3WwVQN8(8;g+bap3Vfc|fX}(4@&6w1!0SvL z4cM_BKu&*u#}2+R@Kw$q6p(Wf0$oD78_2o_+}j>7^R0V(l#S8d$^$QiBGxzGQ8~^v zAOGFiXW#it*Z9lL%?|{RJcrq#3#_Z3i@tTPx1MFh8}u&nfKtV3MI{qXYHrakRL)i_ zC0whVDRc#%4FLSPd@)stDpkF#9#Of80;EDYG{U+vRxCQ%Q(DMv6@toGF<*2bs%jRV zD&($8J5}B4RCPmdm!b{>ey;}`bm>m?sm}VkkTch>&AaJ?3kX4JRg+k{- zVSQ-2&tBKNHyyR7mP7U%hn%4rcf8%kE82?Q1>lX&02vBdUI1>mM6de1;x;DL?^yEw zKP(x&;gcI!Px9 z@$ed5`v?z|D^4|2lK^y-FaYuk1v}*^FYaqYT@5RgRg zyWWzUD`?6K>$R+*6}US;Fu=y%E><+YA)O2>$DUg#S8S)VRPI)lFap!dEXhi$Vt**j z)HNuxfld}1qFsGBYpkV>P4kAy3raPz<*l;iM?8j&>QBi7AH4g)yL@|vxDXf_p3PPB z`G*`kU0uj$XJ-)F<=LrX$N!9tGB`RK9gByP%F$iIO(qteGh5?dbAsrp81%9ksKb ziCikvH;~PECUPhH)9WVc^GqY7b#9T-j{YrdE#cPxcK*e_%Rl_9^>HWll;{31scFlZ z5YIEHd-)~j+8hK}$C;9uC85}WZQuc(O^nLJ9YK8q1GrDE@~=@t*G~twJ}D9zmPa}) zhIk^Mnk!5A%3ydf9F7QC-XTt@e6jyxSaZe-73ZpOicS|iD8UX=o}m%UGeX*eIp#R1 zB|p*PA$hdJ2cBQtNjc@Wf`c;EVR@%yt{zvr;qSsc-SFuP!*8kKbDB%L&8}T{;ed;puHuZ#edf?`vQL+G*1x@fj9B_y7tYuR9LEg|U>BJ8c6HU=9pv6Hu>}|h5)R7I z1E)dx__c_;N|5(%u0*A2f7=1H(>|_UHpmM3X)Rx~T#%b9$EEoI^;o(M3V>Ew+mp~Q zaOyTT*|(r;v(M$bHk)*Nvy2d}m(Sy_8oj}Fy~M3uk=hV6fR8^az*JWq!#V6^pu@U&%Djg#nbs>=90_E z;j8g-&+Xsb=QNa`rg2I#3?wjr@ss=jkaYxpx^@g`-ieLRRp^yXfHD4zKce^j+a$2u zF2A_G4=cb)$SPnrumm)~MPL2*-)4UJ8tN3*3LtCX!%pqE-UAW&CAdb`2miC(v~c=|aO>LulVjInkHjNLT) z7i9(^e;dNK{A~(@mA~&`;O+;02FP^=_h1`vXFbrE%imdlH>@>0u$??GF&Wpt#pACJ nqeJ0nDjSXtqz4BgnN)8i+neo+ru%JssINB~j)Y3tH2eNPUQX0T literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso.pdb new file mode 100644 index 00000000..380fe86a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.18BB2ED0068256FAC47DC4810295F65B.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56b5c367ba8b6bbef8c39028c90f01d3354142c2d49b299b94ad09fbf3e13346 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.3AEC42EAC916E5302A5879B5E0480E46.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.3AEC42EAC916E5302A5879B5E0480E46.metallib new file mode 100644 index 0000000000000000000000000000000000000000..d9efb271910f213a4ba8f838026d2f046a396415 GIT binary patch literal 66298 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.42142CB169269EB33A0A31A418C939A6.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.42142CB169269EB33A0A31A418C939A6.metallib new file mode 100644 index 0000000000000000000000000000000000000000..564908093f66480dc893a278fecf267873a69a53 GIT binary patch literal 66314 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

eH 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso new file mode 100644 index 0000000000000000000000000000000000000000..3d7b0a4276e56fb328e01265e452751aa1c743b2 GIT binary patch literal 20092 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso.pdb new file mode 100644 index 00000000..f83ab389 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.48B033222FD1BD594675302F045A38A7.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c3472c627870c775231601960870a066c5b21fec9402798fa8b63c8947777c6 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso new file mode 100644 index 0000000000000000000000000000000000000000..335577f90e784b7216dce7027a435556da6b1660 GIT binary patch literal 14588 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso.pdb new file mode 100644 index 00000000..26116506 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.4B0896B385CFE32F521EF3625ECD7CE6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea9e989592b82b738a2b2170960c297d457c978eacd304bb3e47f49a60e32be6 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.570374695D2EDE03975F3ACEEF142B8A.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.570374695D2EDE03975F3ACEEF142B8A.metallib new file mode 100644 index 0000000000000000000000000000000000000000..8b0102b41c656c132605a8fa841eab5b44678184 GIT binary patch literal 66522 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

  • #vd=XH8{RKQZFV74-~y@f@p3imDt1+EXksz_qY^ucsDg%{bB?EY+IpC0EL^tjdO0Qw=u0f8Sz2QTvc1 zK8pzRQ%rrDVYx-7`=b_}$DB(J=B+MrL+%uXuwFt2)V#ER0YLZvtRaY}=moy#C3t-@Vu0IQuh;KdyVQ@bS z>v`}%F%lDR#^fH)SfCeKTHW&Kn|GXc5fiZ`jD6Ut+T}!?c2H1~ipss&5WLEu$7U|h!DheE?bX21wqjUFMUNDr`e!N`vX%DQO zby&3v3i*j~i7wm|7Ai}^q(CJwJ3ZY?VhLtSVQ1M~2rJuo02K_ZEw4d5=@uK_JE5xD z9~rr0ph-lc34_9+%o+OUWs25!1}7fddRB`>kaV&Ckh7KSLm6Z)`jY$YKY|y*T*te z?`i5s*rw!^)`mrDJ;Pu{LEXhgGF=W%#LndAb-sUWa@u|KRo~xpPG?WU*KRASf8G18 z4l-0$&+SQyq%kIxUho-1f3&~}?X!6#`91S~cuO5eir7c*=fc`pH!-=h)Vm(Vc*;Vf z#?;qyZY=Q54tf^Sq zE0!_3*+$`k5!Sl2byjf&PtsI{2Zf=OZUU$?N7aRT( zgoGH4t|K)-WMpELxvwb560m+Mk0ng}V)#J!$Xe@(XG(<9!fz;4Ut=PWM#8|e;DyLD zs_JwRnGK1dAX(}(8y_i#6{6hxixmDC`q>c&YMDq0=oAMO#h} zn{uO#*R#e@$-H1s+$GD}JS750Gtrn*7artr&SuzhEH7A6&`Idm_`S$=rjqtQbfnHR z(hQ{3+O%p2Aj|UTa8vzc*<8(b5zCJW^_mh5_@e~sd+RW;f_I1*C|2Mt`%dhG z`z%itu$BtC7RjVy$*Ud6UBd9LSEa*KpkI@~iy>zrqeBMcD?7iiu7VQt<%JmisY*tE zUEWA>>6!GjXhcyO=w_U!8;s0E=}PPWvg@t?O|kGT%WQ5?Sf8w1{1onNoo@WP;e**B zUD>Hil-Pz7g*#Pvpb4I!-Ye%ICA}#12QNL>xE+t~MpplTd$dMTuGV{QS^czh(z6+; z{;6eCUhkrxBewlI&??=?Twd7p`-c7Y?wRCz;EUX)AnT@pz$goWG*=U8 zY257t(T5jvo)3)~~UD%>% zd0lsS{F!uY`8b^`m=rMCWR%v}vIgc=Zn^y}62_Gs^0_4eOr8M8_~(MN8N@MiQgr zupby??p*Gjsa?-g@MQW8OGF=3DA642jBEa7PX+q$^nv&52vg3Agjsl=A?-!J-uhz!h(>l(cvtWMUbVZQNwQh z9oaock~IRw8dhY_&`Quor|<$EB=+a|V%*aYBrYc*)0Nfsp^P6JAFs3peVVwM`4%X# z{kwX0R3by13Tu2v`DmMAsH{j%H^h;`q-r1nTwp&fzM9^|+Sier2yPiHsrj*3}xKW=T$_r=W3j zrGZg@B=i(R#KEs?4ExIX_T5Ra8J1D9mfmhn&*gQ|8D!R^=d5D!`8^;pdgt z*_@yXKDGy#Az{zHHz<=huVZTAf@WTZls}=qpV-ew_S@8yxZ~gED?HgrB&OD^p)Uk>JN6q^7eb^Rqn)9dti5Pbjn>A?@H{I& z{ChC%Z7pT5v)S^-owAAAJs*EGWjx1wUPc1kZ|uqxOmk9)4n9*N?-LHf25>PkfBzmD z%fV8X(EJQVR**e7geL4aB;QLMTAE)F7j@4#U#6BOTG^N1l3REi`XdQp%jM5{2SR-N z_0Y?dMexwA?~%IGFDV)U=MLA#qDJZ8Q<3yFnZJ32_ULx+V2fdKatV1S*v!3MI`e|Q zUszM~p>r)G%@&r3N>WK9iJW^P@4J>yyz_-T*O*P_t61=QDTll)>!^@qwkMb@1#JB_ zbvaXyfY9aT)gJF2Y0T#gT>^Ad#a6B_#JdOF5Xn9LR!dz>#F*0MMaQvB1euLWbD@UO9F{HLr z;YpCcURGQ(`Kum`U)pW&USJjytB)#P5j-UIV%?6qap zV=ZmBL^!gKAF3&OzGT{F>=6ATr}q#ks}S)9Lr~^V0-DyukF%!98k*upDMi=;*XIJA*DgEWYj16nqbt z>+$4`i`rq3jv9HFsP%~1J7-b8CW)wSSDRaC#GT-oki%p%fv@)O$|pOGAI$1nK==<~ zJ_O(63+~!CwPQAA&zAUI+3eR@s(da@3{2qn{gsFquAChHE>hFOrf$$D-S%0xSoSb; zjwolTuc2G0b*^^?wndVq+-hWE^Pei;ED-JP}a1pF?2r5i2Dp4zd!_sWA^v>57Vf z@2kbTDl~rHt{&(rBJlZDu7_eCtx^6P{vcImrw8=(SEU!`MP1WDR0tejoHyzlE)rsu z*!B}E*K5J25yWK9e(Z#d&-?M$*7dIv78h}OPbF_OTDnB9-r6_Qa?sI1ZV9RrnsWB~ z?fUZb!u6+Gh{cvp+d_45v}eCyL^oGW7nSbWp(oKdhkH>tlIaY~hS5kPSMk4U=M;H8 z^XCnIcvR$IvYSsGdn&;(wHz4jcG6&;m5wI$Yk(AFI37jpwk%7uSM8o-TT$_5jI;^?Z-!hC(wd@$r=^MLHk(T-*`Z z=+loQDdOevx8fND&3Z7f_gH8F( zdMo%E1yV_|1>4^~!=a3I{T1#+_SPhPXXt59IR8hM+A!Wby`|)H!zJ9Gqr_!ti~JTh zX?|F{MVeG5QkVa8E+0p zoSyKbE#$uYF0B2Y|0JD4xS&06KcC{&*Mf;7vInvDC39xK-t)}#d(&y~Jv89D#!c$x zY&L0_Dz=j1#}QbcfB9{y!y{I^!$dFN?Md&mti;i7{^rPs^-Ls3m_d$w7wJFhZHm*L zEt=>DkK2)j^Tyv@CobuTT<(v*#!mVY+ivV3#;CW;NtGXLD@BCReR2QiZZGOl1gz)~YXy0epz;tG*uJcpRtzib*k z@VRR1?YG)D(i7$s(kxl?ahPE^L3>L3Gs*5vh;_q$oysMXJV?6#!$p1%kzt34EK%2` zoOs9X(3jKvS_>YqoUZMYbVGGBgx-57_%d#d2AA)Rkns&cyJ}A8{(@1vBbv9&uZ0YO zD|-z*%S<*eKb~;YZ=>Q{2!6h^#)ZSPL7h|4%ndzP?r>g`DcME5rJur-A|qj1x^j=m zpE0NeU}HuX5+B?IKi#&#p)pwd-jQjN+W@9e2z@<4;o9HWDx27)g~$B?FVGBp7_qJ& z&bw-Aj}U0SZOagsQfiNnyLEt`ve*k4%Dz7w=0aoIDkA7bC&jzQVZe2858yGvuI~G| z84>%E-UDj(dn^|(;0Zi*EA6G5(V*XVb|MTw_YY#@7P}I{P^Iq77*l-fjF{ z3v0zOx|aRd>swFP)Z0tpCq@;6yTv$XoCt=Ov4LY#XRTa2lK9dn z@^c5F_(z*#hoi^mVr}#nV6Yks5qB=no{K>sk6I*uMKM&s7-Fup#k<*+_ZI0sI~KX| zD6eT_Lpr4rD~Ce(Vws_p|I>w@*;V3emw2wA=d(o;>ov9)?#BtH&wbLXesndIh3(1p z50xrabMNn%1&~%cTH^XjzH_^DJ(mZh54{qRQI6fr4e?+{P#fI+$n+JfY>W1O^XseG=+tevr9lFiLj4I>kk zS_J||+C%ZuG(J21x(kKDkpxoERoDkRisLMNML8x|2W|c6Cd?b>Bb8PU{B~};=f3uS zpTy7Iy{)z2Y`3{-yayu+29FcbCvufa!T1^an@{yJp8G+J5E*D+&7cq8VhB=?O-DC1 z)lTG?Qh+0@ZN#YB4+QU&rE`*G2<>Eutn#f2mcNH8sCmb?_A2;4z3Qe{irdz*MyhJv~!KPdgg{OxSJ`3+rGGh z*ATGgqxPU(=c6$LzdHhcdPM0U2XN(gPsLk!d9>497*ok_pfsv=nCGQ zw>6l{C? zl-lYcHdtwNF96s0QdE>-?ie2Iddx=>wW*#nv#GUo`QXG_FX(ALLGAsGmYRdXB%z#K z_PmYHZEka(%k)`qsM*oew85)rJiEjaa_#z~}%AXu| zOOxWf^3&u1P5D z=#(*9Fo$E<+4J|_eixt>v6~|PnIEuVCpbIDizphDV^_Ib+By%2XN zH?k$10q_D-aKNrZ4aNNy@9VLp{)bZV&z5ForHYf5UldkKt_A70FQ0Gf-0j#FiKZl( zOg4CAK%Cy4rq=%4OQ76?lV9`uiS<}^1Z%Hmikd7Vqdtkv*kPDueH-=%eNk~d!K|9} z)7N9Gb@uNr@}tt(_20jTwX}R8FDET5Bht1)%6YT<$|~ZhIFhkxX2_}xvNGw|fhcq_ z9<;Unw7OP&o644iI~}53=7`9C3JZ0Bno2-rspgfkRUS;Pum13BONfe{=-RA3o!>D#`+fAh_%k@0 zj8^jZov;3D(~Mun*N7?p6Lqio=8O3bAq*Gj}MN=h}R@7bhi-wtwx*;+~p;YovpcHkD_gVA1#V` ztaJRe5TAvm7-Mw22ZU|n8v&X#hN|vlOneu266r}GbtP!hLJt-cl)>uz>r0|mV|&(Q zTnNj=TAkXS7+Ezm?qiNtQSkFg&2MiKL*z)-ei{Ty6SxdBPn`+c&OTeoe`3(1rp3vU zVx^{vEfkTX&XQpxn>)^?ZEc#V$`4a906A-Fr$>}Mm`NLB<;b0FjqHUe-BAoMA=taK64=l&ioTMhs>QEa*<1Z0F@LZ;cc-bMzOw-FAu`}tLLt$V=X2e_nV2Cl zE4HYOYuLBN4;hQ6D*jH5_zn#^>34~-wtX1xV!>V-zPF`+b3}jtx%8EE)9QX;4mWPvXOehW~6N$R)aTi8zo0P1wyE3Q3~Aahr=l9 zWr|*7{d}SVWemfds42Pdm_DMfqyDm{PZgd0@>|J`2K^H+2H!4P_ST&?ShY~VUZ^aH z|Akz+tk3PEc(q>?6%Ca5`8pEJcD&D!elBt)<{$PaPKb*oIT~d?&zGdnKjJRnyxz&2 zC}xiiXuy|Cnv3X2`o>*S5pt9j6IlEW(P|=zUHq}LyH}oIdbwxpT)LUV;8j0VxE&<* zzIHCz-u@`;*O)1|mQs*>!nJY>QX-#x-nuYdwE(mF%Z0z=IUC-fsIy(E_GNQf_E zK##7&nDiH;no}Ho{b4*!zYM>3wU1c32NT?2X@@%)hLwR%cFpyRiw(J1G=~m17^ORB zMT?8ZbQ_K1o2t)x`EC4UnP5IZQ#>*G>Tx4j}Q=sFZdqfH1}dnk%|#$rcP3GARJVN`Ffb5PlbYcFy~N2bU;0)!gZYblpu>7_;wR)qwuWwl zbn78{T};k%)ryAk&+LP_0Q zQdBag&a3tiAp+V#_`Xc!&Fmh`{FU1aB593KsQ_O4`XQK6*d!^g$NY`=X}@y1HMBim zdx?gM*5_&^gDUeTwxjj)x0NwEdtKA>w;$~qJ@-{?FkVodS}S#LB18`qm$(%(4~hAX z?)Rs6({0>M(=pNK@=xyPS$wA%R^6+qkZ3u#Wu*=9p$hG-_=_s-1` z9&dI}&YqUCur$agJ5QUo5#rD&;*F)_t*v>~$>zS*kBIqp2T%Bxq2g-(j&EWh@<9-k zg$!qJ`YtishuxTma^1mqmd@S{{_es(^94kEoM-QkP>%KI}E=>&xh;U;K@j&bw`BB;(-DV^(d<32y`qbRr&o zddjl;+|F7*`g7aum5%auj2l~(QrUL>i|Tp{yXyvp z1`V7%{UzLS@2vb;i|!AM+liXIAa{M*{(4P!Jm)>riK*C+Jkvz}t{an3uS`;QEWEM4 zs;&w3*aM7fYC;#{z0>8ZhA~e2^{wN@w9-fR;$I%e(Vg=CD)kj%RT|w{x_+&y^r^Rf z7j9AG&dhIbBw||w?u{F85)aF&b=ZC%YaF*Bb8_2py4&FGfleCsP$l#=Q@q+}S0v5V z7QM0M45tn64!RZlUG{FLXdbN2Yt5dv@C_=3FdhB6mAL96&KhsOM>H_OS$Y50M_pgn z5oo?~iLds85`@W`FP68dH!vxD1r^BCXUwmTXhlmnn8Tw95{9_rv{lIM=FhqE^ULrT zV>`*o6_{2B8`uu7FM|_9KmVep(~bXK+YvfpeNnd*xDy`rQ77p-ZfYcls_R=%p&pg4 zR&UW=dF<_%T`A(4nR`foXObqp9Vcf=W zwGO7*YRO2$y&|M=DnQ+x4? zd{8dIV}?+7XLi=ctNC?^_C0C2H#h6g(|4)U8g3_mu0nT8OT!ee#kxuet%KMjw5RS z<#bAuvY(n3@|>wODBbX<$SEVn0=#OeKqKG*G1IO9bH}Dtz-Zz1Fk;Qjwaa8=&v)fn zJ>jg6_76TSyXy8ICU_T?dqjqf%)gB}ARA!A*9^aIb6=lAe^eA$MH9RktgI^${1PB) zM$AH~U`?E$cs%Jv=ub+KL!HzA+6Gx6y8t~w#ST((Ey{n(G_BmRrh89QFz!uMeU>XeppCS%!#+7PHkL4X!+Ct#@W|~$odSl5(b95v(-^i2O=kGz=b0^?A1~WZk0QSC z)|JfMhEg;CeJvFI&?MGe%nc)pVjS?3+;5v*q2AV7riCYYa6fqr1EKNcILeC ziA&c}DEGecp|sr-weJ{Izj&Yj(93>Se+myhVH7HGB^x6Kxk2v>9Wu8^GgWYWuOBz=25Lr+g7s6#JHzP{vB#2Nx?MYU=nl)cMmi&t5E`kJ?n&sB|98q!p3hF6lrfgrX zk$sFr7n9cI-3erRSGvwBl6yh@P?4>vaSF1D1OuzfKi-C;V4%)J0I&kbmg(m4dlwN%XzAbZ;h2wrH+H zjotBhU4Fb#NiNgL`#;W1AK99<%uN<9t?lm^_H@*YQ}R*VJO;Nb20Kv7zBu7=Fsl1J zL4b!z#%aStF@~p!^I5mAv>}Z({jKd)07+Uy_Lb4xk-vA;0W1uY>luf&sB`%%r{0oK zuL7?2yh`8JpHpIQpQ;_6WQQ>MJHMv*F>PG+NX>?wxHV7uI~aPWfn~6#%83R&Zmtr- zKFN^GeOTn;d01LhF>Pru5^SdtKZMD{c=GYy-MJ_d)ayO$-fFc zakJ-~uV@B?LD7zjwe>D!5(Dufqf_I+nrfDnU+A4nD=6o4 zsG0Nq5D;BECjCt4SnHG+cty5zN<0`h?sl5AHp@DpV4q^>9zWE<>*4v4<=}bAGa6;( zre(y1Vaq7^E$b(iS9s{P>7H7>ocI{f`j7-&GA-Qw$an9RhdX52qg=Nb9x=Pd20Gkd zZChQC_?w>F)H9JhCRKdUF6C<*!{RC#bSN{3LNR)l2biKjm{@cF)rpc$e+4NJT6}1ai49x3)0Ed zhJ}TunyIY%{;$|)oygV^vC}8Y$dPoEw=|>^yFV=eCLz!aD#QTAY^4#fx%*Bk?V=Md zNdx>DKt*_%h*@vJhG4g*<)TL{dS969g$^(A{pf*d^eNus-@{p~CL^_Uwn0R_fHvOv zK!6}X{Lkjh zOZUm`druQ1$Fq-s*8R`e*6GeJ&0v(U>St1uo~ck#okJC zFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Owt&IOjE3_WY^WRXr<^1)Ol35PcplTmt zr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+MFuMd9Vrurh7cQuEIa&aeitEBRU^^c z$TXLyEOb08W^7U8lC*16^fX*C!b+7YU_|ExbHVv6p3Y~fGkO`b zzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs z6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1_~e!ZS*tveZ2r{Nd@WU4LLUF{9H8p8 zNfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!-EI+$F6+2Vp^?PTspU4w|Y`!q531;~x z{O+UL=l~4o$&F)*Wz8h%BX(tCL1OxF7%l4e?mRKyHls1}@ zdBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}vH?!Ww%HrVL=2Qx|^K<`g*N77zwJ%qp zYj8wz5TYWDXHVd}W)IqfO-kV3W zc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi4hRB{8wvoN+f4tU>d3UD{U+FXes)al zLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l9PC!y{zy46r$GvQI25@;2cp0y4S-Hb zv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>dL}KNq zE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!of@8`}LfDifK~%z{15K}cl|`p$K*Ya< z!Hh-=BgcO%Enx*XM-TUlUs0p%?CJ9O7$iw!`F3GAMq8}91AWaD)K;YlZfn?P`yYL& z{lCcyCd55ADG1pltK2+Qg^dOO9(U91`M>5kaXdXCo6hrBt>$@GW;3a`mXRcwbSuSV z2H2?V0e1fElq?S-l|!32xupA3*2VY6%_A|QH($cTYcdjdVw{)5y zcxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODmWuT~^CG~}cl(5Sg$=%XcalMYL&(@|} z>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs2Mm4habWvX60>NcF|^OO|6i{67bILm z?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw;5`(G-Qf_BG3LA@nM_3^%578eQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1Z7v>5lj)o-S0_Oel(bz4r4mSsa!DxK zuByEd$)a0seFk1GxzLcDOiYe% zH|KLbS&%*dRTNd@NS2;8eKYZ18$ery`P4k%Ie67NP?dP%DK##bC-|FVTOlG zsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+fiMBt#`NRs#geoIZA*GezvVwv58ja;) zpvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19slmBj|+rgw(`8nIuTc2y2T;Jf$GMu>b? za-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8%ufw`(gIfK#$($_P-?c)_qw+g>=&ag z*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2xa#@}zeMKs@9G1AeZZo1H786l>g6T@z zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~lQ`c6{s(l)oA=Rk{5iE3c=9vgYAD+w8 zbf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ=kW(Pb5j4&;gk)nQBg)`+mCebu*0VF4`DcUG#fz9*g|=#7mjXMA>(J?yjKnbr@{eHA~JbA~bT0 z4DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f%3mWd@!qM1mdOef(ebn2R^E*XLv39HU|-IQ7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4yiTFq zhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z?PIjg)oV>Efwg*+5^5sruQ_a#*!`!# zgBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9;XiY^>=&)&|=$Z-7`C?(;aeN~x@9skAM>No=gE@%@AMhHUgz>Dl22Hq)` zzsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXuIN1h`-`&DCy$*2RApsB)|7QP;gv!ha z0bxR|&Ho8(yB#fPP%#Lv;Qc};ZmewyAZsZ{$xItpI zm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_y=mOgyo)TWxF3pZ!gTv>{feN!P%oAn zMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ%(DZXFCGYhIjby$>Ut=GAqa#dxf^`n zKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>kUPU!BQxDugieYlXAf^&TN8?+8Cl+$t z6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@CvxLHdjGMggGxgwEeFTg4wKCPAHySovs zSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@tPLSW!&uWIIVnyA-5-{a?-sj;_!X@Qp zP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDaBdm+_c=us;dd}w~@vHaiHOySVYSV_a z8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f)_&peXmRh_rW^W{MGTeuRLixsFCx-rV z+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0mVkm&Og+h6MeC*u81I6wATa8|FvLvj3 zE;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x3o#mkZu2)7F%%C|nnGlN=Awa?Ba2Ek z@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGLUopp| zFjun9p_VIkw6~zuVg)zB4aF4`@)xdRZtDB7J`h962bN))FBI^aN3giN-@b zP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYwSg^2Amg4(z>#+&6fC5W1=e*UM9bgjo zS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*;h@_io{OVHEFr#wx;tc+FwhSx2CB>ge zvb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBtLHy#f3l8iBqi`Jw@7_}5rv7w(ok^q} zkqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI=HV2kGpu}eQ8ByJ#td7}f8T8ByGc3Cx zyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JYmi3S~+Bsg3}NZD8~Wai){86Mt;h@JA^K-0etE-Om6#$XD&m}$G7(AA zEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!KZ{#BJ4_aD|sI?>WeTGKR{IR6Sk4-9G zOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1LcvLz5b=9rSNe5?aC)d{1&C3!wt@v34 zA{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6}DkV1>6NP@(r6@}z^s=wLOBHQO)nvFZ zj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p&S}DSR zpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^daS0K~#1;$9PC2HU?k=T)$#-{rR$)Wf) zh-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0ABB$P0yj+O*!`P&pciG-&xvn=5>)8k1e zP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})|@Q;Uy?R@W@{WSpBa2YJ}buU8A%oZS8 z5ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDTVc5xjiVjw*oP$%g3eLq8$efPf8KOm< zjiXjySmz5kC4K-7j(7Ctk^7U@>f*ekqzho<*kK|BGAANL^k=@;b&wd6-V`du>hSCH zxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagENh_s4JsIHs=KZJrV9+fu|*=lf2WZBP?O#8jmJHHSP$qo z%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3WQEO?v#<5JPdyKuUxfq=*U55=7G|W)Q zk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT6lfwIopj0(tG2qAz?6hR8+ z-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)}`DiFgLKMj$QW7kHvQUy6ZiP-R86VgZ z!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r^jE>V)v~>6zN!7L-$m*3_N`w&%zjY` zkN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1EdsA||9|}cp9MzJM{WicWBa|%g^Vb6 z5?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3bUJ_MSLRPb|GdUNR7$7_}>DEeT$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W<6(c&;NNL))Mxcfk?T#1{pgXFpY}b^ zsyEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MHeJowIwkkqC%l8vapktr$_aS3^V;`tZ z3T#=Hg2Q}$?-r5n#t-oZr*A|ru-X>pvnMNW}Q?TFCNz0~1L z8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B7G)-NdhX)id;97U>DOeA%Y;#@knmAs zFQxF*)KR7=hOd~x$hK+R692;Ez}V9Mmd1k zBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S+|9b48~BkK-}_`hje0levKz1NS0h`GW9zUIciC-!qOJzld-?J67;yTt zFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*&0tA*|^u9{i?Y5G{!7nu`3~OIjJ5swZ zR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62YUS@BAmAsgmc7S_l{WM^M!U-MEbNq-uwxwKuQ)mOEJ@}01m6*nm3ot(S z{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$SW!!JaQPVVbS2O`eIUP)A`P3Xmi1{? zwB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z{Udp3%KO>427$R5GAq{f@)NrQSes4& z{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO8mA#ga7)Q#fq5SyFL!Z#QqR9{XE~iF zOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568s~&+6Rz8{k+QWE*b6VE31hHkO{6tq; z*tGj-IgY%A1DdUV2+WGshvi4c$)5 z0JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032^8OHG98IqBwBaDXoByk38!GQf_F#ba(8PrpyQ(uf_Q|hX!fm2q%?T*>uJv9fvDCK zA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`NC+gE6g6qv-qKYWZ1S8SoW?V?h8kh52 z<&Iai$HVE`;mrGc7Y|vkT2s9w<`2mDe>p>_xcg`h+ zMU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJsndJecDK^+xOGM;CEo?FU3IFcg$jjP zq!1yeK>#l6s5%RY!q9RF=54p~l!jK> zfI!U#{5maH%$j9Eh(;k(j~$F31VHKV0qH^awfhQ+ z;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bmw#Z&Ijd+h9Yk1Ng-WVn~x}1dMY+I-` zriJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD1W28xQj>Z-LpDF+;+4hX31GWwA;ZE4 zpRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7DTa5R><1%IiP+q5dnPYO#GjCh4cN)({ z@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#CyDi-Kwl=tf#m-@(VtoF;+Vv_}TDDuJ z#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZofh5Ft%&!MF7;1{&y6zy<_&>9?qT}A1P zdDt)8-)95e2W=`ZByvc@k*T9O)jafwQoD z2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN%iIj3i^tMMcyD_~>&hq5G7Gc> z{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwUg6vrh3d7Y&2e!pf`A{k8SsYM2T!%Sv znM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5zhZTNJ zt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^3ltWrV2AUAQDU)Sfkv+4uEAtjK_dyq zTYht#QNZsH?NgNFA zrW4U~I(NV=?TiI3FjWD9D3HLDhccI(q$q?KAOjKSE+6j9&Tcn#i1Sxu(?huLEp$4wQa{RDi4(g@N7 z(q(zH{BKp6Gb6D|3wxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#df*Sd( zk%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=FgtpO<#;`?lgJsbq+?IW}7&xoJz_P!O& zPUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c#h_Y$vlAUDD@mD#NjA0I{%zbdgqGef zPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DAGrBx)Z}YMi83NbGzm<{hdP@D!#VX&%69RK zoY0^%Mx5)YloI;LHQ&@u6pB2`^nB7e*f%V>)67I4Pzm zk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5ZtTUq=x+ARpTwyQjInUTO($($T2Pb>I z3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE)}t^T-aoP6(j~y@r$}uIFi3nqfyCZ< zGvFNT!d_uHR@bZUO2s8%Ff$36G8H;4C-6~QQs8s(?vdm5wzLSY2bMh5+BV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NBu4CrK*~eje`T#hlqc}Ldk0z*vUP!VL z>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD#Z-hqTZ}Nn8FV91esP3E@=+*6MDi2B zIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80m?h*i36Iw0;Z8?fKJ<1{A9VAw#TPB< z$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU6O|!54QA@8@-{f3ty7I09Egi(B4vLt zOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B~9PdcR94m+~{ewB{}AcF^Ax9zuHxASh@x4xENJRnHRp z%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WKl>KcsiCO>|ltjXzArS%+Gx6CAhtY1m z{vE8m%7-h{aS8O)Ct3ejrvnGF9({ys+kq<_makc^MO zki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^(0q9fGVoWel`dAxWFtBMs3~t^QIJD9d z>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6PB5eRBj#wpRih{~e|H0^NHlDjk%;c! zv$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{y%>EyXk7@jO6BvGa=CwbQr;%hZO21% z_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;kWZ|6GAWpOb?qU4`oe&Sbk5LbE;vmW) zK!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pOn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$lPAne znU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD&Pc@J?y^dVLpfWOaDvN}<*V^bT;Ftu% z4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRDxlcT4vwwUaES%cZp`xaobf6Qd-1$xS zu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5KZ&3@(_W4&=daIV8t2^hyinh7Jm?#l z_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGeeVKG|dL&e8Ry7kaQSB-o{?JDD{|z7Q zb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z4(*})JYJKu3q$ru$#m<=LDB|_-?M54xXD@|@CJ8+N z9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIthL=tXMY{>bm%J`~j&h6mJXb|ng3V;R- z#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t`?lDsyz4qYN3Op+$Y3;nHet=0k~ z2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|ufx==&x>e|S#q!KDiDr_<-g`Ct`uin< zvacP@dc^mV>RB;4&s95;s7X3_;F$^aEg2feL8g1i%W#z{ww5%+jmN ziC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz{BGYrXRR~=R?(!=u4t@d8jVu<1rnAS z_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8jBEcuj~8tr@|Y|Zrk5}$^~h!T1#C#v zA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(VHKQ9_>IC22XRzPuq{$xOsb?m~S0EjB zbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1?hJH+P!2L@zqF%4xIp;?GQt9aswQABr zg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H16)8Iwy>X@aaOHi#HL7YgpCgb_6evbf z2nL?leGo<2@{Iv(C}j&eBm88rdaC*q0lvm{yBEPxrVuo!o&d|tfg5{--((GB)S z00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8dIf9O zI2f ztQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}=s1qli-a5R_f)0x`&qrbh(hi_Iwxr5G z-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(<3%n`~?%XlpL|;9t-SQIB&G|dEiqp%2 zCO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJgU!rG#=J~ffLARhfig7u3>`K$_ZOh| zwA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$ylXx1!)gGZZ;|NE9;l_?DfzA!HS%v8j zgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96zBWOdH9#3$MUTWpk$EDY} zw?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64wn=HfO+=fX#U6?2!L`b!G;7t^%p4QUC zWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoWTjU~}!;(b{!+qZdVvXIV06lv>Ybq4O zh8GTn$mItL46dJssg1{DugK*B^3wZ>6qd= zKNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v=rik}`JPg?#Y7=NtO1BB3}PjX9l!Bv z5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#;NiE0E9G!v4kOB0DGJ%55H7r(n4h}T< zgnHBi6X$ssjB8a8DxESL#6%c@VPlk8;#5~DiuWMeOzriBIn1|A=D81XEFJ^mj!=Oy z=^X=p`uYZlS>HyD(SuMOX{GlzVn^{@coyBXdVbAlK>M z*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hij@v0uSH{AH^gu%7JdA&FVP^H}cK{ui zKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$l>=X4&%fo0KIY5BNZL-Se*l*CFO)N{ zZ@Mf*AQB64!e4CewHd=T(qcQZbN8V}1eB0}S_2k1@&|_a&AbI}CK4SN@%;z+Dvdc+ z9>*&$8QAzM-fS)b&{WxRzKK9q7#PSswyW&s=|O#ks1-n|6DAY%upj;X`B#^uRVv%4 z)N&^l`Lw$zs6-HfH|d)A8&hA!os+enPIUY)AL{Fs*6gQ^6C$drrq}&rHrc*J*QS(} zf59!(s)w$o7Z#tb+5G%R?t4a8ty47eMoza7&Fe9BY6gGMj=$Y}m_{`>mKKQ$~sk_6S>eUuwVgn4%} zSD3cFnO*vvY3=`#_h0?G;~9njm;bvpNR1TlqsjhWheB>JYCb)Dpwa|JY+>eG0LdCJ z`)EiPxgJz?_4Go@*a18!+qeDwTiOs70yhSi{w#Z97`G)srMmY09ezr(A``^1yNkm5 zQ@ROv3E&O*vSDjhBHWDuWj>F}!uffdVs*4<}Epr!gIfh|}L3 zULwY+(V%i8S@^El7;#$6e65YN3rAC$L_+%m?JRo*f(r{1b$Fbk{0F~w97e)~XKq{u zXJ>}xfj4ryr$rDq?>yS_@n1Ev)Sk89IN3F~k0%)0-QYP%Fdjy}@<2&spWFPgd-J`= zA;k1Ha?fsk5I)Viol!_~zR*xHJmqn-&-@oI`&*k-5XatH;Wu|BVPv1qoQ!+V9tHG< zf%CAFcFC=}+=dKCTu$kA9nTpPFoSo~=LZYkr%^b@IoO~@gOt#dSK`yI{z{x|G@g$UFtyvr%4M2T3$Fs9`;iCv6 z@Y>5wy@=}XU8XHw zfeK~T*6mje(dgO731~*a4Vhz!L9L4vAYlO60fYo$*jo!@Zu}S0$bBeveD}`<{>bGzUp)QT>y%4xtPoh7F*?4oG1m zEX**1r$^X4Fu`C~Xgb`&DoR5fDl#3RDz1%B-;qBP^Nn$@$=$hfdZTZ8>pw-lx1qar zM#Y{x7Bz?~%eYXs38=6_!GPJ~Ol1ACS-=oHi9!PZGuLEsNYRjlh1S@Sk&Rmke%lNl zzQF{)?%6+v7!i|%tw7Zu3%9zG`zkJ6$@1(WU3B5_e-+r={hzCPXz#RP)} zt;?|(JTEF|!vXz0RA6Bpe6QuF-iPLb5Jwv+=z91oS&1?$al{nOF4S}rd#E@c>$%rMz5@cypw(lx|XRF#fcX;xLt|RH{@hvr zHF-{Jz1)ZOGV9xC=;7?-`=At9g3ZobIJ@3TcF^x{wccmsZ<|*}YreZ;g6pX?G%Gh# z0L4*u^3rgF4bC^Dwb4CPIJo>Jxej}aUC>vHMfjO;03nM#D|_P2hCdzzJo8c*;9TOW z6S~FTrH$Wq)vv(#9D>!O50F7qxuxXkEsIQP8D15O(h!+g@+X}jlPUEhrG>X(?c9O4 z1*Y4iPg2-LurI;JE0f`p0V0rd`Guwdjwg!DD zTHOzKxqSpUPzauwI+P@>$4jStXoWR&?Qj{VMRmqg^V@u zvAkv({27}D7T-eVZ~zd~L4Z(c(&I~A@EPxX8JT@z*o<@KMzGoGEHQH=R)~&3i!uf? zS=1J@W=1(i6jLEYIG51_=y4uW3WRWS9VAUcvdx(xnGbex_sB>ymq`m5*k@r$4x^{n zI&CrHTu^N=fJ-iA?FMhq!mQ0w>x+{tedf!H(knQDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJUhXBU!d1;ZpL&e&e;B!W+ifc=6m+!V zEccP0<(@}n@%3H4uO59da90NUYWE^QV5<`gl~uplM}vPOmg3szs7}BQB0WJ1JVD@D zeqCSJ<0otXACcI3=<+?jH&qp89vC@p zovh3mvu4dnvu4dnvu5N%`C7iOzoynl!ARN3I;%Oly|nkrcv}B>+XCi|yS_%6llVbr zp;zkg7mfX&y~6$dAgTW-6FC6_DgtC?3yPih{Cvr5H)2b9U{unIo=dfS7j(^=Hf-6mX37Z@C!v*% z5I;y70i+s$>Or7Xp%kD%p;CoPs+?s?;QcUnS6B`E4g@esHN)#;9ps)vp4sH+vC~27 zX!5w;0y2bAEci%HG75RR7r7gok&csHf@Szb&}&y@%?T3nOK$F~wv@a0^*<|?*4F(* zp9+TucXWdC@eCU!U66MqAB+xr0&JU%V}5`EzD3aKkb~D}@g?OJT);lBv272Bk30#* z#X(2>q0I2p*IS3Gegq&#Q;^5cPp0Q;#A&3-KDK1dwa((ZMd=Sc*IOmXbiyEg!a80a zAK77J0~)@pqIC_AJ9QAn2rq?#)!Y|_;}WjQDz1jXt*0kpr?0Xv$ho#5^+77YA9$11 zjo``|q&3U>zAtTojs~gINgsHN8Tf!d7~gEKbIrol0!b^=jHvhY`u)hnyFPujf1}>< z!FOY=c_Ug!tM=L2_gQP19zSbTY#axBe)~JS$lpy`*W$5xW)t~IXT2V zF8XiUB`xXIxQGV6+|5J@_q!P=AezuQ!sNkLerQ0qQU9LYtW=td!8H9`H1BOK1N2Z9s6a*^+!g^9#77vTk{p^zS7>7p&l#I(gOAHD& zg-Za3S4AD9JG%Yt&$gJC5@+$0OGX|%<;{!Six#yH1KfPg(GEV@LojA&VqZ#&BJR)Y z_HZnZwulPtU)xZsn0`O*FuXW@A37l#BH#$3c@DALCvfw*3l;jBdagwTVxla-^}zZE zrkYcEx!QKb$J?gY^1{2oiMrtP7B9MXeP!mFu&MJip}>U4*t z>!D*gN{xaZG`u=nqvB#H zIo1JNSk~kZdM=lKVsg01DDwmw~XGfRco1n^SQMgL@8 z+T-jM)riZltLKmD=%guIw)FPju?^LJvh;tu@y96}BBkpav<`MU;6 zF-80B-UtaX9{MOFDWi!WLLjWbI^2Rz95`^eXwQ*U~M>#xQ8OTJUt<-2qS*r zO#j~O+wgg#VA^a^(Q^iupEGlN0)q$T7Z@-MdB=jl+ga0ZGci&>3qw#{T5NBe`TtTJ zFr4Y;^d1zcPogJ6OhRQ2mUz{?#Pm@SQGh65s^wdo8vx81X#sI`;+JNvBbK(a0!P)6 zZQHX3c@G11{W7a=@j!7oPA5sR%kzkxWEyXxD7sU}9>P82NHE8)1D(b~P+!;5F&*f~ zE7)j^EE#hecQh2)jMY@}yN+o@u>iy(LPgQLrLn^E}E+TEtMQY`_`+4Da}i@2~d$xBAG--gU_E#BEYOwtj%|TbSWE z`d)I((hTP!_a=JK_o6Uy<+Deyo;aSye{uirs7hc?i6W_$n1j85;$MFWrD7#QZ z9k|YG(*`kt<0iz96%%|At`S2v2x#e-hI%27na%!KRnY=4v`+x;ayIk4+2Oha;W;*D zO}b&5Hc8lfT$V96N36<21@M^5Xgqp6g} z-Yp))KiR|vt$c$%(X&_jBj zf0hYj57zSW=Cj>pKjf0n%|Fq=oZ&(SSd*s!E<)sa2-cDPnj=g_t5q|fG$^L=-X)Q2 z*(G*?`*tp!8_9MbASbjTzdiU(QcN=@OTqLSR!6$fmmsJ#e|{xO&#~45=EXEb>yTi%`xT2)%bnWkrx3oH zM$&K69GdQIV!89Vl{o{4nH%r8$RO?ugu*iZ?QVL- zxqfq%_`GN;!D5YoE!ZvyjhL9u0^f#+HPw_iii!XRFNAM|#u7DFmZpxkI(DLb`vDuM zz;-kqk1!s{WQ~pX*O1-u`Q2e}GG-pKSlrQ61+YA^07*dKp$LJ^0_-Aa-{Q4wlcbp! z#qH+RHr6a`S;a=T0EqyGTUR79szl;2-nfKG5I3efNUWnw#?v&DwC~Sud1#=4P827C zQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8 zcO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif(_27EB znpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`Un%ZJ1&Y>k3^8{Rhx&Zf9Q$h48xX z;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4%>g2Iq>=X~{#7S!!C$2H+Kd!%!<2Gh z-(T+asuLwd9un$V(otga?--w#d!W8=jiTfGoxGV_5)=IG6nEZ%2+@fbbtt3ftLvAh z?1s&o4$9OpYGJ2{ip`ZUU9doXd^(x*iAa{uWQ3I8jiscLmEGK@$aKJzC97 zC{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{k$LOX6=0V97j6e21M2`dU=Mitrs6xf zwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132IZ?B8pZ*R1pdi+PHd@$|-{DxS-L&X&) z4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk1yMzcu|-iu6j5TVQB+YyiYmoXVv3@R z6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?#f-+8*IA;vuoHORmZNmo^WHM!X8lu;x z)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$!l~h$wrBxMT5W~#PJumad@X~TTQb;pI zBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh|W~Pv8A#}+#wDpRrDyX(eseMfMnUKYn zOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf8D3vKX3tYIF=f!s-I-_3RZ&$%jFU5; z9QK)+i)Isw$|qNuMU$fLdmDllnP7gM6KWEEL@+{0a z2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d#$yob=1`GI_WhrY#%J{(>LLK7QYoPq z_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@MR?)?8m{-F6Qx8+oSrO>$qi^{*$o*9 z|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9i~CvmyT8jNHOd+P)m^=ug4yrTh6xFU z>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b2s11{*k)H0L`{6u!`DLd_V|b5Y%^Ae zKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p^pcOkj0AHAH?iG7gpELbTcG*PiI2hM z171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+OJ`l3Ep% z)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr4%GxovOv1%!APYg>j^pRQv26;1Xb~I z{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mxi>nsFm6W@B*kLrmce|~`dUT-zu!+SjvzS&!4Cjk~H zWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(DbmV{r+&~8sKAzUd;L0qnQc@#fuX$u%Z z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+r}?-bLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;mCF6Jyh8==9y|K@jT#=$kuPh(!qlsMt zSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@`UWb<3sKCX1A2-t$ZK)A!TJ3(Q+`6oG z7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNxH`2pR&z%G2pv>vybgrW*Ym8r2s`VRL zylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ-Z~48Puk385out;|1|qFNqPirwy5ra zZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUmF1mn3D1~niS|@yrr+VmWlX9KNqR*wD{p+yu|GzFWSJx4btxc;6-rM!x5P zt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g$conjgwGO+&#~-&a1`@yJh8ZpNV&a} zw7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3BW5zht{*=I{u|+yuhY^PM#u#K{0s#a zM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rFW)sddt!HmXK3s ztE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$*n@#r53F4Sc;=cRC`@HTI>yJq8hsAHB z#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N@U_!GvRb_@&F$}aYH0`i1$Ki{$Jj5r zjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo3I6Ap4j+eKaytab&MMv2% zyp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$;ZH8JFJ`%M^cuEEjCF)Fb!|BM~?AlD2 zEWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C4*BAhDG?kLPYiLloKk-S+NC;pMg6~H zwfbX`DUlN#1fb_95T=Y2LVGlrrIea^*wpC{ILiT3YktRnh&P#{ zZ8mRd%oZ`u^-40+Yt?!5&PFsSyCM+k~3NW(H>ZSU|?~uOFU{G0S6>- z%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJVAlBkUXzPsrMeDb0mdP@Z!s&#>DmFh zPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo0M>EivUI9|9WF0*_Oclm*oa4y`6d{? zNJ147?$HJ(!t*ARDIA5rW{;RjEsNjICo{Kzm^r0OOcpJVL(mFc%@*tk=M zHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GWPm7f|_W$pX!+pQA`jKqoQhY?hMe=4d z0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzKn2+U=(DEmpIe!u#LSx33Rm z;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2r<%{XSa+fkBo*-gcr_NRL6;%8D1NvC ziXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E%B9eWi3oaw)s>3KX#^oR9|vICkcO_( zl~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V;dzW!(sd6s5Bv&Y#T-bCv_{*y%_!qJu zFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf1;AUeH`;V`zjmiV>205V)%2YujX>!q zn5s(>A_7{a2!jx+>9cS*C%@c6{cVIjE+3< z)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk}*f8(=D{?t}wJ_b%bwLnOMUv9OMTpfm zzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspKo`;&*x~H=M9BI}6EQ)I8y`e>Ki2WXm zU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0lXf@gZrF1!6xu3f;8`*B#@u%?am1xxc zNW(V_ZHWJ|E}jWkh6 z;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v)=R4#?NryEn!UZ%F^4PK8c-ueT+VD`_ z@zDL`H9#WV2x1>GA$g-pY`JMAxMNV9JT z1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB;aBy*48nzaFt*v~mSY%^HMZ*kli-qlS z)oTsR3|nMYEi~1#Ep%#|mLJ#o3 zp<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+PwnPu*_wAL_mT$`?Z1EG@7#NvjMxCoVK zF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A&jti!)$7&c;GW5UUjoth)1oD7NWvizc z-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00Cqo2PfnXVgpd_Yp>k6RZmSxyud`u*_ zk^I>_&bEvSy0|xTibTE8EZm)kbV!xYzuV(!Gf$7{NWvha z_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZec*J4@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHgf-*6W6yYQiM!I9?i0zv9F?bYUib9!G zJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vYNpn*V=Q`#?42DdEh>;kPj6pr;iS1=gzB);a9#v}Kp0908bVM$)#Tnwb z>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v*8aik5{_=Rf9o>(w4%gnr^q`sOIc7mn zbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!rCm0~weTZ3R9zYnvZrZmv{9v}E>*Ylh zjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5o{thXt%&1p!``V9MZz3>ora7OSWpU~ zkR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt#tVs06v5BKx{kKdbD|Fw(g?CBho#4! z;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+@cQ=l0hQ!!k+ucAMWkRT{A6Y}&{w0F zoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#UK62XFP}=qdETR-ySt)kn(Q+?~#4f$j zOhzdX0Gk|X6|jSWnX81bE^ipzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|dp1HT&-RK2X1rU5+Ywmy7jimaEb|vC? z2_(BBK8D~_{J1IF=<_~zQQ6c>DcU>%A#yz5KtO-DLY!fG{&d+EIvE zmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3Uky3fCPw_o*v$!4-UN5VU81DWXLNKW zB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi9A!(gMC{DGDM<*Lkbx4h;}wIl10ozz zxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{uoLWSt(4%rKNwn6RQf@_RAZoAqvK#3@jhC@gPk#<{{ zqk~-)QCv`QPseKE32T@e9r5eu!WKl7wL9FCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdFh*6m_y{pKo=?k*ns~lJtBm|5?X0RUs zQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGSF3=oe8dhdzRaI40RaI40RaI40RaI40 zRaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4>y+s6F$Ehu(pa=w5Tubwx+*12%0gsu zz@^=Cv6w2oe$g@$7XgFsokz^@U#7vuj@r5xH{*k8@o2 zwTkCC?pM9+bH=gHa#|L%UW6KlIbU9C~qqKS-o;5l@oIkLXZknP$dKy z1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT>c0ff+|xr;(?wBK)m0T#)l*efRaGdJ zM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_&*G6?>{1amZAw^B8b-}3ii{nq66IlV zhMh!Lw*;0^OVPx z*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikfl!V;jb+<15nV~hF*5?mJ4=3PX+auf& z`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%`)SLmvH0 z;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68PwIoR45iEpL5dGC6O{2LMr%bcS6s2Py zvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_wMsS_Ih(k$_2_3}i9kv9$277H#F3A%x zjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^1NdgUE#h#C?8nJ zwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an14Ty$jO#8g8mz(NDoo%|clJ>~~2SouG zH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^xu1JVXb5rCL{CKp5dAn-u4rYSQal5Y zfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K4X8zYU ze!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T@J5ezesaI&*IMmV(_PA{86q0=FpvUy z{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^BgGzR5en8In7Rmh7^-XThDV+H*f+{%je zdq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs`d!10*x<|B_uZ&x6X@a+1qrl7|8<4)3_D!3^W8{ zAc%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?De0iNpA;_Q8Y;pid(h-v2u0bA;SGzxP z4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiCC!=cbu206CLF|%g^Ad#g6Hk$g)qg%I zZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy&0w~E?l6Q5&>(H|`z=$Mi+!2j2DvVIgz&CJ2x~39mW192mbrbltKXq{cC#! zd4q-wLOu8l5CANE$j-Dd5&imw-ZO+y^d9EQtmXjMp%#oKC1adN#QpMl>ijo$ zi5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&INUYDfj42_|dqo$Xj$^roSsV!RjJw0!o ztefWP>6B%}~{|F^qRu8BUXJYGk&&-(`jU;%JWTms)(^BPQAYE-~lw!Kue) zA@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy>`UZ8 zX!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^MHus?tVj=+6f`A;;Kv@ES6a@f1Ps8o< z2`7lG-yU;F(bl4#C3?)Gcix<7&gI$ia=L4q@}m~ zyPUg_hui_)*g0Nmz2~FfQsY$?wU0kD~01t zX2=hYT0N$c>qpK>>3i@;=;s{Z1XIsvFkA(uSil}@$CW9ZIIx}>awYBf`IK1TMJh@p*JcMtZ&8!Xh=`D9YkYD2 ze}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih@U|8& zHff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ_>3#aOUV`)mJ!}K^R@eLdx7}+rm2c( z3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+?uRp3xXx#f+HDFA79HZTMMh2sAv~W- zAJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$hH%Y_M(ChTpstH@jd6Ijy^2htU9{R0( z2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756*DlFVS^9w#Zrwem-mz+vljV52?td#k7 z@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N0&5_$*Jo>wXE-m}NNwma5RK_r$C$sb94% zFme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!ZaqI0EkUvOuBf|gA&GYvlf6d$56)9SV z0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH!e$#4#rXC+9JpbZf;a%F`N1KV+M7Ot z0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluvruZ%?=st@#%x|sB;4bl3s#$Y<z5cWt%&x}Aj~Ys(-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^qG}l)` zu7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwEnry`PQHP~-^vKdUC$cE(UZ{zBd&uG> zFUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U^labgf}y>;!mn$(LC2tngTqyBNPNVfTDxEK`qADfDN{3jxs zX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#(*RfnV-&vESP2@(0=vzv#GflotBDNJB zo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@{0&z?jFK$A3qj}5z#`}NwCKGYvAKX8 zEQquFs*kfx>eiL6!YL}+pECa4z%4YFWAlkQQwf#K^;I)81t&w%6&G_Sq*Q9k z=~XjmA0HndA1TQBTpP9sSc!wqgaS~vYpE^HdZy_ z8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7e7cEy18iC3DQg>Xm(UE5+~ZllEB8_{ z#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>OfK_PE_^8!Z={t=Q!_FTlqe%`iU_QmMv zWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0{`}M1x7Zak)o|Qq=2)mMG*hOkusf~O2(=pyebp+i2ATt_D;*V%41Kk$ zx%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf96~2T0>X5C?nL<^<9mLy-yx9J9OMXx zqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U*>;jDf`|pE<@33^_nb+6c(zx+ER!5$ zChStz+41KJ7GW(Pf>w#G6J)?>4_O04m(|17 z5Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~bE}?>1CckBsYR^!tkc-)q3)%EtTVg@ z@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~B*iF6YGfK8HF;8fiBQvS_}}=Rfr|P? z1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s&WMpGu=oU~J47nEkt`#Y&c9#!zuN;{+vKwh{Vy|W_X4+>em{{ICqQvo_e z!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qSY1>PIDcb3|mMOq1pwumT$X!F11Oc3c zDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O#X)dOeCTT57-QrRu(n%>x)VoQgfNLdW zte1&alpcUALK`F^LjCPelRb5s$0x!G%2=quKhI??>1_75trqA1kU@dkyjrM+ru3yD z-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J`gtW)ug8Jmqte&}e4cl|5gK9mwus5> zD)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q1e?Xrgg>9HW=+b&<6yQ!O4*y9jjvZ>AAcy3^<@4^m-jXPZtup6&XX%o%)M}f zktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP;mZh_5aS!ZA(SSrMl%9Qw_hOdVXwnQ zjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAzJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z-L)rK43%k<9)j{Y9+2wtA~ZtNVuAZY zG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+K5wmtz8i*jRxZ^SNIc63=KmLX_x3AL zVl>#vVGbWD;okC4X?yE>@CWjDRaJLAb8U z%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb>fEI-y2WY%9i5qHHsYTChXluDy z*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN?_m0D*xJE{%i`agB_ikRxlAtuLd>=`k z+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~^i!&|jYwV%jmW{ajvt2@QY`-25u>W0 zn7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ed;$n^m0}|NvuebQjJnXP6pFd%+95zmFE2jf<$;$RqlcM9U8eJy8d#P$DAF z4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1aC~F&W_ylRk^b(+dIu5be#h*&u@d>- zTt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X|yKm#=d1{pM>txw=bye1U#z=_}{DH$1 z^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x&meg}OUswP`xG;OzrKnMKEJe?97po(E`sK#-G~wEYBVqe(7Q{_sL+7DQ zzd#6Abc~T7KsuzqOMYAH|q88dtSCR z;Ld`f+DOizjH6b%FQYZ(kI%=iBfmi)go=P?wRmqQ4w0O(Q+&ijX|`O=Dq0|NkXbM! z*VH6q2^y__OCSD>UBK*zKk3N~-pytg-B!yC1+Edcv{o}<+Yp;h->~XOv`4x%$XuQxc&nk_OXm%;4=U;p5H&_`}rBNi1lR2mf2?A{(9{WCP9QQwBZ zpSfG%(M;5a!~^ldz(UvD**y2^t-XIMyMK|xo8)B3#y(COGi1=FHJ7*EKEC%XOg2?n z4}mTe%vr6&wZGTvz3unj_O-O?D3 zj7EJ77Orx(w!-ykt{$Dh-ac-FddCPct(9jShbb6+#m2`8Rw0i-5a!9=?fDS((n$yQ zKtwe!^7isWrcd#0bNcYnrVJY618ZlL@cAD?&^lHYAJTPLz~6|i2dil}S$ZqJ`bHga zsGx{}K~D*Ib)PTXe(fGc85q2e77Ii}PJO;C;Z9tv{ZxAo@I2{B1C@bTy^ZtQ<8-STKeF zloA*iNDamQwmD8~X|w!!J7Vn(Al+$tiqo^qBL?wi(}#--4Xj|n@9A)}w?0mWC*!?l z8A1SDCnRNtV}?DzUgWkCX@(cE)?ixc?rq%KvG4=%n3LCXH(o^DV2XDHF+i!ueODA7hE zdzQ7S1;}RSaF+&F_GgPanoM^1e(u^>)lX*8TtiUs;@>*#k{>KTei723a^9 zg0judG3~{;RS|!>2e&K{8|m)G=chhw&SHWNyLetm9f*b_x(LWdjnKP^Tn@G{x-Ig* zOzmdC!fV>-gQMxbfc9cuxm%s=P1o-LdtJv9(c|ttcye9>P$EKvsW;H3a>#Nd(jW*= zP9Pu7AR6LWLc$h5M(K3600w>$~3UQNJG8{D|msrZEUaLFkyQa{Zun+WQG`F zxw|XU8JUF4 z$Y!LWQH)k24s);W`?=%@9S?&Olns7{q4$$^u{fN*dw;5P&;6A+yWSG-Ix9X{(VxYr z;%?mKiJEq|oyi#xM(7ZPAR(6M38ZO3)+bOURPa+`mzP>V>ElhWK2yx=w_lfwkG{3v zPM*|ymKPqn;bQ;a&wgje$xvFGENJ3r!PUBim*6o2D|GR?uUjU*V*_utKl8@fVHhD) z8@PSf&feO-23aJGmW}+SXRQU@&))sNxTqhYn~-WO{9I4>^w10+JfHc0H?RvQ_-FNg zEG5pP{=P-3*DqAjfgq@?)Ovzzm5(g@F*|gg)trxI&{Cp&rAkoIJ~JhO4m*Q+0& z?LS9y-1sT?$lBnj= z-g`lYVrFT8ucD#%=94a_8woqGqU*YK`vY;~T!9<(Ot?1a$)nLie`W_eot{0Paejy< zHj>*zNntmUX3*>)OkpZfl=?yi(a{`k#jzvDy8b>MUayDF@>nGHWy@)R8v%gMi~vaj4>+d}=x7o3mqW<6PYL0h zP6ZWIXqkA8xPF9?Zomz(6L=fuUH8|}6M+SJK-?h%_N(;pNXN%#NdCc!;b4i$F^pnE zQW^~#N`N(RJ8Nw7NACcov}!l^YN>l2hxOjsf%gUg_wwBy8*2TlEO*D-=B}&}dXE7X z!WaFE(naOP-Hg;-xI^NMh!FA`%c@1f84{mI&ks2d%!}F^&*g6~=j|&}_FLh52bzI6gH1)yadiW?Q;O1nNG2EOMuq3OtDsiepgz zvyUT%q0v?UvDukVhH2~q&7s2vhcoU!ME9X+DBuALk)vb8r0^`fU*FWgVJdA8LVIND z=WOKb9^O9{mLc}O&rvidllb;1M-u0VUIbGVPiILsMAF^;or(S+8!Z-__D{ZElZfUnmWXI=VjJXZbm=y6b|TFIgcYa0>cbG-Kf?`suL zX-9z#n&JtR5h>qaTr?Cmn1XaJKVLNeO?!J5<0YQv~*iVr8mSnEx)zz4JGPzs&-&0rUT}8yS z+4T333P=LBOSc()_P3q}SWy(U>MNwXX4Y>=QkfN)?Kd>W8 zoeux)qpJCAJ6Mg&`fye+pS`tQ?H@^eb!Y97_V(wALG5_$C(60?9PUNs&&vK)4_olA zI!e3;s;wILoJRE&6_5m|;ySfLz~C_z@m;s9(Zx$Bh>)|L&d?D=7Q@d%(F1aTx$FT9 zR$T$Dsi6?+?$qXIMZe*~EqC>EJaGJ4->E~Nx|KJbmaA#AKXhCRQ`aorUC;5Od&lF; z2;p^-koLbVGY1Mjn((!xvf@LpokCVN)~H3TA)mQGs{+LMgXS1G=c$XE{=NrLTC0z& z>AMQmQ4mU@R8XoYR2%>?$mJZ@0Ea7=q10@(5cM7V`91x8u|rK{Ugw-coQ<0Pv921s z%lWR(qBGCr$>W+mnDRyO=Kvbtt04nwG!O)kdDd_h_3%jSIGRsu<42FiyS!TRUP}tH zq;+_ZvSoE+aGOP?SccY|eYl1%3k#U5FVZ7Kt(hN+hsNmg1Cs)W1WKKC~b~CJ*t#^1Dw9fy$UN z8ttq^RjfAz3Z4TRHP63YA>5!u0AsM`8HQuozSeBB=L~wM*>Q$ zOey1#$&kzq=tb5`r0zdAublT+b5uiE<{rIwiMIvq?Df6B*0+)FJ#lVefYI9@&HI;M zHaK#Q??USf_|G0GSt}5ixd>(;5|SbI1DdvI>eA%)9xy$xp3#| z!!gtPb_Fnm;_gAA`QBtYPX7RMuH9Oyt{M3}&oP>5 zNHa=;NM;aNS~@5TLu7?jY$TMB8EIQEWR_uO8+Jla$f7kkZLk{Z!?VqfwG&H#7spt& z?oMMAH$Z~>NGbs$N%5xpD0Z2^8#(=;f?NC~xi24xvsCAjv)tO#OfwwNZQ*mFDu3~2lfg8J?^mK{b{qPC|hGH#@;$n0{z z5ChR|n`jB~a-v|&G9EL&WlPgCN}`;=?1yBB?yv*Tkb~2JYXp)E0kHx~k^%*wU5=~F zLOZ*=#KCiQ!0jM8i*Y!GgA{hezd&v$bQ5bF#XN?g883vEXHD^Kn4 zB|DVFF^Z%>&>&bRbO!O3MN%+97e9XC%lsb~?>4K8>#@zo=xZf^d=0?Y0mve_#kNu+ zAW{U&HRM;nmMQg?c~Ks|4hS|@#A=!|0#?4t&GWn8!^-nqJ3_Q1KOvh6Py(e9F%aVC zhZ>^Pa1^uMCO%_yMvmM?TgLv~ow&tR$?M+8U!!ye<4uRfNWqBQ{38w4+l_s(m-p;B->uYhrSRnHQsh8g2KR4GFCf79FuDxJ;*7Z{^_ILag6?bt*CbbN|}kABw5nYPS5W zzem5fgzNw9%F8YL^v+k``2J2vkA(Y3fd=2^+r8`bnE^Zw(Ebm1_Fk`%GciZ4d*_iX zJHy^as6HW(|CE#9eu9@}w5RwCRy!n>LnI8rqj}NrX}C0XnxFMYdkg_SKey2sR+Ak! zUC@tB>jl5T>Qw)RWBEQ;VK3tctAz1A$K!hsmCdC#q_vM=m$Ydc)mg97=PKperV0xw zQa#t`n1RK*@P`5moEVG5W+qI0c>ez|j0OAPv2v%Sw>Wp0gwy+f9;x;GDec{Ja~)0> z2k@lHjcr?vZ99!^Cymvxv28VW8r#l|ZQFKktmpSOo|*0o*grmVW@l&4?)j1sDgUKj zulRB%n?&F4%v$n5fS9LKEEPu(ldmtar z7!K(()^~k!{YJs*aiZnT=Rp+q(dChK%pyU${5I$lu`Dzf)(HJE_^6W9v4*P-^r15h@g~7>dbLacoc)|uY261?q)nNg5z07 zy1?sCSp0&(9DWs;sAAEuAWO$Qg+Jr@SL zbUP3M5Q1$yr;86*na=Y}l75)_1U?ohoGIZ){WxGN-FuQQI6n1Bv$dn}1$!?3OS|k{jwHJI|OL67s+5P0h>nPj` zV$S8u%}sx}Y3Wb1(R9A`i%^SK5T`lSsZ8EuRsp&OjvJj$6};=m2vKH=-q(9wkAF4} zVcb#9w`;->i9(@Mq#G}#U1ZFe4s3S|ph%R7d7H?DO%nO` zQw5?WY&6-we0doC+WL_zibh5fP7=^{m2#q*bSrj?z3PgtYsHOAA1gK}|HPtFhEYGd zdb#>v@`cp9`c`cHDIlU1{KwH$l9U6PBByMT*OY}@C^A=TehcswQzY?YGFw0?aQHz> z`<74p5xyMQIToqw8D7$|+o}ys9dmb4QR!6C#IS@hilS-SLVDQ4H8zB1vD1!ebOmQK^9O_ESEGF z)jeH==`XRcbY{oAw4_eI$#WmRTq6K+!m%IO8e+H;lanPmntmAw0b5himuNeOT4V4* zr5M08B={vSSj|RenT||>ILrA!YSE?#D>}d20X;IAg1OY-n&PV~+@e`J>n*4`jz=Og zeeA1!S^3xQfbUlg*%8yy2$VQpefyIvsT;kpKOo~lUWZqRDl1%ymin^o^@=;Nd`W|r ztV(dU^kim9cLPN9g8V&AySYr~yOCy!bzqcZELDnZlhR<5bp$Fp6r8q6c~c0cj=ZQi z)0DWv5-K@y6-o)c6(JW=GOA=bM**rzu_Rb|QkfuSr!03jgznyR+RES$I#rE@Iw!Iy z;%%&2SpWop@OKdq4-GZ(CwgB%d0?X%AO8+Mm(!E;N|S53n;%cbp_#&Rf(vZ)l^*>2 zNYpbgl_HM9kp=gjwaZBPcaWOU7H4LnjpzN?T7Ce(4<*+{IY(<&ELf?!2#{1USzKu_ zA3dHw%vir;etgQAar93j z!Kx~I0(lmZN!b9hg&77rq*X)FEcjD|+<|06Zf~}61>I_h!5DqX90MoZ{Zh+al%kPaU>fTOWeHl{die{48x`oHvO6KL%9e1-!yhzPeXYu7(!E}0i} zELN$NZt!-Qw3~IY!QkH;=%@17`$>;zYUW4cASG|55@+jRRU`Dh`hrG!S47jF1>dPP z&CE%$XzIlDcAdCT<~C2|{1CGI9BIlU1v6!ZB|DG|*6H1}4)oScUwvA%oMq=2)sC5X z7R||cwI*|$!0WTmT=X7vLq+wvN^2&6&SWdcv7Q1}#4$)^Nerm7*^`9KrA;_6wa=wN zXHwX|&5?V z1Eo~5&tu*H?CK|Ssa`-~kohL&9oH6zurhA?D1J~%Zk!R#SlF7w$HkSWw-+3v2$US7 z+Ngw<p_P5@i-52)e3H45B=hI9yo>rt^xm-KK9}!8_HECoMgijmTgvLa8g7Ob3yV zj^YM4$V=#85o#CeLXsS58GnQ6KP_Mbn-94OOLL@ zhbW!v9h8$ImcnO0d~mKm&O$qp!&udBQmqcxq~vaOW~#h^Vd2l2nzBxU(ac<6__9Ja z$fG&9s_z)}&rU$1*qyx&(ldtDUn_Ld`apP=qE#*}BpX}Y%}_@nd6xcZYg99K`^tD* zh_LMcB zwFV^Cc(T7hu!peZQIh`mIDBxE@^Pb_4`h9dqb1!-*lfpOICk5*?+~TaYXf6T-BQQK zhUcn<%w03$_(KqFgS(<5wsX#1mJExKNIo*zsNT1c&q6B26v^k8-KSCf-!7IlveNR3 zD=0MV6z}A5U>;l$cr9_K6Wdkjd)roZQ$dFb*dgSH#dsP3^b6=q6y#Ec=!SYvjNCoC zx&FeqzHVl$BRZns6q+|WcnMdFKnHs^2WX%8mOyP5KmLsy^38ro`1Mkin#3olwr700 z(DrYG{LcDiZM{^z7{x_19;|ff@||nqZY#WR#_Q*Oy0{%7UYR&7Qav8zC?eQ%&VOlf zAA*Mdpfyw(Y>(UAh@hd`mFmqtg*o8;2GlMh3O@=02i`R%KNgHKT{3A?`VZz65>}~S zNizWt6d8wVY#P+GgZ+3eSmO|3p+oLMjW-U1nao@9i}~UhICc@1tZD&fY^fhVrCYDy=&}7$e(Rt+_6|)VOC%cx(tsid9odIJl_+ux6EPx`dbh@^wt!0Qx_t;HropW=e zz+gVyI`zCrx&Z`MJ6c>d6;|F#CZJ!5Q6(FmHTlGTSh0nG$tg*meVh&wmP5dDLAChZ zUyzXgG-G3<^;mGpD-9JkDS(K`kIk{%s3*8rxF*+nSJ`lc?>5r^LC&IaaHOtL%#JDl zT_wf3ywtLwRHs}APFVsV&ZoW-JUazg`LEjgI1X~4lH+B`&IQZVdgl}c5==hzg9u%IO2Tmb%_voB@c#ixpz zTX8=wAD*4aaI(-Y91sxW^-_GBHmi`@m3iYeJEy+XtnMO-YL*Ok3@`OO?}QicLEO3{ zt7&Gex$e6KA}KtzQ@MGklAjsfU-Ef(6ip9A3gy-T|9gm$`w$HP5z^UM4J~((_eO0X zb%Iy75KrXLaDa8B5#t5CDD|sj&zF1^iiCeDsyj7V&ULv~d}>71Oh3Fq`Ce}8A6@$u z-#B!`O44w(LbA?0s`EtwNJ>pqibi`54O(hTdLi~nVc)-PmLG=5!V+eFDW3rE0ec^e zSJzl^;5)?NiOuWZcS1xF0;bHU^12*Y`>mF4(#zP=zETyTf$2koTU+-Xa7g_&2kqnP zeBVe9?G6V%Hi9qVXW%3zWch6-hb82h6Kt*)UvVpU&P&!|?MLOi7HhG_bG?Se-cIE= zk1)r+mTz$ScjhSAKA#idUvF408leZzyx;epwdidVpqoWGJ3H?U8M1^Z#`)hW%BN5K zJ)T{jY28olD>medf_ifrYa!{e$%eKJU03mq^-izb1m4xXfG>8yHtv+HZI@@V%t6-A znrc)$!8eDF@WAgzjUa->&5d6K_AuT^7o0`cVc-zCep`fBN=mOVin6%BE%A5M#1y85 zif|604(%5U6E3}S)^!PVO`V}Kn`Ij&?_j`tmxaV$;)G@Ib-T)_K$&TUvsb2Ly~Eva zRRV_Z5Yvjov@9BJX6?jk=OkVAm}GKVP~qbUgUYBT6-+(-`wo6anYc-k9W>C{pi~}u zo2`2=+&B^cSc&RKZz_~&lsE5nPV^Dunobxlm94L6k2>)|=Hkk^G!jET)_wfnX$ z7r_8gZK5+vQt{%lH+H6Tvo?2`RhQ|%9nv|eT^KbmA-Dze{g{ zyrok6X?9Wo2;dOPLt1jkJGqCW`y{8oaR;+jT-ed*7x=IG!>{_-G&ZSf+YPtu+Va!O z3)+inEF{ZAa%a9I`P0wDl!!Pvt93Jn2O+lsbMQfHpHZn&wJK(=uckCH5Rkb zID&*NWAVqVRanvfj7k%LaM^tsW_`HP{%J@i zr|#jpqqBWaxr*nk!8UBg%Nm&fZZ>vNCv|utHEeh$$Zx;Fj=SMcESQM#kchV~^ff;7wi5b?P;AZXM82u#RCjfT@S6=krfIm=kG+*2qlK5$r zULj2h^OQ^dThg5GZ4Z z-7?cghokE(Atx;Xe$@LcPP%KNxr=B@jD|}-ZSjSu_S=3z2)io(OcSALbtW<-oU#~4 zuN^!_R2i+Jn+c9VV$cs>{Zq1)?9Ot^50@EVh4juo{D4tX!?)gryITka{&hr$!hjp8 zHo^=_^>Addm+ZkW;)9f4RXnV4=1;gg2RY$LBnv^Xbp*LG4g{pC8y1~W-Q9^oaC`qI z2m`7jVt%o3*zh{WB5-xlu1r3~p8(zD9^{j@_D4btHSHuA6L}(+C*|RGz_=h=Jo4l^ zCo`KFiSZc`f8Se~j z(H=xQ*r2cu0IbgJckP+Hxw>>twc#+Yk1)X7GDpEFxapjFn83 zPYwxxgdz24RsMuxj)1YIVI>S`tl`j`_H0Dgmd{L(`O1fbq(KP>iU1@D5ypq0H7r_s z?G-Hy(_cWw=;dPm!E(`6s!#g!fhe!M^j(DJND2zt7h6rHM;Wq>oT?LkvlS{dB}U08 zzynh5P_4L&=V-hTFLb_*2TxSeg?svS?@Ue!85CVenK?mSzvkq`M|hR0VA;jUY?)Ca z8y}6C&}jbm#id<>t<0PJ9`o+?FypU?z$)Lh5)@-8Ev*TZD(?(1>wMaMNqT}FU~YTD z@}Zy1SkS_6OQ`z3r_h>P!9l-(jdqG6O& zv&RNTeoMv~KgPSK)e$xG`P*=?O~~5N764w=PrUfR;~QF;E=t$6v}(PC@_!&F#1o8_z5y>XDH%Dwa0g6#L#d>;r{Y_R_j%Q=3)KQZIm1_7&+g!R-Xe*?HleAK(M%Q>qqP}O zkorpuFSFapsog}9;d6;1T0Z52i>@xt-W*Rotzo4e0wrE#sD7NB5ojKPEo(NU?$_}fa7kw;af=eh_gf1^AqY7Sd_Z`fbsGojfw@~`<>+tgaf zp665MP6~OKB`4mMT&ivDmkWa^J!eMV>2)@sf`emAUsP`) z!LwlIOdqBhi7}71qPO=kErO2Uy4mbBy|QIkBrl9RXk-9G&ct%@#LoltZ{z>0K*XWf z9o{hj*BO%!I+Wc})QbwZw98H?v4;<4tGL;rB(HH$36;WjU`}vV#^SZ6X2r#uf}0km zCGz{*NQD(%&H8hQyGNHsnJbyne@tR0AABaE&lAS4-3NoZk2Ywb0pz~6w><>}u}0zD z9p3Vd9HPmdIOk?4lc}WHTgPl6I-`;Z-oIEQ^6VB_Sr!E!R8`|?^E2?87E*teBtYd$ zb-yq&OYw>5XJ*}VsDBq4@JUN5S0}ilP^fzkl$VyFqVRI)TTt@K!$R7riw3<_E>w1b z$}S!OQKmsTt#u?{CjSs{@_K!@y(4!cQ%F(QEv zlLQbGL)EdP9V|v_*CGL)CZK4H+6xV@9C<8idC3YV1)MHf&-iXnogWC7r1Dq?%=~T zqNuSKuWGYa{c-#F8H$P@$&Mkg<6pL<6YBg%w~?5_PZ{Iurk)c8xzvA}+kPy2bGYB! z$6UD)R{x><-9OUJjmOW>}^{>W`7H4m~(*dgIxD)jWo@ za`i$xCPSZ$RwvMr^M<3nE5ikNy1N8rfJrPxxuN#Jsgm=gSW#CJ?O}*xnr=F(e~W{z z$ve8a(0J0nLk~nRzxQmLGQskOq)AjYZd%{nB3E<8sKa^H(udjPBoD#l{EI`=z)Wp% zs(I2ZuELFr0Oy(%=w1{{w-y*5XDm$9P^(%|@ZSfQP0&OD{iIBNA_5?D_Tlxcdvy2p zs+nBY;jzkJ<+)d1g?fr0M+_ERixt|kHWOggr2 zi0wK;HjgtFF2CFCazCP1x2|2ecV_wo9VfHai&K*XhDso$aPaqHg&cr-9bRY59=6HX3qm7G z1}Su2O3P@dtXy%iB_(D&cP_{WbL_|HE?dyF5P2&Nq7KK)TPS|rLQ}Yi_|0AUf(Sne zvhL%*ghAsiDlB}oxgr+RkZ-TFBd&Nk!>0CIm5*!htkHe>9F^@@2G&_aL*swc)vb3) zwbIFD%UoF|Z8ru*^+k(oJVTxlnZ#|d)@FY;ivpE4vq-i>I1Fm|Y;rnrj0euE5b{$s zSVPP<%M0Opdzm~kv@gH%QaUa<5ruQgK33cukKYRNEDKGzyT^kFz3j$?W&(+%iI*}$to7~7EWgF)OfByFMLd=bm0 zXlI|%Oc+4K#6bG5$MSeXbg=0vz*mK0k+N|J@|)e@LT+PG{>~Q(MQug_8&5$JwL;j1 za*#-Q_FDIIr%IfjIf@zUzDPCA3+0>j=ADI3?MI-f9_vGPhsJHWTfk;b<%HSBDt)GsRPw*ZzE^#=rmW|+>z_|cQhmB#e}_yr zHo8tc4q3cvJPkHwKGK#b?X`la7`#fZS{r9J}C{4o4ok;H~;Ei(F!N_yY; z`0clH7sp3&lbHM2#Dq+UuC4R3%3Q?7&bKtx;QpfVI`Be2{4f`ac4lKT!v|%d4lRi)sM|t(!i%H%k0O!Rm1L5&q z$AZ?bA#BFn6FCY36PykP;w>`|h)ZRwX$1&7FmR}O2Bfz@#La3u|9fo*R5?6%P%vfjI`F{L2u3&%-_QW(ACn~R@603Z@}4|TYMyTKIM z_oe1_bfyW9SUW^_xkzHXJa7gTef{Rk!|41o+0Y-&_yahJIl%Sdgw^n9QbWYi-SS&9V(0B*dF=L`e+`aFF>oc9a7 zzz~z|i>!XLxWSW_wD^<}Tngx5gMgoSj6!m2l`+J`1xs^_!1j|;{N7c?;FX;9^{qEE z`V83S=sl|eQnsc1N6K!3YLzqYXWvW}6KrnJi6`oYt6K5n?Ke4tZ|X1@G2T3Ymq%PPQGN&Y-MmQJf=*U@nE5iq`QXWlSjcQg z3O|u=LQpK>3zwm^2*^Y!WWwXbBWaGzJSR@SbMYLOc_ie`5#M*F@wC7rIu{MXqcP<< z>rJclJD#hnKPT4_Eqg9_bNIL9(;;dJPiuW8{ z3^^~;LAGU#s59o(-f;37B&Jon&87I-Qrb#E!iUss-8+Ew%I9M%>%pOHM-Q(Oa7yWd zBiV5W(~{1D!$9GPgE@iZTRxeVsRk%_>XT6N%!m;_wFB8%Aj!UP#~*Ibr~K)+NZXlJ zF3z(ne6G5xR(#Z^_3TaU9@pHv|Zca3ne; z-`oL>t>4guq1J@gq)`>*esklaaFW1%k`OVSJt*Qtpe0ZxM9uhyQLCQ>r8Q-WntsM= z>{nF_uLU$B+xy0q`7Hj{>hB-Rn-pjZgtCN~n`cT7{cmii@rV^L2D6q2-=6`j(})3F z(1`)3(PRx@I55yc1{#=n;&96zR^RT}NN zyE}*#VFb&u!JpbADsa(JM>~R<2Kxh1%K!K>>pT6B66hAMD@y pC-6_;pTIwXe**sm{t5gO_$TmB;Ge)hfqw%31pYq+BoxHe{s(!DtIhxb literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.5BCF450E7AAEB04EFE81950BC64E3F24.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.5BCF450E7AAEB04EFE81950BC64E3F24.metallib new file mode 100644 index 0000000000000000000000000000000000000000..3d9d7f47fa60e65aedec763caa2ff8e9ba1ccc91 GIT binary patch literal 66266 zcmeFZWmH_v(l9!}zzpsLXK;cJ4ncxT0>M4F4z9roF2UUi9wZPTNO0Fcg1bwQU?Bt& zB-~A&=bZOB_uh5ade{B){W!g5cUN~;S5;S6SJ&?BpscARg%pSkLIM4i7Lk$u0J?wI zWB)G6{%Qt6|E|;iUBCRhPKx{&0K@sKyzjmr`%F?<76WAEYHDrlV2W@AY3ixUB7u+; zBsCOZpwzCEy#{fyY_-MeMHM+YP13*U{lDbevg#U8 z5Hbkq&!a4(p$`T9i@gRg6bcIdTPWFQGMWk+>e6^1A-ul`6`uW7YH2CT;DKscL4~(+ z{as|a@R+cl`lI*w_Y=J@?4>0dlLCbf z%xXrtDoMRvKsgXZJx@!sC_%kiK)oD9ITA#<7)UwUO+5*~1=wF`skeiu7rQ9e3$Pby zDff`5KyFaTi;M_Y5Y$y6!W#;4F^O=sLGgh`xSK=>kVZJ00KJed%AO#qF9npKV5$*Q z>MsS@>yp$Xrj(PW)Bw#cxD@d0MK)0&D8X64XPrT7W&-O*LxzpYr=8L;%G9V(L*A@ggunAV0zx5AuQ~!W%S7OF0h+i3Iz@ zi>jv^n8hD~^Qn4*sK=4=A>L*8bNBR$5Xgvd7lL@QKmeKj0cpJ=yn$H&)NCT0^C9k_ zJxS^VKm&io0N@@Z>UBWi4a&v;Bo*lma3_uM04AOg;h7)dN(%Au0_Kk5QU-B@N4O^Z zVKfdfJq5uI0C{LBM}g`8b4C81Q5m4jdt^^I#0QYXB*GI4@%i_R=4+tf1Q4bwDgxx7 z8h&pFG=T!3Sx`ctZHOee3t5vQMhZld4;Y{#U@w2{FjOJ~jwOQ>1p|SE0Q=#gQ$UAV zgn^UkibH{HE3_bih(PI83}$Gt5}pk&s22)034zDJKyKh6wMinip6xqA7iCSEn~PHw zb8r_-3V+mn3`J~6S}X=d?1Q983W``LipU*}n!8bctf( z-%gPt!6O5qyjtHSaL-h6wZ<5)dB~ zi2EPFApyrFAL0f4#?kfzAwGY8_l+hHAHcNoApihW-Cz(OIK(v{0suhuKPZ^|XRpcs ztrzz{NSWZeO8kSA3GRPTHoK?cPH|3Ead`3is8#{rK}*$RN^J#?5@`z&0nEA{ zMYJtM6tMEqQ=%6p5MLXJ;JuH72nI$t1O5*1l`N1KKT!d)o`Dg@fUS{6xMoCnX9Tey zpW+;^7X&y~wAln{;UQ_^j6eB@UZE6ep-2>w zlwK}?=}oZ6G>S+~FV-L;!dW-M)j0(4q<~SolSa7bN05Eez&!>58wzJT0SDMq8!#MT z6Y;`WsFu5_dnBnRX(<8Uy1Y)gy+L(=L~TW?CR8K+C?`Z@RF&cHi2(k^3*wcbrgWZw zd#?d%+j|$kM@zNZO%;H2f3%F!Qk|NjX@-RejrNMvNQ(gqx#;693b zMLzU$<%Ec~NsD#$ih{ghz*!3fO*~mpBIK|bW;wYbd>)JG*+8r-jHmPuT~zI#lgT7@ z!w8B+(RvkdWZ0+ZX^9#&qg_Rxy7L3)uZGN1m^KhSAerVfByR#uj-##WZ@ z<~IK%;A-gzL@vhermofiJAfGg7`uBrTN*n8qpa+mOx^kZ)qLOL1J8Zm{qTRY1k~qouao=6zsKH#e~tPpch&eq!u6ly z|L(a*{r3X=OW1!mnA#((9sk&phP0ETo4cu_yN0DZ_dj94k1<#S8IXX(3!NUC$`cI2 zribEj2ZM;|p$Xi<>mYjQI8dYI#j?k%@5Vx*fI7l^yU=q!&ngn5SJQwEU)w_gqOkPR3fon37a1U8KPyuq2xAZQiIfJ5i1Zv z05Ko$N1{yVMn+R69Zl%!CUbWNL7tNFS;0dHA?|n(6Ff9C2@H1$h>I$k6%4He9&(OG zAqb(O>fCL>nU?l?V-HiRpPb3LipZ$(Qm54Z2VQzg;xPbu>qli6Cm- zG)oLhwv1rv`H)BJVa9>MF<_=WIst)Jf%Hbfx<`#X4|p4E-Z!g3AC;kqdHO!<7Z_ z(GVY9=L~5vz}41B3y=2(f1w;Gz`hUe?&C75zkDBP0(eP61I9o`MTnB9;#X zH_}20z4z~RrZ5ml1Sko?lI-{IQ()jZw>1F=ZbCsp_#gsap#BXGtUFNB$qyx{5rlF9 zAjn2S4A)p+Q{x%`AJ-!MZ%bCRQhKIgEMRI5yau_+!ew8`${HL0!7=_D$C$^$*xkv& z5#bEjzoR?s-iK)*?(H5X&Bg}Pl#-OZmxpZuuf8Wdh}fu`SOBXMgjro$@ZjLlg@S_b)$=D=0=^dry+8ygDX@Fp+&}m8zCY__{;sP6<$by@@8i-y z;JHs6z(e*2`U_v~Z}`5r$NN{hr*)t1%lo+Zp20m#@ps#OdEXAbXAC4mKqg|K1Y|0` zumAh)`+xTRKlIA^0(ddx`L~k?a0K``Oz)2d4hK_nCpRx{I43tBC$OIXO!x9}-5(%` zzx!g(W925O|*ie5|9p8<&jb3rl<8E!XwW8!xbC2*(8Qd{o%`HhH&Hpq~Wl)w}5e&x|-X-{>TRVTP)+hk1S&cgd^;48DSi5 z-fpf=PVTV(g>0(!rtVhv#~7Egskw@VE~oR~4gZiII9~tN&CSEf%jsre2jg&p{U3TA z0Q>)Y1pwo)bTG5DF#h{$;(w#f`@4<*?MeeT7+mJ|rjFKJ|29Le`!)+xS5LqQ0Prto z;OcG+*dwPY2nP>{cqG-Ok%1BplG3*k=9biB($J&wLhyo6XxBb0*C;yOojhh;djjl> zEAYLG0)wEcVDY0tlIDSC#}WR}LY67D(&@7pehQ|@(Klu1foMVdAfG_cFnC1tO_7XQ z^6-uri%%?Q91V}pCve<`fFW6moNqCf59xsK&raZjVDoijg=bk<^dOZ6!n62>1Hstf zqzsrOcaapLkk2P5;as^Gn+Ko^DQ}~ybnjl`R=3RzCx?Y4iz9Y~;9yDN&O{5bL6F^})z_^{RQ z&MdeXX}K18OjDIhiA6PwBUHP#lusamZ;X#Bo|p_vcE^xscry1#`x8%N)%^qqlY*2~ z&XFH>`5z8gUyV#4)qUCx>G2#u^5VciVILy?gfxe=i8=vy4?#|NVSLanq=t9Nj27qO z6>~k5IqvZ-YS{H~eL?uC*vc%cH0pKLY*JOzajs}wK@&0PLpWLOx&W$d1oZsD15ugA zQr={^dIHb)eU!IPNK>?iKU6fC?#Y?F&8EdvH)k`?tzJ>u&(U=dr0V+MBwAkxiN}{9 zWhfGj!L=EByY0eHCaHTE*q1S8&+2u#A;Pd-PFFUiK^I=h#A}*?Yh&gAqzk^OL5>8Y z8^*wlrOsDJ6*OS0(?5wd|yv(U}PL0mIG&v?x4>jD^XR^bF z&uEd|*ZmCbHmI16V7nryZ}}64?4;czEkD_@Q@Xde)fDflO;b`$i}E6nWD6vX&z4kA zH!^r7Y%z_?gEiYnaTcS|dU8jxc!POSou_a{2$7I$0ws=Lnm<6XeHVi!)$Z-5bwTJx ze!k5}%&5UGSlqGos^Z0wKJ$|U4s9mq-_NDY@ij9CppIXQ6I!?Bt{ENS7D)0{?R*y1o>Fy^i2~c=n#^kZPYcb9gW)j9a$c4BmvL{VefV zGxRV=6k~vQ|654%W!Jin792fQv$pk9@ZLAV2|h=NH_2Ay9{OWwo)z*j_b08=MTZz0 zTa>Hq^__$PyvYDF8 zKVc>;nFJq(=K3UOQR)*xwOdU$q%!y{m-&NlYgO9ntb~t!=}-axjo7}@lf@?Y;70wKWat!TC()zdP80O`lNkuGdr$n@=SS00%ctul!vz}N+?Bke>SN;-kp&ox|A7W;C!=6daKz2^A-*eP%2a`o6(+HRNM zHLv|$)yh%y?u%#7t;MH4dsQx}c&=WPQ#31IE?+Kv&Er4bEopD>^=NVY+_8MreB6e) zV&6Wq+PdGmdf72^{`GSpq~p=`NppY0#r6qD?n(RHs{dyvU*Ci8^zE14(T%&~*B$5W zB1_G__N&*`Z9N}P+H*Tve7rw$Ic_$*|9Wh!?~v~Q^+Y~tVXBqJbHIP)v*B23lT+K^ ztm2Ob7Nf(9-KWPi4sQ&ZEt?$kLKau5-*2^FT&9Qne>gro+W&D`Rb2V@^8LIWVr5zX z(q7@ZAn%>u<&>UV(Q$VtC}y@d<~CJKQ6fYd+LAh`0nJ{e3^Sm(edo! zTIaPV+V$6C;TIwTA&_1I1n$Z*k;9L)8RtU_#6m_S7Uc8U453NffAOM}0Uj5>WqO{bKZ+bDdyj__uFhwGW4+I_uo04OLc+i93;Y`XXk_E-*eB&9) zaP-nl>SSdyWnK-5xZi};gl9x0WtzN0{@bIfJ*{CS)3#8nV!pb|kHP&dw@J zUA;r2%Wy{45fcS?q^iZPM~!{=hob|d?>1lv5`_LFw&vPM>5pg!>=ykiD%aBHRx@LbjK>Ks zB7L>M%ED5?9bCxt)ya;2i2v4)%ksSCMDf>S-lU0~{pXoKo(qaL$w|A)TNA)gFY>)3 z39cY+7<@LgsV28Cqd#3dp3E;&gA!>41wk>7vdzueFU(VRT9Qd;vu^2MJTSF_aMM1s z#jR9IiByNl&}S!+MPX{6X7leKg_+_9x%fyJXC{rBoeyQw%}J@}F0P(l7{%$49ki6nKcbRP`~O^2NVS0c<+X2+=t3q!s4(75V)EYg~`ES^1A zrkF-U*F7-)6! zo0*b|QmDsAA_q5uw`@Gfdh9V$bu4+bl6cr`xlfb{a%DbGQ7J;G_q-JnW6a5nY9>ZJ z*}`8zFQd^K)HrD{>Bg{Nz_ylheSq!kH$(nCv*8@O1+A^Nvni1a9BUeCvG<3=f2*=nMt5o z0WAi&N|m?_tD=Hdy{O@Mo(BbMv*z4aB)0Jcgu?zRxckWy*)UYB8G}b0W4`W0Db>rP z@7r0eLMNh%XnWC<)l2bMt)QR;1%-+CHtJe?-JuNmrKJR~NRy`duks+tB6guz3Ij^| ziHzD$O;R(76l7QosmMl0M&}+myrwCw`gFDYqSd!*)@IepKkz5Y6*7N!aF8ScoeUYz z?DTXGfhm|SiJ4)0A-H7Y36$5jsC?0?N@UF+ z3{E_^bgK{uCFo@SA@{g zks{Y+rjJ`^0c)?DPDR@iV7<}D5t!CO3tZo$424qOF^o~o*7FaHFjl9mGYZSN5hlw# z$qy>jm7fd5{JF3;<+$LP8Lx-jUY*8!(^gYhsQZf-5~w%2?y3SJA`&9aen&zShxSu` zENWkPQ*&$G814)ll*UmIIg;Z73s2 zelO3{GkXRJZCFAo&s}d^nQNZDmh=%8GSwnpgz5CKAv@A|4Pzvk#B1jGJ)(^5Gdyqv z9fcuz{$UpDY?>v@@`5P|m56qw*XwM1GI8%CTk;$|RbNuIZL>Nbq70WdC&kaEjTKDC z4tDnb^<|{W7j;oTZb*;H*=)I*RFl56DszdJ3rKwXEk!Pv)JJN*E*h32tXDIr81AJ& z=>4r#KLuwwup%Mr8*HqPlR+%KZ6Ro}n>0b8i}j|MkZ6_x+gr$onbt;&PcOr9JjYx- zI_**zvHToYt07*8JDjJcry2zA>uWCh-IV8=Xo!0=KAZ7HvFkw`3xxWb0mAsFjs zRXijK`ZWQ(7BDPc@6u8VBtxp)a+*W~q9{()@;> zz6`Q+`Bf<|X=H;cwf*1?*jSv4bseHqio)lhUw1Sfzg}`}`IITe#cybe)~GxSV^0iu zuRdDOKIBaNEfSMn_KA%oUIk0*C}XsyRtk@)Z5qKS`@E%*W_p7F>l1`rHmg~X3q!|d zaBr~5?blDe!(RK346>*_;9R zH!ML#F&wHa^+0d`yeG>#NSr8YPV3^+mX9YLn8GPJ9d|jr=`<|4Snc1?$)GYx$gMF+ z3xD>Nr}3}NRo^U>z;Vk~E;T+(&c?~-k-&o?EFiXuzJd-VOx7N38!iH$J?i1%rPBGiZStdO3rT#8vyg-j*KfQ!r#t^a%=#XGd<_GYJEyc{ zPjSO{G#Au*xs&d~7cq)fN2QNRp>t` zQM;MGnzj{ zyAJMHHBTlz*a{-jN@}`vt6xP%MABSGh*;T%;Ui-(AL^v#`6 zqdKBNo5Dp!TSMF8Ly4FeQd8X=*Gl*a>K5)PIM1N-PXv)f+Og_@?pSulxM*j(j7TbsfaHe=Y6SWtC#E;B4oo;$*$~k-)uW#4CB# z-X=lW*od!>rB^hwOg3<7f=g9zbDqq=%g|k~Vm01Q^vITA4M(<;(Y1SM#ebuNe*p^; z_48se=H*8Mhtt66vI^@U+E4Y*S6ci(Ph8J@^A-8>yJB`!Bu$tMZG2b$_zTTYNr9AR zpe>0(`9LT*&w82&M*_@Ab*^{=h&gMWRQ(_`58I{{>6_lD|zLzKhHeQ`$=-2vp?WX}o zXnKiiT6>k!PM*Mi9aRkz zH1jsF)Q|jed>Q16-$IlpgtoC?D}y2<&{PmbF{$LZIRBD?Fg)L=;Lu^)0}{C4B< z$yF<<^MTcl`i9nt5NJhdrD-H;EtpiIv~btG$jA-(9zc0lMcQL;w7l`4WTI;Sg*TEs zmhB^VJs$S=RwXiqS;<3(o20IfaR*@on5d|~e-Djip~;J=ZbDt(5Is49#vRlpK8hb& znqLqWbWXciCKtzBIgs9wTKEw3BLQK_=FRv3f`9k*$lZ{E_sFUDnX=t4F$y00Hplvc zdhy>=VbqoBzd88!srDYA3!$;H@p;5q%zaoocZc>btSP;qax5Xt1FLeG~)Sc-CjD`q5ou7(*(kO1bcz=JvQ&5bwev^L*{Ie*R{n#wW-2p zalCIFx96{T#BkZ<@OOdAZYE`&Uh$Sq%|gke^f|n&rQW(OzUH;M=;5)6U)Pm-1OdO3 zG=pz<`J5cNgPyG&+I6tUZh#tfy1^O&tmN(wz;1HR%E8O31p!4y{154vUaym4Kk9*- z{|tT{@KN_h>rJs5sQ8R^3EvWd?BT~giSf_Em|U>PhY0S@<16NX!MN$| z4Uz||c%XX2?q14NL z&+V^BZ})_n`nveixS(^|pA3QFiSb@}!$Cx-4BdKS zx}bR93ORwgF~pt3mPlh*GMGZ#brt)odRBq^D{sz#r^f|0279^WQD-77Q_H>)PN#Lo z8L3EOucn8LkvzUYj3PJB2I^Cu*b2PnwGH}3RzK$m-81X50mJn$Hx!g!hK(&(CeZQh#pMH@jo#iEJz`4yK%BxMe(i7Zdk%h&s)l<= z8Hx?Yj5h`?T!l*(X+o(dRHd(RGUzj)iS*6z@ShpE1ax$Cj4wlc8M{XvGi?zZDc^OK zdmqjRA;#Qo+#Fva-k&~-7 zc86Yehj4#ls0!wM&{Ir2H(bQN87?eIS>Uy}A>9_&_@=Qdf3~3n9G}%wn~KfVhc~GfvJ=I~m!A$64Z8WHxDl`-0#^70>fBS8!%_T~`%|I*H z$*<>CM*L_OcVpPo8ajewRDWBp%hVq=7KJIV77erm#;u4#IAb5K;}^AsE%(LVpeJla zwd%VF(Q56nlH~?iis2zNUqAl&y!w6q4=v(y3;9^>I9`uOoX2rfzTy#yU$NafA_`M@ zH3jIPv@57j(3EgootX&;G5HA6q9KOXZyQDrUtG8J^qC##Y4Nl2sTQrhu$iGbMS4m3 zGr{V8pn2UvwZavhG)TPf<7I9)o^G3gBwpv0lyKYL(AHUQl?ew}O4HIWRae;vq16us zU&X9ZU~;|Z)4#=ORm=)HSkP;=Me>mNwUEYhZLNZ3n$G0z#SvooZB%#%!OeAEzi@Ou zsBtEkzMPg5CAo;T^pl@dU?f;gQ|cM4|Eos7Ha;>p3cQ(*725TN& z$^N5ZHYB>80-PRXLaZAM8cZ8!9}YeAir!D#p;2$CU7$w4$Fi|}{NO=5DQ}(h2ED$! z{=jQAgbHWQ)hESmd_A^Q!Db4<~MKS7@OuE zKMx6c_%UaR_9N;pBrJh4wXA~5T)t`~{;givW*e^XCyNuCyw?@RR!70XqyAM6_W5SH1RVtR_UJ6$yLmUP$;c5T z>@@A|ms)AjUJyM*8q!xI=+h4%TFX~7it)#oaPxBB(K{85 z6;~&W%fKfUZ{pS(`}hQAQcc=f*|J7#^A`JiBN9Gk-kh6B9q3XjrDaR?zeR~sZH`FT zbyJwOXw=UQm)9!$D!%%>>5E@g=gFn~;FQX_IvWW-Y1Hj#)@=}OmP_Ay!~lLm`O#YS zDw4Z2*_DsgZu(UcyLb7Q=1$(P{+?_{KX1eL5tF`5jFF3+46`ySMpUM8>=F`&LBn`e z!Z!*@oU@tOIPe)4O<}d{%<43{elRp39n55pE6335S563>hv{ONt&1yIbv|n^l%BL|eA1`kc19pHl#ZeMjs7#9 zIU?eL;pvNatF{C?_@6yOeoGxD53r?NjUt}8d}XiU-jUCZYiT_pIyY~A%=-FUO3c=w z305?1Ft7HC^nhlFs+OTN-LWNc{X_-K%wh*cZ~|pTLG03ro2D|BkVF54=eQCXDsZw?`Vj7 z7PJ2i#Zi<(z3o7wpiRc(xVTazXkGr?K$Uqhx!F^6u-xdr52pT=pdiiM2|U2@go_}2 zTRCfHTW#s;$*H-P|I1vQs>d5mm4|}~d|BDdIUAcF5|1O*?qorEQY+&^3pSplB;>yM z?HHpU4f422@^LM&$Bf@qald3-2y$ti;$!g4k7671Ky%D1?z$NSb-YpYwByXZJNYXN)sGBCE>n;3RSkz~K})8G*0y-lAb7EWzAmBH82LdqB= zA4imcn9*=*R|5YqWh+Q`MEm|JogHc3(zxLm%XdP;yGUDmc~%_Pr{(!)fkVGO`76zm z1|`#cP?X~6;gq-71iIJC8mQy-tl+c>choD$lbNAeR=b;p^n!^8?>$70R zJ3GgTC>WGtR(O0%+q*?2NMqRevqwGdogbscK#^t?%|ZhUodN!y0?u2;RGT&ZKdp4CMkDEMh#+Le?iorKc zjY^7TCr!6xR*G(TslQxBZ)-ek`yvoQN-&wI^GpXH_)`r^tO28ZrPqF>bih@Jh5F^6O z*{>;s^QzVswf!#VsfB%fp>-YaWF+IfdAeepg*Bz0MHfqG=1W+R4b)HsDoHjkm#Oe% za((rOS4&)Y)I{fY)!F>6(fRM==)z5KCK09R?+0JK*QQ5|txOhKqPk=l*fR1H&Ef1D zKQugWrDpM=(8x$<`jT{dI)PY|^P zO;mRf?VWmz4b0^wm))JYVV8n0-Y?Wh=Fu*&*8*QGEJf-gV?Dub5#I1oozYcvCZglI zd=O7f0I4oQ66breAR`Y}K3HE8G#lGDCt^dG##d=nbw^4nA+evZGz)^GCsn__j}Me0 zSo^8tD~{tZOh0wbYdQOBCD%`kRAPmO!ECg{=4!I)G=UI+RbE7&;cm(ubS+qJQ9&)=?m+Q&2)@Y*P&7-tw($8%178P*meqE$gXx9iKZ` zn!Vfbrlung@iENjL_{XukYlrY;9N)-pAlWq!ZG;U;>WbbGX-zEdTg6Ijns$uXkT8? zJVb-N)$O;Wet%5;I9mMLQy|mnSJ$9M?k6czCga=PDymD|FE5+szSJ>{@OWT!E7Y14 zOkDaf$N2{Yl1lA|6~IdMnOXu3ipO zMaCZwCQk7SMOo@4Hs^~{=by3XvEJ;aPZTmo_|#!bCCr7kC46HqdJ}k@5$Rj_4bf~M zieC7sqpL?6XL`AN>_WVeMdw`~l)n`u)?YQ3Xl;EQ{AnMI9j z^DCS<_TUVb0tSCjr z@|Jgmd7VdsNR)B@YflAH&)N3kO{+ZYF|oBWlF?6>p;b+L()I*0w#t^zeFg?1E0g2A zzZcnA<%-|&r_paY``WAr#D8|Z%v8~=6K_634m&Wcm7b&LL?~1nVv1S_luSKtkV8`% zPvB_fh@ian%y_N$YfQh8->j1CT~L+7t9PVm=ra4k`hkh;;&HDK&91_-nYW*j-*8*h z$=CKP1fC}F`B^U`@jna#Jq&$h5=7|Sl%$Y0by2>L2;@=s$M&QnZe(_$=PvuQAdpfI z74zY=t{H;q1y2%Uy3F5tob}14nnPP-)t4y9C|_K!q>-iHMzu9>ep?x%veq=b`0&Z9 z-t9oa0_8Q?nYmooHbU@Fc8Og!{Rp4y z+qaV(QXJ%FcXoP{1az7kf95ZM_l@-CyXcZ-OQdf(a!ygq{9-RU0@nK8AS8nCjk-Si z;N8OU3)|}5HyJg!@;Tq%4KlY4ApfeIF=6%0rx$)@Zk9(o-iz14KB>vFBpqB!SbG)m za?4wf?xM?rLNo?$KW5fKANQVDMBnqH zoZhva?bUg>AQJ{ZRS2r3i&Yx!45PT-q1HE@VYT4gMK)u8$lPTY!GYFsquSjPvOy*j ztf5`K5>rvYTIu2Si~`0xEA3r--1&7Kf#ewz|8Czuj-ROUa`_AS1}cdsuMBbOjPdm` zrC<>YeMkgO+z@+=x&pD)`~_QXZVC2cR0lD!4BhHr9n;axRX}{u<}Y$8&Dh^nZ9x;} zm(@$YyCLD9G!kxNrbe>JI=^-2YmsTH^%OjmM*s4*Gf7xAec#nv+>*p0?1r-rj*=m` z79`uYTM-@c{Gg6NJE4S*j;5w0m|Y*P)J9iTAsVK;U!c_B?B%;lME9sK+irVVKYbQ{ zoMmUc?JKJsPUV0YQZl1UJ|QQkYb|`83(CfMF4JH9-p6aE>izSIpP!u9d1j8@TrwRn zVPa5ue^qSm;*^TMP#I;d zo8g zbbCDXZQEu(qxm<(h&3a}PJ@ws&y`m-xU(WYQhin~)?6PYntUB8-Ub{MGu{ zSl_p3`PA`n=Gy4@JEu2txh#0QqpJ8*oUyzb6_^5g{OOWQQpY1Rycb7%B3n~>-mg(M z1UStxug%{#hKqNUaqc?W$m6}|k=`I!VvfIVf+_k3^sK(&bhjf1#Wj%o%i*P~A$#bL zFR@Cx$t?EORnkT=?3MNvQghXc7W5C=>H6qK?mrBoTY$$>%;3fAX5_UsG{#e!u{B!L zQN);YbhFMvmi@4=1eu*k=d>)+wPa2fUQ5o2?S$i54g`2oxKR&H{?DVl(2E{;c zX}POm3|)aDJ>+V0W=G@4+m^HA&@ImDqM6&=CXeIW(PJvyJ&GMnlg0+-rOHbBIq{vs zwsKjWuSk(R;qNfTaNlF8=tbHUzFj2P+s{6tUx_CFzQ$wlinX9kQ)TV9l?d{A^#L*8 zZkL30X=uOT9iCRpc-3cx&pWd-7xjJ)oyS4!2l_|iR(?v~QOJIAM*q;td{uJ>4?3mg z%X1_e!v{G*AM+j2H$x@J4Wqpxs`|e^&arH5b9w7BO0-5hrvJ!e?3?G88WdR!>l2e= z{8M@IPu~{FEZR>MlqHKlOljy;&?bTA8Z|X`c#*?vrBc_9@at_`x>7#&pGDP$4O_^P z*OS;rJ@cSK#LhK|WDGv?JsLa7GGRT6VwyN-j72FeG8!`hUn-#NBUXh$;v7+%d_OW{ z4wB3kNsoCob_}gFaNSai?mRo<^tjB{3M9X2oL5+n?fMRcdA{TdH6uANHHFfaX+F7J z5n#glFqVjpkH`AS`iGQmVe}$rvH?0n%k(goeyDqLo6RzzsA#~Xt(eY}4spg@;V9y3 ziiZdSOmc=h^9#hAi+4~rAtQO~QkBdTS7ae^P0n3ky7uCAMuF^0()U&N3^K^hUqjx$ zGhmM_Nz{fbdKI z&LQuh>1!Ed!J>#qF{vJOs!S1VM=E>cv6|diqoQnvlaGI#8$Po%YMPtOUs^lZ)$MMp z94F->xqS|9l?|{Vm3)25VWU^QIe~+PO2lfxK{AG=im|ELTU?jInEJu;+J_*eF7sM% z?%3NS{16t5%Jz!IT+qJson22+kb53mYfhPG^Uo=v4=XYBIG8eni2ozaGMn~8NJYh?C{3qH!Lre9z4L7o)g9ZAJ1WR z8`AV4nK>9Yk%uQ~@p6PL}8LhnDU6JaZ8!flb~!xh2Uds9=`*@X(J6AGRthC z^2(31EVnKxBUW)d_pUl_KYN!W$8UFEa20$(L80nMhfwq%)tKY5s2p6?9v196n49lG zCQ%Tt(>hcR&BZJ(^zNwR;<)9`CK4}P7xclM_Oy4TUaiE4EzBv64{VJpN{CQ zwY?sO%%s50_&ZUjhOge87xy1u+rQoTh}w);+|xNPY(JIt;>fN(_Cl z9xvBtCr$4sr2LB2E)~k=HVK8#8wXF7Lsd!2`CJlV!Ci z@hqa8Mw>3L9ojG_ho{5C!b-Es-(LNGH*cLgG>cz5#XK^U=$_KVS4`OYm;=N_JC4QL z2kN&k!LMn)e#UxKNXV&(aziE|>y;6y=hPi;(p0)rD9`R=obfdbhwIzzUJ&B^;p)~} zuijfG`Udw#NtyOQfz_W9fiQ`i&tFD&&||uSew=+2@GA+K=J~mO;aBG`xK^%jcY zQ)UJO9YN-eZ>rJuC`@C&pI#0hZN>gy05w3$zYP5lp+|2zId)*J`G--VvV8ScHV!Tz zjT#bu9p&v=7|9|U25BTBfa!?|l2zBx{{H{-$N$|=_ou=5em<=e+zpB9&Omhqb@b0v>wj$-%z{d{PmQQSq|2qY9C^y2m^J+UvK8e`@i%1U8h3TNh3{4N`q<8@O%hG z1}g>~DHDc<5F3UpJN#;X7a>$tBhlN)G?%9=bUZ6&Y*FKqv};rJIKF=jbTYMbVosd5 zIGNYNN|h>LMCSx^!TBtn&S$AJdKt66dX4t@f$d?ppQ_yTI(9Hga~QHCkc5Y3KV8}W zH9Zerq(V1@gz6P8SN;|fz@7$`2B(Azn<=r^emSUK*Ga`$2?$H)zl^%0^dPar)x-v} z4>fAVMewLo`b^-yLtzf>7@xWCZC2M4UcYzq{Wm2~D{WdsC|VtOC$2rC0+m*>0)rm- zfkU9!E#1$5VmS5@Khq;D zKf65@J5%KKduOtr$P-}0S=idHEy-9*{a_MGgNSS+BFHky)o#9P5Tj`=;!z%0QLG8RFIS;!a71ztq9ToFPwV4xd#&hD0Te$U0#D@;kwd?? z`sn{T+Uouzqvq*#;$>pgLA3YYn@6*F`BHBv55sVRCj2b_-Xj;8s37Q>47PR5He4bO z2m+293ILqjO#h(j$h4&WCfIp?c1-O;3Xj@y-%bfJ7&}wF5{>p=1EQ{rmklhcSb z>{i_VNI5X4K?;006uCkNqQEB&fKExX(+wk%Fdn$Taz!bVFfrx5BG~-QKRha>GJp(BuQiW zc40V1TdcYRea#fqR;3AUYuIM{AAPC)zsU+F#634D2-zg7+&ooSt}A%AbebS|W??fSnFcP8Edcn79$W&zm+!yI-Rvg}$rAEq zps1fE^@W9$u*(_A-O^TZy^gHU)}~wPM36V@-24h`Mg5#49UB43yhC%@!ulWmusEa# z41Mo$VEa=NvuL6*w9mKyU#|BTBwR!8$b<6`H7^^0F$>K#*P|Q4ltwQqrKHjP&B;*U zJrs!D;Si89=DZ`BOhqHgZBy~(Z^+bl%&fEOQ6LS`xf~4cuj~x3gsFp$i8yor9VljP zE*?vh>6|TBCqWaGv|R|L5=e`3NhsQ`s=W}&qFZi#23{_@Lz7AF0%V<04Q{axsg|CZkN`* zpN5~x>d1&lf}aG+xy+bzmygL|hKEb2e?elGu!@Nov#tdXUC)Ar+yGmzq~ikF0Qmrk zwm-l5#0txVDkD)LrIp~af`RxNjpbpW%9GuRt*{Szc_MuO;vo&0$wWj_HXjJqx-!6( z#RlZ2cZUEPv0t2aRSrYoyZ6vWhsLEJ05Ox6S5|KvOQ=ONf_tk4t z*H+J}eHxk})u{#%EOd0{nFvH5p3Bp8sI@qDGV?!w{jaz>VogHYp}Y#k3K|xS%LYM^ zQy|L`G|n`HWMd;E%HVgE&B?Xosq>|wIY4Qew4OL=Ks|On*>`>JuAuUD7;M-zOU^4IG;)j#?FHj{uSDW`j1e4W^h#Esepm(ej0P}?px5aO z8t&u5(b#QzJ(Kr+)Z3TyJG?W@djK~gf$vM@s;5~(om<6=c4Vvm`5Tcg0v3fsZCwLk zU(SmbSkTxBuCzZhd#PCDW4wn^exLT9EBT6c!3I+=8Jh8#KAB{vh{ zKXbY47p?4lIquyHwaX4#Z$-QfLCEz%>;+bR6So&SjY_q2mha`_z9WT7=0nTIByA$% zGa1U1ruTm1?zUt$o;xLUo}D*ocE;V%A|sv;OB7TCIb#M4+$q9=TM+!PmkpccewY zLy-P71C#JD1^@wE{Za#!&dl|5IpOnjxfBtbYS;B~T{9``hSm8tx>8Og zjGcANj&UYZQqQiI)-M=tRA=l*O46XEkMl3VTNEUzSWPt zY247fi!7_SABt)vM&R=&9Sx zvjd$k9teOrt1N`-dMJV+2!tfL8+_kC)aL8@+#WhMANF~A&s7I!_*P(6=4qfq05W4< zMKv;058ObCVRFJCrV>O)<6D6z7INGa7Wtwih@K;&MQ<510kFv&Si$A#zY9p5dr~C0 zSxY4{nxR^R`g=gokpBQp;e%3x*Y=sVU< zkl)nLYKEp_Mcu&?Fy(pP=iyPpCFNyM7;wCq#9jJqQpqmHHaU?gW)e+{2jqnqlpt3l ztc&w__hEK=&gUcXtM}_Q%v``~(}uJgK2Eqf8vpv&&-kzlQx!%T`MbBXzu35IHeK)d zJs5qKTD&r5ZzORt+=qlh`Nm-Kgxowt-k~xnFN7ffIpW;7B?}FUR!g&Dj{Z;w+F(){nJKAUw(R8# zF&cty^EVhV6c1CHLS%sEqJfqpi%K=|Vf#}lX(ME8c<6kglc)G8t~J(Ehx|Z~N)KV= zzLXT{V}|pBpA47V_?&8gmaL~=F~_7ZSF+BbmMe9%x1iNx1vkMB#T66emL&z|jol82 z@Q$PLG`L5jUxonP<>wBaFOF#|FlL{rITDzgKVJfK4`HDhz>o-79^7A_|K>E;z);xNCavUac$#+{;Ahev2w zu&_{;;`?&zu?e(*0!uUJyw#f>U=sINdd*mGK|N~fE(3p%JS$Wg4^;k)BX8bN8{>Qd7%qjL1(4E}bu3@g4R#h*yBy>WBIGI=C$IA&WTVsBajr4$X}@w+|tZt0Ri z{Nl0;4(tV^a2*Nn-csYH{&aqwNu(W-3=)o;8*WGsDF!-F<1KG#{QhI+e-_8Z?|m0G z2bMgb#Af&zQQe`ej@fA$^vn!1EW04PARUik1yUml-|ODsE>i;BhuQ0P86JuIHZr}I z^^iB@2p@p<#k)5hbQjqGi!F;CUP!Mm))DX)mVAaWFfaJAns&MVw*!P2)S-$B3UhC1 z?rYW{8Xk0C4C?Q^i6%4+V}B72l|)G)kspGoLNHn~|%l;f?2pC|mODFx}nAqRAX zNMRIS#<~3zyg-PBI4$fMecyRr!pf3|WQeB%5Y72!KWCNe>>V@=Vd=FS`reGzi!0r& z$P4Bn`e!G8dBa?lm?9=B;+&Q;5lPZ53?NwZ&`U*A_6YL2Y62(+JD-SCjsj#qPquk) z&2`{r=X3wt^LKM8c%fO_miwI)?sA`a zR5|{2)ve7*2WM<2*Vfg|%Mv-Q_*n!Z6#Q6<0C^X8X`cRLsgnC7bZb8hc+jFq#_m-r zB{v!qg?`qhC`%;tvah{M6>Un@WVkSnT9b>RyGTfcp?MZbB(*PY=sdc`psN4 z6hlx8>3DAlXhKmUe_vVTPVS@Pe{De{mF?7|PQl?4(o9KF7=DYY?vll#cfU*pW2Rbh zn?`3}0q6CV?a|KMfvOPg3rtd4DZ+oBHGSrni5nQk=-}sV9^7Oc60%;B+r*?N$yeJ~ zAk*^&#z?OvYTz-E*pZpWruzrUq4+h3Y_yu*)tq0RB}z3ZtcoS4pvod~I)(_jXCiVW zlrX4{mIP|~+Y~&Bgr_jGEa5cM<4Gq_l@i*O6GQasOr<3PH+sGu$|+Neg>t$|^-K2ehqVO}TLh$JhQ>_9a|L5}z}Ni9F9? z*vWp14pyt2gHyH&&czhSoQ~faqD7sJqgG#7=LYiyk&XPUHdvT!!uK6fz`!D2am)6uHs)6~)fk9|#{;OC);8$p@s66J%cyRH7F z3k<-qMIyj|r;zn59l|{(@H*gb{0wDn+yDl?MELV+Vu4nI(q+he%Ag` zYiYg4u}rCZjJ>V77@aF!hYb}p%uvXZ2^Rgx__qJCd}T0Fga3jP**b}&gG5lRq(?3k zXd)ivO&GCCG zXedfT6v-e`5-fnSP?8&Ng-$LRAJ`JYeewyab`CD+eAe z0-}0RuNY7KcdxH_< zVSm!#-)V2uXZ1{x>rIRO=#iG6_C3$4H`V`supgIc;G2E947kn>xe>1rWC0o5vD8_8 zEM2v>DndTX_Y+N^W1sQ&A!B@FAE-?VY*|ixoHiK~vQ3tif1ie-WxzcMl_q~u7=2`9 zx?;;>PxmH^^*4@{?;Eg}5fDyJ%N-Kmdk`(!|kdN=6fqm)L894>>S7m|W~T*#!1c*=>KKt_Ih8`SJ4@aQd?^il{%}0B+bXk!=rs?Xe74smj%wa>l%O?_DSY z1eRd*zDn5bwvxobFEuI*YhPA7QoAoyQJLV66LvQdh}5_kZ|<(Kz1!HV*s&0OZLDf) zAb4n8uI`Fh2MEZZuVRIx5t6m?5mqtL=j#6xK4zQjh1zGfVhb zQA=}h`55tZCD1#4Ait3!4V$Z$^=VeLtnE7tV#6T1Ugn@#}zw5+ufs(hsKl0z}NNtP0nU^gSRjo66KAHd8!+3*pTGq1!v1OU#hXtS*Wq}zV{VwfCtGYIsiIal^*jjeUCK%dM#8{am7C7 zYWPw_3P4vt?4Y7hd~K9g7-C3ERCxnH=KI*l{x{M*lJ+X^D>~=;h@a;UMKk9{?Kd~7 zH3amX#|DwB@xD0N#CSl*2{i#{*BJo&po_slddtU4TlJd~< z{t#mvO|J5^;UK@8|Ep#jD(^}5VVecikgdjogBwIHu_9mY?}}p901pQb#mm`pcWX7E zeC>C>&;-IiYUzlBhlk#Tu90qm-AfZj#stE!|B@L%=?~8o3cSF9rpi!!IcX=Fb`;U zC+62|&|iQEG$8Ex0fbZQK`1+S&LxFKmE-P&Ca=HP~{Jp`vfNVndEr1 zl{i71uIb$@*s-PFfb!HdGq#Ql8CrILLH`QbF1{Vy?4%m-B%Ixyr1PzWYW|$Ih zc0H2`;=8u;wr3?$j4LFKRwKCu$pYq4Msjx&LtWUDWNH!`wgkWaSz{qB10w{x~@Gt?$1gVb2ujuhsPyIKW)0ChqXGglfroDBvZ}{@*0Wm3@a> zjQ7CfGG+x(UZ;DRV{*?kZ(Fc;8qY=V=%8u_{Ro-6pJ~^UkcSe9xAgj-6GJzt{omQU zE!_CFHn@Yu&S9creEz@M^(t6ewp*se@#Zha09b-XxSk#q2tl3s_VK`a16T^=QHRIN z^G=QUn$4))M`g>}$3z6CQ>7Odsj}>-k|tux8vKP;Lce+Bn)D0+^j0IcEl06(#bn`y z`rbFsp``HO7qsLQ?QngwIsp&>sUL|b29C6|0{=#wtraV#X7MLHdi$`b(AObnBZqm?RV`M8ECz{a8J(XpI=8*HSRkSAPzO z&C@piHyXa1xJD|^26`of!SAC9BP@=?9%iENDJ7&m?V+VL184OV@fsUj?ZHJNZWDA} zmdGn)S%*1%v315pBs*H}g@~uXTTj@?%0&qV_#8czXC{{!{AYIfJfo%NgAyZ304k{2 zJ#G>HQTG%U>E6$3=)wXuIf?*?NiSOG-Q@5r$aG6=S*Px-J~nrO=AUP3R_SxM+aS!V$#5YhPGC%>rceNX-fU`?i?sVhE8>Si7+avg8cW+^ff=uZ|jdD5;n z66s#sd_(gB5CL;IxMK)!qFAn|mNdZI@&g!cAZj8u<~KI66a|Oa3$z6Nr~5;wkZh)-cM3 z>{$&8!_`R#w#88SP$}tI98f%5hdFVXO5>AUc-ofQg=Rm@qY0;v*42TsA|jDUj>(-y zjg=fxS36N{&W2w%PjdaqSz)+`6@E>vYi13uoq>g0M&EEDw(-57hBCta1~g_%F5q8? zb$H9Xh+H$3k@y!*c6VY=zuup;?f9C34kc#9yAY=m}rw&YKnIIX1 zrnQrJ3PZNiv!1d>gnSrQ%3nsWZxPJ^vI2cvu11UN(My)?j0G+*RRMx1kie6NGMAjB zD1;aw0}4^Yge4yf3aq=}wMl4`Z-e zwkdPAq3_gg$LRHSLg2Eeo1?w~g1kkQS^n!uJWJY(ofCq`R(eH6B1ziP)c4_kD%#K#EisAb{#1?e9 zVS$Lgw~1bKW6x-77}id(DJpcV zGou{3Bdq;gVK3@A&)7E7)$Q8{CwsjK@eo?`4*SiWL_|bHUT)olb*uH( zqc9!bKe6D_CBW&YNNox*NPItm#NK%`;2iA2UST;_*Q@SI#U)`dGYOe86*?^^@KIY* z;B)crk>mBYv}tcx(N zW9G%#$6-kJjbkPDflm^mbAobn~*s7cJ?>yhH35px(azkDB{jcg&WYo(u6XCkLP~YmJ{1 zl_5I~X6mW(HaMZJQ;i%Ph>K_Ii)8?WMy?Dg@cZpDt2 z{cSdhS^yc8M8csV5dso3@!1Q9(Qdu|9jv^{hbz-@5gy0<*5s`2u-2B@_PW>a&Kux> z!Ur@6Acz7IJ||E`6bxFvB+kV%!UrtauqJ$13R7Tc!i&Xaw=KsS1**&rO{J!AGg$j{ zN***_x*|4K=yEHOOEG4pIPT#f1=S#|(~`}K1Tnff6FwGjE}&O#eMrD^tUxcLPYu^OyOiZ#`6p*pNEMo7NH6O z=u^^SOfXRTSQ}h0uxUXIZr&C+w9*pma*eg60+uUJ3zNi<{lE)MC-Z-m*i|}gC*M6z zFr)Y*=4ilGqbM_fcLS+NG;EoXi0B{WZ}S+)eQf}W zb@S~_UpR5hQlah!^kj(-$8+_QC(KKkmb(J~0MI~x4ER$oHYb!fZ^%0-a6y!!K<>p) zHIO&Gj$FZ@GBR{3i-ft?+UP9cm;}QQL=ZW%tb`~cDpD#{5~aTw^*rjI#0(;rh-fdl zPdsU}e|#S-oZ8f(qNbd5pcARw`Azq*-S(J3GiWBp#YkC-u?iCB*r4rNfQtZ4B+|e? ziJ&>tUXCp1ug_u{=iK(ZP~UGn=o^{$tw&{~CZ5fYXV>bu{`}7k-z=|sn=^t8F`4^) znRIb_BvfivH4`vV?J6Gr&_?$E4Ik}wghb3Ruo{d{5~kRSFO%<-PalO;RkxKpjlK> z>2>1|qOAo1KvkzaD5_CdtLPBKe6-+jRwHKQ2rYGcoY(Tuu`&9_ZBGCyAXKEQGHRI5 zF>Z-Lk7|@MzMAF3vyZpiq6M@_+5%w#dJ0qQ31v}~aPh(uUGG6yydU$}T|5_ceC9|M zG*rZ12jAev4RZxBDGAfVAPS_Nzm+E|W=rgTbB>w&PX0zOLm8Dig zF;gpjw^E+PdN&Q<2oB$tE!izrv{y|k?!GPEJ=?R*r zqL(R()^BVMT_PY%k|xIs{jG7W)&e62q<+sn8-)mN*a&it5I!Wp8tWVJ6V0Dt_IVM3 z!eU0cRp@xd^2{=cW|GFhYOYQ`KezgHpyUY%DA-1u4E1WNyRil|C@|Tv;SJC$dF;b@^*pKEcfQ@N50Dab zQ?^eHt5HSfpL0amcjlalI<3L@5%wEBahkV1CAus)mUtNimm&-nx6@0*%xmS~ToOtw zRB$afn)zY;G-*Jo*dAq5GV0=M0M_0(j!~b=%90b|iL(b#p4=^#gRPk0GA1PwH$ayR zLC$&f17K8v3TWU2zzW5{$sb$H(yPmfUR;<&&I2baDwXg{ohq>iY1v~cv*siGt3mzz zZr?v=tuz5v(WKI@XslxzjZ*mq5|$bFWZEF7wdeLI83wZTjh0$m9k?H0ND={%Kh_M4 zYyUux7i}T(m@F2imoO*w$YuBiY)I50kpfvFvjt=~<|jDMg0FBa(x*J880BYh*Ay5v zqZ?c51mE3fu;1#W$sXXTXC}v2ARTsdw@2Qo!mh72ZIzZ;bAg19ixnWp<2bs_VAG$5 zeoS(}{Yx{VUa#Ld=SKZf>FE%)YSKc5vHElHM+IJeKJumgg5SN=U9p_MqhWfA0D$!s zDLWRuai#fi<$b_4s%kZ#Bal%PC`M5T2AWc-$5Jf~pRVVHw=aBMfefv5L zK&U8i5LSYrOBhBlIY^vH6`T%w1#8zh94@mnpr`9x;#f8+kZC#DYXwd_2RfPX$Z8J` zgIv@%uzp~lqS_7e6uzakF;9alTEvO07oV=jvE=hk{hB9TL1RE(u|K7X82*XEnDnHm z6DOYDI=s$;4vRF;M`8!k4xl@>q{=_t@~(iA)v(AT&6Btd@92^lYXH79@!AFypS6k$ zyebXu+%e!pUp=ec@)FX``8&0W)60S;Kt9PWfaFcR<#pS@sxaw0Kut}kQtKm@q&f40 z&CEx}yi8euS1l%iGBo-O9X2-i7ohjF)Xj7D)&Y1`h|7z>{EqJPLHsQxc*L) zcpAdh9-%nn2uFb7#*Qn2&JD9!h3OB3jdH{bq?cKWCzyzT)Sn-!ZbLy#JFb=lCsK&M zHbI*;Kp9*`kI~m|T}T9=`p8Fw!!>N50C^~3mnzlQ-Lm6m2z2ATMk^LXIBW9$xJSw| zI^eSrh;|A6-7Kz3`H4=x-`GzVKA2_^HmgyIj-=`VV{1Ni?I}PzoR@gF9QR zbKPin*uY9+-aR%Q1$HZW)30-tS>0;%)UMEPPK1WQ6{v4=)0U5tg?h9dKm!6~OdT^Q zwTMHMUqb=NgW2Gf9&H1W9mp*`^^n9BP7SuO|}At#2NP&-z-lEYEUM5oT0}!bwV?vZw z6+=v-s;a1}0;NI2OL?J<}0f;ILVkM0ozwv4j^L7?0b(p~hp+P6JM`}T+?FidBckswO=K*+0 zEyvFsoq@=Z0rZA4fr8F8ELM3A4m9|Ldej3G=Xn>5YgG^`oiZE5L>Pf#W0YCqR97jA z_aNF#?e&E@%(qPDxeswH9s}ZzP=PV&9Rq&)`UZ$u-$sqmgHRo5rS~>sM_B(Q#^eaE zwV%4apBzV#&HkGH+sc+Bb4N!Y*XiEbzuDqSe&0MmhtYtF=to)(3i|01rY%P_w9O!n z+bK_1#=?d4Ktkj^jDK-qX7%cK03DY5({y{Uu^ER8N)TwVmq>P_n}4vl#qW~ z0~R>)2Zs2~yajG15*-)u{RjCfjX6~w$15)x*!U~nY%T%NRM~O9i9l8u7|1=gtL*0K zL4Ad&6+o#ICKL3qAN~FLSC^z!D%+^kawit~w7V#%L=b^D>6-W(Q(wiMleM2tbo?(L z>g$!(?5B+rBC4vU*ZpHQ*}g>Arj(U`!7bFPhpwg<7N4!z{QO7mdq!8SQ#A5MPPY)v z>oIj|27m)J1qULKQDjllsqSvKSCb-})q2mMXsLz@t`u{7) zX#RBm`})W~H7r1q1l8Vslp9Bcd3Q5cn6|x{UHY79?f;VZU;Vn{8HN9s|GPCvjTG;r z$^Kr4LT)f>K0SP((ga3qVdh%^$r>;FXh;{i9#nPp^g_zm0X!(%xBdNF+7K23HwKsf zEPG-YwH`Pk+mY!Wr%Iud5kja zYdQ}xymiHa0yB;eCr_=XF&&7A)88CkBF3rFpmHNw_^#L(aazoLt&Ow`M^ll zEPDll3kwrcv<#Dsm{1-0! zTboo6$KG1uH+LmrWS`EQjC;=>1@wl2^RSb4$*sEFh73nsPU&?W&lwXigLl*C2MgY( zQ8>mq-S2zX+*?nC_yNAt&AYKz%sJv$J;LqX;AL+TqBuK2|65@KbY1U~drIVmE!gLn7oiO8r?< zI?&y3<2UGpD;p-A)z6{5i0bcMrY&B93T4*T?NOVF1|y zgal#OU5Oy~DhE(vxol{-!>0`EH-u=tdZvB-gQ+EqgqB!cbCW#7y`J4yC7tkok4yRc zo{#!82T5vC{gbl}p$s904WPmfNMR!^%rJtdN7y_t!C+TtI^4o4N<$nfG995Ru8mLM zkv|jjjd8EZ-MMmlqi=faKSjQ`p}TcP#hyDBHHa(AxKOqUsIWr8fZ5_qWc{*Pzz{r% zLIVFY*JN=>(U63N*4UAejavzR+YBDQ!34kV**}ID5tD?iK-C`$x4M%1DlS~f^6Vj9 zbm8!S71-SUpR0P~tyyjH1cL^x%dr?dFDhrl0sTExU|}76ujQxShvtG1M;j^V zdiX0@&F`JgUu1*c-16HjmPRIdy3oV`OeanqgP6*~nctTiXfn9aMZ{+X>&EJfj?PDr1qRegv1&Ob^BVqHIM%@S)U7O;q2u5pcGhw&CXjmyWUE6 z(C=@x-e=@*n^#6_zPn!~y}D>qXB#Zh+h(r|+f&NrmB(LGc+xcnu#4ttAT&{vB^ z_?d73A&WgLd*aQ8KOO`;^HLb#T;i$|y2ak5jo)_FufX^mg4LrBkU>+qrR3=?i%e-5 zUKNYd5Sdu=C!HXZDfJ_zg|}es+<~_RrrV@XT9^|054Zjfv^TxxRPF@i%0v83Vcf2_ zy1c4nVYX{{Fo(Uh>}lw950_`TD{F8(J=z`bFr_{j`_g-TO> z-q(4!L$u!v3w$h@mWqmY0tXaAuigY7>U6t<*J3e7@!LZ_%yRx+5lD_jRhq14Eo-9b zb$GRaYKi59eAdG>!Z+ko=627M@6-4A!UeFQjA2%eZalq9XkOQ(Ejg*AIc8KTu+ z8@@{H_Rk#?9;0^9B~c1tMMLz3j5YAFyk;5v8Jh+c-$Lea01(qbfKX}D<4axe8Si`< znSEl|jC18iu-WM>F>@qVh>k#uG6pkQ)E2X5Mma_lQz1k+m(c_0aUN0%gm7{lBuzrH z&6y#Y4|Z|)$VfAnNeda+XJJVWqo>z8Z873pP;D@POD<*Y25->9tj$vEi<2yU=F5xZ z1p}2F(dVoYQvMr!&z?v~WU(~ZES-Am)7pP36w2fu+hlMe2{W~=(|06boo+J;_A zRlnIsgMTBI;@aq_PQVQ!JwXdRLEu?_U2e;k#{XM94$hz>MPVCpu+hxET!7t>yi~7{ zkuR>YQ0ct#NH0rCl6Tg|ZRth~QDFPiQLM5MK#TGbgHy$f`-C0uy9PLhmPcc+Tf3c~ z&)pm2Cu{#7k=S|Y@;$ycRTX9)7&&g8tjrm+X3a^nX3a^nX5>QoTE4Hprq)NnNZH9c zt2w&8wD-z*TK{<40_KgozDAmp_(5l(SL*N=js2g!!u|aqssAVwIROGH0%T?jik*4ZtknLl)L!#KP#5j*8N1E3Wo=Gbb|8n3>zg~kar{>j1GGOY@3W@et-eK zMbPPxgV$&ACFK@ez&@|BZ4ZZ!JPF0cK}Yd8=?^{ETP4VJ!XSOZI$jc$3wQ;K~`KHOupKEJfubCW1}{>TaX^Pb+mfAHI_!AzZ;;N_|E&>v>f`utj3 zfT6u3xFfzc zZF4HrgGwSUKetx_9kpE4!4K@ZJSc`kW;z5-F6}>cYVFZY_qlzW6N8F)J&so5{onLE zFujiZG2h4A6+cW0n=kkeS=R~1qmLC2NI}`S1c_DvNry(~5kfB4yk(bKnKh=&mSWg9 zXXwWCnc($&D=>*8X?mNBl_0TK_N$K=E9g!o`B03@jYit&7I=|&{N?g}LAL~vjvQ6J zUw9Hlqou-!!~}Xzq`PGPkt5(h5fT!pQQ1B47hT|h;!Y{uRT?_h5iKhCDo0KrG*)G* zOWwbS&GzV|)!%8r`2)jAOTDkiLPDSFPL)etu0KI$Oe7K+gp20`hD6;*rii~31SSpW#*c& zsq;`&JJWbP;GbMK!G&E68Ay=obcdzup<_8pje;IDygFN>;$kS|xne=&G7f?dl@xaT zase|OCu;l<1hECghi!>&fRsasL}#8$5nrQL8e1+S)RC^%LqIUrx6&@j2^tO#aQL>(0zbWn(F*dxE0hEof0M|Sg_ z-1BVhULb05@DL))X6Xwr6cR_Yf$JO)pVE`r{4P{MK!&v_i;!LNB`-~Nd-(o#8%~-7 zF4rg4X2pIn6fp2*CUh-e{1AzVNek`55oJ(GwCK2 zuyWlX!qA|!)3M;4#_Kih#aHfY1zz=gRa%Z+wY%7V$WG5*Ajksc5fqD(7$UPTz3@kX zjlm{@t>vM%K3#b;ONH13@KVx6|72d;=q$yjr^!DGe4d%t%`QE7D ziNX=;A=IDZ4*d8WLJjnh0n9)7y9P=zMf>gE2njJB`Y0nQqlq6vAgsVT+=5OVIB?l! ztNxJ&MH_}#vSoMpo+{r^;XEJ4DBNtY1nl{5&!aN{zBM`^{XtH-x3O;yR8vZEaOAA; zDRF9jux18eZ8(m&ha$Q>Jt3?JBYxma|K9A|@Oh(P+H6tLa|V~6Gjn?ag9qgo7%&WZ z$AZAyS<`PbF;YJZLr`5>Y;TLsXVopD<(5!V4Q+P(`O9g_Ttp_u!v@B=Vux9#J(oZ-)=Ge7zsVcOlyWHHZV^D2gJ2qobiA zKb!5kakyTe&3jnFaj6b)$_x<02 z)WFsEx+?8h9e5yV0!Wa-iA@kPDPQ^mif-#7@f9`zkMeYOgnn5U7c8k2EPXO+6HuJpM;kpCiIW}fZx?!8-5N7zt-Cn1>?SeMigJ)5ptmkYm&)K+} zWZ4~HnIeiPAXx!~kHKx;fqM!5zNo27EF|mw*NX{1*>>u>t{)Km`yFRxglYD2(x7oK zG1QQD(ieoP5gUgvjFI)+=m>u^e$a<;-ha$ni5z}bmQ!VaETkf@k`68T#`_Ta% z6uh)x6Jlaah*vPRpo=}f$q!wp5Wbp5(r?lnn(l03x%0V|IRl588}GQu&*5-qc-^k5 zry^PT-H0C|%d8ZEgAZ?dg;o%;frCdg*1)*242lY%DWxDp2vC$nK!`|Zr2#WP>BMYT zdSyv|Fwfwnv)k=^TbkH4kit}HDpdl>QXq>O1gfPv7*`ZPd4^;RFev#L^Z&(?#HjUq z%4+F0hFs==_F?fTwJl|EZ8{4sTV2KW`xhLJkGKSG!ki}3om~3R4bw5YY8=ru(E;a{ zzH%YGhAiq@p{9hwGXCvudd0bZbCvkKXez;CjesrKE(nd7n9c&ql`G#-yI9>`>kjrP}&-SPR|VQ(^K9t zK;NMVfz1N!B52>@wQQ55nHRW*;xOL0gh>!LraMTi zqfExrG?TRN&u)2Wpn*;lCxTIQ3nK($0g5n^AYctk$9(`~K%2j7=P%&B1ZvjgUOcW_ zMf8=&WhB8}X)ULFuS}Zm#8fvYk z1ikK*E$rroV2Y+@I=7kuy>)}>u=CD$9kAkAFL4}8b0Qmp(QU!27? zRL?jVCxw!TfdE2@rAn#yY(F>B5X(~(t>lW62v|~=Zz4{c>{;TzraVmLp6Hm&0wLBc z-U!5&gPo=h#$xyzX_RIN_}{dJ@Vf8e*kQ`fr(TNvzD5K}A>zAhNhRvG}%G5Aydy1}nnIeS=H2rFB0+q|0%Z>NC z9tZCJ7EhiyQBbjW1i{@l4|w^e;ybyub#YQN9L*s@9b|D1T~aK@hQSab1VoCroJk*V zuZ!JpZ?vC!{70vJFzx~ThFHKu#T6zF<^&H~1!v_{*GG%%iqSvO>C9YM=Hm0bdwS>%=RTW|o!_3V+FZ0Im(sDdfNHatuB(TgTu^*3O1zV&KC&c4ePARYg@9 zUSBroWzf#unP<*bQB_5ZlQW+j_L-TBW*OVFJ~_&&DyX(epEVd~tjsZH37sy_ z8^H8mv(!J8*YSK#4>oc?XUk3UEX+6uOu20`)GBDDmBFZ$fe8i^EUV9}-xY@h7C6+# zV-V`*P?1UY{hy7-XZ0WIA^@aPDWMnm2lp_V%w+3(PX2?>SkAn8ZlhDuT;M1=K3u-1r*wMO?=eD*Fy95_=nw`eI6>ewigqt)cbU?->&?g*oTM&;U~)=S>(JxJX`$}v+w~e|a{~XY`>0IlNyzM$d9~9#_-`5`*>9;a0{1hGS zQX*3ZPreV7SX#a$)BL}_?=j_M^z@Ar|4UEZa8UJ7o#%dkIWS$TDq==V%qC%(nEI_H z<9HB;9fCN$vCo)Xk)lYiEFbNoiCqF%4K>CYok!}ipOS*oSL>l>oWZg=IOg*6na=ZG zhnCx@z{PwYH`5kvsS#^h?S81-x~z5>m#$Pn4hY-0#L)bhOLot|$YemMBGTF=H+~B@ z(!)*9odf2e%<1HGuA?byj9*o%^&45dY3pWxs4h#4QVbdnymA+4FoA{;FwwtUGl#9- zItz|Z+RSDVX<)+tH2XA3dIW8@sP2GnR|_vq;X_Nm-tG3_Eah2908UK=L8^r!id2Ly zx`0F|g>Mg9Cwz>je}z_V^o1Qa?yIzyZ)CNlaJDk_Yc}G_OQ<5Cef`;DIdr=mzOOsj z(9dMt1kbd-TfUFCyf->{-zE%3zUP6i8^K5f4_H9d%6bq^_ygN?q9h1QffBdjzYHhH ziq`^!&k~ByvFv_u6!UI8vAB##xxJILyAh{X^%c9B2Ik+Hq3Slt?JqMRGI{;(1<3Ft zW-`RCA3p{D8{w6&)6y75$OQoW3?T;+Rb0zWc-byzUk2k4Wx^#c!j;oguH$aq>9+8mfWj)&2&c-v*kL(v-}U;hC}U zwbMYdTD>jJ?eBPMX$SiSc7syK*e|+`Y-JNBU}g+~`$Upoz}0}W({GIP9ofT4ebqn; z225Qrs-P&OP>B!ye+Dw=%zkA;pPJees+LJbDr1yPY{!0dRn*11Q^dpH5 z`Qnu+5gZgx3~{%dQhx*5r8;;;{l8Iqdo-Bjh?gsatKxWb z54RDel$v?i)aeg6%K=kse#d`^H<_YsHg9Rn8e2c~1U(O+KvKuCAIK5g5e=CU``1xf zQXMFgGg<)A9$0>0U~#ZZJZc^R2PAOKFNLTQ-%dpO0Nx4~KLcu>76v?V|LF`l3@}Jw z*7*HilZ#`ex(;Ch#v!?HF)PUF+5x&xMnj8ZewD_^1+EX>J8rmUDc=acf;H_lk?kn} z)^X#qbgF#To>LIl5O-Z4QS3?K2T!O; zH=Drx$S_!>>LweXW99=dxxKoBTu6vy4J9l0=5fVTPcsnF5^%+^4)Yg2q2SdqE zi2(eZRB%k!<5qd_=-U@@6vuBp?UI+m94;cfKbaap)F8U=39+5}lC0@Y9c& zkL8ij@+X}+e-a-=2@n|rVN7ecuMcG6Q7-pYG`t{TegT7Ipbr34uy{pP42nZQh4b>K zn$NjdccKv_74ZLfH5RNvmm#<)ez*dPAm>FuREB_pzs40ilDJo{1?Z{%%B4b5Br0vn zrO=6q2zrCnm5Rt|1R*yc2VmNehOW|;RaI40RaHe*RaI40Rae{{ID}e|BDJl?E|9`| zmvL#SaxS_gS16lY*mOGh%c~~%7qTEQST7kpVw@U{4rdrlI`~wz(z^Ae4cl`LDl!xW zz+165+H`ckcBet8W!wN!-jy&-ayfjpFx}GS>w60aARJDiGGwxxWcf+4=kN9%RLj+N7>f3_=-0XLbDZZq0S!T5 z+w$r<@a!}tAjypTTkOSGjJ+u#99K~~v8xFD*5n!{C55$qsfE&Xe0JT7# zhnm^Cr?UVYY1RKMifZP)p+#?q{T_>7pTz9!754mG@pG18gt|b3<0N8;Qp6(CdCJ0Q zHQE5BbU9tQpSv>~*>2nMr||BTXw>~k!{gS}{F^c~Yt*-xiZX8TgRQcs#)8}t66O8< zS{mCufULSQ1V@pc%YwrfX41@dVZThH%ib5?m6eCRgotSe zr8}$On69&ENL1y8OvAc6?JsCZvu_6jzcY}BT56pKSXJJF)h;@ST{_HamiE2NTCj0& zaB*B3wibP@t$eLmWMf7}!wheWh3#_HYYof{TVz%(G}W>#bZVRBYdJVLxUeP;7}16p zT4FVY1}#+=adBF#99&#n99%#qxMtK6Nv`aO?BuHiWs#xQ=Q;R={l8D!Y{kGM5Adqq zq;@%~&Z}z69-`o)KUn_18i#p85AeXDVUrCS5j?-Bs_=62vz(TWTyQu-C`tw#{0?ZD zW$w1L)-ZHjo34BVp_0$U;)asA2$g6tMJ6C-hGYry#%uu!FoZ5?q7py^=240=flNY< z3#P8eY8X>8^uOVa-TW~G@_A$Tl1OBeS&BuQVw7m;E*&es>laa8HhzGDq1 zLj+ZUU>Ss|ky6D4b|zW}+{Z&!;bU>% z=hp|PeqL_y<)}#@qdDNhXj_*Q0UjtKA|nHqaYq*Pb;72?Ykh95jncz-+=Rm2w3sjC znPT#OkyD2+>G~n3I{$4?x~(3JZJi*;sSS`p_zL(6MqcuOEqF2jt%ndOpb8SiVBno_ z#C5VFaeEzL$U7}wP-et%fCnr)yPLdQkb0F=-bh%AG6I}U!Ts)Rl6z6LOP*$cgQec; zVRpQ}I!TNkRchd#uWd|pL@u($8REF=V9V|yipfI3n#-{Tn`e%Do8Pzl8j>}cLTdgR zI%o6#@_4=--H)#h*WShSpqc17W|XW;f&Ye?|n~N`}|ZRQ*{no$m{Utw&c(h*JG# zbkE4}rYcCAD?%`1KBWj)Uvb&1yXc(+PMju2@dN!XSY!rkmwmp$2yH(P)4K0?T<=rm z6Y{#OhRPy*+VWypN@+V5k%u=kmd@U=v0>cRDlv+gug{$Sl&Pj;43TVMy{J&^q!MAC zj}kVmh~sX<-l-Br!W?{^hKv$ePzs@t9Zx~oR9)RW9n6l6ELETa+MS%SIO-h=In;E< z3yDt@!Oz3Gj<(Trq7N0)2(l=LrN^G)OX^455o)>8)awgtRJq+lrgWM($dSEHDmWR{!R*Lqs+Obw6A;#-n^Z^P*LLHIq^_qpmm za@yEX+V%x3q7+$KDR$z~axaU-F1^uAMkx>gn;dBsu!Dh_tAw!S?Lb?_v($`f7(ycH z=D7a8ZS9R_h!GR*!O(MRz+g5+KE&VN3#b6ic;UaBH-mw*>Ia~QMQ%14aN}TvJiYy% zxwqWi=mk{;5PV;2?tj;fr230?CE|DqB)cL$hTv5ExGCD`^FDV`+0;uZ-s|grAS7mw zn@#%by(wwE{J)*uWcyWsFf&8iQHWWWCjpN0;nuQxEE>V|RCS=cNt4l)wK=|h^l8yw z4LR5*M*PUw%?VWA1b4(;qNLDgbaW*mS`{-_4oLejB0?`Bd>lOgMUi*B5bMNB;?ouT*$a8L zLG9jxYm7Q>yV^8Bi71eULr4dac3YUEf)oRbk>T>xh)DlY)xd!(tDx0<&g+}7g_02$ z>2^XUtW>-aGv&%A79vRG6;O^iQjW}+mNPwY{d5w9JZ>?z7#GwPVg=epa0Z|PXuuXp z%ntyMOjv<{$EqyxLBPh%A{0YG2pFN$p;~Q+3|D^aZzJbOwmoVG1h|YuVe&$DZUoSX zQJFEltH`S93$os;99S151dKvvupaB>yR@hh9v(Q#AbT24ttA;5q z&>UhKR%T{ZRaI40RaI40RaI40RaI40RaIN4d0LR**q11lj4=#D5XU33&R|spMzCJ% zl<4s>1sgolShQLYq>)LwDkV+ILS%8krQLF|m@2(~(J~VldS3T+4cj88kmZ$vs_L51 z;F3g#FWL0nUlZeKoR8e&Iehkl9%|$8_fpQp(yMB|r_ZepxB{*pK2}@%WG|~Ty}zXf z{PxQza>BuUEoa0%oCSB*?&Wr~X7_Q*ySf1r9?k%^0!Y#Djcd%6LS(mkP1{#B?K4+3c!>QKq& zZmo^s&3peT8ltGGNXiPHSZzl0l*g6U{|~LJs}8OeqjyDgg*K)7NiHUMYV=Z}HxQMS zgxukEw=Vvfp*5b?=MO~>C*WV(Bis@CZO#vmNO#gYs*i$~RBNs|^2?x_0aq}=xFoUG zK=hs6W6y6s{@PB!(u}ma*Tio_9{o$;j+-}P2`{bGxDpz9W<*M3G11e!HI7$0M*Z)# zBuL>AEQC`K{na8(qq!EROtZ-prDGql;Tq&JICmBt=pF@!Ol0>~X_R1QJT3-G(>*js zaGkw~LrISb9mMM$wgkNfdu>oI$rCV+A?v$-4zLl9q60EMitAWFp(MM){NO}ChKf@I z_-4B;;&6-X%54s=$4#{HYEYWXIjRn|D7x)vvM1+L*!xigK@lxjZHq~f;^-_;B)HQJ zh=yiN`@F4}o9aZJZMwCR_Q?SUMFAK!6iG9KMFI}Cj)QbM#`#^^AHwoE_QX0~T#&7~ zpL$_Za7WTV{v)5xrmq;IDJ?LmOM9d{lV^4@Bro)QoSPYlmD=HK=EtmZ+EjGi39Fa z^rS6SH%Q+GBAS9OyHVfEvbRDd`NWvOet8I~3Q&s3RmzC&8LzTh$#}tG)}ry2jF#vb z$&Xqm9yIF^NKlbZd5`>=<6 zd7Vlj$e+_}asWuu5t87pK^~7+yFYOch%JxL$TH|LryP2tN8J^Xd&zlAUtZO{OIfKW zqiXN2PsW@8o5`^>Xt8wX@4#X95eJu0KQtrkPh3()7la^;7n0~X zk+$DEH#7$w#r`J;{`<|8LIDT;YkLHFgN7S2^;`==J@^a|04#jS&a^NQ{rZL8GlWp| z9_Grd<^b2B7K|k&W1L6C{qlM0{5N)q9Avoooza085JzSsCI(~Lf*ega_uA^d3nYGC zm!#(mjiHvKrk9|~0s#4`En53MJ#U??o95~43}^@dK!8fkP}Q?BjCWWWPLpkFWVXED zWrh9XXpZfdT72IlCfWWjG3WBZsmEp^_B~n#-7eOJj=zk|KyL#K&zWGXV}BOo>QDZv zx(vN9(&b%@q8F;D6kHo=98Kvy@UrMLXMoV$>R+yUO$IbLeL=cE6=zu)1$@bpf0hf%7v z7NV@SN=Crdan&w>isSq4nl&0Lh2u?T$PbQMJ*JZDN6tyc z>oFg%NK#($?E%tlkmW^)6R+wx$>_T$8#F{I>*G%LEW;l_B51(*2tc1ZHQRrNiQ}#- z;U<7QxR*!3$i@!XcuEVnz`dV1ps6!&{Y=)=w9e7tba<2zeN&M%d~yAMhcU7t9z_Z$_bG}Vtz6L6XyXLqsv-C;s%*bf z8i%3hdSei3fuXL`H}kU@yGpk3wiYioX`Y=W?O1cS{df!?``Z6Xo-^`ya!F3b4WeQa zO$fAA8Jy;L%4wr_15y1XCd{bZ4NrCCa(^${tb_Xj8hohwaVKgcz6?SBzI=Fat62K@ zj4Q}X$rc%w5#BiSwfk>-f%y8SsfuU|yzNTC#ERhZ3iPeY8S4OTf&gSnMDvuC@+>{> zhcj8Y&S#I>Z3+z*9pbS?MotGIJfBJ*&%}g_l;=YRtDUsW8YGLFy}-5&D30uf{l6$oB$NRh<`mKBjbE>OT{-FGWLnxDD?=R6%Kyrw%L3)eOxZ*A< zEZjcx3qCui3v+gtoJw1bCST*Ml=*h>6~&C&7+k<-mR1+KkjKS*^W!vD_A^Y9a(W$JF>FUJroMa`JVF7a2YS#x~kB74>kk@_NvijXO5lxU`^WHa7}Md#|18>2X}Sy;p; z>WU46>(R63Ke3EjTet|R7uDL4tm>`cg*HneS4UpVGKgTtAxeuK?1g5%{1151HW(!K|wABee4)M zPj!FwcBgl}jmG3?da)I_8-F%5*H=QWfEk7vFv7hNPi%YQ7*qMKj)Qy(F}m^`b|$Kt zY{d6bhoy7$$kI3`vMB3bsEK-e$l@d~#xNM)ij6;vkjW)C8)Ab^8Ivi1+wqtxW3w{! zY~SdDp}o7puWPzN$DoIWUbg1GqH4sQUxRbq7%e8pSeS#*&*n~Hq=CnB0=>rX!0XQ(+JrWwgdeceWg&v#;4Cnhus#%K!H zv0ORdS(BtqS|$BD%%{7NHr<#42h-sjjj7 z4Oc*nk}SRpLFdrGBIowB=)D}Vxquujh_m~ukF!nc)|IZpDJtETqRlj_QxV!(9)81vQ z`$7{DM?@)8?MK(LidN?2P_dywNCXmo^ zpO91|PaGww4y1^qScrPEoy#&dRyE=oRbx>BW)ibSM#C{&@bK{Q@FZu~+0PTU+QVFY zx`}%OY+2+fYa4Nw&R)V<^cd2i6s9x_wb~sgc|8H|% z<#U+liuXKY`JD1^^qpq`RAC-|yinDR4jnj{!rZ%L&Lo0 zJFU|QwHpq7)hezAnggpV9TkoYeYLB(_h4xBt(z-mL}q_xTgw~g?PDZ5HP5Jf)^EHV zLMK83!gPJ^MEN1(dw#RuA&}M_{8d+@%W`k!V0Zml~oCP&x6V5swQ|cBwdZR z))vGTVJ#nmR*9_>WWZ<-Sp!3t)x*^ghh&L>mq5UD;{*dCZ&?>;yt9h$ns-*yZiF~< ztDcPmkvEj7MXdL%)7a{v?xljPGrR`z7I<+cbmiLsm;^Gf!V5QdXZ&-xK%Uyn~q`seMIC zJERXlUbr2-vm)XT3R%7W{{=8p0Xjs(6A?O2swF~jQc1{f(|;@TJ(JAy|2L|+&h7eX z+e?8d+UdELDZneB)Gd0*T|<`y0i1*?GKv%u(1fU1y+~S#jFu*qap55-OKFaiOSG$L zE~bd+2OVvx5J(zF= zo5jzBKcB5;P0GXM2v-DjA(@yHAUzcy1x)@2M0{5oE`>=^hUZ4Pj3S2%6ByIIIyvCO ze-$k+APiP!sT0BRCt)Hd3a!aMv75og<)RAs$mU|=PV75a_*_)n?uUBCo ze<+dlWd2H*_ci`*@5YPHlPgcmy>Nq(D9TbaV;?p89_Ej(lJ-YwuKu27|In>hysKH^ z%Lthe;~TyqlqRl5GXhDsUm)*cufs)-B^hw&1XO6dqgdOZ4#g)YksXj{w$EkiFL1Ix z0OTE5&wxN3gSR}+`yWYgZ?<~1sP%fTq=)jzow9yHaVA8quJHi&hJy3n3K;}>lsnTv zFEI=zU~RT?IQXgUe2sqtqu^53>$JbPOP4}QYXOkEq<9LZ18Txf3H4nEf+Nizrm@Rb zZTk_1J~z3?<8xWV4ZUF)sKrKf;qn+hXg4nwFY7>cR2=H_Mnd5on_VzMwtURUmIT?| zwI^8&m1&b6g7P^Ykm~XxG(yv2f%`%L2i$*_L|O6o4$0(Db8|HhX- zZ>@&D8-{mQF4Y%EJj)2?{}*`o_A5|gG}y^u4j(Du-ttgsd+U1e2l97TvvhyJKUb>f zFfrQv{Hd^=qx_w#jZYC9q2|OvxUR~|)#On76EuDdBpVv5GU3wt9qO^n62V$VtZeIm z7KI=OXuL9s8){dnMdPUksAg+uYq?q2?p=aC{2^5fNXzQ(eFacUXI9dxt-7UFQnQ-( zj>Dz6MnwI$NL~$%$icRbABPxHEdJRMqpF~oyo%1FS;_5NKLNh;}a#lY{tVoekjZ#ET2Gdl`&b&IU4Ttvq1y}w!!M1rD?W15fVAPl#Y-}F#`?j>d zj~1Mbi>TYkBl?s?%MS@XQ3t6|A|lTZ5t82ac=L2-pfr+YZUZ#}mU}*yTsly9!4IE^6(~3I$IOKov7v;b zT5lG}s^Hm1e@$QL?r&-Ew0$PHt_(QD3I2WK8)Lh)90Z+A9`jm&}E0Vmcv`q(I zovX`eF!;%m>$te#heSt|njttSX$UQ%k)t-6%4yTeP%(NlqyH@n35{mQnnWmD;-35+ z#uQ0A0;bO-MZ{t_ZW@owh>-Z)h)qgJ{vqc!D^&&RJLzd;~`ihyUe zcyA{Tk({wpe8fX(wp`6BS|DB$V<&1M(fR?7?p zt`WAhRx@DR5Svclu zDHwgl#>WX(A&)>1=E>ge`4IKeNeA{oL^Ut+_VPofPw{PY`tZ@F3>xDDYiE@3`5!{i zI#w1R(sfwC--xXTt7$h`dMm#AMjdddpooD%PYHN+pD)~g?H)!M7`%@b3q(UseZDN= zPF$@0RFC$o&%I;2*L*f7{il(WQjIyJg#Tb*W>bwKUv?5*Qdr4aNSpIZkV7v;28GV(kqe-D!G?)3eMY z2JvRohl>jhtYE?K>2R~RK2C-wZcqAWDADALG6kwA(MBVCmbIw`$Y&HSl&g_$D~3QN&TnBd|Lno;W_Mrm zBlf~?HJ<0${zyFV6V1Y$eE0pmF&nor#@`XVuB94 zcwR^yh=wD&2*^f_(7TCT4z@75E%Lui?PkEjYuf08qv^hY_F`VSTb=Ap*Y5y(UB?sA zk8sb<&!WKV9>2$UL27VFb0D1<4euy#v zKge|k{wdM4##`>*Lu>#z(SplaYM4m=d(`b)o`CHA8QAriSSvyML(PcJ_Cn$8Ze&_W zL%s(qc!9cYY_H%jVS5+-R5NR2h8SVFyE!S5H!=XpRbK}$V<;lW@W*k!HS>MlQNY_1 zq*>Gcu&%@JxFYkO7Pt|Fi(cF3)RllEJ_884U6%8nt6P(l?P(R+y?1l6-|#!pUK;yz zsLD&#oSu^l2P3!Br*1!>%;C-%nS{*9W~8A}j8-EKbFc3Ex#S2P4}%kw4St59_mgq$ z&tP5c1PNZPtBsSsS%I6bMV16aA;4SYB%rL>x2y<@i(nCFUs^h@0A7(t-YMxJxbbyD zNhwNFg2aW)Mm`Pp$BL7wv&2Hn#N@X9*E|9BgCk6nfFzx`ke(cfTuX^@3un7@!T@pn zw_^kJpnP->^+3`?*B27v7c$W&G|Rt8^f;!@rF7w-+0@Bj&?K@2#qr_gO%`x1$T!Qe zIGnzFf2woO{gpVo-V*ORD?V7!pT(%+ZrtUGns&FH$r%tv=n#Y;A(rR~q-jCcCr~9+ z@Ka)!ms&vS<4vzVQ_SnPUzdxIzO~;@p457l7aqFdV*lUIerLzYP+FTTXyRzW)w+b2 z;4uR$bn&{cTPD6^18=rJ^Tyd>7$H;}xP8~o-rBwfStN{>jr^r&tp(lB-u=J0s2`!5 zkZLUaTu=A(&K$-LO199VA zfgAKpxHjm?qtQZtW(PZ+o;{y&euySElG{T`VKgVJcCS`a%WK(Hw5Yu_MR2 z{yrXFuZPa^SU3DAA@2WuCr0G^!dC$dG65I%h%6^4%UAYW=G$cgNf2uB;Jyj{z3K7yXOUMdiiajMQDYL*k5x5b_$!szt&X5}!xU z4>=Fai`pB{+L?04^(k!;4S)&QLTeK$ZGaM;9N^_D`}cFN(OOxga;KOIJc$vCV^IFHk0XVl(N+Jk*_lscgW6;TkOg21APeZI zMzZd0a2VUy`4YG&l!iql%tWwC(+@?5Z=*la-;QiEGWdHAqMA>o%3*4_0R{d?bkUkA zHnNEGVj#pA6BK@f={Y0X`%N9DMbLxf6#E;{Ls6$$#;{COi8_V)NC1j+uQHW4JcqvZ zShbW{uWqZ~)zWiqZjWeRC>uUn`e&VSn7hy++c`1;Up)xi_ADI1qtYO3_5l%RUHWZ2 zR{iwoaZsmP$)XBt8xiAky!Qd`YZXsvM}ZBR;t7-yDc@gQG!!JXIDp;_f+gi8q%0k#hQC@)!xeJ|;qN~C`up>&H4*%_=s`+d?SdGj2a8@s$y|rBJA4z<5XYG;p z_UDN~?Rf1c%DMF%?nUL#%KlXkTkx(rO1uZEts3{7M)edGkOZjWI<-Q;;4u~PUAL^! z#Y-rNkh7i6&=Euy!_Pv|19E`5>;Vi`T>-7Bp%Cis)aGYJzv03yclC2TaQs@|sY9Q- zl{cN1t7)@8bX*Hl*DT##&+(&s$K%Tg;dPRb_P;GN2MRu#@U^6};zO^ULRL1`s70+I zpSeJ*0>t=(<`_8Vsf(Nbz6VfRtBeO5Co8U z)^HW|@JQ@9non!vM~}w4yjt>JOA4~2b-Jfcc&^z^M0vp9Y^lW(!69Zm{tC+0-_%po zNT{6sC}8srq>a0=4-`R^z04O^dSg2h2ng6eC{nk10#m87Wp!h4n?YxP~v| zk%Q!AN{fuRLeW{N#{bh#4dni82IAB(P1E z;*@>VzeABev>-ty5AnkCyH5*&%9t`5?W{yqtTzM-o&y>+&%a$E+@M4NW3c8KhGW^j z)@-xq40_sOMQM~*T$qfL_w_X$2M32uOAj#d`jMUzTqLPyI_@WAagdZ5Yp5KQT5?Oa z@2|S>H}2Q$!4l7JX17&F%>cNdf72ma@tjG&UX}*sPV4zQ|2wOIvV2d=A;I*lhVT54 z?y0|DN#Apk(QnwmpqZOzMS>hh0!pk*DdUjIkjxF}Mb=BC?msuLocC9AR6|(i9=&&o zw*~F&^}WB=w~_8Wac*FM(c2%*`R=1N=wjsUxf^3S! z8ZEWS!>T!C-sKur1}}E@7JLzXz-6#B_x=6lo^(E?d>YFlU==R>zZG$q`{)e-SLez3 zh+6WGqcM{Mg9wjUr-(8Do(z$X5gA6;?dz#;ahIrT=M{)ApLq_8L!TY~d)3J5XKk8` z6cps(JwO~d3@>mx#E@Lm?kcFcaOdj7G1K~X1u%r-?m?mX-efvX{}0^1-F=T8ezgR3 zN9|&kvC4fI7%Wr>lgh!11%6q|+T>YSw){=Cv#uaRv3B}Lf_?>v)H1woJ+~b&rlnonfyuN zKVnrHT_oo1rJx!X+n(_VDN~Ke=l?2lnT~nbR^Qw|gIHRI_S=UT&eh}=KzP@%V~#_d zI#7B+BWN)il0Az8B(?=zE!^RI-vgeadN^8okieLe0(qZ>Ys~e0C7V=l6{M>liJE*H zTHs=0*2NaVtJ@;3-CC-y8TmZVF`8*eGfIL;W)N6fIw%W6WQA31B$SXDX$5^%QPGb}|K!W>7Dgh!%@uvGIcA3B%IsKr5Tl^%s zFCU1rROgbj+}hJjG`Wgk@igx>z?tZag_COoGhFX{dLiv#=s*74m9@R~#1+0)D>2U0 z4cIsnKFVSCHWFU`LKd3VZ$FS|!$Zns9c7@skj&1$U(XPMq4&~g;l1JP}pXbJIhqF~H29y7jWOVct+qMX3&hh&HD zumjJKgVTU(1dwkx0tKL5j;qWhmCWJT8g}3=;5J8GK zPuRvA%yql~gKJH;AQ5@20(W0A5iXTCzngo=!cTX9N}svjZ;8^g_j6DG@(6*jy^mD< zJeTK3!{AR1RAT#L+xy%FoU0`yPGg7LYyECRw`q+ zoogV^cXJ95>kJu6T)s^UZASbnPwns}JCwvRilji$AXq1K2Jx0fQZPXmKYroM{2v$Z zHmi&4vCYQlYbAet4Zzm{$RfDKwo)P>QUuF2D8lu#26tmqXK4Wx7j@(6C#{S)%xW!b->)yy; zqjU!2O^3xu!HC@aBMuu_20-}O1Kn5;x`jNKCOH`%nFe!@66Vz$HBN@GG;0+t>>XRb z^21J%0b&TE#kQv_4W#=v&Tsh)4R3MI>T^g&i1qYnS5O`^ z4Ui6{Blk*WW%pEXF0(W+3yTpjcfRO9Y)cahL@)2NzO_Hreg9>AfxMq#_-R)q7nehJ zXtHvnGW@;9Tsg@}b@9orrAn%51m>o!#SI{7QFeAaj@Qio@1FVp$-3hI+j;R(<8><< z!;R$hTuTL6Y9U&3k=C&lL1!TLWPelpJ$e!0zmU4^)=TB^wPyq@?;R#O(G!a$>8{FVseF<7o&k1ZTFiE39S$o9kD35Os86J z<>1>wtlxcgDlz_Z|JvUlimBadw*0KWN58j(>;LV_%Psr#&R5^~{!U1bg!@Q=2H)n} zz3cRu0Xz=S{ttKdUayfeF-NU?=aDQs!`?=yJ|U3*l#}3of|q5qr}zw3J0z7uBn-i$ zdC~A`xHNT|pY=z33;{krx6v3@lN~o*(2q^)1;4@U3(i{b4rETB>>qanahNZ?Uc*^U zfNWS`Cx|NJz2UyTIT7EpbFZ}Ssei2v^_+9if2+RgRR4x!`94=+FXIQRgz-Jc<9iR4 z&80S^wU1zzv}qgFS+COPD&^Xy3JWPxJ=f@%fyKJ;hXMmSaCQN*I{{JwH1^eK! za;K%YICq$Y)BArOsrCFRARbYsC)=z4b0WS>eagb`=m^hyA^HoaZr3BDh>t zz|Gl{>BHYf`bD|SJ~CyWrChq{wDc=PO!u0^n?^}derX9r+mJov$KE^D!O(f@X#lygdMg$NdTkPPVR=ih0M#_>CQ$MX%G$G!JS7G5O`^3Z? zF|cIfs&t2tThu7ae8YjEhY#zS55K>3KNJNJfo(o#NDNw=E$~i}eVF+MJr*jSD-%S2 zKV&c4f08LYIrB}ov#0a}doDCr3`8$vVxvAnv@~X<@6J{6iYqTKAN7-b_;gR`Rjo8p z%`_WcA{>!(5PDuub>r;a`{c*(EZPoc$>Yz<%Xk2_4y4;^x!m|iswXH)(4Og5rR=k) z0^NcpjL)VE-wk4gsj|fG8oaM3KAVOy37m!&II~!0cvmN`#tLlHM|Ueav|x$FpfM;j zOqSCxGUv?(cX|X-CCkNqOl8BTi2VkrgU}N{4eY*3JylD- z5x>D%bHmWH=D}l#6CYA|VpT22Y#3X+T>CHiLi$}}JFejj5ZMO){dhWA+L2s|ORm^^ z+R{A?g}bew75IuJn)ET1Bd8oS@}RAA!>{v*Pyy^3kJ9ssC~e(q(}AIhy}hWca;|J< zT*e$j)iP@(JL=^gA4a#_?Z7g=0z3C);iKB)P-dBL#%9}OI1_80CYCsG3;7TM8{v`8 zyCo95r0Y5Afh*mt^G%2(4=gQ_Po9tNnJLB!kX&3ow`W;i)?nD;y^C0>6@)zHJcw!w zHQJ5M&6XO=xD0}XtF7!$vYSV%HTJqtVu^+Ei_klI=ig5c~AU;@-1DbrCj%$u~w>0P_$DV zb*fym@=&u)BpL=ZypCx_b10Usf|vyJw1na^8U;x;YAJ&?5jS!Qnp6d6A)0E56j()a zxe!&C98V9V-u`p?>d<$3HO<9(XYy#09qc+e03?9uS1}MD9WChxMt@*MP?I^oz%Bu| z^OMVJvs;C`KX2ucx#CKqD_qQ#KEnHG^fMo|60YL0CC|Q%>uANddv)P$uB;?mueITtoKua52<=#Kk<*@shjm}x zrC#MAA@$rO<_9rKg5X)Z2Z7SU>YcHWj@BwJQ1JtbtUnp)=k=8>RRp>U|PQ8!7`fycSBRer8#)E)l$c|}i7e?cu zq;8~>=IY_pA`QIzgGc*T#WJ3S-f6VVEy%EG>&5l=oViiwx6b7K5wrcBXe*+GvgAah zI*|=G7~HiF_1Dc_eOt9%wPnda^EXet^r}CP?8*t2+OXK{qK(Ik!zoi+0C_dPU)O4QpY^PG6r(#`@QKE5KOqwoY(u=E7YRyAU@JjUCIII9Rz$W3i>2=%Gd@yb#tgHOEu zCS&Ic!MTr%CClQ%)Z|*u+-vrKJy~tVn1Myj! zPNl4fe0*syQv;RsS>}hGaqalcE7MI8;!42xw?jd-0P;8DDWgJZk4cQ45E%Qs)zKjV zPI*IzTNsv?R|$k4JO%;eys5hnL-UrBDy0B*Pp9s>_4~(|stUzeg+GQz{z^A*y>4z+ z1l;}5kjn;tg*1wVVi?d+850E>$7A)zenFBgZBpR)|V5 zZt!d3x0FsbL-ze?|7o1?r<--1ysV<~3K|_J)hA^Fm=7NeUPsd9%zhR2-o9PaT-a#} zb_DfdIgt*y{|WRX4tA|Za!0!(LFpOW+IV5w*f2NI6&qD_4$B`Kx`eMoq=!472XstA zB+{5COhE8Jy*Uhvyk4r&kopGK^-jzb+5Kr$*xk6SYmjabr@Uyvhm$E=xphn0YeVqM zeEq!3kgzAhFPDHrZor2cLjrrw{Vy%A51urA(@+ZxAK^DkLHg47Uf-fdc|D0Fy3@4E|V~O(3ww$?~eXsOm;45#vgnI>qR` z**EUPnmrUuURmn=<7|ki0uqiJy4C;gf|TrsIXgR@=b~$VS(u1vA!KAhT&~q-1L2+G zHHG%O>ZTJykFmjb3Rca-V-3v`4lIRls;M>=Wmbh{x)r+cDv|&RevQ?TxoN=af7RB{ zd6)~Gk|0O^SEyXQZ(d0-(UgpvQPfL)309_z9#X(Xsm<$M>3EB^uHa7o#|Aioc-k{kkeqP!Q#;embgd5KMcxBJkI|LmAs10d@5Js>eyi$lPS6v!zbaprAOPx6<2;d8PE8>>Ho? zUz$s;nr_nQ7O4=Yh%&FgT?i7rNZYsMwJl7w*Zns@WW}crYImPBigV+;OMaiu;+erH z;k*;u>Zkyb&VYlzDok0)UxqyH&hHUaN3+YzuS>*z! zQO=(Jm8Jv(%orZp-oEREM;@>}?3mEthafw$KN|el47o&@g_oR^6R@2ckyKzww7pt- z#jD!=Te<<~Fs9JGREIs0=RG3+cBZg(j5YqX0>T~Gou_2~d`?7o1+iW@Iyzf72 zGuS1zKD$2Cd7L>^ZYmT9_vJR#K{4Qv4{sZ}tr3{$ zpIx^LzH4{`U+jVHJgM0`uFvFILu{Y5HE8%kZ;qW2LEnsII7BG^?ISDXTu>n^9h&q^F<6!=4-tHm0<~sAIQzkd9 z8?zQR)K7{dZ=bd-uWap(=SX7nSJ@4auT1(N-Ci012^>a!NKXlUr|@+0nBodB>15H4 z4?iCJ0{_`?^wkiT&MsYJx9Of!S8;ZEL3dGujcj#9;liJ+aQ2y$8W}HdyTj+8w5dB@fP^T|iG&T1YOPnfuEBJr5L1}8Rsoy zmL1;|PNe{xQB{K;DG6s7^Q9AqXMbN4BU9$h*-wa;=o%Bk}U`9Fk;zkXpc-gzS z#yH1>{t#Ah43f3SX`OAS$JKL@l$VhNKkj>$Aloz5+CwrULC2$* zvHU_(|K+eKj8k23u7%jVHX9WhK~;jQ-vJ&grh;DC!wkDS=O(<6+E@H(nXX~=_I7ikWyb~L)wNB-a+`9a2@CJ|mV`#ZvelY(e8 zij^?LCXzx07ZOU%9h=^`{`OQcq+?*~9uvAUa$%`x#OONKGH7kdzFZ+SfDpso8Z}u3-D(Mkn5=i2EflZk7bya(0-V1bN4Or`KY*UkAuY1jDDx^T@Zkg0+#; zlQtb$%ts!LUoD)))t!z5x!joTJJA)^sxyRsxJhXf2-uiIQqOKKk>pB@Bqy@hX@6{X z^)gVv3!#Tva2OhB%M|d$Ttd3G9WR}%m>L%O2uJSKuKEGZ5(#TV%SIH~RLiM9U+9cRilaj8xE&sD0@mKvv^0uRY}!nETro@4Msy)pPVAH2}W7Vj7~e6qMC zWl{B@WaowS{996z9uZWlL*$mCa%9JdZGAOo!(s&9mzMVkx3fS6y%s$i;U-^^LDhci zrKl#-+S-$-)jpYEHU)GCQVfK>z`Tycl}q1)PN;Fyao$673a7Uj1{yQYx$7U7u{b3L zZj05AM538erjBxJ>@(px8_%?h!U|WWy{sROV7K6R?uPXB8^c(nIz9+ek2wY-_CfPh zWzQ*EZ{j2e3%`sV1(@}pA@s0hMn6$KUWtakqilPIb4W<01OO$@!YIq0wtZvcC+-D< z-!PNpwFmz!3`qLAl9b%Gs<=ma#=t78<%|!G{*sC}c}(y~uP1Kd53uEApOmwuD+Ii1 zoO<(vCp5M(UzBZVYu9-T7ko!a&W8ybQDD|376)G|?EEeAHpkzf2Xd65&b#&8hU*Ox zYZGx4v7y!Ax2?on3ARSbU9_;2-U^tQaw@cZkMGJiW)u8*4{Q6b1y()-oPytG5M^a% zUw7*Ib=}rozIR>Py7+YW7N^#Z68?-dpkR|iFr6L5r1a4Kw0j6<B>XAn&pM}5#9E#n0$jvk#xMeDd|=?97olNsO~8bUFwm&U1=>qfP{!0`=DP{2 zexW`pX^q(UY&u*MFr(Ww39S3u*w$If{Vkx%rS{>)5|g?v`4hRpK7lp{>Y8FLqafLn zTCQswkPn9}`^$o|+vj3P4G+(rv82&Tif_rnl`%p)8fy__&EVi`Rt%G{4ch85yRu_k zq9}?#Y+?jM$-;K^BFF~}>=68@M8ajz8`(7k*Bw^~K9bv2(vJ?jw9iQ_bwCJVuLSK< zQPeuBhDqZ%vLw2xVDs6~u;JlP!_SD&5&QpXqQ;J>Vf!)6)2m0T!kt1DFfO@U06v@8 z?*;4M;fqPrPZzw{c<-^kzcUTIXN$(aJ-Xo^Jwlf|b;-+AAy-Xzu!-G9azP^%x_hxf z;@vB@wki%etggY=5n$vqE28--O@uCx?s;Kik>(dQ$jZLs)c7Vm=$oEgp+R^>saXFW zq#z?pP3i5}zo_h;kBz)rA9Md!wOG}CUw-ijn6_fmQk(w<79xY1%KISz+i&3hoMrWW z-^t8%vzNIwjh%~lLlv4H*ZG=20tz~qoFr3yf`Aj^&d>1<)IROuG}D*N!V|bF_{lwk zA){1AY7;?%x=JdKhym3T6Ans;H6}#}mjaNGK-Y7iA1+1d)FA_&CZTDKJBp01oOmtk z_{fW<1f4J0&INi$mR}RJK^;}vCR;7KgW^iD)e4%9NJY@dp7vfNhVlDbPhjflpAVm{ z4B;WXeY0l9>4s;d&8IF{i`=x+w+P{y(KI+qS9RHI0eJlajKw97^@d}I6Xjju~+UyHNWXU`EIaNfhHZ&#Im=({L(RN+zK;I zmqTY*nO5mg2ICZK!w-&IKKKq_wU41~+Q*0k7+9WlT=8e5= z3UxQkdfZoS1K2Gticl=BKe)7wEHsv9TBj`%syujz@NUUL9>sC=>p=3Her{mo87#*@~`> z#8+h)eKb+gO8N5!hSF8kfBwqvp6HV>`!3;2g|T&&@EvCPKv#JBz&?b9$c;dH)hRq(Cb_Ru9xf|=0-R6*(fmlhcSLibmvxF`7`rMBe zF`)8RHt9|%r(rF>ZEhE?$>85=#DX+Uwovn}iX!;FK4#BMoy)KM)XqyTB$3?mk5zZ4 zlefZrt0GgLo{3;0Z~F=1*&t$RgQXrlnr9ealzfSi|c`NB;H|Omyi(7RG+2;s|BGld`_RS73 za%*M#R#cB`huwWpe|Ntc>!5X3teP04^55Qs9NqU>mKQ$5q7E5gldvk(67Sm=hU-!p zGUr0awg~EwCbpykV30SA$=m3-UnFv=IyvXGlZKG7u}}dUalAf|o$Pvw2-RWOWbB+m z0_Gq*s2yyoUj?FJXf3E<6RF5z)`)x1j*_X*-W&cN)JZe5$Fbu*7inhsVf=GGd~+~q z1BjG0+tn{??wj;@;&0;|l?I%+ch#gEVt^#U!v;iLTKAP6LEClJQx;q6jM*wO zss9@L-VHfga$eVNzdx^}88V)d@|GTf5=NMELuM^6=EUP;&zrRgFZr<7F_afhE0B(rbHv%$$P1Gjp_{!j%ONo|jy z@t+g~P389JJ!Hj-y$kQlFGO6|;}cmfMd@drv!GFBbQnU(Wuxa}O`<_T8g%EanV7`; zO*2{EjKSh~s;lQdEQ)SHcyAtANY8J&mUQ-w;jol=;yX{HJVIulxrZrxAJ63{r$K3}4K;9?wMnU}jUVisncZ+<$P}7}@>;d!mq0`p%gw#{svg1`)pMR_zbsW%IfPMJ z=yb$emnWFck!PX&y|XRHV=Yn5lR*$TkZS}IfxOi|H1O;Yk7h*?jq#A*&`+@-u5sG? zeVm*W&Sn&h4orz94LT(>AXj};}=X-_LPv#ZsL8{$`WYm0f z62woPAP!b2@-MuJhnv6C0Swz@9W1JsfAv8r-^gSkruvak8uz#lFW`Dy{7BG6?ZDf? z9^|5a8>_X&sPjp%gnL7Y&O*jHtY6DJ3Lf^6khB}j-%($L974(`C&}V929X+v6y~xJ z!^nBd#uf|Z%gG9>BXUe1tD&cT{eGF6*C%!|?}=EiO*sif(RMWeR`a<#@e1qY@Y_@v z?Jun&ohvry?O72#4?$&v$nLA*SR`Z-)y>1$VLe^|;HyALQWj;^`zEbj?J8a4HqjUv zV`#HTJ*29)loQT)PVhGnAz~9esV*sm2cW490$l`pU1VJbO;P?A4*@C{Df}lXG4uI@ z5^f}VB6VW)tY0{d#%XYRbC#IdXPo9ib&be+U=xaiUwpam(l70Sf${t)!S*0%E6Di; z=8Ula#&(*FS_5OT>UaqP7{R)X8Nr2|8F8CTr|#jv{Ybk+eK=Zl_J0W7Q6kweA5FM| zu(r0(ITe^tjWJ*Y`bZ-PVjJ6J(4TvHg4qy9v7H(NXgs5XmYj5TB3Wp0K2S(o^cb_| zdPrN;!77-)hBgxwF)6X2aLfY0{;huk{{;RC{1f;m@K4~Mz(0Y10{;a53H%fIC-6_; L|3g4hQ9}KH0;nwf literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.6B6958101DFBCC2D44E480C8108B4531.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.6B6958101DFBCC2D44E480C8108B4531.metallib new file mode 100644 index 0000000000000000000000000000000000000000..5d0f88100a72cb3c54a7b542a79a0cb24973175b GIT binary patch literal 66314 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 PC-6_;|3g4hQ9}KH&KoMV literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.724B5E7F9D5F2C642BBADBF98BCE6122.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.724B5E7F9D5F2C642BBADBF98BCE6122.metallib new file mode 100644 index 0000000000000000000000000000000000000000..13bea1efc4ae0f76a932c96640729555e62f1b5e GIT binary patch literal 66666 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 P6Zj|a{~;iyB&q&C%0%** literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso new file mode 100644 index 0000000000000000000000000000000000000000..2e282701ded7e8154717e6ec7cccc178e37efe7d GIT binary patch literal 14708 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 UD3eM@2hE{OYRFg2%(CtO1rrf9V*mgE literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso.pdb new file mode 100644 index 00000000..f847a96a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.7D3D408F4D90CC373A284D34F9B71F98.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4103d4a9161ad4b9ac402a5d1719164c5e5c2933be040c16e022572eb7b51f48 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso new file mode 100644 index 0000000000000000000000000000000000000000..41cd73e7b6ddd549c79bbd4ffb03b2d96aafe6a1 GIT binary patch literal 14628 zcmeHOU2Ggz6+W|e5_|m|;7J zHXA>Cb~+)cFJ7FmlVz(|Nv5-=oQ2#TmzQ!C&;w8IUJy`iCSAU4R^*L0QsZN@Z-Pd9 zdVybV65|40bg2V(BC`kKhLV#%e_kZhAq~+E=iUV0igNPvXbx?QitLSwLrc1Rfzv3E zrKf>EV~!9wjf)1-9T*e&)-S*mKi?&u+@vS#YmQ9MuBYIV)Xd1ttEkGhQ8$4;_42&; z=Xvjk&C2|I|4TkKl^B&lk@Y?i?~6b7m^zb6s>eg&a9i+DB1OS4m^L2wvZ@u8N|w`? z7tLbjY_(Fty~=x;073%kh6yERyAu`)dT&<)v4g~!Qd5ZA*UA83&rk* z;=1+P9#?VCh7EIdvsKMro6k^;V{MPuaM<~LP%rrTFtfm$?o(y2&$)Rnz_&P5zhTJj zzZf!lGaxsyud?k;(^ zxC?f)`F5pT&H4g>9zq-)g@vM-E_-9$KgQKb5AiStTf=q3+cThr;2AkmMfblwcN)G~ClNM~)-iqc`IC$fMI29=*v&=QNjkcR6~U ziOaoJ>JrKc+(R$v8|fw8ueZsyhxAsTJ*}W0lQW$!BK-q>2D|o1bD(XcE9P_Tpv9xvVyWpK!SlE&)f*y z2b=-YN2tH#rb6AkcT@QZ?r|=(wy2?p`vp3BBVfM!a34r}_xa%}h#{MR8b_C=fE6Y)7 z*w@yDdivS=mkqK^dPej6mJ717d`xzA>34|RAHahCu(l_mU*MGO>7;EPj?S1vcXT%B z`ra}^v|RT0MxWe{b-C_1URiDzV;}W1u5gS8qkZpryN!w#$Jo>Sa9!Br-hTcVPTyU#Y|P@W4L#tX_M+h~^mX ziu{P2>ukYXV2}GX2xElrfKHC0ydCAcbveHmSzWC;tJ@yV*#WKCZ0hg58+L#jc5D+j z`~KtG@Jiq0Lh;#&V&0OzVtUcErOz&B`{qr4Hl8V1*=HR>9$$~!efNKJpVLroNpVVY z1V~`~;-~pXfqVxBf#e~0pRm;aa5 z9&piD`~9~!KjfaFTHi+0RRY+lea~fh9TbmO7viEfb&FQfM85Y%XxS^@SXMwkXiA~o zltI2Gy~nct?IO##ALD6z0LNP5oug^{y++VL8sk8#FVB*P0vP`l@UOrn*!>)E26@5= zHo=yV^8DsCU;=s0|GI%gxM$y(1#+*9{h}Rs07#kMAZ$UNgOdLdVO{=5g@cv<^WebU z2mAz(>x@T$b$GBIsL$metiS8p>K=HQJTNht(ErKfzYx>0aCUGo6VAkj`ZJOKbb4qw Vof#a?4#fJSxqK`aD&;b?{XfBr&^`bF literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso.pdb new file mode 100644 index 00000000..fa123a03 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.842841B5F4FFDF9CF56BEF4C0A6C5C2D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64547baaae6857beb8bcbd5b70a4008ee103166c2e560000b38fe216ade26953 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso new file mode 100644 index 0000000000000000000000000000000000000000..f609a36682b99445046c8cf6c8706c8b55911aad GIT binary patch literal 14588 zcmeHOU2Ggz6+W|$o!yP?tPM`mgrrv`L{8(bch|o-ZNclcu_dQ=ybiJ=L%Kh+vD@{| zYJc*h7GXq@Du~n|RRW|J|<*{^81B{@(F}w~oGg>PCwpB6o&G_JTeO z+yllU@H+6gPvj=>J=D)7#wTu~-UYCAduiU-Fut`aKg9K1A{wQPLqG-W1|A2t0tv4I zn{?^!AE*-IH6Z0S1NQ(o03f=q4K$frDdx@6g?aNzrCKrtbhCVBIa9LAR<5GD=T550 z>EyIZE~T<&NsU=6#btC;(MUKdQ^~KqFbi4K;|F4Bo8a2kgu4#ki08KdBs4jjhzktgy4Pd9 zW2a83Gsy`x6plpNf`=1H3WUM5`3UejuK`ck#QWU^9=OSg!Gp)v1DLb#Jhp@P2EM`d zfdX=^L7+=WTY#+dV0U}KT~F=qQF^1>&I50TqsBKsR5`9Ium8Dun z;TW?iHk<;S4t^sTyksqB)k=M zd=~dKowVP1yyMs{R~ul*3bg%%nlT=vy-KYCGMI|MpVhX zxLmH7rS4+6M^z#SS7&BPR#Fx7o@u78Lzx})6mr)bpzfVZHYbyYvxz%fDCNzTK`*Fw zlm|Y({qb$S!wzvHFgmiBtLF31l+1K>IiFpeM`)K9XRV@{U7Rz^R<)Ed%Zqj{xV$)K z6|d?wKzMj45$zuzh{r}J`XfWJ(KtwaV05UzFCK|T`})F}vK3y+m-8a2Iu#YIqNr7r zHdT~$y1BfVsZo)Q_L~FgSSm*qsWeD>AO#iaIu-Tvj5nio-)BZU^0$bwid&z1>3sjC z@Bh*Gq>FmCXMUK}?aQ?i&nqZ<=;yEh4oe1I$MqBIJa}|Gz_n{!p6v+f8yLiWYL$=T zF5NmExc^Cz$cQ}GVKBre@~MkuiCh_u3`ZhSA z<@;;+T;@`5v#r-&xNNJ@uAm&>HhRf#q?i0!y?)0Y@>^@{X$Aj;oauNCw3|MIU3(?q zYa4B8Z|#AIz=5_e8IvgfZ+0{DM|~CaH{`SUWsJXo@wCXlQRbN>AD56ZIrIBpzVed~ zZy)~PZ2RbM;>ShS!G94*F!0ASIRf*E^FaFgNs(2DY8?vK)CDT9+jP~T(EB9tn3hF( z?%#jVj`u}_Qy`&l2(-Fim%N|*d0^jfqlP}Wh4c0UCvjtg$O1DKHa55@uye!A5Bq@$ zG5`nUNY|G^`S|(8-X+Mt*4JXv)Y;aBe)^u&ZX0Bc{IqUgvt5w&wG-0ZMLCAuc>|bW%U(6~=f_4sitf zS!)-6XfJpNG13;$b~)HZJx%NY+u1gNYd)7O2X$F|Y{wSCns%)smy=z?4h43oi`;s`|P`<=?{b_*uG=wyi@!%vkRQG5yIXypc z;QY^L#e?19flm2?-h01>;TX=2{Ft2W*oXJ}Ugv8N&Ji`oc=8nL+fm=5>-oLN#zx(V z-tKVDV=xNb#%;lUH*DL$tJv`#xZn35Z(wx2)60dIrwTbsdJCx)vn;*kQl@vw8t<#+g%@CL!H`6|LHD1WNITi2O{z|IBr{A zi65QREm#E;TGfxaVlves>TwkjB{1 zT2p4tBLSTM74VN6j pe-}n$*;H&GIyg9#N#$Zg+4OL9c(5;%i}XdJ17^+)7qe;F{$J9A$mjq7 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso.pdb new file mode 100644 index 00000000..85b51672 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.87D14E5B2AF4072ABF40B5A743B01133.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb3aa5c7f0b830b9e5e08a8c9c55b04f8206f5db64c726c213672b94d1974757 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.8EB0F8ED9C71D976C3914CE541D3AFC7.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.8EB0F8ED9C71D976C3914CE541D3AFC7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..8f3522fb5f96d0779c2afead0512c826be66f3c3 GIT binary patch literal 67418 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.9868960EE5BAA4542CE68A32E3F82EAB.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.9868960EE5BAA4542CE68A32E3F82EAB.metallib new file mode 100644 index 0000000000000000000000000000000000000000..7a700ca674f2cbccd4d60586037ff0c94be6a0ee GIT binary patch literal 66618 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 T1pW#96Zj|a{~;i$D53U0{UOSg literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.5DF351B082B2DAEB6EA8D2B69FF8CE75.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.5DF351B082B2DAEB6EA8D2B69FF8CE75.metallib new file mode 100644 index 0000000000000000000000000000000000000000..748a189928f973eb6127042d67243ba1b83e4c9c GIT binary patch literal 66226 zcmeFXWmH_t)+pL&H?ASLySoGlE(rwp;MzD11Shz=d+;EEAOV8A1`^yoxQ7rRNVp63 zKKq{Yy*J(%cZ~bv{WvvNSJj-eYFgErCB2k16eZ#O;Xw$Xzfvtc++#)OZ#d@flISlq z2=X^f^*4<6cgYI>7hw$Jukr!?(D#*uk_;-y5@up$WN!j>0BPu|$iRW%H4mEV3#vFM4) zBZ$K@nv$+akZeR+PSUk} zj0GyvT{tq33k3WoJq!kdz~sX`Az)|YFqk!h7bMKpIEw|$!xH2Rd8BhxWDEHiK!c@x zjJbT$?k-YLH`z))#zYs{h{=EI?-d^gF#k)aTWQ!E|1kc%FehyA8^$nC&QJM}_mqx&z3^;PSwpr4P2ddxY_)hq(%Z-5J4v&c1-Q9$}t<6#zHuFsD4Q zD`;1Od>`<@qZ&ZH8;*PpP zz+6xO=EOtX!3!1#MNoo3^gx}PS{{YcJOnX`x+oaPz6a;WfO;T^ z#zCBN{uk{9O0Q0g5aDJ$<`S1X&(5E zIM~Y=?D|--kH>V*1A73^81kM!*z56mKpKO+fFaKV0~G*tp#*zzf?;`JpaOvZ!NK@H zsmA|pwUfW4Qtf{G*#O)_)4Z@_f_^2DHHj1G&91mNVsp^8Y&@ zL%zTUds2eED8X((srthqF{=0@AjzxvBOzI<_=AzcRs2zqN>wP4%2hg1kt$WzP?0{1 zJFx};3_&%(T=WJ?9*93_?>ea^KAdQ{lwfdAw4^`qR)Jm8ozb^JSV!2H=l+;H=#u2X zOZhdQ)RGhFu~`tw2!iOKlxQ@9=!i!&5IMXdU{ColCm@74A-wSjbD|6*8o|LljK^H( z#B$)o`hJRes)EUb-AlFtyz5kC-6rIgoDssULBeBFLZ1*sT7yJ_5rjuh@!uGOy{*9l z4>1WW;2-7$#3vxOF@oP*ApvaN{lkoaIY<}=OAqr*4`4k$#XMfa{MCth$cbP&m`@5s zR^T-S@+A|}VJgzz03Z+|&%{d!4N3{6Kjxo%1e2u%!x4m&dpH20w}HY_2*TAp=mXF& zC!H{uQxFjOfXVJk80MN6M)Xx3>llP}rh>T{kNI63Yn>AF5U_%hk!-1pyjy~Nf{GM~ zg-dIso9krzaO9SRs)E&0&$5GrM^tG4HUx+V9$=4jRmJmotOpN}+dPEiT`IDbE;2v3 zhoxYIitN+`StBG!aHL1LT1pgf$ZfaCrj&3v0QN-pp#qkMxdZwDaRmr_=>f05V`Cn6 zVs5Em{^X?TngG_5^`~>|WGjFID!PJ2K_Z_6grHU^Xm4wjDp!nm7Ro4|}* zpk5XdPEK|fl#jar$~S-YrR3q_FH#QhL}h04qDYnWMcE)Xsw4 z+`_>TX76HT4s|gxwX^tllBJ1@E3kcYwKlSF_2UjDggOi)9 z8?f(UG;wu>K~3FUEjXDT)dQ#&u!ouxV6l^hnJe^-#Y4A$csMz_KwSYhKD2RgH2Sw@ zfPY;rJXHRTZV7V)gjt%HK^?42feo61i|hkN*2L`57f=Ua8wZFm`peb_j(=PI;Qj~D z&e6=|K^UO0xrN6A24-Pm{!qHO!rXwKkA_2m;Zs*Pvv9C@7|4Gr56%7&0eH#n!Sn~@ zUqb$Jl?SgD)WTf_=4kV;Qo-TPL-p_Cf%33H)o@gl*8?66#|KCfYG-HaXaX|_414Tn zVrKga7-|!{2T0Sw=|5m~sJVp}V5cKY+QP}z`mgGvcy2w($6;24+CyDk9{M^t!d%q> z>mSMTCV<)I4i+vh4{HB2(EswzKL`^$sFlOxoK=@{bZ~Jsad1_)aOM2>IuJL_Yk&+$ zoPno^G>|dAz*7hf?l!kT|ZuQ&JiT7I)w&EdT)pD**8Xp7H_^P>28! zZ{Vpk00D&}00CSy0En+A9vnbE!nqkx4dy}jIvAVqK> zMKl~yuq5ME7h!S$;{zB#6#WQh!!bQliIX3}qJT#*fH?aR`~b)NNF^zH1V05Z1KcFe_O(4^5z?Yg3jw>X_L3!gqc2l!DTNkJ|O@$eY3zr$1a2833 ze~38tk0tb|rNiH=kNm(zwT}bFkLkhbmHeb(mFMZwb{yN-# zIJ~(%v9ctKVz*vW%`22v)5!msx1siuw(!$AZM6~+jxSzs?6r*tV%VCkur5*q6X+$QbM$9UMBKI|*W{#pw_pGBEVu5-}A6%G@<;9j)y403N(G(N77n?Ky?@raOME)4A39WINX@n z)WM+I2Ud^C0yyW80X1BN7;j9CqeFQ-UfNV^l3dpv7!2EN{{wK-=D>N+$%zAa9bJJ4^l%z|V_^rJRAG;&R$#q> zI{e*E+QQPr&CZqG0|*w5c8?SeHy0Sk<66Vc9ag!DeS?PRV8hGqa|AREhF$ zZH)e2s*LQR4wQeZM#<*l=>l_fbfx@1&`rh8#MSa)`QlJAF;iC8VR!l)@o)MA%j&<# zT-@wD>@McElx&Wa|Gz)dQ~uvO##6Fc*qd6I8~uId@PFdrhdYb^)6oa+BRI_LOdPB@ z{+W>+4>)rZm^&~rfa>F1F@m`o0aKIR1cZqV0;x-=Nx=gpCrDDyT8K+RmtI|$G*3Dd zgkWpbv{bF|_WtC#D6zShSCXRA zex@n9xVg2pvG`Dlf471x4u1(#Xp;IbhO%0!{Cxy*-tjyyf8-!aS{V!_UM0Cm9x5X8 zJZOnOh!-v*7&$bI*LrLcf}D=01TyF40$KN38%O)2(56cd6>2QL@L)O;m&n6XXDBu2 z1zE%G6PsbuWE>AF4W-dz?McVi^X=~SqQloPrzgRwAdP*mORX|MH#HNVXHD%NpNpPp z_voU7lgCHE+~W7zz+${iP7+H##GR*E5YdYd(k8lwYs+FQ_uf3 zm`eZj=UEmx=?5H(2z4=S)}+?u(sJgRNaP03Tr8ATLL?Jw6{73_MK->gMjdhS&r8Hz z0V?E;o()CVdPH4=wFl!JeI>88o+)9CqQ2H9X6izzZqVG-DmO4%u@z-LeTSSygxZ8 z_^h+4CEgGxPY&9s;%vqwZb6qnlk9#jn8wi|NP+9Jv(!KqjdFI?qRY3_SJU<}=Di%Q zVZp#Cdo5r}QB{>I`J-8VLg`0IMIq*)O=3P*u9lhYpuKjQ=Ms~awCP;X?Lq(Aa|5D< zKX!^EgsAL9c7<5O`cV600T({|0ecVA>WcWw-PxFTuy?qF%!D%7R+(#ry4ZxIdivZD zbi!*WQs}x{N@$naJlm*5!I%KNgjhKkqkC#Y@d+M_C;q2Y?azpsOI@936_j(Yvp*IX zGcH2rU%W*|Z$xgxW$`{KD`E8!T9V)uSg14}+~zKQbu?Z7Bv?9Z*}TQI1m3EivJ1Z4 zbFP%1<;npszIsg;RF{REQCLA!=Wqs zKjc`HQw&iPl#e9Sn2AyGogtJed8JdGSEKeO$Synwdo0O+LXf40tBaE+`*5Nb>k*C- z?6p2};t8H8!;%0SfoagSa_HIhc^^5aJz zCEUQP4|ezHv+Lq(o*#pmI|Li`32_M-!}q4$@OnH0vgx`v7prDhwHHa@3hup@a2=vk4qoDGvA*M=ht~~V(u#& zZ-zm5U-6oE#J1hpecRhL!TQ?X1t%0{nJYaz>H4HUM}?+czOS60U%R)sv@ducEnNuv zH@@?|SatVZUWsdov%hR;^_~Cd@+{-TO~v!FrA^fLs0HDmcyaq?T}|xfq-|g%WwLdp zeNyCx1xws_F*4E?J?C`C9>8RZtBZF;3;uVv-3efs?1n?Jby+098)U;V}A30uxd+w6+(H%D*p{hu^#m!44#J7YKP z=WW7^P2P4ZH&w0OUryR`+MB&Rzi>Eg)Ylyx8|m4n`5v6eCC*Q_P`LN|E`Ku^O=)y& z9hg!0RnKU6c(L>Hn8N z^e*k>Z}M|L`dm&P_-r3*&H6GdpNOh)eXDG`T=h0MKK(N9>g%rev;C)|d(&mkB}x0M ziyQ5C?#MR>$3kyT+`if_w+b&Ve?A^iuDV#sIuY}>J!#jxtU0{-YIx>Z$Fuy-W?r=Y zr0yiFa5RgPTi%~W9E8}JX)KEqZav0}?2ir)O~}vVwH`zkfB0%eF&%NJ1SJWN280rB zirAy5unVFzPXPYGmj!_`;R=iqO^u~wf%_qP*&rouXh~>#Xmk?&r23SpJ-sZhCyykz zDKv>bgMM5Y${#u{k_0U&vEZFrh$(AR;`L7!58wqMjv<;5V}Q6(0ysnIl@KKIi_Uq+ z(v>(-N;1fkl!%mg)HQC$MO2fNrEp`E&lGc$o`{wx?B$ayX2vnq^DA;|+^J7aVdL6J zQ-j2(CUMGYO_j<@h(U;5awSTLBP9qBxspuu7{%NSr96fR>!S=WO)ZPI#ZDK&#t_KEf^?=J0Y_;n#5$?Lg z`z&a-F}&8iClu|UT016Hv-kIUtS+Bwe{*uoo^Yhb+u{E(T_^g?i(r4M!lAx-=3uJQ zAqHh{p{%~AOs#*RSZFI>a&kP zQuftXQZDGof7YFR9Y-S_L;X_VoHw5+{C>`pIG(-tI^)-C0g*;oDVUrUE+x`M zo@Y4jHP{7}*P1HD`0j1g*Nf*9d4;MFe9eFW2-;DWnHlSaS@KqM65&kd9nG7kCYE3> zs#i8x6^hB>YLwD6S&2juXj-RPe0xVBCO84kUgAa>i6f@xgBjGbl4{v`c1jfDuFZHy zniQf*=q>e&bQM}L{hO9L<$NV~?%h9|XLy6c1Q1<9dwh}1v1N4f@$+4pKU9D2p_C43 zlllhnvO`jD3Gi?$>RQ(?lzY0bhwR2TFN}s(PoOMQSWz{!#b@~SBrJD&pD(BC+uOKH z&nB@QmRTiv2m?Yue%?E@lK!KH3U{!(_R+fo>fnw(1i)VRdUJ z_b!Y+y1@XpD@tjVknkit@(#m~Olvt$K{i6I0_EzLU^aW`rrHxIxAEs8jX-4dxVeF| z*thpSBu_)egyz8QYtNEt`%w7# zF177;y12Xq;`RmK-Uasq3pczjYqVr7V=k2hHU>-13nknf>2H%{3SjbGPx*vsGa|$4 z@nLtC&`8K-6mq>PI|Ul`D0&iNAbq=e$xEq8&G&49Ss#WD8uQVEeKEAnx>Vsw&yWRy z&_esOnplV~^;m77NOiXRiEO4xSq5i0(ZHv^zD8|=%9o5W>DWl$!mE>YN{rK-UNx$} zX0F$tc)s3kR~nwgEDC*#-&haefeurt&*!zvzXL>NH4-Gb|(I6Pj~#x z*xxjt3Kg+Z%|M15G3?z{by{W-mdt` zRZAmvZOoRz;}L~aJt#?PCD_cC5Kz3l{CJ(Un&xg-Fl}B*32r1|;uPO?E;vcpHW*#L zUr{fCPV1#{N(R2XG@}6-(a7+~>@)j!6eX2kub1AmcvsF?uUPu}Um;w>^K}IVNZ?XS z6LHT>O?Bg%AW|nX&~DBL7O%g6@OW32R6uu4~Qud)SS&;c3zfocPZxQC|og33a+Y zAcrA-PRB&XjmG;i)=*41H)xN>8>y*!sqm^CY_h}hwV2Lriue_Z!4pC=oqWZvAw(G- zjfDk#4Mt|@&cxi=_diPSU(nj?%)DV@{^6}^`|hQ461$lXvVPp{1PIDjbmbB zM~hk{IEGPqkaGDD@RcSAYC9#G)YhgTGJoMWonOqGyOLSr(_5k1FQ$*mI_)9`mnp7? ziVaVR7Y-S|8=`6d)A4NvCu;$hzn0odhX&^2w_xX z!sG1EUO<74+^j#^)%@zD!@PS&oGyG@RVvSIYjr_^&Tk&DzwXEyOc{iaFG!g6kpMpy z`ATjycKkQR7qVAosy;4>!LsvzAP_C(ac>e~ZI|44{E3j6cnS>PxS`<~cRSgxL?)Db#7*#dT$$<&YmE8JK$T{w~WJBGMj{PfK; zY{W2X5(DDA!%XIxR13zXc@qLMVXX>}cUg8sVxC7f#M!zk-h`@~rnO%9>CUZ=3g1i` z%IS~oZS8zNl@cml)JFWeB|Iu)vEgV`N!)Hx;t(n07yt1`l2{k=G!7X{25vdPeCsRDr-$%-E@bs zY%{T_)Jq}g(rYZu`Z#T_Q10sPDg5Yzf?*g#%ZVDw_sdm{iy)v=YH199JQZ+BBw%5uO+^+F9P0=-y z;xqWVJ;2K0Q>nD5o&~DV^5Lwl5TF|AO z%xFJGBMT^qVv=R5`Fr~2zF5+RV@FVRToaqJcs^lIA4Oxc+D3smrc0JmiP2$F7G@r|I5s8J9BiZDEnr_vZ{^0a?#%zq4dwD} z#wF;*7w!vl2kqR!dw~y5J_7EU${pWYC%%|86U0S335t7h{K2kuy!RbI`_%1=qpq)f z@0gn8E@tqN;(}Z^XTntoHMhj*PC7dB*v+u8hm({|yFT=tBpRZ?wz=d@SA0|N2TUre~M!js7_F`PW7k6qiOHdgxH}g_3GvEJ;=lX8Q zBXQlS7`K?H648Q~#;ba;pHUub*BoH~W4YznT8wExi4wd}c&ARfq_AY)9^Rn_{py zUsA*0hCsipKNvCBY6>4y9FY#2eDYn4wsQYfEF4VSo^6X$Gi$pe(&#Nk*lPEoSs=vO zwqfgaCCT&BZa!Rb8EhOBh(D#wN$Y4wlfRSaL}rMDT(p!Xc~FOd8LBY)P);o7Ys zsiJ|VKlqpU5I>LW<-q#WFMJ-*w|JQ%`X*I5Kd`D+yRJq9vVW`CTu8yKZr<6}*)-7m zOOBp%WHi-}(ZX2)`g|SYSsf(n^COpCe#lEFDNpLfacl4x%^F;I*C$O?N;uY-&pFaQ zJ8?L~Di!2;z-UMOK<6Pb5ZHVC7e|oT{n~_Q zaf6F<^FjhnsTWJcV%W?3Qd^Sqp96lyLoHZ5>7Igd?hlS!4QP3e9D80V+5Q$K;kIja z_>})i?9XHfc}3bEHr_q5-KQvm$jmIfZn5UGpBK+vA${|!if_mqit#e|ghS)ylW{|4 zeWcu1b8vRPKgrUg7e5g6TPtFelAs&m70GZx#7{&tJ4jke)5OHG|8TR%zK0jSk*a|S zZy?je@*QXQkabMp{`NcVPriXhHxYukz~@At{9seJH|*ps9rg|GABENE`%{-G3E-u5 zP6Uagc#RuBli<=+>aGt@>q?(&a7e8an;bBDo1K6w+ogScJvGy#6P|qRLinxL-1ZJB z4@YT4<{JBDdB$y@nV$IPR@7b_8Y0((w+pU3i{Bcugv{f!rq~+A^T|Ho_97zM?-iN-xr-*&G$vBprSM8MH~w#yqgbKH7SKBw&ZhD$)xaitks2((+f|5@7kov z@r5~`pnGggG?mJl_^Khud~RqQck{MhbX|cM(t`4BreyC?PK>S!qH_?1KZkL39A7i| z4a81ut`j_688bVzUGKmNukdhjpJTwj^6jeMSuhU1od*LJRa7s= z>YCO~?7{*X`^`4$+-6y0t{+I=Wd|E%^cI|zh zRStC%(iZ8D8m$kQ!-R?#D1ynyRith((`nKn2{cWdp;zfSxYX3tbZ>*a>AFT7GHjr1 z$v<_JdYI+{prfwVE)J2F}kyOs_lcY*uBzPh*hzBa>+c!pm#+b6LD8qO2eTef1) zDqvm-ZBL{o@4_X7s;C$)yIp9$>SW|B@LZVoA{uZRcE9KN#GQnP!qf6O5|uE*;dhWN z{%8H5ox!(VL0n&HD+Ae|b{9RF9V%qq2o;hb&G%SXmuih|c;C>OH&b7X7?;^ylLFm( z|9nV=TV*Cy3Pth)t8gA;tBRV&)^pX?2gl#IUTnUyefTli>Kvig zs;`;j=+hmU9yij-)e!Qsni}^Q$=8PCGUZpbc|mgIg1(mDm?eG?dkoVWPGM`vQg6&H zO8obT7CmP{D$QMHq8vX9QEaHjyXRN0tLpN8X+9}4my6Mg<#Bt)ejGdLEf$t=fZ@^} zR*=l2!A}jLT1I+-tcVG7V!*{ioYdYa-C z?k(w6yk(ugS?zw6{57={NUZnEWlk5iPOH8IcE`1(Q0wmC_p_WzV>U!d4GW(X9VJ7k zW*-FcI(n4^jiZiN?+&v?Av0iqUbn>t&Q1LHd@A>il`^_X8ojFrTadwz5uq(87svUh z`J?jz^)rFAbxjA>Aa>kIi3Rk60r5!a!L&iV!2+Ys?6cugyaeZ{~E%H43^oGK(L+Y%FfZw)!4 zwc^&1=sOx>fur8a$Lxm3L%&6(K(lu8V$($_@Abh)~Atr^MLxgF|aFt7y&zbG&r)`xqu;GnrAc#{HVLt+%U6Ek&HCy6^RP z)uVAJ222oLm=1rEo?Dj(} zUE}QY*Fix{U$Pgez98*@L*hwOO3TU2On!-os7Q;= zn#HzfukFpI7{c|w0K%;YHj>?9-|Wc#40D3wI`s*1+$Dfuo`r$FwGt08phTfWnnOb~$*}E|ZpFK+7WCoZd z4{ylOne1@dYZ^qd?!d-#gF+`0x(`BDaEp1xF zEZHJNj8v`7x0;pnnW|(dsMdSQ)V|P!GQ#ZnKj$#>Z{6asB?Y+oPZiNI>u8PBVn%*K2biYQ0nwD~p zJ}Rp(!yHjB{a=*7k6mr(<>jAFF>YgK$sD%HUFhoxi~pK&du}SZuS2SsnkCuy0U<)A zDJ*`+MSjY>K`$p%PP6ntY~^+1wohfp$)()Dr1H5M3jq#c#N9~dT>w_5bMIPMKTdqv z(Q4HSoU0VkwU^~i+I1qUXW4dB2hV}8JIm44UFaTk!keBhe1V;IMq1gB%p{goT-+dF z2)k0~Rz8t^CIbVLbJ|%$NHr^?DwVnq5#pDINN)${T+m_2^~34UVv4GO>=N5V;94ao zdO0;d#6FKoT@#z^3ioy?FMo0|+j~Sh$Wy2k{C?_{-^A6{%<+N7akG&dizhZ=X}BaJ z?WDoXJz?1@3=Xy4LCnR{A^0ZJ5vt9UCW_Xwu#8^owfaW!MT`1ZJqj)-C{$hX7_!&k zJMEq=Eao4Yws5~9uYUVl|(`N3h=JQ`M$>r$o&>r7uw<_irTra24k+0=q3uP=sQ(m3ZSlm`+<4ct;y zT*s7ImKd0R>TpT@)O}t`g4iLF^k>tr0QS>Wy`24yUwN25*B?qpc^Qa}9(?XK8uHqE zB*-!!pMhHTqb|^_Ffvz`13Tm)1Qmf@RbV*&(;6^L7B#{$ADHmScUO z^BD^NlRU6A}^bbl3 zNTU_K91#4XM?%SAxV|Aumf)_iw!KqoTf*GMF@sUYpLlrp;Wl=1%$Ts3WqD`*gTKG} zD$WoFBvE|f^-2@MNtsvavEmf~pJS7W5|>t#k=m;lQyJ3)Ay`^*b>IKwCgr!B#JS4x znz!VcnPrFO4@fe|Kfj~u`A#N4VbE~Ztrq*yht9meP$Pn3zMhd+%*>_o^VDoK zBbcsRB~ej=ib@ODeDo;Lq`Dd9i8I!}5<%300mN|jaHWlm@cgH~T3Wn<&_Cnb1! z#n@`5FiAHCcL^C(c^iCsl~f7&0Xk}ROAvtu!i(nSE7Mz<&q?(0XhWgNHlJG%FbV6U zg&ElUG^8;jYiy9(?z3N-+r<@F)$&Y))6JQsDa4vvk@}c-G6rY7r3|o!7zjfoh~{K7 z4E3!)Uc7I@d9H+r!*}~dR~GV zC+qqzbvG=@85{^CJlu(F zXbo;7**#cm>l5la+R~!)&erUZbN;sH8&!fiDGIR;?0?KC<5jVfj<_$q%NGvd)j`&u&z~4VZuS) zenY{8O!+~l&w{+}nEZK^*o`}XhU4$f0ri}(k|y*?I40zU+^m;uMH5eiGl9D@>Vt#hS}}yOTCvz!2tDiy;|58{8WIgSGIz|8aV_cfk*6 zlfDQ_!PoZAZYj*ErLNHnu?9x%kG&AS7LaIPaB0 ztRrRe(GG%6skg0VL-oQ!ZB{zTk@X!y(aw4P!h#;z`lqo?g~)C$bI+6T&9CY>)^bu> zXavN~AMtWKjs)OHV|`a&3Lu@c?8cc?y4j&&Xr?EjoGw8s8+WDbaHVaOEM9x{_lH*` z#d`iMw6)9;yXQ-#`R?Rxz2+D94R)EKtWhi0bOax=Z%`vOOT!M8uQEUrG3PIyd|oe$ ztT-0W*1{G>dgq@0PWShyUICwJ1<}WVO8dxL(2h&NN)5+w=U% zpCF=M>{iu-l)8ZvcxcXZcW!6Baw%qzmKe1~5+c$!H_NF+X?GE=O&dR!N6D--3@$!@ zwfy9=FK>?Uj_AxxwsR9Ia456LDwB4E!*TLVPJB#CwJu@edMD`TyV~K)GrI;M5(c$r zl@)d$Q~wl=|8O766pUY5Yz>k$tRjz3X4_&U*WGgN#kq+<%z><6#C_%V6LtHBE#SmD z=F{3_>8_g#X~D=NIW3`|378%vnds}Doy9uY?3|c6E25>Xl}fOiGHAv^C6PfNO+jB> zb*_@g`m7Zk{^Kb+-#x|qo4Kd%ao(^Oz7Se`)V(Pt9QrT2;V&gS{hltKw+;MuT~X8oZk8 zu(#hmb*V2p%}GR}IqgPGn`vU}c(m1nUwwN^yAow-rWLl)e1D@Zw;k?CUna7t${#qJ zDM)C4s73gT`r_pJo0VvWW$%KL=KSuOcAj=EGh1&VYjm5bCtd#Y{xM4d{dZ3s-nP`N zYK&#}QJ)$J{>nCp6O;oeGz)m z>*A;Pt!KNnZqD#{fiL9)YN%rrM>;}CZnntvOs1L5*>~Vg8JHM4ZNu1*+iz96nuFGf zqyyEps+Ob6^O-B$JYJDd^2|ti)*N>ntU=-2qvJmA`Ns0$H(V}l6R#r?xbsLqNtrgf zIVKe-WTXiS!;BqdjaHL?VmWugl9N-6u@KSzyatatM8-odAS)|+L!xulmi z!+D%(YqaStqZCSJ4;@rArA|5_CZ=vFc$Wjp!h9{=S5)WaFC7Fu7;}r8qV>$p5>i@9&7*$p?IJc;lRtFz zoHe46KO1wK$>-X=pJ&<$x$W+-Vy{TcFdKX$glUgreTwJk4`)v@865QrGhx z!a6^@8QP6mT|=l?dnx;lgS8xX9k7v9Bz4nku}T z-q<3ugp2e-Z*2ut1nq7~Zvi<+jYxjqfUS;~PWT>E0QEd)49PThoKAXfYkfl;sVPf? z6%E$AvOA9NKi1`oq>1*i5R%G$RtRyO&WBos;MVc;7`VwX-|xUgRzp3v4E*Mi@@di* z9CpL%>B~m%7W`{c_oP!s-lKb}YM8C>vm&PI>(M*s-zM0 zbr+X9>qk-KNz#I@H>S7Le|=~^I}ZNNUR5}Km(%EWd^d7ThP6wwg=XAP&#+igK{G41 zRnS@{qkRAu&K>#@O%$sRU0FBWw&248?(SaJ5zTTG@y}Im{Yd8gRt@FVKbFGq=T-Yp zcy~I*txAIX1n#jlo5w1@$$#6LnZEesW8ZNcz`Cz@BxdQO_!EKXH+$4C&5X$EGtPih zD&AZN{81c`Bjh>n5ls_BoY)}BBdoIT;CZ%1ORMt-=Mnr>s!_dXZlgckx2q9kP_0gk zi*Qcmh`;_=ATn<|l~p*~kNTE@r8<^NO5weGd#o;p>1w{j5B2kMtI-|r{t)-K9Kogp`z9t3s#1*? zm&^S0=$}UuP;juBzgqp0)G3HsU{BIVp>3WTLe~p+O=`7X!V?kko3Ihpe$g&Qmm?JM zTwjp^u2L7)(6>b#Cy=!mx36B5!eZe@CaQ zwPK8rgW&EpVvCHQHKD}2Q#Nbes*Q0>bR>Lcb2frebQRPMjh>>~WV)2k7B^nF$+a0b zy0gcgZlQ;ifk-TojAjCMB_D0O3jq)K|+`@>CUv?P=QH=@H^<3E(SDKv=vENR&xw47tv z%r1i(UIf$oW5#lviJClYK^Vr;=(G`N1mY&#qN-eyCNu;H-y?!>P&bZ0f;g$d4eB#W zZ6I<=&oeE)Uy_EcV7l*Kx8Hs9EQ62R?7HB{-$pherVD6Q+So> zX0f^Z1cT4GAl9xgFOE$HE(#+_#;3tPLa0q`Iah}Q>!pOO06 z4Xu;Rm=5ui;AZ=}Q$bs*LP~cd?ae#U5{IO7{%mRm4A3rNjk!)inK(Rz21FneG~m@9 z^?h}>n>HiSewyl*(#7@^)gC72*Kp|akm=)J!e|^ zzS^Vvfu5$`wLwC<&7XheO5C4P{Px@S$QDX;XTYzsFZ@2mK~vmUn-@N{zLNIkuaql1 z!S9+k%BLjBu3}PR$=-H&J9TNRD@?Rato5`ra7DK}d5;)#y)@7{N2i-X{a*kxK+M0) z@KsE{v}8#H@Fyf&S2ri&@lcCw118P>OZUm`druQ1$Fq- zs*8R`e*6GeJ&0v(U>St1uo~ck#okJCFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Ow zt&IOjE3_WY^WRXr<^1)Ol35PcplTmtr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+ zMFuMd9Vrurh7cQuEIa&aeitEBRU^^c$TXLyEOb08W^7U8lC*16^fX*C!b+7YU_|ExbHVv6p3Y~fGkO`bzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1 z_~e!ZS*tveZ2r{Nd@WU4LLUF{9H8p8NfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!- zEI+$F6+2Vp^?PTspU4w|Y`!q531;~x{O+UL=l~4o$&F)*W zz8h%BX(tCL1OxF7%l4e?mRKyHls1}@dBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}v zH?!Ww%HrVL=2Qx|^K<`g*N77zwJ%qpYj8wz5TYWDXHVd}W)IqfO-kV3Wc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi z4hRB{8wvoN+f4tU>d3UD{U+FXes)alLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l z9PC!y{zy46r$GvQI25@;2cp0y4S-Hbv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>dL}KNqE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!o zf@8`}LfDifK~%z{15K}cl|`p$K*Ya5k zaXdXCo6hrBt>$@GW;3a`mXRcwbSuSV2H2?V0e1fElq?S-l|!32x zupA3*2VY6%_A|QH($cTYcdjdVw{)5ycxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODm zWuT~^CG~}cl(5Sg$=%XcalMYL&(@|}>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs z2Mm4habWvX60>NcF|^OO|6i{67bILm?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw z;5`(G-Qf_BG3LA@nM_3^%578eQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1 zZ7v>5lj)o-S0_Oel(bz4r4mSsa!DxKuByEd$)a0seFk1GxzLcDOiYe%H|KLbS&%*dRTNd@NS2;8eKYZ18$er zy`P4k%Ie67NP?dP%DK##bC-|FVTOlGsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+f ziMBt#`NRs#geoIZA*GezvVwv58ja;)pvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19sl zmBj|+rgw(`8nIuTc2y2T;Jf$GMu>b?a-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8 z%ufw`(gIfK#$($_P-?c)_qw+g>=&ag*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2x za#@}zeMKs@9G1AeZZo1H786l>g6T@zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~l zQ`c6{s(l)oA=Rk{5iE3c=9vgYAD+w8bf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ= zkW(Pb5j4&;gk)nQBg)`+mCebu*0VF4`DcUG#fz9*g|= z#7mjXMA>(J?yjKnbr@{eHA~JbA~bT04DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f% z3mWd@!qM1mdOef(ebn2R^E*XLv39H zU|-IQ7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4yiTFqhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z z?PIjg)oV>Efwg*+5^5sruQ_a#*!`!#gBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9 z;XiY^>=&)&|=$Z-7`C?(;aeN~x@ z9skAM>No=gE@%@AMhHUgz>Dl22Hq)`zsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXu zIN1h`-`&DCy$*2RApsB)|7QP;gv!ha0bxR|&Ho8(y zB#fPP%#Lv;Qc};ZmewyAZsZ{$xItpIm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_ zy=mOgyo)TWxF3pZ!gTv>{feN!P%oAnMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ z%(DZXFCGYhIjby$>Ut=GAqa#dxf^`nKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>k zUPU!BQxDugieYlXAf^&TN8?+8Cl+$t6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@Cv zxLHdjGMggGxgwEeFTg4wKCPAHySovsSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@t zPLSW!&uWIIVnyA-5-{a?-sj;_!X@QpP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDa zBdm+_c=us;dd}w~@vHaiHOySVYSV_a8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f) z_&peXmRh_rW^W{MGTeuRLixsFCx-rV+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0m zVkm&Og+h6MeC*u81I6wATa8|FvLvj3E;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x z3o#mkZu2)7F%%C|nnGlN=Awa?Ba2Ek@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGLUopp|Fjun9p_VIkw6~zuVg)zB4aF4`@)x zdRZtDB7J`h962bN))FBI^aN3giN-@bP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYw zSg^2Amg4(z>#+&6fC5W1=e*UM9bgjoS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*; zh@_io{OVHEFr#wx;tc+FwhSx2CB>gevb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBt zLHy#f3l8iBqi`Jw@7_}5rv7w(ok^q}kqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI= zHV2kGpu}eQ8ByJ#td7}f8T8ByGc3CxyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JY zmi3S~+Bsg3}NZD8~Wai){86M zt;h@JA^K-0etE-Om6#$XD&m}$G7(AAEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!K zZ{#BJ4_aD|sI?>WeTGKR{IR6Sk4-9GOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1L zcvLz5b=9rSNe5?aC)d{1&C3!wt@v34A{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6} zDkV1>6NP@(r6@}z^s=wLOBHQO)nvFZj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p&S}DSRpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^da zS0K~#1;$9PC2HU?k=T)$#-{rR$)Wf)h-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0AB zB$P0yj+O*!`P&pciG-&xvn=5>)8k1eP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})| z@Q;Uy?R@W@{WSpBa2YJ}buU8A%oZS85ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDT zVc5xjiVjw*oP$%g3eLq8$efPf8KOmf*ekqzho< z*kK|BGAANL^k=@;b&wd6-V`du>hSCHxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagE zNh_s4JsIHs=KZJ zrV9+fu|*=lf2WZBP?O#8jmJHHSP$qo%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3W zQEO?v#<5JPdyKuUxfq=*U55=7G|W)Qk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT z6lfwIopj0(tG2qAz?6hR8+-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)} z`DiFgLKMj$QW7kHvQUy6ZiP-R86VgZ!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r z^jE>V)v~>6zN!7L-$m*3_N`w&%zjY`kN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1 zEdsA||9|}cp9MzJM{WicWBa|%g^Vb65?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3b zUJ_MSLRPb|GdUNR7$7_}>DEeT$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W z<6(c&;NNL))Mxcfk?T#1{pgXFpY}b^syEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MH zeJowIwkkqC%l8vapktr$_aS3^V;`tZ3T#=Hg2Q}$?-r5n#t z-oZr*A|ru-X>pvnMNW}Q?TFCNz0~1L8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B z7G)-NdhX)id;97U>DOeA%Y;#@knmAsFQxF*)KR7=hOd~x$hK+R692;Ez}V9Mmd1kBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S z+|9b48~BkK-}_`hje0levKz1N zS0h`GW9zUIciC-!qOJzld-?J67;yTtFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*& z0tA*|^u9{i?Y5G{!7nu`3~OIjJ5swZR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62 zYUS@BAmAsgmc7S_l{WM^M!U-ME zbNq-uwxwKuQ)mOEJ@}01m6*nm3ot(S{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$ zSW!!JaQPVVbS2O`eIUP)A`P3Xmi1{?wB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z z{Udp3%KO>427$R5GAq{f@)NrQSes4&{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO z8mA#ga7)Q#fq5SyFL!Z#QqR9{XE~iFOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568 zs~&+6Rz8{k+QWE*b6VE31hHkO{6tq;*tGj-IgY%A1DdUV2+WGshvi4c$)50JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032 z^8OHG98IqBwBaDXoByk38!GQf_F#ba(8Pr zpyQ(uf_Q|hX!fm2q%?T*>uJv9fvDCKA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`N zC+gE6g6qv-qKYWZ1S8SoW?V?h8kh52<&Iai$HVE`;mrGc7Y|vkT2s9w<`2mDe>p>_xcg`h+MU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJ zsndJecDK^+xOGM;CEo?FU3IFcg$jjPq!1yeK>#l6s5%RY!q9RF=54p~l!jK>fI!U#{5maH z%$j9Eh(;k(j~$F31VHKV0qH^awfhQ+;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bm zw#Z&Ijd+h9Yk1Ng-WVn~x}1dMY+I-`riJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD z1W28xQj>Z-LpDF+;+4hX31GWwA;ZE4pRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7D zTa5R><1%IiP+q5dnPYO#GjCh4cN)({@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#C zyDi-Kwl=tf#m-@(VtoF;+Vv_}TDDuJ#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZof zh5Ft%&!MF7;1{&y6zy<_&>9?qT}A1PdDt)8-)95e2W=`ZByvc@k z*T9O)jafwQoD2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN%iIj3i^tMMcyD_~>&hq5G7Gc>{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwU zg6vrh3d7Y&2e!pf`A{k8SsYM2T!%SvnM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5zhZTNJt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^ z3ltWrV2AUAQDU)Sfkv+4uEAtjK_dyqTYht#QNZsH?NgNFArW4U~I(NV=?TiI3FjWD9D3HLDhccI( zq$q?KAOjKSE+6j9&Tcn#i1Sxu(?huLEp$4wQa{RDi4(g@N7(q(zH{BKp6Gb6D|3wxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#df*Sd(k%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=Fg ztpO<#;`?lgJsbq+?IW}7&xoJz_P!O&PUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c z#h_Y$vlAUDD@mD#NjA0I{%zbdgqGefPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DA zGrBx)Z}YMi83NbGzm<{hdP@D!#VX&%69RKoY0^%Mx5)YloI z;LHQ&@u6pB2`^nB7e*f%V>)67I4Pzmk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5Z ztTUq=x+ARpTwyQjInUTO($($T2Pb>I3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE z)}t^T-aoP6(j~y@r$}uIFi3nqfyCZV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NB zu4CrK*~eje`T#hlqc}Ldk0z*vUP!VL>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD z#Z-hqTZ}Nn8FV91esP3E@=+*6MDi2BIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80 zm?h*i36Iw0;Z8?fKJ<1{A9VAw#TPB<$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU z6O|!54QA@8@-{f3ty7I09Egi(B4vLtOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B< zC$Hpbss}q!ls|JfHeka4Y-CK3Z?}?}9h@8Kmu2rjagV#^^d~jS1X)x0PK@+}F|O&L z-AtJi^B^8a~9PdcR94m+~{e zwB{}AcF^Ax9zuHxASh@x4xENJRnHRp%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WK zl>KcsiCO>|ltjXzArS%+Gx6CAhtY1m{vE8m%7-h{aS z8O)Ct3ejrvnGF9({ys+kq<_makc^MOki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^( z0q9fGVoWel`dAxWFtBMs3~t^QIJD9d>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6 zPB5eRBj#wpRih{~e|H0^NHlDjk%;c!v$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{ zy%>EyXk7@jO6BvGa=CwbQr;%hZO21%_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;k zWZ|6GAWpOb?qU4`oe&Sbk5LbE;vmW)K!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pO zn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$lPAnenU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD& zPc@J?y^dVLpfWOaDvN}<*V^bT;Ftu%4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRD zxlcT4vwwUaES%cZp`xaobf6Qd-1$xSu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5 zKZ&3@(_W4&=daIV8t2^hyinh7Jm?#l_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGe zeVKG|dL&e8Ry7kaQSB-o{?JDD{|z7Qb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z z4(*})JYJKu3q$ru$#m<=LDB|_- z?M54xXD@|@CJ8+N9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIth zL=tXMY{>bm%J`~j&h6mJXb|ng3V;R-#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t` z?lDsyz4qYN3Op+$Y3;nHet=0k~2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|u zfx==&x>e|S#q!KDiDr_<-g`Ct`uincP@dc^mV>RB;4&s95;s7X z3_;F$^aEg2feL8g1i%W#z{ww5%+jmNiC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz z{BGYrXRR~=R?(!=u4t@d8jVu<1rnAS_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8 zjBEcuj~8tr@|Y|Zrk5}$^~h!T1#C#vA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(V zHKQ9_>IC22XRzPuq{$xOsb?m~S0EjBbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1? zhJH+P!2L@zqF%4xIp;?GQt9aswQABrg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H1 z6)8Iwy>X@aaOHi#HL7YgpCgb_6evbf2nL?leGo<2@{Iv(C}j&eBm88rdaC*q z0lvm{yBEPxrVuo!o&d|tfg5{--((GB)S00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8dIf9OI2ftQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}= zs1qli-a5R_f)0x`&qrbh(hi_Iwxr5G-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(< z3%n`~?%XlpL|;9t-SQIB&G|dEiqp%2CO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJ zgU!rG#=J~ffLARhfig7u3>`K$_ZOh|wA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$y zlXx1!)gGZZ;|NE9;l_?DfzA!HS%v8jgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96 zzBWOdH9#3$MUTWpk$EDY}w?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64w zn=HfO+=fX#U6?2!L`b!G;7t^%p4QUCWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoW zTjU~}!;(b{!+qZdVvXIV06lv>Ybq4Oh8GTn$mItL46dJssg1{DugK*B^3wZ>6qd=KNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v z=rik}`JPg?#Y7=NtO1BB3}PjX9l!Bv5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#; zNiE0E9G!v4kOB0DGJ%55H7r(n4h}THyD(SuMOX{GlzVn^{@coyBXdVbAlK>M*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hi zj@v0uSH{AH^gu%7JdA&FVP^H}cK{uiKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$ zl>=X4&%fo0KIY5BNZL-Se*l*CFO)N{Z@Mf*AQB64!e4CewHd=T(qcQZbN8V}1eB0} zS_2k1@&|_a&AbI}CK4SN@%;z+Dvdc+9>*&$8QAzM-fS)b&{WxRzKK9q7#PSswyW&s z=|O#ks1-n|6DAY%upj;X`B#^uRVv%4)N&^l`Lw$zs6-HfH|d)A8&hA!os+enPIUY) zAL{Fs*6gQ^6C$drrq}&rHrc*J*QS(}f59!(s)w$o7Z#tb+5G%R?t4a8ty47eMoza7 z&Fe9BY6gGMj= z$Y}m_{`>mKKQ$~sk_6S>eUuwVgn4%}SD3cFnO*vvY3=`#_h0?G;~9njm;bvpNR1Tl zqsjhWheB>JYCb)Dpwa|JY+>eG0LdCJ`)EiPxgJz?_4Go@*a18!+qeDwTiOs70yhSi z{w#Z97`G)srMmY09ezr(A``^1yNkm5Q@ROv3E&O*vSDjhBHWDuWj>F}!uffdVs*4<}Epr!gIfh|}L3ULwY+(V%i8S@^El7;#$6e65YN3rAC$L_+%m z?JRo*f(r{1b$Fbk{0F~w97e)~XKq{uXJ>}xfj4ryr$rDq?>yS_@n1Ev)Sk89IN3F~ zk0%)0-QYP%Fdjy}@<2&spWFPgd-J`=A;k1Ha?fsk5I)Viol!_~zR*xHJmqn-&-@oI z`&*k-5XatH;Wu|BVPv1qoQ!+V9tHGO~@gOt#dSK`yI{ zz{x|G@g$UFtyvr%4M2T3$Fs9`;iCv6@Y>5wy@=}XU8XHwfeK~T*6mje(dgO731~*a4Vhz!L9L4vAYlO6 z0fYo$*jo!@Zu}S0$bBeveD} z`<{>bGzUp)QT>y%4xtPoh7F*?4oG1mEX**1r$^X4Fu`C~Xgb`&DoR5fDl#3RDz1%B z-;qBP^Nn$@$=$hfdZTZ8>pw-lx1qarM#Y{x7Bz?~%eYXs38=6_!GPJ~Ol1ACS-=oH zi9!PZGuLEsNYRjlh1S@Sk&Rmke%lNlzQF{)?%6+v7!i|%tw7Zu3%9zG`zkJ6$@1(W zU3B5_e-+r={hzCPXz#RP)}t;?|(JTEF|!vXz0RA6Bpe6QuF-iPLb5Jwv+ z=z91oS&1?$al{nOF4 zS}rd#E@c>$%rMz5@cypw(lx|XRF#fcX;xLt|RH{@hvrHF-{Jz1)ZOGV9xC=;7?-`=At9g3ZobIJ@3T zcF^x{wccmsZ<|*}YreZ;g6pX?G%Gh#0L4*u^3rgF4bC^Dwb4CPIJo>Jxej}aUC>vH zMfjO;03nM#D|_P2hCdzzJo8c*;9TOW6S~FTrH$Wq)vv(#9D>!O50F7qxuxXkEsIQP z8D15O(h!+g@+X}jlPUEhrG>X(?c9O41*Y4iPg2-LurI;JE0f`p0V0rd`Guwdjwg!DDTHOzKxqSpUPzauwI+P@>$4jStXoWR&?Qj{VMRmqg^V@uvAkv({27}D7T-eVZ~zd~L4Z(c(&I~A@EPxX z8JT@z*o<@KMzGoGEHQH=R)~&3i!uf?S=1J@W=1(i6jLEYIG51_=y4uW3WRWS9VAUc zvdx(xnGbex_sB>ymq`m5*k@r$4x^{nI&CrHTu^N=fJ-iA?FMhq!mQ0w>x+{tedf!H z(knQDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJ zUhXBU!d1;ZpL&e&e;B!W+ifc=6m+!VEccP0<(@}n@%3H4uO59da90NUYWE^QV5<`g zl~uplM}vPOmg3szs7}BQB0WJ1JVD@DeqCSJ<0otXACcI3=<+?jH&qp89vC@povh3mvu4dnvu4dnvu5N%`C7iOzoynl!ARN3 zI;%Oly|nkrcv}B>+XCi|yS_%6llVbrp;zkg7mfX&y~6$dAgTW-6FC6_DgtC?3yPih z{Cvr5H)2b9 zU{unIo=dfS7j(^=Hf-6mX37Z@C!v*%5I;y70i+s$>Or7Xp%kD%p;CoPs+?s?;QcUn zS6B`E4g@esHN)#;9ps)vp4sH+vC~27X!5w;0y2bAEci%HG75RR7r7gok&csHf@Szb z&}&y@%?T3nOK$F~wv@a0^*<|?*4F(*p9+TucXWdC@eCU!U66MqAB+xr0&JU%V}5`E zzD3aKkb~D}@g?OJT);lBv272Bk30#*#X(2>q0I2p*IS3Gegq&#Q;^5cPp0Q;#A&3- zKDK1dwa((ZMd=Sc*IOmXbiyEg!a80aAK77J0~)@pqIC_AJ9QAn2rq?#)!Y|_;}WjQ zDz1jXt*0kpr?0Xv$ho#5^+77YA9$11jo``|q&3U>zAtTojs~gINgsHN8Tf!d7~gEK zbIrol0!b^=jHvhY`u)hnyFPujf1}>b zTY#axBe)~JS$lpy`*W$5xW)t~IXT2VF8XiUB`xXIxQGV6+|5J@_q!P=AezuQ!sNkL zerQ0qQU9LYtW=td!8H9`H1BOK1N2Z9s6a*^+ z!g^9#77vTk{p^zS7>7p&l#I(gOAHD&g-Za3S4AD9JG%Yt&$gJC5@+$0OGX|%<;{!S zix#yH1KfPg(GEV@LojA&VqZ#&BJR)Y_HZnZwulPtU)xZsn0`O*FuXW@A37l#BH#$3 zc@DALCvfw*3l;jBdagwTVxla-^}zZErkYcEx!QKb$J?gY^1{2oiMrtP7B9MXeP!mF zu&MJip}>U4*t>!D*gN{xaZG`u=nqvB#HIo1JNSk~kZdM=lKVsg01DDwmw~XGfRco1n^SQMgL@8+T-jM)riZltLKmD=%guIw)FPju?^LJvh;tu@y96}BBkpav<`MU;6F-80B-UtaX9{MOFDWi!WLLjWbI^2Rz95`^< zW~=^@21Of&Sh8hz_?{}?P~kiu#wgruumtS+Z_lGM0KPRkApJp3xwo-z4pdW0ad70U z@F{U>eXwQ*U~M>#xQ8OTJUt<-2qS*rO#j~O+wgg#VA^a^(Q^iupEGlN0)q$T7Z@-M zdB=jl+ga0ZGci&>3qw#{T5NBe`TtTJFr4Y;^d1zcPogJ6OhRQ2mUz{?#Pm@SQGh65 zs^wdo8vx81X#sI`;+JNvBbK(a0!P)6ZQHX3c@G11{W7a=@j!7oPA5sR%kzkxWEyXx zD7sU}9>P82NHE8)1D(b~P+!;5F&*f~E7)j^EE#hecQh2)jMY@}yN+o@u>iy(LPgQLrLn^E}E+TEtMQY`_`+4Da}i z@2~d$xBAG--gU_E#BEYOwtj%|TbSWE`d)I((hTP!_a=JK_o6Uy<+Deyo;aSye{uir zs7hc?i6W_$n1j85;$MFWrD7#QZ9k|YG(*`kt<0iz96%%|At`S2v2x#e-hI%27 zna%!KRnY=4v`+x;ayIk4+2Oha;W;*DO}b&5Hc8lfT$V96N36<21@M^5Xgqp6g}-Yp))KiR|vt$c$%(X&_jBjf0hYj57zSW=Cj>pKjf0n%|Fq=oZ&(SSd*s! zE<)sa2-cDPnj=g_t5q|fG$^L=-X)Q2*(G*?`*tp!8_9MbASbjTzdiU(QcN=@OTqLS zR!6$fmmsJ#e|{xO&#~45=EXEb>yTi%`xT2)%bnWkrx3oHM$&K69GdQIV!89Vl{o{4nH%r8$ zd&+9*Hilg0fc9bWD77tRaBVsZE?Zs2_WKtcj*qwmZo-@<(w$uT&<)cux@sKJHPHd* zmcDW!y@o96TA`+d!ZQBtZhFPJesh)hyl5)HVvT?;*e(c-n3&E2--d`a)s#1iiU0;L zgl~k#5;azqrjEBdcA|Xy0UM~mb~GN3FdoQcjg9u#klpe5-C=JsW*)Lw+|g78uspE< zNkHGB2!YK4>>_C2;NvC ztfK&AK%2iz#?v&DwC~Sud1#=4P827CQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8cO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif(_27EBnpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`U zn%ZJ1&Y>k3^8{Rhx&Zf9Q$h48xX;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4 z%>g2Iq>=X~{#7S!!C$2H+Kd!%!<2Gh-(T+asuLwd9un$V(otga?--w#d!W8=jiTfG zoxGV_5)=IG6nEZ%2+@fbbtt3ftLvAh?1s&o4$9OpYGJ2{ip`ZUU9doXd^( zx*iAa{uWQ3I8jiscLmEGK@$aKJzC97C{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{ zk$LOX6=0V97j6e21M2`dU=Mitrs6xfwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132I zZ?B8pZ*R1pdi+PHd@$|-{DxS-L&X&)4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk z1yMzcu|-iu6j5TVQB+YyiYmoXVv3@R6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?# zf-+8*IA;vuoHORmZNmo^WHM!X8lu;x)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$! zl~h$wrBxMT5W~#PJumad@X~TTQb;pIBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh| zW~Pv8A#}+#wDpRrDyX(eseMfMnUKYnOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf z8D3vKX3tYIF=f!s-I-_3RZ&$%jFU5;9QK)+i)Isw$|qNuMU$fLdmDllnP7gM6KWEEL@+{0a2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d z#$yob=1`GI_WhrY#%J{(>LLK7QYoPq_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@ zMR?)?8m{-F6Qx8+oSrO>$qi^{*$o*9|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9 zi~CvmyT8jNHOd+P)m^=ug4yrTh6xFU>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b z2s11{*k)H0L`{6u!`DLd_V|b5Y%^AeKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p z^pcOkj0AHAH?iG7gpELbTcG*PiI2hM171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+ zOJ`l3Ep%)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr z4%GxovOv1%!APYg>j^pRQv26;1Xb~I{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mx zi>nsFm6W@B*kLrmce|~`dUT-zu!+SjvzS&!4Cjk~HWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(Db zmV{r+&~8sKAzUd;L0qnQc@#fuX$u%Z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+ zr}?-bLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;m zCF6Jyh8==9y|K@jT#=$kuPh(!qlsMtSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@` zUWb<3sKCX1A2-t$ZK)A!TJ3(Q+`6oG7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNx zH`2pR&z%G2pv>vybgrW*Ym8r2s`VRLylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ z-Z~48Puk385out;|1|qFNqPirwy5raZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUm zF1mn3D1~niS|@yrr+VmWlX9KNqR z*wD{p+yu|GzFWSJx4btxc;6-rM!x5Pt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g z$conjgwGO+&#~-&a1`@yJh8ZpNV&a}w7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3 zBW5zht{*=I{u|+yuhY^PM#u#K{0s#aM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rF zW)sddt!HmXK3stE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$* zn@#r53F4Sc;=cRC`@HTI>yJq8hsAHB#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N z@U_!GvRb_@&F$}aYH0`i1$Ki{$Jj5rjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo z3I6Ap4j+eKaytab&MMv2%yp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$; zZH8JFJ`%M^cuEEjCF)Fb!|BM~?AlD2EWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C z4*BAhDG?kLPYiLloKk-S+NC;pMg6~HwfbX`DUlN#1fb_95T=Y2LVGlrrIea^*wpC{ILiT3YktRnh&P#{Z8mRd%oZ`u^-40+Yt?!5&PFs zSyCM+k~3NW(H>ZSU|?~uOFU{G0S6>-%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJ zVAlBkUXzPsrMeDb0mdP@Z!s&#>DmFhPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo z0M>EivUI9|9WF0*_Oclm*oa4y`6d{?NJ147?$HJ(!t*ARDIA5rW{;RjEs zNjICo{Kzm^r0OOcpJVL(mFc%@*tk=MHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GW zPm7f|_W$pX!+pQA`jKqoQhY?hMe=4d0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzK zn2+U=(DEmpIe!u#LSx33Rm;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2 zr<%{XSa+fkBo*-gcr_NRL6;%8D1NvCiXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E z%B9eWi3oaw)s>3KX#^oR9|vICkcO_(l~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V; zdzW!(sd6s5Bv&Y#T-bCv_{*y%_!qJuFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf z1;AUeH`;V`zjmiV>205V)%2YujX>!qn5s(>A_7{a2!jx+>9cS*C%@c6{cVIjE+3<)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk} z*f8(=D{?t}wJ_b%bwLnOMUv9O zMTpfmzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspK zo`;&*x~H=M9BI}6EQ)I8y`e>Ki2WXmU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0l zXf@gZrF1!6xu3f;8`*B#@u%?am1xxcNW(V_ZHWJ|E}jWkh6;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v) z=R4#?NryEn!UZ%F^4PK8c-ueT+VD`_@zDL`H9#WV2x1>GA$g-pY`JMAxMNV9JT1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB; zaBy*48nzaFt*v~mSY%^HMZ*kli-qlS)oTsR3|nMYEi~1#Ep%#|mLJ#o3p<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+Pw znPu*_wAL_mT$`?Z1EG@7#NvjMxCoVKF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A& zjti!)$7&c;GW5UUjoth)1oD7NWvizc-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00 zCqo2PfnXVgpd_Yp>k6RZmSxyud`u*_k^I>_&bEvSy0|xTibTE8EZm)kbV!xYzuV(!Gf$7{NWvha_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZ zec*J4@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHg zf-*6W6yYQiM!I9?i0zv9F?bYUib9!GJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vY zNpn*V=Q`#?42DdEh>;kPj6pr;iS1=gzB);a9#v}Kp0908bVM$)#Tnwb>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v* z8aik5{_=Rf9o>(w4%gnr^q`sOIc7mnbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!r zCm0~weTZ3R9zYnvZrZmv{9v}E>*YlhjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5 zo{thXt%&1p!``V9MZz3>ora7OSWpU~kR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt z#tVs06v5BKx{kKdbD|Fw(g?CBho#4!;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+ z@cQ=l0hQ!!k+ucAMWkRT{A6Y}&{w0FoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#U zK62XFP}=qdETR-ySt)kn(Q+?~#4f$jOhzdX0Gk|X6|jSWnX81bE^ipzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|d zp1HT&-RK2X1rU5+Ywmy7jimaEb|vC?2_(BBK8D~_{J1IF=<_~zQQ6c>DcU>%A#yz5KtO-DLY!fG{&d+EIvEmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3 zUky3fCPw_o*v$!4-UN5VU81DWXLNKWB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi z9A!(gMC{DGDM<*Lkbx4h;}wIl10ozzxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{ zuoLWSt(4%rKN zwn6RQf@_RAZoAqvK#3@jhC@gPk#<{{qk~-)QCv`QPseKE32T@e9r5eu!WKl z7wL9FCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdF zh*6m_y{pKo=?k*ns~lJtBm|5?X0RUsQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGS zF3=oe8dhdzRaI40RaI40RaI40RaI40RaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4 z>y+s6F$Ehu(pa=w5Tubwx+*12%0gsuz@^=Cv6w2oe$g@$7XgFsokz^@U#7vuj@r5xH{*k8@o2wTkCC?pM9+bH=gHa#|L%UW6K zlIbU9C~qqKS-o;5l@oIkLXZknP$dKy1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT z>c0ff+|xr;(?wBK)m0T#)l*efRaGdJM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_ z&*G6?>{1amZAw^B8b-}3ii{nq66IlVhMh!Lw*;0^OVPx*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikf zl!V;jb+<15nV~hF*5?mJ4=3PX+auf&`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%` z)SLmvH0;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68P zwIoR45iEpL5dGC6O{2LMr%bcS6s2PyvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_w zMsS_Ih(k$_2_3}i9kv9$277H#F3A%xjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^ z1NdgUE#h#C?8nJwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an1 z4Ty$jO#8g8mz(NDoo%|clJ>~~2SouGH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^ zxu1JVXb5rCL{CKp5dAn-u4rYSQal5Yfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K< zCl%}$;BGig(_?XYwz-Iy7&v`c2bMfHa{a;XRqz1j7gD_<@00(qcR=xL=WlnjAc+I+ zQ}m=QRX0fA1|ph*F1u0R%d)pZCHcgdz4X8zYUe!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T z@J5ezesaI&*IMmV(_PA{86q0=FpvUy{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^Bg zGzR5en8In7Rmh7^-XThDV+H*f+{%jedq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs z`d!10*x<| zB_uZ&x6X@a+1qrl7|8<4)3_D!3^W8{Ac%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?D ze0iNpA;_Q8Y;pid(h-v2u0bA;SGzxP4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiC zC!=cbu206CLF|%g^Ad#g6Hk$g)qg%IZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy z&0w~E?l6Q5&>(H|`z=$Mi+!2j2DvV zIgz&CJ2x~39mW192mbrbltKXq{cC#!d4q-wLOu8l5CANE$j-Dd5&imw-ZO+y z^d9EQtmXjMp%#oKC1adN#QpMl>ijo$i5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&IN zUYDfj42_|dqo$Xj$^roSsV!RjJw0!otefWP>6B%}~{|F^qRu8BUXJYGk&& z-(`jU;%JWTms)(^BPQAYE-~lw!Kue)A@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy>`UZ8X!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^M zHus?tVj=+6f`A;;Kv@ES6a@f1Ps8o<2`7lG-yU; zF(bl4#C3?)Gcix<7&gI$ia=L4q@}m~yPUg_hui_)*g0Nmz2~FfQsY$?wU0kD~01tX2=hYT0N$c>qpK>>3i@;=;s{Z1XIs zvFkA(uSil}@$CW9ZIIx}>awYBf z`IK1TMJh@p*JcMtZ&8!Xh=`D9YkYD2e}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih@U|8&Hff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ z_>3#aOUV`)mJ!}K^R@eLdx7}+rm2c(3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+ z?uRp3xXx#f+HDFA79HZTMMh2sAv~W-AJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$h zH%Y_M(ChTpstH@jd6Ijy^2htU9{R0(2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756* zDlFVS^9w#Zrwem-mz+vljV52?td#k7@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N z0&5 z_$*Jo>wXE-m}NNwma5RK_r$C$sb94%Fme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!Z zaqI0EkUvOuBf|gA&GYvlf6d$56)9SV0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH z!e$#4#rXC+9JpbZf;a%F`N1KV+M7Ot0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluv zruZ%?=st@#%x|sB;4bl3s#$Y<z5cWt%&x}A zj~Ys(-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^qG}l)`u7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwE znry`PQHP~-^vKdUC$cE(UZ{zBd&uG>FUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U z^labgf}y>;!mn$(LC2tngTqyBNPNVfTDxEK`qADfDN{3jxsX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#( z*RfnV-&vESP2@(0=vzv#GflotBDNJBo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@ z{0&z?jFK$A3qj}5z#`}NwCKGYvAKX8EQquFs*kfx>eiL6!YL}+pE zCa4z%4YF zWAlkQQwf#K^;I)81t&w%6&G_Sq*Q9k=~XjmA0HndA1TQBTpP9sSc!wqgaS~vYpE^HdZy_8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7 ze7cEy18iC3DQg>Xm(UE5+~ZllEB8_{#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>Of zK_PE_^8!Z={t=Q!_FTlqe%`iU_QmMvWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0 z{`}M1x7Zak)o|Qq=2)mMG*hOk zusf~O2(=pyebp+i2ATt_D;*V%41Kk$x%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf z96~2T0>X5C?nL<^<9mLy-yx9J9OMXxqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U z*>;jDf`|pE<@33^_nb+6c(zx+ER!5$ChStz+41KJ7GW(Pf>w#G6J)?>4_O04m(|175Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~ zbE}?>1CckBsYR^!tkc-)q3)%EtTVg@@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~ zB*iF6YGfK8HF;8fiBQvS_}}=Rfr|P?1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s& zWMpGu=oU~J47nEkt`#Y&c9#!zu zN;{+vKwh{Vy|W_X4+>em{{ICqQvo_e!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qS zY1>PIDcb3|mMOq1pwumT$X!F11Oc3cDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O# zX)dOeCTT57-QrRu(n%>x)VoQgfNLdWte1&alpcUALK`F^LjCPelRb5s$0x!G%2=qu zKhI??>1_75trqA1kU@dkyjrM+ru3yD-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J z`gtW)ug8Jmqte&}e4cl|5gK9mwus5>D)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q z1e?Xrgg>9HW=+b&<6yQ!O4*y9jjvZ> zAAcy3^<@4^m-jXPZtup6&XX%o%)M}fktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP z;mZh_5aS!ZA(SSrMl%9Qw_hOdVXwnQjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAz zJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z z-L)rK43%k<9)j{Y9+2wtA~ZtNVuAZYG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+ zK5wmtz8i*jRxZ^SNIc63=KmLX_x3ALVl>#vVGbWD;okC4X?yE>@CWjDRaJLAb8U%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb> zfEI-y2WY%9i5qHHsYTChXluDy*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN? z_m0D*xJE{%i`agB_ikRxlAtuLd>=`k+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~ z^i!&|jYwV%jmW{ajvt2@QY`-25u>W0n7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ zed;$n^m0}|NvuebQjJnXP6pFd%+95 zzmFE2jf<$;$RqlcM9U8eJy8d#P$DAF4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1 zaC~F&W_ylRk^b(+dIu5be#h*&u@d>-Tt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X| zyKm#=d1{pM>txw=bye1U#z=_}{DH$1^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x z&meg}OUswP`xG;OzrKnMKEJe?9 z7po(E`sK#-G~wEYBVqe(7Q{_sL+7DQzd#6Abc~T7KsuzqOMYAH|q88dtSCR;Ld`f+DOizjH6b%FQYZ(kI%=iBfmi)go=P? zwRmqQ4w0O(Q+&ijX|`O=Dq0|NkXbM!*VH6q2^y__OCSD>UBK*zKk3N~-pytg-B!yC z1+Edcv{o}<+Yp;h->~XOv`4x%$XuQxc&nk_OXm%;4=U;p5H z&_`}rBNi1lR2mf2?A{(9{WCP9QQwBZpSfG%(M;5a!~^ldz(UvD**y2^t-XIMyMK|x zo8)B3#y(COGi1=FHJ7*EKEC%XOg2?n4}mTe%vr6&wZGTvz3unj_O-O?D3j7EJ77Orx(w!-ykt{$Dh-ac-FddCPct(9jS zhbb6+#m2`8Rw0i-5a!9=?fDS((n$yQKtwe!^7isWrcd#0bNcYnrVJY618ZlL@cAD? z&^lHYAJTPLz~6|i2dil}S$ZqJ`bHgasGx{}K~D*Ib)PTXe(fGc85q2e77Ii}PJO;C z;Z9tv{ZxAo@I2{B1C@bTy^ZtQ<8-STKeFloA*iNDamQwmD8~X|w!!J7Vn(Al+$tiqo^q zBL?wi(}#--4Xj|n@9A)}w?0mWC*!?l8A1SDCnRNtV}?DzUgWkCX@(cE)?ixc?rq%K zvG4=%n3LCXH(o^DV2XDHF+i!ueODA7hEdzQ7S1;}RSaF+&F_GgPanoM^1e(u z^>)lX*8TtiUs;@>*#k{>KTei723a^9g0judG3~{;RS|!>2e&K{8|m)G=chhw&SHWN zyLetm9f*b_x(LWdjnKP^Tn@G{x-Ig*OzmdC!fV>-gQMxbfc9cuxm%s=P1o-LdtJv9 z(c|ttcye9>P$EKvsW;H3a>#Nd(jW*=P9Pu7AR6LWLc$h5M(K3600w>$~3UQ zNJG8{D|msrZEUaLFkyQa{Zun+WQG`Fxw|XU8JUF4$Y!LWQH)k24s);W`?=%@9S?&Olns7{q4$$< z?ayFc?F0#4t*ecbzFC2ru0@svL?OUi^ zu{fN*dw;5P&;6A+yWSG-Ix9X{(VxYr;%?mKiJEq|oyi#xM(7ZPAR(6M38ZO3)+bOU zRPa+`mzP>V>ElhWK2yx=w_lfwkG{3vPM*|ymKPqn;bQ;a&wgje$xvFGENJ3r!PUBi zm*6o2D|GR?uUjU*V*_utKl8@fVHhD)8@PSf&feO-23aJGmW}+SXRQU@&))sNxTqhY zn~-WO{9I4>^w10+JfHc0H?RvQ_-FNgEG5pP{=P-3*DqAjfgq@?)Ovzzm5(g@F*|gg z)trxI&{Cp&rAkoIJ~JhO4m*Q+0&?LS9y-1sT?$lBnj=-g`lYVrFT8ucD#%=94a_8woqGqU*YK`vY;~ zT!9<(Ot?1a$)nLie`W_eot{0Paejy*zNntmUX3*>)OkpZfl=?yi(a{`k#jzvD zy8b>MUayDF@>nGHWy@)R z8v%gMi~vaj4>+d}=x7o3mqW<6PYL0hP6ZWIXqkA8xPF9?Zomz(6L=fuUH8|}6M+SJ zK-?h%_N(;pNXN%#NdCc!;b4i$F^pnEQW^~#N`N(RJ8Nw7NACcov}!l^YN>l2hxOjs zf%gUg_wwBy8*2TlEO*D-=B}&}dXE7X!WaFE(naOP-Hg;-xI^NMh!FA`%c@1f84{mI z&ks2d%!}F^&*g6~=j|&}_FLh52bzI6gH1 z)yadiW?Q;O1nNG2EOMuq3OtDsiepgzvyUT%q0v?UvDukVhH2~q&7s2vhcoU!ME9X+ zDBuALk)vb8r0^`fU*FWgVJdA8LVIND=WOKb9^O9{mLc}O&rvidllb;1M-u0VUIbGV zPiILsMAF z^;or(S+8!Z-__D{ZElZfUnmWXI=Vj zJXZbm=y6b|TFIgcYa0>cbG-Kf?`suLX-9z#n&JtR5h>qaTr?Cmn1XaJKVLNeO?!J5<0YQv~ z*iVr8mSnEx)zz4JGPzs&-&0rUT}8yS+4T333P=LBOSc()_ zP3q}SWy(U>MNwXX4Y>=QkfN)?Kd>W8oeux)qpJCAJ6Mg&`fye+pS`tQ?H@^eb!Y97 z_V(wALG5_$C(60?9PUNs&&vK)4_olAI!e3;s;wILoJRE&6_5m|;ySfLz~C_z@m;s9 z(Zx$Bh>)|L&d?D=7Q@d%(F1aTx$FT9R$T$Dsi6?+?$qXIMZe*~EqC>EJaGJ4->E~N zx|KJbmaA#AKXhCRQ`aorUC;5Od&lF;2;p^-koLbVGY1Mjn((!xvf@LpokCVN)~H3T zA)mQGs{+LMgXS1G=c$XE{=NrLTC0z&>AMQmQ4mU@R8XoYR2%>?$mJZ@0Ea7=q10@( z5cM7V`91x8u|rK{Ugw-coQ<0Pv921s%lWR(qBGCr$>W+mnDRyO=Kvbtt04nwG!O)k zdDd_h_3%jSIGRsu<42FiyS!TRUP}tHq;+_ZvSoE+aGOP?SccY|eYl1% z3k#U5FVZ7Kt(hN+hsN zmg1Cs)W1WKKC~b~CJ*t#^1Dw9fy$UN8ttq^RjfAz3Z4TRHP63YA>5!u0AsM`8HQuo zzSeBB=L~wM*>Q$Oey1#$&kzq=tb5`r0zdAublT+b5uiE<{rIw ziMIvq?Df6B*0+)FJ#lVefYI9@&HI;MHaK#Q??USf_|G0GSt}5 zixd>(;5|SbI1DdvI>eA%)9xy$xp3#|!!gtPb_Fnm;_gAA`QBtYPX7RMuH9Oyt{M3}&oP>5NHa=;NM;aNS~@5TLu7?jY$TMB8EIQEWR_uO z8+Jla$f7kkZLk{Z!?VqfwG&H#7spt&?oMMAH$Z~>NGbs$N%5xpD0Z2^8#(=;f?NC~ zxi24xvsCAjv)tO#OfwwNZQ*mFDu z3~2lfg8J?^mK{b{qPC|hGH#@;$n0{z5ChR|n`jB~a-v|&G9EL&WlPgCN}`;=?1yBB z?yv*Tkb~2JYXp)E0kHx~k^%*wU5=~FLOZ*=#KCiQ!0jM8i*Y!GgA z{hezd&v$bQ5bF#XN?g883vEXHD^Kn4B|DVFF^Z%>&>&bRbO!O3MN%+97e9XC%lsb~ z?>4K8>#@zo=xZf^d=0?Y0mve_#kNu+AW{U&HRM;nmMQg?c~Ks|4hS|@#A=!|0#?4t z&GWn8!^-nqJ3_Q1KOvh6Py(e9F%aVChZ>^Pa1^uMCO%_yMvmM?TgLv~ow&tR$?M+8 zU!!ye<4uRfNWqBQ{38w4+l_s(m-p;B->uYhrSRnHQsh8g2KR4GFCf79FuDxJ;*7 zZ{^_ILag6?bt*CbbN|}kABw5nYPS5Wzem5fgzNw9%F8YL^v+k``2J2vkA(Y3fd=2^ z+r8`bnE^Zw(Ebm1_Fk`%GciZ4d*_iXJHy^as6HW(|CE#9eu9@}w5RwCRy!n>LnI8r zqj}NrX}C0XnxFMYdkg_SKey2sR+Ak!UC@tB>jl5T>Qw)RWBEQ;VK3tctAz1A$K!hs zmCdC#q_vM=m$Ydc)mg97=PKperV0xwQa#t`n1RK*@P`5moEVG5W+qI0c>ez|j0OAP zv2v%Sw>Wp0gwy+f9;x;GDIgwErYGC0|8pYE6W_d?)_4p9(<@XuiT88B&=J@}X&&^R zgFb)bWA-D=>-zY{V{;flxv?9}ZEg-NXV}vsV&U`a4VMwj;Ac1~2Ki?@MU%V2$a-V1 zzb2Nu-nn2Hkqm)&j&$@`U%s^u`u#-0zBS*q7f?Ka`$O^_~#1bxcF@96LQBsO^HSbRHp9*6zCc%0`kO(M8l zRlv>Jlj+0XM*2m$%sw(@pQT*7>9q7KL`?UZ#G6J*QGRI&MBIF%^{AA~K2JR0o3|Fw<#^`M&541}eBkL8?T z;LC0s@Eo_=FA1bB0J`#g=TCBetq#uv^Y!b!n0J;gJT&|8h`Dj5_$#g!Ec{IheiYtB3ta>pjNzBKt{@v6H`B}Rx}~riC1CaDEq|3 z95JwD;;M9qkXzI!%Y4Iup@$FanGe6ebUzdY5P@wzXGjcMn=SB8k$sr?20a!ko+}eX ze?Md|+kcWNJUR1Cx3j181A8tsR}4fiWMZQ}LbNnyr0>pE@ro-iFCX=jeE4)v=vA#W zQOz_PULqWka}au7Pj%z$-TUOn?=0F5X368v%gcBGwGO1)YPsC_N2(_%O3_VYfWtn*EXBo8btkx!nF?wKjZ3Xoh}KDTFCUe;jP;=PMlsTG7gYu7a2Z^R$HGG8zR*HEJn?H4!&*3Yt^}XCazui4<5x za=8#ymmE(Iq~88>`s&bkdNs|(dS~)zk{#?iIRGSp=vOfi9~~{}2S$HjMNpGDzrZd5 zxAT+BYO`B~yFYK`k-6eZqAOg?l|I7zX!J85wGyu4u_e#Gjq7N|w|jNrZLX{&Td%wE z^@2bFUn=g43eL9dIIuDeQ6QO8iiGk|0Y-vAxQRjM>br1qqD*Hj;N2n^jMYZoyMDTC z?ei8w37J}^&f!+Z)Gog=MDq_g{>~K`BN`b7#5E2@RD2l>K%7&JhY0OhaFNrVhlh1v z-lbmUAR+bKB<2S(N`l~7y9a^N!sMF>0?ng@S&uxEa$OhbRElu^8#rmA&)6UiPLce* zTWFuizJn~hz`pi+oOa%pVI*5tD?QGMP<6Efp#rPulw2VB;w+;*@|uxYHo_TV-e8Im zj}QBVqFxQ;P^^JeuAwvDK^vv`B(pj$Vm5Y8@J!)u2~oKtk!8&?g;i-bX)atA>iK{8K(0&2FQ+SYZpf2 zp`>o4ljiE-)FKVM`-4aOR>d-&h2Ckj%q_^UY3s%H_nf&==eN$}{SmYMooFkfgtFvB zq&kreHyGTt5B1m0UVU4&UF7DO)K8dsmn_Knw5Rf#!5ebUUG*RI!o>8u%W9{7%;u=X zvz-A}B{0e4NDXOnIFf}eWK21+bpFcRpG)KXvOwtzfBxXs%22PBlHMn2@Cp-d2R#OO zA?GK^`=M)Y#iIpMP|+lg4xKgf@b^75g-u-(u&=p`zc!e&-dhNKg+?2nuFl1)Yl#OZ2 zSLuUFYV(|U*3!-bAwIq$qoeQyRj~8~%~myHv^>V!h&ZbVQOHegatQUQ)bYwvD1%SD z{U&4Q3cD30gzRbS9W$Yz!}?Q9)7{n@Fcf4~q0y+XMo3;H;2?g5`;8 z6BYk)zdrtHtQ$FP`tFn<$~mAIKO?4|0J3bpZ%AI6M4Eu(=)tAoBpdxy9&=5nS*<2Q zi;Absg}LeimQ^5kdfFx#Rx4|f@yi;;FrW7Ds-bf%ASV%-a&PWBSl%`4MQ5#ma~_qRhqwE*%r;whs-X^%;ao)8%Oyw%Ym z0Zw^Chg%qymsbgdA3O#D zF>df{;dl<;;E+_TIi-(_GkT z3U&nbVL6cwxc>?CBMx@0Msi2HBSGmI+uC?x+So8R(G?q2bPmfO8@hzAL!^g0p9geI zLL}0dCrm)_K)pE(i@aW{(UAHE*Y!@!6xsc0RM_3PtZR^N5U0Fo!H1J6Te)>h+G|7b z%Y6O3%aE`q!Y`MALvFx_8bbnm&iyYf?nB5Z;C>xV7RU1@FEV(zZnb8sUvVCIw+X$6 zgeriF$ccZAC4dd9LZ3p`objDym6T2TXYy>|17+rsI=dzf-OvEOEA|9rc-XLqa1+RJ zD2rt~VW~g@6W2b{icLMxoINcycZn(gH?+h`cXXbwq!S$p1$;+qH?~T*id1!VCRx62 zUAZQD+CXZ-_rf-{8^Li}PN3OE;2%slks+CzcenDGbdTna{ubq3dV0lNxG>&yE9DJG zND~x$>vgxqms*d^Nzbj}l|Xq71L8Cdv|8Kq(SfR;;zqg{`cw)kxv1(!DiPyKoI1tm zyxBMI!){Nrqhr~(p>8@kp1?t+x;hdDbto#&!!ep#4^X(41}L0qoYW&`1! z;x&c#yXvMBLXWY*cM4X`!($E25)LedZ>p&_6=hb1Wx5r*@G6o334V>$khy8V>VMVN z&v}>&osu9&{#U46y>DJgFwvBZn^DwDeF;{kn1;&$1$^1go5m?$Tm(F2>gcyd(;M;C z{Fyw#9ff4SI_sB_VbQVsAIJBaUL_jR5*MR5Y>L02?ftqcQBV-&tbRJGZV*g+#*L;$ zWhk~ZbC>V*p(Pb5*CO!Oyh9n=9szaq{Hn)E#mL-brn99^(V(C>pSRN6jCrN>p6nZ+ z`Cpn#t(tDq=oYCEr-(AIzg-9ty-3@)UWMyGwqb&f=ND zDB-+%;C~M>@*ZLU_eAuz*262^6n)W~$X(zytt6AVw47j_=_L4pFUkWNI18m;MWPX3 zN*d11R`cC%m7ki?wKETI(0-RY2FKU_B_PKhI4N50HYm2)M-BdH0BM=2YVla_kzs3H zX&>YP8QeR>R>e`M92`;Bm&z&d4zT~hbajm#557wRp477OZ8ua5F>u|loPO>8j)0BNwmFM zdc~{S{ad;L=P;(wy;O%ik>@=k{&uFYb&NIswF1H&*qx_j|9nnFcm=UuG{Fp=`@HWz zYctp-!nBBSb#>htF=h)>P6)hJR?M6Rcs{#6(|MdZRBkF12lwSR)j=`fkPmMgxvdeH z=$~D;3%+Z317GZc?L4X3JFd^7oMUvL#) zhl4}r`EL_lDJ#FiD#_vfvLe`37gwASF2+5AK5|$pO1$*W-OwY{GjoB?YLRQ4x`hSr zTM-t2i5HQ()9Ws$zRyZ8n!7R^?;GiPs}?kRhn!Iwp<~r-H}4=(|4Z84fJH8^4IMFo zIHZDRTFKlyaNy`~oQ0Px)kzDJbDze`V7q+>h8Hgy5GPsl=tGSm(DI-W4Gy^Q&(|zc|mtkgNVll#3qtL1s4)Z%^jQGxc>H3F{EQ)>mC!jGIC+5XvF9`)-q^q$-Z16HGmMq^zPm_ zef_tjI9mE?2o}m@9&hTy&7etPjzrYyb#7FK?FIJaj@lq(p-4njEE2V}uO?bhmAVSx znfh);uj?>Z->zW$;zlRlsEGR|Fm9Fv-EwxAodkKueW%xAxL*gzNCd;D%k#*$xq`Kk z(~~wGSte6@W`3Ohu)vo#h%@PS~L(4`K*i_4@KjYPe zp`(zMDEn0a4@HX_0TcyD5g|?t!)RKz_Bkk78fCoPn_yIk2ZYGSRI5E1ECivx@-cK1 zSs*Ja>RfC$n;mD$HF2p;`p;FW(v}*hpaKucc*3;fFP>xYL%lKhHy^yv$QJJyHhi+U zBxO!qkB(%RaSsMS81U^WGG2T}}#y}-PV#Fb0mgHEV%({bKIa|)-o83r0N&bjL!m$5h{ z25yVhk3^!GQl^e_YwR=OIUCQki^2+5roF5mj$pUockYJt^&7)jq&hwbQja+XBlbb_ zRAtX8T5sYc2MfQ99R-;6pCRhI2?rrUU>b&cZ0mp0<5s<0tL~ zgWoWd%Mm~tw#e2?$SH)a$3c@Jy*t_4;;1Dt~2W)Nj% zW?y&e`gPsbUA}i++Pe63_ZFwtjuQTi^_VH~XUPP|jeGO!62^v!pFqshmbcF-OKQ1{ zxJxnbwUdSP{DA+m$7*&fDP^eP5FykVycVbHsz@>f#juZ{J&$XGfvIx=WY*GApY6qM zPhU2kNF*s(PQf+YpVsd}semTti$JH=xkTfUi^x>XY0bQGkB?eK<3P>7oZ$PaS0APg zfObKszMk79@VY@3higVxBd47zDM4>Hq$CTF99iM8msbZxkrQx>Az3~AOyZ1cUPd4X zR)ye^;k8@sOGy(@^}bdnVFUw$`>dcV<4X?$SdpckQGaZSL4i!jir$pzX=Q&7g#WahgG ztA3$ADrt?__-r~{6ELIOH3_Wy+t}7w%Ka^%%BA+<#S)XcF8LF=!9IaD2I`t(Eu$dW zlUlB88;}o&Ec?rXvfJlkNDU9qp0T9SN{VmE!j&;XI~r>dW6j{;YgP=CunpSkGP|;4 zT%st7KWt(IL&?H+^&-dz4D1m6s6@hL&>Pt`1lJu`2tJbARnm_RytL0rEOkH#VXp-3 zQc=`8s)kA9II<+VsbKTj(6Hg*Ps7iM&=LFpX`;rCsA2mt%+sq!tHPZ^6)-NjTL3C_-flvrUacY+0F%eN0wg`v_TzJ+9q2qx`X0MvDFHijz~q&$e#9IBZl$&TTfu>>7Ngu ztqkEIynVA~#_5J`&q5ob&Z_0!KuLfjfZEbKm3d^kNocd=LQL^Z$ZKlyI3Q-LNO(!{d2zWmZLYupMm zO_xJwSeaJoPzK`^Yr_wYTR!*>U$u{+ZQOk@PAM>_V>OBN6nqir?<(+tULLN&nP8I3 z(e7xy@M;visn#@A#QT^MSY}&J8W8a?wfV=O3(Y5kTZ|x#iaW3NX;W+;DB2`7lje=R zZ3=Za%zE5cZ3EaXE{aeru0Oc6jVv^lXIiH%5~@6Si12R7K_10%^y@(h@g^d)jdg03 zh5vnU*}9($WSEj|NJ0c;%{{!H_l)hmUbRrjIX+egs6IECC8y#*_ry3Wa+J_lm~CvO zt-EM^s~+UvHZ;^b*m;WM%hMu+na#lQ3$@!o%;9yx#uIR#TNyy|?$NWa@X5-Uq~~JM zesOM=#8eG}5()WMqL>TN$Y+sN*KiBLRkMmx$6-Iq2A%Lud)Vfp{ZZpR-OJoq`Y|*q zP6Qoi4Q~1eKf>?5x1Prt^sqy*Q5Y6kIz*}aQdUk&ZS97KBPBWOwR=G^lF~Q2I}pVZqyAwcf`zL zyXtZMoh_!nfU~Lt+t4O^czEKshK9`^nRW(+T)7+Tl-=f#n1NVHtykzX60?LY_WIn9 z7BQgmRyOHQD5qg9zin<8uF2rvYQ%yxO}0?;t%@S}zCLEpOr6WG{M61%E+moM@{d(_ zr<1qBe5)c;o}P(dB5(T%;n^T!X@y&o>$k?(_@~TgnmxnAchd1>A5Wk);JwIZ<*aZ^ z?LD9K71o;rDDo=%ti;Z{E_g`!y>m^k!GT0bObC1_v3qr^D;_*Ik%f}sH>>~Tw1Gy7 zzqu}glATzxC&=E>g@AttL{cE0Af-S=1;0-BOnEEmWH;ySFN<4s3EAfeh$7V9CHBn@ zFmh{U`&LwsYlq!^P=9y78tb5SR;-#Br1Ib1gdE-XS(X<*!=eruV3V*a)DrL87l!Ln z88YWW$F>OSkS4aI0$`9gjLF;RxL+i4sX965w3CLAv9VAA8*#ioke%#$iU`$V*ktUS zLIUO>Jg6OPs$T`7VQ4L=U=yjxV%CUz(2kO+&)ysU9@I%Qv&XUHJr`+a`Ce#Z$J6g$21%ge8r-J~JhH)6S(!$(yxNL0(2nYylRGCL3 zpaHn}kf;WN#M{*`Ywnx$c;av49F+!~xOdg09AbbZ!NUebTw3>)9zol6)l(K*>x|hd zGO7O>``!&XT5?|3ZofaR$PDOz{uwsg-0VK}JYw~(^)lR&{YYP?lt)h$VqQtu9*}wK z6DJ09kp2in_s0xyLlz&Yv&`&2F712c7jW3lTbdZdOJ*5h7Z)}qzP8EFE_am>|GTZF z4*v(8&yf%2;k$)!ZR!-9H*336LE*15+t*4$+N-9F9phSY3cRV?*32(8A)xA zpz)s+1Wo1k=sje`ioFZ(%P&M+*W(jeE=B2Qp0l7)Wpo%q$z`MGVojn!K^k=Dt(lm_ z`%N=h-i*QGc&e-CJ}ioEL3nQ-SxC=sx|VeIjp4HvUMSI!Sm5-qkZ)P}Ks;(YEo(sd zp`l~#Ga#cCGJgL4MXc!LQ&2Sc0e7)pNWjVBFU>S|SN8$2o0%9>R{*E7zXl2-1!&do zr-w8TWwVu*qq_-TLbt=kVke3F{;X5`w2Y)>Q%P-%_!I^hV}16om1|_wSgDvOL@-S6 zXft+DHR$KIbmQ<%=kKg3L+xh4GSP$~u}7pqlvl9y<@ZqyMfUlL^P48es0N?*rqsgh zFI;C~DiMrM2v`3A06;YS4*F;pZ<9Hy|4ZHb_*_4(aEQ2qI2$?>WaI+R{fk+zE&?!& zi^=l2UB3Y#3Vh=|XlVd!Cb;f6@~f7!^2^OI9v~y?G@iuV)-Up`L}4QOXQnk?dOgq! zG3k?uF2~&m0zlp;^F~4Z{a$|eTz89nz);hji|hgO_@UF*^n}z=JW7}l!@wW-Ov3W( zRk0)_h0F6xz>d>0g1$ASkk#CcjqNvchD^AYn0@O(GWO+yN2(se8r5^2XTK~}RXK!F zS?F}cTbC!8&XH%K{Jpa+$73x~&67b8IFM@u5`nzcJ~Z&`5RYa>5smSX-_TF7Ag*!R z`+c086wYQ8j1EkRB@H?yGGNuCiEA^rN#ve68*Wy1Jm|zh;9E1B+^H`mxg2e>y!N<# zF;W_;E=6AT1>g2@D!HZNZijJ}qPcEJSP_UMJSA`W;wM|V2tz~uNPoHEAt&mFLIaq? zn1G|kUVao^VHcYN>_R!xLdaBQ98``IrN1bIFf?n#;$;{eA_{RTxyS^`Xu1;%@2T^z zJbcF$UP%QDr1#w!d~NW^t|h~W7%T;@2D55|&gYt%V0tKJK~-2d`01iRNC{gu04 zzZ?ekxSc31G!S8v`v7=cxEnQL61~S4!!9fIQ0OrdAhGf)y za}vZ)ogfZYDDp47iHDoN(*X?IWF0K3mw)v^Dc{IsA*T9~P#X8R4=><)T>MDTMeV@b z!5-wIejBT`#i;X1u!MUO8gd9T3Cnw3`H3pFyhZN?r z5W~oM%f=Q9<;%$mt0QtuAFH9Kef@r!n%5_GGVh64uT41#MA3FN09Nz4JMjwZrfr0V-DZ%z2Xe-G1 z1?G&f|HgKjj9LR@vFdmU0vN%%j2Xd&oEdSOOsDSQ!2L+OM143~boPG;-BBXhFdt30 zg0Qx>&p8#CP>nHQ1NulK2x1%CWYC{`dV<*yN3oq6186*>gO;3hbs|}4aXwH;Tl5&S z=6Xn5)WIs4zlJsw6)`EXpm59r!2Yd&0{;a53H%fIC-6_;pTIwXe**sm{t5gO_$TmB M;QvEFQc*(vf7h>WJpcdz literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.7CF9397E238069F29B5AD306936DC2E1.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.7CF9397E238069F29B5AD306936DC2E1.cso new file mode 100644 index 0000000000000000000000000000000000000000..1caa2772575e756fe7670e4aed2c482a60d0c47f GIT binary patch literal 14416 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 M;QvEFQc*(vf8aS}TmS$7 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.9E055DD95BFFEC03321947DE0EB82637.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.9E055DD95BFFEC03321947DE0EB82637.metallib new file mode 100644 index 0000000000000000000000000000000000000000..1d37e30bcb57c893a5238b090d14c03b29c8adb0 GIT binary patch literal 66226 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
    L2%-%D3^Z?`nXZ%@01 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 F{eS+JUh4n= literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.DAB1785A8432D17D3A9633C69AC4C0BF.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.DAB1785A8432D17D3A9633C69AC4C0BF.metallib new file mode 100644 index 0000000000000000000000000000000000000000..497652b3905541be9b7244b80c7a61c6a54f7f15 GIT binary patch literal 66226 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%0A-(#7Y>LDh zEw#zRsySrd*sR=nVi@=gIkq zTJn#hF_Qy>2#;8&h%x}443Uo!8AjLb>#1*Xm#Ay!6^JjNc@B$1pB?^t)yV2+ZJLV| z6y)GNKpZ#>FK{}L5dZ}> z6^y|0;5sj(ONt-`qcgSXzem+lLs=)#MgHc-OFFjzgR} zPLKI9hs;z?hQ)d7p)A%=LUFn^bQVq^lo^ntU5t z;9_Fd#TLP<+aj*rTB@!Y`8>}tnrTQgN`gpc5Lj9|C<{Ymg;i`Ml#m%|TQFpnVP+e4 zLQu$}H8^ds8tTKd&5pGbOMn;0Shem>V-z<)g8N7+0U}B9ru!&%nZO%4{h)$d{3N+A zABeM5=aRGB+S5!lxr$)%H19RQndpm!lWPMrT^xdK4ho>-@LCoj%F{vvucP*Qt|#%Xmur>*!&=9ElHd^!kVxFr)5W%!CZyPNJOvDB z{0)No?l+blMpvS?rz$dTq^-#8a=#D*(QTV(3Gs5GV9YWeGrna@(=tk;oWSgdWQXps z1J96y(|~IPk_-W{0!oqs1)yDytIR?>ySv1}b9KP&AUTVa#&=ideGWUUq1ZXNnKVR*5Ss|UqoCHWiBL9n+=|1iH*h9#aumX{7znP{sjg!e_ zP_k3F9mHzZG)epcno-vNc8Pta1p}k4_V3m4I`42DS|}^WYZv7vgg4NIxA|reL5es} z*v1>ob-VzBYfZKw5qYcvcV96PE|oXGn|sK@Pj`PxpSj*|iPE$8b5H;B2!XJ@k5v3T zm*+>r;7<)yV*6s-``iVbt0g2(V~5*o{cc0IYs?$}b@71;9G=?NZp7j(O_FR7Zgl;f zYaq{ea|#ga3>ivXzD)~lM*J&J?eHZ#l*BQLq(IOhSSNG_@s>qWFhLhTe&Ngf9~bX7 ztBdQg&Bo|!C4YPkz}ErDBDlr2QX(Ky1j{w#SHG4i^_F>29=;9;Hde%Hnll1czRJz> zyWhjg^ISVZv?MV{}H2+(lc){@tCp#Z<}b-pF60 zbOz&1hs8+2h}`@m4jWhoK={}L-B=I0g*=xgIT;?A26K-R=G7cEPKK~FYZWc*9b3Qh z!%mR_VhEzewx=r%r296`Z}|)jZ*k7*a=bq;sa)n;uO4z%%ei7v9&Bjd>|lm0thOmD zkEApwqWIW+6fCz&Otg;C8K%jIUd=0t?f3V>GxyheP1QzQ$tg@4P*bt@Xf zjpX!PO9feKAzE^g*0B{qXCU@ue^dKC%`W*2*WzKXQ`dQ(U?0{0V}>C)wut!*qaA2L zjgBl{ajRqTADAR#1|`+Jy;#tGK?tRA-eu19{dnmVy%YntzG4TY$zc4c6P9fre0|f? zJf(;NK=UK@HP;CA(#28oWDwU)A|UC>;P`7|a)p@}qk$T2_nQp~tq>L+u_(Aqr&@32 z;M+p1-+gr|G5&M^+TS0FsoiR}{H(u6zqf?z|Lw}lE&KG&SKs*lPDqc0`$&NX-{#xB z>-3ocJPy$Q4|n!nuaPq`N3DD3kt{pI-bScCA&~!+li+@Wmu0l4_zYG%B$Y!X48fy$ z(eP=wGY( zr8cCsk6@RyX&cp9uhQo#<=UnS3n@}P*XWpm#k%l^0t=iNi^OIoOni9$|1gXN`{1#1 zr=_1$U>K1Mfq0H|^jKgAl1AgqocOOM`~jN`!p8M2`q6Sa?GPC@L(Jm8*2Z;2&I zlf0g9PWD3t!?E`5-E(stP8SF8=*G6K#0$;KombVs< zeTpdM!{Se*h*+FdB4Hg2CDZ84M_p(^^eU~_{M}bvk!b(5jr;YWn$rw~rGJm*oM7O~ zZX56%x7sfWq%Huu@_gq{a(=B2&ja)I>%EwFmM%Or`|yas3L96%Ht>{hm8gFjDK4O7 zXhh**!<<|F%>jrPWG)acw6Ui-U}N5sVc{tI#Kasi zuw>$@bcc{z)F{h*!-1iP59^r^zrS=p6a^50Z9Zp63|gBl@J^9^nE3`h7Al@A6GVSM zWG~x)k|{hn^G&z2r}P7RE;LsRL@#7wqdr2kG-jml&QD=#k}^^<(~bWiA2tu#^1 zG#g$b9FcPndR|X;cmTByq}yt_-1tYTCn!qLp6OPl?6ar> z-GU~J&!!9C4Pu3g66EMz`GUz%sr9JNIPaquS$8W|?osX4_;q6KkF(mN;+=`49mc;gQa} zB@(=(>pALyE8VQ~O^759EG>~wo{#RCDaHzrTwFf4XIWm>VA$fli&&`@ggoUuh-wQp z+KtW4mKw{r41$EKt?W;-n@6iP{Ge6}WF8j!QV^7c-Nsi2&K_mc> z`JkZ7Crq6kAx%ef+5URP6I8LRNk?8SG*@;yyR5f)PyB-NEnTOjT=$!?R;o=^eCBB!K8wF%TaeE$IhFe_%yWlR3Y@E&;dm zlgnzeTZOwnZ{?A>;!2_`T+Ed|!ux3SGat1QuHvyJ&%TZ8XvMdCb>VHUtR!2nyYcmc zKmlJW?u!b}w(K~tG7V86nNo^`@=yUrfssWzcNJg4>Z4}Bz)$- z^k`EUoQ(p;Lw3kW_ih`v-{!7a7xb*wX;tnB_E~gW^>HEK-x?XF^En2{j%jNbM&qHR zZlsgu>fzKP4ZQnc~4X>vG{g)L-EIk9y9%G{qzGuYi`A(1yWGaB#sW9HS+NHJv4<)T@$dcxr@Ixn6utn2z-S`8=tPu#juMeBbO_7 zeU(n1zd0w72zuRY{I()ffYj$$-IWQFR?Ybv=ka^bAcJ@r^{LeH%2FtUPrUsm zW9JINxt1b%`O$n-7JCU=L&H?NkAa{D&CK*;MYmxEG8pSZ5_VB8qb1Wby5t(vt?mAfC1kPZ+$XWXX@mZQq zrL2g2d}%LJ1C{hy=7*he?fA_r(@hcLO2GHGLqW9w@;Blsqe5wqNsOKl82h}{(IEj& zc|(U=7?zh;34|X!1_9)}sk;wD^Olk-r2utLr|!D-`^T873dLB3KZZyCN;hx4Zf;ft z-2Kpy%LadiG>U~{7|>7|69pQ_WA)N%@5P%=4;Bgc5tltnGya@J3~f<8ZdUN$+uY!4 z%k&Yo*fSc9-?SY#M(g(3!rIZa*0ZzYyJ@5F)Q&oR7ee3UsqBpFn)i?+$0j0Hh)OYT z@N43?luk86_Wf!9X`Jwpv$SB}`9ZeR;^CmAcc(`u0W~*Ou9(cD2y@!M< zfQrb8e~l%84XZ+*Le`w|on@7jP5Ni@Y~TZB=8-zPCJo)t0KO~s1Y~&Fu!nFH$Z;r( zWjkT1KmrrjKGKR!JO1Fwsb#*3LzHVK) zCVJXHYQguyHnkhUaavBG*+t+VOgNDtnVWaF@|bjw=8parKkGc?|>NG!3*`+w;+Zs-NOUx)}OZp6p(N4>e*9BW-!JU~GlI z?L|=pQDv0R*0*%DjnL>Hdq`|@K_Ep&i;=eJ=OwaDAh5>C@~XM0>P9LN<4T-5#pt}* zH}1olJrqn{S?c`bY>21=5{?_X)&K5-l4b2h`EQN2XsWug5R)uA{6}s>$k^l*Qjn$C3X~61#)z;5> zmaJs9e2oUP&;~l#H8E)JuH{R;HMS%K!y@+0L8BDPLR!JZ0+Ww?@+&@zwm9 zJi#4>WWPG=myu!7vHKs#_nKZM8qyLMqd07ezo6~?x++mn5aq0XI;w6EOnb(SrbT5a zwls5>@ARQ16)D#u@YlRU8QUHKb@cqI$4SM=++?P+rB2bHpg5nm(%X!ArSzWc8=v`K znoF&kZqn!$sSu}#GOxc~2ok+W+qdMkEljo7{Wm~l#itHxcb_zhbK|>9exJ_bnZYRG zyn5h&4>9r{VgUC<^tRT+E8P@*(VNI!;5Drzlex5*Zw6S#~wH-TJAO|w%JDw{%8PcnW<{=SnrWxYh7s{ zx_RA5Q8y;^$3 ztJ?irx&h}frqI1qhdq(!JtF>grm%I4HU6~%!X4P1r)2+pPDFSGv0gO644wPD?>}oZ z*d@ZWh;emw-5D`v3sX)Ayj51roCbJ4yFSx-oH#g zL+1H!6J04QzrrfX;r+5A*i{!-oDnX@J%T=RSSm`q^v>PTBh)i3ORbG~bmn_vu3zKu7#>-&4eFugYFB%XhS@Y;ajXHz+=Ci?tF=|rV1cZCXD3RgZBm(lgKV}61P&U5gaS}YTho- zhup3aL^ZP!kxK`4T?EaP)UsZ8VApyP0ua+7KDQ#1C@FvAVE${~?jgJ8I`gMfCO54c zvlcegPl_XNpSCQoZ0(NcNMiF>*$t4dO!^?*UK#)i97cUePYHde@O1K+;tDY7WYLZf zKOXx6|JiW#)ex7?E?r}{>7G+padvq@cTt0lY;{E8!k?^g_L-C#882_WVea@K?4P?S zFZn_?o!BXq(`|EQBtz#gTYqsTfsBVvI))CzLQ2>d;7{fR*1cydQui#xA|wGYJ7Q275(OI{WTL(5dxZvj5-T3|{}8^h(QMMmhN6Mh&NU*}J&L zKL`Z~!JWWWmI5{r4%MA3mUf3Fe^_T!3OnfUD!pY)eiNce#8JBu!>4pKLgR$};MiGN zz|tISu)~GPr?Kt5Z^=~t5LR#ulC{Taoo%Pb)pL=QmyrZN?t7LX+cVYLLoy>l$D^3B z{6bRy<*+D>Q(bVbh1k3{8x9Tp=}p5X1ED-Zy>y zx1=~)`e_Ij%48mI>ch>TNnwse)ai9@REF&Z_T-M*AY`FPL{uyiwY0A$T2Pg`3gDUg zZbh%_FjwEMVEf`mC*G)t`z0`LmIU2$c9@+6dB=UH*J8L|2gpbS!>7yh$hWzIwUN`4 zHXT{aM;?t|Eu6*GosI*!+?ee<(G}LJGlYJ)Nof-Z*qB37&u%V}mQe~I3)&d zi`9=rqM1^rj&f`4GvPTK&$Nre3RkARtRIeGx8Qf~hV=Ct!&sy`J_u5eIR+#4LGx5) z&na4O;v@$Pzlnu;pZ*l(VHP1iWgT zdh>%PG`2Bclx=8h*Le#Ud`C&nhY1@|VAdrT2VX1f{4Me}$KRj_a+IOYyY<|L>kScW z6LA!=q1E8Gt;AdjwnoWaw6K)k3YeI3Dzto$@5(o36a0A(Yx}MRRz3rqg5PEkWo2ex zck23e-PT>ccU{`L_;mLcr`C=V{*3jQDe-5?1jmhg^Xn4EhKZj*%+r>)&nZi4xs13= zG4HjLh4lP@|FXwwb}K1msNoPH)ET@Mr|YUnG6co2kDxt|Yl4BPa{*-5(ovu7#cfYt zHl9c%DOgUyHQb-p??S17CgzJkr`EYdIzTrVW60 zL8!i-+a>V2K^BK=Mpq-Johm6oZ#SeQ3y>UH;joui2St$+aEl>XJ^W1KjA~v+AO}{3 z;F00ATkT6p6HxWORwiKt1A_akpeyCl|1ybx_i1|jSTt^+mjf;qB%v$G?_I5 zLWYTSjbHNOxStoz0$8REGvZ$rUqbjV4fd0l++1CJIG=jk!pl4bOTEd}=-}NTf*pDF zi((Qa{3+(oI;T^_TAm&PT*P3;Fal|OVBnw^p+E^EuhM!_Tj}6le#YX6S=`Yfi?!}nqn=ZAlZ{z zu4@~R4~H!K%Yw4o=VC|=56_;lq|r)>Z^^=yF+w{UYY}73;NWXk43n@8+Uhd9vSVDL zD2hL9Vgy6U!glo{$OjDU5d5e_!e!7K*);^$9ajiGlG|0%j}E-F&q*wGKnP*41np8$ z)H{ z-7B`XDh@fUuEEz4VB|9^qWLOKgf5Wod0}Fa<`*@{%D&^&_$EB)o1R>uL3l-}SpOcR zAR|jn>FwCRsO+7Ojl5eQbN^PgSk--Be(?yHwqny#oBswDB7>UB`yl|^Z{Yr%W%YgE z$;@@Lm$@~Kor`!w6`CH``IMy5#U+pACy+P^FWWMS_5Nc! z$jlLEObPYV&q+eu8b2)TK304jpA2M}l5I#r1Z2%Uyq@=r?Y&;LP{=txRtKm)H<%@-;z0MrI4g3L&{vpkY^ANc zXnd<4U%9y0*V$pta zZkEJU4T2I0`BtKs3(&}CkyY1l3&B;hic-g6Kg$N4@J@T!=A!*k<2~KW+*tZCG$~F5 z9cK-0`UgM4@4dI4#~JjnL$Og97Fjw(sryn^PD^d=hKD01IqS81K{1r;FiwBjimr{s zS7jJ|G*Qt?`SS*b(pA)d{>ty3=#wz}F5ye$exg;Cm7gw8)N%&u?UioS4L^6p%wfCg zas8bwroVu*ssr25CVO~z;aJ9 zpz>BW=}su8VJ*LHZWpe};NNP*f;3IGQ1h*dBKW>OX3tEW%dh;@&Py&Nk=*i+Rd=V8 zx59j@B2%88iC`jc`w8LMAYy5STaxRy#@P6$%x9WC!^3yd@nj!Qpf%vV$Y$lNa7*ny zpYs*gn*%8FD*LR&&buynNcp{UO|QX$L`X~sd?~Seb*n2LJU5YrlHoV2|KzlRMvA|= zE`pMsSh6R`-qD4Ce+NWTAf6zlKtu(bf zYi0XZRF7+i-F;AhcfT6zpmkQPni!<=-`<2A-S=6R7e2$H4jEvRuqxCN@7ouK>rxpq z=R(J}2X~vdKGI$xQ`F+;q5XZ3YMk2y9fDM-rBU#65tPZeTbN!T8cdFvA= z26K@92t@bC3~)mhAE~p<>_0B;d*c^y*v?y;7{g0u8DJL|HYL8c$d9cXG-d&=^`AblvNXPho2H8vv0|>!O1TL%5rJx_0{hFPz4!DZI7Vw zpA-a5<@V@3WW|cT3-8M>L|oV76Im`r>1Up^piyOX7(&Tqqvv8xqCr6#bmy&^n8f={ zGg;n@!QyzTtLHu}if%!8Zys4l&u_YxboPzmvld<`(U4f+^sta`S@}RbYCA1!K=`4d zW9>5_qZKlK{{BU*=;TvSH248`v0g~P$>J}~G?l|(Rmb3E9%`hGyBkDAs#N5^|@~lK*BKl{hHC}o>&v(=vj-HKmZ%+>MRxH*p?R1<$_159>N;cbDn3vELBxGgi%@O zbi`YiCz#HWXQBMPvn|JCEm6&rK@d2QYXlO3ywyH5@azzeWV`rCn8TQW zqsCr-6kTB#n*;1ZInqMNRAn4gjuWN7D1us($X92I?d)SZ}-H9{_FJ#b`uo)9{+IdE8LTnRAedxh3d<`wEes@;ZU)O>Ri z#7~_d4pu1gFT9C|o4?Zm4BKQKEUK4(^+74$$Ydd=`jJo?_qY!);CfvANYF*?z}vwd zVLdQD1}{Ldqv6$>KEzks5~-=CTmO z$a%}g77OLe$qK6@a!enqp{ITQewmurCw4OLiCC{qISEA3b~ON2^SL|m3hU(X+f*3s zFRdb-D>motSrI%BL1lx;?yKQgBxDiQ&BNGXJzfCdt3XIn7G>4@CaqoVDqZ6?(HI$H zXtPK?q^h@+6V7-}@HY@4ViP>6E-8cups5W4T?BevWL*YLQT`VX0V)?M{3j_f^ZA1k zZX|jlbz=0aUpS4%X>fXTmYCURoaRAwjmUan6N-ahe7Wz^FYSSW@%$;l_8@30$oU24 zjIjU4cAAV@17or3cnJa+!McnY!G)X|ahpu1?%}}wNV`ORI9hb}e+b=CBH1t>O}K)v zwzkhX6_`+sF<=AwNFxYh8{1^ipL=?O*$_vuof-pZJfnk_oOE>}S!i)SP)J+!7_;Vj zNL$pwDww~9HWL*wDY2k%%mTpvt$zal1pW#96Zj|aPvD=xKY@P&{{;RC{1f;m@K50X KLqJkdLj8XhiCpOb literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.EF723B81A7A0BF6787FDDD555588FDAA.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.EF723B81A7A0BF6787FDDD555588FDAA.metallib new file mode 100644 index 0000000000000000000000000000000000000000..550bd9132e8ace0f853ed33a4ffddaaeceaf87b2 GIT binary patch literal 66226 zcmeFXWmH_t)+pLQLpSaOcXyW{!6kv<9$XuzaSiV7?oJ>;kl-F9kl^mYgM|JI4L-ew-Sst7^_!HLa>z+b5W9`324^EVv(cS-aY z8UX$qrurL3{kvp^|BEnz{#W^ke(d{NLP-V%UE)8pC zB@H$4kaDzhgt9;Sj$KApfSX5BkV`^9f>TnKUqDbmR$5w`50(T4Wu+w~*zGM`P3-I- zrhipn8mq{@0&uvSz$81`J+Za%D+dmZ z{~?;qLePwdmy6v50)2ADTF*1oN4Md@ejTuJet;!Osh%}H7~*mMn4)pg24Eo$Khmkt z002Q45*3~bHaq|TF6;*iq)C(*1}Y$7aSJ8Eg`m+Pf{Dn1(WU`-GVqc~sFEdE+<1au z!dEEVY7z1Yc$8AI5v2ekZb_g5MnWR>fQp1_V9aLlP85(y7D*L0FM?q_Nyg}|AN7C> zKoEy#G$mb=Am1(|{S-*PKt-`6PQF%1z7j|}8c4bnKswb+J_V~6qVH0XZwHbu^^k59 zqAyXA?!%D*T)-grjBqFb43!V}0)w25!=cs)-r#Uo<8Xe$a3^CJ71Tr87f7~SND2rd z8#N){EkxgtARjd$oiZVZ@f?FAhp`%l7r7?g8Qa1>sIuAa}-aFTfZT=>kki zILaqkWPQCbE1ncCAnOYxpMWa>c~v~x?%^5EpAqgV2=ZVA!F2Y6Y3mv81+xOi%{ttv z0OShTmmoicdEiM6SiKL9d;_NNCh5|DvWoD6Nhb_?okj9B?NhU!fZ!yt^m1k zhC>sc1Wmw%o&hKiVfs*!j={|T_YwKqq6(NZ9~*mcg1ljx7>9d+LEisZv`_~ICIC>y z5g`Gvxu5`>6OVBRH$)r|NeKYZ!|L4B^2n6tp}=J7k`P$-Eu=634@WU71~sHa5lfy2 z&<_S02Xo2=&`M-PW`Q1s!c=t%c4q{6!=}Upg6NasUh*JcaX2DbtN?SuXA0`l$jM(D z;3u(6)ddNeOH;~8&ngJu<;7A$!TmE+rYo_wp%lqH*M{WQRRQ!>-6Xm0S{sQec zFdjv~xIKCRyDvcj8}8FrfIJT^JPr~d05$;PupfYyAB;Ck1ON;_?Rq#c3^#cO9uc-; zLJTs!+$W%vw~PwdLIs`%fT$V(hsdZBfPg5k5`c(ktr7r2j8F+cMyybwM66QjK|!oh z*+4=3DDK1>2xADShs{MFSjhtpARX8wwZwxHjgS%y>5q{NfUPQ!ONKMrE&%fw3*#aH zg9lBL9JVOG6p~tUB0e<>CK*Ez9hMS}K@c7DjDbZCA27&EKHLcwLYxrXJ;R+S!->YQ zF^&>2HaRgJI5EGSVVtR8@L&y)t-;nh6B8A1ml?~GEO|nBca!W#0!8)nuIl;nXDztwa0*eQpAkPd{#ft>YM-PzOJci_b zDzdd+GJm+otze9b?92p7BQ#iWtY5fJN)+ahyFQU^Dd7kh*dH^90<$#S1EvowuE4@x zM&O%oSQtk=7&|H$KRIc7r(pZZ=Cg%OvNf0jD!PIt!6F|6g=T_|H80uXl=7!N))hCx<#7@OOC<}3hx3GEdPle3E58zSk%UP_!25o8)6 zta`=x5S5o|Okhc@p(NS_1g7Xo&QKf!bOd$jSCm??lK{lgLE6IvYWWZFcrc(;aIkdz z7skWP+5~Fk0`azxaB{Met=4!#o^rRk)Y5{$$Il(M;vM_UnxLZ7S`-g{gr||4i=9C`A_As z**_v+UUGXh{So<>kiT5z$*Tpi@KAv|+Wf0jaBzRD{#`s$9uKG*j*9Ynut&r35t4-1 z*_k?;K+R!>J@qp&vwaO4Y7@IhNYlaTKVWr;xrG+YPDiM;g_EoGU)3k^+kCg zhq$^t_H}ZEx~jvhe4e*!3we2jBDunxq7=EZr|izY>Z<-;kZ z0>epAT=$}dB!c`lKs>-9G&pXlgfS;Z{|yl8v>*?#ol|NHgo&qsI<3e<=_f8T+s8YH zCQJSXb>fxFpxOs348~~ z{6r-wc>)^)nPJ>G9ePlzH$Y<~jqr@uaIkR85)eeu6G+<8M}FN)I?;=kKoJ4A2lAWn z+E4-28H1|pe9;NVoUY+u;z39zSQtF=z6JILJv$NG7~ zS(UyFDzYEFt9jx{3aEtbt&bNGR1_#9Y|jFD>o{ddiNdy?Iw_%v{-9mbPlf1@httP% zCD~tl0bmjf06>EE0gZ{21PkZDHYfzqf?yHYW|h$YcxE)A{ELnYlwgH5eL6?dS^@wc z&?Vr^VX!ld{&>gX#=xQu0W>_adP)|sdkz__hJ%o@|A=_xh5YwV`fpeTRz9Z3@{w-+ z2*A?gdE@b{@R%O^usqfN${ySOD?QR4(_{H~*8$KzfdB)TYz$ZxCfoKA^Up2&pC}Jo ziTu25CXagqo4tvdql+gOCp#A}JLeOF$9oya30bHJ9PD=Y#% z-bURm>|i%l=+mtgw%Puj>8nH(V=u=5N08p1ulY)np zoB&BZYauQPU3zt0i{@oj0D|3m>q?!%+lSK^j_dlcb#Ma&00CH!uNS~7K>uUm)bTGC zpP@^$z$E!mWBP0fQ6-UN<;O(`K%xZTyyQ&zAySkF%&!!|n@sox;6)1H1@Mw5;82H^ z#WEES5_={L{{s9H6$e-&%uGxch>8mp%Z6o$^Y&y}BTyAaAjr~40nGsljD7Ujm6^Eo zA$s+ES2S|W0*I{K-MMP^<#{;EQ zyNOTqyy!_IcJ^d~UmIt`L&47^0z7wYp~8e2p9nSc(>fPXXX;dP3FK8>ZydsrbhpLa z!JJKSg)=kJ@MYx8yHi|;8CjrC(Uwe(%Wb__a-eZIMt-KC&5t~d0Pe3oZ%QR5sL zy4U$VUZYziq3^t=0W| zsoP00)X(7OHR|R(X#E&vb%{R}THx>*zEZZ%(4|&qh%$}UPc*P-ru?k_{M@@W95TNn zRwlf8q?qHhl$=0@#JkIc_)UH;t^`v@Gu4gwkezXs1Yaqda^V^7v0z>;y<%BBqV`Gw z*s)@+DA7c{Ui+|s`wpZaJ~virByu(W0kIhqGcHkOM%GE*^K)BI zMCRexT04q)Lk76tJIeZ3?L3@sRGmIs5c=axrR6GZSo%2Y8xp=_-Vzm6JcsP6o9ZG8 zgL99*d2I$J{0NeqT2v7+ZYP#7DVek|nPF)wE?2SFLrREHs&4m8F^y3ON=l6%tC@MN z-y>tbM9RUMLi{s1byfvYH;89NdGkHF_+s9avfrGF(pfmqFn!#uZXFScq77dA%U*mc ze9TF6p9^|;Z9YKHdDe5nlIN*9yeQJF&*sFLf6m0Dro=c8zDXGMm54JedVZ5P9))ZS z8g#?$?T>o@Q8pJ9Wzv2>6cP#PO#?0&7p^XsHR=hLURGwauhtHEFT~(TU^vTU*z1}} zq=D%=uuK!oTYPaot^vo66nAhZ6{36!HKSc6YV?q=PS;xyGjlxI62iZh?mze(el89g z6e4bH&x~VHq(Q5&-|ohPHea&zsxjSFsO?BeNXAhCQSk6d+w+lIKT?ia_zAJ#>#Hx~ zRU*dZhtFyDAVhZ>sufcD6^Cm)|-wQK4m{T@a3H_5~X257gtR~n;5lv;seq8zL zo%{WCxVR~R6Z2TxavufYe!*?q6WjG*_v`A?1nF!06rEC-Wv%t^W$2Us92c5(`L=d( zapTeM(zWDsymBcV(30)aj13u4$257EE!!wcDZIeX(2bUoFdRUv8HT7AbggSM!c*PmJ8x@)}Bi z<$d}2wc}^Y+R60V&F$LF>X^e9%l6&YuCE_&9bVsd9j_*BobSLR?~;?Cq{bq>3-i&<&qYs z+bKLg`K^967*B0+>=>F;_|?Q{cyzh<>V(3++{z4yJE{_eYbqBZZwuzD)0#`U$P^=jS6;NjTefzRjX&*Xf7T@Z#}oPHy=C8gT%yC(BqCJHmPb_ErcD9+FsCz-v8>B>wo- zied(EqzpM3mj-|wVG8V5RM-blnkT~k!IuR9vfzr0fu_b%vbahBdf8wlZb(^JMp#TT z{j~awsXe_cju($4w<#ofI zW+`Hq&6t}IXUoQND<%A5C`+D}C>g4(ESp)%fbd>q$W?$#q>&RQ3uI~NL<@-N)qAp4 zlV!6Y>X-B>mu0+sgxom!hunEtd6an?Ym<2QC0X9d%Nk3TQOexhe9H9J$_fYkDfh&f zs#X5D3J0YERX(asqUs}+$4ocHzxXIB4=ELB!GHh&E<7g?Ex;OpR0f=w20|hu6Du2d z&57W>Xds-EoVfJ3vV2^;BV`$x#E_6_dZzM75m{_5gej%Uhj06K)`yZS%?2&FYD@ZK zHU^CL#Fd)11nv7yPRh$Y{ljA`oRGQ_(NaqbDxMrY?$;Z4`5$vqS|e%nsd|T0<(iK0 zG*75`SxgsdGg)U`O+O42m~)Koky}i3O9V5E(h&x6&c~eZMGR^Rbhy16B<$5;j;KOG zeCdJ9e!Qj_>7h$}$bxDc%WKVhO3~HW(LJr2b9m5ib@fd9tCM5Slp{6n9{;=952DY# z2@Yqf9h%zazR%P+#3COoRW|iks(o5271}A39PeN{(8=epm5olv*%L}z{hYz3$7>~% z?DaZ-lQ&T|L0ZVVL^60lA>?T2rMO-@lFia`|GapjZ`*rx_RsMm^3pGh@9pOWA2l zCY;Nk#im&Y6qwi06 z!}Dej`EqN&zKy@~Y8BgKnOBkrGav*O7UZL@1_g*GscEKrtBY&c?-WAuP}dk7rmM^i zbU%ROY8%lA>pHTy_o4JL%?8kYQA(@CMEr=Tdvt#?tms=bl4y>($IX1qE0IrBqy9l}duy&9!a5|{Do^LK3cFAM4wf?p$l)2GK^ zyNgvb{ryGRboTp)w9dQP(yB7B+h;s`7o2x2-0-@rF_I08c~lZu=q$M}m2h&UzfO}W zfXMf~N3Vj;S;6Sbid)%iYr*({UFOwKBzp~k_%7Hxu>SB$Y4ScqRE z>QZ#djMJT7x2V5iZqlE6vDs%=5s}O+3VDmyQW^(GM1qaPOf@fk^=n$KhO0%hlr&&O zFVZ`1F5&t>ckvqFy4M)+^)GOgwpMMguaUvC*;l=l1y&Wi?-JR@~ctYUZrhEd2tm z5pLl5dV>NbaHyq;xaVeO`fyBu)JY7q+lxV^n=ipUJ~d_45Z@lbk%Kd$%EQsoXWA-Q zI4YE2PB2ZH)@7-T*|VX^Hx@2c{2@5q48KHQctirmkmm;zUsg`)TC@Hhbz^OQmi!Vs z;p1BLX97n;o!)my;lPg>7)UrVxIZSEO9>Z-?NNE7G*zz@URQxk_E^4@(z(qLzeYB| zCp6P3RO}rA%J66`E#YY}GDG&Jw(oMiA`??y7_E8ynYX=o8@&EdUiJI=PbGkkoKkjg zLMVwIrr4tUIQ;8HW^ljxYmuMnFM?ZY8IuIRxJC1+A>Bu0&k^rC7oo}Vj_DD*{bGBU zM1URf#zbE5NDouLyz#(^c4Sh9N_?22EcvWaKrGImC4f7mNR#|@Yj*P)R49|`kUoYn z{IIZ$h+*r5nAp*x0TGU2TpplYH3Iue69BQD5l!ywR1jIb^q(y(<;`2mD)SwvR{bQV zkHR|ZA_kWwu7`pJPl+1=9=#u->H5?Cbq+gw35Vo+=wasa!E+o*^r9sHI~l~#mYz4a zt6%jz#IF&;sV0QU2}X;dEA*ego%^rnx15P|BvAH8pM;}Y2`+N{j5H8Tc~3h|HrL4a zX_T%uWrI#g+66aR`ei|2k&fJa0P6MP`n1EMM`pY(d}nPM&s|4dQIXDX9#DYp*alP? zfQKhYnEjprFAnKiZai-CH^pbN*Ji4|E=eJ>i+{jiE#*lc5@BtZynOyBqN-GW@lD}j zKMCR#b9YgSRjlk6OXb2KN%0*|+4d{NGJ>K~$DhAc4_o5_e*HKY zR|z3rWIUwQqza)UDCp;Yb#6y1u0@%U%KgwER{_n_)08?!gC|?U3OAVvgkd-%>noaTATw&aGeYFTk{(D#y1go4ahqequhqP~{k(Tqi zm+(X*@vE%y?Ss(n*2IF7z~2*qO92-FW5e1Lt9!qZZvEnOrFf~lh>Ayl-`tC`XzKU2 zD2EYhYouMKYLCu_X^3h4w(P6>L$LTG!*G6xPYbV1=$zBeELE?*;j`f}S?RfbnBb-@ zffG@%k3JfY=6gFoShwWtFzb2 z65Or#F-_GqlHxP?vOC1e;aj7$tey?1*7D_SLPuj?YUmOnQxLiU{C=Qt`~8;Vn|Fm` zT>PenNS*TQP}aoY4{BqLtiw+DKO#_RWL{cJU{x`;kI_YIXr^$R*ref%u`XB`YNR*u zGrxq$W;2@xI@5M-1@#9R-+%woKjL}tTtC|xou7#SuZI9cNmu|&^VOkxI?qwwSFa4I zROL=yNVTI$IhoPEk3kYp5XB(NQVa0%%X_(^4abh4>bM~`WAS3jo<59}-C>W-i(1`+ zgW0Z}S{jjFTy~vaO6aSP9ED$fuG&_SIEG8MQkl_FayCW*w>TCh#2jR!;3HsPN^j-H zvgyqK)eZUTZRQo=*zygpyZgbT1tfb>e1N+|NnMrri{lFNq2i*fsZC z_@HtZ45YxlP^S5)NbX|tj;o)L;@bUPc$ZQ7Z~rOo5qLQ?W5T^Sam=mf&mh0RPA#iW zg7#_sW;d7X`is|7@eUjE2|sqnjzT}+UvoBZ)6XOcG9ii9tdA_5BqI4q^7U=#^vM*^ zp1$Db_DNsO&qDmTXYYzu_j1aOr7%3Lw5~^|HYy@Kg5ow@*wQ8x8yNIQM+=HNo{ zZh?R;-E%}Z{HR=(?3e;+8WRy|9qAh{Lipscs>;@cX2La~SE#S>B7@pZo(T(CMGJ%U zxemwI)6@*UaIc5jn30S4;-kEqaw5_AmWe<41AbV?J`oH$_F`PWm-ia7%1{_FwhK}* zvdVuYaD6l6k+|vX5GQSJ#@0jAEuLK=`gCQCN!Dn6kxa`&+uNvYInjyt+y-YIL#CPz z+B>}Jx7o$Fhz5$hzFdlV`x(dnEMTUh$|{iROXHi>Hovcvx3fQdgm?c`&5a4C2@xSp z?8%+%QVf?CN@@hy5a?Ha3IXO>&ER2(1L?5Hr}JaAl|Nm_!9m6C*>*TJvv<3rjNVd& zulF691%aJyn|I#Ski4kq>fwH)qChX^EX7&O;pv~ukO9ME4%>B>GxigFP%O3hI9AVQ1voVQ=teY2z*UaM_ABW zFTANeMHh%z3X$$!z7j(nFfip!8Mrj_xgIN!90r{rbQvP4R|a2J++{KY$~ov?A_fFS z{cMoKvD-jYMFq^h3n=p?ei1*wf%)f?@I~O@@>Qy+dzx}#P;G(Ib2IeN~q@ic!%3ugt$i%qasU9hb0k34qy5pSL30;!iL9U&7m8*mZ5jhd>I zaICQ(bESRv;<1TUs>usrqaFDJsT;!Ij?hlgjMrW`rATV-s&ko<8~oFs^r42Z&(3gV z^I7R+&4IfYoE)0Xb5~t%)(@7Y(gs<{!$(_$&=;6Pl%G%$5&!%d9?wFO6IR&*L(B1A z9)sf!8xo(#4=*n)3JEx+U9J#|VXYoY?MNhwQsya#0a&yWR?m|1w;;>_niE?>BU2N%~B-N_tEaWnaZ z!xH3Ea6;#Or99SivG=~=XY0|6e;4%MC}EV6pc~^A$#enYB>~O8C$FSyVqn_8yFFk( zz>U~S)4+f?kZEQ4hP{8pIwA0I_l@=^-%yL22tj<%3!+AU=*-h*XC>?^MvdfwifY1vUfNG zK%h--grHszlyXaf-nRhGe?}^v1UE{sKD1Q}pP-x8?bE_KLrrPbcuU&@7K+51SBf$& z@2GdFIt0E+YF=}i2FX^g{^ClI%n6O3>?&$8s&d6+TY_H&qo>f&%>`}it-BC|_XT4e zP#%yq)dxI1Jyif8S0K5af3KnrWfl!Hcx*Fr=0*tlW_jjw#vZ*e;mvb7%Ag*IdcZ{F0c}!MK?TAg8 zbH$#w=7+T=@>?bGK5<+gzvCez6;mTW`Kx>Bm9+cC+O{-`B#zVPv9gx?8+v$K*Bhco z#wUN@R_o&U|4Gsay5HkOQ$)@E?ks+1@00wl-mQX1m#q9Z~J+;<3Prh0XQ8mY-yug`De#Uc|P6&S&@oQM*>6 z&>bo=f?QVGk*byuKc=`ZxAcoF4C60INm((V)sQab1Ik1FJAa4$KC9uI$ACU+m5reLwe^<*YbdB<2_kVR#Xsy4WOB{JF z%s9Q`6YhA{V3d&xCmJ;~Yy{`F3o?w@I{(y|^3sMspT{QfH&Nrf19;!G#~L7u-N!-a zWP0y1V*Je^Z-}j%T({j@-pip^a^xz*$V!y*X~!(xHtRzV|4LJu>&xQhWWI9 z#P8etKCc<+Bcv_SA2-?@GKUJ4E>VP#PpU}WVr0-{fD>t2Im50qa&f4ssp;MZ`_T1{ zIb_;E*iwG#DD^Wf1VYALtz8_VARo@0IPKcI5j_MRf(AdlE%dV)ZNWACyxld871(@{ zxY@oFcU}$kPVB^&n!b;a5UQnOxaxDE`J$7VyTo&8Isi1_GVCkoXyi`DMdoS$7==O@ z>F_()7Vo2e@ZRv--e9gTv^7EO&-zO6=SPZJx59)ZNDDoeHl;e^n#-Ge3g((hf$>>= z^{J4Z@)sj2+$wWvQpl2*n8l0eJGIm_wqEPDzSsfAO?ulSA?IgYaEsZUKl#)Kxz17v z`10Cw4s!|Kf6tpd!Fw5LRXlI_dys8*z>Q3qZox}5dCa8u2O&1nHQx*E$M6dPgvpwv&S-RU>A3U zt_;N9At!u`Y}a!Zq|)4HCd&1<5XFLMJP9FN;`_LI12AF=Sn z@8~XF;YBGt8vN8?s#V07NQxLxCk7l`R9>94Xpn)`yQZ-t_uIC<0nsg93xVNO&36>uM%o+}BGZCiY{3RU#)Nht zTpSmTi^ms3>gNLKo0<-+!R$EG5=&^y*L;Nhqd}?~lCSZjDCE775yK0xkM8~7?i!E%6~nn?j+=q@5X)q2CNoafa#+8y^LAaSy@c~j zw_J}`JqDX%$OP!Zbo6TxfcX8q?woorD}&cKk|(yvTSZV1vQ-0~vi6%M#EY1-DK|%A|%)J#tBFV7s4dbD56r+VIL#6poK1o z6uO&(u0Z<4oKoJ`8}f!lR3@bLvggvQsB~;`g+!)UK<;zD%!spx9Xehzg%#}SRXGW> zyLWMPE%Ptl1P3#H&RM4VjJO91O(0FJs3J3ys~L@dryIJ}fhqLG{M7p7&81))`4teT zNQ=dq&30g~?Zc)R%2i$j=GFrl$?mXkcjtVBI?auTZobZG+T0XNszAyj;JaF(Xyy8P zrD=E@UvD4F;uk$vD7;Z^apiOxXAte4TKTKHp)}|~a$vYbwu<#|&(IsU!o~#EL!{I3 z#^F+gJL#xFV41F1#@Um#f}NcHW{%PErzMSkM6C7Ps;sr4kEUUk7N1_ue(d*;o)zv{ zfhH-VTQYPedz|)~22reg(8;{uu<69U@1birM!0Hf(UMrv^#N)?)w&sKe^0bgM;Sx{ ziD%d|dq9AOv>Ffo+&D8SeKLoG9$iWDdfW~5he<+41 zc#ZP2CBbP1x{M?>Wd~{9*fymb$`>NlUe1U4-QE{!hyB9W`v*Jg{+W*RGiWbIrM2J0 z!%t?*mH^Syw6@=BrbT;#bRlVQ-wna9J|gfCkI#fRHPuXJ84v(N%*+Le+K+gim8LS| zr19>h@vm{L@stgMr4`*`Tl=KF-rn|*%f{@gT0x=Xruk@N$P@^u%3p-|Rn0dzmsonM zz(qOV2~n7#x&;(1i!Y2lyZ}yp2q(FUl{g7YpP+2zB0sqm5>2_PkMcErL?Y>ajSID| z0PR$qlWqFe>MtSXONZyw;~pG`IHWM;`4waHr=><>@)l6iMwDtV|ws+g87Irt7C zQl&LKVb4W=#=KcCH%v~m;=9<|o0eVQn(ospxuI$03pEx3Y{JO#xf4$ir#+mP#r)1T#3RRP%*wyB_v z8cwt-YCN!g0hPKY7TGn<-AX~>^m2~Rm~^n0Pz9)b=C%LS_0HVMca4)aBR3W=EW(Ni zNg(aC!Q2C3NfnB8(oo zqpH4%t+XsNFm3F1No(x8s2~A$izNTq_Ai3|bXBinzvovTrOyk1&{19mVWEXwc#ns^ z@fizt&0_GoBRP(gZ?yT;EMT4SA}+2B4%|>M|Eb2TgxK^IGEjExz#CQXMnHgK{*=?- z;gka>Y+EU7c3XA%=H;20rr+CKjG7mlE!9Uu3A|a^3^|)y9}`a^R3Bsjd6KIWf{WH3 zgapJs*qtb2pY`*&2nsOG(Z`M6*Kob1TMTq=pXR0YD2QYkcSCZ>E9to#0(6zDdf0Mo z4)r`o=EpB!%#e?wB>%zM4E9d{%CU$(aupC;>4i`EK$2v)daZwi@WFb(0u7@+j7)7m&iE4-_aVZ@PL3G^`l_0!oXyT&%EC0LfEN`D*aZx0-y^lGEw4+>Pk|3^-?NhnqUM=E3UqWpWLMUmebhR zx!#MGJahBxkisEJ2Kg8FRQ=z`1Skxeulv;E-uu#-e=639q*!cXq}IpYm&bTVmulT% zNaeY}loJz%VM)i@p?y?Vhr+Wml%S&0!Z9B|4l=20L;kEKAcV$~QJs2TKfYFL)p?a0mdc#^50#gCcK(N3W75AwNV%t!@b*&_H|jO>x7WyvT= zG~;C5{H5-ODLID?21i6V(UhjsP;>0>v&^}kJFd*fA+BqE_U@f2XYCDzbVp;XCpv$& zIfc~Yw2(c3w00U%Hc?lWo%eR;N1O|Hz1&p^7LYE{*8|)amm~Dx(OzP<32l0-%<3pO z;Zbv3J&PyD0o4}6iSfQ%l$HZ39d0ZOn2sNq;jutW;%n4vdLtwh;aE=@TLpm8Qz}0` z#0N;?tY2&Uh+)`|&`e+OSjN(Ir(7HvqoJ3N%mornJ36hc*|DzLDrnNO~F6 zGQ!fsG0=;X5>m>9CS_2lq*F3-^98R}@FzCMM`1I8-n}jRfX9SXT z(@4B%KH9cHS&jDTAxsi`8UT@3CFFiSz)49^Ctg^ObnPn-rV2uwtS-KCo;e|}CH}Uq zMHHU-?nm*xGP$oSg-16jL+f4}WfiaYL7)VHD_^oq!u{cOtm1Ei@&-cmTy15p(|1=@(71 zNQx5)Z0&5}r1u^f`MSTy^@{jRtBKwR*4RhACqzP)J_ynaNMsd@i-NR5g=8}CzrvSu znK#JQ56TCeCGh%Mt-$dy1p=5to*M_^I<+Lpr%hj09zX)P)%?&ssPUT_oN2f!b{F|m z8o{F8>{fNdl)6DvxTwwx_ipC{a;awE_E@!L5+YLf+toCp^!vz;)~z3_<78GE2A3bd zST?#G%9|tP6P=sM_H080j%1cuWzvtaIZmI;iBCwWen_0U*$e)e-!OW0Zr3bC!l3rN zrrPd(+MkliA087~f(a|j9l?@@wd4sYY&(qPx;xGT*te0uT<{ut{15?a~@sYJUOgEmYQ5*f7dRJ8SV z=UR#Ek6IxSKc1oSJy4Y2ED|96}8ER##RU;{;@iJ3oe9SoDqX;=SyVVM(NEJ9bJ@$lSFP83k(oY!Vd4_Cnkk zd-i_u#NDQLuRNm;Q!eM{`yqyoPw>C1XN{RX3TT9)%uMsBCi=0uSf?}?m!*R0aqDlw z-+uGbrM~PjClQI^v>P{Vqlx>#qpcqD`s-WTwP;H-t?;e3hg)^I-3UkeN|9|<{-F6R zK|=c@Ey7>am!~&htwb{|2bPpH7xy=`3$z=U*#?SPV>(T}=n7wany?hm&&PLo+g`t} zF_AS$eP$r|E5{(7tNUI*&@~;G0SRrqzp{H$De?&6ju_J(``~=#wqcyvYGdbgDW&AK zmC(00F=XfLze_y$>14GE4t1N&k=*$M?^)L8EhM(V|E zil04nobNZdIm6=yy^;^Cr;b$|>kcKk-67XAnPoO---9=0U}EU84QE5@x>M z4pP^uU5%+KWUhAed`&{hGbiO$f71PZ0|Ms}6aW6eFOCnd`D$gCcoUJpgGU-ab=K(i zgjArIktR4CBW{>AMok{ya^aFCH@6ghDY6S6Uz&PtsDb|Y?#4epaO*cQnMUlNnvTFp zv#Z)=pS|F)FX{<*G1H@2MBP7n3p9x|RQn2y*tbteg_q#r=N#4HHxL+{udI1w@g z)&pfa_Nt=8-yAmJXeE?VQ&ZHH2C?dKDt1uUREdP@926=xIeGf*;ZZ*y$hO^H(MzA> zJjt>(+V+uA3L~?J3@e&aC!Z1%Q@0o8=K``Z-bfFYeDL<1t@-e#>iUb*2KVf7`4#;k zJt_*B*LQ{19(KtXw-X_ZZSuApRqY=c%-wnD3(MQ0P0Vc)Qd&xFAnGVO)l^>tgZSEuJ1ZVGd;(fZyi#ztqKF7g-AJ+MIOIS&;bz|u;Z zcggV!r5UZN+7iULolmO}4iJ-qqNz*#QgyERd=IV+d*l)YbK zQ}1)rbZnb?j}_dFK-LW%y7fm7JXWLXFz4LWesQQ;R<-}qN4qjPz|v`?`J=}O+63y< zQ~Z9&u0IF=D$g?w$M`T*QCrOO&0D|_o0d@83_DKdbjlUe3zr}ZOBDw|_SW#vd&hFwTt=+DF%|4-_E;YEDpY=5zI2IY$&=App3CEX;cwHrUik={ z{Oo3^w`L!j!^FBO*!LW)<*+_*OKsvTGsNGvP%8NO_pOz)yV?>1;+ly4WUeA zF!L+#IllealrNDcI>basuJTgNm$&dF>eZFCrGwq%S$_ zhd0qzj^8f@)TbRtr;e4Qd8ulcZ64wc{FD)H^3RYPMeJcf5Gc;!^@Pjx5kjYa{x%8W z`DEpmWYH06sHG*cuuIO;Ze&^Wo9GnIq#?;1#rgsF%viKCT4U_96#4eBk1cc zukPd2j6VX?x_EI*LHpq@{PT=c=kTG#qH#N?1T(+pJWHsxVed8xw@KWUTmkR zqf$ouJ6r^J*n3n_%nxYFx)HWT@0M`(53-MGR-=i3u5;^0F&B1dD6jvq6o$X3J;dkT z>k+pq3mFu6z|w4+sQD`Yb!Tq&veDPR`y`O{Q14jG(pT{(0?}{w=wF(dQFZ5>foD{_ zc@B8v*Z@cH3*KXzRpon;AjV3vo^EuwKCx5%Hh05!HU#B}SJk6p4RJ z!UVxVC8m8ayM&Zqz6ZMq8p>IfDQBKS;RVGs*!O&>J4-g`__MDFKh)UKO2a#S4}SMv zpEa7eal>tP;Y9dtA7Dt|XyCB$^Qo#H;pk{P$>B=afMyTuJ7CEVQX52}&w_vZhh6z~ z4|@g9+)5h>6o)^LNp+)Ep$}&{R^Fe8)!;%K6Jar!dhzSR;I)Ne%luTq^7`SPPH#u` z1R)2({TpDrjK4LZME)6@wQlX!BnBEH9PL%PZ=95d%v;_0 z6EC;0Bg!B|mMBIu0lTvIwtdBcu6Zo&ITaqQ*VBR@-zpxTWd=}t+0_&Ln$fF#t!U1G z-I^oz69|6RKs(f1X-fhhGhYE>n4(BzJub9&IW8$IpD{5eB%PCNBS;|9VJgy)qArma z=Rs9=hLeoJrlrqd9@u6Sbdglah%Z0dW=2g$E^;F}x->CdpKb%$C;$b!xoHgER9ARiAo@D!Y!)GC22xKfbcCc7#n5l2681hTGl5Xs1zPday8M-WvB9W78T7g{Yw2T2i(tV|Uj|N|p>Z01mjE(@V3y9OeQ$;-t z?HrUF=@4%ZbJ(GHP2&*hWBp>SZEaEbPu3Vfj;ncc37NB!DyOLS@TTpw9k^Mf*0B5)Co(QpG#yn!9B6+!@q~~)#q$L!QCK5(F5x8 zaC~)SH@gWYjozey2d3$@sv{EY#YM4+iFM<#8`}xzOJi-$KIl7t0I~;tvbmb7s7Hur z6k#{qa?ZE!K%E+y2@4G^%c^{L^XL77RqpT{cKtNN=y0NIN(*lZZu<*106oy?4d1sdHP%GjCa{{lBa$iGa! zv}8#H@Fyf&S2ri&@lcCw118P>OZUm`druQ1$Fq-s*8R` ze*6GeJ&0v(U>St1uo~ck#okJCFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Owt&IOj zE3_WY^WRXr<^1)Ol35PcplTmtr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+MFuMd z9Vrurh7cQuEIa&aeitEBRU^^c$TXLyEOb08W^7U8lC*16^fX*C z!b+7YU_|ExbHVv6p3Y~fGkO`bzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1_~e!Z zS*tveZ2r{Nd@WU4LLUF{9H8p8NfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!-EI+$F z6+2Vp^?PTspU4w|Y`!q531;~x{O+UL=l~4o$&F)*Wz8h%B zX(tCL1OxF7%l4e?mRKyHls1}@dBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}vH?!Ww z%HrVL=2Qx|^K<`g*N77zwJ%qpYj8wz5TYWDXHVd}W)IqfO-kV3Wc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi4hRB{ z8wvoN+f4tU>d3UD{U+FXes)alLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l9PC!y z{zy46r$GvQI25@;2cp0y4S-Hbv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>dL}KNqE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!of@8`} zLfDifK~%z{15K}cl|`p$K*Ya5kaXdXC zo6hrBt>$@GW;3a`mXRcwbSuSV2H2?V0e1fElq?S-l|!32xupA3* z2VY6%_A|QH($cTYcdjdVw{)5ycxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODmWuT~^ zCG~}cl(5Sg$=%XcalMYL&(@|}>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs2Mm4h zabWvX60>NcF|^OO|6i{67bILm?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw;5`(G z-Qf_BG3LA@nM_3^%578eQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1Z7v>5 zlj)o-S0_Oel(bz4r4mSsa!DxKuByEd$)a0seFk1GxzLcDOiYe%H|KLbS&%*dRTNd@NS2;8eKYZ18$ery`P4k z%Ie67NP?dP%DK##bC-|FVTOlGsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+fiMBt# z`NRs#geoIZA*GezvVwv58ja;)pvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19slmBj|+ zrgw(`8nIuTc2y2T;Jf$GMu>b?a-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8%ufw` z(gIfK#$($_P-?c)_qw+g>=&ag*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2xa#@}z zeMKs@9G1AeZZo1H786l>g6T@zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~lQ`c6{ zs(l)oA=Rk{5iE3c=9vgYAD+w8bf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ=kW(Pb z5j4&;gk)nQBg)`+mCebu*0VF4`DcUG#fz9*g|=#7mjX zMA>(J?yjKnbr@{eHA~JbA~bT04DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f%3mWd@ z!qM1mdOef(ebn2R^E*XLv39HU|-IQ z7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4yiTFqhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z?PIjg z)oV>Efwg*+5^5sruQ_a#*!`!#gBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9;XiY^ z>=&)&|=$Z-7`C?(;aeN~x@9skAM z>No=gE@%@AMhHUgz>Dl22Hq)`zsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXuIN1h` z-`&DCy$*2RApsB)|7QP;gv!ha0bxR|&Ho8(yB#fPP z%#Lv;Qc};ZmewyAZsZ{$xItpIm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_y=mOg zyo)TWxF3pZ!gTv>{feN!P%oAnMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ%(DZX zFCGYhIjby$>Ut=GAqa#dxf^`nKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>kUPU!B zQxDugieYlXAf^&TN8?+8Cl+$t6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@CvxLHdj zGMggGxgwEeFTg4wKCPAHySovsSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@tPLSW! z&uWIIVnyA-5-{a?-sj;_!X@QpP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDaBdm+_ zc=us;dd}w~@vHaiHOySVYSV_a8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f)_&peX zmRh_rW^W{MGTeuRLixsFCx-rV+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0mVkm&O zg+h6MeC*u81I6wATa8|FvLvj3E;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x3o#mk zZu2)7F%%C|nnGlN=Awa?Ba2Ek@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGLUopp|Fjun9p_VIkw6~zuVg)zB4aF4`@)xdRZtD zB7J`h962bN))FBI^aN3giN-@bP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYwSg^2A zmg4(z>#+&6fC5W1=e*UM9bgjoS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*;h@_io z{OVHEFr#wx;tc+FwhSx2CB>gevb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBtLHy#f z3l8iBqi`Jw@7_}5rv7w(ok^q}kqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI=HV2kG zpu}eQ8ByJ#td7}f8T8ByGc3CxyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JYmi3S~ z+Bsg3}NZD8~Wai){86Mt;h@J zA^K-0etE-Om6#$XD&m}$G7(AAEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!KZ{#BJ z4_aD|sI?>WeTGKR{IR6Sk4-9GOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1LcvLz5 zb=9rSNe5?aC)d{1&C3!wt@v34A{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6}DkV1> z6NP@(r6@}z^s=wLOBHQO)nvFZj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p&S}DSRpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^daS0K~# z1;$9PC2HU?k=T)$#-{rR$)Wf)h-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0ABB$P0y zj+O*!`P&pciG-&xvn=5>)8k1eP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})|@Q;Uy z?R@W@{WSpBa2YJ}buU8A%oZS85ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDTVc5xj ziVjw*oP$%g3eLq8$efPf8KOmf*ekqzho<*kK|B zGAANL^k=@;b&wd6-V`du>hSCHxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagENh_s4 zJsIHs=KZJrV9+f zu|*=lf2WZBP?O#8jmJHHSP$qo%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3WQEO?v z#<5JPdyKuUxfq=*U55=7G|W)Qk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT6lfwI zopj0(tG2qAz?6hR8+-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)}`DiFg zLKMj$QW7kHvQUy6ZiP-R86VgZ!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r^jE>V z)v~>6zN!7L-$m*3_N`w&%zjY`kN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1EdsA| z|9|}cp9MzJM{WicWBa|%g^Vb65?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3bUJ_MS zLRPb|GdUNR7$7_}>DEeT$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W<6(c& z;NNL))Mxcfk?T#1{pgXFpY}b^syEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MHeJowI zwkkqC%l8vapktr$_aS3^V;`tZ3T#=Hg2Q}$?-r5n#t-oZr* zA|ru-X>pvnMNW}Q?TFCNz0~1L8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B7G)-N zdhX)id;97U>DOeA%Y;#@knmAsFQxF*)KR7 z=hOd~x$hK+R692;Ez}V9Mmd1kBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S+|9b4 z8~BkK-}_`hje0levKz1NS0h`G zW9zUIciC-!qOJzld-?J67;yTtFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*&0tA*| z^u9{i?Y5G{!7nu`3~OIjJ5swZR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62YUS@B zAmAsgmc7S_l{WM^M!U-MEbNq-u zwxwKuQ)mOEJ@}01m6*nm3ot(S{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$SW!!J zaQPVVbS2O`eIUP)A`P3Xmi1{?wB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z{Udp3 z%KO>427$R5GAq{f@)NrQSes4&{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO8mA#g za7)Q#fq5SyFL!Z#QqR9{XE~iFOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568s~&+6 zRz8{k+QWE*b6VE31hHkO{6tq;*tGj-IgY%A1DdUV2+WGshvi4c$)50JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032^8OHG z98IqBwBaDXoByk38!GQf_F#ba(8PrpyQ(u zf_Q|hX!fm2q%?T*>uJv9fvDCKA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`NC+gE6 zg6qv-qKYWZ1S8SoW?V?h8kh52<&Iai$HVE`;mrGc7 zY|vkT2s9w<`2mDe>p>_xcg`h+MU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJsndJe zcDK^+xOGM;CEo?FU3IFcg$jjPq!1yeK>#l6s5%RY!q9RF=54p~l!jK>fI!U#{5maH%$j9E zh(;k(j~$F31VHKV0qH^awfhQ+;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bmw#Z&I zjd+h9Yk1Ng-WVn~x}1dMY+I-`riJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD1W28x zQj>Z-LpDF+;+4hX31GWwA;ZE4pRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7DTa5R> z<1%IiP+q5dnPYO#GjCh4cN)({@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#CyDi-K zwl=tf#m-@(VtoF;+Vv_}TDDuJ#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZofh5Ft% z&!MF7;1{&y6zy<_&>9?qT}A1PdDt)8-)95e2W=`ZByvc@k*T9O) zjafwQoD2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN z%iIj3i^tMMcyD_~>&hq5G7Gc>{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwUg6vrh z3d7Y&2e!pf`A{k8SsYM2T!%SvnM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5zhZTNJt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^3ltWr zV2AUAQDU)Sfkv+4uEAtjK_dyqTYht#QNZsH?NgNFArW4U~I(NV=?TiI3FjWD9D3HLDhccI(q$q?K zAOjKSE+6j9&Tcn#i1Sxu(?huLEp$4wQa{RDi4(g@N7(q(zH{BKp6Gb6D|3 zwxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#df*Sd(k%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=FgtpO<# z;`?lgJsbq+?IW}7&xoJz_P!O&PUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c#h_Y$ zvlAUDD@mD#NjA0I{%zbdgqGefPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DAGrBx) zZ}YMi83NbGzm<{hdP@D!#VX&%69RKoY0^%Mx5)YloI;LHQ& z@u6pB2`^nB7e*f%V>)67I4Pzmk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5ZtTUq= zx+ARpTwyQjInUTO($($T2Pb>I3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE)}t^T z-aoP6(j~y@r$}uIFi3nqfyCZV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NBu4CrK z*~eje`T#hlqc}Ldk0z*vUP!VL>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD#Z-hq zTZ}Nn8FV91esP3E@=+*6MDi2BIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80m?h*i z36Iw0;Z8?fKJ<1{A9VAw#TPB<$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU6O|!5 z4QA@8@-{f3ty7I09Egi(B4vLtOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B~9PdcR94m+~{ewB{}A zcF^Ax9zuHxASh@x4xENJRnHRp%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WKl>Kcs ziCO>|ltjXzArS%+Gx6CAhtY1m{vE8m%7-h{aS8O)Ct z3ejrvnGF9({ys+kq<_makc^MOki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^(0q9fG zVoWel`dAxWFtBMs3~t^QIJD9d>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6PB5eR zBj#wpRih{~e|H0^NHlDjk%;c!v$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{y%>Ey zXk7@jO6BvGa=CwbQr;%hZO21%_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;kWZ|6G zAWpOb?qU4`oe&Sbk5LbE;vmW)K!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pOn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$lPAnenU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD&Pc@J? zy^dVLpfWOaDvN}<*V^bT;Ftu%4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRDxlcT4 zvwwUaES%cZp`xaobf6Qd-1$xSu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5KZ&3@ z(_W4&=daIV8t2^hyinh7Jm?#l_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGeeVKG| zdL&e8Ry7kaQSB-o{?JDD{|z7Qb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z4(*}) zJYJKu3q$ru$#m<=LDB|_-?M54x zXD@|@CJ8+N9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIthL=tXM zY{>bm%J`~j&h6mJXb|ng3V;R-#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t`?lDs< zeYaAc#dyz4qYN3Op+$Y3;nHet=0k~2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|ufx==& zx>e|S#q!KDiDr_<-g`Ct`uincP@dc^mV>RB;4&s95;s7X3_;F$ z^aEg2feL8g1i%W#z{ww5%+jmNiC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz{BGYr zXRR~=R?(!=u4t@d8jVu<1rnAS_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8jBEcu zj~8tr@|Y|Zrk5}$^~h!T1#C#vA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(VHKQ9_ z>IC22XRzPuq{$xOsb?m~S0EjBbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1?hJH+P z!2L@zqF%4xIp;?GQt9aswQABrg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H16)8Iw zy>X@aaOHi#HL7YgpCgb_6evbf2nL?leGo<2@{Iv(C}j&eBm88rdaC*q0lvm{ zyBEPxrVuo!o&d|tfg5{--((GB)S00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8dIf9OI2ftQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}=s1qli z-a5R_f)0x`&qrbh(hi_Iwxr5G-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(<3%n`~ z?%XlpL|;9t-SQIB&G|dEiqp%2CO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJgU!rG z#=J~ffLARhfig7u3>`K$_ZOh|wA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$ylXx1! z)gGZZ;|NE9;l_?DfzA!HS%v8jgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96zBWOd zH9#3$MUTWpk$EDY}w?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64wn=HfO z+=fX#U6?2!L`b!G;7t^%p4QUCWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoWTjU~} z!;(b{!+qZdVvXIV06lv>Ybq4Oh8GTn$mItL46dJssg1{DugK*B^3wZ>6qd=KNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v=rik} z`JPg?#Y7=NtO1BB3}PjX9l!Bv5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#;NiE0E z9G!v4kOB0DGJ%55H7r(n4h}THyD(SuMOX{GlzVn^{@coyBXdVbAlK>M*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hij@v0u zSH{AH^gu%7JdA&FVP^H}cK{uiKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$l>=X4 z&%fo0KIY5BNZL-Se*l*CFO)N{Z@Mf*AQB64!e4CewHd=T(qcQZbN8V}1eB0}S_2k1 z@&|_a&AbI}CK4SN@%;z+Dvdc+9>*&$8QAzM-fS)b&{WxRzKK9q7#PSswyW&s=|O#k zs1-n|6DAY%upj;X`B#^uRVv%4)N&^l`Lw$zs6-HfH|d)A8&hA!os+enPIUY)AL{Fs z*6gQ^6C$drrq}&rHrc*J*QS(}f59!(s)w$o7Z#tb+5G%R?t4a8ty47eMoza7&Fe9B zY6gGMj=$Y}m_ z{`>mKKQ$~sk_6S>eUuwVgn4%}SD3cFnO*vvY3=`#_h0?G;~9njm;bvpNR1TlqsjhW zheB>JYCb)Dpwa|JY+>eG0LdCJ`)EiPxgJz?_4Go@*a18!+qeDwTiOs70yhSi{w#Z9 z7`G)srMmY09ezr(A``^1yNkm5Q@ROv3E&O*vSDjhBHWDuWj> zF}!uffdVs*4<}Epr!gIfh|}L3ULwY+(V%i8S@^El7;#$6e65YN3rAC$L_+%m?JRo* zf(r{1b$Fbk{0F~w97e)~XKq{uXJ>}xfj4ryr$rDq?>yS_@n1Ev)Sk89IN3F~k0%)0 z-QYP%Fdjy}@<2&spWFPgd-J`=A;k1Ha?fsk5I)Viol!_~zR*xHJmqn-&-@oI`&*k- z5XatH;Wu|BVPv1qoQ!+V9tHGO~@gOt#dSK`yI{z{x|G z@g$UFtyvr%4M2T3$Fs9`;iCv6@Y>5wy@=}XU8XHwfeK~T*6mje(dgO731~*a4Vhz!L9L4vAYlO60fYo$ z*jo!@Zu}S0$bBeveD}`<{>b zGzUp)QT>y%4xtPoh7F*?4oG1mEX**1r$^X4Fu`C~Xgb`&DoR5fDl#3RDz1%B-;qBP z^Nn$@$=$hfdZTZ8>pw-lx1qarM#Y{x7Bz?~%eYXs38=6_!GPJ~Ol1ACS-=oHi9!PZ zGuLEsNYRjlh1S@Sk&Rmke%lNlzQF{)?%6+v7!i|%tw7Zu3%9zG`zkJ6$@1(WU3B5_ ze-+r={hzCPXz#RP)}t;?|(JTEF|!vXz0RA6Bpe6QuF-iPLb5Jwv+=z91o zS&1?$al{nOF4S}rd# zE@c>$%rMz5@cypw(lx|XRF#fcX;xLt|RH{@hvrHF-{Jz1)ZOGV9xC=;7?-`=At9g3ZobIJ@3TcF^x{ zwccmsZ<|*}YreZ;g6pX?G%Gh#0L4*u^3rgF4bC^Dwb4CPIJo>Jxej}aUC>vHMfjO; z03nM#D|_P2hCdzzJo8c*;9TOW6S~FTrH$Wq)vv(#9D>!O50F7qxuxXkEsIQP8D15O z(h!+g@+X}jlPUEhrG>X(?c9O41*Y4iPg2-Lu zrI;JE0f`p0V0rd`Guwdjwg!DDTHOzKxqSpUPzauwI+P@>$4jStXoWR&?Qj{VMRmqg^V@uvAkv({27}D7T-eVZ~zd~L4Z(c(&I~A@EPxX8JT@z z*o<@KMzGoGEHQH=R)~&3i!uf?S=1J@W=1(i6jLEYIG51_=y4uW3WRWS9VAUcvdx(x znGbex_sB>ymq`m5*k@r$4x^{nI&CrHTu^N=fJ-iA?FMhq!mQ0w>x+{tedf!H(knQDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJUhXBU z!d1;ZpL&e&e;B!W+ifc=6m+!VEccP0<(@}n@%3H4uO59da90NUYWE^QV5<`gl~upl zM}vPOmg3szs7}BQB0WJ1JVD@DeqCSJ z<0otXACcI3=<+?jH&qp89vC@povh3mvu4dnvu4dnvu5N%`C7iOzoynl!ARN3I;%Ol zy|nkrcv}B>+XCi|yS_%6llVbrp;zkg7mfX&y~6$dAgTW-6FC6_DgtC?3yPih{Cvr5 zH)2b9U{unI zo=dfS7j(^=Hf-6mX37Z@C!v*%5I;y70i+s$>Or7Xp%kD%p;CoPs+?s?;QcUnS6B`E z4g@esHN)#;9ps)vp4sH+vC~27X!5w;0y2bAEci%HG75RR7r7gok&csHf@Szb&}&y@ z%?T3nOK$F~wv@a0^*<|?*4F(*p9+TucXWdC@eCU!U66MqAB+xr0&JU%V}5`EzD3aK zkb~D}@g?OJT);lBv272Bk30#*#X(2>q0I2p*IS3Gegq&#Q;^5cPp0Q;#A&3-KDK1d zwa((ZMd=Sc*IOmXbiyEg!a80aAK77J0~)@pqIC_AJ9QAn2rq?#)!Y|_;}WjQDz1jX zt*0kpr?0Xv$ho#5^+77YA9$11jo``|q&3U>zAtTojs~gINgsHN8Tf!d7~gEKbIrol z0!b^=jHvhY`u)hnyFPujf1}>bTY#ax zBe)~JS$lpy`*W$5xW)t~IXT2VF8XiUB`xXIxQGV6+|5J@_q!P=AezuQ!sNkLerQ0qQU9LYtW=td!8H9`H1BOK1N2Z9s6a*^+!g^9# z77vTk{p^zS7>7p&l#I(gOAHD&g-Za3S4AD9JG%Yt&$gJC5@+$0OGX|%<;{!Six#yH z1KfPg(GEV@LojA&VqZ#&BJR)Y_HZnZwulPtU)xZsn0`O*FuXW@A37l#BH#$3c@DAL zCvfw*3l;jBdagwTVxla-^}zZErkYcEx!QKb$J?gY^1{2oiMrtP7B9MXeP!mFu&MJ< zR6EmnJm8;PH^GHn3>ip}>U4*t>!D*gN{xaZG`u=nqvB#HIo1JNSk~kZdM=lKVs zg01DDwmw~XGfRco1n^SQMgL@8+T-jM)riZltLKmD=%guIw)FPju?^LJvh;tu@y96}BBkpav<`MU;6F-80B-UtaX9{MOFDWi!WLLjWbI^2Rz95`^ zeXwQ*U~M>#xQ8OTJUt<-2qS*rO#j~O+wgg#VA^a^(Q^iupEGlN0)q$T7Z@-MdB=jl z+ga0ZGci&>3qw#{T5NBe`TtTJFr4Y;^d1zcPogJ6OhRQ2mUz{?#Pm@SQGh65s^wdo z8vx81X#sI`;+JNvBbK(a0!P)6ZQHX3c@G11{W7a=@j!7oPA5sR%kzkxWEyXxD7sU} z9>P82NHE8)1D(b~P+!;5F&*f~E7)j^EE#hecQh2)jMY@}yN+o@u>iy(LPgQLrLn^E}E+TEtMQY`_`+4Da}i@2~d$ zxBAG--gU_E#BEYOwtj%|TbSWE`d)I((hTP!_a=JK_o6Uy<+Deyo;aSye{uirs7hc? zi6W_$n1j85;$MFWrD7#QZ9k|YG(*`kt<0iz96%%|At`S2v2x#e-hI%27na%!K zRnY=4v`+x;ayIk4+2Oha;W;*DO}b&5Hc z8lfT$V96N36<21@M^5Xgqp6g}-Yp))KiR|vt$c$%(X&_jBjf0hYj57zSW=Cj>pKjf0n%|Fq=oZ&(SSd*s!E<)sa z2-cDPnj=g_t5q|fG$^L=-X)Q2*(G*?`*tp!8_9MbASbjTzdiU(QcN=@OTqLSR!6$f zmmsJ#e|{xO&#~45=EXEb>yTi%`xT2)%bnWkrx3oHM$&K69GdQIV!89Vl{o{4nH%r8$d&+9* zHilg0fc9bWD77tRaBVsZE?Zs2_WKtcj*qwmZo-@<(w$uT&<)cux@sKJHPHd*mcDW! zy@o96TA`+d!ZQBtZhFPJesh)hyl5)HVvT?;*e(c-n3&E2--d`a)s#1iiU0;Lgl~k# z5;azqrjEBdcA|Xy0UM~mb~GN3FdoQcjg9u#klpe5-C=JsW*)Lw+|g78uspE>_C2;NvCtfNfE z(=?N`?*L>#o4?O)d1#=4P827CQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8cO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif(_27EBnpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`Un%ZJ1 z&Y>k3^8{Rhx&Zf9Q$h48xX;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4%>g2I zq>=X~{#7S!!C$2H+Kd!%!<2Gh-(T+asuLwd9un$V(otga?--w#d!W8=jiTfGoxGV_ z5)=IG6nEZ%2+@fbbtt3ftLvAh?1s&o4$9OpYGJ2{ip`ZUU9doXd^(x*iAa z{uWQ3I8jiscLmEGK@$aKJzC97C{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{k$LOX z6=0V97j6e21M2`dU=Mitrs6xfwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132IZ?B8p zZ*R1pdi+PHd@$|-{DxS-L&X&)4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk1yMzc zu|-iu6j5TVQB+YyiYmoXVv3@R6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?#f-+8* zIA;vuoHORmZNmo^WHM!X8lu;x)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$!l~h$w zrBxMT5W~#PJumad@X~TTQb;pIBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh|W~Pv8 zA#}+#wDpRrDyX(eseMfMnUKYnOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf8D3vK zX3tYIF=f!s-I-_3RZ&$%jFU5;9QK)+i)Isw$|qNuM zU$fLdmDllnP7gM6KWEEL@+{0a2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d#$yob z=1`GI_WhrY#%J{(>LLK7QYoPq_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@MR?)? z8m{-F6Qx8+oSrO>$qi^{*$o*9|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9i~Cvm zyT8jNHOd+P)m^=ug4yrTh6xFU>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b2s11{ z*k)H0L`{6u!`DLd_V|b5Y%^AeKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p^pcOk zj0AHAH?iG7gpELbTcG*PiI2hM171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+OJ`l3Ep%)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr4%Gxo zvOv1%!APYg>j^pRQv26;1Xb~I{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mxi>nsF zm6W@B*kLrmc ze|~`dUT-zu!+SjvzS&!4Cjk~HWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(DbmV{r+ z&~8sKAzUd;L0qnQc@#fuX$u%Z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+r}?-b zLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;mCF6Jy zh8==9y|K@jT#=$kuPh(!qlsMtSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@`UWb<3 zsKCX1A2-t$ZK)A!TJ3(Q+`6oG7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNxH`2pR z&z%G2pv>vybgrW*Ym8r2s`VRLylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ-Z~48 zPuk385out;|1|qFNqPirwy5raZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUmF1mn3 zD1~niS|@yrr+VmWlX9KNqR*wD{p z+yu|GzFWSJx4btxc;6-rM!x5Pt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g$conj zgwGO+&#~-&a1`@yJh8ZpNV&a}w7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3BW5zh zt{*=I{u|+yuhY^PM#u#K{0s#aM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rFW)sdd zt!HmXK3stE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$*n@#r5 z3F4Sc;=cRC`@HTI>yJq8hsAHB#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N@U_!G zvRb_@&F$}aYH0`i1$Ki{$Jj5rjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo3I6Ap4j+eKaytab&MMv2%yp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$;ZH8JF zJ`%M^cuEEjCF)Fb!|BM~?AlD2EWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C4*BAh zDG?kLPYiLloKk-S+NC;pMg6~HwfbX`DUlN#1fb_95T=Y2LVGlr zrIea^*wpC{ILiT3YktRnh&P#{Z8mRd%oZ`u^-40+Yt?!5&PFsSyCM+ zk~3NW(H>ZSU|?~uOFU{G0S6>-%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJVAlBk zUXzPsrMeDb0mdP@Z!s&#>DmFhPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo0M>Ei zvUI9|9WF0*_Oclm*oa4y`6d{?NJ147?$HJ(!t*ARDIA5rW{;RjEsNjICo z{Kzm^r0OOcpJVL(mFc%@*tk=MHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GWPm7f| z_W$pX!+pQA`jKqoQhY?hMe=4d0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzKn2+U= z(DEmpIe!u#LSx33Rm;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2r<%{X zSa+fkBo*-gcr_NRL6;%8D1NvCiXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E%B9eW zi3oaw)s>3KX#^oR9|vICkcO_(l~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V;dzW!( zsd6s5Bv&Y#T-bCv_{*y%_!qJuFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf1;AUe zH`;V`zjmiV>205V)%2YujX>!qn5s(>A_7{a2!jx+>9cS*C%@c6{cVIjE+3<)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk}*f8(= zD{?t}wJ_b%bwLnOMUv9OMTpf< zl+cRGXsRos^;zbNla4z(!jJ>mzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspKo`;&* zx~H=M9BI}6EQ)I8y`e>Ki2WXmU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0lXf@gZ zrF1!6xu3f;8`*B#@u%?am1xxcNW(V_ZHWJ|E}jWkh6;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v)=R4#? zNryEn!UZ%F^4PK8c-ueT+VD`_@zDL`H9#WV2x1>GA$g-pY`JMAxMNV9JT1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB;aBy*4 z8nzaFt*v~mSY%^HMZ*kli-qlS)oTsR3|nMYEi~1#Ep%#|mLJ#o3p<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+PwnPu*_ zwAL_mT$`?Z1EG@7#NvjMxCoVKF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A&jti!) z$7&c;GW5UUjoth)1oD7NWvizc-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00Cqo2P zfnXVgpd_Yp>k6RZmSxyud`u*_k^I>_&bEvSy0|xTibTE8 zEZm)kbV!xYzuV(!Gf$7{NWvha_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZec*J4 z@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHgf-*6W z6yYQiM!I9?i0zv9F?bYUib9!GJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vYNpn*V z=Q`#?42DdEh>;kPj6pr;iS1=g zzB);a9#v}Kp0908bVM$)#Tnwb>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v*8aik5 z{_=Rf9o>(w4%gnr^q`sOIc7mnbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!rCm0~w zeTZ3R9zYnvZrZmv{9v}E>*YlhjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5o{thX zt%&1p!``V9MZz3>ora7OSWpU~kR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt#tVs0 z6v5BKx{kKdbD|Fw(g?CBho#4!;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+@cQ=l z0hQ!!k+ucAMWkRT{A6Y}&{w0FoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#UK62XF zP}=qdETR-ySt)kn(Q+?~#4f$jOhzdX0Gk|X6|jSWnX81bE^ip zzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|dp1HT& z-RK2X1rU5+Ywmy7jimaEb|vC?2_(BBK8D~_{J1IF=<_~zQQ6c>DcU z>%A#yz5KtO-DLY!fG{&d+EIvEmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3Uky3f zCPw_o*v$!4-UN5VU81DWXLNKWB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi9A!(g zMC{DGDM<*Lkbx4h;}wIl10ozzxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{uoLWS zt(4%rKNwn6RQ zf@_RAZoAqvK#3@jhC@gPk#<{{qk~-)QCv`QPseKE32T@e9r5eu!WKl7wL9F zCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdFh*6m_ zy{pKo=?k*ns~lJtBm|5?X0RUsQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGSF3=oe z8dhdzRaI40RaI40RaI40RaI40RaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4>y+s6 zF$Ehu(pa=w5Tubwx+*12%0gsuz@^=Cv6w2oe$g@$7Xg zFsokz^@U#7vuj@r5xH{*k8@o2wTkCC?pM9+bH=gHa#|L%UW6KlIbU9 zC~qqKS-o;5l@oIkLXZknP$dKy1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT>c0ff z+|xr;(?wBK)m0T#)l*efRaGdJM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_&*G6? z>{1amZAw^B8b-}3ii{nq66IlVhMh!Lw*;0^OVPx*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikfl!V;j zb+<15nV~hF*5?mJ4=3PX+auf&`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%`)SLmvH0;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68PwIoR4 z5iEpL5dGC6O{2LMr%bcS6s2PyvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_wMsS_I zh(k$_2_3}i9kv9$277H#F3A%xjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^1NdgU zE#h#C?8nJwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an14Ty$j zO#8g8mz(NDoo%|clJ>~~2SouGH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^xu1JV zXb5rCL{CKp5dAn-u4rYSQal5Yfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K4X8zYUe!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T@J5ez zesaI&*IMmV(_PA{86q0=FpvUy{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^BgGzR5e zn8In7Rmh7^-XThDV+H*f+{%jedq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs`d!10*x<|B_uZ& zx6X@a+1qrl7|8<4)3_D!3^W8{Ac%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?De0iNp zA;_Q8Y;pid(h-v2u0bA;SGzxP4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiCC!=cb zu206CLF|%g^Ad#g6Hk$g)qg%IZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy&0w~E z?l6Q5&>(H|`z=$Mi+!2j2DvVIgz&C zJ2x~39mW192mbrbltKXq{cC#!d4q-wLOu8l5CANE$j-Dd5&imw-ZO+y^d9EQ ztmXjMp%#oKC1adN#QpMl>ijo$i5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&INUYDfj z42_|dqo$Xj$^roSsV!RjJw0!otefWP>6B%}~{|F^qRu8BUXJYGk&&-(`jU z;%JWTms)(^BPQAYE-~lw!Kue)A@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy>`UZ8X!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^MHus?t zVj=+6f`A;;Kv@ES6a@f1Ps8o<2`7lG-yU;F(bl4 z#C3?)Gcix<7&gI$ia=L4q@}m~yPUg_hui_)*g0Nmz2~FfQsY$?wU0kD~01tX2=hYT0N$c>qpK>>3i@;=;s{Z1XIsvFkA( zuSil}@$CW9ZIIx}>awYBf`IK1T zMJh@p*JcMtZ&8!Xh=`D9YkYD2e}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih@U|8&Hff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ_>3#a zOUV`)mJ!}K^R@eLdx7}+rm2c(3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+?uRp3 zxXx#f+HDFA79HZTMMh2sAv~W-AJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$hH%Y_M z(ChTpstH@jd6Ijy^2htU9{R0(2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756*DlFVS z^9w#Zrwem-mz+vljV52?td#k7@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N0&5_$*Jo z>wXE-m}NNwma5RK_r$C$sb94%Fme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!ZaqI0E zkUvOuBf|gA&GYvlf6d$56)9SV0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH!e$#4 z#rXC+9JpbZf;a%F`N1KV+M7Ot0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluvruZ%? z=st@#%x|sB;4bl3s#$Y<z5cWt%&x}Aj~Ys( z-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^qG}l)`u7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwEnry`P zQHP~-^vKdUC$cE(UZ{zBd&uG>FUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U^labg zf}y>;!mn$(LC2tngT zqyBNPNVfTDxEK`qADfDN{3jxsX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#(*RfnV z-&vESP2@(0=vzv#GflotBDNJBo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@{0&z? zjFK$A3qj}5z#`}NwCKGYvAKX8EQquFs*kfx>eiL6!YL}+pECa4z% z4YFWAlkQ zQwf#K^;I)81t&w%6&G_Sq*Q9k=~XjmA0HndA1TQ zBTpP9sSc!wqgaS~vYpE^HdZy_8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7e7cEy z18iC3DQg>Xm(UE5+~ZllEB8_{#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>OfK_PE_ z^8!Z={t=Q!_FTlqe%`iU_QmMvWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0{`}M1 zx7Zak)o|Qq=2)mMG*hOkusf~O z2(=pyebp+i2ATt_D;*V%41Kk$x%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf96~2T z0>X5C?nL<^<9mLy-yx9J9OMXxqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U*>;jD zf`|pE<@33^_nb+6c(zx+ER!5$ChStz+41KJ z7GW(Pf>w#G6J)?>4_O04m(|175Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~bE}?> z1CckBsYR^!tkc-)q3)%EtTVg@@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~B*iF6 zYGfK8HF;8fiBQvS_}}=Rfr|P?1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s&WMpGu z=oU~J47nEkt`#Y&c9#!zuN;{+v zKwh{Vy|W_X4+>em{{ICqQvo_e!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qSY1>PI zDcb3|mMOq1pwumT$X!F11Oc3cDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O#X)dOe zCTT57-QrRu(n%>x)VoQgfNLdWte1&alpcUALK`F^LjCPelRb5s$0x!G%2=quKhI?? z>1_75trqA1kU@dkyjrM+ru3yD-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J`gtW) zug8Jmqte&}e4cl|5gK9mwus5>D)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q1e?Xr zgg>9HW=+b&<6yQ!O4*y9jjvZ>AAcy3 z^<@4^m-jXPZtup6&XX%o%)M}fktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP;mZh_ z5aS!ZA(SSrMl%9Qw_hOdVXwnQjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAzJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z-L)rK z43%k<9)j{Y9+2wtA~ZtNVuAZYG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+K5wmt zz8i*jRxZ^SNIc63=KmLX_x3ALVl>#vVGbWD;okC4X?yE>@CWjDRaJLAb8U%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb>fEI-y z2WY%9i5qHHsYTChXluDy*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN?_m0D* zxJE{%i`agB_ikRxlAtuLd>=`k+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~^i!&| zjYwV%jmW{ajvt2@QY`-25u>W0n7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ed;$n z^m0}|NvuebQjJnXP6pFd%+95zmFE2 zjf<$;$RqlcM9U8eJy8d#P$DAF4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1aC~F& zW_ylRk^b(+dIu5be#h*&u@d>-Tt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X|yKm#= zd1{pM>txw=bye1U#z=_}{DH$1^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x&meg} zOUswP`xG;OzrKnMKEJe?97po(E z`sK#-G~wEYBVqe(7Q{_sL+7DQzd#6Abc~T7KsuzqOMYAH|q88dtSCR;Ld`f+DOizjH6b%FQYZ(kI%=iBfmi)go=P?wRmqQ z4w0O(Q+&ijX|`O=Dq0|NkXbM!*VH6q2^y__OCSD>UBK*zKk3N~-pytg-B!yC1+Edc zv{o}<+Yp;h->~XOv`4x%$XuQxc&nk_OXm%;4=U;p5H&_`}r zBNi1lR2mf2?A{(9{WCP9QQwBZpSfG%(M;5a!~^ldz(UvD**y2^t-XIMyMK|xo8)B3 z#y(COGi1=FHJ7*EKEC%XOg2?n4}mTe%vr6&wZGTvz3unj_O-O?D3j7EJ77Orx(w!-ykt{$Dh-ac-FddCPct(9jShbb6+ z#m2`8Rw0i-5a!9=?fDS((n$yQKtwe!^7isWrcd#0bNcYnrVJY618ZlL@cAD?&^lHY zAJTPLz~6|i2dil}S$ZqJ`bHgasGx{}K~D*Ib)PTXe(fGc85q2e77Ii}PJO;C;Z9tv z{Zx zAo@I2{B1C@bTy^ZtQ<8-STKeFloA*iNDamQwmD8~X|w!!J7Vn(Al+$tiqo^qBL?wi z(}#--4Xj|n@9A)}w?0mWC*!?l8A1SDCnRNtV}?DzUgWkCX@(cE)?ixc?rq%KvG4=< z?`*0XDU9Z2OM_;!TNBDdQ)f_%n3 zLCXH(o^DV2XDHF+i!ueODA7hEdzQ7S1;}RSaF+&F_GgPanoM^1e(u^>)lX z*8TtiUs;@>*#k{>KTei723a^9g0judG3~{;RS|!>2e&K{8|m)G=chhw&SHWNyLetm z9f*b_x(LWdjnKP^Tn@G{x-Ig*OzmdC!fV>-gQMxbfc9cuxm%s=P1o-LdtJv9(c|tt zcye9>P$EKvsW;H3a>#Nd(jW*=P9Pu7AR6LWLc$h5M(K3600w>$~3UQNJG8{ zD|msrZEUaLFkyQa{Zun+WQG`Fxw|XU8JUF4$Y!LWQH)k24s);W`?=%@9S?&Olns7{q4$$^u{fN* zdw;5P&;6A+yWSG-Ix9X{(VxYr;%?mKiJEq|oyi#xM(7ZPAR(6M38ZO3)+bOURPa+` zmzP>V>ElhWK2yx=w_lfwkG{3vPM*|ymKPqn;bQ;a&wgje$xvFGENJ3r!PUBim*6o2 zD|GR?uUjU*V*_utKl8@fVHhD)8@PSf&feO-23aJGmW}+SXRQU@&))sNxTqhYn~-WO z{9I4>^w10+JfHc0H?RvQ_-FNgEG5pP{=P-3*DqAjfgq@?)Ovzzm5(g@F*|gg)trxI z&{Cp&rAkoIJ~JhO4m*Q+0&?LS9y-1sT?$lBnj=-g`lYVrFT8ucD#%=94a_8woqGqU*YK`vY;~T!9<( zOt?1a$)nLie`W_eot{0Paejy*zNntmUX3*>)OkpZfl=?yi(a{`k#jzvDy8b>M zUayDF@>nGHWy@)R8v%gM zi~vaj4>+d}=x7o3mqW<6PYL0hP6ZWIXqkA8xPF9?Zomz(6L=fuUH8|}6M+SJK-?h% z_N(;pNXN%#NdCc!;b4i$F^pnEQW^~#N`N(RJ8Nw7NACcov}!l^YN>l2hxOjsf%gUg z_wwBy8*2TlEO*D-=B}&}dXE7X!WaFE(naOP-Hg;-xI^NMh!FA`%c@1f84{mI&ks2d z%!}F^&*g6~=j|&}_FLh52bzI6gH1)yadi zW?Q;O1nNG2EOMuq3OtDsiepgzvyUT%q0v?UvDukVhH2~q&7s2vhcoU!ME9X+DBuAL zk)vb8r0^`fU*FWgVJdA8LVIND=WOKb9^O9{mLc}O&rvidllb;1M-u0VUIbGVPiILs zMAF^;or( zS+8!Z-__D{ZElZfUnmWXI=VjJXZbm z=y6b|TFIgcYa0>cbG-Kf?`suLX-9z#n&JtR5h>qaTr?Cmn1XaJKVLNeO?!J5<0YQv~*iVr8 zmSnEx)zz4JGPzs&-&0rUT}8yS+4T333P=LBOSc()_P3q}S zWy(U>MNwXX4Y>=QkfN)?Kd>W8oeux)qpJCAJ6Mg&`fye+pS`tQ?H@^eb!Y97_V(wA zLG5_$C(60?9PUNs&&vK)4_olAI!e3;s;wILoJRE&6_5m|;ySfLz~C_z@m;s9(Zx$B zh>)|L&d?D=7Q@d%(F1aTx$FT9R$T$Dsi6?+?$qXIMZe*~EqC>EJaGJ4->E~Nx|KJb zmaA#AKXhCRQ`aorUC;5Od&lF;2;p^-koLbVGY1Mjn((!xvf@LpokCVN)~H3TA)mQG zs{+LMgXS1G=c$XE{=NrLTC0z&>AMQmQ4mU@R8XoYR2%>?$mJZ@0Ea7=q10@(5cM7V z`91x8u|rK{Ugw-coQ<0Pv921s%lWR(qBGCr$>W+mnDRyO=Kvbtt04nwG!O)kdDd_h z_3%jSIGRsu<42FiyS!TRUP}tHq;+_ZvSoE+aGOP?SccY|eYl1%3k#U5FVZ7Kt(hN+hsNmg1Cs z)W1WKKC~b~CJ*t#^1Dw9fy$UN8ttq^RjfAz3Z4TRHP63YA>5!u0AsM`8HQuozSeBB z=L~wM*>Q$Oey1#$&kzq=tb5`r0zdAublT+b5uiE<{rIwiMIvq z?Df6B*0+)FJ#lVefYI9@&HI;MHaK#Q??USf_|G0GSt}5ixd>( z;5|SbI1DdvI>eA%)9xy$xp3#|!!gtPb_Fnm;_gAA`QBtYPX7RMuH9Oyt{M3}&oP>5NHa=;NM;aNS~@5TLu7?jY$TMB8EIQEWR_uO8+Jla z$f7kkZLk{Z!?VqfwG&H#7spt&?oMMAH$Z~>NGbs$N%5xpD0Z2^8#(=;f?NC~xi24x zvsCAjv)tO#OfwwNZQ*mFDu3~2lf zg8J?^mK{b{qPC|hGH#@;$n0{z5ChR|n`jB~a-v|&G9EL&WlPgCN}`;=?1yBB?yv*T zkb~2JYXp)E0kHx~k^%*wU5=~FLOZ*=#KCiQ!0jM8i*Y!GgA{hezd z&v$bQ5bF#XN?g883vEXHD^Kn4B|DVFF^Z%>&>&bRbO!O3MN%+97e9XC%lsb~?>4K8 z>#@zo=xZf^d=0?Y0mve_#kNu+AW{U&HRM;nmMQg?c~Ks|4hS|@#A=!|0#?4t&GWn8 z!^-nqJ3_Q1KOvh6Py(e9F%aVChZ>^Pa1^uMCO%_yMvmM?TgLv~ow&tR$?M+8U!!ye z<4uRfNWqBQ{38w4+l_s(m-p;B->uYhrSRnHQsh8g2KR4GFCf79FuDxJ;*7Z{^_I zLag6?bt*CbbN|}kABw5nYPS5Wzem5fgzNw9%F8YL^v+k``2J2vkA(Y3fd=2^+r8`b znE^Zw(Ebm1_Fk`%GciZ4d*_iXJHy^as6HW(|CE#9eu9@}w5RwCRy!n>LnI8rqj}Nr zX}C0XnxFMYdkg_SKey2sR+Ak!UC@tB>jl5T>Qw)RWBEQ;VK3tctAz1A$K!hsmCdC# zq_vM=m$Ydc)mg97=PKperV0xwQa#t`n1RK*@P`5moEVG5W+qI0c>ez|j0OAPv2v%S zw>Wp0gwy+f9;x;GDIgwErYGC0|8pYE6W_d?)_4p9(<@XuiT88B&=J@}X&&^RgFb)b zWA-D=>-zY{V{;flxv?9}ZEg-NXV}vsV&U`a4VMwj;Ac1~2Ki?@MU%V2$a-V1zb2Nu z-nn2Hkqm)&j&$@`U% zs^u`u#-0zBS*q7f?Ka`$O^_~#1bxcF@96LQBsO^HSbRHp9*6zCc%0`kO(M8lRlv>J zlj+0XM*2m$%sw(@pQT*7>9q7KL`?UZ#G6J*QGRI&MBIF%^{AA~K2JR0o3|Fw<#^`M&541}eBkL8?T;LC0s z@Eo_=FA1bB0J`#g=TCBetq#uv^Y!b!n0J;gJT&|8h`Dj5_$#g!Ec{IheiYtB3ta>pjNzBKt{@v6H`B}Rx}~riC1CaDEq|395JwD z;;M9qkXzI!%Y4Iup@$FanGe6ebUzdY5P@wzXGjcMn=SB8k$sr?20a!ko+}eXe?Md| z+kcWNJUR1Cx3j181A8tsR}4fiWMZQ}LbNnyr0>pE@ro-iFCX=jeE4)v=vA#WQOz_P zULqWka}au7Pj%z$-TUOn?=0F5X368v%gcBGwGO1)YPsC_N2(_%O3_VYfWtn*EXBo8btkx!nF?wKjZ3Xoh}KDTFCUe;jP;=PMlsTG7gYu7a2Z^R$HGG8zR*HEJn?H4!&*3Yt^}XCazui4<5xa=8#y zmmE(Iq~88>`s&bkdNs|(dS~)zk{#?iIRGSp=vOfi9~~{}2S$HjMNpGDzrZd5xAT+B zYO`B~yFYK`k-6eZqAOg?l|I7zX!J85wGyu4u_e#Gjq7N|w|jNrZLX{&Td%wE^@2bF zUn=g43eL9dIIuDeQ6QO8iiGk|0Y-vAxQRjM>br1qqD*Hj;N2n^jMYZoyMDTC?ei8w z37J}^&f!+Z)Gog=MDq_g{>~K`BN`b7#5E2@RD2l>K%7&JhY0OhaFNrVhlh1v-lbmU zAR+bKB<2S(N`l~7y9a^N!sMF>0?ng@S&uxEa$OhbRElu^8#rmA&)6UiPLce*TWFui zzJn~hz`pi+oOa%pVI*5tD?QGMP<6Efp#rPulw2VB;w+;*@|uxYHo_TV-e8Imj}QBV zqFxQ;P^^JeuAwvDK^vv`B(pj$Vm5Y8@J!)u2~oKtk!8&?g;i-bX)atA>iK{8K(0&2FQ+SYZpf2p`>o4 zljiE-)FKVM`-4aOR>d-&h2Ckj%q_^UY3s%H_nf&==eN$}{SmYMooFkfgtFvBq&kre zHyGTt5B1m0UVU4&UF7DO)K8dsmn_Knw5Rf#!5ebUUG*RI!o>8u%W9{7%;u=Xvz-A} zB{0e4NDXOnIFf}eWK21+bpFcRpG)KXvOwtzfBxXs%22PBlHMn2@Cp-d2R#OOA?GK^ z`=M)Y#iIpMP|+lg4xKgf@b^75g-u-(u&=p`zc!e&-dhNKg+?2nuFl1)Yl#OZ2SLuUF zYV(|U*3!-bAwIq$qoeQyRj~8~%~myHv^>V!h&ZbVQOHegatQUQ)bYwvD1%SD{U&4Q z3cD30gzRbS9W$Yz!}?Q9)7{n@Fcf4~q0y+XMo3;H;2?g5`;86BYk) zzdrtHtQ$FP`tFn<$~mAIKO?4|0J3bpZ%AI6M4Eu(=)tAoBpdxy9&=5nS*<2Qi;Abs zg}LeimQ^5kdfFx#Rx4|f@yi;;FrW7Ds-bf%ASV%-a&PWBSl%`4MQ5#ma~_qRhqwE*%r;whs-X^%;ao)8%Oyw%Ym0Zw^C zhg%qymsbgdA3O#DF>df{ z;dl<;;E+_TIi-(_GkT3U&nb zVL6cwxc>?CBMx@0Msi2HBSGmI+uC?x+So8R(G?q2bPmfO8@hzAL!^g0p9geILL}0d zCrm)_K)pE(i@aW{(UAHE*Y!@!6xsc0RM_3PtZR^N5U0Fo!H1J6Te)>h+G|7b%Y6O3 z%aE`q!Y`MALvFx_8bbnm&iyYf?nB5Z;C>xV7RU1@FEV(zZnb8sUvVCIw+X$6geriF z$ccZAC4dd9LZ3p`objDym6T2TXYy>|17+rsI=dzf-OvEOEA|9rc-XLqa1+RJD2rt~ zVW~g@6W2b{icLMxoINcycZn(gH?+h`cXXbwq!S$p1$;+qH?~T*id1!VCRx62UAZQD z+CXZ-_rf-{8^Li}PN3OE;2%slks+CzcenDGbdTna{ubq3dV0lNxG>&yE9DJGND~x$ z>vgxqms*d^Nzbj}l|Xq71L8Cdv|8Kq(SfR;;zqg{`cw)kxv1(!DiPyKoI1tmyxBMI z!){Nrqhr~(p>8@kp1?t+x;hdDbto#&!!ep#4^X(41}L0qoYW&`1!;x&c# zyXvMBLXWY*cM4X`!($E25)LedZ>p&_6=hb1Wx5r*@G6o334V>$khy8V>VMVN&v}>& zosu9&{#U46y>DJgFwvBZn^DwDeF;{kn1;&$1$^1go5m?$Tm(F2>gcyd(;M;C{Fyw# z9ff4SI_sB_VbQVsAIJBaUL_jR5*MR5Y>L02?ftqcQBV-&tbRJGZV*g+#*L;$Whk~Z zbC>V*p(Pb5*CO!Oyh9n=9szaq{Hn)E#mL-brn99^(V(C>pSRN6jCrN>p6nZ+`Cpn# zt(tDq=oYCEr-(AIzg-9ty-3@)UWMyGwqb&f=NDDB-+% z;C~M>@*ZLU_eAuz*262^6n)W~$X(zytt6AVw47j_=_L4pFUkWNI18m;MWPX3N*d11 zR`cC%m7ki?wKETI(0-RY2FKU_B_PKhI4N50HYm2)M-BdH0BM=2YVla_kzs3HX&>YP z8QeR>R>e`M92`;Bm&z&d4zT~hbajm#557wRp477OZ8ua5F>u|loPO>8j)0BNwmFMdc~{S z{ad;L=P;(wy;O%ik>@=k{&uFYb&NIswF1H&*qx_j|9nnFcm=UuG{Fp=`@HWzYctp- z!nBBSb#>htF=h)>P6)hJR?M6Rcs{#6(|MdZRBkF12lwSR)j=`fkPmMgxvdeH=$~D; z3%+Z317GZc?L4X3JFd^7oMUvL#)hl4}r z`EL_lDJ#FiD#_vfvLe`37gwASF2+5AK5|$pO1$*W-OwY{GjoB?YLRQ4x`hSrTM-t2 zi5HQ()9Ws$zRyZ8n!7R^?;GiPs}?kRhn!Iwp<~r-H}4=(|4Z84fJH8^4IMFoIHZDR zTFKlyaNy`~oQ0Px)kzDJbDze`V7q+>h8Hgy5GPsl=tGSm(DI-W4Gy^Q&(|zc|mtkgNVll z#3qtL1s4)Z%^jQGxc>H3F{EQ)>mC!jGIC+5XvF9`)-q^q$-Z16HGmMq^zPm_ef_tj zI9mE?2o}m@9&hTy&7etPjzrYyb#7FK?FIJaj@lq(p-4njEE2V}uO?bhmAVSxnfh); zuj?>Z->zW$;zlRlsEGR|Fm9Fv-EwxAodkKueW%xAxL*gzNCd;D%k#*$xq`Kk(~~wG zSte6@W`3Ohu)vo#h%@PS~L(4`K*i_4@KjYPep`(zM zDEn0a4@HX_0TcyD5g|?t!)RKz_Bkk78fCoPn_yIk2ZYGSRI5E1ECivx@-cK1Ss*Ja z>RfC$n;mD$HF2p;`p;FW(v}*hpaKucc*3;fFP>xYL%lKhHy^yv$QJJyHhi+UBxO!qkB z(%RaSsMS81U^WGG2T}}#y}-PV#Fb0mgHEV%({bKIa|)-o83r0N&bjL!m$5h{25yVh zk3^!GQl^e_YwR=OIUCQki^2+5roF5mj$pUockYJt^&7)jq&hwbQja+XBlbb_RAtX8 zT5sYc2MfQ99R-;6pCRhI2?rrUU>b&cZ0mp0<5s<0tL~gWoWd z%Mm~tw#e2?$SH)a$3c@Jy*t_4;;1Dt~2W)Nj%W?y&e z`gPsbUA}i++Pe63_ZFwtjuQTi^_VH~XUPP|jeGO!62^v!pFqshmbcF-OKQ1{xJxnb zwUdSP{DA+m$7*&fDP^eP5FykVycVbHsz@>f#juZ{J&$XGfvIx=WY*GApY6qMPhU2k zNF*s(PQf+YpVsd}semTti$JH=xkTfUi^x>XY0bQGkB?eK<3P>7oZ$PaS0APgfObKs zzMk79@VY@3higVxBd47zDM4>Hq$CTF99iM8msbZxkrQx>Az3~AOyZ1cUPd4XR)ye^ z;k8@sOGy(@^}bdnVFUw$`>dcV<4X?$SdpckQGaZSL4i!jir$pzX=Q&7g#WahgGtA3$A zDrt?__-r~{6ELIOH3_Wy+t}7w%Ka^%%BA+<#S)XcF8LF=!9IaD2I`t(Eu$dWlUlB8 z8;}o&Ec?rXvfJlkNDU9qp0T9SN{VmE!j&;XI~r>dW6j{;YgP=CunpSkGP|;4T%st7 zKWt(IL&?H+^&-dz4D1m6s6@hL&>Pt`1lJu`2tJbARnm_RytL0rEOkH#VXp-3Qc=`8 zs)kA9II<+VsbKTj(6Hg*Ps7iM&=LFpX`;rCsA2mt%+sq!tHPZ^6)-NjTL3C_-flv zrUacY+0F%eN0wg`v_TzJ+9q2qx`X0MvDFHijz~q&$e#9IBZl$&TTfu>>7NgutqkEI zynVA~#_5J`&q z5ob&Z_0!KuLfjfZEbKm3d^kNocd=LQL^Z$ZKlyI3Q-LNO(!{d2zWmZLYupMmO_xJw zSeaJoPzK`^Yr_wYTR!*>U$u{+ZQOk@PAM>_V>OBN6nqir?<(+tULLN&nP8I3(e7xy z@M;visn#@A#QT^MSY}&J8W8a?wfV=O3(Y5kTZ|x#iaW3NX;W+;DB2`7lje=RZ3=Za z%zE5cZ3EaXE{aeru0Oc6jVv^lXIiH%5~@6Si12R7K_10%^y@(h@g^d)jdg03h5vnU z*}9($WSEj|NJ0c;%{{!H_l)hmUbRrjIX+egs6IECC8y#*_ry3Wa+J_lm~CvOt-EM^ zs~+UvHZ;^b*m;WM%hMu+na#lQ3$@!o%;9yx#uIR#TNyy|?$NWa@X5-Uq~~JMesOM= z#8eG}5()WMqL>TN$Y+sN*KiBLRkMmx$6-Iq2A%Lud)Vfp{ZZpR-OJoq`Y|*qP6Qoi z4Q~1eKf>?5x1Prt^sqy*Q5Y6kIz*}aQdUk&ZS97KBPBWOwR=G^lF~Q2I}pVZqyAwcf`zLyXtZM zoh_!nfU~Lt+t4O^czEKshK9`^nRW(+T)7+Tl-=f#n1NVHtykzX60?LY_WIn97BQgm zRyOHQD5qg9zin<8uF2rvYQ%yxO}0?;t%@S}zCLEpOr6WG{M61%E+moM@{d(_r<1qB ze5)c;o}P(dB5(T%;n^T!X@y&o>$k?(_@~TgnmxnAchd1>A5Wk);JwIZ<*aZ^?LD9K z71o;rDDo=%ti;Z{E_g`!y>m^k!GT0bObC1_v3qr^D;_*Ik%f}sH>>~Tw1Gy7zqu}g zlATzxC&=E>g@AttL{cE0Af-S=1;0-BOnEEmWH;ySFN<4s3EAfeh$7V9CHBn@Fmh{U z`&LwsYlq!^P=9y78tb5SR;-#Br1Ib1gdE-XS(X<*!=eruV3V*a)DrL87l!Ln88YWW z$F>OSkS4aI0$`9gjLF;RxL+i4sX965w3CLAv9VAA8*#ioke%#$iU`$V*ktUSLIUO> zJg6OPs$T`7VQ4L=U=yjxV%CUz(2kO+&)ysU9@I%Qv&XUHJr`+a`Ce#Z$J6g$21%ge8r-J~JhH)6S(!$(yxNL0(2nYylRGCL3paHn} zkf;WN#M{*`Ywnx$c;av49F+!~xOdg09AbbZ!NUebTw3>)9zol6)l(K*>x|hdGO7O> z``!&XT5?|3ZofaR$PDOz{uwsg-0VK}JYw~(^)lR&{YYP?lt)h$VqQtu9*}wK6DJ09 zkp2in_s0xyLlz&Yv&`&2F712c7jW3lTbdZdOJ*5h7Z)}qzP8EFE_am>|GTZF4*v(8 z&yf%2;k$)!ZR!-9H*336LE*15+t*4$+N-9F9phSY3cRV?*32(8A)xApz)s+ z1Wo1k=sje`ioFZ(%P&M+*W(jeE=B2Qp0l7)Wpo%q$z`MGVojn!K^k=Dt(lm_`%N=h z-i*QGc&e-CJ}ioEL3nQ-SxC=sx|VeIjp4HvUMSI!Sm5-qkZ)P}Ks;(YEo(sdp`l~# zGa#cCGJgL4MXc!LQ&2Sc0e7)pNWjVBFU>S|SN8$2o0%9>R{*E7zXl2-1!&dor-w8T zWwVu*qq_-TLbt=kVke3F{;X5`w2Y)>Q%P-%_!I^hV}16om1|_wSgDvOL@-S6Xft+D zHR$KIbmQ<%=kKg3L+xh4GSP$~u}7pqlvl9y<@ZqyMfUlL^P48es0N?*rqsghFI;C~ zDiMrM2v`3A06;YS4*F;pZ<9Hy|4ZHb_*_4(aEQ2qI2$?>WaI+R{fk+zE&?!&i^=l2 zUB3Y#3Vh=|XlVd!Cb;f6@~f7!^2^OI9v~y?G@iuV)-Up`L}4QOXQnk?dOgq!G3k?u zF2~&m0zlp;^F~4Z{a$|eTz89nz);hji|hgO_@UF*^n}z=JW7}l!@wW-Ov3W(Rk0)_ zh0F6xz>d>0g1$ASkk#CcjqNvchD^AYn0@O(GWO+yN2(se8r5^2XTK~}RXK!FS?F}c zTbC!8&XH%K{Jpa+$73x~&67b8IFM@u5`nzcJ~Z&`5RYa>5smSX-_TF7Ag*!R`+c08 z6wYQ8j1EkRB@H?yGGNuCiEA^rN#ve68*Wy1Jm|zh;9E1B+^H`mxg2e>y!N<#F;W_; zE=6AT1>g2@D!HZNZijJ}qPcEJSP_UMJSA`W;wM|V2tz~uNPoHEAt&mFLIaq?n1G|k zUVao^VHcYN>_R!xLdaBQ98``IrN1bIFf?n#;$;{eA_{RTxyS^`Xu1;%@2T^zJbcF$ zUP%QDr1#w!d~NW^t|h~W7%T;@2D55|&gYt%V0tKJK~-2d`01iRNC{gu04zZ?ek zxSc31G!S8v`v7=cxEnQL61~S4!!9fIQ0OrdAhGf)ya}vZ) zogfZYDDp47iHDoN(*X?IWF0K3mw)v^Dc{IsA*T9~P#X8R4=><)T>MDTMeV@b!5-wI zejBT`#i;X1u!MUO8gd9T3Cnw3`H3pFyhZN?r5W~oM z%f=Q9<;%$mt0QtuAFH9Kef@r!n%5_GGVh64uT41#MA3FN09Nz4JMjwZrfr0V-DZ%z2Xe-G11?G&f z|HgKjj9LR@vFdmU0vN%%j2Xd&oEdSOOsDSQ!2L+OM143~boPG;-BBXhFdt30g0Qx> z&p8#CP>nHQ1NulK2x1%CWYC{`dV<*yN3oq6186*>gO;3hbs|}4aXwH;Tl5&S=6Xn5 z)WIs4zlJsw6)`EXpm59r!2Yd&0{;a53H%fIC-6_;pTIwXe**sm{t5gO_$TmB;QvEF IQc*(ve+7?X9smFU literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.frag.7CF9397E238069F29B5AD306936DC2E1.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.frag.7CF9397E238069F29B5AD306936DC2E1.cso new file mode 100644 index 0000000000000000000000000000000000000000..44e66a97814701720e243881eb71da5bf5f556a5 GIT binary patch literal 14416 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 z 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 PC-6_;|3g4hQ9}KH&u?S2 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso new file mode 100644 index 0000000000000000000000000000000000000000..d915553cb258a5dec8da3603adecbd320366d4e4 GIT binary patch literal 17816 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb new file mode 100644 index 00000000..f20df619 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.2FF984AB185BE7E8637187AC34C0981A.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd8835b25dd5556838ce3408fb8d3f19bbf8769dc47abcdce5e2b7d9ff8808b7 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.5AE82EFD5FB29F367E0D45BA786D928A.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawLine.vert.5AE82EFD5FB29F367E0D45BA786D928A.metallib new file mode 100644 index 0000000000000000000000000000000000000000..c0d4b13abcce344938db3ff9e24541d8d4c8c964 GIT binary patch literal 66595 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

    P{^4jw)}q3%1YKG*%IqmAY079uSUiG} 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∓`YIv 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%0ADB;o~RY`N?Y-hp`lH`xEO=j*=>_%&R z4Ee!!@|0M^`#o?~|A9oz|aCjl}uHbW0Yz9pAC-65L@vO16I%VpIFM zTK$+q8Kltp_AtMV(xlm3k@EGil63Q0&&R#|Dl0*-lA&E-hKcq~tkD}N_&9!niA?yJ znAuNwlSWSH=PA>sTLfO{?^Btm69*j_<{poyuVA>vmwxF_SP|iax~Z*$Zi79^drL+x z0^vf`V~W$TnImy}iM}vBL#1oywNzO$VQf>YWzO!OQ%5;5UzxkedZY`KjCG_bC zol9rk3&o_@dN6^vuz;K3t%ybAaG`k%2P~@o^kt^ByjoL2{HY^!kIMmNqWEU3m!E*+ zQxUwKkOuaHl#R^M&0o-zq@rVRIU@Ekt2^}OuYp{ce;_jSQ~G09({A5=+*ita3#fGV zL|tm)(#EDEi$gqe+Lk5@cA9X>%0_j7rQ!3_#ZPw@w3{9vcTFFfi5bLGv2|m>9+x)1 zPJzyC?A7dXtmb5iS;dMb6#MH+Nnt-!K}Q{f#^_O6Li|%?vnik4xCgoOj!(}YQhkYe zVq^KK)cIOPspe~zC+jgv^JW8d%x@;6lwfRe8TWv{cQn8vC*_K~Z6Svcb4H}H|IwoQ z&0=;8^Ha4w6#+7C!Nej4Yf3O`FDN@^_w*CD7>mX%)!5t>MVlXw6S*5EF5d_bzw|b5 zhW+iiRY+tqbH<|z7Mm+oeMyf^BR@1#NDtcXIBwtgCiRl_5DeDhq7=v#Tz9@6AgC27 z@~{|+GJ{yEeG*!Jo!5wSdp{7lbS>}s(vm{zBjOx7@xxiR7a~K4MmJBAo;oM+2i<*N zB)eE?cj&g0XmQs&qx|dZ+S0IfrOuuQY83*XS8w{$Ji3J;^O1YydhGH|4wbrDD>=hm zqU!D|@JNW2=lDIZ>%Kjwc}#-i`#Ckon*l~QbBx8!^41bI8hsym=Y(R?`#z|0V^)#Q zMiy}btGJPZ@Tjqr_KnDSYD*e@{kuw(cb|sngY|00If8v*eXgqK=oBwdjjw`1hAR4^ z=id+TG4rGeyO?pe#7fE4*E7`ijXcsTK$+_IBq%U>uXY+v6$VGb<)QP4xAt^9S>&op z9EfJ-n*L>k7wI5_UK{dsVx{e}{^t(aqqX%<3&Gj06XP(=K9%b?k_bm~)gFM!GmV$; z7-in|g_vS92{vv*uQn2iG7gMKKYv~|l4C&!jJ=Y99v{2_l zb^{|ymLuvPvxP-tGkF31D&c<8k01}nuLX}DeR{vWVYvO$(u?1ZlKxSQ5}0eu;{7Ro z`2voB^tp?IhrLV0Nt`S8`lWmFWKGj^uv-5GZ!OIxgF!Pk5jQN>Kx-SiULW+%Cr?%( zBHIC~PgFx*;lGqN)4KT6kNdIL+&2VjL_S@~Pkh<5LwjKJ;xga;FX{0gH?3fI z*~3JQ=ajn)!*z`;lsQiPbQ5`Rc&d0PL94T~6N&^V?X(z*&aXd9E{M>pOm@;M=Q3*` z3#NK8a)+ha%-5lNf4t(;i|u#DA**w}2FBBOZWIh!LV@czxy98E*fOOtljCo+rA-}u&dmD9aYqauv{ZubxN%HxD` z`!Wmby4N0=b?pa_n82^)(ta%m7vuIl4Jw3wO6c_Q6og>85r<)vu!sZyfyf&H{o$TD z7lVE*ttu37Bs z*3NmitT%J4xocw-bSEEPb$O|wa{jg%q~r1C~#!MDB1;g}OJ5iE;T9#_|t%5xW#TX#LR*YI&&Vb6a?+yH$on z;(Q@*mUxS4k@+UkGsjLl82o7zi}^-bF>}0@ zzY9@te18-xjyfn(+aA&u{c3%e<2HT4%&^4(?>-I9Y0NFBD|~R=)$+ohQS27*b2kcyd-®Z2W&8p1Udpa;*?eOX_KPuy*@tZe@hK7&l%V-Kq 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 F`5$3tKtKQh literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.05E05A32B897F2006A110EB2D80A4548.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.05E05A32B897F2006A110EB2D80A4548.cso.pdb new file mode 100644 index 00000000..551b80c2 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.05E05A32B897F2006A110EB2D80A4548.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a4d3e0730d0f77c3c11c253e11f043a97ef36bfb2c0bf7eb737818dd2eb3589 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.0E8B137E61B073CBAAAB0C24A2C4CEF9.cso new file mode 100644 index 0000000000000000000000000000000000000000..d00087cbced3d021a3b6d0aa055617298f3ba595 GIT binary patch literal 17792 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 %8TgHDs>kA?|42)qnc99YI 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 A-T(jq literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso new file mode 100644 index 0000000000000000000000000000000000000000..ca5745caca847dceed38e1b7792981562d1eea13 GIT binary patch literal 18072 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso.pdb new file mode 100644 index 00000000..35831e16 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.38A9BD92AA3A1500ADA3082B18F935F4.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff46d03e565fdafcae78cfc5ae51898554b039080185ea59138b181e4cf0530 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.3DC0E88754F11D4478F7B7D881ADF28E.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.3DC0E88754F11D4478F7B7D881ADF28E.metallib new file mode 100644 index 0000000000000000000000000000000000000000..556dbed55b97903d63231cb891b644fe20e37fb2 GIT binary patch literal 66586 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%0A-(#7 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 S{t5gO_$ToHAt0qBss2BtRTmuq literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.473011F7B55118D4409E7A91C4CA0C06.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.473011F7B55118D4409E7A91C4CA0C06.metallib new file mode 100644 index 0000000000000000000000000000000000000000..f2444a2c92220d43343cb0a46b63c972bf177e00 GIT binary patch literal 66720 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.53C5FFB4F1F65014E9D8CE139E165C06.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.53C5FFB4F1F65014E9D8CE139E165C06.metallib new file mode 100644 index 0000000000000000000000000000000000000000..3d8477ef90b44806f278adf0b0839550b1429501 GIT binary patch literal 66837 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 F{{eA3w2=S+ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5A4DDE443DFF866A0B6F7E709735D7AB.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5A4DDE443DFF866A0B6F7E709735D7AB.cso new file mode 100644 index 0000000000000000000000000000000000000000..b7f2c1e18e48dca9d3bcb46b44479c6f7b886ac5 GIT binary patch literal 20328 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

    +KkjKS*^W!vD_A^Y9a(W$JF> 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5C6447565A432691A52405F2D1A50012.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.5C6447565A432691A52405F2D1A50012.cso new file mode 100644 index 0000000000000000000000000000000000000000..a893bac4d766f0d22b9907db3f9ca8920592b41e GIT binary patch literal 18000 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%0A-(#7 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 z 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 S{1f;m@K50XLqJMNQvH90@+VjT literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.65E266EB404652FA1212BBD1F985A6AC.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.65E266EB404652FA1212BBD1F985A6AC.cso new file mode 100644 index 0000000000000000000000000000000000000000..560fc1c32c5bf7c1418bb0398e99834573ab65c9 GIT binary patch literal 17900 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.6CE9330E31EBBC32AE8E316A8C0EE277.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.6CE9330E31EBBC32AE8E316A8C0EE277.metallib new file mode 100644 index 0000000000000000000000000000000000000000..2085773af5f94efc4a80f0332679dd7c2cfbb7cd GIT binary patch literal 66996 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.C7EED909597A865FF430CA2885C69439.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.C7EED909597A865FF430CA2885C69439.cso new file mode 100644 index 0000000000000000000000000000000000000000..d6b9fabe78cfc40e5a3a1d57682a55d224cccf50 GIT binary patch literal 17792 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 F{{Yz81ib(N literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso.pdb new file mode 100644 index 00000000..2dc5edb7 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.DC15E12AB500EAEE4B0F9A2C8075E8E1.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86e7a182f7c945992f1d707d5fc6b080787334dad2216868cb19e35134e2b318 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.FDDCD4D907DA9A03ACCD42C140A776A4.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticle.vert.FDDCD4D907DA9A03ACCD42C140A776A4.metallib new file mode 100644 index 0000000000000000000000000000000000000000..ba120e097810cd32ee1ea72837eaa74ae96b03df GIT binary patch literal 66863 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 BSF`{C literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.11A3F59B29869268E24243BE4EABD116.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.11A3F59B29869268E24243BE4EABD116.cso.pdb new file mode 100644 index 00000000..3716fb21 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.11A3F59B29869268E24243BE4EABD116.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:830c9be93e473406695889fc985d62f7e2f09b49f2bddaa4eaa97d80c5fbe6d8 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.125C4FCD6DC29A9F6B47ACC988C0162F.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.125C4FCD6DC29A9F6B47ACC988C0162F.cso new file mode 100644 index 0000000000000000000000000000000000000000..4a2f13960ee5b4485f011d60f8b2343b7531d755 GIT binary patch literal 41956 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1873B621D321CE82AA536C28DCE3C58D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1873B621D321CE82AA536C28DCE3C58D.cso.pdb new file mode 100644 index 00000000..2f7c3c86 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1873B621D321CE82AA536C28DCE3C58D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9db322716202fcd8d045423389efe626f9e8733b610cdba092f5376dbec1e215 +size 42496 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso new file mode 100644 index 0000000000000000000000000000000000000000..a1e59bf4d133cb238e191953da2d6559edeb9ca0 GIT binary patch literal 42016 zcmeHQeQaFSl|SP##$#vlVUm!B5FV{b$BE;NKN1{psFOG$Ss5@mq_l*lW6wC5;&|Md zad2o_8Jbot4PA;*TUD&es#S$rR*JMp%dS`{+htd@<&SPv?N$|A(N)!=Rd)Gkx9YCg zvcKPb=gho$o-qyqmXEo~^?CQ4bI(2Z+;i@G_kG+Mx^36)zrOEy+p-hSL?dU`{^T2v ze*8d0M7(c{TnspXJa~~vW0Oc4dEY9LUm>6SmdGtbd-lH4DAE9)hmZ-$FBgqoAGv2v zehS(xL*3oPtwHvX6UgnzOOTmP`e5E)>cIT@c@!US^wIImRA&FwL{4^PCnv{pseIa% zD0dn1Q^;qjm?p|&-ILI5xgi19Mg77c0NImTeiexng9m^gM46eX7T-s}HwXG4GE*(S zkAd$j=!3{iwfH8e4-_9H6H+a{JoQ@y-%0AX2)@r#Kjmv!pxv)gKQIgeFxArUJJfFx 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�rq&;JNBXH9 zbiER}6NB7>Uy7ogUVW7#?#D9Y8JFmCnh2!Ta#_iq%hinZ6T@>Xntgmv5KoCqe0(qQ z$0gbpUj;1M7AbxEA;fX+S?+M|*T7yPjy|%+;oL{aj&Be(+a0d_VG(7U+=NtqszTcP z;rH}ao5yg7{rLl*7YKcR^(xM799P;1`K6u;eM?)$IX&2i#DxjmHVY$ zujBTL&D89J?TWW<@o8y!w-5dBwDMB7zSk8uF65`?wfE^;d_*p4n;x!9>U&+iUeA2Z z^Nj@pUophE*7v$9Z+++Q4piUkDzI~>?tGD3U^mbDrg0Y(NWpll?{!t*>#FwFyKaY$ z`d(M_cf_=fJKO@H)8A)jp>4S8dtKG{y5fSezSmWKudBds>(t(W>utHM)Z0?2`d(N0 z6Yu=JuJA4+AK2mpiTN82JqH{gZq}2tK=Ao5pD#ATZmpr`zaBW5`TRG5%!FtC_~HZ4 zDp4o63mKm^8VwufNad!5g6FP&y-P@|^1BWGv)Kxs`FoAxxn)RBm5s*br45yB8Bb_q zP$}uV8ah>cV1;(9FKa*x{zw`1WdGmkX{dK-bl=b|h0RtmY4W`gNOGH{uYo^r{z_8{AUX9P`Fj$rxgOsAzx7P7E_xq57m>iz~U_7Enuy| z1!%92gx9UzdwuPIN#p_KeaQ9n_Ow8oT;=xOI|cP3x+C9uxp~E9a4w$j{a=KB^;MpP zN3dZvF&hH(vl0Jyv%^1dL_W${r*h^Re7;eCOZ;LkUrB#J>4D#+aP`+~{WD50|5%D& z-*a@%R=)he4_Q%#dU_2DzyH>##vo7&nP0m}K)VK`9=TVLa zp!9q8_1~_hHT=XFzbn@5_Wg}Z%ju=^_`}Pv0vra}L+(UAiEN3BK75v3kvRJ@J&SLO zJggOXY^gzF^0ZaJH&DiFbhoMNRBkE*#OA;0ddcY3Wi_}lr4;H-8RTnr@5}mU0OCmF z`?1#ATfMEd?WyhhVjVKYsNAcsF45B!k4gD|OPv2bN73vv><8@UI$7n$E^a1F5y`D$dY zKei)ZgM2OWrO1q9e3t2A7@rm5y>WbhfQ%uRWysW>agHsd?MNR;a>n literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso.pdb new file mode 100644 index 00000000..aea00a77 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1A146F33833BE9EEA65C6C0C0CBE799D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9309002d6bd2038a44ec4dcc71a02be8ad4d62ec2b5aff723dd13f93a5109d0c +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso new file mode 100644 index 0000000000000000000000000000000000000000..b00a4382c37f3570a9df9e7c39b5f2e1b8dc8e36 GIT binary patch literal 36624 zcmeHQ0dSPZb$+LlWu2rmLI#Wh<3Cuog)M|6B#^;Q1PF{~WTPPLAu%>N=}vI5bSK}P zKu|lC9gOkBb)3|7(y3=kQzmhnOzWA_)M?zQo1vYi^>i{V(_uQEj3?u1lbNIe>dAOI zp3v{xeS7!cuRB>P#kJuUR`1{U-oAbNcK7Z6|G)cR-<~a7|K^Fm{(kGR&wu|5-x_@F zUmy9i?}bF9@yjCD0^W_-dyUA?5eI5SdKyK}Ainjy$gaL^+uyGisRGZ7h=k;qYliL( zJvl9BK-<;V(Lvl&L=UkAu^F)ek>PO*X8ffNjK^kBEZ)(FMiQw+e`+)>TasgA!|7Ni zZc>!H0P!^98&pgKSIAjQGm!1p4}$WV^&GvJ#By%&+8 z9N#10djs@dM22#FqtpkA_mT;r9AAd|&4KT6>Nf|zW7JRis%9zoYt#=6y#Ng5^!q0D zn*-lpP(SdwHhPot5nMYscnDde6}mE?n2i0YgC?QS;2y{(GP~0Q zJ3cFjyVFb-`hPOD-{y{uJbHgRGaef=$p=ys#fYI~Jn>*+B$v*pa!~EtA?OyGMYkV7 zx4y(g?ttd}?3T&V(L`n-IiAdAt(?w+99pJys6+Ls)k(cab}{X_TOe-h=wJ(|8X4d?>In6LnjXc||pJmPsB z!XM(Dl^nhbh-ZOkARqDMSpbLpJAe%I&7`q@guA!x*}8M*u09!haNpq0q5j?dJMTBw z8MaLFV4}ZIb`IU!y$8IM<;FoTu3gCMtB8JuP6tBz)RJYP?+oqOw&$IQ$RJ8Mj6yzN zE1}O|h-`n}Gm={I*QF_oaUbXx8a;DOCZ?M-?dYp~=@?Ay_*oC-sghSk4xnn7qU2$e z`(^q&AvdX3U+p7oFtS%KIoQkSPI{wCnb%RCQWXQ7ir`HmKlQ=d`! z+n@5lCF0~T&r8=fPHzU}HD!^P0eGuhKxfja|Mn_dry3s}dWD<~s3Srh`FZ`)QO}e^ zVgiG!?tiTT{+|-4QW#^=5zK_yrI`jd!UHii5RS>pKrE$ zlFwgHrv3Uloo%**D6SSv43-sY@*+)sQ(X!bG$p;-G zej3XljlAr;gsu*LJ2)PH9bEmKY-e+|Ls6eKy7>B}YZKRJjUGNa(xEy;S69+mSIQ35 z^@<#?H&}OMY{SpMZ@lo)jUNEYgDcerpM)P7+P!%<@A-!ix#nWv zniMuPfpw>UCJYAR=MtEg^NW)|mptSd8tmI5U+}Ntx31lK=bhetL)*O#ZSC#Rx@CRT zn@)>u_bJ4ss^})-E8&W;z#F_ds)Vc70$7hQoV#ibaFth_bBBk>=g$l@2O;MZ(kkJ~ zwgA_Em2mZ1;KjC%(38LLM!B?meN%tqOKYzmIJM@X->yD6+~%x8nlAkuO5XbPx*#e~ zt6Y41EKv6wb&;`TDiO2o9dp}R9AN}os4^%Cngf9xMglhro5qh6Y23pE^~P2WNuy)JrS^{{hH{xiZ2ay(hEIC?Y!*viP0a%=Dif+&&bC5L?(vmZKo>Xzl`3K{rj^Un zcG$b)9&b%Y8%C4Ulxe;E(yzL9u?W#9Fpi=@F~di74Yu={g5>NQ&@iT zhazA7_pqG%$FRiXRq}-&;O^2s*7*1gnkz`tY%Vi7lJkc0y)awKBkae}E#(o^a~Q|q zk%_MP@p2K;UPVmjyyEv7dKj}}wofvOWsDxLze5m7LNKdA61zdmJ z`l-60sGY_qm9jv=lT>^nTz1=)>=WUi>qdsnJ9{s`cLu#Wlh~ik<`S8f;dV3o*d9C8 zbdN(oP)BEJwh{t6)(2Sg zJ0$`#JA)O-Z=?t^2CI?ZXQcZqg8acc4HoUX2ym|pRxP+oBgkJ=Kd-QbBf!^HR6WnP zV7aGHccx1z+jyH_nt|5F(jGZZeb7g<+@HVySJ;(YGpl z9)bFB?AX;!hHgHwFE*7dQ;J*m*>&eS&zsr|-Wk}##2St4Nb*L!d%Tf!)~}75QVIsm zf+?F!&C0|gW8gF8VxSs`v?eoKp&??P^T zu70Tf;kKz(uOz9XJgKuhX&p$by|$^tM|`IHAQcXmSD_pUDwHEZg~NFj{Qc3|rq%U0 z+r{#h!ZO|(v~4P{dI5JBIMV_!_XkzyNcrlNBcVFwNT|*cR~-(se0Q^(#Ihe!e?w0_ z$O$jaG4??gI8@#Oz$XUR4epTjy366<5=u@t%ppTa$&9#FW?+SfJV&l8h zgSf{^j*KOsQp)Tv#KPD)qvEv_M+h8=nl$ghAZT*JZXoPWVbL)TN#xO*uJJnB5^K6g z>6-lIwM`vC2QB!rLg5}a>t$PtxLX5dtcEz>R77Q*)6?wgql=^jav{@P#+sXq=Hj~w zqwj-8P^Rh~e|2Yba#1o^j$+6s}DixtW z(!QckK}PMQXcx(zH-Yu>z6pJ3)MDKR`nbc`30@Z*YKAtBP9ygg44c0scwifXAUeDXF&~poqc|C>l%!4vle9MV3*Y` zb6gv=w6}WvPi-7ee$*?X6i@LaxX$zOpfjL51O{CxOO*KgbDQ(fcx>vRc^E#Dp2V16zxrY8 zjK=ANCeoZud=J*VeMvs4!p#_6jb{dae%Qiy*azwEX>fnvJROqpMEM8e*6Z0Jhu)UQ z7kfRpl*o)>iGFT1Ek!jx&Zo8Eu|kVRimnUuPC@-kk(;(9<1W(X&yN%1)~}#vtRLm7 z{Q8%_{v}`J9a)S&n>X$qog5omlSvFuCdcA?cc;^1*}a45i9~!a-W#MRGb4%YUVFwP zySEQq``tR14QrkQv~_Ih=~%y|v#Y!FuI{ayyZgG=b#B;p*ZM8nx2<2--m!gs+ekLu zc3>UW06J8=4<(`Ehj_U1P&q@1KPkT>$ zdxsFUJC?z7DcPUh*S)XZV78_39#}X{(hPSlLXzuK=qw$1^lL>WAaI{4} z8ir~SZK;pu1!yaLwB`WK^U>%F7+iVHJ{r%vG5lEWTX+<35BmTVyjCJr(f%47IgZ{` zQxiV=PEA$Vi>}At6_K&%^jE{vuY!T;!7}MnMf8Tj=~J~5xjotuntrWjVVL4~guO^( zbOptqrufL}XqPEqd9)iT6!Vqv^b3j|jFiVVm*llr6#N3JbO-tgw(a9gA?_}ao-MGi z+1+>5@;Wx*g`}n0Lk5Ru|8RKP-Qn3c9G*7!l{r42GS8Yao9Wi`vRS6XvrqcVba?j1 zZ=fBIBWD9@5OVFtFIr6gri;ct`!R5f@W8f;Z)`ds~Bw5fpf z={$d1oklZ+%$E@gx>09`58BG%FV$A>m~yMlHWgbFK2V7G_^cI+_CIZ*AB)XEcNFCym=yI5^B~sVW>Oo$i&F62w zJ*FOG#)AHOI6QrZ!?VpDo<6!z?)>}ONmH&T?LPUmpTl?g@GRHidw{18>je}UF@IO5M9cZm5?~ZOkL*=47 zOyhDQnSM2T3qTyBqB=Z%Qb$FkIl4XcQy6%q#-+mt z$ECwx>bN{*^gn6Z$LYg<8sERr!l|K?=$LWc8iZf>u| z`mJbg|Kd+)OzuZd6i@C28_wSs-pDFpd&LKJvSm-0Z^-#=FJLUT{V{9%XJ*>|J9q~W==0C?X`g@Q z{mawm-#51OX7n+K57yJ+gMHrNX?Hgk*oU9P1i`jtaCnX>hY!vx4$pbT@w06mz5)14 z8BoaG}m^%L4j4{=MXKI0VJF}(le@x+_3gp-^b*Z+uvS!-e;e$Fke9-p0Vb5aQA3tks|LhBS+q12z z@SOKu)Q7zzXDwddQMy7or)h=eKA8Nx9|n|m3#S#DdwkM)uTT1v(iNI}angBDPWox3 zD>TnQNPkD^KUKOyc~{d4Wd-I|@+*`cO)HcEO)E6_I^^d)56kDh2h$4WbxkXjcQma~ zsV12q<>xMFDqT4oY1sFc|+3*JD|Yxu^aIZ6{P!!2wbO_uG+OXHKuE7sxYke2$u3;;c>=>WL_TL`*oWxH zm*eMJkKs5X*C`Bqt@?k3Ut}Z-Z!M$?aWCTIimQN+mjxQoKbFYy#l27)OBLM5+MTxY zUl-0VlTZ_;W79ABzLf7c^HFLWYmvSI_rCn(=o0W^X<>NtJmk;wRSPyy;9HWRCYHm# zo9D~(gynkRvHPS6%SJ=5lckG!bI377S$y7d1Fjb{KlrfRGyR(Vyiit^EJb>ytT6SW zUW`DA^x6vYE7O#{3`ol6^>TA9RlM#6tHa-<_$FDhnB}hm4S?}Hd2d!aP#?Qc{|_CZ z9%_v`d;)P18mA6l0iwMwUSvy&9My=aU!EfZ!SxwySJP*@*k>M*a8q~oucc_e(}nX+H+=3hA6g5#neD&K@5Wm__^4y? zIKejiyQa@L(c`BORTp5x(L zv+IK&k(=Y!Cn{&%?YC9jIYMKtI5=N9>+Vh@SI)Xu&bn95y6dUs;%7|dz6ww| z>s~qQe)-P2<7KYAjW`i_w#294k0J7j=j93h=f8Xw`6ColA9()DJync+{@aYmfOi8+ z2&2g3Kh)1>j*iv{TJbkP1kZ16z9!O2d?=0i@h-v0UIZTBmxS;7(5Un*Zy>ER%J)8bjZ@zM&m`yYl;vO4+~@`CO&_OIhaQkK^w>EQ_o?&-Wxt z@&4ioKzbb)vCYt2Kdi7@A;2`^B?WITx#>hIVICIn=D~aEtlX2i6p`~n`=yJkNcfN~ z&?L8F|GIt08`3W_tdvhLT!CT7`QH8_%*BhGYzO%p%?P*o=x>DRK`veleo>Tsl(SOh zyjo@X3SSqrbkES~Z7kjQ)mn@6_c@4vi^+N~W(rXJ;o zre$p^HlE1J+H7WI?STY;=6iT7J@TkUjN;e6vui)(?>X_V2-|Ya`edWF1f3c0rtllK zhDJ2^FmW%4^=DG~?HU?I1IPHGNQe3EQ&j4nyG~BMya0EA1E70|t%#2!y1*N=8(l&n zy*C5TE_k?C;I#|bT_T_3=0gM=P%&*~Q}(a4 z{-=TG_qzr>yZ4LhJl-n|!shH7^by?G#64uUBi@FHpMBx)6AO;=nK8H;@D4=&<~Q@K zL2N@@i`b6Xfylk29G_@TGj{pCrUt|)B97P!ep<$CN8WFuDtn2LA(A~bi KZ6ZEQ&i?^)gHcxi literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso.pdb new file mode 100644 index 00000000..c0763db2 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1B816B245295CA5D5327E96BFE6301F6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ddda20caf5f50bea6f02cc2bbae0c89009cf9b4e101d3a863a094291336ebad +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso new file mode 100644 index 0000000000000000000000000000000000000000..c0d28fb27a1433224a96e004e684063afb42bfdb GIT binary patch literal 40836 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 T(b_lm_w{6YHzrHtqon*l24=+P literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso.pdb new file mode 100644 index 00000000..5c4dab1b --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.1C0F0C96333B91901C06D1175A16E1DE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87c2c9bf6e6dd0cbb6f9209231940b6694a4bee8ef573addb33c6623ad6040a4 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2ACA21574A23B0D0074098285F176749.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2ACA21574A23B0D0074098285F176749.cso new file mode 100644 index 0000000000000000000000000000000000000000..c341cb13621b1173aa49bd8528ab5de3c23f81d0 GIT binary patch literal 49712 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 J)aWod|36Q#jS&C< literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2C8009173B59A839A8E4FF2BC5B85094.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2C8009173B59A839A8E4FF2BC5B85094.cso.pdb new file mode 100644 index 00000000..fe2d061a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2C8009173B59A839A8E4FF2BC5B85094.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0a716c6f448869da203d2c7edd0a9890bf7d1e6bcd554a25707dd25defb84ff +size 42496 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso new file mode 100644 index 0000000000000000000000000000000000000000..2a935e715bb7650b22440541fde42493e8d02dbc GIT binary patch literal 40924 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso.pdb new file mode 100644 index 00000000..d951a1be --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.2CEEC2A138B6BB946C7E5836CC5E37E0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:06b1566851ea111176199e0f9f90fba4e4175ebf2ba1d9771795cfe8f79030bf +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.377370747DA9B2908354049AAC2D30FA.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.377370747DA9B2908354049AAC2D30FA.cso new file mode 100644 index 0000000000000000000000000000000000000000..9d2eff6de188a2fc5d03c1c7dff49f91c639aaeb GIT binary patch literal 40924 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 B#1sGk literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.38E2D27FF7046D8A00290708435B3AC5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.38E2D27FF7046D8A00290708435B3AC5.cso.pdb new file mode 100644 index 00000000..a1084390 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.38E2D27FF7046D8A00290708435B3AC5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff6037c884c04fec839fe0e161db340fb7333fc43b147d5043e3c7fedf9f0909 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.40452A858BDF0DD351CAAC7CAD4D75AC.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.40452A858BDF0DD351CAAC7CAD4D75AC.cso new file mode 100644 index 0000000000000000000000000000000000000000..8b301ee94187c89ef3979ed1e3249841c832411d GIT binary patch literal 40956 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.494F248863E815B635F86B4C4A2B9878.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.494F248863E815B635F86B4C4A2B9878.cso.pdb new file mode 100644 index 00000000..ce28bcb4 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.494F248863E815B635F86B4C4A2B9878.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81860786c54910c92dcfc62d911223eb1650d668c756e06301caf46db80e342f +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.4A6E9FDAA1CE421286BA2A3A30A6658A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.4A6E9FDAA1CE421286BA2A3A30A6658A.cso new file mode 100644 index 0000000000000000000000000000000000000000..c3be1568cd2abfc2a623867b16010700ccef72a7 GIT binary patch literal 42044 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso.pdb new file mode 100644 index 00000000..e92b8b2d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7B8359347B0DEF37AA39A05B62E5CBC1.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97ded7a31da7257b484aae9056db949cad791fd990e4cc6069b0c9467282f916 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso new file mode 100644 index 0000000000000000000000000000000000000000..2b5329e73f0c42f7140e81c8e21bab199b7186af GIT binary patch literal 36652 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso.pdb new file mode 100644 index 00000000..251aecd1 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7EEA6AF74A7E1398CE4B70E260147AF0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f93f1fa5f4b75a933052acca7dff6c72bd064ae419f0c4b1b1b75422f65d6daa +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso new file mode 100644 index 0000000000000000000000000000000000000000..0d9bcee5b53670f38aa10a1a914b8500db090d4c GIT binary patch literal 40868 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso.pdb new file mode 100644 index 00000000..36ecc9c9 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.7F33C027EBB191F2059BE1A8839D31F5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1b3f8d8d368b3b6366da50cf5ca1f9cf454cb2021c6e323eadacc5c4198b723 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso new file mode 100644 index 0000000000000000000000000000000000000000..31f2773dd39d206db2a31775ae9f88894527c393 GIT binary patch literal 49740 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 U&6y3I$+mPydPD1EdWf9=AA`Pzl>h($ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso.pdb new file mode 100644 index 00000000..301da139 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.893C3B31AEB4B56E07A0C0112A35B626.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dd542d5beb0ae8281c7cbeb408bf9a9ffe0e87e8cb9b87625a8f9a999ba448e5 +size 42496 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso new file mode 100644 index 0000000000000000000000000000000000000000..c85963f4d62e9b158dc886cf19cd4fdc876d9278 GIT binary patch literal 40868 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 PeO*2MtCNMX5mNpilH;vp literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso.pdb new file mode 100644 index 00000000..f268dbc0 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.8DDF66C3535F05343B6E0711A2F5EDE9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7b5ade7f4ce7fcb3b37e97752b7f77cc3628de371752a22c77b6bf853e99400 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso new file mode 100644 index 0000000000000000000000000000000000000000..f4124b51e8f1605d1f1786f8f72e90038f350ff1 GIT binary patch literal 49624 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 b8=dHyNRMvXluC{F+?w8UYiE9Zl$`$`yYcQ( literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso.pdb new file mode 100644 index 00000000..4b06c41b --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9EBF63F0CECB121FB08C73258F424154.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:900c0b4e45b0530d784d78b18ee273c54ffc9910f1eae73f523e47ef81632fc9 +size 42496 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso new file mode 100644 index 0000000000000000000000000000000000000000..aa9930a2d33c6555caf3ec5acd7d78df94924391 GIT binary patch literal 49652 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 G=l=)4xeI&% literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso.pdb new file mode 100644 index 00000000..555e6042 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.9F151426D3A5187075EB122B45099E95.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:952a1502a4fb82a035ac94587db0776ea9790d1959317130f5c94cd018ddaf15 +size 42496 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso new file mode 100644 index 0000000000000000000000000000000000000000..5d4118ab819d62459b7eb63ce5f8ff45a256b9e9 GIT binary patch literal 41928 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 Wws$AG5*>qUI=j1v+Qx?m$@za8q+m1v literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso.pdb new file mode 100644 index 00000000..4b9da5ed --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.C1D8B1B3F659E4754B02859930024C34.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3341f28cb6af6124390b2426ea62387a72d3324405ff64192f151088d8746c69 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso new file mode 100644 index 0000000000000000000000000000000000000000..d4cc011706da498058c9e2b6d80bd374abf415cd GIT binary patch literal 40956 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 R*Z9Uw8&hqGLVA>({|`kg3O)b; literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso.pdb new file mode 100644 index 00000000..d09d290a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.CD3CD6C95FE00B70F3CB44712C4E6F6F.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a5f93ad54aea6ecd296946e6eae8dea438ffa1a464b9ea758fa73c0a1abc787 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.DBAB50AF656C0B77BE3EACFA872A4107.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.DBAB50AF656C0B77BE3EACFA872A4107.cso new file mode 100644 index 0000000000000000000000000000000000000000..cec20f39cb4924a43c351689be024f288f06ad9c GIT binary patch literal 36712 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.EDC05431FEB536B2137D9C70A18E0E85.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.EDC05431FEB536B2137D9C70A18E0E85.cso.pdb new file mode 100644 index 00000000..058096af --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.EDC05431FEB536B2137D9C70A18E0E85.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f27e1cc64a0e678f4fb652271f36c5bba12cf92ef82473ef9c96e768ac6f6531 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso new file mode 100644 index 0000000000000000000000000000000000000000..ae7a00cc9d66e127160b56a0c15d64bd94da093f GIT binary patch literal 36652 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso.pdb new file mode 100644 index 00000000..ce379422 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.F43E932D41866B4751D2AAAA122C0DF8.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25f4dda37d39d3ef3263577a84575bd34d93fb053a58c120708e61f56866f87 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.FD048825BBE1F9EEFF9AF105929E49F9.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom.geom.FD048825BBE1F9EEFF9AF105929E49F9.cso new file mode 100644 index 0000000000000000000000000000000000000000..9ea3e84943f486587c03f6f327724b4ea247c330 GIT binary patch literal 42044 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.089C1A93F75623C5625465ADC48162D9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.089C1A93F75623C5625465ADC48162D9.cso.pdb new file mode 100644 index 00000000..dbda205b --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.089C1A93F75623C5625465ADC48162D9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eea4f594eca499dfa4ec30da67beaeb194ce8fde5ad14be181e20e81f354c501 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso new file mode 100644 index 0000000000000000000000000000000000000000..c94612f277f66225f73b33769b9b17f6d299998e GIT binary patch literal 19088 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 M7L7(0vT1Ps7t6$fl>h($ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso.pdb new file mode 100644 index 00000000..54b3cea5 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2CBCDD973DD8785D8ED96E438B732020.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7b14c34a96ede6473c94b6d6352990fe1c62bca336ad68ea5e712257f373a54f +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso new file mode 100644 index 0000000000000000000000000000000000000000..19a348c946ebc4db8c30872ae339da24494f3056 GIT binary patch literal 16848 zcmeHPU2GKB6}}55*oy%}195=1R}od$#aYkJF2FWsV_Y6(1$2URa*6-tyHOM)T*lbP^o<(LTc3_m6sMl|47vYj06njjT;&J2>?pZ5JC1DKmR4=NU#mK zygo5_d|+&BJi~Iwrj8l5Yb=b2@`&lUd9!Fx?a~~rtDa5WMX9O2)lIYQf_$g_*J@|r51ZBKh?@2Q`FS% z=%5;7C~u}Rwb+jkQb&$(*u~(gz4$^!1;J0viLV%#ys@-Z~p!- z1Hbs|fw!-}`~Ch;|MyMl6Q?I;|3__AU%pW5Uy=b@FWTqW*{zOgSF zEf#9!GA+z=MZ+{k%(6v-Y-76OxP~1oXkF1SN?{8reyn1g&Dz!};+e}APg~`(W4N)R z7GLP9>-5o*XtQC ztVA38J63c34y#cvjD>EB!ex`twH!BS#2}U@D;9cv%F+mO#Ik4e)h3ZM84UABO^i4n z&EF8~>3t{}$Bd#Y23d8eN;QOfo-yX!ndXcMW$@7XiL@9dM=P@x*9nXYDb-e843cw} z?fUOzgLXasT79JC!+Eo0luX09Lts+qrr}wR&h>HTjuAScjL>SN_?*7G_tk)*Uf(h5 zN2A^ZfgUY>$Z!uE&dlMwYgZOxyka&4DbD9d5Ue;CifqHJ*(T?%oj091%Q0g9w1yWj8fs8y<^$qCDtF`F95 z9*xh_0aRQcOs5lrdLpIoO{MqfyS1ToGNC2+9!&OSdJhilju#y(K2vq7jO7D5U7>SM z=(OuP9dTagOqQT?&ew@Yd#X5B^K}}9Lc;KL7NE0S5IXb8zEW?#sOW5*1Bfv4)XsUf z|5=MH(yjl&um6*p|Mmwsmb|9~etE8j9H~YWBZBPLvnNlzO9x=!bNy?Sh3OIT0M1a; z?4?Z|xIvL9-KTc;_q5EHPX|{%IcKb&?cWr^8$DFbPdiLo=+pW%Ex`ayi0 zH$}t=dW$c|lP>WVIz{&6&xrG6iMJ|vD=Cn8yMkj$EODG7OF3M@pH=Xk3f`&Unu708 z@B<3Y6+ENhI~9Cb!D9+Os^HxUo>g#7!A}wnKR@I7*_)vdwo-y0R*|1o`#Cj`xN5)j z1Nc?@V+y}&f473GewO}+9M#XyD*URS@qLK2hdv3Y-!Fpec(dmL@|!&mz}4r0K9itW z_ze3e<|j5bM{-m?&s`Je%;T7PUyYcfB&ZTEksB%_iEwa$K3<#ev^pw zp%e5nMTy>{hc-&5fVj^~OI|?6dkJbK(uk0@vh7$=bO6^_eVeERn_ggRwqQEETG&JdN-3spk+B<}_w9xr#_D_LihXk7 zrP>IrnVpU6J!u1cwMMa_TiW19C9CO4cJug^hM;j+vbJ1NUy{$zOo-+OIq>$!osT`Nr{#5TZv>LR~SazZho z2SN`#7!Pb_pAvg-=SX~{z9Z-9lCj~zXbz=53LaQtX(+x0#@O&E*csaJU_7wW_n#L@ zWzT5EJdM+R)??;p4TtqOcCly1z|ZFjRjYW~1IqL(I;ZC$oaJExEPn^r@4E;A4HIV^ z8Oz^Z;am0>h%nDV3cp|V{D2sLwk;vf{noSSH#V>zUD!xFK%;b-6Lk|U63Mic3eU@m zpUXwbRjTvAT45EP)J$MgiqaJ#$twW*BMx;;%QUF`;!oo@j=gQE?O_~i%X4+nAK58s91LArY8M83Wn6hE3Gts3eMoeT?ED&$*bk=q`{e9J z%5i?%*Rs6#8zYR9&+%;FtOd7s8xh{S?L?c2+KKS)eT)b^>xuC0;rEYtFX^YFYy%N~ zD+(KMU$+q9`Ff5B&sZl>m>#SLc05?|q4dxLp$8se4~&dvjv$WX|Co>}l(b~BpqC6I dmD;Tp_LlX;o?bnv74*G(v_fBeu2cZ${{UC6%2xmY literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso.pdb new file mode 100644 index 00000000..a585e9b4 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.2EBB1E214294B7250FB31039A38D6AC5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3355f1d07cd6354a9e629df5839c51c4770f9c30d892f4eb526e094d93a7f092 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.38E30D094B028C691653A728362634B2.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.38E30D094B028C691653A728362634B2.cso new file mode 100644 index 0000000000000000000000000000000000000000..a97824d3956c415a97806262e9d3642221152f8f GIT binary patch literal 16824 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.45152D6B551F36103EA55B435AD0C462.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.45152D6B551F36103EA55B435AD0C462.cso.pdb new file mode 100644 index 00000000..073629d0 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.45152D6B551F36103EA55B435AD0C462.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:469cd9468191cf8cbe041de61124c652339713cd9b8270b1c3f3d0defa5ef361 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso new file mode 100644 index 0000000000000000000000000000000000000000..a77dcd3f3b0dfe394a2ec97ed8e8b49a036ff359 GIT binary patch literal 19056 zcmeHPU2Igx6`nPAuon{y1ww%~)09f<;;ir8UE9lF3ijIAmBEYGAW9sW_3mA>VZC>I z?_J}hisb%3w0)q;Ln^e)Q_^KlnlUH?O`GVT{$j%Gi2x z4-&sZe2KuBHpX6B$5^VJaQZ%-867LqH=Q8QI&Q8;zPTdePG?LL*bZV&93$RC+)WHR zRxUWUYnMD8o9^Y~letNrJC`q74j-`>Yvl@gOe1cxiQLiSe<%4)$-hHnNt7i)>nX#) zk$(_y_#^ZKoU$(nIQ;9#16;+23s&+}OhLflSNc1ASjfT;{4I$+LN3x&?mH6ilsIgP z?=z#PN2aExGc0#%?v&+t*7Ah#PgGqmUoBV^x-vy&{w2vm7vjG}tVrc~69K@X6D0Bv zmkbPCFEeD?H~6@U4;M1)DFMjqWyUw)FOv&Gd|;44x_TM1Q@M$miK*l4%9Sg*@zK)< zNjOU}rbzDDP8OM?s7_B0g&2c>3;CfB{sj4v2ZbXIC6Ba}AGWqg{s#B;z@H#L^uRx? z`5p2@CvfgJf2OL2ZZWhpl`?XZqfepzn|!lX(QD(uooVy}*zL(i_|2 z>sJ`Q1MAS_kUlUFbjp==N zq<>`ZUVbb$#)smDu`#+clS4ve5ZL64#IGPs^tkVYziYq(udjymFk2u^ZTMj>|HEE( z%xRohtodYHAV;iM@GYdZZ2_!pLV9>D@M7GIto(zQunt{5(fb1u=UHR#o zRb>@?3$9b&K9LMUN<4HQAPaa-z2NbjzkQvmd$qb3{YJE_Qm$HghnFgL-b?WX%U&F@ zE4IV;bG2bK4m3+8gjBBlyrl`50U;qXZF_mIY*#h8L_jVn1dlA2T|<*f-d4)gq*5d$ z^X-=^YrAEc9&OasCig(}g#*!OVZL4}(fLHKU{$S&YRM)=j*2_G^JQTBoz>8p(PyC)#LI2u3EH~DKFZIoDyi9$`$?Zjc~>v3Zl)X z2*<*QZY-p+JP{nsX}FxRF>>mICIo{+`f#~YnYZ&!v0PnfF>oh><9n87kmI(qn6I>u zP6mhhlU2+(x0i1k>#5rnty5OP6BD*RRi&DW$1_&VJJ(v!)FzJvKQk<*$;t9!*>eMy zNa=Y^h)J?$JD%+NO{pj1&o^dDKAxw(TC7^`Eeew&ZJM6d?A);JEi<&K&CvRQ^mJli z@R>kH{jy`$k4D8nlcLF*AGN$=mV544-gC;!FM!cbMjTU zX1i8QE|Ex+^75G3#|{6#-afU2iV-65W>Dg{fWUiudpTwI1>|_iE*Iq>cPwA7-ZrOw zoZI!lijGR*4`-ZO2sO%7uz`lFQ4fuSM892qo5(Y1U+#XmfLg zT3t)CFlbnmW~q^832Dw3^YdDo%@h5@z2@2V7bCJlRln4m9$30~71ySph#-&qA>|@+ zoj67e-A8`>*AvThX@&2e{65!S{0QB{iG*4fUonERl_Rm1ma_zn#>G<>&)AJ%ZL;Ta9zqv7Kk9@FrwhWBasjD{N;ep-trBA%9RySCtp|VGW-B=MQ0dXz37M;b>+NK#hU@KQhlbNLh(>!O zxS^+2dq#d*wP)aZd&b*@HoE!wH@Qd)LqbpF*KhpjnT*ZA$Gc*>zyh)6JT;mJE1=WP2F)ksrzJU~0qYW6-yoiM^qSgK$iQO%cXgG{v;T zL3Tr=2|UdjXMjcI@d?(k4P|T-c_a_fL3-ThKkdWOC~K4t_UZAe(8)g49m(kR58Ht@ z1nS>M!{4=Nf$+?;agUb@&pg93PcJ<4ynAP!>hZEiBPk|eT5AZpCf&8Z*p|h-pPWoG zlN--WH}-I?^2QlE+X@e{2j2pC|GKlQ|2o#aowO)KmsH*I)0U2ZS_NVJ&;p?a?y3d0 zurG4$29GTu z1M2V{7QSEi4S_y>q01Ea{u^2JhmW#XFKwa|K-{5m;y&UPVny4@^H~*;u39hR9*76_ z3T<>FxK-}!y6L-;RVu`#Zq=?@1U&g#{JQ$yS{L0(h=>vKH*4@h4(nDB%A#D{WvJBd z#j_Umu11tc6-s3e8C_lN78&;a_;ODO<3A_HT^lDmexLFx?gJ=%kvh)`xp==3qmE;c z9~2{oEZW9aV%!1jCf-7fzDG~T*=LBmiP7&MvyB*SXCpECWEU~|CH*No-8uPxi;ldY zejg*o{Uh4hF5;cUA>ADds4?^IXb-i976>g6S|GGQXo1iI_oD?SCNsyej>G@a$rv0g j3=QSe^kmvh?n~@T&l~wc%d{+dP(5!Z^6^@69+Lk7OZsK; literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso.pdb new file mode 100644 index 00000000..5d6907df --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.57701C60E841F468867561F9335BDAB3.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5fd2ffc70f58924033b083c4939a04af5db72269130bf7172e265f63a47a2890 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.630652A3268DE6E9BDE38BC918841E62.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.630652A3268DE6E9BDE38BC918841E62.cso new file mode 100644 index 0000000000000000000000000000000000000000..a037069051a88226da729907343faf212452f787 GIT binary patch literal 19088 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 Crlg4g literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.77B31999700322078CF970FEB7407F9C.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.77B31999700322078CF970FEB7407F9C.cso.pdb new file mode 100644 index 00000000..d8d42c6c --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.77B31999700322078CF970FEB7407F9C.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ffec39300a5d9b513448df3b8966dfa6f219e642c99bb40b9ef0afd8fadc857e +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso new file mode 100644 index 0000000000000000000000000000000000000000..4b1032ee1ec8dd20742557091d520b1ee3227882 GIT binary patch literal 16848 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 L#b~uK2g&~dv@Woh literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso.pdb new file mode 100644 index 00000000..d344b623 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.7D65653E05F3CFD999E0CFE63FA6E06D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ea872f4a28c068a11357539a0cd8a2de72ec80f85e0f979c1cc413a009d76de +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso new file mode 100644 index 0000000000000000000000000000000000000000..194c68a7e41c6d6757fc2cfc05f14b546e8c1a1c GIT binary patch literal 19056 zcmeHPU2I%O6`tM1jlFSF$0TW*v~&~5$1SSlRzP{k3sN5}p z$A~#YIi`v4g=Q9+r>ss}8^styxShg~r@|>{WykqIJdxNHJDAQw5g7zF`3$+Y5GQ)V_rl)?zyj}XgtV0{Fi3rPE7yOk z*BxsbCnxrNvM-P)_A5vW>A|)D_BJ7HT?@P(HzI3)<^}9S-{aqFe{=nz$yY8u`^`6& zeyXMfv7Zg@Q-A-Z-XOGfjd&l|+^Oa~p7l?!(^aoh^8r(_GTqyj7rqzndFCd(_(7Z7A58?!YKX!HkI z&$yN|Yfnv_ua`OX;Wjq%!zlahM-le3^Nd{^in8eAj6GhBvdq^bZ0U0}%>85Teca2# zqTkK}uBXoclVv#ph+f~zwZWqge38o2j(Ks$`byPuy~#B7D#d|e?{fs^1B`P&p}{18 z;VrcWM}BQg_i`lZ!@ZAkRf}bh%lo%--dd%iXcuydp>`>k_tR_fv_BWb>Maq@g=D5J zHW%iS!O5Ja%UK&UCmBPZ^pn9UeWX|_E!d`$FP0Y@Ox(%f{GOo|YRqV8i${{59}&ysRB^fJxdBV0^s*+! zB3ZE=PmcUL?aBB{wUv@jm^4)LWy`%qV6V_k%d=XYYqq^*g*LPmTAz-dOZN4DIZ#l) z?pXC>F)`1iXtCxeE$@`&E}b$xr?}e5i)FPJ5;Gy^E7BK=9LuXZWzIdvEV~ukwL0Yv zi6p5Y?=-r3!vC+UTkW7a36Xd`DDhiB;9Xr^oQnH0O1xqh^KymfEymV^fG| zmO5U45vVbWXk#ve*KyJEqo_`xzk}6kX~fY^_z@xcp(?@J!r03&bFe@7hUso#V`&Lt zVBfH!om2*u3|xy{(OH`Cd3 zo%{$}7wmEN^qweTEzF-1pJnz$#LMk=DaV(t@a^=HyiO7#qz$%Ec(aCMYE*cu zhT~YQaJ(3=Qyg-*hVRwzgoYo`@Dm#Tn1-h{oNM@mhIeRqM#DQbd{)D|HT;~0Cp7$d z4Nqx!g>cxvi7HO^_cs-U-HBkIDA`|^e}Xb7T$iuv3;sb(uc|NbV;VlC$DONWN*?SeT^$J1G&gE@Cao;cflaK%S?L+@!&oOp`@ZXRFMd;r#FcP8M zza+O#?pemxq|e@!ap|-7WL)~}Lm8Jo`$)#6Pi64sNuPDdxb)eej7wjX3FZ1<|NWix zV{C(z@5jR5N6?L}3+()b5yAY2!QMjdS2Xrw^hE&1$;O7iAY;CRYbMuC4z!;g z+INC{aI`Z2;*S0G#`QPpbFN+c2o-%wogmqDVBl|Mb%#i%@HU1M z#3@kZLA*o64H3tlGr_c5Kz2ju1fF8G%f39yc$hWqLtP@Gj1(Xmq>uRgPxx>J%C4*W z!47SH{Zh#L4Ozc!B5&?tcs5``3dl zJ=d`xZl=v5#wOg|AbvN5gfc=4gci7G7HDUm6?gAnBMp(-jl8c;%?G(d;uTcu%5EHY`Lt*b#gsR7XG|5A7!n7`tb?XpF{Q}4vD ztMtaQqM}_P1?7ee@L}HyQW$)^6)A0-@mY)du13^HRZ0~S1>D$Z6$SRgNZAy^{LjhZ zZ4P$C|2ROr2T=SH4VE?X@%_d>XrQUP|4za<@glyL9Gdqra_!_W_UQ9*_9=3$tuH!x%lCQ~_M$QVit7<~iz{&*$7 HfU5i(KQLHV literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso.pdb new file mode 100644 index 00000000..2b33b8fd --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AA7A6E402DA45EA1877F3864059BB328.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69be905237bce43dd351f2a7f32b8d10a7e1c8e9cb6523572505c0e7c8478f7f +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.ABC8329C82EFC7A175A670CD89AFCF15.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.ABC8329C82EFC7A175A670CD89AFCF15.cso new file mode 100644 index 0000000000000000000000000000000000000000..956d17b5799628e61426ce01c2de02528574d16f GIT binary patch literal 19088 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 K$$F)XCj1wN$fc(M literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AF299C4F5A88FF41BB134DEBBD221243.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AF299C4F5A88FF41BB134DEBBD221243.cso.pdb new file mode 100644 index 00000000..b6da6454 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.AF299C4F5A88FF41BB134DEBBD221243.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1a37ec231ef4f70f6e8b5430125cfc0d388950dc7ede6bebe13dc5e036c2acc +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.B73B1CA9CB013890A989873EBD811678.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.B73B1CA9CB013890A989873EBD811678.cso new file mode 100644 index 0000000000000000000000000000000000000000..bb700b2d1ebe2d2c143c626c03d1d83c63edb6ee GIT binary patch literal 16824 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

    Dbr06*Jsb4C01vUqkflT3ovMaT(bgnJ1) z2?56{x@|dD+2ygxZay|%80UrgV#%=ih_z6wR4J28#FH#nIC}gy#J`cSo$yD56383@ zo5*0$$xH#DBd^g9=w!M8(2-w98PMhPNP*!0F{J?LgN*fl`g2MFumSW9emXUJdSqf^ zGQ$d|W=C zX6ywp5}*uz@Ia1gQ+}e5o61cbXBRJCER2nwexK^|^u!RQ&$lyeh90$}Q7SQp{C3Ji z9`Y&5L#Cudhe7n~+~Y?+MS1WeKkVn{sHxz=v#8ro&6dx!9VP->eojTI-yr2=eVw35 zc@d&PH)ysmH@n@l0koHW8u*~^SyEe=Ix=;h^5{ni@VyG)y&FKE-wP<@Gs7_Q))*M+ z9oe^!A1h?}Ks=Gy64{k0KoL0*KKugV8z>X(@sjZO|G)#kT?t_=dti{3)wSIIwcd8D zC!7%bBmn$@6l>PKT5BLLgoo1u*wcitc0F)Dp468A#mm@-zP+SpFI~Ah_U6Xg_1Pc% z(2-t2U2vcJ?uou2NwSCOBjf=(HYN^6I;s`ZDB8SSwTfG=>oLRO=kZsIW z9M`a8vx)A=H>I#85?3+KPLdsx(C1)-| zUqDbY)taq^z~ue_>q*D3r>ya@GXa^YU;~I{$^v(gG1!dZO0_y`741^RoNHlhD%hqx zdF{AmFBGc^_xROyto|L1nUfm(>n9rf{TYg{{Eg0hPcruB?QJaoU5#DYM<+n$=Mee%#2c)!oLZ>*LDcl@kGG3o*cX#x9g46s-6D!Vbb7zCUX|CsmO3657=&pFN)TJujG}ZHr zQFG^8GbWYABgM}Qi)C`WvQTjydRd!fs1R{coC+aSrjo&+fk`v}Nl0uID~T zFTQ>S*N=Av;Fou7NC9=i7$Ic4OJ`oaK*2=txqclbAv`1=zZAd@zUm(0E0Hhss?yOO&u?vDd&Ys=2j%XdsTP?u18ti2GZJLN=ulMD6(j|R8 z-H3bgU2!)q>Fo*~ceaw=snE%c20g0Kxk7(jq3>1bT?##+(Dx|x!wQ`%^gPkwhmB+a z`N7*<5N$Pp{cYq2RX(Q&Bwdv+?F9c`MK8v*7B`_p*# zYrg&K#k1IXh&{4mr`&_9wu07dFP@k7HoV~52Avxe+j^vJ{s`a7G>XWP&xr?PKf=1; zQSqK^W$n>+qCG)x_$EaLRj&$a|9gGI*yce0uPPv{e55_lh+(L41RSWtn1_h1hcOR) zPbiM(pB9}7V;#gV^?a}uDzW3SH(R&ShyLQ@K;I#wZ3*h%cNGK!pK&3Te<95gAXNoEz?&@=)*t_rPjL#jyV$c=z0Q16KR~?*eJ>9j};YaR_3)W^uuA zSg&L2z4HeCOlr1j>1RDcnf_YJ>3slqIoJv#rh`4p0YU&KG;E=9d5AgyzGZ%j5c?cJ z`2C{i2aNG^9Z7NTvxP;zzm@&sjmIbgG)~o=u!nG&P{K~id|np(RPGnwr!o(m71}65 zeFH%&f_DieuOQHm2#bY-Pe80_Uy^FRReKPUWz@G{x?Dxru6Q~8(V>}5)Ee|MPzjS0#FVuYN0 zj&}pGe8eE}PC(W!LX5voLX5rbgr6haLWr@~L5Oile>%vv65?+K(Wj8JgAngm7vU3x zA>4lt?7sghLJgq@LJx!<2tDu+dLTERIgWK4H=*fda?nVWlE!RNPxtAGfkeNtUpI_Y QGMyYqBunvHX%?LS1*UemvH$=8 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso.pdb new file mode 100644 index 00000000..00e810f9 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.CFDCA74BBAE47557D9554F9C6994FFF5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:662a2528319d051a689f70d77af913497edf07ae9c22efc4c3f0699e90f66f9e +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D1027BFD27F09759DCE21D6C3D0007E6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D1027BFD27F09759DCE21D6C3D0007E6.cso new file mode 100644 index 0000000000000000000000000000000000000000..1728d37284d7b995a6d537e15d4f07d2308054b1 GIT binary patch literal 19056 zcmeHPU2I%O6`pnM#@;xI6OuF}DU3=Yts8fJ?|S`{zc#hkj*Xmn@j4*{gS+0nYj3mO zyWD%%aSN5qPvHe26;-GYkw|%}6oLA{6B1IN5JCun)Q3=tRCqu^0-^+jc!(0tH+SYT zd$XxhN=Rbglb)TK@18j`bLRiY&72(`xxy}tVrK0H? zGkSJpYHB*ea%bkwSdM3{ObGu()%Eh#f<>XrQ&i@+NEW&f|8-(TD$iR901llXk$<>k zVBmV0A=A3a$5ni|kl9EHKwd91z5#!OToB>|gACHu%aEPQP0UP8onn_SU(St>o;^y! zS&A`5axb*A*c?T5y1FRD82sDG4}I{b$d5cI9BC+dq^10@wMFtbxUUEP6#1bC{$b7U zkRLjM!w;Pcly$^~PQ)1?vmy*?IZi)p^;!J-?&`Djy)8xGAv-4X2u!6DCk%RlAq}KA zw%ymSFnkBrrpY0FU?9kSP38&ukk&Jlz1+-mGp~^!^{z*K_&T zd)YCkabmINlWl<W4R`#YOZRbn(tCS9#j2O99+wAj)uOdRdC^Yflt6GQSMMxARW1TwQ1~aHqoKdzNO9Q?|2| zuQZYF3lHL$>v>IyNwQ`;p6vP!si%@J1v4cd&r@G5RxS4qg?%Dznx56{9N6}b8QRolXnjEX ze5!xo3!#kqWyh=^kBfmOO_Mc0VRREHyH-Ljkw}yB@`TyL4gbIH9<_u@5F+tLP~vxhz`MJ-$WSu0K03yO-1??CIn(U4$hwrjZ&P9?PT# z$BaXR{f9CmqbV~pFw&PX3}bL~AX#wj4`LJB26bq(-rrL?rafh)?}J! zb904S-A}WKH0Mjj)L==ZSu9v7vp7)bDn8J$16b4J-Fv zZ}u5G%#Lk~p+}EZ@(V6AR)&lr!!Q}3nY^=Ld2HF8>z^|OGFtVV7a0avnBghbwGD0; zGDCFHcZAzP`_4-gjmfaQ;H@B@)kFQ%S=O zloj5t;TRef-l^f(5-S`x#!3&@@EsbyU&D86xS`?uH2k=Ra}CdE_ z!)G+y(D1Vwp4RZ^HGD|JYlNd-9wUQLz4%KF!aj&#w-%}wUH@^4pm1HkDlg=ZYU!%- z0zaB>+KnD6I$rz=O5%EEer`=u{Y9B{q)z%-z$IrE7kXZ z^vVG`6~00E6=G0~{^6Yn2<7=D@g?HVGPWvR_O=X5m%Ssy(q&g=Si0<{3`>{t;Omnv z+b_e?WkWJ7U6Ci`>%aZ?PfEX)7^GZ3wDx|{XX9-5PTT{*URzjuS36;kQ%l&03XNz@ zTVT^K%oxTwbly1eRq9J|dJ%wjfBUw7JBaZM+)iu|gLbjKJCBnKiB9I9+p)jjxUO)l z3EO=<1^fr}Tx>I1nP^jLU&*cmgPu;-u(f2sV`}HZ97rM7LiBt5FMq*eg4xv9F4M|e6UZKU%oWr zep8mORm2T0Otf;S9kN~)V9m+{JX|J)`Q<`7s$79JWf}0+uuUri9wmx0$eDQyi_ytG z)g8&`^$**DHihcnN2A}hXo2X=Gq}e~M`xbVnWq<>dETcpPrO{dO6*QY<);_mfp)!+p<0l)wYCfObr9M;@a3zr!SJ4)~z=-$y{i%BQH4^OLq>1k?i3mJ{rK`g2;)B|#$6jHJARAuD((X){2l5% ztK{PSMuIwyL4Htz7_w*^JBV=yu#b2~!bk|1CQ5g8F@&82688XM2hF5Jz->ETG2B`=dS58d)H+KxBc)0+9tG3p|V#n3&9* s!a5HBN2heYXr`>&-T_ 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 AOaK4? literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D11F440AEF887A61EE9AF025D5E23AB9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D11F440AEF887A61EE9AF025D5E23AB9.cso.pdb new file mode 100644 index 00000000..887db7c6 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.D11F440AEF887A61EE9AF025D5E23AB9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d292b168eb83a4e6457fb8da503c71955ca5b70c72399aef6004b728250f735 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso new file mode 100644 index 0000000000000000000000000000000000000000..ac41f2516aa4d9bd26fcdedb07e91080ad955c32 GIT binary patch literal 16824 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso.pdb new file mode 100644 index 00000000..cf22dc17 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.DF9214C22288F9B9A48D38F5B74524DE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8a5ad9250d6200e7f8627ee327ee0b0247138eabc64d30dde7baff3948ddcfa5 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E085F93BEC7DF3EBA14A46B44E57CA65.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.E085F93BEC7DF3EBA14A46B44E57CA65.cso new file mode 100644 index 0000000000000000000000000000000000000000..a2145436e5c283c0a74a6364dd71e1725b57b1ed GIT binary patch literal 19272 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 JF3h0|{{`^YrJn!* literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso.pdb new file mode 100644 index 00000000..5a5f6cbd --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FD3064546B01E2F76BFF1BFDEB54CC81.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d1cf63dda2a8fcd535c87b5fef6f7dd9219dc3a93a977010d6e3a98c07fc6e9 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso new file mode 100644 index 0000000000000000000000000000000000000000..fe096f8abbbf98c040396234d524873384511899 GIT binary patch literal 19080 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 Le6*aKM^*j{lmK+; literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso.pdb new file mode 100644 index 00000000..7c09eddb --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_CPU.vert.FF385EE49D348C3D94E3E75DDEC43EF1.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ee0e13fba7f87c6b8bf6dcae413bf870484d0bb4386bebd4c643612ba2342c4 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso new file mode 100644 index 0000000000000000000000000000000000000000..bbdd1fa9cf1bac03841f050781da36b8e840e2d0 GIT binary patch literal 16876 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso.pdb new file mode 100644 index 00000000..8e79b3c4 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.03A9039DF625A5CE430A52161825FB2E.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4453c88f721471571bbc2583a18274d308014ec494f8a5f4fcc09b37850289c1 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso new file mode 100644 index 0000000000000000000000000000000000000000..c5c00d2df49f6d6207da552da4f25eb7ae349837 GIT binary patch literal 16864 zcmeHOU2Ggz6~62I*&8RZO_HWg+FnHgty_0J`{Tc)u3~%b*vO6-uMdz$r( znVEG=A=IEEP*tQNMM9uF0zAM2RKQCm#0w}$P=S;OXmLP!s$$M}XYS_i zW)m8bG(Vn`9N&Atd+xdCo|*eUn>sZ#{Po1uKmX)MU%GgsckKM$6R-a*#2EX_AY?@<19YGkxPc`8AkZMnG~`o^j#JDrNffbApZ#1Y~{#LdK@ zNh5Dtj#YGdWV(ZoO=Ko`W+7Y9Z9Z%*E*T|?#I$IPjc1M>{{zXxrbgl)6H6j<1Z|^C z;AE;G;E0Fl4{$PH5OBn$yetn{QO1|wETlaQ@m;$Z`>Bs@r4aI4{P5R44%>js{F#wc z!&6h!DV8}ocT%@qePvw4$4$r0nt7d4SEi_Kt5gPcp!@={BxxH}EpX@t2|Fna?euW9 zZIIbXf4&SsBBUV?8R$`MN>63RXU3pTwb4;-~}h>m-A==!kQ#EaGhxM_I%_@ZfHLYrw^Fz>mF_M>;U#nS>I7nl)X%9GBblS=P8NjCaFnA{1Els z3&98XTBe@oC0R0ajfiSXld#FvmJde#eqzfXV% zez_jdM)p7-W2+mv{TsdQTWAd9#A1y_A^bssn6r=<(39-}ta}35xE?qkjfGzSCof`6 z*?*+z?Dx<7@aXyY`-SrhUpyzhg1p)_=hZJHY9T2egpZL2=5=dv*eY2zKg{JGPCF8A zDjBApwRy2*WnB)TjPaVT$i!-75<+Nj#c(u5Do#>DMUs0P)wJapu3?!ZLz`E*Q9Kep zcO)Fn=gP$*?aecJ-PFg;qD4ZsK5sa#Zbx!jNBFB!*$SyM^s{N(dX;3BviUPsvFPY- zB(FtRIx2PgVl^Vk8j(6$`f5bR&1KYAqbL@yFIGoktfxlwgrnOt*2LK98lCal29U^% z1?gJB+GY$HrBcqy+6BX$uVZYywoPgB+HuRCxVDMCcbc)E|Gk0z@#7Ht&gl?qc!sg> z7HH4@tq@!I9CdSVoBJ5O)q$y>)B}!dm-8-lM(-TSTq?VjewN@$cU1=mZ&au=B8ZFx zuQv>o4b$Z#W;R#S3-m5ab%{!ErNg=EVJJyiqLj3)ps!F#<?lsB@3 zt6Mo$cKv3mqg+yqV6{dBV`0t6^#qTFi`i10kuy;{%%3nZ%g>c;dO4tp~>&8qyE?oR5?!erL9jg<&D%&Gx|^W||2B%F&m+t%H( zZF26~S<_jv96jPKE0Uy1MtLOG$u;kPN2j09BZT;PHR$8FfxtUDIyjko4i+z4M!{cs zOlA%9j+Sqf+^6q>n;+f$2phRcT!IZAo-LM3r59~IS2jw8*%`|! zIkRbNNiWP!>yA~n^SU$Z-K9CRDUzB`XKmNWm-J(_MVLF5J`r7}g+w$K@9x#&qp{we z!S2*>Z)&7Fp6VZrr?mdT;h{vLCz^Mx=t9XUF_x{V(-n0ti8}2{osPJ_b7l*ubIGq0 zJ!)=#sjSvnq&la1Q3h@oo3u6g!Ed+)|?NB7UQ=YD^4 zV&%DiBpAC+_+?^Hi2gwygnBLz!~S8$R{fB@P3a*@`yqSR&-X+28$a!b?5dykL-sE} z?T4aH)Z4(GAwEz^1FQG%29<9i7UV~$8RY4JJ}nPy|6MH9hswzRO~h}}%N3?uKs zb#FkXS5SOk)kq=w9B41wzvn20kZ5M!xexpI^)-p3e2a%Cfxk(g>g?D<(&9PGEfQM; z20hITyCE+PnHDCtFbw%vPaI(W-iTcnWkMvwnb^ZrWHhFn6!~%}n`D&(p#p3<$hPdk za<@U)LJ^`qrXGQ@wbQ=6sE0AEG;h^)l#mvIRolEfd%KG7-%}V{6tluA1 zcd}3$)>D}4Fy4mQK6p>`qn$J>ZX@g|>SbFM9h7~~^w;<4f&ZU6?zz&Sz$4>y`V-f;g^8)b~6Tl-t>im!S3hT@5HS@oi zs|d&ZkF_LdFAMEOi2d0uSFkl;0X;q*NF`F4vD9>BuTal&&e$t>2ZHBc&pVGdhVT8_ zo4VHUY#V98i6IMoKZxHCC4r8>1Azw~mFDxI!} zaF>g9sr+5!Vc%OA(6If&hX?Yvcla&CL1L_PK*9IRo*&T1&o;%xz3&bderqRt_rfmP z0ZvdhC&qd2DzPMN`ks~vKa}f5+&6IAEBLSo8tA6(9UNQ|T_cvV0-!(QQqQzZo#HS4 zEV?H1>+5O|&lOr=H*`P_>sFA&5aPZ;*7h(yYmnbni1x@vNh4w4`g*f4*o!0Qp%BJ@ zPW&1W2`x5Kaj{k4r4@7GhrIEQE_u6@@C3g|w1fIjsOXajp-d?Ixm q{TMfV2|dwQ=t<_{T5oT*r!U{vpDk#)VlENab6QgCi7pj#ko+(7&zRx> literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso.pdb new file mode 100644 index 00000000..981261ec --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.125702F176A5DC7DE52D9A2D09ACB336.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:207a8475a75953c0d41afa0b776c5c7b5b6ed003627bc237bb71446d834844b4 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso new file mode 100644 index 0000000000000000000000000000000000000000..b417736ebfd122a7ad57895d670904fc2734d2c5 GIT binary patch literal 16840 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso.pdb new file mode 100644 index 00000000..c2b7bab2 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1ADEC6D7AA8D6B5FA2623A3803561740.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe1b615825d58301ec3f7c72e80ca20525d06c098ad9d0f746088e79369060cf +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1B4EF1D1BFD046CEA6303A75D5A090DD.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.1B4EF1D1BFD046CEA6303A75D5A090DD.cso new file mode 100644 index 0000000000000000000000000000000000000000..9809fa1a8dd8dc182543e4c09624a40c37d1e6fb GIT binary patch literal 19084 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

    H%tN;K2 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.2CF9EB30E57EC06C260F1C994273BBB9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.2CF9EB30E57EC06C260F1C994273BBB9.cso.pdb new file mode 100644 index 00000000..810c0657 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.2CF9EB30E57EC06C260F1C994273BBB9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7da2c2c556f3b1521c820923d851bba5dd8f42c0d4b85a5ee0651c30ea62f607 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3830050E054524D9FB4B97B3C5795D74.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.3830050E054524D9FB4B97B3C5795D74.cso new file mode 100644 index 0000000000000000000000000000000000000000..159aa081ce556d6cd310d8164c8bcb1e6dc88236 GIT binary patch literal 16840 zcmeHOPi$1j8K1X+u@?ijg9+hJGeV?VC(ioqA7czSHTD|p%Enu-K?qrL-|oJ(H>~$< z-+Sx0v{BrOw3nz!C8XxSA(eWFgnHu?<aa}wkcIN|gc76;yNLigWCMgf6l%LXx>^VD?4q9^fsp`d z@Ph|(RGZS1nX&1y$+PVG_3N3@kqci_ews=QQ22T?(`Kot-PT4a#t`qIIOIt>WJ)@8 zn8b6Nd;ExZP#pY-f9}WUsH)&WS>zq1YRfXAK_al_@2S|wSc{YsCjHQZ5M{MN`XL}0 z+ob%a7d+XZ*}k6B9iB~~{aorE6h+xE3fd0%xT^i)%Bg>{izHJl0)Is7YTodG{JYgAo%?jc;FAK0c>Uu9HU8b zGuMB!*ByHbPAK+L6v7`Ah&2m&0erhXfPGH@o7V$ZqcQERFL(j_&@VcTk4}aTO#Wi= zdgjh2{dc8T#GY6t{P43MBp!C_S|=e$J`El)4VxEAmf`X_(^|+BFPr>0mxsC7iEvA) zSg!FT1kgXugrQt=EaCV&pDag@R+ck(?e~>ZdY=N!|Xw#G*<*2#?5SAbZiEpXQ})>mVwSSn>L!_F7W za}A7**VidcUOQ{q3r48{cLG%#zqN(E*r~C<-PPEiFEaMSziKRWh_OS}5KF(UvH9=P zF!zqRPeXSNY}jBAIIdmIxin6_d!%xu>ehx}f-56g&I!64dAz}7A*O)@Z!|+xi)ELO zl#Oi3%u_d);u0iIWJv?^<`QKqH(QdScDse*lwV7yyqP7uzABSd*RP8@gC)fbHf)tF zj5TQl>ZEc7bK$0(3uVtv(wcIvj1}jb=gxI=Jq?AtdEU&qqF1R)RdU@_&r@c_oo~z- zQx=anzc?h8$?@Vs(RHY&u9K-QNpZ1ARxI1~hhrV*<=RTgM~!mc%$H5)K7k3L8_RPz z?5*VF0e;4GCroF4!f@^4QiK=F>t+eg7soJLa4yzt+jOgTnRC}R%1*^{%!s$GfG=f~ zM`GPv_x^Wv`}sUV6raAH=+o~bg5K5D#mU?^Vez6>%=nVKY`AE22 z7LeIABZoJ5p$f!377yI}^4^y?$PMEG?$q&_LbX(S)i$%$Vkti}ZCNE}CT&&B{LGZ; zSXDb`Iy2sznKP3juDP^fyTx3|JVU34*)!>L(M8%wL=(pny56gg=)K9_crw+0dMG*6 z-#3&P?(OUEP4y+CIme35mz)w~Mx9Pq=&T5xc1@=v-szl~JakrkofvGhbCv2kou;QV z-(Sckv;BS9L=HOhs?PNr1u=_l+C9&K&vk8?n*NXT?kZ0pEjQFH5&;;^lm+FUONE>09ZA+>?KWVvI?8vqHz4t)#aq zbTXqxZ&T=8q3==XM-=)#g^sZz~GY*(A%heL08)s-;Eq*6Yc0RDfCS;d^>B|zjJ?6bL$aKUotGe*Gf(av9sjECWh}E zU@L}Fo8}yU?l=5jxBva8_L^9LqBm`*m5Bvb=xkd>4hZ$S;L-rn}hbZlb z?1rE3hwP@G_CxlWpY}ucm7n%Qp%Z#T>=5C>S{k%Q|L#!vHbMb@Bu_AsUb#%4 z=j`kxs^~BBl*Cp*1Ai;SfyhgPr;UkI3`0Kl4F{QjJYu&+8PGUWE{7EQ5mvhc%0u^I zwyhK2+Gu`Xr6|o)>eUuok#?hgZJympl)dQNy+xG8&QhGDgk6JzS03%wY~RB`TeBZ! zrLDD^`*uO!R>dw|+U3vEyO`F2{S($U%-> zzwW48|Haxxbgci_s{-~iZ7)Kc&(fLHjrI z&a+L!_kR0ZdREZ3&9ni9|vhR3En z5d6eF@SvlA(Ed-nc^v8N{&%B90o6MH1+$E1t zpue7UdY-^rF7~D3&X2<5gaAxvIEdjB1o^jj_*;gx+3!%%L<8hg%sEg8Q{ad6(DH{@tz^IJ&Dg6dX-fcc*j-X*+2cK(tuO>uxjgJ_vTyx*Usfrh?-^M8bplh2XfLx|=*K!|a7kg$^w zd>DJr5rStYA;w+{A;#qnLi#gf@wdaU0pqoU5dG_ULfk{_C#>&lL<(R7JwTs&2e64f uFgBh#i*bw>J|h+{^u~=`GG>?sLysGM@uNnvPtRww+1|cvf_uwd6eSzO}bm z?_0h1)-{D7(-x|hULsY3LxlndgcJ@GdZ;*s3qlAXI3Sg(To6J%KuZEb9HN--H*e-; zcC(2R+LF3{U-Efoe)G-DH{bl9d3NgD(D0!jJhkx7e`Nrt0L`mDjo;cNz92O#0QAm zh(VKutZg|~-sO?$EpiO$uF|qB{SCWRVxrf0tO1(s?@pz>y~i zIQ*N)z`*r718>~o;VL~`$TU*{kk{*sIN;wW7bNl}7cwYUuS0q&Gd?pub(&qhdNngP za_$@nrzyo*l6$s=h2}^lyS<%4jKQBEKk|cr2l=6cl0mu3kFt~uY;BVK4esRwe}eqT z2mT?=Z<8N+0*4=YE|BU-i#(C0pUjFds9}(Pu+=AZK1|&-LGh5?Ogc7^J1X^V7^FZA zQGQKIhp?;@Fq98nMt696C=5CQgFXs_9~cPO3rgQX0kJ1Y^~}u4nb#?ZKA}jBCl!Xy z4??QHK1iB+vYB*hh>hywdbnr!&>=pV8RdtgvDnt|o>T@2$sn-FmxzCiFcB9&gCCy- z3tU?ZXd_!-fI9K5jckAoUU#gOoLKA!$%Q${5qlZL1@zgr0QNQkZCney9*u`q|IYK+ zhramNZy$DAKbU&;Yt6qKy7bCrWfjDMb$aiq-daeH4*cuH0^XT+s^XR_ZuqO=)?%S# z8aB@tEyGRn1=Cs@wu+X`k8*X2j2)|%N(iY;;dxUNiq{AUnQ6;4+=5loW9L~;H@_D+n$YjluIbO?lTkcTU#w1s@%|doGmdG`SQBICYw}D`1t#9##40a_*r}g}*dK3(*e}mBc6oaP zYj~8g-|lE&>2HSEyNBom=pA*}Nv{snyk84Au3gExJR|S6N^%+yUB8!WBS;_qA~wP6 zjCm2m?=sM3ru9a*7F9c>D}|EFM@q(g(acc?R(kZ&$P-aY^PIUt(b_eg67a9;keuTE zaLSts!qqki=E99S7gkN?G+oYEm^o`F&Dtq_s8B4=ZX+-ACvu4&63%0&gC9Bpdo-)hsVtv85ws<7?`601PP8603 zu2W-)q^@g1ERto*cIB*4ReB=&yl-4SW|VSfu4FoQWY{ap#_}8viy0wFt13Tbx|61} zIBB?cVI{%~rK;JA^W|~OTAYhD+cw>bUELvaZ>jZG+wp}IquCylSZL*S53P)w@6<(<$BW%)k1khHDoASvynN$ zeQmv3N7W2XwSk3II&9oTL!6N2i6R8UR*Co%wJ)X+(FU!BJdenN)C_#$1dmm^!mU;L zh@u{&m}uThsO#a)_kIZ?SYIm6tE6ZXd7G-r^Y)~gHR4gUhW>-BA(}#oxnQhU)7T7#+tDw>v$@cpi{pH{hBAKv;92e~dhQk*&?06J4f9vS{zxr{YNS7L_;50wI2rGcC8Al!iY^wNB4b8PnXV|aEXuU~G9B^O=*;F&W?7br zPCmC#uE;X;S(Is-hAeYFXUZ~->N2a>dog?X+x?BU=h^$`SZI}+{>j}3`<5@iizm_t zBFN)?NV!N{A&w9u@3Qs6jsNhuHCsb~I2ZOzqUhJ{VH&{l5A$ zc9fmy2w_Bz7L5gm#a0Gl1F=|~0h%%F1=D5A&RpMIOdumA*ZvB_tPC?e#@ajJ4nP^A zw>?L=t#t0ZLg5g*BE+NYiH=Q#wK8uumZEoccC&OxNW2I)%6z=s72Zg%x?cWoi}ziH zw`e$~MuoR&IF7^$$Lp}lXQzhm)Nrohof;m~@O>Jd)Nrohc(YOE9?`%SX3^vNPm$J19E?*X^L}3|wy)uH~<{%K;77+XZu>s+ZnR$Xq_I_Y>8BP_Euj zIyHIvM8fZH1pE2a>(9uiUVjFz_h)>Yu%AtKyhLuYk$#YZ&8&6L);*hdw#7Jo9kP0@ zjf~j9PE*@$X8$4)=!B`GJ+%1sU%dI|&C7{r2GTG8to6byV>bwYhZq#1fB4n}gnIvm z_zLkejIBzSU868vKdnla{e!}Ymo96h^ax9rb;_`GS+@*Jmkr9WblHpyOIPRwy&Bk~ z#QXd(u>1M|HT4Z zejN{Co$ zvKt~_U`gg3;Ku3BVMW6Sn12nJgMRy2(=ODnLFh*wqT@`z7G-|jys6Qv-7MLDWoz9nTH@O@a5RtJ2nC_Y=1tMWD$ zqFa4xH(@9ni+HfPXEAtG3|I({O`3Ph5lscb;^m91ZR~ukZh_ zkQO}?h0;ZQAI*A7#**o<9>>o1ESmV$@A;yYz32gX`VDZW=OKK{fqg0NJh5jvN({n; zh9fFI&OscgiFiLT_Bo*7_ZK`nV2nT48W-PvY-Qoswz0R~*iI)vyrFX9ZsJv9ML6_* zUInD9_KSGm<8)TgqZ{Z&_&6Gg2=8=C)O=sR19F$P{K-sqxI}q=06%NFzpA{xB+5=^5(&@_5OTsO;W5HiLcq9Q zv`pJ9J3Kns#m|rB$9R5DEol}XGUuy$g(8V~EWt+eBNyH!{vCw72){=tfy@!GlMDu( z%oG4R;tKr%olF-1I^vQp%Y#>xp~&|Ir>hV2?cgW;kw=FONVj<5RQB@F#KdHV(fG4zvv9E)X z0BP`p2Xg#28>JXSyo2J9C*zPQ z>CeLrWtQO zml=eSYhz-ld+7LaKAs=uy|H+FPvl@GkAhTb)cXsBHwXdGxIysuGvI-rtp@NUd!Uc8 zpbI>~9iWBgFit4;QWU}!6o@qoc>#R3J%D{r08g$5mSYL!wSVw3_MvCrJKk~qb$fjI zKfjuJ`_>!vZJyW@H@N7|S5gnVb#0IkBp(M4=!T|Ryj(F=htF!}d|rP=Q$4>Xk~tRIQS3%r-GL z*;uC>dF_H}&8w9r+^Mm<+gRuxV}JNaVZXdWhv>_6-lLKKOfAH6-%;4ymuQ%~$K1!E zy9PFFvIlI(sudlc_wJF5YR#z+zZCb4VmTwk<*4ILrV4i+dBFTo(+!7b4Yg3wO4P}v zz!V7-S<-}(wn*8&yDiC3zu!V}%CDz0?z|FNUzv%T|ZI`IoBnx~ZOLw5l`LoH5~BJd*s%pjaly z^m*N}sjse+>9;j07Rjn~7nr&%L%`!N5EY+~9rmaQYjYXOy$taH|PVl(o4Sp5WXhd%fw-ogt_eG9s$srD6>m znSNfk)~$6+&W=_r%aFaO^sk`Yc&zlN8YgVZF?wo+3GE_V@F6tt%2< zCr7mTvy>AnHyGhgaz48gG5F2@hwK&(6#kos=Ng;XHQ_`Pw|VsyK68B~TrUgAY?_-R zo4jZR;x^3#_us$&J`Qpdcz_!?JzcIC`l>w_GlqN~(UH>$eGF276-nJcs@oSC**hM_(98FTDLnJX1atfM343Aq3P2qlA#X z{M#S@zDy5b;B&k@3IcdcJb?GaLH2xm8yZN7P&>7sDbC?Fn1@FNaA?-0WNEMrSv$ljuKhSFZhZh84$$ZmUSFJyPTv=_1uytEez zozNSi7xoZ4Tu+16?BBnsd>f$vFOsChc8~P`1iOEeQ0NU%2nv&oYvh~=y#hhT>ZSFL;KEA2#!`J4h$*wuX`)sqR%t->?5kMNA8f>3TWVOW!SH-rQ4X? z^|~~y9i7bE@UnZN9B2oa?|Q&TKg{a4043-@%3Ai}dkdxR7{)mBUvID#X*=rJ=GvY{ z*{^xFZxdy)yAV5QCT(wHa%;b4f2W|WuLH_Ud+Q$XY=h42KHH+wHg9zAWl9ISGUhmp z`v^M#Z;JNcOS9olqCHK$V~0-$Wq)G$%kQYcH%ZnfHXzmap*$+_W?DGvm1xd%2n`Uma5<<0ZR z4cO@W&l{w@drUX3;u}5IZK(5_&AM%?*gdD=XLE&$S-k2J%Jl0wyL$`X@~|%z_k9!| zAp~GT!{O^FA@((RewM$%lHark->;HW2r$N94kyIB-yRlub1%E~&Qo*(9HTr=i2L3p zLJ2tZeO@NKQ0^CTzs~8b;E_cTqL+*JaG^KjKlxFb$2;&;2yEvazg? zXje#q-4Fqt*tY^C4I%E!x~Pw=lr$0suCBHUgWWiCwgfQ$bHa}Z-z7WW zAk0x5@EQ%GB?|F=dxtKe(HC(3j}mh7IntekxSu{q2w8^+K?5JgTnFLj2MfSkcu!w%pPDQrV%1Usoc{%9eT}C8 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.54CE329F05A57498A425EEE7FFB92A53.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.54CE329F05A57498A425EEE7FFB92A53.cso.pdb new file mode 100644 index 00000000..1e567150 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.54CE329F05A57498A425EEE7FFB92A53.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a21c23e466eeca6cec65fbca2b9bbe56ed3525eaebe0c6ac709f0dc0c3552fd +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso new file mode 100644 index 0000000000000000000000000000000000000000..74c3756f4ee8a9ed867365760620182ba7bd4b38 GIT binary patch literal 16876 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 Cd7|Y2 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso.pdb new file mode 100644 index 00000000..363291dd --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.63E4E8675470AA49793AE6B8F2EFB412.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b48ce6f526f69a7d55c0dda13e7d6c58981692ca0ad1b3b80364fe629040fa9 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso new file mode 100644 index 0000000000000000000000000000000000000000..f4c64fcafbfc3158c7c15cb4f2d1f532ac7021eb GIT binary patch literal 16852 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 I+%zTs3lu1dJ^%m! literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso.pdb new file mode 100644 index 00000000..7c127abe --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.6EDA9FA1D0CE763321BA160FE1F69436.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cdce244f01d31ed127a4851596dff9532c1f1157897bb142a11edb8f30f56b6 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso new file mode 100644 index 0000000000000000000000000000000000000000..066077af04e0ca62f693e0ab1848ae06488731ff GIT binary patch literal 19288 zcmeHPUu+yl8J{~lw(nx6j!DvxrtOd#bZ*`Ap6~29Y1}yW`Jb@k!{>&mvgDrc_UvoU zx7O~SYlzd?H6_I)R_<`1E?c5f1F~aNQQbgB>2ObW{AzJ3U;A92a;>C;Usqxbv6LX4koF%^J+gMjrfrF)DDk7ID(|g)0#UD?43W%3@b-z$0=_+$_BN_vVtRm z?>I1zD#s^wdGd)r)J6O#D@=9TA$`OHBlI8|q-L!22M=@srtAO=x&VU>kUr7n*+OBk z3ozJ3VF&{Q0sAiH6*e0Y5F=#+>4g&u=P63fOvptFHBnJtgh8n5?GWmU`g~SOr;?*= zLLZ~X`o^Akg3qQW_~EEwbc7Ei(HvGx` zY=HY*cYHHBIWe~-ALbxWd=ru8)4gqhJ298Iw=HyUYj-{x3w-B8p2s}&!(H!|$9}gl z`%?EWe>C~Mzx`Hejx;!(u6!e259!H%c$-+@D5u4EZ2|sN`0P{RaM*F}a@M6Ju}YsS zyX$2){Oxe4SSXnpo9ByG#!c`Q(^?y|ik8ifa<%?7p4!SKn9_w8O^qkkh-cn%Gj72u zX?*>4d~qS{#Ad-UG_LqfxndeuqK-?5ns(A=(agGLPU9RPPN|@$e#&wRvSwr}wYc{z zm0d39^R$nX&YC52x|Fv_kZrCM9M`lX%SI23<_X(O@KXizg_LbQPdw|H>=`SccT6{u zHKLn6)iNbp9ZRB)rGb>8I+p3u2Fj}w6zi{JoB5!LIo}VmKYtQnzkimoA5YVI?_tIs zE(claU9{Oa*P6cG!9^->(5t7#{WaoNh)xk72B!NA>LKfb5v3v$x3 z*D}Qh-0}Kh{+SZKI5+3tq966_oOz1Ai{i_!f2tB&)Zz3`x(Pc~N{m~bzUrIiep-!DEna&LYy~3iXkg;gp zL}r**YwKwpRRcX~0}HEsnBj>RF)Ym!MGP~T*K;2;7xLet4h=uIq4CP z8u=c6yk=7)Iz)DiqG{j}iyA%D=9LAuX70Z+bN>J`)}Atd^_7uO!BKmHgXW{8rD!~B zXg2lj+p~XfgEk|LEEk3jTt1x3=BP|ll(~#DmuqGEb6$1ep5qVw)d*DR z)i1pMr^LoyFNg(jW*=5@sewQ zi{U#3Gd#{Zcf(&qWrz}}i}c%Q@8J@K1MGrekFuwC2MG%?@B0M4ThTt2+8q!#1Dd5A zPrAaJ>D2xb2?$WBC|==h8cxl(innVxwnY>_PX8}a9CA4M3g4sQhKBFg@PvjR)Nq{5 zDLGujM>M=!!;=~w(eNn^@73^>h8r6GoQ5Yfd|ktbG`vDM-V3gK(0lP_poHCupjVLI zi!OhJGALY^uk-@{F|Ays7w{1cpV8##_EGi+ziuC8f8e@(l>LG0?~7~l_4n1S;rjcE zXt>@^$Xr!@^>(sH!}a$5wU*V{Ahtxd4m-RH2G48104ri9&PWgoNr^Hg^psNa;fDJg3}$9H=81%eND#{2N^oZPSX2r zVIPwi)Eiy8GjR0f^81J0TzL1%_Mfz#eWftK*fqkr?C$~M!d)rQK5}~~e2M&TGFFj3 z`#{E}&$@{R>C$HlGA@0#N%7N^E`9c@j7y(gka6jYyMW+-%fs1anJ#^HMaHGi{wd?q zC%qpgckre@bo_t*{fG2Mdl4i9LlnVl`Yfbv@YCI-Ko`E{7+=ws!)*UvoDZVDyI5Oi zD`5|kW-YS(&r+_R_lseHoo~kiXh&#VA-q>=0AacXfOd8Lx_3I_Dp#ZA5J=u&cnp-_Eeeuf;o=+A8ocFJz6-q)qhO(JjgR7})&MDVJ8l$zdq7_b|4-!Jg3`gd0`&jyfb2<%3k zQ3s`S)%sFD+^KEW^uy)b_y0%(n1&IHPxp}p{5@}PhuGiq4*7fDxaJU5V|8s4+28Xf zv(!E{_uHPg`dN!hp9L&Cbiz~u(}8VE`uq=bpZ%oC&bs*@6okY44{JowJ{G_djaCKp zI}fplz+n};3e2bNV}WEmnVw3{SJ&N*YR(yZ&VT=nEVKPF-1j~Z>br`*-9~FaS`7$y zCp6=CLWnQJw}5Yf&&>i|?5pDJ=_Tp(_b@i`tHJA4$Mni$YI`c zlpF{H8WwH1u7orYe#>@<9OgM7|Mx4N9ni;L2*t#`j}8`obr*Z<2M^E+5ND{I9QOMw z

    4i_hl84K5P&Am;#*E3J5C-(uuHGJP`04r7K>QE)MleR>>sb$zMmWs`SRPg5teG z3hE6R;KRHXq%in6vr?tqjcZNnUX{>CDWxij3SPh7E-LJWk#biE<3A_&3ArJ%<119x z6oo;PbRbe8ANO}IQwKs@!1_NzjuS89IIG4P&?Dr&M6Qe6qvWuUK!0{a^uN92quo46 z4uAgueGq3Y=%4u82#|@tp@F)nz6-f%X9vhVM2>!vLZ_-e-DwN(J1x+c=Uc$Hz_zi# v^i1+3#&MkRn@4g3`B-c@c4RP{%Nc`-%z$aoMcS;H&kx4q@#uPP8JzzGpC|sf literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso.pdb new file mode 100644 index 00000000..1ed87356 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.7B6CA6E5E319B7DCD804E51483B1560B.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e62555e8194044eb6b53dc0c5752ef8283532eed0bd26f610158f92f7d90bd +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.8041C676881D61780106102C13F8133C.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.8041C676881D61780106102C13F8133C.cso new file mode 100644 index 0000000000000000000000000000000000000000..25410f6ad61a9fde00b2c3f33039f3872ab55720 GIT binary patch literal 19116 zcmeHOU2I%O6`pG+j=i;0J0xkEr1YvaV%@mwyFal_8#k`KabjdAZq|uHWhq_n-nF;g z>|Ncv>zYE*Qi@P3KmqjuK@olELq$LW1X9~4UWzJI5D$H!t%Ou~=nIsDAMsE%eBa!e z_4Q^G1<@!!z9%`JnQzXVnRDjO-1)hiJ~c7dEJ;{)cAnaqrtSfL z)(%ydk~;_mis}caw)*-hukB%**ybtao3?Q!9teif?b_yuvVoYkeQKNU1C2?2z(~ZN z(S8}1kbpr(X8z&%7m(}%(@&%bnD%Q5#x-`OkiKQz|1V|c(i37TIPNEhCim?#XERgg zNX)W&BD>QWR)U7J?e~ITVH$L|AB2Bz0T2B8Vn`d=1EY9`H?sX3-FB{ZOt4%ps%HU# zTsJWQVK`4{*7>-}f`JoD`z?RjYb-9N<=)+gpQ zuT$T9B-spU@i4rJJm6%jDRaqo&P+Nb$2A`?_2$!hFw#{jmhG%-7D|vxNU2QmDLWt( zZxTvMp@&zCo)wTvG)YOJX)j}!>|E8(2PBh_l(nTyf0I7vc*SbbDMJPucfA>YF!J<+ zkw|W_Rw&?HB9pVr_H?=6K*+V1ieA-rql?x+`&p6$*%Ge;h6(wS&B03!1a zrJDtt&6p^bN{dc*=7V-o`o+8OWTZ*=h!;70XrgP&vC; zYCYu5mNP;Mqf?gD4b0oCc(enjcv_%wlE(=J`HghipDrTnO+8ktDqDlITsRl1`FA7E zg>JrBUTQIMCz|K?IlMuRI_{ZlsfBd1d73{_<{Rho^6Tb$GgHjlC-GjCFXP~=Dz$E^ zH`8{dy4+eY9(Z{q%tt5WYjUP|rdaiw-U_K;TNCmnS#jK|8rbVc{_ zmu>G7g-KaAU(b<<|0c(iWFEGwv$nT9o2|OV)u>r4ubXg8b7h(nk7>$xwrf{wZrL=e zZno@I9M6vWE07d4>8Kfv51N+$e_&AMn^7PNUk@t$5|H@7z<`P7KFt=dIK{kLdCX>u z<;%8o&@>&iSIwIKR01n>M4F*ev8IL0nAvEpZ*@#hvap68*5$Y;lN~Xp+!JF80>y$E zRYmo5IyPonwSh?2rG@W9POKoiV_l{{LpM~*WK-pV`M4pshBXQM%g3=s%hm)J!M z`GtAMDR~QXPQ}hI9Jf8E=H_f~!M_*u7SfPfn#;P?Vym3KkNvQ7aXn z93B}S9gU}l<0GS1+!~HsiOG0!YBZiqPR4Sc6I(8MB_Xm+byj7a6)Puyl)wGbp2QC?fX~0^A4|8 z|0kk6?}v2A!ZmOdOx-WfPIf+m`(Wl*RUU$nZV(UfK5;@E=<8(%84>hTxA@zH4zKpB z0L&j^tk2+xo+@RRJYlVlTBDW~7lh`s?vh;>91aZU5VJ9Huy8BU$=*NP=5-Fw7eClmv>GYPX%z^L1;YaA2Wal z{iFTHdV~Jaej^_27ns@5AM6+1Uz88}6W=v7j5RIcHzo*(LI_52VIK0o~S zW=hQVJ&W*7KKp3k7SYw#Q~yQB_IA;=yJvStPq$Tnp;L6t_mqtK*^X|&nV$O3+oN4O z+Ye|7bU>Rpihk)3|AZR0n?tDAu!6XC!_&o_} z8~86^+L#uiu0rvuN~=)nXFlseDEd*JX%&ijqz@sjLb0sUDimK5CvP!EE zcHITud)bgST+P3KqpiJQNh-qUbCZHLYH-_cR~nd6Dv z3AVtbonp_9afFoU7XGo1_{W9w8t0mz)5jCUzl%?hdUils`d)8&#Cc){ux`QKji08> zb|JSUg85uem_qG!#06Pq99X|t+bFOOEgKbq!y+Y59fP8ACX}cAJ!10?e#h1(+k^B9BN$dbS^ye%7}obzWDjQ5H70L(Y8rj5SJ(tfz{ z!r=Ok>lW@EZfjcqvG>Sa|LNZg>=edMB<22mZSoN3iG_6Ycp#ljXO5(gH}-+8T5byQ zSlIuqJahA7{Qh-!*U)*6?M`eOID3;n2{JzkC83Vc1EB}5nFqFs&&ad)XHkREIFa|O z({sZ$t2|VE-92!nqo1(o|_w5w)xZG z#gdbI!UqcYg|Iht9q#hEF4e#B{j~BHCp4bx-UH^khTmjRhNOSf5`Mq#`-5Zr$*#D( z_wNyrZ*CR8eDQYd0B4YGf(OBMuqJN$?$ikt>h&V;l1%Isg4u1jS^NVJpFtM#wXBZ_ z|BX|2$~J)eUyq&F`K@)~%vu&S*s>_y19_30XcH+rjMKy;U(GIUf0YXpTwzG+t~4^EdBo2m6-ykavK24#DSa4|q2?q-)~= zJ!f7U?V;At1EB{(4}=~FJrH`}M)bh+O!_F-ar_cxcsQPlrwZ2R_UA|Psl?*&Vj-VO TWefZB!}dsW#Ew<+iEu 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 P;>!ckWMrwB2j~9)`v^W3 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.96BCBFB5543D4357E250741BD758D684.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.96BCBFB5543D4357E250741BD758D684.cso.pdb new file mode 100644 index 00000000..eb91adbd --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.96BCBFB5543D4357E250741BD758D684.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4daf332e2519ba2405dfe1c5ef8279e64858a1dd1228280ab02da590a7ac93a0 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso new file mode 100644 index 0000000000000000000000000000000000000000..b93b21089a2403289ff79e9116466f3b72dc297c GIT binary patch literal 19096 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 G$^QaAf?KNq literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso.pdb new file mode 100644 index 00000000..9033085d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.AAE2DCCA9E4429BEDF7F5C12A4918FBE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58091f846482fbcbf5609f055ac8bd71c2cc1da63e45ba26bf2b26ed09516ee3 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso new file mode 100644 index 0000000000000000000000000000000000000000..3f6526a4b207f627a595e2babba291c4662c8770 GIT binary patch literal 19072 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 U6wYLOwQQtc)1#qMHVw)D0|SFWkpKVy literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso.pdb new file mode 100644 index 00000000..cdfc7c68 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B7B90948D23B69401E4275BBBA5F6021.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d812deb4ccc74c0def7922b0b2e1ba5acac3fe81ec4f086b484f071801b7d67e +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B959A091D6A562E3BB2A4A86D8938E3B.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.B959A091D6A562E3BB2A4A86D8938E3B.cso new file mode 100644 index 0000000000000000000000000000000000000000..4461c49cb1e127f24b8eb7272bdb89714fbb3cae GIT binary patch literal 19116 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C631C6F1C848D8407BB4550427BFAFE5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C631C6F1C848D8407BB4550427BFAFE5.cso.pdb new file mode 100644 index 00000000..9e6bc1b5 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C631C6F1C848D8407BB4550427BFAFE5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91e728016bd81b2fdcb0bd66e5cacd64cde02c74c87ff5fdb12a81e95ea68038 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso new file mode 100644 index 0000000000000000000000000000000000000000..9f7cdbea50ab7d4c4b1a1b51bb4b37d382aead39 GIT binary patch literal 19072 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso.pdb new file mode 100644 index 00000000..9f289f92 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.C7D9E2F6ACF45D7DCA8F8EB92111BCBC.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbc118987e34a5b1b483329378d96f9a46dc47c4aec602c4d9816c06334a5547 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.E757CD08237F5B4A4C260EE943E6A7BC.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.E757CD08237F5B4A4C260EE943E6A7BC.cso new file mode 100644 index 0000000000000000000000000000000000000000..2e91a1ba3ca9c0e2c9c922a3ade2621bd3c5f005 GIT binary patch literal 16852 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F0F89BC5650EEE995AA9D7357378D280.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F0F89BC5650EEE995AA9D7357378D280.cso.pdb new file mode 100644 index 00000000..f48260b4 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F0F89BC5650EEE995AA9D7357378D280.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92a04421fe454821da8e44012c12afd96cca56b348968c333adb7f84c87a9edc +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F2AC0D1822C5C821BF888C0AB7491E5E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.F2AC0D1822C5C821BF888C0AB7491E5E.cso new file mode 100644 index 0000000000000000000000000000000000000000..3c6b8bc77ca9586b73e5e9ad94cb6690fa2c724e GIT binary patch literal 16852 zcmeHOU2I%O6`r;8V{e?)4o+&46h+8)XX{3ZS@t)-D%$zxM&Y3g+GuMf;1B0`deiD;EI`a3q@6UekAHV2-F(ibzdR&N& z2%iVO1uTGg9eATbh&LOBxQzUX#L#dSc|jn*Sby_Y=(QzPb|MjtlGXu~z)s*EU<;5i zme1IhW93}gIngCgj;2OsYA&5MZ8>Pom+}QfqDCYtMp7qE{RaFSfK9+Rff`_rf{iek zbeO4tbjBMIAswbGAf53LGD+9v6|YbKDMAAEk-p9k-$qEF4WzI4!^xqugX7~936VN8 zea5t1b8$q)M~aS{E@n)mu8gA&OW>z0mY)M^&^9~;0_l`ZAf53>IE?gQ9h6<0g!nq> z1jUDtJd_i(DLI}RnH(8EC9Yh#k~%qbmdr`~90T7=O(HZ66?SVYQbI5uL!9y$--NssOLBA$Fe#T>nlb`VcKR%19l80rPw-43UWg3owAeN2>aX-3+ma_pmsb|=?qv045 zRRDSGwXU#lBWbp;b9k#~A8Fs#b{zAB9Dzxx$>Wo6Ajvk?z;+1&?Yy(7oPFePRx^O%9=*Nws{CY^_PB)6b-Ux}`pA+K3hdA>+BgCJ!Hi+bR zLgM|sI01S`-N&eB*G>I29&lW{oN;B!zf&rf%5G)w#bsa&>-oUYV=g9Z%oJ({kaw6K z%K4%zhl=T$f|*4h*AnB9sIs&TS#uHDfr~E9P`T`4apYIh32#~nuddB_+4ZXvoWOe3 z3^r&LEDkhn1gjO~s?UYJa;?pUnRxXyf4ayO=T38HCcbK}$9Tw^XUvSNI#zJ0>RmO} z%Y<2S=V~)X1B*vYo*PihgwLt7Hakjj2VlWZAAiCaXAKsjQUpWV)C&vqjUn zO<-K<=JFg4dn-9sRe8d6$4qB#EbZF)#ZH+ou9_>PTo~b;A*EWgZPP8=MJZi7U35y8 zV|IEwi(W|5QP~;omWKDgtJ}|)ouK&i)kL3u8u&h|?)jFc*N7RNM*5xYOsKdT{B5W2qb`?uynyj#C zifV)Ad`@=yiu9~`_^>p}UE$_ca#Wi?i=0TV$_Q_k3)mfv&~L#X*sUC>{5Ma}RX4F` zLU#?f`Sn#k^L(XTuM6mGOwQp?vli8P{{J4h`N_>sc#wO6k8#HjPUXsl!gIDcQ_dH% zQ6wDJiIZU5Oo{lWwaVjz#J3eS6 zqW!VhVBcVWEIKgU-`_uI93R-2#IOlG15cbUNzI&Y8+m zXUW&eVKzNmDtkI}v2@1BQfH6|rU%$UGB$R=jK+68vNaD|PcmN}x>*pb;!)L?;d`}z@&$qR*fkI)l zQ;Yc5fDTt)2k-uRF2q4`xGlsHJzPl7I>K1&H~I}DDoC14+q0%C7M$t6X+u$limv?) z!PSOtcviHwG3@X!BQG)mVAzavX9;0QTvqH6aipygv}WP0GUU4(Y!}J4ka|U5=gXl~ zAvAp*UduiC7ZF>bHwEZ?v(@}90Xod6&|3ra_5i&-K$ih}M}Tew=(_^+V*$Dh(37Ck z4;x?r{NQa}K)V~z{s#CVC|{z0rU&Kk3DEZh^m0sV{>}isJ3tTmLHmb#gMQHdAwB4a zj({9~#ZW>zqdNtnC8AcJ?(GxKT9k*t}yydy66QmBP}+ z7K8KIDfnuGxDFQD#G%m|nrZ&^-s|uF`{-{Mzxwvs`CtA}h-;v~1tf&XMMePiTmsVm zAt9FhP}L-X^hMASiue3{KNMH}v>%F({j?v78-Cgkl}_qy5YGU2Rnnx@`uAUyZv`sw zBQYe_`J{TV_B^oZ577|bfK|r`qfcBy9}eRckbUCTEpI~RxF#|6E(vbnXS3JbH}uZ{aha&D+4O`kg*EiDlA4ptT5|V!SlvwhMh0@@U*sbO`?# zB(AA)r0o)cTcZG7ipu3smil*#_1pLzPJ_~q2w;y0UVDj(?W}vNXL~QpzUbS&PL<`Z zQ=O}Xw!Ky81K*1M9g4QP4lJ+jt$4tRZ>n*= zMKrZGf%Y_JfsFwf$i63h@D()peU`bW&^p6ocT?5+Pcw;J|GBp%Y!@N*eE`pA zD{c_WUT*#Oaq&PRo=BZcOjOP;wd|Hce68O8wLJ6q)A+sLj^>_aj_oFFFgaBb9|Xt; zA*3#&?t!`o9-0TXiZ83X*9*`Ps@%wW>h#?3(3IB&KXMP;?dV@`|3}_D58Z&fegAtI z+IvRx#q<0^Q}h(m^QI$u96Qr9XYx-dX9`y4yhq64FDad#NAQ-*eJSttxMw*CByd9G z(Tg7)Fpt2$W!MemK8H~Me%bQ_$N0<5QT6V-S%iPEMf~d0Q#b*RB3lBxflELQJoJ5D zC;YIoUqnRWtPsp@zzfwbUQ_~j^sVqJittvPqE$4Je(v4KawWf}EZlFZa-quKsZb#I ztpwIZhkXCg+8)Jc4f?wZRUh?3%K$XegO)(t%X47X1{U3+}9g7deiZYvA+** X1M$9eE^f@E_jpaBdr4{ff3+7U@MR?TFBa# zW93~Lndp?KM$#iPJ(tOuwj8wP%Y`B$F(Voi!|9V_AA^5Auo?IPPy@_SumJ{>4l@;y z&iEQcNQdbPNM}5ROwx6E#p~05hmb&hq_6eEKOiK~2GZC0;pB<4gX7~9Ns&G?ea5t1 z^Ww0I50@M_Q_7l1T^mOo7Qs(hEI$X-plx^o1kx#+Ksw`V;4spIbx?L~6yhz=35pLP zc_=4nQ))atJUKi*Cazt(mOgdjESXdIIS#%zn?-0ED(tp4q=aBRjyUBpz7=uG)N$Hm zf__ta{EWvDCqLr@etZ^HB@fFo?+~i3%QPJaK`g$`UoTvIy%*g=%UKVd)HCGU(R3V% z8i2fYT36V&ku=-aIkeTYkF=j@JC1uoUV};L$^Oarkz^ZdV7ml?c0UT}e)1?~>hY#i z$pHZ)m&eCo_uzp8ax^_8d!vT2DZDe8W1mHd!P@K z<7%$|YOg!@7ZRxURS4-11ZvGb>ajS!`M+U~Qo(~K?=Hjx>Ord4~d7tT_ zQYg9dL@6^HG?O8F`V?5-{GiKIR9V@t0C00!J zGHI6Gx%!N;z~T{?=LXa=IZ~J}xDGn&3YkG$<7$yCTejMDwh@^LRc1oE04lQ1=3ORr0F`6lq?rUk6 zlossuCp>S8KrM7cRl`q3Yc?{+WYt=))=@n_qBiufE?3<~9rN82WwX$+D_E-2WR*=* zR2#Gu@-pHp(zE8VW74Q}hFez1QEmP*a-#VfBfMEIV0SD^&+|vc@B_Q)Kjpr8I-RT?gbFYMr0k{9+=W>@fRWGj^AI%PTjBw}Ck}{Lx3sZ=LSeL1 ztN7P|4wqjCAN+bQ#1V09ONb+SsF;~`gmJOY=rfF%AZapV&zi1SaHbDV8;WwG^Y!|65A@z#B)|W%6 zLTLJ0yq0_NFC(^0Zw}D;W~=#I19X^CrMCs>?E!jwfGz{{jsV>V(02#u#{+a3pr=5m zAJ)SF_`%z{fc7Au{Y~&gP`*R~O%KZ77ohJ8=;fH!{E+~?D?ktWLHmb#gMQHdAwB4a zj({9~#ZX2%q;dksrb(;!@4qPD22|ij z;z+RHH(+&oVB=q7A-n;rjuA$mxPm?$#w#HE#NE5zgv@bIYz7)Y!gjH1+i`^CXcg+X z*dzXZb4k;=7ijkAangT+&wMs*1GnmT`rIUzNDG11DtL=mqR(~-z(N_<99esNE#qJ!R4<9xGd zZfgeZCCmaF0y2>OQ265eXz)iY^H8A;hG)hDjXN)1fHdyBsuxO)J1^W0>MJbko|{5_ zsl^L}huwMcN`>G8xrfuhZ6epMZ^OPTxc+k;=6-i$&H7I}iCq7=wfvdcVBD@u+WR*;$U-@%%shVF`7VbAyxlr}*R49=9Rs!py zL%x4#ZBOH~2K`-ys*n1iWdIuKL2DrHDe}^XI@6;)F#wdl4bu?^`j@ z48(c&BYEUdS?21 T%%0wO_E0=)WTWNW3_1S~EvJsO literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FA071B919FA56A0FB70F4ED2F802D474.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FA071B919FA56A0FB70F4ED2F802D474.cso.pdb new file mode 100644 index 00000000..de9f880d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FA071B919FA56A0FB70F4ED2F802D474.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:446a5036cdf97d8b4d4f743fbd5d344b89740a11902a9a6cf302759271111945 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso new file mode 100644 index 0000000000000000000000000000000000000000..3aa45237a661ae613e8c500c3b2b3d335e66f2da GIT binary patch literal 19108 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso.pdb new file mode 100644 index 00000000..5f0ed1a7 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleGeom_GPU.vert.FEE5E6A661D8F4453A0120A78702157A.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4440c7a7db7f3ed0b631b2430dce0092c99cce6b1a472b3b34dd9c941a8e1536 +size 17920 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso new file mode 100644 index 0000000000000000000000000000000000000000..a434eabe12835ba057b6136de2380a896b584a12 GIT binary patch literal 40848 zcmeHweQ;b=cIWACS*T^Tkv+y=2zW3W)3Rl`CCjz|8)Uoj*uloa62t)$+*Y@2&B$t{ zyJZVzNcAwD9a5n(-V~Xdq)5d{NQw$ng-XqA%_gMAwKcm*rKk<5BH7&xTe~yMZt(}R z0cI*oswlj_-+kx2e*L7D?SYB;=nGfposWC&x#xbrzVAAFWcQw_RjVg|c<@L6`G-S) z^~&Ep^jm9VB69BcM6Lncf%tT*NGFh!h~Hf!GPYLaDENo7ckdkmF9DeuBrx6wKb-&m>HOq)p)4cC@?>SQI9-;}$;W{2nwuJa*k$t~I`z}N7dD;g#))9bQpne3a z2ZOJJe(o~l-h$kD$hG-uq>b$Y!SopH1^v0pkh=|XFG7xH0my*{`W~1poEa$=D2!K%B{h!yDF)kOi`e$>U|Y5@Q#q+AAKX1VF;OTT zm^?L!4(SRxP}4)tEF9j~GR_oB6^;V3FE^bpl(TgMB) zo4c<*^B6fax_@l{p?ldjM)%!)WZ!a@B_g=|%jdHXo-hDm1>cAEe)BRx=zOYR{B4I_2z{Ha!CQflgok81h&WQh&?{sI4*Ta2%|jdvq>mUf-VDEuRl zU;7Vnsebjh*NVxsE3Z|{SEpNfrklLoN;BQY3+sLdGAz#qmEHTRK^c>lp6R%5LHSxJ zd%LCy>#;IgUbK;ZJOCe>ZnVJ!bx{Y}Oj`+hDD%J)-^Y8O@PJ{xgJ}E&o}>I5K-(s= z#OzxKzcN5q%<`aKge3D|U;So_U#@SS^{TrZOXMa%q`c+{{zcdu_hk)ck%#eEW(L@G zjp_X7YwObuh%6&-3FKC_cDj6+cYIjnh5vZ#c8eeh>>v=9#dNZd(oUwK4b%gj?WWW0 zq6~S!T^>wl{!+T*w^luHL^dKu%Ndqitelh!my>wdUbAU^vff^n!R!o`X`a1SR>H8o zmPcLtP@fpDu5D=DU8-F$4MNZ^XgAyA`d|C`wTtx}CSMV;wq*S{HtetQ|0vYgt*))T z?Jae>vD3=Tx;CGif31y>$MVpZRv!zs5z|2!_Ib38gys6RpU_vd`^?K52h7IoBK?Fq z!tIAR@@X?)1a0F94;(k127K0il%IA|exD_uHW1RL_W$zP9q^MIS2$iVU#H`&2h7(E zUoEAN$q$bO)El;weDgWyIP*CndFFHTH6d*!&wS2wQJ+%IbS>sL%7yJAzFo%x7mWq*zjQ-$D9XQD{m6VC?MK>gg1P!q{mA4Avx|&BbDy=JpGTiH8$)BN8(VGeqy3y`IQN;2YWSJD?XwV>H}^4}&2QE(3FE^eKWX{ST^2zK`fqfOq&z}UN7!3b zzv9!JpGB(QLmsZ*S|04bs4G`)?f=ftq{A-(J>*A6V|vp?S@UIU)dS|Q+u4@>OxsZ4 zlQw@WK|Q2O;9YWjNcc8T=OFZ1o!GvK?T6*s0^V-T%i6N??!ws8%Dh-U*cp@wc&r@} z{9r#9ABIpQ7@xMrhwXjW46p_@Kn-VA@-?nC;Dy5Ivho{>iy?Q7NjAaM;rdZQ7t zf6)K$KsTR*wUWMXAdPL^`1T%xI)l1c=BG6|@=T7l1oo;NNG?Ao2bzPLAIn2O**k~$ zFu7H%%W4t!w%dD%y_!BG_dS!n6Mh>V+cowyG%zL+8Q9LgfXM#I^0ChlHVWDw0yg!~ z&JP+!N3y%+--O?H?b*C%<3{h`=w5GoUnY}kUzZ(aCU7GCxCgOU4IRdFGkh{UaDgvO zo8eRI0gPuZy#J~7z^A+5+>>~S{QaAO-XP?>qx%)2&F~5Jz=yGx_=LLVQ&Fs^`}$+m zAA1vA+WoKJ?f>QNU;onnKm60*O#j(uUU(U94%#-#lBBLD5ZnEa;)MRH${OB_Fn-Y^@Nk*~$%lj>*_J5_0y(G5J;e$o}|uu)_>q6?}a9&L_dra-}po zUhzittjYAuY^D86+UEznvBKP*B96|K(W30sNCrc~?BsOCvn2V#9N3}rDkcz|S;_nS z0MFjh{`ej3?d|oMADXRb?o*S~g*J z-B~Da)DAL2s8l#HS*{dH>EoH6puo+sFg-r-=^YEvEW*>@V0hdfaI>GCikmO_STIw1 zwG(quu`O;KM$@+z8O$?0P+Qk3`$MhL3muYsXkhEMha-CZc>rp6KUyj5%I8Zstmhy9 z^Yj>8Sal@>Q|C)s2Vz$bI!C2{L0NY^xK3_hK{@{bah>262nNM(c!D^bv)6pkUe_o{$4NR|KHPV<53zErPmXcK95LxPfw4Bl0V+=%pLH&6NSnnrCfe;ww!iF zo5__bljBo3;HL&UL9Z~KJ3dv&dpo`UzRZNJ#ym|5vX?76$ut%UIJE8c9Vq7VX)m3w zDeUn!c!NEjvmj~ZRy)$Fsn=9eSTp4i{W#+3;$+@CT&(0Og|Xc9i2{yzM{Vx);O-)v z>(p+6TYW(kePKqwUrMTXNd`S{1}o4{Pn8c12FADQ)ub zJDk>oCKu!b(|C|`HYiGeT~5=bQ_kXf+5(FEEjC%kmNSV^k{nxQ@Qcz1d%Zei2V1X_49X$7MlIL|-wwy3C^?zF zO#cM?cZ1ABB|Obai3n~oi(%X2K_%CSK~wZ+{9x>C*wcfyr>h%(fr0Y*553-k9S>%~ zu&_(eHgSG%q0%0igEl2!*cqAk z^UalsrR!wR_?`@FhQZ^rr4l-7wnS?~^N05kRXq$BhqO;j>imXL&L80*7aHzr0~0zG46$CWHJzcwO5;$={}&K*eWsBZ za>mJNUApenfxj zj!cx_ZXjuv6Pb-yCY9R;n8PQPPi>3b`-hf&E@J${v`&!UVn1c$NwoYK=tIMWu?lDwqt+v_AYx(Nr zSC<0Ab6q}>$FUZZK4u1-Y3^kbR%%lxiw`}FgdZ7Vl zuvt~PO4|EKRTWm6SJ>GXtlF*3s{L22+VZcID(Qi~i7V-mb-f;ogH8Sxm}GzYcgsIa z6KtNN73^%WqC?L4m4To9U~Y1Hu`L?k8Z5j) z(>-@+|1s%*sqTN(3H$B+mJ(pQAFP2yH+Z!awf7`-I(5?7i1#P{+oHbUrFGsWB<^!` z*MiM3UWXJ)cryZPw0Y_eW>|>^FRqcVYpZy*1R>WXYJa$rF^^w0*b%9DbiP_i{kJKuhEK6>qwm=)m-!W|`MURSp~hhej2-evy&Zjz za__)lfHr&*etx;?WqALe-v1~5kpC?1%aC2SADx(;n%Yz<9G{(>${!so7N^QbM~X9r z{L#aOa&fkVYa)*N-$R#=W+8RLwh`LYcK4mepwO4uGO#7Pt3NxK-L@^eckiCTfq}i* z{@b<=^bhPE%pH(ul9H$N-(V}{M z?MCN)AHM!)I_V3e^HKBK1h? zii9NNsZ8stj&HpBekLgM{7LcrP}xx<}C$x4LElJcBFm*)S1))q#H`z zf#>RrNYb9jw6-R)sT&~m#6BmMUPSC*O|1I#f^vtPx@{=K z6EueAX7IQAlG8neG)Y+41*_YZb_0upc_eku((cslcp64oS~{xdx==TFrtXP-CEZ&6 zAu4BQY6NLEq(<@grc@8KcPH1S`spL+2zv<^DlF)w-qcQdDS1okPNey4YCm#2kX)PE z;rz8fkxed3-2<;)o9ZPebsH#&)GD~h10HoCw4qLXUEAULcIdh_br9*7rMANZ-KpJ) zCwfy|Ov<7H*4%n|iIX>{?sPfdL))O)SCa|6erYv(Xv4k8`KHuXxU4JLnc4)EUg~xf zkcCZvwj8ZIo)}d14Js(PHT4Uqt}e*mnz{}0-O1}=o~tU?H#*RU+r;*1{BdaU&cS}` zpWJSdv#xKnxmz-f&i-$78(%2T{%>@SFSn>3_J5!L)Uw`|H)EA+j>NyU^yxUqnr%Vf zjr@wTxQQ4uYyI~*XXD9b=aA2H@fO_g(<09%Tjb4DmmFKx;=YsO7@Kl_u(!L5XW;Ai z$NUzI1uA^wo_1bJehBhmKeV*a4?{8>qBCEkXG3)7XO-UvI_C_|J#7-a zf&q2$V7_1;L(UgJMX6WDyW-hIe#wg%?z1g(sUz|#sGR@Uw)uHqo7BBrUOW?Ut&Gg) zyDp#J*l>u>vKT#FM%IzhS;kua^}m9EwP*H8kx_(Taj7R&J(Zl7YokssK%FS}D zK?91(EAe5NZ1ur>j2TDxI;GCI0bU3)S*svY|;>o5LWk-9g%i<=PWWLc)14Kprv)#u#$xUC~yJqNp1rFvpt zTgkmjY8#e>t!{PcrEbNVY+1@JQj<4g@ru;R+fsY6%DWdUyiDp4_^a@=Ce;m{y^#GJ zQgh)A#RulCSuQbGo3B|1b8h@PA3KIJ8l81u^n8fUamDB-Lv%N;;N$WbZf6+|(cSo@ z^lXUk#wVq-KW?bCCt!<*u#HdR!@-!mDr`YUr*5NHLUh__^f}PO^?7ndq&~m?;+53r zlSi*|efoP;zh7TK=ZInbc|MkwV<@NbSQlX)>(zMlS(q2C+he@+0dLvDex^R7hy6@l zMyH>D*1CNKmk+Q#h4Z9tqlfck-5Nbwx7n4Ey8ZS1mDKH1ogbmPt+=`8tp)2g%!}4- zm=~?vm2N(nU$;gN`Fy4|4T@EW{#!BsT=*pGKDc<1m9 zwBuwl)gL=I1q|(PH^!C@$UG@K>dyS)+_^iGeL6QaTfhYxiv=57Xv=%hg>{D$H#+-* z(ObYVI{jsIbjyIw8O7*)&&9E*7F*?~pshjVjNcji-spX=wg2y)?|k)N{>NXwf8P&o z5_t#oci}?@-i^z9R2lew>P^sJ!1MnTsVbD06;~*4D6UXikdE>SogU)U2Pj$PE0kl3 zD|CBy%AZwv?z4$26waf>70Q2ATp>m)pRdsEb1C0~`5n;h_lR@fN1S^q;tFMl;tFM- z;tFL-afMi|`{@g*bYNdiT%imqu29AlS12=zE0nW}D|GvA z>f`>K`QfuRr(dDGuDC+CZ>2oGN!mfIi|QmIjgurIj^`v z`L^N;-Cm0Ja8E^h-cr6ox91_Bdmr*MKCCK~BZ@0@YYfVBtwH&xm9J1QgAgiYt_(iYt_}iYt_FDXvhSQCy)sr?^6SS#gE(hT;n4J;fEeJ)*M@gBHs>g)*nOLOHLvLbtY{Jl7c1_nPt*%Dajyln%`OlvgNe#TCjv#TCj)#TCj~#TDWm zpRZ4$TPsjM*9^4hP30?;m00hPuTV0IE0nC_3f+2#@?7^&-;>H$D9hO~n;T z2QF5pyh2GUu27CDu2AL_S13;_u25c3T%o+ExI+21;tJ(e#TCj=6<6qfN2PuIJ(cC* z`pem?IInCYu26avSLohBkk5AxOh2W3h4Pf*3gz31E0ot1SLoJS{{nqna{)>h)=R_{ zN>*`&SdZO+*wuthKQ!Axvmacwae#Zfh5q|zjA2I*UBH;e@B>7iL14%s@|`FH?wEA% zD*1e1k!S9s8SX~RxF^B+5O;^D90mL`;xmXZA-;zAF5(*O+xYKEjUZl5;BPFe;mywg z;?&OyCgX3d%P?bfI9^Py1H2I@Du%(sHo`@aM25vb)rx;Tr(M=uw;DwHhRec8SQafl(J-5gbY6ZWY;qE56Z9~^UN39p0g3H zkNxEu(Abw+mB;e3KdeAH%2_(nYw`)$x*L7w;byy$&;osuK-^+2?b0bd44dXtZXQ2fAX83e?05@$k?>uSV zdD6V|qsSZ=A9?*?v>`9C(S!ga9v9C&J*1F;5F|&32r)R-g%-I zvFKGG!AGxG;gTBr063V_>Q1rZTix2-BX+jFdFP3{+U@7miko+y;GdcPh+U*ne3&iMWgYXG)IVw7ww;jq9yA?{0lLkAI$Q488+ppXPxS)#(lX_{D|b= z9$e2qr~J@u`7ZtSn*K%Q*RI3&)8F9u9C>{Gp{vfZcDQf32mUpV=S%3nAmMb^c=-2< z5bQii8QSX8#vR}N0}Jzb3CHudl)N|NzU4PNn|M;hw@LH#FDV4|qZD9j!$9jfH#8Jz zGCuYmSnS{bJCD+BJ}^1`MgHqFvUxgps!*2A<0sfA+`H89UM4z&nIBjouvzg1kFYc1_wO;;W(lo?3_FJA1> z>4DGWT$RA_-$Q&45yt@K>#+4DJTttCimn3k{>Iln>!1DP{y&ZQEM(a>Dv;+n#hr*7 z5PJ~$>F#z!Ry+G9Q=$Y&6_H(iYgGhN$U2Y5XqZM^~UMnrs~>&kgEAjbg|N4gO|hqxZ` zRz#MIjZ#5)i_iQ%qKVxgL4YI>mQfu;wV9=N0j_8-XJ%lVnJ;r4;s o@>>VDZMkhQSJ*a@8Q4Cwy)eGDKbM~v@6T_~ZR?xKAE)I12WlZ300000 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso.pdb new file mode 100644 index 00000000..a33c6be1 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0323DA1D4D66DFFC422FD195212F40AC.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a812ee71b190a5be53774908241c7352de8d4fdeb4f935830143a4a8eadbca5 +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.08792B0244607751B94495BF11FEA6C3.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.08792B0244607751B94495BF11FEA6C3.metallib new file mode 100644 index 0000000000000000000000000000000000000000..7c80e8d8f4f315940fe58ba8ebbae2b780936261 GIT binary patch literal 71979 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso new file mode 100644 index 0000000000000000000000000000000000000000..7caeeb3c42937d90d5a099f9a87951185ded3162 GIT binary patch literal 38128 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 aM!PqR_m7Tl=pXMJ-_Vokn$C=p^M3&uNrm(P literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso.pdb new file mode 100644 index 00000000..5a02a5d3 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0A7FA5C512F5E63FC77778DAD58C1444.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60bbcf17392cddc45b48fb8991c960047e6abe8288ad43388cbfee0c0a94ca9c +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0BD3C6312B7670505B943262A89C9294.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0BD3C6312B7670505B943262A89C9294.cso new file mode 100644 index 0000000000000000000000000000000000000000..25ce394613418b32fc854a89b50219cfd58ec668 GIT binary patch literal 40900 zcmeHweQaFUb?2EGisn!pSyE(KmTCJ%VdSAiQNs^OlqK1eG*+ZWvS?9uRa=HVAk~ zzBi7&_;_(HCL-Vew#ZF@yAfY$6&VC_0r8!6BIj=txd{HT?EMES;3Xh)35nWNUY7m* zO6=LH90u=Lwy%#mkW4(pG-4NG2O`66q+>o173OP!&y3jyeB%*5(10J;wB#Rez^A?B zF+SRW-xA`FQK&(%^wSOa#v^>X0Y7Ztp_%;Dc%dvK#qv~TsyI`Y(W$3_@1372XUej_ zI9)7(HeQ%19GaOZ%D$=T>9Jz2ly}${Mji?XBXi}+{ZLTJ%~Z-lyKhGRZvno>3^mYR znsjLy{;V{rZzt*RfF2^tAf16Qj7T*H6~BT2R18joJ`9|ZVKKQcL#_(`Fe1ZZa%Uj- z8u-JA42#Kq4RS2dFoh5nllv!-8@>j)OOUHxgWNx-eJU4UBHw>Q`yen3z_6Hoe@^?Z zLGEv8ALLj^0CJi75v(2zwxJ#`UW42k$h`nL_FaY^whIK)V{ioY7q3C?G043HIW4x# zE~4+@slwTjQt?YNFv#d!caI`(=EpQlKZIz(^5)pPSBcb5Iw9%dJVuU=9y)&L=mTsU zqX+LlabgwA5|fAF;4igF4EDDi_+1aF&^Hl(qs_;uiwceJ><8&zFsoUP4z*{>8l7_X zOq=YP_4zo`_OJBQK7o8!c+Ko&i?N!gE1zBRl zzOTT)X@l`qxAE=-&(f|p8HIl+^4otIm+Ei+{%vA1?aFJ_vexNVp6MoUpVCaX@xr>T ze4AAEz}Hr~c3vj~9?Kk-Q9mRt59;Qc20myZ?;cGP)?oCi##6VdnyJV*I=fVN#^nc24e`0Z-PPI!(;x)xf_Ae# zZv5?EUc1=HVfA$pYfIMGW5fQw;SWROfz`FOw*#e>ZmhL3v#!nO=3i?g=6sj&S=Sj(pn87eU*2&I8AdxdESbALXZ= zl;3B`rwxR(sr|oxZa4ho#ubiN%-88S=K=F|!&l4cWAeje0riIMB;S0_InjJhNS^uJ zd`(DO$uplbUDT(PGhIvhjdEdoi0{y`z<8_+>e700eTzJ^n`IBiPVFDyx$z{SY1yCS z!}ud|UnpL6d}TfeK|f;IX;0XvANKgV@k8!M*0u=g2dh){=f|oaS--bA6l;XKeiY^3 zsD5NVkM<+&H^E$ewSHvsgxMv=AM(Tfh`9A5)-!pH`Vr+8>qksyyl7itpR;zvKEm?4 zF$j>jjSZ^9ja5o_{P1`TJsljYuGUv=Jh|H3$2N{|L;CD$wnl_&nfpwp(cEY4=ac&=^`)EJs8P0uXBio*(Gg`Q9v}(CcC+9wskM_xMpJkhj^22?We9nD@i_LxH z**cTD(ViBa`@(jH+dk(o^Et~vp0#g2Tic_I;%*+YxzEaKX$>yrH|mMn6YaAQSupo8 zoy~97FA3wrB0p{U-hCE93i@w!j-)(7P)FEXRG;-}&d(y%zd#&CbD7StKk z#R@;I$&qJrv?Z`tT!C(%#)5i@G&UecT46XAi^_yV;VKD8dec;>?UpIQ%mx(m)dhlj}D%o*qnLau#u zKSHz_KA|4?FxC>EP}h7aigl^CFIN3KZ-Ps^FRZ@#jq$Nf!+-jNU2Fc==l|d5%mL&v zhQnJA4n#>|cJujT;sG9o@OS`#=NY_vJf2M`x*yTgYg?-y2qQNPQh|d0K0fIvsQNd_2f2g`n|fNB6GhPlk$HS`ET#Xp9LiYY?T%P$+OqSgplcC>_$z6D9ckb_E@-_U> z{>=BV!wg;pd`vpdC&bKhr8GBQ@kaIR$;|9rrTr_~=li|mh57wO9Hl9vMcFBm42Fcc zshNsrN%DnxutVopOdvSJlK1%mp54{{%&zwK_WI0^&Q&z`>8Y7QuH^Xxk2g`uopR?A zBSt9OH^a^|`Z?Jt7eAlzF?Tk~8?{r75GoZ;O_eK!QhF@Y9Td1Z7N*DhKfPlinnif} z8w`)z{ciTNQ*sL>pAKe9uXchiDmLK8VKjYfk-2pmS9E8p^sO!*z1~4dwhp#dU%M z4F&yU$8~~(5DfgZ=(*!?lCgg0GdDKX9S79WCRoRKUno?L6v~rFa+T85eA=6usT==1 z@5~{NgP!N~l?s))(v0U-O1YWxY_VKO>%fGClRbLrz8){*|KHtX16LXprPmXczJN%2 zcXzjkl0Vb#%(mawt-c_N-k8znmy+sTl0na##ZvWg)Py_0 z?yAp}8PQMEZe=(m2N}D|V4ySda$p!hqG@byR3yRWLm(xt?w6l0YIl`3! z9c3KurSn6pxZe4vp0@gdM4qR3DH2}5`7$~W*Syq6IUZOor=0=jJk~{M*n#$`2``;5 zR?;egW@t~{-n|}+Ti7x*ffk-j8Uwm#+%aV|k02dfk}OP@3+>6TKy;kv{ndT2>I{-> zaV6a3F*9eAD^It#Sqrwwx5Ke0N=~LX(>KBXy-4Pv5}skDL%~u&_(eHgWKHIzLh@XG@3J7i*mkH2;GOzvB(o z_dLJjg?e9DEj(>%q0%0igEl2!*cqAk^UalsrR!wR`koAHhQZ@=r4l-7wnS?~6OH#M zRXqk5hqO;j=T4O&sOp2X{{A8)IA))X;C%d3v+MzW(v6{MlZ(o085gpTtS zmLgX!pf^3_-Q#zV1*Q$A(_YX3Z8zEdXy&or`5sIk4Oo4Pv-%fj4S?0{X?qBFX&vhp zHRGwp%~*^DGZtgPjHk>D^zO)9P^-{jI6|da$90t)>gpM9(;jUXz4NGvTB&OEr$`?w z6>?AFf&E@e_W^u88! z3+AB0mTeOl`RcOioqrmYTB~jL@>;$+`PHSs@LZQqWHNMy1#JxV?$0jPQ+w*Ok0f@M z+^|+W@Ud#eb(KHmD#E_(r}_HxH=Pi zydXD^I{YapGSpzMGm|!9-Lj1<>qZ04V6&=nm9+Pfsw%8Bud}l^tlDkOs{IvKZTZWk zO1i&y;(B^yU9ZRDV2i&6CfT3<-SQ991e@n*1v^`;=+Lvr%IRSB$8`(mB)502Ej6}W z=Y)ZAq%Io{7oj|m>-co;^lUia9^YQwgVv8P$$ViVH#c3u@-j5)L`TiBvHiu;3_exd zV~Z)QooWl)-g)$dUZG$7?@#=?YvD$+~?@71)E{K4k?uIW(3w~^VDC~uo4a4a3f#WR`F^H zLas^F{=j2qc3q0##g4v4a}(uNHkhU}V{=o}`IEYG2fAUzNT%0T6>WGv6 z_tE8(SxB9--GNs3zTPwF>%EzM*@6Ar2m1Q=?byB}vn{i2-_F5-{_XvHhj#AY*}rqJ zcf4Heot!RD;|Iq`o)wqptjiNGvNg}L`zE`5GS57%o zZfNIteV+9{JGpng!B0S+w%@#N|DTyy6;*#`PtUe9|MW-vB>lPq<#|5XAQR6arV*+8 zwm;eauXf=67V`Q1JbBIV(eVJ!qwka5t5&jtV(qA>4*5U(3|{N)2>jM%&#D-E^Z~vi zl+654W+;>C6OxYSN_eX$XUdOndpzSP_s>*HPYFkGdSa8T#4Q9kUw#Y!ioBp_0SNIa zg}eejm=em0O4f8=%vmiV()Mpog}0VG;XkJD~+-v6QcSJD?o$F&Cmoe7NI z5u$sb(;j{v4}1KV#h@(}s3#74_=Sk&Yx+rF6QZwyB9mViqOS|lJ41ASmv8co%1ix? z%1e52UI3y^C#OR z*^|0AR(+*)7ns@9BMC3LIrV6wGufGX41c>*+acbSOs94MTbH^Qf8(jGE^!yW>$rCn zK9xqW(H=KpTqUfBZ~c*`MF!EH(Uxz1yZ!s_h~uBfkF3gIpi0B;m~VGH^>AxPqWWfP zbL)ykSE|3Y1%GdAZNuN?%coJSTU%EqI$GliFV)7sux>fH>%h4Wup{+rpw6ZaBi&GH z7oMvxAxV28kH=1zgarzcET2w|fIFMo-`bkUrtW~$a|fMRdI_;3HL>cYhH^)py6q^# zb2NtLX7IQAs?$A$G)Y+439H+dcL9roc_Q`2_rwpd?aj;T8{g)M?O$dhm7afVbPB>+aMMq+gNRfl_y+_9dR{Np&(Qiw9V9 z<+UYFel~Tl%lV764Vry5nZVOmSF@isJb;|Ri1D-5 zXWw)-POi9!d|r&V$h*s0Nolcmv6)mI8V1!uyQfq;iDwe?%brj4Bs*Fzq_XmMszowRzu$If z&(-7yL-MrqYVt#n5Bq_4zTs4$42S5>|4Pq>=+4hdKL|Se1?QnQ3Er}Rx^ysKFpo*+ zi=Uy?YvP^pY$CtxC5-Udmig2Pc>`3=g>2jW)UQqI-XAZW3Ak29=JU48rzbWXqO&YU z50{a3WOSCXmVf;Z9bhdP!uflyt!3-l8uK@LxUDgNqqD8m^8dxk&wMbfppM_KD?jrw zdbs@bm(f{%_Icm`_AY+OVh4Vw{;bRQd_3C6j2{0zt>kV|MM;~9o3G#nDrO`4N2Y0+@(zjbh0eZI~!(Q3TwNx!RS#Nj7}RiVxPb<><91%_iNZE z#NAS}>sb#=&Cb;B*t2hTbh*Ag>~hfaW$tGI#9I@Y)JCjIt1r4Gaa%{adJ%T5O?AhM|QSjH|X0xIQbZBlY=>H?F5X&tJH~_37_R{eJx} zI!6ra&lh58c>?7$9_u2^W4#)WJ`3}rb$gK)Jm8I6*w55w^st|)%jop;FIu;_D8{v? zaGum{^l+Z6Tcbzoc4SSYZhz4O4FfUrSVP3Ruvu-|FShq$G z`Fy4|GXa2MXS;My5~?8oaByk_{l%NS&nslM37=YgU9 z?Zeo@eeHSKU3aV(XVBfT>od9OxdJZJSSr}qLR)&=8=$lkH#+-*(a{p?#v-GmTLyH_ zC`RWyFOEgE*eX8*Z5<+K{FSlN%F9oF?{~hPUH{Pi>mGdU-{KaKpMd_4@F4^5&E*}d z3~3~I2lQ9)+>VW(LU~hhg-$>D%m)y8`0@(fyDjnueY%V&U!m~MZSob$Ma31mJv{l` z%Tqu1-NY4QmG0vTr492q`3kX9@^OW3-%I|WPj~x2;@k%Ux;+;0NyVo%y+WB+T%kO# zxI%eFafR|j#TB}}67_Sv!Th*)A+At%E3Q!TiYt_JiYvtG(NC{XURGS8+lNy>_v6g( z9px*OH5~51SLp6EC(eB?P#@P5wC4@wE0p&YS19YS)}g#Y=}}yv98_GP%qp(X z{W}Fr&wsCg`Ms=sh4KT%70M44S14~Pu29}rT%oMP;N92 zuh7l4H|}^xW$+{kzInD4n=; zoqUC|TXBVQLUDz1L2-rhqT&kW`-&@+w-i?>KUQ3!TvlA6TZ7RauEl6?mk+B7Wk_*_ zvRiS5GOV~lIjOip_fCTP`3{2mpI5#@c~x^GU?7B0i7!D&kv+|A@E_V<-2B+!t~$*eLLKm0RJ#&j8}o&uWVC z_th0RdBc7AttiWwCz7l%D0MC%aale^7>fmuJ4%_MDAqee5qc zfyTbnsyvpL{b4oIQO?qlUXxDaafkw||3EQh1TF|4y8e8^(P+-+>bFo8i;p0bHQbyz``a=SlO< z6W+RF_l0uSVd9vX9IDEg=yz``X4NUXS6Woa7J|B!6d__BH-g#2WH}5>L z>$-xQPMUX~=tV4g6-e;W>kYW1#y$Y{r+nB|cf=KaxOVr59lUSedE%~i`z5vF=A9?_ z_o+W(7irYrNq~>L{cEq9cb<8kyz}I0V>a(TSTOF}rv(`DYnS%@imtP1-g#1Y zyGirT6T6kdTX>I!U7*pt^JLnMzRf#Ntg$R?D|V>~Z@2J&c5!#?SOQ~T>zyY!mgYhQ zf8W+;0{?do|98O zH`3w6C!B=rz$$x<)*QNgh2w$5gyd`oNUV>-o zs!PZ$WZ~$r`RtL5`JUF-WdrZ+O(DG#o? z4UNTb${ZoCT(N&5jItX;{MTYWKbYn9eLv->XT9pF#(lX_{1X8FrO@^Ki^>oEBM2`2 z?VA22<=6g|13j?WRw*B`pU9&3jOS9##y{=*HF%!KY^~H2?id-w*8LXOn&I-p7=*Usxe8KYufJ zfQP~M5PJ}-h!(i%!*z~zfuk=2zjO8cY1`ra6UWVXgIqKsRPmimO#bXMKIZ>*m-@{V zX9_^K{JY-wmev(_^-3+Yn;MuWze{B>8X?a=`mN%|Tx)9gs=D%6q0C4cc;!lmP62!- z=Y|B1{~qG|i2R=R8?g0NJTr{oPS`3S@9%u)bN>2^`~NiJOOR#T;5WrQr^-*XHz9T- z;uC1x<|M*uXWyjU7Q|k}t%w=KKE!^+0mMPXZHU_uc^;l^jQtj$0lL16&)aYg7H3uw z(S!t_H@PFK?B}=|LfD|VKfM)k9U|K&ud}@!k@nt!$g$xrL=W+^h#VVGBxGS{VMM6{uOBrU#lHxMmL=I-Grg<12|kOT-2iWqvR(g~ppXdrY!x>BTs9;Jp3q7X_z0TECUL;>jvB3(i0 z)rcsFh=8D2Py|#I6w7xGmf!Qd_uhAXcdhTAZ>{&NbI#1(vu9?vnb|Wrv9z}^U`SvD zn1El`lN}7(8OPsn=I@mM7aEZI4e$94|G^(*{8i9}{gpz+P~H9dmPV{Vqz@(BJ&;5W z0_>fvjleQfeLGVuu(w~GH45)@-Ts(-$K$CfBjNO==5H9e``1@?e|dCtw#3TV*dFt% zz5mVofRU{o5?}-vwjWDFJ7*;Dr+YiFDiSFB&6Lr8Lwi#@TOu0RDeqGtp-z}qu8TsbP3a>R%7C)q}OlPSu+5di^; z6rXKa**-WpAWYdhIK;EpEw)Qk<(3=N1l4Nav$pKww@0NL|b24vjY*cMQZ zB!LVB2W+=~I9l0VJIdQvGtgVjR}~lO?|mdN+$$_LR7DF1UVcH!_Wyeh6mcq^n%a0J z5}5)(ika)$$p&ed7ksW_0pKTi84$bX)IkK~YMv;ZWCEIb2r3st0l*am0I)HNftCaS z9`HdVN}Sdof|)Rw|EF`@+0aG!C+kh@40h&i}NNN+}gTaxBAU?1lyr?fSLK1qN zDEy&>eQ`nfO}Fq+iO^69`;eIMvKW+~_7HidFY>yCoz5UKT`b&_C^E)?qlI|TVq_2r zSXy{KEd-5-l%Z)9(?U!Uk^V`cNJJ!93ed%brbr?q4A`j>p_e3)X+UJLL})-v_$An8 zm(Y9(*pv_u1`_AfC;&1lnx=t6#2{%P6(jtM^`XX;igc7=i z=Ri*MMS4nvM@rb|7la>l3%@QAS}b87NfdriB0SwCJl8Eeogh3SCPZhz&MXK|V})nB zg)lGl+l; zkN(%D@)5B}TBsu^I3gw*5i3IrEv7|*vZHCSI7FBXA_nRR5if%PIDt|Tke{AzAyE8( zSmd`vX|bR(LE>mcSTV#&WHc?L_^(6>>?a8TOFiI_4IfJNkx76#CdipGdG{J%2#gAZ z9c2sx0gfk_OcR)^sA^b^w3F{4M`6NpJzwMafaQFF<5=(F_%a6nu*UIeo@3FPV{r_= zn9cDy8_EabINxJA*T>*50nWfNjs*heYapMfRo|}f>3{3PwXBweVZq&;~|2?)T36Xa*X0}}rq7Wplap&qDAkhmjBdko?P z)T-9lUx~U>pJNlGOqp;~*;x2*Z;{mA_6mZAB*pmA!&_ms* zE*v9+qZl%k3+9mppmMPJ=>-UAkYW(AAxV)k;NU_;jxp)^Lt_CPM@I?zDkce%y`iVo zjPh__6y(wDVj3w)V!b#NbR(%GAX`7#P|LhP+&us2*)RbzV?nx9g#hyiwntpDm=JPi zyWVoD!oGRnJ{GJ>^+k7cW#v?)aZ6u%alyDC!Phf=*tlCY4PZ$^CWqwx>gSc(1DG1m zJ_}7bNwb_X{baK?T=sSqX1gfjS*ef&e^c3|`R(dC)&!Key@7smA~rv*;k5w6Z)QGA zm8Q2@AC9eJVbLcz+cYF%HK^$_C)>mUAf^||WDN&kvO-8x2G1;j7tSR~LNlOcFow~| z`pE>0F*Z#Q6TW74##pmst1H-IyDOg+IJrJ?rx=;*G zst6Da!y>?`j8cpMGa&e{7Cio4>hWJnIses^2PcK_kET30|JAYwXE?~fU*0@8|J@O1 z%r;jPkOqwa-+>;Sp;(Cd|GdZGpV5dIEFu<*hyaPV-yj*q8j|HdZ;;FysulZ>H`E${ zpb((OL$Hv3eu3a*19btm25Eq+C)>=(aQq%%sw&Bt!v-XP1|WbBkZL&W7J|ef!7R8= z12{=>_F*PQ4={@cp9HbffodcG)&=IV-~(_A!cMe^0DyPmHjEd^$MADmWM{BQn+(8+ z;wOsHBgHUdfVC80Vzn*?5Ukn702}LAF~G@+E&+I0txE{3_9Y2BSe;9{cCdz&0Ey-$ z#jF(xClW`v5~woSRM}!ilnfz}QAmbBWmJ$MBr)pB5Rw@!WC$sY4l*7o)B`dh%;JOG z`4G3jb#N@lfvGAoL8xy*$d{KvFO8^`+?!#ry{3ibhoZoF=-1S!iZTFKFmM?Z^2IT4 zlO+j)a~n8cW-#f|qcg%o5OGLwq|!n{z!A&@En-+2Kb?zXIh$hv#~Fm<1XrXrYYtU( zpYR+QWrzv)kVJfO={gH=3JCQmT-0RtBL_IrjT1O^m+iNYf!_+&P; z;ArP>zuS7X@_wysy~<#x->5nh(6WXaB-271X_Szpa4@*=poL>-;l(umQ9I6+?ez^@ zHlGtX7qA@QqNj?L0V5QV9(|DqV62fSGBYm(1!4>$z8D*Dso8xYNr!GN`CAYVT2wS5 zI^V`(J)0BKfXLzP@J$SgdX6zb5f)ucc#QmhCmwnZuE5|*2ra)7-4FCd78iC-EeOwn3|Kp9l_lx6C2CJ3>42sw z>(y!NRlWc&K197PaOsZ0g1*TJ&d&u%UdEJ+UB<>kTzKyZ=R{67704&{Nyvs;2OQ!z zwD!iaJSXJ%NwO#Ej;v$za_m{D=)UWcEQ^GZ2e=e&SN7*>`+9}UNEr5UduI*Zdrg3y z;XW)F*@uyXgAAic6yLu96#8S$f_#JjV4}SINfh@ma;%SjNJxMWc00hwf|~)TE>=|q zhf`5f$K$aw+XcQpihohEme5`RjMkOBf&)Xy0X|CJK0(2hz%X}jau~@oz~`SuzN9c{ z_ZIH&?i2LClu<~5AYZ<|J`{IfpKve#e>MPZOMIf;gCoL2BEloU&5;Z#Je)%Ij0pF^ z$wEDlD1PqYF(E$gL0~Js0l}njwLj=>429%J3=RmUK**5bFmgC37pNMrQS09jRPwtU zauC=H1P26rkswNUa*(%Aw4YCq4}}!&<1ORv4wkxy1dzOZ{I@qe?(VYNo#Ov)@c!AH zcLX^o{8!s%hEM@HC@h>5I~lY!4PCX4hZlJCQ(54{kH3oypHS#txgJnAcvrkf5CQSZ*Yg{6&_46 z^a%;~|CMz%*tWF=IglJ42Gt4)ri9ypQf~8QN&+?R9pn=h21)VPx_`9r7eNXj`vq+~ zt{pLWTdU!AKH)0=%-j8C7ShhY07D8X%GM_|!Y3^JpVjgIsE#)a@+O1(=09!{2C*2X zA59L!g>8FO*gtEk{-dVq@0wP=zG2`P0mT5l=$Cc9{;+Cd?eLc&>xeM_Kh?wjj|HG7 z1qTL^LxRIWV`8CUYex=*hAdHD9t%c0`tHv5b}Fj>Vu}dEj4JyGKguo;Kgfyvya1a8MqY_9T01m#;&s9}fsPwuWMET;^@F&f9tAo9Q-@`1#1TX2Xsjx17?s+9%lt^UCRjW-R7GxeajMER zVl5l7Y`k{blc-dML#UVDs+hWBmHfuL^{kB^Y>foCj|W=|j?LQx-ntF?C2WHU@EhA8 zxp*5ahPQ8nN4mDbF8Hl&FmQewoQHP;9F1cg`dSIS3Th!(j%FO2gHQ%hk!~P`SOh=@ z5#cx{H8wBYU8+K~yXl0!_7sB_&SO5g8#Smf(W8){k4Z~3rDOXUA3f}mWNVm@m#{%J zdmx&-W)hPSs=SQ=$BnV&Zq%4UMz4BKo*P!(#lW^2p_!zj44N)n9i z&_T9b`622?k)iMeRd|B27qMTIK2Pt#Sb&Of6Yio4cQGbuAHyX{fD8?T3`GEJkpLU& z<+pBBmV8F{B5T9^Lk5K@1_fL`6RWD$bsXGIVTgJVQSX7M@AB9$L!a*g8>|0EW2LxW z4BbGH&iE4Hna$k{vXk&V5mN=z0%h|k#=_-KLn?8UNn_Yo1!{#+n$>fRTh;VcSHx>v zKghwQeG?43r}PzZm*=y4P{RuOJ)o3eSF-dFI->%e@c^qQz@uvVwkx6@*A1!AV&WHr zmGi|tDB9j{Os3f|^NwT-I&REhFTD@dEl0;y8CZfb0#R-XrbEXyQ6Yd$ejcVXZ>Te$ ztTW%IGY`|H<7WDxf+S0jDo-8|5(p6*4E8*w z92#cU-b|4lg5LXICqwsIhI@9B@+PzP7=sBSoPbc%N8q{hi%(8XEl(eso*Q~IHFAhP z)ie6iSZrQQWRWDYpXAkeB+N`gKJ2ofR58t^=fUEk<&njg59Vf!S>7yE)vIamY{9iQ z-mGtIP;STHxY4B9YQq@UCaYjM>a$$Su9R83{FXgS>D}GHpu7c$}&t@K+Vz1K`nYcFl&N8r2Jnt04_Fngire2uB+w1QS;BUe1YC)0Ei+yJkQH(`X z_*oj zeKgFAi;6`~oF#DO=}Vz?8F7;UtjCcF3-e;vN275}IAZ`TKMoSZHng64Y8V$k`y?Cd z1;Zk#o64XSaR?P~@?yJ=Lx{08VA-w{dQm{4DiDThL4(N2u9o-m!2yDu9|oX|7du#O z4FNT{odJ1+Y;Ovt+qUO6R06ZWI4pkK_Wxdj@c-+oq_T~|{U>gL;Qi{`0j35RBT~rG zX1*3=H6!SWG%^C)=1IoOB(WIq=Xb+OP@^7HYq&p7UnWT{ADfpbV1XX-V3$VvbiqL~ ze~7FNBAbKALLf3Nh)gH|Lt)%CP3rC9(dy<9Ol|FgoNy7gzpXd5sBBZ^9*SN_edT2`hS_}# z!753q0y~0<{cfQc&ahYLK@V=9AWUBlS%bUE*v&fRmU;k(I9^N;YlP9=QV$Xk*F7~lXgrs=^G%7AjP=m|6Z0bB3sQ%{fwEkN`H;BNvxiRxd7``<4H3(>^`v#HBx4;n zO)#$w(HR&F5lKxs9<9qoSIIUA;ekl#ROXaTPCWJsflWG}3g%$d)@&NEg}tfP-}*3A z93LO@+1^w_T0h3XlTRAQfYxH=n#u z>txa2yr+WhKD6wOX1V~XDgi&Z#+G;pg@?`0a~yy@+v^#E5<~L+;DX0;!6e`VXsXA8 zsE9i(47G@!>BkbmO`eAl_JyN(@^XR{{@MpmpyM9Q6{0|afS5=0_ST_jVe9X`G4x#6h_Bm>#b#99b+d}g|=73*n zJNana9Mq2a^rkw}u(gmc9LxK4`H+8t&rj zJ`QR)@cPbwX?Pbmte30X75PKujy0w`Epgi?XqDnULP>{UQurY>-N@h3BMlOJ=M|NG zAJ_fdAxzJE z3BInxO~D=zYXF(rh#-BoBXP4Z6!9BjST8LBAKdm9(wMY9&eLPtjTUa1;RZtl6AK(e z1R-lL4#fPDs9x|rC=tpYT%VAj(a<7qREDf~c6N(^&J5Be(Bh|LGiaOlxN&j(re!8? zk{MH$%aF$m4Ohzcf zxM<=HEs_73hUVq^hgi40=0DR=D?Ziw;R)s>(7_Mg^z0V@ z0gcB&4{`lEj6OIL7+d8lz=61}G@~_nV++vdrT_T+%ZA(%_5e=WL(pH zN3OJ=fBA3Phenye^u#v@6^Nz(8G0SaFq9Ve)jL>XwuGN&A~fA}XY~y$bT{ORaRxD4 zfljbLRd48wZV5C`F`RE2#xmJR2jTx({HrITTc|f5_8IImJN<&A^*{RDJSl?VYhnS1 zX|Y+oGC1)R%%n4?Z@PFS|HK&J@O<@&ps*-$F9yNizTam?zpxU~%C3dlu`rW}h|e`~vzJ0X*68+&5PaqJJ) z$V0<;h`K4*3nI3C)^JRNFPpmQf=&dR%$8rp@9RP}$#n3x4VG%sMA_RUQBAO;JF2=p zMQKZ@8VEYJ19LK7s8lsS2RDRHK6w*`M?Gs$N%2L=dTv)$t5~iE$Cz+|6t7Qoz6~SMPy`fRt+pUE40#_0p*{UX%qA^*1 zRw{m|zU$7ABR1{le%7mj=9S?GQmMsLTnU}bs7)8^grAeCMW+iN@@rrjO8^`e4#3tR)a2u5d! z#6to6v10Wn6^VOcl2oa zUY~-ZISFo%xWt&TeG1>P4~*tgV_3pLV&z0I-1{sw1_pyeu-)4m?ojNn->dN)Xz^rV zng!!=1quxS9~Ag=KbUee<%K|m(DNL8z>pp={0&=!DRe<86oc180C+8f&vw8KrVu^z zc28giydb(i7gPpaP`dpqljN^_`)?eSZsTzP&VmyMymYx#rXfeSoOaa|9ATn=)7k8xRMeU3VssdtBQv(-ofEYk*Xl@_xuyY zYN#oapi@)DK$2H*ShNaGNkvTwROR*s=|dShR3-m9N(@tW^a}R&Q37iygQq>vDGu~4 zMx;*w_?-r2`>*PtSq_wo8;F!YInyVY2dehsvJhAZ3sZ z#ee{BtRjix<&WKF3j3QMchDTrF|KOc*6NI2`+b!JBmeDcl!2+EunB zd0E*xDuD-}+lYVg4<0%HDOSNNsVaqeAHgaHWB>p1K@0Z(^N(1tiavp!KHl!XKfn3E z(Kqz{&i}11fFI>3dj*h!{FMKCs4|4}CQ+h5HvzNTp5qPK0POT_iHu;1 z0}Pz~wN><;r0txPhC~ek)S!F)k9xD?KY#9BeL4*e`L8elh6IovY(LgS16RIA?6eG@ zy;XE!qP(~ycV#qF`rhr)gZ1?fatVNcEcDTq0Gt4g0&lZqqLmFWglDoyfMAAVcHXt> zuhrSHiA(&P)&d~HAAn;42I(>b{o;O+OzFz%X5I8O?{R|K*!?&D?C>N@Al*S%_G@Zd zfwyjDg-tWR8sHDkNB#of(T6xoG11OH!xFDn!Lo$0vb)b@oC)C7P||J3+uQ`Gm)USb z2F?=Quo&(2kK@T$=F-_@IxoS{kYCdnz9l(^1<#y#dE!~U6MfC4rg-70JSUUF9#VwG z9?+@;c}JK<_BnTnkEB(gnyWEQwc=gQhbQb58dv&MZYVKgtL8^M?c^9OJdG!KB?OVU zikcIK#G9!I6XW)P9i#MtC+GR#*}L_bZdyHB)fLR5d_Q=5W8>;5uGF$ab&8i6XU~Y z_MN*`YgBw6JTO9Qz2Nob+Si^h(kvg1UuE~ep^KTNFB4kbJS-=5hUt-rhGAKL|Gd}6 z^L$A4_lH71#@_1H3avBgjrXysRrE=@H1zU)P0i#5Wp4#DH#^x!Oad4y0!AxbWxX0D zY_MAu=Q$X4=_%XFr{Q;%fv0xv8_+B3G&|7N%zAJ4m6LVR&9dp9ZEjo_u4q2zQK+42 z6sn;gfxl+oanDQ1Gs*4bn`W|j$j#_|jQs`Tj@82{7DDT&I?~yLg9;9r_55-|y!dks z)pt)jo_X{`=G+~ibR>}FAh{e7C?8vo9$@Y-cgn2wxyt>S!^!^gS9@#}Qu5wl;jx8V zb>DX4aOSB6)%I8VB?mSryB~YS+;+3iIb)&h8+*M)ReqYb&p9vh+}pv1=K05Q63z1| z6*Y=dB+Tfp9gBfixKz&5?Tt&q1h|rW4nAid_=NFH`!IIA?pWlvPc{y6>G$*7rW75IuR`wPug+GqabY!WRSTbxy(6A_d)c^c4otLnbXPaKuz8 z>xC9)m0PyYrg81FabcYYTr@W;rLGwlUS`^5o4c_XBg0E)OF~=cP1M_*G|w)3p>hKV zGmyau)ZgKW8S{^v=6+%8ruV2aCj)oVyygH4<;QLce@|$Y)uXUiGWln|cODm_`vtA$ z%uFE)D0IK3-mLxX0NTo(L)iki^ReAR|`^~MZdRdL< z93Soklw}dV&8^t-#y~9tH`I^KZFf?kTpV&;7i$WLk<;YdAQQ9vF)+0%HPeK z>#B7vn^n1zRUs$3xk`ZBx4y}(Chq7upYP%EON!dT_jMLBawQ2DjT!qA5z%+{DV9er z@-1@o7QJk@VwjQHU0Bkz(mK<9nl_#H;6vKPP386==~qVs+3t7HE}0^mxyPDQ%nqcm zamMpieL1bAnRRYlJnp0MF5i<@5_PVR3;ft0kXWx(+mr}aDf=5bD|TI&0vaU3M*8_V zSyBzYZfQQcpQh8=1pjPiq9yY?4-M#THJYr*~rCy5%g2lXPDUOQC4# z@P|7`qUx93cn&uck~?l#zN;@(y0+7vV^YlP?uX5zBBSe;7gnX33%Aa^v7wo$-&njd zt<>p!G`{85lU*Lmi$V8{Ss9*P$S6f*v9YX5-O)U0FBK7P}*9)5D(1!bKkie~*fK|BXJq>xs_N`?_YI7hAqlCZX?)$E#v9?gkcU z7!NyR>fcy?*QfT2C>ig|zVo`EER(^kv&;_{SkZY?JO}R+VB73slYk4`d)bR)bo_$*V7Z~cJS*ebGMnfw=6UE-^;pz@ffH) zzVNd9`QSNAc~iWXSltPAxNH&=r$Z3!YSk8xu#_Lhi@bDkPoy)v&A8k$)6QgSc0O$7 zGsS%8px|NG(ti5l3v>Gv%b$C9v0k~VSNkz*Y9&BdjA!wc4^KvD(FYTDx&3c0qor;i z&wsIcRQp;CokBF+LwNORbSPFXPcGf`s&}RhE3I72Ek?Qrkz{5peASuUME{mv5I5Y> zbav5+tNMQBVD7!!QKoq-=Z>*mWO->ENC zYUd6cu^kbcyd8P9qIIqP+Br(NfPtcBnMrAonPV&E18SkQ(C-}A*M{ApBb}_RqRPSi zfhc;&-BI6UeO#G2!l7L0%oR6s>?v>O>IC0P3lAf@*a`8*yL%&TaMjAMR4}$ixHH~{ z_UEx>_6Kqd@|wh5sYB;Z>XL3=LS^;w$dr1k+UFREDIY#P`mG(gGhbQdoVxB za@=C_goFAK(c{UYVaI3Ir5ZJ>9tpOZ-aKhzWW0HMu6p!n?sR6#bJ>=ICzb9n=MVwm zPe|R4@{a_e*r1&^woKaU$If}G;>0ipTu5$=JHqY3ntw?r<6Eg(Tet3-?u0tJmuGi( z5$uBD_4GRR#%eL*dQs^7;g|1@+W5x3BeT~^LTv&#gf2Xg_2s_+RX%Yt-bI%5r?RC_I(HzuU^YDgzT;5pR31G|* zyZXp0szmFo;l0b%@$Yi1_Sne{-uJ@P`OB5IFLSHlBe%pJU!fiBSKoz^Qy*|~lc)DF zGY}k6fvK83Q?@0_Y~}-AWG!)`LobUoia_E+ohEUOU~$$}=DgOjlD+(7Y4{H0dB20f z&L!Obs{QF>lEn^5#ycpcL`rZ#BlVfFCi5L*U?QMg-&)M*@YM-d_2>xPBX){e&5Gj( zi}}YKqD*a{#wdgQHUnqend)cSOSMdN@{8QU_jfAKMWA2UfAKE#Gt#~wR~zRnQ+c{F zC-}q73YVq28}WP?OS3bQ&ngY#_qg^375d0EJ}9ic^ltK4j)#w=d}%7z(1djKdR$z8 z+Rng|w$#!c4w+g*ltpuWafTJx&;FUy`+33N7!miOKZY|jE*;>6dNIx^) zF?V}hcT1j=5I?sy*!_CXR_v$NCpSm8p13|1RV|vm_^xinJ#y}1L;0tRqaW{ed~BUt z8K3*QHTQLv9yIFP{_@7{du>}m`?qeto6VWO(9&4s`qWbI<;GLWR=nTSpvINpi?bVZ zD{;gluhc0QZ(XaMeRuLzHD0^;`Wt<@X-&7T)n6^mAHJ(`QZ7aSM&=A*=| zjhK@yug11+uiw&naw9HaZmX`N=g#V_qT4rPW9}#iJ!@`!yW;K~crO0!s!7h{@pjRu zf%w^bu6NJ026qfjntf`Paa;cUYTt@zV5RFWpVpv@Nz=1+jn8j=-Z+;U-?p;+Zt2rT zZP}Hp8;w&($g?xf8v&+UB^R$9-57s+^ySKdNAbI6SM_XF?$zGdcpB%rvUcZjczl%e z$J-x+qi$>zZ3y1p|9R`+r6~B;+ZFA|)rip}vmH85X4_TW z#3COyT)~pdBLT3adBS=v%w7Xn@6+J#|Hc4Nz)7X#z~fVaz$!>YDTW~ zxZQ+jptLb}jH&_NlbkDkUi!WjStIqKZZ5f^!bfdlI;Rr6 z5tk}$$)sOWwyrjoZ;4~6I4_cG$#1D@XaDWKu1&5Lkvr4sgT=+%9eNdJOC=%}1*c@2 zH7xM<-|faH(A>6Z>i36IOVnZ#Rlvr^VdV7m)71@X z-u#R)5@g(c9FH`QvAT-da7F%k0dn%Vv}|R%t}&Mi(*w)upU+o1kv7L6I zA9j@q6sUGM!q@&fB*f}TSMLyg21l+h(<}G&5mUY3jNd>1?NZx?yc_8fE@It-HYUx> zybdekYVw{_b>|f(!aW=NioKObUWxdOb?PU{=}Cb<=s(K%@G7m}L9-*`YCopiQ7)~9 zmDxOsN9o<1MS7Hzz#DnCBbjRcYOA8Rn>sqjZ7#f7>h;^$dGKCH@P!A#;ykZ3u0Cwk z+a1gIX5vav^UcY(6SYB^EKAeX&ArvO1JmW&FG>vVcE~O{UQ#|{eDWOkEA6whck&gT z)%=WdWA4DQ+%K1wP$S=Up@}yNLZvjDwL7o7A$aE_)UvnxfSbK%bPq-?I+LrRLRX+KWIKtQ(Qj%Xf@o> z^8{7q1hVFmLAApH6&p{vv{M|^%a{|7tb4)bvdPXj&hQBJ$2x3m&3sly zm#@?fzfgA@U8P-o_(r{`?%wfJ8!MLSgDV3h=Kf(ittTl-GJ#ztg98q@DQAeoXklY_XYfy6qK~ z%}-hvlu{RMcaZTOZNv6dIO^2Y;D@Z^KaUFTOc~RjLfoF;ohR9UhPWf*$KG7hPXCl4 zrzIU*+hjkphYu~WX+^g)$PC3d4$kK+K3jL&?=a*3{&xdat&))j>u)L-M8F7aA;X|S=AxKB znq9ug+>*P<@ZPwv8A9ZBjOpnNFMhZB`y)~EsV9&dC*jRDN}_DycTu@8s`PE|ihaa! zhe}0i;nm@{ttF`Bc=m%{-8PIuAK+Tx)FSz@UO-#w?27GRna!h~9mWNu>hri7{=ugH z{?>zhwfkf;^U=)r((3aZD?HAH>~FO@B-iZnVDCatKvi0HS83 zTZh-($&$qt72GE%@jFBs$4eHBiFwdHfbxifg)kF}IzriKF9)J{0qY?$q@ zL6Ba_kCsbCObF~}aovIOaxAgv9)=mI+D}jO+RMn1Up-j-Ruq$dI&ZK0T-1+8N7j!g zJ^fi(^JVu(OTf{@vamZlMbMdZ&*R9ujQbzUA$z^|>wY}9H>tHwCP!;D;-tDQ{CisA zq`>RYQk01r-B}>wlj7AJKCZMwBvY+rXHJ*OrlkHefH!IrhznIiKqKacuC^~f6W;U!h+6FyuLu5cch-^EV^*-bfpf$fbb&PxP8N-g0Hlk<+^y6 zZru<6Q=J{z@9vCV8S>`^KD}SMYn?3cSmq7ZK`dE{uecY#??Zqj;Q%)K4E|?tRu$!< zvjg!RicxqPO(RVVyDBh@)k~%E6E5vK^_n+-@dFx06Bl$9C|)j*n>_0yGxM0lC#-Ye zO7x||0RBBO?+y!GaI%iW*erTB#Pa5cb_AQuLK?mh;ORGSblCu|MU&>u3G-E za;tUD%XUj;-D(ZO`yU1ZnmK(KuX){+3))WggJ!AGraUq4+nw_`W)f<$3*KYz_9;o~ zo$Gjs3SDajtA6}wB!-$BhOKWOZN*PfGSH?+w!hd3RYPaRZA#n<=L zF~N_$LW}av;#%Jv*){k^^0*=V$;HlTUcK}kHU2vSsi<#rdy;aHZ?j?33F`^;p@UFOPir`dv@n!KJ&^Diw3k{_N*72S*;J+V45=#kZ&a2jAoO`EHK} z)erDiXn(*3c%5;+-f+k5opAYwz*Mb;BYYwJNpUVHRflT<@x~6RmgZN(o+=z(kxi-j zgbTfqikYhqd*QiBI^y6xP_t>{T~Qx+pg`;8^*GNnPVPi?*U^`Q3d%=oEuYvG0#^k6A`uLECxibi}nuKYZ<$|CF3g1v6N)&3NP(@BlC^d^O&kR9*S*d&b1 z{q@l`GVOG!llBgIc+%ms+;oL0A2<7R%^Gs%WaC0P&%{v4+s~-IRFCg(M|+2(mv*}p zhO%qO^6_@@A+VTY@OpG5#o2K;>$NL0gVr@g_t%N-C}N10W69o#!)9@sf#uSE5%LS68uubtHjba)0L<^;KYIrqyg2kz^J>UZ z&8Pya&U+mX?vQTsoyrK&BE%~HKsN;cj2~oc>WSyFbFumvd^R^~kLxwj&mvAm55l!s zFIKpJH_SM(65)2a7bm26usQXT0UJ#7rFZ;PqxH8Wm?+P>l|-9`NEqp=N-suqGx93! zw)?p+#~$E^8BI_gm{(Z@&S$%Kl0P9sT4zJF0?+n(ef|8@uS@F|-=_E!&qWXG(3UHWh2M$7$2pndPvOti zm}vKhY^-pjlrm|=j>jNA@yB(G9t)9tOr^WoN%NSlib$R*X*Ghi9 zQ>|k^F7?Hu-^Hcvatz#~^5w~^hJp%K8IHx`GaLn#pR!e+yQ%7bz12YwYH8teMmb%6 zIKw}%;lU}~kI#ga_V4rZ9&!u`G8FtZc zf|r8;lR}G(U&=gaHL#h*Kp_MwzQ8#YzU(~Veq5CHv}f6iiVQu{^5Rgf;NGepb#8(Y znu`UQfHhj}xZ8On!Gg4d*TK;0`<4|`{fgRgCJq1S&busI&OdLh9dm;_owjj!eWm;B zw~}?lq)YdD<@DOmqcnVPtys6LxEQN;w&uMYJEo}vPfNbmt+H#TO(z?6KH1pA*5~S} zme=>$D{hlsY%qjaVY=-Gx2sP2T=ng|98jq&ZO)uPJ@K)@ggaoK*@g{xcr~HosKDM+ zeaf6a26WaF`=4x_(ThB5RYI+6IM{gI9{J{*#m&p2csuW|TU|E>`#zaSF?p4WQ}&FcF`8z_L2t{Lf+wypYw~7J{}YLS&QijaGP1!S$@BEDKdt^1a)|KxD#HX z(YM^twIFwB`5A_?mvaz1z{bq{D{M>o=iQ~)(koO zc}8FldiD+Rg~8*t#825|ANd%mod~X-pQf`my=hE$nt*F_GCRA+5h;dMWk?0InQ}@oz!g8Jnoc7M~P8Si@07r z-%;o+O?azyY`#o}s4qoV(>)&s4R;(AL4)cUXcy{PgkZaMdUGS_-wjvkNB_TL~q?SGoIOu){@ZTFzY*>@zdz zqs0uzCWxm5c}{3uPq}em2VbXT#K6?kUA5&kcUy1%M6>E2+Gk-Dc2)ePScm3w1BXqV zC)K!m_7nI8`Gu5I_ivZBy4QsBDo!)bBH8mKq$a70&QHSxkgv5egIIsEIN0??M@L%& zh;W!lz_D%%M{I$F9Fjg^yGztw1e)Q%H+3Y_ zXJx12vQ(nJoFWfbJsAF|aiv?@@?h_to6qb^_1~R)gf4i}+t8(U<7vam;k)<0Y+Z5U zKK3KWp8EZjT5ym`;{K=0M{X-*E&weDyJ2?6Uz*3T z@9x2QZBq9hyW{xHp|Z>dDElDygv*D_7;#jkUPv?sZLrtVAUExjLj7gr+UFR}=Ld!I zvM(1kk(U%@C2Fl4cx_VP>Je@#$U-Mq+Lh?As3`?Bm&&y|4Z)}KA}U{{b&oVi#SJy`w;wpI{f&)< z$)w=yvdsZ)4Nk&Qyy4yg4v$fIPC*7@Hu<*I6fUPTHM2j;MrlrM>~p(iT#yF-*|ow@ zqYFY#MU5))W)ertMMSpBHrz`(C*t|ZtWm6umJ5M8T2(B5_h-L7J@z4)i#H&87pK_C zKK7^c2ez`Nr`eP~=zh0q?bO_A^J@{35f(=LQR{}@rkotl5 zr(Oph-CaA}gOMzAx$C|#=uOcspB7CPxo=I};>efCN1m3rflJ-YFX9##7neGo6erb9 z4?2ICteE%F(Xv-|Dv^9Q+&?Vn1i5i71Q*cW$sDEmliJ^Syd?hcNGp%qoyFVZ=){)w z(+lk{vOZj)#GbyjgE;;@O<%iCY}ZCln8c{#`J!pn&z^lSR~5IOO64YeE)R=pd)oai#w!TnF^z;I;BdevdrK@oRJZL{ zSv$k0ezE<+n?#q?+8t|?Qn4@3O?F%BL5Vb*~G=Z=4*| z<e ziZBCvpQC3SE#1ft{Yco?jHiNZ%8hEy-#OaN3KHKuc4|M&5JC9z_$+?Q&k994CmkNG znB@ANuKj|nqP*Vp_}%)T-3QHc3l2dFNlM(~`qQWfcV zeg4JqrXk%X=re=t;FlTyqo;rB$t@E_vOr>*^b zA*Cj4Hp4YOYohP!ZDgl9FWaTzDdOhxrvEC0poBRgJKhN$tp~t4=A;IykjQ zy;uEL4t>_TDY5~BSxBN43Kf?E55_54q^MMuBJs`$cjFgIi=7wRC?S(~Qx^7LXkJ*@ zlT!sR;8Wk25xt>uZ^OZD>(uqYO!@eelO;OyS9~@?Rp&wQr^fjBPr4=T%d#N358db`xlc^$4~dXO_}3%=dratX@EX? zJ;4@cQ$HboEE+WuY{bl`zmsd?6%4R9v{l_Pc~?$II#)T!S?YGWmTpT6f5XWADw~UV zC)=USJ%W+1`s^PUA4}oTL(XCE`0}mhvl|(RV>^WE>5JG1)=_?&ZrsmDFT3~JzUkH3 ze7*GI>9O;{k0wy&BZdbLonpLSXj}$kKYL*DxWn0#(FiBXwA*F z_X}M4V98$ITKw(HsyoZi$Z?-ldv#W0PI*qXq918!5s`VL$1vvjR+orz#!DMN3gxcn zB@~@Sl!?u1R9nNwdmc9}-(7<&z3>*pDo1fD7HxgJ*CQ$h2g}GnL#;25)^@ILm<*0v zt=r1;abeQG(+j>Qau$U4&C>?Bva8=ct(#*AC-Q%d^?h~jYmP!p^~)Qbs&C_?ra4NJ=h-=M4@2#>Z3@rVofYqgA&;Gd zNe3{5mUgdF>U=E@RU^)e3@jG2b3hAka(|mCE*XDvA&zdC6r){* zsGQh;?7`-X$(6VED>vOEo{%-iiookdkb$YeW<735M&{KKdVI(rgQ&rScFJIwup>t00C4}<000r|YI zbn^btw+i(tFHDNEZnm%Tu6y0sD|hLAUdHof57bF9s_KDR;(&dUwSy~Bd@IH}OXg6x zVVD83?)>@85(Tu61%JtorN-=w$u?KA18k}#om<(CaoxCoT)4wI+HdgVM9qsEE9ZpS zjcbbQ%d1Tq>NV!hc-eRLx@0xU*G$(w)IXKsrEtS}psu#&?Q-{HHqIO2GX=T|ll|8V z%RGQ6gmvoX{#ZO# zO8FRWSEKY@!)iqOVggwTyFo>xlGkJJrW}f+CxsX6ivK3~F5R^0@IZ^EfBxRAtO^EX zL-C`5TCXwz&wVT~WBO7ooAXyqP0>fIxMM-9%G{}omIV(NZJvBJU-NQ^KVHO9yLX}W z%JN{gT0!Bi3k%QMPOqfd{4@eC8vH*1CqUT0-OxDMXm=PE8ha7F3e3w}o-r1n4`dC^ zU$3n(e;toC#AOT)v4$O6>!zX{j7)lN1AdImh8}VfeT7YC z2f>HE>F^?J7@phEUCk)-6BGZ4YHUX;4suJWpz?so`ObYz));}4AImg)mpKuY*-*o0 zG&cwI5FI@lsH>?QZBwNoU?YPAW@j#$W;52;E@`31LMKQ+{UO8S z9XB6cw)nzQj<0+rWX7XZi67auC?Z=C=tvH%C6#ErULkncDV&Uk4rV1RyjSd|p%3yW zH+4`+GKwUT(AP)u2acf3m!Z>TTD8^1TezkQyQtXnuq=ZG$^f^Wa0Ia2i$>D$*O(*$ ziz4I3u+5`7fN*PX6x#~M1lb~fdgy4Y7C*Oj{LS0MOFb~+VP2)AMbcs8MBStOGalyp zi{w)&yyiBC7!uNvS58+EmB5rtyNh%(rg17UQ1kF(&6$KH!cdY-K_MYl5@gNof?=?_ z3CmVDISezHtCjMx&EBqOz4x7ll_yrk#UQu0;}xb8prsH}Vsb)tCwDQFz$k>7e;|Qq2wgh}K^fRanMg{~;NJCkx{ij4(ZA%a^4RBI z^#1OPqT&RZ6dXMM7wdW7)XHCGVA?2&z(gb~n4pnkFf8HqQ*{qQ))5E@h=_0_rI#Zj zFX-qi)^zf3+}Dl;-&V_d!PKWL!G&qRiw@tBam#A&X|WQw9sdVb<+KXn3*6gr=jGSQ zaiQjUc2O4C2KEi#fOgs2h*|;+N)Ng@;d)TjSV?dcA}{wBj~)^SuA>1yG)mb-M+8mk z;M+H1&FNzlD`{bmty8VRh(SyNEbl0}Hw25)Q1P>mfI<@A_*Z*A4sFRJ)ATcC){5Po zd{@CtQ7R;oVoXU1G=!Q>B$i}Bo6sgwV_la?F(61+0BlfFm4u~A)s)R8D4WR3t5 zDKRbP#{n;aDa+qIsg zN`hBN60%542_?KqgfZiLvb@X!-H=I9F;J+&s-KUY$EKU-wWqMYo@vX4dha_#k6kU| zuEz8@SP>-&H)L*t@!HFl+VV(wYqSk$vQw2Q5eDXVA1MYPtXRcm9<%NqKZ`#5cQ%=C z`M}3hoz6mGCSU#MtsVCd=6|=>=CUNpGIa{UNU>m{(f4{Mj(vWB7((aE;8A`4S3AMZ zWKurnemI4YyWR|~s9nGGyvEOLn;S8gd&y~%`m`F^WXihWAgc_<|As;l(*S8mQ5Z5h z#4sQhut1@)2KanP2qA(6(W|5Pan$Y}t{UUtRvCwxtns7$Pab@9A9ueTC%NakAgVNa z>48B2F`q)FL3aO6jZFC#r?MCgol`p_W-f|ycx^(XU(4#z@DZXsD6~N0*rS!$PAr}( z{O6a^q9=!XvJFCz*Mz)~@hqdKfbN)xd!q4axm!F5qRzg+!b1+!+`-NEKDH=Vufzy7 zy8u1Kt=ExfXYPXe&0Q{Tk@rBRkS+rdK-@QipsV5cFIrN`?is8SkGxD*@6j_zVZ!fG z$GhOA-#Or9hd2mH4?dD--dQ4Y_|-oDR60c3Q~P834vs8>m?)tnVAyJWjnn#_-fkyD zmJ(3xP-Z+9Urjhd2%-`RHqq%BqnXW|a*lj==?~0wdY(8Fu2>VESWx$C0`3SNJO)9^ zfOjE!!Bl9?KI2)d@(NZ~$qZ0wy@gTvYVJ2?P&c2 zr04XZ+S*zj;k3}?Ns7WTWO?t1uM?iX?Kc4&j(y)tHwE-7=#OEo zb!-a_RhW|r@Z1Qkx9CG`5=3fEWn6m3#)zwvj(PK=Yi6B3|238)<8XUu;C_$Ka`%}} zRI)y~?E;1BU9m&gBQ9x3u3ZZ}WHzPKKea{%Owf=myDf(t{dbt3S^3RcqBUZx8Lxq@ zZHliL1_?yzf?9x)EIy8kX}NMaMVbB20;e%#vPZGSNPzH=G<;{=0W~Rs04anzV1W~G zw~|Pf)Ap(9X@D|PeGPXa6}BgFBQdDv**2842t9f(XRyd1S%T6N3vt-}b@IeVm179I zjZ)hi860-|-If`b{fWG};_=a|7&_hwPk<$9-gY%!V%J=eYwmBOoQaY`xY_FF7q|xzr(3&`q+}pf^LSC*Okd!Uu zC>~kmal{e(i3FVp-VKk=GJZXE&k#3oEYN(sxn_4+o(Q`Qpd0X}Cf0$~$Q#nd!q?Xi z@8rPJ*7BqzB(g)1Y}8%44+GItBvdt=I;N|byl%!5)IpbW69r7;uq<1zYM$G5i{IN+!&%(RtFkq{2 zBQa-LHf5^>!i>giIf9t2Xy(O=(2Tj0uzEuNP)2;jZDnHg&X_j9$I15 zDr7F_0%9jAC%|imEe5{)P{F!`;Tc4NQ&z6sjH;n3t95uz8z3{*LwT|8zw6*>0e6g# zujze`H59h@+~ykL1r~QRL=~0QU;FMHH=`&cgNF`|$SjOfNEK$-_A8y8r48DNz7-Wj zBHqWcChh$Cevg6T`5GNmjsC5?fzf04uG@R(gNDviko=6(%97)I>ei6Lv>c9eL|Xxxg+$jCJlg4&)xXoKaWtm@2=X4cOb{ zJ+&&jK|@wey3KyRzC3F9)A3naaa4>3xL`74NS37|Vun*RDQuQxU zW~#gOTMYMM=@3}7BmP<_2jK)*u^;*Wo3Zi;^{1XJI~xs(juU5^(g%yg32k6rd+E z9uBAHay;LLdF5Sx*#)5^m)dUVhqWfD&HdVdv6ksXmCUCMc~Mkj;p!B`^F=$gewatf z1;8f*H=~?1cmbJvISnE@f06?_(W&A>qU;=nW@ZUHbDY}diKez(i#^`9@ zONogOk>PC6)L8Cs%dSKNTUp!Oz_rZ@NE?@f`r_5)Q}wL6^6rG=F0P~1{hhaU?)}W} z9S`UmXKsG816Gu0ysWYF6Vn9y`fDCJRlr#B z_d>Hn;2DJ%gZX}j_kF*}d4bgXL|-?fhdPXvbs|tEhb!$*=+KQ+F$~N+D_zn*_4Hj% zWnQ<}(xBVl>gQO&ysOX{FBbh=1iM9kXc$4C@GWRruHw-S3F?M zLb?`^8CWTzR6`=9NI)|SPjLZ4j1eRzm@35NC^&OMP?(RW?Bps7lL?}A8SMOE{ve)} zBLv1Pmz;$pFwmSTbI4SB7S-y|U`H^LRWmJv4PZnJB#8?aKw&aHQ87YcBNhYWiGvXe z;_j~iFd>LtwV9}D2uDpnnq}kn9EaWxcj)@Q{m*%+0*~au_AjC40|Ontmj@fg?XY7H zC{OD8vFxGeZDV8T2hsy+pO(H)>|+_$B{4L;ZMguN;(=alKY#!oy9FNAfz7$oI0W56 zzSB8=3ylBN6RntIj-Kik$T~3yXmm^V?qSFFqlz0xN44B(_gJ^g1h^&7B(Dqtt(9|8 z!YT~|2(W;TR1{GQ>V>_ZH~sSnZAg-^w*`_^u_UKUk`-LgNpB0Bpda7EBq8Wn`PZL{z=Yayc`cVAcJ{XM2`lk_&6B1sJZ=oqnNSfZ&w z0th1j7Da={dcKR}-{`_5nUa9wkN-Sxwd;Am_Mo7kprFY-PW<5}aQaNd)jGBwJTEC*ko>i);fX&HhXG$?fBf4E+$HM{hbgc3`dfhf$%jeDzi~ z4lW>#8WMgT4^!FRoBq|{{QpG|J_gbr@{DsKCKhn4TJ=_m{uUCzo(7c$r-TceDY4gnIjCOONyS+S2utU`jJl)rAhE;M z#0IhtHEP90@TgPzOyIslVGivWpSkaCR@W0=zjyQfHziLiZCXPpS{-;Nu05jyl~%F> zgC6+gmIPU=Jdtev)Yg10Ra!zG|L`23>a|G`kBAP-=Xqy<^xyS?L!j6#-OqnwIQ9`g z(<3ZDyFC>5k zy8<_}-o?t|;M?X@3b*rf|83WZ6CbrNSD|ZgL~;*H~It>{nz6h9vVPvsGj zL%+BB=>Iv|>i#36=IM3fWn$DpwD;bdN3(eOQg0{^!*GHo{4D?8BNv&dAn2J4wsp)l zTp|t#0*)IB0G!)Q|Dfu~w50te*m-_-OzlDnkJ@tIP6;s>J5#+9jrLvxqOOaV4J@iy zfmIyrR^0wbIWVU|3Vb*exk3k`z$XoWPD!)V4I`2;9=O1AMJc_AIVQz58lq))TgcO# zbCd{!i5Q5D&T^P&iwxr8_b7oCggh6&9%3ub(;#J zLiVs63vCBqN#^!5y4KRtugrI@D|okbnjm;)VKX6_1}={+0Qid@TmrzC@4w33>?aJ# z67prBsGlYEg@u%`%Nfbt(pGW3j;zntrd#SnkT>hx{0eME{hTBn8v)6@Lvz`}`XBwU zIHU&*eeZE#`%@CLXreK+&$s_yuJ;!tTtn{2gYytIFB^a{3(YmxqZ`7MMlUL*q|yA% z$xz@u6o}p75RftEyd#-RMI*{>Q}N|*$kcbtth4G-APv#E91QNS>us&Ql(;vw8FU6#S~-p?eqQTIbK91L4p^8Tb3Iv*J^xi1)OD~K-GA_IhqfABI&lMT zm)5A09&u5;{w?L z`2dNwKfn3J3d@8lBT*rxmEf|1f%qDYs zI*M{xo+y1qDzzMzxV&yNq9PU(QG0^vO503Orwnz!)w2Sq%2+fIb^z)Ukw(~4otL2Z z)oWANR?n(^8k!;1sRj`&badvK2t*&A%hPnIwK#S%^FM$6ueds5O+wnCyb8q%8WxPp z20@ThAj=Un&NPH%V<_JMB;gj5gcapN>-qLSOxZs1~7@B z*Xauy?&HGI*ll_}llOhp+n4h@yfe&u05>9m?@Q&Xr&&UsTg8iZWUK!98<8#o7KKA? zT?1fW&WjdU(AWvCv_CU@saWJ=yoXVKpZ1>dW*DVM*U{YD z`|CK_294j{!Zy7QaNZ#S5EB1p|BQsn%m@Ku)?r4o{^u83t%I{fps(~Exm3i#*TO7! zq(#6(kp46SlkhMG00EaqaF$K5rtfk6QUjIF%=L3Q;q!C36cL+h*Y$B-Gb!ta)%iBM zQcfg{opsEPaVAny&#so%FBop*AtAUyVzrnNoZjv;@AvEKSrygSksREUUO5ifh7j`)&P-pubQrmK#OX793w{{xY3r8}uXaTr+C2=&)4PtK_uk zsoTu61D!7(2!J`OEQIQMD1spfge18eeBVFR=Ii?09y&H3_IY~GRR?GIR$x}5{{5=2MiTY)DQa@-Ua`JyCU!BFecUk!3HyDj+_smE^m-5v^H4;(R}l6O{s1-~XQH&48yPGY=TbU}fg$ zJJwE+-_*})hNfag-N6zt<$2!c;ZedR1N-e;@{I z+Bjk;fVYK0d4GKD+`$9I?fqMgUUIS|tbZ;!;@r3;3k{1_OS58*{!jGDXCnx z?BxqF8iH=~HyAM#4^x^#WPs+PftDkSN;UCe`%@`tBV=rN=zO7*r}!zZHP%yy{6LRN z4`JlKloaV>hVz1-442#ZoN9lTtfyZw$D}Y5@VG;<5`4>;lA>)zllQv%$F+3R*09*O%l zGQF1dkT>KAAAt77yEh$l7uf)dEsGsqNUtx}5%3n4e19rgB-i+3Z zE8VTg3+5sEXD5Dn!(5e^A|@*0oR%^XNzyG0AXxLzOGQ)m2=cmW0w@PNpNLbA0%Si= zws~*lBJmGeT8^l-BlCTRM$r7Rq{xp=Dqc*l5lTSKb>L>_bN}1(cXKItp;_CO`<)c- za-VoqIsSFkt<6aXXKW|e*453+5;?8-Sp*^!{8)+rc^7wSp8jL0lKUidYd;Kl(4t7j z?o}!!HyRU#e%7TZOCc%?xW&=Z9yZI?bM`B!Qm3pOi57~ev7K^lEtETzf1*V zrdn~EMrU6E=k=BC(azj~su1l9Oj24Y!hfGNedd>m8yLpu;OA`~++-XQvR;zg#H1(5 zSKC)0)AI$!NUtSo;4zWdk(tJ(`v=LP_%(=Zw3^=4oL`3pgcy01l3K^yZQKlh*3uyrZNG zVB^?fA_OugB1H6OzSnh-7?R!;D#hyX>+`r@o5Y)Zq{5*@a4brtGfddRR2@}xua%{y z=`Besr9b6sY@H%!nzV4Ta5mmPcQF*fVmW=&(W>Rs)Y1cweNCa@=b?xjL7D0j<%6ob zt^TG948XBPBEWyAko{1T-SCaaJ$_gZ=r_#MNC^z{}xdjEEQ z*8WjzX}!j=OsRW}y{)+zohx034HY!ZP{@)A7X8Thw*RqwWiV2M|AG_QI*Fu%L{P1y zM=lg-A|B;UU9U?w_YRB-$Xf^@fK3!Z3g+D?26WtXK394CoBh&h!g7eQNGPigPo|Pd z=8*YlC`v*U$ske^EP%35k{fP?PA(ZA*b>5h@(HSS&lxltaSP~r50580_XI23XV*?^ zIhXWT!MoM6y=uOx{jT3d>GSrjUp~x!Q3;R!Z@at=ePo@Q`FiJidEE>-4^S`<^sELe z2Occ~uXF!@{QjQ>M$$)a1{Gubz0QSRaQb)v#>Kc7nc|yJT&RnN@vJIXG#zNKv03dCs`>K=dE!cIjHCG-`I{w&r`a4 zgAwClf70OJX>ZhL^-PiLO^f~Lk(QtKJ8?cuV5Kd0Z9TNC5)$%{Vk5SlxJcxi#c1`ROJ{nW@Xq2TJ z&r#mNMG7J#fq-dooVi6#kxK1|(9gZp;Y%Cs_8f)BFLVZn*mxidi()zjDOg*ah1lzB zvj7%lCUtu5;@^Aw>JjPJWRA;(QLB*fQDZNq@YL2qvY&l~Uq*bIc|+fwz@1@FiAaXW z&M7WXPLJo)|CqV&6o^ziH!LmG5cWnnfY>8vz|^ghhlzOks06nWI&C2H|XP|ltzghE`y^Nl7f9)$-E4d7^)F@;j)YoROEmzT$QpL zukKePTaRPwuo8FKZGWP!2G@J}@$(pP`m-;Js6XHUZrCr8Z4Z6zu?$$L%GH{3#=Lj$ zT_^$smSFV0O4#kTlElF;H7X2iUsgL(yDwBxnc$BTb~h1-)VLUL?yj-D+t{qwu@HT2 ztZHiI?;s)3w~>?lnm#^K9%rS_$ya0k)*T?dt=p}s4ujMY&g+%Dn3{HgduRPLV1vR5 z9nW+8h(ETaTz^w&1Ef9pjOdk^#*hmzKKJ}?G*x&yD%5wFA*{`-?Smo|)-uXckLSoU zOZZq(OLK7f81Zx^&^vt~zmXyho2!=fX;!r4wL%a$ijcJk&Xfpd&w?xVg81!0{5iBD zctiaod1%V}*|-LQxfwDm*7Widy8~F8P5}M1thExVe5CS{LovEZmJ*a;HzT!;*qKJeQJ%&6*&N7EnA z$)u|ufe=#9}Q_I2$`Di9P)1A-TN z^Q5nLe?i#1?QY0@k2L>!EmT!; z#Xjb0_)_S^``F0-H_|+k_A2iyI_LU`pXUxmGv`L_ zH#e#^1oWN929fEwwa#98TR}6&A-WCSPRjte3~sh2Vc(klsaftK@mO)5d^vr4UhDyq z^3d}B5MvxouJW|uAitact7aQ2?@9Jyn+4R6t;T|b8$>R#B46(BielCP4+js$%h_^w zYc-(bqY#34gsW)wtxBXcc=PLN&g6lp))OCS@5r8c?}2h#-Zyoi@MI!kDny-H*D#o% zDzhi*(;$ND&0wO6D9r>T(c@-ZNXiDuAU`<_divOy{x_Wysul?y#E z4`_BL=GSb{Uw{ZSAnf@8gj4H5C_8t~C51(mbxAK&UctYc= z-p)M0E7k}yiDxh-D*z)hm#`Dr;uJyD?^Yv8CRC^3*glwvG%LT6Taz{~B_jwZ*md7fIIGpcc0Pqi6$bgHnhN zg3J>FkVnp=-$yP-%ACAH-0s}9$7F@#RLHD)$3X0(?(npPYRP#h;3d!g-z3MC zeTQ3&_rT*aW(81Qr+b-Wa?dkwTd;Q;&qeR(plSyF2${Q|Y1fjFhZ2dm^!lF@LpQ1Y z-`Tq@-1xROxP!&cVWMJu{=eGwDp*>!Tc*VE<}bzoSb|2lo*onkL7n;b@xXcmSPJA( zhsVqFPL24Q&8Xc+Wy{*fLRwK79N3n9n zWZ{MS-Z#&or10PuwB!`+aEH(u9D-d%>5O^UFWcW|1KkI0Dla5*NW+oRAxi*fbXR(l zw+Y~8e_0Q81|@*}-6!HdKQ0!9E`wtg z3S4&z@qj7-scy`hX}08I#uJ1=`isr_OO@ty>zg>3Borz{zwPz?SUs<3jTofYQZUn3 ze-4Pv(>DG$8oryjMk>z+dL@Iw@1qGLERMq-W}@#YC8Ry=p`|qgXY~~E8XH^f!9^l& z6Lejc$SY)7hdF$)b;d;`J6i6Ah^N3?PuR%HMF|G@96gn1CYKrfXLk5JqowA95+h0g zDyZ2#ZV~=b_Y@ZC-p^|2!U8opiU5d7FIwl_(fHpdzo_edPyPsCO{Su$D?Uo0aA>L-PU<0dqLGV+e1eSgxp+G{D>P0~l=}Y9cn~H#V^p1&7$<^j6=>-LV1} z?d0n+g&xb?45N$3(nWZ0dq(TZC($wsv;_U9`$MRZY^I}k3P-0}dGo&q_tvA*#gPBa zJidbLSq%!q)kz1o#ZdWBDd|}pP&{0RIdPdv>Na{b9!VYr7Ceod`wW(}^LfrVQ}-*6$e@x7piGQ#}^G-gXK z;9rP!c+0$qTr-v9!zN*1rGt4H@H6oat{g{DhK;us`5)_nDSp0opx2?YATUoWTGt9g zT=@$W7OG%}^Mg@hv0;HmuHvr2WLQBX3C3G~bDUAY?+@)$l;a`HgBT#JS>&i<2ljU- zw`eM#o#)zWBiPLKXIq z!d)03j10*i&d+nn_6B!XWCJ0m4oqj6 zAQ^+EwUc-XL$=bhp0Y-Sd>B^BUq-KQ5zPRy0)1SrMvLpwOP1}71uigE0fH!yz>|kE zmz<<1gcu+L5$7%+?##|^H+6{fS7g&ezM5$$@i*K{IQ!^bPKm5i0|N<=;jG*XKFH3n zl*)D6F;26O@F?qP`8mf;6{P(He1*~o(gf0Fd9?g*Rhcs*u}b9g^SBPYFRn!CPL5~~ zW3XDbDRZ`=@6>L`==F6%;IgNiqrL%xyhW8+{_9CROWKQ_6N1N9ee*=U{Ne5f7q9Jb zX^FFR@F@O@k=kXCNI;FNN?}TfT%v*+`K*zMrl{AGvQ<~2lo^YR=R^M)8CGfwQh4bq z)9kGQDH7uQY>7P_1nBJ}v+U1^pYQg*70gcKu)pCMySH%nj~kJ=7s&l9VshGnTAO=wcP$~+%trh-Y-wHOgnVT-ddiP&fq{FC1Brz=HaU^KgksU z!-g}uJa2FFvKAQv*T=t=k_=(1X{-M5_sCkifGxY~)0VXbT?L1BY4YUEj#jaX;rl+s z7Ie8`fr!4hkxWu9vBQTtn+3x;^-s!n@r#_$pfg6KSEB&oFQiO?go?tnhnXvId_vUM z8KL0J1LpCeXJrX5T_6`m9~xsiVh1=WrYMn*G{s^B4h4YD1zc>vik32C&uD8H)=sb~ zDs-$fqa3;;to>YJFX}nZ*f!GD?b`<@d%X$q5L)vN`^}w1L_|bj1w#(J6cFa>axkHF ztM%5SFdg1MvEb4r!0D$*Z3-|*d_RH2-gz_N9PGkgVL4XUtL{q0C1Ef#37Ik#IxQ#g zQCm{rbMfwxO#?x%BSf8G6UHw>bz zi!iQZ=Ed2^VS4%iIHsdGIK7W1sD)lgvJvZ06Q!$ga?c%KQ81!>r^JPHH&8NqW zfH%cdgg{%2FvA&iBT#;EghcXDC`3f^6TmoU_7<9~xpL*D*>dH{w0n(1Yps(9-j_P^ zh)S3xhAv+Cb>Z$TJIH9dmjT{_^i)bQce=tkN5=5y$!4nJGLIj{xh*gL~;{Hp)%%qXQ zkYy*YnyXN#KHOd58Q~6Ge^n)?3 z>7d+;||r7yu)r(n*B{L96jIZXf+O;hBsBu68p^rMM0U#S#nU3ifkQ)Zl7Blui}pE_3@@| z#g3HyZ8nKo02!1-!l5A%0unRv*$ao!ZoU2;th~yHE7Nfi9>@IF}{erKWH* zSo?HJ9yDFLA~sg&ax0NbF=nMW?%^N>)gY|XlFCPQ2>{#H>=4F~Z#&wwT{nb!E%8p+ z!VDSAj~5EjYVw&3|49BmM*pOL%QTRTkHC<{efuNyw>3mUMEW93;bc3;^9(7Uhlwl} zp$Y-$Q_^BgFi`qf8(c83X+aEb-WE8t(h}=(jkTo$mMc#Slf;nyzza+#^M94tRXS`Z z-#tz+qxd7{XuwsYC^LU|1F1+fY?+aW?%%VvDhHjmgGZ-$PXrE&4+BLlD2|RzY>|I& z^BKJueLiSi2((J&^OkbCe|b{gCev-lLv#3=v$4LZea?h;UxsgeiJNu0%_yuv;yv7{Q{j3551334|C!m${|33#eA+PqPAXKKTpxyQ)JAao&sBqt1M@Y z*`Aw&=3I38`IDZA1Je(UY)|Ok$?qQe|8lEJX<3*(VTxZiSpwPUyyu923%#LWC>KwC zZ2*dO^X*MvIC0EUq3#CsWQh;QbM=!a%uAV;y8{0J&_I6-_){-7CzLmD$U7-;L6o9E z?!`|vkT<=KT*06+GIT17gt^z+=q%uv1j7$R5IM7~geW2^QYuvvrN0>UJnEms3?i3^ zXfL@>JZZCkd><^F+SH+k1Btpx!?0=n%wwwBT@7BWC0XEp>aG*YeP@G5W@BPXH<)RHUmi zYM9S4ZizvUYLqg*n&rc@kGI>R1++-o0$~Aq3RCO}Wl@xH@xl{b??G6+AM@Bl^VC&7WcR zc@craVn(`E=y=8Q%rc2)lE&V9HT?SfC4#cE0fu!>wl;PmR=9>oOUYjrKwoeVKQAOsTb41v8=A4N-t-<&a_8UEMnzubAx-2-Bco_tjA`BL{(@Vq5Yvtfv z5=tyoa4k2Q`Cf&nv*4{XdQJ>1nk`v*HvjiKN8YKzuCF$2m6lm^frO8X6(GmsIJ(VX z)1QWZOme{eOEaQguirW6M*ULh=@7MQ(n5u?`g8C{1zvqV@}>QP-@Vjbv7Eo7VS0)H zfb|tAI~KihrTK8>eZV!UYBirDkWmyUMo|a`p4WX4McML=0c1v!9Y>C_gS@rQZnbpw^_C^2$6-5wT=dgzAiv`3GMMOkZC+;NYkn(7K z`#KCjs3>p{R)V2R7)CHTNSsI&oDO;gYu7j&F0(VBr|VqeST-tPlGF3#EGmIpRUKTm!z= zIrD?f%tyw&Oj&?eEhd37H2Mr3Ha7Pcp!c-Y&2#qF0eDr2%ZtGLj{yEZxybuYkFbll z{!Wv48p72cp*Z6RM}XnRjw^xA4YOH==?{dBa>NUymsyG@n23MWpC77jLqSYCu9gHR zQi#4bL7O!|8C*q=(bsNWNCcqz$VY_3HEf>%c_?9*D%IEBvg2k5bmP26D;7jJYx4fM zN6Iof;Ik2kb_xC6EUrrViB7)X*iRQem}U_+t5J!Lr0M}pIuF!8zgoeNssBd!9mXDH!dbAxt0|I1B z9WyAkh(nZLLjlO;1k^<+8MC)DNs|EtNpN-9rXe~UYJzC5Clbr8Zyt!x`dYLs)$U8Z zFGVHuHil1YG`bqhDcAZI6#`I;T=mDL*SNPr;}3Y-X(THH$nY@FCVn4R$^*QU2soAt zm#dpB!{OY9Nj+VdC?G^gwRqr76sexp(!*sX(shqmJ0IKkni94Cyp769T5O9%xrmKl z!*5&UBAdgKMGM1y-v(lh-KGFNdp&C^6vKuW4u#0&2MP?XpP7wjw(R)oDW(kr5UD6* zLX=e%LrkKos;H_0rBo_}DHtUc2jS_M;yOPQTagYP(h#P>h!R2FsWZnD?HGem6%VYa z!FT90>!A6bQntlJAwjGGh$;+XC5;`w@oEwCb`~min8602K_|0EYC)*&2-`V#@W?#p z0eDF*$Il#{fyj^n^oBBlg3dK8R(TE%H28#i)B_Xec^8apRS+tjG8@E17=dA9lv(0b zS1F43Algjr^@Taiw@l`_4{E7AD+2Trm-#kEv(SVBRM_LXF`sos;Ek`u8 z%^;53DNk3%!iDreLgYM*e{o@E_3C#39hX06&229A+~Y&FFJs%X>IJL(mYpzXFED#v zy;GF~Ut!O`<%&M$%fv|9PO5(Zmh~@`Gp}#DEJPp@3vt3S#!KvozS$UU~J z?B?k~eTAqMK&cZZ6ZEhj{r&k@m!wrH+o;rXCl>j%yC|qc5P>)8n)n-2U&Wo1wVzIO z{4XEs>y_5*r;QULs;Z{f{bM%SzC_oil$C$ME!3)quBI0jpRL*a{73G4MpvyuEI^V3)!u!S8%KnBcQaR*w!N8M`kZO)|C0A#{kr2Bh5wiTyERCS z6z`+S{$7VdZZK*-J$#_j1V(IO=34;C8ZY~3NEf*tRCV?ALdw_yJSf|@{ry|o5EcSA z2ABRUdtw;3B|)XS_Wd1xO0pso#Id`J!unIX33mzL4fwKQYgQuMjS@$ZwIbAIh;7_? zj56zMIu9|tb;W@KGmZ}@Ppzjh9f*k2-yB{d#;MVuawA#zuGkoHTFiW{jkF6#Q<_9V z`vdJPdj*0E3lnvCoTK~)zjho(!h~mTTn1-nhUI}ba=WKR5I65U+Vb&VHL}#6wcj|| zHMfr^7~9?8IY}@cM!xbuNo1ef{IPrUy~iQM^fq$OZha6w&AOdYNOHc=P%%8^akJ0- z7cTo-n^X|T-df=|cO_wDpU#|&d(R#P^oD`+u#2)2?851yrchlzw z3*M(uIL0~M?|awWTTg`e0lw4CyTaeb!RYA@h2G?aKd*_35x$m+{NMgJlU)8(X^Tu0 zcVX5lsH%d-R03r2h#hWE`nOmVDen#cbh%^tzMvq*SfRilC@phG;QoS8BJaX^m0Y|ogJ&!+;NbJp%Xto;8}G0xyHGDtJ(MIwSs zw$zzHE~|^c$wQa%B$Q;WSsWe>Kz%sJv$J;LqX;AL+TqBuK2|65@KbY1U~drIVmE!g zLn7oiO8r?OVF1|ygal#OU5Oy~DhE(vxol{-!>0`EH-u=tdZvB-gQ+EqgqB!cbCW#7y`J4y zC7tkok4yRco{#!82T5vC{gbl}p$s904WPmfNMR!^%rJtdN7y_t!C+TtI^4o4N<$nf zG995Ru8mLMkv|jjjd8EZ-MMmlqi=faKSjQ`p}TcP#hyDBHHa(AxKOqUsIWr8fZ5_q zWc{*Pzz{r%LIVFY*JN=>(U63N*4UAejavzR+YBDQ!34kV**}ID5tD?iK-C`$x4M%1 zDlS~f^6Vj9bm8!S71-SUpR0P~tyyjH1cL^x%dr?dFDhrl0sTExU|}76ujQxS zhvtG1M;j^VdiX0@&F`JgUu1*c-16HjmPRIdy3oV`OeanqgP6*~nctTiXfn9aMZ{+X z>&EJfj?PDr1qRegv1&Ob^BVqHIM%@S)U7O;q2u5pcGhw z&CXjmyWUE6(C=@x-e=@*n^#6_zPn!~y}D>qXB#Zh+h(r|+f&NrmB(LGc+xcnu# z4ttAT&{vB^_?d73A&WgLd*aQ8KOO`;^HLb#T;i$|y2ak5jo)_FufX^mg4LrBkU>+q zrR3=?i%e-5UKNYd5Sdu=C!HXZDfJ_zg|}es+<~_RrrV@XT9^|054Zjfv^TxxRPF@i z%0v83Vcf2_y1c4nVYX{{Fo(Uh>}lw950_`TD{F8(J=z`bFr_{j`_g-TO>-q(4!L$u!v3w$h@mWqmY0tXaAuigY7>U6t<*J3e7@!LZ_%yRx+5lD_j zRhq14Eo-9bb$GRaYKi59eAdG>!Z+ko=627M@6-4A!UeFQjA2%eZalq9XkOQ(Ej zg*AIc8KTu+8@@{H_Rk#?9;0^9B~c1tMMLz3j5YAFyk;5v8Jh+c-$Lea01(qbfKX}D z<4axe8Si`F>@qVh>k#uG6pkQ)E2X5Mma_lQz1k+m(c_0aUN0% zgm7{lBuzrH&6y#Y4|Z|)$VfAnNeda+XJJVWqo>z8Z873pP;D@POD<*Y25->9tj$vE zi<2yU=F5xZ1p}2F(dVoYQvMr!&z?v~WU(~ZES-Am)7pP36w2fu+hlMe2{W~=(|06b zoo+J;_ARlnIsgMTBI;@aq_PQVQ!JwXdRLEu?_U2e;k#{XM94$hz>MPVCpu+hxE zT!7t>yi~7{kuR>YQ0ct#NH0rCl6Tg|ZRth~QDFPiQLM5MK#TGbgHy$f`-C0uy9PLh zmPcc+Tf3c~&)pm2Cu{#7k=S|Y@;$ycRTX9)7&&g8tjrm+X3a^nX3a^nX5>QoTE4Hp zrq)NnNZH9ct2w&8wD-z*TK{<40_KgozDAmp_(5l(SL*N=js2g!!u|aqssAVwIROGH z0%T?jik*4ZtknLl)L!#KP#5j*8N1E3Wo=Gbb|8n3>zg~kar{>j1GGO zY@3W@et-eKMbPPxgV$&ACFK@ez&@|BZ4ZZ!JPF0cK}Yd8=?^{ETP4VJ!XSOZI$jc$3wQ;K~`KHOupKEJfubCW1}{>TaX^Pb+mfAHI_!AzZ;;N_|E z&>v>f`utj3fT6u3xFfzcZF4HrgGwSUKetx_9kpE4!4K@ZJSc`kW;z5-F6}>cYVFZY_qlzW6N8F) zJ&so5{onLEFujiZG2h4A6+cW0n=kkeS=R~1qmLC2NI}`S1c_DvNry(~5kfB4yk(bK znKh=&mSWg9XXwWCnc($&D=>*8X?mNBl_0TK_N$K=E9g!o`B03@jYit&7I=|&{N?g} zLAL~vjvQ6JUw9Hlqou-!!~}Xzq`PGPkt5(h5fT!pQQ1B47hT|h;!Y{uRT?_h5iKhC zDo0KrG*)G*OWwbS&GzV|)!%8r`2)jAOTDkiLPDSFPL)etu0KI$Oe7K+gp20`hD6;* zrii~31SSpW#*c&sq;`&JJWbP;GbMK!G&E68Ay=obcdzup<_8pje;IDygFN>;$kS|xne=& zG7f?dl@xaTase|OCu;l<1hECghi!>&fRsasL}#8$5nrQL8e1+S)RC^%LqIUrx6&@j2^tO#aQL>(0zbWn(F*dxE0 zhEof0M|Sg_-1BVhULb05@DL))X6Xwr6cR_Yf$JO)pVE`r{4P{MK!&v_i;!LNB`-~N zd-(o#8%~-7F4rg4X2pIn6fp2*CUh-e{1AzVNek` z55oJ(GwCK2uyWlX!qA|!)3M;4#_Kih#aHfY1zz=gRa%Z+wY%7V$WG5*Ajksc5fqD( z7$UPTz3@kXjlm{@t>vM%K3#b;ONH13@KVx6|72d;=q$yjr^!DGe z4d%t%`QE7DiNX=;A=IDZ4*d8WLJjnh0n9)7y9P=zMf>gE2njJB`Y0nQqlq6vAgsVT z+=5OVIB?l!tNxJ&MH_}#vSoMpo+{r^;XEJ4DBNtY1nl{5&!aN{zBM`^{XtH-x3O;y zR8vZEaOAA;DRF9jux18eZ8(m&ha$Q>Jt3?JBYxma|K9A|@Oh(P+H6tLa|V~6Gjn?a zg9qgo7%&WZ$AZAyS<`PbF;YJZLr`5>Y;TLsXVopD<(5!V4Q+P(`O9g_ zTtp_u!v@B=Vux9#J(oZ-)=Ge7zsVcOlyWHHZV^ zD2gJ2qobiAKb!5kakyTe&3jnFa zj6b)$_x<02)WFsEx+?8h9e5yV0!Wa-iA@kPDPQ^mif-#7@f9`zkMeYOgnn5U7c8k< zf)G$6BfcT#Y}!VA?-&di0-3h!0dqaa@dnB$yHG?OxXx?S1~Gx-Cd7{w6MPV^5kocz zXz7=RdLfUQ&Hh+b(E>2EPXO+6HuJpM;kpCiIW}fZx?!8-5N7zt-Cn1>?SeMigJ)5p ztmkYm&)K+}WZ4~HnIeiPAXx!~kHKx;fqM!5zNo27EF|mw*NX{1*>>u>t{)Km`yFRx zglYD2(x7oKG1QQD(ieoP5gUgvjFI)+=m>u^e$a<;-ha$ni5z}bmQ!VaETkf@k z`68T#`_Ta%6uh)x6Jlaah*vPRpo=}f$q!wp5Wbp5(r?lnn(l03x%0V|IRl588}GQu z&*5-qc-^k5ry^PT-H0C|%d8ZEgAZ?dg;o%;frCdg*1)*242lY%DWxDp2vC$nK!`|Z zr2#WP>BMYTdSyv|Fwfwnv)k=^TbkH4kit}HDpdl>QXq>O1gfPv7*`ZPd4^;RFev#L z^Z&(?#HjUq%4+F0hFs==_F?fTwJl|EZ8{4sTV2KW`xhLJkGKSG!ki}3om~3R4bw5Y zY8=ru(E;a{zH%YGhAiq@p{9hwGXCvudd0bZbCvkKXez;CjesrKE(nd7n9c&ql`G#-yI9>`>kjrP}&-SPR|VQ(^K9tK;NMVfz1N!B52>@wQQ55nHRW*;xOL0 zgh>!LraMTiqfExrG?TRN&u)2Wpn*;lCxTIQ3nK($0g5n^AYctk$9-$(FW|idYS!dl zJg!?s^p(eDB-YT^3ib<3VQ3IzQR+M&Mu@%4Z0M6+Y}->KX}6|=Q4K)UuC%IJEH*6~ zYOSUOz3!AP?B<4Gil$~dx0(UHb%W`!^Uil2u;N)SaU4r?A{&Cya&$pr1j`A%66)*= zrJ*GUtZ0z^2;u(APou9Mo)-Doq#^a-dbyfb^k9(6`v0D{GHR>gr+o%km1ddrm4hu; zaebQFVkyp{B^dJrT!Fd(_m*K{Ux$t3X@Qiv@c#*eLz{KRmA|PH?*fw664o(f!CG}+ zoW(U%&o~$-g_4MY078kSN~!m3KR414%TpAsnE?JWS=D=$Om` zA=WJ32*j3you&@PV)z?rlx7I{-?WABy6@rGVam?qux14Xmpi-W#*kdY(ul4raOuQo zdt1!`B6g&a_a^>TCvCxBr1jd26mY|oa$w(I?)9n@B}5()>RHlJV)E}8pO<@}zHg19 zUx|1s zq+gMF>(musmi!lP2OtCM061U|c=@K{JGr%WaZ)oJ%^^Y^WN{8%QY^-X!4M(@M2feZ zNgr>oi`{Q;w4ZwXN2h!+?g9LUSinQY6($bm1P@P*>-y)Z&nUQii7B0d6)=SX!RcZl zh$011MT)USQAHF{VysbAQALU>#Zh94qKg$piZAT>lD%(&Y=+2ehR9|i466=D#>%*{P7^TzPfay(KU|6g!M$Q)`*T)=rNvD3vv}9 zAy{Txq}dOx>WaZ^Ar*jJKT6_nGhX;FOc8?OtK{Ounj+wF69(nJ52@vBww z0+tTd1WK|%y6C}3r6ubLIqXvV*LMU}@p1h=;=Y5$@GmdPW3lIO0>z`4U~7DB-5!@e zA4Q9+7QvO2yL#ARG}^XL3>0CA7#sBla{J3Q#P&0d2Mds0p2tijUiUIj{Pp!%hv&s) zyU;$S7Ej(g>iXGz9xAuC7Za=0`*gA2uKb?Zhlm8>C(9sN@AQHO3j8N9wVkl7iA#>!D_x!Lm6x=JNBI z&huV}mfNVn#e5$((-v*15o=oQeyH5Ktacceu2ew|2-~>C(EON7cF(}bWI(7Q(%L0A zehW9!!%fef1LmO2>Ev{-qbX~QUsbC08(F+*>t=tbE=!D33>pr+au;YYfrbz;(Z5_X zhppZ^3yx3P%w`d3V8Z`2`!q><1Z}pc?tpGr3olLKLrcHj?e^d-?NfJ7*TZx320e2k}mg;s9#g&jBUtF)JIWVNMmwlei=HsZ=ls3M?!{n=tUbh{kB zuRGY#&t%*L&$PZBnV4^61U;M z3@6Bn*8+sk5{l2U?0#?*^KLw`xQs}-y_2-N5vN!66}y=R=HHp2>Nd&kFEb!AdHwDM z$nYa(GQ_SQKL!39;gzq`(ild_1pxdE1r|qEqd5Rn0egc2>myd&cY-t4pk@)P8>-DS z2nJ>o&NQuOZ%5;VHLpcgD~1YyBE9~{0U4{Sz5+0O%&dkA;KWqhb00`O$SEyVlt}>e zV(ptv_Rk68m`vin`@{RZ?iK5gNbZNlZ==MWA+OPK@;Lq)s)6R!{sy4m2AY)8l+2Xj znX&M-(?GIXy)Dh{?|5oy2m1wfgHp%XFS?CvWfLY~W(zhkxfW05J56C4Df=O+-Rj1)q9G??Uwmn(y- z;&^ipw-Ke3nt9mN=?^%|0aI&!$A5@7nWAkrZ)waLTR-#!JrAHjQpd3$$PwES4Ve-9 z*HKwg9Vn7BS^&`=Sbkt&aj;7~Y90XxByi0yg{TtWPDJ_u-U=2!18SZY20U^9=?pmx zFi2q5`2Aj!i({p_4q*YtA-QicE6C~E0lH5{LyKd6mBz>gt`FTiZn$PC-w3~gHSIK! z?I{4(apSUds(>9XFLm~^85r1zN0a#`7`{qA%e%z#8|ni>-*7daQxMk>cU>P*>`CDV zPpC;Zo51|YFj%DOCL5n)?ERJLw`s<&n_xC!INe5+6hf5E%nuOl!BV4`kv|F85V5ydYtI0fS_q4**oKctuqVibFt! z^YW*f&$(E4q7ft&@c(!<7OX*+A-E`hxB`kG=S4tNhJb><#uYn~xL2+P=&An7r9x69 zDs9T8(20o%dV|%KipXgMAvYffVA_y|uF{oNRaI40RYg@*RaI40SKJ*qgj$dywXMc3 zkivVHacQY?F1jRFD4Sf^bUOIUt0wptvLG;6FBv^zoEnV|XBbR6_*Avhy7i@dbegaP7b=3pwd-=iQ&_t#_gGrl#CzVWTuRq>ybv z(!xcE)lihsipprJE28yT=8Kb#J3GRV1KGblv=3bz#dD4u4zd&xV6%}A#F5Z|8^ay| zwLqSSn%TOivj7}v)&DGtYUaJ6MQ@1x9*bX}#O&-9_WWG&bCzL*xYzf7ac-WT7Mm506LD_yM;f}i@bmr=^__nU~U z#O`YL!+i=M(i$Wg^Tg4i`b}g@u=0&GQApzE^wqm?H~Pa%w3rX{Jr_dvMbR@k??yfD zdz|MxcCq8Fif$Z|_Abb=X?)_roZKoS8MoJ@{#qYPPpM^Vt7Tb-tL zSH1YUWZ)C2+k1^WcqhC)Q6xJY^aKxFbkRtNC@6}o6bdAUOn?(U{E`<5`;*4@AXGJk zh-n9i><%p4oriQtmCwK1<7qQbkLgIlAfxy$V_h_o&7LPA@p=$c%;wXTt||=%J=RYf zt_pqNbcXO(Y7GXm2_r&X1CIda_n<;lK4~xY;3-6bB+gm_%QW2Do@&-goABhy^+Dgz z3hgf>pG`tSN&rfW248m^&&+GhBr%I-Yeh5OqrM9lPI%X?xS*Iso0rED+5Pi7YH;q7}=% zzk^A0QxE4l=0gmIOoWJ$7?F%YJ?D#*Cxl3ByXut{7teNh4ICs@bVQCmsI4Z64F+nO z^-(?ZBN-YF7hG|dg4yMTD28Xj$kp5hY6ppJHHgfeJBsmT#FjjfQpE*!CRzvF$3s@( zV{zZ-*9WJ5UT*N^s7WBBIpD%*TbC389w;IrBLkLkM;7#T!luG&eQvFd(!+S%gu>ml zm@nj+V)A~GQ-?3<`XQ$}|7}mYtsabRogl}l4Uj?j3it{}Uh;q~crpO3hY%>B3KGO% z;GJ;9b+RIHdmUiNJ1t&NX2fuS2P`|go4i|)dX-e(NLY$80-R03{qAg%dr`GZo@Ri9 zrQYgccD%kiNsJyB@c)lIokFO5b-o^BwndmuYK~Qx*2h<4NFJ-%)N7;za3sD${TayX}*{v*K z>AoizAliM1S!NzU7{YGaw>bP@wxsLjMHGx?H{g z?^ERy^17^s$|8K)@?uy@X*(8?hc`2p&fc)GVcgX!F^ZY5&z%31sitELk!)eTs8H;r z5@DW?5;m=f<8H&=sS-uP9DJRIj1pK-3Zal4PeIvKUEMn!%#MvLRiFaeot&{a>KzI> z)O5xRiBA;4&%?Tow$XE<4;9h~vM7h8$DZO#>POrWYPr(m<$Jq3W7EkY@g3LwIT+OT zmX7fH_VxjlTatZm!|3=y_&wJ5 zx#~W0+SpLq_601W6j@m*cH+@;FN?%3z0piYDG&gg9BCD>gMpc=gs|o9KwHJL)Qo8u zLL%wrxcs)JrMe>+60X zBxaABP5SG-DQUg@zn$G=`&EE2Geg=@h*_5>0gm(G*0Opm8o~5bb)dURlhKv6Ilg`L zY0+N|IoKvf{K(kN2~^$$cf?(yq|j${bR{BM6*E^3Nc%7%LN6kG96bL;k$1ch>%>ap zv!EPhOR_}l%)BW{2%3}%v~)51_9Brt{$$Ye|KE}PEZJpCrYzlBJ zk`Wi_c0wksRJ;*0<;o@&B1q&FP>wiKj?9>rGd*zqbP|L-ZZWnP7t|GE1=>b%2A~3H zz!pi&4*-u$Sb>1Ysx0wAz{brY6hlD>7@^alT5X36SAOhoBj-rAJ!%I8xQs+$@75vjk5rPQD0tG*jLxH&{i*WFDPrP zhAA%49AX+)W@c4YRaI40RaI40RaI40RaI40Ra>ZeT9Dw_mnfEuF$_Zx$0M@NU{wT0 zuwLtw=YC8tl0=6u+4S9C6XR%{kKE%qeD;DKYUA+tQqIKEt7^Wd&#ex)0C2ogMe5ao zg;ni_7D_OyUjp@oUe~j0Uknksa|e%eT=%t#=Q-|Iz3g+wvCnd`&mPvj`-I*blfgHB z4i}Wl#AC|2cmACrO!3?azi0*?{J7?PioT=V-C|^osNin7V?>Qut^UAEg~Aw(eVof$ zS?QALCuJyaD*Rc!awe4%a}q+33RF-f1Q-Phz?2X`DFqe~pn?HI6bYEnfjp59FA9fy z(4OkQ1kc>lLsZj6QB>7c6;#zzRaI40D3wICTDW>?yi5)a%Uc6J3Sp(oKOorU*QYj< zNj%TukzMRk5jAZ}SWp^9%_@qF9jX%LVQ_|>L|3;bY1eMP22d+D^dIjI_Gf#BW0${Y&7En>S(!FRj$L5*m4CL`q{Z(bK#&j#oNH z{qMCTNZ}DIgi{dx)gn!!xfZ8Pv&j^tV;`~M8ssuKcNQGz9tDR?WcOBSlwf8&E(S`| zJv2seoxO-dNskE~#Oocl1ic1(ZBQ=B6EKb;>$`pqun~@;12R5}>sUacB)h`=;6y)$ zicO`Gwy0wz_$pHsN0T?wDNi%~*0uHv0gLFE^`CZx{!ty!x#5!JF zkgd6&drD{sanwXlMFkN3I99G`WuH=)o}I8D=Iae216h?p2SeOL#UJU4Rv!R}S?0Ol7`y&~_E|FCyJ@oVRAce5ag z1MXAwq%Bo9NZ$q`nu0F7QQyn5w?ZZP#F)T-c?hWrP>RS^%82e6ud-Unc)?-TqVblD zmgpJDk6I_?Mvta}+X4ymH4<*B=U8U`*EW8;ae9c5Ct#$Ml=0VY&ck+;jWM5~{M?OA zn^Evak9K}?zvkCk?NrlU%BmS68uT!b0(t$Hb8l~dBW|a2Pc_PdN9uv(TQ{k^if?qM z{<$;;?&Ew#`>Qd*=chHUZaHC7$EJU&@e~HKtmIa)G)?V2_f<3U(c$lTA`wfs!>I%p4Z|A+!LEPmX-pI zFOwxCHy5|gi)Y!}bgvl60?O0474Zx-1Y#hFd$mG2<~kFeVuGj$l23!>ZLU0l71eA2 z-|x*}wtns~gbdIiZS&-3oyc3RN6zx4zcvMEv2^F}z+v_g2bWMkG$ZU!TvA3CgdmI; zlIS^+w%0SEnSdjxrdh8r^VTnj=y_zVyLEPTk$v@j9<`i0&z zgi!Pz=E|(*0N0@wj3p&woJYj{@_Fj~H+G2}WVra9(Sa8bM`j}?24mWS98Ea)+UmXw zBz|6(q~{Ecp_Zejm!Qf50QspcTKhdcZ=I~0=IQJVXb1p6fJ)6!)w3~-cUT!tlWl5b zw!GhEh5h1aj_sFPeBUD`+5Rpu=kmd+$7Uh+Jz56cF4l#Pzl_X4Zvza^nP9AAe-`8F zPyVX9481SpZS}uk^m^`oFk5)~kmBr1E2$51&9IlVHdLjuhXvN zda^e6p%P*u0M>$l9MeEq0)P|+06kB`?eYmHh^*fuA0Z|zUR(#SudtxeV!BrIVqcrd z6eKYt!a~G#h}JVPPwE&p!G(%IS2v`kxBR=DyO4+60p8d-UTVGPqyN6Y-{HRS^iFn% zQL42TqO7(`M!?l^)h>XFo?)$!hN zm+D-FK=uBSITm5t8Y-;^7xrMWKSll)2(xR?2e}CJ`Sp9=Tw22{6!YT3#F1?C zEUB^UF(0o;QeN@x0n%-dp_1C>rTe~pm$jxHqf1ef zr87&|9DsV(dS|cSuDP$mA)<$3MiCfbgCVQKTa}g8PZyOJ&n7$wc^I!im8qw!iv z?fChWSl~q}N+j222S;yFlgx;SkY{Uras7XXF|r{ZMG7eQDT*GgT+r2M;{@ZXA^0w; zY`;<(hoR?sV-RYAp{~<6^RpSdO1AK}7B4nwo}DG_SaY}icnlx=+W$(PGxB$GNlwKL zqGA$F2((ohoaT7SX`^=oQT-$)%&6QAPj%#Se=pjsgZlv*e5m?yCu$?U3_i}(n0Axx;^OThG zEIsarGg-LKXOG%#3Jn$=;;}_WP6r`8pGqIk#Dt5K=R*doowUpvB#WB8!2v{woqQke z^V2s;!_m;|^wz2gTgZ8md$jV$`@A0dt$YY`s;g7}p!|bFD3fFFFVRpya)_`&dW+Dw z;w~yI+&=RQK0Buib9R@UN?VO4U*oKl`F8LX#f;h*T)=0RRv6d<^Z(2G)o-r>$vI%! zmPG<<9*DpZ*SWz4nEp}7GnV%`;l;cWT7ZZsyi5FubF|EC9{4O|m;p;m`eFu}wd)f@ zfV)6@TTNFprpA5l(T~e`ygIv`r00XxwVA?Fl^=(0MGiH+itU8q?e%0b1U4v8Ap}B! zgf4Ny-n_d2ICvhdk+}PkH?7Djx4iv}n4O--H7*7TehOv9;>gIdc|vFAmykoaM4h}| z;PBaom-krnR9~>%H?I5B#4BnXRlT803M08Se=i{8#rxHA=0nm0LJGcAZMkY1Z^ zIe5Zm8x_U)_B$N7VV8n90IB)GA(z^lK7s)yVMlDeZu28$>TcmL#}F$;%+T5{(Ncbf zz{sZfE-C0fi#N<~t;^sp@mH!@bA03?d)5z;`XY*okSS}FXr`)UGv0?q=jxLiqd2iy zSi~pliVcJ7(X-}1v5Z<aE~~HcKH_M_$Y_h+xJcN{b!rg=W3}v>VK> z#>bBuN~GUEig(X(BEVL#STP%#hMD;pQ};26JWRoBYQL-&Xf=G$86l(tzi=-^zb$|7Cr+2-L#^h*vu@$%*e>ODNS3<6U8HO1!!o3ksY!2e8*!J=43OO8S-&gyQZdH(4t)$nB3%DXu0t@)zCo8Cct;^a{g%__ zgFrzcZ+-IuM-BcFl1BDi#KwN!wqN$e=;&ouL@+QgI8MlZ9}5i{M*HYfC94vIMncBt z&Dj3@)7!d4x6Q}+DYC`Fr41AleWiGo;h1Fq?HpT8Wj{RiAOsqE)@-8Fo3zP&sdxz4 zTusmh<+l!CZ#i-r-Nf5x{i;wvG~5BM@j6gL7U_L@&P)qdg1HfQsc&_tUhhM8I8}H5 zZ*yMdbC~Cf_dH|yobqqgU_;e#+-Bxjs4g^9 zrmCH?iI;_LMRPzJ3#fmgzGMyPBV;Dz zX{p(Ek}86T1*qloxw`k9Nqu;>SHCQi9AqZ!QrFq>_@zj~3awz3RS9~}gURQrCU`O= zU5&QZ7Q_}|EgynbiLDc4z-SLy14Eb9!_^RnWQl;6K)`h41Op*&Sr=%$vx@JUcUIGG zggA4no{a;MH2-gny>dJ0bSh z#1mgNyu;0e=GAnlg#t~H>$bL z?fPlkOMxlc>A99Ez$>8CEqcgZLze^roP;VeiWCyigs51(NLq=EmL`>P;UOqXX^xXi zw5w?@rj#aWElS> z^4j`&B~`D-f#IXl*aUo@cfS!DVfeO)$?PiknIoN-wl4SnFShE!K5Fxn|Bu~E)k~N? zm~aG}#m|I4pRHz1%EROcR|Iq+nV1tGJry4XO#TN%d{-JSg-KC{=SI1VB8LkT7}LEv zIpD*86)i6y3|3~T6T$H(VIn6AuL2a83WezFquk6D{0!C9k#1|2dn4muwnIwUo1TrY zS79H2D3SGK{z{kkHU4hz#*5CAD^JY5aD$O3%2G6AA2s?O=8vwD_D5;1{+?z3(5+Xz zt6Aa82$>M$8@?fwCay*^0!g=DAn#$X!$poI8F1(XRA{@SSlgfu#V03`9gt_X&t>W_ zaI!uC-}KA4za;wtBUw^?I(Phw{jsvVKBwCPb~S@c{OQg7e-A83cKh zJJUcfF$^YPZMJea_^IuDjei59;8ND>w7p*o>9P0B%Lg5{oT`)qne9Xv} z1lirSCs_=YX_Fp;@;M%m>hdBqLepY_`$9B@0XT3#x$Q07jcHiPuzv$e>Mq;@byGe6 z#+N>Ct%klEhIdvj)fY%S%LwNG7kKyfD^OxI*vVlIA1UG9@=$4e>w549@^@CVbbr7< zSE}bQG1~n6sj!`+{GF?fPZ1lT=EOm`uFA^Qaolc!CFSF zZ0mp)g&+rLyfTR!YFDX6iq4~1$?aP|2R!@Oj%^bBE%B;xpY6FP z-qn5TH$3!mRzFFsNRd*FQbbM$(^SmPygIE7hxYviSN=G`ws{-vqhL2+)R-J>Y##Fa zwzR*G7MzWXsN2XR`jkY=4+%X{2dPjZBF_&IlHT@s^K@pQG?Ha*12qDcdp?$2I#lYX zWwUU6WASEtj#ZKV?#6lt5$Ar#?76WL`QBVcP3@gf!bQ)_lfDi4gpO!xZ&VOH8Ilj#&t=$-# zx6jWYc|S|bm%sZIGk?Fnia?}NED7`gHRI(#G)WbjJ4qBgTW(mv51)t?C^z!Q%!L@S zp@gDZZx+a^;MqohO<(BlZ)xzfeI~fB3^>FI{(a*cW5tMXp_beYGF|e1_#%eb_q;4c z&vF;5BYpbi#`HAd+J+-x`)wA)O=Cmnp-sO)2v>BBksm$2rZ(Kqc)n#Y17J3F?utj|1Ap%jb_K1L?~P0 zp8Org6iGV*rq3ir#9}yZ8js9~koer?UY|9SyKUyVh>w+(p9 z+z5jrcgm_3wLLwl(0+f}z?-&Y+B=R=O{vHRX@b$FC#5K_G;R zfM>OMZzm3soUv1U#6xMeT+J$4AaamdFeKO1Bx4C0t$s@%{)}C~?1w+;$qe4jW*6O7 z%M1ms5w^5eGho{gn@-=b>PNIkx;5mzi({57P0pjc3HF;Tj9}6)P}?Z@xs7D*WB4W_v)>^e=ECx zk;9whWXQ%oP8u_0(55w)x86R!_bf~{Rap;#E)>l0p@fiew|;<;@T$JlNCVu=K)y#` zJ2_~;pa(wXECmpR6wPTc5S(T!J;#0lv=n2Icem`^96v%IAz3`#QIXx^|5LT%mB7>|rbeGC?^a<;a@^=Ymioxt8cZi9Nq2r;dd zXB>wq7=6XY#|c&;k3bOS$=>bx5cSeY2lhZjH81k^@HZ7pLU$GB+?2&3V+T zq?_>qq;LU|WrkyhJ?-6Nb7svN1>oq3ZQGdG zwrzW2+qP{d6Wg|J+nLzTnZI$W-u(mm!&SSwde_~1tvau3WX=Z~V802P$;VkBOv&Exu@&j5ZaejO04v`9GT*CVH;eAY8Yf$*K~ zdJ=fyp(GuUV`4FLoe?_lEesuW_q{S#zxxKPHqL^I&U^fyjr7{Jb1r39Z-BgXM^WYv zuX)`a^*|Jeg@Vi3=l(d3Ig&0ALdwe#63h@{A7}^-p!18JJGTIV`yw3yd4dP|hBE>2 zkGX(-2Tp2Qrb~Q#EnR8n`d@xwtvzLE&O;^QQxcEfjym+PKKN`a_HCjR zYc77*)ePRW5kKUjw;=^b>201arTCNZfkJlZrat6WY9}RMS)i?VyE!%N-g3|DVShN4 zO-L_i=O)2GkhCtA+Vba5?ayFk1W%3qE-p}vRwIFTs=fYbKZ3+V2trAQ^9?O{NpiTF zHPF2RgVL+6j7jRz49KbxO$8Gn>eD_V&97Q-t%8h-GC(rZ*W#)H(n}EEp*kmOyK@ne z{1-hII21A^#s~L28ktnyI3zSVbky>-$^-lqL?V;qPny#fpNku=BOT!YW7g?B0Oau5 zY7F|A@9m86B(Na7ih+E9!8A|7GTAHf$nj^U#Cbn|eQ8{Oj zR@o>mO-tbXP_~v&dFpSgep*yqPxG!^?viIJ27brB(a-Lzui5Chf>su-`GI-=az}95 z9wR7?^Ib=+HhGURs9g*H!^pZJCXotGo6qXZ&PEToCTVnP%x8&NHDG&o=c~7^jG!PZ z-jeoHNB-q;4wir?@6C_B4u;~@?8%pwY^LbDN3>#f|mN2QKRnvlJaZAxw#R*6+!LzU|Dt z`cECc(z-kp*&5~}@SZ&YYb8Ii>||lbOEA>vw}pRgVZqBu(yu=_P~3Hee>+@0KphTs z0&pH>+Sty3CU45$OcG67>ehtra^Y|BEGzZJZ9P&=7qIH*9FPFncm z0Q=8G14)7)aFimPnIk==36HhPL+xkD0nk*;Gu&g^e1qd{`{3$P+;L8HUsmT(0stNY zTSTDGm5;X)qoZaL-~EyM1`*?o(MG~b*l;*f{;c-gR@M*VH$Wv#mh3N<En&sjsSkZM)h3lA@H%;eOh>JH2u!%Iq->#3feFM!~+aq2w~33 z#2T(`>@hc2-;moVlS4&Gr$p+c77;|l?27p3cVn%YnO?o%3p3?QCJZgxfC1m)&hwd6 zYz^TLMubC{D5$l}8XYhCIFa8Sanhlg|Uo-03$F>tSwOA8egKc(CG#Jt`RaQUK6&-5Y^7Nr6VB7_Qxx0vOJ)`*#Ww^yUj>u%P$B9QcUF}q55 zem;#5ymG&ym}q~(y%s&5o%mKo(7vtVlInt}sK$QD7JEWPiw7$^;A$4?+hat#(`~Jq zAC{&Jk8jMGnL`pmADk7M2X*vszXXO=(*>?BFF?GwUOF)o?cE=sb9-{)vH#TCEf>z~ zNMX-Ot+Z(5ch-SXUZvgEoxLma8aTgf9|DYhJfbFylpOSI1sMQ5mIAYDHE+G z%4-*>1Q~h_I>F>PEsx6j?txIys*I~T?}T1fM3gE}QK+C)!3AO*JH}lF3ZqFYSh8+L ze8T&9-J4ufgt|e5;u$WS%`5Kg{G!zZbnb1;XB~Bm%W$K?IBU zSg}WYx|O)($dtD_6ptI}?9#f|lZI|6cIhaUbFW#K74hiXwJsk#V0=Pz zVM`2tKxwM0Zu+Ax&xcGwu5p|wVG^?4Mp8;(Va9>D}AMOr7D zdXVh1)GM68*F-2tj&L_{-zg6hFp7ZR zvtr$N3hTLHC~A?cu9F^}^zy`t2LTZ#D~-T#_nwf8tV3FE#&u0$;t-#VWmSfotmP=( za#P!J%YMCj*^fMH_q$b9Y#OL7-*1sf>n>ZeS1%R(Snlr|_YZfae}lLDBvJokRp`xU z{B?P+zT~b`!o1yDUw%fGnP?!cIEYl04Ao)$c>EOHndpji@ijktZT5@0lZvp$34XU* zL@VIx@~OLbr8VK2*TL4ne}0o-`Xf!BJ*n%2sHhwgHYB939ibxkUad7rxrM0vJQf8QmMnr_Z#G<>l+^IMm91@n;>eb(JJBPF~t5dXa`aBQ#DB(Q3Z?EOC3p1O{ zC{)y=JzfD^4p@47uAz9H#cS%acKg$dLB_>*R{%rs!L?w)+l~pB+z-N5@3v1Io^Lal zi};mMYW;){CMK;4WYR=`6u?(=V&h0tqvcb!xv_>&xZd?$JkS>qzQojJ%iBu%D1Zb6 zU`2~1GvkG1ZvpX}N;e-iWCc2hh-JUN-QA8F&-;t#c@W_(KS z^BbvR>yn;amE>ciZ|2@XQYpubo&HceX2g1|sqJp@2We=9K5vF$&MY6H3%IY=8OI7| zb18TVl9)4MC-O#tkhTDH>9+R0c0qFsJvp>IsR2wzVp1u-6+1p!}*mTsQpRW zPEQctsB)UvxV5n;!_ppUaL01P+Lv(_6_R8H%B*wa?MZZHaK`_=mD1e(G=$cpM#DI> z1h>Y4!Z%^~%!aJ@Erg!AV#gnEJ}5k4f@hlF9X~bGqd$unQ1CKS5dX_Ysjb8F;GMbZ z_2-gDiyIy~|L|4|ooHfF2(-57*|Ub?t|rYY6?jl<)F*Kd2_ar$YiV(~C7rx@&4~v9 zYyJrr_&8xE@3*5d@I08(TRg#NF9B)bHfdcSXn_{u3n7w66^NTYBhs%F_TDV7u>pBEKdHR-9lMBy#uq2~pL@uFy6!lY zPoA_>@xeWLI2EH0qs@;kKz1b=shn}xrq!3NaI4i6&X3Do05opy#)|FG0iA53HKMKa zSB@3oteX=w;$K)SDV-i!7#p!q8u_bRGVbId#>irUIYJEzXYjjJQ6&aJ41VAJ$xi}| z8@9@*zxC52XI5l>-f(@Zz+=R1!!1h0gi2tOtVim-sZ>v?9*X!q@Q`e3LzbD$AZk4m z(+{1ygA)%r+(J#H{6tyM3Lqs&jED!PVc3OB_Na~9u#<9~O? z^oyLq4`suKCHlj+K1twlG{6O3*Fd*55IRD5(#Scn@H4=j;*d|4aarX;>sYMN=q~ZJ zd+!J35`c{$3x``uY2b=K*kW-c7N`02}aPPA+B9n~h=jTG^%&37&hLTRg7 zsA%GfSttr$*St|_Tcu>Ro1!r2$!Y!?eWPOi84uT+rir|Ic^P2w@J_@lZcaN6rP~IU zRhe>%4FCZHR*kH3+l=w4PkXs^%W*h)pNg?)-V_WI{@1}iVsv@a#oI&#Vj2GQXs)h+ z&kPq2UqbRCWor7OV)v_&g#jiCiNUSsjNe)s1xAGarm?4)f5qp=)H|Rn&+yekoeU#Q z*wwtjv54ujdqjtGT+-!kyrx8|!V>J{Pt`CSp@pKWD|hVb)b~y9+s}B%!Oy10o#LSj z4fbHn(W8zuK+}>)%Q0c49!=1U@Y%#q`Ga@**Bk8WfnlxkszI;k-@*>YF6#+CDrY`#EYiDrjqu5k&F0!Dl&2stvxk z&*CCaNjQkW1IZKXD&*tBu;RT5;;Jk$;raO9tCf*sNCrkx0JhCb793PHB063@Wt&W? zmfi8*rcl+cj|(;9x6{wYEAUp? zHD&#+H4G@isSmsNdwMvLb{m~)o36|Ks^Olpo#y;1doEOdLXF?})D7tmAu5CKct;Pt z5K^W~*ovFu4APn`aF#V|7fz{L_to(5zo<`a2%3g7Y1zn_3;fi>1>YGDa6SlyA z%njo6J2ZYKnfm+wI%4dEDbQYzGi757PiMBaNNlwK@E0x(X==}mg9`l3j9WCRb70KV zxVD!(wR5N405btLz&+OaQNsWtQS5Lk`?Z$*6F3WYVC0GJecqAl3K5I#sK=*y5=SGRliDWfcL zn~rMV^m@|y;I7!aX!{f&lWAUwPRDuEBaMj6OXg6Pn53ew1(e8^chOT>@+6-;&t9&W zT?CnAQdh2>+_Ny)VEyv}MbEDz18B}o_)F};gykPlw9$9oscJ?wbB=F@M0d276R9$}YwDFu% z6l}>IU5=Ahn`NGqML<`c&%$Yr$J)q3f4)w=C;jg7rJGtG79LPxkcphg9HiwoG*ThfpLF z{Q-+*H|BR1n~iaL=^Z?2r)v&cE+jkvAJI|=3%T5*EIeG6w2;bKwVWaTZk!?mOW8Ln z>Zq>SFSbfo5a}h=vdj+*2pZ_no`tZ-E7v1I03OiRYlg^>h4CWiG|`u_PvCQ*+=T*8 zl++P(*};oM;pw?gy0s0dFVJhDiCh43;V&lgV^}i-I-2fWMbFss^71iX(Wh_M_+F(- zL#0gPk!9RbXy$I) zq&wj|jCB_jZ3_-8+F0RX*%wBoa@2v%L;9gKMA*cLpx9eHI0Vg=Tc7E!uOT<{5mELzmz$0iaP1 z@w|IH-Ye>!;~uEetva9h2;zX!5}BlhsGiwkG=I^hl?xk&l@(RmZO(`A)mmQAGuFe% zwh;ZjnA~i!@r~ z{(#IUSuHMp^6YSNYKp7&_iK*8iWN0#;%dJ6va`7r?X5@rHw3D5&6aX4Dg*Tt%fKl6 zSn?F8yP9_H_AXjMPQQ&H_sjp zyTgmqTC+=qs~>0Ov5DMjf-_X~wGPbZSkx;Qxjd%ai5bU%rSn(?)uRgk4qH~DmFL66 zMnM3N4;lMq1#4S&EKr%MU_X(3vWUWP0ZKein4xax+9!Wff<$Kw;L|h+h|yBUtA3_z z{ret79-dsH&h}oy$U46=SnUrm_U<(h9TE`=$PETbWLy~pK$umT0}tthcZt=8gM;xv z#;IQMFh1qNF#0z>LOkzzyBm)D;?#!#48^mEagWR|g}ScWGcnu+Dqz9{@9`lFj3Svw zmykYz16xUGo&$}ISdF}Gy$GhPRvL^`zUpdQTvK4bZB*i5S`4jAT4fS0Bci~bWBOu;lyaz z?7#MCBM6Mm0=gq+&h1d2U|_07+L?ToL824N+QqRr zFtI!F#QAzCDyQ_E%cjI!8q;~rzzsPU&N@%pp+Y*{Wwq14=W-O| zn9c!fBB(^tgnAS?EJ^&P5=N|Ontvr8FT^oCOcDCRUccDYGgNBD#19A>JVW{0Z=d}= z;q&8Ve38|** z<+^@KXD&V*5(#)c?>5uSiDW@_Sl0F=0>zbb{>Hkc?dvA8D_?@668k3RpVpOxF#X#0 zk^dqS+q%G?GqW~@iHobq=qNlzOY?}ksEc{sy~bnq|6&WNtZ0WDkT8yqOZDyWaP=6nXycQRL@$X`>{aK%cnfLZs;8M&q;tM-Jib+(lLb6-6(R<_=0^E zr&cU0BA!^@&s0Sue3kfZZBRRL_x|gy2zJ$9>f?x4*`N3We_Fp#+-(Y_Cm6yeZ*6Rt zhgC+;_8x-a?Og=sH;1l2F=xu&)9`|ssA4HV#ofNUZsYMex~f7hM)r^1v7h|iN3V;E zIS%^(IOvM*Uq01hzGzw`M7ji?#)%m1)Y?bkrnAE(+ymGZ_tK0%r{TlfWY1d_+>e%b zm>Lp&cr7+``V)6;hjvj~eO8dx6s`5l%-Aj(2pqLz_ELPvTO5_0v0V#p(!}U^__C47 z1`WPV+-Bk_#_&FlHs1#Ef4Uhrh|4M}ufdTqQoNHV`}3iLfa?gl9GI^|KihX|nhQIP zfR4ew%qG(TkBmx976NQhp(XPU}>N(762Vn zAPE#E@sl7NU>~+40`FJK6ofuOb-k0bMb>{BW%o9(>Keowgh?-3u%RT%R_|RB_uF86 zGvB`-GDK|fu**fD;2W^P#^HcobN{u)eevo0KW-pNVz}SsMFfr1t<`J~$Sw3gY=Q5? zA@U%?vSQz$@t{L0(j*f#XGk%u5i*H8Cd~yrk!BvNFso5e4-aBHqfdf{g^sxKH{IF| zXEE%=FBgcQV%kKQGpPiaFsG*EF8|6;0~cBCj>_{9wWlT^f$nJSMpx`s6sxYzB+A#S zD_28K9ZV^ZDr{4}6rMaK5pvsiBWV^V~yVnR|OHM`t?PHuJhnwAJ5VV{dldTvT-@mVk0COrETN z(d-lZWx*T*B%>g9@pV3oR{;ve4&Lhba7jq?+k}~!+I`76zbsV1s1P)wAU4;0s{!{x z?uJC;Q)$Z{rpG{6iiA<^=tNbmgau8ON-4#%qRhOoOshf*T2T}r!mYX%JU;_i`}ejD zupZ@tC&x<@|K%%J>06NJO)w&2rxWy4S%#D-reM=W0A8{7qOi{w764A3K2B3@`oO`xgWA|CpD^EdK;-nvoPV)D5=b)}i@HUWiPA45vD-fbR<4(=A zG6Y?mzRPFk$c&7TZK>a5!M2QPABQ|@Va@HdVsw5g)4@!$Xoy#s%S--a)}&H=U-E;? zjS{0EA^mO2y;7$9k=G zrG21>L{Og~+ZD$l(olF=KZBZ7a8Ai-Y=do9e)5F^ETY^j+3* z40XQ6044NKsm$$bZacv>J;V;>W zZ^D2<^Za)3t`!vCA?2m9Jj`+SRD|Vb`HL}+!H;d1ixRH9ayPYcwT+#?vs$DZr|%(w z`&Rjd-{J(MAGEv6$se=Qi{`J5C;CQvKB{^3KS5{ZN2wXr+D$qLRQ?inH=q&AXn==L z!VW7U8CBBv4j$V18DwE4iFHy!BH@_sYk>#}_C# zViSHZ(IY-;0mclMH1_?#)B*9$MYh3c5*mk_uwy9loV^YuG?-as1P~~HC`W4uH#j`c zjFw+D;4aw;77>x*L<5e`ZL&G8`w~}cdO3CfSQ*UOLNyV3f&5MTQHoyBzF1-bzj@ue zflFx#BP5E7YO1P2=?jtfrRQXJ{`NgPWBSrFT7PnJ=qXeAnmyc(A%9g1`R`<76LnUP zEm+HpZG`aQ0d(2}b7n?QfCG=hTv3$HymuLRX7P~Z_cx8!^WRP{zXGJ6gDtGzaE6t= zhiUK|mj@Tv9$0bNe+%YF#olyzZ$$LBMMfpRt0%+E9ZvCPY4kRqtao8}YsQj2{*Q zjuO$mZTQhIF*V-?XO13zM40z6EmA!W___!aaOLB%gZle3x!{h$?MGDb%813~qEY>u7_-3jWt(!@6n|V4qlZVI z^o=x8VWjl4U^IlOJkFG-yCK8E9FfSgo7~6@t4s8$UF9LrLV@te7&vlqA2p=FDiuY* zEBV8!cGpp^j&;G#<(+1nei8dyKu#^<$be=)9UcUi7RNK!)+*X& zPEYDgL@^g}6m~U#7F%~Z2Ixv-w$Ef&XshNh^3fKlWdLAv9!@2@xkQvLA%YmsMzj67 z+1XQ97Au$rY|(ajuq~6v9d#M*#%iK;s$zOX;42KiSEK4TI70-aB_$JHKvONN&a7t> zil%HiL%rn8L|I}h$B=Z?(#JnJH!ixd+W&)iD>D8cGEkH zO;i$58%%P6Pus60Iq?}rsXADCIWk9b9N)@EZ7wvL=W}^wA9p9~wxHLvXEV(3CnB)g zccT>1P+UV}3bEQd6UefF`cRA(x3@p9BVqN*=dcrO!f1l?$b`iHW0sb}n05Z<_f-r= ziLT31^)sGerkIhP^g8owSkC4vvigTG!QrBZfgKOM&MSyEn#9;QqT4&(h!nz(dl-v|XtIC5$ayGf*~^YkOx)xn zZ_o#7qKwASpT$8@A7_G+`&LEQNcU(+1?8NHp)n7!IK$_7xAc1a7H)qlR^};bE9yeP zyXu)2H*kDo8~tV3riMnH7k_~iLQ+0N=%_5c7QQg>dSPdpz{fmygZ8bR1bN=Q`wmoZ zuuz+Toq#2!Dz{Z7>S~Y$Lhh2OnfSK<U7l+(eJ?3-UiOItaM=&7{z_l1%*F~bi2zq@u?RjjIw7)tRZ;e|z>a#uB zZD`6S67WQM%SqTq22ux{NM(_Pd|;@RJC`Zka$$c}vs%z^K4K$QQP`4muf+SjYuATr z0KlDKs&D4^a6Iqeg`t{}m5C{*OG=R2^+<{QMMqazY-Ch!BZ+a?h2YGe91~e1n^$0n z`>TSnh_Kqt55&ZA$a>!^6H$TyL4D@nmD1^de+f%@H+_6988nb`bN4;;;8^KXoFQZy z&gu7qh6;2|TybK!UKGs%7-sY`;@;)ng1N7B50aK$oSnQ`UwYfZ%G`NNy@-{mp^OCbqT@yUNEXgJXOe|lUY`7&gdoOI0w}y8pum^FAu$bs_=`}G$ccH{OOp}Cl_eIs zajQHKpXJp@ExosFZ*b_5t($l@{4A~N%%uMokmZtlbD{}}-IV-^*kqnW8o%wDW-KEi z*cV%=Ya5ga11_N;wu|8f`&q>tkFD5x;Z0-DP}j zO}9)^6nE4_2ZWG??(B(^4;b9V`CSQzNvl1&rw6PxAscioy(g~|6>w#flTd046U*D#ZYG&{E^0+s47}O#dTO6!!h`9rxHVvh<3m=D*hp#^rQ+^+-p*~ z`p-aF2}yENFS~&y1+RQ`_`Uk*$B(L|s_w_~%V)rhIg`5b0u@lO1Y!#37Z2osuIp=- zxzvHZvGZ0heQPQ+8~&yeI1Q%54UPyHcn~o`rphD^E69Vd-NSABjGO&zUlIdHz#i{6 z`z(rtd>Nr-I051sp$sevSWk4=Z91d@AxxMUfPetJo(1`6Ia0F@9`G^+PHE6lquEI9}#q z^xaAu7R=cD{+Pal5%E53f_HIa{9^|z_@*Qz(G+wDWlwJTmt8qGJ?9ePT?VTU-r8Kc=S5E z>}=E3@Htwhc{-Tx1j+iylijvAw(U>tb4VL|AB24}#MyXF0u2dQIP#|=bbzOub5JIb z=t`6;QZKYJ31^B0MHT)5stB6#w!JDy97JvY$?c`ui|##2AWFr9XZws1x;GeQqOxK0 z=Kcr0m{ZY z<;uc;Ke%i^P6g0TOEx6J0?mxOepQv=4V*V!86vaUte1FnmL-H(_%)ozSs(T<2E@;kK1=sY>K>0jl{7k}9e$!I;YCkt!I>=h?TXoHK4#xk!JMInVYpHOj}C%pMt;OjA|0+$Yk=AdxP2VVt(!8Wz$ODyj7hd4;1Fu|nUN z|J@?gudtm>xEsQ%SIcdc+l6U3^tT$eAXSYi#ALgo2)eJ2-aS+E>L)*?^NI~lAh-N$ z&DH+&qcGpR$cUq7G6>JhW|Ds{5MNyOp5W%AF(&RM^Oa&>@92|oBFWpm-vaPiWVw1? zxUKw|&-xDO#nLbEF8M0Y%(=mPL@L#}uH9fuz$e59yqwUzw%rv6oSVQvN}I;$H#MWH zn(Swy1tV`Ql;nPEW9Nj!y?aYgARI3yi$?~%LH$a4FKTZ+@8u_nS#<^4X9tMH)!4)L z$@bTGX=S1+s>ifO?>?-5cwCFIRX;CQN(fZ^w>BcDkj0&is6(J80=p9|s4l?Esfpm&y&IRR^9%xJqnEz%hr#EOPv$h;ebtpO! zGb^``iXv(YCrk@*m;_Tc>%tX&+s&RfO_q;dP zJVfdsENRWe0D>#q<;gak9Ha`mWYVsBQd0qM6YSX#fS_Rlf~mAHHytWlgBAn?1RYW0 zS-)QwSa?`a6-MOa+QWkVE9_rtJYI*Tk-@1KfBynMELKH zx(f6kWG*`{h$ksi{)o5EdRO-$zKgNYuP%R91wT~;Sd!Z{ zYezS64$@|Gbvsu>uJ~@-%cV{N*Mm9x_8AFLv!;^TXyIuTAiDZ&kJTG^#2B&YNLV0L zuP9^Y+v;1#9r4DIyUw(%X+4c*-ZH`XVWDTZA%u6J^p(#sRXOH`$&0%tyT}Ib_NJ7= z>>o@Aelh`+P7r55e*i!*>;e3E4{M7)a^OeB>*PWwws07~0zVr(^H$#pn%#q5yDl6s zf{DuTy;HvlBG~`IdDzkb*ot@Fwc}PQXXKWir8|U&)oeVCzOP^6SdB!5^~+3cyz+da z;rpdSB)Ag$7y!8SI$h8YIENYfX<&8N(ul2-XYujs1&X zW}_;GfS_atw$XNS+}TJUPOD&8>-TE4NADkv;nMwN0hm=^FGD${b z!loE56;X>MulkZ}=Ol&LOm45kAWP0fD>$_1mLM!SZ{^aFsa$}zA%AqBTq$rf_49Bwgqx-u3l$DY(r5QHC`F?{JNlo}QRKZRIel3*;|o`Lhs z!6OgbZk1D1))ek@Zx&kvIHGG=FFYDemaW0KTDSAHrsjKk6VAN%k}LOL9|mvt#MDe%&n_mtJCejq5^+uQi#q zI2cSw?aqT8P@il8hN2EM;%@ZlIxd^IHZZ&mM=&+fJTN3UrU;P3qipLp{VMqo*M(DrTPQx*a{us16P8@$ape_SCU_J*r%qFAhM<`%l!Y)B?mKM!}-+T|GaF+DP zlg_tj+dCJmvcC`wP$2#L2*Yt=8rvk0Uwe9jm|(}y?Hm0m+@k`Q?X@%`7$`Bm5C~he z>9Xc~2wPNuD(HWPw-V$~NzuSCjQxTBd;SynPvAd+{{;RM_)p+Jf&T>l6ZlWyKY{-Q Q{uB65;QvEFR8BR literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0D2906E0F0B901297CEC98725443F6B8.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0D2906E0F0B901297CEC98725443F6B8.cso new file mode 100644 index 0000000000000000000000000000000000000000..0ce1164ff77844019a1b25586278ca4290973896 GIT binary patch literal 32756 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0DC89CC6EF2BB651C434A448D67109E9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0DC89CC6EF2BB651C434A448D67109E9.cso.pdb new file mode 100644 index 00000000..eacd006b --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.0DC89CC6EF2BB651C434A448D67109E9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb37b864d326f090cccc3c2b09ca4b17a815c6838d998d1aff85b2e7cda3178a +size 30208 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1244F96A9F041AA77E0829FE15A81781.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1244F96A9F041AA77E0829FE15A81781.cso new file mode 100644 index 0000000000000000000000000000000000000000..e880a09b0026d65592ab1e276ad991f69df113a2 GIT binary patch literal 32588 zcmeHQe{3Abb)LJUDIUd>McMjcnYPz5BOfh_x;s)5B}+CXofOfbELx-#)s`V0c}wZ+ z(;ahnlqknePW}-qi4mxU8ze>0DyfqeaGE$k{t(&#QG+B+@=wzwE!-k#6W2(M!bvJ8 zD1ySU`hBzW_I8(dlpG^=9NkF6*?I5HdvD&%yqVpd*-IbXzT)Q{! z-1C1E3qne%kq;}i0O=OQ6}Wg7@m0jiVx<;$0tWoP^v+#BYE>!%n)4{sX6V&5Z(ItU zuBzvO+m}uzH4oq{#5iI%Vh19_7L=nLkSfZRz-z{lI(We`eXtHbY|0YEG=>80J7l0o^WN1Y9Inc2}LnK0IME51o4P61(2fk!4wCi)e)bCJ20?cYbR6FdqYd~~0RQVNpgRq^7eHsK zt)6Yb??BEzIa(?{q^9!4Ol4qpKt2C_1m31amvnRq{>^|X%PC!OxNt&eOsZk~%XVqJ zII{bGg*aYhwl-pNg`-aC%;dxO7E8x7d7a%~nDzt4a#{O;Jy|K1jB-%z`4Dsq&7<2J z&@F9GSB{yI_ivw>nzBnHx#KyEMqSBNjSmdeAnby@sMd6`RH1uNyEBEXoh{g9!v##} zl|%T~C_DomKQVS^KcTc&8?-~ZlsUQ2{=ke~u7IOc$3~o4$0Ky+2y9=5ipfjAlk`)7 zlZKJ<8_^9Hvbjldf+~BmSjvL>x_RqY0PnF%$<7=%o)t{&S+yrOSt^!`Qxz+|ugBUw zGB#q39m{0xlC`6Fd^(rMMKaNsRL>8Oz4zVW&x^WcuXd-tW)*nz_b>{7*^9oE;w+9^-k$UVOovMG;cSbh*ug2<-d-e!R0 zPdHP;y)s7kjt!3w@4c7(YHat;gHP3`1c`-^}>yP|r zDQepBEOJdcxh9=lQzyA*8y`m5)MBUX5y)MFYpEmb6?x5aa7TgTHTg0ggDJR1=z%$w z7_YXnYU#27tI&{RtIsR-(QkxR^@&g4pjH{Wc9XV3XY#sDsi=!H@>!nik(Gwl%jYGL zCwxvV*8LT{v@Yb?4qccskQa6J@}N9TCp@4F1M0J2yWl*!&?YwnC*|%iG}MoL>hTsF z>q%R0H1#CC;HaBY)w`Y4&*yQ`11SUfh#rCyJvP_TLudpidZ6#R^$uTR!Kiodh{1ZA@|teGdTKt#2Ex~?ujsTI_9d<8%X*8Ro;uCZmvq9ztMBJM z{*7(Gz&^{se(fC>gxz6u6q?JGr(78qEbnb+=Dl_FwzH|D?pL(CtGm&SdD9-cpOT*C z8Hh9G+kas6ZH3*ai^xD;+lX|cgLfPR`FqE~MXClCZr9^oPU z2?X+4jwpJt|5Lt}xzwqXw71|Ws}=s80kpa<#35*V@PcERfxL(V|F+kRJvgQ{&dk%q zQ-3l3>S&Xo*o@7oZWr{2snZ4}U!zCa!4qxTWdlNlRLZ&wA319zdg zW8IE5YpgwEyR40UiA1b@WqOR|VMN*y^QXTT@(9W^Z~T@rD0Bd(U4*ewbfA zdG^1=D#QiXoIk#=KL`@?X8JC&0ADv)e8|ps2G(Ya&;N`19bJ4f(Kp+3XM0rMN@%hG z$v}Xl4wu0IiFrp6V3bVNC#%CSxgkL6zUc_?Oa&|8z6c2t2CLz|NHp(Bg7m>Ujr!i2 z1gQIiRSUjl3DW!OXVqT81n35Q)w4WrT!Ms2kHJ!w?{&<~6CqXpXQlr2^^p4Z{Yqt? z4y!O8Ox-jSR-;da)UnkeweUblJ&rs7kyj$>?{AH$e`$@VM{uXRtvjT?F&I)``bRYs4Jw=D^{ zgqd8SVo4FaZvxu$o<|7WcRg7L@8;8Ywm)`fdwaWI_}-a{k)F>L>`cjW9FH|s${gKM z%oj@mB@Eh8L-rFmlH_fWBWH3#zkjsGWaj{gO7_uQxnh^%6Nw(T!cAWopG;l7z7XBQ zJN*rK{dP*ve)1-IF6ATcOlj5LQU}TUwI4>;-+roMZ_8#&c$4kC8@B@cW4t}Ik^t|y zC8Wp8rWs$6WZfd(JvKh_R9*7mE*xKx{<=kK`*eK710ZgfVdze-+_vK-n@Dv9(ZYj-8yDHzCb#YH~Uz;1Z`cKO(zOr?~Yja#{b&rw>| ziD5cS%hHlcc4ekiu&hccQz%at%XZv&Fs!iT(uya0t%UQxr&l~&91sKd0}Xr*kno{vaF+a3WA`mvB%s8OVi_t- z7Rzzb2xHuIBv;chjF_!fIajDdl!!-qeB|Gu5n2n7}SAyQzSX3 z2(?{n)g%cYJ%HMsAv9oF)3^ybjG?QyChGAnO(j65Mcn>zd?p{S-9DimH9f|=&|{#Y zKli{kk2zh$S+2M~u%T0N`-EAVIjbYM9Ot6f8LhR!C5m~5av9sUGDq#pIa4ZO zM5RltiDzQ49$*& zpn9yn*;9`|XHlb8^~P$PYOF>h6x3*hf*Pkp4d|g=WzA{V8noB-G42&TGCD?0`-FAJ zR?{!~W_`7)!A}uBfjxQ;EqXpO71!kMOiR)_ zi||@k*W@*~272edrO$mJlLfK%G*;He($y|yDx3~Y+c_vKk7`e1Tn~U7nm*o*c>l07 ziZskct3{x#(JyQD^eo?xvo(V^c_L+QQ<^&J zn?Fx?kOG4CSi`SJ-ziQW93j-U}NZNs~v^MHlaIZfWD?&`$WQ598=o7Dy8`Lj%oc82s$ zmKMXu;Vy8Vv2yr-X8~;?@HP*eucrjw;elI#Qy*?yg+9)WIbibz@(Dv9?)(+G!k_T# zJ#e~Ypym;PvWDx!(G=dFZ|M<=K(dYES2rNV9A!D84{N z!?8r`vW}-81&`ReQ1v`7)h9xGIumdVM?e=6y6WkLM`CMQ+alFxVyV`ah!wj5nbX~| zg$wi1NUXoLJ<<_d-r5>DeSK><(iLmtU+`ZDsumF3jkF_n51`Yr5tJW{-HGe!3nK}bvNeGt+W+YCq?Tw6M-XS>=|bYJWU^lvRkRCH5p z66!q~>5i_BeF%SViSd#G2mbw5_LmJ9A2D`t6?ir=k8GlD z*7E6;T2xlc|H(B+LcO6E!(Zd@*W+%Xu8-U!u~g%*%2S{3W7AVeJ=tQZSHkf~x0;T$ zC<{e}hIOk))9s;QJ?qhM-t*dS9GmDuIBh%Xfs?<$$31ZJ6!<~F>05ktOaeGh5dCSh zS9KkawLn&+Ba&9*sAB?Ug@!uRqZ#nfP@j4{sFIN?6zfs?<$(;hf^3Vb)< z>>p0Q^xZB4Gk*~Il*4nxA=T@XPdNhj%BO7v?w9YsKc8QEt^Sn%oR*(f-ZrLufqUDS z@&zt!?9^ZGQRkN|^(LP)m>*$xy?sL9)JNblf5^BL_zH;F?AqN~Mf+}^=U2hk_Rnb@ zrgaIg4g!a1TzYL2LrZTf-e) zSvctK*ul{0Y-=YR^nUx*3t4B>mfAyH>;}-U?oMR#Gd50cTqa08bsIo`u9;|Sj@Kbw*1Q?IB0i3fYtwwH zn$I2JSbG91LV4v&|$pX?6kVqREXhLck#hfiMX64z${!|LA7Dbr5laOgN@hJQwo36$j9E_KbrTM&|hJt+X zlI^$QLw&q`=FFmCpLt5n=`-me(`TMKfB8PsW%^7v`b@lQPTM8s*V@~5v)JU0bq)U2 z`Ucxh;8_oxZ71+!fX|WpCi=|RwA`*aep}%5&!Q*g3Y_bEUt8;MqyRWi@V0fAkxOzP zpEucO1~s22wf;UnZ?exge9md@*=O!Be&!JF8F0+i@iVwj!0P-XucC)UW699d&mo5r z^y55+2tV$7Y5Qhex!9QFcmNX;z80W$5jgvTz=QLcz&VczJ@1tS&b2S=REw?Z*MPBY zIf565ZhvY^>c!Xp?qm5M{5td>+sFS?sn-B!A7kJ*EvjUWa0W3C_<5vXR;p@J^`gm} zRK0HUCRG*$k=~?wUCw;kf$McO^I4NWW9Ut)o-=uq>TkS|{(_-@+2Bp8IEN8$Qq^nn zCRMvl-lU524Czg(&X~MO)w3pVQvGcf(w}qS>YD~{QuPy)Hz`)W4u6v>`Z|_3sTwkQ zlj=Evc+L$-)fs~~srKE((}xq!^*{3_)oW$uxn?H*e+=HF>UEPhsj|?iNN-ZL#pF$@ zMor$NdfiHTu3yQY>qzEJsxFwkN!2SRZ&JnYOx~o5{)qG@RrCkUn^cXPyh-)gAf96cse0DnO{)DQ z@${F(zi99#RlhcQld9jCyh+vTCT~*Jg|#aAnN)2td6TLklQ*eKo4iTY5tBEmUYC;} z*WuKUYh>n4s=jIRCe_~|Bc9(QBmMR82h5vP`tP)*w=#SNkS9`ncm;y7Y6yuB7+Kfu%eB{V&sHMOf1OWBr$FT&GzuCbQm`g)`{ ztFEO(pu@DHBS1j%xm7CKt_0xTE3L;fL4U9Z)3%Ck+>T@ zWx5RA618k8Wv>D)5=KpXv%#|*?~%z9=w|pWEwJ!=Nq*x)8~9e(^BGvP9jAcV#+Pu8 zhv7*RF`cMq2tZh-Zq$8&#&2`FKuZ1UwTrt{WJzo(%7GU~v}{{bgt6V*l=G(8`Apes z7X{v-YMT+rXO+5!TwLEnZi|)on2Ne6I#AcerW>+s%IM(uBzFse)`76aMhDr&DDqer z@m-W>i9GXWXA#B;Y3Kv_&WC+a>xf>+vBFQAEJt^2MY;sE#0f3yUZcVDE6|Akr0a0> z@24*0%dzN;%@umQc*iMuk%l&wamr^}9H;ywiO41$`7nBAcOuX7L%{#^A46*S_d@F4 zOh|qG{bBW?=Kuu08LkcsV8ea$%!}t7j^0M+`7W*ZL`kK2<^^Y6ocHc#`a(%`-2}GcV0EFV3XXJo94p z;4JK0JwkyU`)~JY0k}5j6jJldODS7BVbwhIVkSI&2+TP)BU51W%uDmki$2-pIkDM1 z^Ab2*(u=!y&nf?T&Nuyjo_WEWE%gdw1(A=S`N+x}_-L;geuozDKL6!2O+M>g7kN*!soe?7~*`(gav>&oc5iw98^p4V6pFHA=) z@#p4xsYxF+>0<&n^q)2P^(OtUN%tE(vQ@;l6s*gYCV~0>{N+f0$9S5rVR&07HNLQ# zH(2vxJ;)%ZD=z5ap?`m71pwWM3B)akyAj6`k09m|XAzs>?XkcT^`1^j;=CU+C-QDq z_jTTY`Ihs&^F`=Om*f+ngsk@9FNEkpE?shGdHH2A(2>td!{>#tLs$Fe0pIQ4*Lf50 z3(QxiNwG8VJAsr{qX}tBd2cIUKBG>4USUn={UQ`;{JbKXCiuRGbkw^hvqjU@zKG@E zZ_)MQFn8+Z`6!K+V`+RC`y?Fv+ynZQ^v(yU*)ULZ&J7I-nuvG31?Kzy^EuRR-AJzR zu>O6`b%o4vyR6ogOOxx4+59cJiF|SLVFxgUpOh=Fdk4<)b1ucUO}$>(jFf>6jW?G3 zqylja*m|n>5;;Cispj{qwOO=xIvGvsbN?~b{>&ov)z4guJHQd3EyP~LDxw75^xYsC zlgeVJ3gcSNH11M_aWXo8t&`=xTcH&KeW<%oEZ6|7{oB5ag0IgjtlO1b=$pucbZus3 zA~2@h7bDW%iO*WdcQtfXJ&3CjZ$~5#{4OBQ z{yV=>1`&F_5k<;zyAZJhF@}gEMEdt0sVm1e??rh(!oIj1k?TqJ$(4vVB2q{GwikyNO3B;>C3|#F7Xx6`Jfvea8!z1Z?>8t6XH*DB6F_22xo2HWM dlY-W#^cYU5~p69;LxzBy>bIyJ4b1%;`wk|fN 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

    hojj9nhU;_-d(6hLI-h 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%0DL$;!$Xg1Lx(of6r8Q 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 E0mx~eZU6uP literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso new file mode 100644 index 0000000000000000000000000000000000000000..04ae75058f77270ed393b1d4777d00a09132eaf5 GIT binary patch literal 43448 zcmeHw4UkmVmEP&@VLUxd^JfGIjie_Dp&m30J;MMa38V&E2y75z25E_mOY}_lz^t0- zad!_4vZS=MI4h^f7TQw0n}khBBB!*GYfD?DO(`jDOl=fr<4_gvhB!*fmBK04)+TXc zORL&)CB)?W?mPGO?Kj=SAiS2a`of*l=jWb#?z#W3@4KBjv}5O`fBwO;-} zjl5Wu{{Y^BOn*OhtU~k zlE?Vl4ft&i{~tHtFL3z3MY;nH(?5j)_8Hw3sdB z3NQgj^N;G$KPYxj%y31@O~|49(=e134BbO(BG4a^HhodLD9@ zAy=J;-2b3`Di@t2-~UVdAdm)NXl7q0>LWc5x!WLDg&gY$KvHbj2(}(9JP7*PdB`1s z+J+D|&<6znw5!e=)!?v|3XC^;YIi@L}+A%#oo-gg4I6i^iXbL${(*p-J z36s!6v!;rr3Wo{Vot@0(bCdb9YJn1t-Vyw37T$u64i3%;ww)|j+_n!3Go|dw1Nkpc z=gSpn^vl>xGt2n0>S6sdoNJ=@0_c>n?Vy?5p2^(Am>moycd}T@A=PK+EZ^6md!$mz zXOHU$3nlp(**7s(Dwd1m6)$<9$J@PkWUn`JESt-hyq(44QxgSz=uh?a%Nu(}9(%lk zTsWt&-47$$KpH~~AO4#EQCLL!#KyeRnU*xxW&|G&K6+^9{{06sGVZ;spBl}P=h6O!)cF}#0d&%r(WA7{H7+5PCDcbBm& z5&3;M{Z~6A0{h!`{f38BBE5(fr!Gc|8~cI(LuNI_7E}97IZLOU{Y;zeXV$U(j3y#a zL(jkxU(XTPuneDVdEvX*2cFM63LZa4kcROX+`{!p50)3pOv@GN)U=Vb@3U`+eC>~- zQvJ2RbF18KWfZo`>b3s%PvXr;+}bRBoN4pLX7ZWs~K( z_Hljmpvt;-mOx`V%iC32V)_MW9f2O$LKz0y!u6G_gL34%wg8noAZmG?nm6;IY@_s+ zM_;ktwrE)>Z+X^NKCIWndSP9L7k}`w1+&`jaP8rzi$+Ub;Omc6#Dgs#0dkGl4uKC!&IwxM-*t#-jQ2tm7`-K^iW zU;C?T7vFHkJ=@>iK1iGHar$zjafvp%dTg7p{mqU`);DYuwr*@a*tSF-%T1r#dTZ2{ ztPVoAZo+NJmFw63#CnUQMNVG4f56(9nWH~ZhuhAGBOf!yvg|<{ddUN3=9z#`|AqNU zBjxvP@@WHMB#jRBpYGWTKbi4|V>R`YpHj~1n#*sLbL}CHdBKbsmdCoFF0Cii2g$Q`hx?fFj1KyRY1!|i zY5Wm+#EI7&hp7u8=x;2$sn5T{aoFuAzsUY(+aMwRW$WJd5BlO}>2G#?uyZojUUmH~ z%>TIhoAo){sN3JPe+6^@wfdWtC(O(-PLc2SH{!Ox*)gn9f1_Np{>F5c7j7%mW!n+k z56erMQ|@`ssnFBKG3{D?+KxNdnoHTn5k9uQy@M?hq0wAwdEvR#%DQ8Ool7mR(Ohc% zP5ATf+tyZRj5cGnol7}ha^B)xYHeg2wdpL)ZA1U0)Axr>1pMR9TZOdxYS~!>An19%waNlNKSf2u#zUSJ_ z{u}I9bk0S+n7NdGv1y}ek-upBgKyag7DLA}ZPVD(RA2OI#?KhT=?v}gCv~B$amyo(K5o~2X8R&v7Nj7(rBRk`1iCvu zfNp*c+LS)eA&vEA`Sv*v$TgoMk7jbT#oD_|Le)kZ0PJ)46AmrMOyjJ+-_5jyIt?=pfz^i@zk<lN~J>1Rpu{V!|`lLB7r!_DIX9$E2tP=n`A zyazp=At{>kUdgdk-%QU#opF1z#fXJO216nZvZDgyrkX=hcq!gyaV6isw0}cEW=F zj>87Lx+6W)zZQ}5e-!!8S0eK5r$n;99+fD*h`oI}D#Krm$g#B%`OQCz$-*Zi^3Xqx z$=*MY$y4}J`g`p$c^13f?Q0_Py%!=fy<6l0Hi)_Z7m=@CjmhW!Bq~S$K}7!1&!Y0f ze-o4M{oSZM{|8Zd`Ts;^-Cv6QGv=T1&>%+4Z?GL_My?1`NehJ@*f$%S)lpF*gVKRQvaxPv8~F5&g=iM;^f%~^+XH6yv!@wnOFkRSlwR$m zV_0mX8HdsIcbux^x94&toQCwzS9+nd)@}=}q@a6t3ftoCk?Xo7{SA}2=e6s^2O5gk zo#?KU-`G&TcILZIc(9>x?NoT3@Foa%+725`!#pJJijDR=oz`>Cetxn4OQz3T4NVW0 z*J&Ft+RUIHrojjl9S5m3{g0v3=P}X<{bnO-$Aesh)RY4~JIIGdY#= zmFd!?=T%DC$?{aOoKNalhqajf=q3Amy_EmIr`L{!Nl=ttPgMFWBI!LnJs!OJe5WyY z!1IpgD^HiQxrym=(iD0sTdGWq6>zXq4K#vY-ar5EZS(s3QsW%3JL6+KneUlYc`!Vu z&inQjv$^D~maODt(wpr@ug6>G4fX)s?T%e=B-TBKEGiGG@(1jnZf z$=X%`IjN?kl}A&8$9vF2gM45b4<%0rMd`20X|i8t>VUNYl zuOAvmr;W$02y{=HL-#n;9;Aay;`u^3-x>c3MEyPzl=%dbtT!cG=P@&5lPM3Iy_6^yk_2d|**>0;4euVHBO zKlJ*eLah_q=H(0-WxR}#J(}N>V+}PJ4q$4?c{oU4$PE|EOwhDTZ%ld+se3oc3;K1C zXE3PLk2Po%8!gLpXvf}M$(YI|uWJ{2*VuHagr1uz(J*HM^1jG4n1tMsa=ef|$`WMD z95|CfT7O&S58?{G@9=Z_5)L!|TkzNbZl~kaLFgx*C8XwhL+1r)aU# zIGyl6+iytBbfRWr$Qf@1=+(f%3yx{Vf@4lv$IKpBVbl{-T%`t0y18A=T#t6sj5W^+ zn`PHn_V~f#u&$|KT5Y}vMzi(SqwINgof^)bp7LM5+B1m_>TxKb_qCwwF)8KOZyLv_ zRhLcQ%(JM}T5YqJ*Yefbur3A0>$-eGv!gLAXk!>M{OQK_)ZY5+Ly3(gA6qNlcvH3F zx=N|5wT7*QbsXxPS@eLX$4{C`b*?$Gen0ooCrCS@u#JURe|4ql^#aq(O5dNYLZcF< zMQi^$ta&zJqtS3|8f?|-?9B{TJ~v6NVnKVILrB9`u&LDwKAEkc{N++5InX!GnP9&C zyl%e2>SVor&R~Z)v(~^o#Wv3E0+*B+FGkDBVEM^~6DLJJpm5eY>#uXhg4K1|7-e>e z+jk1Njuo=Ur`&vdeS39RTt8~XbNTV?bfJRvt+UPw58R`pJBy`BywAJMuI8|KtF5g2 zX3%MZDcEIj{T7-8PM8;Ue?_-TW-kP_!4z`8XEWp6tXsCe(6jSxp@#;IbaJ(c6{C5G z;V0jhotT_!)5zx-jkk>Y6u{X4O}MX7!+x*sd7Rk+X~E4Ss95pSG=~6hP?ko zt}pmfA_t%P?JbwbLz#RD&u1W}P10v!<5&AO0$KWNVLYnq!-Bl-50_7VxqO{yzvdc@ zeElr#JOvHrLq+tNC#j>F|Om9-{lE7rBr5%jig^EUDs4j!Tf#;5v*umxlZ%pVk^ z2M^amsRm}J8rZ}XwZEFs(VH?7wZD{rUm6)17|iDBx2s^2m-MTuxAvr=<|2Rh6Q~R| zXpAW}w>eMWjxe}e_&wKuAv<}hIVe+xp_xs^8>q51G}~l?9BA<*qj;KmFgQS7yFJC$_0Gk z9Llp|@|-ex;`KtF^Ndsw=7-x zjWX_RBA<6vkk<;I91rkaf*rDT=@M2@q!abjCI5Seh4a0NgzrIZTN+`H-o$ay2) zCl4>h>ppm&!XJHAvME?0!%HLPBx{@M5u@GGc~6h8UzX7qmfqpec{Ih+yBxX)I_=>r zB(TSS3=Y~{fqJ5_hi@#|e64=cmpk<3P-Nv-IrLQyz1yL42)FWlOT_A@J(k|6yv)}v zFW)h-@@{!~FUV7}Z|P}3k97sZKO^yIVqg1`m?YM;M`P(ks=XuDomku6*46#W)((je zB_4}Z-)&zUllZ-f&&9gqixc-ia1D}eFrxSRqEPoye92SF^yLg{H6k9g__mWyUs}4Y zThi%EOSfeuoxZemmURGio2EjkEg}p$#~=F5AMM)2L!XMsp{2~5y6`#_LT%YLhZ@6j zb+s8?v{2;FqWhMnFz9yk#VuP0)fd~_V}}#>!>83ViGlXEn3uQ}$cr6`g$oPuSYjnA zsSBR>5*_>t|1Si46*!Lob|pRs>QrJc5)LIE!sqInNYWY0;bXT+((NW$SV;VJWH^=B z34S4QJN~}3+lVFS5ZhN1tG?P$Zog5t92P;{X5^5BNi;fzzty))4ns&8UzmaA9Shlx zqF^0Le174Y#Dn;hMtR!0s%N{=_zonFL|*jTtN#kE?}5Y^)I5ilw>I$t{@$7BK`v|J zs}ucn7WCA)3zwEObXRX;8{HMZJMl0Q-;>ybEceE5O>8xe+Y`&g7bQLqb&C_dA@Un|Ky_?=yxjN^C)zHHjUumwFT3OwKX`)_gpF1@XHQ z4;u?UPa9#OuPPN(!~9h3ge^$=Sva8^KHS7AiZ4m5hiWhJU@T(_9|LbG`gb%osM$2E zv-qaO=TL*)kiIYR0HoK%Z-bGh_R!8b9wgAdJH&2d=k76nf8kpTZSqaiU()6+MN8+{ zXX$oqWxwaxXXzYUHzQyF)xOZTS950%dux6FqRIcY#g#~#oQbu`mG(Ayud_|ki`(QJ zBF7h&ugjFrK2@JP17E*izAhY@j7VYeko+(*98JY8EJ(%9#Sg{W7OjyZi!k;W{j_HR zN{9TeA-~3vr$4SG&-I=4EB*aC2BwHqW!RxJUrRse(5c_j51D*Je!$D#a|PEAy{24y z7o*;yspz5D`33LBo{RUk{V zbhoWBe@kautL6XE%Fle>Gj+Bmnub1W7xS@nxBT>%rL+9CG0lGK0pc9N)t|vjSrK_T z8t!A3?v|T&TKdnU+$_g#yu=)lpGMQL*V@H=EZr?P{bA`hTJE<@z8}six21>6ZRtO+ za<9Ql*b(%uaJel#Ty9Ih(Q=t6+h1?iJ=R9e%^m!D#pH$h^Dq`g zrl`)1JBq+*CM6ux*q! zTr@U((@0x7ZLsvP4VF$D#TWg6B%UEMh> zJJ%!*MP9tvz7(6H<5<%yOBAuf=}O#bRyci$r;T(4obJR4a5}kE?CM^#17+ocgKTMiELpyk6Q(<5p3C5=1bTka6iw$`b(QndKS@qZvMw@2M3LwGv+SBbU;1^en={z|#cbUSVR8D^D%SU? z8>~O?0vt*VW2Ktn#xz!a-E0~MZN}2L-K?~|#C@olMW%kc z<9DEjkQ#f4U0CHlj>U5-u^;>u__PWe-?msUWbZ|4?na<^FUwfBw!6lf#;v#4%{YHP zas+;{bhcGX&pCAV7fV0p&{_Yx(WoQ1!71&~%{Z=fcib}LxYBn+p7rdn6HWk|JGeH! zjSDRza!IC;#L}tT(kl*~Hd^`&=x%);TOO*rdmih18j>^E36mt#sGV#{WvEpFe8dCXJ3vU7pl! z>2991(bB_pn^_U6+cOuhr*8k&*-ud2erV?C#&zrR!gcHN!gc#9E=X=vx0deunf|x* z8>!niljrQZwRAU6)~%)6x?QK^@G3l$!nI)j9Eqn;co6eS2L{=AqCfJ=MPO)uoab(V z4CcAIL+aNv)wzA)uzB{^&8<_=N7xrEeYr!Yzbt)~L+5i&OXuvuv8Wc?I$ z3WaL`;tFL(afR}#;tGZHH02eVwFvP`K3y&=U!nX+afRmj1LeE0?gBLXaN^vL6X#x+ zxI)P&u26;*S11+570Ow~70PRhD>Qpn>gV2-`Ed_PT%jy)^Kpf;RdI!KSaF3iqqssj zqqsuzJcRoBT!i_(t9*s>BgGX8pEFQip(GVoC>g~S$|1!S%3;M7$}zuF$MosE_Lx+ILC$3gwF83S|}6R+LvL zy^1R|Yc=w@W~06-6F%Ijp!sc}{VK za!zrD^0wj%A6EH{hWJ*+6-rKVg>qVPg>qhTg>p%8h4K@{6-pPLpD=%g<{NwBOMJR4 zSH40SR9vAPR9vAPQ(U1G6jvxyiYt^eiYqkFh?qa06|wvmm9J2Kq_{#^j`bMj70On{ z6`Hjl`CJ21AHN6wpTHH$Z!4})E-0=L>&4p*V9 zUc_OyuAvqbrsdXR_t%U^d#Cc5j^9U6C)llUogP^Doqpc^Z5(?y{K)4wowx;*^?Vigcrm=J5nDz% zO9H|Qxy`f(I=#bh1_SaJAH2UyV#^Y@ARTn!SKjO!G(sBdyF>hw;{H$Feek}ecS-F< z4C=XC7Entto>1Eoaj&V8_pJ@Ib%{1brX5fl{Bb6Dv%uIu+7h+F-Wg!?V_EDN#QZ#) zpPuYoguX%58J-#8l7?quW z9FfQVSwvoV4GKYTg-?eE@TO1e&MW60uKKrWoqOUctvj#$OZ)7UkGr2*cV6jBdym%t zQg-d~nMN-q+PC_=`g>>sGF~HV-Fby;Fzlh&;NBtA@@kBJ|Mk(}E~?g@SI&)4)_H7I ztvj#GEo=SG3!wfYwDyK+vkUuzw%7Ot=GL88{K4(komaRa7o&FT&Z|OUw3sdBY8Q6R z^9m*0lJK$J7Sy`)>LXN`y`aOhb8_8jdR&`OyL-yMyMtRg^cFF5wN&W(iu$(!cs)bw z&MSM*QonPfTeF+nT6bPmKAHF8%=a!F_nsJBf#Khf*t+xTrmj`&@LG3XU1KKT9Z;dU zz`hxUSzyjPU+bUM1o!6zmjVSl>iUf~c0~0TzS?p2y6>}V-FfAXTCF>;^iC;k8fV`j zWG^pj-Felz^Qy=nGr`@?_J>VA1$SQIIIIa3=W7-JyDXfW2aVt1wZbpn1Mc^~{7&;U zOjsED{+DMk82SBgHzLCdiQp|B(2&M|n8s@W<^9!4Ul`DXhipNbrQp?GaIB^IEa;*8 zWbrL>RuMXnE~eC3OD9~%*M>f?#zMUeU(PqJRHw&)qf+;-262D-s|f4hWDpX zl&v`2@Cpvn;C~Qr(a*o5aJ};XQ1LG){w2kKpm3AIFDw6f#p8Lk;@dzT% z6V4!>Mm&qibAYXI;~rQh_u{0y@7IXl$ajZ)Vd<@CB%JU4UxdDT^-2B!1b$J7l(i23 zLWCp8)vLiQuh0G|M?I@mPc`bxjo`;^{9iYy=bu%+^YcC?{cW25P370V%M`gA`tJb$ zGy1F5%pvqmys@<=6ETwZ+?W03G}>CPD{AE2--((n6EiY(&mgqSwfx$QOzk(a{4&@0 z3;cY{&A=1*Wi6lYnKEO5G~BCKou8L6<+;o7qv)OLQ{0T5J-*-kYHQg)SVwc`6`-nV zpmxp;O$Azvo8AL+{r>ZLly1Y`iOFa9^Lw&kGJ8BoHBNYSRdH4M3+Ti>X#m%V6l|DL!ciJM7+7U4E z!CdM(S)9z{^ZI|$_x{|vqNZM{g?3X9^X$+Sh@}zoEUe!uKAvl>?Y-KjJho6Yn8x{` z%lS;s#}YXHdx%#MaST{~9k#xM&kSd}{krG<&6n2t>n@PY-OleomTlub$n(rHD|J00 zX*&_OBC@TpZ*D+LA@(B}Q1_5!r*Z+W2QfsgEgJ$o~cbIj%_ rI5sdgiXU#+k{uu1*gvp&{DI9wxzR0KHs^Dxjib4Z<9$=PQA+-Q6r+_= literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso.pdb new file mode 100644 index 00000000..5405f632 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1925F8BB8C5C6BD69F02FA2CD1B6D8F0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e573959168a8c92485a523d6ce2cf6f5926e5100faff36e09765cd8677f48a2 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso new file mode 100644 index 0000000000000000000000000000000000000000..0aac68ef857ef81c5196ab728ddd038c4cad462d GIT binary patch literal 32744 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 IGe*w;1?5mZfB*mh literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso.pdb new file mode 100644 index 00000000..266ad911 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.19E6B3D25951E1F2F91F02467D1FB30F.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c6da973d65ba475e1b53feaa8b386c2f446a40c9a83df089943714f3e95acc1 +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A0AF4135571475AB793369A890D45CA.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A0AF4135571475AB793369A890D45CA.metallib new file mode 100644 index 0000000000000000000000000000000000000000..cbc39a7bc060eb0ea7da58109f111d2363c88d35 GIT binary patch literal 70219 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 J5R(^G{T~5Y2LAv6 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso new file mode 100644 index 0000000000000000000000000000000000000000..44313cb14cb8e4734122a53cdb35c5fd3c8f4b9e GIT binary patch literal 32156 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso.pdb new file mode 100644 index 00000000..95cb9c2f --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1A894823438A140EA9E04BF73CD2EAA5.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1502a96a7f9dba701891bb21cd6357bdc9d982e4c97220691f1bbbfaec2e98d2 +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso new file mode 100644 index 0000000000000000000000000000000000000000..f0657cd88147fcf3b4f0b1b0a94beb4497d48bab GIT binary patch literal 43316 zcmeHw4RBmlmfq=ZSysz#TQ*>f5%4e?(=xK$l4UF#1F|iQJtMHjGOTyT1h>>JON*=) z-7Q;Y7`9=V8K%lRWl|2s?vh$(YjGn- z@=wQmKf3TwVWOFp^~ zd$J-gf_HGRr^o34&qGWjb|5ZCWY~#x%m<>vd@b;racBX)@dzJUfFIYi6eQWuaIbDl1GsOot&1Ad)|&_yq)@V(<*;1Hc&> z>dE~h$W_1}KxC*V_q&jL4g3K_hI(>;067+DfI1QRt`BWCfzhVPrSxry{>?%u(}_#CfBJ+& z6gt`irF`*FVQAl%1o2RTXtmEwP9O7AXU877zfe4$opR^{(=)Y%k;z>C!TeacP*me! z+KVyR7F)!&k6_ziex^L3DZjLPc6>Zv9GW~niT>yc*;~~E2h|CC;V+ssQz(`>JjlN6 zbS|Hp&X-gRlyFpz;a|OQ8am!qzgs(buTDJ-7PBW0<{zESm&(xSm$9B^mhmVDa|G5e zLs@ZacLtvaoidCpZ9TdD)49p9ypDR3J6R~^Abr)M<(r1?k#aGgJ+31wl;r2+zR9s- zp;Q?OjTwe$oj^59cv_U}XQH{Ri%6yBgVd&*6#HEK5u{cK$|-#9)8Z-fwwG zCDMgxICU`^?(7HtPngvVTTJzuaz>||UDGDJW*t9_w7qS9+M~#KHLk6U@K@pk&*vQj zkJr@8I008A0XyN2)jIR6t9ULg$Pydyef38o-~4`DD!=tR*U5U7YgO0`o2ly-kz~Nr z{F$EXk##B?*7J_#XL?Sxx%LWO&KBxyg)M{()W!8oSO@cSa;5{eFrYlG-&bC<+7cfi z#}D*P0`W$uG#wjNp0-lwLirevWv1V^X_+Z+JlZKzx!Z@edUmVsuKu{ z*WYgS(;NQ=&~6u5!Zzc|4j(f>SIqLDUW6p`ps)Tq>B~I#v{%{XSRyw8g1Yo6)w4J5 z%NiU+9>z1ju&k!@?^dc^nyy!51$j%LcTIDf%ZGW#2Si@_vs<@W1W8~Afv_y5lVi))&lP zmM3VhYSSNu#xG09KEc4gOq*_jO#x5GjM#ubepw!2J=P|Sx3^gBi{!CQm|v|PtZv9- zebH8{w}sl0=^zZ(4cn60$~?kyJ)!1lb!Rv6})p~M$kUX=S zWe>(+ZL{Dx9SQJg2m4)o0Dna84#kU(!^{UE=x>XS!&cW;Zi9o1v>WP=mOtE2OlK=S zjPU=mzgZh3q`$20t$)zgE2Y2L_+WD`)-?2Bi}klC|8n&=^Eul}xW8%ta%0@3^f!|y zT&%s3A8v2Nt-rCJ>-9Iv)$4CeXS`@zVc)cN#P-9oxUmY5ILdv=b1L*K=a_b}K5hN( zVsk0mIKpM?+pD!tFVwdKUSuvc+3*-apRg>(TWBt|c1HMV_ieM4ez*E3qs(^!+>VIm>QyX*1SX zlmpMrrLNyD^=0A%B0p>T=ijpkF@~Uy*0r@&p7d#M%_36yUN{fxX8-@TjtBHjkU#w8 z=5#>HJh;LiBWN3Rv;=Zk`;yjN@$lEbPpHX5+Yr(_IpmQlf_Aa-Nv@@!EaZLl`1yt`q4tQ8SsP;j3ZAAn#a7@s!92k<8n>WyL7LO09G@;DzTWILfQ zl+}%EtNPr@h11g( zwnax%Ib6H^jOL)`$MVom_8cZYKyC%=xN3yGt@dnYFLW}*2k^(2`JTz%1;33P+I8qG zIKPLOqzD4r*&~STe=HySg!%|q^Mk!7G7i&G$0rRV!-Ko!TM~L8xM%a8+ivsj8`&|3St?LFymOi^|LM0MdE(vDGylW9 zLY^-Dj3oc{i(8_kfY-RVay-CoB_20ZaBqmW!{a`Wg4>Ig9?Nvkb>7jMwB098EF#hu z5m`V>e?&z0qC^z+^e!y6fWn^JBcj2MmWa;YXaRx^FHym0F@h~)x*sMgA1%{x&F+|p z^pkYGU8U9*KCN{)m*@H283U~WMKS{{Hyg4C1ZcfNQ{Og1~hP&Ne9WnXw6EXSq zFURHlb0S~*o49=KLP9?OAL4TC_ha%0AI0U}e}go?8<(x$O~}A#LN@-L$WQ-mLOT9i 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 A9{>OV literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso.pdb new file mode 100644 index 00000000..49ae94dc --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1B961C28B1FDF4C1823DAA29CE009487.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:84680f1f8d8b158aa11d268c02a8119a61ac08941ebc0ee7d533346357a071bd +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1E6971511258F0A69158B0C15A49CFC7.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.1E6971511258F0A69158B0C15A49CFC7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..8962ad096632a6be10dcb0874b69a9cbba9f5fdb GIT binary patch literal 72203 zcmeFYcT`i&*C>1ffdmK;iV%7z0#ZXL(oF~;AV^0*g@g{$By>a*S^$wIBBElVh+R<- zQBY|LC@KglqEri@h=?HAzd2Zb&-31U-?i>q-#>S)_pF>VvuF0~*?Z5Py=Uf}IC(f) zAsAc`H}vZgkVdRzynn-cey38uilNoNVawm}pYlyyzbfWbex-0V+;$_`$%Y?F433NU zkD`S~LmoaZHlWUq>~4pLB4siHx9e#NjxIWENhlmXYnD4+fa=Jm-JJ7oEfJH~htwFg`4(7umx@2+;QkPNu}f#0AkIhylucxIq~bMuMfc zwz0CWgJeKX*OML`N7s#wi4Ba2iw;TtlhY1J2#*X3h>6!tiiz769QP+#DGmyc(+x?8 zjMR<`UV(KzVqzlcx-K!X!9lui!StAfxWHh#u6r0Q2qta~utHsEaq;1Sk-=U-t-;Aw zRyweLb@XhEOxEfd>gf>;jco~JBNIJCV=Dqh&yZ|jLb0W+)rks@r$t7F2mHza#$9aP zAl*b7U?3)Pg?dD?uD?lAP{`V-AcGKnLSk6Zwy5|(dg^vPV*hM>a0@^r!ViWmsupdm6W>4_ZndxjTS?v*EHT6|m~S62*>2o@{xMBysp56l)>=Gbgf>7`9OGclay|c%e^Ga-=WD) zG3Dktf-lGA-n7bfab&wVf?bMoGm3D2h$=rpmY?DX_8{bk*m7-5`CbHp6-#BMsG}Ho zR(u637K=($XBn|sv397$u*~gfR3fN_dK6^`Y4Udv_(6{BYnuEJB>$2lds|WNHK5rd zJH`Q|WFb00u3*JM=%i$p5doEgX2GNwtRy>B5}OrQ%ra6(CEBqPp((Qb8;&faRc-`u zLY8mi$lc)xj*ZJbY?Yhh$iCzV-eJl;a4EU0A7MsN^v2R5WTkl@(WkYLRVY!c0PKa9__AWuF7)VTJ{V6lJFna!_h9 zD;3Bd%SsB%OtE9pV_9){mQgRvZBhj+MRHhXA{v!SLNS2Ium)f@KweRH3?UB~zW-lI zRiIMQtnJ=Fa8yb%Dpj4eoy|%DvSV4P1QcBzl>&E!N>@ig!q8E9z)xGNED--6Bl26K z+*F`UfSin?vtdpWlUcFszY;M7catE#TFA4Qw<{-Doq_abXxMQFwOipxTw0`6)d<;0 z?|g1M2G7Y11H4i0?hmk`aN|W@%n8logtI7~x>qO)AdCq`wFte!3cZG~vvWdG#X_@Gp^yLKzcw3OhI!v%g%%h>kVO~80?6Lj4umzYZZ~P9m=sfFrU19? zKo*$_K#gpc#cjdnCIOLQ4Zv)GJXUB95(W%U{#Q~x+!k5w#%F=xndZ&h7G>?mz3pZ| z_FRfZMW#tvra9bErezs70|mJX1AfM-u=xKNk>3(oTL5JO$8N#j@E`Ts1FaC zW`tl{MG8x6az#~-ygFoC$p{I^>$Yvx&xQCh(OI!&zxtUpc!)F*+u*pCsA6BL5{{*b z>R_tZ9L?$uZ5gjo5N;+kg z@)1^6*kZ4;NPO-ds?r^$^Js`PLTH1^5D=Lk#pTARP=>O}NP9LFi@@@V$kVWj*c=gb z0G1}0Ws*VTr(($>IU>9Pg+RkV|CfO0PO0TK4as`Tsn7c|T!MDR@*W9+d!)SDpYZ&IOj`KTm+>0=G*2#}lRoq2fp|@mM^ppI;zw zHgFe!8ms}4wqko5>;4CjoxTcJsQ| za5EG|qDb;sc-_DNAcV>5qRcZOcwvYHH`Ojk!3hT;2p|trV07>@j~)X#A3OwsA4HU| zz)6WX78mfTuD^|>DCM)Uci2cX+-( z$5?>~2g0Om2!Uq>EmH>gKHyIaxGj2;3*uu@X=pH$S+TKThI7L~4$qS65fPdx78)lA zM-zlW#F}#v(#Lkljeu2%qFftIK7^2G*1QrefFExLAp}H}Iq^g)DlH7PHVl|NYAu5m zTMSk5}lNc<2Fb{BGS-?uEU~0|I3C)fPEw+G&#T@|FMqokHv+{gSlLZTo z4yN248t>y`I3Sr+tUMdrjmv&TzII*E>9-8C0XXboI>TA9-mJLT%y_W)pt9m|tavs{ z>b|@1>`MFtVf6(`cpNVTf}%cN9jsvF+sN_{!CHhV|9ngqUZ^4DLvXGj6qz2%H0yCu z`7H>Qm6VK1u5fi+C>Dk_ARn=^yij%oTbuby zidilI+Y4^-14&s)fFH1eQAfp9Ft@w_5gJ5FI6N!2J|xS(9G4s%mm2{LxcC@XXPP%M zO$IW}z|d5;n>DuU9sK?7Tu!f|@Q6rc^t zYqq;YZjrKf2_o>lAeDxy2r|v@Ea1yZJ@_-Q9T!#jUXt!SBxH+j6?|c^pOho=UUV`C$O@hcku zJlHJ2ZSneg1cIK9A(4nzU#SQQ*8W?x#tGglfYrQCU`$kOcx13nP;hiiTom0uD4b3U zhz$N`RS1m^@9yHm{DY(am%2Dw6yPf)Bsk7LBse}W?4JbSZA);ne@sGrY(jhj*gUDz z;^X7O0}|qc32WdUXmO$b@hP#v{?UL+NMsBx-r!I1N=Y0oloAse69*T@#?Zs#fm}c} zfT+uF2(J0vO?Wiu1%@MI0%wDSc&j~E!T3XhBoh@r&+_Cr_N(E_(^1fx!igdxx9*nh$9 z;Xz;r8Wbm9`{ zu&@4OCUlrZBHb+}e#J8AB+$eDG^hU`D}YVKL`8?k#>9hR#lsWWJv<7YycA7MyoVK;?C!wixKfIzYZKt>s)AOL|R5}|~+F6|zy ztUj^}LndZ&v>acU>x*Oijr%Ye>%O&P__giCw0pR2c@!FE>Iq0@nmona)(peEj?_QP zrTv^syO=EXyiL28OR55)1B0znFIPY|a|I+z&#Zta5xOh2(hDnKEpr7V%Y0h_8xdf8 zrfm>|2fHr;LD_;#?Ov-@sFzfMdY5jpNe5sMA=d--wc#A=2?8VQMH9fH4J(Af8Pf>u zWPt{f02Rv{;3BGTcc~?zfpD))EBT2108@LAsZB^48*9bzXlG^W7^D%ntpx%JeV|&w zVW8DykZepy8JlXwptJ|Mv|lpibIA@p_*-00p0+LU*NvrXxS|@UsD_p~Wu7eH|umXu#0nBSg8>UdJ zpjAbnZtM|RYmlr(s1W1VH@-;Vb=Ud_G4-A?c00~->L0|85i+HFGk|7aqXJq)8-Okt z-0$4fw8YGMgs z2}~8htT8@LpjZiw>{czuivWL<*l+GNj875TMMRbK zMAa^e>eIyZF_$6HwR)5metpcDVzF65JDcBhTu2{to(%v>Kfn37kogB8bA+(Dh_Jb$ zu(_VFKE~|g3ZfW5TqOXpcx5}c|JR=yZvdV*jPd&yJ;n=u5^___V4wIg-mo!&R5nUU zP4eZKWDOpEnsUT`{ocF)pukSDP<%@tLarCFxtCdhRGm^XGHNo~->~+QX#-JGzoEA7 zs%vfvo0VG2avvO=8QSu&>(28jTfW)x@>&BE$tL2}tMzNIxN_|<*3fdgpRL{V?ySzt z*_pfN9iw&L-HR&2D@5~e*h`m6+m^W@Q1feQ=CKWF^n)_Ny{z;xmV4X7ms@7;yqvl- zXUiAO1)T!xPWTW`fIm(htmjav-mw)F3$QE$oA}=LjMuWaIfCG92`o2XE6Po+tdpQV zu;7OGrKldToi;lJjxE40J<}X4W@UB#}vNGXtosNjYj8PUl7|L6&2cxwmwk_HJ`w>CDm z=Wx`L+vFg95$Te$w)4Eom<0w`z)ZN^ZHBOVv7MmM7MI(qS&D21ZnI3O0XCb)trW&j z?O-cXu^3~old|hYs?omc=sS;df(0Fz8SEY-b8f;jESk)V(1SM(n|T${yS2GRa&MI* z_)-JzvXPb-gQ;9c28qT@XHXAcG&}@t2b&Nvr0a_8TA<9jjIzDV#uaG5hj+CLvi?3< zJ@Yi142^2@G#ETv zRU(BZk+NMPg(;CzB9X$8NVzDH(kfxvCt*4+VfsPB6d{=^A}Nz|y?1xx3h}NLiwlqk zGNeiOki?UjTzLc1S?ya_?5q*m%Fod2gm@-gcui(_f+MZ$G6Z^$LpVCdwpi#^eY+ow zruG|+ikx?GGhabF$;F?0kuxqFPm@0{2J)CEVm3&(e<|7f9Z@Nx>Qea?B^x-@@HsbE|6NdLs6+ zV*PI(y5nVWCQ->vd6u!}KJ*kQ3{`u=0fU zh?3Hzd|#M@Gmh+;YV^ZEL+cI$b#(qyYb;Q5>z27&xveWQug9IW!~V4zZP6aRE*pjt zi~@9@z5G7BR`7GI2r%%b4@zDO3|Nh1#6$az0;T%oEp$UjPCtJ*qF#1yFhP=&{ngxr2Z45Xw+G62sIId z2Bj-DB2GT%Jr4}%w%qRmEaF1JAH!r`_>W2vZN7^`?dmk zS(u14QBqar?Od6hG^{R}5I|j-wd40T5IPyk%q9##iBpvjpSXE~=^UHw2O@a3!}TtB zuok9i1A;=gEP^KEJvV=H#>t3#JzM$GZWKscJ9t!D?7VK4!Et0qKEF`DR|AX0N}R%_Bm&iO7-s5 z90LwW6Y&f*zv8ANp)wJ}6an%ehP_*OVF%K)hbQv4pPJJo4;LuPCI%v8b8jkw(iLlW zL8b+E1JjU7`dvUm9@YPAj@4p+ZM$k3u<}+ktB~id5-@9W)6DK)61@)~0*OdAWBhrr z6pItOnHUaH7awS~;##ktEjXOf44hh9uc<@@>{!Jw1u`{$YkOt`*35RLRJ|^ctodgQ zTHoOm1twxJpy0P(d+$x+pNJtN;ThGv+@po4KcN`qptb{;#nnB_|1=BF3Srn6AXQc( zt84z(6>kyt%VyG~7jA=-ORl^~D>VCeG`1A$eW02(arIZcCLur9@hNWqZB1AN`dzS# z-2Aixzj%P1$`7wCzrB2$-ne>`t1pVX_on>Imz)u>ayms4`&>5ADTiPiVw zDU7u>f&Vlc7Yb}P#f7lh>=FBGHpVJFdJ9ejN+yOmT3h%_$!xk=9rD4(oSt1fSQ+e@ zph4195^yGXO0nrB{VvkU`!oNU!nkZQm_nvZVL@PSbTcr8*8LsO5D(rQo_cQJ=g)~1 z^nuB0+8jt$`XPZEUzdYDTf(y)53DCs+Gp-hglQ0~?ZdV8*-G?)Fw+M7$V!Z}!LKj> z##}zw`lrCUc>Q0?tX=<~*}UjV=)_wht zYHqzmF>D%`>Y%@-QSVG}u|z^ z`s@Oxe%7z4|0l*?+3+{qKH1O)z67w+Ht57!wP^ztDIqDhK?Lh0S>@;eaJ2zN0yhz3 z4gHW1oQPSkv@%V)*k)Q~U_hGst&D>xuw63+_LYd_F3Sk;j03qku+sNLN!*6~qdfH= za(gFyQ8xsW)i49dNF1``h1za@xod{ShX^iWjWjHws8CBIe(*6A2N)@)1Q>J?rh0LL z#BU-(`%1uSLztLV3UXk%00(|NHy_hg`T&;kb0dGq{;9mG#5~wpV5mXsCD0Q$_i}w% zy`$}f#Zfq(prl@vfThd(YWD5CBg@@Iuz|E^*zO2o;(wT}sikwRDOOqymP+e^Y=p5G zGUCT(nXtUWjuC?lbQV_&1MCIKU@f~j2cNrJJ5yw#qnruvbMQPC7lRu!ss@Qcty?0c zuC=H&V5r#MTjd-KTzHn;E4G=}7(Ekkmw;k!jg*?lH}2M^C?G*Ac6N(S17-<3bE{lY zHKS>eIA9GUUxtxgBoY3RQVU8`dD`4zFfw5e8&GZ(0mw{SE`a>au0?V)FL7nBrAl^= zlp0e3$eAaRX%~YT2N=2y7(+3@Bsmmj@y zlxbNo8;4wAHVpZ91l%37Wdh`v>T`gy91qyh4IXRx^#Ra!{IBm&h(cJUEa(Ft4mtz0 z13|$U2r>hyD0kTyyx)ayZt&m(sr7Hz1*Gr=r|@2R4BYUA0eCB$TabtGSHq2eUohUE z3$BANI9+*rtnw@0^t%jBSIWU&tpnt-;Qo`sI6ypY%`pCr~B` z?my|Da!>?q1u{E<6v!M5ZxZ1nZGZS=1v;-B z;YYZ6>ghRoIQ}{Q-0<%$rQUyEP5kex_5W-2e|L5OpT@4dmY|16>xAeN|H6SW^nbx| z^zGo&soxkuG4VQy`T+R*9t5;AGSH^MZ%?$NXrOVj9zjRXKnD!Xzb;sBy6{Vu@L#VM z=(^s4F+ssPprtN2^M%iH;cvGRgCoIrU2!Ylc!8r`@Rr~go^@~tEg>>qCmEck$3(8w z=qAwPbXT_4x+@*)282iJ0(P_`BZKhTw79@9{0ejU-+cLlVS``m_(z3D<9{=W*QTe? z<6>gs@&6aRxkS?9L*Q3Ex=yq}XLoNM@Iqvz;2->hS5SYd^@uw9I`p7zcc&Z$!-)bkP;v(-!KzBvX82}&t%?_Fh~gDU;Crhe%H^R>)wwJ0oU*a z30b2dG!?VUe3eYZDX#sGEoR?Gt>0V=-Ay!wpwm!L<$?95Q^O4wWmG!CFpMx_7|{SY zOE%j5kp;;D5B0JC%#N`zgRbyn6tt8eMub!2B#kHzfVj!3W!VO*RW)HJF5|KS?YM3C zK+>Q=FS68O=czBp7HSy%0|sG>P%m!*15v{Oltr0nE-q?i&_LM3)MEpS3MYqZB2p{E zK9v%x2C9yUymPOxT!$KWId%D z8B$-z0lWMX*L(Xa4ca7Zd6jS*!mUI2G1}4|*5(TahwmM#7}9L1+|wa}!kT9w-YT>! z%zihmx&8CqhRvt7Q*K z=X9R#|Jb{csU-*<{m`~!xbk7FX7iTw`yXYXO16q-8CQ~mxgvt{WPHj=vD{K>d$NaB zrz6!jg!wGCpSvsCAZrmpj}1L{_)tT9#AN@2g9^7R&m8!!xh>+%zPv4NOIMThCF(nO zR-7M=u;ffVy=zoFt!hGjjy;8Pl0*^$WDNN#Tn?3;=G&_gUE6p|s4e@0x}Wz@-tDSY z#E<2&%|3AfGl6Wk1`;QAEg1F{fU|gs@fM z%BSkPbV7|pbU|$X3$62ujXpl%`GH$|DOOSfo*@;tC0-w(nwCCNxZNsTfip|38>J2R zM@#7ViEs3EJ+4yxQ9a0nNkHNvoZpc5=n;+vzJLe!ii@{F74bsnn#$%*Z%%xTEh8(9roMBx7%ge7@b2oGi#ezP6ihXe^gW`R7_La zcN_Xy&R*YAF&VEFdBbp98+pf^(B|oii!(E4&5*KOgkajP|amXT2k03TjsE~^IH1-uX5Ot zMmJ|B%3JJoYuZtzei`>;1aV}XrLB5b@`jg`4~wx?U;Qh3rzgJ%t{a%fMB_>N%Uo{< zSz+GG_g%jD;G{)^WIt7F2?*T0buoFj+nPmE`7yN_i==n8SKTW_A_tENxLv0vj94GP zPpTag-#m8x@YOT|SE#G_Q#3Axrj^CT7Z@z+>b*~M$a3V1*QMH7^Ejh*izx_;3qfI= zPt_UACv^Q%pRB#OS5I$Ml)lglHGP3=!uegC)?r02HqOI$-sYNd3uB2Rq$+p~Y2grJ z8IZg2QVVe?G>_g_JZ5O!itqfW=-zyCsQ}s)X3c~=dYI!ckH%0KT0$O9;Z(##kgQ#~ z@$%=Z1$&Seew>)paNBg{U84Ho@i%g`0aPtf(6+hWu%;oxQR0oU7tSSZpC!zPR1x@ zCGEWT3XM9m?ZMe}UiN2%qCpJbzFLIMUAlTpe8rADZTvzo>^*_t(+%{#y z;+&fIFlRMqE7~!ow~=|KSBW0Aw(ibpEzezZHkZF$EPXJNw)k&5iM` zDnTN4Tyt4D_mqYTca3HzZ{3(lokw|p(LI~C@mud@7Gd|}T}e}y@=nfSIvDP5e1n@b z98HUEoCp;>)+?=EmIMhOA3|QelCwypgvzBq;eOXTAE>b-yzu7wUG{~l5yq5V^?kB^ z4!#}g=E?j`{7ycC)UTzb5~MDc-BVFckWPNjC54;lAzj7r37qJhgk&(}!3e^W@%QYs z6iGIx0vMO2<%0x!zm&amH6x+UzByvnktp@O+m`oLLMsu;pR4$)R-HF}ELHCO0dcfl z=t<$CQq;@nZ$)^$a@y5BgCT5)_sResP?nAPcivAH_}5AGU0GvAJgBzHPoaDdDkd`k7Zg2R9c+ zA5i^3f7ttEpSPrYhFali)ltPa{9Lb|^gh{s&VQrqhR?1#`nf6$XD1$yM(W&8akGyv zXMdvfCXsn3x7WTpQvwz9K_%!rqY}q2sMPTmNU!##-P)9id|kW6b_%b;qYSxOCn<3w z@maZ8Dn}$LF<(NbZB8WY#hSo`uo5+qb8j-*>Su0;F>}?cV*_4`+J)r&xYlG;iWKBr zrc(tsE}Zm4-mAB>C6%*yy0;DoUsgOxx_<)sCeHdXOKmKf^#n2&HWRB7Ot8Y#GlSYV77Q7Ww-IVPghQXa)5)uQMH$HXpy^jVCDvx=W@p1th*Cv_mImN|=n0MeJ`n(^-ak$RJg{2}q4Ht) zfbhS+#+tU?t@r-0w8M8k{bTgP7dFB&X=Ebt4kUJ8?AoN|>m;4@8#g>rn>VE$eXkH$ zInq8^v03)xJ(EZD7b6P`Uy_>WH-^&QJ^y6JxN;=@(`Zuq@JLZpQPfgHbNbT@bkhUx z6I@c3nyy=#2R+!K92r0Mn58xI=4MsNIj z9gVJ=jj0-58ktR_Y@0NUtGa&S-0-{IlZhL*gj)7L zNIvt-Icempw9HkfrRPh}-c}jTP9DF0y*=St^n)AE-(8(;78s7a{%E9Wx@lzT#-oL| z4;ZK$reEJ*y>3sgv$ierPY1`i4@Lak$^Yy;pd`g}E@R5k87B}A4y=NV} zcaT7|V|DAGF;=bShp{tJ&L6 zuI@Z_s%BuQBHUo1V*N>UwKZRHAKO-WwFO&R)xG7Q>t5T+aQ9EDWuIyc3~@x!BX5XR zl~wpEkC8s{@70y5d!Km>h2%REiH6RqVb1o`MrGfngvQ>tze~?o;p9 zd^xsgsBr2H-d+U_F(5H60ur3cLA*7{-hO0wUS7$mO9nwwTq(-ogg%0ps+g^zo8N*7;dW zdsokMLU?Vp#qp3}Mg2p*#EoO$jx-)ByPBuGS+TX#b^YZTanD&L1I>WJ^9QsB;sfeB z*g?8?Cgp>BZ;~@LELP((2u}*;Cv$Iku5C^@dkfdyD4Bji;sBga6?|SIXbbIKMT>%jx7$OCq&%Bnc^y8o>Y13&lMGx+5Ms9&jD@GcIgiV}N(;Z`o&R;CXaY^P%B0zMc!y zUe4*8ot%%}iOu?N32eHdg-|a zXyg_NWgNrhKh;oIKdqN>RP}AlHsvnE?>lsZ7p}dx|GZAWwC~XLmII4h)|y|jrNpfd z6~*&>VyEPaenHXs4Z;-nQNQonegD(ChwNjnXmL*_6D{!WU|^uur@*pT*Y@HbSAJJc zl%$2A^b|Kn2%m8*%XPzBD<3SC$`kOKJ7_rlE}JI8+@4DEKTz5eu+Vit>4}xwA$Fvb z0xABQ*gH=Ji@lhp%gQ3^Adc}zo2Okng_n!{h>Qjd< zJYSE&)izfWr{Yu#8n(twS>QuUN>=6Oe;3>-=QYf>x6N}q!?(O>d`KtfrQ51-BDJyG zBZC)HG}t*`xa;Q*8OiKklR?ytG1D@YTl*-h5`L`POOp)C?(&&7b92iIwSV-;37>oT zMnO1&eRb1V>C1@)KTGQPt-A;64%TuzNc*01x+6osw>*DVdzAzGqJ8E@z89NSg|xrz zaSQl--#OsX+q&}W-yR)5U4u@zD;`A`J*!FN^3f`=x};vENX80k9(HgNJ#77;U(OyS zKb2xvQV=NRSKD_dNi!!Oy|kP6va61QfYLq8USx*qji8zhlzz_>+8GDWcE7#C!DOWi zZVGI5<&vETFKMf-RX)~Ao2)LMb?dBlebTndwvu-00O7P$XZ@{PS2jtU+n~Ou0?YFt zx3WD(kx%*$9CpM*>dmJ_r zlFnG>{=#M0n!zNCDp^Yr9}f()iPDftrD`fKpJp5%cR=f>ovS$$zN5vsdwNdl)SEkZ zBsaNWMP2aV|AxxtUZ0NJ1WI=HZ3(8IHp&vcskUgbE-4S{;d^qc#Nkw*Png!{I|*71 zl6xIQiW^6E-<62LdAFYBWg#0Ygm^^@#6I*k9LEiIMF|+>d%7;!Z#<2nO={jhzB*w* zdL!S~Rk%QJj$>;#(njB7Xh_^cT_b$*;mdD_Q}Rm6*7=Vl{dlr%VOQqp&l9IVn|^eH zyw^J&Y%R`~@fEgwns|?E<5LZEd(cMnkNekUUOBH`YJ5Lox1k&F_uPYzrKh$Z#jH2z z@s&w>N+KY3C!(af7On z%9$&g%1JW2;T9>0*1W9oWpH-s_(*1eTwU_D4TWI#A@pb^Uy~{!TPxJ!5gskhr)p?%)Lp@j~9^_4f+S3t{WD!*;?UxU>3c3&(ofaj;5`+yR!gwki5uo4RY+d=;(f%Q?S&`fs(d{u?=W0) zLs%AVpnIzpqPKQ+t`zBrTG5nv#mjjtlBFcGRhm6hsqwfxSpE4^nuMI0*O}xa2P35{ zQ{F{LAM$ZY!@0f;xRfehvAsFQ{sFDwwCZfsw#fAQlQ^eOm+}_B;ohCnjL^N}Qu?~d zN!R?85$VGZE9teR9k{?T^Xx+=KDC|pImvcnDIc1A%Y>dYP8U~xz~Af8QL)(H{FFJ= ziYvBj(fC#^CjMAOFvU1kO)<>Vz^5X*_fVka?(!v*@aJ2EJueq+(#s*%ww>qZ-8qR> zkQgRhd9zKe^Nq?bYu;y7H;2S6@>ZP=TNRao`8HyiS&DvJj2vPtFnYQ+^$t&d=KY#p zbeLkGm?CxT&gU=REi^qhw_b71!EN#=|Fmz@okuwymR_Gj+G>ADJpEAN_oUO%OT5Np zo)8(h&-db`yMFKFj?YKs7>{q0h?UAr+lzU)^aF#x*6*0Re`}87V`_&xW zNG<(Uz%p%{XVC4_%dSB+wNYM`#;-4?1?=8B zKeP9s5SvKC;=_Yb5%y_oqmHYFCTNatH+qo3x3ufP66A1~_$erQQ&rc`wP#~@tWBzP zzWJc};a%D_iK2p7V^XT_5A3CwpXr?f^=;`Q?wg%|#+2_(vfO$>;gh`2;fL`i{8csn z->nPsXA}I6wG(8uH(ky-VkLlF`#LCnu+HUMCQ?Cc!CAS{QJzjatJjWGSWZ04y5Yb7 z^UjCFZm#thDsHlnBs^g%8NP^)y)qnY997;P_~p~+=BLXKi=xNuia)&WnaQqOwM=Mu zsX9<U|wkxHJ%$*6ctt;53vO%AL4cx{XK z`TSf~uEJNASx7{-2p7NF%%=U5U#1rvzYR)g?@#VFW6hkfm3yba+b_(+JIedQfSc9V zsh=EwVJeX7Alky?ABoUT)c#2O}%v=yx&)0$V&NnzMy-d=-5ovmlIMJMOS)% z9O+2MzDvth^NzCA`}}P3Qe_Rly3kAZKB3AJi^X~`{Pf9Rt~Zlp8yZA>F+Rs0J(s$@ zL=~2+4_nx)qOa0g?;O&5UEDN6bX3UZ%<8z-uHp3Y8-`CYsJ!J*Lj}9;ibl;b22P$1 zWh&mU-!gnH{XyT?M<3G6UjI1#xW}yAM2fd}a{cUUg|6cqD-TA5#O71CvyfGx1L8s? zOO9zkK5? zpdN2-T{tl`_j3n}*nUp2b&ZlDze(}h2c_=ZgI=SYFX!J2uFW0FvcCCj$x@(WYk)yn z$EU!wfFx#Bft2~CtZLRlo#Ur%#G#<9zFVT z+5bb^U|McUlFyh|L(?FkFz89+vxRu{t*4`oiE`1$#SR#nJBzy=K!ThMl9d>V)j+9RT4K<5^fKUs+~K2`regmKe7DeEgKwd=x3E)D>kovVdc3@ z2*|KKHN2=-Y;`ERsPD$nEB>eB#kGgHhS7p$%Bvq|y!0KVOQWZZ_eAsmC`N*BEj^6l6Wes%CfSa0vhdh4IwJ%$drUIH<9)6EtQg=*+eoT6@N!hE1(V_njKj@sdcoZLCwqa~ICeV}6EflvIz5 z;RH?F2!YEP>vrDt{^oh2+7+sv*LWrp9L|-nL$6j=Aq8u-F2HJU?h&opW9Ye0DQjPB zk}WGfcDO!#T6>N1IcHCC*KA(H1OeUePq(G6Zp{$1HnzJSAa{cAz5nvjg2PC&MwZ^q z*)M84I|~P1j!Q_6^ajpt8^0-%dnTElG^m9Y(YtWoNM=-1Uhj*l`L;`|)4J-Un!HL( zz6tPgudghharH7W5+>~+TCb}VqTc5%tt>zdXWeifB$VFF*>fw&RcFMY_fwNoTC@>y z;=;l0Hiu+=4%g|W+beH#keB~jz2wiiIgl=^)0H=C7gsWJ-Av0bgLfpNZoFQWwHzN4ft&$U;pQ5vK!z?Fk^VDJK zym>SA{^x0|n7K>-75fkt`2$`4h=kWDzubxW+x2A*5k^P!BbcA1>YqfTrvh5SAX||( z-PN%H-|5}d7tvLn+BfBWno`X-)aq`0(#70=Qc%$Lq|uFyiA$2i@%HutpH;FV456c4 zhF%|vrlNM3p6hPIsZ?*i=Re*V6lZdLNFhtU&xP_;s6x2{U7~!Ikh5HISX4<#Y4xtm zwAHOW(FY>JwaY$wJGHMFWQO0152Huthu6);5+a*!@+7VOnQ^Ob7biX9&J{7gyDx9_ zW0?&LCF4!63g^$nrIuV@Md|;ZOEx*LsJ7HbSHACk;P8Sbr%C?L9!e5&$qN6btK3+>u%Vj`Awj>MWbQ!rT(J< z7JB@|vB9$+`kS}sxixS0JRGy5Ex)3ur$w(Jdqb^~=qyiqgznP5#oC~wW%)y!y>|A7 zh-d2TSu-YbtU3F6$DVI|#V_)je774bdQNFb9o`viferUKvTk|H`8xKZ=c-dd>-TsS z>L-}$%og^iS+Yvr3es<|j+W_r7%8C@hj|=$9fjgz)kMVv3`EO!qqc^gz1%aC`1M*_ zN5C5&PeTm@mt&)eVUHB%5W8fTi$m%dftTK#xBH?*fh;@jE*);gdN*$-V{d-3GHIUb zdNF_a990`>Jq16*(DN#xL~rt~ciox@rB@uGHZC#DH+}_yu-H^>AHLJ=_g`k^ zot58?_WN<~ASQJOf%&TJY>ZE5^2fMEY{OQx$$=;JrG?{fXTsz{3kX9&VilO5d)80` zZSKikd2?~>)vi&erfR~R&k0`x_W}`xP8yQFW@hmz#PfE(c3x?+vciCxr@!ZDs*AC4 z_{2H%!?5&z9MMrn^Qpk|l2@^-@2@`e<>#s;kq@~S0{vedkJ@;CqwF@~?0azq) zKK(%M+|O654dm>fi}Vk#CkK8zTe$kllXY7%GuPZb^i1(C&m=0lSa#pZ({h39&)q3H z>ytgvENpT==zZAimQTjl?B-H$nDV`qYwV&4~T-JQ7a)Z)!c z$1|p_I=ZTDPiwuI^h*^x89@_BGQS@4CHj*&v2^Cr+Gnee*=$eNI;kVC`sJ~D%*PPr z&AEHR9uM1w`K5XKReBlv9-7+owlVo+VkMJSc4xw7HEog*<+(LqYcj5{Dl@0Qr0s3? zh^W7qo7-+H?Cy&UH>7LrfYQ!n%$*n;9tpCf$iO5L^00Q(U-kH&hOFvd-Duy{H}Z_l z8yci8-RV2&T1E76>)K-}lQ`Mo@szzYTgU=Eg1;Lg@xDUP#!3m_EL+?25}&|-U&^(W z@bk&*)^%=g+Rc`yreBTjJP`9_0ON4SdefF7uD*k|)kwi|ua~<#%XcTEe8S5SZ~f34 z8oBkQ?+vgnUq09O{{baH+P|7z76gQ2WH=eS>@ydol`0aJH0PE!-Y?!Wro{+EOm&U9 z!bEw0`@kMXjOI~ia&paLpA5_i9|H?d&N((wWZ*E`E5WJ=qMYj(3Mz70pdYu{KVWxx z0C2(s?ww4j5|G-)axJGk^D;@1Vlk`ipH+K2i6!;TIl0`P?XOQ$-EwaV_kc>Or;gvY z#56Y5m0-OpE1Jq`p4!F3hmg*h{Pbc%>R231mYYJwtOJQqxrdPFb4b)=wpyKrM^&in zKHgln=6tQc@ApT?(@*qLD;5zLiT%u){ecgfam3(<#u1RI?cc860dzwd`g&&Pm-><{ zd8y{PzccH7cPs7q{f6mj(t9Q)h}teB)OLu9hOj1PFeY1SV_&aiYIoG4XKz+m%r_M%*pZg5a$%45}g&2yLJtQ&kWh_!9iw zprO;-oO{efgLyfq2dC6de$x2m*6!<6?z&%fD|rwYsE9%YB-35i{}`#?asdjpZa#Bn zZiM@aZ)sO4mpu!++T9GYdf#?TO1o3eS|2fRX=zhT?g;6&ebslIJ3fGhm)if{Y7*rU z&vk?TLhO^qE0p@oX-;wLEU+=+HeV3lF(; z+?qTr*2S@!N>no`*kxDOmZBA0_R32maiB@6f*6a({2{CQjj3j)U1GGqbC$Hi^r#yI zzdV!v) zKaP&30SL07*T$`5q#9yN2?R#W>3R!V`ZqTp*Y7ZXZtpJ=hU86})#Opz`bzL)RegV* z4y`}ox2x>OkTjZ`C!FEpxRLINQU65%o^g0KTVDcWW=<$G|!XHWi>Km`I8s9`P);2zr;# zFWC*r_kfM5c@-f48Ti!cvZ}d?jSYqg06>*|jJlTM_6;4y+}WXuMt_c-SeNjD`+oB`myG?53d)@+UWS zP)Rb1B$3e9NAd@bpv;${(`8z<)x}%5rV6{L*z>R~g9XX}x1DeVu-uDA((u=qBms*e z@-=K71| zQz^XWHisAz(veqAR}q!KluWyebTX!KDlt&=@MF!HgeAgIl1xD%AyyJ(&Fz9=u(}D$ zRyR2eGnlKD^0Cd{u4ldXoraYsR>j32x3}XJrW2s05K>}tLUkv1K}8BkY7{0=mO)6z zB_dO102WjOO1irEV*Ew8lO~W0$%d3_xVr-m7`2Q$CoaWQL=K9vY6ZRjoJ(YEkD_O? zGt!79*khMTj$~&Xd}P2VgqeRJfoKR_I|xA;*hZO1O48uo^?16DhKbR?4?@-v2ndLXa3iIcBO)*8 z=quKA@^9SNjs@RV%X-1or!2vRX}^mO-;r_4YVT>W61N@y2Ug{@3gHXf+i~aR*U53A z=6QBe7T5;%4c~xv+1rR(0t`wIx;f!`P}NvTa1I5(loM0X{TJ*+fSKP3qv= zH)74{V-zcCVUMj-t-**vOaUzKD7iNTi_%c>vyXs665se&dp-_r$s^PBGiBC_-JN__ z!AwyqB$8rGNeMKBnoT5@WI>zICQ@Tvmq{@oNLK)CP*RnIrApP5%_S(C*d7o1-#2x^ zEhUnu8nOWEjW@Q^e3ZIN4RW@k%3MLgkdjJ*x5+EOFT}wTl!T=z3`1R^O;zexNzExS zE#}7oFM%s1biESrNJvc`DQz**s#~y?5~^LM-r`c1>fXXyO9^{0np8*mNO^0t4QR4cl_?Ph=5`+`1|Y0h#bq9|?jApjKKpkznQ!^P z$5WloLSZIf{pYP6_YdZOx7X&fB+4>%3c*ORV4>0XdMA#3et;N4=gZ(xeg0QF!Omn- zKIVQng^;`646UeLzx2Gu&up6;F_(MEX_ET18rfvZy5JzI495S4LJ`vdX-H8RGCIUC zAQrGdp|J+|d`Ji(f(6m5qxW&t?jEihphncMLqy0}Fd~_dozZ@sI=ei)OG#tILZ(4>|4xle`4*?L7!93MJ0oT;igI{uLZe^H>e28KqC6cbA{R5=u z^r70?S{>oE(Bw&q!ZBod?}+5iQxRxKLsknG8oI9&p16L7bZ zNS4#~sp)BeGE#jFcOn(GCvhV&sOH%=l(YyvdM;-OU|mR9*JC&Stc8>PTb*pBeIFM!@80H|#~*EJc^?5ijpL zM?la+QL~ZK`sai5pR&sL@@%#_8z)jat*dOWmj0yC@psUgIFQ`iyn{kst{#w-E#)X4 zS>IMUAhkn8$}Gwl?>nCajrp|xK@OS@fQp={~xFO*cW$?dvZ#B2qY8= z>C`C^Cd=rEOG3bY7u)o`$N6;KOp*O>EAj7~7!CrtbSxuakO?3BeJAD!h=_=JH1@zn zE0H6*?QoPyndWRf$^=#OwKzKwc?ICi7q8jwc51HYrepeT#Oy^F8QQ)HYG;P=iB_TNk-4YyXY`rt8gPR zXIVC7s|3P~#%no(n5}5$#fe&s;Xv^Jyz=O>b#Vd{f=ft&u_BF3%)f;j`{f>5Vbv;R zF6RPbCn+buYlkfczWh+Zx`W{vM1oURuHB5Pp(?9&cupH2GuA_SvF^X?;AsJOjE}GB zeU3F0w)foT8sP;NcQZs4mDOMS?i@FxC?kW14vxqyj8aGyX4v*Cot>o(+KIju6+|N5 z$Fe5v{Q7>6f#UfZ9aN3}t-OKJWB0Dxd*_3O&Qp;5jMK`R8Ncztpj8=EQNp1qLkZ@r zzmhpnm+5kOK4lhdh5RnEFawx3-+@KE=c7h)uaCm#?6e2prn``9UT9?)^?wV^~dt+QOJ_|9q)u5E<%iT?l}(R9=e=SSMiuCzn%@)+vGj9 zD!M^KR!zFie!jjuYWUOfSz2*aj0U)1GGj=dY^T{N=Y{;jzh^G1mz`eWJ25RJeEm#~ zi<|G+Hlii}D{>|<>P&73L`_xvlaJV?n7L6`K^iX0ne2YW_oXKaH)rGW(@+@18XO0U zBBXtlSok*bAp_YksoS1UdP)%@=rSX`GgGPyHd!^7 zLEA#^%GERW?dUt>(^+|+1K~CcN21Cy$J-WU>a^vS$A0pS#&Co&!m zr{{7!--dbRU4GdGp(B^tZs>=#CaKN++JLc^=|q*xrwn;fRAb@l6vXpIJGFk8N6H1j zCj&R5oHTd=nR_`6B07JP13J;E;zFYA9EE0P2|II~+UAL-wp@#pFp|eYoKME+Xx~eT zi4T$CY|zwL?r+PkL<3t{+uXpl%?U^wmxKD^)#X$5th(~j8)|hOY}f53>wUS%_<*tlARj>6`5%-HRIY-!fZ@ zDxthoPv8D#I|B5s>J>ESz(8lFgvB@i5LLR+tj~2tXQLi+G2v#p^$uWxKp_tZ~c~-yzLf zI(5zQcjmAIMG9x{V5AZ7M;gxY+8JcM@JLNTq`1>lSE?bB0N1uuQ{^)PhOt7G-|Z2! zYP!Ib%f<4EvW3ZHMH;jgYKcyD9chi%w>y}}I(zNS@0wsL?TIGQ^d*f0rlVfXUXJym81W6zK&ThV&9=b@l*7wXU*q(#)Wr( zFN9(i>S19BA*fVJ_uV!o47kma2@wz~&S&*PSfY#CE|XgcB)Zhe3|fSAle}o$6FfYA z(rP_dO1?fNojHjW`x_}~5(^q6|6}%Pr}nQ1b2wf{XQoe??{We-K2$E}dm_E0;3YPj z_ZYLSY$QYiaO;DtuUjmO8nobb)!6Pkf5HIATVKTLq08@4S{Ta8yBq4Bl zvqRt+g%^YQeunpbzsPxk)cZtVH=~C-jFojFP$q{f?N8{?jZ`rV%seYy(m(a|T~1|Q zx7X63+u!QvSi!uj&=@Zk{aggQMSf@)L7(s~Xj!h}(GCm+6e?sb7R?M$3gT45q_UJH zmAGa5dJ>efnfqDS?s;{F>>z>#D~c#%H*BV_Yr>;}be=1_oTzuX_|rJJe@yN0nSdgB zY_S&g)LN-dOk^h!xtu=p1PB+hB*($2Ya0TL*Qf_4(jSp5?V)XR?WCcn)L~#49M(d* z7LXZODWX(EBBV$_GYd~~0YZ!sBqo?D#N;SAb3#yd;_EFp^a>ErShUL<}T}3l>0OGCff-LSZ8o1LKK<5enk& zuK+M1h+VarsA>pDO+T7tbv9lniV(lq33O5W9SFc18JX@zEA998P+8+G`(%P0Gi@~UTi;r03Evp9@T-(xzjiV-9f(7 zIerU_|I`z$m}8Ef>K4d4F$idMOZM(z$M&O&8%IaA+-dh%x6A~%CC?A2&sJe1gA(DdT z05p69HYg%G`y_Bh&{!H3gt~3B@HlHBqab%*SLFRYrf!q;Hk=|!4FKpEv1C}HsXzh< zBLEgfgU5Qli{szu!X%lJfZ~t;Ja4t@dB66cprD|j$vjT{;U;kYXT<%rcB;JMLO{q| z@=OUEAV1g&nC6t)oqd>Jg@@rh4z+4NJT6}1ai49x3)0EdhJ}TunyIY%{;$|)oygV^vC}8Y$dPoEw=|>^ zyFV=eCLz!aD#QTAY^4#fx%*Bk?V=MdNdx>DKt*_%h*@vJhG4g*<)TL{dS969g$^(A z{pf*d^eNus-@{p~CL^_Uwn0R_fHvOvK!6}X{LkjhOZUm`druQ1$Fq- zs*8R`e*6GeJ&0v(U>St1uo~ck#okJCFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Ow zt&IOjE3_WY^WRXr<^1)Ol35PcplTmtr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+ zMFuMd9Vrurh7cQuEIa&aeitEBRU^^c$TXLyEOb08W^7U8lC*16^fX*C!b+7YU_|ExbHVv6p3Y~fGkO`bzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1 z_~e!ZS*tveZ2r{Nd@WU4LLUF{9H8p8NfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!- zEI+$F6+2Vp^?PTspU4w|Y`!q531;~x{O+UL=l~4o$&F)*W zz8h%BX(tCL1OxF7%l4e?mRKyHls1}@dBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}v zH?!Ww%HrVL=2Qx|^K<`g*N77zwJ%qpYj8wz5TYWDXHVd}W)IqfO-kV3Wc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi z4hRB{8wvoN+f4tU>d3UD{U+FXes)alLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l z9PC!y{zy46r$GvQI25@;2cp0y4S-Hbv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>dL}KNqE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!o zf@8`}LfDifK~%z{15K}cl|`p$K*Ya5k zaXdXCo6hrBt>$@GW;3a`mXRcwbSuSV2H2?V0e1fElq?S-l|!32x zupA3*2VY6%_A|QH($cTYcdjdVw{)5ycxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODm zWuT~^CG~}cl(5Sg$=%XcalMYL&(@|}>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs z2Mm4habWvX60>NcF|^OO|6i{67bILm?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw z;5`(G-Qf_BG3LA@nM_3^%578eQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1 zZ7v>5lj)o-S0_Oel(bz4r4mSsa!DxKuByEd$)a0seFk1GxzLcDOiYe%H|KLbS&%*dRTNd@NS2;8eKYZ18$er zy`P4k%Ie67NP?dP%DK##bC-|FVTOlGsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+f ziMBt#`NRs#geoIZA*GezvVwv58ja;)pvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19sl zmBj|+rgw(`8nIuTc2y2T;Jf$GMu>b?a-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8 z%ufw`(gIfK#$($_P-?c)_qw+g>=&ag*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2x za#@}zeMKs@9G1AeZZo1H786l>g6T@zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~l zQ`c6{s(l)oA=Rk{5iE3c=9vgYAD+w8bf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ= zkW(Pb5j4&;gk)nQBg)`+mCebu*0VF4`DcUG#fz9*g|= z#7mjXMA>(J?yjKnbr@{eHA~JbA~bT04DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f% z3mWd@!qM1mdOef(ebn2R^E*XLv39H zU|-IQ7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4yiTFqhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z z?PIjg)oV>Efwg*+5^5sruQ_a#*!`!#gBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9 z;XiY^>=&)&|=$Z-7`C?(;aeN~x@ z9skAM>No=gE@%@AMhHUgz>Dl22Hq)`zsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXu zIN1h`-`&DCy$*2RApsB)|7QP;gv!ha0bxR|&Ho8(y zB#fPP%#Lv;Qc};ZmewyAZsZ{$xItpIm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_ zy=mOgyo)TWxF3pZ!gTv>{feN!P%oAnMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ z%(DZXFCGYhIjby$>Ut=GAqa#dxf^`nKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>k zUPU!BQxDugieYlXAf^&TN8?+8Cl+$t6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@Cv zxLHdjGMggGxgwEeFTg4wKCPAHySovsSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@t zPLSW!&uWIIVnyA-5-{a?-sj;_!X@QpP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDa zBdm+_c=us;dd}w~@vHaiHOySVYSV_a8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f) z_&peXmRh_rW^W{MGTeuRLixsFCx-rV+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0m zVkm&Og+h6MeC*u81I6wATa8|FvLvj3E;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x z3o#mkZu2)7F%%C|nnGlN=Awa?Ba2Ek@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGLUopp|Fjun9p_VIkw6~zuVg)zB4aF4`@)x zdRZtDB7J`h962bN))FBI^aN3giN-@bP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYw zSg^2Amg4(z>#+&6fC5W1=e*UM9bgjoS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*; zh@_io{OVHEFr#wx;tc+FwhSx2CB>gevb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBt zLHy#f3l8iBqi`Jw@7_}5rv7w(ok^q}kqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI= zHV2kGpu}eQ8ByJ#td7}f8T8ByGc3CxyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JY zmi3S~+Bsg3}NZD8~Wai){86M zt;h@JA^K-0etE-Om6#$XD&m}$G7(AAEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!K zZ{#BJ4_aD|sI?>WeTGKR{IR6Sk4-9GOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1L zcvLz5b=9rSNe5?aC)d{1&C3!wt@v34A{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6} zDkV1>6NP@(r6@}z^s=wLOBHQO)nvFZj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p&S}DSRpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^da zS0K~#1;$9PC2HU?k=T)$#-{rR$)Wf)h-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0AB zB$P0yj+O*!`P&pciG-&xvn=5>)8k1eP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})| z@Q;Uy?R@W@{WSpBa2YJ}buU8A%oZS85ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDT zVc5xjiVjw*oP$%g3eLq8$efPf8KOmf*ekqzho< z*kK|BGAANL^k=@;b&wd6-V`du>hSCHxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagE zNh_s4JsIHs=KZJ zrV9+fu|*=lf2WZBP?O#8jmJHHSP$qo%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3W zQEO?v#<5JPdyKuUxfq=*U55=7G|W)Qk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT z6lfwIopj0(tG2qAz?6hR8+-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)} z`DiFgLKMj$QW7kHvQUy6ZiP-R86VgZ!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r z^jE>V)v~>6zN!7L-$m*3_N`w&%zjY`kN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1 zEdsA||9|}cp9MzJM{WicWBa|%g^Vb65?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3b zUJ_MSLRPb|GdUNR7$7_}>DEeT$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W z<6(c&;NNL))Mxcfk?T#1{pgXFpY}b^syEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MH zeJowIwkkqC%l8vapktr$_aS3^V;`tZ3T#=Hg2Q}$?-r5n#t z-oZr*A|ru-X>pvnMNW}Q?TFCNz0~1L8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B z7G)-NdhX)id;97U>DOeA%Y;#@knmAsFQxF*)KR7=hOd~x$hK+R692;Ez}V9Mmd1kBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S z+|9b48~BkK-}_`hje0levKz1N zS0h`GW9zUIciC-!qOJzld-?J67;yTtFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*& z0tA*|^u9{i?Y5G{!7nu`3~OIjJ5swZR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62 zYUS@BAmAsgmc7S_l{WM^M!U-ME zbNq-uwxwKuQ)mOEJ@}01m6*nm3ot(S{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$ zSW!!JaQPVVbS2O`eIUP)A`P3Xmi1{?wB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z z{Udp3%KO>427$R5GAq{f@)NrQSes4&{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO z8mA#ga7)Q#fq5SyFL!Z#QqR9{XE~iFOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568 zs~&+6Rz8{k+QWE*b6VE31hHkO{6tq;*tGj-IgY%A1DdUV2+WGshvi4c$)50JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032 z^8OHG98IqBwBaDXoByk38!GQf_F#ba(8Pr zpyQ(uf_Q|hX!fm2q%?T*>uJv9fvDCKA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`N zC+gE6g6qv-qKYWZ1S8SoW?V?h8kh52<&Iai$HVE`;mrGc7Y|vkT2s9w<`2mDe>p>_xcg`h+MU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJ zsndJecDK^+xOGM;CEo?FU3IFcg$jjPq!1yeK>#l6s5%RY!q9RF=54p~l!jK>fI!U#{5maH z%$j9Eh(;k(j~$F31VHKV0qH^awfhQ+;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bm zw#Z&Ijd+h9Yk1Ng-WVn~x}1dMY+I-`riJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD z1W28xQj>Z-LpDF+;+4hX31GWwA;ZE4pRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7D zTa5R><1%IiP+q5dnPYO#GjCh4cN)({@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#C zyDi-Kwl=tf#m-@(VtoF;+Vv_}TDDuJ#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZof zh5Ft%&!MF7;1{&y6zy<_&>9?qT}A1PdDt)8-)95e2W=`ZByvc@k z*T9O)jafwQoD2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN%iIj3i^tMMcyD_~>&hq5G7Gc>{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwU zg6vrh3d7Y&2e!pf`A{k8SsYM2T!%SvnM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5zhZTNJt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^ z3ltWrV2AUAQDU)Sfkv+4uEAtjK_dyqTYht#QNZsH?NgNFArW4U~I(NV=?TiI3FjWD9D3HLDhccI( zq$q?KAOjKSE+6j9&Tcn#i1Sxu(?huLEp$4wQa{RDi4(g@N7(q(zH{BKp6Gb6D|3wxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#df*Sd(k%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=Fg ztpO<#;`?lgJsbq+?IW}7&xoJz_P!O&PUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c z#h_Y$vlAUDD@mD#NjA0I{%zbdgqGefPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DA zGrBx)Z}YMi83NbGzm<{hdP@D!#VX&%69RKoY0^%Mx5)YloI z;LHQ&@u6pB2`^nB7e*f%V>)67I4Pzmk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5Z ztTUq=x+ARpTwyQjInUTO($($T2Pb>I3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE z)}t^T-aoP6(j~y@r$}uIFi3nqfyCZV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NB zu4CrK*~eje`T#hlqc}Ldk0z*vUP!VL>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD z#Z-hqTZ}Nn8FV91esP3E@=+*6MDi2BIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80 zm?h*i36Iw0;Z8?fKJ<1{A9VAw#TPB<$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU z6O|!54QA@8@-{f3ty7I09Egi(B4vLtOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B< zC$Hpbss}q!ls|JfHeka4Y-CK3Z?}?}9h@8Kmu2rjagV#^^d~jS1X)x0PK@+}F|O&L z-AtJi^B^8a~9PdcR94m+~{e zwB{}AcF^Ax9zuHxASh@x4xENJRnHRp%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WK zl>KcsiCO>|ltjXzArS%+Gx6CAhtY1m{vE8m%7-h{aS z8O)Ct3ejrvnGF9({ys+kq<_makc^MOki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^( z0q9fGVoWel`dAxWFtBMs3~t^QIJD9d>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6 zPB5eRBj#wpRih{~e|H0^NHlDjk%;c!v$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{ zy%>EyXk7@jO6BvGa=CwbQr;%hZO21%_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;k zWZ|6GAWpOb?qU4`oe&Sbk5LbE;vmW)K!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pO zn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$lPAnenU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD& zPc@J?y^dVLpfWOaDvN}<*V^bT;Ftu%4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRD zxlcT4vwwUaES%cZp`xaobf6Qd-1$xSu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5 zKZ&3@(_W4&=daIV8t2^hyinh7Jm?#l_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGe zeVKG|dL&e8Ry7kaQSB-o{?JDD{|z7Qb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z z4(*})JYJKu3q$ru$#m<=LDB|_- z?M54xXD@|@CJ8+N9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIth zL=tXMY{>bm%J`~j&h6mJXb|ng3V;R-#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t` z?lDsyz4qYN3Op+$Y3;nHet=0k~2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|u zfx==&x>e|S#q!KDiDr_<-g`Ct`uincP@dc^mV>RB;4&s95;s7X z3_;F$^aEg2feL8g1i%W#z{ww5%+jmNiC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz z{BGYrXRR~=R?(!=u4t@d8jVu<1rnAS_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8 zjBEcuj~8tr@|Y|Zrk5}$^~h!T1#C#vA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(V zHKQ9_>IC22XRzPuq{$xOsb?m~S0EjBbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1? zhJH+P!2L@zqF%4xIp;?GQt9aswQABrg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H1 z6)8Iwy>X@aaOHi#HL7YgpCgb_6evbf2nL?leGo<2@{Iv(C}j&eBm88rdaC*q z0lvm{yBEPxrVuo!o&d|tfg5{--((GB)S00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8dIf9OI2ftQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}= zs1qli-a5R_f)0x`&qrbh(hi_Iwxr5G-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(< z3%n`~?%XlpL|;9t-SQIB&G|dEiqp%2CO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJ zgU!rG#=J~ffLARhfig7u3>`K$_ZOh|wA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$y zlXx1!)gGZZ;|NE9;l_?DfzA!HS%v8jgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96 zzBWOdH9#3$MUTWpk$EDY}w?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64w zn=HfO+=fX#U6?2!L`b!G;7t^%p4QUCWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoW zTjU~}!;(b{!+qZdVvXIV06lv>Ybq4Oh8GTn$mItL46dJssg1{DugK*B^3wZ>6qd=KNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v z=rik}`JPg?#Y7=NtO1BB3}PjX9l!Bv5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#; zNiE0E9G!v4kOB0DGJ%55H7r(n4h}THyD(SuMOX{GlzVn^{@coyBXdVbAlK>M*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hi zj@v0uSH{AH^gu%7JdA&FVP^H}cK{uiKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$ zl>=X4&%fmWb3ly0iazGc#7Npss(%2M^)Hk&uW!06L?99ial&70?zI`iHPT``vUB&L zMg)|Qe_8_;IPwRE_|3cpZYB~P7xDcE`6`V$RUXGHFB#bQE8c7_0nk+0alVN_Ru~w_ zJ+`at=IKFwg{T!ksS_p>^spcO{rOjyq*W^0sMK;N7WuThD5yjbfj8-z_#0DS#hsJ2 zpH6iAFCXgbmDcR1jT0iOs;1ZdV>a2oMAxR2m4Cr4)T)QBrWY2Ut=atiNA7z@SFKYt z@m&@vBkvJx};4h)$1MR5K znk4%FE68a6bpHGL$UikKK#~O2-hGrCM}&EIGgp|ly_sG5oN4Xi`TL8%#FZ*an7r7o(b@lW@%Gd!sDBHLF{ae}) z76La0m;Nk!Vi>n2L8ZF({T+TvvLX}2vAc`H`ct|IcM0GP__ASZRwCSu5=W7>BGhGw zZQOZ`GV5zP4>7!T#eo7djt?hKt*0>^h=|kQ99|;EsnMWvBU$*a*cfqI%zUklv!^6_6avecfn z-#FPdw~r?n+uh(fNiZHpzVbjxWS`sov3v8q$05Y@HgeByeGop)x}8x-a=y?|F+AmQ zv(Nk&F8f=XR1nABTH!Z$C1GTr&YX;U&mINzhJo|2lXl6iy4;2gM_f+nbsf(c6EK5! z)8_{Z-ltJG#yQ>Zd)M4sPlWgZzSGUS!r#Wh=;;oH-sFWpuZfBgzLtvo-~Km~T>eyP zi%b-EVb&_Bs)EK;0%Y-s9d1whw^$S@?+yQSxnugipdiIr&6rc0MQe_QW(|t~%x?HV zi`)y(cjJkl)c*=qqk<=(Lp-FMnKEq8n3K<^0-bZ#?mevh|5P!~;4m^sGwMYmf=ss5 znL#eAi@?c4m+>T&WUW~o9t}W!ILEWIcHyH4Bk z#|dag!3~*Xi9xN4 z6d+*$*#U$EVc1=XAonTn6AzgIg@P8H9-2I=cdgHCm@0{zC%f$qP2Cd7n7(6d3XTt&gJyc*}9el6lr{0I= zf)Ga=Dd>9mD_PC&oz7omgWlZo+botwCV9Hh!~jeuP91}o%EFo7mm6p@xX?w!X9erc zaQ)NKwOTGOGA?Bpl*};MF7W=Y@X|HJR93WeN(+gI&egBcg^geNQs4AGTSoDz>QRJb zWZVu=hcrwqMjeMMChRY(@CtgxA{ma|lL| z*(*rad5y0z>c7W|_T)2!JkR|&I+~4X`d)EY)zL_*W>S7E_6-%4mDP7}2qvL~%MU+i z6sRS8!Ui_#F8Sn?;GAd@NeBc+A6VC~$2w*{u#q)%Fy68aCf{tmP^z2;Qz1mwy? z{7qrpuD80ps$^ldYj`k+y|wIV=yVU4XSpkDa6CQQ9q%xuJ{jfi`wT(O=5uYk7Ghq+ z1Ac`{Q+?jodALKg-wX?UESZ*yigp4A6hg1w1Rv^jyMxzaF-Gy*Lq5!M{#_ABjzv|P ztY2;F^0o$jC|cbQce#B8I8X?lm^zdst;b8Jd}xI= zdqo+d)n6OFO6>N}9TOg-cF-kJ3SmV<^o5Ky@UgsR8T=WW1{U8!=5PQI(?NhxY0~3M zUGN$2d>NU2V%Usx?VwwIGRmazaD9-qriKjSYZ8fQxjOAVRB zCArH5-Cph`tHM>yJ)e4v@P8P&dE0F(D-?9J;Vk!&pXHuMW%2c0zONpAF>qG~`fB$g zKwzsA3zb#B*++waBbMUY=%`M>4I({33p_#KS$1uCh?+yz)pdOG%P<*2Zn=MhsD4`_oaZvJgOv@)3hm#fm8M9{1Nwa3nNwa3;Lit+0ufL|& zN5M$h$vUe!y1lgb%6MA;c-sQzjk~@^nv?iJXQ5Z>@E48!pS{BU{UE9TC=)pW0xAMz zW($g)_xyaxY&T*{xk0itZiL}h@M0OU+Hn<}H5<-rfoK}Zj4EWOk42G!5c}|4)7`6v zm}Uqna9~u@ik?fgd>3@hn>K9Ovu4T(6DOgSjSxRb8Udslfa*b@RG}20K%r8FN~)Y? zO5pu4cUM>q`wj#!Nj1akV;$t4L!Q~>=&{p5>S*$~-U2d&Q7rgKPBIF4x)-?{n~{!_ zU4mu!M9^zjWX%Z@@=I>+tG1N8`1L<4me$t&M4t+W2X}OW^6?BCC0&qrBp-|pdjf2m zjAMR)0lr1h>5zlhXYnQF7F@tSud!_phmSl7#l=BK{GrV7)7M*vs(u6@M^li;&rhc3 zYQ$-z$v(DZ&9%_-NbYH39>tSI)tii{!2Y*2|hdJW*0DdmB>oEL_?;5_#+~yyFuyYkoJ6{Gi z4j|US?hG+Zu&k<-v&i}#)c-TscCbFbwAyo%D0%+K3HtM%-oAhE+pWP&ot)t1sq)Yt zX43lnT3djjy(73IzFB*IKKpa2mbk_QCOJ98Judoh+9fUN)wqZTzTC}33HQ4hC?J~9 zIl|<@R(@@BD%68YA}&9-R{!iU5JdQYUgWd4yO;6M=)5~xwxJ@6M@;DF*zDcw~XI@S>_D)=f# zP9QW^WvWZwzlY8C=%m%(X~6jd!%0iMugF3|pXyGPOI@x%L1s)O5*dVx=L3dB-AAT~ zzZ3*31HyVzS{4tB(*5j`^B9Lm29%7;JxdG-KOgkG6;k?O)qas+fL1?l8PKeIGg@ z8Y18bqInLn+b3}IxeFEgntHB91Y)8r!1ciT2d0`+dAZtl#K+sF*Yd)DuGT|FNyR6PAo0HP zAVkGt2GozMouWs>7bIqIFvXB2r5f2pC9*jnU!u@3x#+A2W>iES6&!R>h-}y+znO+p z3vfqv^PSxDZ0%kkYH{!oBFkp!3ojHBN3?FA^>TekG}-?0tm z#oYPcsNjjh5$Yk-pW+Vu_#8qF^pOF~Kl!@`N-;(I?cN9pF&_FTBPpYaA3`9kz&hN5 zP8>LJ*=DQ$kp@K@hFG#?cle$v-%#N^AI2!$Y_J6E`ESpoGXTCdIw1W)PPwQPFb-m!C6pdjf+8 zat^=LMLQr4V(lH(A$1B)qj4T;*8h11l*^Jdx@w<*`M6m$G zB18!@0J@OQds0afEWBm8ALGyZUME_;x1l?pWU8vEV?JlqEu!U?P*M$TcKrFvY06wg zB(Y`1ge*{{3Hh~1c2V(X5tg@{FGSVc4%G{tDk35$5b{ADS?%qXC`MT9_91boWbhqH zyMwnveI`L<7?Bbp9pK44#-Dgh!K*rGA2VnhqNN7-B~QWWgi){}V)H!8OIpNGs%*d+ z{|xW=jPI}Z{+o#&i%ZhDWwbPqlrGxjx9dsuJ;o^P1@-eNUk zvG3D`$>-!9cxk(p6fNkak=0-0bC4SiSDHK;n9F)QJ)q+yNO;EdJ=7lD9t4& z@R%q@a9MPl9Tkya)$k2sXE`s=;A{8bpMNCsq1PT!H8^jF543!}AH{be+W|F*1L7!( zB7&o%p&>t;?YeQeUZ2f-VC8Ha*bH&bVt%>4r>G1tQn!#Ec21o+NQqwvW!{RS|DlS4 ztPVgk4LXuF?a|}I_@-w|l@K+|CZFJo=I-t<|DbsqMv7W>ype{FFTCTOv{e|3+)j)? zx4ifL-+|P?)%Ut8?N}XnAZY?fkim&f5HcxW`T~k>>mu9sa%2( zP$MJ0A?9q_MttuW3>X5Lw(9|NJ;(6|$|$=~L>;)!YtsfXf#W8`j};Sq5UvqJHVA0x zmxg*FkD1N>SXI#iFtkqq?s7KsyxHNp1K~L~W=*;2b@2|w9(>bkBU5d8ZcXJv$G z_HxpoaW65{kap4+gsKr6hcJwh_1x$Pe=~m2hjHG2%v*^ZepZ%Kb6S>~IxE~3CQ*Dk z93sL;!*!O+__6nTPFG0+DQPjaU_l2Xl&+nG=F|2O3$&@0_MduMB|O)-(YF6Yg^u)4O&%N#hIpV4aHEp;muBS z=U0*He)H${VLVcOqroAXZ?d~)+xzwp68(f6sB4E2%=Byy=I_ZDjTjTG*IlNj4!>Ej z$_^y-+~brUggo|$b+}wj@wh!W!Pv;IGh8@xnbF zOZ9#c&Iuw9B&7T&W25{)y+IdcxGaFD_}A5W6rFj2kTDm#v=;YpMguD~165n@wS)O0 zoQC_+0UZ>)v|tlrVoZovFtwnIJ-^8hU8fMfnnu!Z(j1!ZY+||dxs^EshnXAixXI7q zaA$bkuBxXZS^3?FA0o@F6oG>eZ+eAR5V3)SM>E#IxUme13ZN;aAVdgIlte&?NN1%1 zGe7CXY*%_^Nq#WT;H9(M?R#6A*fo&CRB0+z0?AS!iy8!~r8*c_6hL`~WDGDU`55#6 z#gfFR^?S-{={AO3=79EL@hG(|WpHge3oct-#rFFb9FC8;1a88dCeoc;`p^y2F}i9T z(KXQl=a#;5A-#qy>RO?ugu*iZ?QVL-xqfq%_`GN;!D5YoE!ZvyjhL9u0^f#+HPw_i zii!XRFNAM|#u7DFmZpxkI(DLb`vDuMz;-kqk1!s{WQ~pX*O1-u`Q2e}GG-pKSlrQ6 z1+YA^07*dKp$LJ^0_-Aa-{Q4wlcbp!#qH+RHr6a`S;a=T0EqyGTUR79szl;2-nfKG z5I3efNUWnw#?v&DwC~Sud1#=4P827CQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8cO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif(_27EBnpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`U zn%ZJ1&Y>k3^8{Rhx&Zf9Q$h48xX;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4 z%>g2Iq>=X~{#7S!!C$2H+Kd!%!<2Gh-(T+asuLwd9un$V(otga?--w#d!W8=jiTfG zoxGV_5)=IG6nEZ%2+@fbbtt3ftLvAh?1s&o4$9OpYGJ2{ip`ZUU9doXd^( zx*iAa{uWQ3I8jiscLmEGK@$aKJzC97C{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{ zk$LOX6=0V97j6e21M2`dU=Mitrs6xfwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132I zZ?B8pZ*R1pdi+PHd@$|-{DxS-L&X&)4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk z1yMzcu|-iu6j5TVQB+YyiYmoXVv3@R6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?# zf-+8*IA;vuoHORmZNmo^WHM!X8lu;x)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$! zl~h$wrBxMT5W~#PJumad@X~TTQb;pIBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh| zW~Pv8A#}+#wDpRrDyX(eseMfMnUKYnOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf z8D3vKX3tYIF=f!s-I-_3RZ&$%jFU5;9QK)+i)Isw$|qNuMU$fLdmDllnP7gM6KWEEL@+{0a2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d z#$yob=1`GI_WhrY#%J{(>LLK7QYoPq_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@ zMR?)?8m{-F6Qx8+oSrO>$qi^{*$o*9|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9 zi~CvmyT8jNHOd+P)m^=ug4yrTh6xFU>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b z2s11{*k)H0L`{6u!`DLd_V|b5Y%^AeKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p z^pcOkj0AHAH?iG7gpELbTcG*PiI2hM171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+ zOJ`l3Ep%)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr z4%GxovOv1%!APYg>j^pRQv26;1Xb~I{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mx zi>nsFm6W@B*kLrmce|~`dUT-zu!+SjvzS&!4Cjk~HWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(Db zmV{r+&~8sKAzUd;L0qnQc@#fuX$u%Z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+ zr}?-bLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;m zCF6Jyh8==9y|K@jT#=$kuPh(!qlsMtSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@` zUWb<3sKCX1A2-t$ZK)A!TJ3(Q+`6oG7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNx zH`2pR&z%G2pv>vybgrW*Ym8r2s`VRLylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ z-Z~48Puk385out;|1|qFNqPirwy5raZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUm zF1mn3D1~niS|@yrr+VmWlX9KNqR z*wD{p+yu|GzFWSJx4btxc;6-rM!x5Pt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g z$conjgwGO+&#~-&a1`@yJh8ZpNV&a}w7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3 zBW5zht{*=I{u|+yuhY^PM#u#K{0s#aM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rF zW)sddt!HmXK3stE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$* zn@#r53F4Sc;=cRC`@HTI>yJq8hsAHB#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N z@U_!GvRb_@&F$}aYH0`i1$Ki{$Jj5rjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo z3I6Ap4j+eKaytab&MMv2%yp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$; zZH8JFJ`%M^cuEEjCF)Fb!|BM~?AlD2EWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C z4*BAhDG?kLPYiLloKk-S+NC;pMg6~HwfbX`DUlN#1fb_95T=Y2LVGlrrIea^*wpC{ILiT3YktRnh&P#{Z8mRd%oZ`u^-40+Yt?!5&PFs zSyCM+k~3NW(H>ZSU|?~uOFU{G0S6>-%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJ zVAlBkUXzPsrMeDb0mdP@Z!s&#>DmFhPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo z0M>EivUI9|9WF0*_Oclm*oa4y`6d{?NJ147?$HJ(!t*ARDIA5rW{;RjEs zNjICo{Kzm^r0OOcpJVL(mFc%@*tk=MHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GW zPm7f|_W$pX!+pQA`jKqoQhY?hMe=4d0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzK zn2+U=(DEmpIe!u#LSx33Rm;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2 zr<%{XSa+fkBo*-gcr_NRL6;%8D1NvCiXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E z%B9eWi3oaw)s>3KX#^oR9|vICkcO_(l~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V; zdzW!(sd6s5Bv&Y#T-bCv_{*y%_!qJuFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf z1;AUeH`;V`zjmiV>205V)%2YujX>!qn5s(>A_7{a2!jx+>9cS*C%@c6{cVIjE+3<)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk} z*f8(=D{?t}wJ_b%bwLnOMUv9O zMTpfmzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspK zo`;&*x~H=M9BI}6EQ)I8y`e>Ki2WXmU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0l zXf@gZrF1!6xu3f;8`*B#@u%?am1xxcNW(V_ZHWJ|E}jWkh6;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v) z=R4#?NryEn!UZ%F^4PK8c-ueT+VD`_@zDL`H9#WV2x1>GA$g-pY`JMAxMNV9JT1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB; zaBy*48nzaFt*v~mSY%^HMZ*kli-qlS)oTsR3|nMYEi~1#Ep%#|mLJ#o3p<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+Pw znPu*_wAL_mT$`?Z1EG@7#NvjMxCoVKF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A& zjti!)$7&c;GW5UUjoth)1oD7NWvizc-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00 zCqo2PfnXVgpd_Yp>k6RZmSxyud`u*_k^I>_&bEvSy0|xTibTE8EZm)kbV!xYzuV(!Gf$7{NWvha_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZ zec*J4@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHg zf-*6W6yYQiM!I9?i0zv9F?bYUib9!GJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vY zNpn*V=Q`#?42DdEh>;kPj6pr;iS1=gzB);a9#v}Kp0908bVM$)#Tnwb>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v* z8aik5{_=Rf9o>(w4%gnr^q`sOIc7mnbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!r zCm0~weTZ3R9zYnvZrZmv{9v}E>*YlhjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5 zo{thXt%&1p!``V9MZz3>ora7OSWpU~kR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt z#tVs06v5BKx{kKdbD|Fw(g?CBho#4!;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+ z@cQ=l0hQ!!k+ucAMWkRT{A6Y}&{w0FoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#U zK62XFP}=qdETR-ySt)kn(Q+?~#4f$jOhzdX0Gk|X6|jSWnX81bE^ipzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|d zp1HT&-RK2X1rU5+Ywmy7jimaEb|vC?2_(BBK8D~_{J1IF=<_~zQQ6c>DcU>%A#yz5KtO-DLY!fG{&d+EIvEmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3 zUky3fCPw_o*v$!4-UN5VU81DWXLNKWB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi z9A!(gMC{DGDM<*Lkbx4h;}wIl10ozzxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{ zuoLWSt(4%rKN zwn6RQf@_RAZoAqvK#3@jhC@gPk#<{{qk~-)QCv`QPseKE32T@e9r5eu!WKl z7wL9FCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdF zh*6m_y{pKo=?k*ns~lJtBm|5?X0RUsQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGS zF3=oe8dhdzRaI40RaI40RaI40RaI40RaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4 z>y+s6F$Ehu(pa=w5Tubwx+*12%0gsuz@^=Cv6w2oe$g@$7XgFsokz^@U#7vuj@r5xH{*k8@o2wTkCC?pM9+bH=gHa#|L%UW6K zlIbU9C~qqKS-o;5l@oIkLXZknP$dKy1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT z>c0ff+|xr;(?wBK)m0T#)l*efRaGdJM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_ z&*G6?>{1amZAw^B8b-}3ii{nq66IlVhMh!Lw*;0^OVPx*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikf zl!V;jb+<15nV~hF*5?mJ4=3PX+auf&`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%` z)SLmvH0;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68P zwIoR45iEpL5dGC6O{2LMr%bcS6s2PyvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_w zMsS_Ih(k$_2_3}i9kv9$277H#F3A%xjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^ z1NdgUE#h#C?8nJwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an1 z4Ty$jO#8g8mz(NDoo%|clJ>~~2SouGH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^ zxu1JVXb5rCL{CKp5dAn-u4rYSQal5Yfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K< zCl%}$;BGig(_?XYwz-Iy7&v`c2bMfHa{a;XRqz1j7gD_<@00(qcR=xL=WlnjAc+I+ zQ}m=QRX0fA1|ph*F1u0R%d)pZCHcgdz4X8zYUe!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T z@J5ezesaI&*IMmV(_PA{86q0=FpvUy{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^Bg zGzR5en8In7Rmh7^-XThDV+H*f+{%jedq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs z`d!10*x<| zB_uZ&x6X@a+1qrl7|8<4)3_D!3^W8{Ac%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?D ze0iNpA;_Q8Y;pid(h-v2u0bA;SGzxP4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiC zC!=cbu206CLF|%g^Ad#g6Hk$g)qg%IZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy z&0w~E?l6Q5&>(H|`z=$Mi+!2j2DvV zIgz&CJ2x~39mW192mbrbltKXq{cC#!d4q-wLOu8l5CANE$j-Dd5&imw-ZO+y z^d9EQtmXjMp%#oKC1adN#QpMl>ijo$i5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&IN zUYDfj42_|dqo$Xj$^roSsV!RjJw0!otefWP>6B%}~{|F^qRu8BUXJYGk&& z-(`jU;%JWTms)(^BPQAYE-~lw!Kue)A@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy>`UZ8X!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^M zHus?tVj=+6f`A;;Kv@ES6a@f1Ps8o<2`7lG-yU; zF(bl4#C3?)Gcix<7&gI$ia=L4q@}m~yPUg_hui_)*g0Nmz2~FfQsY$?wU0kD~01tX2=hYT0N$c>qpK>>3i@;=;s{Z1XIs zvFkA(uSil}@$CW9ZIIx}>awYBf z`IK1TMJh@p*JcMtZ&8!Xh=`D9YkYD2e}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih@U|8&Hff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ z_>3#aOUV`)mJ!}K^R@eLdx7}+rm2c(3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+ z?uRp3xXx#f+HDFA79HZTMMh2sAv~W-AJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$h zH%Y_M(ChTpstH@jd6Ijy^2htU9{R0(2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756* zDlFVS^9w#Zrwem-mz+vljV52?td#k7@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N z0&5 z_$*Jo>wXE-m}NNwma5RK_r$C$sb94%Fme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!Z zaqI0EkUvOuBf|gA&GYvlf6d$56)9SV0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH z!e$#4#rXC+9JpbZf;a%F`N1KV+M7Ot0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluv zruZ%?=st@#%x|sB;4bl3s#$Y<z5cWt%&x}A zj~Ys(-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^qG}l)`u7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwE znry`PQHP~-^vKdUC$cE(UZ{zBd&uG>FUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U z^labgf}y>;!mn$(LC2tngTqyBNPNVfTDxEK`qADfDN{3jxsX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#( z*RfnV-&vESP2@(0=vzv#GflotBDNJBo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@ z{0&z?jFK$A3qj}5z#`}NwCKGYvAKX8EQquFs*kfx>eiL6!YL}+pE zCa4z%4YF zWAlkQQwf#K^;I)81t&w%6&G_Sq*Q9k=~XjmA0HndA1TQBTpP9sSc!wqgaS~vYpE^HdZy_8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7 ze7cEy18iC3DQg>Xm(UE5+~ZllEB8_{#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>Of zK_PE_^8!Z={t=Q!_FTlqe%`iU_QmMvWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0 z{`}M1x7Zak)o|Qq=2)mMG*hOk zusf~O2(=pyebp+i2ATt_D;*V%41Kk$x%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf z96~2T0>X5C?nL<^<9mLy-yx9J9OMXxqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U z*>;jDf`|pE<@33^_nb+6c(zx+ER!5$ChStz+41KJ7GW(Pf>w#G6J)?>4_O04m(|175Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~ zbE}?>1CckBsYR^!tkc-)q3)%EtTVg@@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~ zB*iF6YGfK8HF;8fiBQvS_}}=Rfr|P?1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s& zWMpGu=oU~J47nEkt`#Y&c9#!zu zN;{+vKwh{Vy|W_X4+>em{{ICqQvo_e!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qS zY1>PIDcb3|mMOq1pwumT$X!F11Oc3cDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O# zX)dOeCTT57-QrRu(n%>x)VoQgfNLdWte1&alpcUALK`F^LjCPelRb5s$0x!G%2=qu zKhI??>1_75trqA1kU@dkyjrM+ru3yD-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J z`gtW)ug8Jmqte&}e4cl|5gK9mwus5>D)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q z1e?Xrgg>9HW=+b&<6yQ!O4*y9jjvZ> zAAcy3^<@4^m-jXPZtup6&XX%o%)M}fktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP z;mZh_5aS!ZA(SSrMl%9Qw_hOdVXwnQjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAz zJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z z-L)rK43%k<9)j{Y9+2wtA~ZtNVuAZYG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+ zK5wmtz8i*jRxZ^SNIc63=KmLX_x3ALVl>#vVGbWD;okC4X?yE>@CWjDRaJLAb8U%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb> zfEI-y2WY%9i5qHHsYTChXluDy*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN? z_m0D*xJE{%i`agB_ikRxlAtuLd>=`k+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~ z^i!&|jYwV%jmW{ajvt2@QY`-25u>W0n7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ zed;$n^m0}|NvuebQjJnXP6pFd%+95 zzmFE2jf<$;$RqlcM9U8eJy8d#P$DAF4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1 zaC~F&W_ylRk^b(+dIu5be#h*&u@d>-Tt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X| zyKm#=d1{pM>txw=bye1U#z=_}{DH$1^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x z&meg}OUswP`xG;OzrKnMKEJe?9 z7po(E`sK#-G~wEYBVqe(7Q{_sL+7DQzd#6Abc~T7K9LUMyTH)L$w;+Rv-KKSf zg^<4|7NiSnl+4&Ko^HJKT3GjH0t+@IX7Zzp)H>*kSdZgoM{7xX1qp*A{mq-*?J3|B zvg?(-hlDL#bf&4b2!F?GGLWt=ks3o`SNlp6d`Ii{U54?WkHhXvn_+CLO~L|dkXoA5 zm<=`&v*dQ`F2tL}J6Mmpql{B&WoL>yp`Noes%UE2Ii@q|m?+ZvuR!&G_PplA?KDZy z(b!b5QI{@v@Cm+{S&9^QL;LdDwfE;`mO_U>?*{sWR=3u9UM{M;{b)M<5(cx5OvXm| z*)IWsrBE7*0oOvt9v(CE>CPr^{0m zG>oZcftJqsj^1;wR=CIP2H;JVG?# zJCEw8EklDdYsq32E~}&lLnu%(GA5=3-0*h`r<}EAn&zuW_J%K4)xCO`${ycmgBYI8YY%p8?2xiZ0yCRBiI#@>+W=d%CW%uWBEJgnJ-p z+ygpnZEE)z481VERG6(zLNN{7J2|Nm*qMOFRrMk0jVXyoZ$}+_SRZ`075g?(iZvI% z>uLsX+K3-=(c6%Mqx3dUms0#m_&^~$bWbZ%!&&Xqt!^@oocT?+K(Xd5Q0#W;e102UXmQIW({<& zz@YT1D`S#+Gy}3~L{q^;i2AgTNb{@KTdN?Wq70DC^|iQafbzQ^ z1rCKwiSfZbk47eyHx3C+4jr|8t?~dr1(C=k`IF|f#pmLN>qtj9!kBkD4*)rSwi<&z z=6gFMJP9lauVNq{U@*;7uuS$!JaYV*DRJJPGb7c2; z`Bga0ex>|NC_uj9qT$n+&l@f~u-iJ0$aHPZ8OK5tJ3|a6BuYJlDz+3{p->=Gxm7kw zOVbiKKa{QIQ=auWwbuAr4gYjI%FzuXa=w#Nuc z<9ydqt4-cx3~JxP|1h#{h)JY^)8?}}v$N3yu1Ol58uM9VUJclu-TCTmDky3=D#DF&7X>^=ftt801;ursYcy)4@j02Z-h*^pbpAe?RJnQ#lLf>}gUj3&I zUuj()ifj$@5qQr5fVGmJSa!0o<0TksWM=7KTUhXNlJx5j4itA?;olCI4^YQLodBFi znKrhw@uGPlKQjpKoLt^KN8fOAw!}?gNkjGov$;z`8AEEt7=DU4zT}B zG>{|+0!JyrnFZ2Qn($bwJk)-c8~{zlBEvnV%{MsSt`Dvr#U1BF_hoesB>> za=(p_WA#-@>o&T1Qd5QG83&9$fbkWzAbLE!9lfO6CVUVbj(CqfSs^-rg`6ioi@=F6 z6}5pgdu&gCeCc+Rkzg}YwE~p=?ZYmBR!N&@;JRa0& zrrjY1cERUI`@1w9nkND&(pcfUF^(jpU|#j7emz4z)bbK!x?m7IjQN^hms*0+|ea)1!Xfk@DP_CYk@*pD{2?JdTp$N4^>D5W^Sd50pi7WMNt)5E$Dk z#(1v`*RUt^kUrk1?FirpY*f#+9s(cR-KT}uM$_-Co&%q_sGtoKKs>+zh7jhgOswJB z)&X;K^$od=GC5R~bV{U7Y7s#+%)W?!emB;Jnd#LFzA#h1WWvy@4H)n(?mVAK#nur1 zU_>~CiGu1Ibk0e#@ga-%M|3Xe2=xPJPFS&2bEHm2C4wvDT>>c5sg@~)ohPj4NuxPg zv(~P1cX`3d)-KLMpAv^p>)kxZF}-t+Xp@r(Sf3Yi>zNj}zi5Hb<{22tT=(6UNA2tJ z%u%6KYrGKJ8VBjnsp|#!#u`oDQak`I^8hLtiE3A0hXs`_JNOGXwviW<6t%JB~! zu50CrbOwLN{^GB&uGv7j_BErfeQbMCQ_D5MHP~kNM1vt6LvBa?>mF|cV8Q5+HTn3r zRFj&M<>hn_rgrW3U1jw%UD2VYEl(eM0>)h+n7fPkMh^cSxIii?1^*6qjYw1t*^6^| z(+Qz9QAND~xOSMF_`=Eo{yGw=9QdEBqKY>gZjG49cLz24yzXY5D*{Px7xSxx=jYQ1 z!7KMGii!3o+-uR}*@j8^ubx7dC=ef?U%r?YP!JHhJPw~)yXC@p9VzTN zsg;(E{LVTs%B!^7y0dphUZaPTkozu)@z1?<%n;CgnYYcw4F|%tIYMe|D`le9M0xE3 zl^{c}K_{3Tr{z&u-#ritT9t8C=bg~YiilDLDhd^pD!4$5W5>9wKw&g#1xq%~h);MQ zZ@gbV^}@0ydZ*dK*)f^l^)=X?lW#RMh0L=@Gz^{r$E@dl|-OcEQnz79xD!L zPqz}69GUXghvIP~on2b@deYDh#V#GCa_%+jvLYURyEf&+$o)iSJm1h0E4xd|OA=+- zUz7$9@WnBm^$4hf$=y>J>Ym2j$dHh0{FF+q9w5r)4W=%}4q2il8lfxMK5e1&hY3MP z#Zuvc1)?lTB8{WfjsmJ$v<#^7Z%gIwnn&)Pp48|uk7q-OU z2b89|>ZU*H@_fh?N@GsNiR>Vcn}a_veF0)ckca?af+M#ioJU^8FTxwC=Jcd-YPmkLCWpasO~v`ZsvXPZIS%R)yYt#$T8B z>PzlACCuBe_2p+|nTrPEii1d1$xt1}kH=5Jor$hU7hm(U*Ji({JE;h3oZxr6MYIC0 zE}y!4S6UOUc^&Nx{O30bra#j3*^|0Xh>FS~VM9Xd+7T*p@6}q9lv{|p-vezThp_3I z#|JAoO?Hm4)xhappV7UMeELl5SYE!qj&q&)O1!Zri4D+xefFX`rhlBl0jZykzlCev z#}zRqfd)awX_Wq3Gv&f2#35mctzP{tw|7h{vpz)&r_b|%j}p$q`}SHMyD+!Sj6y{{ z+T#_#<$$Gk;2Mh8S-hq$Yj-%k7-U?0cLgv6A6yF-yzQ89$^9T~^=|vb;rTX$xrkpG zrPfdQU}Dm$KqgJ}M*(~_CpL~WHCjGpn;UBgh3j44#RGi-;Y&q zf+QA<*onMRAfzn-UAnD(uU*jGLQf7Y&-lLdBoL3h5bLQYZ?Y^Ed$i(8f{09S9IZVg zqm^Ow{>n|_nr*F$8mu>-S;kCD31+E42{S|uEiOtJVUrM58`9)>EK6+$lT<@999JQQ zu|if3+dAxv!N%#>W)x|Ej8To|YdK?7c7ebT32I?eqlU zjVh;!jawUwGA!+p26rqstbG}0Q6Wjzpv*cq-kwBP250==TPe-mPeW)uYBY>9OK@u( zD0~x!&uqwg-$Lk_EB5^H7K6eQCU~a#-SJa1J^HhV0R=BJ1@XUZmD)Ny58j!pUVkom zw7B7+^AB&e(1|7%g+ObIo;_TZ1LS0@s5`C4vC*bz>{1gt$99hx(md`mP8$qmoD5)K7fixvL7+INP#FA6N6L z;i}xa2vE3Hwdg7|iOKl&uiQ0>az?VjB!r27qSDX#uHM&#$CB$n5^Q@j{;%cZ z;7qx60R>shwh$tDRDrnZGa~&;VeifI8XJ&z^OMSJ-?5KaXnb*!|G9?@sOyeX`Q%AE z6(8J_hf^{7Fxvds0%TW`k;)l|ZCZcX3Ab8L;rzJV1wiBGZmif19ni@p+929Ff8|&c z&bm24BmRZOlG5psg|QX;q>;b6CF4#WVvH;nm?PAna0b6i6;)yo#NhYcpZp}ixM8b| z`ddFea%N5D=MC4l3Oq*KHr%2_OsE7l$$F&Tn@aVR>Y<3=0}sijHe{8_45HREG5yfF zJ2>&6!!6WA%1@L9tpHMj#E5us8irlCyrc?M+02obq#b|1EC{?CyksF3qJ$gDGvE$8JATqw2s9ZjqVapyZ3%j zE&eF5>-EtgH-lt+Ln>Pi+g#UH0j~HFvbn!M3fmnqt z=IBvJ8lY)Kr1d*tr5;VtobcJiPx*s)`qvxm>VaXc@~TI!0m1T*aVQaIOZXdX5uSx$ zOf0RQW2NyOK{}~1IN5Snx5k{WAY_Tdj_J(Pm-{(tH!5grj}b)ixWQ*RN~$fsx6k4t zPf0k4zyrw>>nh~q!m#4K3F4|OG2!|6-mA6I?~n|Pq5y2$mn=A_YD9FrddfDLQZ4)A zy-lI2T^|=}#&4&eja`Ds@@=b@&#GSW-qzs1KUWizbRUm1>btMsauRXD9})rJyC<97 ze;+e|dEn>15!{~jY7>|l#jCwe6KJ^ycf`v0h~j^ellFWA(@dL6Ut!g_NmGPLVf%|b z=5HzfdLg7t zm#`H##~GwGS>h~f)-Ie=7v03@!L_CeM+m*fI4hyn{=Qs=;!r*UmB zd1~iQy8&hbY=C>L^P`3VM55T?RQ78v`6qA|?7+wq-TVA+t}8?=wxb@O8jdAGsdgp% z$L;TmV}_}bT!d83idESww*4d7_+Q~*J`)2sXEz_DZ0=_o-rVl^VPDLgP-w@E9BvBOvYcL{q6v#+)c`X%t&;xVx{}B9Q)F8xLrMHK*$Gi>Hm}oT6Y$ z?&xxywAwE7q$~ou@_ZIfb3E2Y7W(sb>OJXqmoMGa`mpeT3L962Hn9}$<;j2R%Pk^g zs77L;LtI$=%>f7(WG><^wlSyLp{cVydAYOIO~H)WdDjH@WpPLanz3b~(?5hFndlE# zF1s~o=PG)}mY0{0`HDV$yT6tqu=ehMb7OZF?F2F8ap&b_Jl(bqrdz8!-T6hR#LJ0Lo@-SlA22BO zy97=eoX-?~>c;SsWeGhrc->5XH;tg;I1DecW--iiu1#K#7g(o{?NxNBL*fg8qmX78 zuB2aPE*KB(_V6N#mJ53uNrp}1`wo%^A}4G$+r9m`8~omp$`e8+CJZMG=)O)lQ%<@Q zzQb5|LD9D4z@m*69+rJ!R4PYp7+=3y|JQsW{;9eX+i(tuXaklynMo42CzfZEF7}!+ zcMU~gZ!2i+e@7Ec{F=_;RR|n?($Ku))_jJk=#slCbq~xAcdP}dm=J#*MSmRT>{P)fQ+~FPrz~Q=h~p6r4Tv)x4_uV|&E?yO#Kbeq{_?1iPW*MViQ!R=^*S z`6R2w#ZR6cE>2Bx)&73X5m>RJMonDJH(z!(x1zoEi2sH_m9E)Ru0>^_o?;akLQsuZN^6P74xfx9R>4|`q*NjXRFPE9 zN7g0H(F3Y|@S46hEJdTNwp8y(97V8;UMCFz1>kuU_hTa?C7PiO1XKhznQ-&$;jlZt zIIT6iRJi(aRvw$kttL1_MPKW{e2zuEa*@kp%AJ^V99TJzRZu;u@b9o?C0ctvOl%Yc z@c59iUskZTWyb=QsS5TJ$tQ~_3>Top^Mo1dcCLN$CnZR9#sEG|gMb*VWW4HU%GST{ zLFD1dCF<<%C5&wHD}&Yk0Auf71JNN7p@7_AkVM9nK>&nVl{xT`PI#ACZ8HmzCU}nzVPF)=Ji3JR z2^`o-Lh~GGY{Y8hZRvMQB zPs(Z6fDXs#iskA#VjZ@T3Qr+ECL**U(xOAFBZTN=mIY~X0|Qu_s-$B|!VV`!!)E`r zM;k$4Y!=WRF@r|9c3ZimnK)-%(lA=4R=L91W>Ig~#|8saHPX)HvkVfQP}VMv#es?4 zi6_q2Ln%k-dJP1P^{okIyz+fgsGFD)p;Oii>+CzSBQ9*8%lN@&`#DfnMDk@x3y5{X z>uu7yY8>fo7{B|pYB)(R{8Blk=Ug@==F*tXYX)w}xp3Bb(he2U=`O3CHk->)jAJ?n ztcjo!NfYW(c)SqD@GwQ_3w!-ySIZ@+!^_k_=n zm+?hb+m1sDAR(hj7#lusKW)@6>FPH23 zDV@3aa7-lN^}O3mvmlZM)nQrNlL!=7%K01XmbR~($gX?|j!NvCn15PV62kOr+eiM3 zOl<1{f6m;-6ecdNBBP`56p^>|6v`s=C(_Zs7&{}n9tX5+p>J45oIo6h<@m{|;WQihOa^sbvst+&T%C-g z&56G15|WW8cV@;a2~s_4iSEY|K`)>3=(?eE+&?D)o^*fyCP>E+N_V5kQR55tRh(L} ztcZAGc|TJXk?>W*%*LR0;_m&|T@mc6ztqPOud+Y!2mZ8vp}5-=N>4C^ZQk10Fb}JY zp4~kJ!`r(Ej2VZnKQU*@-qY}cxu{|(K*immyKdw0Il8JsE=Kl`-m#zj-AAvBiv8VDSx{oOo1d& zn8Z(laDaW-jR?G7DN_*o1l9FU&KBAHX_VdDysB#uZxANEY{7<-C|kXEN!)LP@y&ey ze#j89#ltQafr4+q1{;S1dd>aU7Wc)c@Bg@gB#GgEmlqK6*JYDXukY9%aavQ$bbRuyFyg=Jb5TF{E301yVfdZ&_H7(85Ydv_Mk4n^|k z)%XAV5F_s?8t{lmV{JLI+D+0IwFTb=T+>Q0l}pJA)R|6z9q^_wsEV;z`cotr{v)sI z*le-T?Na%z7F9d@^a1XBwX1t_<5zNP-vcE^$=(LWH218^9R(mPGg2xZ?>*LQtt;&V zJtTtq1lg`Q4v~h!%lc6~>wf?oeEqtikOWc5YX>C0iWSm)leaMvFl_vZL>^j$^2E ze$&qTsp{4LX4~J+k&?aZ{7RfP%=BGbgM`iZVc!`ZNM+FUh`YSK^&8g?(i{Ggt@tJk z7&Oms2k%-z;T=+58q321XHP{~ZkE3o^BDZtZn-Go$}4wM8&})d2|TMsx^em*61Z=b zU-&IfK>9(uyPW(nE4^s`+IXUGwCAImSN{`qR(_P4QLWvigFxjkVRr)>v5W?I_$2JG zB9c)heed9*y`MoAR+3mJB}C3+DkrV=&I1ruoS=WKXw9=XIpQqhhxaBM%9vqo7bH96 zB_qPJ?3QWjvsub27w%2Xb1Z@N#fC#tH*cQ_MJU0E8|NJ+DxOW|6lSGRBQRRj^@2^F zH?d9QE!pg5crG>AO%eF7#FmY^Lz~viV1SS&{)GjRNJ;qz3;kb{b~nj&=h;7<61l0} zsI`zGzG5tS2b5)bW$OnGx zGNNxpGYOr1Io(#*`V!Q3bM=?!BJfzqgyYB%41~CS{(eLbK;8S+0(Gx^419cnf+M!! z_Yytgqn2RIa7km|4@?~p-&|xHj3%LRxCuLkBG1|DP(p*5RYm}T@`rM?hH!(!^UP@Z zRRivltzZ!m8BR3d_}nJjfaK;44SR}LN zKX57@c1!#i)dd&ou+8gpks;w^C73!Lz%fFK$dx_x&~&21elV)vVr|6t7BhZW3^+jtH zGZDpH#8KGQ{8?<>=@_6ZjoChvU7@X-!^lTlq*eid&3QPL?B)_twuA^`JX_87=VoV5 zU0JMP8n8vX;lZ{{9(UAbxEt$<(y5B+5rMBT_+E`FGjN6oNGnPvynv=!R-IYTCKOHC ztOUuQ0%$Nw#PEJWfEXU^ykJ?;lG|%Vq%0BK+)@?zrY0qYu;ZH}mCs=(*o4sp=aC7C!^bQwg)!^=joDQUMv1P= zQuQ;QV5XRnz4SWsY*^0bE9DZu?6pxZq`2pXZLH;mYGj_#;!-~w6M zYqI)>Fu~!Xhk-p0z0NC$Hk!oPH=^4+-iQ>!j(Zr3h-k8ZzsPwgY1zw;PfXn8BX7_L zYNCwB(4WOYQ6Fc5lKWOg*GTthNCoAbiJ>tMu{gu$c(?R={1$G1YgXndX>002z`N?1 z7dLQxV;lWt*`|g@ofm(B6hcxyMChn2y%xSO@Ooiqn!v|AcZ2q=y##sQz55PSZ?I6C zfW3efr7E{|CF*LBB|`3!sk!*J|Kzkoq4{TASH1xg@9#%Q>rZu{^4b1r=p9-?MtbHA zhc1tsw(j!%o6^>$mxqs7<#vRySG4C$kw43Z7%uEvKUWY|zqoOP+^sqL9J0h#%J947 z^4>cc2rmw~uX-%zwiAwx~_{vgAw%laN6_OCTV|lF5Viqbkt{ivfI*> zO(fun@|KgZjSQp?IFZUC3HiWKD|aqaxaGqBs%EvM-+aVItfH_Z=U$2TdDpHF)c}Ay z!BpSO@8Njf!3#q*BP$bAPM4G*x9gD-`HPOOve?R~+(r`PunWOiJpE2&jci_lA?~jV z#v;OMw>S_J$06%|uS`S<0tEG0fLBVV|NSK_<=yo0wPesh%FW&P(1T;GPjQBjX*j3f z4;m`aHF3p>;d)Ut2Vj`d%ZPiIdkf~i(mhC8c5!y{W_{^x3oCQyE%hQ+riOL_39{$Z zDT{%YI%9`cM^gaM+u0AGPw{vb({dN49C=+3>Tnt}~bZTR@ge?#+oNBz9BsCt{O%5^4OlYnri)gkWE6 zrLJvICJeOfF9X6}pOYRrG&FO@vT7?KwmAb^#wg`jjA^tbt(}i?F+}{%?RJ;(wGG`e zNm1NU6CDsj7P_-1PCj687ssp;4wF`UbWaahYeF{YSb9%hCo15|HYcIf4knnn@^+7m zq}E<3R2;*eA;Covoy&@X2@87$dRBlM-|tToIeK^vli3JIuQsJ3dor2-gy>!Y@La-x zC!}A84=Tj~bVq`;42zY+n)sN5CHMH~TD# zgnSvHRX73S8lem<3Rq8c*ljwb0U=D77=VBPyq*R5XgN}|4j%9_1x{(uQKWzEz-eB` zMO-w^>v+XPBrG3OEvse^R|F34ZtFR!7k9Az0;H1u{q)^R z8y3vjH)m{+u6It@eCC9<#7;SL4-=*qMS-z=U6;M?k2SzUS6uQ;dkd7o->^d*U-I6ETReK5U3RwV zYWN&2(;^*AcY98{6)u_Bo`Dy$`}68RBfbCV_^8D;)V#5jw!r%{eF&NOUF2 z6{#0mnS?XNlA;R#096Fdc-ui0Bo3lB|K#>k?M3$bMYd85q7HHk+_HoKEOiJg)PrgK%Cw+O`$mSs7C_Yz!K2 zj?JQ|N`YVk!Bi!3xd7FC21ylFmtag~i%1m==JV{^Q_dMT>s+Ki%A9BWnVZXI!&Aa| z;IWp#Mt`uweLs8aIUH}Fc1bo1LnBIuNwwa}$|=b$U9d33MCUyBE=h)S?IvihT9Gy2 zxT^G`jwdTxNq^r#kU9(cEnNFP;(g<0Kg9nCJWjSMF>+Jq37XG>eY{hTxnSpx8r$tu zJ#Tz6MGq9PR&}83S!IumOs1)-TI~~QWROUgyD(1MYz+(P3YFA)hP=Yji&&#?%$v0c z^($;=6Yhqv>eX^v=XPNl4*ji$El5>k3NhKPD1z?mqj%5Ly!y#c>AYft6UZ(9T61+c z{V2@0C^F*cnGC}7vYq6g3&aNbgZ&1II-itce%zODsVpd&&_Spj>aW(eveX{-a zU0Ru_is~_K(7O-oA0F3Y?9|VTl@bCK|2-R*rTa0<{L*_w&@KaL3R00=eG6i195_TWlUNq&^Ytzq-JaKmJBxa)LGSxUglzZNrYaSwX z5SFxNVgSLF?eb)sP7YE9T{3A`J*laHw+Z%a2td#<0l`#Sn41ojtw9R{0)mbx@vPsk z3oJY=s0t(UaqVHrewQAHPc^|(smqG_P)*1p1W4pPYJkP0bY1P?wcb!VW3aZ&n5!ZZ z`**SL)sUku?Rn#p_H99=OY{5Bi1F4|_nG@KqgSn`-nQgd`U93-A>-}GQU7e80t@Yrr9CbOK1($C%JZpRdmA#g=k^k0kB@P>FPkR7*YqZ1yt zj3qfUhKl3Ju3!7mNV<8Uy*MO6-Kn(9scjp>=1e^iqCnArX&^yAvhw?}$Zgau0bxga z_O-8oj8@RNg~vCcqSJ3)!JsG1rFuRd2h+b4Gw5C2hxjhWLchBFSrzXM3#Pz$3wj2{+yh8se72TEW098;BJUYNYNYqF1Q@NREPDa`)C zbmS)!K)=pzSyRJ=|ubYcsK@hkAN!8335ouJu0=(X#@0V9~G z4BtETn;?SyADo9R4S=n9=UsblrE*4Y=~=o%cv#KG)9Cy9C63idR9L^v)W$2%CmOzA zIz)miv5x_OTd&gv{Xp&kPv1wjhb6B55To78>_L;b;j`BC_>?g$Qix!^05j}g{4yI= zF$4sKD+|m09cN`Yee3eUYq^`7J0B*rnNTg!2bM!b%qs=YWIebwN*5fjzFA62(lBF^ z;OVgUPA?Fhqpy7V`{&#CC+dP~r$e{E{cNM4FvP94Apz${SQM*rNOVWsdcJZ6v5hlc zpA*D{P*!6=)IjnKso=>G{%dYcY+Jca0+00BP;-(Kfv0vnRLxA%XFjCF(v(Ru8WXm~ zaH)t|Bze`BTstQz#O88)9R^u)CR)LvMYjZD$$2Z6znRJfXdCiJ2g>!1SP?g68-VP_ zdF)m9^CPJXyO``C7t7%mgQqKF!Ezi({RBby!5PDsu0p9{5%5!p1ttl`(j6E$&m2AS zuR?d1`m1xBOhqIKGCcr?(74ZjbP3htY35atCYI0qVQw{at5&wJEIK+vwc@IZbUd;}_!lqiYS7)WRkT$sy% z4n|vC8py90BU(My}z{#(f!);Ze zf3Um;cOloDw{L;-It-S5OY~R`#ULUHt6~z$4C(d;0AA|{C1g-gdTdhP)2PxiXcLT< zFaS4>(1xq}NIqqaV+H=W#f5ExCe$JXaRW59fglTjZwPEiAj!#iaNr=a5kh|x;?rL| z$zw(!Cy*yZ&H08=sGbF-H)jbMf5)mFR@Vq@1T-Po`Noy|EPH4S4o>7x^R@?qTYxSs z(r1MJi|sTVv+R#StK-D+rvvITpabS}q{D17ntp@=_9g5R^k!+%JTT*XAceD{Kb~~H zMcdxFV3qxaXn+Fg-$xjZ6Vuoxf&ALj6T}2NhVIblPvIUFxa^>%8Non_@r6LxqD_}I z-$U4<0#rf&GrW}`hf0bDhGFav^xybT;6H)?1pX8FPvAd+{{;RM_)p+Jf&T>l6ZlWy OKY{-b0Z};-mHz>HV$3xF literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso new file mode 100644 index 0000000000000000000000000000000000000000..1dfdce41069f01cf08f50fb447eedbef96782c2c GIT binary patch literal 45444 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 BBDVkl literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso.pdb new file mode 100644 index 00000000..a5109597 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.21E51D63F6FD0658E746CAE70039F290.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2a63ae171f81fc46c26e6cad4f0a7d98429b38683ac26c7f6825298bcedd2c7 +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.22F4863734AAC59D6C9C66C631B23B6E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.22F4863734AAC59D6C9C66C631B23B6E.cso new file mode 100644 index 0000000000000000000000000000000000000000..78d608c18075af4a44b8292e7f0ccf83d50c377e GIT binary patch literal 35536 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 z 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.2E6BE8AF0F44BC5CC7DA119DDBB43E98.cso new file mode 100644 index 0000000000000000000000000000000000000000..c052598d1b224dbda7a23d7e737f89686e19876c GIT binary patch literal 48208 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 A_5c6? literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso new file mode 100644 index 0000000000000000000000000000000000000000..496e3958750847077c0c5181e55b5ab27d595d74 GIT binary patch literal 41008 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 W(b08%>#_qIve}+o_jGQQoc|wH@AH8G literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso.pdb new file mode 100644 index 00000000..93ee631e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.323B3616109D749EF6D2A3CF51050BE6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a62b1d847f890e31238cdc714f847b0cbd9e0b0c6ce8e3a5418b034a90e52c3 +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3340D8F8BFE958B965936432A77D2811.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3340D8F8BFE958B965936432A77D2811.cso new file mode 100644 index 0000000000000000000000000000000000000000..76839f78af482dfb1ccb607bd34e43c9642bfe51 GIT binary patch literal 43464 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≫LS5LOH8ph4Pw)6`J)Z)8o37 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

    Tdfc?yN| z6owVbh=vuq`5ft-*8$3lN>}LSW2AHbMLO5I8CK}ld>Q82FX>l=a7Lj78dfL+8dfL= zG^|ic8dm7mN-3Xfrj*aMONJH7n;KRqZCFz#U7>VpSfT9DutM3dVTEq3o$&egYJ^4>4U7?)TutIrR!wThx8dfN8YgnNy!dRX16-uXu z70RH76}quH`8j5%KBttfP+rxrLU~=o3gu@SR_Nv@l*f4o$|emf6s|3ku23G;utNDW4J&lx zdGd2yPx)^sU7@_MVTG~?FBS4DluivRltB$ElyMC!lqWT;P@dPYLN`9Ae2&wp&)Z5@ zD9bU&AYGyKX;`7`(6B-`#~?rF8kF~x(iO_{8dfN0HLOs6reTHBhP7MDQz)A>tWf$j ztWX9utWYL3tWZvASfN{^r+lu}Q(vwXGpx}4020IeAtchdw$89Z>DRDAIjmuYZv0Pv zj`bP;&y=oE&S+SnyryA=ZfwB#93wD3uXtrxp=30yPzE)uP{uW^(2dy{pJR8*ds*oU z<(!5U$}csnP}(prVSI&dKEg2PAC$+hrwl8UaSbb!QyNz2zFm@^-y|9Tb)_qm_cW|f zIG!cHLg9FlVTH0=!wTK_o%B+Omy=3Y=*HQkbG!{GuPI%jyscq{(u{RU@+*`!4J(vI z8dfM74J(x08dfNKHLOtfX;`6@G_25lV`2LI)o#<$nNudKtm9qRR<-VW;hz&!l`=k(S7v9Em;-Z{Ku>HY^i z_iNG>;Q7s(?pAoNr_t?%_n+P7FyJ15ul4Nn>oxCkFZegX)1ix(KKT9c)ag0+SK;4) zZ^rz;6MirJH2ib$ufm^$ue*Pp0e zEVNj=xI&0ySvE^}QYifC+IQbEe4CU{s!`7MatWnGeG#QC691Y)dB=31u8XvqF>a6Q z5cWCI=`yDSaf?(3yT`=RV_vNPVtRq4r#t(tov=@2AI5s+bVSW!o8eDeu+209E0YTLAZ=)$cs?FJg4Zul)qvtZyyA@-XUCnz*R>fJ+SmgShhZQY<&YL?c?1*9LJU3+G3a0qoTXrfG zk>|Z{Eff75!N+soT19T^cOHh5(R!)klGgg2ha-AJW&O@W_d5!>^*_3t*USQxo8H5F6zg{$+7C?O1y{fGuw-{F{<`iw#P(x+nGz|%^P3diTOn|N`Tef$J{=4A z-+%et@-);~5c~eivm^BU{u{v4EtSMlLf+37e$nMUsq)SW#kWTI=qk@B4)=|gFC-|( zSpt0J?YCvxm7vA$zs5PXP>1E9RUF2_UIFS>ck^3dpm$(s$H1QG%ulr#fyjY+`B$^d z#gF6feXnS_`JHKGr5_t0TF_Cmul|lgKGUz&@Rb_Iu`!3gNAbrMe#ht<=AJM-%8wPU zQ}{K7|6TcJu>TjRkK}^+Vv~WL&qs8bj~E}(X_A`mlX@RIOK{W6oGzGy+CK+P=89M| z9*%yvcTGDW?Ys$o2mD_61MuVUtg9#BPr`Gb;Pdcx_u(wCL_UYp4WT^~dL!$#@}toG<<5+OZ$%j-TTQg7ylZK z|B}+nzbPhiJ>&<2AX*!n#dAr-6V2VhL;ID}YjQm0A5IME*E{>LI|=RU{ivnO`wfoX zfc=YZ~8rfk3UfPMV2mTq_Ne@a@P zS|~3+cNtay29fgsz7u{1-W(_WS6M)z8It!#1mQ3(;%LB)cyDUKJcpN!@fw4>)O{j9 zkpp7wUv|A?^y;!2TzOIo^`;E+@g4{|!x3^{w59fG{H%rju7=BxWy+MKf**X)rmti^ zlk%xJzW)RG_u=1$9lr@(U&k}ulPklr=kGV1K}C2LxBxy4|2^=sZZraN|N3_L4E)XT zpNGE_o^^$7vj@Hxz7L-BzxD7N;5WkG0?)HWx50C)e>*&HrCbKjHjJbCuKnUjI`+tm z;Al4X(YqtjLfzTMaXeOV`%Jk`{6gkZ-F0x-wMAC{$g`GE;fbh`qnK_x4^H> z0y_r>?qdJOUU2=!Te{b0dWXBaH|Ey$Z0OmTTfaWj)0bJdVO@4(&xZ9~lOqSo`Tqf1 Ct#H2p literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.34AC697454E7671946541CA5BDED791A.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.34AC697454E7671946541CA5BDED791A.cso.pdb new file mode 100644 index 00000000..c2c448c7 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.34AC697454E7671946541CA5BDED791A.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a067229807f9b684703d87188fff1d510dd5c772dbae27bf02e3df6fbee06e34 +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso new file mode 100644 index 0000000000000000000000000000000000000000..105b14decb061015a8b646dc2eb1a13349d476fc GIT binary patch literal 45432 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 RKeKU5Z>q0*DmzNf{|_Q9JJJ9E literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso.pdb new file mode 100644 index 00000000..80af0e00 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3A79EBFB229E33A9A80C49E5140236DE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:260008c6cdd90f7ab2186aec7ea03ece86cf879d65e8537f2a33dd157087140f +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso new file mode 100644 index 0000000000000000000000000000000000000000..77dc3f912ecb8caa2ac6baed9f03b05ef34b1d45 GIT binary patch literal 37984 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso.pdb new file mode 100644 index 00000000..dcf9c469 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B0D4E708AD83ECD8CB195DDCB463524.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e51dd0292b947c5c50eabf9936241eba17e8c17cc01d18e8f1c613895005bf30 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B4B9C3BB8420D61B0C14B7C673D4312.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.3B4B9C3BB8420D61B0C14B7C673D4312.metallib new file mode 100644 index 0000000000000000000000000000000000000000..b57043518be6018dfccc4961ba77f0f3cf4e837c GIT binary patch literal 69995 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 ISz+b>0inL85&!@I literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.441699570AB850AD3DB81564F52B0908.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.441699570AB850AD3DB81564F52B0908.metallib new file mode 100644 index 0000000000000000000000000000000000000000..21210fb91b9c9ec3d87ef91b71dcc55f70b2f026 GIT binary patch literal 72139 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�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 P@Sni{hk%Hzu=4)^C6L>v literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.495C0A9F8FB4194D8EF08AE9C350B23E.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.495C0A9F8FB4194D8EF08AE9C350B23E.metallib new file mode 100644 index 0000000000000000000000000000000000000000..b04e6394cc5d1fe09e0d6645433c03fa13468dc7 GIT binary patch literal 70043 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso new file mode 100644 index 0000000000000000000000000000000000000000..033969580144455b1c82ea3d83ef31357fda5a08 GIT binary patch literal 46016 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso.pdb new file mode 100644 index 00000000..34efe65e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.4B8021430CC3C9971C8BC859E0C8989D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2cdbc5b4f1ec16f825322049dfd4104b4e32541e622c0679d05d280cf11dbee2 +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.50D311BEF26C71B333D271C49B078772.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.50D311BEF26C71B333D271C49B078772.metallib new file mode 100644 index 0000000000000000000000000000000000000000..e780eef31830485d2d04d82621bc3a47c41212a4 GIT binary patch literal 70427 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 IIT4lr0phlKQUCw| literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.5166BF50736369CD4E22FFBFC064DE76.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.5166BF50736369CD4E22FFBFC064DE76.metallib new file mode 100644 index 0000000000000000000000000000000000000000..e768b4fd01ecc57c893799d4ecdc91da9c24ac17 GIT binary patch literal 72315 zcmeFYcT`i)(>NSRNCE^1MWhp|C@pjl(S#0CLQ_D6geH*|2_4ZSl+Zy$M2ZFk#Ev40 zf=U3Th>D5|2ndLZh>D1U{oRY@^YM9pzwbHEIqx6ud(LxD?%kc)+1c5d+1YY$oIRZ^ zc^JGfIPB+@EW@*$@%{zp{Ys^OqG4*k;Pt=Y-}ueEKMTme2%uu9t_#uGMgSHU93A5y zL7_&%Jbg$upv<1=VUL5oR#e_YTO|>Dn*Yek_a{4xI6RGsQY@kh=}NPoT)y`gS6f?8 zsb3BL_hgfey9XM^3*%Y7ovl55(Xijmdw{BFSj{h?Y+S58?LFMBu&|4(e)8#@|CxGu zIap(1U61RxawV=^{w%k3Gj{Er7Kk3|$0nkur!e5}8Ju7h6%`#shrt*C=K}{g1VjY& z-rB~}p%Eqqa=Kph;ApxoEs7Qx6&)Fp@H?j+5K9dY3W$o)jgN{B3y%JsETe;{(YhhA z;o;iR!OO6&XH--;U6&L^3l7qC52i=OMh6Ddbv;5UK@f9mK((DjiH@NLh6ir~Y7I`X zwA6w0t7D{RY;0+3gf}rTHZV4`vNp8Q*SEE`w6($;8(Q0#80$m?$56tmKtQe*fWfOWuzcN6xe^8jt470Mg1kz= zk}#M!xKT`%y~J*W0}`umR>YHrQR72PD9qEkSbdc*6-VAlug5;;xyRC95&4!6&ISi6OD=krLaCFxj~9TFAr|8O71yDVHl<`RV8;rN&Y$D z*(Nt$1z5?!=zzGC9SuXrC$Nq2s6;dyV#Q#`+oR$+?C3(au?8y6o*f69CMwKS$uYR{ zV?Yw3LVJ~bZXSc*T;h!nUEjG$&Ya5 zp8q932bEa=yHOH5DHN3u3Qt0#c9PlArKmQ!b|xewtQ~4=L`iN02oDJ?G^`{y%_9#> zDr6^tzSG$8p{a@XY&wk{jbj`4L(;~VLcK@`O^rjNk_adU=rW`MNDPoyk{jny00Q6s zudGT@Noe*?Z_sg6Vgf2jgT0f(jt70mvXk&Ax&|r{Y6z90fr5#^suh4d?OZv~{eM~H zSC2B2fHDDb0*cOoB#BF4(>Q;6#1P6M!1xRE;aV=W}FY8$U7Q3fm9`Ru396lU&BKqVHkqoq(uWcIF5cwz!OiH3^S zKt+ebqwP`2_8`wTE@dYaqLM=4bOzfv6cQljA7=o5^;}7=lL?t`T1oC6Q+}8XDIB=U zKh6MrAQ5O1XalIi9(dYMt+HvjKYjUWo&Vqozsy92%mk+wvT30}Gw_52b_@+@7*c68 znH>|#HUM z+<>fbZ$fTld5A3lznuV{_J6SB@^An)MWYfJKwvigzk1Yjrb0VK?jaZgM1?Wt@(>1N zxk{+BN}&(<22lYF+j~UCUY<5MqaKonhKIWUFN^%@QMCdz9?1%0TsdfrGv&u1C;vUb z$sJ5=n;7I6_G0j#-eOfPx9k--*&;q3Nshoh7{*xDiB}5-{O6n!Rf5b@j}yui%6Jb& z890t-06F<-Ip7o;%VBvch=oXULse!jPN+~QJqAH#glnj)+QadKB$5NYdIMx(bVNcBpk%Oc(MQy8IQS1_&92|LckwBdPqyp_-yq6l(63{!+F%_>7d0~mNPEj3O93_Mg^Kip#3O~Dx3 zMIh?gF;qKt?lrV2#(&b%#0n`Hr>81);4#n-&7!~xiD}lRj%CV@rMpV#GF0BOEVVir zzFu6rvMPr_+rM0IHbZOUIP5MCRAq%=xuW?+b(v!7ho4p0mN7yCvU+T}2AMGaRCF4x z_-8vW4DTTf#Wy;cD62XYAw|_EG^p7clzE@q)EfR!^^#JWgncS{KaGNO7FBavFIe~H zX9I=q_qb+xhCH`as~A$&&1pqwI1w)zOexNT$*C=qei6HCy;Z}=VjwLIhdZtHn1Ge% zS{JA9-3;a$7;g>?rYfw0AxOiDYR-WfsNW1*$lEE$qk&PjZ^!ZCNcda=HWgif&%~lr z(NVZQQH%#H6`hUG#bfCRFrC1}&w;3)*Z^M}no47!62LHmT$Q~uft}dKHf6v~GU01! zaMMAW?6ZF490wIg0HFgFvz&=26yC`}C4gT)@+AY6wETmRWKE- zlkGhf_e#Nd@E{M-v=w$+E9=2{$smsfH$&-eo_zoe(FXE3aKo&s4XM2_Gy^arKyZe2 zoLD6f76w)=3<$Ol$7(oc!(fGc&{{1oz_+Sxg#fJz#&oP=2-HdSG9QXESQ>?_ z)ol!335_-;uc}5Hi`P)2EtS_=qb-fsQ-hSwyGbK7op&=XR*NYOgPjHaOa?L-pc!(V z6LKLEJQkT&rfD6ymdo=gy>ut$IZWg=R(OFSY=E%@vnQB>rVQC@`(lz%)UFLlY>DE!`(7JXC@DsG7nu#IQ1{lPeq z0!t1s*)g@=%n8347yi&DJd1}1fOQvGEcGovM<{Y&F$2w*6y(D~E3;v!E9^4X`=_6Pdz2u+CvBjEqB5(hQG6h?JXYgVoxKRP#QP>aUKF+3^Xegi<%B zg+dWX0}4Bq=N%^7Hu8tV2L>3cfk4d%g_?M>A9jVWyMny-^{e!4%+Hp7F$4;VjR=lh?$%G1Ked!#xQQAZPl}G(@jG>hjDxbj z5~u{)4SPm8+53W@XA}fkQp3XoqA1Zo{O!y2D1l)v!0ME62=a=g{RMkagTM|qFeWP6 zI+zv{`ZMcmxom4EY6LZg4%MPXMaOu6UM|aJPXQVaiVUXHpT#C3q{x76+%+5dAoY(rjK1|wj?P~CAPn1Y)6Te+s0R@#O%g78I>pqE^6 zhxUM_8tOR?2#AWo!#xE9@eg>l6As%CaLopprg-vr8W&@yJz}ZNAWCI&?fY=Icpr_n zTMM2aPf>M4T_mF}wv8}TQ3euCIN_H5SuTd8oy+xviq+jv(`3|S+Z6K%%0RA(CfEda zsW{{+y;N1ft?`25TK%lWDr@->mi!2B2g*gUZ+xI#$_XgKPrjQa-_4t9wi};n1q8Ya z1d7E8#^D4p&%bgp!dkgp1Zdy^Q)`f^g)fB*7??KVk@o?=&8Tx^)VVgYi$-7DgLdr! z-sh+Qj@U)eG~*jn>SUTJ=m(jDLu#Fcy6>%#N!-|ntA#&0)?o-qtmB57fjX4QG5|cA z@JJ8se|QS7?xPJrJZ%L6VB!Y$vu&{#@jXB^f2RSi_8?aqUprpfj&acDw1e)qk#9rv zEUf|FIDr5>pnu&Kdk$X<*G^D$9{4HwvGMwLO!o$cwSBR*V{4kzKqn?udnwhq4|^W? zljeAuc_03yrAu=MrbBZI0ENx%0B~vTaB1ss>FmIyx=cePQ`RocR#$l2s(89~%KiPT zkji9AW%9^yz>g{04E=1tn%hTGzL`g6iKQ^j?C#++TS{Nu4Lt!nmubXtkXd5+7pCei z@vZCUu|vfWP+tiseX&wb&fwte@Ydn6?wP^ft$l;-x1ZZ8fx{}WId-80Hipq1R5a;F zWYy}~TiWkUZJq6%dVX(g#Fl?{qQ1e?t9gyi>EUgz|M>--?JV=24s{D!TA*+($pFx$lT(hpbuyKQz{lfpsUeRuB{brylVP zRFXHX)XD-Z%NnfA`a4+9kC6&JZS>ak!s9 zeh{CQ4oscFTous$EJ<5;#R|MWODV=aNbK@(yf-Hh)BkB@`?BNljUSkudxH$m{#B~<&D_ba2NducRGPI_b z?FiMQ;9#(IV0$Bua9h^9F2Gq!*!f6Y$G}dhk&rfow{nO^Tn(NVFDZ&3;w6>PECQWh zf++22DPL&8i+>11w0pyGh(IAC77I*dODlM<9TJFG<9E2)#1;n3^rL;*fM4@qxuOhU zJ2HM5y+@)C)<>LX=}d#zOq{aRnX=UG$HNIzm^L}M&VZ$Mt`VSaR|K~I$^@Aw-tfma z&a|G5_}VKAW%8h676-I|X7K_dv;Yu&*$3=Fy6gjD);bXGJ|bn=2mYSL^#8lr^_Efi zf7V41>|(UMfHekd&}eFcLx>aA&<48WY-|8;@iZesDu2674HrQX8X&V8kYRYDH{7@s zcakXUgnig1q>c`oLjp1eMAiwBO+jRIh-@uHCLb=95U^^D(lIA)J|QfNyfg?o-drb$ zE*U&p%Z?Yj?0DFm3L0CeLk`5C@TK-ioskKh8I_Wk zJXBsasJv=edDV#Wsxe;O@qmuPl?gm6Ws!#lvl1YkB+K*@B;uI7S)Q_tj%~~S+RWJ| zz|iZ0@lB9!n9lNrgK7Rq@s1?6Zkeo}S0M9jm6AjZ zQ9&c2TPQ4?jZLajU^c}!=irs=e46c`340SAQAFAfbz?glyi4*V@S1dk^A z6uz1Fod8-3pDZ1qByY*$P45#UBuj@-z+B;|xJ##KeXSQs#9j7FkjfJ-H!+P<&m=vPe=LF&Slz{Z7X;VmZqQ zNeNImcQSo7bLlZQ?T1{dXluH5+S229nb-Jv%2}BqlJvTP)fj;N*})V~L!(Nu33ax%&a63T`lV_U&ol6{)>t8s1^M*lqT`ie9gCZvx~IPnsp z$ta@I_f!nehJj8kp7RHYS__uO8l-NQY=-Vxi$&ikfTZcb~FRgLObc_JS$J0 z_>7JO*BsisAa#-@w6nWKQV)v7KoEiYu4uk1){h#(upX=1t1{@oPe`lb*{|kdkab z0+DlV87e^M)cy>n5!nf2RQa8PKJ%cMq;EWG~%;1}F*PG?%tKKs$q+77*4N=RLsKUNY)0PCBr0rAo?=fd3nwcZI zZ%OvZZ?`92o(&3xZ_W~j#vERS=Q8kALre9)#@stGM29G|6#ZTAW}(JEzTKaL?ZW3d2M4l1*edulin^zn6lMkEhn!Uz;yb8bpLNK)F!LIpE${<`dLZzFA5!fk zeaJC>Mw1G}DuWCfCzp?g` z14$4R3zQ^+0-0-m*`V1GZ*04a)d&tGYW^OT#9=8V!O18LK>Q4SJR{x&0T6Bw(4acq zcM}RXJV7*M%^zoJ(hM29GU=o5Gtdf1H}<$-kU>$r;~;*Wnoha!y(5E{7YX z;2U*OAlzK)d-8XMFX5*9wv;8G`Ok3kApdu`>9~eCAGjQD zDqjB+ZkTWW4mW9cK)AtIp09$!jixx`4)A;Zb%Fm5H-+n=a5J3?g_}I_KO=?b3kWxQ z;-#Pl&LALgIo$BvI)6)x+X%u<5Igc`xZzY@u7bi1@ebz}4nAQ(HTV;5J_dqt1HXfK zXV8sZaC-b#xS1{h;ig^)gqt*H@&=&u!S1|2;bwfpuW<7XaVnfbWaJMwrlm z#&bzdcj^W~s(ih1W;vcD&hcZQL@Kp#F>MbCVeJHGP7-szt((^p6(-c6jv2tLl|pnM zN#$0ja;s9goKz;h8_&7(6{C-S?y&({P;`?{7JS3#OT7FA;>_Rd+n|mZk7DwCH(xDd zB&O!(t^$P^eCr*4AF$?j$?nc`>M8ckgceD1?~hmlF4y)|7pZu;*RHIFyyfP%^Mzo| z^tPsZwtN59tPBvi<$0F2v@x#n@hwF~Y8vr7061?3YsM`ZI7W_ks_0y2 z2@~31;P}>^4Q__^7eUOe;nJ6({RJ7@cfEv(fsi#s(#kDJWAqHziJ*wv!ljdxx^uLx zHXvfp1{1Ofx)(6o5G#s0L_B5P1~w*5==p$~GzExwN~J$XyCVewnwTzN0M066fVj$* z)jFu3yAk3X&%Y3G6R*nywl?!><5}8ZGy>wxgE+wXllTH4-opZ%(@4;kM@%3Ih+#=| zg%-cy+KK!5EsDM{RyhrpDIi5Yy^IeA8!0=G6N4Ayp?5sc-qa2}pbeAtFPH>U=z>z{ zwGtL00v8FS;I+*11<_M~;UNS>_xt+2`GQjD6){ZpC;wppLpUg1#^YhIrywr|?%yed zM+5o~04ECW-|25W60`~7f2Y6kD*+zj^E>^GUk&g=0RKDvjW_DPQTAD zH~zgv)BDfG`v1Au;6E1|{@3FFbVLB1wl2Sk2n?r0&~!o!^#5Q&C;{}p5cHkkd#ry` zME@HT6cwWrXYlXhkO*odME~dg2w-h&s7-<1s%S@00;A{&dUzc@Lml7_%NL|`UFf9? z_2;Vwx~_L%R1o<7ibm4~2foljF7&NfTyQw}jx2iln=){&3*H+1q_YkVp~QyA=p=yC z^{DXW65UvOwC?gYS9iHV-2iH&E)YXIJUj@eO^FT+#Vrek`z4P*Fgf&^#~+A}`z0Js zo1RFIj*5!G{SRa#g;QcepjSV-&Xhn`4{sgtf@B%-FZsbMso%wV`Z@+W^q?@Db`|B1e#?+gE@z5qTN)CF!Ixn1{t+C*;L{T?1K;#+2925fH~BsOLX>3 zk$TFEjH@`Xeh3Fc*Wko0ceviatDj+MU}+(K&w|M5H|BJQ%941*()f+DI0H$xu(DLu zq(e$|Ww3#M8HFRnBlmWqUcOFg5_sNWjJRU=$wm>iUICL*1=E%6QSYzj%|^?)@pq@0 zWUAUKci3V&Kq;aLir%tzHp=muBNhaa`z2{p;AKhgO&JBgaM-SCYFTOh0+|cv^nFfLQaAf)7UnD9V5)^wp*oP zF!uo?>U0HpsGk&P^0e$#iS@{QdF|eix!_*mhoO3AjRY(2jGZTLpEEngk`a^b6teX_ zs*ruxHP!!wx^a+3)7rh7D>n_Nw(alo!46;qMu!`{TYP&1CLRmaDz;ZCO|=Ehd^DaX zYt)7h;6o)~Ta*zSCF}*Ooo-3lk2nml3j@Uhv~E3mb8u$Id0CypweQoj`d8-Pzdc8u zS2(S~DC6Y~g{zS*YfJExV%_c`$V)@-iYV5n4GjWh#7~E!BE4gyoKA?Hd*@ND`91En z(Ua@@d2Q{c52gjFnuJf>%Rq-&`L3`Evbs9eFVw8XrTKabeP0zUlws?=&CuUNLi3{| zZujfC*RR^2_QmhW&v+;B%msDW=NYr_nb19#Tcqe*;;m4=HR8rhSpV>Yb?kwUPctfa zxqQS=#U-0i+fBEbgd2}WWKu(eEkGUdKC^ISc-I&<7K%ADtsZxplf64~f6(S?{oQ1a6Z^W(=`*sjl zA&+=pIiq~ZPf>F>XnFnYYJ2O7%S@Wdn70f(SdIwu5#vkW*8k;G<#6FE;q^Y6X z2w!UCR}Mui93RJ!RCl9@s`$Ng$o|>ZlLeDE)t31f5NL3Q=3Hy(%dYHVJ5PsV8iNK>wgkV|m{ zV&Ugse$3A0e&bf9o=K4krTnX(=Yk@ug5UQ%nLcsh{)PBBIgf=thC+M^pM*uA@_KgU z_@|e#@rFBk99OOia$P4AwC}F&8hr(;L4$A~OR+Q$CeGo;Pzj^nwtx zUI|0jySg=oY?86Cu}5+}VMpL?@5CD#iVW*qterB-H6ZJx{0DnktYPh5kHFNLvyCUB zZj*!9-&`G(-8TF8jaTnvCv0a$z)Q6R`!w-ed384CM9M9qy*Y&O*aM|Qq>jNUL9&?e zDGqt?zP#en#;)T+r{CqJcm}H)bf+2hqoj_niAF`A$x%9pwDim2nRLa7?_4{wL-Jtx z4m~DEW?ta#>-kW_e3{J0u`|9V7hdHNCqBPIK8$4Eof^8e^YXVcLud5L1L!DgW?}lx z0B%(F4)JH`62(4RO*A!gGzDIftl%QnhcH-k06V^QY>#bhW7c13eVdwq<;vne@=UzPDOkcjeUKll*{HC%>4~E7 z8A*a`j-apt%sF$b<$m8obH?PJjjbgo>N;afPd~~`nCXnKEGN|>`_m^iUrZmfZk-Y= zW~ljA4a+~%F7_Tzd>%D^yT$UEm`j=`w-a68<-*WHnIPqp3K!2O3=jE#@DFSn8#pm` ztC2=qFjVF*3m~m~w0af4Lq6PleQ`~C8eU~gR=`tBt+%Fw@2jru-LU?Z{Gmq#^;zia zt=25-gS>_5Fv78bY$HeccbJLWIv>Q7*6frG+<(t3XV*)0xTz_j1fA}Nn7t?Ap+H+J zH`1ViE$p&9e3Z;?e(+}P!%}25GBL-J4@bzV54+O+4%N4)o*J3jp1^wTr?5#yNvTG} zH%*}unR-&Fc~N?oyj^qiE9bTOn-D5!OC??_{AXjoAoQ1<%WI1EtU>!JvtqcG*p(X$L0qitrUeFIHU?vfdfZHR8{^ z9i~ZMv)K}*Ht&=iSm|!XMN-P94f<*c zQD*n5ysY#~Iz%0_PW8^bFj*0xj^n#;xJrBna<6HUaM02?vU4JU*6zBxS9-tjJZ+Wq zSw)m@0lR!b1g3PA@IkZou@DqNj4yDcA9G723o{^x7F zW!ug3-tQK7`Oc@jk6if7;aML)HW}9o6TdBf`NjI@@j5A2uX>@jY)-Czs~A`|*72fr zi`@HLW)J93#}*bo$G6b04ky1J`Do6#csS+bllYX;v4WO@h{X%7DMM%IYY)DSB_%Gl zT(L-b-2#7A`}p~n3HSA1-d^eI+kd}x?CSk>Uo=GsDPv!{xYO&uBz?H}`10*9kGBme z8dQ!RdVTthf85xibG081-F|$#j!WZR$(uUq7Pj;b87T;&Wkvgt=re%zmss{ zv1|O;7a7@0&Wj_9k6#@!dh??8%9W1T%aM1kj=a9~rd4n>{K|u|mX|GKi&q~kyt>0c zU0wU-?WOBYAE(}GSH8XSXe{MURC4mndzCATi8&Wu^nba!aK-%brR4CjFQ;4EZ@#@! zdG&Hq;!WMi$)?6vZ~T2D4y3$#YgaUMzeO?rM#|`&ZMXJcjB4$A=Bgs5J}w@}NNIjE`}*aF#ZxsWPA)bMhEYdHd>6y*zf>JMvupAG zt6k6EY)SI_2;h$#Wn^2?%+P*ABm=`s-CM;m4DCh|#KAytDn<0v@$VB?f$?VsAUd2JreV0C zz2N&DTNtd2r<#liAY0jrJHym%Q=Rpxbs41@x%<@bdkh3bsN0Gq8d&NFQ1_`HRKM#= zHO_djZXdO-F4%BjIPcgMXG2CYfoTXs^dl%TLNI-PCO$*m8BVOKSupG`b;k489aPxo zEbVOI;raFMI=6kUR$_Us^G=8Mt+1$bcv+?3R93LM$=FHX^P9*00j$^#Yh@T=;J)aw za{SSODu3eooqOT5)wyP_{et5;*WKPMpF7>hiCK; zl^wzz@*KM>@vWvTY2Rbd;gD=seSITW^-x!bm&V24WJKJK?-qA>S!;4U*{#XKqvzP` z)t`@iFj71=gL61rS0Bw72-3)?P=yAN;a+p$d}LgtuPm}JW|jpq8e zt)shd1W#?Kv8W9RRx+sY)pr^Hdbqiw_)?b27A0<%n_bhagx4EoL(PD}(+9N%VgedF zIYGL;FBF3NuMtz%Sg1*{@Q-rmUu0hQGHH!Hd0mR@y(aUx0H0&LxX$Y_r>uA%nHf#N zusp+1!?%i8&$nK??^ZGMvSa(=%FTCZQ5E;1l*L~dpM210u{KF^X5d6*)8&V+22Mrh z@xL5C*3@y#{l;*u*|RFkTdk{KdLPyev&}gm_QI@W^k%8Huity-^(c~C9dsM@GtF;ZZHRNa-?o3Pp;z_h){4;+zFrG2 zH@T*4adxe~R<*Xh_;Z1Zb)ND@lQWaeb)VjM7pXX9PS#MxeH!z`tQU<=hpU_H)i;0d zc_vEcs{G7_?X|7~CC-<{eOhu#g6r3elI}HSALrB#KYANu9gxk^$VMMOYaU{0RJx76?a~cixct`P(*}d0yA?0D9{jM?WZgwut7yCJ zVmQ8!oWxAA&nUWpVW`r6^0z%Xw?A&U$2sDLmhfUS(Sonb0|T`_1{OcNyie+3**BHA zm6Q;ao|4NBkrPhEneI4imGUC#EWu54HIK-(P-cn94Rm&@(zx_=2!D-c=G+^vfq3 znmcgT=~t}opp(M+JX)9uu{GR@El2ED&iEo@jfTtx1)C&YZH}Bc-Sf=I@Ag~vp$9WY zm8b9QDOgOrwEl(WBWHW`Dmb%>b69Yc#UK>9dmTvfAb3VRtBRHo99tE6|9H?gpGI{4 z>GK$=hSoCu>1g%b3)`ZnEpXfS?p=|Y{Y_}M{H9TkgKd`k3I3%IrWHCFQ|>FM`sC&w zPZknWFxWMpzvss;*_G-2W`n4!<7d; zUd^TQa4u~gFPfTM@LNxwxPJ3sV|fGIQO5U_bFVD@*3$e*?G=ukvks{){7<*23u}MP za}W4*+cn_9tHzQmUmw&SuS3V)l!%~H#bn)uib}=eZC3foo>v#EFli}5 zn*+ISymIqMQxIBI-#5sZsg=BO@2YWo)V{*DjB@NC{UfM(L6D;)nb0r}Qp*)ygq? ze6y1B9~LgX^tn4vW&~6z2_R09R@7sTA6Ife()4CfAC8%9SV%U{yYLnU*UDyb9UX1b z`7jT*tku4i93xSDdZe%M%9@b0yIDt+I{5dw*J0O$pkamf_IDdY-Myx{X{wyMI>!_qMJH=KO;s%_dx-hWWS-dbauymVi0-=nn=hZXBi-Tpih*OGkdVdz*$ z3S$ZWnb(NRViLuat)=xJ4h*!5Q4q>St5m0kShW+5XoKWabtkC1+Dv<1&PgAe>Fr&) znS>Q1;lO_sRZ2E}thEVT*>!hoF#Wi3n%K2fA1pS+XTkdTA6?(;cb;cl{S?r3Skr1P!yj+!h^Nj-x0qG;i0c#SX~0 z@NZio73f{%#O*=Y7@10@Z zcFyJ8!gN_*k@Z7yw|HHK)}T9rT-Lomup#y0X^kS&+p#%D?#OSM+)A-Go%I#ja`gO5nrhEo8zn-wV%@&E^Cs)_cWW~A)2h7`-cCN4SQ%}0 zP-#XzSA#uMRVTe_@{Np4RPZ@Io>jN(VXnt}(9!lVYS@6qzAIN8)(w5!{h+GW@X%OU z-LB3PZa3C%5zu--U(ZuU@D;%F;>0u2z2ACNu71CE=b>o%u$b(t^qGT?U#=Ci6sj)T z{ndsq{bJkJFQa#S;|WV}wo<>jf@JTJ=n?gsPv>_(Iec+$U27q(Bj*iUaJ%V{?)$85 zrp0GeZ^=JAZ*-$q?R4?Dnwd3Se4n)=hgt1y_lP05H1yB^6!39yeaPz=(dYqlx92h9gW`PdN*0td^7#f zVdHG+!T0(dRe{3@X8Nk z*_45vZCX724QiRvgu|-}rX@tmWbbT5*Mp0_yb zt~+K-c=z2>#-ylIDsX&VdWD%!LzhEFg1va+yB6PK;St91!m@X`Tb(+p76)2~n8RGD zLi@HgUu(oA9;yl@nkKDM3iUGdDUIx}2wb02vS>yf*(&1IRIphuL%*T@G#t761y)gV z6n}9hY*p8c>K<$4<3rbmB`mU591mR)!NPnUTc28lepQGVW-KuJx;OWazW9Xvl2TA< zWvG-WeWdr(=WiC8UR$^qT{EOMdzO6Mzq$88hUfZCpF-LjzDo|hEA@NSWwc46&TJkZ z9=PB4?75qMujOm!BQi`U!X#!f=-zi;tDCmsU8bOljbkVgdt9TX zPc6sOt5~11qeQGvYcSZ)^FWjF8b_*a`I-RcPSvZEtPU3W+pF6hJqa(@ZYkd>WV~8Z zqD>Nolj4Bu(TQ|l@3jJFPKi%JJlD5kvzRdO7 zoz{CdDVHS+a%rZ7B;D`Wb5TE1x&+U+r-*uNas3fhvM+x9wlj(!6?`i1#h3{ks`LM5 zotyn8*6&CMUQT;+Q^sLSL4?Wkpp?Nz($`dkqWFTVO0$y!opMsILrQTe?j-xF|A9}t z@9FpO+F{62FY*Z@lWSK}KcHzBM`@-JB^`mEKR($qv~;f^a@@Y~-SfWL^u`rS_zP3& z14X8*krt<(^bEe)i%hXJY9IG*x8bP1-Jq|Zd|>o&8DH~@h!{+R`Zp1;up4g$c}VTUV&A!n-9GB{BptR>!76efrK7&_Uutx`PYib`yzbEC&;IUaQ5A9 zH_~LkSK$(jYt~-1P^uhjzZ%O=+9WKu)?4?^+x?|R?8G0Zb9)vFj?5nVd{o+^;9~#x z!<{ME*U6cyyd&1@eR}-jTv?rfhVT?;zi`>n4~2S9{S1houe1{6E?f}x#rPa~Fd}_p zkt`yAK6GK9s(~u^ylY7R6^XSw#GVM-oKTDAc8{h^Ts0cPpt6=e4(INvh-x^klb?YMjGPK_5lfD z0zwU|aQ|@LX4e}_`8?5t2<>Nhukz>Dvif~xT}?w1k4Ie?i6{z2RA*b`h5DWkV)onn)S8Ei|YkDw*?p$ zcYX{^Uh3mmcB9_FulgZ9j-`IA|9Wr@?5M7~BOim6{r;StSok=fn;`7LNk-i+nGFS< zx+33im@hD|KVIB#5m(|`#X5a%bK_Z0^vqYM%SROTJ%ZY@87#`l_BlSNt5X4qY{p<(fKpy_O31Hempp2W+teL2`5+(ZM)$5pTss^v4I$WH?K3T}>hqp$auR6c}`~7r< z69>L)8@`mEUdeBYT%&0in;-P3`SC&w`ufllr#Sh@TJeKM<{5?d#bW7?c3H(gsT6(j zbVa$ZI^mV+?(rH8E23JT;ktu#ghUY{@YTMN175-+5huUA)OjhMIa%T<%)8CzlIBy< z=~=CQlOJE7s=hbsx){4ovVgTg`uy(bfv;b56k4uDT!=qo?yi2LWE3aKYwi8kR3^ue ze6d+pOy!i%MDGJ1>$j7-RueLmR~pHIZ&9bNTJK6p^eWBWyW$KN{>lCFmBV}-QRhCJ z&)AK}4}QHK=u2pB73kcdA|11L&v1;v<2x71&4LQc2edB|s^m|Kbs`WuDl<)e+oExk z4(hu&Ji7<13S`BzP0yxZ+O$IQnriHg!6&Ou)gHff@$wI>0CDR^CmZ@n<>yMRCQmKB zmhb^A+he02^a?F2(hKfht-k1gJVru$n0FK{RIH-*kTvD|gf4@gHqDC^_`&bx(V38t zK!TxS5DMYDxlZ1=GL<#xz5(}Dik=F%yvv`rA=V0NZoT&{!s&I2htrB{CV{EOd7315O{ zPE+hBYYLL{_2NGjP+Yv7 zCw#(`UB^}Ca#HQo=Bj_4{BjW_0F6&mVKhBp!ZpQUD!Fb;)||j%O^Oyk_#HdHV%94S9Lg58>naO=T}TLpmxeQa9bdC~Eq6 z{xZ{3!2RJ60FoSn*qa6ge^^^z5{~cOiXagRlU&S=kD` zb-MfMeB~*!Hp0>~c-MY!XFsafbu{90?h{!--9|&-Z^A7OWz3l&pOzgwv4l@UCHh~s zyJ9E@)MFB~Q@6eAGkZqW(_J_}^m?JoW8UPzgjb|is*c!w;xOj%l97~gFU!r-(q%=q zqJ0uSADbgO`)&80=VSrd%}?I99@tWT4k2mHJbPC%vh(~UV!<^xjMhy|vLE7g+W4ka zow04(srnawTrM%Qux-i9{Sk_uSKY4fO}zfPN0UeSS(R`*uQ=wbfTCb1ElJyl|9Hpk zskE$<3Omt$-*1&;l6K*l&x%h*`E(_`kN$wYunlc?@X`6A{E1hyq4L{v@xwvlrI;Ui ztI2^jx8yI*oE?9*=ZSMm4Svq&sIQ?%uBc)c1wmgu`(X&i_iDajUin2?sUbPbAg?-! zWNJ#CJcYg&nsQ%C-$_SvNN{BDGn(3MwTjO_RxFCX%RCe4|Ex9weC^?QP5#WwOv^Ff zTat3u2Qw@&irM=QfWI_f#H0_dtBMOkEuyx_;H{FD#_j#8l_+v&ZRf4E1l6?jtE2<4 z2>tn#gPC(bo~aqiJB*0lAGIR}em$A5cJa}Mt*NQ2Z&o~3y2fzy7#zS;WG^s>St0^y{J)hgG18L>H8+bLb|Xf;~j7v*pJOlRs^MRPRm z;jQ!umx`u|iSNjmXnX$$401K7Jy2k@hx!TTa~mV;`=a zt7W~k?Ch?wJ+3wL!Y@g@eg{P`e%+O*&ygS3=@-qOGkL6b#AauLR=tjb`sarlQSU=k zwq)joJ{+|T^-K2hE8Aq`TQQyYsyU%Pu8c`3?wzzzqrAXJcx}tpdJ%p1P-@2gz3s2k z$He@_-Q9C6u{mcM?g+Pr0p;BZnBFKGK1t$A(Sa8Tn5VV7!HS2s*2t;v(~b01yP9RX z?!pD>bG>)#-45ydxOeBRmyLVT={dyNoi1#F9>d)Xk$hV!WMip}Yn5y0o5IBk+?ICZ z;(t7P&fVZX(_y|e{qot9-3Ox{4PYF5tv7Ei;JsUJTZ0fP*)+Ast0X4@G_5CqUT0**{=+ zc>r+21MZznsS=Rd#&RvEJo7S1kzz5c?4MP8Jc%Xs%{jT;p6#zsQ{8fJ3ip6Ys;7?M zw!}0x)sptFGx8{7Uzwh@)$J0;rQY#h_7>WJNn*D(fnsLP7hsF_*sqNpc-T`z&8Txu==a>4D zEP1KsxxX{(eRnJE`2B|IY0`TpC5YNCB-TVvUL9eMEI>eAfyof9Is8bHF4mb14lvbm zR5?+bnXZ;1#RLd`mjotk0db>nyM_4y1VZb^kca{DxdL`jN|NJ42vOxGgjS0##Dn) zRb4|O`*~1~C|qN3yUs-j!oiz{6XPv@5FGt<^z~jAJahTE?!es_X2**$WT3 zbljReEY`)bno3kNDcEIK*OsCcT=vRKBXOWfs)87c$NV9y`i-e(rd?vRzjKzf!t|&c z1iw6!{^Wk5a`SXksxJLDPs%2qfN3Ql_ks`%g!FpNgo$B;CdnkK&^Xy>cNi8Ldl9_~%*$JzF&3Z?WDU(< zudOkECE0;-yVEozcc6(Y&26Y)2{%a!aY8@_@+s&V5YQ7=e=?%QSkIIT4lFP{U_5 zHwW|(9X%STtEn7qQ>7tbBZC8GXEDP6^D-PZX44V)oqE}3GuGEGX`#nLCrCg2A;aSx zHy>TL_`*_-uY4tB#-mh;AKA4iB3lvYNDizem1w+PA$Zs+oQ#GJW+g1VSL~*t5Ar8B zbx=t%iX@TH*GKXPj-bq!q0?nrwbjL2xTXrbsMzzcEQ1Bg0JoiR1hCwTM$+)tm?Qy< zBICxe&7(SiaBFWA+X}`6*&=>==xD1JKeu)K&D+FFJuu>7UZtc((qZF7-J|?79_IRs z?6P?AhRAt6>0WX%R6 zvNO_%CD>z^NseS^9DHQJD1@1RAc1HIT{{Rt8Q4adNJ`S+-t~C8j)sZRzvQj**ympK z{_cyS;slu#96bIP>v`YQ%3o$++9-*@L?kPippj!REaCN2bq_+;5eNu~h;SpNmm?xC z=;$lfbnR?B+9)Tb=Lg=xQw4&RY+%WCgwu@bi({|8p(v0=ZtX>K}-QG?y0z1DwVtF( zf>%fqvPet`CA>+5G2?r(yvzdKkV#Q7P^iMHpO2l#rkm%rr?9@BY0HIr?>j_~T`l6S z#`HK?5hV#XWNw1-+RK*O@<@4Wv<+yoQ0i$42zHkohv zz{gXa&O%`(U;XE;9rq9Bf4A4>vLwnfbqc{qv0$Om_j)IeeSUx#Lg&liQGNbbJHgIm zQaIE9eA-VCj%UBC3a#?Ne<8!?xA$!U`Mv>MrD%DUhns|?2fhC&h30BJ~37&1D< zFd!DNK%ub)_ZYM*Q z5>V_=W;_;OO*ldbq7n%<(dikZna!MXj(m6N56pCWo;VY(SQDODQ1@#B?g$<{20_Yz zcOiPgRA|jU<5{cn3RYIh3{ZHMc)hJoB*4dxZy=QI=L1-%duwL4u-e+Po0uEzX#E4E z=k%f4+FBjqw9w>9io!8udGCni&QlR+M?+Q%78<&*6P~~AHvt@uecwwr1@tTEk72EK zYzqxln3DOrevi*`_nA*r zvOc-(0)^^bu|wA*E@?=vT?;&9Hl@=)wMGU^(2y;=Er%TacbK19`OR9QHDaq7uYs*? zimw<32}J3FT7Z!(K8}iMxpFy0nf=cKr!i!*N3q37fbftsd}rJNH7S7rDTF#;ffI1I zl1P@*_NnPXy<&MKp+CmZW;a`(6>fjKvENkCn#CgUT{!ieU5_!p{ab-_mlG!j49&x-ztK&J z>;wE74{Z_Y^4$Bf%_?W$)>etcZ`p( z>3xnh6t?%=<{IGz7I!m56_wRr`|cb!qbMVThYpU&ER0e}6=vA>E1jLC4cdvm6%|Ax z-p8^g?fm+FkAdR(8XZ)P{;j-$(PQ_n+k5AOhR#!v{EXAeni;?G!Jt(cR8hjADMJb7 ztiO^uP?za)c|K(pZH4?UvM>XfH{XFpyyvQmhg|Bi5>}9)vdE!s`$=u;4;L6`C=ln&P!ZEEjWbiK3pQCb zmqFV??#k6O_U-69?kNdYENqv68 z-lr~fYZ?HKwHkd!5SLK`bz0EdDnWBZ+QhP}A&DgDro^HiFR?tK#m8${dRU0*DS;x{ zFpV445RX`xp1ifTj~rqvwr3*`pQ-&X}{n~)Bmgz*5%%==_QB-5$>J-HDMLV^Am`BP5 zz$XJYqntE&0hxO_4I(;!k^?%?sp3MS>>Pz=W(hlUoZ9AzrnX#*lrWOVLYz;==xERRnSW_(QZ z0~z@)i}h8Rim>u9f$$+To^BM)5dd!pKQ!$lxd=cSU5j{!t;OpB>!XfX{YwD2y-}IM`xx_neTD}I6hP^=X)Z(q~Iks zoA(&At!yMj0&wettgl-viyE}xb=BDJJAc9e$6H^->Y>Z;QCb+v%DWrt+=j$ez*zD3 zLbF5Q8HE>v`F@7?eZRfK3uWQ1ifpnfLyPT+Zx%ksKxPMIT@R@)j zd2F#3_0(FaPE2Gc5xJZ`^8^SNvLwgBscRbojMu0KC(<90EbXCfbM2&|r_^C!7#!9@ zx)zWbSSg}ZLn5R|Kr;(ZaREY%5hNyJPW#ji8hu#i%==#3>&v~f=kL1DjFQMiG10BAX2OGuhuwxG> zPwM)y?4jpvV`JzC(gSIqmcCEyV;R;ZF*Lnxxd58tfnIDsfB+r41s>Ib&AHP!1l>Wt z(>Z<%jQ`XVt(aqup6V9JIxz@nbW8T`VaN8PiW^5qwcKgv_NSprD|jpvgQ={NW~W{%6GfwRWn!;zB^k zT=Gl_8z4W}3Yg}U+MRuvUxkO^JPx(cP~Lcxy=|IBsscRZFj$6`*Vd6PVH56W!WI1i zd|NQG3KQTQ3R(nNGcV6?E@S$G9E;%}0tA*?xl;ue=Z=akK0dz`E?{gspF|Mh)&E;@ zvji@J#%lM{sIdc&C_FA+;&GpCybIFF)P{wHrkbg&`u?xjXPwB_5wX)J%E*y)l(#gb z6T3ex045>O3@XF`#cZV!u(|tAD(#{ZE=dFY89+sNn21?#!G>VBrsbkXEP7v<>xB+4 z@%`w5Y4j=HW|<%;gD;z=8Gh%Qk$agVZwkGm09e=-jaKTqoNz%R2;KRNrF^s-&d(2=lOI=v>3?5`G=!?O7PfA{qv1BqD(6i3yTb*U_! z)2fSpMt=MNS3QVjZD1LMt*{#4g2moSaxmZD$R(adie~Zoin}x<9iM5a1L{45Ab0Zd zh^>tONGr4+&hy_;yXE}#l#*Ev)}U%1VxE-1RzkFiCS5vLld$hh{%r z+5R;>4_>4~H-v=h6)so)781ao29*YB~L4DT06=Jrz4s3S}o_^{z$z^f^y{|(3MaG0nP4P zvc4N=$Z01BC2=~|V$?yj_uiXFvv~PZZzvDLaDpcMEdSmk7n!Ia=$Q<*b<8$g zA`S=wjvER9oZC$Qpz6r9r2Qt?d46_G?LrEV+H&7c2{9NuQ@s+6_Fe;`u8WrqEUH+6 zRUGVA-2O;8FsDHZd^i-jLIJF|a+qj~4C3PVD1jA)U_@f&rz@*8MEIX%7|^Bc_+6F5_=6vRE>O9~c5M@+ zw}NBJO+wg|BtcZdqXSK^dzD3}Xh6ijgu#qP3nRyWEG=OLI7bini(gTr?Ck0C_!uNf zWBGPrI7VBnx&wX96x3Fw32tlHX8Rv~sr|pn3MRxoHz^3&B&*y!RfUZO{~mYK?D@au zIB`5ZA)C(gSFPrGS7tM*x0aD4m~<<}WCqx%>;ZQE?364IB9%j%IOO-uwYR5rn+l>r z_OKiaZ3kaT=JqqX*3#0i%y+IUc(-(#Ab4hBGa;DGE=zslY0Ck)9F z@@1f?pC$E$g_N+%8Ohz!R&l+Ktk2e_Tk1rRH|yN|3T#FFoFp9^0m-~WbJ@cBAN{a6 zqz4Rr?{Q%JQxdaiqA|43xBp+R_ZK8wL+;3f^AI&J8-Otj%{AAf8^V-EFDj*^(frNH zP~bfjh~423kTK@GBbiJ^Bg$=4@#SyG)OXCRv+7YG4bizA4DPS&46lT#gN}(fbN?ME zW^FDWOOxrGEmtQ&6O^=F2&EE8i*iXQ+ODd-5XqujZhZz`F1kaLN$vt$IE!S#1fpXn78yl_qn&(BMid3aL-^A!@s@F+6 zigH<=D1AjLwH%hXylyk1A{G--dxGgo+e}cW40XTNvjV8fSTqoJ0O}HvM%YuGm!S96 zYg5-&&#HYInjzJx1`#ZDbmo}|L?52Z({!k{ICe7gKY#tNxH@7@LfWCc3dIT<7L3aV zL6B1*%MmorG=yYhBO}V-ca_b_wdASurJ*@MX_~a2IB7sVc0J@o4lddlT3z&eZyt;M z_{2+@%tYCDeeSNH@^u(&*fmSeDvFo~eo z=?fa}rcQ~Ck z4xYJQRiuztoT#9|z+K5lES-_Zx4cfF+=tpEGDBX0)9NtSpEI!ZwtiQ|07tv$VoSQF zA?;(d&edy8DuK0nloDzp>#sR%l-T{Jz=IYxMIIaVR4?Sm3UTnHbJCLzd%b2>UPL7~ z6X8E|x$GCM?0q@z-3ztL4q9(TybVFf^+D_fR(%t<7dnkfwRD#6<>J00g-Yf_%f=*a zBH}X{%9N(}e&g=8WHz2VC3K#hH)(dp>!RD8CRaZ-zV}_9v^0)p0m4jo;nEHoXpT-XQ@H68~oZjD*U}2mxZ&VMeq5=NDS7gR?}Suk;?dRK&s8!Yp^B zMZiOl{xk!V@Gu4d0hdN_mQApx?{WQ71C`Fq^>aDl^K-cr5u0k)^>JM@DeH#S`8K*z zP9%(-b7;fYtA-F+ewU`l{-tIH+_v`9e71h^~9Plkb%*bJeU@N}W zkG*N!(7cN*tGFMEYr=H9A9ewGM#1{^ds-yXtIyN8nd3w)P2WR+JU{>a7phEyM zV_royGE)!SK#E~|i*NSu38 zB)C~iB{G{L%DEzuWiP-gAU>^?%1Z|DNZ~fTtrf4;ac|W#;HR z)=rS$)X!>$rea0i!4fd#dEV#YQNktVWl$J!yqUyZ`fO6kF2*)Fktt>pO^XNQg&33| zS0k*8^LY1Rc6!d|Bk`;E>ov?=z-rTmv>QH7xH%gC`q$6+unSWaMj83Lx3j<4xNA0D z@Ay3!eU@6hGG=ciaWdS8ghKhoVJC+Ea@@IXmWh%%j|oTFnVhxe@-6xdGK(yKAO>vO zIASP(w}nD^e|+rR!2`wZ{acM*ae=a%V+_)tR4U1Mwvto|^PzTyzQW=>ksa&?~ zzNQ<_3#faaosmLrQwHSuBlQz>a9WNdioe4&%4_$jV6)>DW4K#xif zVdTD)6zOAz^MaoYm)rQ9YJZljr(ZG0q%c>q&Y_kob+osj)nWxV!41U~6Xcd91?G+2 z4v6rMqwzGjN26bc0S$lV(|Ph$lEt*)Az-Nqnbr~^2=oL|iiyTUJWcinFTMHhR#|19UdX6x!MZl8L8M`arHu%R z-QZssuqG9E-z$!03E1Cu6<*>nzoxQwuo1?cqF9GV zXjrhYP?qBRa_g}Pw15IjGv~b3n;l>h_g8w&SZ_f+YU(Zne~>&YR2dIc{){7U-caQr zM~I}GY5eL^(=elQ^x_QucD4*Fz9q$vkC)iTgG( zy_WTmH{=K(fcC|^Hyv~r*#L_ziydA_uP@dS@D`SQhA}WN__3OHx&F5Ugc#JJiV6yI zZ)xsp)*u^{yCgOkP>_jWR7Zw_Z<&y4<BAuh zbc9G@6kf);{S>@Fh=n*U>=}LEd0xWGl80o7rvebo`DQ<7mFw&sGz?+swHx~0jMj@Q z-L1$A<{|oLCw_UuT$Pw2CMx2bmNF4Z(k%=iSo6?JMN{?&^15mQCU!(EPEa$d64bUQDkMNNiIj#6v1R@mtSc(977k6o%{$r_<`y_O0KMZ)#qDaQ> zRVpPn8WV+n)}<&*B=oYcy-O8sO4VezFpgT2i=n$nNQ9wz7D*(vFK*~Oy2YTdjYJGW zC6E+DPz&jJZwP2YQ6hg|S>#UcqvC&UK_ivz)TBmID#iDn=Oa)`6 zT5+33XI}y5^_A_>&fI~j5bX<0Qd%j(f1fpd=9h^Z7{=(}=WQO`WE>K*UXt6yq$kN& z+gBjd^99C8uO({WF_GAjnZ~C32g#xMHHd7qn%>o%U!EmOH7Tr$C8wauB5^u~2)Sn> zawL>6sE(EdYWdp~Jc)#-FtaS-G}GfrCs36V+LaSS^y*BdB?32kz8%UbQ;UUix=Q4T zn(&W@iS2yvo&7Zc*Kipu@^vpl&CC`cS`jgGM$-qhtzb>LaR|rP{#W)TTt^b0Glz*h z&tcffeu@rOtDJ*VwhGS06v&*8-x;DsosFYbUs&f0I3<1n4vu&9=8^l8*6QNCqofO9 zlHL?5#p>|u^SED|#G8Di!l6WPEJ~#_OxVIy9aVI%m8GWX zElDe-Kjmv|og!zNv~aR;Hr_sWF%-dKIepX7s^!zv(gTluO`+iDp@P_3j# zE)-}Y9_3A4uS+-g4vY%OTL>Y5O%y>2=G`a;blh}4S9$!K{nBZ|a)_}=D60-nrjkkK zkojmRNgzgA@Y*J|i52CDh&FNRzg;@uroOqmlz;CH0jn#XUIZlN)P}*P=UWESt%9gt#KbYsORwC*p5igQ@VSD z5#wQh(%|1|Z`5b?Op)tNi~Z=4mY?=L&#E`o|9-F^mucXeeYp&{&JDQ{uMlJb8QZbc zS$!;BwYDlkKFjwLO`v0+@%JHPd}AM|O$uyTPJEm;856QimX&{>hM{G^JqVR1e^MBI zWMsNx%VJOWCX4kqj+O5lu$K`KPEN}m68JLJ@;||kQP_bzh=5OaP3#gr8dLUYl%*Tb zQQpBt3L+zcfN61@xkXNqO6`cy&%M;)OB?O>9EHa(bOwjmcpwXlVmbvWSX-Qh*z0Sv z02XB?b$agN-+TM&5$V@tj?08mtB~+fV=txf)Yd|>pM8X1MtquiL*JdioncRjNQTGG zDK1b>kLT0>n7Qv1h*Uc_EG^U!_C`5?*du4a)UA?-iHS!&7m_0AR*DWk(2zIK0Z<&XQj@`S7ZLx9U#4}+pVb%gVYhu>y^Bins$JDXZ@pL87JAEL(ks=M7tCsa?RLD;2c*vS4j(may(D(@>g=lY1B=MF_P=SJ-} zH>x!R^qt2Bk?FX#&R%+3K{Ll8x((e<%K*3xZnh?2-;aPU z(DMEeV;oJc^0eU~znlN7W*aK+N%moz1=NtO#)5+zL@u!+U+(XUV%7i;2M@)|*>ZPl zHK6085Q2Dwt7!JEN~AP+^XqBO*OS<7Qk)${LsRT;+~ewa3Hh+TqOmo=cmuK`I^g|9`=i3q3Fo zXm%&&*KE*VfCw}o?D+wNQ|mz}J9o|{g+-O)?t~_<plr$GQN>!>;liNerw3Fd9L@|1~qLgTC6 z&OHf7=#&%hB`MKHPv|MsaAUO<$c2&sga#hGOzhv?YEJ@(lOoTjkX}&b519J|Cit1; zc(j!`L7cAX-7MI#rQU$@)HE};jtm)Ec7Q?u8gihu#kKVpN!Hk)7PkPSXaj45Qiu+M z%o75TN6w?)M=nRooV-HZ?%cJX3)UMW@Z8?gPS`QQ{-wRA2h+w3G=`yKu3y+>oP8Nb^JOl zSInAaL5M~nQ;!{t9|S<@@B!&T_qF>9isKDZg84lu)Nb%F0muZYj>Y8Uc)}M1gK0Fo zEVjsAG>v$V9&32g9^M!xH@cjJv&K z*}E;=__j8BaqGEjhzuNUGSX#DQro{2)FU9~^f=0NW9ux>co%#0hzd&x6e>i&?e+awJ+Eku7^K%yFw<9m z4v5XuHvTsnzMHs4D$fRbC4<55qX{D{j>8^iqVFjsq&@ASr8NU*^%U_M8(ZzcMIvq! zbX}InD`Z)RIef8o#ziDMTJD92r@&iJ*vQI72?qEaJ(XuBml^zLcKAG_rRIYYBT4`& zsM$Sk5&lv46c*{;&uZwx0yQ~`0EkI1TIb#5@GQu5OKe%E?yNpGcY)@gXRvrs;7jsn zH+O7NQ~p0)A<@{E5qeKU_~3IZ$f5%Z*t{=tEg&0VojB_}?eLsOx=C{s>@ArlP4UK1%9l9xQSlZ_#EcG7{)d7BqR% zt~L_sUfX;_^8ye7b2zwT2ydcTuBetYz}xZz7;PYGA~xnXHn9{1huGuvR^Q6qu>u$E zEr;pavfwCeZkw}io zokoq798p(0QEkqKUpG&3{mEHjxQ7*fO|5HY4X&Mmgi z`3n>ls$hrngHd9!VSz@j;;zADSV1ER##?@KoKe8<5A9Qw;~~t07$B@!H}`u?ZU%wn198T01C zT^JyY49OqP&vVK426um9;j3`(takCu6{Zu>b2_k3f**h8>RphEc3jeO#_ai|f%#mhFrME-+OAf+&!{lZP^w zoTMm(7$5@?=Pn=a%+78%b%^ssqvvZtG)z5#-~MU`3p>q$II+KZhNg2z^U^F+P;;qC?(ukCPY ziL-R@DE^9(+GUSOK#i+PVM>TxqJkRvtdWSOsMnLSRac^v8H4Tx`IKmNH|{XloeOPOvE| zbgVO@9J(W{{aj%$>N(HYHqzDY+Xp9my$SIUTJsM3&7DL>9o|2&;L;_)>8D6-3NT1~KY_&Fc{AV~?807QIab%J?n=caVK6fZnKBhREhq3% zTT5|8Tt4)6QXh2lvc(rI>Bqc7>=>ZlzW$Gz`&@U-mYkjo@h~R`pfGEV zpA(fKI}K*)sq!{Bp{-Mm92|&?Xd-2QFiXY~M5#c*6ARix1fW!iRft34{!78kq>;gp zWhbxXX{rZ1QItP(H#T6x|7>JTkZ-q=nH`)P>6c~iKyi<|=JY2u$^=vquJ6dpo*3Lq$GH4dDHH&xFP`^^MJL7B-}a!`?qY#oJepIaNR;*RX~@uqIY zj+FgvHi=pQ8I(lAp&=0h5;O7H3y0Bez5X4nyvm0w({T|V$NbjhtnRSZmf7~Y*YD07 z;DEvhGzcJw0unwaP(>6BTD~OC#WTVOEZDFnd{_!oU}(aN#bviG#~KBy%nnVZrf@S@ z`*cbkG+nwPHdg3zE0IevW~Dgp;UERoAgt4p%13nx0Nd8=5XO*iJKD5eH-vgE@lM#n z3>nOi7Yfm8@|g_(Nd7)X|D=D*G?0vsz>vj#`y=$XHAF&0`XWr>WIM+53@M+7i7XbO z3IXU-(qc?7Q2JOKTrjX{K@4u*7C5xh66NK4@JCv`XdkmU6j&c~agc({0B?bNHIGvA(H&&V+YghHrg|n{~R)D6zriloVAI zTV&y!*C0-`0`6h`0-X>Ky^m23bK)S%AwYq}e6A>>wq9I6Ptn^`WXzwQ0$Yu%EN6|` zo|}W_Ty*;Rlb(nJ(+`boPw3vs?;iU9a;r*dS(rUxieENa0@>)i=ZJp`y`f+z7f*d{ z0E%_~!w*CdIkT*UC?YCSDpeAtzZmsA>Yv06BA1A0 zFS$=VX|sQPA1s{O)S;rLoOGZQsoeQZ_psgem_RdVCdS1`S&Fd=66e^U?OK3~08J#) zz(0wgIn!Q_Ea$J!VjAb%_PkKvZ#?K5nfI+nWuzva&5vi->bU;=&kf%!uX>v^f($X4 z`+b>oae5?FYF0H9Fj4I)9{$iq_WunZ?RA7i%rLMTj877#*orY;5v;8unh09e0DoHm zNDl3x`#fHgwB+yplzbvMIPV2H+NWLf7_tZda$5b zR8r}6;}4>(1pz=+r#vXCQCO?!5X5}6;BZzWX58uWjOyJp|cB}GlMp(LQ**4 zzC;pkQEbThtIGJQY0mB7%4iVn!wP@~48~nV50~Q?jWqa3i(p{v_rAqj$wYn+3BT#5 zRPHfTD}A?8p2d1M4c`b3-6DG zpyF3zMFB!QKn0@nTQFL<4g`YdZRNr#N>Y^c>S$I0!4!KXBL5;QLsLtGGnNDT>x_Yz|!_AWV`b#|!51{QCPPg0iy#hILN1Hg+ObxQ0hd$zLj(1FXV_SIwtr znHwE-)Wd47PCh@k`gEY=2?!|IMw<-vYO1@j1~e!z*|Fgb&?|ZD!+7;PsoZzI-K`Ih z5_40wPYtV4MdqJ#MA&!coQXQE!T1sO8$EHFw>>4gEI5{U83dOi3>LT3OT)}-<=|Wr zN-R`xEjOC^Vf-{{K&jXsWm7Wh;%flb-Z+j?pUTRT6XA)o2T-2eEtZ3=nBX!dB@#D4 zmkdG9dGrHdRDlX;-~_-5#lXoQTg=j{%ZXlGm_*J4Co3wI@JpR4u?T6|V=A-eBmApD z{rqm_yuf8)FF`qSt7FqWH;s~IM0Hwa4gcNJf;}sXK>dP z7&W6CTj~Vg-Dj}h>ZHjY;HhUO$5$X7c5}B!-l@W_uQqL!mRWOwgpZ3AAjji4y3JtI zpN4)+a=`sdGooIv-#O<-{Zi@a5VdO3LWQyVbMQw6UVT3DrTv26z0_T?oWG-CdWrym z^%W^Q7QJz$`EccZz%{CBHJ>ApQ4}afQ3wW}*L@I0+47A6Y$yctr0i+3$s_z^uzITc z6al`*b-NeAQKk?ysGb1J%z+zwgx{GM!=*A9=7}DrznHQhffs;bkHY$*5IoWFkPCExWnefPJ z4-SJ|)HkqxV4tGe4e}JerL{3ngDYCZiL4i&uE(+D^G^MmCtX2fKwhywrHUB-iNcul zq^J`op58jV&Vmk$G|xw32ht9pJGP|CKi%@KfRfd)$Ro{@xDD^9cgTt$!3*KS=%1fcrJM})&QY@YymC}Ec>)z{s!<7NnSH%YGK6LFVPykB-I>b;4ASi=7 zTdQ;3Xm{AaN@CtUHXQ|aD|yqebCp@$YV_2u&~HwJhQJl5Z*tR?kCKIYv>iYL0%S}b zGbpu)LzG`b0m$V9)I}&6v$r!zlK})taCOPy>h>c&v zZ(HOdo5PYt3&VZi24aofrT{&AJ!>iy!-f|Qg~;Ux3Jk8FnT=+)?D*;_rVRrSsVHMY zlvNc&Orol)sHy^`R4Rli7$p@4;pv#-IzJOzkq#cx5T?P15<%UmGshF{7=uw253H!c zcjzjYz zDT?Mp} zAdcH9Pglmmh4er|URJgmp^CCZ7%iP<3qJCW81Ro1*`m)oiJxFFneCT zQVb8ziiazGc#7Npss(%2M^)Hk&uW!06L?99ial&70?zI`iHPT``vUB&LMg)|Q ze_8_;IPwRE_|3cpZYB~P7xDcE`6`V$RUXGHFB#bQE8c7_0nk(ccR+~0*>S#!KvozS z$UU~J?B?k~eTAqMK&cZZ6ZEhj{r&k@m!wrH+o;rXCl>j%yC|qc5P>)8n)n-2U&Wo1 zwVzIO{4XEs>y_5*r;QULs;Z{f{bM%SzC_oil$C$ME!3)quBI0jpRL*a{73G4Mpvy< zH1bAHw-C+iF?DJNfCDrI2O^MBWKq(o^I<-9ued#bGg?0_&UIPuEI^V3)!u!S8%KnBcQaR*w!N8M`kZO)|C0A#{kr2Bh5wiT zyERCS6z`+S{$7VdZZK*-J$#_j1V(IO=34;C8ZY~3NEf*tRCV?ALdw_yJSf|@{ry|o z5EcSA2ABRUdtw;3B|)XS_Wd1xO0pso#Id`J!unIX33mzL4fwKQYgQuMjS@$ZwIbAI zh;7_?j56zMIu9|tb;W@KGmZ}@Ppzjh9f*k2-yB{d#;MVuawA#zuGkoHTFiW{jkF6# zQ<_9V`vdJPdj*0E3lnvCoTK~)zjho(!h~mTTn1-nhUI}ba=WKR5I65U+Vb&VHL}#6 zwcj||HMfr^7~9?8IY}@cM!xbuNo1ef{IPrUy~iQM^fq$OZha6w&AOdYNOHc=P%%8^ zakJ0-7cTo-n^X|T-df=|cO_wDpU#|&d(R#P^oD`+u#2)2?851yr zchlzw3*M(uIL0~M?|awWTTg`e0lw4CyTaeb!RYA@h2G?aKd*_35x$m+{NMgJlU)8( zX^Tu0cVX5lsH%d-R03r2h#hWE`nOmVDen#cbh%^tzMvq*SfRilC@phG;QoS8Cg&zO_XrvjaG*6uy5{Qp!j&fqXINHgk1B7#h| z)R{pptBb(NLznR+lw_@093BloeK^Onvv%R52qW;?;mEQ+RwwiDQ*%jRZxGyKH+{WB zBIGwp{aI2v(A{t2H|T^b8z!CA&!N4D>hE2qEna~NW!Bd1R}9hU*~bZJM!^l4V~Ihn zixePX0NDYA1Yy`+i6HkX2T)?UY-qT{rwr>iglN5brhWZ`sU?hrmRMbLlRU${p50d^ zo$!8-OZoerkNPwRNorC3ld}$?3?YUMpu!GFVIwTeFoLH?*gP=7U{`25+`=kKLmVnH z9ib|&jZfc^KNItfaj(hUxpI1=Z+h!LMZUM8yLCpzo;wybh%3vuP__xEutLFr+2TxO z{jyoW5Il)O0{=7DWN}E*kc5TS*pZQqTM2&K3?9D01i$XtKZY0)lZ356)gKGDx{~`U zE?mj->>*ur;qZSI*xdb}t9s+D&hMP-lgq^fg9fe3u^2orDrdt1{XJA*VI6$0<)_|< z=7JDM8!6~|_$yh>@14$HWP{$^^4lzyMkaZ>(8K^tCr%xMn99PL-3EJq< zXB4O9=EJybZj{3W># zdy8GrSBpjXnQ#Chi#;oQ;?0IX9t1q|QW)S|;;Iw6#oncj-*(ln!1x@3)uRuPK~uS< zaH@)Um?gZq@ zL;Ou)+^)B}ysBhjwrhAWhrPAzY3OthmuI;vYj8Y0+8ysOr9K(u?)wZu&gOG%yB1hE_*Lk=@wBHO1d@Pxkii&mu2NXiD-UJ`&bi0GsVlhVX+e1Fga{gTrNRCBS znyhCnYoh6Oc(tXN8?*t57PMe__J1?mfbzBmeJEPp4|lnJ1UOI#o|rn6B(29wr+jFI zHG4%FqSap;zDn%&&m9vUqju0GQ3_#2L-d7=HSn>#W*Ph$n+6u&LgsJ)5Ys_`P-)WR zOI`38?|d1VePY;*bLB>`+374Xb0k)XjzEht1~XaI7PDqXIYtyyAw)Qr(F5pl9#RT~ zaB>|aO+vEGnIV}Ec5(N}NHdp73mMpFVMz|7r`I}dG2&cMZ7_gKE@kZoZ_vW5%~I=& zlPrDa%Zua%1C<=n=d2M@{u_MHo=8Y!u{78$oqFrj+J7n(%H$v0WN;!0GqtVLcO+n) zZZiq^e+oPmC@K`#!+E+R1Wog`Y7kozZN57YYPOe?IhL^i8Xlj^O+Vu=CK_i;3rh`| z!zH=P1>IimC9A?!%{`xbjPQRLxp~`dD=QRqwBaoGk)P$BM`iK#UB0g#eKBxX2Ks9E zB0ylP6AP79zu8BFeAdntFH1?1ch<&j=|&7uVEfZitg;Y5i}DeJQ^kz?gdOj@1~`V6 zM`N#ByPcoU-5cX4YyTgS*m>ykJ-#?>hKqh{hz(U{rw=R|0okV0Rk!l zWM&JBo%j5F$!s@bOSwU^G;W09R`6mOvD$GJoHZNHYk_DQ$&4ywr;kOEf)M-gT+`jF zhL~muDsW&_(u$r-wR{(J&6_rC*|TQK2@@xwm5mTTNE!j88i49Spj4q0pg^Hgg-WWN zWlG@vFn3p24f_rRFiADT>th|{o$Inlu z=W4`hq{%+EWX-kC;=4uZ4?WjgCCGHbAbr9*ULGIWVPgXtzO15k4Uao@5XA^Dg@V=G z7lq>zuF5K|hQY0;Ct;_rvMD9Q12EN?QL<#r187Lr{ z&^f~7!B&24b1Kw>N+K>lw^sojwOrJ}5A3=;D2793Is{EF?LT#D?a@v5xqX`xgNk@P zj#lFR-}E~$y^i}a-^be(KTHanFZd5x*9pd>j};F{LD{$jiBjosM%w5Wc#(JfF zAsQm!2%>oovD+tb^SKKZ`kH#KMFe7^EWq`^`Uj?(Q+c`CcErcqrq}YqyTFOM;PVzQ zx^{hK=9;jn^H5Yf(|A1KpIkS=gwEVf*v%yI$NXSVkqRfVnO6G z4uTJr6n6Y_0W%yYYWxrcu?573ZHaDxltYL_XP!$DU!ztUTP`Eik*?N5MoGmdjUe&9 z@*qUTVg}TYtDT}p!xtoGa4^M?CZ!tLL?yC0AYY=;FuCZg2xe479TgmOP>5{UBfpu3 zQwwlMcJrOw^K9*2AZl^&5F*QF=?gCu5=XRw>l_fD(v#WzE>uB4hP5b*kX`a6FHLoO z`2KbqPMQNQ*C*Cy#gKO@%9mA1t#jBvTsxcwJi$5E0b5ws~ zJBAvsLcV)&zdJy{#8whni+{WgY8V}AiGWP3-JDt+?~QnvvNeI%Ba{t)YvgTVP!Tu} z!u!fI=_VAga@`=p(4e%_vEZG?>ox7gSMF;CUiEubT8>?{yV!roPS0K-$O7dN6pNA= zBC{{O@JE1+!6t&O<)OAdU3oK0h1dk}Qqo2LWM10i>=o6B%de~FkLl>7DOuK~A~1v2PAk zQ%Z4gE`qv6sb?5Cqhg@We%2j)x5;? zQ4vvqC}67PTbmmI%o%9`adhIBX00QZwzC39)sb!6vj%w&19kl}t8Vc?aXC&WNwLfG zh@E5_Z=xu=Q^y{{J>y6)$F2jN#zIhE*U~W^=*KJAXpAfwa~gLv6xoc`RPnoxX+*IA z#3DoqGXT1f&U;cx5-hxBxgX=t`d%kmy|2XAzdSoG(Px+z!4Z_RB4YDA%1c_rP^xUe z8UGCL_>Awb_Wrl}$jjb!$neB%Qa-kRfbmKF@fVI#E%sdd=Rb?LpBI# z>6eCjA&;5O{#aGf0x+~s0Pb=&^Ss&Nx&z@kHfBw_VVmR-X86b5UZ=e6f;QTNXHlW7 z=WH*}*|?iz*&Se+B8n&=SpkHP!EN4wdkOx&sHsaVB!_otl*Zqg_B9z=D6oSF0wS`y+wrG$7@*uIPg2YoA4N+BJ<}sl&EGt(C!O3`VEU*_F+6yeWSr4ns2hZX50Jr4-)-^9H?uD5zO>#4(9L47mXMbtk+$prVhVZ zu*wc3^xWf=9)vvhh;`9N)W*`{11oRGx#ND#k7tsux)97TMz$nSRl*wH(%`SqQSrh( z9ZU6o5zYxB4^c@&*_fsip5yR;Vfa7F_wH3L;!?zMyY zBAkZ%(E%M4ytH5wVq#2)S1`4pi#@-|4_&7azM4kTZ_*r^?rdVY^SPBd1BaO#@3_g& z;c#bo-L9&qB3b#}h#w-$tQ3KR4{v&fRuHj)gGV#gz__stiVC19r65EIP?SVKh)8Fp z0W&}8#B5i3Wl4T8&)}uA+wFT>n%Fgv!c=K0RRYOUAd4CVs--#@R}?^bhGYydDES!k z|HYETsP%iwYUwtHT;_oGVeu%nEoE?RItwmaUB&kM7aWd{xCCy(oF>wpT>8)r(=obg z9MLt=0q2&!av{BjEb3aJri8*W{_Sph#kqcSmH519D#2onfGyZA2#uJS&H~?th&9!e zH;Re?1}}tfgvJszR+grYw>oyBeER_#sK9nK9*-~{$YhO;_ScZz@%i0hZ!%^cvRK^F zR0Xg+u>eUx-=PSB%>wKqXy4+sY?Gv!7sc)7)i%~FY+1!dw*ZL%hFe!8GO9%4Fy6R? zNf0-tJ4mdfOvckRleF*8Zh2^+fld@Bf>Cq}BLrgsiZGHOU=2&heQW10;JpND*5qD1 zu3JU)mB(cy*3j1q_6tm5Xb@vj>O3Dth`r2g=#yP++fyTHx2A$o4M5bcw5nPxHZ2-z zt)>LM?vyR;=7wO3re->~ngP9agXysI&UYQK;#n_o97}T|8-metbU|VS%L%;_>g)@p zp(O{bXpsE~;r`1{qpu#G7WvquA@$&Txtdn=V35lC|DLxpYOCR=eFj*SW|{PrgDqEa zeVW>0DbArK81n>Nfw}Fn9Kqp z)-2u##Fm4drVhqp_#0`IW(fG-w1x1x@8Q^C%Fg4kW(5V8JGBMMz zTg?F?cBGN_CjM0?ZNXop_1cUSaKn^xVBcTv^{NvkL>?0AS<+Er^6wa*mwTYTZ;hhk z`<=X*TM`re?G$(3fe6uw7j-D3=d0_NrtF5zn-0p8@u6&syg$XqMYHk9R%bd%N z_qrYj?*0}}o;XoZv3CW_9YGTXWj$KWOejwUV61az8Ui%~1pWs{128FoglZ>0%*> zA_Y-Jim^peMHEqDtWi`^MT#oLQDTasixowRFYNh}y>EhShRAG&$Yvo7vT_i#`6L-7 zGJ-NrmpEq(;hZz(&TYd77GyGIdK#kFrqm^_Rm(P}sG+rl&olxuO!V~hU zbY`ZIY9VyVHMI4Lsw$|qNvVBI_nDBzmQ3hfGv%CWimEM=Uo6(nhGt^m!#j3mpE*@U zRT*AiJ!a2SGcje*&fS@3&Q(!WMU0a(pB(m?nTuu_+p|77%Bm`;wn?8g7-y`^F=h#! zF3%gl^k1{oKb6<gG_9N%sApjmBs7AL=3iq*5uN7x)MFFq-7D++4UZGTpD@RB;CQSCNTxSbPEj zctv>P0UECNqZ6e>Nt~W6j>!#ZXW0!I3ID%V%MCBD5UyRzge|A%{0L?kM33X~{yuCE zPmB9m`MbZ%B{j+!|J7Z+oPyc!(1r;Kh3g>cN8N@>QYA!$^+d4Nh>lk1F`iTlaup#V z%?L9rKiFnh6huvY)Wg?8^Y-|M;%qZkhd?y9$j)5X!LhpM9SWlIWjBlNOzuQMhzM2!HfiR1~;+YK!lAzeOsXU&54h}UT#>Q#T~Yo(Ad6dq(y8v-`;5r) zs7q&NOWRrf98Z*bKet(NQ$R4-SCU#4l+&$gQGD(juM3m>?H?oC?Q?e0L;sfXt5xv= zmJZbfO0qz@=)p*(CF=<}>{9#JcLY`Oas58xzJtZ^FE7bsvFC6C#iN*DYkY0p9+y8K zMT@Hz!IhM|de~t!+O|&&6k&)M8}$Zq`^z=N_A`wK3y@u&$4n(&_cBlX_4QbX=fz~Z z&_1RXPu@G~`q_ORDz~;56RXtwbg|#A{GQl{hy>v$%OF|gyg)o#{S)KId7(z`-58~9 zZg;xe7k_?${a$Z1-@|)762946WhVg^C}emUlw^% z->3PwAVU#`VB*>FeEa@~(cg6Z55>2Qx+MP`(75Sb>yNzcIzk^5<2c{f9~tSlGA#TQ z9qm#gQwC4I50qG1z9iH9zrOD=am}ag3?#(p=O-HvN<^B^7EO_ z^InIR+o-_Bd>=Q{7Hz2!Yg+AosNA}&b{LngR6!01+qlHg{FqC2&%nrJK&T?p+9fxB z3pdikP0yVJ=Ag{!hRjTzHS-ffMW`C$ION>$s8V8dj!)XmW)W#%!v8e;G)Z~{ZMLZHfNoa{FHPY?OTXUj_TVh#Sx5j*O$0%zg(8Yn zgf6;(L@0%C4_YUDjHiEvR&Ml#9XIZ)w3lyWwWV;jGWBaV;>t^?BA|W!*JiqEm^esC1?ZalHLj7Yh?leD`Lr&skAyO{>&- z?VC;Z&k5p~Oya)#!~4AM73+^k?uW&1qr{yduhDVxIQ|-{f#%iz2B6;tnv~L%%#`7o zvGBFiK(boBEzRxkcxq_}`vrD`QpeaYx{YjQ6DDA041xPZl3&2pfV0zYjPo7Y!%2PB zKney-T`;PpW9gJcmX4RVo4mGy_C-h8Fuas8=CrvAyLHN%N?bu3ws4FEat9ACM`7m6 ziEV~j7CsWSNO(#H4<+hMbHnM#-R#;-m@L10-xyARcShQiHfW^xeO>-b26dYJ7;5w* zi4OVVl_?P%6i*Csx13Uc1KOoJct!ocW3~EYktvZA90Z`}ClIEL6heD6nB<6;D}$@z zcykZ85v7!xdDztH4>-#KQ)_<5e~34kqHQ*BY0Mg1KlB7W51>F&$FU#C5!(?BnGyTf zQCU(QD3UW;0MQ;;eqdm6uuD8@9svg=aLq4;s1n~!MEU^U3Kl;DYMvGbJaPZ&3^@!i zNMP3Z{a%xcW2L$dVFAV=xofS(58XR%xMnHe2)}|g?KF|? zDFD`SH|XGa5bJ&5Z4fQT^~{GN#O@i zs7W`Q!2HNCSfuJE8=qtB{gvsrYuLC`hBdBxoaZ}tUO5pGKnr*~BrWwBS)0_>e6|Ne z$xn-wH}?PUkHdYxv-**2<5GM?!bS3CGXW$Z2gciv6mxgJCmeC;7D8YRRW1^pkiYQL zkC>0;k(v?+JRaI40MO9T*RaI42+#NWCT96{Ot;Q~p z!h4r-X{mB9x+GU9n_Sp*I{3@0CioY!ATU@j89id08jTKT7)(0&RJGE&^`s5ka}Fvp z6a~Oru{YXubia0|LFsLuebw}xC5=GoCzz^B5+VXxr3ix%s_C9N@c3FvdiL0pe%oU@EoWqaaE5*JJiGzBP}&@vYfa@t>3AW(rSgGIc=^QALu{ z!bOPHP?XS$%4n)9qV-wki<6E!JHn6y*}pxs4_zF^bB-GhvJ??uvyl(Pk#L=PpO=L^3@{Kf6NaE)7)w^&v`ol}Km=E+l7ee<%(K9*kMm_F( zoaZ~_L`jD=E5Zdd6Y|)x-+0?U-rDd`-SN=<PTpG3(eXXs0typAZMn%I6Z;OTPa@A`M%nVy(RxLEuvMqFKo8@acI5@blCJq?U zh8S96HH8K(RTpt_TC5ygTwEMnKqk0m)DlUq?1=2-s|00{q1NX)_=WwyPupz8z#|Xv zs@|k_IjYX9YRev?;G#cR{=XWBc|s5Hz@cH24H^+Vzo@G4a`UsCmX2I-I6^2&1|0kj zXqjd1wzSqTbX=RRd;_79&&1+}lDG(!XfZ`5AZCVS3G&8l0SYjLE@`3?Km_JdiZX#r zLXHcjuE%N^Q!@0w;f>w=F$D5}N@c637~dgyEIUgV_dO&@U&0rWVmi*(7shc^>CnDo z4JShcRe@j`grFp*a_b79;g)6CV|+{`w~_qWJkGX^3c9#Aa*9OJg{qPTsc5Fk&nrJ` zv--U34lLZAhjd7l&%fK_X){lc=}5vLqxddkT{M!-o+lykdJt61=F^p~Dh&ob)=wL* z3Vq;ohVWNv4F<9aBSKvRj{xTPph8qWX)pEQDMW!J&RPP?G~C*rYSv1d@Z`$%LEq5h zoy}}Ct%dF5-gbk7^%Bg7SbEqrybi+8Pi%G!!fyo6>-Xj82&vtkX93)kAM2L25Or1 zQ9bh`85#~3Tyd9z+2w^OhG)UZ)!YSY2Z?Pph|HZkit%N{mOPPC#RYaIS_j<6LssEq zao^|H2d92sZt&%(Ng$&+;KFEImlOdWC?X;w1D0_|7W8$(rowA|Zmo^d!+6|;!rio( zFXWkG@_vz1hcD^+A*VY3ZBM$b9*k|BAjhca zz9$$U+I@&wW*$Ho!fx8PIQ(F?r0eBH6pUs!KM&Ko?|5AA zQ{@x#x~zuEB7EBNVpvLPI~I|LH#3&b-mtM@+|?>EikYv^od1-mreh3|Y+=2qQ0$}< zVV;i?Hm!)`Zo}TG5=Fuse4U1j5?D|Qp^zOP(Q~2?719W@D2JuTp5jaDN8Ax=xzgk1d%HVh)5#(69oPLi7}WNb zj_~^S_5qdTZIQMGyhWs7DEwq*Hqck2n4Dymo7vZTTJB5@kIUj)l6`N(==eeSJ=XWR z>OOMX*ihQ`1uUWzSy?G|;?Z(1i^MLy(M(1u5CEGTX%(=8ftjm>u;uMQTg9`~jAcTw5YODW##>wX|4 zW{;aq`s=+ZX}$cvo!w;nRe&%vL)uY@S(hgPj`QKxvU)5U!Sqyhpu0(v(UrA1zJ2s* z(O(TY*d|8&$k@#ZRNe%4#9gAK&}VdXB_diCGgl5s`!FIxFCu&#JpV5& zdA33A-hyk4I&Qn#G(d?ckcLA@2a$GLn4^Le1B;R2^3;e(|54Szfh((^)qKwDo3MqF z5f|xpLME(Kyb&|y$|e>fNaPhzjyO_|%$SxlJ#hVW5`;W%F}4^N)D>a{+D32&paN*X z7D>zx0FO*qfq=)VEb&3W#?2xWLqP}_q0^ySZHEk3e(Y}}=Sa3aY6k?kj6`AbLUwKh z(1=l)F}R zDK5|)Vj5OvW>r;HRaI40RaI40RaI40RaI40Tc~+jkl@&tD3**d3_}pdBeKq5RRl(` zUh9NxCW}P0B)KalobBatq!;Xt{*;DTl-`$t24d7 zr3U==%P4Zf!F(-e#66q^ch>IZcC%*pamu^80TUk10JZ{1(eRG5MVHO#%bYDm>eYdT zRqcirN-(Qm0`-Mn*RyM13=z3=2aj`H_qB@WIqp}z>~qGk&vLQP9@f44gx(vI!8d*m z7nI7xW6HUA{+%IA@!Sc&Xa*kqxaNF{zN6gTVq}e|;BL8NM2%Rj{=iFx!WfNxoXc8S z>5}OuWhied{8_znCY2L&5<-v)R8S=Z7zGNzln_8E1r`vXf&oJm37F74Ob!jpTLV4{VWrDIAlT*Cr#6#G zJkR2hUF=d3HEl{*P#Q+fDvFF9suJa4aE6^kSGOl=*KWQD=&9X%AHH57qeMc9;5UXP z`lN2Hjp5CE|0x=xsH#ZH3Z7VPM)Q=%mDc|ct*fgJt`(zqMRbKWrTR%OCU|P}QlU2x zm6U|s;dQqz{+XdQp4R6NMGq(7U)v+x5&CV;506N9(mJY-f|pclt~v6{pqc?!Fu}Ma zvDQHJo!w*4Z$AFoPQcQPw7S>CZ$lpaOW=;1H)07dt<<;@8hK_!N@Fq6)4Vl~S2{-h z@3kaI;Snr^QxN^tB2A;Y7N<m9ZPy#{-2P%g<6FpeSXyM7L^5ssn*GCqpySU{m9yTbh7L_da# zQv>*ByDj2yi|op64z9;dwDD?Cn#(z=4z(z{?P#(m=Tq4GQ3OE|Em&=fNs;2{EKnr4 z(+!A*W=#9Mt(TkXM4fHAwUYM90S83^7&R10GlN9}4z`YibUMcQUD_YQ@;UazI$m6m zt+}6jN@xgi)I?831rYr>R<3AepHe&nkbw~j1OWt2Yj@7yK#x_0S5li$;H_cqM35TE zedA7NTm>4*HSO=CoH*)>K?p5#r<`+`EBJY#`uy;W5Yv*rwvml8B z?o;%nEmb#2-v%O@f-bvJ-^;SMLM8dcn81E{2&oECipW*Ui0&D$vRcV_!C}^-@s^C1 z=o!h6S|{a3kEVg!0txdq5^k#JSZ4m$Hh#NtdWeuGV5F3k@z-w7!*-O7F`uCP+>K3} zQSe5Oc7Afd=GR*7RMTC`su?00^e~VDdHt7jZ*PAiZl`lkHOhiV>Vf22H>tdeZ*-^r zxikjlU6{gYmsQA%Pu?L)ZDR%f7~IN=^?OGRSu7e1Yeq7l!|ioO*r@3>b?sk zeqNWP=M0UZmZPSZpvnRO`Kc{h`#n8xovfSY>Ff+>2mnBUO3hH!voVZ!SQ$=}ZE9q; zyx(Po{o-hj?U!17-y0WhynFs7qbDc)2`%t zvNrdj5@I3%)`EZ>(?D4QfD{D)Jx{~!@(Cx1tluLaAto$dTnDeOu%OXmx>oaIUz^Dk zBrzkxLd125)-y3r>KHb`g^EB|H>9Pv{JWgHkcZp>-q<-_YQ5*9|GvN9;lA+nPIiY; zsRg3D_5P7L7Gc{ODy;_>_F%C;MgA5Dvun=>xd`<6^?TmsJWDfNTEi?9^Wwt9k!Nv^hyC)koL@DdzPWCLrA3!2#!1)M3pF1_%e};+U zt}EdtfIPUDN5JE!h;O142ry%i5M(eTT*v6F^5C0!7izdUaMrWa1wYqPkt;<1kI6<` z?@xmXX5naech`gXxOZ|4DpVgoZ-4@&h*iz7Ini41-#d}2&2zos`1N7kI;a5j&IlOW zzlptvJXxkA=Y!!9wn?FWRhw`vDq!sQPgyY9qc3LH@pccyOy& z`uL11$V=IP`)f z(>F=O(a`Jk)~X3x$a#``wDQOMydL_kd((fQTr(OZk~tO zyFhzeO;&(fO6sRw@!h+itK$wT0wLr_|9@aMclEEw-pKkZ1u zL10Jyg+BSM+9}V<T=UynK|PMury>l6?>-O#R~_%uy>osRJPt< ztN1KWz3YAn)0kyB1D2}LtoOvMEU90$EiiHsL8QbklliP%kPd(@m!FJRR#u1)K>0(u zD{<@X7?3|mbtA(6&du}pAb-u<+Z8EVh5(8HP8&9h-p*0DGZj>tH#uE1Er>0UUYl+? zc*15I6~*}WI~=%Smx4F|srkVnm)e^?f&nFAM{K=r^CM;IZs9M-5GzH@(AqB1QhtWO z$fo!%Dd;|nH_UIX%iu2YSE^ZaeB>f~)(?^TB8rNTDQlEyrmAE!-iJl!>XRFzII&q+ z#3$;C4TI~^v*tgsj9Oc`2&os<+L5g4t>A?=OCeWBUd%FxV8$UziyiERX1)Hj8_cf8 z$B!CHq~AY^ch7Mmz*ewWF&mnOnfV!0_c4h)Ou=hvzpNH$HGI$+A*2Jpa0@{}E(Lw; z7(P#RfAw~!cfF0qV`L2$Gdt3jddV9#?BrnD=7~hJGKa7ycB{v&lgH0KeDS+GYm?~ql zGW2ZU=z^iWyTY$)xh|0m&!41$Aluf#se0i8O_8hYD1~6 zvHT5JK#YKz#P3qQ_uEHrQ-Ik)wG^$e(+F9ir zUM8p)2IMq6<3+uyxoo8mv6!4RqoYlZ5AQD@QW2 z;$!oPIa3Lh%=J|>GzBL^(G?eSC!|zr%IQ@zXdfRRA0H{nH=M+DF%ifEnisr`s=w3T zWvu%`6A?#4tf0FYoF*6wU#%o7ks|-*epfPRflmt2|JIZ=EAMy7=8E+<# z&~cxTR3lFuC8-Xih@)7Dda|9%GB#E<;u%$AQ2}NWvqeV3F0zbp4rF~;}~eGEh*T>nk3Lom#~L6;wRMA3k@1Z`{+|8s}h7pLdNIK z*#7*}+qy)z&BypDvc)$IdU4^#M@{6s!%{Q+ySofI#5Fv>3w?6Obb?mxe<4%Z*{0%??ZMtRd@ey zb6(|hnCFW3JY)Hs@^AE=X8}}U9)7$~)r}4vIGDoRyJXM`>gk|hL)CEHX69I^E;Li7 zs<1n)(+IU24t>=st_GR|t1BH9jtqUZtGV}JX!Na{D`rGye`Z_D8|Up~Bsw+EsC(9L zyc|L&LIT2ceeOj0A>(^~v)>_*)*R#rhoVo)hm;VBmxXRcb3hsksDGipWDV#eWG3Wk zso8dtDuRdwsO9syy7!z(eR#H4zbum+WG3uV*V*y-rAWdGtzeZ^33|_i$>*vjcrqki zjkeYn#1>&KAA(kitrKLxXb)KfLzmUV)ewhdiGY_tz;xpT10io&7ihe*itn0tR?}{T zICHC>jRTQ4l&M9m_pH;{>Y?tXf~+&V2JsenaVB)-+W?pdH4}l=K{Qc>f2PqpA@!$&x*w?qzib73oZ2%_Un5dhpHJTt_uagMnIWlt zMM^uQ4?teH9lf(6;tvX0z5f3NFjE0KM8gviI!>x3LU2+^$ZyksEAu^*%=7;@s=3bX z`f1xsfhpSQxt1xwE1=XZddOWvmjnTvgeo$M6cW&cs93#7T8WI7CY5pFAt*~}j+0BY zt7$H#lqP8{O5Ng8CDKVLOVqnbrGRTCWUQBoR+JuqEJ7P3B0~M`Pm?`$n#U)?3CdWg z!9UMsE$M9bx2+cE|Byj}+Pqq*hNkqTA>LUPsX-!y57`F|FYV}&Vi5#r1=zV9>3wqY z+WL7VRj?-$}Bb}GFF8BT~w(7z@YV(x;kKIevOPD>F za0Hvh&xAjpt!7Qi!{i881au*pm=hp96(0pm{s%;SR~jybNl}L9M!Ae4hYJ%J)4e)5 z;KP3vEiWJpR%WRa!SN?yA}0#30u+}Dh3M;}+{_jH4As<;Zfll%BjaGULrU43o{g_p zVIO}ek@aN$N|*OF{%-Hai_ViPPt3h=gOMo8QZ!>9HToXrkFJvTM`^D9o@M{gtyjFO zS>ekFnGoX}z9Ez*u0}HgNw;4h?_saQMUEvIaOeb7XuG3W+n^4`Cnu2|kY~2fW$G_* zvOWOh9aztRKplg(JkI+cNpNqrdbOzadak60^2nXCenN33M6Isz0QQE0^WF*>1bLJ@ z(?BmV3?^W0wsJW5sqK7?e*>f7Qr7FVzqm`6LP~1^kh`RK3Z?^U!cGbGT?c|A%^#+* z%T{gs5r#fDxyR#kS;GyzVHl{zMs(rw7(Qq>FBUKBKy_3c>hnfI;T@Y@FhaI`%*d7m z+1<4#SqznFlOBTdIUbPe@**@s(_(@9LNtW|IB-C@?JeAmX;{gye*;SDF5CijQ$7F2 zmp*T;hQ1qycUCUd7f3wI2f51Oi zs^>5<+Wh>fu$`m)ovV#c5gVcA#6h^O%F5N`Q2P@!ehefV8mltl()u0hvCI;|T1KpF z>wp%8AO~o?GKm{%SE)tgsRpQKYiMh^S=jDff<62pRSQVV>h667P)lc4(yFbxrB+h2 zn)i;wrMN~$ri<8qefMr&%aWipt$ZIzp4>I=<0jsjBc#a1^9E(XEMf>^utx9)CdSsC z8T3=Cw2eq!4UNdbwvHc%7*Z_$*%70vpqRXh&ZAk$?OQ(wJp0&=Z4&$~@v3p3?YSr3 z)qUzWJoIu_KS``eky4FPL{0|NRLsu2I;{g_u9`gIP zw7-uQoQ;d9+sGsOltjx92|ZB)Y-dsja?VV8L(g5tXARIA&T?oM0myo->55Uy_ zXS;9X<#}q9^6O;Tb#+zNe8xzL5d49|6!lR{Or}PTS;d*cB&#qHb+|HDd&H`(-58s< z&(9!vKTFG(zxxz3f4{zpK%`PE3G@IpcGPwOIO;hvqAiysNZL z2VR}4%V;q8$&%~1xZ#IHN0gc&I4EfdEuxX5Hk!(5)5=gWdNZT{Eei>aX2+UDC|ly5 z{2j&=Njn0j&m={}VmNLZkIaaW_}t}QpEZ-aZRWX%e#aY6k9L_DozDVrCMA!z4S37k z2!kSb&0Ir568_54OQNn)W;g2f?|WXhHQ>&Iq1s5!pp2tdx-X+O<&V$DuOq)fAcTs5 zXSH~5Ck~OEu~U5Q-Q#j5-2w&R=#6dLnAo;$+n(6AZ6_1kwr$&)*v^^TI91=ifd28+ zuC9&lwT6T(TXd$WwFrO5Yci0oE|D5TVORS~6MRSO_FabYpO3@tOq*eBt4+cJYLHr* z)R+x65wqlW>n_Bb#5-7zx}%I!X=P`MI-#DkG^%K7**T^&>6j?e`maFsfA+lQ#O*Xm z(9zgbuu+#Tckl_mm|2PxcSHN~+O_xRWtKvRK<@_ngjToKd0sB6yZvZ7{SpSVj!ecz z_~fveP3HcvrnT^nN@42NwGf)Y?4x_KiSjj!O-l zV8KPBZ#TReqSBIG)03v>T@25mEI&LzP#((NC69i~_X=MO3$rT@9Y#c0&ZmcVUrwj$ zOC|2PYPQ?BbJd%T;;S?vNhyZ2IQYlFz)U%YSl^X$q^(L7qXckOT<8wV3~3l}7J(~o zl!!PW)6t}gCW@-@?{t}ZQfSZLwGF)H6qgvf+ud2GDF>tU=#Gh<0cF}_sj@ih4y4!t zI9y2~`;o(R-yN1!iuC?KP6~}^!`7|~8#-JVmMEtWcMA!&NW73?Dz}-6i}-{nO#eQ> z-8)6|0SJ`Z4(*z1$2w#bV*xjP1Kvz5(!+rPmLlO_ByLX9*rUn`-r^_b8#wFN_B=u~ z;X9A&r!7N+Gi%9W6)vl!216)NGBPHn1l;g<3#Xj5W#gv@x6u_G;kKn`*rj))9+zu7Lc>11KURM}It4K-Tv&j|bIhd)I z;KcVq?!VjvbISRnC?-G!<-8b)S88)PV9XqqF1a$njwV!qY{uS@>F2Wl+RRP=p5%GJ zo;CM${ab?P7G-)M+xz9K`-t#sOY@M|Jg{dT|4JecJ&6xOLr7y{_vXD z{kI;70F82(b?|ga*+0#m=2ufWUo`j(|MDgM7o8fcVE; zz`v>Hn?|&+cZ6+#IOYQ5ZoXRGo zm$P$|U?50Z7fbE<^QZP_urh+D#>|Qf6rY)?2F}qoNFu%=NXnYJl_-#CNF9iQ4X5ge3n( zj|C2eOo{QqJvl{XFvO%5Hke68{TKLwG9u(w8iJ*hU-X2IKr5BIu8IjezqEe zKIVHnBRmN#2(MxwA7C)eQ?N|-N<4D>nJIDJ&tG2}*PkP801V&lAIqXU(2cQA)^lX{ zc==U0&3>i)ODI6T;iBQwn9mz7JFwe2j>vRv%^Al+6gxuwg45=+I9>pE!ME7NN4kZBKA+SXR z`ds;VD=|81F7e$Txo;3L&KPYZtb`4RBjwNPz-?{wAbtZ>(qzT{VpZ;i7xuKX9`FJV z^m4zAk7M;!N$WPcc~Vn_r1z96wC*~wKWEcQ81iPR!okN1v^*Zv zXr|pE26n;cNBg@p9hxTsDbiTsyD^R=q+nk4r+z&{KGgCOWV&DwJdF98U*x60f^rWS zCZWi9sQ8w)OMiE%&yd;{LCDMG;?(BoFa8ccS}M_V&#WQ~Mbhgtr8x3wxE`1?s=T=* zo5(udC%tn;&H|YXeAAE?sO<>g2W(W&wH^W=+uf&y*GALtteyj(xTv5F6F@w`0EQ6etW2!o z+SUPcbM+0mjWRh@lypj@PHGWBG|aw;e||UChMDQr3%)Q@zGTACstp+ME$%#@NyXL> z{$NBngo%Rc8+6V|vhg8{_eXRt=m_-#XHHnLRCAH!$z1o{mPhUD z@yt=7RBOBt+8PJx(5dSM_{JJd-cmdOF7p5?8Hs9FUxx*iEj`fLgiA&iJc=5+g39p^ z9jAeg(0_(l%@9k@U$DFy!yc8y3>4cUux zdD97@HBm*q0JwITocO}Z0scA?sT}y9tD=fG8*Yu5$#(}e`n>LDoht%KZx{2cgy-ke z2*E4&D~gHsC){h%B|Lmu#^oRJ3@ovIDMWp}svvv^(9_s`+7Q z%JBHcoS8W!5%j@Xp?T2X{_U5*uxh%%)#U|<7uQQC=Aym(19WarPCO2uTD#@Kc^xV2 zIjNPFjr`6!Fv_d6+q$!NMP8$alaTu^iSf_9bj%RYe3`e+#SI6-wK+m+Y%67=)kJyi z0+k>`uR$l69H-?`S>HVn3R;zMRp*`1%Zi9n1u6;^lq$GDjAO^Rt3Y8iX$4C*&4^EU zA8)*0KJ~(~CVHpY!r3vI-}N=vos(}hGlk5vN8^W?yy^F%cc(zuyOl(sRxF5M@g6G< zXiv8immHb$)`#M8Bb{AZ_j=OM4aF`UrE=~y>#`yqeY-a0!^r(aW<1}}6Dzw*%1aVu z*hgTZ6yzGmi8AIgC-6FCqN3-WoKm$s=2M?X@w(wyr05Y$U{a)YvZ)8j zK1;pA34Be2g5(Hy1NWWsFaZds*sQa?xpd$r zji<1l8-}8m$?7`k(Mc~)tauO*VY1Q)40rDdxyU-C<>p-16ef=G$ynB9xXD_-rCV-l zJ8s#pS1SNb=2%TE&ZKURg_e8yjw z_v%aTIwj28ul40;WSNTw;);VvRmo5t#*fEO!JUb&NEcu8v)5+7s5_|$Yne>-1a_`kzlayPCy59qBB8RZ) zn#Tt#I8AnrvDLuoU7yjtk$n10>sVgCzK(O9`AWR8Cy5Qvetq_$Ii`P{!2zkCj=zO# z-NzL%CV>V)#%YxPTQlXtCd46OiLGA!Ew^_}E3-aD3#ZTXfR7T+!~6DH9=kBN&5S}t zJ=)_Hz~z9Yci!l#c>PKmb;> zSVGg^-UH$d5}kaETRMPQ5B{;%{q>VwyXH?~e!FgpCx|B}^Y$ZcTs!=sw$zMI$$fq! zRcu|-ldF<^Z1m0CJ4hfaf$9&2j5Tl_&9TA|OIVVE<^N9Y3Xt98b)!r5F3 zo`NJ6jM$01Q6Qu(0A0GReXm{6+(J(dEzkJA^du0Eyb$ZDCvUPW6??SeN`iX zBcqjJ^#00C;+k!(iW;mpo>|6BO9^JFKnXKM4J|H87-5qTRU6Xecq~h829s1nGaOeT zg|R|b4%<5Hi^0a}*k%-Ie~eL$=4&})RCa;D4+&~uV#&KdAC#^ceK?$7`GMM>r0w(s z;f*S%iH%zui!v`abXHg+Z)}YKfH{PB^R|aSN-&-lo-A_YkJ!&+JGfQx5 z94LGfhRV++()J%58)nk{xdl5nBZL=((?tT{7pEIir$C+|*Be;JK>`);Qa;NFP`8 zs^O~Kx(HCXRki3UG>OUh^{?DDiE>7=!6bx4Oy+QNPYrmDz1FHM)>>zfEHCh-z?v8-8kTBQPPZBV;qwQv(JUJzL_BkMsmon zjo?hVbO8lf%eD|Ac~pV8=`$kzN@4HK@){eEck`3VYu~YtSZI84lK;7f45;glQ~Bgc zI~5?{_$C8|C0y`9rGtTO(0XH37y z8T?Q-Y*?Z{eCv}09!CRQ;B^gjTLYmZgeQ%h6AM2B+$j$EWEq!LF0_ut8jbD}PrLVi zP%Z)32(oavrIZG)_=9c6{tXt+-f`yQcNaf>xz34pE&gw{$#x?}d>f0MOM_6_sun7m zxMCKH!q+u#RN7W4S?#7M40>{!zeeAvSbxUD^`>beuU=jTSUkKF@rs+%jzj6Tfn`;u zoMHn&z<^aFtK2qYeCpF)F5Pk*Pu{0uESon4!-W5Ju#XsB-gNOc5rJ5RKRsHgE8sK3 z#lx47yhxdvzNpy$YGh%6i9%v<>pA1Mkw$?Lp}%SDY35(?`7!kl=*lyEwNxj=NE3Fo zX!u>k^w~Y4!#OVLayMR6B2{4pcJilc7>>|V(bbhZc6I9eCim@UyyM_!)8kI@(1iwj zFy`n{M;f4MMWppRVWl2T(46qu#83Hycly^G?CODGt@5fzt^vXFk8vmwXG{1SY!RM? zU`#Bno@1r)9YH#&F*wYBwrqYmX5`@wmZfIZCQ6zPHcf zB2P&;h`^=cEC8O5u;P7`Rk2Y1BE_=w_vl9Tp)1Jg{KN?&2sxJgrlNn!ho zJmzmL+gMyO^Pa@LV1fUoOwVJgCE>B_&c(_81@!h`!pvyh!kftDT@tu~I;PWi>kVqk z`rBw2P=r$-cJKG}a3bwCI@LB^m-|)2J!L!1`BnB@sQiQ)zwxOX(jP)p2H)|H9(p09 zOqZ|~H^&*IHCf^;Yt}BDQXg;pfrg<{;$1yU4;b#a4FiG6#*7*=BbV`Z|Ndc!27K(* z|1K?Q<#0<6Ui|RGFMs-^BE(nxL$O);<3v1-vfGut;tmVCNTb3P@#54shqNYaiT{`z z#OHTt{7f?S_x*Lm*a=ghy&h-E)()P|d~K1~X#e3aTpH5Uo;e2<_?tPmXj13En5S`V zFL`R`PP+kS0&IYLtn;IW0YswM;Z*i(E%_&K7VN;t6W#m#Z>}puEViQ_pBj!OLaBBo z`^W9?ierYUkz9mS&5BjoE4KY3+4x`KU_KKAH)l5=q-^eI8s6OQ_+ek&?%Ah|vczpV zs(sVzN#}#RV(+5uQ+!OOc_lg>=S`0^A~G+TLs?>yioTXmB3s@?Pi4uIeDXYdxnlMa zWRgi;x%P6;!eE2-&j%Dezm5!`IXB@iu?G{De?ZYj-+8C18PzN}z6mn6pZnjko>sP( zPP~gqWkTal#qby$6eA$*^h8ssO~#xkZ)p@;Z@9a!*&>ksT^kQ*gEgn>@{6a9=bWNo zOYZ1$oV405^Q0^Sy7GJ$PIElgMi%<>b?QCocb6~S)cUaSfC?K|g*LGi?&ZmU>&q=7 zWT-}Bp+j6){LKLf7i2EtF19hJ+M%hlJ$bpa)lI>S*?HFl_hoTN1)8yCqSHTwBAMt9 zST4IUzq8nGjMGc+;7L1ObI@`j;Q{!FmO5C-;j*NKRL-j94Dom46d72`zEM#} zbOP@Zd5B_A*- z^}7U48l2A*e(J{XlVu4#Gm} zF?S6`U~emE?SDrTO#GV8;Z+D6ebUgpp(NO2D)%(;3C^+QD9hTMrYchJr`=8!52An3H}lQ8s!kr zyT{|bqV75Ffhygq^NEij4k#^=Nm_{NnJq^17hPJpuw__TQKjAHd7%@!NaxC#V?s;wMIv{^u^)%zls51=36`;q0VVJ5c7Kp=&iXL}+tZ`XkmT3qdf z7@JN(TWNGj@zoY+RWF<{kxXFx+evfrJ7Mt!Y%z9D=4LDthQ9|NE}75i(V%U00rQA6!&8zBPE)l3gMuW6GVFa~xPXk5y1Ts_^fyWhGjBK1^&B z1n~Hfv0qlOwq?fxm8lB$6UirwC=3^%#Pft1>UOSu@+T!objAQaO@n|Ktz^9FXUf*U z??L3@$tCLS?j?+D@+*VY{s3d|UIWn~5ut$GV30({l|cZ6S(Q2PkWP4)SZz5t7!PEe z>J<;;Q!Wgn&F~T8dC%M3aO4-KJ_KMWo<)p%WPT~sb={tc;Vw`C6DD|%4`E;w$vnD* z^a&i;Nka1+Xl%r4YU>kDPWoWte~CF^r| zGf&EC*MJVk=!)g)Ibt2QkqS>CJ|-fxA=08lt0RQyWR?YKaRUQbo2sN^O2Q5&M#E;j>UnA z-H9j8*Fz~s=z0wVjrFYwWxVozQmC7l5}{Mp3+wDVvLh~RpUe2cX8So%Rz&h;NehT| z!s~6)x@sKhY#6`$v}!m>FZ@zDrRQ8WCFatY&T9s4$hmOVdD0FQ(&;X%oi>}xQH*0c z2ds&p5=j&4QRJ{B@taB*v7%}Im3X`m$M7&k=nH%OVpq>lsTC7HAZYLmz1~!o5-$w364tao0xxER}#YXYuiWu zi%e|m0)Nij#uO$lt|FtO@D!1^^c2ZjDSWIv+Djils|c3QMR{r%@uk%M+MF+gOSt_m zWA_@yv6duh<=JFR5`7t5Ro-Yeh-7>mE4WcsR0|zXvq&3^@I=E91ak1akcEWdg>4HF z`}v?g?q$3iK6U2d3@6gjzZg3sx*i9#Y@u&hMw~z#hvoRmso^vm`Ai0NU9(xaCS0A2 zqs@uF>JpNXCwFGXDhX0OYl-g15Dp}TJ5@j1GxLM}%3kKVDL{M|>di;D#g z`v5rTitb-N)ndMAS|mie1fIr;812;BN8zTk!zJ7U*cJEEj6bL0!`o!fTNT`oR(F^h z5`B0rwsiUvcWsCEQCfZ0kTw*p^~}uJE*c0NwPOxae8^iIm7TF&3vSZH=y>?Dk;w)P zzD?Zb;wi@PKEG|h4dVZFGj0%-_xs`pIakBEB0Ufw^o(zBzWv(VG%?f?8k2Jj%^x4Wg06$5fx1`#bWDLH zP?*F|f^dL+*o_FhUnx@%`UKVWPR4yj0!Ow^nq#jr-mB>p>TF5rnY^H_yhje>f35Zf7j5;QDy#Erk{)_ypP zVJCjMKm--jHo}5QCBTF^H6?fXSAH6}$ZB^~o{y*lH3129M{75_Vz;7Lb#*3DzE)ki z8glAjN`X{ioAMp+1SM;~@nygtR49RAiMvmi^5}H8=8l0Dg*_S?xm>7F&U6cfO?yy7 z1Y64um!-E_x6CQ`?UB_08C6~UR8^!}>x;3$s^7x;S|~bI?#!ONPc=dfqiuO}Kum>c zwt@(}h!P6t8{3*1`bad-Jp@*{x3_Y1rlV~$uggSR{rxo#=GV zlnb65FHQWHuUw^XL7q3kh=`p|&{Jg@QlglGO&0-p#m0-mAzxSkIC=UwO||I*|9atE z2Iql9bU=miM_;e##PyH;XHBm>1!0Mkek?l4-`kyox+=ljK+-v#bVRK{i1v&-HPgxv zbaDDFpP3_bGD5bcevbvaGNyeT@~DM1x6_Kz`Ke4tbIqb5USTdT`HxwXO7VTk4=$6x z6j$ms-GossV!;mKWuAY#U_^T1cJ7I5TYlBv4BYj@%e{1vyLzXRTo^oDaeH?b&kjZM z=hgTB`w%1VDH`yIM`LX{vf5437qtc71zgigFqKQm3e=fSfF1CrFsO>LSo%{W82%%# z>ey_t(Ct$Btrk@~`}6_sd$p^3a^qKWYu^JUM#X=mJ1|d4OJs$en3ciAwgBG2V=CPh06_sU3u)bb? z$Ew=~-1TlQ!{dw@J zL2Hu$(IUjw)%BoHm(5Q)$@5WJF?;6k{_6Zn?RIWgxg}d1)R)^-2S$rQJhG$jvW{b@ zbAHp#`>E>H|7P3Y&XJP6>-z4aT{4$>R`lCAhA z3>Y-eZwK#MLE#-zUK-280%uP}SZ=>a$tODi`ie&2ub)^~HumQa5j(2}LNui5uq~CMupy<`ib7P$Mu})b)Z* zo;R^g<1N|jW_T_&*i8}muf&#(x9*nk(Ebs`r}X5IPZD2&$3G3R>CECaHe0Sabrt7Vm(-Uv=rg_2nN>yrf%1oPw1#kl!}H8& z`Bek%lC5A75gAT2;P~7o+vB<~akZwGQ}>UR!JI8r6QLJKGun?*^n&)q5=;2a>)s7q zN-G#4QB+h@RTWBKh`cX7C-d{S@7WpCm!8r3lZ!)7nabDf;dTu9t6Io^D;wLWvwCd7 zT4rn`gbxp((;k>Jb9w?CcogP}qIBlH%fK_sha|thX|$gI-t_V-K>9h@!ukzoSlN4+ z24=WCxWEp;ip&06Fh?p5rptRHqGpyEmHc)(d-5L{Q&fBu2^h+ELfEAC`beyhUo5+; zi)d;?4K|n%`4rZ@k1d%BU;MK6fs(cut#j=(nA%RFG7_S|Cw;FXMEgeS`*6kt$XFz^ z=09*M9(GIo7}W(A>afl0bCDt8WF?q79l$X{ipZ5c^w4yo!+tQT-(qdV_ZBmLSPVEy zME7>#N590>d>foOdiW7x-p8~^^*G?`B22)QkH?n#h@bo-zKCd*MZ${a(!$+XN$|!Z z8F7QHB1jZ5LBW(=(P<3o@6Y6dI|jEOQNb%C7MF`g^>1R#1J{>r%VksiaZ!vO9(~d` z(nN)k($9j?5T^1tQ=aaI3=4BaBF}DeBQvZo(WiEmhd>Jj!Xsng$i;oskOHez6alZ~ z53AZ;N4YvS1v{5_nsNF?>~8_Fa|Fodb0f?I@Vl)%;m(-RT&hD~;JclU<>$n#0IPTclP2fX#V0mF(scQMQB#Vmw>T_UC42 zPhDB8U>dMRyWzpMOdfaCWw;ybiPEWx=@EgiF!)}LDl>3~2uLeRCcJ>AT2`G|&n6U2 z*{lS~p8{wwO2qJfL4X(@?Boc9nt5xVoxHhz#@nMIN`Xpx7C)kA11m}?niNnV%Erl`b{EgXF3`U8r z%To0-o?xb!k-hXf^K4ko<}2kAzwEV9FXNXz&^_>js~%1L<_H?0rZ5lf4|6iC~4Wtj!#V7#?YU|K~W!Pf|C1IMb}98Xh;R+oQa_^53xAI=XkgDdi)k{e`{9eDQRo!LcqJ~ znHM*3d}AB^W!a{NMx7UbffPbgK1ArKEWH-KFz|X|XPUsrJa>ckt-SD$gxsw;`y8^wR?6_Z z9xvzRG=C%`)hZ~MyLL7l>F}kjcM1v9Z`f%Fw*d}RzbuQi-w{+BJd$QZo zluabyiSm|{u#F6)4mgp@A_@7xP%C#XQ@G{A{;FoRq~CnRMy#T+Bj;X;_j%W@57hvG zJHb@n%ttWQ}ZIfg$d% z3dSPBYPUEL6UQOzeXmSJ2?7N5S%6ncr~myWEalzw@wH^oK+4VC_t1l5txs`=kZCxl z-wzrp&^2+ziQ#%tGzVaq(aVT?mwOB5zS2ENT6S@E@@9SMZ3`=N=PmUjR;Gq_0SU6_ z)G3ON7x5!mIPaWE7HWBU@^=z~7)J@9@P>c_Ujm23Gz8)=LO~)Y=4mfYMi^I?Sm?&B z@<4o+S0A@NetUZ0a5IW#nL#v&h2)W@wE-z zGD%U~Q4<{yLKeESCr&n0Cmt(ZoD&iu-@}^~ z9Or(qrA2Y@QFRTrCJ!B#aS_E&X##kGc+cA}261jd-K^{fR#htgA)oZ53RT=|Qn~ui zKv@Y%a#An*fh7g6e02D|`sl}xs->##$MVZ(z>Ecxy7B@QP_P7I3g;IOPDl;4YrV=;}rsEBc2pD(}F+rxvBn~UcgRlL=ZTpOy!)#v?14qCf?>GA_ ziiCU_p;b5m;u@h0EDBgpbl7b=qyZsJm>7V70KA?B`Di&(vko5cG6ha)&{3p+?Z9bX z$3Z?{4cksuy>#{Q{(t{{8gb zN*fl;**9lwkgj)5*nH-Mw!}_3a}N`y7Da)vd|j8l?vFLVLswk#OneH85&yO$kx=h9 zz6(zue*P=Ie&#iik6qQw)aGl|o7L_1A?Df@uO^M=o9hlerQfha9AEO@hg&>)on3ae z>1y~KEz=?$Om~80edNi0+Z)^Nr}jCdjlB=TAsOOqye5H$gex5RQxQ7A)6F?36G(I= z$`z>>TA741#gd{5{{U44&3M~E6(kO#Hvi=IQtd_e9wiW^;=!|h#t7XTj51N#uz7QT zheX8%wI1_bLl<(JjU)t(?GGkpBLju`x%yd)h!O`DEVN5fpj&Y)%|>8+oS^_^W1Vtk z;lCeTwjZYgXs0C`5@7*Z^H1*=J>&cD*DWN{_RrP+O0NyZNhuiMJ<*PGEG0A*#+%!z z8&0ZJ)kEAndV1Q2yDza^dFr?ja~T-EAvT+^Ih;=DSUj%ttAlV}J=(Sv-dPz_G;9nS zZ;s8Ps7irg0>M-za=8H2dp2{6pLR($3qvDHhe@^G%E~FpEnToM#6;&j_by3>bL}Q*u3C{b z;JB*vqK+pkT1kK3L6ABN`Yl}hKH`1jWse)wj7+Afs#@(6X=IQ{m%A`d+iVRB=?az9dWO8h(TiB4Z_Jyu z2=yy$XA|y*u!fhAl`{V+t|Zt|)@;>!Wwi)V%u1PwBj3gA>Rt|5|f( zIQ=NhwN_ zf9A8kLwd3F3%pCd$}@9r@E(y$b*^hS*b(pv@c}Oi^<}VL2ppMlHQ9t*vxzRNn%!Af%e%0B5^hL@O`rV z^<7$-sEX<_ZP2?9>mMH1V(iqMKkAua!L<0CI-xZGnUgEw3As|4yHO3orsy0 zkH_Q|3v3si%%eas6sZLfXfg#}$P#uR++H;0)oatwjXZI7?j&ZS=Q7neKa_jkn`<5- zbr6=cW?}%rmF@Cmn@$c=1zj>}S3RkzfVTYSNaO63~~w|{c8Nqpu|U? zFg}o-_*Ve3AF96#yzpq9dFH@LY2ODokKIn*^5i&H62l;~FuxK0ja7bjxwDAy-yL-o z=s(C@_FNE8Ql|V7Z=K00S4K-vtYQ{T_#M9Tp!7Z^uezrmvZUqW;u~w-10k{!q8e_2 z6TeAtn#ygFdx(nVdKW)e-tgFNCML6-iqg;B=WfRokRfnISM*KeF=svB+)IEdgOi zdiJ%ifQ(kqxP`|zp`z1oUcsOz%%yrh9tYFE6f@{u-G}%t#zMck{8<(JR1siFZr5yn zyNPpoK^w&)`VepI|pE_7lGhw&@$v%xcO^_`&EJ?ORT!T}?g zs0`mb^_w7q{U4l%Ee(LJc;{VvZl!WYZs}RNLwH!t#?$Eg`X!FlNK{zA%+$s!&nFtb zUphpBE3uCOfLpKA1^qzo0Z-pYwudFI{t%!ySw3$#X(Fc}8M9eD%&tyHgHA)v8ufADIO42Z6 zlHlpE_f9VmoujXO`TOVF_9yCsYNtcD!2N8apfJR(wjlxMM_3fAa!7PX+A4aO#+Yf*-&$m6M?68JXFn0(q}%T#L|>WG8z-M z#c-*JS|oYZms~q1Da7V-dmRQ@awb~Ap+&a@Vaa(bm%o|H1!x=cM+eIFj#v>lWgCF( z#(C^j_wysE3%i)?AQ#Kw7K5iNW5IG9Nc{vs_`w;&m##voVG;0Chy^AI#?l=aIL{nC z^04h!IYnhn;Xe0fu{D4rx|a3AqtRs98jP!TJ6~&RzNa_gEP5}wa{u*V@OE!J`zdt4 z|JV)gvpbNQs=`7h^#QQhFgI&LMS4#zN1Rq^z}hp%RDb2y-Li4%C8pQ7E~NO{klBcX z!GzTAJlF&E$rfNJ>OdpzMvt!JvWaU0!`pHMQxnYtLxN+9069L&wtmyEk`IyXH6$VC zn-IW$YX-6~f)W25+h5J)>cGjbnZs>W zp?|Qv26rLXoVRa*^EwQceM|IM4aFcL39Dif$_(lD1^`~`2PI@sPnR*!jkl`z(8C3=U4@PxH11f?I$t zEYfF${)_E29JB0?L964$@uvgoGN1$IbELy;GMavb0`?{B67*(i(L6BYdmx3gqCcK= zzD3*KxnPz3g=l~R>EA~fjuX?^CV~9g(-Xu5JBIGi=uhDu6}ar6r5V9MiSdO%*rH9B zHQz(nq5@Pw|1-RmAcsnd28Lnm5A@&oPvAd+{{;RM_)p+Jf&T>l6ZlWyKY{-Q{uB65 P;6H)?4*^j*5taV|kPZVF literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso new file mode 100644 index 0000000000000000000000000000000000000000..a5f172c259da7b4a31d31a564fdd6ea67525968b GIT binary patch literal 43304 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

    s zeFT+SscrW1O1?T9R;9prU6oH@b~J{0Z45((JKflx+FhM}AhEIJinZePS5+&ns+6i) ztJzvu$AQk7Mh`eNe%wr|^Uaafw`f291ZhVUwz1&quc|cNj%S)#>ASO4U{u1iXzgEv zHO~gzXw)2=`Wv-6_htqwpR1%+v7mjALrBe5u%XckKA5eb__;zU-q$nEnP8#)ylTF} z>SV2b&R~Z)v(~^o#Wv2{1uiKuUW^vw-tv_Dn zZwmG^xPA*v0>{iZu|K7^OXgk(YP~7sPRC}(xmj=7dIFEbw+0>>)Y8e-CRU8*A%>g$ zzVzhOd^e4Jj#2xTQJ(_%Zh$8JUo69Zr|Nl}xdYOIn@3RIy&Xks-%t9*D+_7JyHDhL zy!Q+l_|$E0nJga4WD9sc12JuqE(wQ%h+cZ2B66O<>tR ze^lFn&ZS+SHhf6llzljh@$P@U`(ND1F?0j|Y}##e*qG9kKUB+Jv|F9K)d1vtb~W8rZdKLw{mm{lLaeJ2noa zdiw@8_3qrZansJ!rVTw~#eC01u9(9M=Rlq%ljpR_6Yobf&!Rb)pm;FDJZ*1aR@vFn zQJZHbGcZ1G^BmhakTH2?(;GKsGyXh_jdz~jyOtY%kO-Ag_5ap?*T!RC`&S;z@SXzY zxj)=OCZ0j$w=mTG_Q${8H-M9V7qKt+Rh3JwW6NdC3|%gb+3ZkPL(J_Yy^>k5WnBhhdy(Y(6tYX_hs zwk}jY&rA71_`anH3=A(qE@b7(Pb@whyR*3^Qa%;yYi^1-vFm|6(HUF3I2Vn?RyMas z+M2^4x9~3%F9v%RIQIay#XbS*bZiI-2V-~Px_k~vS|b@;c9v zbFmxo_sQKxEIyCeeHF3tnVNEYjk@Kq2!q`xr^;P8I-{n$x?@}EuIR0?yOH>|*dAm#6umyS#W-$HBo$o}`y|v|8|x+~wh5F- zYy~{&01tW++E6*JuFbJD$~zQ$1bXiE@B>fni&;cKAU=>B%V{4(>iEWOgOyMKoEsd=MtzWaLS!dA= zu}`1|J0N{WY!jqAqc^}vQ+uZGx1nvfh`lF6pO`1GPr1A5nG%%SlQ(`=`XK0iXb-Ho7V#d{fI5Hhm+dX%i!IkS$?|YVI2Sp! z=zEcgXr}2qu>;Z#Uvxti+qT=MsvbMfp9#3Oj4VqDA2o!eJLE4T%VO#NGSVlO&N5c= zuYQ$sDFgiZKX39!{rc=;{+6Ed(V4%cv#nL~|MAMte0ZK+NIJv*@-rVx_m`jkvUHZ8 zectuIeS{CHc!lPD_73%FTSsTl(deI~8NTQ=M!?a0Z^J1H}^rnCfmX0Pb1+2*rU~HX$KX`9s*5seV zdanF@j7z$5Id-DC4XZRPf!aDUSao*B4uqb_G%v-X^PyM{i<-{ZQ7mzm#q#*u7Q5Lj zbb4ZkOsW$29kFBJv~tDR*3pSPx1-$r%>Sfpsq9n1u4=Oj@>n`Ilf@VCmk73;EdNO} zH?-mY#~p)`CarF=TaX^NO|%$2Wus>eY;@O2*-L1!_3P?*6#(OBz!u&6cL_~ynOr?N zV@q7vPQr5k(x?O8DqzOjo*p3^QZ8(m95)p4~a?7_j++-^QHL@v`CqtP4Mn^=f(anV%P|+uUN-ZM@3Q z)Mx2_KO6t6JpKIR*6sIsC<@xsVd(JJt)=_(WZhbNux?++fK=62Pn~)%b^Eia4^Z7c zYv$|Pb?fH^>(gKRX`8~R!q7}^f!x$7WZ2O}v?aOGp1I?9o$-ZFe zO+GsPW$7(GI-ki|I-dt{EULt2c?+~vh@6GmLtnix@z?)$%l^>Nz^-q8Ves)oB5#6z z7CvO)x!61hnPC74&VYU%*RP3`70UM%S19i&u23ALqr5`%tb%yTrJH9B#50PYRC$H+ zjN%H-Iq{Ugpz^OOU!ic0Ctsm-E3Qy>E3QyD4^v*DS!)nK>C)wl@)er%-N`?z{0qug zXzsbme?|GcuO+S!cOWjVP?~T*NWMaeE3QydiYt@@iYqktr%ccLR6ujTNSybL#9vf- zh4Q-M3WX1uD6deu6;~)p#TA-oAC%`a5bB>*zCt;xxI($0xI+29;tJ($#T7~$mfh5^ zP}&t&C>@F`l%(Pc<)GpUWm<8C=6;s?d0$KW&naJ_ysWrFb0121-j7m#Io34970MRH z6`C~+`CQ9TepdMk<&5GAAbhVt_M9Z(#sS%@o?l;R47_uJ$vl&2I|D9X{}d4=+V;tJ&z#TCk1 ziYt_M%&APTP!ftO#4~r7uTXM|E0j};D>UmF>f^cwP+nHPLU~7Vg|Z53G|DTKZp9Uv zH5vI_n^E7i@)gP{#TCl86;~*H4#V^c<#ojs$||g%O#UvELB$oye#I5aNyQb)Gm0ye z3yLe07Zg`0FDkB3UQ=A5wBY`m_9&DN#TAO9xI*bvT%jZtS7@FGQ6HZR0h(tv#LJ4G zRe6Q-qT&kWb;T8$wcY!dLOGzgLJ8w^{4jnEpaC0xXtaYyKe*b)0p5ew z`iEm;FC^KOPgL_Visco4DPb(6~Mg-kz%5%7q|Tpt8{6!Dvg ze}wo7Vhip)yAg*Grx8yhewYGwdM#s-_@2L2R$WKGu`ZTKOFN%?ti<(lz?-Dwx+LUq zD`z4|B1v&~OXJtbn0BS62HNBNQ_4IX5}*-pYc;C*p2WWJ+Sz1dU?LHaqO+|BcFk^;uJ{M^F^HF#Bfq$ z3*c!I5LU@PgpdL^1+GvG4Fl4oUE_KFPNyFtd@hiwGmq?H zBTn@>Bpw-GN;S?r!Z8STAE|flj9EWc7`<-G^3Eb^oO$Fs5y(1k&cO_gGmm)umbTU$N6-8fPB; z7!_s@XmISDT(tompUqd!9lb{`Upckna!&4QoOx9GV4jPz z(6dnd=Y*h5xF_T_&OExRYZZ5RjWdrfF%xk73mj!*KPJL7GVht6)sJ7Uz_N^%!KwGK-1-o$(a&OE{vO1y!oedY=G2=SfO2O;?1 z|M8vHQ!r|A;Qb%pk2CW9Uk4(?3JI+sY(X0L$qUa6lQ&i?ojUiu-s9@% zx;G|JltH}Q{u~A^j$1Zfr`Nx%aINzHSn*FO{*dDTu5g3G#}r0Y?rRD`E+bx6a2AqU ze~Wq{qV;4j^jvO0sq2TI)LdZ7!3_-a24@~_($5QOnlGV0UDY+VYMXDBIsp@iTM&06 z?ngX~m_wXJGfzVobTOVguQst{zM=txBK`P zLL5OZUi99(=!0U)QO|1CQx3awBlsl@_bBvg{%Pg=ehb8;zd_TVQ-0;gK16PX{+qzR zMt`-IIqYaR)dA zo`cwpSVpvgH+|PzM4?^W@H=A1owhxRFiu8%nTtq-IKB%C$*O;FG54=I)Nv|5l?A%? z4}0F2Usu@FE49#WYG9uH4w%8x2)P&1Z53DMSX+Cpt|^Z#lr@qDUcA_*!#l6Zxgvq% zzk~P=;!E)3mtiaSzB4?EGl9#1JioR7&4_y2LkbC6}*I1hR5UrizszY}pABKsoS z3j1ac;yT0xVlQGJ;(Ek>MBXP1AZ|qDKIBb^D-pT&z-O1H594z~?2i?}XLZ=WDuQNY zwy3h7qxuEMZAv(}@A$@^>C7l4{~sf=zaIbq literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso.pdb new file mode 100644 index 00000000..885e3a20 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.56DD6FF54063679C76D12691EA79ED95.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7fe9b34503191c182cb7b72df2dc12b9b04a92608fcf38975f62c89bfa781f1f +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6421B04960935975A09996C65CF0A478.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6421B04960935975A09996C65CF0A478.cso new file mode 100644 index 0000000000000000000000000000000000000000..e59bd8856886c66935a1f6f8c8c19e3e7a12a325 GIT binary patch literal 43456 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 P0{;p8e+Y=k3M>B)NZwq= literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6ABEABA3444031DF1A478CE27CADC998.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6ABEABA3444031DF1A478CE27CADC998.cso new file mode 100644 index 0000000000000000000000000000000000000000..eadc01508d0be28721921fd2a5a81580561373ab GIT binary patch literal 34784 zcmeHQeQ;dWb-%kSgjUuX+u#q3fCmU?Wy|ueB;yZkkgc_`f{hhRc3t9(z0y9}0$Ho< zu8d58%EScHaWhFnGD$Er{GPX0=9 zf4}?AdHeQhSGGew3f^m9-FMG9_uO;Nz4zSv-n;j0X8+c{%{M)E+ovAC@E@%YzxCa( z?%%c`VvKq9Nn@@?x(P9Zi?fK!nv7{$Xw0*S&jY_Fvu!(xVxV~qh2lbQu6pZ2F!K)jmf(uYtTB5bi7mltBHc!fPM0^QA^n*p7+Q4c#eg0_RE`vL#>CD7$ScN%nX z6*fFlgWqYu|LhXz{sMF_fKJplXKV1=H|9PxP{==EM#uBnQqOdcdG5IwJX3=$DZ+%3 zKLAsfGqzy=#4($Z)WY@_-NI0Q=Z^ag;!vL1@{k#uIP8_qjy!l@zHl@x#phF-oP!a=m>B9JXIhiogMXU3f@9g&jvZ=D()bqhPkj*ekCS|z*6d|;p&p#VM< zYcgLb(N&lo*@>K+n{bQ51x)C{BluSefgu4W8=6;r#jQ-x&Fa>?kk}d&MWNq z1Be<3V~FA6cfCtP6=@TVuE1HAFxoeQi=l1%`*!c%lQDz)4(@XcC3m{tUiVwCJmMnv z+-}s(`dEhL*CT4sy6LyK2$1{tHwl%8g+DK$D3; z{)X)zb5IKN0HWr}i&67de&j#TswO?pqSvI;Ytrd8WzuW5v0kH#n1kTcwZP+Z2r?|f zwdxDo#oly0++pB&9YGn!BQOis7VTJKED{gbEM+6Tp3S~s%t!wrYGywC+3U@%N+W3_ zWM}=|D6hEXf@67OX6^>>rmX^7KI2%qh^fZ^aiLoo;7>Vk!_rA{LHW2w+9vd|7e9;72aC=0UYCXgzwS?Xpzq^(w7akLfNZJp>sdc~=& zytI-J+l6fzl!JN7p*WR;DRDtLf;7ab92f__9x8{H--$j$7z4&)jB-`ekNBWmG33=g z#Hn1$D=3$?gW^=KU7{ClMcJ=Hsx*+f>4$(3*C@Egk2=U1(~8)IDt)}bZv>pQEVFOE zmnt9fR$PeByn^uG{GDL*&hfXc60H%##mkHO)YruuZjo(y@L9rH8HNtBy+=J$*Fz`K6B|wx}cuS2jx|nR>VD-R9@d1aiSfl91e$6~|j0bU6c9DbQLE7W$ZwQR#7?clfX3wR3nJDE|WZ2FJliVqQHQ2hE6gNS|Q&XfOVRg5t>|+KWG-Kt4+mDMwIV((haB z)fLu-bv0tXV`vQMf^3-wY-I7!ojwr!o8E*jy#8XdhtoNqFxH`Xh1>FC*X`g}i;nX6 z{a5G!^6S&G%9pxPU)IO4?<$c;%F<>!_eXn4F>`k?qHMFS2gsWt+KWFP-QO$iU9jum z(3YX6fw>2fb0q`&!tIF6Qzzz`)(Z1N2+BVfeTckfc5ooG)f_W{1!>=!zE!K7U4z@5 zb)BhHqIr2{kfmW@+W1byCaD`lgJqMA`(-~+F zrd)#%R}b%Q3vfMA4_B@Qp6*OXKKx^6luNrumS%gK|2uK-r-r`$$_BnTK(=yQM8+zWG?hEc#i@d@~g_ zx&MurCoaUyd;c|R4*yBS{OMa!^V(Nq=Fu-j%`2aX;eBM(tp9Apw0%Ene)3nwto=*O zK;CWiJ7>_mizF?U3R5E`XHeb+O-xRenm;6CzRMYMr~C4F-Bm=7(ziM(xP+;(iISs5 z@Lmh(!22X6@ZTxrJiMRJ+}Zr-oz2b7m6h+FDoO3*V-s$+;CPP587*WF_vOd)g^&<} z_QcRV3|>w8*2$}9WZ1svbOv>c0*DIk;jv=LEhL9i?Y_cwUzi-}x^jIXxk0bp zE<5|_8}Hea5BoEvQ+^vBChN9-7+rts@shhGmn-0nx%Up<3GK-V_Rvxayl0ot9<%Q&FV5YLW8ZpbFxis>J2pLlwkpLENlk)}M*FnJ7p$oDPgz zC$L4}{pk_l-gUv!h=?ywxwODCD`a8lm?_6~K2Nk9Z%2^9D& zAmQ!p?GCK^XtNc!%W)37rGtfRZfvTUv`SBA3#GAECz&jZ;e*ivWhq?emd#Ge zx!a0^2280`kjs-;w4z|yq6H19hKFG3R_8j)4e#Jb4RmN<0bf%ioOl2_+i_qWoIU^^_zc{qm|K8GJ$r6 z9x`kWP5#HK@Z{LX__a$tulTMk);6{73owOqwO4%tuUOjImG@Y1Pcr0pD(+hBd?bon za(|{JX_ZBIxvN|9vRebaci+|RzuvElT3B4$AnDb?H{Poj$4pWsjk_jy4JEp`L7fV@J(5Y@?TQa5YiWz-7~yC z^qQ)pyzVQT$eW9Ny+a)ugRgA1z&*-QcG>WqtkyESzlv4u9d4k{YXLcOV7IXecQU$ z^=--YZP>8BbEKH>JThJ!#|wv0oh4i6q^%Rr$E41pJtR>)kYkvqqEt9;IJwXg*wc;Ezs9^I z?*ZGIn8TS~q)mXG!*#@*w&b1Wu7%jfk8{D^q+$u@__M?eER5KlObx=v1!0OTo5yfw#I0z zH<4;=inS(IG&Z!fK6$9g#MdY8iOig9ye4Miw2D~(3ICkHao{3+RgKJ4aR{} zjF?BRX5Hk4?eGZY)#w~-EGo#W!SbSn#(XTYYaw2>n-{<@qHQp9qOmb{Ah8NIojH~0 zYHWx(iR+O$(Uh1sZ#*7LbT>A~S`te^b>ccSKx?9jf6)x{K-B<(yOFje-V5ktVkgS4 zPuz*?nHNy9A(rz>HdK_1&&!}((>yk26qronT2#`IxEGbQCN=_+1lNX^nUA-kC+tZa zikxs7i|7d(5+e}r5%hu;iO2Bw=0rOxZ;LNaq$xPqRfyhYMPE`&^p3=4iXOi;aTj>p zmgq;tJLA_UHd!V5W10B;#J%8pO`?OC#0EfOVj|1*Vp=VtR`FKY271Nclh{Db;x{Dj z@^oXrO`si`jNV1g-LhW0a(88edET~bu900s;T)q1S0BLs$uX*M`hYu7uXh9?^eAuc z>T%wz+(%!w^`E;c6X}SYiJpnF-&3C!tB*cXn496PmY=6jD>`Vz%rrRW^=LBIW+r18 z2Pm#I)U6s#TY!doR-;LRMr}mfoko=rb22gzfRn$%hXQc&RQP_tXX%&*aE_qzv)=Vq z$6N#IinYWtW(Yc_P*!OuLp7S701f4-M#KHsK^+^g5jSEsMS25p@>h5!04Gm{?*N?r z!|Rt7PnUq1J81o^=OwFaM@9XtN8!QxX&Z%C)?fKJYwp_1`m_EwZ2cLW87{+FzrurU z%=#6sZS3i!myj56&BuN8ubl8-2TbcPJIln&uXvqV3W+R~bX zcWz7UkDPe9aUmx1qwu1O5_!0~mc-4VZHsp%4qECGu3HnwfN7>LZE0=W3SD^|>?yMe zYdn4VDlbHjWyhynoP@eaP~EKEF|TnA%C!u~Xs<0RFHbLt4;&iWW61KEv3yp7kLM@d zi*V4k_IPlP#ZI-5ETZE@IC(mGd|tAAlGYDK&3y~CZJtfwps=>h%t=`K@uXcv(1m?I~P?VEXqNT%89~U>5 z=EsBWz`ldse)* zkIw;$WBbfXnFF4OkHL|0Zw|nn0oLPBcA$sE6Y0p4Zy*PH`f(olg&(ij*MNcC4$2uAo#PlREBb=MuM5E07ZkoM0O!4@!f9oWgK}&%{{tB5Ir0`nmhJeS`^hgq z@U7Rr@zjy;f90z`Fy>9b&%(A0{1y$rJ;LxY#1{cShxBiZnUU1IDtSo_@41MV)ZWiA z?|5+gttRGsC7%;|NzGG|m(;G^NzXMrQp2@3^OBl3BrmCH!Ms7dq=xem^OD**j(N^? zNX@k1B{fe=UQ)w(i1d=0S0pc~c~$a~njcACQiGd(TV7JrA$ds+eJJ@$YUm4@m(-k+ zyrg!{Af9svQuB)7CAGetc+=qFc~8K+q;~zxJlD}Ize(_tnjMmt)Qn4BQuCDLB{k1T zUQ)Z3C4a7I$)9UW<|Q>Pxc^{YQp4|DF)yhZlDwp5Qu30TlaiOz-k-2M?^BSPGlG}Y zeh-cK*96~yKFqwNCMkJIO-AyP8u}~JOKMI^UQ+v=B;rqdaOffFjiA0zVFAHxR_d5_1i0Z~2^V(txHa}B`2wQ|Z{89XC3rU#L$ zhDQ)jBYq9>M~K&9KI%anLM$QH!@JJ{i_j%;04d2J5dc`Z1*PP?G*4n zhxq1sg}0dU{vz_Z)m%j`zKcBwBgN{@dltxaX9jm<_V{~a zs&R9SIaF`|YL=gChk#%3;pLMzgAO$ ze_irZl1Fw1@ofd?Vx>tSzfo~9(qA(kTGtN0Vpm?fB4YUBYR=#Qdr1<7IkDhn2kyP( z-n}-&6yhet9f(7ShY-gRrx8yg*2AyQ0*lP;3(1{!j>w73o6P$bUXS^f^S%BwfPNyF zkQD*^*$6$zg$w>HFZZjYBcJ8M=Y^<8SN@C%-|fF|;f=swEnl4{Md&fQt*cBEv6Q-U z(k~yfu1a1}OBeje8)+zanODrxgx~j&j&hgj8Z2G;BX?o^RbE}?UqZFzZ?<}K_ zzC&f@a4bHG5$EA&f0Kif{Q3jLs2M03=Z2aDb;LW~0&{);{WP>&vvX|XLHk3#YbLTs z-J)4jER3u<;_^2uhsX0H4|;%6{B&h;&2Qmb4xF*DE!D0`HX>!9L*s1}KOjOJ1GdcC zy+oc*GxhJ+TdR29>7jVqe)l0^norF)FFtb(?f`cJ?;v&{&LC>wP2csJkyIBs++Xi_ z)3;9%#mV?H;$$|VQIu8*?4kaN{Dcd@>c8zgulVY`qPAVhg}#YANY^AQ5`{74UKp+I zxA9pM{jQ4DN0p+$6wV7Rfoo!ZD}hbpApQdJ9PIccWIcmxhA&~!KZBIt@94l{?G&zg z|DQyB7PRae&w!qLmU<9xL%bD{_W+%U*CKNK-Hx~d@jZwvi{CfJHy^y;EhLZChy$F%_BkYU#{W`mjWS?A)cmpD3yb%$6rir4k7TcB=%x&`VMs9WF)wm|>R%za#gab+}eN7qRA lx^-@@+s&mntlyCB8BL9hq`QXKu1{^~>DtganHwhM{{bK+gXZH#SN!re&3C(0Wq{DQWDft7H)p`}XbI|KGQ}O6=RZ?V~-f9q<3-t;?^9>>XUb{nDY&6L>fUzoJDXwoK$S{EJVD+?m)uOr{8UUO}W*<(G@zIum-NB;Rc&PfrhJ ztbq66WALls+u`ZflYtUW&w@)R8bS2smYvd&1AFVxnw?NLf{S%qcep=+mK2z zIfX=@efC-A^AhOW1?5grL3PX@v+xRxvdAIB+@5IpIh)$kcO1jWJ^ zfFDAbo~|C>--53M`Vc%_J-)Aj?-b}m@O1U~z6CyJXoyU3_4vLAzM-?=dj))@v*7y? z^;5p^Jn5dHeqa~^psT0fLX^kQS@2yAz7qIYMgY>!$_;1B!NPsOA3qDe6!=bn4_$?E zAFCtp1n|$C1>YZn?fw}Yl3%8O;;kuGO6@l zG`?J3m1BDfLATI6x~)b&6Y1&VA&q(W)|tu4bbcgrID-ahGTB>}0|V7@dB~w!)46<+ zU4`sOPNmYRsdPc5KnQ#A5dPJ3&qGE#J7_ptPgZEy)(;C4`Q*_%)A!G$3q?ru^H@(Z z^Z10yVfoUXs3Z3@@Z_=epdR1OsZ?entv#Tmj^^?y#JY6e{Cys>$BOxM^04-@5R#si zU73k|u8^B7da*k@y&WTCBi`7dWGbEaw&e~_XR>(ciFfzNvpdIbyS<21IIghXkHT9= z99;wtzv@2(=Sh?5qfqv z(q?*$!}x>n*4eb#Z*Nf~}5x=@e<}H8mIW42>He@@-~q1UC7S$fy1;ETvC;?sD0x z{B1TK@){C$Bh58_q8>Z3KKq7xK52JQEL(Mimf;4?i%YY%^5NU-!L+EywW`NTN1tjvdQ~^eGpu@`OIv6Md9=$@O@4Y$9rH?C z3`yi_KuEcm^@r&XhkafP6CxK`n$?&2vNC^mNoBlVk%gqO&Ms?SWYS^U;USUd{{F@d z)&nKbgFvXamB~JedNK}mpd83-voft-dT`ZC}u1%^hfc_`cO@e87{valTLdRQm3}>UbhK$GW`nsVAf?LPfn_Imdl#b3)Rr&8@8osViyL=8RWuQ}S6^^VyAju09N-zc>8@pWSw< zqA73;I{agA3Xg^U1d5+Ryf{wp?uPzRqnzdN)p;cU-pl;7+&nV>OpEIQIya99mhGf@BtPpD^Z$m{yP%A8 zO+-4=uyngt0=nGKE%fEo;-fx6*(x7UL3+cAvvQd?=9lTweYs8ZqI|TOT^ogm$WcNc zTK0(BX4gxUO&1=*kI(ZrmiHFeb!^X;J$U6ST<3C4MaQ~vJ3Q+h^UgX(SkEn}B2a(& z^L1mRiLLUmI1Bb|>$a^~m z?fU9dgIi{o41Xc}Ute$e=2fe0&Pmg$pGC>{@93*W1+>P)d&dI&?CbGkC%@f#H+lRH zn=|_+ViWQ1+0L8WTJ6_i!&b%8U&T^G%3u|Xek-mL)YDs=t%ks!fhyMEi*uFC-s%hl zAEc`ptFsa8>Co@h)%?|Y8m;(xUB%s3owe$(-PQaR`SZ%3!mIfDE3)S~U%smudmMxH zdKI6=XFd^}hh2@p6N8~%7 z56eSe3CoubMr8HRM1Jy*5n1)`VR;xI57++@Mj?MG{oZLf7l@{XVt!_#=#A;O@~P>W zV%tZx&G&kH(zDxg*bY!Yjj~_80Ti9ZnBI~~<*}p4-=pMJ?OAkdXfY1ib7R;VZ+9+MMCqv+rDES>1%Gc%{)(NE75sfQ z`OAAJE13IhGM9H(RxqyzbDM3k!8pv#mM+_PkJD;BX9LxTdhRie-b$#uL9;?yuaRbY zwTjJ9wkMmr(@A@1by1cmmzq8ABhB06iUx`%w93=6bot+-6`cRuux7YIyri=IH zlc~&1A!af?oy-?A6ItwzQUwj8m-aW(dYiqT?)W5o?6%ek?r`-?tTYIoQ|8?xxnwFf zrz$Ht7W3ws(d+b9d;OgNYrI&jtVV!F36!-+d)I9C;@+)B9TZ?Z(8?M#SumQ%=BU++ z)ZJab-aF9>y7pSlIz5C`HB<(e=14A+^6tzPlg0F&q8sCE zW>PElkdONd3o)aBH6Dw^>2x7IGwH=rxnj&l?6QXL>GW>#nBDZ+!AZ2m)>g{`*;8gi zDr!j(4<>0%XA9}J){lbKulhlrk08oglf%^>6EixQ{IE9r8C&h^VMt^p1+}(klD%A= z#GM=-VWCtpuC*FNw}*m4E+d1g=ueD-F0^i+6x2PP1p4zZ^jQ8wm*3dSZPQjSrza?2 zqi*tGdS{9yRHKzc)hgp*lW8_Jnkz6u-A3CN^T1NEcfZ_jgEVc6tm;BgDf%pl-JjcY zrSe8qPGw!a(7GmO@_Dq}M4pN{AYI0{g>Q5Z7OBIrbU1hX$}U z`hjUS2|wx$p10vHcFh%Ppo8{1XYe^abwvq45!-~c=;PE_aU3Q1pY^wj%`~EVY)Bb9 zW_8NHS;wsIU=;vqg`=6`#33(Ml_RvIk1`j@LK@BMF7GD4#mrHyAEQ7}Bkkh4^F#4_ zx@WsE^3@>q)F<`UC-s5U>1ki%wsGG=_0@Qwz8dvNP@^6RYCK@oKy$Ae9Lfb6^iL=> z+mg}DD%yVBTfJH9MfWU9qMWNT{sH30u`ByNJg_6s66p;}#I5e=ppWp)kKYPSov3e^ zqxB6_j|9WiBf&67tzqVNtWfH%X-+Ti_l+~o>pKJSrI#jNWbyAZb)w5HON$(d{s^M#6W3#}pOqcFU!wd>F7CNe(0Etj9d zsiMtx+{7?hp2Kv{LcOvehrp4ts<|C8$Ax}HC#GiB39&(AUE|rr*bD09xV!4@4h(f9SkM3VOb>mK6(t3at*qW&l ze*ZvcVSfT#2kmrNE8N!ZBj`oD2eu4v7>I8f*uHW5K!0C+U}Iuy-}=P*M0{XtVqoi* zjolN4T=$`DA&U==RcRJYn$sptydT#z3+51MVSkEg+Pcf6(zD~^nr3nmX(k8K8`FN8 zsqwz`sr9M&z<6q4Jn5uaXngYu-kx9aAMsELMgPN#qk~62^F1D+Jts$g?hm$*k!Rp} z?!d_Y>g!j2Wra`YK4{V!?w7{`+>gFhHZ5Mn0t~gG9NXnbTP-}>$~vUzccEqa*m z#3VjD7$1zsdxWSx$vj?T$&tdn>+g*l%=W2b{sG|_LQAZcMT-glc?o}U&LdieI6@$& z5e&%*!`>~oEXENI?5Fp~4xh9B?=l%(95Oo@n^cZ3-Qs!IfiFK1r7bMJ#ldrHg2lHx zcn^5$!=tRw$A4W4+d z>rXuGY4NsviKjg+-sYEh+SB5h-(HmO5Cuwk8f1d={LprOkJlu;7$_vi+nEMs;V36u zdEz;b7(;Spv5khHA!U6yylZhB9q%_#4mfh;mqTy!lJ=NHOOG^1BZs1EVA|3X(cb2! zh!?#afk#@R3l?NsBhlr}iz4kP0596YUlhXvkefic6|fzJ6plytx?>wt=3FUWwmFcNn(VJZ!tlY^5i`*Sa8q^jj9NQiMTEL@z~> zP0-4snCHzUypA@@e3=)&j*#90;H8hNxU+QH~F0$|y6XD^`j zn&>S?gAYi zrk>6&U{$wx_B$4D`!%*V_B$5Oer*8h`p2rOzA((6yj<(FxtC1(FSVTvJs*0l>7~%~ zE#D5YZ)Bc$G_6JK+s^rgt~N6LJgvYMwUB(VZ53|qiiP8mV;99yDOSmotxe)VjOArM z=i^=F@G|f7@y5Vw?MJ(wKnE6*l8icdrf2bc96V)P{6664x7A;j`hm-%@69bW1;AMYS|-MlxU7(zI?H{{@%p2a5|JY`$_ z4&Yg*{JLE6788{DolT$VJa25!6&gYmi)T6(@1}3sfbv(SU-@Q!{?yCqF#Vqxd5Ma$ zXZjZJmOazAc$WS7=AY@jVC=stJOp_*|4hf?-TYHui)a4JeTjV|4CFk{l^?@Fl#mp| z)pg$D-F#C|i~mLBoB3FQgPS24i3~wss~6L;csJj)hsB?7zK@x7U!Ie1i?7bN#oM;- z*LVBIavozl`J(+B+HZAI~$jsxO zGu#$W9W1_D2aBf;dCX7QCKI@aiR%P2KP{D-mvUlsKPI1#ERAxQPDO!iX)l#lVK#A3 zbQ-e>P9;`F_xU`BF+?wk<}ft2N3RAy=M?)mn~2_z=S!mnP}-s&Z|_*e_0uhjc_jLA z*;M{qj~%9FkJpi8b|(GyCuVIvng5qDuj4w5&f=MWi)a4XriREMx(CTT*Z=Y5U|@ut z14e$yFt3Ijf4oiCkE|3|#wH^JnTHF@?TepMyDx=fh%QT``JY`#a z(ZN$ki=PGFEzh4|B~wwJkDof1^8D1Xcey-QI&-*JO`rNo=tL+c2ar!oV_CQ~maC=F zW-hI|Y#+w~{Se-Expt;Ji+AlzSr$(_ztgh)IWK=eeR9*JY>Ri(WZ7E0E!)-FR!?K? zh$~U-+L81ACq~c^Td}zM^df|yBl|X91%bY;V&mbtbZ@r)QI`{@Z|~r%gP>m0UKYR9 z!81=5zrw-uorJ}6q+)$7`)2tmaO7uiwKPAaSbb!r!}n5%(*F_<2=*jT$f>m z(%$5U6-vK`70MnBE0k#sD-_-I*Q>FK3;gwF2f3i_ti42(5yWeZo-@yP&^-& z6v`$IE0iG(E0hrpE0k#sE0iZRtWZv9SfQDF8~uE|ysUJE(u8r%=;uQ-XJ(jlXX=|! zx z3MH#yg=WlUe2%@8cT(vJqCiaSfT9GutF(mSfLqP8J}Y;GmS!WhX%ObA(mgAZ4bgq()%Z9**sjl%ri42KD9Zvi!m2ZhGGx4tlFHrP`_iCjx z9^YS4CddtUjuu$(4?Vp9(HQnx*zrkNu?@FCv7FD~9tXO|)ni&J$BBSjCRdpHK%=+# z)u31Y`;FI!C9))X8R9_}dJKD*NQh&3w}`(}%>Q!%Z@g~t?NZ)GN;%icMU)csNtCuo z+-nNtb*lq)U8Gf!aeGw3t=Ee4DOwY6F>CTRYXe;Dl-^e{5 ztb0aB)IPSCi-B8?YKZGW4Q&X#Y)eZJk9;;B?NH{A2(O^Dc_ClBpO-%B#WdJ9DTmLD z>p%PLmSN&)Z`*G9E}HF@SDsp(DTAKr@_i!pTmtxmf5MyQ7sImc8zH&v&qMO?7amnTRVyxh$W1sdo=cK6Rp5vX~+)=T=7Ds=} zH&xhOJm9h2#+?U^I}dpC zLF3MY@|_d@>eYUhsJin2o0iNMlp^4(@c80Y;rJEg+@1UVhu<`gLBxWp??3#eOV95= z9q@F^B(#i>=W~6v*`Ve1m5S%#ud2m(5N9!H<&E;?IF|xnb?*@N;ri(;1Fd2MD!v&q z{f0X~3ncmyV>=Re276#@N%KSwG|Io0W#0QZ{=J`-t?OQ&Mpn3gxE0+BdzQ~Amq&)H$?qS>>*3NQ}834RCs9{2D_WAMk} zxv!|<&ffw{iP>1^UJMSId|})rUBv zYndlxIPC<>-keWeD`kZZU&V#tb9f?#r{Z(5=DD0+li?{}k?!ZYOuxuaC!I}C6f?M3 z-KTpd&+ICEn>p7IoBUj3=wY-@wP_JIz8>Cf{%TLb-&ljVXXhZQuA_904RskBg!jA! z=KK3!Cy={!BbllD_}3R?-Bj{$x*+Qc`H6Lh(#cdhKc3A^+~*@EGud=u-Mes?7e^=@ zCoyxBn*iz9p>ef@;{%2UAUFbpHg5YgY5e^%8U>DR{Ag>Bx%Vq7ZBHzeKYRKTtN^(` z*n{taFTq>KMIWzk@Eo1z57z-XEUofw-W3E_#JLK~>tn%j*xrdY-;buwRZMiJ(C}sDJo3meAn(glk%=O_WvIIoAB5M zD4&F`FW{N(TPWxfAn$KGc9lQx>OeRK{{nbfH+V*odlqk2{EdK{;5qN-nt^R|HT)WQ z@~?&OhF=FChwp*!g~zc>vu~XBi}MZ~MKbLdRmPlz$B`54T@<+lo;tIQvszsW&$TK3 zj=7mXvTm+~zXG1RUI`D?PhwX^rt2__6{ZoHpKfjuHTUC9~?-g;@#7! HadQ42b@yQ? literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso.pdb new file mode 100644 index 00000000..7d82e14a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6AF760A6E9E643069DB35D5D06BD6BA9.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:927c77ca1752f3e1fe322bad408d02bc2c4b405e14d5f299aa62467f601db545 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso new file mode 100644 index 0000000000000000000000000000000000000000..ff49d196f5a856af13cd9cc983fc60200c060698 GIT binary patch literal 43236 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso.pdb new file mode 100644 index 00000000..b7371e79 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6D377C6B02680802CD74BA81C639ED28.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13f39256c0af44f7e9422f397ffed4d2680f9427fb34d50885c09d1168148257 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6E949D72552C7F34F1E09D89F1E1C952.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.6E949D72552C7F34F1E09D89F1E1C952.cso new file mode 100644 index 0000000000000000000000000000000000000000..f1b4a40e0305436498f032f9adff4df5de27cf4a GIT binary patch literal 43248 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%0D1BrVVkNLrxXYiEA$xwAgp_qO^= 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

    +KkjKS*^W!vD_A^Y9a(W$JF> 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7204742FB331648ED83573329D86D073.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7204742FB331648ED83573329D86D073.cso new file mode 100644 index 0000000000000000000000000000000000000000..dbacf5f99eee95ae794ae303ade7b747f21a1f52 GIT binary patch literal 32604 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 T{uB65;6H)?4*^j*5taV|^b^0m literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.74380FFB48164FF6B35623BE8701B7EB.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.74380FFB48164FF6B35623BE8701B7EB.cso new file mode 100644 index 0000000000000000000000000000000000000000..f0485a330fb307d595d37be3fe8da500d3ac39d6 GIT binary patch literal 32140 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%0AO@g15Tbar5zNawu3qPAc! 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

    ($2%6^z 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7B8E55E72E6CA6ACF6F1D3A81B3BC9D2.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7B8E55E72E6CA6ACF6F1D3A81B3BC9D2.metallib new file mode 100644 index 0000000000000000000000000000000000000000..a3e940821187f9e78b83fadb2d8f669573f0e4d8 GIT binary patch literal 72539 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 Z{{;RM_)p+Jf&T>l6ZroS5S0^A`5y*~X?Oqt literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso new file mode 100644 index 0000000000000000000000000000000000000000..5a1ee1bc887dea5255b49dbd9ea566e34cd723f3 GIT binary patch literal 40832 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±?(>b~ZwmOgOxM%TD?RjA6uRS&M^WWm=^d-Lh(3SXDJA8SK2l_RR=5y#D5OK0=H2l3P1UnB>hP3*;aYy(6 z&_^nq3du?t1#$wec=NxbV4lYh3}Px+tjQoq^aYyruw|Dx}mrDerk zyHW~$6D6?B4!T+d!x8fQo8K!wnrlt%UR75gtCT581utFd(&>TUN%=?u{lABJ5fR4# z<(ts;6?|v-9W-E6a{r%3d>*{)8x`>LoFZ@M*n+qj@jgVJDP^;BY~lbf z?(u;yLChfbBW4i?5C;*rA@Z#I4n+1Zt~>BLpBuk;ZH=#}30~L2`9%@DhUAVXa*VG< zybh6j(;E@lvDh~^Al{5fU2j3W74b8O9^z*a=?6ZCh$_kF5jP>;j>vlTAkufRZg(Qm zr`(Nr58_V5Pg@xNv{k58pOyt$7PxE+92gxrL|;d5I5}|V)Kq3_V8`ILZQCX$CkAub X{vG*klLPt5iHV7+fxfx?1Udgd8pi)` literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso.pdb new file mode 100644 index 00000000..f73a2e00 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.7E7C2EBE718EBA32FB6282BC269E323D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:008f3e98bd8b920d78628af0174bab2dae4939ab1669321a03c10c5b936a0206 +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso new file mode 100644 index 0000000000000000000000000000000000000000..fd29d84ac26783a4c23cec771fcb7810926f4328 GIT binary patch literal 32604 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso.pdb new file mode 100644 index 00000000..cdf8f026 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.80EF261D1CC4A59FCF572E60A2F410EF.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:575fca9fa8296726e5985262c887214e7fb66d20ca1df89fe9566a54cd1da002 +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8206568794DB63EDFB28346F08717693.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8206568794DB63EDFB28346F08717693.metallib new file mode 100644 index 0000000000000000000000000000000000000000..ab7001e3dd726e52e65f8a83f4707656bc0a91d0 GIT binary patch literal 70171 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 Sck@VgY$P|@Ih7kB=l=(EEj|4J literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.86BBDE2865C753261D68E62FEF5F2901.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.86BBDE2865C753261D68E62FEF5F2901.cso.pdb new file mode 100644 index 00000000..1973fe85 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.86BBDE2865C753261D68E62FEF5F2901.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3665982492a70da23a9d46f8263a5bfdc7852487b15224240226211616cbcd4c +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8ADA3DCDE80CB10E83BA6B98332AB60B.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8ADA3DCDE80CB10E83BA6B98332AB60B.cso new file mode 100644 index 0000000000000000000000000000000000000000..5d4404737cc167243049ed5a07d60964058afee0 GIT binary patch literal 35520 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 Yx&G0C{{HmH=DvaSNMF}v?ie}$Kd81VdjJ3c literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8B6EC10AD63C117AADC967DFF1835F04.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8B6EC10AD63C117AADC967DFF1835F04.cso.pdb new file mode 100644 index 00000000..ed4960fc --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8B6EC10AD63C117AADC967DFF1835F04.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc3ca8d41f79dd96c294dedf88d291726b2cdef8a0f0d598793e74b23fcda60 +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso new file mode 100644 index 0000000000000000000000000000000000000000..696f1f0170b325b86d4708325cf2ecf66ffb4e69 GIT binary patch literal 43292 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 W+Sj{n%a-x2ePi2tX7WeL`TqgToWyki literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso.pdb new file mode 100644 index 00000000..d3a6162d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.8D5882C7F4BE916035D8A2A19C6DF78A.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42e5fb564c2f98d57c28c137b1c6f4c9e79be0243c9c565fe659a6be042b3ba7 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.90E1EDC296925F67098F2D916779539D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.90E1EDC296925F67098F2D916779539D.cso new file mode 100644 index 0000000000000000000000000000000000000000..97b027258b51ec968704f59b9dcfcbae11d22d18 GIT binary patch literal 32196 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.93D943F5A9C29E618797431F40796C35.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.93D943F5A9C29E618797431F40796C35.cso.pdb new file mode 100644 index 00000000..879c948b --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.93D943F5A9C29E618797431F40796C35.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:151a0be7667c5a87e86379556b8fd925eb9e8d6bb1990bedbb62d36e7af1f44a +size 30208 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.96DAC364F30C96759E77B529B883C028.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.96DAC364F30C96759E77B529B883C028.cso new file mode 100644 index 0000000000000000000000000000000000000000..bcba0b823afdacb2a992de141e553b3ac9be9c40 GIT binary patch literal 35520 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.984E39E04658AF07687F9C17D33781DA.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.984E39E04658AF07687F9C17D33781DA.cso.pdb new file mode 100644 index 00000000..67d74d7c --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.984E39E04658AF07687F9C17D33781DA.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6604a95525f7a222b7557497dc8bc30e5cc6a6b12c08b20eee9c65f29ca7d63b +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso new file mode 100644 index 0000000000000000000000000000000000000000..91ebac3967d7600ebaa5f66c2bc3051f728ab254 GIT binary patch literal 40888 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 A9smFU literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso.pdb new file mode 100644 index 00000000..112acd75 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9AE9452EB8270BB640EA28FE04E85D12.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22db38523ea117d39a5c806e6f73b9b08d33dd3d94b58e470c0eb998cbca860f +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9C59ECCAF416177DA2B674CC26C4C7C6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.9C59ECCAF416177DA2B674CC26C4C7C6.cso new file mode 100644 index 0000000000000000000000000000000000000000..7e7f521ec203a929c209d67e504865b554314c54 GIT binary patch literal 43304 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 DsD~bU literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A14339AF9BA1D695A2231452C7C125B1.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A14339AF9BA1D695A2231452C7C125B1.metallib new file mode 100644 index 0000000000000000000000000000000000000000..4746e763c38200887e826b548935baf9a74711a5 GIT binary patch literal 72107 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

    Hti2V*p;ObELId#^nN0WV2!;N3l_WYhF&`A_23e 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A416CC957DBBA6BB89F520075E9ED987.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A416CC957DBBA6BB89F520075E9ED987.metallib new file mode 100644 index 0000000000000000000000000000000000000000..6f47f1c7468a71264838bd874efd1d493c261958 GIT binary patch literal 71947 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso new file mode 100644 index 0000000000000000000000000000000000000000..00e4a75029d1e269c53caddd29d29b0a93723445 GIT binary patch literal 43316 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso.pdb new file mode 100644 index 00000000..289e30af --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.A911A0900D6EB7FD73E64020B22DC54D.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2652a8a9994871ab72d7fda2e1935c2f9b7909da7ddad0b28bb496a2fc009103 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso new file mode 100644 index 0000000000000000000000000000000000000000..a709d0358c0608652863c42a8ddf943c6814dbb9 GIT binary patch literal 40992 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 N_x9ednd}%P|3BGi3se9A literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso.pdb new file mode 100644 index 00000000..f3266e81 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B0C01FFF068BBB8EC7C84EC464A263C6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d09e4a876a2b6a82d21bfd327c5adf7401af912189f0e90a126baef1e3f24da3 +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso new file mode 100644 index 0000000000000000000000000000000000000000..7ede74aa027b4ca5256ebb2f523c5fe08c806b6b GIT binary patch literal 38136 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso.pdb new file mode 100644 index 00000000..6f29d6e8 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B33BD37027E2C6E47FBC917C8D1AD34C.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34bf433d22ac74e694966c5e6fd3506a45536d5c584bd445f2c6c47487984adc +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso new file mode 100644 index 0000000000000000000000000000000000000000..7efc590a49443ea2b698d8d5ae3504d9ce0c6cac GIT binary patch literal 43236 zcmeHw4Uk+_cHZgkVVD_B>u*5_7~layjHJ=fJsSOi#Ezs!NM1?IqCv*2C}}j^BaL@7 zJ?`$2M*M6In2n(dueFJa!c}rCr&tFYs;o*87q)RlmBI;SQwdJtWY-~8n=O(esa+e$ zmJ3(ND&KeCIj?WO=^jZ7yCAkNT%C8%IrrRi&pr3&-M;Tm?!m3wUcK#qoz2~Q=7rz? zfA4>9=Sv5EIUyqNz9@1f;3ht|iX24ZRm9HgL|#NZ3;O-Jd$ykeEd`!)$keXY;1 zC!Uy*Y0&P^WwVsA6fr>TMqGy2iO8@Y`B)BEh2>h{Gh@CE-Drdpb?8aWOM0aao%)i- z_>DUB7LWeTI`k_%`m+>LClJl}Tpha62w$i}_x0a7ksli=lx4739;=KMC(5#S>=C5z zFII-b^p@$da;7Wo+I9$rR)V+fbM2Nwu@{w&2RT-YBl;x$D zSce7Br40q2W8oU8JJmbK3NJKls59|P(P$o84$^Q41Bet;(e!x)B*ozKzz-nJ$k2%I zcfdCT`T!zBBfftDzH^`tATl)K`$O=tLIY$%XvFu&;2XFIzH{K4xd^_$q<+emoTJ?T zO8vkv0Km{lzyD4BE`sm>Qa|vqjR0gJ+Y!Oq!C*h|Coh6;0DNb_*A|MA2OG$H4EPr> zg6|pdodus(TTVBSw{NU)e6UpfRT&*G4p;i8`{A=Gj5;kYrz#TzV-U)G;xg`>IOY-x z9qxg0p)^$7wc{Z{94azd?K5K&hr`^%BVXTBEFB#lcgY7PCTkIU$MS`Jg^^0Jq{>0H zmlDt|F^6ugsAsM)SvjIPAKE%KI$9|08aq0M{^%;%SCs<;H3)kkhiXk0OBId^vSWB6 zU&v1s$|?myI65crU!!meGTu|W(@|L3k2P)nVK7%3K7N1U*QN^P3M6VB8;E8d2RNuB zSo;oX+T9=X0Wr`~%YYxmelsaP(KR)X&PR|GqD?cEjZJu;jx zl!9%=qmyIfc*tgYv$AvVy?ZK<$Z?;(JBVn3IEEA+ekFVqs>y0uEGV9NiKC4Yco@3p z!EN{5cYjXy?mMurP^uKBce>}DZfG4TAobFHD4XRm5A$z8v|wd(?A@YB$|s(Xc)yIn z`}Xb}+Iim|`o`WJ_dK|3G3%0$e+C2pYMUgWf6Ml71;{1RgZL|LVVbfi(CAKopni`< zO>%UoK9kq*C zu92-YlTF%I#hGlQ`LaI*59_m1dAENfs$;w5XFjfTP`?)P-l=(fIZwvQqK>rVF4)jy z!#7iuMHzlxE64O?-V}Itt9{sJw80gCCJVmU_5lML?#hKTTLAeCSyz&m_5Oziq2GY+$}<}4Wwhy|azNzezqoz9MW6(F5I7rHojB%DPt$?6p#4pzl|vrVkal%pKHA^sBfWJd zz`r7^5aadK{7%kX^(3EPPo{l+O{eAUp-!eR>tK3%b(*EG)s@iK_d8y{wKizv*R20y z)R2A4ZzuXKX|1Xo{gOP;vE8S+vXz(qtoC&6?AwX?N%QMy^*7npCcd5Ge(cMS`!RL# z{g`xw$d74f_WR|}{OtUAIj5<&M9l6Ts5e7mAbe-@+s1s(?7qEJ+fP|nvyu6O*^e~V zhjljpG5e{FoKKq!Lf=Q?KJD{m(XXF`-n13=a^4OojU%@t(&ah(l0rlIT=p{NQJUtD>rVE?vGuR>+4Cn z^~*Lqo6QN;=iNABwkD*mq?yf`FK$!vnXI|&Mm}F3rq}D(#b?%yZ9!SuPHrq9&Gcs7 z{V`o>PVbcFWxq-e;2)7Mdy#gF#(w5Qi24lc$+CU>ecEIH@=v+Xm>&_c&VHY<_PAX7 zjP-Gw_pzp`=`(TqXVquS=CrThXS9z*>xc{W8RI9+%`w)H?)Mp{t`g!GksZKt|=Hy z7E;kW5^>bGUZ1jY)~EY@igbJTh|fc88}mC`qq4ukR&E|5-5*CO*VmJDs{{SiY)ySh zGn+d(I<~Q0m5g zKV@4TNi#cf?6CQo?`PyQ8pj2rQ5M5G6j_3<%xCiW%(0;Z5p-uehZ_JP7K~2W$pQQm z3zTyWqUk^~%O?N6t3w^)b!1ts*iT?Eom>L_mbxlFg6unx-}WJBeBO73^5~umaV*2= zwiiPI))w3Gj^Xo>W_;8q@=@gj%9ZE%fOAmGW8G*M+h0izkUE34Q8hx}4%>5K*$l}6 z{1fv08{@qjw%a?jW#|+rzm3>V76kgnQADl}sW^JO6fn>Vgj|1+)(l^43w#=Di7&Q=zSy-p)tgPs{3saZ((blDE3Ev3fAu$8 z{^g(K{`p^@{Vi_mxj>pO{S+he&R5sOQ4y{AaQRq($3Frddf*w3;Ld>OF^cZsK=(+d zcY4KL9qo2X#IeO#`eQ70q-=<>=$Vn2pln}#wmJf{>td|Y$&;AOzIX+qgDG*wcr~J< zU3zXM&L6MSV9hC(826fZ)#9gK;`}xB3#vzAVtoBI)eF26FmcALXRyAY=6KB1uP3DZ zHzMErI3fS;A(7$VNJHkd0m%o*iXMTutj(?Vr)_+XO;onWj{C~jjiT^1nTmB>| z$NoLm7Plwl@BRqq5l0g8`qN2S_dgQy_`k-RX81~d`E;PmT+?!;G&NEQ_Ud_?iOH!- z$D`Wk`+}ju^tK|750&9jc5)_zAz^B4q7qn^d|?`7@63)dMCW$$Aw5dx?&^5_u8xk5 z+QRRfs%YusV-tnpQV{+ z!r`%UrBLcVlvxo~xH%SfkM#ZGj)iawfBNh9$L&5h``O9B*_@9=Gi6XcH5g}G|Cnr@w#~2hQh7XMw^1C$@mO&zA2l3nC%Ml*N4|4@2J=kAUtEyvOpk^H%?J;57ie-ozDVDoUGMq2Y zv=?r&IVg`!)M1KhbHJ(tR(phX+U>cD&cb{sjZ#-dtRW8Spm@!aot1^!t`4dtnH=Xe z9iiX!2f-v3{|Df&?vn`Ti2JN#i-< zsfsmtwx*K0aS7=^CwesfH?!|v!rQ9im$ zVZ2=EXnz!}p?5`fJ_dDGyBe+xSeVnv)n^5oKCIZvP!C5UD=C@YOm>u`V1vTF8XjY# z#28mwrJ&p6Q6pE8QHKo|ThX-Da6F89s4gtSwH-#w@S!KDJ3K)xDCV04zKP@Or>|S)L3zxkobQcHrHnwv7uxf+}F2;%{o2y zMlTX5w0wN5GIAv7j@1Yq=TX*TxLiPQdLXzn>>#sL>+kLkA_uhh^A%sqJls3ogGsgy zDchLT*O;^hq!oesgWsh?3pG~bL}N7?k)TE+64W?hYM^(!nac*yvNs<`!x0+II<9ME zud8Q*m7CQsdZ*D6)ml~YCx|~(Dhz)e5A65aB7ISd`0kF5bc~xvZc@CEVU9O8Od}Eu z(})Da95=(v9!H_n1Cv}+MlStXG}tV?Muv|L6$f=y2Gy$5gAFX0uGOOKc{QCH#-5rC zzj4|*fp^!V5I|n7=xWSCh1F|EG3eD4(>whL8nxQmnVNES@~g>#;kl-q*ktGwi+n7a zKdq@@kzym-xJ<;69PQqyX6y~WL*agP~BA2=|2ymso;mo2yWT{COmT;tE1 zF~^Co;A&Lt38K;h$_S^R*ieJH&Qw~7b<0}5f7Bar`kPHPTM9cfhTA$$t{Z{llQpB_Ee_-L7C4~@w9^BEhh{a_Yb z{9|LcwkNjd3!}qR;}xvLYC0&`qS|5MusYmC05-NVICN-Ru{43NMyv0)7!;z_VefSH zZI*AiRRY%_Fr64`R+{?V!N@ztfmp{cR) z{QjY0alE{LusB)B@4vrLE>4wjb;kbioAC1f9JmhKT2`BCYwt01)ZVQdvTL`kUB527 zt$+Q-t=V<=;AWF8{Tp++_1W!fx8Ae8ccfhGJu+S%#}AINGApjkNmnK|vbD^z`wqRl zKhH9))mc($=ITDLg|L*ohPCErx(!{hR0P85uQg94BzSD1K_C-KU;u4;npT_a|Oyt zLLYu5V&$5A;;-`XS3!{RFZJ+CJ$#pk=N$va&o2#3KJ_ttz523TzrOr7!TA09b^^ag zb}xDgFvGTj;#W$0Dt(}JaZ1{g=}haA&XeaJYm@e#^xcV>*ITavI+uPZ6|}EPe=XJ3 z-j#kB|0dISIL2iV(FgnC(;EaE)p5(m1;TZ(VK}0+xNi~?^45Y=^WJwy8UHr9dl8PI zNDuT&g!(1Z`&v6wkEK_&&QI-6_qDd9mZh(4ZNtCw=8Z%9HLV?~&h#~{t*M!}Ta&4- zbQ}MLmh-^W0){UGcBX#`*va%RWZ#g!3(qrWk+UV04|Bd=Kj*yh^dQ7frnfwoo%+#GF_1948V#;=DxVh?Kh|IW_BnC z6(JdRL^`9b!BWv0VX43`L&<$C85Ox5X_VftHEB)7YSOrM7PEEGNq&j#1KArPsk{Ap zXyV$4eWepV-6r^*J;*GXk^4ZSQNsc}1qP`s4+MioRjQ`dCe9q}OxZt4tP@YdbmOR+qH zL#dDEb*4BjalB1C8`vA{+`@ak`u`B)LPGi%1h`G>y<}Ue3!eE}`@5;{rk6=DzeNHk zKeQL^av^?>UnZaSx)49tL}qu6&yy`~6iWoVZs zS+3!89-i_Izr(|`UN0|Ty*`$>Jq;hXr{QT&`Yu1`Ym=HCO;F|zRuAg?w6kkZVgOkT zPkjyV*Ms^Rp7p4fU%T}_cj?t~SpGRzey*neEZ^{c{aL=@KaKjcoI!jv0{hq0pXC_d zuRrxQJnPSX9opY*j$y-k?wXr@DgTr!w~~yvyW#zMQ%}Qx8uey9p2EkSSc4=7pt9-3 zat!a+oBA65lh*qUSMK*`)!Xp#dK;eg{v`JP2n#`+44&0r4e!^Nb})RM`eI`i%FGeW zp0rz6n&nQ;s;}YW^)-BLeQl#~jzU55%N=s7P0nytJloyyEgqirHGCWJcSe34?pD<7 zU{c^5!PjBZ=`iWI4Nn~mAJ@U~)L}W+>~CT28=8-Ib&PRXvnSoUZ`sVpSod|MHzl4p z*SXC3#DFV7&u_Ws#{YzR@Wru3-gWbKr@MzXDSH+@q-8#a@={hNm(WjaNH23sv_8zf zU0A&)J9q7X7PqGFO+4{&>mn>ZuSwtPmQpuk!3m!BG?rgCV|m5JP`a}xur)xtT-+MK z?B)8NTLT>7T_RB%yFRRV`l#`{KCJj%z|Si80&}j(VY#$_0=K{odh%JW;p4t*c=O$> zU_%ic0&}<2^0{&F+a+-2zKMA))IXAglVOb|gcM)SCMV~V)1P*TimP(OLKR3^O~@0T+#Vw_91 zwsm&ToP_5rNv}x!lT+N2NUy`YS*v?L4AQq_gqfcXkhiP-M!bb0cl*ZlcD%Li!MKx2 z-v|5>JS~MkwxoK%dmD1A;9b_%Z8jENLR)|2)-7ietfSx7hWCAsZEbkp_c*pZkItRI zh&B+DWB6G(nGPh-0pjW+XXM?mxK_U1gw?5?ph43?J|RhNqAGv~7D5Ye0?_2R&Wbwubl1WZN2^W%~2= z5PmOA**MH~-M8LrJYWCT%Rlq^x(B+{o39P;_bb=ul>d{?*Sz+a>pBL%4GrJo;aRTX z+kpQh^YvTKcfxXOz_A;i z{mSt1HZeTg#Q3?-X?VQux;oMS!`Lc61`fj;%E8Ydi5us?@!q#@dU$5@qb3ol4dG9M-A$D~_eHBWO4ATmQ?+47UQ1)wDp**E&h4O-? z6}tBz=I474%jaGy(+b_5BGYZDklq=>8HKV`(+XvirWMMAnpP;|npWuc;wYbcax9;F zV@xZQcQma~T3SN7LRqG1g)*RNg)*dRg>EmG^0}wW@}5Xj-A1*0e%7t7(O9olbdNuT$QSm99`0V$va9q4a24 zp$utSp;R=jP+riqLU~cs3gs0|E0ni2tH@|Kj&JO&vh)*3gu-@E0ni2 ztx(?Av_fgYI*Iuex-~k}T$5A&4y7xUyrvb(vzk`ueyd{smo-1vb4)7~uBVt*C_D$l zv_j#!mT85uL(>Y~I+Jv+Hv#2Yr7M&dHLXz2XHV^r^h69u!gfj|d zho%)`eRl(5R}(hv(DZ|5Klt2_1AM2f_aClVlE)BTz!=T&BSfBsV>pV)-vAjlAaW0f zVJo8l%sqC72N4@R`}}%!vwRi&l*@1xVm~5x1*p?$#McntLHr1DDaPe~#37FNh>iaC zBUqc^XJmoJXy*=Ddi4P0)1T%`VliI5g=ef7=VRr;a~ap5NATKjoD5!!riy5tj+T&X z0B@8oCkL;l+&vMXL6kmXzpB+KFRb?#Y`e5M@8bZnW~f?V-d|>U$GdB+Ww6n!uuunX zfo1!h$6ap>CpF@gQl2LQVToMt+L{J!3!Au4{?CUWY?svH^wr1*S?Jkz6MzuMwrZ2` zOA&ndRG3Da8NO4hA1YDKEpi2=MB^5vEfoKnGWo!C2z@PdGv@769m4S``l86`K-@yr z!7h-n@>mxe>sVf3<>|?8>l++DIo{D1osRG<_7hy&@A^rr(pX>m`eO7M@>xFOtNbb9 zpFVT40LgFlVxG>>wri*(dDthz{uA~?$|9cjCZ2K^;`tgp^Ps1dO+LR*hq|WZzyC*^ z_EcS{J^#uX*QL@pE^P7H^2EbID@!&a=;7Qw7aC&tkVW+x2D5 zJI|VTo=t~)*l9f;qM;P<$i@E%h9EvFfNeirb5|Ksmg zXHfLK*zbQ!fn((Fe*q%H5=r38E#QzR{6&xVB+3WZDSlprkFM{F@+<=FaP*fds(HQy zeC_R*RoW8JVt3EtJDX64rJ&V(IDp?3sarE#*aEpVxxG7b_eb9+)XNcw9Bj6KJ)P-5U=mf~w;O*B$Z^@?Z{mT^*DAbPX}_cJ*A)MN!hcl!!wT0beB9E?_un)P zFoXDsLQp@qp*d{f_iPLjKXt$%=t~V@sh67T=fZz+mI&t1WuTTe<0k_@anaATFvpl> zh#AC9h&vF65Dy}bBTgeeg?JK?XUUr3lUrc1+=i3Wp6Zo z`EPP`3@Yv~SD!!c{k;{e55BtS7SOMBw2(tDTz0anw1nfZ^FX{9qc(5S(cRy|(t1_% zrX0fZ`ekYQVXn zAw!dJ*;`<)zyEv&wYy{2*u>ZQ*9qm0iQ%J#vfNQFjofjhFpOWY4viN_z8)e*$Hoig zJ3fQEocX?pPyE~(;dJfN{3nTmh=_P_ zm-hu5nlr@ed8?nc}{gJ zVlU!q#BGRNzwupxeKUiYMeIXdgUD|J_+GFMaXsP&#EppTzjqx*LKty$A6(Z}%vE&ZK&4|2);LC_x5C;%1_mI2XE6~)xX@RB%ergNs+?CtI tF^(f)-{`u+`t16RYYO>|`NHsUCZEsu=STDTHHGZ@%!a<+$^0R5{(tDcQGoye literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso.pdb new file mode 100644 index 00000000..5b8a1daa --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B815C5761C479B16EDEFA49DD71F5BEF.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66342a4f93c5c5cbbfd36bbad30cdf33d41eb33fe296373f3716095418c729b8 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso new file mode 100644 index 0000000000000000000000000000000000000000..2afa721aa482e8f7c3a29f368be128d6fd2c1cd9 GIT binary patch literal 46168 zcmeHweQ;dWmFI1>5NcU%WMgb&1U!RcTDB~=K5UB*gKRgBofxB7h7jV!ZmCO=Ai_DNzW+pX5)n-%du6N6S5Gp%GZNVn6 z*$KN#h5h~RJLmO%Pu-FY0b=NDU!8Z)IrrRi&;7oA-+h_8cI zC5`@U4SKUf{~tBz7diB|YtS_>l-~knqWNQ(H2P&!wuV#s6*cHeBkZn0CrWv4oz9L; z<#VOmCnieya>`t-;h zqm#!n*>cv5j_0TId!{D}X2;~z)L0=~%-IlF0>sE{>F7@AQO-_7t*2>+OQ827fG;|E zV*Z(z42;?VsE+w2+vy1Y*DO4^VR+Ktmhii92pWZ*D8yle>FMh6tp#5N^kI0qdVK4^ z_af-S@O1U~dZqFVTdw+iH&8!hd@;TZ^*aZ?ebi6*nikOS5cLDYV(Cs(zjNSwfck-t zWd~qRQ9hiOgTm*5fAk#qeg?iLz=y8Ly0dlUu|s+49Qcypdlr1GCIH4mm`?Rlc;{sP z#7MF56*Dna$d(7^2F=q?$IxM%vf4G6TjJ4*TDfx_P1cN_Qv z1qQ24W^($7A3HmK&%Q$OSa!+=@0gwmBSt54`8)ID6L_d%9Br}h%iyY|&{LUDPXt^rvLZ?g~tp~Q# zuEDowIyX6*P85nca9z4!{{Am?7%dm`*<;cRLr8wk+%`F0ER+fpWiPeA+uOZ& zbgwshG@Hv8y`6<)Gm}$z=u7wZnWy)RetKUSsc_t4y&r*BM;u)o4`1*fS@o^8X&3su z;2D=;mSzkO2X4J<=k2%e&zR9W58atBmh*Fa?DHPmE05<9dir*x&GZ3 z8ErpRoTT4``0A(+^9H_)nHJMuFZ`MgrfV0g{53*jI^=bA(EKRRu5WbMX5jLu99K`u zxz?COKodQgKIeHV&y`b@^p&=&=%)o)t%011XLW=KYcrOKE8`)N;p#$O=2vNIiyLa> zS9z31n=_5A$V-&Qyckot#fM=%Xm^%_s|UlX2V*h~I`WX_=A&P5%Ck%KKwG<5Y5#nQ zUtYU}cQ1;4jmShjiBqp=d0r!QSFbqIcI$)MM`gKsX?&%reQuMwb`fMT@2scF1D#u6 z1&*{9p|yP1LkQ~z_WOPU{jr zP4#6SR8J>Q^Yqoc61w{SXpz45kJ&D0zvZw{E1=UZE@r(atwr+2x=0@6G2zmz?!wFV zAmw4}uxn?=C(X5y+D~O`nYwn4wgXpwv>i|vw;eDpT+j|!PV9HqefNWF2aA;*b-orl zY1?W$$MJ_Y(elypr&e9mdZ%`#y_j#>M(e5CS!`+B4xd>bgl=7owjGzR5BwJo(d z>!aJYq%8&Wn#J0d@)Iu9wn%r|7Q@=MSkCp@7WwM6Eyhz?w63rnYCU58VSb5o@_o+p z1;}aV{AaQDtL@z#BUzt6sCLDC>3E=H)?#Tf&Ij3swVg(7Pdfy4zsB5>da3;u8XsN0 z_c}gOhFcdIcE?BUqwBTdC_RPvaErEKt>@B@+eq&CNcuwKqg&tEF4Wf4hcvahl_PyA z>pR2XvGtwtqT{2`E#E?In0&6?7}hpS8@g>+%E@hGcFxK;)XA+6syA`kKApU|G8SBi z{Ky%Esx-Bv%bmrxDUe9=>F|VZ2ab8cS zeHm@1G?p#HY9l^t{ZrXmwxp>H_I0Flt;+Q+ozmEku^dTL`CGuwK92EJ9-rBlVgD)y zy0yK<4TBJIN~i3mVf=|W%2@@kI*`n?tuB}O`e`1OX7hmgyM%2$umRYax(YskY*&!q z`W9$>4(h7xBNE3nl&<@W6cE@OW#RIXrhK&5ziyLsg%2p3p5>ErRDS9YecE(CaF@`V zhRI#Q+^_OC0&lq)wi!LJ{lFYbZ*ZrI@6HoD8(+M7-%+ty@8nFx$TJAD@ZfGGMI;v4Q`VSyLg|ht`wee`Q@i%xzq;eh z_lo;|xP9Qu`-_`?s8%6OrhbYtXFoR(MFq6R!-Zo39(VG1$cJZ^yc;~8KPuSsgsJg# z?_BqdZ3#UUW!WMugAtY*QidWdaz-j5sIR{^TMdDITOzE%Nvnv={%8h*gIH0-Nt0U(`1_PWBZk}O=jd`cX%q+PxW*)*$!rs^7<|k|8=0CT@&3#zu zZtsejpAN;$zrjJ@@1KdAzx=1T`N9{Q%wOLZH+R3$WWM!o-2C$Q#vJ*VF|+iaadzdG zP3HM$;^yp&G4q4}-DFO_5i{SwA(<~+9yeS5d(8a1zeT(8m*W>s1G>O9EtQM2<7IDD z&WKIV%$D1}CT+goJCL8-S->&45^9v5_DZ8mn4O$1dm07j-9UEEnJGhX)-31KgK*}? zwy)pV*47qI{Px+hq&_t{ozE6MzvJ;HirFLfIC4Y@A^U3R*=Ii`J&oq4Gd^a|KYF8j zbQw&={E^90IbTeTrMrU+H~PZVc>gE2FGRI)hrdC$-|n}gpPq!B&v{=kQhL=>vQf4H z+Yh7a@3^;|-=51Aagx?Qo9ji+^1C&(oQCZAF|@|(A^lL4zM4@&?*oMR`)l$?-xvr* z8K@a0^iDyDf3Plp@YX?ye{)U#(0d6X{w+26t8XrZn74wtP5XslwC9TqF56h2(>Hj| z@#HV|eaUt$DxvPn4upxue$P9SFCQvqbCa{Bl+E-^wpgAVpTgN=QP47adH*#QZ=2WGo1Wmf z(3TkI+asQhl?TCdim`WZA)8ChYcPUNrM&rO^t!$E-e5Pt1}~MWsu7@30#z;Y-r8+m z+PlT7g91zkTB$*^C98RAo?87#-F@fAdoNl+*M8Nk+e1iHLuG(zju$3#o^6=<1KH^# zdAwm0wQi4xicvr{uv!kF0{Dz5q}qf&DG%T3eyJ4YZ6R8}Zhlj~CeAxY?Ebb49|HRXcJO--l~KYgD9ER~4(Xk{_dZxb zIdXj0ge>k7#OJ9pIVSV?ZbT_%70^Uk1)PBs(kCapRIX4?X~Z5aiN0>{W{=s;ZycI{ zt_im|rtQl#XoEpKR+s!#Dc_d(8d&|>73BFi)ZS=wxZY!8RwtVu_7#4{*86%`5?M(> zpU^kKF{Do7P7aT=P$G;QHB->->p>w`kwHWEC%3@>Rkz0vTDDB&{kb&81OK7N?@FsZ zpH?rYpDp1fqwJCVo}4Z0d9SpfYmXWaFUU;gMr`}6-$e|hJg|h`ORV-0L7LhFL^^0x ziUB2Ya1jmcxR5JaRk<8-3l*(ve70CbznCf7I$3?G$onGWVB~hiOiX2uu!qT(C^Z$t z^_R?!ea7^4N4(Z`?+lxSA9bDQZM}m7Uq}rMfBw)1K4%;Zl>ijcCZx@P8VinNF#ogu zM%dWz)MZ1;c-u#oZQEo<&>O7eAgy#_vOIp&OGR>omh?5|B3sI%dEMdN;J280stsa{ z4QixrkaT}B{iWWy9?UChkoxMA`sm*6 z%y~9rbyl-)8f=v6{KepfQ>vJCoo5%~)&d!ywn!cL6KDgq+90OyXc7y~Q`rWqdr==u z8?^1oE+vAN#W{jA6R6RhYoz%-IU;^IUAc}eu%RwqF!K)g28mpLB0D=(#>6o+fdN}E zSYe*CQMY-bedXBL&O&h-uf|u`=NL+Z$!zZ&>Sive<^Gw=;)z8aHNYuhK%hFm{bI>E1}d z>KocOw2KbOxMdGU3$oVO2CL3zEPHkC3Vwg*us8UPCI@Caox~~_yG;3Fw#+q;l$}q) zTC4iw43hMxpV(6D#T+>F2Ug-tHpE?bI2=r2=yI-~Ij{91w)y%6lBQ*@Ip=w=cfA1LUP;_%wQ<-0ZB$sy6*QtaW zLCGjlwMSTw-g~(&VY{Rb7x*ul4fW5*0)P0;AAZAwJn!%Y{_Qs$oS2=O+E~nw%}!3` z4jw2Jrb-7#3N!iK!TtGCVYZ0tQ4abSnUoG@z;#5IQqm-L^d3jY+q>iX%{w+{h6V?= zWOiPk-m-bu_WmvXgFE`R?i|=Yv}=NPu?D@oCVS(HYE4QJ+N;A zV^`wy$*+(V*n8rgiPgzt_-kp1*kxMcw=GMfWATtqOw;LaS>B$?Br6XhV&!CVLrZIX zD%s!C9QTr! z)OcXYloc{y|85~q4^(K0s?cJUPk_*gSglLCAfXA|ndGI&X>;%Y0tY&y_>V&=ed?O%vz`&Yd7FT}I`E1vz!7NnbGL=*XyXo0jzT5r?m zVA5>Zeq-jjWtmt{?1iQmntpas2kd-*{H6BO&FpKLw5mn zd95iGPsdNTq~m+rPBpK-q{|$>1ZhKz@-xqi@eexuw8dild~eFNbu(U=!EJZ3!w#P5 zDn94nDPQqNfuCmwya>OL(|pm!r>z|hcR*siJ$_gGXv@#y>9%K^-&vY58Q5VMf|Q^7 zEXJR4_^Ib&{JX*L+Tp0RLvw7z!82XOA8_!LulTzhJo7cYoc6qFo;?*GwWs1~Pu5+( z&4hNmL0Q;oKBzD6kd2w1P(G-y;@x~uU&S*Y)%3%^;w+qc)s9U6fK5MR4kME4#q<^L z=AY>+{*RG=rqk8R{C73E<;Zjt@8+NSDxUeT_F1~exp2-kf0X~IO}E_S=9}^r@8+9& zD*lg=Z>CehMb|O&b|~LWNAYgHsjuSSZ@yo*>Ao^A--?gsTk*{I`>}Th7kS3av&JoF z+ClMderX5A*T^q+wa>krpS9`E%*(Ihqxn^QIKR4yd+zC`RxrPuyjI&4^Q-t~2haQ} z9@P?S9PL;9orlowG6gQ++&Z4II?PyZ#ao*TKB|NAQ->nv-;ZNl?SlQd4zly_N~L85 zC&piGSrUJ+Bk5rlkxK&E+Fq%kVJ5zmoWV?x)4;CeT|Un-%v_cy3z&7ZC$F~im~|jw zI+*+_D3>NnptL0)Xz%Re`tasuyejKqb5r#w3r^76)1}9=Q?q&8cCd)ke6r09;iW^a zGd;vnJoB%3Bx&pPFd%NY^^b?z=lXwqIWaIao9AJln0dsO@_Oj*&tvlSBMZfqamvc* zvND>?zGYnZ(C&9(b`=loev&i4a*-{wU~5+J(0wWXsw+|rV`2a9#7{233G09BDEj$y&4qe>SdF z^85E8bQRxu4$F1)>sY6*1sqC_V9l6LuETP>@|4{VXl+kbFda&)Om@c}ezav3I-V_9 zlD62TvX{ILz0FcPHgqPg!lE3pu`93(i`9MTgVM>{L0^fd)u@`y@gDGg3bDD-0Kt2; ztXs8TI*+pc9R@D!-^G|mw~i^^t$QqM#k+Nn{mdy|T!dTcMj~<)AFVTrXPx0V;I9de zBebw{b!@h2zHG}`@zhcACm~Al)KT#d1MimS5H3p!mFM?6&Zj)T|N2KZH**~GOU4cGF%a-j-%a3K@(%9CNMw_`bwl}v;Jcl_G z%a(OT@sy|dX!}<@>&Sa8+b)}CCX^=iRJ@xe%U1DB(;d5aUlAR<{~}j^?EcH)4|D9s zrzv39!_Yo#SH+{-4eZUlE1vuK+MfsW%=75aGdA7%W4Gd2H?*9YuHsoQm~Jpup6A&8 zq}>zp*KQ#>=Q-bd(aL$k){T&y^BlWX4zgwI%z7ESJE0|I7A3~n!>^EUBhoQR*5qf|>i|7Ai zOhur1N5TS)2R_mTn%xo>XmS!3Xupj_{)&$`PYPY2`MHDzn%5;P(C&9LKKH!=?S3`G z+_z@kje@wCi7nxejLhjL-#| z5eW-4WeE#3k4jje;rfX31e#w+SfKf>gaz95Ao;m2WcoustO&I0Inud)BfTPYfp)K$ zbnY3G{)Es4nr9>|(ELKe0?q3Z7HEIQpgjCMVdZg;m0^K)&y!*9eKNfnp$jyROIV=c zcc{oO(7Y^Rf#x*{3$%OmgIy3y7igv=EYR-VlAn9HfaV#Y3p6iFSfE`Oke}-V@^|2J zc!mX<9tjIH!x9!~4oX;{xnIHp&1ne>G|x*|pgAL9fp)IX^f~9JKAsON0?lp-3p6GOIV=co;3LdnpO-V3=1@A2@ACA0n)iHp!_MJ3p5W)SfDvAVS(m( z2@5o5BrMRpEn$IX1?KxqPoNo;us}P%C!OT|!)1)3)%EYQ3tVS(ml2@AAq6w2dT zh4NP8(pQEBnn4K*G$RrgXyzm=&^#_-f#&BD7HD3Qut0N0!UD}Z5*BDY>>*Phfp%}7 zVeau$-=jhoXdaQUK*K$G@(VOCNm!uyorDG2H3Ip$R-pW}4=V!AUI_~{hb1f!zxMj+ z2{flAEYQ3lVS(n1gaw+nB`na+`Kb@*{?upKhZTY5sDuTYlM)ta9+$8{yPlyuu3sqc ztk4CTwZ*oExXetsGXgD7xzd-Y%gaw+j5*BFZ|K#U70MK;$ zup-dT(@E!io%F*(7ijL6ut0N4!UE0X5*BDqOIV?8ER^FI7J_|xz&!oLEKN^wCs+JC8u zEvMQ%i$}lIw07{fl2ynI=V~|&zMNSjt<9{yjJEURwRUh1YZXE(0k1Nhmkomt%XsU7 zqCx%Ft?*T4#=TtP@_CJY=J!-rUq(4d!#;C=kk3oas>}Gk!0IORZ?U`dCi$*%;$JO% z%gss~{~GWDMQ?f63Z3zI27od_ZaBvROa7sc-|(w=BAch!blz*&ax;{Hy$N5x~= zZ5}5AZl$@xmNgC9>KAdp`Co6nxy!_tCoe-h$U+Ozi%1M{EX!8ozbWK@Ci$&572j^E zZyr+4HRd8p3EDoTbr|=WO7o`bKwUeenlWy_=-{{U;LSa&192UqgWgM{=`kvCZ(aENn9^fXmTlNK;%#lMNfT!U;{uaRfc8xnP-HSNw>-6r0cFtX~<;In9F#+{e;Zq3ML zXNz8v7JAn+64~BV_TgNVR-+a-?z}8t$hRZ%*0dU>+PL%bf-Y4o#~OED`uEN@?!2_$ z(ZE+9g3Gz>CEWT3Cf4GOJ1^}`|NcFijXN*(gJg|6FF!7KUgBu8b!Gg;@5J`E%GZ39 z{mb7NKaS4*{g=O6K7mXwiTwV{cRuL(`>zL2x6;H`67qgF{})}}du!fYBlxxeA6%0f z#OVO-Nbqf_Y8+lv6rQA4X_tW(xz8N$pZPkh1}*dw4bBQsw}xBX0-1r#=)|M9qx|dJ=R&6Nd+%!!o8GJ-6B!(UNTBm$|Mx3_e5T(hVOA4{e<1Jb#1%;^H8oo|BQ4SxXsF#Ht!9Q;Z6N8x!s?f~FZ z`ms!(evP#uyBfa?oDZ2Akm@>eb8M)~&>&p!7GPVx*4B?EoY|E&I`89u7koAw8K`4{ zQ@wq$Z@=M9uy<(x{i{39e6P6ghua6fyuY~Vhfe^vY47CpJ^U`R*)*L!mM@u2rQ-Oe zqxozuUmTk%jNjuUCMKuyrA;5fUH+US;k9Wyk-}9S)?I_Y9J@HMab1tsW-Si@UnRHh z?B@oU=;=0>2f02>yEb8{qja&rR^# z;CYkeE%3VEfLHEq`^Br}I3sTiUZuu4dSmcvv7NiHjpH>}gI7iEJ3FWj*k|(V=o&!w z39Np|3g$}2Tn+ERuZ6z`{#tmhF+K&q4*oiL=C2!mJ^TiE<`db+-8JYB;n}D3!*7S* z0lyReR`?A3F8B+{?YWSYZRq+(x4@pgnSHF^Yz1Rm`X{#Z^>5xhwsjyqmP_Y1XNU3w Uec3Jfp?tQlFWozn8zblc2Lm1e`Tzg` literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso.pdb new file mode 100644 index 00000000..7ffdd8bb --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.B95B5D8436DC9065FA2624B17C3A8F4A.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1daadd99fe11e71596752ae983b9169487bde1a7a4cb59a0a831d22a6513c2c +size 38400 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BB64A8E44AB8BAEEC81BE23ACF911CBC.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BB64A8E44AB8BAEEC81BE23ACF911CBC.metallib new file mode 100644 index 0000000000000000000000000000000000000000..18265fb705dba6baed1a21b8ca9ad61d64739540 GIT binary patch literal 71179 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 T@Snhc0{;p8e+Y=k3M>B)kmyWu literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso new file mode 100644 index 0000000000000000000000000000000000000000..a1b482d7766a278993d54e523cd249310f5a8239 GIT binary patch literal 38148 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 aqr+?adU{8)Yp-6Dx@vT^Yce}b&i@6>P9c>5 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso.pdb new file mode 100644 index 00000000..45225c7a --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.BBDA720FBCB03878657725DCB4070478.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25c8d2bc7559a9129735edbef5b0450c26e9f881dc9c562f95dcfd136158c6c8 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C15B7A17F66E5D27A740A3A3C1979581.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C15B7A17F66E5D27A740A3A3C1979581.cso new file mode 100644 index 0000000000000000000000000000000000000000..59a94cacc789f0656c04ecf43126e0f903b1dda5 GIT binary patch literal 46000 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso new file mode 100644 index 0000000000000000000000000000000000000000..b15b9b6981e9acb00f161c8f65221b247960d0cc GIT binary patch literal 37996 zcmeHQZ*W}Ib-%kS3$3Izw(&oVfQJ!gWy|ueEF0O_Alt&&iEIl?I1ZTFEA5l5u-1y* zl`RuU76J{K@noEiOKHb#X-g;3mYSxHygYQ^G~YBo-Uf3;N#v+qS>bXiNk==a8vM_|2U6KL|ZkG|z&z zw?CP*GC*?>WLd~I50w?f@2A5M`VdLaNcsZ=B#pvT!1p1|$WV*#55ZRi zy$_M07T=$M?*-8N5E*Lm{U!KVpguAo)Z+U)@b#Ss-#PFV&x7wp+9!PBS@iw~?E^y} z07EVNUZ;KM!S@T=2R_yjfN4TKGH5+0>;(SQdGPgu?@92ne=`i$kXHcyne*U#2z+P3 zC&f0WYslL-?j9e^Wj|-eGTBt2XSxS%HiFTn!RGXAsr*erDDxScap%M_n-FMmcjn#P zaCTtFT?TPD%Vep~j87c)a;HY`-JQ)HO=WEI&WXu##L#%!-RF)LvNiZJ}9g zdmpy-yOV_@lJl;uQ)6RpZeaZAIQpY4WOqpp98@E0hrejnWHwje@L+bNCem(t!p(~m z2;rz4!oOPKBxJlMe%E&L(;D^ApGzIz>)toz<_nPMm9ds&mhlh=a|G5eLqXEo?i4-& zJb4&d+FE=&C(`4iu8evneLR~>gZqkE%QpepLxr51Iw~V8gt*gY*Z62Io6n9FocP`j zXUD+MfHQO?m3DK^w(QZ#@eD4KiLRu1cIVLTy9?05xq|I}5K#kh3=v#>*1I$;B7LIK z6+H72$MS`6F?`$pZF~0Y?KeaF4(@Yv1$TOFjt?Sl_dGA}A?RIzYb_)E6?w<;Xoo@LHRUoMfh*{T z4!C21%sk7Aj?D|S3H5ot`noY+c``DEtJ^|TL>8_i|d)74C=FdDg(AKpghel3awFW3HOoW1^Om}cnw6V zjFrMqTPd@e9;LC&^!rUxX7VeIb{bQ>)q~}7wuZ6V5OA*?|YvgIl0Z;v!XZynrQpU6)Dm{Yhr<=X}O1~O7 zY?s%pE1vU`^K9z0%c$afuY?hljF+c4J8{W2Qr&grrJdw(vY?~m`{Bp zcuQ|AI-nS{3bC@BLB83_Nxon?nGV{kHm!hvNmF}SZnZN|rWy8lrJmlEHt=+nHt;ZbsO$G5URzK|-zbg!fIPHKWj4R>MrESl7Y4s6(qV}qo;i`*-xmKH0^(s4PUj;F5CYCZG&=yc1l09{h#B$`kZAT zjXu|Q@vf9%pU@hkUSDOtpifnX!u|_vZy4`OI#D*(1$24!IM>rDW2?10*q>A<{A0%$ z=4DyvpKu?3jJY)s%f?soAozXj>B~?mgnbXs9AC9wRiDBOE$i0`Lv3@ zrMy8otap}0Y1R6cwzq11OUv?M`KM)b$+8d^DEEvpTGuFq z!7&^OAxh;Y9IOc zE%Mr6u#D7CU0nY%AZ^RYdF`KmZ-gu-}Da3M?S6#8T3AeIOqLJr_6uK zN1F1{9HGFBGD-)bT6kt_Kt z%QRT_R=I+EZDr9a-$GaNmzB>cy`rw*>nSUq6L=$C$(Rf{tlKGjT|M=skjekRnE!e& zWd7+cV^UuZn=oEnTs;*wgOB3<;);-I*%vYoI=ChyOfex_^efC(lL9vF{l32S16JmERAWqYoRi@?B%z z`sawb`bgM(0WbRg{@ds;-mUbd({Vl~mgWn&snLQnB=4{%CZ`I`pO-%0?F_rq+p>5~ zpGS+*x6ug<2~*<}1xK^seLTp4_u$IlzY9-$bU)pHbMu2YH#awzE8jC!5bc@q2{)B< zyn)9V%cTx)%Vx5<3L}K{U#ac6v@Y?ySMV>>xqI*!$pa|=_s3CAhqQWN>fY~GE__=WYAUOMq)r<3shcXaCb z76(S~ntKyB+7STR50YrN^i8aa-ugRIV^Sn!!dSG0-wPuD4Is z+3X~{5@Q^Mo1>%LOX}EME(lJb8oLIvsdRis>lAc6?#y(f)8VXidO84BIq`VO3?Gde zC|Th;*KKwZ&aKuQRA9olN*$WYTg&4!%<6{r;HFyV!&n7dyVbG|2PrWPjRCGXmK{$! zd$Wa9!5vOb9Coqaw$i(u4jM)l&A?i@77f5-L?u-xB)$5ec$=liaVD|$K8QABcMRKx zrot5IN3R@}q^oksauGz8;vyy>U~1QIchvCUQru#WTtgY(9{Y z$Bs!hlEAXGYx>0fs8qE%&8?AS39d*zo)VLIDM>zV<;%yd0qQ(fNnjj>^zkt#p3WBH znz2(Io$PRKaade;b?+GZVl=8OkUe4dexjB5`QVbMo5{P)(a(d`Yx;hfk0HxyTf&tN zm06o?dDxo0g01xIuq3jQf>xUx<0w}{d7y;HSSb~ZtJPxI_Ml(MC8XaJy|s=%gw`CB z{I)0SI&W!(5zD*i^g4T~Z))=jj0Ab?iA^1LccxiGReCv0t#BUpb7sz#+Ul7uTy(u#SnrV{I%iGg>NIEH(^U>5LOq~0%g+?}|mYq}FNUlmfaHmSQdX)Q<{j*KGo?R*xWHdALGLuuNT@jQQI-cYdfYE367~nf@6-WV`dJlFzU`pt|$E_UE8i& zu1CA6MLN$4n_<^z>gaHGP?kzCtu$ZwquFZpD0^O6r-rkqCcQHNJ11~2c@zTZeJSW_ zOiJ$Rbz>N{%G7jC-;YWy)i!&1Nw3U?WjQcjm+7gP9j#%08^e&{O*h(8JImEqWVV)k zWUYAZCDn?{Dy6K}s7>d%+W=jwoznm8-w9(sVk$ zX?6kc%~lno5~fA9eu~>2b!_UX*XqpM6|8(Nky^#7>jH<6U@M5G-LceErhxTA z*}R3`;Ez$5-d5}VXJr=|8QGT2P2d2}W}P=NO_tU$UDGhHBq%`OOj*(0j@gqrpOJ;B zU3EgN-&t2Vs*IzcERMS>9w=_ExIL>Tlk+;}W_!EnW#5$=pO|fV&O65Hi*vc(3M@6p zgXgATzf<-=!>%=@;PxKgA0)_HedQixFD+TX?>*A!@}JbE;ZwVcz|9YCf88AJguy0t z=aI0)E{OXUna0yxUrtbG2XT4q+Il+ivH3N#1JpyYrz%I)Yn!G$4v2yOVSzG-;>=kNcV zFLF;V#m|oyy_(-U08RUH(8nxDM;u zNvdFL*D-Xtu5BB7wxxS}+OJZHuXg=F@B$LnJ zg;Ryjg4H=`b>jJ`=*-*0efa}v>eSk#DtCHh#M3#tp?3s2QzO)w8XJYqw5vK(L7n;f zI}iU+>s7BOLPb=4%l@l+kA3aGd9?9@0{OW=R3S4@A#!gyWw#%^_W8f!Mq;FS4wJNc z`2XVp?nmBgHqD>M3JNu&o?6ZSZdG``$833aVDtPCd-QfbKrxBw-b8OAku*dNr*e4a zVUFbwt~;2pnA;`_xf6z?Dm}5%%$rYm#QqxdCJ%8U5aOtfIfv_zdD60XnOo*#tGS69 zZ#1=xv-~VJgY!dnw|;}j@uVxBXV5+QZ?@7Gif;jcv zcotcjBWYZ=*(`0rEG?PX7aJRqVH@a~*wy%bc!y<+&%(B=#8x~FzGzE7^f$G%<2npl zf9wjVY>0gtqT6B{fr-PqhSuV#wk8wZ8#@FCG#39lVxk*jqbSJ(k@o0{*cb47ZL9;O zXpb(7C0TUHD=Rz>l~yf$XKXVIA6*{11(~mp?S#sK=#{Ze)(tx&{n5FxPea`0u})HA z8-R(#7Q;vf=}Nyq8eHwk+89fr5CgIMA@@dW=-k*%$kQI%8hN-g*2e5CJ7CFU=Pw|7 zUF;TX!KY~>Ec8SrsycN6of>UJ6~nEtW`k9F6(m^Kdi|^w?WoD<>K*NGmcaIlqg3E% zF#Qa{dFlnpbwEQS^ zF7!gAGtze16F7+W9=+|L56n-^>0X+37emH=qY{l;fp5ta&*^@xd5`ty_sV)0s z%}^h13h$4k=e!i@jP{!X%ASA><)tmN@%99GY2R$Tz2FU&o!^cL;RIM;08f32?+@T9 zTk$)9XPffca@ivoP-YLRpL#ObW)(7>p+00$JoP9(sGn_6@#XrQ_AL{$k5dJ(K9#A=A#KfM0&`J2{Y&|; zTD^sEANUnd`HBzvopvg|-0vU0-d}EFxqnqwZt78du-vrQ!w*C*w%ol@>V0iSxfNeo zZpE|QC4cMV79eK{>Q~zT3j*-^pm7A zX~Rp_hDn=4@w7ql4FP`Ipmpr5IT8qVYtR>oG`$G?L_`m3u0N!lC808k%!BR{ajeY?!)yJu{%X}OgH;|8sM3Zc_c< z3x7S@j`dhLlE$*+I>6r8AeJ79*a|GGiqF`^UQ=tlcnTGdZ^?MmsZ2e5L-k$G>d#C;-eu1>b1BSvG%(8-sOf_#o`3&Df2t!($yg$!?MBW)SR z_q0NGEMt{Nkr3 zelYMiHyiT~@Mq<5FTeT5Z+tPlj`$St=K!%)zbMfBNYVn$dy*Dt94I2cKzm=qH1BT! z?R^Q;ygy<3G2s_z&PrOKd0El|4aZvM7ic(sGcC~cN?M>9mb5@KEop&v9%25|9^QVd zkm)BS{haU%wD&5czbtgF-@LzACtX+XQC zWtwYSre6?#fdl0_{Bp`OgXe zD?%4&-jcLH^Git!w71L5&)a6|YxiJLpy`veKr<|9fp(3}{9J1@Kfedbv_ShEQl|Mm zQqs9LW?G>6m81n42lE{10_{A;H0LwsKOl60W?Iq$%}GfMG|xy{p!u$(1)4V{EzmSz zuA)AHrd`qk?c78<=P25f5xPM8tzFXj&0W&Z3SFRiNzwxC{7Qb#v*d5W;KH;((=KU& zWw0aLv!OKr<|9 zf#v~83$*hW`8khK{yCuwG_Ocnpm|f$0!;(PMCKQ0+9fT}^h;WxIV5R;rYLEFc0Qs! z&P%lCyFwRe-jcLH(~3Ek`~r<5X@Pc5C7p9C<)wu#5KpAM`~uAxNeeVDNm`(JL(&4x zLQFE0FVHNNv_R7)X@O>wqy?G-k``zVNm`&uOIjcbD)xHN-fK}m@3~k$-uEyq(7YjO zfu#p1=x#dAASS!`$EBMuK5`T5PR&EvG?)3K7jZD;u*wmBEE*$ zg!N}9;vnKA;wi*>xG)bio283b2dvk*c-zW*swKF-0`MBswx|!{uuQbkR!^Vtb`|3* z-pspL^749#y*6Q9Qx2-bUQ-6;6TeLGbIp=PQ@}3`JG}FGo3yrotgD4@fmv*2Ee9`9 zjF$IWp)((!6Hyn)^>Be6X!%}}-*~f*T@F9;-m4j3m}i}Tz_Z*4k4ePx&zvFxVX?W& zwhcPH$!ikb<`?h0z1>6>#1XSG7b4_Rg zc{rBwoj=>2wGpk4eTSd6TY_fT2)F>eq$w}UUgE(sUGS*=`sNu-#!&K zf3^V{fUk#7h6ixuvVP_{co4gMk9Ocg0fqXRXPkBRc3sIHWj&%>Kl7}o5}o>)=W2(c zlU{@I&mz~)JO@q$>*k*s2eayDo_YMUqa-{>?=Xrz{r@B6})1vh=&$;vkSJ;d*sAZea&^=0Lk9BLUQ$O>}Z@v7M zPVU#wJQptI)3KO6%FeaQ_ZaGDo-gTI#f@A2%(Ffa#iUTSsVZJ&|E&F%N&U<-KTBCZ z^NhpndZ?Kn)AVlH>=F16d*&HiVC-}5Lf|p%n{v%(;C$v^4;Sx&;QJrG(|80TTPoiF zECh~`?|<4585Wz+VnUwJELFF8dzs+*XLl;@-2FWK6G5d7>7_gifUo#S3HG~sdiW=Y z%ElzTGo=1{xHu2=uk9b&(ZAQ`5h=kxM>ihPuFrN}9U zJ-#7)G1dEIUOD}g&;#F$wfV1-{AYz;`Y5cy-v+;9{xzUqW^ME=z0Lc+v3?ZW+FIfX zSx&vp@tI(2xva3|EBm_e44#PPDSKTkWiIJ!uso&jDSKshY?(MDcs>bylhoRKou!Ad z#uc9x@cGB1d+cB3$a@=SkoPwepsHq|cFqko8R~>f-UGA!{hudMx-|pi6Zi5{?PkqH z>ZqGHYx23#HAmc3+Rcq*vZMEUh_UgEn_u%0e9MV*Cys5{H46T&y$u}Dc>lN@kz*LP z?OPrI9&NFq{`ZSKKd_G_48eCE4{j`u&q~0q1}{0z9w1ID2|Z( z;#Av5@mVwdu9_{67K#SbI4`sYu1Wbw0>^&`@jXPIqx&*!<^F1hZ!Y!fp5O2Kcii}& z0uI1_+v_ZN**4CBpZga#Ag(~X0dXVZT14J6vTw!_I}leQu0mwK)reh)YY-ENNkse& zUwfayK8vG1w%?-3U~i-`sAlYAH0E+d+RP@k0PzY$wn><1*O6?S%MhkSkh+K1WoVXFO2a)$G>k+vh_9nznLcr$hdZ>G#?t!`o>K^z6dSK^3|8CC5 roDEZMPtS(bNHW>IVcp33wW;0>F21BXni}ot9qC@5bh{?gBjo%)a;}Mn literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso.pdb new file mode 100644 index 00000000..845ab89e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.C98B044AB7848AFC025DE95581642A05.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83466b81e9e9072a217206592cb6e7826e4123367b3b7509b989621af8e0bb06 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso new file mode 100644 index 0000000000000000000000000000000000000000..c77e4cfb646e1ad49466654aca151025a4ed11f8 GIT binary patch literal 32140 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 Y+p@{&tpFxd*)5wl4^H*ZW+#dHzdx%raR2}S literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso.pdb new file mode 100644 index 00000000..706faa75 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CB92CEE22B94959EEA2E37687128679E.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9184912f594e4222d2c6d82b7980086d2a2aa4ad5e5ddf1ed665191a1ed957c2 +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CC0D866961E5688D9882D28BF15A2DD1.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.CC0D866961E5688D9882D28BF15A2DD1.cso new file mode 100644 index 0000000000000000000000000000000000000000..b60551344c4a3d1ca4f543cde88b1fed17cc540a GIT binary patch literal 48196 zcmeHw4{)5-wcp)cAtYJre;C^s0Ux%3m663t@*e><$o69FM8=9`s2_30UTIgBlC@TE zcjZ3>5<#4VywcQZn7q7swDp@wT3%t^&>45ibV$l{XeaZAwrPf@v~_2ADed^pBz=L$ z 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 Xqnr8$GJVwBkiqm=yr%rP#c literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D1972016D72D5B585C503DFDD9ABA548.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D1972016D72D5B585C503DFDD9ABA548.cso.pdb new file mode 100644 index 00000000..b6e16919 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D1972016D72D5B585C503DFDD9ABA548.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2762fec35ce18d5a47feaaf2fa1fab0724c22b76343e7d4d8ac024b1c827e05 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso new file mode 100644 index 0000000000000000000000000000000000000000..5bdd41a2465461d94537d36c9743b391b324330b GIT binary patch literal 32208 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso.pdb new file mode 100644 index 00000000..4c41ac50 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D580014BB3F0D7F3FB392B6DE11130DF.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8ba7eb3b04a61ce95f8a1c83553a6508a1d1d37d9aac6dd06b0d4d6f40865bf +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D8BEC1C4205A6483977E29A6E5C0A924.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.D8BEC1C4205A6483977E29A6E5C0A924.metallib new file mode 100644 index 0000000000000000000000000000000000000000..3bb8a3d67de29afe9cbb78056e97e0a0948a95d2 GIT binary patch literal 72139 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 M{|^CCIT4lr0n-MMz5oCK literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso new file mode 100644 index 0000000000000000000000000000000000000000..8382f485d9662c39c31a43b1fd61bd2949fdd52e GIT binary patch literal 32156 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 JW;0Wy{2vv#AM^kK literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso.pdb new file mode 100644 index 00000000..1b4d8e77 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DB334DF1BF578B4A345D78EACFC48EFD.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b3af7d4aa8eda6cf54461d74637589a6526aaa552c4bdf572030c08ca3c3daf +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso new file mode 100644 index 0000000000000000000000000000000000000000..111e62097fa63951facd585e7bd6750f822624df GIT binary patch literal 34796 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 Dp<`@T literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso.pdb new file mode 100644 index 00000000..ca57edc1 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DBF0DC4E7C492B8443906BDABAB124D6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2bb20692f5a0538ee8adfbb936a442416925e1d8dcc0f81882265ea12385a77 +size 30208 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DC6974CAEE2A36877F6F6ECC13BBAD7E.cso new file mode 100644 index 0000000000000000000000000000000000000000..9b4b1a4d86f01fc31827c3d60a858f2da53096ad GIT binary patch literal 32288 zcmeHQe{5UFeLs>iBg&#?WR6mW;E$ch%ruxv}a4hhg;@Q`dMR%6RLtSH)G=(cv~KMlIp*s`|CykdU@ z@jjos`#wI>r0lds+Sok%c<;X7?|tuk-}~P8?!9;SlsdR$@b=eU{r0^7Sb6qaKltJk zXSO{N2q>kT$CbJc=~l#ZVWh}Bhq(KCrGAL`)?-TTOYPkCC~zUrJdZ-HmR`+!?_%Ke ztQrGuUn-FxkL8FCVhphhu^o|NE6TARkSf+If!BhpNTHN1XAAj~8qGd}{JugtZS!u@WAX{J#+1`X~DR-)T%$9s$ z$Moc+TO7_F&tf?0MkXtKpr8g}HS|TXrV7O}J%ZYu&S%_A-Yr=!U_#Fuz`sUe3Oru7 zdZ(eVwl^B|L#miQxzGKbX}44cN882*tl7p+I&1{#-?+_-ok(i^+uq5^l3P}plZ9di zrEZv0?$zM6Cp%FrlnRq&C$_KK**!cu?2H~uXWXJQSU5hF&EX;u?@g$o(R=SJgCl)9 zZFdAw0$~gxTzt%2dh-mM#^_o&%Q8vgSbh_t1gV?8ce@3WKjBOX_t!D9cXViMXzzWrjnUmZ559~^aRikA1>%pl zssQ9~+4Xx4N-5QY__0=#CoeJ-yp|uJKVel<#yiM0Y2})9a!r}!n*DhgWs?g{*(0cT z5w4|;&{yak$KZ|v$7}LsJO)*8F7Jjq7Fo~KHtXoJ0IR@&(G~F5-6nX;TW~9Zld>y> z#-?9X>eGK0RI{J>!i`F3+AJ+%N$r>QsG11f~(;(zi9dI zdeQ-vQo@I2K6l;1+3iSq4PMugmhJxe^~Uai*YydG?GoIsplK861EL$2MTn3O<@{WW z>5tDn<>-2dyaf^5z5XR1(n^|wIHFUZzO-zl`%;^cP3WPk1=7Z)VbdPc1qYOR`5*4w zC=nn9Ihbf2NSo+RDW}LlT~PnRQ|ciNameeoupIU8rz1W*>)=<7?%PTUiiWr$hUbaEx^tI^{d8MsP{qlbCGUMKF*C?v(ntBl1r;M~)!opTI+9mUl zG2+MRx~U-q+OyTC?q{}_0gxk-n#+y^#_zne=4Ygc<^@fbWn{v9Z<(s1=PQWL+Z0X3aR-A0_rojgw)d) zLu&YZNc}+~q#nT?@Aj^M8X5_ze>x4iKM$&pJ*?EJnV>rQ#{u=H?*-Kl|1qRCe=DGV z_O}7`=AS9`qo;!E8($BqpL|8B$Nma;m*zJ5!!u~EB1uc-;`Bt>8MW^-@>A30w%@g5 zKIx3PGlK=Zo+-hidnY0U-g}XZ!F&1CU2Tuu)z;QlUHRVW zvaLOr&AaKMV;qk&Sxg@tEaVEs8X+v&h#~LFO-=IV#MCn}uHUygqw=a8L`C;#wp4bD zvGI7f*Wjivj7=o3U0(>Z@K1mJe!rd6v!A?qy_E71Z>DrAZ)I!A`m`U0>5D~r^9;9a zR9R)hXO)icMeKvg^&1|l;cMmru-$R0>~7Cwig+PxUNJlNRjZ$MISx@TrIZ20q3#Wi za-uG+-i}g5m#jW>TPMMBJKyVr>=&3TKq-ElUjA!MOD3Nwob=e&N%nF z_iSPovnbH z&~fwW@tm7+wmFI3_@u1f99tA%CtcE%F)S>wsmSRaE~GOtCl;$P>~>Z={oRh1AR_Iy za>OjB9$`shTPa=oV~8gT*^Hz6-W^NlkGj}&R4a3j19camT+Ox*YBhvtdVNH~wsL~o zm`o|BX!k=^wW?xsmuXpBTcn2BV4(z76NOStIK%jAiAG^2+niE1Ux&zR&0%Q{NaYgR ziO6*YoPhdJ8@aCWNDU0)pn6**aY+$MyVj}HBz&~hv>ChUcbqA#>kq?T^-eNv zL3v#zvN+f?lFN(~N~z)yZM|aDfSEmW#<2UVE!!Bj&$^8Tc>N}9!BQ?+L+{L~M?6c= zLS{_8=@N6XD%z9uSYkGwz!THOA_hXLNNIik+G7Hl3PsQN$Eo!1>iQOU-rKA^fCYY!qurRj~uIMrB;Mkt8U2n8`ti5O6a_IVXw zTj|gq&!u=*bfnrqMf$k2dYiS2-Wl|Sz~PxZ_$k82i*EX1T+qea9!YvVQZtZF@QH$U zr^Y54E9PWl#WX@eF^y1A%t=v9q{{d)$55#KQ`={<99x%@tC8wqH;qtN*kPB*HIY6( zRv5AKIYi6r4TzYXJ;wq^Z#Bx1SKF@XDYLO~D32SO<6z)x=vp{yckTK~c)qG?dS@O% zr&fBKL#a})!;N;OSXBwQ=c;-*@%xs#S}@;aWm$+5>8Y;1rm&XegSO&G#+^)0=gROY zRkjVSc#7x* zo{q9+S4{rfaZVHH-6J@0miz;`FlFPGU~R z#p=^7rpuffZ9m%QnQ#E!a|O>EU;*FD)wlnLhHZLFPmE5sWNuaTBD=Ei@ZG;$X5k6D z^GS6a>aVc0Yb#VKo$Qy=N9b(Z=JatH=G-H$%!$Q&H(_$7@cIYM=*FETwq*Y;XZWy$C3eLXLE?XEFy48)4sv<(|0K2Gzk zy>m0R(No8Etyc9NozMQIfS`R%tCpkp6lX=c1j=v~JO_O5r|4yJ0!i*6Bpd8zO5s`5xtA|t|~sWDZVKlPbh-M z(nZ{EsuQKd>kr2@WM{ryJf-NnsR`_z?qGU>2OyZ*O^-}l@owlfzyj(8P2Q{S?!Y!% z6;Z}#>jHE9EL9^N0lkx@#qu%S1u+zXkKW&2 zp3i(l?df<5>Cf0#5d1n72}KWw7ll+L7~K>3hPdYk`X{2&b+EPF*C?_t@f$ATtt909_`qAB;C_ zQT-Tm0eydIKtHiGCE7 zbVj!T5(C$k_St7UVQbr>BZ1S;hEKuPR!2us^)1nE$l4WI5lv89F!9Tq)bcKEByUf2 z8|97M7QGuqZ;uY4w&BQ)(XCqYp-?KaAo@`l^!3pmVxpS?32C)BQO)#nO&f*co^5wWv3Af41nI?gFPD5V-gm+Bp4y zz{SrHPCp=U`k4)$?bkf9n_Dck(r5n{v|LA8j;OcP=L3%hIo9Y;xvjoc$&-V*8Q!M( znRYtZ%ob1sEe=kjo)31Zc&J4=C@wT?b3K|a9}U}IkA~|R(H(XAA_fP=AMwG-U*Kat zIC%>EAmEp@F#+HlLF8w>TXh?|T3XcW!EXjrYBAavM_Hkv4E1RGeKeG(9?d4u_}kbD zwFcDdYQP64e}SibaPk!RZop|DJet+2svaT%Gk1{sSTYCZnC?asyBXEEH)Q!Na z>#u%lHFxcmdRYGjU4KgX`= zDUZN8CvEZcZtjk%9x2T&g2$6GoYgYCtV>8;ltJLNG6!T5L`H^^M8VT};f z-nr}aR(R*m=+?mL3+-Kc91Q3h>`O&`-T24Ifl&uJmSaxhT9x$$)qNcg*gD?=AS88i zhB-Zh1xXllQxZ!X!z-g;O&%PA+FyNQedl^3=d{}Rbw%yJu+hx51_uDS( z6}Z^0SwF~oPzW?Ac{?d0j!26obE?W7BK66?IAzv6RC>hG^-w68s)GAJT&_Lsnq z`QYp?f#(3fq~7;oC*Rcdc540j>lL`)ZdtFuX}4AVqQ6W6;2gorc+ZPH>#o_%JMWvBG@%U6@5Anh1RIEOMaV0sG|o>>0JS z>TNsr(da!RC(^lTmxlo72%>wA-ITsp>D1dI1x{NK_+s!8IQvB4%YAUJ*96Y>8rxKf zVRZp8($kwR3_LlS9{m2U|9s0+GO)KRR?X}ri$P6A-zr2Gd6Eiz1}6B>t3YloWa`>3TVY$I zr+;AHri$Z}d7G+?&D&J_L*k#YV zsp_$Lo2p@(x2YPjd7J9*UXlNpfvYKtx2ayk5zn<8QoYV%p6e>+zhmibs@}DEo2o91 zPtw~|kA3Fp16ZEVE&dvLo2prxx2gKF&D#|I;%3CoW_p$Bfxf)nzn{ZKxaQOWa~T5< z0P&d*!+u1rRd7a99*}K0AZq1W`7{Q z($%JxFIfg4?TgpT^|cD}n(KG)4K7kkmyqXeD2jwXZxer$#V=6Hmhc_X^594>Rv{X9 zv&I>oD=i(%@YySQl1(%GVj7tLjRe2{p*!PN=<^J;*@jcV?Bk0#=fm)njl8EjLjb~3 zb(6LQD!-%O#P?AQj_sAPFkr72fd|V757Jc1;*6E>Mar_$MwV$eZS14G ztea!h@HbM>a(=i}*_gr+#Sx(>>wc z1suf(8BDDoWR1V#x*YJk!Z~}^Up33U|Im&i%MrT}W&W9#CbnpPvoss_jlZgVPs639^&G~1NIZ4q+R91p9>hgH_OXk(gGd%tgw7u2^zY} z7b6V5Q{(Aj4Bq!?9JK=FZvp-~jWZPXi(Z;{1sBj1@;;XvjjPKBHQxLcJyUO`Y)Iqu zxd@!wsP6OX$A0yB%m1$16#(qp&>yN@uAniT;G3w z0j*m%oXtP1|Dfc$eEPUsQtL{^iFLQbv5j8fygeH{9q8ZbMv)h)soR9by78j(Dwy{%c(U&Gt7na1CoG=t5X6F58l)tOq9FNMqNxQ5f{PE5phQU^3DRT?k}yFjj7(KpU>5{z z5R2?CNJy44YlV)L36ro5$D_2$gl*-HrqUmpsohBvWunQrZQ5!Qr*&F2qt3V;O-Jo0 zjU{U`?u;t-_q*?$w{IVIK~hqp5AG%Jp1tRsd+s^se!so%V&uf$eU-oX^V{D1cf0fd zXl?rc{m#Mf_Qyn|^1C7{0e2%_Y!&H5VjA)J^&%s;h>U`MY-Im|G0+m=nMWq$mlf|{ zj(xKtY0!?1^z~5&vWbV7M%;+lfymIM`M@eH*8;yYZmdH$8ewl8dR+68zP%2e`jW=D zn;&(8(GS$28;$UI9eTL@Lvy*A$$Ux13Z%v`%AKCai)|(YBE2UKQuR0 zki9drvlE4EG3QcW8hao>j4hO=_aSRJJ6A5r3olUT&!Oz!1AK*rX`rrDXMP1fIt}aV zNc^7wA3{rKi_bF*KrtINeHnoig9m{hMw*eK5#M3(RX`s`WN5^941BMEK8(oFi0>ir z(V$^6AvEHf0^jge@Xdp-aus}!Q$OX4FH`QXQ9m#Y128nw?;ldXtKfTq`hkyi1R$?a zK7!SQ!8d@va20$%0pBI?wfSPCjqL)#WBB$#`!|A%uzrNX6JJG++4n-QXqt*X$=1wg%SAt8TC6G z3QK#gK|PEVvuBUxe{msSDnp{$*g!OG{E5oJS0}fHgEE4(6N5UY9i5sg<;#*gTPWth zb;GiHzYp1mXC{krH^%c2S>+8z47U6E?@Na6;993%;HO5rngTHjeqG#84@{8 zv+a%{S|E-gfiJ({e-)cMXc}W)@yyFKeH6o&Sn@$b7B$b&q57S?h9{qWr%sQ6zrWMxe-ve{ z#dos{K1#gf`Lt7@@jGQPPQ&~pU^iT_){RCY?G?}E1zKXmzJEYpd56(ew$W|}&GK$A z9);f(`PDy;OXZh;`xY^tcBQqdeURNgVK{|xl*_>ON&6VWvfcq7^|$g4{8C_3()6T$ zT&KXE7V_S$dBSr3Sj*e2u(j;_Z4||tY_z!qWl;v&NLvxS^zA=u_kDWcDGw>EZxD@6 zo&V-@we;J7+aa>T^xL5I1z9mGgK`m)EQ7Xxr^UDHJLkO09!C=SJRl^mdxMX1!S#j?R4d^?D(+Ai~strofd%-=s_T~#bmNiQcvcg z4wM6#?IzRoA`fXuyE2&1{H1tDZ>@Nsh-^WO+8O3s&Q9`$?PNNvuj#ZYS*tH?Fg-&y zEz#F(B@F9pWz@6}^@-7H+J@HMmD&aKAO!7#db18U{c8PoL1wejp!th5whIQ+iFO3- zRdw3LVey9|Y)cH*Z)3y$n*O_?zHN1Fat{KCir#@kyhR0Vjo81OSbbKYv+LGyRHiq+U`iT3HwJk#W!Rl1~`Kjth z*6(c&#af`IA4TaOS3feJvkip%k@lNluD((~GJeA4+7apDe#Er(Bi1u%_4*O{tSv_S z5%U=>+E&PG?TBrd_PQ|$kZIVxWIR^9qld?1$m!r%b)~*){pm_`AKN&>$I@rlvNa-H z&D>`^_2xcnKYts2)^wyltzHRj?xX&kXE^tnj%<6D&v4qqZUQNvpOC z)I+KW+LgwKUrG2nQ05@yS)JIv$?O^c?G7!=+OpE_$Jo-!vS=Ul3~WL=){Y2zu%C+$ zgDDb>PF>@}_=to?W7o})O&_pqh6h*pkiMcU_`r>4q!CB`T6I6jw1yzR;RxA3=>K;h zo8JT3`h0;nwsoW1a|g<_x;U`f&ue_786R~C)?dm8lq=8i0q3BWM|E)(vc<;Xpam z^TUSmv5~#>0)&m&NTzK!g^}zLQIQJwTB7g5@pf?CP@92Jo$!7SBdf=m2OMFIMb6uEqv9~Yw z)L(g1T-vq&^w(G3Q25_py7<;~YT~YU{)0JyG{$gv{VM}eRG8fS{weVQk2-ifcfj)s z-rXM09u(Y<vtL>c=+ z4(s=7j)E-wa!g8pA@X0}i^;!vNF@91xWw_J=xqye8T(dDrZ>gpKer}i)q^p)=btC! zTbC0u`es7@yge@e;D09MaqM{a;K19VvAEp-8*%yR%L#eo4`Oopp@f|J-I)B7_v7-$ zzfH)Ve-)P}|1u^k?uyCKZ^z`><09w&Dki^#AJw1yK6aSFqk>OK$N7w?St=J7Cd=Nq zo-LW1UnsYKL;HNccRatiuYjX6CA26zC6d9AurM=M_AE;-zX)>Ze2OsyXH;@NJxGt- z)BfZ=?d|Qgg&$ogYw5EybNOu1^9LSps+c{suP|FEMwC#puZEpf^h>f+EPgqY6YlJj zH*V(^!Botjnkkj@#q>m`J21F87N#fruivo{%_2Pg4Ti_2pmUV_>hk)>fomB1>oWQWhHDrHz!=!y@WgO9%S6BPg&T8fj`8Uz z60A?WFXhXJ^QGy-*>Z7aG40LF)r@PNcjgesH_vnOiuv+FanAF~#q3;ZzEH}ib-=-b z$i8~%z8){*|L^Xx0VxfP;%kwLUxFmQySv+icdOwPXpew|t%|lX|I-d^|r|N;?J2 zd90GqC;{m+Q(ih(D5ouBk2$)p+q=)Bx%sU_Q)sx!q_IHuoI5p)>JRe4CCU73Dc_#_ z23RL~0AJk)DdG-L^sDAq&s2QX-67 zO=IZxWKhXfWY84-nLHR18+PEJ?dht;UpT-%|4WZow?9EGC>C}J+9u8c&*sJorIF$x zb}=vLRKWS~KKT7=a7n*Hm$H5ZyTW4OX%h>P_LU`QQ}UUek~zQJY>BCK4ewdslVQnF zcyggwL`NMdQrpnH;C+>%9u8D-(x+y#r%GT{@j+gHI}lQ1!rtS+arMXM*#rEnn>=sl z101$$48-8&4_x32jbfo;$74IR9-}p#p~i~i2+IF;*j%4!#D~`M zXzA=sd2-rIM=V0e`39}Xmh$LL4|sR`9b}1WgXy#vG(g+@b$>PUaPMLdW`#PWzQ&~f z#-ss|x;(7@TZ{2P=mS7RN9Pn%XTi9>kT-A&8o_l)7~els<6_$#?D^1 zYPUD5_V2K2OTSnwr~7-SuBAuT^m;4~w)#6;qW$ULE&ni0uz8M`vEjvv4n2FKlnz#Z zT(@vea$Dl+Qe*2iP8b+RYKq}-5h??vPR?de&xgzH@%7a`Xzlot%;l%D3$tY`FGHhF zbkv-f*jFgd;myH&Z83$lQ*~k6yNI3;%z$A6mrv0Jl6xoc=XD$7wk!}EjNn^5D~wa4 zZjgE-k4*24Y|+ouk;%m#7Hsa3fuH?wc4lt5EgGL1)Zd`#o;$SvnDO5@_utNh{`TBT z5nN}wU=1X?!K>!*w`-hrYGmr9vjuqnAy9AdFgj-w68AZ}Yr$q1k3;fBJQ;yD+C24# zFswv_2hu3lwN*SZ0+VYJ)eo*@%;Q&|B~(q}Ou={7V|1hJo7Ce48{q27-Cv~#dPHg- zov&(X=%LVQ)@}6hnU%7%VzpfNSS{2zEQ66l{;1WX_c87rI1EsS&&V$;pAIwL|Lgbv znm^<}f%`FJ&)p}d7G`I+7V{GeGqbsq#|wqo(#f&Hd_H&bSiV$PDB@a(lm7e9rIRDz zI%V4pZIXL?&tUNA9U0lbcl-Xq9eeio@7g)IC$o2CX#f5LyE22B{(+I5`$u{wONHL) z+0rb2aEz2$c4f}HGVvf=%PhHfu1hC#EYn&yi^?xfO!#HyK--=l+>y<*%xq>NHKD@@iE~nLr-j$PTVpelDmnYBIori0AU;A zi@?R?l4I|c`_}Naf~5Gfi_5Ug$2u8XgHs3KXi+)7bi?z04`2TIPWr;|xYi)RQys&1 zgzz5l)Q7J`Kp+3BtAmd*j!lOF{_^uG1@9i6ZJ$os? zp1s6}?d7{eCMRrf2k=Ma@S1agkFu_y_)1A8QjfH*O-M4H%CxTQ_{|?Y(I&~B)P1qa zi>)^UJ(7AT;U%}EzMAMtcBLN1XFRpdF>Zv2e)tcs(;(QWjvFnm5H`Sv{)o~dX|&sz zytev#?LTlw8UHkXcufWa(n;tS^Yx3T`de>LJdt{^^@c<`wWW1+Vk0mu_`IdH4WFx4 z&BBJ8TRRgSt?`7HYU3xATm|ZSQ0@opNc|kJ^Qlqf8%o`S@0FL3r9F|u*DjZZb_H2h z&8Egcolos+ZB2}%ZUfg-2OV2_8Meb!w#vo2d`F$Q9kAgkDnoTM_^iC_WDg-v5*l_v z>$X)Jk&1(OBK74}8&h}V+c0ct>8M=jLJe(5^~JuKZms+os%Ud+oW4nZKGjX{kVgL? zf7nB~QlYMgdQ$h&L&-Z*_aV=nsY57fGdWxx=TbeSq;>(5NUei= zJfx$}gEZ8KFKZ{f-VRxJr4A$i>eNnHzcIBp@l;Q$i&<$VVAZ8pmpS=`)P1hxFH<*2 z_QhlZk6&5LKI(A9xokUJ)|Ko`ZG}iLbvF#8u?gVTpq>-ino1o`^rQ>SCN@&W@lDM}Bo#UQLXh)qebp({pN{&$`H^`9G(H)3P)w!||l+R(5v zi5F8Fr48~uh%$bbb|rp}UB*wpU5TITA@e`S<_j3DVp5T@5T4~49>?PXe#$re30H2! z4|qX#xnO#-+#4}A#^h(KQNQs_Jd;>l@ob_e+0k-7H6m}OS|sD-`|XGNT#0`$#7{l1 z#6JZ7upi!aei)MB5Z?J;@th2d-}zbb2Z3kb;2hK@!6O@Bmk;I(mXUV8co$aR81IUY zByuZW!hk>0vY0v{KLWM|qS&_inqQmLJd9qx5Kv8LO5r_aG3kj7hw!w;@L?NSM~0`3 z)$(h9H34ba5HA16uKbajw#M=eA8u{VeAdI5H;h)!5H+3?H_i{xUr6 zXP@`|Zx8mDH9PP-<+q^g$K>gFw2v7+Y&Z2Z{6}Fo?PzOb`9F*gLuIQEmSgy^-PG6c zAJ*^6MVZo_|6cE7xec6*7a-G-0aZTJssH!tYKJ|PjUZ^K9JHoV#GCP}Gz z9*mk>KKS*D$p!UyVYO>-Ek%*!x(R3?iQ|UyJ34WJi1d&donz#9s4lr zFaFb!nkU1{s}RVfEhn80^Dc+AUFu-?s1Amw4*l38{19W#d+-PMYS<&hQwOl5Nk7rC zaUN^WJ5xKb_UuSY@`ltdppa)T^j-trr)78bNC^%ix-)ubva<_$yit9HV0u#jm)(5d zfpNR)E9!4}?q%X~WX*R}*H=+?!gL+NdiLB2EQaHW99C~%035=4zBQ3aZNj3q^1NGF zw{@f|7hui0RCnxKE!^v*c3?r->ei-S>MpG4R;Sz&H+egjzQ~>2l{$bm;t{M5GpVDX zufwrRZ2Pnu_b$aAjo5DZTnNwc$neu4yc>`3a(WE6 zy9|f$Zd_A*xF5T5P4Nf8zq#5Dky<{O?v%ZV7Y}3dBVn5`JY^fc9Kusa!!H6KuFvP! zM(Xq1m#(EgpC0{~>(k%k`s2Y%Xv8tBTQ9}Z@+j;y8vPZfv0jZvpM`1Bx*g-C5qL@$ z_A})fKI~`8GCckKLF@JvTwcKT6fTpp4IeI(b!+%&-JZKKQn$Z${95YvynKS{Hs|K7 zpVY0}FfCfQVOq3qTiiUfv~CR__A~u&_zzRJVd;-sHaFvZe zXW%Ifo>u%O+Ho?8#}yY&B8B$Hxq^FQ%oR0fi?3z6u(5@@yaicUuRwBj%wbf38EgX;h*edUWcReCk3Z1bV|I^7IT<*DZ@5+C%?@!17S8h<`9pHZq zA2RSRUEaIOfY-0E7xABgLPq69;3(@=A668~o0?WAEyzcHh3+{S(|lgW{9{U2==S%d zbDvK-_v1_}bn__l&(;QG_6oh zYFeQzYFeS3*R(>nhoXG$r6`|!8m1M>dzw}#8?mn>U7?IB6ES13Qyv_g4T(+b_a=FHEB(9GZC!-_%~*0e$y(X>Jt)3ib}LiMx=9(MEyJ;RusxXO)GS33i5MpLH=_}S16Y>tx&$FX@&AbO)GTw zJX0R;d#1cjtP_}4C_S21D5IKI=++73=X!zp`S$^sRwyrPTA{qAX@&BZrWHyX);i3u zP%@fUD5IKIC}mA6l&3YVP|j;wp**8$h4Qkd70PRxRw!?2TA|xZI{h$6(cZKVD++~s zKGGG+w5Aox1x+h-YYFmmO+k6DDqW$xscD7so~9Mbdd&UIuTX|Gtx!&ATA`FRtxzs% zTA^DTP#)I^)aP}jE0h+jZ%9`to~9Mbpr#eN^$q#C&Y`?Tr7M(+npP+;XVUTA_?;TA|EqTA`fRv_iS0X@$Z)HOo^duWMSNyZDxL?ty7< zmk%onWkk~oh3gISE0l_+70R=kRwyrNTA{qEX@&BZrWHyD<~Yh%C}~YAl!Ka9=++P9 z=Q@J=Ur@S2`8`c5baN>AIhT_EO{FVzYar6O79zdJhZTi#T+<3=UegNQ-khq5>m#NW%AlqdVlQ|bVpkJ3{m^U&&3^EAJ`QjXSMMLkt`mqZU@T*J4UuOR z82%n2pP4f3K;$z?hC_&rzH`6Kuop4ozG1%wIEZ)>@d?Cd5no1p9r0&~>#;8zMCAUj z8LnRs@VB*_(K~Jc#Hp{fY!3X5eKk&AbvRl~ZUVerx^5Z<4ckH&ff5-O|MWBdT2i~L zzv*Tm+2;9uz56b4ey1GBb>I0L3%{?Gbq;?A!~n&Qx5?Y3^wo0nO$$J;k9Yo4JRNbg z+a1l9|9RzO9-befOp0lSYxBUWf8WRZeO)Eo0Y6@Z7u#_QAnW-u?)qVPS|he}a)Ahh zb#kj~4|IB)-wgWYr|-OdKoV%eq1w>$6S#lft;jA-{-vHGGFu59CwM z9kPN_f^m`3IwgEfjl69-P}fdvip<-uI{4#daB|-1KwPKlVDETad9=mGQkLggd3v&M zHTnm6I6m{tAKRYO5v`B?WhHRzORY+yz3dNbk&k?qkN7HoLip!*oGd`{n_bM);oCJp z9m&JKX?<)MbpN~GZz-2N^gZz`gTJZWjPJaX+4QFj>*N3Z&v4@N)wt}t9j7FRaUauj z5CVELTpu35MJvraZ<=@BH1E8r9zPDQ7tvcN>|H#(-_^YHCishzdU?f?Yd)HH-p~Wh zJ8$e(o#vf4I*c^$ylLKf)4cPhdFKu9*5NDXp$p)eciuF(S*y|YOds^-rkXSCn5L^Y z71`T0H8&*j&H=k}z_Zn$okQm}1;KT3pQwveYVV|g3I4Tb%{y=Km))Cp-qh=AxZkc( zSHnGJjY!vPFKpgcADA6O=T!u68J^)~Xv^hmoDIi+ z-TN>b0W*lZ5f36BM|>1<7I6`g^HDSW?Rj9We9^sWL_f#$MyA{4D{F2+qw$+GM~KUp z?N5YJlT9J|D>0uQ%<_6^I{7GPgUYGIeZF!0O#%Ow>00^)rHB5ig3Eua=6^}))u(2D z{@Wa#V~H<6bR|C44qsX0fxgnwd=C8sB2IRdhQC*ZVCO+fkXD;F?&$s>+KAE;j^;lA z61f9qe!=O)lOn!OTBd)QC9t2Q096|XYR|c$Aw!e!srSHgfB*3ktlKs^Gxv4=bt2g| zmpz>?$+l8)a@%x1o68p`W($*F_YqSwv-#4tkKr!I7U+mqv)pRpRzQY35IJ^nVB@|D zui`i!0Kw~HE;RpsrSAv!@w3T3ckg3L+Rv|+@8K1aRWb^)huDKyLA1b4AFm1x2V2SU zomJ1Dz5{Yxk}}OjBf>P^b&1LM%YMrLbeHDuN7 zK#m2}^)|%Y5kHUUA$|dord$oc;PV`c%7 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso.pdb new file mode 100644 index 00000000..eb10e525 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.DDEB5E46AE2974A0BD8EEF904023D7ED.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e2c68824760158771dc45c1e62e906589e71507a899fe599f5757cf3fc705a4 +size 34304 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E21668FA3F80C375943DB33466B664B7.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E21668FA3F80C375943DB33466B664B7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..2dae8c8fb30de8ae82368670c7a88e7d0b8b6b03 GIT binary patch literal 72379 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 z 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2A6EFBB662583C8B826AB85395FBE8B.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2A6EFBB662583C8B826AB85395FBE8B.cso new file mode 100644 index 0000000000000000000000000000000000000000..ab5a32aa33e3c25e254ffc7b7218819a9f415870 GIT binary patch literal 35588 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2B113ED936BDA4068FB8C5E849E995C.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2B113ED936BDA4068FB8C5E849E995C.cso.pdb new file mode 100644 index 00000000..e7af8b86 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E2B113ED936BDA4068FB8C5E849E995C.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:756d9da51153d8bfd7e6be738eb2c12af58a206b99a04b920333dc2dc4cb1cd5 +size 32256 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E7704C9D770808997358C137DF29684D.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.E7704C9D770808997358C137DF29684D.metallib new file mode 100644 index 0000000000000000000000000000000000000000..8275d31ee2478a405887a02932cadb385ed3fa6c GIT binary patch literal 71387 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%0Dp6Ix&z$yuLX$(znB_+c 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�R{R*t5Rf9S@wB$UsV)&gefq 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 T{|Wpj@Sni{hk&S@h|2!}8&h~( literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.EB837A0928B395784434A7A111B53B5A.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.EB837A0928B395784434A7A111B53B5A.metallib new file mode 100644 index 0000000000000000000000000000000000000000..73fb7bf24f0b06135edbb82513457a81c7716bbc GIT binary patch literal 71947 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.FE9156D85DC490262296F717A3729F04.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.FE9156D85DC490262296F717A3729F04.cso.pdb new file mode 100644 index 00000000..b3b0658c --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexBB.vert.FE9156D85DC490262296F717A3729F04.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0fd648db153e9220bc35fc51c87894f6dfb89d08a40e982e17c149f02e323029 +size 36352 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso new file mode 100644 index 0000000000000000000000000000000000000000..c955202715cbd66039350f5ad3523386013b0433 GIT binary patch literal 23024 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 S2KNrcGSQ)U-+X44UH)HId=G2@ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso.pdb new file mode 100644 index 00000000..ace23404 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.3AA9FB07C369A60580272C87CD195B48.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32686d4dd0dd910ec499d0085d6d87ce382453b221043a923a24d3f2e97bcf40 +size 19968 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.54B0DD8802234A5C2D1599668B7B9206.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.54B0DD8802234A5C2D1599668B7B9206.metallib new file mode 100644 index 0000000000000000000000000000000000000000..59821ce3a31eb4ec595b8fb21100800fafea294f GIT binary patch literal 68818 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 Ve**sr{3r0A!2gGUn4GBc{{V8*N`U|X literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso new file mode 100644 index 0000000000000000000000000000000000000000..222057a894bd68194047d795991265b9eb9ada46 GIT binary patch literal 22732 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso.pdb new file mode 100644 index 00000000..4f51a343 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.55B9ABEC1E3A57FF5B4B48F003CA9752.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9ddfe30ea20998c1639a2f77c7175d51de458663ee9894c2e2f7d7b5cd8ed24 +size 19968 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E0A95D2F1F3EE6F204B740E133E167F9.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E0A95D2F1F3EE6F204B740E133E167F9.metallib new file mode 100644 index 0000000000000000000000000000000000000000..f8bb36db16b4f035bf7a01c64734f971f0f3a6dc GIT binary patch literal 69122 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso new file mode 100644 index 0000000000000000000000000000000000000000..16b473435103cedc7795523a5567d4ad68188079 GIT binary patch literal 22788 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 YrV{;q$=+md-@!y~IvJbKO_THg0cjLbrT_o{ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso.pdb new file mode 100644 index 00000000..dcd3e646 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E4DE4FF3AC2C78D948169907E0A73083.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af919b01f40ed99d4e9006629c45ee76816586cfba914a521d9b8ea8b189f842 +size 19968 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E82AF2A7438928C99FB4380BF1D38EEA.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugParticleVertexTri.vert.E82AF2A7438928C99FB4380BF1D38EEA.metallib new file mode 100644 index 0000000000000000000000000000000000000000..5cb9ce101801fb37c0aa11fc1badaae434362b78 GIT binary patch literal 67698 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%0D#*jp=(wQCpP&^w0t6ZRKWza0eNh>8b)W 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

    *HwpxeJ=61xy z;dPl?89?yt*0L`5%1oc6}j?FmjWeci00#BuGl=@@egZC8|H4y|Nus*CK0pcp_Cr#bTF4J)KOt%$a%0 zYGX)PN4U7gBlrb@QPdK1ZSHroaNn=ZEaL58cHJ7FWlkry!Qgone13{5OR(`~c_D0X zFQZ$A#^rZja>peHf?!VB=c>bhddqZ^WbH)qR zuI|AH@pz(_Tc0`LqtIgIv|v-|Bai(J+LNtM@J;GPo|Suz?|}Sg$6u{_8zO#Te$b`( zuGP)XSkRn!CUUw|X5Yza9hD?sV@)`DE8#@98*5ufJmB^XQNBo=xGVt$>>AAr`JI@Z z)tslV6n5n$c&{xW0$+WH&^yad&$)%=M`0bd6=v6d-TlLAw2j(nkz#y+!oRuk*}5Jw zO)tELg>2G6CZQE5ML)JKbl1ewCC~VeEa8;F4J?UyLBMb66Sq*Yzlo%iHL}mBCw0N2 zqapm(W4OJ*J6N^k;Hp9}Nm$wWd5v#yAht0n-1CJ(P@0iJCXx|_&Ea<;ZN-vbJlB0) zDHCR9kD|xBFH(&1LV$B#JabSf1MuY4p;Y0Km?sLA|{D{)%`lJC7DgdjE&pZ=)6=zh+KA|th?8U05kz3)I?o2}fXi7}i+ zrU6zF0Yk!Ti@dBdCsC2}Ej4A>Kd3ymJW!86O$5SUJCc$w4Hse9#myQC+kNE08NG{N zbdKF+$;%`p)>gavgJmVf)LjF{9mwz+%dAnmNs8op7Cx3=2{^9DCo&xi(@x!HZ$^Ki zLg9-o>%A1I5)ATDq1tcGM8!XB7)f!b4;IBzT)p&Skah9FdU8pDyZz8KrLk@Zoi*`5 ziUh|1rG*B6&&=z?p|nyn2ZSEz+Sa@P(p$h|=O12$3y;6}gaRM27whj81Te(*<37k5V`El+Oe zjH<}7&QF}(Hrhtid$lzt7i4{7+Y3+#qIG~d`T79>LZSDNhdVeMj1m3c%AQAO+A#$~ zgyn=;kQq06jdca1U)3z;8v5XlgJwv~b2(Qs_ z9CcT>$h8uI4)2?h(s1eVNXyTlO(L`$^WYD-@jRZ_3jp?e_&jjjFY@#S8*X1@4H(A` zowTIIC6D5eLj~#j|HfqykXfsYCL$_Wo?q%~KPkoQ{VN}|nzO#X^=?d;0n;3{XFf>6 zx}5(+(T!iNc*gbOlc}gE4L2$UnFfF7_zcxC^1`3Dd%9_Rq$Z?#Ja_}z$1ws9N7`Z? z?07$+r$u^0uR0g-1)flLbbTXk*Z*vM%Vd|=FinUxw3 zIJV*a(ZnKs;!RE}O`RyCK5kuvkbG&G*uA;k!?rrD+DG0$sD$L z8A1b(M3_t}I6*X;X2-;RV(*@dYrDcNCToK5u``3K4jSIMq#G86Aj*TMNY<@3lEut81{>pkn!wM9y=U0o-#gi)+dxokzDO1?!D@Jv{s#SVn#z|Be3y{uB65;6H)? h1pX8FPvAd+{{;RM_)p+Jf&T>l6ZroS5R(&C{vTK1yomq+ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DeferredLights.frag.7D4CDE3609CAABADC704CA9E51BB9F61.cso b/PopcornFX/PopcornFXInternals/Shaders/DeferredLights.frag.7D4CDE3609CAABADC704CA9E51BB9F61.cso new file mode 100644 index 0000000000000000000000000000000000000000..4a97b9199ba6f704cac197e88dbe0b936385bd25 GIT binary patch literal 84236 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 Ihiv!%0d1_F!TzI<^!9RMe=*Vh@Vl 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 z zOA;D&xDx?D1cTTM&RyU=5}YL&`i=*iR($#AplVc8k8Rhe*2+r-~g)7@WcRA zBF8Wj!~0BzWi+E7n(^gFhL2_p@`zrZ1t3=P^K@f*-OBFCsD;|2(r^9-*t8GvcOjA8)hxjagYXO6_% zt<5{m&kd|4b4%Q>mU-4Gc-@iaDvi2oS7X(O&4hjr1c;~M(C~b7->vaVS3L9;QpTr>8W;>P$+=E0f#@yZCk2lNn)#gN(90sBn6GOA`A2-zDz6lljt1U`i7LAsbR+N)Ni5*tByGi{;9W^0uv4CBXw2QxQ0M5rv z+SSd^AMYFF=!y%%I{Uc&v&tPC6bx*0gFPMH{QgHB9_tIpEs#^ODI?tsn!z%e)?z|GMQXyxwXj}2D%gC=AALxOevef;rc9C@ec>*g2ii1P~w z2@V1Fr()RPU_8z_B-jmo^iVvY*6ols02pzAn@cb*^cPb(a$_sEa9w|YyepYBz&{8V z4Cs>#`}sTmgC0Et6y)ta8cQc;FoFr5jYGz!<{2IJ8^2xvF=FuIq7fy%=} zFvBFcwk&`HmK%A50rw=4XBfdP4<3MP%k`8^6L}HBT?g1? z^W+jal8EBNsHdd9W$iQ2kfrEa0wg>W646+#-2}7^U4j$?ZMz{RT*Co}ZMm9>$mVYN zIJeJP-rztp=)x+kXC@Sv34P3^5P;Uj(%vA@)_tUvhliQbHkx5U0nS~4-2H)9x$Y8y zKYd^|w#_>lQ0GJ&>BP8BV82kt@M?*@4kbvWxu29a(lAo_A+0XGe)v(U)O#O4RsqIs zC&s-cRwbo&r7H?|9ICcq0vc%(kgux=g#1Qb)v=zKH{5+?^yE!7c|XkaD+Ys}0*f&OXagPA zxE`y16<8RkG)rSOfJGv+hrH5aQ6LZ_kh6fbCCTeH6nMa?Oav5cd=W_ji$U$Bkqaxl zH1a?V2qXwO$rS6f%x9U0h;?FZqSpbr9`aBH4rwglQ-?gH0J=$5YE?my)w3=b=(4aG zMBfZnX$F67h7dMqb<^%T45SV3Au`o3?80KKcPV&2|#v%;{%!IYy+y~@ji)#SdsPQ@9T#P0Ahw;Fp3=aEpg;n zfzp+bKw0T%YdhLmS)Nin4D_mhxb&=J31cHIR2(_lyh|q zK8!vfmN>a^C2&(CHk117-FSLk=~vxSK1eTqc0X(nhORw;jtg>bI^KR7J*^`>*PTFO zKflaImQS9^WlXZ7@md*tdWl{vU?7R89fz{nOZ0#er6|5S25#^|1sPVHrU|fCis_dD z14Iru7lJ|=6vdsXDi({S5_k)7%Fxw;dZ2wU;04h8K(qBOcmjRW5*I;};Sx_isgZ)o zhpMrkc#ldRsf3F02kodRggZfcAbKDOfF}+9!lRJ@eFpC#eG&=aL)iHbA11y-{CTQI z_7#S2C{_$HCN7nKo5VLP8%z>Q<=@xlndSs9AL~bhZ#1%ZGa4?lo+47lrXm$|VKMO+ zZJH1$D!y$J?_F*2RDN)z(+o1Hlllherwfe8hvfOyuo3M%2Iq&d{luwB=^d zMsxxqE{3Sh36M9C$+eG8^Zp`l`%50*<3e52NPDvj+6Iu9#uSsd0P+?xIfX>N*e~*j zf62>YpHbgN(KVuJ9|GhZG55520P+qpIZ4t+{1^G_zvK^ek3%TP#;n#+1!QkUI|m@h zQW9HYzoa6$^~mFM+CT{jLZD1Bz`UAPhmn#`XP zqq5h7)cMHJ%GiJ)n?wVt_Dc&wvVTl+56qXU6TrCV#JGlG2F##|lzJ7jXOCiDI+lQV z75hLJ@iPdn+sG^k89|V>aM~m_MjZU}BjXPcql9b%;$!SH3O+(-8HtO~NzcCbf|=Mk zsI8gQNu#}&fkYlEF+hzeUwkfhkBgab@Ou(KpR*9DzoUM#u`c-sjWMqHpG5o=gg_4U zeANbQ0ABL112M1oyCVpl)J~wkb#u00CB>y<&Q6DxB30@;k&FNvgZJzuO5^tIkw7~V z!;})>3Ho*?+8CObh@T>vy8jU{lt1;4tYHB7+xC(CV79I} zz$kHG+f@D}y|c#3Fp?a1ATsqL(ge1AY`#mOJD7?eF49G{XFtZW;vZ`Y$nq5gC@g}h zBcA>T8H!@seiYn;I2!~<2eMVj_9Iw4WjQD4bxJvy;yRB|0^DKOW&2TV6ke(Ph)8Sz z)1mPj`~Dc;jZ5e@Gs%&V;Mhy;4H!QfOJW5~N#i{%Tdfb`a)Dj)M4tO))aJiN{R%lb ztQWvpjpdBc21vAVHjVLrRlmwL7@+3_iM{xD%uBNH<6uwp-f?>3Y<&DdFclkX0&eNp zd?xiHNh*0(L00lT+%bh^3V09G*F&(CAJPOLM!>D$wJ0$X=20dcB{SR#RMZ6_VW=A+ zG3;Lq38Vi762k_!QphBzlO%Pu;V!Vmh+)}GgHm2#4F35(za-!IEBSJwZL>at zcZGttX&E3P`P-O5myew^1DMaE5KZvJ+o}8-o3j05oTT%q{Ccmk?Y|T@*Z)UhM+E$_ z?8L~r(TV1odro+~g#CAHfscrzJ>%@z4))ogm!W;Cn3H%uIh(MQIIxL6QQ5d5b)9r%Lalxo~2u9%2 zMnVjFOg3NFNiqS*8+8d%`9S>YO&T#EPuia3X|k5)(cleqLcnwq^<5^i{V&-NxDK(O z(cD;Y9AM1fUh9U3CBT>bbud2-1hn@UkH3PbA%4ovqs{vQ^hyQdE>0po2J4aph-Kf#ko%WCrxn9$nMgadBfVz9Tf?gaqqDF#Q#0b`H{LdN?+Zryb7 zMY#lYZ*sBGVSGW0|BWxT?-P^2p?J}d7?BFOlVflzFr~{e41_|KyjQY^@DIdG#d3f< z8r?7%UF@y!Ev7y4B{Yx%QNQl0m=U8)6R{me7 zqW@8?YWY8pIsZAD{bREw9SVG}kRw+eo~qq_vEkDHM7a0>=eK`h+_BC<|3>)Y{Qe*S z0fFOwu(Z2$s2spXIta*d@^XLA`9McX3Q}0|?SPao*2O<4Tox@Ys~`=S=P;4|M238M zfctf34U(~O@ppBT23p7f$2jt4Ge}0yE!52i_^N|H{K5n5J#l`&>Ga&(u^~Re(%~+_ zz)AVAMkXW(FLSuXlsW8B#u?`)1BfBzGHrSnfg&|{tbuqQHkq-Ec_=o(!)yki0SvhHW=^$5cl$1Z}|I*K2 zsQP6qH_KM$F|{wG7mxnl8QfD-`VucHS( z*b#6@$P;j?&85gr~kn$Fp0l` z$@jKk5X_18=f}Nvv&mDfq;~q*)_P%sqPh?Ata)~g136aP6PA-(UXh*#355}u$TYH- zL#sjD^pFC21y3v$e_4!z!e9kP4vqnN1}Jd4Dm*QVgC``w#wJA4Km)QMiqf1D0^+clEv}rCBI# z4oV!C)yHwp8{dqYGt3OeFk1!*vAWt-iRqa??99~H(h`)I$Bsvxp|KB$1C=W4g~g+M zjdX12P$_kUSbl+;UR$u0dD7^WwWj`SkFx{!dMEN9P4=;iPF+HKD3#Mxm|L9|tEuVI zPu1^jX}&FSGRN4sQ2|p&o6P}F7)W9~Sw4q-VRf(Tb1dbxPd_d?xh=&vtnc&}mfSiU zX+HH_V+~EccdPBDb;rWxU{8L7X)GA zc2aOwjq2@mUbHN4RiNe-#@7s&VB(K|Tw$hJgm}w{@}}Q1r2Jf!H-CrKP(+@6G4wpm zRHb#Ga>tk?a^wLlTv)6;T2WYi1=_Ef&}W}>|GD?Z=HkuxnEGHo&=uAzXKZjDSM)DM zpKBL5RnNk_bz3H9@rAsf@9d`BNYhDO)+N_SQF+CcGxnBI0&nw}R9vs01r5EqlVdskB|vLj)^0bcX;CSrm5#qWBMJP%%7saPl<%@SbA&tT^= z@@=@~vN!reL7}0mS6O(}Q!&ub7)G)N5(`nSqh{@SV7kVdeEUW3rc4_AMnQnI)o@n% zn-}xEwG(1p+v&Rd##Cw_d^=I? z{%DN#)f%Ua?+cbcj@`SYdzQ^&t+3DP>}}bawGfK!`J-{&Yg5EbclKCJr&3mm3*WdC zR>Uloheue^3cRic-m8IGK469v+2@y6VUviVnDeD1E5!pDgLkpqmvbVFsp6A`Y(0TX zGcQ*9ei*4W1w?R)+9^6-y@?O#j2&7Jq^V3C7Dc*g!okfv1n7}Lt9ku`+RwR(jAOd- zf;SY`EsD=NJu5As54cp^a-)Wr!B2RT)z-;tJL)B;<}{$>>g0UCD2U2)+$QQ2hHV&E zdthd=H}!_^e0#<-}I+L2Hqv$}WNPF;M|6C?b? zrTXPknskORde2GcA@k(DZf`B!MlO-b+zpuadyi+Q3SM2V_u}omZ@37*K#X>Ce`6n= z?lq?6bndBAoIpEuuM2h|>fZPFjqh!Rkh1JfdC2;fF;cP`3(0fx$>c3sh%27LORxcR zpoOx!+w0?4{2-h~jio6pr<5U}xzc(iC=u1@`0nOtGQ$73-0aDPw_n)`=u9z3&Un!j zXXq>FjOk56h+NlMcCePEPA(KNS6&7%8_rJfyz9n1dz5;!UA@p^cB&a08fc#{BY9+L zK>r^Za#JiZ8q&l0bepRqR!c=SbtYFIQ>HS{(OYBw1x-fi%?wVtblga zhe>AQ=5dw?)Kgau9%pqc;YZr@=$g|KQ%r)ktL)xtLbc42%v=;IP8`9#F|HW4cSo)$ zLSnB+Jvw(uvhAWIK9m2J08^Avu~JucqpF zK1vyT3Bw5McU>O!G5**^B+05gsjAw92v0ICQlFgb;ZmK~?0$mA+N9P?i47#dvYa5* zY#*i!4If`9Dawlaac>>*AuMeBA%3+pH&^m(_clfQmF&;E4Dk(tBJg}F2uPZ;N9Cx& z)TLSh}=wYQh=RHvn7)kDlqOxg*sdRnubn>c?2&6QA)d_Iq6mg_*< zH$#9y@f<%qH-NsTO1p@mOXFu|KEuOXknpOy zh8k4-l(_=;9Oa^7QI^bs&bH!;0l&EzbI;itMtJC(?8QW}!drSia8c9Cn^Ts&Z8Ad( zQmBABDU*|FcZ_{&jYO0t6|(D6ns?3Uz_NEt#aF`@LvO!+UGzEQkjwt#M!*W;kPgb5Ctv0Lf2XB(hsVt}pLWmNZAE|f+x}Kcp%u2U5;_E88D+V@ zs`VyJI{M*5YpDI1sPaudm%@df)qH#I&m*eOf?h6cZ+{DG4|+Ho^jDCL7@wshbV`Aak_l0ls z!+xXg?QiZqd~)}@->L5pKg?$@U2SbDc33pge6zcV{~qnJ=-0I2UoyYDuo0!}y{d>W zd2p+K{==o!&{JnUv?iW}*S;_fTlmh&b(asmv7d`*PVdQd~ ze@Fk6(U%snbMJRnPj2w}-f$3gYx66Kot@$pP>beP@ehoAk!?(G)u zay>k?^Zm@VFv$0J8>*q3A*0^&9qKRU?{4&)HtZ}EZE8h%Z$7l%z5V|C=((+kCi(em zUNf2xH=8ySD@KaYa)ty!3<%s+=w!f@9^TC5vG&wAS zAetm+aF4OkTM)`M3;1P$0dNCNQSJnGcG5LqF#(Af#G1(AsuJ=OQgcLrJ11vf5d-E3 zc^x@tT#iVA$Wv3CQo=Kh99&hEo5JL5+RXS0kg21HXRVLu!Dk|9VszP|0aY=zmsc5q4xQltAF;mr~E0(j! zAWhCB^NVOz&V=^${+lKPcGL*p8+YgW3u@ylPelRLGvf9>wo+A#R(ajVI<;fPHHDEe=;x_ht4WWnl{-S}9wA9K;z>2M)F;ANq(3Ye zCx_W`u1nB)rzvUmv<$RmqoI~&HphiUcUib-d+avt;=H!d)rKc|x3aZ~|iJkfPoO~JbSOvlyv zT086QwbQ22_9mv~on>m>x!*Db_0j}RD&JbUTlMwxK(?T9(#mxli)~XHv)-;^gO7-E zmYn)$t6Tn@4|&#GJt|FU^Gxou*tTEFbE_7gHydwBsVS|TeZCp2=bREFmIAA}rgPK! zw5++acv1#KOa(G!MqEs+MmDBg&g`PyWkJKQ3Mx-8nX1T44@jwI&i_bRUXbTqJi~a$n!iK~5F^ z5DaCB7@Wg-SfVjK&yhn=?v3Iv|(SX?dj zG2z1m-)H$?&8L|IZ*O@aTzfjL@0Ghvjbhc0uPU4B1Y^M4ZwGD%>70-=sCYC%~ zS1fLLaxr5!;-1#3#B&ovm?#yotn?b)d<+4TZDD;S(h_6k`??IzO1B{DH&Ns2VA}*s zZ)k=i8#@Z+-r_}4TOIIkHBlZ}Sx1sme$ZdwIXz!$WRPr8OSAVy<*IbTD~lsIIj6gW zRxuEG#&rKy`o)9uT{lz>=d_%bA3ZK;Dr%%U!D&}-GQ<@$vbR+yb>u|pZKK#zG%xK%7^L>o zES$fNnmRvw*Od2Q|5;^C6)fa2t8Wl=V!bC5JVsF7 zw-JU}sV*Gn8lMh@NhGAeb}vC%%%%D01V-RF;24pIu2m;>C#-Ks#T3;IzH2Lk$3@eh zaUq#ga&JLYfY2iJxsg*eqy*1mXTTTS$GJaZcz1fj!cuftzMMcZTv>X+DrExn-J*{;UL?xLLLppInKb{)? z%wA1uBr2FSw_$F$>4CU=+|%R={vMhfiz@&8@5>2d+9p`Mrn56AG(@N+faYkXDpqu=I2+oS5IJQv)f342uE zC>2S-4}X{i^f=_ECMUa@v0#C0QK45eF_p_FVDeG*RkgVDT`GfXA31KW4-K)OF+(t$ zp@3hr3+A2PsnmC2?|*vMEvQB*j=59xi{`PgWY93p^G8`HZa%g3l>9mrBH7BGbAl=J z?!u+VZ2m|aQXM1_d^eu~!ko(TX{@ypIX&P@r;uW8zH4-<28vyk7_AfzndCf0<8TD& zVpC>J8U*XhTg}e0T8W9{R>xoM7e^##bcmd;4PS;=zrYuWFx7KsLusib$F9 zTy~6FGod4tr)I=qJ+7xTK3_Q&+twhKtuh*NNznrGBdKVL^KD=`{J6rf9cRcFsk&@7 zrlhl2LzVY-jP^I0*8+qFpX&2t2KcISJ~k_BrC*RB$i3f3 zmsN3yu555}`n%nsrVt%51ew+h0{_tj!g)_><~(>{q%pH|;aORwLdim5)%o69^FA$m zTFGZYS`>vCJ6Z%KiX{m)^kY!);m^(|Q%ps(%v|r{*9%^(sWI!&muFwt*Qbte>pJ^= z{)t@}W{)b7e@va1ZKwi2C-V5^)`i7uZ67r{GEqI3HWKMPRAyv8Cp)O*-Vz$&nQB(- z8xn5FT@qH+3u4L9J5fq3w>kctK({xuIN>)FR*+#!`Jf?Be!ru!yxiuiJd|KNyo5Ie zv9hWli*B*8rbG6QkEB2S%J-P(l#BWKpzJtAx`t}<%_EAA&E8Ol>R?`n8?^5lSFx2>(%cs4(rEbUnbFyi`Qh?4A`v?|=pack)+n6B zfw?A{@s>6J)fNJrD8S{wS^B8B2-a&|A$ zWl1Ccs;X^czfnTCAxp%kcDr1LIYLcl;V0Bcue6Znm5v$WED4!u*d@MyorQHuh(1Ck zQk37*TERBoZ|tgz)}_2%RovWJM(dW0GqMSCjol4YkPE8_KDK#u+q$=C|GLmcJ;;la z&RJH?Jxeq**TfPY@ z%ie4O9I;XMaCz%nKG6o&2_`4%f)*vcHjc*Ed_f1^OF%9(2EBIP!+Kl0_SNi}yH+*& zo-R~*b34lUvaO@8qQmH$eo2}0^(HSYi$Jxf&!b!D;nK5r9%}FyscwV59`J>Hy(sfC zvf4O3W7$fh(ezZjWL9jG#c;FaK){htNpynxCp@(gHDc|b08ttvx zxqh>n;-}lX?Qq=y7ol6J5M?7x2A)C-LPT`QiMcZr(p2XDOInj|$Hsj{61b)PR;3~Y zEZtW#38> zj}VFFK&2-kG`klIc0nf|%k8-OohcbOP_7F&uN+or+WDko{4w@ETSjVt3MNwKC*qF( zL3BS|b9Xe8rM>Bae_l?QmcuQ+9bVhw@nBWjk}Ag^dZ{TJA?GT3(A-jIS`x15(1DfT zxJFMmneE4d`B=711@9X324U-Ddyss4p>>H59j|=7FfKPpc^vM9TusL?uBfr&zQ6+7 z<^xoG^Lkvq?JU~Q?2TvmEg5EhdNce!zUjywy7iUFWVXsth-Urb;PgfoBw9zYd&#C- zzf@@Rn4DbHmHBIh)OS~XgW-)Q#zQ2^67wn>yKEX#k`j~nz9*`?d&M(R(u%%6b7l40 z+P3ljG@I0w@Im#&_csi9KJY;%7^xwPke3QniBAX2%~r;&GxtCw)$X$Ge1QDzl=_>WHB-at zd8!$#3qcPlbu^bt%nFak<{vty+59>ExUgwTh4 zi&RRU;hiHi-|Y?_e7tZDVw+`d{kE3$ZNF?AI%QAVzA^jp;C!N7Pdz{Br~p5$YNqm& zY)h)?(~D)_8aC;blV;=eI$!K+(e*kwE9Ca>xJ2y@m+A~aH>e(-gIL~--KpL$5C`3m z5jjCkh)MZ;=Qy*^616!U=vf`1>OAMMj9wYWpMC1v#78f7FKdS8nU=*g+&R;9+X}Y6 zZ+yRkPtMY{>p|DO{@yRgMbN_|c^Aao0*!FTmSGW%u?FWql}H;7M%v_*>Ymu>h#M1J zqDUe&TbrXOB-8E|>z!ZCVB$2Z#z4B@OT4)5tak!USu&tbAlY6C}Lt)Oq`xPYq7-K)GkB*x9=g)zWLdbD- zvlSTr2J49ru=MpiS!x*rFQ#Wyl>_p2<~X$w^Xs~=b!P4ozhvUvBqD^_p-czwJ_I`m z$$#+gIc4JgRg+83r^BzgtXb>lL_BZpm7h`yYdmk+X;dKM5(**duFvnj*bat0nprds zh$H*B$(Y4zoiB0CYxJCzGd*Tr-js&HOXaB92D#VlBFyFB#FR&R4fMt7ML`%Wy%WfNNeQ15(n zgmr#u){$Ezs;?IJA6%m@WilDo|AshOQ?UQY#SU|~gSOX8kRv$j;%u<|izlr`s;-$u zlTvM%GM+l-UNG3JI7!8>3y)ec5;~a52_P*!{4F&Qpb7^?HprpbN-8Lrq0#)jHeIF+Z=0xS*2zv=VA1@g2GcV zuk03sIAL#9()?%-Xsj)J!^6YPK+s??ug?XNu??zFP#iWqX(7sI#fwV2|IGocMkjH0 z{D-gchiFUVBb~}FL+2j&D9f~{Cv^F_9>C(*FFYfB$T}zY&f`JV_(QuBQ&vt;*$=2t zhRxUTJSre^Z3#)Q){S=Ai#c}TvCY2qjqB#1>s#V4nA~ubA?IZqx%nax zI>(%Ka+0n|Hdeqs?nEfRJj0!vSy9}KTa!8}SZ`|0Y90?!455?xG2+fvbP$PxE3XN zWxt7Nc;69@8ffBZKb@tzPe(&_yfE**`Ds-pM$CCRy<>$8PNR_Q!c^#d+(Xl8barP# z+M_UY=>>(copzHbKP9=9TSbBTSGjGAn`EPn1ier2@_xU*>sZz~8O?#C4Wn%`S@u;| zsiyIGI={boVJnV_)hAq(k^fRJ{o>N;@9DF%bkbWIKTO*?mA~KhXyq2;;ej47)TFl* zuJyY26km-!J<-Ob@?z^g(Tdh$>LpcT>&?ls>uc_mnY^vB!E9cvmV??cTw3@A`gazE zWx**C(icu{lzG~}E#^$#QWu+;i%RtWc*imSGKFT!)7|I6}Pk+jI>w8|Uey|%UblrZ$ak<|WuUa|F7svb5O!qrOzF}4<``B*6pn2_SflKwfM-a2S;=#ek5tDHt>t?b_WTL+7uMe%I`S$ zf*oYfb>EO_mdjzGk#E17LW@lH`x@)bde=U7b>Jc?R(4dVK1Q0o`}&dRgB6l1398!M zW#O~Sx*h4QH(I+&r&=n(8HL@qFXLX{I5ub|XEv3mOQW;HSTRHYx}aiJu04``}#=gS#JoBsm#eU z68m(SUE;0wcP7f6HDzh#mZs}IO>_h%TXfi47yF;@PRY+0?vibdKiMe2yg?o9C9`|^ zOQUOfZpy6v=?i1-tg+H*N0*o?I^ySg)AngHUnaNP1*-5{zZK^wzTl>bz*${8ws*Fn zsq~BWk(;i^(@v+$hp0(!q)$X?C1$;&4|Zs#xCn4H5|KZ1e3r7m*O$uue0{a|P}DkQGY*tUC7 zgkZkTCaZ9ITr57ALaB{5&_w!UW4cgOE4?JO8LLPE9+K)aAN>B*AE@SAXWP$I~^3iz) zL`vDx)bxzLic7BJ4TPQhIZ_0VJdY;6&aLye?GOKq|AJ_BfT&lW3KS(?3q)3$zl>Gj1$llJTAkG41L6f9Gj`1-Nnprh}<%z&uhZ8dHQtQO`g zI3>%cl}DPXsNh!WVdI|B6G%B@X^9!SxvbX#!lS}hza1ReW%`tK%f<0^rSGYl$`hSD zx7Lz$7VJjYxF1a?=)n0>E?)uu0j>=mKdn&~>I&V3+H<0HBlngJ&z19Ixo;b6=}FQF zOQn}_I3vJvThRqc9}iv&EASZ2F-^=L*LK;jOBZf?e(Y>)?9sA7)sN98{6E*NYqgpe$fTJt>^ z^XgrEz|=_m@~NvW%gb8X)sR9q#oal+d$LbGTdijLoHJdg&)8r}`WTj^ze`IPzoLeME#?Map zVX}%wYb(c{p{Ld6C33bF18G`Zp{u=CGo=^e88l%FsK@SXoB8zmIs&K;?#AI)s1Vvw z4s#Ov;Q1TUF^lyc^}V-iuNN;A_&=Y7pBU0Rb2fwWX_3KoFn!+XR~N1GE`>vFad{N) z&cROJrIP0ynM`bHsefANzy^+UaaG}He=pBod0Ct}PhmArX+dT|zUmQ7&p0IQUbkMv z#qV9b2B~k%J@EJu=WFm`8a^sI(@|9=bJr#GtOThBR(|yzl2#mVTgulqbId6$0u<0q zwNY$*lR0y?4=;5?V4Sy-SIGOqn-7EH*4q1nY8qi*#ST@-163 z;^v!so$~LZ!z4cJ{YY5DjYo+HC(TL=P3f7Q$c0iW8&97<)*%T?*zZZA0vNyUboLG z*38;LSKxbuS-RNSV7(w6SVKWUTA3um&6uO?$XZioNt}6YrjPkeA-guZ3rzQ(UgYVp z3-{>%JX!Pl-o_OkdV`wM#>$(=?=&hcTz0YQ>akC6mZ+Jnf2N(0>LPj1uCJlK=G}YJ z3?1XW;JHE#$*D)T3r|?dADwnP^E|Ko$l0BtlY)VzMl~_WOa1%&wcpZix>q?kH+Kf* zHFs}UbAdZGa(=$LP>%l`Y*{1yL&$p$KejKC zWh-TLr5|y;RWEx{c!n6*KA|8KR+=m^5(4onx!$$k4|;gRJj`2WxxY(|M(IeYSiWHj ziuaRbD=hNL6PX$M!CgYy&4?qY1FmeJ`91shR85|}Zg7U%2|V`is>-=jjU)Z2E~E}8 z@Zy=H<4xS5q{Ihn9|gRTB`?MtM#Mg|upA_L`5YH#z@NNXx9@`cyY^LBCG*X+hzZy;y)|U06Ta-(agINH`smfv1O|6u z$&NGctI8O+M3qC#jO0>;vc{et--4!>4qqvoaIWR<^yfy&Sn45ATX6um zaqg1A_{Zn@LKK$-UiLMPRHzXGy!}~U(Ds361TI9r^{iz())ulq@}l>oCVB;XuJXG6 zIQFI9e8s*z@0)LzURfUPc%zhvWFF5tbLtG!<*r=g_DjKXRe|ENW}iR0j1ClE7O->&u~|`_xPO1od0+o-jz}imU_!3f-F7MlWJ{{LsPrQ% zJ%*IqUepf`uAX%D$td@@BR`%bJneGDDBabA`@CzHSX{wH6wwprpbpdKm^LUdJTbns z@Fo0ydP4Hk&R6wY)2rvUe{NhVUjY}ea%=o#e;2VhIppZ>G%J?er6(kjUz+8DmR$Z~ z8N#SD#RP*TB?SmpUJ(?KdHYskDtOC(?s+=(;_1hcq{$nSqE>PpuD*Ug7+CfuBGjC18nQ#bNC=&Ikz_{+Kf!okbve@PnT=5ZtANZd zdj>Bvw4s7ROX0+f-f^(W`qB$!=aDrRRtX$7qu#Qfl%#D;A-O4bPZ@k^-0V|R20@2; zaqmo&7K87g;Ka7P+f>SY@%b|(V{>t#Y-eL58ilw*6QMj;?V>Re3m1ngMzScwGaw%` zi_3A9C!Xbw2#Xa>^D=&0R1P6Y31?Sx-T}Q!Q*IqUpL_o#J-)Sk=&Uv=Gy6nL+n_|3 zOfQK!H?Hz1T-Tw@#CqMvXymA@)SG?^8KQ)6@B`+LhK43QM}1|-YwQ~@GuJp&Ev#5v zSzqY3J4q9TF0?XawnDvVDYM< zl|9{!6itu5KtSrOK3+19{&_~7H0o-h_2z;~d}jLsyuR9@bGxJOiBA!i?3JiNT=utS z&KcLC`%9==c;7*S4$}k(XK0R;Q|m>e*cvfqw;_Ay4PpE-)K62WdX4f1c&xu@Uoi#6j9GYZp_MDNTjI%qho| z)-LbL*jWs2aMUqpbQqu6d@65cbA{R5=u^r70?S{>oE(Bw&q!ZBod?}+5i zQxRxKLsknG8oI9&p16L7bZNS4#~sp)BeGE#jFcOn(GCvhV& zsOH%=l(YyvdM;-OU|m zR9*JC&Stc8>PTb*pBeIFM!@80H|#~*EJc^?5ijpLM?la+QL~ZK`sai5pR&sL@@%#_ z8z)jat*dOWmj0yC@psUgIFQ`iyn{kst{#w-E#)X4S>IMUAhkn8$}Gw zl?>nCajrp|xK@OS@fQp={~xFO*cW$?dvZ#B2qY8=>C`C^Cd=rEOG3bY7u)o`$N6;K zOp*O>EAj7~7!CrtbSxuakO?3BeJAD!h=_=JH1@znE0H6*?QoPyndWRf$^=#OwKzKw zc?ICi7q8jwc51HYrepeT#Oy^F8QQ)HYG;P=iB_TNk-4YyXY`rt8gPRXIVC7s|3P~#%no(n5}5$#fe&s z;Xv^Jyz=O>b#Vd{f=ft&u_BF3%)f;j`{f>5Vbv;RF6RPbCn+buYlkfczWh+Zx`W{v zM1oURuHB5Pp(?9&cupH2GuA_SvF^X?;AsJOjE}GBeU3F0w)foT8sP;NcQZs4mDOMS z?i@FxC?kW14vxqyj8aGyX4v*Cot>o(+KIju6+|N5$Fe5v{Q7>6f#UfZ9aN3}t-OKJ zWB0Dxd*_3O&Qp;5jMK`R8Ncztpj8=EQNp1qLkZ@rzmhpnm+5kOK4lhdh5RnEFawx3 z-+@KE=c7h)uaCm#?6e2prn``9UT9?)^ z?wV^~dt+QOJ_|9q)u5E<%iT?l}(R9=e=SSMiuCzn%@)+vGj9D!M^KR!zFie!jjuYWUOfSz2*a zj0U)1GGj=dY^T{N=Y{;jzh^G1mz`eWJ25RJeEm#~i<|G+Hlii}D{>|<>P&73L`_xv zlaJV?n7L6`K^iX0ne2YW_oXKaH)rGW(@+@18XO0UBBXtlSok*bAp_YksoS1UdP)%@ z=rSX`GgGPyHd!^7LEA#^%GERW?dUt>(^+|+1K~C< zV+;FZv$lplzNjweZfHjkvob^B65A(_`?nxTeSX5;r!I7B8UT*98hu6(mr(+BTF~1n zL32df#Ima)i6rQz#G)QAu{@#0$7@)6ScvHcN21Cy$J-WU>a^vS$A0pS#&Co&!mr{{7!--dbRU4GdGp(B^tZs>=# zCaKN++JLc^=|q*xrwn;fRAb@l6vXpIJGFk8N6H1jCj&R5oHTd=nR_`6B07JP13J;E z;zFYA9EE0P2|II~+UAL-wp@#pFp|eYoKME+Xx~eTi4T$CY|zwL?r+PkL<3t{+uXpl z%?U^wmxKD^)#X$5th(~j8)|hOY}f53>wUS%_<*tlARj>6`5%-HRIY-!fZ@DxthoPv8D#I|B5s>J>ESz(8lF zgvB@i5LLR+tj~2tXQLi+G2v#p^$uWxKp_tZ~c~-yzLfI(5zQcjmAIMG9x{V5AZ7M;gxY z+8JcM@JLNTq`1>lSE?bB0N1uuQ{^)PhOt7G-|Z2!YP!Ib%f<4EvW3ZHMH;jgYKcyD z9chi%w>y}}I(zNS@0wsL?TIGQ^d*f0rlVfXUXJym81W6zK&ThV&9=b@l*7wXU*q(#)Wr(FN9(i>S19BA*fVJ_uV!o47kma z2@wz~&S&*PSfY#CE|XgcB)Zhe3|fSAle}o$6FfYA(rP_dO1?fNojHjW`x_}~5(^q6 z|6}%Pr}nQ1b2wf{XQoe??{We-K2$E}dm_E0;3YPj_ZYLSY$QYiaO;DtuUjmO8nobb z)!6Pkf5HIATVKTLq08@4S{Ta8yBq4BlvqRt+g%^YQeunpbzsPxk)cZtV zH=~C-jFojFP$q{f?N8{?jZ`rV%seYy(m(a|T~1|Qx7X63+u!QvSi!uj&=@Zk{aggQ zMSf@)L7(s~Xj!h}(GCm+6e?sb7R?M$3gT45q_UJHmAGa5dJ>efnfqDS?s;{F>>z># zD~c#%H*BV_Yr>;}be=1_oTzuX_|rJJe@yN0nSdgBY_S&g)LN-dOk^h!xtu=p1PB+h zB*($2Ya0TL*Qf_4(jSp5?V)XR?WCcn)L~#49M(d*7LXZODWX(EBBV$_GYd~~0YZ!s zBqo?D#N;SAb3#yd;_E zFp^a>ErShUL<}T}3l>0OGCff-LSZ8o1LKK<5enk&uK+M1h+VarsA>pDO+T7tbv9lniV(lq33O5W9SFc18JX@zEA99 z8P+8+G`(%P0Gi@~UTi;r03Evp9@T-(xzjiV-9f(7IerU_|I`z$m}8Ef>K4d4F$idM zOZM(z$M&O&8%IaA+-dh%x6A~%CC?A2&sJe1gA(DdT05p69HYg%G`y_Bh&{!H3gt~3B z@HlHBqab%*SLFRYrf!q;Hk=|!4FKpEv1C}HsXzhJg@@rh z4z+4NJT6}1ai49x z3)0EdhJ}TunyIY%{;$|)oygV^vC}8Y$dPoEw=|>^yFV=eCLz!aD#QTAY^4#fx%*Bk z?V=MdNdx>DKt*_%h*@vJhG4g*<)TL{dS969g$^(A{pf*d^eNus-@{p~CL^_Uwn0R_ zfHvOvK!6}X{LkjhOZUm`druQ1$Fq-s*8R`e*6GeJ&0v(U>St1uo~ck z#okJCFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Owt&IOjE3_WY^WRXr<^1)Ol35Pc zplTmtr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+MFuMd9Vrurh7cQuEIa&aeitEB zRU^^c$TXLyEOb08W^7U8lC*16^fX*C!b+7YU_|ExbHVv6p3Y~f zGkO`bzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1_~e!ZS*tveZ2r{Nd@WU4LLUF{ z9H8p8NfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!-EI+$F6+2Vp^?PTspU4w|Y`!q5 z31;~x{O+UL=l~4o$&F)*Wz8h%BX(tCL1OxF7%l4e?mRKyH zls1}@dBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}vH?!Ww%HrVL=2Qx|^K<`g*N77z zwJ%qpYj8wz5TYWDXHVd}W)IqfO z-kV3Wc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi4hRB{8wvoN+f4tU>d3UD{U+FX zes)alLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l9PC!y{zy46r$GvQI25@;2cp0y z4S-Hbv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>d zL}KNqE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!of@8`}LfDifK~%z{15K}cl|`p$ zK*Ya5kaXdXCo6hrBt>$@GW;3a`mXRcw zbSuSV2H2?V0e1fElq?S-l|!32xupA3*2VY6%_A|QH($cTYcdjdV zw{)5ycxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODmWuT~^CG~}cl(5Sg$=%XcalMYL z&(@|}>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs2Mm4habWvX60>NcF|^OO|6i{6 z7bILm?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw;5`(G-Qf_BG3LA@nM_3^%578e zQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1Z7v>5lj)o-S0_Oel(bz4r4mSs za!DxKuByEd$)a0seFk1GxzLcD zOiYe%H|KLbS&%*dRTNd@NS2;8eKYZ18$ery`P4k%Ie67NP?dP%DK##bC-|F zVTOlGsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+fiMBt#`NRs#geoIZA*GezvVwv5 z8ja;)pvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19slmBj|+rgw(`8nIuTc2y2T;Jf$G zMu>b?a-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8%ufw`(gIfK#$($_P-?c)_qw+g z>=&ag*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2xa#@}zeMKs@9G1AeZZo1H786l> zg6T@zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~lQ`c6{s(l)oA=Rk{5iE3c=9vgY zAD+w8bf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ=kW(Pb5j4&;gk)nQBg)`+mCebu z*0VF4`DcUG#fz9*g|=#7mjXMA>(J?yjKnbr@{eHA~Jb zA~bT04DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f%3mWd@!qM1mdOef(ebn2R^E*XLv39HU|-IQ7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4 zyiTFqhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z?PIjg)oV>Efwg*+5^5sruQ_a# z*!`!#gBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9;XiY^>=&)&|=$Z-7`C?(;aeN~x@9skAM>No=gE@%@AMhHUgz>Dl2 z2Hq)`zsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXuIN1h`-`&DCy$*2RApsB)|7QP; zgv!ha0bxR|&Ho8(yB#fPP%#Lv;Qc};ZmewyAZsZ{$ zxItpIm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_y=mOgyo)TWxF3pZ!gTv>{feN! zP%oAnMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ%(DZXFCGYhIjby$>Ut=GAqa#d zxf^`nKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>kUPU!BQxDugieYlXAf^&TN8?+8 zCl+$t6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@CvxLHdjGMggGxgwEeFTg4wKCPAH zySovsSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@tPLSW!&uWIIVnyA-5-{a?-sj;_ z!X@QpP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDaBdm+_c=us;dd}w~@vHaiHOySV zYSV_a8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f)_&peXmRh_rW^W{MGTeuRLixsF zCx-rV+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0mVkm&Og+h6MeC*u81I6wATa8|F zvLvj3E;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x3o#mkZu2)7F%%C|nnGlN=Awa? zBa2Ek@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGL zUopp|Fjun9p_VIkw6~zuVg)zB4aF4`@)xdRZtDB7J`h962bN))FBI^aN3g ziN-@bP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYwSg^2Amg4(z>#+&6fC5W1=e*UM z9bgjoS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*;h@_io{OVHEFr#wx;tc+FwhSx2 zCB>gevb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBtLHy#f3l8iBqi`Jw@7_}5rv7w( zok^q}kqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI=HV2kGpu}eQ8ByJ#td7}f8T8By zGc3CxyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JYmi3S~+Bsg3}NZD8~Wai){86Mt;h@JA^K-0etE-Om6#$XD&m}$ zG7(AAEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!KZ{#BJ4_aD|sI?>WeTGKR{IR6S zk4-9GOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1LcvLz5b=9rSNe5?aC)d{1&C3!w zt@v34A{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6}DkV1>6NP@(r6@}z^s=wLOBHQO z)nvFZj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p& zS}DSRpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^daS0K~#1;$9PC2HU?k=T)$#-{rR z$)Wf)h-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0ABB$P0yj+O*!`P&pciG-&xvn=5> z)8k1eP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})|@Q;Uy?R@W@{WSpBa2YJ}buU8A z%oZS85ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDTVc5xjiVjw*oP$%g3eLq8$efPf z8KOmf*ekqzho<*kK|BGAANL^k=@;b&wd6-V`du z>hSCHxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagENh_s4JsIHs=KZJrV9+fu|*=lf2WZBP?O#8jmJHH zSP$qo%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3WQEO?v#<5JPdyKuUxfq=*U55=7 zG|W)Qk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT6lfwIopj0(tG2qAz? z6hR8+-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)}`DiFgLKMj$QW7kHvQUy6ZiP-R z86VgZ!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r^jE>V)v~>6zN!7L-$m*3_N`w& z%zjY`kN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1EdsA||9|}cp9MzJM{WicWBa|% zg^Vb65?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3bUJ_MSLRPb|GdUNR7$7_}>DEeT z$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W<6(c&;NNL))Mxcfk?T#1{pgXF zpY}b^syEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MHeJowIwkkqC%l8vapktr$_aS3^ zV;`tZ3T#=Hg2Q}$?-r5n#t-oZr*A|ru-X>pvnMNW}Q?TFCN zz0~1L8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B7G)-NdhX)id;97U>DOeA%Y;#@ zknmAsFQxF*)KR7=hOd~x$hK+R692;Ez}V9 zMmd1kBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S+|9b48~BkK-}_`hje0levKz1NS0h`GW9zUIciC-!qOJzld-?J6 z7;yTtFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*&0tA*|^u9{i?Y5G{!7nu`3~OIj zJ5swZR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62YUS@BAmAsgmc7S_l{WM^M!U-MEbNq-uwxwKuQ)mOEJ@}01m6*nm z3ot(S{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$SW!!JaQPVVbS2O`eIUP)A`P3X zmi1{?wB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z{Udp3%KO>427$R5GAq{f@)NrQ zSes4&{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO8mA#ga7)Q#fq5SyFL!Z#QqR9{ zXE~iFOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568s~&+6Rz8{k+QWE*b6VE31hHkO z{6tq;*tGj-IgY%A1DdUV2+WGshvi z4c$)50JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032^8OHG98IqBwBaDXoByk38!GQf z_F#ba(8PrpyQ(uf_Q|hX!fm2q%?T*>uJv9 zfvDCKA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`NC+gE6g6qv-qKYWZ1S8SoW?V?h z8kh52<&Iai$HVE`;mrGc7Y|vkT2s9w<`2mDe>p>_x zcg`h+MU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJsndJecDK^+xOGM;CEo?FU3IFc zg$jjPq!1yeK>#l6s5%RY!q9RF=54p~l!jK>fI!U#{5maH%$j9Eh(;k(j~$F31VHKV0qH^a zwfhQ+;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bmw#Z&Ijd+h9Yk1Ng-WVn~x}1dM zY+I-`riJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD1W28xQj>Z-LpDF+;+4hX31GWw zA;ZE4pRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7DTa5R><1%IiP+q5dnPYO#GjCh4 zcN)({@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#CyDi-Kwl=tf#m-@(VtoF;+Vv_} zTDDuJ#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZofh5Ft%&!MF7;1{&y6zy<_&>9?q zT}A1PdDt)8-)95e2W=`ZByvc@k*T9O)jafwQoD2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN%iIj3i^tMMcyD_~>&hq5 zG7Gc>{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwUg6vrh3d7Y&2e!pf`A{k8SsYM2 zT!%SvnM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5z zhZTNJt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^3ltWrV2AUAQDU)Sfkv+4uEAtj zK_dyqTYht#QNZsH?NgNFArW4U~I(NV=?TiI3FjWD9D3HLDhccI(q$q?KAOjKSE+6j9&Tcn#i1Sxu z(?huLEp$4wQa{RDi4 z(g@N7(q(zH{BKp6Gb6D|3wxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#d zf*Sd(k%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=FgtpO<#;`?lgJsbq+?IW}7&xoJz z_P!O&PUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c#h_Y$vlAUDD@mD#NjA0I{%zbd zgqGefPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DAGrBx)Z}YMi83NbGzm<{hdP@D!#VX& z%69RKoY0^%Mx5)YloI;LHQ&@u6pB2`^nB7e*f%V>)67 zI4Pzmk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5ZtTUq=x+ARpTwyQjInUTO($($T z2Pb>I3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE)}t^T-aoP6(j~y@r$}uIFi3nq zfyCZV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NBu4CrK*~eje`T#hlqc}Ldk0z*v zUP!VL>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD#Z-hqTZ}Nn8FV91esP3E@=+*6 zMDi2BIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80m?h*i36Iw0;Z8?fKJ<1{A9VAw z#TPB<$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU6O|!54QA@8@-{f3ty7I09Egi( zB4vLtOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B~9PdcR94m+~{ewB{}AcF^Ax9zuHxASh@x4xENJ zRnHRp%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WKl>KcsiCO>|ltjXzArS%+Gx6CA zhtY1m{vE8m%7-h{aS8O)Ct3ejrvnGF9({ys+kq<_ma zkc^MOki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^(0q9fGVoWel`dAxWFtBMs3~t^Q zIJD9d>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6PB5eRBj#wpRih{~e|H0^NHlDj zk%;c!v$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{y%>EyXk7@jO6BvGa=CwbQr;%h zZO21%_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;kWZ|6GAWpOb?qU4`oe&Sbk5LbE z;vmW)K!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pOn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$ zlPAnenU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD&Pc@J?y^dVLpfWOaDvN}<*V^bT z;Ftu%4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRDxlcT4vwwUaES%cZp`xaobf6Qd z-1$xSu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5KZ&3@(_W4&=daIV8t2^hyinh7 zJm?#l_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGeeVKG|dL&e8Ry7kaQSB-o{?JDD z{|z7Qb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z4(*})JYJKu3q$ru$#m<=LDB|_-?M54xXD@|@ zCJ8+N9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIthL=tXMY{>bm%J`~j&h6mJXb|ng z3V;R-#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t`?lDsyz4qYN3Op+$Y3;nHe zt=0k~2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|ufx==&x>e|S#q!KDiDr_<-g`Ct z`uincP@dc^mV>RB;4&s95;s7X3_;F$^aEg2feL8g1i%W#z{ww5 z%+jmNiC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz{BGYrXRR~=R?(!=u4t@d8jVu< z1rnAS_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8jBEcuj~8tr@|Y|Zrk5}$^~h!T z1#C#vA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(VHKQ9_>IC22XRzPuq{$xOsb?m~ zS0EjBbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1?hJH+P!2L@zqF%4xIp;?GQt9as zwQABrg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H16)8Iwy>X@aaOHi#HL7YgpCgb_ z6evbf2nL?leGo<2@{Iv(C}j&eBm88rdaC*q0lvm{yBEPxrVuo!o&d|tfg5{- z-( z(GB)S00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8 zdIf9OI2ftQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}=s1qli-a5R_f)0x`&qrbh(hi_I zwxr5G-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(<3%n`~?%XlpL|;9t-SQIB&G|dE ziqp%2CO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJgU!rG#=J~ffLARhfig7u3>`K$ z_ZOh|wA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$ylXx1!)gGZZ;|NE9;l_?DfzA!H zS%v8jgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96zBWOdH9#3$MUTWpk z$EDY}w?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64wn=HfO+=fX#U6?2!L`b!G;7t^% zp4QUCWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoWTjU~}!;(b{!+qZdVvXIV06lv> zYbq4Oh8GTn$mItL46dJssg1{DugK*B^3wZ z>6qd=KNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v=rik}`JPg?#Y7=NtO1BB3}PjX z9l!Bv5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#;NiE0E9G!v4kOB0DGJ%55H7r(n z4h}THyD(SuMOX{GlzVn^{@coyBXdVb zAlK>M*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hij@v0uSH{AH^gu%7JdA&FVP^H} zcK{uiKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$l>=X4&%fo0KIY5BNZL-Se*l*C zFO)N{Z@Mf*AQB64!e4CewHd=T(qcQZbN8V}1eB0}S_2k1@&|_a&AbI}CK4SN@%;z+ zDvdc+9>*&$8QAzM-fS)b&{WxRzKK9q7#PSswyW&s=|O#ks1-n|6DAY%upj;X`B#^u zRVv%4)N&^l`Lw$zs6-HfH|d)A8&hA!os+enPIUY)AL{Fs*6gQ^6C$drrq}&rHrc*J z*QS(}f59!(s)w$o7Z#tb+5G%R?t4a8ty47eMoza7&Fe9BY6gGMj=$Y}m_{`>mKKQ$~sk_6S>eUuwV zgn4%}SD3cFnO*vvY3=`#_h0?G;~9njm;bvpNR1TlqsjhWheB>JYCb)Dpwa|JY+>eG z0LdCJ`)EiPxgJz?_4Go@*a18!+qeDwTiOs70yhSi{w#Z97`G)srMmY09ezr(A``^1 zyNkm5Q@ROv3E&O*vSDjhBHWDuWj>F}!uffdVs*4<}Epr!gIf zh|}L3ULwY+(V%i8S@^El7;#$6e65YN3rAC$L_+%m?JRo*f(r{1b$Fbk{0F~w97e)~ zXKq{uXJ>}xfj4ryr$rDq?>yS_@n1Ev)Sk89IN3F~k0%)0-QYP%Fdjy}@<2&spWFPg zd-J`=A;k1Ha?fsk5I)Viol!_~zR*xHJmqn-&-@oI`&*k-5XatH;Wu|BVPv1qoQ!+V z9tHGO~@gOt#dSK`yI{z{x|G@g$UFtyvr%4M2T3$Fs9` z;iCv6@Y>5wy@=}X zU8XHwfeK~T*6mje(dgO731~*a4Vhz!L9L4vAYlO60fYo$*jo!@Zu}S0$bBeveD}`<{>bGzUp)QT>y%4xtPoh7F*? z4oG1mEX**1r$^X4Fu`C~Xgb`&DoR5fDl#3RDz1%B-;qBP^Nn$@$=$hfdZTZ8>pw-l zx1qarM#Y{x7Bz?~%eYXs38=6_!GPJ~Ol1ACS-=oHi9!PZGuLEsNYRjlh1S@Sk&Rmk ze%lNlzQF{)?%6+v7!i|%tw7Zu3%9zG`zkJ6$@1(WU3B5_e-+r={hzCPXz z#RP)}t;?|(JTEF|!vXz0RA6Bpe6QuF-iPLb5Jwv+=z91oS&1?$al{nOF4S}rd#E@c>$%rMz5@cypw(lx|X zRF#fcX;xLt|RH z{@hvrHF-{Jz1)ZOGV9xC=;7?-`=At9g3ZobIJ@3TcF^x{wccmsZ<|*}YreZ;g6pX? zG%Gh#0L4*u^3rgF4bC^Dwb4CPIJo>Jxej}aUC>vHMfjO;03nM#D|_P2hCdzzJo8c* z;9TOW6S~FTrH$Wq)vv(#9D>!O50F7qxuxXkEsIQP8D15O(h!+g@+X}jlPUEhrG>X( z?c9O41*Y4iPg2-LurI;JE0f`p0V0rd`Guwdj zwg!DDTHOzKxqSpUPzauwI+P@>$4jStXoWR&?Qj{VMRmq zg^V@uvAkv({27}D7T-eVZ~zd~L4Z(c(&I~A@EPxX8JT@z*o<@KMzGoGEHQH=R)~&3 zi!uf?S=1J@W=1(i6jLEYIG51_=y4uW3WRWS9VAUcvdx(xnGbex_sB>ymq`m5*k@r$ z4x^{nI&CrHTu^N=fJ-iA?FMhq!mQ0w>x+{tedf!H(knQDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJUhXBU!d1;ZpL&e&e;B!W+ifc= z6m+!VEccP0<(@}n@%3H4uO59da90NUYWE^QV5<`gl~uplM}vPOmg3szs7}BQB0WJ1 zJVD@DeqCSJ<0otXACcI3=<+?jH&qp8 z9vC@povh3mvu4dnvu4dnvu5N%`C7iOzoynl!ARN3I;%Oly|nkrcv}B>+XCi|yS_%6 zllVbrp;zkg7mfX&y~6$dAgTW-6FC6_DgtC?0BAs$zYB_;_xyaxY&T*{xk0itZiL}h z@M0OU+Hn<}H5<-rfoK}Zj4EWOk42G!5c}|4)7`6vm}Uqna9~u@ik?fgd>3@hn>K9O zvu4T(6DOgSjSxRb8Udslfa*b@RG}20K%r8FN~)Y?O5pu4cUM>q`wj#!Nj1akV;$t4 zL!Q~>=&{p5>S*$~-U2d&Q7rgKPBIF4x)-?{n~{!_U4mu!M9^zjWX%Z@@=I>+tG1N8 z`1L<4me$t&M4t+W2X}OW^6?BCC0&qrBp-|pdjf2mjAMR)0lr1h>5zlhXYnQF7F@tS zud!_phmSl7#l=BK{GrV7)7M*vs(u6@M^li;&rhc3YQ$-z$v(DZ&9%_-NbYH39>tSI)tii{! z2Y*2|hdJW*0DdmB>oEL_?;5_#+~yyFuyYkoJ6{Gi4j|US?hG+Zu&k<-v&i}#)c-Ts zcCbFbwAyo%D0%+K3HtM%-oAhE+pWP&ot)t1sq)YtX43lnT3djjy(73IzFB*IKKpa2 zmbk_QCOJ98Judoh+9fUN)wqZTzTC}33HQ4hC?J~9Il|<@R(@@BD%68YA}&9-R{!iU5JdQYUg zWd4yO;6M=)5~xwxJ@6M@;DF*zDcw~XI@S>_D)=f#P9QW^WvWZwzlY8C=%m%(X~6jd z!%0iMugF3|pXyGPOI@x%L1s)O5*dVx=L3dB-AAT~zZ3*31HyVzS{4tB(*5j`^B9Lm z29%7;JxdG-KOgkG6;k?O)qas+fL1?l8PKeIGg@8Y18bqInLn+b3}IxeFEgntHB9 z1Y)8r!1ciT2d0`+dAZtl#K+sF*Yd)DuGT|FNyR6PAo0HPAVkGt2GozMouWs>7bIqIFvXB2 zr5f2pC9*jnU!u@3x#+A2W>iES6&!R>h-}y+znO+p3vfqv^PSxDZ0%kkYH{!oBFkp! z3ojHBN3?FA^>TekG}-?0tm#oYPcsNjjh5$Yk-pW+Vu_#8qF z^pOF~Kl!@`N-;(I?cN9pF&_FTBPpYaA3`9kz&hN5P8>LJ*=DQ$kp@K@hFG#?cle$v z-%#N^AI2!$Y_J6E`ESpoGXTCdIw1W)PPwQPFb-m!C6pdjf+8at^=LM zLQr4V(lH(A$1B)qj4T;*8h11l*^Jdx@w<*`M6m$GB18!@0J@OQds0afEWBm8ALGyZ zUME_;x1l?pWU8vEV?JlqEu!U?P*M$TcKrFvY06wgB(Y`1ge*{{3Hh~1c2V(X5tg@{ zFGSVc4%G{tDk35$5b{ADS?%qXC`MT9_91boWbhqHyMwnveI`L<7?Bbp9pK44#-Dgh z!K*rGA2VnhqNN7-B~QWWgi){}V)H!8OIpNGs%*d+{|xW=jPI}Z{+o#&i%ZhDWwbPqlrGxjx9dsuJ;o^P1@-eNUkvG3D`$>-!9cxk(p6fNkak=0-0 zbC4SiSDHK;n9F)QJ)q+yNO;EdJ=7lD9t4&@R%q@a9MPl9Tkya)$k2sXE`s= z;A{8bpMNCsq1PT!H8^jF543!}AH{be+W|F*1L7!(B7&o%p&>t;?YeQeUZ2f-VC8Ha z*bH&bVt%>4r>G1tQn!#Ec21o+NQqwvW!{RS|DlS4tPVgk4LXuF?a|}I_@-w|l@K+| zCZFJo=I-t<|DbsqMv7W>ype{FFTCTOv{e|3+)j)?x4ifL-+|P?)%Ut8?N}XnAZY?f zkim&f5HcxW`T~k>>mu9sa%2(P$MJ0A?9q_MttuW3>X5Lw(9|N zJ;(6|$|$=~L>;)!YtsfXf#W8`j};Sq5UvqJHVA0xmxg*FkD1N>SXI#iFtkqq?s7Ks zyxHNp1K~L~W=*;2b@2|w9(>bkBU5d8ZcXJv$G_HxpoaW65{kap4+gsKr6hcJwh z_1x$Pe=~m2hjHG2%v*^ZepZ%Kb6S>~IxE~3CQ*Dk93sL;!*!O+__6nTPFG0+DQPja zU_l2Xl&+nG=F|2O3$&@ z0_MduMB|O)-(YF6Yg^u)4O&%N#hIpV4aHEp;muBS=U0*He)H${VLVcOqroAXZ?d~) z+xzwp68(f6sB4E2%=Byy=I_ZDjTjTG*IlNj4!>Ej$_^y-+~brUggo|$b+}wj@wh!W!Pv;IGh8@xnbFOZ9#c&Iuw9B&7T&W25{)y+Idc zxGaFD_}A5W6rFj2kTDm#v=;YpMguD~165n@wS)O0oQC_+0UZ>)v|tlrVoZovFtwnI zJ-^8hU8fMfnnu!Z(j1!ZY+||dxs^EshnXAixXI7qaA$bkuBxXZS^3?FA0o@F6oG>e zZ+eAR5V3)SM>E#IxUme13ZN;aAVdgIlte&?NN1%1Ge7CXY*%_^Nq#WT;H9(M?R#6A z*fo&CRB0+z0?AS!iy8!~r8*c_6hL`~WDGDU`55#6#gfFR^?S-{={AO3=79EL@hG(| zWpHge3oct-#rFFb9FC8;1a88dCeoc;`p^y2F}i9T(KXQl=a#;5A-#qy>RO?ugu*iZ z?QVL-xqfq%_`GN;!D5YoE!ZvyjhL9u0^f#+HPw_iii!XRFNAM|#u7DFmZpxkI(DLb z`vDuMz;-kqk1!s{WQ~pX*O1-u`Q2e}GG-pKSlrQ61+YA^07*dKp$LJ^0_-Aa-{Q4w zlcbp!#qH+RHr6a`S;a=T0EqyGTUR79szl;2-nfKG5I3efNUWnw#?v&DwC~Sud1#=4 zP827CQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8cO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif( z_27EBnpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`Un%ZJ1&Y>k3^8{Rhx&Zf9Q$ zh48xX;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4%>g2Iq>=X~{#7S!!C$2H+Kd!% z!<2Gh-(T+asuLwd9un$V(otga?--w#d!W8=jiTfGoxGV_5)=IG6nEZ%2+@fbbtt3f ztLvAh?1s&o4$9OpYGJ2{ip`ZUU9doXd^(x*iAa{uWQ3I8jiscLmEGK@$aK zJzC97C{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{k$LOX6=0V97j6e21M2`dU=Mit zrs6xfwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132IZ?B8pZ*R1pdi+PHd@$|-{DxS- zL&X&)4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk1yMzcu|-iu6j5TVQB+YyiYmoX zVv3@R6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?#f-+8*IA;vuoHORmZNmo^WHM!X z8lu;x)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$!l~h$wrBxMT5W~#PJumad@X~TT zQb;pIBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh|W~Pv8A#}+#wDpRrDyX(eseMfM znUKYnOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf8D3vKX3tYIF=f!s-I-_3RZ&$% zjFU5;9QK)+i)Isw$|qNuMU$fLdmDllnP7gM6KWEEL z@+{0a2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d#$yob=1`GI_WhrY#%J{(>LLK7 zQYoPq_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@MR?)?8m{-F6Qx8+oSrO>$qi^{ z*$o*9|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9i~CvmyT8jNHOd+P)m^=ug4yrT zh6xFU>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b2s11{*k)H0L`{6u!`DLd_V|b5 zY%^AeKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p^pcOkj0AHAH?iG7gpELbTcG*P ziI2hM171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+OJ` zl3Ep%)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr4%GxovOv1%!APYg>j^pRQv26; z1Xb~I{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mxi>nsFm6W@B*kLrmce|~`dUT-zu!+SjvzS&!4 zCjk~HWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(DbmV{r+&~8sKAzUd;L0qnQc@#fu zX$u%Z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+r}?-bLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;mCF6Jyh8==9y|K@jT#=$kuPh(! zqlsMtSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@`UWb<3sKCX1A2-t$ZK)A!TJ3(Q z+`6oG7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNxH`2pR&z%G2pv>vybgrW*Ym8r2 zs`VRLylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ-Z~48Puk385out;|1|qFNqPir zwy5raZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUmF1mn3D1~niS|@yrr+VmWlX9KNqR*wD{p+yu|GzFWSJx4btxc;6-r zM!x5Pt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g$conjgwGO+&#~-&a1`@yJh8Zp zNV&a}w7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3BW5zht{*=I{u|+yuhY^PM#u#K z{0s#aM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rFW)sddt!HmXK3stE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$*n@#r53F4Sc;=cRC`@HTI>yJq8 zhsAHB#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N@U_!GvRb_@&F$}aYH0`i1$Ki{ z$Jj5rjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo3I6Ap4j+eKaytab& zMMv2%yp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$;ZH8JFJ`%M^cuEEjCF)Fb!|BM~ z?AlD2EWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C4*BAhDG?kLPYiLloKk-S+NC;p zMg6~HwfbX`DUlN#1fb_95T=Y2LVGlrrIea^*wpC{ILiT3YktRn zh&P#{Z8mRd%oZ`u^-40+Yt?!5&PFsSyCM+k~3NW(H>ZSU|?~uOFU{G z0S6>-%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJVAlBkUXzPsrMeDb0mdP@Z!s&# z>DmFhPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo0M>EivUI9|9WF0*_Oclm*oa4y z`6d{?NJ147?$HJ(!t*ARDIA5rW{;RjEsNjICo{Kzm^r0OOcpJVL(mFc%@ z*tk=MHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GWPm7f|_W$pX!+pQA`jKqoQhY?h zMe=4d0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzKn2+U=(DEmpIe!u#LS zx33Rm;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2r<%{XSa+fkBo*-gcr_NRL6;%8 zD1NvCiXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E%B9eWi3oaw)s>3KX#^oR9|vIC zkcO_(l~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V;dzW!(sd6s5Bv&Y#T-bCv_{*y% z_!qJuFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf1;AUeH`;V`zjmiV>205V)%2Yu zjX>!qn5s(>A_7{a2!jx+>9cS*C%@c6{cVI zjE+3<)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk}*f8(=D{?t}wJ_b%bwLnOMUv9OMTpfmzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspKo`;&*x~H=M9BI}6EQ)I8y`e>K zi2WXmU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0lXf@gZrF1!6xu3f;8`*B#@u%?a zm1xxcNW(V_ZHWJ|E} zjWkh6;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v)=R4#?NryEn!UZ%F^4PK8c-ueT z+VD`_@zDL`H9#WV2x1>GA$g-pY`JMAxM zNV9JT1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB;aBy*48nzaFt*v~mSY%^HMZ*kl zi-qlS)oTsR3|nMYEi~1#Ep%#|m zLJ#o3p<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+PwnPu*_wAL_mT$`?Z1EG@7#NvjM zxCoVKF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A&jti!)$7&c;GW5UUjoth)1oD7N zWvizc-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00Cqo2PfnXVgpd_Yp>k6RZmSxyu zd`u*_k^I>_&bEvSy0|xTibTE8EZm)kbV!xYzuV(!Gf$7{ zNWvha_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZec*J4@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHgf-*6W6yYQiM!I9?i0zv9F?bYU zib9!GJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vYNpn*V=Q`#?42DdEh>;kPj6pr; ziS1=gzB);a9#v}Kp0908bVM$) z#Tnwb>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v*8aik5{_=Rf9o>(w4%gnr^q`sO zIc7mnbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!rCm0~weTZ3R9zYnvZrZmv{9v}E z>*YlhjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5o{thXt%&1p!``V9MZz3>ora7O zSWpU~kR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt#tVs06v5BKx{kKdbD|Fw(g?CB zho#4!;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+@cQ=l0hQ!!k+ucAMWkRT{A6Y} z&{w0FoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#UK62XFP}=qdETR-ySt)kn(Q+?~ z#4f$jOhzdX0Gk|X6|jSWnX81bE^ipzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|dp1HT&-RK2X1rU5+Ywmy7jimaE zb|vC?2_(BBK8D~_{J1IF=<_~zQQ6c>DcU>%A#yz5KtO-DLY!fG{&d z+EIvEmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3Uky3fCPw_o*v$!4-UN5VU81DW zXLNKWB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi9A!(gMC{DGDM<*Lkbx4h;}wIl z10ozzxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{uoLWSt(4%rKNwn6RQf@_RAZoAqvK#3@jhC@gP zk#<{{qk~-)QCv`QPseKE32T@e9r5eu!WKl7wL9FCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdFh*6m_y{pKo=?k*ns~lJtBm|5? zX0RUsQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGSF3=oe8dhdzRaI40RaI40RaI40 zRaI40RaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4>y+s6F$Ehu(pa=w5Tubwx+*12 z%0gsuz@^=Cv6w2oe$g@$7XgFsokz^@U#7vuj@r5xH{* zk8@o2wTkCC?pM9+bH=gHa#|L%UW6KlIbU9C~qqKS-o;5l@oIkLXZkn zP$dKy1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT>c0ff+|xr;(?wBK)m0T#)l*ef zRaGdJM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_&*G6?>{1amZAw^B8b-}3ii{nq z66IlVhMh!Lw*;0 z^OVPx*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikfl!V;jb+<15nV~hF*5?mJ4=3PX z+auf&`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%`)S zLmvH0;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68PwIoR45iEpL5dGC6O{2LMr%bcS z6s2PyvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_wMsS_Ih(k$_2_3}i9kv9$277H# zF3A%xjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^1NdgUE#h#C?8nJwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an14Ty$jO#8g8mz(NDoo%|clJ>~~ z2SouGH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^xu1JVXb5rCL{CKp5dAn-u4rYS zQal5Yfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K4 zX8zYUe!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T@J5ezesaI&*IMmV(_PA{86q0= zFpvUy{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^BgGzR5en8In7Rmh7^-XThDV+H*f z+{%jedq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs`d!10*x<|B_uZ&x6X@a+1qrl7|8<4)3_D! z3^W8{Ac%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?De0iNpA;_Q8Y;pid(h-v2u0bA; zSGzxP4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiCC!=cbu206CLF|%g^Ad#g6Hk$g z)qg%IZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy&0w~E?l6Q5&>(H|`z=$Mi+!2j2DvVIgz&CJ2x~39mW192mbrbltKXq z{cC#!d4q-wLOu8l5CANE$j-Dd5&imw-ZO+y^d9EQtmXjMp%#oKC1adN#QpMl z>ijo$i5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&INUYDfj42_|dqo$Xj$^roSsV!Rj zJw0!otefWP>6B%}~{|F^qRu8BUXJYGk&&-(`jU;%JWTms)(^BPQAYE-~lw z!Kue)A@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy z>`UZ8X!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^MHus?tVj=+6f`A;;Kv@ES6a@f1 zPs8o<2`7lG-yU;F(bl4#C3?)Gcix<7&gI$ia=L4 zq@}m~yPUg_hui_)*g0Nmz2~FfQsY$?wU0k zD~01tX2=hYT0N$c>qpK>>3i@;=;s{Z1XIsvFkA(uSil}@$CW9ZIIx}>awYBf`IK1TMJh@p*JcMtZ&8!Xh=`D9 zYkYD2e}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih z@U|8&Hff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ_>3#aOUV`)mJ!}K^R@eLdx7}+ zrm2c(3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+?uRp3xXx#f+HDFA79HZTMMh2s zAv~W-AJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$hH%Y_M(ChTpstH@jd6Ijy^2htU z9{R0(2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756*DlFVS^9w#Zrwem-mz+vljV52? ztd#k7@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N0&5_$*Jo>wXE-m}NNwma5RK_r$C$ zsb94%Fme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!ZaqI0EkUvOuBf|gA&GYvlf6d$5 z6)9SV0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH!e$#4#rXC+9JpbZf;a%F`N1KV z+M7Ot0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluvruZ%?=st@#%x|sB;4bl3s#$Y< zz5cWt%&x}Aj~Ys(-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^q zG}l)`u7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwEnry`PQHP~-^vKdUC$cE(UZ{zB zd&uG>FUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U^labgf}y>;!mn$(LC2tngTqyBNPNVfTDxEK`qADfDN z{3jxsX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#(*RfnV-&vESP2@(0=vzv#Gflot zBDNJBo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@{0&z?jFK$A3qj}5z#`}NwCKGY zvAKX8EQquFs*kfx>eiL6!YL}+pECa4z%4YFWAlkQQwf#K^;I)81t&w%6&G_S zq*Q9k=~XjmA0HndA1TQBTpP9sSc!wqgaS~vYpE^ zHdZy_8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7e7cEy18iC3DQg>Xm(UE5+~Zll zEB8_{#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>OfK_PE_^8!Z={t=Q!_FTlqe%`iU z_QmMvWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0{`}M1x7Zak)o|Qq=2)mMG*hOkusf~O2(=pyebp+i2ATt_D;*V% z41Kk$x%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf96~2T0>X5C?nL<^<9mLy-yx9J z9OMXxqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U*>;jDf`|pE<@33^_nb+6c(zx+ zER!5$ChStz+41KJ7GW(Pf>w#G6J)?>4_O04 zm(|175Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~bE}?>1CckBsYR^!tkc-)q3)%E ztTVg@@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~B*iF6YGfK8HF;8fiBQvS_}}=R zfr|P?1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s&WMpGu=oU~J47nEkt`#Y&c9#!z zuN;{+vKwh{Vy|W_X4+>em{{ICq zQvo_e!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qSY1>PIDcb3|mMOq1pwumT$X!F1 z1Oc3cDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O#X)dOeCTT57-QrRu(n%>x)VoQg zfNLdWte1&alpcUALK`F^LjCPelRb5s$0x!G%2=quKhI??>1_75trqA1kU@dkyjrM+ zru3yD-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J`gtW)ug8Jmqte&}e4cl|5gK9m zwus5>D)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q1e?Xrgg>9HW=+b&<6yQ!O4*y9jjvZ>AAcy3^<@4^m-jXPZtup6&XX%o z%)M}fktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP;mZh_5aS!ZA(SSrMl%9Qw_hOd zVXwnQjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAzJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z-L)rK43%k<9)j{Y9+2wtA~ZtN zVuAZYG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+K5wmtz8i*jRxZ^SNIc63=KmLX z_x3ALVl>#vVGbWD;okC4X?yE>@CWjDRaJ zLAb8U%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb>fEI-y2WY%9i5qHHsYTCh zXluDy*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN?_m0D*xJE{%i`agB_ikRxlAtuL zd>=`k+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~^i!&|jYwV%jmW{ajvt2@QY`-2 z5u>W0n7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ed;$n^m0}|NvuebQjJnXP6pFd z%+95zmFE2jf<$;$RqlcM9U8eJy8d# zP$DAF4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1aC~F&W_ylRk^b(+dIu5be#h*& zu@d>-Tt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X|yKm#=d1{pM>txw=bye1U#z=_} z{DH$1^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x&meg}OUswP`xG;OzrKnMKEJe?97po(E`sK#-G~wEYBVqe(7Q{_s zL+7DQzd#6Abc~T7KsuzqOMYAH|q88 zdtSCR;Ld`f+DOizjH6b%FQYZ(kI%=iBfmi)go=P?wRmqQ4w0O(Q+&ijX|`O=Dq0|N zkXbM!*VH6q2^y__OCSD>UBK*zKk3N~-pytg-B!yC1+Edcv{o}<+Yp;h->~XOv`4x% z$XuQxc&nk_OXm%;4=U;p5H&_`}rBNi1lR2mf2?A{(9{WCP9 zQQwBZpSfG%(M;5a!~^ldz(UvD**y2^t-XIMyMK|xo8)B3#y(COGi1=FHJ7*EKEC%X zOg2?n4}mTe%vr6&wZGTvz3unj_O z-O?D3j7EJ77Orx(w!-ykt{$Dh-ac-FddCPct(9jShbb6+#m2`8Rw0i-5a!9=?fDS( z(n$yQKtwe!^7isWrcd#0bNcYnrVJY618ZlL@cAD?&^lHYAJTPLz~6|i2dil}S$ZqJ z`bHgasGx{}K~D*Ib)PTXe(fGc85q2e77Ii}PJO;C;Z9tv{ZxAo@I2{B1C@bTy^ZtQ<8- zSTKeFloA*iNDamQwmD8~X|w!!J7Vn(Al+$tiqo^qBL?wi(}#--4Xj|n@9A)}w?0mW zC*!?l8A1SDCnRNtV}?DzUgWkCX@(cE)?ixc?rq%KvG4=%n3LCXH(o^DV2XDHF+i!ueO zDA7hEdzQ7S1;}RSaF+&F_GgPanoM^1e(u^>)lX*8TtiUs;@>*#k{>KTei7 z23a^9g0judG3~{;RS|!>2e&K{8|m)G=chhw&SHWNyLetm9f*b_x(LWdjnKP^Tn@G{ zx-Ig*OzmdC!fV>-gQMxbfc9cuxm%s=P1o-LdtJv9(c|ttcye9>P$EKvsW;H3a>#Nd z(jW*=P9Pu7AR6LWLc$h5M(K3600w>$~3UQNJG8{D|msrZEUaLFkyQa{Zun+ zWQG`Fxw|XU z8JUF4$Y!LWQH)k24s);W`?=%@9S?&Olns7{q4$$^u{fN*dw;5P&;6A+yWSG-Ix9X{ z(VxYr;%?mKiJEq|oyi#xM(7ZPAR(6M38ZO3)+bOURPa+`mzP>V>ElhWK2yx=w_lfw zkG{3vPM*|ymKPqn;bQ;a&wgje$xvFGENJ3r!PUBim*6o2D|GR?uUjU*V*_utKl8@f zVHhD)8@PSf&feO-23aJGmW}+SXRQU@&))sNxTqhYn~-WO{9I4>^w10+JfHc0H?RvQ z_-FNgEG5pP{=P-3*DqAjfgq@?)Ovzzm5(g@F*|gg)trxI&{Cp&rAkoIJ~JhO4m z*Q+0&?LS9y-1sT?$ zlBnj=-g`lYVrFT8ucD#%=94a_8woqGqU*YK`vY;~T!9<(Ot?1a$)nLie`W_eot{0P zaejy*zNntmUX3*>)OkpZfl=?yi(a{`k#jzvDy8b>MUayDF@>nGHWy@)R8v%gMi~vaj4>+d}=x7o3mqW<6 zPYL0hP6ZWIXqkA8xPF9?Zomz(6L=fuUH8|}6M+SJK-?h%_N(;pNXN%#NdCc!;b4i$ zF^pnEQW^~#N`N(RJ8Nw7NACcov}!l^YN>l2hxOjsf%gUg_wwBy8*2TlEO*D-=B}&} zdXE7X!WaFE(naOP-Hg;-xI^NMh!FA`%c@1f84{mI&ks2d%!}F^&*g6~=j|&}_FLh52bzI6gH1)yadiW?Q;O1nNG2EOMuq3OtDs ziepgzvyUT%q0v?UvDukVhH2~q&7s2vhcoU!ME9X+DBuALk)vb8r0^`fU*FWgVJdA8 zLVIND=WOKb9^O9{mLc}O&rvidllb;1M-u0VUIbGVPiILsMA)9D3FqFjKx{!qBn}81OCbJfHcCts(ruh;RrK1=Tm`jFV*jLl*Ck=v>et z>Icr8uwtp^NS%yI1Xswr1W=??EmI0RPgu{BMsu=et!?Gb@`96%ZJfD2B@Um~yIGDy zdgmO`1}77+J}>0vGYxKk(E_3MGcb~w?z;_-+SlW$gF>m+cpj27hPJF8(Xy4Xw zNp(R~RAawni#?&D#e>9$tQ4@*;q$2aE8%pr-O56%kBgF5=RUjoCb z=>k`m7a*QrFCCkS_U;YPx;;7Z*nev6lndu|q_F3tR$4UjJL|wGuhMMk&fXPyjUG%w z?ztq!KljoyLqPLo-ZmFE>AcDnvtk|PH-AY_?WXf9|h{ug|c4^(~Nkcaj zyL6Pwx!3%a74hiXu`VA*?kD=q^9?<*va_VTBvF?AMQQK=UmVj}kANze+&zV%?rF@8 z3<#V0=PzVM`2tKxwM0Zu+Ax&xcGwu5pwoVG^?4Yt8;(Va9>D}AMOr7Dx}WT`)GM68*F-2tj&L_{-zg6hFp

    LqTW;#i@TbA&_}m(l0j4q|#;w#F)&cTU+<=fa|h?(rq^*>f|V1nTBBpXs?n z$%nn50W-_~z2f&rI;NDv!yPnxOELWh-N65V<(m}NsG@I0{s@gZ59t~V2%oxAv=l3i zy`7lp!=%j?%YC4=GnS+;fHxw=Z9Z}5`>FXodyBT&iK4~Ty=~*3&e}0beu|&>!5vDW zPLy&_k9nO;>OYMW;9-(++3`}0;%Vc2((fy4%wWxYX@3<+lF^uRWioph;1jbCi@@Z5 z#9=GuQt{lmw=~?lkh>$l%J0?1r1;B+8VAQYVN3xoFDSlGnO5J^uwy5Fl`r!R487IJ zGSE})OoN^{TLodCV0g@PQ0(e;P*z+yWo<=CJ0sstkxFIES)#ANRHiB`gsbI=CZ9;m z!j{d|zri8yC9j>GQn|mug`19D;zPB6ZS@OQn8^%&$NeNfngu?V&*e3!A4oC1H)f>* zPcsnWjl{Q7#AAuarI582l-3cDw`Qim`22qWG(gM0iGvXe;_j~iFd>LtwV9}D2uDpn znq}kn9EaWxcj)@Q{m*%+0*~au_AjC40|Ontmj@fg?XY7HC{OD8vFxGeZDV8T2hsy+ zpO(H)>|+_$B{4L;ZMguN;(=alKY#!oy9FNAfz7$oI0W56zSB8=3ylBN6RntIj-Kik z$T~3yXmm^V?qSFFqlz0xN44B(_gJ^g1h^&7B(Dqtt(9|8!YT~|2(W;TR1{GQ>V>_< zN6EZEyM}J%A5J4~iF;^2-n!n|JN}x?07o&l(aa74{moVuP-~zhRZ{>ZH~sSnZAg-^ zw*`_^u_UKUk`-LgNpB0Bpda7EBq z8Wn`PZL{z=Yayc`cVAcJ{XM2`lk_&6B1sJZ=oqnNSfZ&w0th1j7Da={dcKR}-{`_5 znUa9wkN-Sxwd;Am_Mo7kprFY-PW<5}aQaNd)jGBwJTE zC*ko>i);fX&HhXG$?fBf4E+$HM{hbgc3`dfhf$%jeDzi~4lW>#8WMgT4^!FRoBq|{{QpG|J_gbr@{DsKCKhn4TJ=_m z{uUCzo(7c$r-TceDY4gnIjCOONyS+S2utU`jJl)rAhE;M#0IhtHEP90@TgPzOyIsl zVGivWpSkaCR@W0=zjyQfHziLiZCXPpS{-;Nu05jyl~%F>gC6+gmIPU=Jdtev)Yg10 zRa!zG|L`23>a|G`kBAP-=Xqy<^xyS?L!j6#-OqnwIQ9`g(<3ZDyFC>5ky8<_}-o?t|;M?X@3b*rf z|83WZ6CbrNSD|ZgL~;*H~It>{nz6h9vVPvsGjL%+BB=>Iv|>i#36=IM3f zWn$DpwD;bdN3(eOQg0{^!*GHo{4D?8BNv&dAn2J4wsp)lTp|t#0*)IB0G!)Q|Dfu~ zw50te*m-_-OzlDnkJ@tIP6;s>J5#+9jrLvxqOOaV4J@iyfmIyrR^0wbIWVU|3Vb*e zxk3k`z$XoWPD!)V4I`2;9=O1AMJc_AIVQz58lq))TgcO#bCd{!i5Q5D&T^P&iwxr8 z_b7oCggh6&9%3ub(;#JLiVs63vCBqN#^!5y4KRt zugrI@D|okbnjm;)VKX6_1}={+0Qid@TmrzC@4w33>?aJ#67prBsGlYEg@u%`%Nfbt z(pGW3j;zntrd#SnkT>hx{0eME{hTBn8v)6@Lvz`}`XBwUIHU&*eeZE#`%@CLXreK+ z&$s_yuJ;!tTtn{2gYytIFB^a{3(YmxqZ`7MMlUL*q|yA%$xz@u6o}p75RftEyd#-R zMI*{>Q}N|*$kcbtth4G-APv#E91QNS>us&Ql(;v zw8FU6#S~-p?eqQTIbK91L4p^8< zjZ*8F+pJ7Xj&C>Tb3Iv*J^xi1)OD~K-GA_IhqfABI&lMTm)5A09&u5;{w?L`2dNwKfn3J3d@8lBT*rx zmEf|1f%qDYsI*M{xo+y1qDzzMzxV&yN zq9PU(QG0^vO503Orwnz!)w2Sq%2+fIb^z)Ukw(~4otL2Z)oWANR?n(^8k!;1sRj`& zbadvK2t*&A%hPnIwK#S%^FM$6ueds5O+wnCyb8q%8WxPp20@ThAj=Un&NPH%V<_JMB;gj5gcapN>-qLSOxZs1~7@B*Xauy?&HGI*ll_}llOhp z+n4h@yfe&u05>9m?@Q&Xr&&UsTg8iZWUK!98<8#o7KKA?T?1fW&WjdU(AWvCv_CU@ zsaWJ=yoXVKpZ1>dW*DVM*U{YD`|CK_294j{!Zy7QaNZ#S z5EB1p|BQsn%m@Ku)?r4o{^u83t%I{fps(~Exm3i#*TO7!q(#6(kp46SlkhMG00Eaq zaF$K5rtfk6QUjIF%=L3Q;q!C36cL+h*Y$B-Gb!ta)%iBMQcfg{opsEPaVAny&#so% zFBop*AtAUyVzrnNoZjv;@AvEKSrygSksREUUO5ifh7j z`)&P-pubQrmK#OX793w{{xY3r8}uXaTr+C2=&)4PtK_uksoTu61D!7(2!J`OEQIQM zD1spfge18eeBVFR=Ii?09y&H3_IY~GRR?GIR$x}5{{ z5=2MiTY)DQa@-Ua`JyCU!BFecUk!3Hy zDj+_smE^m-5v^H4;(R}l6O{s1-~XQH&48yPGY=TbU}fg$JJwE+-_*})hNfag-N6zt z<$2!c;ZedR1N-e;@{I+Bjk;fVYK0d4GKD+`$9I z?fqMgUUIS|tbZ;!;@r3;3k{1_OS58*{!jGDXCnx?BxqF8iH=~HyAM#4^x^# zWPs+PftDkSN;UCe`%@`tBV=rN=zO7*r}!zZHP%yy{6LRN4`JlKloaV>hVz1-442#Z zoN9lTtfyZw$D}Y5@VG;<5`4>;lA>)zllQv%$F+3R*09*O%lGQF1dkT>KAAAt77yEh$l z7uf)dEsGsqNUtx}5%3n4e19rgB-i+3ZE8VTg3+5sEXD5Dn!(5e^ zA|@*0oR%^XNzyG0AXxLzOGQ)m2=cmW0w@PNpNLbA0%Si=ws~*lBJmGeT8^l-BlCTR zM$r7Rq{xp=Dqc*l5lTSKb>L>_bN}1(cXKItp;_CO`<)c-a-VoqIsSFkt<6aXXKW|e z*453+5;?8-Sp*^!{8)+rc^7wSp8jL0lKUidYd;Kl(4t7j?o}!!HyRU#e%7TZOCc%?xW&=Z9yZI?bM`B!Qm3pOi57~ev7K^lEtETzf1*Vrdn~EMrU6E=k=BC(azj~ zsu1l9Oj24Y!hfGNedd>m8yLpu;OA`~++-XQvR;zg#H1(5SKC)0)AI$!NUtSo;4zWd zk(tJ(`v=LP_%(=Zw3^=4oL`3pgcy01l3K^yZQKlh*3uyrZNGVB^?fA_OugB1H6OzSnh- z7?R!;D#hyX>+`r@o5Y)Zq{5*@a4brtGfddRR2@}xua%{y=`Besr9b6sY@H%!nzV4T za5mmPcQF*fVmW=&(W>Rs)Y1cweNCa@=b?xjL7D0j<%6obt^TG948XBPBEWyAko{1T z-SCaaJ$_gZ=r_#MNC^z{}xdjEEQ*8WjzX}!j=OsRW}y{)+z zohx034HY!ZP{@)A7X8Thw*RqwWiV2M|AG_QI*Fu%L{P1yM=lg-A|B;UU9U?w_YRB- z$Xf^@fK3!Z3g+D?26WtXK394CoBh&h!g7eQNGPigPo|Pd=8*YlC`v*U$ske^EP%35 zk{fP?PA(ZA*b>5h@(HSS&lxltaSP~r50580_XI23XV*?^IhXWT!MoM6y=uOx{jT3d z>GSrjUp~x!Q3;R!Z@at=ePo@Q`FiJidEE>-4^S`<^sELe2Occ~uXF!@{QjQ>M$$)a z1{Gubz0QSRaQb)v#>Kc7nc|y zJT&RnN@vJIXG#zNKv03dCs`>K=dE!cIjHCG-`I{w&r`a4gAwClf70OJX>ZhL^-PiL zO^f~Lk(QtKJ z8?cuV5Kd0Z9TNC5)$%{Vk5SlxJcxi#c1`ROJ{nW@Xq2TJ&r#mNMG7J#fq-dooVi6# zkxK1|(9gZp;Y%Cs_8f)BFLVZn*mxidi()zjDOg*ah1lzBvj7%lCUtu5;@^Aw>JjPJ zWRA;(QLB*fQDZNq@YL2qvY&l~Uq*bIc|+fwz@1@FiAaXW&M7WXPLJo)|CqV&6o^zi zH!LmG5cWnnfY>8vz|^ghhlzOks06nWI&C2 zH|XP|ltzghE`y^Nl7f9)$-E4d7^)F@;j)YoROEmzT$QpLukKePTaRPwuo8FKZGWP! z2G@J}@$(pP`m-;Js6XHUZrCr8Z4Z6zu?$$L%GH{3#=Lj$T_^$smSFV0O4#kTlElF; zH7X2iUsgL(yDwBxnc$BTb~h1-)VLUL?yj-D+t{qwu@HT2tZHiI?;s)3w~>?lnm#^K z9%rS_$ya0k)*T?dt=p}s4ujMY&g+%Dn3{HgduRPLV1vR59nW+8h(ETaTz^w&1Ef9p zjOdk^#*hmzKKJ}?G*x&yD%5wFA*{`-?Smo|)-uXckLSoUOZZq(OLK7f81Zx^&^vt~ zzmXyho2!=fX;!r4wL%a$ijcJk&Xfpd&w?xVg81!0{5iBDctiaod1%V}*|-LQxfwDm z*7Widy8~F8P5}M1thExVe5CS{LovEZmJ*a;HzT!;*qKJeQJ%&6*&N7EnA$)u|ufe=#9}Q_I2$`Di9P)1A-TN^Q5nLe?i#1?QY0@k2L>!EmT!;#Xjb0_)_S^``F0-H_|+k_A2iyI_LU`pXUxmGv`L_H#e#^1oWN929fEwwa#98 zTR}6&A-WCSPRjte3~sh2Vc(klsaftK@mO)5d^vr4UhDyq^3d}B5MvxouJW|uAitac zt7aQ2?@9Jyn+4R6t;T|b8$>R#B46(BielCP4+js$%h_^wYc-(bqY#34gsW)wtxBXc zc=PLN&g6lp))OCS@5r8c?}2h#-Zyoi@MI!kDny-H*D#o%Dzhi*(;$ND&0wO6D9r>T z(c@-ZNXiDuAU`<_divOy{x_Wysul?y#E4`_BL=GSb{Uw{ZSAnf@8 zgj4H5C_8t~C51(mbxAK&UctYc=-p)M0E7k}yiDxh-D*z)hm#`Dr;uJyD?^Yv8CRC z^3*glwvG%LT6Taz{~B_jwZ*md7fIIGpcc0Pqi6$bgHnhNg3J>FkVnp=-$yP-%ACAH z-0s}9$7F@#RLHD)$3X0(?(npPYRP#h;3d!g-z3MCeTQ3&_rT*aW(81Qr+b-W za?dkwTd;Q;&qeR(plSyF2${Q|Y1fjFhZ2dm^!lF@LpQ1Y-`Tq@-1xROxP!&cVWMJu z{=eGwDp*>!Tc*VE<}bzoSb|2lo*onkL7n;b@xXcmSPJA(hsVqFPL24Q&8Xc+Wy{*f zLRwK79N3n9nWZ{MS-Z#&or10PuwB!`+ zaEH(u9D-d%>5O^UFWcW|1KkI0Dla5*NW+oRAxi*fbXR(lw+Y~8e_0Q81|@*}-6!HdKQ0!9E`wtg3S4&z@qj7-scy`hX}08I z#uJ1=`isr_OO@ty>zg>3Borz{zwPz?SUs<3jTofYQZUn3e-4Pv(>DG$8oryjMk>z+ zdL@Iw@1qGLERMq-W}@#YC8Ry=p`|qgXY~~E8XH^f!9^l&6Lejc$SY)7hdF$)b;d;` zJ6i6Ah^N3?PuR%HMF|G@96gn1CYKrfXLk5JqowA95+h0gDyZ2#ZV~=b_Y@ZC-p^|2 z!U8opiU5d7FIwl_ z(fHpdzo_edPyPsCO{Su$D?Uo0aA>L-PU<0dqLG zV+e1eSgxp+G{D>P0~l=}Y9cn~H#V^p1&7$<^j6=>-LV1}?d0n+g&xb?45N$3(nWZ0 zdq(TZC($wsv;_U9`$MRZY^I}k3P-0}dGo&q_tvA*#gPBaJidbLSq%!q)kz1o#ZdWB zDd|}pP&{0RIdPdv>N za{b9!VYr7Ceod`wW(}^LfrVQ}-*6$e@x7piGQ#}^G-gXK;9rP!c+0$qTr-v9!zN*1 zrGt4H@H6oat{g{DhK;us`5)_nDSp0opx2?YATUoWTGt9gT=@$W7OG%}^Mg@hv0;Hm zuHvr2WLQBX3C3G~bDUAY?+@)$l;a`HgBT#JS>&i<2ljU-w`eM#o#)zWBiPLKXIq!d)03j10*i&d+nn_6B!< zVd1NA@2qz5%@w8-(Q`VmPl6wR=IULLisU>XWCJ0m4oqj6AQ^+EwUc-XL$=bhp0Y-S zd>B^BUq-KQ5zPRy0)1SrMvLpwOP1}71uigE0fH!yz>|kEmz<<1gcu+L5$7%+?##|^ zH+6{fS7g&ezM5$$@i*K{IQ!^bPKm5i0|N<=;jG*XKFH3nl*)D6F;26O@F?qP`8mf; z6{P(He1*~o(gf0Fd9?g*Rhcs*u}b9g^SBPYFRn!CPL5~~W3XDbDRZ`=@6>L`==F6% z;IgNiqrL%xyhW8+{_9CROWKQ_6N1N9ee*=U{Ne5f7q9JbX^FFR@F@O@k=kXCNI;FN zN?}TfT%v*+`K*zMrl{AGvQ<~2lo^YR=R^M)8CGfwQh4bq)9kGQDH7uQY>7P_1nBJ} zv+U1^pYQg*70gcKu)pCMySH%nj~kJ=7s&l9VshGnTAO= zwcP$~+%trh-Y-wHOgnVT-ddiP&fq{FC1Brz=HaU^KgksU!-g}uJa2FFvKAQv*T=t= zk_=(1X{-M5_sCkifGxY~)0VXbT?L1BY4YUEj#jaX;rl+s7Ie8`fr!4hkxWu9vBQTt zn+3x;^-s!n@r#_$pfg6KSEB&oFQiO?go?tnhnXvId_vUM8KL0J1LpCeXJrX5T_6`m z9~xsiVh1=WrYMn*G{s^B4h4YD1zc>vik32C&uD8H)=sb~Ds-$fqa3;;to>YJFX}nZ z*f!GD?b`<@d%X$q5L)vN`^}w1L_|bj1w#(J6cFa>axkHFtM%5SFdg1MvEb4r!0D$* zZ3-|*d_RH2-gz_N9PGkgVL4XUtL{q0C1Ef#37Ik#IxQ#gQCm{rbMfwxO#?x%BSf8G6UHw>bzi!iQZ=Ed2^VS4%iIHsdG zIK7W1sD)lgvJvZ06Q!$ga?c%KQ81!>r^JPHH&8NqWfH%cdgg{%2FvA&iBT#;E zghcXDC`3f^6TmoU_7<9~xpL*D*>dH{w0n(1Yps(9-j_P^h)S3xhAv+Cb>Z$TJIH9dm zjT{_^i)bQce=tkN5=5y$!4nJGLIj{xh*gL~;{Hp)%%qXQkYy*YnyXN#KHOd58Q~6Ge^n)?3>7d< zrI39cxG&Y>+;||r7yu)r(n*B{L96jIZ zXf+O;hBsBu68p^rMM0U#S#nU3ifkQ)Zl7Blui}pE_3@@|#g3HyZ8nKo02!1-!l5A% z0unRv*$ao!ZoU2;th~yHE7Nfi9>@IF}{erKWH*So?HJ9yDFLA~sg&ax0Nb zF=nMW?%^N>)gY|XlFCPQ2>{#H>=4F~Z#&wwT{nb!E%8p+!VDSAj~5EjYVw&3|49Bm zM*pOL%QTRTkHC<{efuNyw>3mUMEW93;bc3;^9(7Uhlwl}p$Y-$Q_^BgFi`qf8(c83 zX+aEb-WE8t(h}=(jkTo$mMc#Slf;nyzza+#^M94tRXS`Z-#tz+qxd7{XuwsYC^LU| z1F1+fY?+aW?%%VvDhHjmgGZ-$PXrE&4+BLlD2|RzY>|I&^BKJueLiSi2((J&^OkbC ze|b{gCev-lLv#3=v$4LZea?h;UxsgeiJNu0%_yuv;yv7{Q{j3 z551334|C!m${|33#eA+PqPAXKKTpxyQ)JAao&sBqt1M@Y*`Aw&=3I38`IDZA1Je(U zY)|Ok$?qQe|8lEJX<3*(VTxZiSpwPUyyu923%#LWC>KwCZ2*dO^X*MvIC0EUq3#Cs zWQh;QbM=!a%uAV;y8{0J&_I6-_){-7CzLmD$U7-;L6o9E?!`|vkT<=KT*06+GIT17 zgt^z+=q%uv1j7$R5IM7~geW2^QYuvvrN0>UJnEms3?i3^XfL@>JZZCkd><^F+SH+< zrkr%36RF(!P4}?f_Lx93XeP$RNLh-p3KHkopzT_KivUd|(!f87pgGfCjx6V|&te+q z-1fXs-)}tV8=3d5M`ffYp3RSE*Xp?b{Lc;FEU$W-GlC2;nfra2ba8qlRBBc=6EIQj zDjxpOM)v;=AMJI7M9eU-8jMd8rr3%xUJk1Btpx!?0=n%wwwBT@7BWC0XEp>aG*YeP@G5W@BPXH<)RHUmiYM9S4ZizvUYLqg*n&rc@ zkGI>R1++-o0$~Aq3RCO}Wl@xH@xl{b??G6+AM@Bl^VC&7WcRc@craVn(`E=y=8Q%rc2) zlE&V9HT?SfC4#cE0fu!>wl;PmR=9>oOUYjrKwoeVKQAOsTb41v8 z=A4N-t-<&a_8UEMnzubAx-2-Bco_tjA`BL{(@Vq5Yvtfv5=tyoa4k2Q`Cf&nv*4{XdQJ>1nk`v*HvjiKN8YKzuCF$2m6lm^frO8X6(GmsIJ(VX)1QWZOme{eOEaQguirW6 zM*ULh=@7MQ(n5u?`g8C{1zvqV@}>QP-@Vjbv7Eo7VS0)Hfb|tAI~KihrTK8>eZV!U zYBirDkWmyUMo|a`p4WX4McML=0c1v!9Y>C_g zS@rQZnbpw^_C^2$6-5wT=dgzAiv`3GMMOkZC+;NYkn(7K`#KCjs3>p{R)V2R7)CHT zNSsI&oDO;gYu7j&F0(VBr|VqeST-tPlGF3#EGmIpRUKTm!z=IrD?f%tyw&Oj&?eEhd37 zH2Mr3Ha7Pcp!c-Y&2#qF0eDr2%ZtGLj{yEZxybuYkFbll{!Wv48p72cp*Z6RM}XnR zjw^xA4YOH==?{dBa>NUymsyG@n23MWpC77jLqSYCu9gHRQi#4bL7O!|8C*q=(bsNW zNCcqz$VY_3HEf>%c_?9*D%IEBvg2k5bmP26D;7jJYx4fMN6Iof;Ik2kb_xC6EUrrV ziB7)X*iRQem}U_+t5J!Lr0M}pIuF!8zgoeNssBd!9mXDH!dbAxt0|I1B9WyAkh(nZLLjlO;1k^<+ z8MC)DNs|EtNpN-9rXe~UYJzC5Clbr8Zyt!x`dYLs)$U8ZFGVHuHil1YG`bqhDcAZI z6#`I;T=mDL*SNPr;}3Y-X(THH$nY@FCVn4R$^*QU2soAtm#dpB!{OY9Nj+VdC?G^g zwRqr76sexp(!*sX(shqmJ0IKkni94Cyp769T5O9%xrmKl!*5&UBAdgKMGM1y-v(lh z-KGFNdp&C^6vKuW4u#0&2MP?XpP7wjw(R)oDW(kr5UD6*LX=e%LrkKos;H_0rBo_} zDHtUc2jS_M;yOPQTagYP(h#P>h!R2FsWZnD?HGem6%VYa!FT90>!A6bQntlJAwjGG zh$;+XC5;`w@oEwCb`~min8602K_|0EYC)*&2-`V#@W?#p0eDF*$Il#{fyj^n^oBBl zg3dK8R(TE%H28#i)B_Xec^8apRS+tjG8@E17=dA9lv(0bS1F43Algjr^@Taiw@l`_ z4{E7AD+2Trm-#kEv(SVBRM_LXF`sos;Ek`u8%^;53DNk3%!iDreLgYM* ze{o@E_3C#39hX06&229A+~Y&FFJs%X>IJL(mYpzXFED#vy;GF~Ut!O`<%&M$%fv|9 zPO5(Zmh~@`Gp}#DEJPp@3vt3S#!KvozS$UU~J?B?k~eTAqMK&cZZ6ZEhj z{r&k@m!wrH+o;rXCl>j%yC|qc5P>)8n)n-2U&Wo1wVzIO{4XEs>y_5*r;QULs;Z{f z{bM%SzC_oil$C$ME!3)quBI0jpRL*a{73G4MpvyuEI^V3 z)!u!S8%KnBcQaR*w!N8M`kZO)|C0A#{kr2Bh5wiTyERCS6z`+S{$7VdZZK*-J$#_j z1V(IO=34;C8ZY~3NEf*tRCV?ALdw_yJSf|@{ry|o5EcSA2ABRUdtw;3B|)XS_Wd1x zO0pso#Id`J!unIX33mzL4fwKQYgQuMjS@$ZwIbAIh;7_?j56zMIu9|tb;W@KGmZ}@ zPpzjh9f*k2-yB{d#;MVuawA#zuGkoHTFiW{jkF6#Q<_9V`vdJPdj*0E3lnvCoTK~) zzjho(!h~mTTn1-nhUI}ba=WKR5I65U+Vb&VHL}#6wcj||HMfr^7~9?8IY}@cM!xbu zNo1ef{IPrUy~iQM^fq$OZha6w&AOdYNOHc=P%%8^akJ0-7cTo-n^X|T-df=|cO_wD zpU#|&d(R#P^oD`+u#2)2?851yrchlzw3*M(uIL0~M?|awWTTg`e z0lw4CyTaeb!RYA@h2G?aKd*_35x$m+{NMgJlU)8(X^Tu0cVX5lsH%d-R03r2h#hWE z`nOmVDen#cbh%^tzMvq*SfRilC@phG;Q zoS8Cg&zO_XrvjaG*6uy5{Qp!j&fqXINHgk1B7#h|)R{pptBb(NLznR+lw_@093Blo zeK^Onvv%R52qW;?;mEQ+RwwiDQ*%jRZxGyKH+{WBBIGwp{aI2v(A{t2H|T^b8z!CA z&!N4D>hE2qEna~NW!Bd1R}9hU*~bZJM!^l4V~IhnixePX0NDYA1Yy`+i6HkX2T)?U zY-qT{rwr>iglN5brhWZ`sU?hrmRMbLlRU${p50d^o$!8-OZoerkNPwRNorC3ld}$? z3?YUMpu!GFVIwTeFoLH?*gP=7U{`25+`=kKLmVnH9ib|&jZfc^KNItfaj(hUxpI1= zZ+h!LMZUM8yLCpzo;wybh%3vuP__xEutLFr+2TxO{jyoW5Il)O0{=7DWN}E*kc5TS z*pZQqTM2&K3?9D01i$XtKZY0)lZ356)gKGDx{~`UE?mj->>*ur;qZSI*xdb}t9s+D z&hMP-lgq^fg9fe3u^2orDrdt1{XJA*VI6$0<)_|<=7JDM8!6~|_$yh>@14$HWP{$^ z^4lzyMkaZ>(8K^tCr%xMn99PL-3EJq9=EJybZj{3W>#dy8GrSBpjXnQ#Chi#;oQ;?0IX z9t1q|QW)S|;;Iw6#oncj-*(ln!1x@3)uRuPK~uS<aH@)Um?gZq@L;Ou)+^)B}ysBhjwrhAWhrPAz zY3OthmuI;vYj8Y0+8ysOr9K(u?)wZu&gOG%yB1hE_*Lk=@wBHO1d@Pxk zii&mu2NXiD-UJ`&bi0GsVlhVX+e1Fga{gTrNRCBSnyhCnYoh6Oc(tXN8?*t57PMe_ z_J1?mfbzBmeJEPp4|lnJ1UOI#o|rn6B(29wr+jFIHG4%FqSap;zDn%&&m9vUqju0G zQ3_#2L-d7=HSn>#W*Ph$n+6u&LgsJ)5Ys_`P-)WROI`38?|d1VePY;*bLB>`+374X zb0k)XjzEht1~XaI7PDqXIYtyyAw)Qr(F5pl9#RT~aB>|aO+vEGnIV}Ec5(N}NHdp7 z3mMpFVMz|7r`I}dG2&cMZ7_gKE@kZoZ_vW5%~I=&lPrDa%Zua%1C<=n=d2M@{u_MH zo=8Y!u{78$oqFrj+J7n(%H$v0WN;!0GqtVLcO+n)ZZiq^e+oPmC@K`#!+E+R1Wog` zY7kozZN57YYPOe?IhL^i8Xlj^O+Vu=CK_i;3rh`|!zH=P1>IimC9A?!%{`xbjPQRL zxp~`dD=QRqwBaoGk)P$BM`iK#UB0g#eKBxX2Ks9EB0ylP6AP79zu8BFeAdntFH1?1 zch<&j=|&7uVEfZitg;Y5i}DeJQ^kz?gdOj@1~`V6M`N#ByPcoU-5cX4YyTgS*m>yk zJ-#?>hKqh{hz(U{rw=R|0okV0Rk!lWM&JBo%j5F$!s@bOSwU^G;W09 zR`6mOvD$GJoHZNHYk_DQ$&4ywr;kOEf)M-gT+`jFhL~muDsW&_(u$r-wR{(J&6_rC z*|TQK2@@xwm5mTTNE!j88i49Spj4q0pg^Hgg-WWNWlG@vFn3p24f_rRFiADT>th|{ zo$Inlu=W4`hq{%+EWX-kC;=4uZ4?Wjg zCCGHbAbr9*ULGIWVPgXtzO15k4Uao@5XA^Dg@V=G7lq>zuF5K|hQY0;Ct;_rvMD9Q12EN?QL<#r187Lr{&^f~7!B&24b1Kw>N+K>lw^soj zwOrJ}5A3=;D2793Is{EF?LT#D?a@v5xqX`xgNk@Pj#lFR-}E~$y^i}a-^be(KTHan zFZd5x*9pd>j};F{LD{$jiBjosM%w5Wc#(JfFAsQm!2%>oovD+tb^SKKZ`kH#K zMFe7^EWq`^`Uj?(Q+c`CcErcqrq}YqyTFOM;PVzQx^{hK=9;jn^H5Yf(|A1KpIkS= zgwEVf*v%yI$NXSVkqRfVnO6G4uTJr6n6Y_0W%yYYWxrcu?573 zZHaDxltYL_XP!$DU!ztUTP`Eik*?N5MoGmdjUe&9@*qUTVg}TYtDT}p!xtoGa4^M? zCZ!tLL?yC0AYY=;FuCZg2xe479TgmOP>5{UBfpu3QwwlMcJrOw^K9*2AZl^&5F*QF z=?gCu5=XRw>l_fD(v#WzE>uB4hP5b*kX`a6FHLoO`2KbqPMQNQ*C*Cy#gKO@%9mA1 zt#jBvTsxcwJi$5E0b5ws~JBAvsLcV)&zdJy{#8whni+{Wg zY8V}AiGWP3-JDt+?~QnvvNeI%Ba{t)YvgTVP!Tu}!u!fI=_VAga@`=p(4e%_vEZG? z>ox7gSMF;CUiEubT8>?{yV!roPS0K-$O7dN6pNA=BC{{O@JE1+!6t&O<)OAdU3oK0 zh1dk}Qqo2LWM10i>=o6B%de~FkLl>7DOuK~A~1v2PAkQ%Z4gE`qv6sb?5Cqhg@We%2j)x5;?Q4vvqC}67PTbmmI%o%9`adhIB zX00QZwzC39)sb!6vj%w&19kl}t8Vc?aXC&WNwLfGh@E5_Z=xu=Q^y{{J>y6)$F2jN z#zIhE*U~W^=*KJAXpAfwa~gLv6xoc`RPnoxX+*IA#3DoqGXT1f&U;cx5-hxBxgX=t z`d%kmy|2XAzdS zoG(Px+z!4Z_RB4YDA%1c_rP^xUe8UGCL_>Awb_Wrl}$jjb!$neB% zQa-kRfbmKF@fVI#E%sdd=Rb?LpBI#>6eCjA&;5O{#aGf0x+~s0Pb=& z^Ss&Nx&z@kHfBw_VVmR-X86b5UZ=e6f;QTNXHlW7=WH*}*|?iz*&Se+B8n&=SpkHP z!EN4wdkOx&sHsaVB!_otl*Zqg_B9z=D6oSF0wS`y+wrG$7@*uIP0A@g$zkVaETkf@k`68T#`_Ta%6uh)x6Jlaa zh*vPRpo=}f$q!wp5Wbp5(r?lnn(l03x%0V|IRl588}GQu&*5-qc-^k5ry^PT-H0C| z%d8ZEgAZ?dg;o%;frCdg*1)*242lY%DWxDp2vC$nK!`|Zr2#WP>BMYTdSyv|Fwfwn zv)k=^TbkH4kit}HDpdl>QXq>O1gfPv7*`ZPd4^;RFev#L^Z&(?#HjUq%4+F0hFs== z_F?fTwJl|EZ8{4sTV2KW`xhLJkGKSG!ki}3om~3R4bw5YY8=ru(E;a{zH%YGhAiq@ zp{9hwGXCvudd0bZbCvkKXez;CjesrKE(nd7n9c&ql`G#-yI9>`>kjrP}&-SPR|VQ(^K9tK;NMVfz1N! zB52>@wQQ55nHRW*;xOL0gh>!LraMTiqfExrG?TRN z&u)2Wpn*;lCxTIQ3nK($0g5n^AYctk$9-$(FW|idYS!dlJg!?s^p(eDB-YT^3ib<3 zVQ3IzQR+M&Mu@%4Z0M6+Y}->KX}6|=Q4K)UuC%IJEH*6~YOSUOz3!AP?B<4Gil$~d zx0(UHb%W`!^Uil2u;N)SaU4r?A{&Cya&$pr1j`A%66)*=rJ*GUtZ0z^2;u(APou9M zo)-Doq#^a-dbyfb^k9(6`v0D{GHR>gr+o%km1ddrm4hu;aebQFVkyp{B^dJrT!Fd( z_m*K{Ux$t3X@Qiv@c#*eLz{KRmA|PH?*fw664o(f!CG}+oW(U%&o~$-g_4MY078kS zN~!m3KR414%TpAsnE?JWS=D=$Om`A=WJ32*j3you&@PV)z?r zlx7I{-?WABy6@rGVam?qux14Xmpi-W#*kdY(ul4raOuQodt1!`B6g&a_a^>TCvCxB zr1jd26mY|oa$w(I?)9n@B}5()>RHlJV)E}8pO<@}zHg19Ux|1sq+gMF>(musmi!lP2OtCM z061U|c=@K{JGr%WaZ)oJ%^^Y^WN{8%QY^-X!4M(@M2feZNgr>oi`{Q;w4ZwXN2h!+ z?g9LUSinQY6($bm1P@P*>-y)Z&nUQii7B0d6)=SX!RcZlh$011MT)USQAHF{VysbA zQALU>#Zh94qKg$piZAT>lD%(&Y=+2ehR9|i466=D#>%*{P7 z^TzPfay(KU|6g!M$Q)`*T)=rNvD3vv}9Ay{Txq}dOx>W zaZ^Ar*jJKT6_nGhX;FOc8?OtK{Ounj+wF69(nJ52@vBww0+tTd1WK|%y6C}3r6ubL zIqXvV*LMU}@p1h=;=Y5$@GmdPW3lIO0>z`4U~7DB-5!@eA4Q9+7QvO2yL#ARG}^XL z3>0CA7#sBla{J3Q#P&0d2Mds0p2tijUiUIj{Pp!%hv&s)yU;$S7Ej(g>iXGz9xAuC z7Za=0`*gA2uKb?Zhlm8>C(9sN@AQHO3j8N9wVkl7iA#>!D_x!Lm6x=JNBI&huV}mfNVn#e5$((-v*1 z5o=oQeyH5Ktacceu2ew|2-~>C(EON7cF(}bWI(7Q(%L0AehW9!!%fef1LmO2>Ev{- zqbX~QUsbC08(F+*>t=tbE=!D33>pr+au;YYfrbz;(Z5_XhppZ^3yx3P%w`d3V8Z`2 z`!q><1Z}pc?tpGr3olLKLrcHj?e^d-?NfJ7*TZx320e2k}m zg;s9#g&jBUtF)JIWVNMmwlei=HsZ=ls3M?!{n=tUbh{kBuRGY#&t%*L&$PZBnV4^61U;M3@6Bn*8+sk5{l2U?0#?* z^KLw`xQs}-y_2-N5vN!66}y=R=HHp2>Nd&kFEb!AdHwDM$nYa(GQ_SQKL!39;gzq` z(ild_1pxdE1r|qEqd5Rn0egc2>myd&cY-t4pk@)P8>-DS2nJ>o&NQuOZ%5;VHLpcg zD~1YyBE9~{0U4{Sz5+0O%&dkA;KWqhb00`O$SEyVlt}>eV(ptv_Rk68m`vin`@{RZ z?iK5gNbZNlZ==MWA+OPK@;Lq)s)6R!{sy4m2AY)8l+2XjnX&M-(?GIXy)Dh{?|5oy z2m1wfgHp%XFS?CvWfLY~W(zhkxfW05J56C4Df=O+-Rj1)q9G??Uwmn(y-;&^ipw-Ke3nt9mN=?^%| z0aI&!$A5@7nWAkrZ)waLTR-#!JrAHjQpd3$$PwES4Ve-9*HKwg9Vn7BS^&`=Sbkt& zaj;7~Y90XxByi0yg{TtWPDJ_u-U=2!18SZY20U^9=?pmxFi2q5`2Aj!i({p_4q*Yt zA-QicE6C~E0lH5{LyKd6mBz>gt`FTiZn$PC-w3~gHSIK!?I{4(apSUds(>9XFLm~^ z85r1zN0a#`7`{qA%e%z#8|ni>-*7daQxMk>cU>P*>`CDVPpC;Zo51|YFj%DOCL5n) z?ERJLw`s<&n_xC!INe5+6hf z5E%nuOl!BV4`kv|F85V5ydYtI0fS_q4**oKctuqVibFt!^YW*f&$(E4q7ft&@c(!< z7OX*+A-E`hxB`kG=S4tNhJb><#uYn~xL2+P=&An7r9x69Ds9T8(20o%dV|%KipXgM zAvYffVA_y|uF{oNRaI40RYg@*RaI40SKJ*qgj$dywXMc3kivVHacQY?F1jRFD4Sf^ zbUOIUt0wptvLG;6FBv^zoEnV|XBbR6_*Avhy7i@dbegaP7b z=3pwd-=iQ&_t#_gGrl#CzVWTuRq>ybv(!xcE)lihsipprJE28yT z=8Kb#J3GRV1KGblv=3bz#dD4u4zd&xV6%}A#F5Z|8^ay|wLqSSn%TOivj7}v)&DGt zYUaJ6MQ@1x9*bX}#O&-9_WWG&bCzL*xYzf7ac-WT7Mm506LD_yM;f}i@bmr=^__nU~U#O`YL!+i=M(i$Wg^Tg4i z`b}g@u=0&GQApzE^wqm?H~Pa%w3rX{Jr_dvMbR@k??yfDdz|MxcC zq8Fif$Z|_Abb=X?)_roZKoS8MoJ@{#qYPPpM^Vt7Tb-tLSH1YUWZ)C2+k1^WcqhC) zQ6xJY^aKxFbkRtNC@6}o6bdAUOn?(U{E`<5`;*4@AXGJkh-n9i><%p4oriQtmCwK1 z<7qQbkLgIlAfxy$V_h_o&7LPA@p=$c%;wXTt||=%J=RYft_pqNbcXO(Y7GXm2_r&X z1CIda_n<;lK4~xY;3-6bB+gm_%QW2Do@&-goABhy^+Dgz3 zhgf>pG`tSN&rfW248m^&&+GhBr%I-Yeh5OqrM9lPI%X?xS*Iso0rED+5Pi7YH;q7}=%zk^A0QxE4l=0gmIOoWJ$ z7?F%YJ?D#*Cxl3ByXut{7teNh4ICs@bVQCmsI4Z64F+nO^-(?ZBN-YF7hG|dg4yMT zD28Xj$kp5hY6ppJHHgfeJBsmT#FjjfQpE*!CRzvF$3s@(V{zZ-*9WJ5UT*N^s7WBB zIpD%*TbC389w;IrBLkLkM;7#T!luG&eQvFd(!+S%gu>mlm@nj+V)A~GQ-?3<`XQ$} z|7}mYtsabRogl}l4Uj?j3it{}Uh;q~crpO3hY%>B3KGO%;GJ;9b+RIHdmUiNJ1t&N zX2fuS2P`|go4i|)dX-e(NLY$80-R03{qAg%dr`GZo@Ri9rQYgccD%kiNsJyB@c)lIokFO5b z-o^BwndmuYK~Qx*2h<4NFJ-%)N7;za3sD${TayX}*{v*K>AoizAliM1S!NzU7{YGa zw>bP@wxsLjMHGx?H{g?^ERy^17^s$|8K)@?uy@ zX*(8?hc`2p&fc)GVcgX!F^ZY5&z%31sitELk!)eTs8H;r5@DW?5;m=f<8H&=sS-uP z9DJRIj1pK-3Zal4PeIvKUEMn!%#MvLRiFaeot&{a>KzI>)O5xRiBA;4&%?Tow$XE< z4;9h~vM7h8$DZO#>POrWYPr(m<$Jq3W7EkY@g3LwIT+OTmX7fH_VxjlTatZm!|3=y_&wJ5x#~W0+SpLq_601W6j@m* zcH+@;FN?%3z0piYDG&gg9BCD>gMpc=gs|o9KwHJL)Qo8uLL%wrxcs)JrMe>+60XBxaABP5SG-DQUg@zn$G= z`&EE2Geg=@h*_5>0gm(G*0Opm8o~5bb)dURlhKv6Ilg`LY0+N|IoKvf{K(kN2~^$$ zcf?(yq|j${bR{BM6*E^3Nc%7%LN6kG96bL;k$1ch>%>apv!EPhOR_}l%)BW{2%3}%v~)51_9Brt{$ z$Ye|KE}PEZJpCrYzlBJk`Wi_c0wksRJ;*0<;o@& zB1q&FP>wiKj?9>rGd*zqbP|L-ZZWnP7t|GE1=>b%2A~3Hz!pi&4*-u$Sb>1Ysx0wA zz{brY6hlD>7@^alT5X36SAOhoBj-rAJ!%I8xQs+$@75vjk5rPQD0tG*jLxH&{i*WFDPrPhAA%49AX+)W@c4YRaI40 zRaI40RaI40RaI40Ra>ZeT9Dw_mnfEuF$_Zx$0M@NU{wT0uwLtw=YC8tl0=6u+4S9C6XR%{ zkKE%qeD;DKYUA+tQqIKEt7^Wd&#ex)0C2ogMe5aog;ni_7D_OyUjp@oUe~j0 zUknksa|e%eT=%t#=Q-|Iz3g+wvCnd`&mPvj`-I*blfgHB4i}Wl#AC|2cmACrO!3?a zzi0*?{J7?PioT=V-C|^osNin7V?>Qut^UAEg~Aw(eVof$S?QALCuJyaD*Rc!awe4% za}q+33RF-f1Q-Phz?2X`DFqe~pn?HI6bYEnfjp59FA9fy(4OkQ1kc>lLsZj6QB>7c z6;#zzRaI40D3wICTDW>?yi5)a%Uc6J3Sp(oKOorU*QYjL|3;bY1eMP22d+D^dI zjI_Gf#BW0${Y&7En>S(!FRj$L5*m4CL`q{Z(bK#&j#oNH{qMCTNZ}DIgi{dx)gn!! zxfZ8Pv&j^tV;`~M8ssuKcNQGz9tDR?WcOBSlwf8&E(S`|Jv2seoxO-dNskE~#Oocl z1ic1(ZBQ=B6EKb;>$`pqun~@;12R5}>sUacB)h`=;6y)$icO`Gw zy0wz_$pHsN0T?wDNi%~*0uHv0gLFE^`CZx{!ty!x#5!JFkgd6&drD{sanwXlMFkN3 zI99G`WuH=)o}I8D=Iae216 zh?p2SeOL#UJU4Rv!R}S?0Ol7`y&~_E|FCyJ@oVRAce5ag1MXAwq%Bo9NZ$q`nu0F7 zQQyn5w?ZZP#F)T-c?hWrP>RS^%82e6ud-Unc)?-TqVblDmgpJDk6I_?Mvta}+X4ym zH4<*B=U8U`*EW8;ae9c5Ct#$Ml=0VY&ck+;jWM5~{M?OAn^Evak9K}?zvkCk?NrlU z%BmS68uT!b0(t$Hb8l~dBW|a2Pc_PdN9uv(TQ{k^if?qM{<$;;?&Ew#`>Qd*=chHUZaHC7$EJU&@e~H zKtmIa)G)?V2_f<3U(c$lTA`wfs!>I%p4Z|A+!LEPmX-pIFOwxCHy5|gi)Y!}bgvl6 z0?O0474Zx-1Y#hFd$mG2<~kFeVuGj$l23!>ZLU0l71eA2-|x*}wtns~gbdIiZS&-3 zoyc3RN6zx4zcvMEv2^F}z+v_g2bWMkG$ZU!TvA3CgdmI;lIS^+w%0SEnSdjxrdh8r^VTnj=y_zVyLEPTk$v@j9<`i0&zgi!Pz=E|(*0N0@wj3p&w zoJYj{@_Fj~H+G2}WVra9(Sa8bM`j}?24mWS98Ea)+UmXwBz|6(q~{Ecp_Zejm!Qf5 z0QspcTKhdcZ=I~0=IQJVXb1p6fJ)6!)w3~-cUT!tlWl5bw!GhEh5h1aj_sFPeBUD` z+5Rpu=kmd+$7Uh+Jz56cF4l#Pzl_X4Zvza^nP9AAe-`8FPyVX9481SpZS}uk^m^`o zFk5)~kmBr1E2$51&9IlVHdLjuhXvNda^e6p%P*u0M>$l9MeEq z0)P|+06kB`?eYmHh^*fuA0Z|zUR(#SudtxeV!BrIVqcrd6eKYt!a~G#h}JVPPwE&p z!G(%IS2v`kxBR=DyO4+60p8d-UTVGPqyN6Y-{HRS^iFn%QL42TqO7(`M!?l^)h>XF zo?)$!hNm+D-FK=uBSITm5t8Y-;^ z7xrMWKSll)2(xR?2e}CJ`Sp9=Tw22{6!YT3#F1?CEUB^UF(0o;QeN@x0n%-d zp_1C>rTe~pm$jxHqf1efr87&|9DsV(dS|cSuDP$m zA)<$3MiCfbgCVQKTa}g8PZyOJ&n7$wc^I!im8qw!iv?fChWSl~q}N+j222S;yF zlgx;SkY{Uras7XXF|r{ZMG7eQDT*GgT+r2M;{@ZXA^0w;Y`;<(hoR?sV-RYAp{~<6 z^RpSdO1AK}7B4nwo}DG_SaY}icnlx=+W$(PGxB$GNlwKLqGA$F2((ohoaT7SX`^=o zQT-$)%&6QAPj%#Se=pjsgZlv*e5m?yCu$?U3_i}(n0Axx;^OThGEIsarGg-LKXOG%#3Jn$= z;;}_WP6r`8pGqIk#Dt5K=R*doowUpvB#WB8!2v{woqQke^V2s;!_m;|^wz2gTgZ8m zd$jV$`@A0dt$YY`s;g7}p!|bFD3fFFFVRpya)_`&dW+Dw;w~yI+&=RQK0Buib9R@U zN?VO4U*oKl`F8LX#f;h*T)=0RRv6d<^Z(2G)o-r>$vI%!mPG<<9*DpZ*SWz4nEp}7 zGnV%`;l;cWT7ZZsyi5FubF|EC9{4O|m;p;m`eFu}wd)f@fV)6@TTNFprpA5l(T~e` zygIv`r00XxwVA?Fl^=(0MGiH+itU8q?e%0b1U4v8Ap}B!gf4Ny-n_d2ICvhdk+}Pk zH?7Djx4iv}n4O--H7*7TehOv9;>gIdc|vFAmykoaM4h}|;PBaom-krnR9~>%H z?I5B#4BnXRlT803M08Se=i{8#rxHA=0nm0LJGcAZMkY1Z^Ie5Zm8x_U)_B$N7VV8n9 z0IB)GA(z^lK7s)yVMlDeZu28$>TcmL#}F$;%+T5{(Ncbfz{sZfE-C0fi#N<~t;^sp z@mH!@bA03?d)5z;`XY*okSS}FXr`)UGv0?q=jxLiqd2iySi~pliVcJ7(X-}1v5Z<< zxCp5i)!LD)>aE~~HcKH_M_$Y_h+xJcN{b!rg=W3}v>VK>#>bBuN~GUEig(X(BEVL# zSTP%#hMD;pQ};26JWRoBYQL-&Xf=G$86l(tzi=-^zb$|7Cr+2-L#^h*v zu@$%*e>ODNS3<6U8HO1!!o3ksY!2e8*!J= z43OO8S-&gyQZdH(4t)$nB3%DXu0t@)zCo8Cct;^a{g%__gFrzcZ+-IuM-BcFl1BDi z#KwN!wqN$e=;&ouL@+QgI8MlZ9}5i{M*HYfC94vIMncBt&Dj3@)7!d4x6Q}+DYC`F zr41AleWiGo;h1Fq?HpT8Wj{RiAOsqE)@-8Fo3zP&sdxz4Tusmh<+l!CZ#i-r-Nf5x z{i;wvG~5BM@j6gL7U_L@&P)qdg1HfQsc&_tUhhM8I8}H5Z*yMdbC~Cf_dH|yobqq< zoo4}5VIF?GP}PkN9XOc6+`DAZ3hL>gU_;e#+-Bxjs4g^9rmCH?iI;_LMRPzJ3#fmgzGMyPBV;DzX{p(Ek}86T1*qloxw`k9 zNqu;>SHCQi9AqZ!QrFq>_@zj~3awz3RS9~}gURQrCU`O=U5&QZ7Q_}|EgynbiLDc4 zz-SLy14Eb9!_^RnWQl;6K)`h41Op*&Sr=%$vx@JUcUIGGggA4no{a;MH2-gny>dJ0bSh#1mgNyu;0e=GAnlg#t~H>$bL?fPlkOMxlc>A99Ez$>8C zEqcgZLze^roP;VeiWCyigs51(NLq=EmL`>P;UOqXX^xXiw5w?@rj#aWElS>^4j`&B~`D-f#IXl*aUo@ zcfS!DVfeO)$?PiknIoN-wl4SnFShE!K5Fxn|Bu~E)k~N?m~aG}#m|I4pRHz1%EROc zR|Iq+nV1tGJry4XO#TN%d{-JSg-KC{=SI1VB8LkT7}LEvIpD*86)i6y3|3~T6T$H( zVIn6AuL2a83WezFquk6D{0!C9k#1|2dn4muwnIwUo1TrYS79H2D3SGK{z{kkHU4hz z#*5CAD^JY5aD$O3%2G6AA2s?O=8vwD_D5;1{+?z3(5+Xzt6Aa82$>M$8@?fwCay*^ z0!g=DAn#$X!$poI8F1(XRA{@SSlgfu#V03`9gt_X&t>W_aI!uC-}K zA4za;wtBUw^?I(Phw{jsvVKBwCPb~S@c{OQg7e-A83cKhJJUcfF$^YPZMJea_^IuD zjei59;8ND>w7p*o>9P0B%Lg5{oT`)qne9Xv}1lirSCs_=YX_Fp;@;M%m z>hdBqLepY_`$9B@0XT3#x$Q07jcHiPuzv$e>Mq;@byGe6#+N>Ct%klEhIdvj)fY%S z%LwNG7kKyfD^OxI*vVlIA1UG9@=$4e>w549@^@CVbbr7aolc!CFSFZ0mp)g&+rLyfTR!YFDX6 ziq4~1$?aP|2R!@Oj%^bBE%B;xpY6FP-qn5TH$3!mRzFFsNRd*F zQbbM$(^SmPygIE7hxYviSN=G`ws{-vqhL2+)R-J>Y##FawzR*G7MzWXsN2XR`jkY= z4+%X{2dPjZBF_&IlHT@s^K@pQG?Ha*12qDcdp?$2I#lYXWwUU6WASEtj#ZKV?#6lt z5$Ar#?76WL`QBVcP3@gf!bQ z)_lfDi4gpO!xZ&VOH8Ilj#&t=$-#x6jWYc|S|bm%sZIGk?Fn zia?}NED7`gHRI(#G)WbjJ4qBgTW(mv51)t?C^z!Q%!L@Sp@gDZZx+a^;MqohO<(Bl zZ)xzfeI~fB3^>FI{(a*cW5tMXp_beYGF|e1_#%eb_q;4c&vF;5BYpbi#`HAd+J+-x z`)wA)O=Cmnp-sO)2v>BBksm$2rZ(Kqc)n#Y17J3F?utj|1Ap%jb_K1L?~P0p8Org6iGV*rq3ir#9}yZ z8js9~koer?UY|9SyKUyVh>w+(p9+z5jrcgm_3wLLwl(0+f}z?-&Y+B=R=O{vHRX@b$FC#5K_G;RfM>OMZzm3soUv1U#6xMe zT+J$4AaamdFeKO1Bx4C0t$s@%{)}C~?1w+;$qe4jW*6O7%M1ms5w^5eGho{gn@-=b z>PNIkx;5mzi({57P0pjc3HF;Tj9}6)P}?Z@xs7D*WB4W_v)>^e=ECxk;9whWXQ%oP8u_0(55w) zx86R!_bf~{Rap;#E)>l0p@fiew|;<;@T$JlNCVu=K)y#`J2_~;pa(wXECmpR6wPTc z5S(T!J;#0lv=n2Icem`^96v%IAz3`#QI zXx^|5LT%mB7>|rbeGC?^a<;a@^=Ymioxt8cZi9Nq2r;ddXB>wq7=6XY#|c&;k3bOS z$=>bx5cSeY2lhZjH81k^@HZ7pLU$GB+?2&3V+Tq?_>qq;LU|WrkyhJ-}Y%wi0QE7qQl0TIud>+}g451NiT3sv0Sb=4DHR zX0uxp%0p9UP?It^ED;;&?#Ab*K5Winf)2ZQUPv8?h9kNN$VQFO zyNO&5wlKOa^1n>&X28O0+USF$>AryWVqUpho$O85?*MyU#}m=x?mc*NUII`eLWHR| z(57<8awO6q2v1HRAI=~e;#fk$7C%PmbhZEnei7sVdIp1jh%x{_$aMz(DbcjXTkhUN zYyddXg3DQIm`MJ6)a_fIfb9Jl*!7uMD?$51&4|wSLgDOgWLii=z6UFKfx2yMui!9Y zdl&swGizjq7-6})IVq7hG62a{Uk5K^C?d!3$8o+j^L^b>z}pj~S=0WouEX!RBJ-XW zxDkYlUfbu?m4G8Y0|>fZmh+ygTa%RSX%*SMcXP7e@H^378vApo%1hOpo|6j)Be&D1 zZa<*R;m#SEgv`ihq@huaRwE8`ukQP~K+;3k z7ZTzZGSMeA%fCqUIHt~}bm5@c)X87aB(ep?@!{o77H}=dH_Nd&oW6U1s&mi%l{mZJ z67M=IK3LJ8#i-(L+~tXycDJ3$84yP35QHEhmgotjX+hQ}P$g9GQ(~8wT0rUJO|L#v z% zZ?-@4#@S&QAygZ(3+P(%^B#f4g{H15D1>Miy{lB=VAEBF&YApO*PxtiD3?Dq7 z`F}UC3n%zz^?ocR&ZGXmMXJ{?RMCMTsI1g_f@_tJEc-D#be`3mk7dwOqI{)FQ3xm( z3Sd05an9GPAD`_%M{?us=JAvp4V&W_rxp&8hf*`ofAwT9xafGTrm!AT*-r^2*ckKy z;BW;Q)}WH8=F;AKL55;xX@IYyq4(yKE~Xm^JFuebx^?>lapPQp8}v-LHt5Nt(L#S_ z2RogfJ)d!Yh$c3Y+e1lVH<4!0>>x~GDp8dBLIu&$9B#$2BgeY_J|14LhtBd?H~c6e z?*Dx!M&$d#R{;z%0T=d&EG4$xO$n*_q58Tib7YxuR0n0tX@DC6fX<8nNdgZzrw{08 z5%rft$hS`k;hRnc6;x=Mc#XJzgph8)4Y3n=8|Gd2*U%Gz1$jW+Ap`cS^zcZ>$7e|X z!HVHviODgHVnb3I4I4^;HE=s?Z1YF&0Hw5QH}`6(dmV@M-r0fo1_1Z+-5wii{i`f@ z$J^$vtPy&T0T#j+{fp8?<;C5M)Lpnk;*5w8@*2ykMZy^ppGVIRIS+8fX1Z!hKS zckh{zY{snC0G$4PH$WS3*u-A-mO|Nf%Hhy#w;+Z2X;e5qH2~GggR^E^x<&-*K7TB7 zr;lc9!v=>l?mtBLp=c=J0Sl3%W5lHJEWBUe z)WBgXZ4W|wWa{T^ZKNXfC_P)OrKI#e&Rd0H_cQww(`OPxED-_=ZLBendzp5J^=E~^ zJ&WCm0rMIZdf2`neQn?M()hDw{+qtyeUFQS+GGWg1z-yx3+SjuvhHng7~9wR61XUo zhD9XIM6gQJ4@HM>qd(E#j%+hB_g8$Me4XPt4FyU-!qIWhrXJqXEV!YuRZ$)Kk*g@C~wRn;WpjD^@wkolHmuIAO%n0Yd} zTl(KqSLj_u#I)RceJ>v|-vA5o>X5TIfZh#)DN0a)x;I#g6j)8_=}%?KLfA!7UV#m{ z3!RXntHM99BTAhP|Lvoy`D{B_jm!FQRxh8uwOs8VNqlu@?UDBO=ZQh>caLM{950sL!Y{pH=UNNX|q3cTnkgz zEZtqt@uPdk|vY_$;e9sBt`{e7`RO=Mo@ zoI{+An*On_8oSH+uFj$}&*aJDnmw5EMe*kV8sDoS18Ou71dw^wa256NNbES8Pix~x zkH)*aTJl~?3bLeix~EQfuGvjQdBERnsl^h(A!a=O3d+{s)Kk<*sGR*MVDk>7jk~cA z6hV}|%okUBV>=QE2-rU;Qnz^mQ>n6Lbz^XwMWtAV)|`E~hA-ohgXE-2h=QR-G?PTL z$E|TdRaz`C6i@losd!ltRb>3N4$5jtFj6SW(*0lik)9G-jtXJF9@Qd{4_E!St+#@BEPNslQ)I-*b`CZ`i<~ znVV-tf*eNzN~}yNy?2SX1?}why}#DCk?uWl zZeW1X+aJyQmtQxNyyhXJsR#^(g|N8~s-E&zx06%0A-(#7Y>LDhEw#zRsySrd*sR=nVi@=gIkqTJn#hF_Qy>2#;8& zh%x}443Uo!8AjLb>#1*Xm#Ay!6^JjNc@B$1pB?^t)yV2+ZJLV|6y)GNKpZ#>FK{}< zkX+O5DyX?|=jy{T)B1J=FofdnL81BHWI9g&58S`qeUBY}wFGrX?P8X(%6%9ZEK~@S z%E5~Tep$-eL5dZ}>6^y|0;5sj(ONt-`qcgSXzem+lLs=)#MgHc-OFFjzgR}PLKI9hs;z?hQ)d7p)A%=LUFn^bQVq^lo^ntU5t;9_Fd#TLP<+aj*r zTB@!Y`8>}tnrTQgN`gpc5Lj9|C<{Ymg;i`Ml#m%|TQFpnVP+e4LQu$}H8^ds8tTKd z&5pGbOMn;0Shem>V-z<)g8N7+0U}B9ru!&%nZO%4{h)$d{3N+AABeM5=aRGB+S5!l zxr$)%H19RQndpm!lWPMrT^xdK4ho>-@LCoj z%F{vvucP*Qt|#%Xmur>*!&=9ElHd^!kVxFr)5W%!CZyPNJOvDB{0)No?l+blMpvS? zrz$dTq^-#8a=#D*(QTV(3Gs5GV9YWeGrna@(=tk;oWSgdWQXps1J96y(|~IPk_-W{ z0!oqs1)yDytIR?>ySv1}b9KP&AUTVa#&=ideGWUUq1ZXNnKVR*5Ss|UqoCHWiBL9n+=|1iH*h9#aumX{7znP{sjg!e_P_k3F9mHzZG)epc zno-vNc8Pta1p}k4_V3m4I`42DS|}^WYZv7vgg4NIxA|reL5es}*v1>ob-VzBYfZKw z5qYcvcV96PE|oXGn|sK@Pj`PxpSj*|iPE$8b5H;B2!XJ@k5v3Tm*+>r;7<)yV*6s- z``iVbt0g2(V~5*o{cc0IYs?$}b@71;9G=?NZp7j(O_FR7Zgl;fYaq{ea|#ga3>ivX zzD)~lM*J&J?eHZ#l*BQLq(IOhSSNG_@s>qWFhLhTe&Ngf9~bX7tBdQg&Bo|!C4YPk zz}ErDBDlr2QX(Ky1j{w#SHG4i^_F>29=;9;Hde%Hnll1czRJz>yWhjg^ISVZv?MV{}H2+(lc){@tCp#Z<}b-pF60bOz&1hs8+2h}`@m z4jWhoK={}L-B=I0g*=xgIT;?A26K-R=G7cEPKK~FYZWc*9b3Qh!%mR_VhEzewx=r% zr296`Z}|)jZ*k7*a=bq;sa)n;uO4z%%ei7v9&Bjd>|lm0thOmDkEApwqWIW+6fCz& zOtg;C8K%jIUd=0t?f3V>GxyheP1QzQ$tg@4P*bt@XfjpX$0-Q`jo%n}A* z2rTaIZo%E%2^QQPf?Lqw?ry=I;O_43PH=ZwV1dQYcN?cFa{=??si~={>Yje}LQjndE?}BYje}-n@76lU6KV>1qSEJz&*VDBrlyaL^ z`07tm{_ysdj6~%R?MCIN3&k|%PFMDdClb^mgF1iYlS|(m`kI6_2`D#M*#E%nk#g$d z1w3Nrf+yNuPdH`ofWl@BihIfhVTf3?wXzQcmh;?ct z7d1_%VpZ{qd+$&&fjI)&cVgh?^yZa{+w)Z0N5GRL{Jq;V`-DxAqD^0;Z~AZY+2D@! zi&XoRFuO%wiGIgf6No`l;VE+{OIl9F&l+BG)2Ha6EM-zyS#UR3+A)$^F1ah$QRz_v zda(X+pSFkj&=`Sl1LcxnFmd@43VZZLXsVh`(~9?lG-KNct8)jIn6*s=J$Bc2_}KuwgK;PtNpTI z>LQ>k&v)S@=hxcELVvz~y%)>Q@}-AnA3iZeVdJX!2LAUuWtyKxN{gr&8d3N-u;*46 zIRJ@*%tfNbHjXq0Y%T5wZ%^*JDa0`cpPG=qEZ%QHKe#h-Snk8n&5Z`EmpwRMIPKTR zS>(5g8G z8fBTUxUdWeVLc1spey%7F#s{dCOAWK$l7d?Z<_qw%s1$T>mR9}pd?9mrdyS=&#Kz*7Bp#mHdFX! z5Gz8RC4S%FeKYydG=fFwG`z@_#X8HkHhDc>V4FU+ThXBfMN_jT&2TJo*LE$&}8Og(E} ze8xD5VZ|pl)pD$c@xNDp|4Y7*dDGaAYd8Z$wn2V7o=KK*q)_ITFZQ0XbPq%2X)9>$ zf58?@dY{e_`W`g;psjN&p!0}W(cd)@rRNn<+Pc@K14|owcUf8GT-nUDf;En&W!6f5 z)XOt5f?>Jafo*&Zaqh{=Prb+aopqrZhkcXrOuTu9MDoBb-RK4P_22 zDhLX`wsIiJZUMd4@SR3EkYz;pQ&G5vgTg8Ul?r*D`+?lDT_0Y2akUe6Y&sQtrO_?b zPfxT}t8Cs!SZk7iOlzygg8Q z`{4Ao;cpCTnoIT06w#zRICb&>C;;)V;(h`Q^rRn{1A!GmP38iEyM#Q>PcCcCZWZqS ze3eJ$N~?*k@G;l=h;L)jV1629Jf&kx-hCU_v5K!Cb&+lEtR!2n`-$~}KtW$>p34fZ zw(K~FG7YhQa^)1s@52R{34-A!2AykfBFTxeow0y7i(m*g8wKzBnXaeUvooQDFXF*9AP4CR+FkNtWm{K7@-~qyTaY?GxR1kV6pM z*Itj)&f7AKWY214z&#PJu67_&WD}c~52RR{W3os2Yb2hHc!rcWlw!o|!!fC(R|7R1 zYapF#=!}2RMkO(Y21-J0Lu152&_WH>&nyep6@UbAHC4&SmV_TnjE2wtmmX~ji@Q<4 zbjSe}>E3PQ_S@Vw>ym-ZI<3kb(LRfQt3ECS@@pgGOg`rz`7vGX;#fSi^sP+Nd_BBc zq=EN9@L1oPcm`PbjaJLtf*gmgUP6D*nFnoQ>rBBPDcj$Pt|Ce}OI}pE6UA_Y(Ovsc zf8FfGw^iFket}v2goSU}f`VUrIn`!qV9o}z5c~{{Ha=aOkKqtYMk!b7`YfF}e|1hG z74o{>_-#e52&K=twksPXqndLO=ka^bAc;rq5(bOHFDd_|t|XM5dCOP%omzVHoMg_@ z&H^z$z9OTe@B~e$^aR~jHDath#@mP_s|ZQhO>Jrz?Wxr9+EO@!U!wgsW9J&txt20{ z<{#363*6vYAtxp46Za+>!Q*~?{L^?h zO4`i*DPfdzKrul^Og$k~*+Sp2f()q)A?MM9OT$Sv#;F3vM`I}&U6L^F5B4_P)B(MydzJqHJYn>H$M?U>UyVT?`Q%Fej11rK=&9AXm1s1)M{za{}onN%|r z-=Fp$#tDDA+14q_Dk`sGFmO|SQYQQJ5rQG>NV}XluEXBiw`-aUJ53>upx-Sg(*dBL z{eC3DuGPry==Y?kJ>y#&&&(Se<|ex0V@l3p`QyV^2z5vd@aGGFj;Sw+wB`wuUwENk z9Y#c7uGDDBe1q$HCufW7{xmA?Zd}zh$TUb$UA7Rw%a*O)xh3tjA^K&$eB5V9+7lC$ zOTwcx5I~P3Lx6MtON)CKHVOc(qs!rX-sVLHkJPQzYz-(a^xtp7>>;BGq9Jh+++Yjh zz^O2#kT++1V_hR-m-(4I7x+Mxd8E#vNlQOGNZ^Vy2^AhT;vv!mbR5oN-A-68ki^2X zkF;V}4>adUOU+$o&i@S~x!N6_=PTtzPfCf<(b|op(ybz0U7bmuuUl8HiIFy#TJWu~ zP3=}_f{v@->@x5V7QE=N?CqOdc}%)TbH_l-_gw}CrCj(hzI3ba8;(#WsP@+DZcER# z9+^{~TO+H13K|9^X&UIYw&!DmRX-(+bTRd-JUP6C9%{rJM%(h{AlM6k+l!$Jp~-$f zTi?>rHbQ53>>;(u1p<|rEJoXAz{}*D{rxpgmer|GTcL}fA_b5X&{zwZp8>4>ciINH4s&5r667f^ zgv-_Y7LhIrX?$JF^a>XyZ~>taelOMQ@^XLDsaAPUX^ZL3E~*5(GYfAJo8IEd4AJi}+O5aBj9*=yt38 z(2TB~eRzfOyV@~0zVR;sI`+Uz)A6)Hv(G(h2t)(O%1l*@$9sX**zK|c;9}T^4hFl@eAxKTh3))VPN-44?+Fmce;8*Qlly1N~ zj4O68*Wpa&d5=oGo+)k}V^4gp0`UfS7pOQsz=?=2K(@;!*x_@Zw|%fSqg^6wi#T^z z*S!%_wg}av;A>^Y>}h}}*cD9gapq9DsaPD`m)lea&4^1evTfw{m(WE2?517lO~bqY z*}lJ>H#K|56-<#e%>GeZgH9m)>ev|(^wqctM6|rM`IE>2&Ijd^yZ9y?5-QJsoA~qVo58 z-Q_f(tn{M!YqN>I(Vo|8A)_~_S>;iBHqCbP4pQ|CvhD_K3I%PLh)JYj6?D@|mfpbw zM}Oli{AB4)I@lag8Xu$W_B{lCyjVb-RL!Fg4caW)tIq~E=9o!s7aR}VB^&Cp;-*E~ zZlOMN+Az{%558MGEMmLNDZEPYMo8@F>jk?!9}2rhAoc7< zL@qt_O%V)pQp+GLS+1#{ltXjBGKWWaq zeY&!|vcLDdN0OVr%5MAl%VZAH?PUN^{Uc}(=_#Ral%7r=)7$|jovhmN;m6~jkUtxa zJ{#iFIb>?=Hr;dTD$cGh=`U+=P^^w9T?CR9&pwh;BjXjUH_RO$MEr9%6{McYXA(Pw zbGmJ=jb!N^=ISrcBvJ4&$i^{XS;>g{0{qFHAiDQ#MeD%Atir-UVk7nucd|V)qt?(I z$jM_L_v{_8AN-4H3o%XPGg|tHuH)n<0{t z3Vhg*3As)7M|JNqnoUn9p06u|Ih$DK;!kit7+*_q3fdP-tWh?ud)JBRY!Jnzu&^vN z)am?S^WF_zEYF@lW@jv(dPeJy&kwv5D#6*q?YPQUwQ&EvZ0w^?>j}haIS5QqUw=WI z^dO#EvXBy@U~*IxrE~0F2Ax{pC;MOgX7u{+rdM8pFv=m2Flso(&)&r|{y`*21nC5+ zvK+99c&P4VvAjDX^}{-&Qp7=jSNSz#>Z>qqBCgu4I02QT5jq##JLk^oBDUsGgB>1h zKCNvps3r6JyNIG=keoek>s&hno}P=8f~*weaUWQce9u&C57~?q1D|r%@)KG8m&1|> zZgs)A7E<%yxv0JmKt4#-$>6^zOr76c}#VShx859v0FJF6Lgd{#nL@;ir!LuP4B zzXn&{9uYLemoZ%`Ltd1+NOKsqqp{^aiU8Bys zs8e}-sSme9CWSeYQKvV#Q5m+EI8!@nLr{gH5mB+oG%~)L=s{KLDgZFe{i~?PP|bO&vRhh94Ut7+z1CL%8vU^uf@oKPCpYdEWa-ABmd?q_C`)m+Dv3IKSeY_ zwMZ6scRDWAN@KR~WLH?L&M?N|CY4PfU}GLxJ-fL?iaRlqg4kZC{ju5A%Rmu7gaLZd zVR*1DQ_vG@8TrO`qI9ZadPMX+9Hm#g>IV#KB%BQ$J8@uBEtmeRR}-d=VpgKuX8{5< z9a==c7(kjBX>tTs)3UYCLD|wM;~8XvSs@V+q7YN9_GGXag!aPE*iCGKqNJpAx!r7b zoGIVLtv2O9U#Uu0YMg@Be@M<7rX7C?jv)y3#uV6m@IohFx@X+*$>NrhL(_wnTM*Xs zZ%IjdL{zN~kzbC=ksBwm_0^mUixGTVUfCns&H@(nTJ&s$n|wwFRr{@%qM68OYfqt7 z`(#4c6wn_?GZOXo=XE5mUilt$LQj}Z@Ew{{I=#*^(wcG2-~70W#Vs*#TdIB}7R!`2 zb(H_hF&mz<0j66LQM@+oWqWsoxP!cRH)N>a7{Mmf@j;Y+%rO|X4_cru1E*-cN{}8b z{xWtHWYGtI(ZiM<`#|$}As+dLy6qXxDJhi_&@XuwMpgE-?He0E2@(o^#Y$4p9{RI5 zDCO%)T5{K_;vVH01NU7mXJTmVmvp?zV}eI|JxPl|fGrotl)No{A>c*h)LQ^Dp|OqS zvTQ?JyUtsr;2UakK5W>iB8x7G1mxes&flW1^8yWeKu1}cygScr_}&olHc>}W8#)aE z+e)m}U~AOeB@0WLt$@jCr$WoO_^y0ocA=jjINLWZi1OL~X@qS?F*X*Cb*HXhH*MYJ zdpD)6OHcQ&acb?T;b82?OvyjXCb(`qo1a&(Hp~Kq;-0pAeNI`@D`g~IN_j7xtYqg0 z0#`j&b6ZI%!wrXsq0W%CxLwypQX!~@eT40K+>?yVor^%TmX7*tFCKe_vWY}uDWP&o z?va7C0T(Joba7uqdbQ4FT8~^L=4vi$mJJXAS{1DWjlfER?~7i2m^J{$1+n^OewWbe z7DWQS8AFYNZn~rdqur2-JV0u6mD6599T-JH$Rmzy_3$%^E2?<~k)ppU1fLwg-D+Q2 zhLF1Vr7{UK7!cfN1yd=Xe!(p9&8O-0eaX0iNJy%aI4Gg+Ky?NvMBzri3tKV z3&+)qFds0uL-?Z-8IMtKbk`74cS14vNPbsYKRWQrJ}0r%0WpN561YoES?j18CWGt9 zn&_s2!*4^&j!!UyFe^$=;{T_K1}CD1{l^GzuO6KWPYQLwgw$>UAQD64$5wQ4Cu9Lsj3@Pe)$NPv0~R!TlfkQB8!&F_bv!GVBikUvii2~Wahfr%hH<0 z!A-KE3d4Zsd_yP+4HHa3nyEfX$o1vk&+#7EKI7pu+n3DB8@Ma;1=fP*@_)m=o$} zz)8Y98b2)T-dBCNJb?GH*Y3nMzZpLGZ*fxlO*&*q4SAjfju3sNo1hpkHC0SK?wBna1G9ckXng$NAE>YqvT7q zrmZ5`$CAW0+j7$Q5)WIOe+<0Td@{Jh48p9q_iCRp#qoirOHwmw-q_owRCmLw$9vH> zfZO7x48`XDgGblMN^5zhb=o4S%8QSL;FcWZQ5?sx9+VJoB1+d-r&d|`-v^g1&{QDf zv|K|H5+G~-;pMz%eDCGDg;L(}u{uB%++dcRiVM>dWVV(iUfZ{zr>=|M#tIvYk*a z!&(8`+%7zmp^Ivyf;3I`Q1h*dB80v^7SBwbtIzz@&MR(Y(cJR)HFu|z*TQ_OB2(U; z$zWn{`$>_xAQBnHJJOri#@P6$Ofc=9;o%$EM6!=(zct{k$Y%Ada7*nipX&wAo3mf^ zMGmaY!M84SNcFAruU>-#sj#>(bfYi0jhRF7we z(|u5X4_b?L&^jwtO$<``Z*L;bZcvuxrO$|%Lk7eYoC=NP+xDg5x^#x@x$vtEJ9x9RaDUne*#4Y=^`tI0UU0ZBrK4M=!&?yEgQw(F{=thUw}b5-Qh{}uMV8*;Sd zy>8roe^`+lF#P;8Vz#;2ed>9{=3VP$xFz?VzCxvdkt)oxny@`6``RZ#0^uO@9*E(O z72t*;d*VoGvjlb>DgDk*WXt)-6e2ZP^{ANJv! zg-GOcXG-do=@LAbv{e&Hho3SOi*E_o;N+JgRk@7J`darusG_Wtwnxy!PfEh3a(j#( z@?xdl#kZAbV(y!X$t;(m^fS*n;MjKzSR$zvBXF@M@sJQLhV#~JOd@F0OpY&Os5qYb z8r+9X*)4?N%_|4x`Bm4F-o7z>&cX{d8VVbd0S@XlE59F~#!kx`5PoRrSPKSZv_i!% zfS$#RPCkUhf*V*ZJEG}qgaJsq=NZicCnY#kGzWZySB2fa@?0$O4@KQBfX*s%^ z@F#RTTrPEzy6?|9wa>^(SvHl_#z;(KLNL{5|6094L5r1+i9&+F@{Ts+09FHkZp$=| z+;;xXnl{vK7Ag}<7#4p-9zuPANMCsy(@^4Am^{C2a*S&5X>Up`%>Kl47NHi!?EK>D z9{>P|h2O&*?c#5;L=AkZdmo?c#}y8fRFGuDWCD#`5O{vE=+#94M)0s$Kep>PzKHd| z@*T7^05%g`cN_&&%h?3vXPFLAkaQYPV(#jfcvqvako+^#8n3(_7=)Si$;DRUK!E_D z_sN1$kidYKABg*YiN8P8bmuaA&^&(lv^6~;bqt>hHpDRS2LZE)!g^IKDQV%#!g7Dd zX&GVPU*(Xs+>MRxS98Wp_?DP`>mhQEm4Zj=9-@fsIiwHMPJy( z?f|z~j=UH$T^R?R<3!~z_C*ASEn?{^j2;PqUm|W9JxCOL-Vl27c}O@IJV^*=kYeix%PP$f^=?BlTE00c(uYnECmS@y zC;sHa?Zr$0<2HE*tLoK-J}~7gx!jlO0c6z1J)Xl$_#PKOQVcOW$aaVa`KaH#lrdW zaw6(ToHNI27-^rspQjh}Nu11kBGzkDP6AQ2T@CuH`Q4rPM09clY$}ZQm)DTbm74SR ztO&uw(Ahw8P&GWOq#TmEc^C(r$1?zOtsjbv^}8ylNo!ZTO4qneEJoHC#w=0~x#~6L zge#s4@)byg)Pz8$OZLSB(A4$?LlkCRbX^u*N#PeSAsROs!Uq`%%lU&cUL-~$O=9$% zUpTGCX>fXTmblqRoaRAwjp%w{6RLw>e7W!PFYUp>iTr7y_8=H5sD(wAjIjU4cAAV? z_s3$_@eu|vL39~2K?*xF;We2~gWw_k$hyRQI9qh~e+b`GA=|JVO}YZHx3_}rcPK^Pyp3ya&( zsTlv=PWZc|{tFC({M}~yyN&gC$%^?`M>6!U5)DR=)s)vz#s}G<5cU?%2&4;0-$Yv( z1B9U}ucrzFDe19}L*_>EZWB1LHl93Kiwn~b!9DW{=xE96Z_@t0simT#PxTkQ|C_g= zvaTKkgbBjC0{X75P96fTMq#} z2ZRlpxDwLC(-q~3bamlJ>y2MXK}AJOTv1F(SW#R=L{JniEG8zTBrmL@A}TMTEGo|L zZ0m_|aza}DRRN^cR=Ecf@J0Y!U7h}reC#V=A?agdC+=(`VkZpucCc}D_O$l!cNdg^ z1IgY+K>r_X`D}&6By6qt5lGY@6|8jMCP1r;0?2N_`rZIZL9u&96ab*@#)=Tm8Vto5 zME5fhf3|#IJ{aiN)qp!PNom0c}^bBW&kr zIWUZ|1J_E~4)ZVHn3K0{c~>=kDVhC6*oKDFOE31OqY$0@C_M`2n*4s5wNr z6@fiL+wu&%fCm1E0n~dj7}fxR*Xb7ilT@@Hz?~|}3z&FvluuCEG_nsI><>s{8RY{3`~Q1JbM+AHWDtQi z4ibb*n^_DZv&5)|5fu^Pe@EK{);MlA4TwzJ86FEV4t^YlfOKQ(12&@u*bdrW$s^^c z*a?*oKot}N1A*j#Qixd<4`vgAoyJ@i4!k~x7bjDYsmI0>gqNv9J%vGi5NyjZcsvZ` zfjy`*L7~&Tc|-25p|5mxdZcBI-3?P99q}B+k{MK#iN}(8EiaXhB@>P%wGF6QQF0AS zW-3fNJ&Z0H3x7oUufb&9(gdW}lT;Y+=wOJj!4El-V{MYpawIO}#9!n{*1L)Qi@-mi z#QPwUJ#FIS;84$W5#@CFFWxPY32YJa2kN5CiFY1D5u{_O713nu&#sxfEu-xes&ev`@_MgA}~+^n*Tw;@;`em|F>R} z{~%>af|C0ODNB<7plnIv2?+3S*(^!^lM#vEAE{6P4ipT$oh?b+VQAt1=RJ;l3I+SY z!2U3>7l8cd4WOa4(R2BqH-M&%9_9a!H<}sYO` zDaQMcAXQ;j%v3Na7+3%~AcG>6hEy;xU_cFh`~>&ohLkJ-7Ha|n;R9_UhHNM`sd{oe z9{aub*ovvj+7Mf9OcoH1J`_h69)1tBoyZ0U&|d*|9suAALxSo0*XisiFl3??CBpmS z6@r1C4fe=(C;SQ`*@qIJ1QQDrDlhLUv@m=8xMG|00`JmHOdWe zV{Ta9zEN(lDC!YX;=N?zbvTI&oaFNn@sT#MFtne31@Jda^t}iMJ9vy#N0<~~`b}8U z9bwYIP8d0&@U{d8IDo~`ei1Al9OVZ1NWi~xg1ygi0J1*8Q5Jx`QAMG$qx`Z%cn^+< z57vl(b`$Txv8)D*=>YEzxC-FCgrFN{qU#Ru z!0;G-ENnB;uk_FdVW5wr5hnU01g?HWn8Zk*RK21MppdIx=}kqcXrS2_{|+CRX_OBj z58&GX*P9*k@H3QnubcRbHt`QQOV0#wrmf$eTc=+E1kg5-C<~K*9U?guCIz^dvOcNT zeFFJm(jAI2-F?y^KN#TOfKWv!7eav<5znEbGDs?9GqnLC>Lz@^!sV{*^pIL9r3Xe< zCXL&tO02{?$-+d@q92Enj@wW&>eHY83bwVT(OX&Bf03 zUl1Q_2L#H(1L&`J`Th;!(m)3*KxDyh z?dt4?bh72Qv2}4pIeS>xAUzOPPPYH-vO{=y0%4=4gN3cj|D_Lwa0cYEv$I86*x7no zJN%OX%GL#ldn`N=D0_e%zznEZc>1~7TDSnC?3`Q?o+AGOqam(do{Fwct|&AN9dkL` zx_DY3UEI7py?}U+6XEHJLRxuw+QPa1hzIoA{=szvX6$Bb?TPgMi>MHKu)eLYqN^*) z294_G>VZT@a_G8?tHnR?0Y!V-`fC59-wx#paJ55NBVFvRfCy2|Lj?^{L0JD$3ep9L zBLQ9(e@z-q@$c!Q*8$yhaH7G_5X>KHN2cWk#0^% zU_JgraO;1K{2x@b9sg%*GY@c~@m+XxgUj6Fmc zg#!E3!xMxR-SCB3eU9W(n$(Fzv8=!bHhk(Hqn3jhEj9^aVJNWm_;Lt+at|i12GvON zTo1J;;AkFDi`c=#n1Q~bzxs%1Mv|w1KHy{m`jBueAHXkzEupwp-S|Mv;G>Oe2g9wc z{{sxhwOYe}@&|~7;l6~2>4RyrzyvW zz;_QWFa|s#T^1&l4;(UBGDSd8rznx!2e@4j0tN!510^}OJTLka_%@I!94)bfze2i= zF`@Bn*geLfuy{5?taUONTm=*gi+;)iqOb$KXO@Fvuakg+UqPVQ^5mkuT z0j9{q1JhTKmq*XdX&$=W8_9Ir7javR@bx%Bdp+Vcj>TLAQJ=thFTWF&fAMW^3{U_m z`KcELt59Sx(t}V5gli4Swbq3G_8?T0!wn!^h{Cmz3t?ixO@M}4t}{;2U=J1{Ol)x5 ziSnuPF>s3al%LoX;UeYanZpQ`-w_ExGwnlQzbW%E&Xbt1^WEjoKME3t(CsM~$71q7dr*o_k6iC)n>WLI%3=5S;vTGbsMr-AL$M$ULxiz*M{O|20E>UK=ZDa46$d z4}E956DV?x3z&1ozNxvTRa%Z=)?zP>OZx= z@Kye}jI-yJScNLlex=#By3|*q(5Hw>TnFBK20!l!p3UvG5w?6-KR{X=> z_`QLv2%&!m1^|wj2p<9+PVhM+tX(~P1>yXHBK&}z|L+McqX0VaK>l^!c?cL=yV}_D z1A_&C;{k2Jz%7ccx2+R!!-D#A+XC1#(&cYFC0jcLa9r^FT6+Sg?4KS1FAtQ!pA8}K zhqr(g(nSD}h|kH%2F8a#Sv$b~$OrpdG>gAO9Sdiq3+!(>VSFBb9w=8=PuTx~Y}!r; zPdjw@BcOq>*3vWPcl#Ug5BY(x>|fo2Lj1z~9yX3JK3CZPr>~-5|LqK*rv+f2{0I;+6o{JT zbrmsz5)M)@b&wR4H(}Q^sgIER0K#6gXj`sVdwO$tmw)vEuum?qfo%?KRBRAL8>jGF zdz44XS!2TKFAP?%ddvVIWIxfA}<@@*uKK4AWNj%U~){e=2hkSaHn-Lmyi zMZ(E{Y-gT$2h+X(U{g3$2kZ0Vz~unNE6{*tI ztHLyOxFu#ccB;_rWB&31j|nSJ_W|YvW>omePz>%v^NU{`Q`wQ+<#B{np`OuRIe4t8 z8WHilzP_DO$=^wf_qhY$?a%u+u`JaGK8tY+;w|~`T7^{PBqbb;&H0T?J~H-@yie7| zys({bLDdO^s8762k1Cm@^-YtU4{*`Ef7m0&<{#|MN^v8K=gU7O+CNA0#*D~cPv%y} z_)Im`t>*if!40uhgjjN>&@kcjt^in>jmjV%HRdbuBMWEnfpyR$(f-DtL7(E zkM%vXrjE=qJ8x-OqC=h>l+%l8`aQr=PBQHcm<&C(v!&;WBwHkzanmG&ViZ~UAH>0|#B6VPk#zm$;&M66M*qEV$VmnLkRe5rGo65udyz`oy0DoFrB94y^Z)t zMGZR2m0)fQ{>cx4yI~y7pz&pInBX)QtC)z?lk!H)WhO`2j`=>$$d#Y(Btg|gnI&%( zkn548{gN+!H!`<5rdQdJQhm26nAuRrN}Z~ZtK^pAx`GWeoc?x$+#_UYmMF#~xsP}$ zsGvw8SnJA~KkSj*YiT=X{@_0Iv0}C>cj2ATSKE}ZW%ckMj(!@mXHl6Xw|3Y#vgyvB zB}z8?K5h5AfEPNtaYr(NvfyuztYG*^__T`Uv;uiOXXsk^(KQ7vMod|e`gc8(-CW5g zB%x-yCb6IcScS4UlAqVK?d2e=YxNr+51pE*pbCT~&h_5JOt+dq9vdY3lV_6u6dAsq zPzdWV1}}a&L={s#fyL8<=@q%o5FM}STU&@mKZ}zvK1cwzN9+_NSA5?)H+~OFpubY0rr)G7vda8s{(u|dr z?P?e#p6|@YlOfc;Ow=4-TE3IH)(BJDXNE9aQCAXli&bjN<8Vv-)Qt!2MCNMB;6z@f z2)f;NFgoQb7A&pN{1|LcTG>7mA^AunYIZUE+z?0D zTxP!a3%L!54g6OF|JA_%Z#97aU5I$??;8Q26#U1HfIieb5tO-%zApQJPHXMvADWE6pFJ@> z4*cPAa#4gK>$9@qJq#irBX8T1{p!OX*x6|SHZuw+Ib^iXUFqA(HlzD7Dmm@(dFABf z!l&J%b0J`V=~ODX^;zKQs!!nZN>Y20^I1zr;QULEJ2{75+J0y4Z)F1a+p)ftFMhpT z*Ok3Id^<3bG1;-wIVpX~Ln0TrayihmEqm$zvvsj;>~hh3o>919xp2Skz`}c_u%Y~C z;n|v=M_k72+P}W({P_CPMf0+Ae>rt6zooIjd{sl{>)9&mGSGh2 zrSZVEaQSTIAVAS^OB7Z3_GRtze%zL~=0khg$&bD@i&{P_mo&6*G|raJ7QYpW9&DAr zecR{N=JK&~Y5&bZ2f?z_+v%0|o%WTp&gqkHAA`Z2cPs@$=i$v#iL#*9Uw1 zJ3r5A%W7VnHO@IAmzPY>oK!E13tv7toBa0V>w)2HAjk5djIQ9v+Bavb0po zdzWL6j{O>im!CbJm+3rgJd7$G&4UZ62D8Y4u)A|DRY;>9#zk<02{Dl=#YG|xgSc|& zzpd1>v4<+~(#Tmrc+pnaed=o4Aec=GaC;A2^X6idSYlgQDyoocfY?>SG=z{9k=c>) zY3!4FQ&!IGDrA1b3PM)MH1-_!Pg+Q^$Z6>`WJQIo$kakY)msgb;B>hV5fJt`HiCu- zB!m|Nk7U=tk}obh5gE_cfa6u;)v0j zu-3^{C#{&WLD1x>BnW9F|KzAho0KmbsH&=%TF6FD6Y$L{nHlp7wlrSgoH%3*d4UgcEr-J zX-IUcgUHo(%EhY#bed)KhN||tE=qrjGFI)v)L0>)U=TSb9Gfs0xSXrN9-qWU#>Avl zHHg?yWBRcm;h*5-?Bptk1=<2 zH9pRLA9DWv74;Y&6PjHf0>=aq2a!X@&Zds8NuB)Noj&`s+eRPVT=OSfnaQ`rUQ9R2 z-0`Q}ovLwZZkzcwRqK*~x3f^y+*hUhexY3QOR>Ue2iK1AGXY1HxGb_Q$;{;s*?guV z_R48~n$OlnQdE+aBpu2WLg)n%ln;G~8Rc4>XhRbz^sR;-PpIeUEI*P+?BEiCsZVxi z+z~M-G3v-)t}!(@*)h}#G}F*3=_X##>xy4L22)woqc_TsOd$ALP8(}`+3&ZyrZ{30g}Mmf(m@_hqFnKZ)o=0&y|!-V&ncE;7B71ut!KiXzQ!lJ~nJtF%8acrQ< z#>EuH9&In`U-!Y3BHk)~g!nt*=(UIVdX@F8o0ZB;q)!jBX9y`A>;_{>V+; zTSy_x*F*ZDxP(b_1ILL^Z=TTJju@Am19z_7NoReRp?J&d_uVwaZHI_KlN~8t-Ee!g z>1hpEbU|l45~Jvi(OT-}#>pdD%k_63avJmMvF_8D)@lsXdW@bQzu>!dzvz`(m?qw5 zGj?LWs{~!EUt?NU)8861-(F3ZS64v1K2SJ&kiFm$!ZhKHS7_iYWRiyx@f6(GAS+P% zI7zPtX4v*qO^LUrepLTy*oP-F7IGGc+pNRSNWeTwn1&t7-f2_uKylLGIbUeri=l6= z#f0I3L`K#%C5u(P`W=$fp#o<%t;7w4}J)OtVU7KPPo-1zQcu z>4Jw$WBe0mlFxTcJ{?;ITNN|mW7lfmswAwgX3{NfKA022BHXAy36M%?IRs(x#)kIX zzposDLpW`Ahi^2%lOnxtX{7Njw_W(Bm{O)byfobkD7PK(545W4r$z@|gYBMh)}o3E zvRJCrDbb5UaGI23IHBr$b<-3!!v~fbITWf&oaXe@Bf}%JcbuOwR@9DNEP1yF)Xq4p z*aZfkV_jg1_JoGWlQAn%3(ZVT^^zg5nNvAfH|Imk*Y87w18OU3kWacLhIWpqt9FNn zZyRYt$+Te*ID{qB@U&dn`u4!5hqfNoV&P<696x35`ow@n@Mhno+^_m%;=ucB*o(L2 zcG`W??$xgmWvn$kbA?uND2ai&U)dBut9;$BDR&CqPSmk{0)88M~t z`pNeqm6A02AwpGR&y>XMdDD&?>(D1bzinOC9aoNNmo?xNy5(9?Ajp_Bpj;to2B`BN^5gcMwHjFEKChBgR}J{Uz%t z{Y;bS`(d`a^ffj~B@gm6rTax8CC2w=g9*;(S0`QOeR7gaFyGc?3SV{9my{U)5(WpG zjI5!wKok@bRCzBcDH3td?~NvY`o;KxUej9ViAQR<%KUE##8B%~0IigfN8vNESnBEw zF}ZcA!9aPMbQ^CO#${;U-G%2;UJ^kF<#?}{yQS-XJ0x{=B=3J1s~L2l z0R8;FGpZd-L*~2~ zr+O8oWT_q;>{kH;* zcxpeD^_p}Bf&_a`rbM$+@LKeBjqx@b=Q$&V3+l& z67FJQ*8+u1%&lsNTh5_`S1Yn%sgQ5U*bBiY!6So4|4ljnJ^Rt@fT$rwh2$~Z$vVUIRl|oz`}F0< z&XE%9j+AcHVF6}@!Uiv$0#ytmHSWLgSmk|uz!g#b6Yl;dl4_;iTTCKigK=3`$6cmQps}OhA&W+H%P|NFYV|_!uJ9o_T+=;}vC@H!r!7!>KAkEf9m>S=~ ze_69Mpj}Utr<=B_j-eEFIT1*(uw*6VB|Bbo?$` ze16P&wgTKv&zY5Q*yU7K*%c)}2Hax|d{v;kQ6fj|k*85%v6q%dTqGn1g&}RgkJSRi zoy*zny?EB$#XfrBojuJt1Ks~1bZX;bR5*Ae{=)5vxKFND*T;^D4~RC(qB=o|5>56&BY@@v#S9k4pRCbbLn5kTUxi^alAma?yjExMK)ev_qhdVwei7Aak@YKRLTCu{9-$@GR-zoq#+}>9 zpAfg!Wj6`u%s%Uj(^a$i^NA#vHPz(rUq|*L8gHG$TQ=FJQYE->WolQ4<_=PD0~JJj z*Nl6Wi&ziu3JC>dEkDb}dA;TANmze>!i%RkDzm)4+qf<^Ix3p+GD^zsaRezQKF6L> z*4D+&iTc$XC0~~BkW|#(a~1l1M%+mf9Nbmh&mve+p9XcbH^vQ;&p|zsy~QWl%wDQo zP&{ozV!AuV0v``EvPGl(ZtCKPPLfLZ3NM~h%Otgq|9;jV2;C2e<}h}a75ufh)sS0( z&q=&lltG;P{AaS@=SRZw7jHY{=vrDxO$kj(rEUu);Kxsw)87N6zW%PB z8Ij7Aq{bcJx_9uEaj?8tK|lC0rCHVcaO^_+DGFjaY&IyvtEngni(%!A?6(y5XhLYkzf?>*s9iv@ug4GeXC=8Uet}nH) z>JLPoVu?BUc8%g)n%=xU3VMWVlA>djCZD1acEtGQR6Fp z$nKSTTPdTEo=x}L?l%MdKku=_M@BP)IBnh4kayQ1e)VB0PreuOs}A`arxhvQKj;V_ zXIaCD?rAd6fno3_ye?3BvXw+iqg}&L1gv(Qxc0t&W zAiA4cs$Qo@OY67GKh^Gd`(fN8e0;~#M2NT1u3X7HH*Iilg9>$*WB~S_00-yy@4?Yr z+Iqp%rrKaA_)TlKnjy!BCU+n@?nie)~3_1THs^h*zS`?CZr7PsqFZ zRdsKAmvZtPQK`se)pW9m*(ZuVs|BQ6pKs-vvdevw2wE%SRFr2M5s}XEz@|vWw*Hp3 zlx09n;{4)rhku7WdLvVx7}H$&4bNxN?LFRc@tdp9tUp8tTD_zxlS1!OHwB@lt}gi* z+Pj=vd|pcFvcJz){|3)Muiw|#R~rQO#Aa{`>QOg_<+5-?My7N*81)%o32hhV*mnqc z9!^|4tM3Quso&}nw;q1<)=6BTSt_#I#pVVQemiJ7ct7Ql&^PGfJ8x`UrETJ%88*LVl_SN8b*DxZ5#R}^7~n{ z(A>qohHjBJs||5Oqo00V)|ik5{Z7>nz1|XWbrB5FT-|f*jiPsc;3eL zP;t`;UD7TNDt#o%#mxR}jf&__FWmY(^ls1x<12&bWjdg;W9~&#TO_8}6Tx~qMn9;+ zT`PsO=x4n3rI4djKk?5-bm_^Z1x?5uJ}#D8EdvUj2wYJw0)gv!M}M}SP$DG>)wfpk z&+!f|&P(D8u%%u{33eS^a0Cq`PHnDJ-d-8EK5|^|B8{%`_3)YFg^~)stP`VM1(alF7eCP_APXr^z`5x;_Afa+?{^A zzJmNP!^u`siN)i#5Pf{zna@~JEmc#+Wjl75$qX%Fo|KO%^oHa^X=PC>MBj9Ci#=og z_=6rC6g!x07tq8UOL0yv1w^?XHCSY4V93Ny4O(D$eFZ;?-Z*~Wlz#uQ*fZhBA-|}b zW?dlLR^1LD71CY-HaDwlk0Hy?E`##rda#Tc=M*dmpIY@}n+rbb zeJ;=>ltzvx-2OTipDM=XSC}KkYqPMe!KXc8f@7?;q5QXd%WlmMmGW*xO3Kp}`!1|2 zb|khuZ|N?YX)ec3%I$rXf&B9P?vS>S_DrTCp28_f={(VwI%XC}zg5R4q`{WWrkg|I z$47z~^LcN7i0Zx*Jj$RHEo{%hB` z=3atfqOjK;{)5EH0NJRNZ$uuQQ6=fZ`eMuwre&P_xa!0xHx4p#0ui#zIIy|>i{_C% z@5{E{eyd#*15s`f?b20mhiS$mjHh(x$##vw)(yLLsu#?PAld#8X9Yb_;|?=yS?z_4<=^cO@nA52DJJg4BqzMWXC!cN^XD_ctL_`y z43Bxi;0}58do+*G{|P+gOZp2}lL6l!sGralbBJWlY*T9D`nNp?di!|zf(>~#;Y|XU zrM2=Xee3S4wJ%RsHQLMIM<&lrMfBoH83z#99$b4r=Rr8%j_Z$^w{o*ZEMtTdO8m7Y zB#;}mkO_ytNh%?Aex7-PrIasjY-4Qs7dN-gNWVwFw6^$C?yOl|e!q+UjN z-MhI+1wzKyj4a^i_g2D)Iq70=8}J#}j0Udgf4-*rsDueY_e$khiI;$lFR_@~3W_as z9GDY*bn}HxgkEilbaMHgy!F+KM7Gx1yAQ*{xIW}BGJU|=0!Jj%WmHzvTi>f4PI_Sy zvC%;yIc9U{aPaU{qK)AU8(WZMiBT&zjeKEIh7Vl-D?nEWGhv6_vNkRXJEgW;dK3B$6^+p;4rhS z;_xWI;8CujsA>Lo!nfDHmEO4_i1gtNWj4eX+}Xf9mUj#FsW2>ZGNt!h#0r@Oxvp-U z0yOSbur9Vv{SR}*mQ>FTW+4*;m3sw z@A{&W$8xSttQ2;Q>C`jx6yCkSiqU=(mAvJlI%U&hS`c~9pz@pS%EQ*LPingk&+ZLO zYMtovP?A!`T#w{lhmhpD_pe30Crz%}U#(lg@KmI}@VDE_x=7{qtNQw;OZZ!$56}Mj zb>t3mB7mJOdV!yHMoH@tJtC1;PR=}J2wE$7rJBk=lS4!dpLW-m)XB@K%Vd6s4GGG^ zW_QAHFX?(D_}%UIVup^m$`ap1=vpnDu$q|y;#|a}X8@%?C%alIDxO@-4;WDj^OLLu zKcCVJnmGS5bMQ_7pv}UI#}7(X8LfcLI%z(0Lshkk!oY8Kk@c{13BQbWMH+Es$q=+J zEE6{PuX?NBZ`T_$WfXKnBK6b{AUiFA(?0o9vcZvA3pXo|$-a<&^a}f}u$T6pC;egs zspo<3~pM6h{|GZ~O7{?SUY`CoWUO!CRz+92}(oZ{)^P#7b zhXSN7Cnuqp7iz0cU3_b&F}W~YrzY7+r;63Il^}@p&8MgI9j3na13#v!zq~ofq9;>qRouW8Q_V#}m0g9oRa2KoW>fD;B`tQBblUIDpc2#% zPrYjXYcZ{1_QGH!8|*9;N*I3PKN|5cU?j{lmm~0sc0We7>GAs(afj@?iHQ{$kcOh! z_qEn#G*%DruvJEO{0U4i#KjqB58**BhXQ1gn;N;(n>vdZ_m8X%0-qKT*WO)kt=St$ z7Rk-y$Y0-hopKPZbE6C@R9GIDn0N4@qNE8ReTzTx!K_e_vWUcnXw>3mt>9C(`4IQ^ zNfB0`q8Of0FI<JTXxM>!qTcQtF*{Nf zE{>aza{eGEzlnbAbdQ@D^`NTgIC${aSfKh0RY)4+2NC})Nz#mY?LK=EaqtP0UWTT! zri#v4ubjz}B@D~XUa~#fxd*$4ZdfqUcVNh#<8+QFtoXW(}Y&I)K9P{V*^`oVC zg54ZlDHieHW6v`O`ENVaP~L6zx*A>Ve;@$TR-2bATKJ1>RO=`yf}R1mGM;{Q?P4i%Bv2rG3(iZ zDD|=Kx3!&HT`9j#V^1a+icEj}x*dy{sySYYga4hr5^?OS$2f0q@*mhZC6(AW2v0<_ z%~@xuCED22J+bNL49|HA3vqy$OF`tR=Tvf3?@z3){Pb;0jEwozwOM;SxAo}c_d#6A z26hewo%HY9-~3jmhAr$Y7dT_Ol~{SQi&CuNyz4*pyhs#gNFk8uXg8MfEEZ;g?QNbJ z&tuo6*+iUG!w>#FQ_p#OB9L8i#H%UpA08hfUy-%a-+&FjG~urkEG@ckeVH9{FaGN1 ztwTA7drGt#>^;92ZHh^FpQKH4-Cuj!Sj~-sS>Wt;5(62yt`tL7+UJ#3BLwMB8O z(H(0F9wZ{ERo5UGV-H&b&DWl8aSwuO2?O z)JmEL(6>8_$atZQ% z9l#I>;bHT9OLnBHszJ}?EI3hZR-ZvuZCp!a7B2WXprK;~b2(W}M^L-6xB6L9!9YdcR`c`v&O+pe2>(MVr6hB{jk@cz$MskD zfL_6v0)pM*daIWHjO6Rn*4eKOtiwWH_&utxEQ>##`Ew)&1_e_oY<*bM3H)s&)iY+J zEBiG_A|kncg|N2Lyz8Xn{YR%fTEVPD}IH0{zMhR6pHhyru58x>VTn+=JTo{byUua@1@sT3{N~6eY)s4-fXqOszv;F zLgYb$&lD=;y>B!V)PGSvZ=fP7(34`Z;M zwUza$gd@tofk+{FHoPPGJ8$Xp;DhYwfRgXXH)hg!C1ai4y^6$BOFg5fvMroOFZ&^) z?I4+VwX-Sq_6MQAM$P$MQqJTmlKHWqa!cZ&MK$YZ0;ak{2h=afk~-9l4nGO2B6<&X z2HMxkS0&eMq9h<{B(kaYD<;gS^J&=|{X0qvdY9H0#EHD2*__3!mUEAvBuriuthjI} zW|C>|Y1>ItT4+cpKuXB)#6Im%m*$M-qY|I^?2wFj`WH%&*BO%+8f%|9Vje&kq;chk zgMFC%d-NSfWj~wL9OD}r4iRemX8OLZ)nx4+NOXmz?{8rlR|YuRwbU;xG~{K|?mJv# zm2I6AFD#hSuQ!cvs>SvS+V~wtZ;t7aI^0t*Yj1WRRVPceDhlZQWLMB2#*-Vf)bk{rl*ev_!ujrH*z5vNxicET7#19M*!8KBCTY zwDcQf-|S;X?3%w)oMquhs@9nkNZW{&Pu^`-!Brnm=43Fm8eR-7LUf=xm^_X3g$F8ak)-&p3YnARzr1+llBCm4R zKB>UroqKZQiaL!c6Bk=yKb|!VpB+23NYZlX-l?r|dYSpV?9+Fj@mz`IrNxdgg-3M^ z$?1GwI2la7xc8G@#$XpfR)~_ugo0$eK0?Lac*mb~ys`5!DTK5W71175u+M}{57JJ& z>z$n?Io#}?m^m(EWo=MQahfu3Bf+OtCLGNmTwQgqlh1o?7#{uoHlgSZ58KfX6uN_MFP^*|_~p5*o^tKV^ZhWNiWu{aCohX-G9KeqAjen0 z`$qeToOUboq_DK@yQQn;e07o@#y0rTEFneehqE?v`{n$B_v5;)=h^in_ws+d9N_49 zkNK-++LGI+h($8i+NzLgybs#RJE70Hs2KW+{MAL&)6ae;%%|Npw9@f#r%|gmmc&M3 zBfW6Vk55@w;_R#qqc+-ZF7@txjdo?PlHSx23!TlCpmN?br25HxdU)~CUM9z`e?h}w zetXTR$f$vvufLQx{;icCTk+lZ<96a^&u+OqZGW|@Kc4%J`N&-2XTEuoVAr)-h-Vf# z2QJ}gUscy9jhH>GD;g4K(w*a_%Z5>I`?W8J3+ZK=_L83;#?v43|0?qlV^bN~TD*Ft zrt-13eH(6Bb-AOPj^phHFLzAx&z3oIi@9sOd^Krd!ZV6~ zuMWDttsyad;*(zP1SX17w45z{rCGznYH1zrjziT@}K3SjDEe33bMULquU&T)j=Tdil z?c5F{d5U z&@i``JSza@5kFLVSJvq7J6+rOu=;$=ZB1x;|M?mFE;|7}z27&rH{JXS@m>d##G4Fl z`8r15v$?wpiRKnJWtzF$smIxC(Qdlr&sRo4Qazpty7DN*l|V5L<* zS)n3xI~nSb#8{^&;t*mWe!hj0UXAqoVjeV)Q_PaJ;IbXn%w9Emy%78=b4Mv-ru(vXPt<>4QUBtP`)QC9TYn4>IbsqibfFj}1-U}*itMwzfymLA z$N5IpzWa7J-?qKO{e}Ao#VXUN=^d}p?>=Aav6S)c4=u|`kM7ZoeP5uqd3&U)Az$`- zQqQQGDHSx^qObQw7&G#fLdNPoY18Aj?(`4uj$;}khHR8+nkXN~XnN5j6J}ebvIp)2 z?2jJiT5|8luzxyXOTelqeKcx`eWr@FgItjW$@0Z)i2Tfn-%YhzpgIuN`(kdVN8*uD zdgIfXXd+;>S}gxv@1)v(bSvO}gwIofa4X7P1OmcTsek`$S&W_V^=JwnDU^H6{-=U* zN!$W|ni(Ez+td)DX}D)vhr<%Nv~(u_BbrfJP3qv9HM#O<(OL6K*HU4wohQ;-yh{;xoLM zwb`S1_O-Uh6Z8cMN2GboC+_|{G1s(x)H*v+w79yvW!%$IGfpKydHoQ(T{*~sO8(gq zpMy!=#wTJz913n5KFU!-ZTt=WzOsgNwv5-dm;Pkw4LO%4vj=`&k$bRE9G+NCYjLNF zmyW%qA)bXi?fI2HZ_XzrUO!deKgtPa_H%kg`E$y&N>km2gY-?l>b)z=->||A7VP&tS@{vH@bP?Zk3oHZ%IV#4%X{!t17W@} zqW=XlK+V5kL<}T}3l>0OGCff-LSZ8o1LKK<5enk&uK+M1h+VarsA>pDO+T7tbv9lniV(lq33O5W9SFc18JX@zEA99 z8P+8+G`(%P0Gi@~UTi;r03Evp9@T-(xzjiV-9f(7IerU_|I`z$m}8Ef>K4d4F$idM zOZM(z$M&O&8%IaA+-dh%x6A~%CC?A2&sJe1gA(DdT05p69HYg%G`y_Bh&{!H3gt~3B z@HlHBqab%*SLFRYrf!q;Hk=|!4FKpEv1C}HsXzhJg@@rh z4z+4NJT6}1ai49x z3)0EdhJ}TunyIY%{;$|)oygV^vC}8Y$dPoEw=|>^yFV=eCLz!aD#QTAY^4#fx%*Bk z?V=MdNdx>DKt*_%h*@vJhG4g*<)TL{dS969g$^(A{pf*d^eNus-@{p~CL^_Uwn0R_ zfHvOvK!6}X{LkjhOZUm`druQ1$Fq-s*8R`e*6GeJ&0v(U>St1uo~ck z#okJCFyG(EC7wl!X7TxoyEG&npJ}KA>OF)Yck=Owt&IOjE3_WY^WRXr<^1)Ol35Pc zplTmtr3eFc#b0mc$NRtY`(39()kz~wN=k!i(C~Z+MFuMd9Vrurh7cQuEIa&aeitEB zRU^^c$TXLyEOb08W^7U8lC*16^fX*C!b+7YU_|ExbHVv6p3Y~f zGkO`bzIu)J_<`+Vx1Xxq^*VMiNpl#oBanoLWAs6JEb}^Zhp^Pb+O&LnvAucqgtsqXLyyvI2u1_~e!ZS*tveZ2r{Nd@WU4LLUF{ z9H8p8NfD2T4$J3xXMptI^?^g6*e%`9e_}ZH5kJ!-EI+$F6+2Vp^?PTspU4w|Y`!q5 z31;~x{O+UL=l~4o$&F)*Wz8h%BX(tCL1OxF7%l4e?mRKyH zls1}@dBj`6JC6B1&A=?d5i%QB*HSu34oFY9gZH}vH?!Ww%HrVL=2Qx|^K<`g*N77z zwJ%qpYj8wz5TYWDXHVd}W)IqfO z-kV3Wc==LqC=bJMf+qYd|K1}PnW!M>nGCjd%r;yi4hRB{8wvoN+f4tU>d3UD{U+FX zes)alLJE)Ca^Fq~F&H~jy%LS~UIU`8i7s#t+l9PC!y{zy46r$GvQI25@;2cp0y z4S-Hbv(pVDk}w{)z;Zgy2m}rX(;^Oxxffa>d zL}KNqE2}g__@87L(53A7U6sT5gCBn`P`So-Z4;!of@8`}LfDifK~%z{15K}cl|`p$ zK*Ya5kaXdXCo6hrBt>$@GW;3a`mXRcw zbSuSV2H2?V0e1fElq?S-l|!32xupA3*2VY6%_A|QH($cTYcdjdV zw{)5ycxGWUA(;j)k1YWBiymA8z?bj8%H8ZI49ODmWuT~^CG~}cl(5Sg$=%XcalMYL z&(@|}>O_z?>)iYbY(@Q?Bpn+8$-F~z*~0oC{jfNs2Mm4habWvX60>NcF|^OO|6i{6 z7bILm?#P4l5H&9wfH4crHP@pX!jwiYDy5{+{LRTw;5`(G-Qf_BG3LA@nM_3^%578e zQNvK(YYK9?yu|&uY{?Cj)^#P{~ai1Z7v>5lj)o-S0_Oel(bz4r4mSs za!DxKuByEd$)a0seFk1GxzLcD zOiYe%H|KLbS&%*dRTNd@NS2;8eKYZ18$ery`P4k%Ie67NP?dP%DK##bC-|F zVTOlGsDD9Xm#~V77_+Vg4_(iKh1>vJucYGw*#P+fiMBt#`NRs#geoIZA*GezvVwv5 z8ja;)pvsfoiLI~?dU+yz|KcGHnaM;%QZ^q5*19slmBj|+rgw(`8nIuTc2y2T;Jf$G zMu>b?a-iB#s3eT^8h6_{--i?@V(@jkxR7>`fXl^8%ufw`(gIfK#$($_P-?c)_qw+g z>=&ag*J?b0a@{o>8?E}9=S8E6RHZxL#OP|O*GW2xa#@}zeMKs@9G1AeZZo1H786l> zg6T@zOi-r`b-&fK0;tMZG!S+G>JpJg*i)UCp!d~lQ`c6{s(l)oA=Rk{5iE3c=9vgY zAD+w8bf~pBb~5unfBmnxI$}*i+M&D(#R?i0jLQZ=kW(Pb5j4&;gk)nQBg)`+mCebu z*0VF4`DcUG#fz9*g|=#7mjXMA>(J?yjKnbr@{eHA~Jb zA~bT04DAKudap#{d5jSpX7ox{png~d_KXHFiJ;f%3mWd@!qM1mdOef(ebn2R^E*XLv39HU|-IQ7Ff{O39ht1Gkd96xvfsGz~XUCBo*osq}4 zyiTFqhuS1ELtcT?>M+-zGqCiwepkf+N4w`@OS+~Z?PIjg)oV>Efwg*+5^5sruQ_a# z*!`!#gBCVL9vk&kFXYDxaqy&b(vuE*y=GQkL?t&9;XiY^>=&)&|=$Z-7`C?(;aeN~x@9skAM>No=gE@%@AMhHUgz>Dl2 z2Hq)`zsQkZ-AFG;norgg#`{TU72D7i)+_3K`2qXuIN1h`-`&DCy$*2RApsB)|7QP; zgv!ha0bxR|&Ho8(yB#fPP%#Lv;Qc};ZmewyAZsZ{$ zxItpIm=T=b?lbTA>*`q*)z^_6@GU^h$YF+HE56l_y=mOgyo)TWxF3pZ!gTv>{feN! zP%oAnMbs7?Uuym`on{;KBk)`^YO?6CRMo5GwCJhZ%(DZXFCGYhIjby$>Ut=GAqa#d zxf^`nKh);y`rIBmHXrtRde2n{XZTiNR_1A-LjW>kUPU!BQxDugieYlXAf^&TN8?+8 zCl+$t6c+iSB#53PqD5~RGXb#499Y5S>Awp|oO@CvxLHdjGMggGxgwEeFTg4wKCPAH zySovsSwZ4_KadlZ0#@Jup6AVgrz0~D7|LK}=IA@tPLSW!&uWIIVnyA-5-{a?-sj;_ z!X@QpP#AE$nZ#ZCY*NWC#x^;TDP|H)iwER|7?dDaBdm+_c=us;dd}w~@vHaiHOySV zYSV_a8$M3BIU4`^*U$K{3sV(F8Tq@nv%lE5Yc^f)_&peXmRh_rW^W{MGTeuRLixsF zCx-rV+_`O*iIO>w2}jwPoVDiiE&2>Hi!6U225j0mVkm&Og+h6MeC*u81I6wATa8|F zvLvj3E;-`dxFrh>i&jgsVvhb$2ijm#8JQ`mT(<1x3o#mkZu2)7F%%C|nnGlN=Awa? zBa2Ek@nQQ@DQP2QY0^fTf}aeR+xVPnf0nGL zUopp|Fjun9p_VIkw6~zuVg)zB4aF4`@)xdRZtDB7J`h962bN))FBI^aN3g ziN-@bP4)&az4`7|S!JGH$f#?7FbHCl)Ry{^{lwUg9vnrm}Xh5yqXOScgYwSg^2Amg4(z>#+&6fC5W1=e*UM z9bgjoS9;A@Z$Uk3>MjF+kUT3?84pzcj3aN}P~{*;h@_io{OVHEFr#wx;tc+FwhSx2 zCB>gevb}M0#4>p#a5!dLBVun_0i_fT;qkjY_HOBtLHy#f3l8iBqi`Jw@7_}5rv7w( zok^q}kqi=!n;ULO4=DyZP~$CcY5e|U=6@E)#qWI=HV2kGpu}eQ8ByJ#td7}f8T8By zGc3CxyC5BpVFgkn3g7GA;4V`F+=togb{QUt`!+JYmi3S~+Bsg3}NZD8~Wai){86Mt;h@JA^K-0etE-Om6#$XD&m}$ zG7(AAEes%7^UzC0Q}zh*x@rO_2RomLQ;q^;KTo!KZ{#BJ4_aD|sI?>WeTGKR{IR6S zk4-9GOs^42K+SdFX6JMN+w*sGDR`k-+m`#C6z+1LcvLz5b=9rSNe5?aC)d{1&C3!w zt@v34A{6{siU4^RcWIvfW2ut+By?*(40zC@NXG6}DkV1>6NP@(r6@}z^s=wLOBHQO z)nvFZj#`t8p}R;(grRvBNhGx|Zs~a+<~eP?F&p& zS}DSRpEZ5vmx&t~#^~VZZ64fY91^l#lH0_jC&^daS0K~#1;$9PC2HU?k=T)$#-{rR z$)Wf)h-|c)-qoC6o+U~(DXfYmr=ZFraXN+wxo0ABB$P0yj+O*!`P&pciG-&xvn=5> z)8k1eP?Zwel@mks>P)320ylcT9m*+Fi-mH!O5})|@Q;Uy?R@W@{WSpBa2YJ}buU8A z%oZS85ixT{(+9MzU`@Gk2*=m{SN0`bM-rbihlxDTVc5xjiVjw*oP$%g3eLq8$efPf z8KOmf*ekqzho<*kK|BGAANL^k=@;b&wd6-V`du z>hSCHxL=#Zn|!3gp+s;jN~JSQ*uqpDRdlbFrKagENh_s4JsIHs=KZJrV9+fu|*=lf2WZBP?O#8jmJHH zSP$qo%+pFfcy<;^;hPKmi|t1rAlmfx7CL(Wc7E3WQEO?v#<5JPdyKuUxfq=*U55=7 zG|W)Qk_i_5$oRJZv3zAPQiK136WKb6q=Q6It)xdT6lfwIopj0(tG2qAz? z6hR8+-6#fh+;l!ydHkFG(rLnSh_Og0s}4`5l1b)}`DiFgLKMj$QW7kHvQUy6ZiP-R z86VgZ!hP}ys&&s9G#YUW=z0&2Cpz~8E8Az+PHQ=r^jE>V)v~>6zN!7L-$m*3_N`w& z%zjY`kN$7FybXP1otpW2=X!bF3^@-_Fc0*s1}g_1EdsA||9|}cp9MzJM{WicWBa|% zg^Vb65?qh>^|e30O2!w16axT0BOHV!)ZO9ar}v3bUJ_MSLRPb|GdUNR7$7_}>DEeT z$UfxjnNDHZ3faUVIT=kVXyj!4f_x_g5W<6(c&;NNL))Mxcfk?T#1{pgXF zpY}b^syEgDey|^xY2cfExeU0@4Y?7o5M%)v+p*MHeJowIwkkqC%l8vapktr$_aS3^ zV;`tZ3T#=Hg2Q}$?-r5n#t-oZr*A|ru-X>pvnMNW}Q?TFCN zz0~1L8}0TSg~u;+28Y;qAPb9PIt3|MTbza1>ua+B7G)-NdhX)id;97U>DOeA%Y;#@ zknmAsFQxF*)KR7=hOd~x$hK+R692;Ez}V9 zMmd1kBWJ+Wt&)d{iAOybk~>L7>gIXuop;<#h=j6S+|9b48~BkK-}_`hje0levKz1NS0h`GW9zUIciC-!qOJzld-?J6 z7;yTtFN&x?-~eveFOh8zeeJOfSgFd@nsUaxckf*&0tA*|^u9{i?Y5G{!7nu`3~OIj zJ5swZR8g7Wj}vw`5s1{d7;o;bvAx^atk|&-eQm62YUS@BAmAsgmc7S_l{WM^M!U-MEbNq-uwxwKuQ)mOEJ@}01m6*nm z3ot(S{BAT=cseT7cbFlp&8zK$A{5p#%2JQ#$TLg$SW!!JaQPVVbS2O`eIUP)A`P3X zmi1{?wB)ry5IBmEwFu6X2xiZMEB1o;?LquGv?6#z{Udp3%KO>427$R5GAq{f@)NrQ zSes4&{j{vL5~_Tp@{&U_x=EH2lwda_wT;-HCDLnO8mA#ga7)Q#fq5SyFL!Z#QqR9{ zXE~iFOv~~_sSsGWm4@T~YW+U&+X&34>WoLzAJ568s~&+6Rz8{k+QWE*b6VE31hHkO z{6tq;*tGj-IgY%A1DdUV2+WGshvi z4c$)50JscpwkBcUn*FI+?jrG6ah`lReS2Q)0h032^8OHG98IqBwBaDXoByk38!GQf z_F#ba(8PrpyQ(uf_Q|hX!fm2q%?T*>uJv9 zfvDCKA87B$o_X(qa$DXvb)fKMB4H{-om$s0n4l`NC+gE6g6qv-qKYWZ1S8SoW?V?h z8kh52<&Iai$HVE`;mrGc7Y|vkT2s9w<`2mDe>p>_x zcg`h+MU~_3geI@DE|4K~JSa%p6n}Ah-=9gnmomrJsndJecDK^+xOGM;CEo?FU3IFc zg$jjPq!1yeK>#l6s5%RY!q9RF=54p~l!jK>fI!U#{5maH%$j9Eh(;k(j~$F31VHKV0qH^a zwfhQ+;|)@R`8_GrZtySx$ONg5#pL98!WRUCX*9bmw#Z&Ijd+h9Yk1Ng-WVn~x}1dM zY+I-`riJu?vtEP491+!gaJ@gxP3M}LjF#=iV6acD1W28xQj>Z-LpDF+;+4hX31GWw zA;ZE4pRd*R7C69MswVF6w1jHOc_`o|&;H*e$CZ7DTa5R><1%IiP+q5dnPYO#GjCh4 zcN)({@93av2K@+`yPs*-l8}cIiMRCnpA$njsr}#CyDi-Kwl=tf#m-@(VtoF;+Vv_} zTDDuJ#PQ}Y#sFA?M!23H6bM0``S$U^dIMMrZofh5Ft%&!MF7;1{&y6zy<_&>9?q zT}A1PdDt)8-)95e2W=`ZByvc@k*T9O)jafwQoD2w+X7qNyuBO6q1FEOH%h(Pk+!66jABGoSEN%iIj3i^tMMcyD_~>&hq5 zG7Gc>{ipjwsE}-?qjw5Nr&@XQzX$i$qteBY|IIwUg6vrh3d7Y&2e!pf`A{k8SsYM2 zT!%SvnM&i6TzJ}++J$C6%%cgXkJiYH&1f?$ys5z zhZTNJt!rituAPB}TSnh-A-3_opoTKS{RT8wzhLzILG3p|T(_Pb*s23PW7^3ltWrV2AUAQDU)Sfkv+4uEAtj zK_dyqTYht#QNZsH?NgNFArW4U~I(NV=?TiI3FjWD9D3HLDhccI(q$q?KAOjKSE+6j9&Tcn#i1Sxu z(?huLEp$4wQa{RDi4 z(g@N7(q(zH{BKp6Gb6D|3wxRFTZpY~Lbwc2>r<WsgWejjKvwN{C#d zf*Sd(k%*?K*ORhUSE7^|i;U+({}~xpY70_$=_=FgtpO<#;`?lgJsbq+?IW}7&xoJz z_P!O&PUEn@;TgNPaQBZJk+>Jg{cE~t)S2BG7AJ?c#h_Y$vlAUDD@mD#NjA0I{%zbd zgqGefPqR!rbj#jao|ewwKp!Pw--71ht1myv6#&DAGrBx)Z}YMi83NbGzm<{hdP@D!#VX& z%69RKoY0^%Mx5)YloI;LHQ&@u6pB2`^nB7e*f%V>)67 zI4Pzmk&iURVgwEafX)S6Y`}_^GGotZYZ%r}uqi5ZtTUq=x+ARpTwyQjInUTO($($T z2Pb>I3GonG^A7vXokT=LL|_F&4!jf)=IU}Vp>?bE)}t^T-aoP6(j~y@r$}uIFi3nq zfyCZV(8VwwpOl;lcz7y`Jb7z0u{cSf4qO6NBu4CrK*~eje`T#hlqc}Ldk0z*v zUP!VL>rfM=t8jA9ASkD;c}p1db6@jiK+Mgj$BlqD#Z-hqTZ}Nn8FV91esP3E@=+*6 zMDi2BIA``2nyk5U<)ztj<;k>rjYDg#lLy|HI`W80m?h*i36Iw0;Z8?fKJ<1{A9VAw z#TPB<$Gk)A7@*$1{*RjbTzAZtoSqBuFee9~Fl&vU6O|!54QA@8@-{f3ty7I09Egi( zB4vLtOU4pJsX)OK3)(^ipj3!eh(qH3OTo;fk-?B~9PdcR94m+~{ewB{}AcF^Ax9zuHxASh@x4xENJ zRnHRp%>+e3naNplP?3sk9ffY6TN|(9j_mdErf$WKl>KcsiCO>|ltjXzArS%+Gx6CA zhtY1m{vE8m%7-h{aS8O)Ct3ejrvnGF9({ys+kq<_ma zkc^MOki~ubBlNd5L_$RRB23|AJI3=2DW8XlEEb^(0q9fGVoWel`dAxWFtBMs3~t^Q zIJD9d>vD~?r2>{KPYaX8ko~|5OegbymDp7}Y$xA6PB5eRBj#wpRih{~e|H0^NHlDj zk%;c!v$iS+owkEVr+7~U4vP;1MJ*_fj!kTle{b^{y%>EyXk7@jO6BvGa=CwbQr;%h zZO21%_?ok^zNvlAgm+(tZ+(fIb-K+cvBBk(6jc;kWZ|6GAWpOb?qU4`oe&Sbk5LbE z;vmW)K!L@4t|+3mUR*y<(c4pG%%7eDTaBwMXN}pOn}gNUp83++339Ih<^*cp1%u=E52J~c!565%$ zlPAnenU=c({{YZHe+>9jFE%HXH*d&0DR4oQqCoD&Pc@J?y^dVLpfWOaDvN}<*V^bT z;Ftu%4@3|-v#f+DA}UfURT8DY81+2rpTrCzmxyRDxlcT4vwwUaES%cZp`xaobf6Qd z-1$xSu-*2UKr?72#>Gfkim?h3=h&d_T7ZiHO(fF5KZ&3@(_W4&=daIV8t2^hyinh7 zJm?#l_pL`|q$Zxtk7w8Fxc>al4c{!UdYdzX3^AGeeVKG|dL&e8Ry7kaQSB-o{?JDD z{|z7Qb%aFBFt8eoPZFlsiZNahtgRxN2wK$ue_H@Z4(*})JYJKu3q$ru$#m<=LDB|_-?M54xXD@|@ zCJ8+N9tQ-UiGOwYimJ3_IR7A_vkRRwgEp%|QaIthL=tXMY{>bm%J`~j&h6mJXb|ng z3V;R-#$7}Ym*W?WH26r1U|{U`zQtR~M1Btmzv-t`?lDsyz4qYN3Op+$Y3;nHe zt=0k~2Bdz^J{yGyZrBKNju1X1z#8it@e|FTVfJ|ufx==&x>e|S#q!KDiDr_<-g`Ct z`uincP@dc^mV>RB;4&s95;s7X3_;F$^aEg2feL8g1i%W#z{ww5 z%+jmNiC$coM9u>zD=L-nOPwmQ2x-}4DzoMz{HsCz{BGYrXRR~=R?(!=u4t@d8jVu< z1rnAS_hi~2r?uzyC>aK_^^KNVTphR{U`P@HkU!Q8jBEcuj~8tr@|Y|Zrk5}$^~h!T z1#C#vA&~-EBC`c#H|8fe&w{UTEYhburWoaCaMu(VHKQ9_>IC22XRzPuq{$xOsb?m~ zS0EjBbGJv{slu+WHf@!bS#yDekBb!`$KyD<&0y1?hJH+P!2L@zqF%4xIp;?GQt9as zwQABrg|Yf`@J9t+eLnJ~{es`U)LpThzoTJ#iU5H16)8Iwy>X@aaOHi#HL7YgpCgb_ z6evbf2nL?leGo<2@{Iv(C}j&eBm88rdaC*q0lvm{yBEPxrVuo!o&d|tfg5{- z-( z(GB)S00R|85MAf6hU$w2#1KV9L{%s5BFgZw^NEMt8 zdIf9OI2ftQViI$Fbz|PW_rET|r|&Ua>!=iWvTh!kF}=s1qli-a5R_f)0x`&qrbh(hi_I zwxr5G-SV!0lGU)tBh8bz4e#iZ8EXK(H1XO76rZ(<3%n`~?%XlpL|;9t-SQIB&G|dE ziqp%2CO|&PEr8@rz2$Y=z^X9mJ3viMs8Z`AmZUlJgU!rG#=J~ffLARhfig7u3>`K$ z_ZOh|wA9UW_SOM-Rfx-r!2FK@{y(|M`%aIri@5$ylXx1!)gGZZ;|NE9;l_?DfzA!H zS%v8jgpG2<3#6A>iYJ(ef7G8Js%}F;OgpZY1Se96zBWOdH9#3$MUTWpk z$EDY}w?g9&c-v_tD+9>zFwZ7_A6Lo)ypsqxmJ64wn=HfO+=fX#U6?2!L`b!G;7t^% zp4QUCWhK&ek61e&+xMChwf?+~%1K&mi$uAIjbFoWTjU~}!;(b{!+qZdVvXIV06lv> zYbq4Oh8GTn$mItL46dJssg1{DugK*B^3wZ z>6qd=KNDM#4j$4Froo63LEWh{#}n-sgHaU^tf;|v=rik}`JPg?#Y7=NtO1BB3}PjX z9l!Bv5%YEyDs`B_2BASGvqx${sO<>bId|~LJm&#;NiE0E9G!v4kOB0DGJ%55H7r(n z4h}THyD(SuMOX{GlzVn^{@coyBXdVb zAlK>M*}vK1N`BuwK!?$Qis(mL4hs6|5~eLjG_=hij@v0uSH{AH^gu%7JdA&FVP^H} zcK{uiKWEKtF7@2wL$xns+p_8ftNfOoFlR3?dtSX$l>=X4&%fo0KIY5BNZL-Se*l*C zFO)N{Z@Mf*AQB64!e4CewHd=T(qcQZbN8V}1eB0}S_2k1@&|_a&AbI}CK4SN@%;z+ zDvdc+9>*&$8QAzM-fS)b&{WxRzKK9q7#PSswyW&s=|O#ks1-n|6DAY%upj;X`B#^u zRVv%4)N&^l`Lw$zs6-HfH|d)A8&hA!os+enPIUY)AL{Fs*6gQ^6C$drrq}&rHrc*J z*QS(}f59!(s)w$o7Z#tb+5G%R?t4a8ty47eMoza7&Fe9BY6gGMj=$Y}m_{`>mKKQ$~sk_6S>eUuwV zgn4%}SD3cFnO*vvY3=`#_h0?G;~9njm;bvpNR1TlqsjhWheB>JYCb)Dpwa|JY+>eG z0LdCJ`)EiPxgJz?_4Go@*a18!+qeDwTiOs70yhSi{w#Z97`G)srMmY09ezr(A``^1 zyNkm5Q@ROv3E&O*vSDjhBHWDuWj>F}!uffdVs*4<}Epr!gIf zh|}L3ULwY+(V%i8S@^El7;#$6e65YN3rAC$L_+%m?JRo*f(r{1b$Fbk{0F~w97e)~ zXKq{uXJ>}xfj4ryr$rDq?>yS_@n1Ev)Sk89IN3F~k0%)0-QYP%Fdjy}@<2&spWFPg zd-J`=A;k1Ha?fsk5I)Viol!_~zR*xHJmqn-&-@oI`&*k-5XatH;Wu|BVPv1qoQ!+V z9tHGO~@gOt#dSK`yI{z{x|G@g$UFtyvr%4M2T3$Fs9` z;iCv6@Y>5wy@=}X zU8XHwfeK~T*6mje(dgO731~*a4Vhz!L9L4vAYlO60fYo$*jo!@Zu}S0$bBeveD}`<{>bGzUp)QT>y%4xtPoh7F*? z4oG1mEX**1r$^X4Fu`C~Xgb`&DoR5fDl#3RDz1%B-;qBP^Nn$@$=$hfdZTZ8>pw-l zx1qarM#Y{x7Bz?~%eYXs38=6_!GPJ~Ol1ACS-=oHi9!PZGuLEsNYRjlh1S@Sk&Rmk ze%lNlzQF{)?%6+v7!i|%tw7Zu3%9zG`zkJ6$@1(WU3B5_e-+r={hzCPXz z#RP)}t;?|(JTEF|!vXz0RA6Bpe6QuF-iPLb5Jwv+=z91oS&1?$al{nOF4S}rd#E@c>$%rMz5@cypw(lx|X zRF#fcX;xLt|RH z{@hvrHF-{Jz1)ZOGV9xC=;7?-`=At9g3ZobIJ@3TcF^x{wccmsZ<|*}YreZ;g6pX? zG%Gh#0L4*u^3rgF4bC^Dwb4CPIJo>Jxej}aUC>vHMfjO;03nM#D|_P2hCdzzJo8c* z;9TOW6S~FTrH$Wq)vv(#9D>!O50F7qxuxXkEsIQP8D15O(h!+g@+X}jlPUEhrG>X( z?c9O41*Y4iPg2-LurI;JE0f`p0V0rd`Guwdj zwg!DDTHOzKxqSpUPzauwI+P@>$4jStXoWR&?Qj{VMRmq zg^V@uvAkv({27}D7T-eVZ~zd~L4Z(c(&I~A@EPxX8JT@z*o<@KMzGoGEHQH=R)~&3 zi!uf?S=1J@W=1(i6jLEYIG51_=y4uW3WRWS9VAUcvdx(xnGbex_sB>ymq`m5*k@r$ z4x^{nI&CrHTu^N=fJ-iA?FMhq!mQ0w>x+{tedf!H(knQDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJUhXBU!d1;ZpL&e&e;B!W+ifc= z6m+!VEccP0<(@}n@%3H4uO59da90NUYWE^QV5<`gl~uplM}vPOmg3szs7}BQB0WJ1 zJVD@DeqCSJ<0otXACcI3=<+?jH&qp8 z9vC@povh3mvu4dnvu4dnvu5N%`C7iOzoynl!ARN3I;%Oly|nkrcv}B>+XCi|yS_%6 zllVbrp;zkg7mfX&y~6$dAgTW-6FC6_DgtC?3yPih{Cvr5H)2b9U{unIo=dfS7j(^=Hf-6mX37Z@ zC!v*%5I;y70i+s$>Or7Xp%kD%p;CoPs+?s?;QcUnS6B`E4g@esHN)#;9ps)vp4sH+ zvC~27X!5w;0y2bAEci%HG75RR7r7gok&csHf@Szb&}&y@%?T3nOK$F~wv@a0^*<|? z*4F(*p9+TucXWdC@eCU!U66MqAB+xr0&JU%V}5`EzD3aKkb~D}@g?OJT);lBv272B zk30#*#X(2>q0I2p*IS3Gegq&#Q;^5cPp0Q;#A&3-KDK1dwa((ZMd=Sc*IOmXbiyEg z!a80aAK77J0~)@pqIC_AJ9QAn2rq?#)!Y|_;}WjQDz1jXt*0kpr?0Xv$ho#5^+77Y zA9$11jo``|q&3U>zAtTojs~gINgsHN8Tf!d7~gEKbIrol0!b^=jHvhY`u)hnyFPuj zf1}>bTY#axBe)~JS$lpy`*W$5xW)t~ zIXT2VF8XiUB`xXIxQGV6+|5J@_q!P=AezuQ!sNkLerQ0qQU9LYtW=td!8H9`H1BOK1N2Z9s6a*^+!g^9#77vTk{p^zS7>7p&l#I(g zOAHD&g-Za3S4AD9JG%Yt&$gJC5@+$0OGX|%<;{!Six#yH1KfPg(GEV@LojA&VqZ#& zBJR)Y_HZnZwulPtU)xZsn0`O*FuXW@A37l#BH#$3c@DALCvfw*3l;jBdagwTVxla- z^}zZErkYcEx!QKb$J?gY^1{2oiMrtP7B9MXeP!mFu&MJip} z>U4*t>!D*gN{xaZG`u=nqvB#HIo1JNSk~kZdM=lKVsg01DDwmw~XGfRco1n^SQ zMgL@8+T-jM)riZltLKmD=%guIw)FPju?^LJvh;tu@y96}BBkpav< z`MU;6F-80B-UtaX9{MOFDWi!WLLjWbI^2Rz95`^eXwQ*U~M>#xQ8OTJUt<- z2qS*rO#j~O+wgg#VA^a^(Q^iupEGlN0)q$T7Z@-MdB=jl+ga0ZGci&>3qw#{T5NBe z`TtTJFr4Y;^d1zcPogJ6OhRQ2mUz{?#Pm@SQGh65s^wdo8vx81X#sI`;+JNvBbK(a z0!P)6ZQHX3c@G11{W7a=@j!7oPA5sR%kzkxWEyXxD7sU}9>P82NHE8)1D(b~P+!;5 zF&*f~E7)j^EE#hecQh2)jMY@}yN+o@u>iy(LPgQLrLn^E}E+TEtMQY`_`+4Da}i@2~d$xBAG--gU_E#BEYOwtj%| zTbSWE`d)I((hTP!_a=JK_o6Uy<+Deyo;aSye{uirs7hc?i6W_$n1j85;$MFWr zD7#QZ9k|YG(*`kt<0iz96%%|At`S2v2x#e-hI%27na%!KRnY=4v`+x;ayIk4+2Oha z;W;*DO}b&5Hc8lfT$V96N36<21@M^5Xg zqp6g}-nG=F|2O3$&@ z0_MduMB|O)-(YF6Yg^u)4O&%N#hIpV4aHEp;muBS=U0*He)H${VLVcOqroAXZ?d~) z+xzwp68(f6sB4E2%=Byy=I_ZDjTjTG*IlNj4!>Ej$_^y-+~brUggo|$b+}wj@wh!W!Pv;IGh8@xnbFOZ9#c&Iuw9B&7T&W25{)y+Idc zxGaFD_}A5W6rFj2kTDm#v=;YpMguD~165n@wS)O0oQC_+0UZ>)v|tlrVoZovFtwnI zJ-^8hU8fMfnnu!Z(j1!ZY+||dxs^EshnXAixXI7qaA$bkuBxXZS^3?FA0o@F6oG>e zZ+eAR5V3)SM>E#IxUme13ZN;aAVdgIlte&?NN1%1Ge7CXY*%_^Nq#WT;H9(M?R#6A z*fo&CRB0+z0?AS!iy8!~r8*c_6hL`~WDGDU`55#6#gfFR^?S-{={AO3=79EL@hG(| zWpHge3oct-#rFFb9FC8;1a88dCeoc;`p^y2F}i9T(KXQl=a#;5A-#qy>RO?ugu*iZ z?QVL-xqfq%_`GN;!D5YoE!ZvyjhL9u0^f#+HPw_iii!XRFNAM|#u7DFmZpxkI(DLb z`vDuMz;-kqk1!s{WQ~pX*O1-u`Q2e}GG-pKSlrQ61+YA^07*dKp$LJ^0_-Aa-{Q4w zlcbp!#qH+RHr6a`S;a=T0EqyGTUR79szl;2-nfKG5I3efNUWnw#?v&DwC~Sud1#=4 zP827CQFIF<1Y-e;Fp?l(4NJ#;Yv(WEy##939F(8cO9_eSub%MOLHO{g3)qxL1F~U3B3~P>x9JuO6Nj`Pif( z_27EBnpX5+kjnc1p0_e;tKp}823VD5ne>%|Emv`Un%ZJ1&Y>k3^8{Rhx&Zf9Q$ zh48xX;n-oy&f~CV1qGKoyXMA_T*K0ct}Afq#Ath4%>g2Iq>=X~{#7S!!C$2H+Kd!% z!<2Gh-(T+asuLwd9un$V(otga?--w#d!W8=jiTfGoxGV_5)=IG6nEZ%2+@fbbtt3f ztLvAh?1s&o4$9OpYGJ2{ip`ZUU9doXd^(x*iAa{uWQ3I8jiscLmEGK@$aK zJzC97C{G1otaE1?0yP5#0)iY|i_08>z?NT$cq*h{k$LOX6=0V97j6e21M2`dU=Mit zrs6xfwRLe)GaSt!LLFpr4qZ|##)iQVA_PQ=x132IZ?B8pZ*R1pdi+PHd@$|-{DxS- zL&X&)4(0?8PmSyP=c&&qxO<5yoq-iFg#p3oVj+kk1yMzcu|-iu6j5TVQB+YyiYmoX zVv3@R6-A0K?D>+tZ-Q)w$ZUqlW+4o+auBrnBpD?#f-+8*IA;vuoHORmZNmo^WHM!X z8lu;x)FrM}%QmK{p|yn1Gy*bA`Hb~NRTNbURZ&$!l~h$wrBxMT5W~#PJumad@X~TT zQb;pIBP6iQCb1w9hJ4gj4OLLpRa_)K!6Y;4hOeh|W~Pv8A#}+#wDpRrDyX(eseMfM znUKYnOz2%R<(z7Ysx6XVEY{A3W@6yOJ9cHCIaNhf8D3vKX3tYIF=f!s-I-_3RZ&$% zjFU5;9QK)+i)Isw$|qNuMU$fLdmDllnP7gM6KWEEL z@+{0a2TZwbGSn()rIo>`m4OKc6D+IGtKSue1Qs~d#$yob=1`GI_WhrY#%J{(>LLK7 zQYoPq_y_ken&h(FT(~hZ-LK+QaR&HTk%@Cyd;$S@MR?)?8m{-F6Qx8+oSrO>$qi^{ z*$o*9|G!qt4KJ?{u3gK7EvM)F2xb^WkK^(FK5P$9i~CvmyT8jNHOd+P)m^=ug4yrT zh6xFU>mcbz-G)k1B}9bvM6lL~j#lU~o>U8R6(J$b2s11{*k)H0L`{6u!`DLd_V|b5 zY%^AeKs2|=&Ro~QvAX9S3Zn95H;e8}?nFW3wC|(p^pcOkj0AHAH?iG7gpELbTcG*P ziI2hM171ElDly$$k+Jk$QT{+6i(7)ysqWkRjL7n+OJ` zl3Ep%)2(SyeC`{s3zPiqA0ylCb9T~0|CaHqRq+Cr4%GxovOv1%!APYg>j^pRQv26; z1Xb~I{XXKpgT?SKFUe!E=WqhWqnKc8d~Mwxmp>mxi>nsFm6W@B*kLrmce|~`dUT-zu!+SjvzS&!4 zCjk~HWOx~rWRMCrZpq8LtgU`oJmXq-bM|X&Fo(DbmV{r+&~8sKAzUd;L0qnQc@#fu zX$u%Z1jIfhrlm7N=fE>p())HYnV3N-fjT%a$n;a+r}?-bLlK5x;@Rx=HxanN$kG$pH+t14nfOw1->nV9;mCF6Jyh8==9y|K@jT#=$kuPh(! zqlsMtSPeDC8J$P!v7eHH(pT%DW}LyYIXLF>^O?@`UWb<3sKCX1A2-t$ZK)A!TJ3(Q z+`6oG7?-Y8K@JGpxWv%>m`irgz{q4ks3OwZB{zNxH`2pR&z%G2pv>vybgrW*Ym8r2 zs`VRLylLxZf2b}?j8Y654!m*~XfT0>5HQidTr-EQ-Z~48Puk385out;|1|qFNqPir zwy5raZdVI0P2odJzuxWk;4I}?NB~Yv1VO5WB8pUmF1mn3D1~niS|@yrr+VmWlX9KNqR*wD{p+yu|GzFWSJx4btxc;6-r zM!x5Pt{cHf1P@q1)XI7gPWS`cbfP2(OMw!%;lB(g$conjgwGO+&#~-&a1`@yJh8Zp zNV&a}w7U_fSM?RUnFi+HnW5@7$?Y#QAToLV?ghy3BW5zht{*=I{u|+yuhY^PM#u#K z{0s#aM^>Xb08{~cg97U#R@`@jGuEJH5vv=j%`*rFW)sddt!HmXK3stE;{OFnr9ch6>=sRNHeONIl3YEmf3B0Q6$*n@#r53F4Sc;=cRC`@HTI>yJq8 zhsAHB#GN6p(Q)!P{u-)*=GFcNpx*|Xl+u*Ul;N4N@U_!GvRb_@&F$}aYH0`i1$Ki{ z$Jj5rjcjETCSYa^f%`;~U%=IXv(s;k^Bvj4NqyBo3I6Ap4j+eKaytab& zMMv2%yp%EKw7Ckqb;_DbTtOSQaEt|V2M;bsVdl$;ZH8JFJ`%M^cuEEjCF)Fb!|BM~ z?AlD2EWdl-7*2n8M%t4$Xr%XjUH(f3b(;JbYV;$C4*BAhDG?kLPYiLloKk-S+NC;p zMg6~HwfbX`DUlN#1fb_95T=Y2LVGlrrIea^*wpC{ILiT3YktRn zh&P#{Z8mRd%oZ`u^-40+Yt?!5&PFsSyCM+k~3NW(H>ZSU|?~uOFU{G z0S6>-%`b(h65mcl`T*Vv7C!@Oo)!i?asTNIISepJVAlBkUXzPsrMeDb0mdP@Z!s&# z>DmFhPewzFV}6y!$OWzs-8*i$W+~qYzk)UGG?DEo0M>EivUI9|9WF0*_Oclm*oa4y z`6d{?NJ147?$HJ(!t*ARDIA5rW{;RjEsNjICo{Kzm^r0OOcpJVL(mFc%@ z*tk=MHLiP{=R0>^IS~>-3wS#uE%g~$o7C2Pwg*GWPm7f|_W$pX!+pQA`jKqoQhY?h zMe=4d0VE&?#@mk+b9cTc9C7FtLSPM5E)t!PzwpzKn2+U=(DEmpIe!u#LS zx33Rm;!!U5RW!UHVSWLFWS|cKRIqqORSb$lK!x-2r<%{XSa+fkBo*-gcr_NRL6;%8 zD1NvCiXi7jKvaf+g1^QUJCe9pt_A3+{>r67QY0#E%B9eWi3oaw)s>3KX#^oR9|vIC zkcO_(l~q+$RaI3*RaI40RaIBq9XNzqkRr9M#x9V;dzW!(sd6s5Bv&Y#T-bCv_{*y% z_!qJuFjy}cJz|_1jSgoROgi{fwbHuvqz&714k|Jf1;AUeH`;V`zjmiV>205V)%2Yu zjX>!qn5s(>A_7{a2!jx+>9cS*C%@c6{cVI zjE+3<)85-?-j%5A?i~>1jQ&u~xrNGx?*orrdbHk}*f8(=D{?t}wJ_b%bwLnOMUv9OMTpfmzdf`MT^z-8jvEfL6cJ#vkq^X?(107m9sspKo`;&*x~H=M9BI}6EQ)I8y`e>K zi2WXmU!TP6>=pL>T=8?3VT8IsgX1J(h*HEN(s|0lXf@gZrF1!6xu3f;8`*B#@u%?a zm1xxcNW(V_ZHWJ|E} zjWkh6;^y?#yKp!9!%MW75A;13Lia_{Gdb@@J??v)=R4#?NryEn!UZ%F^4PK8c-ueT z+VD`_@zDL`H9#WV2x1>GA$g-pY`JMAxM zNV9JT1HUtnhgxc#2Uu0!g4HfMh+R6&YL@oB%UZB;aBy*48nzaFt*v~mSY%^HMZ*kl zi-qlS)oTsR3|nMYEi~1#Ep%#|m zLJ#o3p<$B^8WB9dsH*UC^Rt|mj$Cj!LMTcG9Q+PwnPu*_wAL_mT$`?Z1EG@7#NvjM zxCoVKF-0aIW`<-5^2Tfd3NVB&X`&K91m;nSGJ#A&jti!)$7&c;GW5UUjoth)1oD7N zWvizc-ywJ`J4+Y$JtRqA!WWTZI?mS@#&J~X(7t00Cqo2PfnXVgpd_Yp>k6RZmSxyu zd`u*_k^I>_&bEvSy0|xTibTE8EZm)kbV!xYzuV(!Gf$7{ zNWvha_%35zG?LApCn52A5LC?O)0M6&4F)~dPaCcZec*J4@K7+}fUM)=Hc3`?+$vzAPuO2MNtTGV>EHgf-*6W6yYQiM!I9?i0zv9F?bYU zib9!GJG05+!+U9a)8RS*-N!5t%@2tzEM}q=%e}vYNpn*V=Q`#?42DdEh>;kPj6pr; ziS1=gzB);a9#v}Kp0908bVM$) z#Tnwb>R`+6A&SXD!J5ml1)FD%dz;_4`x=rpnL=v*8aik5{_=Rf9o>(w4%gnr^q`sO zIc7mnbv_5w2;DDbyPikch|ddA7>8Sv3I*A%EMV!rCm0~weTZ3R9zYnvZrZmv{9v}E z>*YlhjAl3E^?ybL-%5tp&s6)haQHnXk{B|CFhwV+@gOVZEqO?4%N5o{thXt%&1p!``V9MZz3>ora7O zSWpU~kR4A!*;HNKI~~l9jVx850@|INu{i1-3OUqt#tVs06v5BKx{kKdbD|Fw(g?CB zho#4!;!EmB+!1QI(&OcOyE|jk$szF_*Znyd)b^H+@cQ=l0hQ!!k+ucAMWkRT{A6Y} z&{w0FoMe`p+1Gkn?o17j%i>#-eQ(3)_(AwR*7v#UK62XFP}=qdETR-ySt)kn(Q+?~ z#4f$jOhzdX0Gk|X6|jSWnX81bE^ipzHRM|W{43J?ZMDT}jv+4(+hed8S8gS!aggm|dp1HT&-RK2X1rU5+Ywmy7jimaE zb|vC?2_(BBK8D~_{J1IF=<_~zQQ6c>DcU>%A#yz5KtO-DLY!fG{&d z+EIvEmnQ*^^WoOAdMp~j^i*}AyGfJLm9;s(ee`M3Uky3fCPw_o*v$!4-UN5VU81DW zXLNKWB3czQR}M(~Fd{-PB77V?|3#5^yb$ZeO5(Gi9A!(gMC{DGDM<*Lkbx4h;}wIl z10ozzxUBGCkU|!m$X9W(j`xP{G0{n${7!)I{49k{uoLWSt(4%rKNwn6RQf@_RAZoAqvK#3@jhC@gP zk#<{{qk~-)QCv`QPseKE32T@e9r5eu!WKl7wL9FCahGv5i{k=CKe({~ACINVYv{2L!l`L}Btmc5VdFh*6m_y{pKo=?k*ns~lJtBm|5? zX0RUsQ=OO?co2=V0D@6pURKyw*R#-8FLW;`YpaGSF3=oe8dhdzRaI40RaI40RaI40 zRaI40RaI46sCinD;MkWamW(kBLlDO!vd&;t1V*r4>y+s6F$Ehu(pa=w5Tubwx+*12 z%0gsuz@^=Cv6w2oe$g@$7XgFsokz^@U#7vuj@r5xH{* zk8@o2wTkCC?pM9+bH=gHa#|L%UW6KlIbU9C~qqKS-o;5l@oIkLXZkn zP$dKy1q#5F5I`vf77(C<0YelCn9zYdkq<8lhkMYT>c0ff+|xr;(?wBK)m0T#)l*ef zRaGdJM6_DCdTG2&4h_p&13n62rOQ7c*yY!!Hj_y_&*G6?>{1amZAw^B8b-}3ii{nq z66IlVhMh!Lw*;0 z^OVPx*8dN!tE&#K6{B}WbcHsh`bjP(cxv=gp*Ikfl!V;jb+<15nV~hF*5?mJ4=3PX z+auf&`fbh+k4SgYI;xL?msD%6Ir7V(ngLfZ!MG%`)S zLmvH0;EtO&VhJy;)VLBFd1gdPV=>XwyfuzjI!68PwIoR45iEpL5dGC6O{2LMr%bcS z6s2PyvEdrzGB|e@9OxbehfHMmR%w)AW;`wiO4B_wMsS_Ih(k$_2_3}i9kv9$277H# zF3A%xjv?#2eh#n^j-mrHK8ovDK%peN!u;SwKZc4^1NdgUE#h#C?8nJwJ5snXtF2gQ`q}a1VIrkSZ#|*k>cnqP$an14Ty$jO#8g8mz(NDoo%|clJ>~~ z2SouGH55rRgGB-kwvK~zI>z~3+8@I5IrhXlUR;o^xu1JVXb5rCL{CKp5dAn-u4rYS zQal5Yfe{J>0R&EKch28Hk5z?NQkziVtzqs&kQ&K4 zX8zYUe!Fpch>#~>q?DBL*KW?kc9e}VpP>BQjZK?T@J5ezesaI&*IMmV(_PA{86q0= zFpvUy{g-oZZ+|0hr*ls=%7RDgf#h2^sl1ABbf^BgGzR5en8In7Rmh7^-XThDV+H*f z+{%jedq)jfEE)`JMlzto@T(Lu9jwXnewrM2)tEPs`d!10*x<|B_uZ&x6X@a+1qrl7|8<4)3_D! z3^W8{Ac%XlLOJF-6P{v%s0flzgX3$vUXz;rgZr?De0iNpA;_Q8Y;pid(h-v2u0bA; zSGzxP4~Q*~&&V?9F{d1QqetBpk$cH`OJ82qy-QiCC!=cbu206CLF|%g^Ad#g6Hk$g z)qg%IZ+&?qhorXINFaP{|E6FuKYDGhJb@L}YyjWy&0w~E?l6Q5&>(H|`z=$Mi+!2j2DvVIgz&CJ2x~39mW192mbrbltKXq z{cC#!d4q-wLOu8l5CANE$j-Dd5&imw-ZO+y^d9EQtmXjMp%#oKC1adN#QpMl z>ijo$i5z6O_?^*#7Z68gBPIr8+JYQSIQQD>z6&INUYDfj42_|dqo$Xj$^roSsV!Rj zJw0!otefWP>6B%}~{|F^qRu8BUXJYGk&&-(`jU;%JWTms)(^BPQAYE-~lw z!Kue)A@)652Hh^!g^s_B%s_7g49}ThtYd!`0jy z>`UZ8X!KF8!EVt9C+O+kUWf&V0rg=QvjMNuuH<^MHus?tVj=+6f`A;;Kv@ES6a@f1 zPs8o<2`7lG-yU;F(bl4#C3?)Gcix<7&gI$ia=L4 zq@}m~yPUg_hui_)*g0Nmz2~FfQsY$?wU0k zD~01tX2=hYT0N$c>qpK>>3i@;=;s{Z1XIsvFkA(uSil}@$CW9ZIIx}>awYBf`IK1TMJh@p*JcMtZ&8!Xh=`D9 zYkYD2e}^%$As$5vDEBFf9<5x^)o9}cL?88M{ih z@U|8&Hff%nCGA*qxBYkwAN$(>N}e}Bfbnl{=R&8aI0AQ_>3#aOUV`)mJ!}K^R@eLdx7}+ zrm2c(3%u=0!NiK-@(T2=${FhbZGr$~N<{ONl=3V+?uRp3xXx#f+HDFA79HZTMMh2s zAv~W-AJ4>ui2CJR4%o-$%n!UjRM2MYyAMW$hH%Y_M(ChTpstH@jd6Ijy^2htU z9{R0(2y?2dQ~sd*gF`5jWA87~P(X5sut9o@(756*DlFVS^9w#Zrwem-mz+vljV52? ztd#k7@D;_3+8A8GXO>nN*aGwa%lg%CuK~$9VA_^N0&5_$*Jo>wXE-m}NNwma5RK_r$C$ zsb94%Fme$=q{J?h`K(-!4uCF~pNv;lR)`Nk`9r!ZaqI0EkUvOuBf|gA&GYvlf6d$5 z6)9SV0Ez%k8#asH&QZ8C6;zrxIbAa?h%Jy_n{GLH!e$#4#rXC+9JpbZf;a%F`N1KV z+M7Ot0VQEaY`t#tBW3Dt;V;J!D@DxE+Ah&jeuluvruZ%?=st@#%x|sB;4bl3s#$Y< zz5cWt%&x}Aj~Ys(-#?0X&v7EaR(Lsy^Y4?XnL^~xEp^q zG}l)`u7DYa88E`V5l?J;;uur;u8xCz3NgC!9CjwEnry`PQHP~-^vKdUC$cE(UZ{zB zd&uG>FUBw!--?YtjF8DCHydJuO&OCZfZOqyDr2)U^labgf}y>;!mn$(LC2tngTqyBNPNVfTDxEK`qADfDN z{3jxsX6sKr+h?dbAEp_}NPXQ#h|hOoS|=tn3dU#(*RfnV-&vESP2@(0=vzv#Gflot zBDNJBo~vEJk49;i$}w%ngd)1e0~Vnf&BQ8dL#eK@{0&z?jFK$A3qj}5z#`}NwCKGY zvAKX8EQquFs*kfx>eiL6!YL}+pECa4z%4YFWAlkQQwf#K^;I)81t&w%6&G_S zq*Q9k=~XjmA0HndA1TQBTpP9sSc!wqgaS~vYpE^ zHdZy_8C7FZ0cH}jMMlFhT=4Ml@$e*P*V)e#w%Ws7e7cEy18iC3DQg>Xm(UE5+~Zll zEB8_{#`q3>3`8Pa|4pt#FwDL|mmhdXAw&I^)8>OfK_PE_^8!Z={t=Q!_FTlqe%`iU z_QmMvWmZHmFfcey$bKIS4H`!K=u;)D5`;!V#^=r0{`}M1x7Zak)o|Qq=2)mMG*hOkusf~O2(=pyebp+i2ATt_D;*V% z41Kk$x%Xgb^sSpKW<+LxW?Rb}=j~%8IyKLzd)9Bf96~2T0>X5C?nL<^<9mLy-yx9J z9OMXxqEE_)ln{xRg>FT2KpG3Ef1$o)4d^3eCgf?U*>;jDf`|pE<@33^_nb+6c(zx+ zER!5$ChStz+41KJ7GW(Pf>w#G6J)?>4_O04 zm(|175Qk)mfR{kPbmIgAA#Yh1XuPwE@0xd3({6+~bE}?>1CckBsYR^!tkc-)q3)%E ztTVg@@fLV-CUoW70GJ3h6M@x1G*N_qrqMeg_SeJ~B*iF6YGfK8HF;8fiBQvS_}}=R zfr|P?1yspgLP@>!b^}c22{M{08MhiQo~puTnV`s&WMpGu=oU~J47nEkt`#Y&c9#!z zuN;{+vKwh{Vy|W_X4+>em{{ICq zQvo_e!xIrYPO2qBa8gOgZ_|G(^F5Qy^Zz%hxz6qSY1>PIDcb3|mMOq1pwumT$X!F1 z1Oc3cDl&=`63~RGSiMMEiHw#em2u%AC`)OMlS{O#X)dOeCTT57-QrRu(n%>x)VoQg zfNLdWte1&alpcUALK`F^LjCPelRb5s$0x!G%2=quKhI??>1_75trqA1kU@dkyjrM+ zru3yD-dPo?K_Y|?*#`|T?dXwW5d>%j*ts0(eRA^J`gtW)ug8Jmqte&}e4cl|5gK9m zwus5>D)*TqotL&Q_x>-o>cT#1^OXOO-AmO=m_3+q1e?Xrgg>9HW=+b&<6yQ!O4*y9jjvZ>AAcy3^<@4^m-jXPZtup6&XX%o z%)M}fktoViG-Dq%`X1(wu9EggX|DdBW&hBvSG=oP;mZh_5aS!ZA(SSrMl%9Qw_hOd zVXwnQjwKmz=mb<~yQ5g!pbo_+Cy^bHXSUB}>MwAzJ^>D7BA~SbyOVc^F~799h+S+LbiO&$d&}z-L)rK43%k<9)j{Y9+2wtA~ZtN zVuAZYG=%{;a6q~3E!>T1Sjn(|14`;H+yZq|J^#j+K5wmtz8i*jRxZ^SNIc63=KmLX z_x3ALVl>#vVGbWD;okC4X?yE>@CWjDRaJ zLAb8U%GKmh`x7*N3?v&Gt1{uz`W@=A%o4#`Myzb>fEI-y2WY%9i5qHHsYTCh zXluDy*zR3|J^Ue63rNfA?tKMNOJ`Qns;#=ER#LN?_m0D*xJE{%i`agB_ikRxlAtuL zd>=`k+%@jwCf=DNq{zkd24%r4VhCceM(_tF#@3w~^i!&|jYwV%jmW{ajvt2@QY`-2 z5u>W0n7oS4qgl!ATR#Up``C_c68tUks&Sv~xhLM$ed;$n^m0}|NvuebQjJnXP6pFd z%+95zmFE2jf<$;$RqlcM9U8eJy8d# zP$DAF4-t~y_IUGjW}q~ZWo`pC0+xF|mRvei>ZfJ1aC~F&W_ylRk^b(+dIu5be#h*& zu@d>-Tt-dpolxV_0PMCP95H`g2*BBwkh{DOz|{X|yKm#=d1{pM>txw=bye1U#z=_} z{DH$1^-)Vqrbdog#hJn+t1uCDxH4CJ#Hy{`7@N1x&meg}OUswP`xG;OzrKnMKEJe?97po(E`sK#-G~wEYBVqe(7Q{_s zL+7DQzd#6Abc~T7KsuzqOMYAH|q88 zdtSCR;Ld`f+DOizjH6b%FQYZ(kI%=iBfmi)go=P?wRmqQ4w0O(Q+&ijX|`O=Dq0|N zkXbM!*VH6q2^y__OCSD>UBK*zKk3N~-pytg-B!yC1+Edcv{o}<+Yp;h->~XOv`4x% z$XuQxc&nk_OXm%;4=U;p5H&_`}rBNi1lR2mf2?A{(9{WCP9 zQQwBZpSfG%(M;5a!~^ldz(UvD**y2^t-XIMyMK|xo8)B3#y(COGi1=FHJ7*EKEC%X zOg2?n4}mTe%vr6&wZGTvz3unj_O z-O?D3j7EJ77Orx(w!-ykt{$Dh-ac-FddCPct(9jShbb6+#m2`8Rw0i-5a!9=?fDS( z(n$yQKtwe!^7isWrcd#0bNcYnrVJY618ZlL@cAD?&^lHYAJTPLz~6|i2dil}S$ZqJ z`bHgasGx{}K~D*Ib)PTXe(fGc85q2e77Ii}PJO;C;Z9tv{ZxAo@I2{B1C@bTy^ZtQ<8- zSTKeFloA*iNDamQwmD8~X|w!!J7Vn(Al+$tiqo^qBL?wi(}#--4Xj|n@9A)}w?0mW zC*!?l8A1SDCnRNtV}?DzUgWkCX@(cE)?ixc?rq%KvG4=%n3LCXH(o^DV2XDHF+i!ueO zDA7hEdzQ7S1;}RSaF+&F_GgPanoM^1e(u^>)lX*8TtiUs;@>*#k{>KTei7 z23a^9g0judG3~{;RS|!>2e&K{8|m)G=chhw&SHWNyLetm9f*b_x(LWdjnKP^Tn@G{ zx-Ig*OzmdC!fV>-gQMxbfc9cuxm%s=P1o-LdtJv9(c|ttcye9>P$EKvsW;H3a>#Nd z(jW*=P9Pu7AR6LWLc$h5M(K3600w>$~3UQNJG8{D|msrZEUaLFkyQa{Zun+ zWQG`Fxw|XU z8JUF4$Y!LWQH)k24s);W`?=%@9S?&Olns7{q4$$^u{fN*dw;5P&;6A+yWSG-Ix9X{ z(VxYr;%?mKiJEq|oyi#xM(7ZPAR(6M38ZO3)+bOURPa+`mzP>V>ElhWK2yx=w_lfw zkG{3vPM*|ymKPqn;bQ;a&wgje$xvFGENJ3r!PUBim*6o2D|GR?uUjU*V*_utKl8@f zVHhD)8@PSf&feO-23aJGmW}+SXRQU@&))sNxTqhYn~-WO{9I4>^w10+JfHc0H?RvQ z_-FNgEG5pP{=P-3*DqAjfgq@?)Ovzzm5(g@F*|gg)trxI&{Cp&rAkoIJ~JhO4m z*Q+0&?LS9y-1sT?$ zlBnj=-g`lYVrFT8ucD#%=94a_8woqGqU*YK`vY;~T!9<(Ot?1a$)nLie`W_eot{0P zaejy*zNntmUX3*>)OkpZfl=?yi(a{`k#jzvDy8b>MUayDF@>nGHWy@)R8v%gMi~vaj4>+d}=x7o3mqW<6 zPYL0hP6ZWIXqkA8xPF9?Zomz(6L=fuUH8|}6M+SJK-?h%_N(;pNXN%#NdCc!;b4i$ zF^pnEQW^~#N`N(RJ8Nw7NACcov}!l^YN>l2hxOjsf%gUg_wwBy8*2TlEO*D-=B}&} zdXE7X!WaFE(naOP-Hg;-xI^NMh!FA`%c@1f84{mI&ks2d%!}F^&*g6~=j|&}_FLh52bzI6gH1)yadiW?Q;O1nNG2EOMuq3OtDs ziepgzvyUT%q0v?UvDukVhH2~q&7s2vhcoU!ME9X+DBuALk)vb8r0^`fU*FWgVJdA8 zLVIND=WOKb9^O9{mLc}O&rvidllb;1M-u0VUIbGVPiILsMAF^;or(S+8!Z-__D{ZElZfUnmWXI=VjJXZbm=y6b|TFIgcYa0>cbG-Kf z?`suLX-9z#n&JtR5h>qaTr?Cmn1XaJKVLNeO?!J5<0YQv~*iVr8mSnEx)zz4JGPzs&-&0rU zT}8yS+4T333P=LBOSc()_P3q}SWy(U>MNwXX4Y>=QkfN)? zKd>W8oeux)qpJCAJ6Mg&`fye+pS`tQ?H@^eb!Y97_V(wALG5_$C(60?9PUNs&&vK) z4_olAI!e3;s;wILoJRE&6_5m|;ySfLz~C_z@m;s9(Zx$Bh>)|L&d?D=7Q@d%(F1aT zx$FT9R$T$Dsi6?+?$qXIMZe*~EqC>EJaGJ4->E~Nx|KJbmaA#AKXhCRQ`aorUC;5O zd&lF;2;p^-koLbVGY1Mjn((!xvf@LpokCVN)~H3TA)mQGs{+LMgXS1G=c$XE{=NrL zTC0z&>AMQmQ4mU@R8XoYR2%>?$mJZ@0Ea7=q10@(5cM7V`91x8u|rK{Ugw-coQ<0P zv921s%lWR(qBGCr$>W+mnDRyO=Kvbtt04nwG!O)kdDd_h_3%jSIGRsu<42FiyS!TR zUP}tHq;+_ZvSoE+aGOP?SccY|eYl1%3k#U5FVZ7Kt(hN+hsNmg1Cs)W1WKKC~b~CJ*t#^1Dw9 zfy$UN8ttq^RjfAz3Z4TRHP63YA>5!u0AsM`8HQuozSeBB=L~w zM*>Q$Oey1#$&kzq=tb5`r0zdAublT+b5uiE<{rIwiMIvq?Df6B*0+)FJ#lVefYI9@ z&HI;MHaK#Q??USf_|G0GSt}5ixd>(;5|SbI1DdvI>eA%)9xy$ zxp3#|!!gtPb_Fnm;_gAA`QBtYPX7RMuH9Oyt{M3} z&oP>5NHa=;NM;aNS~@5TLu7?jY$TMB8EIQEWR_uO8+Jla$f7kkZLk{Z!?VqfwG&H# z7spt&?oMMAH$Z~>NGbs$N%5xpD0Z2^8#(=;f?NC~xi24xvsCAjv)tO#OfwwNZQ*mFDu3~2lfg8J?^mK{b{qPC|hGH#@; z$n0{z5ChR|n`jB~a-v|&G9EL&WlPgCN}`;=?1yBB?yv*Tkb~2JYXp)E0kHx~k^%*w zU5=~FLOZ*=#KCiQ!0jM8i*Y!GgA{hezd&v$bQ5bF#XN?g883vEXH zD^Kn4B|DVFF^Z%>&>&bRbO!O3MN%+97e9XC%lsb~?>4K8>#@zo=xZf^d=0?Y0mve_ z#kNu+AW{U&HRM;nmMQg?c~Ks|4hS|@#A=!|0#?4t&GWn8!^-nqJ3_Q1KOvh6Py(e9 zF%aVChZ>^Pa1^uMCO%_yMvmM?TgLv~ow&tR$?M+8U!!ye<4uRfNWqBQ{38w4+l_s(m-p;< zopI*+%#CTa+d+pz;KRPgV(jm{J+vVLYKZmpXjf1kGYyaqr6c!BWo7qNZ!WVmFbj(j zFn7M_KWs}A3q&vPv%a-I)_wnFe1W{5VfblRB^Q@Nc4)G4qcZ%x##}kcNp49Ly31U^~&_NhFpAJO-wSqf@ZXKz#mGo@gc9WfiOGA8{HS63`jwgxerv2N5k4g z4mO!;?~_DEfx&I*GGX$B&y?g{zo6e1O{HKYO#!M@2`Z%iqF?hs>o!ie%)AE~ZzRb7 zrcBS{X(ki%7|g{hUI2RgFA-;Sfhgumd6%RfP|oQr-G+lYiUD@o#)(-yHgygf$5$H(1#J!0eH7>f!}FV&;M; z+FnmMW$%E(WVyCTVY+vJf&3eNYS)tYE6lT{fK+nlz?hd=Z7)q)=XSd>ULsPUXPhfY z+ZZ-U`d}&>Tubu?nT0ek^1$>m|C9d;4WIk4$G3)eiR@dusv~IYqvD8lY9tpmO{Zd2 z@rrxzP%(iy0@`#_ei>tSVU>DZ@;N+B%%M4Fh@NhK1_ z!B8rV-h9l34#=R=dLz(%%^ivUU)gv-54t(cKt$&Ec+LqXf!wwM?{TaBvS8{WpexUJ z;UwqR+Q>qGzJ9$I%g*wphh`r>F+^eGs`v)}_d8{ppGHcHs2Lhj_&BiVRu?${iGs{U zqQy3jGzV-g?gwvA?z$<&F$bTTkiIP5Z$Uq}GjUk%!_du*2CSDoI9@pI*T-4pw~6Il zu6Y^x(TM@Vv6yz*dJcokO8vJWh*Q3Fe6?n?JB@=F?JnXkC8 z3{u8{N2nq=&?}g{5xUvw?mGy{U_PNlQZ9RJ9{cW z2ymgfQXoblGds-@lBF>dLwBx1q6P`&*tk1_fCJSzz~d>Zw}tt;8+vUpGuWYhHZDIEi7! zCpOh`tcLNwSAYLYzL0s-*p6#B14On#emkB?mT{y|=9Vw^p0RWfL*;2JXzhQ&7E5}c z&Jp?^H2R>eb1R_ph*;6zH4&xf6;ax{*QNtY8+&(IS>;^W%(Q|vj;3YSN`BPKGckf; zx!Zwld<}8#$;wZ?$N8Ogp&5sLlkrTvd4@#tz%Arm6k?QDChv||=!(AQs0Y4uv(7gm zk|MCQL?L-0x@Wc+J3wk_<=mciWkrK=i|;;SwN?n~lE!1c?HaA;(JmV?|3cj{- zAjxh4z1HxZMmdmWMEFxtxQ2tmDg%`Yd7k@$+_GICUVL%26LxGm6?>)8E!9s?v{kEY z-bYw#l7LKX_QX%;s_KvZp}@~tier|QF&IgLhK?tBa(71206^x0qAtG(O?HF~J?&Nd z%QbIM#fm09MYZsJ+3DPh-X@6T8TD(rPD{D&S7WVIo1kc?IGR-X=I_JJHj(IqY-UGls=PA8>m2T6P3`h4 zLp1+D66{<ZkJHZE zGK^%;YGuGZ5w5OwAW~!#o0boxSej$9NBL_co{e~hlsA-O#OuQ`siao}H5_Xoooncf zf6zuHF@*+7LTy81#6i$P4b{&q3)U5Y1aLJ~$;Xz2A54sf&;FMlZ3>IKQNVP_0Tt=q zZR7Ua+%@Zxfz3Lt${o=@i+-y)Yl%09YSNWYlWdQBg`4hghdb51Q;)+vE$};8`IjCF>LSCK|!xetrDYcsEMg%>5~0 zlyg8aK}JkHAynBy->`xVsSF|K(Su9FNjAo*0@h!hX0@6KEo$C27nZ6^I5xrDnHig8 zIIXNDrcY~B!+g5K>xRzpfSg1Ws=fJ}V0{yKgY_b3?RO-w482NO5yiyvUZw^b8Cdp* zopJ5N?F;j55z=bFx7R}55o(VQYxhYbx)`6x^>WFOjU(atl}TTBY)-F*IqX_D?*+D7^oG43t^37;TT4A zG^Rws#)(+Hv|5lv)9Jwy(LU0OXKBWtlZfFh>c`Cr0g%ltp0;csaf>~Z(Zp@rfn&68 zpDmmnZEHOT2Z5V5DsSzW(>Gy^P2S4RxUK~cc?uk262+(#;|9Mb0ZW-wGZf#S_8-Ox zf4bS$DatA;uVFB7Q+-k<`|}ZkA?rxHoH?$;-rBconhQHkA&#KmEhp0fpr8GIB*CuL z$nNO(q^LdPTN}^J8yn^(y5eI>&SClE!&eA(NDT1j3xJNPFNw6~36o!Vpv|_=i|qb1D(-Gv)iua8NKjq25Wvfpt=_pM?X@BLWxjmeXGq!;6O>EBqcjje zk0V2XbN@?=dlxne0Ij3T;d+h)Mae4}L3 zJUrIWEaAjf{HmI2Q&DDBSf*Q{i=ZL}kQC5Z3z?q*to?V|2DlD$VNw$0DK3P|)%zBd zg%VB4d6>k!)R*C8i)pzHP$5_BylI{CB}5@prjLGWG`*5sFPte5-cw2qsIz?<85SM8 z|8ab)=~bpBD{(Q3!=bzYZtvGsi2;MC=JeCibc0~qGj264DnoH(Sh{>?4lSw4xR?5W zEjX01?-9~OFRXc-RE*9~Wjb5x6b%VU@Ovx2&YD-s?8&|In_tjgY1MR-MYl+YI7O6s zU34Kz_9AcJQPj3D*WL`=_M<30b3EtGAzI6lCMh%Z34%O=?2bDy_;ur{MzB5aE|cURZF5mUAZ z)uiBSWyS1ifG5}$Oz&~#P`RmC9Nd@NR0qw7OEI!-i=xCunGytVn0$N|m=<&wMjCL9tf&wrcv`uq16IAwYK zUsi;>>Jmz`BE@(|Fh>r{MTuA5xf^;!dS)&#SuOI7(|2%?eXAl8&+(%2_j=vsG@z{X zqWNpHiN4XE*J>f7H>g?VQF=DbcJmHW^$W7@25briZJ3Bjq+u0w(@K`!!2?Hs<1GAS z=}tP>98ek`qwV%R1b)0&K%7*~qYn+*EZVEj1~=xINo^M#58Ndi>ayadMcU(!)Kz|> zo0`WsQrq)&r{r#-K6BbI(qj+4TRbdcyUZ!PO7TWW?C9$SyF4EXyG9`O>_$W`J@icx z40BS;dfkCt>tzT)T!-Y`id?d!{FRgC!o1x>?yu|YpHA7_v~H|gxKKZ7&b)oPvb?gt z_q<1vo4?9#`}xac4$|#q08srSXbLF)P9D?T0VbWS+VSDXYj9AkjwoFOk`>QBl2Rk%6|6VR9Unyeb2k;Fp2=qtJB4$)ZLW=E z=^f_kFV7@V@G;27F<@EAi24Hj$(YCgV;}eI z9k3t#)az{KVev$X+a{8a*?-~12Q#Zo0ixyi<=71o#s_DaG0LmP0wtRvl9CF1*pLai zP4-81?=qTAPbZ$QD}yV{9yCm z4P7kHoyOV5yc8|O?)THh!8U;JkD`tPP!UV$*mA&@X?IK|K2#WVgvBuE751gWwdu!(r6 z?qspNJ0kVNI-^p=L4Q~IHDl_lFl{2P+O0SNm7@_l7u-AN&gvqz=1_wj9&A3XZ7--L z^ZUDqqGOPpJ#Ond3>o4 zw?ig{Ig(MQH@Q(6wwE|lJ8DBvg`yErvB)$szMAMkRq84LFwOm{Ue{r+zFoog<*iP< zQ4!B`VB8!jhUMG{2Pw*q`%bUL$be2i6EQ5mF7G4%<|_6^PEXoQWHCQQG(ojU7I$|# zF4Rh6w(n$DSgX!3#^ENFO(0-n9$7uRxkQRPF_MDVUZ?%B+11NH5kG_hdeLEcuq{*2 z6Kfgy#&)7~s$zOX^gSG(kSB@WP({C5fGvfQ?2%7uo#5)!q3=EY=NSrq;t95Y<8R}-^8sp z^%}g4TaX&Kss3e+iBu2=&Gk*nIFpCttc}-0;cbmXbr$gO*zm*7I*kNqR(7 ztqzf2j>?f6C$aU_oC}K)d|O`GBihaa7W7*5Y=oP9Mg~>;t(T&i$Y^U%p;h~2Lf910 zA4oG2_4em=B(7fh9&|!am`?B=no~Nx&N9-Pan0ZSxQfLsF>qU|ek2ylls0vg|I0BO zp0fd_TM|*cHtl75cZ9fuymvQbsNWdDCe!gjlzz-H7_|>tpe_TaXuV319xVPcb`)gM z2Y=DSmL2;*^LQa1`G&gf8O|vwl@ib|c@{=h_O$IA8$SsW3Vy{(QqUgyvp6W_>q=U3 z*Q(+k-@?w{qObD;4SGOFS(>~%&u#eL5b-uqM^PI(4FTIqtkqy^ z)Z8TtOPQ^J$!VuT%eVNhd}DT@pCCBfH!X5vqy(egkcvD&YIK#;UO^ogMM20Tj%@YtGl?szc?FT8zbXWu9KYRaUs{Hcy7#3r z2{RZF+-C(-DW879Eb+~!>GgfdxPeMQpzpqi(AJ3d6gAUi&Zr+MOtfp_iVxTQyl4)< zI%Aj-|DyC9B5-A}pSf*!o)Y}$b<|$O_O`%4Q;Pxfhkx#!UCPC7la^b9VCPlpE z=^?;H9CjQtkk$tl9%cy!4$lNaqzDt8hC;BtGzE2BO?IK1sOlHmqq5ehjnAgT4IvAL zU6bItzm093rTj$!buNt$AGWykP063g4US3labVXpTNx$kp7csx+n_=?RM`b9>TaKl zAq@foN5-;7D;a?$D|f~y-B_$ej5VW!uURo{!ZvWL%k0{YX_>Mp{;-J&0yPWA)r&A6 zFt|hbqY@d9QEznD5K?zSG5AP+S6M$g@X9_XvD5)EgrgF;OHEnps2V1N>&Tkurh>z7 zL(7g&FoQ5FN>Aedr-=q9qK5s)2yd?*oeED1b-;wwZUN+6;(!;Ne}^v??Ero7QX|M? zeSc@BAH*I_aCdYoFm{9?f9jH#sY0Qe?qCzUjqHL>CVc;FgUq*AY;9E>a#&qMpd-k{ zZ&pP6S(*q_Ak*{A%qk-wW{{PA&!zEIWXLx?xk7{Jno6nuEl5#Tj)uzHabW4YcRmiv zZhZ{swQ8xV8&rPz2$->A*HT;f3K1fUmdf`o2sdEh4$iXrw(n%-y4lOpn#RFRvY`sY zfaiQeCC~YBo~B^vj5~^quATTS>-Z^(riGlZ*v|!fM^|1F zw1FK}+9q2qxttYD4zCSqlWSOTTc+`=^qatt&HIze0_6f#_5Jl->Sw@7!aN#3 zEbQJ_eYiY;_p#UR#5KPeKKO5OQu|FhWJu)hdlZR6>KbxMIf9j{4bpyZFhcvC?L^zv{G&V-O!iFQZtMNp&UOSPu0BH721 z#5UV<()bb&Tbq9jywrR$xWf#>tho1TpE1Spfu>7RGilz~+on`^!>Y%7(KdkF;-(D6 z=Kh06*T_n1d8T#RBB{!YkA&cs9OO|P$FLrh5N{$%*I1`kS@_=vmo3m#Amg-LLlP1o zYyRQoyk~sx<+_DZ-tn{YKM?T;QTBbprzmK$Rh3PEK2OYY7W(yte$0&^cht;byXtZMjXh?dfUBwl$IvEw zWMuNUhK9`^xpoGne7PIjwB6>gxPf>{tyd@*nMKkTXMO%hi+KO{t!%QLP%gt-0o&Xz zJd>e|YNUcRP4-apt%@RqzCISuOr5LG{M61XZe-Ei^7l1&r<2#he5)c;-k!-|VsHCN zk+~oe8O1x&o7cwJ_@_)T?VjP`8`(s%k7vI%;H}7J^{jA9?Jb|{1~$V)xosS3G2HA}bZ+Z#Ms_83Tt(nl_ny8&rGSwt%(9xWJt+IyCqV+?AoCuG;g1#Ih9WUq zXPG&0T-x_4An352w>&wHpUgVQAt7Q)a$}R9UG6F=aj~tXj_?PA-;p2o;hTj>XqpdJeRap6G?}kG8Bt%3E1G|mm*cUjLiC4_duwktdzD#(8Nzl!lrV2j2`l0rQXH2 zm1kn^n~BLRm!kAD&pF`OcMMn}sTCt|u_p155G{uD)@)27XwyuNFJq`Up86WxhfUcn zgy7992j%%y*OK18F?`O#3pE-F8NP9BAD_lf%Nh`VXy{lA24u8C#V>%K#fwfp zgv5d$@RsU@1)VG|XlHP`x(`U)%*2_y0=T~WYoH=g0@v(*ddTonHCt&px|{GPbUR!w zb&|U8&pEZv$Vyo@mDI*aOk+YY)o1@&y+J{Xm5zx*g23{QHsb(R1AlJIG>+VM{?3{< z)NU3k6H6Ete?%TaeSt_{c^lJE;#inGzio1iYVc`qN-fO(#B&y*7RBuR;_4p&0EmU( z!yN76Z?Z%Ue5!jNpXo>lL^}q5Rv@`%V z6I^#31ysw~1mtI#4p5ME8c$;G>X&#|qp*Dsb zfR`VL`+kYPKh$*RGJDWGe)zOCJt1`rp9(g_Fz^QfvxvfaRV*oK;mX2tf5&MVVc%cn zkhR>6jqO)+#!UE@n0@OZa*maPN9rD;8r5@NuwRy{syyPD985aWoy!w!=O|b>fA4I| z@mNbt^JEAJ+0Q)+g-FqA9~yXeh)=t!gwAv*VCbh*5Z5^4{Wd{C25&P4K@XwKng){+ z8L;Nj#J!o@Bno25hM$w02s&{P{MyVef9gv`Ay1dApgmz735tmg4==RJp4d(nhAUD5ZQhJU1LaLt~wVez!VrcF5y(2`QVgas-J_6cK z%;;YtZW%pD6nowfdh&TlI2b%h2xpLD>j%p!%@Fl&Lo!;vIVsYIP7o&>G{qgaA%{>3$w_kfjX`9_A%(fDB(U<{aPVb3 z$7&d9pTD1{7xYP-%zGl%Yg0}FQMFwS`m6cfo%lp_as+HDjP{q;kk6Hx^Y*L=!Nbtm zKypwuJgcM}lDc^q2b{+<0CKG#ij4KUDyT_oSG!8rxJ@iZ))>YtQV+T6HRXgWo(u97 zNQBgcK&DIf#RJgP_60)}W?gh$7F|i<7cU_iHyOeQ841hzgEC$uMj}mO^qgNft;T6^ zdUKYz*+-n_L3NGjdSDZ(gI|2P@A5D0!NH0AX`%KY7%QlSMV5@P|HgKjj9K@`V%PBz z1~5T%88bl&J2T-mnNEY?A^pg@#C$kgboPG;-%}ymupCXg0nKY0kodcLCa3MI+3h&xbLWBEqY8@^F3rO>JSwypTnDpN?26b w(70v+5dYRcfqw%31pW#96Zj|aPvD=xKY@P&{{;RC{1f;m@c$tor6j5TKM#p`2mk;8 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso b/PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso new file mode 100644 index 0000000000000000000000000000000000000000..e5ecc153ec95469a7eac4853ff26dbe802f1d88e GIT binary patch literal 17372 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 Bwlx3% literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso.pdb new file mode 100644 index 00000000..bacbb918 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Distortion.frag.AFFAB2D8D5F189DCDB557A256A2F8D08.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd6d0d910d0d9fd7ef90019e6440640b43476c9637e009ab839b814f7488ce6d +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.3A86B375B47444ED50B241CB31E4DE69.metallib b/PopcornFX/PopcornFXInternals/Shaders/FXAA.frag.3A86B375B47444ED50B241CB31E4DE69.metallib new file mode 100644 index 0000000000000000000000000000000000000000..51c49dd90c24552bfa0ddaec8e98685a1e7eeaea GIT binary patch literal 69066 zcmeFYc|6qL_c%TnGlRicV(ep=b?m#w8b$W9B*s2=V<$CZCp*a!St8j|wu)kqEhHpl zZxIzGp;Erj(ei%1exKjt_jr6Bzkj}eyzj&FdCxuf+;h)8=iGCb=PgfxR`P3Rw^q?#6GJ~LPS8VGPT;tCnf5~ObraIkiYo- zzr0WDTUf$Clpu=3$3)N44hH(uy(Q2T28#JDl>R9_D?>{QT?9ys>ldT)tzWsdwUHhI zG-Ljjq_9xFFbi>%t!uetN2Vtal$?_XsHd-ER1RtbAQ|f*H++yxfPa9CKiH$yW#(2hiF$EUdBDd$43h9c376N^7r=%k}>lSaC4Qha0~Je!MnHx z$yj<~UCGQ1Y_zqd$r_WE*H%%|kylpKQBYP;P|(*?MC-^Y$m;6I%jzrW=_{#9`?>{V zeSC1vzW_i^GXrgqOehxU&)?^enOC@sqiUF|yRxsVg1bCA)YH}5H`pa8GEi0p4I~dg z8LPt%r4*dq6%>@Du{iwUuot@6>BuT#1)hDt1_waW(d}AL1Q29jafYLX2ngx{ay>sB z1gfD1f#@jt0aJiLEWiUL3T9~!fQ=vsIn`{6IJhu1jDr_^$(exEr_{-&)9FRXv8uq3 zCu!xJlMFLiQMv|6l^_l|9k3BYCX-;VnYKAGbvgER3RudD!!v~C zeN#riq|G~o6r^y4I+VeG%Ce7=VC=iX}#XhWWXt0U;?+hkfyM zlYmhi3S7$5P2?S;D1}B;lgAzwo~V?c7_0&f6N3UWM+4G^Cq@9H0JwQ329!dBL2tEr z*8vS2iUGjg6ue7-z{}jT|7MjG0rZYc3;_n7nHW}@h(|&r!-26=1y)0Y(24lW!;Z#) zPCtTB>wrA`+{3`||7nrmBdP|JNhS_MLn8r6oD#!e(8#|dnr?)FGeLA_)Hsl@O#-DM zfx0?I0iz_OM?KrVkS%+QAS1xv0CxtlBw&yta0+u{WGYnwLWl+8 zh6N>~K%f&qot!`t4azkh%p!O_4tTwcE6ZeMHcm~Yi|aK;G?L(5XiAD{6w&}eP^Ek& zhD#B{ZXG1w6%iM>5VdzhmeL7P26MmvhDde{z=7vVd4`C*fXi)T7~ht0e!;xl4nN>Bj_;0-Z#F$yS4B*igpIX|EXGNyX$ll0&F1>r zdSU?(Cf+h+Hv$3IGgplPLO7%xmyQxMauU*gZH3W24a9a-9Re8r^&=FZB#G{&Ol3qS z

    s?WRfQT_1 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.8DBEE0AA3D769A49703B7DD05C82CFA3.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.8DBEE0AA3D769A49703B7DD05C82CFA3.metallib new file mode 100644 index 0000000000000000000000000000000000000000..2321f7b99a684cd10c543e2d2d87d8c79ec5834a GIT binary patch literal 69602 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso new file mode 100644 index 0000000000000000000000000000000000000000..e0ce352c8a129d536ee6b1994c3ac1770f8a07f5 GIT binary patch literal 31676 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 Vi%;yrZ)xpKq~qOl=?NO?e*lH@l4k$_ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso.pdb new file mode 100644 index 00000000..e6b6f18e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.frag.C1B07717CD6E335BA0719719B22FAFE3.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:998cd65202125f445fad4babf4913109f361d8533014d29ccf4c7b6505abdaf8 +size 28160 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.29EB9B0EAE29F9736E833F3E1F035C27.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.29EB9B0EAE29F9736E833F3E1F035C27.metallib new file mode 100644 index 0000000000000000000000000000000000000000..9f4af3b9d0cc9266e55fb35fb20a847a26c60a25 GIT binary patch literal 70111 zcmeFYcT`hNw>TUiBmn}1A_k;{DpErTO^S2@K{`^TgdU`Z4x%BHfb=RLU{FCoQ3M4Q zq$@>G1XOyHE@DGLMEOoopZ9s*@80{ZyVm!|Z>`^ZR?gY8%h|JM&z_k*bHK#PSeu4O z3!(%4x@OpD_6xSZ@wDHN`xhA``Wx5yjWhj*hP1yJv%J3`l}vs2q?U;uBPh&+5aR5I z!~27*?9B84o`II70SY8mXWWbOs_Sv$@odx62!)g!N`Bj~5SG~<{=mOW-0z2}zP=Um zm%jhvX`^Rh2?NoBX!dUtT}yiy=uh>Qz^gD&{%@o7PU>12SX$^HKt}|ADQfui3tC$n z>LNg(dC5Bpr_`coHBN+YRI@&%%2OL^qh)2q0_eB$h|mcLAh-vEKtzCMM+eZrR3U2X zb@j9jZ-R0GaarqN4??hPU_hW-0Kwlg;!jE1H5Bjb?ivsx8y-M7<3acX_Q~#ef~;q# zudg)0V;`5b3JCBGmNg3q^l+E8@CXhFCAfJ6%UXKl+^NcS0VywC0xsMJ=NsxFLv^eS zMnz9sMH{WBrH4_`S5cBz)Kiw1*O%9m(?`oI=wOs&{5(Q%zP@OS2ZCS^xU_ZJrWF7JHMm^iXb~cUzK6;ego8lg5D_G(14p9O@C>rrJScOQ$LHWR7n^i@y)YyAsRy zsf>AHj&H4t zDIfxJmGOuP?K|f<0!t#cHX6b z*iV5*R{p8fj2z_+jqs+6f_Tg1jpp;{6aK@Oz+)gmHuiYADm7G#|X=}GhuCxUH>5(aeco!UrES}D+h zYczFQr!P>0LjaVF1Pp*iQZ0do^^g^Trd2}2QTr_gI=z-00+fM@lAw|M75&xZzr07{ z9Rlps;stsiXnThs-)I^06Cfl2-~KCps17GbdecQ@k_kv^ED^lvf{A3ndxU?*57m2Z zyny${0aYOWX+gfpSpGgOAR2i`1^LElezzU+{}Dpobm0-uaBn&wzyi^~yDuaV8vNgP znI_*_86VK^D}uaTv3z|v{(pvRAUQCQYCK@DqBqsgA-|*aSL7@S@;z(k>x<s4iOLKhvvDA1TouiKBzgnco3!#zH;vse>E{GH9D@j;QMUf;L zDNSlr2pY1u&{U$BGno@VQNx1{MKhAnKJKGsz5?87*7PIE|4KG z-_Qe)BS{mP#Gr@cHNXg(i6NMVl|i6n6bNJl@GwG23@G;mFo*E9c;N9SzATfI-8eOs zDZa}XvC= zu|!Vf5==9emfagA1O-Jw*?4gX8bl%+govQ6072Nea0o2`O$26az=w6f%o}etH1N>kAmjruU^SspF3^zuf?p;J;HL=SHwalJ zLZkM7RH6$s3YfPkz@!HS&|nl4m}&?VC{O^WR{J)-qkgo`6BnldZf`$UZ`%gfOU`B1r zzn*}Y8TGBGzdfniKv04vRe2za>Yrbz-z*EY3P2mx18g0chI+cg&p`(ABDC2s5E1AA zP2dJ4>KYo^!q70FNbME0NH&8c9jyyc1hOR%QIO64^dSUwT_*x42%h|NevJsCrfOi| zb}?{2Gyny+0YwyWgLJNZ9PI$Xh=3+dDxRqOvn-3|@2>~CW9U#IAS2kX4ar{9%LUN{ z0a?O+dVsp4Me#1B0cmmp_HY4241WQVo6R^gl|k(I6R-}?1qz~%0@epHUIEcDno&Sd z#!L!`iE)quVr4{>fjAh=$}}0R%7_OT?aSH@Fb0-!8t~DGXVOa4(!#|DK}Ox|1=Lo8 z?f@-_2B18Q$lEo?>&Z!@o}{B3-*ml2#pG)qb^P;GIu{4%X%iu9GcZ1&HCm8%Lg+S zc|;fAG_X_%@^#?&J<-Xk&2g%OIx2VR)SBbe;^|cTKX8V*K%>3)hd=Nnk^_MW)CI^w zpkdqefZA{(*%=rg$ogmF|*MN9a^*JK^1Ua-c1l5EvH%Bn>X)5Ma@wkhz~( zvTlG_Kbf&CWU{=`WSv8?tOKn;i36DjumtiC0Xal0|Kuz$HNm3c_e7d2*XkTCj#KS7 z6Zzc`7c#IoMHHADZ)UPmJ;3j?pOy(yvzc==)Xb@0knaNyVwDi5+~28MtD_D$WVb_Y zK}R(SKs!?(Gm;|<$l-uJK;|J1B^1P-euH3HZ(~_BWBH60ZXePD){le0q(2Q9U}mR$ zEl%xztjb87D$q68I#us?$`;3|HS4Iib*h0PQ6SI^(EFGo7$S2BT9yW~oh)pc( zAetHzCxnj#nfaauW>I%Ev%3f)OY<>UG?mWKX$X~pQHPa_aY@lX#S&zh}T7O1PUhj^G@OkMht84D|It z?Pu&LAiJl&i;|Z^qvd22Fc_5hKEu;P`Y+NE6KZk~WZ^Py0e*paUk@2~5B~syU$C<~ zJ{aff>+yG%CoY(}4-4^j_VE9I@d!9Sz%EZu4}!C&M~IvE-xW~z86FYN0ihv*p&_Bb zHb)#65<Yhj!?}ZQ12?+HM`8PT25vqdyEfdwM zz<^+U2;f+tZ-7>r{l=)A-|fWv1I?u3z5#AHs-!dC-`yj^%fsJ;fD7?(7k73BxXyvT zI5!XP{VkNU^O3*W_jg6^zcd=^Qi*u~;1Ha@n};*r{ZH`^1K0+7xP>_X@;_DfcTZ45 zf{GG6aPCwX96|^MS2Li~_(hV?*8cKf^e%16_AOs!rDE3p zf&aiQ@$McrK&t`>x*mZc-oJ|W+WR49jQ7Kb1XJG%3?PJ901;)4Iq#r}bbmwu5!xlYzl4C$B(%6N3?B#) zhIL{{XtXd)N1lXM7KX6{95rDW9hQXF6^6wDz!<<3NN6hn1HfqjQzW6?0So}X0H#Dj zhX5D=&H@-R6;-K4eZ*29?bHViH5C`_dDQplJMK;P7qVPWIuuv zpn;g~py_b6v{GFi@OC*JVn0Ge9@*D{eI_4QrfIxj03cmvCl%t#Z2K2o|X>?Rv(Q)mJZf#~P-2JtTcQl#q z3_|=hneHN({60YL?W2J%`zQk1xQ`Nu`zRXvU>^;k?4xGTrhPQ5Z66JUKAL5^gP3cV z-PV@UjRdjOBbd_o<2$9gwCkbsvy6AzpfPAVPA1=3z?@PL3gq- z0X5}{-)uMNM?KKyE@+pE09@xqgow;R>pwv2+fqq7jPlBN+8|C+Z5`a(v68#7lIUDZ zMtR;lXr?=wc^y0jU2t}l{YsY^sg(x)t~B+C@^!#jtUqR1h0NK-6+}C8OaA6c$KDgj=$YqYHfrhKa<W;K5y`MsrfQvV@e$vjpk>cQ<9$Z>~SRW$Z8WZon@W#P82|A}5$T`b^vjH_7i& zaaT`72VXkm0qmg*$d(;L3#Zrn7FPN`=rdT*f~tVLi+Xs(#7Gba@)>B9ZD4_pI*^vs z>ZlBMl9qU%0Q*wl9HgBO*#52T=Lw(}Kq5*_7@_@Y*Wy%*f#iiwof4-8Br=(u)RBlo zfk5H_<`<=I9Cb32mSwcAig+aLD+Y0G?l#3d9dF5;JX(o>klQGFGOBGGh=@c?^FnK2$S@j}M&_c#r$5JHX?O^4=U18bqV1YsmJmmIuP(}#gm zi`z_t7X1nY?y%KCfWfJtR5l_CHs6ZY2a!-o=iR_HD$943^aqQApG9+~iUPb20T>Cj zI{?b0>Z1XK_Gn=w3LFA(e33+y!DUx~Ow~b^g8^ic2r^Z#SsqWCQq2(?ee|dBLXGND z&_^Ik;s>D6@t#a`7F|9nZ5TrX`aMhjZCb_P{3B6;0l-`dWEj8Z(7$ozfcFkT3SE*3 zqv$TMNp5FinV9z#UPZXf9Q$G|u7IIPoXkvja!^;r7r9Lo?Zb6aIF6dL0R0$%#$K(x z91EXy;S>)vD5sH_r1x3ZLXwyk%0b9rxFLnnqqf6|@`OKLL>^w~x>L#`B;Le!av>%a~{$)5a7X%M*>z6r{Ky4=}d= zVsTPg|DP5p@6n+RnqXKU`2R*Hv9D-Ctk%Ev!Haa($R_%w30jYGAL}yrpYo;Iw8i`DY zozwb|@tettL8rLn3nFqSh$U_)GD=E@E-YOO)-x~TvW$#JN#CNSqC>9vE(LD0WI4?g zl|&GH#5G-TWfFJ{j=OfXA+-@wyTb5!p#o7PL;@^^i2tKoo|4i=3J2|(Fw4K-2$u8J z1nbhI3K|H?xthTRVGurNa2z~dozfMk>%tm$J{5`7fsqog(2MtlFOXHj5D}B zNlPvsg$yZUGgeyHb4t?Uqp?D_CB*_n+wE>oo_3`6MJ_S${ITCkeZZG^x=7O6Zt1aN z@eN2F1YH4APCO9-j!Rb{X+io#d|j1=(8=w`^x>(3;P#GVJwyc(Tih>Ky;mT)bWwm7 z!5@yo`iK--nmLeA2Xl4qIt^-b@Md!IN z0UY$cK`^>4gg!id-whhuFf-im=6wUq{N)_Q9hj7O*NlshOxJn&xHAioXtUbP8qRkA zyNS{35PEHHci0k1b_qEDNm8 z!4i(+r=f4FC4%-;5+A{~J8AWIq1-(>Sc^`Q?rt~2vrHZE;LCrtSU5PVjn;HGO_cQE zvKuOmqPv7N5*9Uf&lE&6kJsX8_Ouc~3cj7RCc9}a9W%7XyMFhXJ~V2A_G&m?+XQ4k z3GHgdnnAcBqi9wp@W&Y=90Y|CmdEgO!aOqPD9oF+ng~GDM^i|NAiT6M$~9^GOLPt* zUMH-Y4TwHY2klC`w9Sxcca;=U4N~s+)Y7oQ=v@xG^3MmfM-ulcARMt-a@>k2+A@%$ zLa{+=ZZ9CwqetWGqshi?n1iDe5>KIRBO>=dx;a1uE0d)=*+#qa%NTrJpQ7m%?|Agk zUK+(j#G3eW_n>N%rQ>+O0FfBiCe{ECLjaOER;s|RmJ5eNqB#tBE0B>YY$FH=cS=%) zE6GIB26!;rY*#)FmbPRRGpgUl?f{vB*}6WRJw$WDm%B?CSi?Fa_m{2=s_?u0^-P^~ zkvi3bf>6KKRtyV5C?0f~0hw96Pxk;8SxcbAPM1re1t4`z)(0L80Mz}Bn*oq|Q6VF6 zYf^=P%M^gzzl!_v-oNQo5>@WcMb$;UsE~SA3ljNNPX0}!!hJfhMr8wK>eS; z6$@)QITI^mx8K{Q69D_~%kclq#{AE0EOplgXr>w_<0<1QkC6$L!OQ)ZRQde_fx%c61#FP^ z^>s%{;|OlvsC|o2zm0JQyh=R|a`wafqkdb4k`9gxCIke8p#B%Onfc;EJgG-SvL-k; zQ%hSJ;2dM0@HhK`qpLq`IgE_FOtAYIlym^<|M*YbsQ>>yYonw+{9HZUoqvCV|KE6+ z`VIeo+xx)xd097KoWGasUjZpgrMcq>;Xq&j#r;@u28KKknKC#K3j&y7wJdaK0f+`^ z+k30XY1xTc+WA&5eFHIUJKvwK#h>5XYkfa60Zbx0VBl;Xkc7D~I!DB=yj165c{gL9 z3+g+5I$>fsc>)U2x~j>I?ZOVaBNGu=NUE_u5d_h*9LLd`@Kat;fLUHxlR6ME85XV; z`l+cIW^_8oE1{L3L4Y_&BbKXcX}(jaV`_paCfBQ0 za(n`;rgI~~ow}QXS()zMkRm(<+rus*7C)?MoW=}7q;WjPM44oJN9lW~@n@~!7u70i zzX}{&%QR?LJA~YmC}Rp&z`Y)Y(l9xDX%h7-Ly(ziVvG5uDjXKh^@f ziYMHxykL-@Wo4$7=3y&=^5C+=o3q3(96eh9;Yi*cN*5DN>>TTpmWmT)qpS^_y>Jua zfb|+YROTwyd4v(>F-?L5Yt2LataY&U>)XUeZa0_mNoyZ<~{xON9(7h%wtv-G( zm!$PV=UB6{BLC~5#f4LDFhM$e3Tt%DCV1rg&X!9W$HJb9X#2Z4W+nUwXw>4W7LS|S zgSRESbAHiBM}%G#928+bSgW?K%DuW3R8;U_M;RObJh+(m+4kglo^!X^#hw*ia&6JD zB6ZPsu3A-cW**RdnD5Fhsc1;^JQyr^tx{dd_Cg4}9QB}o&k%Bw`=n#Y@Rc23&uY98 zS*uFFoVQ)ER;^968>_*?PIgu?@>=U0z8wETep7s$! zVxNSGiH&d);KuORDg&=ppBfi5@hZ({ytvlvQuKLcp%;7CJ>Kh$*&zqzE>6a0>xS3R zwsVpwk7k>LSMNvu@Eh>CUdW>3KlqTwn8VMci7_w5?Xli-_mbzxgqJU02L$-{KfdIb z=NFi|y_70{lE5eumq$6?=$L!RkFb!?V43+cMhC0O8*!w`+uPwr_M7}fIOni&{Zpxq zI+!5u7p<|y7IN@H9kajXakZ4sW5!hwp?+P&JVu;^aKzJU1V3vv+3ZafyKvt}4yKDe z-Z>d9#+xdAM&hA^*u6for;cb!>}c!SFV`G|K3iRz`*TmqwGU`!>c5$witL0rC z0g3Kn>cfiz9p%!=T&Y@{m;9FCib)GRk!7Jd*Pqz z1*~XZ%G#`a57zU^jNZ1XGx&a1ZLBSa3xt0uT6K-~G3u=|7b49TX0O>INM>*x#!o zgv9i75wM-Mq!-Y#jMogpD{5PIAyrOyT~OIdw^z;`|NOSFNaxP-$<@hY#GO!mPH9v7 zS~vu*Avi#Xeu{WQQ(U4W6ZjxajF_J-FF4Nep!Nr^snlGtSCv9R3Dj&_fi8RnI|cJb zB{A#?J;_=SZ=Ffe{1N*nkjLR@vChRLVwPq0FFlYt1^-# zx2kT_8e*9}#_4TNh7FX)SHx9RcCVBQUe>$tc);Qt<5k+9n%Toy7OXk?xo7&*iUkQT zTjeT-X8k4ztn0TUR+MIFpW|+6CD1}0B6JU^3>vdV$DM!6?Mr5(c&lNb*alFyanI5{MPZYkC2gZ( z4H)^Lm|EA%DJEQVgVTF9q^O`srX<7nSkZpzm!nyfi|INXevM%awwwn8xwXn+zRK)O za_rps&82T6wlk4pEsF4D1jFsQa7IQ2w)N2&0~ilvRHbF4FapO|Y<~R=>q!%3KQYB~ zdI|kqjL`l=+8+}x3bjeMX}QW>sb==<@?+j?o(!mFSY%8cWR?;As`%ks%Oy6;Vp$Ga z88kTj$i$O(cBU=IKglo`^J+zj-K{}kXDw6A|n{3#(bHQ|r4Xw!M8>@ryW*I1(9!a$2&J#&?(>5qp z7pVZYuxLsqnx7MocsH6K5}e}9$k z6q&9q*fDqBM6qCmn_h!Yr}pj528s|ahf~cLqDNqsHkt$e5XISW*+7T%!8EV*QYx80 z*-%H&RfUe%?Ao9d4VNfi`Q1+^!%Z*rnLo}>IqmT1gSoXOiDX1HI4p92Kq?%gPZS#m zYYQ1+i^7QglsgDNhtF4=9oTCa7UlGJWDcH;7!ql`12UG8(s0I{T3OhX)T;r#Twk{&WAEH!ZJr(^$a0;v}4+JTykd^$`T6< zs>_-+pP>?LircyUuW)dox@aEUNWgnD4p-M2utgmfmSD-3v|#3Stov$moRPFr+M^g;!e@1i$J<+=uVA;pSxMcE2%riXDi#gRf$nhTzu z%;hWedyglxPI8JIl6cSpWEuat{^NoFc;G)C_>TwvCWW>2j0&EDldcIOmA-Pgf|7Zj7Ptl{HjW9yd3j&COl?pI-@DWZ>ym> zX6$zG(ZctkW|3P>kJMw{HPO8-pIG`nXQA=^{iE*wyy52QmSMH;lB}9B)8D(>S2Vsy zeQBI{`0V?HH6z2)6h_H1!OeTn0YiTcvk4B>l>*NlJtMnLJ**7QcS&Y5KeLg}O1HB;|Wmcve- z_R<)B9&uyBG<^Cy&!GnI{A8|GZ`L-Ghy0rYYY?FQ=PUo2Iu~ zUT(g9PK34`{r>*J<9lBh-b+*>W0l({xhdmnoOXJ3;Zq>he^mXfEV$A)G^>?dZwrZ~3xVcq7dImo=X}{%b@V%_` z_SvoBw`Z3&Y+lD4o_eotA@{uI!PZQ)Ja`Nl7?6#?)Kh*S{xU z9k_(X7!ZL&AaGlei#}VD_aGKRgwx`)$|zXx9*8FOG~2iU+*`qr!yyb}NOA>t8XK;F zQ0`g4Nw+=-R77*d1?=jgqt9Ui64Q?}!Qd+r3ldXv#D*ZrK*(2q(F|PO=u|lyI zrg+7~muflqiV6?x$aq@SBNHq!S2Gq10uO?5Jj@^rLo7N`%!E#>?Aj)Fu)qY(P*KRA zW5R7BZ)vsrLd`tKREIsy^pkOE&H?ob!__i=sohJRmI470UojX4!VhJV(C>Z~0X$_iF`K0f}M1yoM<) zDn*rAO~2s$ajhsSXToaS^MWY`qhKoLZECoxnEQi=)x7!~hv90uQgyWXJ$1|8s&_|r zu6|Jvs9HlAictSBmxC4!h7-L(kP7hNFc_bloK;nab?2sy6vm@ppgF`i^cCc=y%hz8 zJoxxwu_M=$)%4lq=!Q(H_TH@cdar3uHaIqNSd2UL`#6gG@l;u#;c8k53^bi+>+I>D zMB{6(sh4|t2+9}RV@}TQUcO(P`yg4^L9o5s{P?|fPU{UJtfcGctwO1h5ZC%Hio0yz zGQY=Qt5%$Zx+s!_ex3ShIq9*rQgi6d$H;bDiKJ>qdZTa-nRnC1$>DZ9Ym!W7(y-px z_W~_E%S8ygY}^($CaY@xG=V%O{89 zIvvg;pxNMih?LH0<=X2rWL#)I<)ob6d<2U!9&XD!inYFSs=0XThQ0OXs*P!kgNf;t z*0Q4=xjPxcx@kfuly1-8ulV-4CtKJ!Y5p3X!>&G!U3W|2mamvn7Dn~6)$IVD7QVFx zuX0nye3OS9c1%Uyh!gM3x=Lpbap&J!vpc+!XU zhH-9^1xi==QZ{!olg)=q3ajrDaBQ(bQJT($+5N7YJ%vKAwJnM%z9s^iArCp;SqrG= zz?<$(h~BVCd$QnZTdh#>BfR7D!&lfivJyBru``C=9ieAi##t8p@Mi7(PLyuKBc124 zC|`QZrr3zkYwdFmSC1cDvxkH#jHxm)-QzOVyL#hR@1la!v-jlEmum_ox1OKR*ou6h zu`K!8!~k}fF1CzvnQ4kd)XcW9z8GbxY2~+AM&M+cKI}hS?e1t-4@Kc%1F zJA3G0!l241v}N{auE^s&odcmikLBPFdMEVQt*TmB#CsXOd})G8Drrf@(@-9qn$2FA z-*nP&nS1=Su>Mjloe__HjY;33;DPN=H>D34QSKPVon(09AjTrSn`Ytq?U||T%eVFU zk9J>{S69G7pK|&Iv)`1&(Ar6*YS)RE3Th#kB}Xl2rAe1=_P%W_gU81(pK@zAr{(>Iqc#5m$gm_v3g8q3@ZLV#F%f-Nxjh3e+ z?l}w{o9pncOv;f^$DikHEKjH5KEwu*5PYq>^<~(iMy}DioR`>ZpB$C`Dsy|)?!_k; zqHCETBe=%wKqb7oTF~O^y^T=}9eloaGg>vR;XQ~>>H?|V$Ve}N9{$qdsPsT|2xsoC z$^QCB5}xrdlCKJOGUQlPAS66tpiBdU7xms2)+_DtB9w{>_6x}D5rv&nXpZWcc(}n6 zWBV*on-ea1g`5Vu;*NaW{eAtfkNRB}sHl0iGa1$tUGvI&+B1f@O}9g<&`yfgVi(fo z#=IIC>0rl!g|ZKeER2!L=Zs+T(KQt}@MqhUdsjbjSFQE+9Xw@*U^hbn|FIyPZ}YWW z&+TCMi_;##)r#@#t%tv;9}7XjTVJSD!@(RQw#@s}DNnfqkhbkN zA!P9V0u~5+D#ypchH~U+j~^5Eg0=aU;mK+!ZdvkKxoGGJ&q)Ty14uX9GUN7Mu%5it z_&BGPxCDNAXkoV`GC3>vnDcb_&(~)*&&SQ|U9bLj^s@=b_PEKV_RNGs_N*FXVFR=$ z$0T5#?kCkgUpyAqcuPE6`B`X+f(7J9(xq2CD?wM_$FcqPJfUBtZ)S6`C7s3@D6iYI zI$XcI8Yt5HLQhb$N1!6-!(Anf^mCF#O#BsV{`d1Q=MEB73I*51QpL$@Wfk0q=QntG z0zB&IX$}t+Ga&Z9?$YGYr|y(}xomQEK{ob9?{{zSupQR-!|22GKs zJtKk^#gPQ-`_U`h^0W2%E4EAH?1$batQAhI9%a{NzLI@zSC2lSvF-Htspt0Ln%i__ z!9i7iuD+{;NwKGIKAoGn-1tGQITO{HvO#9@QXZ52ob0Hads}3H@6}y}Cw-!~a%V+V zbb~o^bd4ynS8R{JCNgc0%?$gGg%@Vn(LTDBFTdMdd*zDlH+d-0u78$b3gYBcMqawj z#hDJ-K0c8C;+w!zzLRd|XM?lj^~Zj~U^b>Nq7SK_3NF2@c!9e*Pf>GDwI@c4C)Yhp zU0@1v>Dc&nRj9V+VuXIvmT?8wm2!qVLTzfdetKuLHfO$j`s_xJHz(-J$JGI|c%Cuw zHI%hryeJo?6LaE|uZX4%Dl-qW*O^{PD7ClNc?YNE8%L0FBfXANG=sIGN!*&34`-}! z7A$;1fXPCK9C;|~MG~*_J;W!+a9n(<7VH;Mf{rv|5%zd^poWR&P&1tYny_I=y=p)P6d(B5d8h&*ML z|26Ma-^)ZR4V!PC9koBX#y%D}z3x`9;jB>kg!XmIv%gdK)ae~x`6s_b<+(Flf!uM? z4sdzv+rBaS)`=!YH-l%Sd^V0GRDVGSJxD}O*9I@TZsX2ayFaPkHg~V6^|L8bUb++Q znrG*%qu}^#sas0+Y>ml;^Q-Z|7y-L{%E6XUtit z)ta76kjjdyx9Gns)f0H&V-l0Fo{_f}qFTJEUo^$aIv0cU$!G7E8uf6px_D1f!U(T_ zNy0TYNTg++)Jbyr@%C9~Z^Y_Rhf6`sibuFO+qj@8Bn7x$-$<~xJ<53d#$>lyb;*lO zohGj3&h+hv6#Q2$r60Yq{4YU=MoDAqlrM_-Jw2)(Mo>hVqT$=b3uyF zLm9Tt7jA)!o?^bb`=2W9*;Be1cvdOA$h7r&^Uzb=L#~X}KxNG+*`J8IfW4S*rn?<6 zY?cnDdja`5;Tn#&1-|mzl?;WbFqT$0|Ikgnuo3EXwG+)Ned=D~Wo;&~(vo}3Xua8P z99V#3(^UArF@G@brd%gdU_0z4xyAY7w{t_7UfSbu7vyrfChPpsgZMA7z{aUSWxxDR zx1Fyu4rALx8UC{dnID(>*AwawY@-_%#744}k3iIGW_m|AvLG?q3LUey9eNaz_s1}p z=!;XAi|Fq!`-Q-3jfO%c%gFiVwQaVyE+mnY1iq71J$(|`Xc-T$pSrlbv$|=#JIW<} zF``$MynbDu@0|c-n3Wzf19^j`Bfsb|H=7@{&fEsIt8|oY76^qJ96>Oc*|6{)wUvGT zKCeK59JzNZwRbb)>U!zUb#C>H#=)PLyJ8UUqLU8W`f130n^>+Zs$djnS)k;x6kY$4 zDfh-nUTf!3vnFpt1DieE?&`})?k8I=tbBL9H*-YfMcVJ0dJaC~JnF+f!=iUXl+fNY z6*JeOFb0PvZ+{(6J^z&5?*nn9vf3+F@Y&tdQx9XFzxe+0W3=kh&+1qGs`)D1kiq5S z8%qK`HwDqN>)(g((1;{fU z>uw}i(3ytC(=~^VRdy(_Yw97`7+^${-uvc()(1pm+yPE&UDF@mP3dYku;=L%y(3x& z7{1%@J^FCY31XLJZoP7&eP_396Z*=bee?SGhrP38OlOT?`w<~QMwLvZ=h>EYqc$^T zJGb65D$Xm8X)tv;x?*#?zPd$k_fxccpc`~8P7uqgxUZGFg%Y6avSLQ`MAC)N zb;sF#XX(wEKre3+E6(y9%jlA2{rN<7GxqVsR-SrTzG)fhR^6%kJ65o@UE_yW1u&NG zZI9X>ba#C@E{5(O$Ui6U5oCxzHV2EWjnhB-u~f#OH_A4LqGPnt96u;LOOw=o*V-IK zBb9c)MEC4+1{;sr4SovH+sPjxt$4*Ix+Z}J&Ze>DSq+P%IS%(Z8e)f$s`o6{bu7y1S)WG|j}IcdznQViN0>V#>->0#{KWHyODgV}mqw%;HOu&J zvUh>OJ|#)Y_H6{zyrI}x3eC9@os2^q7nJWLJg_;y)hZJDWOU|mO?mY|7gHf#_wV* zjSsXcx%D|c@>P<(r<&O2@4g3%KX~pX@m-b^=B?MGilG*JqgPfgP`P)gFqY40rANH( zHPPQIe04SAyZhQLoWcCHjOcW^@NXIT-pZlg&x$wN#Y|3hYCN2`x}x>&;%h|FL}y(a z_Q6bDO7FmnZ{Kg&v7h^yZAJRAj1BOYi#<8Bex^k#Z4T6MsvT^3PJ$=oAUIe*(1bK; zR(9^Hlfn@pvCFea=A#{Gw{6m~b5Ct|t*>7*2VMIlF~R16rwu(TSIa99iO@dgs-2T` zS*rFb?8Dbcr8lQ|b2G1&+{Ld-9}%uGwdOQWfGC7A$^IBS6D8VCV%AkQc;w1=o#DOn z_LbBUuy!lrH9(S)1?a0zuDqs6N?bmWGrk+N&6p0t_#4RIk{KAe`lTBJi7glXot7DZ(t7b0cO zo!BVzc33IlN&ciNK0Fys4){>#T#!ejeqp4?nI?1z>XbD9>B-$(BOk@f@;{@r zsdfi=*@!GxdK7FvW~}&~JzCS-ffTvsFyK7b?M_fB9~X${e_^Kcouxpy0G1{E0G+s9 zP{J-GBqVx1E?Ts`-@niYFP;0@)}-^uXe@pp#5>sk0>1u3AlkR7l|Ec)kMy|yd|8Z7 zUn7Up(}k8{L~O%m)?CwK`llO&sH{f^bcTN2JiOHrEd0#2uw-2Rt7{k7QO>F3 zy6jy{4hMsL)BOvK$YlR-ac4O1JH##boNteldnQstk~!FM?ZE5at5WlcDq6f{5#w_@ z&FKx-8`>zZ?v;ZxiaPG(;TNwT>ovoey~@{N(EiGLb&PrOmXPq7$eA-|*@!Op>=%0D zKYfs+8N2l8vx3EAxes|<3Z+fOYb9K_-uYvL{YS?lNVz zNi;ar4PS9pmt(}tj^6w@+#Hl_(d=Md5^%QTLP17bQO>&cckg}lliUfDbIS+LN-sW@oJ+fi=526XyL=-~-Kh-tA1!dZJt1+AV_}AsvuL*VC<%c7$!SgBGH7 zM_Z+NrRUA3k{TCju(p-Q**selC%pAz7CkcxdIb1UtW z2QCO0L^05lDQxRM&YfR!VLWtd=5zB!hf8%}F5TEWFSz`>?mp1UXf=mRJ%vX*f#1c? z+Qi9BJ9^X8DQ5P@tN=i(clPEDSUl5JALl$x;LL!Dtg?VqX52_ zcErU^Z-B3H?au7t`5BX@Yv>Pl*X^;EscZt>IB@Wh^)F)}`nR8IKM5@t6<}SG<!mFnq*AMt1{Ku8y;JM@6#Pq!t$!VwAPiA zR<*l&uIX1xtt~r6aa8)?n8MW_1?>2LRl{Vj*C|biUeybVkgAm77u$Iy9`M;y*dZy+ z`_+`bw^OvWQ<05=eep`#+xrofVMVdH+`f4|QQR`x&)V^V)H2~kX#|fX?AB0 z3yTzOM9Lka1=zfHMCe=uye~kHo=fW>+sHB)WTk5%f8f=C1g}_*tiQczOR}ZvE!`vPV?Z6Q=MZ*BhqDwOdVw|P5y@AXpq zF^jcM)$Ntl#hG)30k22kMt!=cPG``*xTJp#%$#qtaNasUB?4-P&!>6o1Uqq`PM&9A zgnaK_&5I&OE^xe?yE1pvy8OZNJPG!E>~g;1wCuEe#bcPRacJ6u4&BJ}-`n{0QDIRBFNEj?(Je;X4n z`EL71;wpY9T1+%)Tt?)TuBj6rE?r7f(=oOeQKPbJkS+77keLPjGRR8B{8Hhqe4)o+ z*tv^fF<+XXE3Hm)9|M0*cr{Hx_GhxO?O_tB>1>^$pcuV6A*lI(}%kW}V4PxTO@x5su_C>bmp>aR8*K?jo z=I-?4PX@h}s+C(jUXuQ>={@JB+k;~gmp|sFzFBvHrwEedZKiadSjCxHJL(91k2Fgc zKOLeQtPQ(WSeRBOh43)uE<3PVpII7jek0S@yh_Brk?9=UgBR!dn(ZUJx<8LpFFx3~ z$j7W-O{p!fI$l?+IGyKa)z;~depj-3yym4=Myi|C1N$epYO3F^w~sNgJ_wmCQj>c1 z_)d|LmHd%Wk5jMnuN*l2weN&*5XG>XgiPt)6}+*NR^?gY=z6y`IR9?PX5}Gpt6I*_ zg>zR3pF=FGWqv4{_KB4e@uH|L5&|B-88wh_I=VkDr08(W?xAsf&r}GzZ%74zoVoi@cKRaod0`S_QVB~qL&Ni6FWv9+^l2Hm$1|v zn`^wW-kpgpx^%dBZvKAOMw0oS9;j4%YEXI1I~>Wy6V3LBvHz(!D)t!03`F4%m zdC{@hpr&E0NH`@~av&7qUwW-=w;R-Q-8}q^>|A%-Q3k~W6!8Ls3n>1NQVp=Ei_c}p zn0vQ~X;qO2P%)zmjf`xFRit>rr^X*xT@hfC(j=)oF)I}AxyfL#*FRT)D z6Tzp>Q+cC`*Uz$C&_y_o&eKb-WA8JDSJ88rZM!6D%v1i=YZ-i5xAtL!V?P8t-|#63 zI5uo|Sft-RE9(B_s#UVU*gbI}2euUhmYbq^-px*e5u-embla zYG#PJAd)rs`uHbkI;H<&*|3NGy_b(2?pH82RgQkHm5QV912vWef@>#J^oKsYE)bzf z5qk5acHrt!V&Ito&I!gR;4z_dQ7hgzxQ;c3?hZ_Jolr;5#pAY9I;HM-o#v=`%QE#$a|@(hh-jH>9Sn7<3s;wulR(! zZ^jj`I{Bd_(NVXHhUxBJyl36p#N!Lkqhh^bj;b&%?os_h1EZnY=`Rrv(-V_lv@XTVkv?ZnmvQmrHeC_P0!o$}T59f#WhkrmD>fJ`DJf96 z{Gzas?8=JdtB_9tldse1XKbEEwU1nvYEQtorm)Op1wHk7kH5p-$hQZzS-i_Q$22(+ zw7mGbH>hkWGR&N76!MjMh8Q+Bkz`K`H)4ILG8bj`($+ALQ%H8}U%giTrz9SiQDa#H{12xwjnsSb2TI_SA+wM58ANUNne9{28Z3Uj!o!>L z9|(NGR$a0=vWW|0?PZuByDKvewF zC_n4Yj8bU3v}krEPaWuOno`5i+1!UGmbdi+- zyA^8UUg(kTP>Is;<{(PqPVxi`^u&Hc1fnTFI5FoR%QbvktV`z`UoX{(^kG67+YRoxl)c!BI-DMJj)>G= zemZL&^YfHy`!jb7jiqzS37P*705w3$zq{THt*BkU^t{H;Y?~V~mwU-+lKQk7*<{MP z;2^6E#{Y&w5z_!^NKqIvI>ay_7O+5}u?F~jNC+W<1<|Xc_i@zj9|r-1I5h(X}McG38K!v zz`{cg)ZD?%_CB^KSFgkfHM;;k#jV$oXJ_t$`ORG}ZjtvurjRZJ5J22Ff}pG6_b*yf z$?h4f5|6x0SMSj?NMXY7QOCRBrQbQ=WQRBiNe@1fXWm&Na`@Fg|5Q3e+Ee>u`VNjP zf|w|wBw*NTe2vrko!)LILzWUy>`-Pr7GF&`LI|P~2{zH`8KaraoN|tQcj*tzbb6jR z6Rubjo>)-#YXa^F9y|s?%7Awvdcjm^%|7E=%dc$Rp*txhDs$Bu6xlR-Nla6`wqibfJ zKL0hABja#;XyAU2&vN&fPgJr#x$Odl>Rquz*CQ@zNUmKAJY+Vd(?7LF229Y9ExRp; z9Q}8gpIQ0MTB0>#s~N9>t!;|07zPPM>4I8-kt{xrifOrWIYpWM&jP10WU@!G#Ylkg zkTiT}+yONyfdDClI$(hlaJQ03mecmB>1lv6Qhg0~A{DkLaU(IP=Giusv_yuwMVIXnFYh`>K+r=`vysyJ=Y#W~vdZ`JY_>TYCsI1Ct8A~9{-n|I zchH(Rklfq6gF;@e9*~qRb)yNyt#lqLu5AWo_($?~%BqXv!k!;jmx(^B)MGVcA4By{zu0fl)R)mQ0 z7YsH3AE*1+7k7_)a!P#&Boqqi)F}}r%jk$pLco3(+w{H1`E=b(k^OHg@$Z}%4g$G! zEF)l$2_O7@C*}xnpVui5T)YOd#} zn6M8=ob#{8C%nc2`K#4nDtDkGIf`Rqo*~e~5WXzZR4Cg+g0T~^`iFnxd08U%z+@Xd zj4*7?V!9)avolvygig{b}{BKGh4 z&u2ZEX2jY}RoUp^SD;t2DlNpLER4Nkc_pDg#?WRrTb~tff4i~YRM48mBJf=}^_*Rg zF~9v=fpnJ>Ck717!>PZ~O^NIS{2C8!5$W>W`?Ad{XW-@U+LWYDXF20sj2-eW`J{I? zB}UBW+x)RfM$f{#=rCZba3e8iSvF;>1j3BQYdM0Lt!U=OiCT=|K=A*(^60X4aRL*9 zOGtsSB8^PUzl9t7Tzm-HfWCDywyP zP8%RI)s&G zQb-kM*!C-(ouv)hiM|yTL?YhDvL@~P`hJgr;`tgKRE_?vyn)eU_paM}=YxjMQ;__O z)5@9|zwyDKRT)%K!l5Zc3FfT7k~vV9>2i5KWfpCP{4TOE1DH48fknLMs*8tQ>ar46 zkfkCbAF!o@ELt#3ydtftJcU^4p-i=Kczfp*B09vIYvkNom)0=unrmO=dqqu#9c^jI zOkyIF?;08+yP}_+0Gke6M8%}DdU(~Xvs|k9&T!x|)$OPECh8^&3LSatNx8r-LX36p zIS%9=x|~s0@t7*Vo(za_|x%OT5(j22Do4{V@RHCr`ajz zh5W+5XD+LkonGNPF)bu~{Y;IEoA22+q9y+;awah9Ol}B7O;!ApkJzP{xlva^8ZOJ3 z?0&`fr6&qEXXEnIP#DA-90!XcqqI#Sv8kI+d}Tj)id_(=sV-nS$UrW;WjQ~3;ScUwuU~ws4nMj zXh#sUGDG1K+b56vw;)MZ(Az3Ob41$2va2D9B(e%S?~BbVB4=!dl?sm=Y`fU%b8M3u~^ z40%yhW8vx)#PdZvwSJgK$_2nD12?0bGpz@jyS#C%am*CoA1p0M06r~=;xzS{jOvnN+8FLLQ{`P|Qx9{MqyKll zj#)2a-=RVAQ}n85&F6c@g?E21gkl!zVPOa%s8mY#-8Lo+xXqCX5fCcQXZ1o@qKn!t zlUoTSy41-GT7-0yylC7LJUo8VYCTsw~PXTP%wjwBU8s*zP-j!T`rxU&QL6 z%kNQI7|P1K8|vJK#8tpp@%KWrL*N;O7lZkJhWCBH$a#U(`$S(iqlY?-m31OeCWkBS zPw3E%R51+9JS$z&KlSuoPGw%V*V3Td-|FXB!Mv-`7%vw6Tm-vCerOm$pYSbcS+3&I z4h#hpDr7Ad%?wZq;#9+=vXmv2xMll#5|px;`&rlSd3A>DAc6%eiYQ|@Y^JYk!lQw7 zo-4bYsCT*e(>S<)OzrTQfFgNpu@?2zTB%M$HA#<8v=~is0Sy~ zACWBWp>1>Rq@kzOVPF^>)&wBrwpNDs#wGdKT5{&|pU}l2tP;gAHIr3?zvQ z7C>P#Jy9`2VIvj;Mg(LB7*DehZBM)Dx|kV~(Ec7RWj=2xxRm_U>WF_M?g$M@O~X zY4=#S%mlb4&m^x500|>Byj#Ly;3+jcv#Yf4!K)Z%+vj_43O$e5HfbGWg{7e6oE)ZK_UBt9b{Xy5g$TLLK;xm5v>Mzk6`OS5rySz0%;r zz9%t^zHocYU@=QwSo91f)(XtXB>Ce8j!_sQ+!jST$| zp+|2zId)*J`G--VvV8ScHV!TzjT#bu9p&v=7|9|U25BTBfa!?|l2zBx{{H{-$N$|= z_ou=5em<=e+zpB9&Omhqb@b0v>wj$-%z{d{PmQQSq|2qY9C^y2m^J+UvK8e z`@i%1U8h3TNh3{4N`q<8@O%hG1}g>~DHDc<5F3UpJN#;X7a>$tBhlN)G?%9=bUZ6& zY*FKqv};rJIKF=jbTYMbVosd5IGNYNN|h>LMCSx^!TBtn&S$AJdKt66dX4t@f$d?p zpQ_yTI(9Hga~QHCkc5Y3KV8}WH9Zerq(V1@gz6P8SN;|fz@7$`2B(Azn<=r^emSUK z*Ga`$2?$H)zl^%0^dPar)x-v}4>fAVMewLo`b^-yLtzf>7@xWCZC2M4UcYzq{Wm2~ zD{WdsC|VtOC$2rC0+m*>0)rm-fkU9!E#1$5VmS5@Khq;DKf65@J5%KKduOtr$P-}0S z=idHEy-9*{a_MGgNSS+BFHky)o#9P5Tj`=;! zz%0QLG8RFIS;!a71ztq9ToF zPwV4xd#&hD0Te$U0#D@;kwd??`sn{T+Uouzqvq*#;$>pgLA3YYn@6*F`BHBv55sVR zCj2b_-Xj;8s37Q>47PR5He4bO2m+293ILqjO#h(j$h4&WCfIp?c1-O;3Xj@y-%bfJ z7&}wF5{>p=1EQ{rmklhcSb>{i_VNI5X4K?;006uCkNqQEB&fKExX(+wk%Fdn$T zaz!b zVFfrx5BG~-QKRha>GJp(BuQiWc40V1TdcYRea#fqR;3AUYuIM{AAPC)zsU+F#634D z2-zg7+&ooSt}A%AbebS|W??fSnFcP8 zEdcn79$W&zm+!yI-Rvg}$rAEqps1fE^@W9$u*(_A-O^TZy^gHU)}~wPM36V@-24h` zMg5#49UB43yhC%@!ulWmusEa#41Mo$VEa=NvuL6*w9mKyU#|BTBwR!8$b<6`H7^^0 zF$>K#*P|Q4ltwQqrKHjP&B;*UJrs!D;Si89=DZ`BOhqHgZBy~(Z^+bl%&fEOQ6LS` zxf~4cuj~x3gsFp$i8yor9VljPE*?vh>6|TBCqWaGv|R|L5=e`3NhsQ`s=W}&qFZi# z23{_@Lz7AF0%V<04Q{axsg|CZkN`*pN5~x>d1&lf}aG+xy+bzmygL|hKEb2e?elGu!@No zv#tdXUC)Ar+yGmzq~ikF0Qmrkwm-l5#0txVDkD)LrIp~af`RxNjpbpW%9GuRt*{Sz zc_MuO;vo&0$wWj_HXjJqx-!6(#RlZ2cZUEPv0t2aRSrYoyZ6vWh zsLEJ05Ox6S5|KvOQ=ONf_tk4t*H+J}eHxk})u{#%EOd0{nFvH5p3Bp8sI@qDGV?!w z{jaz>VogHYp}Y#k3K|xS%LYM^Qy|L`G|n`HWMd;E%HVgE&B?Xosq>|wIY4Qew4OL= zKs|On*>`>JuAuUD7;M-zOU^4IG;)j#?FHj{uSDW` zj1e4W^h#Esepm(ej0P}?px5aO8t&u5(b#QzJ(Kr+)Z3TyJG?W@djK~gf$vM@s;5~( zom<6=c4Vvm`5Tcg0v3fsZCwLkU(SmbSkTxBuCzZhd#PCDW4wn^exLT9EBT6c!3I+= z8Jh8#KAB{vh{KXbY47p?4lIquyHwaX4#Z$-QfLCEz%>;+bR6So&S zjY_q2mha`_z9WT7=0nTIByA$%Ga1U1ruTm1?zUt$o;xLUo}D*ocE;V%A|sv;OB7 zTCIb#M4+$q9=TM+!PmkpccewYLy-P71C#JD1^@wE{Za#!&dl|5IpOnj zxfBtbYS;B~T{9``hSm8tx>8OgjGcANj&UYZQqQiI)-M=tRA=l*O46XEkMl3VTNEUzSWPtY247fi!7_SABt)vM&R=&9Sxvjd$k9teOrt1N`-dMJV+2!tfL8+_kC)aL8@+#WhM zANF~A&s7I!_*P(6=4qfq05W4O)<6D6z7INGa7Wtwih@K;& zMQ<510kFv&Si$A#zY9p5dr~C0SxY4{nx zR^R`g=gokpBQp;e%3x*Y=sVUKgxowt-k~xnF zN7ffIpW;7B?}FU zR!g&Dj{Z;w+F(){nJKAUw(R8#F&cty^EVhV6c1CHLS%sEqJfqpi%K=|Vf#}lX(ME8 zc<6kglc)G8t~J(Ehx|Z~N)KV=zLXT{V}|pBpA47V_?&8gmaL~=F~_7ZSF+BbmMe9% zx1iNx1vkMB#T66emL&z|jol82@Q$PLG`L5jUxonP<>wBaFOF#|FlL{rITDzgKVJfK4`HDhz>o-79^7A_|K z>E;z);xNCavUac$#+{;Ahev2wu&_{;;`?&zu?e(*0!uUJyw#f>U=sINdd*mGK|N~f zE(3p%JS$Wg4^;k)BX8bN8{>Qd7%qjL1(4E}bu3@g4R#h*yBy>WBIGI=C$ zIA&WTVsBajr4$X}@w+|tZt0Ri{Nl0;4(tV^a2*Nn-csYH{&aqwNu(W-3=)o;8*WGs zDF!-F<1KG#{QhI+e-_8Z?|m0G2bMgb#Af&zQQe`ej@fA$^vn!1EW04PARUik1yUml z-|ODsE>i;BhuQ0P86JuIHZr}I^^iB@2p@p<#k)5hbQjqGi!F;CUP!Mm))DX)mVAaW zFfaJAns&MVw*!P2)S-$B3UhC1?rYW{8Xk0C4C?Q^i6%4+V}B72l|)G)kspGoLN zHn~|%l;f?2pC|mODFx}nAqRAXNMRIS#<~3zyg-PBI4$fMecyRr!pf3|WQeB%5Y72! zKWCNe>>V@=Vd=FS`reGzi!0r&$P4Bn`e!G8dBa?lm?9=B;+&Q;5lPZ53?NwZ&`U*A z_6YL2Y62(+JD-SCjsj#qPquk)&2`{r z=X3wt^LKM8c%fO_miwI)?sA`aR5|{2)ve7*2WM<2*Vfg|%Mv-Q_*n!Z6#Q6<0C^X8 zX`cRLsgnC7bZb8hc+jFq#_m-rB{v!qg?`qhC`%;tvah{M6>Un@WVkSnT9b>RyGTfc zp?MZbB(*PY=sdc`psN46hlx8>3DAlXhKmUe_vVTPVS@Pe{De{mF?7|PQl?4 z(o9KF7=DYY?vll#cfU*pW2Rbhn?`3}0q6CV?a|KMfvOPg3rtd4DZ+oBHGSrni5nQk z=-}sV9^7Oc60%;B+r*?N$yeJ~Ak*^&#z?OvYTz-E*pZpWruzrUq4+h3Y_yu*)tq0R zB}z3ZtcoS4pvod~I)(_jXCiVWlrX4{mIP|~+Y~&Bgr_jGEa5cM<4Gq_l@i*O6GQas zOr<3PH+sGu$|+Neg>t$|^-K2ehqV zO}TLh$JhQ>_9a|L5}z}Ni9F9?*vWp14pyt2gHyH&&czhSoQ~faqD7sJqgG#7=LYiyk&XPUHdvT!!uK6fz`!D2am)6uHs)6~)f zk9|#{;OC);8$p@s66J%cyRH7F3k<-qMIyj|r;zn59l|{(@H*gb{0wD zn+yDl?MELV+Vu4nI(q+he%Ag`YiYg4u}rCZjJ>V77@aF!hYb}p%uvXZ2^Rgx__qJC zd}T0Fga3jP**b}&gG5lRq(?3kXd)ivO&GCCGXedfT6v-e`5-fnSP?8&Ng-$LRAJ`JYeewyab`CD+eAe0-}0RuNY7KcdxH_rIRO=#iG6_C3$4H`V`supgIc z;G2E947kn>xe>1rWC0o5vD8_8EM2v>DndTX_Y+N^W1sQ&A!B@FAE-?VY*|ixoHiK~ zvQ3tif1ie-WxzcMl_q~u7=2`9x?;;>PxmH^^*4@{?;Eg}5fDyJ%N-Kmdk`(!|kdN=6fqm)L894>>S7m|W~T*#!1c*=>KKt_Ih8`SJ4@aQd?^il{%}0B+bX zk!=rs?Xe74smj%wa>l%O?_DSY1eRd*zDn5bwvxobFEuI*YhPA7QoAoyQJLV66LvQd zh}5_kZ|<(Kz1!HV*s&0OZLDf)Ab4n8uI`Fh2MEZZuVRIx5t6 zm?5mqtL=j#6xK4zQjh1zGfVhbQA=}h`55tZCD1#4Ait3!4V$Z$^=VeLtnE7tV#6T1Ugn@#}zw5+ufs(hsK zl0z}NNtP0nU^gSRjo66KAHd8!+3*pTGq1!v1OU#hXtS*Wq}zV{VwfCtGYIsiIal^*jjeUCK%dM#8{am7C7YWPw_3P4vt?4Y7hd~K9g7-C3ERCxnH=KI*l{x{M* zlJ+X^D>~=;h@a;UMKk9{?Kd~7H3amX#|DwB@xD0N#CSl*2 z{i#{*BJo&po_slddtU4TlJd~<{t#mvO|J5^;UK@8|Ep#jD(^}5VVecikgdjogBwIH zu_9mY?}}p901pQb#mm`pcWX7EeC>C>&;-IiYUzlBhlk#Tu90qm-AfZj#stE!|B@L z%=?~8o3cSF9rpi!!IcX=Fb`;UC+62|&|iQEG$8Ex0fbZQK`1+S&LxFKmE-P&Ca=HP~{Jp`vfNVndEr1l{i71uIb$@*s-PFfb!HdGq#Ql8CrILLH`QbF z1{Vy?4%m-B%Ixyr1PzWYW|$Ihc0H2`;=8u;wr3?$j4LFKRwKCu$pYq4Msjx&LtWUDWNH!`wgkWaSz{qB10w{x~ z@Gt?$1gVb2ujuhsPyIKW)0 zChqXGglfroDBvZ}{@*0Wm3@a>jQ7CfGG+x(UZ;DRV{*?kZ(Fc;8qY=V=%8u_{Ro-6 zpJ~^UkcSe9xAgj-6GJzt{omQUE!_CFHn@Yu&S9creEz@M^(t6ewp*se@#Zha09b-X zxSk#q2tl3s_VK`a16T^=QHRIN^G=QUn$4))M`g>}$3z6CQ>7Odsj}>-k|tux8vKP; zLce+Bn)D0+^j0IcEl06(#bn`y`rbFsp``HO7qsLQ?QngwIsp&>sUL|b29C6|0{=#wtra< zbp|DX{M{$wKR+%Og)W0*6$)H;3h{s{0I6=wn`yS>V#X7MLHdi$`b(AObnBZqm?RV` zM8ECz{a8J(XpI=8*HSRkSAPzO&C@piHyXa1xJD|^26`of!SAC9BP@=?9%iENDJ7&m z?V+VL184OV@fsUj?ZHJNZWDA}mdGn)S%*1%v315pBs*H}g@~uXTTj@?%0&qV_#8cz zXC{{!{AYIfJfo%NgAyZ304k{2J#G>HQTG%U>E6$3=)wXuIf?*?NiSOG-Q@5r$aG6= zS*Px-J~nrO=AUP3R_SxM+aS!V$#5YhPGC%>rceNX-fU`?i?sVhE8 z>Si7+avg8cW+^ff=uZ|jdD5;n66s#sd_(gB5CL;IxMK)!qFAn|mNdZI@&g!cAZj8u z<~KI66a|Oa3$z6Nr~5;wkZh)- zcM3>{$&8!_`R#w#88SP$}tI98f%5hdFVXO5>AUc-ofQ zg=Rm@qY0;v*42TsA|jDUj>(-yjg=fxS36N{&W2w%PjdaqSz)+`6@E>vYi13uoq>g0 zM&EEDw(-57hBCta1~g_%F5q8?b$H9Xh+H$3k@y!*c6VY=zuup;? zf9C34kc#9yAY=m}rw&YKnIIX1rnQrJ3PZNiv!1d>gnSrQ%3nsWZxPJ^vI2cvu11UN z(My)?j0G+*RRMx1kie6NGMAjBD1;aw0}4^Yge4yf3aq=}wMl4`Z-ewkdPAq3_gg$LRHSLg2Eeo1?w~g1kkQS^n!uJWJY( zofCq`R(eH6B z1ziP)c4_kD%#K#EisAb{#1?e9VS$Lgw~1bKW6x-77}id(DJpcVGou{3Bdq;gVK3@A&)7E7)$Q8{CwsjK@eo?`4*SiW zL_|bHUT)olb*uH(qc9!bKe6D_CBW&YNNox*NPItm#NK%`;2iA2UST;_ z*Q@SI#U)`dGYOe86*?^^@KIY*;B)crk>mBYv}tcx(NW9G%#$6-kJjbkPDflm^mbAobn~*s7cJ?>yhH35px(az zkDB{jcg&WYo(u6XCkLP~YmJ{1l_5I~X6mW(HaMZJQ;i%Ph>K_Ii)8?WMy?Dg@cZpDt2{cSdhS^yc8M8csV5dso3@!1Q9(Qdu|9jv^{hbz-@ z5gy0<*5s`2u-2B@_PW>a&Kux>!Ur@6Acz7IJ||E`6bxFvB+kV%!UrtauqJ$13R7Tc z!i&Xaw=KsS1**&rO{J!AGg$j{N***_x*|4K=yEHOOEG4pIPT#f1=S#|(~`}K1Tnff6FwGjE}&O#eMrD^tUxc zLPYu^OyOiZ#`6p*pNEMo7NH6O=u^^SOfXRTSQ}h0uxUXIZr&C+w9*pma*eg60+uUJ z3zNi<{lE)MC-Z-m*i|}gC*M6zFr)Y*=4ilGqbM_fcLS+NG;EoXi0B{WZ}S+)eQf}Wb@S~_UpR5hQlah!^kj(-$8+_QC(KKkmb(J~0MI~x z4ER$oHYb!fZ^%0-a6y!!K<>p)HIO&Gj$FZ@GBR{3i-ft?+UP9cm;}QQL=ZW%tb`~c zDpD#{5~aTw^*rjI#0(;rh-fdlPdsU}e|#S-oZ8f(qNbd5pcARw`Azq*-S(J3GiWBp z#YkC-u?iCB*r4rNfQtZ4B+|e?iJ&>tUXCp1ug_u{=iK(ZP~UGn=o^{$tw&{~CZ5fY zXV>bu{`}7k-z=|sn=^t8F`4^)nRIb_BvfivH4`vV?J6Gr&_?$E4Ik}wghb3Ruo{d{ z5~kRSFO%<-PalO;RkxKpjlK>>2>1|qOAo1KvkzaD5_CdtLPBKe6-+jRwHKQ2rYGc zoY(Tuu`&9_ZBGCyAXKEQGHRI5F>Z-Lk7|@MzMAF3vyZpiq6M@_+5%w#dJ0qQ31v}~ zaPh(uUGG6yydU$}T|5_ceC9|MG*rZ12jAev4RZxBDGAfVAPS_Nzm+E|W=rgTbB>w& zPX0zOLm8DigF;gpjw^E+PdN&Q<2oB$tE!izrv{y|k?!GPEJ=?R*rqL(R()^BVMT_PY%k|xIs{jG7W)&e62q<+sn8-)mN z*a&it5I!Wp8tWVJ6V0Dt_IVM3!eU0cRp@xd^2{=cW|GFhYOYQ`KezgHpyUY%DA-1u4E1WNyRil|C@|Tv z;SJC$dF;b@^*pKEcfQ@N50DabQ?^eHt5HSfpL0amcjlalI<3L@5%wEBahkV1CAus) zmUtNimm&-nx6@0*%xmS~ToOtwRB$afn)zY;G-*Jo*dAq5GV0=M0M_0(j!~b=%90b| ziL(b#p4=^#gRPk0GA1PwH$ayRLC$&f17K8v3TWU2zzW5{$sb$H(yPmfUR;<&&I2ba zDwXg{ohq>iY1v~cv*siGt3mzzZr?v=tuz5v(WKI@XslxzjZ*mq5|$bFWZEF7wdeLI z83wZTjh0$m9k?H0ND={%Kh_M4YyUux7i}T(m@F2imoO*w$YuBiY)I50kpfvFvjt=~ z<|jDMg0FBa(x*J880BYh*Ay5vqZ?c51mE3fu;1#W$sXXTXC}v2ARTsdw@2Qo!mh72 zZIzZ;bAg19ixnWp<2bs_VAG$5eoS(}{Yx{VUa#Ld=SKZf>FE%)YSKc5vHElHM+IJe zKJumgg5SN=U9p_MqhWfA0D$!sDLWRuai#fi<$b_4s%kZ#Bal%PC`M5T2AWc-$5Jf~pRVVHw=aBMfefv5LK&U8i5LSYrOBhBlIY^vH6`T%w1#8zh94@mnpr`9x z;#f8+kZC#DYXwd_2RfPX$Z8J`gIv@%uzp~lqS_7e6uzakF;9alTEvO07oV=jvE=hk z{hB9TL1RE(u|K7X82*XEnDnHm6DOYDI=s$;4vRF;M`8!k4xl@>q{=_t@~(iA)v(AT z&6Btd@92^lYXH79@!AFypS6k$yebXu+%e!pUp=ec@)FX``8&0W)60S;Kt9PWfaFcR z<#pS@sxaw0Kut}kQtKm@q&f40&CEx}yi8euS1l%iGBo-O9X2-i7ohjF)Xj7D)&Y1` zh|7z>{EqJPLHsQxc*L)cpAdh9-%nn2uFb7#*Qn2&JD9!h3OB3jdH{bq?cKW zCzyzT)Sn-!ZbLy#JFb=lCsK&MHbI*;Kp9*`kI~m|T}T9=`p8Fw!!>N50C^~3mnzlQ z-Lm6m2z2ATMk^LXIBW9$xJSw|I^eSrh;|A6-7Kz3`H4=x-`GzVKA2_^HmgyIj-=`V zV{1Ni?I}PzoR@gF9QRbKPin*uY9+-aR%Q1$HZW)30-tS>0;%)UMEPPK1WQ z6{v4=)0U5tg?h9dKm!6~OdT^QwTMHMUqb=NgW2Gf9&H1W9mp*`^^n9BP7S zuO|}At#2NP&-z-lEYEUM5oT0}!bwV?vZw6+=v-s;a1}0;NI2OL?J<}0f;ILVkM0ozwv4j^L7?0b(p~h zp+P6JM`}T+?FidBckswO=K*+0EyvFsoq@=Z0rZA4fr8F8ELM3A4m9|Ldej3G=Xn>5 zYgG^`oiZE5L>Pf#W0YCqR97jA_aNF#?e&E@%(qPDxeswH9s}ZzP=PV&9Rq&)`UZ$u z-$sqmgHRo5rS~>sM_B(Q#^eaEwV%4apBzV#&HkGH+sc+Bb4N!Y*XiEbzuDqSe&0Mm zhtYtF=to)(3i|01rY%P_w9O!n+bK_1#=?d4Ktkj^jDK-qX7%cK03DY5({y{ zUu^ER8N)TwVmq>P_n}4vl#qW~0~R>)2Zs2~yajG15*-)u{RjCfjX6~w$15)x*!U~n zY%T%NRM~O9i9l8u7|1=gtL*0KL4Ad&6+o#ICKL3qAN~FLSC^z!D%+^kawit~w7V#% zL=b^D>6-W(Q(wiMleM2tbo?(L>g$!(?5B+rBC4vU*ZpHQ*}g>Arj(U`!7bFPhpwg< z7N4!z{QO7mdq!8SQ#A5MPPY)v>oIj|27m)J1qULKQDjllsqSvKSCb-})q2mMXsLz@t`u{7)X#RBm`})W~H7r1q1l8Vslp9Bcd3Q5cn6|x{UHY79 z?f;VZU;Vn{8HN9s|GPCvjTG;r$^Kr4LT)f>K0SP((ga3qVdh%^$r>;FXh;{i9#nPp z^g_zm0X!(%xBdNF+7K23HwKsfEPG-YwH`Pk+mY!Wr%Iud5kjaYdQ}xymiHa0yB;eCr_=XF&&7A)88CkBF3rFpmHNw z_^#L(aazoLt&Ow`M^llEPDll3kwrcv<#Dsm{1-0!Tboo6$KG1uH+LmrWS`EQjC;=>1@wl2^RSb4$*sEF zh73nsPU&?W&lwXigLl*C2MgY(Q8>mq-S2zX+*?nC_yNAt&AYKz%sJv$J;LqX;AL+TqBuK2|65 z@KbY1U~drIVmE!gLn7oiO8r?OVF1|ygal#OU5Oy~DhE(vxol{-!>0`EH-u=tdZvB-gQ+Eq zgqB!cbCW#7y`J4yC7tkok4yRco{#!82T5vC{gbl}p$s904WPmfNMR!^%rJtdN7y_t z!C+TtI^4o4N<$nfG995Ru8mLMkv|jjjd8EZ-MMmlqi=faKSjQ`p}TcP#hyDBHHa(A zxKOqUsIWr8fZ5_qWc{*Pzz{r%LIVFY*JN=>(U63N*4UAejavzR+YBDQ!34kV**}ID z5tD?iK-C`$x4M%1DlS~f^6Vj9bm8!S71-SUpR0P~tyyjH1cL^x%dr?dFDhrl z0sTExU|}76ujQxShvtG1M;j^VdiX0@&F`JgUu1*c-16HjmPRIdy3oV`OeanqgP6*~ znctTiXfn9aMZ{+X>&EJfj?PDr1qRegv1&Ob^BVqHIM% z@S)U7O;q2u5pcGhw&CXjmyWUE6(C=@x-e=@*n^#6_zPn!~y}D>qXB#Zh+h(r|+f z&NrmB(LGc+xcnu#4ttAT&{vB^_?d73A&WgLd*aQ8KOO`;^HLb#T;i$|y2ak5jo)_F zufX^mg4LrBkU>+qrR3=?i%e-5UKNYd5Sdu=C!HXZDfJ_zg|}es+<~_RrrV@XT9^|0 z54Zjfv^TxxRPF@i%0v83Vcf2_y1c4nVYX{{Fo(Uh>}lw950_`TD{F8(J=z`bFr_{j z`_g-TO>-q(4!L$u!v3w$h@mWqmY0tXaAuigY7>U6t<*J3e7 z@!LZ_%yRx+5lD_jRhq14Eo-9bb$GRaYKi59eAdG>!Z+ko=627M@6-4A!UeFQjA z2%eZalq9XkOQ(Ejg*AIc8KTu+8@@{H_Rk#?9;0^9B~c1tMMLz3j5YAFyk;5v8Jh+c z-$Lea01(qbfKX}D<4axe8Si`F>@qVh>k#uG6pkQ)E2X5Mma_l zQz1k+m(c_0aUN0%gm7{lBuzrH&6y#Y4|Z|)$VfAnNeda+XJJVWqo>z8Z873pP;D@P zOD<*Y25->9tj$vEi<2yU=F5xZ1p}2F(dVoYQvLvMK#;#1e9xXpNMx}z*esoT>(knQ zDiq4(AKPSbA_+6Ktcw#pUX`@<1Z!}XG;r94Vl9wxyuFJUhXBU!d1;ZpL&e&e;B!W+ifc=6m+!VEccP0 z<(@}n@%3H4uO59da90NUYWE^QV5<`gl~uplM}vPOmg3szs7}BQB0WJ1JVD@DeqCSJ<0otXACcI3=<+?jH&qp89vC@povh3m zvu4dnvu4dnvu5N%`C7iOzoynl!ARN3I;%Oly|nkrcv}B>+XCi|yS_%6llVbrp;zkg z7mfX&y~6$dAgTW-6FC6_DgtC?3yPih{Cvr5H)2b9U{unIo=dfS7j(^=Hf-6mX37Z@C!v*%5I;y7 z0i+s$>Or7Xp%kD%p;CoPs+?s?;QcUnS6B`E4g@esHN)#;9ps)vp4sH+vC~27X!5w; z0y2bAEci%HG75RR7r7gok&csHf@Szb&}&y@%?T3nOK$F~wv@a0^*<|?*4F(*p9+Tu zcXWdC@eCU!U66MqAB+xr0&JU%V}5`EzD3aKkb~D}@g?OJT);lBv272Bk30#*#X(2> zq0I2p*IS3Gegq&#Q;^5cPp0Q;#A&3-KDK1dwa((ZMd=Sc*IOmXbiyEg!a80aAK77J z0~)@pqIC_AJ9QAn2rq?#)!Y|_;}WjQDz1jXt*0kpr?0Xv$ho#5^+77YA9$11jo``| zq&3U>zAtTojs~gINgsHN8Tf!d7~gEKbIrol0!b^=jHvhY`u)hnyFPujf1}>bTY#axBe)~JS$lpy`*W$5xW)t~IXT2VF8XiU zB`xXIxQGV6+|5J@_q!P=AezuQ!sNkLerQ0qQ zU9LYtW=td!8H9`H1BOK1N2Z9s6a*^+!g^9#77vTk{p^zS7>7p&l#I(gOAHD&g-Za3 zS4AD9JG%Yt&$gJC5@+$0OGX|%<;{!Six#yH1KfPg(GEV@LojA&VqZ#&BJR)Y_HZnZ zwulPtU)xZsn0`O*FuXW@A37l#BH#$3c@DALCvfw*3l;jBdagwTVxla-^}zZErkYcE zx!QKb$J?gY^1{2oiMrtP7B9MXeP!mFu&MJip}>U4*t>!D*g zN{xaZG`u=nqvB#HIo1JN zSk~kZdM=lKVsg01DDwmw~XGfRco1n^SQMgL@8+T-jM z)riZltLKmD=%guIw)FPju?^LJvh;tu@y96}BBkpav<`MU;6F-80B z-UtaX9{MOFDWi!WLLjWbI^2Rz95`^eXwQ*U~M>#xQ8OTJUt<-2qS*rO#j~O z+wgg#VA^a^(Q^iupEGlN0)q$T7Z@-MdB=jl+ga0ZGci&>3qw#{T5NBe`TtTJFr4Y; z^d1zcPogJ6OhRQ2mUz{?#Pm@SQGh65s^wdo8vx81X#sI`;+JNvBbK(a0!P)6ZQHX3 zc@G11{W7a=@j!7oPA5sR%kzkxWEyXxD7sU}9>P82NHE8)1D(b~P+!;5F&*f~E7)j^ zEE#hecQh2)jMY@}yN+o@u>iy(LPgQLrLn^E}E+TEtMQY`_`+4Da}i@2~d$xBAG--gU_E#BEYOwtj%|TbSWE`d)I( z(hTP!_a=JK_o6Uy<+Deyo;aSye{uirs7hc?i6W_$n1j85;$MFWrD7#QZ9k|YG z(*`kt<0iz96%%|At`S2v2x#e-hI%27na%!KRnY=4v`+x;ayIk4+2Oha;W;*DO}b&5 zHc8lfT$V96N36<21@M^5Xgqp6g}-Yp))KiR|vt$c$%(X&_jBjf0hYj z57zSW=Cj>pKjf0n%|Fq=oZ&(SSd*s!E<)sa2-cDPnj=g_t5q|fG$^L=-X)Q2*(G*? z`*tp!8_9MbASbjTzdiU(QcN=@OTqLSR!6$fmmsJ#e|{xO&#~45=EXEb>y zTi%`xT2)%bnWkrx3oHM$&K6 z9GdQIV!89Vl{o{4nH%r8$d&+9*Hilg0fc9bWD77tRaBVsZE?Zs2_WKtc zj*qwmZo-@<(w$uT&<)cux@sKJHPHd*mcDW!y@o96TA`+d!ZQBtZhFPJesh)hyl5)H zVvT?;*e(c-n3&E2--d`a)s#1iiU0;Lgl~k#5;azqrjEBdcA|Xy0UM~mb~GN3FdoQc zjg9u#klpe5-C=JsW*)Lw+|g78uspE>_C2;NvCtfNfE(=?N`@6T>|XrO^k6eogFbPFQ{V*!dV zk|1CWOUHd{=P%&B1ZvjgUOcW_Mf8=&WhB8}X)ULFuS}Zm#8fvYk1ikK*E$rroV2Y+@I=7kuy>)}>u=CD$9kAkAFL4}8 zb0Qmp(QU!27?RL?jVCxw!TfdE2@rAn#yY(F>B5X(~(t>lW62v|~= zZz4{c>{;TzraVmLp6Hm&0wLBc-U!5&gPo=h#$xyzX_RIN_}{dJ@Vf8e*kQ`fr(TNvzD5K}A>zAhNhRvG}%G5Ay zdy1}nnIeS=H2rFB0+q|0%Z>NC9tZCJ7EhiyQBbjW1i{@l4|w^e;ybyub#YQN9L*s@ z9b|D1T~aK@hQSab1VoCroJk*VuZ!JpZ?vC!{70vJFzx~ThFHKu#T6zF<^&H~1!v_{*GG%%iqSvO>C9YM=Hm0bd zwS>%=RTW|o!_3V+FZ0Im(sDdfNHatuB(TgTu^*3O1zV&KC&c4ePARYg@9USBroWzf#unP<*bQB_5ZlQW+j_L-TBW*OVF zJ~_&&DyX(epEVd~tjsZH37sy_8^H8mv(!J8*YSK#4>oc?XUk3UEX+6uOu20`)GBDD zmBFZ$fe8i^EUV9}-xY@h7C6+#V-V`*P?1UY{hy7-XZ0WIA^@aPDWMnm2lp_V%w+3(PX2?>SkAn8ZlhDuT; zM1=K3u-1r*wMO?=eD*Fy95_=nw`eI6>ewigqt)cbU?->&?g*oTM&;U~)= zS>(JxJX`$}v+w~e|a{~XY`>0IlN zyzM$d9~9#_-`5`*>9;a0{1hGSQX*3ZPreV7SX#a$)BL}_?=j_M^z@Ar|4UEZa8UJ7 zo#%dkIWS$TDq==V%qC%(nEI_H<9HB;9fCN$vCo)Xk)lYiEFbNoiCqF%4K>CYok!}i zpOS*oSL>l>oWZg=IOg*6na=ZGhnCx@z{PwYH`5kvsS#^h?S81-x~z5>m#$Pn4hY-0 z#L)bhOLot|$YemMBGTF=H+~B@(!)*9odf2e%<1HGuA?byj9*o%^&45dY3pWxs4h#4 zQVbdnymA+4FoA{;FwwtUGl#9-Itz|Z+RSDVX<)+tH2XA3dIW8@sP2GnR|_vq;X_Nm z-tG3_Eah2908UK=L8^r!id2Lyx`0F|g>Mg9Cwz>je}z_V^o1Qa?yIzyZ)CNlaJDk_ zYc}G_OQ<5Cef`;DIdr=mzOOsj(9dMt1kbd-TfUFCyf->{-zE%3zUP6i8^K5f4_H9d z%6bq^_ygN?q9h1QffBdjzYHhHiq`^!&k~ByvFv_u6!UI8vAB##xxJILyAh{X^%c9B z2Ik+Hq3Slt?JqMRGI{;(1<3FtW-`RCA3p{D8{w6&)6y75$OQoW3?T;+Rb0zWc-byzUk2k4Wx^#c!j;oguH$aq>9+ z8mfWj)&2&c-v*kL(v-}U;hC}UwbMYdTD>jJ?eBPMX$SiSc7syK*e|+`Y-JNBU}g+~ z`$Upoz}0}W({GIP9ofT4ebqn;225Qrs-P&OP>B!ye+Dw=%zkA;pPJees z+LJbDr1yPY{!0dRn*11Q^dpH5`Qnu+5gZgx3~{%dQhx*5r8;;;{l8Iqdo-Bjh?gsatKxWb54RDel$v?i)aeg6%K=kse#d`^H<_YsHg9Rn8e2c~ z1U(O+KvKuCAIK5g5e=CU``1xfQXMFgGg<)A9$0>0U~#ZZJZc^R2PAOKFNLTQ-%dpO z0Nx4~KLcu>76v?V|LF`l3@}Jw*7*HilZ#`ex(;Ch#v!?HF)PUF+5x&xMnj8ZewD_^ z1+EX>J8rmUDc=acf;H_lk?kn})^X#qbgF#To>LIl5O-Z4QS3?K2T!O;H=Drx$S_!>>LweXW99=dxxKoBTu6vy4J9l0= z5fVTPcsnF5^%+^4)Yg2q2SdqEi2(eZRB%k!<5qd_=-U@@6vuBp?UI+m94; zcfKbaap)F8U=39+5}lC0@Y9c&kL8ij@+X}+e-a-=2@n|rVN7ecuMcG6Q7-pYG`t{T zegT7Ipbr34uy{pP42nZQh4b>Kn$NjdccKv_74ZLfH5RNvmm#<)ez*dPAm>FuREB_p zzs40ilDJo{1?Z{%%B4b5Br0vnrO=6q2zrCnm5Rt|1R*yc2VmNehOW|;RaI40RaHe* zRaI40Rae{{ID}e|BDJl?E|9`|mvL#SaxS_gS16lY*mOGh%c~~%7qTEQST7kpVw@U{ z4rdrlI`~wz(z^Ae4cl`LDl!xWz+165+H`ckcBet8W!wN!-jy&-ayfjpFx}GS>w60aARJDiGGwxxWcf+4=kN9% zRLj+N7>f3_=-0XLbDZZq0S!T5+w$r<@a!}tAjypTTkOSGjJ+u#99K~~v z8xFD*5n!{C55$qsfE&Xe0JT7#hnm^Cr?UVYY1RKMifZP)p+#?q{T_>7pTz9!754mG z@pG18gt|b3<0N8;Qp6(CdCJ0QHQE5BbU9tQpSv>~*>2nMr||BTXw>~k!{gS}{F^c~ zYt*-xiZX8TgRQcs#)8}t66O8gotSer8}$On69&ENL1y8OvAc6?JsCZvu_6jzcY}BT56pK zSXJJF)h;@ST{_HamiE2NTCj0&aB*B3wibP@t$eLmWMf7}!wheWh3#_HYYof{TVz%( zG}W>#bZVRBYdJVLxUeP;7}16pT4FVY1}#+=adBF#99&#n99%#qxMtK6Nv`aO?BuHi zWs#xQ=Q;R={l8D!Y{kGM5Adqqq;@%~&Z}z69-`o)KUn_18i#p85AeXDVUrCS5j?-B zs_=62vz(TWTyQu-C`tw#{0?ZDW$w1L)-ZHjo34BVp_0$U;)asA2$g6tMJ6C-hGYry z#%uu!FoZ5?q7py^=240=flNY<3#P8eY8X>8^uOVa-TW~G@_A$Tl1OBeS& zBuQVw7m;E*&es>laa8HhzGDq1Lj+ZUU>Ss|ky6D4b|zW}+{Z&!;bU>%=hp|PeqL_y<)}#@qdDNhXj_*Q0UjtKA|nHqaYq*P zb;72?Ykh95jncz-+=Rm2w3sjCnPT#OkyD2+>G~n3I{$4?x~(3JZJi*;sSS`p_zL(6 zMqcuOEqF2jt%ndOpb8SiVBno_#C5VFaeEzL$U7}wP-et%fCnr)yPLdQkb0F=-bh%A zG6I}U!Ts)Rl6z6LOP*$cgQec;VRpQ}I!TNkRchd#uWd|pL@u($8REF=V9V|yipfI3 zn#-{Tn`e%Do8Pzl8j>}cLTdgRI%o6#@_4=--H)#h*WShSpqc17W|XW;f&Ye?|n~ zN`}|ZRQ*{no$m{Utw&c(h*JG#bkE4}rYcCAD?%`1KBWj)Uvb&1yXc(+PMju2@dN!X zSY!rkmwmp$2yH(P)4K0?T<=rm6Y{#OhRPy*+VWypN@+V5k%u=kmd@U=v0>cRDlv+g zug{$Sl&Pj;43TVMy{J&^q!MACj}kVmh~sX<-l-Br!W?{^hKv$ePzs@t9Zx~oR9)RW z9n6l6ELETa+MS%SIO-h=In;E<3yDt@!Oz3Gj<(Trq7N0)2(l=LrN^G)OX^455o)>8 z)awgtRJq+lrgWM($dSEHDmWR{!R*Lqs+ zObw6A;#-n^Z^P*LLHIq^_qpmma@yEX+V%x3q7+$KDR$z~axaU-F1^uAMkx>gn;dBs zu!Dh_tAw!S?Lb?_v($`f7(ycH=D7a8ZS9R_h!GR*!O(MRz+g5+KE&VN3#b6ic;UaB zH-mw*>Ia~QMQ%14aN}TvJiYy%xwqWi=mk{;5PV;2?tj;fr230?CE|DqB)cL$hTv5E zxGCD`^FDV`+0;uZ-s|grAS7mwn@#%by(wwE{J)*uWcyWsFf&8iQHWWWCjpN0;nuQx zEE>V|RCS=cNt4l)wK=|h^l8yw4LR5*M*PUw%?VWA1b4(;qNLDgbaW*mS`{-_4oLej zB0?`Bd>lOgMUi*B5bMNB;?ouT*$a8LLG9jxYm7Q>yV^8Bi71eULr4dac3YUEf)oRbk>T>x zh)DlY)xd!(tDx0<&g+}7g_02$>2^XUtW>-aGv&%A79vRG6;O^iQjW}+mNPwY{d5w9 zJZ>?z7#GwPVg=epa0Z|PXuuXp%ntyMOjv<{$EqyxLBPh%A{0YG2pFN$p;~Q+3|D^a zZzJbOwmoVG1h|YuVe&$DZUoSXQJFEltH`S93$os;99S151dKvvupaB>yR@hh9v(Q#AbT24ttA;5q&>UhKR%T{ZRaI40RaI40RaI40RaI40RaIN4d0LR* z*q11lj4=#D5XU33&R|spMzCJ%l<4s>1sgolShQLYq>)LwDkV+ILS%8krQLF|m@2(~ z(J~VldS3T+4cj88kmZ$vs_L51;F3g#FWL0nUlZeKoR8e&Iehkl9%|$8_fpQp(yMB| zr_ZepxB{*pK2}@%WG|~Ty}zXf{PxQza>BuUEoa0%oCSB*?&Wr~X7_Q*ySf1r9?k%^ z0!Y#Djcd%6LS(mkP1{#B?K4+3c!>QKq&Zmo^s&3peT8ltGGNXiPHSZzl0l*g6U{|~LJs}8Oe zqjyDgg*K)7NiHUMYV=Z}HxQMSgxukEw=Vvfp*5b?=MO~>C*WV(Bis@CZO#vmNO#gY zs*i$~RBNs|^2?x_0aq}=xFoUGK=hs6W6y6s{@PB!(u}ma*Tio_9{o$;j+-}P2`{bG zxDpz9W<*M3G11e!HI7$0M*Z)#BuL>AEQC`K{na8(qq!EROtZ-prDGql;Tq&JICmBt z=pF@!Ol0>~X_R1QJT3-G(>*jsaGkw~LrISb9mMM$wgkNfdu>oI$rCV+A?v$-4zLl9 zq60EMitAWFp(MM){NO}ChKf@I_-4B;;&6-X%54s=$4#{HYEYWXIjRn|D7x)vvM1+L z*!xigK@lxjZHq~f;^-_;B)HQJh=yiN`@F4}o9aZJZMwCR_Q?SUMFAK!6iG9KMFI}C zj)QbM#`#^^AHwoE_QX0~T#&7~pL$_Za7WTV{v)5xrmq;IDJ?LmOM9d{lV^4@Bro) zQoSPYlmD=HK=EtmZ+EjGi39Fa^rS6SH%Q+GBAS9OyHVfEvbRDd`NWvOet8I~3Q&s3 zRmzC&8LzTh$#}tG)}ry2jF#vb$&Xqm9< zimFjXs-D;42HX>yIF^NKlbZd5`>=<6d7Vlj$e+_}asWuu5t87pK^~7+yFYOch%JxL$TH|L zryP2tN8J^Xd&zlAUtZO{OIfKWqiXN2PsW@8o5`^>Xt8wX@4#X9 z5eJu0KQtrkPh3()7la^;7n0~Xk+$DEH#7$w#r`J;{`<|8LIDT;YkLHFgN7S2^;`== zJ@^a|04#jS&a^NQ{rZL8GlWp|9_Grd<^b2B7K|k&W1L6C{qlM0{5N)q9Avoooza08 z5JzSsCI(~Lf*ega_uA^d3nYGCm!#(mjiHvKrk9|~0s#4`En53MJ#U??o95~43}^@d zK!8fkP}Q?BjCWWWPLpkFWVXEDWrh9XXpZfdT72IlCfWWjG3WBZsmEp^_B~n#-7eOJ zj=zk|KyL#K&zWGXV}BOo>QDZvx(vN9(&b%@q8F;D6kHo=98Kvy@UrMLXMoV$>R+yUO$ zIbLeL=cE6=zu)1$@bpf0hf%7v7NV@SN=Crdan&w>isSq4nl&0Lh2u?T$PbQMJ*JZD zN6tyc>oFg%NK#($?E%tlkmW^)6R+wx$>_T$8#F{I>*G%L zEW;l_B51(*2tc1ZHQRrNiQ}#-;U<7QxR*!3$i@!XcuEVnz`dV1ps6!&{Y=)=w9e z7tba<2zeN&M%d~yAMhcU7t9z_Z$ z_bG}Vtz6L6XyXLqsv-C;s%*bf8i%3hdSei3fuXL`H}kU@yGpk3wiYioX`Y=W?O1cS z{df!?``Z6Xo-^`ya!F3b4WeQaO$fAA8Jy;L%4wr_15y1XCd{bZ4NrCCa(^${tb_Xj z8hohwaVKgcz6?SBzI=Fat62K@j4Q}X$rc%w5#BiSwfk>-f%y8SsfuU|yzNTC#ERhZ z3iPeY8S4OTf&gSnMDvuC@+>{>hcj8Y&S#I>Z3+z*9pbS?MotGIJfBJ*&%}g_l;=YR ztDUsW8YGLFy}-5&D30uf{l6$oB$NRh<`mKBjbE>OT{-FGW zLnxDD?=R6%Kyrw%L3)eOxZ*A6~&C&7+k<- zmR1+KkjKS*^W!vD_A^Y9a( zW$JF>FUJroMa`JVF7a2YS#x~kB74>kk@_NvijXO5 zlxU`^WHa7}Md#|18>2X}Sy;p;>WU46>(R63Ke3EjTet|R7uDL4tm>`cg*HneS4UpV zGKgTtAxeuK?1g5%{1151HW(!K|wABee4)MPj!FwcBgl}jmG3?da)I_8-F%5*H=QWfEk7vFv7hN zPi%YQ7*qMKj)Qy(F}m^`b|$KtY{d6bhoy7$$kI3`vMB3bsEK-e$l@d~#xNM)ij6;v zkjW)C8)Ab^8Ivi1+wqtxW3w{!Y~SdDp}o7puWPzN$DoIWUbg1GqH4sQUxRbq7%e8p zSeS#*&*n~Hq=CnB0=>rX!0XQ(+J zrWwgdeceWg&v#;4Cnhus#%K!Hv0ORdS(BtqS|$BD%%{7NHr<#42h-sjjj74Oc*nk}SRpLFdrGBIowB=)D}Vxquujh_m~ukF!nc z)|IZpDJtETqRlj_QxV!(9)81vQ`$7{DM?@)8?MK(LidN?2P_dywNCXmo^pO91|PaGww4y1^qScrPEoy#&dRyE=oRbx>BW)ibS zM#C{&@bK{Q@FZu~+0PTU+QVFYx`}%OY+2+fYa4Nw& zR)V<^cd2i6s9x_wb~sgc|8H|%<#U+liuXKY`JD1^^qpq`RAC-|yinDR4jnj{!rZ%L z&Lo0JFU|QwHpq7)hezAnggpV9TkoYeYLB(_h4xBt(z-m zL}q_xTgw~g?PDZ5HP5Jf)^EHVLMK83!gPJ^MEN1(dw#RuA&}M_{8d+@%W`k z!V0Zml~oCP&x6V5swQ|cBwdZR))vGTVJ#nmR*9_>WWZ<-Sp!3t)x*^ghh&L>mq5UD z;{*dCZ&?>;yt9h$ns-*yZiF~;^ zGf!V5QdXZ&-xK%Uyn~q`seMICJERXlUbr2-vm)XT3R%7W{{=8p0Xjs(6A?O2swF~j zQc1{f(|;@TJ(JAy|2L|+&h7eX+e?8d+UdELDZneB)Gd0*T|<`y0i1*?GKv%u(1fU1 zy+~S#jFu*qap55-OKFaiOSG$LE~bd+2OVvx5J(zF=o5jzBKcB5;P0GXM2v-DjA(@yHAUzcy1x)@2M0{5o zE`>=^hUZ4Pj3S2%6ByIIIyvCOe-$k+APiP!sT0BRCt)Hd3a!aMv75og< z)RAs$mU|=PV75a_*_)n?uUBCoe<+dlWd2H*_ci`*@5YPHlPgcmy>Nq(D9TbaV;?p8 z9_Ej(lJ-YwuKu27|In>hysKH^%Lthe;~TyqlqRl5GXhDsUm)*cufs)-B^hw&1XO6d zqgdOZ4#g)YksXj{w$EkiFL1Ix0OTE5&wxN3gSR}+`yWYgZ?<~1sP%fTq=)jzow9yH zaVA8quJHi&hJy3n3K;}>lsnTvFEI=zU~RT?IQXgUe2sqtqu^53>$JbPOP4}QYXOkE zq<9LZ18Txf3H4nEf+Nizrm@RbZTk_1J~z3?<8xWV4ZUF)sKrKf;qn+hXg4nwFY7>c zR2=H_Mnd5on_VzMwtURUmIT?|wI^8&m1&b6g7P^Ykm~XxG(yv2f%`%L2i$*_L|O6o4$0(Db8|HhX-Z>@&D8-{mQF4Y%EJj)2?{}*`o_A5|gG}y^u4j(Du z-ttgsd+U1e2l97TvvhyJKUb>fFfrQv{Hd^=qx_w#jZYC9q2|OvxUR~|)#On76EuDd zBpVv5GU3wt9qO^n62V$VtZeIm7KI=OXuL9s8){dnMdPUksAg+uYq?q2?p=aC{2^5f zNXzQ(eFacUXI9dxt-7UFQnQ-(j>Dz6MnwI$NL~$%$icRbABPxHEdJRMqpF~oyo%1FS;_5N zKLNh;}a#lY{tVoekjZ#ET2Gdl`&b&IU4Ttvq1y}w! z!M1rD?W15fVAPl#Y-}F#`?j>dj~1Mbi>TYkBl?s?%MS@XQ3t6|A|lTZ5t82ac=L2- zpfr+YZUZ#}mU}*yTsly9!4IE^6(~3I$IOKov7v;bT5lG}s^Hm1e@$QL?r&-Ew0$PHt_(QD3I2WK8)Lh)90Z+A9`jm&}E0Vmcv`q(IovX`eF!;%m>$te#heSt|njttSX$UQ%k)t-6%4yTe zP%(NlqyH@n35{mQnnWmD;-35+#uQ0A0;bO-MZ{t_ZW@owh>-Z)h) zqgJ{vqc!D^&&RJLzd;~`ihyUecyA{Tk({wpe8fX(wp`6BS|DB$V<&1M(fR?7?pt`WAhRx@DR5SvcluDHwgl#>WX(A&)>1=E>ge`4IKeNeA{oL^Ut+_VPof zPw{PY`tZ@F3>xDDYiE@3`5!{iI#w1R(sfwC--xXTt7$h`dMm#AMjdddpooD%PYHN+ zpD)~g?H)!M7`%@b3q(UseZDN=PF$@0RFC$o&%I;2*L*f7{il(WQjIyJg#Tb*W>bwK zUv?5*Qdr4aNSp zIZkV7v;28GV(kqe-D!G?)3eMY2JvRohl>jhtYE?K>2R~RK2C-wZcqAWDADALG6kwA(MBVCmbIw`$Y&HS zl&g_$D~3QN&TnBd|Lno;W_MrmBlf~?HJ<0${zyFV6V1Y$eE0pmF&nor#@`XVuB94cwR^yh=wD&2*^f_(7TCT4z@75E%Lui?PkEjYuf08 zqv^hY_F`VSTb=Ap*Y5y(UB?sAk8sb<& z!WKV9>2$UL27VFb0D1<4euy#vKge|k{wdM4##`>*Lu>#z(SplaYM4m=d(`b)o`CHA z8QAriSSvyML(PcJ_Cn$8Ze&_WL%s(qc!9cYY_H%jVS5+-R5NR2h8SVFyE!S5H!=Xp zRbK}$V<;lW@W*k!HS>MlQNY_1q*>Gcu&%@JxFYkO7Pt|Fi(cF3)RllEJ_884U6%8n zt6P(l?P(R+y?1l6-|#!pUK;yzsLD&#oSu^l2P3!Br*1!>%;C-%nS{*9W~8A}j8-EK zbFc3Ex#S2P4}%kw4St59_mgq$&tP5c1PNZPtBsSsS%I6bMV16aA;4SYB%rL>x2y<@ zi(nCFUs^h@0A7(t-YMxJxbbyDNhwNFg2aW)Mm`Pp$BL7wv&2Hn#N@X9*E|9BgCk6n zfFzx`ke(cfTuX^@3un7@!T@pnw_^kJpnP->^+3`?*B27v7c$W&G|Rt8^f;!@rF7w- z+0@Bj&?K@2#qr_gO%`x1$T!QeIGnzFf2woO{gpVo-V*ORD?V7!pT(%+ZrtUGns&FH z$r%tv=n#Y;A(rR~q-jCcCr~9+@Ka)!ms&vS<4vzVQ_SnPUzdxIzO~;@p457l7aqFd zV*lUIerLzYP+FTTXyRzW)w+b2;4uR$bn&{cTPD6^18=rJ^Tyd>7$H;}xP8~o-rBwf zStN{>jr^r&tp(lB-u=J0s2`!5kZLUaTu=A(&K$-LO199VAfgAKpxHjm?qtQZtW(PZ+o;{y&euySElG{T`VKgVJcCS`a%WK(Hw5Yu_MR2{yrXFuZPa^SU3DAA@2WuCr0G^!dC$dG65I%h%6En?&51R!ZF6F0V%xTziEZ0Ca~r4X>kH@~Pjz*5*XmxcszthcOsj8j zyj?GR9jZI-k>2ylENTGILvVu_?5X16Msj4tT=J_ga@R0oj49e!L>UJjSK6P=fydhB zUg8?0xY3H^*{aM7KkRYqZ@@DI$n)JM0j||&1+Cl2`cZWyvS%CsqaX7#YF_McXft|I zuT^9(IvnW^XQEuJ9~&iCVg`{5aWZNRcjnNZ;qb!kIz7Q=xN;dJ>&u5j5Z7UKQ2#Mi z_^<2u?yOAx39Rv%I4&n4^f$B7?%(Rx-tVrMrebnuqlAMQug^?s3pOSGx&)Y_}ihUmDE5 zGQ0PD;-Z4qOo8!0Ls%l%lTz{eD_aMw^_5qYR;uJsF|tX~TImHuu`v5Wfw}Ei8y4ml zFNA^&h2n7|t5yK;OTu|B;|F_v_`NaFAQmc`Z_p_h>Ds#-{vWZ~paZmb+*uK&60PA{ zS=9*ckT*$?NT(X+6b|07?nlk0WUU&zitVL&CtJHX3j-=#e(g8&Y{#^YS>kmrW`F@7 z)W#DnUSHunk0N#u^uS->LH%aBYpQU?~v*pRos>jQnHU zK$jJbJuT4Llv`E~B8nQO{D1>4W%fj+k8y?M= zi8lvzhTN_u-Ah6#Zx{2+gr}$D2%$^&OUm)KN4zVs!)BxU2u@BBrZCZtFF_gB78pE?maQ~l#Ck*t`EuexfSj)~Xm=>nFSgR%V# zzO*~B+hY)%?FwQrD^?`%c#mZV^v4^?3(gD$>wSs1;f_x2JAE0L`XZP15_$LPzjC4; zz1ucrLnwX3KY71k#+SDjRTd>nvp%T|?-7b(I_eP7gp#`^F*Q6*cu=6ARt2b(TRcEj z%IeKrOdK-BiZw%*vwT`Z8TJ!`4vM711M|gLlSCUvsvHH?v}qa96kZq0+_jL^Oh1|s z#;v3nm8r%TfYuqo)9Fl)=q~Ju!S|?*wN;IOG!*zzC@C}#6J^b1j}Uap#l%iKxTI@% z%_lz&;`PF@$uJ_A!KKM+y2QJOl&Cu3We;w5YUl4-uKX}{sPTDj;$nX&)bq9#5C(wgVDK&*Y6CDo&!3UMfZ z{>t;sQ{i9ltuR5{_fQ#n{Skjv)?*;G?UXQQzuKFZo@p)?h$jImT`BuxKYlEJ68=PN zS*GYpfTJesS;I+HMDvKC%Ppb>czN;I)wA4^aK-0nXXrn-PB``c+khjf^N6^x3<@qJ zq_z#QJm*fmB}t{3xa%#@CUOvmu4!zboXd3U5Jw$?!SxBl8`-DVtd{lp^YbvrnZMW@ zXM)5Ko&KW--7)R`1Rg}=c-GH*N3!LuV6Y)wu7klGb6R>RRFJGv~+!@*e3xrO?n5;J=IP5mo9)?-zDdqW^d zQ#S8}eWlhURwRpC(Nl=jf(a*)FA9{b8K_6MvFo)BmQ&!#sqGoxo0bIX zksD$?`RGlascMg2R6!V#;f<@kV{E)Ugwa>APEx(8U0#j-$~(i9VJXQX9Vqz|NmHAf z3Rc84M9qdQIUd_mhtV|E=qIkLu;OR|8>ek8&e=f2RBRKfj6ddxX493t2^xoB;JYL> zfJEx{&pVZCdM_^5XI`Mr2U!~fVR(b;abm;9+JY==TcqJF>or?%`bktsk~J8M?zOik z@ulI3z}H4fQ`h4ldbc_a)ASe z3{pV;^K^bZy{&R!ccP>MbWAgFA&b+13vKWiX#ru$lOv1%GSsL^wblsB|JIFi$VGVp5o=qhqko$))#_ zh$||2*iGZe2Z5(Df0e5>lk8z7w+g<}t&hQ=Rb(`|7Bs=OC;bn5OwyRCV!cW${-D(|tJDV|LuvWTHNxi)5UjB3>3Zpw``Q6t zn~G+{8uO4Mm}54i<@G0$P$Z|q>M-u4OD9N>wOlh1vPUJTn*kFteF{fUrq^h{f}5Xo zZrhf9#C*fElfw5MR6uQ4oazVf?_-I99R+w*<9Flr_YGiH1v#0#N!Yser=3WP^(5}M z%WVJ*Ue4OG-QXUbT%rww;Zgk_y>)`D(m zCZ#jPZK{|uqY$Qm@9xA0A?7uEMbvrS)bNQlxt}+D?+Rd)q;;rSnS@9ge1h#jqbK#p zW2%P|K{o;vyZWG21`DWq_xRL($M(SZy)KV%BbfkkCX6CzF)|a<-fkm}g^)~G?DGsM1J*pOsj_{Ik*06;L9r5rY2&02=8wSE^LBy z2&Xudqa{2x`OsQcYjnB`e4U=V0r>=gF;u}&a|sQ6(L4LJ{VN>2z2o%RuTBAmGTkGc z8iHTy6K%#y1U4317lxse(P&$w<#ZaOFc~Ol&W*p&u>XvO>rc@{ zUOqqfvwCiQnf&`QVxbEa@BnGt#e|)geP$Xc1k4GpbeU>&edsellZ(wDFjY4L0>pl^%kwJwOWw>tW zZW37b`8M+o=*%^GvD6^P{4L^YQU9xu`J-!CmupPQ<#w#PSi0N_{OC{R5Im8klB+9E z?8@ZVbSEnym&2?Y64XP4%zuMkwR!!8EUF6fw#}X0&j6RsNg;6Bijnp!~Braohj0a90}3s*v^Z!@vo3{ z%)$U1+viMp=qe-({5q;u*%EF0!<}{E%55JPYNjuz@3n2h$g)kV=8wuAiJq3=^Y6>? z3A*=(X^ridFL}wh;CIOYi0z~GuJea<058Jq7oyvfeoX=klSGx*aRM#Rz?OI^KXLqb za?*}(;BT|Wk{3929GPu4%kGUJmR#umc+(!v7IKaOy({otrN%$OkvvG3gz@EMf z*lFz>1XKCk3qm(A$25j6{Q)gGe;Z9h%5duauHEi#F68Y7r<%sAGQTSL$1JB=zl!cN z)$dS~SAGp6hJDD2;9I_teJ{k6sbcn`rZ~gjjh47eS~c^>)Q4+-U|@eJ^R1ku1q`*{ zgn`0lVMPu8q>%M?|N3T(2EOmq{VFML;dDz2UU>H-D0}?)K}4YRhjP8*+lgcfb-Ocb z*&PmSfku@(;@PQp7I{^~lHegHh~IDDyztu zGIsY9O>Z7|g0Rmn_pD=DTS%EtXV;7zG|0usN+vX4=5q_*@pk6LV(cvBXDow+{q$JrjM!}EQ4x^b=5gswY+QMg-e&N{p&TQXmemjYAy0F(lHW{N{Nb3;0s zt{f%L*s`*+QD3pgFW2}Ua(Vg;k4JZO(2vo9kqvf=VjCqs6?QT9Ku`&^FW2vwy0^b3OK$L`yCcD>f zcf(&>(z(JYBt+pv0bN%qCn`y|BDa`-T~Ku_Ik9PDMTX>_nUu@W>c{?G{{5GHA@QNM z6uI#x8%Eu)PgX_&MSANFvJ52Kjxw4)ndftBT&DfQP$R`EFv=m8B1NW2aj3~E0vQzoM$5RoDFj_xPFR#-T2y`+nUt^! zsf5-Np93KoS-hOB09m3bR2nNLW zDC)yOK~DUM+8|%?3;Qt|^}kd=_fkLv@?oQI!Ca)q`{SN?V`wD~(nHUxH8k00K zt`rg|!luHBk9@?p$Y#sQ$+RcyRHw8bpK@jt{gVJOp6|5H4Od}d@?8*?@=4UBTb5q2 zw)5sh9B=*yfGELxY!DN(Q1-zkq*rjyP6~#1Pjf9+Gj~%zf;qE=2J@J|s>%*ej!9@r zCV*sdmd+O8uYqtD>?vICV6p+HH_L>)PBqw2jGlOoz9aU2E1Ae7(nBI*D-taRj0R$e zZboU4HV**E)>tVMQyjKGJ`y(bFFo2A5_3JD?tld>!nMoF<+rJG<^>ItWoo4>tZgRs zW?gJB;70@PbRO#f@ex(c!e|`0_^m|ZTphGZgq~M_&}i?faQX}X2c?Fo88HS`orvzP zBL~v_=Bcb7T$Y~$Re2@Nx)3fmKd2judB#g zy(!a!8Si&Ul;O$hTr`VN5<;1L=Xc5U*}G#RA)n{%`fm$jIWS$;)g8$|3FYkbShwH1 zdWjq=7Z7M9zKMCqwZ$RK^qW2kpXA~jX9Tn6HfFGKapmdl1;DyPZjy0r7%TK1GQW#4RY6`|PL8N12*uf2QV%iw^ zT7^2`L`RxNpil#+1+1iu&+HpWI8S?ZanEC22&vQeC%BQ0{zW+H(RH|BrSrW*vJ!+6 zxU7edPW8uGC?~RLf3=!as>3zNIa{3=Dledzcyp$wt&*TLG8gH-EfMwes1B~`JI4I8 z6A;LD=dOcvjiB|`3LP~+;a()Dl}Zaq#+P<8)R2f?B!Ai%){Ni2(cc!rt@um7AMmO8 zle`m585BskO`>)OL)zx9jt=p%$?DtPK{CF+iNgNm)bl6dO4)fFnl~3yDgmmxJ9O2q zJv>EMmdnS;{n0=4Q@DNaadEN0<>-e1Th=@0S1aO=rbR}gOW>XZ^Ca zUZP%v?4lV5TC#NI&LwfT71lT7?dv{W)D|D7OcWZS9tV639^@tGUs~KJzk&b58nP6o z`)zJS&~WW)^=7~PeBb>B#4bD%FA^LZ&NVtO29y#_GI3M7G~+4}v&65Y*?>o~j6+ox zbxP`?0UT$H39zuxVK;%s8~dS5#;y3Jd{Hzk+XxG0)c{kL)Rdeh`n=x|qAOidxjteJ z)P$rk?JZpxN?l6gRaF_pdD^vQ>L{rLDf!X`ttz*C<5X;YCKmyJ(4Yl}ByT@l%A(WU zn%euD6?bT8 zXrt;@y0dulJyr|XkF@5_f-o2SwiQC;Ly}ZHUE9>sG(e_#>L#?xxw(<2GaG50epw>k z=2ZQE-Xz{zhAR_*0%EChJ zzUZ7+8Y*a902YxSn`5z2k9RMBO{)2!yx{=bZKx+r%A|g9q^4fXiZ1s7 z&9w>#`9!$A6y9e{DB>8B5xCssdzR`tZ=!)_n&I!hrQb`-B<~DDk1~;o#>+ z@FnaljM$_Mul3Z3m>gq*_0`fFcID1_$vU*%m|WLVEyhHy*NDjbsodrf`uO+C4c5TU zJQ>T^O9JfM4bw#<hm8SKGce&XlZe=NFR9A?B}|YGfS#cl(a; zz#oQ<4|q$P8^7@Epu7<-*o&^i0ARU(TliOsif>Q~GT0s#xI3yM@-qTOScedYc1wi` zmtHyRI(RxJP7s;RG7VFAP=MYQ0g=}@L797;%(TL}E0giwk?!{@K7$Xi8HEvQ zCiOPcc0$#2qON*$5?M`%@CmpfC1m3YhMs|adq2ZW>?H9HD#+}IR4!WUt$PscI3fR7 zvFayp3ZxmNckgv})KR0FPACqj3ns)Rxec?_r=KY++<4d3PqBp7XKM~gU3|T!l%a%2 zZd|umX!tf6lUNnP4FL40t9hGTZxWk^8}ga;@EmIJ>p}?n#OAfyeVdkxV4$!T!I=fI zXmQy)E5o^Io14^M=b1kpk~yheXf;qFzT&L8dsL;lrGM`^4@EaTN^kqPOC|QxY$bqT zeZxqPX~`iUr0x!GQ|$gm9gLcBVMk-%fM4~8-}SL+EE3f=8?M>4<)@by)ECtl2o{H= zPCQ9+r(cOF5plAX>!$XP0)9CgvSP2q(+M5?*?^~UF8_xI(2>-LNO-41~A{s4V4$X)HSzfhU&tNq*7ld zFmz%=ez0m^;;kfi7Sn#%jJV3gcXr_i^y2Ei_0F8#0!XlLquONpoCviMrVuKJqf5Oc zkA4xK#I!1+VTH55!`;|O@kb+>@Pe%(NR_a_z*Sr^XbkJ_PUM5z2R0wjASxmjmI_A< zu4Bvt|1Q~<$))(?p&H*m_@u4<785~EI|)WdoXq7)dAuDoD##X%Jh{$^Ot-$knA}zw z1S=2>kBot*knmAQ4y;sF0=`h(ujq6hvzm&<*b^d1@NKo)o|>FJ_2jUFX}}lkh6Y+Qc-_&K;IFO6OD4;wh6O*v5PCE# ze?l-uKv_{S;|Da>u<6ctHlk|DWhO{{=fi+gA%*t|0mbp*CWax^&0Biy6wD3MUmuK6 z%SHTyWuvQ9p7j<2k>0pzyYS5rCGH>#G%(~aZjJ_iRt9;i=kc=cWH7Aj(yfZ+o@~QX5Y4Ljca@!MDE`9bpz{icp zxeiQ89o}bXDNWesu76&}U>57SELJ_?3uTBK+spiAnF-5Yf1z3wkh?POVfwTOxdYt0 z>eJM%52F)ldBci7W$TUD2F{b0z9ehBixBQFco^FAGU&d5>Yz)Gej&NN;SWnAZn=lC zii#!s_lcf{l9fJh`NYIcJn#j*qb15}4*ppf5c6>+EWT?|a*cG4hEi0?9v>X_5RWr@ zig!z^BWULFw`OCRl(D8R0KTc6c<}(@8(JAIO4l_tYrO>Wr4f_zAVWvw7_K3fc==QK|7*SD>u~St8~vnwd*%`cF(b6qtX+b>~77~>yRnFTuRU>pZnIqNOZQ(bJ=Y%yP23gRDS>);s~h0?7S)z3r5uM z#cj)FpP;4hShz81Zm-MocOsKR7WRRqR_R!xbjyLGuVS-g zSbxAls-(1|;8~9MdDE#2)dWH~!B$<*?cjReB8WgYp{S5hO%)fTwCR%(`-_dNu-eM1 z-b9k%atOm)JpM{#i)>nkCF!dS#wNyYv)B`tz$Nc_t4Kr*0tWS3Kvc-2ozsg*dpEv+ zE*jR8@$mHCcjHRP@TjK-j5^et553tn7LyyLbXlTQF;= z%>MuhmPAV7`s9V`*K>Wzw2W6yv7v;hX^7e%ut=cWdptU zwZFe>!-BbbXH5*#^iPSJPMpveIjE-ZV8hg-C^46=YP0_O zWB2pY6%{{`9D`xTzivq;)cK8VBQS)Y(#O|Lza;W=sQomv`CRd4bGx~ZxpKv?{!R16 zeT$LOXVfl1Aa&=%BN6?VLvE(=a_AI2!y*k_Z=Ce+@T2{vH;&zR%~MD#M=zv9GUUlv zbpj13cR0$25=?-nn{!YGh}d$JD{>Ev3Mp5LC1oYS9-1h+$)zk=-PHI1@26?vh^>y~QpJTamHSi#3(=mNRY}VnjxtuVt zd0ppL2H?HAb!^MMGt(z&*cmln9h=0^lmo#9gMSpu=K$667^PIzT!OJwEFx7gSx&QV zj=84YtaFh6sBoR^W~?v$9GVothlsTV82`Zu_xTD`Y+c{{BWi>VlIqVq&*d`Ly=I9NnMKR@siBZsi&1#oeGo4hX%!O&n zW@AWLPq?_oGvo!HLDU*!ZSH5YaG&C47SVPHn|=+CbxtRi(cpO%Tz;xLbBO6?c_B=1 zFN1rA*5!9zO2;KTykJh*=c=p2@q0m@MWHcg_e2oBm+geWY#@Pz+#TWddqYgzbH)qh zuKvLX(Rh-#d!HrnqtI&Qv|v-^BaiJ3%8Rv6@J;GPfrV?0?|@9Y?;NJjgc$!~I6Pc7NcR2x>oMmWj+#@5~mmuLHiFkd8ITn?WcW{vuV>`u(V zX3on`3aj!Gtk)hGiKn?k;FINV;L^hUqp%Lk2BT}g?*3sl#!ln3NI4-;>EGOVtX&V8 z<`>?>LU!pOlTb<&q90oq`fK9pl4tx!*08EzM%F~UAYiw2Nn0pb--I$LTG?k*llovW zG2s5|v0UC@9V|NXuvMWL#4K$5yrwtU;M*AF9{EC{$jwL~6DbJ7mT=#Fybn;ND7*a{w8cB`$e2s7?gFwRi zaY*Kpf}AwyEKOQaP*4mc$tQz8J%GrNkQ%J$`;~_!$8B01!H;p)3OzQg`zj(?=K5tJ(^#ChD|m$x=!2=nY?N| z^*5zH)0W9(QBwFBR^qn?B;R{Q2te#4J_Atv(EMExL`G`OGy0E8df$0??Y454CdROn z7zbEH1dIu;t@5(UoJB>>w=`5?{-AK%b3;B#n+Zg`b|j}<8ZSb#iCZ)hwEHT6G58d} z=pB2=k(EhEtgUwShsa5aX}SfD|02b0EVD)FCN7fiS@>9f#b>`BpU8A7OgnX-y%|+R zfy5JAHh3vg#~V1V4!Q29mb? zF{&odGCy&4+h`wI@7>mzQjqnHz3WeQ69PVImFhur$t9l)s>Bbfe z5tI{TL1f$*IKgmuFzD2V1BbED7{9ja)wz2b&fE4p%4JMEGBb4h2yj{r z$I*9ni<~QwXmEZRsSTH&k2L)By2L`uu@3>j8?WPegFv2sPu~aj`$g`)5aaEOtO3)w zp_7)h_>@s>GRR>4fS)+@0&Mqc>yc276$k2HkTj|Xo6ee5G(up}+E zApxfc*pw^s$aDuh`o8k{u?^E+ALArM&{m@$)F29ssSwE#{;O_{>>D|af)5N?(6dtG zfyZ{dKbn|jPJGBnWT=v4HOFm>;8T&bNpq_%xVMf{NX+GT+6^=1O|^qV3vUR+l5>|Y zeleE`($?pV^q1)$upzC>)q~iL@!G5H=0#E$bTZpPEtJ781W#4Of@eFB`3ZpvKrn?b zUWQV`ArhpJ2u=`=ra3Tjoj7{r;@GcniOHG4f9%ZQXaXWSm-NG<(dF3dO{(-dUaG6V zrqzg{^eotb*(-5DR#Ym+YRh;IFOmC!9gYU0V55Q!T5~Z*k0*MTR3vw6k>Gac89Ok zBp(MLYC7xnRdKsIa0zH-^H`M|>@BUrpUF4n?pol!41s6e5IL)VSFHMeRkh$+KqI1^ zZ(Nzrl85HNzOcQ^Q|Hgj;{|Wpj@Snhc h0{;p8C-9%Ze**sr{3r0Az<&b&3H*Nuh{=np{tv5QkpTbz literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso new file mode 100644 index 0000000000000000000000000000000000000000..d2cfc62d8dc3ffbb15b1abbb55b23aabc867cfd3 GIT binary patch literal 34608 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 DWDqtb literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso.pdb new file mode 100644 index 00000000..20b2028e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawValue.vert.75A6F16850E5D3B8E8B7368097463B42.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21da15314950435df09ed5603ce6cf9358358a9ed3bb4f61068c5c8da2589a9e +size 30208 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.03430199D846164B6B0612A9B2AB28EA.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.03430199D846164B6B0612A9B2AB28EA.cso new file mode 100644 index 0000000000000000000000000000000000000000..97069c9b23a493f69ef95c583478068ca358e651 GIT binary patch literal 25100 zcmeHPVQibndA^U7Wsw#g$+Z*5QL>ApWR#=OBqb|y5@(bwJJKrKilrE7VAQ6_PZAS~ z)JV#4GNe=11Z%ON>wpyXfMUzAEDPog2!?IwhHOjsV;i<+>yM$xg8bOlKmD<;uvc{Z z5kz~Q`|haYM~YHBJB@9g@apc~d+&YUd+*-+?z=mFV^5AA?)kHC{^1w@YWzEQJu~`` zmG{0Kb%YR|vqEe|{0LyCU5M`iqCgC8LmKdYT8NWlM~-#@9{|l+R6 zA8sK{B0(Oz0TK`e^a45o3?Bg~hjl5}1f~f)@Xudv${63Xd7D+9B2j}t zG~pK;l$$cf$K3M5OetL`&lO9H(M1aN8_eQgs>jnqo8BkQ;KSRx^d90 zY=Z72_1gqphWZ6ImRq8Jo1ptL^#h&hqYLDZVEVzt?*RYxP0;;4=w1U|hsQ?z+dBN( zFfQKQ1YI}i-Ugj!BYKf%FnXEzRL*^Ns#JVh%;k&e%Ha7yaq(hM1X0h_^y=CFFJbJl zo=_Dh3g=Wt#|rmE*)7c!C&!->fSDq*VlteY*kWz7Xlgwh3rZ=KKsn_tj&r!^_kk7=FtRz9j%XzL6VI44}+% z6UR9QrpJ#w*#?78fs(pB-60(4-*)tC61BX(FnRJK{4QB9d0ubQHlA_~o_%=+^rbG3 z{w!GTK-#neHVIyqUfDd#m?kg60-8%+Luj(038a7!E5BevA0DMU^ehzCydBU{2FkY0 z>atTWNyV2O0xA4MAPs@x_l5ZC-vq?Umw)Sau~*mGqvLk8mpa)rqq=OLMMFM!+4}hS z*!8PATlHx#w#Ud1>oT^7S9cc*+?V3j*<;~R+xHy1; zx*C3OguQ+^8u0kr?J#yQZMEBRS@So#9{p068hd^k+L<)e-OykhZ)JU!9o_E5r*?UI zB!vhW-YjEi*W<|0Hj+VIZ5e(Vma!c+jb9e^d1H^Zhn5YL(iO4NRn^yJXh#QiCGOM~ zT~GTEao`^|<;J(j$Mg-`vmTw&#q^Djjyw!M`pQplS<{*PpjX)Vl(AtTg#yoq{@VD_ zqj0(DnUR@SQF1$gycjqhLjW_D$g^4Cn$`{*(c84m($iC8qv90SrPaCm@czU1-!G3% zAC(Wr;_*m$&)75>z*w}`{ebT>j}Y~u*8dy80`GFs)(SVR1=PCdi%ST=;^gD&X zul|dv!!rN6^TWpn{3t`-imxLJV0)~nHlw4Nc(jlQm$N81j);Hv)Y;ll}%&_X+)k{$}{M5&iW3Hci!RD*C7g{7v(3 zLi*`z+9%g`D1CH;HO-UOhNPb`VHqqbYj!LBq{&Gf0_^>KK>X`Rj`-WBgh>BdKm_g- z;?CuOn0na}3->wV`|UyT@@i1b|BfTRb9YdT{CPlJe%=w^NCd?TA2{NLKgAoO_nLei zjr^9Xv_QF1TFzADwB9EzEG<{UzpN*L0XbDH=Xf}UVPiHtyLC7%+y*i*w&6q=X~ zSx-)8R&CeI>hT#EmE8GUx#E_hv+=%advQ{sCcOreP>t_tGO%gQjmaB$ZmgL`?SmVC z&nIKgSD&16?NG;0HlP?{=#M^EaYwS*5)OX6qa;~->Z{L!?QvR(LqdJM`XiW{N{NP* zaC$tQTO3PQ(lx}%hQzg+)l?X0Siw@MhI$axVdIO94zO+N*@SXSHPKkdQ)^R;|J+=i zJn4C*x`L69xfSYvEL|z(&PQdgP&3gFY@ujMlY` zQY_u}$;1#O$344v#<8rkCMV%ct%5te7rRs;JV%d#q zlj5-$U5xk3#RMP;80e$jU%-<-e6EJ`JWbgrRIHZ z-0bO-Zn?Nz%DCmz-d&#Z=`m2vb4_sutGU=Y zT(pVB2L=b?iGv5nh6jfdLxZD3qw%3ca^&D>a%40)d}Jh+DHmf4`Eni`4L(^FC2L8^ z!opa~Dyw@#<#Sx?sN&@5%856&jjv&msMy(X*nJyR|Ds_%R^`#bI( z{}Fdq(DkprcWCh3Z+^flOP?r^p7#Sx%*u-Z-Vq@0o&WRrUuGj-IeJ}{A!>!shy{2b zWmG)U-Ng=c!sy3N@n54RUb`LA{3f3e4~awF4n6y5K0RL+@$A@r?+?o zu2~?T0Q9u^82-fXwD|7?BSXL2!tb{5Jr=&l!t(}_X)pCLd>Yw-avRx!c-s!0;PZhv z*8LLVv+P4CzEy;RkuSD~gEBJR9t`$GPUC++(t%(v@ch4s|Ec!&U{CwjV4ms72g|=x+n4!8He^p9%q$M40*;7h|-zI-2J*wHtpXlvrx zmj-Xf9P#W+gEwQ2c=n~i)7B4RY=t;DMBQr!kxhfA1D(B1@CO`@SV4++LJd#<>qt{} zYW$E3`AsT*9S(I*R{5>HiZtisjYY%j6~*gyRb?M|@w#4zSd4Fu2X8L4i5WbY9FbL3 zjO{tj4W8{bc#d;}w{6dHZt%3drAtCFZt~CYrY`4|ESFLw3r}4P zz8`o?7hH#I9*j)t@}bhD*O91V@YKcN{kj;uUl)V-=`zqbL`Q~r9_x#hZzu5MJx6sJTz%Owjg}{6FyhF~wj?Dtk zIXf-HijKuQ$m1UPijKwmIvGR51>GOz{uQE@cWqv`^>sZkLSgvF7rq1hF z{IAaISnPz3q}Q>C>%5MY53!uSM0p&?%&RZc&v zIP+&1*T8vhiU@>T#T~m+h)K~Y)Go|``0vY?j*8%p$Sz>jSTY+x;u3Moiq_jt!R9G` zDRjAt?-FY#1mv?=gDfwYX$-psrn>4uh-mr@Y{v6gEV~q;MzVcc6&Nv9@vgIm945W86E015wk#?J=Wx7+PMPR$QZ5R3N4!rgQJS{G)tUpK00f5LjM0fIkR~C-&D!Ewkzw- z<*Mg}_Fx_GIcTx1=p1QMg1&-RZy3YgZ ze5sK<+pTQoSIbpxp4Y%vHTzG=S?i>=&bT)`tskLP5j9Y#4KwWJ!N7luEc#&omgOOU~GDP>|}Mnxslou+kYGbt^RLho$DLN-}~+f?Z1>lGkURO z^d4eP-)S8)P1vR5AL;mjj=!qoKhiOx6+n})@q<7%sa-9?ypyVCuJ6Q3Ref6eXBn=Z zd_E`mEa?Tr0gnKU{#pR%kcRs%puMk#)=@RE_wWDeA-)e~^9(AwTAuv2l1`0?mH^e*vxAKbb2$qrN%1 zzmQ&Z%VK}Il-a-F@^gN(`C{f74>5nJZ? zo9}FyZ<(~dTL7b2fj<6hD538CMnw3P?cz_qbqn4ACqW|t{Q!G50K4576)(xazXD6yp8pxp)~~RQfHx9aDjN>FJhNWd1GDy)vx42y~%@g9pKAgaEy5_ zYNUOd*V@f}desio7^55&TV3tck0z#B@-q#b|0UojfDfVXuK=cyW>~~;0#*?7{`Mnq zCgQoSivlXJImgCs(DR)BUchaD`v5-&;5RbqdmJnLo+5p;2Y^ot@EeKh$eF&%Z{g8T z@u_IV8=`QQ?)mTz#GeE34hr8tIQBS{xUQ6dy8-n1UcfzoR`}!=`1wy>rB$P4ftCeY z7HC=E2C%@yuH!+K|z0sHvzgrL0Ny4I;XE;s%2t~r2~Co`^}i*;8t2rt z?}7XPYDqI6CxVZpm#3G5C&9xx@UNP3IUGJa_)}O&QeH!SI4XFz79UY-Y9t_aJhI$n*Lj|xU9S!O3q#ahbMrDj#%hC zO-*zt6L1#-BlZip)UlllG5~@&v+Q9={s=nqequWh3CjB_P?if+X!``MbS4B=Gocd1idF|} z!_(>cdJWZ#B9oV+-zR}lniNKWd@f*M*!u;Jh zIXAmF`%5|cOKJLfI6v|b>oay-Z`HWgOKAp4xMoT?yCbNkO)M)Z*II7 z9mHQaUbZCOOAF%f8tn~*_yet=K^~4N9M=E|Vycv56~{FL;#w)?c+SJQ3h?aYSSkfr zae#aP;@o%w2pSL=FN=f(LF0+6BH{zIAOR)ug!Fh>VTiw0ygz7Njcc=%Bch9Q0nkK^ ztGkqQpp<55nRBd*bG?*frIcnMl5?z-bEcDXp^I}Sf^&d}V~_+fx6C<%;GFB?SpAp& zC6J&ye+e~=4|atFx{?J$A>MZJgj`4`M|UJqNl-UY)*KJV9H2Z=VVW5pj&%}FP;h#D zFkrh^e1L0okXF2pS3Cg`FFQiiHXxU1MWAc6KNJ#-fkXf%6Fopw1E}+GERk>l3J?Ex zR=JR1XuP)tU^pZw5E3jL?_Clf0N73!AB=?f2t$I1f*@hS5D+b>j0@1GyNd%b{~sgr z$D)K_z?lGXAjGGHsEL1IyjRKJ7Ddop$ABp7KxXL_{c%ph5nzi55iK&;9(5KBsTk%| z1xXX`3>-niTtYPlnnp-GC(aYv2#w?(rT%E;tRDFhGNlzPdw-A8M6^;mRv{hBo{m+V z!YTsw#xCXFXyp+sdoG!Bqnc6-nMw(n9elYHzHbNzslhjpw95$iM?<(fhITm}{&9rj z9Uc55&#3?OnLL z9ej@tz6G!X(e9+fw=uNu5wz}x@Q>;6Ezn4`@&r}^6s^<_XcDa)gH_7HvUm0{(<=6?~YI$ z(81q!!rvolBNSrDlmI0`F+^D{Sosz}d7{GXjaa}@il74o?PtLDW%$kr#eO<`Z3+G! z19vYWYP*A^1*`zLZPCFGBH$pEeyj@M0iqftKwZ9*Oc_wP@V~P{(E`%n)e#Nf+l3z( z!rx(NcL3WF@XvPeRYUmRiJ)(QP%e;$3ZPF+v;tuMKSty)i#`L+1c-Oxs~DmtA9vx) znE$efJ+&N^gP`fO!$z@mlA5ZqA=oolKqs?eCS4eMGJmGx9JM3J??g#sWI1$63f0mn z?CMHglMyuOG_gKlJjh*`i(iY(4ND>bbO%BiNE?VhKzIW&CSh0-?4xiTT4iF4R8`(w zP!K2)pwI!@(7Xwh2*+43BVR=f@OT$fn$E{3Cn zOhj&CK7{x(vOt2pqWy(|mk8oNLZ;$Mob$l@5{gknB_lvSU@bJ_w6=)`<&9VMq@#59 zCh{z3SPv5TB_rhF2v!ZlnDUA z(j-H@3^!81eXJUR|DFEv=#u;}LY<#O=!BZOs#aU;ypA?xO?nJ0eIo`O#iEfL69pwx zlTOz#k|9lp_8W~c8FjBTNYd-|#u|@f^|YX*14#rLa3r3F->8uWTmeFz2T?J>c;x{t z5HLQvUPL!9j2C>ebTifikv6D~Owl#kD*_S-L@i>#iT4hS59*AUk06svAXD@rlb`Zp z2S$0f1mcf@1lvJ;Pb%)|aPJaGAn+TZ*oc4xpZthOJ4i4P$4h`92mwGJ1Ox~@gc1l) z0lSgL@NS7Lk9t#?sl}^ z2%_@;^&Fx2LI(*#K!OnvKY;k;36K#CiMIUL6Cg7r_6q*TlgJGOAz+Biy%0qI{07~Z z;6xDsH=+mVyVJGLX^g)DX-V;uW>SG7fQgC$Zcv;CxA&YO7m)D~c!xp&-cryAj^1SsXC@Mr z1gv~aPqO;Sy5W=S4O<1#{thZqFm+&+0G1jKXC(OvSv30~88Ol%lc@{_Ci{9pLZHA~ z67S^&ygg*Zg#r=JI!I59qsvHI4+dzOcgs-F%1LW^zM+zYfWC2{= zYFuN$dLGF&x5PnAc1XCKS&ZcCu!@DzN`r>{e+;pU4+w+=<{If9q|*{Tz;)#$MdBf5 z7U3ksEM}00a~DTp8XGM?*rQa3RRJ9Gy<2$&tCRqMJ;~3g088To0DXWgKo~;EjlA@G zxqEL2-$(Lwjj3_1ET5iQ=3D?2Ftn7fh*oZiQ~(xLU}!3Olv;Wu3!|0Wu_~QC%Agikcq^a3Yk9M3ej-*vb0aF2Vf$xmBq1z=Oh&duD-(fOc5Hyj>0|$t# zOjD{Ty55KUlq;A4duiQLjf*{|#y!HrW5^4BW)u6wz9t$M5avMs4CL?{0XTy5-vBY4 zMreCDd;Wz9aB#&DY<=*-PHJ9WZcd1kTN_rkk5NjN%rcoN)wY#s4FID0pze>OSee25z&UsqcvkN?p|z_|l@IXgQM zY@MBa9bEs(fSB?-1=@Q0`Fi>J`T-jbVVtio0dMc;>x4W*lz=0+*!l)}IoWyuT%6rJ zalX=jp-(UboD0^|&67Yxdi~kg0ImU;{FE^Znlk3T5!q)c8iBPHk9XCfmyoc{^*4i3Gws;R8Uz~@7lP%uy zuj*e7z{beQ!PoY;ABePnJVG2AB1mw;ITA}BUxFV%cVaRg7)TQn2S7XGkp5lyE$I(K zz(0QOP97&#{bu>wNrBSlc&7kEg6EaLN^K8+V)ai!Y$0y&Og(kAtbm`XClOM|ySdqW z;s}8HE+_qP4p;SoLC3ifAu|uJf59erM<;W@Do=ujlb5gS@9K$ow3YhFfa~Jj@xDI9 zzFwXLUlYLAlV&X(;C4q3Cm$c8Eq@R3U%vPofpf#Vc$~~$6RhWnZ+%Uid{O_b6E}~h z1e}MDGjVPjI6M0|`TA&k{Pqqo!hbOT?2rCOe>AY~G{L)T;Cyla=JXF1|LiOEkG@hG z1YCfzleeD}FzSFEz+C!0$PRyW{RfZ#Qp_pP1dvG-X6WbR`WHK&{~gZL-2?CC=?jc5 zg7_K(dJ6pV_(F!4cSP*HXye9&G1 zLhwN~&`}s+00Igm07*q*c{XlY2ws*r~N~vmhsieStFcLI2eb7#rdR+b$jJ#J` zUpg8@`w1DnM>TdpRf|DoI}F*ibU(AxmyIr^VvAOoh27hws^6t@G^D6UP(Q#>I3uZv zpch5s3FvBg0;W?moq$)oPQW^fmJ`q|{RAALczgnS)KRzZQVp>mkV>|zlR-M@s2>0c z$S(E6T`F%RWT}(t0S4lSBs-vTKt72Q4ZNi?r6xZ|B8jwHis^#&iS~AjMyRnQbg2v? z9+6Hy>t3O%T?#w0gFN(tJnUSGyaADte}JSI7j21hf!z0k-0!qY1NTbU7{-H ztn22iBaK!FK}PRW0TOe$5+YT5)y3LLn;`aev{G94JN?>`cLBNFXQxOc=hVcIp-Tr{ zuwl{UF2FTQ()g>$$Pxx|^m+f!pT`mf@MGp&k94y1U7~PZq7E*B zNC=%?Svsv)%ILOCd@7c5hpWL?I+=l|Z|7)aGFWh(S5~%7_GXh@yM*@)CnUPMf9I97ac>%PRt`yXG{ z>Uv0Q4Y_C8ae7c)xZ%SZay9ybgXnQ^boqr4p8|F#yLf-Ec$4n2l}jH7R@Mi0H7WH; zL3e>1j(8|UO+^p}awABvg;y>X*sK9rh{8xu)GEjGQX1f_14!Lgc{tZkat_ca9SB4L z^nnbX>1#~eHr1l?Or-ngH!d_ZD_Mp?D4=Hg_pm%B<(ly$sq?1Rc zu-mMplib!#9T7#{TM1(Ef!UT&In|L~A~FK=s*y9~$b4pO8iTMW$IoE%5#~ zndskS9fqv(ZsZOpf=a0+=x&nQ4WgFRkZ`9gG9t$q6!Z_0B~p>;9o(x6&~gm%cmI9E zOyv_XfzeB(-e*A1Iil(3urJh9+{i;un0CSclK+ry7t8wd1Q|*D7g7_+@T?GgqPx-G zl1MIOH8Pw?GUWMN64K~iC)`@?w^4zye@RmW%NRY^J5k}z-$?ph4U`?piSthXEy<8s zAcOqGCa=FGsae6$ExoESF^|*{KcivDQCeP{KV8C8a6EgHJH0H0GN zN1m02!%>n)Zv~0O(Nc^uI6#y+c#Xi5?ADn`Q?^;cpjBaf`qO`h5FmS#6XCY2Z*UeaWY|IcVw&` z(5r?HAjUBhiC5H##I{6YJ2;VeiU%N$Rwfd6#uJJ8>0_Sdbn%mBPoeK`Km_U02aEj9FhC%0#P8UGhSTxJfU+rBcJl#CKp-c;C_bQMAj?7!X^D3$ za8m-e#vj-aD2W%bBp!rB05|dK25#1q+Hd;VKXqbpa$xe0He!{?lX$jC{A@$4*Zsi} z%M&~jr~sD@pc64L0Xnr2^&#fyC*Nyqtx(9{y8}Jo>kSHR@*B`5?hA~8*z_ATIN6OD zo1sv8rn-M6a~J*{x={b;X7vBLS?a$x|35^{zjtFmekm(0jw9~j#NBZYo<4ynqy$P@ z;Ur7=-c=+Gj8Xrju2Tw;Q34mS_$S{c+B=K8|zmpsA9fol7O$JCPfi22!It?dh zoS&PoL?DpLd%B&pNc#B@Bv1B)k|*LM?eQLxfD+d8#81zs{>VoKmZa5~_OLd_UU3Y18Yx|OQ}O3hNx#8QT<+5kkAvDmUu zr+w|$&e@$sYv8s01_psaz-b)R4qB)RakghSy{bzwd%>=xWc0Z%BbFy4;|3PP21`b; z(Xct9Xg~~FV|qxFiM=aVf@JSND%i;Mfa(7kcyc&)Nuya=S*4{(O8UD=N=B=&bR#5! z6;Zm{n^(dGq(7fEd96H#zcW){g6T)onqXXmlcOgftVlgroTjE84agOZjBu64r}s*O zM6?n!?ezHA3QVxP#rXv$x_Q!{$#nCjDP-7Kgcdg84L^hLGt0f}DCYoWZdDB`c7Zyy z!%tDFQPHWpy11K}nwhDKrR#Ig3OVh!Lmc#^`x{aAC_CZO3(VE!j?AX!JX`JOxwd9j zukNvw1TW#iD$i}j#gfIusUFm>Z+E?~X>gpC9gGh+)#0Lrtbh5gsiQc;s`yBWot^!( zjo;*xosfk?8^2kHSuK^3LBmq@xbJQPmHEf@$L{f8X2X8Y=I_tW`NBi?4-a!wg)GE) zBYQf-+9aNsKG|+P*jr3|CMPGScsVRMOm<`K^CZsnY5Qy({nbijj@qSx_PA&Rv6<0DLz0=kdM-|`AR{?J}wNu4QeX6B@; za$4QfzpgQ^HGAZxnP461x7LS66M#VW{WVIw$`wRZlV`XpKf$N^9*=17>*C*EzAAfL91=#6*ygj>^uO zX4FQ}afT9flD198f4q~`<#1!HZ#ClVvn=PU)Yg4Tkw=D8zQiFERKd(aBNR1~!}a9V zg~7GE_yF6N@@$5;I{J2n^OJu5I%}>ez^(lCc3CLni)A#&H-#xL5lf4kpT8FhneHBX zeiaR$b@})Pws!VMW6PXj)92OC7lgNa;&tx@imv5ro}(&O5!Larr1;fvwoEb5=M~d1 z`6bTpC1PS|92YCq*PYNGBwXp zOHgwrlwqrER4%pC7H@}Xej56y6dsXB`8eaUlOWnHn>L zb3!0ZTQPbDZ`2QAThyy-emilL{6(ttsbTBft95i&Fb0o@X;WSq=1-B=G{igIpO%!n zT{WOh`#Bft?MOOtfq+ACvlMM;o~{pD7)X7!-**u|=*?Bm zC$}+H-}2%?qGlD$(BZpF6}BQP|680%+5$3qNY9ol#jC+tigl$&KaR|R_xS#5?!sBs z2N3NT&L1$P4UP_A6#-P(w-EKhKlXv6J$`wYu-JQ*G)@9 zMRUtpu2Q}3eWunPBVu+OY(}c~Qd?j)lgaRbgjKp#10NzRd+s%C_ftRP^-T5%W9T(M z4aO0YQ57YHB{L1l52Lp)#q>W@nx(cBw&7W=sbvCHH_o+ffxY^WEn>h_D~W>;IDC8VEIRjMLsARRLixU<$8b(=i3pS9%f z?kiK=?RTH@HlqzXt1gFJ(9+C?YtBEEG-4ZZWxgwNee{ih$Q{e@YhusRnz^O#mN{iP z-DcM=#A+#AJrGiknMl8s*Q>L7g`=+MRGNEztj_tQ1YOwWr|i#<<7!nFYw`NIrmxxQ zU>?HacTx7wl3*U)LlI)?l~PfriVaeU`4w4r$u*E!)UKJ@rD4Whu71?p3gM*__B5S60s4w_o%O_Cne!VoG0&<-Tsf1jbZAXGR`w zV<>{JM!YwY>;3h1TkAFz14a33?ImDc`_J_s5B$di|M9?oJn$b6{Ko_T@xcENJwW`6 zTKLkR69J$^{o_Qyl+Gp;3x5B6-fxbm?m zEhcQ?xUXwn^*H!*^X%i{<5`<&ZmFXA;;q_kTmOaP`pVD6!~3t=_nQ~C#}~dGFMOLH z^cZ$-TW#%l)pG2if84P(pSe`n)KFxzsHd`exJWn-b6NCg*!C=*KU~-j!CqaHArwD( zP&2=Eea&D0l8fs2tH67+1_2AlZ0xOihjWLsABttR*D9Yp>G6B)@v38Pt984bdfx5H z>xH(BwuQrv*9RY7ML;?fk9S(1J^He;BVM%gWO5UbO+^itB}?W2Yd+qPEjH^V;coX?ydZ{rSl9yb5VW+=Pav%T+) z_UA{!mp^`4yRgmee%nUKsoA4AdS<@1;oXxjhd1NGTDCuKZG1kgsknFluwm*detypC z&`s;OwD>{j;rNHp)ot_1FroP!6=T$^n%2X`5S#7Ym(#vs0ap7R`4Ae8U!8zxLeyo|K8{_fch|8wOa06oWn8;v1(_s&ODOUMVtOG8K0nIxT3)e z!c2_Q->tXTyIaKu0(YIS(gP1xkwMQ_<-<~Ri}UnKgc1$L9E|dH>8mCjacl*eDQLa) z&q7r<#?>nN?%u7Mn90RUALO3D1Fg`YOdl=LFvfwO!@QY07_;R>Rt0*{P?@rj8Uck87cSxJNV@W@dlqadTE z3`+V%Rc;;|K4x6-%L3XRHUW*a*9`-8H+)+_vuJ zWiZ>>(?2+e#Mf1*R60BHNEKS4^_RZiYAMWWP2{uY>FP5&|L7x=**34VsQpxJp4f!1 zeM4`FqvXIEm($2owP+C)0hTD_Wb)ox!ZS0ucE9`2Sh_4k5~``lbpjYAwia{~11#A# zMX9f*NV`h!aCbDeKOHwJ+}!AKIXr#wm6vDXm?tmen(Y184JwMk%$pPUJRUuM^I@XK zBZYEf=I*1OyT;FFDiz+Bst>iF*|4}Jc~$fJO@=jvocWiz;#Sfw=WYb)-&&T=&`j4* za0QNQI8iv}O960hOp_aXR4S9H{fjGOx_L(Pm*rF2&qyP5$2+qXrOnDNwinLdvobr_ zFgFOZ)-x!3TB_Kc^(~E0BZc>Z+=I6*RbTh}Gx>BA-d5llEgMo8G!A8I-2~+_&`SHJ z4?NjAI5(SIDh;S|^d2)>wq4J0x+5}gIQA&1x}rN0J}F8#30i$i{jQlg%E(?M zAq^f?&XP1OA}m~uiYgQQ;CYp=U*<=sq|?FU9qq4Yr7}kgH!kIUz9gsItcfL@cVR$~ ze<=w{VE6{{p^|px$+r7(?fUSSvtuRYMo=cR$Ve#lR)K?q*cXSa_m6L|yvhH;=YJaK z3_F9Vluuoi17`Y?eIg3)JQlH27>sopc z8nI8Xub{zhO!&+OJ>hArgu@lJO)Z ztrwRvSKc06R<&Dx_A;-bppHz3&8kLkfZb>4Xz#xGDV>ss+R^%y@2myk;@?w@?Y|Bi z*uVbJkn`mG>&ogXsNYK_cOQoPqG(b}v1Ijn;bI;&IvUX;9X*C3jaTEG+7PbwAgzpK z2iD7VqXPk=aY@j_>lBZSB)F-0hhR6rQGy+gRTr@1X1B$o3hux7&|C_O38T5_&}Br* zu}2{fgckn&IyMD?oNeR23Zu#HQ=0j>yLrfJ*1pDP&zdhX*IW=z$)zKIl~9*uQDt}2 zOTXFVlE@?Lv9rtFZg&!Hh^XMNF*R4FlCZMVQ;6_PY8-wZH?Bc7n^kf|ys%0PPJNSp zv|%~AXBS~#%0mUNF+6n#R$a|wT>fZ#3QY!kTXztml+v^VA`?rB>eA6U7fTL%ZLKIi z6ynR2RXaD>@I=HpW;C&!r-$-}aTT42GZd7rr8U~%YHYUN6~kXrRmG6Rk~tystr&7c z>1qs2>$$E~hJg76yX-tBEe&BCPS(MJ!AV8;TijJO!{6ro+d^vIxGp${MI4cRBbDij zid19Z)nG-xnV9Hiz=3%)h4@#dqbiqmpi&_c3JOk4h)>WXh_FkhyecH zm@mitOXWF-(|x0toP4TfV;G(aeO5UekO&&2oP3s{b9dCzRqX44pIFoB8#?sqEeqFQ zGJCREblsfFqsOA;Mc}hz83{0W@MeUT?qI&dG+90^y07E)n66&^*|Qq^$NPuW7(}} zRj2)jNcE>hpgoTI%KJCZMmN_AXUY%zU6(PY_>oZXhHc%u40c|6(2C9Pv-tf?X8MFn zI4${)R2xSW2~s?ND+()(19N>_&R<*ef5UEV1|MHL+obW?1mzPI!#$-`1f<2f`$*{4Go==$TExblM&QM(~ILC(*b#DmZVQ=bELkv*Oir7e3gPkSPm``3_wgw z@+<`pn3+;3j?NFIj(+8S$*J#P6zY>1qdEN(3N<$v4PjTh=u>=4Hi@-5TNbmd)E}nC zmgVTL!aYw{aCYXl5=0&IK2WpmP`8S?tdjB}Z>MtYPuH}k?de-Dhwt^fGJ!sS+88p7 zVVf4-M40i!2r!rQpfBvX@ng&p>DlOCJ*jsH#a3q6Ef^{13|%~K;)RVE$w-|*0xRa0 zP}(|E?#dn=IG&f?hOOjdzQ~&#C*iqi95bhq`Mtnf1#YaWL0ebY3M~yoSd3Qe>w}qc zz1uytU*Vdn1-IR=x`j2~VbS|ipZNJZ%hp}dE0WEInX7GjlFD~wF`s^_v&m)lvN$X$ z#}+DB*7a$}1!^${eQLAHg3m=%r{{k{4E0LztK4j#j-2UYN!RKW`Ch@u^oE}%NIqDI z$JI>QGS_3I&_VTj&Y=Q+?h>upqqK{tICNciEg41l8XY(DJhFN7s!-o1|1}MY+2W@& zOe%?|s$EaHN5Q@?s77Z(Kcs_aA`T)3`!9~nuYILB4ofS-O7jG6c(qSVGPFi-)}#P*&pZ_Qhz2GxQ{SP?sjYAT`udC8@9QyB{BhdtL-?C|VbI)5xA-X6j^yAXrL(Yw}*Km4zbJgL`v* zhSf!*2iP_k*2{taK{AD$whEjx-#8*DtXOC6B8dc`@?gwxqEcfmLg36C}LAYKzE zNfEc(yc*l^^BdwY)=+&P((cM~{oe{lDbydxgpcuZ zY^uTVdo-Av@xXwuMVHG5cOTWm!hPg_Kfc5E=GX8s^b6ASFgupDR1ED~#nbrDP_O2B zFM0Qz9*1vV7Okg`#?m~Nw9-GV4t|VnICX?OkJjX$)fvQ z3IEPnG&kSb9<_p^q1Du6^4$ z(EUEeEPgZag;M;-+nStP+!W)q`>?=DNJeS6Z5;b>~2w}M%gzn)`#erQL_+30$3gI|ijtI@!DwRZ7l)9e!4ma;$TnHWWeStK(O>R-&l3UN zmK4+>kBCazuRqV=wnT134SIb)qAHZ_Y+A1*?a${*2a(Ta53^PLa|}wOYU?jHJT!%F ze%F0m&W$#4?0nMM+SmK}ydZLLC?{Ol$y*zLb{QH}7p)oksaQhmMX<$<60FX4d&~&m z5=lZ=qnQzcL@cGHNF#JDjh@Z$9#;u4+KHbip5kTO$lAD@nA%FmbU7S-ExzOyMem1m z{HkH;cDp>ce7bV9X2U;-Q@zZv|GDJV`-!6&+%BUdpCcIOK)(lpQetdCro@lmf&i8 z>fRLaK*?C}dCok7nN-7KN1pAvv|V!xI|E;hb&pI9IP-c?Nq&2_*i{2uFd#L&Aw_XP;g8y zm=JHqlycr@=mmqX6eY-8brKM7wFN^?w8O&jefYqqWSWfGquorlt7@d><% zTCrO6VS}#Ar+85PqBJw<4Gau41VMbkTyEiAx)z9hJ`w2Pgs~8}DHkH;@i!Z=BDLtH zu^;ZbTVW=;r=H3=3|xNVCMWqwDX!DQ@fS4abolFtt&Gd)4=zut#yYHY-k91!P+JIp z_+lm{L=Zr0+o-d3cAq@n`8rr}@Q8GErWd#_7S?_!VYGEfL>N}-d7wfOT7#jV0e9w|0{AZ?V)Q>f3PY+b2{^G~09bzfVpr(smV3TkWHs8}= zA5Aa4s5!&Z@bb$tXLto~EwRujb|W2*qRxiDwD@jzyTS-mu_rQ1?}R7y3q{p&a0k(; zpS4%Nk#I|_t{l4iB}newMUJfW@}frkhWHu28Ur&XqgVF)Pq`C_C--H z)HgxptMvjQ{SB;b<{1j#sVT|M=jVJhGFOnL#e||Y&gR4IhAA@hlOgjl9R^d#%%^cF z&jO4j7NkeMwCRO-$fDmqDDXa4$YEL3fC|&*yQ;&*bzE_1Tl#b&j1^B6K-HkP?5-q# zhtg$q{`+G1UJN~xTc8jv&-GrK#U=CO)R`G-i9O{X2F*|9j$2%sID|PlA-~|&sgLqE zdYyZU3Zu=(o9X3e_Z~-@QW?K_M;707ccQdn!9hH!sBxx@t(W&wz=6PDoGRlwj_S5kjn{g_ntRq>0FV$C3Pk8 zD{JGV2Xx)O(-ovi-z_QNW&gwHh21-k;y&@GT$XLY$`|S+^(XryZ{DGy(Yzzuq3?fq z8ok`plWcj4gFXUY)-PlJDQ(?7RI%noHw%A-^^omypCdt`a)vvGYt#^X4A14ug=X-z zBIAy7ix_x$c?GUThX`~HdgNWfi)Zay==GeLio_53y83t|;Tv|nkZx^H$phqmMLlb{ zRvLC?pqcUV%ax9Cy2z%3jODiXseAVb!5L3ZVaIssyLycR$R=zrTIH&1RMF*NTti0uU%+^I%i^82$=njz;p#Kz_R zqrs2<$B(;v?KdsWWJIJ5%NPA!Uvux0T;n)OcW#JqsNbyB`o@a|srJ4+Eb5}OXt!3Q zd-_dXp?$so-Cj|Roj6$C)G0LELhmx(>=_jNEqRfhTCzdf>Ib|{J3n%B+Oq8mi67?c zbPoF1#Q=u8Dd-z09&Ph!P~kluC3(;|y>-xMvL|;2Z(0}BgPAoVAC5A6^ftDtr9Cx*iM@n{Tn2B& zESX13EZDf<(M`V|=P0OXwxuNha)s{kyPz%9o^8DlCEGvnFL0mmnXbtOs*pF?n3=l#;iD_3OEPlCkuewc zE9H!x!?_{O=FNvo@2@TDwN)T@EpJ;%ndzOO#3} z3pSLO$G@$Cj=6@7v!Hb)M5n3eGTwU$3=0%~`*rG&{!_vO2iy0R?)uf0I!`$tY$T{J zSPe0AJe!JBhjAxm-vs`>qZt-ErCjRo2swmUvmvp;M@w3l%Xn}c4>k8R#HaA>i{u)KubU+)E^Iko5L$LG(hIefpLD$qQ6_EL28nU{sLJTJ-DAhGEj*>|cr9nRMb zq}{iSecMi}FzmSFx_#-3{9~>|Fj$wLPOLzD!~J52xNa=!b{Q0H1+mq9FR}8pu!Z3D zW+--9zwpuWvTEiXihO37!#VC&)T=|Y%g1RC-BU!vuD>Z&TDs?S=(Uq-bKO7t?&qiV zl~Eh&z5NxM)nc1#mxCGaT)|NXC_nN1=J7=to%yj|ZdRcDoOhtu9SJVMZ*PP>_nrBy z6H;8?%xk({4l%o&Z!Tk1xSsN%CGd`aek3ky;O#j9+#1r|%qB@}jWAjq9XFoQ{ULUN z!Ish3__{jX^@kD0V57PT-ta)!faf`KX0_Aw6Ki0QsfMxCsW(F+9D+9_J*)&e66KYf znpo=xM(-FEqb-g5Q&idg*LqE-OTuH}D$oVQOK0YtT$*$0yoh#=y1^BMAJs6cQ5W*p zE2~X zpLtFYzpcEF*3Pg;-TQdUEJQg`;Pa3|>s;~H0|S$Jf+y8sgiiJC)WxP=Y1!A=c27h^ z^9QaJ&phjiPan?veqgV@X~ChJQ=tCrK3Sq+Ykc~ekJf}^lT}gNd9ynoR2MEauZGq< z-8nqpH*RoXEXqvJlK5jV|3@TkzIX3Z{B!#ByIYI33nac+)^EYiYd61TiUr+WZG9^B zAuK?2>*z<^27W9=P#|GOg8z+%!DUWdsu%`i6ZwL!M&Y|wro@{(8aVQ`x2b|rL0)YR z?=vto{3ck?jl{d`>1EU>ub;EoMsk{S;$u-uHAq-BFB8!s_-tXw zphk3%!X3!%3H|V~qxWyNKbUSmw)GPYqGP#}pbq9Aw|Vo6JzrlZyO8Z*+Sy~B+9+B*Q}bFaE!jb=)#`a|P4$P5UDMRGt-f>l z%3^PxJq@I`_iTJ3xo=n-?n6ICm8)Y2P#&dACaGS4Paqr3!#5PHTcrH7{y#d>qs+X z`=ADOO<+3GyKP*WKcFO0bjXjwqqw5;dmpIdwo$-U$>qLIMM~LICBnH{NeHe_VolKC zo3A9NX5G7IQ>yk@U*kkn@I_LX`i}~*4ZCC zJ?}W>xNVw_x{XsGgbFx5FE>r(o_-|EYfZnd1-~zl?b?2sCvfUaVR9VYSwO7);>W5| z+C3pTKSOPF5`V_X9aetbla}`qN}_`P=@=v4nuh{0^Nq0x@tT;<_wNQ zTT!^W$CNM4iKS&ZGoH>mta_&^SA$Qs;Hn zkbrQ(6c_EcMLEANae>S`Z1tcIDRNC?p;?bF&=8u+1}>>}rDy6yHNOz;lX~g?Xb+u1iLdsNNJfeZ_&#CS)zZ@AJmZcUtG2GoW~jEQT6k-Gb915F>H=j5 zGT&5-!4xt3sJKEW>Y^4yy_PPeK)ZGf>Rm{E`ylCjy0#I@@J@I2t+b-Ps)Dsgx9d8J z@h@Y8ca${JY{cKzK0lDRpckN&bM%P%H1jfNW=|{VY9ozny-D^NdWuzl?lTmK`xeif zxEi*(&R$nN4v@|B{My-PQZ%fN6SV!YR>OHnyLzp8a1_+Jnmaa6589u54|V0xoX+oEt<2&=iUEQ{=W*no1?q* zWy->hn732q*;D#r#UkI=ZjP1-#Ru2ZsHacHw5NX(E59AFotqF+_6gr=txQ=q+|k*M zg-^_N4Si8<62ADL7b?>RQh8Q0nc?EH9rbm{M#3ZG5L1;dK}Ls}lZz_3w|ppRW&C2B z^*%#dyY9uEQ7J84_l{9t+fwDC!jfaWJXD)jHPdCml9zDwTJ@KyqQ;ELvBNibs#sL6 za4Emt)RoYb@oz;79zxh02E&hr&dSWTdh+VfG6qW7(GAw}yrDuuYG}X)?VxXPu{>j~ z1!J*=;o()%Z77#Ah1x(w08en2sq2vHJIi}}ROaR{V1|J?flq4m`8)ekJrP-3Yh)I8 zLasVD)y>S*7v!>Ux&9!lSUV`4nX%$rZX8+BPU=QE2JIxQ44crqp2wO~GqXK@z*zir zOOAviHEi*M9QlFhdK#|A&yAYKEcXWG?i{qHc^&J?m6~e)f?jh3-hYc$;`U z$B%&ATb5sktjc8U@3B6JtZ`3zz(PT(u@Pkzks+pCO?yOGBW;H@pf+bw) z`Vp2)#nk3Y%dm5!&!(0m z*)7&R2hGkEyxhlgvts9NZqZBbD4xfRV2v6w#=fmZ@87B)INWnd-u{GCxVNh3p8oN=x`OkS9Ee-Vk4pLtfX((F$t%$ZkuMFNelWf5 zf2DTqc5WT*`NI7NeM0TeNx$BEZ6^{?!l#hrU|-BL(nHrFHfAb3i;a57`0!i&wRb_5 zyk9yU*_D%#ZbSBu`BEFCE}F#Xzq-c1aNXI#JpS$DU&kirR}(x1?<%ht$wp1)%d`A1 z05m|$zisSR81*9d@A}VYJ(*_2+D%p2=-^kNSF$QC#G@>Xy<&MKp+CmZW;a`(6>fjK zvENkCn#CgUT{!ieU5_!p{ab-_mlG!j49&x-ztK&J>;wE74{Z_Y^4$Bf%_?W$)>etcZ`p(>3xnh6t?%=<{IGz7I!m56_wRr z`|cb!qbMVThYpU&ER0e}6=vA>E1jLC4cdvm6%|Ax-p8^g?fm+FkAdR(8XZ)P{;j-$ z(PQ_n+k5AOhR#!v{EXAeni;?G!Jt(cR8hjADMJb7tiO^uP?za)c|K(pZH4?UvM>Xf zH{XFpyyvQmhg|Bi5>}9)vdE!s`$=u;4;L6`C=ln&P!ZEEjWbiK3pQCbmqFV??#k6O_U-69?kNdYENqv68-lr~fYZ?HKwHkd!5SLK`bz0Ed zDnWBZ+QhP}A&DgDro^HiFR?tK#m8${dRU0*DS;x{FpV445RX`xp1ifTj~rqvwr3*` zpQ-&X}{n~)Bmgz*5%%==_QB-5$>J-HDMLV^Am`BP5z$XJYqntE&0hxO_4I(;!k^?%? zsp3MS>>Pz=W(hlUoZ9AzrnX#*lrWOVLYz;==xERRnSW_(QZ0~z@)i}h8Rim>u9f$$+To^BM) z5dd!pKQ!$lxd=cSU5j{!t;Op zB>!XfX{YwD2y-}IM`xx_neTD}I6hP^=X)Z(q~IksoA(&At!yMj0&wettgl-viyE}x zb=BDJJAc9e$6H^->Y>Z;QCb+v%DWrt+=j$ez*zD3LbF5Q8HE>v`F@7?eZRfK3uWQ1ifpnfLyPT+Zx%ksKxPMIT@R@)jd2F#3_0(FaPE2Gc5xJZ`^8^SN zvLwgBscRbojMu0KC(<90EbXCfbM2&|r_^C!7#!9@x)zWbSSg}ZLn5R|Kr;(ZaREY% z5hNyJPW#ji8 zhu#i%==#3>&v~f=kL1DjFQMiG10BAX2OGuhuwxG>PwM)y?4jpvV`JzC(gSIqmcCEy zV;R;ZF*Lnxxd58tfnIDsfB+r41s>Ib&AHP!1l>Wt(>Z<%jQ`XVt(aqup6V9JIxz@n zbW8T`VaN8PiW^5qwcKgv_NSprD|jpvgQ={NW~W{%6GfwRWn!;zB^kT=Gl_8z4W}3Yg}U+MRuvUxkO^ zJPx(cP~Lcxy=|IBsscRZFj$6`*Vd6PVH56W!WI1id|NQG3KQTQ3R(nNGcV6?E@S$G z9E;%}0tA*?xl;ue=Z=akK0dz`E?{gspF|Mh)&E;@vji@J#%lM{sIdc&C_FA+;&GpC zybIFF)P{wHrkbg&`u?xjXPwB_5wX)J%E*y)l(#gb6T3ex045>O3@XF`#cZV!u(|tA zD(#{ZE=dFY89+sNn21?#!G>VBrsbkXEP7v<>xB+4@%`w5Y4j=HW|<%;gD;z=8Gh%Qk$agVZwkGm0 z9e=-jaKTqoNz%R2;KRNrF^s-&d(2=lOI=v>3?5`G=!?O7PfA{qv1BqD(6 zi3yTb*U_!)2fSpMt=MNS3QVjZD1LMt*{#4 zg2moSaxmZD$R(adie~Zoin}x<9iM5a1L{45Ab0Zdh^>tONGr4+&hy_;yXE}#l#*Ev z)}U%1VxE-1RzkFiCS5vLld$hh{%r+5R;>4_>4~H-v=h6)so)781ao z29*YB~L4DT06=Jrz4s3S}o_^{z$z^f^y{|(3MaG0nP4Pvc4N=$Z01BC2=~|V$?yj z_uiXFvv~PZZzvDLaDpcMEdSmk7n!Ia=$Q<*b<8$gA`S=wjvER9oZC$Qpz6r9r2Qt? zd46_G?LrEV+H&7c2{9NuQ@s+6_Fe;`u8WrqEUH+6RUGVA-2O;8FsDHZd^i-jLIJF|a+qj~4C3PVD1jA) zU_@f&rz@*8MEIX%7|^Bc_+6F5_=6vRE>O9~c5M@+w}NBJO+wg|BtcZdqXSK^dzD3} zXh6ijgu#qP3nRyWEG=OLI7bini(gTr?Ck0C_!uNfWBGPrI7VBnx&wX96x3Fw32tlH zX8Rv~sr|pn3MRxoHz^3&B&*y!RfUZO{~mYK?D@auIB`5ZA)C(gSFPrGS7tM*x0aD4 zm~<<}WCqx%>;ZQE?364IB9%j%IOO-uwYR5rn+l>r_OKiaZ3kaT=JqqX*3#0i%y+IU zc(-(#Ab4hBGa;DGE=zslY0Ck)9F@@1f?pC$E$g_N+%8Ohz!R&l+K ztk2e_Tk1rRH|yN|3T#FFoFp9^0m-~WbJ@cBAN{a6qz4Rr?{Q%JQxdaiqA|43xBp+R z_ZK8wL+;3f^AI&J8-Otj%{AAf8^V-EFDj*^(frNHP~bfjh~423kTK@GBbiJ^Bg$=4 z@#SyG)OXCRv+7YG4bizA4DPS&46lT#gN}(fbN?MEW^FDWOOxrGEmtQ&6O^=F2&EE8 zi*iXQ+ODd-5XqujZhZz`F1kaLN$vt$IE!S#1fpXn78yl_qn&(BMid3aL-^A!@s@F+6igH<=D1AjLwH%hXylyk1A{G-- zdxGgo+e}cW40XTNvjV8fSTqoJ0O}HvM%YuGm!S96Yg5-&&#HYInjzJx1`#ZDbmo}| zL?52Z({!k{ICe7gKY#tNxH@7@LfWCc3dIT<7L3aVL6B1*%MmorG=yYhBO}V-ca_b_ zwdASurJ*@MX_~a2IB7sVc0J@o4lddlT3z&eZyt;M_{2+@%tYCDeeSNH@^u(&*fmSe zDvFo~eo=?fa}rcQ~Ck4xYJQRiuztoT#9|z+K5lES-_Z zx4cfF+=tpEGDBX0)9NtSpEI!ZwtiQ|07tv$VoSQFA?;(d&edy8DuK0nloDzp>#sR% zl-T{Jz=IYxMIIaVR4?Sm3UTnHbJCLzd%b2>UPL7~6X8E|x$GCM?0q@z-3ztL4q9(T zybVFf^+D_fR(%t<7dnkfwRD#6<>J00g-Yf_%f=*aBH}X{%9N(}e&g=8WHz2VC3K#h zH)(dp>!RD8CRaZ-zV}_9v^0)p0m4jo;nEHoXpT-XQ@H68~oZ zjD*U}2mxZ&VMeq5=NDS7gR?}Suk;?dRK&s8!Yp^BMZiOl{xk!V@Gu4d0hdN_mQApx z?{WQ71C`Fq^>aDl^K-cr5u0k)^>JM@DeH#S`8K*zP9%(-b7;fYt zA-F+ewU`l{-tIH+_v`9e71h^~9Plkb%*bJeU@N}WkG*N!(7cN*tGFMEYr=H9A9ewGM#1{^ds-yXtIyN8nd3w)P2WR+JU{>a7phEyMV_royGE)!SK#E~|i*NSu38B)C~iB{G{L%DEzuWiP-gAU>^? z%1Z|DNZ~fTtrf4;ac|W#;HR)=rS$)X!>$rea0i!4fd#dEV#Y zQNktVWl$J!yqUyZ`fO6kF2*)Fktt>pO^XNQg&33|S0k*8^LY1Rc6!d|Bk`;E>ov?= zz-rTmv>QH7xH%gC`q$6+unSWaMj83Lx3j<4xNA0D@Ay3!eU@6hGG=ciaWdS8ghKho zVJC+Ea@@IXmWh%%j|oTFnVhxe@-6xdGK(yKAO>vOIASP(w}nD^e|+rR!2`wZ{acM* zae=a%V+_)tR4U1Mwvto|^PzTyzQW=>ksa&?~zNQ<_3#faaos zmLrQwHSuBlQz>a9WNdioe4&%4_$jV6)>DW4K#xifVdTD)6zOAz^MaoYm)rQ9YJZlj zr(ZG0q%c>q&Y_kob+osj)nWxV!41U~6Xcd91?G+24v6rMqwzGjN26bc0S$lV(|Ph$ zlEt*)Az-Nqnbr~^2=oL| ziiyTUJWcinFTMHhR#|19UdX6x!MZl8L8M`arHu%R-QZssuqG9E-z$!03E1Cu6<*>nzoxQwuo1?cqF9GVXjrhYP?qBRa_g}Pw15IjGv~b3 zn;l>h_g8w&SZ_f+YU(Zne~>&YR2dIc{){7U-caQrM~I}GY5eL^(=elQ^x_QucD4*F zz9q$vkC)iTgG(y_WTmH{=K(fcC|^Hyv~r*#L_z ziydA_uP@dS@D`SQhA}WN__3OHx&F5Ugc#JJiV6yIZ)xsp)*u^{yCgOkP>_jWR7Zw_ zZ<&y4<BAuhbc9G@6kf);{S>@Fh=n*U>=}LE zd0xWGl80o7rvebo`DQ<7mFw&sGz?+swHx~0jMj@Q-L1$A<{|oLCw_UuT$Pw2CMx2b zmNF4Z(k%=iSo6?JMN{?&^15mQCU!(EPEa z$d64bUQDkMNNi zIj#6v1R@mtSc(977k6o%{$r_<`y_O0KMZ)#qDaQ>RVpPn8WV+n)}<&*B=oYcy-O8s zO4VezFpgT2i=n$nNQ9wz7D*(vFK*~Oy2YTdjYJGWC6E+DPz&jJZwP2YQ6hg|S>#Uc zqvC&UK_ivz)TBmID#iDn=Oa)`6T5+33XI}y5^_A_>&fI~j5bX<0 zQd%j(f1fpd=9h^Z7{=(}=WQO`WE>K*UXt6yq$kN&+gBjd^99C8uO({WF_GAjnZ~C3 z2g#xMHHd7qn%>o%U!EmOH7Tr$C8wauB5^u~2)Sn>awL>6sE(EdYWdp~Jc)#-FtaS- zG}GfrCs36V+LaSS^y*BdB?32kz8%UbQ;UUix=Q4Tn(&W@iS2yvo&7Zc*Kipu@^vpl z&CC`cS`jgGM$-qhtzb>LaR|rP{#W)TTt^b0Glz*h&tcffeu@rOtDJ*VwhGS06v&*8 z-x;DsosFYbUs&f0I3<1n4vu&9=8^l8*6QNCqofO9lHL?5 z#p>|u^SED|#G8Di!l6WPEJ~#_OxVIy9aVI%m8GWXElDe-Kjmv|og!zNv~aR;Hr_sW zF%-dKIepX7s^!zv(gTluO`+iDp@P_3j#E)-}Y9_3A4uS+-g4vY%OTL>Y5 zO%y>2=G`a;blh}4S9$!K{nBZ|a)_}=D60-nrjkkKkojmRNgzgA@Y*J|i52CDh&FNRzg;@uroOqmlz;CH0jn# zXUIZlN)P}*P=UWESt%9gt#KbYsORwC*p5igQ@VSD5#wQh(%|1|Z`5b?Op)tNi~Z=4 zmY?=L&#E`o|9-F^mucXeeYp&{&JDQ{uMlJb8QZbcS$!;BwYDlkKFjwLO`v0+@%JHP zd}AM|O$uyTPJEm;856QimX&{>hM{G^JqVR1e^MBIWMsNx%VJOWCX4kqj+O5lu$K`K zPEN}m68JLJ@;||kQP_bzh=5OaP3#gr8dLUYl%*TbQQpBt3L+zcfN61@xkXNqO6`cy z&%M;)OB?O>9EHa(bOwjmcpwXlVmbvWSX-Qh*z0Sv02XB?b$agN-+TM&5$V@tj?08m ztB~+fV=txf)Yd|>pM8X1MtquiL*JdioncRjNQTGGDK1b>kLT0>n7Qv1h*Uc_EG^U! z_C`5?*du4a)UA?-iHS!&7m_0AR*DWk(2zIK0Z<&XQj@` zS7ZLx9U#4}+pVb%gVYhu>y^Bins$JDXZ@pL87JAEL(ks=M7 ztCsa?RLD;2c*vS4j(may(D(@>g=lY1B=MF_P=SJ-}H>x!R^qt2Bk?FX#&R%+3K{Ll8 zx((e<%K*3xZnh?2-;aPU(DMEeV;oJc^0eU~znlN7W*aK+ zN%moz1=NtO#)5+zL@u!+U+(XUV%7i;2M@)|*>ZPlHK6085Q2Dwt7!JEN~AP+^XqBO z*OS<7Qk) z${LsRT;+~ewa3Hh+TqOmo=cmuK`I^g|9`=i3q3FoXm%&&*KE*VfCw}o?D+wNQ|mz} zJ9o|{g+-O)?t~_<plr$GQN>!>;liNerw3Fd9L@|1~qLgTC6&OHf7=#&%hB`MKHPv|MsaAUO< z$c2&sga#hGOzhv?YEJ@(lOoTjkX}&b519J|Cit1;c(j!`L7cAX-7MI#rQU$@)HE}; zjtm)Ec7Q?u8gihu#kKVpN!Hk)7PkPSXaj45Qiu+M%o75TN6w?)M=nRooV-HZ?%cJ< zYUPT08U9=_?Pe8h)wc#049yPMk3Y)n^4|mvjxA=G5^r`rlL_Lxw(_=TB~pwlB#l-h zxdq7r=21p+cM?NlVsWlU+-bRF!JEx|pX2*3up@e}EvAoNsJZHj5SmCfDm;W>X3)UM zW@Z8?gPS`QQ{-wRA2h+w3G=`yKu3y+>oP8Nb^JOlSInAaL5M~nQ;!{t9|S<@@B!&T z_qF>9isKDZg84lu)Nb%F0muZYj>Y8Uc)}M1gK0FoEVjsAG>v$V9&32g9^M!xH@cjJ zv&K*}E;=__j8BaqGEjhzuNUG zSX#DQro{2)FU9~^f=0NW9ux>co%#0hzd&x6e>i&?e+awJ+Eku7^K%yFw<9m4v5XuHvTsnzMHs4D$fRbC4<55 zqX{D{j>8^iqVFjsq&@ASr8NU*^%U_M8(ZzcMIvq!bX}InD`Z)RIef8o#ziDMTJD92 zr@&iJ*vQI72?qEaJ(XuBml^zLcKAG_rRIYYBT4`&sM$Sk5&lv46c*{;&uZwx0yQ~` z0EkI1TIb#5@GQu5OKe%E?yNpGcY)@gXRvrs;7jsnH+O7NQ~p0)A<@{E5qeKU_~3IZ z$f5%Z*t{=tEg&0VojB_}?eL zsOx=C{s>@ArlP4UK1%9l9xQSlZ_#EcG7{)d7BqR%t~L_sUfX;_^8ye7b2zwT2ydcT zuBetYz}xZz7;PYGA~xnXHn9{1huGuvR^Q6qu>u$EEr;pavfwCeZkw}iookoq798p(0QEkqKUpG&3{mEHj zxQ7*fO|5HY4X&Mmgi`3n>ls$hrngHd9!VSz@j;;zAD zSV1ER##?@KoKe8<5A9Qw;~~t07$B@!H}`u?ZU%wn198T01CT^JyY49OqP&vVK426um9;j3`( ztakCu6{Zu>b2_k3f**h8>RphEc3jeO#_ai|f%#mhFrME-+OAf+&!{lZP^woTMm(7$5@?=Pn=a%+78%b%^s< zWYa^wnrSHUH{44&`{-RxiL6os0|}7ftlSGe$j-2o%5~c@PP32jDC=qYImb;Er2PbZ zh0+Mp1kz=BwES;XnKL7?O62qNxDLE8u0-ihj%W{Kuv)e$bGD)H)NaS<^>sqvvZtG) zz5#-~MU`3p>q$II+KZhNg2z^U^F+P;;qC?(ukCPYiL-R@DE^9(+GUSOK#i+PVM>Tx zqJkRvtdWSOsMnLSRac^v8H4Tx`IKmNH|{XloeOPOvE|bgVO@9J(W{{aj%$>N(HYHqzDY z+Xp9my$SIUTJsM3&7DL>9o|2&;L;_)>8D6-3NT1~ zKY_&Fc{AV~?807QIab%J?n=caVK6fZnKBhREhq3%TT5|8Tt4)6QXh2l zvc(rI>Bqc7>=>ZlzW$Gz`&@U-mYkjo@h~R`pfGEVpA(fKI}K*)sq!{Bp{-Mm92|&? zXd-2QFiXY~M5#c*6ARix1fW!iRft34{!78kq>;gpWhbxXX{rZ1QItP(H#T6x|7>JT zkZ-q=nH`)P>6c~iKyi<|=JY2u$^=vquJ6dpo*3Lq$GH4dDH zH&xFP`^^MJL7B-}a!`?qY#oJepIaNR;*RX~@uqIYj+FgvHi=pQ8I(lAp&=0h5;O7H z3y0Bez5X4nyvm0w({T|V$NbjhtnRSZmf7~Y*YD07;DEvhGzcJw0unwaP(>6BTD~OC z#WTVOEZDFnd{_!oU}(aN#bviG#~KBy%nnVZrf@S@`*cbkG+nwPHdg3zE0IevW~Dgp z;UERoAgt4p%13nx0Nd8=5XO*iJKD5eH-vgE@lM#n3>nOi7Yfm8@|g_(Nd7)X|D=D* zG?0vsz>vj#`y=$XHAF&0`XWr>WIM+53@M+7i7XbO3IXU-(qc?7Q2JOKTrjX{K@4u* z7C5xh66NK4@JCv`XdkmU6j&c~agc z({0B?bNHIGvA(H&&V+YghHrg|n{~R)D6zriloVAITV&y!*C0-`0`6h`0-X>Ky^m23 zbK)S%AwYq}e6A>>wq9I6Ptn^`WXzwQ0$Yu%EN6|`o|}W_Ty*;Rlb(nJ(+`boPw3vs z?;iU9a;r*dS(rUxieENa0@>)i=ZJp`y`f+z7f*d{0E%_~!w*CdIkT*UC?YCSDpeAtzZmsA>Yv06BA1A0FS$=VX|sQPA1s{O)S;rLoOGZQ zsoeQZ_psgem_RdVCdS1`S&Fd=66e^U?OK3~08J#)z(0wgIn!Q_Ea$J!VjAb%_PkKv zZ#?K5nfI+nWuzva&5vi->bU;=&kf%!uX>v^f($X4`+b>oae5?FYF0H9Fj4I)9{$iq z_WunZ?RA7i%rLMTj877#*orY;5v;8unh09e0DoHmNDl3x`#fHgwB+yplzbvMIPV2H z+NWLf7_tZda$5bR8r}6;}4>(1pz=+r#vXCQCO?! z5X5}6;BZzWX58uWjOyJp|cB}GlMp(LQ**4zC;pkQEbThtIGJQY0mB7%4iVn z!wP@~48~nV50~Q?jWqa3i(p{v_rAqj$wYn+3BT#5RPHfTD}A?8p2d1M4c`b3-6DGpyF3zMFB!QKn0@nTQFL<4g`Yd zZRNr#N>Y^c>S$I0!4!KXBL5;QLsLtGGnNDT>x_Yz|!_AWV`b#|!51 z{QCPPg0iy#hILN1Hg+ObxQ0hd$zLj(1FXV_SIwtrnHwE-)Wd47PCh@k`gEY=2?!|I zMw<-vYO1@j1~e!z*|Fgb&?|ZD!+7;PsoZzI-K`Ih5_40wPYtV4MdqJ#MA&!coQXQE z!T1sO8$EHFw>>4gEI5{U83dOi3>LT3OT)}-<=|WrN-R`xEjOC^Vf-{{K&jXsWm7Wh z;%flb-Z+j?pUTRT6XA)o2T-2eEtZ3=nBX!dB@#D4mkdG9dGrHdRDlX;-~_-5#lXoQ zTg=j{%ZXlGm_*J4Co3wI@JpR4u?T6|V=A-eBmApD{rqm z_yuf8)FF`qSt7FqWH;s~IM0Hwa4gcNJf;}sXK>dP7&W6CTj~Vg-Dj}h>ZHjY;HhUO z$5$X7c5}B!-l@W_uQqL!mRWOwgpZ3AAjji4y3JtIpN4)+a=`sdGooIv-#O<-{Zi@a z5VdO3LWQyVbMQw6UVT3DrTv26z0_T?oWG-CdWrym^%W^Q7QJz$`EccZz%{CBHJ>Ap zQ4}afQ3wW}*L@I0+47A6Y$yctr0i+3$s_z^uzITc6al`*b-NeAQKk?ysGb1J%z+zw zgx{GM!=*A9=7}DrznHQhffs;bkHY$*5IoWFkPCExWnefPJ4-SJ|)HkqxV4tGe4e}JerL{3n zgDYCZiL4i&uE(+D^G^MmCtX2fKwhywrHUB-iNculq^J`op58jV&Vmk$G|xw32ht9p zJGP|CKi%@KfRfd)$Ro{@xDD^9cgTt$!3*KS=%1fcrJ zM})&QY@YymC}Ec>)z{s!<7NnSH%YGK6LFVPykB-I>b;4ASi=7TdQ;3Xm{AaN@CtUHXQ|aD|yqe zbCp@$YV_2u&~HwJhQJl5Z*tR?kCKIYv>iYL0%S}bGbpu)LzG`b0m$V9)I}&6v$r!z zlK})taCOPy>h>c&vZ(HOdo5PYt3&VZi24aofrT{&A zJ!>iy!-f|Qg~;Ux3Jk8FnT=+)?D*;_rVRrSsVHMYlvNc&Orol)sHy^`R4Rli7$p@4 z;pv#-IzJOzkq#cx5T?P15<%UmGshF{7=uw253H!ccjzjYzDT?Mp}AdcH9Pglmmh4er|URJgmp^CCZ7%iP<3qJCW81Ro1*`m)oiJxFFneCTQVb8ziiazGc#7Npss(%2M z^)Hk&uW!06L?99ial&70?zI`iHPT``vUB&LMg)|Qe_8_;IPwRE_|3cpZYB~P7xDcE z`6`V$RUXGHFB#bQE8c7_0nk+0alVN_Ru~w_J+`at=IKFwg{T!ksS_p>^spcO{rOjy zq*W^0sMK;N7WuThD5yjbfj8-z_#0DS#hsJ2pH6iAFCXgbmDcR1jT0iOs;1ZdV>a2o zMAxR2m4Cr4)T)QBrWY2Ut=atiNA7z@SFKYt@m&@vBkvJx};4h)$1MR5Knk4%FE68a6bpHGL$UikKK#~O2-hGrC zM}&EIGgp|ly_sG5oN4Xi` zTL8%#FZ*an7r7o(b@lW@%Gd!sDBHLF{ae})76La0m;Nk!Vi>n2L8ZF({T+TvvLX}2 zvAc`H`ct|IcM0GP__ASZRwCSu5=W7>BGhGwZQOZ`GV5zP4>7!T#eo7djt?hKt*0>^ zh=|kQ99|;EsnMWvBU$*a*cfqI%zUklv!^6_6avecfn-#FPdw~r?n+uh(fNiZHpzVbjxWS`so zv3v8q$05Y@HgeByeGop)x}8x-a=y?|F+AmQv(Nk&F8f=XR1nABTH!Z$C1GTr&YX;U z&mINzhJo|2lXl6iy4;2gM_f+nbsf(c6EK5!)8_{Z-ltJG#yQ>Zd)M4sPlWgZzSGUS z!r#Wh=;;oH-sFWpuZfBgzLtvo-~Km~T>eyPi%b-EVb&_Bs)EK;0%Y-s9d1whw^$S@ z?+yQSxnugipdiIr&6rc0MQe_QW(|t~%x?HVi`)y(cjJkl)c*=qqk<=(Lp-FMnKEq8 zn3K<^0-bZ#?mevh|5P!~;4m^sGwMYmf=ss5nL#eAi@?c4m+>T&WUW~o9t}W!ILEWI zcHyH4Bk#|dag!3~*Xi9xN46d+*$*#U$EVc1=XAonTn6AzgIg@P8H9-2I=cdgHCm@0{zC z%f$qP2Cd7n7(6d3XTt&gJyc*}9el6lr{0I=f)Ga=Dd>9mD_PC&oz7omgWlZo+botw zCV9Hh!~jeuP91}o%EFo7mm6p@xX?w!X9ercaQ)NKwOTGOGA?Bpl*};MF7W=Y@X|HJ zR93WeN(+gI&egBcg^geNQs4AGTSoDz>QRJbWZVu=hcrwqMjeMMChRY(@CtgxA{ma|lL|*(*rad5y0z>c7W|_T)2!JkR|&I+~4X z`d)EY)zL_*W>S7E_6-%4mDP7}2qvL~%MU+i6sRS8!Ui_#F8Sn?;GAd@NeBc+A6 zVC~$2w*{u#q)%Fy68aCf{tmP^z2;Qz1mwy?{7qrpuD80ps$^ldYj`k+y|wIV=yVU4 zXSpkDa6CQQ9q%xuJ{jfi`wT(O=5uYk7Ghq+1Ac`{Q+?jodALKg-wX?UESZ*yigp4A z6hg1w1Rv^jyMxzaF-Gy*Lq5!M{#_ABjzv|PtY2;F z^0o$jC|cbQce#B8I8X?lm^zdst;b8Jd}xI=dqo+d)n6OFO6>N}9TOg-cF-kJ3SmV< z^o5Ky@UgsR8T=WW1{U8!=5PQI(?NhxY0~3MUGN$2d>NU2V%Usx?VwwIGRmazaD9-qriKjSYZ8fQxjOAVRBCArH5-Cph`tHM>yJ)e4v@P8P&dE0F( zD-?9J;Vk!&pXHuMW%2c0zONpAF>qG~`fB$gKwzsA3zb#B*++waBbMUY=%`M>4I({3 z3p_#KS$1uCh?+yz)pdOG%P<*2Zn= zMhsD4`_oaZvJgOv@)3hm#fm8M9{1Nwa3nNwa3;Lit+0ufL|&N5M$h$vUe!y1lgb%6MA;c-sQzjk~@^ znv?iJXQ5Z>@E48!pS{BU{UE9TC=)pW0xAMzW($g)_xyaxY&T*{xk0itZiL}h@M0OU z+Hn<}H5<-rfoK}Zj4EWOk42G!5c}|4)7`6vm}Uqna9~u@ik?fgd>3@hn>K9Ovu4T( z6DOgSjSxRb8Udslfa*b@RG}20K%r8FN~)Y?O5pu4cUM>q`wj#!Nj1akV;$t4L!Q~> z=&{p5>S*$~-U2d&Q7rgKPBIF4x)-?{n~{!_U4mu!M9^zjWX%Z@@=I>+tG1N8`1L<4 zme$t&M4t+W2X}OW^6?BCC0&qrBp-|pdjf2mjAMR)0lr1h>5zlhXYnQF7F@tSud!_p zhmSl7#l=BK{GrV7)7M*vs(u6@M^li;&rhc3YQ$-z$v(DZ&9%_-NbYH39>tSI)tii{!2Y*2| zhdJW*0DdmB>oEL_?;5_#+~yyFuyYkoJ6{Gi4j|US?hG+Zu&k<-v&i}#)c-TscCbFb zwAyo%D0%+K3HtM%-oAhE+pWP&ot)t1sq)YtX43lnT3djjy(73IzFB*IKKpa2mbk_Q zCOJ98Judoh+9fUN)wqZTzTC}33HQ4hC?J~9Il|<@R(@@BD%68YA}&9-R{josM%w5Wc#(JfFAsQm!2%>oovD+tb^SKKZ`kH#K zMFe7^EWq`^`Uj?(Q+c`CcErcqrq}YqyTFOM;PVzQx^{hK=9;jn^H5Yf(|A1KpIkS= zgwEVf*v%yI$NXSVkqRfVnO6G4uTJr6n6Y_0W%yYYWxrcu?573 zZHaDxltYL_XP!$DU!ztUTP`Eik*?N5MoGmdjUe&9@*qUTVg}TYtDT}p!xtoGa4^M? zCZ!tLL?yC0AYY=;FuCZg2xe479TgmOP>5{UBfpu3QwwlMcJrOw^K9*2AZl^&5F*QF z=?gCu5=XRw>l_fD(v#WzE>uB4hP5b*kX`a6FHLoO`2KbqPMQNQ*C*Cy#gKO@%9mA1 zt#jBvTsxcwJi$5E0b5ws~JBAvsLcV)&zdJy{#8whni+{Wg zY8V}AiGWP3-JDt+?~QnvvNeI%Ba{t)YvgTVP!Tu}!u!fI=_VAga@`=p(4e%_vEZG? z>ox7gSMF;CUiEubT8>?{yV!roPS0K-$O7dN6pNA=BC{{O@JE1+!6t&O<)OAdU3oK0 zh1dk}Qqo2LWM10i>=o6B%de~FkLl>7DOuK~A~1v2PAkQ%Z4gE`qv6sb?5Cqhg@We%2j)x5;?Q4vvqC}67PTbmmI%o%9`adhIB zX00QZwzC39)sb!6vj%w&19kl}t8Vc?aXC&WNwLfGh@E5_Z=xu=Q^y{{J>y6)$F2jN z#zIhE*U~W^=*KJAXpAfwa~gLv6xoc`RPnoxX+*IA#3DoqGXT1f&U;cx5-hxBxgX=t z`d%kmy|2XAzdS zoG(Px+z!4Z_RB4YDA%1c_rP^xUe8UGCL_>Awb_Wrl}$jjb!$neB% zQa-kRfbmKF@fVI#E%sdd=Rb?LpBI#>6eCjA&;5O{#aGf0x+~s0Pb=& z^Ss&Nx&z@kHfBw_VVmR-X86b5UZ=e6f;QTNXHlW7=WH*}*|?iz*&Se+B8n&=SpkHP z!EN4wdkOx&sHsaVB!_otl*Zqg_B9z=D6oSF0wS`y+wrG$7@*uIPg2YoA4N+BJ<}sl&EGt(C z!O3`VEU*_F+6yeWSr4ns2hZ zX50Jr4-)-^9H?uD5zO>#4(9L47mXMbtk+$prVhVZu*wc3^xWf=9)vvhh;`9N)W*`{ z11oRGx#ND#k7tsux)97TMz$nSRl*wH(%`SqQSrh(9ZU6o5zYxB4^c@&*_fsip5yR;Vfa7F_wH3L;!?zMyYBAkZ%(E%M4ytH5wVq#2)S1`4p zi#@-|4_&7azM4kTZ_*r^?rdVY^SPBd1BaO#@3_g&;c#bo-L9&qB3b#}h#w-$tQ3KR z4{v&fRuHj)gGV#gz__stiVC19r65EIP?SVKh)8Fp0W&}8#B5i3Wl4T8&)}uA+wFT> zn%Fgv!c=K0RRYOUAd4CVs--#@R}?^bhGYydDES!k|HYETsP%iwYUwtHT;_oGVeu%n zEoE?RItwmaUB&kM7aWd{xCCy(oF>wpT>8)r(=obg9MLt=0q2&!av{BjEb3aJri8*W z{_Sph#kqcSmH519D#2onfGyZA2#uJS&H~?th&9!eH;Re?1}}tfgvJszR+grYw>oyB zeER_#sK9nK9*-~{$YhO;_ScZz@%i0hZ!%^cvRK^FR0Xg+u>eUx-=PSB%>wKqXy4+s zY?Gv!7sc)7)i%~FY+1!dw*ZL%hFe!8GO9%4Fy6R?Nf0-tJ4mdfOvckRleF*8Zh2^+ zfld@Bf>Cq}BLrgsiZGHOU=2&heQW10;JpND*5qD1u3JU)mB(cy*3j1q_6tm5Xb@vj z>O3Dth`r2g=#yP++fyTHx2A$o4M5bcw5nPxHZ2-zt)>LM?vyR;=7wO3re->~ngP9a zgXysI&UYQK;#n_o97}T|8-metbU|VS%L%;_>g)@pp(O{bXpsE~;r`1{qpu#G7Wvqu zA@$&Txtdn=V35lC|DLxpYOCR=eFj*SW|{PrgDqEaeVW>0DbArK81n>Nfw}Fn9Kqp)-2u##Fm4drVhqp_#0`IW(fG- zw1x1x@8Q^C%Fg4kW(5V8JGBMMzTg?F?cBGN_CjM0?ZNXop_1cUS zaKn^xVBcTv^{NvkL>?0AS<+Er^6wa*mwTYTZ;hhk`<=X*TM`re?G$(3fe6uw7j-D3 z=d0_NrtF5zn-0p8@u6&syg$XqMYHk9R%bd%N_qrYj?*0}}o;XoZv3CW_9YGTX zWj$KWOejwUV61az8Ui%~1pWs{128FoglZ>0%*>A_Y-Jim^peMHEqDtWi`^MT#oL zQDTasixowRFYNh}y>EhShRAG&$Yvo7vT_i#`6L-7GJ-NrmpEq(;hZz(&TYd77GyGI zdK#kFrqm^_Rm(P}sG+rl&olxuO!V~hUbY`ZIY9VyVHMI4Lsw$|qNvVBI z_nDBzmQ3hfGv%CWimEM=Uo6(nhGt^m!#j3mpE*@URT*AiJ!a2SGcje*&fS@3&Q(!W zMU0a(pB(m?nTuu_+p|77%Bm`;wn?8g7-y`^F=h#!F3%gl^k1{oKb6<gG_9N%sApjmBs7AL=3i zq*5uN7x)MFFq-7D++4UZGTpD@RB;CQSCNTxSbPEjctv>P0UECNqZ6e>Nt~W6j>!#Z zXW0!I3ID%V%MCBD5UyRzge|A%{0L?kM33X~{yuCEPmB9m`MbZ%B{j+!|J7Z+oPyc! z(1r;Kh3g>cN8N@>QYA!$^+d4Nh>lk1F`iTlaup#V%?L9rKiFnh6huvY)Wg?8^Y-|M z;%qZkhd?y9$j)5X!LhpM9SWlIWjBlNOzuQMhzM2!HfiR1~;+YK!lAzeOsXU z&54h}UT#>Q#T~Yo(Ad6dq(y8v-`;5r)s7q&NOWRrf98Z*bKet(NQ$R4- zSCU#4l+&$gQGD(juM3m>?H?oC?Q?e0L;sfXt5xv=mJZbfO0qz@=)p*(CF=<}>{9#J zcLY`Oas58xzJtZ^FE7bsvFC6C#iN*DYkY0p9+y8KMT@Hz!IhM|de~t!+O|&&6k&)M z8}$Zq`^z=N_A`wK3y@u&$4n(&_cBlX_4QbX=fz~Z&_1RXPu@G~`q_ORDz~;56RXtw zbg|#A{GQl{hy>v$%OF|gyg)o#{S)KId7(z`-58~9Zg;xe7k_?${a$Z1-@|)762946 zWhVg^C}emUlw^%->3PwAVU#`VB*>FeEa@~(cg6Z z55>2Qx+MP`(75Sb>yNzcIzk^5<2c{f9~tSlGA#TQ9qm#gQwC4I50qG1z9iH9zrOD= zam}ag3?#(p=O-HvN<^B^7EO_^InIR+o-_Bd>=Q{7Hz2!Yg+Ao zsNA}&b{LngR6!01+qlHg{FqC2&%nrJK&T?p+9fxB3pdikP0yVJ=Ag{!h zRjTzHS-ffMW`C$ION>$s8V8dj!)XmW)W#%!v8e;G)Z~{ zZMLZHfNoa{FHPY?OTXUj_TVh#Sx5j*O$0%zg(8Yngf6;(L@0%C4_YUDjHiEvR&Ml# z9XIZ)w3lyWwWV;jGWBaV;>t^?BA|W!*JiqEm^esC1?ZalHL zj7Yh?leD`Lr&skAyO{>&-?VC;Z&k5p~Oya)#!~4AM73+^k z?uW&1qr{yduhDVxIQ|-{f#%iz2B6;tnv~L%%#`7ovGBFiK(boBEzRxkcxq_}`vrD` zQpeaYx{YjQ6DDA041xPZl3&2pfV0zYjPo7Y!%2PBKney-T`;PpW9gJcmX4RVo4mGy z_C-h8Fuas8=CrvAyLHN%N?bu3ws4FEat9ACM`7m6iEV~j7CsWSNO(#H4<+hMbHnM# z-R#;-m@L10-xyARcShQiHfW^xeO>-b26dYJ7;5w*i4OVVl_?P%6i*Csx13Uc1KOoJ zct!ocW3~EYktvZA90Z`}ClIEL6heD6nB<6;D}$@zcykZ85v7!xdDztH4>-#KQ)_<5 ze~34kqHQ*BY0Mg1KlB7W51>F&$FU#C5!(?BnGyTfQCU(QD3UW;0MQ;;eqdm6uuD8@ z9svg=aLq4;s1n~!MEU^U3Kl;DYMvGbJaPZ&3^@!iNMP3Z{a%xcW2L$dVFAV=xofS(58XR%xMnHe2)}|g?KF|?DFD`SH|XGa5bJ&5Z4fQT^~{GN#O@is7W`Q!2HNCSfuJE8=qtB{gvsr zYuLC`hBdBxoaZ}tUO5pGKnr*~BrWwBS)0_>e6|Ne$xn-wH}?PUkHdYxv-**2<5GM? z!bS3CGXW$Z2gciv6mxgJCmeC;7D8YRRW1^pkiYQLkC>0;k(v?+JRaI40MO9T*RaI42+#NWCT96{Ot;Q~p!h4r-X{mB9x+GU9n_Sp*I{3@0 zCioY!ATU@j89id08jTKT7)(0&RJGE&^`s5ka}Fvp6a~Oru{YXubia0|LFsLuebw}x zC5=GoCzz^B5+VXxr3ix%s_C9N@c3FvdiL0pe%oU@EoW zqaaE5*JJiGzBP}&@vYfa@t>3AW(rSgGIc=^QALu{!bOPHP?XS$%4n)9qV-wki<6E! zJHn6y*}pxs4_zF^bB-GhvJ??uvyl(Pk#L=PpO=L^3 z@{Kf6NaE)7)w^&v`ol}Km=E+l7ee<%(K9*kMm_F(oaZ~_L`jD=E5Zdd6Y|)x-+0?U z-rDd`-SN=<PTpG3(eXXs0typAZMn%I6 zZ;OTPa@A`M%nVy(RxLEuvMqFKo8@acI5@blCJq?Uh8S96HH8K(RTpt_TC5ygTwEMn zKqk0m)DlUq?1=2-s|00{q1NX)_=WwyPupz8z#|Xvs@|k_IjYX9YRev?;G#cR{=XWB zc|s5Hz@cH24H^+Vzo@G4a`UsCmX2I-I6^2&1|0kjXqjd1wzSqTbX=RRd;_79&&1+} zlDG(!XfZ`5AZCVS3G&8l0SYjLE@`3?Km_JdiZX#rLXHcjuE%N^Q!@0w;f>w=F$D5} zN@c637~dgyEIUgV_dO&@U&0rWVmi*(7shc^>CnDo4JShcRe@j`grFp*a_b79;g)6C zV|+{`w~_qWJkGX^3c9#Aa*9OJg{qPTsc5Fk&nrJ`v--U34lLZAhjd7l&%fK_X){lc z=}5vLqxddkT{M!-o+lykdJt61=F^p~Dh&ob)=wL*3Vq;ohVWNv4F<9aBSKvRj{xTP zph8qWX)pEQDMW!J&RPP?G~C*rYSv1d@Z`$%LEq5hoy}}Ct%dF5-gbk7^%Bg7SbEqr zybi+8Pi%G!!fyo6>-Xj82&vtkX93)kAM2L25Or1Q9bh`85#~3Tyd9z+2w^OhG)UZ z)!YSY2Z?Pph|HZkit%N{mOPPC#RYaIS_j<6LssEqao^|H2d92sZt&%(Ng$&+;KFEI zmlOdWC?X;w1D0_|7W8$(rowA|Zmo^d!+6|;!rio(FXWkG@_vz1hcD^+A*VY3ZBM$b z9*k|BAjhcaz9$$U+I@&wW*$Ho!fx8PIQ(F? zr0eBH6pUs!KM&Ko?|5AAQ{@x#x~zuEB7EBNVpvLPI~I|L zH#3&b-mtM@+|?>EikYv^od1-mreh3|Y+=2qQ0$}P(Q~2?719W@ zD2JuTp5jaDN8Ax=xzgk1d%HVh)5#(69oPLi7}WNbj_~^S_5qdTZIQMGyhWs7DEwq* zHqck2n4Dymo7vZTTJB5@kIUj)l6`N(==eeSJ=XWR>OOMX*ihQ`1uUWzSy?G|;?Z(1 zi^MLy(M(1u5CEGTX%(=8ftjm>u;uMQTg9`~jAcTw5YODW##>wX|4W{;aq`s=+ZX}$cvo!w;nRe&%v zL)uY@S(hgPj`QKxvU)5U!Sqyhpu0(v(UrA1zJ2s*(O(TY*d|8&$k@#ZRNe%4#9gAK z&}VdXB_diCGgl5s`!FIxFCu&#JpV5&dA33A-hyk4I&Qn#G(d?ckcLA@ z2a$GLn4^Le1B;R2^3;e(|54Szfh((^)qKwDo3MqF5f|xpLME(Kyb&|y$|e>fNaPhz zjyO_|%$SxlJ#hVW5`;W%F}4^N)D>a{+D32&paN*X7D>zx0FO*qfq=)VEb&3W#?2xW zLqP}_q0^ySZHEk3e(Y}}=Sa3aY6k?kj6`AbLUwKh(1=l)F}RDK5|)Vj5OvW>r;HRaI40RaI40 zRaI40RaI40Tc~+jkl@&tD3**d3_}pdBeKq5RRl(`Uh9NxCW} zP0B)KalobBatq!;Xt{*;DTl-`$t24d7r3U==%P4Zf!F(-e#66q^ch>IZ zcC%*pamu^80TUk10JZ{1(eRG5MVHO#%bYDm>eYdTRqcirN-(Qm0`-Mn*RyM13=z3= z2aj`H_qB@WIqp}z>~qGk&vLQP9@f44gx(vI!8d*m7nI7xW6HUA{+%IA@!Sc&Xa*kq zxaNF{zN6gTVq}e|;BL8NM2%Rj{=iFx!WfNxoXc8S>5}OuWhied{8_znCY2L&5<-v) zR8S=Z7zGNzln_8E1r`vXf&oJm37F74Ob!jpTLV4{VWrDIAlT*Cr#6#GJkR2hUF=d3HEl{*P#Q+fDvFF9 zsuJa4aE6^kSGOl=*KWQD=&9X%AHH57qeMc9;5UXP`lN2Hjp5CE|0x=xsH#ZH3Z7VP zM)Q=%mDc|ct*fgJt`(zqMRbKWrTR%OCU|P}QlU2xm6U|s;dQqz{+XdQp4R6NMGq(7 zU)v+x5&CV;506N9(mJY-f|pclt~v6{pqc?!Fu}MavDQHJo!w*4Z$AFoPQcQPw7S>C zZ$lpaOW=;1H)07dt<<;@8hK_!N@Fq6)4Vl~S2{-h@3kaI;Snr^QxN^tB2A;Y7N<m9ZPy#{-2 zP%g<6FpeSXyM7L^5ssn*GCqpySU{m9yTbh7L_da#Qv>*ByDj2yi|op64z9;dwDD?C zn#(z=4z(z{?P#(m=Tq4GQ3OE|Em&=fNs;2{EKnr4(+!A*W=#9Mt(TkXM4fHAwUYM9 z0S83^7&R10GlN9}4z`YibUMcQUD_YQ@;UazI$m6mt+}6jN@xgi)I?831rYr>R<3Ae zpHe&nkbw~j1OWt2Yj@7yK#x_0S5li$;H_cqM35TEedA7NTm>4*H zSO=CoH*)>K?p5#r<`+`EBJY#`uy;W5Yv*rwvml8B?o;%nEmb#2-v%O@f-bvJ-^;SM zLM8dcn81E{2&oECipW*Ui0&D$vRcV_!C}^-@s^C1=o!h6S|{a3kEVg!0txdq5^k#J zSZ4m$Hh#NtdWeuGV5F3k@z-w7!*-O7F`uCP+>K3}QSe5Oc7Afd=GR*7RMTC`su?00 z^e~VDdHt7jZ*PAiZl`lkHOhiV>Vf22H>tdeZ*-^rxikjlU6{gYmsQA%Pu?L)ZDR%f z7~IN=^?OGRSu7e1Yeq7l!|ioO*r@3>b?skeqNWP=M0UZmZPSZpvnRO`Kc{h z`#n8xovfSY>Ff+>2mnBUO3hH!voVZ!SQ$=}ZE9q;yx(Po{o-hj?U!17-y0WhynFs7qbDc)2`%tvNrdj5@I3%)`EZ>(?D4QfD{D) zJx{~!@(Cx1tluLaAto$dTnDeOu%OXmx>oaIUz^DkBrzkxLd125)-y3r>KHb`g^EB| zH>9Pv{JWgHkcZp>-q<-_YQ5*9|GvN9;lA+nPIiY;sRg3D_5P7L7Gc{ODy;_>_F%C; zMgA5Dvun=>xd`<6^?TmsJWDfNTEi?9^Wwt9k!Nv^hyC)koL@DdzPWCLrA3!2#!1)M3pF1_%e};+Ut}EdtfIPUDN5JE!h;O142ry%i z5M(eTT*v6F^5C0!7izdUaMrWa1wYqPkt;<1kI6<`?@xmXX5naech`gXxOZ|4DpVgo zZ-4@&h*iz7Ini41-#d}2&2zos`1N7kI;a5j&IlOWzlptvJXxkA=Y!!9wn?FWRhw`vDq!sQPgyY9qc3LH@pccyOy&`uL11$V=IP`)f(>F=O(a`Jk)~X3x$a#``wDQOM zydL_kd((fQTr(OZk~tOyFhzeO; z&(fO6sRw@!h+itK$wT0wLr_|9@aMclEEw-pKkZ1uL10Jyg+BSM+9}V<T=UynK|PMury>l6?>-O#R~_%uy>osRJPt0(uD{<@X7?3|mbtA(6&du}pAb-u< z+Z8EVh5(8HP8&9h-p*0DGZj>tH#uE1Er>0UUYl+?c*15I6~*}WI~=%Smx4F|srkVn zm)e^?f&nFAM{K=r^CM;IZs9M-5GzH@(AqB1QhtWO$fo!%Dd;|nH_UIX%iu2YSE^Za zeB>f~)(?^TB8rNTDQlEyrmAE!-iJl!>XRFzII&q+#3$;C4TI~^v*tgsj9Oc`2&os< z+L5g4t>A?=OCeWBUd%FxV8$UziyiERX1)Hj8_cf8$B!CHq~AY^ch7Mmz*ewWF&mnO znfV!0_c4h)Ou=hvzpNH$HGI$+A*2Jpa0@{}E(Lw;7(P#RfAw~!cfF0qV`L2$Gdt3jd zdV9#?BrnD=7~hJGKa7ycB{v&lgH0KeDS+GYm?~qlGW2ZU=z^iWyTY$)xh|0m&!41$Aluf#se0i8O_8hYD1~6vHT5JK#YKz#P3qQ_uEHrQ-Ik)wG^$e(+F9irUM8p)2IMq6<3+uyxoo8mv6!4RqoYlZ5AQD@QW2;$!oPIa3Lh%=J|>GzBL^(G?eS zC!|zr%IQ@zXdfRRA0H{nH=M+DF%ifEnisr`s=w3TWvu%`6A?#4tf0FYoF*6wU#%o7 zks|-*epfPRflmt2|JIZ=EAMy7=8E+<#&~cxTR3lFuC8-Xih@)7Dda|9% zGB#E<;u%$AQ2}NWvqeV3F0 zzbp4rF~;}~eGEh*T>nk3Lom#~L6;wRMA3k@1Z`{+|8s}h7pLdNIK*#7*}+qy)z&BypDvc)$IdU4^#M@{6s!%{Q z+ySofI#5Fv>3w?6Obb?mxe<4%Z*{0%??ZMtRd@eyb6(|hnCFW3JY)Hs@^AE=X8}}U z9)7$~)r}4vIGDoRyJXM`>gk|hL)CEHX69I^E;Li7s<1n)(+IU24t>=st_GR|t1BH9 zjtqUZtGV}JX!Na{D`rGye`Z_D8|Up~Bsw+EsC(9Lyc|L&LIT2ceeOj0A>(^~v)>_* z)*R#rhoVo)hm;VBmxXRcb3hsksDGipWDV#eWG3Wkso8dtDuRdwsO9syy7!z(eR#H4 zzbum+WG3uV*V*y-rAWdGtzeZ^33|_i$>*vjcrqkijkeYn#1>&KAA(kitrKLxXb)Kf zLzmUV)ewhdiGY_tz;xpT10io&7ihe*itn0tR?}{TICHC>jRTQ4l&M9m_pH;{>Y?tX zf~+&V2JsenaVB)-+W?pdH4}l=K{Qc>f2PqpA@!$&x*w?qzib73oZ2%_Un5dhpHJTt_uagMnIWltMM^uQ4?teH9lf(6;tvX0z5f3N zFjE0KM8gviI!>x3LU2+^$ZyksEAu^*%=7;@s=3bX`f1xsfhpSQxt1xwE1=XZddOWv zmjnTvgeo$M6cW&cs93#7T8WI7CY5pFAt*~}j+0BYt7$H#lqP8{O5Ng8CDKVLOVqnb zrGRTCWUQBoR+JuqEJ7P3B0~M`Pm?`$n#U)?3CdWg!9UMsE$M9bx2+cE|Byj}+Pqq* zhNkqTA>LUPsX-!y57`F|FYV}&Vi5#r1=zV9>3wqY+WL7VRj?-$}Bb}GFF8BT~w(7z@YV(x;kKIevOPD>Fa0Hvh&xAjpt!7Qi!{i881au*p zm=hp96(0pm{s%;SR~jybNl}L9M!Ae4hYJ%J)4e)5;KP3vEiWJpR%WRa!SN?yA}0#3 z0u+}Dh3M;}+{_jH4As<;Zfll%BjaGULrU43o{g_pVIO}ek@aN$N|*OF{%-Hai_ViP zPt3h=gOMo8QZ!>9HToXrkFJvTM`^D9o@M{gtyjFOS>ekFnGoX}z9Ez*u0}HgNw;4h z?_saQMUEvIaOeb7XuG3W+n^4`Cnu2|kY~2fW$G_*vOWOh9aztRKplg(JkI+cNpNqr zdbOzadak60^2nXCenN33M6Isz0QQE0^WF*>1bLJ@(?BmV3?^W0wsJW5sqK7?e*>f7 zQr7FVzqm`6LP~1^kh`RK3Z?^U!cGbGT?c|A%^#+*%T{gs5r#fDxyR#kS;GyzVHl{z zMs(rw7(Qq>FBUKBKy_3c>hnfI;T@Y@FhaI`%*d7m+1<4#SqznFlOBTdIUbPe@**@s z(_(@9LNtW|IB-C@?JeAmX;{gye*;SDF5CijQ$7F2mp*T;hQ1qycUCUd7f3wI2f51Ois^>5<+Wh>fu$`m)ovV#c5gVcA z#6h^O%F5N`Q2P@!ehefV8mltl()u0hvCI;|T1KpF>wp%8AO~o?GKm{%SE)tgsRpQK zYiMh^S=jDff<62pRSQVV>h667P)lc4(yFbxrB+h2n)i;wrMN~$ri<8qefMr&%aWip zt$ZIzp4>I=<0jsjBc#a1^9E(XEMf>^utx9)CdSsC8T3=Cw2eq!4UNdbwvHc%7*Z_$ z*%70vpqRXh&ZAk$?OQ(wJp0&=Z4&$~@v3p3?YSr3)qUzWJoIu_KS``eky4FPL{0|N zRLsu2I;{g_u9`gIPw7-uQoQ;d9+sGsOltjx92|ZB< zsZb&!&kqrj-u8I&bY`G5l4WiKH3F7)Y-dsja?VV8L(g5tXARIA&T?oM0myo->55Uy_XS;9X<#}q9^6O;Tb#+zNe8xzL z5d49|6!lR{Or}PTS;d*cB&#qHb+|HDd&H`(-58s<&(9!vKTFG(zxxz3f4{zpK%`PE z3G@IpcGPwOIO;hvqAiysNZL2VR}4%V;q8$&%~1xZ#IHN0gc& zI4EfdEuxX5Hk!(5)5=gWdNZT{Eei>aX2+UDC|ly5{2j&=Njn0j&m={}VmNLZkIaaW z_}t}QpEZ-aZRWX%e#aY6k9L_DozDVrCMA!z4S37k2!kSb&0Ir568_54OQNn)W;g2f z?|WXhHQ>&Iq1s5!pp2tdx-X+O<&V$DuOq)fAcTs5XSH~5Ck~OEu~U4+Lus~L%_>?T za*$atB-hj=V+k6qeoG(zj9tL&hd=4b4BpLV7u{CN3=&6+JTCzrwP17H8(d(cO2StAw|HdGoE)a>3KAN?~l zqfy_6z@NEW;n7UghQtH$!oWh;+}S+$>aD$hE4zP@!<*z}$i_ZS8Z%_jrZtzh-afwf zEKD|4Sr36O6wL6UgphH!et?nis=m}n1Ki9&zDHj>IcUJ32R`L21rUT3&1oL0(wzk6cX|5ifz}`M?gL=mZF|Czn9ET|weZ|Jd305JGKoI81-tGAi z_0mZP_CQ26FY@;CL#9vhZFBnY(WVR<;{$7Fl<@fAv_N>pnW4qUUHYfe3 zk&{x5Ii!UDU|?objUr!mD8{&~RTrfN?WCf33^NE}f#``GPhye~!c4lfRTV`PSfZ$^ zD$7FPfOfbBuIC&g3cYxAT(q4Rr{wW6H!u^;dDN?F#aZ+OhBh`0s408YztCWlMu*vs)9& zLsMr^lQJ`U_}fZfeGT3zKS!A0d!M|A2e(9}!1iSAIq3vtT0zSG;+}3#`e!K7h!R}^vU-BdN!f!R6=h^;9Jn$3E!km2f z{k`NM^4_HuFu9q{%%zt*oa$vi49)L=mQNqXHuAnqI`wwUJ=XpJ0bg01pxFaWc0W#* zI0jib9D=gV&N1!9xK$BNF9iVBf1F4Mvc(BiChl0 zFuE=BzfA3Bz`|?V=!2u_zJT^(Ub$PH>`mA20DE1>6Vc=DJ$Q0n0#G7CgsC^srgF$~ zB+?)VPfj2o&LA4%SVF=UKSt?vwg3ix5##`R27`WxG5|lwbq4+^(X_@}?%qRe065Wt z%UNoeNd9}&?OUFJ?EM+o^_f^JLHk3^h|cyx;p}c?T1Z2_2P=4ix@~N);4oo(7yVQ- zYh;EPVY$0GDUmla0LfKf2QOnNBFFH@alSS4ece&O+Y_W&)Bdoo!|%8v^PU#C5rm6g z+vn7kfFnKw2)bRC^Pa0)la%dg71_OabF$y?JJDVm`*WzuOVym7lM4qUx6`L?KcLLv z&Ka46%*bY>p;3%hBMx(~?)$mq2ptcD6O;{phN1V9aqZ7wUF`%3UahN*lfGGjo32Hc z1VkagTjV65tl77$2#bqg5ocdoI<5d-kw@Ms=^?oBbwWugN>YNvh0I1i4fe;1lc}@B zLd(SDw*A*U0ri6;Op|~low$&m9Ee;?iE#^OyL7?;as0Pq1N5MLbPx4F(nHr565n$zRYUvIWKQ;pI&ha4pC;%dt3|zI%VFbI<*iIJ@2w?>Z|! zSka%wsN!zi<%ybhx1Gru5Ju<_gdic7=n150LDnZwB~$hK* zi;upw-%g&?dX^U+y5VB~-_L$$$H`Dyn=EMJXu;LGgqPqk11og#y02R%zGDM#wm*VA3UG=e>boT zC-`Ueek>)WzbThe5FcJ2q+f{U_7&N z&ey9SpY1rW*-6u%hd_b^8Nx<6MCo^h~%m=*gqeLVsolJDr|A zpK*SOCN`4WLrGybk!H~BAWUH@QIz^Z1<}zQZpE=9$GZML9$v49&hl6{{3s#r|9vM$ z40Qd6U9vf=?t1NfN+vcvU z5qggS7Qz?(i_%5q#odh5UARNyjEE5O8q2Ch!Wj~uN6!yA56p|&8_(r$FXila@0pQo z#;n!=oc?_`KpSw_#9sB5LfLl8;m~ZiAcgs9R5(600M*HZvu0bmMg;0Ue=KsRmnykFncz+ozF z4?=rn>gR0a>mJ@e6_z3PzRyuKCzJU0C`S_Kh+YI!6i;VKHbmJi{4aE>ozf*t4z%=N zu;f$F$XO+T*rvz?X&pGFr1U<{TZLiwGy4LLxG0o{MI_8b zuu9VpMTc*rKhfWgY%?IXYPbOf{zr7tnkhE2i1T6~#26D4euL>bBij2- z9i~OlgX9$Z8_+{hr&-3ZOjL`D7G67#b2;BB89KoZ~AZ+#l5ocZcZ9G=}^yqO=r&`IP3Tqn?<8!?C z0q<)SPiaSi4VvN!lo2W4UtBa4Hkg8RWI9Yu28${Rswr`%EgW{M)=QZ`y5Z9emTwyzLU+%tq9|1v(h1gG!`Icm^=GE1hc`~_M`rlJm z=v_s`wA^}qFCQ`A01NTzkh3^|-VK5&N>G5hH&}`kSWW8bPi4wN*hNuZfepC}osgod z!auMhN}Ue>?W3ysY&%$u%ldFuFQ2`&T9x(LeT?q zfVu1e3|3tMt*N09>h9F$XGOo^!Yz08b3AbTTHmQdpSqPdotCRip;S<+C{!E(G05c{*8qnrm!Z^bwGj0k`}sZneX&DLWM1c-L!6D8 z{;{qayUY2m&Z0BV<->V@5YBUf8ka^Z{74`5)>^PcFYvV_c#=E>) z@?J{{vZQsor%rgT*-b=wz~AlNV{;}v8wTL&u5DXe+qP|UYumPMw_Dq`?QU(`?z?~E zoq6&D^5K|FCYdX_PV4evJ>Ym2j z$dHh0{FF+q9w5r)4W=%}_F1AO8lfxMK5e1&2MIxk#Zuvc1)?lTB8{Wf4g#uLGz_Tn zZ%gIwnnZU*H@_fh?8)leHYBTW)GQZrQI_FZ+>a?S8kaicJHx<@+rX zY29T@_UfgAAIV+3asO~v`ZsvXPZIS%R)yYt#$T8B>Pzl8CCuBc_2p+|nTZDCii1d1 z$^1HqACI4cI~84#F23exug!i@cTy47IL7aGi)aO0T|Ra9uCyjx^E%iX_|I<;On;>5 zvnO>O6BU(1!iI#@wIfvI-mA4HDYp=HzXw`J4q?+aj}KOGnrt6otAW$IKBIdh`Sh9A zvAleJ9pyUnm3U)M5*wh=efFX`q<@^k0jZyizlCev#}zRqfd)awX_WpuGv&f2#35mc ztzKP}+c~6_S)HJT)8~1>M+xWQeS0mBotxQYMxmk}?(z!Ya=_Bta}CAoEM8NUwcDSZ z4>B&ky8;-3_pb#D-nLD+0+)wl3-MRY^WJ`bO>@)K@xLD>_pxu5YiTaF74)?*A8fI zp(lryXMA6J5{O4$h}G1SH(8d79a?cEK}4oEj@GV`(aJD-f8_>o&6ZY04b~gaEMumH z1hZ72#BW3mEiOtJVUrM5YtrO+EDLQ0lT^dsIIcnpV}-07Hg(wNgN@U%%_!3T7^51^ z*K)?F>;i!w5>&v%l6QYTC|xu9a5%s61GPU%+vy3y8&ysc8#mV%WmwuH4enTOSo<{l8j)ewOO!&+_rqYW{Qia+7Zr&zg*L9$?@j;9JR$z&+!1W+fi6DS{-Pp=0 zA@0u3p?)WqzAHk`sN@kh^bm1pK6%nk#0Pif;Z%%1j5anpZH`?Ru&)`+&wUpZEUvu;k%h!?O}QaU}dFg9YJ)bdxi zWZcO^jFH6xbA%cc&fs^cqDl;c82r9_lb-|_H*A$r7xmL4r&eTs-f(@Zz+=R1!!1h0 zgi2tOtcU8oslT35JrwbK;33)6hAcCgLDYICrXM`@!H$oY(&#bP%_wMV|Ua@vMf#xJ(V^oyLq4`joJCHliRKS|(mG{6O3*Fd*4 z5IRD5(#Scn@H4=j;*gJ*aarX;>sYMNXfN@!d+!J35`c{$3x``uso{!0*k zX3ibE`02}aj%4FCZHR*kH3+lcY0PkXs^%W*h< zpNg?)-Vh8E{+Gc%Vsv@a#oI&#Vj2GQXs)h+&kPq2UqbRCWor7OVn^4=!T=M6#NgI* z%5N==0wY3y)7aC@zvA;_>K)LPXZUKNPKJ>t>}uZNSj6<%J)*-oF6nYNUQ;4fVF`Bp zr)n6E&_dDGl{iZ`5?Pt7W|7XMFPVvBn8hbG2@KHw^plL~@<(RNik0xkF_-x{* z{J}d-_XfMVZ&<6m>XB4~jO2pX`{svowXD%2MOQYvdX?#bJPHGHJw%paNG3P4? zSz^C!I`j19eumnO3fkIZ1W`P0@L7(MYJ>0Xv$)7p5)LBpK=Q=83i-G&taxvNxGGCb zcs9QKYGvdYl7UeafNk@V1qW4)h>llJ*(Ot}Wp}i@Ayl>F<3h#w?ew$0Ll9ZMW!dss z)hpiH8hr6{H8Dy1@i?Qt^ZG3(5f}U+5dgk(ywQE}m;uZKKlhE`_N-T%z|1IK?RAns z!#%hyR>nsZ|C5}w>l>J6+En@qtHw>5B1{U~U*s`=YthEyl9~4;?gb0{ugmm2rdkpn zyY5_^>;<5={}N_K>lWTbF7J}S4b&l>zFTilQ`X;F!+;{3>Y#hCr-u`1r_rgl>AKvn z8ty6EY0j^*=Un9{)cB20-H`qOqB8i7cl5vuA!WLRt++YPAg##)XIZm$;e_gF{SP$E zFD2g9)AWGhj@vL0m~70bq2J^(-tON&4AFp(-FnB;l2#74^x(x0Km78i&tHW2ihn3J zDu0}ar%`sgvRB+;K^Li2xFTMh`sR?E(4vcvk*Y=X9c5b&DU?#u@xW_s_Y8XHyiXBX4 zzt)m}0%ySvj6Bi4&pUEmA!4x|_W0CrED=hzE7?76eODYYOpW9sq-s{I%3iVU9m>Yj zg@gG_4BVXFe2}uapK5q>yW@v_b-QPuFv=3Q>8SQi|4lj@+!1>hZJ**}GR-T|={Re8 zq!y8R$sEcOlT`GzfD+mCE_y0Up5&9~+07NRiy)Is>dLi~dlm*8tbg98=%G6_factQ zzr-F)SpES;8-3@Us%BI(=lCYb*m~}N%X(VbS~~VFB9#e^I}yWUuvd(LwAB+$r7{_F zqP(S6Y`x*`zGjO+`d2m{&<1Nx)#VpY8_zjG!Is?C{Pu1a#&3ES%(ctc@)6 z=j+sa((f!^x~cVH;Qje| zh?Y87$mJeo;o-8Rg;Y+fP~ll5i0R=B9v!ZRmuAdO8qW@lLluqg`c`H{A5`|4-H;7liy7v zs5th+i>z4;vz%*_*W(3N>0`SU9qN$yLf|N*8HOwAmzfL3LpwdZh@$1f-bRvP)A+uF zfnYtw|Fh`GP4ta7Mqrd>fDM^ra%B|7S5pBOVYcVtn-PFAPy)kkx5#J z>X|J@^A}xOIk#b0Sy83g;(Q2St>pzhWj%;&3(?<=$;}oU&$tQ%g{rL_NVHx+s@3}< zmk*#H;ro&0t6?TK&p;rBn`e6>GHcg?5?WmCgczGnL0f5bN%7SdXjLzp_vTZd#3mG+ zJ@M7Ns`_Jd$n985d`!PG1}=i#(D5Qo`h*;20c%RoKFGBCc?4mWFohk;0zUgtpoEp z7WK+SE{`d9Y{s!~={#2P>rsV&n=LER%JX4jy&!7N|^Bu%AdiSwvyD z041I$%uu&;?UO$#L83DT@M#(Z#AqqwRXLOkzTyBm)D;?#!# z48^mEagPk0LS5JGsTl6UFJQt1@9`lFj3SvwmykYzeOpOro_&q=SdF|by$GhPR%(nB zzUpdQTv*)V6Yc|*zi9Nx^6a@sYZ!!f#Ixq1#*2W_OnQ;3g= z2yKWo=+Np2Av&35L0a6v0M@1|>6ntRgNf0w*?;NLMi3Yq1+<6Epb@U!mM&=~&RLh# zj25X?t}r%PR9p42!N9*7X=d_S28oU-YZu4jz{Kvv6X)xplp}P#27<==)`T)%`93Ms zO-zZF>?tcE`Ld)1#5&>iHfUTm4t3Uz-+fv&oTL}%R8HtQ zmraSeG^X>Kfg5tpopqkHLxps@%W9{8&*dn_F`WU{L{N#O3H2y)Sd#cnC5%|nG%q9` z&&4r3OcDCRUccDYGgNBD#PyqOZDyWaP=6nXycQRL@$X{josM z%cnfNZs;8M&q;tM-J8D&(lLb6T`zLb_=0^Er&25{BA!^@%Tz@qe3kfZZBRRL_fB_L z1iR`l^>N6n>`(lGKdoOV?ly(e6AWRKw>CD+!z!a^dk?|z_AUbRn?u*1m@{SfX?Vd* zRIwDG;%?tvxBmDXT~#3$Bl}11$WQ+6qu0g79EW`X9CStZf={)WFPa7kkv4&+aUw=L zwf0fC>GWU;cOQ1ey)@&`N%-&<+4E)v_oL+evorDoGa1;0YcCC z*2Wv%#)gTZme81-Lumf^@D+3&EH%{m0-$3GB!R*teiDQO?8A0M;QdOOg3u?Zu6J^_ z$ofyC?C!=@U4wXoFzICrHk3r!>b*PvI2_Px?!UCS zFFt+$$8{u04EMXdh@g?WwVJH~xrP3RP4GQ9L>@#~R_q%z9&|`W>SUtk3@L^+LMCy? zq`816(##_jW;F_`;X!O?^hwaL&=EKOrdzw=EQam)n=-gwQiYH?pq_P0Wzw(_^GN$ zwN~e2gH?{g`dTPDRqo85yiYYk4Wn&&b3jamX*PlgyoeGCXX{&<8v01o&piZ|xwp4+ zw5FqNGq1};oBjPY_GZ`3MOAlV2`JaXNEp=)k5$!5SkPpD zDWzCel$jTnX;o-JD~bX{xK-DJ=Vt(G|5n=o>tQZNHD{k-3;@P1{{=EABe-AP8o}vMdc+^%FBdgsceNmh6 zUBET11XH<`tU#UV1lR#@3WKT`i={tBg5f{%st(QO3*9c2-)d2{vrix3zE?ZC$2Wc@ zw{|^HVwCJ{U`%t*s@zck!ZIVJ;_==iz1F(YKF|Xqs85isilY!|D7>s6#nb)=!2TEA z^$mI)@Gb#xV#~&_-4G$zfEg3={BAp@L5r2!jB@7mpHz8>{)~~~?d^w7X!t>^!;VQ+ zZV;j)o1>wx&EPATIcU)-X&$TTQBhfj1gq=icdV-2i_#4!+i}_M?k5;eo#lnjUeNw>BMdZ6UqkFWHK3!hk{Z{I>C~6%^hf<)yJa%yD*Agym-W zi!qPDk8GEV60W>*H?(oJjh(==TBIAN?;(NvR{4eB;sm50w7bj6AG6Yn=C6$>`bK*` zs(JN4L1*PhsTkGTO*#lvE(p6D(1>L;z{4kDhZT{GD(QO%5A6I5vapiGIw>J?9#c7K zthOJ3u;K*$V?}G8y~z=05kI^)*igm{Yr7!XAukybmSs0hQ=fmQta9Pr)I7%$Se>ui zCw24onNWlh9J_JeVWQ$$XHH>O3N-?wMO`mg=Xn!bH{O!XZiMGjf!!2=(6FM#?MAJI4Dl6X$=jza%Paf)z;Pt9=}~sq z&s8RVkZvOm0PP<^d`eFa`6O|-cbjJOH|%84hzmO&{{ePvIQnUbO=lLbvEFpesjE1< zx}>_SL5DX#B5~qQl0ExQOo@n-vDh%Nd*b)Y-INi1BbrI*N`E0n*RG7S?Y##me5rH296ng9~gAthnsI33I4oZ@RoYBKq4R zqmtiNXIK6sW9kLQxjP=hrlL_UR8?_*1*!WX}+U7(~5 zM(bQVHKw+csEmXt@NwU(2+^LA`W~Dy0WucJtl1BoiihnIKSp)IxjJm~-?_+;aIz9i zoetm_Aw}fM9(rh6(P2Lr)o-yj;(PNMKP(0uC8B%V@IyK=HQxqjjvjtQnD;R)Qauj% zx(E|+<)g9XKH?|8h%X`}3v%tU0Hs!J@{uI9GNa?4+Xb4kzoGDLtLxzPpB9W&z zxse%Gm*`VF%0r-q0^yM{aOC1XYDj@qDvE$t@`qLJuESg%>w@jeJIy%#BKEg{*f|1Z zv$+vw0{9)*onF(C0nL6|JP0l=j%TjTRkV$qp46F$VlLt+>}vijw(fKc(3Qq)pUJM! zR?T7L!%b4l0KmpPoJw|ci6~n_1TmhCX8Uuqv!|{sRxmZ#qV4ctTPBY?>N4Do)kNu3 z#q@~4R~US+M%8a{h6qSYN+!I3rdn2=S7fm;wDZHGV=H+&?@o}bf6Pxms-+ZMKWvM|j zV*eo#N2o^J-^2{s~C(DU6-ZmXFS17F(W(azs$2?IUBE(OZ>9e zM!k$*c0l*Q53YLD^&2B-gqq$kV$V6cqc(vHWM!|(>L0=c2a6sCc0BYtuOQlJ5@X+p zZtr*_QV84bVJsq|$^QK!XQ8BJFWWvbag&d{K_94zG8#jF76(OroC!+qTNPa+-J>BD zlyfGA#yrI044>oO((CbCxc#kInWv*UKIXX_v~TSs$n);qx1oB2h1vw{1S~04xveTuSA#4Na+gfa#JBt> zr|k>PKI6Lb4VZWxA0e$i)q%=q`=_C|X#^SRnb+;RJZ{>$%lB?dTbEuQK4O*I5yD>4 zo-;-MEE{6Duy6icL0Hmp;|RH1arW6~iLI33cgf|wcQO#3A8=pwn9pq`CJ#3p!h|>g z*J5;C7l{TV==I^W=dn%F&~+}}8n<-RXM3{SP?t?4;ED2pPW!qQcKZ{~M#Jn!Izp_-AEi7BT`N|4+2 zNQwMKM^{;FWK?b=iE-G4;LM*K6ImmhS73MRNd#8NH0Sce%G< z?knB>q-7UpCvVo5-nOtZcivJjVr4357my%3PMxCYco9F6g|p6?WTBRqCx0g)h;ftv z3U3G~@Fj3aOhX|4A`~QYVxIQWWQ1{LiG^<5Di6eGdG%3C?@ikq9C~EyCZ2UaORG9F z>5BrgTyk$tG$FB@l0Oj}%#%ptw_VeWWh4Z9Vk>oRgEC>DWfu$xyM0c2bY#F1JV=<=D7Bsd##>Eiv+qYX?#@E)g%Opi{hfTCV2wCXPo;dk{!5y66m2j9e z+M~OAz*-ZsK}XWN@;XrgS2j5brM57^%$2vhWF)nAN}=Kyb_@wFis)RH6iisyGtjdF zRQP^>n#j?^YnXnIaP(?ZDzYb&`A>-M768vB40uBNb@-rC3{V9vH9oqn@9)g?KQcvO z-yhv^j~yXPpE~7bDiSND+giqK!#N=l@;$s+!g1~uTbLIIA6D03Yx2-?85dFflqP@| zi1)nFF^F>u>Skp>u&VyzAM#00s!+wfCY7uI43w3SBq#N<8(32C%14Lat&e{Es9LJ( zek{Ly2F#chcqCB z2@?Yl5P;XSARjJAYSzI6UZ%h)4LXYSukAU_>bQuDrgv^q+jKR2hL&lb4yHRn@^|FPZp$0n_NVqa zq>a4~!af<|bi5{knuIGH`BM=(z|+k+C=*C@CCU}47h0KwGsS|U3V$C}1kHHMUKJz` zqBj5d_EPOd_Z}q>rQ*S}eZ~mg8;mkh*|2$IZ<|EL1+^aYT|*agi;W}%jqML6Wg`QH z*_rxji--~j7A&+&QlMLLEcJR|e4L>GWn-OkW#PXME?bXN0W{N+4T-RTtof(+^Pcg& z_v;oCX}jlYf2G$38gCBGqNqxNU;@FvO5}0@s`(6(DylBQ zn9AmnDj3XX*|#U0Gj3M7NPm<$Pxmr6mVXaV3FCpsS^yjU!4CKR?5*c;xP96o*(eN+ zC>T#zvQ<$8-PcF&o~e2Dlb_Og#ReykTmH4?YJc)km~UQW#L+Vugy&^5$v+o}FD`pe zaP!d^6Zew&O0lPR_(?dC}R3{BX2E~o=Y+$(b4ySl94{t| zM+Uu4^-6j#YHvO74G0JbI-|WIt4Y7kJ^(I~d!j;frl`73e?6Ty|U#Pg17*5pSKzDOW~IP^@C+ zP52$Y@}TrSC9k?C9YT7h@s1E`L@9KUD-+lG`lZ}(q?mYJ6A)l_-@RZQc@y3z6&a|v)J&k7GGQs#^ zp=Y=ugm<9ymCrF%Ip&4Q^SdUy$OiBBrj)|$A4~^+G69rM5NAJs06;M80sLqeYm+{5 z;77&l_*^Hpa2US=KN~#rR^JJl-Gg4cE*vm|iOTT3UB3Y$*#E(K(9!_djCbC#<5ntX z&&@_eG^qthW0T#0=Q0Ni?=Ea(Sv4|w`MvOO$u z^@kYkTxJiN#0{UerpKp@VUa=v>jnJArsJ1cuZkfcC|p@s?(aA)!|D4gAH0^kv9bMO zLX!#A61{IRM8v#O@J!Z&TcdQ&@#>qUq$CY9CJCMnd++oD(K-6cm%n$mWp}JDsCF`R z3*65(3JOEqY7-K0c8Eo>Du+aS$gSrqR}kAclvtWFNk(JBrWh_2QHvz6`jTt=IEC0uZnwiAOU^_q zIJD@NAS^j=<2qH9?%JQ_`w zt--ijxAV28=6iYr&b;@MEB9X>25Qws8mv8YOqDLb?v{;9FEPEwbs@#qn#@`p3?`&@`@s&VPqqLgW$qk27Cx;8pdy}5<_1ff<00a$Z-TrDWS9?x=%^Ysa3jO`%HMn!R=Da;~oY!Hn>|3J8YA6N~ zNmvz=P-aNCHvsTjKPVxCg3@D?`mRQmmO-0fw1fe;afCKp)kpFPYaA=^$1N^w6EvX~ zA&48GsSN~K0DN6wT>?o?#)AU~k&O`gn-HJ={7D`&0y%*^A!^Pyj6(G^D7`sL$oM-} z?V!3wU_GD-!PYmf+-KQCV{mXHf10;F5ZoMeVUa!~^k3Uf!!e8g7_>T09DiD%E(2O% zJ_lONCZp*`C}3a0Emh?xH&bMe=+vlvZbchBhkp6vy;W#mkZ4$_@ zJv~88uw&@l6ZlWyKY{-Q{uB65;6H)?1pX8F{}2$B6H)melVs0m literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.9D7F4A290A88D708B9D8641A2177BBE3.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.9D7F4A290A88D708B9D8641A2177BBE3.metallib new file mode 100644 index 0000000000000000000000000000000000000000..321df3b8499ab05fa779ee9cd0839f21a3fd1f08 GIT binary patch literal 69386 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.AA13DF163AA5F83DF77B65270B739A08.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.AA13DF163AA5F83DF77B65270B739A08.cso.pdb new file mode 100644 index 00000000..9826e9a0 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.AA13DF163AA5F83DF77B65270B739A08.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf9584b1f45ce9df5a2cab90463fe63ee7275177745f0e4232e06eb38b4594dc +size 22016 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.ABB1D1D062F10893CD085B71E73BA1FB.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.ABB1D1D062F10893CD085B71E73BA1FB.metallib new file mode 100644 index 0000000000000000000000000000000000000000..095ff74039607bbebee74bff6e88bfba67cebd11 GIT binary patch literal 69075 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB070F836ADD72A3E65E350E4F68AAFE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB070F836ADD72A3E65E350E4F68AAFE.cso.pdb new file mode 100644 index 00000000..340ba7bd --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB070F836ADD72A3E65E350E4F68AAFE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5718060c2009ad0163b5fb1a4f4c473fb21a5f57680be873d9f172e564c47106 +size 22016 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB420670B55EEABBBB80947E171765E6.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugMesh_GPU.vert.BB420670B55EEABBBB80947E171765E6.cso new file mode 100644 index 0000000000000000000000000000000000000000..cbad8a106066d15ce61c981d502d95d60f2f5aab GIT binary patch literal 25124 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 V1pW#96Zj|aPvHMUKte%W?SHr4)bs!V literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.BD068B89B4F2CBB0E292F53BC3714F9D.metallib b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.BD068B89B4F2CBB0E292F53BC3714F9D.metallib new file mode 100644 index 0000000000000000000000000000000000000000..69ef244c8f937e47ece686286277f9251ef70e66 GIT binary patch literal 66314 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 PC-6_;|3g4hQ9}KH67@rT literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso new file mode 100644 index 0000000000000000000000000000000000000000..6b65291d9bcef690072ef665b117aba00c116e12 GIT binary patch literal 27776 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 F{{wQYd-?zX literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso.pdb new file mode 100644 index 00000000..37ab058e --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.CBB6451884404E44D465B01DF5A806BE.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:92079dc017b5a497a9b01830749f0e159446d1c94e4aa1a1e8294ce9caf82aa6 +size 24064 diff --git a/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.F0E2F0F689387705D12CB9970013F51D.cso b/PopcornFX/PopcornFXInternals/Shaders/Copy.frag.F0E2F0F689387705D12CB9970013F51D.cso new file mode 100644 index 0000000000000000000000000000000000000000..effdea9a19cea8da4b0166c2139d229cb11eb548 GIT binary patch literal 14560 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso.pdb new file mode 100644 index 00000000..3940de8d --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7a95929dc8eb775eba5656fce5840ae00481f8bb248c9d04dc176e57ebf03991 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.01D890EA6B89BCCBE76EB1FEC30F851E.metallib new file mode 100644 index 0000000000000000000000000000000000000000..f5d29b3e3a6e102706c7dcf215b3ca8b1a52da32 GIT binary patch literal 65539 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 W>F#WIChPQOoODk#JeQd!=YIe;Q)Zw5 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.140F4C3CE57F202DE2DE8B945704F1F0.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.140F4C3CE57F202DE2DE8B945704F1F0.cso.pdb new file mode 100644 index 00000000..3b8c76cf --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.140F4C3CE57F202DE2DE8B945704F1F0.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7a8fb8849544ba831ba4fa31e6a41de2fdea83634f8d69755f2a88077ce4b47 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso new file mode 100644 index 0000000000000000000000000000000000000000..13720de4c1b03a8d9d0446fcd5089b7e52985bf9 GIT binary patch literal 17916 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso.pdb new file mode 100644 index 00000000..3c613499 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.1DCA9D50DC853C86C4F97DC839A9325E.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7667b48c1d1f8b1d1639b84ae42c1874702ffa072f6dec61ddee8758ce167559 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.2FF984AB185BE7E8637187AC34C0981A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.2FF984AB185BE7E8637187AC34C0981A.cso new file mode 100644 index 0000000000000000000000000000000000000000..ba5fcfc64c3e792d68fa493c4680b867cdc111ac GIT binary patch literal 17816 zcmeHOU2Ggz6+UA(iM?@BJ0xjHOc+(ATDR$X*WT2drfD5}?Z(AP+^id=tx>u^v-UQd zT{AOI-Ijup3PL47k@~;`5_v!fDM;{8sf8CJiu%Aq2@gnss*3W25TztU2t-x$eKYs2 z#}nIitESD*oaF4e_uO;OJ@?H0nS1Uydu(9vzdwCs>&yS?eC57Je)Vqh>%~?>M7}p9 zvJUiK;16#S$*d810eEh$$OH;XC_j=N8h#vQl%E2UQeM`)H*b7(PBJJvl1-(^+Xgg& zao}yhHXvcbCzt(F7cp0~YSu`tT$i(FDSI<;4tTB!KMMY!(*4LY`FE9{2T(-Q_GXcO z{O0_|IcoJ0E{*Y5RJqXRSLvSp7}PF7sU*VD702OU`kUV|Q*HC?yeT;*v?4&-Yk zt5mZbr3FgFvju~18EAtG4_1nH-Km#dGk&DYJTRIYHFHz>l4YBN^^?<;DiWz=A|)fa z2M(Qv9(tW)fNPBgH56nW)+F+Ei{vwXGZu_5Dq$>L9*;d^*|UmIoy_Yx<3q;=4<9~~ zmE6(eM=jg6W=FjANX>EcwW5XG*~74D40WiB^)o;X+9s}5`xP^&pZs7OV~2Ai<0FR; z(f7FnL&xF}9)m>>LhgwcF&;tJhrexln&^Y$Fx77NXBX2Kk*0o&Y18LVq7KvK6XBaC z(z~%bYnkDlemQJ!xu|CA(Jg*`-5%@oh{SZc=7TM3l?}ri{W?p@(LX=hu5>Cnuo~^@ zx>_%N2YX`Lc3s}oj{=#yANWf}@4pXS%Z=|Je-S0zt7t2MKEhVj0L^bO-Y4-v<(E^J z8_Ny|j9eJ!gWZF7-f14p4V!(5WO74ndp5_)a1#CWS>PEU;WIvoey;-$oa2TP!42yH ztY^^>xM83E{50dK(2xFeenA0S=6J|c;LlE%J|CLW|{Am zmwvwc&AAh;BQLM}UEkoZyYMdS1Ixnioo_tU8)j+oh+ab;@Ph{?kIak!nD>}G&DYCi z$8zJvWMZ~!Z>&|v7(B6%NIE34gqBQ5L`57zic&pGi!Grrb$3X#5w{5G>%WFr*0wyl<6o&i|SrQ@0y3`2#~IX$*>Ut`+PG3eSjr8p5?bw zEO=2yvk}RMIkq)faa_xe7m{5KS0KO|t&unC8tFP17Qt;X9bC_Qyn&(P&6i6)-Pl3R zg;;c0tk+wgy`dj#?6&3umV3~0rVi#^yD}R$E44-Q)HF|xaK4(RH%@KKov~}C>Du|4 zGhKJAxSA#yx;kmbQ@hNh|G#UOoQ+S_wa;6$zn2AuRmV&tNi-ex-urQJAqU*J) zg~ei@a$Le&JFpVyE}W$CVK4iNcP(ML((HNPH`MFBuAqwpHZ1N=;wkfvedb*-ls2ri zN?*CM_uhH$9lppv#smNUdnU>=)#_cgRhX$%OB3Vudexa2t4~{{i6fR%pRtRUGvVKZ zI1^b&O=j)C;SOo0FPhJ}!v2s?zi7T5ALP?7noql%g% z2iE^4Wn^d$o>d!g3gaM#TOf}0`FVdqP9ja@GxTIZx5|z!{h*X+6YnLwSN?VJg66Y+ zyU$OPe^i<`ZQ#diXakWY6<3f8NC0k=U^qiA^r*Jkj!5Gi;I&0wyK1XpmD0=inwtW8O|4h0xEsaTL>cZ! zT#I9}jXm_{!$#~}>%hAOGiNR6PU-agMO%H}AknWJgs-<)w-s`nOH9YSG%8YiPnv-4uhO1e9x8pCSH^Q>)i3Fz)(A;({(;T33_zjH!ioQwQZ*RFqWnNEt`f zt$kddHRx|CygulT&`28OLt7xtl207C{+qym0?)waXMkf!6TXQFGzZH2dl!?Av46e? z#(}%wbB>KPkdJpekh*pNdB?LJ$oaPk_$eUkabC6pIX5=|dAG&CH|4zL{NH89y*=r4vA8>vFZX1U RJ%!zU>3mNiFd=qEMxU94&SdeaYjy_ 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 YPvD=xKY@P&{{;RC{C@~YDM@Pl58CRrhX4Qo literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.58AAEEAE9F43BBE34D312BD53914D01A.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.58AAEEAE9F43BBE34D312BD53914D01A.cso new file mode 100644 index 0000000000000000000000000000000000000000..c6d0c51ec27296514c646170adc1d386c19a4638 GIT binary patch literal 14744 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 apTIwXe**sm{t5gO_$ToHAt0qBss2C7C;D#y literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.7DDABF541F1046F394F9BD2476CB5992.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDraw.vert.7DDABF541F1046F394F9BD2476CB5992.metallib new file mode 100644 index 0000000000000000000000000000000000000000..8dee9734b05cd870861d477f6ec6d4d6a9f66761 GIT binary patch literal 66991 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 ~f%7eUUw29zS%_nx2q4icbX_Vi@>? zfLTOgttyt3v~YQT3D|K`M%edPIb=0=eSPcIoG}x=C1%fhkep+=;DNe_s7CdS_sK6y zRaG8wR1PK`>DJ{DwsYi3IDhwa)A2}4O!IgU1PSCGfkLEcwGRzEJ;0}3Q9@@r5HR#p zDu`>G_I?|uAcMCVg`kH}W=(@hi40ivXyV?;Z4w2uWW&$OjRze&2!3s5mp}2PqL8Oc zR?r@|FGfy7)1}O-zTn?FN~N$=+UYRPQZm;K2`d7ThNt8$U;Jb*7iDb7AL%bQJm5lG zS8RZA7!!2V*v*fkFYID>fLka>UI>}0jDyZ`qVgB}A_Bt}v3MCqkAzB+N+CKyI-2gp z%6H=YE04f&g-=S+0{LxchCmxKvTMmOA_iNLyTPp5p!2Dw=3{Cd*{b(~Kli^p4599| z2mkNgFP{zryF5-*78*!!$$bEPZoKuHFv;Gdi(!`)2I%(8Q4Qw&IuJL%VN!aH`+TaO z9krbdG-7D&)}13npJD;7iar9`cFf3MB5oNyNECbC5PI@CNH`cgNeE}KV(SOX3e6z( zPD3(UzBwt1&w`E&r|7I_D&>gBmUDCH};+?T0-WYor8o`Vbc9v44S z3^6;%c8GiVsNcqFZ87TnlC0t0&|Dni z#vz5dtR%4V-g2?U!uj%YBI-z-(?@C;X`jEJr{?uZoXmS7)@oCZ15veI4S?1B?oNCn zIynM16-IkYtH@_c&3U_4gik}z*&uRoH9V`N9Fn?u7zdokGXQcG2t~&FT@~D|Pl!5+ji&F?!Z7oL1u`IK4Sb-0UMxbHBPqbSNFs%Rp literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso new file mode 100644 index 0000000000000000000000000000000000000000..6bf5d824be27183e9081dfbc10d006dc76d68b57 GIT binary patch literal 14416 zcmeHOO>A355T55GZQ>-Y6O!~Ns9IG8`s>(II2IFGxsLP9Pz1D3y>Zgv5nQQK>j^;sBI{zYA)ZZ{J(jHEE-FdUKuaTpn@YV0V-yQj9n=#Vy`Mltr!JMD%EQ zbaXsI@gv8EiZRp3mtu*OPNUrKZo3}(6^sfh{W5`@O(e`Iy+ju;#s{NEF($~vEa~M& z(vlvkoA-G5iAX2T3oE~uwW0E{Ef(z%ixrKjn{i)zUIurEydXoX)fbI(p@V}HE z%=8BIes8L1cu(YtIoU6Gf)4<^9LonyTzP>g@uEhdD=sScYP2(|QFq8iV{dCTyOmFV z)^Qe99aw=HD3;7}s%l%yt&Yu{%jWfjDKa@DQ3?p`w=i~|*e6t&#kb$xlr)T-sEW04 z@$JDE-uC<1ywtL>i~{)B42*I~^kr2{Y*-zdI zz?dG}8~ZHA}*rH~mo_5L;OZk;;R$I?Nn+TtyX7%=)STs`;kJ6wRW>NhYyI`9x^ z03KI}4zzjX1iE>iTIjcsN^eDnmyX;M?W2Qj8hou-E-_Uk-*xu4VrNcL^F@kk!3(sLjQ+CbAq%)LRO=Xsk_> zk&Jq~AFFpouV>%T>VKp35*59%ijF%2MQ^F1<9^TFt$W{-CKLjUYjmoBw^yJ6Fzz}G+UCC5C|2N?kx|EZV| z)(G;@(`KR>JC*k{cn(^0*#_;@-``9}TYyTfC+GKJ(LnPzehu>nKfjUjI%nM+1;l(U zELdkG!FeF|0qi=Ui@H0X;S}{eWI1v4$NZd^>e^d7xg9nERoq4bEh+0(d5bhZ_arrR z%J+w?k2ZYwNR?Bjd{Lv{uG{)mP8-SgSkHA;?LD{J+k0<*ZXIdu-~-!%ed(r+kW#MI zbv*JlOxwV3vWBXDxOl}w_57=|UUSX-uXrV_;sHkbBJshBG^0qk;RTfp&UAp1s~;4qD|zX0cPY;l43i+jb=H4@$&7T~~XAJ7eC#Llx^%Tui&j}r$Zzgj_>ZC=;@K>D0 zo(CDy#laIFslZv;!U%vR!w0Qf8R5{l8BqtIK4x()t}T7ozu4oaoBT5F+e+^D*3oAl zt*2%h=5oP^?`F?1D(K?OCiP&a%3nl`NYtDaTpX$U#jfxgm#eyVQ|pbBH}X0Y_I%-; zQ{{{I<+5*(waRx&s0Y6lfU&3)F(}3DL0)U9`xH42H5ern1YB5Xk%C%zlq@U2{tL#x z7&}75hOd_!(=XgAs8Qq^*pdjO!TjZ8o+Zwjj1*Gb7@q z*q->F8ho)`A7gB1bYOWjfc@-%qX9<)js_eJI2v#?u(~ubG#rutHx9SE{r#C#Fqp{% f^}d9j>QCu=1L?lLbh1B{&h!R@X>TE&gm(S|^Ii#$ literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb new file mode 100644 index 00000000..a654dea3 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f201af75d63839be1daa55e37afd9de314f18c28fe8ebabe8f3985a06e6f822 +size 13824 diff --git a/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib b/PopcornFX/PopcornFXInternals/Shaders/DebugDrawColor.frag.4DD1C89DF8002B409E089089CE8F24E7.metallib new file mode 100644 index 0000000000000000000000000000000000000000..7856172b6df63db0290ad20831a87eaa7d55c82a GIT binary patch literal 65394 zcmeFXWl){V(lEO4g=+}zt_z1C!7UKngX_ZGA-Dv0cZWc5f_snv!QI^FMt2>F$|FA!DYQl3X+nlcz@CRf5_D(lvRKLXaLloTV7m6 z8wmIpdlkq~ARzf~p(Ngmt4gaVi(vrTQ2rv+c=1=MrY0kf0kF1HPiudEGF-b2JW`U- zpL@Z7ndnRTGC^?(QJK$x*N_%gH78R?Csunqdt*CCTQm26LCi)jU~3a2J7-omJ4Y*1 z$A1-nnoYottY$9O*36Ekf9kBNc6QcItcrH_rY5Y)rcQP)j>e`=tST0UCNIRrAz0?( zj)rbxcGh-|EHAoa;S?8V6XWF*m*fS3*hM)(d=emDKFB2|!7ItmDZ#^HW9n>ZZ4Ea1 z3xG(hDESV+>S_q#Y-jz4tff1vKA)S38IO$#rx^#x)xyNe#@X1((}4{_69h81WmWwj zteH7Y42?KBSPa3Ae^jyB^&0s_Z8(tI9kR~PkR&SBwaNu)c(ETN6cCjk2HfCFKRHCv z<`DHGLz6?62LQl^+z9@ZaUz4TGVmDeeDP30DAaI3d=l6QBR>oYXwi6N(I5sKXtJAR5(4L;?vj&i`;#no5v}K; zE|L@NLlFa~p2ZTFbs0(D`v7v6cp^kV6p6-yj!#I>8 zIDtYPWB)K3hcG<{kR3wgAtxGvO#eSu;^*cgh*l#>IOvc{P&Ci02zoK zyu=#p001DI3;;lb!0Z%2L^6|LSZs>IAV{_qloyMGB^MTn926vnLB|2;1;QExrcw$c zkz3!U&!Q2+n^1n^-i5Tm*N>H4cB^hv50=dTBI3@PsTwE&>FARGr8WJV6MK zxd;#dQvELq2LIh_@IQLd|BI9Xx})%akTO93FUkh!&JY3qEt>)Qe=|b&_#>4g1P22F zlG_-dJCMBy|9|pv_!|ra4>AN#G6WY0@}C@n=BW5Gm;aMP&=g-rdHzTKLJff6DEva) zp6o?Ge^qVP(Oy_UsJ&-rLg z*-27S@G<3LBN1t&zQKyMP|yXj)A?fpdTLVUEfKtI7iyYfThKoKQ@IKWsQkr@c?4_YAM2#nyMm|!G~;D~!9#7n(^ z2p-a*_7HcqhjDcewI>V3AHhUBjz!x5q1%Gcx6aYd711~_`iNH{enn2)V@P5K3g>SN zLu)skQ1L9!m9=c@{aWKSBnWk6!O?3ur0

  • -P#^&4eX?K_BrxFR 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.ADF077D22B698F0058CD269AB3B307F6.cso.pdb b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.ADF077D22B698F0058CD269AB3B307F6.cso.pdb new file mode 100644 index 00000000..de4072b6 --- /dev/null +++ b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.ADF077D22B698F0058CD269AB3B307F6.cso.pdb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:008736f1c2b5e8cb66927baee54caf8a87db62e7a03a59209426083047155a47 +size 15872 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.E6559EF41DF4A3259DE7762E070648DE.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshIndirectionBuffer.comp.E6559EF41DF4A3259DE7762E070648DE.metallib new file mode 100644 index 0000000000000000000000000000000000000000..994b9acca53303127646e256e7e108f9587bf58f GIT binary patch literal 67050 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 literal 0 HcmV?d00001 diff --git a/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.4FB8AAE1AE744B6A08826A79EB921BC5.metallib b/PopcornFX/PopcornFXInternals/Shaders/ComputeMeshMatrices.comp.4FB8AAE1AE744B6A08826A79EB921BC5.metallib new file mode 100644 index 0000000000000000000000000000000000000000..d3993f57e08d83513ec848869b7cce4a2475af34 GIT binary patch literal 68134 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