From 58206b7962d905982fa57d236182a3d0c1829796 Mon Sep 17 00:00:00 2001 From: erwin coumans Date: Thu, 30 Jun 2016 16:03:38 -0700 Subject: [PATCH 1/2] Add preliminary support for VR/OpenVR for HTC Vive and Oculus Rift, (Windows-only first, later Linux and OSX) Use premake to build, use --enable_openvr flag --- build3/premake4.lua | 5 + examples/BasicDemo/premake4.lua | 60 + .../OpenGLWindow/GLInstancingRenderer.cpp | 14 +- examples/OpenGLWindow/GLInstancingRenderer.h | 1 + .../StandaloneMain/hellovr_opengl_main.cpp | 1986 ++++++ .../openvr/bin/linux32/libopenvr_api.so | Bin 0 -> 347110 bytes .../openvr/bin/linux64/libopenvr_api.so | Bin 0 -> 383669 bytes .../openvr/bin/osx32/libopenvr_api.dylib | Bin 0 -> 299972 bytes .../openvr/bin/win32/openvr_api.dll | Bin 0 -> 265024 bytes .../openvr/bin/win64/openvr_api.dll | Bin 0 -> 311616 bytes .../ThirdPartyLibs/openvr/headers/openvr.h | 3227 +++++++++ .../openvr/headers/openvr_api.cs | 4187 +++++++++++ .../openvr/headers/openvr_api.json | 3347 +++++++++ .../openvr/headers/openvr_capi.h | 1626 +++++ .../openvr/headers/openvr_driver.h | 1829 +++++ .../openvr/lib/linux32/libopenvr_api.so | Bin 0 -> 2315918 bytes .../openvr/lib/linux64/libopenvr_api.so | Bin 0 -> 3129824 bytes .../openvr/lib/osx32/libopenvr_api.dylib | Bin 0 -> 300188 bytes .../openvr/lib/win32/openvr_api.lib | Bin 0 -> 4864 bytes .../openvr/lib/win64/openvr_api.lib | Bin 0 -> 4806 bytes .../openvr/samples/shared/Matrices.cpp | 581 ++ .../openvr/samples/shared/Matrices.h | 909 +++ .../openvr/samples/shared/Vectors.h | 530 ++ .../openvr/samples/shared/lodepng.cpp | 6104 +++++++++++++++++ .../openvr/samples/shared/lodepng.h | 1702 +++++ .../openvr/samples/shared/pathtools.cpp | 560 ++ .../openvr/samples/shared/pathtools.h | 98 + 27 files changed, 26764 insertions(+), 2 deletions(-) create mode 100644 examples/StandaloneMain/hellovr_opengl_main.cpp create mode 100644 examples/ThirdPartyLibs/openvr/bin/linux32/libopenvr_api.so create mode 100644 examples/ThirdPartyLibs/openvr/bin/linux64/libopenvr_api.so create mode 100644 examples/ThirdPartyLibs/openvr/bin/osx32/libopenvr_api.dylib create mode 100644 examples/ThirdPartyLibs/openvr/bin/win32/openvr_api.dll create mode 100644 examples/ThirdPartyLibs/openvr/bin/win64/openvr_api.dll create mode 100644 examples/ThirdPartyLibs/openvr/headers/openvr.h create mode 100644 examples/ThirdPartyLibs/openvr/headers/openvr_api.cs create mode 100644 examples/ThirdPartyLibs/openvr/headers/openvr_api.json create mode 100644 examples/ThirdPartyLibs/openvr/headers/openvr_capi.h create mode 100644 examples/ThirdPartyLibs/openvr/headers/openvr_driver.h create mode 100644 examples/ThirdPartyLibs/openvr/lib/linux32/libopenvr_api.so create mode 100644 examples/ThirdPartyLibs/openvr/lib/linux64/libopenvr_api.so create mode 100644 examples/ThirdPartyLibs/openvr/lib/osx32/libopenvr_api.dylib create mode 100644 examples/ThirdPartyLibs/openvr/lib/win32/openvr_api.lib create mode 100644 examples/ThirdPartyLibs/openvr/lib/win64/openvr_api.lib create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/Matrices.cpp create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/Matrices.h create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/Vectors.h create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/lodepng.cpp create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/lodepng.h create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/pathtools.cpp create mode 100644 examples/ThirdPartyLibs/openvr/samples/shared/pathtools.h diff --git a/build3/premake4.lua b/build3/premake4.lua index ae83944d4..4bfb35d28 100644 --- a/build3/premake4.lua +++ b/build3/premake4.lua @@ -29,6 +29,11 @@ description = "Try to link and use the system OpenGL headers version instead of dynamically loading OpenGL (dlopen is default)" } + newoption + { + trigger = "enable_openvr", + description = "Enable experimental Virtual Reality examples, using OpenVR for HTC Vive and Oculus Rift" + } newoption { trigger = "enable_system_x11", diff --git a/examples/BasicDemo/premake4.lua b/examples/BasicDemo/premake4.lua index 6474d9298..dd88389e1 100644 --- a/examples/BasicDemo/premake4.lua +++ b/examples/BasicDemo/premake4.lua @@ -59,6 +59,7 @@ end + project "App_BasicExampleGuiWithSoftwareRenderer" if _OPTIONS["ios"] then @@ -133,3 +134,62 @@ files { "../TinyRenderer/TinyRenderer.cpp", "../Utils/b3ResourcePath.cpp" } + + + + + if _OPTIONS["enable_openvr"] then + +project "App_BasicExampleVR" + +if _OPTIONS["ios"] then + kind "WindowedApp" +else + kind "ConsoleApp" +end +defines {"B3_USE_STANDALONE_EXAMPLE","BT_ENABLE_VR"} + + + +includedirs {"../../src", + "../ThirdPartyLibs/openvr/headers", + "../ThirdPartyLibs/openvr/samples/shared"} + +links { + "BulletDynamics","BulletCollision", "LinearMath", "OpenGL_Window","Bullet3Common", "openvr_api" +} + + initOpenGL() + initGlew() + + +language "C++" + +files { + "BasicExample.cpp", + "*.h", + "../StandaloneMain/hellovr_opengl_main.cpp", + "../ExampleBrowser/OpenGLGuiHelper.cpp", + "../ExampleBrowser/GL_ShapeDrawer.cpp", + "../ExampleBrowser/CollisionShape2TriangleMesh.cpp", + "../ThirdPartyLibs/openvr/samples/shared/lodepng.cpp", + "../ThirdPartyLibs/openvr/samples/shared/lodepng.h", + "../ThirdPartyLibs/openvr/samples/shared/Matrices.cpp", + "../ThirdPartyLibs/openvr/samples/shared/Matrices.h", + "../ThirdPartyLibs/openvr/samples/shared/pathtools.cpp", + "../ThirdPartyLibs/openvr/samples/shared/pathtools.h", + "../ThirdPartyLibs/openvr/samples/shared/Vectors.h", + +} + +if os.is("Windows") then + libdirs {"../ThirdPartyLibs/openvr/lib/win32"} +end + +if os.is("Linux") then initX11() end + +if os.is("MacOSX") then + links{"Cocoa.framework"} +end + +end \ No newline at end of file diff --git a/examples/OpenGLWindow/GLInstancingRenderer.cpp b/examples/OpenGLWindow/GLInstancingRenderer.cpp index ebf450afd..24002ad25 100644 --- a/examples/OpenGLWindow/GLInstancingRenderer.cpp +++ b/examples/OpenGLWindow/GLInstancingRenderer.cpp @@ -158,10 +158,13 @@ struct InternalDataRenderer : public GLInstanceRendererInternalData GLRenderToTexture* m_shadowMap; GLuint m_shadowTexture; + GLuint m_renderFrameBuffer; + InternalDataRenderer() : m_shadowMap(0), - m_shadowTexture(0) + m_shadowTexture(0), + m_renderFrameBuffer(0) { //clear to zero to make it obvious if the matrix is used uninitialized for (int i=0;i<16;i++) @@ -1663,7 +1666,7 @@ b3Assert(glGetError() ==GL_NO_ERROR); { glDisable (GL_BLEND); } - + glActiveTexture(GL_TEXTURE0); break; } default: @@ -1688,6 +1691,7 @@ b3Assert(glGetError() ==GL_NO_ERROR); { // writeTextureToPng(shadowMapWidth,shadowMapHeight,"shadowmap.png",4); m_data->m_shadowMap->disable(); + glBindFramebuffer( GL_FRAMEBUFFER, m_data->m_renderFrameBuffer); glViewport(dims[0],dims[1],dims[2],dims[3]); } @@ -1733,4 +1737,10 @@ int GLInstancingRenderer::getInstanceCapacity() const { return m_data->m_maxNumObjectCapacity; } + +void GLInstancingRenderer::setRenderFrameBuffer(unsigned int renderFrameBuffer) +{ + m_data->m_renderFrameBuffer = (GLuint) renderFrameBuffer; +} + #endif //NO_OPENGL3 diff --git a/examples/OpenGLWindow/GLInstancingRenderer.h b/examples/OpenGLWindow/GLInstancingRenderer.h index 34df83637..66664b844 100644 --- a/examples/OpenGLWindow/GLInstancingRenderer.h +++ b/examples/OpenGLWindow/GLInstancingRenderer.h @@ -132,6 +132,7 @@ public: } virtual void clearZBuffer(); + virtual void setRenderFrameBuffer(unsigned int renderFrameBuffer); }; #endif //GL_INSTANCING_RENDERER_H diff --git a/examples/StandaloneMain/hellovr_opengl_main.cpp b/examples/StandaloneMain/hellovr_opengl_main.cpp new file mode 100644 index 000000000..746f10835 --- /dev/null +++ b/examples/StandaloneMain/hellovr_opengl_main.cpp @@ -0,0 +1,1986 @@ +#ifdef BT_ENABLE_VR +//========= Copyright Valve Corporation ============// + +#include "../OpenGLWindow/SimpleOpenGL3App.h" +#include "../OpenGLWindow/OpenGLInclude.h" +#include "Bullet3Common/b3Quaternion.h" +#include "../ExampleBrowser/OpenGLGuiHelper.h" +#include "../CommonInterfaces/CommonExampleInterface.h" +#include "../CommonInterfaces/CommonGUIHelperInterface.h" +#include "BulletCollision/CollisionDispatch/btCollisionObject.h" +#include "BulletCollision/CollisionShapes/btCollisionShape.h" +#include "BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h" + + +//how can you try typing on a keyboard, without seeing it? +//it is pretty funny, to see the desktop in VR! + + +#include +#include +#include + +#include + +#include "lodepng.h" +#include "Matrices.h" +#include "pathtools.h" + +CommonExampleInterface* sExample; +OpenGLGuiHelper* sGuiPtr = 0; + + +#if defined(POSIX) +#include "unistd.h" +#endif +#ifdef _WIN32 +#include +#endif + +void ThreadSleep( unsigned long nMilliseconds ) +{ +#if defined(_WIN32) + ::Sleep( nMilliseconds ); +#elif defined(POSIX) + usleep( nMilliseconds * 1000 ); +#endif +} + + +class CGLRenderModel +{ +public: + CGLRenderModel( const std::string & sRenderModelName ); + ~CGLRenderModel(); + + bool BInit( const vr::RenderModel_t & vrModel, const vr::RenderModel_TextureMap_t & vrDiffuseTexture ); + void Cleanup(); + void Draw(); + const std::string & GetName() const { return m_sModelName; } + +private: + GLuint m_glVertBuffer; + GLuint m_glIndexBuffer; + GLuint m_glVertArray; + GLuint m_glTexture; + GLsizei m_unVertexCount; + std::string m_sModelName; +}; + +static bool g_bPrintf = true; + +//----------------------------------------------------------------------------- +// Purpose: +//------------------------------------------------------------------------------ +class CMainApplication +{ +public: + CMainApplication( int argc, char *argv[] ); + virtual ~CMainApplication(); + + bool BInit(); + bool BInitGL(); + bool BInitCompositor(); + + void SetupRenderModels(); + + void Shutdown(); + + void RunMainLoop(); + bool HandleInput(); + void ProcessVREvent( const vr::VREvent_t & event ); + void RenderFrame(); + + bool SetupTexturemaps(); + + void SetupScene(); + void AddCubeToScene( Matrix4 mat, std::vector &vertdata ); + void AddCubeVertex( float fl0, float fl1, float fl2, float fl3, float fl4, std::vector &vertdata ); + + void DrawControllers(); + + bool SetupStereoRenderTargets(); + void SetupDistortion(); + void SetupCameras(); + + void RenderStereoTargets(); + void RenderDistortion(); + void RenderScene( vr::Hmd_Eye nEye ); + + Matrix4 GetHMDMatrixProjectionEye( vr::Hmd_Eye nEye ); + Matrix4 GetHMDMatrixPoseEye( vr::Hmd_Eye nEye ); + Matrix4 GetCurrentViewProjectionMatrix( vr::Hmd_Eye nEye ); + void UpdateHMDMatrixPose(); + + Matrix4 ConvertSteamVRMatrixToMatrix4( const vr::HmdMatrix34_t &matPose ); + + GLuint CompileGLShader( const char *pchShaderName, const char *pchVertexShader, const char *pchFragmentShader ); + bool CreateAllShaders(); + + void SetupRenderModelForTrackedDevice( vr::TrackedDeviceIndex_t unTrackedDeviceIndex ); + CGLRenderModel *FindOrLoadRenderModel( const char *pchRenderModelName ); + +private: + bool m_bDebugOpenGL; + bool m_bVerbose; + bool m_bPerf; + bool m_bVblank; + bool m_bGlFinishHack; + + vr::IVRSystem *m_pHMD; + vr::IVRRenderModels *m_pRenderModels; + std::string m_strDriver; + std::string m_strDisplay; + vr::TrackedDevicePose_t m_rTrackedDevicePose[ vr::k_unMaxTrackedDeviceCount ]; + Matrix4 m_rmat4DevicePose[ vr::k_unMaxTrackedDeviceCount ]; + bool m_rbShowTrackedDevice[ vr::k_unMaxTrackedDeviceCount ]; + +private: + SimpleOpenGL3App* m_app; + uint32_t m_nWindowWidth; + uint32_t m_nWindowHeight; + + +private: // OpenGL bookkeeping + int m_iTrackedControllerCount; + int m_iTrackedControllerCount_Last; + int m_iValidPoseCount; + int m_iValidPoseCount_Last; + bool m_bShowCubes; + + std::string m_strPoseClasses; // what classes we saw poses for this frame + char m_rDevClassChar[ vr::k_unMaxTrackedDeviceCount ]; // for each device, a character representing its class + + int m_iSceneVolumeWidth; + int m_iSceneVolumeHeight; + int m_iSceneVolumeDepth; + float m_fScaleSpacing; + float m_fScale; + + int m_iSceneVolumeInit; // if you want something other than the default 20x20x20 + + float m_fNearClip; + float m_fFarClip; + + GLuint m_iTexture; + + unsigned int m_uiVertcount; + + GLuint m_glSceneVertBuffer; + GLuint m_unSceneVAO; + GLuint m_unLensVAO; + GLuint m_glIDVertBuffer; + GLuint m_glIDIndexBuffer; + unsigned int m_uiIndexSize; + + GLuint m_glControllerVertBuffer; + GLuint m_unControllerVAO; + unsigned int m_uiControllerVertcount; + + Matrix4 m_mat4HMDPose; + Matrix4 m_mat4eyePosLeft; + Matrix4 m_mat4eyePosRight; + + Matrix4 m_mat4ProjectionCenter; + Matrix4 m_mat4ProjectionLeft; + Matrix4 m_mat4ProjectionRight; + + struct VertexDataScene + { + Vector3 position; + Vector2 texCoord; + }; + + struct VertexDataLens + { + Vector2 position; + Vector2 texCoordRed; + Vector2 texCoordGreen; + Vector2 texCoordBlue; + }; + + GLuint m_unSceneProgramID; + GLuint m_unLensProgramID; + GLuint m_unControllerTransformProgramID; + GLuint m_unRenderModelProgramID; + + GLint m_nSceneMatrixLocation; + GLint m_nControllerMatrixLocation; + GLint m_nRenderModelMatrixLocation; + + struct FramebufferDesc + { + GLuint m_nDepthBufferId; + GLuint m_nRenderTextureId; + GLuint m_nRenderFramebufferId; + GLuint m_nResolveTextureId; + GLuint m_nResolveFramebufferId; + }; + FramebufferDesc leftEyeDesc; + FramebufferDesc rightEyeDesc; + + bool CreateFrameBuffer( int nWidth, int nHeight, FramebufferDesc &framebufferDesc ); + + uint32_t m_nRenderWidth; + uint32_t m_nRenderHeight; + + std::vector< CGLRenderModel * > m_vecRenderModels; + CGLRenderModel *m_rTrackedDeviceToRenderModel[ vr::k_unMaxTrackedDeviceCount ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Constructor +//----------------------------------------------------------------------------- +CMainApplication::CMainApplication( int argc, char *argv[] ) + : m_app(NULL) + , m_nWindowWidth( 1280 ) + , m_nWindowHeight( 720 ) + , m_unSceneProgramID( 0 ) + , m_unLensProgramID( 0 ) + , m_unControllerTransformProgramID( 0 ) + , m_unRenderModelProgramID( 0 ) + , m_pHMD( NULL ) + , m_pRenderModels( NULL ) + , m_bDebugOpenGL( false ) + , m_bVerbose( false ) + , m_bPerf( false ) + , m_bVblank( false ) + , m_bGlFinishHack( true ) + , m_glControllerVertBuffer( 0 ) + , m_unControllerVAO( 0 ) + , m_unLensVAO( 0 ) + , m_unSceneVAO( 0 ) + , m_nSceneMatrixLocation( -1 ) + , m_nControllerMatrixLocation( -1 ) + , m_nRenderModelMatrixLocation( -1 ) + , m_iTrackedControllerCount( 0 ) + , m_iTrackedControllerCount_Last( -1 ) + , m_iValidPoseCount( 0 ) + , m_iValidPoseCount_Last( -1 ) + , m_iSceneVolumeInit( 20 ) + , m_strPoseClasses("") + , m_bShowCubes( false ) +{ + + for( int i = 1; i < argc; i++ ) + { + if( !stricmp( argv[i], "-gldebug" ) ) + { + m_bDebugOpenGL = true; + } + else if( !stricmp( argv[i], "-verbose" ) ) + { + m_bVerbose = true; + } + else if( !stricmp( argv[i], "-novblank" ) ) + { + m_bVblank = false; + } + else if( !stricmp( argv[i], "-noglfinishhack" ) ) + { + m_bGlFinishHack = false; + } + else if( !stricmp( argv[i], "-noprintf" ) ) + { + g_bPrintf = false; + } + else if ( !stricmp( argv[i], "-cubevolume" ) && ( argc > i + 1 ) && ( *argv[ i + 1 ] != '-' ) ) + { + m_iSceneVolumeInit = atoi( argv[ i + 1 ] ); + i++; + } + } + // other initialization tasks are done in BInit + memset(m_rDevClassChar, 0, sizeof(m_rDevClassChar)); +}; + + +//----------------------------------------------------------------------------- +// Purpose: Destructor +//----------------------------------------------------------------------------- +CMainApplication::~CMainApplication() +{ + // work is done in Shutdown + b3Printf( "Shutdown" ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Helper to get a string from a tracked device property and turn it +// into a std::string +//----------------------------------------------------------------------------- +std::string GetTrackedDeviceString( vr::IVRSystem *pHmd, vr::TrackedDeviceIndex_t unDevice, vr::TrackedDeviceProperty prop, vr::TrackedPropertyError *peError = NULL ) +{ + uint32_t unRequiredBufferLen = pHmd->GetStringTrackedDeviceProperty( unDevice, prop, NULL, 0, peError ); + if( unRequiredBufferLen == 0 ) + return ""; + + char *pchBuffer = new char[ unRequiredBufferLen ]; + unRequiredBufferLen = pHmd->GetStringTrackedDeviceProperty( unDevice, prop, pchBuffer, unRequiredBufferLen, peError ); + std::string sResult = pchBuffer; + delete [] pchBuffer; + return sResult; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::BInit() +{ + + // Loading the SteamVR Runtime + vr::EVRInitError eError = vr::VRInitError_None; + m_pHMD = vr::VR_Init( &eError, vr::VRApplication_Scene ); + + if ( eError != vr::VRInitError_None ) + { + m_pHMD = NULL; + char buf[1024]; + sprintf_s( buf, sizeof( buf ), "Unable to init VR runtime: %s", vr::VR_GetVRInitErrorAsEnglishDescription( eError ) ); + b3Warning( "VR_Init Failed %s", buf); + return false; + } + + + m_pRenderModels = (vr::IVRRenderModels *)vr::VR_GetGenericInterface( vr::IVRRenderModels_Version, &eError ); + if( !m_pRenderModels ) + { + m_pHMD = NULL; + vr::VR_Shutdown(); + + char buf[1024]; + sprintf_s( buf, sizeof( buf ), "Unable to get render model interface: %s", vr::VR_GetVRInitErrorAsEnglishDescription( eError ) ); + b3Warning( "VR_Init Failed %s", buf); + return false; + } + +// int nWindowPosX = 700; +// int nWindowPosY = 100; + m_nWindowWidth = 1280; + m_nWindowHeight = 720; + + /* + + //SDL_GL_SetAttribute( SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY ); + SDL_GL_SetAttribute( SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE ); + SDL_GL_SetAttribute( SDL_GL_MULTISAMPLEBUFFERS, 0 ); + SDL_GL_SetAttribute( SDL_GL_MULTISAMPLESAMPLES, 0 ); + if( m_bDebugOpenGL ) + SDL_GL_SetAttribute( SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG ); + + */ + m_app = new SimpleOpenGL3App("SimpleOpenGL3App",m_nWindowWidth,m_nWindowHeight,true); + + sGuiPtr = new OpenGLGuiHelper(m_app,false); + + + CommonExampleOptions options(sGuiPtr); + + sExample = StandaloneExampleCreateFunc(options); + sExample->initPhysics(); + sExample->resetCamera(); + +#if 0 + int cubeIndex = m_app->registerCubeShape(1,1,1); + + b3Quaternion orn(0,0,0,1); + + { + b3Vector3 color=b3MakeVector3(0.3,0.3,0.6); + b3Vector3 pos = b3MakeVector3(0,0,0); + b3Vector3 scaling=b3MakeVector3 (1,.1,1); + m_app->m_renderer->registerGraphicsInstance(cubeIndex,pos,orn,color,scaling); + } + { + b3Vector3 color=b3MakeVector3(0.3,0.6,0.3); + b3Vector3 pos = b3MakeVector3(0,0.3,0); + b3Vector3 scaling=b3MakeVector3 (.1,.1,.1); + m_app->m_renderer->registerGraphicsInstance(cubeIndex,pos,orn,color,scaling); + } +#endif + + + + m_app->m_renderer->writeTransforms(); + + + +/* if (m_pWindow == NULL) + { + printf( "%s - Window could not be created! SDL Error: %s\n", __FUNCTION__, SDL_GetError() ); + return false; + } + */ + + /*m_pContext = SDL_GL_CreateContext(m_pWindow); + if (m_pContext == NULL) + { + printf( "%s - OpenGL context could not be created! SDL Error: %s\n", __FUNCTION__, SDL_GetError() ); + return false; + } + + + glewExperimental = GL_TRUE; + GLenum nGlewError = glewInit(); + if (nGlewError != GLEW_OK) + { + printf( "%s - Error initializing GLEW! %s\n", __FUNCTION__, glewGetErrorString( nGlewError ) ); + return false; + } + glGetError(); // to clear the error caused deep in GLEW + + if ( SDL_GL_SetSwapInterval( m_bVblank ? 1 : 0 ) < 0 ) + { + printf( "%s - Warning: Unable to set VSync! SDL Error: %s\n", __FUNCTION__, SDL_GetError() ); + return false; + } + + */ + m_strDriver = "No Driver"; + m_strDisplay = "No Display"; + + m_strDriver = GetTrackedDeviceString( m_pHMD, vr::k_unTrackedDeviceIndex_Hmd, vr::Prop_TrackingSystemName_String ); + m_strDisplay = GetTrackedDeviceString( m_pHMD, vr::k_unTrackedDeviceIndex_Hmd, vr::Prop_SerialNumber_String ); + + std::string strWindowTitle = "hellovr_bullet - " + m_strDriver + " " + m_strDisplay; + m_app->m_window->setWindowTitle(strWindowTitle.c_str() ); + + // cube array + m_iSceneVolumeWidth = m_iSceneVolumeInit; + m_iSceneVolumeHeight = m_iSceneVolumeInit; + m_iSceneVolumeDepth = m_iSceneVolumeInit; + + m_fScale = 0.3f; + m_fScaleSpacing = 4.0f; + + m_fNearClip = 0.1f; + m_fFarClip = 30.0f; + + m_iTexture = 0; + m_uiVertcount = 0; + +// m_MillisecondsTimer.start(1, this); +// m_SecondsTimer.start(1000, this); + + if (!BInitGL()) + { + printf("%s - Unable to initialize OpenGL!\n", __FUNCTION__); + return false; + } + + if (!BInitCompositor()) + { + printf("%s - Failed to initialize VR Compositor!\n", __FUNCTION__); + return false; + } + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +/*void APIENTRY DebugCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const char* message, const void* userParam) +{ + b3Printf( "GL Error: %s\n", message ); +} +*/ + +static void APIENTRY DebugCallback (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, GLvoid* userParam) +{ + b3Printf( "GL Error: %s\n", message ); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::BInitGL() +{ + if( m_bDebugOpenGL ) + { + const GLvoid *userParam=0; + glDebugMessageCallback(DebugCallback, userParam); + glDebugMessageControl( GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, nullptr, GL_TRUE ); + glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); + } + + if( !CreateAllShaders() ) + return false; + + SetupTexturemaps(); + SetupScene(); + SetupCameras(); + SetupStereoRenderTargets(); + SetupDistortion(); + + SetupRenderModels(); + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::BInitCompositor() +{ + vr::EVRInitError peError = vr::VRInitError_None; + + if ( !vr::VRCompositor() ) + { + printf( "Compositor initialization failed. See log file for details\n" ); + return false; + } + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::Shutdown() +{ + if( m_pHMD ) + { + vr::VR_Shutdown(); + m_pHMD = NULL; + } + + for( std::vector< CGLRenderModel * >::iterator i = m_vecRenderModels.begin(); i != m_vecRenderModels.end(); i++ ) + { + delete (*i); + } + m_vecRenderModels.clear(); + + if( 1)//m_pContext ) + { + glDebugMessageControl( GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, nullptr, GL_FALSE ); + glDebugMessageCallback(nullptr, nullptr); + glDeleteBuffers(1, &m_glSceneVertBuffer); + glDeleteBuffers(1, &m_glIDVertBuffer); + glDeleteBuffers(1, &m_glIDIndexBuffer); + + if ( m_unSceneProgramID ) + { + glDeleteProgram( m_unSceneProgramID ); + } + if ( m_unControllerTransformProgramID ) + { + glDeleteProgram( m_unControllerTransformProgramID ); + } + if ( m_unRenderModelProgramID ) + { + glDeleteProgram( m_unRenderModelProgramID ); + } + if ( m_unLensProgramID ) + { + glDeleteProgram( m_unLensProgramID ); + } + + glDeleteRenderbuffers( 1, &leftEyeDesc.m_nDepthBufferId ); + glDeleteTextures( 1, &leftEyeDesc.m_nRenderTextureId ); + glDeleteFramebuffers( 1, &leftEyeDesc.m_nRenderFramebufferId ); + glDeleteTextures( 1, &leftEyeDesc.m_nResolveTextureId ); + glDeleteFramebuffers( 1, &leftEyeDesc.m_nResolveFramebufferId ); + + glDeleteRenderbuffers( 1, &rightEyeDesc.m_nDepthBufferId ); + glDeleteTextures( 1, &rightEyeDesc.m_nRenderTextureId ); + glDeleteFramebuffers( 1, &rightEyeDesc.m_nRenderFramebufferId ); + glDeleteTextures( 1, &rightEyeDesc.m_nResolveTextureId ); + glDeleteFramebuffers( 1, &rightEyeDesc.m_nResolveFramebufferId ); + + if( m_unLensVAO != 0 ) + { + glDeleteVertexArrays( 1, &m_unLensVAO ); + } + if( m_unSceneVAO != 0 ) + { + glDeleteVertexArrays( 1, &m_unSceneVAO ); + } + if( m_unControllerVAO != 0 ) + { + glDeleteVertexArrays( 1, &m_unControllerVAO ); + } + } + + delete m_app; + m_app=0; + +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::HandleInput() +{ + bool bRet = false; + + // Process SteamVR events + vr::VREvent_t event; + while( m_pHMD->PollNextEvent( &event, sizeof( event ) ) ) + { + ProcessVREvent( event ); + } + + // Process SteamVR controller state + for( vr::TrackedDeviceIndex_t unDevice = 0; unDevice < vr::k_unMaxTrackedDeviceCount; unDevice++ ) + { + vr::VRControllerState_t state; + if( m_pHMD->GetControllerState( unDevice, &state ) ) + { + if (state.ulButtonPressed) + { + b3Printf("state.ulButtonPressed=%d\n",state.ulButtonPressed); + sExample->exitPhysics(); + m_app->m_instancingRenderer->removeAllInstances(); + sExample->initPhysics(); + + } + m_rbShowTrackedDevice[ unDevice ] = state.ulButtonPressed == 0; + } + } + + return bRet; +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::RunMainLoop() +{ + bool bQuit = false; + + //SDL_StartTextInput(); + //SDL_ShowCursor( SDL_DISABLE ); + + while ( !bQuit && !m_app->m_window->requestedExit()) + { + bQuit = HandleInput(); + + RenderFrame(); + } + + //SDL_StopTextInput(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Processes a single VR event +//----------------------------------------------------------------------------- +void CMainApplication::ProcessVREvent( const vr::VREvent_t & event ) +{ + switch( event.eventType ) + { + case vr::VREvent_TrackedDeviceActivated: + { + SetupRenderModelForTrackedDevice( event.trackedDeviceIndex ); + b3Printf( "Device %u attached. Setting up render model.\n", event.trackedDeviceIndex ); + } + break; + case vr::VREvent_TrackedDeviceDeactivated: + { + b3Printf( "Device %u detached.\n", event.trackedDeviceIndex ); + } + break; + case vr::VREvent_TrackedDeviceUpdated: + { + b3Printf( "Device %u updated.\n", event.trackedDeviceIndex ); + } + break; + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::RenderFrame() +{ + // for now as fast as possible + if ( m_pHMD ) + { + DrawControllers(); + RenderStereoTargets(); + RenderDistortion(); + + vr::Texture_t leftEyeTexture = {(void*)leftEyeDesc.m_nResolveTextureId, vr::API_OpenGL, vr::ColorSpace_Gamma }; + vr::VRCompositor()->Submit(vr::Eye_Left, &leftEyeTexture ); + vr::Texture_t rightEyeTexture = {(void*)rightEyeDesc.m_nResolveTextureId, vr::API_OpenGL, vr::ColorSpace_Gamma }; + vr::VRCompositor()->Submit(vr::Eye_Right, &rightEyeTexture ); + } + + if ( m_bVblank && m_bGlFinishHack ) + { + //$ HACKHACK. From gpuview profiling, it looks like there is a bug where two renders and a present + // happen right before and after the vsync causing all kinds of jittering issues. This glFinish() + // appears to clear that up. Temporary fix while I try to get nvidia to investigate this problem. + // 1/29/2014 mikesart + glFinish(); + } + + // SwapWindow + { + m_app->swapBuffer(); + //SDL_GL_SwapWindow( m_pWindow ); + + } + + // Clear + { + // We want to make sure the glFinish waits for the entire present to complete, not just the submission + // of the command. So, we do a clear here right here so the glFinish will wait fully for the swap. + glClearColor( 0, 0, 0, 1 ); + glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); + } + + // Flush and wait for swap. + if ( m_bVblank ) + { + glFlush(); + glFinish(); + } + + // Spew out the controller and pose count whenever they change. + if ( m_iTrackedControllerCount != m_iTrackedControllerCount_Last || m_iValidPoseCount != m_iValidPoseCount_Last ) + { + m_iValidPoseCount_Last = m_iValidPoseCount; + m_iTrackedControllerCount_Last = m_iTrackedControllerCount; + + b3Printf( "PoseCount:%d(%s) Controllers:%d\n", m_iValidPoseCount, m_strPoseClasses.c_str(), m_iTrackedControllerCount ); + } + + UpdateHMDMatrixPose(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Compiles a GL shader program and returns the handle. Returns 0 if +// the shader couldn't be compiled for some reason. +//----------------------------------------------------------------------------- +GLuint CMainApplication::CompileGLShader( const char *pchShaderName, const char *pchVertexShader, const char *pchFragmentShader ) +{ + GLuint unProgramID = glCreateProgram(); + + GLuint nSceneVertexShader = glCreateShader(GL_VERTEX_SHADER); + glShaderSource( nSceneVertexShader, 1, &pchVertexShader, NULL); + glCompileShader( nSceneVertexShader ); + + GLint vShaderCompiled = GL_FALSE; + glGetShaderiv( nSceneVertexShader, GL_COMPILE_STATUS, &vShaderCompiled); + if ( vShaderCompiled != GL_TRUE) + { + b3Printf("%s - Unable to compile vertex shader %d!\n", pchShaderName, nSceneVertexShader); + glDeleteProgram( unProgramID ); + glDeleteShader( nSceneVertexShader ); + return 0; + } + glAttachShader( unProgramID, nSceneVertexShader); + glDeleteShader( nSceneVertexShader ); // the program hangs onto this once it's attached + + GLuint nSceneFragmentShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource( nSceneFragmentShader, 1, &pchFragmentShader, NULL); + glCompileShader( nSceneFragmentShader ); + + GLint fShaderCompiled = GL_FALSE; + glGetShaderiv( nSceneFragmentShader, GL_COMPILE_STATUS, &fShaderCompiled); + if (fShaderCompiled != GL_TRUE) + { + b3Printf("%s - Unable to compile fragment shader %d!\n", pchShaderName, nSceneFragmentShader ); + glDeleteProgram( unProgramID ); + glDeleteShader( nSceneFragmentShader ); + return 0; + } + + glAttachShader( unProgramID, nSceneFragmentShader ); + glDeleteShader( nSceneFragmentShader ); // the program hangs onto this once it's attached + + glLinkProgram( unProgramID ); + + GLint programSuccess = GL_TRUE; + glGetProgramiv( unProgramID, GL_LINK_STATUS, &programSuccess); + if ( programSuccess != GL_TRUE ) + { + b3Printf("%s - Error linking program %d!\n", pchShaderName, unProgramID); + glDeleteProgram( unProgramID ); + return 0; + } + + glUseProgram( unProgramID ); + glUseProgram( 0 ); + + return unProgramID; +} + + +//----------------------------------------------------------------------------- +// Purpose: Creates all the shaders used by HelloVR SDL +//----------------------------------------------------------------------------- +bool CMainApplication::CreateAllShaders() +{ + m_unSceneProgramID = CompileGLShader( + "Scene", + + // Vertex Shader + "#version 410\n" + "uniform mat4 matrix;\n" + "layout(location = 0) in vec4 position;\n" + "layout(location = 1) in vec2 v2UVcoordsIn;\n" + "layout(location = 2) in vec3 v3NormalIn;\n" + "out vec2 v2UVcoords;\n" + "void main()\n" + "{\n" + " v2UVcoords = v2UVcoordsIn;\n" + " gl_Position = matrix * position;\n" + "}\n", + + // Fragment Shader + "#version 410 core\n" + "uniform sampler2D mytexture;\n" + "in vec2 v2UVcoords;\n" + "out vec4 outputColor;\n" + "void main()\n" + "{\n" + " outputColor = texture(mytexture, v2UVcoords);\n" + "}\n" + ); + m_nSceneMatrixLocation = glGetUniformLocation( m_unSceneProgramID, "matrix" ); + if( m_nSceneMatrixLocation == -1 ) + { + b3Printf( "Unable to find matrix uniform in scene shader\n" ); + return false; + } + + m_unControllerTransformProgramID = CompileGLShader( + "Controller", + + // vertex shader + "#version 410\n" + "uniform mat4 matrix;\n" + "layout(location = 0) in vec4 position;\n" + "layout(location = 1) in vec3 v3ColorIn;\n" + "out vec4 v4Color;\n" + "void main()\n" + "{\n" + " v4Color.xyz = v3ColorIn; v4Color.a = 1.0;\n" + " gl_Position = matrix * position;\n" + "}\n", + + // fragment shader + "#version 410\n" + "in vec4 v4Color;\n" + "out vec4 outputColor;\n" + "void main()\n" + "{\n" + " outputColor = v4Color;\n" + "}\n" + ); + m_nControllerMatrixLocation = glGetUniformLocation( m_unControllerTransformProgramID, "matrix" ); + if( m_nControllerMatrixLocation == -1 ) + { + b3Printf( "Unable to find matrix uniform in controller shader\n" ); + return false; + } + + m_unRenderModelProgramID = CompileGLShader( + "render model", + + // vertex shader + "#version 410\n" + "uniform mat4 matrix;\n" + "layout(location = 0) in vec4 position;\n" + "layout(location = 1) in vec3 v3NormalIn;\n" + "layout(location = 2) in vec2 v2TexCoordsIn;\n" + "out vec2 v2TexCoord;\n" + "void main()\n" + "{\n" + " v2TexCoord = v2TexCoordsIn;\n" + " gl_Position = matrix * vec4(position.xyz, 1);\n" + "}\n", + + //fragment shader + "#version 410 core\n" + "uniform sampler2D diffuse;\n" + "in vec2 v2TexCoord;\n" + "out vec4 outputColor;\n" + "void main()\n" + "{\n" + " outputColor = texture( diffuse, v2TexCoord);\n" + "}\n" + + ); + m_nRenderModelMatrixLocation = glGetUniformLocation( m_unRenderModelProgramID, "matrix" ); + if( m_nRenderModelMatrixLocation == -1 ) + { + b3Printf( "Unable to find matrix uniform in render model shader\n" ); + return false; + } + + m_unLensProgramID = CompileGLShader( + "Distortion", + + // vertex shader + "#version 410 core\n" + "layout(location = 0) in vec4 position;\n" + "layout(location = 1) in vec2 v2UVredIn;\n" + "layout(location = 2) in vec2 v2UVGreenIn;\n" + "layout(location = 3) in vec2 v2UVblueIn;\n" + "noperspective out vec2 v2UVred;\n" + "noperspective out vec2 v2UVgreen;\n" + "noperspective out vec2 v2UVblue;\n" + "void main()\n" + "{\n" + " v2UVred = v2UVredIn;\n" + " v2UVgreen = v2UVGreenIn;\n" + " v2UVblue = v2UVblueIn;\n" + " gl_Position = position;\n" + "}\n", + + // fragment shader + "#version 410 core\n" + "uniform sampler2D mytexture;\n" + + "noperspective in vec2 v2UVred;\n" + "noperspective in vec2 v2UVgreen;\n" + "noperspective in vec2 v2UVblue;\n" + + "out vec4 outputColor;\n" + + "void main()\n" + "{\n" + " float fBoundsCheck = ( (dot( vec2( lessThan( v2UVgreen.xy, vec2(0.05, 0.05)) ), vec2(1.0, 1.0))+dot( vec2( greaterThan( v2UVgreen.xy, vec2( 0.95, 0.95)) ), vec2(1.0, 1.0))) );\n" + " if( fBoundsCheck > 1.0 )\n" + " { outputColor = vec4( 0, 0, 0, 1.0 ); }\n" + " else\n" + " {\n" + " float red = texture(mytexture, v2UVred).x;\n" + " float green = texture(mytexture, v2UVgreen).y;\n" + " float blue = texture(mytexture, v2UVblue).z;\n" + " outputColor = vec4( red, green, blue, 1.0 ); }\n" + "}\n" + ); + + + return m_unSceneProgramID != 0 + && m_unControllerTransformProgramID != 0 + && m_unRenderModelProgramID != 0 + && m_unLensProgramID != 0; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::SetupTexturemaps() +{ + std::string sExecutableDirectory = Path_StripFilename( Path_GetExecutablePath() ); + std::string strFullPath = Path_MakeAbsolute( "../cube_texture.png", sExecutableDirectory ); + + std::vector imageRGBA; + unsigned nImageWidth, nImageHeight; + unsigned nError = lodepng::decode( imageRGBA, nImageWidth, nImageHeight, strFullPath.c_str() ); + + if ( nError != 0 ) + return false; + + glGenTextures(1, &m_iTexture ); + glBindTexture( GL_TEXTURE_2D, m_iTexture ); + + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, nImageWidth, nImageHeight, + 0, GL_RGBA, GL_UNSIGNED_BYTE, &imageRGBA[0] ); + + glGenerateMipmap(GL_TEXTURE_2D); + + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + + GLfloat fLargest; + glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &fLargest); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, fLargest); + + glBindTexture( GL_TEXTURE_2D, 0 ); + + return ( m_iTexture != 0 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: create a sea of cubes +//----------------------------------------------------------------------------- +void CMainApplication::SetupScene() +{ + if ( !m_pHMD ) + return; + + std::vector vertdataarray; + + Matrix4 matScale; + matScale.scale( m_fScale, m_fScale, m_fScale ); + Matrix4 matTransform; + matTransform.translate( + -( (float)m_iSceneVolumeWidth * m_fScaleSpacing ) / 2.f, + -( (float)m_iSceneVolumeHeight * m_fScaleSpacing ) / 2.f, + -( (float)m_iSceneVolumeDepth * m_fScaleSpacing ) / 2.f); + + Matrix4 mat = matScale * matTransform; + + for( int z = 0; z< m_iSceneVolumeDepth; z++ ) + { + for( int y = 0; y< m_iSceneVolumeHeight; y++ ) + { + for( int x = 0; x< m_iSceneVolumeWidth; x++ ) + { + AddCubeToScene( mat, vertdataarray ); + mat = mat * Matrix4().translate( m_fScaleSpacing, 0, 0 ); + } + mat = mat * Matrix4().translate( -((float)m_iSceneVolumeWidth) * m_fScaleSpacing, m_fScaleSpacing, 0 ); + } + mat = mat * Matrix4().translate( 0, -((float)m_iSceneVolumeHeight) * m_fScaleSpacing, m_fScaleSpacing ); + } + m_uiVertcount = vertdataarray.size()/5; + + glGenVertexArrays( 1, &m_unSceneVAO ); + glBindVertexArray( m_unSceneVAO ); + + glGenBuffers( 1, &m_glSceneVertBuffer ); + glBindBuffer( GL_ARRAY_BUFFER, m_glSceneVertBuffer ); + glBufferData( GL_ARRAY_BUFFER, sizeof(float) * vertdataarray.size(), &vertdataarray[0], GL_STATIC_DRAW); + + glBindBuffer( GL_ARRAY_BUFFER, m_glSceneVertBuffer ); + + GLsizei stride = sizeof(VertexDataScene); + uintptr_t offset = 0; + + glEnableVertexAttribArray( 0 ); + glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE, stride , (const void *)offset); + + offset += sizeof(Vector3); + glEnableVertexAttribArray( 1 ); + glVertexAttribPointer( 1, 2, GL_FLOAT, GL_FALSE, stride, (const void *)offset); + + glBindVertexArray( 0 ); + glDisableVertexAttribArray(0); + glDisableVertexAttribArray(1); + +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::AddCubeVertex( float fl0, float fl1, float fl2, float fl3, float fl4, std::vector &vertdata ) +{ + vertdata.push_back( fl0 ); + vertdata.push_back( fl1 ); + vertdata.push_back( fl2 ); + vertdata.push_back( fl3 ); + vertdata.push_back( fl4 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::AddCubeToScene( Matrix4 mat, std::vector &vertdata ) +{ + // Matrix4 mat( outermat.data() ); + + Vector4 A = mat * Vector4( 0, 0, 0, 1 ); + Vector4 B = mat * Vector4( 1, 0, 0, 1 ); + Vector4 C = mat * Vector4( 1, 1, 0, 1 ); + Vector4 D = mat * Vector4( 0, 1, 0, 1 ); + Vector4 E = mat * Vector4( 0, 0, 1, 1 ); + Vector4 F = mat * Vector4( 1, 0, 1, 1 ); + Vector4 G = mat * Vector4( 1, 1, 1, 1 ); + Vector4 H = mat * Vector4( 0, 1, 1, 1 ); + + // triangles instead of quads + AddCubeVertex( E.x, E.y, E.z, 0, 1, vertdata ); //Front + AddCubeVertex( F.x, F.y, F.z, 1, 1, vertdata ); + AddCubeVertex( G.x, G.y, G.z, 1, 0, vertdata ); + AddCubeVertex( G.x, G.y, G.z, 1, 0, vertdata ); + AddCubeVertex( H.x, H.y, H.z, 0, 0, vertdata ); + AddCubeVertex( E.x, E.y, E.z, 0, 1, vertdata ); + + AddCubeVertex( B.x, B.y, B.z, 0, 1, vertdata ); //Back + AddCubeVertex( A.x, A.y, A.z, 1, 1, vertdata ); + AddCubeVertex( D.x, D.y, D.z, 1, 0, vertdata ); + AddCubeVertex( D.x, D.y, D.z, 1, 0, vertdata ); + AddCubeVertex( C.x, C.y, C.z, 0, 0, vertdata ); + AddCubeVertex( B.x, B.y, B.z, 0, 1, vertdata ); + + AddCubeVertex( H.x, H.y, H.z, 0, 1, vertdata ); //Top + AddCubeVertex( G.x, G.y, G.z, 1, 1, vertdata ); + AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata ); + AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata ); + AddCubeVertex( D.x, D.y, D.z, 0, 0, vertdata ); + AddCubeVertex( H.x, H.y, H.z, 0, 1, vertdata ); + + AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); //Bottom + AddCubeVertex( B.x, B.y, B.z, 1, 1, vertdata ); + AddCubeVertex( F.x, F.y, F.z, 1, 0, vertdata ); + AddCubeVertex( F.x, F.y, F.z, 1, 0, vertdata ); + AddCubeVertex( E.x, E.y, E.z, 0, 0, vertdata ); + AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); + + AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); //Left + AddCubeVertex( E.x, E.y, E.z, 1, 1, vertdata ); + AddCubeVertex( H.x, H.y, H.z, 1, 0, vertdata ); + AddCubeVertex( H.x, H.y, H.z, 1, 0, vertdata ); + AddCubeVertex( D.x, D.y, D.z, 0, 0, vertdata ); + AddCubeVertex( A.x, A.y, A.z, 0, 1, vertdata ); + + AddCubeVertex( F.x, F.y, F.z, 0, 1, vertdata ); //Right + AddCubeVertex( B.x, B.y, B.z, 1, 1, vertdata ); + AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata ); + AddCubeVertex( C.x, C.y, C.z, 1, 0, vertdata ); + AddCubeVertex( G.x, G.y, G.z, 0, 0, vertdata ); + AddCubeVertex( F.x, F.y, F.z, 0, 1, vertdata ); +} + + +//----------------------------------------------------------------------------- +// Purpose: Draw all of the controllers as X/Y/Z lines +//----------------------------------------------------------------------------- +void CMainApplication::DrawControllers() +{ + // don't draw controllers if somebody else has input focus + if( m_pHMD->IsInputFocusCapturedByAnotherProcess() ) + return; + + std::vector vertdataarray; + + m_uiControllerVertcount = 0; + m_iTrackedControllerCount = 0; + + for ( vr::TrackedDeviceIndex_t unTrackedDevice = vr::k_unTrackedDeviceIndex_Hmd + 1; unTrackedDevice < vr::k_unMaxTrackedDeviceCount; ++unTrackedDevice ) + { + if ( !m_pHMD->IsTrackedDeviceConnected( unTrackedDevice ) ) + continue; + + if( m_pHMD->GetTrackedDeviceClass( unTrackedDevice ) != vr::TrackedDeviceClass_Controller ) + continue; + + m_iTrackedControllerCount += 1; + + if( !m_rTrackedDevicePose[ unTrackedDevice ].bPoseIsValid ) + continue; + + const Matrix4 & mat = m_rmat4DevicePose[unTrackedDevice]; + + Vector4 center = mat * Vector4( 0, 0, 0, 1 ); + + for ( int i = 0; i < 3; ++i ) + { + Vector3 color( 0, 0, 0 ); + Vector4 point( 0, 0, 0, 1 ); + point[i] += 0.05f; // offset in X, Y, Z + color[i] = 1.0; // R, G, B + point = mat * point; + vertdataarray.push_back( center.x ); + vertdataarray.push_back( center.y ); + vertdataarray.push_back( center.z ); + + vertdataarray.push_back( color.x ); + vertdataarray.push_back( color.y ); + vertdataarray.push_back( color.z ); + + vertdataarray.push_back( point.x ); + vertdataarray.push_back( point.y ); + vertdataarray.push_back( point.z ); + + vertdataarray.push_back( color.x ); + vertdataarray.push_back( color.y ); + vertdataarray.push_back( color.z ); + + m_uiControllerVertcount += 2; + } + + Vector4 start = mat * Vector4( 0, 0, -0.02f, 1 ); + Vector4 end = mat * Vector4( 0, 0, -39.f, 1 ); + Vector3 color( .92f, .92f, .71f ); + + vertdataarray.push_back( start.x );vertdataarray.push_back( start.y );vertdataarray.push_back( start.z ); + vertdataarray.push_back( color.x );vertdataarray.push_back( color.y );vertdataarray.push_back( color.z ); + + vertdataarray.push_back( end.x );vertdataarray.push_back( end.y );vertdataarray.push_back( end.z ); + vertdataarray.push_back( color.x );vertdataarray.push_back( color.y );vertdataarray.push_back( color.z ); + m_uiControllerVertcount += 2; + } + + // Setup the VAO the first time through. + if ( m_unControllerVAO == 0 ) + { + glGenVertexArrays( 1, &m_unControllerVAO ); + glBindVertexArray( m_unControllerVAO ); + + glGenBuffers( 1, &m_glControllerVertBuffer ); + glBindBuffer( GL_ARRAY_BUFFER, m_glControllerVertBuffer ); + + GLuint stride = 2 * 3 * sizeof( float ); + GLuint offset = 0; + + glEnableVertexAttribArray( 0 ); + glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE, stride, (const void *)offset); + + offset += sizeof( Vector3 ); + glEnableVertexAttribArray( 1 ); + glVertexAttribPointer( 1, 3, GL_FLOAT, GL_FALSE, stride, (const void *)offset); + + glBindVertexArray( 0 ); + } + + glBindBuffer( GL_ARRAY_BUFFER, m_glControllerVertBuffer ); + + // set vertex data if we have some + if( vertdataarray.size() > 0 ) + { + //$ TODO: Use glBufferSubData for this... + glBufferData( GL_ARRAY_BUFFER, sizeof(float) * vertdataarray.size(), &vertdataarray[0], GL_STREAM_DRAW ); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::SetupCameras() +{ + m_mat4ProjectionLeft = GetHMDMatrixProjectionEye( vr::Eye_Left ); + m_mat4ProjectionRight = GetHMDMatrixProjectionEye( vr::Eye_Right ); + m_mat4eyePosLeft = GetHMDMatrixPoseEye( vr::Eye_Left ); + m_mat4eyePosRight = GetHMDMatrixPoseEye( vr::Eye_Right ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::CreateFrameBuffer( int nWidth, int nHeight, FramebufferDesc &framebufferDesc ) +{ + glGenFramebuffers(1, &framebufferDesc.m_nRenderFramebufferId ); + glBindFramebuffer(GL_FRAMEBUFFER, framebufferDesc.m_nRenderFramebufferId); + + glGenRenderbuffers(1, &framebufferDesc.m_nDepthBufferId); + glBindRenderbuffer(GL_RENDERBUFFER, framebufferDesc.m_nDepthBufferId); + glRenderbufferStorageMultisample(GL_RENDERBUFFER, 4, GL_DEPTH_COMPONENT, nWidth, nHeight ); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, framebufferDesc.m_nDepthBufferId ); + + glGenTextures(1, &framebufferDesc.m_nRenderTextureId ); + glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, framebufferDesc.m_nRenderTextureId ); + glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, 4, GL_RGBA8, nWidth, nHeight, true); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D_MULTISAMPLE, framebufferDesc.m_nRenderTextureId, 0); + + glGenFramebuffers(1, &framebufferDesc.m_nResolveFramebufferId ); + glBindFramebuffer(GL_FRAMEBUFFER, framebufferDesc.m_nResolveFramebufferId); + + glGenTextures(1, &framebufferDesc.m_nResolveTextureId ); + glBindTexture(GL_TEXTURE_2D, framebufferDesc.m_nResolveTextureId ); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, nWidth, nHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, framebufferDesc.m_nResolveTextureId, 0); + + // check FBO status + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + if (status != GL_FRAMEBUFFER_COMPLETE) + { + return false; + } + + glBindFramebuffer( GL_FRAMEBUFFER, 0 ); + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +bool CMainApplication::SetupStereoRenderTargets() +{ + if ( !m_pHMD ) + return false; + + m_pHMD->GetRecommendedRenderTargetSize( &m_nRenderWidth, &m_nRenderHeight ); + + CreateFrameBuffer( m_nRenderWidth, m_nRenderHeight, leftEyeDesc ); + CreateFrameBuffer( m_nRenderWidth, m_nRenderHeight, rightEyeDesc ); + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::SetupDistortion() +{ + if ( !m_pHMD ) + return; + + GLushort m_iLensGridSegmentCountH = 43; + GLushort m_iLensGridSegmentCountV = 43; + + float w = (float)( 1.0/float(m_iLensGridSegmentCountH-1)); + float h = (float)( 1.0/float(m_iLensGridSegmentCountV-1)); + + float u, v = 0; + + std::vector vVerts(0); + VertexDataLens vert; + + //left eye distortion verts + float Xoffset = -1; + for( int y=0; yComputeDistortion(vr::Eye_Left, u, v); + + vert.texCoordRed = Vector2(dc0.rfRed[0], 1 - dc0.rfRed[1]); + vert.texCoordGreen = Vector2(dc0.rfGreen[0], 1 - dc0.rfGreen[1]); + vert.texCoordBlue = Vector2(dc0.rfBlue[0], 1 - dc0.rfBlue[1]); + + vVerts.push_back( vert ); + } + } + + //right eye distortion verts + Xoffset = 0; + for( int y=0; yComputeDistortion( vr::Eye_Right, u, v ); + + vert.texCoordRed = Vector2(dc0.rfRed[0], 1 - dc0.rfRed[1]); + vert.texCoordGreen = Vector2(dc0.rfGreen[0], 1 - dc0.rfGreen[1]); + vert.texCoordBlue = Vector2(dc0.rfBlue[0], 1 - dc0.rfBlue[1]); + + vVerts.push_back( vert ); + } + } + + std::vector vIndices; + GLushort a,b,c,d; + + GLushort offset = 0; + for( GLushort y=0; ym_instancingRenderer->init(); + + + + // Left Eye + { + Matrix4 viewMatLeft = m_mat4eyePosLeft * m_mat4HMDPose; + m_app->m_instancingRenderer->getActiveCamera()->setVRCamera(viewMatLeft.get(),m_mat4ProjectionLeft.get()); + m_app->m_instancingRenderer->updateCamera(); + } + + glBindFramebuffer( GL_FRAMEBUFFER, leftEyeDesc.m_nRenderFramebufferId ); + glViewport(0, 0, m_nRenderWidth, m_nRenderHeight ); + + + + m_app->m_window->startRendering(); + RenderScene( vr::Eye_Left ); + + m_app->drawGrid(); + sExample->stepSimulation(1./60.); + sExample->renderScene(); + + + + m_app->m_instancingRenderer->setRenderFrameBuffer((unsigned int)leftEyeDesc.m_nRenderFramebufferId); + + m_app->m_instancingRenderer->renderScene(); + + glBindFramebuffer( GL_FRAMEBUFFER, 0 ); + + glDisable( GL_MULTISAMPLE ); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, leftEyeDesc.m_nRenderFramebufferId); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, leftEyeDesc.m_nResolveFramebufferId ); + + glBlitFramebuffer( 0, 0, m_nRenderWidth, m_nRenderHeight, 0, 0, m_nRenderWidth, m_nRenderHeight, + GL_COLOR_BUFFER_BIT, + GL_LINEAR ); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0 ); + + glEnable( GL_MULTISAMPLE ); + + // Right Eye + + { + Matrix4 viewMatRight = m_mat4eyePosRight * m_mat4HMDPose; + m_app->m_instancingRenderer->getActiveCamera()->setVRCamera(viewMatRight.get(),m_mat4ProjectionRight.get()); + m_app->m_instancingRenderer->updateCamera(); + } + + glBindFramebuffer( GL_FRAMEBUFFER, rightEyeDesc.m_nRenderFramebufferId ); + glViewport(0, 0, m_nRenderWidth, m_nRenderHeight ); + + m_app->m_window->startRendering(); + RenderScene( vr::Eye_Right ); + + m_app->drawGrid(); + m_app->m_instancingRenderer->setRenderFrameBuffer((unsigned int)rightEyeDesc.m_nRenderFramebufferId); + + m_app->m_renderer->renderScene(); + + glBindFramebuffer( GL_FRAMEBUFFER, 0 ); + + glDisable( GL_MULTISAMPLE ); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, rightEyeDesc.m_nRenderFramebufferId ); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, rightEyeDesc.m_nResolveFramebufferId ); + + glBlitFramebuffer( 0, 0, m_nRenderWidth, m_nRenderHeight, 0, 0, m_nRenderWidth, m_nRenderHeight, + GL_COLOR_BUFFER_BIT, + GL_LINEAR ); + + glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::RenderScene( vr::Hmd_Eye nEye ) +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glEnable(GL_DEPTH_TEST); + + if( m_bShowCubes ) + { + glUseProgram( m_unSceneProgramID ); + glUniformMatrix4fv( m_nSceneMatrixLocation, 1, GL_FALSE, GetCurrentViewProjectionMatrix( nEye ).get() ); + glBindVertexArray( m_unSceneVAO ); + glBindTexture( GL_TEXTURE_2D, m_iTexture ); + glDrawArrays( GL_TRIANGLES, 0, m_uiVertcount ); + glBindVertexArray( 0 ); + } + + bool bIsInputCapturedByAnotherProcess = m_pHMD->IsInputFocusCapturedByAnotherProcess(); + + if( !bIsInputCapturedByAnotherProcess ) + { + // draw the controller axis lines + glUseProgram( m_unControllerTransformProgramID ); + glUniformMatrix4fv( m_nControllerMatrixLocation, 1, GL_FALSE, GetCurrentViewProjectionMatrix( nEye ).get() ); + glBindVertexArray( m_unControllerVAO ); + glDrawArrays( GL_LINES, 0, m_uiControllerVertcount ); + glBindVertexArray( 0 ); + } + + // ----- Render Model rendering ----- + glUseProgram( m_unRenderModelProgramID ); + + for( uint32_t unTrackedDevice = 0; unTrackedDevice < vr::k_unMaxTrackedDeviceCount; unTrackedDevice++ ) + { + if( !m_rTrackedDeviceToRenderModel[ unTrackedDevice ] || !m_rbShowTrackedDevice[ unTrackedDevice ] ) + continue; + + const vr::TrackedDevicePose_t & pose = m_rTrackedDevicePose[ unTrackedDevice ]; + if( !pose.bPoseIsValid ) + continue; + + if( bIsInputCapturedByAnotherProcess && m_pHMD->GetTrackedDeviceClass( unTrackedDevice ) == vr::TrackedDeviceClass_Controller ) + continue; + + const Matrix4 & matDeviceToTracking = m_rmat4DevicePose[ unTrackedDevice ]; + Matrix4 matMVP = GetCurrentViewProjectionMatrix( nEye ) * matDeviceToTracking; + glUniformMatrix4fv( m_nRenderModelMatrixLocation, 1, GL_FALSE, matMVP.get() ); + + m_rTrackedDeviceToRenderModel[ unTrackedDevice ]->Draw(); + } + + glUseProgram( 0 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::RenderDistortion() +{ + glDisable(GL_DEPTH_TEST); + glViewport( 0, 0, m_nWindowWidth, m_nWindowHeight ); + + glBindVertexArray( m_unLensVAO ); + glUseProgram( m_unLensProgramID ); + + //render left lens (first half of index array ) + glBindTexture(GL_TEXTURE_2D, leftEyeDesc.m_nResolveTextureId ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + glDrawElements( GL_TRIANGLES, m_uiIndexSize/2, GL_UNSIGNED_SHORT, 0 ); + + //render right lens (second half of index array ) + glBindTexture(GL_TEXTURE_2D, rightEyeDesc.m_nResolveTextureId ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + glDrawElements( GL_TRIANGLES, m_uiIndexSize/2, GL_UNSIGNED_SHORT, (const void *)(m_uiIndexSize) ); + + glBindVertexArray( 0 ); + glUseProgram( 0 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +Matrix4 CMainApplication::GetHMDMatrixProjectionEye( vr::Hmd_Eye nEye ) +{ + if ( !m_pHMD ) + return Matrix4(); + + vr::HmdMatrix44_t mat = m_pHMD->GetProjectionMatrix( nEye, m_fNearClip, m_fFarClip, vr::API_OpenGL); + + return Matrix4( + mat.m[0][0], mat.m[1][0], mat.m[2][0], mat.m[3][0], + mat.m[0][1], mat.m[1][1], mat.m[2][1], mat.m[3][1], + mat.m[0][2], mat.m[1][2], mat.m[2][2], mat.m[3][2], + mat.m[0][3], mat.m[1][3], mat.m[2][3], mat.m[3][3] + ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +Matrix4 CMainApplication::GetHMDMatrixPoseEye( vr::Hmd_Eye nEye ) +{ + if ( !m_pHMD ) + return Matrix4(); + + vr::HmdMatrix34_t matEyeRight = m_pHMD->GetEyeToHeadTransform( nEye ); + Matrix4 matrixObj( + matEyeRight.m[0][0], matEyeRight.m[1][0], matEyeRight.m[2][0], 0.0, + matEyeRight.m[0][1], matEyeRight.m[1][1], matEyeRight.m[2][1], 0.0, + matEyeRight.m[0][2], matEyeRight.m[1][2], matEyeRight.m[2][2], 0.0, + matEyeRight.m[0][3], matEyeRight.m[1][3], matEyeRight.m[2][3], 1.0f + ); + + return matrixObj.invert(); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +Matrix4 CMainApplication::GetCurrentViewProjectionMatrix( vr::Hmd_Eye nEye ) +{ + Matrix4 matMVP; + if( nEye == vr::Eye_Left ) + { + matMVP = m_mat4ProjectionLeft * m_mat4eyePosLeft * m_mat4HMDPose; + } + else if( nEye == vr::Eye_Right ) + { + matMVP = m_mat4ProjectionRight * m_mat4eyePosRight * m_mat4HMDPose; + } + + return matMVP; +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CMainApplication::UpdateHMDMatrixPose() +{ + if ( !m_pHMD ) + return; + + vr::VRCompositor()->WaitGetPoses(m_rTrackedDevicePose, vr::k_unMaxTrackedDeviceCount, NULL, 0 ); + + m_iValidPoseCount = 0; + m_strPoseClasses = ""; + for ( int nDevice = 0; nDevice < vr::k_unMaxTrackedDeviceCount; ++nDevice ) + { + if ( m_rTrackedDevicePose[nDevice].bPoseIsValid ) + { + m_iValidPoseCount++; + m_rmat4DevicePose[nDevice] = ConvertSteamVRMatrixToMatrix4( m_rTrackedDevicePose[nDevice].mDeviceToAbsoluteTracking ); + if (m_rDevClassChar[nDevice]==0) + { + switch (m_pHMD->GetTrackedDeviceClass(nDevice)) + { + case vr::TrackedDeviceClass_Controller: m_rDevClassChar[nDevice] = 'C'; break; + case vr::TrackedDeviceClass_HMD: m_rDevClassChar[nDevice] = 'H'; break; + case vr::TrackedDeviceClass_Invalid: m_rDevClassChar[nDevice] = 'I'; break; + case vr::TrackedDeviceClass_Other: m_rDevClassChar[nDevice] = 'O'; break; + case vr::TrackedDeviceClass_TrackingReference: m_rDevClassChar[nDevice] = 'T'; break; + default: m_rDevClassChar[nDevice] = '?'; break; + } + } + m_strPoseClasses += m_rDevClassChar[nDevice]; + } + } + + if ( m_rTrackedDevicePose[vr::k_unTrackedDeviceIndex_Hmd].bPoseIsValid ) + { + m_mat4HMDPose = m_rmat4DevicePose[vr::k_unTrackedDeviceIndex_Hmd].invert(); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Finds a render model we've already loaded or loads a new one +//----------------------------------------------------------------------------- +CGLRenderModel *CMainApplication::FindOrLoadRenderModel( const char *pchRenderModelName ) +{ + CGLRenderModel *pRenderModel = NULL; + for( std::vector< CGLRenderModel * >::iterator i = m_vecRenderModels.begin(); i != m_vecRenderModels.end(); i++ ) + { + if( !stricmp( (*i)->GetName().c_str(), pchRenderModelName ) ) + { + pRenderModel = *i; + break; + } + } + + // load the model if we didn't find one + if( !pRenderModel ) + { + vr::RenderModel_t *pModel; + vr::EVRRenderModelError error; + while ( 1 ) + { + error = vr::VRRenderModels()->LoadRenderModel_Async( pchRenderModelName, &pModel ); + if ( error != vr::VRRenderModelError_Loading ) + break; + + ThreadSleep( 1 ); + } + + if ( error != vr::VRRenderModelError_None ) + { + b3Printf( "Unable to load render model %s - %s\n", pchRenderModelName, vr::VRRenderModels()->GetRenderModelErrorNameFromEnum( error ) ); + return NULL; // move on to the next tracked device + } + + vr::RenderModel_TextureMap_t *pTexture; + while ( 1 ) + { + error = vr::VRRenderModels()->LoadTexture_Async( pModel->diffuseTextureId, &pTexture ); + if ( error != vr::VRRenderModelError_Loading ) + break; + + ThreadSleep( 1 ); + } + + if ( error != vr::VRRenderModelError_None ) + { + b3Printf( "Unable to load render texture id:%d for render model %s\n", pModel->diffuseTextureId, pchRenderModelName ); + vr::VRRenderModels()->FreeRenderModel( pModel ); + return NULL; // move on to the next tracked device + } + + pRenderModel = new CGLRenderModel( pchRenderModelName ); + if ( !pRenderModel->BInit( *pModel, *pTexture ) ) + { + b3Printf( "Unable to create GL model from render model %s\n", pchRenderModelName ); + delete pRenderModel; + pRenderModel = NULL; + } + else + { + m_vecRenderModels.push_back( pRenderModel ); + } + vr::VRRenderModels()->FreeRenderModel( pModel ); + vr::VRRenderModels()->FreeTexture( pTexture ); + } + return pRenderModel; +} + + +//----------------------------------------------------------------------------- +// Purpose: Create/destroy GL a Render Model for a single tracked device +//----------------------------------------------------------------------------- +void CMainApplication::SetupRenderModelForTrackedDevice( vr::TrackedDeviceIndex_t unTrackedDeviceIndex ) +{ + if( unTrackedDeviceIndex >= vr::k_unMaxTrackedDeviceCount ) + return; + + // try to find a model we've already set up + std::string sRenderModelName = GetTrackedDeviceString( m_pHMD, unTrackedDeviceIndex, vr::Prop_RenderModelName_String ); + CGLRenderModel *pRenderModel = FindOrLoadRenderModel( sRenderModelName.c_str() ); + if( !pRenderModel ) + { + std::string sTrackingSystemName = GetTrackedDeviceString( m_pHMD, unTrackedDeviceIndex, vr::Prop_TrackingSystemName_String ); + b3Printf( "Unable to load render model for tracked device %d (%s.%s)", unTrackedDeviceIndex, sTrackingSystemName.c_str(), sRenderModelName.c_str() ); + } + else + { + m_rTrackedDeviceToRenderModel[ unTrackedDeviceIndex ] = pRenderModel; + m_rbShowTrackedDevice[ unTrackedDeviceIndex ] = true; + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Create/destroy GL Render Models +//----------------------------------------------------------------------------- +void CMainApplication::SetupRenderModels() +{ + memset( m_rTrackedDeviceToRenderModel, 0, sizeof( m_rTrackedDeviceToRenderModel ) ); + + if( !m_pHMD ) + return; + + for( uint32_t unTrackedDevice = vr::k_unTrackedDeviceIndex_Hmd + 1; unTrackedDevice < vr::k_unMaxTrackedDeviceCount; unTrackedDevice++ ) + { + if( !m_pHMD->IsTrackedDeviceConnected( unTrackedDevice ) ) + continue; + + SetupRenderModelForTrackedDevice( unTrackedDevice ); + } + +} + + +//----------------------------------------------------------------------------- +// Purpose: Converts a SteamVR matrix to our local matrix class +//----------------------------------------------------------------------------- +Matrix4 CMainApplication::ConvertSteamVRMatrixToMatrix4( const vr::HmdMatrix34_t &matPose ) +{ + Matrix4 matrixObj( + matPose.m[0][0], matPose.m[1][0], matPose.m[2][0], 0.0, + matPose.m[0][1], matPose.m[1][1], matPose.m[2][1], 0.0, + matPose.m[0][2], matPose.m[1][2], matPose.m[2][2], 0.0, + matPose.m[0][3], matPose.m[1][3], matPose.m[2][3], 1.0f + ); + return matrixObj; +} + + +//----------------------------------------------------------------------------- +// Purpose: Create/destroy GL Render Models +//----------------------------------------------------------------------------- +CGLRenderModel::CGLRenderModel( const std::string & sRenderModelName ) + : m_sModelName( sRenderModelName ) +{ + m_glIndexBuffer = 0; + m_glVertArray = 0; + m_glVertBuffer = 0; + m_glTexture = 0; +} + + +CGLRenderModel::~CGLRenderModel() +{ + Cleanup(); +} + + +//----------------------------------------------------------------------------- +// Purpose: Allocates and populates the GL resources for a render model +//----------------------------------------------------------------------------- +bool CGLRenderModel::BInit( const vr::RenderModel_t & vrModel, const vr::RenderModel_TextureMap_t & vrDiffuseTexture ) +{ + // create and bind a VAO to hold state for this model + glGenVertexArrays( 1, &m_glVertArray ); + glBindVertexArray( m_glVertArray ); + + // Populate a vertex buffer + glGenBuffers( 1, &m_glVertBuffer ); + glBindBuffer( GL_ARRAY_BUFFER, m_glVertBuffer ); + glBufferData( GL_ARRAY_BUFFER, sizeof( vr::RenderModel_Vertex_t ) * vrModel.unVertexCount, vrModel.rVertexData, GL_STATIC_DRAW ); + + // Identify the components in the vertex buffer + glEnableVertexAttribArray( 0 ); + glVertexAttribPointer( 0, 3, GL_FLOAT, GL_FALSE, sizeof( vr::RenderModel_Vertex_t ), (void *)offsetof( vr::RenderModel_Vertex_t, vPosition ) ); + glEnableVertexAttribArray( 1 ); + glVertexAttribPointer( 1, 3, GL_FLOAT, GL_FALSE, sizeof( vr::RenderModel_Vertex_t ), (void *)offsetof( vr::RenderModel_Vertex_t, vNormal ) ); + glEnableVertexAttribArray( 2 ); + glVertexAttribPointer( 2, 2, GL_FLOAT, GL_FALSE, sizeof( vr::RenderModel_Vertex_t ), (void *)offsetof( vr::RenderModel_Vertex_t, rfTextureCoord ) ); + + // Create and populate the index buffer + glGenBuffers( 1, &m_glIndexBuffer ); + glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, m_glIndexBuffer ); + glBufferData( GL_ELEMENT_ARRAY_BUFFER, sizeof( uint16_t ) * vrModel.unTriangleCount * 3, vrModel.rIndexData, GL_STATIC_DRAW ); + + glBindVertexArray( 0 ); + + // create and populate the texture + glGenTextures(1, &m_glTexture ); + glBindTexture( GL_TEXTURE_2D, m_glTexture ); + + glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, vrDiffuseTexture.unWidth, vrDiffuseTexture.unHeight, + 0, GL_RGBA, GL_UNSIGNED_BYTE, vrDiffuseTexture.rubTextureMapData ); + + // If this renders black ask McJohn what's wrong. + glGenerateMipmap(GL_TEXTURE_2D); + + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR ); + glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR ); + + GLfloat fLargest; + glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &fLargest ); + glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, fLargest ); + + glBindTexture( GL_TEXTURE_2D, 0 ); + + m_unVertexCount = vrModel.unTriangleCount * 3; + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: Frees the GL resources for a render model +//----------------------------------------------------------------------------- +void CGLRenderModel::Cleanup() +{ + if( m_glVertBuffer ) + { + glDeleteBuffers(1, &m_glIndexBuffer); + glDeleteVertexArrays( 1, &m_glVertArray ); + glDeleteBuffers(1, &m_glVertBuffer); + m_glIndexBuffer = 0; + m_glVertArray = 0; + m_glVertBuffer = 0; + } +} + + +//----------------------------------------------------------------------------- +// Purpose: Draws the render model +//----------------------------------------------------------------------------- +void CGLRenderModel::Draw() +{ + glBindVertexArray( m_glVertArray ); + + glActiveTexture( GL_TEXTURE0 ); + glBindTexture( GL_TEXTURE_2D, m_glTexture ); + + glDrawElements( GL_TRIANGLES, m_unVertexCount, GL_UNSIGNED_SHORT, 0 ); + + glBindVertexArray( 0 ); +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +int main(int argc, char *argv[]) +{ + CMainApplication *pMainApplication = new CMainApplication( argc, argv ); + + if (!pMainApplication->BInit()) + { + pMainApplication->Shutdown(); + return 1; + } + + pMainApplication->RunMainLoop(); + + pMainApplication->Shutdown(); + + return 0; +} +#endif //BT_ENABLE_VR \ No newline at end of file diff --git a/examples/ThirdPartyLibs/openvr/bin/linux32/libopenvr_api.so b/examples/ThirdPartyLibs/openvr/bin/linux32/libopenvr_api.so new file mode 100644 index 0000000000000000000000000000000000000000..a2505450834286ecae2bbe96c4742eca32584da7 GIT binary patch literal 347110 zcmce<4|r6?^*(+VBSegD#As1bV~rO7VL(7o^cx^SqM$K<6cw6;WFdi&tjS#n3X-^q zvMvh|P^n^#iWQY=RHUe=kx)QuHCn5*wKlb=8$)fhs7TTL-uK+Od+*-eK=}APzs)l_ zb7sz*IdkUBnRDmfy}Kl9$|RS|rJ0{2v?DZPUZ19o1nmBIf>e#vQnmitQ0;VWh}4_( zgj+sMkaQ%GWKHU&>>HFL?e4E>%ThJ8H|qNVq=gf-w0%bE2F}EK_Qtf=meP=CGV5|a z)k~8T6ErieJ5|$|%=&9l5Av9goqq~yk3hQO>H_V!s#AVHspgi?z8_ro*Z=%!WzxCX z-<1x461E^+ij)JohX8|s&j9`oupi*nfaWI;_+vnxM7k6CUm+cbl!R1<^gE=DNc`+X zIs^GCr2C{q)0P09r|KUAyjzu1FTVy(dH6Yibe75!pN;$@NG~Dih5YZd$r;C)CNP(PJ~_?!rQ5z^I2n}DB# z^b+!?Bb|%%JW@SU77{hCB#)(4&Vbw50L<$>Bv8abRE(kjUw$T1*ZTGN6J7d zLj5n0<{-hmv<-mU0WSiaiu57!T}UI5zZYpd(jMS<0N#YO4rx8o!$^fl`KaUP9Rp}y zls${|U*L6sLsfY$^0y(4Lb?!X4N?i}?glhJ!;!xP$Zu4^MS$ffyIs+|2mDo}$AM=m znw7{uibRq>Bb|-RT}U?~jYIl>NKd1@25<;cC-Rd3p9OpoDFu0cE(WYdT7|q1a5K`A zNcPXo3akNgaz*N}Gsu0lE$>1iac-v^QS zc^NoA^8hy?U4}FPX*JT%kme&bAmxIl0Pq{3*0f(D&(CteDM@=Zv`km&!1&wx0692cjoFGc4%h>o)1$J+9Tn@v1KgLG9-pZkCLoUR(3 z2RI%n!Nw#H`58!;+RDr<{d;d8kFDYgTi%|X4{NLb-?RX{+9}xU?4KZCUOvX8tQ(HbfltrAP#LU%94=MkdBU1&!US}`8>c|kTxRS ziL@Na{#j{9;^bdO*&|4^kjAR|kqQS-b0{$h^Uy$BKT8H#LlKEMU%pZ{6MDij19O)~hYmxZ*Ez)G9 ze<0n2G#6Hhekek5PP{NB&2o zc11H$!IuF0AXOJ_7kaA>V;C4QVv+Wya{19z+_3bO!K`k-kRyIq-i0K7%wJX$pWk;w;j?=IH+>Onwm--e_rmwDz+z!5>D)zDXZ&!{)J|PgeLwEWV6~4VzmB2J-yz=%7b<2#4;ymmYng+7I|QwR zL(5S78ULj=Sp8Qy=4<6ixYl{Z*y||Iz9FE8v5r;klN|H+&ta%gACB+X({LS!@m!5O z+rN8`S&M5SWIG)4Z?W~y`p^+*A256e+s|;c|1*f{?la;<*8d&jX=${^b8!mBdcW2F z2^)XP_bBv{0ezU`DZz%F@sKrtFM+6OjWvJ2L4P^u&z#Q-VNW^FS@S;v6**5^`f7v| zYY?E^C*(Sk2n_@^`X3%Lm$o12loxqUyQuF!&%J>CC7_~pt);&nhx{oHemfoO;d4j5Ck^_3*5d#82va)thoy%8T5RJz zCmH&<*VcbOj1T(7G>Ck!QBmr{_OD>RyiHd9gO2*$4*B{!aNV|EU`pbnmp*|>#b*#A zvw!r5{e%oZOZ~iIn*fpjOvvA2`J;&r{(p7o<2R1_jp(Nt8~Cfz-_hFdVV|kcf2P7u z!^EWi%JOeFI{4k=nC}(G!u~Ly=6d+ybet`0F!n^sf1gACMM>yrl{G)S4r{&LvX4s# zVh@IXxlGu89Q+Lf40C6!_^(#@uhFXgZyfsnr$gR76vVck@4@JRZQ_|@6Q_c7K}2G)}~-uGZ1Jj^lYV=mTHa+8JMhxtv%{F>`ebIAJ%CtiJy z1H1~1>YldrrK2#_=AX+Q@?CQz^cS@3XB5WUgz=j4{mr4T0}i}D_4{i}zZvMS+h$*@ zFrEzCcru2W(i-|X2kYC5c*C5ZjkNy;Yrk5Yg7MhqW6aU0zuVHse1|?Vv3_%~zt9bF zzPjK_GVU_`Ht{2dNB94L13wA+ONRa~Q|<2u-VWU4cbZM#oZlkYUsH=E4_sB`!}>)I zdwCS=xA}47+>i3`93}(neG+Ji-=2W+L0)q`--`M=zon0I$kPmY%=*6!K>c#dU%Z%# z@&DG6w=yD)q3_!q<9!SB&5I$hmHxkS_=^HeC5#hmyYpGbMXJ4gMP&MmO#|c ze#~dxO3S~_cJ%*^ga7p-qT9DYKgo@je%76cdYe5ybQ=7}lh*tkjrErLl!Y%v`*xdt zFL%g)heIB>1OKr<Dg4H$&goDShO_zPzw6liy>JPw4;ghU=)iVr+ z*@5{s*XNs#{(ixQ4E?cN+QS-${qSB(2kh}mRbPhnU1VF|?>gvH5kItGzOPpF^Du}U z_y=?RgKX=8`hNiaq4gPSKF`H^YF%#0^U?tH2i#m=SEYhK=8IuA<-OP8PYTdqD*EHJ zvwjlVcf;Oj)`C06f4c*p0r@i?xB4%#*$?L<4FA+|zcrp$Y~x}5*_hv!m6kn?$9&ac zzF5cpzkq*kYO?A(FtEB`TmJ8Vu=n(3mOpz8`u8?i`akAq%okv5d6Wc z^P>B6LGX^>TK4h*#-Cy9Zvzai?h&hgiNimnV?WJ!%BueW>oxsZYd%iHcw0i2J+)#y z$=E+l`%H82dk;%DIcSalUMSgXTR%5D#{a9^5zg9Agc0Gx^O~Lmxv=!2Ca8t&jIy z=&#Z8Zxu&FC-6t3Re#TpKt_EiZwl<&{1E>RN^C}aYRX%M{jBIQYrPEvy?sCY)FJ;& zhkb8{{#u|vcFXaAb>t)cIqWkR^Hpb?uOC3&U2k14-v<3R+w`9@Ji-qAjptI*{nq&3 zguXkVZ`u|6$I{f&7aRA7h@VTr)Q9aqL~2=rXC(kxe=O#s`%dUs;iDYuvzGngnI_=r&sp|&KjQhihphQ)cg%km{fDjpFC6@e z9r$ke@46M%elf^lzY8E_vrYd2$9%p3d+2`5(r1q=TK+n040TUh>*;*R&xedI1E4aE{5eJ+gS4ZxAJM<}HWLM_H8q|Zt?~7 z7F05Sg-5@_Q|YNLFUhWifU}BAJVIJCd0uHwwWr2YDNV9#a($J0`8-c{B?enj;VD&( zugfLZtm^8j>hU#s3+K(Os)$#URXMw&yrwMEQ&Uo1?$yhy%+B-l>hj9jld7uGpKw9z zyoJ!!JY*)86=M`tl@uwG&-3U$FAJ*Xd8=y5p)erV%=c7R6fZgW>s-@>D1y% zXp)t=p2|{B_0+0TPeqM1tc2n!a*8WGly$tn zhMhL2x@wN6gfdJmhDK@+LXca$Ai9={@aY~%1znh`jpClQ(34*^8KPoDl{K@fs;S&) z0rD}odF2?#l;Rrwx|)TRB{3wK7iEqeUs~*inPfu^u`*^(yCVA%hXGs|hV(G<{Vre}V635GI$W=&NEhAb0=$;zp!ai}yG zmaFG^igi!vjj*6t0&t72&acYTiz`dP?a+vXg$J2pN0**jEW3$SvKT5n)wxv_4kcok(bb@jk|n+w zM3KZ9QFcu7s;DZ~`$h^kchQKxkrtF!>Z3>Y zjn-JU7xj_a@OpjY%t4E1yc&LJQgzk5tV*9_{pM6vR9x+;)wAZC?mFUIqN=Vh*UREA z1!Uj%_t33tY z(inA)FPU3ewE)}jY|pj6a=kFCww$|GG#@8XL5&E6U?ZAN^~YT-AHrl+7SF8ksG%H` z67dV1*`#u8tfoi8HeET}oO{QH$xZS4@=Amr6RLcbrKVQmP+`L|Hj?YgJqy@}5+e?2 z+)c;6rx%VdEw$kY3(99%D!0|tARe1nHQ!?^Iv86VHhdz+ZjQ%R z>?FI&vv9&fyMsLxtunQ2iOifLOeywNmXz68D23WeY6=aaNC0KUR9p;El-ckDdikt{ zw!(M}qX&La0i#K4dUJTT4xI|4pXBCX_|`s&BlO&5`c7@^3GwI=!Pul5@6)Rcea54W z9_=A%;V%)`Au_Q-)n2$_OQ}Rmj5yNngKh0<3e{@2l_Acr5c`-|<|&!m3uhZW_iuYI zaU8Lox-h$jKFabw%IQUR{77iel`;`mEHkSm9Jdc4iY5oqH@6{MC>^&R5xBY1ta`Zf zs^U^xglbh`3iC>EH8ioRLar)k_f{>0GyGQkY6xUhO8^^*rL6Xdo=Of*g8qHpLd5g) z%Ju83s^?=!?QL2zYWh= z2#hFkI)XH7CSvE-J@M;sHpD~C_?57d$>p=luJy^GW_%jhXkY+ksTm6jB7Dy^3Gbr#z+Uai%3e1*5H zcj@ERT5Yc{FV)MkE2nyJ6zH6HOZ0{ zPbLu~AQYeP6eUgveQ9>6-ozzVT4z{sX2l$NRCm3#qeoOc92%l0j9-&oqspV5pG}mA zP7%9dQ>%P6o;*ZB z&Uv%g^h!cq;%Gf05tq1eXTqsMgc3L=iku(YTNKN!jPW(ni=$n3&EzWV^2W^&)yP4D zkz4`q>n$#oeKS50#?mJu)%t1=wvL&Rutb#>POX~nv9rmq>V?o!om$BbnI%3^T;o$% z9IRV7rWjTo7z?CvQb^1Z9l)5q zVzv&0nrkvb?&uesa;nSc6<05eP#8Bz9CYM?ty^yM9i+-ypAI7QV>ahhIcn(}%xXs! z6l2yzyg=`s)g(pyEk`mj@)+TqabvP@3Qi?#1*&ITNloD-#G1B(cqHT!ZGN@}28V-G zLoqgTTLfe)m2)>6Za>eo6$@F!G53k+ApJ!c8HfK@A<=nG@}VUw*X4}~Ll zk0%$`LkIR2H*0O}ZReU6 zDUYxs$DNU4^d`5(l(3O2Sne3Q!TmaT1Kb+MHOoA#-+9HRx9CNfzLA@^ zSU5OvHP~Ah)X}_Qnbo?DuTr9usLFdNn(P`Ig|QLDIZE?=ppP@7d1bh@Xl@l(Oo=<{sBVlU zz@^idrck`GGF(Mrln%d1&_6&|m`6Ii8LC=@b0N`(id)RR}kN8tG>*zVjyD4~>3 zO!0Xvkj#mG*h)2;qj-!i_Ij}y*cgp2uf#o7J!_8iE?h3gV_X$DCCr**D;$M&UgOES zdMqBzs`TOcu-f4l7Zz61pHvi7I%TNLpDuN1H{BAYWRXGhdrkQo-k6W-X`&Cu1n`l-O82S%%XoT$Df-^C_`; zo_Qs>qc96Gz9<7a8C4ynsgX4cioIF6&=u5N0PNVm%Tk$a+=|n2$1KFu2b2%>v`$h0-+y zJp8UXtav=*jt*)WO|!v;tUNh+qoXxOYe*E++BVdxikjXA64Oj6M|EmEt{F8sna1Qm zutUs^MR=Gxl1^)MJQ9gjq-Di@O z@U`W+`EdHe`S3)v45)7=FGf>Czc))%eleUkc2-aCi#Zpgy-0Zpwea%`^V18n@-D`_ z&&zc#O`l%jKecxp>L@+`4h3Q?AaXIT$!d4^vWD}zfdj4)Gf*1jQe zudx%@C#tG%wgmS=MHXhm2Va9t9m6n;zM>`@6;8)%(>gm4cbg9tk1CXHl-uIr7~w_W zAwIts6_Hz&30mAz{ee?O~Bnuw^S^JM`FOPc@Dzp;=bVFvF^z~GBsQ(~R3bJ;thxYkr#1@d9akCG~EK%9$6b17lG4^L2o9Y+^{k#bHX%w#bhE=Li+u240r)c&A8 z`LVc^dX8pl_FY~h@nNKLu4kc&qN9rN$Rk3=ND+1I^_1`^C{jjEJIgGspq6$Qp`KG! z&MTVy?D9xatoEdYe0AKi=8ni2k#CQnkaJKnw@{5-t1PapGAu;`91fdGnk5-NW2FzP zsTww1Lv|i>qnRtMV0Hwvh!9H7J1I?>v}uJG4I4RZY!o(p zxHfUxwDA+N3y0&2WzyE5vszm$FS4;8F>Ito!tbQ9f5Dfk}ox5Xoux2A*EgFWRw|ohOCB^mQ3u&px}R#<~ZcdF>@r$ z9}($^82JnWGNo)(f=`#{#V}3H*nxR52}6jN#%GW!I9dd3OD3C!Y1F5 zTAHdOfBj_AAFn;5$_)O=5&nZ@yosVuj<@D?()ZV1j^f`h!oL;2Er0=N+Z5cX;9Cl| zE2w>I&?PFEq+p7IgB2X2V5)*c6&$JH7zM{EI7Pu61@jdwRj^FK3I)9i)+)G2!3G7F zDY#a_W(C(NxL(1H3T{?#i-N5R?o{wC1>aY2mx3QD*r8xp!95D@Rq%j<3EwIGDVVI_ zUFcs9=(U$qEiuaEOAbCj8!LcfNw-6wFjG zN5L`$Gw@Cp_On{S1k8(Ts7uooT&mzU1$Qf`K~B=8D443?`3k0yu2s|O6zo=TpMpuG zL;XhzX0ZG_yzf!L$t(xHUcpucQ!q}JH<1o6El$BW`s3Xeg9-5+?IDEtZg?6YzAQbI z@N#??oG=f+r$Bfo-VZ|9tZ5m9Z{Xb&gg!*gAn@LO_+iA%MgyoZ%`0s;k)aElknbU z!Yl9|al*;?4H3dCHN2n>5HEX3AjAfeNO&#Y8Bdst{f6*5yf=Yx8s?Ai2FxGfjo1ST ze~Eb{EW|t#&cyq22+J^^gyon|!nv4F!b-fGoUjV>O6bM+*9ogJzl1vGm#`M^(jdGA z--#!@6?R8>8{Ugei1!v05!T`TafEl^_eluv(zFV~5WYK4i0|L)ge&o`Y{L66|AhBr z{t5B@`3AyYWBv)7G5>@QWBv&r#rzXKhWRIa0`pJ!B<7zGFIiYe_%!C95bqP%K-hx$ zCwvz3Pxu_>pKv4QpYR3DKj9|KKj9Y4KjABwf5KNW|AbpH|AgBx|Aad*|AcR1{t5qp z`6v7%=AZB#%s=6~n18}QWBv(0!2A>b1@lk%SIqza06)U~6MlmECk$i$3A-@=gnKam zgkNI*3BSht6aE+TPq-KJPxvk7pYVT}f5IOz|Aal5f5Lt)Z44n^hChyQpi9djJQnMd z5HFmcOo$i3Pa(vQ)8r812SV}*Q?bqo@q+Z}glA!$6XHemrG)7&t&DKEORFHf$fbD+ zN5M}LUXJxoh#xswM2MHn*Ae1H>mbBS(UMoJ_JVyzc>JXGJ)_>mzGGl&ZQ+0KJLuePq z4p%GVzs?rH@lq76ER}e(;LMf{CEg@B9IjTDPP|TVR+Wt*?iKue;u*w?1Se_PWa2r3 zk0hQ$JVS6cEt^I>UGQ&nMnQyj5^^UABgJi{R6VHxq9byomUE;!T2=5^o`1Cpbkb+f3Xmcm?rR;zfc} z)Uut#a|G9kw-e70oT8WQBAzbzBH|syQw6Uh9wweFcmwfn;+o(~iSHxc{R79pjJO87 z>Ff}^iFhLMcEMK@PbS_f_!{DaiMI&8mN>iz#xHm?aYRKJzu@bLrxULed_D0o#Jz%V zAf7?INbnZolZodDzL9ti@eIK?6Q4#rUGOc$i-@NR-b%cTc(UNzhX6+wZyv* zaQtr(uOr?eI8|M?lz6+~?-Oq#-YPg%U$%yLi{Kv-ZzkR>cn9(I#G3@)O}vG8o#33B zvdzT3g6|>TO1wyLPF2}X;yHrvCEiXvLvT)A*)HPgf*&B>K|ED(4cW3V@npdhh<6j$ z1WzQsk9hb0IQ}H!T0h_&f+rJCB;GD~3h`v(t%46GKA3om;QS@4vQ*;Df~OK6O1w$% zG~(&R>jWQ4d<=1~;O7(1AYLSRI`PTGa|9nrJcoFO;A4nSBc3k!IO0XbQw7f;UPe4w z@J!-f;+o)-iPsYE-Y@H)cpdQ$!E=Z&CEhN0KJg~vt%6S@zJ_><;Mkxr|HPXGFCxC4 zc$46z#9N5h30_8gGjXrr6~tSK7YXhqzLR*4;5zYk;u(V165mBUUGPQ3JBX(WUPnAk zJX!Dt;@!kG!Iu)>N4)!cS^vZ}gz23ff;SOQB;GFgYU0VnTLoW3d@%7A!PgQ`CEhG} zGx4Fsn*?7+Je_!*;OmKxA?_6%8y@DLc#+^O#3vKa5qu-@9O4;*ZzevCc)H+Qh!+u0 z6}**r8S!Mnw-NUe*96~5yq0+PK3V_7>xg#<-cEce@pi%AC*DN7Rq$QJ*AQli<6Fw-B!rJWPBuaj)Qeh_@0i61S7d(Y{GVxZy2NNGm zyhZRK#8Zhk3!X}RDDfu2(}<@NuM>PI@iD}`f}c-3gLskP>BJ`!&k=ki@f_kAf{!6S zjd;4?xhSmCkx&{yqmZt_)_Bghz_DI88Lprn}{b8Zx?(u@nqty zg0CSyn0SleYl){4Zx+0n_)y|ag0CZz_X@s&cn0wz!CQz=CY~esM&dcd zGX&pEd>Zj|!M6}EBAyC7{O4r+VCC!I`4hB)z^5~I)Td#jnJ@f(-H!U9$gLgt(xM&p z=OcIAtNU{umxL=-&l32K2N9QU(2Q5lcu5KL=_2+fr}(<%|e(^bsB<@?Edw3)Lqc z3G({1Q*gXopMw8(V$egL>#xfT{|Ae_zU>T=W=MFz8~wD<%XMtyZ{YuNY2m!x{j}io zBFdt)gpfbY_hV1!^J&Vy^GJvh8wWWKh3&k(2( zm-DHbzG!&sogcd&x$|ROqPKY*vS8Z?e%YKbr|m_sB{Gy zJ5Z)y5V|J}IJ`CR;ftu#{`-{s=|+|WrT&-<6n@*7fCx9koz)$9fsEWw-$PKpje^_& zp+m(7s9u@lFyq$xwzumOw7Qo^!X0Y9Yy2-`fIXUioPSSJ&-3r2Rrmm6CjYkNke|U? zXjKLNpVR*OzJ4KZPuH;%0;|TLWzT9U4+=8&>+0}!KN-40o_(Bsbe9(%CcPD*w;cb= zI=E>1NkRV>bO)8V(O+m4OLKeL(OYoFfj8QML((8D8rSb($QqcjH*`-e=)?cQzxuWl zz$)O|7g&5C^hy~@c4Vf(vNR1ai7=3lIUAQ2e0~oqLz9vMjid@Rl0_hEX(($c%{9Cw zfb*HwmnzZ1H!+Cv$$Q6ssL`KPg$6k~OAzX)aRG`lcp)`YS)i*CT_Lg{6v z)yu6M6zWlTJPynnTLX=y7_z(JNOt2dRYM3$DXC61sJ6Nr{tad&fxs)2z%T!` zC8?pTe+BO0g)(~xB&CIEvOy_nqW*(fYYdGwT!^(0;kcqVj_wr$Ko`o|9nIAf;oA8* zmQZNE7TWR)4(z2__}4iZ0$56zd^5_+Sk5bQs%11w%2{$6g*V5=OEv%79GCY%_^&yj&b6qIG^X2#s}%Q&65;b%G@nN-J`*iIdUh{7jujrCM)UZk#p6q? z&Y<@|=(e6f?SanAses7j{Kti|u8o21v@Hz(^RF?kf;F(i@JGyIt)cW?W@QPpq74|m z@ymoG)53S1fb$wdQThb`n^aQHfxtbs$#<_P78yUmv~%{ut!Uagm1PAx1KY{85+z-Y zf$d%O!ARpTT!EYeT`!xwvwGqE5XKkE`lrdel)Qr|i z+D-fGy4|6c&hZe?SvCPS=Pa8Gx>@vh{yk&h?7|1Ix7N1}TO@8S=u3pB3xA0+tfd`# zMo?A{e5Y(%+u^@<$O?mnX~SC^zuh7A#PoiF%i*XjH)X67V?9ny3MON20@%!Y29dMx zmqDosy?hrIFDi|#uO~OLvDK&vChJ$CNl$KqA%oQ~CwUwsarA%tj{dR~7C>)JMw`wn zn5VwroDwNzq@N`EioNi5`bk(K4HH1PqdzHvQrbD3+FvEkWMBZxHYKg++JxXL`VyNY zu!ZO5!GV1n%-U_K!rky+D1Jx(3b5-8BP;sO3*U_kqx!bCTNvx47^8${2Z?GhPK$3u z>w`Gf9Q0r@-y!l*(jETYkl)B{i{v&&a;qb`hDdH*B$pq_>5*J%B$ugj{%t8Y&1h5d zzYD)v-*$wOzaS|xgfoJP+*N`Fv=Vy#o@Dq%6(a%Qbp3wC~=Owb#;I z*VC4NEs*Gli=dW^;5%$#^=;=s5@WA7W*$QSEXt&<_G-Uh%w1370g3b$Z;ot&T;;{6alU5Tj^#&o?7juq$*Wq5$8_Aa+#d+>Id&HCV7&Fuft-lRu^2 z#GzMAF7G;5=5vDlu5e2MLIQ`W}LDXf|=@xkDmxPiOxY3*7a;eOuvd+E~5&Z^g<3R;D|fX1Mc6Bln5|k>N92!!>5ZOHf6Bwu{y~0i}oz zn7tTT`r-=-;fsHCAE5;emT>L29O!y1SS_CamIIw9fQP-V^IG;7*&oGz#^XY(zO80~ zv7QQWQNZ@sd&0r*5#dML7=F(pnyGL5m(Lile_LFB zuQ~YT3O~}u@GBO6t4w|y(R8kgTl2fu3JN7@*E^}_G@8l}Jdxco95{C+O{NE^d%xbQ16`DMoC zcY}l9dz~CFX$^kCBy~NQ7yjp09PjbMFD;mrcv-_+{gU*|P}8j!{qSG^e%JhCFT0Z^ z11?)iaI~>uNxTuhH7u8$d&1Sos2y!^*WbdkG$+&=&%UI8>$GGe2y z2P5qZ;126wUr;Un0US^uUr)5Zo6)%dG#3A;^Bpwu?-`772d5^Bb`e@4pJYUs zZ!o^NjzL9MQgG@JM75ydh1`_1l;G6CJXV^LmK>a#0sw+!fJ6jff$pI10IpKs*qWd@ z#xMO1mHvj9{RyiWKBf@4iEl)YCnC>ayF4O=$YTkTWEaFxn=zggjt7I0F>^f95TYkX zwLrXkQ2pelyy2W*i=J_MPwrp{Z{MG+dV46JJH#Zj>W%iPW`)|{BK7V~Q4G@FXp{9K z^@e^2oBDN3P(-mq(I&!Ah7%@3qU4Pl z{y0-?Ydlkp_}6Bck%4DWSw=ilugB6TBamfbv)8`*gEHvO9>1FY%RWC9ar7JO-*Ub2*KZ%~QHL6Ov7cI7 z|F-oI<8Ky4Y2;A;W@Q~>QIm7%HAbd3{T*t(uWT?{8-{PKS3`g9-}Sy=RxUMKM$2c@ z_sV4k!F;>FwAVMq){B2zx!SC7%47JWm1_=B&r|Ujd+6Kzt!y^h#@7d&h3P*NdRDG8 zyRqimkbk{d(Tn^WdaIB2-z!^$PMs$i`?0n~N{G>CZ}9=Q z=6L%%=`p_81qYFOqmR;eE@iO%LySHoCUDdn`(={ZFlIh_H}Bl!D1T=9livL+w*5ow zACYa}vKPBO#oO=Ws4F+MulmCFe^7m4tGCq~>!Yvsz>pxGzwKQ=>2dYbJN?Kw^l|Mc z7a@S!xMSznwqA1M#RIYCn457B{TlWZ2?P$_-~S;VF!)CTff)W$j|J1~c;k!*%cgJZ z3k%m~53;@vvVIJEvGl7V{YczDm{$P^o-vJw;hz{i+xAbR|H#5|>Lc1;asgTKZj67h z)Ml+egMY-aIQhrB{yCU`i}qI$w`27eZ#_dpz0Xga`Gkggr?=+Ac9~)8-(C-OIp;f` zd6?7f{wHR>tjmsG5T(c#xR-IP$`M^e%54dbp9pqCc2FiKlOP zm)`l?#&?+Z+_(6L)_qv(6-Ito^bvnx^DnSyW1?c#-yzn2-1P~w?p1#VKUj2Zf7B2B zNvav(4aV69T-YJbAzbZL_6;-o{VE(*jf)Ef5h;6(O1Oqd#UG!DS=Wi^|0`R z*2AI?S`Q08X#M0v)K57?ea<23^AAx!?GW|Td##VNUa<^q{;BtPCV`uiVFnR;bwA9P z6kMzfflpv9;(1x3?OtzR=y7yqKEe{Se`3wW&Ij!s{nN@99|+n+P&Th5;V!QB^q$-l zs}sdA`g-$l`Qfn66uNhQsWI}&(zN7rEYY4^oJpE&4-yYBkT!Z1{VIK62@j6xP&8n5 znADS-W_6*~e?*^sX+G3yjxgHZ|6$F?`8GDjg8pgqk$w<<^w&}LYF;}<>1CviL+tgz zq1%u7iS5Vz#P%7zwm+=-&5U9bJ->aikIAv^`=Yh$(q!zK*sN2qdGm%sM0Pn-wRry@ z_6IpzwK$0V#po-Z|CKXWtKmW8jkxW3Ci_#`^XT@cwCB-o{Pu^lepm7Y*kW@S`fHAA zcu@UC*`FK+TRq0HC(fTbzwY&XxOe+r$ur}F^0(QmVXWraq8KWl0feFQo@|188a}B< z4wx;bfp2@;FOtzRa<*YSOK;o^Udc0Pi^DUS66(b>!GgDRd_oATI6YdXYNlS^1VhbBOpVT3_w) z1hea_Z~o=|cx(=1eet33m}!f&kJuO=WnKA^IZUhG7=MRZVab0zZm6Y0!*T`hOA9U@ zYARY?EDXT{NIm5B{L0;6?cbIzUk}(npI>DCq{Lhf;bDrw zw$Z_q)kz5zJh*4&K5(=q*|vV-jVJp0*>=7a_kK^T{6FnHw)g9G9#q-aujRjaMjd-S zE%m0)rTtoud5Hb?ZT-s`wq@^e&Kr8W|IBUV>9` zjf#yY;`h>mQ-{KKl8ohojfJt3T0?U50aR9xwQ70>sTCPJA5r?o35)G|K4w1RotGY@ zy;Gm?EcPdw;Hn@gW*G;jap$);dK{R>rH|Y=kq4$C>}iIFLl4_LEPC8qIV^gduG;Aj z^SG2pF1GWIL+^*V5qs_1eD=Pco#$`P`Rzsjm|kPNM*ngA4<t_h*q~xXAj3 zjl^L{_tMM$A7!tYx`Ww!-22JB>jzVFi1mf3i0Lnm`0yCL=_CGl;XwK{-t;*A+x0s# zs@|C2$TgeekkAo!$vtHIes4Y>ahUealk=$OU3%AdMqGXOPM;Z%UiSOk$>zYVcu3iw zQ9q^EdNYQ#p47w?DaV$BR*v)Pxc)!C_xX;B=W-**?h*TsuE(*v@jR?iADFQZ-+2kY z_?#CXz=(fs`zv=fs_SEm6nt<;b<+zu>C$)RGvn-!w z|ojTEF0=x@g$zE#n+3atbk=HA%DJL*8%g*GVDAE34F%4LXBw4KYizmvT*$vpveo+Irn&on z05!kd6MB9m`jw|>@zsqjzr$10-CcF&dJOsB0A2n5^TE*FFbfYSyO-w(^T9Iu3#I&O zmapKODMJ4CZKS_I%186N9sa#iG7KfYrJZN82z7nfBpZutIz(nuk_(qtJcL*3QRJCif*m z{!fK3UPlJL%Y`%p^0}AYF8NZCm9N2YH@2gslV2~Cd8?LoyjFBKTqm@5pv1l6O37~% z4d3c+e1MHcvrO6V3!=l>?uIjja1Ev@v}z0fQ?6rBrsPTx`77NG-}4)l{$!DVq>}$r zlqtGe(E?s42RYsr(rGAhFWV~lwNlF~Pj@5VW7PQ+i)nXjWWI7`UhWlIFG@nIw&6cT zxm^(&&$Ea8DMEjP(9aV3jaaSjWj9KGx2)WDyoJ%-xE>{)6IraEZGPW3%Ab_KPJi;i z1m#aSgCYOWH%))C?GIczv>3~u<%=9N41TBx}Pg=pR ze!pSouVR(CS4Q#wem_?tzx|->Gg(-dx*O`HG2Z8g?vufk zZe^adJwrrxxf{v9^9E__U;h^Sy;kgPk~B5^NrIG%_h>Nui7qALdE)pJujtKKABI0k z6%o=!|AwD2{K*udd|TE^tUq}|gsd_B$ub$Q?rt1NnQi_gUuH!-hVmy(Qo{Yw-LOa& z{T%6Ad`{z=T$LVc-G3wc<{s;AxLT>`L1(!e zZvonQ0{$ue@0E&q?gp38r9f`%i?V3*WJne6#z}1RPn1Q@AK@QF8{#<{whMWyl*kU) zn8Fs%u-NpsAIU7({Yi?fzC4b*aW_aim)PmY2)*5(OvZXP{mCL(+kNyWC%r;{a@FPH zPyG95hx~)zfiszS+qEHo1#;M4_0b`J2C|EWh5T!!XpVj+1_`CA%^z=mF&FD=&v3Dd z{$k^gc1Y&m@6kWShK}r#zlZ$w;DYbc{wd^NFO{Xf$GWzgiZT2r{2wBz`u(&E{mLb& z{{0o3VTPJMXwk^}FKBcA{rwi4!n{=eiSqXgU#2`yjZ^;K2+Dr;JBU+PG!t%+rCyH^YqKQTti=w3bj*`wExG2*c z{e>8}#G9RTs>_2i@O7dL!^uNy@DP8HPOF6&d&d^C@COA&*m)}1u18s9y#9AY3wV7q zbQ_`**ewPQb`Rt4dKw=RXQ%%CFZ+@B2lb(}dK6lF+LA@Smgu6+<(A zdmD_5Yd3cTUqTY{Z$^oG*(Z|!L~13vZshwhJO999%5(mEY-kHzeFyv)*TGH;g) z?R3nfd)WxdFOpeJ#R_mYHnH6)X1h+|I8EC17up1HaH9M%k0uJ-Hp@O?q4Xz zT1*W2>oADULbkv*O>nh;aL125uD|wtqV%!|&AN73>*sMu*|pQcHxu7%;qMV&Z{hzWZuuMk zH^i4(^#j1a(}#7c`Wr%=uRKtAI&pr>R^j7_XIc0Z;-f5lI`OkCyn^@%CLZPQ120ft zFOOFHk1OQg0%CpiZR11!50S%Gr=Jt@e=XS~^wUEA4bZ*Xhj9sE`o@dbQ=2wb(k>oD zD{Qu%U2mu>D(iVGo)2=qj*|W_RsHWfB{E;&9rB<2vNd0Se!Tbj+7LZo8k*VXE9oWR zw)sjWZkw;miQDF@9YeIwS2uCne5L#e`t+Il4Eb+Dd;5I(h!w{?W(L2nUv=9JI6MMN9_L){UcO%Z>~0ho*Bkn|?&S&a3?YBw2P}I7_4$(-fxK;|v^!M?0FJu?J74px+oH96kJ>+ke+By0r z^Ey2Ty(p7Rv`li{V>Fm9>^DP1@OgS8oC?~ymo0=YvE4{9F5Bk_S|Mna@0rdUiNkdt*82y@nd@D$vfhtDJfW0(l%?D&9G%EM@VLksf4!^mo+SNWW%lpE z#|* zEi(S$GXBtnwU@2LzBGSi$iD=~I%=2$tzi~Pk48T>?Tg(88~j85iG5;MPe;f<3(dQ5 zeX;i+fPW78rxO1oq9MZHV->Odm5~2b;xB~!M-u)P-jwB!h5Y|+1$;2%|A6ow>{Kid zA!H;DyDbCWc?%86{|JgYt0cReS-vkU>`$a3%3#S_hV_7WT&&VL$Y7IhAeC!1S46Bi%?`! zm_-e;d;X5>M#=t>v`;BUwVCHoe$b&_4j ztWUB!vvVXnh1o*MrZSr^*#mz?)`&~rV)k+=UB~Q2lC5QSsATh*Jyo)4%np+5fxjR- zK(f1-<$Ezh{^=aWSCU=F($6GY%k1AIo5^guWCt_*d&!1(A^VbKTbY&f2>&u>jkvUk z*=>gMit)C3_pQcSzR5?5&c$hFQKx9dS3a9%Q55k0Sma z@6+3dS3HKFc#8h+Z+QK!L~6bRcxMNeBt*osQQ=}lZFuvov2!Hi#c>iD|1a9j;teFq z(c1PelYh4GztzECSNvUZ`9E+-{`Gst;9!7nL+gB!@}ENfeC_FH7%Uzu!yx!pnjT)P z%WG}R{sZrg0Tp4-_wVb`FWTO4Bx&(}&d)F=<0YfGSCp!{-Wz$~hNIgk?}fu_DYrLD zBeqa){Wacf5)MCtw=8Zq)Byd~@8O$;DPOk8ck6lFPbe0j{_*3rPd)zDq(J{rV;Dln zi*ra10Z(U8f+u%(ghzoTg%|N4+6!t&jS?-e19KC;s~MztS=kM3{WN(#C@=gju3qr| zBlIh;7D)^W_t(L*vDLl0HR^ptc!MtAP=kPu0%8+fEseLIi{BABF_^m-@3A}D+T5D# z@B6s~;TR=Y`fEtARgS^@`+I!v22XTv8dSG`y1t`s|AlCaF4et1k&o{$zECq^R>U^h)gJo`Cm&{0NTo`e1UfAX)q$EF1ps7YUmC zRlGIJw=d+|MIW;`5gjpJ4Hi(xc)jEMz!JjO{6I^2A8(El`x!^wBn7il020F^q;eNu zew?%S(p7X*zT*P>?C+Jt+A!aUo=TPAAnPhI{$b z{WKvN$xdWx8TaAPGcxgAZLo@uBUaJ1JhH#Y``@uu;r;Jt8LlQP8OloK_@mS$?;gGh zdyGv@qNB~!k?Qpz5rERU7)x1FBRo zS+b(7%aG+%B;i!q()|mVia#O!HB!`hP1GWt3oL4WuEAbg-&TJn=VvOT<(Sr@C;pdMBqDc15Yrle#ZY}Klh!Jd3>{qKXov?2Njlo9{XKQN@I_n6Zra^ z{kV6u;2H=t_PgpmxT01YO+R_R>`s`8+A-u^@{!$yKQ9qw8-^ZV<2Km!aFZ#pF`Qq+ z(PI2{W=&R$~;IP@Pm-lP<*;R1N{dV zZ|TIHRK6=4p@}&|e=rE^7Nz$Lb2nUuVS|)9zhjw=)?oUOq8$TD`L+j!KZ{gR!(V9Y zI)6-$ufgBr(mjD6{a^N@Yuo1EaRh8C8AC$UvGbhoWG}!M#SAM<3TNLZq7TRG&G&W= z;Rq2QMGJkRy^Hi7{R#hxtH5a?SaOghz8z(S2R_X zgNFys=3=B4@5n~Lj2Xd3yVh6{6m>c{H<_#rg;m;E=coVZZfuUx)>Q_{ z_RRDi#yFj~ks^qN*wgrie#?u1R!|`q&(>a-a}PWUZ?XjCJ?&Tq1<~{;qR!@lQc2I- zDhLw{>w9~(;cg!M9e#qtd=c@BC^S63v0*kwyiV7X#{J=G*etQNhdUpX{r_~i{&8=@ zSCWj&47ihhW+%S0JfcmWjI^`_kK;KSXhheY9rSE6)d*jQvux@v zY&4AjAQrcj7hkY%Dcg))=#Q#$tx-u4I$eRu2jsMv>rSpG*HcH(P*!62TbOHo+t5=b zL^8rXEC=J70Ly|M{pxFsvOqTFTlO~M$13EDLK6-&w$>ia`WxuH3U;|SWnR)VZo0dX zuiC~NtUxB(H*TE27VJXRGv<_yv))R+>qrzaYCi%$Hxzl-Uy=|` z#`5&9&l~MFQP?-VE?0GpqJxG*aIuYd+Q_TMe_X4_1D2F z^1@T3zuVBCf6q8WsYz7BE!be#gRw6Ci+8!?I{cW+B|Z%XQ4_x(WM=XHzv_Z;Kv*q(V}&p=QF-UY#ue>S%rV{ zFXyF^f7>|oQXlunol8&#{^`GzH1Ncc>O=8hs&2A#C~8O zyq1udNxm&P7k~eadCvCp8#JC zZ6E92bgfihglgYsT!!ir%J^+CtcLLKAw$#=)9dCwRbU)Jq6H6oxQ}&0H+EX*^|D<5 zVX5Hy&mr&CIQxM>XF@(xrVA-D4&yG=j}d7hpZG_r3u1;Vg3*FOdhS592L=KV3lySLNHT&FE_S%wo`(0_ufFNddfm`bLilLIyXm8Y zKf~EoD6^jn_D1Pk@4`=ueL^we_xU(MoG?M6av12kyI@xz<9snzo;Ji&^=;pr&^LK* zT_)a^@`R>-PFe7U4p+Nu6+pl<9p*=6!4q&VrYgeQzhE(c{wkQUx3SfCZ7Ay#=?QdPmT)U2 zZ22_n_$5joCpRNug0O^ z^+|z(HC?|k;;yXqhz_uqon}y@$F4tdT`XRO?$+x&g0+Y}^j7==Qe-eRDoA<*FDVK( z^C}mcBs>0)J|}Cl!3mO%-4Ax|Mn2Qa>ZSX7dX{Fb!XXi&RB%fY)hL(6IavVpkR9xK zI%tibDN%vM)rfrMdmhq!SG?w9&>TO{L=HUONJ$G%5`lQZs+{0Lj7feU+6?vG4Vh5v zYqV&bIr6tbmIfCuZR}angp=H*S<7T-2rbTsFT(ZzGI=7zysmIJoQ=lO*9ymj6MxJr z#hCHEOA$x*KvR)W^;3-6+V0&e=17CcaY-8*P{^z7ZKy$eoBu{%kgQ-Qd}z*$C&t@} z|189jlf9WFejQ~-fOI@i^_y0S$Wr$oK50L{+7j5&^>JW_`U$MvcVa#4;G)l37XA=O z5IWk?^+MMk`SFyce)(aQ&drdXVT*D0c>;zQ31T{N_uf{=fE@NF{u_s`d7-Im!hgY@ zT;F!|Al$X_VX?>(Lwu(;p{&)imM+1J#93k`pR?FnVpsFWuVi^iGquWoz)&O0LoC(Z zc&RKYuCTHD-HpGDSzw00g&ntk1Cgh04(y0p5ipY9;TSEj5B7)ESE<}R7I;kWOW1pX zxlShR9lH--=z$(0Hd2nxjVZiRPQm3Yz2H-#44JIT`$K6oImh$^~hI3NuIRNQ#*3IR^3quTafOxT;w)JdWWgsq! z8akZ87Wf?Fs*;An_9)zeP02VfGOrRJh7{zySY5aNowg7w`j0fM0wsE57Ubpa3|COD zDMI6M>AAiWU!<|$Ux0HHcNcJlu8{h5sE;U=>(pEmfvL;hoz>G`#ZO`n7xOBy=CKb>A&Af>Yd7Z!Skryt8z1O#`I)?i?e#$|v z7qAlLfa++>vvI>!_D!_U3lA6i5|f_yXv{lYL;NPW;Rl4?CG;1W^s?VyRBsZRq6q{& zz#G|H1mEei{m>ZNg^o(>v%*<-Q*80;T3_q z;drdUPywB20yYDvOB1zB-oKp-r~}<6!sUnj_pw_2PUB{&V6M=n~V2ptQa`3)h9_xx+Pcp=yOuqGMR~%`$qcq6W`H9{2 zy$jZ+hY3tw=U==|Te9AEnweV%M{r-n=TQ;|xqF4&7qM>XoQ@`Pe>c*qDPF7dqCI6N zW>g+Mi?njyyDf&?w$qQzY%mpNMx;^>l;-*WvG*qMQ5H%6coIg47@g>{$||dw&D-BFq4~1`=lm^X$W;C`57B0~HllR#6U7h$bXvqOuwhIXuIm z&M>H`$YmD(-*0t4$Akd7>U;eDub+=(o<6FptE;Q4tE;QKJ}&Z(eNj@1(pSWmozNEv zsW;P-sAV~_?-)Ybo|?@Bc{A=1BydHC#B7G2sa24RUsGdI`pZ?QY)=H&zmxWXMS~L^ zA)ZRAt~k(_QL^bFkO2!HJTMYRQI-a&9gBYLkA5JGJkt?#tzd8Ip9yE$M-|6gg)@!K z310&+nf5f3TH!^%)<{ikhHciG_MDxD)25k;kC5H zl7(f(6@|$trvl@T{h+EMty`H&xsfUK?t-^WwtA-+I-{q+c&SqANf}JttEkvqa0hAy zwuL&IaQ9K-pcaMY9HY6X{Bz{K8ed>rIHBsqw&MLzh>4opK_%yD)=|qqrTm#B*s1qW z_$~6lAP2*C$PViBO?meiy%aJ;e4CZ?(Y%Xr>LVYU3#4YBI=%DOkthwNVBzyEA2^4732_~7FGZQT& z23s6tnaW*}LoR6X2v22FNxQcfdy%6i<~gnIL*(d)iHb(-CSa2I225niPqjR*B~vMr zIOa?0#EI zw0@Fl62m}f&wUHJG}-a!tl(Bv%43>KoU}*zskYd{dMoier2X5Z{bzkn`vt871#Lnd z_CR1IDd=AK00K6=Cfk2{&*FCZwDxykkwX7H?dJpva+_#>=$-&=vNqZOJ&QZ-(?5=f z+5LUyVS#r;Esa`v?>&;pgdPa{j+5WUytsAa0^a;w^WvN)@=0G3@z_gib#_gB_MrT)4qI&gX*zQ*~4I4%5AF zW4HexbV~UDXEkcSUu(0VjR%3_JqUDc5&@`dO|}2pZD{}9y|@26Y5&4K+Rrfya`)2y zoN-MNU@z^TFYW8@JM(MUP@`sW;$i3}B~|ZaQllIIw>3IZwQ5KGH!+I3aA5^D=ZD%N z-kDE!nJB_+zK4%-_F3@al4)qzqWq~@QaD_k0;|_D0tV!?&Jdewj>}`y2 zwOO>xsKNc*7Fb)Taz2Bik+?5Vv?81`k)6NH1o(lnKVFqDinh%4XOF=H)4Nk=+Up67 z`Pl8#j(l$z@+Z$1sqh(j*j~8SEF7^5@JvDk!leKgi2EbQKx#3GMld8Fi+=D37!n1@ zQ$}_w1|a}(ldoG|b|?pi$f-DFdqmb%lwd*d98~Q@@K{JUlWKBg1Q#$3^0|JZNAvig z$_y?Oyaa^8YWHV@eJk;X$gJfOW-NjIf#1=$KdZs z0hJRsJOFK0>>AK=!_`K9Em#K&Vt#G-RLwVEk#7oxZ@`2Y(MKY^BEwVI3_-D^Qp`pW zs{&I8TC1ZJqjSfd4<=Y}GT@LrLvBNXLKYydSlJ0H+ull@*j%P)bS1%f73uAX)DJ+! zQKb8dBE3q|Y(=`SDAH9(^L8%N?%Y&S4prycqI0G!`JTiNaSU#jQAIFgR9V1h{I`5K zQ7_Bo@3L$8JJyQ7V^{IF)tdj7x8c8KKKvV5>I1LFawLJ1WZY1hhn7s3t!5^S9?mR^ z!m|)dFz9Of&hem9jO0j7tCC&3xEo#{k=f=m%LpS-#wN!_qCqBG| zTZQpot2#`111V;Vj06a0o8<%W%UsaifpC=2(XRh@r@pWr>KjPWO64vX4pPwGv@X9$ zPmHH8K);%r7~&YCXcT?F0nN@6F}T$qje+jzQf2}2J=^iB(U266F-`2vbeq+toCmK! zYih4XEzw41soFj!jwCXT_GD_5P62o5nVW0})z%dD3zU<{{^$dg9U`XF#{NMd3c26( zxDQ39XPlCQ0VBOvw}@Kp==@*)8NIrcYIS)7+f)C7hpGB2EWcJTH4lHBJcp&>OEr^Y zSyaN6L0loP1}LrI55rFii4*Um3>6Z;5jry+kx`uU?mp>SA~J+?-r3!cCqnjD>MiK* zGx7hu4#1)501uS$T1$n2I{I%2@OuK(V;t&|UcOoosJF|n2UjKMdJ#xHHd%E<)+2&nH*u_Y*H=Uu2z2!Ck z`0rW2lPG;^cc&Gry@NCw;9?oTDp7eefXGkVX#LKiSffr)BlACDVOi(d()sVnkiM?7 zw{?pFCCQzm7YqMAcMCP0oopFP-Hx>VQ6zkmE2q{Z2NTNeImSw-nuuFlBxO2;3=ehL zd`72@hT?*qsgD<;d=f{&168#vdU2Du~YT-I%)CXS7% z{q}{4n67Id18XzJYF4?(S25T65>K*nVK!=tY6-n)+O254jAbkwjBWPEzC{#^cx(fz z0tR9z=K!S`!+xlBFq{ix&q!IiWt^yI)0BDQD0Y^EWR`Q#j4}bb6U&v7$PUoI!d*euD|=rNYz&w6ZMbh=Pq<_a zvz#oncen>Nh8yP+?8TS$ZMfqA7fK!(!%_0)t9x~^t{gH;TGJbs?61+jq+0wfRU)!BkSCPF7W;9`&=`d7ld-4(Ax8G2$g1Q832zCdT_t za1qCQI-%va;&`j}TXDSahIv?xH_vcnybt1BeuS%-tixtZZa){zrktbPPjvvG!dwsM zt|5m6XG1-bqXy8?zp#v?Qa9>^0kUuxu2d3}&l9$D9%4@pFocLwHc=`~}Rd=e(rbxWo}?5d`SeI$%d(ZqQH}q*fM>iVoll$fIoU6`tSkj$+59kp?U&j7fDM3ZU$p2newcwNNEy)q{9qN8 zY97)!_Ys^O8UW`p7#O&mf}e+>CXc&;8M10F%Co&Exumb4;y6 zyfYG5J<2qfAHwizY-(bR1*;~<5`H+R=@NrjVgr`s^fphD_1-yIzKm`DW)H348Ntjk zMW4k|Wk^eh)j>)*J}Z8fI)XUK9+cPJiopuXT>9d5=$BFlKqucJ80479I(%(C7+-1_ zAo>&d;%ppN>QU!Tw_EP784yF9L7O%&-CBhoV8xPS4in8JS0F7_>KtgN{^clT9c(b_ zTA^Gfhiir&fPt($5X4AwF1YI03fssNI^AU}ql}_J2?WUddw6qz8j)tPEW+xDG!R1- zrE_&b1CVj3Lv1W6z7JY!^+)OAk#WunkA)d<6TT4z^c& zvE`Ctii{v6V#dQmjqMOZYE5iy_4OPV3zGQ}8R}1LO0{G8zp9~DtBUU3!wxE`+GG}+ zgd>6ULZ8xgB4uqQ{T8>`jU3Wa| z7EzrcE^J2O0_C0wtg9227&XaZpn_5#lm$jAAYd#8#$6CMBsXqvve-Ww6}u6|obi~n z_wo1^<*eX`_IOlZ4U|7=s)_Ju7mGx4K6;h>JJ?7um6(0}_Y9%T4Szvk&|VVb39KjS zPF9reDpo8`s}+=5j=`uGYjshz9E(!K3X7Ucux(iY+a8>WI`T^F`@_Xi6bI#E1^*3B zjp6^XshL>8`{tO#a%*^0jMTH%?<#jda}&^I@9I9Fm-MmG3x zFosDN*B!;t7M6D2nt+*-E9GezXcKNfa7Ks2bEArb;E|yA&9q!h+XTeJ2d7<2un&g3 zmtjBgY#KZL5n|J)nYRkA=QUW~{ov^pV9z1>v*A&1fbl>o78U}YI`*w5|sx#+0f>94L(oh~m)>$JyX zNA_!j6URUeDybTTtpqL$@VLo2_|7tWw{rN;AA1|(f)2U8ay^L#6LDo@Lbf>?Hm*=R zwF`jxYB)|w9p>$*&bsAp<`|!S*8Ra{AO*bSU~QiC&rEopi+6vOD=cGgz%J}sLM}z0 zQVWct73u(1UDvsRpu;$-NImYz+wooy{(I021eT*A{03l>eUauYAZd03|2>CGc}G`R ze>uu$vAk!GY|up7yG66nx^P2n}H_j zeT|pi=QK(08!mO|?Vp456r3|*M>hniO_F}GhxDJ00O|j+SJFSQH`3D@>LL9MfRQu* zy^&sw@vhs>D3;%bMQ?AU@5=)FCB4@_trL`;lBz#`PWlfZzxN*H@TosGg*$38d4VVK zXeNT_xS4_S$nDw3oYd32c!2qb&f3GRsFu_$TxR6gnLWFkle!wgB{=>HEH#QM5CdV{ zg*aa;T+wB#nU!W7&j)1tyjR=DMcVsgBcU|HkmK0LgDZRh5GY(W{v|ViNg#h2qA{Zg z9OVMRy3o0L^Bu0!cJLq+c-IadtkXtt4Sc-<9tc;2*P6I&U04fywQS#M4fq@3hO1%t z7JCKksc_g+MsHpJOuK$9>w|wkLEBkV*6{{+;w|2 zcaSvaNVS96+%~Gw9;t@rM5$tPn})Nwy>;w7p3|t{l{ZoJZm1^#_d%Lbw8+d~Wcs?$9;#>p z4;_0NZAi{%IH8fk{)*H$V#i-K4|o8{0SdS6Kcv<-(6NV2N1|)f@$SJG zSWG?u#JMwMaV9Ry`KB6u;eSw@S!?vQL-(Ys7xO(-{-F>Ad%}vm2x}et@!=qV6p3dP zRl^U#A^yQa{Oa&m$=g6YFa1CF(0>lWy}t+jpT9!Z|4&K(j<`8$_J&~3<(X<-sIyVi zer4sZtk~9xC%`d1)tvTIW4kqh+X=DPp9Eb75f8!}`RGnBAO5wlQ5uB9=>})P3LnPB z3OC|%ahESW>`BObZFh~Q@4LZdRTsf`09m)MuUlWZHk4tIx-7?_ zwgLeV%}EFqS(*d80rY08w-2PZa64(2vAsh$M|G;bu?^=`2P(N7N%$gPNymaqWbbz& z6_Kyu8nPt39_Z`M5*4go99&%I!&Z(O%W>3W(!5Fz#&Tz~s(FOCNr91K!(}DQk-M!z zSj%S#=OO?W2KdsUWK?)5EVIs>3r6yjXxN{z$+s^?8%W5Zvq*j&+^2#@t@e7rVox5+ ziB#rbULe9}bF;H?x{(d0<~VK#Uy~EDu|cU?q_(d#YAX|2R-Ze`_~u3M%c-T~72sBe z2HH^JF##>24p2pI>;X4UxBv>!C|6CmON~0h9Z=%Ku)q-m)6P7nTevRN-CfQ_Z+F;u zRr-A5y&+CFElyH^>&m8cp}nE|W_|@QgHyM!)EI_g%}(CSRSL$uoD89ApmyBxiy&AL z8>WKNB>5=v)!y@ZkdZ@nb~r1eWCt_HzYiNtY%EHkGzTLdT*g01de)>1d00Ln!^J@RfL-I}6e^=^$5OvGVAn*#udIG_peq?11iqrTcNv zkrKEFhl4Bdk9Uqg;F;sK5D}@#?zDNxs7ahju7XYQ0vtl|@3k!RvNNBa2lGPzhbso> ze;DJ*cX``?i;>*vtK6OiyGY@NNu!dSUuykmVZnz63mvYI&~mVWoLN{;K`Fa0WQ)I; z&VJp_4&4Hy5CW~aHUHsc4UW|0MsD7a89D`9QE)urPC+jHsvtZJKEmn>4}G2x%x%9J z2u8MNh0cv^Zx(9H8}mWVRCV5fdI;*~sprD(EU-hfFh*|TQ7ZACw8Z8Li)TcscZH|B z{{HzA((kbk)cWPhqsKun(u5Nn!=*z2<&pyUf-Hh3W5P!Uj&~@^sob3v+dZ+P5ncuX z6^Ec5mqB^-wJndR04;_9hpbidD7=gvEn3ZKjfHMCZ#ZPh4j#MLdr?veB%Y((PwiL* zrQ`LHE)_cd%p2wwlDdFYxZ~m)|O9Nj`S(XW{cyoBH`}z3dAfN zq~}^4_AwL!0#lur>`gvlPKF_$Dm-#8G+E?R81iX_*`ga%qcfGEQT2xL3F)5*1&4Y@ zE@E-;)a_1?1wc?7eu&V0xLXk0+v69K+!zoDrDnluEtCw%4@jgyt$*@l@_>+*Qb}Y~ zawf8Esi0yQrAvnXtnL~KzRHJWI2&oN0fM?{ixZ!FaApD%{ukKYah0Iu;&l`RizLCf z`uJchQaJH@kG5r=|1O+bQDRosH^YWet?`h8Ie;Gz)^hx9DR?lFjBtgCXXzP}B=8Lu z2{@T6G9=Yr*w$Z@eF#XNKG$r{0rL1R2DXQWdt&jt48rsN3C&#k&~YRcYD@=5-M-pv-l1qkE41q6mc#UAawRnTBEvKsr1Odzv0LcHG0Eh$u+|AUYdeX3HgIV;E zf8pqZ)Ovt;oeQ%N+~_*vnC@lL+p&s+(Oprq>F6&$KIqMvf7(chff29%5~pLkN2t$KYb zZi^JtHx~g~iQPxQ4i@;pTo#(N! zFErr3g#mGb_b=YV%)~^auBfhE^pu!WT&}T#C)3j6}k)iyt%g}PPLLwoBu(=vwY*vgc{7N-{*Tw1s9em zpnDV93W3Z*op&cX&&Fhg>vVkVZT6ZJJ|cMwz`ODhszMW5f$UzdO^NC%TN_%Lmv~USgzZHuTVyrAFJ=`u7{t$Yibc-GoMveX`&EtHr>GBHZ zsuIxjYoPiA`COX6gjn;2FCgEA3V5t`iM(Fr7<>A?s%wsE;QfSfH5{n!iJ&2?@bgl4 z>FqC-vG$Ha7OqJsA-@HOgB-r9Q4sP10F=b)n0iTVNmei)WAy~`jh*Knj_@=>>F~D_ zNEbap$F2O&)Vc?wu0!bCAq_O4KYfvbK`KCLr66JR9eC3yTom>fBaoZ1y|j7gndDTW z1?!saVZQ?8&~(Y#w6=@Kc$u5 zdJh7J4oLF2NqLkFO;+MC%w2k2;C5$oC5^-Uwks9iuy(Qp?*nZfynv;|9!F_}$adu>c+OQ{*|e3A9QS}*~$7@YV6 z^q!Kczr5`bu#i{dgZo7m8m= z)lJKkJ_la#wPOZ$+KEDNB?fbLrV+0xW_L5<#ZEiLb~|y=4x~k>N4<0WG43B(jDkM1&tR)BAYWyduQ4jn8@pztjwC;nQj`CEc9dKtH)<) zw4#3kRowZZ@cAkWC<)1hJ~;oye8>6kTO`d**rGruh;7vo68uqWHng*YBUKP2hzQ}H zTQE9w?*UI(VO}y27sTOAEu0OGf$IZkqUQ#OGygGkMBOfT?_m352Z7?+3k{~IEAge{ z1kf+hb(h#priLo4S+Feyo>%~Bz}k+cv>PM7a8Zj96V%EK`ze$*O{#crAGsZ&Hsp`u zfy5Buv+UWV-jCz~Fu*J1pYR!q)ZuQ%yE6J)mu966{W?rk?m#g7$x--AdoG&6P`!9O zBGn0>s&U!KaY-%GTN}6^qfg#TzpK$>&$-k^=VRhjBh9JsN}~!XsoBZKYBe8 zUU7_O$=`!8?iVBi^oi6`3a{X-#EGbF24^Y9yx(b1iK{R_Y7oH5*$H<;t<=Gd?M3$M z5(o~rJ#jWx?~w?)!fvNs0eMUg+gnG{Y5sQ- zx^|UX7pq%c0i9X+CXbW7l_WE*ra871h;wD1j}%Id8zctvTjCjRhr~$)pemJA-3V7{ z{oDq+_2Ic}G<1?xxRq0y1m^|H=_GR6#zOI_`yh*s-+?-b>-Q+^;zRwt5;{&v)ps>o ze}}a*8%?%@fKc%_*)D`bXUsvYz4ikk(qE>p4y31h2UyFmE2V{d(E@H7z>nRC)j?z$ zWy>fyBO8uH3i{gVe15IK7nk_6Maf{$>S2_vV5_R_EK|Nf+8k5i1c{D*FCy6X+ez|7KlD$brP}c& zww~>z0PWe}YcsM%&<;%`D2h}EZ*a@!;7wJ60L{pJ-Qnj14r`Luv`RR&0L6-Y!|tGk zr=0o@x-ufSIQ3boE$~SEy*Y^EQ1o&n*<#i<$aHcHGSc-(Imv;rRcm)qv^b`j`@nd1 zJaR=cZHBQQXt4LwC7VWJq!^j$HfXYV|F4?-yB)@=;>FeIT1MzNa~=n^O9gLzyoeO9 zxk=3%YaWY&zKNaa6S!{~0_9lKzE=bgRq$OgV)2qEi3OXD5DR~Vccx*GP#ug@7Fh;R zi5G#tTC;SJu;@6fg_&M}`3aPsP+tzY`uwL?pZWgsZT9H{*w zuD@|lI#0M4I(e^ekhK&>1Q<$>BD8Wk>0>Fj7I0li{P6)auaFm{wYBVnIVc)igc8WK zm(H`0XvSC#iOT-U%?s?-ZJ@81>ZXKB=!hE#Pz!Nh6D@-g3nyMy@NM)#%yE{wrUC4( z0XeM5f#2+sD-jql(J#4|c!tcCYshsGdDul^V@U#u!8y+L0XAQYi?UJ1e^pV%%8dFF zn-6SBnD#6hlOhVk83z*O?a0=BxKtA8!f$tq3FQI+RB^8IB)$SKSdrgpq|rME=`G!n z6MTpLgvMc&btPVU>?UCBEQ={%6j5>X{URzlL={M0JA+8F3<#{TI0-DFE_UjKe+jKy z6Ev!nWM<*AG5+ zyd>Gy;u`co_LnHQ@|@kfix+cR!9Zn*g!acu@P#S8JoG!AB}-fAAak0C!sY(53RCU~ z>yv`Bh*KFET_r@f{s8LB9g7Tq^g!ggLAd?*tU)HMsKEJ8%gL^@<2U1>coyJFJS_R~e2xRB#Bb!X05%P)B5VcUv+`%N1nuR(An`DnOGeVczHpJ6dMs&QVaJd~%82M}c0g{l#Q1(S zRD1pP0>2bXpz!BFttkdMI>TlhU9F8&lNmwrg{q4&B!(=0<}?cVWb)s54?P1F{gYq7 z&*W-|ZENv-WLYx!hMMQ3CuYksj72gNMWo8OC!A-J82C2v_8F+_#96A~SAHoOVF7*` zn_DgFu%{pWvlL9RVG|0&0?ldhVs( zXBa2X-HjQn_b$=|0ck-YaDU^3avSpXHZcv6S5AL7bMW2!B|QlFBc$2&dhVs((^Aj5 z+}xb?rXdZZp<9p;ZK?YkCpZ}Ow;}Vg$y?ir#!7p5U+MyIFCh&qVu*lAT#F=A$r>4i zA^0W(9X|v!z+r)T7~{2S_f&Nn3V?yLP(Y>h!rWxaW`r4I6&2%c<~FytJ#3sBQE4@0 zo$Dvpn&|O*x8k-pI^**<9F9hve~tVviv*_16D(DZQn+!l5Pxh6r#(i|R@nSgn-0&j zP7cz%>~|>>XDM21&abwC4YE5xqCT{PSUWd(u4cVbq}hc%w;ufWTp@*>+c#&iaDSw^ zw4LMreA{_ZA^D95;4P7N)ETc5Ar6y0P1vwGr!5ulb#j-A$taL~2L!cIJImXTBZWCW zvWfCHR7^HU8Uqi@yj8J>Q}?(C*4lv50wPynsCnf^FF}I{Xb#gv7r|gca5ZSQ*@C~x z0YJ$Gin~Io4Qj|&GWRs$faFOYyeE3`erqe6`@n8)9qYV=G#j_HNNtuBc5W~&VBy<5 zh0`LnT_lB9+mK6HxEsk-Wn5a7$w2W(-kv zD;#|}^(i?@s>VuvT>ea}e>kcIA_Q>dNg1mE~z>VK$P(S&qHGp z<3*i3S*NGX^)Kqqo~250yekEi;8z1 z9QrKvrHc>kXTz`$22|X{8)1$g-hO4baPA$g8MFCqgxU_ZK`cBzOVTwbE3~;w1!H@; z_U>kdxym9oYy>kD|KWY$EvTMo5A~>|>azJT2I3?`z4fR9-@zicJu#KbTv03d$3<#J z$yNodxfoJc8J+c&yc5%m4N#kvO$+L)nRhMu{*40>glCy8H9f1=q}OQ<(b7BumQT%B z19lF6a~d=s;92SMq>PdWLwOFEH^Lk^9Ni4mhVXuEF3(i*MilQnCHz%!*G}Oil7Fkx zY)hdYhby{N(30r*-(Wn4*#IXFPh}Z(@b>w=e_^&&kZBAZfu~+Ve$15c7lBow=EV~- zTZRt4LO_zrz$a3Xg@#olLSGp#7(Ck&%ZVepO&lI-<6n40Y2h|&SY~n2wo?EVJG!E6 zo&3>9!5ES1wlXjpKX$t{I2Z0FQQmzjo;X^a4Te^lc~@B%(RA~dK;^g&!cZ+k!@w}% zBT@yne}N<)9O?-c3w0xlRgT}pRs};7P3K|iiu;7#%Oo~(l&jl1UC`%LLr1`_`X0|w z`8xRS{1~PNt z0u(iRkLa>IP&4j`l%M$IXXA_WXl(OFH8vFQ42JO5@O7a>WlqRBLzm@9h2yvlXY-g- zWnGMH?2P$2ex;i+c9Vjqa>jj57}7s$LT2&KQ^Q9Q)osRYBgP(t_h~Z02&q>_PBpf7 zS)O{acxQ)DJt7r9Bljg__V(q}#bY+dDEev+8wL&=5jwJX$8n((z|FTkK^$dL!| zKK#Ne$TEhFFzQmDj-2W+pDSDscgk7-Z1YVwDwo?FI;X$r#)+_%RQy&9B;uK+3v|W$6FACE%>MmqT(!k|###=OdIqkxhJm8^?~t zlWxigwV_N$1;w zA#su-1CPWMZW-IQTfy+qQT~N3t=^fClc7FZj!|$9#^gVyLlKr5Tx-iTx<;C3Myh=> z7ae}Wd<*m*9$I58bzp?6if_+sDQEqar~+j#wa}RlI^jvX+oDfRV5E20$1mx~DPaB+ zQ-J1uL^%P+ah{{nB~*hk{oihdC%fg8o^r;;J@rT+Km7jHoELj0>|_o82P{=NzQ z;Vp5%FDBmc|B8N*yc6@eDg9z-aZ!#qj}0AR zLLF-bRW7&q+&}oEuVa#Fc?D@Ubc8=rgcJxOI0Re0>bf5|E&*@V@Xc7By1XGJsARag z8;f@YLqm#pTqi4L_^d7!QfN$ncRh}L2A1GuD)+vw_Cjy&x024IHg z*ySrw9(%Cvr-n}q>@Wt780+^hga^#hEPH)3-h`U=H-LoR3DxYy?j1rajW<)J9{H$t z55J!N@uT3M^t1JwJ5Ho9dG6^w^_v7OY-#$OI(A#4i)_4o*5ycb7XN00wBp*u&wIAw2 zT!2{mPGHT_G%$Mg4C-NW!At86wm!i)jHyz(Qz0K4H(URp{^iwgh>cgj*}MLg0Sp8Z z*mYle*J_&g4nm7kZtr^6T$Wo8G^L#AU8d+eSQoY4^%wh_l)<}j_>8xp24zJGHI3LG zn?|&1$~`-0{a5u)lX}$Lnx^fEtjBlmpr0Z}3G_R=-FOQsFB~=ekx}~qT4-{;Xi|bF z^ONtn-!}aZLsIepfg?K!$KO3oe;eIMf9sA~kski0^|xcBmH8(UmH*S@rj#K=t zCw^i5ZPd|w=x+;-{Ppy=!HIXFYm`(qLqEh{Uwb_AW-QgtKOk^~ev!(K7b-E92PYns zdT%{WFCJRYuqp6zYW+s?`*5nI+5&ePK-n%0FQ$Z_RS52c@03i}*9FpMmed{Tsr&62 zZryQqUHY9RYTK*2WJ^k_QBwC-Pu+!{y64(;hqLaKMs+(%-Mc+?Z}-&Qgsj#yPsIZ~6%D)M%)}=rr&DR7w7A4m zaoOoEl?v>NixN*Zsu+}twVsO8JQa_yE7m1$(iLsm=19ero{E=xDt>}ocIa%>Dyb$* zh(o734?7l#V1z_{SNnv_uT$Q3QvQ9CDzn5%N$He-I4Ns%$_ytZu2UvEDGPK;$VquZ zr(Er%+^bUxkmA}exxcj*&^cvr;$=+4lB(3B|fn8kcFGsHM zN-lY&9UAklz13edo*RdG>fUeH#ZGQ_B7x@@yz{D5>U!tK%Fb@Pm)dn@Zp>*^cYxIO z&W*o$>K<*^mANsxQQcgr>zx}{cAIL3Kb)XCYtM}v z>l@FFWGA@CG~T13F=NV6oGhC+KhbzV6Wl)%{y$|a76H%f3rs@{%Q z4gYs(Y!DhN*)#_u4zmo;8|0d`x?$a`t2wB*TU9F%a$omcPSdL;f#==32+AkT3ZDx=8pdJ{#7v^Om8cPPPU zNZEx*0|gNjMfFH@;_>HESRRJJJD%tW&{lZZ@y~v%@R+S|h1)mk0v!^6GI4Z54F8LG zI6hA2^Q&(zJ#wD~<=M8JLoTvUMt=7t$+ugRPu_yVyNjx%LpvOOKjv2m)N0Q`AB?mL z|61ZIo^rtDNR8)emtL!FdVRt?b)x{zRws}=`bk57Y?WZmr$gw7W#B6kZ`G~*Dh!D~ z_B}LNGe({u+e~194?{k|9M%I{P}nF_B_;L*_y*&ot|!2(W#9huNAc!eS~OM4P33q8 z`rLCqRuP)|^pQ~kI-I0Wj$8kLM)k=-W{m%`ewozYVAs!O{gSl$blZ9vrRfJjZ;Yq)68ThGZ&&l{nxwWm6nCsN2=;*Y3JsT&}X=&`Hq!D{vPGWqq zoG0xXk^?X9isMLC4v-0>LStw}O+b65iM02T#*UP7!iNFPb*#IdUl!#aT~sb%OVIRD zI`tv`{|p{QhsmeDE7Fz43ullDr?Tw#0y(vb?^CJh!;Lz^=M3EQAbs0{MsB!YK?o&| zz(ya|>TmD4|5N$DW;4n6Bjo>qq@97g+FS^&$lm0?#!=NKZ-tynv(C%FHO>5Ti|Qz_LuVrAyal*$5K zr_DirO>jnrIj%0yr_Ch-F(3ZrcU+ts)i11l zIt}7ee$ly2U3BSMEEWCYZ_Q{%{a;5LcU7Shin^+e>f{RRf9*x@kT2S1St32?p zyNgjXs5{c_2Ad!Ch8rHJuuXaIJ%N0vK6LvRN|IJRxEzWGuJ2gI4xvt7xXA3i#VEre z1rS4jH}OXnD(o&m$ir5+m&eU7nqq(~{K+w;Y%_UTh8U=C{PLkjsXXg|h-BSSA3GL# z9Z-7YkDbRp$PlHIp43#NcL;7O0@~58{V~|FP?v+`lyL{89TzKg`%?xKv^5mVDCU$Z z9w!~T5zBja^4Q{0=&KvK*qTBMB0iH;Cdyn_ra|2u(!e#@U<7^_eEQGLfsz63YAosWiCKfb*BnhpG0|8n0YTlb}PlO z%y~7{G3WJ=xnp!H`b|+i02jldNGt#L(QVoIXdH^b2gY?*k!8gs+Led_tDd)`AiINEq!uWY}`Ztl=dde7rGd0_^+zSKZ; z5P;pa8(V&0oF{#Bq=uY3GV2(OjjQ5p;u{a+91BwM* z&C#6^%Ns$$5Q{I>3-P;G!^l$jkx}5Y3hVhYJTDrdohNqf!YY7`e~v_(_1+7fNye;c z#fY2*XecncXK0j1WY!}MUPX`w?a|0;tTX)k5x~>(r1$zh5DwrGbT!l+!Zj8GNpbRx z_$bQ|bD!o0hA_>s?x(E*Edb&0-(jCZRAJ>RjBOA7ne1n3DTYC?%i)5V9LV9BwjKZC zvR&vE{IvtBtw3lt8V-6O$#Zpg75bWlZwprGdc=yOq>i%t!+hpBfp0@cT6qYVQyZxf zFQXfnQ&=1L7LSNI0gpfX0g0#y!X0}o28dzUR_Ob`W@CTvp@S2XF!xHTUMT(L#_KyQ zlE3134WT6Y<;Uwhi1MF4UMImxu+ey}VE3CGuUDAUc)ZTq>5SK{$Lx2!tfEDO6Uz?Z zknNhxAsZ17E|U2ah7PraznrkI5Cr_HRezSLKXvNQ3iW5T`tyM9Lpa!*k1bJW^16BA2z#PP3G={b^3+EaG zTjN<}1jsgrwlxN}F=2Bdw06e8wr2iE#=v%F{v5{jE?QzhvLJLO0OqeY4>6iUC>Rrc zi0hcY2+<}(oz0@T3@*HL+|fpOuCWsS!YvRnpVMd>6tciBydxW)i`eJ1vy>nuo_8`k zXyu(8&+8~%&FifGoT>hFRe!pxKRwl-KI%_D^=E+mu}OrchLc3{Zg@Ozh$=H&{TZSD zT*W_-gz>y<`OC;FF!DxG%4O8#jmGCqk?IlZutMEWcmQQU`XgZdR7ZO&nSv2M04Z9r zcl`r!o<{z<2@XGQL$6p1reg*#e0ebHLM*ccuYh(U87Ae09e{Cm;elma6=yk0XJNH;J}X8vW%AkcN7{UL3sb;n4oPmF~ z2*XtR^08lm#byAgX0cB({Y=QFfl7YCIyP6N*c?hRMD(WQa-`TCEyc9_S|+kgUhzW?zZ_>b>ohvz^DY7zGc5`PsIT!3}MXurKrapSSAZEmb*3b@ga6ubXgU!4Rc3i{6^G9%)JXCqp+_7u=2 z?kJW_E(4qD1*#E`2W7of{xb0(lEG=g4gAC1T4J!Su()0-ltST*hzkHS&(@ib*qI+& z5jo>$=I?Z7iJke06_G=HW;P(?E%CV4&iqt+urTveo!QsUtk+&D%v`E7`+uN%5Zquz z7AQ*&nCs59R~CIY^dW@KcP2G=L9h48|5 zEYg58W1~4jHRj=*laB8`DzE6kcW{g2Jv$ZL(}-J<4XP*v$VogI#XyZb+#RU2^+|S# zgRKQ!p(7`%piq@meP2W?)Cg$jM)@*qy-?q_6(zoSl@m6{vQ{G_F3$}EP1u6!@vVN* z#KB*&3cHp+h_?`M_KJ8cGWFJQmQm`}~%t`^Hw%y?wdQNFDZ($d{XYYP1U?lvAOY{!}%o>HwY(4ul zm?**Q(XY23B{n(;h@rNdZ(5Nm=6`0T0NsR zn62RAJv-G?z%YQ5hm&3b7}yjn>ts+L^F>bP8Q=wgeTk0`XJ8U$p_WCLDVsf}DA`>JPO&5f`;|c%nHfpW5$IMdf9va@s0;}(oF0>2E#Oe4zY~OL zcAj|2cnQR{z#?+4ylJuxrU$8MzY{c)-B&MTtBK!A9TeY!eTQXX-y{ds6&P|DT-mT4 zJ14E0foc?@{Sc&9ZD+3k66?jTRJ9Y@c(`k1VNm4PaX#&NlX?P*CtpBX zs=_hLbV;vKFEu`<{3jddvBol_!H|NdPw|j(>S_1q+v;4$ekk{{bWrOA)F(EmAHZ(O zw~?kEV71LcjoRNSm7KSOYgp-Xq`8gGa(})pCpb>$8@1mcpq!Vk|3Xl_(U25o-b?$3 zV0C8P7rXzgM4a44)7lSX$oAHLO98dc2K572Be|9B_hhBLwBJT5Ij<4duu?YC_R_w% z2knLatp$`5ROc@Q`jKth7&V+=VCI z3=vf7u^#m-+fcS9A~BpuP1!Slh$lbU6)k&P@ZWO`adDsPI3KMf4?-G;;dYSCn9wlk zVUOYRXreL2oBJrMYc9%Q?%jLX8zP&A>kE{yOBd!OzQY<;QguQ|IVMgV-eKYpT0oaW z3gRkud~7S&uZ=nrcP@)0;)mR0fqGYpEf-|tD=3FB>J@?b7~HmoX-R5NM=HKDx8sHu zL&XE&y-X6bdpuZ6@3qW0-$v;TOH(yp=)k>Bn3*Vdl_7O4CV`pPFCG+onK`j%B+)7m z4_z1A9lC^vXoV{n7-N~3r|a;56CM4u@%r;GP!)FjzPV;z&qzfpBd;f{v(73SJ_}uv zAp7VQy5{K@Y|!tBT{#GQ@5!>>K=jr84R@fOP)R`*cWrb-Y^wnA-}3=QD5AiFB3z*$ z{G(tnQYHBsvgk%6w&Bx|N>TdnmasXFZm@>#=7Z#m()~q;!9IK?6au{eFoyf1?w|}! z`odw>pd3EhMz;_XhkHG-4_?OivE=N+rrgt*KDeZ7j_*nPd*6N}Tuo>MRtwncg>cPD zIPO^MjJ#}`!cuqtgS<8 zqqq63%^vL$Y`U5M?)$-AaVR?YS3N{z_g zvEu+Ds1x55=!^W+P5RU!_?g*5wYVC)Lr;r$vPHP}vPB((ns3rzMo*9ySG!L{MCq|$ zkLG!HYix=eHAWo_RtN`y@y*Z3_`!-~B^f`?0qu$;DnKm|THlFOm8wXsbv}~4fwFx+ zJ+f&6hEwi;f5lNY|13v%CeGC4JsVKzTC1A^nc z-O!o*cRk6J7C1|9zcjM*0RP>mf;n`^h9eNM0rBxsfPv-;=R3rT;*0?3%kUJ+ypXs0 zOjU$U@=O}d_M?O@bm<}qMWmB;F%G4lT5kZuOVd{fl1~o}SXZ~!k&8GUi0H2$ zF7-!`0YsaZ&b4WyITt4I-N_Ff#@W42G0xj?19o|3KJrtaINx@}anJod_&;LpfdAvo zv{6jq*kfUWl<1w^0Z%yMDTzdu4C^6DnFD68Y;zDEQscuxMsRwdaJo@A!yo++71e!R zBY#HsV&%!;htxwy(O)jzqD>}{vo1ZyiYvDV!HMbAT7Q-U+%*|O+v6i?Tm zevf>Q{)YfaCM-UbkWzra&`c$3CQl6 zk$e$Jyf3j2cylQ}~fx>u=`7*7#?q)nCB+P%`#if3Bzgh_w1))_-86HTs=fju*f{HbK?mLeV0T8=ogaC# zxU?V(0u+%~U~V|XES$>qy1z{GT4Q@RXC|yL%v~!y>sOgno=%}dQHXhr zIc$rc((fsLW_x6G38l8)-}$26YFPOm({-Z+_AQU4Lu$!=|g3Vv4TcVlhBhE5F7APmwn((BXH{6s*VUj2sIb#DUoA zN2Rx*s?Sr^-H~hN896m3Q&|M3-rkXu@$IihPLccuw^UBr_-aN`&GoUHtK4{4y_YM~{^ALB^Y+5^<&{ z3L&-B5wyZsBlTC7t}tscf$dUo+LpBDbMYE5wEtMqIY~_u;ZKbRJsoLckKPJ z;LgWJ8L_oaZRzEl~3e%vZ z>TlOlZ5e=B_pSfX;7r7k;%tQ<75?yv4bnkhE%|sn=%516V*ox~2?jRjV5Y{!($9{Y zi>vWn6T1ojX4J%P=AU?MH2>hgxHw+%m(>f7r?eE}pf4_$>X>Q{%Z|tH(1i^NqpyuG z@b4_6>DWHLf$Lx`KCLqT8;>o+zXCw&XjkD*VD5Nqg`H(?2H?0@&!wpNmNtD{1l|;I zRxddAN;|#UYR_Q{s-AeH!s-#@5l=jp(4`ZHV5-=z!q_n?5Ef2ulnX0M^BPAX-FV@% zrtHgr1HCM9CnTCF-l^zf4iSutBO}F)Ep=ohq){VA^B(!}T=dT@cv~O_Q`E^fIs>$2Ay_5YFPP;JVUNcI$ws7A9(;;C6Pj5&Ktx% zU*rq}Fc`IpKp}x?Bv5{iV!G!$=D0_ar)p;(rfQ4$ejg(PJd~9lnkcLc*ga55g}%Sq zCV=RyXkggaN*sx|t$_B&9sx2C&s5fQN`a(^_pwgNV#+j*x@peFzv6=|quJXYO>&_O zi%{MJ?OCatU@aMOEIQ)w%EF1Kh(2CJ7E?EPR`CdZkU=-an92>=WlX6|eoq{TX{s*s z*q9%Jwo0lw0qwUC9sTiJe=f!_T#9*($%#=+?0kY9&$Vgu1FjWu(hp7`S)4vz1su5D zSEH>Yj=k;8k3Wj*Z;penA!i*CF(@K3IVLig#qsq$8{f&L-ntCaXPZ?T)h(5}&aKFu z@1t(WTlZ5Sw3oW)N?qqh&0 z^?r{un#yK#8Z|=->9`zm__50AKB_3@FRQh(9y5&(GS#yDd-%{-O=_9WVD}bzi`vOZ z%!t%es@5x?V>EW9)lql{~=`G;)0lr67q_$MdO9%DT-jG6x~2$u{6wbUA+ zaj?PKPyNW6g{dK{&x|#hs4ivW!D7^gM7kCgjWT*($AeKOQU587`d@t`lI$E16vlV* zMIw}v2vsR26M3YEGrD?fTHB62%q%Jn zl#eE`yJ)&nz3|`J9lyut=$t!G!DM3R11i1Rq`EsqR=-%D=+%s!3_&u;3t zP}$|Nuar3E&_X=th4)Xy`PUL#2io(z@D*@$`g!3HY?$P{@KI*rXj68QyMP#{{J*}! z;;^st!cNeZaQ|m0nfVTgO0(C14!ycpZqKs%6#rngDmHud?9i(ZzW-Dq@oJZvy}EYj z)!9wJ4V{N9UvXu97A&!;-@Ec8Slca_3Zga$-yM zHn*>HKWhWQhx~V4gogbQwH{>S%r^fabKIGD6d^p_Em`R=eGocJWJhcN-RBbFH~e>( zBEhJA<(OD%(6)_6ZRPf3Dt9((ztr-) zdcM1iAZ|X)j8yspc;q{O#<)wBnT77g^5&}%o@EqO>tjmzA$QqoW?2((L^X>9`x2IX zuB*OtxS1)e_Q!4@iZ!iDcCnT4=aFCqY;qNW!X@LEq8&5>YByv1a|1s#xKdDzwf9z>$u!=>%G~))Cle(LK=xKzPFcCad zGz)h{$WK6G9C&D!IjFNasjCsTc}Ou3oUGe#_Hcr+eNPr5?~dslslG#>V1tL+R~p+R z6(`%Tn0<8zR-glcQ8QTa3g;w!n2cyxvD>6G@xEoz3{NBeQUf4`-QYPZ>^1>^_r-3r z9Cn+f*=>f+ZZkaWHp^zWnd2_ogWYC>-E8}jm)~ZS-<|~Pr1M)_;1K$di8+M)0O0JwZz~k=bbgasta2A}e;mKn0R!RNbbgyjew*p#x4&Q? z&3i%Qr&(PpY<45B37=_(E1alYG8lScz!Ln z`wKji>l?_s54DG7R?hRtNmx#1-;TaGT&7v+WGXRQ4%Ka2SGlp-w&lrjP%3P6aMLy& zox35Qyy!GWWi9e;k|kxQ+Zg<0^f3K^EQ$tUX~dRO6tGWT$6jE;wOu)HTl)yGc-P*CA*@#=|GR>!j>;Per_JFA<&kbUmoA4 z3ad!oQ^h7S(HjL)&!@vc;2^*dYXe~%Ll|&r*xe*DR|_(8!=ELu*(>f4c{c8Y9Nh2N zgKS5VAo*gBVY^R*2b0YS)PwuIR+0Fx5%UlwymG521h=pim*zAl<} z=c9eSCVY_`M$XzFwL3T%UrOV@2bcL)kvQP7wVhRH?FnygtyLtRe$4%dxi6(txsCKz zj6m$|%P5k}-h(Ee>>y3nk(F3#8cV&2G^1!X?#sCSI@{YXKMJHbc9DRQ7+3@|fMB{I z&5LlkRV4nDM7RSHp3^jKJfqp!p-m3}Ymz?{`N$vdLCSgCtFns3f0FGjhS@FkqBj@h z6Gu(vKFr*g(*3vaJ~!=w@}jS-Y^|KVKJE7~qi7RK?gzvyhwf)s>rj5v<;jlN*J{t5 z*QlUiztUJgzW_>MNmY12BmMk1Y|eg+e%=!09R1u;#y30;VUzB!x0Xq^GM)=u_T#VD z1+(!#^w&EZ=JI_h;6K%0Z{&oZ>aVu~80_hR5Q*SiPnQ%P0j zA4s47C;avL2*)aCp8pzuz2zXcGQj%_SZ8oyuXgW-bITQ;~f2ohjEhgp`h*0 zU+>RQiAt&-3+~5X?+P3(VGjJ)`0M=Ki*%jfbD7jv|qwsFT(@xKk?VApwQ9y{3rf;#h&{AiN9V?PyPSI zUoXQ`|3C59tDs=f{r^w=^@=_9f4aZkm_@>U(9}Ktdc5>UwTtt z!$LNoAMLNV?j?m!n!nzuHkkeR>wPAbe?@=24GUx``w{+nN9um0(e*k=`ZT(FDW*K& zdaEKo!e4LE!nBc7)tfbLVNZX(dYIAo@2~fYTWTNvded2ojIvLEy<4!BQRO`k!L!wg z)Ci_PSL%QiM^{Ss*9+)M*(~zQ`RjGZY$>U_r3Y2&5!h$yGds0o^F}oD?ag1W9*4f3 z#z6c$+9VIbb`N!zh3Edx0vTts}D^~`k+6IBHCZ?TwH^dgUkOOf4vkO zw;TEE&8}9bic^ur(Y^BhAK|YzII$QUT2l38cj_$5Ks!3?mBLxiL8)xX_m?s> zd}Mc9MA$sxrjZ%y-ieh@|1O^uV3c$l!--2HPr*erO3u3oMZ|Lq>`H?Ks)+L#e&awQBO}oT=d3t5 zR#qoO9UkU*iwU|xag-LPF@T#zd~geGwG`XCtJp`IVOo)^4S^m0SP+e3#-a=SDwZ$a z4dK^fe3ev_kYc5^uYF0Mg|}g7D(gd%0pUa+j8#qaJQ9R7GwmFka&)Sh2^mN7#MVLs zrQ=qqdYA@dtbMn7;GE9myLCP$1R3Cgr8X+=3A>FCjHetQ9D+nHfiD1vDfpa8-hsCq zCZc2Qfq{t7*1%g1_b%LViy}C;?I7ikvfu7CnDzA6{T}$1#-y*9jC6N6Yc9D~l9H>C ztB)4_(LzscV?j>>F6Y1SA)AJBaMn%-wCQ;l&=@bEwtELOTmXHZ4(JIFpmV%{c3=eU z{;)GNeAD@u*A46w(fr6ebSA&O!4PB}lsnP#Sh&GR>w5q#nX2o4HDvH< z`}H??x7ZcCt~Yg>f7MqwL$F;EJd)Y#U-co1IQ|BYz~=bN`5P1f8Yh4shdcIpl^y>F z;sf!2&Y|pt6G)nW)n7n4e+*A~;`D=_Bes9lwhtojW*CK2x2-Yqr^6Q>^Gx|u6;5}i zoc4BlY90m<&Pu^zqi~9HqslM!Prd;#T_38oY}W?oP&mbZ=Y^;^{vdqgee64X;DhjEX9>8dA%U;s%Ap)h1{U0e47y3RVo8g1@!yq= zf3=$w5x+5iI^3iXZG>er#Z77|-K3@$mvgu?{4sdkV7$|ulctXwhVg+r5{L>uqMQ{+ zqpq;-dK`@m2ywF6+9j0Qq^K*krjbQ{F>Lqw@gmui1T`=znK6B~M1eO}vpjiQq(O-~LM_cc9X~{g)nrGn-vx zFY?4h5l5a3T>MMQlMF!PK)?1@nmlQIK5{&k;*zSuGa8+bWC5`sb3U@s@SKk*|D{!K zlE;7P1*C!)UjL=%nDi5lOm;nsrOokQx(c=bBmbpsPXWv?>A!U1l|R*gY5LRDD-iGC zQLKWF|56X6a>NdP6Y_Xp{!4#`egpeo7c%pIvH#Ky#{c;*{r}j1sl(&{5BV=my!`+C zmz2xQ|5*Q}#SoDH!~K`KUdC11_LBRb?7wvMV>mF_um95anJD#3`!78~p!@P)x)TNV z2^a-ReV(5FWXpg@a~V*`?}s3!rK< zD!^(du$e#hCdzO>50bO?zy3*4ev^G+4hJ0C_bdbyWSf?H-|VHY%JEVn?53r`nTg*% zh#keyc2@rehQGeJ!5G@c`YZ3rmn>~SUl8aYJ%bs2X7cx_pd z&G?Z#3I#{fXrtmZfNmLEh<|bro5i(HLAVVNCQUyq&&)_AZO`@4Ij^9Qdc}hQCXdDk zZ=K?HFW@DP_&X*Yo_iso)WwO{{{|v%PR&++dkCACs#UvaZGYPR1evkR3A8`a5>7w8 zyqmh^O}HaK$5*lNB0^Vpj)k`HUi^^!PHen_tmuhK6WhwbH+Te~A`?#m(A)@|*oV23 zcJD5pct=Jk-^6nP{kFv32wecCvL=qQLnKT_O`5SVXx^KX*TaF>igf1NJ7TL>`RwVx zLCQ$cqJ#aD;l&3umZ%wFPlqc2kFD$J@HOC=!HV=Uf7NC1sFE(Wn$6*|v2+w1c$MbB z#Fe0{x?8U95&~13g?($t!fwnff2-`w#G!zi)tHX4TCq?Z|jGMu-x3$^}-Hen?XAx}%3J+hVV$AKVp5*~wcpRai0 zm<)fESAHY6jL5W#W)gK_Cjh$gnl#kcq@#ZC4a^bKJUO;xLRem!5c#+uor!*uwq$80-BpTCiTeCF!olFcGvvE~=nO4N$H4?=hN1lRs z@woWvG(5(#zB`UlV%Zpv^V8dyNkd;_JPt}PGX-Vj4MvRzj-4WWo5m_14ty}W`sAtl znlx+{K(uF*b~s<>9Ksn!+YOz09t0z~&h+hjX8c_3CxBNWyZI>@5;l22D zYE=G*^#0c3)9q|=+SfpS*?^D4hkedi=sk$Ml4F8cm15Sf5z6v2R2vDPZpR$IjxP&7cCL^(a4f)~`b+M;5MikDVIRMdnZiI!?a z6jaoxs51_aQcEFFl=u7F`<$6GNkD9$KJVrK_w$j=IcHziUVE*z*JbauV>GJ&R`VveSL6Y3YrlVSuLW!o--CRa=+`Fa_~=w0*6W(a zb9#le8c9IT2^KKc+|Ce_-X}E#XHjTjo6NG}r!xmP-ZMIp?=NycxlkO}QTr~ViWtf- zY_m5_o0!%R7D3-{j^l(b`jx zuT~dgC`J*ot*BpNH3Mt8b*6qB33U3P-6Y$(*=&c?rd-M5*q^4nS$WISEX}txi{sB_ zWS*Wp(}uss0&G$0j1MfBKc`8*44X5E20hP2HNw>Dn~;s>+IogxjFh3|9Rkmc z9|}8#%eZ9(+!5;dG)<+y4%!6u40Z9{Kx1ZJXGKkrB3k!ZgpwDn5A1`9!hPLz)62W` zz&;1G;5CBB*Md(KJO)((JSrAwh0p%Y0u$1XYbS%;+=cQ30qsfNNSD{nxaf=@2>H33 z*Qd-tR95Jn)q6UjpM_+0NH<$~lQiqW)+Noi2tKw#)JS=gaPD@tS~!bs zf@abinEMx$sj7>TPLEt)_M&45E?W1Y&~0vR2(afF(sv9ALP_=_5vDcHz8R*~HkG~7 zqV~HQGir+cIXji_=fbk8ZFFlaCNzx<8Uu;oijFD*F97L`$0@JTi z#^yuIX}WBJ2xIAj`+3CH#4HtBfN|sq-tc!WBp4{-?@%dc_dY3%+Q_v}^ILvlY5qn- zWABJ~$lBv27lvp)^()c*#f&S9CA8lV%?J6X7UpQac27o-OAUG-Q=gBSziYk0$ni0= z=0-5{uHIQbu`zY5)%aeBop_0{&CdY@|GSY>h&A5F_myC(`xfhrMcy4W6U6^TM@pRU znHasq3BokhjZxbkGS7Okx9zCsddZ2RHJ{TzXRbUhnu6YLU?Z3^Qsw4d2`_W=o&v48 z(OKeh&9cTZ))_j#tj%ElNH@ETR0%Kh^WA+*lwxI`0^k0WUe;o#XEZ|q`4I^mO>q^r z6Q=sZyawLs=DO$9y6HRQBrt{3|D_QGYxGpW$t~tjvM^^qUCl$d=eLl;u9ep&CBi@N zL~A<~IKnSq|D~i-3DYH~$0~|wX{hI|fS>UYF?6$@vDN3JfJov4^5xJ!HVbXpOjeCl zPQS-HaiLi*Xn6`PXKu?b%$cTavo&^ou2h%nGAUj6ZNMF5UVyrBq9raeG_!ZT2dsTQH`m+!t!ePr4hwGDmlE#N1`t&E8w_E0uS6 z7YO|Lx%uU{8YF)pa?4@$EYIr;R9ADR&XOI;Ks&ydWBj^>jv@=}bOrdik}^h;x1IqWpYl zy`ZTaT?Y}i_+oY%LF$mAQ91;1YAQm5?CgFvf>Hh4laFypMNq}PUJ@0I zQVs)m>QJZZR`Y3&TY0NfJ=-01D(CviA;F4JHFx6K{$5M&m8+f~$f2r7gZvTMQ}lmD z%m?EO@<_~&))6evKiB^#c_bb!tC~CMDGuP4DM$4&@UI)Yvn)0*UT&vQN8L%ZbUh1E z=xq7??D~**$ed1!C}@t--l;qgv&*XI#0LjyMx(Wp0fEFB;gsro%HDD+dhKLfmtziOgRZHQSjLQ@c(DV+$Um5)YISPz zNsOtwsA<@xA_U|JJ8DzUXP`DFSq@yo*DLVbQhVCfiGuhp_Hx3y-4V+anl>4iUvIbk zV)75x)yMZC+pDNZqEtPhJwjKhxj6iJV9)a! z%LS^4--dIXb?5zXT%%h(hukC4+EHSCSL%l7<^?tyi=c8T66WXUgJ7P|rGTLq<~hBm zWJ+5}wDu!@NcB^k7 z7t3ye7|gZmK3zUZ13BIE8N{cSN`DD{S%vSHNPWzxSR3NUwQpV+33;CHQjHUMXE%_Z z#-lL2-ybpG5Ki{$BFS+3GcEO>E6=N^yOq;}Bl7bTKM5a^KZgGEpZT?2u|2+kyDi&fAP%O`9+H^W#_N-fVHX@4a6mel>O)bek8y+KD&Y zi(j3Hg2eqdJIm9vNNWM{t7K$f?mPLIg?7rIZ3VHs8Y`d<87g`Vndxz(pD2~Na zVw&@#S*b&q@o7^o-%cp&1NzM>OF6&#o$Ms+Jd|}5gh424=jipbHGuZs?#F0P%Nd4& z7WLlet4uqG?z?`OTqtW-igg;wx)p?OBb4RbCTb3cvJ_1UCAKvFVH3x?(2rw<{9C!W zjMC9}h-V!x5HSI(A02}8rn}MSiy5=wZgNUMO)T1-#Px0%mIvic`A|N2n!a|7>z$hq#PW0ViUqrikOkx~-&-&X>8*x!GmU^iwX0~tlT;rPhS@Jh((H|82G+`J3LN0w4Q z+}@t;p640-<-7=2+2;Vh7>{}IZEOc$qkRs_&lKXr<2j&R`Hby9D8G=$T<4@W2|eKn z&N(zL;30@doD_~n{6;uXJVJ87c#+ZcPn~Sy5qg!rngUoGaMgyZ5!-k&p1(63eRwKo z4bP<$Tl6g#Qlsc^C~Dul;J=xkee;C>W+HDgciB?+`tL5_U4A|z-M98Ks!>g2VMOcA zY8ciYb2E{JTv!1gblm`r1$n(j3rtSx)WGK6Eb~#ph3Y%}$il9tQmhlb=se1cVN}vC z00;ko76>bZy@`BH{biK((z{TYA54(vP`Zh^>sAgq-Fa(*3A-WK+65D;?@&KN^4-^> zGnnR+iX@N-+eQ);KbSV<7f|uH`Q@2J##x!cP&b{Vv5nNgkLm5hCr>WTrXDiMF{8D2 zs$)~rtD0*%WEtpp9WTvo!vP5UOKk}|{_5stD+;S$I_gTAx>jg;7MHPmMn3yv1e$MQ z*#LsDhj5|R9Z-+01=xNJVIj2*h@zEYkBfS+Vsn;Oo#ONc-@%MtN8buFfS))@o>a5{e(R zr-sK$YB7HHW9_&d2Ojg^gmJ z&kP)N(b_-LWzK4qNj!k>A=h_00fu_(9qSA;>IVaK9lZ5t7x69YZz9IEdFOafImP!h z3ja{3PlU1P+giDEe(_>`$1nbaY&*K}RqUtx@j^)W=IMZ2H9fP;_mRu}3@HntC){lD z)03KFF;+w)%=W%tqfY;V*XU2v>y812)D;tUNXIvY)4vdo0@*zQ!J3oZxAGM3?Eblc zYx&u@dYtQ71lKbLHmO+=R!V$^mqy=-Tglw_b|ka!n1~O~;oq6n4_Mtg{VPXoKj9*l zy=ZqF)ziIrXDwFwfky~ZIek^d_sBk%NlI=Qa6Y*b`mov5;qA3`0Cy23k%eIB5_Oin zAnj?;mv1mvn(nhs?ssS_U1o-sdC;x{F0Y(*wl$?&%&jpqD3@*nI&Ic7r20csHoZm= z2V)O;OhkK&w8-TGQkSX2xq4S6S2&2=*S5h<=o}6*&!?}+>snij{QY}@fA@H#bxq?h zzUX4Mlge3W{kxau`FAhho_}{X{WI}7|L*T6LQ!hUWShGcJw`wG@2mxQJaRf?gMN|A51jSy%4Ey(TP{!VJy3tnF_g;_ zyioq#g=Lji!H*x>!&hZq*SI#%Np|2Ey?O{^2;s?{IVn?&d|5<5zUid zmJG1-@$Y6KL=SnIN&TSG_EC&pIeD?BeZzDlg=r#q8bL9b(*e35gRW~u;61C0PIU#Rhy~DN9cniru3qf0N;Syc<4RG`D79OE)J58ZV@gV7| z%>g=};=@!tNe{Bw>bN#ixwmX9GhDMZ2b~}+G>E|^f^x4Wg0?#k} zXZE6J6Tg0t-dk%y*soi!)c7{hF8t=h9j#OR+@FW{(k_+q=iv(8gc8ZgmY-5T=XZ|n@bq`pbCwUbOu?*ziqZV=2g+n7olvpSE&k%zMl^vxpn}T z`=a%yu14P0G(Nboi_I5^blnnNP;G)SUd2eHMa{=s8E0xG+sfezmv`6pE`h&_bypWU z6)HmEVyQ=|HJgBlRvJ|6x z0qk{mNUSF>mPuwm(<9jz4Sy=<319nCH%M@j*fkG?!0P*c&gz@`j=4RqC6E#0E;Vhp zWR}_h!md1v)>r>3Z0I%3%>I|E!fjU5Flj>+q#32IdYqEA;YIv!HYwUC>l5#B<$YOIb9_K27sPS#@)?_D5ofc8Iwf(5?QaakazC1EF!H52kj$ zD1#%62I(&;eWA~^EFN7g!OZ|Rf3_F5Qztk`TLH07X`&H^_-sPA2kty|2u=FKWs#5PJ7dx*z)ho1CtuT{n)+z&W!p6dy z6Yr`IYs$sacUZb$z7-ZoyA=v4mvRqbw9{?rBacS!!cir+I|{xtAr$K}s0;rd4Y)Y$rg z{An+DjOqI?%N;G_`Ao+O7M44YT?lEP&$}IwJ12=?&Ath3n&>EZ?#!1vW7YQb4sz#o z13^~q^j9fKw0t;`hrpSYJG-bNdm^T!ti{ZfuR5SuBKRYw|p;(A8@SoyA;96fbje#Sr_K z!DvtWrT!_ds%o_x!V_0Wy&90G#ag(d3%X4&FV3v;jl`>pGp`vvg<+PmV|^29D`Pl; zLnZz?4=4c~O_AOLCv_mOG{x5FH^4ZH(?5slfT*e5x?s92C7_U=%**WXh2P}b!+d+; z|+4O5*;!j7DxORUD(1>#C$@~u__5|bpS!0XSKK#N@0{9?4BkuJ zGmk4tra7A*vZZyC-VGC~J;h{}`1OWMqo!tE#H@5~WWOC1Mv;E%72#y+PM;x7|T(19S@kXh=i=H7A>j z1e1SU(HM4XrUCRVuRApO`aZep1;p@@!Y zi2KnJ%gsP=8n(DJvA7sihP%G@1};gDFidxEOu?!Z@l$hauy#+lDB;{IW^^s@bPUL5 zr*c_fuWhEYzEvyS(!G_av$8pH5ipiDB|dVgvYW$rs#k#SUDOD&VEx%*(-zR`Vsnnc zOkCo0)1*YMb1I60Ne5Fp0ui3tpEZDx`t%W6z=*#*%LHpbqPbe$!#Us(v-2H@gEe`v zg=vmUp-mV!^2+35WB9VykL$fR!vY58-QCJ&uY7$Ow7)1?H=7;-eqi6MsHAMl%Kj{`uF8QQ)~%c7o?BplRILIH-rLC`IhJm`G(x8MREbckBSP! z)R&1oE=@hj!l>X-b2SldI!xoeG!Z_n6288FB)rG{hadhwA&+`$s&+sg6^I76EstIS zZ~tL=^r>jz>&T-@EcgE}%cE>)u2Xr0L#sI?kD5dBXjw;jRJj7-8OWmxQThMV^61gA zBB)N}5n=~7bx+`Ps<2wQ--lyj$+b_JHqUxTm* zYjC*j^K)%$YxN3NO56OmY2K}Dft-HlCR#EtgzUSi?}h?1k1#WtmvYLv+!?rjT zyL6kt(1;RPe zP2-|>0{k%kjqfiM{rwOtm;?L>k`jqIJ+?K83d~?x;w6G=0-~oqRfx z-s{mYQWsJ%ho2aCzjDTj4KGsD4t2AT;~h}fI?_koB+vsg3MeGhT`Zv=pzdi3<)iLoTY9-> zn9}bheAIQo-v~rTP2;t1e+~Rq8nL(o`0Gu<|3Um!G1w0Hn~lTAklwN22>jJ+PQl1w z;*|h@*H9=Qe?4sJoBh&v$Mf+g{j;MJ;Y*aLn#O*st-F|TgWP>3)kxAo7>m}WtFAT+N&j~x>HT|V^ynrMu|IOz0ry}eP6lSt!yo; zTpg{bTy2_t5-&RzbKk1f?0kr|G<eTfyV)02UbHmUTFB5VFeWFLu%Nk<)@wHyhDBLoS#;P-K%)NL%2kT? zA1x>-RJEed-+*IiLtXt z$3t%?0#ft_vkxNH${hRaR58M-{|n5jP#SCP)5a)XNi}@z1NO2vsD|OVrtU?_MGCD;I<&~^1DFFv@WV<}uAB%z$2Litrxbs|vZb|&)h8?} z8dY%*Ap_J8Hk5lI+vZYR`3Jc|G+>6hj<#lnN*UOepxFT8K^I3DR zJU)UVmhis2Ic(8c!}%EqbmJRcPm7c_Pt@hF*1ajK9;n`wi@ACYzJ$Y`6E=OnFkF6l z?*Ny#!O2eK*<@2;S@oJLKM0f-FS&lRKJ-rQHQfH)m7ylL7EavH?A(;&xxBXy}?*=DzQhMmQF^R~+b`+|&8I z&x=_suq&|)_Uj4w>T*;sMy(%{h0dxq*>dd7sA`Q)SGnZop3xaIG~CEE1Rqy*zl2s% z)*L@A>k`a#7hg8S2cd`V-z3x&G!3!q%@DiZ4AHUI0_P0;L8WDXOT6ly9zg_pe-e9_ zH6)s-k4{C~ExHz5os3()la#aKSuxA_zAxn zHg|1kJD|^EFEY#Y7h8cB8TK!Lrj2-^;bu~M6ykYom6}A!n;~F)Kk4s?HSy~>4J>|r zUXcs{BrOmVBwIle-o+6;-3bS#8(<;zZ#xd|1kX5Dkoy1n^K&{HdQD>u+xq@5m#2#m zeE$vdbT6~!=j7={6$pc`El*#T>_J5CkUYJ|FKp!L_vpV&292Jl5}Uwe0h4?P=lBQC@sVsaY=i5`g;~b^q-dhU!MM-DNnb;zvO>? z`G12vHU0{m6=D6{D8I0gryugr zsXQHn?5Sy-{@0v5JrMPh12$zX@q_y>ud8>X@tqvqMUz~tY|D9SqV$0d@^|8?Xe%gM z!g=buNI0W6)88wZ&nf{4HYTrQWJhVIg-Eh3R zKQYh}~Ep=O`e&AIS7{s_(W{gT8=nedC)iTUKwhk{Pl<9W!u3A5^dIia3 zmKG08G$%gI%-8VFP>^lpmZ@nC-nSz^K9Rw%3g(OXv)&zi426tl{-GL3F8_rIx)!;6 zSQiBQg4>PP%s*KJdN$ho?viUEY=bedcpHXFO=I&5T?(w{bQw!16PU%FneR~f@uvJ8 z+45__bi4Ax?}?_^6%^Bc8+k~Ir(G2(h!^$WFl}1~!6&8%w`bFa{h}W9N zE~fDVgT@P0kW<6i9aZZvXuah8aQkNk?axtRi%sQA^0E1kabUB(yrIAIO@B8(ufg=& z9(j7PjZmnUSZ9Zm`hs43q~9}$-yr`uMvdXFpN|};p4SK$*Qn>XS#RiX9b%!T@mr?9 z?D!4>&b;wq^Dw^7@wY^U?f81+#E$lW!_m&+J$RS_i5e-J3|#~`hu3%U$C zGFo>pFKf0krm4^BpJ>HKufn*En!y|nyr%eh6h^ZUB+@rhFAINFMN1>c7C6V{Ew|c$ zDuPljvb9?b;tg5t2Rk|IQe#90=I+D80ZG*L&vU@P+3!K6Rxf$hm$^zQy3urLCw`_` zCy1*=xsUheU+G!$0-5h1+DrBd)toYbH`S{>lQuP2?aEj}MmlY&S8%-PU0o^dr0%7t zYkpe5_7u4Q*aZOQG-cN2^Z`vsRk2+n*~r#my|>>L}Jl1XjnCka~J#bSG1ub(v=Nb-OSFnXssMjIL#ZN!egk^B8)Epm7IK_~n!M=XA^?4~n|X)SSXx=zdc@WR|@BQ$Fo-FmGjZ3@@mQqs^baIcEES40{<>(cOP7pJZ4 zOQJiP3HAX(2O83SM}4_f#|+3|QE+Ydr}$A2FJ%@9xrI*1fv>WSyp7(xIC$-}K;NQ| zGjfw&HZnp9XRW?LzhlQZuP4_Yh_u7M#m0vHyowUD$UvLNgE`K(e$zppm{?S|A@Ko{ z9(*|^$t4Gx%z_h(Gk?j)XKuWgz|b{~zkSYU1~v+|x&7$jICo^Ee?8t_6d_ol?8U@4 zkVi$td(1i(NiFCviG`k)N2q2TWAn#xYrWCf^YpiN_6yU6lICmmjMqF5j*4(8BoW>jnP$m|P3HiGLygZFHOns_Ek1eh%CbqVo3rchX)vK#St>;Q;U^(L3{hNJw6Xcec=Az zr+q0>(m6`|RtG4pQBvZmU~-tj4GC+^5FGh zO#XwSVN6~GkkVG>lUOUe47bDN-2f;|mZ>F!$wz2KwWd(ZVA5Y7IbUKVZdXfa+H^(Qc7@^?IK|#)v{ZpPN$mX#UNUrIy)Z>UK=$Z>zXnv-dSf<&Vs6KB?UI-A+j5 ze6dQ~s8pM7U65jHnC?Z2hDqf(kpZ}IMsAx_CWD!lvoN z(V^VQ5ht+@-K%;%YLIi3i}5!(;#RMB`k5d&(m%T3svgk=BYGr1EsFCjllh^skcOW0}X zjwyAAl{#Zf%^o}UgjhcydK35oeB)1nr+oF~cA82q;cQE%`d$t{?5_&rGgwT~H_~U) zL=K3|drw&5Y)HIG>U??25zv#F#isF0aN%~+tpSHRCq>rKt zmb+UFGySZ1CmQ5&4JmjIvUR`W*Ksn@n znNZB0w)pKHXo9Du7P2z!Lvk!Gp0DtR^|Wt$>g`a*!`ptMy6J}-S|idpgA&!Xb8iC*_3$hYs8z;M-^$jn z)cbwmGxobIbt_kA?g{WIKCEg@J@0>PFvr>Gx=C$JrVY1S=JWRYuhAdDnA99_Bl-72 za$TWMpH_ZJiAGtdKs3}eUNzr{XemUKiz12rjLECzDg%|Z< zu)CKWiR~XyXsnOq%Noxl%hDKRL=In^4@?eslM zpNIM2-+;)fX?&8iO@`T|;cEo(l6;7X+Z=`7|A|IKDs_{S;8=FA6)v^3c2s_G_)c^* z@;ktLY-XjU6ff|{k527wdOe9=e2+nT6aV^iFy9vRXx*Jqd~Ln^bScSU6MJxuE3}hR z?rBzZf8I^%F-mhUjW`FuM;3VqP9jF0)y-goLlFFSg(_PaALx~r_=MriI*>Z4@vJbe z`H6AY%bVO&=>E|<$RfXE_R|=MGVjW3b1qdo65or^iWZw+zq03n<1ZS6SkV|LKYevPiv$ zeP!)MYgK9W!mZQ;8VuX7qBkozqBzVraQ8y=b_Fbg^)!#3y21K2jRPJv_^>VoLsH$N zb=sZPUqX4Zf{&G}y~OHi7qxC-H(`T<_;|7K265D*)shfCj2sDZb%JLmX!U0SA-U#7 z*(>pbJCM^iOd*v|F4q0HLpO__cIO_>cJw4F(z$-GgI!V!y1isc0ag4(_PX9a6@~4R zgbpqv`E5i6v8 zeVzH%3L8X+{eE}XvO$Ge^&RL#@E4m-PsoFR|IXn5H3;u$_~-mthTgUT^Em3h(9T~5 zc;mwI&41p>$h%aXthI(eK4jx#zHIIiKYdWw_`$gLy7#X)Rx$rE1X$+?tYylI~B{J8Yb--C7xA0&winzdun!!?QsOr7)xqyMFL zGW~zMeg9GV-#6SpVLvOuZF@n#3SduoOZ~=!e*Zcyy`eSeH+3J*P~v~{+Kta|e_SvQ zm-aVuob>=-4-VSDR_*Vm_G|t2Clw1Nfxa;={Y&+gl?SQsnf}JM?{8QqZ{v-u(S3>f01B)_32M4o>_1G=kCF?&i7ko>kXtwP2(;P`ogkQ zItwSn+0|FBSjy3;D8<|{e(kYacaGk=xXdmO;AWqhMU@J#i|v zXIg?iwcEiQ<|rU*OXnvm*iddZr*MLzHFI;|54Z8c)F1=g&mRcOqtgyTu#wXMk!0nA zgo)W^ttBYO)H!+qzdk=#m0;-msnz@i(icQ236`9F2EN>p5TShV@`FdNGeU={w)T(l z=VFSqrGAZEt!ezr{XU3A?qH$qa3FLeGx_x`uWEzDoO|d+4V;L8bRIs3?Gt2m$VZ{hwr&7Ahs;KLnT_bo(aysZGl|M z97nI`YneH}i69*LBJ)p(C+)>5;78OG{R_=s$w(!=hpWCXBzW;C4{~zf;RV4$k zVbULh{Uq*9N(_)67f^l;-~W<2#FQV_p}bc7PI=S z7QgIzNBi;@A(Tx_?%08oB8i@vvaEkVd8-GqBdTmtgmffhijtcP6B**0yn?5ZI+2uv z?ZfB9dy)sqB_;90ieCRZ1w0$vj`a2( zmjF*K-kY@{IS*o48k=6w6su+a3zo(le%`2`2(G5sO#QMEayQv5!iwFhS52`y^ha^W z!9~t9YS5`$!@usZ_3kYFkbgl%oLhI&SGUgmJ9s^+G3fiACbmv|Z<tM3%tX!`Nrx&e9+_9drEz%|X?NqI4~*US%^U-VoesC-wLf60KyBookxK_BdG0 z=H19siC%!|vd?OYX6Ze;fP=fW$z_4B4sS)+e4Qz&ITwe&EGK1xcZuwUv!d$zbn`v2 z#u7%@F?0kR?Irj9!bo2O=;7axRmF}9p<8yip#K=;$f}z97NA-3L__VS4V^|0-~03E z;Y1Zn+&~wPCdUY0h7iO3JquZQ$pNAM7D1&Zx)knjlHXr6*B^el{DB2-C${%UZP6B5 z(5*SOmmr+9006jY7L3F6viAN&=eqMCch$hJ7^A;EHd=c+vl(n2bv%)H@)`YG5S=le zKcV&Y4q#4?;+^nQ*UFDnOw49}T0h0(-vp)f87bqWfaHv4DK9twf2TxxS2f%LOLrJr z+`1(EUn6)l{5CSvyy%z49U|J4MWn`hh#EBBnR)TcBOXmOP!fl>KE-wz1!1{ z>Iju$&kV@53F4d5-I;I8e`Jf#a$NR`)7S*Y*}_11LauNtzL|D~)9jSXUbGOF?}v$TQDO1- zj)5cb|NTx&j0u2WCHel6WXm(gtprh}N&v~1>~|oljl^CW`!zr1CbW`$wtm?VQ6Smp z=v7l}uKs8j3zGeDNiW9;X14;#E(sly?E2~%3FjJN-4(Y5I2jAI=Onf3OZNyUH$503 zZGTA=+g~OAFJG?PMsLwNV1aBh%a_U;@`3n~_C56(3i-as$4GZbxT&reuO;9qX(h8` z77)p2<16&cqY+*6sOcrA`EvarDj6AJMx&OOLDC`VzR)!!E9uVGC8WE^Nz#43ty$!n z1V_ku*im9$EF}@S;!nVvSZMaeK&CM@8`_s2tvj6N*cmtIb;=3l_HSeyRZ#sR`-dO>743Ey2UKY=D;0*Ea-;X9L zY2@L7st?A%o<4j)f%IFN^~A!=)0rm&<~=^#=hOP0%Y7MDpMT_?UEmp4YLR%uEM7K^ zR(8XGedbMBDpzmSog0JbJ9C@0J&uDy1i;xq#*G>$^T{VQqrZfxQ4ot}&Qc$SbVDBl zQr!jKuxw?yNo@7F6d^>K*eT<-j~~>m4f8*84*vhmcKN@U{{Oe~{~rI-{Le)Hi~LVb zFFD8O|ARa7za(}}y9@EZa`Wc+f5}(z|3j9V{fmuaYBrDmV?O^cr(BNzx3uT~H$Khs zzuAfS?qMCC2S*T3)BgfMd7tch_;&uwnbQUoyzy!L!M9hvk;>dBwQ@W1pd^0`HG66d zp*tgM#Wq=aa0&wo^X37349SBl(QVSZh+|A3q&JUYd2lN{WZ3>lD-TvBZ^i#;j#K;k zQakz3NQJccKM)LuhC9E94lqvtu4oyw`XSl zjttQ6uaE&}s)cRIfbQ_e_GEwrmBu3kynlpIXx3)oOg{qLVSj4}`wxLt(|FNs9qd1& zAIScboJlP%0>Xb+O8EAl8gz^}H1?mwSvxJk>IdXt_3gjiwkIL1CfKwidV+~q8l5qu z5g6qGNu1LeQl-$BowA&I5VHSFW!Zm*sR*HYh0rhGZ^EniM(f*xR^I+qYV zjr|vB2p7N)dG;S!MRWGw{i09unA`P^`9E0A=1GWMeEaVuinh1^N>Q$~Yt-0#cYK^@ z@3DD1P#JP@r@%fl@r03YJhOo*V^3n;D)YC*RdnHP^Q72G^ocqZm|r~J>Vj`Pw4TRz zjotsoL;B=e`+nA1eqTAml33WXTf>C2#UNzay$}5v%TBltRF1nqvnBPmg5d^0%9mfi1Cp%#Ixx@P6GGH zVcg9%wAT#nL2pKz{6lx)4l6v2yC2blwtsEDlvMj`vjx)%?tsoTXV(I0XiYoIi5i~}KSDKfrk(v5XhUBJ=4Uiucb1TA zO*=h%c4Hkz)02V)MqAa#ns!c8`e@n?70Fh}H@2%-V4LiSL`b`YD!0}-3!^0mrEq7e6&3XFV>aWn}B6FDOoIRINvw6~*lU}mtE^VeGp5ag(OqxhS7+v>}i zPto@(RoRl`wrsu&)y%f^y>GxjU#0K8>LcRw-tG0hKLY>u^u3dik2Q^n8$0NG#y6Jr z_b>nQi>ws+ANTjiB9b6x`4k=h=l%V?nfXB9lauM|`ulICJ`rYLjvN%y_ny)^kdq)G zfB$f!?`iRpM@aG{Pu~ms`=9^4=rru_KU&R(xvWlC+oB46X9-2y>w7~bN2Kp{=IZcG9SC2x)19wtitX4JmekmbMY(NK2d12xxX44fIK~Uu5X` z=wY|aG5bZvzQ7j}ZXNdK_~_zS*qU=DKhFKj_~?Ys4;UZ)=!Nmo&t4oKozhGxH`p-~ zO&-RKb@Y4BhKRi6eIe+62TgZ~4xH^n_qWCHP5Zb&XZoSJ6#3}i(Pdsd;BLChj|co5 z9AxF*cH#jQlnaT#=|Gug%c<25O+4UxV#ZKB;J!j61p49n1GD;}9HOCk&j(J&K_Fb-l2J= ze%P+m%YLc-RqAWS1NKr&Ii*p==g0QYD4Q9`SH%NrH4N63dk?Tm<9|my;1~HC<)5}N zt>@@nI392gZ+AEza73=~*NF!Vhp}_<-jiTj@$M)_081%kv4e~!=@Ann~nI-#Qv-fYMzL$*q@;~qkilUx^s6+BUq(P#@hdhEE zj4EzG;Hpn-iX@1-My953J;|Z`{0q@T=KF#?&eW65} zT`#`2UEjefzFD$A`D{q)&4j``coa@yA|>@cSY*){@^9w(2adjj?|J@#yCtK;D{^g~ z{67zD2dbyz2{*}S^e_H__VORNa`JyQWm4Z0GuG*+Rg3TYCrLOY|M&6be}MVj>sl!E zw)uAlupaWlq&Kiw%=D~BE9YnUEj^|0GwVouKf_={^JhZyP?hmBoUl` zO;7vlh#Aq3DH%d{eyJ_rWMh}rusic1bW^q5a>}9NGLn`dUrn#nX&GLA!9-0%StOuSy-whKQg4oI(D(i^0F+QaA<%*!F_3 zL#|)r<+V1~4upvJ6bb!HE(M30Uh)NI~@uu%=HOMP=8d>7n@;KzyMS`Y9mD4yfp@`e?PUh*A&M2EKM25xO~q4U&l z|G{WDx5k#U+&&<-LI!eqWW;X2vzuljsZ)j`=GI0sFIjpc^FsdjeJkwuhwXRP5bfS$ zxlq*m*5u)iR9*J@u%Wat@@nX z^eb+DdA$UyU%>j?!uoytc=pJf^AOx18Js8If1l&?Xzf`*7Vx@U3)k^6q|`qK2c@+j zSOI<^k72*Y3eYSN59WU0PUG2oNH5H6d}9+}u5S!(C_;98tZ|SA%l; zk#N51Wup(($%C)`af5b>)(+)&|K)=s?Azeipl;FHPnh39-J`Yd^OxOmbw}}jA-@Z1 zm&b?L8@vaaOSa-iXKlV8QYLhH_de$G?iGf&kmIwN5Yj8I@Z%Ptn8ifk;0}_2<7#zW zg_D0A5^&b`XbGR+>Z}|m5&UxFO?+q7GUj-(4{KtUs!ZG5HCm^TZ=mOC-(B>&#r92T z-|y%3(7>Enyz9Vb{aiPrYy zBj=BoiRA)$tZhF!Z2>#~sEvV|LkddBsckI0EQUsW9O-znE}RyLJ|)6SU&NC;VT(6q zt222^`nPJ=q%r9JsTC%#mqt?a@DGX4$%UPdi`9PtC3x?=k61y2$TS-F}F1{T2)#Tsz7%B~#r76;67}J(d#( z^WBPUZnragvlfB7EuVa`HS^otd~O)V30;>=JT!Ga?uzua5J~?2?BG16+0S-8VvzX9 zB*Wk+D_YNVCUz`bI9jJ-Cw4qBdIy5eOD+oOskg0_p4#rX@)?Xo@vtpR{!Qg@%4M)*#sd+2XFsx<{v?B*+dCaJbqrT5oTL zpBe^u;Um&ddozNnQ|WStQm4Fh(td{ZUTvLwWVH4+RW%kYIr0m+_GqR%rI?!$Cin-W`fp8TAS&u_ z|CE%&PQTANl;s{X0J=RKLiGx_bmOP3~??i6B4I8amVcCuJ;yk3k-Xn05H zG3UC;VbbK9_wh@dBBc(}y(6}uR7ncIB1$rEnChiNqmhDX!+R7u158LY3vX$F`o$`4 z+IAY!adl{9+tVLe*|vEX6r~`6T)WIQA5&GrX6i#o)W_u<4u{7bq+@<|lp9hK2d()j ziOL}ynXPZmqieJ0=uwJ^4X4tzVOE8#Q@`PD_%QI!nn_BXtx|Ggb|!zHL)Jk56C{5* z&sI#HDEFv=6C#PyOv1#ml5PIElL?Xdj}azZq>{)?n_AQ@p0F97gA?cvVl#qI|B4SO z=4SpV+CA}_pya@y__z_@JBI-Wnj^*JW_(hITIldzTb?F@9BgNIXc75F5<$PQ%GT7! z&(c<9E6tTPM3W+M|J$i_H2FEx5jN@Zd_X>NyoRKd=7=XOWRD&Lz2T#~8mN1W$(t85 z={-_!{S(`HNvU$3Fc_0R)YLD*IL$lftc!=t@wu}@ZI~VVsoV40up`Xob1>(V)~5!s zveq>I{0d)HERpmidkbVUT=NXhf>YTB(!bZ6QKAwIH5s-ess8kmf8HE`jXdtDL2_Q{ z4dgcGpG+4fp)rfPKkzd_A${5D$Ts;7+?IcQhxW8y&oC`DTrPR3oxeJ+lt84gYIE|w z%BrNbEDtD-u~sLsnuUODjLGIMeLkPgox+LLTnOjJT5Uo`j^KA!7Kh*n{u&e$ohRb_^eYf_wv^>J8r{5WGEtrRHY%EqI`|7Q^+C<+Wi7jk`S52ZX&(2{r`lb zes4ywto+!Dj6=KoA_Md^Y0xKtLQ&-R^%t44lPMrf17!_J&%Bpej*xjP9Pi!U`TB>@ z5!;`y_s;_#j=ZaBJn!e?haf+}2_NQjg5kGIq;+;UsF$x_zKam7Y22O0zKUKoyp`Ys zn)MS#aP<{=ag_2@*Z*vfQXdh8eHEp?Ng+|{&D*BbKR!S^?J0E>1oxGcI!?M>J4*dE z$D?wTdJPB4HO4FXo1@gMewm}!H@8i%E6q5=^ji10MsD6f3E!s2ub|gkAu)`LE(RDw z@;ATN3B6WobwvmM@IFIuKD|Cc(J;M!TVw$_PQ)8ymbidke+42n*z5I|0#&AfPp_|# zh_W+!)fsTEM&kJXb5K^G2;|e#4A`xvvEgSSdNRVVTeOb-uCm8#H*0=5UY%Io6w_`T zn%pk&OkhI3l6dZ-kch|IHu3xv*6u(&d;Mbvi08nAIug&hpNEO(1h#n^{?~TToS4&k zoRxF$TDnOXIoD0&W&-XL)k#!K5y58DyF!{yzv)Z07dw?|KWAdSRFBfGStl8Yq_0qA@y6jMi<0zQ>IxOYG$W?Y%qJJFy1 zz4N;FLuFriUUxn#arV6KaEvQRE7b#OUeh@65=5j`7Px;S(ZWy+Lml*YgN@V+@TRb$ zb>(>aLX@-eFd3IrXEvUbtIiCKuKgY-Tnw%g%>3zF$y>+(%$(kUkhbS7hO!q@F z2;fT#>>Nv9lfLpUas>Ggm^EvQVbGAi0?Ym#DkaUw&s6ib^T|@P!7(RqqqXwWl|7D^ z4rkQe{GK=*Ml;Yywf^#_aLia9a{dZ|d@<>Vg65N-7OJjh_YCyG;5CO9x&4MFu9YBV z%1`0gnxqtNHnfQn{tasr8zhU9snDFPf6JefQo-U=(<21^jcy% zU&8s~MKiLU@ay^`Ytl^}`Tl~leDbwaeKbtZ{{QiYq`3bA%OTz~-`}4*&pz#OzuYYO~LMS zz)oJkqR~^PJ*iX~$t))1sV@o&Y(9t}AHLzQLlJE?jb~j1G6EJ4@>|tes=drhEOTaQ zS~P>aGXnP*4HB)N-g^l5rT~B!cjYBEZO-yZT`m34m(9ofL%L`!@A4#qEIG+}Yp?kP z@GJzGSt&ZY($JASs$n{MSkgM#v#S}RLE*eNd^$2FyWh-D-m$#B^)3pEW;B}AD-;c9 zv>yVmi?U{JVTc&AmfoJum^!J+ytVkV_MNrQz^omry>>_&P7@oP2;maW@fVb>FW-#PbZqj zuAnhrKFOHE^N%rg7Cw8Z@lY&coBSg`HwLeLCO6|DB}!FuQ>ERetDr;$OVNnd8m+M|zDUw1K%z zLYQLiR^|pzU!H~G9yAA8cwNqE7t5Wc2bXo6| z8yIVe@5LQhRjU%WaSNE~DRY;xo7khI*RxG^Ws@LLg+bGQ(CnKK0A zy2Tm7i_jEd*qM8f%9T)U#>-NB2!Z)&6!u?<$61HKtZ(V%*P-}zZuK%dI5*KucAfq< zy^S3@fxX(j1^wP;1{}{URdt+tD6q+PxXQITNVZe5LJVcFgIG9ulU)I3Lzmv;f&9=u zQ;8!Z?~@}#ocsA};#{0kV)9_#9)jTQ3UJbISewr9KbdnKsS?0NG)#jk#K13; zFI)_q{uagE@-5zQC8!>;B|5`I)6CTy5qsdu$S;~nPX{SXQ9u;w9|>_BZwP3D@Kp^v zBC<4L&ObQjc&@v*YbMVtUth*~2w^BO)M96i$&&gcZ*(=)h%JhfE>TYgk3`4p!D|V1 z9nzl)3haQ=k|gekE#44aM^(OM>LczfHEcbAhD1kEICF>3-#=CaLB)tqSE9FU*x1HXspsd~1DtDA_jA~UcLvc=rM{MZEbW)EaD zn-?+&+{&a~8(3aMxC#OgW#1**s9NYgEuMwGD;Ier|E*d`CVRKC-XZ@m^g1MhSC%WX zxxlzQ;+?U+Y;&|O2^5On4_{xlDOz_DPtL}H)pMe?zofkZ7%xsX<3X zYmvSMeD`iyquBkI(b@`iSUuZW8GTksvkjMj_R1H^09a>|7c4C-OUy~UXAiSv^?~Su zv4!5G!fBgn`%~H^)ofx;e5YxfkDN+a#*891uPOE@-4=LffX5=IYAz!fID}ENRi~go zDFfr*a7y&LYMx>QRgWr0K$0)U%qY3ieFTg-H=8;tTGx+y0}~AHA+ z5%;mMn8U+4`6Lm9mt8|wx#M%?Dnb2t^4&Fuzwg)a`>OEwFZP5YM^cmMO%A-VfM>#L zsmo>nH@E*-uutT@dY$q)x?k2l9XqD~hS912Vu7w{Jb>L2HEZXAbhv|!WZmMsp)L7W zg&$x%iVYf}KdTr)mf3$X}vy92AJC}aQGlU>e za@HU|j|9Uri70A{tr9gF#T|v{LTnHNb8NQO%tO>w6$4pC>iSvdYZ$M%qY!?YsSX3% zcn78P1{UAP3`#4G8PxYEAvOONx@5|;R8ChfGF~7W*Iyit0aKT8#`9zDazDtX?3d4Q;HpvTf@Zl+afQP`d zfQ1~|W~=kr(i878A6E&a>!>pDaf8+C7DyN&E~{IcVy!}>J4+u(!q2VeV*~_BL*`VIWI!t|Lu+$I>dB168p;~$P9fJ!E_g?)(r{(Q*Re6{; z?G*9xb+%?_{=!DmCjNhk|6dE-oW{Nxpktpz>2kO|6(!S-T(b{z&o(!>h{-NlC!U5gL z_nb*vezy7W~>IVzLCEzh9^j5Yj&uNlb~D_`bV)+0~KgbrMYzd$Va~ zZ@+y0_Z$21Iyys1`3LSDy-xaV`V$^<@{&6R2xGfLip7e`uOs0pm5y0ir{(xlTU-Q1 z-u=pDNIqNzu{G(QG&Y{|QY?J4>eEds2E5F#${pgDTbeEqV8ore;i@=RD`upWl(3=Y#1@{}9`*P=*`tOX+)i;22Q@um|`p+84b+b_R2jlD8T<2hB4?~2I43N&uqtk@Y%*55!vO7drw*uBKsku!3= zJF-nG_{c3%!MTwX{WjJtL!$x&G$&KV&f>mR#SNRgT(bPZ2OfB!ZaE9^l(Vo|aqh&H zc&DW@#l9R!kP&KG^0VUPr^Pt&9Bkr5eLz)DNDtVIanrYIN#8`XTfHQC*@{AU=+1cc zPAGBD+_}^_^MumG(xO#Aa44vUc4vA&!kviHX*UJ5h%J-}q%Xr(T$!Wt!VqpJ{7a8mg zy$+{PF;dNmaTzmL$gC)9ijNOE!!xtYO{}1+V7=IGe@oRLozW%L>eb(3hos=4{;s_N zH%&y-31BC1-*f!fKKe|t2QUnmd!Y9JX;!6 zYzZSGiE-tU#CU%=pQaC|S~iLC<@rrskF*PInqIqvCMQS&LR2q9RJuv?g?N=l-I6+? zRt#-4i9Hv8u{HHD|HvGguoX_be9Kf%E)Mit7R%HbMgDY%y5uw5@ z`+RH^m()Otac5cZpD!P#!Ywt8e>zR_;c$qNZDjqJpwwNGUW{^ee5liu=e|rfaXp0H zRAw&;lHBtZxIel^C|WVOTHbdCH)<82b<_P?Y#b?RDz|mZi|MAoDd)a>?Gx?g-@hg4 z>TllofrdmacGFEMl4tW?Du}aVYci3UT=Nsa`Zs0=SeM4jEuh{=Ahf&R@&V;KAeLlb zGydl?cp!-+SVRzp$WKWWR)tA%FnNTEpG#gs?4%PsF?bkkGUCK07Al8i+%!HAa z9B!?9hX3~_rVgn2IlP{!{D6OCB$)uiA3&JXrf%wopBsV3Ix8urv~erx-EDD^Y7mDyC|yYc7~fSG@8&lI0uj+{Ym ztdrh>&v8Elm^a0UG||`R^gxhpe|Mr*L+;Tma;w(ir(t=}b}`+ii3eNWbD2w}DfHIUUh5mE@6nO2_|AjynA{OcD*<$pN^m7to9LQ~C-G6wGbHPn z-;bYxc&>Yvhk(FhjtDICCPc6q0iZ%XJ`fQE{Ew7?|3`@b2Wg#RU7eu&QcE&t*?D8q zmdAS`#B)ynRvJY)T*H-Q>;PR;TTc)*@qHB#1pv=;w!ldY(CMdK=KRP7J9M8>RjVJ5 z1%q@uu)LVO=`bhcW8hz!dDPb*D2X|6ZEq=8n6E~9NCBso5q~6u13_yb1o^X}g`%b9 zk-}VWIeO>5W37y`hzwOEF)V5tA3xcr3UC}zI7RzEyfFd!J5{Sw>omPpt6_qxg`#p6 z#;;?#06Q1bv8rJCZ!mK{JkTE~ry!|ZQ-1LD0R~`Z(@sRY^HCaU zzx4j`Q5DS6&Qy9z~JcA7MQoD@d$br3j$4~Hv<87*_lPD(VKm= zu7Ntr*s;A7B6GR%uWD7iyezgF`(&8#vee8!0>B6yZsVrUZy4dRVj!j7<(|Mkc$LtG zFIpe=7fy-{OstOYiZ9{MzH5qvr0o6n71}kQ1OB99e;>IssietnCC@w_LS}%^;fA?{ zPvmv#U^B3)3ZK7<+4?*1w4!*WoVkTOc*HL%_;*X6Hq>xPZeQuxRjc|mXu=Ev@O3{1 zNh>ss0Bppl=J$I|wG4+EE!lq_7vZISgCdZpSXfZ$wX^*o#a ztJJ(WdNvZC_5nRDg~Q0{P>u60@EsEA<7;tV&&Hg8s0eDi zcHa)!nLP#CX{eK{Lk8#(-|ZN85XJR%OyGc^2Pa@N-XzfPPeW^H*gnYRvrh9V^fwj zN3XZctjUqQ2u)7m)Q%-5v-HT9xufNQTwpN~4ZZB6=SN!x8{(%Ja*cJ=A#)O>yVL{@Yyr?>wZ zefp@!cvzZx`bqol#g%3q_vPV%17+v(3!g9=|me^yL+2lVIOG`(&8`Fdo8B!5_c z{`}ei`hQ1%o<}R#O#d(G&*uCu3l{W0Nc4X=HW&tX8Op0RNk(h`iC`KSD~%s5tqUzF z(Tej(UT{q}>~+UAW-jVxQ_f#=Q?=$@oOo2=MDguFk!UL}C2s0um6jeP4Tm+e%ZCQD z=LId4n-&t!2E80*TRcsAAIjOi@U$`D*XU`Md6G^@>^45attu_6S`)214Y6!|YFT{@ zXiPlGs?Nk|=p4&U4k}=nvPLk(?@Y(2Xzk|z#oD{TM^R+$!$}AbFwj9GqM)MUg%y=3 zDiPKVEE5n7f)HdCyvw5N-5J13V8)(-v~44Z__C|3uB*Gax?TZ61OmxUz(wRHprS^M z*yBVEh!C<${?Bu&yQgOey6^XX{(h3_x|}+7>eQ)oPMxX>)fa~fx#QE1N!b6OwYh5O zfYkm7qPn<0qVz$#t>mBX%kPJonackX(mt}Py)U1)#CZ9TN2Bf6A)_MIUtGk|z)`t8 zYpyE8p8orv3>DxD!-Aibk4X79edSe~EdOLH^U11HOBj{-GP{72nsBdG&wt>0{(I(#>w?;c!%v*Vdf%QS+D9_nRA$u_RK|qUu$eI zwsvR={S(_CR1Y{g0FnkXI)4+yBUd-IXF+#>(&J2hA+RQ5IFCIQj|}! zU=K2?8L`s95U?{S9ccU*F}#2Om5uF&tP> z{{jO0KP5Uq0GRCmEO~^Q2mc)&5m3UR*5UCO_cM5`1_LQc;TvzUub+Yz6RBQ*p$xeY zEClVk1`4(4jXzJJ8v83W>W$-J2(qj!(UkF^0zP1NoPr;=6E0{kKzb1AAqgSr2{xCT zcI5Hl>tFw=CA+b>aq>yVo@8gIJ$-d{@#>%!zNk-VZ#?I0`3&tQe`Ct93F^8tMP}Tl zPF=c=Pw)O}^sg6)0nRPxA`Jpbcao`le%Rkr4%=V#exUsn)^v>j`8iqPihM@~p`yB^ zNZnZ^R~7B2JSS#$BcupO=*kfwHgUFnGqzwNt7ZZWNJ-f`rvZZ!#|{JB1@iV`yre@` zyriQ%W;imJa#lQD9zUWIiu2`m%oha&RWiOiI^XsWtJvN#zV>p#;*JXKHkt04t}W>{ zoC0Wder-t)M2ckL?NMW7VZ5Yg7O_!+BXu4Q@5_4r8hbLdM)<$_L8`(hR$2fLs5x~n z_U3MYtq@x~wF{Ox_&)5tuY!+xlR~|=__F>j;R8K`mxm8@3=S}d?X~X99x%0ON;`e( zk6F{YsR|S*_Bj+{QVFHvxp^JgfcFAu4?Qjs?qCdi5yAWXpVhS`j2y`_rlMZ|tmGEA z8=#-FzPy7a9PxkW`PKvI7_X?mF1Q5<+ zNz^XIW>2(l4(*}W7P`Q+zk@-@$Kc^M1nk>m4s}Yy-@QQToYa+0(?9iDf%TYP$@i2A zI3K?W^7sEngRX^^T%TI6H)5tms@niVwZ0QOQpX%wXkM}R%#l6xszL}GGP0d~F>}3_ z^-mzI!kt5OHe$aIv=IpE#QNXFyBs>w^AV=(r@2Sxf&I`R)PFQ7f6^)A={8#oJ^g)NVQ$H`=3vb#{i72699<(Xh%lO=Qa58Sptqg27agoHx zz1HyT0mGW$UzpNf*l!vlUEuFp$DyRY^(mTDCAGz6n=A7X3{a4IKQA^Dz{3}J#IS^( zK?Asb=E?B1>~li%h++;k-r=e1obSV%{^d<>}`CdagaG z-Qq6bj)d!%#wNPU!Xv@L1zF7xYj@9|8UN?Od?zE0E6NE-y-t2 z6U@a?<1n!1_cKI^j?!I-I|JR$xa_$X*_Qqjf`vhRWHRoX0m^9suPZTZc;HKgY2z-+ zQFx7&0ibAxx(5zffhNZZO?=m}#}H})2c_@f!q@_&5V;&S0_4UDa-k#Bri7w<1+-H? zOBv-0$xpBlI7shdHvxRa-UuvCHt^AD>`j1tB%FYPQM_H3Hd4wb3t)JV&EZy=4-Wuh z8XDf^TGc={H9NIO2T-L+U2irR#PL7dr$wL5sK65@44a08MBnW$tWb|MckUPapR`A?>cmCS*zqz|BRvgq+MF$mB7KIH__S5|f{^ta?T4LW(}` zi~H#Ad$HuFM=*D={-5pRr9l~L&d!IdEzS1DwkJy+Xy1(1Ce-OKb8d9&-2C%9JdA{%)~l0e6K5M za2JgI22hwxa9w|fl-pYg=r!{C&Z zV46O|NBYa3g;3&-uq(kXb_*J1HF`x2t{N^uu1`oF&l(JW@`TdApHV~dr`0kftf=mw zUFk`>1x}GEs)!@K7g<;hsV zqOx~RmRZ^Z&xv7ArXRNi%lA`wah`abK>p`~I<_!_3z{&$Qv#+HeY~6Ukg&a7;G;-& zH?+5}w67z-CV?`C$}eHNKLd1lV&7koUvmU#^%*JoB^sl{y2YOOQRi_-+t*9^xn6m8 z5nLns<}g-GmtRvco*DA%M1e3$AoPLIg34(Q?FkJ~^HfY_mT)c*H2J*eG#SlL_6_X| zi3aaaYZ9$H3i%~kLGotNC)4GbH!A7!?2f;3J|0G%75b+UA^|X-7pwAV@~m%4o@vpu zF*NREDRn0c_GlhG8X3Ns^}|z`C)r4&9Gg!$b`n2aIrapyNr9WO$CO(8-%{hDH%v;| zYjJQ`q`K)eSBjaXq-vKm4Ttm~U0u1hMtsm(^bw(GN>y~^$XaA8RS_pZ4yP>^A|B#N z5HCYpgmCjyO}X~+o+Fk0QjhCYy2khfQi!7nG|;4%gX4K53n&q6UFIE+Vy(zL8LT;2 z4ANA>=&qD9rbRcSMgIt`MW%0rMx%F$Mg9t}`6?J?3-yYHkblEuT)iV~$Fmkay)F~@ zB&Jg%S88}#V)9R@!G~#RE{PiVN2IXJla@OYbD>{it|1>zMiHLp!zld0DSZ)2BX}d> zv5V-c_#&zzam7a``Vr#Gq5pxGvHtaP7N*Fe+~wUR3C*pqHnqJ_XyM?F@CoQRUVt@y0{bVkLCrDCJ6;v>F_ z1#ZP9_RSd;+e*c@MBeG>XkW!`$OXsY?iss}Q<0uFGT~D<5!J4~ipTjXKCLR+`(A8m ziPXG|Ix5~(j*EYeM2fd(-v%g2dEZHy<)tilQXceDUUE`y^-})mq>S@YW;!XQNO2uO zDgB)O9PszcP(>oupPuAMMjX3qvZmx(y6if%_pdW+ZjkQVRrCn>olef~!!hKtkCvhr zh>!tI^3XiCN^v8cr=R~u8oL{fVgC!UojqaRR0ck?bYAvbTdGFBor+a(B8#1{;@Z*z zkPUC5=hv2s+s-I0v`Tw$s|;Q%NJO;6_WwGM(yYKJ?P--VBt^xMB3BgOnB;b|rk&xA z@4b@JgAlCJK7?>RQnbb8pW)09L!4r@& z>eR{27xU>O*%jhxaC;q2U$LdYcKd5-XuB6``jLDK&hO)A@(o-SP!E`DS|{rdncuW; zTAt=$72(EgXQqboaKhixWpX*LyX?C$OzcjelGr`;j5~K-Hvop_6HHaBd_Id&I9?-V zIMIA%mZA&+oCJMY_|np4Mxl=VXD6>M@+xE4F+{Ir)({}zS2+1!hM5l;=S~hMe}a?$ z!DE0O2&Y7i6`0R9Es(S}hDED|3mufl(=GiuTo~cQ`Btw8`2xXIvH4iIt-xpK6dmuD z-qR<8E<cHA*-MC`DDZ^HKhOoGB=GAZ`I_&PAa)Qftmq|$dpMHR~x3_Iq3u*@FMrkv$PKM5U&6i_CVGkj;W)W0xgz5QNGUyla` zSq?4IVJ2+Qj^+N0ayTFTDH1U*3oQLQ-?%J%TrJ|4UCD0xFDu}Ys}u_)7V#|@| z*GaxZCLd35JW4AcL$e?ID=f&Uuum#@UZq*AzyLq5gZxd8njHbG5EB~D=7pnVGibQH|*dgKZTC;mDDf}+UFoA zxgJL-Ajx7uFo%6SQcU>?sr8Xr9#!cC^Vlpmi*rMjL2`1oo19#d{L;fP!LFyi7ybmcWMS9R?22F54Q;ss^AkSC>c)@4Z zanu*-y-T}Cq4kxmP`06XTCl)b%$ze3TR}^BI1c)(U_{#EU{ zg?sTu1jtcK$+8CHVhAeqS%$zu%popCt_^@iFgpWsw%Aynhq~&*8NBJEE{O5;hR547 z*P6$FO?fFC?l9v25m=};R)A!}GUvXAU#W+{YvuYKX(iUfDN`$NBr(mx2?2p+4esf_ zEW@tW$}{7tM4qAE6^WgJ4EA^_IZ$4fsg3nP8ubbE&pCLf3KMQ$XK?k`%VGv&3QcFjE5&@CfL5b_`-!C z-;{o`C2l1E-%HLCj^wL#j>qAxxxfH&-`xt-Vs{Z@d+<59SdlQDGz-v{8aeb-5yVs- z9JzOZV5!9zcI10HBwsr25-pca;t(q?pcjH;*)-IUD&`TeidOuWc;8Jr2l65{WHsu! z*bttLe&Ln@j--W)v2iFtbyPg~*I_hJf#SmH=z2&?nxtMwqjX<-!ucuyb|s=A_YvvK zX)eOfR4ajZCCegkxvT`1^qP&LC1N=MSSI*{g$I>UvVNh=H+p@B?yUs1B~>9f^e`yg zCiT3#uFhq>aY%#Am03XMpWsa1m+`_IPYtV1e4TBK{4u#01r_4~&6+WodNRS(yut)? z=&vR>yHbL#P(WP^V32bTJ0$0LyJmNqDA0&3)%EM}nS>FYd?%UYLLl6Bsgy~6l-!60V;#;rE))p5;H{qR&c=murtQLA7Zf#t} zWR1kjBqvPnL?vznimH7v#L&q;oHgXgHo{Y*aL{JHVO61~0Sy=QsRMm1{ai^AfZvQoG&U%Oc#+Ip+S4YQ$twVNKD*3c-MomeOmOM zb{O?(Juu|QfL&n){@R?!0+oY<@xh^NQ%b8=;w8bpAU`;$HrkdC0D>Q~v=uTe#Lu1= zC0gV~3!TI5Nb)Qr*Md(`)SR~+IedippI|*yfQTfqt#ZBt=7>m{oxjFaVtn;5v_M28 zCi_bkAgi@N;A^p4fh`#uBqmG$NeYNY?GzY=j+rJ$UkwIP5;|Ce+)?Br!J#nKI6(e7 zb-x5~-^+e!BW-^sY(>7cEaBn7xwwQ!!RCSi{q*s+B)D(QU^%<=Va!a4`oYy<1D1=B zh!%qu+Tsh1-QffITGS*(XWb617BV9^E_`6T%=_Tk;RBttn7BLj5+8Gr?2c}`gmUh0 zPE?WJ&sWGQQ>HJb#9S7N%(nC*e}2j|z8Cq4YuGgvoupsXdO6C^#09=`7y8QikUE9s zI{V7~+E>np*MC5o1Rb$%yTA39OX0VfsvBlt`GG1viGQ7NO|DnnfVx@0t1P7!;*%X+Oxotf8U>y~$v_i;_|jk%(^`nu zaqE|wSq#5W4(#H0wOAtryfS&+J`^y;Yy!=B<_%i_8OKo?!D6)N9ePACXA`n747rbG zkJ}QwhDPpCbk_%(UCM%o;wEzzSJF9l*lfhu;nF5fRxU5-=|Q566mLF7N7GF6u9oW$ zoZbe0%E&WB+$cE%QSs>MDC@gs?sFaZ9mO=@2Z0r9Le~->;~$KNA|)n(M>*_PfOz&x zm1>md3F)Ae@^7SuOSbYwHeu;4j;Sfw2YFbAt>Kt-CulSN2e9!LTJ%x;<*mkOm%VBV z17tg{H$6c?q_m9eretv9T{4A|At@@X!T2Yx0&BX?0C{waG*Z}b4Sk-(zZR5G*6N~% zz%mCNfsfgGDnK~1`%laQ7Pq{B(R~w`;X3Q!RsQX9?a{qrAoG|sTe1I+Dv3Izft8Hd z%jl#%21%y;R1FRxR5036gz6chTT#dRO1=P_ce6Wq!AlQ6aCeXj>O>-&KZDI*#WX~s z)N(!E8bNDKi2@*RzdH?>P!;4_qbpT#A$TaU2jB1us$0OGS2aFmT0HRu{$$ii)Ubcz zMy`Zespc+j-7kv#au&1dFJ3KxfcqEcY z^XO2NUVg5W_q5mr^jp<={Fxr(ByUSmYTE7S`01(J&o8JkLi|jOpR| zD_ozOD?e}>k9DPc0UN~hJ=p{9YDz`#S=W&eY#vaFDZ9LO))M_Q~Li^))Bh!U#J`Xe-r*=Cts`U9n!5NC}8bZ3KugI>G{+ZT}bcc5r& z-?UAtHMMp)@u|H`b-x=0vD^ws9b*Q#hGiu|;nxS>vVIV`V5PfiNE~ZcB7{Vxx0gXD zn}jb?oAT-77r+}1QHTs2(OkYV>B20RE_qJtLYD_xr^{@rS&P`vfJM~0LlY7<7-V*_ zqy;bc_tX%oyMu6ox)e`cfhU3-9Tt7g9g4KBYO%G@TX5+cCKv9|3#_p}#8GfnnLiC`%P4gs(fO5KB-{AGp5RTGmt~MCkFDS6!!E&^` zn|=p+5H{F!JJtm32B?l|v18F)r+Ys~#no6&R565GR&WTo`g8QO*lKoZIq9Zoh-;a< ztN94Yi>B&gu zeg}%jEiA!x7xQ(|R5Z+s??AWllLf4F6_l{Yzb7o>&d`67Dq<#ilT?dVk{)suD|Gp- zSYlHXReSUgYzT|Evot*NAR51tX$wySPPhaVFPh*|OPPS@%t&wi{q<>$_hsYaWOrOD z(a!#sFUe?mx2%Akv-(K3{0Y+3yx>bJ^Vu%O`tNGn@RRYFAKf>kwfPR@siUbWH%|0V z0O9p^64=P!+X`v3-tFzv51`FkkmkuJ>F*M^zrUCMYKyB#Z@Uh6IB;Lck%oh$X>gWK$93c4#E>S4)NsXjO4S?kK~*ba4Ocx zNb37_%q?~Auh)JrB&7=6j@4E|WitSu$?mz7a6%rE0G@gN!g;Ul5pXx+AKK8LorQ z;48A<0zR!cibQiF${5F+05@?1#G)f72Et8r9i-U6j#`w`Y#up;6%Flq1M> z#BTu*Y2p8WcTiuBh2w~CKr=t<3YxbUB`k4DxYFxc)TcjClv%DK5U{);v@*7mWyMz{ zg6l1aR^|UvL_&wnQTh7LMf$sW2Kk&<&AeNjLf3+i zlv9XnBA!eBwJ8NEM+M`9;1m)nD>(7Na0-dnBi$)P8=cPN5kXq?A)= zKKg|UDW?$a2Kt2@9sG==(Oc*eDGTcf2-kF{(7(xmDW_0O3Wz4F4E)#tDvtjvr;z6y zh`mpAg+C5;|Jmn5(=@LSS=iNQ zyPF~sh_a*etN|*Ab^JVls*db%j+BX-ot3x&8NBcOXZ#;Wk}uQzA3!qQ|1pV6mFNF> z4s+^l(8TqB5O0Mp*XV)NB2(Awe~#&sID=`_6UEnxPEig}cXm6sOcs;*yx|#-5@0vV z^>lDa!TnEIi~HXNtTOx;#%d)n6326`Z%TG`!RI$uTm23;$NTNt0z$tzn61@XnSfEDo`ErdgB;r-%Mr|cBXZw7fw56IKA>f z&6E=KVVV*|kCqJ*`2nF5{T~0-Ec&om%tMoO8#nFJo3rs`v z1=La;XMYW9lj=)xqp4D&wln3RC2JAa|6y1jlN&u($5LiDB{w4}K0CP-VlG+hvP`h_ z@a)n_kd%9%FwN~Z04Blbls&J@bplwf!WQQVxy^C7EcM(USEqDFiAxrso}M^?K(mqN zk~nxldifXGVCqoRSu8&fX^HbWF0RIwd_MJat-aaGZT^g^i7p3F=rp!0bYj!uP zB@n8vJWVNLC9YD6q;rYtzYf(OQ}Ow5P1wJM5WxK>2ePq{_RI<$&zmi%Re>kIrDEir zQIdH*HgCY#{NNe#hJ+^Npnb(}N4XJly+1DrbC0KDKEoLGPrdh!J=nsVG`;gMj{j&S zrXJpZZpw!K_#>nR@KRUE*;fw+6EwA-G8w+31+MQ1)x}$sr(Uym!owWx_5jK0*hHN; zsuF47*`L8ao;9{Q-AQzm75KyzQ-yb6fvaBT!S<|^kG`OyEg8kN(cuWohp=G+?OEFxHS zULftfsg;j(cYT4sgrDX-dNbVtyBVTSRe^H>{u2MG)7Pmz$P;L8PcMw4e#*B|IShbQ z0rCkrcOtQA$JbvR73fR6{fMQ;jao#Jqogb1Y8UB>4GOA2m&;ZHmKpe2BreeM(4;>M z(k~sAb>MgKRPmx7=#3UbWMoDG^It#??af7du4gfX0K(xu5^n>$x*YPrYCuqqA1ChO zZT5dT;VS~expIPMk7JbRUs?1A*T2FcpnqjE5aX0N^A^m?IA^L__vtU`k1}8^`<$Dl zj0^&uCFi^&T;ZZ}9p`O~g*|4~qEHM|?t^Tg=64@l!*&qC=O_->0;|Murg`&={)0sr zFY=?^0`tUSGj5XD&n!=Czm9S<#=^e#8Mo$5n7c7h{`NmbCU=*d_CLE7?Z3;kRQvFo zNHjYak~^=G_Qh}V#fr4HZ<4mhrMErZ-}aYSO8sr$AZ>fn@J6;hf@vPzad{*sn0icw z^j}#*zp@tniV_AlpNp>%C$e4N^2$$vpCdUoV^J{06Y3+zx4_aP#*hqzHX_rva&ICd zEJvE>SA`aWLAbSCh~PSLx~J1&Jey7PS>5k%vns=hLm!1N!15Zlc?r@yezgK03K7I- z=XeAhIk^!Ob9?(Gbf-i7bXoqEFUV;53n1$A)73+9OuWxD<)^a(A4$8R`Idf(Z|aTr zHF_5tRlAywuPo*t@XWqWk^%R8W%sbfF-TMN6`ALHR2;w11?YgMnUuc`=5iHT3K>&^ z+^EP-7AkssBHal22Bx`BPQ`zZ)xZ_&cDDlMGn$E`hoYzunxm-vLoMm^P=QkDCKhqE ziUil_msheDp`aYW9ucW>W^fvi)>iYn2OwLMu_Xj~8_6%O=pDSlc z2R$w6LSUCT7HJAudm@lU=xO3uQpLqK8BaF2z|M3-s<`7+fmVEK|JSIUxCLp+*D>vr zOH#W>o02bi(By)`VzwK(H31NcOz=+s5axAZSR5$JE zDx+3zfN=N!u%g2M_Z`O%m+|ByzLt%zA0QiEf!9JqDJv+AD{uf{1O2UnuBU=|}mXe{*vR`Wy%V#|h(T zAYHJW0a{Uuy@+`@28$@(@&(1Ed7&YRn*kR7YIU81S-yZQc{Ze%I>{f;?brvu@ap9N z2iW~$>b*?tXx_A0&eqiZ$Dl+IlweliWyw8%8Rk$Sj=Z6Jwb^ZOho{r2hNal`t9VU| z{sGOarmR8P0|tZR7djVds+T) U2a^TqXRj1@%+IAj&U=`xx$0P2MbnNmnJYwlP{ zd|Bvd-bR|68R&Dn-W3_VvKs7`u-5I;bIB$w%U^mbZz(uTW_ zWzRF`2rNOwyX<-FxW#jG`tXh%cY_weQ0!J z3-iiU1H(ry(ON0c;@=S%4F(DbuVVA>DpHW6JMYF6Ulj{#sk7-?bT~NEQxobr#%sCo zsF0Pjkm(Cwed&72;#7s;J^sR3QrO$Np2orrSOq+J2AatA`S@Eqn8d(a6eN3A0+y|} z1>>xTI@TK%JO9IVz#ko~(Q&4r!IRQSGx?b-^LzPa{#LX}v)NJa_n~@XHPR^T?{C3N zhsh5;Ao4bqyPppE;GAdM0mi`jcU(8z%6n(DJx4-fC-D#gwIf}B;fmS>Z4u|n*V(+HBRh0zYxi>eiw*hhVsmWnfU$X*cJwqNFd~<4bKz!Ue|d17=fA4#2qXG+ zrRO^GcRHpm-akkjYCm_!31ruPUIX@(*o&XFpO=z1f*1v?5kGG~zi@c_c?){-3-kHid!n{*^{F_nFG@UKCZ^a7hH!Z3mZ(9+@T;P){|?nvvH zB=cUqrW&ggK*7o!NVc#?C-<3efTSxvU!`yrhnY=c} z;jtUp_AI7}K4_&GzhqbRe`V1x*uMxUaQWdVL1+>%Pp#h3v;7FcS(i2#T?8R7Tyql{ z;U_?G^)`CpL4;dNg$SPgn@)$Pn#qPd80p4rybTZ@5!Ph1`DbMM?O(QOAkAAJf6o2| z#oXSW%4Rd;R7(6UGdju7dZ$RsUYtt(@6fWwv|q4)eT}|$fPIyyUdR5m{Pg`-Mqlp| z`ljq(wm2SXioVXCP4HaI_rsXEidfzvUPJ&SR;CU6UTP`Fj*(*|R*wUbsx z{2X?m+zy`WACxi~6wl7R92g{u*+bW;P4M9muqIH%-=$Z$AmbgKk`(xm1+Otg>|uiH*zg;{nN_+eGN&<)D>BbS(%HWL1WtD zK|S;}*_DHOpt3cl179PV#fw*r1Ih$0t8?T!;uceO@YZv{CXPYZ5xUsV*}?ztmA#mD zaQjR%_^+NB9KOECL7I58IQd|aHmPf?LAU?X4*oS86FYb`Hh5e+_)7dv*}=WfI@AvS z0K+5mD#H%e>kfi8v=_=?2Nx^Bwc&> z(L?Ov=foaXk9D|ml`ATBVg??OSnl~nv9>ep;ZMeT7Z;am#~axK9S6I1l@i9$1(S3$eHy1|%-Jf|FH@ zNAM31WAcqWE<;NorQMo+-b6#?3%Nj{0CR_fM(k3ps7~(y5ghgDu^=b(2vY3_UsK<;DT_CQBBaC(tk#-sdSFb7y#EA@^gD!BfJ?mP^q-tpKHKy!$n@E!+Gt2Hi)o%d zb*M4zknal!NcR~TSD+5@!wv{+&y;=h3cxO6n&>NFtVAJ(RGFt^k;y)u8UhcwvOBp{ zT@IkirLW3f3oV!5=~L#nh(dO2 zoX(*JIUhq%f&%GCn9I1ZcW7?yA54A^SlARBrY4#=Fz#A~O zAk!ZG_Hq;(A#X*G$WJS;$Me9Ao=N({e=sXvN!=&&9VP(eA8<(R=PH+=*$d-_{oHBT z&$UzbDC3Hk_a_4s_Oja#$6vLaVCLo7?f-&0uoE0L-+`(wWu z35lTOv}<_M`Q*sYyIZwK84rI3@p9tf{|%p;Igcq~k3v{E@%gTiRk6U?&vn+rTSuj) z``?Y*#qDUs|wK0 z0_^^TeT*9bzr@}yTcbJu`JT<9YEu?~rbVqDz8T_zH1P09d>jTJkT@XbXeP;2|Kr;c##QI_C- zYl!S_a$@p5v3R5EOl_<+KCMvHhy-96sunZ_Mk71pV`D!@}&5 zGtIqzjS`X!1ZhxWq7<0(BpacK_Lg*1KcEtvX1(=n}!mvoG(t3>ck{ zG^Gb&pShxv`a?%Z5zxf7FPEhgV%;J3M=IR?Rj1J(K^3>rxThM9Ju*9xGzn} z!F_!u}hbsaS4Oh+1)w~G?51?P=I~lN`}v;X)l)HQkU)M zN!r%w-^17UJt!B6MdzR`pRuUs%YSJvb|OMzFP?&v{jR-uI)10@#RDfCYA@29Kdimj z*R>a&ebZ|(&5Kf;kKt=9-5-w?7eKmcfcyvK+w+HnT~!T+t0KWkfmJsN^h%% zIOUbg@)*hS>VDc*iamv5%4mfxTfT5MMx+&kRfvB#io#$G_JXmx{SaeSii|*!t7~DOJA3NP5=dXJ+t4=j{;un+_8be+R@o_$z5r7 z{tZ|W$N|dEfBbJ^B=vRe{2?!>@06X-w;x);_z#rNR1RrDF2j6K3q|1&wNQL9(Pu#> zenP%0snd+c16UD!`*taobofwLrL<6!HBAXCWy7g3DE5B|hF9 z)nblwAso27jYRq~I;x>KvJ{4AsjC;| zE?oyqF~KM;h+r660Wi9NS&$AUEMPuU*dVY*?g4ec>=_I&%5)_duAl%jP{432($^^- zouaNUor1?uZVYw6yhJdEbm|A(=Y@qN9n5P2MsDE5vqR3UyAGI}2+RN#ZJ2v!oi(I}+8XPHemmvPACTX#6$Sh=a)* z_q>G`oegGq8*o*aD1#jfWMS~G^85)^5VNFWmBTS^h)X9qz>(iQ9mf_mzAy^|LAgk8%p|)#-pw7DT+O_bwvf z&PbC}Y##O**M#(wN}es(mX&0G+{H$@Q}1cvjUnq3FJU@(9V<(3zpsGuZYX&hteoh9 zH0}&?^vO&Asz+jf0CD&-PKLT}1nB&6s+(`%r9oLg<$ml(;84c-=eW;VYv~PC0NOE< z&)q-{9c}4bRI2}KY$;)|$#%d|6$m|;BuY3iKf|}ks@Ih%Ecu+A^?ZI0CR_;&AwsQImr z`?Toc_;#yspm)*6+pM|TSF?4#jY=(#Z=4r0SCtR1?!@cWL-6v=r_pv7LG8Cd4TshBh9DJZXsozo z9;&Mt{q~k~e`=9s&{(wuq{0n%p?3QMFNQ;%^_rkOUakC6xUHHA22|J+C#d&4@%}Zm zBfNi&=S-}?v#rAq0zTEODh1B-&k6me;^ie^X5S)ko&+4{K_=koA_-TUeGY&WZNhsy zovFdnm^G0?`g7V(!o5gXOkvVXP5^pk>O+(G~<(&X8brIp|STIU_f0-!FftyeH> zLEd+**!KYA=DMaa@f#2RM6>g%A~nRri*Er6=zSL2#~*v~IWWngMP{*0+(~Wei+~H+ zjUaG7wi$#}ujr)rkNkPP zl%K20t89)1h$(M2;ZGKD0C`&M9Wox%>l7%wk5W`c2qy}JQBI4v+jw{$9{ua)j-)wQ z+-)uBfRE>Ce>wd28PpEEe<=0)n4tpRkAqE0s)x=!^ttlty4`^G;Y2s4<{Ee989a!M z!QL_$adSXeJ(?$O74l9NmP@l8_-it-zX_mLJ`G2({UOLI$@l8tWji@`4H9)+v$hMK z@uDhWGx1j=KOZ&ipx3VR7V|H(9i=e9V|_J!1ePa%VlC7DoZRK(heP>kw7n5Z3*P@- z#__}Z9A|Olav>B^4fKNill(6rk(4~aJ0r*3Qe{K9vfBqhWoM*uzMKyyCE&_(_EUu3 zMjZEF3yfz3MjxZR&RRAGGn|w166tCk=1N?jiZlsLvVVKFGj`!+Dls0q0K_4W*l;=E z4*vSDfIzaF!#_?Im0tb!`s`qVQ!n_X3l&XWL#iWgt<1bQv^HN1GL$oA6y&{tTrsNm8@NPIfyirnKSLN;Bohd8_UM45V@&y>3 zDQdtA0^5_qEpUann?+yQzNoFmJxGZ3lzqwU>T`y$n+ zIORK_ydmWsE?3?6+QWTbA}^clrBW~XmaNxc`aV|3M*s785ff-C!5k(=3r{s>*$;t@ zWu3v4*u^1C9T!Qbuk*h6cmY030fz`ua>srEBcnHEJy;qnG}_VM>s{U;P#o&DMFVb>O6wQ9$_xqPm*89pPv9iphdy9I{h9Vh2`C+)*#7U*+E?=a94T?Vl)(9; zyx68tCr9QeJqAk@Ig=B{?hg_gtA!V1o9^3gPer(y-oFiSaH^z_2jm}k5&d_dLvaKo zP4T#$1ZVsBROH29r2OVZ#25T5p=j(ndBPc>UJ#_34pMsrl*d(OdFhTLY8vD`H zq@$s?^_m{i{nWaG6la-n0~S1fhx)Yvyc?;`0XmU}F!nRRjzHujUj0PP2_p+0gS5@E z^D#K^bxwuuToSw|ysVM}J9wX6gOMiNUK_d=HTn9Bk}CECN?cXqHXC@6ark0B_Kany z(2mlNa49wY;aFHVI9il_GgS{T(D7)F{M@#;!_P%f%!uLDR81)+^qYRG_MreDH`Eil zCI8mOdNkp96;m-Rz@P6+**^kMTqoAqiJ@FZoVoKn8uIA}E1^JQ|MyK2WFTNz`c|R_ zOp*Y=J7akVkQT*LG4O3~z;8BhnLAiY?xb=3+)|JgcM9dSD7XywqK!NP+wa3S;Q53p zz4WRhJpQoq7i%jv;R+=yIDCU#EzL5MZJZ}wXez+Vw^M*|4*?q^^l;~$O0!+`O=qj* z0&ocA)k89J=)FXYBTudnvd3XQm~y8ZI#Sq6iw*`#_C4qrZi_406c2oyWepS5j-724 zKBldxLL96$W+d=wuQDdvd_rp{x;(IFP)mHszN>kNk|>4LeFM+XVpYh{77xv~F3%p= zJJczu&DK{TA0I&k7KHW;?5)L~LYeS=**&!wZzQ$`yl-7|EHkSHzRc;A|`fw$pzm~yFc05|+@quNsldajkiqkw;&HEKh+ z8T4cWr!r{V;^0+urq8_CxEn|P^02X`%aCR#E=HajUJ6*#8_TYsuPJ3BHDnK&XLetV zaH@22gYWky-}(k_uSHM6I3*&l;w5=m@sct49LLmn$$0!fAxrT$;pH;m(cCiH!3W|8VMUl)C!yPFk1S{3z10E7tS$4kdhdQ=9s*{5TU((VlM zomZNg?gQ(%zpOOB5)bPH*2%^(*mxOdBv>g>WA`N=mDS)4z%?+ZYw(VsD}u@IZ$KD9 zakv24+pN-YGYiC^HA~0EODBLS0vmupc4g^!wCDFzxbp@r0*Hks2w%>&JM$Ck4@iR4 z{QriGR8Rb9@wv0LFs__-Ku_oX&UKJrk?Mo5`iV7-mkZeoC>u)03H~z+R1dQCcrOa5 zmrqvYh}${rFV?!f&_Yra6!_vFzfIsj?ZVH;U=)c7+L^3?Ny@<|$YM-qeCNpu6sY%S zoq()12)zi@PwmShM`Tnz*o!ouS~wt35IVJJ6GDRYJ=sM_(uOqS(u7v%j6vV#wE%)s zK1xTiOIBrH+|yY(S0~?8@*Mr)`t=N!w@CHISGWQ`h@mLN1I(4>&zt4l;yH9s*w3>Q z0nTl;frEBVD_V>FyKUzdc7_mG^&LiVlll1Eg?X@on~PV4zBD%M-(Uouvh=ShM9UxH z_lIHyY@da- z3}Ca_b4=f?V>jtL-;JzZ++HOc<T>)g&l?J`UC}A*;}2}U{urzUzCLk6lUr8*`oo|2+TIK z^rjxcWA&ykc*cOpqG~sEN)fu`Yj}kT_;Odc36y8}Z;c zKb=vK!*w6_w&1qv2e!<_#(od{)j9$<0;Um1-?Z2fE()Yd>}v=R;d7wX8Zy6fkg3(8 z@5oRTthfn(!Kvj|U;!}@^9lNnM-vS85Fmn?dzTqlhmyDG-)74!4Bg|%DLyN)1T;m< zM#X%vTjCK?81Fy*4AAc|ecj1SuTC@Yu!keDXcHO;zLZ=!+fD7~rOsnhSAf>Zxr*)w z&`@n)K2ll|kZ~G5EHDv?~dT|P&1J)4EGjz_lyhMVV(t9>U0h39UN zeme5=S}ZA%>NzixIs^H5eMKHwEjkY)WR>r{WuG`#DmED9TassTo<$Ds1yW1+k9JvH zg+zuiWx+G;i}!1nAMAY)4-yPB%eN2<;yQM_wzsoQzW4&Of> z6BF+nU{VQfwOAMY6y#$EDLbK*G~J=axL4*7$@hK}z!bHt2tP4Di-5G)F{mrSGY%Js zK1KZxxGU;lK)!+$f==h?hwy(vIfzuB_cwA!FEH31u80Nru}^hhrU#w}wE}z8w3Zd} zb8xC->8HG6sy*!A*e^r3!u}Vc^urYeY6B-9j^hmfjQ!*>piEF1%|Mg<(uC8P80;;r zEkKunkSQ4Q{x|(A@**l*y+B%>#8#(`$qJrFM{@8YU=4wah+WKe1Xlns`(a;BnzMj3 z`#IQ@N`4AF?V-|MMCr?}RB5H#zXEF|x4Hc1$fuRiJz)PnPy6>WkPF5G1voXmw0BzL zrLbMlMs2CGT}olQK)tUNOQ~`mqvEl`v;_n^hf;evQ(z~{kv+Lmm}|K;ckvQ<)Umy@ z>^taw+K`Pj#~y@*OXcOVUIlhJBq?HySX)~>kG3}~2figf1TRISkW2&4jCO|Px)dn` z>8YwAgfsd)^Knc@H3sM|HgZaY{3N(6{{qn2D5AP(=z!GrR*=%M{#5)d32ztR+yR|% z!|~cJaKL5fL^uyu$*9NShy*7K*KHEYl-t?ElgDQRA7ae*s0{*ZjL9Hy4sD`H4Jj^~ zql$~Nx!7Vg`uhO!KjXdH(9Y3z4`@-5>Jfic3oHUUMGk?{D5hj>QfehE}*> zFlZq?Tg!cwwTXvz^L}v5H!No(u@*(DANmXXf@2y5m~OGP|II`TX?jgx`oi4y-P!gy zgqeW@N6NU*KUt6Wi^X}8adQy zQ`U1&+}r~l;t-Ubl6;C8ia*~!G1U{yANNPIpsyp(-Gw{PN3bHOSCr}tPXmg+{Q%mZ zCqf=z{ePAO8%S>k&IN;L&@S;&7)wW_GO+6~a!RS_+KTp^f7wTJ{6n|9Bpd~9G$^CI zdCF2xa{Mz0hc3K3n zuoZf$nx4OqP1Xiz^JO_L2lAbeokZg|7<-AV|AFX_RR8s9ju!WS(2BQqKLEDD ziq+ZD50F(s;ibE%UP*L-%#YD_k<`D@tBhwWuc`SUW$?>=n#jhGDZ z|GVYgcm>tWag-W@j>E6w|BxCR|1A6m#xpMtPlr-aQLn`|VJN^tb@*f7Q2-Viidd9- zYgrgRXSJT>+A}B@bxA=-#sM*F-WTxqM0RF@Rg95+aov6iLxx*$-UQTX6X()q7NFZL zcrbLeO3kT+Gb*>ToG-E2I_4IZ=M6^uGlx9xH^U*!vaWz&k zt^oMihzV?8N)puCTR_F+`_6b?59uGNp8J&I2mL`(2IWU~AuCKnG?SZhF;a9pn?lI) z5-$P1YEL)2)%_fZhb(E}Txp;n1@1fGV%?SPfTEIyR-3W9>IbtOh|?hN3uJS_nI`8G zmlS_dIB;a^>p+Oy6A0jsfEufs{$)nR^mq=;58ODI14nemeycwR%!n}N+{ys1~dSKp@Yu9^91qgJcU{515r8EP~u_8N^?@r`D)Lc*Lp`6lbb z;o!kb2zV`W7ta3%9_$CYU-=e2UER3Swh@p7S0G~qY~oYikR9)`?GV_=Ye>gcO^_5l z*?)DI2u)xuui(6cPAHAc{0!ahJo7X3InZdLQP0<|z^MMB8bA<5aSfOO?0I%`dk8=z z73wNl9ojzl;b-a}>YwI)8}>R(T=>7|D@{&D&zjPW%XS`AMEs@9pthjCIeReeUk3B1 z`ITM4@6ux_t<<7T%56MJ+V~UN5S=ZL=a3Y;n(c~fgI5?Ez{3{@hkrjCfxw}pH6oAU z_ht3=sSpI9Vp%;(9SLZvT;BJySr4=<&Be@uR?RT=`#Mu#D-~|Gm*b@zGC!_F034ME zea2q&F56o12>v8bQ)Dfw0!Ceff$wKii6b>|okNQ`qXA_gm`eyB0;&{u>E!a8M55d# zZAN|v`S;`}_*e}zSBKv8ka6pWs`OW+QOFLuC??LH+0H%5V7c)oE`Ih%4^%Ku;T5_o z10+KJh!+9~pJ?Q-O}I|j*hbn2#?}n>jY6y6Ui2az_kKLC8$3#n_whP`?wVNc9qhRN zrRZ=n#BkC8zH1x?bn$iK3GKgN16%dnLl-A@oPkml0O_y=DX4|cH)oL)*hw0Yj#wyX zW;+OaZun02wf`LCc5;bT+K1hVp*uhXYKhmwdziEc^Xba5E69VR?XSVdk?J1sD1-Zq z(00!JiXF<24UW5gdvI7OZB>1kzc`yU^Hpls`6vtkE)W@u}t*&e*p-fYjdKKO6i zdM)`FYlrfag+BN)JBI_l0-F@D?Ep3&`b=S6v{vEm%92p6dW$Kg&yij*LTUr#AKLx6 z{}k$mQMMPmHo$T$=G=(fmC8R^uac9;dGcCvRjPzxVS+Gx$cD5lg1c?6N3E?e4aoBD z{LjqC?uq2D6hc?EVM0g7f6=Uhsv!^3o#G4i<-|>WCjFvqvd@# zE-b>jf$m@x<8sz8A;Km1>S zy>geHvVQh=)?eVW59?E;`V8Vz@nd*eL6$YGAk>!(J)~D5W;$(Sin|j54Kf?41(tpc z_9XEu&;B%@E}3(9;kLd7Bp)m_`pb|LjBa-X84Q2KcnqY0z?N8+Q*(< zSb|Md$HMXG=kS}-FTvkkrRp$L6`eaDuReik7{}q$EXhB-#!ij%7xqj{VXO%sArbC4 zri1Bejk=@5C3Pn(QOE@Lz~0v$>epPDJS|3lax{BF7NK|ZA9*mU4vXL9PNdI*Sqi^t zIGD%jjDzLvf`7n;YVazBf@q}>09O{VDRVPePBOqh;L5R1u6>U`1Ci9BoyhHPF9W#Z zcu*`_;3rXI`?2He(B30^20iS#8^kHUJ-Iy7zexW(Jn!#d?nkP>wSc)AZA{%0oCdaL zQR_{Q%=GlN35maN@^(dKeD4-ee+4Lv?=68mSv*1FmEe9gz%Inw$>SZr zOp~|9myw2XvZA>66&xkd14I;}l*_Fa`vIi1mX8Oz@xWK9VTDq<3|g5rS7NW_El%!` z*FqwNm)!>jKyU!u$9P+lPopra57^iWyhDa4!p{iypjtF+QNFVzD+>+}M2`)HEd^m< zzmW}w&y@`&doeiId0ACK>Wct+9_ksaykadQyE#pOnFyZJ5eMFdrSk2!fDhx5wCFcL z1_G*59^te<+a>P*D&Xd0a2|W{^beQMc|D9471svD>;~UtP~x*T#^Y*$USjDrH)8Wa zqPZ+D!YlaGk1dv@dHfC>(Lah0dolVd2*$1j6vQ9`g2K^-!>F>1niMSdgQ$re40eIz z)RQBmlk(Y#nMj*$2I??kV#+vP>#w2bg44Tl#~Z?1#&_OowPl8Brw`#`h2eQpE% zfa;u2;rErPZ+jk1yj5>Ktj?pDks9>PoU;c1$~q?V;d+D*!2g3X5})3W!w=Gm`e9;D zKgP~$pjmi2Jp}C1Q*~Gus;ddj!a;C+x5rW!jAdCw;nq2YCQyr5kMm4ZK%jk z$A(9A&wP_T>%NRV0}^pe1^js*YL|;l-DkJgeKKJ?QNce770fSUv;7mi>xW}!-uy!U zo%Wx?nh>d8U-@(GUxW79CL4_5m+Cy*n|d1XK%+q8=h~g^^xq#pIodu+njVd&^@e_| zp67P^C=LP!u*NY zrugvoy`NRsAKt#tgcqp1p^c2;~e$N!Rt-ohdJ#?it3p^i_aAvK68EeY?^xh z{{|n$^;mA5_SJd6F4F#QrTtu&6p9~rU@0_({qd4C2;lH`YQ27YbJ-0AH2SQHy3w){ zM5+(q*b-GnT=cbO|ISrkx5L%aw`}67)qCSDYZ={Ol!ehB?WLEcBIb!nC7WjH_WoR%MDadeJiI&>HQ z8|LWS$4b3RQO}zKR>eACq1F=nPFy3TlzPOLufxhkrJgzt)eZY|EaF^~C})vQIXD9N z!nx;Dp7;u`2!fP;8EF{C^%sGj2tl>yVX2E$*T!V^wJLTfOxOr}QK@#LvF?7~EV$So zgKEweHd@Vxv;H<~`3}qzRtckurGG$7#TLo42U63(%82c1wVu1hoPOB@4(&zdkFE7W zt$VnW2GCs~3Z(QNC~g475$EX?^v(yU_hLAe3hcjA2dMrq>Z3UQn|cEz9z$zN3q)$z zAHenh$qCNP?oyh^H%!sOEWBRmr+4RrKl)d4$QjwL`bv$Py|_mfUb#9HAB=yK-9u0r zA*jHD%tK?P_y?2OzLKp^*uduT&-ivS*O3JZ zpId?bPFSQQ+h(FqXia1C3t=d z4LFfQdoeXGG|L-{w@yC7XxhIIPk2>>0dO(R5n?hFZ9-byENg_ra}9p3atb|*LIVPg z+Dry$YRlK?yHA9VG}P4$?JZhc9BR0?ZE>J+@)Yp}CMQ2!R==Vr3L2}=4AsN2jSbk% zJB{6&ze7d`JSWw-xz5;4pLd{fvyC(eK{L=GMQkJ9VJkcuM&thd@Hb;{0*(7`wg;5& zozle&HK6e3UB!))yC8vn>c-2H?TXeGwIp+j*5aW7cwKr*+?7Xz3U2<%_I5rj0Bli} zHE?HmPw4dG-BY^3Zt?oP8=XbB_wNR_`*#}~iZ&(qK34Jm$?c6ji8rL*wR+=;Kqz#4 zaoOH`bBhm7&Nude1ijZE+YH*GV&Y+xd$_F8*i#$W+Y`UpudhJQ-er3qF5AoAHg>>6 zUg&zm<~pPpfd*K+o4-c-=3QP1c-!muhwRO};J7ii?!URAcn`4KHl@RWK>g&-#d|^> zvAwbC%(8~=6@XOVd(E*2rBT8MsoBT|W6$QVU2?$2UrVk)j9o*XQQoL6?q6aw>pQ1! z-l?x@-(joK9NjeaYYdEW?p41d0abZp+gOBc!pliuUdISxZ?Y) zsrCAS6R~bh$=7$41l#NDTQ=|Nu*WzCE=z&Lc1J7Udu91HL}1$=VA4mb+eaAIgsqhF z4Z#um&b##Hp23r+V>2^&rrunj#bTgdvZvl$66~rskK{jnL&0QQbLyC6zBzSVvb{NV zJcb=%ncGGpCL!KN-}R%})hf+R-cE1U2E9(xoARd&!X?v%(97h}BPex^a;7}l(URYV z5F*g*l0CJzx+dFbD^Wiud6WW^&p&y|w)T^|v7~GYb~Vd3=%3%EA3&JS!R%(Vn{{7~ zc_ib8y12`WtSvu4#6+r34`*kM!g>~7wgHP^E{3ejzLFbDLhX|s>`MSKUUFBKF|1%5 z7I=Fz?Wt8iOjjCgJhF~8;*s_0&wJ|6`|8go^=GsCvr+w#CgPE8_{xt*wyQrMsy`p8 zKOd_K@CPky;UBE%tDI39NT1UAg8%P<4WbBZ12q_ktlIEw{=t8Vld;S^oLw2H z))t4V@iLvUKk`)-GW3>`&~c!KzUw#ItFOO?l>(8^wH(19bEn)l&b+yX3qXh1= zv40Qs1owC*?#y9smE=P0Rk^i8_MjcqeI0ef71ifxGoQmRbK#rAIGUff>_Ssx$7+k` zz%0zN%IZdq#7ws>fmw&`1NfYbC#3Z|S&!ksgR-?(X9!}eRThr^Bt|*8Z?%%!CUKt1 zHCxGSo9K#6L`~XHL*qfW>?f%CU>_5AlcKp-=e!Ke%(5+sC$V_5++^mLZ$XjTAsbci zHly#%y4uMKA#1D3TH<7tq}6Iin*7GJKhGoD2njV~L#k_K6{HY@&)K*(a0~ z7BJ>WpKS+~y9AZ(_9Pb~sOF-QJcZ0KLQ3qgCwq|4a*CgbFImJWTrVVHmF_I+u@>V6 zjNFYJgdAkF32aZ^4iIk_ARQ|~{#HCMM>b)v2kXrzPHte-_i&cqgt#4H;5=jOq~wK! zy%I^xdW%`;7^ooq(q83&Z`uEmN5ETYir$9T35`_)%HFy6c&Z?9x6gha?U<$4t+G#S zQ+iqPYVDzSFbwX^ZRJb*65TJa#ByV7j84EHkJ78gK+tX(X%1ow){vZ*k@oRmXb1sp^##^wvG(YwS+T_&dfCKC z|8Yw~UG=FsQ$ht3BU9VG7Y2euhv5O(?_3yp0_XfNGp@5Oy0kfa_Gf@5M z!#~D|GipnR$gk3p+8GOxM8|1-#xneyo#^EtU$({^Jf1HM&X9qDy;_pndlim7V}V=M z0rC1q**ddg9hA{Muk7F0rffs_{th==gF1w|h41e;DRiVcsDr-x2!whYGkD&_8q^6( zWB9(jHj}%C`{&{eCNRK}Nsx{wPxY!CPK*2Yld*OfPrSw|5L!Gpi?tWw`G!ox@btWF zO6h_U;|XG(?80h;-D*riTzOGTe8y7zYzbdst%_vFs3pbApox&rp!?H(?gawBsWXmY~5^0ia zi1EY%*2@n!j}9H@P!a6_{KKPo66V=hOX#R%j)5C--ln+Gq8nKr30Gc;ewoLNZ3%6$ z#vGGt{}CZ=56@t;06VY+k5$yQ*PC*JXHI7{W9Q^?dQ%%HPl)U+NVZ=>21*{igkzWN zYU=V}nEoQ@`Pc0jyAMA1CLa zDVUsPd3tk~>AfC~9!14v-=G^yDg*n?+&RJa;Rn0imKD;%75j5Txn>rWsS&oavE|+% zr5V~aKM>Tu$#|}0@Qo!nEDC89>=eHLuB>2tV}o8*ki?ZRm~)uUp<^)9p^{>-%u&Ne z8f$C=9V52twkVJOGZ4*+S(-QnhrS`;p+tSP?=H@DNGL1a&98*Xls zEDAT{97T>6rQaT>kG0sv0Gb#rU!An*gRFE+xcLYzI!4m+wO9|9P~|&YQ#)wUNs^;! zu^i@HC0|G5BqP{x%4y-|Bef`(U+tmsl5><6ZHv!vbD+&f9J<&JZ+}E(^Ki2eHkr!@0oj5{Ac~I(}tj)L=KN6NyIa`}~ zoD}M<>EoGvtbEPZqBh7irE|FXPHn~q_?b8$y$^U4)w%dTAq#{*n$@Nj6?LsaK@kI@^3R$;5&|Y+ z2??M^Nyu(UAS7$D%O4FIOhDEpnpSM7MVs2#(w1wZMny%98UZb>(WZ)(YU)jU7em`< zsiFtQ!!GYW0ub%-+T`&N9^yI=^P(o1FL{soU+1v6bS;bZNz}q3Q$k*_c>_8m8-MIE^uH_znioaTh=Bm@*@G>Q8lq(b7 z@@;LDM=GeJdLA8K&t=X;Cf@r19|%kPiGwQ$OS@Rd#m2>|Z>!cq8Z%FL8)du5w^iRg z(J$-!JH5{O6Z~jow$h?o+!Pgbzfej|FC=A zm)qQy8aHc*d)(TQCz!ZM*uAY>X%+VcEM!r+5}xtT6LlbT1lzr_(U zCV+9;b=HTvk!WSmFCRWWr!n^gZQR$Um9|j~dR`^o{T?d%Gu8>GbCdRa^`i^-_KyAj z=O=m{6Z(3KwACfOdEA)z%f8+rBldcq5=(lokK5aOlog`x-kJRM_g=-{W4%{Q-rM`Z z^ge!KulGXmP_Hmko`j$A>Ed}vt1OgeD`Tl z?BhfV|9sj#QT?$v_b4V8MuoXjSJ4AoyjXogrl@xRWM(9~M8f`#OiklDy_@WW**irS z__P}>nXB#LTt9QQg>kPeT&d_U=w0X^&;0;?bw9c_lRxu4AR+i(kc6|WV9(;XMi%p$ z#Ji=6u^3Y*HRGV#?bD))AKtst$24K+0mXezUY?O;ySFhN|NchiBZnW+{Aur;?){c; zxGdc0(n~@{sZU9)UhM_ZjSolxn#p{XBGsp2N%glLsBwddo?v-e9TtFO>iCQ#)VBJIg%Rgk9M?&^m9?z`b$Md#l zCT==HrP8yv?m3y3EAB)+?>1%?@vW}+G`*lVE|+B7sekd!&gSOCbFpzx;yJI>mpZic z+QgymVWrn{3v*gn5K(I<)BDdi9yvl3UhVDXjoL3oahH|J{o2M?*YVEueVJlGsxQOh z&E#2A|8m9)W~W2_-~WI~oAL8DW0x#xtRGf)LbW&6cQf6y`+p@;xz}=^UiZ9YsqAo$ zm%`B^(q?NtcEbCB%=Gr@5wosD@53{zdl+(oOpO))E*Xn5c*mm^3xdgzd&7O)8~WwP zaedltO?~ZN%P`M~eRH$LUvDB+XNmt7dGrpibMbmCu=pr#b#!t3Ni>`-+>>k)Ad6Uk-it9DMASz4yfQmlvwqYvaAz4-70>tgf-B zSKC*{soD<=u*&Mw1o)hVPdBS*@__9Fj}Kb9i;-70xDQYM4O+xYwZ?R_LBx5&3R>*d22On77F5-YFe zqz8Waqahe`J(E=In7DAE_pQbCuMb(GuC=Jwc(sCGXjr8GU>J6}zbRIYVWD%V|7Yys z1>@Kty=kL%^I<9xN{J&Zt_fYTDyL!)*`vRZkE|0~V!mYuT#7gnWqY#9uN06<3BsA6?X3OopH;%TT zD->vtUfYdtnmzWA&qDc#Wn&vNj>t65e~V^a)5+ioHu6-E?DWz0yWjb^( z{%_ESQz9$swI6mH;=aYV^)(q@>b{8El0B@@J+$tNA++LcuSpo*{LR*0b`3XcojP|R zXL>q)o3tL4--6M4sZwv|Qs1TuDh;1*lXemn!Kyz@tN4kVzNgn<0@S1MpG&juZ6e=v zlQa{!&-J|^ks9YNeHpDUe|*7&PJ;H%w(9Y)7D>5w;hXyF$*= z%1wBy|CprW3rSY?X&k}4mNzRLVZ$T1@#f2Lt!N@*Z15s(V%40HEEUD8n$G?KSmi9Kv6i=Ax|0#`nL)${{ z-i1rV^lQcRPXeabUKQPR!&Lv;KT9M0*$Pg&Xm5_CPFqrk!o6ONTU;c}%lv5v$c++1@V4%UnO4`~{ zeW`(kIreJj(TzmkYzy0`vlDuU`#b13C$}5n$l|*!y^|gOtF#bT zNQidc)y8WtO`EG#JpRk0b>{6=mocN4nR%aoJuNq|z50;08#l=I>MZOy)$LW5r1hIE z7N{t^$?cy$R(D52{O4~qCY|1R+X&X5Yfm3x*)69mJ?r>9Qt{l{c-yGS?R9sIxXn}A z$PV{0KmCBpTV(xgL#z0X^Ten2CLr>^s0ny#aHRi9`MBZ8J!i?1@ld(ho*;|GXE)k; z)>>g=msj6?Cx`D|rkzsAy~AXs*^-*s`)eiw#^ke+C-MJuncZ@;xAU+(iZ4Ah+026+ zRLy-ET^Py4w_Ary>-ct1a9Bjz12u^aukx{Rt!2XAnVy60)#R@XWY#60V=w+OZ|213GfTCYVYuU8Hb>p zVhLoI6s)|9fJdZQfZ|c&ZeOa^u#61zbL^bAw`lp~Wo7JPNx3}Bq_3o~w*A>`tHph> zky(e_W3lsBT6T2food_T{}rX`^>AG5VEu+3#WSq_&IF~Ghxs|BQgBcf{Epg% zV}ALG9Pi6^?;BXrM>jH>^ELeJf}Q$$Ga~kNm)=NGaOXm41hS?6m4rO+8~$0Mz;me` z*69U(T0iW|IePZn({uU~GhYdhT%HZ}9^+orf3ub~ykn)0bUq>Tzk)u-GVd!(`2I29 znYZ|-nUxy3xJ--?3$&k3J%z}%J2)xdRIB$(Q?Xuye^ar_5{mXXTw;T4$9^`K zGQF%Zm;I@kIfvXAdiV2_E&ikU@qQU7)qlwBi%pH3V8L3YV_wYY(#Hm1!O`9&Qu+%i ze+|9;C??x)ATY3`?`m#&rB2fu+T z&;MwlK7TW}T)d7VFTppW{@4YH-^;k)ThQvw*_pUm?gHxXOi~gXGG$gm)yqtpS)U?H z&bgejkP4uB5}f)_{GamQh)}HRmBQE-Pu%>*9e&nECzdHs(JMdJ7T`-z)Jm zi+$3H30^H7Ud?jqYV_?X<+rA9Ay9(;eN$^Eo-1>^S+F)`_huUnLP9(rReo(f76Vw zm_^}vDJvH@@Xef0^5yLCrg*a~vfKWNR!BQFd*bIO)J=~|-1KLz)o*B1j3=<%7gAaH zDUoq|5r!9RDM1>Jb$R*5Sq!OdGj z5TjEuaA!O#?|AcFxfcYAa8ELICR6weLQZePwG zo>AyP?!{AM_T34o%jA*_I*aJEmu}SAUIHHp9fb zr1zt^4iFKU!z^if&Vg$0VObBN-IV@}yMpWaWm48bd7RwS*?Sc^+h{rCEx)gJbAoRz zx!dJiJ6aE5x`%+tiMUUv7ZCKHNDa3`oOXG6`Ww~z4)4*^DN{S|r<(l-s22Vu+Cp5X z(Q8RG86Ca1U=QY#oVede(pwYkc1piPX5YMzmip;mfxjDx?S}e~61@fcrH`l2^| z_wMt2lXFnMGw65T=M?$ZQPesg)zj{uYwRZMlaBA0cKn3~%C6c_2A#tf@<(5C6F)38 zsc%ciH#wh~m}fNi17-ERBeq1AL$r+(qxag!Pc+f3Ev60d&ahx##tH&Ifkn4e-=l4* z>^z|LO1}DjzM}V}kU=|4DgF&j$+RfX!qiGdRv%bLa69j`2?oaXNmf*GHIof$YZUrvT{4T_Aup?$6l6Nyog7h?c znRRC*>?M;*H|ElZX$cH7xs%o;O=rM#UH1CG=~`||7waE%(HmcVmLJw+L4f4kOcW$X zGT;?mktP1XO0JaEh6Mj2&Ce$M$ZuQ9eTLkbHasF9jBPG+X`EwNt(8KfW_$0b>358F zU)RVyYE2Tm!=Lz`ROp2p>*a6nR4PiGdn{FH`V7y7zQr;~c&!Ws{`>Z6Y3n@;@1EgE zyjB)V0-@}W7W-J~9$9qyjD=b2tK184V-XmMsev~izK~?fQV@+J!N0Ckvg79q$qwqD zzL=_@AkT`NsYheIAonkuu3eZ6UV4*aQi z7Pl61N1$a81Neu?efMkG;*-DVj^^biL#jtM&QJ2?CDG{myyU=SPSK6_X_-qRpPL-q zYBZO@S-S0volChrl%>NV+~mn%LN`X2BV#9>4hP1L`R`(zLMA((%51Fll zj^2;bVGfrKN^Pzqfw3ZXGiftMuiz9*TaIDum9>EbY5udJ}JKw+&h#F!oTufPI*54 zs5C$(RS9yGNx5m`tM4!1SG_*}wN!+Jn_iWRvHvYEuT<7lmsFHHE8UZ7s+7ffbF|NM zs;Zrt#U<{l>h;Pz^TlN;DO2RiqV+Xy=jvrClP7EPvSOFBx~kHN_{y*gi=1wci>p^@ zSF2XLs%pv!HQ;f<8fSGy@p`_dh(daCP1*9Q;%Y}uab@ueCu%8L_<7DshqF4T%Hgc2 z30N?vs?uFuRbel#bXElP(p;{J@{(eAc~zz8X{KO-yS#FReAmLtuP!cG<#fy`UhS+d z4qVJw=awiO>E$&p%^q}ft85w7)m7ED@hKCOd6hNp;))6_Xj^WT+m>17sdU)JPfm#x zl6BP{ms>=WCn%Za70z(|Dc(T0+(=2?T$o1iz@PxLQoK&k06*Ws0Pra+MaFQ!kNm4hcrQYelpym%0~r!O#!8 zChE(iKrmh_zLTZob8KO56?Lw(e1*N(U3Rk9+^X!V7$U7G!hGntxJ*xaG)Xl34NurO zfE4rf%#Ic+UguR(8Ny`b^)eDx=`3+au}7rA%X5Ma*p%&oqA3XqZKhH(np?VaO?ioP zPDOD|%`&5sD^WyLqiC0nwqD_^jwW5;E<+G7gCMkMY~%GxlCg%qEl@%9FJTcExE#f9 zr-Llfh4WmFIc3F_D@>O%q`fY37gsu#ua{0JsGIF9UgL}=m`!7%GWYP6(;U(ym0 zytJr55iSp=cifc@wMJ3Kkr{*iWs>U7k z5xP9LxV$o|eq?zVqsF2#bE1ulS>+CgGn5s<5hbm}UA`u)po5}xCnH@fVV?6=kCU-3 zl*Bw|jnf_U988BkM&(x(o6*jh+O?G=~^ac?$Ewj9O^;$Y*{W2=mk{N;4 zmSNP{{PixU-r`m*%h0RjGJTGqgf5td=NxCH$0V6sUG6e{O{c~!%XXH!Bd<}NL&0fU zdF3n0PEylaLr5{rB0L4gmaxFms;i47xJ9d(KShRTw65R)6Xw&fG2gjP`j|+sxmCGN z%6@rOsOzUPnga-o0H$gemR(Va)ba zWf|+pcCC(z)LymLS-qgNG;DA;e9FAV<90H;=iWn#%D6t)Daqv4#l8OID-k9eO)rZP zue`+WsR(A4F$RW4J|ie&06ghBk?J$Kd6lJd$0f#xU5kiVWcqDMgon_@2p>ik7`HeD zmCPF)lZ}|7$)-e=WmFa~*ZKxAFf{WsrizA_&~=K`D6f-5v#Tkl{Hjdu5T#{>hc~w> zziKwOWG4xXF)Lg0p% z%MdQ^Lv1Bho(hMplH2j+PFqD4iyv~IJ$W+s()^>ba>HsHP?NiNgrl0Ct-EHRJVRRXIo z1nMqd?X(eCmB($XDz(WytSqmP!Lk$+$kXyl8=b#xIl+Z;JrJzuv$Ue$noC$>O9`t< z%d7QTG)0!40`fVAKx(g+2%}z3k$Nd{I-G8@p4wL>d0en)_C(uqjLWH_3XtIvc&WZ< zHYG*M&KO7}&7l<`eR^XXf2Axc@c?XSIf&T=NsL%AB1_FWq0uN(k=!$dmBVCUU8IWC z%}^aL(N{#ox&(>*YhkJ)@!Nfq5uJDXfw*XUQrtWwKUJu4WC~aEXzfrnF2~?_5q^_&Fidw(ACe)s&$HkgDmFg?$ zOO5&};j_H?RrHPiG$K!8+do;WzNenv$x`a(`d3;`ce2RsEM85|Ll+iUdzMvLy>B%&HH3qWNkLj7?VO#4XP)1UD|9nTAU1OGG~)`jk~Xt!xLd(fqnLRmRMza zDi=-pZVY?`r%&x`n`e2>De7`gnk^nkZ!y7$i-`nd3Er<1>P0SRiLAOU(}x1N*U*;6^Q-h>z{tu7TO<6Eerd zqr_+2>dvcKP`QM)i4}oX8qGFCmyD??sI2k0Tr4CxY30?cxyy_aw%&6YzBGFRek5IC zi&Xlqn0ARFA! z2;B_XC^v;0nbDEEHNmx&{4&q#<%`%BlDh=SGuT!v!jduuE|X-lg0kABm9K6qY10onNJo%WToakr zpuC_`w$5vu1L@>DSG!__6Taz^SzcLQQ)af)RIe#2WBoZ$h^F*L)l1V8h+41=qUz;3 z*K$1=YM{I#`g9g}MV{e7&S|iBE88Kag_H2b`ek-!_3H8( z>6z1=mE|NhLT*%(?DEx2s@9b_ol*-UbhK8yxV)x(xpogNkx3d2uX<;s>1dh8GQetG zB~mBQ$>@s;Mz;_Vj-g{OuBPHr*CNBvYI`L&_A>s=c7`fjL^y#VMz#s%aDs$GC&?)k z-QK{qV4A*664+xgm6)!_1yl_!md0z`+I;aOz1%9(CA|)qE(AJk?dERE-rz!Lw789YH^mh_ZhekzOxUBO!4!aDn^u8!LKZL66DkR0W~B9xCc8~~dKaQ+o%COUIO!Ln zdY}ko9ZPmn$uo0r9ab^T0#>)9>zb7odYm3-riTs4=(GLJ4|lcpmbbJTpn6hlYmI$>K`!HA4q5B)?&XxAx1e$uW~gq*@N z9gmZBbYt2~2Ufx^z04K@ww#J?FnGiMll@5lna*k^qnK=DoTA>q;nE5gv#rCO5Npe; z1GBW~VMo&qg&y4x`EttPN7EfFe0}dNq@|Z_c;0Eo`-YpAV2W6dq=T&Vb?Bi#;_?lc}-t zGg2=YXt0fj+ko7&IwIg``E-(=Dd1@O)GO15cJ#6g(-}NG1_#+b(VBRyb{Nt*DZJ2q z7?VCZPZ-qD?KjCe8&;huEngqrLU|q1q3n$Qn2qDr+SJI@2kPgD!*+Iqu?6xX6js@* zE;xbGZH_4q2BquiEqFY|9xc$}83D3)U% z`qGn8)`RJV0@l-jjpl)0+vASZnGj3E%SiKh-2$ zGS0#G!xvA)-*u9Z zpWyzCdmq<{dkyy-?w7b0-1l+!;_7kha9O|kxBH*UgVp5ka@-PJHZBb(aa|2B!`X0O zH?I9p+3@dhL-l(kd9A)h`@tQ?{X1{||CI+HP^Q1d?Z>@viKS<;ooKQf1*r|bFc9!?!Ry!;@-u*iQ9*J3HJ={m$;weeu(=X z?mpbzxGP*NT3k`%tSG(0xz4FnFIU#`U&&gKlcC7r&NbC?oVsR`PGypQO{vz8hbkr7 zc^##qYK5|fC9taM88fQ&EmC$90*8EE#q15+#?{Qgjbx=`*@DFxd3p2FGvxD}1-Y5? z<}S0R;=YW)(k=+lxS-h5r?oH!DHhRY?!`&W}AbyVmxP@jbqy!Z`CcZ$;mk$ z8aJ+2@|Y`5)@l0+J3bn2Xp6@ z@|J<>Vx`(CYpm%W*{%(ElS604725hw4K;|}@)CE@q)Tmz&Bk$fCuGe`4q6l3q>+lg zS63?eCt2&Pmg=O;CX?B#;h=)8Mvk&`l!POs93a-7Z@45_q_#?qV>qiPnF>g+mhP%m z9AT#XR`8trD(8CrlkHpA+NRucWr~93+NQ44hHQrI5~*jS7xt^W7X0tKqxMs?p$EMK zhHjhjS-ubES`0t`n`zx<*wAnawiFJcGc|_X663n0`>0XQJuv@_#SCTeuO;9_};ON_C!9W^E&BwpZjXg z@-O)Ls&V{x>vy~mJ&g?!*V7}uN7`YDkaz6S!*#=!=lj)fzu&Lc{(*XmOXsz>!ZvsS z*Mm#uXJ~fert+&h9k~2%U8nFfK7Y}#R^XC8*E#hVZJ*CAxNJUm;Y7Z?xQ1im`mj1< z#E#W2(wDsicA= zYP;Ei1B1+h0&_A^lv$Iuxi@~oB!x#<-Nozlch}62lJhtx8qX6-*xLNpoS(tCXIx?{ zE+r!a%B!6+ud>PXSIRD^XV|zwvr&IgG0aG_E=t5{D1`^8%_6B?m6xwA<2lS4m%Ksv1-ZKA)S5KC_Sv+H4vy7I-q}`rYP3g1ojk#ak%5W5mcq(Fgj(V!DY;YU*Hl$b zzJ^n+)p^l+&+w-FoWA3{pLn5e3}4Rt3APbh2(prUq@hmzeu}dFxtnA!27r` zNaB?Tjg5N>y~gpdryNuqAiT6n2YdXbHtsJ1Paw)I4!3XU>1Q!x+7~N4{miH2 z+<=BghRbPg-7v{Ac`lQi=^7)6S|&uvD>-&4#dOonrkYct zcP5${(%NN=3fiP!4Lkx|RY?WYA9R-L$EyLQo(!b3oYN1YG?0$oG$zGptijeWU>MkP z^;9AnD4tSz@P7~;X_#W~$(@QwPR$lwbCRMRX^)l*ObsAf{;c4gG@2)Q$x+St2@{QeEihu5y{||+uC^Jj3m(Ba zaPEMc&$W5F>*4b@+)M+JUXaUHh@_gMLHwU%q?w;osXaSmJq?v|?K>Mr^0K^NDC8@=YZ`fv^Y z;jCI@wwY``^aCM;Y!ZX)0F#r=%$ zKR>P}S zTo$~V!aFa@ON?vb;dQ^PDD6c5VVa_J!@oiK*KNE_wR?{Ky${wc(?6U4b_ev+#*Lda z&apyCXM^v>Z zRD+9!jFcrj@IpAY88$^ab>*9d38P1zHbN=o@O*_4SaD&DM2#C)@X!D-?pn66K)JM(}7t|G;afRm~#~tN*(l<`1?n_RnqsN_4 zx4|TSP;d_}d%_8|fom-|V^%ta!J4z(+WWGqPnvv&NrPoR-Rvh~E_<~eQcyP~lNVG) zTq9IU&k?w)7}MY>S4voV(K^ggWGMP(!Z^nj%({5Dp7!7$kCl}>X2=5fxEfs{pytuk zl!8SWdCC<|7Q$HucPTu!EjLl_GPzyR-tod69Fq>-EqLKbC11NdK4slF*A;<3>n12y zxL3Qbn8Yi#idSD=<6M2Y+>H>u9)>JO^D+qrcUcA3AEviWX03i8`4r^2ldsku{M7Y$ zD5aw2nmPKHz+~Rs5VX(VO&Pv+V)5yJeQx21@1NbVdiZ@uSGulxwB+!QA8)!I-+uyq^`{@xc)INU4@XL4q*SF7msmWn|=DbgBtt+!`efIAkq`la% zq3ieO^!EH=^}?sRj_%v^+xo@ZE56pgbCu(^FP0xa^1Ab$1%+`*?^O&dDY-WB%YU4f z(74}LIrA24d3H})(eJ8nUGd0UJ@K>Vc3G}JzUj2LS3NcI(JyyCbydaoCuYC%`t$Fn zez9lQe^wlv;wk(vc zc<#-_M_<_e@a`ew6SfRp_QZRm_a+}6_4wVjRacymUAFWW=M}$v?d7FUH>Dj~Gwjy) zT4o_c!NqdhPE@XD^;{zqOPzHaIlO5(jcM|^k8_S66P{Anxi zy!_hL3E!)5d^@hNZKZ?*jM=sUk%dANK||9h2FGqrl;^qe}j>VWwl-w^pt`ZRd?EZyWXI={*mrBksTCF=gcA4-emvet%-$ z+dodYyX@1r^H01oto-IB%Rm3s3TNG|S67_414Oj z>#u$y>-U$Pb};+gk-z+Ge*D!%w^`C&{aew81s|^1`L}y3C$E38Jag-l#lJeIzI0FX z+g0PP{-`YPfwiL##Lpe|{Ih2b`Q{ZD4=s3c=5w!&AN9f$-?_2vGRw**3xBG<`^w}u zJD>7B{NBX#9{b>?)>j-qxcJkOBRhV)(lhe@)kA(ZY{ZW1u0FkY(~9BMUt6LKy=(qU z4e3Tz*n# zU|bk?!{y^vU(P<#4>p`oXKg&8mgDZmJ&Jn;_c6|P*9mnfZYIuw z`yuW%TtDuD`V;CD+^PzR8t2E! z=YCxLL*ec{uKmR%k2^PhX7hQ9@?<Sw1CL*{}Bd6eR_^ z9#fRp;nA1)?&?>S^A*MBVO1v4_$DKjhP+Hg4Wu8bsa2%J7Ft42$c=}YQlxY3#Y+mSO)vxb~xh> z(gRcBA=nKqq|bgQ>&nmt(hrvhlgMv?1#1n{9lY7Ooh#`2)4sI*aw@TZBxJ64pU(_bU_O<$!3@gyJ0%C zZl=6p3T%LO*aBU!12(}P*a|J<2_Ggy>)rT=DbNA!umQSY3v7ZNupRb5Wefg!zBC0U z!y=dt>!3V$+6)_DJ8Xe{umjq>_=l;`aw+~`GHinBuoXIBCv1S$d+-laVFz@<9@q>m zmk~ZphJ7#{T7CG3DX;E=$WmJ_=hPl9Tq_cY=RB26}G@m*a4M$@efm=g~by)OolF)4x6CtRg*Z`Yg3v7iQuoL#cK4_VOfA;N?VXExk zK^Lrm&2SrRhi%Zx9^WBY1T9w*9-Ig}VK%g~7wCp|xC1uB4%i2ez!df%lco|roCRB< z1NOnKFy(v1BXW317{zT+(?A6F&I_!fLF!e#w z16^{m>4#!6vu| zcEcWMdzg5plYek3Y=(uf4>rJ*9}*9A!2_@f9)X=OX$JY*Ouj)oP^KFD>LG!r}FRM-vkVag-qAGE_A&;|FvW_Sp;!+zKY$Ic?&9}_Q3frYRL*1{&Z z1Gd9Gun!)Bwif)uI+%Pd;lgy-4jr%?HbCp6*bP%*2Xw(6*bFV-BHb_>EwB!Dz-HJ3+o2^5dtfrO{T%-=6*^!MY=Etg^{cH=d6ImS?=WFD`O?OC z4V$3@7CqaqHo>On$Y+s1&$uh{J(TYpzQ4%01?!+2Dlai!$#-}Fx;pyRW3Ut2(n;rQ z%o|`QTnFuYsdumrcEUbr$-tg{*a6$&Qke1v$$8` z5^nog)~#U5dH9ER*bSRtf}M206sVk!e`td)mOb0=C0#up73)x*W-3|Gk+U}63T+#XtJ%x3 z^A7SKcHc?7@||_~V^C=z-6fQlk9q)Gw~`L|e*baR4^y|%UL1t8o&19--zWcI--Cqf zBwa1kGuR2omr^f&f<3V5r{te}{~7rQTYo{lSwZ|yP|mQZ4SQhIZsf4}S@O3G`5xr3 z?*-(r^(FGV96MeopI{TTt;C)KlJ=m|9+ z77b&)ner)Oje3`q7i-qZlvADcgt`N|&N!hSfK6wfP?aM5eT}sSX#M&LHI;I*vVQG? zb*y3grQBHC9z*$9S=;tYzMp$S9V_`f_JrC2UFWmr4T~;dU7UQXvz<^A$RFD`PpGZ1 z{h||Ux8zsy3DruvU95d?C%tuWH*AN8VCu!JkFVxB?0_k(n;(UCSwFADADjy7U_NYx zwXhquz*N@PJE036gH3Qu72(5aun!hND{Js|Fa`zU=M7D78m|tGVFs{(0b_! zwG6u8cGwErMGpPYei`Yz6@PFlOqqB>T?(6FEo_B5U^i@s_DQ4)DM^nk3l;e<3!zlA=mgSK_(!7SJg%b=2aLft9X;UU-u`=K=r``451 z+5B!HY=-M#H{1cObJ&Z4MX(1pLCbCE!DQG9(_u{>(~Q>P3x&&u=TbRYDGQq-cGp* z?;xEGloxB8cGv{nup4fNsdeP1T!-zOu93Sz*lt$7Gi{MV!1oy*k*azELOWf&2{s4Bvl<$#`_Ym)c zv@0LsvVQ1>MQ|IegKe-GcELV4n*Pkn+T%p&-=G`1;11Xdi^!jphp`*h!D-}A^CQG7 zY+-+qe5iYr_CWfZe?ohMO+O{Q^8II&1L?B;oN|JFa4L3o?jjyxEBS@J-H+3bVCNI0 zSH8E=PeAL_)a$Lp4`)F;EQBst3!7mx?1UXqd4~20?Ql#Zc0lD`?0c5_3R9lLKP-ZE zunD%n)aS_$SO<^6PH4N2`1dgWKpQNADXzlMZNyov;=v9fS*0VFzq_4SVGKKFa4ils7DcDf=l;*aX|(u}IiT@4q3pO1ferWwQ?E|L51JDKggm2Q{Z6m*7A+)_kxxtioh#$7YW6=IC{r&^g zhxe(c(DrBQJ8b$3{=dujzf#Vy^K;4>79GRCke|Fw_#W~hs=5@W@+-wVpmn&a9)Qiz zvK_rdRn3AaXQ=9S*qx-RhhX#9Rdw|Dxqg~^JK5428J)h7J8U^{GuJCLpvP%2=>D)ST|c$*TLpY(gEA&Qr=LRM}GYnUQhW!8(arna0l#$ zovemKvj3bX6T2V(E2E}6CP9+5+1bYsp@{%1p8nswEl$jz^Tx- zh-ynynAt*`=i!mY3m?t;o<>OZu?BQOPy-br|HA}oU0untzh zX1Eph!8Vw>g!UoVq2*_!8%~6_r7Gux2nW`}R=88X-$1>FebD-I{M|_Tz?7R*)d7nN zsW-5W-zq-{n{FZ8Ul1-#fwpC;YKKj*R<6UH&{{-(iyZdBKA5tL^cABIZO{c%VG}HZ zt*{Pu!cKS$D*TrC*#E#Tm<@|ch)2G|7T5|qU^nzb#X-G%482nHVI5pb{x`vOuo>>) zdOO?$tt%)W=z^ACq7RdyQigx|4r}FmIpqVJU>CHmq#i*#w6$U{EQHD`>OZW5tiG^gHc(&T^H6z8QPyoz)gt({&7=pO4-Y^$JPPlGNlz=v z18^$*G0caLK{tFBZiBtB1AYd3VBFp0-!qEx3Y-Y{!ED&Sg?0*m>ZM$E)9mh{{9&Sx z_~B*n5ZndFKC38)U^={bEBOPjhuh#g@DQBeNclXcC=bFc_z|ptzI!QGIPE^l2hM{> z;ff~e-Sd3^HvJjg3wOae-=SW@+4qyqJ&JME#0MXQ2jE_4c}Y=r{E&3RM_~ng2X2Q+Q~~)HcUztkSDO%b?r4i;OC0ThYh!VH z(pk3~$%oSuGEW~pKXH`XvQD|~oSBzSN&cqDf?v(el?Bcyf%@`eq1{`_6VKo zk-E;jQMs?Cy@ob&v3U$}ccZ^1Lf>KN&mBcygv^58v>W=>r=exdkBs=|o;DPFZ<6#~ zAF}p({D>`XbUSYBS2H8RUS))xH7Yx3i|DtY-*bxkHuSs1mYe$3iz33mSx>4~uE)@^ zqH~t$WE*9o<(6*am?64+enc3B!Sok}*_efX3gMlq{yOySUqOE-`mV2_e-Qnqub`h0 zPapUd^rxZU`4#lb(C_;S`rFaB7M^;3?ngi6E9f6X-+qevR_efb8pcZWrG3ahX(O}v zQpmOKav{*JX?Gr@j$~5brH^o+*M(lO=mqN9kZft1n!Evd^3DC~*=BjVCRS`*Ycb>( ziQE*AxjyelCxtMg)n~E6Z^%c4g`vkG@`R!EdH4sWI70IA2%6@z$071S8jSWL{SOX=hIen#$v~O|S zbYj^t3;8bOvGSqNkdHUp;RvOp7Wtk5{O=ezWHLq1S@bD-lOjAZnKZL%m-4;qlWkxwzpwT?mW7g~^SLmn1KS;&6}@)qRhnf>1o zlJ^WEw=lmG|61P}=)3Yl{*wohrw<}`81h)@Ye3#Hfc-6oJeGYOgUEXf`T6GjxiOSJ z3**#4@h2PdNoM~mL;ll|cVU0Dep~9O1Nl+pvFcz0a?7&V@)qPt$Ya&yV zFE^CFbVDA?eh2clfzoftW2LXfkjLtyJCJt}ek^$p@~#2$&yuLiW6ejB4Y@Wy4fK!N zWJ2$s(+znn`yGZnR{k^~?-?L}S`2wC{~gGW;y;$W2f3vvcK=~vf4V4}gUA~Ok+%#Y?-)ehGl<;6BH)1O zA4Hx$h}>bwZRYYd?u})B)L_V?%`arm+=Bcl+L{q;wk8LpqG9MdPmSJL~pQsN%{u;=_%;VLT~FS#Opw>~GZMXv?D z!TOW24A{F)K`$M>HuR>L+nZMJZwagS73dv6FW0Q6^($+`^tPdQ6us1w^vc8Z_MkV~ z(XUQ7>uK>i!}NO4OFjj?(R4hsPC;)fdikfISBPE(dV{5-0lkJ(2yYj9JJ1^_pQRt| zLaz-yn!Bn0*5?z_KOQyY1BD}cW4R$XKsa;F;b{3=6PCZ}=p8);`zz2J?Hs(kwxO4d z-eC6aL2nj%gVm=V^c;i4EBQ8>KedtZn%1EvBHw{LR=#E%^1Z>@}wCP1~of@{2ta(HmRJa|$QxEePm| zJ^AQ4&=Wtw`GaY_&yC!TJeob?f14qX=3lP0A#cF{K;?J&)|`VBeF zAtX1g{0Q<`{>NUxd}aXoEaanCM9&{7r$XdokuNo;FITHq>E`;zPyUs-I_SK^N)Pe$%W9xI>Hkv9w=cOc(3fV=^D%K-8g z0zXN&K0RDTB_aKjze-QBc2a!GTKASYeIx8Srm#h~1Kp|BJkMz1OGNry5xRZo?qAcdUKSUwyJ&NKxk*)#aL0~gd|J!% zpnNumOZx5z>ZXsGx2+ju7PWE*Y{ zs%DHTeRc0?mbBMSw}{_n$B zsFQx$(0QBV=g^#jc`$oaZJ<2F&v^Xw;OA*RTPjSp%&8x$%?7q}U?wmjz!vG#w&TZj zSHH^ErC~c~%8c_Ssa&c>F7NVi4k64-17V_Lgc%@ z^;JGwMhC*+Y~H;3p#_^QnaqC+LisvJ%h#j$8NZ1TDoBRaQ|D4HG!?r^F$h$h0QP(U_pX?|8>hSbQdYbUFhxcF{k$8S!@V4wJXY!M+oj1hWkhepAt{)|JaVi~o7w@xphR?x%f%A;^%@*`m zhSbya^NbGk9lX!tuvwq;f!fmDkewlY4hUk7vJL%Y-e*x2p-){W3HD%37hBrVEkpNe z><`*P*jl~%z?82X#*(o6&|k+pFG?fA)@{iO3wtaLVb%|L9^0&&%^^%JJ8uZtJ$sZg z4V`TCw-WY`&H8~dmcxyqI$o-O(ffPxyG0t^cly=M(fsCz`Q_lD1f=_wJdpRP0pOs)KmqTd!w~Ee6P=^zG@x@)gihc*owTJx=rp0Th0m71Gdcvu)j)YxnCv&|c{YVH`o(^=+*}s} z`sO?`^lQ=2eu;4^n*M{~;Y**m3;nIwlxenm$ZVNIX#H6e@;%5Omp(B+ip{r~!pzaz zrgAywf7)4VF^_46&G84!eN39({}IQShnVY1zjUrC4x`P*zialBq4{wTN79c@9%C17 zjxVLI>C>d_Q6=UvV>^E29VEmM%6sNN_*oJ3bA7m<1NhnX75qq^DwCM+;fJLFBOb=H zC0dqhsPOglAl8YX%oBVjWYKzu}{ogZ&AKtDTEW3HJ{iNgPAb$RVotBv=`B_OkZgV`6hi&+2BRxM4=Amic zcaFLL$r`o6$PUTUEHY8%07vnk{OgE&ia`DuBeS${=^tz?=9ZzG#OGjojI-G?e@`{! zSDEDtwfnmCQN|jq=#`;YM>uI_J^C~59c~D8ff8R6dOOhzTN^dv6M5?(^3FlzeTJN^ z&y&(4;ajiNU(90CE@dbur{NqHIDg`5l%|jNi8#V|*$) z>(JST&i7=TJEuC7j=+3mzNrn&9Tk6iph_6+UHYYCgwgk=dERKMLrTDd)PmXC7&d+? zp5EeqggArsAj{}q;@6rzFau)Vh%3a;p||Omg7uWXf3D$Y$N`g)nWL^Z)l;UETDvX6 z|DNCWt8Ym<3vLa?8>p+lHw8hTBz3zJKV|Pkjvw0n*(%zRKGqt~8TCu}=&rz@o+iqA z?&kOnBll`0o;fOqPm*b~M@ij~_owxvPj_eNlV?WVkbWi``4Qw%#_Z7A!o1L!E#**$ zpJ}|yX;CoD|Bt(WkB_RjAOG>$%gJp61VyDt>srxji!mr7R@w$gLbw_sBBC~gWFf(j z#3UfJw2gv*ii(Pgf{F@?ii(Pe_jp6B*itWOl~$}bs#viqrAm_T^EKzpIkTI9^!@w% z_1ni|cF*g)F7uk#yyi8pnR8ieM1Kd*P@IwUoXuM3tDu)>eEfbe`N~ChH@GoL-tE?t zcSDWL#)c=?2R!)7M12cI5M9jk8a>!(>;F;b&tr&<`+N9uTj!#=(Ngv=h8P=z6Przf zb{4Ya*ne)qdbXq4!;8Q8?VLHoq3MKeH2COn{&#(@o`x4Jp9ju-^|VEYvMdGgDtr{IX85Elw=@z zXF$f9=##-BY|EC1%#Tij)Vp`LG=!y)tX#P`APnu`@(p zsZQ)L37!q`JnZX8yCmsy_lm4%IY;VwW-;`|pQg-zx=oXP)dt5#nC9uR@d7-R@Q~UE zwjQf*L=y*!?JDTXE57AnzhPP@fi_{_s@(4?N;8Rq!l^=UO{|+Rr#x3cdRBe;Wsz;pq*} z_l<+Eq3Z+P;Z))Kh&2v+FwqMBK*m8nv`e8q&~Z=?{T}G0c|lxs$6%aOi^2E&_uh84 zG6FpF>r`*9m-sbH^n>Ot$qOe}1$2HsdbGXp)N66!TMOUjuX*NA){ZTm@s)Sr)A1j^ z7yh%ioyf1Exz#~^?&6VsWl1glrJ&A3C;W=FF7M1650BqYlehACw+Ue48}c62mC)|C zY2AI+Gj&Y%g}c{;W8OL?7DlvIEZoi^t6Iv+br2 zjm44OJD-@?n(~Y!`SAn^sTx zXs?Xw$osbL#d;oD4o`DB?+B#6XtTu=j5+H%#o!p^Y71X$&}$L%MYO`=F*Z8E&TEQe zkxvaQ266N49)t03>Xm2qqvJZt2=B7iEX>DJZ!tVCtnunSp(9V^0P0r|t0p~%2J6P~-5q)Q3}HUv z9g%W3E^xv)YxSqwws7C$B5-u#~#aH$3Qwe`%jAO|D9K@`jQ><+Qfn zCblTCc#MDj&iIpS4Cy0z2k|C!`<7$h-fnE*@`nBLj3T|iwgvj7yo+-hb#&;{KU@7X zG!~xjf#SWg!6vqUL-=`T?sJ*w*fJ%Mp=0YXZ2z)jNzt|!J>^}QQfeerMIgJdHV|Z7YKq=8n&LcsBQHZNE^aeve&n^Uki_KFGK&eMbF?I1<4xdm!I6)ehFhUl|FK!-6w-%k*|#H z+_@=it^v59UN`MU-ZtLTEJM+kr|)mBk&Ht>S0j4%DW*+~)dL;dJ)v*nJ;1x*jmq7! zW}jp~V|x@lE6_!c?az{V4s>iUM#f&=H?7C^6P65P(@w^=yc2x~@1)ja`}$6JIvLx0 z;90_ZtM%Bv$m01Q#`d7$#LEJ2Y@cJvFuESV*ltF~oRQwxF12L%zMed`^XZRu@N62@ z+J1bLzB$$KFt)vVBj*^ukziIF3twUlGAyJHg1X=I3z7vEFwC?d4tB z{bj5lWbv4K{Y`4AmtBi`tKPy`_;m|3`@_x1oKx!Q@l{3OXMX#W_0a8yX9Dl&)?AOzGdeunsZ^qDpj`gKNKmPySSl@xXwPoKw)^i9nRgB#O z8S5;wd4D?BuXxw@s~mS6=hnK23#1c+xXBK@8#fE2KJ>aw=E=E}0~scdYPS8+%>!n^ z^Fn!R`zsmn{Kn!jzEo!O;KOq)=OOlr4?l?vdFOgYCNf$q8D>rK3p;-+h~>kx3!c7> zt?fh7;Q4{+clMA>z3XhA!Le|2*7HLphxTHw)Z2eF>sRdcCdbjQlj|kvspfj$h#)U; z*A!LoL}z<8dd=e5kByeYGwHXj?FrHKWsAq?I?c8b18jk1Ba#QvbvrT^@m~4MM8*f5 z$cWqR9j0y6V+`?hL2LU{4m>?OvC*YA4>r0Z*+zY-cL_2ouV`(r<~Z;vy|x`jUO3cW z4ucjw7ec=h`i&e%H&}Xd4^XMMt?Bd7|GlBx1J4%xT>Q|l!@4fflZ~nt@Z#e>-nuR! zdJckS8#J?R8kwx-N6%gmkvlnqJprk+M(BAT`4K|j$+d??`@#2tWexb9)F*kmuakSd zz`q6{bZgLnrO*Q-VC|y_aLZUeAyI;JJ-NZCMORJ4>PO zkB=W@(~l7f7vJRJ54Q2A2lyo(zKf0b`bP9#2fh#T^K86(4`!L&zHQL;{T{kwkr6$^ z)t8?R?F$bJmcdfD{C7tcGLNxoPuF|RV`7Ce(A_ppfUX|8Lv6aTK^tdz_@e}Ge8Fm? z{3l2={Gy+4^NHU5(!+v!TA*79-M(zS-NScg>$u1s>+&bHhdrK&?j-UoxjPA8xoK*U85A<7* z$JTd1>)u~=t|1jV`EQjS2SAq%oqC-A*5)UAx>Y~d-G<1PfXJfshi)KrL@5-jVH!c zczdlfzCMJeCp2YQrT8LS^}3+gP=*XB3Dlh1#Q1bf=#quzaN;vYLa{4Z^tXzLW>m(G0Zsh#P8Q%C2no4Nq?T4lSnuX9T zhGqrFeqWJ`=xg+0dE&t{aZ#+qO{0c#w|`-*R4+y4*uA%B3vza(>aFhso9SQrkT}gH zO|=)=?5A6k-*GBym<16sXzQA$sYV_!fKU2(;CSo6M2j8s|{t2Ah06qu&4jVs8-{%pQ8+hHpUJz@-Snd|k$k>_w@d#~1_xv#4 z{OXY)OLXsX7Wo9SPqby%2L9V0{0rc7ZTvJBFTPU>{tfVhZG1v*w$PUa{r6SOfo|{j z(1|`Pq3gr{=5$t{jF*Mr`-2}U<7MQ;z~1gY;RVUp5Zs*dNq9pJuXOq;EZSlDEG@_e4H{sVK z?Og&-pXXas-gg(+e;xS#;C~9OulJO|{%?RU06*QvyU+7ZFk9NvPkW(T1l=f`PS$}7 zBC|v#>8LokK3p7J2i=i29dqQF)*LDSN!0?4#2R0x%0TBT@LRxV+j!64g=eA1FY8j5 zpLK=kqF<9NPg8j&^6nMi0DZ}et=4_J#5?cVUFoak9{wSYqmR*0zkj{=E}s*KH1R;X zXB#q`;0bgvao*CQAU4fj%Jql57~c5C)^;-fpe~t9y!cuiJ1^^beJy@iY`7O`r4O3n zn*d*uZ=a=~2jljuz<#Ttn*?2F@n8^g7J)AT|10sc_izpKYhObDfRP41Do;{mdli#!K<~aUyRdMLvhAz&3Yo*S2=AJ1TXM3R;1Wi)j z@bkcT)_1}`&*Se5FTS-B zd?oz96Zs}r9@FEm9e;&7=C1|)U8*>)He9mz(?11%nJ$ z-&fwW82lb|?hG$FH-X;){$`08g(T<354^pg@EU7D&UFK^=ZEl=^8b3jJE7YP9ox4_blihpY3QWB9_9GqtF4{B3tZOY{lWJDUu()6h!`Oi7SYW4+IRhFH8=J zjj=KEH=f*o!(6kqwf(Rt$2W8)J6TohI_HoW&)XQildgcW!7p~0gzV+-w6bT88O0;!fo4e6O`V6WP8^y*Msy*#dqW_*0}UN%a{! z9cWw113lPFmA3RHF>3jswf#$J%hXQWk}N#APul{4gJU9Z4)W^%$$zP)A@7z><)zr> z)<8rjw#ld@U-+VP+sGWZllpSNzaX|rs!#8Cj;1eqT74mxW7WBoKFD4D6}hwc-ddxl zLd z!Uc(2U--U;r(kz$`znroKQQ#;toX^j3PLac*I7v&V)v;0iLV)t?wmBs(~yQ>PwRFIh6o{{0W^{rkbOf$(jH zXV8CIli$a{_1wA6g!xhHNp7x)S?u|0vuzvqZcfJGiCGrC-8kHfzf{yp&jiesOj z`@Czd{TBIu+8*Dr9!{ZY@Mt84?|~*Cnn^Z|yLZp>Z;l^a`+)B=m3bFhS{T&n#_&2b zZ{&d*1>G9{zxD4noxXoqo+xo|kLI?UOU)%A;VFP;LcFd0M`HJ7r`z&nABI(Hc#$3A zq@UNpQ*dNk^7G`zhIN(=sjSMis7{K+mv_Ot2VRFh^X(U``L7M?8m{l7`w;p~*!w5a z$46QE89zMA_QL`lXG^P?ulIJo9uRvrfqw)1V2*tqQq~n>n@P~^g-+M~*D(RDsr!d^ z-6M3}Tj1H#*4p0PmOb3f6-4Gb4M%$A27>F7A73~|{J->|ei7n8`81dWb{l|j%?6Kfm zz!%$i*Js%ec5}>pa6O>g0o`_)@A_K$8Ji8U>|7X&EHmyVW+Gpg7`X%)>lmYNV<%r1 zcQ1&L5FQn@52HUA7|Go8wG{r+quScP6&>EACsX<@(!*3L9p~+Tz>|}~f2ayiOD8<% zC11CdoIus!AF;Ofm!&@+uz1Y<7ZJy<$iG)=AbjhN@%&(c#pjL@>BIR!8%OK8Z8bcL zfAW8ec^|@CaO{D_ynLGVHuO!|{BNw-BHhwY@1t|i+@$0_yvCTub#>i`6Q(nMj>G5d zJ~TdH^OLn+YKt z@2$Nw`9E;M|Io%;@BNei3Evl9#)ABRxZsD_{O-OfdrV}nLbvz*@7(u-nSBv2 z-xj?5@Ayt^bhyYdckj z4SQ_n|FEP@(F>R(pjl3qmKByFYoFe~AU)i@U`MtZy)UQ-zK9MmZ|5@J*%@~gT zexQGO|CK*q$QWpbZZ&i#37r`O)^&pw;5UKK7QFG3Vu{=Cyww7J!+!AFJ^B0MR}J_J z{AbwphuwFoh;8EF-v+l9)(NUfjr7?bqh+QJa2p z`HL4s$^-U-SfkGjpZNSdct3=90>^&4xSs{Hg$s<)JleI;_B_$+FH?_u?@Kt}qK!kp z4cbxA9?!8a7kim!sf0!~;j7Rj?F~X>t`kUK?LbZwG=*Z*MTLPZ&!)i(2E;GjoVGV| z7oX(y!}%7E*o1VC{=FeEO0k~f7r~Q#^8d|-o8T>hce1o8#V%)9b`g7j4eb(Wwa=%} zrrI!0g1rga{n@Ypnm3@?pAGv$vkRKhV#8SlfsURH%PhZ?_jHKeC&80_3jgOWetDL~ z0Z--Nw)RV@GpQb5x8ztQakDoU6 z2CE)77V0G4jfR8uJINM8zxJlK_RHY)+u_EKbCco+?GX7JpwC&>)_zT=^wtu{Yxf#Y zAN@YPlP!J7DfRP8zq8w25R<;#4$scQw)SaRw7bOOG50h@UQAE6u)Fzth44%|tJC&N{M9eg*Z&a=t@QmI=v$z_Ba=EV>R3l)aGF&~ zk#5gUcm|cXwO<0iZ(}#k2CqRajPay|cRvWpcs`^%;9COUzok9TbgV0Ui&fR|q=m2E z2OWisDiXMo>bCY4eATbp#LtvH6n5G5Qe2i3EDzWfv+p8y=d3x%Yneu#7e%K|{Mdir zqquQVEOLhFUJ>f;YwktH^4d22{zqRY*XP9MH~3RKDvLk#Wm98NT}mIh_LHl4t~(cW zwBNDtErIVzvERV|oBdWJBj>`l_D!AH@27T1DU_=e-)p}ok+*nOTl-xRbn4%UPUTjg zV!x|x`*~w<&~M2{e%sdmIJWWa=dRJ%LkwS+YCn1P=b|}n?N=nx>v?{k_A7z53ce5F zs}cLH9TL=K;@q8&%{q85VJ#;sdg0_8j(hFKKK4 zSnPRqM;#+AwoJVGC99J>doDso?@Qa-pR(-}>`gAU?WyBG^lPC1T^e-`v+86oNXN9f z(Imr2oY@7>tn1tKeVTrsk?(|uKq}209vk+2k(kQO_2a)IKZpJlTPNr*uyW17?JoH(BN)pXiO8`0vRlmbO{<@dfWZ5_~@RjQ!vzf!{-Y zOt(QBtUZ8c@H@aCDtNR0@$izXt?=+?3Es@_j4^%hKttdWanPHg?Ts!+*|fCZyw_4_ zc0qG2G`~!tG5N00^!Nk&MbHfLX}Dg6oF>nXa(*B*lc3q{(^%J>uD0yRa$%?kngJ+w zn+1RT#?I{;2fq}24)`D1^3mZet1q8~CL5Zcr_fCGT)7}t;8Eij(Cmc1H}uPG`T`j# z@*L>mU`_@fr}S0@YQF0yHAEq%5?vjZAdaY;1ce3vNB>93pVV{$F=FI$cod(uBWFTw`U?8|Ql zg3kd@`eDhC0OHzi0(b@fm?Zq%2rsYIL~+i~fhHT8efg`{eFZcRznJ(3O$NulT<^X`(JvqT zQt*Rqyj!n-k60XB6?858sZ0EG5j0Oi6SUPGcV~P4TpXL`-=i%upM-uV^fDLty5XNt z`8M7T%^qm>6~70<8l8(jkV``v$T4#(TdjUFQ4}k(2Z{JkKD<@%W``_ZeJ_7_o#qrx zh^5lL8fZr?XPqCmXiW~-&m+t?wh!V|?|G~T!Ef{N#5g~{vDO$|XXLV@*%FcEtJd#a`1is;%;pad z)sw5(ZVvdq>?KaJ@oxS}{`7l4xQp#pLpurDKX#-oB-gSosJrhOeH(hUqOJYlD8FXj zFt$#~7sKZL>!O+0S3NIb{c{I<({{i5>z-~Q+Ydy)V(7Q5WFIey-dpe7?fH;&9T#cD zwzEY3D))MOs(w6jTxc%EF?}Sbv+(w&Y=D2oUEbcgY2R7ev?>n%Z4W4$lCPUzmluo#|Acc<)M_m+O1%3S#;JP;v_B z`a`z?y1g7n4|>M?QcdCMo+le7#wLhj4*Ez5Y2_8q$rd28B|?{%&;_rkh zcY)S#uXpc+@b?AZ7x_u^jU|5+_}<_TviYs&K5IPuAvXSuU_M*q;rCVl8t~csk-yo) zcP3wac&CRSX4lX42HyS1eLU`UOQGv=IpdUizK?DYbmu}h&X&iYV0iZr`Oo=OLbn9E zq&%HHT&k|H>s~iv@K~#>o*s+qpnCzjq`XJd@#vyQcPuitLAM#YqdQRl(C4f2in@N_Uj(r#lMHH)`|{8VxxoL;9kEdfVUFfB|b0y?A{OCY~A>z zuXWTz`!=*IJJSB%r}bjaa%j(8+os=h=KCY--|!hwiraYmST8{L0(8eP1}!>oU6Zf| zU|}pDlCOpSLH5pUdiVLDbA26(xeeCbsKsOI?v1??=LYM0f(EjQv*Mw)_B2}t`2mjz zhNt*K3N&pcwDTTrv+f@&Ht)b3xgetZR`-L9vBl7?hF1E-Uk_KiV?_FNE%;5~6M{D} z-Mt>btwMj0{@1c}|3jO-&b=lb(CX_icV{lvjdfNl$V9%Iun zcbN5GU(U~gW*aou+cf*Qwj=awpda-}Tl>SE(uXf5{qlOhP+yDPCi0>0Z_~SLGyfg~ zv1xQMV*OYjH?ncDOxRTZrab&DPM)ro3oR@gOpKs~`B0j$bnhno<*M1|%zRw%~ zyDErW((b*`?tQc^`Q6l3yL%H11%J9NOLAxuPpL4@`Fv=OMW=~Ajk{(Ik9BFJo=Rvc zp~?1X@R?!mm=>R!2fh^iEE_NNNa%9Mie5jifo=_S7ut0GdMSLS-~HglU$#NNH&t#x zKRWQ2A=+QExtKKSv6Of#di>VYgO#1=+aJ1h&^2@H+gRx2-c!++xEu#{E_B(Cr{s*# z)w@(WXK#k)SZLUm^kgv}{k+?L3E@zAZqP(zE&oY)Yv4W3=f$qb|Mm0k!%$*_?a<7E zhD+FiuKpS}JSx>@IoA?jq5p?XKia=$ePv)X_xaW+^b4PG_g$j5QKRwwk?^?h0xk}C z+-rRU;rS4r`=}#2+v0J@rv5WCH;TLWRIG%)^2wAvTlc-h|27LC@%_!vcjK`4i zmSf4#|HDwi`y6i!S#6?`;VX0_2IpoEL6XJ|)q=s5YY-IerJi#wEMP=MtQNAqqPj^; zZarRYYrnvEO#-k1Kc z9eaaP4Udu#Xy|QH8mx+LvF9%ogP5Y-vk=w$ha^oBCA2NTC1lSGS5`Mh;i7 zd`a$}Qub1%%8=Dr?j^CHFZdDQ$J=cw*8j0kEW#x8%h)Z2Zq`2J2)+q?1^A>~!Fo5& z67Xk(?`qd$<#_AB58IFYH^85`54_9?UxWW4_!DjUjPtn>26l<=#8HyzKM!8??L#tg z#6IK+z5smIKJa3U{ zfWNr+=k2qu>3E}FB1qa9J5!HJH#mrBUvdHRs*raB^6ui;mseo)E^SVCgXnk$yX&)^ z$e94^TIB3TPGC#M)0n^lrFt}-?rU{$Bv-}U_%$t8)upuFS5fCn*~^qV=QS@MH1qfv z!!jf{htcP4<>@`cLC_C_zS(Y5ac;KsET%t02P%diO(AYE0R%%=&%txxUkHDm&)@kR zyb`*_(Cu#y7C+kz-9yj?ds@UfohSHzPp|hNzlQDs=-3_z`eK}DeTMEr*IcLPs?&3$ zLv$F%Sx|qfaaP!*PX{em>fgv|vgPP}gYf0fn}i+0`#Bo)XOUt{P8{BO$obLh_WIb( zi>nT*cdb+{d?cJm`Njx$PTm)-y)JC(+Nn7qk@oXz=n(m#-^&RH4P( z+-RZBDDVgzBs|=g?A~Lu7~T`!Ovyjpy%cwvb8`=2)i(u6t@%{53BJF=_dAaLIyK+f zx=&#nA#*l!jm$V>bhFM1Di;~qwe<%i}n05#vGLC)=~+kr*^U=3BkS#6ainZ(<#YBaGzpP331By^2%XHi))muTW~rdu`VLs4@;sPK^%8CBGSO z4!DwJtmCdXN5Q`i{$9xP`=n6E5P$63@pBIJw?KcgOT*vPS@?+%t}}2 z4l^BppM?Kf_%F5jjlOQs-LJlT;oo+E`bxa$dz(@lp_f?Ww~rV^XWPo+(NwG7b@RNA zla=s24&PRr&(pKYSo8O~i(srYXZYiUH`Y%kS{DN(15&OxZk8V>BIzxYFB|diDPA z+-C*~xH3L5#|h6+L%T(0G^ORFg=fslNe|DM6J8AJSq%IG;;(n0FZ;A75Sk*hb!|IBV^L$u+>>&>kDd&m8SBCCN zdptuulHqd2PhujwD&*W9QENiZ%Mt$H;&5(g2+QGP5jJ5(g%hD2TglVa?Vh+3uybXax+CIn{7A%Ek)}R#+`3Ne$8WLo$23)Y4ySj9 zmWBS4rj|sU9ck*Bh{N$45$8{7>RFTW07N@JbL(VN3YGcT`DMP&x zI^z9w^>D=D{L>L3*%K+`%)Qc|s(sn+~$;|)%sCOuKqI_>m(vP7f%v(%#@ zXMLu6GgN$a7xh$HZ_YfI?r{8my7PXv+Lj45oiXk=7wkGn?Fl(6d#D$~+oJ#vr8|#z zRdX{Oj<3sb{?k>xu8%*;aQ@Lvy`Fh0=Won%Ug)BBWu3_J12N~R?rLfFPdNUriz_y# zp5L27&K-{WXJ|8f5Yq2MICrM=ZAh&M)#)?ceo?5YJ_xB@UO#kpYS6E=PrV&dA9++q z9E+$t=i;ckJTz9R4?@m+5%opnEMi4e4yi5v3rNN}&p4`9`Veni=BOt^&YMxSAiTlV z=&8^&=aPfe7b5k)A?K^^>ay_BNYnOv)N`o%Pt@6RsJhm1HXo`Ub)1!ls!yH1cORneO>_Qska{W2x#nQ?Wt!7^kXo7k z!;J^4kJ25mH)J~Zc2N&!I(KzZZ)G}nbWvYqI&WsHd$I)kW|s3_7xk|!=kl&GEH~3a!jI*7=nhf%+WBPIxeMe^|naYwn-%n}5o!A!++Q z&RiW5qF;1>B&yCjM5)=`Uv$*9A&wpib${4Vf0n~9L)~w42n!tE7w&$Qqh651kHg(t zqpDR7Z;f>SEUMN=ID9+O{jX6vg2St$-Cv5TRpQvs$=4h5^|5^Ik*~{S5HFXn`{k=e zzFw0r8giSb)t5%AYtwwKE=u#Y`XbQkZ;pCNRQYGP`zwxWmiljxbbrht=5Y9Kr2Act z`nMb|iFUuvQTIkUd^OsAuA|-;W!mIxvDALMe65qOjq>%je0?fkd*$m&8JjEQ3oWxx zaz?Auob%KK7tSpD$?tJT7bvQ5=EVq(PIF8>8*=t$slSDsKQT1Ja{groaZG&_b}o;h zr=0m?#90$lUq&4M1L2CO)10O5^#!+CW&%RIf&y zzh|npNTe;3XT>A`$W%{9<@g5DPk@V1O>CUbUb#(?OzLhUG(7CZLHsOiTpTg?u z2;_ zMLiUe<4qCgk6l!|KE5vMT-Q~-OazOm_oB`pyNd5~e5d1F*G;{pk3V;uKXy~Mq{;bp zY0h;y>LY#pU7GX99Cd%Xoc}8Guky7#iJ{bG*`ngIABGMYh6xsj zoQ4I}K&5obY^F)sDDhfY1dfw3HNZtKb{`x~WRi8$|cp~K!J z_`jTSPiR#ab$u434`(@#cTu;+K9e(#bosevKBRx|9bw*V{z_QJFNf5u5od{`>$suMjOz_~4`Y9XNe=NZlvRp6k^(_}=hG^#4tcb5A+}s-C!+=J3pk&S+jv zbC#y7of4Dinm?thRg!8vDqk*?eP&Z>0vK-hUPU1B7Qs)+Mey81A}V&EbA zI9*+pK7eib{hPSo!f*@S_gd7sJx#q6WfO9(%@J&(YD}af9nh2vb>O?~Ce zgl1m4^J;hXR=V?T7xmAKk(_xw(|NC(`a09OubWyGb2#&I%z3(-dL!oishj#!_76F; zy^BL#ySfPWj;^jUhoAc(2X~}7dot96($vlA4iD;G;?0F!i+;pL9dnJuWv%`HVDgC) zSBjj!WUHBCac1dVF?Ca9xoh!fvem6*dg?#U==-wO-^Jp4(?-9Zt=>uJo`c&nN(e-) zV%yacd>@yu&GNNf$Kv)-;uPoZnELh0p#?GZboj@g#8^T&m&Vi;k;6Fie8gFlgdDQugP~}`KY;-fT%vI^ml5F)_#z4;eJJUhX#aRx=cX=@^=iIxg zc3GP9dAj=68yHzbj=DRf){9M~OEXSzeyL6ekmH{@qm)b&{xQo%j&y@-{Mhn;7_YP%Odb66f2B9>cP-jNT;!Ly-W(EUB+ zumG7CM$+oAbDw5+iC9P})(pKK3(K^GepKWW%p! zs13|LS?Z5z&TTlA^flAjO}njjdT?4W10a z8XshcHQ>8T_#Sh5J(Q)kI?huWBICbVG6(-HOVS~Bs?(jvveXB1_)U7Ruh`wmaBjdz zQp?}v>r*dGh|cVspz~u|=ZCb;E40oF(xu(sI>c9*?H_WS)#>U68SX7&+~64?~nDra2q3)Te3AvoZB| zQGE}K|15Q_RI@6h*Nbc#WH>Kns2y_RN@>74`FgX#oCjm-U8&>qj9x60F3WVTVl5(7ZI!R5z50sS z)VMEG{ewNN40UnDVdsgJ(}oQ7*NC$ugC(9!%4?&42`O2EZ`V1}gPH19Y1xK!=c9DB zTEx-mIbTK36>oN~N|SU-pUak^{0paCUEsnQac6)U<{tMP%I}%It`4gP=d+M{PR8CM z8D=`iXRWd_bQ;zR$tKoYa(;K%xjQ|Cx3bbqciPg`LTMg~xu5oBqeDY}#FpKSQC5LQY$V zx28H*h1HGH3R`~eLSNtcU-X(UjtrHTF>%;8iw}*SZq%CnntErhOVTEFNJ%3rZ+c6j-alnPLcklXWP6s(QNrp&uPm-y*E1QKcOD$ z($tq>XKk9A&vrzbdN$(RlqN&@6Gx&T=dX-9(A?@c?>Z6&U4DBHN^dV0I~aADH#>DZ z`aDKJC~;*(-69%MVf@%W;%`?+6$=ggGf-*Su5phy?n9KW&t5zJLL=AQg@1aSFz84AIT2GQY;W=73_Q$ zlCIYD1wZY^Sla2GU{&6keric<$K}Cwd8K$ z$ewiB_q>x`?TE9Q9ixaoFImC8j`QaX^^_xEN5@GekPrVo18#?yg9se{yQ>CT_obI!Od0`0w$r#_$Uw02j!vt{3P zSy$(y9_qfX&KC!%wcQ*@=H?uNgokrvCGwUm8!qjBj#7U)$l)xNmd4NI&NJuHuIjtc zr})sd(Ul?gQD1VLyStDyjOX|t>D(D}ONMiOSG6~TK3taR%f6|Bt|QKJX)>_cF9SoX$W>EdiTNVRow?!gY-WVvx$H%`ASUmtXL zAbaH?4jH$>wSqlt1xZg`!7|(lT_WR-^nm?YdcaI6SYS~oeu`4RcAo939uIMe<7&2o zx~ZGlG3llr4X+F>@1}O(H(k`t(R_}-jyiwqrkYucc2zqa%)u)3K@QX8FkN;{cBW&Q z1sTrO9A+HNy^ER7MP1dGnHY&2?n{g$)AIb7^A~ooW6l@d)ORuG^KR;iF7BA@^Fw|| zIS;0*-yA19JrzJ z8D1kqOX#_mD9*LS$X>P|Fmr7`&iyImT%V~vWm7Jbz$(Y=aW2e~l!{{}zsuO9j>s{W z(5{a$>gAaI$X8;rJHYX)d}oW_aQuAwVXtK4_lIpq&x}JjzF6|BXXQ)RnRWJW2>i>u zK$vyb*pEX@G+@yuYuf2+!|Evsp}@|h+C~|W+v@UcoYnY{Ser?!c>yuXL4?Ksi z3iV-gbyb+o_%d=Phi`gY78&O`b&P*ka*=ash}l3x?d|n5kVMIu$psP0Un%lw=i?sj z|GTLzqB0=)JDE!#_GRT0PHU(q+LXH_UtIg1TPde4NQMpCadl_ZE1C zUOpenuiz~FIu9?jP0FqJ8t->Czq{ZO+>741H~7u|k9%&1b*w^Bwa2SR@bRZvj8p7S z56-VRF{1KMj;IxE0Gm&o^Eo-#wR=dFbPd|tSLB>Tf&l%bp9SZoo_u7lO_49UPU2j1 z%6Tr?agR3kr{w+BwaYH_{l3pO_|{H~sQUA%dyrdy4!=3Sh^RQf;-il#Uo!DhPWg}%P=l%5F+p4g8d2C<7=(l<|})l$n(IlLm5CRqKv0Zq0FSrr(93Dld_(&k+PNYF=aO; zjY|lJQjVbvpcGNYQ>IX6Qsz^xr`$O8JnV3q)>Af8wo*Q(?53nOz)v}bGJsM<8Bdu)nMs*Xxt?+-Wj$phWh>=l%5F+pBm9(O zC<7=(l<|})l$n(IlW(+LYYaKPr06QCuKcl zBV{Y)W6Ewy8gt2^lw&9ZC`FXS?)x|-w142$>6?RQFU-f{8%xdU=fQZ?0+>*^D=GaJgv>#K7c>vAh6 zPZd$KANj>!RBq$!=}qO6`E6=&f2+(oRh4iW2$2;PWr4DO+|wvNAo666kRo$~`3S9i3MjZo zozO{)mof`R;gye^mvRP0<^?&Hxk1Wegh+kTKKYf;BuXYl=$-_SB6Ew8Cv-B$R8tI{ z%tcaUjuN^oilJjD>vqW;Cv%__v6cAB2DX1CZpp{ZVBOf{ z!fwqHgIw6HL1K*yOYLq3KIsxUfVLHx{_C>wz-nU07P-j%^oq2e^!3 z7naEA=EyGWDkfvng}dlq8GA0=RsYHubK!3KSH_YHi{;#L=oem@`>oo*&PQi ze6T*R{axdGXxQYd5p{@$#ed}!QHSbZ@lzL;%v>px3q({;4U6B&C!#FJ)36%qqXw_K-mY?k__3H~-N(RldVfODWf(t}?G zHXqUFJ%Q(Qn>0Vd|0VE>yUE==INKUDLjS`QI4=brmI9Zhz>UDoE78%DFaJ3bpBL2s zKnnfKz$LfyT#QHmfzYp3icKZ0Z+F)cn-=MT-3jQA8wU-3#c^o*ONliwE;I{*tkJKl@KYwM= zo}&c5HR!*Iz>Aj#{r4N-66!PkdAGn11^xfJ!1o9C;sUQ)yDX?b#|<%B1*ty|c*Rw2 zP9ge@2hP8P0#4xBDfAnJ9(x?_;okw?g+8W#*bw(WB0uJaFnvzo9|7kt3FvJB9i64@iNB0q>$e&3I@8&RfGf zSUh<*rO>Yz_}ZX|Ile>Vl*DX=x3 zvvSa%@pBxfrT)Rd<|Fb;Q{c)JcrI|W)xOoh`HUyi-j{`bP0$}-1LrIb;NA?1Jo?wP zZ!oa=Nd03iSPrk_tNH%GUJnDut@!+rMKAnWeAQnb_)mY}#SaGhRSJ>!k;CQ`cm;6F zErESE0`Ic?>s#P_t37?B;oe6?RRha=xJ>_C2i!6*n6Fj>H(UL|0~xC2>cAe~0-KM> z%kDwEV17A)W9hHsfb%a?>SzzH05%_?pP2$*37mudOulj#@D^Yr?~N4tkAWAj4fM%& zQ%YTh$UiCtJ_&dQTT|d2DRBB>x@!F;_4i7F z3xVamJ3j^|_P8Jge{l+YdkXvvaLy%xef}hP%O7_Fue~SepBO28{N4c01KwiU_vgUo zBl?!5z!#*z*8(?RL0$%}=>M>Vm!b9%aEaxw-6W8CACZ3o@b-nl{5BSN(jVXfC-SO= z{%)lzJ@`uC6{~pG--90zy!R1#n}M5G2mbK2g%^F&B#?L?p+7tYJ|4K)8b4>G;I9IX z<6n93ihg&d;5PubtPJL-T`BkwiCW8T!T35=VA^NwR|&iV{}(oqe-*I#h`wu5;8%s8 zcxuMyx59r@5Wjj`i+SPCO@YS%Zz2Ae`LH?#f2rW{A2Z$_5csNKJiG(E0(*}~w&?o} za6SHI68y6f6NpP$Rb>U~6?bAVfJ2=t!~ym(2F&n^evzLdMApcVO#0k60|u+KNZ zB@YDS=f^)X(uH2BlLcN8=z9)ui)EjSQ|OnZz;^<#z(0SE7^(lo6#Q1;JmwG6U;h=D z@nGO1j)2kfham!cAJOj*De%oH@cqE~*jvJi)W0n(Y! zQurSO-eT4NA@HOJ1AV$;sC?p$vHwY8IPW9%7h15ymx>g42Jm9?8{-elExhnQkOGGY z1luirj~DpHVEl{*Zf3m8v@iCU4y^7C;3dFYt_ke*wBWsu)c2PZ_s*V5l(I2L_p1D6mVj6H6*=%qj20&XEb82^%&K(>%Coapf% z@e}H^@`qmnucg0a+7S8EfXzqhzZ^JDea64;0N#ba^#v#N&!^CTkOCivBKda(^^Xz7 zypPCV3cUTMpgm8g;6DIfdrja^-HyW_=r7@w`cDF0yg0z0C-_@}_%|0gk9hxckN!d6 z`gwuYd>(MlWkJ4q6L3B9j6XdK97kU>9=-uK zACcGXX9jZHlnY#f{~P`@fLB=KVRj1r9l&w=)A;MA6#O>eE!KG4C9tJWj&!8=5q(Zb zfs26SmOYw)ClQ|s``SLYq|iSIyq$c(_{+<{`Br`D$J0Nz2lyj_%}44#894vm0Dm@c z-h)AZTnW7Piol=N1LrV*n)==VHXo69XfF861N-xGC{=HbpITt^5&Gs7cqwr4p^hez z@qcp){vW{kmcNN2yVjsH9O6HR0XJLY`!rG1`$&Bw1-~Nj*9$DXjOTlScV7tQG6?k#?fPjrvvyE`S{f(2g#ymnF0 z-fJwp(7$QHLcbe$mu0UXokTpmBbYyj04wljyj=ji3;P&*t`Zo39Rr!z>rLP-mVbUL z{N6|E>(bvquDyN+Jn7n?KPCV-6A#V&Iy;5_2H>29*cmZW--ZrX#Wp@w`1>9z50g< z{&zeA7;^PF9oT%t9!_>elze2 z%l^Ak@EJeH9{7Wt7W?!AHXo^PByjUR!FZY`c=R{<)@{Hmt_=MDb>OvDJorrLy^qMt zIL*E1Ku#URRn)G)^>+sTlm{HYIgmdZc+0Y2zpxtEd_>*?;FhIIQ;+Szw{Z5`--dJ5x#w|J3wNoe0 zm@>SAll>~H${Wg>8p^Ai8i!XDjw|P@@RYLAWsS3ID+)_0rcLt%O_)%2Qf`0Mn3z5_ zkyLSG_0+`l`li{9$*1d^su~jIm1T9c6^UeB#x%2_T9FzH2Ngh64jU@Q9gZmX<2DrS>d=-%EpeHJbYaLvT-MumG4rHB_ zd!kB}2J5s$h4kjw@(VqzCwnL@ZzwMtmuMP1qp7ZNR()OLjE00qGqkFlD(h+!pl8&J z>CUQaIGdK(yc~n|Bt0_@iiOH%P>!~BE?Mfh zs=5n3ktrCu%$Mp>jH^i0iZfLtxaVwoVtU2&dRt%d{(b|?#!hB1CldHqMMFaFN-G(e zbiTH(GEs*6n=$EGCPlAAlQB0=Q7sNwRM%iMEt^<69+?LoPLex8D>}dgfXRf2it@&$ znW;ol$En^pts^v1V@j+lOlChD39X~kaeC=`LO>_t-B8$B z9pVgPmbwNRAZGZCt1qvRfsix^yl%BP=-E-UR}Y1;;`6v3su7?ER@XJ^t{Hk_VTw6A zbdT2;qw8igCdO5ib01?e3AK165*~)mXqcH`XfgUL5@XA2rzVEij!uXVcdDP(t+aYN z<}vsV0c8}UzNBh46H0l_kh&SQm5sw|r__1mNhT;evz9sO{Bg`PiON!L)g(?08|6`A zzb5GgG2}SiAs)ihUSd~q_0*~}W|Y@dH_i54P!F)FGl&Oe9X(n2DEp)ME zWmBiu)shvIH#C)%sj?9>%f=?A;wy=Up*7`=qJ<|v@cNu)Ms4SaZov29(`_}wExZ?cUx(jO(l~WUE%&2ZEDoSVtvH^=)(e_X8bRZ5pz_fP?md^W-8i&g;k1ge zBXzLvEY>G?FC)uMyd;>CfMWu0vTsP}gf=M(F;vN11D9d&HZ{~%)LU7fo^tv9r7~ z>GXcnN^5ot4u{p1)(v5q#N;4rl1{9Wq8hBztCLi7yP#w2)E?Ght)i>0l}X*@OCH%J zhB9gDWd7*v~g4P}MXJCoH9|6Rj;D z>1e&)D`kJ@2DWmMruvX2&|Sfn({OIwv)D z%vonN)+7>EY&QeZ*t)>oNAf^ViNHPB-ZAUnQZ`}S-Jije8|!M=&Ctyvx6&Iwn58l$ z3=;_?@YPMJEKf~YWM9rK-3ULfnK})uVBHa+<5B_gnElBdB^PR{vla@bWyu4Ih5U@^ zNr74WVnM%@^prYR$Q=cr6)vQC-Chv-Gk}&EC^VC%U<7 ze`05SzdW*bZ#S{9(?pguu%gK_^Z~3~^dRYUBB`w5am^qgrP>)=dY1K8`rcBTRbjc_ z$h29fOsSdCSY@9vAy7}cvIq%~GT+Lhrzt)v-cYS=z?{prYt!(`!osoRs>hZlZ{Fsf z>h(?1@WZecEL$b+)WHM5iNyIq<#~QOFr9HTt89ke(&!AYgLks#611&aOs5*xL5c>+kUQpozjqC zGqxg8IBlOHKZrD5EM#-uP3vX1Z44d5PR*?H$<;Ia^*e=Q*-8zo8_s;8GX%=TO9&f~;K(xRlaxVF5uuETU7 zJHZ`Rly)0B-#|;w>Z@!254**FRN_F=5Q*qq&#@gV*;2(!KQ)QKQ9K)H>$}lmaHHPQ z(%_2f-y5e>8Zb#o{yF=`)(i&?60;CP|{6J=m`s#rmkm9UTK2 z5|W&;ec&mYa*@G}6rGH=q{)Q-cl*1v&S;`5Hq)|89Lz9faxEk&s~{Hfw0U5xJkR}3 zsURk>j4a%Ll4G_#gZ)m~6M?7Gxx`f`DLByr3%0f@I!WCbi0=N=`0B)k^=zP|c91pT zJd`C{r%Qg{4w=!^R98E?yzzXG($BS-7HjItEA<|iiGPjc)3OVRManywzbpfv#WGJu zrQU$`%x_ZGGNM35r~8kV0NIx*t#fx*Q}}UQ_j;UcpC@0Q*w^lz=Z4<(zQS60X@Qqe z)e&kXo0V-+S)6vbs+JVX{4kX~Gk0*X;f=O?nO#=Kc1oD3tm%A^dLu{-!dz)>luc<$ zB=1kTRqtcO>CNX3gHn5GhbzCXAT!G8JnzuDJR*65ea&h=TlfVXF288z0eb&7!Qe1k z!`^_es7lF6lG>HJuYD$KD7KxrVxE#yBqt4wVttLHo~tEgGpie#xB$}09G5gYM&b0< ziIlMwm__H8T>q)6s}vd#_z_Noa~Dsq)LF2^axTjyQZ6zk8@iJ)Y+{(wmt-4L?@^do zdtu7Tk<6pw{IaR;N+SqjCP(eqr^BaniM2r9@!=|CHP}s*tP?s=|F1jA9hVkK{fV`T zh%WABzYf>UXo^3#)5l$gj-#5xI=F@)}2Y-@9(&~l%{P+9mbYR zeR-u`GI^)flnWcGlQ(h6NZB1Y)qVR5OVH$LTd>?N(BUGYz1wXrci89fvD)$!r`GYp zT))`I#q0hu-V66}U6H#_lC|r!F9Ij&War+Rkb*r4d0UTrq0^J&)A=(-QBC<&dX!s~PW5l4aJRk6NM6et5|hho9}B5 z+~58lm&Z*+$t%y4y8gdP&aJ17B#6TKNxQI%l*bJa#nNVj7%Q(M-yjIvW6fX!|9-!! z>brX;&PznhV0Ty7<8raAU}3iwM=kIxkb zNhRaPOj~yFF;zs(QFNeISzi$_G{+@$Jo*Zy39wnw?uo{0csi%!%TIkaBwV(_?t)gn z>B&F+jeO0Lqcfd>Jn(>Srf5!*C~Q(?2d8|SHx-9-CSEi{3_tWdlaC%NRo<^{UKb+3y=?v+oi{jj%gh8R9%X;TyGL9*br0boR2p-0 z+#R%5i;6+zP~zeYwA|NkX#zgUwn^G3$SC%_t$j;RGJz2Ahj^vf0b<@t|wL7>Ro!ngi*f1FMp$IjB+r*6J z*r_Y1B(x^Nc@`rzTT|kdoN0AXl{^xE{3K9#-Z4p5{SSHmqZg}fyGI1Hurg+AD%WmCP>oZc@pt~(Iep=@4ksa!x58eQ$;~2pEeiXeY2CsObVlicN+`3GC z>kdmw-<*kqZ$mZHiWpHuAn}BJO^KUwptF{P~+rL@PM zPUBD$g=8pUN)x6cuRtsaBkOnip-3IYpD|z}qot{53_z>KO+=hV4M;&4{?>GR`yVbQ zUmgfoDm3XH6~JQKf?vsKT|c{9HN)*~b5R8rwRPNg+YQ~E+m{hc=>Rr*dkfTufkZC3 ze-VDJdw39m?&@bgE!7-ys&HxHiC-r!8h{eN zR|$iVKN4~v+h?f6egf^p4^qG5;hnGx?5WVWPVfa)q#o*^`rNVav9GG-v`KO4-i5=7 z`4)7h#C^<}QZ|@kBS81N z+=M7IvbkC`eOWW>vU>LkGf8qOTfN_t)DiXADubKzgZ9fG2GPi5Vhv3mI{yP_H?3a4 zpgTFx-gG?#Nzp#W$3OD46;!4=6BKVWhTx4;oa_R`H@QSKRg-^pxQ_1>Gx(aAS{G$p z^VCXCq9ct9y-<)JE>?57qu{ydR`d7b$>~UoM#v6KGbte%^S>V`5|6HJ3J&L&3>V+7aH@EySsyj*b0$<~onNjuGz-l1_i|AJhvaZv3>za_XPdo8t^`Oas9 z+jTsL$G5i@a5i+Ps~JSKuYVM2Q26cNyW2qQ@i&+4jC%*)I3grc9>itWLW-ynrFas9 zVl2#)Nhq54-I9TzZEDoRlV2zp^MF6js!L8Bt%V=O;0#C4Re1;Iwcx?-wd~f6tOwRD zbQbZ01_%M_e)IwxIS%mQ4jj47#FUU=MB9i_Ix3#kGUo;cziQI4om*?j7lB33z2Y-6 zBKN54sTnZi4VglWOGa#_)UONH{PO~(2%^2`ma7=+IsnU$`rpxe8;QmJ;*D5VY@28v z{~CTS4hS-;Et-FqiV56847xJUvukErGOiYuPfi=Z^%f0N63U?usWvf)XTU3;=^`Yc zbh3+gaXE&xMO<)2NoW`f8d?PrzSS-Xv9oZU&^_(16JDV%YcAXT3R;k%Y*vouWe(d|KYyS>xiXQG>CrKZ*Vzu&dbnb~t>e)r!0|37|k&id}P*Is+= zwby=}eakZe2Q#qRc%E88`~brAkP(RG6GCPh*Xyg2@T zmCycmxl)CRW%R&b z73m^3|2A7yb$%-;E|>jHUVaL{@l56QJ>Mq^?ff2ktiUe&+s=0x@=?$K_G9Zg&MGgS zT^cP$``fCH)a@t~MlCPAq{vkeGaZD# zMptV7F@?T0Z}^Tq>B#|&Nlbekf1B{P8Grx4-&^?OrvrcQ;%_Vd{)xZ$@%I7#`1ufj zAIX)=HTl!^Z=ZWxM!(MYb{zgv@TbFvzLbCQQF{)l|LEFDCluat%QG*3b=wVv>+j9k zy6eQda(?fA@tC~#e|Rvh_?ihT%!F^gn$!3G{U4sV_NwlkFL#{d&Z=5;?>m1xv$AT< zyRUrpa>h4S5nX;Ix(;?t&yP(S4?pS^3kkIwhUyA$L<4q(A9HZm_$C;#EB>eAlzUl9 z*Zj*5>l*KjgFhHY|5p#~TFxjqBir8jSrDgQQ{fz4@$UhDSNP#^>bouuei`I0W^$FaleIQ8|%k@IvMIm6@V!?Ccdes^#j`vl|Q&2jwa`#Ajf#ff_b z(5FBCoS(bn*!d~M!>;1?vN+{F633qJ#%cE(;*>ihjz15NV~3@2+UtrqapV0s<+jJ^ z7jMOB_W^P2&>xfAuG)Pi4Br+0M;v{+#gX4Hj-K8){CCIUFNsrbN*w;3aqPc8PWuMq z*lkoC|NK49_?sC={#$Y642?5S7#>HCCypKNjN^yT#IeIKapd0&ysLin7VO*=etaCi zZI4s0VhHKVuU5s;XLX!$sv=IizZWMCRL9{r;^=>89Di6HryYyq_`|Pp`g?PnasSac z<$e^$J}cw!UmQpN^KtN!IQ1%w(@&?zvD+7M?0i-nf4C`*{ww47?Kt>Pf9Ie8x-(83 zyE2X(BaR(b#KA9%(~hsikzWwUK3n3nnm>heyRJ_mMdA%j4NO&U~pOj{kJVv70ZBKG(&m*Aa2* z^=lmYcgJbp_u}xM7e}98HD4kMOuF|?r zDK48^N&%%+mDhpsqS?jcED2+(O6%*(>s=Ga6<=8H$*->TOsJVzUQK%Z^ajt=nmN_^ z)hG#BUBy>kGQR#SWUU>ZRy@AAd{(VzUU6M{Ep)7@E1g!Jr#Qx>=M`RDHtyo_rTJwR zB$?9Fim7|Or>5EYp6WRo1I48sAxnlrTc~D)#Y`S zWr9|emX!-zeT19{8I?8F6Cq`)N^;MdT3AT>GG&zm)+ri!IIQ}U{(RaMqc&n>SntE;T_Kyiy}yr-_RdfEjwbC~xpE;3bBR?lRr2cno(Tv1wC<(gLRDVsCZg+{G{*GSdR zhDTLStELmoa+OV=T3JW@Vz>@GaB3bvVS}5%3F;M*J{-OQ^UW-tj(X5^G$L4L#X6Fe zX_h79?9$rWa>$GdI=iyEzP!$pH%m$vDd)gNtKblMvotURhJc@4l8J6s-GEk{n|@Al zadl1ItkSCDN;rHed^*3dYdVV#x+*;7RqPejrL$ZW zG!d?+mKM%-Rg_i1iCqL5u~MS4IcdW|wObg_HDtnyi9wewsRwGAH27@=pr=p!bXU{G#qq)b|BWBRz>6vf`#1}SO@f12-X~W$7i>O{+Uf%57 z+Dj*(NyMqnDXW=PTUu96cazF=A?-{^Q+}c3C@KG`?V(M2ab8}eu&(rUO13rppJdYm z(5!5UE|l-u6b?g-uZNez@n^%!A!x$H@t*XIDW&z5W$3Vs7*iT5^2-3Gm!X3dd+JIn zJ@p9B5~K4D%u!xCD^3nFQ%|&ZX;rxu=IX1pm?55%Sv+nEiYYIT7#>YtS3ae*s-Ry=MzTQ(+nYB@U1EX3(Jxm+;dteV;EX~>5jZTW1?G*n-6 zS*SgtvZh{28Z%si3=Ng3?1YrAEF{L6K)Dv1vM2tBjk?MZF)50(^TZK-7KU_B9%~hC ztBB>{dv?3nV*Zz+tp-BCj0RH%6g%ulD{AHbCm%TneW-q3by;3vnH7C2Wk4^V3uh|x z4=Jpj2FcfHFb#O7$M>e0UR};ZrOCsHK7u^u4Mvi{OKxKbY(CrPMi&sjX$%P zv%3i}b<}wPsIFGY@@l8l&2)Kc8ZZm3bIqD5Q(cZY)iuQ&A7$PSwrWoB@Gbh4R@F`~ zt*@!`xEObs1#zdo+~aD%%vC0K;PhZwpsy`Tr!a#(U7yu}B?U|1ggg?GByd$!R5jF3 zcW^dT3vbzU7#YRLOunvs4rb%73Ix-7&M0fKESiH^0l(|#K{ZTmW6QIaZV{A=hN)Qd zpoiIv6jobaR#{P57Qs-dF0iT!oq**=Sd`Z@4v;iw`&GgSc%Y{`8MmDa!IDKYI zagxt(nL+cyE=yXZ)Z?j>=pPGr0STwmo@F(dB60ADWEX^MDFncJOcFiv1x4vhGO;0C zBP#+fU27_)md=aKO?WEXH5RtZuB;b#j3h?u0qZezM^X-~oFFtZSA-m(X)xIo02s+P zqo$JU!U_46v>ImeP@hV!_np(xn z;k?8^R5oNtB*kh8(rK=$si(uq8|I!qcf{GJpM93fW4Bce9002zYn4}CTss{rTnH>v zvWm;6mU>Fz22(J4p>F7R#b|xkg$4Pe#}p4AHhfq{B=%%n*V|W7{MQZV@RH=)MrP~>|MlOW*u3TbZ7Tj6`c&dhiQ&4{y17DG2g_ck zo_=^t`jH2u9~zUMbwK*TT6&`EbSpg@<==Meo!FW0>AKg#>W-s6Nv;(Zt@P`zL2cGhw zYR5?qJk7#OoVZ2Lb>M{-f1?9Wv*;BLywIZC9C!m?)q4@%X9~xYT=3wJy4R!e@N1K++`$(iK93%4k|#EIXg@Wl?i-ICwpz}u{c0G2!O)K66Z zZFS%sJfMTmW(U6AlHcLLJ1jjvbl|CPDmmL7c*|cDp8RC2oo)N4IPiAc&JNslm6GFj z;DxrG9e9T&XOaU?wd5>z;I+0r9eB3IzubX0T6n7iPpwmWu5#doU#tGL*@3rNbcX|P zOjZ0JI`B3N-|oOu_Na1qI`C8r-|N6@_bPsu{rrw{4_BJSpZ!d1dv#dj^&|)Wp@p|N z@XZ$9=D>fq@a+z~(ej(=)_rz+9JlGY4t(<`%0Bk^%&0sTf1FS9V~@8^-1ZkIZu_GX zx8s2mx7*E$+v6wkx%jj7vBzyEZpU>eUTDR8Cte#5xBS=1-x>#RkArWIgO^zI2giH4u5;nOvIgof8@_<0&WSHp8Oyivn*HGHv#U##KFH9T@=0_m+9 zeyzs8Lcyh@6hlEHT**je_X?Bt^Q6wc~-++Z7MEt?QKOc zNln&p6&X~f6bCqg0VkiH2io82L=saQ%E)}q%PO+-Wq?ah99rtD>VEB4R6!%z8bzt!~1D?yM~{r;hQx)Rl_?p{3H$k zP{aFc_;w9HS;I{YS01bqcWU@RjeoC(+h?RC`Pr!d57PLPHGHs!r)c2`G z@JbEeso^s;e6NPj)Nt3|qyAr|;mI0at>Gye&NIdKr?-aJ*&x1CHN0NK2WhxR!_zdp zLBmIA_-qZ&*6=wR?$+>m8eXX3*J=194ZmK)OEmlj4WF*z^EJFy!xw1yTn*=0Y5UWt z;f*$k@5LH^qlUL=xL3oMYq(FtTQ$5%!&hkdO&Z>&;WumeDh*$(;q4mk*YM36ev5{8 zXm~)wKh*Fg8oph_gBosX_)-nuso~8UzE{IrG~D%k)cJfQ zc&diqso{e({4Nbo)9~dQK0?F)qT$&Zez%6ZHTFVygL z8a_$GU(@gs4PUR}ZtoAt=8=bDq3zv}tR;jqW>gGtg$GvQf8)e#T#=TMJG4EF&%i09 z6Cf(oA@r4`yOC}edK~FQ(rrRtM7lfaR-s3eP9ohR^hnY@NH+>SoHUy=R4eppq?1XP z2;HCb!K4d??nAmK>1?5Ukv@cUn$SH-qoS@*s?gm?A4WPw=zZm&4=3#sdKYPf^v*v4 z4E&yS3hC`ae@U8K384<5KPKIabi2@7NgqkNP3SjBA4R%V=+{UeO}a(s)ufLh-6-^P zq>m+CEA-=}xg`)P5&8kr$B`}+`fk#FNM{Ru8|mXorwM%v=@Uq&3VkE#zNAxxzK%4v z1VS#M>qwtSdgmXk{|wTpq_+z_h4e|JJA}THbbr$ALXRVTGU+yRn)KPE8-;$3^f{z!g?^m$2+}1&KR`N@bfM69lO9PrTj<+Jk0PBW z^ev>%C7mktjij?krwDx=>GMdtgsvlfKIxtNrTs}~lin`$6w*1QJA}TH^k~xULXRUo zhIE_I7m>~--755G(s`s?gdR!y0@95_4<~&g=~|&rBkd+#B6NS!`J@Yl?nC+_(%C}y zB7HIGG@*NvE+CyMbT`stNv8mhX zairUY-b#8r={BL?AU%O}tI)5JE+X9`^lH)*NjD1p9O=tR*9!eO=}DwZgnoeZ6{HJ= zzMJ%wq_c&-jr3Kd(}cc-^wp$Og}#yWWYQ@@Uq|{H(k`LvNEegd`J1#q=@Qc0g`PsX zlyryCSCXDWx?SjTq{~RR34Iaisia$l9! z{Yh7nE)=>C=^3Q6h3-XqCh0Vxdy=jqoho!U(z8gX2)%C#=xWj~p?8t4A-!|2v_I)u z(%XgplJvEtJB0q2bRFq-p|_H*C*3CW8>Bs?TZMj&bOY%Yp;wchO}bI&=Sa^XT`TnC zr00?@5&8kr^GFv8eK+arNM{Ru8|mvwrwM%v=^IF=3VkE#`J_{XzK-+)(k`LvNG~M4 zbC0w?=|2{&Vk@k{q6Z#_3KGLm1k0#wjx<%-bq;DeKDD-gB zH03#62>mhX+eo(yy_NLsq}zmkgY+GwTZMj&^fJ;dLa!!$ zC+S9^pCf%2=~|&5C%v3>iO>&_{tM|sq3qy^Edgrgw{-j$;Zx?zB>A#Wg5c*2e50GvbdK~EoNw*1o5$T6Ww+cO) z^uwfEgdR!y5z>u94=4R7=~|&rBfWxjiO~H?KSsJx=su($C!H;HFVattP7}H(=_g62 zf-Z6g4s!dyaVO3-19MWnZzq`hFzQWSe<1#)g$I+8y@@X7@h7dV9N?Oa??>>xzJ;G6 zcQ7mYx&cf#+ZT63YVhdR641enpXTu^>q?-Zhv8a^|JBt{CB2>ej5lDIhwT2OoAJMS z$*bLv<>+E1poDUfj(0?vQy~D?S>zg|xH1*jX^N|iT<0mS7g4hLK)ceWmtuQRX;bh3 zv^mz+rlrMr`sx9{FDe-Ddv+s^n?5~Z!0+o@xHfPHl3uz3#W%Hkx`jJrks$iJgGpww zsP!?virjPo`(Jaf`~G})LWld^ zy$zE2=!KGbt7jK%yfOSG^EYPskqhDd|$6{6Mow%z(rc^UneRo07)ZX`7Nh zyhgE22K=dYjmu}POK;LXTqUfpu=Ov>OW%?w?vitP`j(uD?%*;mi*itdm0S5gu!h00)KmnlqS*;p@Pi#D*tT)%l$&eb`SbFRrLR(66mX8Q;!X601RJ?>y$TS0Js zD_h;)G>EzcGurwjx(fVZb2;LUJJ^&Bv>@2fqIgmj&mF?E$Mk@wAULZLwkYubR^Z=N z;QzM3zr(y|7?sUyiD++%rg^Oq;PONlO4(r!7i|pR$I!PRSPn6}pu-4}|DAahbqK7X zX6aiB{9hLMe>Arb5!vk#QKyUS`E6#8i;>dQp6`EM$%CN%$1zB3GWTODiX_ALmbAo5 zRgbKlNZuq>1nfeOYHCLu={FgxY~Ksi$bb4tAo9}xjoP$XC3?<*`>vY^k8uYtPceKu z5?n6t=I~BqUALz8g?(TG^Y@>_;m(w(zvrys)Cw{hZLNJLU|9z_^P+NUP>+Zlqj^8p zJ?>ybyZH=+h5ijnmnT!RX>1!9@pRNKXN}CpCRk7(fn-9K!#49~8FopYIa(?2+NI>P zl=Y;%Szi}LD)+r!Iiq>0&EALXjf#Dx&F(o(lYFVox?>kub3g?O_XaNt``vr}9i3jC z=y3ZHrQnPHZ}a`1(nRLtJD~~eRp9?q=(~lsy2QQbvr7KYC8bfNsGg*tSqduDxUK|5 z?;rgeV!1b~TSVntP30G$BnmXMsPSVU^8Fj21e{VSaWsU4Dj-!;K9r1x)acF^ApXG# zmH|Bln)v+~yQD=w`w4RX4T>JG>fVC7OLd;zAr)`cY;hl;P}ot-(^lTjtxz)b1ycFF zMS0c9k@B;&@|W1yK$}yPripb* zQ+tkogC_^k_Ir#9<}xf8-A$h$l5XN4!7i{V=}qg>lbGv28ADj_^md6-lh;T68v_0U zwp{;@jN~az?G2|xj;F^aL=BfKkW__4Z+n72sSFpCVM(y#GxAp=#h>@7c|=5qF+li% z4sPqx@LkW=%=^@z7^4YBrQ^V&#*=nWZ+9Tsjlksp6GPx8cObua_zUC2Tvl#3lyfX-pc8sG zd(tfVkuCmYrw>NhUubhqjc^*xS2Au`+`|=j=mKKitT!SVvb7AowG0VXhVFE%i}nVu z4g2f%`rio6i={j7)Dk;a%k(Jf57NKTwY)!MH)d5caC>e*D`cQ_wtzMJKntaBk(OY~ zpfxam8V+W2G91!}!H(+*VEu?~!DbmT)dWdBfyK1dGqG*eFcVFaElopz31)>5F-_0+ zY>2*3T{^(U!L(NDjrmM4>kTBk{Yif(*V2EJE9-o4VcI;1DZz}tFy$;XRA?k}S@XK| z_Rt*4@Mc{LX0Tm~@sz7f&A1*Zq~RS@aFzL>YWY>6YgD$8b~caRfM@AhYV9oj1fBej z!@07hPIPDGOlhF$Ouc{Z=F-|o_PsT_^G+=ux&uiegj_pbq__hq?DCr?y949W!e6#b z4$Vk%xuWe0{+HtM4-$SZoud2{JUMhzC*}Yu?gWxDk)P{;?u-MRIiHP}yru63quCEN z=6dKDupl*;eJ<&@@ecle5&j<`m;C<%ON9R=Cx5pH|5}UxPV%eu)1t8Sb^kYTitaAg zf{I1q+Yws~-))H46)i?H>$50)x?uglVJziuE4YJ6SM^FnLOKY~V52z^>;PXmg&-f! z@f-!R2_!t}ZGIV-zE;s<#|v-xTEoYevl`7@dwRo_hOdp}($kdmo>1Bwp5=MlXf_p+ za59mZo>w5ZJta|=h8_5(U{u}*G1PQCb@cf}G?(Gv-gYXLx>OQ4Y#7Zl^9&|cNWxf2 zm?BP=5E8OU@gYd8OpzoM{6@)3^SUu(LGV0FVHC7 z@C?rhxPA)PHynwJqYfunWi)l7n;`z$@n})lWT*BW%7U7?f?O0HCQa0n$kHXMl)mB{ zY&*~EMl;uakl8qx22LZ`1~MPy4UgjDBb22Aq|tPPM30IVZ+M>JyGxHB-=i!rcN1oM zo#Er^&}a^+BA=6rU2pg^D`13J@}SYnR!?{~yv86xT~ zRin9*AaO}8)`LlDu#?ejC~0YuE^)2tYh;HH==D2Jnp2GypP|bdOOI7@+ay5+fDNiI zmjhxg-@>=l5_%mWY$`6@tJqF~A&n(1invS+&bZW2srQQvSZY!D4XIDLVm$~D#gDL! z$oNt!>hp(G3}2Sw>j%hK!uzvGzgE)KAl?^{^c!c8d7-BjWRAyFz&zWOoCdC`QLeOT zk3(p5#NiKBK={ZSyAA~|b+zJ#Do+ifPbtsHZ#QStUK)&R^sWPm|#FAnLiG6xEq>8r84#jK%dSxV|A5 z7xM+2;TeJJzsdDX&roL@ebduwqdizXn74f^ZPbZtEp8!yI{Xd&(euNC{-7=vs@#Jq zandxou4s6K>iM9MwCfy*Z3;KsN|5bR39hLAD(p!W+E|5ZaO{AFR)D)4( z#FJ$Pcs|HMLP~HM}0iG3;QGTtA%r~8-^{~!70xwL?2kM+nj#Pl8vJ1 z$Ty^@IJyAe?8u&EZW1tk6@)>0WWNCO_oT<507S5i;}-SVTEoli2{h2*i z?4J+wdBfd3|3>l>B&(sv^SRSxex!-X_KtK@VsnbIRsMD)o zNu8GC+V)S|50twZz5>yXErqE+<}a+!(hH%uTDP=7f2m`4v=S8iIGOh3DC${hEIkNG z06!9t6FyHX$n8Q(oNdapVg)iyfCUWS47%Bl(Nqp7-Ufx_luBVjmO`^ z7RC~5Jg${=+$lnOI%K0brY{O(&Vy;_zc2vVe#XHH^%Lo8zM(?;_o#`{+#Mp2`90Bf zxUh1k5YV%Lj3xh6#AZoXbIElI>JUh#pG_57d6Pt`dqny*5C~Bhina$!f)}jD(toRJ zULXk^nIq%zn4zr3A%vPZj#~b_D7;&gqy5=GjAm>7@r9`IS4lioWIv{4tAt-9;cz5C zkFSLHS3*sH$B3o%FV!Cn-}AJe$e#igkmny_)`^6Do7BM9A}z665#4%HU!SBus-W%y z6;RWr0#yv=W0i87gz446&0HF{}p@v1A>q=yaiH7)`%oETUy7 z!9R!^P@Lf#sQC7yqQ;WminvwM`JA`mOH$AtF~lo`njRNXkaL6#rd&`OzR%QH*Y6<8 z=}^RJAQpv}N%|TEr3-YY7<7urvHKU~Jtp$HNx4DAUk%7u(x`}MB|TBnXDP@Oz37uh zQ!l5yc~XzF#L`(vG?vam!6<04B#e`U0ZP!l0*xosv}M1tRUCc_4pNO zfcC?##u8Hzhe)OP;&j9JzJiVvXrI*cIuVCV=O$5(+OT*Ept1BtRlq1oP_z0wlz{UD z;&z46lqmwD^M;Q^*Q41%edQwOW+lgzgkvP3K*>oO%rcK9)b!K7*m|7-CFv85$jy3Q zi}`}gpLt%2^#+ao6Gc3pD3h9|Cq;;?r?2cz*=m`+%#uwxM~E6nNtyFCe4W@4lN{($ zuHk=^aEeI3`Ti6Jp}o5I{(yI+T+MS z67|#hUv}hws9S70>!I_Hb?_%R(vuwNPW`!$5Rr%Z+W-!xH-DuX>y?p-F8@Av*-Glw4RE>Wq|hPVu0@V zsd(rdT(icxJT4GSss)cXoWS``p9P%nu!fib$%Mx**NF{BFhe%|^fVy2d%we3RQ@Se zQOn1msK0+AMJ>T~%>2e1K3>{m4Ezwn+A|Mmk37iN+he?gJ{aZb>Bl+fnD$2zX^#9O z9kjE&|0Iv~)XTrZK_BLj-^W3p>Y#HR`7d+OM?3hB_`lk_8h^eIG+X-@L(t2;;cA=<2_}W1(G7iZae;s}IM#u6kX+X` zj1{?d{K0a`@SQ3GB|a{^2CR<`lnCkh*jW0t>V_?-1NJyQo00mgq*i!dp?^7@>KBwE z^%;|m`dsso)aM*rTlJwLA`64}Ts1*^4DyU6GZnExgwHU1S1I~yp=UPS70rJfim>+& zGr+ZA2!sw5P%Ylo5d~|1g1hV3JO&>n(1o9cb<`ZyXv)&?I}iu4o^2XzVPX&PJN@M& zM|`V2tpkIitLX_|A(NM{y$FutN+Wj-v5WHau4YL*8!KNTAs!J|AFfNxQ^-nP-8O; zh5<7gZ@v?tT;k0kQo{-@-kcw&JkFz}ycOr7yfLc0dvG079(Ece-kfa3n~VeE%}*#@ zxA(!2tJ5brXzo+#=~p=DN(b$C(2qIjEe`q%2mPCaJ`VE)z5GlEeT9R*)IL@0E4G(Vg&G z_)9eSVaY5J7rTdB7hfJ^U97V&{%$ATWh1lgi&{IWz($7J7a4X^qK)iNw=;uibjGW#OczW5HadSQOSzL;-c6xbI>+819+H-SEn*%x!| zi}US^!|jXrPqidJWM9`{JpA7IKe`TyGpOz`j^%U)*V5ER+jpB>Dm#Ba!H(3`C*{?@AM`FCPYSnSyR|&~G{De>vz+9dxlycRd)Ng5HP0c;Q*l z{O%6XydKw+*W-M&{~I~D#e*Z>AFzL%6~cVMJnJ2B1$fM-266b=Eiay)0^-O=0Jwn-f*+0@Yu6JF6Dr+d$bcBW?| zrbtaZ4JHSqqw^!!%xWPy^?j_{d!6ZONaoouG(=1K*0m#H2Xg~7gl@7M?e^{qH+=36 z9BI7Jt8w4ep7$E}odLmCme}*xa=xf2XU!Q9k~1OS|GOMA^KH#F^1e4~HbeKoQ3C>_ z_cpc9HFy^0Q}~4ix&7~T9@_ZZ)t(_pcYD_-fag&1tg?9A{tkEIXdD1r@9Ay4a7g2C zXEb!=E*`?{op0LnOVp#lzuh{uSJ6_mikhIx*7z>^U7j;Brzqe5z9{%A8Q`)%!(Au& zwitQ8xdX?z11JaP^PRw{{|ghk;Xq|}nDuT_=ZPEIvW>MLShI?;_Z9f}6!`NNn|)Ek zfro zhw!D~STv4?;)r73drljGv^{P=kG746JEfQ(DV}`)Q3EUpQjsdhxf`wr(P|M!(#ZVUlelb%HzE|Ioe#MqYcU4?3-^k4M!)!)rjLL%}`f)u>?TN=a;lDCqVh zn`jx_t@BZwwn~J)2n{^F%o~{68PTc8gtKq=o0;(1&_q(+tbY!Uus<8i&NKQjig^gR zFH+o(*xa5;n&1;G&M%-t$RH<5QD) ztDO(986c?hHTzJRz;cXB48l5IIfICS5hGXc7PF+SJ-g*t-k zR_?vrT#H>&pauSY;;%bQxt|&+S}x#^tjk}ykqUn-2n^hQD$nQ5H48GoYdF#NLK0`A zZtiH^_zVGRw;AlJb_=4l!-Bfu8M6m#w+1{9MR=m8s~0}Y!~0*M5#fQs$ zV#Imx)vt*{Z8rTlXu9le|A@883s&CFt(v9eaHalyiL%#N|0c~|trACYT%NIRlG{Ia zv9We?N`ZfDqyHl_fOw6bzu5ngbd^0O_kn3-0=5||6chNZ{!}CYdUc@h-KQuk;#rM` zp|%xCRD)<0mjN;Iz)lTwH6X8;)bPEocdvynvX7Y0z&$#j1mD;w-%~MskI}S?$#y^3 zPO;fMS4CRLXl{`H_oG<~w$OCxf0OTbG(yI@*hUzr=vKQ?jt0#}`2(-l)y$7lgCeW* zHTxo_3l4X5LB@$L#v_UM9IzST5tZlTw%nK4Pxil;YpneqJ+v*?|2>O8PoB`qdj_OC zI3F&wPDOZz_R*Ff;gOA;wV0z|#LY$g3(PggX8u_}EHHO(Q&^2x$y-!qM~^sR5bn=m z1R+ce`bcf^xahHg0W4z4POA7($NO*!Z4m--1IW&+<+UhwkTOw zMoUeDw4cc@>TXP+s;ezxF=*&&G?dscPzw{xPiWe$lz9u$-ZH_6VV?eDgL4wc`u_;siTiNsK5o8uV?wB( zv99x zP^3B`&z^LQiE1)vnCDQMWUT+k(1Tzf8(h$>VANdGbDY-bN80=&P8iYfu2gG5*sj)Y z3{6rkCO)6<{WHPv@m%Iu|DJsBj&7cjP+vU3YLkso{z0C;W1IeM_}+v5K3saY{nf@yWV?4R`C!f?h(i$-^?oLmQj=Kw) zc90Tv6&u0rPs|VI4p5y~4bDbW6Uszi9T7VwtNSCEc*i6C#yKVpRxva9Y;67^KUl0=Nygo z8YJ=os^8fHa0MBSR1u1qea;{$J)ENm*-zLke^!&NkiN9~1Df zB2!M54x&+N0DKgNt)8)!?Wn5LgU32jexO3(b*w>pyYsDCvltFK+Dh!8pxY|ze`l!kuMAqYQrOWgEd-y1CMiKT+ z@N}EZMDWP<`Q{n~AgnWC1;fX845aUt0L%wVUwcuRV&4mVJ}Z59zJDVv^910rWmt6W zFk8q$XW8JvJ>id5v;C!CZZh-W1$at3!E**ecwYL~<_7dIW*^F)sjZQn>%XzM6Z%1( z|D4XPc6|Q2^BrwJO6I>RkfA<{v7egb|EH|+S)Cu1MyQVGcxZ^|WKW^YBVSbtJOM@W z&~IRHZaHvu6SM!ru4m2HuzP?IIUYS2ygv*w+x~ppO!3AFe{Xo|7^a|fWhgJM_R>{rGMi8+fe=pEg^2qZm*tQ6e2j%A|# zVCX-_Ao!M`b9AoC*>ph)Dv!CturV8RhxK-K{v~evbYfc>tsiNhOW;e&g3>;C>fQ{f z9=E4sop~Z2v6T41mdTB7q8zaPvD)ANr|j%PbcaBP5tetLD?SMfT@er7jf_0N zwGhwqHoW7{d&T??#Rl?T>HG%)73{6`@AJy(9>HAjlKw$!edc*CN1LuK&z9%PP|g^hJk9!(Y$3P%JgnXi;ktbf72?= z%(9qys1mxKD?&bqZa?R~VGpEmj_sX`?YYY^s^8X|6Y$93jd&$1YtQX4PY`JmsSF?A zJfe-8buc-s(qXQLTA`_+RKMo71l((_a<5MYqoESu)M|!o&Sv-sq@dIjq|_txgA+Jq zNP$XXS+3#_rhXx={-D7jwg#S4BBd|H0=(f>Gan^)zNbx+LS@LK(VhRq;?8<96Rw0@ z7zq;LHevva{`om-_nrC4%b4&f_RekC-xEt(9lD?Sg+lty4c{|;kFeSjS zlL&ht!iPPl=LZm6Q2fU3oc5h{kh$t$c0fLNoN8AOjqaoRFbVg?&2J=k7wKw$gM(FG zJ6}36wvn3~=n=t;dAJ1u%eP>p<&LG>FC(qnzic{Pz>kgx&6_3(5#$ufdgT**T6QAZsxxE=ux!)KV_}NifCHPVzrn{wYi`n>;E%u0U z_F$t~3Ij1D43^}gHa^OXex~+p5jK778i9LhHDn7|X5VHG7Q?Qg#ld0T%_#*Vhl&qI zQw8P))LGtl2%YkwQ|K3trQWOwxJILLyY@-2A!~H)B(vsVWa* zu?JHh;m2dpM)MU+R{Yk~=u+fTQ=<^)e=0J!T0GLr`#!@wXz$>|3&BBGVdw9m;6|I? z{WNoLGe3V3)57SZ&zMDevu-`os)A=&jQXE*{bs4Zu?_0K1;8o?nsnZ;N1(SM$Q==M zT8to{CTKnd)f4cq4~>Dwx{$39k{A(kc8rkg#XWvB&!vEB8ei5g?Hn0d3ePOLNSSYp=V=%yo% zv{;?_VKzut@x_iG`Tjrcy=3g9HCiF$>`{>rA~z!Z5(6-KGJUX1Bvick4Wz>>RH&GM z*z*UDIm#kTElLUHdO%~5Pt@qK8)Pl3ffRp9c;xB4}|{%oP~8#en7fJ!BUG@eR9)*p5vn|4aDK$)EY1 z&8rysQWSZUs%1ZKRtw}=G3-ib3}e`#zOTbHp)+U*Z&pc^f25ON*-A`f-pV|KRGy*H zJjXcm@Nr(2QA+**2w5+Cv-Tct2d3JXP;j}$pHBXZK&ZWP?CGdbaPZ@7p1f9f@ZN0p|{!mydTjC0>e7^N#1-9OH$Y@VUc0 z1?OJvIpf?jJVWw>mxVhGyIsFezztr{G49NL`Tlo3hZ`?k6mI-&n5Q4^5I5ky)Hd@Z z+6jv)HN~?1#+nG_BH%tta--cteE-26S`_x#G+C@C__J06E*Wlr*78! z$2j?u9RiumCc88Dc&>5}#!BlKE)Fi z(<=_e5-JPzPImh@+iPsuw~_T`UhmG2ZF}K;4`3$iRTP>T4t8Ju+AKa zb>=frv1ly<8+tlk8u1fG5V7av(AfxTs@-Vc$)Sm88m&HZxBU;8L2id4g#C*v(lqnZ z#spV>U^1e?#{5x}lRc;5c>+#{zB8LHO+e7b8^89LtFPxJ?wqbqHiwlUL+0e-}xR6wu1}s7B0-Fq$>XOU-tmtaWE%(Dlo1pxGDY$)FPGJ6abimGN$v zUf_7K8)}%>j7dL)b8)xu?c*Z$(U(HpBv>ojKMK@Mc{V&Cv|&M`~#_KMMwGa~rv3*q2Et+*!@d zXFLc2oOlIRDtEvTF_9P?;=CuZI0rkO#_|^4a?m)3s@#x;RX)~q~kz%GrA z>OJOnA4LTGt^!cIHEowe42X}BZLJo0i4z=jbyB3eoDy|umV;Lz-T`&YpU{+@w}7=d z%Gw$0%lpwVWZlSC{}BYZOQYPM#d2ROo+Dmu-oYHQOW@5q!_Ek^7NGzv=NOBRkjpgX)}xxe0zzP=xoe_nUe zL!p9Bzl-YXbRVR1{)6{$V%Odp=2#9~&%aAXJ2*xoPF>E2emto(-TV=CLwy?6uu_2G zuId<`S~VNSbmQI#7{lh4y)*v>Hto zp)km_M-vSGVRP(<5!tUjD!Onqxw#A3t&#EYV7QAcCFy!qA5ee{EQ^!?aXlGH4+kT) z(ngd_TO+@oW;J@hQNSt7X^xFGw!D0lZ*Zd>;I_eW*dM!9##Iy@iurtC+_ zZN1=ew9W0gSQ`}H7tTM;`Q+S8oh9<3{gq=E-K(mOTVo5uxMY;hAqM9j{79^GKSQ6! zEmrHroJzn^Np#of*GyY zkpJ)c!{?}e#E%=;AFe)9oS{5B+8ss3;+3Ul^{toI|b zpL<^DYU-XA5=SzPWFZ=GhxRKd*pR$(p zhwsBDv-faX6{kO(geJH9!z)qlIQ`*gxPjdtmPWbb^oQ5UZS}R1D0iIxa2L6){xIC; z?y^73B4-!QMCS$P7M9wxCj4>{?J_si1deF{t~Z0e9V;pANzw^|G@EDd0^!a zL}9gR!*u3nZ2fOW2r(yisNFgV`uX3XUO@~J*r`^&8{}%8Prs)Cy)yFxYWe z<_MH&rlUY?lk?gglpTLYE8eFFrU6UeV(xgC9Im^Dp>jBV#Un>@9z{1T z4not`vbic{a&tA$7jDRgL8U>188h%q4SV?;;;FGl+#@5aSSiGzBYHm_wW4V`>ii__ z6O++*8<;V`t=S(57K5+}tqnxik|7{(**14BN9QX6Am@*kT_SRMw|x9zSd$MIz1C1$ zYg)V8{PP{=7R>A=j#tzkd4=rV;$Z5&i&XlU?zkW9-z2X#7;I&(8`#~9EYef!oNkT-4Z?$kCc%9X!?#`fq3i-gj8h0%p-oKiug`e}zT)b9Pt1tmr5sC)HTb|H zAJa3TVyr|&>~FVWfa5yv(LLf`ui{*dDvP2MVrc?{bn~3OkQHX&{FXcjqR6gC&a=>{Y z?3ZF>XI!_puCes8=L&sx(8|l0D$knXeSL5Z+=%6ns`j)mKPLer+R=9$#1Z9NI_&Eq za0jnXlbxNTi;!SGr=Z>nx{lEO3c}+l*#9|tCZQ#OaKj!8lO1Ns!xXzF8|BEJ;E(1t zco!KE_EXt!G=ra0IRVVedUtbSH1r)OgV#!xZIAi*$Lfw2Uvh z9=xzdhRbEl5y9>g_M?CQ1$^GuQt$v5cFc-aMbdd{4FKjhmJr<9CIHu;yxg7nvEloK z(*$qUvycFDt>K;`ZUcf#oyR=H9h|3%=Nm`4J&s%rc%}OM4<{-zU;ZGnITWH%yM>mpM4bP!byYuaqUk&60DVV9^_3Yzq(~@Ps43}!l7OUJ zS$h9_3BvOf^4OU+giZn(xOQ)D@B%zrXZaA7i@AwCxSA@0l$ zPl|hR$7DBtzR7DQ;LLS4Iy)avkKrEy{>#&>3`T5*uJ}{QkBx9C;6L#fd0*p;oU9X> z__>T8?!YCwZggXTDK?434~Ym`B4e^p-$Sz{YzpmW9Kbnl%{Xhfff zcFIR{1TGn&6@d2yp@8QDF)||gt#T%_oOb$av>fq=1N6TDb+{z;0QnRCZ~1>53;88o z$VYn>$~{;2kPF>xD97(%75VuvL)3g1xKVszwD`JyRt^5j68?0UF&lP794r4%hQ5556*{Oc@txV8MrV3qiO@5Gq=w3+P@j)Lm1)Wcn3yrvwt1k!EhIY(pvEA`%XPP|MvfJG3 zM|A^Z@JxI=?w{k^z6Cid>o6ACbS&iNcsJltj2-6n5SNp=!SEiBfRU?yr0Q6_42&}% zl=0*u#@_3b-J`Bg@$|yL+;A_Rp?ElYKhlpa37p65k0^VWtYfpjz`G@26Kts&LoscS zwHvFzV!KCbF%kh9cDdyT*u`iX%E%Y36InmP>`FA8hXKgaumQVjmWDkw4GrHPv^w8f z{BLQT-R8@S;~K+-A{(xzA*i})PkRXF(_cpO2PhG7*t`H14ZQ(kE!5)(T`Pk<*Y120 z-j7+2f9wkLL@_+4Kx0>gc%V{EMVq$bmz@^gML~Z+o6evc$BM04y{srcxQTMMnXfi; z3o@@AcfwcX2M&cJaE26a7-c&Fo}yAt@cP-d6YTGUN8_j(rZHSM$sW-*bHYi0Q$WXz zEDJFZHmsn&X1&;@sI~LK1Lwmyzky!0%Ib9^-2R4D?!X*A@WC^>=4KA-nPZYYhggS& z&tVe=8dmX8HYTq)&+#44#MO#9&g32uDz|G0nIaE~d%uVA9jD}P0tN$Ip5jT1EN>Tn zD(9bWhTW_^_YV7@QEQVj+v24$%hS#`TD17c{*Ch+tdDhfGB`60JsSaEYBjeB*Oi8fQDK3ia0 zcc2~%6RFQdr;#htPM?@v)#p>7UDxOMuIjVftLpRlk}m7RSEZD1=R*s@qR&|uPVI(^ zTGwN7^d+<_lqx+fx>>)YG%D+S>UKQZtdOrNyWY)!^~7;dOj%!^${(&Y#iF}kWKy^A zP4vKR=w+MDD*8|$Z*%8M+T^M8(|G4;aE|<5>Gg|#Sj>11zuvc<5}E{+qv5$&EF89< z>k9MmQxOUSr{DG6$$X5(=92Kf!)QuMgajP$gdqEA6?<^u`m$D{iyW(Y$7y9vn)9UmyrF-C;p0QhSaE)} zmysHq;5*D;_F~2zoDa+6&hF6ROw!1(~Qn=7j*%9+h`}p^98s+^d}G%!9vav69n>gcfzV z7?;cC(wc5JNs;O#D$-V{v=T%=P;H8uuBcU@%xQEZ7^%4*6<8xS!*gQ@1+w#wL+TPq zgSE-|nV-)-LFS!-QF4Oo&_%FQ=I3*ESozHTjf}Zrb3D#scBW#Dyt0G^2D3)u_w?Wb zhYS=KxZ@k!1!^UkBm54-7gDQ_AX23}8NT~49f$-!qj|GheXxRN`;8cdUIf5#-m)`~ zUF|XdWwIj6#0~zS7H>|FqEIs#4Cl2X4YT&ifWC=;ed8)JWbPhv(Ag; zvmQZ~e0=@1mak6BSB@k+oX?+RtKIA0+{xDwL#Wztjq!R69i(!DE;g%S|(o!7|!a4utN)-?9Nw< zuI3IlwM$cE3`ACS_l*(9Tz@!)tmHL&Sa(j*0v4}zi|+#n!ts_ zl*=<6O398zFyq^wp;W!dQ=1rpzD-{^l$wbL>Zp|bZVn1+p;BmV-^IA`B5JKS+ZIp< zk+1Gmn*God@pc8zVflFM3%zTHc{R@E=6L^1EC`gZ%2@*|;|Wc%R6(Gj9nb0GWgp)f zKE6yGesT=7;3!f;?+f(ZxgCoG-xK&nfav_mUXREPrDo`2Pes4QM%^lI)FqjFuZN8= zuSA)xBK|WP7W+Str-{E+#Q%wkB7Vily~825Rmp8ta&a`Qe6h&IY>0A;W94Rw+-Y6N z?dy=cSjlyZTsbFI5O|ngDbmkT(i38(f3l56c@}r^WIY_CH}61c_ED42->HU=i=;U5ats${Kn5GNiAF2&7oU@1_Z+@Rg}?Zv*3Gb!i`EZjR6>rj z6}2(<_mqCDLQL2^SBX=+mbhNFxbvfWK~O&SQjfK!lP}Cch_H-z%)| zMAkjHCIwn>N8r65KnAS)+FI-GM`6;seBnH_PF4Jx#($BVD{YN$!I%d@$Om@ zACXWSy7Wn5UQaOy!Gwh1VSj#)4mh~~ri6eGHHjLA}4soKU52F|B?7VMl zx3>ApY^wa7c~&wz)Hd^;g_wtEgY#`r;!>pqmd)qcN}!V)%^#tLwhQoO+@Z};Ko*=< zm%%ir2*q^9ya;A31n>UXYC2CzjNo^oa?BwV%=fB+f1~1uHL`4evBoeO%YI+RG8tZf z!98PGgV!Mg$(l7f@6jvxY9u4=!dOTLGatekb~$UV1>}Zlb};@vbj@#=aawz6h#3uK z(WLQk8z_5RMA>U%l%2g-S5}(tLZz%U-Q`GD%BpRhC3L7$z|eW44!00C2;ZdF<~|hM z`jPE3X)y(V8)GFY_-!CZL5D|J97VriU6~5o^RCiBL2&n({eZS}be4o!FnXaxr zb?VfqQ>RXya|(DpxZ0&o?=-wF+_?{4)d1)6P#3)RxAy|uV`{hLWIs;RL6pQRDfU$~ zQW_w*>f)gwklfi4EBs-V%lySIA~LI5r4X@CBNzVgy$>^zyvUJ)_TGE&`dqZ;8=B;- zbbZ;ePr>H-fuvUw8=CQrGC|XextrZt=$~#0d6s65RL+U+Kvs*t$W@otkVDe!Pu!nL zW(G-hxkjkgtB>BJS6^tUhzCMmCEP^KDL-Gawy-ga&DSXfq;*+-DkMt}^E=cUW@RwR+HkN9u0ukAp*OP9kpHdgq! zf&zI_?Ad0t3Fip;oNJBW$B3YQO`@Y$3KA>pl>OA*cnP66?mh^`)Y%toIejGcj^1D_ z7avO%%f)}ieundY*_fzAHaO78Y6naZ6R_>y=zgp=hgomU-ksTNi3Z>ab-=u!gIDkX z3PR?cIRUdjYy_W$ab0)eVtfpBcjPkVAnxcTW^?DG$Qd*spmHP`Fh^x8J&`ISHH@1O zNro{~x3w!H5VZN^nzzwwE^o{ZH+n94dKP#pIUUVi&E~{dIw*}l)m9RN@Cdo@Dv~W$ zc&bUo=hk^HI-F>R+Jy6hKpScRAkW zckzXF_&sP2?-Mj{)@9doF;zXBe-lwMFI0Sc1-Cr!;l-dzpRm^A*PzH1*qZ|8NL?{; z!yVW`nUVaEc~dum=^S;v1voCu#{?$tGE?J}26rQe+dbz3+-?ePm4e#=aN7&qH&73_ zUgv|`Q{XZVx(T?6MsV9JxVnOy4Y(PA8y?91`(WB1vj4oaDy{#KQ7(>KfFtx{?tOo{ zy$J@|C7KC031?vZ@HaV@|16z}r#=z7^Q1Nb zBQ39A=IeoYNPnH>yndLk8}PM{;E`OfBZ;#bz3P;D^&VdNXZE|qrYGPfYyHI^u(%V8 z7wo5v5BA?iDpE~J4{2jH#;1uk>R7zMWo+lKF5(QGJwCM-ns?MN-GFgrb|7SP@D?9bN27QieFK9v68p(KfO)fyaMV%*a(`YS)MgZ#kW^ADkn z8dl?-o`ACYgIrsojP!;>*y?aM*mwiEp9boFYL0Y;qfT(+zODNkXaoaE?7>)V0I6MXG)s3ua9?WgP*>H{G!McF) zzBcY6h#BcC#*(jvJxgn}aew3J$41sh;`@ z^w^gTLG$ixz4=i%R0$bBY30WXFxXW$^4wBRzZ%GN zl{)fMmP;ruqF@N3VWA-4KWi=sVB(kxzfCEWs zjtG0^l@)7>L}Mbn{yiX@pg)4@MT>cf>+p~+^v~vNq)>VSh$l|L!=TFa3ip9lavE4x zZQmnPxvW~9J$Ptp@yWt?3f0XLj%;7Rq4YQ=Qs8mR7RgG40DDBG)Z6P&EmW`>a~5@t z&sj@mAf|x*E%Z{Pu#^2EB*c)0(KCta)|*jWZI^-$^c(<`pz)*qH~<9;z6@Ukt%#@n zBpi4B|0Ix2J|NnJ%Y0pW3c#?JsZJE45KLx|qTIm-VbGnBU0>j17T)3%<`G+n(QF!& z&csW5u2ZA8Q{!}e<`-6J^S{`=9RkOO5LI1T%G8b5YULfkYeDPGj9|eIZEQIiufDzk z7zO6wAO3edeGhE5A26@z2$pKo5uQW59wK+K9$ViK%(OuWt$Yhd0)7?tP9PRAA7E8v z9)!zo`5L}rwmsX?d$Er@TsK?k2Bc5hKP{nNU5DkTmF(c?2vo2;vPP%4Fpue|=YFHt zZD}5|9{4x5FhD^Zc0)upR+xd0(QMl<7L%QsE+%M|E_3CsVidh#8FCAy_!$}8L>>AM zG?9y}lJAk-@zjnXgBTkn9UHGgu>Y$=lMAh$vaBYO!nyFIStXA8NU5Ejd{xMW#fi=~ zqyLIjCv>ub^GY?Ys;IHw;9yahV8C%@MNIPhX5gaGyX{_3W0(} z!^XNpVk}DBC2h~QFXciCW+}M68N_1=h=Q$bpbPx5D3eVkH{{-ulL0UJq7JGk=`LG5 zk_1YHGsPuq1G_`lVr0`Uu`U+xPB;Rs<&e5vv6DBZx{<6^>kH%7loEr%Jdczug2>Y$ zdO8QK0g!>8@=!Vo7Qi^EbLsF6;E;k(hi@0z0zs*=rX;RKxtz~>Mf1}*+Fj3_6&U%Q z1Gzub1rD4A4JZriTQ>U-g2F#z^u-Aajmr7WnH_`H{W5n(U?jkPSCBbThDCO-eWNM^ z-ckl9g1vShRdyv)pz*0I`ATBo32XHdB?A`^%n}vd9cc8`K270>&yj6>*FV zW;fKi{)-ss!Q@&0D2Wwo{M;B5n%n4X!n3XKKIXi$n)?6LY5`$4KS8fE58nFo3W$#p)o5%BDp=!K9w1bNR^KO+gj39#{^I5N?PpFW9Y>e+j&T z#t(jYdHaF4Dzb*BlT?+0xx46(sn>0%?Ax0iG*1c@e5aKwm+-=a0D+Dyo99#VT`H0< zRO_7kG07YiaX7AI;ElUa!Z~OU&d_$G4Yg-G(O=OA!+@b_9?Yx_8o=D>m6I4sQDe1% zk#6y@VI**%zE)NSMd8GgcpoyBsdNn3F+NYk6IW8OHF6nz7L8C?J$y5cw_=4sV5}6` zzlh!gsVTejb#hMHPbybZoB zewz${&B9@L@Eangx{AexuuS2?d%O-B*b0_T0u8FLgP3L?f+oQylR$?m>>{SAh-7%W zQuguEBZr=mKe)8ql6Z~Hh$YY2ML-{-4qPi~SduKYremcGmj1`~G=@3hslHPs~=dcOvE%8y>ge)P) z8N0-zE0DV?P`4LrPS2(24<;69{S^cjvQS-O_1r_1rZq63#GM19ly1TU6N}6zb9d-U=oj^B@AZ2`prlg|Keaq@wVE(r@3 zYh&MLd#TNWQq?$-6VLMlV^tE6HYCKn7c2a7t~=2R(k9xe0vr?VkEob9PQI+SKfvk> zUzPAFU>Eztzd#ka7RdSM5p#dptFC85@c$i1&Eq`G^;*$0=Hd&v6lpGMxol*=h*H*m z1hsvLbC<*DBbmE&xWZO{8X1Hv^(CI?;3fC^%6FLw4wdgRW^Aa+9(XODaT5|$s;UHC zYoOj>rj}N@MjcRG%~Vo*OTt1G(Q8!HN>Rh;FELjk0m~-YM>?>Q%hmkEQYmK}soB{< z#|{CemO$8?)F!s3Bbv?AK=&N^8R5_N{ORZ&qGfHx zO)caCtWv>((Kh_f&B$WRSNqZaRE2oA1ar}KPE!xy58_t4T~(W;TfHC__Fu0=>S=MV zC#Xw}-w)H1Z!X-!o%(8R>(xHN5205ImpfKEDt7HevAa?fyIy>mxR@^V|6fhJ?7{^%A5o3gvuLw z(K%S~QDi;aQM>hq;co^^9l=#~TKT`h5g~I(PRQ&)1Ncplx2@1BT6mx%RP`@`#g{WF zcP}R_pq0YMZO<_up}p(GZ)$#Lnr7AqsoLEj5i1b+X=_~SRro73_#_&jfWJ=~qQ{Bb zx{f zWp3^YGPC2d?%xiVS;q1VcNpn4bY{Ibako0 z#GK!5OpL?_u9n90Lv6yJfV?vQ)YwBY^MG58(lyPl-_|JVgpBWK&VhtVr%U8dShT@Y z8vywvK=x~CCT4YweF7jRqdw!zXe9nZN|mx2`yi*WI?(#4@Abd<+DHnFfGtc79 zE?j5M75ew+R}=X%an3$V*94TPrK=jGud%0A=bG85BLr>s(`++&x=qmLN$C8rY$VwMKno@y5ZeZQ#v4X>Jf)l|~41g z`x(y;&MLN%exJv29mj7Uz%2ys^>EAca7$c=w=gLr zpjhqIW!m8fHl^o&DW^y8TOc7yX|2t>+a0>2KXbK6V4;BWu}y|PBUN_ftQQ2C&TUJeNdM6m8>8E>L}b+xj+6raLk9=RzoU&azP;~&FXarA+XnK(c!>DWxy zN>;1mjy`tKx*;>zW5AB#EunbFcaAztyg0Yp6#(MaS=1t@mHf8g?cSr^v1luDHI5#` zg965|%;a-zFCg#TdOv#Th& zCv#X!6j5Eg;Mgu*{6pEwMMjEL|qAL1?m z1Yu^|VqD4;J|keg(@|Cl9FV*$tBJSm3BHa2%>|W}c1@sBv>|H*6_=TcT%X%#WFj7E z5yVCwzQCx#JJfgS?i|_F+=cN?zS(#?69}pS$}3CX&Ma2=D*|Bz9FiwnDm`=_rY`)> zt@9D@E@X|4*n3K3bM(H<(~)?I=2IuE~j=Zj{ba#x_uVEPDguS@Vr{#Z)6gvv@e3x!sRBmHY4^a zAmC?MHy^FVPYQbM##e;z*9%q-J5`&}idf$XtRqJxZ+6B_O529}@)Zt~ku0EKWn>E* z1r%Zy?k7ecFo;q5sXd#zN9m_T!a>26|0od>c*U;&fI!JxlAJB;kx_GNVUX^|pT4;MBRcr{zHCZ?)&&vH!OgNJR1ZCDrG zT^c?nC9g3C(yzP~>Rn`;AHwi%u`S)AyAK||+Fv?sivw4^9QLIEQS@?fi|+0kISB?* z-FS5s7krhuoTySs!}qYud^oczhUDNGACmN`H+21j;))C5-v zFKRQgc}e^c(H~9>=kd(1U{Pef5)a&uVC!-i8*-?Xto7PUPKO+E*gQQx)irzC+je8> znlYlxb2k`0Ul^}emJMO7XKQvNRMp+OYHs$Ig4VoEp$UjElD~Z{0`m^+-BPN z*YSOHM6=s9iOq_R$i%P7EX$9Cg9*BR`TEbh)|$c(aBfj>Zo)2Heq~0qc$vVtM~esX z1E@83QR6O!^pPb((K$hv0m@gFqZzlI#PLqK=rd}mGQN$@UClb-6I1igv2#Z-bg>?7 z!aQ`7^^SiN*P)cs!KYtA3-3mlNTH(ZJ$mPd|3E(-exl|d>=h0D^sEdrDqg_qDf37^ z=`l`Z^x@=ScOB7YWXQVeuCGCJ+%%xb`t{^PT(__zWXv0SNl<+qIW}1${iVRY5OZ%> zcfCNtJr!pl5cx0|7ePOQlwMnmfoT=8^kxCAq%MXFh6)x1jCsR9!1xApSN1~$l97jE zAdrDSc$NI8qSxiHnY;pv5bO-q(E0}8>WCY4vqh)QKnNPKO`QVqrDfA>thEs6uLP~E zGmtT~1ji(ApMgrUjL+dO9Q+wAIwFwxP_-;`|8AANU>~MqaACVM``I_@XB;D-aiv{s z!2lTo`;HazEbqIf^szs37*b~FcV76F`q(qO zpvq7mdm3NtM;}{P(v&{-Hk^PdhM&IZ|JTQUlRjpHo&UeCkChei!aq+JQL{3PeG06= z%$FU_4`}5~Bkk&uDedbMPX68X$(E;G_bBi=gWl7*X$rIj)O$m=%eBf(D|(M;p3=u zJ_dWFx1*JxiZZt4Q+lzZODUI`O1XrFaj_QPOPmdo+gW?^!e}cX{?9VNS|Ma(*Iwd|CRduz}F9~&!3MlQ3ya+pYPR^ zkNel>KPvp+(dWhM4*Gmz>LHo5&r;BS&`;*m7+OXL!MP)hc ztGCbDpeD%qUuUFd%lGT0`Ut1`5vl5}o$807x)SP3RNbqbx?6HQ(CgSJ){MiePF73U#I#2R?o~( z)elq9x4xzba%QS}u2VhFUwtDE_CUWSPW7x*_1y%7_M3T#*QmNLJ9R(NJc4}S)Lpq9 z-?&N70+JNTo`*6H&8_F*?)YRfq2x{Si{!fGXQ};r^26k^jCOv{QQ`Lw6QxW8(RQ2{w^$w`6hJ2->_0>+@UC>M&ZrVyHpvHIG+`2ER zy7^As_fmChow|#?x}#LxT&M0+sk)Cjb^qbjy-d~pgHv~Cs_tN??hw@V*yAvWP7L7J zud42qq^cJ<)r&pQyFQb;%bmLIQ+3-qb=!G$-&1v~ow{4wdZhS*2!a%e|G1=hO4a?V zQ@1u%ce+z|HtIHJj2BTx#<;XlF-CH;&pwk}lU$u#nc|1!yUE4LMX6_=kG22nNiuG7 z(Pz-QIot7q#wlA%0@e|nz`xa8?s&>pd@XO})U9^MJ;I|moUI;af7BDcZj$2JZZ8Pg z$)0v6YP<&MI75_62Fc_gBFt&o~@e~jDRc6kf1qefUfR6#_4D! zevS|&uCxj_rNCDiVpUQ~C7#Dzm1qYZMdK(jiew|KY9A?TuKb4DD%7>wUH1xNM!KGb z&rO)CyU)XoC~&F7VS2R~XM#pI`>8y6OSexG7#d}@Ed8MeOG|6LGyDh8E()r>0wfV< zL8Vu~Nh5c;vjwaB=9kg*`7ff9)%`-W>okb_P?~J8qH%*rkDlJ(X->~O;5b4ne*|50 zx=(w)-Tnt6EZK|RrY?y&X|)?f98T-*cK=#Dy4`P!I_zjwx2C$k`eiGW0Tu9t3)}WjR+2SKD4msv@Aw|D4pfdGggSh{AqW8_SjlZFv zG9Apivi?+6e{rh*jg9NmoXYw?{~7fURrM#O>R-{g{<*B;;IxF_bXDKnnEEEz_?wq7 z-Pp#HtUp=iUg4Rk`ph?!*6)WLoNi%#It!uCEmHN{G_KEaAp8Q>@2Tp4{Fq0h;f?EO zvx>Sp)6U{IyNHuGvcg45-4*@W>8w*)9vMQ_)XTkfF>b+2p9)N`fV zwQo*CLmkkNNFQDy=l=KvU=j!6O=FOA@d>Eofqac1K2!ZjBBv+L9}{yLq4pr28|(X! zr=ADyPYhY@tJib$g}}7l+$8dEj{Fso+J8XM95n=XY6vL036)L?T0+aChxmW@HlAq^-{)FEWSQEsrhe3tzV;}+uiEj6bd==)&bH*Z1WW@VcyYnu=a`Og)ziu+N;eC~ z5pK}BEhk{C3tx|@Cxj1!mRV>EZel$O``~?~8@xG@4Pj4Yo$IERWe*2LtU#6asP5@= z1QBg%E`X!yK{Lr74n9gEt3~4mwpXHo9It`oWcWw9*_c$!CVjjo*=O_n)yf}(yMzBl z{@RMJ?w7w#2mZgnUu{t3H}O|%EV;jdzutfDzvr*f6MhAMy$M1z&0oeT`{A#X3HJc} zwPXB#`0GeO6#hC6nu}ki?uWmQ1a3|7*9123EBI?wmwot4w(<2E@yu62>$#|W-~IHdqWOD(9WeHN=)5>)?X@R7j|NSZ z&sa@i%OZz<4+{+dRSKYqcL-=06uV#aG<2?W@IACKA^0J8|g6SgR#*URaaotJSpr~TqWf% z97yiwOtUQN%6fggFJ7uiWp%?(r59K%Mcg8`J1rJtCIVZXFU#NL^fTcBDU&N`-VcYy z0oh4}F_cJ_)OhWP^Wc3RGKb|bW~wK$WOd*T%kU02??T?%p99(j|F+kH9pbf-6(NKv zkAXtDcl79Y@dL1wCR@ zD#Q`B*E6vp7y876YMDS#C|n?q;bR>7C*A=F)+;d<$7}EXFfmHTMj+eEKL%^5o8scN zLGx8AliFkRLj~KQI>icgL&Uozv<y%OIC7`O{G6j> z6ll9UVc{CaZducZ1HS0cD&H}+qxYae`7ycw86mA;vYj>;5c7#sF$rRYSD`_0BRm`L zOw+->;&$Fr8@h+t+Q+J3gx6XXf3dZGXe|jvuduZT>-02OpZQ=F5!U-C@GXJK@&1RU zXjYC;B=us{ZDrSq_)t=<;r^F#F48J?&)tP?Pr!%&QG40JUPI}4ALMIj zGR8CUy&~lU9=P=`xH}1MiUN0(2QD4&AAJLHF~My?fgja<@Rq%^jQ9?>p)5AkT{To4 zcL|h^_ex(wUy+~-Rlz6^Z+Bs^XJD!)HsK@(^uFE$myY*)K5&l{+{|CXd$iY(yJpxS zHZ)Q-)KKo=t(BV)g=xId-H5b8 z+_%W1F(`?YsMznX{PIXE=b^Cu^znfEHGV-TDOo$;{tq0`l7I7!29u|yB~BatPwehH zpl9|Y7=vV$ufZHP2=$W}Dxtxo#T1JZd~=H-tm@k`e*16N9;u>N;mlQ;w=nVQJoMo`V)%VJlw>WXB z@0Ft}_G<6^?cn_F?ELNK{LOd%7CC=){Y3bwOaY#P=dILDnxSU@ZJ~Qya-EU zuN=lwAX2t7tgU?44W?E+56#CrxJhHzjkI8>TZHEhc*cGo8JNt=bv$>*b1lBB#czau zmoCP)i}5=jzp-NvEywR7{9cW3RwEn)k2>QgxTRMYOHRTz8UG_B9Gmo2unM5heTe(q zBK(7g0r}1QQknjb{i&w;q)0#^rH3UCrC;Fx4fy{{{J#AX2a zz1jPyAX-tn(H`x*Ik`0sX{_!$)EoGB+BZ3GKHDvw+u(llm3@)(X1;o}(tWeZ&U4

gKBo9#9rDa?ZFxt?2D{YRXXQBpAwlLqM@?$5z}u;kVSpyz6gb3bHNllxGt ztnY`DrJCFQj#lG$(@Dr=MZHqa|Npn-*;5cT|0DA30s{WON1nCB)OIJ02=>05HWwOX+%i zx87MwZG2d_yRk~*_6VCnJdH5h` z&LR}HJsf5D8_2BJP0kJfgZ^-)_^s-y_^bT zsB7>^wLMD2`SzgsCPCZBv#rcU07~5GgFnkO1;GIc!4OqhgYb1_j zO3A*+_k<{8D0NIYX+ME;3Ov-}0h*ma!4|%A(2$>a0}H5RLXZ53bP#u2--(IXH6YAr z`uKDz6!fLg_h(|Mf{05GJFLS}_LSX#=5Qr5esWcFpxY}B0}>d!na8Brn3Ibe=@aTc zN2H0VR$fT~q;x=fOb8Nam|agrv&@ACa$!axii)R2=V#+DCgAy4C~<>S{!ujPyFv5) zmIus#bR^|SHN9Yd_%>u;6RK4QtYPgTrU4DQDm7l{tD@=l%CT=iIuSfzuJ-DXf`H@; zh69aiu#jzgq%+7?E4HMb3v`w?73)?JA7ts zA>jnR{p6vFaAW@1h;ZI|FZ{lf?i9@Im%75ReKT_T?A6?-8f#$C%fP+~gaC&OL$L3t zY`Jvt$tlF={sAyR+9MBPr?bu)b`n&vDvDdkSpr#?w{ubH(<~rof|Rv6_|4gbm+IOq zGwXDGhSC}-bv8pmb1-OHloK>w9U%Kr_+7`>10yK5kZ})ZNvU%wTYY@6i(zwEH7+?q zuqh%~3)er^$7$kG(8cQR{H#coR;GSVa(~LAr*3^Sv%ZZGN4YLfzK+!vr8=;PFWEJC zl;CUoT$wmo$FtbFzi+*m$N3qig0G%##kqkEm{*}k?4OPP*_UG1t(((p@CF~}_5K0&Ahu&o=kRcfwB%HQSBiO=y|W~zLzY(l9Ib8`G?<+C2<@D) z`|KZ}KQ1N0hZ06At{rV3q6Qmhp&fKUS=}oPoM)Jwl4114nAia?9oYk*VsD;#C@_Os zjZf)uYd`%5!6I)7I>8QMo31!%qIA}}f@uyguHV?bv8%#8fUt4$jU!96cqR8-usi$9 zE>va2&8yc!%CfE|W@%&9Tb1|*XyVYc0RnVIUgsW%as_EGYms4mL;2B>)RYwulG(|9 zrbR|fF=5uZ{LsgQ>ib$CYxlz3guq7nlFeG&CZ)zK;QT5{OGH@-`z>kpjg}*mjcKlo z8RQq7SZ%iVU}~U9B}cV07URk6bTt}H{6vDp3U9=3pw2tJE(361vW&H?pn%&?fV1RI zV0`iC)EC{-zo5f}`^8QCqFl9+k^15f>0eyJ3fAo&2od2;v#!WTXsQlki&$u zc8*iU!bHB}AuPu9nI=MPI+>UwX7@!osb7TfSifoMF4zLlU~)2BRdc}M{p8bvNY-h0 z3nLA17)co69E#)g+JD8=;HcvxyUQXDph8(qBuSmVPZNpDXo-Ma;75OYkbI$-Q!!3ZRaSF_avJZi;=1w_K1+V?@Bec^+5cSM=$V(77Mr~rtUj3C zS2ZNsVw}|eQVwT7!jha12fgfQLDypKu?1TEJT?8Yhj5bCWd=>8rkbCb3QY_m8IyTu zj=pOH6QBeNmTF^1;*%0>&cQ*eIJ4L)M#Q)_ZWU*j)dCrTKhZO5c^AB~IB$va2P=*x zx-n9H98H$mgRkJz(4(P|)EfrKxarP>^QZ>e?Z@?wOjYh#N!;Kmv|&_HRqFdd2;-vG3ZB3fqq z1VcUWxZ+NQB~diH*=t|-FsuHTU}o3MhiXyn^hDn!i7Ee;s%D^C;v6(?FH04MSqSsj zUIh8CW2`kbWWAt2D;kVCPf_=Wx! zf~Qjby=&($^mh*i;K2QD^Nao6JzMp6Ufu81-+KuN{XO9jufIx_boWizrk)baP3W;7 znvWV?T#xyIcqQ>9r3P;4*xR+z=42O}86{wLWSJ$u7aJMFPqa$1m*WQ}ZD!;n*;at- zyE$76i6gh}eyS+CCu_KdsxP8y@*_3Rt-I$+`Dm0cVfidoF6kq!GECTAu*eOmKmk**ykc2fLZ#E zWaM?)Lux1M4uE2l+tK71Y;u@1$xMOByGq)XqRFJGH%c724o-i3Td!d@ZBUtxaCe6B zZgQ+U--W-f3K+|{WrYeaDTPAD0!%8AuQubd5ac?v7>Ty6$1`yHGG_PQ<{25ouh*G7 zf453ykfn{sRD#sxV6=|rUmL!X32R|bmZsprx97-&4=*Z)G2IN+j@dv= z$9%zm>o&Bq9y=rhcF$tt@Q%r6T>m`567~!a%cI8u%XWe#)9pD}La(;he+^|pmd#jU z4`7MzHo98uLN%6iVIZ;ZY00simN?5PQ(G$Z5(>lxS!!TTg94O3FmE@Ce^TS)3{KGM z`p$#RGQ8Dq1Z+1^?xkSQsnCs8fi4hbv2D%ll`WtQm=|M@bpf0Uug5wcs)7!Iv9U%7 zI-zQ~E#PU0dV0$7WY@}{0o~Ppn+ZkAs!OyP`Nh$_Cu-#eXI*sfwUIL=jqaB%AO@@v z&0t!n)@BrC#_SV&UapOMAEef1)CLBY#4~Ws0CRmr@gbHw>~NW4>K>$+8p0G)BO2m+ zM;(fRBZqbZ!cLWvik{ec!2T?GpxzlwZg?q+5MWIxz$$+|afYw=vo&9Yyk7CHlb#RJe58cexKftv0 zvS*E8_N@Gj#M>xrJRT|dLjZrL2mjGD_^nd#PZ9WZ2un`k`sR$Q1E(eOGa|#6i)APc zN}Cjvjf03KJznJMa&)?!Y?9)W6kdIS*IEzakD2~{w@pF(t3X_dQBE`m8TZpqC$*W2 z->YfRpa-~oS0d0V2yHr$+%JA9K9*7Gmj>_J6uj?lVt?}q@1_I6!#EeAzqMX}Tc<%h zJq2;9K;)slBv0Q@e*sSiywr%y!l6HbU^0SlPE5hOOyE6Ec=Lg#3(tZSx5^+OD8X0V z3)%Ps$cyDIO35o>DWBVmwn`Cd%8J*LpyGeR=8p5!XUWT3F$Yr!(`J|bD8wV6)SA2+ zYD60r?Z{R|B}PMR{duv)(Tek%NfqXRS5=m#s?^yBxwYW!RLVQU;wx0G7o=8cZE@Z9 zHpQ`J>q{!~6PKc6&?kWbG=9P05W%3d)}fI4^mgY{esUZ>kyXs=|KnrWf8lBNA2Nn= z7yVCyYCmFJ0Uo^;@NaPOMF&fu@nJv}__ith(~+k%R8_V(XaV_yfP8J@Zg4Z;Lfi=4 zzj$!}!ik|in(k23M>-5K8@~*d9I{lVD*1>fBrbt+04`C$2K(!^NyF3OPF1fch3TQd zbO&j+1_+!;c-(=8)Wj6&!pRsJQg*PcD1n{;UjV^ORyd4q^atf!r3qQ7+MIs~yq z6J~)G`KbYeb_cL7;&c)(pvZujcNgV8PHo zqKCR?%`U#qZ_lQjn5636gU$Ri{FY^5l;JOKC~JXI+J)`AS!8yw7SeHUyFrOtT=(j?P=0|hwn zP_ZaD@j%ux`&rTlQi)F;94HckW+;H(na8fkDeUgP%8aufI_Dl6p?)QoV8rHK=Z=^! z-QsM{06XJnjMy8_WI*F`s$#D}!V!+tyyj`vC!BkTp6BIlaz{!-)Y{Q(5f2QwR2^NG@tTwE3r?<2r>=;n0Q$B6@2pfY2{ ziHD9;x7eQ6!v^t&$nk%n`aARGm*l@wkT*u(wT1uIHJqn^C_6C3GxD-J2(74YqF*$k zOCwpz703x$ZE=}ix4xMU9IO^NAZx*D(loz^FEi5i47)98X7%p}A!y9Q_N@X2;(R>0 z`dKJmi`_Wls-PW*EQ`>CMiTdFwTH+lAxV*OJdw&c4rBFHG+@$WI;`8>2zRxx}A zHh~p-k5E)A=T;u15Q-N}Cq7!aifNSxF#XbN!Sul7pZE*@!=(EjN#+k?nMBnhp`@d) z1dT0v?z_5q_+ivV#901k)Z=ku2#LSfhj6c6mwZIqBxJ3@&6ZLv0bEZGel%2({5 zc0_4Z%6X!S*i$ZVX1p(l+?$EIIb=l8oWyo@vw{GEW>oPj(@8^y4;i8x-{NNlehz?D zQ_ocwJ6aDQ-I}pDm|N?mRI_^4FzrJwxkV*j%WUwtbQ5OF@XUYCmEj|~8DFQY@ze+#7APA9~PD7(`AmB zMVK)VHo4$WFeWCMiXKjNpvoeM-R|{VKKcPek;<%dnudLMvy8E>MGL>-QRH*cy0{gSTEyYwBQd@FJ~z z8E1wuS;U^%uOes&Gly`Jk83a0z8P^wa{q!8r57wf^xdI8ET{_^KRNRt zoEHM@kb(K#?=|65`M%bR@{VuylcFD}z=qOo~1r;c$WC58wLGwPNCCAUilV5x_i1;GMroT?50>U^`6J;yL1S`zc{j0x{INRYkG+b6X{zd`s&1<4rmAkL z>MC?6aUQAABZO6!26Z1(pM{>0sgJ~8kEzRnHn>jjQaUM}?ar0{D7O1NQ4UaUU$_O- zCOj>&K;~)CnCNs#=a4px2Pys=wLUsQE7F4av{-Bi_0RoxU@SE45x z;Tq9JM$ISpBLh8JCt9Mz>A1Z^_j5&Ov`>=4Vx~wsnIy#>2NiboTk3r3t*PFc>aAH; zk+>Hi{K@9Q=`wEM1`!vPHJ(@8Y(!9^29J!PWvfe|mi>yx!YDjfhUElN%#myu!7)#Mzl3mz;`$m{Y zicBdIzLXm))E$(8hS60{=Y9oK+5rVH15LqZmo0yq;KoD%Z+ryQCg3~Ypr~Q!S7HBv z_&yXGYn60>d0vb!!g_mNvQf@FZB`s$- zxmQ>ZgzP1MWj(+7V+a;m+ATmKsqq974lp9JDH{mxy>x2ZRZrtH%h?RYZFUxp3mkFl z)owEWaUKl^;g}?aH&qRSzAjfF-t>$z%-}+l%do7-?m2k`^vrVX0gGe>l6r-xXHF!r z*zPvr4Sahd-o|z})5>3Df01|xHqE>h+%I;+41)6qD>uOBsR;TUb2i3z;74?p_=Vz1 zLOkS&GfmwiTuE=KvO#D*M_y z0T7UGL<2bg?xy#+JYOq+o~mkW3sk+!yAkQz0KjoKXzet42a0gDl(9UveituFI~WAi z;#Z+m5&Iam-{aSVRbSc6(x*Z1vMLh$D-v09ge(1Pwy?&-&kzr#dME;{xtIhvhGZMF zfIJ8rrq5*T=tu51u@N?Em!ical3G8PBZPF68-|u&dpj(&S0R52mJ$*@Z;8{dlU8Dh zL$`$*2W_Vd1iWQsopDCuQX*1*IU&XhufYSjgU2>K@Kp^;9rKtrfgGa4CTUMd?%A6- z5l<<5m(LD&tB~azhd<8PC_@=P4y7I*qqYeiiO*Tpl7L&?n#gUJI_#Zs8+v1G-6P#_ zIqm9y`yljG5YQ7&9H%GaLhOkFFzCr6cyN010!I(kyq*kV6>B=FXwTb%&Xl1*?HlMm zZ}|wj_Ew;>2OTCww>U)o;A0;uum8s(YAL=H-rgG|9@Nr-$H6H)=y08e$LG{5t?6WN z`yAr26a|hwVVx2G7!d69Zv#Wh&xG1Fdxp(1qN{k1Rn(H*kv;}UVPavh?L(f1!XH*G z3E$Ai)gznz#%3~&;?hl3Aeqah(`6fs9@!IE1zbLSMiSP6%57N15!*HKc`Y3emH!*t>x3IvPF03Wg;s|kY?ea}P*&isGoa2lC zagt{swVIiAA9lQjo1153jOryWLRQ%X3<##`!MA{;UIES&d@agJ@zQFCa~57mp)dho z;hRb`t2==3A{cqZLAK&QBkNd{+ci%iaqBE`*biTzn-aFBQ&7-Uiy#N<<>j3Bj`xpN z-X37NTv6(8vu{OI3xCnMV#ZLQlnW-0jjU`nyn|VWZE4n%H^Rj2UR@ELC1CcZz;{x`_KXYtV0;UWni~FVb}vN3H>w&p_?I20IrmyX5QQ zWtK&4T z$e&O#@hQ+kf4z0&dewjLxl5zxhd>U0{i;UK#f_dxK7ajp8@2aHqvu|Yp4&Eh{uuc9 z&^?2qIfXq>qkWI>@G(|cUMgdUW7bli3)(v(<|7k~_yYi9*KD93%%6#=&Kp^&AVZ=7%UX|puCeCM(O%CU?5`XjE z92hHQhXM^9q9$rzIJPl=FmnjUo9gc|m__^Fdc5jRflk<=kYkD0QGX?+B#Jt3XEeW` zR=yNXdU|KCZY9>8@Gx+EM;{Q*nvP^MO0+@CuC#aFpt`uHfuNL@9lo9#c6lvz>_|@X zwv@h%>F3V7$&X`o4pqi}puYS=iz02}qSz0uw2AYI%2!5)_RNgjh0^dvCC0YIJ?Y~c z;Ug~Xir>y5>jVT$`H2IsXT(>4T{{j+C$tF!Nyw^jI$E0r5}@^6b~DO~*w(0*b4C0i zu@*(4_l*KjwGz#`9xKs7;0XUpwDMi3SXg3YT;KkZjbQP{hobgn_kzRYKfrBA;D<Wsks9q4lF^42<;z?etu(N8X z)4})~v~GbN={>Fd0vvI`yObX|`aEtF-kpA~l0{{O_Q--yBJ1RUE(9}F&{#`5I&UCu zbPjW|gCMS*WR^lX*p&mitL1mASG?vcts!39`RKIizw?CgMX0lfd0M-n(L9)YTqNy@$qIzkdu+gtm~?5fWi z%?%{}v$uRlzJ*zA7Zf79%|tLzbdFM14-J@OMKx8sTIf6Qu$;r)5jMeJYVqgrgPD== z$D5^ehmgZLcwteZzj2<7Zl_1_SBuZbBsnngF7*>nvU{ri9;Vg$ew3XTbR%U{>OXTj z`E@2noCsleME3-t;b8mKxjr8G z3Gl%q`{j>`9?ENAd2CH+7PMevB8MO`5X++5{v437ycR1<{64(Gpo*mhg1!o|f^A7n zt89weeYEb^ECT~hJ0ni4N^9&BAtqonAWShDP|$2!NZ6%Sj$k_-SVM6p0+?Oc8lY4$%tm>6$br;YpOq=jmS;d`G534ZVjrbY&x6Jgjubo`-E7h3HFPWM-rr zJ9(vp?iplNvy+Pe+@7+AG!n;*peaR(p{UF=26zGB)P|J<)@)@_p3QIe5ipUkbN0Zu zywF`fN<0cpV-8A4LvH=Q z*I6;0+aGcGl^H$xxWD3Ssfzxge@4}pA~p2Mcsko$-9*0?x8CgkR&nI1sO($16N~Un zxh?i=_x@VM62mXgnp?%0i(8iM&%yT4{^glhTYQ20^cM2ew)vGdltU*IeB#IkXxh$t zuU2~%->_2710=`+{$>(ARC_sfBMBrsw$C|SM|)x6LJ)T^7@cr$DK4sq1#c5{A^Upa zn6g^geq&g8RcpS_QVE&R2@n7R>UF-SUXNa_TMD+t*%cz|H4*3LnlV0Ln_h07|c>iW6pTMp8jyU&U zW32KCOha?~<`a1EBQEob|9$caJUYn9 zCy<98falW_G0X*vzh>WsCX@T*69}wOgv(poh;ZKg7k=NP91-E?@R0hq+hIshBC-2u89 z_Bxc}Ko_bobD-iT%nG2*z+Ifq6rM$`>P09hv4%`6^Z?XzVxNsl3WJrO@Sz(GFJbWZv&%SI2-=5< zl3J!A{t9j#hH*|6y+^q*xE@Lu3w{F5^I96A%7~j+Hbu%pi*d7O8@bt2i{s7^SJ(8( zw94Q>8$O?Jp8%={5kw@W|7G@!4}l#>cK)K0u2milg?JZXS~zqj$>K|){4g3_)@4Z1 zABR)6pii6aA@}j;c6$WGf*dMIq_UFRINRY+fzU);scgdopyd64&!bL+d_gMjvi~lt zjzlTJ~|zNn^6IjaK7x7`toA+ad;o38s&+l!ItTSm(Z$XOXW;{Xi_CuQe}*dV61Gv3 zZ2%$pI0}=`;vaI)Iq)MS5*t>g!vvqezN^m1p+_*9v0GZS_#q&wZf1Rx$MbGRi{}J( ztqII>@3DoqZ(!G#0epz*}ago*H?_kT!+Cc6+dq6AL|MhA@NJ}v?UtSTCFdboWREVd1^Rw0AUWP&#eE0Fo^Kbv*Zz z1Ox^x{y6g&$o4FmMOCux3aw;OsG$D%r4eqp0kLP9rlix3%+aI4SvikBx1U0{rBOV$l?Klj&)rerQKkNk z@!UPqAo}9DSDeiL+Stzgrg-k;Jb#aU@!Sszyh((&-+1npxFpfem6@6r&wT;><9s6g zY=Vj-*D6K$e&V_3b8SkG=k6dv7eUDTkLUjRUG){J_(GB!$8)ceTE7&}T`U+his$}^ z^J&xZ+>3g#|1$H^;<+z?S6$Xr0J2|b(kysl;I9nf@vA;@G8oD z`@ZD9QC6dUvmC1eLw~wB!MylDOM&{D}#BYmV11xYupnJd%6ZTVU zcpuk>YE0}aI?A|7iZGNT%(dD8? zE1!+yb}9Tx{!#RQ6?jpwS}Sjc}4al|BbAr4}|9{F$%HVGopYQ zFzNt{Rze(D4+xlZD%cRCUmI`$DE&mpYtSlTOe`(K3?B_>ug$yIY7q?@2l&QcM`SEm6);-{U_NUUvdx~kk&l7gT3DE(0jmY8 zu}!!R(4fS4;1I4zMg}OjqD~~up@EXXl6%V(n>3DV7DFCZ!5Sy%O44E{?t*!Xl||3M zsaL3o!f&i_2janl1?z`(G$zwJ8Z=-FTLAyH9yoB!wr`w?9ZA8b!?&CAmPhRbJt&~v zxlD~|;~;2OVV4S457KV0^PDWScuT)N<_vQx7&>GQ@&?=+;*fdg5QN2s%uxeK`$l7| zdt+>a7o5RK8{=UZR@nd!22M3xUgVr=TPIqEp9Zmpa zumX|rH~}1B!DHD$oq^(Tq9YrGkOVqAXxvfjFoB?M+(e$JPK|zzeaX40(YN|y^nVlM*P}%sLmWKGwYmVT!q59 z(9ahSg(Y^c{WcGO($tB~vbmLbD5)`S013Fic&NorZM*Vz0P^CYpcZ2Ki>!n+R~A*t z|BQI3^>|0G7B3#^xe>}zhokT|lD_Tr&zl+Y*-9c?7)x$#h%iidg^ZzUe;QtJ0s z_cu!1c&H9=8ui6PUC)Y)hnj>R(OK)r7C2SGgL0sL{aQBTI;+QQVx*P-(1O&N&ECLt zZNGzrmEZyOxXW&fB@Y}(sp@RD-#eOnjUJ#0jgtND@~RX4Iq=#bP#8^|c&I;U@dDy) zs=*mE0?qC{PaF3v1}{2m191%hDSdR<57%9^5Q-WA#v@YZR|%&GROM8>VydzW z007uT;hO4tduruJ5ri+MN(TVPSl?364j=8rQ~exkXseY^1!_Wfn#M4~9fSrGGw=t; z8W@PT&&KBDVazwb=jAJ3_<~#Z?!po;VNB{{u~s~E6bbk!$S!stbGESH;dc^O|CN+C zNWF78JYyD+*PD#HQk-=BAoo0j)Mr*Sr)OPpk-y(y|mf!24L!l3O&bUL`_k}vOKMRCEOd6g@MiqB34*2QoeZ+qd zR$)ba1wasLD+rBK2pyS1=(NTN-6)MBXy+ng#H;Q=k`i)^8!)y4ImO7DKSS(!;Y@8+ zqlr%Z9NR&aS~hVxdgOc$si6Dgwoby8&GrQ|6c<7Dkkg|<>wGZZhP_rgQi?C77rl=p zS!Kf(E4&mB4q4ZNrPIhd1?@UVgZ6{}LPsniE&Aa@u99+_p2{+a_jjkKGJhsk;)N5# zhi+r+7j}^=Z|xU4vqgEF3C0vj@F>_sa?-bb@dyZHqYTJi3RfMRwbYfYZvwnI8Gi@!)iJ9$HT8?Cb1@3Wl;LzKPB%KRIs@ zT5)fj8k1Z+dgE4xW+Bhevi;DlSnqC1!IA^cQuGD~s;9j!+%7Zr2GsLr>~tPTOO@8F zf?jkSlW-ud7tafp(@_oinBPDzCbFQ(7_TZ+q7Ytv z3o*uQ@;PiJ-$cWSYf*@{PV?Ftme$rY^xy-I_8@79PqD&Gukw{?l`oUZDi-l9)-O&K zs7|^<&Ta|B5;&X(A?7D=bdrYHSU;A}`yLXEnNE=`hq#mIZ@&g;W7DA|jw5Hs3a>ca zrQ#`R$o^e1J~6Tlj7Wl(#ip=Xk!sMDTei*y+X*tMQ+0;}PUX8F0L+j0d!U5>`4l|+ z{o8Qy2DE`n@s?xE-MH15G(E;`#J>-mi#LcEbA#?4%Y!&L8|3A{P6(34R9FWbC;A-5 zmE%?}y$rgOdvj8;cJgQ+6K1TP4agb4D%OtINOQ4Ov37fINX6P+NZaFV%p=6wwbjNk z!brv2J$D*b05{%_*u#A!>)Jmn(eO?g;rSP8UaG8?^G)_~SMm3LqO|_$>RFu!O06mn zPU;L;E1&MxIuy02U%5eJE8y_t_WXchaz{y*Q(M7h!Jsb*TZXF=tcpl$YjkA-Ib367k=7!1weUngyEp&IHeriR%SR znXghwegIub9K-&3@q{;AL7e@ZdYp?Nh#Qu-`ynoMYO=IFY5;%iCw%lux7J|P5)~jV zp72D`mi+A>;cNf9%LQ`N;j5o>31$0xt~)^c^oo;OHfkk4!iwg!&-wZf5S${W&1J0Q z$6}!K8CmSk17Y!o3xC9cuo&sqx`9}P1d9@pU?Mk;aquYLhZ@j}1byPMNwD0{XsG=K zsIjB}0jTlkOotk4P%E(z5?bb)Pa*go3oUl%sd&m&s03Eq(e@;KDkq9aJ>EE;GJ>y& z;z=)KVHk`DrRVwKY?8*xIghXdX&g^^H0&4YBk-n!D#30Qx-=Og>BUoq-L7qyoop#PEl5qq{Kdw!0SGgB@I1fsH`%e0|l3XCw(0S=^YtkR-pzp)#we&|GQu^MGOn*F= zkIKKQ2PQxD!7pEP{Hx@~jMLoxO>(vGd?nEnbV?#Q9GzX~yDPt4^Sn|is{jJ;Cg5G# zc|c+aF!$>l2aL~rNt6ozjQ7W9J^*gqzbV9v&x~KAlo0mp;2TJa-xim2E6C1$gn9pKNXvpE>woCq8o+eu(5bKz!!QV2jHgd; zO*S2$S@0~jEREwc1IAwG(gXLBmoZz#Dy=fZMdwNcUBGy28iZcJi_aW^b=Zy1q>}2z zXTDVm;c}IPI*wyETsu78 z^#z`^(2ip-X)Y|v2=wTUc*hy+r^Gw?UbnX{?6>ht$v>HAINM5Pjj^=W3V3|Xomg9%Y*3n)!Wj`eGhA{eY zFzxrQq?^**&se|2NJh?rwTg_877&@TH=%L6eJ2vDH{uwt%1IQmRoa~uxQC(C;yROy z0V+9N$|vinK}``BhjVc)H5vDa=bZT@ft!2nvp%2*^3HKjK8PEo$-p9St;`J<`ndw# zm=BE&0BHqZ6f`BLDX3k9b`XY`gU`^E*|8ah0)dBgVt*b}z|l;RT57MoXlYt|Z)H(4 zbpk%?@SrB`@ESn$Ok5keCNOdL58#BvN4_C*T9g-{%gG((8HTr(KC?E0gDgCyDPm9hoQ`l*@p3I;p( zBFrtSqzEOof^=5CD#3Wk?Uxu3nhD8^0_juPn`TW#Eg1RGR$sU zMIeWJ(P!40Od%si$su3R<%jvEoz)DQ}CTBl9u07ed8Gv|(v4ZO(FB@Isj| z@9#tg=1u1k&d5<_oC9Ob%Uu)OojIx$SKGllQ?PpEVL**w6SOrU)jp`-!BF)%NgqI0mX^fW;@>Gcw)=E##O72NUh4;gvm9CMzPE zy5Dok|HIvzz*kkA|NjXg5EQ-9f~M9bA}Xj=P_aaaB$AL5y-{2cx45B5weI%{R*_&5 z<@WR{?pn2CTU(c^w2ETg!Xg2ein!qlBFJ1X72E(<{_oGsId=)c`nCPPzQ5nk*GqEG zIkPs$s#hzA>n>T-F2cmmx2;{p`LPmI)$@D|oYNQ;X;x#Qkx|hW8 zjd}_T**LJd+BF3=i?V6XP8H{;a!Q&vEyp@e2x;dv%`|6GZ2JK{ed*o_lnjlHvaXJs zxv*{z_pUUz+!?%c(~*kvJ}du(uzSEQ_a_!Sy%|05V#CM*slKWmfStS)dbC7hDk-YT zj$3Rx!jWa}XfPb+V6S;~nb}GNfpYrtkA(#|fuX-wIekMPQJ{9Du3(z-Nxvp?OC)Ovu)Iv17gES#Zt0s;AR5LA|PMz1EKPY*5yLZ7xtfw&aBMO0xCN z=~!<{PJb1uH$Gc$;dgz)@ht$MdE=XqQ?F3<&g6xp9E!}0jMzz+RQMi=kiFazDf`s7 zeI#5?3504Jt(gVL&(tr~k!Gg258!l^KWp#8guOxE0}1SI-b_DWt2i+hPClBo?pBIF zlA}i5ftlvY6?E@(`;mFWEVllwC3>?RWRUt?-ePm*j7<6blyJUvCSCcD;F;8~d6Cm! z`o7$U7dai3`p9-+g@cVHImj*1=RlskMKriL{hIq+o<+Yk8P4T%dcON+`6{RCk^1($ z`)2tt=i34HTk0~X)n-6uJwhbw3XfDLFrz6|saf`Nyd3aTy(pRcEH6Cwd9M!7zvY>| zQ;vU}y^`x~C?Sls^Zgx$eba~8(1Gyo9$S#2{@7Ds++)R4{)h?uloIfgwN3n#oz2hb z{G8x^PUGh(?&nl~$|g_YeV`$0WS<_*mW<>%NLVZnmsg{lyXAu4fxJc74lYI5b_?WQ za?ow$8l#Nug6rA5jtDwafAwa3W|1OIx_ zyU4z1%9NM}pbkb0pMW>z)_bYuNa5zrV zCkGu8p~<^@X5NQg-L)IWtYq|lpKR$HqFEfL z%f9SGuU2P7nfjT$&o~kvs26{RaA6*}3E{CwFPba8Y@NlxoL2|C5j=iuCaOIDt9)6u z{Q8dNOM>zZD*v@>->lETbW6wb`>M$Rrk|?L&aRI~vUQH`Sf`R^1yc&PNDXj(v}DV( z%_V;fE|HAQ#A0Ts&XKOp$ZQ>s_vF`^Pdre4w5t3Q3Jx|`mS@YuyZPn2xN%r^Izn}{ zF@ZX(*7XVJLpNOK;Z{bU`q)|J?c_99KAA25Tc{zg{6j(cPvDi5JtZ!^RXd$FtQcKz zooKaoTKN1p&us6~qs)x^^cgeby4!LVm>px8t6kMhQFm8~` zc~0%7ue3mDMi@{9Vcue4jtZ<`I&$Id-{IMwjLs$)OLe@l`czPzTYpA}=LevO-0y`Q zzUzkT-0xe^|HkKIgLT~!bNH7cmboQp;1iUs4LuV2+x7&l(yk`&IA1h2d6jnV;9?Kf zQ}WVdv8Sy@Cc6!9Os}aJp8n5^zvxpiul61UQ1R@~_48ipEWweU232A3^J}_(HTY+g zWZY{xUhTDQ?)^l$YxC7fd+mI^iYD$B1l;}5*F+Of7F%%G5~?Ca%+yy_gcqMccfeJJ zAKb(z)#Rt_z~CnUhCdO(;m>K|PnV(GHD0`>8f$O8C;PD~gvu|zKp&m6IDrBtWo32o zbDs%-i%Qz9dFG-rpeb7roE+q;qGGL&Y7PSSdcT`cgkx3jKhjNcEYtlO5npj>w)99k zLKF*HueB}G;sV<NMV6VP!Ff~Kye;NkC{vJ zBG>G0C5w%EnTsKa)HZt2T)9=Y#xL?~)TznjjKkDNjcOd=`dIQw&`0c&oc1qqr9~TN z8haTC=@{ zR&u0LdNL%Gem+2*dUQmh2$9V4OMVM57ciPDgVuog?ZlWW=1Vh6!9~t3Fu^ zEptfdaeO0A8T98AGlpsJBe>B}`C}v#4-=OB!Q_PLzn1a z-azY`qA#w`pQ1;m2LFws#<2!?5-adp8t3S_q{H)I_uNQ<)a}3dZbMjCe^q|*N?YH4 zzigxLi4}o9B3xhG`Y}Z<3*#Zxc>$+)U)`r5z9XO4>T~i^;uollM3MQYbba&OGPD;M zS;tq0k!`XVSpXVVn?WLjr*kGfz1%@5eV5aJai{%X#am{^FTS`#|A(o6Y@0tPa^X0y zGdMIetIY$CDB6gpM}TW z;(ioBAkc?#2Un~Lx$4#Xjs2oY9D<5>F5W(rbHRCz8>S$8b)KW%pD6kbQ>k6Xdl&Z! zU(E@-vVXH1@4BaZwOJ&}dxvU3W&Su2ZDGm(+pI+^;0zd+l!Ed8gaL9(1Y zUGOyNH&LME4mG!a*>DeiV%2jA>Jv&@HhDZr z9=Vd}r1g{D6peHorFqk0Hh+Za2meFq{}uk(PpJNp{Ie3E|2_ZgEXDNS z6J@XroFY3|{lAI3jhqK(BrYsqEyef;y` z75_i-&#f&Rk1&^ikijdeN2BOUs!@#cNt;*oV=F{k)SrZeMQXEufcrNiEmN%+$DOL3 zAN9{S>7B+-^(ql#O_z0TZM&qFHT+U%iM6)H4z5qMH~43kd;Y}v4gRm>TYlJ3L8LQX z9~nXJ<+sevNUqkl__OvdHRDwxf+k)55RH`K$MWInsunVnkT>q@Nb3%^=lFcdFfE($ zd4O{M^#8=0jFU}8l*(M7UOaG7j-&;?$yzpQx~zL*J|Mn5)sABTt?3fZiZiBjyNGSN zcBXbY0qtPVKZymy^N{r<$o?H$m(f%-VQL5d%j>_`0UWvdSzbQVkAKYh zQe&-c1TSL0Korkx=cUwTRY~wy@>0)b_ODNZm*MnSJY@xpY3&S@o5cDuwlUP;9z10E zy0*=QRGX{%>GBQ@GG~ZUf8unzFQS(DI;E_k;+sgzE?`9463&~fnLnl6g;QqQX|NvU zN18rOBQwHuyq=mSsqCh5bB2ctoajd*PD`bB;3qpL7m+GRbGXS*yF@r<}|jv=>=Zt$9O<7dd!+ePUvXbhtSm zGQkhVo2xD0IzI2^kD|%_7d9mOzSmIk;YB}-CO#WG^%?D(HzO#CRjHG?GU7gJNW}Y9 zH?JI4k8PB^LPhEmqquXnw!A)B)0ZA(4B8)~Fjr~^d&wy(bV#x*-x{iTH2|DB8_=cV zk>)=Itz2L6-bGv0`v;+bOU%ia+ZPwEHY@lARhV-`VPI;IiegEcp(@f|D*`Rxucch` zSWtRcPxKhPEwMm_=Ih*IdqhJV@+-y!|W$n?l}> zAkWg#Gm4CxZWQi_KgD^HQ}r2ifV)xP?r7m|6u668B$g6|_mbDTG7W?IRFwliunWk{ zx!rb7a6iN2tWBV|5Nzb3w}4%rya2sd@=NI5645L4zRq8Z-ghtS1ii-wrI$*tP@G6Xd3^ukqS1gS6lN|H6iFLPTI`4JaxN9(%Gm)?UXh1j|YkZhT0>;E^q(BUB zx9+by(F-q*I+{OHI7kpJVs|ls#(&XTC4$ zcX;wwd#{IZqKUIThF9i}=kcpt`vLenIP<0|H3%tW{gH{$r?CN2k_STAqZGGHNNY{PuBHv$V4Fkha9o*(?R zdyXcQEqC*jwt-bY!vau2`g)B^&HJ_?|Zm&+!w9wAPxTcr44>LqBM2}%H}M3rH9M=XUCWA z@3`FlI`rZBTQ~Rvq7|RUuAqyX)J3FaM+QMh7x2`OyqxiU#wisINuer@XAS;nw*C3) zmhpHMZ-Kx3F+9!OhdyNF8e*o9hescJ^Z8_v`(h5ifa(o4r2-v)2Kek(LL8dUp1iCd`eQGUxg)gZsC2sf}01$AvSo zJcSg@+~Vr3Z(R_%M(aT~yn>(m3h`8Y+?lDZ^wR(NQSUhHG$cMJcu3m!rTKV?@8;HI zm&KQ-cA;grt-f_Z;==WleEFGXGA*W?d~bd7f(^VsfBhsjR$!UZ+1Q}7^b_G?EThl> zEFEi;Y5x!LZx3+(?dteJ7XL#UXU0EBDaY8;d1$|eHxi3l{}-xDTW;%l$L==$+R7{AR5^ zW!^un2mcB8dCVyY!}Fs_a&i0DH`y=EQ}`40eeDj`&TDM@sNX!zKE>O#Fz6pT0SFhu zU(=%g^;7Ma+QpD7WUHMU4fq42rWuc|Fmepmuwz-9v+m(=9bwVJS2PT)j=5EVF=?Zi z1A!eN$$x%G5XBVmSiIK^5oNJ(JC4mv_L>M-vM5u!e~~+X`C}~?Z6GVMrIF<)zy*Tl|b}xZ2djcMTS{oR=O=% z$146Cji`weRJ!^^TB>f;DsU5k6v$_Kz)M#C>9fKD^9CGP-Conz`iBjPz4{(JuWSDT zyS-|Y_Sz)WvP>c3tZQrv8_Xcgi;_c=(On^zu05g^Z5JQm^`BoqYk3iwu3t7Si|Qk_ zFGQ1lXGM#4iB^0VxiVs9cRS|DI&ann%p=hBfPhQ(vUUuUZY_qJHBn+y-LFJ!cV2yD z_~+4NY(Sn7G%s?Mp$taQ7yKzmjGC*i#iiz$z>e{GmuOc^Rj~J;55Bk#;N_GBZ7!f; z`3(0O3cta+%{7vGI{Rg%*#bx~j?9f0$iNzc4QFkjXktu10N;Cu-PY=8qYmXwyI$ zp!LakS-ni0`b5{hT4}XK_<<7$wV2glfv0jkF~*JT=wP&iLp$11qx@xno)=FJTAty{`;{;^_4J_MQgs(#N={p@g)(Idab z7aqWi!S+SuA>??^-|()Sccqzkh0l49+btAh$9D7jzwA|fa^a;pPFeH3&6Nyn9Y%wO zk7`pN81Nq#)h7=t3{i{izlDyhTh7)dpN7`8c6WDdS7$d--Ju#HTWscOeC)@zc*R40 zKdT^;m6Jb#C6}Kg473LqkZxnke_eR-HfrY(f9O(-i$W7Q5ByiW6aUEE$S)yo2hk^p zE1nP_ZWN3zU8>95kBax8ABlh}^j=++hlqMSL?@0E5v?|@nlMUoQjv^m7H4`2;kb*p zkrmW`p22d5{Er$C^&w%3WhR5@@8GCzjP3tbh*|Q;_wt&*+HXl;tMlRpsJmyS|bb$r?)=rgIzjRqJKNtoV~&;?MzJ0ss;x zR7LUPfXZwD4K)UrbtONG&PIM-%|8+Y+gzx> zOU!o{{l6(cuhjT9B|od#5o!K3P8bN~=j$+l*SwMZeCd~={2Xg6ER?Jol# zUA)q~V+9VkSm7+-rbhZV zPK)$sy{rE@ZIS-*g^~Ufm*!l{W$!rT_*inpj+m{4drIq@m#%5I*$m5RKiVI&-(6Ul zJhAV#?X7*$uLJntCEdMQ%^$4slF4#uYPp0qy=?UcP8%+<8z+-D?xas+)_8^Q84!lt zw3#@$&}yi?&`OpVF`Rf0FL{PG1vbtxpCA*^-`0{|5#E!d_{99Vay+x!iWHf^+;$W; z-g#g(Bmm=E0(qlX(LHiQ8wP7ZPqa0v;I>!K7V96 zQ`P%Z7QQ)j8mXN<$K^lvw^j3mc{$h77Ay6S>^JM9E?yxg=eJS&0~e*g$i<&6{6E5P zw^5NtkHPr@$B{qH#`#z}*o*vip}Y_rq3%;g3*sDjx1o#mws>M&)l`A(_y7I=+21$I z(!0DYJO-#eIjO{aHs-qxmQU<%t0iVXxJm-oKO4=N4}XS!9}@ktztFaqp|L!A)p#@I zExjj;%l=Jyw}tZ=MK8={@RAMLl2>7lImmT*bDIW$SYUOn_gSZj4+rhSJ9C(1u6Bzp zG0nE(O7lG1mp6hx*|-$7(+}dabDJDgjF{YbdYL+6g@kZfwpwBeEvqas$5|labgx4N zOC={voT#?SG}7BfU&rQ-=UhpyWO4W0@f>oh9nVG2FrLd9L@=I*ZN-)5>tCve z47~}z(nr-=d*k35zRKk9*w8v@{BTyylb08pvjm#mMG$GZ0hHDx%4=Mf*5rh))y;Fe znp@C_M2L0)r;ByGh&G@E>(wXkXadBiH5D4(gH|^Uig53`9*3RAV3K#Ek{QKCC~)+1 z0A^QwF#UATPe3NopH4i2p3|=usuj%Zk!J4dSug!cVakYloK>Az*^CFolvJMG)AHEaxW zskWvIe3);->4hBP4c2F6pRmhD=0O5Xck_=CWhO?KBt}4&%#ZAo^`5__D-yvj@eeEU z`F?mw;uvS`WX(xh+Nm^!h@{yo-h;nQjonL5*RAH5=zY3SYCG6&CV|JEWW(fw`1FT z$xF*o%I0ve+R_&PS$*PN&p)A*Z){?2o{J(dfdXOtCzPe1%hr$j-ARNW8w>&lwgCjj z+N@NUisxe8g7a)q<+DD3p_?P%fkxKRFc`D-A@Yj468p~4cWBOM=+{SCW8MePd=?%X zXPGWGPP(?Pq{zNd6CLd3swv}3n$GO;UGsO{z4p3*9O?p6th0nPen68PESkXJ%^2o6{==BH zf{`)FJqY1!^&IcX#%*3JX7KT%|h2f*KF-n^V5a|FC?~ zCd+>s*{b`TP=1LCf}KT8hxaH1Fa*V>;96(W$657~m}lPCarH!zWr`g9^~c}Mn568) z>nJ{OhC9d~bF*tHnB0x@RcPM|G=aED@ce`P@y66|)LIVz3!mRRMCbom-%oMs9Q+q= z5}#F5GV>)Jka1|RZ>NkvvTTDF>7*Cta1V;~XkJ#BnAN=WyB-Uh-!Gg}$GZ_d^f-UY zh#ry{8T$SY+T*xJY1pR6R$nhM8dY-)ls|&MI)pKrZ9>Pu1ta)d$KTQVU7pu}IDR?H zD2~qQ!lsPK(o;BJW|-3`ICnZvYyC-Zqm{Ot_yF|B{=;zdQa^oBjj_em{DMtEQIWg;_ovIUWKuP^NrrUS= zBwBIKd~QdixP!NL;D+?ec0X=6oagGu?d|E=u6_4>U3>cPdM4*;x3Q6ZC~vsvbG{j7+$aS}1o!lL^I zucCH-q=hZ?oSZp>U7sgO*=h7A+XhJD9%(rp;HsYi3k9itD9B_5_JG{d_3@FyH?EeOU|anwl&?prF>a>d1}lsplwx zt+>V+1%YjAPU5ZI&CI~J41hd@cM#_ZiG|YklqVR$Za|I$&NF-St+9CxQKb+bwP&^s zU)%UlP#zI8FQv-|^5q@t>u^M{t-nm}^MRvFVx>^DTL2I2vZk-Pk58j3-+5Pz(Q9g; zDRH7iwCc!#m>Of5KG6g`+QZb0oRgAm{@Mwxb8wI z(++uFLIe{Bn6ts3UQXwwBFO2Zt#!;~nx*`t1+2ID6XAHR8I(GVN)F%fO?UXF8xW-i z^Vac8Y?9-Z*m&^?o6790E;d&mWoLCUvnqax*NQeT;bmg>z_yx-k0Py~Gi|{{TszwG z3Jou@1keP8#J#!=*6>r$^KM{UYA%1O*<_$OPd^dxV)_r>kR4U%&wSn3J~ONyyJ;Ld zmH1lMIJZ7_mjkn{g|_EsIrb89!LCH*=8Ot_cv+Nqms4p$gL0m&dHq<~BZJPf_qcPP zJG_K{=Uj5<*LP(w8th)HshFHGiTVmmxcDFSf}$Ik6r z5&dZi00}Qa7294zi0$kXO`6lyOYF!BcHta5XyNOrV%W~d ziyhO?=fry?u7`Gul@0A4?+KRts(#MS1SJ9e4TJugC-p0c^%|wk8sdk?4#V=KDCyO} zrT)v;ca$NAWUpq^ZD=9;1lp`|=lI|F5K&;YTKycvKO31&*_*&4<*H%J+}ucIqY%+z zg4oaGPFx<+|Z&}UmQVv!RWF9iLTd-RK` z*uViqXpS-s#+Fy_A;0JMmjf3ZvyS`U%rH0pKn@i5(m1!&IJXYQIld=2%EXSfH?S!u?{rf`?dk&>h!V`i5Ste-!K1n3~QPTg}==j=nYijQw;C z1roDuk(NdAZJRD7%+ixqjj{pIak2drP^Y5@alhIK>5*r6~YM{ov-4+Z8{m!li)%7C0?^ZT{J7mP>iX>T-bmVvRHlZ1ms^$ zf|NM3Z5TE63(yhzr-_%Hd)tU$ zSQ6vQLjN^*F3&z&OFhS4ww8L%b7(&kjt;IV0Xq(9=uPuip`DnPH9yhN7K!7$AuA$%;Bf>8&5Nd+8KSJ zj!!?yc`wgpdNT8L!Xqd(>@FV3X-`yL3J-#4%M<3|GJ)BH0#JW02^Mt?}+>r z@8|O9QS&VsYIWWCp9Y4;Rs$ihs_6p{8a=%Z!)8nDd;wE(Ug%Hd%_)Ubllvi_Z{@-_qEqN8-4sgY!7n% z>0kTUCC+v{Q2uLduOoS#$VizUh-2jGZ_20ccjXChtE_y8Oxf)Et@snO$oNcK`*7QG z`|zG!Y+;)~!^u<4kCn$kd4!8Oc2iY?co)2zv1e4@txs7^*)?|Vg}b=9-afF%da<__ z9$aFMr~^>`{&ED%A0*O4)+~b6bl*X8``KwSO4LxmzjVD=YBO`N7Zz(y!)|ZImm{5j zy&k6|H9D$8@lA}y`k}GEv9w~grhNJ@E?UzOJ}qr&fyBbtEp`aHWyH|#vC{%eHnTpp zrNmfr(2^J2I>nuJ8`-f#=~~w5>C2@estOqE*vRTOGI7_HVa)wByAtE<%*;n&BS3^V zf^jCvUJ%BNb<#^mZ`+5v@Lgs#M=Lp<*~%ko9q(PvObMFZaKxRh?B>JH=;T#8AMJ)5 zkK^Hy=eKz1OoZa(x%y&J#pXLKb(!;t8MlbJ+gtS@)FM>Px17B6{LQVzo$V#7IFmGs z$#@x^S^UXkG)3Y{iksKCBLEqu-?^=W=c|I|Esh22eP9qA-~W7}jT8)l8iM7jdJbjD zs4#CZEdAZEjOH8y5IVWeLT!y3_(bHcO77aA8Jm+%hvRqi-MV(dRwm_u3Kq!h;+Te* zne?AJfKCG-HFY1j?cluB1!z7m3r`2{g9f0{F46b?PHL4|b6 zBZE1a#ioY0Oq7)hWJf~?`Z5{!kOvCx~#4c|; z3r7UFy@V?xnFY79s##DW=}z;^!5ZyqvkpEH>h3%=n1zn~=i&`S5k51%IAQe3PYZKVuSf)U-62LG3Eh^HwMKopt#}_Yce88JT~OylK6J%!J)my z4Vkh1P^6{x6({yBiIw|D^(6Uq-1rwU#&&%$3y4wJukmGLr&^{^yi6yr+Ra2M<+cv? zjM+VaLS|J5{ov>?XS}yr%1{u>j#rTyjhCtluOP4U#`mHkDeklLcRWtzR~!uBAtA}x z#pEojsTkffww1Mwt&#Yd^FzoKz_#>nqC?IrjqNwEjSS$SQl6UlB>RUlBt3y66SG(b41lMW`1n5Ta%7_4uvRR~AJltK*SrV6G`IlQFl zOEy3eb4?I~^+%NRw|sn^Gv!}ddJoIoGQjR>3;vd3kJ~s^q-7td*2WQAcIB5p03z#Z zj$cBAqbb_Ahua>7StiI?nv{7QVIcO=AEvu{f>$3PiEfTbxF1!F@qI1B^I#XhSz z?!7(#+mCwv>J!`d4U%v-Nl0rEIkggclt6+7dx8)NpkAKV7^_@q#vrsZ#%oGM;n6P{?%O~c0H@%(*5*>J6G zAQz^?X&^f$YhPIU9bKPzBS@tnB4+1{0!SPT^86jWAty#E#DjkRdhV z9Zt@~S5(XQjGt74C{c2YMgM|ME9PC)z(b7^bs<{LT_1=RP8lh&2#NX0H-WrK?-#aD zBi-Xar4C$YwgjzA%FWYB5l)RMTK`p&k=3S!O7g(+9SgS~FI-;`I}UuCv3P2fliZxW zwKEbXu7KW}&bZ|pt8U^nJq$flpLh{3XDYCfw8?FVsJ+D$A0*PUi5-y-oU)!5+g~~H zxanbl$m|ONDk;9&94L*GSn>oMTVVdhU9i$h#4(yD`aXvlb=^xb9DeNpuq-8+@yC(?6#O!kIi#@7HH;dS0; z@n>;nwa(V&uMFPJiXs6a{n`BIE~rm5WAdtdAO>y66na1CD)hz=sCO&e^?{qiUneam z&sFJ7=A&-6=7vOFl!Yeinu493uv0lL7G`yorKBRHndL0d+{jgr(5cp{TK`Jh@GF7OORdYDqgB%PEPv0SKiU5Abm^VFFhsLWvkzX z8VE{JW)5ZSiA{faZWpEtYHs{SokUu;Bb+6}qvacX#Jo{nLQ6kvly|Bsqx=hG=0+Kx z9LTxAY^>MbXgj)k?KN`Ye}0yxK1Ws~pL9f19P>yOl7lvWmJL&cidCCpqQ;1HO3 zz)pkT`|aEN6p)S`{91g}vr&dr02b+$n)~K?BvV)u2fZ{tN)!V4kfYIPx=oMg6-qcPt-y zzO$w)-iZ;(sXPQY0egl>jOpoX!JZ5Wc&t@mOapP8xRXu56Hn8O9W%QFQ7$XZARv`E zs;q)xT_d)OOg3M$pGvsSgPzkZkHab9Vf;ydL?)BO*$#Xgz-5m0J5BO|3;-8o07(6s zs!s>?FCb(Ux#n+_Mh?;j#HXkU8SZVe=DDX6)ht!*Zy0N_; z$nSo#Vf_j0bKel_=bztCAzU4X&_1`q@63_2G^yH!jiKqnyttW!3@*79{db3e8~ zyV?BV;fn4!GAEF$V{b1pY6@vGNgCWxbOt)Pb}B2Wk(L)l@X6X|c+te)r}#UKzfW^m zr;XpYOw}bu1w&6DXBf;obk|7B{nQw`H)+};Ed^ror}qO#_u@^MyEN5^#vTwYr&8aE ze?TODnzKqYF4NSe=^b?oN?T{dvA!?23=e>bwe2q3czf*&2(1DW!{8w%+(ssk#4U{1 z#)?S>a|U0zg3sj^`C0-c@oq!Kib(5G5T)#Qg1v#CP<=9%Gp8aMHv#7%)g`eb@za_w z?b#(>&nvJpp(HwF0@v)+(2jhw4Y8dqxEsuj{R7{OeW~)z>R4>#54H# zl8?>L7N#z>eK!F&mp(mRTUeiLEEKM;;suC^wCHlfq_=S3qNXo~)d|M8|DrWTnGV208!WYqa8n zNXuF{E1EpJF!eq^0=<-jhqt3X>BJ`XER18TWf2h@>5#As+$=+JIz(UX*W#hpvGKKb zlW0i$0~gsPcmXN1`LX@jMzM^p^@7ICpY?)kKjEP`w5GkUZGzftv9IHvFAjtqx&P)S zgtB7lk(PTIOJ3kxTT!sSn@kF@QoZ%mT-o9()KTI0R0tJ9X=0&5@k_0uSPMMVctv6( z+4zi&6wy5a1wr5sL^ncEf_oCb#lvShXm$^wiRItMbD0%DKytF$J(s7P;JrPKob#-s zX|~h!t<`?r`s7IV;f!9NYP2L1_)nu7I0<=7gLBH(E0^|^jhId>CrI0jp`I|I~~ zC>uKtU3^3jj?z?;^-p)7Ywh0AFrPncKg}#2Z0Q7_!a8HhYW*y)++#E`ahiEF=P^Fb z{KZvZt8b>l4fYi`Dr<3PwYgD}mCS-}wPp7K%p%TB4&&*g5+%b^#il#o8~lkSn1clk zoI2XJ-tXF1*yqIG{WtU}h;Pq!iPH3Po2%H?c#TasvhCj;Z0X_-3R${{_0D8jnZ(^g z@0oX)vh=K6e6QGOy(9F;?3oI@=A5u!w@B++@Frz3TiErBY7%#kv)psH74hv>(hIdp zyXcdiIC*}F`7^4)>U+eqys>9vq#2%A4!%s9Png$dVp_;z;1$V(kNJc6c%9jsdt7y! z72cgWm~1JE_9~C@$EIee7@IH2aRbaRj4G}(kwyBu(sbu<5Jc?gZz6vNq~FfU6AUqR z`?NNVYob<3iP@lv*?F;AO&Izm_)kFSHc!D*!fdZq}Kb4q!r)gH}H(=VqPJ z{02%AhtnEBa}kgNZPg33A6QW~B%D!<`|j%S7MnEd21=}nQEiU;h&6+h*{OSTGgfh~IR#31eyTr!t+doWOB1=S=T zn4sc5ZU*sg1e`ZyIEgr3MX$w+eM-oR!#Uy53;p$|Z`-8BoQYTy5iM0Gqr5)BR z<%r+ahco7nghHU9G`kZu%OCt)k9UYXL_0(O0;fxW3R#4;YiF8P z$EK!|Wh|5<3&1uhRpXo>jJPZB)z6Fj>GWG(JU+t@E^?MH-|+Xh0Wac(WmY1rG{3`7 z;vNZ2M8MNcR^oj#YiSq%M#(--#q^ksC`{O=T)Fq)OPiE?pYaK~cV3>{I|<)VlYanG zB9wcFq%_1(?nQr*Blm`Vpi!%l2V^CPAC7CT0~f3ot1wg!Q`Mj{~pLcX1k;OvkD6N*G~JL66wDEh39qV zEaaeQVC#K5%0C;@LjHjqEB_=)DVQ3Vm4Ce2SpKm@(U>X%>|p&j)NjGAdPL$a%(+|E zinR94ng7V6c1e&Nd-)VV+>v8W&GWlVvESXop$$GV`))~5UTLWQ{=&R$LjA4c6J#(h zj|@iN=Ez_l_$efV;Yj~18PswoX-54GW`RqXD}CM}ri8zcfd-XN2G0H-kbbN4`47Bn z&G`yTQTV7!%yw4YtTv0Zw%~m36fPuCM_OL(gcg3oOhXH=On0>KGfk^=7(-n+QxXJn zUHU97c1jDou|lO0odoX*hHe8o&_XT1sK5?jNKN&YeG3KBn9`-H;rd&!zQw)>yMSk7DIMg=n*VV9F2Q+-jo0t|{j9ii%Z4L> zDE)Y5Jp_GTpZKnN6zS8PN}mt+Dw-c7N!MIG)C4Dx-2NT;c^vyp+KdK?8RO7LggNC> zzDgYO6dtL9aBtOKb+ceMXp222YzNUs$d*>o5oQwKFy;n`JRY^;6{m;uxc}4)tTqq7 z=Vruz4S{G1E9N9x_oqgrS#8tx;i{gn2@rT1$rESnrtzkXpIT0E{&V**w205##*8$4(j=;&V%#b{erCT5A*Uvkrbs#NXv<9F&Ou%0sl?7Lq2PPupXQvd8Pn`3syfYZ!;IS&NC z!JG6aVZ1v$&*6+gD5p4bm6j2-d(%r6*F6Ngg`3u$T{ku|x((XuU}TM*`l%P$qkDP< zh1~qHK}xUM2y9%!xrEuxOAE=>>-Ctex3fQu9NU(jDLU4E)AWPv-yTMweso*xkGv>; z2$_+-)%oASJ#JiuWybYE8u*nvUlrWd7T}KI4qR(*Yzv&Z`Xq;F+5?9!xRj0iYN?iS z?}Dfar!P2xaXx;9wf@OjWTISzZtdBetJ)4n40(R>^eYum`SDk^C2f+gDkxySCe1Hi zq6QN;+V1jhZNtvD!DUmso9%fw+cQR%zw5&eh+}iEYqL=m7mOyWxx)8tv~O-zUCzn~!^njWo-Xba+ zzK0;TALOap8_OT2Wqn)sj09>EPjuvNdV7S}?)NqKIcg*Qkc~aq8`%_ErCHN+XS!iP zH4I4NXH|ccdQPmRF~G&BL@?c4Jlz@Xr~V55#|BI(Auir)+u=`hoLG z>F1;;a`3a-YT>`hcW0`>@8!D}nN=9{!7J3W<+~vc zh#$arI}2*=??p!bV`q^%WSXSC`u~XU{71i^QJxpKci_A0=v`be>B)`wZs@;h?lPL| zjPGvPfo>Sk3zEg~U2L~b`K}Tio{*7DD?}XnXR|%;B&y8k^ zvpi?@Rj29^e)`Pn$K|>D5!I--ZI@txWc8z7&HhaK@v%@pj*T4OmcG~NU-YEZ&cg9Zp5#@{Wr~tA3NjM zw_Lj@;x%9ux-*2eF@8$1Gs0aSu z(e`Zh@%;{nAHd(&s%~=79(U#N_qWW$rudsM(hsnMzkcxh`Fn_!NcsHj(X#aM>PI%> z@4x<==2k%^o$+_qZ5SMcHB>SmzF5vB7nV-F$X;zJopbI;k)KL~CkK6fr=!Sb5mR_g zt-`qLOgYo6zaC&>E6binE#|7^f%ny*lvY=%b8>i^Ub9%(K$B1cg_ z_?sWZ{B`0U2DxDeU~jH`=8{n8Legb z9p}Id`Oh+AdS>2vp2pObM5CSl{a*R=m#q9bdRhnh^9o+M8g)Ev2DH!4X6 zUCfh}L09zB8_m65k9MzTU3jmjC2sxK^l9Y8S+;;TaG^CGoWCx+zqy0mzkX}b?N|P7 z{Ew0|f2Z1ylru}9Nw~dAE&Mm_i1XCo_sW^q#7=(kqZg}ZD`$o~Abx_4WL+FajX^u2CU0|+*WjnsJa%Mh>I(> zqwfyta+Cw>&+LO!(GNv|`NGM{E5N${p-l;=Pf8I^H>F8GQiHh7j|beXz5_ewJs3Yn zE*%!gB{6=QZO@gb#5)r&_hhAsxf$?MH)mgT5HI5Z#O`s=6EEpS6zk~zpMyXZPIhHQ z)!rcdebZIyn} z)bwH}_sqlg{ZtN-c9_cFICj|X1~-*IWA-~t{EyfWU}M{B9U<;7TFRGLFH49avA#rfc5Y4$qtkQ(b1G|3 zrC)RW)j@u($Z}DtOCYcstiVctp8mA+z~=j#BZhiYC`Z_J<1rL511EPXVmgYb=fq-Q z8oof&X%R$jdTJdrE9A)#b& zz0Q-f!#;;Jt(lcN5mY<*b0ohylRr~?(3M|Vf9{WxKZj85N6Me^5Gzt(@j3rx`O{q> zeXsmE2eP2&!)(vi&U)Jc@dM<~EY(d8`V`ThiLd^gcbk$w z`&}6(=~M=t2?2DJLA8Ml`q^JPwX<5_8h~v{I;!fu*+x|LcS#Jy!&`rbPBQD$p}lp( zwC@M$RoNKhAS`EljD*v|C6ZKkx<-`k3~t1@3rc~ZgY;SvvEbeJTL<37qQrdZ^^*X+ zA%NGp^qNdRvbWMpu^&3ft3m2Ju(w_ZHlVc7rq`yq=*q4l>D9p!N6nQVpB;*mT!-%W zIpSnj08AybFWjgzYdCAW@%alr=L(u9(uq*ijkxRwiMl07OkwQiNFeIQPEB9E@qYAh z|46u*jwJD{pDwe)icIOr;)kviTEEVNT019^`rN^tHyc|N#t zyHm}9#Z23jP#!fM1a0*G`Zpqx;??>Ssi8su>^##`h}U{|xPIpd3B(?27Ip<)er4j9 zKT3Z6hH5`jemw?INRcwN@ZYqb>eS%(%C84XY|mGZQ_og@{mcRJ1LRkspiT}t9z~Op zU+2(X{U+9jUbaH2vvt|ia%9)pw|~E&xL<}%hxMU9(6ZuDC;uTcuVD_h)Jt~rODG*p z&wtZ=R3^-wjvaG_(CI~Vix9e<0g4i9dOCZmgPhm`oP=`XET}9i8`4@YdhN{41Vgo? zMiA-g2{os3)@3^ghIhO0`QNS=?LOfLiHA10Nn@F?d3L>sT)B~}Cc$pHNaLleZDL$y z6ba6(lp_PeEV)f!y}&#%L-t9$F7oK`lA*=1Vc04+uSjNCBWejyzZ^(`lx$3Vx=bWEaXuo+vzXIU55lGSG`ghdJKE)*h zrR5*0@Tpo++@NU)ul~Z*KvuJT7{Ifr4r^*0P2YGqq>jo)}>#(^9vG%)IlZ zXmijxG%Zqj3O3+~&t|r6s!hEB>p#>|>IR-T-?7B*;&DhdKQC}>)4Kd4@j1sQQggo zTcw!86lvo(d>d9$`Ldk$o}^$-bF7~xi`O^W{&L&9F|WPdbK7(G`MC{kmTx|bZ;`GH z^^@)i_AeqK=Go;kme`hv${E9{f=dUODwfM6#>x<5n%9NjeXGlp;?D=$z+oq?=PKWE zaC)CZA}5m^fdmxnBW5F*+2T)BtOch~R{gt;5Bvk(R}xP#utX zKg6Hcx*%50K{hYJZKlQNp2p1Bqi|jPgG&Q_o)oKmmiD^l(Ihk~Mc zIqoUggn>Pn=kQEDxd?G(_=E{Ef6cL8sAVEmwAfA8i~Y&zM)y9v{U? z$x^B*&)5)muw`#Zl^amIMiaX<6t2=O>}$!u2DRb5j?YNC`%&s?UWmlU(RJVhd zrXPD+*b38--4WFmdJdYA0GBI_XPR#z0VEVB&v?PUa4VKFr>-NMJh}M(5cQllyvlJB z8`a`7b08m>fjnh(4JYqT$JT+irp68zTaW$b+YROu{^7dX)Xo6pU%0*|>5g|EvVKyV zXYYb`aG77`z?8mQJM-!S<+x8VTuw?8q`*two(QU?YdoLBwyVobUm8!}9?}=oP<_lZ z$AV~=w&YdlOj-BJOcc1FFpw~x;{-91A&o0L3qDwJjM^?r;Ua6lNbC$2V_IhtA$Q#JUf_bs(Y>3<2l(8heoE%&Zkw%M91 z5u}{Jns1U{F|lP|L#2tik~dEQh9m)HPE#4A%vmb(1^?(}gRK~!uQMwH3BsCp_>f-6 zXeF2?3B`%U>Dx8wM;5C7Vz#02P-`ESn4cFx0Xz>1o_F9mSDa?{qePSAOEN;tri(qf zRPiaBGd7wW0}}0a+$Vo8;l+tEPMvDu^oe1Tx||=)%Ived>GWHJC2tNQm50s%7m&|6cBz*D&qJ)h?Ej@L5PaoY``%2=g4mXx z%b9YwWQ9LOXUCl+>t#6;Z9*hOP7_he2 z4qThQ&3l}e`fn$$bnY4y@+#&>BO{ij_T+sAv+jo!lW^<}sVj}`A;$E#iEU@oL7=fX zoQIX53uVIjW&cA;bk>;q`*&(Av)*aXeuyGDf2sU49aUcI9#VPCAfna$8NJ0}MGiF9 zqAEP{HF1*Xt7w1hx@Bv~8LumI<1^Xi`r-*FDBTsZS$#69Ev;K}M@Hh1692HCi9^Wu z6f{vm2J-9ejLnWFzI1%BfWyfCzO<208;OA;N*dVLzpx~6L5Y81&%_0JitfdF_Ro@9 zqW~~~i@{6NMYk=lC#P`BBF%Ag<%nJHdeVV)0W&2D2C7`Q3dO8?-iVaeJN}FD!;CNXZ zvzdf#xD_Tbvcx~8XJRBL!!4ziI!ep#OHDgE``x#>L>tnZJ@3F>^N!fiM<g{;1 z^hwTN;1*{kp^EK9W+o>NSL+PH1K6E-TkrGP=AwFEhTY2g#FF^lI^uLSp9d~#K|3wR z*qhCL?#iU=+ZDtmFo4)mzP0_xCjMfy~w#RtCQ{vp#uINwU{yFi4yE7E7#YVJA!6f)eJYC+b-`B z{n6z#beCixT3TIRV9UlTz2-~H3S#HxDUyZh>jS*o)ZyesJ(&@`j zk9t|0`kdZ^@@uj@U3Cy?nFvhI zu6ackfU|233T&EWRXIe3DP!CSs@4R5*SnD*^J?dt<8P2IgK*Q&EzV`XYR!6J_3%#O6g#mC7D>2kH1cN6vzye*SVb_`n5bh$BO zy8Pu!wYbDQ^a-ZRfuCZbkek{0Gv)~?PQLx|s{&ab4j=W2mvqEPN%Ed52Y8#@%8uJ% z=XEvc20z#hUb;E7IDx36Jy-Al!kl`&0KRm$&lmh z%@RV!H{!BQAj8Ui8nkHLPa70K#pa+_ap6RF z-9M2m_KwJZp3vdBpDXYDb9&1^U&j5CuDt!eYW2q7`{jIpp_A`H|JL+LPO|nCN`Ad5 zU_A@)Qnq`%51T}Pqx}V${x_=Mc8{%pudTntRfp4V)Hz(;?rm4K`CUK4E(N-n1!|9&i)n0DPgd5$OQGCErV0Op= z@+y(wXNm-dm-u8J(!_h_#TVRv_*RRhuQ^xN{BfbTZlyQtqoQcC>vau33#8({;i1Mv8gcu;tpC_K80iR0Y^ z9GX*s0e%@nR;O@^OAO)UAn+9AXH(Lr>}Rcci%@CR(ntZR=odbXA_V(eT*kft3d==~ zCeNAn55?zfS`dzxGn{dV2d+z~osv7G#RJ>SdZ>=@WbKs4%c)@rwjp7j)&taFBdq3g zQD)*TZ_IqJ@J+Ac&GC`+j#mCO&nCg?bFrAWs`WANxjoTQMW?zDc-O4ANQ z$cx0201x|HdWvt(IK~B@iW!A`vGXzNA6wDwz`Q}1Bk@xbSW;ig=BPNV6m)XxK{y)^_<0i3L@nKF9%_FrP7fNkaFt2WFNM3oo zbuY2TD}Lm2VHi(#&s%kP-a7M4`wOz|e|)%;gh5i4jc)%?U+r}R4zZZmjaPO3+Uxdb zB_Buz7m(M}=_fnE=amO?0b{VPJnElfrdjDSy!_zEqequ-X!@#L z7gB5%JHYct8gAGrj1DS+#P8%t;@rIl12vX(5;+Cw z(XyMh)cLee{;$>rlb%Sw5ZWh_qBhCnoc1cK_oInZ3|DEEvr-qrA7&mfduwK~nN9!* zojl%=7CX#uu+=6=QcjYarCze(J;<4*h4K4KS}jPUn+T2}Mal0X(UlF+Pdp6JNiY?x z58%;U!5gTBBRDxX!;{)4zQnZAQ2LdQA?e?xMETrT`zaeLMy^jDvVq)ViG}I;0X;Og z_tX7F=({m>J-OB4LPK)={_|3QmnIAB33uMqW_d__265}|VVaEm-dg8B0lt2L>+1r5 zRRxOnl{?*$9Q5Z)6iwe?u32dfRD;sRY-hNL+&1&2qAb3WM_g(O;yb032`S^hdPP-6 zS)vH?Mp~}ni*g2+*F+xO&r!iyP{Fu0W-gDRe6T?28E~enM6@$15=fHh^K6S z86q4fBJ5X?@@%L1S*0EWubPiLF<5h__z%JSg}w|7_n8y6&8x7wmYBncz7TD?kOh!7 zH(B;1y&22<$2BD8I@$Y@Q`}-mm1Qwf_QV(BPA@|&xFkRbyHN{CPbzo4)NCiE5#04^ zceGly9wflBFRrEGr@QcvKzRN(OGDd2LjwXD%G1xuLF2}=T-W@pqb49-DA`cMjml0s z|3fXAM`$LH1h-031^}?ibs%uYFK3?0X@{zIoTjVl=XMEe?M_KMKO{z=&77T4+G8qj z?D%!s4-toQBVEMcYhQ71cUDgwTd%8V-m;mltUf%uDjglYI?W)E;50|OQgk? zm_1l=f=0+EkiCQ_OP`LMC{|>P#otshs@eI)mRyB@oM#UQWadnQWS%`)W_FaUA`@w7 zPj0DaXHVwlLki{Z+PcAA;>89t7H;3aFRL$Q)(m|EWHyZ%{4MkZE$P3Ey@x$NegOAm z(Z!0!)VcrKNM74-P9AcVO(+ldJl~}5LcC`5*G96i$OZyje4u)5P2a&?A}w!-#*-7t zgD26x6(x{!3$2`sora0imfpfELPc4D@=ASNES_53bb8;x-v-iXAFodVp*r^e@xw`? zQ*tEHq^%*Em&_$lN>=`cqCH$cOT3kef^Uh)0Z6LU_Ks#*g2~eC?j++D=|ooL)9mem zJhJl_P>$|cE>~-_@hPFRCv(`kcD;vw_~Lfx=Vv$ zdUX=;lR>_vLN$JdZ9Kk}r~-o04b~b^Re``9CsD6nB}ot>=1kiw?S}+)Wqt=MM}Wsi zz~dMEaCrPxhN&mr1{Rl?{g%UTQz`Rurc5s5pXSiE#B5Hv)X~9{L!uprS@ym|;&UJ6 zBXL&xwH&VPY=2We|DHu`;Ro>Va9eC6{@sh$x%`8zHdr*y%!oO`%ai$0ORqi=y- zSGKn9lrEUb)NrMD(Om;}g%nqDKd7u}%qf};=Pm~Ea$Sgb6-{AmoAf_vFFBs-*eK%H zr;!I8`8jL9bl}%d;DvmC#cZkZ>#Ay5(T~utvspqqkX-{Y3?Y^Px|WKEPl1O&$m8J# z8)*o5*nPBo+&lD_bNP8p2YxOQKM!HPJLBiwvi#gn{ESr$mbM5=TYh%*`c@z=;&-oFcrT9!wW-+Al*No_gU-Y?a@}Pn?EohZrwU`IJuYne)UOR#LLnml5~_2)tOn# zWM@y*9a@pr*EFpeD}@&~=8B60Y|oLF<1~1GctF2rOO|JZ#KDw-ND0_#{hqlxmG;9X zu{&lTtjX9`Ei_lYz=NHPNXryD%9)V0&iH%DbRm0Z%J5|UNReXG$DC;KseN^}_G9_A z4^i_H+H;u=8-Jzv$*wpHMEf*9Co3~Z52|phEqt>Ie@9n2^Je1}WIc5mJ4dazc|2bt zW+s$LeI5C3Fg%&<7#j!ktXbOQLyfFaMbk?<63Gs##88SUl-pSqpg8|STo+1=67$rx zcFOI&BGz%YQ3B%789U=PTOy7Jm1k$P@Y?ye$>LiootH}dE=(VatatPk-jUguS~kPU ztK^`~&vJ1G)Y3PKH?#pUT4{h8)*^%rTFp*mjkJjxa#{#3#;?@RC1#@JL2^)~ZDEPo z(p7jqsBn0;LQPO1N(Coqy0qG=_XlNn$(Ah(%9dx!zV6z+IVijCkqjWK)Cz!nPT177 zd!H-Y6qJ2FTedAIJD;*oD@>t^XJ28#I4vlCd$#zsLGfED4z^{TXY%v4@=hrE`Equ! zrqij6y^ww{{Z4LvGR04)4DI70A}+FXW=S9luoJthk-?K)W7_1ZX|-;E?n&ysB{ikw z6F)I?5X7wJs(gv<+$cw;lkaY|IXMZ#ZWS4X>f~|2-NnO(QN6v+E>7@wseRpEXT$sL zb?a@I!bL~cn1|oCHsf~yptTouALn}Ixh{?Xy&w6OBjx)VWhAUL`vOqV|7fnnR=k}{ zMu_9Qd0-zF3!kk%x*@prBsmEIvZ|k7n}scL`23E5C2F4p)JoXrf{snSGG7e8Bae=HlC5f|a968McDKIA!YRW~VUa2^{B(wx>#pNc z!Mv=KD^b4|tc)2;B5ztNHBX%=<}Mz=kdVAyqR0$c#_%&W=-buUUp4&Uz~!F%y63^+ zb1$CLw+9u|uZ2I}0bzq~AM5xpNCOZ}LLp#SsZN3=E>mW z{_f+D@S|2?&7Hx=buZX9=bWK&EU9Mkrj@DDWd_<@NpF8*$Eld@Twb@go=9CwiijEt zwURXpl*XqiKA9Y}j8?RDc3kxH8>-btMyxU^$mN-F!t^uf1xTK(i5gx_ z;#Yl3{2K*red5gq?l2@1ED!F&h(y=EX2UmtWOt%-IMqIUgkP5JJy+3^?ge2cXF&JM==FR zCuGH-vuVxzUR2LKuf513h7xw8?PIV{q*Z%zrCqY1r`R&coK`-_cRnc%_&N&ZSO<@) zfImZ%YTkbX5bkz0F3Z+fkzeEaoEi_QhW5wO$06Aof6T8D%c(I@HO9CaW!V}WlFNna zsGJ&ys>Z>t#)lP|ar_A!=Zs^6ji$MA{8TkQ){ExKN3u2koUI`&DWCZwHH+!7@^xxF ztB2$rT2`@Q*)c?5jLdk|86$VRD@4ZIYzfT}!t7SQL8VPWWodA|zJk~3nYl*EQ9;v? zP{<~J?X&>>w$5Ry^KfpRBV3*I?_G~<9beFTkkk_$(H$s*J% zhzrSX7+I>V*7~6nFt6>e;GVpYMD28Q^KUg-a|c8-St(JEqWaS!UkkDRZnX$|pa%p*NHx>*@mEOZ_ zW~Y-IE7|O%4T7#xxZWtO6*P0fIp1aCS&A~0G))>@5Z}g2PAU&doCi}!+&ZOp6Vp#w zwx2&RGiWqgv;73E=JZn%w9-TUgz)B%Z*XROHZT=b7z{aw<+Y4TzoprJ_i+8vy6rdU zCDX4ndx@-F_bZ)0Qh(LlC$_Ho7%$l>vwEOb{bkA`nlQBHphgK$OAyMwGS81ElV&SI zd_9Xxa|Ut`h2*RDYfQI)6RnbRsE%n~@>meu&X@V_OXEzt?@RWv%|2*0AeYzx!p+7v zKB7tqJ|*waE_npvypycX%QPG`V}7mqbNdOeA+CyMa}}(lOb(Ky+>w<(8d_)@x^aeW zdI?RArAc$3o&Tq%*|+bRLtPuLtZk#-w$bPR3KYgV3q$p&p4}QGFt#a= z(=a+(7`Cj!C{P&3TNs-yj2F{*I0ECjY#2*$Z9cz#lESF z-$eZHw&38J_>^K1ocQ&ou9WDoFKV1K-{buOv9v;~>iYhxW*U=9+tjHm_yO$jVt!H+Z0t*8y^cWu9;o0z#dXyPJ?(T>SEv3_5HYJ+II@`LVhUB zn`+&2r||_7g|OIevpO#9dQd2KZO;o5lCnTXk`$Q08B>{dFh2)Rl%L#xIbGOOj(4^} z_(O2NWpJr}1_{X0>uHlOlPTq@V#~OZ_07~Y7p(bYvT${_bX5bd#yll`$|0G$(yxLy zF|l5J5>qkvHjg7Ycy(s~o1iiJOXcDSiiEDmv%&*aUxhvgu*!wLM^Vi~ploh1ovC1% z?kZLKf|ZHM@^so#Q7ZVN?c<2z_QPmRE%L!%R3h?!CpMbb#`@GB2n1Kh*RUN8tENU+ z9hiOJU~<2S)IegkdctI4N{=J6<{#OZ#A_)Tx0tlKE7Zr>&4K1CXb|FXjb4Yfp7F0u z7BiLSDM&JZdY#s;u?bDuVbYp6;>@+Qrn|O3O~cB53nk=(HB4ZQA;C9ur|$B9@D|GK zh3QtjF=;x|O7dtSIa2mqKM(1lSx67_HMD`=NDh$%;mraasy)vo;O-NF9baH2Z;9E& z(m(Z)AA#8*@KPFqmGVn$pW9yr;G^;tDJw}Ma6=XX3&luqxi(f1c-kh2L@FK)p1w4v z3b+d`xb-J`^kg&c1s}MB1l(Up@S_^{e+c8$a8+Sw_V9jv1r=S>@#b_x_I!xvOpLid+S-O z0S_*f_1<3cipWdK_Nd)&{=SnF<((9Ep1Gxd=O2>KPk}nSBO#RjV{K1kh$1XGZP5%5tCI5}A{J;A1zkh{%2|4iUGYjxl z8(Tp5B=4V49g!P*Z1xdx*4NorcO$NQxw`ubs$u^%!%O+AW+Z_=*!tz{%s(=YhICh= zL8L%D5GD}2Z;xBNV`vv}_~IB@l1weE7&;fVvW&{iO#&Ybd#D(;B(T1VlEmZ;Xx zl^>GO&l`mhd4>tJMhn7J&L_v5zEq{(N768|06$ay$OhMMI!JTgA@?C9%hPv((#_88 zN6;|5lD@z!GPl)B&DpA3+=oiJ51&k2KIRp*H`2E*1_mvVHl2pMEO;pb%os5IE8@_0zwYnrg7v@91Km1$ID%$$ODPL}S%2jViwjJf1Txbv7yQ2(T&-sdJ= zYx1>c7RYZK=os(VHmqMDuA-C_ezC8}#OFTU!Lp&8G}%>647isaMYB~#HiqaV6o4+r zHZT;;my3kHA_`qgA@44Qc=vCQhTxbgVS6HkBFbY`l)4GlpbFzj7XS|`&|VMRdCMjIg`(4Z?CVHye0;9(_nGg-F@&X;Q5@Cpw7^$+Ar*Ns;($ZE*#hNM22X zofll0N=z7L#xbWPn{+O-_hBRk%oqmgJ4ELVw5^<+X=N$$n$^l>s9h`xkv20%T49+e zn6(|1#w@QrX6I^ivrm^g{iM$6Bp^ksq?eefr%D$*Vr6qiA!XVry@G%BR+$^=svi}W zPOZ`>?sTd&s|~kUI86useFbcalwIv16+ADCh|k1qw8PFkyaa^amV`*zY3cIWc3Peg z;FiB$%5R~(-!%KX|3mCFq176MqvRJ|YmQPWa4-J14uJzmk^s50WkNb$7>Q|@eu7MT zGO51Oxbnpfdke%gm@_BYb%#K9UoQ}gT{=aZdZ`(U{ZUWMImPSv%o*YPd|*=n8{NQ4^At?Yl|6CV|b zhZ<#XkMj;QWmNawVt)Rul#?UbpPLzKPPseqgUU|nb!1NPIC{N`AMT(UjbWMIp`Gdg z{cbabPIB$c$kK^^!zR67mEgEDI!tqt4RsLq%*woN)nfQ zF&EA}-cz(Em9gw>Gu?$I3StX@oH{Af@q})r9wzE_K0txzv2d9KtiC@FnR&z{bFRbmTVbN0# zfTI!tF=s&*iIZUJ@FUwXwF*jW9d!9zC;GX{SM^M<@9ZA;DB4Y(Ep~lv>E*M6 z6&bQ`B(8Rx#MMfCw6v>_gq)t;ZZ>PbL>EdJ9=j6K`RwP)l>O2ckpr!rqsAmSpdxBZ znV_aqBRr`nm+9uqvowk$kSI8*j)~{sRZKG-$dmhwHk%7x5_+}QM5eCL9%KKC`)SZl zJf_LRwout{3hicSuo2=SmLn08HEHfmd^wAIll>jna5Vd5ux)N2UO!9Uvi(5Jm`K^a zM=)}TM49PC>p(j_9@sSZ$jK$0g#F~mTs6&nJ78BFXU3o5H|s~k7SG^piil%(T?$F)dWb7@$-t=Zi!Y2WZpmF z!yV@@fK_^&J9qcgrg`-AUivcGU7M?-tgpQ*xt7sw@4?qBqQdnG+DqM)mS5W&g5Q<* z%dRsu^z4J_`+BBMSD6AYq*pTh%G6u;2Prt9v|RnS(PrsOm8tb`T5{TM!s$+ZJb0`P7hrQHG2n$W z8A(SYF4nDOZrvecZvULnfn*-WFmqS-8%&26rI4!A7a^S^9LDZta=Iq7U+VL(h+9P? zSD3SJ@zaaA>Jo`r@j}mq5J0Mkyy=O>^x#iWl25vgNJ9?KGGU zU=tr7NJs8HmLWvWujzbJD)Y&8;O0_zGK~vFc^{8umS_U$MR2{iO7)ldGwcUFDYWfv zZI)bLv$wUMSw;#Tk+NBb(5ZH2iBZJc=TnuC#`#JuYv-0v(sK)UJn~-HY;+6P$k=%! zF@Bg}aNl|iY7Rn>7)Bm|k0k)(zMm-+>0I*57Wt|8j-|9u-a3L2`)AY!y>5b@4Nmw2 z=%r=Oxw}ycFl5b8hEno28KY{GN;|zCNw;%RYr37?AJf;rllje=Gk%ndQ&oKYnDXYY zI#k5IH9sSauOjjpPXcbJihWfT+hW#aYBy8cJ$w#AV)v>NGgppLoA{c&*u-UDq}#rY z+CCb49xODzhQ@-%vgiNuG>jW#;p6+^Ak3Ggtl&u0m@lLW_6kp4p+8+11 zp;-js4}7`v+WWTVuuRRN?dP>`g*-RDWSUg}lmr_zYA3KefFV=N7|EREw&d5}gPyng zyXVVjmi2Cqh?OY!!`#e$$aIxEU7(}UbdbFG0@XbioI*ZK`{*V9M#>&K$fY$n(AO0& z$-E=tw)zEddCL8=ErzwZXP#pod_rcBM}4zLiu*7_VN#Prr7I$3L(<^S@`3*)l%qAw zEdu>~<%@p^hK}`S<_*bP$@Mj$SF8BGQ?u-couQWr`+5U3)nsu+ZtZcM9MDaE*KUqH zhVL}1tXv2u-)1x>Uu#!34`U#CI7B5S{=xv`*6o&uafc2x>kxTYLCjv+*0!zEhVy&j&{g5HM|E)X-(i|{f9@-B zck%Hf)7rHL(c!`;W*+9Hl4d=VlRl3lz5c)=hRSok`JH$M?#p7SEVnv*>)uaezDDQP z5#wLMZ71;ydnEG9D+UeiSK&Okw5D`ra0necwmWiDD`rsFDt_XcLEdW^4Z!5`=w zOb^vJq2ru6)pM&$KE-vwioCR<^rI>LC9Z+@5`PT~WYSz}KI9%nauEW~%Rm6@T4%;m zs?Zp%M4Lmc)zMFR_mx{^#BbuCxkXR1byQR{dYkEAwY!ZwCWelxOq_p8hsd(r@Z?!J z6?Y6B6%3Wge69`0M$9#nY}@89bb}^Fn-y-AQ@zeyN~UN{RuVn8%bYp1C_aLvPCovo zCApj|f{3XvRD`b>wHvIQhOx+2Md^k8oQIkPL7!EDlt}BTkDDkW_O2Y;b?$x&Ipj%I zZf2Otp}@zvdxlwuyL5UZzTD6-lkE!byCIQ#b&_EUV+dd-RD;9Gfy5Nu6x`42lT`8w zN>s(q*-@SNId9o7uZmr;V=8ySgy#AiFw16T15Y(&`uhj$H|{$!f4STdJi#g^5N{MqENJSNqr9=TtDm*LRzmJ|L=q4c8jF1py+m6%lrHHH? zI7kfGHppws2y?T$CoQk=7qwIUI29IBLDp1>YQp1Q(LLMhnI;AETob2U7MJcpO%5>R z?#~cvNJ)#BZcw7u+aQ#Jpc^Qy>=Ejllq1r1y{bqJPa`!Pq+GZ=SVUG?yX~J>$jDfW z0E*pqnKoEiR25_5SgQ<3^j~S_zAC#gpNF1s>(7-%C>>Hn@!I(0nb7jxY0x6FgsIV2 zDbOyPLQNk9L%InCo237;*(1=7Tp;#})nQ_EOY^4dH!K%8l|=JFLM@c0skCKn(Wx0; z^~%uHDT}5!D5$1zGH^V9-DMMCPxATZL%q1Foelk9p!Z6_2QX;aDpCGHK%&NiGFHqRd_GrjM9&eR@R~Ya=tcx%N2Z48acY5kEgb%>g49;H-bz*K;#ju-RI z{FPgJojHg0imq{@KV|EJXd4mUn#7qSVPvuJGtE}37qeq!SSEY=KD>)?nG1mt-bJ*` z3HpOznF4+!D%%Dh=1iA8VAeqbwKk^iadYY;^kKZL&%Ul+j2C>?Nq+uKj#0H%&qOpt z^J&0tP5iP#e$Ul385Ul=g&kgE;*qpWvtw2f#}+|Fp->U8G=bP}R6TO4gYMTcninAT z4b#nP=NoC7J7)iPlw@y!{h*S(Lo$6MI|n&OJ$zg!2;77=`LE(G&ZBmP)0E%Ki>0BP zpX7dYH}c|n6%RM^;_F&A5BG??*zAkE2;}|3gkSnt*cd7e#3Sv)E*jN^PmzKD)rmel zY9;?@6lEs=ZGZl8lHV~a{|SG77s=lMcA5GO{``#(li!+^|0{p~KO|o!Bd@+ktN4L$ z!D%>gb0)y=C+si_^E&?7$CP2_jzj56%OYQFU-aidO}i8(ic4i6S4wJA<(^!d!KFVU z)Kg_*JPOk^v;IS7asZ+I=lHW@I>gx!)T`NWh6(Zi@_c#JCBxKBV;l{Iv3GMUpzEMiny^J5&9@O zTzHoqM|0CK(}(FOxk2~ayf~V=<7NLJnv=!0nN(i7nSB{ESwRnPO9TZ-FG;18r%2iJkfz-etjOZoM7H)^gp83fcZE$*ykv(f69F?1 zDw6|f-v>VR60k2!!ycFgyHY^8(Nn(>*e6Lsd&-gzfuSGdQoVf@xNW%}&L?HTE%m|e zFL3*i;Dez42;X;Vg?D}_J3fX*BHA<%o6UY%n>l8v>tmBc8HC7OeQY})TbOjw4^lcE zCv$$SZr()C*XeSPSef4Jj=B4lA1oJc;5XIzt*kS|1^Ytf!5)=P^!2PznJxkG2Mni2 znO|frLG!+agg1T^dlALocVcJ!y|lix=^FPTzPEtTc*-wb9Mt!=0@ER&0UF`}AE{(j zhfyY5IasUvic(ShX6AUSblTqsFC<<-kq(4d>b)aBg~D=+hp8 z>*g_N%6RX74;CD%5jw3Cugz@RDh1Y>*PoGY(&m=vc(=ZTv{!79a%#XceV8HnNpsuH zF~65Vt!`A9<8$Wqr2#kN^XCMg;eBLBD=@mUfBM!t^RiA=GlaRWd+%0&%X(t5C=+lx zO>x2tx!s&-ahhpG$Mr7WCuI8rNNz?SB2UYAA3=r&kQ7lQEf01-+Vf35sD<16`F;l> z=2-|!{)S(&-gNy>^Vo0%Iq@%3v#-zO+oAO4CmC=c2A6Wfg*lU6mdW9=s8<3A8;e4?)BC?UN1}e;#j);h$rNy zmcN?v$;*K0%`<8E#i6V?l8-ZWPLVptQl~KuAGbR0SM#Tdg7biHef!(6!{x~;I>5)1L)9|)+>F7mmUQ@V`_1Kl^-(VW zUH>19bIFX*T=K6>ntQkakD-nUW=dY9h^Twp|* zp^|wfA3o)t#7Uw!$;9G1IAwzFe7~rT1*-NgI|OtK6FP+0l^6YQ&^nYBGD`sN`9jx=z)G!Q8}bC=7&U|%2e&b4HU{xOpQlRRA# z+)$Jkd@ZNm^nD~(WJ)pA8l}(73AC3yObCyZy}#3I>~vpa4Khc{7&|~(n&5s}oWly^ ziy36dJ?A7Q?BIqHVjuT%vR~r=xU44|@AW z>^Haf7cQz2f1y0K)LIk2ph*3NXJ+{ePx+26vi`yY`RPRO&lMH@L;k|k$n|_v_zUrA z;4eJ0=->Ja4HgWJzCHYfYdwEq>$%d~>Mwj!%UXY74g~!7{zA;^(c4XapWSWhB5XNx zU@ktxAsvDfO4f{RO#2Ck(wY+ zpKX6eHnPnZdccIwa2A#H^3*4jT9=4Y)o!&(N!GG(+8yyzo)sLuIiSxK;hQd6Gfp zYr0OGZj`2DYjN3`TOSkD2uv=mEDBwmoP`Lx^KLu)&W-dvkk}%;YP-$wdj#;_%)9R9 zTcK}`j1_BV-7go>$0t94lh5oro8M^<-vYP!Y!4sYooTiZAp|#2Ws@K0y*lxAe$H`u zgv5nfp-}f`q#cCrq#8PRz~;kXSbW4Crl<5RjQyhpi=hD6yJTYe6|#}`r`2*>vu^6( zoTd6xRL6%XoZ501Gsw@xPb;Bgl=$oQ1*D5v+AFGkPF{3+`UZX0h%BCYno|K zZc*Q<6V=-a-2O}N%!KugnLTU)IVG`2;w|(9)7bu?qee&YO5Zfr6Y*slTWD$#lVo@I z%T7)V6lR~ELLsLZ$KW!|U?j2qd5YYn!d10dk9rv#Gxqd`El1dURKMki zGRKJ?m9<7Jf}*fFu~F8DVQ`Uk;*Z5;zVgFynTK#Kjkc|8!!rffM0NNF;xga-DRX8I z80pH-Ybrn0VHScXfvfb4eVUc7TY_5gBIUnE_zNtSBS zW)^1W>9>t{z5y-iifIe$4&V5izDfA7Tny|;**$!?e0U0``}iQ|DPW{oCJg^0AIz`r zy6mYQDgx}+jsr8Zk2a-4`C^(%_LG|JLo@HCj`$tURzDb31shSIxeKMr)a+*B3&&8<&}kQ~!Mu{7bJe@L-<# zhh&cD!>=d9(yl7wOaS3;V>08|aLWx{z?Y$O{k?*B_LAw>QjWagjDbhzc21A`MK+_F3qZ`ql)-E~wL4(}0i znL={i{BoAMHSvA+Tt+=t5gt3xMqG|T&RItF`GJVbGY7VhxO^VD+1ob6_Hw{~CGcBe?YSr5^B?b_C}+IOc3y9|>jjg{_^JPp(O83;nYzVbj z&NH+e8eq+nf6BYAQ+QmoEm&Z##cqN(H^G}40wbj_{1=#QO0CA4RWnTAg<2pxAy*+f zspo02qqL~9SDR(5$p$&>d&3N&Wb!2Wij;lusaN>8tis}`)x!Hr;iLKTce8tP#9l$Q z5-`6_gUN1FZUa#;uhO@A!4HMUrVD4cIoT`xkQBb2uODeM!$9t-68jDYdY8x+q#HOT zi>Twh2Fj#?!_y5|8;~bxcblH%q@MP-+v3Ud<7-u(e^{O-eBzTQ*)hwKra}1$jCO3Yg>(Dbra}_LQrY zS#mX7IMNMSOg%x%&!8FhCRYPJQQ0sRt{!9M>b7*@>^?r;D?DEcAI_Jb*L%p-pfs3l zxq8Rz$?*b40)aqqzjWd3HbY+FGo|nq>29~;+pf*M%GGnWfu|UcmIK*x)!S>}Gq{>O zDBXZhu3jZ)FLIU9S801Tt*C0_R}f5iILGvZHBi@28W%-U8$Z4)zk@%|*sF3i+cDlU z2R(ASRU=2;x|dGgkXoPB$;+gZj}!EoTHu#X zbH2%G8YBh!oBJtHRcbaNL+HUZ`&5ZCD>;b~=B?K< zuc#we#M|-$?q%`D<6suI+=(S8YlbK^!Q^I5Fome~qS6PX#?*fX z;&Y{lS)}Qc?Zv|~OVuZzzS(y_i}y}K)_W^~$kaj&qONylG%peV{e?v%Z1=`K3!ipE za3A~LjWg%0-01RPQTV$PLSKe&>5voJp!AnC>x)_G^Lb*=>!Ek|QOW?fv6>fM@#mgG zd5f~$`#?ofhucuXg;1fnzW29;KVE*1f0JMQWBKuL5!s8(evx&#zV}>5a7{F=b6v9K z_kaD})W%o^0`x|FL~|f&4>Xz(8 zYogyGDZM|jvg)*+p)KInlE=W_DZ4fAGdcv>H@UOIhwPR$7?#7M%~f~w3@%FhQ)HO% z%#q+q;Uvx3=VW}~Vpm|7>{pO5pwUoOD<3fzUvtb1cUrFoXT#Q88A@sG!<|7x~U zG+zDJ)LqbU7fnOMxkbT>`3yVpB6gG8HCpWSun@}35-tC@p2fv5f?U~^fz#|H-G39! z!pNyp*^)VHN8*OI*o`}4D^f2(e30>_tO#vMo($~N;w)zT1KtZWmcEq5jL$xR8C@(h z7V04o3%6l8kf(C_izVU&mxy=M{1VxBuaTIxaTa|srro2+qwnv7T&s08=zdWMPC}oN zi%%D&z^3IoAv)fF<$SS{1Cf>k%t(f#+4?kyCgPIFo(XfoJo%{t%u@}uiGp7gnjGM3$+GHl(SGD7v|=-&#~ zfp|oa48#YoGR(im_U)=Tr(&6t2c~!Ur zW47r;@D<7FF4TDEr|1NU0!|H*{bu5gVjo%NjYG`1ihBQe!$`7w=Ws@#ET=ptCwNR6 z&TArxD3l(7($y^-C1{=}EsTwIPR+6Oh8L`)E_-JwZTW-vzFdTqpP1IRd-v|`ZyvF% zcbNZz$=ISr$)dl7!-z-KqCn!T4n#Y>nbRDIe2^FD%L`#UbGh392sMe|Pjcty6hTFz zY%>c#b1b79Z%~)jtbh`;wYwymx%+R~oHDzELczovYZ41odgLF-t7vVI-je?+Vhtjc z=2IOPo6K>nwYiwOx+cCrV8t3FVB72yV({wEn$`wM*Q!1!tqMg_-FtCW;E@J-VA++1 zz8Pt-6EBBAa>qgpr1Tb2Mu9`JpY-&*bdTkq9ba52DU;U1fr4rhic7Z5m*23QeZrQo z(3R5~_K0c?3r+H0pjD@5{TZt)GIciyx5o2+?BHHT{Vop#B0CVe%EI8G=sJ;&-|t{+ zesk^}mAO8-ZOO}Rsmyg#eDj~;=e@_OXht>;lhaMDyxGiuPW11BMuI2iV(-daLJN3} zo;H=RlpjwqR7D^4*U!nbN|tl(Pxh?yo)Ao{n^}Gb-t{e)7AUw8&ycq=y`DZ@`cmQ*(1dJw?i_9V;({rR{!US&whkKfn$4<2hKuOMgS5044hg zgAh?FENRY^Pus%St-8KqK6YDU18ckKf-eoOZ4xETJ>25aHp_$_mh{%#b?HqEsQF%G zd#(9fc6K{@^yK1a!Gm-rHV+~Z^@z!R*yd_)o1Zd}-4ww`*AH|f*5R~O*ciF8Q+OA@ zRQ`j9rDbyJ=b}oaYp{0O%u;%NdDhO|hwgnJi2*ZrG3nz?@(d5Il+b#uLz$rf9546@ z4KRdv=%?OY+|jHD)z-=$vV?4@Je2?cOql7ujTYyX759BKIY@fSwPGc0Fo)g5WR}&R zfyfYz(bMIKte3pCi0t;HBRHmQlmm)VmUo7yEtL;f!+7tBhs!E9!vr*@-2D}MtuEH; zL?2^F!=6(m$BF(DR0WBv*mK4neUXPBoEiFxLPhvrxxubsecu3syAT=1B1Zeky;gx( zgU%tp`it~D3N-eWFiS%02O>w5Fw>hf3uhD?+mg|T43oQrRMoi0zq``YxSO1YNyKtw zlqL!HcIIH2+jul3vG)>XA>&@X(~3rm`IU^@#DLf7ER_|}@|RvMO(4|z&I9gS!4%ap zt0pl5aV#=ViSpJ0f-5=AZcZS<6%C4OvEX{Smb2zCyAa&$!J&jKB#*WUGwmEfiB~Nd zjb4K6Hwd?Lp;d*EC+k2}Ffsj+2-jN?CYcIl)7Wh=*FcfjQPrXm;WiX6 z+evn;)!ZOHZP zhQMVXX78y-Kzh8z{NWlfYazkH#?G!$s>pey<1EF+_z7Y>xJ`JJe|^bj!}`%6t7E`eCV z-vFB&PiKmMu4IjFasJ~qX`dCG6I}zcHj;rg+|-9Wfysk;w6+_syVL^_(%X-@a(U`?1j z)4U=pBn?K@!DD(W+0|)bh#n?rMauFsWWJqE=D#eNf`mDhzE5rxGMUe<>dscj@6tud zhj%K-XIG>-cYn6l>Z=OT>eElJphgc#h?Gsu)Q}BVAFn@`m=y_xnJvXv%U8S(-Nm6r zXc22hNjW?t`O*hgt!XQTZY!Iw6{cI=2-G*nSg7xloO;}Ep&kKK6^{FMBJ?7&{Uuo-ik`O6dnl9~+-@4M4Ru#WXSS07M{YX9O|9CAUQdYggjoH6aVV2HL zr~R3<uJu*J1nrby!*N$|CoJRa?F02P2PHgE zCkv=2Bq37vdb+ef@OiRiN|RFqX)l(1J zv_`$M5Wayt|GY2%@Y-V8fHY!bd}MTFW#^G`jdb<49VF;D&H`R;frs6)I>L@~8}z63 zAWfgI@{{yC!GZaENlM(@Prl;u(=SCcrCqmcK9SzMTM{B=Q_`jVQuIq-X_1HIFcSPt zwv(br*(qr_eu4No>j$sZYXwd@2|hT;=I*vAU;Igi(SkWGQGDlH=!TxYS%YkmR%*@aLRR;x@Hh%dFH&} zTybCX-_~q@OzDIkQmo#2uo<67c}{8B85B$>?RoxX+QtA@y?--w8B6kb*<1L4rPYGc z@jWK@MWruer!HUjZCNYig6XuSQnTH_zq7xl$;y+B@52EZCF;i<~9m zp81B>nsT75w(m#hCI%nof~kwWSr;?zN)3bLK_&2?m&v$1S?tOE5uHGMkU5K~I1oR( zu_u6QLMkdJGSYjf7g2hhX>af$duF>f`Vy4r#ewNes@@A*+wJV*z zp>iX^_S>$1hU$jvKaRZVhQ9TuSRV189_NH!b^ANAO4ADv^d`2SUYq{G??4_x~6pVEWvxg<{{ z>W*e+Ka+0u@#}vq_ATyVb zpZ_=Vw-*evdV237_$o$)ZhE`%1=;xgzvX#NZE-HDUTt>E zI#Vu}wG;5vm)HSke`;wT8!>x3-*!IoMa-@fG|bYGES=u*&onl26?xgMHiYe`M%8il zP|zZ(uou_bj0$UOSQYBDtvVJCIMvlNv-|gl>QAHoa(6G^Pp`y-D9QF78{2w9CBxKF zr(_jQ;sfIP{*TJw_Ldx`caELfyJTW3)m>rbYuf9QCyVVf&exsO`xd*!E|x$P)yHP~ z1!*6Gj1OPq<{GkSu7_Jm`3?AtJ!uh3`>>y+A1S|5T9g&7{OzMK@L6~*`|3-3=G05u zwV!xUqZFoX>;dvE`cQ0^NomxiY{myICgqK$MSAa0-S$uu|?Vd2IFr(RjxC&&u71ix&E5$Y3L_V;8L`bOB5l$$+; z4pRx@*a2yOhv#q79)M|lOF7|Rc05s{VBo>hlm;%iYcs_Dwk?UN)U1(}B-;*{%ExB*wLw@qD%v)bg2|O;2q1d@;Bnh?oo9 z+L4WY{HqHQ1!U|#*ws?KHpg_9jt7qejhXSO9F6+SR6vyHd-IQ1jJ*n1KPJj*@tvCse?fepp8RboxP^oq zQ$SrgN_5}SaM_iT5;|d_!LWR31OJ#-gei5P+J~BI=8!;C5#e=Zr%CCcX(=d?A6O1w z;AA$B(89&sA0gJ_9`@gGcvKiKJAw-4Ps4=EKjCK}F)~+1#J)cV_O9HPf^`7Oox*MD zet+n~I}QM$Q)oY4CI!sJ0BC5Qx;!xbZ^y{LuLd?&{&T^!>VAYl?_cKOr||E zTUGz$m2fY{QJL;DbQ@(+ZH()cW21`9<#bI2Z+-E$`n3zkP~)YCZqLmzO$-hzHx=MrkIjFn=K{va2ohIsNU0MTH%E+R1fAkubE zw!KuJ97~Q1&sRR@2g(muCKsA8EtD*eeGqF|D6TTbeL;diVOx&6nw#CBR+sL-qt5N!S@MyzX+4vf{WGgmM=gh|Q^(e~N+o1ut@I}-NL zKR$Z;0eTPmOPaNW@TW-fOA8)+3+;zP+w$92e>3#f#|kEspNYqG`QNcV`7y?P;~ww< zY!_dF*jrX2O+e?LiB-YOi7nRtX;?LJ-}9^5u0)3+sIucE5iP zAlyzg&=EMq`?0H#Hbx$%uLwt*w5_3rXn^9^6a>R))XpG(qjJ%0!nrL>%T;C4zyK zPE!Y)ca!1%qL-^CtJH=_cHuD@HO+aG2k(t(9^7KamMI4-9LK&2+u8jSIczgxpj z&9k+#L{NPfod5=^51pnNf@jI{mg*%ri8EFX?!-N;6N=OPNpy+HeXNPvv%sb(apTJJ z@a|4GC96umb{dWWNO)&)&`B2a%cYaT+}SG0--LJeaTbDf6YNfqohK^lY=4;SkRlS{TWCi=r(=n3Aa^xOhHZO}ux(4|#_ zo|2B9%q=ku(y4)n{wa(V#>TNJ#S0a$Rc1a;!`ILs9$y_%5qn4O54*hCwL|(yGl)z( zQ8(|Y9t!rX6p4nhO)p;yl}KRZj8rJPweivyhFMH$a$NieWv zn^{E`3y8z2ojKd8rjNfSUU^MRcYMWD4Ot0MBYPn_rVuk-K!_2_@S~n&%Ul zltZ}-RB28;L=MID=7_Xskk|!+m1m8k^Ad>23BFgd4Ys}n8)J*b=DztKW;bwTp17}B zfh;~^W$H!U0L{pQU`yy%U93fxEwV8YdzC5S0T2nq76jmy+~dZIn9bl}e3=jEHxc+~ z1?HMWzvix+F9M4KTuWrU7grH`^Q521;0!EE7CLiQAtUbvN^y9v2z?q`wtb~{k80T_ zT;}E|@KhDGG}tM;i(xDCiMFYsa3!mHLCnJ8kby|uJ(wBk}5=7xP2 z<}Ni|Ng}~!Ex-b!6C(j^NiKO4tb-@kB>Ly;MVDp&gc`MT0gR7G=@OA`YlZQY!P&JbPEvX4wg;+!3`8{aBBx@( z7#QS4e?{8ZMrpb>_OTw*M^K+a7?|==*^?Xb&BztS3kkEzF;!$#M83=oy`CZBBlFSs zO2q9#f=d6j6x)-C)@mxZ?33$uTn}3I=I3}qgiyzdEJHxy7-=bdIv5^D>x3+w#Gmwh zVs=Rj1Ks`ENZX;o9>R*KTw!OPp+8mGCU?VKJr`CRe@a-M>gLL^Tt83|`Mxc9bjd0` z55LJAY>D{H_5*eqM{dktMb37OnexV-)O=UviC_bV4>Mh&7g)FIeZo+ZliUQ{_WZ2_ zEMqMOLtMtD=p|+BJIVinhI9ufPXKMJ?=0+I|Vpg;S3mBWB z`ijWE+JZxcO`EJF=UBoyXc+7#GA!ElLv|Dq<6;WAa(p!e$t6IHXdQZD>zC)S7*9X{ zD&LI5;6pM7F9vAM=-1kfzrp)x{ATxhFiVd=r6V)`po6VI=pbAbI+EN-E%unb$JUcC zYahES9#-O!-Kd|nbk9{E$?}xzlvXPIiukR)3afcNPuW;8U+h^m{bBCds#x_({;6BV zKO^2YBN0K=#F&X^P205<{!cvyvF%BZ#6Do`bX0hK-(uzb_Y&TFTH3=sjir98h2K!Y zY=dZu-Z@{sQg1P@nx3#No)g*8Ir#U;j{M*wDcFX-l0%&1ax``@_`Gg)f{-FMHa2;c zVr`a5&$VmE5>}q$(zWI#=@1`5^()85>Q|YB%46{NH+%PIn?FKFWMF=l(?r6{eU>oc!2)(Sqka#Dl@Uj$ru^7mDjMpb$oad1`d`$#R7=W3GG+X z%*<>*C?SP6P&oB>r5}sJi4u~B^ZJII)@m^Z(MzB6FNfD6JFau0AMl&2xd&FUvb?If z{0v7rl}Wq$0UVY@q*kk4gq^`yG#-0^=PBD-|hOiKG{oQvObS( zS8I#FSawCm#zt&$g)8(8+asID#_BekD-j8IBfgQx8uF1$-RJW5Nn(?Y$%i_4Y+@h9 z7MoULZCKDSi|Ab(u6@%(rn-wo)z>Gh&v5q_Wqi8UDch@#IPkg0^};Uk35BK+8u9SU z7IuNDWXNDLGL5<0ah4xk+%(W^7);|hQp`CFB3~iwvvyk4u!QcjaKr=(H+Qx z#CQNvL9VcBB3OlFhP6N7cos!8` z1{1a@==GwYKQ%8SSm@?HH@|M>-MormTD^Lp=+zgIA9k=o%+5>lsjCA`ap&9ftwf^Y ziY`VFDXX__iyYUw`s_aFR>dWn3_4^*(GPxRc5mGACieLG!&!u_(_O_PrGnTHcbHYL zhl?5Wfy>tg z_p3?p+g!DQo{e9=&fTdrH4Ft}f7iv!7B(HhI;pBxk$I#PD$1VW+Z@7AHm26Hhzd+w zpR*ZRiw(mcmDgH+Am~sPemFUTjn#%JKlhUF(lWNNM0DG^wx&8$FhP50BV zTEKytw@_0A`L;9U_{>ssCjyuH+~Y6%;l#^`2(TRek5;syE-nJff7K?e;>;%lXI8RiDglfyPpYCZ)l!;mUwWmCSjx4{e%)AD@ z(~gaeYqf6*%edE)S>sn8IT5ns71`sLMK1%NwWgk(!Zn0IZ!T#b8w+i*6H4_r<{)I) zolrdfh;<=P5qnOP|77j&M4zT5r|Gnc*y|<_DPz0gGOK=PpDIU1Ktz?BaIGTpZLYaX zh>Pd3Xnb8*#NT(aIkW)rv+6Z?yvrebHrDG;y;S40nnYEv4ye_2DU1v4r!@cmDAK++ z{#iH|3m#nS?#%htHII`uUvZ_NUp1N?mbLxLtv^Y$ppMg%U}s5l$tq!~FjI#rbM`lO zsK=_en3rkZWv%wBNdcWG4-bEVBSSs74?9a;>X*2qJ)Q6FpT7g6;AW?^9;j!T(6d#X zD#>{tpbA9<40L3pu0HU9IOx*rl@Y2Ry?nE0 zK3UUG4UBFP%&IJZ0Oh4%&tSs={Ml0j4=~p^X1>vW)}OnX0)gort^NmJtq`DwmiK*Y z4c%Vx3}$3x zr>Z;FhY!rD7=e{58h7NXB ze0h!~XDo9{>SbvUGq(I<#b5hR;+d8H>3OLZ4#Woe9tSd1c1C;~!YdHi`H z5KnStHY%YG)8)22IqaM14~x&cY)`l#g3W@Gc^gVn3-J$I0?ktSeunWi-;*afZ>pQl zX>UJ!q+I#*2P{wt?zHnMlJ!MyumntSns15c!I6$A~&uZ!7TH&fJnr&Zr8+WW@ z7Z#rboUU6NP2ZDc4Yw&bc&>%A(GO*98p=EEplGSy+E(x|nCjtUBMQc#pDeg9Q#^QL zF|j*^sWt8GAKj1n7h(~=Fh71S=Ilz{7+hBzShT*lVYw6Ch74?Ntccg=D|>2UAF`)Z zv*=R_d{V6aSrM-;lx3dWyeB2A^Q&W@#@4W(fn)|2eN4%9#WkJ&5$Lo8hJ{vEGztA< zrKGQ(`PoVEB2#&>R$lK`ew)e_k*{(?D{QS`$<{`tHnxVw%nki*T^vYS&7v=LXrrdn z+YABgo4xwlue4m}Wg!97&Y|9j-P@xr>k zxPtS_5^GWvp4uZPbPCr%)x^G=S4?SEeA5?t%fiD+z#wL=J(NfjoQL`1o;`(mqNVaw zSzNPQV=Z8d?}+(QLpn(#wgZXFXove?87?@5D_W|0otmSrVbN&G>(+SsNYPY1W0^e%JL&Krux!c*Yp9qRAJg(cKk2ta%*ArhLM0~kKM$503hHKvn(+-fNi*}__-sn7Ne^uM#d7!kol3A{bB&f7R|$q z2-&Bc_OBeSbm0=WBIJF0z^UA9f+hcIv#~Tgh4fetJ<*J|8C4jtPfW_~8rYU?!}`_6 zl8AtAU@izV5SZP}eJ6@R*2}Ea)QErvm4_q>rxh4cN$9I0SjnhQ(EvnePw=) z^(7CRyk`NYnr%Npg*4ULP-xjw&SpRny&=y)vRN*9W*p>|tOBovdj9(!1RnKUFI!Ak zQA_m_`_EFgX%rDO!hB^sz9Pa^zfMWZ><@%~0skTkG{WY|l~CX=6k01ak|=qo0<-!R zG!A}WTprSF7h%1N%mLbZ=(d)EJ7$U3{wi9<4hb(9$B&%gegv;J@V@YjSCX%hK!aOe z)&>XdrNPr^(40gM31>O-WSRTtFR6#DCOJKwwpXj-=N5_1sU~=;vs}jJ+VAzr{Xugq z>V^B<$gi*F0xWKLOUD`s4^;DL<&2ZGTds2NfvknK9@&s#34O97Z*nw&}Kuu^*4Y9}I=k9q1B;r}Kp> z60H+*RMBMcBht_W-V+pqpT*10c^XRR^1V${( zhh)=_F&c;usJV-DydK4}>^~GS&9a|CM%QB!^q6pC$Tl2@-q#p1-7lAb$ok}SDo-Pt zG}2Z|v%m5c%&T|iG-uXhBbszjxcRT|C7*jEvbaT2^DeUPjXGUWxkFD)p6vM~URLvz zvb#Px>uC5X%uId`%`QJ}n4YGNf(-Jv>)_Xv-E8Hw?>}G1$yQ8{Sml9Uv)r#D@MS%i ze=HlkzVC17OZ`?K28EP~tYOU;aG2f0&1~N5&Us$-jzFy7g(r`YyK5SWX)kDABon5_ z6}A+tAcO0W3ZCJwlqcT3;C_Awy9Q!qQ}|)mb@izkuDrwxt|V2+(S7SZ+P_-crzfvk z?6sdApRTBe%YH5mhK>fIt|x*}OF=maf=O@5u$Xl1%5T#{q!`k)DYLJ_uiFfbI4IuK zHjXWL`w4K$T{+R&5^#=bCOW@h6)DS?h{dulH}GaM&}ormE!yIY)a>UqTlwn^oN(C! z5?!4B*ep0bNrK>Xk7T$w-OO(j6(xG?&+7RtV3$aXqxf*U4q>qRTKX>oUy8f%2Pyno z5(IvUWVrAT=C=`lf&#`Wn7F?{??AE(9lg%oK9NtL%LF>Dc1gB$t@*pJnALA;#gu(a zMoy>%es^Dp`6A~kcC-|{N~$0*OL8p&-5=n$`qL>3kK+aRlOT;OW8ZLMcaT}e*Kvyi zc?I?4EEhQt8%_B9MWEASDY^naFGr^d{kHvIN(;9AA({5iCRN(+C%JC>J@{>UvSjkw zKZt~M`(35|<%$6E%ynXWX*iAIl5kn_Z$J(@kg<|q-uyHI*aa_Ql7L@J!7Jnl7Jrwr z7K?&=`E4G==S{v73VMdVxQrJw77mRj;++ju5Ir7 z-c@VGe-?<@fZFQzpH;)ZC*S%WNn%@g8 z#SACcx{P(M;r`00)ho?q40=`(uObG;nK>F)GHP@i?vJNnWx_}J;SL?)KzGrf1 zuixFRNX*b?q`G9Aj0b6A+D2JO`|*%_40qD=V#_T?<5fq$3~@v0Bf~@kaM&RXM&M{L zU8Klbim=r!*TA{xy>=8S1gm6S%r^?-Pg+uzNjFweJ@J%yZ+t)}D$q^lPJnU{cNw`H zm~|VUCoQ{Mv5JK>KaB23-U@1FAEDanN9V$35vh(j^;?~8L-XaILf?F!r4P6*tUDLd znGHKd*7sjF*7?P9Dx57_KC+GA#;2wA2M&~;KsGN@eydY-cHvm(K9Wuoy6P8_h7=Ox?yknxTarPM<|`UM02zFMr8$Pv2=A z;hc#uc4uV$)WBQoBa1rLbXv(h#uGn{d^cpm{*evkOf9X8VOty7dCjU8+=lM4fzpYvS!~&%Ax+kFwLjrlXX=qmIA}4Z}cej0xo{M}w1o^6Qo_V3yC|V8VzFrf1p_d>~Te^At;WhEu%~B)&8%+x=`f5l` z-fWA}*Eil7NL()CBoje}Zs1AF)g{{^8-@rI(eTZ3!*c-HTUHTSH?`)ib#Sn@Q%iMp z`NZ|w?nr5uAe{+`z@iQLwYeKu(~<-3@8QI-!!tsGcpR<5ojrrMM4bkNJ z6aknMeTgWritu;bfb%TB%z20F&`I`}d}mIym#mj6!dSxuwk)cMd_0cA#ZGhpU~X#S zcexY&8Nc~8%!yuSf%OZ$SQno$3v8%KvLU&ODfnY2{9Ts`e`MLwnVyh%uhCuZ4&;8< z_OUZ(9QU*}ckr?F>zbHlUs5hibzam0d3!A&VM=k$FW76o-0|K{KIQ)3@yO?9xEoOJ z)^utvk8YdD?#AlslI7A3<=PL9%JJ^V=alx!3XGhr3zfT5vB=t7g%<{L0p+7}*tA6ESXPJ84Fw{^D+BR+ zHC7XKE-`#~k(EVL73ii^uU@q3^)Hex0LJdYE} zGs|2^kP~^!s_48bLhNeeT)@XQys3KvqwVCGn(oe`ItO@DZt^-Y(!@NGa5gneM$*M= zBO90zH!vdxI`InJnu(tz#dpEb=j{6@J2=w7c6jIHIiz6>i2pA66$tbDarwPo$ep%v z6g&&y_jdx3b(@p>F-ApCw-j9Trz3I-TMCBTKXvxcQ2VFC{uyNd46uJrw14{AKRxZA zpV>bL*+1RvpU(DAf&J6=M{Vdk`NN{X>c5H$=Z8g`O8kWE&|{xrvVW^aX!$nI(lngK zoLauEwS&_z(*DZlc2a)D-YjWel+4?`g~(#Aq)u3~QK0L=5CV`8`vA!5i7$z7||+;`jAxmdwNpy@Y{8M-B-jZY^pv zYX@mDLX4g0(WqhpDeSIGT!+oq5Rl5F&&;ps`$|oszLV_Tmi1s0Gd#J|H7kUP$k+OxsC;PA$<@6Y-qks0pElQu<&XSp9*Kru)P4p?wWliby^y3;NLc0XTS;@e2Wt;r*UJy_TqZaPDeJ%C9H5@MHm^4-bOhNBShAZ;}Db+{UeP! zx6AcV;hk8-f8{g06U%oz{Sn^T&uKW1Ea@0AiUZ;*0?e>FIpGx@N@2omBkP>OU7YEC zDac-C&FK6{ZSLx}b!x}gH4t{hlVJ`Lh940n!^T6hCJ`*iH!JaGJ98QY@tVX1g@Zw^ z0*H}y9S3)CqHjTob9*!Y4$gC;hmkQje{7@EuoygEDiUOJ-@;W9ULY4(9g9zaVN7hSs=Y+S@E3WpJv4q+T!*6tE{+Nf53{X^+&(Z*>x@(gac0WVv;@T zC!EOnype<-!GOT%{Aq#QMJx^Adlb7+?(h!pEOP!o_TB|P%IeztpM(Lz&51QuRIH;8 z8Wc5PRDw_mOkf5kfFyucEQHJiB1tA@X1FM7G!u0iVzI{7o>FVu^whQ<>m@2ys;CjP z$5zyMM?p<>rr@QXR8fI>ziaR3nOg?LzW=^GpZ~{v*!!q}Jjv$^3C zy9E#4$1(b|to@IB$YXS9y<1wP3FMULJZ5`fn*NYdD`v53e`fzccPc5y7OH?L(!mW~ zZfo7lu*C^Vx>pWoZmBSlH_g<}r zl<dO3xF!2I&oY{G}?W9w}Cf|HFAa#@^!>7p?6CN_Ep37`q+WOKlIThBiRY zzHE;gPhrUy7b|!oFMA>$N1=yH#q5zv$0!f~XVj~nR*lre#MCpJi>ewJ7q+He}FIsoSry7?EaK^HWC zCwwr|Z-*bdnWb%m%3I&37v;d=F8WiJSm{p(S)YE*2n6cc@}B{qdePh@M&`q*t0bohB*3#5Z=eHU-6-`G#U zOmpmW`Zno+rPO1WLm&@QHDdKVG@qYmYvt0Ac=Odcyb!{x-7wgi8~Yo^TIzak=|bjz zrghXezd{yq>6K-Dj^Zz}wald&VO%))c;V>}!`{<=b|;5&JneN3yF2o-zO_3t$zk;4 z3@DJV&M9r5yN|Z^RP*N_*slLIQpr1!)s?p}O8qVVc5=KIJGnISD(cteS}Kc*mzTC* z#OI}+o*4-~Q{*Yx+4LK>lYQ*ax~gBN#%(W>1z@C1DOS_oYl+Qm`RwqkCzO72{Z>+? zFB|ykP3)jlKkaTSewL5LZE_w*dNe*ZGEDXIp$GfYaqt5jdafV7HzOIu0@juBHK3xCmu!V2ezwEZwGl=Q> z^d&MA`=w%Pp?s#~5CPjl_OsJg0v9Qcr>WSo8h91T(W`+cYd@@??W)%OOvVPd%=NU- z#Wb-I>}22OZCmr_7(VhLB-;ajVqt&!Z>c=h!@uXs`BVID-48x*uHT3~x(d4_xo*c+ zlUlz~pE+R6kNRVXPdAg-^7-Mm?^nS#S*#;+*GsWJPqDsidtmtC!C@5ZQL0!&!&^S1 z_K$BkCs>?_0#tKj&!zX zE4D@*Ef|_sN6(|2T3{VMlONG5hN$}4@N(0aS(G(#x9p=O!Q9je~_xMZA65e&WNVO$a42QRF|5j@LxI z_RF?OHHFJOo;dGldvq>ePITrEh*jXh{T{aPMt(?RwLR*RrQiXs>K9xsYkP_;WPu=8 z&Qq~dKvf@9`q%SB1>axV58Tbtvl!w(u=djaXYKx0Su%$$5!|1=|f*i65ff zBZG#qos&pU#yP!y(SJY3ld~nZmPn#k3Sba#4eMrpw5_#QG2?x177IT=-!<+f*O-@L zbMR#AAvjb-(8iP8>iUl4nGRj-7gt*mKl5U{$w7JB&(!$zgoI1SfxcvB^AAic+jTGS z|0K+!j|FK+O_CzbH?l4E9%hmHxhJ+=et!C|{wS>Shbd@~8a-5=U1RgdQh6Q&u?js)B0ul?^zTIG>rkk_utf`xB<^#$B*ZdY%F&^^m0}=}zr($f&v?-FY*6fGelwiuG_K>pgH1;pQSA)se)Y+0AF+!dp2U>v z*NAC*K#FpG>{t;w@>Hxu{2o-ro5xRG(EGJ@l5!rubm2qal1iw*o>y9_EflJV*d$Zv zpRhdnl1+pctJp92BfBsh z-afE0!ni?E6skl$?Wa$}qrClx93!-pNBY>({KYTj*KOQIyN9Yk-8k22hg@}kvzR7)yrzUv`a z%ik1N>y4X1TX-IcBC#dr=7(Xw8|fUhTvGWDfWPG3cAW(#v0kxR==WT06?oDNx4yTLiQg@l=BmEE6YZ9HC4mJq!{Fq&1(50 znJ$N#9ZQ{&z}CTndY~o@zZ|tXGt_#PouNe1t=f1MOGj@IA`Xdp^_)AG1^d>#TaA zoCvwRzB^;TzO5u#pY&q9aY3Qn56uB28X3m zyV{07L3O6cn>P)3MdS_@P;L2s!NUDg7R}EwHz0~T^4DEuiT;a8wy2NQ{GdJZfjh#L#c#FzCD+X&fI80@-`28caBvBe z%Fxu-_t%GNwbr9YP%!!@r`>DRE5N$?wcV_`e9pRf#ysvWq5H$uc=EBo=90oqbg3f3 zMtW|u2#o&D2#}&P$|kyG-`=>o+e#nA)~eNc@U*SsW#p?lmEWu5tMgSKM&EcB(|OOp z$P=NOmM;d{!dJqsJo1^FgHo(Yx6QYx=MjGiH zNp;xOM*ARBKa_qz<;cig$~1m`dg8|*PDld=AWA5nWn?w8s&5x*B zA9Rg--6+@QO`}vD;Y+I9>1*GxgzU|mj#FO2@35p73{tV~y5F(;cK7we3yT zqn0ZtSVH$SPreBfMyXaQw9p%$w5q1&iddzowHi&$H(}THW<6u~?-*f!B)75ft>^Y5 zXTpGLdrY)yAP02V)Nr+Y!CgfcQ$M&~g|1t144vU_S?k~un2A)+e9@3T=cXb==%pmi zDa6_JC)NI#{5o`&wWFFmScy?&93{Huq^^ zwR-Lvpms46T;w=nvb}P6E01$XSKE{8D{F*#^(W+sshaguX5TczqoU7$zL)t_^QLpP zj{hdjjQa}PRC`P8&$-&J7fmLg`}05A- zv7WnOKS|SH+x2&+#c#V_=0pkk_+Gp_vPapxvQ%nxL#t{3E>2js-|6@WYBnTYd&{Puv7f#?9<#*`O^*n_dOa2^H@Oto(3iSNU#ZpM6&+T)HzSc>GAy1 z1-#R<1hYcDcfxx}@`kMXFm?s^ZqCJYnKzdnd^w9)RQ07G*3~ki=jBS^^;^A@y zPg{M|(-!*3({|+^IZf@P2S*Ict~aUwx8&0o(t+$mLS4?ri!BMc)P}J7BC=}?M~llw zMr%lsVI{Uv2xTBs32(MXymbr1W|!bDZ)>onxeV1h-v% zLflaGo8>ZzLD`Iba>jO%&IzAc%_7j#s=QZ&umgwtzuPrL4 zR(7!$L8r7MdXZF@Y?-nDlbOj@UShY1DXr?fDw~$8^DRLanN!t+79g26%1BD0sSmBD zloitIViK9}H}X^%9Y%f_x1-z%M_Kf*L`MBKinpGOXU%J|ME|N4Q`X;k4^!Hv&HRpn zv5)>g=KbobzPclEb;MX#Su#170u_a{|8$8c`I_CTdl4m&xz(I;*yS+oAQlgHl*V7C zBRGwV?*;}Z8+C9g#cuq3@D0_XBlbfg>-@W_pK!O2?Uu!3tUZ_9@>bqH=^1z1xys&K<9D~Q zsnP+}-qrI(4tdZAQ&hd$4q&TkckKNA{QU;=rZ( zMxMwI0|=^ML!S9%9xu*Bo{0RJRp8afDL#=`OT~uea+tiTR1v z*WK-PPg<@zOQ$P&lwrG+T|tg$NGw;&`+08J_9W+d@QVISa|u1q*gi5v%9Q?7>>~!v zcyK|>dxO>BI(g->;DF$0{Z$#vPvUUcVd3%|Z*KzSR}0jq;F?aBsS@3B295ps9^S<8dr z*sp%G$26BA;W_5toOgeVb7kd2o+@K!{_R~qa@ro$@!NHLr%K}1aYVDVo-I!- zo!DAWk zA6|1q?R0n^56-aHJQf{51==aE2QNlU zISJ*8yv3thSbs7)ln&kY;1za0G|rGFOM2Wu`Phd8q3c0aMyjUHp zbW8{y%|;h8bIPXVIoq|{rPvJp@=9*|q5)R9oI~Hs>8e)Oq`X)9$#lClcm`L{a2~L` zyyU&$iHz#yXzgej@zgS^tVP-$*b{j&D)VpN$Zvh$7QS360m<3XG6hhP=ai!!ACyIU zqQ94o8G;Jcx5w#2#(ff%{W2+wlR$E3yy%0y!^vKwo7Wdwz3{e6E~cP$7P(p1ByH3V{!$mJrX(De?eB$#cW~S)V)qVwWxbK)eQp7q+ zuQkzWwaeS$k`DDve&ollByhd1g`2q$COELPx!i7LHtcY>FJyfB1c~3r)&y1xP*_{g zHtJ3-EOieO@4vXX_(U>N=!(4NYTXi~_d$Rh_jzTOfK_b;L|!Xx8(iMLcCfXyjl1ZB zL3i~GxuJ*Cii@qKwg+~*#ysIFdCeAHBZ<(J-i~f2OP?c#(sxxCtya%bDKh;4<#Mu> zgGXid$m2EFyuD{|%{8Cz8Ek8n^AYgtsTn77_zOVG*V`dorpK>MSA;|?g=Ti zMU4x1x%AaiDIv_ZU&yF0ynBX%rMLNqv}%e$jQ~^@+I6CdvyEhQJREnPL6aaus)dh? zzDBN`?6k->j@gj8iX(JxOs3-c*FgB0~xsQHQ1)wD0|_2 zb)|xW=ZZ&Oty#ow9`$5+G=}Xin|l~mTcdS6B$};k^wF=SR)@5<+e$;VwHBfGRH<8M z;$ikj(mqoZzFx04iWMS@~lU(so(VLEE&E z<31@zSDuoW0xoxZ!FXOZcDH%9VI{8NRwQ@6yJT8Y*u-wHLg{8Z@_xHBTOoo&5e)pKLxLwi_-<+=eoqF7kvp2e6k zZKS8;ZvN1;^jDXxh0Jw`px-*v2O0G=GdvR%JZ%B?++Q(m&)*75^kB29Bv`>1cb zp4;VWt9ym6w~VgzO4XHis8(oIN1}*Hqi(v%VZh;qne!_(CHah%olad{vV^jIMcaufFJ84c}92VYy(P z&p?UYP7U}ldZ8we)LdNFYJ_|;%}(L|TrD?Aonkg6X2AebO=wp3LyNJdsaw>fCG>~} zUFbd0Cfb(*K{&g7jt?KY0GWTBH3IN*?V=i)bJCV|chrcx7P%&*hO%cb&=n*c188b=q*U`qmzI zyK@8;p1WF&PiYayr{Zk2g{{PKx2bWmg~DrB4EB{gB7f6Q0)r<^2|a?54(m5<4ClhC;LIjK*yMDe6l zd~VfiR{59u&pj}6Z#EjqP!2b##{Upf{#|#ecHBPsf?D)Q)?+tN-{iyrquIA)PA!#S zDjb%;h)ds1gVs#~uOIHuRb?T2wyHx!lTsK(!@j*DDfriiA)Xq$V*Uxg#NZ zHLAh@jEWL^He0K_ks^!9)W`K7iL6v=kBTXZ~F1cT*~f0Va}NV32|^0V54 zpXN&ixSDll#by%Kr_Pa=H?!S&YA%h*9htN>bfZY9hqIbP=Lw-jLXJyDo4=v4e3w`ZC>7>)N-`ivouM=I>G$ED!4x~e{88R-XdmgPD~F&b4_Nx{Y1C_x=d;(V-v>m2sj7}AJ7 z^p=|J8|~|#n18K?f!RL4^88D#A=JjGvX?J(wpA3e$VS;5#g$G$zTqLS$&Z#=(X#(& z+jS?>SIAIdb`rJ+=U|V;sD+;~n6yKO@rqVC_{BSc@9Phy?>fztuk@NdbN?Fj+QK(e z6G}N%!z*y?AxQkq6NE=_vXif&aqcG6W2;^(kNn9qU~XY~$+mLa z)VFal+>X?^q3-qNa?nrC{D|DEN?p?7?I9^{pwDlfh#B^xEi8N8dc7>Y_fU3Z;t?6xPE=R>h%ErCFy}90>(A&{wwB692%T@~D+(iS)bbdoogWLm zLkzD(+&b{NniC{cN?_}>LPcm61c{srQEUZuEjj;|4l-^2WTeLk+{C(Eb)Khv1!sy_ zy8fHYfUZVSw5dXM6q10q5DmCrQTC?3G!ioW7!4Izp<& z6jLm_{NTpBDZH#E_Jmwa&CFTNeT$+$klsaxplNpAgOee(eYMq94e^+*QQrrWW^(35 zGo~E}>@xEj$;?YF0&IyMCMWt;`=?#U3Sr_oZ{Qd&T5Xk1)6;gOgNJe%cU|Pn(>AO; z@)9+3*I{P)mPh`_9r=s9?XdE;=@_3+uNqQb@|5j*Su=AFc`7)>-8Q?BOZG!diCH&@ z9R?S7+jR26qK_*gKL$QlEk%3w9{@K#vA3X6N1fa$Az8-O8o*7R&5*hou~5 z?wpvX<-L@m42T!ZY|sY>ql%7J-$4PhYxEIX0~Osc4uly+CifB;wGuCTiz zD@Mk?D{8`mzb(3fYXws0`?7Vux@|D?r6x}144g`HD1BJ$?F!e{>2}GIEZ1xuL=&c8 zmZhTERJyB1VupX$9z2c1JO4pBMF*;JVc;YDc14bRP@sKsvwE6Vcya89I{0VG0u+kBCwDdE*w2W=XArY>)v%>i?{nvY)4D`VNfp-QOZ1_-oIeufa55Hi25gLf&9 zvwHzU=Ct*ae)1!|miY&0I#p&lRLA|Pm1tZ|k!@k=phWey@D_e~+D2bLMH*Lca5#cY z6A|xvM~S#hWT1!~u9D>=Lr2Es-EqFuD0XORP?V0&%+Wt ziQl`9Pq8-{w@Xe9E@N6kW4l=51dqV%%?b6o;3bAK16Cy8l;hzlTVq$K3Y}QrO1^5NmLXbp7jXsfndggM-&cCwwS@dEcw6*( z++c(dogEdEWobPR)+(`u)r~ploz{fqri{0M?q2D%ZQ&n5ZSwnx@OuD$%JSVuh;-ua z2(6L+*)3L_nwzt_DU%CKX#Gm5TIyt-63ZH^^+gWC87r~WZ#=^4=)BAoup&L&+1=7z zWKO)%-`O6LmGPBST@fj;Z`oRFrH!^7S3-~!)! zcLWnwj8@q$q7$cgR~tt$*>~dotv7-7*vh-HbiI*IqcTC^Hc0nnI012^u%XGQGCWmrj3{Fe90os_Kl8vn6C@ zRb8#uo}_@yIb$rYdT%Z)-v#sRfi;1kuihS59ts9)8~{y;5lHyN7rODQh1NUIYO%*v-rcb>1o>uW0a zdwq4uSgNTSE!yc@SzGO!R#z1WEH;{zB}))hGn+RVldhu9*OV=EPH;H^riidm$=D0E zXk{zuu*^!QAJP(@-{`Fh`n)Jp2f7=*)0S5?EKBh!lLl82tZMKsT_br+(0Y7TD}C7l zrqX=<4Rf1(fk1*-`^|4?%;H<=4^>M&)gqXb!8G4;e<pW;8i zG2uJiUmXgltfYIXOeDN2szuR>M zsG{1};8U?Y{y;DhBk4V(s@isk-QSp(+KYt~h*k?^Df z4NtgveM#TMKvr5EtX-K_X%azBA4B1R0_XWI3;F2Zlj@r13;2SG$O)ZjNh|$TDSC3( zGk7LC1*5KtU!q-WKgr1~-x@XICK!rd`gzjH)YjBit5I}ux&qRIGSqNEs5V)8bDR9t zRPr=Gc_^)xF@T{cwH@iMFQJ9BNVKA0D4-i-LhR|aP4%l7WVAOVO{vPGs``8lf#v>S zWmD}kEQ>V7Dpe;*5Np^~AUhT5w{m4{`V5?l9ujV`+KWymTYE;G1HIYYO7ad2{Ou( z@-kXsazM%SGfK#y%M3M!85iAlo%ES$>}U*?eyo6oWtkzfu{{qEL?mmAT60buo*6OHD!}6T4H!+{aYjnn!p3I}D{H7) zs(K9(FliDS7Pb*3=}(aw<<&1}Y7@m&>7U+&4cjkphQHE3l__t(0Ap-SPklNQvq~m5 zb#w@34K@vU31f&6(;_{R4D6{EMtZ0i1_usxhUy!Y-C@>3U3O02($KQ>wviT));1`? zl&&PD6idC{lz^0ONhI{BHjol-JNQIQ0jLUd5i$lic$h6O{lcN zXR)5arTeLQ0en+RY;m%UrTR((TGk{hKpEuogSBS!C@ zHFiCkQAZ>zid`&K(9WTqFS8ik8(oQ@6DZc7`|m(ltn!(7wr9;;rWroX2#^(3 zl@X)9jyLP8r0ewsDFSMxU)CDuS4GwQ&%06<8LN08cpF>j`_1XlfhE)MrXl`hyx{W@`_rBvg$KoQR*)o4Kt6jBT7L*d0Qyr=c1?=;TN+t{Dx_4n; zf$~*_r@2>GHK_8$Ky0AgW%W+=MTzptpbsUIGa4D~M|D`zfl1af=o|dBUbYUrsdOTH z2A!d6%`8OCl?qzD+*iFq#2IJiwqHCW^&q{-Qo2o%LYH_3{}j4_Oy3kG%_dWhWd2nD z_Z=A~gsC(k^_Ri7vB^)XuMZ^q6H2~HMbQJmq0{S@bm;W#74Ub+^v3vd==8b@96G(O z*va~+8cjveS5;5lr3*JVa%9uOtc@0ia_Io{3{HNrY@DQ}^VhoqUqWYW|A;>N@iX_T zoE}dKyZ&^>z@JK!m7g*mWk^Y{6OiFhl)^R zBXd-rcOiptvLjS6`lT-dn!9LI*NEAboz5^!NLd^CVy^Pnk00rmnxl24->@Bt6;N#Z z)0>7&hN4pW>M?z>(cR7o1?SW_8QS{EY0x2oISjLuY5Zm3XA;pB8kGs!EOcxX8I$J& z)ep9XbRlJAB7>i7AL;Q_4b5r9sp$$`ve?qd(&Q65H7KW$r1DAfSnNE@Ic}WG7+ht} z$v~=fa{zjC$=Dz@SCrHBlfvJaQltoyMehsP-tsq9H2SJ#!JI_}X+Sa)SNm<1em$%j z#r);*DHqjyEvEVg=P}l1ZkS$idWrqG<}I=kq}EX_{*6)e#Rp zT}`ihg$mXYgKMVANURtfirhLr9mmvK)dnTvSBj@sSPwZpQ%_R5GGZTcdX$S=i8QRV z1-_;LjqNL^TS2{%j)_KJWfadL<=2#(`E_RWe>VPXmY5G+enV!KXfRs?^JF_zMdrUl zDKArKHF_HnQ{$<@f3f=i0HeC3lWe7?6;Pd+rX@?HKb_N0cjsbfR&6#Wsf)x!e95m zMl22YR%T1<%xa{$k$Y< z$RVb``pZIZFrU zlTT)Ng|FJrEV*foE-uuRDy@{G&R=5Hx^j7_erW}#4P<2^8Ey>hGuX~+WKT&>D;Nh1 zw16g`EOcq-6O8b*#%JaswcHZ&%m}fjo^mQ9Lm%1b*z--~i@qkgD?b(c9vhEEC0%gv zGUZOAGZvdu^DjFHrEDFdl*Lk42J3&|Jt8dKUl}c9{^42mV&Fo+M7t~w)lV1{Ns=J}Y4%gUkD zd!2k5N0UzVRuwC1O`<@Cj3!-K!^&FJR?n%Ttcja+rXi}&E=;d&s0}PnEuWOJgeGt7 zuclOWlTTJUqhQnYn;e^x{AT-B5kG}%vi_v-^|0ov#Y|~G6``f|wG4ZSGZy|t%~d64 z%9mkdvT-5j1-*>!n4_nSHoJ|~^8}cI#&Iq=K9JlLF!&lRPLEAi#ULVWGM~%n}Y6G=P)t-PPs>m|=DLSPvIZ{ z!?Ya~O-s>3Zcwt390)SU%|bWZpHfM*wzAS0c~tgBHa^A>na(UrdMN~ka7?LWiTwci zFw$ieLZ4_*B4*)h(50}?t{1&NU@UrM;giC^kWW=|EnpUUb5oJ7cbVAH2a<12UFuG# zblhrdUy*0iXR>{#^#dv5>2jVLs=>g(DoU9)W#fl@>KK5Sx$IvaFkPb@P4WZM^{ewj zY1&C?deR3-^pOtDE?vH4P8Vw>iE@}#sc|eNzbSOO%hRft{?<&FlQUT(P=vC-A}5>F z--3CmBdb=Vk)hN8_LUDzpGtT^$QSZW4{(D|uPz3;|M8J{a9}>C9Yg@A;Y%6S1uHYWAVI8p~+e?ON@wVG zhR2vQsM82p(l_YRjLgKrwJh|yI4k`u5Tx>!EM}D>jj<`QR!CO**_>CQh!g9f2jXkU z&5ST42GIf2H|SE-T)|rsN`Pej?w`-p3Z6Lekal(ob3>oqBHwZ%qBME#RJw{Z%h$}W zq7%zFYk#1rM2|uzYXND8rxFPo;rak{@|;sfc)xQ{8R2PpmXlC=`tM{57?Uu0w&hFd z4$7B`x`0UutA0{#%@u}JeWdfxMxRK)P>{}ldOYO+O6g>yKa_Oz>8y0hZ1Sk#IYlB7 z{ZQyqIcKN$H)gOs0N*saRJK{^-GLOYYVI#~p47v1J!hdy@Xkh0dCI}UvemrpVRnUw zK$qZoAid443I%*AA|EPUD&uT&5Ke!R&iIh%QW$5Wr@o~egA{4A*M~H^6rKm6$0#x; znTqQH`6lTOfiLAI9gv(%QL`5H^2tH?XQR(ZCTo2nzbrCvkSkDIogAn8*Sj>j48~gD z$+c4^dGaz+f~sFQuZJ|H3Nix%_)#!|t7_H+D}5;}6O+F$ z2~V)nbb5Y}!Y3n~(oYFA&Y31?L?fC{I-OBSZf^>urehgH))P{AQciVMa?sn@LOV3N zBx6mlH^5Wa>Wn4H3^}!TMrBH&GV`P9WGRogYg6@{#wSa7f>%N>sgodeW;Q{hDwH8V z21(`t+H7>_**G1GiBVM-@+D8m>gt&+4^2nKlM}H?vV>fTaI|sO_$0vr`KY6>hd`%K zyk-)b_HD-eGx0J}{+7M*xlitmFTpk9nsMuKx8v@{*$Mwwy3M4q4Yw2b5zaz-bzAqw z*B*lNK)Xojacgnwa2s%U;x^%)!EMLw#_h!ohvz8VSllF>2e(M@zrnBF{~8^5{zQ4; z>Tqju>u?)zcj7kTp22O$?Z)lJ4X5lz;l|=7;YR#rZ`_Le;?H~IALC-Uow%2Af5AP8 z+l0Fh_gmc0ao>dgYxl3w!L8```?%|HSK@*=(e(;&DefZNT*L3{GWge&L8@M7pzCkr z&c==XTJQhAYxgHnrpKg|>*4&)!^NN38~+6NKCTz{I_`Pg)40vJ2XS}deudkBGwaOF z{Qh3b^ELcljq~GbQv5IBcO`BXZfc6Z$)^OrqAdPq_$h>a>mcDK-M<=-M26wG0l3c@ zPt5fG&hIF02ks@@pK;x|hjI7feuKLm_aoemxK`X+oWu`+m*T2$7aD#h->)&L<7~Q^ zgTAJJt+PZu%%-FNmwuBei(=eqxD#(_f8dI6Q*d)}OK@j4vLbqBz*kpurf;>+(zMjFihq_f zg7uA-<-uU%#52!S7?2+|oR|^3&^crAv^levho^b*(1Ekrz=E7}R)$9f2Mg+a7liyl zs!t%uQ4Muw%~Heh1b0o@>R?k9^-K1UoFO@$Wk!>iPO9qE8f3syEtjBG%chVP=~TPL zZs(P1A1H;5YG6l|I3=M*djrQ~eNAUrrlJL3pqf*k_JF)M!ntGKzvC@T^#XrVUAnFY z{alV@N1MxN1S@=N^e_9jC)>w=_pBldGOCmCK09F(?Wb7Oc@uk$C{^_BYm%xi^&xux zzWDHO|NGsZ$%iI`3t5*K@-`d4<@w9ptwx-GXI}3%WO(WjWZC&8G!qU`Zp{bqmwazC z!ixBPgL_~6vg!YR7v-MqOgZLek;{U-BMq4^A^g@ubQ`nq%1rM-&)c%ZoiL-nya$SJ z`mZzW4<%?28xUoZ_C> z7zQ`sx^M+O`{EtAf*0|_d7slXGVU#{;xNTxJ-SYuxVU051{P1D>L4RB_Y5>}8;5%T zOo;iD;W^Y$TP;@50f*^{azz8feC@JYZbI>`#yH^pjx)YO{N=vYjLy}y+;yPYq;s)Y zs=Qux)f?e~+SOdOz{zzIX-Xz17fEO%!IYOnMI3R~#$hd{hWu&aFnSVqlPn4mQ>+T& zFO?Tt)SW5;^}Y}HXVlfmZ6{R;C8RU8l=1e;ngeUb;uV_)MVBvb@U2?R>p;pvT3i)e zEcd~1-MG9(fHbFEd5RrNN#7=8ulI>@WEY!JNu5GB@f3Si4H-WGX@cKa#ZTChBZDm( zu0wC~&WXX+V!oV!!DZTh5<|Ql<7b zoW5!~_XY(T<>qXyD8)LBn9R>Eo*D2rj4R@GpQd@rGCbF~QK3w!rhmBhH}z(OpPP(7 zHB>8xwn1iupEW1clq5;8*mJe!^O1>hZXo9UK>MW#W!z$9x%do=*B_EgdWYHC+ksF{QcE*vw_m^+YyzJW!iCyk1ZR){2DnV&xMEE0=gayynWchQZ6n~3CX zhkkqm>I|K91|pO>bJ7)`rbty#H$I)IwQ~@;GO~Aw;`Eb;H|;bh5l8OIQ8xoIGN2Zv zJ4296{Zz|&xwJUd91X1FVk6b!`lTbUbVw0jd`Y3YpH#h_Ge!+UDe0A!69`V!Ph2Y1Afp*oroqQ3!0Uop%2#fEDP*!Z*3OHvWA#--sT$CIjS@wA z9~mPLDp!*_3C0nB`tLNgq%aayX6kVnw{NOQa?xv`aLibv`j|aoM)ZF1v+MQ1D$Puv z#UYNqr%9Yv2$}RL=_U1l5Y1=Cmo=-pmE4MLylb46a%N_;=&N6RvkVVVc%pOp(G7j6me4%|o| z{BTb#Ck}28Zb~h@aE-Vne9>z??snYWxXrjdxNVmajw@;+ZSYnDSA%!+oKWPK{NPI~ zsegvOVd48^X@8mi^4y%tTH7-vVlJxNO%tY!L1frFm zy#(P?1x%Q^ry#mE*X1iDr$`>x-%tI*6+S?H#cjTadIHY9m%4Bt_2Xgc9d0fkQeTbR zh+Fayez-ljTVJM*yh8oKEy3Ngwf;~*g|SO;x?SCL>cLp8;}bPOu?t6ghg$Tu&}i?O*mitSKz%QS z%MWV36Ollcq!ocl7E)xE`4wgJENA)aW9U8a<>0Itc+3saF&wib-LCC9T*aj@`l z=H^Gb%CkQGuxPM)=U{BrVIK&=A1)a3W5J`l>jw*dzwc6Y_1f9Ls*cI?FK_YQCOH0v z*AEly+_-&>;J0Eg?i9S?)#v3aU6#{44-66fR;t*tM#2rjs_?g+uncdSsa)L#DC zQuzj$W%tv*?+MOXlv5!1YTck}!RpDj&jtT6B2T{EYI(}uaGv0I^J_hVy`@WD6l}U| z*)Ig2>m4vja7K@Hmf*hD5zh;*xPR!c1V6vy{<8(^ZoPM^;7d)+%yz!19KNK8!>tSyRK0M;ms|8P=T%RZSqdMKF9a{Fy0={LFBjZDQ7~xP z^h?3FiyrO~EdAAvnSw9h^2%hv`tIjC1;6Nf=>@?{W3_6G+xu!mu{=+|VcCBPZrixz zHNn8?R;S=!j~j57;9}3v-wHmxcElTklP()LSMax`xoSMg&mZ=PJYQ!Y{+zv}s)3Lbg# z>sG;*Z*C6=eq&hmJA&c!yd8qyzO;UX;2qz&^m4&r&mPt*_|y21n*~p~%Q95(p4$dr zDd@b}_L1Q8zs$Q{aQVkM-xA#a_@G+BOBOEuRPeu-`I-eUJE!hw!S@EOXb@a^Y|nnd zou|DJ5&X{OujLCqGxLpQg8m&3eJ1$XhmYJSIPH-Kj}mA@^8{~M zHT)UD0W*d@Ecnnjb59gJ^W=f^1s^%@4^Ijf4*TQ1f}w?#I195j^?h>fM4HetBs~aOlnTxq`nLG-QL|`R5$AOR#m> z;3mN%7Fq@hUOV&ATLcR(-}tuRU8mi1h2Vr^9~dt9lN+D^f#8ToUi_=zgCA~RD|o_= z*M|xAJpaOVf>Yn_`Mcnr``%bC*wFIY@q&N;<|Ee#UVQRHp9sFS>TbW_su>TC6nytP zc{d0)UTTXA{^`6yHG+$V;zs>i3!P>i)?h$+;zM@L7?Af|+3a);8=k|C= zjl-W1Ja)&x?+CVkn0vZl=HKjb=cr>M+OFX8kGjCQ)AU1`W%Na-kFGzR6Aq)R?4y@r zFxf|6WFPICIJ$h|=!!E&k1jeVloDk4Lqj6BymWGO*cpd^d-n8rd;#t;+}pSTGve`+ zaJS>4xI$MvegSSPZV%4xj>p?^f5zp^G4(Cfo!M-x$WZ;rFj_BJ<7V z@pu6)5BCe)Ex3sB94X^>iYv!|D(-3{d^n$;-9Dc$P2-l~HeMuW<6b?SgdIgntR{$3}R^!g$|ycZUDo$I$R~ri7Unlt)gFqJhZ$=!`U$7GA{5QK^^ziR=L3I4@bXKE`!xtsX zTI$ePoLQH?#(%9Ytmu9yZXIpmYFq#(&&w;*T_OI*;A)KU`IKEXE`YlR_YQH2i6ib~ zep~R9-^0OUaD}*Y3_mA$6Ydwd`*7X37jZji`}Xg~<2x^j$BS@J@q8<|v4Q>=SLmm| z#mRFsnCdR%If}o_2+uioz0x1Z z{|q|N*~uAxu$lL0|L-V=Q{WF4gPs3H zIe-OskzX(f?gsn7QH8|27k*&zeeeUF52A0d2kZrd8+n%a46I@egwXt7Yu?uobkOA?0o{hU?1-fkHRu`JPRFY?Lj|aB`6kiC%7H#1Fcxd zju%N6tOP5;Ft`@%1v^3KOO!v@2|BQ(xzh;W8z7=edHVdou80CSo!JRc#q&0=!x{Y z_MuPEv7h{am2u*My}A41V@WqWi1Q_agZIT9q#GWxFTPH2#J>15VBcZ;;&r6om%lIW z8ISyj^9%;TbztW=IHz(J`2>r>9AqZm41~KKF|vWk3|m9I*PM1pcm{Bf3Oei1`C*ZIgTS9 z*bCNy&To+p*a>!lRy%Tml_%_rk2;rlpc5=U5qhxTWavRJ*bR1oyTNX-U;_M3fj`&- zdcoqteetmPgPrnxDsq99V>ugCLjFN7XdTb!By5|wE6uH2#ll+4P)6xGV z(&a4NTCiXi<;P5;$Af&Jbv9>(z+ffm2rl4U>iO_ph+JUhh0uZB7eOcf7efbjEk*t* z=*J6xu-iwzz;FOPFjMUUonXP`qzhJZj;u@kuZ2#Yzel~9iXK4^=xsw@(9w?nG{SGB zK7gG+pqxNw2l@kxZ=rlZ#}A=%lCK{@2NwSrIxu)U^$+a*Ir=F>o?oILu;UKo2D`z% z;(rhIXFB!aA@m7WZX$nR!RCGOMKhp#igE+J&%zH3gS!QLNY@2F&R0Dn?F`%vc7emG z*FE4^un+8(`u-B(p!H?aque^c4N`uu5FhM$4LwtS&ezd1Sn%e)_;z{TiGC?R$6M$R ztbChi%CGC4eepX%YcKIZ$GhZ5@Ne*$jC{M`1NQDF9kAH36r2o~=_Z=xsADth^he1Kh_qbKyx4Q>F7zaYP0CFpg- z9}I(GuoLW%aIg#P1$#j2Oyu5+zCb5f33|aG7zR7QF0c#i0eiq+un#QQhdySJE?5j! zf|Z~b41yhC2iOI6fqh^v=-5xX9_T>_*adn(M;yI@VXy=2wCs;}OE}mI_JG67iI=-S z?gYJ{7wiDTV0gg(co*0S_JBR$Ua-KrKkk@Kc@5kjuLK=n5Ud0{z#gy%EFQE!Zk+=k z&;fRUPOua7f?Z%3>;^l*;9%lOIM@gFfCY0&CvShe7%T=WK`$5tyTA<+K4gD<6Icmu z2gBfA2?s}AK={!8@kwA9Tm*K3Yr!6H1K1000)r#=$9IFBV8J}(0*k>OuoCP8gJ94` zJTMGy0*mv}C)f!NuYe953px%b9#{+p!64WHc7R=AC)fjafqh`{H%PY;`+lUeJ0xa(o9m&o=ZN!4zL4s&W9fCy9j#F`d#R&kz)yZl70@f(r@*F z4zQpKKA;oaOL=vI>nIoNQsfc6diTfg6s#dX=&y1a`4&BaPV~~Xob*si2Pf2X@z!zUZw1KIFHc5x&Uf0G|Pi!QG$}9PTAPI2H_p9ClnXcs zEM7_apcm`_t*b~6bb!5J?`rDba^hcsykHRI6(36%*a7x|n43%HUNCqi^3|f3 ztB?;Yz8bxOmEfIVC)fjagMDBxSa2zFT!a3>a0}^xJ>Ukg58MP=!=wXxThYS`;)8Xd z^E&9j@b&Nod)5(NhaBzj1AD(H23FpWzQK-%s0U#93Cag7{%`c_hd<~6t$!ikVApf#73_Eg{eT6pQcoM< z^E&zgoo^DKa_<5QDCgoGqyvWEB7b1-J3N!G&R+5<^zR}+*aKQGBOG*qj`v6xtOV=8 zAh-_f0Ph65z-Pc7a5vZs4sRl#;8@TaB|caH)`3oN9T@x@@`Js*hzIt(Pd)?qe*it` z_&fOoJHR`^KClP0eoXm-UT{>9aL@_%f?m-3Khz^I2zG&$7S`v$FlY@SFX#Y!K_}P; zdO>Rr>zrVC0Be$9ftB@4FbM7iJHSyZ(c{2)d=l6VE&{!S;_(?Fi^n^`Ua(vI z!CtT+AO2UM2XHLt1U;Y^tOGm1bzm2GC)fu*16mJ9KCl2BzLxmlSg;cGfI+Yh>;OAJ z>o-UjEC72!2WY(#de8xSK_}P=2ElHy1MCI6z{(?t2YNy4Rq!o9A7H^zlsD)E!(b)Y z33|b9FbMX7#Uok6zM5yS80-cY$@9_V4|E;t`^^;GzS1z;yw40eN+U@zzetzq&9I>0dK1Uo=4*a?QgF0d2q0lUFo zuotwRM*LRzgAULEI>BPl3s!<*umikP!pBk%!ESK)b%dWzy8?SbFW7SidIKFrv_r69 z9Q?0`ALszRpcCu{>p<&x=)sO+^Z|B(eG(29+yMWxp$B`xAXsn?^q>>mB;nw8um`k8 z&>QFgt>+RCbbwya35LNi*a>!k-C!r!3wD9l@4*LjfPG-4w6h7M3l@N0{GDJJ41;%q z9pE!yH@F+DEJ5xz_<@ta;)%qQXKhvm3oZhKU=Zv8*MXg2C)fpU0=vN;un+75tu@q_o8SXF zK*uupfW=@C>{w2^V6YZ?(0M8O`2ln*kPCEzYr$UdPO!L+@&hZu?VzI`zBf~TU>)de zAfI56HR$6@)?4;wktHf&X1v*r9_&O7xi$B7bCXq>p_O4b9#qx7)+>vG*A z29?5yM+x`h8VO$pT3ix7ZN#9flHuZ=bNO74l3?&pj=axqIo6b;m@tv$cH;lTiauJJ zlWAP|{Q);x+Xt>2G_PfF?$tx#ST+n=`IC6tamz14eo)Irx>MT+OkZbh8JO!9`dPzP z3Al${t;JDk6_Ee@@9d4AEAdQu=Lp^GVY3Z7$=4+43ZXk$=;lbiJR=4jtz~bNxe~nEH&0Fk_ga zFNW@;i@9%0=zkBr(m8pXq3Ev>Nrkuki5$JqHC|%KY366PP|X--6qBMGp3Av}FQJos z7em(!om7iN+9~B-Nw}nUnuM#opqJ@dFA_g!#6M7Y2jS}v5PuW#y9mFX@CfxGQQvZx z=?vvM1uKW;E*2~urk_2-g7WAY)*vu%SZ=xCH1qL7d77(foWmOB$u;a^f%0LwmuOO# z_BEcW<*97g676Y(9TcEPT#-LG0R2?$jX#uCexFXxOg49>JTEXM)!A_x8JJ~eD?{X^ z5@-4_BU^^7N7(%n(%H68v$*mJa(JKVYk~q&`v_NoX zqI%?38uT*+sdoz9Nt`17F5{VS^VvY7?igw?n5Dx7!ePd+bkBpBBD9uvWlnmi1hD>ZfdBF8ygY ze3vwGSCJ&-m9b;ih(Q-8$Dv-rZzud&o!YwFjf2NqOA$%kQP( zA5^mb2r7Z&*Nm=@tAmQ5x|7jweb~;Vju4>SAVY|w>KMFcm zaBuv_{IuzIyGDSLVyZ;^AL}rHjg&m5lcQZos$Th+u5w`EXB= zwnJYg_*Y`y>O0n>FGsImvdjGav4CkLGX^RpdcM>VddL2&A-oDYe62ikedjsZbA35w zGOyIH=MjBaOwF?fL#_^TG{^Dnygt$fedjyb^L#mTWlott4>^vF)F9be2DzkxN+k9p+IGwZX`IOk@Igv_!;+1UWO#kb&lo|NAlk6aeX zWzUtUm|SG{5J~dNt{d#^nS%8h&P6RExgsOy`bE7rBWj=Rz?b0slxi{6KGg2e2_E@{ zuNCIA;FF)Z?Pse6Umrce?h~MVy8*WoxYu1A`NVwZV!a53rFT%)stHN&aNuX-oYs&i z{9Gqr`OwYE0Ma`XxDarsp*%W&=*=^AcLDU)x-~$0*8*RQb6*!Vt9Poam-3IFsps3i z!pRZcSOde4v*5>S)F$U4JIa7x4g5<~ueo0QJSTsyuS{ma-Bh&f%vOiVM2d6q@W<2wY{kH$DKDJ=amob~P2s4H(xY zd^PYT(EBe}FZzAoGN(Tl&uTR|ATY#OLVjKhd@b-BFlX>hy)IHO1*Xo)$ybn7uD?<~ z-CE&q*X`S2SxiPQb482XCvH#^3A{aw{bK5gcpM((B> zQ8A75F9*JIBhJ^gh`-;(Q+YQ7AA&u{<6hTaF8l`?@l&-w_+;;y)GohIirCBXc#yK; z=cx84z1`X(KHkOqC@PK&Q2u)v zlTE&|TuGdwdq z%BLII^JYW%XX+=bCPZYsWwiHb>qsXqk{boN%y)SH^_)k}9b+*Wax$X)wm0OKLT)SC z+oAlHdE_`hbd#*oxDk|J|A2F{Tep-im2Y@^><_=!5FSYcKeV!LFhj`%WAND@V1zUn@d`HS#*QA!pwH)%5IKO>$l$}&(v=rH{g$ay{{9rKf znXs#qM7=G$HewsMCuaX>&QT<1!nBerqw+ijIoR!c*vKIk>UD#jkmFH{v)6X>B>S=s z$9&~;d;>emKAKDA&6PUvbWxoHLkZ#cA|FwO{V3pl3rs#V{!qL2FH_4Jwe6i9=m_X? z=nvt1E~Zml78)C2J$@3u8vM$G@VA3s0e-4i-aG#};^6$w#Q&lpd`gsjsWS>DQ2trq zhrsU@!@nAQY7ff44*c#^-si4~vk=KvSx_qY;7i1wyF>fmc;Hq8*OLF0fxi>{|Hl8QjjACR{JtTa?fNb1O>ffR`P5A9 zfK+B&)E@MnSH=&A_QQ_psL#KF%K|P0+((!{MCwZWYZ>QGc8(`~yZ^qwE(Lxu@Q3o( zYTzn>JCwif0&X>MB?6au4&IEvrXB{6+w0D8b7{bj({+>dXd6aGYlH{&wT=hRd2J^_lCRjfZ-0w3?i)7XEW zUdubFYO;Wkr7p^+_*l$`kk8+l7gIiT(j?=7#_*d|?jKQ4W{uI`?AKsUGF}xv>ih>j zy(RYlj^|V)_o1m@lqWK;rHTLHN|FsE`%*h$y9DnC{ayR2kxwn~%D$WbzI_dlTmJ{! zH}db_ydT!{nS&3wwm8+ zJmo|0eNM%De*Z?m^?iWaFmZ68w|#GskzDlrb2H>Bkk1JgA0I)DxGJ|%#-l+-s$4_#_$}<=Tw8o*stc`&Xu0-pys#q zerm6kjp3n$Zx8(WW>0|1gX!)0%C3#Eb}ffo2=6UUCO?WZ`9#@urq`~`zz37?4RpfS zn|edP)^?p|uqc8W_huf4n^leBY$BLC#(n{vNuqMnd$Jkew|3hbdAn;@EX~v$s-Nm% zy@B5heEK7e|DV?zsa-Jst-*K1QBT?))M>7}=GqinKUu&BpJ)tU+B|-9EWQ}{%qQ`8 z7ogrPubF45{avhqa!4vqts9q^~aRoxmYzdZM;)`(R;%McyI4(-23KS70CmB zq|bgm=9)zHMei5ap}n3Vzqr|hH~X}D0X$h-pY!Eax0j~w<|`qM%>8!PF1DYJg6zUlqx^fbmFb!dDw@O8kCCA)+N zpQC+-9vi5~@K|k9IrftN!yEN^w>={~?W3Mg>2)UUIPmJ5%0cbatt;Zg5sl%#ameQ* zkDO^Iz1D22Y9S}!+^;Gy63@m%e(|x5dfoYMtUUHv^}_f?stL0&rhJz}uC`NScnOv7 zkytsHtK^h>3=G)ckvLWc`Xc|J_sc8czbBIXe;{whFSXuUqjnsA zBI*zA_;=%067XA1+#2c4r}?Eh2EyS%gr2it0TaS3~-uvqVGIZ4CA;pJ668sxHTMdTZePp8W}5h=(x2M z^1a}{DsG(tc@tYqe~gJ+`Q3qs|Nh;$H4XT!mp6t}BpTb*&2uqbC*4itqPVpN`1MyE zI&KXHE(F~32xY!iS48|KDsDMSwTWA3B2fmpylWf7<4A6+N6xI5oJUj>(GD>AbrtZl z@%;i7uiAL)m-|l(@ru5WQF#OUEzNW3^O-94(7I2>6Ey)qIC0vkh^0@2kbU$$jiIRD zr*QB4$!njdzn-UK5aG80zZ3YsGtZ*>O~OKZ_S3rmXq#|87vs)A>^ptHp^eJD7J4hE zHilPGJ^jmT2esWmiUT;d;k@h(xFoj=a$Tn*4$!zz;gQqjjt{+Zw~z zzKpab=EwBlko0CTe?P^g6&}5+f0?+HsM=dUJ=N_u4RS-v8pH7vm!9^>X?v6)b?5n! zu&(Co^xc#K)Kj8sPh?$B_6`O=^O%M(9xt%H7{3ej$V&BG41PM~uXg#EU!y#p$6YEP z`Yy{@;Er~2nD=tIDW59v*SE)enl7L8=zNI3jrkak*$$l#9kd{R1Nb!uk?+_;^IMYd z4LO3a+ywOPcPXnLEJDRq*e2@K0DSz;fBEA`)QGR28)j{}F z&)b;a&nvIS9QD$N8fysWI~Ds8CLgmes%BaP0%l*7?Ck~|l^2h}o3%He`N~gCc|GMB z&wR?$Ew6e~)K5LYnb0seQsj?SpKp8XusUW@_4MteE6luz9e*}gXQ0i z`7Pz24?fjTOZn6HcSwJ8`BS_y`JaY+-xW>t_0XPdxg^u~Z(9e+*~; z-UfbJ3w&yWY2bGS|6?s(!c}xI*BtlE?EK4-URadaA*%Gikw8eazDS)O|6rTmioZ7C{Z>oeRxO!>HfQNC5+*MNUG?sfUmp2}|r zy6^QMOF`c;3ITUL<$Jm(U;V5d8+!vWlB-7s?);1L?|3@u_gU|Ax9I*&-#gmBwo$+T zC13Wz*bo&SUCzW>%^CR&Hw!C{AA+i^EnBX*Lcq>URjB+W$V|yasqu`%hk8a-ZhZl z5BVV^Z_4GaSJYa{OuJQmZUesSbB*Bvgdaiq!5+_hSPkG01wX;n7hRr?c%Yeg5Pom) zdx4)s^3BA%;owvLD!!Yz%I&G@AN(}%SGoD?@y%9yKm!Bn2u^Nb3N;$l{~F*I15dKL z{20&9(@jeJP2jHvAIlBqqr4veF7Vfbul&c@;~9^V&V>IRgx?MPt>9xh7t~4jp4|+MD3Bt>G&R2R6Tg|9}Ip5_|47N zRQZ|T-292kw2<|eV;{h+NAGzFHD>B97OMAZ;7eY>emL11UGJm4^}Y+Z*}%1Taqy4+ z8bNj?ou&CHE+78L=f{cP4g9H)Z|m|S{adv^^Cu(DYCABe=d&$p^g=LEeV-4;N2IBZ&DmNK($Dd#fXjQaF+7?G>OD*7!TY7-`2A9P7()5c z_ua~Y>r1!^qzmoMae(sk^+tZ+D}OTmLOt&t;J#R=$`4!(aLx5+;?wuz)`O2}B@AP~ z^z^Us;BN(=ux>lSujz0u(aM3XRBj1AjgE*G1{q@~Zv8PkXuXfcGBMBeT4K@-)H~1D64u@ zPxuL!1zZX8L0E~{={~c$3SjMr^c}&)z(x8`1D=Le$p!`A>G|0>UCCtMK8dw_a(Ngc+_4n+2}NiF3w3Kbtb zz#iVyRR=nA+;$+pNd>+f`3Q_7zK))J)Lc;=7{cDUI!A8YM&*+axuLJ&?<_-yuj%|4 z`v!a6OwWITUl05~!f*HB-Sxua2@ecjIo16KiDx{E{o zv!juoV&&Gxm|i5*k2jIElz$#`PU%- zH6-_>S8kq@Yu?xSMpr1+*Dm1mHa3Q_EQ^#;*ZVc5z6h6!!WA9@r}77GDscHx`qaB= zSX1Vf`e~pd9xl>59{9z;M~@S#-6t9(>0Jn1C2;SOpy~gp3v*VIUR`^J1qfdad=b7k z`JET9+79nBsC{Jpxd+-(Bs=y3pAo?K!n}C%{JF1IOnR3Bw;y)AjCNR~$@B5#wd>xzfq<1;+8Ocq0-D~Dc z>fC0&tCw(_fE)V`&UfJ6)r)cE1~MTha0xYl$-e@)H4f^7R>!7Yy=#m{66&j-*HixK z?>DM*dA{E~c)d@opI76B8CyL$)*Y1cq3;84O=^l>->Py#MEfNNb6qcGzz;<^A9m{- z^9}W^h0k88(~|n2618h@(x1{4P9{IO)?-)n{Nf&65~>s(Z;ByTiSoQja>G1wUca{A zAu)ZZgyq&iF7Ly}aDd|E1s*xhPao^~isZ~=6;z{aexG%bN1Rm86_oFS?^!P_ z2fyGT{A%zs55nILeg^oFen!v1U@Oca`+S%>9gN@k5d19Wt9=h+zh^x&3VgC3+mDg* zgKyR|Gr{jFn}1$N_AO`m$h?Wx%~k3l_$=Uq_}(sk_sebHD142JCp+l7<{^y# zk?+S~-35E?a)Rj)O}M4N?MJ=+2lx7X0M-eFyV_N!+OHb80>rW`K- z#6QyIV_yz>h)?$Wu*4$%+b;h?l$Xv(55O~-<&n(5Cw)DEuLu5E7q9Evuk>;>;slM!`Pl;@YBIRk@)642hYC5Lhv)dPjuy@_bt}4d`tYz;0F&PzZZP65AG1j zpZ7sk`xof^U-ag$>H}xSZH`cCIOwD1y;;DApf6G%?mGG+6q&T>_>X*RfLns!z85el zRc%G*g4G&8DQ0(7^}G~%d*OTVk#XiR`a;=z}Ezu z!Y9K|eOG$$p7SiLvXfF9=6dp6x6hnPu5d?(D(a`+8w+;2sa$K)xfFtGxPR5 z$~yXa-Av#rfFrl`)~`BI$tNkPe%An316&&y7hNx#nBP*pjAy=j4qDkSl9#F%yi2Jz z>2*P=Ug+-;q~UzT5#%p-dGPL8XtnrL7E*chFT(iW!Mm>1aYpU`=0yCY7`P1J(%f=T zeAOO6%WEcf7>@wulhOah28+#6Bzot3>B~^lk9)RgV*y_ z3^MxQqW7%tV#sMnNu=-lV>h;ahLy zC`OsR3i?2Wni!h!qvv1PVD5TMQ+N_|c>PkHWj;@Tf+UaM;HG-W2YxK@SI6Mh_l5Eg z#7_f$HSiN-@X`8pU{>V^ekbsk#i9Jid&@E3xlr#D(YdQ@eVz(e<%eAGgr@N67%+Up zJ#wCTv6HT<&0X(Nd6q&h?bN350Lt(7=H=|?DYF6U+<5*F#B2PWh0)&fppLN@g#|1f zGB>-;dL7yT{ZoN|+YkNIJ^JAXk@wY~q72OILux-@E%FKW(e3HBi}ro}emtfSRPJrS z%?2*V#t#)osm)opUVr~g%5k1rt&yqmdjq-Z z$k*n;zkQIu$Rn@%kbAy=g{pC0DU%%i{g15!n!>viAUDh-=lVCk7UOJD&1)Kp+9?Zi z<%65TE2y33dgMIqYgg-PB>Z0BgTtG`b8sK27u6SXbvs?JgAv$d7yW&aBH+)pJ$O|X z^M1E}bs6=zfO0YQxDEMC#oxzxg6eTb3wB*e5?KM~cTdpbd^;lFogybBY zs9x7m4jAPhn;};|wkcc!J(2RMIfi`$myF8QK>C5})pEJiW(LZo-i|QkS_`@QYnsA8 zLC$wYOLnQK57Bv4K=)h*#x$@u~s*_283DdcO{HF?D_j-&N&$qVcHn zW$2LY*2FjCyl1{be@EtE{F#T~FK7N?E$FXizM4TP`)J(N z1t9yjgHQIi#P|+`vF?e%1e%1D}q+ud<5lf8pGSjM$)qo)pO7u|_mI|u|4|b3 zl^T60qbH85I>8jRBk)zgkDcRPcOh?&-){qdD)`4!ex80i0@XqC4dBlPU-fHqT*7lc zjQ$?eV(?)OI(c;bAo5e&PI>{$tN~<>~KL)q#Ikl>9uGUrh4lP2mTl_)A^>LdqZf+oJe0 zT>e^;zq2X&yEFCz#ix2#`Ga4KdtZI;NZoTESFX+z7S;ctFJnQIIyd8^Lo^;=(I3$3 zqxMU?6~aG%`O9;@4s&mQ9!vF-5B^x_IRp1v2gbE)lv&#U!JiF&Bu;|QPuR(hGVm9J zKMD6*Uhm_mC+htJSCA&kXDx7bzy)0#+RyV`cr*C5;9u?KBMzv(Gaz!FumQNVyIR)M zaRlNC`1E`ws!s0Ev5wS}Jz2oj1J_(!B0l}SvATosXM$e~KBhUId?NL>9Q+X3;qp=M zo_<~pekJ%vyL{BgWm=xdHMXD+RTT@&LjlttQUF6>mC@MEqaqwFmWz^L6U^iD%xP1zZVmTggCEFYdWq z{gPu}{UI249!TYw2Dz?xx9m4d!A}Ffx%QxTtpYzD{G;4_(O=X#vh&^Z(3H=1-~@1O zTwHX&^^MZ}=JFx=&fwRhd@admG5=&&Kk5nXMu$R3eiZ9J+{>rUQv4?VOy-~FS zL~)t^e%gN2<9JsO>Pg3BwUIO+puY)AY$_N1-MwD0tEG0S0-yY+rFrc(@X3EVx%pAt zh@7`r$3(X;A@I{DnwjmZ$9v3Pdg&0et@})XM7lc z5I*Hs#{8(b&1052<{vp8sq(7=eryZ%L;ALXKNS3vEn^SWxBCsB_b7^+4oUbVWIPmq zhwoEK7=A@*-aKm}x}K8jghtt6>JyHH8 zz}<>^@_o}IqSM_E#TOf#3ssZwG*Q{z?HbGv9%>5T;jQv9| zUaeo%3m*Lg?x{gtFJ-{z0l)YFy#5*pzG#!HYf;CWD&W@xe;nb>`MZI-;!OTE;CH2R z20Z1|`_k$g3g$x%R4G<_iBF7h$_9V$xt1k|26xwdM5=r3B?6#ZU_ zI+{7qU9YP42W~NN?WsOY`>O+$eWGxCfhz~@c*3bN!hZ))#*ybT=|#ifj<=bBlBk1@6q1? zejfOd=PalP_Apic35bW_w{rD^?~(5fepm35Tt0lo^BiY5_-Rr4!S~oV4g7fU)xMeW zHGU3D`7dRDWZn}!o>qasAAS{?cSO%ywlP0azUcfLz~2e^mhA615&a$fmgIYbUju$~ z_LDyjXFhsfqax)O}R#4rd1jnQpJ}^mlGEQEy9KygRPb z2T@DNlX+NB`0c<~0$=9EYyIj$R(3#bN~wbfWOphSputs5>hC|e;{oEWc`uFBP`v03 z+*IHwUT7TbjvCi&9-<;&22t@Bav7_e!Ua*|6u-ld$eW-dZ~p*4j&#p0u7OY-y1{1@`rzKpb=t~d4V zXChPkWdTdQcC#oz5H%(HyYfTCnjmdJB>=S;2xvST^) zht?eYIWm=Z6L9N+3*z35e?0I}zPrF*4gMVB8#^O;>izb9dIz2GOM#DnT;qLRJa+P! zr_R^#i9)h7|2o7o;EyH!s=hJ5QWLNN?mB?%EC#L!xD3LXdWV0}kU{)~;Fo}(;PTOL zxg3x*9N7i-l3zYL3F6T7xw?e;aFQq>+A0_*if=~7*dhO$SAbu6=Z%KX|_^Tn` z#+8pgFVMhz(&hRf>@)A9b-W(&^~=A)x4V4w4||k~MI_T3e9|B3KPaDOt8sfc_*8#q zk-VDcp&ixqGds#3=G^Idtgv;Mnvee|xG z#_a;G*Aq>izoQ2n#kELyRr*rlSVh21^Xenq1r%Ac0u;O{-`>F00QVm+&Q_;l-1#-( z=hEQuy{^{tInuKR{MFzuAinBf7>`x|y+nOO z%j`F7ru-_s;~H?D{<9bSAoxfk?XKgRd$NrBf5#ippMi^tw|f0Z2gCkNwPD@|A^Y=z z@A_1e{=R|oXSBCxJ}{p7CwcQly_$1?W#IRMyz&<%uiJ@P{5m|0d>V#^|T_ zic>+`1^!gX=MtYUDyMG>#z)W_DBzfUBjXsoZt;jPwM<22yH>KWZ zuWZ%~y)qzuo&SaYxe0%-p4P9Ca%H>aLK!0ZZ0Ek_%cUOK_l64kJMIOwO<{@gkMzy8 z^HS2V{g{$I%a@hXwNwsB2|3PEXzAJ~CB2WS7qwN<6C(6?-_t*63g3Zy-CkKKX{AnX zN;>`sXG$7cuulr6@)wv}f>AkkL2fGKLPSvcqRu&Av;pN?>DZ;nHpi1~ZXh>?LTf_O z*Ly138~V1hzWFxvaeHS|d#id;?VXDf+4nbF&w2-j^wHm^pZy`87t*{4_LbQv*DR`+ zQq)U^y){vph4R5ma`2Z%JwNe6oUSX))$jF z;L~q&Q9nz)5$z3n0TCg03*>SHHpke~W-Q}`9H`~W()tWK06do4ac zBBti?zMC-~Y{fYfubk&OWxmREoDTP#DYa8?$gPLm;UvdbH>86>4}pFU(M&n8pM<}? zhJxsWM@6I!u1|Vq0-y0obX+F-QqaeOegx^^D+}pb(2GESk7z0$seY&8k?MDm_?DMa zXg|_ikR?40(6b+UR=9dpoK$*psQ*UvWTh0?|7lJSl{ae|=JTKO^ENmQIwpenrT9M= z-|(RSb5x(BY^a@!fv*6bzB}mY=jgwszMPayoMiEI?7ji}InPgO=e3Y8{|xg&*Uwb^ z%S*`^>4rc2rQc=l51f;rKC=sQW4ATw_y1w%6|gM_e^@yMdwV)6X!}zCjqwn;GRTm9 z^X&d9X>*mjecSE2kU zW}J+SYgs8pPOs*Nwd_C^%tz(Nn6GyZDXx#ghGFfOP2nru`iS@|?DUQk1E@YuwVLxZ zDkOB_-&*LatHb_q9DYRnKQhmV)NgJ|xrGOC&FSkGa6WXJ<&fp%FC8(lUH{#|{e|qw zq6zTMrZD}T>SpbU)T6SezS&%HRBSUC2hMHOlSZ;<4f4s`#rv<9r36cD>@U1VeeDAL z4*)KT8=HZv08XtR6;;io;=>H%Z;!-KTH$~DHLbxMHNhKIB!N;;lh+)L1kq_Fz zC%xUkkN@dFy;-0O(9Jrt)V|o5qyPR5^V>%EcQvl#{HU6yU_{4X>2vSh^L&)=a>&;~ zzr?+{h+b8K@dEVYh&VVU*dMuO;dV3V^`QUB`OTww$y}O;;*W>8{UQsY@vX!IItFie zlm3p=F(3KhFMW;#zs(g6TmKlm(3+bdZnNdg1hLGPHSyw2yVKnX;xAk7j1zY|ciOdn z@q8Ri20F2S>!p_1V)3tYI(%Y_Qb+$vxJceC7Bb7%Q4^230_haF&LOZ>s)v<#5@$Ukgxv8=bn7`faQ zU)Z2QM=FW*mo;(X`ZxVA#fvZ5;trRAK2}b5#Jd)zGrw69ChxJa(j}oI!R#x)x5a9U z{-4D~X-o7|NOPUMA_gMx5!uh;&w}Jj1ym27fp{7AzR+% z7jN70i8wLck)V`0a#5Uk)1hy6LRXg~Ae%X$!Y3ZKG?qMSL#hq7?DHlpiLG&55(L>vcH>>a*njcrj!E+Td|Z*2amKEcr?Ta{1nVEnd82 z>U~MJ)$0yx1>}CU<=uX(h8q7zM}FqFexnxM;+K!ciDwDEAx^#==WL6UU&V=CM1T+t zrF4at9BHKv0PP03%(2!w@?%GQO{#!V{IJz6y#hZzwB&C-QDP%tZnWukn|%$!heNkz z@=PH}jIU@XKDOlQc4D#pz7Ics^~(=} z;)A$i+}Fm--`k1u1d01)3G%^KVspavxPL!UZb%W22hPI%zJQ$5R@5dPf%`A%Q@l{y zs?$aI3n&OZwy36BP{cs@hph#+c!Wbo%Hd#SoPC!i9yLWffHJZ@FkOP^GrIEWxN z88_3d;MWe-vViLZw>adQLVRKcH#<6N&9;LdIAS&B^qd`h%Ml;b?G8Iw8`YbvwY$my4_|4XZqZ1X87D}esjcT z%H|t8_^TsINcVgvh(9*ChHhVQf_ohC1Lv63NuDK6l;?>&uux$M=N>gdl#+V<$SIb; zC5U;J+?62Kz?Bjxem|NZZihc6kVmad6wlbQF@d@SD030162)VVtV1I^@{4$JFEy|7 z`F0efFg)ybtWuwR)F+;$;GmrzSp_Doux2>oCo=25#Y6mFi^hhhEZLMSsx0|rviMou zm)P>NfOys>Ivn85B=Lv3pY6z}QpAf6(Kk7=q?MTNqx*87{JxcVUEOc?$@M{TyCnKz zgpk(a9d*A=%KFw~iJ$0?`sF8W#5Q$*S3-OIVbQe-!I`OIPNKy9!XzpUmFGC?aOz~E zWsPO+K)0}*g|@uc7R#xf+~^Qqa+=j`JSeYQvPOze9l2AA280-CZJ`kJjg)^$YaiV% z_sd88o|qBr@EA5>KDXs=GmKH5)TlSe-z^K{)qS>uajC`@A4caHw%T!)n|$IkM}FxO zpZd~N`?tFq@*zupjKSKGKlsGA#L(@N+N&)Ne#rHf1!w%g!te!bB!&gMj}QnItE@X5 z@gVzJpx=E~sV(lK{LyCFeUWanu1tas$zfOy@JF9pPA=j7D^vCJo5PlP!# zlqhCOS(6|hij$x}9w%o7#AAtC(J81=K@I+kBVM)p2{Ff!KRIF*Ws8CLM@LlA?Hi8V z>d=^~a!)x5X}4>(S>gxw_5&$LJWZ_EEcv1>R*==}Y??l(&V>RTo_?_qGc38oMu$9K zh{tRR7jER@opu`9S1fnr6DeY`FN`VmiUe7iBDN+hwN|8v1p(+=5s+^ti{}I15v48} z6sT==(h-|&F`|E^E#6~Y!4n5Vz4f5=i!E-a0#F+qXC3h{*#~FYWm(_R?IK$)vBgS~ z;-(;lxqaos0Ws=FYe_(CwL5+r5KXpxI!Qe4RM{Zymu+U?fB(6-e>JWR!uN~u68G=K zw|O&B>`9OisOGB9JsGOckSmhJ^`9e$&usZ&0Mn+&aQ~KX(1S_hd2-H=<)CG__0z3? z(8Eb$U0gX3U&aqBOAPE*A^{ur>&?e>ySthClx5777~@#Ahs;(mqGCgc-qc>d6O zrga~dNRP+MKNG~AY)WFU_IFzpmZ&Z;rv6|1V~=Yuz$k9XmGLwkem;%{h&$qG#8u<` zWAUPb?5Xt87`8U<4wML$+hr43fPrhiBObEx#Oy6w&UN&>^m|+WX$!;}g*?!|4y63Q z@wn97ydT7FAd7@x0hOxzikSVzsgFZy!nAuZeH-VzRh5VG!NfPST zv)yBQqGo%`wLvk7jsVTI2R$7W8y)Nhed-&uC@9uRY^1&5m$gB0FHOUqiyMSL$*#tv z=i&z~2+~vnQ7U23+@M%RZuNTNp!q@ZAcgIhlZO4-O3V)C{kP8Aai)b4THK9T?H4b~ zvxT_TFQ1AN3&;XEOv+K%20K^IwrI+xD3|v@T5HLMWU;`J+mdNrF<*^NGn2)ee)$Tl zi<3(eF&C0Awh}wz*`kb-^@v_f(EP+N# z(BJUOEeYZqbw4*AODd|AV^IZtd%SIleN-tF-@;aWnmks}xK8&+%D&=kJuD^tlfW`p z(Bd+Nck~3%rlrlb#XXk9TJ;qRT~dv>Vm1fUZfd@^(vpZ;HN^f2BZoyxI)rOG4Ff3F zr`5JV?^Wu98_A@1E%{+&tY}5++ohKL$P(XhE4Il7X>c0Wi<4xrxRx7`z-4gOk*6(B4Ctq6}O0_yX#y_Ry)+J&!LdW!VzKX zEIhKd@t{b2Y0K?2GV5)H!(Oo`V8hKx!*t_AM|x)4%{OIIJD701EHM7u6&)1|4D>6k z4PVB3+QH5Y^4e~v;SJOzJ*49aNf1O0ZO2+$E{~%SgAJ7?1RY5$ z%nHA#^U0Zh(cqKoq?j*>f+g>#*ia!IyA@#>+i^J}guvt@tu`KELhkjWg5^i?;ywt+ zi6>B$I8pDT{h4wpm&J=UQtpuAW!%S!FD1pi+x$4mu->2ccD(q|FSq)|yf|X2B|qx% z@=dl}6E9}?Byw2flYnjW$>-w8yrwu>Q{1V{6XGSA_HLZ`1cW&8og~O@*iE1{atA!1 z^QU1yr`|7r^NW>n#M~GU!;!(n=~RMp#DF-=4&}43iwL`|v^{aONP8xZ=AT%GVFvwh zyx8rNzs8A5DHq0zT5KM`QYlyZMOaam`Q@Dn2+m!E_}!oOof@z((b*D5@K2i0@wGUy z7u_C_-ACEHq!#&@s3V)@QdY)`5cV6m@^?tGYC49qIB}1kAkX>b0}0}5D&wtjlw(Dl z#H-)P5zK`&G^32!{b_QEabw)~_T|W^@*>o)4M_@+;eudQxxwBHAd@SxxmXm4MOc7dj#EA5)^`E!YuSS8$uo7q|?4s;$_O zDDO=bbJeEPcS%HXh0?cvCc+U_f=XSCyP0Ld0(=4-G348AB~42d>Sv;r-)|~a6s&>1o?Q1_$C4S z`b`OPU5Z$ec(R~F2oXqf&eWG?+=I%>@m1U*nKNe zYQGMeA{C=9Vb^Ni-+T&>CHI#U@|Sl5cg0e zSf|I6>M!HvZ%JZx;sE8#T@T03J*EbLMk7FwZbg8>ZZ}=@j z(^r^+#$gWWtd7UNn1i6d(UEi24)`;1;w?${KS=o=cEi>E>^S-xhN!_YlREs-hGq@- zv=(ow&6}ORC012y@s?k{9~9sD<nZ+?zt%_0YOf)tz#~u9Y1*+79$oa3ms}n3Z@vTGg3r@{eXoZ z_xpk`C5!icm*f5^8N_NIW>5r|i<7a|LAAaTCl|F6pV95laq`YqVh){XS`jbHT8WqG zFxvO=a#M`~_&tHLnUN^JfO95&gPMgg#~pzPk|n?Mi+}aN^E4~%O+RA) zZrEGvwD}g#0DRjtaF(TA0cLF>S9sW_J(efbw%DikFxDe-Gkk`w!E#l7i-e?;&EF}Z!g}pWy4`&pDmv|jE4UWv`9S#8^==q+)9-B1e0r-?ffRReohlY3w|ly+xHW}rTG479>Vyh#+&_k5HKFbWE|3y0 zxqKJGI!(dxd&x0Y`^ve>o_gKGd8+{jMKj&|5sp-thuXBy`=5oycdm2=ijxfFzIgQ%4B|B3;b9SqbC!4 zx^xwB8jEY`x5+1izZza=z)Cv|Kqoh5s9ush5x`_prYwXH=VZtY!K1 z|5Cn)?aySn5>C@6H*ZG)o)CDi$~D@LO42pGlGEVt(emm1yJ)|rXYg;+i<+>?r_20K zXdV5#ZOreZVt$_#^ZV?W-;?-vl2$9m_SZMb{JU(jwjZ0q>MG&5bOis#c7wXGyQ;3$ z%%^j|bj9mL{KlW(s^@}WO{=b6*wCWOuM>gYRCOit?}Rq`CcwYdffwAH+TQu3u4hxL zy|})xBcd)k%1sw%BQnm^zYTq8H~rh#xs@v-L6e2auPLlQAGTi|a;62j{%!Qs^Y6ac z9;E9J{(YtX`TyJhwJnUlTU($X%CMS4$Tb{-AFIFQG2LGAk2fD@7qS1Xox^$EhEWDOCQP zcH#7NPIEXN!s!@Jr*Jxp(?y)F{5kEy>FJ#2a5{w3F`Q1}bQY(JI97a=MPwjht@bbO)#VIQ0+W{5kEy>FJ#2a5{w3F`Q1}bQY(JI9-*KxX$(=D9t;B+6SejIF8 z`E%NZ)6+T4;dBV6V>q3{=`2ncak`Szb)0VGbPK0DINisopVw!HaoUB`(>cxIbO@(o zpN)>cHJ|Ab72}$^a{KlBXL{F*uexDk@eS!cyZ7pT%1J$LP`^&O<&+-XGkTtQeeviK z6DAk;IPv<)#iyL0F=G6$*P(0!) zq{WkUI@a7xoK!rz`_&U~=zi4=>Bx~+j-EPlbW!n@Fcja{Q#!63F?sTc8?_E|f6Yh;k}}E}dX<$UCX5>iC6kaJ z{_C!c&>3EJ{q>^z$Vn3>jGjo$i8ow1YV=h%Ts?l=#A}uN{9pe^^D>%~nE6l*&$mn( z-RgKpKPJcS_`MHv7b9=xYbFgb-ps$uyveA+Lm?5sKO=AEb0(dgs*#j0VT`<)XJvv$ zx{bVN$V(6&lTi*lj0T1DEUH;Hzw_NlqtCuG;&7e%ousI{xE5R0dg8^ z{~auE+OLAwFD7mHSG0ok=$~RijQr9cw7n+nW)>1G7n^@YjC_ry5hm?9odr2D?PsWu z#>h9|MH0G9dbC+sDe8g!w+eJ>V^hm!y;ibH>*>mJCW+0z28>o7d9$8d&GNDM*x#EW zOa5c>ujKV$<=>R2?FO%Wh~+~ppJx`1z|obi{*U~(1GnV+CV#Weh{qd_bfvRn=wFfk zWBhOrFy8#T^7^vtlUgD~N<5b-ze)Fk=ao0>)153|5@WxSGihUtycws*KFjud@}^rO zXUGmRCz>gL1&{NyS-w|{|D+p1PU9g@_GiSfas!k zq%F}wl)u|q{WgBu9WbI-#L)XOy@crySJw?p4>3KR>C-`{a+&87Co=s$rWf))T0f>g z!*s#>Y{QuTj=?kCjE@aWuV8v92^$Kys0<5M5yrfM{E2X#vcU(NRN3wb34<|X1aM^)0XK2LAOL( zVd65A#Zbmq#Q5g~rq{;MOPC(}9B7f!kM`xbW9k8KE+gMI!i*;-U%cd|>^IMy41KG@ zw-#pnGW6eBzgX8Pp^o|I%OOWZN-a0WoJ%)ZJ)9cwzgQs^GNKai1eLB-aFY0_t zINuFS&y1n}Xz*3h_7?jB+X(}N9~-klv$B0eeoFKIh{nl0LcPWm(7L&wLZ{)Q6L491r*UhqWW z9H!UB#IY+_Pvx=NknT#G5H~TtoZ|zEudew_55>fdN10w3gRf?KMGXB5(8>Oc6Lh}0 ztp7)*moQy@iw!*b_#xp-PSto*pB=Dxqxz|1{cTuJchCthdTM+s>X$D1tOe22&(?JH zZ8Xp?WO^uD)73Z5Kp(^O^8T8xzEuYLRM08kTF%$B%N)j64Al5LfTasZXLWh=H9e%L zc)g72^-SN+^pBZdcb>+pZ-Ifgi|L_3nr`Bisn3!jnr`Z|iSe~eH{)q)lD4Ow>F;sA zotPfFMC)0>^d3wv8mj46Gd+*#bxc>^G6HWj(}S03d?FhM3e7+&{e3DS#D>@7l7@}v=;bUAUFue!UGdM1x`>Sgx(<^?}_&!XZ zX!P)N`BbLg#`Kb3b-u++UuyKctM#V4;E@YFKRI{lj&l-rXRufe8lunye6bG zeizd-C+d3O;Yiq+=u*DHu^N9N=X*ZWW81fs>4mg##Z{vI$2VgPKBNhF*Far(bp-8| zDnk4m)AYw=bP&q7oc$2Zs;(oME)LW73}t#Brl;5Gd{1OM%a|T2(S)%~|A6TQS7^d8 z%>U^6i|HA7@02c64@b1q_7oQB`Z508o#{otXuOFJeVCq^tns&Uz7v>Uw?h+9e042k zx;fXO{zf}E8<<{C3n*MB&TM9SZK>ANoBNAAOxv09s-}-rQbL@{^a}OI;)S?Es}rS$ z-cj3$v-9eDgz2&Ne`N3zHE;-*D+&8})Lt1oH32Yn(f%IMO@??4OkFul4^Gng(*6Nm zmoq(mzy5tS>%Wfa=G+;YNnHyJ9`A9{^$+zwzK_QAO5Ui?;Bp<2rtP73%IHFOQ&$et z3p;6h<}>|L&}kpQoIf(7iOS+@~3b;oyntcTefxomkNY zOfR@V*H0enxt!^O+uihwe>2^jS7Nsl4;wxAYX$#eJt3yo@73)xiRqt!PW4~M=ORqG zer0@!^F5aFtuTR9{+6T5)tCFl*-X#mdb^kLgP2};rOx+6re6cPnm@;kBexrTmezkK zSKk{(|6;9R9P9a->2-s3y?xH~2BrsXt-y>UhhsyJ><>0*I)19_pSYoVFy}fUuC7ZN zU+}%gk7W8hrq{DSU&8c9nQqPpnt1gZ(<_eAcB1>J>qn*sr$)C+M|5Pevxw(K=Q6$z z)5}BJo|~9Hh3U2I&!*okFmygwX5##_OwS1Gd~eo?c-PSB1u$Hfvi@C6FNalhnK+q@ zz(RJ`f2Dyx>*9%SOs|}w>Bb)hFuk^owja|ibzKWO)xSBHhV0Z;#&~ls(6svsg-;dc zTqnA-x?X0wId5s`AF-Z-y*l44#_wZ#CHs{rZx9m+8aK_kJX3EyK&SGSFV_mr~$y6+T&*^H`=_@yBpI{H1}XFup6( zD=yaM9m4cUOs_vo+kZLJ=QBOCQ4=uis%r)46dyt{@gcy>&ZmHRov!t>Ift1DrCAjA8h*3bkNCf#Ray) zaWf02GuOi&O`pkn(wQy>Y5I3epAWi!)=oUFR^pcAVCO?yRm!Ob^8|p6QPJ6L`!(x7?RafxeY&G4#Z149=@qQs#D@t?&){}Eo$+&+ zUd#JV>f7evJ;d}nUXRRW{ANSvdgEi&;uHiZYR3$om$udBiVK)tu}2e3J6^~15}r?* z_;VlA>vw6q>8I-RggpHn`G+~*} zUJS#;kL<7fMAOIXVv8wEFZomJNn|~@F}3aKrknHk#vk@Fy@r%8HOtaNh$Mnj(_3t;Co^+D7vxxhnnKvHK^m<3@LA9$Zi|KXT-`PwtiRl$1G~V>D zJDG0Y8!+SeGoaHrXx@u36JX+-pTZ9 zm|hSwub$)Lb-sfbU&-_kE9k_2-U$PNjx(Atk@06Uy&hj%q3b6u*HosLq(=AO9?Ht$s(!}NO?U%yQ2$@FQ)7N*CJ*WWWen5^;dvYud1ZBGU7Cvf-?M>D9st6F!5&*(+gVZb|1j_R}G%`!_nO8`jP477ioLA zImMY6;K<+1drZ9;KaA=4PO74u!}RNzUdj8JZJ2&5)6--2ua+>qh{qArj_a9T@7Mav zS*H&u+SBLnG=^>7*FLAr~z{H8{FFZyQ{>_1G6w_-tZkzi5kHK@h{DM7xW4lIi#mmJ%2cr{z8eo%*AB&(5^h?~E^` z?;qhhS0~~`I1H7m?qaR@9<4^4&GgI*HPF)Lin&Y|eKo<<+j^$Q?w4+2dIhgT%{cXg z!SB}kjsG+mI&TcW&GsCArna-9v&N5S`ahXozFgaLDVJ*$(~Hy}g~lg{+5S73p272Q zOefU!jG>>Zf&XSbZ!kR+vmdpa>2<$opsBYMEa<2{D__&}UaTjN>9ssx?aujL!}N^L zHE?S^r^YX*zdiK18RGH#5GJ>9PCyA2Qv%AAKp;{~o57a66iOWp8fZcQvpz*IO3TYx#Mf z>F%okhvzT5xOUtj~d>>$XFlIjgvcdnQf#^Q! z`jYACJbyEBpbZ8B^3T})r5;SL=%wv1@@qX~nO+{VzdZ|d8kf!c>Bc{oGCuR)TF(NV zh>wi^*1BTMJjy;-$E%W<=ir?{Cp&9n<~ipuJzf2=7Mv5}@?K`>Pv~~U2M*PB2h+>% z)xS4zyHqhf$on37tmkv4SB}z#_uzW?gX#G8yFwcOIXsi>?;wg|&bJ&7I@w>q<28z} zt|F#q#&woYe>r19*9;xvGorvEJ{a8&fapTB7 z+Rh9PsAfGil<9)^AI$ownCY?e{JWW65!1e}GCgyvwr`B3)7?xLJRex1$s(n%wkI>j z&rb)P#x?VOfi%XS&-ilsPCBk-tbZZX3%I;Itr1mB5Ai%7!@asTGd-OS#Nryq9s5_N z7vgiZbfu{O@h(h1ZD;6xTTwbOJ%i~bahkr5>G@1A3~KrUsTmVNr*dV+>`TvMe1T8n z*$u^$Ot0XBLfKs2TBfJ-zWoWD?>9^@j5%K#pT+(;K`X%5X4Q3yp)=n2+bE`2o~H57 zaJ~x+eYTc=i0PG}Q+zPrQ!sJ9hVh}p9VPIC787Bn7v7->*ZFkX4gp;CqeNW~Ygm6b zrq}a4;aJv_!}OvKT0d`tid#S@d(3;!+`QrertjzdWX@KsV?Dt>Izuzh`HJba?4M@- z*2wfsp66pbMP0!hZGUBk)-zcbL-b&J5yyd!jK7xYwbM1h_~&g*4^7eZo4FpUm|k+5 zrgvug$4nPTYr-(j*Ur`U1bIUD2j`p4^nxEX{&1#eGChOm8^<&KGJ}tK-Z!7=we?!h z0LE7`J@$OUYoL?=oA0_9fBS~<6=;3B5?PN#peBC^J+BF$bA$bZ=@qAIyz!rGrq`xu zf4GJ9lrz1M$MMcge}d`tH)_H~Os78zO8I7*a|=u#(_hom&x*G5Hl}BAKRSx>Pcprb z`}N&Sf0gN(9B0ft?Ng@L|ElZLj5`7qOZ67waTDgL>lo0<&h)GF@7uY41~WbOJjM*B z7aSkmAMay&1)twA`_g-vUO!Hk_X5th8z!!lulcTtX~#^aXC`U=Co`Vjizj@>Pr6*D zf6@E#L@#O7KvS-2rq}WM{bkm(i|L^S+Mc)lnsI!-))Rb3|Lzpf={Tlm@;tCF>nUNn z`3}zE%5CH}U^7&}lz&Ht%P$8u6XM^L)&#-{a2Xa`F6OG7B8W^w@p2ET)H0 z8+4g?JBI18^WGAsXLA2dX8jdL4^QNc|5q72*K<3@e*il9mHEzzX~$m~U%>O&K8%k) zUzbbRx_!BtMYf?QY5UFmypZVyrCLE-)-#>ym18skpF~&J8iS9C|F0SS>_1&t&!0@M z9i#I-huiUNI4b#7Img>1#!msA=5K=MZ@rj)2jer?Zw;Q_+gJWsrWG$?{o9qEG-2NB zVm0Dt#+S3hnmBVzfz}h^{V@|C@|m8_0o#n5lbCM4Cu7Q6!SvX5dOg$Y=4neFXFF2{ z>3r+?`H}I%lbK$zUf0_bx;e!trWf(T`YhIS!G&5+@LWycX@|I#>E?Sn1EtRYIfGxQ zfAcg#yw7y}Aw^_Wg>V`KYw}%UYh!=~MlF9P(DF}42dMvhKP~mV zL;fm#m*OWpJ7Q7sGn$7vq4Th!xbLr^b8b|>@9%oE;^yA3$7(&luK1YxL(VAvSEe3M zzEqA&{rkQm1vUM#^lOTr^X%@An(_~qiBWPaJqCUdo`2_+Hib#)Ou&KxM z+x!7=+II)^J~+cS9`}9HA3yJCU2$`7q1o>*R(zkvNuR3y{3XRtC_jIZ;(x68McrRz z#s5`tU!R$Xb$;F`1s|#7Z7S~9|5C*-UM1^m_`^L0KP?M#RO|U?#r-(=6HZ9GCC%Rk z8S|fmieLPK{I{l?lwPQ~?@zu<@e_}i{=7myEB&tGXT0+x_nGnp#cx;K_lv$vasT|qTMVvxj+y880VldD zeM-iw(_H$9miO~a{#x;UW$FK#esJ}Q)MM@geVq1_>_C!(_r6#FRR>G6il6y2!GHNG z`TI7-FWxSIiKqOK;%C)AY3To*23LLC@c)l0enJhGAJ+l@o8tS_{{2qv=M$RJ&lB4Z zV&t}m$`3~suXSa9zC+8$ieGrN;QO@yXB9v9egO>M{t$4QXLH}@wOY?-w7j{$^_LXC zrX~I9pA_JKD1Hby>kk_5{$|BbX!)9_&%aD@Jj2B$uh;T#RD9nL3GiOUKV{0RU)u1E zzgPUkze_=*S3DAon%4LHUa5ah>-k>AFMdhp^E$f5eo3u>eboe@^l9%1@rD__eFj&-*_j{rn@v6N77BlcAq8iu-Y~yA(frRx0=@ zsjl=+Q~rVgW}m)a@tWta`<&u_9{AT3Kd=1R?4xNg7FzfFJw4kh^5 zSHHoe;%`^{g67{EzVvH~pLoO`F8RN7Tz{c>O~+;Q>e9NjyI1p3AEWg@N%4I;UPI?o zil2Xt6olH$e~v3&(s-z$hi%2rG=(0XC4ZIfQQXfT`;6lKCrUxn|1T?k_6MZBmp)kj zepFlf-&a4WW#@cQt>knlk#Ru-xvK>+a_R=f&;N&1P}dLE6z{8^Y3Sq!6~FL% zQt;cg{N1L!GJa$4zpEqdo>zVQS}p&Zitkl<`f(-bPb%)8$N4A4{c|pRH>Ccty3qf} zbRM3jxPN}Z6^h@lex7G*J?~Q7=S!bZ{H*eyZ_)CfQ~biig|6;YJnl+A z?|r09z{jP#r5^=O^2OYns$^a|$2j6U-nqhG*LwW;{udPY{df=QNxQXYNPpg*n>ug0e~nyzmg4=NmkNwOt)ck+kCBaaz1II4gR5Pj z>RstWiu-ZBFDmZap-%yyB6_aVm)7%f z#r?d~zgN7ka>4BPhiz-Sx?akTOW&^ex%;I4o3#Gx6)!zk@W(2?qPQOi+%)xnMkeN& zIzPW{>Q_fQ$e#avLh4l2>ao$&(dX#>QT)SZEQNN<$Kc7oaK%5N_}RY53msnRFHHSgQt|t={%`(4>HppbOZkt=U!@hr?|-lqoYVS$ zTyZ}>^&Z7*`=p;=)cXHO@e?W+zEkV@lEJnA?@;^^XQV&(YupEBJOA0Q_yx`LG;}zp z_yN_gep-r``ih@X`7)vSPblu6J39}Y{at?`6OhuUmiPTRUsb&Jco}F#^}6r)A*EaO zOB?#U)!@30FgN(mhTL}jdEA@Pv{9JmS;x%0tvtND}IMH*>vj^|f@@Gyzi0e1<`av(2{`6lW z9XI~f$1A??`=r5d)p0#nasNC*SMj~7KYWvxKco1Cqf*ZswEsVE%Ika{)bjtR_=(3! zKYwA5{P11qAI;kd?Wd8aM-)GQT*|*q>;D_Y&-|2pf4Aa~e5urP=92>4tL-i-UOOVV z;ghEnFL`>=OBKI(leBB})kpoX)PJwaN5g-f1)S+t&+~qZwtJJ7AA{aUf1arQe38NL z6yVj0-^2BQ>b-o|PaE8`6aQN4xuE_WLvPpqi1hQK>Tkww`VPfQ&y;a#`etcf@iSNj z`eWo&OL70)*(()4uqhqCo4-OHisJi}(54mteZ|ju{`P-U{JdwsJmY23|NEaT{b_1F z^NN=?1h_@=bxpNgAzfWBGFf8Nxi=iJXI{x!u< zXn&v{^Pgw`sM3kbUo)Reiu>o$UZl8hzkE{hn$FuZwEjImCiRze-3@=(r}zo=4?j=K ze~;pRKL4$X*FG!jXzaK*DQ@0TGxpRyz?uJeey5LX`HNqa24AlG`dKg6etuc%f4cT( zRdGLV^(w{vb4>Rs?%#*-t*?;!&%aG7Hu}=6;`gdQa9!J7QvASY1^5NUe_HYWr-V*^ zLh<)0KBn{hNX0*9@UIE*TZ&)vO6kwoxQzFOQeEjOiu->4Dd0?p-oCDBdEfu=QpN98 z{qu?1?rRnAt3TQBpARZt(|vSS%YPa;okuqJWGh_yoR&Y~=>rdXm5l4$wX(3U)ejaG z_w9m_;%C*bIFRWmy+ZMOA1i>0fzta;J)T~ApW-JzFXjJM+x^zNq(2vR9?U*n08aC1 z-qAC7Q_COFahY{|sp2)&(;lMrzftiqmHTEsKVWdBt829UpDJ$N`x;Z6{@Q~ceOSkD z!N4C>(ll5b2EHeK56k{x4_+8B?;*JOLrUhI0~f!#WZo}u@rS1G6S(-p(s#04{Nd^Q zU@rcMl6fD%#UaO+ZAAXPr}W5@xzFGJbr1Za=AM2R|HhKJf8WKg#e6>4hWOuma7nAV zFW>%g4{p!$?-Qoq_Y~YqEO`DtM!}I!t9e26-{#Mr(l?d-eMGnnlskB7Zl zRQ|>Q{z~9Q>vArDzdwL~Hh^FCn&SGe3*g@!z<(fszX|w0dt&t8?+M`V57hIq0R9&N z{9zE#Mf3Kg06rVQlK_540RQO#es=)>+W`L1pDgbGQ-BxIPm9av`RDC{dR`L1UkCg; z*jZ=3EDQB!)zkhVQ2ybtuL|dxarm{KFZCGvr5q@KQvgqZQ-6HD@t#2WKMvq~;czJG z=YJ32HwW{a8BkvscOAUkH?c$j=myYaTfBnJ>uq>TW2# zC{X@20sK7y{6hi!&ja|?Z!GTT(*yXS0REf+-U;A$2JqJf@CyO_V*&gx1NgrN@N3^x zJP%I`;PZ@wu8zw(8au8YC_m8hXLP?mLOv_~nBwQOo;Aha6sYH41NhvVi~D~(fZra# ze=vamQ~-Zh0RL^^MSS2-0{E8$^;~tXcwF@W-Vflf0=^f12LBw~>jUM#7{I>C0{CwP@ZS&MkNCOb{y#l{F9z@x;6>wlb)ft^0_DFHDF2Xm z6!-Hw;6?3D1}T@Yw)?thta!X=?X$8$B zNmV|b77aj@k(#A+p5&4|E8_D+iNBAZ6#i+PsID%!$D*J#3WC^Vl>-tC(Yzkdzi${ zUKhjNMCM|A{o=8MbBl32++2yP@$DFAyhWqg-|Y9Zp--MXy4mSexTY(f%4jUDusnVc zuWOI$qwP-8!lYp4ZyB^l$smeO(cjf>3(rzlwqy;W@$|#R@)&n-xp&hh9_prVF`-Az z++TnEwxd(?$Cnm+YtvP{wT-{&C(QB6MkSgVu3+dJEA4L5!Y^z15*05-lWTEb|NF=$ z9_I#l1=UQi#oVwzr(1(gZ%wCjF`8ap$7n%4z25xXFwyO`ZliNUquc5v1NvfdvN>pu zmp5vMw>By>`1dkDPY(LecQ`UVu5Wjn$5w6!oiCJ4ugg^1jvw{g-KAR=d(D$kbaS_Z zznNAlTa}q^a*DSWswk+zw3@Yr-Ru&)%+82rm6vFkjN;YCa1?JeM(d?GzHxpjUaZ!a z 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 literal 0 HcmV?d00001 diff --git a/examples/ThirdPartyLibs/openvr/bin/osx32/libopenvr_api.dylib b/examples/ThirdPartyLibs/openvr/bin/osx32/libopenvr_api.dylib new file mode 100644 index 0000000000000000000000000000000000000000..b296e20b85bb0a23606a1dc7350a56c58b4a2c9c GIT binary patch literal 299972 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

I@dgM5TWmmp)drLkYvw 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μ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 + + + +// vrtypes.h +#ifndef _INCLUDE_VRTYPES_H +#define _INCLUDE_VRTYPES_H + +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +typedef void* glSharedTextureHandle_t; +typedef int32_t glInt_t; +typedef uint32_t glUInt_t; + +// right-handed system +// +y is up +// +x is to the right +// -z is going away from you +// Distance unit is meters +struct HmdMatrix34_t +{ + float m[3][4]; +}; + +struct HmdMatrix44_t +{ + float m[4][4]; +}; + +struct HmdVector3_t +{ + float v[3]; +}; + +struct HmdVector4_t +{ + float v[4]; +}; + +struct HmdVector3d_t +{ + double v[3]; +}; + +struct HmdVector2_t +{ + float v[2]; +}; + +struct HmdQuaternion_t +{ + double w, x, y, z; +}; + +struct HmdColor_t +{ + float r, g, b, a; +}; + +struct HmdQuad_t +{ + HmdVector3_t vCorners[ 4 ]; +}; + +struct HmdRect2_t +{ + HmdVector2_t vTopLeft; + HmdVector2_t vBottomRight; +}; + +/** Used to return the post-distortion UVs for each color channel. +* UVs range from 0 to 1 with 0,0 in the upper left corner of the +* source render target. The 0,0 to 1,1 range covers a single eye. */ +struct DistortionCoordinates_t +{ + float rfRed[2]; + float rfGreen[2]; + float rfBlue[2]; +}; + +enum EVREye +{ + Eye_Left = 0, + Eye_Right = 1 +}; + +enum EGraphicsAPIConvention +{ + API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane + API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane +}; + +enum EColorSpace +{ + ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. + ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). + ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. +}; + +struct Texture_t +{ + void* handle; // Native d3d texture pointer or GL texture id. + EGraphicsAPIConvention eType; + EColorSpace eColorSpace; +}; + +enum ETrackingResult +{ + TrackingResult_Uninitialized = 1, + + TrackingResult_Calibrating_InProgress = 100, + TrackingResult_Calibrating_OutOfRange = 101, + + TrackingResult_Running_OK = 200, + TrackingResult_Running_OutOfRange = 201, +}; + +static const uint32_t k_unTrackingStringSize = 32; +static const uint32_t k_unMaxDriverDebugResponseSize = 32768; + +/** Used to pass device IDs to API calls */ +typedef uint32_t TrackedDeviceIndex_t; +static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; +static const uint32_t k_unMaxTrackedDeviceCount = 16; +static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; +static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; + +/** Describes what kind of object is being tracked at a given ID */ +enum ETrackedDeviceClass +{ + TrackedDeviceClass_Invalid = 0, // the ID was not valid. + TrackedDeviceClass_HMD = 1, // Head-Mounted Displays + TrackedDeviceClass_Controller = 2, // Tracked controllers + TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points + + TrackedDeviceClass_Other = 1000, +}; + + +/** Describes what specific role associated with a tracked device */ +enum ETrackedControllerRole +{ + TrackedControllerRole_Invalid = 0, // Invalid value for controller type + TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand + TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand +}; + + +/** describes a single pose for a tracked object */ +struct TrackedDevicePose_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; + HmdVector3_t vVelocity; // velocity in tracker space in m/s + HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) + ETrackingResult eTrackingResult; + bool bPoseIsValid; + + // This indicates that there is a device connected for this spot in the pose array. + // It could go from true to false if the user unplugs the device. + bool bDeviceIsConnected; +}; + +/** Identifies which style of tracking origin the application wants to use +* for the poses it is requesting */ +enum ETrackingUniverseOrigin +{ + TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose + TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user + TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one. +}; + + +/** Each entry in this enum represents a property that can be retrieved about a +* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ +enum ETrackedDeviceProperty +{ + // general properties that apply to all device classes + Prop_TrackingSystemName_String = 1000, + Prop_ModelNumber_String = 1001, + Prop_SerialNumber_String = 1002, + Prop_RenderModelName_String = 1003, + Prop_WillDriftInYaw_Bool = 1004, + Prop_ManufacturerName_String = 1005, + Prop_TrackingFirmwareVersion_String = 1006, + Prop_HardwareRevision_String = 1007, + Prop_AllWirelessDongleDescriptions_String = 1008, + Prop_ConnectedWirelessDongle_String = 1009, + Prop_DeviceIsWireless_Bool = 1010, + Prop_DeviceIsCharging_Bool = 1011, + Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full + Prop_StatusDisplayTransform_Matrix34 = 1013, + Prop_Firmware_UpdateAvailable_Bool = 1014, + Prop_Firmware_ManualUpdate_Bool = 1015, + Prop_Firmware_ManualUpdateURL_String = 1016, + Prop_HardwareRevision_Uint64 = 1017, + Prop_FirmwareVersion_Uint64 = 1018, + Prop_FPGAVersion_Uint64 = 1019, + Prop_VRCVersion_Uint64 = 1020, + Prop_RadioVersion_Uint64 = 1021, + Prop_DongleVersion_Uint64 = 1022, + Prop_BlockServerShutdown_Bool = 1023, + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + Prop_ContainsProximitySensor_Bool = 1025, + Prop_DeviceProvidesBatteryStatus_Bool = 1026, + Prop_DeviceCanPowerOff_Bool = 1027, + Prop_Firmware_ProgrammingTarget_String = 1028, + Prop_DeviceClass_Int32 = 1029, + Prop_HasCamera_Bool = 1030, + Prop_DriverVersion_String = 1031, + Prop_Firmware_ForceUpdateRequired_Bool = 1032, + + // Properties that are unique to TrackedDeviceClass_HMD + Prop_ReportsTimeSinceVSync_Bool = 2000, + Prop_SecondsFromVsyncToPhotons_Float = 2001, + Prop_DisplayFrequency_Float = 2002, + Prop_UserIpdMeters_Float = 2003, + Prop_CurrentUniverseId_Uint64 = 2004, + Prop_PreviousUniverseId_Uint64 = 2005, + Prop_DisplayFirmwareVersion_Uint64 = 2006, + Prop_IsOnDesktop_Bool = 2007, + Prop_DisplayMCType_Int32 = 2008, + Prop_DisplayMCOffset_Float = 2009, + Prop_DisplayMCScale_Float = 2010, + Prop_EdidVendorID_Int32 = 2011, + Prop_DisplayMCImageLeft_String = 2012, + Prop_DisplayMCImageRight_String = 2013, + Prop_DisplayGCBlackClamp_Float = 2014, + Prop_EdidProductID_Int32 = 2015, + Prop_CameraToHeadTransform_Matrix34 = 2016, + Prop_DisplayGCType_Int32 = 2017, + Prop_DisplayGCOffset_Float = 2018, + Prop_DisplayGCScale_Float = 2019, + Prop_DisplayGCPrescale_Float = 2020, + Prop_DisplayGCImage_String = 2021, + Prop_LensCenterLeftU_Float = 2022, + Prop_LensCenterLeftV_Float = 2023, + Prop_LensCenterRightU_Float = 2024, + Prop_LensCenterRightV_Float = 2025, + Prop_UserHeadToEyeDepthMeters_Float = 2026, + Prop_CameraFirmwareVersion_Uint64 = 2027, + Prop_CameraFirmwareDescription_String = 2028, + Prop_DisplayFPGAVersion_Uint64 = 2029, + Prop_DisplayBootloaderVersion_Uint64 = 2030, + Prop_DisplayHardwareVersion_Uint64 = 2031, + Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, + Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + Prop_DisplaySuppressed_Bool = 2036, + + // Properties that are unique to TrackedDeviceClass_Controller + Prop_AttachedDeviceId_String = 3000, + Prop_SupportedButtons_Uint64 = 3001, + Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType + Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType + Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType + Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType + Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType + + // Properties that are unique to TrackedDeviceClass_TrackingReference + Prop_FieldOfViewLeftDegrees_Float = 4000, + Prop_FieldOfViewRightDegrees_Float = 4001, + Prop_FieldOfViewTopDegrees_Float = 4002, + Prop_FieldOfViewBottomDegrees_Float = 4003, + Prop_TrackingRangeMinimumMeters_Float = 4004, + Prop_TrackingRangeMaximumMeters_Float = 4005, + Prop_ModeLabel_String = 4006, + + // Vendors are free to expose private debug data in this reserved region + Prop_VendorSpecific_Reserved_Start = 10000, + Prop_VendorSpecific_Reserved_End = 10999, +}; + +/** No string property will ever be longer than this length */ +static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; + +/** Used to return errors that occur when reading properties. */ +enum ETrackedPropertyError +{ + TrackedProp_Success = 0, + TrackedProp_WrongDataType = 1, + TrackedProp_WrongDeviceClass = 2, + TrackedProp_BufferTooSmall = 3, + TrackedProp_UnknownProperty = 4, + TrackedProp_InvalidDevice = 5, + TrackedProp_CouldNotContactServer = 6, + TrackedProp_ValueNotProvidedByDevice = 7, + TrackedProp_StringExceedsMaximumLength = 8, + TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. +}; + +/** Allows the application to control what part of the provided texture will be used in the +* frame buffer. */ +struct VRTextureBounds_t +{ + float uMin, vMin; + float uMax, vMax; +}; + + +/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ +enum EVRSubmitFlags +{ + // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. + Submit_Default = 0x00, + + // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear + // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by + // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). + Submit_LensDistortionAlreadyApplied = 0x01, + + // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. + Submit_GlRenderBuffer = 0x02, +}; + + +/** Status of the overall system or tracked objects */ +enum EVRState +{ + VRState_Undefined = -1, + VRState_Off = 0, + VRState_Searching = 1, + VRState_Searching_Alert = 2, + VRState_Ready = 3, + VRState_Ready_Alert = 4, + VRState_NotReady = 5, + VRState_Standby = 6, +}; + +/** The types of events that could be posted (and what the parameters mean for each event type) */ +enum EVREventType +{ + VREvent_None = 0, + + VREvent_TrackedDeviceActivated = 100, + VREvent_TrackedDeviceDeactivated = 101, + VREvent_TrackedDeviceUpdated = 102, + VREvent_TrackedDeviceUserInteractionStarted = 103, + VREvent_TrackedDeviceUserInteractionEnded = 104, + VREvent_IpdChanged = 105, + VREvent_EnterStandbyMode = 106, + VREvent_LeaveStandbyMode = 107, + VREvent_TrackedDeviceRoleChanged = 108, + + VREvent_ButtonPress = 200, // data is controller + VREvent_ButtonUnpress = 201, // data is controller + VREvent_ButtonTouch = 202, // data is controller + VREvent_ButtonUntouch = 203, // data is controller + + VREvent_MouseMove = 300, // data is mouse + VREvent_MouseButtonDown = 301, // data is mouse + VREvent_MouseButtonUp = 302, // data is mouse + VREvent_FocusEnter = 303, // data is overlay + VREvent_FocusLeave = 304, // data is overlay + VREvent_Scroll = 305, // data is mouse + VREvent_TouchPadMove = 306, // data is mouse + + VREvent_InputFocusCaptured = 400, // data is process DEPRECATED + VREvent_InputFocusReleased = 401, // data is process DEPRECATED + VREvent_SceneFocusLost = 402, // data is process + VREvent_SceneFocusGained = 403, // data is process + VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) + VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene + VREvent_InputFocusChanged = 406, // data is process + VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process + + VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily + VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility + + VREvent_OverlayShown = 500, + VREvent_OverlayHidden = 501, + VREvent_DashboardActivated = 502, + VREvent_DashboardDeactivated = 503, + VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay + VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay + VREvent_ResetDashboard = 506, // Send to the overlay manager + VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID + VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading + VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it + VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it + VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it + VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, + VREvent_DashboardGuideButtonDown = 514, + VREvent_DashboardGuideButtonUp = 515, + VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot + VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load + + // Screenshot API + VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot + VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken + VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken + VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted + + VREvent_Notification_Shown = 600, + VREvent_Notification_Hidden = 601, + VREvent_Notification_BeginInteraction = 602, + VREvent_Notification_Destroyed = 603, + + VREvent_Quit = 700, // data is process + VREvent_ProcessQuit = 701, // data is process + VREvent_QuitAborted_UserPrompt = 702, // data is process + VREvent_QuitAcknowledged = 703, // data is process + VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down + + VREvent_ChaperoneDataHasChanged = 800, + VREvent_ChaperoneUniverseHasChanged = 801, + VREvent_ChaperoneTempDataHasChanged = 802, + VREvent_ChaperoneSettingsHaveChanged = 803, + VREvent_SeatedZeroPoseReset = 804, + + VREvent_AudioSettingsHaveChanged = 820, + + VREvent_BackgroundSettingHasChanged = 850, + VREvent_CameraSettingsHaveChanged = 851, + VREvent_ReprojectionSettingHasChanged = 852, + VREvent_ModelSkinSettingsHaveChanged = 853, + VREvent_EnvironmentSettingsHaveChanged = 854, + + VREvent_StatusUpdate = 900, + + VREvent_MCImageUpdated = 1000, + + VREvent_FirmwareUpdateStarted = 1100, + VREvent_FirmwareUpdateFinished = 1101, + + VREvent_KeyboardClosed = 1200, + VREvent_KeyboardCharInput = 1201, + VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard + + VREvent_ApplicationTransitionStarted = 1300, + VREvent_ApplicationTransitionAborted = 1301, + VREvent_ApplicationTransitionNewAppStarted = 1302, + VREvent_ApplicationListUpdated = 1303, + + VREvent_Compositor_MirrorWindowShown = 1400, + VREvent_Compositor_MirrorWindowHidden = 1401, + VREvent_Compositor_ChaperoneBoundsShown = 1410, + VREvent_Compositor_ChaperoneBoundsHidden = 1411, + + VREvent_TrackedCamera_StartVideoStream = 1500, + VREvent_TrackedCamera_StopVideoStream = 1501, + VREvent_TrackedCamera_PauseVideoStream = 1502, + VREvent_TrackedCamera_ResumeVideoStream = 1503, + + VREvent_PerformanceTest_EnableCapture = 1600, + VREvent_PerformanceTest_DisableCapture = 1601, + VREvent_PerformanceTest_FidelityLevel = 1602, + + // Vendors are free to expose private events in this reserved region + VREvent_VendorSpecific_Reserved_Start = 10000, + VREvent_VendorSpecific_Reserved_End = 19999, +}; + + +/** Level of Hmd activity */ +enum EDeviceActivityLevel +{ + k_EDeviceActivityLevel_Unknown = -1, + k_EDeviceActivityLevel_Idle = 0, + k_EDeviceActivityLevel_UserInteraction = 1, + k_EDeviceActivityLevel_UserInteraction_Timeout = 2, + k_EDeviceActivityLevel_Standby = 3, +}; + + +/** VR controller button and axis IDs */ +enum EVRButtonId +{ + k_EButton_System = 0, + k_EButton_ApplicationMenu = 1, + k_EButton_Grip = 2, + k_EButton_DPad_Left = 3, + k_EButton_DPad_Up = 4, + k_EButton_DPad_Right = 5, + k_EButton_DPad_Down = 6, + k_EButton_A = 7, + + k_EButton_Axis0 = 32, + k_EButton_Axis1 = 33, + k_EButton_Axis2 = 34, + k_EButton_Axis3 = 35, + k_EButton_Axis4 = 36, + + // aliases for well known controllers + k_EButton_SteamVR_Touchpad = k_EButton_Axis0, + k_EButton_SteamVR_Trigger = k_EButton_Axis1, + + k_EButton_Dashboard_Back = k_EButton_Grip, + + k_EButton_Max = 64 +}; + +inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } + +/** used for controller button events */ +struct VREvent_Controller_t +{ + uint32_t button; // EVRButtonId enum +}; + + +/** used for simulated mouse events in overlay space */ +enum EVRMouseButton +{ + VRMouseButton_Left = 0x0001, + VRMouseButton_Right = 0x0002, + VRMouseButton_Middle = 0x0004, +}; + + +/** used for simulated mouse events in overlay space */ +struct VREvent_Mouse_t +{ + float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 + uint32_t button; // EVRMouseButton enum +}; + +/** used for simulated mouse wheel scroll in overlay space */ +struct VREvent_Scroll_t +{ + float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe + uint32_t repeatCount; +}; + +/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger + is on the touchpad (or just released from it) +**/ +struct VREvent_TouchPadMove_t +{ + // true if the users finger is detected on the touch pad + bool bFingerDown; + + // How long the finger has been down in seconds + float flSecondsFingerDown; + + // These values indicate the starting finger position (so you can do some basic swipe stuff) + float fValueXFirst; + float fValueYFirst; + + // This is the raw sampled coordinate without deadzoning + float fValueXRaw; + float fValueYRaw; +}; + +/** notification related events. Details will still change at this point */ +struct VREvent_Notification_t +{ + uint64_t ulUserValue; + uint32_t notificationId; +}; + +/** Used for events about processes */ +struct VREvent_Process_t +{ + uint32_t pid; + uint32_t oldPid; + bool bForced; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Overlay_t +{ + uint64_t overlayHandle; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Status_t +{ + uint32_t statusState; // EVRState enum +}; + +/** Used for keyboard events **/ +struct VREvent_Keyboard_t +{ + char cNewInput[8]; // Up to 11 bytes of new input + uint64_t uUserValue; // Possible flags about the new input +}; + +struct VREvent_Ipd_t +{ + float ipdMeters; +}; + +struct VREvent_Chaperone_t +{ + uint64_t m_nPreviousUniverse; + uint64_t m_nCurrentUniverse; +}; + +/** Not actually used for any events */ +struct VREvent_Reserved_t +{ + uint64_t reserved0; + uint64_t reserved1; +}; + +struct VREvent_PerformanceTest_t +{ + uint32_t m_nFidelityLevel; +}; + +struct VREvent_SeatedZeroPoseReset_t +{ + bool bResetBySystemMenu; +}; + +struct VREvent_Screenshot_t +{ + uint32_t handle; + uint32_t type; +}; + +/** If you change this you must manually update openvr_interop.cs.py */ +typedef union +{ + VREvent_Reserved_t reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t mouse; + VREvent_Scroll_t scroll; + VREvent_Process_t process; + VREvent_Notification_t notification; + VREvent_Overlay_t overlay; + VREvent_Status_t status; + VREvent_Keyboard_t keyboard; + VREvent_Ipd_t ipd; + VREvent_Chaperone_t chaperone; + VREvent_PerformanceTest_t performanceTest; + VREvent_TouchPadMove_t touchPadMove; + VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; + VREvent_Screenshot_t screenshot; +} VREvent_Data_t; + +/** An event posted by the server to all running applications */ +struct VREvent_t +{ + uint32_t eventType; // EVREventType enum + TrackedDeviceIndex_t trackedDeviceIndex; + float eventAgeSeconds; + // event data must be the end of the struct as its size is variable + VREvent_Data_t data; +}; + + +/** The mesh to draw into the stencil (or depth) buffer to perform +* early stencil (or depth) kills of pixels that will never appear on the HMD. +* This mesh draws on all the pixels that will be hidden after distortion. +* +* If the HMD does not provide a visible area mesh pVertexData will be +* NULL and unTriangleCount will be 0. */ +struct HiddenAreaMesh_t +{ + const HmdVector2_t *pVertexData; + uint32_t unTriangleCount; +}; + + +/** Identifies what kind of axis is on the controller at index n. Read this type +* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); +*/ +enum EVRControllerAxisType +{ + k_eControllerAxis_None = 0, + k_eControllerAxis_TrackPad = 1, + k_eControllerAxis_Joystick = 2, + k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis +}; + + +/** contains information about one axis on the controller */ +struct VRControllerAxis_t +{ + float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. + float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. +}; + + +/** the number of axes in the controller state */ +static const uint32_t k_unControllerStateAxisCount = 5; + + +/** Holds all the state of a controller at one moment in time. */ +struct VRControllerState001_t +{ + // If packet num matches that on your prior call, then the controller state hasn't been changed since + // your last call and there is no need to process it + uint32_t unPacketNum; + + // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask + uint64_t ulButtonPressed; + uint64_t ulButtonTouched; + + // Axis data for the controller's analog inputs + VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; +}; + + +typedef VRControllerState001_t VRControllerState_t; + + +/** determines how to provide output to the application of various event processing functions. */ +enum EVRControllerEventOutputType +{ + ControllerEventOutput_OSEvents = 0, + ControllerEventOutput_VREvents = 1, +}; + + + +/** Collision Bounds Style */ +enum ECollisionBoundsStyle +{ + COLLISION_BOUNDS_STYLE_BEGINNER = 0, + COLLISION_BOUNDS_STYLE_INTERMEDIATE, + COLLISION_BOUNDS_STYLE_SQUARES, + COLLISION_BOUNDS_STYLE_ADVANCED, + COLLISION_BOUNDS_STYLE_NONE, + + COLLISION_BOUNDS_STYLE_COUNT +}; + +/** Allows the application to customize how the overlay appears in the compositor */ +struct Compositor_OverlaySettings +{ + uint32_t size; // sizeof(Compositor_OverlaySettings) + bool curved, antialias; + float scale, distance, alpha; + float uOffset, vOffset, uScale, vScale; + float gridDivs, gridWidth, gridScale; + HmdMatrix44_t transform; +}; + +/** used to refer to a single VR overlay */ +typedef uint64_t VROverlayHandle_t; + +static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; + +/** Errors that can occur around VR overlays */ +enum EVROverlayError +{ + VROverlayError_None = 0, + + VROverlayError_UnknownOverlay = 10, + VROverlayError_InvalidHandle = 11, + VROverlayError_PermissionDenied = 12, + VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist + VROverlayError_WrongVisibilityType = 14, + VROverlayError_KeyTooLong = 15, + VROverlayError_NameTooLong = 16, + VROverlayError_KeyInUse = 17, + VROverlayError_WrongTransformType = 18, + VROverlayError_InvalidTrackedDevice = 19, + VROverlayError_InvalidParameter = 20, + VROverlayError_ThumbnailCantBeDestroyed = 21, + VROverlayError_ArrayTooSmall = 22, + VROverlayError_RequestFailed = 23, + VROverlayError_InvalidTexture = 24, + VROverlayError_UnableToLoadFile = 25, + VROVerlayError_KeyboardAlreadyInUse = 26, + VROverlayError_NoNeighbor = 27, +}; + +/** enum values to pass in to VR_Init to identify whether the application will +* draw a 3D scene. */ +enum EVRApplicationType +{ + VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries + VRApplication_Scene = 1, // Application will submit 3D frames + VRApplication_Overlay = 2, // Application only interacts with overlays + VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not + // keep it running if everything else quits. + VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility + // interfaces (like IVRSettings and IVRApplications) but not hardware. + VRApplication_VRMonitor = 5, // Reserved for vrmonitor +}; + + +/** error codes for firmware */ +enum EVRFirmwareError +{ + VRFirmwareError_None = 0, + VRFirmwareError_Success = 1, + VRFirmwareError_Fail = 2, +}; + + +/** error codes for notifications */ +enum EVRNotificationError +{ + VRNotificationError_OK = 0, + VRNotificationError_InvalidNotificationId = 100, + VRNotificationError_NotificationQueueFull = 101, + VRNotificationError_InvalidOverlayHandle = 102, + VRNotificationError_SystemWithUserValueAlreadyExists = 103, +}; + + +/** error codes returned by Vr_Init */ + +// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp +enum EVRInitError +{ + VRInitError_None = 0, + VRInitError_Unknown = 1, + + VRInitError_Init_InstallationNotFound = 100, + VRInitError_Init_InstallationCorrupt = 101, + VRInitError_Init_VRClientDLLNotFound = 102, + VRInitError_Init_FileNotFound = 103, + VRInitError_Init_FactoryNotFound = 104, + VRInitError_Init_InterfaceNotFound = 105, + VRInitError_Init_InvalidInterface = 106, + VRInitError_Init_UserConfigDirectoryInvalid = 107, + VRInitError_Init_HmdNotFound = 108, + VRInitError_Init_NotInitialized = 109, + VRInitError_Init_PathRegistryNotFound = 110, + VRInitError_Init_NoConfigPath = 111, + VRInitError_Init_NoLogPath = 112, + VRInitError_Init_PathRegistryNotWritable = 113, + VRInitError_Init_AppInfoInitFailed = 114, + VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver + VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup + VRInitError_Init_AnotherAppLaunching = 117, + VRInitError_Init_SettingsInitFailed = 118, + VRInitError_Init_ShuttingDown = 119, + VRInitError_Init_TooManyObjects = 120, + VRInitError_Init_NoServerForBackgroundApp = 121, + VRInitError_Init_NotSupportedWithCompositor = 122, + VRInitError_Init_NotAvailableToUtilityApps = 123, + VRInitError_Init_Internal = 124, + + VRInitError_Driver_Failed = 200, + VRInitError_Driver_Unknown = 201, + VRInitError_Driver_HmdUnknown = 202, + VRInitError_Driver_NotLoaded = 203, + VRInitError_Driver_RuntimeOutOfDate = 204, + VRInitError_Driver_HmdInUse = 205, + VRInitError_Driver_NotCalibrated = 206, + VRInitError_Driver_CalibrationInvalid = 207, + VRInitError_Driver_HmdDisplayNotFound = 208, + + VRInitError_IPC_ServerInitFailed = 300, + VRInitError_IPC_ConnectFailed = 301, + VRInitError_IPC_SharedStateInitFailed = 302, + VRInitError_IPC_CompositorInitFailed = 303, + VRInitError_IPC_MutexInitFailed = 304, + VRInitError_IPC_Failed = 305, + + VRInitError_Compositor_Failed = 400, + VRInitError_Compositor_D3D11HardwareRequired = 401, + VRInitError_Compositor_FirmwareRequiresUpdate = 402, + VRInitError_Compositor_OverlayInitFailed = 403, + VRInitError_Compositor_ScreenshotsInitFailed = 404, + + VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, + + VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, + VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, + VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, + VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, + VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, + VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, + VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, + VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + + VRInitError_Steam_SteamInstallationNotFound = 2000, +}; + +enum EVRScreenshotType +{ + VRScreenshotType_None = 0, + VRScreenshotType_Mono = 1, // left eye only + VRScreenshotType_Stereo = 2, + VRScreenshotType_Cubemap = 3, + VRScreenshotType_MonoPanorama = 4, + VRScreenshotType_StereoPanorama = 5 +}; + +enum EVRScreenshotPropertyFilenames +{ + VRScreenshotPropertyFilenames_Preview = 0, + VRScreenshotPropertyFilenames_VR = 1, +}; + +enum EVRTrackedCameraError +{ + VRTrackedCameraError_None = 0, + VRTrackedCameraError_OperationFailed = 100, + VRTrackedCameraError_InvalidHandle = 101, + VRTrackedCameraError_InvalidFrameHeaderVersion = 102, + VRTrackedCameraError_OutOfHandles = 103, + VRTrackedCameraError_IPCFailure = 104, + VRTrackedCameraError_NotSupportedForThisDevice = 105, + VRTrackedCameraError_SharedMemoryFailure = 106, + VRTrackedCameraError_FrameBufferingFailure = 107, + VRTrackedCameraError_StreamSetupFailure = 108, + VRTrackedCameraError_InvalidGLTextureId = 109, + VRTrackedCameraError_InvalidSharedTextureHandle = 110, + VRTrackedCameraError_FailedToGetGLTextureId = 111, + VRTrackedCameraError_SharedTextureFailure = 112, + VRTrackedCameraError_NoFrameAvailable = 113, + VRTrackedCameraError_InvalidArgument = 114, + VRTrackedCameraError_InvalidFrameBufferSize = 115, +}; + +enum EVRTrackedCameraFrameType +{ + VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. + VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. + VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. + MAX_CAMERA_FRAME_TYPES +}; + +typedef uint64_t TrackedCameraHandle_t; +#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) + +struct CameraVideoStreamFrameHeader_t +{ + EVRTrackedCameraFrameType eFrameType; + + uint32_t nWidth; + uint32_t nHeight; + uint32_t nBytesPerPixel; + + uint32_t nFrameSequence; + + TrackedDevicePose_t standingTrackedDevicePose; +}; + +// Screenshot types +typedef uint32_t ScreenshotHandle_t; + +static const uint32_t k_unScreenshotHandleInvalid = 0; + +#pragma pack( pop ) + +// figure out how to import from the VR API dll +#if defined(_WIN32) + +#ifdef VR_API_EXPORT +#define VR_INTERFACE extern "C" __declspec( dllexport ) +#else +#define VR_INTERFACE extern "C" __declspec( dllimport ) +#endif + +#elif defined(GNUC) || defined(COMPILER_GCC) || defined(__APPLE__) + +#ifdef VR_API_EXPORT +#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) +#else +#define VR_INTERFACE extern "C" +#endif + +#else +#error "Unsupported Platform." +#endif + + +#if defined( _WIN32 ) +#define VR_CALLTYPE __cdecl +#else +#define VR_CALLTYPE +#endif + +} // namespace vr + +#endif // _INCLUDE_VRTYPES_H + + +// vrannotation.h +#ifdef API_GEN +# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define VR_CLANG_ATTR(ATTR) +#endif + +#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) +#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) +#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) +#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) +#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) + +// ivrsystem.h +namespace vr +{ + +class IVRSystem +{ +public: + + + // ------------------------------------ + // Display Methods + // ------------------------------------ + + /** Suggested size for the intermediate render target that the distortion pulls from. */ + virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** The projection matrix for the specified eye */ + virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType ) = 0; + + /** The components necessary to build your own projection matrix in case your + * application is doing something fancy like infinite Z */ + virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; + + /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in + * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ + virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; + + /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head + * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. + * Normally View and Eye^-1 will be multiplied together and treated as View in your application. + */ + virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; + + /** Returns the number of elapsed seconds since the last recorded vsync event. This + * will come from a vsync timer event in the timer if possible or from the application-reported + * time if that is not available. If no vsync times are available the function will + * return zero for vsync time and frame counter and return false from the method. */ + virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; + + /** [D3D9 Only] + * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such + * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. + */ + virtual int32_t GetD3D9AdapterIndex() = 0; + + /** [D3D10/11 Only] + * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs + * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; + + // ------------------------------------ + // Display Mode methods + // ------------------------------------ + + /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ + virtual bool IsDisplayOnDesktop() = 0; + + /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ + virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; + + // ------------------------------------ + // Tracking Methods + // ------------------------------------ + + /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the + * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should + * calculate the time until the photons will be emitted from the display and pass that time into the method. + * + * This is roughly analogous to the inverse of the view matrix in most applications, though + * many games will need to do some additional rotation or translation on top of the rotation + * and translation provided by the head pose. + * + * For devices where bPoseIsValid is true the application can use the pose to position the device + * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. + * + * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative + * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding + * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should + * probably not be used unless the application is the Chaperone calibration tool itself, but will provide + * poses relative to the hardware-specific coordinate system in the driver. + */ + virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; + + /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After + * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin + * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis + * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to + * ResetSeatedZeroPose may not be exactly an identity matrix. + * + * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. + * Users are also able to set their seated zero pose via the OpenVR Dashboard. + **/ + virtual void ResetSeatedZeroPose() = 0; + + /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows + * applications to represent the seated origin to used or transform object positions from one coordinate + * system to the other. + * + * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position + * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ + virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows + * applications to convert from raw tracking space to the calibrated standing coordinate system. */ + virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; + + /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left + * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices + * in the list, or the size of the array needed if not large enough. */ + virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; + + /** Returns the level of activity on the device. */ + virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; + + /** Convenience utility to apply the specified transform to the specified pose. + * This properly transforms all pose components, including velocity and angular velocity + */ + virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; + + /** Returns the device index associated with a specific role, for example the left hand or the right hand. */ + virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; + + /** Returns the controller type associated with a device index. */ + virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + // ------------------------------------ + // Property methods + // ------------------------------------ + + /** Returns the device class of a tracked device. If there has not been a device connected in this slot + * since the application started this function will return TrackedDevice_Invalid. For previous detected + * devices the function will return the previously observed device class. + * + * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check + * the device class. Every device with something other than TrackedDevice_Invalid is associated with an + * actual tracked device. */ + virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns true if there is a device connected in this slot. */ + virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ + virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ + virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ + virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ + virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a string property. If the device index is not valid or the property is not a string type this function will + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. Strings will generally fit in buffers of k_unTrackingStringSize characters. */ + virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** returns a string that corresponds with the specified property error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; + + // ------------------------------------ + // Event methods + // ------------------------------------ + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns true and fills the event with the next event on the queue if there is one. If there are no events + * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. + * This pose will always be older than the call to this function and should not be used to render the device. + uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** returns the name of an EVREvent enum value */ + virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; + + // ------------------------------------ + // Rendering helper methods + // ------------------------------------ + + /** Returns the stencil mesh information for the current HMD. If this HMD does not have a stencil mesh the vertex data and count will be + * NULL and 0 respectively. This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering + * each eye's view. The pixels covered by this mesh will never be seen by the user after the lens distortion is applied and based on visibility to the panels. + * This will improve perf by letting the GPU early-reject pixels the user will never see before running the pixel shader. + * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. + */ + virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye ) = 0; + + + // ------------------------------------ + // Controller methods + // ------------------------------------ + + /** Fills the supplied struct with the current state of the controller. Returns false if the controller index + * is invalid. */ + virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState ) = 0; + + /** fills the supplied struct with the current state of the controller and the provided pose with the pose of + * the controller when the controller state was updated most recently. Use this form if you need a precise controller + * pose as input to your application when the user presses or releases a button. */ + virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose ) = 0; + + /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller + * and axis combination for 5ms. */ + virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; + + /** returns the name of an EVRButtonId enum value */ + virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; + + /** returns the name of an EVRControllerAxisType enum value */ + virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; + + /** Tells OpenVR that this process wants exclusive access to controller button states and button events. Other apps will be notified that + * they have lost input focus with a VREvent_InputFocusCaptured event. Returns false if input focus could not be captured for + * some reason. */ + virtual bool CaptureInputFocus() = 0; + + /** Tells OpenVR that this process no longer wants exclusive access to button states and button events. Other apps will be notified + * that input focus has been released with a VREvent_InputFocusReleased event. */ + virtual void ReleaseInputFocus() = 0; + + /** Returns true if input focus is captured by another process. */ + virtual bool IsInputFocusCapturedByAnotherProcess() = 0; + + // ------------------------------------ + // Debug Methods + // ------------------------------------ + + /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, + * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. + * The size of the response including its terminating null is returned. */ + virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; + + + // ------------------------------------ + // Firmware methods + // ------------------------------------ + + /** Performs the actual firmware update if applicable. + * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished + * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String + * to figure our whether a firmware update is available, and to figure out whether its a manual update + * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ + virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + + // ------------------------------------ + // Application life cycle methods + // ------------------------------------ + + /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. + * This extends the timeout until the process is killed. */ + virtual void AcknowledgeQuit_Exiting() = 0; + + /** Call this to tell the system that the user is being prompted to save data. This + * halts the timeout and dismisses the dashboard (if it was up). Applications should be sure to actually + * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ + virtual void AcknowledgeQuit_UserPrompt() = 0; + +}; + +static const char * const IVRSystem_Version = "IVRSystem_012"; + +} + + +// ivrapplications.h +namespace vr +{ + + /** Used for all errors reported by the IVRApplications interface */ + enum EVRApplicationError + { + VRApplicationError_None = 0, + + VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key + VRApplicationError_NoManifest = 101, // the running application does not have a manifest + VRApplicationError_NoApplication = 102, // No application is running + VRApplicationError_InvalidIndex = 103, + VRApplicationError_UnknownApplication = 104, // the application could not be found + VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail + VRApplicationError_ApplicationAlreadyRunning = 106, + VRApplicationError_InvalidManifest = 107, + VRApplicationError_InvalidApplication = 108, + VRApplicationError_LaunchFailed = 109, // the process didn't start + VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application + VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application + VRApplicationError_OldApplicationQuitting = 112, + VRApplicationError_TransitionAborted = 113, + VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) + + VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data + VRApplicationError_PropertyNotSet = 201, // The requested property was not set + VRApplicationError_UnknownProperty = 202, + VRApplicationError_InvalidParameter = 203, + }; + + /** The maximum length of an application key */ + static const uint32_t k_unMaxApplicationKeyLength = 128; + + /** these are the properties available on applications. */ + enum EVRApplicationProperty + { + VRApplicationProperty_Name_String = 0, + + VRApplicationProperty_LaunchType_String = 11, + VRApplicationProperty_WorkingDirectory_String = 12, + VRApplicationProperty_BinaryPath_String = 13, + VRApplicationProperty_Arguments_String = 14, + VRApplicationProperty_URL_String = 15, + + VRApplicationProperty_Description_String = 50, + VRApplicationProperty_NewsURL_String = 51, + VRApplicationProperty_ImagePath_String = 52, + VRApplicationProperty_Source_String = 53, + + VRApplicationProperty_IsDashboardOverlay_Bool = 60, + VRApplicationProperty_IsTemplate_Bool = 61, + VRApplicationProperty_IsInstanced_Bool = 62, + + VRApplicationProperty_LastLaunchTime_Uint64 = 70, + }; + + /** These are states the scene application startup process will go through. */ + enum EVRApplicationTransitionState + { + VRApplicationTransition_None = 0, + + VRApplicationTransition_OldAppQuitSent = 10, + VRApplicationTransition_WaitingForExternalLaunch = 11, + + VRApplicationTransition_NewAppLaunched = 20, + }; + + struct AppOverrideKeys_t + { + const char *pchKey; + const char *pchValue; + }; + + class IVRApplications + { + public: + + // --------------- Application management --------------- // + + /** Adds an application manifest to the list to load when building the list of installed applications. + * Temporary manifests are not automatically loaded */ + virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; + + /** Removes an application manifest from the list to load when building the list of installed applications. */ + virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; + + /** Returns true if an application is installed */ + virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; + + /** Returns the number of applications available in the list */ + virtual uint32_t GetApplicationCount() = 0; + + /** Returns the key of the specified application. The index is at least 0 and is less than the return + * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to + * fit the key. */ + virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the key of the application for the specified Process Id. The buffer should be at least + * k_unMaxApplicationKeyLength in order to fit the key. */ + virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Launches the application. The existing scene application will exit and then the new application will start. + * This call is not valid for dashboard overlay applications. */ + virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; + + /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections + * from the manifest file via AppOverrideKeys_t + */ + virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; + + /** Launches the dashboard overlay application if it is not already running. This call is only valid for + * dashboard overlay applications. */ + virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; + + /** Cancel a pending launch for an application */ + virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; + + /** Identifies a running application. OpenVR can't always tell which process started in response + * to a URL. This function allows a URL handler (or the process itself) to identify the app key + * for the now running application. Passing a process ID of 0 identifies the calling process. + * The application must be one that's known to the system via a call to AddApplicationManifest. */ + virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; + + /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ + virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; + + /** Returns a string for an applications error */ + virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; + + // --------------- Application properties --------------- // + + /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ + virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a bool value for an application property. Returns false in all error cases. */ + virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ + virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; + + /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; + + /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ + virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; + + // --------------- Transition methods --------------- // + + /** Returns the app key for the application that is starting up */ + virtual EVRApplicationError GetStartingApplication( char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; + + /** Returns the application transition state */ + virtual EVRApplicationTransitionState GetTransitionState() = 0; + + /** Returns errors that would prevent the specified application from launching immediately. Calling this function will + * cause the current scene application to quit, so only call it when you are actually about to launch something else. + * What the caller should do about these failures depends on the failure: + * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit + * and try again. + * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. + * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. + * VRApplicationError_None - Go ahead and launch. Everything is clear. + */ + virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; + + /** Returns a string for an application transition state */ + virtual const char *GetApplicationsTransitionStateNameFromEnum( EVRApplicationTransitionState state ) = 0; + + /** Returns true if the outgoing scene app has requested a save prompt before exiting */ + virtual bool IsQuitUserPromptRequested() = 0; + + /** Starts a subprocess within the calling application. This + * suppresses all application transition UI and automatically identifies the new executable + * as part of the same application. On success the calling process should exit immediately. + * If working directory is NULL or "" the directory portion of the binary path will be + * the working directory. */ + virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; + }; + + static const char * const IVRApplications_Version = "IVRApplications_005"; + +} // namespace vr + +// ivrsettings.h +namespace vr +{ + enum EVRSettingsError + { + VRSettingsError_None = 0, + VRSettingsError_IPCFailed = 1, + VRSettingsError_WriteFailed = 2, + VRSettingsError_ReadFailed = 3, + }; + + // The maximum length of a settings key + static const uint32_t k_unMaxSettingsKeyLength = 128; + + class IVRSettings + { + public: + virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; + + // Returns true if file sync occurred (force or settings dirty) + virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; + + virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, bool bDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; + virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; + virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, float flDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void GetString( const char *pchSection, const char *pchSettingsKey, char *pchValue, uint32_t unValueLen, const char *pchDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; + + virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; + virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + }; + + //----------------------------------------------------------------------------- + static const char * const IVRSettings_Version = "IVRSettings_001"; + + //----------------------------------------------------------------------------- + // steamvr keys + + static const char * const k_pch_SteamVR_Section = "steamvr"; + static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; + static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; + static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; + static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; + static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; + static const char * const k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; + static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; + static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; + static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; + static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; + static const char * const k_pch_SteamVR_IPD_Float = "ipd"; + static const char * const k_pch_SteamVR_Background_String = "background"; + static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; + static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; + static const char * const k_pch_SteamVR_Environment_String = "environment"; + static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; + static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; + static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; + static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; + static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; + static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; + static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; + static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; + static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; + static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; + static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; + static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; + static const char * const k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; + static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; + static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; + static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; + static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; + static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; + + //----------------------------------------------------------------------------- + // lighthouse keys + + static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; + static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; + static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; + static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; + + static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; + static const char * const k_pch_Lighthouse_LighthouseName_String = "lighthousename"; + static const char * const k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; + static const char * const k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; + static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; + + //----------------------------------------------------------------------------- + // null keys + + static const char * const k_pch_Null_Section = "driver_null"; + static const char * const k_pch_Null_EnableNullDriver_Bool = "enable"; + static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; + static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; + static const char * const k_pch_Null_WindowX_Int32 = "windowX"; + static const char * const k_pch_Null_WindowY_Int32 = "windowY"; + static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; + static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; + static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; + static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; + static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; + static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; + + //----------------------------------------------------------------------------- + // user interface keys + static const char * const k_pch_UserInterface_Section = "userinterface"; + static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; + static const char * const k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; + + //----------------------------------------------------------------------------- + // notification keys + static const char * const k_pch_Notifications_Section = "notifications"; + static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; + + //----------------------------------------------------------------------------- + // keyboard keys + static const char * const k_pch_Keyboard_Section = "keyboard"; + static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; + static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; + static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; + static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; + static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; + static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; + static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; + + //----------------------------------------------------------------------------- + // perf keys + static const char * const k_pch_Perf_Section = "perfcheck"; + static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; + static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; + static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; + static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; + static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; + static const char * const k_pch_Perf_TestData_Float = "perfTestData"; + + //----------------------------------------------------------------------------- + // collision bounds keys + static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; + static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; + static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; + static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; + static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; + static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; + static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; + static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; + static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; + static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; + + //----------------------------------------------------------------------------- + // camera keys + static const char * const k_pch_Camera_Section = "camera"; + static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; + static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; + static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; + static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; + static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; + static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; + static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; + static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; + + //----------------------------------------------------------------------------- + // audio keys + static const char * const k_pch_audio_Section = "audio"; + static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; + static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; + static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; + static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; + static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; + static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + + //----------------------------------------------------------------------------- + // model skin keys + static const char * const k_pch_modelskin_Section = "modelskins"; + +} // namespace vr + +// ivrchaperone.h +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +enum ChaperoneCalibrationState +{ + // OK! + ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly + + // Warnings + ChaperoneCalibrationState_Warning = 100, + ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved + ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated + ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center + + // Errors + ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid + ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, // Tracking center hasn't be calibrated for at least one of the base stations + ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space + ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center + ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center +}; + + +/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: +* 0,0,0 is the preferred standing area center. +* 0Y is the floor height. +* -Z is the preferred forward facing direction. */ +class IVRChaperone +{ +public: + + /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ + virtual ChaperoneCalibrationState GetCalibrationState() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. + * Tracking space center (0,0,0) is the center of the Play Area. **/ + virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds). + * Corners are in counter-clockwise order. + * Standing center (0,0,0) is the center of the Play Area. + * It's a rectangle. + * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. + * Height of every corner is 0Y (on the floor). **/ + virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Reload Chaperone data from the .vrchap file on disk. */ + virtual void ReloadInfo( void ) = 0; + + /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ + virtual void SetSceneColor( HmdColor_t color ) = 0; + + /** Get the current chaperone bounds draw color and brightness **/ + virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; + + /** Determine whether the bounds are showing right now **/ + virtual bool AreBoundsVisible() = 0; + + /** Force the bounds to show, mostly for utilities **/ + virtual void ForceBoundsVisible( bool bForce ) = 0; +}; + +static const char * const IVRChaperone_Version = "IVRChaperone_003"; + +#pragma pack( pop ) + +} + +// ivrchaperonesetup.h +namespace vr +{ + +enum EChaperoneConfigFile +{ + EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games + EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup +}; + +enum EChaperoneImportFlags +{ + EChaperoneImport_BoundsOnly = 0x0001, +}; + +/** Manages the working copy of the chaperone info. By default this will be the same as the +* live copy. Any changes made with this interface will stay in the working copy until +* CommitWorkingCopy() is called, at which point the working copy and the live copy will be +* the same again. */ +class IVRChaperoneSetup +{ +public: + + /** Saves the current working copy to disk */ + virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; + + /** Reverts the working copy to match the live chaperone calibration. + * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. + * Only after this should you do gets and sets on the existing data. */ + virtual void RevertWorkingCopy() = 0; + + /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. + * Tracking space center (0,0,0) is the center of the Play Area. */ + virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; + + /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. + * Corners are in clockwise order. + * Tracking space center (0,0,0) is the center of the Play Area. + * It's a rectangle. + * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. + * Height of every corner is 0Y (on the floor). **/ + virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified from the working copy. */ + virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads + * into the buffer up to the max specified. */ + virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + /** Returns the preferred seated position from the working copy. */ + virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Returns the standing origin from the working copy. */ + virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Sets the Play Area in the working copy. */ + virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; + + /** Sets the Collision Bounds in the working copy. */ + virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; + + /** Sets the preferred seated position in the working copy. */ + virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; + + /** Sets the preferred standing position in the working copy. */ + virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; + + /** Tear everything down and reload it from the file on disk */ + virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; + + /** Returns the preferred seated position. */ + virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; + + virtual void SetWorkingCollisionBoundsTagsInfo( VR_ARRAY_COUNT(unTagCount) uint8_t *pTagsBuffer, uint32_t unTagCount ) = 0; + virtual bool GetLiveCollisionBoundsTagsInfo( VR_OUT_ARRAY_COUNT(punTagCount) uint8_t *pTagsBuffer, uint32_t *punTagCount ) = 0; + + virtual bool SetWorkingPhysicalBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; + virtual bool GetLivePhysicalBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; + + virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; + virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; +}; + +static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; + + +} + +// ivrcompositor.h +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +/** Errors that can occur with the VR compositor */ +enum EVRCompositorError +{ + VRCompositorError_None = 0, + VRCompositorError_RequestFailed = 1, + VRCompositorError_IncompatibleVersion = 100, + VRCompositorError_DoNotHaveFocus = 101, + VRCompositorError_InvalidTexture = 102, + VRCompositorError_IsNotSceneApplication = 103, + VRCompositorError_TextureIsOnWrongDevice = 104, + VRCompositorError_TextureUsesUnsupportedFormat = 105, + VRCompositorError_SharedTexturesNotSupported = 106, + VRCompositorError_IndexOutOfRange = 107, +}; + +const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; +const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; + +/** Provides a single frame's timing information to the app */ +struct Compositor_FrameTiming +{ + uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) + uint32_t m_nFrameIndex; + uint32_t m_nNumFramePresents; // number of times this frame was presented + uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out + + /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ + double m_flSystemTimeInSeconds; + + /** These times may include work from other processes due to OS scheduling. + * The fewer packets of work these are broken up into, the less likely this will happen. + * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started + * processing that work earlier in the frame. */ + float m_flSceneRenderGpuMs; // time spent rendering the scene + float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work + float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. + float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame + float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) + + /** Miscellaneous measured intervals. */ + float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses + float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) + float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) + float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) + + /** The following are all relative to this frame's SystemTimeInSeconds */ + float m_flWaitGetPosesCalledMs; + float m_flNewPosesReadyMs; + float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit + float m_flCompositorUpdateStartMs; + float m_flCompositorUpdateEndMs; + float m_flCompositorRenderStartMs; + + vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame + int32_t m_nFidelityLevel; // app reported value + + uint32_t m_nReprojectionFlags; +}; + +/** Cumulative stats for current application. These are not cleared until a new app connects, +* but they do stop accumulating once the associated app disconnects. */ +struct Compositor_CumulativeStats +{ + uint32_t m_nPid; // Process id associated with these stats (may no longer be running). + uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) + uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) + uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time with reprojection + + /** Values recorded at startup before application has fully faded in the first time. */ + uint32_t m_nNumFramePresentsOnStartup; + uint32_t m_nNumDroppedFramesOnStartup; + uint32_t m_nNumReprojectedFramesOnStartup; + + /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes + * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ + uint32_t m_nNumLoading; + uint32_t m_nNumFramePresentsLoading; + uint32_t m_nNumDroppedFramesLoading; + uint32_t m_nNumReprojectedFramesLoading; + + /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start + * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. + * Does not include values recorded during start up or loading. */ + uint32_t m_nNumTimedOut; + uint32_t m_nNumFramePresentsTimedOut; + uint32_t m_nNumDroppedFramesTimedOut; + uint32_t m_nNumReprojectedFramesTimedOut; +}; + +#pragma pack( pop ) + +/** Allows the application to interact with the compositor */ +class IVRCompositor +{ +public: + /** Sets tracking space returned by WaitGetPoses */ + virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; + + /** Gets current tracking space returned by WaitGetPoses */ + virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; + + /** Returns pose(s) to use to render scene (and optionally poses predicted two frames out for gameplay). */ + virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT(unRenderPoseArrayCount) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT(unGamePoseArrayCount) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Get the last set of poses returned by WaitGetPoses. */ + virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, + VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; + + /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. + * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. + * It is okay to pass NULL for either pose if you only want one of the values. */ + virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; + + /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after + * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. + * + * OpenGL dirty state: + * glBindTexture + */ + virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; + + /** Clears the frame that was sent with the last call to Submit. This will cause the + * compositor to show the grid until Submit is called again. */ + virtual void ClearLastSubmittedFrame() = 0; + + /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. + * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. + * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would + * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both + * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ + virtual void PostPresentHandoff() = 0; + + /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. + * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ + virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; + + /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. + * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ + virtual float GetFrameTimeRemaining() = 0; + + /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ + virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; + + /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between + * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly + * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ + virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; + + /** Fading the Grid in or out in fSeconds */ + virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; + + /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) + * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. + * If two are passed, it is assumed a lat-long stereo pair. */ + virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; + + /** Resets compositor skybox back to defaults. */ + virtual void ClearSkyboxOverride() = 0; + + /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD + * and is obscuring the compositor window. */ + virtual void CompositorBringToFront() = 0; + + /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ + virtual void CompositorGoToBack() = 0; + + /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal + * circumstances the compositor will manage its own life cycle based on what applications are running. */ + virtual void CompositorQuit() = 0; + + /** Return whether the compositor is fullscreen */ + virtual bool IsFullscreen() = 0; + + /** Returns the process ID of the process that is currently rendering the scene */ + virtual uint32_t GetCurrentSceneFocusProcess() = 0; + + /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) + * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ + virtual uint32_t GetLastFrameRenderer() = 0; + + /** Returns true if the current process has the scene focus */ + virtual bool CanRenderScene() = 0; + + /** Creates a window on the primary monitor to display what is being shown in the headset. */ + virtual void ShowMirrorWindow() = 0; + + /** Closes the mirror window. */ + virtual void HideMirrorWindow() = 0; + + /** Returns true if the mirror window is shown. */ + virtual bool IsMirrorWindowVisible() = 0; + + /** Writes all images that the compositor knows about (including overlays) to a 'screenshots' folder in the SteamVR runtime root. */ + virtual void CompositorDumpImages() = 0; + + /** Let an app know it should be rendering with low resources. */ + virtual bool ShouldAppRenderWithLowResources() = 0; + + /** Override interleaved reprojection logic to force on. */ + virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; + + /** Force reconnecting to the compositor process. */ + virtual void ForceReconnectProcess() = 0; + + /** Temporarily suspends rendering (useful for finer control over scene transitions). */ + virtual void SuspendRendering( bool bSuspend ) = 0; + + /** Screenshot support */ + + /** These functions are no longer used and will be removed in + * a future update. Use the functions via the + * IVRScreenshots interface */ + virtual vr::EVRCompositorError RequestScreenshot( vr::EVRScreenshotType type, const char *pchDestinationFileName, const char *pchVRDestinationFileName ) = 0; + virtual vr::EVRScreenshotType GetCurrentScreenshotType() = 0; + + /** Opens a shared D3D11 texture with the undistorted composited image for each eye. */ + virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; + + /** Access to mirror textures from OpenGL. */ + virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; + virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; + virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; +}; + +static const char * const IVRCompositor_Version = "IVRCompositor_015"; + +} // namespace vr + + + +// ivrnotifications.h +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +// Used for passing graphic data +struct NotificationBitmap_t +{ + NotificationBitmap_t() + : m_pImageData( nullptr ) + , m_nWidth( 0 ) + , m_nHeight( 0 ) + , m_nBytesPerPixel( 0 ) + { + }; + + void *m_pImageData; + int32_t m_nWidth; + int32_t m_nHeight; + int32_t m_nBytesPerPixel; +}; + + +/** Be aware that the notification type is used as 'priority' to pick the next notification */ +enum EVRNotificationType +{ + /** Transient notifications are automatically hidden after a period of time set by the user. + * They are used for things like information and chat messages that do not require user interaction. */ + EVRNotificationType_Transient = 0, + + /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). + * They are used for things like phone calls and alarms that require user interaction. */ + EVRNotificationType_Persistent = 1, + + /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. + * If there is already a system notification in the queue with that ID it is not accepted into the queue + * to prevent spamming with system notification */ + EVRNotificationType_Transient_SystemWithUserValue = 2, +}; + +enum EVRNotificationStyle +{ + /** Creates a notification with minimal external styling. */ + EVRNotificationStyle_None = 0, + + /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ + EVRNotificationStyle_Application = 100, + + /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ + EVRNotificationStyle_Contact_Disabled = 200, + + /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ + EVRNotificationStyle_Contact_Enabled = 201, + + /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ + EVRNotificationStyle_Contact_Active = 202, +}; + +static const uint32_t k_unNotificationTextMaxSize = 256; + +typedef uint32_t VRNotificationId; + + + +#pragma pack( pop ) + +/** Allows notification sources to interact with the VR system + This current interface is not yet implemented. Do not use yet. */ +class IVRNotifications +{ +public: + /** Create a notification and enqueue it to be shown to the user. + * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. + * To create a two-line notification, use a line break ('\n') to split the text into two lines. + * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ + virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; + + /** Destroy a notification, hiding it first if it currently shown to the user. */ + virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; + +}; + +static const char * const IVRNotifications_Version = "IVRNotifications_002"; + +} // namespace vr + + + +// ivroverlay.h +namespace vr +{ + + /** The maximum length of an overlay key in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxKeyLength = 128; + + /** The maximum length of an overlay name in bytes, counting the terminating null character. */ + static const uint32_t k_unVROverlayMaxNameLength = 128; + + /** The maximum number of overlays that can exist in the system at one time. */ + static const uint32_t k_unMaxOverlayCount = 32; + + /** Types of input supported by VR Overlays */ + enum VROverlayInputMethod + { + VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay + VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically + }; + + /** Allows the caller to figure out which overlay transform getter to call. */ + enum VROverlayTransformType + { + VROverlayTransform_Absolute = 0, + VROverlayTransform_TrackedDeviceRelative = 1, + VROverlayTransform_SystemOverlay = 2, + VROverlayTransform_TrackedComponent = 3, + }; + + /** Overlay control settings */ + enum VROverlayFlags + { + VROverlayFlags_None = 0, + + // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay). + VROverlayFlags_Curved = 1, + VROverlayFlags_RGSS4X = 2, + + // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay + VROverlayFlags_NoDashboardTab = 3, + + // Set this flag on a dashboard that is able to deal with gamepad focus events + VROverlayFlags_AcceptsGamepadEvents = 4, + + // Indicates that the overlay should dim/brighten to show gamepad focus + VROverlayFlags_ShowGamepadFocus = 5, + + // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t + VROverlayFlags_SendVRScrollEvents = 6, + VROverlayFlags_SendVRTouchpadEvents = 7, + + // If set this will render a vertical scroll wheel on the primary controller, + // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel + VROverlayFlags_ShowTouchPadScrollWheel = 8, + + // If this is set ownership and render access to the overlay are transferred + // to the new scene process on a call to IVRApplications::LaunchInternalProcess + VROverlayFlags_TransferOwnershipToInternalProcess = 9, + + // If set, renders 50% of the texture in each eye, side by side + VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right + VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left + + VROverlayFlags_Panorama = 12, // Texture is a panorama + VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama + }; + + struct VROverlayIntersectionParams_t + { + HmdVector3_t vSource; + HmdVector3_t vDirection; + ETrackingUniverseOrigin eOrigin; + }; + + struct VROverlayIntersectionResults_t + { + HmdVector3_t vPoint; + HmdVector3_t vNormal; + HmdVector2_t vUVs; + float fDistance; + }; + + // Input modes for the Big Picture gamepad text entry + enum EGamepadTextInputMode + { + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1, + k_EGamepadTextInputModeSubmit = 2, + }; + + // Controls number of allowed lines for the Big Picture gamepad text entry + enum EGamepadTextInputLineMode + { + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 + }; + + /** Directions for changing focus between overlays with the gamepad */ + enum EOverlayDirection + { + OverlayDirection_Up = 0, + OverlayDirection_Down = 1, + OverlayDirection_Left = 2, + OverlayDirection_Right = 3, + + OverlayDirection_Count = 4, + }; + + class IVROverlay + { + public: + + // --------------------------------------------- + // Overlay management methods + // --------------------------------------------- + + /** Finds an existing overlay with the specified key. */ + virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Creates a new named overlay. All overlays start hidden and with default settings. */ + virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle ) = 0; + + /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are + * automatically destroyed. */ + virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Specify which overlay to use the high quality render path. This overlay will be composited in during the distortion pass which + * results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than + * rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful + * for overlays that are expected to take up most of the user's view (e.g. streaming video). + * This mode does not support mouse input to your overlay. */ + virtual EVROverlayError SetHighQualityOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. + * Otherwise it will return k_ulOverlayHandleInvalid. */ + virtual vr::VROverlayHandle_t GetHighQualityOverlay() = 0; + + /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including + * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ + virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; + + /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height + * will be set and VROverlayError_ArrayTooSmall is returned. */ + virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; + + /** returns a string that corresponds with the specified overlay error. The string will be the name + * of the error enum value for all valid error codes */ + virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; + + + // --------------------------------------------- + // Overlay rendering methods + // --------------------------------------------- + + /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), + * by default this is the pid of the process that made the overlay */ + virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; + + /** Gets the pid that is allowed to render to this overlay */ + virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Specify flag setting for a given overlay */ + virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; + + /** Sets flag setting for a given overlay */ + virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; + + /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ + virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; + + /** Gets the color tint of the overlay quad. */ + virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; + + /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ + virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; + + /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ + virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; + + /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; + + /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ + virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; + + /** For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve + * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ + virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters ) = 0; + + /** For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve + * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ + virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters ) = 0; + + /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. + * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ + virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; + + /** Gets the overlay's current colorspace setting. */ + virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; + + /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ + virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; + + /** Returns the transform type of this overlay. */ + virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; + + /** Sets the transform to absolute tracking origin. */ + virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; + + /** Sets the transform to relative to the transform of the specified tracked device. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; + + /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is + * drawing the device. Overlays with this transform type cannot receive mouse events. */ + virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; + + /** Gets the transform information when the overlay is rendering on a component. */ + virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize ) = 0; + + /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ + virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ + virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Returns true if the overlay is visible. */ + virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ + virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; + + // --------------------------------------------- + // Overlay input methods + // --------------------------------------------- + + /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. + * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ + virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; + + /** Returns the current input settings for the specified overlay. */ + virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; + + /** Sets the input settings for the specified overlay. */ + virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; + + /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels. */ + virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; + + /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is + * typically the size of the underlying UI in pixels (not in world space). */ + virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; + + /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the + * specified settings. Returns false if there is no intersection. */ + virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; + + /** Processes mouse input from the specified controller as though it were a mouse pointed at a compositor overlay with the + * specified settings. The controller is treated like a laser pointer on the -z axis. The point where the laser pointer would + * intersect with the overlay is the mouse position, the trigger is left mouse, and the track pad is right mouse. + * + * Return true if the controller is pointed at the overlay and an event was generated. */ + virtual bool HandleControllerOverlayInteractionAsMouse( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex ) = 0; + + /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" + * by the virtual mouse pointer */ + virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Returns the current Gamepad focus overlay */ + virtual vr::VROverlayHandle_t GetGamepadFocusOverlay() = 0; + + /** Sets the current Gamepad focus overlay */ + virtual EVROverlayError SetGamepadFocusOverlay( VROverlayHandle_t ulNewFocusOverlay ) = 0; + + /** Sets an overlay's neighbor. This will also set the neighbor of the "to" overlay + * to point back to the "from" overlay. If an overlay's neighbor is set to invalid both + * ends will be cleared */ + virtual EVROverlayError SetOverlayNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo ) = 0; + + /** Changes the Gamepad focus from one overlay to one of its neighbors. Returns VROverlayError_NoNeighbor if there is no + * neighbor in that direction */ + virtual EVROverlayError MoveGamepadFocusToNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom ) = 0; + + // --------------------------------------------- + // Overlay texture methods + // --------------------------------------------- + + /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . + * + * OpenGL dirty state: + * glBindTexture + */ + virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; + + /** Use this to tell the overlay system to release the texture set for this overlay. */ + virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data + * that can be sent. This function can only be called by the overlay's renderer process. */ + virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth ) = 0; + + /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. + * This function can only be called by the overlay's renderer process */ + virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; + + /** Get the native texture handle/device for an overlay you have created. + * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. + * + * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. + * + * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. + * + * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. + * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. + */ + virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, EGraphicsAPIConvention *pAPI, EColorSpace *pColorSpace ) = 0; + + /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, + * so only do it once you stop rendering this texture. + */ + virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; + + /** Get the size of the overlay texture */ + virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; + + // ---------------------------------------------- + // Dashboard Overlay Methods + // ---------------------------------------------- + + /** Creates a dashboard overlay and returns its handle */ + virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; + + /** Returns true if the dashboard is visible */ + virtual bool IsDashboardVisible() = 0; + + /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ + virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; + + /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ + virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; + + /** Gets the process ID that this dashboard overlay requires to have scene focus */ + virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; + + /** Shows the dashboard. */ + virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; + + /** Returns the tracked device that has the laser pointer in the dashboard */ + virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; + + // --------------------------------------------- + // Keyboard methods + // --------------------------------------------- + + /** Show the virtual keyboard to accept input **/ + virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; + + virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; + + /** Get the text that was entered into the text input **/ + virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; + + /** Hide the virtual keyboard **/ + virtual void HideKeyboard() = 0; + + /** Set the position of the keyboard in world space **/ + virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; + + /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ + virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; + + }; + + static const char * const IVROverlay_Version = "IVROverlay_012"; + +} // namespace vr + +// ivrrendermodels.h +namespace vr +{ + +static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility +static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. +static const char * const k_pch_Controller_Component_Tip = "tip"; // For controllers with an unambiguous 'tip' (used for 'laser-pointing') +static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb +static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping + +#if defined(__linux__) || defined(__APPLE__) +// The 32-bit version of gcc has the alignment requirement for uint64 and double set to +// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. +// The 64-bit version of gcc has the alignment requirement for these types set to +// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. +// The 64-bit structure packing has to match the 32-bit structure packing for each platform. +#pragma pack( push, 4 ) +#else +#pragma pack( push, 8 ) +#endif + +/** Errors that can occur with the VR compositor */ +enum EVRRenderModelError +{ + VRRenderModelError_None = 0, + VRRenderModelError_Loading = 100, + VRRenderModelError_NotSupported = 200, + VRRenderModelError_InvalidArg = 300, + VRRenderModelError_InvalidModel = 301, + VRRenderModelError_NoShapes = 302, + VRRenderModelError_MultipleShapes = 303, + VRRenderModelError_TooManyVertices = 304, + VRRenderModelError_MultipleTextures = 305, + VRRenderModelError_BufferTooSmall = 306, + VRRenderModelError_NotEnoughNormals = 307, + VRRenderModelError_NotEnoughTexCoords = 308, + + VRRenderModelError_InvalidTexture = 400, +}; + +typedef uint32_t VRComponentProperties; + +enum EVRComponentProperty +{ + VRComponentProperty_IsStatic = (1 << 0), + VRComponentProperty_IsVisible = (1 << 1), + VRComponentProperty_IsTouched = (1 << 2), + VRComponentProperty_IsPressed = (1 << 3), + VRComponentProperty_IsScrolled = (1 << 4), +}; + +/** Describes state information about a render-model component, including transforms and other dynamic properties */ +struct RenderModel_ComponentState_t +{ + HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model + HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) + VRComponentProperties uProperties; +}; + +/** A single vertex in a render model */ +struct RenderModel_Vertex_t +{ + HmdVector3_t vPosition; // position in meters in device space + HmdVector3_t vNormal; + float rfTextureCoord[2]; +}; + +/** A texture map for use on a render model */ +struct RenderModel_TextureMap_t +{ + uint16_t unWidth, unHeight; // width and height of the texture map in pixels + const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub +}; + +/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. +IDs <0 denote the texture is not present */ + +typedef int32_t TextureID_t; + +const TextureID_t INVALID_TEXTURE_ID = -1; + +struct RenderModel_t +{ + const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh + uint32_t unVertexCount; // Number of vertices in the vertex data + const uint16_t *rIndexData; // Indices into the vertex data for each triangle + uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount + TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present +}; + +struct RenderModel_ControllerMode_State_t +{ + bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode +}; + +#pragma pack( pop ) + +class IVRRenderModels +{ +public: + + /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name + * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. + * + * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the + * application is finished with the render model it should call FreeRenderModel() to free the memory associated + * with the model. + * + * The method returns VRRenderModelError_Loading while the render model is still being loaded. + * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ + virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; + + /** Frees a previously returned render model + * It is safe to call this on a null ptr. */ + virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; + + /** Loads and returns a texture for use in the application. */ + virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; + + /** Frees a previously returned texture + * It is safe to call this on a null ptr. */ + virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; + + /** Creates a D3D11 texture and loads data into it. */ + virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; + + /** Helper function to copy the bits into an existing texture. */ + virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; + + /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ + virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; + + /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but + * is only used for iterating over all available render models. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; + + /** Returns the number of available render models. */ + virtual uint32_t GetRenderModelCount() = 0; + + + /** Returns the number of components of the specified render model. + * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. + * Examples controller components: + * renderable things such as triggers, buttons + * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose + * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model + * Returns 0 if components not supported, >0 otherwise */ + virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; + + /** Use this to get the names of available components. Index does not correlate to a tracked device index, but + * is only used for iterating over all available components. If the index is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; + + /** Get the button mask for all buttons associated with this component + * If no buttons (or axes) are associated with this component, return 0 + * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. + * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ + virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. + * If the component name is out of range, this function will return 0. + * Otherwise, it will return the size of the buffer required for the name. */ + virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; + + /** Use this to query information about the component, as a function of the controller state. + * + * For dynamic controller components (ex: trigger) values will reflect component motions + * For static components this will return a consistent value independent of the VRControllerState_t + * + * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). + * Otherwise, return true + * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ + virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; + + /** Returns true if the render model has a component with the specified name */ + virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; + + /** Returns the URL of the thumbnail image for this rendermodel */ + virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; + + /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model + * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the + * model. */ + virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; + + /** Returns a string for a render model error */ + virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; +}; + +static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; + +} + + +// ivrextendeddisplay.h +namespace vr +{ + + /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use + * direct-to-display mode. It is also incompatible with the VR compositor and is not available when the compositor is running. */ + class IVRExtendedDisplay + { + public: + + /** Size and position that the window needs to be on the VR display. */ + virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Gets the viewport in the frame buffer to draw the output of the distortion into */ + virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** [D3D10/11 Only] + * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs + * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. + */ + virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; + + }; + + static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; + +} + + +// ivrtrackedcamera.h +namespace vr +{ + +class IVRTrackedCamera +{ +public: + /** Returns a string for an error */ + virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; + + /** For convenience, same as tracked property request Prop_HasCamera_Bool */ + virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; + + /** Gets size of the image frame. */ + virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraIntrinisics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; + + virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; + + /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. + * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. + * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. + * The camera may go inactive due to lack of active consumers or headset idleness. */ + virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; + virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; + + /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. + * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows + * the caller to determine if the frame as advanced per the frame header sequence. + * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. + * Ideally a caller should be polling at ~16ms intervals */ + virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; +}; + +static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_003"; + +} // namespace vr + + +// ivrscreenshots.h +namespace vr +{ + +/** Errors that can occur with the VR compositor */ +enum EVRScreenshotError +{ + VRScreenshotError_None = 0, + VRScreenshotError_RequestFailed = 1, + VRScreenshotError_IncompatibleVersion = 100, + VRScreenshotError_NotFound = 101, + VRScreenshotError_BufferTooSmall = 102, + VRScreenshotError_ScreenshotAlreadyInProgress = 108, +}; + +/** Allows the application to generate screenshots */ +class IVRScreenshots +{ +public: + /** Request a screenshot of the requested type. + * A request of the VRScreenshotType_Stereo type will always + * work. Other types will depend on the underlying application + * support. + * The first file name is for the preview image and should be a + * regular screenshot (ideally from the left eye). The second + * is the VR screenshot in the correct format. They should be + * in the same aspect ratio. Formats per type: + * VRScreenshotType_Mono: the VR filename is ignored (can be + * nullptr), this is a normal flat single shot. + * VRScreenshotType_Stereo: The VR image should be a + * side-by-side with the left eye image on the left. + * VRScreenshotType_Cubemap: The VR image should be six square + * images composited horizontally. + * VRScreenshotType_StereoPanorama: above/below with left eye + * panorama being the above image. Image is typically square + * with the panorama being 2x horizontal. + * + * Note that the VR dashboard will call this function when + * the user presses the screenshot binding (currently System + * Button + Trigger). If Steam is running, the destination + * file names will be in %TEMP% and will be copied into + * Steam's screenshot library for the running application + * once SubmitScreenshot() is called. + * If Steam is not running, the paths will be in the user's + * documents folder under Documents\SteamVR\Screenshots. + * Other VR applications can call this to initate a + * screenshot outside of user control. + * The destination file names do not need an extension, + * will be replaced with the correct one for the format + * which is currently .png. */ + virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Called by the running VR application to indicate that it + * wishes to be in charge of screenshots. If the + * application does not call this, the Compositor will only + * support VRScreenshotType_Stereo screenshots that will be + * captured without notification to the running app. + * Once hooked your application will receive a + * VREvent_RequestScreenshot event when the user presses the + * buttons to take a screenshot. */ + virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; + + /** When your application receives a + * VREvent_RequestScreenshot event, call these functions to get + * the details of the screenshot request. */ + virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; + + /** Get the filename for the preview or vr image (see + * vr::EScreenshotPropertyFilenames). The return value is + * the size of the string. */ + virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; + + /** Call this if the application is taking the screen shot + * will take more than a few ms processing. This will result + * in an overlay being presented that shows a completion + * bar. */ + virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; + + /** Tells the compositor to take an internal screenshot of + * type VRScreenshotType_Stereo. It will take the current + * submitted scene textures of the running application and + * write them into the preview image and a side-by-side file + * for the VR image. + * This is similiar to request screenshot, but doesn't ever + * talk to the application, just takes the shot and submits. */ + virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; + + /** Submit the completed screenshot. If Steam is running + * this will call into the Steam client and upload the + * screenshot to the screenshots section of the library for + * the running application. If Steam is not running, this + * function will display a notification to the user that the + * screenshot was taken. The paths should be full paths with + * extensions. + * File paths should be absolute including + * exntensions. + * screenshotHandle can be k_unScreenshotHandleInvalid if this + * was a new shot taking by the app to be saved and not + * initiated by a user (achievement earned or something) */ + virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; +}; + +static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; + +} // namespace vr + + +// End + +#endif // _OPENVR_API + + +namespace vr +{ + /** Finds the active installation of the VR API and initializes it. The provided path must be absolute + * or relative to the current working directory. These are the local install versions of the equivalent + * functions in steamvr.h and will work without a local Steam install. + * + * This path is to the "root" of the VR API install. That's the directory with + * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. + */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ); + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown(); + + /** Returns true if there is an HMD attached. This check is as lightweight as possible and + * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants + * to know if initializing VR is a possibility but isn't ready to take that step yet. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); + + /** Returns true if the OpenVR runtime is installed. */ + VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); + + /** Returns where the OpenVR runtime is installed. */ + VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath(); + + /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); + + /** Returns an english string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and + * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ + VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); + + /** Returns the interface of the specified version. This method must be called after VR_Init. The + * pointer returned is valid until VR_Shutdown is called. + */ + VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); + + /** Returns whether the interface of the specified version exists. + */ + VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); + + /** Returns a token that represents whether the VR interface handles need to be reloaded */ + VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); + + // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. + // They will go away in the future. + typedef EVRInitError HmdError; + typedef EVREye Hmd_Eye; + typedef EGraphicsAPIConvention GraphicsAPIConvention; + typedef EColorSpace ColorSpace; + typedef ETrackingResult HmdTrackingResult; + typedef ETrackedDeviceClass TrackedDeviceClass; + typedef ETrackingUniverseOrigin TrackingUniverseOrigin; + typedef ETrackedDeviceProperty TrackedDeviceProperty; + typedef ETrackedPropertyError TrackedPropertyError; + typedef EVRSubmitFlags VRSubmitFlags_t; + typedef EVRState VRState_t; + typedef ECollisionBoundsStyle CollisionBoundsStyle_t; + typedef EVROverlayError VROverlayError; + typedef EVRFirmwareError VRFirmwareError; + typedef EVRCompositorError VRCompositorError; + typedef EVRScreenshotError VRScreenshotsError; + + inline uint32_t &VRToken() + { + static uint32_t token; + return token; + } + + class COpenVRContext + { + public: + COpenVRContext() { Clear(); } + void Clear(); + + inline void CheckClear() + { + if ( VRToken() != VR_GetInitToken() ) + { + Clear(); + VRToken() = VR_GetInitToken(); + } + } + + IVRSystem *VRSystem() + { + CheckClear(); + if ( m_pVRSystem == nullptr ) + { + EVRInitError eError; + m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); + } + return m_pVRSystem; + } + IVRChaperone *VRChaperone() + { + CheckClear(); + if ( m_pVRChaperone == nullptr ) + { + EVRInitError eError; + m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); + } + return m_pVRChaperone; + } + + IVRChaperoneSetup *VRChaperoneSetup() + { + CheckClear(); + if ( m_pVRChaperoneSetup == nullptr ) + { + EVRInitError eError; + m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); + } + return m_pVRChaperoneSetup; + } + + IVRCompositor *VRCompositor() + { + CheckClear(); + if ( m_pVRCompositor == nullptr ) + { + EVRInitError eError; + m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); + } + return m_pVRCompositor; + } + + IVROverlay *VROverlay() + { + CheckClear(); + if ( m_pVROverlay == nullptr ) + { + EVRInitError eError; + m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); + } + return m_pVROverlay; + } + + IVRScreenshots *VRScreenshots() + { + CheckClear(); + if ( m_pVRScreenshots == nullptr ) + { + EVRInitError eError; + m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); + } + return m_pVRScreenshots; + } + + IVRRenderModels *VRRenderModels() + { + CheckClear(); + if ( m_pVRRenderModels == nullptr ) + { + EVRInitError eError; + m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); + } + return m_pVRRenderModels; + } + + IVRExtendedDisplay *VRExtendedDisplay() + { + CheckClear(); + if ( m_pVRExtendedDisplay == nullptr ) + { + EVRInitError eError; + m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); + } + return m_pVRExtendedDisplay; + } + + IVRSettings *VRSettings() + { + CheckClear(); + if ( m_pVRSettings == nullptr ) + { + EVRInitError eError; + m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); + } + return m_pVRSettings; + } + + IVRApplications *VRApplications() + { + CheckClear(); + if ( m_pVRApplications == nullptr ) + { + EVRInitError eError; + m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); + } + return m_pVRApplications; + } + + IVRTrackedCamera *VRTrackedCamera() + { + CheckClear(); + if ( m_pVRTrackedCamera == nullptr ) + { + EVRInitError eError; + m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); + } + return m_pVRTrackedCamera; + } + + private: + IVRSystem *m_pVRSystem; + IVRChaperone *m_pVRChaperone; + IVRChaperoneSetup *m_pVRChaperoneSetup; + IVRCompositor *m_pVRCompositor; + IVROverlay *m_pVROverlay; + IVRRenderModels *m_pVRRenderModels; + IVRExtendedDisplay *m_pVRExtendedDisplay; + IVRSettings *m_pVRSettings; + IVRApplications *m_pVRApplications; + IVRTrackedCamera *m_pVRTrackedCamera; + IVRScreenshots *m_pVRScreenshots; + }; + + inline COpenVRContext &OpenVRInternal_ModuleContext() + { + static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; + return *( COpenVRContext * )ctx; // bypass zero-init constructor + } + + inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } + inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } + inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } + inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } + inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } + inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } + inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } + inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } + inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } + inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } + inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } + + inline void COpenVRContext::Clear() + { + m_pVRSystem = nullptr; + m_pVRChaperone = nullptr; + m_pVRChaperoneSetup = nullptr; + m_pVRCompositor = nullptr; + m_pVROverlay = nullptr; + m_pVRRenderModels = nullptr; + m_pVRExtendedDisplay = nullptr; + m_pVRSettings = nullptr; + m_pVRApplications = nullptr; + m_pVRTrackedCamera = nullptr; + m_pVRScreenshots = nullptr; + } + + VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType ); + VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); + + /** Finds the active installation of vrclient.dll and initializes it */ + inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ) + { + IVRSystem *pVRSystem = nullptr; + + EVRInitError eError; + VRToken() = VR_InitInternal( &eError, eApplicationType ); + COpenVRContext &ctx = OpenVRInternal_ModuleContext(); + ctx.Clear(); + + if ( eError == VRInitError_None ) + { + if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) + { + pVRSystem = VRSystem(); + } + else + { + VR_ShutdownInternal(); + eError = VRInitError_Init_InterfaceNotFound; + } + } + + if ( peError ) + *peError = eError; + return pVRSystem; + } + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + inline void VR_Shutdown() + { + VR_ShutdownInternal(); + } +} diff --git a/examples/ThirdPartyLibs/openvr/headers/openvr_api.cs b/examples/ThirdPartyLibs/openvr/headers/openvr_api.cs new file mode 100644 index 000000000..a4d71f826 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/headers/openvr_api.cs @@ -0,0 +1,4187 @@ +//======= Copyright (c) Valve Corporation, All rights reserved. =============== +// +// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces +// This file is auto-generated, do not edit it. +// +//============================================================================= + +using System; +using System.Runtime.InteropServices; +using Valve.VR; + +namespace Valve.VR +{ + +[StructLayout(LayoutKind.Sequential)] +public struct IVRSystem +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetRecommendedRenderTargetSize(ref uint pnWidth, ref uint pnHeight); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetProjectionMatrix GetProjectionMatrix; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetProjectionRaw(EVREye eEye, ref float pfLeft, ref float pfRight, ref float pfTop, ref float pfBottom); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetProjectionRaw GetProjectionRaw; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate DistortionCoordinates_t _ComputeDistortion(EVREye eEye, float fU, float fV); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ComputeDistortion ComputeDistortion; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HmdMatrix34_t _GetEyeToHeadTransform(EVREye eEye); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetEyeToHeadTransform GetEyeToHeadTransform; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync, ref ulong pulFrameCounter); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTimeSinceLastVsync GetTimeSinceLastVsync; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate int _GetD3D9AdapterIndex(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetD3D9AdapterIndex GetD3D9AdapterIndex; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetDXGIOutputInfo GetDXGIOutputInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsDisplayOnDesktop(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsDisplayOnDesktop IsDisplayOnDesktop; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _SetDisplayVisibility(bool bIsVisibleOnDesktop); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetDisplayVisibility SetDisplayVisibility; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, [In, Out] TrackedDevicePose_t[] pTrackedDevicePoseArray, uint unTrackedDevicePoseArrayCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetDeviceToAbsoluteTrackingPose GetDeviceToAbsoluteTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ResetSeatedZeroPose(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ResetSeatedZeroPose ResetSeatedZeroPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HmdMatrix34_t _GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetSeatedZeroPoseToStandingAbsoluteTrackingPose GetSeatedZeroPoseToStandingAbsoluteTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HmdMatrix34_t _GetRawZeroPoseToStandingAbsoluteTrackingPose(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRawZeroPoseToStandingAbsoluteTrackingPose GetRawZeroPoseToStandingAbsoluteTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass, [In, Out] uint[] punTrackedDeviceIndexArray, uint unTrackedDeviceIndexArrayCount, uint unRelativeToTrackedDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetSortedTrackedDeviceIndicesOfClass GetSortedTrackedDeviceIndicesOfClass; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EDeviceActivityLevel _GetTrackedDeviceActivityLevel(uint unDeviceId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTrackedDeviceActivityLevel GetTrackedDeviceActivityLevel; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ApplyTransform(ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pTrackedDevicePose, ref HmdMatrix34_t pTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ApplyTransform ApplyTransform; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTrackedDeviceIndexForControllerRole GetTrackedDeviceIndexForControllerRole; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ETrackedControllerRole _GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetControllerRoleForTrackedDeviceIndex GetControllerRoleForTrackedDeviceIndex; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ETrackedDeviceClass _GetTrackedDeviceClass(uint unDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTrackedDeviceClass GetTrackedDeviceClass; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsTrackedDeviceConnected(uint unDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsTrackedDeviceConnected IsTrackedDeviceConnected; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetBoolTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetBoolTrackedDeviceProperty GetBoolTrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate float _GetFloatTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetFloatTrackedDeviceProperty GetFloatTrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate int _GetInt32TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetInt32TrackedDeviceProperty GetInt32TrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ulong _GetUint64TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetUint64TrackedDeviceProperty GetUint64TrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HmdMatrix34_t _GetMatrix34TrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetMatrix34TrackedDeviceProperty GetMatrix34TrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetStringTrackedDeviceProperty(uint unDeviceIndex, ETrackedDeviceProperty prop, System.Text.StringBuilder pchValue, uint unBufferSize, ref ETrackedPropertyError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetStringTrackedDeviceProperty GetStringTrackedDeviceProperty; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetPropErrorNameFromEnum(ETrackedPropertyError error); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetPropErrorNameFromEnum GetPropErrorNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _PollNextEvent(ref VREvent_t pEvent, uint uncbVREvent); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PollNextEvent PollNextEvent; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _PollNextEventWithPose(ETrackingUniverseOrigin eOrigin, ref VREvent_t pEvent, uint uncbVREvent, ref TrackedDevicePose_t pTrackedDevicePose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PollNextEventWithPose PollNextEventWithPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetEventTypeNameFromEnum(EVREventType eType); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetHiddenAreaMesh GetHiddenAreaMesh; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetControllerState GetControllerState; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, ref TrackedDevicePose_t pTrackedDevicePose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetControllerStateWithPose GetControllerStateWithPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _TriggerHapticPulse(uint unControllerDeviceIndex, uint unAxisId, char usDurationMicroSec); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _TriggerHapticPulse TriggerHapticPulse; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetButtonIdNameFromEnum(EVRButtonId eButtonId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetButtonIdNameFromEnum GetButtonIdNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetControllerAxisTypeNameFromEnum GetControllerAxisTypeNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _CaptureInputFocus(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CaptureInputFocus CaptureInputFocus; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ReleaseInputFocus(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReleaseInputFocus ReleaseInputFocus; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsInputFocusCapturedByAnotherProcess(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsInputFocusCapturedByAnotherProcess IsInputFocusCapturedByAnotherProcess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _DriverDebugRequest(uint unDeviceIndex, string pchRequest, string pchResponseBuffer, uint unResponseBufferSize); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _DriverDebugRequest DriverDebugRequest; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRFirmwareError _PerformFirmwareUpdate(uint unDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PerformFirmwareUpdate PerformFirmwareUpdate; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _AcknowledgeQuit_Exiting(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _AcknowledgeQuit_Exiting AcknowledgeQuit_Exiting; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _AcknowledgeQuit_UserPrompt(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _AcknowledgeQuit_UserPrompt AcknowledgeQuit_UserPrompt; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRExtendedDisplay +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetWindowBounds(ref int pnX, ref int pnY, ref uint pnWidth, ref uint pnHeight); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWindowBounds GetWindowBounds; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetEyeOutputViewport(EVREye eEye, ref uint pnX, ref uint pnY, ref uint pnWidth, ref uint pnHeight); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetEyeOutputViewport GetEyeOutputViewport; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetDXGIOutputInfo(ref int pnAdapterIndex, ref int pnAdapterOutputIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetDXGIOutputInfo GetDXGIOutputInfo; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRTrackedCamera +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HasCamera HasCamera; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCameraFrameSize GetCameraFrameSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _GetCameraIntrinisics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCameraIntrinisics GetCameraIntrinisics; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCameraProjection GetCameraProjection; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _AcquireVideoStreamingService AcquireVideoStreamingService; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReleaseVideoStreamingService ReleaseVideoStreamingService; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRApplications +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _AddApplicationManifest AddApplicationManifest; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _RemoveApplicationManifest(string pchApplicationManifestFullPath); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RemoveApplicationManifest RemoveApplicationManifest; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsApplicationInstalled(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsApplicationInstalled IsApplicationInstalled; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetApplicationCount(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationCount GetApplicationCount; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, string pchAppKeyBuffer, uint unAppKeyBufferLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationKeyByIndex GetApplicationKeyByIndex; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationKeyByProcessId GetApplicationKeyByProcessId; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _LaunchApplication(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LaunchApplication LaunchApplication; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, [In, Out] AppOverrideKeys_t[] pKeys, uint unKeys); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LaunchTemplateApplication LaunchTemplateApplication; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LaunchDashboardOverlay LaunchDashboardOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _CancelApplicationLaunch(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CancelApplicationLaunch CancelApplicationLaunch; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _IdentifyApplication(uint unProcessId, string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IdentifyApplication IdentifyApplication; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetApplicationProcessId(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationProcessId GetApplicationProcessId; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetApplicationsErrorNameFromEnum(EVRApplicationError error); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, string pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationPropertyString GetApplicationPropertyString; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationPropertyBool GetApplicationPropertyBool; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ulong _GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationPropertyUint64 GetApplicationPropertyUint64; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetApplicationAutoLaunch SetApplicationAutoLaunch; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetApplicationAutoLaunch(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationAutoLaunch GetApplicationAutoLaunch; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetStartingApplication GetStartingApplication; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationTransitionState _GetTransitionState(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTransitionState GetTransitionState; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _PerformApplicationPrelaunchCheck(string pchAppKey); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PerformApplicationPrelaunchCheck PerformApplicationPrelaunchCheck; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetApplicationsTransitionStateNameFromEnum GetApplicationsTransitionStateNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsQuitUserPromptRequested(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsQuitUserPromptRequested IsQuitUserPromptRequested; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRApplicationError _LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LaunchInternalProcess LaunchInternalProcess; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRChaperone +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ChaperoneCalibrationState _GetCalibrationState(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCalibrationState GetCalibrationState; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetPlayAreaSize(ref float pSizeX, ref float pSizeZ); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetPlayAreaSize GetPlayAreaSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetPlayAreaRect(ref HmdQuad_t rect); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetPlayAreaRect GetPlayAreaRect; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ReloadInfo(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReloadInfo ReloadInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetSceneColor(HmdColor_t color); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetSceneColor SetSceneColor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetBoundsColor(ref HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, ref HmdColor_t pOutputCameraColor); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetBoundsColor GetBoundsColor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _AreBoundsVisible(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _AreBoundsVisible AreBoundsVisible; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ForceBoundsVisible(bool bForce); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ForceBoundsVisible ForceBoundsVisible; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRChaperoneSetup +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _CommitWorkingCopy(EChaperoneConfigFile configFile); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CommitWorkingCopy CommitWorkingCopy; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _RevertWorkingCopy(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RevertWorkingCopy RevertWorkingCopy; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetWorkingPlayAreaSize(ref float pSizeX, ref float pSizeZ); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWorkingPlayAreaSize GetWorkingPlayAreaSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetWorkingPlayAreaRect(ref HmdQuad_t rect); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWorkingPlayAreaRect GetWorkingPlayAreaRect; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWorkingCollisionBoundsInfo GetWorkingCollisionBoundsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetLiveCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLiveCollisionBoundsInfo GetLiveCollisionBoundsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWorkingSeatedZeroPoseToRawTrackingPose GetWorkingSeatedZeroPoseToRawTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetWorkingStandingZeroPoseToRawTrackingPose GetWorkingStandingZeroPoseToRawTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetWorkingPlayAreaSize(float sizeX, float sizeZ); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingPlayAreaSize SetWorkingPlayAreaSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetWorkingCollisionBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingCollisionBoundsInfo SetWorkingCollisionBoundsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingSeatedZeroPoseToRawTrackingPose SetWorkingSeatedZeroPoseToRawTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingStandingZeroPoseToRawTrackingPose SetWorkingStandingZeroPoseToRawTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ReloadFromDisk(EChaperoneConfigFile configFile); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReloadFromDisk ReloadFromDisk; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLiveSeatedZeroPoseToRawTrackingPose GetLiveSeatedZeroPoseToRawTrackingPose; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetWorkingCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, uint unTagCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingCollisionBoundsTagsInfo SetWorkingCollisionBoundsTagsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetLiveCollisionBoundsTagsInfo([In, Out] byte[] pTagsBuffer, ref uint punTagCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLiveCollisionBoundsTagsInfo GetLiveCollisionBoundsTagsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _SetWorkingPhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, uint unQuadsCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetWorkingPhysicalBoundsInfo SetWorkingPhysicalBoundsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetLivePhysicalBoundsInfo([In, Out] HmdQuad_t[] pQuadsBuffer, ref uint punQuadsCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLivePhysicalBoundsInfo GetLivePhysicalBoundsInfo; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _ExportLiveToBuffer(System.Text.StringBuilder pBuffer, ref uint pnBufferLength); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ExportLiveToBuffer ExportLiveToBuffer; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _ImportFromBufferToWorking(string pBuffer, uint nImportFlags); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ImportFromBufferToWorking ImportFromBufferToWorking; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRCompositor +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetTrackingSpace(ETrackingUniverseOrigin eOrigin); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetTrackingSpace SetTrackingSpace; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ETrackingUniverseOrigin _GetTrackingSpace(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTrackingSpace GetTrackingSpace; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _WaitGetPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _WaitGetPoses WaitGetPoses; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _GetLastPoses([In, Out] TrackedDevicePose_t[] pRenderPoseArray, uint unRenderPoseArrayCount, [In, Out] TrackedDevicePose_t[] pGamePoseArray, uint unGamePoseArrayCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLastPoses GetLastPoses; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex, ref TrackedDevicePose_t pOutputPose, ref TrackedDevicePose_t pOutputGamePose); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLastPoseForTrackedDeviceIndex GetLastPoseForTrackedDeviceIndex; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _Submit(EVREye eEye, ref Texture_t pTexture, ref VRTextureBounds_t pBounds, EVRSubmitFlags nSubmitFlags); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _Submit Submit; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ClearLastSubmittedFrame(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ClearLastSubmittedFrame ClearLastSubmittedFrame; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _PostPresentHandoff(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PostPresentHandoff PostPresentHandoff; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetFrameTiming(ref Compositor_FrameTiming pTiming, uint unFramesAgo); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetFrameTiming GetFrameTiming; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate float _GetFrameTimeRemaining(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetFrameTimeRemaining GetFrameTimeRemaining; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCumulativeStats GetCumulativeStats; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FadeToColor FadeToColor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _FadeGrid(float fSeconds, bool bFadeIn); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FadeGrid FadeGrid; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetSkyboxOverride SetSkyboxOverride; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ClearSkyboxOverride(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ClearSkyboxOverride ClearSkyboxOverride; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _CompositorBringToFront(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CompositorBringToFront CompositorBringToFront; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _CompositorGoToBack(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CompositorGoToBack CompositorGoToBack; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _CompositorQuit(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CompositorQuit CompositorQuit; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsFullscreen(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsFullscreen IsFullscreen; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetCurrentSceneFocusProcess(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCurrentSceneFocusProcess GetCurrentSceneFocusProcess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetLastFrameRenderer(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetLastFrameRenderer GetLastFrameRenderer; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _CanRenderScene(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CanRenderScene CanRenderScene; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ShowMirrorWindow(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShowMirrorWindow ShowMirrorWindow; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _HideMirrorWindow(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HideMirrorWindow HideMirrorWindow; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsMirrorWindowVisible(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsMirrorWindowVisible IsMirrorWindowVisible; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _CompositorDumpImages(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CompositorDumpImages CompositorDumpImages; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _ShouldAppRenderWithLowResources(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShouldAppRenderWithLowResources ShouldAppRenderWithLowResources; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ForceInterleavedReprojectionOn(bool bOverride); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ForceInterleavedReprojectionOn ForceInterleavedReprojectionOn; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ForceReconnectProcess(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ForceReconnectProcess ForceReconnectProcess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SuspendRendering(bool bSuspend); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SuspendRendering SuspendRendering; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _RequestScreenshot(EVRScreenshotType type, string pchDestinationFileName, string pchVRDestinationFileName); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RequestScreenshot RequestScreenshot; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotType _GetCurrentScreenshotType(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetCurrentScreenshotType GetCurrentScreenshotType; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetMirrorTextureGL GetMirrorTextureGL; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReleaseSharedGLTexture ReleaseSharedGLTexture; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVROverlay +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _FindOverlay(string pchOverlayKey, ref ulong pOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FindOverlay FindOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _CreateOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CreateOverlay CreateOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _DestroyOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _DestroyOverlay DestroyOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetHighQualityOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetHighQualityOverlay SetHighQualityOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ulong _GetHighQualityOverlay(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetHighQualityOverlay GetHighQualityOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetOverlayKey(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayKey GetOverlayKey; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetOverlayName(ulong ulOverlayHandle, System.Text.StringBuilder pchValue, uint unBufferSize, ref EVROverlayError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayName GetOverlayName; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayImageData(ulong ulOverlayHandle, IntPtr pvBuffer, uint unBufferSize, ref uint punWidth, ref uint punHeight); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayImageData GetOverlayImageData; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetOverlayErrorNameFromEnum(EVROverlayError error); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayErrorNameFromEnum GetOverlayErrorNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayRenderingPid(ulong ulOverlayHandle, uint unPID); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayRenderingPid SetOverlayRenderingPid; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetOverlayRenderingPid(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayRenderingPid GetOverlayRenderingPid; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayFlag SetOverlayFlag; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayFlag(ulong ulOverlayHandle, VROverlayFlags eOverlayFlag, ref bool pbEnabled); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayFlag GetOverlayFlag; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayColor(ulong ulOverlayHandle, float fRed, float fGreen, float fBlue); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayColor SetOverlayColor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayColor(ulong ulOverlayHandle, ref float pfRed, ref float pfGreen, ref float pfBlue); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayColor GetOverlayColor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayAlpha(ulong ulOverlayHandle, float fAlpha); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayAlpha SetOverlayAlpha; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayAlpha(ulong ulOverlayHandle, ref float pfAlpha); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayAlpha GetOverlayAlpha; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayWidthInMeters SetOverlayWidthInMeters; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayWidthInMeters(ulong ulOverlayHandle, ref float pfWidthInMeters); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayWidthInMeters GetOverlayWidthInMeters; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayAutoCurveDistanceRangeInMeters SetOverlayAutoCurveDistanceRangeInMeters; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle, ref float pfMinDistanceInMeters, ref float pfMaxDistanceInMeters); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayAutoCurveDistanceRangeInMeters GetOverlayAutoCurveDistanceRangeInMeters; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTextureColorSpace(ulong ulOverlayHandle, EColorSpace eTextureColorSpace); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTextureColorSpace SetOverlayTextureColorSpace; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTextureColorSpace(ulong ulOverlayHandle, ref EColorSpace peTextureColorSpace); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTextureColorSpace GetOverlayTextureColorSpace; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTextureBounds SetOverlayTextureBounds; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTextureBounds(ulong ulOverlayHandle, ref VRTextureBounds_t pOverlayTextureBounds); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTextureBounds GetOverlayTextureBounds; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTransformType(ulong ulOverlayHandle, ref VROverlayTransformType peTransformType); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTransformType GetOverlayTransformType; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTransformAbsolute(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTransformAbsolute SetOverlayTransformAbsolute; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTransformAbsolute(ulong ulOverlayHandle, ref ETrackingUniverseOrigin peTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTransformAbsolute GetOverlayTransformAbsolute; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, uint unTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTransformTrackedDeviceRelative SetOverlayTransformTrackedDeviceRelative; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle, ref uint punTrackedDevice, ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTransformTrackedDeviceRelative GetOverlayTransformTrackedDeviceRelative; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, uint unDeviceIndex, string pchComponentName); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTransformTrackedDeviceComponent SetOverlayTransformTrackedDeviceComponent; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle, ref uint punDeviceIndex, string pchComponentName, uint unComponentNameSize); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTransformTrackedDeviceComponent GetOverlayTransformTrackedDeviceComponent; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _ShowOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShowOverlay ShowOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _HideOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HideOverlay HideOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsOverlayVisible(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsOverlayVisible IsOverlayVisible; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetTransformForOverlayCoordinates(ulong ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, ref HmdMatrix34_t pmatTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetTransformForOverlayCoordinates GetTransformForOverlayCoordinates; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _PollNextOverlayEvent(ulong ulOverlayHandle, ref VREvent_t pEvent, uint uncbVREvent); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _PollNextOverlayEvent PollNextOverlayEvent; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayInputMethod(ulong ulOverlayHandle, ref VROverlayInputMethod peInputMethod); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayInputMethod GetOverlayInputMethod; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayInputMethod(ulong ulOverlayHandle, VROverlayInputMethod eInputMethod); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayInputMethod SetOverlayInputMethod; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayMouseScale GetOverlayMouseScale; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayMouseScale(ulong ulOverlayHandle, ref HmdVector2_t pvecMouseScale); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayMouseScale SetOverlayMouseScale; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _ComputeOverlayIntersection(ulong ulOverlayHandle, ref VROverlayIntersectionParams_t pParams, ref VROverlayIntersectionResults_t pResults); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ComputeOverlayIntersection ComputeOverlayIntersection; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle, uint unControllerDeviceIndex); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HandleControllerOverlayInteractionAsMouse HandleControllerOverlayInteractionAsMouse; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsHoverTargetOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsHoverTargetOverlay IsHoverTargetOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ulong _GetGamepadFocusOverlay(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetGamepadFocusOverlay GetGamepadFocusOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetGamepadFocusOverlay(ulong ulNewFocusOverlay); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetGamepadFocusOverlay SetGamepadFocusOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayNeighbor(EOverlayDirection eDirection, ulong ulFrom, ulong ulTo); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayNeighbor SetOverlayNeighbor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _MoveGamepadFocusToNeighbor(EOverlayDirection eDirection, ulong ulFrom); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _MoveGamepadFocusToNeighbor MoveGamepadFocusToNeighbor; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayTexture(ulong ulOverlayHandle, ref Texture_t pTexture); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayTexture SetOverlayTexture; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _ClearOverlayTexture(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ClearOverlayTexture ClearOverlayTexture; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayRaw(ulong ulOverlayHandle, IntPtr pvBuffer, uint unWidth, uint unHeight, uint unDepth); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayRaw SetOverlayRaw; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetOverlayFromFile(ulong ulOverlayHandle, string pchFilePath); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetOverlayFromFile SetOverlayFromFile; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref EGraphicsAPIConvention pAPI, ref EColorSpace pColorSpace); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTexture GetOverlayTexture; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _ReleaseNativeOverlayHandle(ulong ulOverlayHandle, IntPtr pNativeTextureHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetOverlayTextureSize GetOverlayTextureSize; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CreateDashboardOverlay CreateDashboardOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsDashboardVisible(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsDashboardVisible IsDashboardVisible; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _IsActiveDashboardOverlay(ulong ulOverlayHandle); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _IsActiveDashboardOverlay IsActiveDashboardOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _SetDashboardOverlaySceneProcess(ulong ulOverlayHandle, uint unProcessId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetDashboardOverlaySceneProcess SetDashboardOverlaySceneProcess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _GetDashboardOverlaySceneProcess(ulong ulOverlayHandle, ref uint punProcessId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetDashboardOverlaySceneProcess GetDashboardOverlaySceneProcess; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _ShowDashboard(string pchOverlayToShow); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShowDashboard ShowDashboard; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetPrimaryDashboardDevice(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetPrimaryDashboardDevice GetPrimaryDashboardDevice; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _ShowKeyboard(int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShowKeyboard ShowKeyboard; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVROverlayError _ShowKeyboardForOverlay(ulong ulOverlayHandle, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText, bool bUseMinimalMode, ulong uUserValue); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _ShowKeyboardForOverlay ShowKeyboardForOverlay; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetKeyboardText(System.Text.StringBuilder pchText, uint cchText); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetKeyboardText GetKeyboardText; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _HideKeyboard(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HideKeyboard HideKeyboard; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin, ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetKeyboardTransformAbsolute SetKeyboardTransformAbsolute; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetKeyboardPositionForOverlay(ulong ulOverlayHandle, HmdRect2_t avoidRect); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRRenderModels +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRRenderModelError _LoadRenderModel_Async(string pchRenderModelName, ref IntPtr ppRenderModel); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LoadRenderModel_Async LoadRenderModel_Async; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _FreeRenderModel(IntPtr pRenderModel); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FreeRenderModel FreeRenderModel; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRRenderModelError _LoadTexture_Async(int textureId, ref IntPtr ppTexture); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LoadTexture_Async LoadTexture_Async; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _FreeTexture(IntPtr pTexture); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FreeTexture FreeTexture; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRRenderModelError _LoadTextureD3D11_Async(int textureId, IntPtr pD3D11Device, ref IntPtr ppD3D11Texture2D); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LoadTextureD3D11_Async LoadTextureD3D11_Async; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRRenderModelError _LoadIntoTextureD3D11_Async(int textureId, IntPtr pDstTexture); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _LoadIntoTextureD3D11_Async LoadIntoTextureD3D11_Async; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _FreeTextureD3D11(IntPtr pD3D11Texture2D); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _FreeTextureD3D11 FreeTextureD3D11; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetRenderModelName(uint unRenderModelIndex, System.Text.StringBuilder pchRenderModelName, uint unRenderModelNameLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRenderModelName GetRenderModelName; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetRenderModelCount(); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRenderModelCount GetRenderModelCount; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetComponentCount(string pchRenderModelName); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetComponentCount GetComponentCount; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetComponentName(string pchRenderModelName, uint unComponentIndex, System.Text.StringBuilder pchComponentName, uint unComponentNameLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetComponentName GetComponentName; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate ulong _GetComponentButtonMask(string pchRenderModelName, string pchComponentName); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetComponentButtonMask GetComponentButtonMask; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetComponentRenderModelName(string pchRenderModelName, string pchComponentName, System.Text.StringBuilder pchComponentRenderModelName, uint unComponentRenderModelNameLen); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetComponentRenderModelName GetComponentRenderModelName; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetComponentState(string pchRenderModelName, string pchComponentName, ref VRControllerState_t pControllerState, ref RenderModel_ControllerMode_State_t pState, ref RenderModel_ComponentState_t pComponentState); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetComponentState GetComponentState; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _RenderModelHasComponent(string pchRenderModelName, string pchComponentName); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RenderModelHasComponent RenderModelHasComponent; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRenderModelOriginalPath GetRenderModelOriginalPath; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRNotifications +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRNotificationError _CreateNotification(ulong ulOverlayHandle, ulong ulUserValue, EVRNotificationType type, string pchText, EVRNotificationStyle style, ref NotificationBitmap_t pImage, ref uint pNotificationId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _CreateNotification CreateNotification; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRNotificationError _RemoveNotification(uint notificationId); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RemoveNotification RemoveNotification; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRSettings +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate IntPtr _GetSettingsErrorNameFromEnum(EVRSettingsError eError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetSettingsErrorNameFromEnum GetSettingsErrorNameFromEnum; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _Sync(bool bForce, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _Sync Sync; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate bool _GetBool(string pchSection, string pchSettingsKey, bool bDefaultValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetBool GetBool; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetBool SetBool; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate int _GetInt32(string pchSection, string pchSettingsKey, int nDefaultValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetInt32 GetInt32; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetInt32 SetInt32; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate float _GetFloat(string pchSection, string pchSettingsKey, float flDefaultValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetFloat GetFloat; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetFloat SetFloat; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _GetString(string pchSection, string pchSettingsKey, string pchValue, uint unValueLen, string pchDefaultValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetString GetString; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SetString SetString; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RemoveSection RemoveSection; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate void _RemoveKeyInSection(string pchSection, string pchSettingsKey, ref EVRSettingsError peError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RemoveKeyInSection RemoveKeyInSection; + +} + +[StructLayout(LayoutKind.Sequential)] +public struct IVRScreenshots +{ + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _RequestScreenshot RequestScreenshot; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _HookScreenshot HookScreenshot; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetScreenshotPropertyType GetScreenshotPropertyType; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _UpdateScreenshotProgress UpdateScreenshotProgress; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _TakeStereoScreenshot TakeStereoScreenshot; + + [UnmanagedFunctionPointer(CallingConvention.StdCall)] + internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename); + [MarshalAs(UnmanagedType.FunctionPtr)] + internal _SubmitScreenshot SubmitScreenshot; + +} + + +public class CVRSystem +{ + IVRSystem FnTable; + internal CVRSystem(IntPtr pInterface) + { + FnTable = (IVRSystem)Marshal.PtrToStructure(pInterface, typeof(IVRSystem)); + } + public void GetRecommendedRenderTargetSize(ref uint pnWidth,ref uint pnHeight) + { + pnWidth = 0; + pnHeight = 0; + FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight); + } + public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ,EGraphicsAPIConvention eProjType) + { + HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ,eProjType); + return result; + } + public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom) + { + pfLeft = 0; + pfRight = 0; + pfTop = 0; + pfBottom = 0; + FnTable.GetProjectionRaw(eEye,ref pfLeft,ref pfRight,ref pfTop,ref pfBottom); + } + public DistortionCoordinates_t ComputeDistortion(EVREye eEye,float fU,float fV) + { + DistortionCoordinates_t result = FnTable.ComputeDistortion(eEye,fU,fV); + return result; + } + public HmdMatrix34_t GetEyeToHeadTransform(EVREye eEye) + { + HmdMatrix34_t result = FnTable.GetEyeToHeadTransform(eEye); + return result; + } + public bool GetTimeSinceLastVsync(ref float pfSecondsSinceLastVsync,ref ulong pulFrameCounter) + { + pfSecondsSinceLastVsync = 0; + pulFrameCounter = 0; + bool result = FnTable.GetTimeSinceLastVsync(ref pfSecondsSinceLastVsync,ref pulFrameCounter); + return result; + } + public int GetD3D9AdapterIndex() + { + int result = FnTable.GetD3D9AdapterIndex(); + return result; + } + public void GetDXGIOutputInfo(ref int pnAdapterIndex) + { + pnAdapterIndex = 0; + FnTable.GetDXGIOutputInfo(ref pnAdapterIndex); + } + public bool IsDisplayOnDesktop() + { + bool result = FnTable.IsDisplayOnDesktop(); + return result; + } + public bool SetDisplayVisibility(bool bIsVisibleOnDesktop) + { + bool result = FnTable.SetDisplayVisibility(bIsVisibleOnDesktop); + return result; + } + public void GetDeviceToAbsoluteTrackingPose(ETrackingUniverseOrigin eOrigin,float fPredictedSecondsToPhotonsFromNow,TrackedDevicePose_t [] pTrackedDevicePoseArray) + { + FnTable.GetDeviceToAbsoluteTrackingPose(eOrigin,fPredictedSecondsToPhotonsFromNow,pTrackedDevicePoseArray,(uint) pTrackedDevicePoseArray.Length); + } + public void ResetSeatedZeroPose() + { + FnTable.ResetSeatedZeroPose(); + } + public HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() + { + HmdMatrix34_t result = FnTable.GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); + return result; + } + public HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() + { + HmdMatrix34_t result = FnTable.GetRawZeroPoseToStandingAbsoluteTrackingPose(); + return result; + } + public uint GetSortedTrackedDeviceIndicesOfClass(ETrackedDeviceClass eTrackedDeviceClass,uint [] punTrackedDeviceIndexArray,uint unRelativeToTrackedDeviceIndex) + { + uint result = FnTable.GetSortedTrackedDeviceIndicesOfClass(eTrackedDeviceClass,punTrackedDeviceIndexArray,(uint) punTrackedDeviceIndexArray.Length,unRelativeToTrackedDeviceIndex); + return result; + } + public EDeviceActivityLevel GetTrackedDeviceActivityLevel(uint unDeviceId) + { + EDeviceActivityLevel result = FnTable.GetTrackedDeviceActivityLevel(unDeviceId); + return result; + } + public void ApplyTransform(ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pTrackedDevicePose,ref HmdMatrix34_t pTransform) + { + FnTable.ApplyTransform(ref pOutputPose,ref pTrackedDevicePose,ref pTransform); + } + public uint GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole unDeviceType) + { + uint result = FnTable.GetTrackedDeviceIndexForControllerRole(unDeviceType); + return result; + } + public ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex(uint unDeviceIndex) + { + ETrackedControllerRole result = FnTable.GetControllerRoleForTrackedDeviceIndex(unDeviceIndex); + return result; + } + public ETrackedDeviceClass GetTrackedDeviceClass(uint unDeviceIndex) + { + ETrackedDeviceClass result = FnTable.GetTrackedDeviceClass(unDeviceIndex); + return result; + } + public bool IsTrackedDeviceConnected(uint unDeviceIndex) + { + bool result = FnTable.IsTrackedDeviceConnected(unDeviceIndex); + return result; + } + public bool GetBoolTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) + { + bool result = FnTable.GetBoolTrackedDeviceProperty(unDeviceIndex,prop,ref pError); + return result; + } + public float GetFloatTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) + { + float result = FnTable.GetFloatTrackedDeviceProperty(unDeviceIndex,prop,ref pError); + return result; + } + public int GetInt32TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) + { + int result = FnTable.GetInt32TrackedDeviceProperty(unDeviceIndex,prop,ref pError); + return result; + } + public ulong GetUint64TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) + { + ulong result = FnTable.GetUint64TrackedDeviceProperty(unDeviceIndex,prop,ref pError); + return result; + } + public HmdMatrix34_t GetMatrix34TrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,ref ETrackedPropertyError pError) + { + HmdMatrix34_t result = FnTable.GetMatrix34TrackedDeviceProperty(unDeviceIndex,prop,ref pError); + return result; + } + public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProperty prop,System.Text.StringBuilder pchValue,uint unBufferSize,ref ETrackedPropertyError pError) + { + uint result = FnTable.GetStringTrackedDeviceProperty(unDeviceIndex,prop,pchValue,unBufferSize,ref pError); + return result; + } + public string GetPropErrorNameFromEnum(ETrackedPropertyError error) + { + IntPtr result = FnTable.GetPropErrorNameFromEnum(error); + return Marshal.PtrToStringAnsi(result); + } + public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent) + { + bool result = FnTable.PollNextEvent(ref pEvent,uncbVREvent); + return result; + } + public bool PollNextEventWithPose(ETrackingUniverseOrigin eOrigin,ref VREvent_t pEvent,uint uncbVREvent,ref TrackedDevicePose_t pTrackedDevicePose) + { + bool result = FnTable.PollNextEventWithPose(eOrigin,ref pEvent,uncbVREvent,ref pTrackedDevicePose); + return result; + } + public string GetEventTypeNameFromEnum(EVREventType eType) + { + IntPtr result = FnTable.GetEventTypeNameFromEnum(eType); + return Marshal.PtrToStringAnsi(result); + } + public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye) + { + HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye); + return result; + } + public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState) + { + bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState); + return result; + } + public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,ref TrackedDevicePose_t pTrackedDevicePose) + { + bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,ref pTrackedDevicePose); + return result; + } + public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec) + { + FnTable.TriggerHapticPulse(unControllerDeviceIndex,unAxisId,usDurationMicroSec); + } + public string GetButtonIdNameFromEnum(EVRButtonId eButtonId) + { + IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId); + return Marshal.PtrToStringAnsi(result); + } + public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType) + { + IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType); + return Marshal.PtrToStringAnsi(result); + } + public bool CaptureInputFocus() + { + bool result = FnTable.CaptureInputFocus(); + return result; + } + public void ReleaseInputFocus() + { + FnTable.ReleaseInputFocus(); + } + public bool IsInputFocusCapturedByAnotherProcess() + { + bool result = FnTable.IsInputFocusCapturedByAnotherProcess(); + return result; + } + public uint DriverDebugRequest(uint unDeviceIndex,string pchRequest,string pchResponseBuffer,uint unResponseBufferSize) + { + uint result = FnTable.DriverDebugRequest(unDeviceIndex,pchRequest,pchResponseBuffer,unResponseBufferSize); + return result; + } + public EVRFirmwareError PerformFirmwareUpdate(uint unDeviceIndex) + { + EVRFirmwareError result = FnTable.PerformFirmwareUpdate(unDeviceIndex); + return result; + } + public void AcknowledgeQuit_Exiting() + { + FnTable.AcknowledgeQuit_Exiting(); + } + public void AcknowledgeQuit_UserPrompt() + { + FnTable.AcknowledgeQuit_UserPrompt(); + } +} + + +public class CVRExtendedDisplay +{ + IVRExtendedDisplay FnTable; + internal CVRExtendedDisplay(IntPtr pInterface) + { + FnTable = (IVRExtendedDisplay)Marshal.PtrToStructure(pInterface, typeof(IVRExtendedDisplay)); + } + public void GetWindowBounds(ref int pnX,ref int pnY,ref uint pnWidth,ref uint pnHeight) + { + pnX = 0; + pnY = 0; + pnWidth = 0; + pnHeight = 0; + FnTable.GetWindowBounds(ref pnX,ref pnY,ref pnWidth,ref pnHeight); + } + public void GetEyeOutputViewport(EVREye eEye,ref uint pnX,ref uint pnY,ref uint pnWidth,ref uint pnHeight) + { + pnX = 0; + pnY = 0; + pnWidth = 0; + pnHeight = 0; + FnTable.GetEyeOutputViewport(eEye,ref pnX,ref pnY,ref pnWidth,ref pnHeight); + } + public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputIndex) + { + pnAdapterIndex = 0; + pnAdapterOutputIndex = 0; + FnTable.GetDXGIOutputInfo(ref pnAdapterIndex,ref pnAdapterOutputIndex); + } +} + + +public class CVRTrackedCamera +{ + IVRTrackedCamera FnTable; + internal CVRTrackedCamera(IntPtr pInterface) + { + FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera)); + } + public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError) + { + IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError); + return Marshal.PtrToStringAnsi(result); + } + public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera) + { + pHasCamera = false; + EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera); + return result; + } + public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize) + { + pnWidth = 0; + pnHeight = 0; + pnFrameBufferSize = 0; + EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize); + return result; + } + public EVRTrackedCameraError GetCameraIntrinisics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter) + { + EVRTrackedCameraError result = FnTable.GetCameraIntrinisics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter); + return result; + } + public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection) + { + EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection); + return result; + } + public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle) + { + pHandle = 0; + EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle); + return result; + } + public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera) + { + EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera); + return result; + } + public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize) + { + EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize); + return result; + } +} + + +public class CVRApplications +{ + IVRApplications FnTable; + internal CVRApplications(IntPtr pInterface) + { + FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications)); + } + public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath,bool bTemporary) + { + EVRApplicationError result = FnTable.AddApplicationManifest(pchApplicationManifestFullPath,bTemporary); + return result; + } + public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath) + { + EVRApplicationError result = FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath); + return result; + } + public bool IsApplicationInstalled(string pchAppKey) + { + bool result = FnTable.IsApplicationInstalled(pchAppKey); + return result; + } + public uint GetApplicationCount() + { + uint result = FnTable.GetApplicationCount(); + return result; + } + public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,string pchAppKeyBuffer,uint unAppKeyBufferLen) + { + EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen); + return result; + } + public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId,string pchAppKeyBuffer,uint unAppKeyBufferLen) + { + EVRApplicationError result = FnTable.GetApplicationKeyByProcessId(unProcessId,pchAppKeyBuffer,unAppKeyBufferLen); + return result; + } + public EVRApplicationError LaunchApplication(string pchAppKey) + { + EVRApplicationError result = FnTable.LaunchApplication(pchAppKey); + return result; + } + public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,string pchNewAppKey,AppOverrideKeys_t [] pKeys) + { + EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length); + return result; + } + public EVRApplicationError LaunchDashboardOverlay(string pchAppKey) + { + EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey); + return result; + } + public bool CancelApplicationLaunch(string pchAppKey) + { + bool result = FnTable.CancelApplicationLaunch(pchAppKey); + return result; + } + public EVRApplicationError IdentifyApplication(uint unProcessId,string pchAppKey) + { + EVRApplicationError result = FnTable.IdentifyApplication(unProcessId,pchAppKey); + return result; + } + public uint GetApplicationProcessId(string pchAppKey) + { + uint result = FnTable.GetApplicationProcessId(pchAppKey); + return result; + } + public string GetApplicationsErrorNameFromEnum(EVRApplicationError error) + { + IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error); + return Marshal.PtrToStringAnsi(result); + } + public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,string pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError) + { + uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError); + return result; + } + public bool GetApplicationPropertyBool(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) + { + bool result = FnTable.GetApplicationPropertyBool(pchAppKey,eProperty,ref peError); + return result; + } + public ulong GetApplicationPropertyUint64(string pchAppKey,EVRApplicationProperty eProperty,ref EVRApplicationError peError) + { + ulong result = FnTable.GetApplicationPropertyUint64(pchAppKey,eProperty,ref peError); + return result; + } + public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey,bool bAutoLaunch) + { + EVRApplicationError result = FnTable.SetApplicationAutoLaunch(pchAppKey,bAutoLaunch); + return result; + } + public bool GetApplicationAutoLaunch(string pchAppKey) + { + bool result = FnTable.GetApplicationAutoLaunch(pchAppKey); + return result; + } + public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen) + { + EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen); + return result; + } + public EVRApplicationTransitionState GetTransitionState() + { + EVRApplicationTransitionState result = FnTable.GetTransitionState(); + return result; + } + public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey) + { + EVRApplicationError result = FnTable.PerformApplicationPrelaunchCheck(pchAppKey); + return result; + } + public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state) + { + IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state); + return Marshal.PtrToStringAnsi(result); + } + public bool IsQuitUserPromptRequested() + { + bool result = FnTable.IsQuitUserPromptRequested(); + return result; + } + public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pchArguments,string pchWorkingDirectory) + { + EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory); + return result; + } +} + + +public class CVRChaperone +{ + IVRChaperone FnTable; + internal CVRChaperone(IntPtr pInterface) + { + FnTable = (IVRChaperone)Marshal.PtrToStructure(pInterface, typeof(IVRChaperone)); + } + public ChaperoneCalibrationState GetCalibrationState() + { + ChaperoneCalibrationState result = FnTable.GetCalibrationState(); + return result; + } + public bool GetPlayAreaSize(ref float pSizeX,ref float pSizeZ) + { + pSizeX = 0; + pSizeZ = 0; + bool result = FnTable.GetPlayAreaSize(ref pSizeX,ref pSizeZ); + return result; + } + public bool GetPlayAreaRect(ref HmdQuad_t rect) + { + bool result = FnTable.GetPlayAreaRect(ref rect); + return result; + } + public void ReloadInfo() + { + FnTable.ReloadInfo(); + } + public void SetSceneColor(HmdColor_t color) + { + FnTable.SetSceneColor(color); + } + public void GetBoundsColor(ref HmdColor_t pOutputColorArray,int nNumOutputColors,float flCollisionBoundsFadeDistance,ref HmdColor_t pOutputCameraColor) + { + FnTable.GetBoundsColor(ref pOutputColorArray,nNumOutputColors,flCollisionBoundsFadeDistance,ref pOutputCameraColor); + } + public bool AreBoundsVisible() + { + bool result = FnTable.AreBoundsVisible(); + return result; + } + public void ForceBoundsVisible(bool bForce) + { + FnTable.ForceBoundsVisible(bForce); + } +} + + +public class CVRChaperoneSetup +{ + IVRChaperoneSetup FnTable; + internal CVRChaperoneSetup(IntPtr pInterface) + { + FnTable = (IVRChaperoneSetup)Marshal.PtrToStructure(pInterface, typeof(IVRChaperoneSetup)); + } + public bool CommitWorkingCopy(EChaperoneConfigFile configFile) + { + bool result = FnTable.CommitWorkingCopy(configFile); + return result; + } + public void RevertWorkingCopy() + { + FnTable.RevertWorkingCopy(); + } + public bool GetWorkingPlayAreaSize(ref float pSizeX,ref float pSizeZ) + { + pSizeX = 0; + pSizeZ = 0; + bool result = FnTable.GetWorkingPlayAreaSize(ref pSizeX,ref pSizeZ); + return result; + } + public bool GetWorkingPlayAreaRect(ref HmdQuad_t rect) + { + bool result = FnTable.GetWorkingPlayAreaRect(ref rect); + return result; + } + public bool GetWorkingCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) + { + uint punQuadsCount = 0; + bool result = FnTable.GetWorkingCollisionBoundsInfo(null,ref punQuadsCount); + pQuadsBuffer= new HmdQuad_t[punQuadsCount]; + result = FnTable.GetWorkingCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); + return result; + } + public bool GetLiveCollisionBoundsInfo(out HmdQuad_t [] pQuadsBuffer) + { + uint punQuadsCount = 0; + bool result = FnTable.GetLiveCollisionBoundsInfo(null,ref punQuadsCount); + pQuadsBuffer= new HmdQuad_t[punQuadsCount]; + result = FnTable.GetLiveCollisionBoundsInfo(pQuadsBuffer,ref punQuadsCount); + return result; + } + public bool GetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) + { + bool result = FnTable.GetWorkingSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); + return result; + } + public bool GetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose) + { + bool result = FnTable.GetWorkingStandingZeroPoseToRawTrackingPose(ref pmatStandingZeroPoseToRawTrackingPose); + return result; + } + public void SetWorkingPlayAreaSize(float sizeX,float sizeZ) + { + FnTable.SetWorkingPlayAreaSize(sizeX,sizeZ); + } + public void SetWorkingCollisionBoundsInfo(HmdQuad_t [] pQuadsBuffer) + { + FnTable.SetWorkingCollisionBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); + } + public void SetWorkingSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose) + { + FnTable.SetWorkingSeatedZeroPoseToRawTrackingPose(ref pMatSeatedZeroPoseToRawTrackingPose); + } + public void SetWorkingStandingZeroPoseToRawTrackingPose(ref HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose) + { + FnTable.SetWorkingStandingZeroPoseToRawTrackingPose(ref pMatStandingZeroPoseToRawTrackingPose); + } + public void ReloadFromDisk(EChaperoneConfigFile configFile) + { + FnTable.ReloadFromDisk(configFile); + } + public bool GetLiveSeatedZeroPoseToRawTrackingPose(ref HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose) + { + bool result = FnTable.GetLiveSeatedZeroPoseToRawTrackingPose(ref pmatSeatedZeroPoseToRawTrackingPose); + return result; + } + public void SetWorkingCollisionBoundsTagsInfo(byte [] pTagsBuffer) + { + FnTable.SetWorkingCollisionBoundsTagsInfo(pTagsBuffer,(uint) pTagsBuffer.Length); + } + public bool GetLiveCollisionBoundsTagsInfo(out byte [] pTagsBuffer) + { + uint punTagCount = 0; + bool result = FnTable.GetLiveCollisionBoundsTagsInfo(null,ref punTagCount); + pTagsBuffer= new byte[punTagCount]; + result = FnTable.GetLiveCollisionBoundsTagsInfo(pTagsBuffer,ref punTagCount); + return result; + } + public bool SetWorkingPhysicalBoundsInfo(HmdQuad_t [] pQuadsBuffer) + { + bool result = FnTable.SetWorkingPhysicalBoundsInfo(pQuadsBuffer,(uint) pQuadsBuffer.Length); + return result; + } + public bool GetLivePhysicalBoundsInfo(out HmdQuad_t [] pQuadsBuffer) + { + uint punQuadsCount = 0; + bool result = FnTable.GetLivePhysicalBoundsInfo(null,ref punQuadsCount); + pQuadsBuffer= new HmdQuad_t[punQuadsCount]; + result = FnTable.GetLivePhysicalBoundsInfo(pQuadsBuffer,ref punQuadsCount); + return result; + } + public bool ExportLiveToBuffer(System.Text.StringBuilder pBuffer,ref uint pnBufferLength) + { + pnBufferLength = 0; + bool result = FnTable.ExportLiveToBuffer(pBuffer,ref pnBufferLength); + return result; + } + public bool ImportFromBufferToWorking(string pBuffer,uint nImportFlags) + { + bool result = FnTable.ImportFromBufferToWorking(pBuffer,nImportFlags); + return result; + } +} + + +public class CVRCompositor +{ + IVRCompositor FnTable; + internal CVRCompositor(IntPtr pInterface) + { + FnTable = (IVRCompositor)Marshal.PtrToStructure(pInterface, typeof(IVRCompositor)); + } + public void SetTrackingSpace(ETrackingUniverseOrigin eOrigin) + { + FnTable.SetTrackingSpace(eOrigin); + } + public ETrackingUniverseOrigin GetTrackingSpace() + { + ETrackingUniverseOrigin result = FnTable.GetTrackingSpace(); + return result; + } + public EVRCompositorError WaitGetPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) + { + EVRCompositorError result = FnTable.WaitGetPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); + return result; + } + public EVRCompositorError GetLastPoses(TrackedDevicePose_t [] pRenderPoseArray,TrackedDevicePose_t [] pGamePoseArray) + { + EVRCompositorError result = FnTable.GetLastPoses(pRenderPoseArray,(uint) pRenderPoseArray.Length,pGamePoseArray,(uint) pGamePoseArray.Length); + return result; + } + public EVRCompositorError GetLastPoseForTrackedDeviceIndex(uint unDeviceIndex,ref TrackedDevicePose_t pOutputPose,ref TrackedDevicePose_t pOutputGamePose) + { + EVRCompositorError result = FnTable.GetLastPoseForTrackedDeviceIndex(unDeviceIndex,ref pOutputPose,ref pOutputGamePose); + return result; + } + public EVRCompositorError Submit(EVREye eEye,ref Texture_t pTexture,ref VRTextureBounds_t pBounds,EVRSubmitFlags nSubmitFlags) + { + EVRCompositorError result = FnTable.Submit(eEye,ref pTexture,ref pBounds,nSubmitFlags); + return result; + } + public void ClearLastSubmittedFrame() + { + FnTable.ClearLastSubmittedFrame(); + } + public void PostPresentHandoff() + { + FnTable.PostPresentHandoff(); + } + public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo) + { + bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo); + return result; + } + public float GetFrameTimeRemaining() + { + float result = FnTable.GetFrameTimeRemaining(); + return result; + } + public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes) + { + FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes); + } + public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground) + { + FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground); + } + public void FadeGrid(float fSeconds,bool bFadeIn) + { + FnTable.FadeGrid(fSeconds,bFadeIn); + } + public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures) + { + EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length); + return result; + } + public void ClearSkyboxOverride() + { + FnTable.ClearSkyboxOverride(); + } + public void CompositorBringToFront() + { + FnTable.CompositorBringToFront(); + } + public void CompositorGoToBack() + { + FnTable.CompositorGoToBack(); + } + public void CompositorQuit() + { + FnTable.CompositorQuit(); + } + public bool IsFullscreen() + { + bool result = FnTable.IsFullscreen(); + return result; + } + public uint GetCurrentSceneFocusProcess() + { + uint result = FnTable.GetCurrentSceneFocusProcess(); + return result; + } + public uint GetLastFrameRenderer() + { + uint result = FnTable.GetLastFrameRenderer(); + return result; + } + public bool CanRenderScene() + { + bool result = FnTable.CanRenderScene(); + return result; + } + public void ShowMirrorWindow() + { + FnTable.ShowMirrorWindow(); + } + public void HideMirrorWindow() + { + FnTable.HideMirrorWindow(); + } + public bool IsMirrorWindowVisible() + { + bool result = FnTable.IsMirrorWindowVisible(); + return result; + } + public void CompositorDumpImages() + { + FnTable.CompositorDumpImages(); + } + public bool ShouldAppRenderWithLowResources() + { + bool result = FnTable.ShouldAppRenderWithLowResources(); + return result; + } + public void ForceInterleavedReprojectionOn(bool bOverride) + { + FnTable.ForceInterleavedReprojectionOn(bOverride); + } + public void ForceReconnectProcess() + { + FnTable.ForceReconnectProcess(); + } + public void SuspendRendering(bool bSuspend) + { + FnTable.SuspendRendering(bSuspend); + } + public EVRCompositorError RequestScreenshot(EVRScreenshotType type,string pchDestinationFileName,string pchVRDestinationFileName) + { + EVRCompositorError result = FnTable.RequestScreenshot(type,pchDestinationFileName,pchVRDestinationFileName); + return result; + } + public EVRScreenshotType GetCurrentScreenshotType() + { + EVRScreenshotType result = FnTable.GetCurrentScreenshotType(); + return result; + } + public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView) + { + EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView); + return result; + } + public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle) + { + pglTextureId = 0; + EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle); + return result; + } + public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle) + { + bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle); + return result; + } + public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) + { + FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle); + } + public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle) + { + FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle); + } +} + + +public class CVROverlay +{ + IVROverlay FnTable; + internal CVROverlay(IntPtr pInterface) + { + FnTable = (IVROverlay)Marshal.PtrToStructure(pInterface, typeof(IVROverlay)); + } + public EVROverlayError FindOverlay(string pchOverlayKey,ref ulong pOverlayHandle) + { + pOverlayHandle = 0; + EVROverlayError result = FnTable.FindOverlay(pchOverlayKey,ref pOverlayHandle); + return result; + } + public EVROverlayError CreateOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pOverlayHandle) + { + pOverlayHandle = 0; + EVROverlayError result = FnTable.CreateOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pOverlayHandle); + return result; + } + public EVROverlayError DestroyOverlay(ulong ulOverlayHandle) + { + EVROverlayError result = FnTable.DestroyOverlay(ulOverlayHandle); + return result; + } + public EVROverlayError SetHighQualityOverlay(ulong ulOverlayHandle) + { + EVROverlayError result = FnTable.SetHighQualityOverlay(ulOverlayHandle); + return result; + } + public ulong GetHighQualityOverlay() + { + ulong result = FnTable.GetHighQualityOverlay(); + return result; + } + public uint GetOverlayKey(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) + { + uint result = FnTable.GetOverlayKey(ulOverlayHandle,pchValue,unBufferSize,ref pError); + return result; + } + public uint GetOverlayName(ulong ulOverlayHandle,System.Text.StringBuilder pchValue,uint unBufferSize,ref EVROverlayError pError) + { + uint result = FnTable.GetOverlayName(ulOverlayHandle,pchValue,unBufferSize,ref pError); + return result; + } + public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer,uint unBufferSize,ref uint punWidth,ref uint punHeight) + { + punWidth = 0; + punHeight = 0; + EVROverlayError result = FnTable.GetOverlayImageData(ulOverlayHandle,pvBuffer,unBufferSize,ref punWidth,ref punHeight); + return result; + } + public string GetOverlayErrorNameFromEnum(EVROverlayError error) + { + IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error); + return Marshal.PtrToStringAnsi(result); + } + public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID) + { + EVROverlayError result = FnTable.SetOverlayRenderingPid(ulOverlayHandle,unPID); + return result; + } + public uint GetOverlayRenderingPid(ulong ulOverlayHandle) + { + uint result = FnTable.GetOverlayRenderingPid(ulOverlayHandle); + return result; + } + public EVROverlayError SetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,bool bEnabled) + { + EVROverlayError result = FnTable.SetOverlayFlag(ulOverlayHandle,eOverlayFlag,bEnabled); + return result; + } + public EVROverlayError GetOverlayFlag(ulong ulOverlayHandle,VROverlayFlags eOverlayFlag,ref bool pbEnabled) + { + pbEnabled = false; + EVROverlayError result = FnTable.GetOverlayFlag(ulOverlayHandle,eOverlayFlag,ref pbEnabled); + return result; + } + public EVROverlayError SetOverlayColor(ulong ulOverlayHandle,float fRed,float fGreen,float fBlue) + { + EVROverlayError result = FnTable.SetOverlayColor(ulOverlayHandle,fRed,fGreen,fBlue); + return result; + } + public EVROverlayError GetOverlayColor(ulong ulOverlayHandle,ref float pfRed,ref float pfGreen,ref float pfBlue) + { + pfRed = 0; + pfGreen = 0; + pfBlue = 0; + EVROverlayError result = FnTable.GetOverlayColor(ulOverlayHandle,ref pfRed,ref pfGreen,ref pfBlue); + return result; + } + public EVROverlayError SetOverlayAlpha(ulong ulOverlayHandle,float fAlpha) + { + EVROverlayError result = FnTable.SetOverlayAlpha(ulOverlayHandle,fAlpha); + return result; + } + public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha) + { + pfAlpha = 0; + EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha); + return result; + } + public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters) + { + EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters); + return result; + } + public EVROverlayError GetOverlayWidthInMeters(ulong ulOverlayHandle,ref float pfWidthInMeters) + { + pfWidthInMeters = 0; + EVROverlayError result = FnTable.GetOverlayWidthInMeters(ulOverlayHandle,ref pfWidthInMeters); + return result; + } + public EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,float fMinDistanceInMeters,float fMaxDistanceInMeters) + { + EVROverlayError result = FnTable.SetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,fMinDistanceInMeters,fMaxDistanceInMeters); + return result; + } + public EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters(ulong ulOverlayHandle,ref float pfMinDistanceInMeters,ref float pfMaxDistanceInMeters) + { + pfMinDistanceInMeters = 0; + pfMaxDistanceInMeters = 0; + EVROverlayError result = FnTable.GetOverlayAutoCurveDistanceRangeInMeters(ulOverlayHandle,ref pfMinDistanceInMeters,ref pfMaxDistanceInMeters); + return result; + } + public EVROverlayError SetOverlayTextureColorSpace(ulong ulOverlayHandle,EColorSpace eTextureColorSpace) + { + EVROverlayError result = FnTable.SetOverlayTextureColorSpace(ulOverlayHandle,eTextureColorSpace); + return result; + } + public EVROverlayError GetOverlayTextureColorSpace(ulong ulOverlayHandle,ref EColorSpace peTextureColorSpace) + { + EVROverlayError result = FnTable.GetOverlayTextureColorSpace(ulOverlayHandle,ref peTextureColorSpace); + return result; + } + public EVROverlayError SetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) + { + EVROverlayError result = FnTable.SetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); + return result; + } + public EVROverlayError GetOverlayTextureBounds(ulong ulOverlayHandle,ref VRTextureBounds_t pOverlayTextureBounds) + { + EVROverlayError result = FnTable.GetOverlayTextureBounds(ulOverlayHandle,ref pOverlayTextureBounds); + return result; + } + public EVROverlayError GetOverlayTransformType(ulong ulOverlayHandle,ref VROverlayTransformType peTransformType) + { + EVROverlayError result = FnTable.GetOverlayTransformType(ulOverlayHandle,ref peTransformType); + return result; + } + public EVROverlayError SetOverlayTransformAbsolute(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) + { + EVROverlayError result = FnTable.SetOverlayTransformAbsolute(ulOverlayHandle,eTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); + return result; + } + public EVROverlayError GetOverlayTransformAbsolute(ulong ulOverlayHandle,ref ETrackingUniverseOrigin peTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToOverlayTransform) + { + EVROverlayError result = FnTable.GetOverlayTransformAbsolute(ulOverlayHandle,ref peTrackingOrigin,ref pmatTrackingOriginToOverlayTransform); + return result; + } + public EVROverlayError SetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,uint unTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) + { + EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,unTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); + return result; + } + public EVROverlayError GetOverlayTransformTrackedDeviceRelative(ulong ulOverlayHandle,ref uint punTrackedDevice,ref HmdMatrix34_t pmatTrackedDeviceToOverlayTransform) + { + punTrackedDevice = 0; + EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceRelative(ulOverlayHandle,ref punTrackedDevice,ref pmatTrackedDeviceToOverlayTransform); + return result; + } + public EVROverlayError SetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,uint unDeviceIndex,string pchComponentName) + { + EVROverlayError result = FnTable.SetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,unDeviceIndex,pchComponentName); + return result; + } + public EVROverlayError GetOverlayTransformTrackedDeviceComponent(ulong ulOverlayHandle,ref uint punDeviceIndex,string pchComponentName,uint unComponentNameSize) + { + punDeviceIndex = 0; + EVROverlayError result = FnTable.GetOverlayTransformTrackedDeviceComponent(ulOverlayHandle,ref punDeviceIndex,pchComponentName,unComponentNameSize); + return result; + } + public EVROverlayError ShowOverlay(ulong ulOverlayHandle) + { + EVROverlayError result = FnTable.ShowOverlay(ulOverlayHandle); + return result; + } + public EVROverlayError HideOverlay(ulong ulOverlayHandle) + { + EVROverlayError result = FnTable.HideOverlay(ulOverlayHandle); + return result; + } + public bool IsOverlayVisible(ulong ulOverlayHandle) + { + bool result = FnTable.IsOverlayVisible(ulOverlayHandle); + return result; + } + public EVROverlayError GetTransformForOverlayCoordinates(ulong ulOverlayHandle,ETrackingUniverseOrigin eTrackingOrigin,HmdVector2_t coordinatesInOverlay,ref HmdMatrix34_t pmatTransform) + { + EVROverlayError result = FnTable.GetTransformForOverlayCoordinates(ulOverlayHandle,eTrackingOrigin,coordinatesInOverlay,ref pmatTransform); + return result; + } + public bool PollNextOverlayEvent(ulong ulOverlayHandle,ref VREvent_t pEvent,uint uncbVREvent) + { + bool result = FnTable.PollNextOverlayEvent(ulOverlayHandle,ref pEvent,uncbVREvent); + return result; + } + public EVROverlayError GetOverlayInputMethod(ulong ulOverlayHandle,ref VROverlayInputMethod peInputMethod) + { + EVROverlayError result = FnTable.GetOverlayInputMethod(ulOverlayHandle,ref peInputMethod); + return result; + } + public EVROverlayError SetOverlayInputMethod(ulong ulOverlayHandle,VROverlayInputMethod eInputMethod) + { + EVROverlayError result = FnTable.SetOverlayInputMethod(ulOverlayHandle,eInputMethod); + return result; + } + public EVROverlayError GetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) + { + EVROverlayError result = FnTable.GetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); + return result; + } + public EVROverlayError SetOverlayMouseScale(ulong ulOverlayHandle,ref HmdVector2_t pvecMouseScale) + { + EVROverlayError result = FnTable.SetOverlayMouseScale(ulOverlayHandle,ref pvecMouseScale); + return result; + } + public bool ComputeOverlayIntersection(ulong ulOverlayHandle,ref VROverlayIntersectionParams_t pParams,ref VROverlayIntersectionResults_t pResults) + { + bool result = FnTable.ComputeOverlayIntersection(ulOverlayHandle,ref pParams,ref pResults); + return result; + } + public bool HandleControllerOverlayInteractionAsMouse(ulong ulOverlayHandle,uint unControllerDeviceIndex) + { + bool result = FnTable.HandleControllerOverlayInteractionAsMouse(ulOverlayHandle,unControllerDeviceIndex); + return result; + } + public bool IsHoverTargetOverlay(ulong ulOverlayHandle) + { + bool result = FnTable.IsHoverTargetOverlay(ulOverlayHandle); + return result; + } + public ulong GetGamepadFocusOverlay() + { + ulong result = FnTable.GetGamepadFocusOverlay(); + return result; + } + public EVROverlayError SetGamepadFocusOverlay(ulong ulNewFocusOverlay) + { + EVROverlayError result = FnTable.SetGamepadFocusOverlay(ulNewFocusOverlay); + return result; + } + public EVROverlayError SetOverlayNeighbor(EOverlayDirection eDirection,ulong ulFrom,ulong ulTo) + { + EVROverlayError result = FnTable.SetOverlayNeighbor(eDirection,ulFrom,ulTo); + return result; + } + public EVROverlayError MoveGamepadFocusToNeighbor(EOverlayDirection eDirection,ulong ulFrom) + { + EVROverlayError result = FnTable.MoveGamepadFocusToNeighbor(eDirection,ulFrom); + return result; + } + public EVROverlayError SetOverlayTexture(ulong ulOverlayHandle,ref Texture_t pTexture) + { + EVROverlayError result = FnTable.SetOverlayTexture(ulOverlayHandle,ref pTexture); + return result; + } + public EVROverlayError ClearOverlayTexture(ulong ulOverlayHandle) + { + EVROverlayError result = FnTable.ClearOverlayTexture(ulOverlayHandle); + return result; + } + public EVROverlayError SetOverlayRaw(ulong ulOverlayHandle,IntPtr pvBuffer,uint unWidth,uint unHeight,uint unDepth) + { + EVROverlayError result = FnTable.SetOverlayRaw(ulOverlayHandle,pvBuffer,unWidth,unHeight,unDepth); + return result; + } + public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePath) + { + EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath); + return result; + } + public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace) + { + pWidth = 0; + pHeight = 0; + pNativeFormat = 0; + EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace); + return result; + } + public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle) + { + EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle); + return result; + } + public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight) + { + pWidth = 0; + pHeight = 0; + EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight); + return result; + } + public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle) + { + pMainHandle = 0; + pThumbnailHandle = 0; + EVROverlayError result = FnTable.CreateDashboardOverlay(pchOverlayKey,pchOverlayFriendlyName,ref pMainHandle,ref pThumbnailHandle); + return result; + } + public bool IsDashboardVisible() + { + bool result = FnTable.IsDashboardVisible(); + return result; + } + public bool IsActiveDashboardOverlay(ulong ulOverlayHandle) + { + bool result = FnTable.IsActiveDashboardOverlay(ulOverlayHandle); + return result; + } + public EVROverlayError SetDashboardOverlaySceneProcess(ulong ulOverlayHandle,uint unProcessId) + { + EVROverlayError result = FnTable.SetDashboardOverlaySceneProcess(ulOverlayHandle,unProcessId); + return result; + } + public EVROverlayError GetDashboardOverlaySceneProcess(ulong ulOverlayHandle,ref uint punProcessId) + { + punProcessId = 0; + EVROverlayError result = FnTable.GetDashboardOverlaySceneProcess(ulOverlayHandle,ref punProcessId); + return result; + } + public void ShowDashboard(string pchOverlayToShow) + { + FnTable.ShowDashboard(pchOverlayToShow); + } + public uint GetPrimaryDashboardDevice() + { + uint result = FnTable.GetPrimaryDashboardDevice(); + return result; + } + public EVROverlayError ShowKeyboard(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) + { + EVROverlayError result = FnTable.ShowKeyboard(eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); + return result; + } + public EVROverlayError ShowKeyboardForOverlay(ulong ulOverlayHandle,int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText,bool bUseMinimalMode,ulong uUserValue) + { + EVROverlayError result = FnTable.ShowKeyboardForOverlay(ulOverlayHandle,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText,bUseMinimalMode,uUserValue); + return result; + } + public uint GetKeyboardText(System.Text.StringBuilder pchText,uint cchText) + { + uint result = FnTable.GetKeyboardText(pchText,cchText); + return result; + } + public void HideKeyboard() + { + FnTable.HideKeyboard(); + } + public void SetKeyboardTransformAbsolute(ETrackingUniverseOrigin eTrackingOrigin,ref HmdMatrix34_t pmatTrackingOriginToKeyboardTransform) + { + FnTable.SetKeyboardTransformAbsolute(eTrackingOrigin,ref pmatTrackingOriginToKeyboardTransform); + } + public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoidRect) + { + FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect); + } +} + + +public class CVRRenderModels +{ + IVRRenderModels FnTable; + internal CVRRenderModels(IntPtr pInterface) + { + FnTable = (IVRRenderModels)Marshal.PtrToStructure(pInterface, typeof(IVRRenderModels)); + } + public EVRRenderModelError LoadRenderModel_Async(string pchRenderModelName,ref IntPtr ppRenderModel) + { + EVRRenderModelError result = FnTable.LoadRenderModel_Async(pchRenderModelName,ref ppRenderModel); + return result; + } + public void FreeRenderModel(IntPtr pRenderModel) + { + FnTable.FreeRenderModel(pRenderModel); + } + public EVRRenderModelError LoadTexture_Async(int textureId,ref IntPtr ppTexture) + { + EVRRenderModelError result = FnTable.LoadTexture_Async(textureId,ref ppTexture); + return result; + } + public void FreeTexture(IntPtr pTexture) + { + FnTable.FreeTexture(pTexture); + } + public EVRRenderModelError LoadTextureD3D11_Async(int textureId,IntPtr pD3D11Device,ref IntPtr ppD3D11Texture2D) + { + EVRRenderModelError result = FnTable.LoadTextureD3D11_Async(textureId,pD3D11Device,ref ppD3D11Texture2D); + return result; + } + public EVRRenderModelError LoadIntoTextureD3D11_Async(int textureId,IntPtr pDstTexture) + { + EVRRenderModelError result = FnTable.LoadIntoTextureD3D11_Async(textureId,pDstTexture); + return result; + } + public void FreeTextureD3D11(IntPtr pD3D11Texture2D) + { + FnTable.FreeTextureD3D11(pD3D11Texture2D); + } + public uint GetRenderModelName(uint unRenderModelIndex,System.Text.StringBuilder pchRenderModelName,uint unRenderModelNameLen) + { + uint result = FnTable.GetRenderModelName(unRenderModelIndex,pchRenderModelName,unRenderModelNameLen); + return result; + } + public uint GetRenderModelCount() + { + uint result = FnTable.GetRenderModelCount(); + return result; + } + public uint GetComponentCount(string pchRenderModelName) + { + uint result = FnTable.GetComponentCount(pchRenderModelName); + return result; + } + public uint GetComponentName(string pchRenderModelName,uint unComponentIndex,System.Text.StringBuilder pchComponentName,uint unComponentNameLen) + { + uint result = FnTable.GetComponentName(pchRenderModelName,unComponentIndex,pchComponentName,unComponentNameLen); + return result; + } + public ulong GetComponentButtonMask(string pchRenderModelName,string pchComponentName) + { + ulong result = FnTable.GetComponentButtonMask(pchRenderModelName,pchComponentName); + return result; + } + public uint GetComponentRenderModelName(string pchRenderModelName,string pchComponentName,System.Text.StringBuilder pchComponentRenderModelName,uint unComponentRenderModelNameLen) + { + uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen); + return result; + } + public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState) + { + bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState); + return result; + } + public bool RenderModelHasComponent(string pchRenderModelName,string pchComponentName) + { + bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName); + return result; + } + public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError) + { + uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError); + return result; + } + public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError) + { + uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError); + return result; + } + public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error) + { + IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error); + return Marshal.PtrToStringAnsi(result); + } +} + + +public class CVRNotifications +{ + IVRNotifications FnTable; + internal CVRNotifications(IntPtr pInterface) + { + FnTable = (IVRNotifications)Marshal.PtrToStructure(pInterface, typeof(IVRNotifications)); + } + public EVRNotificationError CreateNotification(ulong ulOverlayHandle,ulong ulUserValue,EVRNotificationType type,string pchText,EVRNotificationStyle style,ref NotificationBitmap_t pImage,ref uint pNotificationId) + { + pNotificationId = 0; + EVRNotificationError result = FnTable.CreateNotification(ulOverlayHandle,ulUserValue,type,pchText,style,ref pImage,ref pNotificationId); + return result; + } + public EVRNotificationError RemoveNotification(uint notificationId) + { + EVRNotificationError result = FnTable.RemoveNotification(notificationId); + return result; + } +} + + +public class CVRSettings +{ + IVRSettings FnTable; + internal CVRSettings(IntPtr pInterface) + { + FnTable = (IVRSettings)Marshal.PtrToStructure(pInterface, typeof(IVRSettings)); + } + public string GetSettingsErrorNameFromEnum(EVRSettingsError eError) + { + IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError); + return Marshal.PtrToStringAnsi(result); + } + public bool Sync(bool bForce,ref EVRSettingsError peError) + { + bool result = FnTable.Sync(bForce,ref peError); + return result; + } + public bool GetBool(string pchSection,string pchSettingsKey,bool bDefaultValue,ref EVRSettingsError peError) + { + bool result = FnTable.GetBool(pchSection,pchSettingsKey,bDefaultValue,ref peError); + return result; + } + public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError) + { + FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError); + } + public int GetInt32(string pchSection,string pchSettingsKey,int nDefaultValue,ref EVRSettingsError peError) + { + int result = FnTable.GetInt32(pchSection,pchSettingsKey,nDefaultValue,ref peError); + return result; + } + public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError) + { + FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError); + } + public float GetFloat(string pchSection,string pchSettingsKey,float flDefaultValue,ref EVRSettingsError peError) + { + float result = FnTable.GetFloat(pchSection,pchSettingsKey,flDefaultValue,ref peError); + return result; + } + public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError) + { + FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError); + } + public void GetString(string pchSection,string pchSettingsKey,string pchValue,uint unValueLen,string pchDefaultValue,ref EVRSettingsError peError) + { + FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,pchDefaultValue,ref peError); + } + public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError) + { + FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError); + } + public void RemoveSection(string pchSection,ref EVRSettingsError peError) + { + FnTable.RemoveSection(pchSection,ref peError); + } + public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSettingsError peError) + { + FnTable.RemoveKeyInSection(pchSection,pchSettingsKey,ref peError); + } +} + + +public class CVRScreenshots +{ + IVRScreenshots FnTable; + internal CVRScreenshots(IntPtr pInterface) + { + FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots)); + } + public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename) + { + pOutScreenshotHandle = 0; + EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename); + return result; + } + public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes) + { + EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length); + return result; + } + public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError) + { + EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError); + return result; + } + public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError) + { + uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError); + return result; + } + public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress) + { + EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress); + return result; + } + public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename) + { + pOutScreenshotHandle = 0; + EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename); + return result; + } + public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename) + { + EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename); + return result; + } +} + + +public class OpenVRInterop +{ + [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal")] + internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType); + [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal")] + internal static extern void ShutdownInternal(); + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent")] + internal static extern bool IsHmdPresent(); + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled")] + internal static extern bool IsRuntimeInstalled(); + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError")] + internal static extern IntPtr GetStringForHmdError(EVRInitError error); + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface")] + internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError); + [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid")] + internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion); + [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken")] + internal static extern uint GetInitToken(); +} + + +public enum EVREye +{ + Eye_Left = 0, + Eye_Right = 1, +} +public enum EGraphicsAPIConvention +{ + API_DirectX = 0, + API_OpenGL = 1, +} +public enum EColorSpace +{ + Auto = 0, + Gamma = 1, + Linear = 2, +} +public enum ETrackingResult +{ + Uninitialized = 1, + Calibrating_InProgress = 100, + Calibrating_OutOfRange = 101, + Running_OK = 200, + Running_OutOfRange = 201, +} +public enum ETrackedDeviceClass +{ + Invalid = 0, + HMD = 1, + Controller = 2, + TrackingReference = 4, + Other = 1000, +} +public enum ETrackedControllerRole +{ + Invalid = 0, + LeftHand = 1, + RightHand = 2, +} +public enum ETrackingUniverseOrigin +{ + TrackingUniverseSeated = 0, + TrackingUniverseStanding = 1, + TrackingUniverseRawAndUncalibrated = 2, +} +public enum ETrackedDeviceProperty +{ + Prop_TrackingSystemName_String = 1000, + Prop_ModelNumber_String = 1001, + Prop_SerialNumber_String = 1002, + Prop_RenderModelName_String = 1003, + Prop_WillDriftInYaw_Bool = 1004, + Prop_ManufacturerName_String = 1005, + Prop_TrackingFirmwareVersion_String = 1006, + Prop_HardwareRevision_String = 1007, + Prop_AllWirelessDongleDescriptions_String = 1008, + Prop_ConnectedWirelessDongle_String = 1009, + Prop_DeviceIsWireless_Bool = 1010, + Prop_DeviceIsCharging_Bool = 1011, + Prop_DeviceBatteryPercentage_Float = 1012, + Prop_StatusDisplayTransform_Matrix34 = 1013, + Prop_Firmware_UpdateAvailable_Bool = 1014, + Prop_Firmware_ManualUpdate_Bool = 1015, + Prop_Firmware_ManualUpdateURL_String = 1016, + Prop_HardwareRevision_Uint64 = 1017, + Prop_FirmwareVersion_Uint64 = 1018, + Prop_FPGAVersion_Uint64 = 1019, + Prop_VRCVersion_Uint64 = 1020, + Prop_RadioVersion_Uint64 = 1021, + Prop_DongleVersion_Uint64 = 1022, + Prop_BlockServerShutdown_Bool = 1023, + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + Prop_ContainsProximitySensor_Bool = 1025, + Prop_DeviceProvidesBatteryStatus_Bool = 1026, + Prop_DeviceCanPowerOff_Bool = 1027, + Prop_Firmware_ProgrammingTarget_String = 1028, + Prop_DeviceClass_Int32 = 1029, + Prop_HasCamera_Bool = 1030, + Prop_DriverVersion_String = 1031, + Prop_Firmware_ForceUpdateRequired_Bool = 1032, + Prop_ReportsTimeSinceVSync_Bool = 2000, + Prop_SecondsFromVsyncToPhotons_Float = 2001, + Prop_DisplayFrequency_Float = 2002, + Prop_UserIpdMeters_Float = 2003, + Prop_CurrentUniverseId_Uint64 = 2004, + Prop_PreviousUniverseId_Uint64 = 2005, + Prop_DisplayFirmwareVersion_Uint64 = 2006, + Prop_IsOnDesktop_Bool = 2007, + Prop_DisplayMCType_Int32 = 2008, + Prop_DisplayMCOffset_Float = 2009, + Prop_DisplayMCScale_Float = 2010, + Prop_EdidVendorID_Int32 = 2011, + Prop_DisplayMCImageLeft_String = 2012, + Prop_DisplayMCImageRight_String = 2013, + Prop_DisplayGCBlackClamp_Float = 2014, + Prop_EdidProductID_Int32 = 2015, + Prop_CameraToHeadTransform_Matrix34 = 2016, + Prop_DisplayGCType_Int32 = 2017, + Prop_DisplayGCOffset_Float = 2018, + Prop_DisplayGCScale_Float = 2019, + Prop_DisplayGCPrescale_Float = 2020, + Prop_DisplayGCImage_String = 2021, + Prop_LensCenterLeftU_Float = 2022, + Prop_LensCenterLeftV_Float = 2023, + Prop_LensCenterRightU_Float = 2024, + Prop_LensCenterRightV_Float = 2025, + Prop_UserHeadToEyeDepthMeters_Float = 2026, + Prop_CameraFirmwareVersion_Uint64 = 2027, + Prop_CameraFirmwareDescription_String = 2028, + Prop_DisplayFPGAVersion_Uint64 = 2029, + Prop_DisplayBootloaderVersion_Uint64 = 2030, + Prop_DisplayHardwareVersion_Uint64 = 2031, + Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, + Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + Prop_DisplaySuppressed_Bool = 2036, + Prop_AttachedDeviceId_String = 3000, + Prop_SupportedButtons_Uint64 = 3001, + Prop_Axis0Type_Int32 = 3002, + Prop_Axis1Type_Int32 = 3003, + Prop_Axis2Type_Int32 = 3004, + Prop_Axis3Type_Int32 = 3005, + Prop_Axis4Type_Int32 = 3006, + Prop_FieldOfViewLeftDegrees_Float = 4000, + Prop_FieldOfViewRightDegrees_Float = 4001, + Prop_FieldOfViewTopDegrees_Float = 4002, + Prop_FieldOfViewBottomDegrees_Float = 4003, + Prop_TrackingRangeMinimumMeters_Float = 4004, + Prop_TrackingRangeMaximumMeters_Float = 4005, + Prop_ModeLabel_String = 4006, + Prop_VendorSpecific_Reserved_Start = 10000, + Prop_VendorSpecific_Reserved_End = 10999, +} +public enum ETrackedPropertyError +{ + TrackedProp_Success = 0, + TrackedProp_WrongDataType = 1, + TrackedProp_WrongDeviceClass = 2, + TrackedProp_BufferTooSmall = 3, + TrackedProp_UnknownProperty = 4, + TrackedProp_InvalidDevice = 5, + TrackedProp_CouldNotContactServer = 6, + TrackedProp_ValueNotProvidedByDevice = 7, + TrackedProp_StringExceedsMaximumLength = 8, + TrackedProp_NotYetAvailable = 9, +} +public enum EVRSubmitFlags +{ + Submit_Default = 0, + Submit_LensDistortionAlreadyApplied = 1, + Submit_GlRenderBuffer = 2, +} +public enum EVRState +{ + Undefined = -1, + Off = 0, + Searching = 1, + Searching_Alert = 2, + Ready = 3, + Ready_Alert = 4, + NotReady = 5, + Standby = 6, +} +public enum EVREventType +{ + VREvent_None = 0, + VREvent_TrackedDeviceActivated = 100, + VREvent_TrackedDeviceDeactivated = 101, + VREvent_TrackedDeviceUpdated = 102, + VREvent_TrackedDeviceUserInteractionStarted = 103, + VREvent_TrackedDeviceUserInteractionEnded = 104, + VREvent_IpdChanged = 105, + VREvent_EnterStandbyMode = 106, + VREvent_LeaveStandbyMode = 107, + VREvent_TrackedDeviceRoleChanged = 108, + VREvent_ButtonPress = 200, + VREvent_ButtonUnpress = 201, + VREvent_ButtonTouch = 202, + VREvent_ButtonUntouch = 203, + VREvent_MouseMove = 300, + VREvent_MouseButtonDown = 301, + VREvent_MouseButtonUp = 302, + VREvent_FocusEnter = 303, + VREvent_FocusLeave = 304, + VREvent_Scroll = 305, + VREvent_TouchPadMove = 306, + VREvent_InputFocusCaptured = 400, + VREvent_InputFocusReleased = 401, + VREvent_SceneFocusLost = 402, + VREvent_SceneFocusGained = 403, + VREvent_SceneApplicationChanged = 404, + VREvent_SceneFocusChanged = 405, + VREvent_InputFocusChanged = 406, + VREvent_SceneApplicationSecondaryRenderingStarted = 407, + VREvent_HideRenderModels = 410, + VREvent_ShowRenderModels = 411, + VREvent_OverlayShown = 500, + VREvent_OverlayHidden = 501, + VREvent_DashboardActivated = 502, + VREvent_DashboardDeactivated = 503, + VREvent_DashboardThumbSelected = 504, + VREvent_DashboardRequested = 505, + VREvent_ResetDashboard = 506, + VREvent_RenderToast = 507, + VREvent_ImageLoaded = 508, + VREvent_ShowKeyboard = 509, + VREvent_HideKeyboard = 510, + VREvent_OverlayGamepadFocusGained = 511, + VREvent_OverlayGamepadFocusLost = 512, + VREvent_OverlaySharedTextureChanged = 513, + VREvent_DashboardGuideButtonDown = 514, + VREvent_DashboardGuideButtonUp = 515, + VREvent_ScreenshotTriggered = 516, + VREvent_ImageFailed = 517, + VREvent_RequestScreenshot = 520, + VREvent_ScreenshotTaken = 521, + VREvent_ScreenshotFailed = 522, + VREvent_SubmitScreenshotToDashboard = 523, + VREvent_Notification_Shown = 600, + VREvent_Notification_Hidden = 601, + VREvent_Notification_BeginInteraction = 602, + VREvent_Notification_Destroyed = 603, + VREvent_Quit = 700, + VREvent_ProcessQuit = 701, + VREvent_QuitAborted_UserPrompt = 702, + VREvent_QuitAcknowledged = 703, + VREvent_DriverRequestedQuit = 704, + VREvent_ChaperoneDataHasChanged = 800, + VREvent_ChaperoneUniverseHasChanged = 801, + VREvent_ChaperoneTempDataHasChanged = 802, + VREvent_ChaperoneSettingsHaveChanged = 803, + VREvent_SeatedZeroPoseReset = 804, + VREvent_AudioSettingsHaveChanged = 820, + VREvent_BackgroundSettingHasChanged = 850, + VREvent_CameraSettingsHaveChanged = 851, + VREvent_ReprojectionSettingHasChanged = 852, + VREvent_ModelSkinSettingsHaveChanged = 853, + VREvent_EnvironmentSettingsHaveChanged = 854, + VREvent_StatusUpdate = 900, + VREvent_MCImageUpdated = 1000, + VREvent_FirmwareUpdateStarted = 1100, + VREvent_FirmwareUpdateFinished = 1101, + VREvent_KeyboardClosed = 1200, + VREvent_KeyboardCharInput = 1201, + VREvent_KeyboardDone = 1202, + VREvent_ApplicationTransitionStarted = 1300, + VREvent_ApplicationTransitionAborted = 1301, + VREvent_ApplicationTransitionNewAppStarted = 1302, + VREvent_ApplicationListUpdated = 1303, + VREvent_Compositor_MirrorWindowShown = 1400, + VREvent_Compositor_MirrorWindowHidden = 1401, + VREvent_Compositor_ChaperoneBoundsShown = 1410, + VREvent_Compositor_ChaperoneBoundsHidden = 1411, + VREvent_TrackedCamera_StartVideoStream = 1500, + VREvent_TrackedCamera_StopVideoStream = 1501, + VREvent_TrackedCamera_PauseVideoStream = 1502, + VREvent_TrackedCamera_ResumeVideoStream = 1503, + VREvent_PerformanceTest_EnableCapture = 1600, + VREvent_PerformanceTest_DisableCapture = 1601, + VREvent_PerformanceTest_FidelityLevel = 1602, + VREvent_VendorSpecific_Reserved_Start = 10000, + VREvent_VendorSpecific_Reserved_End = 19999, +} +public enum EDeviceActivityLevel +{ + k_EDeviceActivityLevel_Unknown = -1, + k_EDeviceActivityLevel_Idle = 0, + k_EDeviceActivityLevel_UserInteraction = 1, + k_EDeviceActivityLevel_UserInteraction_Timeout = 2, + k_EDeviceActivityLevel_Standby = 3, +} +public enum EVRButtonId +{ + k_EButton_System = 0, + k_EButton_ApplicationMenu = 1, + k_EButton_Grip = 2, + k_EButton_DPad_Left = 3, + k_EButton_DPad_Up = 4, + k_EButton_DPad_Right = 5, + k_EButton_DPad_Down = 6, + k_EButton_A = 7, + k_EButton_Axis0 = 32, + k_EButton_Axis1 = 33, + k_EButton_Axis2 = 34, + k_EButton_Axis3 = 35, + k_EButton_Axis4 = 36, + k_EButton_SteamVR_Touchpad = 32, + k_EButton_SteamVR_Trigger = 33, + k_EButton_Dashboard_Back = 2, + k_EButton_Max = 64, +} +public enum EVRMouseButton +{ + Left = 1, + Right = 2, + Middle = 4, +} +public enum EVRControllerAxisType +{ + k_eControllerAxis_None = 0, + k_eControllerAxis_TrackPad = 1, + k_eControllerAxis_Joystick = 2, + k_eControllerAxis_Trigger = 3, +} +public enum EVRControllerEventOutputType +{ + ControllerEventOutput_OSEvents = 0, + ControllerEventOutput_VREvents = 1, +} +public enum ECollisionBoundsStyle +{ + COLLISION_BOUNDS_STYLE_BEGINNER = 0, + COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, + COLLISION_BOUNDS_STYLE_SQUARES = 2, + COLLISION_BOUNDS_STYLE_ADVANCED = 3, + COLLISION_BOUNDS_STYLE_NONE = 4, + COLLISION_BOUNDS_STYLE_COUNT = 5, +} +public enum EVROverlayError +{ + None = 0, + UnknownOverlay = 10, + InvalidHandle = 11, + PermissionDenied = 12, + OverlayLimitExceeded = 13, + WrongVisibilityType = 14, + KeyTooLong = 15, + NameTooLong = 16, + KeyInUse = 17, + WrongTransformType = 18, + InvalidTrackedDevice = 19, + InvalidParameter = 20, + ThumbnailCantBeDestroyed = 21, + ArrayTooSmall = 22, + RequestFailed = 23, + InvalidTexture = 24, + UnableToLoadFile = 25, + VROVerlayError_KeyboardAlreadyInUse = 26, + NoNeighbor = 27, +} +public enum EVRApplicationType +{ + VRApplication_Other = 0, + VRApplication_Scene = 1, + VRApplication_Overlay = 2, + VRApplication_Background = 3, + VRApplication_Utility = 4, + VRApplication_VRMonitor = 5, +} +public enum EVRFirmwareError +{ + None = 0, + Success = 1, + Fail = 2, +} +public enum EVRNotificationError +{ + OK = 0, + InvalidNotificationId = 100, + NotificationQueueFull = 101, + InvalidOverlayHandle = 102, + SystemWithUserValueAlreadyExists = 103, +} +public enum EVRInitError +{ + None = 0, + Unknown = 1, + Init_InstallationNotFound = 100, + Init_InstallationCorrupt = 101, + Init_VRClientDLLNotFound = 102, + Init_FileNotFound = 103, + Init_FactoryNotFound = 104, + Init_InterfaceNotFound = 105, + Init_InvalidInterface = 106, + Init_UserConfigDirectoryInvalid = 107, + Init_HmdNotFound = 108, + Init_NotInitialized = 109, + Init_PathRegistryNotFound = 110, + Init_NoConfigPath = 111, + Init_NoLogPath = 112, + Init_PathRegistryNotWritable = 113, + Init_AppInfoInitFailed = 114, + Init_Retry = 115, + Init_InitCanceledByUser = 116, + Init_AnotherAppLaunching = 117, + Init_SettingsInitFailed = 118, + Init_ShuttingDown = 119, + Init_TooManyObjects = 120, + Init_NoServerForBackgroundApp = 121, + Init_NotSupportedWithCompositor = 122, + Init_NotAvailableToUtilityApps = 123, + Init_Internal = 124, + Driver_Failed = 200, + Driver_Unknown = 201, + Driver_HmdUnknown = 202, + Driver_NotLoaded = 203, + Driver_RuntimeOutOfDate = 204, + Driver_HmdInUse = 205, + Driver_NotCalibrated = 206, + Driver_CalibrationInvalid = 207, + Driver_HmdDisplayNotFound = 208, + IPC_ServerInitFailed = 300, + IPC_ConnectFailed = 301, + IPC_SharedStateInitFailed = 302, + IPC_CompositorInitFailed = 303, + IPC_MutexInitFailed = 304, + IPC_Failed = 305, + Compositor_Failed = 400, + Compositor_D3D11HardwareRequired = 401, + Compositor_FirmwareRequiresUpdate = 402, + Compositor_OverlayInitFailed = 403, + Compositor_ScreenshotsInitFailed = 404, + VendorSpecific_UnableToConnectToOculusRuntime = 1000, + VendorSpecific_HmdFound_CantOpenDevice = 1101, + VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + VendorSpecific_HmdFound_NoStoredConfig = 1103, + VendorSpecific_HmdFound_ConfigTooBig = 1104, + VendorSpecific_HmdFound_ConfigTooSmall = 1105, + VendorSpecific_HmdFound_UnableToInitZLib = 1106, + VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + VendorSpecific_HmdFound_UserDataAddressRange = 1111, + VendorSpecific_HmdFound_UserDataError = 1112, + VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + Steam_SteamInstallationNotFound = 2000, +} +public enum EVRScreenshotType +{ + None = 0, + Mono = 1, + Stereo = 2, + Cubemap = 3, + MonoPanorama = 4, + StereoPanorama = 5, +} +public enum EVRScreenshotPropertyFilenames +{ + Preview = 0, + VR = 1, +} +public enum EVRTrackedCameraError +{ + None = 0, + OperationFailed = 100, + InvalidHandle = 101, + InvalidFrameHeaderVersion = 102, + OutOfHandles = 103, + IPCFailure = 104, + NotSupportedForThisDevice = 105, + SharedMemoryFailure = 106, + FrameBufferingFailure = 107, + StreamSetupFailure = 108, + InvalidGLTextureId = 109, + InvalidSharedTextureHandle = 110, + FailedToGetGLTextureId = 111, + SharedTextureFailure = 112, + NoFrameAvailable = 113, + InvalidArgument = 114, + InvalidFrameBufferSize = 115, +} +public enum EVRTrackedCameraFrameType +{ + Distorted = 0, + Undistorted = 1, + MaximumUndistorted = 2, + MAX_CAMERA_FRAME_TYPES = 3, +} +public enum EVRApplicationError +{ + None = 0, + AppKeyAlreadyExists = 100, + NoManifest = 101, + NoApplication = 102, + InvalidIndex = 103, + UnknownApplication = 104, + IPCFailed = 105, + ApplicationAlreadyRunning = 106, + InvalidManifest = 107, + InvalidApplication = 108, + LaunchFailed = 109, + ApplicationAlreadyStarting = 110, + LaunchInProgress = 111, + OldApplicationQuitting = 112, + TransitionAborted = 113, + IsTemplate = 114, + BufferTooSmall = 200, + PropertyNotSet = 201, + UnknownProperty = 202, + InvalidParameter = 203, +} +public enum EVRApplicationProperty +{ + Name_String = 0, + LaunchType_String = 11, + WorkingDirectory_String = 12, + BinaryPath_String = 13, + Arguments_String = 14, + URL_String = 15, + Description_String = 50, + NewsURL_String = 51, + ImagePath_String = 52, + Source_String = 53, + IsDashboardOverlay_Bool = 60, + IsTemplate_Bool = 61, + IsInstanced_Bool = 62, + LastLaunchTime_Uint64 = 70, +} +public enum EVRApplicationTransitionState +{ + VRApplicationTransition_None = 0, + VRApplicationTransition_OldAppQuitSent = 10, + VRApplicationTransition_WaitingForExternalLaunch = 11, + VRApplicationTransition_NewAppLaunched = 20, +} +public enum ChaperoneCalibrationState +{ + OK = 1, + Warning = 100, + Warning_BaseStationMayHaveMoved = 101, + Warning_BaseStationRemoved = 102, + Warning_SeatedBoundsInvalid = 103, + Error = 200, + Error_BaseStationUninitalized = 201, + Error_BaseStationConflict = 202, + Error_PlayAreaInvalid = 203, + Error_CollisionBoundsInvalid = 204, +} +public enum EChaperoneConfigFile +{ + Live = 1, + Temp = 2, +} +public enum EChaperoneImportFlags +{ + EChaperoneImport_BoundsOnly = 1, +} +public enum EVRCompositorError +{ + None = 0, + RequestFailed = 1, + IncompatibleVersion = 100, + DoNotHaveFocus = 101, + InvalidTexture = 102, + IsNotSceneApplication = 103, + TextureIsOnWrongDevice = 104, + TextureUsesUnsupportedFormat = 105, + SharedTexturesNotSupported = 106, + IndexOutOfRange = 107, +} +public enum VROverlayInputMethod +{ + None = 0, + Mouse = 1, +} +public enum VROverlayTransformType +{ + VROverlayTransform_Absolute = 0, + VROverlayTransform_TrackedDeviceRelative = 1, + VROverlayTransform_SystemOverlay = 2, + VROverlayTransform_TrackedComponent = 3, +} +public enum VROverlayFlags +{ + None = 0, + Curved = 1, + RGSS4X = 2, + NoDashboardTab = 3, + AcceptsGamepadEvents = 4, + ShowGamepadFocus = 5, + SendVRScrollEvents = 6, + SendVRTouchpadEvents = 7, + ShowTouchPadScrollWheel = 8, + TransferOwnershipToInternalProcess = 9, + SideBySide_Parallel = 10, + SideBySide_Crossed = 11, + Panorama = 12, + StereoPanorama = 13, +} +public enum EGamepadTextInputMode +{ + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1, + k_EGamepadTextInputModeSubmit = 2, +} +public enum EGamepadTextInputLineMode +{ + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1, +} +public enum EOverlayDirection +{ + Up = 0, + Down = 1, + Left = 2, + Right = 3, + Count = 4, +} +public enum EVRRenderModelError +{ + None = 0, + Loading = 100, + NotSupported = 200, + InvalidArg = 300, + InvalidModel = 301, + NoShapes = 302, + MultipleShapes = 303, + TooManyVertices = 304, + MultipleTextures = 305, + BufferTooSmall = 306, + NotEnoughNormals = 307, + NotEnoughTexCoords = 308, + InvalidTexture = 400, +} +public enum EVRComponentProperty +{ + IsStatic = 1, + IsVisible = 2, + IsTouched = 4, + IsPressed = 8, + IsScrolled = 16, +} +public enum EVRNotificationType +{ + Transient = 0, + Persistent = 1, + Transient_SystemWithUserValue = 2, +} +public enum EVRNotificationStyle +{ + None = 0, + Application = 100, + Contact_Disabled = 200, + Contact_Enabled = 201, + Contact_Active = 202, +} +public enum EVRSettingsError +{ + None = 0, + IPCFailed = 1, + WriteFailed = 2, + ReadFailed = 3, +} +public enum EVRScreenshotError +{ + None = 0, + RequestFailed = 1, + IncompatibleVersion = 100, + NotFound = 101, + BufferTooSmall = 102, + ScreenshotAlreadyInProgress = 108, +} + +[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t +{ + [FieldOffset(0)] public VREvent_Reserved_t reserved; + [FieldOffset(0)] public VREvent_Controller_t controller; + [FieldOffset(0)] public VREvent_Mouse_t mouse; + [FieldOffset(0)] public VREvent_Scroll_t scroll; + [FieldOffset(0)] public VREvent_Process_t process; + [FieldOffset(0)] public VREvent_Notification_t notification; + [FieldOffset(0)] public VREvent_Overlay_t overlay; + [FieldOffset(0)] public VREvent_Status_t status; + [FieldOffset(0)] public VREvent_Ipd_t ipd; + [FieldOffset(0)] public VREvent_Chaperone_t chaperone; + [FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest; + [FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove; + [FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; + [FieldOffset(0)] public VREvent_Screenshot_t screenshot; + [FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug +} + +[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t +{ + public float m0; //float[3][4] + public float m1; + public float m2; + public float m3; + public float m4; + public float m5; + public float m6; + public float m7; + public float m8; + public float m9; + public float m10; + public float m11; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix44_t +{ + public float m0; //float[4][4] + public float m1; + public float m2; + public float m3; + public float m4; + public float m5; + public float m6; + public float m7; + public float m8; + public float m9; + public float m10; + public float m11; + public float m12; + public float m13; + public float m14; + public float m15; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdVector3_t +{ + public float v0; //float[3] + public float v1; + public float v2; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdVector4_t +{ + public float v0; //float[4] + public float v1; + public float v2; + public float v3; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdVector3d_t +{ + public double v0; //double[3] + public double v1; + public double v2; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdVector2_t +{ + public float v0; //float[2] + public float v1; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdQuaternion_t +{ + public double w; + public double x; + public double y; + public double z; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdColor_t +{ + public float r; + public float g; + public float b; + public float a; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdQuad_t +{ + public HmdVector3_t vCorners0; //HmdVector3_t[4] + public HmdVector3_t vCorners1; + public HmdVector3_t vCorners2; + public HmdVector3_t vCorners3; +} +[StructLayout(LayoutKind.Sequential)] public struct HmdRect2_t +{ + public HmdVector2_t vTopLeft; + public HmdVector2_t vBottomRight; +} +[StructLayout(LayoutKind.Sequential)] public struct DistortionCoordinates_t +{ + public float rfRed0; //float[2] + public float rfRed1; + public float rfGreen0; //float[2] + public float rfGreen1; + public float rfBlue0; //float[2] + public float rfBlue1; +} +[StructLayout(LayoutKind.Sequential)] public struct Texture_t +{ + public IntPtr handle; // void * + public EGraphicsAPIConvention eType; + public EColorSpace eColorSpace; +} +[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t +{ + public HmdMatrix34_t mDeviceToAbsoluteTracking; + public HmdVector3_t vVelocity; + public HmdVector3_t vAngularVelocity; + public ETrackingResult eTrackingResult; + [MarshalAs(UnmanagedType.I1)] + public bool bPoseIsValid; + [MarshalAs(UnmanagedType.I1)] + public bool bDeviceIsConnected; +} +[StructLayout(LayoutKind.Sequential)] public struct VRTextureBounds_t +{ + public float uMin; + public float vMin; + public float uMax; + public float vMax; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t +{ + public uint button; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Mouse_t +{ + public float x; + public float y; + public uint button; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Scroll_t +{ + public float xdelta; + public float ydelta; + public uint repeatCount; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_TouchPadMove_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool bFingerDown; + public float flSecondsFingerDown; + public float fValueXFirst; + public float fValueYFirst; + public float fValueXRaw; + public float fValueYRaw; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Notification_t +{ + public ulong ulUserValue; + public uint notificationId; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Process_t +{ + public uint pid; + public uint oldPid; + [MarshalAs(UnmanagedType.I1)] + public bool bForced; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Overlay_t +{ + public ulong overlayHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Status_t +{ + public uint statusState; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Keyboard_t +{ + public byte cNewInput0,cNewInput1,cNewInput2,cNewInput3,cNewInput4,cNewInput5,cNewInput6,cNewInput7; + public ulong uUserValue; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Ipd_t +{ + public float ipdMeters; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Chaperone_t +{ + public ulong m_nPreviousUniverse; + public ulong m_nCurrentUniverse; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Reserved_t +{ + public ulong reserved0; + public ulong reserved1; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_PerformanceTest_t +{ + public uint m_nFidelityLevel; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_SeatedZeroPoseReset_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool bResetBySystemMenu; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t +{ + public uint handle; + public uint type; +} +[StructLayout(LayoutKind.Sequential)] public struct VREvent_t +{ + public uint eventType; + public uint trackedDeviceIndex; + public float eventAgeSeconds; + public VREvent_Data_t data; +} +[StructLayout(LayoutKind.Sequential)] public struct HiddenAreaMesh_t +{ + public IntPtr pVertexData; // const struct vr::HmdVector2_t * + public uint unTriangleCount; +} +[StructLayout(LayoutKind.Sequential)] public struct VRControllerAxis_t +{ + public float x; + public float y; +} +[StructLayout(LayoutKind.Sequential)] public struct VRControllerState_t +{ + public uint unPacketNum; + public ulong ulButtonPressed; + public ulong ulButtonTouched; + public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5] + public VRControllerAxis_t rAxis1; + public VRControllerAxis_t rAxis2; + public VRControllerAxis_t rAxis3; + public VRControllerAxis_t rAxis4; +} +[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings +{ + public uint size; + [MarshalAs(UnmanagedType.I1)] + public bool curved; + [MarshalAs(UnmanagedType.I1)] + public bool antialias; + public float scale; + public float distance; + public float alpha; + public float uOffset; + public float vOffset; + public float uScale; + public float vScale; + public float gridDivs; + public float gridWidth; + public float gridScale; + public HmdMatrix44_t transform; +} +[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t +{ + public EVRTrackedCameraFrameType eFrameType; + public uint nWidth; + public uint nHeight; + public uint nBytesPerPixel; + public uint nFrameSequence; + public TrackedDevicePose_t standingTrackedDevicePose; +} +[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t +{ + public IntPtr pchKey; // const char * + public IntPtr pchValue; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct Compositor_FrameTiming +{ + public uint m_nSize; + public uint m_nFrameIndex; + public uint m_nNumFramePresents; + public uint m_nNumDroppedFrames; + public double m_flSystemTimeInSeconds; + public float m_flSceneRenderGpuMs; + public float m_flTotalRenderGpuMs; + public float m_flCompositorRenderGpuMs; + public float m_flCompositorRenderCpuMs; + public float m_flCompositorIdleCpuMs; + public float m_flClientFrameIntervalMs; + public float m_flPresentCallCpuMs; + public float m_flWaitForPresentCpuMs; + public float m_flSubmitFrameMs; + public float m_flWaitGetPosesCalledMs; + public float m_flNewPosesReadyMs; + public float m_flNewFrameReadyMs; + public float m_flCompositorUpdateStartMs; + public float m_flCompositorUpdateEndMs; + public float m_flCompositorRenderStartMs; + public TrackedDevicePose_t m_HmdPose; + public int m_nFidelityLevel; + public uint m_nReprojectionFlags; +} +[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats +{ + public uint m_nPid; + public uint m_nNumFramePresents; + public uint m_nNumDroppedFrames; + public uint m_nNumReprojectedFrames; + public uint m_nNumFramePresentsOnStartup; + public uint m_nNumDroppedFramesOnStartup; + public uint m_nNumReprojectedFramesOnStartup; + public uint m_nNumLoading; + public uint m_nNumFramePresentsLoading; + public uint m_nNumDroppedFramesLoading; + public uint m_nNumReprojectedFramesLoading; + public uint m_nNumTimedOut; + public uint m_nNumFramePresentsTimedOut; + public uint m_nNumDroppedFramesTimedOut; + public uint m_nNumReprojectedFramesTimedOut; +} +[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t +{ + public HmdVector3_t vSource; + public HmdVector3_t vDirection; + public ETrackingUniverseOrigin eOrigin; +} +[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionResults_t +{ + public HmdVector3_t vPoint; + public HmdVector3_t vNormal; + public HmdVector2_t vUVs; + public float fDistance; +} +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t +{ + public HmdMatrix34_t mTrackingToComponentRenderModel; + public HmdMatrix34_t mTrackingToComponentLocal; + public uint uProperties; +} +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_Vertex_t +{ + public HmdVector3_t vPosition; + public HmdVector3_t vNormal; + public float rfTextureCoord0; //float[2] + public float rfTextureCoord1; +} +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_TextureMap_t +{ + public char unWidth; + public char unHeight; + public IntPtr rubTextureMapData; // const uint8_t * +} +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t +{ + public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t * + public uint unVertexCount; + public IntPtr rIndexData; // const uint16_t * + public uint unTriangleCount; + public int diffuseTextureId; +} +[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool bScrollWheelVisible; +} +[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t +{ + public IntPtr m_pImageData; // void * + public int m_nWidth; + public int m_nHeight; + public int m_nBytesPerPixel; +} +[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext +{ + public IntPtr m_pVRSystem; // class vr::IVRSystem * + public IntPtr m_pVRChaperone; // class vr::IVRChaperone * + public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * + public IntPtr m_pVRCompositor; // class vr::IVRCompositor * + public IntPtr m_pVROverlay; // class vr::IVROverlay * + public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels * + public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * + public IntPtr m_pVRSettings; // class vr::IVRSettings * + public IntPtr m_pVRApplications; // class vr::IVRApplications * + public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera * + public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots * +} + +public class OpenVR +{ + + public static uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType) + { + return OpenVRInterop.InitInternal(ref peError, eApplicationType); + } + + public static void ShutdownInternal() + { + OpenVRInterop.ShutdownInternal(); + } + + public static bool IsHmdPresent() + { + return OpenVRInterop.IsHmdPresent(); + } + + public static bool IsRuntimeInstalled() + { + return OpenVRInterop.IsRuntimeInstalled(); + } + + public static string GetStringForHmdError(EVRInitError error) + { + return Marshal.PtrToStringAnsi(OpenVRInterop.GetStringForHmdError(error)); + } + + public static IntPtr GetGenericInterface(string pchInterfaceVersion, ref EVRInitError peError) + { + return OpenVRInterop.GetGenericInterface(pchInterfaceVersion, ref peError); + } + + public static bool IsInterfaceVersionValid(string pchInterfaceVersion) + { + return OpenVRInterop.IsInterfaceVersionValid(pchInterfaceVersion); + } + + public static uint GetInitToken() + { + return OpenVRInterop.GetInitToken(); + } + + public const uint k_unTrackingStringSize = 32; + public const uint k_unMaxDriverDebugResponseSize = 32768; + public const uint k_unTrackedDeviceIndex_Hmd = 0; + public const uint k_unMaxTrackedDeviceCount = 16; + public const uint k_unTrackedDeviceIndexOther = 4294967294; + public const uint k_unTrackedDeviceIndexInvalid = 4294967295; + public const uint k_unMaxPropertyStringSize = 32768; + public const uint k_unControllerStateAxisCount = 5; + public const ulong k_ulOverlayHandleInvalid = 0; + public const uint k_unScreenshotHandleInvalid = 0; + public const string IVRSystem_Version = "IVRSystem_012"; + public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; + public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003"; + public const uint k_unMaxApplicationKeyLength = 128; + public const string IVRApplications_Version = "IVRApplications_005"; + public const string IVRChaperone_Version = "IVRChaperone_003"; + public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; + public const string IVRCompositor_Version = "IVRCompositor_015"; + public const uint k_unVROverlayMaxKeyLength = 128; + public const uint k_unVROverlayMaxNameLength = 128; + public const uint k_unMaxOverlayCount = 32; + public const string IVROverlay_Version = "IVROverlay_012"; + public const string k_pch_Controller_Component_GDC2015 = "gdc2015"; + public const string k_pch_Controller_Component_Base = "base"; + public const string k_pch_Controller_Component_Tip = "tip"; + public const string k_pch_Controller_Component_HandGrip = "handgrip"; + public const string k_pch_Controller_Component_Status = "status"; + public const string IVRRenderModels_Version = "IVRRenderModels_005"; + public const uint k_unNotificationTextMaxSize = 256; + public const string IVRNotifications_Version = "IVRNotifications_002"; + public const uint k_unMaxSettingsKeyLength = 128; + public const string IVRSettings_Version = "IVRSettings_001"; + public const string k_pch_SteamVR_Section = "steamvr"; + public const string k_pch_SteamVR_RequireHmd_String = "requireHmd"; + public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; + public const string k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; + public const string k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; + public const string k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; + public const string k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; + public const string k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; + public const string k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; + public const string k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; + public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel"; + public const string k_pch_SteamVR_IPD_Float = "ipd"; + public const string k_pch_SteamVR_Background_String = "background"; + public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; + public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; + public const string k_pch_SteamVR_Environment_String = "environment"; + public const string k_pch_SteamVR_GridColor_String = "gridColor"; + public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; + public const string k_pch_SteamVR_ShowStage_Bool = "showStage"; + public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; + public const string k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; + public const string k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; + public const string k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; + public const string k_pch_SteamVR_DirectMode_Bool = "directMode"; + public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; + public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; + public const string k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; + public const string k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; + public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; + public const string k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; + public const string k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; + public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; + public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; + public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; + public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; + public const string k_pch_Lighthouse_Section = "driver_lighthouse"; + public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; + public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; + public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; + public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; + public const string k_pch_Lighthouse_LighthouseName_String = "lighthousename"; + public const string k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; + public const string k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; + public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; + public const string k_pch_Null_Section = "driver_null"; + public const string k_pch_Null_EnableNullDriver_Bool = "enable"; + public const string k_pch_Null_SerialNumber_String = "serialNumber"; + public const string k_pch_Null_ModelNumber_String = "modelNumber"; + public const string k_pch_Null_WindowX_Int32 = "windowX"; + public const string k_pch_Null_WindowY_Int32 = "windowY"; + public const string k_pch_Null_WindowWidth_Int32 = "windowWidth"; + public const string k_pch_Null_WindowHeight_Int32 = "windowHeight"; + public const string k_pch_Null_RenderWidth_Int32 = "renderWidth"; + public const string k_pch_Null_RenderHeight_Int32 = "renderHeight"; + public const string k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; + public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency"; + public const string k_pch_UserInterface_Section = "userinterface"; + public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; + public const string k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; + public const string k_pch_Notifications_Section = "notifications"; + public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; + public const string k_pch_Keyboard_Section = "keyboard"; + public const string k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; + public const string k_pch_Keyboard_ScaleX = "ScaleX"; + public const string k_pch_Keyboard_ScaleY = "ScaleY"; + public const string k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; + public const string k_pch_Keyboard_OffsetRightX = "OffsetRightX"; + public const string k_pch_Keyboard_OffsetY = "OffsetY"; + public const string k_pch_Keyboard_Smoothing = "Smoothing"; + public const string k_pch_Perf_Section = "perfcheck"; + public const string k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; + public const string k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; + public const string k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; + public const string k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; + public const string k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; + public const string k_pch_Perf_TestData_Float = "perfTestData"; + public const string k_pch_CollisionBounds_Section = "collisionBounds"; + public const string k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; + public const string k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; + public const string k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; + public const string k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; + public const string k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; + public const string k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; + public const string k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; + public const string k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; + public const string k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; + public const string k_pch_Camera_Section = "camera"; + public const string k_pch_Camera_EnableCamera_Bool = "enableCamera"; + public const string k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; + public const string k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; + public const string k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; + public const string k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; + public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; + public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; + public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; + public const string k_pch_audio_Section = "audio"; + public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; + public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice"; + public const string k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; + public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; + public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice"; + public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + public const string k_pch_modelskin_Section = "modelskins"; + public const string IVRScreenshots_Version = "IVRScreenshots_001"; + + static uint VRToken { get; set; } + + const string FnTable_Prefix = "FnTable:"; + + class COpenVRContext + { + public COpenVRContext() { Clear(); } + + public void Clear() + { + m_pVRSystem = null; + m_pVRChaperone = null; + m_pVRChaperoneSetup = null; + m_pVRCompositor = null; + m_pVROverlay = null; + m_pVRRenderModels = null; + m_pVRExtendedDisplay = null; + m_pVRSettings = null; + m_pVRApplications = null; + m_pVRScreenshots = null; + } + + void CheckClear() + { + if (VRToken != GetInitToken()) + { + Clear(); + VRToken = GetInitToken(); + } + } + + public CVRSystem VRSystem() + { + CheckClear(); + if (m_pVRSystem == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSystem_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRSystem = new CVRSystem(pInterface); + } + return m_pVRSystem; + } + + public CVRChaperone VRChaperone() + { + CheckClear(); + if (m_pVRChaperone == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperone_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRChaperone = new CVRChaperone(pInterface); + } + return m_pVRChaperone; + } + + public CVRChaperoneSetup VRChaperoneSetup() + { + CheckClear(); + if (m_pVRChaperoneSetup == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRChaperoneSetup_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRChaperoneSetup = new CVRChaperoneSetup(pInterface); + } + return m_pVRChaperoneSetup; + } + + public CVRCompositor VRCompositor() + { + CheckClear(); + if (m_pVRCompositor == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRCompositor_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRCompositor = new CVRCompositor(pInterface); + } + return m_pVRCompositor; + } + + public CVROverlay VROverlay() + { + CheckClear(); + if (m_pVROverlay == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVROverlay_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVROverlay = new CVROverlay(pInterface); + } + return m_pVROverlay; + } + + public CVRRenderModels VRRenderModels() + { + CheckClear(); + if (m_pVRRenderModels == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRRenderModels_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRRenderModels = new CVRRenderModels(pInterface); + } + return m_pVRRenderModels; + } + + public CVRExtendedDisplay VRExtendedDisplay() + { + CheckClear(); + if (m_pVRExtendedDisplay == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRExtendedDisplay_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRExtendedDisplay = new CVRExtendedDisplay(pInterface); + } + return m_pVRExtendedDisplay; + } + + public CVRSettings VRSettings() + { + CheckClear(); + if (m_pVRSettings == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRSettings_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRSettings = new CVRSettings(pInterface); + } + return m_pVRSettings; + } + + public CVRApplications VRApplications() + { + CheckClear(); + if (m_pVRApplications == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRApplications_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRApplications = new CVRApplications(pInterface); + } + return m_pVRApplications; + } + + public CVRScreenshots VRScreenshots() + { + CheckClear(); + if (m_pVRScreenshots == null) + { + var eError = EVRInitError.None; + var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError); + if (pInterface != IntPtr.Zero && eError == EVRInitError.None) + m_pVRScreenshots = new CVRScreenshots(pInterface); + } + return m_pVRScreenshots; + } + + private CVRSystem m_pVRSystem; + private CVRChaperone m_pVRChaperone; + private CVRChaperoneSetup m_pVRChaperoneSetup; + private CVRCompositor m_pVRCompositor; + private CVROverlay m_pVROverlay; + private CVRRenderModels m_pVRRenderModels; + private CVRExtendedDisplay m_pVRExtendedDisplay; + private CVRSettings m_pVRSettings; + private CVRApplications m_pVRApplications; + private CVRScreenshots m_pVRScreenshots; + }; + + private static COpenVRContext _OpenVRInternal_ModuleContext = null; + static COpenVRContext OpenVRInternal_ModuleContext + { + get + { + if (_OpenVRInternal_ModuleContext == null) + _OpenVRInternal_ModuleContext = new COpenVRContext(); + return _OpenVRInternal_ModuleContext; + } + } + + public static CVRSystem System { get { return OpenVRInternal_ModuleContext.VRSystem(); } } + public static CVRChaperone Chaperone { get { return OpenVRInternal_ModuleContext.VRChaperone(); } } + public static CVRChaperoneSetup ChaperoneSetup { get { return OpenVRInternal_ModuleContext.VRChaperoneSetup(); } } + public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } } + public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } } + public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } } + public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } } + public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } } + public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } } + public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } } + + /** Finds the active installation of vrclient.dll and initializes it */ + public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene) + { + VRToken = InitInternal(ref peError, eApplicationType); + OpenVRInternal_ModuleContext.Clear(); + + if (peError != EVRInitError.None) + return null; + + bool bInterfaceValid = IsInterfaceVersionValid(IVRSystem_Version); + if (!bInterfaceValid) + { + ShutdownInternal(); + peError = EVRInitError.Init_InterfaceNotFound; + return null; + } + + return OpenVR.System; + } + + /** unloads vrclient.dll. Any interface pointers from the interface are + * invalid after this point */ + public static void Shutdown() + { + ShutdownInternal(); + } + +} + + + +} + diff --git a/examples/ThirdPartyLibs/openvr/headers/openvr_api.json b/examples/ThirdPartyLibs/openvr/headers/openvr_api.json new file mode 100644 index 000000000..c72b2c415 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/headers/openvr_api.json @@ -0,0 +1,3347 @@ +{"typedefs":[{"typedef": "vr::glSharedTextureHandle_t","type": "void *"} +,{"typedef": "vr::glInt_t","type": "int32_t"} +,{"typedef": "vr::glUInt_t","type": "uint32_t"} +,{"typedef": "vr::TrackedDeviceIndex_t","type": "uint32_t"} +,{"typedef": "vr::VREvent_Data_t","type": "union VREvent_Data_t"} +,{"typedef": "vr::VRControllerState_t","type": "struct vr::VRControllerState001_t"} +,{"typedef": "vr::VROverlayHandle_t","type": "uint64_t"} +,{"typedef": "vr::TrackedCameraHandle_t","type": "uint64_t"} +,{"typedef": "vr::ScreenshotHandle_t","type": "uint32_t"} +,{"typedef": "vr::VRComponentProperties","type": "uint32_t"} +,{"typedef": "vr::TextureID_t","type": "int32_t"} +,{"typedef": "vr::VRNotificationId","type": "uint32_t"} +,{"typedef": "vr::HmdError","type": "enum vr::EVRInitError"} +,{"typedef": "vr::Hmd_Eye","type": "enum vr::EVREye"} +,{"typedef": "vr::GraphicsAPIConvention","type": "enum vr::EGraphicsAPIConvention"} +,{"typedef": "vr::ColorSpace","type": "enum vr::EColorSpace"} +,{"typedef": "vr::HmdTrackingResult","type": "enum vr::ETrackingResult"} +,{"typedef": "vr::TrackedDeviceClass","type": "enum vr::ETrackedDeviceClass"} +,{"typedef": "vr::TrackingUniverseOrigin","type": "enum vr::ETrackingUniverseOrigin"} +,{"typedef": "vr::TrackedDeviceProperty","type": "enum vr::ETrackedDeviceProperty"} +,{"typedef": "vr::TrackedPropertyError","type": "enum vr::ETrackedPropertyError"} +,{"typedef": "vr::VRSubmitFlags_t","type": "enum vr::EVRSubmitFlags"} +,{"typedef": "vr::VRState_t","type": "enum vr::EVRState"} +,{"typedef": "vr::CollisionBoundsStyle_t","type": "enum vr::ECollisionBoundsStyle"} +,{"typedef": "vr::VROverlayError","type": "enum vr::EVROverlayError"} +,{"typedef": "vr::VRFirmwareError","type": "enum vr::EVRFirmwareError"} +,{"typedef": "vr::VRCompositorError","type": "enum vr::EVRCompositorError"} +,{"typedef": "vr::VRScreenshotsError","type": "enum vr::EVRScreenshotError"} +], +"enums":[ + {"enumname": "vr::EVREye","values": [ + {"name": "Eye_Left","value": "0"} + ,{"name": "Eye_Right","value": "1"} +]} +, {"enumname": "vr::EGraphicsAPIConvention","values": [ + {"name": "API_DirectX","value": "0"} + ,{"name": "API_OpenGL","value": "1"} +]} +, {"enumname": "vr::EColorSpace","values": [ + {"name": "ColorSpace_Auto","value": "0"} + ,{"name": "ColorSpace_Gamma","value": "1"} + ,{"name": "ColorSpace_Linear","value": "2"} +]} +, {"enumname": "vr::ETrackingResult","values": [ + {"name": "TrackingResult_Uninitialized","value": "1"} + ,{"name": "TrackingResult_Calibrating_InProgress","value": "100"} + ,{"name": "TrackingResult_Calibrating_OutOfRange","value": "101"} + ,{"name": "TrackingResult_Running_OK","value": "200"} + ,{"name": "TrackingResult_Running_OutOfRange","value": "201"} +]} +, {"enumname": "vr::ETrackedDeviceClass","values": [ + {"name": "TrackedDeviceClass_Invalid","value": "0"} + ,{"name": "TrackedDeviceClass_HMD","value": "1"} + ,{"name": "TrackedDeviceClass_Controller","value": "2"} + ,{"name": "TrackedDeviceClass_TrackingReference","value": "4"} + ,{"name": "TrackedDeviceClass_Other","value": "1000"} +]} +, {"enumname": "vr::ETrackedControllerRole","values": [ + {"name": "TrackedControllerRole_Invalid","value": "0"} + ,{"name": "TrackedControllerRole_LeftHand","value": "1"} + ,{"name": "TrackedControllerRole_RightHand","value": "2"} +]} +, {"enumname": "vr::ETrackingUniverseOrigin","values": [ + {"name": "TrackingUniverseSeated","value": "0"} + ,{"name": "TrackingUniverseStanding","value": "1"} + ,{"name": "TrackingUniverseRawAndUncalibrated","value": "2"} +]} +, {"enumname": "vr::ETrackedDeviceProperty","values": [ + {"name": "Prop_TrackingSystemName_String","value": "1000"} + ,{"name": "Prop_ModelNumber_String","value": "1001"} + ,{"name": "Prop_SerialNumber_String","value": "1002"} + ,{"name": "Prop_RenderModelName_String","value": "1003"} + ,{"name": "Prop_WillDriftInYaw_Bool","value": "1004"} + ,{"name": "Prop_ManufacturerName_String","value": "1005"} + ,{"name": "Prop_TrackingFirmwareVersion_String","value": "1006"} + ,{"name": "Prop_HardwareRevision_String","value": "1007"} + ,{"name": "Prop_AllWirelessDongleDescriptions_String","value": "1008"} + ,{"name": "Prop_ConnectedWirelessDongle_String","value": "1009"} + ,{"name": "Prop_DeviceIsWireless_Bool","value": "1010"} + ,{"name": "Prop_DeviceIsCharging_Bool","value": "1011"} + ,{"name": "Prop_DeviceBatteryPercentage_Float","value": "1012"} + ,{"name": "Prop_StatusDisplayTransform_Matrix34","value": "1013"} + ,{"name": "Prop_Firmware_UpdateAvailable_Bool","value": "1014"} + ,{"name": "Prop_Firmware_ManualUpdate_Bool","value": "1015"} + ,{"name": "Prop_Firmware_ManualUpdateURL_String","value": "1016"} + ,{"name": "Prop_HardwareRevision_Uint64","value": "1017"} + ,{"name": "Prop_FirmwareVersion_Uint64","value": "1018"} + ,{"name": "Prop_FPGAVersion_Uint64","value": "1019"} + ,{"name": "Prop_VRCVersion_Uint64","value": "1020"} + ,{"name": "Prop_RadioVersion_Uint64","value": "1021"} + ,{"name": "Prop_DongleVersion_Uint64","value": "1022"} + ,{"name": "Prop_BlockServerShutdown_Bool","value": "1023"} + ,{"name": "Prop_CanUnifyCoordinateSystemWithHmd_Bool","value": "1024"} + ,{"name": "Prop_ContainsProximitySensor_Bool","value": "1025"} + ,{"name": "Prop_DeviceProvidesBatteryStatus_Bool","value": "1026"} + ,{"name": "Prop_DeviceCanPowerOff_Bool","value": "1027"} + ,{"name": "Prop_Firmware_ProgrammingTarget_String","value": "1028"} + ,{"name": "Prop_DeviceClass_Int32","value": "1029"} + ,{"name": "Prop_HasCamera_Bool","value": "1030"} + ,{"name": "Prop_DriverVersion_String","value": "1031"} + ,{"name": "Prop_Firmware_ForceUpdateRequired_Bool","value": "1032"} + ,{"name": "Prop_ReportsTimeSinceVSync_Bool","value": "2000"} + ,{"name": "Prop_SecondsFromVsyncToPhotons_Float","value": "2001"} + ,{"name": "Prop_DisplayFrequency_Float","value": "2002"} + ,{"name": "Prop_UserIpdMeters_Float","value": "2003"} + ,{"name": "Prop_CurrentUniverseId_Uint64","value": "2004"} + ,{"name": "Prop_PreviousUniverseId_Uint64","value": "2005"} + ,{"name": "Prop_DisplayFirmwareVersion_Uint64","value": "2006"} + ,{"name": "Prop_IsOnDesktop_Bool","value": "2007"} + ,{"name": "Prop_DisplayMCType_Int32","value": "2008"} + ,{"name": "Prop_DisplayMCOffset_Float","value": "2009"} + ,{"name": "Prop_DisplayMCScale_Float","value": "2010"} + ,{"name": "Prop_EdidVendorID_Int32","value": "2011"} + ,{"name": "Prop_DisplayMCImageLeft_String","value": "2012"} + ,{"name": "Prop_DisplayMCImageRight_String","value": "2013"} + ,{"name": "Prop_DisplayGCBlackClamp_Float","value": "2014"} + ,{"name": "Prop_EdidProductID_Int32","value": "2015"} + ,{"name": "Prop_CameraToHeadTransform_Matrix34","value": "2016"} + ,{"name": "Prop_DisplayGCType_Int32","value": "2017"} + ,{"name": "Prop_DisplayGCOffset_Float","value": "2018"} + ,{"name": "Prop_DisplayGCScale_Float","value": "2019"} + ,{"name": "Prop_DisplayGCPrescale_Float","value": "2020"} + ,{"name": "Prop_DisplayGCImage_String","value": "2021"} + ,{"name": "Prop_LensCenterLeftU_Float","value": "2022"} + ,{"name": "Prop_LensCenterLeftV_Float","value": "2023"} + ,{"name": "Prop_LensCenterRightU_Float","value": "2024"} + ,{"name": "Prop_LensCenterRightV_Float","value": "2025"} + ,{"name": "Prop_UserHeadToEyeDepthMeters_Float","value": "2026"} + ,{"name": "Prop_CameraFirmwareVersion_Uint64","value": "2027"} + ,{"name": "Prop_CameraFirmwareDescription_String","value": "2028"} + ,{"name": "Prop_DisplayFPGAVersion_Uint64","value": "2029"} + ,{"name": "Prop_DisplayBootloaderVersion_Uint64","value": "2030"} + ,{"name": "Prop_DisplayHardwareVersion_Uint64","value": "2031"} + ,{"name": "Prop_AudioFirmwareVersion_Uint64","value": "2032"} + ,{"name": "Prop_CameraCompatibilityMode_Int32","value": "2033"} + ,{"name": "Prop_ScreenshotHorizontalFieldOfViewDegrees_Float","value": "2034"} + ,{"name": "Prop_ScreenshotVerticalFieldOfViewDegrees_Float","value": "2035"} + ,{"name": "Prop_DisplaySuppressed_Bool","value": "2036"} + ,{"name": "Prop_AttachedDeviceId_String","value": "3000"} + ,{"name": "Prop_SupportedButtons_Uint64","value": "3001"} + ,{"name": "Prop_Axis0Type_Int32","value": "3002"} + ,{"name": "Prop_Axis1Type_Int32","value": "3003"} + ,{"name": "Prop_Axis2Type_Int32","value": "3004"} + ,{"name": "Prop_Axis3Type_Int32","value": "3005"} + ,{"name": "Prop_Axis4Type_Int32","value": "3006"} + ,{"name": "Prop_FieldOfViewLeftDegrees_Float","value": "4000"} + ,{"name": "Prop_FieldOfViewRightDegrees_Float","value": "4001"} + ,{"name": "Prop_FieldOfViewTopDegrees_Float","value": "4002"} + ,{"name": "Prop_FieldOfViewBottomDegrees_Float","value": "4003"} + ,{"name": "Prop_TrackingRangeMinimumMeters_Float","value": "4004"} + ,{"name": "Prop_TrackingRangeMaximumMeters_Float","value": "4005"} + ,{"name": "Prop_ModeLabel_String","value": "4006"} + ,{"name": "Prop_VendorSpecific_Reserved_Start","value": "10000"} + ,{"name": "Prop_VendorSpecific_Reserved_End","value": "10999"} +]} +, {"enumname": "vr::ETrackedPropertyError","values": [ + {"name": "TrackedProp_Success","value": "0"} + ,{"name": "TrackedProp_WrongDataType","value": "1"} + ,{"name": "TrackedProp_WrongDeviceClass","value": "2"} + ,{"name": "TrackedProp_BufferTooSmall","value": "3"} + ,{"name": "TrackedProp_UnknownProperty","value": "4"} + ,{"name": "TrackedProp_InvalidDevice","value": "5"} + ,{"name": "TrackedProp_CouldNotContactServer","value": "6"} + ,{"name": "TrackedProp_ValueNotProvidedByDevice","value": "7"} + ,{"name": "TrackedProp_StringExceedsMaximumLength","value": "8"} + ,{"name": "TrackedProp_NotYetAvailable","value": "9"} +]} +, {"enumname": "vr::EVRSubmitFlags","values": [ + {"name": "Submit_Default","value": "0"} + ,{"name": "Submit_LensDistortionAlreadyApplied","value": "1"} + ,{"name": "Submit_GlRenderBuffer","value": "2"} +]} +, {"enumname": "vr::EVRState","values": [ + {"name": "VRState_Undefined","value": "-1"} + ,{"name": "VRState_Off","value": "0"} + ,{"name": "VRState_Searching","value": "1"} + ,{"name": "VRState_Searching_Alert","value": "2"} + ,{"name": "VRState_Ready","value": "3"} + ,{"name": "VRState_Ready_Alert","value": "4"} + ,{"name": "VRState_NotReady","value": "5"} + ,{"name": "VRState_Standby","value": "6"} +]} +, {"enumname": "vr::EVREventType","values": [ + {"name": "VREvent_None","value": "0"} + ,{"name": "VREvent_TrackedDeviceActivated","value": "100"} + ,{"name": "VREvent_TrackedDeviceDeactivated","value": "101"} + ,{"name": "VREvent_TrackedDeviceUpdated","value": "102"} + ,{"name": "VREvent_TrackedDeviceUserInteractionStarted","value": "103"} + ,{"name": "VREvent_TrackedDeviceUserInteractionEnded","value": "104"} + ,{"name": "VREvent_IpdChanged","value": "105"} + ,{"name": "VREvent_EnterStandbyMode","value": "106"} + ,{"name": "VREvent_LeaveStandbyMode","value": "107"} + ,{"name": "VREvent_TrackedDeviceRoleChanged","value": "108"} + ,{"name": "VREvent_ButtonPress","value": "200"} + ,{"name": "VREvent_ButtonUnpress","value": "201"} + ,{"name": "VREvent_ButtonTouch","value": "202"} + ,{"name": "VREvent_ButtonUntouch","value": "203"} + ,{"name": "VREvent_MouseMove","value": "300"} + ,{"name": "VREvent_MouseButtonDown","value": "301"} + ,{"name": "VREvent_MouseButtonUp","value": "302"} + ,{"name": "VREvent_FocusEnter","value": "303"} + ,{"name": "VREvent_FocusLeave","value": "304"} + ,{"name": "VREvent_Scroll","value": "305"} + ,{"name": "VREvent_TouchPadMove","value": "306"} + ,{"name": "VREvent_InputFocusCaptured","value": "400"} + ,{"name": "VREvent_InputFocusReleased","value": "401"} + ,{"name": "VREvent_SceneFocusLost","value": "402"} + ,{"name": "VREvent_SceneFocusGained","value": "403"} + ,{"name": "VREvent_SceneApplicationChanged","value": "404"} + ,{"name": "VREvent_SceneFocusChanged","value": "405"} + ,{"name": "VREvent_InputFocusChanged","value": "406"} + ,{"name": "VREvent_SceneApplicationSecondaryRenderingStarted","value": "407"} + ,{"name": "VREvent_HideRenderModels","value": "410"} + ,{"name": "VREvent_ShowRenderModels","value": "411"} + ,{"name": "VREvent_OverlayShown","value": "500"} + ,{"name": "VREvent_OverlayHidden","value": "501"} + ,{"name": "VREvent_DashboardActivated","value": "502"} + ,{"name": "VREvent_DashboardDeactivated","value": "503"} + ,{"name": "VREvent_DashboardThumbSelected","value": "504"} + ,{"name": "VREvent_DashboardRequested","value": "505"} + ,{"name": "VREvent_ResetDashboard","value": "506"} + ,{"name": "VREvent_RenderToast","value": "507"} + ,{"name": "VREvent_ImageLoaded","value": "508"} + ,{"name": "VREvent_ShowKeyboard","value": "509"} + ,{"name": "VREvent_HideKeyboard","value": "510"} + ,{"name": "VREvent_OverlayGamepadFocusGained","value": "511"} + ,{"name": "VREvent_OverlayGamepadFocusLost","value": "512"} + ,{"name": "VREvent_OverlaySharedTextureChanged","value": "513"} + ,{"name": "VREvent_DashboardGuideButtonDown","value": "514"} + ,{"name": "VREvent_DashboardGuideButtonUp","value": "515"} + ,{"name": "VREvent_ScreenshotTriggered","value": "516"} + ,{"name": "VREvent_ImageFailed","value": "517"} + ,{"name": "VREvent_RequestScreenshot","value": "520"} + ,{"name": "VREvent_ScreenshotTaken","value": "521"} + ,{"name": "VREvent_ScreenshotFailed","value": "522"} + ,{"name": "VREvent_SubmitScreenshotToDashboard","value": "523"} + ,{"name": "VREvent_Notification_Shown","value": "600"} + ,{"name": "VREvent_Notification_Hidden","value": "601"} + ,{"name": "VREvent_Notification_BeginInteraction","value": "602"} + ,{"name": "VREvent_Notification_Destroyed","value": "603"} + ,{"name": "VREvent_Quit","value": "700"} + ,{"name": "VREvent_ProcessQuit","value": "701"} + ,{"name": "VREvent_QuitAborted_UserPrompt","value": "702"} + ,{"name": "VREvent_QuitAcknowledged","value": "703"} + ,{"name": "VREvent_DriverRequestedQuit","value": "704"} + ,{"name": "VREvent_ChaperoneDataHasChanged","value": "800"} + ,{"name": "VREvent_ChaperoneUniverseHasChanged","value": "801"} + ,{"name": "VREvent_ChaperoneTempDataHasChanged","value": "802"} + ,{"name": "VREvent_ChaperoneSettingsHaveChanged","value": "803"} + ,{"name": "VREvent_SeatedZeroPoseReset","value": "804"} + ,{"name": "VREvent_AudioSettingsHaveChanged","value": "820"} + ,{"name": "VREvent_BackgroundSettingHasChanged","value": "850"} + ,{"name": "VREvent_CameraSettingsHaveChanged","value": "851"} + ,{"name": "VREvent_ReprojectionSettingHasChanged","value": "852"} + ,{"name": "VREvent_ModelSkinSettingsHaveChanged","value": "853"} + ,{"name": "VREvent_EnvironmentSettingsHaveChanged","value": "854"} + ,{"name": "VREvent_StatusUpdate","value": "900"} + ,{"name": "VREvent_MCImageUpdated","value": "1000"} + ,{"name": "VREvent_FirmwareUpdateStarted","value": "1100"} + ,{"name": "VREvent_FirmwareUpdateFinished","value": "1101"} + ,{"name": "VREvent_KeyboardClosed","value": "1200"} + ,{"name": "VREvent_KeyboardCharInput","value": "1201"} + ,{"name": "VREvent_KeyboardDone","value": "1202"} + ,{"name": "VREvent_ApplicationTransitionStarted","value": "1300"} + ,{"name": "VREvent_ApplicationTransitionAborted","value": "1301"} + ,{"name": "VREvent_ApplicationTransitionNewAppStarted","value": "1302"} + ,{"name": "VREvent_ApplicationListUpdated","value": "1303"} + ,{"name": "VREvent_Compositor_MirrorWindowShown","value": "1400"} + ,{"name": "VREvent_Compositor_MirrorWindowHidden","value": "1401"} + ,{"name": "VREvent_Compositor_ChaperoneBoundsShown","value": "1410"} + ,{"name": "VREvent_Compositor_ChaperoneBoundsHidden","value": "1411"} + ,{"name": "VREvent_TrackedCamera_StartVideoStream","value": "1500"} + ,{"name": "VREvent_TrackedCamera_StopVideoStream","value": "1501"} + ,{"name": "VREvent_TrackedCamera_PauseVideoStream","value": "1502"} + ,{"name": "VREvent_TrackedCamera_ResumeVideoStream","value": "1503"} + ,{"name": "VREvent_PerformanceTest_EnableCapture","value": "1600"} + ,{"name": "VREvent_PerformanceTest_DisableCapture","value": "1601"} + ,{"name": "VREvent_PerformanceTest_FidelityLevel","value": "1602"} + ,{"name": "VREvent_VendorSpecific_Reserved_Start","value": "10000"} + ,{"name": "VREvent_VendorSpecific_Reserved_End","value": "19999"} +]} +, {"enumname": "vr::EDeviceActivityLevel","values": [ + {"name": "k_EDeviceActivityLevel_Unknown","value": "-1"} + ,{"name": "k_EDeviceActivityLevel_Idle","value": "0"} + ,{"name": "k_EDeviceActivityLevel_UserInteraction","value": "1"} + ,{"name": "k_EDeviceActivityLevel_UserInteraction_Timeout","value": "2"} + ,{"name": "k_EDeviceActivityLevel_Standby","value": "3"} +]} +, {"enumname": "vr::EVRButtonId","values": [ + {"name": "k_EButton_System","value": "0"} + ,{"name": "k_EButton_ApplicationMenu","value": "1"} + ,{"name": "k_EButton_Grip","value": "2"} + ,{"name": "k_EButton_DPad_Left","value": "3"} + ,{"name": "k_EButton_DPad_Up","value": "4"} + ,{"name": "k_EButton_DPad_Right","value": "5"} + ,{"name": "k_EButton_DPad_Down","value": "6"} + ,{"name": "k_EButton_A","value": "7"} + ,{"name": "k_EButton_Axis0","value": "32"} + ,{"name": "k_EButton_Axis1","value": "33"} + ,{"name": "k_EButton_Axis2","value": "34"} + ,{"name": "k_EButton_Axis3","value": "35"} + ,{"name": "k_EButton_Axis4","value": "36"} + ,{"name": "k_EButton_SteamVR_Touchpad","value": "32"} + ,{"name": "k_EButton_SteamVR_Trigger","value": "33"} + ,{"name": "k_EButton_Dashboard_Back","value": "2"} + ,{"name": "k_EButton_Max","value": "64"} +]} +, {"enumname": "vr::EVRMouseButton","values": [ + {"name": "VRMouseButton_Left","value": "1"} + ,{"name": "VRMouseButton_Right","value": "2"} + ,{"name": "VRMouseButton_Middle","value": "4"} +]} +, {"enumname": "vr::EVRControllerAxisType","values": [ + {"name": "k_eControllerAxis_None","value": "0"} + ,{"name": "k_eControllerAxis_TrackPad","value": "1"} + ,{"name": "k_eControllerAxis_Joystick","value": "2"} + ,{"name": "k_eControllerAxis_Trigger","value": "3"} +]} +, {"enumname": "vr::EVRControllerEventOutputType","values": [ + {"name": "ControllerEventOutput_OSEvents","value": "0"} + ,{"name": "ControllerEventOutput_VREvents","value": "1"} +]} +, {"enumname": "vr::ECollisionBoundsStyle","values": [ + {"name": "COLLISION_BOUNDS_STYLE_BEGINNER","value": "0"} + ,{"name": "COLLISION_BOUNDS_STYLE_INTERMEDIATE","value": "1"} + ,{"name": "COLLISION_BOUNDS_STYLE_SQUARES","value": "2"} + ,{"name": "COLLISION_BOUNDS_STYLE_ADVANCED","value": "3"} + ,{"name": "COLLISION_BOUNDS_STYLE_NONE","value": "4"} + ,{"name": "COLLISION_BOUNDS_STYLE_COUNT","value": "5"} +]} +, {"enumname": "vr::EVROverlayError","values": [ + {"name": "VROverlayError_None","value": "0"} + ,{"name": "VROverlayError_UnknownOverlay","value": "10"} + ,{"name": "VROverlayError_InvalidHandle","value": "11"} + ,{"name": "VROverlayError_PermissionDenied","value": "12"} + ,{"name": "VROverlayError_OverlayLimitExceeded","value": "13"} + ,{"name": "VROverlayError_WrongVisibilityType","value": "14"} + ,{"name": "VROverlayError_KeyTooLong","value": "15"} + ,{"name": "VROverlayError_NameTooLong","value": "16"} + ,{"name": "VROverlayError_KeyInUse","value": "17"} + ,{"name": "VROverlayError_WrongTransformType","value": "18"} + ,{"name": "VROverlayError_InvalidTrackedDevice","value": "19"} + ,{"name": "VROverlayError_InvalidParameter","value": "20"} + ,{"name": "VROverlayError_ThumbnailCantBeDestroyed","value": "21"} + ,{"name": "VROverlayError_ArrayTooSmall","value": "22"} + ,{"name": "VROverlayError_RequestFailed","value": "23"} + ,{"name": "VROverlayError_InvalidTexture","value": "24"} + ,{"name": "VROverlayError_UnableToLoadFile","value": "25"} + ,{"name": "VROVerlayError_KeyboardAlreadyInUse","value": "26"} + ,{"name": "VROverlayError_NoNeighbor","value": "27"} +]} +, {"enumname": "vr::EVRApplicationType","values": [ + {"name": "VRApplication_Other","value": "0"} + ,{"name": "VRApplication_Scene","value": "1"} + ,{"name": "VRApplication_Overlay","value": "2"} + ,{"name": "VRApplication_Background","value": "3"} + ,{"name": "VRApplication_Utility","value": "4"} + ,{"name": "VRApplication_VRMonitor","value": "5"} +]} +, {"enumname": "vr::EVRFirmwareError","values": [ + {"name": "VRFirmwareError_None","value": "0"} + ,{"name": "VRFirmwareError_Success","value": "1"} + ,{"name": "VRFirmwareError_Fail","value": "2"} +]} +, {"enumname": "vr::EVRNotificationError","values": [ + {"name": "VRNotificationError_OK","value": "0"} + ,{"name": "VRNotificationError_InvalidNotificationId","value": "100"} + ,{"name": "VRNotificationError_NotificationQueueFull","value": "101"} + ,{"name": "VRNotificationError_InvalidOverlayHandle","value": "102"} + ,{"name": "VRNotificationError_SystemWithUserValueAlreadyExists","value": "103"} +]} +, {"enumname": "vr::EVRInitError","values": [ + {"name": "VRInitError_None","value": "0"} + ,{"name": "VRInitError_Unknown","value": "1"} + ,{"name": "VRInitError_Init_InstallationNotFound","value": "100"} + ,{"name": "VRInitError_Init_InstallationCorrupt","value": "101"} + ,{"name": "VRInitError_Init_VRClientDLLNotFound","value": "102"} + ,{"name": "VRInitError_Init_FileNotFound","value": "103"} + ,{"name": "VRInitError_Init_FactoryNotFound","value": "104"} + ,{"name": "VRInitError_Init_InterfaceNotFound","value": "105"} + ,{"name": "VRInitError_Init_InvalidInterface","value": "106"} + ,{"name": "VRInitError_Init_UserConfigDirectoryInvalid","value": "107"} + ,{"name": "VRInitError_Init_HmdNotFound","value": "108"} + ,{"name": "VRInitError_Init_NotInitialized","value": "109"} + ,{"name": "VRInitError_Init_PathRegistryNotFound","value": "110"} + ,{"name": "VRInitError_Init_NoConfigPath","value": "111"} + ,{"name": "VRInitError_Init_NoLogPath","value": "112"} + ,{"name": "VRInitError_Init_PathRegistryNotWritable","value": "113"} + ,{"name": "VRInitError_Init_AppInfoInitFailed","value": "114"} + ,{"name": "VRInitError_Init_Retry","value": "115"} + ,{"name": "VRInitError_Init_InitCanceledByUser","value": "116"} + ,{"name": "VRInitError_Init_AnotherAppLaunching","value": "117"} + ,{"name": "VRInitError_Init_SettingsInitFailed","value": "118"} + ,{"name": "VRInitError_Init_ShuttingDown","value": "119"} + ,{"name": "VRInitError_Init_TooManyObjects","value": "120"} + ,{"name": "VRInitError_Init_NoServerForBackgroundApp","value": "121"} + ,{"name": "VRInitError_Init_NotSupportedWithCompositor","value": "122"} + ,{"name": "VRInitError_Init_NotAvailableToUtilityApps","value": "123"} + ,{"name": "VRInitError_Init_Internal","value": "124"} + ,{"name": "VRInitError_Driver_Failed","value": "200"} + ,{"name": "VRInitError_Driver_Unknown","value": "201"} + ,{"name": "VRInitError_Driver_HmdUnknown","value": "202"} + ,{"name": "VRInitError_Driver_NotLoaded","value": "203"} + ,{"name": "VRInitError_Driver_RuntimeOutOfDate","value": "204"} + ,{"name": "VRInitError_Driver_HmdInUse","value": "205"} + ,{"name": "VRInitError_Driver_NotCalibrated","value": "206"} + ,{"name": "VRInitError_Driver_CalibrationInvalid","value": "207"} + ,{"name": "VRInitError_Driver_HmdDisplayNotFound","value": "208"} + ,{"name": "VRInitError_IPC_ServerInitFailed","value": "300"} + ,{"name": "VRInitError_IPC_ConnectFailed","value": "301"} + ,{"name": "VRInitError_IPC_SharedStateInitFailed","value": "302"} + ,{"name": "VRInitError_IPC_CompositorInitFailed","value": "303"} + ,{"name": "VRInitError_IPC_MutexInitFailed","value": "304"} + ,{"name": "VRInitError_IPC_Failed","value": "305"} + ,{"name": "VRInitError_Compositor_Failed","value": "400"} + ,{"name": "VRInitError_Compositor_D3D11HardwareRequired","value": "401"} + ,{"name": "VRInitError_Compositor_FirmwareRequiresUpdate","value": "402"} + ,{"name": "VRInitError_Compositor_OverlayInitFailed","value": "403"} + ,{"name": "VRInitError_Compositor_ScreenshotsInitFailed","value": "404"} + ,{"name": "VRInitError_VendorSpecific_UnableToConnectToOculusRuntime","value": "1000"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_CantOpenDevice","value": "1101"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart","value": "1102"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_NoStoredConfig","value": "1103"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooBig","value": "1104"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigTooSmall","value": "1105"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToInitZLib","value": "1106"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion","value": "1107"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart","value": "1108"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart","value": "1109"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext","value": "1110"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataAddressRange","value": "1111"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_UserDataError","value": "1112"} + ,{"name": "VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck","value": "1113"} + ,{"name": "VRInitError_Steam_SteamInstallationNotFound","value": "2000"} +]} +, {"enumname": "vr::EVRScreenshotType","values": [ + {"name": "VRScreenshotType_None","value": "0"} + ,{"name": "VRScreenshotType_Mono","value": "1"} + ,{"name": "VRScreenshotType_Stereo","value": "2"} + ,{"name": "VRScreenshotType_Cubemap","value": "3"} + ,{"name": "VRScreenshotType_MonoPanorama","value": "4"} + ,{"name": "VRScreenshotType_StereoPanorama","value": "5"} +]} +, {"enumname": "vr::EVRScreenshotPropertyFilenames","values": [ + {"name": "VRScreenshotPropertyFilenames_Preview","value": "0"} + ,{"name": "VRScreenshotPropertyFilenames_VR","value": "1"} +]} +, {"enumname": "vr::EVRTrackedCameraError","values": [ + {"name": "VRTrackedCameraError_None","value": "0"} + ,{"name": "VRTrackedCameraError_OperationFailed","value": "100"} + ,{"name": "VRTrackedCameraError_InvalidHandle","value": "101"} + ,{"name": "VRTrackedCameraError_InvalidFrameHeaderVersion","value": "102"} + ,{"name": "VRTrackedCameraError_OutOfHandles","value": "103"} + ,{"name": "VRTrackedCameraError_IPCFailure","value": "104"} + ,{"name": "VRTrackedCameraError_NotSupportedForThisDevice","value": "105"} + ,{"name": "VRTrackedCameraError_SharedMemoryFailure","value": "106"} + ,{"name": "VRTrackedCameraError_FrameBufferingFailure","value": "107"} + ,{"name": "VRTrackedCameraError_StreamSetupFailure","value": "108"} + ,{"name": "VRTrackedCameraError_InvalidGLTextureId","value": "109"} + ,{"name": "VRTrackedCameraError_InvalidSharedTextureHandle","value": "110"} + ,{"name": "VRTrackedCameraError_FailedToGetGLTextureId","value": "111"} + ,{"name": "VRTrackedCameraError_SharedTextureFailure","value": "112"} + ,{"name": "VRTrackedCameraError_NoFrameAvailable","value": "113"} + ,{"name": "VRTrackedCameraError_InvalidArgument","value": "114"} + ,{"name": "VRTrackedCameraError_InvalidFrameBufferSize","value": "115"} +]} +, {"enumname": "vr::EVRTrackedCameraFrameType","values": [ + {"name": "VRTrackedCameraFrameType_Distorted","value": "0"} + ,{"name": "VRTrackedCameraFrameType_Undistorted","value": "1"} + ,{"name": "VRTrackedCameraFrameType_MaximumUndistorted","value": "2"} + ,{"name": "MAX_CAMERA_FRAME_TYPES","value": "3"} +]} +, {"enumname": "vr::EVRApplicationError","values": [ + {"name": "VRApplicationError_None","value": "0"} + ,{"name": "VRApplicationError_AppKeyAlreadyExists","value": "100"} + ,{"name": "VRApplicationError_NoManifest","value": "101"} + ,{"name": "VRApplicationError_NoApplication","value": "102"} + ,{"name": "VRApplicationError_InvalidIndex","value": "103"} + ,{"name": "VRApplicationError_UnknownApplication","value": "104"} + ,{"name": "VRApplicationError_IPCFailed","value": "105"} + ,{"name": "VRApplicationError_ApplicationAlreadyRunning","value": "106"} + ,{"name": "VRApplicationError_InvalidManifest","value": "107"} + ,{"name": "VRApplicationError_InvalidApplication","value": "108"} + ,{"name": "VRApplicationError_LaunchFailed","value": "109"} + ,{"name": "VRApplicationError_ApplicationAlreadyStarting","value": "110"} + ,{"name": "VRApplicationError_LaunchInProgress","value": "111"} + ,{"name": "VRApplicationError_OldApplicationQuitting","value": "112"} + ,{"name": "VRApplicationError_TransitionAborted","value": "113"} + ,{"name": "VRApplicationError_IsTemplate","value": "114"} + ,{"name": "VRApplicationError_BufferTooSmall","value": "200"} + ,{"name": "VRApplicationError_PropertyNotSet","value": "201"} + ,{"name": "VRApplicationError_UnknownProperty","value": "202"} + ,{"name": "VRApplicationError_InvalidParameter","value": "203"} +]} +, {"enumname": "vr::EVRApplicationProperty","values": [ + {"name": "VRApplicationProperty_Name_String","value": "0"} + ,{"name": "VRApplicationProperty_LaunchType_String","value": "11"} + ,{"name": "VRApplicationProperty_WorkingDirectory_String","value": "12"} + ,{"name": "VRApplicationProperty_BinaryPath_String","value": "13"} + ,{"name": "VRApplicationProperty_Arguments_String","value": "14"} + ,{"name": "VRApplicationProperty_URL_String","value": "15"} + ,{"name": "VRApplicationProperty_Description_String","value": "50"} + ,{"name": "VRApplicationProperty_NewsURL_String","value": "51"} + ,{"name": "VRApplicationProperty_ImagePath_String","value": "52"} + ,{"name": "VRApplicationProperty_Source_String","value": "53"} + ,{"name": "VRApplicationProperty_IsDashboardOverlay_Bool","value": "60"} + ,{"name": "VRApplicationProperty_IsTemplate_Bool","value": "61"} + ,{"name": "VRApplicationProperty_IsInstanced_Bool","value": "62"} + ,{"name": "VRApplicationProperty_LastLaunchTime_Uint64","value": "70"} +]} +, {"enumname": "vr::EVRApplicationTransitionState","values": [ + {"name": "VRApplicationTransition_None","value": "0"} + ,{"name": "VRApplicationTransition_OldAppQuitSent","value": "10"} + ,{"name": "VRApplicationTransition_WaitingForExternalLaunch","value": "11"} + ,{"name": "VRApplicationTransition_NewAppLaunched","value": "20"} +]} +, {"enumname": "vr::ChaperoneCalibrationState","values": [ + {"name": "ChaperoneCalibrationState_OK","value": "1"} + ,{"name": "ChaperoneCalibrationState_Warning","value": "100"} + ,{"name": "ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved","value": "101"} + ,{"name": "ChaperoneCalibrationState_Warning_BaseStationRemoved","value": "102"} + ,{"name": "ChaperoneCalibrationState_Warning_SeatedBoundsInvalid","value": "103"} + ,{"name": "ChaperoneCalibrationState_Error","value": "200"} + ,{"name": "ChaperoneCalibrationState_Error_BaseStationUninitalized","value": "201"} + ,{"name": "ChaperoneCalibrationState_Error_BaseStationConflict","value": "202"} + ,{"name": "ChaperoneCalibrationState_Error_PlayAreaInvalid","value": "203"} + ,{"name": "ChaperoneCalibrationState_Error_CollisionBoundsInvalid","value": "204"} +]} +, {"enumname": "vr::EChaperoneConfigFile","values": [ + {"name": "EChaperoneConfigFile_Live","value": "1"} + ,{"name": "EChaperoneConfigFile_Temp","value": "2"} +]} +, {"enumname": "vr::EChaperoneImportFlags","values": [ + {"name": "EChaperoneImport_BoundsOnly","value": "1"} +]} +, {"enumname": "vr::EVRCompositorError","values": [ + {"name": "VRCompositorError_None","value": "0"} + ,{"name": "VRCompositorError_RequestFailed","value": "1"} + ,{"name": "VRCompositorError_IncompatibleVersion","value": "100"} + ,{"name": "VRCompositorError_DoNotHaveFocus","value": "101"} + ,{"name": "VRCompositorError_InvalidTexture","value": "102"} + ,{"name": "VRCompositorError_IsNotSceneApplication","value": "103"} + ,{"name": "VRCompositorError_TextureIsOnWrongDevice","value": "104"} + ,{"name": "VRCompositorError_TextureUsesUnsupportedFormat","value": "105"} + ,{"name": "VRCompositorError_SharedTexturesNotSupported","value": "106"} + ,{"name": "VRCompositorError_IndexOutOfRange","value": "107"} +]} +, {"enumname": "vr::VROverlayInputMethod","values": [ + {"name": "VROverlayInputMethod_None","value": "0"} + ,{"name": "VROverlayInputMethod_Mouse","value": "1"} +]} +, {"enumname": "vr::VROverlayTransformType","values": [ + {"name": "VROverlayTransform_Absolute","value": "0"} + ,{"name": "VROverlayTransform_TrackedDeviceRelative","value": "1"} + ,{"name": "VROverlayTransform_SystemOverlay","value": "2"} + ,{"name": "VROverlayTransform_TrackedComponent","value": "3"} +]} +, {"enumname": "vr::VROverlayFlags","values": [ + {"name": "VROverlayFlags_None","value": "0"} + ,{"name": "VROverlayFlags_Curved","value": "1"} + ,{"name": "VROverlayFlags_RGSS4X","value": "2"} + ,{"name": "VROverlayFlags_NoDashboardTab","value": "3"} + ,{"name": "VROverlayFlags_AcceptsGamepadEvents","value": "4"} + ,{"name": "VROverlayFlags_ShowGamepadFocus","value": "5"} + ,{"name": "VROverlayFlags_SendVRScrollEvents","value": "6"} + ,{"name": "VROverlayFlags_SendVRTouchpadEvents","value": "7"} + ,{"name": "VROverlayFlags_ShowTouchPadScrollWheel","value": "8"} + ,{"name": "VROverlayFlags_TransferOwnershipToInternalProcess","value": "9"} + ,{"name": "VROverlayFlags_SideBySide_Parallel","value": "10"} + ,{"name": "VROverlayFlags_SideBySide_Crossed","value": "11"} + ,{"name": "VROverlayFlags_Panorama","value": "12"} + ,{"name": "VROverlayFlags_StereoPanorama","value": "13"} +]} +, {"enumname": "vr::EGamepadTextInputMode","values": [ + {"name": "k_EGamepadTextInputModeNormal","value": "0"} + ,{"name": "k_EGamepadTextInputModePassword","value": "1"} + ,{"name": "k_EGamepadTextInputModeSubmit","value": "2"} +]} +, {"enumname": "vr::EGamepadTextInputLineMode","values": [ + {"name": "k_EGamepadTextInputLineModeSingleLine","value": "0"} + ,{"name": "k_EGamepadTextInputLineModeMultipleLines","value": "1"} +]} +, {"enumname": "vr::EOverlayDirection","values": [ + {"name": "OverlayDirection_Up","value": "0"} + ,{"name": "OverlayDirection_Down","value": "1"} + ,{"name": "OverlayDirection_Left","value": "2"} + ,{"name": "OverlayDirection_Right","value": "3"} + ,{"name": "OverlayDirection_Count","value": "4"} +]} +, {"enumname": "vr::EVRRenderModelError","values": [ + {"name": "VRRenderModelError_None","value": "0"} + ,{"name": "VRRenderModelError_Loading","value": "100"} + ,{"name": "VRRenderModelError_NotSupported","value": "200"} + ,{"name": "VRRenderModelError_InvalidArg","value": "300"} + ,{"name": "VRRenderModelError_InvalidModel","value": "301"} + ,{"name": "VRRenderModelError_NoShapes","value": "302"} + ,{"name": "VRRenderModelError_MultipleShapes","value": "303"} + ,{"name": "VRRenderModelError_TooManyVertices","value": "304"} + ,{"name": "VRRenderModelError_MultipleTextures","value": "305"} + ,{"name": "VRRenderModelError_BufferTooSmall","value": "306"} + ,{"name": "VRRenderModelError_NotEnoughNormals","value": "307"} + ,{"name": "VRRenderModelError_NotEnoughTexCoords","value": "308"} + ,{"name": "VRRenderModelError_InvalidTexture","value": "400"} +]} +, {"enumname": "vr::EVRComponentProperty","values": [ + {"name": "VRComponentProperty_IsStatic","value": "1"} + ,{"name": "VRComponentProperty_IsVisible","value": "2"} + ,{"name": "VRComponentProperty_IsTouched","value": "4"} + ,{"name": "VRComponentProperty_IsPressed","value": "8"} + ,{"name": "VRComponentProperty_IsScrolled","value": "16"} +]} +, {"enumname": "vr::EVRNotificationType","values": [ + {"name": "EVRNotificationType_Transient","value": "0"} + ,{"name": "EVRNotificationType_Persistent","value": "1"} + ,{"name": "EVRNotificationType_Transient_SystemWithUserValue","value": "2"} +]} +, {"enumname": "vr::EVRNotificationStyle","values": [ + {"name": "EVRNotificationStyle_None","value": "0"} + ,{"name": "EVRNotificationStyle_Application","value": "100"} + ,{"name": "EVRNotificationStyle_Contact_Disabled","value": "200"} + ,{"name": "EVRNotificationStyle_Contact_Enabled","value": "201"} + ,{"name": "EVRNotificationStyle_Contact_Active","value": "202"} +]} +, {"enumname": "vr::EVRSettingsError","values": [ + {"name": "VRSettingsError_None","value": "0"} + ,{"name": "VRSettingsError_IPCFailed","value": "1"} + ,{"name": "VRSettingsError_WriteFailed","value": "2"} + ,{"name": "VRSettingsError_ReadFailed","value": "3"} +]} +, {"enumname": "vr::EVRScreenshotError","values": [ + {"name": "VRScreenshotError_None","value": "0"} + ,{"name": "VRScreenshotError_RequestFailed","value": "1"} + ,{"name": "VRScreenshotError_IncompatibleVersion","value": "100"} + ,{"name": "VRScreenshotError_NotFound","value": "101"} + ,{"name": "VRScreenshotError_BufferTooSmall","value": "102"} + ,{"name": "VRScreenshotError_ScreenshotAlreadyInProgress","value": "108"} +]} +], +"consts":[{ + "constname": "k_unTrackingStringSize","consttype": "const uint32_t", "constval": "32"} +,{ + "constname": "k_unMaxDriverDebugResponseSize","consttype": "const uint32_t", "constval": "32768"} +,{ + "constname": "k_unTrackedDeviceIndex_Hmd","consttype": "const uint32_t", "constval": "0"} +,{ + "constname": "k_unMaxTrackedDeviceCount","consttype": "const uint32_t", "constval": "16"} +,{ + "constname": "k_unTrackedDeviceIndexOther","consttype": "const uint32_t", "constval": "4294967294"} +,{ + "constname": "k_unTrackedDeviceIndexInvalid","consttype": "const uint32_t", "constval": "4294967295"} +,{ + "constname": "k_unMaxPropertyStringSize","consttype": "const uint32_t", "constval": "32768"} +,{ + "constname": "k_unControllerStateAxisCount","consttype": "const uint32_t", "constval": "5"} +,{ + "constname": "k_ulOverlayHandleInvalid","consttype": "const VROverlayHandle_t", "constval": "0"} +,{ + "constname": "k_unScreenshotHandleInvalid","consttype": "const uint32_t", "constval": "0"} +,{ + "constname": "IVRSystem_Version","consttype": "const char *const", "constval": "IVRSystem_012"} +,{ + "constname": "IVRExtendedDisplay_Version","consttype": "const char *const", "constval": "IVRExtendedDisplay_001"} +,{ + "constname": "IVRTrackedCamera_Version","consttype": "const char *const", "constval": "IVRTrackedCamera_003"} +,{ + "constname": "k_unMaxApplicationKeyLength","consttype": "const uint32_t", "constval": "128"} +,{ + "constname": "IVRApplications_Version","consttype": "const char *const", "constval": "IVRApplications_005"} +,{ + "constname": "IVRChaperone_Version","consttype": "const char *const", "constval": "IVRChaperone_003"} +,{ + "constname": "IVRChaperoneSetup_Version","consttype": "const char *const", "constval": "IVRChaperoneSetup_005"} +,{ + "constname": "IVRCompositor_Version","consttype": "const char *const", "constval": "IVRCompositor_015"} +,{ + "constname": "k_unVROverlayMaxKeyLength","consttype": "const uint32_t", "constval": "128"} +,{ + "constname": "k_unVROverlayMaxNameLength","consttype": "const uint32_t", "constval": "128"} +,{ + "constname": "k_unMaxOverlayCount","consttype": "const uint32_t", "constval": "32"} +,{ + "constname": "IVROverlay_Version","consttype": "const char *const", "constval": "IVROverlay_012"} +,{ + "constname": "k_pch_Controller_Component_GDC2015","consttype": "const char *const", "constval": "gdc2015"} +,{ + "constname": "k_pch_Controller_Component_Base","consttype": "const char *const", "constval": "base"} +,{ + "constname": "k_pch_Controller_Component_Tip","consttype": "const char *const", "constval": "tip"} +,{ + "constname": "k_pch_Controller_Component_HandGrip","consttype": "const char *const", "constval": "handgrip"} +,{ + "constname": "k_pch_Controller_Component_Status","consttype": "const char *const", "constval": "status"} +,{ + "constname": "IVRRenderModels_Version","consttype": "const char *const", "constval": "IVRRenderModels_005"} +,{ + "constname": "k_unNotificationTextMaxSize","consttype": "const uint32_t", "constval": "256"} +,{ + "constname": "IVRNotifications_Version","consttype": "const char *const", "constval": "IVRNotifications_002"} +,{ + "constname": "k_unMaxSettingsKeyLength","consttype": "const uint32_t", "constval": "128"} +,{ + "constname": "IVRSettings_Version","consttype": "const char *const", "constval": "IVRSettings_001"} +,{ + "constname": "k_pch_SteamVR_Section","consttype": "const char *const", "constval": "steamvr"} +,{ + "constname": "k_pch_SteamVR_RequireHmd_String","consttype": "const char *const", "constval": "requireHmd"} +,{ + "constname": "k_pch_SteamVR_ForcedDriverKey_String","consttype": "const char *const", "constval": "forcedDriver"} +,{ + "constname": "k_pch_SteamVR_ForcedHmdKey_String","consttype": "const char *const", "constval": "forcedHmd"} +,{ + "constname": "k_pch_SteamVR_DisplayDebug_Bool","consttype": "const char *const", "constval": "displayDebug"} +,{ + "constname": "k_pch_SteamVR_DebugProcessPipe_String","consttype": "const char *const", "constval": "debugProcessPipe"} +,{ + "constname": "k_pch_SteamVR_EnableDistortion_Bool","consttype": "const char *const", "constval": "enableDistortion"} +,{ + "constname": "k_pch_SteamVR_DisplayDebugX_Int32","consttype": "const char *const", "constval": "displayDebugX"} +,{ + "constname": "k_pch_SteamVR_DisplayDebugY_Int32","consttype": "const char *const", "constval": "displayDebugY"} +,{ + "constname": "k_pch_SteamVR_SendSystemButtonToAllApps_Bool","consttype": "const char *const", "constval": "sendSystemButtonToAllApps"} +,{ + "constname": "k_pch_SteamVR_LogLevel_Int32","consttype": "const char *const", "constval": "loglevel"} +,{ + "constname": "k_pch_SteamVR_IPD_Float","consttype": "const char *const", "constval": "ipd"} +,{ + "constname": "k_pch_SteamVR_Background_String","consttype": "const char *const", "constval": "background"} +,{ + "constname": "k_pch_SteamVR_BackgroundCameraHeight_Float","consttype": "const char *const", "constval": "backgroundCameraHeight"} +,{ + "constname": "k_pch_SteamVR_BackgroundDomeRadius_Float","consttype": "const char *const", "constval": "backgroundDomeRadius"} +,{ + "constname": "k_pch_SteamVR_Environment_String","consttype": "const char *const", "constval": "environment"} +,{ + "constname": "k_pch_SteamVR_GridColor_String","consttype": "const char *const", "constval": "gridColor"} +,{ + "constname": "k_pch_SteamVR_PlayAreaColor_String","consttype": "const char *const", "constval": "playAreaColor"} +,{ + "constname": "k_pch_SteamVR_ShowStage_Bool","consttype": "const char *const", "constval": "showStage"} +,{ + "constname": "k_pch_SteamVR_ActivateMultipleDrivers_Bool","consttype": "const char *const", "constval": "activateMultipleDrivers"} +,{ + "constname": "k_pch_SteamVR_PowerOffOnExit_Bool","consttype": "const char *const", "constval": "powerOffOnExit"} +,{ + "constname": "k_pch_SteamVR_StandbyAppRunningTimeout_Float","consttype": "const char *const", "constval": "standbyAppRunningTimeout"} +,{ + "constname": "k_pch_SteamVR_StandbyNoAppTimeout_Float","consttype": "const char *const", "constval": "standbyNoAppTimeout"} +,{ + "constname": "k_pch_SteamVR_DirectMode_Bool","consttype": "const char *const", "constval": "directMode"} +,{ + "constname": "k_pch_SteamVR_DirectModeEdidVid_Int32","consttype": "const char *const", "constval": "directModeEdidVid"} +,{ + "constname": "k_pch_SteamVR_DirectModeEdidPid_Int32","consttype": "const char *const", "constval": "directModeEdidPid"} +,{ + "constname": "k_pch_SteamVR_UsingSpeakers_Bool","consttype": "const char *const", "constval": "usingSpeakers"} +,{ + "constname": "k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float","consttype": "const char *const", "constval": "speakersForwardYawOffsetDegrees"} +,{ + "constname": "k_pch_SteamVR_BaseStationPowerManagement_Bool","consttype": "const char *const", "constval": "basestationPowerManagement"} +,{ + "constname": "k_pch_SteamVR_NeverKillProcesses_Bool","consttype": "const char *const", "constval": "neverKillProcesses"} +,{ + "constname": "k_pch_SteamVR_RenderTargetMultiplier_Float","consttype": "const char *const", "constval": "renderTargetMultiplier"} +,{ + "constname": "k_pch_SteamVR_AllowReprojection_Bool","consttype": "const char *const", "constval": "allowReprojection"} +,{ + "constname": "k_pch_SteamVR_ForceReprojection_Bool","consttype": "const char *const", "constval": "forceReprojection"} +,{ + "constname": "k_pch_SteamVR_ForceFadeOnBadTracking_Bool","consttype": "const char *const", "constval": "forceFadeOnBadTracking"} +,{ + "constname": "k_pch_SteamVR_DefaultMirrorView_Int32","consttype": "const char *const", "constval": "defaultMirrorView"} +,{ + "constname": "k_pch_SteamVR_ShowMirrorView_Bool","consttype": "const char *const", "constval": "showMirrorView"} +,{ + "constname": "k_pch_Lighthouse_Section","consttype": "const char *const", "constval": "driver_lighthouse"} +,{ + "constname": "k_pch_Lighthouse_DisableIMU_Bool","consttype": "const char *const", "constval": "disableimu"} +,{ + "constname": "k_pch_Lighthouse_UseDisambiguation_String","consttype": "const char *const", "constval": "usedisambiguation"} +,{ + "constname": "k_pch_Lighthouse_DisambiguationDebug_Int32","consttype": "const char *const", "constval": "disambiguationdebug"} +,{ + "constname": "k_pch_Lighthouse_PrimaryBasestation_Int32","consttype": "const char *const", "constval": "primarybasestation"} +,{ + "constname": "k_pch_Lighthouse_LighthouseName_String","consttype": "const char *const", "constval": "lighthousename"} +,{ + "constname": "k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float","consttype": "const char *const", "constval": "maxincidenceangledegrees"} +,{ + "constname": "k_pch_Lighthouse_UseLighthouseDirect_Bool","consttype": "const char *const", "constval": "uselighthousedirect"} +,{ + "constname": "k_pch_Lighthouse_DBHistory_Bool","consttype": "const char *const", "constval": "dbhistory"} +,{ + "constname": "k_pch_Null_Section","consttype": "const char *const", "constval": "driver_null"} +,{ + "constname": "k_pch_Null_EnableNullDriver_Bool","consttype": "const char *const", "constval": "enable"} +,{ + "constname": "k_pch_Null_SerialNumber_String","consttype": "const char *const", "constval": "serialNumber"} +,{ + "constname": "k_pch_Null_ModelNumber_String","consttype": "const char *const", "constval": "modelNumber"} +,{ + "constname": "k_pch_Null_WindowX_Int32","consttype": "const char *const", "constval": "windowX"} +,{ + "constname": "k_pch_Null_WindowY_Int32","consttype": "const char *const", "constval": "windowY"} +,{ + "constname": "k_pch_Null_WindowWidth_Int32","consttype": "const char *const", "constval": "windowWidth"} +,{ + "constname": "k_pch_Null_WindowHeight_Int32","consttype": "const char *const", "constval": "windowHeight"} +,{ + "constname": "k_pch_Null_RenderWidth_Int32","consttype": "const char *const", "constval": "renderWidth"} +,{ + "constname": "k_pch_Null_RenderHeight_Int32","consttype": "const char *const", "constval": "renderHeight"} +,{ + "constname": "k_pch_Null_SecondsFromVsyncToPhotons_Float","consttype": "const char *const", "constval": "secondsFromVsyncToPhotons"} +,{ + "constname": "k_pch_Null_DisplayFrequency_Float","consttype": "const char *const", "constval": "displayFrequency"} +,{ + "constname": "k_pch_UserInterface_Section","consttype": "const char *const", "constval": "userinterface"} +,{ + "constname": "k_pch_UserInterface_StatusAlwaysOnTop_Bool","consttype": "const char *const", "constval": "StatusAlwaysOnTop"} +,{ + "constname": "k_pch_UserInterface_EnableScreenshots_Bool","consttype": "const char *const", "constval": "EnableScreenshots"} +,{ + "constname": "k_pch_Notifications_Section","consttype": "const char *const", "constval": "notifications"} +,{ + "constname": "k_pch_Notifications_DoNotDisturb_Bool","consttype": "const char *const", "constval": "DoNotDisturb"} +,{ + "constname": "k_pch_Keyboard_Section","consttype": "const char *const", "constval": "keyboard"} +,{ + "constname": "k_pch_Keyboard_TutorialCompletions","consttype": "const char *const", "constval": "TutorialCompletions"} +,{ + "constname": "k_pch_Keyboard_ScaleX","consttype": "const char *const", "constval": "ScaleX"} +,{ + "constname": "k_pch_Keyboard_ScaleY","consttype": "const char *const", "constval": "ScaleY"} +,{ + "constname": "k_pch_Keyboard_OffsetLeftX","consttype": "const char *const", "constval": "OffsetLeftX"} +,{ + "constname": "k_pch_Keyboard_OffsetRightX","consttype": "const char *const", "constval": "OffsetRightX"} +,{ + "constname": "k_pch_Keyboard_OffsetY","consttype": "const char *const", "constval": "OffsetY"} +,{ + "constname": "k_pch_Keyboard_Smoothing","consttype": "const char *const", "constval": "Smoothing"} +,{ + "constname": "k_pch_Perf_Section","consttype": "const char *const", "constval": "perfcheck"} +,{ + "constname": "k_pch_Perf_HeuristicActive_Bool","consttype": "const char *const", "constval": "heuristicActive"} +,{ + "constname": "k_pch_Perf_NotifyInHMD_Bool","consttype": "const char *const", "constval": "warnInHMD"} +,{ + "constname": "k_pch_Perf_NotifyOnlyOnce_Bool","consttype": "const char *const", "constval": "warnOnlyOnce"} +,{ + "constname": "k_pch_Perf_AllowTimingStore_Bool","consttype": "const char *const", "constval": "allowTimingStore"} +,{ + "constname": "k_pch_Perf_SaveTimingsOnExit_Bool","consttype": "const char *const", "constval": "saveTimingsOnExit"} +,{ + "constname": "k_pch_Perf_TestData_Float","consttype": "const char *const", "constval": "perfTestData"} +,{ + "constname": "k_pch_CollisionBounds_Section","consttype": "const char *const", "constval": "collisionBounds"} +,{ + "constname": "k_pch_CollisionBounds_Style_Int32","consttype": "const char *const", "constval": "CollisionBoundsStyle"} +,{ + "constname": "k_pch_CollisionBounds_GroundPerimeterOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsGroundPerimeterOn"} +,{ + "constname": "k_pch_CollisionBounds_CenterMarkerOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsCenterMarkerOn"} +,{ + "constname": "k_pch_CollisionBounds_PlaySpaceOn_Bool","consttype": "const char *const", "constval": "CollisionBoundsPlaySpaceOn"} +,{ + "constname": "k_pch_CollisionBounds_FadeDistance_Float","consttype": "const char *const", "constval": "CollisionBoundsFadeDistance"} +,{ + "constname": "k_pch_CollisionBounds_ColorGammaR_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaR"} +,{ + "constname": "k_pch_CollisionBounds_ColorGammaG_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaG"} +,{ + "constname": "k_pch_CollisionBounds_ColorGammaB_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaB"} +,{ + "constname": "k_pch_CollisionBounds_ColorGammaA_Int32","consttype": "const char *const", "constval": "CollisionBoundsColorGammaA"} +,{ + "constname": "k_pch_Camera_Section","consttype": "const char *const", "constval": "camera"} +,{ + "constname": "k_pch_Camera_EnableCamera_Bool","consttype": "const char *const", "constval": "enableCamera"} +,{ + "constname": "k_pch_Camera_EnableCameraInDashboard_Bool","consttype": "const char *const", "constval": "enableCameraInDashboard"} +,{ + "constname": "k_pch_Camera_EnableCameraForCollisionBounds_Bool","consttype": "const char *const", "constval": "enableCameraForCollisionBounds"} +,{ + "constname": "k_pch_Camera_EnableCameraForRoomView_Bool","consttype": "const char *const", "constval": "enableCameraForRoomView"} +,{ + "constname": "k_pch_Camera_BoundsColorGammaR_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaR"} +,{ + "constname": "k_pch_Camera_BoundsColorGammaG_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaG"} +,{ + "constname": "k_pch_Camera_BoundsColorGammaB_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaB"} +,{ + "constname": "k_pch_Camera_BoundsColorGammaA_Int32","consttype": "const char *const", "constval": "cameraBoundsColorGammaA"} +,{ + "constname": "k_pch_audio_Section","consttype": "const char *const", "constval": "audio"} +,{ + "constname": "k_pch_audio_OnPlaybackDevice_String","consttype": "const char *const", "constval": "onPlaybackDevice"} +,{ + "constname": "k_pch_audio_OnRecordDevice_String","consttype": "const char *const", "constval": "onRecordDevice"} +,{ + "constname": "k_pch_audio_OnPlaybackMirrorDevice_String","consttype": "const char *const", "constval": "onPlaybackMirrorDevice"} +,{ + "constname": "k_pch_audio_OffPlaybackDevice_String","consttype": "const char *const", "constval": "offPlaybackDevice"} +,{ + "constname": "k_pch_audio_OffRecordDevice_String","consttype": "const char *const", "constval": "offRecordDevice"} +,{ + "constname": "k_pch_audio_VIVEHDMIGain","consttype": "const char *const", "constval": "viveHDMIGain"} +,{ + "constname": "k_pch_modelskin_Section","consttype": "const char *const", "constval": "modelskins"} +,{ + "constname": "IVRScreenshots_Version","consttype": "const char *const", "constval": "IVRScreenshots_001"} +], +"structs":[{"struct": "vr::HmdMatrix34_t","fields": [ +{ "fieldname": "m", "fieldtype": "float [3][4]"}]} +,{"struct": "vr::HmdMatrix44_t","fields": [ +{ "fieldname": "m", "fieldtype": "float [4][4]"}]} +,{"struct": "vr::HmdVector3_t","fields": [ +{ "fieldname": "v", "fieldtype": "float [3]"}]} +,{"struct": "vr::HmdVector4_t","fields": [ +{ "fieldname": "v", "fieldtype": "float [4]"}]} +,{"struct": "vr::HmdVector3d_t","fields": [ +{ "fieldname": "v", "fieldtype": "double [3]"}]} +,{"struct": "vr::HmdVector2_t","fields": [ +{ "fieldname": "v", "fieldtype": "float [2]"}]} +,{"struct": "vr::HmdQuaternion_t","fields": [ +{ "fieldname": "w", "fieldtype": "double"}, +{ "fieldname": "x", "fieldtype": "double"}, +{ "fieldname": "y", "fieldtype": "double"}, +{ "fieldname": "z", "fieldtype": "double"}]} +,{"struct": "vr::HmdColor_t","fields": [ +{ "fieldname": "r", "fieldtype": "float"}, +{ "fieldname": "g", "fieldtype": "float"}, +{ "fieldname": "b", "fieldtype": "float"}, +{ "fieldname": "a", "fieldtype": "float"}]} +,{"struct": "vr::HmdQuad_t","fields": [ +{ "fieldname": "vCorners", "fieldtype": "struct vr::HmdVector3_t [4]"}]} +,{"struct": "vr::HmdRect2_t","fields": [ +{ "fieldname": "vTopLeft", "fieldtype": "struct vr::HmdVector2_t"}, +{ "fieldname": "vBottomRight", "fieldtype": "struct vr::HmdVector2_t"}]} +,{"struct": "vr::DistortionCoordinates_t","fields": [ +{ "fieldname": "rfRed", "fieldtype": "float [2]"}, +{ "fieldname": "rfGreen", "fieldtype": "float [2]"}, +{ "fieldname": "rfBlue", "fieldtype": "float [2]"}]} +,{"struct": "vr::Texture_t","fields": [ +{ "fieldname": "handle", "fieldtype": "void *"}, +{ "fieldname": "eType", "fieldtype": "enum vr::EGraphicsAPIConvention"}, +{ "fieldname": "eColorSpace", "fieldtype": "enum vr::EColorSpace"}]} +,{"struct": "vr::TrackedDevicePose_t","fields": [ +{ "fieldname": "mDeviceToAbsoluteTracking", "fieldtype": "struct vr::HmdMatrix34_t"}, +{ "fieldname": "vVelocity", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "vAngularVelocity", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "eTrackingResult", "fieldtype": "enum vr::ETrackingResult"}, +{ "fieldname": "bPoseIsValid", "fieldtype": "_Bool"}, +{ "fieldname": "bDeviceIsConnected", "fieldtype": "_Bool"}]} +,{"struct": "vr::VRTextureBounds_t","fields": [ +{ "fieldname": "uMin", "fieldtype": "float"}, +{ "fieldname": "vMin", "fieldtype": "float"}, +{ "fieldname": "uMax", "fieldtype": "float"}, +{ "fieldname": "vMax", "fieldtype": "float"}]} +,{"struct": "vr::VREvent_Controller_t","fields": [ +{ "fieldname": "button", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_Mouse_t","fields": [ +{ "fieldname": "x", "fieldtype": "float"}, +{ "fieldname": "y", "fieldtype": "float"}, +{ "fieldname": "button", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_Scroll_t","fields": [ +{ "fieldname": "xdelta", "fieldtype": "float"}, +{ "fieldname": "ydelta", "fieldtype": "float"}, +{ "fieldname": "repeatCount", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_TouchPadMove_t","fields": [ +{ "fieldname": "bFingerDown", "fieldtype": "_Bool"}, +{ "fieldname": "flSecondsFingerDown", "fieldtype": "float"}, +{ "fieldname": "fValueXFirst", "fieldtype": "float"}, +{ "fieldname": "fValueYFirst", "fieldtype": "float"}, +{ "fieldname": "fValueXRaw", "fieldtype": "float"}, +{ "fieldname": "fValueYRaw", "fieldtype": "float"}]} +,{"struct": "vr::VREvent_Notification_t","fields": [ +{ "fieldname": "ulUserValue", "fieldtype": "uint64_t"}, +{ "fieldname": "notificationId", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_Process_t","fields": [ +{ "fieldname": "pid", "fieldtype": "uint32_t"}, +{ "fieldname": "oldPid", "fieldtype": "uint32_t"}, +{ "fieldname": "bForced", "fieldtype": "_Bool"}]} +,{"struct": "vr::VREvent_Overlay_t","fields": [ +{ "fieldname": "overlayHandle", "fieldtype": "uint64_t"}]} +,{"struct": "vr::VREvent_Status_t","fields": [ +{ "fieldname": "statusState", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_Keyboard_t","fields": [ +{ "fieldname": "cNewInput", "fieldtype": "char [8]"}, +{ "fieldname": "uUserValue", "fieldtype": "uint64_t"}]} +,{"struct": "vr::VREvent_Ipd_t","fields": [ +{ "fieldname": "ipdMeters", "fieldtype": "float"}]} +,{"struct": "vr::VREvent_Chaperone_t","fields": [ +{ "fieldname": "m_nPreviousUniverse", "fieldtype": "uint64_t"}, +{ "fieldname": "m_nCurrentUniverse", "fieldtype": "uint64_t"}]} +,{"struct": "vr::VREvent_Reserved_t","fields": [ +{ "fieldname": "reserved0", "fieldtype": "uint64_t"}, +{ "fieldname": "reserved1", "fieldtype": "uint64_t"}]} +,{"struct": "vr::VREvent_PerformanceTest_t","fields": [ +{ "fieldname": "m_nFidelityLevel", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VREvent_SeatedZeroPoseReset_t","fields": [ +{ "fieldname": "bResetBySystemMenu", "fieldtype": "_Bool"}]} +,{"struct": "vr::VREvent_Screenshot_t","fields": [ +{ "fieldname": "handle", "fieldtype": "uint32_t"}, +{ "fieldname": "type", "fieldtype": "uint32_t"}]} +,{"struct": "vr::(anonymous)","fields": [ +{ "fieldname": "reserved", "fieldtype": "struct vr::VREvent_Reserved_t"}, +{ "fieldname": "controller", "fieldtype": "struct vr::VREvent_Controller_t"}, +{ "fieldname": "mouse", "fieldtype": "struct vr::VREvent_Mouse_t"}, +{ "fieldname": "scroll", "fieldtype": "struct vr::VREvent_Scroll_t"}, +{ "fieldname": "process", "fieldtype": "struct vr::VREvent_Process_t"}, +{ "fieldname": "notification", "fieldtype": "struct vr::VREvent_Notification_t"}, +{ "fieldname": "overlay", "fieldtype": "struct vr::VREvent_Overlay_t"}, +{ "fieldname": "status", "fieldtype": "struct vr::VREvent_Status_t"}, +{ "fieldname": "keyboard", "fieldtype": "struct vr::VREvent_Keyboard_t"}, +{ "fieldname": "ipd", "fieldtype": "struct vr::VREvent_Ipd_t"}, +{ "fieldname": "chaperone", "fieldtype": "struct vr::VREvent_Chaperone_t"}, +{ "fieldname": "performanceTest", "fieldtype": "struct vr::VREvent_PerformanceTest_t"}, +{ "fieldname": "touchPadMove", "fieldtype": "struct vr::VREvent_TouchPadMove_t"}, +{ "fieldname": "seatedZeroPoseReset", "fieldtype": "struct vr::VREvent_SeatedZeroPoseReset_t"}, +{ "fieldname": "screenshot", "fieldtype": "struct vr::VREvent_Screenshot_t"}]} +,{"struct": "vr::VREvent_t","fields": [ +{ "fieldname": "eventType", "fieldtype": "uint32_t"}, +{ "fieldname": "trackedDeviceIndex", "fieldtype": "TrackedDeviceIndex_t"}, +{ "fieldname": "eventAgeSeconds", "fieldtype": "float"}, +{ "fieldname": "data", "fieldtype": "VREvent_Data_t"}]} +,{"struct": "vr::HiddenAreaMesh_t","fields": [ +{ "fieldname": "pVertexData", "fieldtype": "const struct vr::HmdVector2_t *"}, +{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VRControllerAxis_t","fields": [ +{ "fieldname": "x", "fieldtype": "float"}, +{ "fieldname": "y", "fieldtype": "float"}]} +,{"struct": "vr::VRControllerState001_t","fields": [ +{ "fieldname": "unPacketNum", "fieldtype": "uint32_t"}, +{ "fieldname": "ulButtonPressed", "fieldtype": "uint64_t"}, +{ "fieldname": "ulButtonTouched", "fieldtype": "uint64_t"}, +{ "fieldname": "rAxis", "fieldtype": "struct vr::VRControllerAxis_t [5]"}]} +,{"struct": "vr::Compositor_OverlaySettings","fields": [ +{ "fieldname": "size", "fieldtype": "uint32_t"}, +{ "fieldname": "curved", "fieldtype": "_Bool"}, +{ "fieldname": "antialias", "fieldtype": "_Bool"}, +{ "fieldname": "scale", "fieldtype": "float"}, +{ "fieldname": "distance", "fieldtype": "float"}, +{ "fieldname": "alpha", "fieldtype": "float"}, +{ "fieldname": "uOffset", "fieldtype": "float"}, +{ "fieldname": "vOffset", "fieldtype": "float"}, +{ "fieldname": "uScale", "fieldtype": "float"}, +{ "fieldname": "vScale", "fieldtype": "float"}, +{ "fieldname": "gridDivs", "fieldtype": "float"}, +{ "fieldname": "gridWidth", "fieldtype": "float"}, +{ "fieldname": "gridScale", "fieldtype": "float"}, +{ "fieldname": "transform", "fieldtype": "struct vr::HmdMatrix44_t"}]} +,{"struct": "vr::CameraVideoStreamFrameHeader_t","fields": [ +{ "fieldname": "eFrameType", "fieldtype": "enum vr::EVRTrackedCameraFrameType"}, +{ "fieldname": "nWidth", "fieldtype": "uint32_t"}, +{ "fieldname": "nHeight", "fieldtype": "uint32_t"}, +{ "fieldname": "nBytesPerPixel", "fieldtype": "uint32_t"}, +{ "fieldname": "nFrameSequence", "fieldtype": "uint32_t"}, +{ "fieldname": "standingTrackedDevicePose", "fieldtype": "struct vr::TrackedDevicePose_t"}]} +,{"struct": "vr::AppOverrideKeys_t","fields": [ +{ "fieldname": "pchKey", "fieldtype": "const char *"}, +{ "fieldname": "pchValue", "fieldtype": "const char *"}]} +,{"struct": "vr::Compositor_FrameTiming","fields": [ +{ "fieldname": "m_nSize", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nFrameIndex", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, +{ "fieldname": "m_flSystemTimeInSeconds", "fieldtype": "double"}, +{ "fieldname": "m_flSceneRenderGpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flTotalRenderGpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorRenderGpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorRenderCpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorIdleCpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flClientFrameIntervalMs", "fieldtype": "float"}, +{ "fieldname": "m_flPresentCallCpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flWaitForPresentCpuMs", "fieldtype": "float"}, +{ "fieldname": "m_flSubmitFrameMs", "fieldtype": "float"}, +{ "fieldname": "m_flWaitGetPosesCalledMs", "fieldtype": "float"}, +{ "fieldname": "m_flNewPosesReadyMs", "fieldtype": "float"}, +{ "fieldname": "m_flNewFrameReadyMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorUpdateStartMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorUpdateEndMs", "fieldtype": "float"}, +{ "fieldname": "m_flCompositorRenderStartMs", "fieldtype": "float"}, +{ "fieldname": "m_HmdPose", "fieldtype": "vr::TrackedDevicePose_t"}, +{ "fieldname": "m_nFidelityLevel", "fieldtype": "int32_t"}, +{ "fieldname": "m_nReprojectionFlags", "fieldtype": "uint32_t"}]} +,{"struct": "vr::Compositor_CumulativeStats","fields": [ +{ "fieldname": "m_nPid", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumFramePresents", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumDroppedFrames", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumReprojectedFrames", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumFramePresentsOnStartup", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumDroppedFramesOnStartup", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumReprojectedFramesOnStartup", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumLoading", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumFramePresentsLoading", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumDroppedFramesLoading", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumReprojectedFramesLoading", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumTimedOut", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumFramePresentsTimedOut", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumDroppedFramesTimedOut", "fieldtype": "uint32_t"}, +{ "fieldname": "m_nNumReprojectedFramesTimedOut", "fieldtype": "uint32_t"}]} +,{"struct": "vr::VROverlayIntersectionParams_t","fields": [ +{ "fieldname": "vSource", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "vDirection", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "eOrigin", "fieldtype": "enum vr::ETrackingUniverseOrigin"}]} +,{"struct": "vr::VROverlayIntersectionResults_t","fields": [ +{ "fieldname": "vPoint", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "vUVs", "fieldtype": "struct vr::HmdVector2_t"}, +{ "fieldname": "fDistance", "fieldtype": "float"}]} +,{"struct": "vr::RenderModel_ComponentState_t","fields": [ +{ "fieldname": "mTrackingToComponentRenderModel", "fieldtype": "struct vr::HmdMatrix34_t"}, +{ "fieldname": "mTrackingToComponentLocal", "fieldtype": "struct vr::HmdMatrix34_t"}, +{ "fieldname": "uProperties", "fieldtype": "VRComponentProperties"}]} +,{"struct": "vr::RenderModel_Vertex_t","fields": [ +{ "fieldname": "vPosition", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "vNormal", "fieldtype": "struct vr::HmdVector3_t"}, +{ "fieldname": "rfTextureCoord", "fieldtype": "float [2]"}]} +,{"struct": "vr::RenderModel_TextureMap_t","fields": [ +{ "fieldname": "unWidth", "fieldtype": "uint16_t"}, +{ "fieldname": "unHeight", "fieldtype": "uint16_t"}, +{ "fieldname": "rubTextureMapData", "fieldtype": "const uint8_t *"}]} +,{"struct": "vr::RenderModel_t","fields": [ +{ "fieldname": "rVertexData", "fieldtype": "const struct vr::RenderModel_Vertex_t *"}, +{ "fieldname": "unVertexCount", "fieldtype": "uint32_t"}, +{ "fieldname": "rIndexData", "fieldtype": "const uint16_t *"}, +{ "fieldname": "unTriangleCount", "fieldtype": "uint32_t"}, +{ "fieldname": "diffuseTextureId", "fieldtype": "TextureID_t"}]} +,{"struct": "vr::RenderModel_ControllerMode_State_t","fields": [ +{ "fieldname": "bScrollWheelVisible", "fieldtype": "_Bool"}]} +,{"struct": "vr::NotificationBitmap_t","fields": [ +{ "fieldname": "m_pImageData", "fieldtype": "void *"}, +{ "fieldname": "m_nWidth", "fieldtype": "int32_t"}, +{ "fieldname": "m_nHeight", "fieldtype": "int32_t"}, +{ "fieldname": "m_nBytesPerPixel", "fieldtype": "int32_t"}]} +,{"struct": "vr::COpenVRContext","fields": [ +{ "fieldname": "m_pVRSystem", "fieldtype": "class vr::IVRSystem *"}, +{ "fieldname": "m_pVRChaperone", "fieldtype": "class vr::IVRChaperone *"}, +{ "fieldname": "m_pVRChaperoneSetup", "fieldtype": "class vr::IVRChaperoneSetup *"}, +{ "fieldname": "m_pVRCompositor", "fieldtype": "class vr::IVRCompositor *"}, +{ "fieldname": "m_pVROverlay", "fieldtype": "class vr::IVROverlay *"}, +{ "fieldname": "m_pVRRenderModels", "fieldtype": "class vr::IVRRenderModels *"}, +{ "fieldname": "m_pVRExtendedDisplay", "fieldtype": "class vr::IVRExtendedDisplay *"}, +{ "fieldname": "m_pVRSettings", "fieldtype": "class vr::IVRSettings *"}, +{ "fieldname": "m_pVRApplications", "fieldtype": "class vr::IVRApplications *"}, +{ "fieldname": "m_pVRTrackedCamera", "fieldtype": "class vr::IVRTrackedCamera *"}, +{ "fieldname": "m_pVRScreenshots", "fieldtype": "class vr::IVRScreenshots *"}]} +], +"methods":[{ + "classname": "vr::IVRSystem", + "methodname": "GetRecommendedRenderTargetSize", + "returntype": "void", + "params": [ +{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetProjectionMatrix", + "returntype": "struct vr::HmdMatrix44_t", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "fNearZ" ,"paramtype": "float"}, +{ "paramname": "fFarZ" ,"paramtype": "float"}, +{ "paramname": "eProjType" ,"paramtype": "vr::EGraphicsAPIConvention"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetProjectionRaw", + "returntype": "void", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "pfLeft" ,"paramtype": "float *"}, +{ "paramname": "pfRight" ,"paramtype": "float *"}, +{ "paramname": "pfTop" ,"paramtype": "float *"}, +{ "paramname": "pfBottom" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "ComputeDistortion", + "returntype": "struct vr::DistortionCoordinates_t", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "fU" ,"paramtype": "float"}, +{ "paramname": "fV" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetEyeToHeadTransform", + "returntype": "struct vr::HmdMatrix34_t", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetTimeSinceLastVsync", + "returntype": "bool", + "params": [ +{ "paramname": "pfSecondsSinceLastVsync" ,"paramtype": "float *"}, +{ "paramname": "pulFrameCounter" ,"paramtype": "uint64_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetD3D9AdapterIndex", + "returntype": "int32_t" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetDXGIOutputInfo", + "returntype": "void", + "params": [ +{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "IsDisplayOnDesktop", + "returntype": "bool" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "SetDisplayVisibility", + "returntype": "bool", + "params": [ +{ "paramname": "bIsVisibleOnDesktop" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetDeviceToAbsoluteTrackingPose", + "returntype": "void", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "fPredictedSecondsToPhotonsFromNow" ,"paramtype": "float"}, +{ "paramname": "pTrackedDevicePoseArray" ,"array_count": "unTrackedDevicePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "unTrackedDevicePoseArrayCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "ResetSeatedZeroPose", + "returntype": "void" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetSeatedZeroPoseToStandingAbsoluteTrackingPose", + "returntype": "struct vr::HmdMatrix34_t" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetRawZeroPoseToStandingAbsoluteTrackingPose", + "returntype": "struct vr::HmdMatrix34_t" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetSortedTrackedDeviceIndicesOfClass", + "returntype": "uint32_t", + "params": [ +{ "paramname": "eTrackedDeviceClass" ,"paramtype": "vr::ETrackedDeviceClass"}, +{ "paramname": "punTrackedDeviceIndexArray" ,"array_count": "unTrackedDeviceIndexArrayCount" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, +{ "paramname": "unTrackedDeviceIndexArrayCount" ,"paramtype": "uint32_t"}, +{ "paramname": "unRelativeToTrackedDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetTrackedDeviceActivityLevel", + "returntype": "vr::EDeviceActivityLevel", + "params": [ +{ "paramname": "unDeviceId" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "ApplyTransform", + "returntype": "void", + "params": [ +{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "pTrackedDevicePose" ,"paramtype": "const struct vr::TrackedDevicePose_t *"}, +{ "paramname": "pTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetTrackedDeviceIndexForControllerRole", + "returntype": "vr::TrackedDeviceIndex_t", + "params": [ +{ "paramname": "unDeviceType" ,"paramtype": "vr::ETrackedControllerRole"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetControllerRoleForTrackedDeviceIndex", + "returntype": "vr::ETrackedControllerRole", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetTrackedDeviceClass", + "returntype": "vr::ETrackedDeviceClass", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "IsTrackedDeviceConnected", + "returntype": "bool", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetBoolTrackedDeviceProperty", + "returntype": "bool", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetFloatTrackedDeviceProperty", + "returntype": "float", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetInt32TrackedDeviceProperty", + "returntype": "int32_t", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetUint64TrackedDeviceProperty", + "returntype": "uint64_t", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetMatrix34TrackedDeviceProperty", + "returntype": "struct vr::HmdMatrix34_t", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetStringTrackedDeviceProperty", + "returntype": "uint32_t", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "prop" ,"paramtype": "vr::ETrackedDeviceProperty"}, +{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, +{ "paramname": "pError" ,"paramtype": "vr::ETrackedPropertyError *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetPropErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "error" ,"paramtype": "vr::ETrackedPropertyError"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "PollNextEvent", + "returntype": "bool", + "params": [ +{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, +{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "PollNextEventWithPose", + "returntype": "bool", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, +{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"}, +{ "paramname": "pTrackedDevicePose" ,"paramtype": "vr::TrackedDevicePose_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetEventTypeNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "eType" ,"paramtype": "vr::EVREventType"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetHiddenAreaMesh", + "returntype": "struct vr::HiddenAreaMesh_t", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetControllerState", + "returntype": "bool", + "params": [ +{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetControllerStateWithPose", + "returntype": "bool", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pControllerState" ,"paramtype": "vr::VRControllerState_t *"}, +{ "paramname": "pTrackedDevicePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "TriggerHapticPulse", + "returntype": "void", + "params": [ +{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "unAxisId" ,"paramtype": "uint32_t"}, +{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetButtonIdNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "eButtonId" ,"paramtype": "vr::EVRButtonId"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "GetControllerAxisTypeNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "eAxisType" ,"paramtype": "vr::EVRControllerAxisType"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "CaptureInputFocus", + "returntype": "bool" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "ReleaseInputFocus", + "returntype": "void" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "IsInputFocusCapturedByAnotherProcess", + "returntype": "bool" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "DriverDebugRequest", + "returntype": "uint32_t", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pchRequest" ,"paramtype": "const char *"}, +{ "paramname": "pchResponseBuffer" ,"paramtype": "char *"}, +{ "paramname": "unResponseBufferSize" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "PerformFirmwareUpdate", + "returntype": "vr::EVRFirmwareError", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVRSystem", + "methodname": "AcknowledgeQuit_Exiting", + "returntype": "void" +} +,{ + "classname": "vr::IVRSystem", + "methodname": "AcknowledgeQuit_UserPrompt", + "returntype": "void" +} +,{ + "classname": "vr::IVRExtendedDisplay", + "methodname": "GetWindowBounds", + "returntype": "void", + "params": [ +{ "paramname": "pnX" ,"paramtype": "int32_t *"}, +{ "paramname": "pnY" ,"paramtype": "int32_t *"}, +{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRExtendedDisplay", + "methodname": "GetEyeOutputViewport", + "returntype": "void", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "pnX" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnY" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRExtendedDisplay", + "methodname": "GetDXGIOutputInfo", + "returntype": "void", + "params": [ +{ "paramname": "pnAdapterIndex" ,"paramtype": "int32_t *"}, +{ "paramname": "pnAdapterOutputIndex" ,"paramtype": "int32_t *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "GetCameraErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "eCameraError" ,"paramtype": "vr::EVRTrackedCameraError"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "HasCamera", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pHasCamera" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "GetCameraFrameSize", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, +{ "paramname": "pnWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnHeight" ,"paramtype": "uint32_t *"}, +{ "paramname": "pnFrameBufferSize" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "GetCameraIntrinisics", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, +{ "paramname": "pFocalLength" ,"paramtype": "vr::HmdVector2_t *"}, +{ "paramname": "pCenter" ,"paramtype": "vr::HmdVector2_t *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "GetCameraProjection", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, +{ "paramname": "flZNear" ,"paramtype": "float"}, +{ "paramname": "flZFar" ,"paramtype": "float"}, +{ "paramname": "pProjection" ,"paramtype": "vr::HmdMatrix44_t *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "AcquireVideoStreamingService", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "nDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pHandle" ,"paramtype": "vr::TrackedCameraHandle_t *"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "ReleaseVideoStreamingService", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"} + ] +} +,{ + "classname": "vr::IVRTrackedCamera", + "methodname": "GetVideoStreamFrameBuffer", + "returntype": "vr::EVRTrackedCameraError", + "params": [ +{ "paramname": "hTrackedCamera" ,"paramtype": "vr::TrackedCameraHandle_t"}, +{ "paramname": "eFrameType" ,"paramtype": "vr::EVRTrackedCameraFrameType"}, +{ "paramname": "pFrameBuffer" ,"paramtype": "void *"}, +{ "paramname": "nFrameBufferSize" ,"paramtype": "uint32_t"}, +{ "paramname": "pFrameHeader" ,"paramtype": "vr::CameraVideoStreamFrameHeader_t *"}, +{ "paramname": "nFrameHeaderSize" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "AddApplicationManifest", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"}, +{ "paramname": "bTemporary" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "RemoveApplicationManifest", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchApplicationManifestFullPath" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "IsApplicationInstalled", + "returntype": "bool", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationCount", + "returntype": "uint32_t" +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationKeyByIndex", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "unApplicationIndex" ,"paramtype": "uint32_t"}, +{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, +{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationKeyByProcessId", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, +{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, +{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "LaunchApplication", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "LaunchTemplateApplication", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchTemplateAppKey" ,"paramtype": "const char *"}, +{ "paramname": "pchNewAppKey" ,"paramtype": "const char *"}, +{ "paramname": "pKeys" ,"array_count": "unKeys" ,"paramtype": "const struct vr::AppOverrideKeys_t *"}, +{ "paramname": "unKeys" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "LaunchDashboardOverlay", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "CancelApplicationLaunch", + "returntype": "bool", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "IdentifyApplication", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "unProcessId" ,"paramtype": "uint32_t"}, +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationProcessId", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationsErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "error" ,"paramtype": "vr::EVRApplicationError"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationPropertyString", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, +{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, +{ "paramname": "pchPropertyValueBuffer" ,"paramtype": "char *"}, +{ "paramname": "unPropertyValueBufferLen" ,"paramtype": "uint32_t"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationPropertyBool", + "returntype": "bool", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, +{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationPropertyUint64", + "returntype": "uint64_t", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, +{ "paramname": "eProperty" ,"paramtype": "vr::EVRApplicationProperty"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRApplicationError *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "SetApplicationAutoLaunch", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"}, +{ "paramname": "bAutoLaunch" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationAutoLaunch", + "returntype": "bool", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetStartingApplication", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchAppKeyBuffer" ,"paramtype": "char *"}, +{ "paramname": "unAppKeyBufferLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetTransitionState", + "returntype": "vr::EVRApplicationTransitionState" +} +,{ + "classname": "vr::IVRApplications", + "methodname": "PerformApplicationPrelaunchCheck", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchAppKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "GetApplicationsTransitionStateNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "state" ,"paramtype": "vr::EVRApplicationTransitionState"} + ] +} +,{ + "classname": "vr::IVRApplications", + "methodname": "IsQuitUserPromptRequested", + "returntype": "bool" +} +,{ + "classname": "vr::IVRApplications", + "methodname": "LaunchInternalProcess", + "returntype": "vr::EVRApplicationError", + "params": [ +{ "paramname": "pchBinaryPath" ,"paramtype": "const char *"}, +{ "paramname": "pchArguments" ,"paramtype": "const char *"}, +{ "paramname": "pchWorkingDirectory" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "GetCalibrationState", + "returntype": "vr::ChaperoneCalibrationState" +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "GetPlayAreaSize", + "returntype": "bool", + "params": [ +{ "paramname": "pSizeX" ,"paramtype": "float *"}, +{ "paramname": "pSizeZ" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "GetPlayAreaRect", + "returntype": "bool", + "params": [ +{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} + ] +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "ReloadInfo", + "returntype": "void" +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "SetSceneColor", + "returntype": "void", + "params": [ +{ "paramname": "color" ,"paramtype": "struct vr::HmdColor_t"} + ] +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "GetBoundsColor", + "returntype": "void", + "params": [ +{ "paramname": "pOutputColorArray" ,"paramtype": "struct vr::HmdColor_t *"}, +{ "paramname": "nNumOutputColors" ,"paramtype": "int"}, +{ "paramname": "flCollisionBoundsFadeDistance" ,"paramtype": "float"}, +{ "paramname": "pOutputCameraColor" ,"paramtype": "struct vr::HmdColor_t *"} + ] +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "AreBoundsVisible", + "returntype": "bool" +} +,{ + "classname": "vr::IVRChaperone", + "methodname": "ForceBoundsVisible", + "returntype": "void", + "params": [ +{ "paramname": "bForce" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "CommitWorkingCopy", + "returntype": "bool", + "params": [ +{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "RevertWorkingCopy", + "returntype": "void" +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetWorkingPlayAreaSize", + "returntype": "bool", + "params": [ +{ "paramname": "pSizeX" ,"paramtype": "float *"}, +{ "paramname": "pSizeZ" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetWorkingPlayAreaRect", + "returntype": "bool", + "params": [ +{ "paramname": "rect" ,"paramtype": "struct vr::HmdQuad_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetWorkingCollisionBoundsInfo", + "returntype": "bool", + "params": [ +{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, +{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetLiveCollisionBoundsInfo", + "returntype": "bool", + "params": [ +{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, +{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetWorkingSeatedZeroPoseToRawTrackingPose", + "returntype": "bool", + "params": [ +{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetWorkingStandingZeroPoseToRawTrackingPose", + "returntype": "bool", + "params": [ +{ "paramname": "pmatStandingZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingPlayAreaSize", + "returntype": "void", + "params": [ +{ "paramname": "sizeX" ,"paramtype": "float"}, +{ "paramname": "sizeZ" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingCollisionBoundsInfo", + "returntype": "void", + "params": [ +{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, +{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingSeatedZeroPoseToRawTrackingPose", + "returntype": "void", + "params": [ +{ "paramname": "pMatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingStandingZeroPoseToRawTrackingPose", + "returntype": "void", + "params": [ +{ "paramname": "pMatStandingZeroPoseToRawTrackingPose" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "ReloadFromDisk", + "returntype": "void", + "params": [ +{ "paramname": "configFile" ,"paramtype": "vr::EChaperoneConfigFile"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetLiveSeatedZeroPoseToRawTrackingPose", + "returntype": "bool", + "params": [ +{ "paramname": "pmatSeatedZeroPoseToRawTrackingPose" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingCollisionBoundsTagsInfo", + "returntype": "void", + "params": [ +{ "paramname": "pTagsBuffer" ,"array_count": "unTagCount" ,"paramtype": "uint8_t *"}, +{ "paramname": "unTagCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetLiveCollisionBoundsTagsInfo", + "returntype": "bool", + "params": [ +{ "paramname": "pTagsBuffer" ,"out_array_count": "punTagCount" ,"paramtype": "uint8_t *"}, +{ "paramname": "punTagCount" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "SetWorkingPhysicalBoundsInfo", + "returntype": "bool", + "params": [ +{ "paramname": "pQuadsBuffer" ,"array_count": "unQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, +{ "paramname": "unQuadsCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "GetLivePhysicalBoundsInfo", + "returntype": "bool", + "params": [ +{ "paramname": "pQuadsBuffer" ,"out_array_count": "punQuadsCount" ,"paramtype": "struct vr::HmdQuad_t *"}, +{ "paramname": "punQuadsCount" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "ExportLiveToBuffer", + "returntype": "bool", + "params": [ +{ "paramname": "pBuffer" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "pnBufferLength" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVRChaperoneSetup", + "methodname": "ImportFromBufferToWorking", + "returntype": "bool", + "params": [ +{ "paramname": "pBuffer" ,"paramtype": "const char *"}, +{ "paramname": "nImportFlags" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "SetTrackingSpace", + "returntype": "void", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetTrackingSpace", + "returntype": "vr::ETrackingUniverseOrigin" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "WaitGetPoses", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, +{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetLastPoses", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "pRenderPoseArray" ,"array_count": "unRenderPoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "unRenderPoseArrayCount" ,"paramtype": "uint32_t"}, +{ "paramname": "pGamePoseArray" ,"array_count": "unGamePoseArrayCount" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "unGamePoseArrayCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetLastPoseForTrackedDeviceIndex", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pOutputPose" ,"paramtype": "struct vr::TrackedDevicePose_t *"}, +{ "paramname": "pOutputGamePose" ,"paramtype": "struct vr::TrackedDevicePose_t *"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "Submit", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"}, +{ "paramname": "pBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"}, +{ "paramname": "nSubmitFlags" ,"paramtype": "vr::EVRSubmitFlags"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ClearLastSubmittedFrame", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "PostPresentHandoff", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetFrameTiming", + "returntype": "bool", + "params": [ +{ "paramname": "pTiming" ,"paramtype": "struct vr::Compositor_FrameTiming *"}, +{ "paramname": "unFramesAgo" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetFrameTimeRemaining", + "returntype": "float" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetCumulativeStats", + "returntype": "void", + "params": [ +{ "paramname": "pStats" ,"paramtype": "struct vr::Compositor_CumulativeStats *"}, +{ "paramname": "nStatsSizeInBytes" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "FadeToColor", + "returntype": "void", + "params": [ +{ "paramname": "fSeconds" ,"paramtype": "float"}, +{ "paramname": "fRed" ,"paramtype": "float"}, +{ "paramname": "fGreen" ,"paramtype": "float"}, +{ "paramname": "fBlue" ,"paramtype": "float"}, +{ "paramname": "fAlpha" ,"paramtype": "float"}, +{ "paramname": "bBackground" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "FadeGrid", + "returntype": "void", + "params": [ +{ "paramname": "fSeconds" ,"paramtype": "float"}, +{ "paramname": "bFadeIn" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "SetSkyboxOverride", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "pTextures" ,"array_count": "unTextureCount" ,"paramtype": "const struct vr::Texture_t *"}, +{ "paramname": "unTextureCount" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ClearSkyboxOverride", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "CompositorBringToFront", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "CompositorGoToBack", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "CompositorQuit", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "IsFullscreen", + "returntype": "bool" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetCurrentSceneFocusProcess", + "returntype": "uint32_t" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetLastFrameRenderer", + "returntype": "uint32_t" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "CanRenderScene", + "returntype": "bool" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ShowMirrorWindow", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "HideMirrorWindow", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "IsMirrorWindowVisible", + "returntype": "bool" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "CompositorDumpImages", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ShouldAppRenderWithLowResources", + "returntype": "bool" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ForceInterleavedReprojectionOn", + "returntype": "void", + "params": [ +{ "paramname": "bOverride" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ForceReconnectProcess", + "returntype": "void" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "SuspendRendering", + "returntype": "void", + "params": [ +{ "paramname": "bSuspend" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "RequestScreenshot", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, +{ "paramname": "pchDestinationFileName" ,"paramtype": "const char *"}, +{ "paramname": "pchVRDestinationFileName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetCurrentScreenshotType", + "returntype": "vr::EVRScreenshotType" +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetMirrorTextureD3D11", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "pD3D11DeviceOrResource" ,"paramtype": "void *"}, +{ "paramname": "ppD3D11ShaderResourceView" ,"paramtype": "void **"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "GetMirrorTextureGL", + "returntype": "vr::EVRCompositorError", + "params": [ +{ "paramname": "eEye" ,"paramtype": "vr::EVREye"}, +{ "paramname": "pglTextureId" ,"paramtype": "vr::glUInt_t *"}, +{ "paramname": "pglSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t *"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "ReleaseSharedGLTexture", + "returntype": "bool", + "params": [ +{ "paramname": "glTextureId" ,"paramtype": "vr::glUInt_t"}, +{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "LockGLSharedTextureForAccess", + "returntype": "void", + "params": [ +{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} + ] +} +,{ + "classname": "vr::IVRCompositor", + "methodname": "UnlockGLSharedTextureForAccess", + "returntype": "void", + "params": [ +{ "paramname": "glSharedTextureHandle" ,"paramtype": "vr::glSharedTextureHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "FindOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, +{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "CreateOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, +{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, +{ "paramname": "pOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "DestroyOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetHighQualityOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetHighQualityOverlay", + "returntype": "vr::VROverlayHandle_t" +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayKey", + "returntype": "uint32_t", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, +{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayName", + "returntype": "uint32_t", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pchValue" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, +{ "paramname": "pError" ,"paramtype": "vr::EVROverlayError *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayImageData", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pvBuffer" ,"paramtype": "void *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32_t"}, +{ "paramname": "punWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "punHeight" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "error" ,"paramtype": "vr::EVROverlayError"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayRenderingPid", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unPID" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayRenderingPid", + "returntype": "uint32_t", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayFlag", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, +{ "paramname": "bEnabled" ,"paramtype": "bool"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayFlag", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eOverlayFlag" ,"paramtype": "vr::VROverlayFlags"}, +{ "paramname": "pbEnabled" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayColor", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "fRed" ,"paramtype": "float"}, +{ "paramname": "fGreen" ,"paramtype": "float"}, +{ "paramname": "fBlue" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayColor", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pfRed" ,"paramtype": "float *"}, +{ "paramname": "pfGreen" ,"paramtype": "float *"}, +{ "paramname": "pfBlue" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayAlpha", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "fAlpha" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayAlpha", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pfAlpha" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayWidthInMeters", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "fWidthInMeters" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayWidthInMeters", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pfWidthInMeters" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayAutoCurveDistanceRangeInMeters", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "fMinDistanceInMeters" ,"paramtype": "float"}, +{ "paramname": "fMaxDistanceInMeters" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayAutoCurveDistanceRangeInMeters", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pfMinDistanceInMeters" ,"paramtype": "float *"}, +{ "paramname": "pfMaxDistanceInMeters" ,"paramtype": "float *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTextureColorSpace", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eTextureColorSpace" ,"paramtype": "vr::EColorSpace"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTextureColorSpace", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "peTextureColorSpace" ,"paramtype": "vr::EColorSpace *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTextureBounds", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pOverlayTextureBounds" ,"paramtype": "const struct vr::VRTextureBounds_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTextureBounds", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pOverlayTextureBounds" ,"paramtype": "struct vr::VRTextureBounds_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTransformType", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "peTransformType" ,"paramtype": "vr::VROverlayTransformType *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTransformAbsolute", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTransformAbsolute", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "peTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin *"}, +{ "paramname": "pmatTrackingOriginToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTransformTrackedDeviceRelative", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTransformTrackedDeviceRelative", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "punTrackedDevice" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, +{ "paramname": "pmatTrackedDeviceToOverlayTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTransformTrackedDeviceComponent", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"}, +{ "paramname": "pchComponentName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTransformTrackedDeviceComponent", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "punDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t *"}, +{ "paramname": "pchComponentName" ,"paramtype": "char *"}, +{ "paramname": "unComponentNameSize" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ShowOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "HideOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "IsOverlayVisible", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetTransformForOverlayCoordinates", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "coordinatesInOverlay" ,"paramtype": "struct vr::HmdVector2_t"}, +{ "paramname": "pmatTransform" ,"paramtype": "struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "PollNextOverlayEvent", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pEvent" ,"paramtype": "struct vr::VREvent_t *"}, +{ "paramname": "uncbVREvent" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayInputMethod", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "peInputMethod" ,"paramtype": "vr::VROverlayInputMethod *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayInputMethod", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eInputMethod" ,"paramtype": "vr::VROverlayInputMethod"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayMouseScale", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pvecMouseScale" ,"paramtype": "struct vr::HmdVector2_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayMouseScale", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pvecMouseScale" ,"paramtype": "const struct vr::HmdVector2_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ComputeOverlayIntersection", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pParams" ,"paramtype": "const struct vr::VROverlayIntersectionParams_t *"}, +{ "paramname": "pResults" ,"paramtype": "struct vr::VROverlayIntersectionResults_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "HandleControllerOverlayInteractionAsMouse", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unControllerDeviceIndex" ,"paramtype": "vr::TrackedDeviceIndex_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "IsHoverTargetOverlay", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetGamepadFocusOverlay", + "returntype": "vr::VROverlayHandle_t" +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetGamepadFocusOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulNewFocusOverlay" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayNeighbor", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, +{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "ulTo" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "MoveGamepadFocusToNeighbor", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "eDirection" ,"paramtype": "vr::EOverlayDirection"}, +{ "paramname": "ulFrom" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayTexture", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pTexture" ,"paramtype": "const struct vr::Texture_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ClearOverlayTexture", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayRaw", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pvBuffer" ,"paramtype": "void *"}, +{ "paramname": "unWidth" ,"paramtype": "uint32_t"}, +{ "paramname": "unHeight" ,"paramtype": "uint32_t"}, +{ "paramname": "unDepth" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetOverlayFromFile", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pchFilePath" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTexture", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pNativeTextureHandle" ,"paramtype": "void **"}, +{ "paramname": "pNativeTextureRef" ,"paramtype": "void *"}, +{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pHeight" ,"paramtype": "uint32_t *"}, +{ "paramname": "pNativeFormat" ,"paramtype": "uint32_t *"}, +{ "paramname": "pAPI" ,"paramtype": "vr::EGraphicsAPIConvention *"}, +{ "paramname": "pColorSpace" ,"paramtype": "vr::EColorSpace *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ReleaseNativeOverlayHandle", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pNativeTextureHandle" ,"paramtype": "void *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetOverlayTextureSize", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "pWidth" ,"paramtype": "uint32_t *"}, +{ "paramname": "pHeight" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "CreateDashboardOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "pchOverlayKey" ,"paramtype": "const char *"}, +{ "paramname": "pchOverlayFriendlyName" ,"paramtype": "const char *"}, +{ "paramname": "pMainHandle" ,"paramtype": "vr::VROverlayHandle_t *"}, +{ "paramname": "pThumbnailHandle" ,"paramtype": "vr::VROverlayHandle_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "IsDashboardVisible", + "returntype": "bool" +} +,{ + "classname": "vr::IVROverlay", + "methodname": "IsActiveDashboardOverlay", + "returntype": "bool", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetDashboardOverlaySceneProcess", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "unProcessId" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetDashboardOverlaySceneProcess", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "punProcessId" ,"paramtype": "uint32_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ShowDashboard", + "returntype": "void", + "params": [ +{ "paramname": "pchOverlayToShow" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetPrimaryDashboardDevice", + "returntype": "vr::TrackedDeviceIndex_t" +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ShowKeyboard", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, +{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"}, +{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, +{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, +{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, +{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "ShowKeyboardForOverlay", + "returntype": "vr::EVROverlayError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "eInputMode" ,"paramtype": "vr::EGamepadTextInputMode"}, +{ "paramname": "eLineInputMode" ,"paramtype": "vr::EGamepadTextInputLineMode"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"}, +{ "paramname": "unCharMax" ,"paramtype": "uint32_t"}, +{ "paramname": "pchExistingText" ,"paramtype": "const char *"}, +{ "paramname": "bUseMinimalMode" ,"paramtype": "bool"}, +{ "paramname": "uUserValue" ,"paramtype": "uint64_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "GetKeyboardText", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchText" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "cchText" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "HideKeyboard", + "returntype": "void" +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetKeyboardTransformAbsolute", + "returntype": "void", + "params": [ +{ "paramname": "eTrackingOrigin" ,"paramtype": "vr::ETrackingUniverseOrigin"}, +{ "paramname": "pmatTrackingOriginToKeyboardTransform" ,"paramtype": "const struct vr::HmdMatrix34_t *"} + ] +} +,{ + "classname": "vr::IVROverlay", + "methodname": "SetKeyboardPositionForOverlay", + "returntype": "void", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "avoidRect" ,"paramtype": "struct vr::HmdRect2_t"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "LoadRenderModel_Async", + "returntype": "vr::EVRRenderModelError", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "ppRenderModel" ,"paramtype": "struct vr::RenderModel_t **"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "FreeRenderModel", + "returntype": "void", + "params": [ +{ "paramname": "pRenderModel" ,"paramtype": "struct vr::RenderModel_t *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "LoadTexture_Async", + "returntype": "vr::EVRRenderModelError", + "params": [ +{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, +{ "paramname": "ppTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t **"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "FreeTexture", + "returntype": "void", + "params": [ +{ "paramname": "pTexture" ,"paramtype": "struct vr::RenderModel_TextureMap_t *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "LoadTextureD3D11_Async", + "returntype": "vr::EVRRenderModelError", + "params": [ +{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, +{ "paramname": "pD3D11Device" ,"paramtype": "void *"}, +{ "paramname": "ppD3D11Texture2D" ,"paramtype": "void **"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "LoadIntoTextureD3D11_Async", + "returntype": "vr::EVRRenderModelError", + "params": [ +{ "paramname": "textureId" ,"paramtype": "vr::TextureID_t"}, +{ "paramname": "pDstTexture" ,"paramtype": "void *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "FreeTextureD3D11", + "returntype": "void", + "params": [ +{ "paramname": "pD3D11Texture2D" ,"paramtype": "void *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetRenderModelName", + "returntype": "uint32_t", + "params": [ +{ "paramname": "unRenderModelIndex" ,"paramtype": "uint32_t"}, +{ "paramname": "pchRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unRenderModelNameLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetRenderModelCount", + "returntype": "uint32_t" +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetComponentCount", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetComponentName", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "unComponentIndex" ,"paramtype": "uint32_t"}, +{ "paramname": "pchComponentName" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unComponentNameLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetComponentButtonMask", + "returntype": "uint64_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchComponentName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetComponentRenderModelName", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, +{ "paramname": "pchComponentRenderModelName" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unComponentRenderModelNameLen" ,"paramtype": "uint32_t"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetComponentState", + "returntype": "bool", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchComponentName" ,"paramtype": "const char *"}, +{ "paramname": "pControllerState" ,"paramtype": "const vr::VRControllerState_t *"}, +{ "paramname": "pState" ,"paramtype": "const struct vr::RenderModel_ControllerMode_State_t *"}, +{ "paramname": "pComponentState" ,"paramtype": "struct vr::RenderModel_ComponentState_t *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "RenderModelHasComponent", + "returntype": "bool", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchComponentName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetRenderModelThumbnailURL", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchThumbnailURL" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unThumbnailURLLen" ,"paramtype": "uint32_t"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetRenderModelOriginalPath", + "returntype": "uint32_t", + "params": [ +{ "paramname": "pchRenderModelName" ,"paramtype": "const char *"}, +{ "paramname": "pchOriginalPath" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "unOriginalPathLen" ,"paramtype": "uint32_t"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRRenderModelError *"} + ] +} +,{ + "classname": "vr::IVRRenderModels", + "methodname": "GetRenderModelErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "error" ,"paramtype": "vr::EVRRenderModelError"} + ] +} +,{ + "classname": "vr::IVRNotifications", + "methodname": "CreateNotification", + "returntype": "vr::EVRNotificationError", + "params": [ +{ "paramname": "ulOverlayHandle" ,"paramtype": "vr::VROverlayHandle_t"}, +{ "paramname": "ulUserValue" ,"paramtype": "uint64_t"}, +{ "paramname": "type" ,"paramtype": "vr::EVRNotificationType"}, +{ "paramname": "pchText" ,"paramtype": "const char *"}, +{ "paramname": "style" ,"paramtype": "vr::EVRNotificationStyle"}, +{ "paramname": "pImage" ,"paramtype": "const struct vr::NotificationBitmap_t *"}, +{ "paramname": "pNotificationId" ,"paramtype": "vr::VRNotificationId *"} + ] +} +,{ + "classname": "vr::IVRNotifications", + "methodname": "RemoveNotification", + "returntype": "vr::EVRNotificationError", + "params": [ +{ "paramname": "notificationId" ,"paramtype": "vr::VRNotificationId"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "GetSettingsErrorNameFromEnum", + "returntype": "const char *", + "params": [ +{ "paramname": "eError" ,"paramtype": "vr::EVRSettingsError"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "Sync", + "returntype": "bool", + "params": [ +{ "paramname": "bForce" ,"paramtype": "bool"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "GetBool", + "returntype": "bool", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "bDefaultValue" ,"paramtype": "bool"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "SetBool", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "bValue" ,"paramtype": "bool"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "GetInt32", + "returntype": "int32_t", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "nDefaultValue" ,"paramtype": "int32_t"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "SetInt32", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "nValue" ,"paramtype": "int32_t"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "GetFloat", + "returntype": "float", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "flDefaultValue" ,"paramtype": "float"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "SetFloat", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "flValue" ,"paramtype": "float"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "GetString", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "char *"}, +{ "paramname": "unValueLen" ,"paramtype": "uint32_t"}, +{ "paramname": "pchDefaultValue" ,"paramtype": "const char *"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "SetString", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "RemoveSection", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRSettings", + "methodname": "RemoveKeyInSection", + "returntype": "void", + "params": [ +{ "paramname": "pchSection" ,"paramtype": "const char *"}, +{ "paramname": "pchSettingsKey" ,"paramtype": "const char *"}, +{ "paramname": "peError" ,"paramtype": "vr::EVRSettingsError *"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "RequestScreenshot", + "returntype": "vr::EVRScreenshotError", + "params": [ +{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, +{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, +{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, +{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "HookScreenshot", + "returntype": "vr::EVRScreenshotError", + "params": [ +{ "paramname": "pSupportedTypes" ,"array_count": "numTypes" ,"paramtype": "const vr::EVRScreenshotType *"}, +{ "paramname": "numTypes" ,"paramtype": "int"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "GetScreenshotPropertyType", + "returntype": "vr::EVRScreenshotType", + "params": [ +{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, +{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "GetScreenshotPropertyFilename", + "returntype": "uint32_t", + "params": [ +{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, +{ "paramname": "filenameType" ,"paramtype": "vr::EVRScreenshotPropertyFilenames"}, +{ "paramname": "pchFilename" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "cchFilename" ,"paramtype": "uint32_t"}, +{ "paramname": "pError" ,"paramtype": "vr::EVRScreenshotError *"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "UpdateScreenshotProgress", + "returntype": "vr::EVRScreenshotError", + "params": [ +{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, +{ "paramname": "flProgress" ,"paramtype": "float"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "TakeStereoScreenshot", + "returntype": "vr::EVRScreenshotError", + "params": [ +{ "paramname": "pOutScreenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t *"}, +{ "paramname": "pchPreviewFilename" ,"paramtype": "const char *"}, +{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "vr::IVRScreenshots", + "methodname": "SubmitScreenshot", + "returntype": "vr::EVRScreenshotError", + "params": [ +{ "paramname": "screenshotHandle" ,"paramtype": "vr::ScreenshotHandle_t"}, +{ "paramname": "type" ,"paramtype": "vr::EVRScreenshotType"}, +{ "paramname": "pchSourcePreviewFilename" ,"paramtype": "const char *"}, +{ "paramname": "pchSourceVRFilename" ,"paramtype": "const char *"} + ] +} +] +} \ No newline at end of file diff --git a/examples/ThirdPartyLibs/openvr/headers/openvr_capi.h b/examples/ThirdPartyLibs/openvr/headers/openvr_capi.h new file mode 100644 index 000000000..76eafd4d6 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/headers/openvr_capi.h @@ -0,0 +1,1626 @@ +//======= Copyright (c) Valve Corporation, All rights reserved. =============== +// +// Purpose: Header for flatted SteamAPI. Use this for binding to other languages. +// This file is auto-generated, do not edit it. +// +//============================================================================= + +#ifndef __OPENVR_API_FLAT_H__ +#define __OPENVR_API_FLAT_H__ +#if defined( _WIN32 ) || defined( __clang__ ) +#pragma once +#endif + +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C +#endif + +#define OPENVR_FNTABLE_CALLTYPE __stdcall + +// OPENVR API export macro +#if defined( _WIN32 ) && !defined( _X360 ) + #if defined( OPENVR_API_EXPORTS ) + #define S_API EXTERN_C __declspec( dllexport ) + #elif defined( OPENVR_API_NODLL ) + #define S_API EXTERN_C + #else + #define S_API extern "C" __declspec( dllimport ) + #endif // OPENVR_API_EXPORTS +#elif defined( GNUC ) + #if defined( OPENVR_API_EXPORTS ) + #define S_API EXTERN_C __attribute__ ((visibility("default"))) + #else + #define S_API EXTERN_C + #endif // OPENVR_API_EXPORTS +#else // !WIN32 + #if defined( OPENVR_API_EXPORTS ) + #define S_API EXTERN_C + #else + #define S_API EXTERN_C + #endif // OPENVR_API_EXPORTS +#endif + +#include + +#if defined( __WIN32 ) +typedef char bool; +#endif + + +// OpenVR Constants + +static const unsigned int k_unTrackingStringSize = 32; +static const unsigned int k_unMaxDriverDebugResponseSize = 32768; +static const unsigned int k_unTrackedDeviceIndex_Hmd = 0; +static const unsigned int k_unMaxTrackedDeviceCount = 16; +static const unsigned int k_unTrackedDeviceIndexOther = 4294967294; +static const unsigned int k_unTrackedDeviceIndexInvalid = 4294967295; +static const unsigned int k_unMaxPropertyStringSize = 32768; +static const unsigned int k_unControllerStateAxisCount = 5; +static const unsigned long k_ulOverlayHandleInvalid = 0; +static const unsigned int k_unScreenshotHandleInvalid = 0; +static const char * IVRSystem_Version = "IVRSystem_012"; +static const char * IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; +static const char * IVRTrackedCamera_Version = "IVRTrackedCamera_003"; +static const unsigned int k_unMaxApplicationKeyLength = 128; +static const char * IVRApplications_Version = "IVRApplications_005"; +static const char * IVRChaperone_Version = "IVRChaperone_003"; +static const char * IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; +static const char * IVRCompositor_Version = "IVRCompositor_015"; +static const unsigned int k_unVROverlayMaxKeyLength = 128; +static const unsigned int k_unVROverlayMaxNameLength = 128; +static const unsigned int k_unMaxOverlayCount = 32; +static const char * IVROverlay_Version = "IVROverlay_012"; +static const char * k_pch_Controller_Component_GDC2015 = "gdc2015"; +static const char * k_pch_Controller_Component_Base = "base"; +static const char * k_pch_Controller_Component_Tip = "tip"; +static const char * k_pch_Controller_Component_HandGrip = "handgrip"; +static const char * k_pch_Controller_Component_Status = "status"; +static const char * IVRRenderModels_Version = "IVRRenderModels_005"; +static const unsigned int k_unNotificationTextMaxSize = 256; +static const char * IVRNotifications_Version = "IVRNotifications_002"; +static const unsigned int k_unMaxSettingsKeyLength = 128; +static const char * IVRSettings_Version = "IVRSettings_001"; +static const char * k_pch_SteamVR_Section = "steamvr"; +static const char * k_pch_SteamVR_RequireHmd_String = "requireHmd"; +static const char * k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; +static const char * k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; +static const char * k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; +static const char * k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; +static const char * k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; +static const char * k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; +static const char * k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; +static const char * k_pch_SteamVR_SendSystemButtonToAllApps_Bool = "sendSystemButtonToAllApps"; +static const char * k_pch_SteamVR_LogLevel_Int32 = "loglevel"; +static const char * k_pch_SteamVR_IPD_Float = "ipd"; +static const char * k_pch_SteamVR_Background_String = "background"; +static const char * k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; +static const char * k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; +static const char * k_pch_SteamVR_Environment_String = "environment"; +static const char * k_pch_SteamVR_GridColor_String = "gridColor"; +static const char * k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; +static const char * k_pch_SteamVR_ShowStage_Bool = "showStage"; +static const char * k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; +static const char * k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; +static const char * k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; +static const char * k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; +static const char * k_pch_SteamVR_DirectMode_Bool = "directMode"; +static const char * k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; +static const char * k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; +static const char * k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; +static const char * k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; +static const char * k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; +static const char * k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; +static const char * k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; +static const char * k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; +static const char * k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; +static const char * k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; +static const char * k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; +static const char * k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; +static const char * k_pch_Lighthouse_Section = "driver_lighthouse"; +static const char * k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; +static const char * k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; +static const char * k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; +static const char * k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; +static const char * k_pch_Lighthouse_LighthouseName_String = "lighthousename"; +static const char * k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; +static const char * k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; +static const char * k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; +static const char * k_pch_Null_Section = "driver_null"; +static const char * k_pch_Null_EnableNullDriver_Bool = "enable"; +static const char * k_pch_Null_SerialNumber_String = "serialNumber"; +static const char * k_pch_Null_ModelNumber_String = "modelNumber"; +static const char * k_pch_Null_WindowX_Int32 = "windowX"; +static const char * k_pch_Null_WindowY_Int32 = "windowY"; +static const char * k_pch_Null_WindowWidth_Int32 = "windowWidth"; +static const char * k_pch_Null_WindowHeight_Int32 = "windowHeight"; +static const char * k_pch_Null_RenderWidth_Int32 = "renderWidth"; +static const char * k_pch_Null_RenderHeight_Int32 = "renderHeight"; +static const char * k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; +static const char * k_pch_Null_DisplayFrequency_Float = "displayFrequency"; +static const char * k_pch_UserInterface_Section = "userinterface"; +static const char * k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; +static const char * k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; +static const char * k_pch_Notifications_Section = "notifications"; +static const char * k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; +static const char * k_pch_Keyboard_Section = "keyboard"; +static const char * k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; +static const char * k_pch_Keyboard_ScaleX = "ScaleX"; +static const char * k_pch_Keyboard_ScaleY = "ScaleY"; +static const char * k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; +static const char * k_pch_Keyboard_OffsetRightX = "OffsetRightX"; +static const char * k_pch_Keyboard_OffsetY = "OffsetY"; +static const char * k_pch_Keyboard_Smoothing = "Smoothing"; +static const char * k_pch_Perf_Section = "perfcheck"; +static const char * k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; +static const char * k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; +static const char * k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; +static const char * k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; +static const char * k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; +static const char * k_pch_Perf_TestData_Float = "perfTestData"; +static const char * k_pch_CollisionBounds_Section = "collisionBounds"; +static const char * k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; +static const char * k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; +static const char * k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; +static const char * k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; +static const char * k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; +static const char * k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; +static const char * k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; +static const char * k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; +static const char * k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; +static const char * k_pch_Camera_Section = "camera"; +static const char * k_pch_Camera_EnableCamera_Bool = "enableCamera"; +static const char * k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; +static const char * k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; +static const char * k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; +static const char * k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; +static const char * k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; +static const char * k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; +static const char * k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; +static const char * k_pch_audio_Section = "audio"; +static const char * k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; +static const char * k_pch_audio_OnRecordDevice_String = "onRecordDevice"; +static const char * k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; +static const char * k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; +static const char * k_pch_audio_OffRecordDevice_String = "offRecordDevice"; +static const char * k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; +static const char * k_pch_modelskin_Section = "modelskins"; +static const char * IVRScreenshots_Version = "IVRScreenshots_001"; + +// OpenVR Enums + +typedef enum EVREye +{ + EVREye_Eye_Left = 0, + EVREye_Eye_Right = 1, +} EVREye; + +typedef enum EGraphicsAPIConvention +{ + EGraphicsAPIConvention_API_DirectX = 0, + EGraphicsAPIConvention_API_OpenGL = 1, +} EGraphicsAPIConvention; + +typedef enum EColorSpace +{ + EColorSpace_ColorSpace_Auto = 0, + EColorSpace_ColorSpace_Gamma = 1, + EColorSpace_ColorSpace_Linear = 2, +} EColorSpace; + +typedef enum ETrackingResult +{ + ETrackingResult_TrackingResult_Uninitialized = 1, + ETrackingResult_TrackingResult_Calibrating_InProgress = 100, + ETrackingResult_TrackingResult_Calibrating_OutOfRange = 101, + ETrackingResult_TrackingResult_Running_OK = 200, + ETrackingResult_TrackingResult_Running_OutOfRange = 201, +} ETrackingResult; + +typedef enum ETrackedDeviceClass +{ + ETrackedDeviceClass_TrackedDeviceClass_Invalid = 0, + ETrackedDeviceClass_TrackedDeviceClass_HMD = 1, + ETrackedDeviceClass_TrackedDeviceClass_Controller = 2, + ETrackedDeviceClass_TrackedDeviceClass_TrackingReference = 4, + ETrackedDeviceClass_TrackedDeviceClass_Other = 1000, +} ETrackedDeviceClass; + +typedef enum ETrackedControllerRole +{ + ETrackedControllerRole_TrackedControllerRole_Invalid = 0, + ETrackedControllerRole_TrackedControllerRole_LeftHand = 1, + ETrackedControllerRole_TrackedControllerRole_RightHand = 2, +} ETrackedControllerRole; + +typedef enum ETrackingUniverseOrigin +{ + ETrackingUniverseOrigin_TrackingUniverseSeated = 0, + ETrackingUniverseOrigin_TrackingUniverseStanding = 1, + ETrackingUniverseOrigin_TrackingUniverseRawAndUncalibrated = 2, +} ETrackingUniverseOrigin; + +typedef enum ETrackedDeviceProperty +{ + ETrackedDeviceProperty_Prop_TrackingSystemName_String = 1000, + ETrackedDeviceProperty_Prop_ModelNumber_String = 1001, + ETrackedDeviceProperty_Prop_SerialNumber_String = 1002, + ETrackedDeviceProperty_Prop_RenderModelName_String = 1003, + ETrackedDeviceProperty_Prop_WillDriftInYaw_Bool = 1004, + ETrackedDeviceProperty_Prop_ManufacturerName_String = 1005, + ETrackedDeviceProperty_Prop_TrackingFirmwareVersion_String = 1006, + ETrackedDeviceProperty_Prop_HardwareRevision_String = 1007, + ETrackedDeviceProperty_Prop_AllWirelessDongleDescriptions_String = 1008, + ETrackedDeviceProperty_Prop_ConnectedWirelessDongle_String = 1009, + ETrackedDeviceProperty_Prop_DeviceIsWireless_Bool = 1010, + ETrackedDeviceProperty_Prop_DeviceIsCharging_Bool = 1011, + ETrackedDeviceProperty_Prop_DeviceBatteryPercentage_Float = 1012, + ETrackedDeviceProperty_Prop_StatusDisplayTransform_Matrix34 = 1013, + ETrackedDeviceProperty_Prop_Firmware_UpdateAvailable_Bool = 1014, + ETrackedDeviceProperty_Prop_Firmware_ManualUpdate_Bool = 1015, + ETrackedDeviceProperty_Prop_Firmware_ManualUpdateURL_String = 1016, + ETrackedDeviceProperty_Prop_HardwareRevision_Uint64 = 1017, + ETrackedDeviceProperty_Prop_FirmwareVersion_Uint64 = 1018, + ETrackedDeviceProperty_Prop_FPGAVersion_Uint64 = 1019, + ETrackedDeviceProperty_Prop_VRCVersion_Uint64 = 1020, + ETrackedDeviceProperty_Prop_RadioVersion_Uint64 = 1021, + ETrackedDeviceProperty_Prop_DongleVersion_Uint64 = 1022, + ETrackedDeviceProperty_Prop_BlockServerShutdown_Bool = 1023, + ETrackedDeviceProperty_Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + ETrackedDeviceProperty_Prop_ContainsProximitySensor_Bool = 1025, + ETrackedDeviceProperty_Prop_DeviceProvidesBatteryStatus_Bool = 1026, + ETrackedDeviceProperty_Prop_DeviceCanPowerOff_Bool = 1027, + ETrackedDeviceProperty_Prop_Firmware_ProgrammingTarget_String = 1028, + ETrackedDeviceProperty_Prop_DeviceClass_Int32 = 1029, + ETrackedDeviceProperty_Prop_HasCamera_Bool = 1030, + ETrackedDeviceProperty_Prop_DriverVersion_String = 1031, + ETrackedDeviceProperty_Prop_Firmware_ForceUpdateRequired_Bool = 1032, + ETrackedDeviceProperty_Prop_ReportsTimeSinceVSync_Bool = 2000, + ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float = 2001, + ETrackedDeviceProperty_Prop_DisplayFrequency_Float = 2002, + ETrackedDeviceProperty_Prop_UserIpdMeters_Float = 2003, + ETrackedDeviceProperty_Prop_CurrentUniverseId_Uint64 = 2004, + ETrackedDeviceProperty_Prop_PreviousUniverseId_Uint64 = 2005, + ETrackedDeviceProperty_Prop_DisplayFirmwareVersion_Uint64 = 2006, + ETrackedDeviceProperty_Prop_IsOnDesktop_Bool = 2007, + ETrackedDeviceProperty_Prop_DisplayMCType_Int32 = 2008, + ETrackedDeviceProperty_Prop_DisplayMCOffset_Float = 2009, + ETrackedDeviceProperty_Prop_DisplayMCScale_Float = 2010, + ETrackedDeviceProperty_Prop_EdidVendorID_Int32 = 2011, + ETrackedDeviceProperty_Prop_DisplayMCImageLeft_String = 2012, + ETrackedDeviceProperty_Prop_DisplayMCImageRight_String = 2013, + ETrackedDeviceProperty_Prop_DisplayGCBlackClamp_Float = 2014, + ETrackedDeviceProperty_Prop_EdidProductID_Int32 = 2015, + ETrackedDeviceProperty_Prop_CameraToHeadTransform_Matrix34 = 2016, + ETrackedDeviceProperty_Prop_DisplayGCType_Int32 = 2017, + ETrackedDeviceProperty_Prop_DisplayGCOffset_Float = 2018, + ETrackedDeviceProperty_Prop_DisplayGCScale_Float = 2019, + ETrackedDeviceProperty_Prop_DisplayGCPrescale_Float = 2020, + ETrackedDeviceProperty_Prop_DisplayGCImage_String = 2021, + ETrackedDeviceProperty_Prop_LensCenterLeftU_Float = 2022, + ETrackedDeviceProperty_Prop_LensCenterLeftV_Float = 2023, + ETrackedDeviceProperty_Prop_LensCenterRightU_Float = 2024, + ETrackedDeviceProperty_Prop_LensCenterRightV_Float = 2025, + ETrackedDeviceProperty_Prop_UserHeadToEyeDepthMeters_Float = 2026, + ETrackedDeviceProperty_Prop_CameraFirmwareVersion_Uint64 = 2027, + ETrackedDeviceProperty_Prop_CameraFirmwareDescription_String = 2028, + ETrackedDeviceProperty_Prop_DisplayFPGAVersion_Uint64 = 2029, + ETrackedDeviceProperty_Prop_DisplayBootloaderVersion_Uint64 = 2030, + ETrackedDeviceProperty_Prop_DisplayHardwareVersion_Uint64 = 2031, + ETrackedDeviceProperty_Prop_AudioFirmwareVersion_Uint64 = 2032, + ETrackedDeviceProperty_Prop_CameraCompatibilityMode_Int32 = 2033, + ETrackedDeviceProperty_Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + ETrackedDeviceProperty_Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + ETrackedDeviceProperty_Prop_DisplaySuppressed_Bool = 2036, + ETrackedDeviceProperty_Prop_AttachedDeviceId_String = 3000, + ETrackedDeviceProperty_Prop_SupportedButtons_Uint64 = 3001, + ETrackedDeviceProperty_Prop_Axis0Type_Int32 = 3002, + ETrackedDeviceProperty_Prop_Axis1Type_Int32 = 3003, + ETrackedDeviceProperty_Prop_Axis2Type_Int32 = 3004, + ETrackedDeviceProperty_Prop_Axis3Type_Int32 = 3005, + ETrackedDeviceProperty_Prop_Axis4Type_Int32 = 3006, + ETrackedDeviceProperty_Prop_FieldOfViewLeftDegrees_Float = 4000, + ETrackedDeviceProperty_Prop_FieldOfViewRightDegrees_Float = 4001, + ETrackedDeviceProperty_Prop_FieldOfViewTopDegrees_Float = 4002, + ETrackedDeviceProperty_Prop_FieldOfViewBottomDegrees_Float = 4003, + ETrackedDeviceProperty_Prop_TrackingRangeMinimumMeters_Float = 4004, + ETrackedDeviceProperty_Prop_TrackingRangeMaximumMeters_Float = 4005, + ETrackedDeviceProperty_Prop_ModeLabel_String = 4006, + ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_Start = 10000, + ETrackedDeviceProperty_Prop_VendorSpecific_Reserved_End = 10999, +} ETrackedDeviceProperty; + +typedef enum ETrackedPropertyError +{ + ETrackedPropertyError_TrackedProp_Success = 0, + ETrackedPropertyError_TrackedProp_WrongDataType = 1, + ETrackedPropertyError_TrackedProp_WrongDeviceClass = 2, + ETrackedPropertyError_TrackedProp_BufferTooSmall = 3, + ETrackedPropertyError_TrackedProp_UnknownProperty = 4, + ETrackedPropertyError_TrackedProp_InvalidDevice = 5, + ETrackedPropertyError_TrackedProp_CouldNotContactServer = 6, + ETrackedPropertyError_TrackedProp_ValueNotProvidedByDevice = 7, + ETrackedPropertyError_TrackedProp_StringExceedsMaximumLength = 8, + ETrackedPropertyError_TrackedProp_NotYetAvailable = 9, +} ETrackedPropertyError; + +typedef enum EVRSubmitFlags +{ + EVRSubmitFlags_Submit_Default = 0, + EVRSubmitFlags_Submit_LensDistortionAlreadyApplied = 1, + EVRSubmitFlags_Submit_GlRenderBuffer = 2, +} EVRSubmitFlags; + +typedef enum EVRState +{ + EVRState_VRState_Undefined = -1, + EVRState_VRState_Off = 0, + EVRState_VRState_Searching = 1, + EVRState_VRState_Searching_Alert = 2, + EVRState_VRState_Ready = 3, + EVRState_VRState_Ready_Alert = 4, + EVRState_VRState_NotReady = 5, + EVRState_VRState_Standby = 6, +} EVRState; + +typedef enum EVREventType +{ + EVREventType_VREvent_None = 0, + EVREventType_VREvent_TrackedDeviceActivated = 100, + EVREventType_VREvent_TrackedDeviceDeactivated = 101, + EVREventType_VREvent_TrackedDeviceUpdated = 102, + EVREventType_VREvent_TrackedDeviceUserInteractionStarted = 103, + EVREventType_VREvent_TrackedDeviceUserInteractionEnded = 104, + EVREventType_VREvent_IpdChanged = 105, + EVREventType_VREvent_EnterStandbyMode = 106, + EVREventType_VREvent_LeaveStandbyMode = 107, + EVREventType_VREvent_TrackedDeviceRoleChanged = 108, + EVREventType_VREvent_ButtonPress = 200, + EVREventType_VREvent_ButtonUnpress = 201, + EVREventType_VREvent_ButtonTouch = 202, + EVREventType_VREvent_ButtonUntouch = 203, + EVREventType_VREvent_MouseMove = 300, + EVREventType_VREvent_MouseButtonDown = 301, + EVREventType_VREvent_MouseButtonUp = 302, + EVREventType_VREvent_FocusEnter = 303, + EVREventType_VREvent_FocusLeave = 304, + EVREventType_VREvent_Scroll = 305, + EVREventType_VREvent_TouchPadMove = 306, + EVREventType_VREvent_InputFocusCaptured = 400, + EVREventType_VREvent_InputFocusReleased = 401, + EVREventType_VREvent_SceneFocusLost = 402, + EVREventType_VREvent_SceneFocusGained = 403, + EVREventType_VREvent_SceneApplicationChanged = 404, + EVREventType_VREvent_SceneFocusChanged = 405, + EVREventType_VREvent_InputFocusChanged = 406, + EVREventType_VREvent_SceneApplicationSecondaryRenderingStarted = 407, + EVREventType_VREvent_HideRenderModels = 410, + EVREventType_VREvent_ShowRenderModels = 411, + EVREventType_VREvent_OverlayShown = 500, + EVREventType_VREvent_OverlayHidden = 501, + EVREventType_VREvent_DashboardActivated = 502, + EVREventType_VREvent_DashboardDeactivated = 503, + EVREventType_VREvent_DashboardThumbSelected = 504, + EVREventType_VREvent_DashboardRequested = 505, + EVREventType_VREvent_ResetDashboard = 506, + EVREventType_VREvent_RenderToast = 507, + EVREventType_VREvent_ImageLoaded = 508, + EVREventType_VREvent_ShowKeyboard = 509, + EVREventType_VREvent_HideKeyboard = 510, + EVREventType_VREvent_OverlayGamepadFocusGained = 511, + EVREventType_VREvent_OverlayGamepadFocusLost = 512, + EVREventType_VREvent_OverlaySharedTextureChanged = 513, + EVREventType_VREvent_DashboardGuideButtonDown = 514, + EVREventType_VREvent_DashboardGuideButtonUp = 515, + EVREventType_VREvent_ScreenshotTriggered = 516, + EVREventType_VREvent_ImageFailed = 517, + EVREventType_VREvent_RequestScreenshot = 520, + EVREventType_VREvent_ScreenshotTaken = 521, + EVREventType_VREvent_ScreenshotFailed = 522, + EVREventType_VREvent_SubmitScreenshotToDashboard = 523, + EVREventType_VREvent_Notification_Shown = 600, + EVREventType_VREvent_Notification_Hidden = 601, + EVREventType_VREvent_Notification_BeginInteraction = 602, + EVREventType_VREvent_Notification_Destroyed = 603, + EVREventType_VREvent_Quit = 700, + EVREventType_VREvent_ProcessQuit = 701, + EVREventType_VREvent_QuitAborted_UserPrompt = 702, + EVREventType_VREvent_QuitAcknowledged = 703, + EVREventType_VREvent_DriverRequestedQuit = 704, + EVREventType_VREvent_ChaperoneDataHasChanged = 800, + EVREventType_VREvent_ChaperoneUniverseHasChanged = 801, + EVREventType_VREvent_ChaperoneTempDataHasChanged = 802, + EVREventType_VREvent_ChaperoneSettingsHaveChanged = 803, + EVREventType_VREvent_SeatedZeroPoseReset = 804, + EVREventType_VREvent_AudioSettingsHaveChanged = 820, + EVREventType_VREvent_BackgroundSettingHasChanged = 850, + EVREventType_VREvent_CameraSettingsHaveChanged = 851, + EVREventType_VREvent_ReprojectionSettingHasChanged = 852, + EVREventType_VREvent_ModelSkinSettingsHaveChanged = 853, + EVREventType_VREvent_EnvironmentSettingsHaveChanged = 854, + EVREventType_VREvent_StatusUpdate = 900, + EVREventType_VREvent_MCImageUpdated = 1000, + EVREventType_VREvent_FirmwareUpdateStarted = 1100, + EVREventType_VREvent_FirmwareUpdateFinished = 1101, + EVREventType_VREvent_KeyboardClosed = 1200, + EVREventType_VREvent_KeyboardCharInput = 1201, + EVREventType_VREvent_KeyboardDone = 1202, + EVREventType_VREvent_ApplicationTransitionStarted = 1300, + EVREventType_VREvent_ApplicationTransitionAborted = 1301, + EVREventType_VREvent_ApplicationTransitionNewAppStarted = 1302, + EVREventType_VREvent_ApplicationListUpdated = 1303, + EVREventType_VREvent_Compositor_MirrorWindowShown = 1400, + EVREventType_VREvent_Compositor_MirrorWindowHidden = 1401, + EVREventType_VREvent_Compositor_ChaperoneBoundsShown = 1410, + EVREventType_VREvent_Compositor_ChaperoneBoundsHidden = 1411, + EVREventType_VREvent_TrackedCamera_StartVideoStream = 1500, + EVREventType_VREvent_TrackedCamera_StopVideoStream = 1501, + EVREventType_VREvent_TrackedCamera_PauseVideoStream = 1502, + EVREventType_VREvent_TrackedCamera_ResumeVideoStream = 1503, + EVREventType_VREvent_PerformanceTest_EnableCapture = 1600, + EVREventType_VREvent_PerformanceTest_DisableCapture = 1601, + EVREventType_VREvent_PerformanceTest_FidelityLevel = 1602, + EVREventType_VREvent_VendorSpecific_Reserved_Start = 10000, + EVREventType_VREvent_VendorSpecific_Reserved_End = 19999, +} EVREventType; + +typedef enum EDeviceActivityLevel +{ + EDeviceActivityLevel_k_EDeviceActivityLevel_Unknown = -1, + EDeviceActivityLevel_k_EDeviceActivityLevel_Idle = 0, + EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction = 1, + EDeviceActivityLevel_k_EDeviceActivityLevel_UserInteraction_Timeout = 2, + EDeviceActivityLevel_k_EDeviceActivityLevel_Standby = 3, +} EDeviceActivityLevel; + +typedef enum EVRButtonId +{ + EVRButtonId_k_EButton_System = 0, + EVRButtonId_k_EButton_ApplicationMenu = 1, + EVRButtonId_k_EButton_Grip = 2, + EVRButtonId_k_EButton_DPad_Left = 3, + EVRButtonId_k_EButton_DPad_Up = 4, + EVRButtonId_k_EButton_DPad_Right = 5, + EVRButtonId_k_EButton_DPad_Down = 6, + EVRButtonId_k_EButton_A = 7, + EVRButtonId_k_EButton_Axis0 = 32, + EVRButtonId_k_EButton_Axis1 = 33, + EVRButtonId_k_EButton_Axis2 = 34, + EVRButtonId_k_EButton_Axis3 = 35, + EVRButtonId_k_EButton_Axis4 = 36, + EVRButtonId_k_EButton_SteamVR_Touchpad = 32, + EVRButtonId_k_EButton_SteamVR_Trigger = 33, + EVRButtonId_k_EButton_Dashboard_Back = 2, + EVRButtonId_k_EButton_Max = 64, +} EVRButtonId; + +typedef enum EVRMouseButton +{ + EVRMouseButton_VRMouseButton_Left = 1, + EVRMouseButton_VRMouseButton_Right = 2, + EVRMouseButton_VRMouseButton_Middle = 4, +} EVRMouseButton; + +typedef enum EVRControllerAxisType +{ + EVRControllerAxisType_k_eControllerAxis_None = 0, + EVRControllerAxisType_k_eControllerAxis_TrackPad = 1, + EVRControllerAxisType_k_eControllerAxis_Joystick = 2, + EVRControllerAxisType_k_eControllerAxis_Trigger = 3, +} EVRControllerAxisType; + +typedef enum EVRControllerEventOutputType +{ + EVRControllerEventOutputType_ControllerEventOutput_OSEvents = 0, + EVRControllerEventOutputType_ControllerEventOutput_VREvents = 1, +} EVRControllerEventOutputType; + +typedef enum ECollisionBoundsStyle +{ + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_BEGINNER = 0, + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_INTERMEDIATE = 1, + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_SQUARES = 2, + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_ADVANCED = 3, + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_NONE = 4, + ECollisionBoundsStyle_COLLISION_BOUNDS_STYLE_COUNT = 5, +} ECollisionBoundsStyle; + +typedef enum EVROverlayError +{ + EVROverlayError_VROverlayError_None = 0, + EVROverlayError_VROverlayError_UnknownOverlay = 10, + EVROverlayError_VROverlayError_InvalidHandle = 11, + EVROverlayError_VROverlayError_PermissionDenied = 12, + EVROverlayError_VROverlayError_OverlayLimitExceeded = 13, + EVROverlayError_VROverlayError_WrongVisibilityType = 14, + EVROverlayError_VROverlayError_KeyTooLong = 15, + EVROverlayError_VROverlayError_NameTooLong = 16, + EVROverlayError_VROverlayError_KeyInUse = 17, + EVROverlayError_VROverlayError_WrongTransformType = 18, + EVROverlayError_VROverlayError_InvalidTrackedDevice = 19, + EVROverlayError_VROverlayError_InvalidParameter = 20, + EVROverlayError_VROverlayError_ThumbnailCantBeDestroyed = 21, + EVROverlayError_VROverlayError_ArrayTooSmall = 22, + EVROverlayError_VROverlayError_RequestFailed = 23, + EVROverlayError_VROverlayError_InvalidTexture = 24, + EVROverlayError_VROverlayError_UnableToLoadFile = 25, + EVROverlayError_VROVerlayError_KeyboardAlreadyInUse = 26, + EVROverlayError_VROverlayError_NoNeighbor = 27, +} EVROverlayError; + +typedef enum EVRApplicationType +{ + EVRApplicationType_VRApplication_Other = 0, + EVRApplicationType_VRApplication_Scene = 1, + EVRApplicationType_VRApplication_Overlay = 2, + EVRApplicationType_VRApplication_Background = 3, + EVRApplicationType_VRApplication_Utility = 4, + EVRApplicationType_VRApplication_VRMonitor = 5, +} EVRApplicationType; + +typedef enum EVRFirmwareError +{ + EVRFirmwareError_VRFirmwareError_None = 0, + EVRFirmwareError_VRFirmwareError_Success = 1, + EVRFirmwareError_VRFirmwareError_Fail = 2, +} EVRFirmwareError; + +typedef enum EVRNotificationError +{ + EVRNotificationError_VRNotificationError_OK = 0, + EVRNotificationError_VRNotificationError_InvalidNotificationId = 100, + EVRNotificationError_VRNotificationError_NotificationQueueFull = 101, + EVRNotificationError_VRNotificationError_InvalidOverlayHandle = 102, + EVRNotificationError_VRNotificationError_SystemWithUserValueAlreadyExists = 103, +} EVRNotificationError; + +typedef enum EVRInitError +{ + EVRInitError_VRInitError_None = 0, + EVRInitError_VRInitError_Unknown = 1, + EVRInitError_VRInitError_Init_InstallationNotFound = 100, + EVRInitError_VRInitError_Init_InstallationCorrupt = 101, + EVRInitError_VRInitError_Init_VRClientDLLNotFound = 102, + EVRInitError_VRInitError_Init_FileNotFound = 103, + EVRInitError_VRInitError_Init_FactoryNotFound = 104, + EVRInitError_VRInitError_Init_InterfaceNotFound = 105, + EVRInitError_VRInitError_Init_InvalidInterface = 106, + EVRInitError_VRInitError_Init_UserConfigDirectoryInvalid = 107, + EVRInitError_VRInitError_Init_HmdNotFound = 108, + EVRInitError_VRInitError_Init_NotInitialized = 109, + EVRInitError_VRInitError_Init_PathRegistryNotFound = 110, + EVRInitError_VRInitError_Init_NoConfigPath = 111, + EVRInitError_VRInitError_Init_NoLogPath = 112, + EVRInitError_VRInitError_Init_PathRegistryNotWritable = 113, + EVRInitError_VRInitError_Init_AppInfoInitFailed = 114, + EVRInitError_VRInitError_Init_Retry = 115, + EVRInitError_VRInitError_Init_InitCanceledByUser = 116, + EVRInitError_VRInitError_Init_AnotherAppLaunching = 117, + EVRInitError_VRInitError_Init_SettingsInitFailed = 118, + EVRInitError_VRInitError_Init_ShuttingDown = 119, + EVRInitError_VRInitError_Init_TooManyObjects = 120, + EVRInitError_VRInitError_Init_NoServerForBackgroundApp = 121, + EVRInitError_VRInitError_Init_NotSupportedWithCompositor = 122, + EVRInitError_VRInitError_Init_NotAvailableToUtilityApps = 123, + EVRInitError_VRInitError_Init_Internal = 124, + EVRInitError_VRInitError_Driver_Failed = 200, + EVRInitError_VRInitError_Driver_Unknown = 201, + EVRInitError_VRInitError_Driver_HmdUnknown = 202, + EVRInitError_VRInitError_Driver_NotLoaded = 203, + EVRInitError_VRInitError_Driver_RuntimeOutOfDate = 204, + EVRInitError_VRInitError_Driver_HmdInUse = 205, + EVRInitError_VRInitError_Driver_NotCalibrated = 206, + EVRInitError_VRInitError_Driver_CalibrationInvalid = 207, + EVRInitError_VRInitError_Driver_HmdDisplayNotFound = 208, + EVRInitError_VRInitError_IPC_ServerInitFailed = 300, + EVRInitError_VRInitError_IPC_ConnectFailed = 301, + EVRInitError_VRInitError_IPC_SharedStateInitFailed = 302, + EVRInitError_VRInitError_IPC_CompositorInitFailed = 303, + EVRInitError_VRInitError_IPC_MutexInitFailed = 304, + EVRInitError_VRInitError_IPC_Failed = 305, + EVRInitError_VRInitError_Compositor_Failed = 400, + EVRInitError_VRInitError_Compositor_D3D11HardwareRequired = 401, + EVRInitError_VRInitError_Compositor_FirmwareRequiresUpdate = 402, + EVRInitError_VRInitError_Compositor_OverlayInitFailed = 403, + EVRInitError_VRInitError_Compositor_ScreenshotsInitFailed = 404, + EVRInitError_VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, + EVRInitError_VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + EVRInitError_VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, + EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, + EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, + EVRInitError_VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, + EVRInitError_VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, + EVRInitError_VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + EVRInitError_VRInitError_Steam_SteamInstallationNotFound = 2000, +} EVRInitError; + +typedef enum EVRScreenshotType +{ + EVRScreenshotType_VRScreenshotType_None = 0, + EVRScreenshotType_VRScreenshotType_Mono = 1, + EVRScreenshotType_VRScreenshotType_Stereo = 2, + EVRScreenshotType_VRScreenshotType_Cubemap = 3, + EVRScreenshotType_VRScreenshotType_MonoPanorama = 4, + EVRScreenshotType_VRScreenshotType_StereoPanorama = 5, +} EVRScreenshotType; + +typedef enum EVRScreenshotPropertyFilenames +{ + EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_Preview = 0, + EVRScreenshotPropertyFilenames_VRScreenshotPropertyFilenames_VR = 1, +} EVRScreenshotPropertyFilenames; + +typedef enum EVRTrackedCameraError +{ + EVRTrackedCameraError_VRTrackedCameraError_None = 0, + EVRTrackedCameraError_VRTrackedCameraError_OperationFailed = 100, + EVRTrackedCameraError_VRTrackedCameraError_InvalidHandle = 101, + EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameHeaderVersion = 102, + EVRTrackedCameraError_VRTrackedCameraError_OutOfHandles = 103, + EVRTrackedCameraError_VRTrackedCameraError_IPCFailure = 104, + EVRTrackedCameraError_VRTrackedCameraError_NotSupportedForThisDevice = 105, + EVRTrackedCameraError_VRTrackedCameraError_SharedMemoryFailure = 106, + EVRTrackedCameraError_VRTrackedCameraError_FrameBufferingFailure = 107, + EVRTrackedCameraError_VRTrackedCameraError_StreamSetupFailure = 108, + EVRTrackedCameraError_VRTrackedCameraError_InvalidGLTextureId = 109, + EVRTrackedCameraError_VRTrackedCameraError_InvalidSharedTextureHandle = 110, + EVRTrackedCameraError_VRTrackedCameraError_FailedToGetGLTextureId = 111, + EVRTrackedCameraError_VRTrackedCameraError_SharedTextureFailure = 112, + EVRTrackedCameraError_VRTrackedCameraError_NoFrameAvailable = 113, + EVRTrackedCameraError_VRTrackedCameraError_InvalidArgument = 114, + EVRTrackedCameraError_VRTrackedCameraError_InvalidFrameBufferSize = 115, +} EVRTrackedCameraError; + +typedef enum EVRTrackedCameraFrameType +{ + EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Distorted = 0, + EVRTrackedCameraFrameType_VRTrackedCameraFrameType_Undistorted = 1, + EVRTrackedCameraFrameType_VRTrackedCameraFrameType_MaximumUndistorted = 2, + EVRTrackedCameraFrameType_MAX_CAMERA_FRAME_TYPES = 3, +} EVRTrackedCameraFrameType; + +typedef enum EVRApplicationError +{ + EVRApplicationError_VRApplicationError_None = 0, + EVRApplicationError_VRApplicationError_AppKeyAlreadyExists = 100, + EVRApplicationError_VRApplicationError_NoManifest = 101, + EVRApplicationError_VRApplicationError_NoApplication = 102, + EVRApplicationError_VRApplicationError_InvalidIndex = 103, + EVRApplicationError_VRApplicationError_UnknownApplication = 104, + EVRApplicationError_VRApplicationError_IPCFailed = 105, + EVRApplicationError_VRApplicationError_ApplicationAlreadyRunning = 106, + EVRApplicationError_VRApplicationError_InvalidManifest = 107, + EVRApplicationError_VRApplicationError_InvalidApplication = 108, + EVRApplicationError_VRApplicationError_LaunchFailed = 109, + EVRApplicationError_VRApplicationError_ApplicationAlreadyStarting = 110, + EVRApplicationError_VRApplicationError_LaunchInProgress = 111, + EVRApplicationError_VRApplicationError_OldApplicationQuitting = 112, + EVRApplicationError_VRApplicationError_TransitionAborted = 113, + EVRApplicationError_VRApplicationError_IsTemplate = 114, + EVRApplicationError_VRApplicationError_BufferTooSmall = 200, + EVRApplicationError_VRApplicationError_PropertyNotSet = 201, + EVRApplicationError_VRApplicationError_UnknownProperty = 202, + EVRApplicationError_VRApplicationError_InvalidParameter = 203, +} EVRApplicationError; + +typedef enum EVRApplicationProperty +{ + EVRApplicationProperty_VRApplicationProperty_Name_String = 0, + EVRApplicationProperty_VRApplicationProperty_LaunchType_String = 11, + EVRApplicationProperty_VRApplicationProperty_WorkingDirectory_String = 12, + EVRApplicationProperty_VRApplicationProperty_BinaryPath_String = 13, + EVRApplicationProperty_VRApplicationProperty_Arguments_String = 14, + EVRApplicationProperty_VRApplicationProperty_URL_String = 15, + EVRApplicationProperty_VRApplicationProperty_Description_String = 50, + EVRApplicationProperty_VRApplicationProperty_NewsURL_String = 51, + EVRApplicationProperty_VRApplicationProperty_ImagePath_String = 52, + EVRApplicationProperty_VRApplicationProperty_Source_String = 53, + EVRApplicationProperty_VRApplicationProperty_IsDashboardOverlay_Bool = 60, + EVRApplicationProperty_VRApplicationProperty_IsTemplate_Bool = 61, + EVRApplicationProperty_VRApplicationProperty_IsInstanced_Bool = 62, + EVRApplicationProperty_VRApplicationProperty_LastLaunchTime_Uint64 = 70, +} EVRApplicationProperty; + +typedef enum EVRApplicationTransitionState +{ + EVRApplicationTransitionState_VRApplicationTransition_None = 0, + EVRApplicationTransitionState_VRApplicationTransition_OldAppQuitSent = 10, + EVRApplicationTransitionState_VRApplicationTransition_WaitingForExternalLaunch = 11, + EVRApplicationTransitionState_VRApplicationTransition_NewAppLaunched = 20, +} EVRApplicationTransitionState; + +typedef enum ChaperoneCalibrationState +{ + ChaperoneCalibrationState_OK = 1, + ChaperoneCalibrationState_Warning = 100, + ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, + ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, + ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, + ChaperoneCalibrationState_Error = 200, + ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, + ChaperoneCalibrationState_Error_BaseStationConflict = 202, + ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, + ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, +} ChaperoneCalibrationState; + +typedef enum EChaperoneConfigFile +{ + EChaperoneConfigFile_Live = 1, + EChaperoneConfigFile_Temp = 2, +} EChaperoneConfigFile; + +typedef enum EChaperoneImportFlags +{ + EChaperoneImportFlags_EChaperoneImport_BoundsOnly = 1, +} EChaperoneImportFlags; + +typedef enum EVRCompositorError +{ + EVRCompositorError_VRCompositorError_None = 0, + EVRCompositorError_VRCompositorError_RequestFailed = 1, + EVRCompositorError_VRCompositorError_IncompatibleVersion = 100, + EVRCompositorError_VRCompositorError_DoNotHaveFocus = 101, + EVRCompositorError_VRCompositorError_InvalidTexture = 102, + EVRCompositorError_VRCompositorError_IsNotSceneApplication = 103, + EVRCompositorError_VRCompositorError_TextureIsOnWrongDevice = 104, + EVRCompositorError_VRCompositorError_TextureUsesUnsupportedFormat = 105, + EVRCompositorError_VRCompositorError_SharedTexturesNotSupported = 106, + EVRCompositorError_VRCompositorError_IndexOutOfRange = 107, +} EVRCompositorError; + +typedef enum VROverlayInputMethod +{ + VROverlayInputMethod_None = 0, + VROverlayInputMethod_Mouse = 1, +} VROverlayInputMethod; + +typedef enum VROverlayTransformType +{ + VROverlayTransformType_VROverlayTransform_Absolute = 0, + VROverlayTransformType_VROverlayTransform_TrackedDeviceRelative = 1, + VROverlayTransformType_VROverlayTransform_SystemOverlay = 2, + VROverlayTransformType_VROverlayTransform_TrackedComponent = 3, +} VROverlayTransformType; + +typedef enum VROverlayFlags +{ + VROverlayFlags_None = 0, + VROverlayFlags_Curved = 1, + VROverlayFlags_RGSS4X = 2, + VROverlayFlags_NoDashboardTab = 3, + VROverlayFlags_AcceptsGamepadEvents = 4, + VROverlayFlags_ShowGamepadFocus = 5, + VROverlayFlags_SendVRScrollEvents = 6, + VROverlayFlags_SendVRTouchpadEvents = 7, + VROverlayFlags_ShowTouchPadScrollWheel = 8, + VROverlayFlags_TransferOwnershipToInternalProcess = 9, + VROverlayFlags_SideBySide_Parallel = 10, + VROverlayFlags_SideBySide_Crossed = 11, + VROverlayFlags_Panorama = 12, + VROverlayFlags_StereoPanorama = 13, +} VROverlayFlags; + +typedef enum EGamepadTextInputMode +{ + EGamepadTextInputMode_k_EGamepadTextInputModeNormal = 0, + EGamepadTextInputMode_k_EGamepadTextInputModePassword = 1, + EGamepadTextInputMode_k_EGamepadTextInputModeSubmit = 2, +} EGamepadTextInputMode; + +typedef enum EGamepadTextInputLineMode +{ + EGamepadTextInputLineMode_k_EGamepadTextInputLineModeSingleLine = 0, + EGamepadTextInputLineMode_k_EGamepadTextInputLineModeMultipleLines = 1, +} EGamepadTextInputLineMode; + +typedef enum EOverlayDirection +{ + EOverlayDirection_OverlayDirection_Up = 0, + EOverlayDirection_OverlayDirection_Down = 1, + EOverlayDirection_OverlayDirection_Left = 2, + EOverlayDirection_OverlayDirection_Right = 3, + EOverlayDirection_OverlayDirection_Count = 4, +} EOverlayDirection; + +typedef enum EVRRenderModelError +{ + EVRRenderModelError_VRRenderModelError_None = 0, + EVRRenderModelError_VRRenderModelError_Loading = 100, + EVRRenderModelError_VRRenderModelError_NotSupported = 200, + EVRRenderModelError_VRRenderModelError_InvalidArg = 300, + EVRRenderModelError_VRRenderModelError_InvalidModel = 301, + EVRRenderModelError_VRRenderModelError_NoShapes = 302, + EVRRenderModelError_VRRenderModelError_MultipleShapes = 303, + EVRRenderModelError_VRRenderModelError_TooManyVertices = 304, + EVRRenderModelError_VRRenderModelError_MultipleTextures = 305, + EVRRenderModelError_VRRenderModelError_BufferTooSmall = 306, + EVRRenderModelError_VRRenderModelError_NotEnoughNormals = 307, + EVRRenderModelError_VRRenderModelError_NotEnoughTexCoords = 308, + EVRRenderModelError_VRRenderModelError_InvalidTexture = 400, +} EVRRenderModelError; + +typedef enum EVRComponentProperty +{ + EVRComponentProperty_VRComponentProperty_IsStatic = 1, + EVRComponentProperty_VRComponentProperty_IsVisible = 2, + EVRComponentProperty_VRComponentProperty_IsTouched = 4, + EVRComponentProperty_VRComponentProperty_IsPressed = 8, + EVRComponentProperty_VRComponentProperty_IsScrolled = 16, +} EVRComponentProperty; + +typedef enum EVRNotificationType +{ + EVRNotificationType_Transient = 0, + EVRNotificationType_Persistent = 1, + EVRNotificationType_Transient_SystemWithUserValue = 2, +} EVRNotificationType; + +typedef enum EVRNotificationStyle +{ + EVRNotificationStyle_None = 0, + EVRNotificationStyle_Application = 100, + EVRNotificationStyle_Contact_Disabled = 200, + EVRNotificationStyle_Contact_Enabled = 201, + EVRNotificationStyle_Contact_Active = 202, +} EVRNotificationStyle; + +typedef enum EVRSettingsError +{ + EVRSettingsError_VRSettingsError_None = 0, + EVRSettingsError_VRSettingsError_IPCFailed = 1, + EVRSettingsError_VRSettingsError_WriteFailed = 2, + EVRSettingsError_VRSettingsError_ReadFailed = 3, +} EVRSettingsError; + +typedef enum EVRScreenshotError +{ + EVRScreenshotError_VRScreenshotError_None = 0, + EVRScreenshotError_VRScreenshotError_RequestFailed = 1, + EVRScreenshotError_VRScreenshotError_IncompatibleVersion = 100, + EVRScreenshotError_VRScreenshotError_NotFound = 101, + EVRScreenshotError_VRScreenshotError_BufferTooSmall = 102, + EVRScreenshotError_VRScreenshotError_ScreenshotAlreadyInProgress = 108, +} EVRScreenshotError; + + +// OpenVR typedefs + +typedef uint32_t TrackedDeviceIndex_t; +typedef uint32_t VRNotificationId; +typedef uint64_t VROverlayHandle_t; +typedef void * glSharedTextureHandle_t; +typedef int32_t glInt_t; +typedef uint32_t glUInt_t; +typedef uint32_t TrackedDeviceIndex_t; +typedef uint64_t VROverlayHandle_t; +typedef uint64_t TrackedCameraHandle_t; +typedef uint32_t ScreenshotHandle_t; +typedef uint32_t VRComponentProperties; +typedef int32_t TextureID_t; +typedef uint32_t VRNotificationId; +typedef EVRInitError HmdError; +typedef EVREye Hmd_Eye; +typedef EGraphicsAPIConvention GraphicsAPIConvention; +typedef EColorSpace ColorSpace; +typedef ETrackingResult HmdTrackingResult; +typedef ETrackedDeviceClass TrackedDeviceClass; +typedef ETrackingUniverseOrigin TrackingUniverseOrigin; +typedef ETrackedDeviceProperty TrackedDeviceProperty; +typedef ETrackedPropertyError TrackedPropertyError; +typedef EVRSubmitFlags VRSubmitFlags_t; +typedef EVRState VRState_t; +typedef ECollisionBoundsStyle CollisionBoundsStyle_t; +typedef EVROverlayError VROverlayError; +typedef EVRFirmwareError VRFirmwareError; +typedef EVRCompositorError VRCompositorError; +typedef EVRScreenshotError VRScreenshotsError; + +// OpenVR Structs + +typedef struct HmdMatrix34_t +{ + float m[3][4]; //float[3][4] +} HmdMatrix34_t; + +typedef struct HmdMatrix44_t +{ + float m[4][4]; //float[4][4] +} HmdMatrix44_t; + +typedef struct HmdVector3_t +{ + float v[3]; //float[3] +} HmdVector3_t; + +typedef struct HmdVector4_t +{ + float v[4]; //float[4] +} HmdVector4_t; + +typedef struct HmdVector3d_t +{ + double v[3]; //double[3] +} HmdVector3d_t; + +typedef struct HmdVector2_t +{ + float v[2]; //float[2] +} HmdVector2_t; + +typedef struct HmdQuaternion_t +{ + double w; + double x; + double y; + double z; +} HmdQuaternion_t; + +typedef struct HmdColor_t +{ + float r; + float g; + float b; + float a; +} HmdColor_t; + +typedef struct HmdQuad_t +{ + struct HmdVector3_t vCorners[4]; //struct vr::HmdVector3_t[4] +} HmdQuad_t; + +typedef struct HmdRect2_t +{ + struct HmdVector2_t vTopLeft; + struct HmdVector2_t vBottomRight; +} HmdRect2_t; + +typedef struct DistortionCoordinates_t +{ + float rfRed[2]; //float[2] + float rfGreen[2]; //float[2] + float rfBlue[2]; //float[2] +} DistortionCoordinates_t; + +typedef struct Texture_t +{ + void * handle; // void * + enum EGraphicsAPIConvention eType; + enum EColorSpace eColorSpace; +} Texture_t; + +typedef struct TrackedDevicePose_t +{ + struct HmdMatrix34_t mDeviceToAbsoluteTracking; + struct HmdVector3_t vVelocity; + struct HmdVector3_t vAngularVelocity; + enum ETrackingResult eTrackingResult; + bool bPoseIsValid; + bool bDeviceIsConnected; +} TrackedDevicePose_t; + +typedef struct VRTextureBounds_t +{ + float uMin; + float vMin; + float uMax; + float vMax; +} VRTextureBounds_t; + +typedef struct VREvent_Controller_t +{ + uint32_t button; +} VREvent_Controller_t; + +typedef struct VREvent_Mouse_t +{ + float x; + float y; + uint32_t button; +} VREvent_Mouse_t; + +typedef struct VREvent_Scroll_t +{ + float xdelta; + float ydelta; + uint32_t repeatCount; +} VREvent_Scroll_t; + +typedef struct VREvent_TouchPadMove_t +{ + bool bFingerDown; + float flSecondsFingerDown; + float fValueXFirst; + float fValueYFirst; + float fValueXRaw; + float fValueYRaw; +} VREvent_TouchPadMove_t; + +typedef struct VREvent_Notification_t +{ + uint64_t ulUserValue; + uint32_t notificationId; +} VREvent_Notification_t; + +typedef struct VREvent_Process_t +{ + uint32_t pid; + uint32_t oldPid; + bool bForced; +} VREvent_Process_t; + +typedef struct VREvent_Overlay_t +{ + uint64_t overlayHandle; +} VREvent_Overlay_t; + +typedef struct VREvent_Status_t +{ + uint32_t statusState; +} VREvent_Status_t; + +typedef struct VREvent_Keyboard_t +{ + char * cNewInput[8]; //char[8] + uint64_t uUserValue; +} VREvent_Keyboard_t; + +typedef struct VREvent_Ipd_t +{ + float ipdMeters; +} VREvent_Ipd_t; + +typedef struct VREvent_Chaperone_t +{ + uint64_t m_nPreviousUniverse; + uint64_t m_nCurrentUniverse; +} VREvent_Chaperone_t; + +typedef struct VREvent_Reserved_t +{ + uint64_t reserved0; + uint64_t reserved1; +} VREvent_Reserved_t; + +typedef struct VREvent_PerformanceTest_t +{ + uint32_t m_nFidelityLevel; +} VREvent_PerformanceTest_t; + +typedef struct VREvent_SeatedZeroPoseReset_t +{ + bool bResetBySystemMenu; +} VREvent_SeatedZeroPoseReset_t; + +typedef struct VREvent_Screenshot_t +{ + uint32_t handle; + uint32_t type; +} VREvent_Screenshot_t; + +typedef struct HiddenAreaMesh_t +{ + struct HmdVector2_t * pVertexData; // const struct vr::HmdVector2_t * + uint32_t unTriangleCount; +} HiddenAreaMesh_t; + +typedef struct VRControllerAxis_t +{ + float x; + float y; +} VRControllerAxis_t; + +typedef struct VRControllerState_t +{ + uint32_t unPacketNum; + uint64_t ulButtonPressed; + uint64_t ulButtonTouched; + struct VRControllerAxis_t rAxis[5]; //struct vr::VRControllerAxis_t[5] +} VRControllerState_t; + +typedef struct Compositor_OverlaySettings +{ + uint32_t size; + bool curved; + bool antialias; + float scale; + float distance; + float alpha; + float uOffset; + float vOffset; + float uScale; + float vScale; + float gridDivs; + float gridWidth; + float gridScale; + struct HmdMatrix44_t transform; +} Compositor_OverlaySettings; + +typedef struct CameraVideoStreamFrameHeader_t +{ + enum EVRTrackedCameraFrameType eFrameType; + uint32_t nWidth; + uint32_t nHeight; + uint32_t nBytesPerPixel; + uint32_t nFrameSequence; + struct TrackedDevicePose_t standingTrackedDevicePose; +} CameraVideoStreamFrameHeader_t; + +typedef struct AppOverrideKeys_t +{ + char * pchKey; // const char * + char * pchValue; // const char * +} AppOverrideKeys_t; + +typedef struct Compositor_FrameTiming +{ + uint32_t m_nSize; + uint32_t m_nFrameIndex; + uint32_t m_nNumFramePresents; + uint32_t m_nNumDroppedFrames; + double m_flSystemTimeInSeconds; + float m_flSceneRenderGpuMs; + float m_flTotalRenderGpuMs; + float m_flCompositorRenderGpuMs; + float m_flCompositorRenderCpuMs; + float m_flCompositorIdleCpuMs; + float m_flClientFrameIntervalMs; + float m_flPresentCallCpuMs; + float m_flWaitForPresentCpuMs; + float m_flSubmitFrameMs; + float m_flWaitGetPosesCalledMs; + float m_flNewPosesReadyMs; + float m_flNewFrameReadyMs; + float m_flCompositorUpdateStartMs; + float m_flCompositorUpdateEndMs; + float m_flCompositorRenderStartMs; + TrackedDevicePose_t m_HmdPose; + int32_t m_nFidelityLevel; + uint32_t m_nReprojectionFlags; +} Compositor_FrameTiming; + +typedef struct Compositor_CumulativeStats +{ + uint32_t m_nPid; + uint32_t m_nNumFramePresents; + uint32_t m_nNumDroppedFrames; + uint32_t m_nNumReprojectedFrames; + uint32_t m_nNumFramePresentsOnStartup; + uint32_t m_nNumDroppedFramesOnStartup; + uint32_t m_nNumReprojectedFramesOnStartup; + uint32_t m_nNumLoading; + uint32_t m_nNumFramePresentsLoading; + uint32_t m_nNumDroppedFramesLoading; + uint32_t m_nNumReprojectedFramesLoading; + uint32_t m_nNumTimedOut; + uint32_t m_nNumFramePresentsTimedOut; + uint32_t m_nNumDroppedFramesTimedOut; + uint32_t m_nNumReprojectedFramesTimedOut; +} Compositor_CumulativeStats; + +typedef struct VROverlayIntersectionParams_t +{ + struct HmdVector3_t vSource; + struct HmdVector3_t vDirection; + enum ETrackingUniverseOrigin eOrigin; +} VROverlayIntersectionParams_t; + +typedef struct VROverlayIntersectionResults_t +{ + struct HmdVector3_t vPoint; + struct HmdVector3_t vNormal; + struct HmdVector2_t vUVs; + float fDistance; +} VROverlayIntersectionResults_t; + +typedef struct RenderModel_ComponentState_t +{ + struct HmdMatrix34_t mTrackingToComponentRenderModel; + struct HmdMatrix34_t mTrackingToComponentLocal; + VRComponentProperties uProperties; +} RenderModel_ComponentState_t; + +typedef struct RenderModel_Vertex_t +{ + struct HmdVector3_t vPosition; + struct HmdVector3_t vNormal; + float rfTextureCoord[2]; //float[2] +} RenderModel_Vertex_t; + +typedef struct RenderModel_TextureMap_t +{ + uint16_t unWidth; + uint16_t unHeight; + uint8_t * rubTextureMapData; // const uint8_t * +} RenderModel_TextureMap_t; + +typedef struct RenderModel_t +{ + struct RenderModel_Vertex_t * rVertexData; // const struct vr::RenderModel_Vertex_t * + uint32_t unVertexCount; + uint16_t * rIndexData; // const uint16_t * + uint32_t unTriangleCount; + TextureID_t diffuseTextureId; +} RenderModel_t; + +typedef struct RenderModel_ControllerMode_State_t +{ + bool bScrollWheelVisible; +} RenderModel_ControllerMode_State_t; + +typedef struct NotificationBitmap_t +{ + void * m_pImageData; // void * + int32_t m_nWidth; + int32_t m_nHeight; + int32_t m_nBytesPerPixel; +} NotificationBitmap_t; + +typedef struct COpenVRContext +{ + intptr_t m_pVRSystem; // class vr::IVRSystem * + intptr_t m_pVRChaperone; // class vr::IVRChaperone * + intptr_t m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup * + intptr_t m_pVRCompositor; // class vr::IVRCompositor * + intptr_t m_pVROverlay; // class vr::IVROverlay * + intptr_t m_pVRRenderModels; // class vr::IVRRenderModels * + intptr_t m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay * + intptr_t m_pVRSettings; // class vr::IVRSettings * + intptr_t m_pVRApplications; // class vr::IVRApplications * + intptr_t m_pVRTrackedCamera; // class vr::IVRTrackedCamera * + intptr_t m_pVRScreenshots; // class vr::IVRScreenshots * +} COpenVRContext; + + +typedef union +{ + VREvent_Reserved_t reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t mouse; + VREvent_Scroll_t scroll; + VREvent_Process_t process; + VREvent_Notification_t notification; + VREvent_Overlay_t overlay; + VREvent_Status_t status; + VREvent_Keyboard_t keyboard; + VREvent_Ipd_t ipd; + VREvent_Chaperone_t chaperone; + VREvent_PerformanceTest_t performanceTest; + VREvent_TouchPadMove_t touchPadMove; + VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; +} VREvent_Data_t; + +/** An event posted by the server to all running applications */ +struct VREvent_t +{ + uint32_t eventType; // EVREventType enum + TrackedDeviceIndex_t trackedDeviceIndex; + float eventAgeSeconds; + // event data must be the end of the struct as its size is variable + VREvent_Data_t data; +}; + + +// OpenVR Function Pointer Tables + +struct VR_IVRSystem_FnTable +{ + void (OPENVR_FNTABLE_CALLTYPE *GetRecommendedRenderTargetSize)(uint32_t * pnWidth, uint32_t * pnHeight); + struct HmdMatrix44_t (OPENVR_FNTABLE_CALLTYPE *GetProjectionMatrix)(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType); + void (OPENVR_FNTABLE_CALLTYPE *GetProjectionRaw)(EVREye eEye, float * pfLeft, float * pfRight, float * pfTop, float * pfBottom); + struct DistortionCoordinates_t (OPENVR_FNTABLE_CALLTYPE *ComputeDistortion)(EVREye eEye, float fU, float fV); + struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetEyeToHeadTransform)(EVREye eEye); + bool (OPENVR_FNTABLE_CALLTYPE *GetTimeSinceLastVsync)(float * pfSecondsSinceLastVsync, uint64_t * pulFrameCounter); + int32_t (OPENVR_FNTABLE_CALLTYPE *GetD3D9AdapterIndex)(); + void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex); + bool (OPENVR_FNTABLE_CALLTYPE *IsDisplayOnDesktop)(); + bool (OPENVR_FNTABLE_CALLTYPE *SetDisplayVisibility)(bool bIsVisibleOnDesktop); + void (OPENVR_FNTABLE_CALLTYPE *GetDeviceToAbsoluteTrackingPose)(ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, struct TrackedDevicePose_t * pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount); + void (OPENVR_FNTABLE_CALLTYPE *ResetSeatedZeroPose)(); + struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetSeatedZeroPoseToStandingAbsoluteTrackingPose)(); + struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetRawZeroPoseToStandingAbsoluteTrackingPose)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetSortedTrackedDeviceIndicesOfClass)(ETrackedDeviceClass eTrackedDeviceClass, TrackedDeviceIndex_t * punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex); + EDeviceActivityLevel (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceActivityLevel)(TrackedDeviceIndex_t unDeviceId); + void (OPENVR_FNTABLE_CALLTYPE *ApplyTransform)(struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pTrackedDevicePose, struct HmdMatrix34_t * pTransform); + TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceIndexForControllerRole)(ETrackedControllerRole unDeviceType); + ETrackedControllerRole (OPENVR_FNTABLE_CALLTYPE *GetControllerRoleForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex); + ETrackedDeviceClass (OPENVR_FNTABLE_CALLTYPE *GetTrackedDeviceClass)(TrackedDeviceIndex_t unDeviceIndex); + bool (OPENVR_FNTABLE_CALLTYPE *IsTrackedDeviceConnected)(TrackedDeviceIndex_t unDeviceIndex); + bool (OPENVR_FNTABLE_CALLTYPE *GetBoolTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); + float (OPENVR_FNTABLE_CALLTYPE *GetFloatTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); + int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); + uint64_t (OPENVR_FNTABLE_CALLTYPE *GetUint64TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); + struct HmdMatrix34_t (OPENVR_FNTABLE_CALLTYPE *GetMatrix34TrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError * pError); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetStringTrackedDeviceProperty)(TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char * pchValue, uint32_t unBufferSize, ETrackedPropertyError * pError); + char * (OPENVR_FNTABLE_CALLTYPE *GetPropErrorNameFromEnum)(ETrackedPropertyError error); + bool (OPENVR_FNTABLE_CALLTYPE *PollNextEvent)(struct VREvent_t * pEvent, uint32_t uncbVREvent); + bool (OPENVR_FNTABLE_CALLTYPE *PollNextEventWithPose)(ETrackingUniverseOrigin eOrigin, struct VREvent_t * pEvent, uint32_t uncbVREvent, TrackedDevicePose_t * pTrackedDevicePose); + char * (OPENVR_FNTABLE_CALLTYPE *GetEventTypeNameFromEnum)(EVREventType eType); + struct HiddenAreaMesh_t (OPENVR_FNTABLE_CALLTYPE *GetHiddenAreaMesh)(EVREye eEye); + bool (OPENVR_FNTABLE_CALLTYPE *GetControllerState)(TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState); + bool (OPENVR_FNTABLE_CALLTYPE *GetControllerStateWithPose)(ETrackingUniverseOrigin eOrigin, TrackedDeviceIndex_t unControllerDeviceIndex, VRControllerState_t * pControllerState, struct TrackedDevicePose_t * pTrackedDevicePose); + void (OPENVR_FNTABLE_CALLTYPE *TriggerHapticPulse)(TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec); + char * (OPENVR_FNTABLE_CALLTYPE *GetButtonIdNameFromEnum)(EVRButtonId eButtonId); + char * (OPENVR_FNTABLE_CALLTYPE *GetControllerAxisTypeNameFromEnum)(EVRControllerAxisType eAxisType); + bool (OPENVR_FNTABLE_CALLTYPE *CaptureInputFocus)(); + void (OPENVR_FNTABLE_CALLTYPE *ReleaseInputFocus)(); + bool (OPENVR_FNTABLE_CALLTYPE *IsInputFocusCapturedByAnotherProcess)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *DriverDebugRequest)(TrackedDeviceIndex_t unDeviceIndex, char * pchRequest, char * pchResponseBuffer, uint32_t unResponseBufferSize); + EVRFirmwareError (OPENVR_FNTABLE_CALLTYPE *PerformFirmwareUpdate)(TrackedDeviceIndex_t unDeviceIndex); + void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_Exiting)(); + void (OPENVR_FNTABLE_CALLTYPE *AcknowledgeQuit_UserPrompt)(); +}; + +struct VR_IVRExtendedDisplay_FnTable +{ + void (OPENVR_FNTABLE_CALLTYPE *GetWindowBounds)(int32_t * pnX, int32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); + void (OPENVR_FNTABLE_CALLTYPE *GetEyeOutputViewport)(EVREye eEye, uint32_t * pnX, uint32_t * pnY, uint32_t * pnWidth, uint32_t * pnHeight); + void (OPENVR_FNTABLE_CALLTYPE *GetDXGIOutputInfo)(int32_t * pnAdapterIndex, int32_t * pnAdapterOutputIndex); +}; + +struct VR_IVRTrackedCamera_FnTable +{ + char * (OPENVR_FNTABLE_CALLTYPE *GetCameraErrorNameFromEnum)(EVRTrackedCameraError eCameraError); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *HasCamera)(TrackedDeviceIndex_t nDeviceIndex, bool * pHasCamera); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraFrameSize)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, uint32_t * pnWidth, uint32_t * pnHeight, uint32_t * pnFrameBufferSize); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraIntrinisics)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, HmdVector2_t * pFocalLength, HmdVector2_t * pCenter); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetCameraProjection)(TrackedDeviceIndex_t nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, HmdMatrix44_t * pProjection); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *AcquireVideoStreamingService)(TrackedDeviceIndex_t nDeviceIndex, TrackedCameraHandle_t * pHandle); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *ReleaseVideoStreamingService)(TrackedCameraHandle_t hTrackedCamera); + EVRTrackedCameraError (OPENVR_FNTABLE_CALLTYPE *GetVideoStreamFrameBuffer)(TrackedCameraHandle_t hTrackedCamera, EVRTrackedCameraFrameType eFrameType, void * pFrameBuffer, uint32_t nFrameBufferSize, CameraVideoStreamFrameHeader_t * pFrameHeader, uint32_t nFrameHeaderSize); +}; + +struct VR_IVRApplications_FnTable +{ + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *AddApplicationManifest)(char * pchApplicationManifestFullPath, bool bTemporary); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *RemoveApplicationManifest)(char * pchApplicationManifestFullPath); + bool (OPENVR_FNTABLE_CALLTYPE *IsApplicationInstalled)(char * pchAppKey); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationCount)(); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByIndex)(uint32_t unApplicationIndex, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetApplicationKeyByProcessId)(uint32_t unProcessId, char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchApplication)(char * pchAppKey); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchTemplateApplication)(char * pchTemplateAppKey, char * pchNewAppKey, struct AppOverrideKeys_t * pKeys, uint32_t unKeys); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchDashboardOverlay)(char * pchAppKey); + bool (OPENVR_FNTABLE_CALLTYPE *CancelApplicationLaunch)(char * pchAppKey); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *IdentifyApplication)(uint32_t unProcessId, char * pchAppKey); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationProcessId)(char * pchAppKey); + char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsErrorNameFromEnum)(EVRApplicationError error); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyString)(char * pchAppKey, EVRApplicationProperty eProperty, char * pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError * peError); + bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyBool)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); + uint64_t (OPENVR_FNTABLE_CALLTYPE *GetApplicationPropertyUint64)(char * pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError * peError); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *SetApplicationAutoLaunch)(char * pchAppKey, bool bAutoLaunch); + bool (OPENVR_FNTABLE_CALLTYPE *GetApplicationAutoLaunch)(char * pchAppKey); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *GetStartingApplication)(char * pchAppKeyBuffer, uint32_t unAppKeyBufferLen); + EVRApplicationTransitionState (OPENVR_FNTABLE_CALLTYPE *GetTransitionState)(); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *PerformApplicationPrelaunchCheck)(char * pchAppKey); + char * (OPENVR_FNTABLE_CALLTYPE *GetApplicationsTransitionStateNameFromEnum)(EVRApplicationTransitionState state); + bool (OPENVR_FNTABLE_CALLTYPE *IsQuitUserPromptRequested)(); + EVRApplicationError (OPENVR_FNTABLE_CALLTYPE *LaunchInternalProcess)(char * pchBinaryPath, char * pchArguments, char * pchWorkingDirectory); +}; + +struct VR_IVRChaperone_FnTable +{ + ChaperoneCalibrationState (OPENVR_FNTABLE_CALLTYPE *GetCalibrationState)(); + bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaSize)(float * pSizeX, float * pSizeZ); + bool (OPENVR_FNTABLE_CALLTYPE *GetPlayAreaRect)(struct HmdQuad_t * rect); + void (OPENVR_FNTABLE_CALLTYPE *ReloadInfo)(); + void (OPENVR_FNTABLE_CALLTYPE *SetSceneColor)(struct HmdColor_t color); + void (OPENVR_FNTABLE_CALLTYPE *GetBoundsColor)(struct HmdColor_t * pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, struct HmdColor_t * pOutputCameraColor); + bool (OPENVR_FNTABLE_CALLTYPE *AreBoundsVisible)(); + void (OPENVR_FNTABLE_CALLTYPE *ForceBoundsVisible)(bool bForce); +}; + +struct VR_IVRChaperoneSetup_FnTable +{ + bool (OPENVR_FNTABLE_CALLTYPE *CommitWorkingCopy)(EChaperoneConfigFile configFile); + void (OPENVR_FNTABLE_CALLTYPE *RevertWorkingCopy)(); + bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaSize)(float * pSizeX, float * pSizeZ); + bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingPlayAreaRect)(struct HmdQuad_t * rect); + bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); + bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); + bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); + bool (OPENVR_FNTABLE_CALLTYPE *GetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatStandingZeroPoseToRawTrackingPose); + void (OPENVR_FNTABLE_CALLTYPE *SetWorkingPlayAreaSize)(float sizeX, float sizeZ); + void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); + void (OPENVR_FNTABLE_CALLTYPE *SetWorkingSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatSeatedZeroPoseToRawTrackingPose); + void (OPENVR_FNTABLE_CALLTYPE *SetWorkingStandingZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pMatStandingZeroPoseToRawTrackingPose); + void (OPENVR_FNTABLE_CALLTYPE *ReloadFromDisk)(EChaperoneConfigFile configFile); + bool (OPENVR_FNTABLE_CALLTYPE *GetLiveSeatedZeroPoseToRawTrackingPose)(struct HmdMatrix34_t * pmatSeatedZeroPoseToRawTrackingPose); + void (OPENVR_FNTABLE_CALLTYPE *SetWorkingCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t unTagCount); + bool (OPENVR_FNTABLE_CALLTYPE *GetLiveCollisionBoundsTagsInfo)(uint8_t * pTagsBuffer, uint32_t * punTagCount); + bool (OPENVR_FNTABLE_CALLTYPE *SetWorkingPhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t unQuadsCount); + bool (OPENVR_FNTABLE_CALLTYPE *GetLivePhysicalBoundsInfo)(struct HmdQuad_t * pQuadsBuffer, uint32_t * punQuadsCount); + bool (OPENVR_FNTABLE_CALLTYPE *ExportLiveToBuffer)(char * pBuffer, uint32_t * pnBufferLength); + bool (OPENVR_FNTABLE_CALLTYPE *ImportFromBufferToWorking)(char * pBuffer, uint32_t nImportFlags); +}; + +struct VR_IVRCompositor_FnTable +{ + void (OPENVR_FNTABLE_CALLTYPE *SetTrackingSpace)(ETrackingUniverseOrigin eOrigin); + ETrackingUniverseOrigin (OPENVR_FNTABLE_CALLTYPE *GetTrackingSpace)(); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *WaitGetPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoses)(struct TrackedDevicePose_t * pRenderPoseArray, uint32_t unRenderPoseArrayCount, struct TrackedDevicePose_t * pGamePoseArray, uint32_t unGamePoseArrayCount); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetLastPoseForTrackedDeviceIndex)(TrackedDeviceIndex_t unDeviceIndex, struct TrackedDevicePose_t * pOutputPose, struct TrackedDevicePose_t * pOutputGamePose); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *Submit)(EVREye eEye, struct Texture_t * pTexture, struct VRTextureBounds_t * pBounds, EVRSubmitFlags nSubmitFlags); + void (OPENVR_FNTABLE_CALLTYPE *ClearLastSubmittedFrame)(); + void (OPENVR_FNTABLE_CALLTYPE *PostPresentHandoff)(); + bool (OPENVR_FNTABLE_CALLTYPE *GetFrameTiming)(struct Compositor_FrameTiming * pTiming, uint32_t unFramesAgo); + float (OPENVR_FNTABLE_CALLTYPE *GetFrameTimeRemaining)(); + void (OPENVR_FNTABLE_CALLTYPE *GetCumulativeStats)(struct Compositor_CumulativeStats * pStats, uint32_t nStatsSizeInBytes); + void (OPENVR_FNTABLE_CALLTYPE *FadeToColor)(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground); + void (OPENVR_FNTABLE_CALLTYPE *FadeGrid)(float fSeconds, bool bFadeIn); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *SetSkyboxOverride)(struct Texture_t * pTextures, uint32_t unTextureCount); + void (OPENVR_FNTABLE_CALLTYPE *ClearSkyboxOverride)(); + void (OPENVR_FNTABLE_CALLTYPE *CompositorBringToFront)(); + void (OPENVR_FNTABLE_CALLTYPE *CompositorGoToBack)(); + void (OPENVR_FNTABLE_CALLTYPE *CompositorQuit)(); + bool (OPENVR_FNTABLE_CALLTYPE *IsFullscreen)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetCurrentSceneFocusProcess)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetLastFrameRenderer)(); + bool (OPENVR_FNTABLE_CALLTYPE *CanRenderScene)(); + void (OPENVR_FNTABLE_CALLTYPE *ShowMirrorWindow)(); + void (OPENVR_FNTABLE_CALLTYPE *HideMirrorWindow)(); + bool (OPENVR_FNTABLE_CALLTYPE *IsMirrorWindowVisible)(); + void (OPENVR_FNTABLE_CALLTYPE *CompositorDumpImages)(); + bool (OPENVR_FNTABLE_CALLTYPE *ShouldAppRenderWithLowResources)(); + void (OPENVR_FNTABLE_CALLTYPE *ForceInterleavedReprojectionOn)(bool bOverride); + void (OPENVR_FNTABLE_CALLTYPE *ForceReconnectProcess)(); + void (OPENVR_FNTABLE_CALLTYPE *SuspendRendering)(bool bSuspend); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(EVRScreenshotType type, char * pchDestinationFileName, char * pchVRDestinationFileName); + EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetCurrentScreenshotType)(); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureD3D11)(EVREye eEye, void * pD3D11DeviceOrResource, void ** ppD3D11ShaderResourceView); + EVRCompositorError (OPENVR_FNTABLE_CALLTYPE *GetMirrorTextureGL)(EVREye eEye, glUInt_t * pglTextureId, glSharedTextureHandle_t * pglSharedTextureHandle); + bool (OPENVR_FNTABLE_CALLTYPE *ReleaseSharedGLTexture)(glUInt_t glTextureId, glSharedTextureHandle_t glSharedTextureHandle); + void (OPENVR_FNTABLE_CALLTYPE *LockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); + void (OPENVR_FNTABLE_CALLTYPE *UnlockGLSharedTextureForAccess)(glSharedTextureHandle_t glSharedTextureHandle); +}; + +struct VR_IVROverlay_FnTable +{ + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *FindOverlay)(char * pchOverlayKey, VROverlayHandle_t * pOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *DestroyOverlay)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetHighQualityOverlay)(VROverlayHandle_t ulOverlayHandle); + VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetHighQualityOverlay)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayKey)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayName)(VROverlayHandle_t ulOverlayHandle, char * pchValue, uint32_t unBufferSize, EVROverlayError * pError); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayImageData)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unBufferSize, uint32_t * punWidth, uint32_t * punHeight); + char * (OPENVR_FNTABLE_CALLTYPE *GetOverlayErrorNameFromEnum)(EVROverlayError error); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle, uint32_t unPID); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetOverlayRenderingPid)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayFlag)(VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool * pbEnabled); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayColor)(VROverlayHandle_t ulOverlayHandle, float * pfRed, float * pfGreen, float * pfBlue); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float fAlpha); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAlpha)(VROverlayHandle_t ulOverlayHandle, float * pfAlpha); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float fWidthInMeters); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayWidthInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfWidthInMeters); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayAutoCurveDistanceRangeInMeters)(VROverlayHandle_t ulOverlayHandle, float * pfMinDistanceInMeters, float * pfMaxDistanceInMeters); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureColorSpace)(VROverlayHandle_t ulOverlayHandle, EColorSpace * peTextureColorSpace); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureBounds)(VROverlayHandle_t ulOverlayHandle, struct VRTextureBounds_t * pOverlayTextureBounds); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformType)(VROverlayHandle_t ulOverlayHandle, VROverlayTransformType * peTransformType); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformAbsolute)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin * peTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToOverlayTransform); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceRelative)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punTrackedDevice, struct HmdMatrix34_t * pmatTrackedDeviceToOverlayTransform); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, char * pchComponentName); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTransformTrackedDeviceComponent)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t * punDeviceIndex, char * pchComponentName, uint32_t unComponentNameSize); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowOverlay)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *HideOverlay)(VROverlayHandle_t ulOverlayHandle); + bool (OPENVR_FNTABLE_CALLTYPE *IsOverlayVisible)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetTransformForOverlayCoordinates)(VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, struct HmdVector2_t coordinatesInOverlay, struct HmdMatrix34_t * pmatTransform); + bool (OPENVR_FNTABLE_CALLTYPE *PollNextOverlayEvent)(VROverlayHandle_t ulOverlayHandle, struct VREvent_t * pEvent, uint32_t uncbVREvent); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod * peInputMethod); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayInputMethod)(VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayMouseScale)(VROverlayHandle_t ulOverlayHandle, struct HmdVector2_t * pvecMouseScale); + bool (OPENVR_FNTABLE_CALLTYPE *ComputeOverlayIntersection)(VROverlayHandle_t ulOverlayHandle, struct VROverlayIntersectionParams_t * pParams, struct VROverlayIntersectionResults_t * pResults); + bool (OPENVR_FNTABLE_CALLTYPE *HandleControllerOverlayInteractionAsMouse)(VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex); + bool (OPENVR_FNTABLE_CALLTYPE *IsHoverTargetOverlay)(VROverlayHandle_t ulOverlayHandle); + VROverlayHandle_t (OPENVR_FNTABLE_CALLTYPE *GetGamepadFocusOverlay)(); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetGamepadFocusOverlay)(VROverlayHandle_t ulNewFocusOverlay); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *MoveGamepadFocusToNeighbor)(EOverlayDirection eDirection, VROverlayHandle_t ulFrom); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, struct Texture_t * pTexture); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ClearOverlayTexture)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayRaw)(VROverlayHandle_t ulOverlayHandle, void * pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetOverlayFromFile)(VROverlayHandle_t ulOverlayHandle, char * pchFilePath); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTexture)(VROverlayHandle_t ulOverlayHandle, void ** pNativeTextureHandle, void * pNativeTextureRef, uint32_t * pWidth, uint32_t * pHeight, uint32_t * pNativeFormat, EGraphicsAPIConvention * pAPI, EColorSpace * pColorSpace); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ReleaseNativeOverlayHandle)(VROverlayHandle_t ulOverlayHandle, void * pNativeTextureHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetOverlayTextureSize)(VROverlayHandle_t ulOverlayHandle, uint32_t * pWidth, uint32_t * pHeight); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *CreateDashboardOverlay)(char * pchOverlayKey, char * pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t * pThumbnailHandle); + bool (OPENVR_FNTABLE_CALLTYPE *IsDashboardVisible)(); + bool (OPENVR_FNTABLE_CALLTYPE *IsActiveDashboardOverlay)(VROverlayHandle_t ulOverlayHandle); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *SetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *GetDashboardOverlaySceneProcess)(VROverlayHandle_t ulOverlayHandle, uint32_t * punProcessId); + void (OPENVR_FNTABLE_CALLTYPE *ShowDashboard)(char * pchOverlayToShow); + TrackedDeviceIndex_t (OPENVR_FNTABLE_CALLTYPE *GetPrimaryDashboardDevice)(); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboard)(EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); + EVROverlayError (OPENVR_FNTABLE_CALLTYPE *ShowKeyboardForOverlay)(VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, char * pchDescription, uint32_t unCharMax, char * pchExistingText, bool bUseMinimalMode, uint64_t uUserValue); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetKeyboardText)(char * pchText, uint32_t cchText); + void (OPENVR_FNTABLE_CALLTYPE *HideKeyboard)(); + void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardTransformAbsolute)(ETrackingUniverseOrigin eTrackingOrigin, struct HmdMatrix34_t * pmatTrackingOriginToKeyboardTransform); + void (OPENVR_FNTABLE_CALLTYPE *SetKeyboardPositionForOverlay)(VROverlayHandle_t ulOverlayHandle, struct HmdRect2_t avoidRect); +}; + +struct VR_IVRRenderModels_FnTable +{ + EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadRenderModel_Async)(char * pchRenderModelName, struct RenderModel_t ** ppRenderModel); + void (OPENVR_FNTABLE_CALLTYPE *FreeRenderModel)(struct RenderModel_t * pRenderModel); + EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTexture_Async)(TextureID_t textureId, struct RenderModel_TextureMap_t ** ppTexture); + void (OPENVR_FNTABLE_CALLTYPE *FreeTexture)(struct RenderModel_TextureMap_t * pTexture); + EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadTextureD3D11_Async)(TextureID_t textureId, void * pD3D11Device, void ** ppD3D11Texture2D); + EVRRenderModelError (OPENVR_FNTABLE_CALLTYPE *LoadIntoTextureD3D11_Async)(TextureID_t textureId, void * pDstTexture); + void (OPENVR_FNTABLE_CALLTYPE *FreeTextureD3D11)(void * pD3D11Texture2D); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelName)(uint32_t unRenderModelIndex, char * pchRenderModelName, uint32_t unRenderModelNameLen); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelCount)(); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentCount)(char * pchRenderModelName); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentName)(char * pchRenderModelName, uint32_t unComponentIndex, char * pchComponentName, uint32_t unComponentNameLen); + uint64_t (OPENVR_FNTABLE_CALLTYPE *GetComponentButtonMask)(char * pchRenderModelName, char * pchComponentName); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetComponentRenderModelName)(char * pchRenderModelName, char * pchComponentName, char * pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen); + bool (OPENVR_FNTABLE_CALLTYPE *GetComponentState)(char * pchRenderModelName, char * pchComponentName, VRControllerState_t * pControllerState, struct RenderModel_ControllerMode_State_t * pState, struct RenderModel_ComponentState_t * pComponentState); + bool (OPENVR_FNTABLE_CALLTYPE *RenderModelHasComponent)(char * pchRenderModelName, char * pchComponentName); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelThumbnailURL)(char * pchRenderModelName, char * pchThumbnailURL, uint32_t unThumbnailURLLen, EVRRenderModelError * peError); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetRenderModelOriginalPath)(char * pchRenderModelName, char * pchOriginalPath, uint32_t unOriginalPathLen, EVRRenderModelError * peError); + char * (OPENVR_FNTABLE_CALLTYPE *GetRenderModelErrorNameFromEnum)(EVRRenderModelError error); +}; + +struct VR_IVRNotifications_FnTable +{ + EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *CreateNotification)(VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, char * pchText, EVRNotificationStyle style, struct NotificationBitmap_t * pImage, VRNotificationId * pNotificationId); + EVRNotificationError (OPENVR_FNTABLE_CALLTYPE *RemoveNotification)(VRNotificationId notificationId); +}; + +struct VR_IVRSettings_FnTable +{ + char * (OPENVR_FNTABLE_CALLTYPE *GetSettingsErrorNameFromEnum)(EVRSettingsError eError); + bool (OPENVR_FNTABLE_CALLTYPE *Sync)(bool bForce, EVRSettingsError * peError); + bool (OPENVR_FNTABLE_CALLTYPE *GetBool)(char * pchSection, char * pchSettingsKey, bool bDefaultValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *SetBool)(char * pchSection, char * pchSettingsKey, bool bValue, EVRSettingsError * peError); + int32_t (OPENVR_FNTABLE_CALLTYPE *GetInt32)(char * pchSection, char * pchSettingsKey, int32_t nDefaultValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *SetInt32)(char * pchSection, char * pchSettingsKey, int32_t nValue, EVRSettingsError * peError); + float (OPENVR_FNTABLE_CALLTYPE *GetFloat)(char * pchSection, char * pchSettingsKey, float flDefaultValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *SetFloat)(char * pchSection, char * pchSettingsKey, float flValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *GetString)(char * pchSection, char * pchSettingsKey, char * pchValue, uint32_t unValueLen, char * pchDefaultValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *SetString)(char * pchSection, char * pchSettingsKey, char * pchValue, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *RemoveSection)(char * pchSection, EVRSettingsError * peError); + void (OPENVR_FNTABLE_CALLTYPE *RemoveKeyInSection)(char * pchSection, char * pchSettingsKey, EVRSettingsError * peError); +}; + +struct VR_IVRScreenshots_FnTable +{ + EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *RequestScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, EVRScreenshotType type, char * pchPreviewFilename, char * pchVRFilename); + EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *HookScreenshot)(EVRScreenshotType * pSupportedTypes, int numTypes); + EVRScreenshotType (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyType)(ScreenshotHandle_t screenshotHandle, EVRScreenshotError * pError); + uint32_t (OPENVR_FNTABLE_CALLTYPE *GetScreenshotPropertyFilename)(ScreenshotHandle_t screenshotHandle, EVRScreenshotPropertyFilenames filenameType, char * pchFilename, uint32_t cchFilename, EVRScreenshotError * pError); + EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *UpdateScreenshotProgress)(ScreenshotHandle_t screenshotHandle, float flProgress); + EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *TakeStereoScreenshot)(ScreenshotHandle_t * pOutScreenshotHandle, char * pchPreviewFilename, char * pchVRFilename); + EVRScreenshotError (OPENVR_FNTABLE_CALLTYPE *SubmitScreenshot)(ScreenshotHandle_t screenshotHandle, EVRScreenshotType type, char * pchSourcePreviewFilename, char * pchSourceVRFilename); +}; + + +#if 0 +// Global entry points +S_API intptr_t VR_InitInternal( EVRInitError *peError, EVRApplicationType eType ); +S_API void VR_ShutdownInternal(); +S_API bool VR_IsHmdPresent(); +S_API intptr_t VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); +S_API bool VR_IsRuntimeInstalled(); +S_API const char * VR_GetVRInitErrorAsSymbol( EVRInitError error ); +S_API const char * VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); +#endif + +#endif // __OPENVR_API_FLAT_H__ + + diff --git a/examples/ThirdPartyLibs/openvr/headers/openvr_driver.h b/examples/ThirdPartyLibs/openvr/headers/openvr_driver.h new file mode 100644 index 000000000..3f2a21df4 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/headers/openvr_driver.h @@ -0,0 +1,1829 @@ +#pragma once + +// openvr_driver.h +//========= Copyright Valve Corporation ============// +// Dynamically generated file. Do not modify this file directly. + +#ifndef _OPENVR_DRIVER_API +#define _OPENVR_DRIVER_API + +#include + + + +// vrtypes.h +#ifndef _INCLUDE_VRTYPES_H +#define _INCLUDE_VRTYPES_H + +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +typedef void* glSharedTextureHandle_t; +typedef int32_t glInt_t; +typedef uint32_t glUInt_t; + +// right-handed system +// +y is up +// +x is to the right +// -z is going away from you +// Distance unit is meters +struct HmdMatrix34_t +{ + float m[3][4]; +}; + +struct HmdMatrix44_t +{ + float m[4][4]; +}; + +struct HmdVector3_t +{ + float v[3]; +}; + +struct HmdVector4_t +{ + float v[4]; +}; + +struct HmdVector3d_t +{ + double v[3]; +}; + +struct HmdVector2_t +{ + float v[2]; +}; + +struct HmdQuaternion_t +{ + double w, x, y, z; +}; + +struct HmdColor_t +{ + float r, g, b, a; +}; + +struct HmdQuad_t +{ + HmdVector3_t vCorners[ 4 ]; +}; + +struct HmdRect2_t +{ + HmdVector2_t vTopLeft; + HmdVector2_t vBottomRight; +}; + +/** Used to return the post-distortion UVs for each color channel. +* UVs range from 0 to 1 with 0,0 in the upper left corner of the +* source render target. The 0,0 to 1,1 range covers a single eye. */ +struct DistortionCoordinates_t +{ + float rfRed[2]; + float rfGreen[2]; + float rfBlue[2]; +}; + +enum EVREye +{ + Eye_Left = 0, + Eye_Right = 1 +}; + +enum EGraphicsAPIConvention +{ + API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane + API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane +}; + +enum EColorSpace +{ + ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. + ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). + ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. +}; + +struct Texture_t +{ + void* handle; // Native d3d texture pointer or GL texture id. + EGraphicsAPIConvention eType; + EColorSpace eColorSpace; +}; + +enum ETrackingResult +{ + TrackingResult_Uninitialized = 1, + + TrackingResult_Calibrating_InProgress = 100, + TrackingResult_Calibrating_OutOfRange = 101, + + TrackingResult_Running_OK = 200, + TrackingResult_Running_OutOfRange = 201, +}; + +static const uint32_t k_unTrackingStringSize = 32; +static const uint32_t k_unMaxDriverDebugResponseSize = 32768; + +/** Used to pass device IDs to API calls */ +typedef uint32_t TrackedDeviceIndex_t; +static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; +static const uint32_t k_unMaxTrackedDeviceCount = 16; +static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; +static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; + +/** Describes what kind of object is being tracked at a given ID */ +enum ETrackedDeviceClass +{ + TrackedDeviceClass_Invalid = 0, // the ID was not valid. + TrackedDeviceClass_HMD = 1, // Head-Mounted Displays + TrackedDeviceClass_Controller = 2, // Tracked controllers + TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points + + TrackedDeviceClass_Other = 1000, +}; + + +/** Describes what specific role associated with a tracked device */ +enum ETrackedControllerRole +{ + TrackedControllerRole_Invalid = 0, // Invalid value for controller type + TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand + TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand +}; + + +/** describes a single pose for a tracked object */ +struct TrackedDevicePose_t +{ + HmdMatrix34_t mDeviceToAbsoluteTracking; + HmdVector3_t vVelocity; // velocity in tracker space in m/s + HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) + ETrackingResult eTrackingResult; + bool bPoseIsValid; + + // This indicates that there is a device connected for this spot in the pose array. + // It could go from true to false if the user unplugs the device. + bool bDeviceIsConnected; +}; + +/** Identifies which style of tracking origin the application wants to use +* for the poses it is requesting */ +enum ETrackingUniverseOrigin +{ + TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose + TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user + TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one. +}; + + +/** Each entry in this enum represents a property that can be retrieved about a +* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ +enum ETrackedDeviceProperty +{ + // general properties that apply to all device classes + Prop_TrackingSystemName_String = 1000, + Prop_ModelNumber_String = 1001, + Prop_SerialNumber_String = 1002, + Prop_RenderModelName_String = 1003, + Prop_WillDriftInYaw_Bool = 1004, + Prop_ManufacturerName_String = 1005, + Prop_TrackingFirmwareVersion_String = 1006, + Prop_HardwareRevision_String = 1007, + Prop_AllWirelessDongleDescriptions_String = 1008, + Prop_ConnectedWirelessDongle_String = 1009, + Prop_DeviceIsWireless_Bool = 1010, + Prop_DeviceIsCharging_Bool = 1011, + Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full + Prop_StatusDisplayTransform_Matrix34 = 1013, + Prop_Firmware_UpdateAvailable_Bool = 1014, + Prop_Firmware_ManualUpdate_Bool = 1015, + Prop_Firmware_ManualUpdateURL_String = 1016, + Prop_HardwareRevision_Uint64 = 1017, + Prop_FirmwareVersion_Uint64 = 1018, + Prop_FPGAVersion_Uint64 = 1019, + Prop_VRCVersion_Uint64 = 1020, + Prop_RadioVersion_Uint64 = 1021, + Prop_DongleVersion_Uint64 = 1022, + Prop_BlockServerShutdown_Bool = 1023, + Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, + Prop_ContainsProximitySensor_Bool = 1025, + Prop_DeviceProvidesBatteryStatus_Bool = 1026, + Prop_DeviceCanPowerOff_Bool = 1027, + Prop_Firmware_ProgrammingTarget_String = 1028, + Prop_DeviceClass_Int32 = 1029, + Prop_HasCamera_Bool = 1030, + Prop_DriverVersion_String = 1031, + Prop_Firmware_ForceUpdateRequired_Bool = 1032, + + // Properties that are unique to TrackedDeviceClass_HMD + Prop_ReportsTimeSinceVSync_Bool = 2000, + Prop_SecondsFromVsyncToPhotons_Float = 2001, + Prop_DisplayFrequency_Float = 2002, + Prop_UserIpdMeters_Float = 2003, + Prop_CurrentUniverseId_Uint64 = 2004, + Prop_PreviousUniverseId_Uint64 = 2005, + Prop_DisplayFirmwareVersion_Uint64 = 2006, + Prop_IsOnDesktop_Bool = 2007, + Prop_DisplayMCType_Int32 = 2008, + Prop_DisplayMCOffset_Float = 2009, + Prop_DisplayMCScale_Float = 2010, + Prop_EdidVendorID_Int32 = 2011, + Prop_DisplayMCImageLeft_String = 2012, + Prop_DisplayMCImageRight_String = 2013, + Prop_DisplayGCBlackClamp_Float = 2014, + Prop_EdidProductID_Int32 = 2015, + Prop_CameraToHeadTransform_Matrix34 = 2016, + Prop_DisplayGCType_Int32 = 2017, + Prop_DisplayGCOffset_Float = 2018, + Prop_DisplayGCScale_Float = 2019, + Prop_DisplayGCPrescale_Float = 2020, + Prop_DisplayGCImage_String = 2021, + Prop_LensCenterLeftU_Float = 2022, + Prop_LensCenterLeftV_Float = 2023, + Prop_LensCenterRightU_Float = 2024, + Prop_LensCenterRightV_Float = 2025, + Prop_UserHeadToEyeDepthMeters_Float = 2026, + Prop_CameraFirmwareVersion_Uint64 = 2027, + Prop_CameraFirmwareDescription_String = 2028, + Prop_DisplayFPGAVersion_Uint64 = 2029, + Prop_DisplayBootloaderVersion_Uint64 = 2030, + Prop_DisplayHardwareVersion_Uint64 = 2031, + Prop_AudioFirmwareVersion_Uint64 = 2032, + Prop_CameraCompatibilityMode_Int32 = 2033, + Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, + Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, + Prop_DisplaySuppressed_Bool = 2036, + + // Properties that are unique to TrackedDeviceClass_Controller + Prop_AttachedDeviceId_String = 3000, + Prop_SupportedButtons_Uint64 = 3001, + Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType + Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType + Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType + Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType + Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType + + // Properties that are unique to TrackedDeviceClass_TrackingReference + Prop_FieldOfViewLeftDegrees_Float = 4000, + Prop_FieldOfViewRightDegrees_Float = 4001, + Prop_FieldOfViewTopDegrees_Float = 4002, + Prop_FieldOfViewBottomDegrees_Float = 4003, + Prop_TrackingRangeMinimumMeters_Float = 4004, + Prop_TrackingRangeMaximumMeters_Float = 4005, + Prop_ModeLabel_String = 4006, + + // Vendors are free to expose private debug data in this reserved region + Prop_VendorSpecific_Reserved_Start = 10000, + Prop_VendorSpecific_Reserved_End = 10999, +}; + +/** No string property will ever be longer than this length */ +static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; + +/** Used to return errors that occur when reading properties. */ +enum ETrackedPropertyError +{ + TrackedProp_Success = 0, + TrackedProp_WrongDataType = 1, + TrackedProp_WrongDeviceClass = 2, + TrackedProp_BufferTooSmall = 3, + TrackedProp_UnknownProperty = 4, + TrackedProp_InvalidDevice = 5, + TrackedProp_CouldNotContactServer = 6, + TrackedProp_ValueNotProvidedByDevice = 7, + TrackedProp_StringExceedsMaximumLength = 8, + TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. +}; + +/** Allows the application to control what part of the provided texture will be used in the +* frame buffer. */ +struct VRTextureBounds_t +{ + float uMin, vMin; + float uMax, vMax; +}; + + +/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ +enum EVRSubmitFlags +{ + // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. + Submit_Default = 0x00, + + // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear + // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by + // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). + Submit_LensDistortionAlreadyApplied = 0x01, + + // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. + Submit_GlRenderBuffer = 0x02, +}; + + +/** Status of the overall system or tracked objects */ +enum EVRState +{ + VRState_Undefined = -1, + VRState_Off = 0, + VRState_Searching = 1, + VRState_Searching_Alert = 2, + VRState_Ready = 3, + VRState_Ready_Alert = 4, + VRState_NotReady = 5, + VRState_Standby = 6, +}; + +/** The types of events that could be posted (and what the parameters mean for each event type) */ +enum EVREventType +{ + VREvent_None = 0, + + VREvent_TrackedDeviceActivated = 100, + VREvent_TrackedDeviceDeactivated = 101, + VREvent_TrackedDeviceUpdated = 102, + VREvent_TrackedDeviceUserInteractionStarted = 103, + VREvent_TrackedDeviceUserInteractionEnded = 104, + VREvent_IpdChanged = 105, + VREvent_EnterStandbyMode = 106, + VREvent_LeaveStandbyMode = 107, + VREvent_TrackedDeviceRoleChanged = 108, + + VREvent_ButtonPress = 200, // data is controller + VREvent_ButtonUnpress = 201, // data is controller + VREvent_ButtonTouch = 202, // data is controller + VREvent_ButtonUntouch = 203, // data is controller + + VREvent_MouseMove = 300, // data is mouse + VREvent_MouseButtonDown = 301, // data is mouse + VREvent_MouseButtonUp = 302, // data is mouse + VREvent_FocusEnter = 303, // data is overlay + VREvent_FocusLeave = 304, // data is overlay + VREvent_Scroll = 305, // data is mouse + VREvent_TouchPadMove = 306, // data is mouse + + VREvent_InputFocusCaptured = 400, // data is process DEPRECATED + VREvent_InputFocusReleased = 401, // data is process DEPRECATED + VREvent_SceneFocusLost = 402, // data is process + VREvent_SceneFocusGained = 403, // data is process + VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) + VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene + VREvent_InputFocusChanged = 406, // data is process + VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process + + VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily + VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility + + VREvent_OverlayShown = 500, + VREvent_OverlayHidden = 501, + VREvent_DashboardActivated = 502, + VREvent_DashboardDeactivated = 503, + VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay + VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay + VREvent_ResetDashboard = 506, // Send to the overlay manager + VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID + VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading + VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it + VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it + VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it + VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else + VREvent_OverlaySharedTextureChanged = 513, + VREvent_DashboardGuideButtonDown = 514, + VREvent_DashboardGuideButtonUp = 515, + VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot + VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load + + // Screenshot API + VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot + VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken + VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken + VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted + + VREvent_Notification_Shown = 600, + VREvent_Notification_Hidden = 601, + VREvent_Notification_BeginInteraction = 602, + VREvent_Notification_Destroyed = 603, + + VREvent_Quit = 700, // data is process + VREvent_ProcessQuit = 701, // data is process + VREvent_QuitAborted_UserPrompt = 702, // data is process + VREvent_QuitAcknowledged = 703, // data is process + VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down + + VREvent_ChaperoneDataHasChanged = 800, + VREvent_ChaperoneUniverseHasChanged = 801, + VREvent_ChaperoneTempDataHasChanged = 802, + VREvent_ChaperoneSettingsHaveChanged = 803, + VREvent_SeatedZeroPoseReset = 804, + + VREvent_AudioSettingsHaveChanged = 820, + + VREvent_BackgroundSettingHasChanged = 850, + VREvent_CameraSettingsHaveChanged = 851, + VREvent_ReprojectionSettingHasChanged = 852, + VREvent_ModelSkinSettingsHaveChanged = 853, + VREvent_EnvironmentSettingsHaveChanged = 854, + + VREvent_StatusUpdate = 900, + + VREvent_MCImageUpdated = 1000, + + VREvent_FirmwareUpdateStarted = 1100, + VREvent_FirmwareUpdateFinished = 1101, + + VREvent_KeyboardClosed = 1200, + VREvent_KeyboardCharInput = 1201, + VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard + + VREvent_ApplicationTransitionStarted = 1300, + VREvent_ApplicationTransitionAborted = 1301, + VREvent_ApplicationTransitionNewAppStarted = 1302, + VREvent_ApplicationListUpdated = 1303, + + VREvent_Compositor_MirrorWindowShown = 1400, + VREvent_Compositor_MirrorWindowHidden = 1401, + VREvent_Compositor_ChaperoneBoundsShown = 1410, + VREvent_Compositor_ChaperoneBoundsHidden = 1411, + + VREvent_TrackedCamera_StartVideoStream = 1500, + VREvent_TrackedCamera_StopVideoStream = 1501, + VREvent_TrackedCamera_PauseVideoStream = 1502, + VREvent_TrackedCamera_ResumeVideoStream = 1503, + + VREvent_PerformanceTest_EnableCapture = 1600, + VREvent_PerformanceTest_DisableCapture = 1601, + VREvent_PerformanceTest_FidelityLevel = 1602, + + // Vendors are free to expose private events in this reserved region + VREvent_VendorSpecific_Reserved_Start = 10000, + VREvent_VendorSpecific_Reserved_End = 19999, +}; + + +/** Level of Hmd activity */ +enum EDeviceActivityLevel +{ + k_EDeviceActivityLevel_Unknown = -1, + k_EDeviceActivityLevel_Idle = 0, + k_EDeviceActivityLevel_UserInteraction = 1, + k_EDeviceActivityLevel_UserInteraction_Timeout = 2, + k_EDeviceActivityLevel_Standby = 3, +}; + + +/** VR controller button and axis IDs */ +enum EVRButtonId +{ + k_EButton_System = 0, + k_EButton_ApplicationMenu = 1, + k_EButton_Grip = 2, + k_EButton_DPad_Left = 3, + k_EButton_DPad_Up = 4, + k_EButton_DPad_Right = 5, + k_EButton_DPad_Down = 6, + k_EButton_A = 7, + + k_EButton_Axis0 = 32, + k_EButton_Axis1 = 33, + k_EButton_Axis2 = 34, + k_EButton_Axis3 = 35, + k_EButton_Axis4 = 36, + + // aliases for well known controllers + k_EButton_SteamVR_Touchpad = k_EButton_Axis0, + k_EButton_SteamVR_Trigger = k_EButton_Axis1, + + k_EButton_Dashboard_Back = k_EButton_Grip, + + k_EButton_Max = 64 +}; + +inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } + +/** used for controller button events */ +struct VREvent_Controller_t +{ + uint32_t button; // EVRButtonId enum +}; + + +/** used for simulated mouse events in overlay space */ +enum EVRMouseButton +{ + VRMouseButton_Left = 0x0001, + VRMouseButton_Right = 0x0002, + VRMouseButton_Middle = 0x0004, +}; + + +/** used for simulated mouse events in overlay space */ +struct VREvent_Mouse_t +{ + float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 + uint32_t button; // EVRMouseButton enum +}; + +/** used for simulated mouse wheel scroll in overlay space */ +struct VREvent_Scroll_t +{ + float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe + uint32_t repeatCount; +}; + +/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger + is on the touchpad (or just released from it) +**/ +struct VREvent_TouchPadMove_t +{ + // true if the users finger is detected on the touch pad + bool bFingerDown; + + // How long the finger has been down in seconds + float flSecondsFingerDown; + + // These values indicate the starting finger position (so you can do some basic swipe stuff) + float fValueXFirst; + float fValueYFirst; + + // This is the raw sampled coordinate without deadzoning + float fValueXRaw; + float fValueYRaw; +}; + +/** notification related events. Details will still change at this point */ +struct VREvent_Notification_t +{ + uint64_t ulUserValue; + uint32_t notificationId; +}; + +/** Used for events about processes */ +struct VREvent_Process_t +{ + uint32_t pid; + uint32_t oldPid; + bool bForced; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Overlay_t +{ + uint64_t overlayHandle; +}; + + +/** Used for a few events about overlays */ +struct VREvent_Status_t +{ + uint32_t statusState; // EVRState enum +}; + +/** Used for keyboard events **/ +struct VREvent_Keyboard_t +{ + char cNewInput[8]; // Up to 11 bytes of new input + uint64_t uUserValue; // Possible flags about the new input +}; + +struct VREvent_Ipd_t +{ + float ipdMeters; +}; + +struct VREvent_Chaperone_t +{ + uint64_t m_nPreviousUniverse; + uint64_t m_nCurrentUniverse; +}; + +/** Not actually used for any events */ +struct VREvent_Reserved_t +{ + uint64_t reserved0; + uint64_t reserved1; +}; + +struct VREvent_PerformanceTest_t +{ + uint32_t m_nFidelityLevel; +}; + +struct VREvent_SeatedZeroPoseReset_t +{ + bool bResetBySystemMenu; +}; + +struct VREvent_Screenshot_t +{ + uint32_t handle; + uint32_t type; +}; + +/** If you change this you must manually update openvr_interop.cs.py */ +typedef union +{ + VREvent_Reserved_t reserved; + VREvent_Controller_t controller; + VREvent_Mouse_t mouse; + VREvent_Scroll_t scroll; + VREvent_Process_t process; + VREvent_Notification_t notification; + VREvent_Overlay_t overlay; + VREvent_Status_t status; + VREvent_Keyboard_t keyboard; + VREvent_Ipd_t ipd; + VREvent_Chaperone_t chaperone; + VREvent_PerformanceTest_t performanceTest; + VREvent_TouchPadMove_t touchPadMove; + VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; + VREvent_Screenshot_t screenshot; +} VREvent_Data_t; + +/** An event posted by the server to all running applications */ +struct VREvent_t +{ + uint32_t eventType; // EVREventType enum + TrackedDeviceIndex_t trackedDeviceIndex; + float eventAgeSeconds; + // event data must be the end of the struct as its size is variable + VREvent_Data_t data; +}; + + +/** The mesh to draw into the stencil (or depth) buffer to perform +* early stencil (or depth) kills of pixels that will never appear on the HMD. +* This mesh draws on all the pixels that will be hidden after distortion. +* +* If the HMD does not provide a visible area mesh pVertexData will be +* NULL and unTriangleCount will be 0. */ +struct HiddenAreaMesh_t +{ + const HmdVector2_t *pVertexData; + uint32_t unTriangleCount; +}; + + +/** Identifies what kind of axis is on the controller at index n. Read this type +* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); +*/ +enum EVRControllerAxisType +{ + k_eControllerAxis_None = 0, + k_eControllerAxis_TrackPad = 1, + k_eControllerAxis_Joystick = 2, + k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis +}; + + +/** contains information about one axis on the controller */ +struct VRControllerAxis_t +{ + float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. + float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. +}; + + +/** the number of axes in the controller state */ +static const uint32_t k_unControllerStateAxisCount = 5; + + +/** Holds all the state of a controller at one moment in time. */ +struct VRControllerState001_t +{ + // If packet num matches that on your prior call, then the controller state hasn't been changed since + // your last call and there is no need to process it + uint32_t unPacketNum; + + // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask + uint64_t ulButtonPressed; + uint64_t ulButtonTouched; + + // Axis data for the controller's analog inputs + VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; +}; + + +typedef VRControllerState001_t VRControllerState_t; + + +/** determines how to provide output to the application of various event processing functions. */ +enum EVRControllerEventOutputType +{ + ControllerEventOutput_OSEvents = 0, + ControllerEventOutput_VREvents = 1, +}; + + + +/** Collision Bounds Style */ +enum ECollisionBoundsStyle +{ + COLLISION_BOUNDS_STYLE_BEGINNER = 0, + COLLISION_BOUNDS_STYLE_INTERMEDIATE, + COLLISION_BOUNDS_STYLE_SQUARES, + COLLISION_BOUNDS_STYLE_ADVANCED, + COLLISION_BOUNDS_STYLE_NONE, + + COLLISION_BOUNDS_STYLE_COUNT +}; + +/** Allows the application to customize how the overlay appears in the compositor */ +struct Compositor_OverlaySettings +{ + uint32_t size; // sizeof(Compositor_OverlaySettings) + bool curved, antialias; + float scale, distance, alpha; + float uOffset, vOffset, uScale, vScale; + float gridDivs, gridWidth, gridScale; + HmdMatrix44_t transform; +}; + +/** used to refer to a single VR overlay */ +typedef uint64_t VROverlayHandle_t; + +static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; + +/** Errors that can occur around VR overlays */ +enum EVROverlayError +{ + VROverlayError_None = 0, + + VROverlayError_UnknownOverlay = 10, + VROverlayError_InvalidHandle = 11, + VROverlayError_PermissionDenied = 12, + VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist + VROverlayError_WrongVisibilityType = 14, + VROverlayError_KeyTooLong = 15, + VROverlayError_NameTooLong = 16, + VROverlayError_KeyInUse = 17, + VROverlayError_WrongTransformType = 18, + VROverlayError_InvalidTrackedDevice = 19, + VROverlayError_InvalidParameter = 20, + VROverlayError_ThumbnailCantBeDestroyed = 21, + VROverlayError_ArrayTooSmall = 22, + VROverlayError_RequestFailed = 23, + VROverlayError_InvalidTexture = 24, + VROverlayError_UnableToLoadFile = 25, + VROVerlayError_KeyboardAlreadyInUse = 26, + VROverlayError_NoNeighbor = 27, +}; + +/** enum values to pass in to VR_Init to identify whether the application will +* draw a 3D scene. */ +enum EVRApplicationType +{ + VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries + VRApplication_Scene = 1, // Application will submit 3D frames + VRApplication_Overlay = 2, // Application only interacts with overlays + VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not + // keep it running if everything else quits. + VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility + // interfaces (like IVRSettings and IVRApplications) but not hardware. + VRApplication_VRMonitor = 5, // Reserved for vrmonitor +}; + + +/** error codes for firmware */ +enum EVRFirmwareError +{ + VRFirmwareError_None = 0, + VRFirmwareError_Success = 1, + VRFirmwareError_Fail = 2, +}; + + +/** error codes for notifications */ +enum EVRNotificationError +{ + VRNotificationError_OK = 0, + VRNotificationError_InvalidNotificationId = 100, + VRNotificationError_NotificationQueueFull = 101, + VRNotificationError_InvalidOverlayHandle = 102, + VRNotificationError_SystemWithUserValueAlreadyExists = 103, +}; + + +/** error codes returned by Vr_Init */ + +// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp +enum EVRInitError +{ + VRInitError_None = 0, + VRInitError_Unknown = 1, + + VRInitError_Init_InstallationNotFound = 100, + VRInitError_Init_InstallationCorrupt = 101, + VRInitError_Init_VRClientDLLNotFound = 102, + VRInitError_Init_FileNotFound = 103, + VRInitError_Init_FactoryNotFound = 104, + VRInitError_Init_InterfaceNotFound = 105, + VRInitError_Init_InvalidInterface = 106, + VRInitError_Init_UserConfigDirectoryInvalid = 107, + VRInitError_Init_HmdNotFound = 108, + VRInitError_Init_NotInitialized = 109, + VRInitError_Init_PathRegistryNotFound = 110, + VRInitError_Init_NoConfigPath = 111, + VRInitError_Init_NoLogPath = 112, + VRInitError_Init_PathRegistryNotWritable = 113, + VRInitError_Init_AppInfoInitFailed = 114, + VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver + VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup + VRInitError_Init_AnotherAppLaunching = 117, + VRInitError_Init_SettingsInitFailed = 118, + VRInitError_Init_ShuttingDown = 119, + VRInitError_Init_TooManyObjects = 120, + VRInitError_Init_NoServerForBackgroundApp = 121, + VRInitError_Init_NotSupportedWithCompositor = 122, + VRInitError_Init_NotAvailableToUtilityApps = 123, + VRInitError_Init_Internal = 124, + + VRInitError_Driver_Failed = 200, + VRInitError_Driver_Unknown = 201, + VRInitError_Driver_HmdUnknown = 202, + VRInitError_Driver_NotLoaded = 203, + VRInitError_Driver_RuntimeOutOfDate = 204, + VRInitError_Driver_HmdInUse = 205, + VRInitError_Driver_NotCalibrated = 206, + VRInitError_Driver_CalibrationInvalid = 207, + VRInitError_Driver_HmdDisplayNotFound = 208, + + VRInitError_IPC_ServerInitFailed = 300, + VRInitError_IPC_ConnectFailed = 301, + VRInitError_IPC_SharedStateInitFailed = 302, + VRInitError_IPC_CompositorInitFailed = 303, + VRInitError_IPC_MutexInitFailed = 304, + VRInitError_IPC_Failed = 305, + + VRInitError_Compositor_Failed = 400, + VRInitError_Compositor_D3D11HardwareRequired = 401, + VRInitError_Compositor_FirmwareRequiresUpdate = 402, + VRInitError_Compositor_OverlayInitFailed = 403, + VRInitError_Compositor_ScreenshotsInitFailed = 404, + + VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, + + VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, + VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, + VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, + VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, + VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, + VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, + VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, + VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, + VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, + VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, + VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, + VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, + + VRInitError_Steam_SteamInstallationNotFound = 2000, +}; + +enum EVRScreenshotType +{ + VRScreenshotType_None = 0, + VRScreenshotType_Mono = 1, // left eye only + VRScreenshotType_Stereo = 2, + VRScreenshotType_Cubemap = 3, + VRScreenshotType_MonoPanorama = 4, + VRScreenshotType_StereoPanorama = 5 +}; + +enum EVRScreenshotPropertyFilenames +{ + VRScreenshotPropertyFilenames_Preview = 0, + VRScreenshotPropertyFilenames_VR = 1, +}; + +enum EVRTrackedCameraError +{ + VRTrackedCameraError_None = 0, + VRTrackedCameraError_OperationFailed = 100, + VRTrackedCameraError_InvalidHandle = 101, + VRTrackedCameraError_InvalidFrameHeaderVersion = 102, + VRTrackedCameraError_OutOfHandles = 103, + VRTrackedCameraError_IPCFailure = 104, + VRTrackedCameraError_NotSupportedForThisDevice = 105, + VRTrackedCameraError_SharedMemoryFailure = 106, + VRTrackedCameraError_FrameBufferingFailure = 107, + VRTrackedCameraError_StreamSetupFailure = 108, + VRTrackedCameraError_InvalidGLTextureId = 109, + VRTrackedCameraError_InvalidSharedTextureHandle = 110, + VRTrackedCameraError_FailedToGetGLTextureId = 111, + VRTrackedCameraError_SharedTextureFailure = 112, + VRTrackedCameraError_NoFrameAvailable = 113, + VRTrackedCameraError_InvalidArgument = 114, + VRTrackedCameraError_InvalidFrameBufferSize = 115, +}; + +enum EVRTrackedCameraFrameType +{ + VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. + VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. + VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. + MAX_CAMERA_FRAME_TYPES +}; + +typedef uint64_t TrackedCameraHandle_t; +#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) + +struct CameraVideoStreamFrameHeader_t +{ + EVRTrackedCameraFrameType eFrameType; + + uint32_t nWidth; + uint32_t nHeight; + uint32_t nBytesPerPixel; + + uint32_t nFrameSequence; + + TrackedDevicePose_t standingTrackedDevicePose; +}; + +// Screenshot types +typedef uint32_t ScreenshotHandle_t; + +static const uint32_t k_unScreenshotHandleInvalid = 0; + +#pragma pack( pop ) + +// figure out how to import from the VR API dll +#if defined(_WIN32) + +#ifdef VR_API_EXPORT +#define VR_INTERFACE extern "C" __declspec( dllexport ) +#else +#define VR_INTERFACE extern "C" __declspec( dllimport ) +#endif + +#elif defined(GNUC) || defined(COMPILER_GCC) || defined(__APPLE__) + +#ifdef VR_API_EXPORT +#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) +#else +#define VR_INTERFACE extern "C" +#endif + +#else +#error "Unsupported Platform." +#endif + + +#if defined( _WIN32 ) +#define VR_CALLTYPE __cdecl +#else +#define VR_CALLTYPE +#endif + +} // namespace vr + +#endif // _INCLUDE_VRTYPES_H + + +// vrtrackedcameratypes.h +#ifndef _VRTRACKEDCAMERATYPES_H +#define _VRTRACKEDCAMERATYPES_H + +namespace vr +{ + +#if defined(__linux__) || defined(__APPLE__) + // The 32-bit version of gcc has the alignment requirement for uint64 and double set to + // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. + // The 64-bit version of gcc has the alignment requirement for these types set to + // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. + // The 64-bit structure packing has to match the 32-bit structure packing for each platform. + #pragma pack( push, 4 ) +#else + #pragma pack( push, 8 ) +#endif + +enum ECameraVideoStreamFormat +{ + CVS_FORMAT_UNKNOWN = 0, + CVS_FORMAT_RAW10 = 1, // 10 bits per pixel + CVS_FORMAT_NV12 = 2, // 12 bits per pixel + CVS_FORMAT_RGB24 = 3, // 24 bits per pixel + CVS_MAX_FORMATS +}; + +enum ECameraCompatibilityMode +{ + CAMERA_COMPAT_MODE_BULK_DEFAULT = 0, + CAMERA_COMPAT_MODE_BULK_64K_DMA, + CAMERA_COMPAT_MODE_BULK_16K_DMA, + CAMERA_COMPAT_MODE_BULK_8K_DMA, + CAMERA_COMPAT_MODE_ISO_52FPS, + CAMERA_COMPAT_MODE_ISO_50FPS, + CAMERA_COMPAT_MODE_ISO_48FPS, + CAMERA_COMPAT_MODE_ISO_46FPS, + CAMERA_COMPAT_MODE_ISO_44FPS, + CAMERA_COMPAT_MODE_ISO_42FPS, + CAMERA_COMPAT_MODE_ISO_40FPS, + CAMERA_COMPAT_MODE_ISO_35FPS, + CAMERA_COMPAT_MODE_ISO_30FPS, + MAX_CAMERA_COMPAT_MODES +}; + +#ifdef _MSC_VER +#define VR_CAMERA_DECL_ALIGN( x ) __declspec( align( x ) ) +#else +#define VR_CAMERA_DECL_ALIGN( x ) // +#endif + +#define MAX_CAMERA_FRAME_SHARED_HANDLES 4 + +VR_CAMERA_DECL_ALIGN( 8 ) struct CameraVideoStreamFrame_t +{ + ECameraVideoStreamFormat m_nStreamFormat; + + uint32_t m_nWidth; + uint32_t m_nHeight; + + uint32_t m_nImageDataSize; // Based on stream format, width, height + + uint32_t m_nFrameSequence; // Starts from 0 when stream starts. + + uint32_t m_nBufferIndex; // Identifies which buffer the image data is hosted + uint32_t m_nBufferCount; // Total number of configured buffers + + uint32_t m_nExposureTime; + + uint32_t m_nISPFrameTimeStamp; // Driver provided time stamp per driver centric time base + uint32_t m_nISPReferenceTimeStamp; + uint32_t m_nSyncCounter; + + uint32_t m_nCamSyncEvents; + uint32_t m_nISPSyncEvents; + + double m_flReferenceCamSyncTime; + + double m_flFrameElapsedTime; // Starts from 0 when stream starts. In seconds. + double m_flFrameDeliveryRate; + + double m_flFrameCaptureTime_DriverAbsolute; // In USB time, via AuxEvent + double m_flFrameCaptureTime_ServerRelative; // In System time within the server + uint64_t m_nFrameCaptureTicks_ServerAbsolute; // In system ticks within the server + double m_flFrameCaptureTime_ClientRelative; // At the client, relative to when the frame was exposed/captured. + + double m_flSyncMarkerError; + + TrackedDevicePose_t m_StandingTrackedDevicePose; // Supplied by HMD layer when used as a tracked camera + + uint64_t m_pImageData; +}; + +#pragma pack( pop ) + +} + +#endif // _VRTRACKEDCAMERATYPES_H +// ivrsettings.h +namespace vr +{ + enum EVRSettingsError + { + VRSettingsError_None = 0, + VRSettingsError_IPCFailed = 1, + VRSettingsError_WriteFailed = 2, + VRSettingsError_ReadFailed = 3, + }; + + // The maximum length of a settings key + static const uint32_t k_unMaxSettingsKeyLength = 128; + + class IVRSettings + { + public: + virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; + + // Returns true if file sync occurred (force or settings dirty) + virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; + + virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, bool bDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; + virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; + virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, float flDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void GetString( const char *pchSection, const char *pchSettingsKey, char *pchValue, uint32_t unValueLen, const char *pchDefaultValue, EVRSettingsError *peError = nullptr ) = 0; + virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; + + virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; + virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; + }; + + //----------------------------------------------------------------------------- + static const char * const IVRSettings_Version = "IVRSettings_001"; + + //----------------------------------------------------------------------------- + // steamvr keys + + static const char * const k_pch_SteamVR_Section = "steamvr"; + static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; + static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; + static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; + static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; + static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; + static const char * const k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; + static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; + static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; + static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; + static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; + static const char * const k_pch_SteamVR_IPD_Float = "ipd"; + static const char * const k_pch_SteamVR_Background_String = "background"; + static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; + static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; + static const char * const k_pch_SteamVR_Environment_String = "environment"; + static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; + static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; + static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; + static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; + static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; + static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; + static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; + static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; + static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; + static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; + static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; + static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; + static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; + static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; + static const char * const k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; + static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; + static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; + static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; + static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; + static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; + + //----------------------------------------------------------------------------- + // lighthouse keys + + static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; + static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; + static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; + static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; + + static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; + static const char * const k_pch_Lighthouse_LighthouseName_String = "lighthousename"; + static const char * const k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; + static const char * const k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; + static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; + + //----------------------------------------------------------------------------- + // null keys + + static const char * const k_pch_Null_Section = "driver_null"; + static const char * const k_pch_Null_EnableNullDriver_Bool = "enable"; + static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; + static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; + static const char * const k_pch_Null_WindowX_Int32 = "windowX"; + static const char * const k_pch_Null_WindowY_Int32 = "windowY"; + static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; + static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; + static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; + static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; + static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; + static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; + + //----------------------------------------------------------------------------- + // user interface keys + static const char * const k_pch_UserInterface_Section = "userinterface"; + static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; + static const char * const k_pch_UserInterface_EnableScreenshots_Bool = "EnableScreenshots"; + + //----------------------------------------------------------------------------- + // notification keys + static const char * const k_pch_Notifications_Section = "notifications"; + static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; + + //----------------------------------------------------------------------------- + // keyboard keys + static const char * const k_pch_Keyboard_Section = "keyboard"; + static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; + static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; + static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; + static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; + static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; + static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; + static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; + + //----------------------------------------------------------------------------- + // perf keys + static const char * const k_pch_Perf_Section = "perfcheck"; + static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; + static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; + static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; + static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; + static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; + static const char * const k_pch_Perf_TestData_Float = "perfTestData"; + + //----------------------------------------------------------------------------- + // collision bounds keys + static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; + static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; + static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; + static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; + static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; + static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; + static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; + static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; + static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; + static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; + + //----------------------------------------------------------------------------- + // camera keys + static const char * const k_pch_Camera_Section = "camera"; + static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; + static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; + static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; + static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; + static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; + static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; + static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; + static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; + + //----------------------------------------------------------------------------- + // audio keys + static const char * const k_pch_audio_Section = "audio"; + static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; + static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; + static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; + static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; + static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; + static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; + + //----------------------------------------------------------------------------- + // model skin keys + static const char * const k_pch_modelskin_Section = "modelskins"; + +} // namespace vr + +// iservertrackeddevicedriver.h +namespace vr +{ + + +struct DriverPoseQuaternion_t +{ + double w, x, y, z; +}; + +struct DriverPose_t +{ + /* Time offset of this pose, in seconds from the actual time of the pose, + * relative to the time of the PoseUpdated() call made by the driver. + */ + double poseTimeOffset; + + /* Generally, the pose maintained by a driver + * is in an inertial coordinate system different + * from the world system of x+ right, y+ up, z+ back. + * Also, the driver is not usually tracking the "head" position, + * but instead an internal IMU or another reference point in the HMD. + * The following two transforms transform positions and orientations + * to app world space from driver world space, + * and to HMD head space from driver local body space. + * + * We maintain the driver pose state in its internal coordinate system, + * so we can do the pose prediction math without having to + * use angular acceleration. A driver's angular acceleration is generally not measured, + * and is instead calculated from successive samples of angular velocity. + * This leads to a noisy angular acceleration values, which are also + * lagged due to the filtering required to reduce noise to an acceptable level. + */ + vr::HmdQuaternion_t qWorldFromDriverRotation; + double vecWorldFromDriverTranslation[ 3 ]; + + vr::HmdQuaternion_t qDriverFromHeadRotation; + double vecDriverFromHeadTranslation[ 3 ]; + + /* State of driver pose, in meters and radians. */ + /* Position of the driver tracking reference in driver world space + * +[0] (x) is right + * +[1] (y) is up + * -[2] (z) is forward + */ + double vecPosition[ 3 ]; + + /* Velocity of the pose in meters/second */ + double vecVelocity[ 3 ]; + + /* Acceleration of the pose in meters/second */ + double vecAcceleration[ 3 ]; + + /* Orientation of the tracker, represented as a quaternion */ + vr::HmdQuaternion_t qRotation; + + /* Angular velocity of the pose in axis-angle + * representation. The direction is the angle of + * rotation and the magnitude is the angle around + * that axis in radians/second. */ + double vecAngularVelocity[ 3 ]; + + /* Angular acceleration of the pose in axis-angle + * representation. The direction is the angle of + * rotation and the magnitude is the angle around + * that axis in radians/second^2. */ + double vecAngularAcceleration[ 3 ]; + + ETrackingResult result; + + bool poseIsValid; + bool willDriftInYaw; + bool shouldApplyHeadModel; + bool deviceIsConnected; +}; + + +// ---------------------------------------------------------------------------------------------- +// Purpose: Represents a single tracked device in a driver +// ---------------------------------------------------------------------------------------------- +class ITrackedDeviceServerDriver +{ +public: + + // ------------------------------------ + // Management Methods + // ------------------------------------ + /** This is called before an HMD is returned to the application. It will always be + * called before any display or tracking methods. Memory and processor use by the + * ITrackedDeviceServerDriver object should be kept to a minimum until it is activated. + * The pose listener is guaranteed to be valid until Deactivate is called, but + * should not be used after that point. */ + virtual EVRInitError Activate( uint32_t unObjectId ) = 0; + + /** This is called when The VR system is switching from this Hmd being the active display + * to another Hmd being the active display. The driver should clean whatever memory + * and thread use it can when it is deactivated */ + virtual void Deactivate() = 0; + + /** Handles a request from the system to power off this device */ + virtual void PowerOff() = 0; + + /** Requests a component interface of the driver for device-specific functionality. The driver should return NULL + * if the requested interface or version is not supported. */ + virtual void *GetComponent( const char *pchComponentNameAndVersion ) = 0; + + /** A VR Client has made this debug request of the driver. The set of valid requests is entirely + * up to the driver and the client to figure out, as is the format of the response. Responses that + * exceed the length of the supplied buffer should be truncated and null terminated */ + virtual void DebugRequest( const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; + + // ------------------------------------ + // Tracking Methods + // ------------------------------------ + virtual DriverPose_t GetPose() = 0; + + // ------------------------------------ + // Property Methods + // ------------------------------------ + + /** Returns a bool property. If the property is not available this function will return false. */ + virtual bool GetBoolTrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; + + /** Returns a float property. If the property is not available this function will return 0. */ + virtual float GetFloatTrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; + + /** Returns an int property. If the property is not available this function will return 0. */ + virtual int32_t GetInt32TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; + + /** Returns a uint64 property. If the property is not available this function will return 0. */ + virtual uint64_t GetUint64TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; + + /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ + virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( ETrackedDeviceProperty prop, ETrackedPropertyError *pError ) = 0; + + /** Returns a string property. If the property is not available this function will return 0 and pError will be + * set to an error. Otherwise it returns the length of the number of bytes necessary to hold this string including + * the trailing null. If the buffer is too small the error will be TrackedProp_BufferTooSmall. Strings will + * generally fit in buffers of k_unTrackingStringSize characters. Drivers may not return strings longer than + * k_unMaxPropertyStringSize. */ + virtual uint32_t GetStringTrackedDeviceProperty( ETrackedDeviceProperty prop, char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError ) = 0; + +}; + + + +static const char *ITrackedDeviceServerDriver_Version = "ITrackedDeviceServerDriver_004"; + +} +// ivrdisplaycomponent.h +namespace vr +{ + + + // ---------------------------------------------------------------------------------------------- + // Purpose: The display component on a single tracked device + // ---------------------------------------------------------------------------------------------- + class IVRDisplayComponent + { + public: + + // ------------------------------------ + // Display Methods + // ------------------------------------ + + /** Size and position that the window needs to be on the VR display. */ + virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Returns true if the display is extending the desktop. */ + virtual bool IsDisplayOnDesktop( ) = 0; + + /** Returns true if the display is real and not a fictional display. */ + virtual bool IsDisplayRealDisplay( ) = 0; + + /** Suggested size for the intermediate render target that the distortion pulls from. */ + virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** Gets the viewport in the frame buffer to draw the output of the distortion into */ + virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; + + /** The components necessary to build your own projection matrix in case your + * application is doing something fancy like infinite Z */ + virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; + + /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in + * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ + virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; + + }; + + static const char *IVRDisplayComponent_Version = "IVRDisplayComponent_002"; + +} + +// ivrdriverdirectmodecomponent.h +namespace vr +{ + + + // ---------------------------------------------------------------------------------------------- + // Purpose: This component is used for drivers that implement direct mode entirely on their own + // without allowing the VR Compositor to own the window/device. Chances are you don't + // need to implement this component in your driver. + // ---------------------------------------------------------------------------------------------- + class IVRDriverDirectModeComponent + { + public: + + // ----------------------------------- + // Direct mode methods + // ----------------------------------- + + /** Specific to Oculus compositor support, textures supplied must be created using this method. */ + virtual void CreateSwapTextureSet( uint32_t unPid, uint32_t unFormat, uint32_t unWidth, uint32_t unHeight, void *(*pSharedTextureHandles)[3] ) {} + + /** Used to textures created using CreateSwapTextureSet. Only one of the set's handles needs to be used to destroy the entire set. */ + virtual void DestroySwapTextureSet( void *pSharedTextureHandle ) {} + + /** Used to purge all texture sets for a given process. */ + virtual void DestroyAllSwapTextureSets( uint32_t unPid ) {} + + /** After Present returns, calls this to get the next index to use for rendering. */ + virtual void GetNextSwapTextureSetIndex( void *pSharedTextureHandles[ 2 ], uint32_t( *pIndices )[ 2 ] ) {} + + /** Call once per layer to draw for this frame. One shared texture handle per eye. Textures must be created + * using CreateSwapTextureSet and should be alternated per frame. Call Present once all layers have been submitted. */ + virtual void SubmitLayer( void *pSharedTextureHandles[ 2 ], const vr::VRTextureBounds_t( &bounds )[ 2 ], const vr::HmdMatrix34_t *pPose ) {} + + /** Submits queued layers for display. */ + virtual void Present( void *hSyncTexture ) {} + + }; + + static const char *IVRDriverDirectModeComponent_Version = "IVRDriverDirectModeComponent_001"; + +} + +// ivrcontrollercomponent.h +namespace vr +{ + + + // ---------------------------------------------------------------------------------------------- + // Purpose: Controller access on a single tracked device. + // ---------------------------------------------------------------------------------------------- + class IVRControllerComponent + { + public: + + // ------------------------------------ + // Controller Methods + // ------------------------------------ + + /** Gets the current state of a controller. */ + virtual VRControllerState_t GetControllerState( ) = 0; + + /** Returns a uint64 property. If the property is not available this function will return 0. */ + virtual bool TriggerHapticPulse( uint32_t unAxisId, uint16_t usPulseDurationMicroseconds ) = 0; + + }; + + + + static const char *IVRControllerComponent_Version = "IVRControllerComponent_001"; + +} +// ivrcameracomponent.h +namespace vr +{ + + //----------------------------------------------------------------------------- + //----------------------------------------------------------------------------- + class ICameraVideoSinkCallback + { + public: + virtual void OnCameraVideoSinkCallback() = 0; + }; + + // ---------------------------------------------------------------------------------------------- + // Purpose: The camera on a single tracked device + // ---------------------------------------------------------------------------------------------- + class IVRCameraComponent + { + public: + // ------------------------------------ + // Camera Methods + // ------------------------------------ + virtual bool HasCamera() = 0; + virtual bool GetCameraFirmwareDescription( char *pBuffer, uint32_t nBufferLen ) = 0; + virtual bool GetCameraFrameDimensions( vr::ECameraVideoStreamFormat nVideoStreamFormat, uint32_t *pWidth, uint32_t *pHeight ) = 0; + virtual bool GetCameraFrameBufferingRequirements( int *pDefaultFrameQueueSize, uint32_t *pFrameBufferDataSize ) = 0; + virtual bool SetCameraFrameBuffering( int nFrameBufferCount, void **ppFrameBuffers, uint32_t nFrameBufferDataSize ) = 0; + virtual bool SetCameraVideoStreamFormat( vr::ECameraVideoStreamFormat nVideoStreamFormat ) = 0; + virtual vr::ECameraVideoStreamFormat GetCameraVideoStreamFormat() = 0; + virtual bool StartVideoStream() = 0; + virtual void StopVideoStream() = 0; + virtual bool IsVideoStreamActive() = 0; + virtual float GetVideoStreamElapsedTime() = 0; + virtual const vr::CameraVideoStreamFrame_t *GetVideoStreamFrame() = 0; + virtual void ReleaseVideoStreamFrame( const vr::CameraVideoStreamFrame_t *pFrameImage ) = 0; + virtual bool SetAutoExposure( bool bEnable ) = 0; + virtual bool PauseVideoStream() = 0; + virtual bool ResumeVideoStream() = 0; + virtual bool IsVideoStreamPaused() = 0; + virtual bool GetCameraDistortion( float flInputU, float flInputV, float *pflOutputU, float *pflOutputV ) = 0; + virtual bool GetCameraProjection( float flWidthPixels, float flHeightPixels, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; + virtual bool GetRecommendedCameraUndistortion( uint32_t *pUndistortionWidthPixels, uint32_t *pUndistortionHeightPixels ) = 0; + virtual bool SetCameraUndistortion( uint32_t nUndistortionWidthPixels, uint32_t nUndistortionHeightPixels ) = 0; + virtual bool GetCameraFirmwareVersion( uint64_t *pFirmwareVersion ) = 0; + virtual bool SetFrameRate( int nISPFrameRate, int nSensorFrameRate ) = 0; + virtual bool SetCameraVideoSinkCallback( vr::ICameraVideoSinkCallback *pCameraVideoSinkCallback ) = 0; + virtual bool GetCameraCompatibilityMode( vr::ECameraCompatibilityMode *pCameraCompatibilityMode ) = 0; + virtual bool SetCameraCompatibilityMode( vr::ECameraCompatibilityMode nCameraCompatibilityMode ) = 0; + virtual bool GetCameraFrameBounds( vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pLeft, uint32_t *pTop, uint32_t *pWidth, uint32_t *pHeight ) = 0; + virtual bool GetCameraIntrinsics( vr::EVRTrackedCameraFrameType eFrameType, HmdVector2_t *pFocalLength, HmdVector2_t *pCenter ) = 0; + }; + + static const char *IVRCameraComponent_Version = "IVRCameraComponent_001"; +} +// itrackeddevicedriverprovider.h +namespace vr +{ + +class ITrackedDeviceServerDriver; +struct TrackedDeviceDriverInfo_t; +struct DriverPose_t; + +class IDriverLog +{ +public: + /** Writes a log message to the log file prefixed with the driver name */ + virtual void Log( const char *pchLogMessage ) = 0; +}; + +/** This interface is provided by vrserver to allow the driver to notify +* the system when something changes about a device. These changes must +* not change the serial number or class of the device because those values +* are permanently associated with the device's index. */ +class IServerDriverHost +{ +public: + /** Notifies the server that a tracked device has been added. If this function returns true + * the server will call Activate on the device. If it returns false some kind of error + * has occurred and the device will not be activated. */ + virtual bool TrackedDeviceAdded( const char *pchDeviceSerialNumber ) = 0; + + /** Notifies the server that a tracked device's pose has been updated */ + virtual void TrackedDevicePoseUpdated( uint32_t unWhichDevice, const DriverPose_t & newPose ) = 0; + + /** Notifies the server that the property cache for the specified device should be invalidated */ + virtual void TrackedDevicePropertiesChanged( uint32_t unWhichDevice ) = 0; + + /** Notifies the server that vsync has occurred on the the display attached to the device. This is + * only permitted on devices of the HMD class. */ + virtual void VsyncEvent( double vsyncTimeOffsetSeconds ) = 0; + + /** notifies the server that the button was pressed */ + virtual void TrackedDeviceButtonPressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; + + /** notifies the server that the button was unpressed */ + virtual void TrackedDeviceButtonUnpressed( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; + + /** notifies the server that the button was pressed */ + virtual void TrackedDeviceButtonTouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; + + /** notifies the server that the button was unpressed */ + virtual void TrackedDeviceButtonUntouched( uint32_t unWhichDevice, EVRButtonId eButtonId, double eventTimeOffset ) = 0; + + /** notifies the server than a controller axis changed */ + virtual void TrackedDeviceAxisUpdated( uint32_t unWhichDevice, uint32_t unWhichAxis, const VRControllerAxis_t & axisState ) = 0; + + /** Notifies the server that the MC image has been updated for the display attached to the device. This is + * only permitted on devices of the HMD class. */ + virtual void MCImageUpdated() = 0; + + /** always returns a pointer to a valid interface pointer of IVRSettings */ + virtual IVRSettings *GetSettings( const char *pchInterfaceVersion ) = 0; + + /** Notifies the server that the physical IPD adjustment has been moved on the HMD */ + virtual void PhysicalIpdSet( uint32_t unWhichDevice, float fPhysicalIpdMeters ) = 0; + + /** Notifies the server that the proximity sensor on the specified device */ + virtual void ProximitySensorState( uint32_t unWhichDevice, bool bProximitySensorTriggered ) = 0; + + /** Sends a vendor specific event (VREvent_VendorSpecific_Reserved_Start..VREvent_VendorSpecific_Reserved_End */ + virtual void VendorSpecificEvent( uint32_t unWhichDevice, vr::EVREventType eventType, const VREvent_Data_t & eventData, double eventTimeOffset ) = 0; + + /** Returns true if SteamVR is exiting */ + virtual bool IsExiting() = 0; +}; + + +/** This interface must be implemented in each driver. It will be loaded in vrserver.exe */ +class IServerTrackedDeviceProvider +{ +public: + /** initializes the driver. This will be called before any other methods are called. + * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. + * + * pDriverHost will never be NULL, and will always be a pointer to a IServerDriverHost interface + * + * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user + * config files. + * pchDriverInstallDir - The absolute path of the root directory for the driver. + */ + virtual EVRInitError Init( IDriverLog *pDriverLog, vr::IServerDriverHost *pDriverHost, const char *pchUserDriverConfigDir, const char *pchDriverInstallDir ) = 0; + + /** cleans up the driver right before it is unloaded */ + virtual void Cleanup() = 0; + + /** Returns the version of the ITrackedDeviceServerDriver interface used by this driver */ + virtual const char * const *GetInterfaceVersions() = 0; + + /** returns the number of HMDs that this driver manages that are physically connected. */ + virtual uint32_t GetTrackedDeviceCount() = 0; + + /** returns a single HMD */ + virtual ITrackedDeviceServerDriver *GetTrackedDeviceDriver( uint32_t unWhich ) = 0; + + /** returns a single HMD by ID */ + virtual ITrackedDeviceServerDriver* FindTrackedDeviceDriver( const char *pchId ) = 0; + + /** Allows the driver do to some work in the main loop of the server. */ + virtual void RunFrame() = 0; + + + // ------------ Power State Functions ----------------------- // + + /** Returns true if the driver wants to block Standby mode. */ + virtual bool ShouldBlockStandbyMode() = 0; + + /** Called when the system is entering Standby mode. The driver should switch itself into whatever sort of low-power + * state it has. */ + virtual void EnterStandby() = 0; + + /** Called when the system is leaving Standby mode. The driver should switch itself back to + full operation. */ + virtual void LeaveStandby() = 0; + +}; + + +static const char *IServerTrackedDeviceProvider_Version = "IServerTrackedDeviceProvider_003"; + + +/** This interface is provided by vrclient to allow the driver call back and query various information */ +class IClientDriverHost +{ +public: + /** Returns the device class of a tracked device. If there has not been a device connected in this slot + * since the application started this function will return TrackedDevice_Invalid. For previous detected + * devices the function will return the previously observed device class. + * + * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check + * the device class. Every device with something other than TrackedDevice_Invalid is associated with an + * actual tracked device. */ + virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns true if there is a device connected in this slot. */ + virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; + + /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ + virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ + virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ + virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ + virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; + + /** Returns a string property. If the device index is not valid or the property is not a float type this function will + * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing + * null. Strings will generally fit in buffers of k_unTrackingStringSize characters. */ + virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; + + /** always returns a pointer to a valid interface pointer of IVRSettings */ + virtual IVRSettings *GetSettings( const char *pchInterfaceVersion ) = 0; +}; + + + +/** This interface must be implemented in each driver. It will be loaded in vrclient.dll */ +class IClientTrackedDeviceProvider +{ +public: + /** initializes the driver. This will be called before any other methods are called, + * except BIsHmdPresent(). BIsHmdPresent is called outside of the Init/Cleanup pair. + * If Init returns anything other than VRInitError_None the driver DLL will be unloaded. + * + * pDriverHost will never be NULL, and will always be a pointer to a IClientDriverHost interface + * + * pchUserDriverConfigDir - The absolute path of the directory where the driver should store user + * config files. + * pchDriverInstallDir - The absolute path of the root directory for the driver. + */ + virtual EVRInitError Init( IDriverLog *pDriverLog, vr::IClientDriverHost *pDriverHost, const char *pchUserDriverConfigDir, const char *pchDriverInstallDir ) = 0; + + /** cleans up the driver right before it is unloaded */ + virtual void Cleanup() = 0; + + /** Called when the client needs to inform an application if an HMD is attached that uses + * this driver. This method should be as lightweight as possible and should have no side effects + * such as hooking process functions or leaving resources loaded. Init will not be called before + * this method and Cleanup will not be called after it. + */ + virtual bool BIsHmdPresent( const char *pchUserConfigDir ) = 0; + + /** called when the client inits an HMD to let the client driver know which one is in use */ + virtual EVRInitError SetDisplayId( const char *pchDisplayId ) = 0; + + /** Returns the stencil mesh information for the current HMD. If this HMD does not have a stencil mesh the vertex data and count will be + * NULL and 0 respectively. This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering + * each eye's view. The pixels covered by this mesh will never be seen by the user after the lens distortion is applied and based on visibility to the panels. + * This will improve perf by letting the GPU early-reject pixels the user will never see before running the pixel shader. + * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. + */ + virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye ) = 0; + + /** Get the MC image for the current HMD. + * Returns the size in bytes of the buffer required to hold the specified resource. */ + virtual uint32_t GetMCImage( uint32_t *pImgWidth, uint32_t *pImgHeight, uint32_t *pChannels, void *pDataBuffer, uint32_t unBufferLen ) = 0; +}; + +static const char *IClientTrackedDeviceProvider_Version = "IClientTrackedDeviceProvider_003"; + +} + + + + +namespace vr +{ + static const char * const k_InterfaceVersions[] = + { + IVRSettings_Version, + ITrackedDeviceServerDriver_Version, + IVRDisplayComponent_Version, + IVRDriverDirectModeComponent_Version, + IVRControllerComponent_Version, + IVRCameraComponent_Version, + IServerTrackedDeviceProvider_Version, + IClientTrackedDeviceProvider_Version, + nullptr + }; +} +// End + +#endif // _OPENVR_DRIVER_API + + diff --git a/examples/ThirdPartyLibs/openvr/lib/linux32/libopenvr_api.so b/examples/ThirdPartyLibs/openvr/lib/linux32/libopenvr_api.so new file mode 100644 index 0000000000000000000000000000000000000000..27da01cbe12da068abb542b1641702ce6eca95e6 GIT binary patch literal 2315918 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

m9i*`>ey_i3^D31o_DSz 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

Pzp)+G`(W}5VeGLkC<7+F4G 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⩔p-lb3VUU)hEb9;Qwz1F$ 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%0Av$#*0O^1qdK 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

    pl6NoAIJB1`vlaEX|nV(K4My4y=IamzK`$to_% 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

    0o{-~*@Xf1 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ÐH_0b~zE( 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 z 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%0AvhZ_cZrfjX)RKZAQr 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

    07cOc6t_#3InW*NhU1*}!@MuQH@~olzqER5vK$ z9<;x0sNGYdm~s?7tsT_z3sGe%D|{`v>RK(707+qo#4+g)XWudHo*SF z6<1jBZV1loLGVw=J%-$7^G*~PhhARIRpxpNUJJo~K=zrNmbijDaVpzohNB>UK#IR~ zr;%qSVdrhv&@_j_Z;{(;R=(>%KVgKN1DlpOOxat_ry`L(cOJ>&JPyX*^qRUzG3j(+)Xw_Yrst9}Z~B6{H<|*V( zAcwJNKC<765Bntbm-7kY68v&kM*WiA97>+(1j8h{Yi}B1rnZr zVud{xoQU-U=Ry#F?q>?wstjZR2* zZ_o}*f5TDB56NOAXas+Q;$>w?(P>g|V_+|Wa2XA4HiHpaZ88JlAgbPWI596kum_kt z^CWV2UdIFW03xg4xyt9P3Tv#=4y&pbLB_wu00Cf}aa3KED2(j0U zAdJKk=7=o=Q(_5GVy_b$#nHsJ7@)+?K+Y{e^%tkp{vomTtXm}ZTZ`oq)R_a7*gFI} zI!x@B);|(^FHmj?>Luia*fv6FdJM6vEtu=edyy+Ju{cNUS+@$YQ(}mf7AwpSkg8^) z24HsDUCL~G=sRW=GAzRE8@8romN3U`8JIFlh%$SJ*vKJa+GJM%;F@g9LCWkV@w(VD zJI1<2X72~WHQ8mzxhDIKVE2WYZDH|bHfgXj+XgvdwzDvr5oY!q`=-zduD#v>Bo4D< zK&2M<{`#M!j+R=c;WiGC`qSM?>I_(Rq$=dW2&pHn(NbmIa}5nuQWpqzahTM}7Ee-d1Ijhmr;!s<8wp=& zVN%`eSKqZ@HrFqaD=@J**IX+PV|_3VtofhJPLZk>J7zm(Dzh!2@0eA{vqk|P3r&ApFqy48oXp1J9JAL#W|?g%>N>*eK;V|7A6n+x z#>Xk(FJBIZSTK%8P*LPnXS3RAkP=8nU8Mm|UiPEaI?xm)um2zg7gXrVT@aa+NcWdan zySY{gq&T`IJqodFNd?HcmXs_`rk!9*8f8tfCDpk@ThevNxt7#Ku&pHxWi+yQwxksn z&zAHpa?+Ce3-DG|kd}1Hg4vSlk6=rR#krPrBV@KET_x(VEorkkjFpHyscI%_fEA_O zF=XRk2*yKyvuTR1dq@cbB-q;wvXFKV`~k>Dd$-+jC5({tW){JwaO0iY(G}s76B-PC z>7%uy6XrU48JKo-LbRjDiH)?AQ5}6f04_X@?$YoamQIvOU`bW$7Q>SXgzM;UA?L#L zk6?YucE(2QAH!4eZsHl9mdHtXx(TqaDoA*GTQI|OA94jI7U#nAE)8)At??h>`Pwf1 zBuG`8N*YYhGhFuh0_wQaP4@DP+CQG_VF(%5W>k=aiX&uCqvp};GF9$D;k)d*Oe--_ z?2v9f=4QyZnvtcf7ty*KJwB6xcAuo^MIo$vx*j+ix_IrOh@=PNZnoh(qmWT-r}
      dAZbSDJW5bg$7Bo+I%-Z=NVb-ZKq# z-1A>N4k;F-PmDvA4~tv0Y%i)7nwsKCscUX~%#u;)FIV{o%1CqcLpLD*2=9MINoMl1 zrIw8QXL5x&?G(;gA;>rV?!kg^XS=%l0YvVTgb#|bCnNe1Q>?2&aiiP>h zTe~9Mu3e$Xi*1qr9K+STF8*5|@VwCwZZRFdz=vj~s0CVN7ynPT$X*cE8_gn5<9Uc! zSbPoKVpSWrm^}%|2E%s*R6P3Fj_|$u+f6pg-8Lnv6k zGM(k0gk0n9;9Mfv#+!WMzg{yZa!6kp*PjejO;_f4s2Q%r& zxiM~-VDFJMl<}6ubBxQjc#d&-$jKPDOq%t_lIrQ=PZrEE?u`36#>L{?7V!d-DB&fbPCg!NG3c&5PvYZBsSg|4v>ofQbd&n*}g3$r<30?gk2AgSPj(Qx?T z7K}ba&Mg=zxT2OitHM#sGZ%~qa|=e@A7G9PMl@1r6s`+Kfw8!I2BQV8d~i6a;BQ~< zl98$vF-S2>Mkv8887U~y0Cd7!4*#RuTEhp!ZLOX-ovO~4vs}a#lk-KM4vS#qeai?} zOn!nbw_?(19IK@S>xv1M>sTp!+krc&zd=l8I#ZP&(q@|t1MXN}A-AYk$-esI2xBk_ zbHOYF(_j*!Q~V&YkwY%@)U(Ay^qS2-2RYaLCw}0Xe=&h2$833Q{{L7koB#O_YxAEW z*q0>@WxQ$eZ2r#y<)-+R$Vu}bB+Y(AO!NQNg4z7N@ofIFIM@6yh77+#vslX0=5J|5 z&^a88kcy`HY>0+Dti0X`ZO5xZ?uqa^&eBg_33I%bfhn(qD6gZ%Mkb02^IC0!^7=7y zj@LTka}I$e-K|^XH87D_^4bA8H>|V}Y@0Bz#^TBAJd5YBvK~3%b&~M;R1B{NESS7j zdW5{j;vBD6KxTRE{2#n>r8G+_T1;NA@ednMUU}(Y7_{9aGi?$X=1Qr8-%y4ZR`|`< zfD?^V;6y`(LZhI_L{qG{_?Ew1stPH7P+9uhfti!F^D8KWpcAG8{EhDXy&grK-9)oo zoLr^O{zvCuEb@u42nLo~2H5%Ud5jEjxisT(R%opN|GV=mBFCAkG*KIAt0~$@6_Tf3 zCHqn)Xy+%)HPSLLZKQ-~Bi$@Eiphm`{?h=s&i}&`+DQ5QEPrVMHqzg1d2FOjpVUS= z1Uc78ZxQTm;YRwp#j}xauy{7oL&!-ZT_BBfaZDqvJe9`TNLwLSU}ABuk=_m&euZXS zOd}20J0Eqe^b4tKCTf5n4SqzKeH!|%`zz$D2(u5`0I>TL=9n!5Q)UTKX1@^|IV4P( zz5Xd>w))e`?8+4~tXgKfS+~gS%|N*B{~~gZ*)4)CkTjIxSv;Bj%i_swooB+#t`kPL z#xQ#sAdcA~$Q77aoMUzl4UyS>QeNz^%I<$$Dw-AquRZ-kCu#RzW6R)$l7rK<`zyHG za#v||(qC;2*!`UXyFV51=@$V-y8qw*yZfucK)4dq{Wm|W-Csdj1f4ML;cs;Je=7@h zcHKWk%5S93{zvz(A@W?uK#paA-G9?`vdr%P<_uP-xd8vW`zxZ@nX34xHqxojX(Lrg zntGM&t2bG@KVhzsmVs#_B}5zP1!5yDE~=6CpQ(+s?ep45f071}NnlB_Esu?KG7zqj zu13x^(tic(4|o69ES`5_%=SP|m>ngIj*DS7 z(}KzD^T-vLSe#>a8x4`!_oTeo?$2w-Bc!64@ZZMtD5*)Erie17f4O zES|?h3Qh+YL)LLi9|uDR=3q!Lj%>whIfG%BNbP%>_F8*Y$aI#YPr9>h@w{}bplpIp zn5*GybnOY0+OL%I*Zhy#^F(Ng$n#z8SKHciFie=o+H)`*k6fYIAi)0~3>D$wPCyV@ z^GWTpM_|BpS%qv;uabSupCF7~mN3_4%fPhD5~5x9GqI75;=(g_*H`E@PlVn<&K
      <@;Ja*Xj+}JaFQlt}8`EWXS}?op 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%0AAua{X(&@Fe7D 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
    1. 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𝔇Ql` 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 z zYLxxkmQ9`^Sz##)NLHY~*?-1pbEx^dQ~y+ym(Oe$n#;{ohtcP2@XcBMp|_LVT^$5V z!<#8*1@Uz_m-|*v10!mKgY|=FDz1m{p8~J}S`Rj^tgZ>e|Fp`)%&G-+_TuUlK(;IE zni(P7AQ#tQgJy;icK~Rp|A5YH=N6LxjxlAKq< zH3+|4UdH46QXml01v9Bba8r%xR}T&vb?q5ni1ww+LsL73_3qAbf&A0J0J7u? za&uf#(~OWAwQThl-d6Z8oyrD%?ll8Lr4y6?ScSF1STk@2a{O406TyR{oeMc!0}2LV zUvzt=t3+AC8i?*EoOiM2FsJe`>qOC*qoGb$7YaHTJIa$Tc40 zcn_NTwO$oxrL$+dt7AR8G`)538ShAy8F(8Q!v~+U)I4^lTsalvB(k`x z$rEAgBt2NyKsL1pt==cI{Ju3xGfc za9FdUFMYTl8|=A!*PcrVFk&9x(G~k?ZAcyga@t~Xvfi%^Jh4n(!c=a=R2E_?%Q!a| zV>~=E&7R2@YRy!#b4c(xK<;ESyu>U61y;x3kYmgy47Q<14c9V3NZepVM>I>8)dIYW zd=DB(mekjB*WD}J%ijQ*1rrM)S@J9nn0ARC&_r!+qNRv_KMm*^r!?C+~$I9%eo$S3>O5-o%4K5FeC5LCM8&z$gG3$px;CK*E|gDD{`RKg8@f z@~QgDxIJcUAL%Zc=yV%@a`C=4BHdfWUU2rLJJ7%d3LY>Ak>)l}lWZ~ws%GKdat)6B zCM<%_y$rc*YGA-Mf9D`HW}|K#wYtaeiSF?qY6A}!NbrKCuo?c?=sY6q>aJv-jc#_FHRJEa7aS#9hn#B!~`ny#|!Yi zZvQ%a4*u)Oy)HbX*NQWG8R=-kp9iox@8fE|x6N@WWR7;!zb*6jQ(87D#o&?%dnrZR z{=3O`2~AC^T*;J>7)g+jcjmGkfeuqzQ9|JykU&5mN+8QQl#)2XB`yF^)l_EQQL#W! z3NlhVs$jdO=&Fg6fO3ijfh8)p)c4fuuNEp;M?Uu#_l9g-C~1h)nUcLQvCOS|MWE(+ZJ|v_izh(+XLb zLn~xy4z1AfLX!u+g!yo~5gQ~&lLzVI>4zvbK|&4R?dXNcAr9r%5r{*45JHb|C8 zu3z@>I+Z1nevxOdsFQVfJD_5M&gW7wktj;V1aZ?5LPKbjipdgPDkl6c6%&aQ zshCRmb*Pwjew%cOgz=X#dYw6I+$YjhtCzzp-f_!#k6+m?WLPWt zoWnvzudg3`^@4(WoQt!(ps2J%i{pqdlFN%rb8UEu*Q*siDv&5qpM8VcT}x7cHUjE4 zUL4RL;DXX|fhesF7@b#kh>eXqlt0jwD6LqB%BD*qc%zs>9X*#^6+d`r z{y!l!1LYm?`60%%e^7b;0T~riKYrm4vUDA}O;dyAoA7muG__xpuj2CWk!@2!c4*{) zl5ULQyXL3X@2MQUx$Q>}QY`kZ5!Z^i>A`)V#4O%~{@g(-S&D)E8H4v9TFr4|-lhW# znxoRLIp$4vh)c1LAM@C?;Jq|lka8*5Pzb5jpb9wzq%fp@{K6j_`cIvqpViUOf8KuR zK@iw8=s1r<|CP}Wa&$2CBcelp+5ZDWKg-iv57t8ef+bj8hR@7}BgUbCNj?a5fEX0J zxW?`FI4{=vMM~}Tfe4OF8`D6!1O-FcBZwT&vHcw=Dvh8-#p#AQ@mG@S61PnrPXh@c z#)e{zFJ@rY@LJtv%!_Mp{BHWF&X& zU(C42QvWwalF%KnVZ+e)!wekMVQVK#vBfR4bkX;=G$-OY|TXhkYzEPA}g>#IfsQ@}Nu zX!J|y8AR$pG?+PQ=CPG%%eg#&53-h-Ic9GYWO8%BTJs=$oQ${v?mGxXxje?GS~7?W zqqv`*2f$3R`qRO-j9?Ew3Cg%v=6OJS>WlwhK(Cl+l@FplBo=K*YX;-sB+_EuP2*^O z0ij_O3QnD-^FTZ)A{O{|{bf?K^lUQ^L*6T(e`!hqOMcSRV6Ri-P)v3wWG}A?3z*~H8Ks-Ob=NwznhAbpdPg%gXr{L`6DZ}#^jhz{C5YbY zA;Nzr7}rQ@uu%(Zg2SY$`70BWu1o=1I6_xwimjTWQB#XOp<4eD4C5RPV-a_e8xA1j@tuD}#w;`E zpgkLFqX#m=cVU1{X{#p0jsp)41R$HU8SzmjEfzWm$6X|%^?dS=;JDMMW)2XiHL>zG zt!V+uTc1$V*ILs%;3@sgnr@H~3Z1SsedpHneq2pIL~B}}P}2+?L#Ax~`86%@hRO=^ z3kp%)4+l^-=p6_baO61YtImrTqN$h2m~|+fGR`UcfjG>(-vMkJJDAh^>XR6lpbE^xLzvd$B_+r-`e_-KRnh-b+k zl$c&l<+s?mhc1&#lQ10i`O-2IbsW>m4f&PPr-ykYlFsiC+w#a!W`j8m1>yV+At?|5 z`#ypoa;Y?AfWma+H(e7eOgyvNT~p&CF*$nbI3_S4o8->bVscgiMpgd)P6?U=OZps7 z*4S3qzCb_j7PD>mabw4z-dixk?f|TYfK`J^+Rry4a}f#sJl-{9s4Iliz_cWjz8JFW z3z6hou%nanHyM$uyca>EnU_;#4ztm~^5z)n?^y-Hr86Ke=o41AwCLC=S6B z)W!|k;SiK6S^H(-#%bEH`c5LS+a@77Q32~s4x+ytjlW&T z@_KtL17IA+4<%PxI}FmnWKKtcvmodqIRQ>WB;^dXjgddqostJVnLJ1Xl zWIg6=9BxW7AZa@927vL(OWrmN=eHGDsvdbj0DnPFOX|o{yCa9D=t#;f1C-1oO^|*- zX>B#2g%MK3#^o_1G7K@@wKyyy7mjqe1tI^_=4-*$dA!0HKqN5LS(R{bC43~2((J9I zh$FU=T9ZMc+?^ijhoLm(>#1!v|2Y95xcP{=b=RG2i}0ny7G1m)7rEq9DWPuHk`0>> zB=N8%VFz%nJmhH~mW)@rtwY1KSIE}>+}5ZD`}j>f(VZCO%Kyyvx+E1go1{WqjM@>0 z+!oLKXqM*)0w!{$-ENMc$v11fw`p z)RReZBDcTTHA~+%q>Eka2#1|(9Yt*3O(RI2Q)lwNTfo(d?U|C&>W(zhC6OK6IO)r! z5?`4qv896b$sVGP_DkF5wzJ2%+y2{nOqldP++)fYEPU1Jac4?c&Ls}e?u;am{U1M5 zZ8`y#lfwL1a}w55C#XaXNu^jssIj>=C45W0QDOHvmeU7=dKa z`DWm_6TCj6=T8vUIFfXLQ@24?DocI<^DJ{7#uHG87!7WyChr3A8;rZTi3m*um5q!P z4$dzuM@=uKk-|Q!jyQqt=uCO0R_9|o1Y#14&^?-BK#gA!4zYVDzUg#t1_BJ3k&Y8I zQ@*VV&hTc-CQt>u@-9SK@o^J~173*H1>wIQm{O)Jt|ctJ!4t#8GND+#T%n1=y`*hkS{phI1Ae{Us)0l1V#tHh@iOE)@N9hY zO%-b4r9yV$k~0)#dr=Gm^)#{=Ghiekf?J8M1+VWj z4DK!IZTNhhHITZ7+U~BiHy@{;6pHrKuQWOi^($#1+#%CtR5L!Ngwc>jbShI`Mh8t= z_9LPm-H*=Fn3>Q+8w=0if%OoUq+1y~&W+8E<31vMSDja;g zC$*;Bqgl8*aOj^xj%X3Q`==_RF+~yMknI(4nxC#iM;BB1A97!c&!@|kX1LCv$!1-& zpX_iJ?Uh2v`Xx_LtX5DO(q+3DDMYS&${`JwDa#EUe;M)y&h{)hlLBJABinnDw&QL~ zZ$X6aMu=HAQ+OG|f<9SO!#T$)0azqWqr-`L!U&yJSX6|HXJ_c8cx^e5giKikWfDwG zjeUi{xtl5Xc)(trj@E2M;hD0|pjOQM4ElFeg2A0GZ$n1a3k4qnln=1n>E|T{fLRGT z@vXqt1``uW+L0%ZGWO>%b;jO4W2ZAr%eLof%un$9^5t7yCK ztJ?wWvgK7zK$pvbgn9qqT7Ivl7)k&EOktRL8$g|Zy(Xq(lPTAO6qO+#W6CgxS3+i+ z>#_k&z9XGryanLPkbAs5KU$`ea1z1YJ5#>n63zetgZ)zM)IBjWsgI2{`dUrk39s*T zL?<06jJB8XJqDI|mbBCae>&}I18dGFJ8B5l?Uf#*M#Zk|dIE7PU28NCgxo;7+@FCR zX2|2!T)A$Ch)lCXS-4pevi+K;+(>Ss7XVlF7Lt+l{Y?-#IRXZ_*bW6>P|OG^N8+PIrPH;=5vtKsw<#OIQPJdoR;}daCIkje6bb#}?M} ze0@C*|Xk;O232ni9P9=5Lf2mfLR8J z>W@nIJj;!zBJsAG;A*e$-aRMAG*h%Tewt(JwcRvxLa#SMKs0oko3+tgo-I>(%)XOB z{|%L#-z$l7=nR{)(14_~9`lMjQd$e)-4_b)B7k?MJXWLndWgIomTA0l2SzSkZu61s z_dY=q- zXl|R+Bo~a5(tQmijR{6`;lH6B=!AOcB`9weXzy~@jS|Bc^VKN z0Ojey2|Q~ah0a(P**-ofeHa)(v)#Z}1ojHH3)~4CF~70{IURQP566eiancQ42f~*I z!3ox2$l?;#um+ksu^PL;gakW2y?X#{!=Zf_P`A$knC;|UWgbw6F0d29M3+O2jSY<; zq)9_AK?u7NQ7LI}HxAWqXQ&qXfDauP5@D%)HzkIJLG>ajRjhWF#Fp$*;6D%ObUSVpsVoJYY(?;xPzi$bfR&_3xreJx zDy-`$v>3xmf??8-YQ=6h&+|Tng!Syli7zo}lmivSNP3D;YpEoPy}CW&m?hOq$k4ut*XrajcEB*IGac zaViN~K%C}-^Bt#);DoeST5y8nRV17sSEB$;azY$&d*{oxIE#;%xsI6nLc20-tpp0g zJLXaB9zwp}E}f4eI76mmPT_3CV7zTjf#2EVVt-Jd15Y`WI&ZgNAZ+RN^NL4YFiIar zKL0WW2(`patOVZRpm_6k7n=8nN z8PmD6rwyHDADGt}Z@;rzoe6b6lhiX%l&zkjRk-RI2yLhOfsl3z8%~I;rGZaJO9LgL zSG04&_SlMFob&Jcx1#2cr zwF57Lt~jQ3fiG7%gAuVOPw-_Au-%$=8W?B-HR}dEjAZyDUwb@_s!@l)6Wzc$MlA3Q zH&9cODuI-f+(1pKqzVJUk#DuoG`XTHNEIMKPKOMsA>U^=m}e(^lObAPN|gNj?0~#g z3R4S1j_-3km_E1G5%b=j)DC_`Mc@=~x1@~aw84OuiZ8i@vmqyADl_{Z9 zs6?An+PgG=lPdrFT6{%=PMCc3!kn9Xm-WpzXR_wEhv%PNj>Jbxzv6cW52>e(i|f5% zxj0V#%8&+61S;7XKy@%2wl-^qt-WFEq*}HSmkbIO*@hnYUPjpLt)2V9u+1WbVaVYJ zBLtg~w$O1gh@VFBFlgHcApo9Bt$VnzhgRd?Z1$GVjbgc?rgfNnYS?B*E<^s#umwbk zVyJfeOqixs3L;F3tu(518h2|JMQ)`W_TgZ7adj0j|; zy~c3cjPh+ z(fRh3&NmO0$>BfLGi;0g`ka^<43aACaaob(X>wFM3eJ9%-)0|ySe~q`X&EL@!Lyn@FOn;~P3Az^J+)D~m<{#PFI@O;uVHd(>kc_QvI91f>vzEV zZhgHR7~Ua&jqI4aLw*g@yJ6$tea(Jjr3j?V-eL1r`3p7h4};HK2kL&?4*4B&!}3N$ zzByp=xet(L#0&S2RlLDZOXn@($Eu+8*5wWInJKNH6B%+7=zjEb+1=zV9)?Fe<`y2f z;H&}Ta!QAeHpgqXr*Ps8Unt_suOIUiuGS|VgBcvyt0*6|#yr^EEguY>-s_dB`EGhJ zXb!>WwN>1FAEx78vjesUX(k0Y|5Uc;0WSrHnzhmgybS~K@uYsN@xs)>Xz9@qme~^i z`HTKn(M7+py8WX6$g~&z=Vd>C(O;SAF8amd*a88sWHE$dKqS}6$D+SWu;{npHh+iY z!fl2NV~W+f=x>!`*|{rhlvlYN6SF1Jj2 z+EzTOB4?XtvQX@YFR=|S<9_%Ip4r?FyX^fiucle|9n!pysOy*paiXEX1C< z!QL~E>z-MUJ=5K6c&=U^PP2E-U^BPg%z-)39k72pM-C1fhw3gF3b|HL{INL(;NEKn zxr+{q$kFaDD!?u}lDp^>?xN%DT{IV(C`fo6_Fg{r-tdUo6TW8Sa1<%U%{%0*h>SHY zM4!{&xdl<#kS zl??{u?RB)<^cZ-0hOGAmX;)xJDWTkr=)UbYA;HV^jh$N&@;LIEFf2+d128R$@O9Zu z@V`D4f?MBLfQ|fSdO#LbHNXvmycGhWi{BxztpoBw6^IK#`OX`_*%~DT$LaFKc~SI} z*)-C&c1kM>03GmWm4Iv;vLl<3Z|l^y|8R>;SbzmtnlmfcgZx7S5vD9JHNzm9XTaVZ zz7r6Gs7a3uTi>SRNY_4wgHa@8+*8~hYur=De<6;tP-GuKdNnUzuOv|i1tUPwFGYjY z@Jfnk%P!?IkFCZ4&OZg%JIlpYIAu&q%c7JUpkCKfLt)s7J7=)gZqRaJjSrDZ4rK|I;p(OuE}c~rDvQ#f8S)ofrtRpC2Lrh?#69*nE{i&| zl`p~4xjinosu{TFN;xhovUOZuE9+of)@A6x+*^G~XOO@-MVro_Pp4106r ze%Nt>9V8XIw*}epU}NWI#H_Nw%3@SZ{@DQ0mr*NIMXl1P`%*>SuTd*fMXlDT<*A|` z(5QP;MXk}OWvQZ?G-_$8sI?lk#G>v}`;I-1xX$uo8A$W6+>V=8XL+HFgLZGG8QL;= z8NQz?Z^Tf3mBF}6AW_s^K7w9GXPFBwBK=(N%c{U!?Jh5-2TnU_Fuqq#Ayal3qbNlK zS}w#U@FFB6nckcn95@$gUr3J(m8;ZF*Bura_rqvoD>-#|%v?0*rff$)^S9l7#vxsi z^8Hc@z;u`GSmrpLz}&!&FD2jpCY)*XbCuBFP3}>nj`KW@G^5Q)iEUx>M6rdb`3bEk zs9oED=H|>chO9*aizWji5(GpKGX#DCA@&R@V8?X7Q`Mw9w2X8tkr|Qm?0j(`CeE%A zU`qxCXIVgs6o>?aqdP^B9qK>Q(Zrx;a?P41Tus3b)lA_OKxUjq*=FE=x*S^`_NQyw z%jW&xQEc>7?u>cC#PbB;c;f_!$x^mkKHNV~cj0+>$z*5J;!c8?1hk!P4+p_*WIdX) z2p0Mb*`$}yMJms+2`Vtq3WCo0RW)t$uwk6&q3vBf1#-Aw&I-#?Pz+vVXpy&vY=%)k zQ;LG{9!fpKqA+~FCF&hwSj=}Q>`Xd=iQa;G{vDiOI;5bm07>2fp0~Z4ETK01nsNZ1 zh7w~4ZSLKy0lRSV19-@y9bm-c6aIPClq0;%8YMTLxm@qt;j8Uv(zE=OSfFMwV zVJ6E;U6K%4az@M*;{&>#cyN(zou7*+d4PMLz967 znDU-t8P`I{ihefzT0lM%c+3CnOvsO|4yMPyjtn=|`F=PZpF3q)@rjw{v7L+VMObFy| zd}aqUKt<+FZ9|fey%x{A+b~9kyrIkZ78u0*M89`=iILfHZvq+RrZ96$k#atyNcj~k z!1}$UoC-K6Fn)a}Jeh<%%PV4nKUi<+p@O2f5Z$KGe{&hp=A;uN6g`J_qx31}UPb?nf`oTXxhyN&(vkDIUi0hRlnRVFr%# z4B3nJUG3$e-(rGL41u)@i@UxBs3_z*pd~Bv3J%Bp!>9mK@%WQ^bZr`U$~=4ua9rx6&f=Q4I_j zp`0BQE_Su2e4x9a-M7}E-u)o8%TBzEHBUdrmLD9hM(C{zw9MM{4g->>M9i~T9d1YJ zY~t@I{;b7Bz5%g@goS1wj4&P1@jdrnk5uF(&Prs$oy=Bt!4(kJbBw{dMIfr7mru2b zfX+Qi85|_oX21wE25U==ajXYjUkD?{xMm4N`Y`2-N!8E56D2fztf*BxiwcxF{8XC0 zD9pcg^63}}ql`aK@nwPb;WP6|C~*-U!zOns}VD7;;c51XZ?C8I$%t zTG0DI0exq#*~k1nW(Y~PR>zBRVn53D&j@xt) z)2#tSF+BPN32v(aCh~U|6w1Lt`FoJ^#D8y;g9x%-*3p7(RB$dNlkq}0;4GRRk!L> z8NZabLAw%}VKh14t@=G3#@zXo#xEfh%lPNhv2yH8a}c;4fwrJ1P4{vq#^T=446~yJ zGA)k6^yauUJ2mWLO~dlu)9)WWtd!sH>-P`Q?+^6*cBlZk+*CZ%frlV|`T`nIO91YT z@y=>@E8OBWgVP5OI37&{69S!i%V=E(@G=(zqmb%3X&|JED5UsAA;ogt8~?OH$Wno02Vm;7v`@h|FlXJC&iA#L zb2imSu{gj0gGOh7$kCGU9ne)U869|Y8=BwPsxP&u!H_NZ*HGcNQz z1$A)XLcxJ0QW$`lw1p)*#v6y^$RSM|WmvPfr@RUwPNQE>l=H(>LN#}u>}zdLfn4l1 z+?Ur^5k-B-W1OCtgs=&>=$M@pJD(}#`#4)Z)xWbiN<5#(1) zJ-ilIQ2O;1y&gLLYCII{GfF&9A?;_N5O$LtU?$kDfY^6pLqSkB0kpoWKvRyk2J%7J zV}gUV&p{|-^pqW5b^t=b0emd=;xxvm+vRwYu6FsMXqTz-g%1eN5?6xAEhHUPxIC7J zV}N80(ziW1*&POe9`>CVPTIYQ8wYv5Q%F89fgHO%D+^>;1FCDN1D?!2fy5_kDuD!c zgC?ahkd4M93{C95QmshOP%&CI))>W<^I-HQ+VqD2D&mRPnu%k=Oz70a#4@SuP~b+x z58Fks1drqt;*2MCBP;B6#?JRO&eFmdm|n%YuISMfnHj=Ye%% z=Dzzk)PZ*v5QjH`NCR10158z+`W;5YX9%F`8aQyOZLw7W<(;q!v=0%p>p-PxqrD;Q z!z%kyQwn){a`+A3!g_+8#Y?9n;e3EI+@Pz>?(Zrriug7zFoz-H9h|T6Ml*nrdzvrN z{Jf+3zZ@YI?PF-fAsR6mK}lyYE^vnIge^Fv+-~Cu zgHoq+$-r?ERCsCoOHKvUXznamG_}YU7epq(76$Kz|m3H(Lzp(g3+4mUD9*Ki`H$R7UX?ML_!$lU8-tH%kaLw%okvCoc;dXr#jOdRe@}W;zoAUYJCh(5g6i&ZtNVjihZnC= z*k&yktQ5SSq1E9=Y(m#%y|9!9nL71$x$Zp@6 z!HK)RlGxU}h%luAu(zk&m=2no@p~IvggTAeusCG#YG54es|bgHr+}dmk8-f>Ko*%V zc6bu+i$@mu-40mhW=JTgcF;6=O$u9Sx1MX<;38F*YUv;Xl2Emfst!X}X0I@kJeAED*O%>QIHag0{(MMV!uc^#N<&$C^kSg z<^$!PWV{enf!hh)v6NB3bYO)wzKyoUQ%qa8MzeP*q8O<>C_^i z&UR{$il9Dh#*W;BPJvKg+e+}h!X}|cso2od0%q0@jya%3A57!P=7JU!b9tBI4%q{Z zrDPAZWGj1M9qifTEW*_rf-7Y%d*J14u5df98PAfLGPBxd4}7cFxtY~b_JAR8f-Y~$ zjgpE#@I$u4AGi!x>b<&AUe{SE>ubu15NyCU0FS<$0KoPy0zn>77?KvCTbC2}a_+n~ zbPVH>I`__-+`@PU!L)3fL2wCR>s~eRo2;-oXYtN0c;{^-q0k$6LlxBcI&3n*slg-u zZal>Xwnl}EqkWahz3@s}#3j|YIF$OPD5btR9glQVM$IMHlUlz`^EOGMiRu_oBl+ z5Ar%5jLihjhBLQxkK}n0jgrn|mpsqD{oF|Ra7C5aqOPo0As)F$A+|sQFvh>6z!(jA z!6dgLLtZJh4;V=1WJR_X=HE7nv~?NHA9DbI2lHo$LtIyxcF-jY|Blc^68n_tps>%- zU=`2sO{c$rKag&3OdzrM48w}C?AL1clJUHtDPjGfc*6RZpaa>b|NEIrSl?}Nt6rYP z^Wtiig!v#-3G1I}#1$GbUn4%uRMLNxu-;Opw24KTB&g!M()KS@~Mq@yu2D@IsvD2peocR%r?5&Mgwq&vXgsL0JN6hrTnjF><8wlwh|^HkE*POeliHDj zQS(bD01qqTJYK2SH+oHrs9ayVArz@lvGcDpFWM_HG4{f1yL)myNq!l*D+qOJaN% z-Ghi`C+*(WGMB_SGgC>7oAC@Tx&<^0CRugO%*u2~jH}C|B*vGGJ&_pig9L~n&%axNmdVAjj;wqo8QiVki|a^2Yr)8q zyaD_{&zwzUSg7xeDEYC!O?}*fU}Ktju-xGg{%)~iq(eg<>ZDlt7trT$>4})^PR%es z&zryTwL_uArg?9Q5?Vh@w@0Ce0@p3&u#_9k+958f^tu;10RdX$k}%`jvFCh`b;20H z=rFo`ZMnALYnF7ALz1)$iqRnm-IMT5hYsNqI1bXr--dTwZ9Ndjo?&oOv@0;DlO2K3 zn#kUiPpOfYIw`SpE1v*`_*I6oXFjYX8oiR#&cx=~7_a;CxFL6CC{^i4OIeDmQzu4I zG;EsC&%}b1fC>_QOrqDNPsIqVwn}M7^wk&!j(Vb~cOtPCVm)Sy>1e@{nEJw$1Y+tA z2>T2iImRWXwmGD4TE-_dSq3hlAuod3W6IJ>o1QAmGe|w_#_N^^OzJp{BJ6ooxZB|4 z3_X%Qt|0C_2h#|)uNL!3hEnrB(ulblag|1Vnqd<(yC^A(rWbXmypUG>4^mP$so?%1 ztSj}~)V0^L8>A7G)Ute8QfCH~6ni^}PGH_IS=o z*MjB-N}48rK$ADyExbk}-q(oL8nH2>K_;|7iwZK zi0?I`-gM~4UslEwkUQK^da3)7ub+W`QR&cf|7o}QDs9-O+AuP30nO|dU#Sso8ez}b z3+Oosy0hIPHrYkY(v)9o%Dc6Q&2|wpHR2nMxJx6pI7LhYt z+wC%b(1@@`EYOHIQO57kjIX21<6XOqFE#0GO?sUs-D#Kcg+^Se5g;k*3=z(5tHd?` zXVI4LhyDtQ%dHj8=zV8b`IgQ{gO*%h$-4FwhgSW)U$PHx<8Trvn-3&MB@ztuw*Lpp^9@E1j0)ibFT4_o~ zzM%{)fJhUNA+WI^V@mFYJe$drWTqzkR!@}~(NpES=&7=}PRYnGE4!f)Z`Kf=neNue1`$$d`FZMn+$tenlw!-jrat zyrRsZC_jdl8*;KuP|oMH|53@wd7P)yNYugW1xiaM-hn$c%rPNm5zGl8coQyg8#+VO zFN#9t;0oztOq|OUWZ_1Vg%6FAg)grO4@1Ic$a{bkt`gqOD&f7hCX}~?wBQAhvQo%& zS&d5#{@k$2@Z7gU4<=Hzl?D+(0EcBh(0XM&?;bm+Bwlcy^XV12%KWW4V#=g*kYdXe zrH*!ZM!IJQN`4s}g$xOUsGjn4L5e59XP^qDAM{^GDNk(^xCacb5fDJCFD=U}EVarY zEqM(naVkbj0o$D*@}>}@?VEGeUW(D84J#pInhs;ZcwY~5=7`in#a$(*s6L9;-mbzn zud2%4?U3#ec~u2$?C@3y%+gN!zbfxaN!XaYD@2L$&H9Et)zz_nR!)Ki+lhv_p8D5`L(=V+DP8UtgggDpP57f zI0)@B*Wz>9zEF!T#rmQ?sx241psFQ~$|#?73rJ*Q1A{ho3&Wc-m8}4)8NXBW6x2FW z!l11;`}4f$!{=VJnG%SrYQV7oyrP|2EKN#gD&7M**@OjU^X!0@seCV2R4Sb9zbF#V zQbCZ=5!j`yGR60OvZ4-WC|dH0f!DCmFwozX1lci)lq^FW-Aal-CFm^eC+D)Cc=VNG z!JuQ_Xe+BGYO}h}9T>73=9M9@%11Y-F-?r<@pPq|-R^0`v+jgluXr2H0;GCUR6;ze zER7irLOz_d=LSd1x!Bf|hD7<#(35`M)+c~U5)ou9R8_V9i6YRRH#Fa^j*8l5NtM!uB(FW=0!qc(jytC~($OyPjMlBZT zg)xN0k;z!Nhb5bG9VZ52g?y532G|nNDHW+@O49)Kh7UiKY$M-?2lH!^+U-N@X6s+%s9)|%Qze`2_MwTIGhK_ z94ciz3258|gE>z^wg@h^)V+GTTtlfOF#2FcTVxS+rtu;jbeizB4m=ioZGim(@UpTa zaw*I$JOh=Sm1;#fUa9v-tUWM}REFcJ&erke#l=H8}#W7loDA5T2aJuPxi}zu$=%g3 zQGt3kLuOoou3mj(aPXF{t;+`0my%JupoB-{+nsrq-dw`__1m4pMKEsj;Upq>*LPLf zzC|T5mNtwm!OY92z(i5@^OJPq;yUEC*|xI;DKaSZA>DnG)C9ZTLvwOc82v(+7q1(EBo}Lon6p~R(z<<`z+h$ zeKu|0Q$m*}MLn=O5`oFxUgULl`wZVBxG%rg=N#*)kB0{x8u>ceOpp92B1Z-r`Pwwz|Nax+0TubO5_I(Laz#dX@Rj)d zv4WPthjA%93;8Y@FW}g%=?eNLtQU;2la9pe&+=kLtHwaIz>au21KK+XT3y*Z59#J- zU=@Yr2Gzb;46N@ifKwKzAkQ|35FU8^K&;SbYnr56gG>qtwm+n3J$~f>j(V#ClLE~Y zO6U$HkQP{jdfN!%iNp|%K@Baicc;g)&$X{TY2!yeY@#~yXs!9!(A@L|+WMh?|vBTy_q zbAkMtE&4+B11|G6q~%c3{7UOXamG={KTB|s_mrGgiU$H&=#G%LCKJ8sDVq$yQyd>y6g|OD;Q@0;ZBrr6f9Qlj z-tabQ-BfV;{ETRnES6vVGzFGg!z1a1@cZu!ktsYWkm@6hPPJ+H^F#7d048#h)q7Mdr#ZUyZsT%l2pEJ=DnMmd1o@dA511t?7U&QH1nRJX5MY#HwfCr znR$1b8dp0@VoPY|o&E$f@9rT6Gw+TlovM2fgtasC?xv)f_vEchPynBN z-IlE4a~~xA+yn~~pchm15`Kai_(5j`^U1dQP6jBgzw=uo8ff($$W3b%CHub3CZ@i1 za=YuAjk-eWnfJVuaf+v>vg*!`V_Ds`ecjK*i``LraYeogS$^5(e}v% zm;k`%;DZ2IZAJ8yIfiYqBOVU_`7R>6cs3n5-ZUc4YgQbJ?OUDF|LJ4t)1XAyQ-0L9 zJEv8*zz@1?p2s{Gam!4Fw=aMz!wdkmQ4!V?e9E`5G}!6d$UGzxBqWm zBWJw%Ke0v#m7jmhsriR4o*9E~*_hYAKNj9&Wr+_oK^+2OL^v8J^OQ?LZ2$?+k)Vnr zIS@WZ-ge6W?}U&0qvC(GIu*Z|<}nWIZXEqfAl{N07&P?86DAM;{!cei`^yWpL46bHwPX1%$9PywPkNW*Uwkzq@u7;Jesw}$%@{Lr z{HXrtmyNw>X~qcR8F)_Qzg7($PPu57EcG&CgsB@R3W;99$fC4Tqq4*TT^=j{%BRFv>J4A{MA z8a&+LJiQTp8Uv>EVH&^e0t-p-7C`&QI#5Zh{n3Xt#!k41{a|_VPiycA1Lwhu*wY%R zUqMKI-(%8(%Jw$3s#)4U#Z)?mGx5*DWgPU616)Q1nFxGy;!p z*e^cl&^j-0;7x<*vjt3m$0Yb7Na`0jkidO`1Kt4li`8%Jgn@h+zg<1$TYE?<-YSVu@rBEFiPLU zz>_Q^E{cBHS?yw+&3fM038kY-oLw>rfzFJhl_}oOz-%VHpMlmVK9_+2dlKwL7JVZF znSb^h8Az)$;=I43etR88-^<|2nmD0&>}Z4o2*f>$fiI5X$Wg_1mgILa7<~a|!CBjU zCgY49&LMV}#{*N{_M?~=<7p}PF71(3b&+~7mKH&&G+j?-pZlOgIqbv{!za?B9Z>KLn(<3-sRtL-Dar z6FpWN+%yJRHsF=QF5uk-5Ywc6Y6gh_!ZSdh@pNi!@t9MkYa0^wV}Jhw=5k#w>EXL! z8{Q*3(*kgVFjW(jYY_2%TA)u(Uhjf@<2OC!WRDCCR6q+kH(wscv+|G@?+SbOC}x}m z0%ER&Jt$@xiun=6OhYjjgUWF+ioq-$>J-xh0?ZyrFQcG4SkPAR7d?x5mlo%*oo3#- zc86Jr|3enYl!oy#CGZITpMnZT1HBzKxUj6$EG)>!-2MnAsfPxa4)ZLK%7zJ28F&=` z|A>wwrFrDN^?CUh=Hu#czYfGxX@Np~Q03VJQ%fPW^A9Oo3R3SdD0kq|E9Q;%qPiQG zB($;GjC_N-777^%Fzi$V9z$?l@4WnBQjjahG)^}c$Z28N=A2%HyR6wX2UYxql!M>3 z$cJgcLM;+R1iUb9*hOrlt}4D)J4LRnv0ov8RHIL3$2H_jyCKiu4hgOcxrg16Gq|p2 z*|CKu_Nrg9)Eqi;t?aH1$JaU26H-HFYN^cdea8jH09&t0xL(Eg8Gp?}`Lq@+6}AK> z^*ng|(`@1bn^QIe{nI=l-%|9d0fRrdwG2sUNw5pv?EqhdAAE9h4T#1b*`UjQO>MA9 zCO4H8FzqIdzNZ!@iahd_uee|c9tv0vTZ8tZ-&{i}P@^7^FF>yePgw^F3+v_8sxa=+ z0l5>;v=leWr`}f0cRBOnU2F~otlU}PE-kI&guDoL^ga+N&1E@hffMl2h$WSmm!FT2 zm(l_Q5wb{=ZqlTb+4ewwTa(@uON!OFJAYbb;lSexpDHRWUkn2oH}WwRkCfZ&U=SR- z$|hf{xw8mV@~c%b78-A8H;d6~%a{rudX$2kOHpQmK-! z*OgoItU1=4uyhH_-1MeG*ux0I6TrZHh<-y`MzXDMPm;=Jlzj!>;k*#`;ml$Vc3W-m zkGuQG7qGH_2?+LIdILk`QjF1;-rRbbH8q?+tPcjuFIOP4jgeO&vW<}#y8JQn5z3g0 zxLtTv{u;O+BC1~IAg*5CM;yc6L);B;cWT_#h?@a3YaY1?VQ(XDA>6k#?#8L%!tw^l zngn!q7ETSDg_{pL4sRuTF^h6H>fYk@*K-!@@wUrL-X_d#J(k)QP)>AOmYBojIjHhs zQQ#W26f_u*Ofv#Q56mY$;Zb~%FYyR!eH8A)TI+hW2vZu)Dd;o!k5UDrD*MRuH3567 zR~P{p(CdG8e*W60q{4$|nWZxK%#)H1pZtu-%rr7UpKBD2D*7z@FGgik|A=SX)V|^9u~v5&>R7JQPVbk_il5F zZlER~Ot3ZGnt$p7xdQgycGRzxiGVm=<#LJ(EvXI4%K(p!fX*;ej&r4lya!<)eB6)@ zyFd8cQ59T*%s($2x##M-7dFdO;7BWGo8gIv^RTlfg$8OiGK zXtUpFX~fen`}yZAAgVPRr4yo7gaaOi}pJ)$8j9> zxuvt|)3f$w`p9+op69j=w(Dv8GF?s#qX7@60a$hdu*|sxPutJM>rvrx{b3Q%Dmr_h z+*IB88H|^kRt|}Ho56MR$OAA%R}qGfyzi9XY!?A|(y`m-eR+9{eFAk&-D9F zJMr-M!}v0MeufqMb~k+j1B!jvxbXC~b2+MdDyo^#AwvuD4=g-zl{8dP%JD6%*9Iup zzh$<)zA3N12$6HnUf&x-zPrMY5xUF_3_Q>r4*Z41_-uO>dWsy#fcnz@n^&8En)`~` z-y9NL7hK0GcNFx_19df1uBhM(-TPDY0Txj3R(D!dekA_&kSvG|ryydL={?2jSg*JZZEv`3&m)4gyRd3K-b z;9YH6(-v$-$Te_s3d&}1Wr8#9AsH42-`!LXTL{*E?PoO*b|FC#gJfZmC?wH#9Fmz3 z$;K>!fPf}|T3ZbWYF&bB7Y(?!YT~}sfLhyXqt@L9+^xoa|DWeQ_ujd)vD@#jUq5o^ zF6W+m&U@bFd6zS_Ils`@iGR4jx{K6DOWQXqx()|GgiB{vwV%hy-i&`zQ5U&e6|#m6 ztKl+jPEi;tl7k|Vs41l7$5t}*t5sdEdY;8eRH*|JovvOwE25EIr;M!oCvTXi8hSS2 zUGsA~3ePDbm;RZM0sQSQ^(vUJnuG#NgVq)<$LM{ALaY57nHzEa^-37+T4s5F6NwHB(!LzeO zy#EQD=u*eMZ=t`q_n&g_Z+Y)=Mu9PklX@!(GP~4Y!Si2f%xR$0;4i{5ZM z_9=*^0qRynxX5vbLVio6Z_lzKpUL|EKo*>)E|>T1+y~$_8URTr(S&^F=$-3L4OG>blfJ_(yHRUex5Nsp_3HdRU(?>JOcNvz+CjhMlGx{$E?o`brU1%A@5UJ5%ABDZ7^D-65gLt6%XOnE8rU$qB7hk z3Zq9A!|T+$E3?!_cR{I7^)CpkjR^cw?;_alwC%>_*^%d=EGqe+PBsZ)ge{>b9#`Xu)U$K={Yh~CdRTGV@){atR zq%qnUH6@c@UTXaK<5qn7+bI0wLdFBcN2pXGxe=jU-IY^}fknpu;N!oQ%U@%Fxg^}_ zRKMNnD4Qv%8|r<9l!QancXHP`=>^36h~`xbc1-#pwQcHrT>Lj;TL!2v5%{EK zCd$dDqk7vA;pgEIl?!erKmR*k;8I)C$4aY5AY?yN#r1>4U14~nnKz)ai3U9Ho!Z@v?S&eHq*58Ziz6X9M;g8&% z`qrglhdd^Az<-OH;2CNV*YArgnn(W0gR}?gKr{aXQ+AvyS?Bg8xayX zlrd$)SQqDit`IE?v z4(q{T4Lah|rKaO<;;tiy$+umGx{rJQMrfKBEo;HUcdcgK`Ju|k{kw-z{E0l1T0jwj z#xTCeQn*{tG=^}Nw{H&P_Ceg8+mdAKZ~|2w#irCv5DkemL3f?m1ZCeASOw`Q7)0%D z7m^TR19Fw+AEnxlv%z%5Sb=215G8+jsQ|BG$woQWa?*V)3JS$Nb|${=J9v6I;vmwgsXwO?81yfITn-p}%@;DGPxQKvon_egspmKSVZZgrG;7 zx+H^B{&t8G^l>o%H1#+(I_<*FK>gL<<@Z*xSO1PEfAF6^*oA^LwNB{sODxF1Y`(Ig zMLmLKdzbnPR1o+#MSJ`R)rf|bpj0#~mAG$7{Q>`|n^A6xpMkn4z1vIk*%-D3;FH3w zZ$s)1e~`+5jdh7m3pe~V9JFaL0Bh9gA2(swPExT;ZR@S8!kw9;hP8kG93Fmn z103CwQ}~ZuWar+(#snEC>Q8a=9%5Cw zod<^u`xfBph42aUD#x9Di@##RffM{s~+saz@TfO68JX$ zp!mYE{!yUrZ_H5-at|?{H?vbPnJ`@UXa#? ztY=9O__)L%n)bt5@HOy3@o0@q-bXC@s6}l^ZBy^B z@Z&FngL-k8+Z#)Qg$t;KZiakOS0hUF?8cIg!e-J|b}KjS^{YRs?#GS6(AOkpMGHj~ zy+;LmJ@>cc1JYq>q^lN2ySdbQW%M|7$(tM>`w#uG@5{$-pl;U$a}s*SjmSz;U0C7Q ztp+41lX3wpfC1_}nUpV=hr;Tkv@V2TaHiI#`K{Tx7EywO)lGW9o|D=6z03}F4d(2? zh{bh1JLe!Xe6acsSQl`OUY#sI*!7-j;{1FYH9u<|UH(dUxl_7)m!6+r>(`yrOXlYW znV;YEGMWl=M*u!W?-BOaq|Qwbsn4K&SRe7#^3aqH>Ag(X@*Lbjkp0_LIrtjR@t@>l zF4e8SD<88_KIT3BF|Ce|*(4wHj(p4}{V}2UFu%}jFww>&p*GQAK6Gd>7is1C4*8lV z^w)fWsm04T>91KYU$efK(GIP6NB-kjIKLE)`_nY2Q0gThJ(j}#HtIsU)J5q94N$h# zJEHe(f=&kodq4}Gy8^Y@T*eJI-{RNxXnZGN$IH{2npdN4ZaXUK`qlf( zK;^vzrNpWc4}}W`D@Kp;lP>iy;NbeKx(Z^-I+=s0se$S0N(kB^svFkSKpayI?RJ&y zl*AL{xC}vE^^odj4gvceQkV5=Qg5PwFZ)j>Ykfo9C(`~9>4s6)aD)klk%-S?5SHFQ-XQupnAJl0ajv+l4 zJp8|n6kkQeeVTeN;fVeb9|o~c$Cm3iAg@i1kA6ol?dMiCxqo^XuB~0|p1=}R%*`_w zEYuuSMNPccq49#5JBSykLmE7vbBDuChEf0caeLIs-LFhT)u-jGADW7UfdB6nd~_mY z0w(zh(m+r!3J5><(=q9$SrhE*DAwXk^gKn}F55A_BB~HUi#^93Bmb=)`A0GGKRQga z2-E;d$Wh})IThwVlfO42WZ#@D7i!sqMPT5sSdEbf4%jmue4^xun?!*Sb@d^~>+i$s z*TN-Mpq@*WrEtIF;)A&O8_dxi|Ai~zc3BCRgV3U9gChMre3!Kn6z~p1J?i*sY&1a5 zbKdGEclKcrbkK|q_3PF2c*QRW`p)AFJOtJgk~d0B!-NoTlDTMey!aWJ3;IDnK(!K} zd>H!H|Nn-5x65OjwLJdd__$~Fs9uO&Q(|U>$X6?_%KE71`ncKg9Nh1mjULDPKsIo~ zL62J>6rs#zuj~t4qmJmoG^zp|k*aJ|ZX|wtO``O%#q5sP&=qGsk zze|DJfWbfStZuqSZtL3~Gt?yhH&SFkuR-0a1EG;zp9*#}=%SGqZBv6-1s7P0a2lzF zOK9#f25Wi|8Z}bpZzm@z?&-~ zo7}q8lc}93p<7w$i^7eaz)Re2#`gEZoyQjX4B2wh`9yzJ=`1_9q zM#Iu<15}eyuo6F-fpPRx{h=@pkaS+X9Qf?Fbpc|)qnYjB|AV7OLaOqKl5qN2E@vuQg7&r-UsJhqP zwFWJ2LjvtkDIb6$0_XuK5?NmfTpB|W3JTX{hLjaZld=LC45P%on-K|u#ij?21D`U- z9QZp879zL>_2~dR0#oF1w>qdqlEHztd2qfTQ8(mZ;D}fqYIqD#H@l5YL?Hb-t!egp zwG`SFZtAD5W$ivYlYH>_=!dxvxb<*WVe{FD5y~no+^lN46-sg(+=7?^NUDD78CVE> z1Ci9%<@gF@uSCu_sXNk2)^yrI* zqlCyk-m7g!kvh1GL31}OgBCqNJ=v=*tQxyip8|DiJI^!MasUc%HqDqeUyUwNv(R)e zk{p}mXA%+<8c44HRN-P&A0wD#Wm!lS-5@}7t@*DvwtufKL)ZBwM`>*A|$)n zVm)AWb1&uy9K@O<@)1tO+bDUAsah60Rr-1?pGh=fiJYerQ1pFI*wv>d7&?-ogHa9z z_TFO-B?rnL%3&DFv!gR_4`b%-FlOE&6a|^L!*u2?e<1VraLK$)Q^>p>=E%G~TrzKm zCCR)+sU@9xd$^r>D~o@=+4I&u0D$H~c(}InpPA_;>BnJtKP0m0eqGOaCS}V^&rxUM z!hHyS8lbitO*_ew`ZgU?I0cn0vfP8MwSSA%@^^h)KSf;#qxLd9_CfkG8i<&@c$trWW2965e~x{CFU@+XSj^o zvdL3XfQQ`mee!p!*v9}hI15ZGNH>ON?tridsI%bxM9&%4c$P88+SCe60 z;bu)9i%U1X7U8?~rRF=o?Mt!pRuHN=(g#p0i$6*%xx&xGdw&Qo7GL}XI5Uqq2u~mu zg2#N%pW*9xPF=pbRlSr_g3$but?E6LBps}t42qoS4OO9iLWA%S1!SO$v$7m&2N(yB-7#L-xJjSIVCP{EidcW0j+;gL>E0Qd= z7ip3@{m;xI-0%EFI~x(XPtIIMWFjR?VBCkKMYJYKi=n!@YGgJ^rXsS|%p9o%nSPPH zK-`XuE+iB#3Hv-qP}9HnDCLkHjZbTI=0{e0f<7~YY_IbZtLkdJwN>>@QPYWH9>2HT z7h+--I;<1#aLi<{`g%`vq8V;*oM02|Yjnb8@mPk(y*kh@n{c{3KL}#I`T6esiQI3gECCj9xL5X51b=K(MjHJ&dNxAn$JSslhdM^4#Nde6vXwv;}Bu)HfIQ)>qT z`gqLm*pVUypd{Jr&#<#2=NayI1@Klif|^eTUFR-r3rEZFrq%viW|Wproq;o5DJ47H zKN$@7<2}GhH?acY;J^_WlvDTtM}?;Hkip1DH!Wh4LV>4|r_zHpNk&Xs4rK;*j%_$j`gNZn^}D56H7ooIn; z_W=RurLMsy5gN$r6`eT?^xs+20uQ{bS~z-_BiIv&@2Z@sg(L9u0r~lW#C|@2pb(dO zcvT2lN`>lRY?3M8cNYL51biWoh*@E8uVm2WW%#~>s6aO12TD!g!kgIA1>yFHV?zic zuuG28Ha$ul1sSChbCljgNMM@UDN}Pfno3i-jDeV5P+Ey*Zz57-HG2mT{5y~+MTkb? zD)nv+2|gMKWid2;YiQHd@1rWNqs7mZ-x#!@umkVwOhc1W4V=ZA*D!_;Lq-7VpGYTr z2jNSwSHHH4e8)ktF7=YT1-m)`K4OJx{5*>fUni9FGGav2)V1cZ#J>WCIeSH$^%3eE zl!0`q*D$7-#BWwu@qFea(hNjApH-|X>RY3(Ss|Cvlh2S#Ms(UcVy3}Z(bNF99YK4m zT&xR;vrQeFi)iN=%p`I@HY>mR7=@D5+!o+%tQVvkVoG_;Reg!O;9UIJA;?RFJKbI1 z{#>h0Lq-46)pciCeCxjY&O&1}V{clK_DsSvvPg#0IN-S?jOir02T}@1jg>q*jEhQ+ ze&FA6OyMV-t__H^#m?av(Sy_i^bH)WpcEZ>Qb_1_tZp82q|qr{?ZKVE=_PaI3XnCA zNnuyG@EF2k&+>z>^2Vp?4gWlx`4*`yjM^o2C0tT1vvKzgsYWKPWtx+C=zLTXa||;g zR@3~O7lb>|nFmqs4tG3+;>YCR>XquqwwuVhOYJlcDSU+M={qD@n0G`r;!WBMq{Op; znH6}j>v>moe$(ape43G&V48Pwno)RoB{?uQSeU!a7|hYW38*SQMi%A;*pBm>L7bzP z0+`C@IF;W?&Kf;W#|08u!i$Wo@=lP-@ zL>?pO5pkslsXLLB@_D| zas)WB2dUrI3ll+em*J+D5gBStZ_HxT?hS+-JRj7aVk6PIz!RfYvbi;CoXdz9=xT<5={>zO?raq>J zQA-|!w3qxq>X$PmPA`0ln&%M?z%O&p)zzh4>dRj3l;y$+zO@;_B_o5mQ-`lnohdD- z;4os@5rGW>-hyJ>OcHaYi<8owJ%~TtM<@C-YOq?~j*vCY_q$AF>nUrBNm{wF8pr(AISOikmR z*ir^xB1ap-5bfqU5S|=u#O5?<>RlucB4#Mu{f~2b)*#Dz7Lp$6tSWS~KJ^6uxPLZ8 znsBS@8c`M;r`$+IkUvOAkiVdM`8!^63MhaM#A&;2^y%VWEow0rjPVEbsA3q}2Yq1N z($(z<6t?8H3wb$UH@(!qkiD3kgoPu~gPKSd{zorL>H=iDER>mgp-_@y5erw)@hm(; zaz(y3Y3w(Ml$Wa#h96zeKO%K^80{Z{iV91&Ajjx@$>!XQ5b=K^kXZeemcha5HS7h5 zX1BvdMoxL@axymZrzZk@&mH|(bn!uyx$F!0k+m8x2Gui7vgzqr`1Oq>FP^v3-%-T{ zf4<`F3z@&O@t#~b!$Ce_0)jGuX# z;B%B zl^J$_OKX{>E<&A0*cBn-!euf_ad$T@+JNqSlcvK_+&>+d?*5+vc<6jaZKIu6vB|az z9FkMryqtpg8{{VNn9`NUsMU@%KP&Yu5{iQI#?YAhNZwjsCbQ^(bK10;r+ur)WnCR; zp%Yt=p$TV#3m>Nzl~0{Ud}+)V8p7JzWO#TO7jM(gIoN`h+SX2h+%(6I#*9*mOyOrl z?JdJK%SDWb5^B(R2$eLj@}S`N!v3oIY4mS*kLj4JT{g@Ty?fmodB}8Z(_*l4^>WU{ z53^=1x_pDH)u@~ju2M^KayzE_o?URG`e0Shnv>R}>wm%q9WHFb9Vo(&0i0}BlSOna zXh+Y}B`imgsvZ=PcPkaw8(~JklE;o8A~Qxnqe{CH)^SLTyZkV#UBC#Yh!pcKWSV#5 zjZD7stu&TAhta@>VL4(~8EkXIS05>i{N6Mex2X#0(GS3XETLuCs9=}50SLp5$qm3q zAUU9orx}Cl*q($0WhVp(lR5_}3vTtEn7J3P;)ZhXx%}!qSZl-7G2Cjtm=)e<7MzL0 zajb${6vCC)fFq=;dtC)Lsz+8fA=n@Xe?!V&mu|3(Xu9ZeX0gsHK3AYz)h#hL7A!q8;yd$bL@ zl!Pf0I`~6|5f%4_ezzh=w*x)=v=Olt*TBar8<`3W9EV!3?5;x==UBp8t(65TJ3}SDi1r<)9!xIM?5*mk({|0?WUYi<(Xc}|tPjGY5kWerOQCGAm#%KLNbHjK z)!ffqBP=`g66AfJ0u73cG4`wOldl-?;fM$IT{$ z!xuzu2ApXR3@`+KO#d_>SX<%vmf42eyJ!zZMquF%qs2>IgFcbx$CNc>xyPK@hegS}u^+ zZ-oanW-y~)2+{Tzw1;vBf-fM#iLoMFfjS~7BLAq1O=IUSh6#Cc$!5H_6(v5vL6-}U zd@2?Dy~a*>!qo%l2T(~$%jIa|2|R^gcM>Pqj@|qI1RQKTaN$282O1JdY70EP0_*ev zTm+nlza{vqbH?vQQKmhA;|H>t3oCc^QdLy_60BBWYy<7N@1^dMNJ5s5SH+$7c}!TO z*b4`UO3BWYF8hXFi14w4VjS{p3?yh2rb3xZMQR7D2XXsCSb!0Pue96#p<8rdTlz^+ z-v8IKazDYIG5{%%&+MAY*AvR^3kQfi&Xty~ zzUFX-tekx50i|&qJ!7F^=MnBuk(}aj=})|a>S>csXXn_vXK~lV^(gfb-LMuilEP+! zusS0*Pm1IBx7Sx&kA8ZXLiqPMrE*>MPXys{H1n&^8Oy^YEJykmW-?XW>@V zcjQw`ge~+@w+kHpl&hcyBa8x%xQ-v5(%XnVKeF7pOkudAQ6Cb$t4=B{LVNe2-_GVv z$0MIx&@f6jVom68{@Yp14M{UL;>(j6V&cu{TqRYttm<1)mYR8knIj7>jE_lGmoe%U z@IqRf{-qOz<?EH|#a2grxx=`;6v^Ch z{CmZ4nScBntvpl`62-?V9wGV%W1GfYt}e`X@XG28v~yzw$X(vTrGEMgWIu# zvm^0P+n}iCj5jR@Irc;GVal5y=RAgJM!LqIP7z4YX_DRrlay{2TBTk4W0dku@T`;3 zU$CLRnBtaLUoH7V;6i%1Ufc z$O=u+3Mvf+_OBDSgziU>Bq?f$?|K9dwkfD4G7!(2_9pcBboCXBPDLqXlsJz5IaJgx zS36bI9UF}G&tor8Py}TK_j99_6{VzZM<@m0JOIHC1yvp0y&H>)J?Vtzy2F=SijvhL zNWXG7IjuN&$R!2K_*DTIt_6v1K_PZypjLt3BJd3hh$`^oVo&}FUdasgCRDoQ zD)8kH2YpagiOdNVmZ)d$LIqwsv$V9*SSkwerBYnyZ78m3>S2L4?_Je2@r)^20~X{~ zYrw4%p(3XG-f6(kxmaeyPX%}sUh=mnUIJjs-KkDTd_gk`e8U4`G7EgiI_QcP<8YQC zd&|{1m8t@a`8c?ULmmNp(8y(IJ=oR(8@G?TL4@*4*i;Y&;#CKty!yZvrcV1iuplmY z4*dgXbrOBvDS&q}Ht`kKUM_fxa0xv01QTV`P$rD6ox^QFp;g0+0(47;?OOyv!CAx7 zcQAisn4d%tLLcn*#eu(8tfwbM(f>~3rOsz;51cZoD8?=*d4ex%!IzzdREbhw?&-~2 zarXnOT5Q&-wlqfK#L`r0>#mk-4C!NS#Q0dP8)OBWMx|a)@cN``Y-1q63~hsp%(#|i z-}X>u+>D5uM6kxih;@sS7?+BNzZE%KiC_(?M8AYZrBMx1Flx+Fe*FsVSdL`3`W>`L z)C{BPbr34aQ#RbPItI!($MHlW#!qxTVgbhR{ku>?TKN9$abu92?>8e-t+5+WhT6(H zK3YIK#Oi%EfWfdWxUY-KFd-^8KaCB$LRxj-B& zIhYL8!=>b0o+|>A!nOP|d>D_Z4bV z^QSih-ax?7YLe7H;EhMY{ge{T*DsW1-6Mr}2_=y8ED_ zKlwUpSqNV*N(^lTy0-|j(QGpIdte*D1d$-8MdU<>HYLC{9$wBN-v_RKtAb`{;u>V@ zpL4GZdyxTgMOnWxBa7ql2DmFA2iBf&!;EBK?nK={8WB__Ol0Ht($gS6jhLZ7^diAF{xVCj?!>79j*P9)ACtann>|OoUr42SW*EUPb|se8fC{N9-krkEU7?w z{#WP;5&7c`%A-tR;Z4h{gDmrCber&mJ1R2Cap&EwN3aStq=?xzd%R+S;<34<^(~E`gjnUYXd@yJEUs#y@cotYiISEeo z|LxafuK#Kg>Al!PmZSg1iX?OGnD)enm}zcS5Je0zhGER$ywj@$cr9t+_sb6mEy&t- z>SYOK-md8>t_=*z)380A@|iSNm4qJ6=MzwzToE^h@IH)w<`X81_`e(d5OQsEFbgEg z-xH)d07PjHfw&Q63I6{)4XLt+^Iyz~xJtQCeF~?1+$zCS@{c`JNWMtfHlG zW^Q2v-t;tzu=i5uf=TO$GF*hINj2$JKwHsG2uP9W^A1C5G3u)(YjDdp zG(J!&r1Vi6QNv`Q+QG^mee6Oge1|TCvI)@}sPC8MthZtl0m`?@Flql7#T)%&x`qY! zYrdt^-0km~J}xzirnU-IRbl@1RDM;;( z=&g(oWxL@sY($w($4BcJ92`0A5i?<_D(w&ll%*sSt50}@~ z)YR3EY6$3qsNH$(B=q?7^xbE^+Yj$PYd&`K-h`cqJ{k9ZD_=gotJamh&ZMuX3NRx* zm}REXN9BOaPNq6hcr21zk*w^@kH=t3+ACAoC6C$5+*%~{+KJ!DlU-C(QD5y1A^Ww) zQy-{m@P?RlYi7SoGA?dH!ZUJ|nTi{o2M=+RB)=QC#^!h9W=XC_7nvc?XU)WJwySe@ z^PO>t?l_rX1LL^tXc^5&!}?VTvY|0t zRyH&aqxbE_msQBVsg7)D++=4%Gv^*j;b@z!SQ*ebwlbjY8TKr#3-EKD8PJaVWRjUF zk6ZAJGZ`9p$pGssATOWHa)dx|WD}iGLd*`Y@=CiB0Ed*l(|u+FKc_wrsIAj4sK;io znt-J(`+evJ6Q_@V3Ju^t^{{fOj7$|S*^Vs$-O~rVXAB1CJ*Z%f@lZwCg2Eefl`lvA ztVI=eV+&N{?U}~m>ImS_YEJk6sO4F|R2Q!7RQ)8ld_%e}diXd2mL>d0N~Jw|f5)sV zZZ=jNio%HVhEF{Ke+yKos}c+soFpGwlVWUI+t>t@W}VAKrFJ9&76`ccmz zGv*F&_#*P}J-73_2M)_gFR_8P9H&9S^nw&%QMI;2D zZMxO3T$18*G=EIp%8$dSHk9Qy|Gat1sIvS~@RMJ@vJE$ia7l&D$^Z_r*Hf+JVP4cu zN;=~01X4KkAr4V5Jy39eg4graM^D8AkFE@{!!%e^MGVO?qiD`Y%%w5#jqrkdA<(d! zAU<;)U7d@v{J8farhoNr+PnqZsa6_g3mR0t(bMtl zvv8_qorVUVm(4+b2b_+_gou9!NQ%cCPq?e)m@Qf7srxp;ut%5@Amwy*t&TzdJ=@(U3_*)qrR&dN$4H|CKW~z4W?oR;Tkzw0d?+)o zOPY&}A60DGg8bu5HL?UjHeI-Si`@DS!*!ls(bmeSe1-i1;d=flyIR7!_5Yg_-n+eX$M#xdUWAbb(Q&fK}pcrnTaBnz)5kDy*j-FGd`T5=)`|adScM@ED-xD=5U)4vgNhNS>R7EibPux@knRP<#Hh;h@=9AsX1WSEzN=Lnwo=osP~zV(i}ttMxC*? zbFZxmRe7tcmiq#p>Z%|T8KZRxyePRY!Cu7a5;z&FOF$II=@KHIqjU*8Xz3CT0S!@V z=@K|hqDw#?ivj_8i<@j+0tH%3T>@t*@pn~O1vf`mR?)hnRv`5A`WQDll?k(Hsgi_C zmSQ1?wu*pnqo}|7MGPW^-h%;!33NOB42D#^=YV^!}=9pM#R3Z3m}Fkj7~tVBXAr>yhIZheK5` za^;q!CMmhd=$Fs~a*<=1Cio6w4{gzj{@CsBjc3% z^~1b(tmzXjqi6Dd(d`~w+Oly574;o*8@EMrt8T<7JeN-W?XjgL4XC4v%M!B*h2tpK zp!}i{xpR*^1v`#DnBrFj*v)qBi}x81Y9%aNl(2hTs0`s$!iZm50o-4%YT1q^*P@uD zgjlK%4$4t2bzQ7G^Xx$(9G0N46gHPau-GtaSg6Z``(HpB2;w!N(egM1yv~lSaj0*O zL$L!S`Cmp&eiC+4lBS|HGIP+hy2gM5x$8v)yU6DN@PuxRt+5#@dZ%o`fXWy2E9j45 zQ^b;~8j=)hFfmk~}bUCp5dBZOaw7rDa4O|22I;NmBw3DCx`Lj5D;w#}8@dEMAO zD_wSLS1Qj^PNVzJyu0Ac>5FW6&Lk(n8B6s?Lqv zR=4{1!5BDvFQdHAMI8~{u6*wn7oxq*yiVPKmF9l_>K1Gdg}O)t^dnOFe{Q#(luPr|%`g(oD*Xeb`ja%lt1pSWwv zX?4c*TdEc*>hqIDdrx&OMO)Qo6f7Ft2J_IR?q{aAQk6!NEM$F}kC{6~StsDoXCQZ? z0oqM3K=0CxNxB`F&_%*$muThVI#jEB9^6NO=-g?YMJXHfIera#?0H_88ih<`?UUN7D4MgLG{Zr z{5$Sd6X@4}sULTELfxn(CD+T6>`A}oq9=h4{F9C&m-;QjUHF3(wbkVw#e0{L_;U#@ zOqXQII95T7nV zfk4#4S1kIb!0=<}H;OKhlw=CB2f&!!KO1Q5oO%4w4R^VZ7lXZ zb>mR|{Mq{Xo9)}p=Wi8=>9@$cM~Y<%9da85%z9TMeZX~ap8NE<)t3@ld+u@qRDXao z9`&YH!LYvvKaq?5KTeT<0WK?)SmvlZmbW=PvvJKCCPUwp6{hp0n+a)|>KSZu*oLzI z&mg`Vzuk29HA5A2r#uHuW3LU6IMet)<5x&-X2jY%wo7Dh?T;uUDDE>g0ua#!O?O2w zBu)p6BrOaJX*MkkXrN9D16rtMVc<%vg#o3}vikX)X;PSnu=;rvXOH8dSS=swY@C*l za|v{M5P_xB<8b$SJZ`e}cmVvS9?w=R-5tl4?v5MuCqU=LY5N%Gol3gCq{|TNN5tH~ zVNxyG9CEqaR@*TUs85Wy=+{w`KKo-+lRktj{5Fx?e*u8WV+z+-&*}c-if^v_=sY{aVES8bo{|l@#@Qjwz~KaISIevt>`sD;r*>`U0}< zRtICl?E)1JsSLj9e(WFOLeV)Rr%0XIq<+|Gj028|y9Eb07#(z{Tn=Z{{x8G01rlw) zCpXvQC_VnxJu=^Sy?n?e5>BbTj?7xrdL`kFdLm<230Hxm;xd+$MR58-?S29^Sf{mt zC`3g{ty*Xu+D<~8j;8%sLi*qnlaK)H41z172G!V*-O_%unGy;E0TPcAPHkmsNF#Pe z$O3161y$g1ZWG{ORY#7UNzrhIh>1+fQm;|+M#IGG)X?sA@UxVhAlU0ygGm%U_|Wfx zDB>~DSoUqR&xPLd#Y??`iYPjY`VqMmm}m5rJs>KpT)Rnb(a&2nxL-WnYJ?IZ3K24C zE&)gssH&}`r&)+eIJ=WU;cR)JeC!wtqe{x6yx~xtS@j$92(F|h1E@8Yp2_tc^bBex z;hOjiy`PpKi1tcqzAx9Mc(!>X!~~CoOIr`))pBV1qH*041%PM*-r9<~8hkJsbVAV9 z&j?V2GjT=6aZVQ*XXoOIeB&yiB}esloUsaxd#l+gYms7LZO5q$eZ-Ay-NJdOs???8 zd5f>wS8kS#Hw6)Sfp#wAdJJxaGxo^y#c>icBVLf=RCKv;oUp|hUS=Po@kj}6_6_rG zqD~gS!R<0B7-<|j1t5M#b06zzG-OL#9NRLMZ!TZtvtt2l{iCX~s@BidVc0e4KdREC(3ih(uosHwG@^oXrf;QUuh}&FTeYHe&V(S1j*1 znzm<^4}`e7a5s)EmpTp|z#OIaL7(9<;$PcFxZsXbeM2nId<4*s7tSEg;aX?RR_C~K zwrx56^cT;>c7o3yVr0!4fo#w=)zpY0YUzIbEl}S9aXANn52k4UO+9lG-axqi=jkP3 z_2Hs+u;;JDCAn5ysMc`-t-h~h-@toRQ{l(z@k6n(3ZlFkPAr3Y* zw&J$oU&>9{3oK$hyL>{8ngMopRYHuWJk(LJNAN}bfBj?GagwW?#AP#I$F zsi$!y{;>Ac<4!$eoT_SfTyIxHLPct6`z-h%M5w6Vp?Sk^A2}r#M&R)0)Z$Eac!;`6 z2><4s{`uVDw>y5RL)wh{&Q*Py9=~-9>b94l=0ej&xu+S6XaD^0pZ^%D%l$}S&r}y6 z6Xp|acHiPE`Aofo6Ps}29h|t-RWf4zVpKlPgaH_0>1}{vC4j;*@z;-yYS@oSS;pel zsp<#*(mASs*0>R)RDGuvnozV;g?rQ?D1MQt4#_%~z3cD4?#Ff4m6jRP<_^C@4Rjqd zS5>vD!I`Q$OAXEmZ=eo$CI2boKf~cwmZ`zk^*N`*@q(=|`$ID;QT@%Ixa^-}Y#D{f zh|L_v^a5;^^P4E5|SyU%Tx8hN8K%HmTm7rE|uVF+2D9 zWlfmWExk}_8WrXW)S+3*V|0f95xlw-yNed6{>WqVLm~Jvj!z4zABPy@fGoVFq{g+t zr!rcaFDpFhxO)oo=iiD8uVF(X6nQd?wjFZgZH+{po=xwWe5q&2(Q_8$Zq3b~dB60z zC0+IDnYr$=LgVV0%j693z22?)g$*;8L7m06o4s3SuHyw1E||*4JR2I$9wjHfTqV#W zqAc{^&sH&4$5o1HZCP_70|R>0;-*rRGHg<>A(!`VM3Q1pw4a1jDWT^JSFl)TPijd0 zq)8p=XPgP*P3G{H&)n_m&`h-#5)ByPvtevHn=e%92h7_niSpc$njM0;)mi=Oj z+8{pi<~okxM;O=nAX>lb+ompCS%NKB7O>^}qP&CYDq`nPv16PGj4Yu zaVYu$WY;);n^8Jf8qVmd{8T0il_ey4LA1^(EoI33Yc*zFZ46#NrSuHrv}3dJ*7hZU zp%{yoO^Y-yCy`st+1F}Sj`9{oSv?9UYgn$Z8Vsz6w58Xfxh1uTwbohPc=_MhYK z7wg+1y}x!q7EZlf&(yHn1{ecBR!5=;TKB2Bm6fYYOH0dCf1*C;1xTLX_G>amN_Wr5 zLj6wlcuJO9E-@tlhh#G<)!VO@mW(Yurw|*hscA-Nes1a6rG;!o`T|<+T;8KHfC!EE zuT%Lzgxv5GP#J z2+djEU3pdM4eHM<>h>d7H8$ly7!63TOKlv~^Ze9`qERTl5NuZ$^=-x95`{U&J^?lS zt{aCNnb)j89-?f0?)uY=(duu(7WK!zs5irYtJlu3?5?XvG^sE+Z9~Z#l%Z8UXOOL2 zFaqoRnI+vvO!gyan2`O2D{NNM3idHFOD&c_>RJX+{o`QH%T2ZX!e)lwKMRbMil5TB0sAIJB3o%FKpatz?B-zbdEbm?ALY4sq%7qP-QiyGaGw1fd#ySG22l?XyS^2ZO7xsYc(W`s|J=#eLb!#y|d=X7%al5 z_BDMgx=$coPpcZ)iu#PI6`eb;x6yQdHL8W?j6QnS%+f+|+7E#RUIc8Af5CNom)tr` zH5QyaevVq2#mZB?+rWaePQ3U^qx$60!!JE~?BS|U%gNb4RPVZ4MlQ$=j~Mm1`KPdS zX<_)Zk;mj#&cZ+8;~?L2tME_hEd0}K48d)s*{G~u`iXVYaap~E0)y9dY|9;yJ4H>w zWc>jire{$@->qJ+A&ozVa?B`vQ}0*XR){D(gx5Z8C{b@WPzXIXfPSI7>zjC8-I-Sr`P{N+@>;);P_ zG%~Vh*D}u1g>*;x*@S{N`oc>!opRKoeFHg}57khnTgPk&#}mRRxZ15QRZWC% zpRUPKzli!O1`9qpu%#gw#^rz4l;BnB;(?*l`D;;&(jB^WU{}%bvdMs}+SCo$!@{i| zt!Yot(2Mf9*UPxQI51~4ZhW<-l}&!qKcwzZ9J!ZBExOse2SSr!LhHmxsne1MR+;sjTE~Fo3saJ-U zV8@R|IqGHH9pu~IIg_2)IHX__ygdc#32woHy!E^B_b@+m*^%p_O4JcN?oauq{* z*`X!Y4UIYKB9tZnMs9enl3#(IUvwyHuzygAYrGRfk-JX)dj+d*hw!&R<>#osB9ouG zD}#Q?!H@f)v7t~Mm4jWF3L3!L-m73+zd0Q4v{}ZF!Cx-%QB=Hr7zj_PO+Jp%xtOLM zLvz#>i~I^BYM|IX%I0>f%WFH;pI3FMbps33m!L7>rDV~jT80x3NimQ+`mzk%(?QPA zqkY?rZTE1kq@xPA{QZRg9xKb|-I`AI+`umN;VM+ITC2vk1+QwD*-)yUM3Ed-)QLT1 zLh21n#nKQCvGc)M?JA?Ixj_|nhOY{5f?}?wv?xytwN0FdbXLEwDN(NuWNLSBm(FbJV$gP(KQB7V7JYCbjNx zV_;)p;RrP;bmXs&|M}t5uEQS>Tzb>5Q-@@#GfQBitv~maWng8Q>Yvyf^0yiO6Vx*} zxFe&aNWHf(Q(f}IHmKhI6NjtAON!>72nQfkc_Ztd^*VQl$=oeRz_h28eS0d`{ey_M z1z25AQhjhhrrrjZ_g!t>hh>awU2@-za$lEuAMSe9@;N=7iF%>lOm*(?5dLx%zAX{Q zmq<=Qp%JODFyN&~w0J;0v{LB@n969m}p zJ*GM8KjfPdaGl_d4l+s%sV8zyMTN}~mT^Fl0PA+)t-{StypYeD03#844ULJ*O5iLW zMa9Dj2o!aOA**O5E<#T5Qvydi{ROu;Z#e7Bk;^@JKA%G@o@llgy3$m7X1%UHa8_x>S=FF32oQ{^R593uuJuC61XHsor=A~ zLbo)J#-7110Hgc41-0PjIkz;c{1#P?9m_+vsG~ZcE6fk$He=*5M#u3TNQ|{EJ(ALC zqj0lb;M=M zW=x$~n7LjTDJSCJM9eKKYZU$$ z43v)og)v}V@8meDYV4#5pzJ`%?+u2CG-s7FfsIpDe=7fikLN%cPH~mF`=e#?AOJ9~ zt<02v=mD5NFCW3+d4WJ(z{4ZYwA#ARB41!yeSMKPTwA^fD=fuRHoLGmG(m6dnqM3& z_Trzsym3gOs>o|d@px*HMdyvgb?2ai!B8d$Zt`U3V$NYa?$P?ZBQ#e|Pc_fm+(Vzu zoO+abLBBocz%&~7vIEm>=2ZS)%FLRI6OmGg==x9!wkk!ieS^FDG8i-Xx?J;m50w7${9 zNeJf6EuULhUYzZbtD&(q-unF6;|hXxwd3b|tHZuY)60qlqR+!UcIU=;@<;}uaoia< zzp!|W2Uqj*@?!d0JVBZ*Jl5l>tPOk0mo3X48^w0>XJ?O_u19N@x7J(f3uKSeKTq^E zRF%W!m6tcE#=8vTx7;VhR^zKlDfWemK=eYlDW18ZKr$K~?+?_~hUB?=Z$&m}6@SL) zKV$Wu@!*U|-UwHxcuuWd5=LHxzsgsk8w`%~%=6V}kMYd%R0TcNKJQ|mP&|img15e& z3xM-cQzQ2~zH(yRs>q*Pj@hlR#shd2Tc}!=r=Lr-xGKCMFZvy-sb_Er7V7l68X+dE zRP-rOcP1QN@ZQYxc`;R<>Gk0hi>xrY)par?#i8tR^>tY2q(#X=$)Af(WRJE_*5%Cu zImL-rE_tDW?9tOfBzQ@MFEDWi97c74Mw!CMX^yT?O3F#T&~yxUpsu>w7m)teg7(az z%pU8ns;%(&s{+B0r_Qg(EoD`Habs=yoQ3=vePbwlLTq>P%k##W^N*RwEBsZJbHVUr z7(?0idIBS=@QLit9t|3=K|3|!n!LG%#h#RaFX#(2=p|tDvUuXlb}U|@a8flogoi_U zvv)JWTp(j{KS%=0$;n$yelWW(G#v!CFo1MpO=5bGC(8KcW11k{11ETczU21>0az;TNWIc;9-TAc@zGX764vqr4uS#(4OgWc5 ze){}*oZNZ7N(Al%8pn(QS zX4lnnPKBEU?e0$pjaCJ*eoi3U40`5PdmD@Eu}k=zTF(hcJdgA*JAQI%eVpRanza>& z_IgCKF{0Hzzcrv*zD8O}!hK_SE$9J6F8=Q9U?{(MJUFr?I!x}2QxPd$=A_gr#|Nlg6d~*lsTr36%-=~gfCV2 zOa;J~2S!zsvdR)ZDGQ6ad;_Fvox4_%5(ZJtY7U?K7!RGlTq!JfZl=h>XFkL`NWa$hsjD^Q-d4d&tl7@TrJc zSmdp(^m(xGJl=|mm<1V81|Y3zAxWgu_Hx^n1ezM$q4 zRZ!sUQI4Ja>`4@fVBrC;Ee`dpWA#q3bzR3Q#45-e17*t7P*+vqvBdNuUo{9WZ@GM$ zExl|_d_39@`gSj#f}*3Pta2*l_*keKFh+yr^^KI^dU7a(POJ(b&I8mhz2MJzH5Hc+~RSb;^`tO97_-qkSximA&AT_UK9?6uw+lHTPnr^#ypxa z#SeC@woI*@It#S?S)M3%n(e8HhCKFld70Krj$_$5SEJZcd$(v!du)GKzS#`Tr^KC$ zw=(ykvtr{35hh;3@pBZVRAPNk!h#SRc~`4^PaBUV0Em3H4-28*TL}fo1A@oPLf)!c zSOLrp^>~A{Mrjv1)?u`4N9bC8;xUY3xBuA@cc2iv8Dwh}j4Rg|MKwl1^9F~uc3=e_ zMG1_lah@2#aZ;eF0@@~23rkQyY4dB|v!`<$LqNNlU@`0yPB1khZ*krn8$R%c5s>Ja zQ%l{K+|#tUt!|2_9BX1cd^jFBC0^rJo$4xHQvBtSe0>7EJpWV5U2`K^NZ_v5~|oY zJ7*H6%F^mY_}8X{>WV{+uzpQ~uEBSgn|5G|=VT|+6K`~m2T{zQS5zlB!;C;(jbLqa z0&|LmT#3GEy$&)ZRkm>w!D6av>Z`S&6|r=nfX1UULxHdlx-M~;Q({=oi9WwK zTpgNKMO=4&m2WAq-OyOTUJe^4CmMB|JlO$!#KEJxxR(ldsK!%M0WtwNW4DsxInfsc z6x2xNJIC*>4zjnJRlt_9!>$<*pFK9}=LD`g9}RpbX`NcTxRz=W^-+AY*_NdT#><0P zxoC?76G;MYnjbWAg?!-E(8htu(54(a2Egqu1U$9S>P!?&DwfeY3G+%oYq04pKiv}IL6K|9PDHfc_qQu@b?y1=};x*C~g zv8X_~F(!xka1GG0>L6g52+dNJ9vk!lK7bjs2e@+_swpsirYJKOQtz}b_6hO_MF9iS z!v`A#>uVNzZW~b3D!lbT%FK^4g_z&JD=B8XD)_w-&Uru?kg4#C1_0u5X#3gYFv4^E ze*B9`1&&ygl0Sc*2?^+_!us?D5Sot_8Xzha$15>Ed*CS;Z*#!!|3j0Ad|*ywh2>s= zY4B+1brc!$J^KzZ-owDxEvLs^ylt$lU=ZdN{|MTJG}1n;in_2VWWMhy7LCL-f=oR= zqVmZ13!964w38Sd?v#BKbTT$hhY;ZH_`x9>IKyKRqjN;|Yz88-US<&94zU>kF(!oP zQ%)%MHuz4dn?YX%xxA2n_N4h#yTH=`P@3R&y$RgzeU}^rK%trssJ&=mwrS}`L@&gK z@b2$v_-R`S8cw&uo+)StbowV~#MS!B7<>SeYXX;4UCUAJ2nHZAb9mOkc1|G55SbtC z;L9FQ8B+_TFjR#VbV^;`>|)QcGIOT@s>u^6jM?)8NrQyfvJu~Ii;HslwD4xF96Nn| ziM(L&H3sv>5oX0VXeLjghnN_MB|^M<`eL0OW9jH-+sUI{e=zoo+|ey9ga z%Pnac1M;6FKGM0+ertUAAP3Y>vQ7lY?Ov^bd(wui=V1tHD7*MUFGFaJ4ju>6MU61tBXasgi$gl;vxwaKZu|NCs?L__Sey3S1t57%eBu@z#d& z7Yd8eZ%L}?SbhR){6Wmw6JnuZB6ix(8)rdIoK{hhw+tf&39czx7DV*7*-LW*MxV}X z7*PP|7KST{y3VQhE(!aXSqLmT;4`sOw%}Y(F)ow2g_^ZwkDxAQMJE$GX%p`B{RA?&`#$hoo4Enr*@oAUX*Pv}%c|!56IWB5DE8P{ZLw3oM%NQ+m9dj> zY*lc!t{#Y?iHK0t0pzl=`=4KtvJh@{6D@?pr=~vCh$o!VYCf>Wx%t5>R?i;!%43%X zI2J=tqEL9#XAamQ4{qKRTs9+AWK8#33Py!RL5kXH1O?Tu2G$x+3}h{g>r?9Hl!vRs z78YW5W?%7K-x4xYhJ6)F%$C#Lw`%|@njh{KgNnXg{JxYBdX?1!G0?=3l&hQe`Yw&R zebi4J5}xw{6xWnpfpB?u4=`Su%&G|77MzJ)q=*V z_>T^fajcZ2>b@9#qH5~JOROJm5#M|Z#|vhUiRfEU^g+Pn!jUy$YfrYEcU+8T@X5Z# z36MBNiEWjShj+oZ3?r!(<08gAEviF_3(s6w4ca>qhSl6=@W_>mkcP4OfVGsz){ zdNckkLSB1LL9kq{I0I1N_cZ3?%O%21!#BkeE2g=bwR-L4V3{tvBNRNqr~ulz5vW9$ z|0a?qt1Zq8l1>QznHuAKKL*i(ju+a8B6gAQ6gnA%r5t@fE`cBABn0 zt7xj4JKdv0wWxo=8CVsX;RUh;mL3(hru{0m(y>eJ381oY7%To%zW95aK-1f{%7QHQ z?CD@>Dpoe#MErW3pK+oh5Jr$dBpuvVUso@xirM4+RIg27&kW4oZ*6@~r07IK!qKX` zt^eUXY0{oUM<`VMnv7E0_chKT-a;Ic4gF6$1~meuRg1hc=guC}5EwHdKPq}J`j!+O zN+y0IMjQpT_ehLi@%330U~kQ{Z&5c#%Zi%{k1T}9gmFSo!T*F?V*+%S#lA+3cE&>R z7TE2;2h7l>{OQ$Iz#{ZW&aA^G12WSV|B9d6WD?t25@S86)m23kb<9L?rM%io#P2TB z%mXek$RNoE;EZLD$#a+$LVJ!5+M*t@5Y%Q!nftvAsFjGRDy;>hKw7pQOzL8bGInW< zLxm-ZGtCb?DXE_*1p%qqNL+w7$@&6VaJ%%XmNzWa3L*>z8$%8-su9YK<-gFxd4OnE zhhjR0-qyb2UTdd^OrD&;#VF}SvG9p)T6#j3=h4g&+Qpr_wJIE~!lcllUa-@=%a}=^ zY1ro7$z#-hToEi2U>C75W+%)**UPdc z8Z(ejN3$Vim6=DAVlv67HW6Ojpbdj4`zM}ZMhQd9R;e>pxN z0kFl{8Z!|hKMJ^Vx>^Khg*}L1dCRe=S8%KeFX#gZ3~GRtq9ADiCsqX!l;1cbKs2uw z(1uP_WDF7322kiw9q?WRZ!Ikkp$;V^eoSx5?O;}NOf&i>MFQ1yx=~buVVqGAgBzLb z=X+x6+1dC?_@nS4aKI*V$0spq_f3XmGqb238CYBjNfBI4>h@~4;@9>b^o(Lbi3rCL zjB0~ZRwkboX~`ABsKzb+CZ0bTOeC-RV2BHh8bz!T@^FwX<(x$+(J!`_QKF`!h9nXG zBF^mkB0!#E4HJWnWQCHnoEGLD3f6L%5zH}?ewsm-vY5anA<29g z{#7Ip<6l627Vr_D8+a@V7zaeJGPUjR3nNOzTJ)#dVbWR{+P3xXSYf zwzR90r>hwP3YauOFt8a~DX@=?5@P(E3**4@KqkJR>PW56uK#a47N@w(pj)luUZ<$U+-o=pF znv@g4PLyqb60_~u*ZlTO{hfzBL@|qDn`8WRC~r|! z4MP%&Jquw-FHWfl>-<6_kWYukZIVZ_(Uv?MKw2Q8UBN?ZI>MYL+u4 zk7&J)3UTNQ2#HP@8D^C*fGz9D(4_yB`CLDDDsBGAPnU!~Csz|6n0qY+nGgyMcL$4|l zv7nPAW4cwfAsM0XO)fbCN3o)9dn4ii5R#z-5#~|(?z4Ht^~Y!v=%9AenOIm0;KQt2 zx}d5ew8%>QaMUkBG!1Pla(uxLO&YX2bbwJU@kEQ^0~Mi>St2pQf6uhyUBb|&|H?tz z*`pVE5!5O`7sFYzC&Z#&^t(H2=oG_D)w1veDihx*BS*ndY68Zmd#DLOk(H zU@RzCQ>}Q=s8(X&bzK6FwheVGx8N|E9mEMhCq{rJrQ37X!q8)ym>=(6Th7ZH8)x#D zCo-~i0=iQ)WRHV_?cj%6G{lAAO_%|a)XL-ujZ)G?R<0lJ#9Al-%gh)C1{P|yjGh!9 z51GWhZxkc8a7>jA2Zc;DJt?}!&TpE)h^A`tMJB}~GM4X;`y^)eQ+<+e(Byg0;MvEw|c3! zF{sy+IjMX9^|nXNnJIT*a`xg}4+o}MaZw}ywy}T_No*0rzQLkqmu=EI5N!f#<*IK8 zc)ayhvSSYBKce)HVmhPJT$oHK zI-Zjd52&#lB^K?a9<5V=30M*(esmL}Y*viRUb^X!m3hE30ksctm!FV~KoS6YnuQ6- zZ>Q~&`s|V0!({3`8g>U!PO1vdl5$>VgfMt%SO>;fHGu@VW+WAbPOyGo698jCA*#oc z_G~6Hqgav1SX*dAcmzVa$O~0M5Kf{>j=ONET5hxN!SyPVWq&QZm;tfs5jy53dt7v$ zxRxDzPZOpMi9DAeEO(v$u&W4={Z3OXe~bf)Sc%Co}sMA>;{xHOL!0!%lqj^vkNRnGDv$86cyaT*pQTw`lSd!wj~ zov24Lx+aTwNkq2NdkU+XcCCy-_5@lD2pG3bUJKjWd-{w7eRxA2~uq-CwtRg>g7(}K|Gk1c-zL%`bL zK7m$|5GQjU178Xt?}+rAYt~(K++>B@OF6y0Ul_Z0nwt1RWHfifhHL~j!B|J54kv&! z>B_yj4!}$wQ8&{iPVKQ4qXW)`1OOJNj9RQxSwc7GfPG3V$cJTPYwO^j!7h{9lJ;YQ zP=eR%sSG2o2w8^O%0A$t8`RGtJq+$OQ5Vd-|3swRmWNJ2{YZjwLDR2D02L(}O={gw zI6ZOk;awY-#GMhs1h`sCX==`lhzT%StmDOV^Jma;YND92n9Dxc*YPe%M}&Y#E2e8Q z;y%SrQo^*+B~yW|97DnE(VErn_gFT!aW`UNioNt!$ zK0w{GmAnI7JxJt{t-~C!&WgflW*^u2lQhd*E$CWi*qdg2wi2dMtKU7Bx64uoFkFUm*5ZU=3TfIBVImaFy;u571r8dT=ox8{_}pjkJrZ&#vWBOx&R$l+y&Cn*(6I zUPslz$tp48(@~k;jEJ0JRlSUHds~i2!soW5P1v9vaFfu5itIW~PkV3RTS-s;S}R&p zS_-nR21DAYA%a^iMR7BqaOO+x~#jS1ifZr$_+T(6Br$eF8tBHVh9x! z*RPS_Nn}DY%h)Q)8}$0&mUiI9`)liux3Z=n%UFaXy6&!3fI}0+KDyMCl!G=&qg-d7 znkzX`q|s=&gG?-jDlvy!4{0=d2%!sZpbLygR`_n#p`~?N=pEX2D#K2;XnXWoGMwPC zy@Lam(VhgWkFf^A^kiY5kPslPDui^RXfZdj*afRY)<`50GO@+DyJ&#Kp?&aA!F*$N zI5V6iCLYR+0MueBBK&k6TbhyxNRbj6Kvoi*H0>8hPN;3fM8#@HII&%4ItklPA|Op& zLVt+%B=Ok7dm=rTv*H1WHY<=2Qx2Y5fnbCaycHs75z1!NMmJ7 zLXMI>I;wIptLj8T>2>LLG<&RoBL&#sf}#`41^<&JwcohEUVq2x_zVYg9xuh-Erf6v zSv?M&-sT4T-770Z$Iji0NVNmHxOEj$o$?|<#P)lfj)mAj3O@?!hd^aHau63wfeG4! ztdiv3M^MqeSX%&w0#?CO%o}B(BZSr#gTgEKUg@-u2XT1ricu%iS`)%fPG>Zu#{`cPWqfY zJP;H~NsK9y%|W&s7x~-YT2*`g_WlM+?$;N1z&UA4BEMnp+BK|NRaNOn#Mll7nP>41 z;3W=!fodHv@okrSCp7mgK_x~<1TcgpTzCs*{vdS6#}3vl zo@nb+(^)Q zz9Z&fI-mZEDFJXJ(S~5CR0I=Msm}*(ti?na6SUiJz)VB2&*OzQFshrAB7(wh(M7lV zt@iZ-SUOuMd=u!&XLude{)1DvIq1$MFIqMO&7G|NMv{|=uNSO#I;9P{4+tMQa%?ZTbuj_L{V9AV5eXN!k2h5k#ukX&xw*67TSwknnoftujp&X z<=L+dYa^bh;Biddqp~W^CY)=#OEOCB-F{jFp5LK~$-M(C`owuZw87;DbQpRnWHq1S zam5^T7xsivKHTbwwuKxoFs}zQWSSPZXlghR1)%W4Aa25wW`YdytPWmLJtJ5$?u@n_ zXzYZFQRl}gQm=8H44(->`-7|>gK3P$WV33}L1dhoa);C_tX5ZmwKZTtl{Jdu6cn|# z4G1B=T(t~C^&zlb8;{wFn@6bMkocan1LS*Q7}ZYaID|&cPdGiuT(S7jK2L{+a5}p! zakRy|pCT&>IMi+qI!XCPK)i*nV5R}<%?-Ps7*WvhjX#P7CpW+8%VwDZ&cwYc$9_M? zrJ?mXFM*v%D|>OjH?G)Vh3L{$UX+6o-HHj1obKRSIH5&@Z&)G{YSkfxN3(D?M*qha z*idgPeFfRGYOn2cz3!-~Bw4sh5_q-2-D9V=tzJvj2Fm$d+p5Btl8+qSXBgmqf*-sY z)V=#^;GokL6u30&(?0^8`kqGDmKBLB)Rn3vEhgv;_CSULk`%&M4BRA`JtjBQ-HW1|`<3j>yg4snmF|!h5h^?b z2ORqLkrImnQJ`%?>OC+a%0f2@O?6RamA{fxmC+kqZG$wnTM9dg^fhXl3KG^6-E+R55NtZ=^twKB!5U?_$9z1Y7lX$j zgAb(u4>s^}F}~U!nI4zws98R9JJhj;R0p81?yof0lfbn&Ir0oj&pG;Gf!Dv zAW)T=bem3~G5s&UI?ddM9>&!Nh<-NHKeD%O6(m8SCG&5 z%IfU^!KZ5vU#V%DYIUjA#v0|iJL)q$b)ev>LJV8@w9Xb@P5XoieLt>mkZv6;&U?x+@$?o zS`)uB8^@?PKh>8y2Of+(5V|*Cf}z2naIJ2o1Mv&T+9!xKH^ZQDzpu) zw0UzNN-pUnx2l+~0J5w1xw7(`_h|BWabB5hF>; z8pj;M`P8krqt8@IKm$va2BRbZZOLtzTyJcCvWL!s!Dt_F=fy8^O|c3jum}9uXr&mVjTq%1z*F_wE)`k=CFq?!OW8tfx=tkQJ;Hx?WP;+!-E^2bb zCa6?}S;JU;yR6|0)KB2`Ad_XH^_oDt#1}}Npdd@tPOD;Si)+u}8*`LcP`Md7pc0@k zE(T)ni~7ZI*ii{BV_+z!ftv4tay2-m2v4;WkTw^W42?>&OU7XBR3h%?=|tZSRk-Fr z(5;H~h2jT$n_H6so4X8{9=`r@PH$o%HZHgL1!oDVQSz%-*cFj4BY_YI6%a<+!`l5bcGwtHPFj1XyvY zloV+Gu3ZAB`ajs;N}aisqukj@CB^9Xb5Vo5x#0Gm06iL1ZEkP~_TrSggg!~N#FL5P zp_6(=?kqP;qM3}{?t>(8gO;%~u!Ye36OE@F^E@~;#n^bwSt=nG zcv>({OnRT-e+6nQue&Q*DFjj^C?tFE*eF3nXPMe`_NxkPtB%K!D zAgKJWI|)RbHff%P8^xpT9OI{0B0F6k+a*O^483-%i{7)*Poqo3d~lek`8RV66>%La zBs{wjVovDL=VX;l6#RVf1krQOSKrni*~A7$(WU*ev89X(eIuPas$Q2KVrEeawBfAG zh$qK9@Ryw1RS7v$ApCwD6IU91XTK?AUH+p;sX@kqW+^I@8-9bcYwHc1#oW!x@f zR#&rd>S`8R_N}|KfV-pOf@g& zdBcNb%@_WvH1J9dmQ|b|Gno_yrop(~4(I3C zszf(X1nYT124(@FA55e!4Jj4nGIVs}6;(eViNiF9Hr@oe36tOvwlE~F?3LBW9{fo{ z?5ZGU9TESn>|_^IY>5&TXQzkVC*L}3Vi(!Mn)Hs2%9$?*J((ghM}_L4YR3_HE@!Jt zc$7=@hQXP6J$#eS0r2J3>ZbDfC;QE2v~?^dulJm&fDYg)>insMFSO0YoTlQCFH`Y? z9-(&MloQNu=YZo|P~%U3kM1H)Hwpu1<3uk2YC zR;BdAF#RS&v`7p@6cY-m&4h-hn@ zp9QXYk~WwmP_n^_IX4UiIM`qmzKykL)2oH*sm|(Ar1GVHPIPD^2R4I41kOmQPA%FupM5~TXcODN>xu-zYf(zIl@!F)Vo1I|L*iH&qb zcB}oudcDYj%(rlqG*-eKBO5H8nPAD(S#nVAd?MO?>&E*c3=bx<#H!5gw z2f@TMgSLVi)-Z>Y=t`g#X~+z`!WTrDn$k+!t_hq(>ojdfkbF}#CFroK!tCj?P1@v4 z+46x@Ap0Cb<_Zmm(zlV8<10miN2I%&Xj${+eXSHnge%%fCeFgQj8XP8+;F~`;bm=C2>CE9yUX?#Yk9pb5>(?9k)<-Dof7H5zmfPAVNiJX6gCuc)nm$^AD?EcJl?!BIk*zLN0EEHL+-!q`Mo8 zB!9nLe0dLwj%nm~7y=_kO-e&X7zDshCu~_`Esylf#Pws0&YB&OCpV!^%e$#v3`9Q~ z?>|@1a=pJ>X%u&_zzmB;H>(w82yVgwB&3ctQ$nrmNR*dZK#q|vvI!AaEaX{EiLYMAIXF$Fxv^^)tfi@NWbL+ zW$Jos2r8zo*UP>0SZlCP>#Hge4)gm=R~2G6C^2%i{-(-CD4v$J1OI+R^y?AtDgGlG_t5;x8GMr7PmRYgEAoFnUj7FM(A z-{-q)?C3=h18(HDBCXM~I77rZ8w zaWi;2GV@yo{8F&f{l12MrVoN>?od3v={Eg5Lu*WAE5WacP*yN!W=Sn9axbn4f?VKV ze3eST{q(%T0W}y?tcr2eTXcjL_d#Rm3q~c`AQ}zlaXPUWJ;gOtc*~Urk8T}B=Kv~f z5LEDxkWQWTwRQSL2sN~OWqS|~uZSiyu`wNuMSG@;wwzr7YXGiJMc*4iVR@pGo<#C( zJnHT=VasuunMPsi76q;J{XbbW5CIsGwJZc~WX5!ut_K~1RL%UKwjU8*`C^5be)M4v z#{+awnzF@=!}#F6fSPU{yFc&;f)Z?(Yju6ZnNS8W^fG4L_K*WY165ZA5uAGWP8eGU zE;Veg$n2KfWo)RC}ylB=&k3o37X5{(EB&r_1H0-2{;t$Pqm$l zg&+l_dd_)XnCm84Rt)tqFxBX4xkpDh42OVgIbio*BvHVGTEN4y!cO5Y<{OSb&Mb-z z5MmATRL?XaCSytMqa~+=+BUSZE~yArebB@cp~W~%0awA%vZ)|hBR6Y%2>QpMM~mBk z>`F+Bc;8dJoM>BxIgf{@FZ&NYqV(hym^Ygh-@jWb<(@6R=8bVq?&v@ThX$1tGV9G0 zT79*hyL(Bu5dRKwUNkm<9k(FC|CCN7;j6ZD2@Z}lGw2KY(U!WZp$OAh6-(S!!}0-9 z(`@$^M|O_H1X_YCdUC;TJUn@4vnyn6HZW6+a9l7~)umaL>}(;usT%u^;{-h-$HAys zb}0yaIq!<&wUxY`kY^EtoZ}Cl#$UE0Nzdr1gXido+K243DVeaKAlKI^2U}w>bc&~- zmstNH<+QR4-D92LXkizEwaC@+kZo-GTB$20ZiM#i{cj6QRcII1uRi$YB$eZNaW~3& z3!XJeDKM0>XV4plE;AFGrcdgPZ< zagUL8>D}N}?8bAHqQN~_e=$)3V-KVJ0-q_GZt3z7S}CHgyAoO?JB>9q!}+2i4kQsr z+S?tGkV>G+!deIM_^_Fq6-xjRELoS&PZ=IhBtx2*mGkS>CmgXW>m$ZW_g-a{aGUsT zS>%AGy%LKeL*m0xRVDgj(Zuubb0gyZa7bganpJTt#TBlF(9!Lt|D@8CQShT0=3ASy ziO}Crln;)gu&U9FHcmaUUe2HYOwZo`nLo)Ea7_*%IMXSpWHO1aNXf}doIyGwU`bGb z73HiF3LfDDvrA*|gGjvp5U!1h>IZc_6S`aESQp#xyK|)*?H26^S)G8G($+PslW&l1 zp@B_-g*PU(u+Zy*Dr$ zIbhD$MhanD50=Rx;dIjj&1$}#vb+olm<6Wb$^zA>(*8pQza{|ORB@lcdJcCtmgnm$sck=f!zVN%# z(cgX>pWB+`g$|lw9R|l^*b&0mjs4nb6syI){lVWs;U@JwB~i z3!%@;R&7{WI-0gBDfU{lnvDI9kh%0u3!R^B|FP!@Ghq&{FcK;+wTwFgdVO2o=4eZ_ z=$h3*i{3TbBq)Zg;%cD?|gsa;h_teKP8swp029~ED0D)E)j zlu<7Ac0>SLd+G<`hjbsPH<2E|ucWni$g}RVF|!U?pgYgj)A$n3GuqhtvQlvT`^V9b zIAiZgI}SA@;Ih$MbgzPPP`Xd3i@FM=oOKZAlCzQUBP;6f~7 z=pPM&-^7|)0+4qry_|rN!AC74Q0sbdVLvVpd19k?B>=Yrg~jVjXISVe`H-%ie*hre zs5{Ztc}^AV4z?f!4H99Qgc)^d9n@g*1z;G8#G@j9cd=ml$OU}_5)p@FyG|xKTYR+Z zD~FhBxD7$b{TkFvou${}J%nz%=>7EWmj^HZ{O1QJe|h?s{)2BX*PuP>xZ~OM!M8W# z&E)!r354nhKkW9)nf>94RME?C@#`!6|9kvDcN|Ai0HK;2Ed5 z4w8G{!is@puGd0^=BN2?a{cXMwOViSxzpiGewvk7Xl8QDufj!~eEb$~xI=7b*f^#x zf=x0_I?DMCHYSA8pCPoPVm)1bnr+^Wmx%KuZhe7iUm|DclIPN~gSf!W2#>5d{+1Q2 zVLQ6Rgr0b*DeZ^+l6bIC9y*osxzsa0+oywb<$a=!8CHCYkG;bWJV8 z@yQNmyc{pKvmd|vPQxIL+Z%&@vHYfw6+G(4nyZDH*G3@{3ihBSS9^wlW@$@70E+Y> zs=;JU!78iP4>_tsiX>A2M@EbO>8SE^LUY<__vr1 zZ~7(Za&;{_GX>Rl+Dg-&Qd9@Rw1DXf9@(CC{7IMaHF%+_kzRZe0+BF*EM?sXjc&%G zYmaNj*&p?_ECu~FM+j(Mv-*!d*)3H=ChGT znm`%?3hmb643N5t({}Voo-9m6(|udQHP+Cwvd~!KtuC`WFn5yzQQe1tI=-=_8JTNm zK8Hyjz!DtcYHK*9oX^7)p!AC)a9~9fcr5u_5B>=)z1lEI)B8iUHtqv|tE0{BdfnosXCpzd``z2KXe&J(KT!Maq}v&2+sS$@2ULC3$Em zcGX+cN!y^dWwsFySBkPIWq~yGkHU%s!b#B_dpUaLm4v>HYzxE(?E8(hj0?VXNP-x? zNLofk4-u7{2Q7L)E3Virx1ZmASMh&Lw}>>*RJHvt^Ui4p<#>aqHeSR5ObLWjTcS|R z`4~~zmzV4xX~Ze5netr_T+297M?L@w9TKNQ4ki3~%`DjDV;9mVl%o29d=?jfKxazX zoPQFD4Fp{KoWRAmHYjw<%y)k5ftn3$NwE?$Vz$O^hOMp zg#A<@FUH<9SZ2xC4u@y@03Z()dmyF%Q|vhSf}b{6A}y@yc0|&{;hg!=t|4v>K3Q>) zYpx1xN4k%MalDV=M>ZpKoF!C8X=XuXGz9Er`2v-n_^55tA--7ZZ>Fp%xOM*_ z5N+(S^eljreN!M4)Cb!U@}oL@WWZ`31RH~^fy`tZA4xr#`n|!+wz6-jr<5OkKKln< zun@}sN*XvYh_gT*nMQ8d%P?CpVV5SeE!7k^d=++R7{2{Q#fceCFkF}T1_C>=Wr3kn!7R|^nPWoU?e48y-Q^0S)`8Nk_KpYP2BCDXZsBj zxATb&8xF1vD>&8|QtvR5=B+r*U&k8;@OOYB@SxYrFU2okjS>XJDA9LJ2@ zT=Z@(Hh^`^av;qlZe^fJ6N_FIi$we?b7B}rhaQ_`_0MNJ^l-icbm15VIBd2>9H%;m z(>{mqetrIC_-gcF@LwN(IU9_Iuc*fY=CJP|cdr;N*;K2|4MHy)MbxDpzoOI2?dhxv zb8RDx!&}~8oEKk%#l@7NmEM9Gn6>U4+S~}3>X3t1CJSj)Ruu9x94ye z=rgr`o=!XhVUJG7&Bgp`uN}S=+v>5+Eci}~{ml}%2*Aq?j3nAl2_^!+1l0DR+h5?C z1S{0a&5M*H91RXQLz;g*MiubP4P~~ZoNVA*JzB{{J#pwv(W&3wRVZoX*}Pwm|FLIy z7kddIgyhRnrt_;g`W?vWvq==woEf%oGrmAym%#Vv$+^^z>*kQRFhw;2yo)fG*IoPj zp~kekRWpY-Q;Q|#!1UHM-nkjCOFcbUmZjaLv0wuVVp5xdd8`wYFw9ilAG=#JTL6>{ zYKz=Z#aKM+)jS9cK$d*t`~|jP(DDOmO?b6g?bk%?ZbsX}Wof=jAc=?I4D4RURH~wt z9#W|7XGGo*4oMVZpmN~Vl#G-P(0o02=pB!s)YqDjGe-?qQpphC{W78lN;?Pb-6u=F zrO1FV1X;L2zyT{puG{r^33wf>5{^C<(Hw)7L#FDN87fOy!2vxm2jNPn?k4rvd$L$e z=eM@FG)x9Dxuf?BS`Ls9bfjS@%Vj%1;CD(Kt%^ zi;L8S3n)k$T+_lBV^zs!>OwezVYqbELh5gR{9Mpd}4 zW<;UMxY_u_MO&VK9n?6|Vb=z~3mbmTrY1*VuTYhd$eub4RqvLV@^tCyNG;H?a$4JA zIGWU)PC95B+Vp0T(WrAX^AMWXUBHVM%i09EAOLPaA@?S+0{K_}*63y>QM578{P%Q7B1TbCz;@DeIQ*rN5%+! z>G2O7Z#i9+bXM%NO9(f){W$vPW=X_@VmUF3dCBgK8!8pFk&+#e9(aTkoX`O{5JSyGG4W zS4%GbZjePN6}s4_XEfvzeMv7yT|UgST)*# z;eb7m<}Bs_7Gm;dA?egktyx)R-Pu|J3~|^Jfy53Hhf=n6u^bE<#1E z`LEe(&08crPdzv(RgILE3aPYDOP`Fw!kOBFtiL-x8KO>W2fh-wIJJrW$M~i`KWm`? zz1g$q)l19xsxLi?R8J|P;UiK&?@Z}3TaUvm+RLL8XcTJ=PA3h<{d^=&A5O2-8^V{_ zLuyGRmd<6D(&3~heG_6?c1}cV$4k8kG44fJ0fmt%=SwLb`95oh@wI!PgrsDG-OUXwnTTJ5nIYCmD&~sUMla^=vD18 zmN3oNut|_<>S*E^CAbBuAkpO|2nZ1fCczV*MYl}Jl*)o_T|5LV2+$}}aRLoVDSMJ* z`2+AMD;>49Enp38V8H7j?_cC9Rm;pySL;1y?)ktVo&s31X8O_}R;zQQ@k-qr9zt&P zgQj}}MF@e1mbL{(^Z9mwmJRdmH7FdD&3sMre=jp|-K7h~RCFzWF#7+VX!N$rV6F^b zR6n+&y9=%$=%7Ivatex++wi1w^U(zs83r9lq;oSU2&uL|;uLmlNXlZiv7kR)?R0(! zA@(bS*0%!VQ;e?+^}|Z%-7-tnP8V1OmkuGin(41viYug8!J$inz~cDa?EwvO-mvaK zKc!DC>>$pt%5998;V8g3bW6HXJ(8qJn92Mv+gMN1RE3%YY5Qw|#s3lEDJ8{WeP4Bp zAdki+4K#$y>io(5>(B0A-x^g(?TGHLa2)ioq02c6wga7_jSQfnP}KcJM{*0KOZ9lS z{SDcthaB=~h5{#vk3Wv!lTO_`e((O}JCq<_!&)*V1Xf>qm%AC1ZuqjL<#u}d#T;b> zrqJA7UaRO}u(K7FG7c~;sPrn$IaXplFXs!;IhM%c?wYlidRUqc58pyPQI3B3W%+Rl zgoc|Pc+9OR1L;xE(GvrX3rsO1f@7BHOq3D(9P7JzzdVP{MO*(_u6XgzSvZ&vNsJ;m zLe@spqZ&R)>gN>pA1KO-d$Y0iRZ6}vhJV-7AK4pZd?f)KR86KQ3>{ffI~rdcqm0Rq zb#!4l?v1x+s}v|H3v6XVjVCy=KGZM<{cZ$zgHg%|;YN;o{9$9#J;oE~hrjzS{rdtt+Us zIT|-DG0t>1mzjRDSO);n9rIkCI(jz?YflrVm!MD!YH$irg~~~1#TR?A**0wXWXWsv zU4)CX8*?n7nW;sHWO6;4+>Y4n9h^1vHqe%C(7fMNBU>{|IvgpjYPH%+?L=@Os8Vf+ z5GKM-SQ?>7OCbIZyS1-x`M&wYXp8eakg`8}rgdPmQjdb$Cez~JPU+DS8XCz<${CwI=7)*4 z@}+XJaly_zi|>RKRFJVYM-Z=C&rv`K#qkN)pjtIMWQ{W~eRoGq3K-CtR~R*Ch;Uu& z*E^aU)=!@?Ak#OB>8Y<)_?e1fk9n_x;&t<9AUEhZb3Ya)Av@pCMJry?{ajYd24N9t zsBOXYi~S`?0O-c4Hrm3Wo54h#KGlJ*fmX!;3c;nA&LD@UJJ= z5ME97JB~7YzoGjZ$Xz3rEB%|1_psW~0#!AeIBK%N4(K|3@o~HP78MOFW3#i|%!V+K zcdIv2%H26k#ca7nCobc(&{7=0)gm!nTB6;oz~i{>J)cfh@o75JJV6S;OPSVB`x47Z=$OnHrriIk|4o8= z$>B-e_Moi#$KDmNOcz#&LA^7c52S1bi%%N<`i6;}4y$NmSWv@nLj*oc{Ot6ByGVuq3UMW4h)22DB`5YeW2fl_mZj zJnZI(kSw<{bd)rKiGmAMx7AEcidqU}s|c!RHB~9Vq-t8(ydblZSv|G}GBS23?_zB_ zFCU`t#EA`|viEe!Y7DDrxUGxHC6K5gH{eofk`0czr*qGt{EI2>5*&R<>G7}EMR z2l<-^f^Oc=0S;)T66>_p;8m&c?+%w7xo(Z4hN7fLx12_n7}R?`jl$>PsdxwNjGS5q}301GG;|GA&-9TEkM)zrLlrm1Yw9YYo`3K-u4IyxLM2mNTG@19&! z_;}J{?Y@En^ZM4$X;y~Tzj|bwOvY9UX!D!dEqo664jO0@_-r7*qfl_f!7jcjw}D*j z2s=Jy5DHg85F9_5Z;L`+&b(A<&Q%R))jc-nW`Bdi6%1Df?*%RIH(N|}m$vM1oh7W) z_Zsh~^VR6r;je?AU%egvgt0kVcfkIBVS@yV`lAst5tzMXkw@vypg}}06q=Jp zwr=EE+T97skB;Lvla}1}pHw7=AQy7R7Qx%CbZyb(ThQ7L4j)H0Xx!V(u5|dJ{3N<< z+dm3>`kANHKiQ7YMgcpvfwl!^f$)e_GcFlQ3>RS8?+0$Z5*+Lx+ zr`xho%?xwiO|<@X(=2!K4&joXo!cY!mC``IEix3LyGK~Z1OpT(HwP?hmjuAdNF(o1 zN}x*3U7=L&n-urrrpQB~uxPUDZ&8{{VpLKNj9(1`-;On^Ly(!@T=eDl^b_pC#F>EL zRKU*TXgmx)G{G|)&E+4s9Z$uRGHE%gF6XJqTU3346YyvQ&a7h2aXi%a5zdk5zeFGB z!j|cAu_)T;d@^3l{>ub)@o)cIcg@;Yha+U0_{64ku)LjbR!eDcuc@M3*l2pW;;t_A zd<%_Xr&jq$!rfX*xr`ZjjqsJgzdmK&6{a03;uSUYwMYXKjj%VWh|jak{9mBue|UcY zFkeqdIbf7VBR+D(Gl6)0w~G66m24^Q97+-65hkdrwp{}v*evu^++jYnSzt2Z{A(*K zw6=~y?Vxj?SCm$mt9l@7iMt|k@0rTRV}K+qT9UFEEpWR-9Ct)zt_1TZu9m`fPW#*- zc2=Wna>K^fq8lnQYCgpwP+@O^_8h9*@Ki2mzA&ka?p>VJ0J_NBHBZb zlps=rEq*)NBWq+^VqtObAr(~Du(YD6j~<@Qgbo(v9}id84wA#Wgv)im2Qh`YDV1Wj z`%N*mZWhc}vmwh4XBp7Ck<%9uxwK58@aJ zu)sQ>_G)c2*&8{~LFJiWgnK=OMym?;AV;O@OYo2-QUPD0CcydW)yt!Y{YS~kYhFEj zAS{TL>AS)KO8|wRb0Q^9s3ycXW-Uo#Xi_>`&`32CDCnf(%(e0;7pe_|_M6_$c#^)Zm!eb^FNWUMnw}B&pupX48&rHz0 z9fQpE`Q!xpS8oyWFkTqGwCib7flr>GmV#tqgie?qx&|+7hYY01P0H4&NI)eHc+aZwcR`e=9zoXVV7RRz;pt4fE&) z&jL0IO(`&#Z43nwfo?BdQ$DMu zZ1GP3$93dNjYQ@Bt zxL)iYIQz(zpo>q4cSlV%noeYpC^Y*aWqnZMaegW^89cZeWl79hJnbYvfWjIT;KC-u z2Ac-%8XP7`UtGzde&YjZLRYiR&tudKPEPk20fuk!Qs#wB0uUGe6|hPf9yzg~T^@`qn)C?GTqeLCjsv0Co)NktCsMv~7IkQ$Z(7Jcwy zzr(=7k-HOMamsJo2^k#+|oHj?Qf>*oAWc_jDE&_f-)m|e}6L#7lsh+LLJuOHN0zd?RU zMVNH^Bcb35#~w0-c3$STaub={_ZTk~{dRz@MsclGyU#zP;i?hZ9w^{AP9I3F)7S7T z`P1sdO5|bm+cAfrD_Scz4W4f6Z~QE-6_-D7>~HXC`5kimD2SV1!Z~!S;zaPLJw#tu z_m{Q%GtWaH`Qe_8(CA#Iu&$P`X3M#pf1W-pL2zTxl_#_97Gt^aHl%gCx2dWfS;c3A z>L2(r=_!C`4N}B>`W!QI;-<6qUA-Vkx}M;)d#_kUy_V=V&|o5?W?xt`un6Ah%^1BM zuLBJd3YOmc{og1sBonx|jdp|EE-(8u-Z}oB@2a90Ue`9bmuCzf#=dLtE2ss(UcCfwmTYrT;9yNQS@3XI?NNAC=F6sN;;SQKyMjfoXy$l(#IuNZr^Oxyx8kRr%-{@3 zjg*(0sv$GoU5?n$*`0HbVe(s zk8CWOtnSakUhu&P1;;%-w!l0+e;r+k5vgBuw>zOm!wcwRy_vy5f(~9zFTOA?#2+Fp zVV>s{RjfBN@6zB7!D=(^b+<{a#s{$VLGa%oj&;Y;-QGFzMk@xMY+yWIv8jT6Vyo`Z zVp<}pba~&P`UW57s#Kq{w>6luexR~!YN%h$;Y|=0FZcmwQGR-3R0U!Ly&ai7yx<>NJ*-daevhw)zxPj*+qdB2 zy6paldM7)2S(WPd``!D?pQYfHOIkT4HY75lr=P?J)4e6{)cHBjy^F--H{!^;5X*S` za(FYoGFXn?A^(1Q6YXuSG8MdC<{cay2(qYGq1D5eDo}UTnL6RB7RCsv#pZg)3!WOo zS0lKFL{CHsTjczdKtWmkVz<&LkkgmOwJ`6Xu%)77MsUqtqL);NCve2vbBDK2a00hQ zepx-vrp5tQ5Uu>o9sS2D@rt`0A~1G*a&P?WneNVTDzR4|YRvv(fXn(zn)lb>+MG;$ zAYCzF3FwaEmmOGR<>`K2tv>p5=pM}qB=7_JOpLENo!Hb7ns5mhQ?bR@;4F-{aMsu- z$NoAL{t@vxyEt|qskZd(@tySbQty${qUJQv$H4=O0&!-l$%A(f>2EsKcOba)lB??{pd^gqjP4I|$tn%^SVrg~nE_Sx`)$Hq}T`Y{%EZa)jG2`pLYhT`9x| z%!!Vr08??<#JO-Xg(o1OCazNUwTyOh+CP?E9uO?hetawS!*p z6@wobNW`pWd@0JAJMF>a>5G+RD!@bI3*wa{1!DdhTFal`zB11uAcc`%^D8`1MW(zr zWE{b1??Un=frH4y9SErn{eoAjt~j1GFwE+s24CF7z%M^u zELtMHn9-shpG!`>dk)B6B<^ON_;7nre%$5-zt@aO_1MV4Ph-IFM%CxURYT2co?U%` z@DJDtyg=Yw;9ddtfj0=&=DqavOizPfZhYG4P~2W6F%lzR4G~5^ zktZ1^lKe8rUF9px3M9X$_L2Q`PKaMMS1lZGN$~udE5ap`tEv-+M@rI6W;dV7J!N03 zPXsy&8wDU%7>!0I9z>PaN8Ba2b0k4Z=+hU$;|CuzN?|y4;^{sWi5(-69oz<=HA)hqvqRm{Z%1r`9msKL%w;bg;R@j|2fa*w%4|;jD7bKd?%*S_ zxA%(vv%Y2gz2p^=*Y!L2VRZ#IphiPytJTe~^O;YRRssXuDtrxATmkxd1Mt#4nX_y0 zfuq=&(-SNud|=JPykw8`;2|>y*d|f+ZT%a(+TX0jdGlVQ{K#~=IKt5r=lmM1v5)YA zhlq~~x47uR1>cJHK_wTW0nz}rWWV;&s=lIQLL@ARD(?8dR!|djB=~dNO)(Kpf`?0j zN6Lgx)gFMd95^Q~L1tBByi6su*9nMOAHCJt3c`17i66WYR!Q%G ze@HE#Pajy}7c@#>XzqzmrdQo9cT+DeQ4D26KHZBH^ZBrH!t5?YAURl0%3LI0#>F+i z!(aJMkx1ZuSO*_w!C(%^Xa#g?zTg%CFDT0#E<$j76|c}2#s&Pl>Yt@M6@xwrpUfTT zr5Sx`PC4}0Nt9ZzQ+nd!CX4~RWvCaut2JvApEg-rh6QGFgcLFEa%85Y-dpT{=-uoS{-D4_fDDL|H1L#Nc2$E$AZAnJ$_JNK ziF&^XGba3$0sAVS9Byr9!ELP(0DJTzc@P)*SFoV?pzhbTvP$02|=i)_Cad{v8CsnLFl{ zbvOQy&=B$6U}cT`YS?B&WB2Ih*oMHIN%jPn@S8LGJ0^}oqTr<1)&(ly?tp!>`l`pOphUOz14DxLA$yt)Z2z-nlsxuo$K^U_6xh!Ixq{tXM?A8M-WHM zoId1Ewix`Ky<`lO1eZ*#9PqgiD>fI)XS#!{=wk9D?YHX4;hUAGE#f$uOk=pr$C1T! zK1Rf&GJ^@a@Ph*9_<2DY-C~rXGAV3 z6zr18_t_=AvcDzS2Ft|d%K1x9%2LA`A1S-Y4DHo^yDvHqQD~If5ysj5^i@IJ4GyEb zhCUgPBuBVQzZkEPJsNmlHn7P$jK(VpxLVST*nX9~`l}5~Zp^zyF`|(%hq0zvcpLff z?Be^u=`a{Ko~f#eR5hDFMMqvJjQB%vAw8Z3iwJ&?Pep1PvKz{)+bKP_@>iey46YL$ zf6qtq5*>W@?QFTneeJdNt7kyMon%*E7TTeZTz02N*9ffJ9Iqa*@(yGGZJFDD!kYTg zTS)cu3yhhDLSZ=+y6Ur5R$4*2_K>EpRXX_9j0O1Sft?Qkl8i5WM_(S$5BIyR43%Je z1ytRmIe;W#KV!t&&3OBfH6_;@w8cWhGyFKZn8U~0?lv#A>z9`O^P2eTB@+dBviX>8 zs``C-esv3NAy-3FuIXSJwB#C%7T37h>-p!|RByz3P82+IT0I&ta0c-3bb`Uh4@VzH zXmx_SNS}W6@fx$Ll3}MjghUg1h(D~TL5SLD^Itw0tC?9GjxuHR@D%vO^}HE|WtX|Z zcG_KTa5En)urMP8Y^eVoP5S(g6dYF`x#blx;t6l{*uE8(?%}02taT5^4se+LsO=oK zaHx7uUU3=`7(epfklw$qHY{etgiGX=*`#hdM|WY6NiOD7`5od*RL>#Wl70wsMPxS? zA17Lv3SPs=NQjZk$8zc67Kh~pbjd=*66^O&e*eGF@y*C7wnhJM!iABG;Dpe~y+UfA zZ2K+0;<^BGKfj+KR!40+c6~AXWwX%tpxH%j9(yz#Ka$&^Y6UW}!8P2Q;ppu*TcBTy zFXjQT1#7v%=p(n|<5AKpAROI@hTpi7co%w48gbM|^`?vY=#tabaC37e@i+_z0ULs` zE{$MD%f5aqSQbBR3K$HCj}QLu|A$h>BXC264w?SZ?h}G0G?2llTF}ylH*ao^j|OjU z9v_|HzsJv>@V|Zh=jhSnCnryjANL>OhdzIEa`f!v+2bci&-fdD?&$IH<7Y=tAD=wr zNBG;5het`jb0)#bwwfdAGd>g`5XPU2{f(5s?r09 zJ6+w3#uIW6B5B5qYlxH?X)@<<6aK7&uQ7GN|L`A>y4_|u!B$T&%sZ-@9gVJ*dz7Gm z{_eXG8jBF?aW|0#bJxqa$dUm}J@nmYzNDuuKF|ix6qw#qLsNYLqnX{YU`+GxBzH1- z@M^YX!7gXTlV8nFEI<4p3n}y7?4KbYdttir1@5GtT{~z@3JdMWXuSX2R>fBoGEC9v z5~v@}F>4<_0keWupcH+$Sv!^##2e*>c$N8bB}VB;jgp*(P`qy;7-Og#o&@BV**Cwh zN|k=ci}@0m53edFYt9QgrLFBk?kc6-2SvMf(t%0ll74^JN6`Z#>hf@#yk4`vfgrzh zQKa7wdN+w)hpiMPL$AQ^6;|BZm(OBxW?QZ{JubJ{Y(GOK0K>6G7{^#)pWp<5{ZO`c$TK8=&>_tCinJ-8`5nX-V7!;7NV!$bf2)6|LJ zbTOVzVRC;#nnbX!(J9-(UauC2*T3(>6R}M~1^ve~WH3$E3ykRcchckNnekcLhfK$( z(#o`^x6Rd7J#wjxNTBtRw1KId z9A`a1R<{1f5BH>iu$PxV!!o|t*ndTxlLjf8^T)=|Fi5|SBs4v?U%kq?V+(Q?CQLi0UXyjnmg2=E8wVF zpF(kgo^2nus-F?lp{yHT4Bysl?~$~_R{gg<8ubVIQTwS6D+YpFcF&eCL48P^<~9hb zRssl$pr8eJ6&v&!r`BimqhftU2kwq8=yV2kxx1bt_TDeG*3#%dD}1^r^13`&2%f1b zWn7S7t$&Z`vHuX!;tnm$Vc*Plg-DewR?y@r>9qEHH0)%1HvS~;PRrsumS26pOQ zm}svh;uS^o-#mzZYjfar7da}g%rt2yH@)ehGn%YUcu07vZm4R>1uuk;KO!E4g;0MMxI_RV_AXcZ zjXi#7a+`+}*}C`l0cq1#m zZQF>)Nl#q}h7=vpQ-Y8M$V+{AQ?oHPT|@Wv<-bSK#t05) zw7~Wne!tD*e5PWP`ye6AvK5$V)Lm{h!&32f?q`2x{bC#wkHEEnv@yrBRZwJfF}uRc z&?0KcgFk!irjq+o@?`+dQ!Wb*O=&RKpwDG~&J2>`_KCHl281yI|pMYUVHcWc@ zhB`T$Z$x0=dd=hCGRg?)9P>JByu%rmaL4PL3v*C`?TU`Blw(Q;79S`RXBS`@8ctfx zoaY}~4Q>`Rm#&ZO*`q1@7nz|uW{sXnf}I5O0pI8djg|36n4yIMIN&=VcNr~Gw7h*p zn(vU*eTn_R=SRaK-i!ANKlN-wcu5vL+5mj)eAn`cjxbHzG&G zFudVu*jL)UxOA~!uhud|jC;kG3P%SaGr!gi1}*pfCC)!6f|5LVdA|FC(iD{^!6JoE zgpa9g!7G1+c6wNTr*4b;z_!q*+zAO>P3pNO*1*95N$+y5vjFf=uuNeWv8KzSkD; zdIG=u&WYDI4+?+ykK$kcBwl+L(bd5YK#kX5pyKdi5-QB;fz>@liF3`mA!4Uiy9 z-Uthfd^zg;v}vljvavQzpRT-7UJ~sQvF#ulalQV84W#%+oo3l4DpE!gvelGh!w7<&~HgA{CCdQbjs;+`M za%#z_(-GLj|9Ugl+GhCH=&jx+3KMhYKX3g7k%bw2!{He4T+Wws3?|w+Ki7Z?UBxUq zF!{rEB*T1+{x-)%47V|qNcXF~p`S6#UqcL@^^b>bDlGH@ z87v9s;d~k=ApcT9&-2jaH>n+&W=G>M_Rm`X#zSK@wcILR^Ts=J7Kn!*Wc^QR_-~RF zgc?q<1DrnMNq7hjly$~=VhG|_yr=R5XcV5u`Gqa!{U~c2}jGkGX z`Il=%zTVr#vRfZj*r5;d)=N=w0(uokI9^L^P1IoFMwUmOvZ}bl$HqZ9?QvF`e_s#MXr(+kkQPtMo{8jxD`wcRBW_t znaFf}&a(>3ZfCjbKtc&yaU66)O@jgm#zen|uI&N+kSF7=g{CQiip#4Q&P~TD+G1&V z@_D_QO^H`FNj_maZrp=CU!pW?=$$t_FC<(%Xo& z_F+rgl45M~Jh7TAebqkTD@GhxHS6z(fhfJ1=wLTpEFPlRTF>B#{kCCnoeonD_AciR zGEJO8gDiJ~C#kib<0K}DR{6%5VKOZR`!@QhnCKtr7sT*F61BQGs~Bz9#o>uCcUusp zSBlc+R>#H{$CgFx;B$glUJr*A?228K+K|kILWN66au9Q3p;rVuIBfl?$l7l@sT?>k zp~}fEYhKJO=oo5%rqj_jAQG);GSeVTX#XVa8wqxuj$?$u=~V+=pI2BI1Q&t~jjq{^ z!}dZyMYPHbZN6JgFQIV5qr&<|{bM(49W?!$kbx^X!sCECqZ2J z22}=7^1IPFZQ0wLk5Li&qQKKbCvYQc+(A2W+)LkSHPVy^EB=940f7zolB=k z?m_x^`*FTLMtU;|PRL=Zt$oKwWRu?T5NC-Zx6x{OVHW5}G;_Gy@T)hV61wowx61%I`~s z;i(OJd~AWUe7+46bWD~$le`^yL3-l`JyGz9!K^UQUBiPvbMPDWUx+W~w}@V^C^8Is z1cq`xTVvD#5;pWQQIg1TDV*dfA2rY>Rs?D%0-f@*4~NbT>`eikIM0N%(CnKBwMqNZ zYqSw_%+=NX0DRO!-`K#()@)ag+#qI$VI_^2+bUIW{KO~Mpk*xOgBS zc{6T6-W2^g2Kpn)>H|~?=AEOx67Uh6w6_*?19%N)0iC1zkh#vYZkNjxwIlIykW{xh z^;Vb9pU~W^h!{P9Ro?{8K@dUy|T471Y2myOJ-Apm8N*RylD>Hs4+$7nKhjF0c@ zUa6}~AUyCcpnye>I^YQSiiVyYzN7I)YYX@k>lCD^BtBu93MN{W_Z+P!{)tJmB9B71 zPzBlHk-VPDX)(F+=19C%U(5Ot9 zE(z6wqziMei)C{845)@|Vy|Lkv3ed6l@u2;RVf&ncUQz!w zyh=DjALY$b$nCPnts%Pp38T3EB^c3KZqvq+;Y)9UWuj=MC7Z&Vv@B*^5=AFf{^ZnK z*p22o!Mhan3+-wNf(_7Af}-+j>V9nvS%f9#B8V!p9-`tdP!o$RFo*vIXoyb zYBn^=outNvP`nNm4gNS+x4O+$;%zQ{!y+nj;@WdM3x}vZh)r8;0j#eZ3=}@T*!{qQx7BYl3FTd7p9dn#md^DSuO(dnv$xdhwIVBK3q| zY&7&x)xwq5x+vP%1xm85_-|>29!=1q-SJNzD_jLngF1q)2;GI$(;Uj52Dh))??2F$ zGVVmZKi}{^wK$pcX~7^FS0k(4~s{;7hxH3rXcKqSj4Z zvml~V*!0v#Kn9_#@VR@WxON&!Sh+KCd4#OO5v!6#@;PR^E)kmR5!qTF-9 z9bcyDDq)&F_B=ggkDFL+_&~dO@yhb)r>{*wd<=u4!H>fg8<&rS{{4L zzfq6M`Z-vDK!S2P-2yUX!!o~qO|SEKVx7A6Hbgq@QW?(A(UTgVFUkg-5qmxvo&BDT z?M7pb0a}LWWhGnui?#nTGTXEawX8cd4;y34C85{ps67&*LL=a#*X)N`pir;n_CJq@ z4wB4Kl`{AU_%=$X3{r0?f)}0M%JNm2wzGt@=ny{PAvB)c2bS%ibxc?|RgVwDf3p}B z8d;7PpT=LdZ~@Wzi3k?LjPXKcsL2`Z>Zhsim;ofL&}Lw$q8M6ly!st0pj8_m6BmX< z?$Tf|xNRW}{n22cZonUsIgK_nHiXW49gILgHyoy(;AFLAVE2zJ{J_vEG#%&1E>y*{ zI@O+E2bb&0cvuC%qPt{qKMq?nlOxCXsnpvi>CvZ|mMx^h-0Ryktm<({&2DK7L)!gl zy1GjMI9;HzRhMEjrN&!koBrhJZ2F_EC2M$d=bNy6Fgk}#QY)zfi$=9BA1GBFKwJ(1 zFSLf;ADYI8R(H}U(>Pts8BOpelC4`Kj;w#tp&vdwLq8vbZCKjHA4k9 zrpT$&-yjxsbf$k18e=U_?aQ^G)C4NEQ95Fq*60dZC=+NY(khaTaqHT2ueLygy@zBk zGOWEIg_8ekH*~M16G&(uAPYKL!r4Ip)=6^&Ws>YV0uV)MUG3#Rpdh*h&)dsfKu_+z z>9B;CP!OdZ09EymfS({+FrVx&9CC*>=^$+>F+T?1qe~Uutx)sb$u}>=W^m5?A+75P zqJ4BUbye2~z9^hT?KfnX{^aN4n1>6+OYwEYi2+w5AC8^d?HI8#-I7bb8Rt* z5CN!v8+@L87y~@K;wDD#kz)#I_j!GGb>PX(<21*Y{p;SNwo=V_eU6T7QN3eK{A_R(9hbp zY$~{q4ohws(_1TafO8_5Y76Ro+w?rmP$tiZ-Z zVMNZGji1J0`3RX%=G(TGMe`(u6eL1`+P}kC$?{|=2kbWiCbq1=br`5g z?sSb#^&P}c#7Oh2hemfDq{Us^_JkzawB=x36v!f8r)tq&DZi`<7z3sP=f|`QI}1ke zDk0;83x9&L+Z8+M4;Pv^YR23(X5ajm3U_m5W?Tb9=$B9C(w`Ysl^Jf8bt}mBkGfv-0#R_84b(9`BV{<>A~)1)n`|&omp}kH(G>@<0IjJ zT5tS^5`wUus(&lWVs7ES>g9JxFyYQ3mh@B z6eK+(Yn5C0()M{zi<7giRx32CWS&P-*Fg;hwjfmDC;TK`iX_KUi8xG>FoO-0)r7tiNoD5|@KTuEtlUaD43=6ZP^B^BP@gp;x)+fK*U|f$M7U2(3~x zZ0*~M-<-eBVIH$H(FM)>7+N7U%%U7Sp-FkaF$I$}(~C14)gzV8uQLvHl}Xje1^(Rs zw=P8S^jl1!WrXgd%0Nc*&Oip{iW@#7?(N9=aL^0n!%()QqEGlW?L*^C7Q$BmYI9PA zKxi^N!BkB(@I-?$khb(KrZq^~@|dR7EKWv~%G#k7*np6oRyeO+&soQ9?N|ElboNE; zesnI>@%xt72A*d_$0R+d`R~-URPwiLI^&jb#oLC)Sb7U+_o1ZukOck5^rQYZ`RCz& zl;t7?M=a-r70`02*Pt=~^lGyLwQl+j75GxbYG#cvTOyDy`SrG)qo;4$J}A&xhx0g9 zTSqFj^G-P{(X>&5dl=fkWx*1s*S@o*qiae5LsvJi$f{9|tubpUj0_|^0;73eN{4&F z{L)y4o5ADY)7iQJ>sX0R_I_Ie!qc}7N{1XEc>sJ26B+8XyFkH*Lc{gu%o-`uqxLq&nLHxGs7q^X2{K0j0VYeS!vZ`zSy$! zTDv;nwEk?dT3)52f_(i(t+#qlp@5OeT2!yA+?vmO#dJT4B(l@N|djiEl1<+Bv)_AWB(HvblwV7n&bnyZ>2ipFJ(K$MJJwYdr4-ZEupnP0T zS_RnoKt>gRmeYe7IuqbGOK{-+@|VA|WzK5(*V~Qz#~RaOHl}slUnc7|JPp6F6=q6k zcRPgXHd&&+v$(!#3pq0q#%r`LdhqaG+byBMxM7sGT%(F>I8ClxQxop`jZV030ryBt zc)$|0t+5MU06?-_6l*!_=Fz$xic+i}0!TF-nbi$Tro~vp(OrQklf+`BB~z6|=}iYe z2~M^g=VhyzVxa61+}nJcZie6=HuGC_FOlVDhlm8l%`0QaHfN21#-;8i2^!bKbfnEV z&d=sAdb0h5@e60-NJnKK_h~B24QWaX?(Be;Sic2P*pEjl(6n-JL~YJ3I zqK7@yFEB&G{k@ttE?*TEM2sCQmnRuFtXdr|`?9&SOC zR{>vmyYp#U$7(0yQMj~GlWyzIzq)v{LUR+$lhCHsy+2<5dPcv={UQ|W{AxFKppYw6 zvl^vEbq)r?o3z^&3meoUi;VbFcw1J~&Acu4%+)=NITZO<$oJcpu%Y8t1zqjif75t+ z%KGr9AJGz+1e=>NT8E+4GIhZ4v=C?nz3FqD0L?GC%TU$Mu8=0FXMp65T?eHK^vlvY`fC7o}KD5;ZtNiMt-ZPD&VWP_G?IKbd)`KU;Oe(cy&sYq)=IVMy@!^QKp{ zK|$_xv|Dko4mc3Z)$WimJ|C?nI~J=#E4k-*_I|(7^VCl}+DV+$AAQ)PvU$Y(^YG10 ze=tPK?ZlQ1YNH}E*SG)hCEOUj82W%l;sPwk&_V6A`Bi!R9qwuGI+h!}&(# z#Jl7~NFrVD!m(sQBKT4j$jkNX9t--__Q%{)K zaWWc2#fSM;x6KcMf!R1HNSckAk}Rc;0#{$p7Hfq)`n*MUKT$;xu;kSUSBz*nvf~)xm4( zzDPZXtpV{0=;TOvm1pOV$lhzHHm46tev1eKjwQTgbSPQ&v^noN(w3B> zoPp4dvh?!G0UcP+1~U6_^fT16${$sGOU-T?16buw02ij{W;NX}#J-)+ab?uW5D1>^ zhSLE+-uc-F!Gy*3d9k!3L0_%*=+higvI1jh4$Nbh3O8k?UM|b8TdN9$KcTs$SQUuh zp3{BB8(9ZI>#wci2Kc2rtR8}OVD+amVXc1*MemJibpqe!XeI{^6jt zJ)DUQ^N2DDKbk;6*d)AvPS_x(`^Mxz((ohO;Cu(O4#9`<`VxP|zC`77AOPL2=2K&| z`zK2!iH{a@Oyk}{y2x+0=R^JDdlT&p%jXEbH#C_-DQu&^0lqN7pg5hGb@J(YOpfbj zis*PZ>#fIgGj3;eb^)=S!ILtfZpo=3<%xaD?R!I?&Y_2J;N5A}uXb2CDvI`rERuLn zkrW%)nrM7Ib^#iXfo-~13GmJS7DUr3NdpPjig5!5n~1LPij2;T-zCsS6>VuxwR8KU z2P=DHg=Z^&L4e|JPNH4n%2{r*DLBP2CAk5=X{DQyFcmk$h<4%|Z;mtLR>#>Lc7Jf{ zuJRYDLBrbEHm7&e_eXU7#Mc;6Z`eLR#+9L)7q;+7cOQ%t(gU21G8a6QG_z@V+ObMXhLm@>J3eLM02fA(1&0w##6A_<5D zW{@Z-4KYK`f_apcVR)FoNZh>oMow!MS%_+GdiA1g2JbCpA{a@%W4zV7T&ytk-Z%(b z&T#K-XS0vfx#6JIg_z~L)jE};5OPkX9T5Px7@mtNRp-*y+eKp@Dt6d!VO18a?Q#_@ z-ONi{(8K1SfG+K&3tWw_;U70RU{2y>u7_I?+d4*kMEBbk%QV~$IECxoYWErf3k+By z!-q(_qR?Tq-fePl6^>*IY6%q1xo-MS9j$nd+)?`RcJA$FEX?%ntu#UR;28+_*K zf$ZA+@0=<2Vq89TR@d9((e3a>owZzc^uA1kucYfJdyYmJ26hkk2vv0ZgXpeha7TW` z0lv-?(+!BNOwZxkeFjEyIo>a*>KCw8=FoTcELa0?gmflF&I~Ari8rO9_a_LosZ0r0 zL-5trb_DrZ0uh;!_krUj{wPy9#tk*csq6#B4KvE0gD=0`Z9ZRa464|1L#>pSm4xh0 zltlE>A1HBaY!GF3?~vlztLYKV+@ac$2CKXNGP$_RGa;^3e>`mIt+Ua^`uxH0c?#KOc55@@1U{g@&ZSDFTED{O5OI z&#(6DsMfyflqTs!-wNP>Gh3JmBiaqwA~zOBcQfj#WQs9@%IGpZ9nI%fioKMuhw^E% zcIqoe`BZo*>A^HoYGp#BN3)T1Vr~oQL*dg784>f?f8v$+i~W3o!9eiK4o?K#pSxlW zc;*RTvO$s4u{DaIs8*e-AjBC3VQ3yj_3Z#Zf1EAWM{g-P%z71F&=||rqT=fD@!F{D zQ<(gGYtN4@nh(1Zwj2g!G)3NuaeNR+D>zXJM2fMJH4LsVDZ_)bsYg@JLUBmKpNGCs zS1~-$ZHvq98oPsqcZn@`D{-(rgzE+N6Qa!+oED)tF!BYH%vLrSUuMX>pPMgwn7oD6 zUKKo34t9Njq35j&7E^9$71gg)v8zAny#lBL3POCwN>-|F6EP$05nNX@FGj}1(ARA0 zu2*X#6eXZ9XUE@NAic-r1g^}DiF_GzWHT<7umy!TN?(P9ei`n9ZT4n5Y9N}BkeZHj zIxCQmcEU^vxh1GUvxuTel#q^aF+e140wJv0Zgn%CK;whqz&8^`yTRC=sM{w0(p^zG zs9(R`KM*(&`0SRco6$$~Gm27SM|%vR1y*@Mp3V$9P3yQW=d;DMnwqPGRun*$IG3pJ z1}52Xt>6%R^T3oApO3baIVmBRSnPuqGfdD|Vd==##ZEn%>`;+3oDBNZqn|L|dMRWT z91O9s0tMyM5PB*5V)~OyIGFqVXtl(ldkPVhzR_3;22J>vS+e93rn zw}Q0FMCn$%g2Gl=hgAU^b6$)uQu;~>OKddZPcb-mJOMw5ib|H?4&*SqmboXdanMav zRPZ2b*WNOSi~dK`xBXjd3l+lF6<$n9o!U-al2aO-a+>(L?Sj`v_bKlh=3&1B+Huff zj0is_Xb!_H-~U)uPOuHmJtpc=_tziM;h5w-tHZ^1yMzIs`<@Kva;5c}LM@k_p=0T2 zJlVY|d)CF262(0B%o>l0SkFu&MLu7OF{|Z@iIZU7odSFAU5~e(ya`jcK*atM^a?0s zL(6MH*eX8lfL@ztYiZMAa4Sq}zlsxIJiNlzDv=FP~$XJEtge{KN zDu0H4&$))~>$t~3^b1^<{EHB!ZzHtjr5>Pyq(VmoWM!(_A-z%GYgy`?UbHKag!_L2 zVWieCvGn7c2hfg+e6vAov{c!P(p6__{PK2*#wL$!4 z|GqV9fTQe_Nmh?4d&@Vo<<;)mG(KJF)8oHQ?N3Xm z55WhT&us&aT5V-&z0xr^`AUGLCXSLb1*Z}*;zKKau#b5^ggZa`hxu&Y)VXg4XJXx%!%I{nll3Oy1zcXj zVMOK1cw=VB)g84O8w(c>@hXVXBLkh2NE1v`zMu~N@i`zy491-W4&Mz-# zAZURxnt8lus(p~S7)~G;{lHuz8XlamfCo+?B*v*J9C0La@NqQk((UiAOp=}=y1VU- zkkoi2)>5>7!|TMVy#4)}#yH&3Nz37J+wEk$1ka0*6Ozhk2EuA;i;6{#Ku*3L;E)xb zg2t#jnc@}ZxJA~P7GlYt#QG+>v0thujMJyTvUMtlov~!FkbG47gD@n^kqT+8YL6B#R5DkBYHiU_k^3G zuVR+Vde|kE-f&5SEVN(j5HClW==b-)!C-iLAlBLM;~5O|Vx!1@!XTWD>2XUYg8rMTg*{hXh|TAdFX{~ z!+G{Xh1$+fE_s+jke1*7y-LW%mtQ;P|85zQ22A0 zJr@FZZ}*c4+B076E$QyCYbj9oi%<6*_)OB1y(QvQ=UC8wSK+2~YfW?MOeGT-I>@41 z!fB>}rLQzwd}hVtLrsOglIX+i&bF85}3hCR{0YUuGB(?T2hW!4Tr4) zpa+r`5que52Kc4#eH-4*Bb9-UZdZbA-?ZioNmQV|>jBO;+T)xTsuK{qO|kIc>73*L z7qkD|ujqN8`^QJn+86VQbpB3-Pr!s^9EL^d@8B0=nc)VT@KWPSIGs(CHAXL8o2l5| zJ7f;iHweE07SVUavl3@_Emt1B04?2zpRM;KDxWgxcd*LUtbf2p83sZdoKYKAq_i zpsSEJTrP|1kHPdEJftd%gC3P~F09$NBUJ2LSK{#9DC=4%f~m}&A1|WGpUrZnDx{TA z3KER6SZR2h>g|VEV3X5fLnlBvbdn#NU&;I!=6g(ppDBKQYTJ8QZI5&3kIexMJ0zc` zO*uL4Lj3WJgSo1O_T?L6Px_}S5_NCj1xMX7rh|tu*w991$qR2o|I1X7V4v( zXLBNA!o2-@|0tX`hiMEEm2R}%*tAxsfZ6FtVp8%#b)w|oFQeSzBG)qQ_|U$ zQ;u^QUy8N-I=+qZdcMxZg|W}37mHhBqwIWPkbKSNRs2xp&-v;gz(ZP_B-C*m#DyL9 zn&N<%=up-v1{e@8BSVw#lc(u5FOGb!6MOmcKN7H;P;o-q^d>>euP3k3?FB6tW%m`) zFfGWIvn$VJQ3Fz-dAg(=LCyYs6qc3Tjygp4#&mj46SPHbY|nYf9fiIqoaTmGcLsx_ zVnLg*7j(#3G?y)^ShT?-DZi%rKOaf8w9-&TpTsd#Cy;dF}uV=Cp=|a{wTJ<#n<(Sb`!fv{9K58ZCY9w#S*m% zA6~tkN;Jk^uIJ#m&bIo2E-r!*ez>_eJvI3A%@udMO*+#{ zVAiOUd$2`8Eb30B1>X9LIbvER3rZGJ<>*z!l0c)Et3Hlu`l6@|T%d(~f&iC#RlQy; zZ*`Ar)qu+*>IE7c*GKa3*sbaO3cy$h3;WY%gZnr@aHrfO#TM`l{$!)58vLQWGy_&* z+>Ad9EkV77A&aj==e*4}*WIDG$0OKdQgK5jJr+nvX^!Wa+oj^&>=tDb|7!_sN8=58 zZs3|-4$i?`HW-Y6j$hD>=4G-9+J^Lr9yofUJ?4K=XJ-Hoz0nk#B5GR zXTM`z34t1iP#l+5;E;;}56rweo2hLMW>;vWXe>o%{Pk&^$Yg*F&WR-#bw9|-1f>Gz zQWUm9z}K%ie03@Xk-D(2@_j&wba|RkgD31Y0u;grfhFTyQrTRpl?rl}U7N)Z#K|{V9F0yI2#gUBt*HDUN0BVs}?A-$cO) ze<0i+q%y6pG|2Tl3c9f#04m=MIiloVT*Z*&z}zHOtwD5cHtF6nRB8;ll=&J^ z;h0pZ+=*x=iX?_ktS}}YQrrYLt}!%44FD(>9Y{?u1OFfd&+sy_;VfRo>XFA2N$z6# zh45}$n}1k+oGssfWYy^GGjNvPr80MHgXxI-Eu}-+^Ni9_L%B%PnSpMMW(RDS^Yxm} zWSSEy*rIM8Ab^s1%o^SvP14r6UM;q16Lt`3#@HKUmx^q-9R~ovD#g*+W&1O1Xz=Yc zMz^BlG+e8&p|c|9Qdn7Hhj!`1pxwFT;qS(YKv_vE)h^&sn zX#!yXBZ>22bozRJifO0FR}e`DLV(ugXe+$kA@6)OxIx!%=?NcP=Dh9hYsd_>k6;BYx#}TVxId_6=pvo(p9CduObha$I?s!?xA`n^kH|JdB z{wUpKMTpvqZimSya^(Yk#C~wNaj>m-_5JtIJnUVXt)C3k6Z! z84XTm#|{*c#U`&P_&k=A&iEWOx>^Eb zUCz-j*c9T1?ReVjj>hqD)qc}iwZ$cb`0L2}G&};PJh>)C$YgpuzG~O9Pf22AwM*lw zI{Y?Fd7C{`RYpJSc8tOrG#AmcmfHI^XC&!Hp}0iSYwIC3h_X8l1lT6G7rch?3zIY8 z?2(4F6=%QAYn-@l+VFa8BZvm|YKfb~=FUOp+b_W%z+4~noix4glt6c&aR~cFU`&p5 z*r|_=>Ryx}T$qEfV|b*bo^6t%l)S7ys#3__&7aA5(mN5KJKTAXuE z?$=Jzj}!ps+J67wKkNc$K=_}DQyf@T~kv{-!&=#++Ll40;yo1|)u@&*8(=La0c_+YTl z-otZfVg9djYH2DvEv-9wN^>6>P}i1Y;&O*11sr?rz;7F>Q2Pid8?KrVVl>78UeU@m zQc_fJ5RrWUjArKt0+nUL zu8tcq`2AGI2maW@q+4{{{O8POOO(ekwR3U#c!!-SlX_Ad-VEHev|bG;lH_02WVl7V z!vbrDj9SJqJDWTlmZxvOEGL80$xW^#{Ya+%!m#5)LB**C&bZToadX-dAnA(ln`l#J zj8`rV{mdM1SuI9{00{I2RExBXkkuVxeC%5_)^14_-Oj0c2R0oD0XuR*dC;hDfIq$$ z!{jPRJHT?T2W(N%R(wG{UG1%gCrh_>IDxaEVCR+6=>ZmyBf z`%+ane3f)4(@w0^XsA*xX=BFRQsLrRgIKz0oML8mTpysdAMBtE@1CX*paKW)-)JL& zTEB@wtl-|rG)7oEi4)?}d%V4k>tx^9DZ7RwX)cdxuaT@8_MVk|+xZoB{PN0H^W7P! zH=t93xYp#ERTH%rbfu((je~OSw7WzOehyES^c5(rWCaVnuksf}*Nv7(kddwU`-r8L z+&f!u=hAyygvWBjIv>WY;~1jw-TkqaQ%1xijprXf92ih5s*5z(ogH?p5GAk*gtM17 zyUWG+3XBZQ_%W^qtrh0qR#Vum;yI2Vs(=gnsG6VaI=<}51_>>+DGo4f>G*4Gq2lqH zc!-1k!Xc!(kYKN&^LUL+W!#^NoSOdQ^5&faDkk#r{{tz#pdGC-`d&2!Pa7yM8xwRU z(;?meRv=6$RmP(g*ZhoD zn55qO(Ie2BU)z!fSsYW>AQcjN4$MGBIR-oz@J)q05@0;p^laUc802OI6nJ3@B|cw% z*~ZY1p*t7~+r9WK;Jpl(GlL36PcZ z${$=1Rrw1KVh4Ui2u}wu<(>dHYWfK8s1*TlZ{Q5IodX!$E?q!GG8GH2#0ddlxXtuB$w>HRBLj2AqgThzSXH9$bkV zNDRSXNbH#K5($@>1cFRRt|4E7xK4r+NUlhDha~r3Yp;Kuea_jZUNho`?;7J-wR)fZ zTzkFt+G}g&vC%fsVOo>aTEApRw&fDeqEdHDVgUnRNve}GI2)p^Cb5ed@pWbq0vqlFkyNPP*- z|Kg2@Lovnrn>XTkRkx9hc0q5Eq<*5uX?DA+biruBxelrD7FRTRg=`+{t%y4cS7qmT zCJdu2Q+(r&A{#AD(p2=J1KW& zR$`z_=yf5Sz$3DMACH8o$e)|O<~xJz$PIDqwh_Fi(c#`Q0^640pS(EX=zE@Yfcv9qi$`>v?dLhv&{f!eRZViUW zy@MUR-Di*3hZB_WhJ6q&bFu5+zt?k`00tmzo zL+}_qt5i;2zdjp&#ZYMS^QQ69_O`xdx*a^ri zF&;&!eK+MkdC3h|Gx~z?39<_88Wojp&PFp`u`J%uDg?+%NI0jC4BOIY}@TI#KyGE#CVzn&lqz+6`}jZSP(jY}gaqy1!@N z5$sVIPD8*%vxLDtir`!o4RT`CZgHD^S}|Q4Q5qJA{fPP#?WpUKg9j1?FdYzyc)6;#y?4n@0A?pcB!n(p zwdyuLP|+Z_|8%3xUe)3Xe}hW{9jKm-9ohFR)y7IHX2~oQPn%gzVrdRo?x5aKLbca> z+w%A{=&Y1zdl7v_E?&tqGa;!(k<}utSIXY=E)@sAbHuTStQpOlxS69^qzQx7gA9mx zq)L?6n9DlsHMf#=pH=w zD-R`{&>w14V76!9CBckPfKvhf6 zOjyz@Cg=^$rm<4W|E|#&DEU=!0bX`=5p+@`VTk#Bcd#kcQ4XjI;w2Do%50AWOpRy~ zbXYAjy$Giv>2_=23R9nVs;FN24$A4`4HQg#B&sXQZ~MrX-=joX_j;=fHAvgt3%3x$EKV)((KmqiURJ>OD0tWK4#Wawo>|8EN@B)h|<+ zZQ;Zz@vf+d-G=iwbzPaMP!iLV%aiAXOvN}jLyA!~HzH1o1GdfGjYB#lAyTH~pWDb+ za;)g16<#Ckv?{{vftdUChFVE_Mfq;rA2gF8gzmofwYT8ddw&x$_TcI*kBpF9VQ=pi zWE8$-d$8V>--?7fCC41E#UER;i~3jgc8B72Z4ez3I7AQ?Wonyc4@Flk7#kkgKg%8kpwc1NDQHSkj$f$&7Sv<2Pc7*G)@&=pf&5oInFdU z;FQ0M+2hGLngy9{w~C&=Kp4yeNN*#jO8BpBg2XM~X@Z=W*Eu^=qBP>5hz6!TtqA=| zvr}ymX1;)>cT`vknMiS;2yU60+%$o`fLFIj;vq^8tRkN9;e1b2U?B{#thyn`M=ecE z!<cQT2>XBSMGhA9-Uta4Xr_&l<#YI{tJxn~wgRUe4si|ovDieV)my+1_6a`Z>!&Cd4 z2qwf}gRgx7O#@O8SDg0YVHSQX4{b$`s|8}0Ezlh-d%-Y`6Z&2XdeQ0D>0dk^a@J9i zZrnT*eNtq*5i>3GWB-Heb+u3G^3Xp*ua=QpKm$`v;M70I{@ChmkNR_qMfme;zFSQ` z2`(Yq_qJNNj82m}JA#Ean|>BDH3J1jQBce(@^PM+wjQ4$kSmnSTT54viO@L6{KkT+OuhvW zXn{@aw{{RKP0^cHBn$1ierOrLjJ4=~4sW%qxiE3@Eg%hy0~Si{$W5O63A4WN!K>_` zD21l5xof{$-f&H8zqdKSReeOC9PYcd-5^4pgUF6m2We`EQ+HeXVA+q)m^Qp-%~m9l z_MzfcP@`JA8B#EtRE3E(D%kx5!PnS#L}WHUoQJt+67ro+bVIKs=+hcg+T2&&z^~kg zU(Wi&&zs~xTorXB!+0Je$>pj)#^+WW#kH>1a)k9fjf3x(a*@RB)s;Lvo$3ieM z9W%fr7mdU-s@t;JG~}a=Z(BV$WdVuJh0me-Vc7k2Gw2BB37@3l1=Y(3B ze#51FP0*;y#4(wwrkmOs3=8)=^pM`>BZs2{dv$A$>t8i>q0Sm2Yu*1y?$8ik)VKoS zPNlBdBA@21EhIWV1TiH8ACogTD)z+BKjdLUyRv?c~b*MV4) zht>4~EBO^C*bMje<C2j3j**`}?Yb`6Nbc;AlwgEmvy} z#q}Yt1+MJkipbjT`L(-G%O{I45#}q#Tp<%`sHJ*wX{3-yL)}n1w+!iKTTr4^u1OpZhL%upgTiSHA+qI* z^P7;i3el~2&0HcOnUBJFrmHvZHBW8ivSU0|0-ArkIZ{Qy)uOAr8lDOQU*sy6D!vgx z#MuDu5;Nd%*xSF_-9pk;$y(ars<*Y16`Sdf==G(Iih|uaC8T_2_2BAupRbL>v!Z)+ zEkXGmjqiJ4{Smwjs>c`;zrmb%!Mhx4TvO;Tm2I zM95u~U)S#Za zf1f%5SVW95z;D)2n~+2w+1v(KBt#&}z*BvlB*_yO(VukdTZ{@GUy7S7yQ#yH6iGDr z8;VNR+1}K-!rwmOruhuaq&T0Uzqo9xH!dvo^5|4wB;jICKDoqNPxmpqlBMSee1iad z2C1v#An?V-8RT`?<4G;_WVo&c!DjomK@TW4Zdw)a3%rxISW!vBqdoBsI33UHI0qHy zfc19Hg;w+N+FvG_rj5*`umsOUqaXE%n6(=R_kp99+^AS3QPyHDa$<^Obv{d7nhIGj z9m<8{W15lo0S5VS?Y-Iw_f(I|W1pax_zF{Mi`Vqmnq}ffX%XeI;NF8SUq3*InAdva zxnClBI$qwSB_>NS`^JuA&F3<^X!TTcF7d!XLk?WSm>x<)k72Y}72A+br-Z+920qL) zxCT!@tt5Z^NBi#-x41dPgMbAYcf;F53CReG$oZz+_l4Z7 zDj`!PojW9hr&ow)yt>!lKu*)Uw|9FGIurw`jW~&YQd+<{Huysr%d# z4&7CHS)g&llJ(XUhALG+2SNS2SLgD>fs7>hrconsvx)t4H6>(F^2i+;M3S!1D0&}P z7k78My^RfdNRh%qZcM9aMdFK-5_%wxTFpI%G^?rP7g#PlS*UzIO4T&G%AuiS%w;0U zTc+li!9g5E0$5nl=Y2RpMpL&kJa5r#(h8)i!QVRiCS6zEYC*3}GHJ|4>ON+Civ$59 zk^q2&Gq22cpZMG|JGemWUhS!pxFNdF)j7HibtsOVozRUSXZApn!6Jkn52Lrb@Btvm z4;~`kvpaw^jO-An4E?)tG%TG56yb(Av37Fq0~8g+LL}EYBwB>h$~QI z{Krx9_(F+n@Fm#hNIDYyMeM;o?)a*oc^26_X`YauC-q*;q^R|ZppipU7?`|jH#;My z$4^MH66&;!2oTSk71Z&96pZbPmKUUuZD+<3HeG0eY=g@htAAHX(oWcpK`tG*(g5E! z{;%Tf#?y4$5NP7}7CnEYPq+AWh0tw97jM`#P}lm>18dzD;vnzX-|t-w6yG_{lz)h| zgv?nMbtS>^J4d|SE}ZX(LXOYUJ9y*`>P$o|b6%n<-tP3!x!D)m!$uQ(c&aSG#~5)# zjF471dq<-1Hon0MmNq3={kR0XLQTdCCb*Bbfme{hJVySmhIRpFO^8mAlfGJ7ooFw+ zB`C&BacRO{vxefcvAeBrl{VYR6L)iTs6MZS9bUK!=M(kmp25Z8zMP$_7+NkD8e9jB zwO`v+lZ?)ZV_Z6Z8hYa1{_b8+veU_1R}imqbOn~K3TTMnmYb^P4nm?#d?H7&x=Um; zRE)=?b_MnPa3JUMXYl`eHeWj9JBN5)*q-MeY1*5i)<&8JuPyD;kP1V{+m)E;EG)gz zCwqd!@}-5Bhi4?V;iL&C&6cvkq(U|ZL)j*HDcDC-*O1*_Fe;eSNllp%+nlpp$X?qY z`VhcoqrKQ$68K57WdZFuPAeARLT$dhs#uAKW#5#+z4 zf>Ku4Rg)~VPW_|a5sy_&9p~#_cLpY}IJZj{hdB#q2YW7=E)0ZlrAF3p6}|zD1gAM> zOS#fJxOB(4V*-0fRfZ~{L8LW0dsX%xzjNgcFG0>N$w98ta)ZGUxLQ0Y^TRZ4 z>6Lo|hp5biC}EL{Ub2LQhqv_(j9VD>=0x{0Ru(2s2aC~kj)J@n26AB;>%SCo(<-gh ze9CV?CB1#gd1wx*n2_SJ(T`Q^?#7Zn4J3eufeUMqc@7D!6MU&MQBqz=2C>}th3utv zS?2*%BWny@ynk`Ow;kLFz2U*~x?Zo5X^OO;gqy0NhiK~rh_AOj?p?)e7VkLhi7s$} z__Cu?XRK1C_)vPi3qwW%zcD7nJ1;G%?9LCwYS5WTON9mkD$aR>y6iV768i-U?(-zM z5v;lDwK-&CNo~oc+Or=xLESyTWqpgES)}(yQwSi$T&TMuq`L|>{e1ilCybWQqDh&d zCf+bWT@D`D%t@5hyywEZ;5hDuyFp=UxG9oLNfIyVs;Fgo2)1i^xM!-M;k6gtKTG*t zdtz%u;Rwnc%KWBrd&_-7e~08+wiVyZ)e9a;PjmwVC}o<6s1!b`-j#d7&S2s#4-b~$ zrqMAK>7U|3Rm5bFT2XDMVMC#olgF1@%Oe2FTIN{8`Ph^s02axsEW5Qcy2$e;E_VZq zA`^{ob5G?Y=mfPG+etjxsjR=?IUD-M!3?hhbK+3wai-sPJUF+ z;PEo9+!MwYD#yd6lN`lMTM}F@j?yf(VJ_y*kv!u%b&kf-$;&|k`i?BkGQ_z)of}QO zFnXg&+=lN%X_M*cZ9&@+%7msfV>eE3^!9oih}eTX%OxavZP!RINT13{9ir%(1VXr^ z72<^%Pcuh9Fd)rbg?@yVPr8ON*&1@~EuJ1~jzNK2nrJL4Ye*W4a#n;WOpxC`qCH^F z;-#R2)SUy(3vzo8r*I|P!P!~Ak zqw$WKF?C7&iR{7B5k$DV6z|y@I}V4M1w~I3n5jbpk-o9txM8Q0gU)PSLfJe4#wbKm zIB~*Dy1JdQBjNb-H+B)0B?+zVp8p&|HlCe$G9|RI@o!M)D8HSR_z8KKF=2sSXohC{20TCp@|a^ULcOL*6;;*u&<8s$!%Q%c=5 zO7HBA`e5$hc=0QRjWb+}31}?oqK;Bv;+~nA;5+jAKoh~kB1=CfRw7w7Ra0)whE3^f zqSpiOl|0t!Mwx}IwXFpe)5fK&N~J*Oj=gSV9|d!85gVq+`PN1hjUi0QI~57ghB_)K zTqHkfNd<9_2*?%g&qwZu0ns^i7v8}dY{0{?J6zcXbae@-^DZx9xK=zLe7#keq-l8x zw+G~r7AWbPy20Lz>zMt0(d4_^8(lE2uq^9?%>knJrN3|vP^?Pqfo-kk0)cKLV!Bp4 zAE$Wd?%8hPbuu^;?(GjR9$cC*=a0aLt|Nu^d^1GM070*eV~D)xh)!xj=;)9XWrbzmCMoYRv?ji zrIRm3@Vwm$HTFCe^U@9q8|V2Fk=G&|XJjwO_a!$Ayk7G7U1?J)O%{G;Q4?hvoki=_ zOZOB+YI>&=S%)eJmxt$i!;Agf2E&8b_*r`C0j>0bR#g;h(8=P#88Nlp6!Z`JJ+G^K zRGECRpEp~F+s*}MChml90glQh7bqVWnpZa9;)Q8;U222=^xQm}wf45^8$(1@&4Zxi z>_K|PrO|nJr+XZD(XrWh1)Bf^m1`gsr9CL>TL}2tZ7LAV$Pv_bl6U5`4&s?wrM|EjKgiqM246GZ3~$&`jvNMil>!lejRXsS_=h(!?B5&{4zr zYIpaLr!OZ{I(u>!Ci}D+10bd?MmS3>R$$5^*VDeI8mKD>j4bne?QW%npK^7TBZSvT^iHAtsIVrC` zHH!&0R~|S^4U|Vi1J?@d#pA+;S(3K^pyBACtJhv8I@1e%B%EKCMa#6Vq^}swIFQnz zqj$cxkrrf$m7R9VCMQG$H=V@>DHP>fOESuaS;6Uj^7TpF@Kk@+iClBBh%t!UUK
      Xnk5BbRKRc<;(VXd_`>=QC2#Z6+U)B)8OLX`u>J`UC{w)@e4p;OZ~Uaa|0V z&muW7VTN^`8d5!dS zH=36iBzh@OTM=p=D76v}hZ85`mJ&Dw)`-1WG68TZg(4vy9dcJFTMnx94LzPZUxJH8 zEM25yU&fg(M0;lsFYETl16*g(y{6Z%4vMS_qE*59|EBIT5^~}{Xf+jLs*O+36Y%#C zc5LeDMzx? zPyPOkNL*~;kaWp-c&sUC{tDY&1JEUohyqb1kge+|Z`w5{5LHd@xXN_9dM5Pzj zSZxhU+lBEtvPwms#z-c`v0X{Ig!oRSiW!b0N+m@b+_`!eZe53`Q@Q1jsS&{Fr=`vM z0K!x(Oo|}@pwdhc*VU=~8FV!GRDcgRKsuN1x1r#NoApd zw?bc*nE%azv~y)`)vOd1W-^0z*A3lQ_{YCU&naYslGleK!LG9*~y9&YtW7(VW5&GfHhh{7N2V zkl;iOjJ~@j2krW#)oq=_ZGFsv*R@p5kL6Lya=R7@2?7jE=tvQA6*y4k^1&3^jI^0) zQ7KI|c_ecw7G193qm$RW(p)c0iw;_@e4eX9M^9Cw03-jJ`|iqG>BP-~lc!4ZwvHzy zCLe5?J(&J-5Oo4(zs7iDSWQNg==h~$gISNb5+MT1%N<-YSw0#rphZHo zd_91cMv_Y>XQ+JWGt-+mW!nyJj5!>Vys10mq@R-4!1m#<)u(!NKNSI6dUfJ?SPl4O z5Q8cS#c^{qiqgR9x?2g6>~I~59gW!Z81LsubJ~1NA1k%ZcJdlsQBN-SqQtn+t#CD) zN@S_3SBN46BNwYm6l#kEN*Fgys*+pJ$w4-3+6G4jyl?KPh&*&*je~e9ZQp>J&)UD{ zaBEL_u}JGaTMJ%7^enF2ph>1dOWPd%k9rJcAbNh=usGDZ;7fucatTKSm%9hMNI)#< zU4_wyftzij3RulXgXs~5D*I&~LD1lwusjQ*qqnw@73RQGV$H5aMj3w5sU*23XS3;W ztYIeP98xyX0=8ZXY|MaqSPKOLNEFpO^r zDmR{S`I!a*8xeOpblpRev+%#V?vqlTfn0`65kDixG?iy|7P|+EtWA1k5{N70d5}PH z9LDKzjdwyT$;E~3HC3q)4ZWI#v5}$zNlnuhlYJ>%`f}O=eJWhjmeo++suOx07;ids zV-Yrb;~S(dzx^DIdLA`a6^W6?m4)OgdsmC7v1SiN`cQ}mR?R6EmgTZie-!T17jr(1 z3rh+B?6ZqFv%1vZxC~VbO4shTyb0Wt>2ZR}6S2!QEm%lk#4IC*a>|0g^$6#BG0_qW z#Xh=68$2$&Ui3>DDwf6P6>Y~Eg^;GM;80!U#1HJLd7n&(WRN|C>lA?^o#3^q|3yPc z)z&G?*J*4hFK zs)?XDbe1X~#qPvy=Xcv9e{D%^=dl8#u~m(?QT>sG2gIB08uuD*TWI&=^bC{sZJhIZ zE~T>W#hZ`)YCwOu8@)8mAp>WGh9WTVr7Jc$q6x$N-h~-p1w9X-uVD&?)Dc>YlvV8l1*Ke<@iAN%!VNc2rB@Al8njaFBx= z4ZM9`1ZHWs&oc>8{`4>v*L9`g2$Ge)-0y4VO6XG)B7s~fjC3fE`B+jtJ7lXnnYbd< zNI@b|y6cC7?E^d`iEx&UOBT^m^Gr3cilx0~OKZX>c9=0Svu$^|DZo{X3OxSnd2b~w zc4F4C#__vVN0HjlXF4(%JAnNZc17g!SF8Ea9m#f_i~&h*kN6$Tq_)%0A$SrR?u2^R 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
      oX?$!W#TvnVB)<3U1IZ8W8`2eut%ix}?~eHetx zM?pxXQ$^kQgG)vkqr-hp5RB$E??CgK_oR8vyVShq$H)72FOSdk2E%uJlOw;ww8s8k zGnY2fq&vwbWn=wvZ!!`6m?okh%tZ8~xYM-y>Ge-9dv|rZrBmx|r`hP#?a`+4_T_>9 z<&z6+?4`D3Q+cv#Jr-AZv;picGx!D^A;zCLdlzl&^5D>q@6uMaTqBL~EGX+D4 z{cJ2qA(-$?^Z>J5kV2j*u+K3Z8=Y!r=KgW1@wB8ofB2Zj?>dWPkrgwvH1pgsNE|LT z9uhleT3q4@tYmVzaE+=d&Zz=ZT$->2qv-g_`e2(EytZhaD1Qx|7VlhbRlTk@dykL_~+EMa?@+VW}<%M#5#%AzcjwuYz zGatr)Z&y-v<^;X~m*sDJ9k8eT>C!!R?m=U~X0(pPy=Ufb02vtJ@}tq{#NAmCNcct2 z$6QE0wl`~b{noN<;bT-M&PgpGd|xzk3xR}l`_`-5vtQksy~_cQIKH*(+&zmDLr|GH z11Ax7F)EB0VKNB`$V{pyAgw&OMMYk(J>8%m#NmJ1kH1hnm^W1#dy^H7F(9Ixt)Q?y&rAz8>uZ zl`b_1cb;aQExu<4(zR~kdOv>{$?BLQ6T1KwN5;)R~j7k1`{79S?dyU zkkKR5=&aW0>Nbt#MjT$vH zUYD%_abQ;Kgi@}n{I4~+;^(VMmg3JCz07HmpIPY?E|yFuluRc~M-$HeN}1*6^F!~_ z8&h(Wq;Fm$hsgfsH9w;7R^8;~jMjX=eUO`kHY)QxnD3KPBsZ*lI8fdyl@FK7i}5Nw zAEpxoOuok$+4Hdzw!j6tiYvkeWFAV^0*Q6-)k(a%O+zg#z@IB=R%`ijy}&Jec!<@S zaUi}V(M|9|b)$&sm(DSfBNxKMO(bzae!?fm>?vwd3jC5D z4crJ1R8iOG$RKa~YO}GOs5WECI^Ry|SQXDvPLtH?VktTH2It*kc zIJ~-f!~VhY-^#iz_jrdtmZF28XE~9Jo6#6~-nSLff@%uBa1HR$!@}Uj* zCZox3_9*_tu9?qgBsPDm`sHT=fL~Q{xf=m~Q%Uu)1g);>7e?T@N~#%Yy*D!gf6&KB z>qnUpNGIYG5#NpKOW^e5It$6t78uv7FZ6@4FjMYu{6DW>riNE9`$Df>?uoqeVE6cK z4gJmfxn*ml`ocNQ|4{NaiQHbax-H+QhKLi}*~Rp2bjVN8uII}WXRlb@hJ3JImZOUL zyXc}kF>vA9SRV3Py}Y%2(;QJ~B;;1D)jKDh5Qs>1;hdG?4TM`%+YZ(jxmoOSG7G zTeOzRLnm4UY<6|9DUX(DGx=(6S~v?gZDwH2O$*=Qrp+|0xoI(F;GRbB1xZ~a((+heh+;Q*9M{V?j*&@#^cJ9%5n&zSq7xz|b<5c~WDhvGA z%(t`km4r^hzg7-XHJS1KOhg}k9L&B<%rjrIVIh)245<7xhWxQ6uWxttq@nNp6^QPx zvqYY_ty)pKC&X!}%buXF_QdOp{oAMXZ&l>q`sH3<_?QrNluIf4jKwb6Ss{5KA=VTWK#B?yr&D*6a-faUpG_QTDdX2PF5y4fibNM``GUXA0gRz$WJ{T<^i#N%e#(ZX4ZgqWI%#pw8wgSt^*AQJmr})68mR}FHR;ag^n8%6zRL7m zwH}T?l`fU5X{ejm3)JOug}S&fJwm4$nUIW<4v2=HAjux2)=z6f_0DRo==5luoQX?p z<-0KxJ3SgKe?fsd3+{Qfj1>DsEVjVyNYA8Ms27m)EpV#7GJW z$jFHxkW35S??N|8BrL#2J{?!&lkf%EbX<`)(=fR?lGyh&OxKrc{D@=UZ2YuM6xp#{ zrwwA7I7=JB-Ub^d*jRNLt1B`I{ol$Yw6D)3pHL{uuF7JI9Ag}=z&AIgX?(rWkI^2j+ncO3 zwzkfV0-vU&`|cz042{6EED}S&G3(wKke;WP(C9P1%T^1Y zu^H^XrZBkDd>8|MTS?XP0`Pa0wsqqrG-wQ%yb^|cZ_M2QGBCpBN2Ae+Lu@R@fP`NJ zeawTG&>pOgKGyoR@RjNe&PgpGd|R5ig+Ri&!I#hoDl=!`B*HF6g%Kl6rh7844%D7* z&=2D9Kkdg~C?3q4DviC#ipCf)Z=%Oz#CF{Bd7)P&+2l0|$xr!V9VF&TDlDjCY9ykc z9Epep=0YO+*^r2X43DYWS#aV4P4E~-sco1h(SibvcG5%EXcUngLP8N)AS80&I4fkub_w0r+enWB zF_+#WD-Di%gNYB5taXVvC|qZ$(exG>jn5fTUP7bs%_hdlkHdhTP|~H6RXzFQL6n`9EcH#Y;^kOYu_Ghn<%2CA5+$cnR&})6s;p z`{@Lb)2Ll8(UU52l%#K7BZtWT<~5%+KTt==OSyOT+lT5UG*sq!FyAL-aMxQZ9}bka zO69|)@?yLK<#d98$&puN&&N*K0vG5it_T;9c_>*6B-X;^LyT8@Ssfb(?yDquQR}!~ z;1)g{ZM9|`h%ZTW6TC?8h6R2sDf~#B-jhTOd|A@-z9dc`lU=prjFhYqM+An2IA6P- z`z!C8l{SKx(6F(G#l1_2FU=(MKi@*!Mf=+`$@`BYre8Y1LXKPrPqmQ5g>-<0Q)hl71R~Bop?m$&@ zs3kyg(+taWEPCF+;&;{3rfka&(!f%kf?Isl|HwKt=B1)tb}3fGp=2q}t~i32!arD^ zs9l-*B{a{yp_kBF57h$}{j5$UXDHqx(>ma}yX8Y0@PS5?KYpk9=!a!KpF-Fi#dd2H zxUY)K-3V}hCDq3gv_6>`f&bOVNNc7#A{v2DQc|sv)>AVhkWR!WBEB2dOK9|CAN8er zxeSc!)k|n#EJQD%dHpgqyn5LedhPNOnpYm|9v`ovKS)3IB{Z5(QF7l)Xb^ECzXp|F zLW6vs%I3@IeK5!u=;h)iG%oC|p>y((=ji3;OK8wYNP7tl0uixSx*!~?+JcwRxO79csMm(U)gL%@jDFQL(5-qo*u z(IQ~H`bC?`S98;{6P_t}2@Lz$Snv`WOn4@GfLShh3C%MF_Jd46 zf5neA9U7T_Ptw)fkfq#P5Yql`tc66s>1416KsQrD?jX-!@oTDus!YT|bNm>XTV3Ew zlvKTh27a~DBpVj@yn!Hfy<_5gDOGHxk$R0;3tmEl33tUh5N`*1J}3%(mFc5uJsf{3 zU3#x%8tUft0(H4up)M{=Z_p7W6OvKV0nyMCB-w-1`e}XJGDBWMqw(ELTw*KV6Ld$N z-pZlD@+ZV4!CF|ogyz@6@U0#SB+-{6y02WOM|;c%DrfVW5BsL@vNg1q&>&z?!dkwB zcAgs$NozkG!7OD3W*FsotduHF%u1<|QmVLNMT()8yJg@H)p>cb3q_2ikbsPw2m;Bp z;EgbJlSIM-Y~<5%MLr2%kWI%Gc{2@@DYXKl8t`)1=qY@*1HWgl%2 z)5KZY2=+GE_@<3jm$BN}Zf?8iKOmFPz95tQG(k~zRTf+17~^myM-ms(aUGIa3|~S+ zvd`uq$NJQJrfHdby7nHQg5!8bFHgo|8G_|@9fYY~Li4=AT6n9fnT|To8>qWP50O5m zpVe^>`0`BafY10!KE?r`ZM4ZYc=2_a4}84Qx@?Z31fWwrTQW612H|bH8Bs2 zN|_&*te|m{>K9ocCKI1ejMC<)x0xQk21YLojE)9IFD%|heys-ZRQ;?EU)nU!G_rj2 zZ*_Z(Hb0`DTghtxtE=w?LU^h6xxOHOy%qvNnVlq7w?D0n-|+$v2$h-e;aaOhv!(hX z6&ARik%oZJFw!F6(MB4=J3zmZvt(Fl(Kt@SM=aLmP@I_PwK9mNFR|PP*UJcG{ z&Fz8jHrkvX+7H$4RD522Mf34{j`9I;!10fU@~gz9`9z$8xNT}G6& zp}~+RafbQ3#wmupi^LMIWHsBZ=!a(tp4q`dsO0?h!LIkgD!FQu@8E=DqsMmM4;#b(_KWRl(KQkQpJmE#}~Hdm$r&`QQoL!kQym> ziEFOXJ4l~D1d<{zQ{ciC2ojA%93;u2EOXk+1=HNytDZo5vFNF!mrGOC3x@OeGL7Ny z^|Md%>$YM@Iq*F!C714I&Sps=ZdkGr)hsDQFL|AMd7FO9Oa=bbNX1k^iayG1DzU*@ z@PPO`s_@pV_!^BzmfE1LS*__t1ut(hd!vK8pIM6M^tY&V&{w<<`id06oL*cBdA2n~ zT(hkrLU8xZDc{q8smwsn6m7jqo;gK6&ema_(xZT>^r)?xo}4F6nZ)}{hiUF~m{_oG zQReEl4t#5-b-*Ln=i4>#sL>|d;Ex-vyj{cQ{gp>wp@eW+<^__L#ycoC zCoDHdftMR;9QbJ?4FSo{>ZD;Q4a`>eVoSZr&8qC*)uVOUGvF)sWYiV`@lTvxYtAx_ z#M!Hs(&*Y$Sp;MjB|aMCmX(WuWOm}C@vk=Ei-3(FT~!2Wr`>Dk=jo^HpMZ2?3;FXm z%d9%!r939SV`&ffwznBlQEB0+DE0HR7RT#ztaoETysjDj*y1(;mqi_j+Zz>o`jI_e ztm$#tIP-_y(Klp4x=!d zr+`ptEwIcU1u|T~C{RN3iVo7DVT98j-php>dn6CD!5s$TLVCLnWv6F8Aby2! z;T@vR1Q9RDh%N4ajvPl*( zT2u;|Y?O%)**qTu{w@~;k)<`$LO%v<6a-=PGrBfS&l{;Iygq~IAB)-MTG#MU^m+Hv zx`ub`8H5jr!->!P`=Wa`9)DfIU#y*Bef#TN?T8sGSzRY-v6#vG-#}KfnvoWZnJ@xL zlA6)yiOdzUgr%rvq{V6^8i6cDH6txnBVh!x6xEEhSdD}c$Wl}@(qc6dMj%U3%}9&Y zNEm@EMKvQWRwH2qvJ};fv{;RV5y(3C~0iFv|rC zlV=L-zf*_kS{te{U}Irg6D~}$Trn_sD3cA3n3Y2EQ&JL4WSNx|>YC~+H4bjl%2K+w zsB~}ht}GwAX94Ae>D~+IrRv~c_i8~LDEoCyqDAGG;sqpNHKQNpn(FiL|CWZnTamxS z(m?iIZS|(hP&1OUH2C2Q?pbco0?fFl0_^3&s*L3Ka>)ncLMr(v+tN19!$4|VxHNoA z^`bO%!ZQV>8T;8-ur$DgXQBs~<$|TbGX?g4phL9n9-I@70UJxhCE?N_3x=O;G6jW7 z(O+jl9Ru!{@7;xw)**K9J_c+o7{cfm4BXzN1;aaik8U!4ac=~W<9?zhH4I3|>PXWf zYQhMdI)Ll{CKd=kQqny_!^XZY`n1^F%bEdXV_!4UVs9^uKsNR@BQ5s!!U$wzUo+BT zZ!e5MHug0mE%x@p2xMblGty#jFN{E{cg;wPy}d93+1S^Nv^HUzPoivT1)|Fk5Me3Y zWgZsW{Lg4HAdyqW^m1VtMe@s5PKJTFkZLr__P1&>3}jM-wfu9c7p0*So++rM*w4m- zS`HJQi5_5<3u?J%3heK$Lo{SVH3n?d@~gsHE*0KSHc1_!GFwjDsoMwb*?4h|IYeMRy@-teV2F>PN~ntka-&HwYSkg68uyJyg;hE?GX1Sm~d#1qti*<?0;B?=q4Mg zF<_(et_v%#)Z?J?3YFo)Zz&x3Im7mzW57m@71?GURTu|1UyUujTZDHTTXz5T-iRKr z6>g5`eL)@kn=7ycfir}3p%8$~}3C|Q%Gwc(DP!CMzS!>wfR8D%P!2U0Fh<34eOUHnXYI;Xl zO{K;L)l{f-W+<0VU{6U^jxFoa`bcI3HfpRe`WlPdo3F;=^Trm`Ki(SwSWjQvBq*5tSW%=F37{Yox^&BZLvyD4k-& zmri=J`ATQmjYV{0W2@<*_ePlcj>=y&%+L8-EwDt39c5i$X|btn>@Nvx&B(~J&#bAm z*lOMzyG|m0WUi+4C41e)znq!H)2)-WX3?=!v%Fkb$dG(Pu984pNL3PL|C0HD_!U;u zWy+7z&nV?i~A3C~0iFv|ti)H4P4R~FNJk*}um#f~-6H=52~>T9Vy@;`ei z9#Jgiy<#AhGV#%%Rtg`GvYGgN)x=}U``|DA1nymB?lo+bUy(X%vqz=;(%t5b$~*s7 ziyVQWF8$@I6e0Uyu2MLYi(|J;)1peYmFp%b1ds1n%E#)2vZ6P}44V3rH2lxGU;AExhxb?v>g;@1`Yw~l2O<|~K) zzHz|fzb729_-_aYEdIN}0gL}uaKPff4;--gZvqD_{yV@@W_?`zw`S!_5NlTS_!chT zd6l1K18&lWm2G$)!~dDDzh3wM)35b@gB2iu^>R&k6Lj|S=q5<0)GsEolwzSWcUdrN zs?VVxyA`wg?J71Bd?{2`>YJ7Zhnd$FUr~Of{&v9=?KcdDfDL8WM#`=zlzBI*^j_Zc ze#G5E_CO74>cXft8m??)zZ#NjqfV4NlJhhYm+9xMmi!K=9|XeoRArK$Ubv!ngtnfi zpTTcAA_%Ln0Fj#6THXQUzOeZ)2FgFEcK<^^(}pdG;o4&4=m&P?@1*V4qj9vUli%H< zajp@C(}(A!dU2_K20tuVXtMa5Q&T)Iqcr5|1M z;|vqlCE>1J>g^}uh9svqusDM~S%tl|U}65eb|Fg*l~P4IVC(7}Y~P8Jr3-hqHJ$Oe zuJF+Mb+neipkJkwO^z&8B<$M4){#UbOC9OE`g(PPd%?Q2(_+U_mv(r zvt9_?O-YH5#>RPZp_<~?9wc4bsx>PrzT*}o6^cG)-RYv}0p@uZCm)wdglf6Ho+-7xj3_e_|Z(ovYE^y#G_cr?(KE zHe%yY)gWnug?DEX`ahmYXumm=y#FZ5uF9zja`ZbaJV@d~sxe4nF)Tbt_SqcdSf6^& zG%a&q)ZXJ$P*WH^(k-qYaE+_NZRIO*%V*2|X;?ixcQDzHQbp5K=(z)hS6yF!*Y9fm ztbYCv{FO}WfKUHw%`d;o-T|*N+GHF2pGGTxq7|DrseW+__&ODnvH(P5{ljv!&>z$f z)c@Jkj{=`$>K6e~Sg9ZF(aP$JJ>QR1?XIS41c=V9S}R(QfA}6VdJs_Cu8gEBP%va7 zK4I^tW==J8<3Mz5S^aqJ9(&V#Tjuo2cG62Ljb#i-xVLI8yS6oZk9H3N*0#g<1NL0r z+Pw!EtM^Gx99~I6qHn>@=uQnHM()XY)2Yp=i{8l=8Az`-KH8**C<8v;24Doe7iW?m zHZL`+)t*;GIT1G`Ssid;kl~4bu>EXxW(ucZnIhd_d6#u<9QYn3$>GS79t}JSZcMO( zyd3Pbz-vr>u}enm17=Pl=YzyxFw%nueUK!nCpR4(n>fU|`irpLJvxQiA@!+izR5;| z#<=xq2-q-kZHop*>Z~mOmJk>K6jBTrWnnvijnNnUMWT)yu8T*(-XqzW3-lKvIB##It6k zg(ca=tX$EfMfXG;c&+unVx)Dw^<)f)&$UJ$m2LN}9m6ZxJ9m0CaH_gZThXJ1Q`JVR zbTKIioD^2?WMU266jtx%zNMRU3OD6`YhL8#C83w{_cAnC_$3_@R$4eFUe4*!XarMO zy_dtz%fGtO#zAJ=Uu5F_KaC1T<%iijJsKnvrJ43cIyQ-!1_K5&ZAK+A`$0LaG(Ts6 z`8hV>uqYbm^k`tNHlOpSVZJQgm#g_ZOCM9^|YB`^}Q2sMN4L(~9OWknYIe;PrmC4s*sO(&v|R)N@Is+eM!} zQ}8Fn@Pt~qk#n6~qT1Benb!3iTgH#nzB8@1XuW!EYe1F{S>YpbYi=LV7nC~X@6cm` ziCRyFVwOWPm>Eoso|(lz0!}XQe3LG(OxpzS|dl7Hb>CVnSGfX z_)`AiKho&^dE|kpsyCKP=-IWI^ScUvkV!s9Ucanr?Vh(#-#IR+?i{_9#P97SqPO&^ zVl)mkZH(j0)`7(+mU7b@MSAvQwJQ@5NdGprv!cRxHK=45W_)J04zZ3hI28?5x$}n< zoiBCe&Szb70$pXn_PrO^2?VZcD*2&9vN0j1nDJhEmS!Kurf(O?hTW;Ef;ap#HT)a> zl#+gv=V=8@YYV1BRYSv(HG|5NT=4RUzgE>qK@l!m4W(-bDU}Oe={*$po0lMwS#3zv z;O1#Jy}^5!-RMoW!H>$c4)}~Y`GydDrqL$b;ERk_9!_HOiK<_29Dy%aF&XJ4JsRk$ z?+ASuM^wvl(>4Tri)xe5;MX~s8n zoQyQ^79%YLqOl%lTIdgsp;3Q`=^6!o)kuqgD6H@NX=U|`d_wH4I*vA7Bfw87=@D`a zedmF9&i(D&&P5-t|Dk2q_PjgiKK#xD52#M5;s314JxJw_Pttv?u;BJ|O~6mb_Noq( zr{fy}L}I!I=_sE^Xy1Nh;Ti{GLJxLn{x)->gwGMZ^h0AA1ClOwj1B>{jdOBH^erfo zk5vn3kvsz;J?(_VYZPn_UBpn1Oo8~d@!=$YMHz6yB0PfL?Q}{9Rm4kG`yj*!az$et z`7Gt;1ajq`=U3|86fVIsMK;0m2kYxNu%&%Xr{px~NpMPz738Z^a`2x`eQ`>T*p^l; z%NQ{d4D;X-C#rlRN#3PHavBT|hbsv2`4;v19Q~9{^^zWq3$07TK=g`{Yg;rhQm15b zNRAEI(;+zxWI2ApF+LxxG27i@S00iFJc!%pCAx%uOh2m?5PWH-b-;hvKd)@yyNx#4 z2Je1A<}+gouz9U5-(BGERh7&#AR6m}L+j6(5xBjYtQl$HNHA~l<7)F`6nK}ZUkJo< zy;Rc5>Wf2iLUyI9ug|_|tv3r}K;l_5(!x@GXhQ3L+F2>yKwPOAebB$BUSLczy3?b9 zt@^x<7Pds8oKn-mTv9-zVOvJMG|^{?JP#q!72@cNXetk^hwM#m_0DlW}FkVALedpeoikoKgY%ti=uH( zj|S$bezY6r%VqI&HUBW3S#>gdCp}l#6VD{a!28TD9zxctZ**qE!{?GIIDGa@V)e{H zR=3tp(%E1WSF#j`&#*kmiqS9-#nIvO1DtV*ba43Wxg^r%;j?E74xjOadApHQnB1XW zOuJ$}QhP}T*C(d5m_Bui4)riYipIyx2bVhK&?(k=Or$e7W?oe4lmjKN(~g+~M}^%_ zle0^ua=H^Ml?#K!zoTmE!y#IzsbVxpX>d4n55;|P38u^(T~+7W?q#wKetf2Nz;Ae5 z-sON#H`-(y{86Ko=KrD==H)TfPJC#&3(!!BoH$9Gex|4fEw@W#(h+%JDA! ztW()1gy#x-;+bUI@Yrn!Y*ywwvnh+c)siXLtav7|dj24*r#Y)Z|Apo0YSjaf!5i&(rtWb4jGj&5CCVHY<3-yxqttOzu!FL>x#u#r5+2+DkIH-hR+x z`mkBSOx9UFLH9Aatkfynk67n1y+CKMS-H8?DZ3A^(>5!C(qOZ)jjk@JsdpQ+=zOg- z*sLIav@My{lPp@OsW&UM`jrNom3t`ei%T$NhVww>Cw22P*ZAP0c zDhB$GQ670v0bFgQ5g?lC{f1Aa1uB4o&8cf<>!btGd#v^6)dzYXUaHq#p`Yn1A2e1f zQHlzXo=GXVwnc+(4mi`p2JC5}pn)t4g?Dg``tTn8tj^-V@6WUj_!mZ-=z#Aq+GHF2 zv9)=ZI>_b^RZa#5c&m{{fWK5yJ;=1sA8ab=5<2Avw17V`^6zQ}H& zFk39XT6L|e#f(V#KEraOc~E?F7?!N1IKAF9_a?LlAGS^{{Gq}VbeQA;3Gf^xZCj<_ z>=RqN9PkKvaCV+j-sJy z^n1k11=Z3^Rqye6vFP2tAbWjRV0na&gyjr`N9G{{9_o1qDTOgeChRhRQQ|yW?L0oa z07UcDS@K*J#7GcYSca8#rtI&1cRY`*g`S0S^#)ZlTb^_-ldq-GKEt}u1u_R<9i);9 z7z7cksEUI48nyf;^I#Z==Ba~7nP>6@_0F?M>UWAM`#GJmSx>Rpc$TzF@^RTw^*moc zgF*Ey;djwIQ#64dQP?W>6|g+s+$lBY)2wm#~)IwQ< zsXS=7O7r1r{j4^X;4f!d2YlTPd9w(<-e{9;@MFH2`M~=bZL$qM(`XYN@L5KiY=f`* zx2(_ils?>Px!naK7T^2-hz<4`rx*h&e9iQ0cLX}rMVHz-D=?;1Lkm# zlpYiZRhT>20y_enrzDxr3wnVM82p3zFapGfB)SP+h}_P-z>md+ABod@l8AvXi+kRe z#OX);G1_s4Kn@;{C=AQd)|D%I|K)PLrg|$ibSSm?V%`7<`Lx>&f=qTEIOLYqa! z+K(b;X!@}UvP0M0;WEjo(UhO^d2UB zo4%t@)UMH+8Lgwd2QScp`h*SGIQ8=DnFOSS&TK8|(EAxSh~rEVJeDoYdFld1JJ{9W z!sTXf4EPx(&1$VUu7_XW%zVIxUoHIlf#ur>a7%M_40vB9B@3nhW2OJa&IJEY&wc^% zU-nKL={ z_q->G(?=u`eX_q>W03UE?nVl)YYyuBCLaqe9!{l#l-I{#$62TmFpea zFUusa8!0AOs&>dR#ljMZB=%AXL=ua$S|`Ylths+k_StkiEtvY$d!}ibd#CpPVvE8k zFuS>=eB;5F3@J2Jheui1$C>s|wn{Mm4uv1fB+4-k2SuwiH-@>r%-k68(Mn2Hru1Q~ z^kJ;@p(s34_^{rRZw&Zwb87?-cC{{#0drtRN~cCjr;56RxrbzPKs=DSxuA!^$C(c! zKzvAio5zb(4gx~#2?@8kH5lKX!`1jRVaG#boUo`g9i* zEJSZP-jHGXfi@gnOw6^&cQJ5rCZYZen}@}Q3@K(#Dm=(Bcfx9fB=+P8c1aIOET$6W zLy2Uc%|T3k>OIrDw68GDXwCO5cr;~SV4BkH$7%SFvSAqJ?sAF6yttV~>dhuK4m?9i zsiKf91V`!>@!_T_C}C*NK8*uUGlL`O#$DNv0JG=g!0f?T=|NGzFn4k`2gC!JPYZg1 z4;VblqBjP_2YKUYL2nbhNK-iQV{zd};`E+~*`0fVFN+Ib5~t6(S86Oyx0s9pxuvLQ zdKr|lH)t@3fQ(hy|NoD>Gmn?6Eb@M5AvBvb$|zz)c2N{=hzq!a0-~s-@9owL+$64u z8zw9XNVqpDqX;U5Ah^=F%c3BnFb)FxqQfXk6qJCd5m6XmSQG)3k+;q{^{wZ0J=Hf0 zIQp6VkyB5ddVckLs_J>pb55Vzovqk-Tx=e@V2@dJyI`M`RAB#SQu)yUM9Gw^0sW}W zaEYKN6w1|ro_GwG2zvJU97L=S-W%a=Qlc15%IP8v5k|pc!}jevy5N=%3RV7L(zTG! z{8@TnhukyW;wJKDKTmdkfcU&CE%JzGD3sI?;-^(5f0neMM*}z213+3hmEPXxP3j9r z#Me0bKo6Lm>NrJ$p1hX#t;$NLouf8keY@tOD}#C9MZiZ^Y@E_{xwL5eoiv)zg#D zUl`Ya7<|{m2cOcMtJXi#V>!Wnzi`&m^CI)tMub9HFM$0e*&#B}@X^gz)E>}~gf|Ml z2NeIwS@0V(7{N?%5L3V4H)gz1;Gd#7L&qcac0pLQ@*-7Sv|>(r;8}q{jY6rkzLaOE zV@g%Z36VnWt6B=FDn{>FdV9A)ed2RdOL`Zedy^^$$~LYys5JvGtHAdQOM{*_o4+<9 z6w0~-Y<-=Bl0rn{8rJ786c^Btgf|N6V_p4kss2B1;~PVyjEa@8krh?75Wg;adf)+N z&ok5uAeRoR(^K+W{Q$ESVan@|kf!`9nhP?TLyz{j0UTA}>b-GVi!HouL}pE8NDJOF zZBEHwnti^)F!R=K68b5J>CfpZ|!yx9&Kx#N!!?VM!pn8<(-qRg*@Z> zwCzD&-*k(c$j6v2|I-kBzFP6+Qiu4ksYVdjQ>1cxL<2X~_J|fvgYD4^6c|V4GC>1Z zWol^PO14Lc_+fiQ8^7W9$a}7~N8WX{v+=&G?U8qH+avG40`V!v)xjEq@&aNFjjq)A zG!;o}X-8vgJy~67Xw6T(5#P~gNQ(#smmg10s)2FsYVchTA8d~vr`FHbW4Xxte&Nbb z&za`0jR=LZUI2STvO{E`;pOLF)E>}~gf|KV(1-@Tc8uWaH`D-IWp{zT=-j(bSiECJ&FI9U$LlWL7sE>8^ z|87ESyvL@fNEubzBU8~_P7DO zM1iYa53TEQ*JvZMyjO;_2yeVS!U@-l)m=JjXu&rbtWr{}B5QjM_DjTV4o~(1K$Dh9 zb`lR)(~8Hy#~C zcvOaia`hGS&_=|0(Xnk*ewPdpab6kH!oMteh;=IM?7rvoiu^_M&_P^js=2WGZ&ekq za3bScCf6Ps2wVo&sDD$0%M5%D;?GSr2KN7$Y7Sy@HS#IF*BXinD#7*I}-J|tHbJ|8^xRoKTo01_Sd@4g)cO^qa2v>%_9F9}2*BR%z zh$~fPe+yCmMIGE1nWwq1yeg>>Z&g)425g}gTz%fJ&Oc_nh7sW>U*K5m0=Dg;fN(4Q z31D$v{tOV(L|IlQ#KV=L{9M+4$c)WA_z~I(KhE4WVk(A35IU+?`g7+};UL$$0>=NR86+0H+E&5X%lASna zOAaRcYdy%P?9CpHS6h*^5#La^^SJ>GqaZh!Kq<=2u=+SSxkm(f!^Q&n^OBiiX5OgX za1ku{n7mC*qrXrKZ2Wi|%-&UsGef3fam}RtTN^hiuhSmjUa+pT(rAATHi~Ch`6i_eL8TulXdJMe$iBO5ph#sb<8Oq zf{XMl#elU;Rm3{hBN)Km>H&&E0;Pxx^DQg7c-KH8r{Ija6c+mQb@{zzHPFI(eA+5bsD~5=#=`*ASV=?sW z3xsbrb{)ifO*MuH#cF+_wXYE#L&RfcxO%5;oc_t2&O^jafz|HOT4GM;A=aJdPv7#9 z4&(HX=5#J1ZVIQv=JZr^Iv26-bU3?L|AityU>@d!yp3Va_wm_MPwlG58I2eAmQP>4 zIqes#expi1eg5+1@+Qhx>&eHZlZ#H6n6W^1Ma!F<99E-^lhK^zO|%R3>|^w-e23Wb zrkqF5nBnF5Lj}C*a|Bvbt!(EbPP4KtevZ&urY+vbpz3ihe+@jyuK_d`U6SDFD4$;h z---549W!H;turF^CASlZ39G0{&jYM=;c>e1AT%;e#2Vacqx8HKOZ}k{t5tEf>l3hA60VVeJc?C#7*}!v?%oje$ z!dfQe@ftjWCEb0bf*9bmmhxI9GZm^z_8uy&cM@0q9U7vVpI(|VH9sd$^zbt~O-s?z zdae~*2azF*YcUK6iPqN#gzmBAckv6XTvI)ks65cNF7D;0*S=r)kv2Vdwh^@vp-_Ha z4%mUo4)Kku3O`rhUQYrVlJG{s=j!X~-|rQI^7AHf@hs4REYxGM5ko#Q=~~Fo-aT!w zkoPp*;wJK^OqXx4@cDklm&_v$X*ao1MtqK{imQ0HM+^Mmfg11^8+-?mUh$SD@7Rty z=GTh6<1ihsHWDL<|7BraGzXbsRa+HWue2a8+Y`AygnX~^b;ZWLTmcd59Xr{ar6W0& zSH$+~(MVmF$qMFYDW$PQealWk-UgucEX(LTL|`jJS`1q1RIZG)a2-4b#4iAALHSCh z3L`;B1Z_>o9g)U%vWk=N#VLg?-!vkZTv`m63p8zfRMy^2rS%#4nGSEu#BY$vW6UJG zt?($ZuN&1@0?NL=E;q@1!IUhlWkL?nQ4lQY?jscx5Kc*XUjY$+DMzV!@1W9pAC=aJ zdRrxj8>y`GCv0xj{K!=sKkv{!f+$*A3oKb3L`Ga0285*hAVNmvUXZTO$U~-E+(d4@INAC7z~`?NUowvfq)e5S$I<{xz9Rmr zV+VoVXkZ=0XFR{+Ai+W0RjF1NXj;!ztr#L6`ogMjWk~A+)rukFsy;(nJHE(VBhFJ* zg-B~fGDKv!mEoZA{?NwTM*P|Ha5{#_2n(!skJejkykm&Js|};wqjj5&cMS2tK0{i6 zO@@e!yK+ry$i_Q{xL++W?H;ZDlOZB8s}O0uIT<3J)`v*zjAV%T!#+b=KTd{-^_=AU zv%54Gf6(K!hCB$N@k|Z&w1zx_Ap_u*N}uANE6ndxiV=6P%#9#2OJvz!wWLQ2M>6YI zEV0DnHh9Q~QznmmGh7Q9@4-ifLANH|ZdU&C>vv7$1eM*55k&?jBoP_aBOD_hYH(K^ zXCWgv60!@9%Pwkr?NLoGC_Vb@?obbx=v*p(CVPd-%(FtrRDy5xbJ`wDzSQ;1m*`V+ zk6AzGvFqo2nc|}s&3jS-G75>Nl%@AsX}z~f>;1e~mo*Sq7nir`^eya|`(Lf;{5l)O z51)^GY_O@u=J{xJlpPt33-u_g!qO!@T1Tr^7AwSB7R8Vj^(1WXIW~)Ar6rbJY}7W- zmmv7Mh2|q%F`y}d@Uuu%o?v0+*aZ<+is0Xl?a}(IMX-%{sBWbs)MEG!y$VgW zy}+`&j_vtPlEg~1?1&!hvxQ?rw~3Xlk03P9R6=qgX(7WbxF!YNnt8YE`a`#KQczA= z(xdhNEGS*XT2RC=2#OS25ERh{K@n{b6w&&id`^kfy#Ftz1nFDe7V)n`J(gOitC3j_(JEo6gtnL ze(hoY7dr3rN=?umdXzdkYe|pR-&89Fh)Ce%=5fWbo}Ju0UU4k+KCX*Vse~UlJ*CnI zr&K;-h7T+0k|B*6?b{;SD~l4r1+cFNWT8)!pY4*L&KtnC=Qi238*b+@o6-mV@9~;7xANQ9g0={ldp^^!zUy zQ5z8os_nX zO@K3V@0X+pmo@M5a3=6B+Q579Ajb_{ya$hW&UW6*m7GA}yqsv>cQqw-*UG@FDd{|i z^AyJyDgl{+&rz^9=uuRDXu&*viCR+zYyiqVu)@U#o!K|34>VHy_-YD=-iYSXUnIGhGZDzucv=koUdVuRSoBaRdCV&jC z_PGHwK!zco8%))J;-S(86D|0RVG~`nL99Q0_qg?Q9=-3JTS_)lA0%q^lbMmM`Mkx) zmUeOLBBoEnm<_N+dclfUh4A@5{5`9>6#-(tE&E#w8JTiisR zzE{HYJHyeJvRxGMvhg79*0!|A_U$dMPyKu~VIfjSH7r#B9%5as+7;nh;zrd4F9^R> zBS0jkG!AC?DJKV$3kD=si~?Sw@?=DnGdS4K0p2Gn|Kei-Et_ERDRfW`K$2we7f4mWeD+`rW!%KOjX5#)a}u_I~gM4vNB|V9C7+&>)1iO z)Kv2jaZ_M*%qbp%7aR9ej4vA22pD%J6=XQRQct}`kLwlhXf5A@=Id3xeq+JW@;7kH zw*d0WetVifP__I4>QG@$`|5skymR#2%fFh%73@nTJvjQFvV*##t8espfciQ5bDX0D ziC*1yZE&zro(Fu^5}UdQ&wo#y*gZD|Gax_*0_H>#Sn z(!QzR9L^kJK~T#K;tKX*T76H6(A3vzT0KDh9G*F13(+tg-e@wwGjzlZNn#H+0}9eX zuTS^Ki{=+pZRr5=mVSGhx2u|T(1w9dVuHXC7H}^kk1P6y>F_-zLQfpkba;UJIXrXp zwqZKF(PV&)m*~5_dMs{=rl>qU=~~ENG2NmT@&%?_+(f?Hbos>tpIfSpTs#oJXsQv! zud1rLCeZqIGDO5>eDT2PCf2coc%G@|A>yXGc+kQ_aPin(F-|wE5qjN}RHTvP3-r{! zdepk3*;cicHINte+td7(swr#Qm-d_EoulVoRxqw$AC|T6DU~+oAT4VTP(O!fj(aLW zqF1+F8ysvIa5z1@QQaAYIKJ5tlcfo40u!uO^m==L+-V-6YD+7SSN7Y}{DG=TEA6ZM z&Ed=u76i4-Ag*8^rq%b92)*TCO{)i}pTjdpY#|z^!y8Qo_yHX;Lz38o&47Y*(Cfqf z@uK-rRa-iMysqD#=8dW*9kgLE;Nk%bxR;T~6@9~W_?{A>@iDIDN(O-XInux}cP2l^ z$4QRfXfnWi)cL)7EG{0%_a$8mdF-X>2^jM0Ot-j+Ji2$XgBM49&e48y@j&dFY6Nkv zs;X-Ot!F8|)C%IuRaF_%f=EzQ@Yu?nb`W1{sxd@7SJx9-CniJ0&zh=(m`G$_F9Zo9 zARnM0;-m1`?$P>~!M73rqN>V})0VSIY1#m4uk%725N5J&Mr*JsS6_QXXI;);t^#c{m^o1Rg+;N#>b}3O*cvmW@b0 z7V-VUPbBF1D#8YbE#wXNNvkAs%XEvI$oHBq--_e&cnfG3aXsxOUz&!vk*bPm*6q;(KlqBb z9KHkm`UXD_5x@ez6ToMGpq<0FfxpZKG=f-%ZyWrZjK>Hf11fmrf0UOy9meSfhBY6t z?sV9k;vx9@iyVFw_-O_|hFFIm4dAmY#;qEchf;h#s<7WT_>o&wOgyu{e81ZP$!FJ> zPxQe0rUF!2THiJg9YmZ~hTd=21<_&M(9)E>}~gf|KntabJOBlUl?9%aGWGrLMO_SI(xdMuwEs60LC zTF6g-Sz54=hfF7b#;JV^`EaaL&P04ypHUVYJ-th|b84LP+#4o67s(h>PcU0cc{LNqL!X``hMH(vt6|CZb0ywp?umSVE z6ui(OzshtI6MsZVAb;2Ozg620nC-#_@?T9iF@e1K%d0WLe-CZHOpisJkoPy;#02si zT>lSf`wX*P*g*cI=_V$SFLeE{*Y>SuyRdaZa-NXcP z$Mru(+b5Xq!Upo`rkj{xZQ^*g)(iC`D^fnivOUz-Traug%2%)Wj+GWq9O-+fV#p%v zI|f(XA2^TYwaxbnFL?C4!Thxmp-^5;0eiMBL2X3Vi14brLU92NNqD2+rNwpie~|h= z)5bTSwQVn3$mhRG#iNsoRs3&BwZ1M=U$%vPK566VfugSx_cpK5Y|(%Tc8c4p2TbI7`*{oW;XVsB zM{IZ2J~L#?x-j_Zmz^ADzzhi72Fx(oRng?z-Vg23Nd2;xtzM?~>_ZEd69G%kv)`QB zcwQD`Zxf7!Z7eXsNRC%Vm`IE-JbXZmu{}xq42tmy4l`f|1a1Rnn4GL=WsGU0ep!q; z#a?@A;{{plyiLIHTy+af!0-poL}K@jBL~C|+n;EkL9zR>!wi@KF$ptFex_(;>}aHZ zS?oB)ea2Mzrg3H%M{g4_m&pFaK#rZxm4Ei3K{)_0RT~Lp|D^Dk7Vw30}3B}VDyk0%f}6fcq^Z(;O|K`oMA*L zgil}osJMWJB)n1ZnFs!pv*54uFoK!jAf|r7C&}I@@Xs^f+CyaS3nzJEoc9{Zdu5-( zU7J0yo|pH^p85U3^^!?C^*uUC>3+FpqkhiUA2@$jyg{qq{m!4v7u=+XWMcz0#c@r> zMz8--pXC}!BSE!u0@=(b1XpS(EtgCRsN>w@=x^f`5v2nUBoA8Hwi!D4yr0XplsVxJgr8#Ya}l9f5bhY^1fTtc3b7s2c*sgBKj=ei8}l#^k-%4mw36Rt zOD6)q*&O>A`85wCV2mZzQWXia#0T*tJyoT~PrXkm{5g8mmkw!uL)G?9Bfg)ZsA^Ah zH&ydaBkkw*n|l_1kmc)(xMG;$JB_}lEHh6yUY8&bP(Me&h)(^SXLpuMLEZMz@&OKk z3SV*cMs*^d^nW_iQW0Pi&|nhL>ze*@pn1J72O#(E&o9kaxN@LeI&fGtGBba^B|WF z+AtXK#xX1iY8iQ4(Kk$o?L-Dc3N zBGNs-LS;+&h8q5w2l@3VT1;;Ff`W&~dw4iT`&3$5$Ej9c&P0StW$4*dS|3&jJYwY&=Z$w(7FX!0@944E-63C@bS>od4oJH@|MzR3^~kCmaHN4e8BP8)_b7ZEoFR=Y>*56KXbxKxI;pc1?$dz%jWZ#MWb z;I}vU?4713>#5m#0mtQr5P19Sz#ppBGZ0$$E3iE2L1eO2hO~&kETyvXr-k$2 zK@old5IFfIC0cY8xZsyO->$3}zAW^JREOjr5i)CBD8NHzZKzEsHKMhSf!oa{`}}-b z&-XdRDGNyTW0|xVKffJD8y}UmcN72M=E*v|>r-8LGMHR#CfS_A1eDmn| zf5Gl(Q49GB)5$lQsJzil$Tn;sP+XtS1Se{ zgV$zGP?J;jSiDh)e6dj&0qJi^g+GqOiyV{%PlGH>YaG|=(O^8)#iV61gKlXIJjcMz zP%m&ZG{DVJEtoL%FSP<p&U)@Xqr+_nL~ufcZ^*EjevL;$O`idKTpwn!t2F{;On z8^g<+-Q~@Lmp2buuFs>$RHL!0l7NA1z7b&{->Qa)`!yy5Ji&S-aT`{uueZ3(N#m%b zcj_tlJ`(C+LA`wFM}t6A3+GUeHhBr35FV@SCiJ*rqfE@Gd}mb?-DmaOMt1JN&drab~;fCYKLHyvU!ntQ@BSynM&;RpW#3Pc{4w;+vGJfPHL&2Ar#_5v_;JblC|L zH1>XN#ji4@^FRZQ?3FtY0{pv0bZ&f~c z92Us;{wWINkm0I!S5MIgu&iMpyi(}{S1NtbN~O>DVanzNJ<1*c@f=gNuT$|?Nj0R4 z_&$0J_I;Z;CX+2sA{y;?FE5pt7GQ$<7(&CqkNu?zKo9acR()z(d2tV?4 z#5)m{_aG_{A3Rn8o3V%qVsbZ3glcw#wb^VoI&=!Bkq1^Ng6?1p(C3gjYs#kdcEOpFW0 zM|9|EyrT5uEiDK6_z#PF7Z0Oa!m>LAf7C+U1^xF)<*@-`4wR4N>6brd=4_|gZD;jL=>Y*Ii05=y4*t5K}`LQnUdX_+@?8sTG}wI8mI9xRmxOF z+~4eu+o?yRo9ws>o}MlxE5?t}t?!TZD0ug&_<*T8h>x`)%td^>s^k&#PCXi|3xY@sC=jy6P(2a5&D8Y+6%Zs49C(H5e{Y7bzmX=w#dRL$^{vZ($X_2l>wIpJ8s)}jYSH8%*n6nz|&}DrsY0FnfnOlBt8~f z+`D+V*h1U||1isG7xd5Q^97lvoJce_Uo_#(C5$l8Z zMz7GZVie3I7)?4Bj3%Yc?aOb{lcg2oG#*x^OdG^$_E<@-f;8C1h#hx6Z?|=IF5+_J485?c8?B=a#{sE7Gyk1 z%Yey(o@Y{8`iPWDACvnvZz%vW0T0per_qWs_aVyMM=*c!L1D-=!~+Qz75KMXIdnn) zT$<9JKfS1ga;nmgS_tPaJ@HpgReItvoWJz!^ErrEAG|mEiH;ScVE)2r(y?GPDeaHw z^4a&G!ZY$l!DqafEVt!2`>ZlB!TK!gHHP>FRmq3_NB3yJGWgvq4>eUj$p`E62A?hU zbUQ~)qL1$V^QMjE=Xb|Xo8H`d`{vd=+A}k*Ya7cC?xwT;!CC)VR!{Ey`p>c!a<|%l zmRl-np#Ln3H!FPqS)X7=$OU_PV_Y64vy)Vlyf!fYpopk<(_70;MK^w1 z^$~Sxz=>z8LD3%r!9l%y(0|d=iRDdByjTr3qyP9lB9$hb+NXvg(8+)kudEpq126RnkD~mzO=|vBYs{tpNcAGaAtt!r~DE>1mUnZM3mK6ret|4XPZ1@_%nNU~Vu%`8apSv-ER%pX~ZMpW^yC zpWXU7pVRs|pUL_;pTGJ!pS8c}Jb$fD1^L_-kw@X17mMBunZ(7%en&L6T6D>{{28|& zlyvmiJ1QpAC3s5imkW6U&k{i|d1|?I!b8&!qsfNIBL06VZH$FaD*HYkr54N2JosRc ze3eQ*7^M12B?}B?S1P&2Qg5Y_<%2>im0VHz(6m(gym{XC0U-l{yM0FI`P&IU20P)$ zVJG}p?1UeWo$zC_6KgoG^y#h}*HCZ3xQ2QI#x>L%Fs`BAfN>4=28?T{H(*@(M~blI zMTs)0o?)r<>`J9)Rw_NKQt26$$}GzI00TCXj;qRTlV@ZnJS#ilnb`@?&Q5rScEYoq z)~!C{oT10!iY{9V+2P55#U6(f+p0ma$0_#$$%Ipvzox>HOYjNO(^+x$UbPB z=YcbnMjS9-Cqck`#l%3qd}1qKOR<$Ntk}v|nV*?*1-$k%x*74qte^AatDp0us-N>? zsh{&BsGsw^nH?mmZu`&7dkdYc%uIO*gV@$nGj%zdQLajd7Tcv|E5~PSCHK9uVPdkj zw1x!$k>Z^kz(+>_d~koKlNi8Y$K@9U*>SN1&`Z|de8)vUjOuywGzbhsE*En;lK4{T ztFcu2GAxz8{z|1Uyi)1eJYCa6n&dC55Wk?O)BLVKYj?|N1jr7C!+EmMCIXw z$6H`C7BN9Q#YQ^kG!+wrIWXAX9$?NvBmCp9;MPpO|~Vn=4`h`&$B75J)ctP<025ndyx6N&L41j zlmOl~4y#()ZX5qsmypsD=e79XmVKs-k5oQgJTO#Q_`pv!&;^~*1j{2piK@IiLchc+ zc%g)zP$(aD(-V*3^KW|g`Sep1qds_Vgu6+JVl*kIUubsjvKiDtO#R-Szff|%=Ks%n zl&qdGL1PQO_Q)!UI8#;A8sj_lXbdGge@T#Qkze}-jg|jD?SqYZh(A(Q>43&f$&Ty8 zUA72h%Qf_&Ck_!|D(IuxO;(KL8I!Cf@X z&$k&liuig{&C4h0=(U>lTWzL|B5qP7>p$bh>((+9qr+8 zT5^a8htlrRVNp(#fX9N2M`;-_S=1ES+O31ja-sxI7i3OL%fRh|o_AYX z`ZD;wMw)@i9Aa3{v*3=rLPdrpRvtZ=d|;DRxx|6}OvCPiO#;OV>`nEr^hD)(0|d!( zp3#rohLew;P$=gaJ@FV$K6>`~97L=S-W#ovyL)x%fm1L;kI-eU?@@$z=8b|(VKQOM zA4n#MA5zt{#>CM*8c+(p=>;$JpDMorgM5;~XDO%KGBt@_+SpnvW*hta&c#jS z?USyB{36pWY9YVWboq};fInMpq%skAH`NH@OH9>81ibiD#%}gbdk)_LzTPqa<#k&o_{Tm&TK6YI#0UEfY3;7Tl2Ie>qpE5!v_6y!5zp*1q(%6HrG)6e z$)evue9U};I)?bf8sScl)^lxSV~7m8Al&KEVubQ$7$VdvLsuFN>TE-$BHwYgbi7CF zf2=&_AyR~uAuY;8zN6}%<9f89FZ%#Q=vRic4zuyiL;Sb}qCliYO$Z_)US#ByhPRZh3Ze#;XYZ9YEN@JRr7`Fw0G(^ACyO?j{H&FQ11y^u~+J`RDMwx zvCH*XDsR`u5pSp_VX6G9HYm(e*-;)We5H~G^~yKGkdUUX6Q%JW>Xeauy7HW_>Zf@W z6M3$m1DxuvpYuL?nuWio4-!kJ!bhUsXfo12QqpTYHvyNrhXk1s6(UKh<_r;Lj*1~7 z6Lc-7D|z`}orT2e`uw(l3-*VFT@=C6$ih4Pys0sBm{L!@BCuTXuR+5;Mr@J7Ks`?~tSGS65l zfW$n=weKmLM3O_lVBhHP0Kzh2N>R8QHm2=#!?d#4dNbXQqkfKQl9rv+kEI|jJL%ka zby}rmC!J&2VJlMi_iRlbcRKZRJ{I+Je%ko)O5FS~Mde2)DnBSu`LT$~4?$F(xu`s0 zQF)$zUntjnzbh1#-xG=|r#|BMgJKnLG;;RY^Y|y}LiaR1>Q$EJvs7(cX-HqBwWRhm zzolxn(zMz64!DT>=#dzj{Tz8t z^Dg=Gsjc_(wf7WvF{|7DGxPS`!ri?$st?Ww;>9iy@|42oMpQl}qVk!jJ>Fn(6V)Jh zX~WV*WO@FF%z1W6|4yFx z-b1DJnZpSfvM=%-gRRp3*^p$b{na+JZA9uY+$yyd7toM| zHwv~&_)pG)7aK5wncyI%e!D|c7E zW4Pt=J!K{E{es0I?=?cN8!Wp6p3ZshbKRJ041Q`@+46L#_WG0_Wh%&zuFyJ5wK9_s z329{rTRc=+PYowv$h7etgPHUmH=wd!eZR1X>3NFLZzDpXoFRaH&*IZYWI*9e`hemB z8j|ovK_%lqISXbIMlcf`#MCdCN!}>%zrI_miYei*a)pk`%*>6Zj>nSn^H8GlNWq-& zKr-E~IxdHrn?q&aC*h&wLJJUkj8d&6_v*dR*lV-4HCEfmYz?s5w#JaP_71m?U(EjiFmkbJYMYq4M}*TVAkS4 zISW<|j9?}>h^b$&YIvi-|EaoauthFb10FoGSVb#@?XniDmg`k+Bz(VccR|lTDT36!?-xvkYcqdR zD864rd!lP zzQA;go5(l6E#Z0ka9gQ7q|y+du23>X5b<2iC0gesLquFxhO|ypB7%t6Q&nY1>+)oX zcuk)nt(%e|BBQMk{djkJa}|qyEKaj}$cNZC<{+MDsxd?cBOe$bP8>>rXZ4UzQJvJo zcU4?zsyT>+q4+@_27jK8snA`j^3Q5IKcqV~b?fQS#3SM+s**j%1rt3eeZ_c;Awp4V zT($}@z=yZ5J+=AJ&SyJ+5a>rX4q-CbH~!(c#KVFCBPw9+?BtM4fh zn*TkQRsibfvgj#sY{PUgc#I|keC^@@^dDLb-c|ja_gFvY9oNtKA|j%MC@dmxG#TK}*S3fNU*{si z~QY z2l{^D%^^KsZzCE;ghF}e3D{?o9pZVa3hz)4(vyIOB)n1Z?aKI1&VoBsj9?}>h^b$2 zhw6<2{~b-yTP#&0JPzOiO>p_6*F5dDUZX9)dbtHn9v!XUkk@L96F^?A`)jqQd9A9s z{LzMin)@DQU2v_tCFJ8WwMpff{Z4`YXc>}kcU!&%&A+MIHYl4a)aH8Biv`UsRZWIyLu$aa#Sf=U zh96LvA>UJi_NA*eLmr@h&WEOc&d2D#T(Il5kCqSON}$3kj5n$i@uVNCl@U}3Fu{bS z*G%oL`J%bKs;wLz)}ou zRxh{oXNczQE<>~-H6TNNIAt>YfWi#CI9O!j+e>u?nnlFcIG~d_tmjlfkT{+N(!GLmr1p)6X2l|HP z;Co7h-u4q$4gl28`RFk&Y{PVTqsaijH#i-@1nHpHHT~(JdA(1^F`FA0p6vNo2xr=iT%kM9AHGnzLSq+ zgADyaff}~sFZZ7`H&V5&pXaNWi~2J}^II-Mv>`PhLw-1AGW>wT4EdfCw8vei8S()2 zb3Qcnb3S|byI|LCA1xoml|Y3R;*IJ=Jn5%s=7I_VCMXAbJ*~eSXwLHG!0=D&F9({R zaOFU|*KfW$?tSF|`>-6~&!{CrPy3lG2LS5lJOjoB(J&p}XfnWk@^pX=pCBFdI-oxt zG+*n}0p#cV<4f}#mk!!67%)3wK~T%cF@ycb3Ps3HcW>%nhfy0 zdQ169Jxc8Pc>5F$YLJfitMw^*)aM;EPgAu$P66_GOJDi;h2}}B=4PEX3@Q_v*2DeGU1(q-!C+ z;~l&WwWx)>z;uh7$S;3qvK!=clehCIsEfF_LP;qh?yIWmb1qu1Nrs5;>@%cwb}~e~ zz0Z)=X3AJxBkrQA$~CR$B|}6;8^4xDjAz(*JBag5HHHYE0;|)b^%!$HhFEu+e}mOA zihP23=pYh9dEiczjL`7Thg47f zm&P=xON{+!@kCIBwa#ft}n8}6@A zng{s`h0!!kkya?p4OC5q(q;eyHZ-vKM^-2!gX-U}LK!VZD8={so3!{mi~2dA`uaHv zfZ0($=L_2V2xo{lnhfxhS|w-eG59`|3-#2>Wb#`TAES$k^m?+2PfsdVnGYtFAI}{Q zX!FM54f);AJzu^3E~T*d0o(7gW%ly@7hErSjTrYVccQ{Qxe}F6gQ$G;MdeB2F2$&e zm;x{Y0~X?eS3`KQ-ije2RI3T^**?Pc;slM_KRv-ym8h;bG(VwgyW|r5$7+44JYxatw@IHC&!00EB`3}6aiTcS43}AAFLk`%N>1WdV)HF|Yo&7EJsRRiPFPz{l@vnu}F>lsA*)Z6jK@ zs8;^^9ufG;(0iz~gPedN?-BWq!K+2zcV$w(z~lRcZ}rggCq}=G2!-;MA;7lR&7}N& z2qJe1;j2YgDK4NP32zkq@d^Huv*6Vtj9|8=B(VoP@IOb#-PU9IEzByvCh1zpn=eQY zLy-T)bc>tFcOIGSd@bPfM~W|rN8C)IO6C4Ulo#rU9+eB8j=i1Zh*t0J&V27;|Luwld+*liKm%7I{K z7}zM{7fm$>k?>2Y-!z2=&gI7eZmN=58~!!#s#MqNQ8v^jS`NpKQ}K&Qh4@WVjUZlT zs<9mxR`Ac!qpYBa`)r{E9}87I<2fO9xh^ zobgpzA=QFeih;jX1N|)+=ugfB{shVU+x)O9#Ej_gJ-)!-(kX-DIcMPbX23fUmG>Yj4=<`g*o;L?5Rz~M?u<_IDj%C76cLi%md3wSKZc$Ai& zNvRCDEa-VIrKQixVLEV9AeWv8$9(|gI(FOmH9GV(UQy;gL^;UEVvBnh4_jJ1yWn4! zRG=TPMH}q)0Adc5dn)=-?D0lRXV0B_oYpw<=pGGtZQMAbaa?2OL}S|-yU(i}Rska{$g}kV zE;aVxIJE^snb#ZYrf?HI%B${(FErK2Au4`4sXQ?_+?hBaLQ7`IXfNP^!yOYkA{@%D z>%gL%lmU+g8IRJ^Gbxn;mjyk~rL^=h`L)I(1wdxM4?sElpR7YqIlWbfic#?QAoptc8@BmA7;zg@*{pn_ZL1GPe50vG4$&o=E3-^fmfBk^r6ap3 zDN1Ha<6s{F7|cuz5FsUXJKBT8fr$emv`V`*Bepsgbp^cQV|ZN-J`>z zoEZTR`3X_SqnblG6Pc{4Bp#)uk4V+sRl&oWj}!ozLl3CqG+I&SK17-O2&N!Dnilsi z9v-qZcflXCsCPlXDyba(2EEeAY@;V0!zoD5KA(e#^}&0iJ#}Ch z1rrBGla2+WNont@E8ru4qQTP4q^_Qg@IZk3luFCp3QJO@Wi)qc04l8y4~);WwR;5D zJUWv(JgC>RtXKB)BLLS-5cjlRV~G2xYFcB-(LEa1B)gnb_UO%{Pi-t|0Kc~(WfvH_ zy+Tc*A8s7ibEg{2yqwTHAEfiung?~|%`gpaSjz1%ktW%t(&xHV`c#)npXpLLh|Sk+ z3|&O3bsZmhd-ek3xr@p(7nSEND$n{?%Jv>T7DYUzhew{|R$AZpy}A}MS>#i>++$Wo zCu*$|qTb`XKD484a+>#5-c40#mcI|ffDKIaBhuDQNnxDeCxLZjbC zghKhC0kB`&)u4^YG7>(JI9qW64M}*T;1TA!`fux=k`*v`Bjp|)(!F{t-_2F|zNBj* zKkKOK5oht$lE{0QF8}dW@HbE!$sgjbrW!%q-Bevfz~eX9fZxnIb`a|w^H*2%j%_;5 zGORH~$jDU^u@0aAL~9N|41B#~{^P4pROe6E^ zZcz*QT+=OXBLB^F@|(5pA3hIO8wnWV7fdx55yYxKX@MU+q6hxXhSfn_VyZ48Km~kW z#bAwC$2Q`ZOf?S?as^hqM+*um~^~eNys&R&mN7>8M84&QdQc~ zfS_C}PcqDSi* z^Uy)WX=UjBR$5o44P1Z9;JO3}SSekPB`Obeu>wG%yiECi;kApNR~Ut1L@1OOM!@b% zc8J6_ynz0j+5;Mr@J7L{%)0u&N&VA5D7sUASzQp9>9JU$kWWjx7V@8dl`f#jjbEda z3#iJwnl4|V@OiG{OHL8*RCu{NLA+m8)e1!m{NOeQ`11|EgZOh(jUjGTgYWccwT;IZ z;?s3R)lx<)@yPa^@Yuw#+K9NRmNHrgCPPGqTN%=tsZ``5iU^;|kk&5A5D~(ap`T0N z)&Om8ROTXXp(^>f>#D|#BO5bk@3`F*3)nYP2Us@E`CP=Os;VCYwonVMI^S1bD=mS; zi11rqK7^Bt%(gug5N;*H#rYa(qAXJm@j@MkY!LTDW^CrckI+u|aptZWE9nr|hzx&* z3}i`T+iZt&n~t4wk=gtKWqX%Je+&_h>q$_$+wDXX|G`plZ;tQF1Cu|gsjPa<9*qYr zH(f+huzs0>?V8z`0K`z<1{~y*VHaNu?rk1Y*DZ@f7ZGGDx$T;>cgz5G)sCcGb`wO3 zv;-TByw^zHD}T)5d`)c(^?bKN=Lbo$6US`H!Q>=$F|Dzn*`x6h3r-vHvvs>c{xAx1 zgFh%mxj9vRd@{L51bM^80=Z9^8D{2l+6@=Mf{)2LYC5%XMD}M;fsG$;gW0>au2M5( z8XhMTk@j}Bpmh<+8>Su;NEW^zhL`{q#c)&g3=_FxB7!`5eY1qII>_`#WM$BW!jFKS zT#n^oc&kT)zSRr-t*m5!s2RDzaz6(V2*JCmK?6?BD)RC=1sXh6Ecf#)aRiW{4h>+L zPpl!0?kqhPdm!XzC0z^oR?{tNA>U@Y#ZBbLu3}%5?}7074(%ryMZDQmBZwdt7wvA3 z)_RIBQvwl}m7$LkP7gH?9mL<8YAzyf3apMf#Y1qBUZ@zb7G8*TtVb|_V z!y2&#>lPdN7#L}c*$PW92KMNW@q^0eTgGc{&MSL!F7LG_qq$6dd{>X<^@7Gvj6fTa zQJ0gJ2J8k*O?+TpPE8v0}HNDIb-=(7dk-HcraaW7MiAwscQUud143=#2I8Lr-G8>jmi z);vVq6j<#Zt*etEV%=%}fHWWJFiu};SaT6^Q#c(qr#B}<#Jbb`vDD7m;bqowKFAA` z%E#wzdTK(CGa7sLmQP>4Iqj2Gzfq;1K3~2nw2AUeJ^8qFQeM@Yu|Rf3%bT41tQu{c zjO6>C(0)hHK1R0L1Sl3672e_htEQLHF<5I%dWw+df3w3Ua;*WP!se>y11~mp^czMdYg$e~x7WAC|`d{ zrPHItzV1_B2`C$QZj$+eDOp&{gdC!yAXw7fM=GdfoYqoat7H;VRkHU`X}y!U>YuOd zYJPfY#?<`CN3ZyKpY{<%(bD>WWvhe8kSoK0kaYLShtQq|*TpZea!vJEqVhn8D*z=3`Ms_+r>k$Mu)kc2l1K73nO|9-C!l%F?=i{}a* z$anNuY{ZbSOu82GzaE`7SjeZCZgCU&PSfQZEPVc4@g?(!OSPNaC?mdKRmD}j+oJ`3 z@IVdt^$n|oNUwNHlXq-K9rJ5N-f@_YGmXRu;vTA!XPtA98CJDbq4g=VT(&22eF*tp zWt#TDy<7ni>mBpY1nEdlv#*mJVanCLs|@4 z>Qt_bv~V3f2E;D_Ye9K)B?TivM+9w6$o;=GwqL6_316I2*wY(J>cf>BZltp0V_jM`KXTQ^&!yT&5JgMt3f0Q2Mr6d5VL(W_ z4}udDwbsDJtg)#pv(;<-nG?$u*)eMY`7=~~F+?@rfe@&2M21K5(Ojq&odaMv>Juw*~KB>=;)>g?7ahET%xjekft?6>7)26h3V)~u1l-Nd$e#O z&-%R!QF#Z!#}dG&m}Q?a=O)=LASTd}Z%(?bxj{7)&#QjU6Re-}fuNlJo<5dnknyq3 zVFl=e3Mh*+BG}U!6NlP#rR2p9F_ntg`9KAi`4{N~O8w+-R(!wk3QNzI*%TZ`giLw) zrja~M9Bm$!q|S(}C*ie!PqoKW$jloBuYax42r+`0;2=&)(i;W-Sz+F%%gF}valL#u zVRP#pd#GwFjW23?f7BMEE+Xqx@ToYxPS#$sCdkbgt<>>A#P9VPdJXt2Zbo*Kg)fMACT0cm$9kCWFF$_W_+8|V-4MHW_AXK6aLM2)ss&kZH zjnh9oeQ+XP^1UyEXcJ|r4jCM+)Uk_L8=n~dV`F}~#vE?4a3lUR(uC87jcMPza$1>* zEP(ZMzI5y7d;!gBSN?`^pq>DCtYcweYq~0l@{Xc)+?>2UTGgO`G@*ONsA%Lrpb>- zRDLj`VkF%1#Ul|zKMYa%G5kR(K|+e=HIo#uo%6Kn{oqHW>*svD>*qY(`nf^8sf&No z5?SXQ`#7yxHn-9Z2HBKeYgSUY`-|;H*Q9u!=G;jko}VrpU)KFirKNSD-79twYa1Zx z?klV6?g>^}Uon-|*9tUuQ@T@_t3-fj*?%FVkbW_xAn54LLnOZlfPYghIL7 z2kh;ZhhaoEgyCJmsfr6|NWvQhyK?*|XTdjoVgxh6K}`LE9}o6Mfqzm&0ZT&VdO*Bu zg(BLZBt#pOglK&xU+5}VCW?0=D(_*j+U*iClxGO)76^Ml)3W#!UWQDGxIl$2!*mb z0GnlxgohD%(iv9KhKdVlNWvQhSzK5DJ7^UjYqMnRMx{i}1s}iG>L?Ka2>4GKGNsGL-}(Aq!J|fZ_rg zlJG`Bs_~zk1q%j7FcTca)Gt^tyiwrae;gCk2fK21zj1;&3sTiir`m+2O@kQbOvesE0XpPDXz6$Wn8)kaDdaW_>J zAAxjxv<^vzi1?`tX-yWlazRaJdyF^u5F@nPluDI3Eu;_apyg)J$W(inv$WMmy6kl!#~ z!@eF4RLs8__LzyM(ORmXjKT-}^!gisYjS z1Ce5>@j><35R2hcJi)TJK!<&i4ga9L*FipLC#f}IkgsZF>?t7!`+?P-2O)%?5??N9ZadlsI1`FBycf_H#ErcFr@v7NTJ~ywPNUZ_yD$Okxi<0}9eXuXpyxi{??P zwsZh_QNKOSZ>gGe(1yW)A2EXk+{?)0ioRhwd{2qc)1IX1@BsC5J{{gROoum`3~+@; z;wO46E*{9&C0z^oxTWdhfxOgo@+O|jmzyrXc;NGP#g~f*;v(%PC4e}ts_L3R>-=Ph zh|Bomfzw}_(+=Vi!|_NV&ISI51~Ag*8^rWO9R zbS&CR)9L{vdUnn;z!sumI=sij!;EG{0% zS0-Hx`5Es?7Z2ni(=Bcy@ATee=Ldn$t+k(AJP>y<)d=DeO^k72}m$NZ1G@-d7?V;HqDEHY}Nh_EiGjrM5$S29Gb zQyI-_|2E}LBBML|zp4!!eoK#H zbU=^BcWlrd#F~c#A`b^-fxrU@GRZtMQF&fp$VMa&>3zTO699UC)yNMcLZSS40kExX z0uLjmhy_phzofW;h9taE@G-!;`uD3$nARa3)GR#~t10rclCFh(qv;m4kXM;*aTEDF z?;E_D;X5Ahw@PiL2a`+DL*BksiL;wr;P5__%30@B02L2-k zKZ00?ZyWrxG&-`xBQl_Pq05~Px_3T zMT=ixMdh)A1#6-5fke41_RYaD-9Xb2@^EHs+P7vX!jdh2N3{yCV*JS%0FU**#=5O_H2lM zG}Q>=|EQ{3i)eK;8nS315|ql2R_B9Nhzdg$C-hhu(pr9^86w`Ts>+bo{mBsV!9GJ; ze@TXj5A_++B3!{H`|&#ZKUrYL2*K$Vf-wf0fU;$;qW}vHXg=ams+uZ)h_X!Oo08ca z7dBb4$8{J4Dpap;RJlk{=6UeVr9sLi}_F}VL*g!tkbQ2TEr@Hf&yluxm2 z5A`0`OD?(c$MwErrS%@^d#Pf`BI`Q_SKUuIkL9(^_X{t0^gP@AwGp9EUQGde*p{F+ zB5Oo=)jdmb0S!rbqu}rB*VX^i)&F5OzWJ|H&%umsG6cKTfLaRXp5cFyE)o z14UmJ>urKZ->}|AS(keS8nt3%D6FUg1#ebVQE{E&nz3e83^sJ9HfCqr6>k#^gpwWs^M({7;;5nO>N|{@iqa>N0d#1 z$z$Vf0+_F7FnMgeO#lN63UF%USy{rpO#t(IWs_j?^7A$U%mzAF6HFdrZxg`mn!)5D z_BH`bH-pJT>}>)V7PHz)kZ%#!qQTubnF&4TBR0*c(UgA-7^NvUBX z!JGA>0l~xex2p->Du)>`0|K`JGfZx+2aiVTmj#bgJXw(7<(Fe`6j0=e1vml4XXrf( zCK9|mUOXUp*v{5IgSIn64l`f|1a1Rnm^@d}%4tg@^~-|yZnZyIkK+A&-5GPQ8W4J~ z>m?6R@VEFZxjRguM9SVV@Ix?xnV}03iOtR3nJLQ&sU9 zPq#;FU&WU^A-+jfl_9OSBtyiv_8HQGaj;V6ggX%awGp0+2*rX&#|S6*?C&Ir?Mxf# zBKgS%TE8(5^AHKVEV*JxEBRfvbRzJZ&9PBM{;qi#0b^#0+MX&B=32z}?+c_)^O(ZE zO^^E0AYhPW0JV5;% z0V6u~bDrJnlsqY@+df)8z#&lKE3V$CPQ;V`pd&360X6{*CK0_(?#~y^GgNKm0OWKn zGA$pP8>*UepuK6o`Rcfrna36E!*YOsEmiC7r{&-QBzktvGr$(2VLH6gWPs=9=>VGn z1?iyI*ZR{z^WS_rfZV)4zBIRV>7WgR0dE|`f}oa>#}$3UboibUp_wn&ba;UJIiC)1 z8>Yh>O$NwNSghsIEg~!RWa~DAW)+d{`4uW#%738gs(Fy#2cgB}mT$U#c)W*)Jv3#N zmevbZD?5Bds8oiYO{Mi=h0wK1Os?_x1y)oZOH>|cC*=c)a?9=eh5K-N&ax4;5us3S z@&S8CvP0ye9o`H)UF`u4NqD2+qu6!z&-I0!PVgDQQl-`( zwEmn75g()6DnnW@4pvMEpKt6sh~G8UJVYo~yFgkqjK@4gJXVH-qJ$@@AH*xn>0CtI z6j<#ZtqaZRTtwnh8PbAE@S5zG)!Aj{bPV`glFGCHrJnku9{J5P+7GL~@3+`cK1OM8 zmVRb!iQL5$zr@C=r>F@(*H-@48b+MlRgL<7kZo*v6aBt=euK)-#&QZ30fDz4pQlz0m|!) z#Ltt#ME%UZJXKjU$ih(Eze=An%YX@s0E-a{&>bYUs-TT*dyI zxt)gy=2Hs~+imo~?hnkmZ&vHvbE<#fY}MTJfmu5|u>0&CdK*clCPf@L^ihK({Yqs8xiqq|wpZDi*TT;4>9m;RKZU8D)` z>x%N2?4%R}%9Ep$D5)oft;z^xTx4i3%5Y^cC<#^nU|2&q5|>9Kqd(Tz5>ELXn%Et$ zOhx6%2cK3SuGW|a`$6KKOtSCu^Ct2P_x6rHFlP81q5R)g9-X3Uq;w>rD7Uq6%kPG9 z66KD1a+Ah_o#cT9r%@A#jf&qKMvaAHx#z;yBzwJPtjJlVmKBR+qj_;OuD ze1~?I{VgJ1nhp83-Wkm~Gka+8)od)gpgMyF@4+@1=Pxto9YjdT#RUO#c;IDT3& zK5JNW5CIr!9JO@HjH6DNGGpfK9TzsXI_hK6dazNnW^Xln=5E_>d(=IR8Aq)uHF7?G zH_Q{B-Z)BrTVa90M1tau;%s)atEwa+Ozb*DtfOUCWY! zqxH+A$O)Wq44f^Ul8r~44GnTOG{{-L6^8Dur&P4dm{27rX|a_tx#QHzVpA>LFi;-O zM(-hQ^d8nu5Dtz5poe+`poe+`pz|Os(VX=K!S@cw>w9i2f95)V+I0QRI1jP0{LXed z%fL8#tm%#M|4-ig2VPdq`~RnzX*wnBh@0v%Dm7f(DYv zqy1dZ_4>75>$TQid!O?@BSq$I)GRt&SL+DgqSx{aA$JM6XUV@p3Hej)ysLCB+bsX9 zyP>zn-O#s2rXg={bjrb{HVipcYpV=OIwdX%3i3YMSq3GY^6z0*-Ox}?n!pfCUWVhj8>GoO9Dj~bSvmluqRo9VzEn|;69 zn7LI^W);b;id$~Dg?k@%%fcys?9SwUS%>#$9n>t>AwJW6+xeW;AL4UXe~8b#F0t@m zdLN&BhP-Bd3-XTR8`FpN2yvNS^~N-BRa-u6g}g;O%ME;Gxx?4p&{H&G*A2a^b`O|_ zyld16xqqW`1h0_fsc5adPC{zLgeUx;njn?$rjZjJ;B|C`AQ<$4(3HBiW4)8H(b45NS9n*{twd8PG~I< zIzQXH4_8ZzEPq{K!}z(G-jc~g;Dv(MnkT58*O>nWz~p~Peiy*>o01-IwNmoWSfA3T zfwAC|GW?-GMgE2syvodHTRv)URgq}RpQS6}V0%86ADUBqXyOX+GmYyN;1T2G<2Cmm z_MfCO@@x$}!l)78T%$&T7_VPLJL|37d>8Xg#r&6-a>Y)h*vW40C_dIgoeO-1QDZm~ zM&Nyws$-;e|0D=Ja6pjO(Mb^aiUC1dA5Mb6j|>RX+K>c+*AEEN`gsxr{$W6n7Be4g zZA|=PoA@s9zN^XA7;ueFaha=bpVnt=;>Um&G_v3A(_$9n6b&S_+M+K@N_=k(MZTW0 zX=$I<$yS;3fz*F3NQ(-UuNQ1w+NVYM@0CwID6h6TCHikIop2a!1zZUmEi{+GiLn%D>+FBpYIp6tMh+0+NdVf3C#$>wJD( zulg;1nj4h1zuBN>FV;C!d7AH2n!nkg{oz4zzv8GWR($=@;G656;IX>kDw1V%MU&j; z{95usdaWcc*9PmUB7dN9aI2_D8Z0wDgZzeWCsax$OoOsP_+h#SvK?2#G}w(1UZTPu z&}${kPW-thIV@AGAvst-bD=(Du#%|zW*-ZHrQPiFK0d6IerNiijwp=qk21W_L_uG# zK~H*P!nkY&1VJGP1*9hG-GL1MW9(II*HoE=4W!`euxW7uD2J>?M$y%Rv^W8XAduUC zEl7(KfCvJ){nvuDs5=q#<;KkYd~ge*`5V6lF>;psoPKhY)j4g;# ztCl(86Hi6{pWl~AA48R;`l9FSzQl-GOU*u3RAbLFJ@zcN+NK`0PhBZyC*Jn7u z<7wI+Qy-^M?)=SIIDB#sZ}$1yb+gYeBcCV9w?CZ=<+CD`PlixF2SWLw3*|>Flpm;2 zetbgtVF~3&bCB+N%({q7Fq&iD!dr^@{^3Iug8_1bXOcx~`$of~f+%uIV*-WRRo}94 zI~2+f@NgaAadsmaAx>^6ayZ+h_Y?|MC_?8*EEJH@)MvffdZy$MDuO`juoh&7(wIgV z6AwS4>j!Y827a_&^&m&{`AXZPDx>?94oT%{UZpgTsV|9GP6}lDaQ@Q;I zJ)h9Zf=}rkf2Q<9lB3VUm+0BekF43}2iWYRXsD28AH$+3nti@Bnti@Tnti@lo}tx1 zwKrw|ua3#b9X>OAq2|DSlK$WpyX^K~xLWUY`2?oEd;(KnK7pw(pTN|&t=Q!4tq(~k zABj*t0HM5Jp}f1h>Qm#R^(rq!doR`)t^$si2yR1m>v?9IRiX7(n-z@Q?7`sH1 zDF=IRDmd$(t3y;}ot}=feAR$y|eT;o9$pN{Ug?}h{j>=;+48jWqXKnl^ zXTez?AtDnyz@!(P^}SHwpDCgw%b#TTB~o&}LZY8;_qOCO&%7z2yrtmp(=fyWu2&N+ z*6?3tIs4MZHTl?)6BHXpa0)uwEy;RhJ|*$)vB2pLU%7rzXkL)kqjwoBzEd)PQkq^b zta~)iGJhQ)AykVBV^2zp4@eHf#kWlDVl)iG3kAiG|Ku!Kd_ZOyK0DPx+~=nv@sGiZ^f{_XpQVcQdE#*I zGgS%uY4%ad(Qm~o^&IbmZT9(?n|(g?W*;M9Qk#7~;AWqX`y`!2YOg8#j~utpTX-J# zLe0VXM67a&kagVeZn~=TRV2AuBSE;Lcw2yz>6L1~E6x>P*SE zY|dR~bMafXB`2O0%lfqbU>>?aoYsOqLpAGHh<7b#9I}mBp}ei&B=iG~hajr+hSv)Z zA!z>0M$`ckLUqEy*uSNd5RltzcoMo^?P4?x!V3i_5&S1-!AS@qA`?5nq!*loyinku zH}br14&Hzk`qGw{w{rYlyVSoqtw>)7`#4Qmz+NxdU(uRtFN;TWt?bjOL!GZ`LcCr$ zOK3jH{B?kYP?Z42cGs82l1(7*kHb=VwA#gJ7=#xJrfNt1FIE4)&}+HX@+kqI2bCOe z`|%TP$=;Ss`;|+*v5NH8D$*B-Hz(ELjS1yV1vQf!8o|&uzjTtD&)%V5gUDCQyS$UcUGDEeXkE>>V3UPuB*+so#u(5u@4XCO~uNM|7n%7$R9Uvi8s{mtv zN*gPX0t;8mSJf^?!yvp+uv+k+oCO;zLPREZfJradSiMl-pR!|x1x4$hT7u(-{~A%a z%^sz9dcIdHdpM9U)lT#kTfQ&CEn3w1ng}SZ3S!NLmCf3R2As;!m>p3<2IrWkPxbx$JhhY z+5nRAaBZwpyBH0F@Ipat;y*bH)&@dECU$^HFIXF1DDeL@eVxFEF6Etumn=&(Cnd)x zwJg)le)n%wGpc2-V`i*zsu*0jZ&I z5v^3a7!8B)LO~JZKRF8)5kf>Jc7RDQSVUeZ@c$Qm7t1+Ec18Jn312O~rh?nh3_Z`@ z-~QxiybV4eaRvB0Z?C_^QT_`i;7!Jjx52NwILZ02@c9foOOFDtQB$%YfZtWBUJ$hY zS?!A;@F7aog0!BO1c8eN1Zj;YLEx(g1ZgoeaqUO8T1WIo%gDif@Yif;V+`WA4KeV& z-@&(J<^cCKY7F>|i%9RmeefpbWR~yo&boW1Ugdj>z^;y|{9QkW&d8#FM|z5enrqbtp)x3dB3u^ z;bC`6<*2t6?0~=0Brx)7pYeL(=7Z)RER7u?AyhjX#+F#wc7P-{+yS?$U5ti7c%fhi z+EM>+*Qve2isz(_JN0S(L|M5-e^LXbyo0-Tt~HWtWs4N8tJRl&enImZrR_UWn7mp8 zLSCC+(JSAHqD|aGJ{}W?Xlx! z!&mxVsOiiH_RTD?^d-%0$p%%jr|z=LYy%$ovo7X+-o<7+@*steO4M9kT5OrYhQF8E zJW#JX*)$JU+G=TcwO;5|XtRe6nLnZ!m_J;h8}1BVQ!;ezYjmo- zfo7kd4lf%{hZma2;8S!%|E!(TM*c^Wv$q|PvXj8mRQedbYQAW`Kxx~(@1myeu2+?( zc`v2ey=fD{km>NTSDE+GhtuITB|{5etJC2PH2eH?JW~fs_L{QWV~6}O;BZ>KP}7+Y zY?%v8mK5<|CRk-?ojo|MG|%|v>#D)&p!pR) z9SreXgVRCtdu}>t6Ty(_APUyTz;vJ+u4=C-8G6+@ZaOf~?DN@UT*!vg;e{qL*y`6W zd)Dbya?fGlM|u+zicOdo7DDlwoR0;B0`e9#{t3(L;6rHk`AC|51Vrwe zecnGlNKsfsUT7kN2j)eDZBqGHE+Rb68Z083kM%`FIM)tV1+1FAk$@_OMXO=!N+!k-Hy zgz94~j2&)ghR;Pv(zp|!yvp+@UQLQKRF9N@JEQq#11g&1t0i(p}_xVbQ}*^ zW1m?3T1%hTma^}htT+2rdKKzWO&AAbq5Pa*rM5TfRkr||KTz6kQ#jr_xWmxA)$K5} ziF3#f<40I+Cb&YkBK;^U(htg;ll6GYn{?CgR-1j^c(c#vvf1bTf6+}?Q}%D+-}?yf zd|s#-q#w|4+<@Y88>aP#!P=s^la{m9))`v4XX{mqh2|TT=4}IQ3Vuj!`Pe64MqX1g z^rmyQjDk|JKA#81MWEqyc%h~X%dne2aDYVmw@u(oJ^($yAi3Vuj!`Pe64 zMqX1gH1&Kfqo7o*&*y=05okCaUa0BJ8{9`T*Vqt<2QxB5!?Yft+L|w#5AoB1$x8;O zgXRa^bkHV(A=BYwAD9kw!&U7yB}03^)lCNmnteVGj0@RtI=s+C29MIr@jXt-J+It& zh!l#a8!QV&LGY$tD7I>jd_wv7=cv2+gY!u9WquxU{FcFar1^F?kF<$%$UOQ%S5xMP zU6J_5U`6_&hcoVd$Rxby0-bU1s@dl~Hv7EeW}i=fv(L{$*G+m;_U|2=AAeZkUZ^<$ zKiH*iuu_$NjBz;+Gj!Hq?b3XcuU%&A>cQHj`4v~Yv{_I?YS#~EcYf@9{!$9kUgY!r8qkjIVlAjE|4yAdMdmT!fZF9){ z5d|CW@cA1SKbn%EZ(lfks;tl3VO#_nPKOt2I`anohlast9Pia{z+RJV z+$}z+(jU{Se&>khCzZCZG-2{uo8js!O*DU?GzWazL@?wlO+NN&#&CshxVXHgByssW zbjG}aW}i`h$F0ze|F^yQ<4tkk*mPN^t_u84#p(X%Yl} zeL#@b_md!y(Z*jkAjg;3c)P&cjT!?IPid>$r}ZIoItFYy&HrV-`)Gn@TB5o@aww~u zEbVFL=lR*XLPKOeB#}T2{okFMPw3z_=vB9Tn%`2|9uk?3)tWDrr+I`%1&gW|(d z%$!wQ5wk_IE0PA8=i42$Z`Rqagqd9Gz9MNb5-iZBx+>w%Y21`P!W)&R{wrY`)Fr}x zw0I&Z;oZv%$sV@pBHehs!Oefa3S|srO%{jGS-m)X#zfHPE8aX9+}6PgrTIr+p+xkq z!IGo-UZtr}+6-XGnTII;o)yZ-2=&gZP)17;O7ZRdE-gMEMYGROeY1}OV0AS6d_j93 z;R^9W6B&GrZVN}+%^>^7d**7_DM{qD3O|&nPb>UNqS$2~sFfA`OFXZ4hW2co*lN!> zVD>W)cxVNl_N)UQx_9;s@57yz{H-|d+3tkGJ#!_Lp9Z0P_J#6E$6d{pgb3J( zhu#f|>qtw>kn@L+_73hB{2y}IMje6-Sb%O&}j4a(EJQfW3c+Dz1t4b7*i z+Dw>K%8NUgpUX;^iKXxm_VWo(39{{P*FBSPiA)yz^%v`oM05nw?DN4i`v|D9BbiOV zI3BE7{(JeS2$Wh_LFZ{M8nkQKJ9Uvi8U**Ku)kzM> zlS25F&zGt^M#CVyQ1A;U_)pG)uY4jzWMT)H^n$N^dZEDo79GdUdM#g?fPa^`0{npY zrk5t*S;mdG!S8xslJm8I&sV;OHzcFL1Ju+`tpz~5v|GK6%ci$C?%RhsP=(vAmFw#s z7`%&_Va~heybHXCIiC;2V7V~6eOeomAn+STEd)MRQ&8*DI!;;n!9(C#1A??xCqW>? zsx1y1*`sV^9UvK#AA4TEj0V=^H`&%L8)objGd359z8JeTGPZfBu}7G(V}MUFY7UTE zkaf3tCmJ}P+FHK3u9`-~A75KjpVq6K+krD|UgjOH@ED^;fR`9G4|s)9BR~=s?4hsL zVSGWa(^|_nw)(Vov$#fqRCg^%i_~hZuNYeE(nB#4Rc)z}l?wh;1H!LtvOt{P*&+Pu zA18!A+4Ph@^+k(>NZA0H2&wT6QH@`j)%dO1D7zTDua(jm5c_holwUQY#gxhq?a42l z(qe*x2R&xDF_kNJ>eIrkR@0oJ)g(RMnG}Us^3`;2Eo400*`-x@FV%Z`*8;_gz{mH&h+oDACPKMu87eYHDlgDSaAjQ?h^L zqsU%X6CWn0w3fEO4>ph4uau*9h>A>UJvN(0cB{rTZfXrHn?*y*MtT?rxsrkqOFmJH zb#1VT%R&Q^eOYK5qlLCUTWGJ)ft_wSSU?o1CbHZ9`6|rKu>N6IXyA_LEw^{Ky}CsBz^a=mG0A-%bmo3vXGo4x&$8Thw6h{ z*Xm18idQGD0N-R>uK@qTxbZf4){SYW1V7Ta@izEa4;$s*_S|xc3tq7~Zx>HZfS4U{J)+7*syv*~=od8jC5{%9hEqwUnNx*Inex zEK6F`_v=HjqNhv8($;?2>5u+}YM{LPfM1@t0(|68(_IDpG~>qG;Aa_^-&OGW616XD z8+bQW+o|4Quw`)U*-|EwbN&a1zyPb(>QfXq@YNGnCZ@=eRKs=&$q>SXuUqVhXZ?HLE2 zBsBz!2T8DBNf_9%;U8wh9|Jzqs5wA}5Il6uRB1-LJ!41r3CSanV5Z0#0~5^@Ns<2# zQ^-oBK-A%d9B))Sq5JE zfm%%}7>LDsmD0LQeTpFP&`WFGT9DRblodhX8wLbvy(tL-KQJIj>%&P9_}KwLT301O z;EOJ6#z^a>%1Vqt@)z$-Wbn(D!4B{|%itK0RFt+leOf=T=*ECer}-v^)1O&coZJFa z3bGuoJ8e3xWN+n$)290}__^9)qNlY^TC-E178AWo`RV%p(gDGA*W$Dom5D9sg5 zCf&p#nEG0r7E^EH5EMWyPKyFCaR|zw7Na(dt0q1yvHxysWIm9Yk$Kv* zq)&^~%3IKlODxg&37#yOIt+-p^-IkhieheE{%?Xk_Wkt|AS5vlY?!+v(fvj}{Px4O zrzx#R_Wx;JjbEWvUvkVjlUZ`i6k{kkpI_`#s`d2HBAGTl5R_^yPKzK-oJc8P>wut! zYdf?Un29qwYPc4s#h6W;fm4*VI4vsD#33lkTAUWyGx1?5Y|QwURFC9D3P|dJgfPOI zWq1svW*G$m)U5ZupYD-NSsgqr=F5VIV9IK7S_Et2#LIkH2Lw}A+o8qqOq>xiWwkgh z#%-#V~r6N2BY zWyOWP@*zKuc~-Uu_-Tj>jqLwGGa^!J^Boc2R6wxd(nU>(p}#salZM*K{`(K_HV~3;MbjLB{<{J8LWezS2%YWi+%X6Vde* zx7ID%^4|(%W&XFFKo9PN8I2sO@*#}m!H(p?j<84wuk`t94SY#Dw4JZ;ZHfAb!jC0t zqrz_`>Q@R|dRmrP@1ZbdB70N7sF}jQ?}Yjs)zOf#G>mLQ83t7(WuMQ={CrmC<1yLJ zKKFRL76ip`x7Nzmvext?_MN`pZtHg1xBql4af-zEpX_=l0;piOO*8~Z@4hdK!l>`erI(!kD~i0tHbOq5}71pWt4th zm7Jf#l8Z)7KogA`pN&!Da^g|%*buQz8f7*5(Fo-SBh+7WOJG(STLQB}s>GwOk56k6 z5c+PdsrUKb)JiIwk!GJCOtX(&jbt|ah?2r-_W5v|ecOs#KFMEqnooK~`baC%hggw5 zw%VrKRx8p+^Cg!>5n3BXv-Y$gnzg5~=aaBXJ%~nZ=FzM@%}29YquIl5yxA)|0!Fm* zNMoz&%Z9veNuO4-HVV9lI;aI{QA%QSeUyatQ4-c$61eeIA^BTh?I}o&c*;|=K1FqJ+z8;>cdHP z<3Gz)y7;^@T8&pmtMSUyxHBT$MeSz>@QEygi@IzvJzWXt;|=9jrTz2CGuY zwWraT^!~z4q+U(5*mcC__S{mq%ky|u#mP>7r`~7Ux|j)EYV5;57+&wz=j*7c$A-g_ zZ1(xOYW4;7ZvK3o5qH{z>}JnUbcfd0qCBJ2tPj6tec(0gLsq+PG1RON^A6U9cU_m2 z^IVbM@gZ(rx3eJss*X2A+xdoQJKu0x;8@i25pT$L?nm6Q5eGi8k}F3sTwP z;oq$cMjxSZKGkMCE4vq}^c(bAO|I7qXB^Fw%wGpc2vs>@?9moP2S{9D*}YutVl)iG z3kB1T|KuzvJA{Z#>;RKqPYkQ+D8Z{b_;Ye3QoUNvSxm*2(;x70akM73_)Es`Q`qT9ts;3+n>SpP0W6 zkPxb(!`RbOaRO6rgL(hH+Qn!Xgck~mV@Lgy+D1{Wv!Wu|QWfh?BX^BTTNmB=*F}}K zF1yJuo2aN7j@L(yx2Mv4HRJfKR8-XRXKa#34|1y|D5?upIt45Hf!7P?6V3OVzYdTP zs-nW!gHlle(<%;%>YZvAqhSzUC@3oYCuhNqhY*p89bnQ6g7iXxf2OEWoL5HWFyw`T zpZW8mk_*auNOcV}_qJ3>7<;IFhB)f?;-HXrSLw8}B+XtgoI^DCF@GH(AykEgu^%Qm zAfIuDx6XU0JVwJHyihQa_)pG)LPChh#11g&1%>2=0{?ve$Aieea_m)*Wsi+KnEgkkEovaFB{TU9VNGdA+az(LBWbb%2CW zRX4_-m*jxN6|RB@sys%+AiPjeh4@d-f>nSJk%=8((hF9B7Yh6{MSO*AJHO3FIqYNU zo6lSkbntDEn_Ric*Y6tNo}%8QROQ=K-b2lLCpGKK`nKH9mFa7K4L|awmcWm&fuG)cu%>>`{;gV7<$AraoY9!WFMr{ zyMyb|n_K8AbMT9asNf4^*oDzB(=J2YZ+|Kc#hY3;PFH zsLNYmOqPEQ0ml54)^Z=hlIxI;jd*v67R<-3<^j5WDpP%I`q*2y5b(^`w=*VkxKzSCOEgr&te%ipx^?mwqb z8>hAOBs|IQ9R;3*jXfP3c?y0r>A;WF1u{)@)clx;SYL8wEz|5LLCGe!d6|!HSxvcRb4_MZW3g-3o=%@91!a^45hK zX8TNCcp?IPzf#pWX)rM&M+{F+4uMZqY9Jfi7ub>8HR!8S43iji$Jv$dN^aSL^s*56fn4Nhgps`S}O|66n;rM9IUHb>=f zot48~HB&P4*G1)UUH1EJ-iK^7kK_9#ETqQ9W__$`JT~?2rBQ6vYqQUnqxWBahr|0V zIq$FJyr1a%AG_sC>Tk0-;+Rdc+O24?mHlmYwMp&p!5;i%m%GN^N=XRC%xvE_n%iFB zr(KSLx$Omh(u2byTU%q@q&a7^t8M}8T@0rpaoX5hH``)jxmS`ba0&El#fBEVG$gcw)_h;3i z7R|SrzYdTPs;wMjFR~yyK;jCw{PWZ;RKqu;qK9z&}&e zDBZN>Q!Y|w*Da%9n8}J{VjA_FZVuE@B}pYQmWm|$%QX8Hd6hP{Hc4M%Cv8`e6SLH+ zk60+b{)F<;3gu%J%10{HusD~brLeD-&Qq*3M^D$Go~PGfDa=&qqx4!8oYxDh5Y0!J zzYdTPsuIW8nHEF`NL=Akc&OUNXc&YS3Q7_G$yu-z5F#?M15A3sQt(27|8reQH6MYv zRj?wOeJl*-wb{pPQGm@pUy02=Uy{u}Uz^Ro6Ls!LQ?rl!T&6P3zN?hm8ua;+_IZ+n z#uhszk|0^hn{3M4#mBe!Law2U?MSglk<^xxaCCKK1|l^ydS#vv8W$1^Kit$m@GSUf*_zPBUnS=v3be^7>wo*Y|?Fz8B>6 zo&D*~=lH`q`>TzaKHeZ|X?p{6o~I+NovqotntYETP%gDUVTU?zh!h#Os9z6f|FA z{yIQHs7^l^d$$GA0TNeuN}8{BF&YNpg@RKG{*$xdl!OqGi5+0l3rGi^D zMe|$cuLC56YAIms3l>BNNL=BP`HI@bXc&YS3Q89L$yu;u5F#?M15A3slJP=;|Jz)Z zH4omt+?svdfSK23AG5{Ly4mN8v)SjXwAts&wb^%~&fV#HZT6j~+&hClagP(}Kks3QGdRFQtRD$?&qjPP+fQaS$+ z^}X$&KkDrVr=(l-EW-V^I*WL{@PLBmRP)yX5<+$Q!PuMiPALZoAT=7ElK#lKP3?z4 zc%k5wg8$?!I3*!OWRndNd5j1CnIi6u+j;j7>TdJ0pzbzD4;GuF2aC+`_&-jkh%WWYQOUZQ<1)8D)O6}%dL8?NWWcr$8ySl5?{{n{+oS1jAoyY zrrGC%YW8g_w(`ptKBkiMv6P&Tq2#>plJh<}#x^G6)@3+7y7|`nGI!3F^bXl+yx&T4 zm}9%)sT79W~O`M@r6r71IZgs%`1)9mvBH2eJQH2Zu= z&Ax5LRwa!L5mc3KAI%+{t;tP{ce=xK@L4wpVu(>P`9j@^?(A%y+%3r6MF(*|oxzuB zuHMnn<+iix{hG5a6|%+FGlP+0*tE+@$ysopMTp46 z4lwBj_gOC#_-BgPP^%4tbT`Ujb5stSm*IYEx~1mF!|Pqi$;$K|;>GH%iqI&}FtBLY@;q0M#d)lplgiw_R#(tW1D_~lI!R-7_?P4?x!V3jc zxTF3#hz*=T{8Fa#C7SfA6ui)x+IgPMOtvM^b#bzj?@3?Q&c-)ry(_x-I}(W}w?il2 z_Z6Z13*UR`bfu5}v!LlZEN!HlvXVbiJD+dUpV?t?@d{zL*48tx*|i>;eYs~;=;}kMBq#sZ%$aW9+z02O)+g$3&hDhw@(%;S(-K#J_cpFqfcG(O zyzK{z{X%8rj{t$F#s5Oh3{|*)!#MbW#1-I2f4Uw>`LFMSXB#)(2JiLRBv>$;{Wjr)D3c2!%YwV$$;RT_s3 zh|)TxDN5ta0a02XXo}MK{(va0TbrUZ+M3NeR$6-~Tg6I)#Mh$3QvWh%dk6rTI915r9nDt zQCeiQ5~V>xYf)O{v=XI3N^4PCWVI5dK~if`T9j}lN`t)DqT5dW+#vO9!_?1>Qh$D! z`ngf+&tDRyer}Zd^Or=apW6>ofBupv^>h0{>d#*irG9QdNd5UsqSVjr2dO`QNtF8h z-#2`M?iY`;RldM)2XZ6y3tuQdKB4?Lg!1tU{oTOzRosnaYln_s73vFYSs^l+w3EBf3AO0f!4v6>JcFK z;98JY8fW>_BD7da!M{s@Ukr%34NLp9P?TRrklz*YF<+*!5|Wq)V&D!&H~W+It$I|` zJf$_e?&e4A2Ejb@8wi=<`y2M6`2N~(+C7F+!^)n-ISG=2tWd>1!=ud3r+%Bzobv=I4i?Z z;A;m2X`Ph>f!vpBi?rAs>w&W?ZZk;|Q;;NK{bW2|3j>S63ZRR*kWhkJC$ALv4%Ry3 z7IplwzYFEZ6huoLOq5Jpqlz&vW4MD=j2|lJAGD5q66@;nd8}Dq8|;qHv|{Z5Pe@h$ z*(LqoX%XG3S1~8-w#{Y#u7LL_=bf{c4zu&@6oaf_T0|!Qo~#cm_{VUcr8dy2Bln8& zc+h2~2mek2A_OOfb~x0Z={9z=UgZ@I@a}0Z`$nGkTrvA6iM@y%%Foa8j?f>{ek!+6 zTEq|}d8;ZQB1sQ-ED z{{+2C0r<@)s0p+!qX^U~rzQ=2Cwio0fS)-*Pb3=(jBKPBAsU{g*A zw?m2}9?Xk$ffJLwxqZX0^sTOstl8(|Yxemln|(g2W}mMCVtbgC)R+%Ra_=J%$_F5n z_Zv*w@tO*zsoq*?k)XfUr1^m2={YrzX;WB8QeNcdqna+UC@igyTN1m#M#YIBdAwIT zMhQ#nKFZ3b4s4XB2>P7Y-h)w!te#8iGz`KE1zSD-le6HXR)mO5>;RKq@L`@83j8xg2U|I9 z*GmOzl+u$&s9QCY>{G#0)%){R(0Hn9tW0^T@*boPh4oHq*4N>ub3cuD0}VfND+>Gw z8~6!sTN`pech;&70tyx&0ew3yK*q;rA*;>X3Krm7wJez5s?5D!So>&RVujTK5<<1G zFm_v7fIuoJT!4MGi_tI$FBB{Q{3mC@0z`< g&1q;v%1^$^L?n`o)8oCyIeQ(j} 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 z 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/.. elements in the path. Returns an empty path if the +* specified path has a broken number of directories for its number of ..s */ +std::string Path_Compact( const std::string & sRawPath, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + std::string sPath = Path_FixSlashes( sRawPath, slash ); + std::string sSlashString( 1, slash ); + + // strip out all /./ + for( std::string::size_type i = 0; (i + 3) < sPath.length(); ) + { + if( sPath[ i ] == slash && sPath[ i+1 ] == '.' && sPath[ i+2 ] == slash ) + { + sPath.replace( i, 3, sSlashString ); + } + else + { + ++i; + } + } + + + // get rid of trailing /. but leave the path separator + if( sPath.length() > 2 ) + { + std::string::size_type len = sPath.length(); + if( sPath[ len-1 ] == '.' && sPath[ len-2 ] == slash ) + { + // sPath.pop_back(); + sPath[len-1] = 0; // for now, at least + } + } + + // get rid of leading ./ + if( sPath.length() > 2 ) + { + if( sPath[ 0 ] == '.' && sPath[ 1 ] == slash ) + { + sPath.replace( 0, 2, "" ); + } + } + + // each time we encounter .. back up until we've found the previous directory name + // then get rid of both + std::string::size_type i = 0; + while( i < sPath.length() ) + { + if( i > 0 && sPath.length() - i >= 2 + && sPath[i] == '.' + && sPath[i+1] == '.' + && ( i + 2 == sPath.length() || sPath[ i+2 ] == slash ) + && sPath[ i-1 ] == slash ) + { + // check if we've hit the start of the string and have a bogus path + if( i == 1 ) + return ""; + + // find the separator before i-1 + std::string::size_type iDirStart = i-2; + while( iDirStart > 0 && sPath[ iDirStart - 1 ] != slash ) + --iDirStart; + + // remove everything from iDirStart to i+2 + sPath.replace( iDirStart, (i - iDirStart) + 3, "" ); + + // start over + i = 0; + } + else + { + ++i; + } + } + + return sPath; +} + +#define MAX_UNICODE_PATH 32768 +#define MAX_UNICODE_PATH_IN_UTF8 ( MAX_UNICODE_PATH * 4 ) + +/** Returns the path to the current DLL or exe */ +std::string GetThisModulePath() +{ + // gets the path of vrclient.dll itself +#ifdef WIN32 + HMODULE hmodule = NULL; + + ::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, reinterpret_cast(GetThisModulePath), &hmodule); + + wchar_t *pwchPath = new wchar_t[MAX_UNICODE_PATH]; + char *pchPath = new char[ MAX_UNICODE_PATH_IN_UTF8 ]; + ::GetModuleFileNameW( hmodule, pwchPath, MAX_UNICODE_PATH ); + WideCharToMultiByte( CP_UTF8, 0, pwchPath, -1, pchPath, MAX_UNICODE_PATH_IN_UTF8, NULL, NULL ); + delete[] pwchPath; + + std::string sPath = pchPath; + delete [] pchPath; + return sPath; + +#elif defined( OSX ) || defined( LINUX ) + // get the addr of a function in vrclient.so and then ask the dlopen system about it + Dl_info info; + dladdr( (void *)GetThisModulePath, &info ); + return info.dli_fname; +#endif + +} + + +/** returns true if the specified path exists and is a directory */ +bool Path_IsDirectory( const std::string & sPath ) +{ + std::string sFixedPath = Path_FixSlashes( sPath ); + if( sFixedPath.empty() ) + return false; + char cLast = sFixedPath[ sFixedPath.length() - 1 ]; + if( cLast == '/' || cLast == '\\' ) + sFixedPath.erase( sFixedPath.end() - 1, sFixedPath.end() ); + + // see if the specified path actually exists. + struct stat buf; + if ( stat ( sFixedPath.c_str(), &buf ) == -1) + { + return false; + } + +#if defined(LINUX) + return S_ISDIR( buf.st_mode ); +#else + return ( buf.st_mode & _S_IFDIR ) != 0; +#endif +} + + +//----------------------------------------------------------------------------- +// Purpose: returns true if the the path exists +//----------------------------------------------------------------------------- +bool Path_Exists( const std::string & sPath ) +{ + std::string sFixedPath = Path_FixSlashes( sPath ); + if( sFixedPath.empty() ) + return false; + + struct stat buf; + if ( stat ( sFixedPath.c_str(), &buf ) == -1) + { + return false; + } + + return true; +} + + +//----------------------------------------------------------------------------- +// Purpose: helper to find a directory upstream from a given path +//----------------------------------------------------------------------------- +std::string Path_FindParentDirectoryRecursively( const std::string &strStartDirectory, const std::string &strDirectoryName ) +{ + std::string strFoundPath = ""; + std::string strCurrentPath = Path_FixSlashes( strStartDirectory ); + if ( strCurrentPath.length() == 0 ) + return ""; + + bool bExists = Path_Exists( strCurrentPath ); + std::string strCurrentDirectoryName = Path_StripDirectory( strCurrentPath ); + if ( bExists && stricmp( strCurrentDirectoryName.c_str(), strDirectoryName.c_str() ) == 0 ) + return strCurrentPath; + + while( bExists && strCurrentPath.length() != 0 ) + { + strCurrentPath = Path_StripFilename( strCurrentPath ); + strCurrentDirectoryName = Path_StripDirectory( strCurrentPath ); + bExists = Path_Exists( strCurrentPath ); + if ( bExists && stricmp( strCurrentDirectoryName.c_str(), strDirectoryName.c_str() ) == 0 ) + return strCurrentPath; + } + + return ""; +} + + +//----------------------------------------------------------------------------- +// Purpose: helper to find a subdirectory upstream from a given path +//----------------------------------------------------------------------------- +std::string Path_FindParentSubDirectoryRecursively( const std::string &strStartDirectory, const std::string &strDirectoryName ) +{ + std::string strFoundPath = ""; + std::string strCurrentPath = Path_FixSlashes( strStartDirectory ); + if ( strCurrentPath.length() == 0 ) + return ""; + + bool bExists = Path_Exists( strCurrentPath ); + while( bExists && strCurrentPath.length() != 0 ) + { + strCurrentPath = Path_StripFilename( strCurrentPath ); + bExists = Path_Exists( strCurrentPath ); + + if( Path_Exists( Path_Join( strCurrentPath, strDirectoryName ) ) ) + { + strFoundPath = Path_Join( strCurrentPath, strDirectoryName ); + break; + } + } + return strFoundPath; +} + + +//----------------------------------------------------------------------------- +// Purpose: reading and writing files in the vortex directory +//----------------------------------------------------------------------------- +unsigned char * Path_ReadBinaryFile( const std::string &strFilename, int *pSize ) +{ + FILE *f; +#if defined( POSIX ) + f = fopen( strFilename.c_str(), "rb" ); +#else + errno_t err = fopen_s(&f, strFilename.c_str(), "rb"); + if ( err != 0 ) + { + f = NULL; + } +#endif + + unsigned char* buf = NULL; + + if ( f != NULL ) + { + fseek(f, 0, SEEK_END); + int size = ftell(f); + fseek(f, 0, SEEK_SET); + + buf = new unsigned char[size]; + if (buf && fread(buf, size, 1, f) == 1) + { + if (pSize) + *pSize = size; + } + else + { + delete[] buf; + buf = 0; + } + + fclose(f); + } + + return buf; +} + + +std::string Path_ReadTextFile( const std::string &strFilename ) +{ + // doing it this way seems backwards, but I don't + // see an easy way to do this with C/C++ style IO + // that isn't worse... + int size; + unsigned char* buf = Path_ReadBinaryFile( strFilename, &size ); + if (!buf) + return ""; + + // convert CRLF -> LF + int outsize = 1; + for (int i=1; i < size; i++) + { + if (buf[i] == '\n' && buf[i-1] == '\r') // CRLF + buf[outsize-1] = '\n'; // ->LF + else + buf[outsize++] = buf[i]; // just copy + } + + std::string ret((char *)buf, (char *)(buf + outsize)); + delete[] buf; + return ret; +} + + +bool Path_WriteStringToTextFile( const std::string &strFilename, const char *pchData ) +{ + FILE *f; +#if defined( POSIX ) + f = fopen( strFilename.c_str(), "w" ); +#else + errno_t err = fopen_s(&f, strFilename.c_str(), "w"); + if ( err != 0 ) + { + f = NULL; + } +#endif + + bool ok = false; + + if ( f != NULL ) + { + ok = fputs( pchData, f) >= 0; + fclose(f); + } + + return ok; +} \ No newline at end of file diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.h b/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.h new file mode 100644 index 000000000..c38ec5612 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.h @@ -0,0 +1,98 @@ +//========= Copyright Valve Corporation ============// +#pragma once + +#include + +/** Returns the path (including filename) to the current executable */ +std::string Path_GetExecutablePath(); + +/** Returns the path of the current working directory */ +std::string Path_GetWorkingDirectory(); + +/** Sets the path of the current working directory. Returns true if this was successful. */ +bool Path_SetWorkingDirectory( const std::string & sPath ); + +/** returns the path (including filename) of the current shared lib or DLL */ +std::string Path_GetModulePath(); + +/** Returns the specified path without its filename. +* If slash is unspecified the native path separator of the current platform +* will be used. */ +std::string Path_StripFilename( const std::string & sPath, char slash = 0 ); + +/** returns just the filename from the provided full or relative path. */ +std::string Path_StripDirectory( const std::string & sPath, char slash = 0 ); + +/** returns just the filename with no extension of the provided filename. +* If there is a path the path is left intact. */ +std::string Path_StripExtension( const std::string & sPath ); + +/** Returns true if the path is absolute */ +bool Path_IsAbsolute( const std::string & sPath ); + +/** Makes an absolute path from a relative path and a base path */ +std::string Path_MakeAbsolute( const std::string & sRelativePath, const std::string & sBasePath, char slash = 0 ); + +/** Fixes the directory separators for the current platform. +* If slash is unspecified the native path separator of the current platform +* will be used. */ +std::string Path_FixSlashes( const std::string & sPath, char slash = 0 ); + +/** Returns the path separator for the current platform */ +char Path_GetSlash(); + +/** Jams two paths together with the right kind of slash */ +std::string Path_Join( const std::string & first, const std::string & second, char slash = 0 ); +std::string Path_Join( const std::string & first, const std::string & second, const std::string & third, char slash = 0 ); +std::string Path_Join( const std::string & first, const std::string & second, const std::string & third, const std::string &fourth, char slash = 0 ); +std::string Path_Join( + const std::string & first, + const std::string & second, + const std::string & third, + const std::string & fourth, + const std::string & fifth, + char slash = 0 ); + + +/** Removes redundant /.. elements in the path. Returns an empty path if the +* specified path has a broken number of directories for its number of ..s. +* If slash is unspecified the native path separator of the current platform +* will be used. */ +std::string Path_Compact( const std::string & sRawPath, char slash = 0 ); + +/** returns true if the specified path exists and is a directory */ +bool Path_IsDirectory( const std::string & sPath ); + +/** Returns the path to the current DLL or exe */ +std::string GetThisModulePath(); + +/** returns true if the the path exists */ +bool Path_Exists( const std::string & sPath ); + +/** Helper functions to find parent directories or subdirectories of parent directories */ +std::string Path_FindParentDirectoryRecursively( const std::string &strStartDirectory, const std::string &strDirectoryName ); +std::string Path_FindParentSubDirectoryRecursively( const std::string &strStartDirectory, const std::string &strDirectoryName ); + +/** Path operations to read or write text/binary files */ +unsigned char * Path_ReadBinaryFile( const std::string &strFilename, int *pSize ); +std::string Path_ReadTextFile( const std::string &strFilename ); +bool Path_WriteStringToTextFile( const std::string &strFilename, const char *pchData ); + +//----------------------------------------------------------------------------- +#if defined(_WIN32) +#define DYNAMIC_LIB_EXT ".dll" +#ifdef _WIN64 +#define PLATSUBDIR "win64" +#else +#define PLATSUBDIR "win32" +#endif +#elif defined(OSX) +#define DYNAMIC_LIB_EXT ".dylib" +#define PLATSUBDIR "osx32" +#elif defined(LINUX) +#define DYNAMIC_LIB_EXT ".so" +#define PLATSUBDIR "linux32" +#else +#warning "Unknown platform for PLATSUBDIR" +#define PLATSUBDIR "unknown_platform" +#endif From 471d3652e4241951cf9b4a774a13430019fbcf45 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Sat, 2 Jul 2016 10:07:13 -0700 Subject: [PATCH 2/2] (finally) applied patch to fix 'setLocalScaling' of btMultiSphereShape See https://code.google.com/archive/p/bullet/issues/636 http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8237 and https://github.com/bulletphysics/bullet3/issues/125 --- src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp b/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp index a7362ea01..88f6c4dcb 100644 --- a/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp +++ b/src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp @@ -75,7 +75,7 @@ btMultiSphereShape::btMultiSphereShape (const btVector3* positions,const btScala int inner_count = MIN( numSpheres - k, 128 ); for( long i = 0; i < inner_count; i++ ) { - temp[i] = (*pos) +vec*m_localScaling*(*rad) - vec * getMargin(); + temp[i] = (*pos)*m_localScaling +vec*m_localScaling*(*rad) - vec * getMargin(); pos++; rad++; } @@ -113,7 +113,7 @@ btMultiSphereShape::btMultiSphereShape (const btVector3* positions,const btScala int inner_count = MIN( numSpheres - k, 128 ); for( long i = 0; i < inner_count; i++ ) { - temp[i] = (*pos) +vec*m_localScaling*(*rad) - vec * getMargin(); + temp[i] = (*pos)*m_localScaling +vec*m_localScaling*(*rad) - vec * getMargin(); pos++; rad++; }

      0ZylC;M3>*tD{;R|2iWXg(h(%3 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%0D^evhDU(0iqfcEp2&%nw#xf1R90a3=B% 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 Bog@GN literal 0 HcmV?d00001 diff --git a/examples/ThirdPartyLibs/openvr/lib/osx32/libopenvr_api.dylib b/examples/ThirdPartyLibs/openvr/lib/osx32/libopenvr_api.dylib new file mode 100644 index 0000000000000000000000000000000000000000..89cad77109fae57c0a3cd118ea41ca351b6ddcab GIT binary patch literal 300188 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 literal 0 HcmV?d00001 diff --git a/examples/ThirdPartyLibs/openvr/lib/win32/openvr_api.lib b/examples/ThirdPartyLibs/openvr/lib/win32/openvr_api.lib new file mode 100644 index 0000000000000000000000000000000000000000..45a41aeb07a98a65318c590415e53340e9d80cff GIT binary patch literal 4864 zcmcIn&2HO95FSZ!9Ltt1E9osoRn%yH3ON3e)C33$yOx_MksX0j)Z7?KVk{yODUfsv zAA-I>kW-%_=&|RZhn#W_j2?RFt*1OgkaULRl3Xq+S#i9;aJe(X{dQ+(W`|$jR?Key zhwP0a-_}c&a%ppIy;9=&Yu@nIM#X!3oCScd0A}9+%)JMguK?sBu_vPw#Ya8UYB-gCF!(PKwEmgO17Hv3^ zMYf|S9qP6=RBO6rD}#aBb6nKAquOn$rfc@DX&UCX)jS$@j6vvw zB!!r7clCpTX7#J8)it$|tr_~5dE%7aIq#^tYHHn@ZmZ@KrK|Fjh*JEjX8GD})wB?~ ztqe5YNC_G)CRw0mJXIqr4zURZm7H00C2S#{je5=gq1`in)njx;QCr$EblWrr4MkT& z)AHQ5R8_2g$571Po}w!Usu@^Cl(eOmsdS&Jy&Yw!nu@rN1hH$2rfq8a!B2*XzUg>H z07dR1il>h3%^|%0+G|ZN~di ztPv^hqp_A8Be5}yGYG!OXBg5*3Kd5-Ig_B8=)_{`J5hS{GahevmIp=0W|9Q|Wnwa< zcobo2=s?13(YO62p6GDGbHyH!ufQKvz)rdl60%q5L-FW*A(!-hu5gUwZmZxTTkQ=7 zH;R*P@A6s@|sbO}3 zXGeuSt!o;V@x(4(m97=*wf*~!H1Z&2`j937%scc(YnXA~cpzL!*BFj)$;SjD5p`*JgwM06ark{t z_L`0IreE{bQ)$O*{&H4G>x5XZ={cg{5%QW%#wD-$gAKf%yymRD;Uwq#C9Wf}aLi6^ zxtpwvew=0T_75VsryXy(G4WPr#v-4jcnh~syp^h?PA7XxDjA} zI62zOx8nDD1#vSjZtP9Y<9vdRH{x-Nh3KZwy_w(4oA=&4pTDWv zt@djATAqIvizTVJTv#kE^85nr-dMRozkW*tz&U`a7XZ`m0MefUa?gC4GXXsMh%M6W zOG;<4MasPPDfbEWk+N5P%At(VyzJA=LjaH7V~dno^(lLR`Ui?q-KyP_8%kxPzAjg5 zjeD|U^>p)hTTy!kD9ZNz&CR3^JPnn6mByX>+jo`9T4N2GvQl;KbhVnTJG$xOBu2NV z#JOHy-ZNdJt5;3ORXZJBi|Qt1ID+zOs@o1#qfFGft-DRRY8vi_ZCm!5Q{V6ISe;P4 zk6bWv!`$r{PP?KzE!*h1hGq7jMWE}?cw0Ah+h|oySGOOjEuEVpA;d9NC(v!`wu7im zwPSFm5i9t3Waka*vCgkG;Uskb`MB19Na1reFppAPtjn3NkPTse$rwjJaXP?q^fqY9dEOb8&7X zG@n153%I_az-iI2#PM;*!2n)FyA<4nz%2`6R(v9mHMams}8 zqr&hAqTHk(N2Q#h1;^1>H=ZlGqX|ZF2NdCo(^5nsaae&Yn!^KT;@}3|I^l)1pmjRe z^22UnsZa`TVeR=i{PpU=uk&MovFASvn!dBQd$CTtP{EHsS%fr8l;<^XycLpl0*Jgu^F_fs;x)^RNxbH7)}bx&nv?Q|QO@@}Tu0vmFwJ|+@OWEV zS&CTBkGKC2!9Q)WA1+!fO9_WBXc#_N#adYyy(CC zaq&tl>Br9ZXS8gZ;fd?U7&PA3Q`{B2yrwZ3zI)O{2hswx-mGu WJHj3%@g7MvmGRLMH8hU_>Hh(1a`IUK literal 0 HcmV?d00001 diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.cpp b/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.cpp new file mode 100644 index 000000000..582b2854e --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.cpp @@ -0,0 +1,581 @@ +/////////////////////////////////////////////////////////////////////////////// +// Matrice.cpp +// =========== +// NxN Matrix Math classes +// +// The elements of the matrix are stored as column major order. +// | 0 2 | | 0 3 6 | | 0 4 8 12 | +// | 1 3 | | 1 4 7 | | 1 5 9 13 | +// | 2 5 8 | | 2 6 10 14 | +// | 3 7 11 15 | +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2005-06-24 +// UPDATED: 2014-09-21 +// +// Copyright (C) 2005 Song Ho Ahn +/////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include "Matrices.h" + +const float DEG2RAD = 3.141593f / 180; +const float EPSILON = 0.00001f; + + + +/////////////////////////////////////////////////////////////////////////////// +// transpose 2x2 matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix2& Matrix2::transpose() +{ + std::swap(m[1], m[2]); + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// return the determinant of 2x2 matrix +/////////////////////////////////////////////////////////////////////////////// +float Matrix2::getDeterminant() +{ + return m[0] * m[3] - m[1] * m[2]; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// inverse of 2x2 matrix +// If cannot find inverse, set identity matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix2& Matrix2::invert() +{ + float determinant = getDeterminant(); + if(fabs(determinant) <= EPSILON) + { + return identity(); + } + + float tmp = m[0]; // copy the first element + float invDeterminant = 1.0f / determinant; + m[0] = invDeterminant * m[3]; + m[1] = -invDeterminant * m[1]; + m[2] = -invDeterminant * m[2]; + m[3] = invDeterminant * tmp; + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// transpose 3x3 matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix3& Matrix3::transpose() +{ + std::swap(m[1], m[3]); + std::swap(m[2], m[6]); + std::swap(m[5], m[7]); + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// return determinant of 3x3 matrix +/////////////////////////////////////////////////////////////////////////////// +float Matrix3::getDeterminant() +{ + return m[0] * (m[4] * m[8] - m[5] * m[7]) - + m[1] * (m[3] * m[8] - m[5] * m[6]) + + m[2] * (m[3] * m[7] - m[4] * m[6]); +} + + + +/////////////////////////////////////////////////////////////////////////////// +// inverse 3x3 matrix +// If cannot find inverse, set identity matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix3& Matrix3::invert() +{ + float determinant, invDeterminant; + float tmp[9]; + + tmp[0] = m[4] * m[8] - m[5] * m[7]; + tmp[1] = m[2] * m[7] - m[1] * m[8]; + tmp[2] = m[1] * m[5] - m[2] * m[4]; + tmp[3] = m[5] * m[6] - m[3] * m[8]; + tmp[4] = m[0] * m[8] - m[2] * m[6]; + tmp[5] = m[2] * m[3] - m[0] * m[5]; + tmp[6] = m[3] * m[7] - m[4] * m[6]; + tmp[7] = m[1] * m[6] - m[0] * m[7]; + tmp[8] = m[0] * m[4] - m[1] * m[3]; + + // check determinant if it is 0 + determinant = m[0] * tmp[0] + m[1] * tmp[3] + m[2] * tmp[6]; + if(fabs(determinant) <= EPSILON) + { + return identity(); // cannot inverse, make it idenety matrix + } + + // divide by the determinant + invDeterminant = 1.0f / determinant; + m[0] = invDeterminant * tmp[0]; + m[1] = invDeterminant * tmp[1]; + m[2] = invDeterminant * tmp[2]; + m[3] = invDeterminant * tmp[3]; + m[4] = invDeterminant * tmp[4]; + m[5] = invDeterminant * tmp[5]; + m[6] = invDeterminant * tmp[6]; + m[7] = invDeterminant * tmp[7]; + m[8] = invDeterminant * tmp[8]; + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// transpose 4x4 matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::transpose() +{ + std::swap(m[1], m[4]); + std::swap(m[2], m[8]); + std::swap(m[3], m[12]); + std::swap(m[6], m[9]); + std::swap(m[7], m[13]); + std::swap(m[11], m[14]); + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// inverse 4x4 matrix +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::invert() +{ + // If the 4th row is [0,0,0,1] then it is affine matrix and + // it has no projective transformation. + if(m[3] == 0 && m[7] == 0 && m[11] == 0 && m[15] == 1) + this->invertAffine(); + else + { + this->invertGeneral(); + /*@@ invertProjective() is not optimized (slower than generic one) + if(fabs(m[0]*m[5] - m[1]*m[4]) > EPSILON) + this->invertProjective(); // inverse using matrix partition + else + this->invertGeneral(); // generalized inverse + */ + } + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// compute the inverse of 4x4 Euclidean transformation matrix +// +// Euclidean transformation is translation, rotation, and reflection. +// With Euclidean transform, only the position and orientation of the object +// will be changed. Euclidean transform does not change the shape of an object +// (no scaling). Length and angle are reserved. +// +// Use inverseAffine() if the matrix has scale and shear transformation. +// +// M = [ R | T ] +// [ --+-- ] (R denotes 3x3 rotation/reflection matrix) +// [ 0 | 1 ] (T denotes 1x3 translation matrix) +// +// y = M*x -> y = R*x + T -> x = R^-1*(y - T) -> x = R^T*y - R^T*T +// (R is orthogonal, R^-1 = R^T) +// +// [ R | T ]-1 [ R^T | -R^T * T ] (R denotes 3x3 rotation matrix) +// [ --+-- ] = [ ----+--------- ] (T denotes 1x3 translation) +// [ 0 | 1 ] [ 0 | 1 ] (R^T denotes R-transpose) +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::invertEuclidean() +{ + // transpose 3x3 rotation matrix part + // | R^T | 0 | + // | ----+-- | + // | 0 | 1 | + float tmp; + tmp = m[1]; m[1] = m[4]; m[4] = tmp; + tmp = m[2]; m[2] = m[8]; m[8] = tmp; + tmp = m[6]; m[6] = m[9]; m[9] = tmp; + + // compute translation part -R^T * T + // | 0 | -R^T x | + // | --+------- | + // | 0 | 0 | + float x = m[12]; + float y = m[13]; + float z = m[14]; + m[12] = -(m[0] * x + m[4] * y + m[8] * z); + m[13] = -(m[1] * x + m[5] * y + m[9] * z); + m[14] = -(m[2] * x + m[6] * y + m[10]* z); + + // last row should be unchanged (0,0,0,1) + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// compute the inverse of a 4x4 affine transformation matrix +// +// Affine transformations are generalizations of Euclidean transformations. +// Affine transformation includes translation, rotation, reflection, scaling, +// and shearing. Length and angle are NOT preserved. +// M = [ R | T ] +// [ --+-- ] (R denotes 3x3 rotation/scale/shear matrix) +// [ 0 | 1 ] (T denotes 1x3 translation matrix) +// +// y = M*x -> y = R*x + T -> x = R^-1*(y - T) -> x = R^-1*y - R^-1*T +// +// [ R | T ]-1 [ R^-1 | -R^-1 * T ] +// [ --+-- ] = [ -----+---------- ] +// [ 0 | 1 ] [ 0 + 1 ] +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::invertAffine() +{ + // R^-1 + Matrix3 r(m[0],m[1],m[2], m[4],m[5],m[6], m[8],m[9],m[10]); + r.invert(); + m[0] = r[0]; m[1] = r[1]; m[2] = r[2]; + m[4] = r[3]; m[5] = r[4]; m[6] = r[5]; + m[8] = r[6]; m[9] = r[7]; m[10]= r[8]; + + // -R^-1 * T + float x = m[12]; + float y = m[13]; + float z = m[14]; + m[12] = -(r[0] * x + r[3] * y + r[6] * z); + m[13] = -(r[1] * x + r[4] * y + r[7] * z); + m[14] = -(r[2] * x + r[5] * y + r[8] * z); + + // last row should be unchanged (0,0,0,1) + //m[3] = m[7] = m[11] = 0.0f; + //m[15] = 1.0f; + + return * this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// inverse matrix using matrix partitioning (blockwise inverse) +// It devides a 4x4 matrix into 4 of 2x2 matrices. It works in case of where +// det(A) != 0. If not, use the generic inverse method +// inverse formula. +// M = [ A | B ] A, B, C, D are 2x2 matrix blocks +// [ --+-- ] det(M) = |A| * |D - ((C * A^-1) * B)| +// [ C | D ] +// +// M^-1 = [ A' | B' ] A' = A^-1 - (A^-1 * B) * C' +// [ ---+--- ] B' = (A^-1 * B) * -D' +// [ C' | D' ] C' = -D' * (C * A^-1) +// D' = (D - ((C * A^-1) * B))^-1 +// +// NOTE: I wrap with () if it it used more than once. +// The matrix is invertable even if det(A)=0, so must check det(A) before +// calling this function, and use invertGeneric() instead. +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::invertProjective() +{ + // partition + Matrix2 a(m[0], m[1], m[4], m[5]); + Matrix2 b(m[8], m[9], m[12], m[13]); + Matrix2 c(m[2], m[3], m[6], m[7]); + Matrix2 d(m[10], m[11], m[14], m[15]); + + // pre-compute repeated parts + a.invert(); // A^-1 + Matrix2 ab = a * b; // A^-1 * B + Matrix2 ca = c * a; // C * A^-1 + Matrix2 cab = ca * b; // C * A^-1 * B + Matrix2 dcab = d - cab; // D - C * A^-1 * B + + // check determinant if |D - C * A^-1 * B| = 0 + //NOTE: this function assumes det(A) is already checked. if |A|=0 then, + // cannot use this function. + float determinant = dcab[0] * dcab[3] - dcab[1] * dcab[2]; + if(fabs(determinant) <= EPSILON) + { + return identity(); + } + + // compute D' and -D' + Matrix2 d1 = dcab; // (D - C * A^-1 * B) + d1.invert(); // (D - C * A^-1 * B)^-1 + Matrix2 d2 = -d1; // -(D - C * A^-1 * B)^-1 + + // compute C' + Matrix2 c1 = d2 * ca; // -D' * (C * A^-1) + + // compute B' + Matrix2 b1 = ab * d2; // (A^-1 * B) * -D' + + // compute A' + Matrix2 a1 = a - (ab * c1); // A^-1 - (A^-1 * B) * C' + + // assemble inverse matrix + m[0] = a1[0]; m[4] = a1[2]; /*|*/ m[8] = b1[0]; m[12]= b1[2]; + m[1] = a1[1]; m[5] = a1[3]; /*|*/ m[9] = b1[1]; m[13]= b1[3]; + /*-----------------------------+-----------------------------*/ + m[2] = c1[0]; m[6] = c1[2]; /*|*/ m[10]= d1[0]; m[14]= d1[2]; + m[3] = c1[1]; m[7] = c1[3]; /*|*/ m[11]= d1[1]; m[15]= d1[3]; + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// compute the inverse of a general 4x4 matrix using Cramer's Rule +// If cannot find inverse, return indentity matrix +// M^-1 = adj(M) / det(M) +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::invertGeneral() +{ + // get cofactors of minor matrices + float cofactor0 = getCofactor(m[5],m[6],m[7], m[9],m[10],m[11], m[13],m[14],m[15]); + float cofactor1 = getCofactor(m[4],m[6],m[7], m[8],m[10],m[11], m[12],m[14],m[15]); + float cofactor2 = getCofactor(m[4],m[5],m[7], m[8],m[9], m[11], m[12],m[13],m[15]); + float cofactor3 = getCofactor(m[4],m[5],m[6], m[8],m[9], m[10], m[12],m[13],m[14]); + + // get determinant + float determinant = m[0] * cofactor0 - m[1] * cofactor1 + m[2] * cofactor2 - m[3] * cofactor3; + if(fabs(determinant) <= EPSILON) + { + return identity(); + } + + // get rest of cofactors for adj(M) + float cofactor4 = getCofactor(m[1],m[2],m[3], m[9],m[10],m[11], m[13],m[14],m[15]); + float cofactor5 = getCofactor(m[0],m[2],m[3], m[8],m[10],m[11], m[12],m[14],m[15]); + float cofactor6 = getCofactor(m[0],m[1],m[3], m[8],m[9], m[11], m[12],m[13],m[15]); + float cofactor7 = getCofactor(m[0],m[1],m[2], m[8],m[9], m[10], m[12],m[13],m[14]); + + float cofactor8 = getCofactor(m[1],m[2],m[3], m[5],m[6], m[7], m[13],m[14],m[15]); + float cofactor9 = getCofactor(m[0],m[2],m[3], m[4],m[6], m[7], m[12],m[14],m[15]); + float cofactor10= getCofactor(m[0],m[1],m[3], m[4],m[5], m[7], m[12],m[13],m[15]); + float cofactor11= getCofactor(m[0],m[1],m[2], m[4],m[5], m[6], m[12],m[13],m[14]); + + float cofactor12= getCofactor(m[1],m[2],m[3], m[5],m[6], m[7], m[9], m[10],m[11]); + float cofactor13= getCofactor(m[0],m[2],m[3], m[4],m[6], m[7], m[8], m[10],m[11]); + float cofactor14= getCofactor(m[0],m[1],m[3], m[4],m[5], m[7], m[8], m[9], m[11]); + float cofactor15= getCofactor(m[0],m[1],m[2], m[4],m[5], m[6], m[8], m[9], m[10]); + + // build inverse matrix = adj(M) / det(M) + // adjugate of M is the transpose of the cofactor matrix of M + float invDeterminant = 1.0f / determinant; + m[0] = invDeterminant * cofactor0; + m[1] = -invDeterminant * cofactor4; + m[2] = invDeterminant * cofactor8; + m[3] = -invDeterminant * cofactor12; + + m[4] = -invDeterminant * cofactor1; + m[5] = invDeterminant * cofactor5; + m[6] = -invDeterminant * cofactor9; + m[7] = invDeterminant * cofactor13; + + m[8] = invDeterminant * cofactor2; + m[9] = -invDeterminant * cofactor6; + m[10]= invDeterminant * cofactor10; + m[11]= -invDeterminant * cofactor14; + + m[12]= -invDeterminant * cofactor3; + m[13]= invDeterminant * cofactor7; + m[14]= -invDeterminant * cofactor11; + m[15]= invDeterminant * cofactor15; + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// return determinant of 4x4 matrix +/////////////////////////////////////////////////////////////////////////////// +float Matrix4::getDeterminant() +{ + return m[0] * getCofactor(m[5],m[6],m[7], m[9],m[10],m[11], m[13],m[14],m[15]) - + m[1] * getCofactor(m[4],m[6],m[7], m[8],m[10],m[11], m[12],m[14],m[15]) + + m[2] * getCofactor(m[4],m[5],m[7], m[8],m[9], m[11], m[12],m[13],m[15]) - + m[3] * getCofactor(m[4],m[5],m[6], m[8],m[9], m[10], m[12],m[13],m[14]); +} + + + +/////////////////////////////////////////////////////////////////////////////// +// compute cofactor of 3x3 minor matrix without sign +// input params are 9 elements of the minor matrix +// NOTE: The caller must know its sign. +/////////////////////////////////////////////////////////////////////////////// +float Matrix4::getCofactor(float m0, float m1, float m2, + float m3, float m4, float m5, + float m6, float m7, float m8) +{ + return m0 * (m4 * m8 - m5 * m7) - + m1 * (m3 * m8 - m5 * m6) + + m2 * (m3 * m7 - m4 * m6); +} + + + +/////////////////////////////////////////////////////////////////////////////// +// translate this matrix by (x, y, z) +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::translate(const Vector3& v) +{ + return translate(v.x, v.y, v.z); +} + +Matrix4& Matrix4::translate(float x, float y, float z) +{ + m[0] += m[3] * x; m[4] += m[7] * x; m[8] += m[11]* x; m[12]+= m[15]* x; + m[1] += m[3] * y; m[5] += m[7] * y; m[9] += m[11]* y; m[13]+= m[15]* y; + m[2] += m[3] * z; m[6] += m[7] * z; m[10]+= m[11]* z; m[14]+= m[15]* z; + + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// uniform scale +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::scale(float s) +{ + return scale(s, s, s); +} + +Matrix4& Matrix4::scale(float x, float y, float z) +{ + m[0] *= x; m[4] *= x; m[8] *= x; m[12] *= x; + m[1] *= y; m[5] *= y; m[9] *= y; m[13] *= y; + m[2] *= z; m[6] *= z; m[10]*= z; m[14] *= z; + return *this; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// build a rotation matrix with given angle(degree) and rotation axis, then +// multiply it with this object +/////////////////////////////////////////////////////////////////////////////// +Matrix4& Matrix4::rotate(float angle, const Vector3& axis) +{ + return rotate(angle, axis.x, axis.y, axis.z); +} + +Matrix4& Matrix4::rotate(float angle, float x, float y, float z) +{ + float c = cosf(angle * DEG2RAD); // cosine + float s = sinf(angle * DEG2RAD); // sine + float c1 = 1.0f - c; // 1 - c + float m0 = m[0], m4 = m[4], m8 = m[8], m12= m[12], + m1 = m[1], m5 = m[5], m9 = m[9], m13= m[13], + m2 = m[2], m6 = m[6], m10= m[10], m14= m[14]; + + // build rotation matrix + float r0 = x * x * c1 + c; + float r1 = x * y * c1 + z * s; + float r2 = x * z * c1 - y * s; + float r4 = x * y * c1 - z * s; + float r5 = y * y * c1 + c; + float r6 = y * z * c1 + x * s; + float r8 = x * z * c1 + y * s; + float r9 = y * z * c1 - x * s; + float r10= z * z * c1 + c; + + // multiply rotation matrix + m[0] = r0 * m0 + r4 * m1 + r8 * m2; + m[1] = r1 * m0 + r5 * m1 + r9 * m2; + m[2] = r2 * m0 + r6 * m1 + r10* m2; + m[4] = r0 * m4 + r4 * m5 + r8 * m6; + m[5] = r1 * m4 + r5 * m5 + r9 * m6; + m[6] = r2 * m4 + r6 * m5 + r10* m6; + m[8] = r0 * m8 + r4 * m9 + r8 * m10; + m[9] = r1 * m8 + r5 * m9 + r9 * m10; + m[10]= r2 * m8 + r6 * m9 + r10* m10; + m[12]= r0 * m12+ r4 * m13+ r8 * m14; + m[13]= r1 * m12+ r5 * m13+ r9 * m14; + m[14]= r2 * m12+ r6 * m13+ r10* m14; + + return *this; +} + +Matrix4& Matrix4::rotateX(float angle) +{ + float c = cosf(angle * DEG2RAD); + float s = sinf(angle * DEG2RAD); + float m1 = m[1], m2 = m[2], + m5 = m[5], m6 = m[6], + m9 = m[9], m10= m[10], + m13= m[13], m14= m[14]; + + m[1] = m1 * c + m2 *-s; + m[2] = m1 * s + m2 * c; + m[5] = m5 * c + m6 *-s; + m[6] = m5 * s + m6 * c; + m[9] = m9 * c + m10*-s; + m[10]= m9 * s + m10* c; + m[13]= m13* c + m14*-s; + m[14]= m13* s + m14* c; + + return *this; +} + +Matrix4& Matrix4::rotateY(float angle) +{ + float c = cosf(angle * DEG2RAD); + float s = sinf(angle * DEG2RAD); + float m0 = m[0], m2 = m[2], + m4 = m[4], m6 = m[6], + m8 = m[8], m10= m[10], + m12= m[12], m14= m[14]; + + m[0] = m0 * c + m2 * s; + m[2] = m0 *-s + m2 * c; + m[4] = m4 * c + m6 * s; + m[6] = m4 *-s + m6 * c; + m[8] = m8 * c + m10* s; + m[10]= m8 *-s + m10* c; + m[12]= m12* c + m14* s; + m[14]= m12*-s + m14* c; + + return *this; +} + +Matrix4& Matrix4::rotateZ(float angle) +{ + float c = cosf(angle * DEG2RAD); + float s = sinf(angle * DEG2RAD); + float m0 = m[0], m1 = m[1], + m4 = m[4], m5 = m[5], + m8 = m[8], m9 = m[9], + m12= m[12], m13= m[13]; + + m[0] = m0 * c + m1 *-s; + m[1] = m0 * s + m1 * c; + m[4] = m4 * c + m5 *-s; + m[5] = m4 * s + m5 * c; + m[8] = m8 * c + m9 *-s; + m[9] = m8 * s + m9 * c; + m[12]= m12* c + m13*-s; + m[13]= m12* s + m13* c; + + return *this; +} diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.h b/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.h new file mode 100644 index 000000000..3515f546d --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/Matrices.h @@ -0,0 +1,909 @@ +/////////////////////////////////////////////////////////////////////////////// +// Matrice.h +// ========= +// NxN Matrix Math classes +// +// The elements of the matrix are stored as column major order. +// | 0 2 | | 0 3 6 | | 0 4 8 12 | +// | 1 3 | | 1 4 7 | | 1 5 9 13 | +// | 2 5 8 | | 2 6 10 14 | +// | 3 7 11 15 | +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2005-06-24 +// UPDATED: 2013-09-30 +// +// Copyright (C) 2005 Song Ho Ahn +/////////////////////////////////////////////////////////////////////////////// + +#ifndef MATH_MATRICES_H +#define MATH_MATRICES_H + +#include +#include +#include "Vectors.h" + +/////////////////////////////////////////////////////////////////////////// +// 2x2 matrix +/////////////////////////////////////////////////////////////////////////// +class Matrix2 +{ +public: + // constructors + Matrix2(); // init with identity + Matrix2(const float src[4]); + Matrix2(float m0, float m1, float m2, float m3); + + void set(const float src[4]); + void set(float m0, float m1, float m2, float m3); + void setRow(int index, const float row[2]); + void setRow(int index, const Vector2& v); + void setColumn(int index, const float col[2]); + void setColumn(int index, const Vector2& v); + + const float* get() const; + float getDeterminant(); + + Matrix2& identity(); + Matrix2& transpose(); // transpose itself and return reference + Matrix2& invert(); + + // operators + Matrix2 operator+(const Matrix2& rhs) const; // add rhs + Matrix2 operator-(const Matrix2& rhs) const; // subtract rhs + Matrix2& operator+=(const Matrix2& rhs); // add rhs and update this object + Matrix2& operator-=(const Matrix2& rhs); // subtract rhs and update this object + Vector2 operator*(const Vector2& rhs) const; // multiplication: v' = M * v + Matrix2 operator*(const Matrix2& rhs) const; // multiplication: M3 = M1 * M2 + Matrix2& operator*=(const Matrix2& rhs); // multiplication: M1' = M1 * M2 + bool operator==(const Matrix2& rhs) const; // exact compare, no epsilon + bool operator!=(const Matrix2& rhs) const; // exact compare, no epsilon + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Matrix2 operator-(const Matrix2& m); // unary operator (-) + friend Matrix2 operator*(float scalar, const Matrix2& m); // pre-multiplication + friend Vector2 operator*(const Vector2& vec, const Matrix2& m); // pre-multiplication + friend std::ostream& operator<<(std::ostream& os, const Matrix2& m); + +protected: + +private: + float m[4]; + +}; + + + +/////////////////////////////////////////////////////////////////////////// +// 3x3 matrix +/////////////////////////////////////////////////////////////////////////// +class Matrix3 +{ +public: + // constructors + Matrix3(); // init with identity + Matrix3(const float src[9]); + Matrix3(float m0, float m1, float m2, // 1st column + float m3, float m4, float m5, // 2nd column + float m6, float m7, float m8); // 3rd column + + void set(const float src[9]); + void set(float m0, float m1, float m2, // 1st column + float m3, float m4, float m5, // 2nd column + float m6, float m7, float m8); // 3rd column + void setRow(int index, const float row[3]); + void setRow(int index, const Vector3& v); + void setColumn(int index, const float col[3]); + void setColumn(int index, const Vector3& v); + + const float* get() const; + float getDeterminant(); + + Matrix3& identity(); + Matrix3& transpose(); // transpose itself and return reference + Matrix3& invert(); + + // operators + Matrix3 operator+(const Matrix3& rhs) const; // add rhs + Matrix3 operator-(const Matrix3& rhs) const; // subtract rhs + Matrix3& operator+=(const Matrix3& rhs); // add rhs and update this object + Matrix3& operator-=(const Matrix3& rhs); // subtract rhs and update this object + Vector3 operator*(const Vector3& rhs) const; // multiplication: v' = M * v + Matrix3 operator*(const Matrix3& rhs) const; // multiplication: M3 = M1 * M2 + Matrix3& operator*=(const Matrix3& rhs); // multiplication: M1' = M1 * M2 + bool operator==(const Matrix3& rhs) const; // exact compare, no epsilon + bool operator!=(const Matrix3& rhs) const; // exact compare, no epsilon + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Matrix3 operator-(const Matrix3& m); // unary operator (-) + friend Matrix3 operator*(float scalar, const Matrix3& m); // pre-multiplication + friend Vector3 operator*(const Vector3& vec, const Matrix3& m); // pre-multiplication + friend std::ostream& operator<<(std::ostream& os, const Matrix3& m); + +protected: + +private: + float m[9]; + +}; + + + +/////////////////////////////////////////////////////////////////////////// +// 4x4 matrix +/////////////////////////////////////////////////////////////////////////// +class Matrix4 +{ +public: + // constructors + Matrix4(); // init with identity + Matrix4(const float src[16]); + Matrix4(float m00, float m01, float m02, float m03, // 1st column + float m04, float m05, float m06, float m07, // 2nd column + float m08, float m09, float m10, float m11, // 3rd column + float m12, float m13, float m14, float m15);// 4th column + + void set(const float src[16]); + void set(float m00, float m01, float m02, float m03, // 1st column + float m04, float m05, float m06, float m07, // 2nd column + float m08, float m09, float m10, float m11, // 3rd column + float m12, float m13, float m14, float m15);// 4th column + void setRow(int index, const float row[4]); + void setRow(int index, const Vector4& v); + void setRow(int index, const Vector3& v); + void setColumn(int index, const float col[4]); + void setColumn(int index, const Vector4& v); + void setColumn(int index, const Vector3& v); + + const float* get() const; + const float* getTranspose(); // return transposed matrix + float getDeterminant(); + + Matrix4& identity(); + Matrix4& transpose(); // transpose itself and return reference + Matrix4& invert(); // check best inverse method before inverse + Matrix4& invertEuclidean(); // inverse of Euclidean transform matrix + Matrix4& invertAffine(); // inverse of affine transform matrix + Matrix4& invertProjective(); // inverse of projective matrix using partitioning + Matrix4& invertGeneral(); // inverse of generic matrix + + // transform matrix + Matrix4& translate(float x, float y, float z); // translation by (x,y,z) + Matrix4& translate(const Vector3& v); // + Matrix4& rotate(float angle, const Vector3& axis); // rotate angle(degree) along the given axix + Matrix4& rotate(float angle, float x, float y, float z); + Matrix4& rotateX(float angle); // rotate on X-axis with degree + Matrix4& rotateY(float angle); // rotate on Y-axis with degree + Matrix4& rotateZ(float angle); // rotate on Z-axis with degree + Matrix4& scale(float scale); // uniform scale + Matrix4& scale(float sx, float sy, float sz); // scale by (sx, sy, sz) on each axis + + // operators + Matrix4 operator+(const Matrix4& rhs) const; // add rhs + Matrix4 operator-(const Matrix4& rhs) const; // subtract rhs + Matrix4& operator+=(const Matrix4& rhs); // add rhs and update this object + Matrix4& operator-=(const Matrix4& rhs); // subtract rhs and update this object + Vector4 operator*(const Vector4& rhs) const; // multiplication: v' = M * v + Vector3 operator*(const Vector3& rhs) const; // multiplication: v' = M * v + Matrix4 operator*(const Matrix4& rhs) const; // multiplication: M3 = M1 * M2 + Matrix4& operator*=(const Matrix4& rhs); // multiplication: M1' = M1 * M2 + bool operator==(const Matrix4& rhs) const; // exact compare, no epsilon + bool operator!=(const Matrix4& rhs) const; // exact compare, no epsilon + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Matrix4 operator-(const Matrix4& m); // unary operator (-) + friend Matrix4 operator*(float scalar, const Matrix4& m); // pre-multiplication + friend Vector3 operator*(const Vector3& vec, const Matrix4& m); // pre-multiplication + friend Vector4 operator*(const Vector4& vec, const Matrix4& m); // pre-multiplication + friend std::ostream& operator<<(std::ostream& os, const Matrix4& m); + +protected: + +private: + float getCofactor(float m0, float m1, float m2, + float m3, float m4, float m5, + float m6, float m7, float m8); + + float m[16]; + float tm[16]; // transpose m + +}; + + + +/////////////////////////////////////////////////////////////////////////// +// inline functions for Matrix2 +/////////////////////////////////////////////////////////////////////////// +inline Matrix2::Matrix2() +{ + // initially identity matrix + identity(); +} + + + +inline Matrix2::Matrix2(const float src[4]) +{ + set(src); +} + + + +inline Matrix2::Matrix2(float m0, float m1, float m2, float m3) +{ + set(m0, m1, m2, m3); +} + + + +inline void Matrix2::set(const float src[4]) +{ + m[0] = src[0]; m[1] = src[1]; m[2] = src[2]; m[3] = src[3]; +} + + + +inline void Matrix2::set(float m0, float m1, float m2, float m3) +{ + m[0]= m0; m[1] = m1; m[2] = m2; m[3]= m3; +} + + + +inline void Matrix2::setRow(int index, const float row[2]) +{ + m[index] = row[0]; m[index + 2] = row[1]; +} + + + +inline void Matrix2::setRow(int index, const Vector2& v) +{ + m[index] = v.x; m[index + 2] = v.y; +} + + + +inline void Matrix2::setColumn(int index, const float col[2]) +{ + m[index*2] = col[0]; m[index*2 + 1] = col[1]; +} + + + +inline void Matrix2::setColumn(int index, const Vector2& v) +{ + m[index*2] = v.x; m[index*2 + 1] = v.y; +} + + + +inline const float* Matrix2::get() const +{ + return m; +} + + + +inline Matrix2& Matrix2::identity() +{ + m[0] = m[3] = 1.0f; + m[1] = m[2] = 0.0f; + return *this; +} + + + +inline Matrix2 Matrix2::operator+(const Matrix2& rhs) const +{ + return Matrix2(m[0]+rhs[0], m[1]+rhs[1], m[2]+rhs[2], m[3]+rhs[3]); +} + + + +inline Matrix2 Matrix2::operator-(const Matrix2& rhs) const +{ + return Matrix2(m[0]-rhs[0], m[1]-rhs[1], m[2]-rhs[2], m[3]-rhs[3]); +} + + + +inline Matrix2& Matrix2::operator+=(const Matrix2& rhs) +{ + m[0] += rhs[0]; m[1] += rhs[1]; m[2] += rhs[2]; m[3] += rhs[3]; + return *this; +} + + + +inline Matrix2& Matrix2::operator-=(const Matrix2& rhs) +{ + m[0] -= rhs[0]; m[1] -= rhs[1]; m[2] -= rhs[2]; m[3] -= rhs[3]; + return *this; +} + + + +inline Vector2 Matrix2::operator*(const Vector2& rhs) const +{ + return Vector2(m[0]*rhs.x + m[2]*rhs.y, m[1]*rhs.x + m[3]*rhs.y); +} + + + +inline Matrix2 Matrix2::operator*(const Matrix2& rhs) const +{ + return Matrix2(m[0]*rhs[0] + m[2]*rhs[1], m[1]*rhs[0] + m[3]*rhs[1], + m[0]*rhs[2] + m[2]*rhs[3], m[1]*rhs[2] + m[3]*rhs[3]); +} + + + +inline Matrix2& Matrix2::operator*=(const Matrix2& rhs) +{ + *this = *this * rhs; + return *this; +} + + + +inline bool Matrix2::operator==(const Matrix2& rhs) const +{ + return (m[0] == rhs[0]) && (m[1] == rhs[1]) && (m[2] == rhs[2]) && (m[3] == rhs[3]); +} + + + +inline bool Matrix2::operator!=(const Matrix2& rhs) const +{ + return (m[0] != rhs[0]) || (m[1] != rhs[1]) || (m[2] != rhs[2]) || (m[3] != rhs[3]); +} + + + +inline float Matrix2::operator[](int index) const +{ + return m[index]; +} + + + +inline float& Matrix2::operator[](int index) +{ + return m[index]; +} + + + +inline Matrix2 operator-(const Matrix2& rhs) +{ + return Matrix2(-rhs[0], -rhs[1], -rhs[2], -rhs[3]); +} + + + +inline Matrix2 operator*(float s, const Matrix2& rhs) +{ + return Matrix2(s*rhs[0], s*rhs[1], s*rhs[2], s*rhs[3]); +} + + + +inline Vector2 operator*(const Vector2& v, const Matrix2& rhs) +{ + return Vector2(v.x*rhs[0] + v.y*rhs[1], v.x*rhs[2] + v.y*rhs[3]); +} + + + +inline std::ostream& operator<<(std::ostream& os, const Matrix2& m) +{ + os << std::fixed << std::setprecision(5); + os << "[" << std::setw(10) << m[0] << " " << std::setw(10) << m[2] << "]\n" + << "[" << std::setw(10) << m[1] << " " << std::setw(10) << m[3] << "]\n"; + os << std::resetiosflags(std::ios_base::fixed | std::ios_base::floatfield); + return os; +} +// END OF MATRIX2 INLINE ////////////////////////////////////////////////////// + + + + +/////////////////////////////////////////////////////////////////////////// +// inline functions for Matrix3 +/////////////////////////////////////////////////////////////////////////// +inline Matrix3::Matrix3() +{ + // initially identity matrix + identity(); +} + + + +inline Matrix3::Matrix3(const float src[9]) +{ + set(src); +} + + + +inline Matrix3::Matrix3(float m0, float m1, float m2, + float m3, float m4, float m5, + float m6, float m7, float m8) +{ + set(m0, m1, m2, m3, m4, m5, m6, m7, m8); +} + + + +inline void Matrix3::set(const float src[9]) +{ + m[0] = src[0]; m[1] = src[1]; m[2] = src[2]; + m[3] = src[3]; m[4] = src[4]; m[5] = src[5]; + m[6] = src[6]; m[7] = src[7]; m[8] = src[8]; +} + + + +inline void Matrix3::set(float m0, float m1, float m2, + float m3, float m4, float m5, + float m6, float m7, float m8) +{ + m[0] = m0; m[1] = m1; m[2] = m2; + m[3] = m3; m[4] = m4; m[5] = m5; + m[6] = m6; m[7] = m7; m[8] = m8; +} + + + +inline void Matrix3::setRow(int index, const float row[3]) +{ + m[index] = row[0]; m[index + 3] = row[1]; m[index + 6] = row[2]; +} + + + +inline void Matrix3::setRow(int index, const Vector3& v) +{ + m[index] = v.x; m[index + 3] = v.y; m[index + 6] = v.z; +} + + + +inline void Matrix3::setColumn(int index, const float col[3]) +{ + m[index*3] = col[0]; m[index*3 + 1] = col[1]; m[index*3 + 2] = col[2]; +} + + + +inline void Matrix3::setColumn(int index, const Vector3& v) +{ + m[index*3] = v.x; m[index*3 + 1] = v.y; m[index*3 + 2] = v.z; +} + + + +inline const float* Matrix3::get() const +{ + return m; +} + + + +inline Matrix3& Matrix3::identity() +{ + m[0] = m[4] = m[8] = 1.0f; + m[1] = m[2] = m[3] = m[5] = m[6] = m[7] = 0.0f; + return *this; +} + + + +inline Matrix3 Matrix3::operator+(const Matrix3& rhs) const +{ + return Matrix3(m[0]+rhs[0], m[1]+rhs[1], m[2]+rhs[2], + m[3]+rhs[3], m[4]+rhs[4], m[5]+rhs[5], + m[6]+rhs[6], m[7]+rhs[7], m[8]+rhs[8]); +} + + + +inline Matrix3 Matrix3::operator-(const Matrix3& rhs) const +{ + return Matrix3(m[0]-rhs[0], m[1]-rhs[1], m[2]-rhs[2], + m[3]-rhs[3], m[4]-rhs[4], m[5]-rhs[5], + m[6]-rhs[6], m[7]-rhs[7], m[8]-rhs[8]); +} + + + +inline Matrix3& Matrix3::operator+=(const Matrix3& rhs) +{ + m[0] += rhs[0]; m[1] += rhs[1]; m[2] += rhs[2]; + m[3] += rhs[3]; m[4] += rhs[4]; m[5] += rhs[5]; + m[6] += rhs[6]; m[7] += rhs[7]; m[8] += rhs[8]; + return *this; +} + + + +inline Matrix3& Matrix3::operator-=(const Matrix3& rhs) +{ + m[0] -= rhs[0]; m[1] -= rhs[1]; m[2] -= rhs[2]; + m[3] -= rhs[3]; m[4] -= rhs[4]; m[5] -= rhs[5]; + m[6] -= rhs[6]; m[7] -= rhs[7]; m[8] -= rhs[8]; + return *this; +} + + + +inline Vector3 Matrix3::operator*(const Vector3& rhs) const +{ + return Vector3(m[0]*rhs.x + m[3]*rhs.y + m[6]*rhs.z, + m[1]*rhs.x + m[4]*rhs.y + m[7]*rhs.z, + m[2]*rhs.x + m[5]*rhs.y + m[8]*rhs.z); +} + + + +inline Matrix3 Matrix3::operator*(const Matrix3& rhs) const +{ + return Matrix3(m[0]*rhs[0] + m[3]*rhs[1] + m[6]*rhs[2], m[1]*rhs[0] + m[4]*rhs[1] + m[7]*rhs[2], m[2]*rhs[0] + m[5]*rhs[1] + m[8]*rhs[2], + m[0]*rhs[3] + m[3]*rhs[4] + m[6]*rhs[5], m[1]*rhs[3] + m[4]*rhs[4] + m[7]*rhs[5], m[2]*rhs[3] + m[5]*rhs[4] + m[8]*rhs[5], + m[0]*rhs[6] + m[3]*rhs[7] + m[6]*rhs[8], m[1]*rhs[6] + m[4]*rhs[7] + m[7]*rhs[8], m[2]*rhs[6] + m[5]*rhs[7] + m[8]*rhs[8]); +} + + + +inline Matrix3& Matrix3::operator*=(const Matrix3& rhs) +{ + *this = *this * rhs; + return *this; +} + + + +inline bool Matrix3::operator==(const Matrix3& rhs) const +{ + return (m[0] == rhs[0]) && (m[1] == rhs[1]) && (m[2] == rhs[2]) && + (m[3] == rhs[3]) && (m[4] == rhs[4]) && (m[5] == rhs[5]) && + (m[6] == rhs[6]) && (m[7] == rhs[7]) && (m[8] == rhs[8]); +} + + + +inline bool Matrix3::operator!=(const Matrix3& rhs) const +{ + return (m[0] != rhs[0]) || (m[1] != rhs[1]) || (m[2] != rhs[2]) || + (m[3] != rhs[3]) || (m[4] != rhs[4]) || (m[5] != rhs[5]) || + (m[6] != rhs[6]) || (m[7] != rhs[7]) || (m[8] != rhs[8]); +} + + + +inline float Matrix3::operator[](int index) const +{ + return m[index]; +} + + + +inline float& Matrix3::operator[](int index) +{ + return m[index]; +} + + + +inline Matrix3 operator-(const Matrix3& rhs) +{ + return Matrix3(-rhs[0], -rhs[1], -rhs[2], -rhs[3], -rhs[4], -rhs[5], -rhs[6], -rhs[7], -rhs[8]); +} + + + +inline Matrix3 operator*(float s, const Matrix3& rhs) +{ + return Matrix3(s*rhs[0], s*rhs[1], s*rhs[2], s*rhs[3], s*rhs[4], s*rhs[5], s*rhs[6], s*rhs[7], s*rhs[8]); +} + + + +inline Vector3 operator*(const Vector3& v, const Matrix3& m) +{ + return Vector3(v.x*m[0] + v.y*m[1] + v.z*m[2], v.x*m[3] + v.y*m[4] + v.z*m[5], v.x*m[6] + v.y*m[7] + v.z*m[8]); +} + + + +inline std::ostream& operator<<(std::ostream& os, const Matrix3& m) +{ + os << std::fixed << std::setprecision(5); + os << "[" << std::setw(10) << m[0] << " " << std::setw(10) << m[3] << " " << std::setw(10) << m[6] << "]\n" + << "[" << std::setw(10) << m[1] << " " << std::setw(10) << m[4] << " " << std::setw(10) << m[7] << "]\n" + << "[" << std::setw(10) << m[2] << " " << std::setw(10) << m[5] << " " << std::setw(10) << m[8] << "]\n"; + os << std::resetiosflags(std::ios_base::fixed | std::ios_base::floatfield); + return os; +} +// END OF MATRIX3 INLINE ////////////////////////////////////////////////////// + + + + +/////////////////////////////////////////////////////////////////////////// +// inline functions for Matrix4 +/////////////////////////////////////////////////////////////////////////// +inline Matrix4::Matrix4() +{ + // initially identity matrix + identity(); +} + + + +inline Matrix4::Matrix4(const float src[16]) +{ + set(src); +} + + + +inline Matrix4::Matrix4(float m00, float m01, float m02, float m03, + float m04, float m05, float m06, float m07, + float m08, float m09, float m10, float m11, + float m12, float m13, float m14, float m15) +{ + set(m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11, m12, m13, m14, m15); +} + + + +inline void Matrix4::set(const float src[16]) +{ + m[0] = src[0]; m[1] = src[1]; m[2] = src[2]; m[3] = src[3]; + m[4] = src[4]; m[5] = src[5]; m[6] = src[6]; m[7] = src[7]; + m[8] = src[8]; m[9] = src[9]; m[10]= src[10]; m[11]= src[11]; + m[12]= src[12]; m[13]= src[13]; m[14]= src[14]; m[15]= src[15]; +} + + + +inline void Matrix4::set(float m00, float m01, float m02, float m03, + float m04, float m05, float m06, float m07, + float m08, float m09, float m10, float m11, + float m12, float m13, float m14, float m15) +{ + m[0] = m00; m[1] = m01; m[2] = m02; m[3] = m03; + m[4] = m04; m[5] = m05; m[6] = m06; m[7] = m07; + m[8] = m08; m[9] = m09; m[10]= m10; m[11]= m11; + m[12]= m12; m[13]= m13; m[14]= m14; m[15]= m15; +} + + + +inline void Matrix4::setRow(int index, const float row[4]) +{ + m[index] = row[0]; m[index + 4] = row[1]; m[index + 8] = row[2]; m[index + 12] = row[3]; +} + + + +inline void Matrix4::setRow(int index, const Vector4& v) +{ + m[index] = v.x; m[index + 4] = v.y; m[index + 8] = v.z; m[index + 12] = v.w; +} + + + +inline void Matrix4::setRow(int index, const Vector3& v) +{ + m[index] = v.x; m[index + 4] = v.y; m[index + 8] = v.z; +} + + + +inline void Matrix4::setColumn(int index, const float col[4]) +{ + m[index*4] = col[0]; m[index*4 + 1] = col[1]; m[index*4 + 2] = col[2]; m[index*4 + 3] = col[3]; +} + + + +inline void Matrix4::setColumn(int index, const Vector4& v) +{ + m[index*4] = v.x; m[index*4 + 1] = v.y; m[index*4 + 2] = v.z; m[index*4 + 3] = v.w; +} + + + +inline void Matrix4::setColumn(int index, const Vector3& v) +{ + m[index*4] = v.x; m[index*4 + 1] = v.y; m[index*4 + 2] = v.z; +} + + + +inline const float* Matrix4::get() const +{ + return m; +} + + + +inline const float* Matrix4::getTranspose() +{ + tm[0] = m[0]; tm[1] = m[4]; tm[2] = m[8]; tm[3] = m[12]; + tm[4] = m[1]; tm[5] = m[5]; tm[6] = m[9]; tm[7] = m[13]; + tm[8] = m[2]; tm[9] = m[6]; tm[10]= m[10]; tm[11]= m[14]; + tm[12]= m[3]; tm[13]= m[7]; tm[14]= m[11]; tm[15]= m[15]; + return tm; +} + + + +inline Matrix4& Matrix4::identity() +{ + m[0] = m[5] = m[10] = m[15] = 1.0f; + m[1] = m[2] = m[3] = m[4] = m[6] = m[7] = m[8] = m[9] = m[11] = m[12] = m[13] = m[14] = 0.0f; + return *this; +} + + + +inline Matrix4 Matrix4::operator+(const Matrix4& rhs) const +{ + return Matrix4(m[0]+rhs[0], m[1]+rhs[1], m[2]+rhs[2], m[3]+rhs[3], + m[4]+rhs[4], m[5]+rhs[5], m[6]+rhs[6], m[7]+rhs[7], + m[8]+rhs[8], m[9]+rhs[9], m[10]+rhs[10], m[11]+rhs[11], + m[12]+rhs[12], m[13]+rhs[13], m[14]+rhs[14], m[15]+rhs[15]); +} + + + +inline Matrix4 Matrix4::operator-(const Matrix4& rhs) const +{ + return Matrix4(m[0]-rhs[0], m[1]-rhs[1], m[2]-rhs[2], m[3]-rhs[3], + m[4]-rhs[4], m[5]-rhs[5], m[6]-rhs[6], m[7]-rhs[7], + m[8]-rhs[8], m[9]-rhs[9], m[10]-rhs[10], m[11]-rhs[11], + m[12]-rhs[12], m[13]-rhs[13], m[14]-rhs[14], m[15]-rhs[15]); +} + + + +inline Matrix4& Matrix4::operator+=(const Matrix4& rhs) +{ + m[0] += rhs[0]; m[1] += rhs[1]; m[2] += rhs[2]; m[3] += rhs[3]; + m[4] += rhs[4]; m[5] += rhs[5]; m[6] += rhs[6]; m[7] += rhs[7]; + m[8] += rhs[8]; m[9] += rhs[9]; m[10]+= rhs[10]; m[11]+= rhs[11]; + m[12]+= rhs[12]; m[13]+= rhs[13]; m[14]+= rhs[14]; m[15]+= rhs[15]; + return *this; +} + + + +inline Matrix4& Matrix4::operator-=(const Matrix4& rhs) +{ + m[0] -= rhs[0]; m[1] -= rhs[1]; m[2] -= rhs[2]; m[3] -= rhs[3]; + m[4] -= rhs[4]; m[5] -= rhs[5]; m[6] -= rhs[6]; m[7] -= rhs[7]; + m[8] -= rhs[8]; m[9] -= rhs[9]; m[10]-= rhs[10]; m[11]-= rhs[11]; + m[12]-= rhs[12]; m[13]-= rhs[13]; m[14]-= rhs[14]; m[15]-= rhs[15]; + return *this; +} + + + +inline Vector4 Matrix4::operator*(const Vector4& rhs) const +{ + return Vector4(m[0]*rhs.x + m[4]*rhs.y + m[8]*rhs.z + m[12]*rhs.w, + m[1]*rhs.x + m[5]*rhs.y + m[9]*rhs.z + m[13]*rhs.w, + m[2]*rhs.x + m[6]*rhs.y + m[10]*rhs.z + m[14]*rhs.w, + m[3]*rhs.x + m[7]*rhs.y + m[11]*rhs.z + m[15]*rhs.w); +} + + + +inline Vector3 Matrix4::operator*(const Vector3& rhs) const +{ + return Vector3(m[0]*rhs.x + m[4]*rhs.y + m[8]*rhs.z, + m[1]*rhs.x + m[5]*rhs.y + m[9]*rhs.z, + m[2]*rhs.x + m[6]*rhs.y + m[10]*rhs.z); +} + + + +inline Matrix4 Matrix4::operator*(const Matrix4& n) const +{ + return Matrix4(m[0]*n[0] + m[4]*n[1] + m[8]*n[2] + m[12]*n[3], m[1]*n[0] + m[5]*n[1] + m[9]*n[2] + m[13]*n[3], m[2]*n[0] + m[6]*n[1] + m[10]*n[2] + m[14]*n[3], m[3]*n[0] + m[7]*n[1] + m[11]*n[2] + m[15]*n[3], + m[0]*n[4] + m[4]*n[5] + m[8]*n[6] + m[12]*n[7], m[1]*n[4] + m[5]*n[5] + m[9]*n[6] + m[13]*n[7], m[2]*n[4] + m[6]*n[5] + m[10]*n[6] + m[14]*n[7], m[3]*n[4] + m[7]*n[5] + m[11]*n[6] + m[15]*n[7], + m[0]*n[8] + m[4]*n[9] + m[8]*n[10] + m[12]*n[11], m[1]*n[8] + m[5]*n[9] + m[9]*n[10] + m[13]*n[11], m[2]*n[8] + m[6]*n[9] + m[10]*n[10] + m[14]*n[11], m[3]*n[8] + m[7]*n[9] + m[11]*n[10] + m[15]*n[11], + m[0]*n[12] + m[4]*n[13] + m[8]*n[14] + m[12]*n[15], m[1]*n[12] + m[5]*n[13] + m[9]*n[14] + m[13]*n[15], m[2]*n[12] + m[6]*n[13] + m[10]*n[14] + m[14]*n[15], m[3]*n[12] + m[7]*n[13] + m[11]*n[14] + m[15]*n[15]); +} + + + +inline Matrix4& Matrix4::operator*=(const Matrix4& rhs) +{ + *this = *this * rhs; + return *this; +} + + + +inline bool Matrix4::operator==(const Matrix4& n) const +{ + return (m[0] == n[0]) && (m[1] == n[1]) && (m[2] == n[2]) && (m[3] == n[3]) && + (m[4] == n[4]) && (m[5] == n[5]) && (m[6] == n[6]) && (m[7] == n[7]) && + (m[8] == n[8]) && (m[9] == n[9]) && (m[10]== n[10]) && (m[11]== n[11]) && + (m[12]== n[12]) && (m[13]== n[13]) && (m[14]== n[14]) && (m[15]== n[15]); +} + + + +inline bool Matrix4::operator!=(const Matrix4& n) const +{ + return (m[0] != n[0]) || (m[1] != n[1]) || (m[2] != n[2]) || (m[3] != n[3]) || + (m[4] != n[4]) || (m[5] != n[5]) || (m[6] != n[6]) || (m[7] != n[7]) || + (m[8] != n[8]) || (m[9] != n[9]) || (m[10]!= n[10]) || (m[11]!= n[11]) || + (m[12]!= n[12]) || (m[13]!= n[13]) || (m[14]!= n[14]) || (m[15]!= n[15]); +} + + + +inline float Matrix4::operator[](int index) const +{ + return m[index]; +} + + + +inline float& Matrix4::operator[](int index) +{ + return m[index]; +} + + + +inline Matrix4 operator-(const Matrix4& rhs) +{ + return Matrix4(-rhs[0], -rhs[1], -rhs[2], -rhs[3], -rhs[4], -rhs[5], -rhs[6], -rhs[7], -rhs[8], -rhs[9], -rhs[10], -rhs[11], -rhs[12], -rhs[13], -rhs[14], -rhs[15]); +} + + + +inline Matrix4 operator*(float s, const Matrix4& rhs) +{ + return Matrix4(s*rhs[0], s*rhs[1], s*rhs[2], s*rhs[3], s*rhs[4], s*rhs[5], s*rhs[6], s*rhs[7], s*rhs[8], s*rhs[9], s*rhs[10], s*rhs[11], s*rhs[12], s*rhs[13], s*rhs[14], s*rhs[15]); +} + + + +inline Vector4 operator*(const Vector4& v, const Matrix4& m) +{ + return Vector4(v.x*m[0] + v.y*m[1] + v.z*m[2] + v.w*m[3], v.x*m[4] + v.y*m[5] + v.z*m[6] + v.w*m[7], v.x*m[8] + v.y*m[9] + v.z*m[10] + v.w*m[11], v.x*m[12] + v.y*m[13] + v.z*m[14] + v.w*m[15]); +} + + + +inline Vector3 operator*(const Vector3& v, const Matrix4& m) +{ + return Vector3(v.x*m[0] + v.y*m[1] + v.z*m[2], v.x*m[4] + v.y*m[5] + v.z*m[6], v.x*m[8] + v.y*m[9] + v.z*m[10]); +} + + + +inline std::ostream& operator<<(std::ostream& os, const Matrix4& m) +{ + os << std::fixed << std::setprecision(5); + os << "[" << std::setw(10) << m[0] << " " << std::setw(10) << m[4] << " " << std::setw(10) << m[8] << " " << std::setw(10) << m[12] << "]\n" + << "[" << std::setw(10) << m[1] << " " << std::setw(10) << m[5] << " " << std::setw(10) << m[9] << " " << std::setw(10) << m[13] << "]\n" + << "[" << std::setw(10) << m[2] << " " << std::setw(10) << m[6] << " " << std::setw(10) << m[10] << " " << std::setw(10) << m[14] << "]\n" + << "[" << std::setw(10) << m[3] << " " << std::setw(10) << m[7] << " " << std::setw(10) << m[11] << " " << std::setw(10) << m[15] << "]\n"; + os << std::resetiosflags(std::ios_base::fixed | std::ios_base::floatfield); + return os; +} +// END OF MATRIX4 INLINE ////////////////////////////////////////////////////// +#endif diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/Vectors.h b/examples/ThirdPartyLibs/openvr/samples/shared/Vectors.h new file mode 100644 index 000000000..2e08103c4 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/Vectors.h @@ -0,0 +1,530 @@ +/////////////////////////////////////////////////////////////////////////////// +// Vectors.h +// ========= +// 2D/3D/4D vectors +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2007-02-14 +// UPDATED: 2013-01-20 +// +// Copyright (C) 2007-2013 Song Ho Ahn +/////////////////////////////////////////////////////////////////////////////// + + +#ifndef VECTORS_H_DEF +#define VECTORS_H_DEF + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// 2D vector +/////////////////////////////////////////////////////////////////////////////// +struct Vector2 +{ + float x; + float y; + + // ctors + Vector2() : x(0), y(0) {}; + Vector2(float x, float y) : x(x), y(y) {}; + + // utils functions + void set(float x, float y); + float length() const; // + float distance(const Vector2& vec) const; // distance between two vectors + Vector2& normalize(); // + float dot(const Vector2& vec) const; // dot product + bool equal(const Vector2& vec, float e) const; // compare with epsilon + + // operators + Vector2 operator-() const; // unary operator (negate) + Vector2 operator+(const Vector2& rhs) const; // add rhs + Vector2 operator-(const Vector2& rhs) const; // subtract rhs + Vector2& operator+=(const Vector2& rhs); // add rhs and update this object + Vector2& operator-=(const Vector2& rhs); // subtract rhs and update this object + Vector2 operator*(const float scale) const; // scale + Vector2 operator*(const Vector2& rhs) const; // multiply each element + Vector2& operator*=(const float scale); // scale and update this object + Vector2& operator*=(const Vector2& rhs); // multiply each element and update this object + Vector2 operator/(const float scale) const; // inverse scale + Vector2& operator/=(const float scale); // scale and update this object + bool operator==(const Vector2& rhs) const; // exact compare, no epsilon + bool operator!=(const Vector2& rhs) const; // exact compare, no epsilon + bool operator<(const Vector2& rhs) const; // comparison for sort + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Vector2 operator*(const float a, const Vector2 vec); + friend std::ostream& operator<<(std::ostream& os, const Vector2& vec); +}; + + + +/////////////////////////////////////////////////////////////////////////////// +// 3D vector +/////////////////////////////////////////////////////////////////////////////// +struct Vector3 +{ + float x; + float y; + float z; + + // ctors + Vector3() : x(0), y(0), z(0) {}; + Vector3(float x, float y, float z) : x(x), y(y), z(z) {}; + + // utils functions + void set(float x, float y, float z); + float length() const; // + float distance(const Vector3& vec) const; // distance between two vectors + Vector3& normalize(); // + float dot(const Vector3& vec) const; // dot product + Vector3 cross(const Vector3& vec) const; // cross product + bool equal(const Vector3& vec, float e) const; // compare with epsilon + + // operators + Vector3 operator-() const; // unary operator (negate) + Vector3 operator+(const Vector3& rhs) const; // add rhs + Vector3 operator-(const Vector3& rhs) const; // subtract rhs + Vector3& operator+=(const Vector3& rhs); // add rhs and update this object + Vector3& operator-=(const Vector3& rhs); // subtract rhs and update this object + Vector3 operator*(const float scale) const; // scale + Vector3 operator*(const Vector3& rhs) const; // multiplay each element + Vector3& operator*=(const float scale); // scale and update this object + Vector3& operator*=(const Vector3& rhs); // product each element and update this object + Vector3 operator/(const float scale) const; // inverse scale + Vector3& operator/=(const float scale); // scale and update this object + bool operator==(const Vector3& rhs) const; // exact compare, no epsilon + bool operator!=(const Vector3& rhs) const; // exact compare, no epsilon + bool operator<(const Vector3& rhs) const; // comparison for sort + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Vector3 operator*(const float a, const Vector3 vec); + friend std::ostream& operator<<(std::ostream& os, const Vector3& vec); +}; + + + +/////////////////////////////////////////////////////////////////////////////// +// 4D vector +/////////////////////////////////////////////////////////////////////////////// +struct Vector4 +{ + float x; + float y; + float z; + float w; + + // ctors + Vector4() : x(0), y(0), z(0), w(0) {}; + Vector4(float x, float y, float z, float w) : x(x), y(y), z(z), w(w) {}; + + // utils functions + void set(float x, float y, float z, float w); + float length() const; // + float distance(const Vector4& vec) const; // distance between two vectors + Vector4& normalize(); // + float dot(const Vector4& vec) const; // dot product + bool equal(const Vector4& vec, float e) const; // compare with epsilon + + // operators + Vector4 operator-() const; // unary operator (negate) + Vector4 operator+(const Vector4& rhs) const; // add rhs + Vector4 operator-(const Vector4& rhs) const; // subtract rhs + Vector4& operator+=(const Vector4& rhs); // add rhs and update this object + Vector4& operator-=(const Vector4& rhs); // subtract rhs and update this object + Vector4 operator*(const float scale) const; // scale + Vector4 operator*(const Vector4& rhs) const; // multiply each element + Vector4& operator*=(const float scale); // scale and update this object + Vector4& operator*=(const Vector4& rhs); // multiply each element and update this object + Vector4 operator/(const float scale) const; // inverse scale + Vector4& operator/=(const float scale); // scale and update this object + bool operator==(const Vector4& rhs) const; // exact compare, no epsilon + bool operator!=(const Vector4& rhs) const; // exact compare, no epsilon + bool operator<(const Vector4& rhs) const; // comparison for sort + float operator[](int index) const; // subscript operator v[0], v[1] + float& operator[](int index); // subscript operator v[0], v[1] + + friend Vector4 operator*(const float a, const Vector4 vec); + friend std::ostream& operator<<(std::ostream& os, const Vector4& vec); +}; + + + +// fast math routines from Doom3 SDK +inline float invSqrt(float x) +{ + float xhalf = 0.5f * x; + int i = *(int*)&x; // get bits for floating value + i = 0x5f3759df - (i>>1); // gives initial guess + x = *(float*)&i; // convert bits back to float + x = x * (1.5f - xhalf*x*x); // Newton step + return x; +} + + + +/////////////////////////////////////////////////////////////////////////////// +// inline functions for Vector2 +/////////////////////////////////////////////////////////////////////////////// +inline Vector2 Vector2::operator-() const { + return Vector2(-x, -y); +} + +inline Vector2 Vector2::operator+(const Vector2& rhs) const { + return Vector2(x+rhs.x, y+rhs.y); +} + +inline Vector2 Vector2::operator-(const Vector2& rhs) const { + return Vector2(x-rhs.x, y-rhs.y); +} + +inline Vector2& Vector2::operator+=(const Vector2& rhs) { + x += rhs.x; y += rhs.y; return *this; +} + +inline Vector2& Vector2::operator-=(const Vector2& rhs) { + x -= rhs.x; y -= rhs.y; return *this; +} + +inline Vector2 Vector2::operator*(const float a) const { + return Vector2(x*a, y*a); +} + +inline Vector2 Vector2::operator*(const Vector2& rhs) const { + return Vector2(x*rhs.x, y*rhs.y); +} + +inline Vector2& Vector2::operator*=(const float a) { + x *= a; y *= a; return *this; +} + +inline Vector2& Vector2::operator*=(const Vector2& rhs) { + x *= rhs.x; y *= rhs.y; return *this; +} + +inline Vector2 Vector2::operator/(const float a) const { + return Vector2(x/a, y/a); +} + +inline Vector2& Vector2::operator/=(const float a) { + x /= a; y /= a; return *this; +} + +inline bool Vector2::operator==(const Vector2& rhs) const { + return (x == rhs.x) && (y == rhs.y); +} + +inline bool Vector2::operator!=(const Vector2& rhs) const { + return (x != rhs.x) || (y != rhs.y); +} + +inline bool Vector2::operator<(const Vector2& rhs) const { + if(x < rhs.x) return true; + if(x > rhs.x) return false; + if(y < rhs.y) return true; + if(y > rhs.y) return false; + return false; +} + +inline float Vector2::operator[](int index) const { + return (&x)[index]; +} + +inline float& Vector2::operator[](int index) { + return (&x)[index]; +} + +inline void Vector2::set(float x, float y) { + this->x = x; this->y = y; +} + +inline float Vector2::length() const { + return sqrtf(x*x + y*y); +} + +inline float Vector2::distance(const Vector2& vec) const { + return sqrtf((vec.x-x)*(vec.x-x) + (vec.y-y)*(vec.y-y)); +} + +inline Vector2& Vector2::normalize() { + //@@const float EPSILON = 0.000001f; + float xxyy = x*x + y*y; + //@@if(xxyy < EPSILON) + //@@ return *this; + + //float invLength = invSqrt(xxyy); + float invLength = 1.0f / sqrtf(xxyy); + x *= invLength; + y *= invLength; + return *this; +} + +inline float Vector2::dot(const Vector2& rhs) const { + return (x*rhs.x + y*rhs.y); +} + +inline bool Vector2::equal(const Vector2& rhs, float epsilon) const { + return fabs(x - rhs.x) < epsilon && fabs(y - rhs.y) < epsilon; +} + +inline Vector2 operator*(const float a, const Vector2 vec) { + return Vector2(a*vec.x, a*vec.y); +} + +inline std::ostream& operator<<(std::ostream& os, const Vector2& vec) { + os << "(" << vec.x << ", " << vec.y << ")"; + return os; +} +// END OF VECTOR2 ///////////////////////////////////////////////////////////// + + + + +/////////////////////////////////////////////////////////////////////////////// +// inline functions for Vector3 +/////////////////////////////////////////////////////////////////////////////// +inline Vector3 Vector3::operator-() const { + return Vector3(-x, -y, -z); +} + +inline Vector3 Vector3::operator+(const Vector3& rhs) const { + return Vector3(x+rhs.x, y+rhs.y, z+rhs.z); +} + +inline Vector3 Vector3::operator-(const Vector3& rhs) const { + return Vector3(x-rhs.x, y-rhs.y, z-rhs.z); +} + +inline Vector3& Vector3::operator+=(const Vector3& rhs) { + x += rhs.x; y += rhs.y; z += rhs.z; return *this; +} + +inline Vector3& Vector3::operator-=(const Vector3& rhs) { + x -= rhs.x; y -= rhs.y; z -= rhs.z; return *this; +} + +inline Vector3 Vector3::operator*(const float a) const { + return Vector3(x*a, y*a, z*a); +} + +inline Vector3 Vector3::operator*(const Vector3& rhs) const { + return Vector3(x*rhs.x, y*rhs.y, z*rhs.z); +} + +inline Vector3& Vector3::operator*=(const float a) { + x *= a; y *= a; z *= a; return *this; +} + +inline Vector3& Vector3::operator*=(const Vector3& rhs) { + x *= rhs.x; y *= rhs.y; z *= rhs.z; return *this; +} + +inline Vector3 Vector3::operator/(const float a) const { + return Vector3(x/a, y/a, z/a); +} + +inline Vector3& Vector3::operator/=(const float a) { + x /= a; y /= a; z /= a; return *this; +} + +inline bool Vector3::operator==(const Vector3& rhs) const { + return (x == rhs.x) && (y == rhs.y) && (z == rhs.z); +} + +inline bool Vector3::operator!=(const Vector3& rhs) const { + return (x != rhs.x) || (y != rhs.y) || (z != rhs.z); +} + +inline bool Vector3::operator<(const Vector3& rhs) const { + if(x < rhs.x) return true; + if(x > rhs.x) return false; + if(y < rhs.y) return true; + if(y > rhs.y) return false; + if(z < rhs.z) return true; + if(z > rhs.z) return false; + return false; +} + +inline float Vector3::operator[](int index) const { + return (&x)[index]; +} + +inline float& Vector3::operator[](int index) { + return (&x)[index]; +} + +inline void Vector3::set(float x, float y, float z) { + this->x = x; this->y = y; this->z = z; +} + +inline float Vector3::length() const { + return sqrtf(x*x + y*y + z*z); +} + +inline float Vector3::distance(const Vector3& vec) const { + return sqrtf((vec.x-x)*(vec.x-x) + (vec.y-y)*(vec.y-y) + (vec.z-z)*(vec.z-z)); +} + +inline Vector3& Vector3::normalize() { + //@@const float EPSILON = 0.000001f; + float xxyyzz = x*x + y*y + z*z; + //@@if(xxyyzz < EPSILON) + //@@ return *this; // do nothing if it is ~zero vector + + //float invLength = invSqrt(xxyyzz); + float invLength = 1.0f / sqrtf(xxyyzz); + x *= invLength; + y *= invLength; + z *= invLength; + return *this; +} + +inline float Vector3::dot(const Vector3& rhs) const { + return (x*rhs.x + y*rhs.y + z*rhs.z); +} + +inline Vector3 Vector3::cross(const Vector3& rhs) const { + return Vector3(y*rhs.z - z*rhs.y, z*rhs.x - x*rhs.z, x*rhs.y - y*rhs.x); +} + +inline bool Vector3::equal(const Vector3& rhs, float epsilon) const { + return fabs(x - rhs.x) < epsilon && fabs(y - rhs.y) < epsilon && fabs(z - rhs.z) < epsilon; +} + +inline Vector3 operator*(const float a, const Vector3 vec) { + return Vector3(a*vec.x, a*vec.y, a*vec.z); +} + +inline std::ostream& operator<<(std::ostream& os, const Vector3& vec) { + os << "(" << vec.x << ", " << vec.y << ", " << vec.z << ")"; + return os; +} +// END OF VECTOR3 ///////////////////////////////////////////////////////////// + + + +/////////////////////////////////////////////////////////////////////////////// +// inline functions for Vector4 +/////////////////////////////////////////////////////////////////////////////// +inline Vector4 Vector4::operator-() const { + return Vector4(-x, -y, -z, -w); +} + +inline Vector4 Vector4::operator+(const Vector4& rhs) const { + return Vector4(x+rhs.x, y+rhs.y, z+rhs.z, w+rhs.w); +} + +inline Vector4 Vector4::operator-(const Vector4& rhs) const { + return Vector4(x-rhs.x, y-rhs.y, z-rhs.z, w-rhs.w); +} + +inline Vector4& Vector4::operator+=(const Vector4& rhs) { + x += rhs.x; y += rhs.y; z += rhs.z; w += rhs.w; return *this; +} + +inline Vector4& Vector4::operator-=(const Vector4& rhs) { + x -= rhs.x; y -= rhs.y; z -= rhs.z; w -= rhs.w; return *this; +} + +inline Vector4 Vector4::operator*(const float a) const { + return Vector4(x*a, y*a, z*a, w*a); +} + +inline Vector4 Vector4::operator*(const Vector4& rhs) const { + return Vector4(x*rhs.x, y*rhs.y, z*rhs.z, w*rhs.w); +} + +inline Vector4& Vector4::operator*=(const float a) { + x *= a; y *= a; z *= a; w *= a; return *this; +} + +inline Vector4& Vector4::operator*=(const Vector4& rhs) { + x *= rhs.x; y *= rhs.y; z *= rhs.z; w *= rhs.w; return *this; +} + +inline Vector4 Vector4::operator/(const float a) const { + return Vector4(x/a, y/a, z/a, w/a); +} + +inline Vector4& Vector4::operator/=(const float a) { + x /= a; y /= a; z /= a; w /= a; return *this; +} + +inline bool Vector4::operator==(const Vector4& rhs) const { + return (x == rhs.x) && (y == rhs.y) && (z == rhs.z) && (w == rhs.w); +} + +inline bool Vector4::operator!=(const Vector4& rhs) const { + return (x != rhs.x) || (y != rhs.y) || (z != rhs.z) || (w != rhs.w); +} + +inline bool Vector4::operator<(const Vector4& rhs) const { + if(x < rhs.x) return true; + if(x > rhs.x) return false; + if(y < rhs.y) return true; + if(y > rhs.y) return false; + if(z < rhs.z) return true; + if(z > rhs.z) return false; + if(w < rhs.w) return true; + if(w > rhs.w) return false; + return false; +} + +inline float Vector4::operator[](int index) const { + return (&x)[index]; +} + +inline float& Vector4::operator[](int index) { + return (&x)[index]; +} + +inline void Vector4::set(float x, float y, float z, float w) { + this->x = x; this->y = y; this->z = z; this->w = w; +} + +inline float Vector4::length() const { + return sqrtf(x*x + y*y + z*z + w*w); +} + +inline float Vector4::distance(const Vector4& vec) const { + return sqrtf((vec.x-x)*(vec.x-x) + (vec.y-y)*(vec.y-y) + (vec.z-z)*(vec.z-z) + (vec.w-w)*(vec.w-w)); +} + +inline Vector4& Vector4::normalize() { + //NOTE: leave w-component untouched + //@@const float EPSILON = 0.000001f; + float xxyyzz = x*x + y*y + z*z; + //@@if(xxyyzz < EPSILON) + //@@ return *this; // do nothing if it is zero vector + + //float invLength = invSqrt(xxyyzz); + float invLength = 1.0f / sqrtf(xxyyzz); + x *= invLength; + y *= invLength; + z *= invLength; + return *this; +} + +inline float Vector4::dot(const Vector4& rhs) const { + return (x*rhs.x + y*rhs.y + z*rhs.z + w*rhs.w); +} + +inline bool Vector4::equal(const Vector4& rhs, float epsilon) const { + return fabs(x - rhs.x) < epsilon && fabs(y - rhs.y) < epsilon && + fabs(z - rhs.z) < epsilon && fabs(w - rhs.w) < epsilon; +} + +inline Vector4 operator*(const float a, const Vector4 vec) { + return Vector4(a*vec.x, a*vec.y, a*vec.z, a*vec.w); +} + +inline std::ostream& operator<<(std::ostream& os, const Vector4& vec) { + os << "(" << vec.x << ", " << vec.y << ", " << vec.z << ", " << vec.w << ")"; + return os; +} +// END OF VECTOR4 ///////////////////////////////////////////////////////////// + +#endif diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.cpp b/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.cpp new file mode 100644 index 000000000..d57a9d945 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.cpp @@ -0,0 +1,6104 @@ +/* +LodePNG version 20140823 + +Copyright (c) 2005-2014 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +/* +The manual and changelog are in the header file "lodepng.h" +Rename this file to lodepng.cpp to use it for C++, or to lodepng.c to use it for C. +*/ + +#include "lodepng.h" + +#include +#include + +#ifdef LODEPNG_COMPILE_CPP +#include +#endif /*LODEPNG_COMPILE_CPP*/ + +#define VERSION_STRING "20140823" + +#if defined(_MSC_VER) && (_MSC_VER >= 1310) /*Visual Studio: A few warning types are not desired here.*/ +#pragma warning( disable : 4244 ) /*implicit conversions: not warned by gcc -Wall -Wextra and requires too much casts*/ +#pragma warning( disable : 4996 ) /*VS does not like fopen, but fopen_s is not standard C so unusable here*/ +#endif /*_MSC_VER */ + +/* +This source file is built up in the following large parts. The code sections +with the "LODEPNG_COMPILE_" #defines divide this up further in an intermixed way. +-Tools for C and common code for PNG and Zlib +-C Code for Zlib (huffman, deflate, ...) +-C Code for PNG (file format chunks, adam7, PNG filters, color conversions, ...) +-The C++ wrapper around all of the above +*/ + +/*The malloc, realloc and free functions defined here with "lodepng_" in front +of the name, so that you can easily change them to others related to your +platform if needed. Everything else in the code calls these. Pass +-DLODEPNG_NO_COMPILE_ALLOCATORS to the compiler, or comment out +#define LODEPNG_COMPILE_ALLOCATORS in the header, to disable the ones here and +define them in your own project's source files without needing to change +lodepng source code. Don't forget to remove "static" if you copypaste them +from here.*/ + +#ifdef LODEPNG_COMPILE_ALLOCATORS +static void* lodepng_malloc(size_t size) +{ + return malloc(size); +} + +static void* lodepng_realloc(void* ptr, size_t new_size) +{ + return realloc(ptr, new_size); +} + +static void lodepng_free(void* ptr) +{ + free(ptr); +} +#else /*LODEPNG_COMPILE_ALLOCATORS*/ +void* lodepng_malloc(size_t size); +void* lodepng_realloc(void* ptr, size_t new_size); +void lodepng_free(void* ptr); +#endif /*LODEPNG_COMPILE_ALLOCATORS*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // Tools for C, and common code for PNG and Zlib. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Often in case of an error a value is assigned to a variable and then it breaks +out of a loop (to go to the cleanup phase of a function). This macro does that. +It makes the error handling code shorter and more readable. + +Example: if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83); +*/ +#define CERROR_BREAK(errorvar, code)\ +{\ + errorvar = code;\ + break;\ +} + +/*version of CERROR_BREAK that assumes the common case where the error variable is named "error"*/ +#define ERROR_BREAK(code) CERROR_BREAK(error, code) + +/*Set error var to the error code, and return it.*/ +#define CERROR_RETURN_ERROR(errorvar, code)\ +{\ + errorvar = code;\ + return code;\ +} + +/*Try the code, if it returns error, also return the error.*/ +#define CERROR_TRY_RETURN(call)\ +{\ + unsigned error = call;\ + if(error) return error;\ +} + +/* +About uivector, ucvector and string: +-All of them wrap dynamic arrays or text strings in a similar way. +-LodePNG was originally written in C++. The vectors replace the std::vectors that were used in the C++ version. +-The string tools are made to avoid problems with compilers that declare things like strncat as deprecated. +-They're not used in the interface, only internally in this file as static functions. +-As with many other structs in this file, the init and cleanup functions serve as ctor and dtor. +*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*dynamic vector of unsigned ints*/ +typedef struct uivector +{ + unsigned* data; + size_t size; /*size in number of unsigned longs*/ + size_t allocsize; /*allocated size in bytes*/ +} uivector; + +static void uivector_cleanup(void* p) +{ + ((uivector*)p)->size = ((uivector*)p)->allocsize = 0; + lodepng_free(((uivector*)p)->data); + ((uivector*)p)->data = NULL; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_reserve(uivector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_resize(uivector* p, size_t size) +{ + if(!uivector_reserve(p, size * sizeof(unsigned))) return 0; + p->size = size; + return 1; /*success*/ +} + +/*resize and give all new elements the value*/ +static unsigned uivector_resizev(uivector* p, size_t size, unsigned value) +{ + size_t oldsize = p->size, i; + if(!uivector_resize(p, size)) return 0; + for(i = oldsize; i < size; i++) p->data[i] = value; + return 1; +} + +static void uivector_init(uivector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} + +#ifdef LODEPNG_COMPILE_ENCODER +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_push_back(uivector* p, unsigned c) +{ + if(!uivector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} + +/*copy q to p, returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned uivector_copy(uivector* p, const uivector* q) +{ + size_t i; + if(!uivector_resize(p, q->size)) return 0; + for(i = 0; i < q->size; i++) p->data[i] = q->data[i]; + return 1; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* /////////////////////////////////////////////////////////////////////////// */ + +/*dynamic vector of unsigned chars*/ +typedef struct ucvector +{ + unsigned char* data; + size_t size; /*used size*/ + size_t allocsize; /*allocated size*/ +} ucvector; + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_reserve(ucvector* p, size_t allocsize) +{ + if(allocsize > p->allocsize) + { + size_t newsize = (allocsize > p->allocsize * 2) ? allocsize : (allocsize * 3 / 2); + void* data = lodepng_realloc(p->data, newsize); + if(data) + { + p->allocsize = newsize; + p->data = (unsigned char*)data; + } + else return 0; /*error: not enough memory*/ + } + return 1; +} + +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_resize(ucvector* p, size_t size) +{ + if(!ucvector_reserve(p, size * sizeof(unsigned char))) return 0; + p->size = size; + return 1; /*success*/ +} + +#ifdef LODEPNG_COMPILE_PNG + +static void ucvector_cleanup(void* p) +{ + ((ucvector*)p)->size = ((ucvector*)p)->allocsize = 0; + lodepng_free(((ucvector*)p)->data); + ((ucvector*)p)->data = NULL; +} + +static void ucvector_init(ucvector* p) +{ + p->data = NULL; + p->size = p->allocsize = 0; +} + +#ifdef LODEPNG_COMPILE_DECODER +/*resize and give all new elements the value*/ +static unsigned ucvector_resizev(ucvector* p, size_t size, unsigned char value) +{ + size_t oldsize = p->size, i; + if(!ucvector_resize(p, size)) return 0; + for(i = oldsize; i < size; i++) p->data[i] = value; + return 1; +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ZLIB +/*you can both convert from vector to buffer&size and vica versa. If you use +init_buffer to take over a buffer and size, it is not needed to use cleanup*/ +static void ucvector_init_buffer(ucvector* p, unsigned char* buffer, size_t size) +{ + p->data = buffer; + p->allocsize = p->size = size; +} +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#if (defined(LODEPNG_COMPILE_PNG) && defined(LODEPNG_COMPILE_ANCILLARY_CHUNKS)) || defined(LODEPNG_COMPILE_ENCODER) +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned ucvector_push_back(ucvector* p, unsigned char c) +{ + if(!ucvector_resize(p, p->size + 1)) return 0; + p->data[p->size - 1] = c; + return 1; +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*returns 1 if success, 0 if failure ==> nothing done*/ +static unsigned string_resize(char** out, size_t size) +{ + char* data = (char*)lodepng_realloc(*out, size + 1); + if(data) + { + data[size] = 0; /*null termination char*/ + *out = data; + } + return data != 0; +} + +/*init a {char*, size_t} pair for use as string*/ +static void string_init(char** out) +{ + *out = NULL; + string_resize(out, 0); +} + +/*free the above pair again*/ +static void string_cleanup(char** out) +{ + lodepng_free(*out); + *out = NULL; +} + +static void string_set(char** out, const char* in) +{ + size_t insize = strlen(in), i = 0; + if(string_resize(out, insize)) + { + for(i = 0; i < insize; i++) + { + (*out)[i] = in[i]; + } + } +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_read32bitInt(const unsigned char* buffer) +{ + return (unsigned)((buffer[0] << 24) | (buffer[1] << 16) | (buffer[2] << 8) | buffer[3]); +} + +#if defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER) +/*buffer must have at least 4 allocated bytes available*/ +static void lodepng_set32bitInt(unsigned char* buffer, unsigned value) +{ + buffer[0] = (unsigned char)((value >> 24) & 0xff); + buffer[1] = (unsigned char)((value >> 16) & 0xff); + buffer[2] = (unsigned char)((value >> 8) & 0xff); + buffer[3] = (unsigned char)((value ) & 0xff); +} +#endif /*defined(LODEPNG_COMPILE_PNG) || defined(LODEPNG_COMPILE_ENCODER)*/ + +#ifdef LODEPNG_COMPILE_ENCODER +static void lodepng_add32bitInt(ucvector* buffer, unsigned value) +{ + ucvector_resize(buffer, buffer->size + 4); /*todo: give error if resize failed*/ + lodepng_set32bitInt(&buffer->data[buffer->size - 4], value); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / File IO / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DISK + +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename) +{ + FILE* file; + long size; + + /*provide some proper output values if error will happen*/ + *out = 0; + *outsize = 0; + + file = fopen(filename, "rb"); + if(!file) return 78; + + /*get filesize:*/ + fseek(file , 0 , SEEK_END); + size = ftell(file); + rewind(file); + + /*read contents of the file into the vector*/ + *outsize = 0; + *out = (unsigned char*)lodepng_malloc((size_t)size); + if(size && (*out)) (*outsize) = fread(*out, 1, (size_t)size, file); + + fclose(file); + if(!(*out) && size) return 83; /*the above malloc failed*/ + return 0; +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename) +{ + FILE* file; + file = fopen(filename, "wb" ); + if(!file) return 79; + fwrite((char*)buffer , 1 , buffersize, file); + fclose(file); + return 0; +} + +#endif /*LODEPNG_COMPILE_DISK*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of common code and tools. Begin of Zlib related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_ENCODER +/*TODO: this ignores potential out of memory errors*/ +#define addBitToStream(/*size_t**/ bitpointer, /*ucvector**/ bitstream, /*unsigned char*/ bit)\ +{\ + /*add a new byte at the end*/\ + if(((*bitpointer) & 7) == 0) ucvector_push_back(bitstream, (unsigned char)0);\ + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/\ + (bitstream->data[bitstream->size - 1]) |= (bit << ((*bitpointer) & 0x7));\ + (*bitpointer)++;\ +} + +static void addBitsToStream(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i < nbits; i++) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> i) & 1)); +} + +static void addBitsToStreamReversed(size_t* bitpointer, ucvector* bitstream, unsigned value, size_t nbits) +{ + size_t i; + for(i = 0; i < nbits; i++) addBitToStream(bitpointer, bitstream, (unsigned char)((value >> (nbits - 1 - i)) & 1)); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +#define READBIT(bitpointer, bitstream) ((bitstream[bitpointer >> 3] >> (bitpointer & 0x7)) & (unsigned char)1) + +static unsigned char readBitFromStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)(READBIT(*bitpointer, bitstream)); + (*bitpointer)++; + return result; +} + +static unsigned readBitsFromStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0, i; + for(i = 0; i < nbits; i++) + { + result += ((unsigned)READBIT(*bitpointer, bitstream)) << i; + (*bitpointer)++; + } + return result; +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflate - Huffman / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#define FIRST_LENGTH_CODE_INDEX 257 +#define LAST_LENGTH_CODE_INDEX 285 +/*256 literals, the end code, some length codes, and 2 unused codes*/ +#define NUM_DEFLATE_CODE_SYMBOLS 288 +/*the distance codes have their own symbols, 30 used, 2 unused*/ +#define NUM_DISTANCE_SYMBOLS 32 +/*the code length codes. 0-15: code lengths, 16: copy previous 3-6 times, 17: 3-10 zeros, 18: 11-138 zeros*/ +#define NUM_CODE_LENGTH_CODES 19 + +/*the base lengths represented by codes 257-285*/ +static const unsigned LENGTHBASE[29] + = {3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, + 67, 83, 99, 115, 131, 163, 195, 227, 258}; + +/*the extra bits used by codes 257-285 (added to base length)*/ +static const unsigned LENGTHEXTRA[29] + = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, + 4, 4, 4, 4, 5, 5, 5, 5, 0}; + +/*the base backwards distances (the bits of distance codes appear after length codes and use their own huffman tree)*/ +static const unsigned DISTANCEBASE[30] + = {1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, + 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577}; + +/*the extra bits of backwards distances (added to base)*/ +static const unsigned DISTANCEEXTRA[30] + = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, + 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13}; + +/*the order in which "code length alphabet code lengths" are stored, out of this +the huffman tree of the dynamic huffman tree lengths is generated*/ +static const unsigned CLCL_ORDER[NUM_CODE_LENGTH_CODES] + = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; + +/* ////////////////////////////////////////////////////////////////////////// */ + +/* +Huffman tree struct, containing multiple representations of the tree +*/ +typedef struct HuffmanTree +{ + unsigned* tree2d; + unsigned* tree1d; + unsigned* lengths; /*the lengths of the codes of the 1d-tree*/ + unsigned maxbitlen; /*maximum number of bits a single code can get*/ + unsigned numcodes; /*number of symbols in the alphabet = number of codes*/ +} HuffmanTree; + +/*function used for debug purposes to draw the tree in ascii art with C++*/ +/* +static void HuffmanTree_draw(HuffmanTree* tree) +{ + std::cout << "tree. length: " << tree->numcodes << " maxbitlen: " << tree->maxbitlen << std::endl; + for(size_t i = 0; i < tree->tree1d.size; i++) + { + if(tree->lengths.data[i]) + std::cout << i << " " << tree->tree1d.data[i] << " " << tree->lengths.data[i] << std::endl; + } + std::cout << std::endl; +}*/ + +static void HuffmanTree_init(HuffmanTree* tree) +{ + tree->tree2d = 0; + tree->tree1d = 0; + tree->lengths = 0; +} + +static void HuffmanTree_cleanup(HuffmanTree* tree) +{ + lodepng_free(tree->tree2d); + lodepng_free(tree->tree1d); + lodepng_free(tree->lengths); +} + +/*the tree representation used by the decoder. return value is error*/ +static unsigned HuffmanTree_make2DTree(HuffmanTree* tree) +{ + unsigned nodefilled = 0; /*up to which node it is filled*/ + unsigned treepos = 0; /*position in the tree (1 of the numcodes columns)*/ + unsigned n, i; + + tree->tree2d = (unsigned*)lodepng_malloc(tree->numcodes * 2 * sizeof(unsigned)); + if(!tree->tree2d) return 83; /*alloc fail*/ + + /* + convert tree1d[] to tree2d[][]. In the 2D array, a value of 32767 means + uninited, a value >= numcodes is an address to another bit, a value < numcodes + is a code. The 2 rows are the 2 possible bit values (0 or 1), there are as + many columns as codes - 1. + A good huffmann tree has N * 2 - 1 nodes, of which N - 1 are internal nodes. + Here, the internal nodes are stored (what their 0 and 1 option point to). + There is only memory for such good tree currently, if there are more nodes + (due to too long length codes), error 55 will happen + */ + for(n = 0; n < tree->numcodes * 2; n++) + { + tree->tree2d[n] = 32767; /*32767 here means the tree2d isn't filled there yet*/ + } + + for(n = 0; n < tree->numcodes; n++) /*the codes*/ + { + for(i = 0; i < tree->lengths[n]; i++) /*the bits for this code*/ + { + unsigned char bit = (unsigned char)((tree->tree1d[n] >> (tree->lengths[n] - i - 1)) & 1); + if(treepos > tree->numcodes - 2) return 55; /*oversubscribed, see comment in lodepng_error_text*/ + if(tree->tree2d[2 * treepos + bit] == 32767) /*not yet filled in*/ + { + if(i + 1 == tree->lengths[n]) /*last bit*/ + { + tree->tree2d[2 * treepos + bit] = n; /*put the current code in it*/ + treepos = 0; + } + else + { + /*put address of the next step in here, first that address has to be found of course + (it's just nodefilled + 1)...*/ + nodefilled++; + /*addresses encoded with numcodes added to it*/ + tree->tree2d[2 * treepos + bit] = nodefilled + tree->numcodes; + treepos = nodefilled; + } + } + else treepos = tree->tree2d[2 * treepos + bit] - tree->numcodes; + } + } + + for(n = 0; n < tree->numcodes * 2; n++) + { + if(tree->tree2d[n] == 32767) tree->tree2d[n] = 0; /*remove possible remaining 32767's*/ + } + + return 0; +} + +/* +Second step for the ...makeFromLengths and ...makeFromFrequencies functions. +numcodes, lengths and maxbitlen must already be filled in correctly. return +value is error. +*/ +static unsigned HuffmanTree_makeFromLengths2(HuffmanTree* tree) +{ + uivector blcount; + uivector nextcode; + unsigned bits, n, error = 0; + + uivector_init(&blcount); + uivector_init(&nextcode); + + tree->tree1d = (unsigned*)lodepng_malloc(tree->numcodes * sizeof(unsigned)); + if(!tree->tree1d) error = 83; /*alloc fail*/ + + if(!uivector_resizev(&blcount, tree->maxbitlen + 1, 0) + || !uivector_resizev(&nextcode, tree->maxbitlen + 1, 0)) + error = 83; /*alloc fail*/ + + if(!error) + { + /*step 1: count number of instances of each code length*/ + for(bits = 0; bits < tree->numcodes; bits++) blcount.data[tree->lengths[bits]]++; + /*step 2: generate the nextcode values*/ + for(bits = 1; bits <= tree->maxbitlen; bits++) + { + nextcode.data[bits] = (nextcode.data[bits - 1] + blcount.data[bits - 1]) << 1; + } + /*step 3: generate all the codes*/ + for(n = 0; n < tree->numcodes; n++) + { + if(tree->lengths[n] != 0) tree->tree1d[n] = nextcode.data[tree->lengths[n]]++; + } + } + + uivector_cleanup(&blcount); + uivector_cleanup(&nextcode); + + if(!error) return HuffmanTree_make2DTree(tree); + else return error; +} + +/* +given the code lengths (as stored in the PNG file), generate the tree as defined +by Deflate. maxbitlen is the maximum bits that a code in the tree can have. +return value is error. +*/ +static unsigned HuffmanTree_makeFromLengths(HuffmanTree* tree, const unsigned* bitlen, + size_t numcodes, unsigned maxbitlen) +{ + unsigned i; + tree->lengths = (unsigned*)lodepng_malloc(numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + for(i = 0; i < numcodes; i++) tree->lengths[i] = bitlen[i]; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->maxbitlen = maxbitlen; + return HuffmanTree_makeFromLengths2(tree); +} + +#ifdef LODEPNG_COMPILE_ENCODER + +/* +A coin, this is the terminology used for the package-merge algorithm and the +coin collector's problem. This is used to generate the huffman tree. +A coin can be multiple coins (when they're merged) +*/ +typedef struct Coin +{ + uivector symbols; + float weight; /*the sum of all weights in this coin*/ +} Coin; + +static void coin_init(Coin* c) +{ + uivector_init(&c->symbols); +} + +/*argument c is void* so that this dtor can be given as function pointer to the vector resize function*/ +static void coin_cleanup(void* c) +{ + uivector_cleanup(&((Coin*)c)->symbols); +} + +static void coin_copy(Coin* c1, const Coin* c2) +{ + c1->weight = c2->weight; + uivector_copy(&c1->symbols, &c2->symbols); +} + +static void add_coins(Coin* c1, const Coin* c2) +{ + size_t i; + for(i = 0; i < c2->symbols.size; i++) uivector_push_back(&c1->symbols, c2->symbols.data[i]); + c1->weight += c2->weight; +} + +static void init_coins(Coin* coins, size_t num) +{ + size_t i; + for(i = 0; i < num; i++) coin_init(&coins[i]); +} + +static void cleanup_coins(Coin* coins, size_t num) +{ + size_t i; + for(i = 0; i < num; i++) coin_cleanup(&coins[i]); +} + +static int coin_compare(const void* a, const void* b) { + float wa = ((const Coin*)a)->weight; + float wb = ((const Coin*)b)->weight; + return wa > wb ? 1 : wa < wb ? -1 : 0; +} + +static unsigned append_symbol_coins(Coin* coins, const unsigned* frequencies, unsigned numcodes, size_t sum) +{ + unsigned i; + unsigned j = 0; /*index of present symbols*/ + for(i = 0; i < numcodes; i++) + { + if(frequencies[i] != 0) /*only include symbols that are present*/ + { + coins[j].weight = frequencies[i] / (float)sum; + uivector_push_back(&coins[j].symbols, i); + j++; + } + } + return 0; +} + +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen) +{ + unsigned i, j; + size_t sum = 0, numpresent = 0; + unsigned error = 0; + Coin* coins; /*the coins of the currently calculated row*/ + Coin* prev_row; /*the previous row of coins*/ + size_t numcoins; + size_t coinmem; + + if(numcodes == 0) return 80; /*error: a tree of 0 symbols is not supposed to be made*/ + + for(i = 0; i < numcodes; i++) + { + if(frequencies[i] > 0) + { + numpresent++; + sum += frequencies[i]; + } + } + + for(i = 0; i < numcodes; i++) lengths[i] = 0; + + /*ensure at least two present symbols. There should be at least one symbol + according to RFC 1951 section 3.2.7. To decoders incorrectly require two. To + make these work as well ensure there are at least two symbols. The + Package-Merge code below also doesn't work correctly if there's only one + symbol, it'd give it the theoritical 0 bits but in practice zlib wants 1 bit*/ + if(numpresent == 0) + { + lengths[0] = lengths[1] = 1; /*note that for RFC 1951 section 3.2.7, only lengths[0] = 1 is needed*/ + } + else if(numpresent == 1) + { + for(i = 0; i < numcodes; i++) + { + if(frequencies[i]) + { + lengths[i] = 1; + lengths[i == 0 ? 1 : 0] = 1; + break; + } + } + } + else + { + /*Package-Merge algorithm represented by coin collector's problem + For every symbol, maxbitlen coins will be created*/ + + coinmem = numpresent * 2; /*max amount of coins needed with the current algo*/ + coins = (Coin*)lodepng_malloc(sizeof(Coin) * coinmem); + prev_row = (Coin*)lodepng_malloc(sizeof(Coin) * coinmem); + if(!coins || !prev_row) + { + lodepng_free(coins); + lodepng_free(prev_row); + return 83; /*alloc fail*/ + } + init_coins(coins, coinmem); + init_coins(prev_row, coinmem); + + /*first row, lowest denominator*/ + error = append_symbol_coins(coins, frequencies, numcodes, sum); + numcoins = numpresent; + qsort(coins, numcoins, sizeof(Coin), coin_compare); + if(!error) + { + unsigned numprev = 0; + for(j = 1; j <= maxbitlen && !error; j++) /*each of the remaining rows*/ + { + unsigned tempnum; + Coin* tempcoins; + /*swap prev_row and coins, and their amounts*/ + tempcoins = prev_row; prev_row = coins; coins = tempcoins; + tempnum = numprev; numprev = numcoins; numcoins = tempnum; + + cleanup_coins(coins, numcoins); + init_coins(coins, numcoins); + + numcoins = 0; + + /*fill in the merged coins of the previous row*/ + for(i = 0; i + 1 < numprev; i += 2) + { + /*merge prev_row[i] and prev_row[i + 1] into new coin*/ + Coin* coin = &coins[numcoins++]; + coin_copy(coin, &prev_row[i]); + add_coins(coin, &prev_row[i + 1]); + } + /*fill in all the original symbols again*/ + if(j < maxbitlen) + { + error = append_symbol_coins(coins + numcoins, frequencies, numcodes, sum); + numcoins += numpresent; + } + qsort(coins, numcoins, sizeof(Coin), coin_compare); + } + } + + if(!error) + { + /*calculate the lenghts of each symbol, as the amount of times a coin of each symbol is used*/ + for(i = 0; i < numpresent - 1; i++) + { + Coin* coin = &coins[i]; + for(j = 0; j < coin->symbols.size; j++) lengths[coin->symbols.data[j]]++; + } + } + + cleanup_coins(coins, coinmem); + lodepng_free(coins); + cleanup_coins(prev_row, coinmem); + lodepng_free(prev_row); + } + + return error; +} + +/*Create the Huffman tree given the symbol frequencies*/ +static unsigned HuffmanTree_makeFromFrequencies(HuffmanTree* tree, const unsigned* frequencies, + size_t mincodes, size_t numcodes, unsigned maxbitlen) +{ + unsigned error = 0; + while(!frequencies[numcodes - 1] && numcodes > mincodes) numcodes--; /*trim zeroes*/ + tree->maxbitlen = maxbitlen; + tree->numcodes = (unsigned)numcodes; /*number of symbols*/ + tree->lengths = (unsigned*)lodepng_realloc(tree->lengths, numcodes * sizeof(unsigned)); + if(!tree->lengths) return 83; /*alloc fail*/ + /*initialize all lengths to 0*/ + memset(tree->lengths, 0, numcodes * sizeof(unsigned)); + + error = lodepng_huffman_code_lengths(tree->lengths, frequencies, numcodes, maxbitlen); + if(!error) error = HuffmanTree_makeFromLengths2(tree); + return error; +} + +static unsigned HuffmanTree_getCode(const HuffmanTree* tree, unsigned index) +{ + return tree->tree1d[index]; +} + +static unsigned HuffmanTree_getLength(const HuffmanTree* tree, unsigned index) +{ + return tree->lengths[index]; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*get the literal and length code tree of a deflated block with fixed tree, as per the deflate specification*/ +static unsigned generateFixedLitLenTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*288 possible codes: 0-255=literals, 256=endcode, 257-285=lengthcodes, 286-287=unused*/ + for(i = 0; i <= 143; i++) bitlen[i] = 8; + for(i = 144; i <= 255; i++) bitlen[i] = 9; + for(i = 256; i <= 279; i++) bitlen[i] = 7; + for(i = 280; i <= 287; i++) bitlen[i] = 8; + + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DEFLATE_CODE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +/*get the distance code tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static unsigned generateFixedDistanceTree(HuffmanTree* tree) +{ + unsigned i, error = 0; + unsigned* bitlen = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen) return 83; /*alloc fail*/ + + /*there are 32 distance codes, but 30-31 are unused*/ + for(i = 0; i < NUM_DISTANCE_SYMBOLS; i++) bitlen[i] = 5; + error = HuffmanTree_makeFromLengths(tree, bitlen, NUM_DISTANCE_SYMBOLS, 15); + + lodepng_free(bitlen); + return error; +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* +returns the code, or (unsigned)(-1) if error happened +inbitlength is the length of the complete buffer, in bits (so its byte length times 8) +*/ +static unsigned huffmanDecodeSymbol(const unsigned char* in, size_t* bp, + const HuffmanTree* codetree, size_t inbitlength) +{ + unsigned treepos = 0, ct; + for(;;) + { + if(*bp >= inbitlength) return (unsigned)(-1); /*error: end of input memory reached without endcode*/ + /* + decode the symbol from the tree. The "readBitFromStream" code is inlined in + the expression below because this is the biggest bottleneck while decoding + */ + ct = codetree->tree2d[(treepos << 1) + READBIT(*bp, in)]; + (*bp)++; + if(ct < codetree->numcodes) return ct; /*the symbol is decoded, return it*/ + else treepos = ct - codetree->numcodes; /*symbol not yet decoded, instead move tree position*/ + + if(treepos >= codetree->numcodes) return (unsigned)(-1); /*error: it appeared outside the codetree*/ + } +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Inflator (Decompressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*get the tree of a deflated block with fixed tree, as specified in the deflate specification*/ +static void getTreeInflateFixed(HuffmanTree* tree_ll, HuffmanTree* tree_d) +{ + /*TODO: check for out of memory errors*/ + generateFixedLitLenTree(tree_ll); + generateFixedDistanceTree(tree_d); +} + +/*get the tree of a deflated block with dynamic tree, the tree itself is also Huffman compressed with a known tree*/ +static unsigned getTreeInflateDynamic(HuffmanTree* tree_ll, HuffmanTree* tree_d, + const unsigned char* in, size_t* bp, size_t inlength) +{ + /*make sure that length values that aren't filled in will be 0, or a wrong tree will be generated*/ + unsigned error = 0; + unsigned n, HLIT, HDIST, HCLEN, i; + size_t inbitlength = inlength * 8; + + /*see comments in deflateDynamic for explanation of the context and these variables, it is analogous*/ + unsigned* bitlen_ll = 0; /*lit,len code lengths*/ + unsigned* bitlen_d = 0; /*dist code lengths*/ + /*code length code lengths ("clcl"), the bit lengths of the huffman tree used to compress bitlen_ll and bitlen_d*/ + unsigned* bitlen_cl = 0; + HuffmanTree tree_cl; /*the code tree for code length codes (the huffman tree for compressed huffman trees)*/ + + if((*bp) >> 3 >= inlength - 2) return 49; /*error: the bit pointer is or will go past the memory*/ + + /*number of literal/length codes + 257. Unlike the spec, the value 257 is added to it here already*/ + HLIT = readBitsFromStream(bp, in, 5) + 257; + /*number of distance codes. Unlike the spec, the value 1 is added to it here already*/ + HDIST = readBitsFromStream(bp, in, 5) + 1; + /*number of code length codes. Unlike the spec, the value 4 is added to it here already*/ + HCLEN = readBitsFromStream(bp, in, 4) + 4; + + HuffmanTree_init(&tree_cl); + + while(!error) + { + /*read the code length codes out of 3 * (amount of code length codes) bits*/ + + bitlen_cl = (unsigned*)lodepng_malloc(NUM_CODE_LENGTH_CODES * sizeof(unsigned)); + if(!bitlen_cl) ERROR_BREAK(83 /*alloc fail*/); + + for(i = 0; i < NUM_CODE_LENGTH_CODES; i++) + { + if(i < HCLEN) bitlen_cl[CLCL_ORDER[i]] = readBitsFromStream(bp, in, 3); + else bitlen_cl[CLCL_ORDER[i]] = 0; /*if not, it must stay 0*/ + } + + error = HuffmanTree_makeFromLengths(&tree_cl, bitlen_cl, NUM_CODE_LENGTH_CODES, 7); + if(error) break; + + /*now we can use this tree to read the lengths for the tree that this function will return*/ + bitlen_ll = (unsigned*)lodepng_malloc(NUM_DEFLATE_CODE_SYMBOLS * sizeof(unsigned)); + bitlen_d = (unsigned*)lodepng_malloc(NUM_DISTANCE_SYMBOLS * sizeof(unsigned)); + if(!bitlen_ll || !bitlen_d) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i < NUM_DEFLATE_CODE_SYMBOLS; i++) bitlen_ll[i] = 0; + for(i = 0; i < NUM_DISTANCE_SYMBOLS; i++) bitlen_d[i] = 0; + + /*i is the current symbol we're reading in the part that contains the code lengths of lit/len and dist codes*/ + i = 0; + while(i < HLIT + HDIST) + { + unsigned code = huffmanDecodeSymbol(in, bp, &tree_cl, inbitlength); + if(code <= 15) /*a length code*/ + { + if(i < HLIT) bitlen_ll[i] = code; + else bitlen_d[i - HLIT] = code; + i++; + } + else if(code == 16) /*repeat previous*/ + { + unsigned replength = 3; /*read in the 2 bits that indicate repeat length (3-6)*/ + unsigned value; /*set value to the previous code*/ + + if(*bp >= inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + if (i == 0) ERROR_BREAK(54); /*can't repeat previous if i is 0*/ + + replength += readBitsFromStream(bp, in, 2); + + if(i < HLIT + 1) value = bitlen_ll[i - 1]; + else value = bitlen_d[i - HLIT - 1]; + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; n++) + { + if(i >= HLIT + HDIST) ERROR_BREAK(13); /*error: i is larger than the amount of codes*/ + if(i < HLIT) bitlen_ll[i] = value; + else bitlen_d[i - HLIT] = value; + i++; + } + } + else if(code == 17) /*repeat "0" 3-10 times*/ + { + unsigned replength = 3; /*read in the bits that indicate repeat length*/ + if(*bp >= inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + + replength += readBitsFromStream(bp, in, 3); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; n++) + { + if(i >= HLIT + HDIST) ERROR_BREAK(14); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + i++; + } + } + else if(code == 18) /*repeat "0" 11-138 times*/ + { + unsigned replength = 11; /*read in the bits that indicate repeat length*/ + if(*bp >= inbitlength) ERROR_BREAK(50); /*error, bit pointer jumps past memory*/ + + replength += readBitsFromStream(bp, in, 7); + + /*repeat this value in the next lengths*/ + for(n = 0; n < replength; n++) + { + if(i >= HLIT + HDIST) ERROR_BREAK(15); /*error: i is larger than the amount of codes*/ + + if(i < HLIT) bitlen_ll[i] = 0; + else bitlen_d[i - HLIT] = 0; + i++; + } + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + if(code == (unsigned)(-1)) + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inbitlength ? 10 : 11; + } + else error = 16; /*unexisting code, this can never happen*/ + break; + } + } + if(error) break; + + if(bitlen_ll[256] == 0) ERROR_BREAK(64); /*the length of the end code 256 must be larger than 0*/ + + /*now we've finally got HLIT and HDIST, so generate the code trees, and the function is done*/ + error = HuffmanTree_makeFromLengths(tree_ll, bitlen_ll, NUM_DEFLATE_CODE_SYMBOLS, 15); + if(error) break; + error = HuffmanTree_makeFromLengths(tree_d, bitlen_d, NUM_DISTANCE_SYMBOLS, 15); + + break; /*end of error-while*/ + } + + lodepng_free(bitlen_cl); + lodepng_free(bitlen_ll); + lodepng_free(bitlen_d); + HuffmanTree_cleanup(&tree_cl); + + return error; +} + +/*inflate a block with dynamic of fixed Huffman tree*/ +static unsigned inflateHuffmanBlock(ucvector* out, const unsigned char* in, size_t* bp, + size_t* pos, size_t inlength, unsigned btype) +{ + unsigned error = 0; + HuffmanTree tree_ll; /*the huffman tree for literal and length codes*/ + HuffmanTree tree_d; /*the huffman tree for distance codes*/ + size_t inbitlength = inlength * 8; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + if(btype == 1) getTreeInflateFixed(&tree_ll, &tree_d); + else if(btype == 2) error = getTreeInflateDynamic(&tree_ll, &tree_d, in, bp, inlength); + + while(!error) /*decode all symbols until end reached, breaks at end code*/ + { + /*code_ll is literal, length or end code*/ + unsigned code_ll = huffmanDecodeSymbol(in, bp, &tree_ll, inbitlength); + if(code_ll <= 255) /*literal symbol*/ + { + /*ucvector_push_back would do the same, but for some reason the two lines below run 10% faster*/ + if(!ucvector_resize(out, (*pos) + 1)) ERROR_BREAK(83 /*alloc fail*/); + out->data[*pos] = (unsigned char)code_ll; + (*pos)++; + } + else if(code_ll >= FIRST_LENGTH_CODE_INDEX && code_ll <= LAST_LENGTH_CODE_INDEX) /*length code*/ + { + unsigned code_d, distance; + unsigned numextrabits_l, numextrabits_d; /*extra bits for length and distance*/ + size_t start, forward, backward, length; + + /*part 1: get length base*/ + length = LENGTHBASE[code_ll - FIRST_LENGTH_CODE_INDEX]; + + /*part 2: get extra bits and add the value of that to length*/ + numextrabits_l = LENGTHEXTRA[code_ll - FIRST_LENGTH_CODE_INDEX]; + if(*bp >= inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + length += readBitsFromStream(bp, in, numextrabits_l); + + /*part 3: get distance code*/ + code_d = huffmanDecodeSymbol(in, bp, &tree_d, inbitlength); + if(code_d > 29) + { + if(code_ll == (unsigned)(-1)) /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inlength * 8 ? 10 : 11; + } + else error = 18; /*error: invalid distance code (30-31 are never used)*/ + break; + } + distance = DISTANCEBASE[code_d]; + + /*part 4: get extra bits from distance*/ + numextrabits_d = DISTANCEEXTRA[code_d]; + if(*bp >= inbitlength) ERROR_BREAK(51); /*error, bit pointer will jump past memory*/ + + distance += readBitsFromStream(bp, in, numextrabits_d); + + /*part 5: fill in all the out[n] values based on the length and dist*/ + start = (*pos); + if(distance > start) ERROR_BREAK(52); /*too long backward distance*/ + backward = start - distance; + + if(!ucvector_resize(out, (*pos) + length)) ERROR_BREAK(83 /*alloc fail*/); + for(forward = 0; forward < length; forward++) + { + out->data[(*pos)] = out->data[backward]; + (*pos)++; + backward++; + if(backward >= start) backward = start - distance; + } + } + else if(code_ll == 256) + { + break; /*end code, break the loop*/ + } + else /*if(code == (unsigned)(-1))*/ /*huffmanDecodeSymbol returns (unsigned)(-1) in case of error*/ + { + /*return error code 10 or 11 depending on the situation that happened in huffmanDecodeSymbol + (10=no endcode, 11=wrong jump outside of tree)*/ + error = (*bp) > inlength * 8 ? 10 : 11; + break; + } + } + + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned inflateNoCompression(ucvector* out, const unsigned char* in, size_t* bp, size_t* pos, size_t inlength) +{ + /*go to first boundary of byte*/ + size_t p; + unsigned LEN, NLEN, n, error = 0; + while(((*bp) & 0x7) != 0) (*bp)++; + p = (*bp) / 8; /*byte position*/ + + /*read LEN (2 bytes) and NLEN (2 bytes)*/ + if(p >= inlength - 4) return 52; /*error, bit pointer will jump past memory*/ + LEN = in[p] + 256u * in[p + 1]; p += 2; + NLEN = in[p] + 256u * in[p + 1]; p += 2; + + /*check if 16-bit NLEN is really the one's complement of LEN*/ + if(LEN + NLEN != 65535) return 21; /*error: NLEN is not one's complement of LEN*/ + + if(!ucvector_resize(out, (*pos) + LEN)) return 83; /*alloc fail*/ + + /*read the literal data: LEN bytes are now stored in the out buffer*/ + if(p + LEN > inlength) return 23; /*error: reading outside of in buffer*/ + for(n = 0; n < LEN; n++) out->data[(*pos)++] = in[p++]; + + (*bp) = p * 8; + + return error; +} + +static unsigned lodepng_inflatev(ucvector* out, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + /*bit pointer in the "in" data, current byte is bp >> 3, current bit is bp & 0x7 (from lsb to msb of the byte)*/ + size_t bp = 0; + unsigned BFINAL = 0; + size_t pos = 0; /*byte position in the out buffer*/ + unsigned error = 0; + + (void)settings; + + while(!BFINAL) + { + unsigned BTYPE; + if(bp + 2 >= insize * 8) return 52; /*error, bit pointer will jump past memory*/ + BFINAL = readBitFromStream(&bp, in); + BTYPE = 1u * readBitFromStream(&bp, in); + BTYPE += 2u * readBitFromStream(&bp, in); + + if(BTYPE == 3) return 20; /*error: invalid BTYPE*/ + else if(BTYPE == 0) error = inflateNoCompression(out, in, &bp, &pos, insize); /*no compression*/ + else error = inflateHuffmanBlock(out, in, &bp, &pos, insize, BTYPE); /*compression, BTYPE 01 or 10*/ + + if(error) return error; + } + + return error; +} + +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_inflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings) +{ + if(settings->custom_inflate) + { + return settings->custom_inflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_inflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Deflator (Compressor) / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static const size_t MAX_SUPPORTED_DEFLATE_LENGTH = 258; + +/*bitlen is the size in bits of the code*/ +static void addHuffmanSymbol(size_t* bp, ucvector* compressed, unsigned code, unsigned bitlen) +{ + addBitsToStreamReversed(bp, compressed, code, bitlen); +} + +/*search the index in the array, that has the largest value smaller than or equal to the given value, +given array must be sorted (if no value is smaller, it returns the size of the given array)*/ +static size_t searchCodeIndex(const unsigned* array, size_t array_size, size_t value) +{ + /*linear search implementation*/ + /*for(size_t i = 1; i < array_size; i++) if(array[i] > value) return i - 1; + return array_size - 1;*/ + + /*binary search implementation (not that much faster) (precondition: array_size > 0)*/ + size_t left = 1; + size_t right = array_size - 1; + while(left <= right) + { + size_t mid = (left + right) / 2; + if(array[mid] <= value) left = mid + 1; /*the value to find is more to the right*/ + else if(array[mid - 1] > value) right = mid - 1; /*the value to find is more to the left*/ + else return mid - 1; + } + return array_size - 1; +} + +static void addLengthDistance(uivector* values, size_t length, size_t distance) +{ + /*values in encoded vector are those used by deflate: + 0-255: literal bytes + 256: end + 257-285: length/distance pair (length code, followed by extra length bits, distance code, extra distance bits) + 286-287: invalid*/ + + unsigned length_code = (unsigned)searchCodeIndex(LENGTHBASE, 29, length); + unsigned extra_length = (unsigned)(length - LENGTHBASE[length_code]); + unsigned dist_code = (unsigned)searchCodeIndex(DISTANCEBASE, 30, distance); + unsigned extra_distance = (unsigned)(distance - DISTANCEBASE[dist_code]); + + uivector_push_back(values, length_code + FIRST_LENGTH_CODE_INDEX); + uivector_push_back(values, extra_length); + uivector_push_back(values, dist_code); + uivector_push_back(values, extra_distance); +} + +/*3 bytes of data get encoded into two bytes. The hash cannot use more than 3 +bytes as input because 3 is the minimum match length for deflate*/ +static const unsigned HASH_NUM_VALUES = 65536; +static const unsigned HASH_BIT_MASK = 65535; /*HASH_NUM_VALUES - 1, but C90 does not like that as initializer*/ + +typedef struct Hash +{ + int* head; /*hash value to head circular pos - can be outdated if went around window*/ + /*circular pos to prev circular pos*/ + unsigned short* chain; + int* val; /*circular pos to hash value*/ + + /*TODO: do this not only for zeros but for any repeated byte. However for PNG + it's always going to be the zeros that dominate, so not important for PNG*/ + int* headz; /*similar to head, but for chainz*/ + unsigned short* chainz; /*those with same amount of zeros*/ + unsigned short* zeros; /*length of zeros streak, used as a second hash chain*/ +} Hash; + +static unsigned hash_init(Hash* hash, unsigned windowsize) +{ + unsigned i; + hash->head = (int*)lodepng_malloc(sizeof(int) * HASH_NUM_VALUES); + hash->val = (int*)lodepng_malloc(sizeof(int) * windowsize); + hash->chain = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + hash->zeros = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + hash->headz = (int*)lodepng_malloc(sizeof(int) * (MAX_SUPPORTED_DEFLATE_LENGTH + 1)); + hash->chainz = (unsigned short*)lodepng_malloc(sizeof(unsigned short) * windowsize); + + if(!hash->head || !hash->chain || !hash->val || !hash->headz|| !hash->chainz || !hash->zeros) + { + return 83; /*alloc fail*/ + } + + /*initialize hash table*/ + for(i = 0; i < HASH_NUM_VALUES; i++) hash->head[i] = -1; + for(i = 0; i < windowsize; i++) hash->val[i] = -1; + for(i = 0; i < windowsize; i++) hash->chain[i] = i; /*same value as index indicates uninitialized*/ + + for(i = 0; i <= MAX_SUPPORTED_DEFLATE_LENGTH; i++) hash->headz[i] = -1; + for(i = 0; i < windowsize; i++) hash->chainz[i] = i; /*same value as index indicates uninitialized*/ + + return 0; +} + +static void hash_cleanup(Hash* hash) +{ + lodepng_free(hash->head); + lodepng_free(hash->val); + lodepng_free(hash->chain); + + lodepng_free(hash->zeros); + lodepng_free(hash->headz); + lodepng_free(hash->chainz); +} + + + +static unsigned getHash(const unsigned char* data, size_t size, size_t pos) +{ + unsigned result = 0; + if (pos + 2 < size) + { + /*A simple shift and xor hash is used. Since the data of PNGs is dominated + by zeroes due to the filters, a better hash does not have a significant + effect on speed in traversing the chain, and causes more time spend on + calculating the hash.*/ + result ^= (unsigned)(data[pos + 0] << 0u); + result ^= (unsigned)(data[pos + 1] << 4u); + result ^= (unsigned)(data[pos + 2] << 8u); + } else { + size_t amount, i; + if(pos >= size) return 0; + amount = size - pos; + for(i = 0; i < amount; i++) result ^= (unsigned)(data[pos + i] << (i * 8u)); + } + return result & HASH_BIT_MASK; +} + +static unsigned countZeros(const unsigned char* data, size_t size, size_t pos) +{ + const unsigned char* start = data + pos; + const unsigned char* end = start + MAX_SUPPORTED_DEFLATE_LENGTH; + if(end > data + size) end = data + size; + data = start; + while (data != end && *data == 0) data++; + /*subtracting two addresses returned as 32-bit number (max value is MAX_SUPPORTED_DEFLATE_LENGTH)*/ + return (unsigned)(data - start); +} + +/*wpos = pos & (windowsize - 1)*/ +static void updateHashChain(Hash* hash, size_t wpos, unsigned hashval, unsigned short numzeros) +{ + hash->val[wpos] = (int)hashval; + if(hash->head[hashval] != -1) hash->chain[wpos] = hash->head[hashval]; + hash->head[hashval] = wpos; + + hash->zeros[wpos] = numzeros; + if(hash->headz[numzeros] != -1) hash->chainz[wpos] = hash->headz[numzeros]; + hash->headz[numzeros] = wpos; +} + +/* +LZ77-encode the data. Return value is error code. The input are raw bytes, the output +is in the form of unsigned integers with codes representing for example literal bytes, or +length/distance pairs. +It uses a hash table technique to let it encode faster. When doing LZ77 encoding, a +sliding window (of windowsize) is used, and all past bytes in that window can be used as +the "dictionary". A brute force search through all possible distances would be slow, and +this hash technique is one out of several ways to speed this up. +*/ +static unsigned encodeLZ77(uivector* out, Hash* hash, + const unsigned char* in, size_t inpos, size_t insize, unsigned windowsize, + unsigned minmatch, unsigned nicematch, unsigned lazymatching) +{ + size_t pos; + unsigned i, error = 0; + /*for large window lengths, assume the user wants no compression loss. Otherwise, max hash chain length speedup.*/ + unsigned maxchainlength = windowsize >= 8192 ? windowsize : windowsize / 8; + unsigned maxlazymatch = windowsize >= 8192 ? MAX_SUPPORTED_DEFLATE_LENGTH : 64; + + unsigned usezeros = 1; /*not sure if setting it to false for windowsize < 8192 is better or worse*/ + unsigned numzeros = 0; + + unsigned offset; /*the offset represents the distance in LZ77 terminology*/ + unsigned length; + unsigned lazy = 0; + unsigned lazylength = 0, lazyoffset = 0; + unsigned hashval; + unsigned current_offset, current_length; + unsigned prev_offset; + const unsigned char *lastptr, *foreptr, *backptr; + unsigned hashpos; + + if(windowsize <= 0 || windowsize > 32768) return 60; /*error: windowsize smaller/larger than allowed*/ + if((windowsize & (windowsize - 1)) != 0) return 90; /*error: must be power of two*/ + + if(nicematch > MAX_SUPPORTED_DEFLATE_LENGTH) nicematch = MAX_SUPPORTED_DEFLATE_LENGTH; + + for(pos = inpos; pos < insize; pos++) + { + size_t wpos = pos & (windowsize - 1); /*position for in 'circular' hash buffers*/ + unsigned chainlength = 0; + + hashval = getHash(in, insize, pos); + + if(usezeros && hashval == 0) + { + if (numzeros == 0) numzeros = countZeros(in, insize, pos); + else if (pos + numzeros > insize || in[pos + numzeros - 1] != 0) numzeros--; + } + else + { + numzeros = 0; + } + + updateHashChain(hash, wpos, hashval, numzeros); + + /*the length and offset found for the current position*/ + length = 0; + offset = 0; + + hashpos = hash->chain[wpos]; + + lastptr = &in[insize < pos + MAX_SUPPORTED_DEFLATE_LENGTH ? insize : pos + MAX_SUPPORTED_DEFLATE_LENGTH]; + + /*search for the longest string*/ + prev_offset = 0; + for(;;) + { + if(chainlength++ >= maxchainlength) break; + current_offset = hashpos <= wpos ? wpos - hashpos : wpos - hashpos + windowsize; + + if(current_offset < prev_offset) break; /*stop when went completely around the circular buffer*/ + prev_offset = current_offset; + if(current_offset > 0) + { + /*test the next characters*/ + foreptr = &in[pos]; + backptr = &in[pos - current_offset]; + + /*common case in PNGs is lots of zeros. Quickly skip over them as a speedup*/ + if(numzeros >= 3) + { + unsigned skip = hash->zeros[hashpos]; + if(skip > numzeros) skip = numzeros; + backptr += skip; + foreptr += skip; + } + + while(foreptr != lastptr && *backptr == *foreptr) /*maximum supported length by deflate is max length*/ + { + ++backptr; + ++foreptr; + } + current_length = (unsigned)(foreptr - &in[pos]); + + if(current_length > length) + { + length = current_length; /*the longest length*/ + offset = current_offset; /*the offset that is related to this longest length*/ + /*jump out once a length of max length is found (speed gain). This also jumps + out if length is MAX_SUPPORTED_DEFLATE_LENGTH*/ + if(current_length >= nicematch) break; + } + } + + if(hashpos == hash->chain[hashpos]) break; + + if(numzeros >= 3 && length > numzeros) { + hashpos = hash->chainz[hashpos]; + if(hash->zeros[hashpos] != numzeros) break; + } else { + hashpos = hash->chain[hashpos]; + /*outdated hash value, happens if particular value was not encountered in whole last window*/ + if(hash->val[hashpos] != (int)hashval) break; + } + } + + if(lazymatching) + { + if(!lazy && length >= 3 && length <= maxlazymatch && length < MAX_SUPPORTED_DEFLATE_LENGTH) + { + lazy = 1; + lazylength = length; + lazyoffset = offset; + continue; /*try the next byte*/ + } + if(lazy) + { + lazy = 0; + if(pos == 0) ERROR_BREAK(81); + if(length > lazylength + 1) + { + /*push the previous character as literal*/ + if(!uivector_push_back(out, in[pos - 1])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + length = lazylength; + offset = lazyoffset; + hash->head[hashval] = -1; /*the same hashchain update will be done, this ensures no wrong alteration*/ + hash->headz[numzeros] = -1; /*idem*/ + pos--; + } + } + } + if(length >= 3 && offset > windowsize) ERROR_BREAK(86 /*too big (or overflown negative) offset*/); + + /*encode it as length/distance pair or literal value*/ + if(length < 3) /*only lengths of 3 or higher are supported as length/distance pair*/ + { + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else if(length < minmatch || (length == 3 && offset > 4096)) + { + /*compensate for the fact that longer offsets have more extra bits, a + length of only 3 may be not worth it then*/ + if(!uivector_push_back(out, in[pos])) ERROR_BREAK(83 /*alloc fail*/); + } + else + { + addLengthDistance(out, length, offset); + for(i = 1; i < length; i++) + { + pos++; + wpos = pos & (windowsize - 1); + hashval = getHash(in, insize, pos); + if(usezeros && hashval == 0) + { + if (numzeros == 0) numzeros = countZeros(in, insize, pos); + else if (pos + numzeros > insize || in[pos + numzeros - 1] != 0) numzeros--; + } + else + { + numzeros = 0; + } + updateHashChain(hash, wpos, hashval, numzeros); + } + } + } /*end of the loop through each character of input*/ + + return error; +} + +/* /////////////////////////////////////////////////////////////////////////// */ + +static unsigned deflateNoCompression(ucvector* out, const unsigned char* data, size_t datasize) +{ + /*non compressed deflate block data: 1 bit BFINAL,2 bits BTYPE,(5 bits): it jumps to start of next byte, + 2 bytes LEN, 2 bytes NLEN, LEN bytes literal DATA*/ + + size_t i, j, numdeflateblocks = (datasize + 65534) / 65535; + unsigned datapos = 0; + for(i = 0; i < numdeflateblocks; i++) + { + unsigned BFINAL, BTYPE, LEN, NLEN; + unsigned char firstbyte; + + BFINAL = (i == numdeflateblocks - 1); + BTYPE = 0; + + firstbyte = (unsigned char)(BFINAL + ((BTYPE & 1) << 1) + ((BTYPE & 2) << 1)); + ucvector_push_back(out, firstbyte); + + LEN = 65535; + if(datasize - datapos < 65535) LEN = (unsigned)datasize - datapos; + NLEN = 65535 - LEN; + + ucvector_push_back(out, (unsigned char)(LEN % 256)); + ucvector_push_back(out, (unsigned char)(LEN / 256)); + ucvector_push_back(out, (unsigned char)(NLEN % 256)); + ucvector_push_back(out, (unsigned char)(NLEN / 256)); + + /*Decompressed data*/ + for(j = 0; j < 65535 && datapos < datasize; j++) + { + ucvector_push_back(out, data[datapos++]); + } + } + + return 0; +} + +/* +write the lz77-encoded data, which has lit, len and dist codes, to compressed stream using huffman trees. +tree_ll: the tree for lit and len codes. +tree_d: the tree for distance codes. +*/ +static void writeLZ77data(size_t* bp, ucvector* out, const uivector* lz77_encoded, + const HuffmanTree* tree_ll, const HuffmanTree* tree_d) +{ + size_t i = 0; + for(i = 0; i < lz77_encoded->size; i++) + { + unsigned val = lz77_encoded->data[i]; + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_ll, val), HuffmanTree_getLength(tree_ll, val)); + if(val > 256) /*for a length code, 3 more things have to be added*/ + { + unsigned length_index = val - FIRST_LENGTH_CODE_INDEX; + unsigned n_length_extra_bits = LENGTHEXTRA[length_index]; + unsigned length_extra_bits = lz77_encoded->data[++i]; + + unsigned distance_code = lz77_encoded->data[++i]; + + unsigned distance_index = distance_code; + unsigned n_distance_extra_bits = DISTANCEEXTRA[distance_index]; + unsigned distance_extra_bits = lz77_encoded->data[++i]; + + addBitsToStream(bp, out, length_extra_bits, n_length_extra_bits); + addHuffmanSymbol(bp, out, HuffmanTree_getCode(tree_d, distance_code), + HuffmanTree_getLength(tree_d, distance_code)); + addBitsToStream(bp, out, distance_extra_bits, n_distance_extra_bits); + } + } +} + +/*Deflate for a block of type "dynamic", that is, with freely, optimally, created huffman trees*/ +static unsigned deflateDynamic(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + unsigned error = 0; + + /* + A block is compressed as follows: The PNG data is lz77 encoded, resulting in + literal bytes and length/distance pairs. This is then huffman compressed with + two huffman trees. One huffman tree is used for the lit and len values ("ll"), + another huffman tree is used for the dist values ("d"). These two trees are + stored using their code lengths, and to compress even more these code lengths + are also run-length encoded and huffman compressed. This gives a huffman tree + of code lengths "cl". The code lenghts used to describe this third tree are + the code length code lengths ("clcl"). + */ + + /*The lz77 encoded data, represented with integers since there will also be length and distance codes in it*/ + uivector lz77_encoded; + HuffmanTree tree_ll; /*tree for lit,len values*/ + HuffmanTree tree_d; /*tree for distance codes*/ + HuffmanTree tree_cl; /*tree for encoding the code lengths representing tree_ll and tree_d*/ + uivector frequencies_ll; /*frequency of lit,len codes*/ + uivector frequencies_d; /*frequency of dist codes*/ + uivector frequencies_cl; /*frequency of code length codes*/ + uivector bitlen_lld; /*lit,len,dist code lenghts (int bits), literally (without repeat codes).*/ + uivector bitlen_lld_e; /*bitlen_lld encoded with repeat codes (this is a rudemtary run length compression)*/ + /*bitlen_cl is the code length code lengths ("clcl"). The bit lengths of codes to represent tree_cl + (these are written as is in the file, it would be crazy to compress these using yet another huffman + tree that needs to be represented by yet another set of code lengths)*/ + uivector bitlen_cl; + size_t datasize = dataend - datapos; + + /* + Due to the huffman compression of huffman tree representations ("two levels"), there are some anologies: + bitlen_lld is to tree_cl what data is to tree_ll and tree_d. + bitlen_lld_e is to bitlen_lld what lz77_encoded is to data. + bitlen_cl is to bitlen_lld_e what bitlen_lld is to lz77_encoded. + */ + + unsigned BFINAL = final; + size_t numcodes_ll, numcodes_d, i; + unsigned HLIT, HDIST, HCLEN; + + uivector_init(&lz77_encoded); + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + HuffmanTree_init(&tree_cl); + uivector_init(&frequencies_ll); + uivector_init(&frequencies_d); + uivector_init(&frequencies_cl); + uivector_init(&bitlen_lld); + uivector_init(&bitlen_lld_e); + uivector_init(&bitlen_cl); + + /*This while loop never loops due to a break at the end, it is here to + allow breaking out of it to the cleanup phase on error conditions.*/ + while(!error) + { + if(settings->use_lz77) + { + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(error) break; + } + else + { + if(!uivector_resize(&lz77_encoded, datasize)) ERROR_BREAK(83 /*alloc fail*/); + for(i = datapos; i < dataend; i++) lz77_encoded.data[i] = data[i]; /*no LZ77, but still will be Huffman compressed*/ + } + + if(!uivector_resizev(&frequencies_ll, 286, 0)) ERROR_BREAK(83 /*alloc fail*/); + if(!uivector_resizev(&frequencies_d, 30, 0)) ERROR_BREAK(83 /*alloc fail*/); + + /*Count the frequencies of lit, len and dist codes*/ + for(i = 0; i < lz77_encoded.size; i++) + { + unsigned symbol = lz77_encoded.data[i]; + frequencies_ll.data[symbol]++; + if(symbol > 256) + { + unsigned dist = lz77_encoded.data[i + 2]; + frequencies_d.data[dist]++; + i += 3; + } + } + frequencies_ll.data[256] = 1; /*there will be exactly 1 end code, at the end of the block*/ + + /*Make both huffman trees, one for the lit and len codes, one for the dist codes*/ + error = HuffmanTree_makeFromFrequencies(&tree_ll, frequencies_ll.data, 257, frequencies_ll.size, 15); + if(error) break; + /*2, not 1, is chosen for mincodes: some buggy PNG decoders require at least 2 symbols in the dist tree*/ + error = HuffmanTree_makeFromFrequencies(&tree_d, frequencies_d.data, 2, frequencies_d.size, 15); + if(error) break; + + numcodes_ll = tree_ll.numcodes; if(numcodes_ll > 286) numcodes_ll = 286; + numcodes_d = tree_d.numcodes; if(numcodes_d > 30) numcodes_d = 30; + /*store the code lengths of both generated trees in bitlen_lld*/ + for(i = 0; i < numcodes_ll; i++) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_ll, (unsigned)i)); + for(i = 0; i < numcodes_d; i++) uivector_push_back(&bitlen_lld, HuffmanTree_getLength(&tree_d, (unsigned)i)); + + /*run-length compress bitlen_ldd into bitlen_lld_e by using repeat codes 16 (copy length 3-6 times), + 17 (3-10 zeroes), 18 (11-138 zeroes)*/ + for(i = 0; i < (unsigned)bitlen_lld.size; i++) + { + unsigned j = 0; /*amount of repititions*/ + while(i + j + 1 < (unsigned)bitlen_lld.size && bitlen_lld.data[i + j + 1] == bitlen_lld.data[i]) j++; + + if(bitlen_lld.data[i] == 0 && j >= 2) /*repeat code for zeroes*/ + { + j++; /*include the first zero*/ + if(j <= 10) /*repeat code 17 supports max 10 zeroes*/ + { + uivector_push_back(&bitlen_lld_e, 17); + uivector_push_back(&bitlen_lld_e, j - 3); + } + else /*repeat code 18 supports max 138 zeroes*/ + { + if(j > 138) j = 138; + uivector_push_back(&bitlen_lld_e, 18); + uivector_push_back(&bitlen_lld_e, j - 11); + } + i += (j - 1); + } + else if(j >= 3) /*repeat code for value other than zero*/ + { + size_t k; + unsigned num = j / 6, rest = j % 6; + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + for(k = 0; k < num; k++) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, 6 - 3); + } + if(rest >= 3) + { + uivector_push_back(&bitlen_lld_e, 16); + uivector_push_back(&bitlen_lld_e, rest - 3); + } + else j -= rest; + i += j; + } + else /*too short to benefit from repeat code*/ + { + uivector_push_back(&bitlen_lld_e, bitlen_lld.data[i]); + } + } + + /*generate tree_cl, the huffmantree of huffmantrees*/ + + if(!uivector_resizev(&frequencies_cl, NUM_CODE_LENGTH_CODES, 0)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i < bitlen_lld_e.size; i++) + { + frequencies_cl.data[bitlen_lld_e.data[i]]++; + /*after a repeat code come the bits that specify the number of repetitions, + those don't need to be in the frequencies_cl calculation*/ + if(bitlen_lld_e.data[i] >= 16) i++; + } + + error = HuffmanTree_makeFromFrequencies(&tree_cl, frequencies_cl.data, + frequencies_cl.size, frequencies_cl.size, 7); + if(error) break; + + if(!uivector_resize(&bitlen_cl, tree_cl.numcodes)) ERROR_BREAK(83 /*alloc fail*/); + for(i = 0; i < tree_cl.numcodes; i++) + { + /*lenghts of code length tree is in the order as specified by deflate*/ + bitlen_cl.data[i] = HuffmanTree_getLength(&tree_cl, CLCL_ORDER[i]); + } + while(bitlen_cl.data[bitlen_cl.size - 1] == 0 && bitlen_cl.size > 4) + { + /*remove zeros at the end, but minimum size must be 4*/ + if(!uivector_resize(&bitlen_cl, bitlen_cl.size - 1)) ERROR_BREAK(83 /*alloc fail*/); + } + if(error) break; + + /* + Write everything into the output + + After the BFINAL and BTYPE, the dynamic block consists out of the following: + - 5 bits HLIT, 5 bits HDIST, 4 bits HCLEN + - (HCLEN+4)*3 bits code lengths of code length alphabet + - HLIT + 257 code lenghts of lit/length alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - HDIST + 1 code lengths of distance alphabet (encoded using the code length + alphabet, + possible repetition codes 16, 17, 18) + - compressed data + - 256 (end code) + */ + + /*Write block type*/ + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 0); /*first bit of BTYPE "dynamic"*/ + addBitToStream(bp, out, 1); /*second bit of BTYPE "dynamic"*/ + + /*write the HLIT, HDIST and HCLEN values*/ + HLIT = (unsigned)(numcodes_ll - 257); + HDIST = (unsigned)(numcodes_d - 1); + HCLEN = (unsigned)bitlen_cl.size - 4; + /*trim zeroes for HCLEN. HLIT and HDIST were already trimmed at tree creation*/ + while(!bitlen_cl.data[HCLEN + 4 - 1] && HCLEN > 0) HCLEN--; + addBitsToStream(bp, out, HLIT, 5); + addBitsToStream(bp, out, HDIST, 5); + addBitsToStream(bp, out, HCLEN, 4); + + /*write the code lenghts of the code length alphabet*/ + for(i = 0; i < HCLEN + 4; i++) addBitsToStream(bp, out, bitlen_cl.data[i], 3); + + /*write the lenghts of the lit/len AND the dist alphabet*/ + for(i = 0; i < bitlen_lld_e.size; i++) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_cl, bitlen_lld_e.data[i]), + HuffmanTree_getLength(&tree_cl, bitlen_lld_e.data[i])); + /*extra bits of repeat codes*/ + if(bitlen_lld_e.data[i] == 16) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 2); + else if(bitlen_lld_e.data[i] == 17) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 3); + else if(bitlen_lld_e.data[i] == 18) addBitsToStream(bp, out, bitlen_lld_e.data[++i], 7); + } + + /*write the compressed data symbols*/ + writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + /*error: the length of the end code 256 must be larger than 0*/ + if(HuffmanTree_getLength(&tree_ll, 256) == 0) ERROR_BREAK(64); + + /*write the end code*/ + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + break; /*end of error-while*/ + } + + /*cleanup*/ + uivector_cleanup(&lz77_encoded); + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + HuffmanTree_cleanup(&tree_cl); + uivector_cleanup(&frequencies_ll); + uivector_cleanup(&frequencies_d); + uivector_cleanup(&frequencies_cl); + uivector_cleanup(&bitlen_lld_e); + uivector_cleanup(&bitlen_lld); + uivector_cleanup(&bitlen_cl); + + return error; +} + +static unsigned deflateFixed(ucvector* out, size_t* bp, Hash* hash, + const unsigned char* data, + size_t datapos, size_t dataend, + const LodePNGCompressSettings* settings, unsigned final) +{ + HuffmanTree tree_ll; /*tree for literal values and length codes*/ + HuffmanTree tree_d; /*tree for distance codes*/ + + unsigned BFINAL = final; + unsigned error = 0; + size_t i; + + HuffmanTree_init(&tree_ll); + HuffmanTree_init(&tree_d); + + generateFixedLitLenTree(&tree_ll); + generateFixedDistanceTree(&tree_d); + + addBitToStream(bp, out, BFINAL); + addBitToStream(bp, out, 1); /*first bit of BTYPE*/ + addBitToStream(bp, out, 0); /*second bit of BTYPE*/ + + if(settings->use_lz77) /*LZ77 encoded*/ + { + uivector lz77_encoded; + uivector_init(&lz77_encoded); + error = encodeLZ77(&lz77_encoded, hash, data, datapos, dataend, settings->windowsize, + settings->minmatch, settings->nicematch, settings->lazymatching); + if(!error) writeLZ77data(bp, out, &lz77_encoded, &tree_ll, &tree_d); + uivector_cleanup(&lz77_encoded); + } + else /*no LZ77, but still will be Huffman compressed*/ + { + for(i = datapos; i < dataend; i++) + { + addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, data[i]), HuffmanTree_getLength(&tree_ll, data[i])); + } + } + /*add END code*/ + if(!error) addHuffmanSymbol(bp, out, HuffmanTree_getCode(&tree_ll, 256), HuffmanTree_getLength(&tree_ll, 256)); + + /*cleanup*/ + HuffmanTree_cleanup(&tree_ll); + HuffmanTree_cleanup(&tree_d); + + return error; +} + +static unsigned lodepng_deflatev(ucvector* out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error = 0; + size_t i, blocksize, numdeflateblocks; + size_t bp = 0; /*the bit pointer*/ + Hash hash; + + if(settings->btype > 2) return 61; + else if(settings->btype == 0) return deflateNoCompression(out, in, insize); + else if(settings->btype == 1) blocksize = insize; + else /*if(settings->btype == 2)*/ + { + blocksize = insize / 8 + 8; + if(blocksize < 65535) blocksize = 65535; + } + + numdeflateblocks = (insize + blocksize - 1) / blocksize; + if(numdeflateblocks == 0) numdeflateblocks = 1; + + error = hash_init(&hash, settings->windowsize); + if(error) return error; + + for(i = 0; i < numdeflateblocks && !error; i++) + { + unsigned final = (i == numdeflateblocks - 1); + size_t start = i * blocksize; + size_t end = start + blocksize; + if(end > insize) end = insize; + + if(settings->btype == 1) error = deflateFixed(out, &bp, &hash, in, start, end, settings, final); + else if(settings->btype == 2) error = deflateDynamic(out, &bp, &hash, in, start, end, settings, final); + } + + hash_cleanup(&hash); + + return error; +} + +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + unsigned error; + ucvector v; + ucvector_init_buffer(&v, *out, *outsize); + error = lodepng_deflatev(&v, in, insize, settings); + *out = v.data; + *outsize = v.size; + return error; +} + +static unsigned deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings) +{ + if(settings->custom_deflate) + { + return settings->custom_deflate(out, outsize, in, insize, settings); + } + else + { + return lodepng_deflate(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Adler32 */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned update_adler32(unsigned adler, const unsigned char* data, unsigned len) +{ + unsigned s1 = adler & 0xffff; + unsigned s2 = (adler >> 16) & 0xffff; + + while(len > 0) + { + /*at least 5550 sums can be done before the sums overflow, saving a lot of module divisions*/ + unsigned amount = len > 5550 ? 5550 : len; + len -= amount; + while(amount > 0) + { + s1 += (*data++); + s2 += s1; + amount--; + } + s1 %= 65521; + s2 %= 65521; + } + + return (s2 << 16) | s1; +} + +/*Return the adler32 of the bytes data[0..len-1]*/ +static unsigned adler32(const unsigned char* data, unsigned len) +{ + return update_adler32(1L, data, len); +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Zlib / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + unsigned error = 0; + unsigned CM, CINFO, FDICT; + + if(insize < 2) return 53; /*error, size of zlib data too small*/ + /*read information from zlib header*/ + if((in[0] * 256 + in[1]) % 31 != 0) + { + /*error: 256 * in[0] + in[1] must be a multiple of 31, the FCHECK value is supposed to be made that way*/ + return 24; + } + + CM = in[0] & 15; + CINFO = (in[0] >> 4) & 15; + /*FCHECK = in[1] & 31;*/ /*FCHECK is already tested above*/ + FDICT = (in[1] >> 5) & 1; + /*FLEVEL = (in[1] >> 6) & 3;*/ /*FLEVEL is not used here*/ + + if(CM != 8 || CINFO > 7) + { + /*error: only compression method 8: inflate with sliding window of 32k is supported by the PNG spec*/ + return 25; + } + if(FDICT != 0) + { + /*error: the specification of PNG says about the zlib stream: + "The additional flags shall not specify a preset dictionary."*/ + return 26; + } + + error = inflate(out, outsize, in + 2, insize - 2, settings); + if(error) return error; + + if(!settings->ignore_adler32) + { + unsigned ADLER32 = lodepng_read32bitInt(&in[insize - 4]); + unsigned checksum = adler32(*out, (unsigned)(*outsize)); + if(checksum != ADLER32) return 58; /*error, adler checksum not correct, data must be corrupted*/ + } + + return 0; /*no error*/ +} + +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_decompress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER + +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + /*initially, *out must be NULL and outsize 0, if you just give some random *out + that's pointing to a non allocated buffer, this'll crash*/ + ucvector outv; + size_t i; + unsigned error; + unsigned char* deflatedata = 0; + size_t deflatesize = 0; + + unsigned ADLER32; + /*zlib data: 1 byte CMF (CM+CINFO), 1 byte FLG, deflate data, 4 byte ADLER32 checksum of the Decompressed data*/ + unsigned CMF = 120; /*0b01111000: CM 8, CINFO 7. With CINFO 7, any window size up to 32768 can be used.*/ + unsigned FLEVEL = 0; + unsigned FDICT = 0; + unsigned CMFFLG = 256 * CMF + FDICT * 32 + FLEVEL * 64; + unsigned FCHECK = 31 - CMFFLG % 31; + CMFFLG += FCHECK; + + /*ucvector-controlled version of the output buffer, for dynamic array*/ + ucvector_init_buffer(&outv, *out, *outsize); + + ucvector_push_back(&outv, (unsigned char)(CMFFLG / 256)); + ucvector_push_back(&outv, (unsigned char)(CMFFLG % 256)); + + error = deflate(&deflatedata, &deflatesize, in, insize, settings); + + if(!error) + { + ADLER32 = adler32(in, (unsigned)insize); + for(i = 0; i < deflatesize; i++) ucvector_push_back(&outv, deflatedata[i]); + lodepng_free(deflatedata); + lodepng_add32bitInt(&outv, ADLER32); + } + + *out = outv.data; + *outsize = outv.size; + + return error; +} + +/* compress using the default or custom zlib function */ +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if(settings->custom_zlib) + { + return settings->custom_zlib(out, outsize, in, insize, settings); + } + else + { + return lodepng_zlib_compress(out, outsize, in, insize, settings); + } +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#else /*no LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DECODER +static unsigned zlib_decompress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGDecompressSettings* settings) +{ + if (!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER +static unsigned zlib_compress(unsigned char** out, size_t* outsize, const unsigned char* in, + size_t insize, const LodePNGCompressSettings* settings) +{ + if (!settings->custom_zlib) return 87; /*no custom zlib function provided */ + return settings->custom_zlib(out, outsize, in, insize, settings); +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#endif /*LODEPNG_COMPILE_ZLIB*/ + +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/*this is a good tradeoff between speed and compression ratio*/ +#define DEFAULT_WINDOWSIZE 2048 + +void lodepng_compress_settings_init(LodePNGCompressSettings* settings) +{ + /*compress with dynamic huffman tree (not in the mathematical sense, just not the predefined one)*/ + settings->btype = 2; + settings->use_lz77 = 1; + settings->windowsize = DEFAULT_WINDOWSIZE; + settings->minmatch = 3; + settings->nicematch = 128; + settings->lazymatching = 1; + + settings->custom_zlib = 0; + settings->custom_deflate = 0; + settings->custom_context = 0; +} + +const LodePNGCompressSettings lodepng_default_compress_settings = {2, 1, DEFAULT_WINDOWSIZE, 3, 128, 1, 0, 0, 0}; + + +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DECODER + +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings) +{ + settings->ignore_adler32 = 0; + + settings->custom_zlib = 0; + settings->custom_inflate = 0; + settings->custom_context = 0; +} + +const LodePNGDecompressSettings lodepng_default_decompress_settings = {0, 0, 0, 0}; + +#endif /*LODEPNG_COMPILE_DECODER*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // End of Zlib related code. Begin of PNG related code. // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_PNG + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / CRC32 / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/* CRC polynomial: 0xedb88320 */ +static unsigned lodepng_crc32_table[256] = { + 0u, 1996959894u, 3993919788u, 2567524794u, 124634137u, 1886057615u, 3915621685u, 2657392035u, + 249268274u, 2044508324u, 3772115230u, 2547177864u, 162941995u, 2125561021u, 3887607047u, 2428444049u, + 498536548u, 1789927666u, 4089016648u, 2227061214u, 450548861u, 1843258603u, 4107580753u, 2211677639u, + 325883990u, 1684777152u, 4251122042u, 2321926636u, 335633487u, 1661365465u, 4195302755u, 2366115317u, + 997073096u, 1281953886u, 3579855332u, 2724688242u, 1006888145u, 1258607687u, 3524101629u, 2768942443u, + 901097722u, 1119000684u, 3686517206u, 2898065728u, 853044451u, 1172266101u, 3705015759u, 2882616665u, + 651767980u, 1373503546u, 3369554304u, 3218104598u, 565507253u, 1454621731u, 3485111705u, 3099436303u, + 671266974u, 1594198024u, 3322730930u, 2970347812u, 795835527u, 1483230225u, 3244367275u, 3060149565u, + 1994146192u, 31158534u, 2563907772u, 4023717930u, 1907459465u, 112637215u, 2680153253u, 3904427059u, + 2013776290u, 251722036u, 2517215374u, 3775830040u, 2137656763u, 141376813u, 2439277719u, 3865271297u, + 1802195444u, 476864866u, 2238001368u, 4066508878u, 1812370925u, 453092731u, 2181625025u, 4111451223u, + 1706088902u, 314042704u, 2344532202u, 4240017532u, 1658658271u, 366619977u, 2362670323u, 4224994405u, + 1303535960u, 984961486u, 2747007092u, 3569037538u, 1256170817u, 1037604311u, 2765210733u, 3554079995u, + 1131014506u, 879679996u, 2909243462u, 3663771856u, 1141124467u, 855842277u, 2852801631u, 3708648649u, + 1342533948u, 654459306u, 3188396048u, 3373015174u, 1466479909u, 544179635u, 3110523913u, 3462522015u, + 1591671054u, 702138776u, 2966460450u, 3352799412u, 1504918807u, 783551873u, 3082640443u, 3233442989u, + 3988292384u, 2596254646u, 62317068u, 1957810842u, 3939845945u, 2647816111u, 81470997u, 1943803523u, + 3814918930u, 2489596804u, 225274430u, 2053790376u, 3826175755u, 2466906013u, 167816743u, 2097651377u, + 4027552580u, 2265490386u, 503444072u, 1762050814u, 4150417245u, 2154129355u, 426522225u, 1852507879u, + 4275313526u, 2312317920u, 282753626u, 1742555852u, 4189708143u, 2394877945u, 397917763u, 1622183637u, + 3604390888u, 2714866558u, 953729732u, 1340076626u, 3518719985u, 2797360999u, 1068828381u, 1219638859u, + 3624741850u, 2936675148u, 906185462u, 1090812512u, 3747672003u, 2825379669u, 829329135u, 1181335161u, + 3412177804u, 3160834842u, 628085408u, 1382605366u, 3423369109u, 3138078467u, 570562233u, 1426400815u, + 3317316542u, 2998733608u, 733239954u, 1555261956u, 3268935591u, 3050360625u, 752459403u, 1541320221u, + 2607071920u, 3965973030u, 1969922972u, 40735498u, 2617837225u, 3943577151u, 1913087877u, 83908371u, + 2512341634u, 3803740692u, 2075208622u, 213261112u, 2463272603u, 3855990285u, 2094854071u, 198958881u, + 2262029012u, 4057260610u, 1759359992u, 534414190u, 2176718541u, 4139329115u, 1873836001u, 414664567u, + 2282248934u, 4279200368u, 1711684554u, 285281116u, 2405801727u, 4167216745u, 1634467795u, 376229701u, + 2685067896u, 3608007406u, 1308918612u, 956543938u, 2808555105u, 3495958263u, 1231636301u, 1047427035u, + 2932959818u, 3654703836u, 1088359270u, 936918000u, 2847714899u, 3736837829u, 1202900863u, 817233897u, + 3183342108u, 3401237130u, 1404277552u, 615818150u, 3134207493u, 3453421203u, 1423857449u, 601450431u, + 3009837614u, 3294710456u, 1567103746u, 711928724u, 3020668471u, 3272380065u, 1510334235u, 755167117u +}; + +/*Return the CRC of the bytes buf[0..len-1].*/ +unsigned lodepng_crc32(const unsigned char* buf, size_t len) +{ + unsigned c = 0xffffffffL; + size_t n; + + for(n = 0; n < len; n++) + { + c = lodepng_crc32_table[(c ^ buf[n]) & 0xff] ^ (c >> 8); + } + return c ^ 0xffffffffL; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Reading and writing single bits and bytes from/to stream for LodePNG / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +static unsigned char readBitFromReversedStream(size_t* bitpointer, const unsigned char* bitstream) +{ + unsigned char result = (unsigned char)((bitstream[(*bitpointer) >> 3] >> (7 - ((*bitpointer) & 0x7))) & 1); + (*bitpointer)++; + return result; +} + +static unsigned readBitsFromReversedStream(size_t* bitpointer, const unsigned char* bitstream, size_t nbits) +{ + unsigned result = 0; + size_t i; + for ( i = 1; i <= nbits; i++ ) + { + result += (unsigned)readBitFromReversedStream( bitpointer, bitstream ) << (nbits - i); + } + return result; +} + +#ifdef LODEPNG_COMPILE_DECODER +static void setBitOfReversedStream0(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream must be 0 for this to work*/ + if(bit) + { + /*earlier bit of huffman code is in a lesser significant bit of an earlier byte*/ + bitstream[(*bitpointer) >> 3] |= (bit << (7 - ((*bitpointer) & 0x7))); + } + (*bitpointer)++; +} +#endif /*LODEPNG_COMPILE_DECODER*/ + +static void setBitOfReversedStream(size_t* bitpointer, unsigned char* bitstream, unsigned char bit) +{ + /*the current bit in bitstream may be 0 or 1 for this to work*/ + if(bit == 0) bitstream[(*bitpointer) >> 3] &= (unsigned char)(~(1 << (7 - ((*bitpointer) & 0x7)))); + else bitstream[(*bitpointer) >> 3] |= (1 << (7 - ((*bitpointer) & 0x7))); + (*bitpointer)++; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG chunks / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +unsigned lodepng_chunk_length(const unsigned char* chunk) +{ + return lodepng_read32bitInt(&chunk[0]); +} + +void lodepng_chunk_type(char type[5], const unsigned char* chunk) +{ + unsigned i; + for(i = 0; i < 4; i++) type[i] = (char)chunk[4 + i]; + type[4] = 0; /*null termination char*/ +} + +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type) +{ + if(strlen(type) != 4) return 0; + return (chunk[4] == type[0] && chunk[5] == type[1] && chunk[6] == type[2] && chunk[7] == type[3]); +} + +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk) +{ + return((chunk[4] & 32) != 0); +} + +unsigned char lodepng_chunk_private(const unsigned char* chunk) +{ + return((chunk[6] & 32) != 0); +} + +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk) +{ + return((chunk[7] & 32) != 0); +} + +unsigned char* lodepng_chunk_data(unsigned char* chunk) +{ + return &chunk[8]; +} + +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk) +{ + return &chunk[8]; +} + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_read32bitInt(&chunk[length + 8]); + /*the CRC is taken of the data and the 4 chunk type letters, not the length*/ + unsigned checksum = lodepng_crc32(&chunk[4], length + 4); + if(CRC != checksum) return 1; + else return 0; +} + +void lodepng_chunk_generate_crc(unsigned char* chunk) +{ + unsigned length = lodepng_chunk_length(chunk); + unsigned CRC = lodepng_crc32(&chunk[4], length + 4); + lodepng_set32bitInt(chunk + 8 + length, CRC); +} + +unsigned char* lodepng_chunk_next(unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk) +{ + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + return &chunk[total_chunk_length]; +} + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk) +{ + unsigned i; + unsigned total_chunk_length = lodepng_chunk_length(chunk) + 12; + unsigned char *chunk_start, *new_buffer; + size_t new_length = (*outlength) + total_chunk_length; + if(new_length < total_chunk_length || new_length < (*outlength)) return 77; /*integer overflow happened*/ + + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk_start = &(*out)[new_length - total_chunk_length]; + + for(i = 0; i < total_chunk_length; i++) chunk_start[i] = chunk[i]; + + return 0; +} + +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data) +{ + unsigned i; + unsigned char *chunk, *new_buffer; + size_t new_length = (*outlength) + length + 12; + if(new_length < length + 12 || new_length < (*outlength)) return 77; /*integer overflow happened*/ + new_buffer = (unsigned char*)lodepng_realloc(*out, new_length); + if(!new_buffer) return 83; /*alloc fail*/ + (*out) = new_buffer; + (*outlength) = new_length; + chunk = &(*out)[(*outlength) - length - 12]; + + /*1: length*/ + lodepng_set32bitInt(chunk, (unsigned)length); + + /*2: chunk name (4 letters)*/ + chunk[4] = (unsigned char)type[0]; + chunk[5] = (unsigned char)type[1]; + chunk[6] = (unsigned char)type[2]; + chunk[7] = (unsigned char)type[3]; + + /*3: the data*/ + for(i = 0; i < length; i++) chunk[8 + i] = data[i]; + + /*4: CRC (of the chunkname characters and the data)*/ + lodepng_chunk_generate_crc(chunk); + + return 0; +} + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / Color types and such / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*return type is a LodePNG error code*/ +static unsigned checkColorValidity(LodePNGColorType colortype, unsigned bd) /*bd = bitdepth*/ +{ + switch(colortype) + { + case 0: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 || bd == 16)) return 37; break; /*grey*/ + case 2: if(!( bd == 8 || bd == 16)) return 37; break; /*RGB*/ + case 3: if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 )) return 37; break; /*palette*/ + case 4: if(!( bd == 8 || bd == 16)) return 37; break; /*grey + alpha*/ + case 6: if(!( bd == 8 || bd == 16)) return 37; break; /*RGBA*/ + default: return 31; + } + return 0; /*allowed color type / bits combination*/ +} + +static unsigned getNumColorChannels(LodePNGColorType colortype) +{ + switch(colortype) + { + case 0: return 1; /*grey*/ + case 2: return 3; /*RGB*/ + case 3: return 1; /*palette*/ + case 4: return 2; /*grey + alpha*/ + case 6: return 4; /*RGBA*/ + } + return 0; /*unexisting color type*/ +} + +static unsigned lodepng_get_bpp_lct(LodePNGColorType colortype, unsigned bitdepth) +{ + /*bits per pixel is amount of channels * bits per channel*/ + return getNumColorChannels(colortype) * bitdepth; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +void lodepng_color_mode_init(LodePNGColorMode* info) +{ + info->key_defined = 0; + info->key_r = info->key_g = info->key_b = 0; + info->colortype = LCT_RGBA; + info->bitdepth = 8; + info->palette = 0; + info->palettesize = 0; +} + +void lodepng_color_mode_cleanup(LodePNGColorMode* info) +{ + lodepng_palette_clear(info); +} + +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source) +{ + size_t i; + lodepng_color_mode_cleanup(dest); + *dest = *source; + if(source->palette) + { + dest->palette = (unsigned char*)lodepng_malloc(1024); + if(!dest->palette && source->palettesize) return 83; /*alloc fail*/ + for(i = 0; i < source->palettesize * 4; i++) dest->palette[i] = source->palette[i]; + } + return 0; +} + +static int lodepng_color_mode_equal(const LodePNGColorMode* a, const LodePNGColorMode* b) +{ + size_t i; + if(a->colortype != b->colortype) return 0; + if(a->bitdepth != b->bitdepth) return 0; + if(a->key_defined != b->key_defined) return 0; + if(a->key_defined) + { + if(a->key_r != b->key_r) return 0; + if(a->key_g != b->key_g) return 0; + if(a->key_b != b->key_b) return 0; + } + if(a->palettesize != b->palettesize) return 0; + for(i = 0; i < a->palettesize * 4; i++) + { + if(a->palette[i] != b->palette[i]) return 0; + } + return 1; +} + +void lodepng_palette_clear(LodePNGColorMode* info) +{ + if(info->palette) lodepng_free(info->palette); + info->palette = 0; + info->palettesize = 0; +} + +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + unsigned char* data; + /*the same resize technique as C++ std::vectors is used, and here it's made so that for a palette with + the max of 256 colors, it'll have the exact alloc size*/ + if(!info->palette) /*allocate palette if empty*/ + { + /*room for 256 colors with 4 bytes each*/ + data = (unsigned char*)lodepng_realloc(info->palette, 1024); + if(!data) return 83; /*alloc fail*/ + else info->palette = data; + } + info->palette[4 * info->palettesize + 0] = r; + info->palette[4 * info->palettesize + 1] = g; + info->palette[4 * info->palettesize + 2] = b; + info->palette[4 * info->palettesize + 3] = a; + info->palettesize++; + return 0; +} + +unsigned lodepng_get_bpp(const LodePNGColorMode* info) +{ + /*calculate bits per pixel out of colortype and bitdepth*/ + return lodepng_get_bpp_lct(info->colortype, info->bitdepth); +} + +unsigned lodepng_get_channels(const LodePNGColorMode* info) +{ + return getNumColorChannels(info->colortype); +} + +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_GREY || info->colortype == LCT_GREY_ALPHA; +} + +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info) +{ + return (info->colortype & 4) != 0; /*4 or 6*/ +} + +unsigned lodepng_is_palette_type(const LodePNGColorMode* info) +{ + return info->colortype == LCT_PALETTE; +} + +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info) +{ + size_t i; + for(i = 0; i < info->palettesize; i++) + { + if(info->palette[i * 4 + 3] < 255) return 1; + } + return 0; +} + +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info) +{ + return info->key_defined + || lodepng_is_alpha_type(info) + || lodepng_has_palette_alpha(info); +} + +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + return (w * h * lodepng_get_bpp(color) + 7) / 8; +} + +size_t lodepng_get_raw_size_lct(unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + return (w * h * lodepng_get_bpp_lct(colortype, bitdepth) + 7) / 8; +} + + +#ifdef LODEPNG_COMPILE_PNG +#ifdef LODEPNG_COMPILE_DECODER +/*in an idat chunk, each scanline is a multiple of 8 bits, unlike the lodepng output buffer*/ +static size_t lodepng_get_raw_size_idat(unsigned w, unsigned h, const LodePNGColorMode* color) +{ + return h * ((w * lodepng_get_bpp(color) + 7) / 8); +} +#endif /*LODEPNG_COMPILE_DECODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static void LodePNGUnknownChunks_init(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i < 3; i++) info->unknown_chunks_data[i] = 0; + for(i = 0; i < 3; i++) info->unknown_chunks_size[i] = 0; +} + +static void LodePNGUnknownChunks_cleanup(LodePNGInfo* info) +{ + unsigned i; + for(i = 0; i < 3; i++) lodepng_free(info->unknown_chunks_data[i]); +} + +static unsigned LodePNGUnknownChunks_copy(LodePNGInfo* dest, const LodePNGInfo* src) +{ + unsigned i; + + LodePNGUnknownChunks_cleanup(dest); + + for(i = 0; i < 3; i++) + { + size_t j; + dest->unknown_chunks_size[i] = src->unknown_chunks_size[i]; + dest->unknown_chunks_data[i] = (unsigned char*)lodepng_malloc(src->unknown_chunks_size[i]); + if(!dest->unknown_chunks_data[i] && dest->unknown_chunks_size[i]) return 83; /*alloc fail*/ + for(j = 0; j < src->unknown_chunks_size[i]; j++) + { + dest->unknown_chunks_data[i][j] = src->unknown_chunks_data[i][j]; + } + } + + return 0; +} + +/******************************************************************************/ + +static void LodePNGText_init(LodePNGInfo* info) +{ + info->text_num = 0; + info->text_keys = NULL; + info->text_strings = NULL; +} + +static void LodePNGText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i < info->text_num; i++) + { + string_cleanup(&info->text_keys[i]); + string_cleanup(&info->text_strings[i]); + } + lodepng_free(info->text_keys); + lodepng_free(info->text_strings); +} + +static unsigned LodePNGText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->text_keys = 0; + dest->text_strings = 0; + dest->text_num = 0; + for(i = 0; i < source->text_num; i++) + { + CERROR_TRY_RETURN(lodepng_add_text(dest, source->text_keys[i], source->text_strings[i])); + } + return 0; +} + +void lodepng_clear_text(LodePNGInfo* info) +{ + LodePNGText_cleanup(info); +} + +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->text_keys, sizeof(char*) * (info->text_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->text_strings, sizeof(char*) * (info->text_num + 1))); + if(!new_keys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + info->text_num++; + info->text_keys = new_keys; + info->text_strings = new_strings; + + string_init(&info->text_keys[info->text_num - 1]); + string_set(&info->text_keys[info->text_num - 1], key); + + string_init(&info->text_strings[info->text_num - 1]); + string_set(&info->text_strings[info->text_num - 1], str); + + return 0; +} + +/******************************************************************************/ + +static void LodePNGIText_init(LodePNGInfo* info) +{ + info->itext_num = 0; + info->itext_keys = NULL; + info->itext_langtags = NULL; + info->itext_transkeys = NULL; + info->itext_strings = NULL; +} + +static void LodePNGIText_cleanup(LodePNGInfo* info) +{ + size_t i; + for(i = 0; i < info->itext_num; i++) + { + string_cleanup(&info->itext_keys[i]); + string_cleanup(&info->itext_langtags[i]); + string_cleanup(&info->itext_transkeys[i]); + string_cleanup(&info->itext_strings[i]); + } + lodepng_free(info->itext_keys); + lodepng_free(info->itext_langtags); + lodepng_free(info->itext_transkeys); + lodepng_free(info->itext_strings); +} + +static unsigned LodePNGIText_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + size_t i = 0; + dest->itext_keys = 0; + dest->itext_langtags = 0; + dest->itext_transkeys = 0; + dest->itext_strings = 0; + dest->itext_num = 0; + for(i = 0; i < source->itext_num; i++) + { + CERROR_TRY_RETURN(lodepng_add_itext(dest, source->itext_keys[i], source->itext_langtags[i], + source->itext_transkeys[i], source->itext_strings[i])); + } + return 0; +} + +void lodepng_clear_itext(LodePNGInfo* info) +{ + LodePNGIText_cleanup(info); +} + +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str) +{ + char** new_keys = (char**)(lodepng_realloc(info->itext_keys, sizeof(char*) * (info->itext_num + 1))); + char** new_langtags = (char**)(lodepng_realloc(info->itext_langtags, sizeof(char*) * (info->itext_num + 1))); + char** new_transkeys = (char**)(lodepng_realloc(info->itext_transkeys, sizeof(char*) * (info->itext_num + 1))); + char** new_strings = (char**)(lodepng_realloc(info->itext_strings, sizeof(char*) * (info->itext_num + 1))); + if(!new_keys || !new_langtags || !new_transkeys || !new_strings) + { + lodepng_free(new_keys); + lodepng_free(new_langtags); + lodepng_free(new_transkeys); + lodepng_free(new_strings); + return 83; /*alloc fail*/ + } + + info->itext_num++; + info->itext_keys = new_keys; + info->itext_langtags = new_langtags; + info->itext_transkeys = new_transkeys; + info->itext_strings = new_strings; + + string_init(&info->itext_keys[info->itext_num - 1]); + string_set(&info->itext_keys[info->itext_num - 1], key); + + string_init(&info->itext_langtags[info->itext_num - 1]); + string_set(&info->itext_langtags[info->itext_num - 1], langtag); + + string_init(&info->itext_transkeys[info->itext_num - 1]); + string_set(&info->itext_transkeys[info->itext_num - 1], transkey); + + string_init(&info->itext_strings[info->itext_num - 1]); + string_set(&info->itext_strings[info->itext_num - 1], str); + + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +void lodepng_info_init(LodePNGInfo* info) +{ + lodepng_color_mode_init(&info->color); + info->interlace_method = 0; + info->compression_method = 0; + info->filter_method = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + info->background_defined = 0; + info->background_r = info->background_g = info->background_b = 0; + + LodePNGText_init(info); + LodePNGIText_init(info); + + info->time_defined = 0; + info->phys_defined = 0; + + LodePNGUnknownChunks_init(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +void lodepng_info_cleanup(LodePNGInfo* info) +{ + lodepng_color_mode_cleanup(&info->color); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + LodePNGText_cleanup(info); + LodePNGIText_cleanup(info); + + LodePNGUnknownChunks_cleanup(info); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source) +{ + lodepng_info_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->color); + CERROR_TRY_RETURN(lodepng_color_mode_copy(&dest->color, &source->color)); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + CERROR_TRY_RETURN(LodePNGText_copy(dest, source)); + CERROR_TRY_RETURN(LodePNGIText_copy(dest, source)); + + LodePNGUnknownChunks_init(dest); + CERROR_TRY_RETURN(LodePNGUnknownChunks_copy(dest, source)); +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + return 0; +} + +void lodepng_info_swap(LodePNGInfo* a, LodePNGInfo* b) +{ + LodePNGInfo temp = *a; + *a = *b; + *b = temp; +} + +/* ////////////////////////////////////////////////////////////////////////// */ + +/*index: bitgroup index, bits: bitgroup size(1, 2 or 4), in: bitgroup value, out: octet array to add bits to*/ +static void addColorBits(unsigned char* out, size_t index, unsigned bits, unsigned in) +{ + unsigned m = bits == 1 ? 7 : bits == 2 ? 3 : 1; /*8 / bits - 1*/ + /*p = the partial index in the byte, e.g. with 4 palettebits it is 0 for first half or 1 for second half*/ + unsigned p = index & m; + in &= (1u << bits) - 1u; /*filter out any other bits of the input value*/ + in = in << (bits * (m - p)); + if(p == 0) out[index * bits / 8] = in; + else out[index * bits / 8] |= in; +} + +typedef struct ColorTree ColorTree; + +/* +One node of a color tree +This is the data structure used to count the number of unique colors and to get a palette +index for a color. It's like an octree, but because the alpha channel is used too, each +node has 16 instead of 8 children. +*/ +struct ColorTree +{ + ColorTree* children[16]; /*up to 16 pointers to ColorTree of next level*/ + int index; /*the payload. Only has a meaningful value if this is in the last level*/ +}; + +static void color_tree_init(ColorTree* tree) +{ + int i; + for(i = 0; i < 16; i++) tree->children[i] = 0; + tree->index = -1; +} + +static void color_tree_cleanup(ColorTree* tree) +{ + int i; + for(i = 0; i < 16; i++) + { + if(tree->children[i]) + { + color_tree_cleanup(tree->children[i]); + lodepng_free(tree->children[i]); + } + } +} + +/*returns -1 if color not present, its index otherwise*/ +static int color_tree_get(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + int bit = 0; + for(bit = 0; bit < 8; bit++) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) return -1; + else tree = tree->children[i]; + } + return tree ? tree->index : -1; +} + +#ifdef LODEPNG_COMPILE_ENCODER +static int color_tree_has(ColorTree* tree, unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + return color_tree_get(tree, r, g, b, a) >= 0; +} +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/*color is not allowed to already exist. +Index should be >= 0 (it's signed to be compatible with using -1 for "doesn't exist")*/ +static void color_tree_add(ColorTree* tree, + unsigned char r, unsigned char g, unsigned char b, unsigned char a, unsigned index) +{ + int bit; + for(bit = 0; bit < 8; bit++) + { + int i = 8 * ((r >> bit) & 1) + 4 * ((g >> bit) & 1) + 2 * ((b >> bit) & 1) + 1 * ((a >> bit) & 1); + if(!tree->children[i]) + { + tree->children[i] = (ColorTree*)lodepng_malloc(sizeof(ColorTree)); + color_tree_init(tree->children[i]); + } + tree = tree->children[i]; + } + tree->index = (int)index; +} + +/*put a pixel, given its RGBA color, into image of any color type*/ +static unsigned rgba8ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, ColorTree* tree /*for palette*/, + unsigned char r, unsigned char g, unsigned char b, unsigned char a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) out[i] = grey; + else if(mode->bitdepth == 16) out[i * 2 + 0] = out[i * 2 + 1] = grey; + else + { + /*take the most significant bits of grey*/ + grey = (grey >> (8 - mode->bitdepth)) & ((1 << mode->bitdepth) - 1); + addColorBits(out, i, mode->bitdepth, grey); + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + out[i * 3 + 0] = r; + out[i * 3 + 1] = g; + out[i * 3 + 2] = b; + } + else + { + out[i * 6 + 0] = out[i * 6 + 1] = r; + out[i * 6 + 2] = out[i * 6 + 3] = g; + out[i * 6 + 4] = out[i * 6 + 5] = b; + } + } + else if(mode->colortype == LCT_PALETTE) + { + int index = color_tree_get(tree, r, g, b, a); + if(index < 0) return 82; /*color not in palette*/ + if(mode->bitdepth == 8) out[i] = index; + else addColorBits(out, i, mode->bitdepth, (unsigned)index); + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned char grey = r; /*((unsigned short)r + g + b) / 3*/; + if(mode->bitdepth == 8) + { + out[i * 2 + 0] = grey; + out[i * 2 + 1] = a; + } + else if(mode->bitdepth == 16) + { + out[i * 4 + 0] = out[i * 4 + 1] = grey; + out[i * 4 + 2] = out[i * 4 + 3] = a; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + out[i * 4 + 0] = r; + out[i * 4 + 1] = g; + out[i * 4 + 2] = b; + out[i * 4 + 3] = a; + } + else + { + out[i * 8 + 0] = out[i * 8 + 1] = r; + out[i * 8 + 2] = out[i * 8 + 3] = g; + out[i * 8 + 4] = out[i * 8 + 5] = b; + out[i * 8 + 6] = out[i * 8 + 7] = a; + } + } + + return 0; /*no error*/ +} + +/*put a pixel, given its RGBA16 color, into image of any color 16-bitdepth type*/ +static void rgba16ToPixel(unsigned char* out, size_t i, + const LodePNGColorMode* mode, + unsigned short r, unsigned short g, unsigned short b, unsigned short a) +{ + if(mode->colortype == LCT_GREY) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 2 + 0] = (grey >> 8) & 255; + out[i * 2 + 1] = grey & 255; + } + else if(mode->colortype == LCT_RGB) + { + out[i * 6 + 0] = (r >> 8) & 255; + out[i * 6 + 1] = r & 255; + out[i * 6 + 2] = (g >> 8) & 255; + out[i * 6 + 3] = g & 255; + out[i * 6 + 4] = (b >> 8) & 255; + out[i * 6 + 5] = b & 255; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + unsigned short grey = r; /*((unsigned)r + g + b) / 3*/; + out[i * 4 + 0] = (grey >> 8) & 255; + out[i * 4 + 1] = grey & 255; + out[i * 4 + 2] = (a >> 8) & 255; + out[i * 4 + 3] = a & 255; + } + else if(mode->colortype == LCT_RGBA) + { + out[i * 8 + 0] = (r >> 8) & 255; + out[i * 8 + 1] = r & 255; + out[i * 8 + 2] = (g >> 8) & 255; + out[i * 8 + 3] = g & 255; + out[i * 8 + 4] = (b >> 8) & 255; + out[i * 8 + 5] = b & 255; + out[i * 8 + 6] = (a >> 8) & 255; + out[i * 8 + 7] = a & 255; + } +} + +/*Get RGBA8 color of pixel with index i (y * width + x) from the raw image with given color type.*/ +static void getPixelColorRGBA8(unsigned char* r, unsigned char* g, + unsigned char* b, unsigned char* a, + const unsigned char* in, size_t i, + const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i]; + if(mode->key_defined && *r == mode->key_r) *a = 0; + else *a = 255; + } + else if(mode->bitdepth == 16) + { + *r = *g = *b = in[i * 2 + 0]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 255; + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = i * mode->bitdepth; + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + *r = *g = *b = (value * 255) / highest; + if(mode->key_defined && value == mode->key_r) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + *r = in[i * 3 + 0]; *g = in[i * 3 + 1]; *b = in[i * 3 + 2]; + if(mode->key_defined && *r == mode->key_r && *g == mode->key_g && *b == mode->key_b) *a = 0; + else *a = 255; + } + else + { + *r = in[i * 6 + 0]; + *g = in[i * 6 + 2]; + *b = in[i * 6 + 4]; + if(mode->key_defined && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 255; + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + if(mode->bitdepth == 8) index = in[i]; + else + { + size_t j = i * mode->bitdepth; + index = readBitsFromReversedStream(&j, in, mode->bitdepth); + } + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but common PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + *r = *g = *b = 0; + *a = 255; + } + else + { + *r = mode->palette[index * 4 + 0]; + *g = mode->palette[index * 4 + 1]; + *b = mode->palette[index * 4 + 2]; + *a = mode->palette[index * 4 + 3]; + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + *r = *g = *b = in[i * 2 + 0]; + *a = in[i * 2 + 1]; + } + else + { + *r = *g = *b = in[i * 4 + 0]; + *a = in[i * 4 + 2]; + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + *r = in[i * 4 + 0]; + *g = in[i * 4 + 1]; + *b = in[i * 4 + 2]; + *a = in[i * 4 + 3]; + } + else + { + *r = in[i * 8 + 0]; + *g = in[i * 8 + 2]; + *b = in[i * 8 + 4]; + *a = in[i * 8 + 6]; + } + } +} + +/*Similar to getPixelColorRGBA8, but with all the for loops inside of the color +mode test cases, optimized to convert the colors much faster, when converting +to RGBA or RGB with 8 bit per cannel. buffer must be RGBA or RGB output with +enough memory, if has_alpha is true the output is RGBA. mode has the color mode +of the input buffer.*/ +static void getPixelColorsRGBA8(unsigned char* buffer, size_t numpixels, + unsigned has_alpha, const unsigned char* in, + const LodePNGColorMode* mode) +{ + unsigned num_channels = has_alpha ? 4 : 3; + size_t i; + if(mode->colortype == LCT_GREY) + { + if(mode->bitdepth == 8) + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i]; + if(has_alpha) buffer[3] = mode->key_defined && in[i] == mode->key_r ? 0 : 255; + } + } + else if(mode->bitdepth == 16) + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2]; + if(has_alpha) buffer[3] = mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r ? 0 : 255; + } + } + else + { + unsigned highest = ((1U << mode->bitdepth) - 1U); /*highest possible value for this bit depth*/ + size_t j = 0; + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + unsigned value = readBitsFromReversedStream(&j, in, mode->bitdepth); + buffer[0] = buffer[1] = buffer[2] = (value * 255) / highest; + if(has_alpha) buffer[3] = mode->key_defined && value == mode->key_r ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_RGB) + { + if(mode->bitdepth == 8) + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = in[i * 3 + 0]; + buffer[1] = in[i * 3 + 1]; + buffer[2] = in[i * 3 + 2]; + if(has_alpha) buffer[3] = mode->key_defined && buffer[0] == mode->key_r + && buffer[1]== mode->key_g && buffer[2] == mode->key_b ? 0 : 255; + } + } + else + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = in[i * 6 + 0]; + buffer[1] = in[i * 6 + 2]; + buffer[2] = in[i * 6 + 4]; + if(has_alpha) buffer[3] = mode->key_defined + && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b ? 0 : 255; + } + } + } + else if(mode->colortype == LCT_PALETTE) + { + unsigned index; + size_t j = 0; + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + if(mode->bitdepth == 8) index = in[i]; + else index = readBitsFromReversedStream(&j, in, mode->bitdepth); + + if(index >= mode->palettesize) + { + /*This is an error according to the PNG spec, but most PNG decoders make it black instead. + Done here too, slightly faster due to no error handling needed.*/ + buffer[0] = buffer[1] = buffer[2] = 0; + if(has_alpha) buffer[3] = 255; + } + else + { + buffer[0] = mode->palette[index * 4 + 0]; + buffer[1] = mode->palette[index * 4 + 1]; + buffer[2] = mode->palette[index * 4 + 2]; + if(has_alpha) buffer[3] = mode->palette[index * 4 + 3]; + } + } + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 2 + 0]; + if(has_alpha) buffer[3] = in[i * 2 + 1]; + } + } + else + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = buffer[1] = buffer[2] = in[i * 4 + 0]; + if(has_alpha) buffer[3] = in[i * 4 + 2]; + } + } + } + else if(mode->colortype == LCT_RGBA) + { + if(mode->bitdepth == 8) + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = in[i * 4 + 0]; + buffer[1] = in[i * 4 + 1]; + buffer[2] = in[i * 4 + 2]; + if(has_alpha) buffer[3] = in[i * 4 + 3]; + } + } + else + { + for(i = 0; i < numpixels; i++, buffer += num_channels) + { + buffer[0] = in[i * 8 + 0]; + buffer[1] = in[i * 8 + 2]; + buffer[2] = in[i * 8 + 4]; + if(has_alpha) buffer[3] = in[i * 8 + 6]; + } + } + } +} + +/*Get RGBA16 color of pixel with index i (y * width + x) from the raw image with +given color type, but the given color type must be 16-bit itself.*/ +static void getPixelColorRGBA16(unsigned short* r, unsigned short* g, unsigned short* b, unsigned short* a, + const unsigned char* in, size_t i, const LodePNGColorMode* mode) +{ + if(mode->colortype == LCT_GREY) + { + *r = *g = *b = 256 * in[i * 2 + 0] + in[i * 2 + 1]; + if(mode->key_defined && 256U * in[i * 2 + 0] + in[i * 2 + 1] == mode->key_r) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_RGB) + { + *r = 256 * in[i * 6 + 0] + in[i * 6 + 1]; + *g = 256 * in[i * 6 + 2] + in[i * 6 + 3]; + *b = 256 * in[i * 6 + 4] + in[i * 6 + 5]; + if(mode->key_defined && 256U * in[i * 6 + 0] + in[i * 6 + 1] == mode->key_r + && 256U * in[i * 6 + 2] + in[i * 6 + 3] == mode->key_g + && 256U * in[i * 6 + 4] + in[i * 6 + 5] == mode->key_b) *a = 0; + else *a = 65535; + } + else if(mode->colortype == LCT_GREY_ALPHA) + { + *r = *g = *b = 256 * in[i * 4 + 0] + in[i * 4 + 1]; + *a = 256 * in[i * 4 + 2] + in[i * 4 + 3]; + } + else if(mode->colortype == LCT_RGBA) + { + *r = 256 * in[i * 8 + 0] + in[i * 8 + 1]; + *g = 256 * in[i * 8 + 2] + in[i * 8 + 3]; + *b = 256 * in[i * 8 + 4] + in[i * 8 + 5]; + *a = 256 * in[i * 8 + 6] + in[i * 8 + 7]; + } +} + +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h) +{ + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + if(lodepng_color_mode_equal(mode_out, mode_in)) + { + size_t numbytes = lodepng_get_raw_size(w, h, mode_in); + for(i = 0; i < numbytes; i++) out[i] = in[i]; + return 0; + } + + if(mode_out->colortype == LCT_PALETTE) + { + size_t palsize = 1u << mode_out->bitdepth; + if(mode_out->palettesize < palsize) palsize = mode_out->palettesize; + color_tree_init(&tree); + for(i = 0; i < palsize; i++) + { + unsigned char* p = &mode_out->palette[i * 4]; + color_tree_add(&tree, p[0], p[1], p[2], p[3], i); + } + } + + if(mode_in->bitdepth == 16 && mode_out->bitdepth == 16) + { + for(i = 0; i < numpixels; i++) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode_in); + rgba16ToPixel(out, i, mode_out, r, g, b, a); + } + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGBA) + { + getPixelColorsRGBA8(out, numpixels, 1, in, mode_in); + } + else if(mode_out->bitdepth == 8 && mode_out->colortype == LCT_RGB) + { + getPixelColorsRGBA8(out, numpixels, 0, in, mode_in); + } + else + { + unsigned char r = 0, g = 0, b = 0, a = 0; + for(i = 0; i < numpixels; i++) + { + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode_in); + rgba8ToPixel(out, i, mode_out, &tree, r, g, b, a); + } + } + + if(mode_out->colortype == LCT_PALETTE) + { + color_tree_cleanup(&tree); + } + + return 0; /*no error (this function currently never has one, but maybe OOM detection added later.)*/ +} + +#ifdef LODEPNG_COMPILE_ENCODER + +void lodepng_color_profile_init(LodePNGColorProfile* profile) +{ + profile->colored = 0; + profile->key = 0; + profile->alpha = 0; + profile->key_r = profile->key_g = profile->key_b = 0; + profile->numcolors = 0; + profile->bits = 1; +} + +/*function used for debug purposes with C++*/ +/*void printColorProfile(LodePNGColorProfile* p) +{ + std::cout << "colored: " << (int)p->colored << ", "; + std::cout << "key: " << (int)p->key << ", "; + std::cout << "key_r: " << (int)p->key_r << ", "; + std::cout << "key_g: " << (int)p->key_g << ", "; + std::cout << "key_b: " << (int)p->key_b << ", "; + std::cout << "alpha: " << (int)p->alpha << ", "; + std::cout << "numcolors: " << (int)p->numcolors << ", "; + std::cout << "bits: " << (int)p->bits << std::endl; +}*/ + +/*Returns how many bits needed to represent given value (max 8 bit)*/ +unsigned getValueRequiredBits(unsigned char value) +{ + if(value == 0 || value == 255) return 1; + /*The scaling of 2-bit and 4-bit values uses multiples of 85 and 17*/ + if(value % 17 == 0) return value % 85 == 0 ? 2 : 4; + return 8; +} + +/*profile must already have been inited with mode. +It's ok to set some parameters of profile to done already.*/ +unsigned get_color_profile(LodePNGColorProfile* profile, + const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* mode) +{ + unsigned error = 0; + size_t i; + ColorTree tree; + size_t numpixels = w * h; + + unsigned colored_done = lodepng_is_greyscale_type(mode) ? 1 : 0; + unsigned alpha_done = lodepng_can_have_alpha(mode) ? 0 : 1; + unsigned numcolors_done = 0; + unsigned bpp = lodepng_get_bpp(mode); + unsigned bits_done = bpp == 1 ? 1 : 0; + unsigned maxnumcolors = 257; + unsigned sixteen = 0; + if(bpp <= 8) maxnumcolors = bpp == 1 ? 2 : (bpp == 2 ? 4 : (bpp == 4 ? 16 : 256)); + + color_tree_init(&tree); + + /*Check if the 16-bit input is truly 16-bit*/ + if(mode->bitdepth == 16) + { + unsigned short r, g, b, a; + for(i = 0; i < numpixels; i++) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + if(r % 257u != 0 || g % 257u != 0 || b % 257u != 0 || a % 257u != 0) /*first and second byte differ*/ + { + sixteen = 1; + break; + } + } + } + + if(sixteen) + { + unsigned short r = 0, g = 0, b = 0, a = 0; + profile->bits = 16; + bits_done = numcolors_done = 1; /*counting colors no longer useful, palette doesn't support 16-bit*/ + + for(i = 0; i < numpixels; i++) + { + getPixelColorRGBA16(&r, &g, &b, &a, in, i, mode); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 65535 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 65535 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + alpha_done = 1; + } + } + + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + } + else /* < 16-bit */ + { + for(i = 0; i < numpixels; i++) + { + unsigned char r = 0, g = 0, b = 0, a = 0; + getPixelColorRGBA8(&r, &g, &b, &a, in, i, mode); + + if(!bits_done && profile->bits < 8) + { + /*only r is checked, < 8 bits is only relevant for greyscale*/ + unsigned bits = getValueRequiredBits(r); + if(bits > profile->bits) profile->bits = bits; + } + bits_done = (profile->bits >= bpp); + + if(!colored_done && (r != g || r != b)) + { + profile->colored = 1; + colored_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no colored modes with less than 8-bit per channel*/ + } + + if(!alpha_done) + { + unsigned matchkey = (r == profile->key_r && g == profile->key_g && b == profile->key_b); + if(a != 255 && (a != 0 || (profile->key && !matchkey))) + { + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + else if(a == 0 && !profile->alpha && !profile->key) + { + profile->key = 1; + profile->key_r = r; + profile->key_g = g; + profile->key_b = b; + } + else if(a == 255 && profile->key && matchkey) + { + /* Color key cannot be used if an opaque pixel also has that RGB color. */ + profile->alpha = 1; + alpha_done = 1; + if(profile->bits < 8) profile->bits = 8; /*PNG has no alphachannel modes with less than 8-bit per channel*/ + } + } + + if(!numcolors_done) + { + if(!color_tree_has(&tree, r, g, b, a)) + { + color_tree_add(&tree, r, g, b, a, profile->numcolors); + if(profile->numcolors < 256) + { + unsigned char* p = profile->palette; + unsigned n = profile->numcolors; + p[n * 4 + 0] = r; + p[n * 4 + 1] = g; + p[n * 4 + 2] = b; + p[n * 4 + 3] = a; + } + profile->numcolors++; + numcolors_done = profile->numcolors >= maxnumcolors; + } + } + + if(alpha_done && numcolors_done && colored_done && bits_done) break; + } + + /*make the profile's key always 16-bit for consistency - repeat each byte twice*/ + profile->key_r *= 257; + profile->key_g *= 257; + profile->key_b *= 257; + } + + color_tree_cleanup(&tree); + return error; +} + +/*Automatically chooses color type that gives smallest amount of bits in the +output image, e.g. grey if there are only greyscale pixels, palette if there +are less than 256 colors, ... +Updates values of mode with a potentially smaller color model. mode_out should +contain the user chosen color model, but will be overwritten with the new chosen one.*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in) +{ + LodePNGColorProfile prof; + unsigned error = 0; + unsigned i, n, palettebits, grey_ok, palette_ok; + + lodepng_color_profile_init(&prof); + error = get_color_profile(&prof, image, w, h, mode_in); + if(error) return error; + mode_out->key_defined = 0; + + if(prof.key && w * h <= 16) prof.alpha = 1; /*too few pixels to justify tRNS chunk overhead*/ + grey_ok = !prof.colored && !prof.alpha; /*grey without alpha, with potentially low bits*/ + n = prof.numcolors; + palettebits = n <= 2 ? 1 : (n <= 4 ? 2 : (n <= 16 ? 4 : 8)); + palette_ok = n <= 256 && (n * 2 < w * h) && prof.bits <= 8; + if(w * h < n * 2) palette_ok = 0; /*don't add palette overhead if image has only a few pixels*/ + if(grey_ok && prof.bits <= palettebits) palette_ok = 0; /*grey is less overhead*/ + + if(palette_ok) + { + unsigned char* p = prof.palette; + lodepng_palette_clear(mode_out); /*remove potential earlier palette*/ + for(i = 0; i < prof.numcolors; i++) + { + error = lodepng_palette_add(mode_out, p[i * 4 + 0], p[i * 4 + 1], p[i * 4 + 2], p[i * 4 + 3]); + if(error) break; + } + + mode_out->colortype = LCT_PALETTE; + mode_out->bitdepth = palettebits; + + if(mode_in->colortype == LCT_PALETTE && mode_in->palettesize >= mode_out->palettesize + && mode_in->bitdepth == mode_out->bitdepth) + { + /*If input should have same palette colors, keep original to preserve its order and prevent conversion*/ + lodepng_color_mode_cleanup(mode_out); + lodepng_color_mode_copy(mode_out, mode_in); + } + } + else /*8-bit or 16-bit per channel*/ + { + mode_out->bitdepth = prof.bits; + mode_out->colortype = prof.alpha ? (prof.colored ? LCT_RGBA : LCT_GREY_ALPHA) + : (prof.colored ? LCT_RGB : LCT_GREY); + + if(prof.key && !prof.alpha) + { + unsigned mask = (1u << mode_out->bitdepth) - 1u; /*profile always uses 16-bit, mask converts it*/ + mode_out->key_r = prof.key_r & mask; + mode_out->key_g = prof.key_g & mask; + mode_out->key_b = prof.key_b & mask; + mode_out->key_defined = 1; + } + } + + return error; +} + +#endif /* #ifdef LODEPNG_COMPILE_ENCODER */ + +/* +Paeth predicter, used by PNG filter type 4 +The parameters are of type short, but should come from unsigned chars, the shorts +are only needed to make the paeth calculation correct. +*/ +static unsigned char paethPredictor(short a, short b, short c) +{ + short pa = abs(b - c); + short pb = abs(a - c); + short pc = abs(a + b - c - c); + + if(pc < pa && pc < pb) return (unsigned char)c; + else if(pb < pa) return (unsigned char)b; + else return (unsigned char)a; +} + +/*shared values used by multiple Adam7 related functions*/ + +static const unsigned ADAM7_IX[7] = { 0, 4, 0, 2, 0, 1, 0 }; /*x start values*/ +static const unsigned ADAM7_IY[7] = { 0, 0, 4, 0, 2, 0, 1 }; /*y start values*/ +static const unsigned ADAM7_DX[7] = { 8, 8, 4, 4, 2, 2, 1 }; /*x delta values*/ +static const unsigned ADAM7_DY[7] = { 8, 8, 8, 4, 4, 2, 2 }; /*y delta values*/ + +/* +Outputs various dimensions and positions in the image related to the Adam7 reduced images. +passw: output containing the width of the 7 passes +passh: output containing the height of the 7 passes +filter_passstart: output containing the index of the start and end of each + reduced image with filter bytes +padded_passstart output containing the index of the start and end of each + reduced image when without filter bytes but with padded scanlines +passstart: output containing the index of the start and end of each reduced + image without padding between scanlines, but still padding between the images +w, h: width and height of non-interlaced image +bpp: bits per pixel +"padded" is only relevant if bpp is less than 8 and a scanline or image does not + end at a full byte +*/ +static void Adam7_getpassvalues(unsigned passw[7], unsigned passh[7], size_t filter_passstart[8], + size_t padded_passstart[8], size_t passstart[8], unsigned w, unsigned h, unsigned bpp) +{ + /*the passstart values have 8 values: the 8th one indicates the byte after the end of the 7th (= last) pass*/ + unsigned i; + + /*calculate width and height in pixels of each pass*/ + for(i = 0; i < 7; i++) + { + passw[i] = (w + ADAM7_DX[i] - ADAM7_IX[i] - 1) / ADAM7_DX[i]; + passh[i] = (h + ADAM7_DY[i] - ADAM7_IY[i] - 1) / ADAM7_DY[i]; + if(passw[i] == 0) passh[i] = 0; + if(passh[i] == 0) passw[i] = 0; + } + + filter_passstart[0] = padded_passstart[0] = passstart[0] = 0; + for(i = 0; i < 7; i++) + { + /*if passw[i] is 0, it's 0 bytes, not 1 (no filtertype-byte)*/ + filter_passstart[i + 1] = filter_passstart[i] + + ((passw[i] && passh[i]) ? passh[i] * (1 + (passw[i] * bpp + 7) / 8) : 0); + /*bits padded if needed to fill full byte at end of each scanline*/ + padded_passstart[i + 1] = padded_passstart[i] + passh[i] * ((passw[i] * bpp + 7) / 8); + /*only padded at end of reduced image*/ + passstart[i + 1] = passstart[i] + (passh[i] * passw[i] * bpp + 7) / 8; + } +} + +#ifdef LODEPNG_COMPILE_DECODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Decoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*read the information from the header and store it in the LodePNGInfo. return value is error*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, LodePNGState* state, + const unsigned char* in, size_t insize) +{ + LodePNGInfo* info = &state->info_png; + if(insize == 0 || in == 0) + { + CERROR_RETURN_ERROR(state->error, 48); /*error: the given data is empty*/ + } + if(insize < 29) + { + CERROR_RETURN_ERROR(state->error, 27); /*error: the data length is smaller than the length of a PNG header*/ + } + + /*when decoding a new PNG image, make sure all parameters created after previous decoding are reset*/ + lodepng_info_cleanup(info); + lodepng_info_init(info); + + if(in[0] != 137 || in[1] != 80 || in[2] != 78 || in[3] != 71 + || in[4] != 13 || in[5] != 10 || in[6] != 26 || in[7] != 10) + { + CERROR_RETURN_ERROR(state->error, 28); /*error: the first 8 bytes are not the correct PNG signature*/ + } + if(in[12] != 'I' || in[13] != 'H' || in[14] != 'D' || in[15] != 'R') + { + CERROR_RETURN_ERROR(state->error, 29); /*error: it doesn't start with a IHDR chunk!*/ + } + + /*read the values given in the header*/ + *w = lodepng_read32bitInt(&in[16]); + *h = lodepng_read32bitInt(&in[20]); + info->color.bitdepth = in[24]; + info->color.colortype = (LodePNGColorType)in[25]; + info->compression_method = in[26]; + info->filter_method = in[27]; + info->interlace_method = in[28]; + + if(!state->decoder.ignore_crc) + { + unsigned CRC = lodepng_read32bitInt(&in[29]); + unsigned checksum = lodepng_crc32(&in[12], 17); + if(CRC != checksum) + { + CERROR_RETURN_ERROR(state->error, 57); /*invalid CRC*/ + } + } + + /*error: only compression method 0 is allowed in the specification*/ + if(info->compression_method != 0) CERROR_RETURN_ERROR(state->error, 32); + /*error: only filter method 0 is allowed in the specification*/ + if(info->filter_method != 0) CERROR_RETURN_ERROR(state->error, 33); + /*error: only interlace methods 0 and 1 exist in the specification*/ + if(info->interlace_method > 1) CERROR_RETURN_ERROR(state->error, 34); + + state->error = checkColorValidity(info->color.colortype, info->color.bitdepth); + return state->error; +} + +static unsigned unfilterScanline(unsigned char* recon, const unsigned char* scanline, const unsigned char* precon, + size_t bytewidth, unsigned char filterType, size_t length) +{ + /* + For PNG filter method 0 + unfilter a PNG image scanline by scanline. when the pixels are smaller than 1 byte, + the filter works byte per byte (bytewidth = 1) + precon is the previous unfiltered scanline, recon the result, scanline the current one + the incoming scanlines do NOT include the filtertype byte, that one is given in the parameter filterType instead + recon and scanline MAY be the same memory address! precon must be disjoint. + */ + + size_t i; + switch(filterType) + { + case 0: + for(i = 0; i < length; i++) recon[i] = scanline[i]; + break; + case 1: + for(i = 0; i < bytewidth; i++) recon[i] = scanline[i]; + for(i = bytewidth; i < length; i++) recon[i] = scanline[i] + recon[i - bytewidth]; + break; + case 2: + if(precon) + { + for(i = 0; i < length; i++) recon[i] = scanline[i] + precon[i]; + } + else + { + for(i = 0; i < length; i++) recon[i] = scanline[i]; + } + break; + case 3: + if(precon) + { + for(i = 0; i < bytewidth; i++) recon[i] = scanline[i] + precon[i] / 2; + for(i = bytewidth; i < length; i++) recon[i] = scanline[i] + ((recon[i - bytewidth] + precon[i]) / 2); + } + else + { + for(i = 0; i < bytewidth; i++) recon[i] = scanline[i]; + for(i = bytewidth; i < length; i++) recon[i] = scanline[i] + recon[i - bytewidth] / 2; + } + break; + case 4: + if(precon) + { + for(i = 0; i < bytewidth; i++) + { + recon[i] = (scanline[i] + precon[i]); /*paethPredictor(0, precon[i], 0) is always precon[i]*/ + } + for(i = bytewidth; i < length; i++) + { + recon[i] = (scanline[i] + paethPredictor(recon[i - bytewidth], precon[i], precon[i - bytewidth])); + } + } + else + { + for(i = 0; i < bytewidth; i++) + { + recon[i] = scanline[i]; + } + for(i = bytewidth; i < length; i++) + { + /*paethPredictor(recon[i - bytewidth], 0, 0) is always recon[i - bytewidth]*/ + recon[i] = (scanline[i] + recon[i - bytewidth]); + } + } + break; + default: return 36; /*error: unexisting filter type given*/ + } + return 0; +} + +static unsigned unfilter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + /* + For PNG filter method 0 + this function unfilters a single image (e.g. without interlacing this is called once, with Adam7 seven times) + out must have enough bytes allocated already, in must have the scanlines + 1 filtertype byte per scanline + w and h are image dimensions or dimensions of reduced image, bpp is bits per pixel + in and out are allowed to be the same memory address (but aren't the same size since in has the extra filter bytes) + */ + + unsigned y; + unsigned char* prevline = 0; + + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + size_t linebytes = (w * bpp + 7) / 8; + + for(y = 0; y < h; y++) + { + size_t outindex = linebytes * y; + size_t inindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + unsigned char filterType = in[inindex]; + + CERROR_TRY_RETURN(unfilterScanline(&out[outindex], &in[inindex + 1], prevline, bytewidth, filterType, linebytes)); + + prevline = &out[outindex]; + } + + return 0; +} + +/* +in: Adam7 interlaced image, with no padding bits between scanlines, but between + reduced images so that each reduced image starts at a byte. +out: the same pixels, but re-ordered so that they're now a non-interlaced image with size w*h +bpp: bits per pixel +out has the following size in bits: w * h * bpp. +in is possibly bigger due to padding bits between reduced images. +out must be big enough AND must be 0 everywhere if bpp < 8 in the current implementation +(because that's likely a little bit faster) +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_deinterlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i < 7; i++) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; y++) + for(x = 0; x < passw[i]; x++) + { + size_t pixelinstart = passstart[i] + (y * passw[i] + x) * bytewidth; + size_t pixeloutstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + for(b = 0; b < bytewidth; b++) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i < 7; i++) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; y++) + for(x = 0; x < passw[i]; x++) + { + ibp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + obp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + for(b = 0; b < bpp; b++) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + /*note that this function assumes the out buffer is completely 0, use setBitOfReversedStream otherwise*/ + setBitOfReversedStream0(&obp, out, bit); + } + } + } + } +} + +static void removePaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /* + After filtering there are still padding bits if scanlines have non multiple of 8 bit amounts. They need + to be removed (except at last scanline of (Adam7-reduced) image) before working with pure image buffers + for the Adam7 code, the color convert code and the output to the user. + in and out are allowed to be the same buffer, in may also be higher but still overlapping; in must + have >= ilinebits*h bits, out must have >= olinebits*h bits, olinebits must be <= ilinebits + also used to move bits after earlier such operations happened, e.g. in a sequence of reduced images from Adam7 + only useful if (ilinebits - olinebits) is a value in the range 1..7 + */ + unsigned y; + size_t diff = ilinebits - olinebits; + size_t ibp = 0, obp = 0; /*input and output bit pointers*/ + for(y = 0; y < h; y++) + { + size_t x; + for(x = 0; x < olinebits; x++) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + ibp += diff; + } +} + +/*out must be buffer big enough to contain full image, and in must contain the full decompressed data from +the IDAT chunks (with filter index bytes and possible padding bits) +return value is error*/ +static unsigned postProcessScanlines(unsigned char* out, unsigned char* in, + unsigned w, unsigned h, const LodePNGInfo* info_png) +{ + /* + This function converts the filtered-padded-interlaced data into pure 2D image buffer with the PNG's colortype. + Steps: + *) if no Adam7: 1) unfilter 2) remove padding bits (= posible extra bits per scanline if bpp < 8) + *) if adam7: 1) 7x unfilter 2) 7x remove padding bits 3) Adam7_deinterlace + NOTE: the in buffer will be overwritten with intermediate data! + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + if(bpp == 0) return 31; /*error: invalid colortype*/ + + if(info_png->interlace_method == 0) + { + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + CERROR_TRY_RETURN(unfilter(in, in, w, h, bpp)); + removePaddingBits(out, in, w * bpp, ((w * bpp + 7) / 8) * 8, h); + } + /*we can immediatly filter into the out buffer, no other steps needed*/ + else CERROR_TRY_RETURN(unfilter(out, in, w, h, bpp)); + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + for(i = 0; i < 7; i++) + { + CERROR_TRY_RETURN(unfilter(&in[padded_passstart[i]], &in[filter_passstart[i]], passw[i], passh[i], bpp)); + /*TODO: possible efficiency improvement: if in this reduced image the bits fit nicely in 1 scanline, + move bytes instead of bits or move not at all*/ + if(bpp < 8) + { + /*remove padding bits in scanlines; after this there still may be padding + bits between the different reduced images: each reduced image still starts nicely at a byte*/ + removePaddingBits(&in[passstart[i]], &in[padded_passstart[i]], passw[i] * bpp, + ((passw[i] * bpp + 7) / 8) * 8, passh[i]); + } + } + + Adam7_deinterlace(out, in, w, h, bpp); + } + + return 0; +} + +static unsigned readChunk_PLTE(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned pos = 0, i; + if(color->palette) lodepng_free(color->palette); + color->palettesize = chunkLength / 3; + color->palette = (unsigned char*)lodepng_malloc(4 * color->palettesize); + if(!color->palette && color->palettesize) + { + color->palettesize = 0; + return 83; /*alloc fail*/ + } + if(color->palettesize > 256) return 38; /*error: palette too big*/ + + for(i = 0; i < color->palettesize; i++) + { + color->palette[4 * i + 0] = data[pos++]; /*R*/ + color->palette[4 * i + 1] = data[pos++]; /*G*/ + color->palette[4 * i + 2] = data[pos++]; /*B*/ + color->palette[4 * i + 3] = 255; /*alpha*/ + } + + return 0; /* OK */ +} + +static unsigned readChunk_tRNS(LodePNGColorMode* color, const unsigned char* data, size_t chunkLength) +{ + unsigned i; + if(color->colortype == LCT_PALETTE) + { + /*error: more alpha values given than there are palette entries*/ + if(chunkLength > color->palettesize) return 38; + + for(i = 0; i < chunkLength; i++) color->palette[4 * i + 3] = data[i]; + } + else if(color->colortype == LCT_GREY) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 30; + + color->key_defined = 1; + color->key_r = color->key_g = color->key_b = 256u * data[0] + data[1]; + } + else if(color->colortype == LCT_RGB) + { + /*error: this chunk must be 6 bytes for RGB image*/ + if(chunkLength != 6) return 41; + + color->key_defined = 1; + color->key_r = 256u * data[0] + data[1]; + color->key_g = 256u * data[2] + data[3]; + color->key_b = 256u * data[4] + data[5]; + } + else return 42; /*error: tRNS chunk not allowed for other color models*/ + + return 0; /* OK */ +} + + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*background color chunk (bKGD)*/ +static unsigned readChunk_bKGD(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(info->color.colortype == LCT_PALETTE) + { + /*error: this chunk must be 1 byte for indexed color image*/ + if(chunkLength != 1) return 43; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = data[0]; + } + else if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + /*error: this chunk must be 2 bytes for greyscale image*/ + if(chunkLength != 2) return 44; + + info->background_defined = 1; + info->background_r = info->background_g = info->background_b = 256u * data[0] + data[1]; + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + /*error: this chunk must be 6 bytes for greyscale image*/ + if(chunkLength != 6) return 45; + + info->background_defined = 1; + info->background_r = 256u * data[0] + data[1]; + info->background_g = 256u * data[2] + data[3]; + info->background_b = 256u * data[4] + data[5]; + } + + return 0; /* OK */ +} + +/*text chunk (tEXt)*/ +static unsigned readChunk_tEXt(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + char *key = 0, *str = 0; + unsigned i; + + while(!error) /*not really a while loop, only used to break on error*/ + { + unsigned length, string2_begin; + + length = 0; + while(length < chunkLength && data[length] != 0) length++; + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i < length; i++) key[i] = (char)data[i]; + + string2_begin = length + 1; /*skip keyword null terminator*/ + + length = chunkLength < string2_begin ? 0 : chunkLength - string2_begin; + str = (char*)lodepng_malloc(length + 1); + if(!str) CERROR_BREAK(error, 83); /*alloc fail*/ + + str[length] = 0; + for(i = 0; i < length; i++) str[i] = (char)data[string2_begin + i]; + + error = lodepng_add_text(info, key, str); + + break; + } + + lodepng_free(key); + lodepng_free(str); + + return error; +} + +/*compressed text chunk (zTXt)*/ +static unsigned readChunk_zTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, string2_begin; + char *key = 0; + ucvector decoded; + + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + for(length = 0; length < chunkLength && data[length] != 0; length++) ; + if(length + 2 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i < length; i++) key[i] = (char)data[i]; + + if(data[length + 1] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + string2_begin = length + 2; + if(string2_begin > chunkLength) CERROR_BREAK(error, 75); /*no null termination, corrupt?*/ + + length = chunkLength - string2_begin; + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[string2_begin]), + length, zlibsettings); + if(error) break; + ucvector_push_back(&decoded, 0); + + error = lodepng_add_text(info, key, (char*)decoded.data); + + break; + } + + lodepng_free(key); + ucvector_cleanup(&decoded); + + return error; +} + +/*international text chunk (iTXt)*/ +static unsigned readChunk_iTXt(LodePNGInfo* info, const LodePNGDecompressSettings* zlibsettings, + const unsigned char* data, size_t chunkLength) +{ + unsigned error = 0; + unsigned i; + + unsigned length, begin, compressed; + char *key = 0, *langtag = 0, *transkey = 0; + ucvector decoded; + ucvector_init(&decoded); + + while(!error) /*not really a while loop, only used to break on error*/ + { + /*Quick check if the chunk length isn't too small. Even without check + it'd still fail with other error checks below if it's too short. This just gives a different error code.*/ + if(chunkLength < 5) CERROR_BREAK(error, 30); /*iTXt chunk too short*/ + + /*read the key*/ + for(length = 0; length < chunkLength && data[length] != 0; length++) ; + if(length + 3 >= chunkLength) CERROR_BREAK(error, 75); /*no null termination char, corrupt?*/ + if(length < 1 || length > 79) CERROR_BREAK(error, 89); /*keyword too short or long*/ + + key = (char*)lodepng_malloc(length + 1); + if(!key) CERROR_BREAK(error, 83); /*alloc fail*/ + + key[length] = 0; + for(i = 0; i < length; i++) key[i] = (char)data[i]; + + /*read the compression method*/ + compressed = data[length + 1]; + if(data[length + 2] != 0) CERROR_BREAK(error, 72); /*the 0 byte indicating compression must be 0*/ + + /*even though it's not allowed by the standard, no error is thrown if + there's no null termination char, if the text is empty for the next 3 texts*/ + + /*read the langtag*/ + begin = length + 3; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; i++) length++; + + langtag = (char*)lodepng_malloc(length + 1); + if(!langtag) CERROR_BREAK(error, 83); /*alloc fail*/ + + langtag[length] = 0; + for(i = 0; i < length; i++) langtag[i] = (char)data[begin + i]; + + /*read the transkey*/ + begin += length + 1; + length = 0; + for(i = begin; i < chunkLength && data[i] != 0; i++) length++; + + transkey = (char*)lodepng_malloc(length + 1); + if(!transkey) CERROR_BREAK(error, 83); /*alloc fail*/ + + transkey[length] = 0; + for(i = 0; i < length; i++) transkey[i] = (char)data[begin + i]; + + /*read the actual text*/ + begin += length + 1; + + length = chunkLength < begin ? 0 : chunkLength - begin; + + if(compressed) + { + /*will fail if zlib error, e.g. if length is too small*/ + error = zlib_decompress(&decoded.data, &decoded.size, + (unsigned char*)(&data[begin]), + length, zlibsettings); + if(error) break; + if(decoded.allocsize < decoded.size) decoded.allocsize = decoded.size; + ucvector_push_back(&decoded, 0); + } + else + { + if(!ucvector_resize(&decoded, length + 1)) CERROR_BREAK(error, 83 /*alloc fail*/); + + decoded.data[length] = 0; + for(i = 0; i < length; i++) decoded.data[i] = data[begin + i]; + } + + error = lodepng_add_itext(info, key, langtag, transkey, (char*)decoded.data); + + break; + } + + lodepng_free(key); + lodepng_free(langtag); + lodepng_free(transkey); + ucvector_cleanup(&decoded); + + return error; +} + +static unsigned readChunk_tIME(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 7) return 73; /*invalid tIME chunk size*/ + + info->time_defined = 1; + info->time.year = 256u * data[0] + data[1]; + info->time.month = data[2]; + info->time.day = data[3]; + info->time.hour = data[4]; + info->time.minute = data[5]; + info->time.second = data[6]; + + return 0; /* OK */ +} + +static unsigned readChunk_pHYs(LodePNGInfo* info, const unsigned char* data, size_t chunkLength) +{ + if(chunkLength != 9) return 74; /*invalid pHYs chunk size*/ + + info->phys_defined = 1; + info->phys_x = 16777216u * data[0] + 65536u * data[1] + 256u * data[2] + data[3]; + info->phys_y = 16777216u * data[4] + 65536u * data[5] + 256u * data[6] + data[7]; + info->phys_unit = data[8]; + + return 0; /* OK */ +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*read a PNG, the result will be in the same color type as the PNG (hence "generic")*/ +static void decodeGeneric(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + unsigned char IEND = 0; + const unsigned char* chunk; + size_t i; + ucvector idat; /*the data from idat chunks*/ + ucvector scanlines; + size_t predict; + + /*for unknown chunk order*/ + unsigned unknown = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned critical_pos = 1; /*1 = after IHDR, 2 = after PLTE, 3 = after IDAT*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + + /*provide some proper output values if error will happen*/ + *out = 0; + + state->error = lodepng_inspect(w, h, state, in, insize); /*reads header and resets other parameters in state->info_png*/ + if(state->error) return; + + ucvector_init(&idat); + chunk = &in[33]; /*first byte of the first chunk after the header*/ + + /*loop through the chunks, ignoring unknown chunks and stopping at IEND chunk. + IDAT data is put at the start of the in buffer*/ + while(!IEND && !state->error) + { + unsigned chunkLength; + const unsigned char* data; /*the data in the chunk*/ + + /*error: size of the in buffer too small to contain next chunk*/ + if((size_t)((chunk - in) + 12) > insize || chunk < in) CERROR_BREAK(state->error, 30); + + /*length of the data of the chunk, excluding the length bytes, chunk type and CRC bytes*/ + chunkLength = lodepng_chunk_length(chunk); + /*error: chunk length larger than the max PNG chunk size*/ + if(chunkLength > 2147483647) CERROR_BREAK(state->error, 63); + + if((size_t)((chunk - in) + chunkLength + 12) > insize || (chunk + chunkLength + 12) < in) + { + CERROR_BREAK(state->error, 64); /*error: size of the in buffer too small to contain next chunk*/ + } + + data = lodepng_chunk_data_const(chunk); + + /*IDAT chunk, containing compressed image data*/ + if(lodepng_chunk_type_equals(chunk, "IDAT")) + { + size_t oldsize = idat.size; + if(!ucvector_resize(&idat, oldsize + chunkLength)) CERROR_BREAK(state->error, 83 /*alloc fail*/); + for(i = 0; i < chunkLength; i++) idat.data[oldsize + i] = data[i]; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 3; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*IEND chunk*/ + else if(lodepng_chunk_type_equals(chunk, "IEND")) + { + IEND = 1; + } + /*palette chunk (PLTE)*/ + else if(lodepng_chunk_type_equals(chunk, "PLTE")) + { + state->error = readChunk_PLTE(&state->info_png.color, data, chunkLength); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + critical_pos = 2; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + /*palette transparency chunk (tRNS)*/ + else if(lodepng_chunk_type_equals(chunk, "tRNS")) + { + state->error = readChunk_tRNS(&state->info_png.color, data, chunkLength); + if(state->error) break; + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*background color chunk (bKGD)*/ + else if(lodepng_chunk_type_equals(chunk, "bKGD")) + { + state->error = readChunk_bKGD(&state->info_png, data, chunkLength); + if(state->error) break; + } + /*text chunk (tEXt)*/ + else if(lodepng_chunk_type_equals(chunk, "tEXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_tEXt(&state->info_png, data, chunkLength); + if(state->error) break; + } + } + /*compressed text chunk (zTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "zTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_zTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + /*international text chunk (iTXt)*/ + else if(lodepng_chunk_type_equals(chunk, "iTXt")) + { + if(state->decoder.read_text_chunks) + { + state->error = readChunk_iTXt(&state->info_png, &state->decoder.zlibsettings, data, chunkLength); + if(state->error) break; + } + } + else if(lodepng_chunk_type_equals(chunk, "tIME")) + { + state->error = readChunk_tIME(&state->info_png, data, chunkLength); + if(state->error) break; + } + else if(lodepng_chunk_type_equals(chunk, "pHYs")) + { + state->error = readChunk_pHYs(&state->info_png, data, chunkLength); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + else /*it's not an implemented chunk type, so ignore it: skip over the data*/ + { + /*error: unknown critical chunk (5th bit of first byte of chunk type is 0)*/ + if(!lodepng_chunk_ancillary(chunk)) CERROR_BREAK(state->error, 69); + + unknown = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + if(state->decoder.remember_unknown_chunks) + { + state->error = lodepng_chunk_append(&state->info_png.unknown_chunks_data[critical_pos - 1], + &state->info_png.unknown_chunks_size[critical_pos - 1], chunk); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + } + + if(!state->decoder.ignore_crc && !unknown) /*check CRC if wanted, only on known chunk types*/ + { + if(lodepng_chunk_check_crc(chunk)) CERROR_BREAK(state->error, 57); /*invalid CRC*/ + } + + if(!IEND) chunk = lodepng_chunk_next_const(chunk); + } + + ucvector_init(&scanlines); + /*predict output size, to allocate exact size for output buffer to avoid more dynamic allocation. + The prediction is currently not correct for interlaced PNG images.*/ + predict = lodepng_get_raw_size_idat(*w, *h, &state->info_png.color) + *h; + if(!state->error && !ucvector_reserve(&scanlines, predict)) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = zlib_decompress(&scanlines.data, &scanlines.size, idat.data, + idat.size, &state->decoder.zlibsettings); + } + ucvector_cleanup(&idat); + + if(!state->error) + { + ucvector outv; + ucvector_init(&outv); + if(!ucvector_resizev(&outv, + lodepng_get_raw_size(*w, *h, &state->info_png.color), 0)) state->error = 83; /*alloc fail*/ + if(!state->error) state->error = postProcessScanlines(outv.data, scanlines.data, *w, *h, &state->info_png); + *out = outv.data; + } + ucvector_cleanup(&scanlines); +} + +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize) +{ + *out = 0; + decodeGeneric(out, w, h, state, in, insize); + if(state->error) return state->error; + if(!state->decoder.color_convert || lodepng_color_mode_equal(&state->info_raw, &state->info_png.color)) + { + /*same color type, no copying or converting of data needed*/ + /*store the info_png color settings on the info_raw so that the info_raw still reflects what colortype + the raw image has to the end user*/ + if(!state->decoder.color_convert) + { + state->error = lodepng_color_mode_copy(&state->info_raw, &state->info_png.color); + if(state->error) return state->error; + } + } + else + { + /*color conversion needed; sort of copy of the data*/ + unsigned char* data = *out; + size_t outsize; + + /*TODO: check if this works according to the statement in the documentation: "The converter can convert + from greyscale input color type, to 8-bit greyscale or greyscale with alpha"*/ + if(!(state->info_raw.colortype == LCT_RGB || state->info_raw.colortype == LCT_RGBA) + && !(state->info_raw.bitdepth == 8)) + { + return 56; /*unsupported color mode conversion*/ + } + + outsize = lodepng_get_raw_size(*w, *h, &state->info_raw); + *out = (unsigned char*)lodepng_malloc(outsize); + if(!(*out)) + { + state->error = 83; /*alloc fail*/ + } + else state->error = lodepng_convert(*out, data, &state->info_raw, + &state->info_png.color, *w, *h); + lodepng_free(data); + } + return state->error; +} + +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + error = lodepng_decode(out, w, h, &state, in, insize); + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGBA, 8); +} + +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, const unsigned char* in, size_t insize) +{ + return lodepng_decode_memory(out, w, h, in, insize, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error; + error = lodepng_load_file(&buffer, &buffersize, filename); + if(!error) error = lodepng_decode_memory(out, w, h, buffer, buffersize, colortype, bitdepth); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGBA, 8); +} + +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, const char* filename) +{ + return lodepng_decode_file(out, w, h, filename, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings) +{ + settings->color_convert = 1; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->read_text_chunks = 1; + settings->remember_unknown_chunks = 0; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + settings->ignore_crc = 0; + lodepng_decompress_settings_init(&settings->zlibsettings); +} + +#endif /*LODEPNG_COMPILE_DECODER*/ + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) + +void lodepng_state_init(LodePNGState* state) +{ +#ifdef LODEPNG_COMPILE_DECODER + lodepng_decoder_settings_init(&state->decoder); +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + lodepng_encoder_settings_init(&state->encoder); +#endif /*LODEPNG_COMPILE_ENCODER*/ + lodepng_color_mode_init(&state->info_raw); + lodepng_info_init(&state->info_png); + state->error = 1; +} + +void lodepng_state_cleanup(LodePNGState* state) +{ + lodepng_color_mode_cleanup(&state->info_raw); + lodepng_info_cleanup(&state->info_png); +} + +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source) +{ + lodepng_state_cleanup(dest); + *dest = *source; + lodepng_color_mode_init(&dest->info_raw); + lodepng_info_init(&dest->info_png); + dest->error = lodepng_color_mode_copy(&dest->info_raw, &source->info_raw); if(dest->error) return; + dest->error = lodepng_info_copy(&dest->info_png, &source->info_png); if(dest->error) return; +} + +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_ENCODER + +/* ////////////////////////////////////////////////////////////////////////// */ +/* / PNG Encoder / */ +/* ////////////////////////////////////////////////////////////////////////// */ + +/*chunkName must be string of 4 characters*/ +static unsigned addChunk(ucvector* out, const char* chunkName, const unsigned char* data, size_t length) +{ + CERROR_TRY_RETURN(lodepng_chunk_create(&out->data, &out->size, (unsigned)length, chunkName, data)); + out->allocsize = out->size; /*fix the allocsize again*/ + return 0; +} + +static void writeSignature(ucvector* out) +{ + /*8 bytes PNG signature, aka the magic bytes*/ + ucvector_push_back(out, 137); + ucvector_push_back(out, 80); + ucvector_push_back(out, 78); + ucvector_push_back(out, 71); + ucvector_push_back(out, 13); + ucvector_push_back(out, 10); + ucvector_push_back(out, 26); + ucvector_push_back(out, 10); +} + +static unsigned addChunk_IHDR(ucvector* out, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth, unsigned interlace_method) +{ + unsigned error = 0; + ucvector header; + ucvector_init(&header); + + lodepng_add32bitInt(&header, w); /*width*/ + lodepng_add32bitInt(&header, h); /*height*/ + ucvector_push_back(&header, (unsigned char)bitdepth); /*bit depth*/ + ucvector_push_back(&header, (unsigned char)colortype); /*color type*/ + ucvector_push_back(&header, 0); /*compression method*/ + ucvector_push_back(&header, 0); /*filter method*/ + ucvector_push_back(&header, interlace_method); /*interlace method*/ + + error = addChunk(out, "IHDR", header.data, header.size); + ucvector_cleanup(&header); + + return error; +} + +static unsigned addChunk_PLTE(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector PLTE; + ucvector_init(&PLTE); + for(i = 0; i < info->palettesize * 4; i++) + { + /*add all channels except alpha channel*/ + if(i % 4 != 3) ucvector_push_back(&PLTE, info->palette[i]); + } + error = addChunk(out, "PLTE", PLTE.data, PLTE.size); + ucvector_cleanup(&PLTE); + + return error; +} + +static unsigned addChunk_tRNS(ucvector* out, const LodePNGColorMode* info) +{ + unsigned error = 0; + size_t i; + ucvector tRNS; + ucvector_init(&tRNS); + if(info->colortype == LCT_PALETTE) + { + size_t amount = info->palettesize; + /*the tail of palette values that all have 255 as alpha, does not have to be encoded*/ + for(i = info->palettesize; i > 0; i--) + { + if(info->palette[4 * (i - 1) + 3] == 255) amount--; + else break; + } + /*add only alpha channel*/ + for(i = 0; i < amount; i++) ucvector_push_back(&tRNS, info->palette[4 * i + 3]); + } + else if(info->colortype == LCT_GREY) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r % 256)); + } + } + else if(info->colortype == LCT_RGB) + { + if(info->key_defined) + { + ucvector_push_back(&tRNS, (unsigned char)(info->key_r / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_r % 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_g % 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b / 256)); + ucvector_push_back(&tRNS, (unsigned char)(info->key_b % 256)); + } + } + + error = addChunk(out, "tRNS", tRNS.data, tRNS.size); + ucvector_cleanup(&tRNS); + + return error; +} + +static unsigned addChunk_IDAT(ucvector* out, const unsigned char* data, size_t datasize, + LodePNGCompressSettings* zlibsettings) +{ + ucvector zlibdata; + unsigned error = 0; + + /*compress with the Zlib compressor*/ + ucvector_init(&zlibdata); + error = zlib_compress(&zlibdata.data, &zlibdata.size, data, datasize, zlibsettings); + if(!error) error = addChunk(out, "IDAT", zlibdata.data, zlibdata.size); + ucvector_cleanup(&zlibdata); + + return error; +} + +static unsigned addChunk_IEND(ucvector* out) +{ + unsigned error = 0; + error = addChunk(out, "IEND", 0, 0); + return error; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + +static unsigned addChunk_tEXt(ucvector* out, const char* keyword, const char* textstring) +{ + unsigned error = 0; + size_t i; + ucvector text; + ucvector_init(&text); + for(i = 0; keyword[i] != 0; i++) ucvector_push_back(&text, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&text, 0); /*0 termination char*/ + for(i = 0; textstring[i] != 0; i++) ucvector_push_back(&text, (unsigned char)textstring[i]); + error = addChunk(out, "tEXt", text.data, text.size); + ucvector_cleanup(&text); + + return error; +} + +static unsigned addChunk_zTXt(ucvector* out, const char* keyword, const char* textstring, + LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data, compressed; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + ucvector_init(&compressed); + for(i = 0; keyword[i] != 0; i++) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*0 termination char*/ + ucvector_push_back(&data, 0); /*compression method: 0*/ + + error = zlib_compress(&compressed.data, &compressed.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i < compressed.size; i++) ucvector_push_back(&data, compressed.data[i]); + error = addChunk(out, "zTXt", data.data, data.size); + } + + ucvector_cleanup(&compressed); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_iTXt(ucvector* out, unsigned compressed, const char* keyword, const char* langtag, + const char* transkey, const char* textstring, LodePNGCompressSettings* zlibsettings) +{ + unsigned error = 0; + ucvector data; + size_t i, textsize = strlen(textstring); + + ucvector_init(&data); + + for(i = 0; keyword[i] != 0; i++) ucvector_push_back(&data, (unsigned char)keyword[i]); + if(i < 1 || i > 79) return 89; /*error: invalid keyword size*/ + ucvector_push_back(&data, 0); /*null termination char*/ + ucvector_push_back(&data, compressed ? 1 : 0); /*compression flag*/ + ucvector_push_back(&data, 0); /*compression method*/ + for(i = 0; langtag[i] != 0; i++) ucvector_push_back(&data, (unsigned char)langtag[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + for(i = 0; transkey[i] != 0; i++) ucvector_push_back(&data, (unsigned char)transkey[i]); + ucvector_push_back(&data, 0); /*null termination char*/ + + if(compressed) + { + ucvector compressed_data; + ucvector_init(&compressed_data); + error = zlib_compress(&compressed_data.data, &compressed_data.size, + (unsigned char*)textstring, textsize, zlibsettings); + if(!error) + { + for(i = 0; i < compressed_data.size; i++) ucvector_push_back(&data, compressed_data.data[i]); + } + ucvector_cleanup(&compressed_data); + } + else /*not compressed*/ + { + for(i = 0; textstring[i] != 0; i++) ucvector_push_back(&data, (unsigned char)textstring[i]); + } + + if(!error) error = addChunk(out, "iTXt", data.data, data.size); + ucvector_cleanup(&data); + return error; +} + +static unsigned addChunk_bKGD(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector bKGD; + ucvector_init(&bKGD); + if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); + } + else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_g % 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b / 256)); + ucvector_push_back(&bKGD, (unsigned char)(info->background_b % 256)); + } + else if(info->color.colortype == LCT_PALETTE) + { + ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); /*palette index*/ + } + + error = addChunk(out, "bKGD", bKGD.data, bKGD.size); + ucvector_cleanup(&bKGD); + + return error; +} + +static unsigned addChunk_tIME(ucvector* out, const LodePNGTime* time) +{ + unsigned error = 0; + unsigned char* data = (unsigned char*)lodepng_malloc(7); + if(!data) return 83; /*alloc fail*/ + data[0] = (unsigned char)(time->year / 256); + data[1] = (unsigned char)(time->year % 256); + data[2] = (unsigned char)time->month; + data[3] = (unsigned char)time->day; + data[4] = (unsigned char)time->hour; + data[5] = (unsigned char)time->minute; + data[6] = (unsigned char)time->second; + error = addChunk(out, "tIME", data, 7); + lodepng_free(data); + return error; +} + +static unsigned addChunk_pHYs(ucvector* out, const LodePNGInfo* info) +{ + unsigned error = 0; + ucvector data; + ucvector_init(&data); + + lodepng_add32bitInt(&data, info->phys_x); + lodepng_add32bitInt(&data, info->phys_y); + ucvector_push_back(&data, info->phys_unit); + + error = addChunk(out, "pHYs", data.data, data.size); + ucvector_cleanup(&data); + + return error; +} + +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +static void filterScanline(unsigned char* out, const unsigned char* scanline, const unsigned char* prevline, + size_t length, size_t bytewidth, unsigned char filterType) +{ + size_t i; + switch(filterType) + { + case 0: /*None*/ + for(i = 0; i < length; i++) out[i] = scanline[i]; + break; + case 1: /*Sub*/ + if(prevline) + { + for(i = 0; i < bytewidth; i++) out[i] = scanline[i]; + for(i = bytewidth; i < length; i++) out[i] = scanline[i] - scanline[i - bytewidth]; + } + else + { + for(i = 0; i < bytewidth; i++) out[i] = scanline[i]; + for(i = bytewidth; i < length; i++) out[i] = scanline[i] - scanline[i - bytewidth]; + } + break; + case 2: /*Up*/ + if(prevline) + { + for(i = 0; i < length; i++) out[i] = scanline[i] - prevline[i]; + } + else + { + for(i = 0; i < length; i++) out[i] = scanline[i]; + } + break; + case 3: /*Average*/ + if(prevline) + { + for(i = 0; i < bytewidth; i++) out[i] = scanline[i] - prevline[i] / 2; + for(i = bytewidth; i < length; i++) out[i] = scanline[i] - ((scanline[i - bytewidth] + prevline[i]) / 2); + } + else + { + for(i = 0; i < bytewidth; i++) out[i] = scanline[i]; + for(i = bytewidth; i < length; i++) out[i] = scanline[i] - scanline[i - bytewidth] / 2; + } + break; + case 4: /*Paeth*/ + if(prevline) + { + /*paethPredictor(0, prevline[i], 0) is always prevline[i]*/ + for(i = 0; i < bytewidth; i++) out[i] = (scanline[i] - prevline[i]); + for(i = bytewidth; i < length; i++) + { + out[i] = (scanline[i] - paethPredictor(scanline[i - bytewidth], prevline[i], prevline[i - bytewidth])); + } + } + else + { + for(i = 0; i < bytewidth; i++) out[i] = scanline[i]; + /*paethPredictor(scanline[i - bytewidth], 0, 0) is always scanline[i - bytewidth]*/ + for(i = bytewidth; i < length; i++) out[i] = (scanline[i] - scanline[i - bytewidth]); + } + break; + default: return; /*unexisting filter type given*/ + } +} + +/* log2 approximation. A slight bit faster than std::log. */ +static float flog2(float f) +{ + float result = 0; + while(f > 32) { result += 4; f /= 16; } + while(f > 2) { result++; f /= 2; } + return result + 1.442695f * (f * f * f / 3 - 3 * f * f / 2 + 3 * f - 1.83333f); +} + +static unsigned filter(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, + const LodePNGColorMode* info, const LodePNGEncoderSettings* settings) +{ + /* + For PNG filter method 0 + out must be a buffer with as size: h + (w * h * bpp + 7) / 8, because there are + the scanlines with 1 extra byte per scanline + */ + + unsigned bpp = lodepng_get_bpp(info); + /*the width of a scanline in bytes, not including the filter type*/ + size_t linebytes = (w * bpp + 7) / 8; + /*bytewidth is used for filtering, is 1 when bpp < 8, number of bytes per pixel otherwise*/ + size_t bytewidth = (bpp + 7) / 8; + const unsigned char* prevline = 0; + unsigned x, y; + unsigned error = 0; + LodePNGFilterStrategy strategy = settings->filter_strategy; + + /* + There is a heuristic called the minimum sum of absolute differences heuristic, suggested by the PNG standard: + * If the image type is Palette, or the bit depth is smaller than 8, then do not filter the image (i.e. + use fixed filtering, with the filter None). + * (The other case) If the image type is Grayscale or RGB (with or without Alpha), and the bit depth is + not smaller than 8, then use adaptive filtering heuristic as follows: independently for each row, apply + all five filters and select the filter that produces the smallest sum of absolute values per row. + This heuristic is used if filter strategy is LFS_MINSUM and filter_palette_zero is true. + + If filter_palette_zero is true and filter_strategy is not LFS_MINSUM, the above heuristic is followed, + but for "the other case", whatever strategy filter_strategy is set to instead of the minimum sum + heuristic is used. + */ + if(settings->filter_palette_zero && + (info->colortype == LCT_PALETTE || info->bitdepth < 8)) strategy = LFS_ZERO; + + if(bpp == 0) return 31; /*error: invalid color type*/ + + if(strategy == LFS_ZERO) + { + for(y = 0; y < h; y++) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + out[outindex] = 0; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, 0); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_MINSUM) + { + /*adaptive filtering*/ + size_t sum[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned char type, bestType = 0; + + for(type = 0; type < 5; type++) + { + ucvector_init(&attempt[type]); + if(!ucvector_resize(&attempt[type], linebytes)) return 83; /*alloc fail*/ + } + + if(!error) + { + for(y = 0; y < h; y++) + { + /*try the 5 filter types*/ + for(type = 0; type < 5; type++) + { + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + + /*calculate the sum of the result*/ + sum[type] = 0; + if(type == 0) + { + for(x = 0; x < linebytes; x++) sum[type] += (unsigned char)(attempt[type].data[x]); + } + else + { + for(x = 0; x < linebytes; x++) + { + /*For differences, each byte should be treated as signed, values above 127 are negative + (converted to signed char). Filtertype 0 isn't a difference though, so use unsigned there. + This means filtertype 0 is almost never chosen, but that is justified.*/ + unsigned char s = attempt[type].data[x]; + sum[type] += s < 128 ? s : (255U - s); + } + } + + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x < linebytes; x++) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + } + + for(type = 0; type < 5; type++) ucvector_cleanup(&attempt[type]); + } + else if(strategy == LFS_ENTROPY) + { + float sum[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + float smallest = 0; + unsigned type, bestType = 0; + unsigned count[256]; + + for(type = 0; type < 5; type++) + { + ucvector_init(&attempt[type]); + if(!ucvector_resize(&attempt[type], linebytes)) return 83; /*alloc fail*/ + } + + for(y = 0; y < h; y++) + { + /*try the 5 filter types*/ + for(type = 0; type < 5; type++) + { + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + for(x = 0; x < 256; x++) count[x] = 0; + for(x = 0; x < linebytes; x++) count[attempt[type].data[x]]++; + count[type]++; /*the filter type itself is part of the scanline*/ + sum[type] = 0; + for(x = 0; x < 256; x++) + { + float p = count[x] / (float)(linebytes + 1); + sum[type] += count[x] == 0 ? 0 : flog2(1 / p) * p; + } + /*check if this is smallest sum (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || sum[type] < smallest) + { + bestType = type; + smallest = sum[type]; + } + } + + prevline = &in[y * linebytes]; + + /*now fill the out values*/ + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x < linebytes; x++) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + + for(type = 0; type < 5; type++) ucvector_cleanup(&attempt[type]); + } + else if(strategy == LFS_PREDEFINED) + { + for(y = 0; y < h; y++) + { + size_t outindex = (1 + linebytes) * y; /*the extra filterbyte added to each row*/ + size_t inindex = linebytes * y; + unsigned char type = settings->predefined_filters[y]; + out[outindex] = type; /*filter type byte*/ + filterScanline(&out[outindex + 1], &in[inindex], prevline, linebytes, bytewidth, type); + prevline = &in[inindex]; + } + } + else if(strategy == LFS_BRUTE_FORCE) + { + /*brute force filter chooser. + deflate the scanline after every filter attempt to see which one deflates best. + This is very slow and gives only slightly smaller, sometimes even larger, result*/ + size_t size[5]; + ucvector attempt[5]; /*five filtering attempts, one for each filter type*/ + size_t smallest = 0; + unsigned type = 0, bestType = 0; + unsigned char* dummy; + LodePNGCompressSettings zlibsettings = settings->zlibsettings; + /*use fixed tree on the attempts so that the tree is not adapted to the filtertype on purpose, + to simulate the true case where the tree is the same for the whole image. Sometimes it gives + better result with dynamic tree anyway. Using the fixed tree sometimes gives worse, but in rare + cases better compression. It does make this a bit less slow, so it's worth doing this.*/ + zlibsettings.btype = 1; + /*a custom encoder likely doesn't read the btype setting and is optimized for complete PNG + images only, so disable it*/ + zlibsettings.custom_zlib = 0; + zlibsettings.custom_deflate = 0; + for(type = 0; type < 5; type++) + { + ucvector_init(&attempt[type]); + ucvector_resize(&attempt[type], linebytes); /*todo: give error if resize failed*/ + } + for(y = 0; y < h; y++) /*try the 5 filter types*/ + { + for(type = 0; type < 5; type++) + { + unsigned testsize = attempt[type].size; + /*if(testsize > 8) testsize /= 8;*/ /*it already works good enough by testing a part of the row*/ + + filterScanline(attempt[type].data, &in[y * linebytes], prevline, linebytes, bytewidth, type); + size[type] = 0; + dummy = 0; + zlib_compress(&dummy, &size[type], attempt[type].data, testsize, &zlibsettings); + lodepng_free(dummy); + /*check if this is smallest size (or if type == 0 it's the first case so always store the values)*/ + if(type == 0 || size[type] < smallest) + { + bestType = type; + smallest = size[type]; + } + } + prevline = &in[y * linebytes]; + out[y * (linebytes + 1)] = bestType; /*the first byte of a scanline will be the filter type*/ + for(x = 0; x < linebytes; x++) out[y * (linebytes + 1) + 1 + x] = attempt[bestType].data[x]; + } + for(type = 0; type < 5; type++) ucvector_cleanup(&attempt[type]); + } + else return 88; /* unknown filter strategy */ + + return error; +} + +static void addPaddingBits(unsigned char* out, const unsigned char* in, + size_t olinebits, size_t ilinebits, unsigned h) +{ + /*The opposite of the removePaddingBits function + olinebits must be >= ilinebits*/ + unsigned y; + size_t diff = olinebits - ilinebits; + size_t obp = 0, ibp = 0; /*bit pointers*/ + for(y = 0; y < h; y++) + { + size_t x; + for(x = 0; x < ilinebits; x++) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + /*obp += diff; --> no, fill in some value in the padding bits too, to avoid + "Use of uninitialised value of size ###" warning from valgrind*/ + for(x = 0; x < diff; x++) setBitOfReversedStream(&obp, out, 0); + } +} + +/* +in: non-interlaced image with size w*h +out: the same pixels, but re-ordered according to PNG's Adam7 interlacing, with + no padding bits between scanlines, but between reduced images so that each + reduced image starts at a byte. +bpp: bits per pixel +there are no padding bits, not between scanlines, not between reduced images +in has the following size in bits: w * h * bpp. +out is possibly bigger due to padding bits between reduced images +NOTE: comments about padding bits are only relevant if bpp < 8 +*/ +static void Adam7_interlace(unsigned char* out, const unsigned char* in, unsigned w, unsigned h, unsigned bpp) +{ + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned i; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + if(bpp >= 8) + { + for(i = 0; i < 7; i++) + { + unsigned x, y, b; + size_t bytewidth = bpp / 8; + for(y = 0; y < passh[i]; y++) + for(x = 0; x < passw[i]; x++) + { + size_t pixelinstart = ((ADAM7_IY[i] + y * ADAM7_DY[i]) * w + ADAM7_IX[i] + x * ADAM7_DX[i]) * bytewidth; + size_t pixeloutstart = passstart[i] + (y * passw[i] + x) * bytewidth; + for(b = 0; b < bytewidth; b++) + { + out[pixeloutstart + b] = in[pixelinstart + b]; + } + } + } + } + else /*bpp < 8: Adam7 with pixels < 8 bit is a bit trickier: with bit pointers*/ + { + for(i = 0; i < 7; i++) + { + unsigned x, y, b; + unsigned ilinebits = bpp * passw[i]; + unsigned olinebits = bpp * w; + size_t obp, ibp; /*bit pointers (for out and in buffer)*/ + for(y = 0; y < passh[i]; y++) + for(x = 0; x < passw[i]; x++) + { + ibp = (ADAM7_IY[i] + y * ADAM7_DY[i]) * olinebits + (ADAM7_IX[i] + x * ADAM7_DX[i]) * bpp; + obp = (8 * passstart[i]) + (y * ilinebits + x * bpp); + for(b = 0; b < bpp; b++) + { + unsigned char bit = readBitFromReversedStream(&ibp, in); + setBitOfReversedStream(&obp, out, bit); + } + } + } + } +} + +/*out must be buffer big enough to contain uncompressed IDAT chunk data, and in must contain the full image. +return value is error**/ +static unsigned preProcessScanlines(unsigned char** out, size_t* outsize, const unsigned char* in, + unsigned w, unsigned h, + const LodePNGInfo* info_png, const LodePNGEncoderSettings* settings) +{ + /* + This function converts the pure 2D image with the PNG's colortype, into filtered-padded-interlaced data. Steps: + *) if no Adam7: 1) add padding bits (= posible extra bits per scanline if bpp < 8) 2) filter + *) if adam7: 1) Adam7_interlace 2) 7x add padding bits 3) 7x filter + */ + unsigned bpp = lodepng_get_bpp(&info_png->color); + unsigned error = 0; + + if(info_png->interlace_method == 0) + { + *outsize = h + (h * ((w * bpp + 7) / 8)); /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out) && (*outsize)) error = 83; /*alloc fail*/ + + if(!error) + { + /*non multiple of 8 bits per scanline, padding bits needed per scanline*/ + if(bpp < 8 && w * bpp != ((w * bpp + 7) / 8) * 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(h * ((w * bpp + 7) / 8)); + if(!padded) error = 83; /*alloc fail*/ + if(!error) + { + addPaddingBits(padded, in, ((w * bpp + 7) / 8) * 8, w * bpp, h); + error = filter(*out, padded, w, h, &info_png->color, settings); + } + lodepng_free(padded); + } + else + { + /*we can immediatly filter into the out buffer, no other steps needed*/ + error = filter(*out, in, w, h, &info_png->color, settings); + } + } + } + else /*interlace_method is 1 (Adam7)*/ + { + unsigned passw[7], passh[7]; + size_t filter_passstart[8], padded_passstart[8], passstart[8]; + unsigned char* adam7; + + Adam7_getpassvalues(passw, passh, filter_passstart, padded_passstart, passstart, w, h, bpp); + + *outsize = filter_passstart[7]; /*image size plus an extra byte per scanline + possible padding bits*/ + *out = (unsigned char*)lodepng_malloc(*outsize); + if(!(*out)) error = 83; /*alloc fail*/ + + adam7 = (unsigned char*)lodepng_malloc(passstart[7]); + if(!adam7 && passstart[7]) error = 83; /*alloc fail*/ + + if(!error) + { + unsigned i; + + Adam7_interlace(adam7, in, w, h, bpp); + for(i = 0; i < 7; i++) + { + if(bpp < 8) + { + unsigned char* padded = (unsigned char*)lodepng_malloc(padded_passstart[i + 1] - padded_passstart[i]); + if(!padded) ERROR_BREAK(83); /*alloc fail*/ + addPaddingBits(padded, &adam7[passstart[i]], + ((passw[i] * bpp + 7) / 8) * 8, passw[i] * bpp, passh[i]); + error = filter(&(*out)[filter_passstart[i]], padded, + passw[i], passh[i], &info_png->color, settings); + lodepng_free(padded); + } + else + { + error = filter(&(*out)[filter_passstart[i]], &adam7[padded_passstart[i]], + passw[i], passh[i], &info_png->color, settings); + } + + if(error) break; + } + } + + lodepng_free(adam7); + } + + return error; +} + +/* +palette must have 4 * palettesize bytes allocated, and given in format RGBARGBARGBARGBA... +returns 0 if the palette is opaque, +returns 1 if the palette has a single color with alpha 0 ==> color key +returns 2 if the palette is semi-translucent. +*/ +static unsigned getPaletteTranslucency(const unsigned char* palette, size_t palettesize) +{ + size_t i; + unsigned key = 0; + unsigned r = 0, g = 0, b = 0; /*the value of the color with alpha 0, so long as color keying is possible*/ + for(i = 0; i < palettesize; i++) + { + if(!key && palette[4 * i + 3] == 0) + { + r = palette[4 * i + 0]; g = palette[4 * i + 1]; b = palette[4 * i + 2]; + key = 1; + i = (size_t)(-1); /*restart from beginning, to detect earlier opaque colors with key's value*/ + } + else if(palette[4 * i + 3] != 255) return 2; + /*when key, no opaque RGB may have key's RGB*/ + else if(key && r == palette[i * 4 + 0] && g == palette[i * 4 + 1] && b == palette[i * 4 + 2]) return 2; + } + return key; +} + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +static unsigned addUnknownChunks(ucvector* out, unsigned char* data, size_t datasize) +{ + unsigned char* inchunk = data; + while((size_t)(inchunk - data) < datasize) + { + CERROR_TRY_RETURN(lodepng_chunk_append(&out->data, &out->size, inchunk)); + out->allocsize = out->size; /*fix the allocsize again*/ + inchunk = lodepng_chunk_next(inchunk); + } + return 0; +} +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state) +{ + LodePNGInfo info; + ucvector outv; + unsigned char* data = 0; /*uncompressed version of the IDAT chunk data*/ + size_t datasize = 0; + + /*provide some proper output values if error will happen*/ + *out = 0; + *outsize = 0; + state->error = 0; + + lodepng_info_init(&info); + lodepng_info_copy(&info, &state->info_png); + + if((info.color.colortype == LCT_PALETTE || state->encoder.force_palette) + && (info.color.palettesize == 0 || info.color.palettesize > 256)) + { + state->error = 68; /*invalid palette size, it is only allowed to be 1-256*/ + return state->error; + } + + if(state->encoder.auto_convert) + { + state->error = lodepng_auto_choose_color(&info.color, image, w, h, &state->info_raw); + } + if(state->error) return state->error; + + if(state->encoder.zlibsettings.btype > 2) + { + CERROR_RETURN_ERROR(state->error, 61); /*error: unexisting btype*/ + } + if(state->info_png.interlace_method > 1) + { + CERROR_RETURN_ERROR(state->error, 71); /*error: unexisting interlace mode*/ + } + + state->error = checkColorValidity(info.color.colortype, info.color.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + state->error = checkColorValidity(state->info_raw.colortype, state->info_raw.bitdepth); + if(state->error) return state->error; /*error: unexisting color type given*/ + + if(!lodepng_color_mode_equal(&state->info_raw, &info.color)) + { + unsigned char* converted; + size_t size = (w * h * lodepng_get_bpp(&info.color) + 7) / 8; + + converted = (unsigned char*)lodepng_malloc(size); + if(!converted && size) state->error = 83; /*alloc fail*/ + if(!state->error) + { + state->error = lodepng_convert(converted, image, &info.color, &state->info_raw, w, h); + } + if(!state->error) preProcessScanlines(&data, &datasize, converted, w, h, &info, &state->encoder); + lodepng_free(converted); + } + else preProcessScanlines(&data, &datasize, image, w, h, &info, &state->encoder); + + ucvector_init(&outv); + while(!state->error) /*while only executed once, to break on error*/ + { +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + size_t i; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*write signature and chunks*/ + writeSignature(&outv); + /*IHDR*/ + addChunk_IHDR(&outv, w, h, info.color.colortype, info.color.bitdepth, info.interlace_method); +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*unknown chunks between IHDR and PLTE*/ + if(info.unknown_chunks_data[0]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[0], info.unknown_chunks_size[0]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*PLTE*/ + if(info.color.colortype == LCT_PALETTE) + { + addChunk_PLTE(&outv, &info.color); + } + if(state->encoder.force_palette && (info.color.colortype == LCT_RGB || info.color.colortype == LCT_RGBA)) + { + addChunk_PLTE(&outv, &info.color); + } + /*tRNS*/ + if(info.color.colortype == LCT_PALETTE && getPaletteTranslucency(info.color.palette, info.color.palettesize) != 0) + { + addChunk_tRNS(&outv, &info.color); + } + if((info.color.colortype == LCT_GREY || info.color.colortype == LCT_RGB) && info.color.key_defined) + { + addChunk_tRNS(&outv, &info.color); + } +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*bKGD (must come between PLTE and the IDAt chunks*/ + if(info.background_defined) addChunk_bKGD(&outv, &info); + /*pHYs (must come before the IDAT chunks)*/ + if(info.phys_defined) addChunk_pHYs(&outv, &info); + + /*unknown chunks between PLTE and IDAT*/ + if(info.unknown_chunks_data[1]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[1], info.unknown_chunks_size[1]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + /*IDAT (multiple IDAT chunks must be consecutive)*/ + state->error = addChunk_IDAT(&outv, data, datasize, &state->encoder.zlibsettings); + if(state->error) break; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*tIME*/ + if(info.time_defined) addChunk_tIME(&outv, &info.time); + /*tEXt and/or zTXt*/ + for(i = 0; i < info.text_num; i++) + { + if(strlen(info.text_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.text_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + if(state->encoder.text_compression) + { + addChunk_zTXt(&outv, info.text_keys[i], info.text_strings[i], &state->encoder.zlibsettings); + } + else + { + addChunk_tEXt(&outv, info.text_keys[i], info.text_strings[i]); + } + } + /*LodePNG version id in text chunk*/ + if(state->encoder.add_id) + { + unsigned alread_added_id_text = 0; + for(i = 0; i < info.text_num; i++) + { + if(!strcmp(info.text_keys[i], "LodePNG")) + { + alread_added_id_text = 1; + break; + } + } + if(alread_added_id_text == 0) + { + addChunk_tEXt(&outv, "LodePNG", VERSION_STRING); /*it's shorter as tEXt than as zTXt chunk*/ + } + } + /*iTXt*/ + for(i = 0; i < info.itext_num; i++) + { + if(strlen(info.itext_keys[i]) > 79) + { + state->error = 66; /*text chunk too large*/ + break; + } + if(strlen(info.itext_keys[i]) < 1) + { + state->error = 67; /*text chunk too small*/ + break; + } + addChunk_iTXt(&outv, state->encoder.text_compression, + info.itext_keys[i], info.itext_langtags[i], info.itext_transkeys[i], info.itext_strings[i], + &state->encoder.zlibsettings); + } + + /*unknown chunks between IDAT and IEND*/ + if(info.unknown_chunks_data[2]) + { + state->error = addUnknownChunks(&outv, info.unknown_chunks_data[2], info.unknown_chunks_size[2]); + if(state->error) break; + } +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + addChunk_IEND(&outv); + + break; /*this isn't really a while loop; no error happened so break out now!*/ + } + + lodepng_info_cleanup(&info); + lodepng_free(data); + /*instead of cleaning the vector up, give it to the output*/ + *out = outv.data; + *outsize = outv.size; + + return state->error; +} + +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, const unsigned char* image, + unsigned w, unsigned h, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned error; + LodePNGState state; + lodepng_state_init(&state); + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + state.info_png.color.colortype = colortype; + state.info_png.color.bitdepth = bitdepth; + lodepng_encode(out, outsize, image, w, h, &state); + error = state.error; + lodepng_state_cleanup(&state); + return error; +} + +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_memory(out, outsize, image, w, h, LCT_RGB, 8); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned lodepng_encode_file(const char* filename, const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, image, w, h, colortype, bitdepth); + if(!error) error = lodepng_save_file(buffer, buffersize, filename); + lodepng_free(buffer); + return error; +} + +unsigned lodepng_encode32_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGBA, 8); +} + +unsigned lodepng_encode24_file(const char* filename, const unsigned char* image, unsigned w, unsigned h) +{ + return lodepng_encode_file(filename, image, w, h, LCT_RGB, 8); +} +#endif /*LODEPNG_COMPILE_DISK*/ + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings) +{ + lodepng_compress_settings_init(&settings->zlibsettings); + settings->filter_palette_zero = 1; + settings->filter_strategy = LFS_MINSUM; + settings->auto_convert = 1; + settings->force_palette = 0; + settings->predefined_filters = 0; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + settings->add_id = 0; + settings->text_compression = 1; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/* +This returns the description of a numerical error code in English. This is also +the documentation of all the error codes. +*/ +const char* lodepng_error_text(unsigned code) +{ + switch(code) + { + case 0: return "no error, everything went ok"; + case 1: return "nothing done yet"; /*the Encoder/Decoder has done nothing yet, error checking makes no sense yet*/ + case 10: return "end of input memory reached without huffman end code"; /*while huffman decoding*/ + case 11: return "error in code tree made it jump outside of huffman tree"; /*while huffman decoding*/ + case 13: return "problem while processing dynamic deflate block"; + case 14: return "problem while processing dynamic deflate block"; + case 15: return "problem while processing dynamic deflate block"; + case 16: return "unexisting code while processing dynamic deflate block"; + case 17: return "end of out buffer memory reached while inflating"; + case 18: return "invalid distance code while inflating"; + case 19: return "end of out buffer memory reached while inflating"; + case 20: return "invalid deflate block BTYPE encountered while decoding"; + case 21: return "NLEN is not ones complement of LEN in a deflate block"; + /*end of out buffer memory reached while inflating: + This can happen if the inflated deflate data is longer than the amount of bytes required to fill up + all the pixels of the image, given the color depth and image dimensions. Something that doesn't + happen in a normal, well encoded, PNG image.*/ + case 22: return "end of out buffer memory reached while inflating"; + case 23: return "end of in buffer memory reached while inflating"; + case 24: return "invalid FCHECK in zlib header"; + case 25: return "invalid compression method in zlib header"; + case 26: return "FDICT encountered in zlib header while it's not used for PNG"; + case 27: return "PNG file is smaller than a PNG header"; + /*Checks the magic file header, the first 8 bytes of the PNG file*/ + case 28: return "incorrect PNG signature, it's no PNG or corrupted"; + case 29: return "first chunk is not the header chunk"; + case 30: return "chunk length too large, chunk broken off at end of file"; + case 31: return "illegal PNG color type or bpp"; + case 32: return "illegal PNG compression method"; + case 33: return "illegal PNG filter method"; + case 34: return "illegal PNG interlace method"; + case 35: return "chunk length of a chunk is too large or the chunk too small"; + case 36: return "illegal PNG filter type encountered"; + case 37: return "illegal bit depth for this color type given"; + case 38: return "the palette is too big"; /*more than 256 colors*/ + case 39: return "more palette alpha values given in tRNS chunk than there are colors in the palette"; + case 40: return "tRNS chunk has wrong size for greyscale image"; + case 41: return "tRNS chunk has wrong size for RGB image"; + case 42: return "tRNS chunk appeared while it was not allowed for this color type"; + case 43: return "bKGD chunk has wrong size for palette image"; + case 44: return "bKGD chunk has wrong size for greyscale image"; + case 45: return "bKGD chunk has wrong size for RGB image"; + /*the input data is empty, maybe a PNG file doesn't exist or is in the wrong path*/ + case 48: return "empty input or file doesn't exist"; + case 49: return "jumped past memory while generating dynamic huffman tree"; + case 50: return "jumped past memory while generating dynamic huffman tree"; + case 51: return "jumped past memory while inflating huffman block"; + case 52: return "jumped past memory while inflating"; + case 53: return "size of zlib data too small"; + case 54: return "repeat symbol in tree while there was no value symbol yet"; + /*jumped past tree while generating huffman tree, this could be when the + tree will have more leaves than symbols after generating it out of the + given lenghts. They call this an oversubscribed dynamic bit lengths tree in zlib.*/ + case 55: return "jumped past tree while generating huffman tree"; + case 56: return "given output image colortype or bitdepth not supported for color conversion"; + case 57: return "invalid CRC encountered (checking CRC can be disabled)"; + case 58: return "invalid ADLER32 encountered (checking ADLER32 can be disabled)"; + case 59: return "requested color conversion not supported"; + case 60: return "invalid window size given in the settings of the encoder (must be 0-32768)"; + case 61: return "invalid BTYPE given in the settings of the encoder (only 0, 1 and 2 are allowed)"; + /*LodePNG leaves the choice of RGB to greyscale conversion formula to the user.*/ + case 62: return "conversion from color to greyscale not supported"; + case 63: return "length of a chunk too long, max allowed for PNG is 2147483647 bytes per chunk"; /*(2^31-1)*/ + /*this would result in the inability of a deflated block to ever contain an end code. It must be at least 1.*/ + case 64: return "the length of the END symbol 256 in the Huffman tree is 0"; + case 66: return "the length of a text chunk keyword given to the encoder is longer than the maximum of 79 bytes"; + case 67: return "the length of a text chunk keyword given to the encoder is smaller than the minimum of 1 byte"; + case 68: return "tried to encode a PLTE chunk with a palette that has less than 1 or more than 256 colors"; + case 69: return "unknown chunk type with 'critical' flag encountered by the decoder"; + case 71: return "unexisting interlace mode given to encoder (must be 0 or 1)"; + case 72: return "while decoding, unexisting compression method encountering in zTXt or iTXt chunk (it must be 0)"; + case 73: return "invalid tIME chunk size"; + case 74: return "invalid pHYs chunk size"; + /*length could be wrong, or data chopped off*/ + case 75: return "no null termination char found while decoding text chunk"; + case 76: return "iTXt chunk too short to contain required bytes"; + case 77: return "integer overflow in buffer size"; + case 78: return "failed to open file for reading"; /*file doesn't exist or couldn't be opened for reading*/ + case 79: return "failed to open file for writing"; + case 80: return "tried creating a tree of 0 symbols"; + case 81: return "lazy matching at pos 0 is impossible"; + case 82: return "color conversion to palette requested while a color isn't in palette"; + case 83: return "memory allocation failed"; + case 84: return "given image too small to contain all pixels to be encoded"; + case 86: return "impossible offset in lz77 encoding (internal bug)"; + case 87: return "must provide custom zlib function pointer if LODEPNG_COMPILE_ZLIB is not defined"; + case 88: return "invalid filter strategy given for LodePNGEncoderSettings.filter_strategy"; + case 89: return "text chunk keyword too short or long: must have size 1-79"; + /*the windowsize in the LodePNGCompressSettings. Requiring POT(==> & instead of %) makes encoding 12% faster.*/ + case 90: return "windowsize must be a power of two"; + } + return "unknown error code"; +} +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* // C++ Wrapper // */ +/* ////////////////////////////////////////////////////////////////////////// */ +/* ////////////////////////////////////////////////////////////////////////// */ + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ + +#ifdef LODEPNG_COMPILE_DISK +void load_file(std::vector& buffer, const std::string& filename) +{ + std::ifstream file(filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate); + + /*get filesize*/ + std::streamsize size = 0; + if(file.seekg(0, std::ios::end).good()) size = file.tellg(); + if(file.seekg(0, std::ios::beg).good()) size -= file.tellg(); + + /*read contents of the file into the vector*/ + buffer.resize(size_t(size)); + if(size > 0) file.read((char*)(&buffer[0]), size); +} + +/*write given buffer to the file, overwriting the file, it doesn't append to it.*/ +void save_file(const std::vector& buffer, const std::string& filename) +{ + std::ofstream file(filename.c_str(), std::ios::out|std::ios::binary); + file.write(buffer.empty() ? 0 : (char*)&buffer[0], std::streamsize(buffer.size())); +} +#endif //LODEPNG_COMPILE_DISK + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +unsigned decompress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_decompress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decompress(std::vector& out, const std::vector& in, + const LodePNGDecompressSettings& settings) +{ + return decompress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned compress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings) +{ + unsigned char* buffer = 0; + size_t buffersize = 0; + unsigned error = zlib_compress(&buffer, &buffersize, in, insize, &settings); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned compress(std::vector& out, const std::vector& in, + const LodePNGCompressSettings& settings) +{ + return compress(out, in.empty() ? 0 : &in[0], in.size(), settings); +} +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_ZLIB + + +#ifdef LODEPNG_COMPILE_PNG + +State::State() +{ + lodepng_state_init(this); +} + +State::State(const State& other) +{ + lodepng_state_init(this); + lodepng_state_copy(this, &other); +} + +State::~State() +{ + lodepng_state_cleanup(this); +} + +State& State::operator=(const State& other) +{ + lodepng_state_copy(this, &other); + return *this; +} + +#ifdef LODEPNG_COMPILE_DECODER + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, const unsigned char* in, + size_t insize, LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + unsigned error = lodepng_decode_memory(&buffer, &w, &h, in, insize, colortype, bitdepth); + if(buffer && !error) + { + State state; + state.info_raw.colortype = colortype; + state.info_raw.bitdepth = bitdepth; + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::vector& in, LodePNGColorType colortype, unsigned bitdepth) +{ + return decode(out, w, h, in.empty() ? 0 : &in[0], (unsigned)in.size(), colortype, bitdepth); +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize) +{ + unsigned char* buffer = NULL; + unsigned error = lodepng_decode(&buffer, &w, &h, &state, in, insize); + if(buffer && !error) + { + size_t buffersize = lodepng_get_raw_size(w, h, &state.info_raw); + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + } + lodepng_free(buffer); + return error; +} + +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const std::vector& in) +{ + return decode(out, w, h, state, in.empty() ? 0 : &in[0], in.size()); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned decode(std::vector& out, unsigned& w, unsigned& h, const std::string& filename, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector buffer; + load_file(buffer, filename); + return decode(out, w, h, buffer, colortype, bitdepth); +} +#endif //LODEPNG_COMPILE_DECODER +#endif //LODEPNG_COMPILE_DISK + +#ifdef LODEPNG_COMPILE_ENCODER +unsigned encode(std::vector& out, const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode_memory(&buffer, &buffersize, in, w, h, colortype, bitdepth); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} + +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + State& state) +{ + unsigned char* buffer; + size_t buffersize; + unsigned error = lodepng_encode(&buffer, &buffersize, in, w, h, &state); + if(buffer) + { + out.insert(out.end(), &buffer[0], &buffer[buffersize]); + lodepng_free(buffer); + } + return error; +} + +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + State& state) +{ + if(lodepng_get_raw_size(w, h, &state.info_raw) > in.size()) return 84; + return encode(out, in.empty() ? 0 : &in[0], w, h, state); +} + +#ifdef LODEPNG_COMPILE_DISK +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + std::vector buffer; + unsigned error = encode(buffer, in, w, h, colortype, bitdepth); + if(!error) save_file(buffer, filename); + return error; +} + +unsigned encode(const std::string& filename, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth) +{ + if(lodepng_get_raw_size_lct(w, h, colortype, bitdepth) > in.size()) return 84; + return encode(filename, in.empty() ? 0 : &in[0], w, h, colortype, bitdepth); +} +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_PNG +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.h b/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.h new file mode 100644 index 000000000..ef2c82067 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/lodepng.h @@ -0,0 +1,1702 @@ +/* +LodePNG version 20140823 + +Copyright (c) 2005-2014 Lode Vandevenne + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. +*/ + +#ifndef LODEPNG_H +#define LODEPNG_H + +#include /*for size_t*/ + +#ifdef __cplusplus +#include +#include +#endif /*__cplusplus*/ + +/* +The following #defines are used to create code sections. They can be disabled +to disable code sections, which can give faster compile time and smaller binary. +The "NO_COMPILE" defines are designed to be used to pass as defines to the +compiler command to disable them without modifying this header, e.g. +-DLODEPNG_NO_COMPILE_ZLIB for gcc. +*/ +/*deflate & zlib. If disabled, you must specify alternative zlib functions in +the custom_zlib field of the compress and decompress settings*/ +#ifndef LODEPNG_NO_COMPILE_ZLIB +#define LODEPNG_COMPILE_ZLIB +#endif +/*png encoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_PNG +#define LODEPNG_COMPILE_PNG +#endif +/*deflate&zlib decoder and png decoder*/ +#ifndef LODEPNG_NO_COMPILE_DECODER +#define LODEPNG_COMPILE_DECODER +#endif +/*deflate&zlib encoder and png encoder*/ +#ifndef LODEPNG_NO_COMPILE_ENCODER +#define LODEPNG_COMPILE_ENCODER +#endif +/*the optional built in harddisk file loading and saving functions*/ +#ifndef LODEPNG_NO_COMPILE_DISK +#define LODEPNG_COMPILE_DISK +#endif +/*support for chunks other than IHDR, IDAT, PLTE, tRNS, IEND: ancillary and unknown chunks*/ +#ifndef LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS +#define LODEPNG_COMPILE_ANCILLARY_CHUNKS +#endif +/*ability to convert error numerical codes to English text string*/ +#ifndef LODEPNG_NO_COMPILE_ERROR_TEXT +#define LODEPNG_COMPILE_ERROR_TEXT +#endif +/*Compile the default allocators (C's free, malloc and realloc). If you disable this, +you can define the functions lodepng_free, lodepng_malloc and lodepng_realloc in your +source files with custom allocators.*/ +#ifndef LODEPNG_NO_COMPILE_ALLOCATORS +#define LODEPNG_COMPILE_ALLOCATORS +#endif +/*compile the C++ version (you can disable the C++ wrapper here even when compiling for C++)*/ +#ifdef __cplusplus +#ifndef LODEPNG_NO_COMPILE_CPP +#define LODEPNG_COMPILE_CPP +#endif +#endif + +#ifdef LODEPNG_COMPILE_PNG +/*The PNG color types (also used for raw).*/ +typedef enum LodePNGColorType +{ + LCT_GREY = 0, /*greyscale: 1,2,4,8,16 bit*/ + LCT_RGB = 2, /*RGB: 8,16 bit*/ + LCT_PALETTE = 3, /*palette: 1,2,4,8 bit*/ + LCT_GREY_ALPHA = 4, /*greyscale with alpha: 8,16 bit*/ + LCT_RGBA = 6 /*RGB with alpha: 8,16 bit*/ +} LodePNGColorType; + +#ifdef LODEPNG_COMPILE_DECODER +/* +Converts PNG data in memory to raw pixel data. +out: Output parameter. Pointer to buffer that will contain the raw pixel data. + After decoding, its size is w * h * (bytes per pixel) bytes larger than + initially. Bytes per pixel depends on colortype and bitdepth. + Must be freed after usage with free(*out). + Note: for 16-bit per channel colors, uses big endian format like PNG does. +w: Output parameter. Pointer to width of pixel data. +h: Output parameter. Pointer to height of pixel data. +in: Memory buffer with the PNG file. +insize: size of the in buffer. +colortype: the desired color type for the raw output image. See explanation on PNG color types. +bitdepth: the desired bit depth for the raw output image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_memory, but always decodes to 32-bit RGBA raw image*/ +unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +/*Same as lodepng_decode_memory, but always decodes to 24-bit RGB raw image*/ +unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h, + const unsigned char* in, size_t insize); + +#ifdef LODEPNG_COMPILE_DISK +/* +Load PNG from disk, from file with given name. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/ +unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); + +/*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/ +unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h, + const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Converts raw pixel data into a PNG image in memory. The colortype and bitdepth + of the output PNG image cannot be chosen, they are automatically determined + by the colortype, bitdepth and content of the input pixel data. + Note: for 16-bit per channel colors, needs big endian format like PNG does. +out: Output parameter. Pointer to buffer that will contain the PNG image data. + Must be freed after usage with free(*out). +outsize: Output parameter. Pointer to the size in bytes of the out buffer. +image: The raw pixel data to encode. The size of this buffer should be + w * h * (bytes per pixel), bytes per pixel depends on colortype and bitdepth. +w: width of the raw pixel data in pixels. +h: height of the raw pixel data in pixels. +colortype: the color type of the raw input image. See explanation on PNG color types. +bitdepth: the bit depth of the raw input image. See explanation on PNG color types. +Return value: LodePNG error code (0 means no error). +*/ +unsigned lodepng_encode_memory(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_memory, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_memory, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DISK +/* +Converts raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned lodepng_encode_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h, + LodePNGColorType colortype, unsigned bitdepth); + +/*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/ +unsigned lodepng_encode32_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); + +/*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/ +unsigned lodepng_encode24_file(const char* filename, + const unsigned char* image, unsigned w, unsigned h); +#endif /*LODEPNG_COMPILE_DISK*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#ifdef LODEPNG_COMPILE_CPP +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_DECODER +/*Same as lodepng_decode_memory, but decodes to an std::vector. The colortype +is the format to output the pixels to. Default is RGBA 8-bit per channel.*/ +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const unsigned char* in, size_t insize, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::vector& in, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts PNG file from disk to raw pixel data in memory. +Same as the other decode functions, but instead takes a filename as input. +*/ +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + const std::string& filename, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +/*Same as lodepng_encode_memory, but encodes to an std::vector. colortype +is that of the raw input data. The output PNG color type will be auto chosen.*/ +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#ifdef LODEPNG_COMPILE_DISK +/* +Converts 32-bit RGBA raw pixel data into a PNG file on disk. +Same as the other encode functions, but instead takes a filename as output. +NOTE: This overwrites existing files without warning! +*/ +unsigned encode(const std::string& filename, + const unsigned char* in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +unsigned encode(const std::string& filename, + const std::vector& in, unsigned w, unsigned h, + LodePNGColorType colortype = LCT_RGBA, unsigned bitdepth = 8); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_ENCODER +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ +#endif /*LODEPNG_COMPILE_PNG*/ + +#ifdef LODEPNG_COMPILE_ERROR_TEXT +/*Returns an English description of the numerical error code.*/ +const char* lodepng_error_text(unsigned code); +#endif /*LODEPNG_COMPILE_ERROR_TEXT*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Settings for zlib decompression*/ +typedef struct LodePNGDecompressSettings LodePNGDecompressSettings; +struct LodePNGDecompressSettings +{ + unsigned ignore_adler32; /*if 1, continue and don't give an error message if the Adler32 checksum is corrupted*/ + + /*use custom zlib decoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + /*use custom deflate decoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_inflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGDecompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGDecompressSettings lodepng_default_decompress_settings; +void lodepng_decompress_settings_init(LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Settings for zlib compression. Tweaking these settings tweaks the balance +between speed and compression ratio. +*/ +typedef struct LodePNGCompressSettings LodePNGCompressSettings; +struct LodePNGCompressSettings /*deflate = compress*/ +{ + /*LZ77 related settings*/ + unsigned btype; /*the block type for LZ (0, 1, 2 or 3, see zlib standard). Should be 2 for proper compression.*/ + unsigned use_lz77; /*whether or not to use LZ77. Should be 1 for proper compression.*/ + unsigned windowsize; /*must be a power of two <= 32768. higher compresses more but is slower. Default value: 2048.*/ + unsigned minmatch; /*mininum lz77 length. 3 is normally best, 6 can be better for some PNGs. Default: 0*/ + unsigned nicematch; /*stop searching if >= this length found. Set to 258 for best compression. Default: 128*/ + unsigned lazymatching; /*use lazy matching: better compression but a bit slower. Default: true*/ + + /*use custom zlib encoder instead of built in one (default: null)*/ + unsigned (*custom_zlib)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + /*use custom deflate encoder instead of built in one (default: null) + if custom_zlib is used, custom_deflate is ignored since only the built in + zlib function will call custom_deflate*/ + unsigned (*custom_deflate)(unsigned char**, size_t*, + const unsigned char*, size_t, + const LodePNGCompressSettings*); + + const void* custom_context; /*optional custom settings for custom functions*/ +}; + +extern const LodePNGCompressSettings lodepng_default_compress_settings; +void lodepng_compress_settings_init(LodePNGCompressSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_PNG +/* +Color mode of an image. Contains all information required to decode the pixel +bits to RGBA colors. This information is the same as used in the PNG file +format, and is used both for PNG and raw image data in LodePNG. +*/ +typedef struct LodePNGColorMode +{ + /*header (IHDR)*/ + LodePNGColorType colortype; /*color type, see PNG standard or documentation further in this header file*/ + unsigned bitdepth; /*bits per sample, see PNG standard or documentation further in this header file*/ + + /* + palette (PLTE and tRNS) + + Dynamically allocated with the colors of the palette, including alpha. + When encoding a PNG, to store your colors in the palette of the LodePNGColorMode, first use + lodepng_palette_clear, then for each color use lodepng_palette_add. + If you encode an image without alpha with palette, don't forget to put value 255 in each A byte of the palette. + + When decoding, by default you can ignore this palette, since LodePNG already + fills the palette colors in the pixels of the raw RGBA output. + + The palette is only supported for color type 3. + */ + unsigned char* palette; /*palette in RGBARGBA... order. When allocated, must be either 0, or have size 1024*/ + size_t palettesize; /*palette size in number of colors (amount of bytes is 4 * palettesize)*/ + + /* + transparent color key (tRNS) + + This color uses the same bit depth as the bitdepth value in this struct, which can be 1-bit to 16-bit. + For greyscale PNGs, r, g and b will all 3 be set to the same. + + When decoding, by default you can ignore this information, since LodePNG sets + pixels with this key to transparent already in the raw RGBA output. + + The color key is only supported for color types 0 and 2. + */ + unsigned key_defined; /*is a transparent color key given? 0 = false, 1 = true*/ + unsigned key_r; /*red/greyscale component of color key*/ + unsigned key_g; /*green component of color key*/ + unsigned key_b; /*blue component of color key*/ +} LodePNGColorMode; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_color_mode_init(LodePNGColorMode* info); +void lodepng_color_mode_cleanup(LodePNGColorMode* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_color_mode_copy(LodePNGColorMode* dest, const LodePNGColorMode* source); + +void lodepng_palette_clear(LodePNGColorMode* info); +/*add 1 color to the palette*/ +unsigned lodepng_palette_add(LodePNGColorMode* info, + unsigned char r, unsigned char g, unsigned char b, unsigned char a); + +/*get the total amount of bits per pixel, based on colortype and bitdepth in the struct*/ +unsigned lodepng_get_bpp(const LodePNGColorMode* info); +/*get the amount of color channels used, based on colortype in the struct. +If a palette is used, it counts as 1 channel.*/ +unsigned lodepng_get_channels(const LodePNGColorMode* info); +/*is it a greyscale type? (only colortype 0 or 4)*/ +unsigned lodepng_is_greyscale_type(const LodePNGColorMode* info); +/*has it got an alpha channel? (only colortype 2 or 6)*/ +unsigned lodepng_is_alpha_type(const LodePNGColorMode* info); +/*has it got a palette? (only colortype 3)*/ +unsigned lodepng_is_palette_type(const LodePNGColorMode* info); +/*only returns true if there is a palette and there is a value in the palette with alpha < 255. +Loops through the palette to check this.*/ +unsigned lodepng_has_palette_alpha(const LodePNGColorMode* info); +/* +Check if the given color info indicates the possibility of having non-opaque pixels in the PNG image. +Returns true if the image can have translucent or invisible pixels (it still be opaque if it doesn't use such pixels). +Returns false if the image can only have opaque pixels. +In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque values, +or if "key_defined" is true. +*/ +unsigned lodepng_can_have_alpha(const LodePNGColorMode* info); +/*Returns the byte size of a raw image buffer with given width, height and color mode*/ +size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +/*The information of a Time chunk in PNG.*/ +typedef struct LodePNGTime +{ + unsigned year; /*2 bytes used (0-65535)*/ + unsigned month; /*1-12*/ + unsigned day; /*1-31*/ + unsigned hour; /*0-23*/ + unsigned minute; /*0-59*/ + unsigned second; /*0-60 (to allow for leap seconds)*/ +} LodePNGTime; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/*Information about the PNG image, except pixels, width and height.*/ +typedef struct LodePNGInfo +{ + /*header (IHDR), palette (PLTE) and transparency (tRNS) chunks*/ + unsigned compression_method;/*compression method of the original file. Always 0.*/ + unsigned filter_method; /*filter method of the original file*/ + unsigned interlace_method; /*interlace method of the original file*/ + LodePNGColorMode color; /*color type and bits, palette and transparency of the PNG file*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /* + suggested background color chunk (bKGD) + This color uses the same color mode as the PNG (except alpha channel), which can be 1-bit to 16-bit. + + For greyscale PNGs, r, g and b will all 3 be set to the same. When encoding + the encoder writes the red one. For palette PNGs: When decoding, the RGB value + will be stored, not a palette index. But when encoding, specify the index of + the palette in background_r, the other two are then ignored. + + The decoder does not use this background color to edit the color of pixels. + */ + unsigned background_defined; /*is a suggested background color given?*/ + unsigned background_r; /*red component of suggested background color*/ + unsigned background_g; /*green component of suggested background color*/ + unsigned background_b; /*blue component of suggested background color*/ + + /* + non-international text chunks (tEXt and zTXt) + + The char** arrays each contain num strings. The actual messages are in + text_strings, while text_keys are keywords that give a short description what + the actual text represents, e.g. Title, Author, Description, or anything else. + + A keyword is minimum 1 character and maximum 79 characters long. It's + discouraged to use a single line length longer than 79 characters for texts. + + Don't allocate these text buffers yourself. Use the init/cleanup functions + correctly and use lodepng_add_text and lodepng_clear_text. + */ + size_t text_num; /*the amount of texts in these char** buffers (there may be more texts in itext)*/ + char** text_keys; /*the keyword of a text chunk (e.g. "Comment")*/ + char** text_strings; /*the actual text*/ + + /* + international text chunks (iTXt) + Similar to the non-international text chunks, but with additional strings + "langtags" and "transkeys". + */ + size_t itext_num; /*the amount of international texts in this PNG*/ + char** itext_keys; /*the English keyword of the text chunk (e.g. "Comment")*/ + char** itext_langtags; /*language tag for this text's language, ISO/IEC 646 string, e.g. ISO 639 language tag*/ + char** itext_transkeys; /*keyword translated to the international language - UTF-8 string*/ + char** itext_strings; /*the actual international text - UTF-8 string*/ + + /*time chunk (tIME)*/ + unsigned time_defined; /*set to 1 to make the encoder generate a tIME chunk*/ + LodePNGTime time; + + /*phys chunk (pHYs)*/ + unsigned phys_defined; /*if 0, there is no pHYs chunk and the values below are undefined, if 1 else there is one*/ + unsigned phys_x; /*pixels per unit in x direction*/ + unsigned phys_y; /*pixels per unit in y direction*/ + unsigned phys_unit; /*may be 0 (unknown unit) or 1 (metre)*/ + + /* + unknown chunks + There are 3 buffers, one for each position in the PNG where unknown chunks can appear + each buffer contains all unknown chunks for that position consecutively + The 3 buffers are the unknown chunks between certain critical chunks: + 0: IHDR-PLTE, 1: PLTE-IDAT, 2: IDAT-IEND + Do not allocate or traverse this data yourself. Use the chunk traversing functions declared + later, such as lodepng_chunk_next and lodepng_chunk_append, to read/write this struct. + */ + unsigned char* unknown_chunks_data[3]; + size_t unknown_chunks_size[3]; /*size in bytes of the unknown chunks, given for protection*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGInfo; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_info_init(LodePNGInfo* info); +void lodepng_info_cleanup(LodePNGInfo* info); +/*return value is error code (0 means no error)*/ +unsigned lodepng_info_copy(LodePNGInfo* dest, const LodePNGInfo* source); + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS +void lodepng_clear_text(LodePNGInfo* info); /*use this to clear the texts again after you filled them in*/ +unsigned lodepng_add_text(LodePNGInfo* info, const char* key, const char* str); /*push back both texts at once*/ + +void lodepng_clear_itext(LodePNGInfo* info); /*use this to clear the itexts again after you filled them in*/ +unsigned lodepng_add_itext(LodePNGInfo* info, const char* key, const char* langtag, + const char* transkey, const char* str); /*push back the 4 texts of 1 chunk at once*/ +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ + +/* +Converts raw buffer from one color type to another color type, based on +LodePNGColorMode structs to describe the input and output color type. +See the reference manual at the end of this header file to see which color conversions are supported. +return value = LodePNG error code (0 if all went ok, an error if the conversion isn't supported) +The out buffer must have size (w * h * bpp + 7) / 8, where bpp is the bits per pixel +of the output color type (lodepng_get_bpp). +For < 8 bpp images, there should not be padding bits at the end of scanlines. +For 16-bit per channel colors, uses big endian format like PNG does. +Return value is LodePNG error code +*/ +unsigned lodepng_convert(unsigned char* out, const unsigned char* in, + LodePNGColorMode* mode_out, const LodePNGColorMode* mode_in, + unsigned w, unsigned h); + +#ifdef LODEPNG_COMPILE_DECODER +/* +Settings for the decoder. This contains settings for the PNG and the Zlib +decoder, but not the Info settings from the Info structs. +*/ +typedef struct LodePNGDecoderSettings +{ + LodePNGDecompressSettings zlibsettings; /*in here is the setting to ignore Adler32 checksums*/ + + unsigned ignore_crc; /*ignore CRC checksums*/ + + unsigned color_convert; /*whether to convert the PNG to the color type you want. Default: yes*/ + +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + unsigned read_text_chunks; /*if false but remember_unknown_chunks is true, they're stored in the unknown chunks*/ + /*store all bytes from unknown chunks in the LodePNGInfo (off by default, useful for a png editor)*/ + unsigned remember_unknown_chunks; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGDecoderSettings; + +void lodepng_decoder_settings_init(LodePNGDecoderSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/*automatically use color type with less bits per pixel if losslessly possible. Default: AUTO*/ +typedef enum LodePNGFilterStrategy +{ + /*every filter at zero*/ + LFS_ZERO, + /*Use filter that gives minumum sum, as described in the official PNG filter heuristic.*/ + LFS_MINSUM, + /*Use the filter type that gives smallest Shannon entropy for this scanline. Depending + on the image, this is better or worse than minsum.*/ + LFS_ENTROPY, + /* + Brute-force-search PNG filters by compressing each filter for each scanline. + Experimental, very slow, and only rarely gives better compression than MINSUM. + */ + LFS_BRUTE_FORCE, + /*use predefined_filters buffer: you specify the filter type for each scanline*/ + LFS_PREDEFINED +} LodePNGFilterStrategy; + +/*Gives characteristics about the colors of the image, which helps decide which color model to use for encoding. +Used internally by default if "auto_convert" is enabled. Public because it's useful for custom algorithms.*/ +typedef struct LodePNGColorProfile +{ + unsigned colored; /*not greyscale*/ + unsigned key; /*if true, image is not opaque. Only if true and alpha is false, color key is possible.*/ + unsigned short key_r; /*these values are always in 16-bit bitdepth in the profile*/ + unsigned short key_g; + unsigned short key_b; + unsigned alpha; /*alpha channel or alpha palette required*/ + unsigned numcolors; /*amount of colors, up to 257. Not valid if bits == 16.*/ + unsigned char palette[1024]; /*Remembers up to the first 256 RGBA colors, in no particular order*/ + unsigned bits; /*bits per channel (not for palette). 1,2 or 4 for greyscale only. 16 if 16-bit per channel required.*/ +} LodePNGColorProfile; + +void lodepng_color_profile_init(LodePNGColorProfile* profile); + +/*Get a LodePNGColorProfile of the image.*/ +unsigned get_color_profile(LodePNGColorProfile* profile, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); +/*The function LodePNG uses internally to decide the PNG color with auto_convert. +Chooses an optimal color model, e.g. grey if only grey pixels, palette if < 256 colors, ...*/ +unsigned lodepng_auto_choose_color(LodePNGColorMode* mode_out, + const unsigned char* image, unsigned w, unsigned h, + const LodePNGColorMode* mode_in); + +/*Settings for the encoder.*/ +typedef struct LodePNGEncoderSettings +{ + LodePNGCompressSettings zlibsettings; /*settings for the zlib encoder, such as window size, ...*/ + + unsigned auto_convert; /*automatically choose output PNG color type. Default: true*/ + + /*If true, follows the official PNG heuristic: if the PNG uses a palette or lower than + 8 bit depth, set all filters to zero. Otherwise use the filter_strategy. Note that to + completely follow the official PNG heuristic, filter_palette_zero must be true and + filter_strategy must be LFS_MINSUM*/ + unsigned filter_palette_zero; + /*Which filter strategy to use when not using zeroes due to filter_palette_zero. + Set filter_palette_zero to 0 to ensure always using your chosen strategy. Default: LFS_MINSUM*/ + LodePNGFilterStrategy filter_strategy; + /*used if filter_strategy is LFS_PREDEFINED. In that case, this must point to a buffer with + the same length as the amount of scanlines in the image, and each value must <= 5. You + have to cleanup this buffer, LodePNG will never free it. Don't forget that filter_palette_zero + must be set to 0 to ensure this is also used on palette or low bitdepth images.*/ + const unsigned char* predefined_filters; + + /*force creating a PLTE chunk if colortype is 2 or 6 (= a suggested palette). + If colortype is 3, PLTE is _always_ created.*/ + unsigned force_palette; +#ifdef LODEPNG_COMPILE_ANCILLARY_CHUNKS + /*add LodePNG identifier and version as a text chunk, for debugging*/ + unsigned add_id; + /*encode text chunks as zTXt chunks instead of tEXt chunks, and use compression in iTXt chunks*/ + unsigned text_compression; +#endif /*LODEPNG_COMPILE_ANCILLARY_CHUNKS*/ +} LodePNGEncoderSettings; + +void lodepng_encoder_settings_init(LodePNGEncoderSettings* settings); +#endif /*LODEPNG_COMPILE_ENCODER*/ + + +#if defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) +/*The settings, state and information for extended encoding and decoding.*/ +typedef struct LodePNGState +{ +#ifdef LODEPNG_COMPILE_DECODER + LodePNGDecoderSettings decoder; /*the decoding settings*/ +#endif /*LODEPNG_COMPILE_DECODER*/ +#ifdef LODEPNG_COMPILE_ENCODER + LodePNGEncoderSettings encoder; /*the encoding settings*/ +#endif /*LODEPNG_COMPILE_ENCODER*/ + LodePNGColorMode info_raw; /*specifies the format in which you would like to get the raw pixel buffer*/ + LodePNGInfo info_png; /*info of the PNG image obtained after decoding*/ + unsigned error; +#ifdef LODEPNG_COMPILE_CPP + //For the lodepng::State subclass. + virtual ~LodePNGState(){} +#endif +} LodePNGState; + +/*init, cleanup and copy functions to use with this struct*/ +void lodepng_state_init(LodePNGState* state); +void lodepng_state_cleanup(LodePNGState* state); +void lodepng_state_copy(LodePNGState* dest, const LodePNGState* source); +#endif /* defined(LODEPNG_COMPILE_DECODER) || defined(LODEPNG_COMPILE_ENCODER) */ + +#ifdef LODEPNG_COMPILE_DECODER +/* +Same as lodepng_decode_memory, but uses a LodePNGState to allow custom settings and +getting much more information about the PNG image and color mode. +*/ +unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); + +/* +Read the PNG header, but not the actual data. This returns only the information +that is in the header chunk of the PNG, such as width, height and color type. The +information is placed in the info_png field of the LodePNGState. +*/ +unsigned lodepng_inspect(unsigned* w, unsigned* h, + LodePNGState* state, + const unsigned char* in, size_t insize); +#endif /*LODEPNG_COMPILE_DECODER*/ + + +#ifdef LODEPNG_COMPILE_ENCODER +/*This function allocates the out buffer with standard malloc and stores the size in *outsize.*/ +unsigned lodepng_encode(unsigned char** out, size_t* outsize, + const unsigned char* image, unsigned w, unsigned h, + LodePNGState* state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +/* +The lodepng_chunk functions are normally not needed, except to traverse the +unknown chunks stored in the LodePNGInfo struct, or add new ones to it. +It also allows traversing the chunks of an encoded PNG file yourself. + +PNG standard chunk naming conventions: +First byte: uppercase = critical, lowercase = ancillary +Second byte: uppercase = public, lowercase = private +Third byte: must be uppercase +Fourth byte: uppercase = unsafe to copy, lowercase = safe to copy +*/ + +/*get the length of the data of the chunk. Total chunk length has 12 bytes more.*/ +unsigned lodepng_chunk_length(const unsigned char* chunk); + +/*puts the 4-byte type in null terminated string*/ +void lodepng_chunk_type(char type[5], const unsigned char* chunk); + +/*check if the type is the given type*/ +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type); + +/*0: it's one of the critical chunk types, 1: it's an ancillary chunk (see PNG standard)*/ +unsigned char lodepng_chunk_ancillary(const unsigned char* chunk); + +/*0: public, 1: private (see PNG standard)*/ +unsigned char lodepng_chunk_private(const unsigned char* chunk); + +/*0: the chunk is unsafe to copy, 1: the chunk is safe to copy (see PNG standard)*/ +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk); + +/*get pointer to the data of the chunk, where the input points to the header of the chunk*/ +unsigned char* lodepng_chunk_data(unsigned char* chunk); +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk); + +/*returns 0 if the crc is correct, 1 if it's incorrect (0 for OK as usual!)*/ +unsigned lodepng_chunk_check_crc(const unsigned char* chunk); + +/*generates the correct CRC from the data and puts it in the last 4 bytes of the chunk*/ +void lodepng_chunk_generate_crc(unsigned char* chunk); + +/*iterate to next chunks. don't use on IEND chunk, as there is no next chunk then*/ +unsigned char* lodepng_chunk_next(unsigned char* chunk); +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk); + +/* +Appends chunk to the data in out. The given chunk should already have its chunk header. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returns error code (0 if it went ok) +*/ +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk); + +/* +Appends new chunk to out. The chunk to append is given by giving its length, type +and data separately. The type is a 4-letter string. +The out variable and outlength are updated to reflect the new reallocated buffer. +Returne error code (0 if it went ok) +*/ +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data); + + +/*Calculate CRC32 of buffer*/ +unsigned lodepng_crc32(const unsigned char* buf, size_t len); +#endif /*LODEPNG_COMPILE_PNG*/ + + +#ifdef LODEPNG_COMPILE_ZLIB +/* +This zlib part can be used independently to zlib compress and decompress a +buffer. It cannot be used to create gzip files however, and it only supports the +part of zlib that is required for PNG, it does not support dictionaries. +*/ + +#ifdef LODEPNG_COMPILE_DECODER +/*Inflate a buffer. Inflate is the decompression step of deflate. Out buffer must be freed after use.*/ +unsigned lodepng_inflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); + +/* +Decompresses Zlib data. Reallocates the out buffer and appends the data. The +data must be according to the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_decompress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGDecompressSettings* settings); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +/* +Compresses data with Zlib. Reallocates the out buffer and appends the data. +Zlib adds a small header and trailer around the deflate data. +The data is output in the format of the zlib specification. +Either, *out must be NULL and *outsize must be 0, or, *out must be a valid +buffer and *outsize its size in bytes. out must be freed by user after usage. +*/ +unsigned lodepng_zlib_compress(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +/* +Find length-limited Huffman code for given frequencies. This function is in the +public interface only for tests, it's used internally by lodepng_deflate. +*/ +unsigned lodepng_huffman_code_lengths(unsigned* lengths, const unsigned* frequencies, + size_t numcodes, unsigned maxbitlen); + +/*Compress a buffer with deflate. See RFC 1951. Out buffer must be freed after use.*/ +unsigned lodepng_deflate(unsigned char** out, size_t* outsize, + const unsigned char* in, size_t insize, + const LodePNGCompressSettings* settings); + +#endif /*LODEPNG_COMPILE_ENCODER*/ +#endif /*LODEPNG_COMPILE_ZLIB*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into buffer. The function allocates the out buffer, and +after usage you should free it. +out: output parameter, contains pointer to loaded buffer. +outsize: output parameter, size of the allocated out buffer +filename: the path to the file to load +return value: error code (0 means ok) +*/ +unsigned lodepng_load_file(unsigned char** out, size_t* outsize, const char* filename); + +/* +Save a file from buffer to disk. Warning, if it exists, this function overwrites +the file without warning! +buffer: the buffer to write +buffersize: size of the buffer to write +filename: the path to the file to save to +return value: error code (0 means ok) +*/ +unsigned lodepng_save_file(const unsigned char* buffer, size_t buffersize, const char* filename); +#endif /*LODEPNG_COMPILE_DISK*/ + +#ifdef LODEPNG_COMPILE_CPP +//The LodePNG C++ wrapper uses std::vectors instead of manually allocated memory buffers. +namespace lodepng +{ +#ifdef LODEPNG_COMPILE_PNG +class State : public LodePNGState +{ + public: + State(); + State(const State& other); + virtual ~State(); + State& operator=(const State& other); +}; + +#ifdef LODEPNG_COMPILE_DECODER +//Same as other lodepng::decode, but using a State for more settings and information. +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const unsigned char* in, size_t insize); +unsigned decode(std::vector& out, unsigned& w, unsigned& h, + State& state, + const std::vector& in); +#endif /*LODEPNG_COMPILE_DECODER*/ + +#ifdef LODEPNG_COMPILE_ENCODER +//Same as other lodepng::encode, but using a State for more settings and information. +unsigned encode(std::vector& out, + const unsigned char* in, unsigned w, unsigned h, + State& state); +unsigned encode(std::vector& out, + const std::vector& in, unsigned w, unsigned h, + State& state); +#endif /*LODEPNG_COMPILE_ENCODER*/ + +#ifdef LODEPNG_COMPILE_DISK +/* +Load a file from disk into an std::vector. If the vector is empty, then either +the file doesn't exist or is an empty file. +*/ +void load_file(std::vector& buffer, const std::string& filename); + +/* +Save the binary data in an std::vector to a file on disk. The file is overwritten +without warning. +*/ +void save_file(const std::vector& buffer, const std::string& filename); +#endif //LODEPNG_COMPILE_DISK +#endif //LODEPNG_COMPILE_PNG + +#ifdef LODEPNG_COMPILE_ZLIB +#ifdef LODEPNG_COMPILE_DECODER +//Zlib-decompress an unsigned char buffer +unsigned decompress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); + +//Zlib-decompress an std::vector +unsigned decompress(std::vector& out, const std::vector& in, + const LodePNGDecompressSettings& settings = lodepng_default_decompress_settings); +#endif //LODEPNG_COMPILE_DECODER + +#ifdef LODEPNG_COMPILE_ENCODER +//Zlib-compress an unsigned char buffer +unsigned compress(std::vector& out, const unsigned char* in, size_t insize, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); + +//Zlib-compress an std::vector +unsigned compress(std::vector& out, const std::vector& in, + const LodePNGCompressSettings& settings = lodepng_default_compress_settings); +#endif //LODEPNG_COMPILE_ENCODER +#endif //LODEPNG_COMPILE_ZLIB +} //namespace lodepng +#endif /*LODEPNG_COMPILE_CPP*/ + +/* +TODO: +[.] test if there are no memory leaks or security exploits - done a lot but needs to be checked often +[.] check compatibility with vareous compilers - done but needs to be redone for every newer version +[X] converting color to 16-bit per channel types +[ ] read all public PNG chunk types (but never let the color profile and gamma ones touch RGB values) +[ ] make sure encoder generates no chunks with size > (2^31)-1 +[ ] partial decoding (stream processing) +[X] let the "isFullyOpaque" function check color keys and transparent palettes too +[X] better name for the variables "codes", "codesD", "codelengthcodes", "clcl" and "lldl" +[ ] don't stop decoding on errors like 69, 57, 58 (make warnings) +[ ] make option to choose if the raw image with non multiple of 8 bits per scanline should have padding bits or not +[ ] let the C++ wrapper catch exceptions coming from the standard library and return LodePNG error codes +*/ + +#endif /*LODEPNG_H inclusion guard*/ + +/* +LodePNG Documentation +--------------------- + +0. table of contents +-------------------- + + 1. about + 1.1. supported features + 1.2. features not supported + 2. C and C++ version + 3. security + 4. decoding + 5. encoding + 6. color conversions + 6.1. PNG color types + 6.2. color conversions + 6.3. padding bits + 6.4. A note about 16-bits per channel and endianness + 7. error values + 8. chunks and PNG editing + 9. compiler support + 10. examples + 10.1. decoder C++ example + 10.2. decoder C example + 11. changes + 12. contact information + + +1. about +-------- + +PNG is a file format to store raster images losslessly with good compression, +supporting different color types and alpha channel. + +LodePNG is a PNG codec according to the Portable Network Graphics (PNG) +Specification (Second Edition) - W3C Recommendation 10 November 2003. + +The specifications used are: + +*) Portable Network Graphics (PNG) Specification (Second Edition): + http://www.w3.org/TR/2003/REC-PNG-20031110 +*) RFC 1950 ZLIB Compressed Data Format version 3.3: + http://www.gzip.org/zlib/rfc-zlib.html +*) RFC 1951 DEFLATE Compressed Data Format Specification ver 1.3: + http://www.gzip.org/zlib/rfc-deflate.html + +The most recent version of LodePNG can currently be found at +http://lodev.org/lodepng/ + +LodePNG works both in C (ISO C90) and C++, with a C++ wrapper that adds +extra functionality. + +LodePNG exists out of two files: +-lodepng.h: the header file for both C and C++ +-lodepng.c(pp): give it the name lodepng.c or lodepng.cpp (or .cc) depending on your usage + +If you want to start using LodePNG right away without reading this doc, get the +examples from the LodePNG website to see how to use it in code, or check the +smaller examples in chapter 13 here. + +LodePNG is simple but only supports the basic requirements. To achieve +simplicity, the following design choices were made: There are no dependencies +on any external library. There are functions to decode and encode a PNG with +a single function call, and extended versions of these functions taking a +LodePNGState struct allowing to specify or get more information. By default +the colors of the raw image are always RGB or RGBA, no matter what color type +the PNG file uses. To read and write files, there are simple functions to +convert the files to/from buffers in memory. + +This all makes LodePNG suitable for loading textures in games, demos and small +programs, ... It's less suitable for full fledged image editors, loading PNGs +over network (it requires all the image data to be available before decoding can +begin), life-critical systems, ... + +1.1. supported features +----------------------- + +The following features are supported by the decoder: + +*) decoding of PNGs with any color type, bit depth and interlace mode, to a 24- or 32-bit color raw image, + or the same color type as the PNG +*) encoding of PNGs, from any raw image to 24- or 32-bit color, or the same color type as the raw image +*) Adam7 interlace and deinterlace for any color type +*) loading the image from harddisk or decoding it from a buffer from other sources than harddisk +*) support for alpha channels, including RGBA color model, translucent palettes and color keying +*) zlib decompression (inflate) +*) zlib compression (deflate) +*) CRC32 and ADLER32 checksums +*) handling of unknown chunks, allowing making a PNG editor that stores custom and unknown chunks. +*) the following chunks are supported (generated/interpreted) by both encoder and decoder: + IHDR: header information + PLTE: color palette + IDAT: pixel data + IEND: the final chunk + tRNS: transparency for palettized images + tEXt: textual information + zTXt: compressed textual information + iTXt: international textual information + bKGD: suggested background color + pHYs: physical dimensions + tIME: modification time + +1.2. features not supported +--------------------------- + +The following features are _not_ supported: + +*) some features needed to make a conformant PNG-Editor might be still missing. +*) partial loading/stream processing. All data must be available and is processed in one call. +*) The following public chunks are not supported but treated as unknown chunks by LodePNG + cHRM, gAMA, iCCP, sRGB, sBIT, hIST, sPLT + Some of these are not supported on purpose: LodePNG wants to provide the RGB values + stored in the pixels, not values modified by system dependent gamma or color models. + + +2. C and C++ version +-------------------- + +The C version uses buffers allocated with alloc that you need to free() +yourself. You need to use init and cleanup functions for each struct whenever +using a struct from the C version to avoid exploits and memory leaks. + +The C++ version has extra functions with std::vectors in the interface and the +lodepng::State class which is a LodePNGState with constructor and destructor. + +These files work without modification for both C and C++ compilers because all +the additional C++ code is in "#ifdef __cplusplus" blocks that make C-compilers +ignore it, and the C code is made to compile both with strict ISO C90 and C++. + +To use the C++ version, you need to rename the source file to lodepng.cpp +(instead of lodepng.c), and compile it with a C++ compiler. + +To use the C version, you need to rename the source file to lodepng.c (instead +of lodepng.cpp), and compile it with a C compiler. + + +3. Security +----------- + +Even if carefully designed, it's always possible that LodePNG contains possible +exploits. If you discover one, please let me know, and it will be fixed. + +When using LodePNG, care has to be taken with the C version of LodePNG, as well +as the C-style structs when working with C++. The following conventions are used +for all C-style structs: + +-if a struct has a corresponding init function, always call the init function when making a new one +-if a struct has a corresponding cleanup function, call it before the struct disappears to avoid memory leaks +-if a struct has a corresponding copy function, use the copy function instead of "=". + The destination must also be inited already. + + +4. Decoding +----------- + +Decoding converts a PNG compressed image to a raw pixel buffer. + +Most documentation on using the decoder is at its declarations in the header +above. For C, simple decoding can be done with functions such as +lodepng_decode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_decode. For C++, all decoding can be done with the +various lodepng::decode functions, and lodepng::State can be used for advanced +features. + +When using the LodePNGState, it uses the following fields for decoding: +*) LodePNGInfo info_png: it stores extra information about the PNG (the input) in here +*) LodePNGColorMode info_raw: here you can say what color mode of the raw image (the output) you want to get +*) LodePNGDecoderSettings decoder: you can specify a few extra settings for the decoder to use + +LodePNGInfo info_png +-------------------- + +After decoding, this contains extra information of the PNG image, except the actual +pixels, width and height because these are already gotten directly from the decoder +functions. + +It contains for example the original color type of the PNG image, text comments, +suggested background color, etc... More details about the LodePNGInfo struct are +at its declaration documentation. + +LodePNGColorMode info_raw +------------------------- + +When decoding, here you can specify which color type you want +the resulting raw image to be. If this is different from the colortype of the +PNG, then the decoder will automatically convert the result. This conversion +always works, except if you want it to convert a color PNG to greyscale or to +a palette with missing colors. + +By default, 32-bit color is used for the result. + +LodePNGDecoderSettings decoder +------------------------------ + +The settings can be used to ignore the errors created by invalid CRC and Adler32 +chunks, and to disable the decoding of tEXt chunks. + +There's also a setting color_convert, true by default. If false, no conversion +is done, the resulting data will be as it was in the PNG (after decompression) +and you'll have to puzzle the colors of the pixels together yourself using the +color type information in the LodePNGInfo. + + +5. Encoding +----------- + +Encoding converts a raw pixel buffer to a PNG compressed image. + +Most documentation on using the encoder is at its declarations in the header +above. For C, simple encoding can be done with functions such as +lodepng_encode32, and more advanced decoding can be done with the struct +LodePNGState and lodepng_encode. For C++, all encoding can be done with the +various lodepng::encode functions, and lodepng::State can be used for advanced +features. + +Like the decoder, the encoder can also give errors. However it gives less errors +since the encoder input is trusted, the decoder input (a PNG image that could +be forged by anyone) is not trusted. + +When using the LodePNGState, it uses the following fields for encoding: +*) LodePNGInfo info_png: here you specify how you want the PNG (the output) to be. +*) LodePNGColorMode info_raw: here you say what color type of the raw image (the input) has +*) LodePNGEncoderSettings encoder: you can specify a few settings for the encoder to use + +LodePNGInfo info_png +-------------------- + +When encoding, you use this the opposite way as when decoding: for encoding, +you fill in the values you want the PNG to have before encoding. By default it's +not needed to specify a color type for the PNG since it's automatically chosen, +but it's possible to choose it yourself given the right settings. + +The encoder will not always exactly match the LodePNGInfo struct you give, +it tries as close as possible. Some things are ignored by the encoder. The +encoder uses, for example, the following settings from it when applicable: +colortype and bitdepth, text chunks, time chunk, the color key, the palette, the +background color, the interlace method, unknown chunks, ... + +When encoding to a PNG with colortype 3, the encoder will generate a PLTE chunk. +If the palette contains any colors for which the alpha channel is not 255 (so +there are translucent colors in the palette), it'll add a tRNS chunk. + +LodePNGColorMode info_raw +------------------------- + +You specify the color type of the raw image that you give to the input here, +including a possible transparent color key and palette you happen to be using in +your raw image data. + +By default, 32-bit color is assumed, meaning your input has to be in RGBA +format with 4 bytes (unsigned chars) per pixel. + +LodePNGEncoderSettings encoder +------------------------------ + +The following settings are supported (some are in sub-structs): +*) auto_convert: when this option is enabled, the encoder will +automatically choose the smallest possible color mode (including color key) that +can encode the colors of all pixels without information loss. +*) btype: the block type for LZ77. 0 = uncompressed, 1 = fixed huffman tree, + 2 = dynamic huffman tree (best compression). Should be 2 for proper + compression. +*) use_lz77: whether or not to use LZ77 for compressed block types. Should be + true for proper compression. +*) windowsize: the window size used by the LZ77 encoder (1 - 32768). Has value + 2048 by default, but can be set to 32768 for better, but slow, compression. +*) force_palette: if colortype is 2 or 6, you can make the encoder write a PLTE + chunk if force_palette is true. This can used as suggested palette to convert + to by viewers that don't support more than 256 colors (if those still exist) +*) add_id: add text chunk "Encoder: LodePNG " to the image. +*) text_compression: default 1. If 1, it'll store texts as zTXt instead of tEXt chunks. + zTXt chunks use zlib compression on the text. This gives a smaller result on + large texts but a larger result on small texts (such as a single program name). + It's all tEXt or all zTXt though, there's no separate setting per text yet. + + +6. color conversions +-------------------- + +An important thing to note about LodePNG, is that the color type of the PNG, and +the color type of the raw image, are completely independent. By default, when +you decode a PNG, you get the result as a raw image in the color type you want, +no matter whether the PNG was encoded with a palette, greyscale or RGBA color. +And if you encode an image, by default LodePNG will automatically choose the PNG +color type that gives good compression based on the values of colors and amount +of colors in the image. It can be configured to let you control it instead as +well, though. + +To be able to do this, LodePNG does conversions from one color mode to another. +It can convert from almost any color type to any other color type, except the +following conversions: RGB to greyscale is not supported, and converting to a +palette when the palette doesn't have a required color is not supported. This is +not supported on purpose: this is information loss which requires a color +reduction algorithm that is beyong the scope of a PNG encoder (yes, RGB to grey +is easy, but there are multiple ways if you want to give some channels more +weight). + +By default, when decoding, you get the raw image in 32-bit RGBA or 24-bit RGB +color, no matter what color type the PNG has. And by default when encoding, +LodePNG automatically picks the best color model for the output PNG, and expects +the input image to be 32-bit RGBA or 24-bit RGB. So, unless you want to control +the color format of the images yourself, you can skip this chapter. + +6.1. PNG color types +-------------------- + +A PNG image can have many color types, ranging from 1-bit color to 64-bit color, +as well as palettized color modes. After the zlib decompression and unfiltering +in the PNG image is done, the raw pixel data will have that color type and thus +a certain amount of bits per pixel. If you want the output raw image after +decoding to have another color type, a conversion is done by LodePNG. + +The PNG specification gives the following color types: + +0: greyscale, bit depths 1, 2, 4, 8, 16 +2: RGB, bit depths 8 and 16 +3: palette, bit depths 1, 2, 4 and 8 +4: greyscale with alpha, bit depths 8 and 16 +6: RGBA, bit depths 8 and 16 + +Bit depth is the amount of bits per pixel per color channel. So the total amount +of bits per pixel is: amount of channels * bitdepth. + +6.2. color conversions +---------------------- + +As explained in the sections about the encoder and decoder, you can specify +color types and bit depths in info_png and info_raw to change the default +behaviour. + +If, when decoding, you want the raw image to be something else than the default, +you need to set the color type and bit depth you want in the LodePNGColorMode, +or the parameters colortype and bitdepth of the simple decoding function. + +If, when encoding, you use another color type than the default in the raw input +image, you need to specify its color type and bit depth in the LodePNGColorMode +of the raw image, or use the parameters colortype and bitdepth of the simple +encoding function. + +If, when encoding, you don't want LodePNG to choose the output PNG color type +but control it yourself, you need to set auto_convert in the encoder settings +to false, and specify the color type you want in the LodePNGInfo of the +encoder (including palette: it can generate a palette if auto_convert is true, +otherwise not). + +If the input and output color type differ (whether user chosen or auto chosen), +LodePNG will do a color conversion, which follows the rules below, and may +sometimes result in an error. + +To avoid some confusion: +-the decoder converts from PNG to raw image +-the encoder converts from raw image to PNG +-the colortype and bitdepth in LodePNGColorMode info_raw, are those of the raw image +-the colortype and bitdepth in the color field of LodePNGInfo info_png, are those of the PNG +-when encoding, the color type in LodePNGInfo is ignored if auto_convert + is enabled, it is automatically generated instead +-when decoding, the color type in LodePNGInfo is set by the decoder to that of the original + PNG image, but it can be ignored since the raw image has the color type you requested instead +-if the color type of the LodePNGColorMode and PNG image aren't the same, a conversion + between the color types is done if the color types are supported. If it is not + supported, an error is returned. If the types are the same, no conversion is done. +-even though some conversions aren't supported, LodePNG supports loading PNGs from any + colortype and saving PNGs to any colortype, sometimes it just requires preparing + the raw image correctly before encoding. +-both encoder and decoder use the same color converter. + +Non supported color conversions: +-color to greyscale: no error is thrown, but the result will look ugly because +only the red channel is taken +-anything to palette when that palette does not have that color in it: in this +case an error is thrown + +Supported color conversions: +-anything to 8-bit RGB, 8-bit RGBA, 16-bit RGB, 16-bit RGBA +-any grey or grey+alpha, to grey or grey+alpha +-anything to a palette, as long as the palette has the requested colors in it +-removing alpha channel +-higher to smaller bitdepth, and vice versa + +If you want no color conversion to be done (e.g. for speed or control): +-In the encoder, you can make it save a PNG with any color type by giving the +raw color mode and LodePNGInfo the same color mode, and setting auto_convert to +false. +-In the decoder, you can make it store the pixel data in the same color type +as the PNG has, by setting the color_convert setting to false. Settings in +info_raw are then ignored. + +The function lodepng_convert does the color conversion. It is available in the +interface but normally isn't needed since the encoder and decoder already call +it. + +6.3. padding bits +----------------- + +In the PNG file format, if a less than 8-bit per pixel color type is used and the scanlines +have a bit amount that isn't a multiple of 8, then padding bits are used so that each +scanline starts at a fresh byte. But that is NOT true for the LodePNG raw input and output. +The raw input image you give to the encoder, and the raw output image you get from the decoder +will NOT have these padding bits, e.g. in the case of a 1-bit image with a width +of 7 pixels, the first pixel of the second scanline will the the 8th bit of the first byte, +not the first bit of a new byte. + +6.4. A note about 16-bits per channel and endianness +---------------------------------------------------- + +LodePNG uses unsigned char arrays for 16-bit per channel colors too, just like +for any other color format. The 16-bit values are stored in big endian (most +significant byte first) in these arrays. This is the opposite order of the +little endian used by x86 CPU's. + +LodePNG always uses big endian because the PNG file format does so internally. +Conversions to other formats than PNG uses internally are not supported by +LodePNG on purpose, there are myriads of formats, including endianness of 16-bit +colors, the order in which you store R, G, B and A, and so on. Supporting and +converting to/from all that is outside the scope of LodePNG. + +This may mean that, depending on your use case, you may want to convert the big +endian output of LodePNG to little endian with a for loop. This is certainly not +always needed, many applications and libraries support big endian 16-bit colors +anyway, but it means you cannot simply cast the unsigned char* buffer to an +unsigned short* buffer on x86 CPUs. + + +7. error values +--------------- + +All functions in LodePNG that return an error code, return 0 if everything went +OK, or a non-zero code if there was an error. + +The meaning of the LodePNG error values can be retrieved with the function +lodepng_error_text: given the numerical error code, it returns a description +of the error in English as a string. + +Check the implementation of lodepng_error_text to see the meaning of each code. + + +8. chunks and PNG editing +------------------------- + +If you want to add extra chunks to a PNG you encode, or use LodePNG for a PNG +editor that should follow the rules about handling of unknown chunks, or if your +program is able to read other types of chunks than the ones handled by LodePNG, +then that's possible with the chunk functions of LodePNG. + +A PNG chunk has the following layout: + +4 bytes length +4 bytes type name +length bytes data +4 bytes CRC + +8.1. iterating through chunks +----------------------------- + +If you have a buffer containing the PNG image data, then the first chunk (the +IHDR chunk) starts at byte number 8 of that buffer. The first 8 bytes are the +signature of the PNG and are not part of a chunk. But if you start at byte 8 +then you have a chunk, and can check the following things of it. + +NOTE: none of these functions check for memory buffer boundaries. To avoid +exploits, always make sure the buffer contains all the data of the chunks. +When using lodepng_chunk_next, make sure the returned value is within the +allocated memory. + +unsigned lodepng_chunk_length(const unsigned char* chunk): + +Get the length of the chunk's data. The total chunk length is this length + 12. + +void lodepng_chunk_type(char type[5], const unsigned char* chunk): +unsigned char lodepng_chunk_type_equals(const unsigned char* chunk, const char* type): + +Get the type of the chunk or compare if it's a certain type + +unsigned char lodepng_chunk_critical(const unsigned char* chunk): +unsigned char lodepng_chunk_private(const unsigned char* chunk): +unsigned char lodepng_chunk_safetocopy(const unsigned char* chunk): + +Check if the chunk is critical in the PNG standard (only IHDR, PLTE, IDAT and IEND are). +Check if the chunk is private (public chunks are part of the standard, private ones not). +Check if the chunk is safe to copy. If it's not, then, when modifying data in a critical +chunk, unsafe to copy chunks of the old image may NOT be saved in the new one if your +program doesn't handle that type of unknown chunk. + +unsigned char* lodepng_chunk_data(unsigned char* chunk): +const unsigned char* lodepng_chunk_data_const(const unsigned char* chunk): + +Get a pointer to the start of the data of the chunk. + +unsigned lodepng_chunk_check_crc(const unsigned char* chunk): +void lodepng_chunk_generate_crc(unsigned char* chunk): + +Check if the crc is correct or generate a correct one. + +unsigned char* lodepng_chunk_next(unsigned char* chunk): +const unsigned char* lodepng_chunk_next_const(const unsigned char* chunk): + +Iterate to the next chunk. This works if you have a buffer with consecutive chunks. Note that these +functions do no boundary checking of the allocated data whatsoever, so make sure there is enough +data available in the buffer to be able to go to the next chunk. + +unsigned lodepng_chunk_append(unsigned char** out, size_t* outlength, const unsigned char* chunk): +unsigned lodepng_chunk_create(unsigned char** out, size_t* outlength, unsigned length, + const char* type, const unsigned char* data): + +These functions are used to create new chunks that are appended to the data in *out that has +length *outlength. The append function appends an existing chunk to the new data. The create +function creates a new chunk with the given parameters and appends it. Type is the 4-letter +name of the chunk. + +8.2. chunks in info_png +----------------------- + +The LodePNGInfo struct contains fields with the unknown chunk in it. It has 3 +buffers (each with size) to contain 3 types of unknown chunks: +the ones that come before the PLTE chunk, the ones that come between the PLTE +and the IDAT chunks, and the ones that come after the IDAT chunks. +It's necessary to make the distionction between these 3 cases because the PNG +standard forces to keep the ordering of unknown chunks compared to the critical +chunks, but does not force any other ordering rules. + +info_png.unknown_chunks_data[0] is the chunks before PLTE +info_png.unknown_chunks_data[1] is the chunks after PLTE, before IDAT +info_png.unknown_chunks_data[2] is the chunks after IDAT + +The chunks in these 3 buffers can be iterated through and read by using the same +way described in the previous subchapter. + +When using the decoder to decode a PNG, you can make it store all unknown chunks +if you set the option settings.remember_unknown_chunks to 1. By default, this +option is off (0). + +The encoder will always encode unknown chunks that are stored in the info_png. +If you need it to add a particular chunk that isn't known by LodePNG, you can +use lodepng_chunk_append or lodepng_chunk_create to the chunk data in +info_png.unknown_chunks_data[x]. + +Chunks that are known by LodePNG should not be added in that way. E.g. to make +LodePNG add a bKGD chunk, set background_defined to true and add the correct +parameters there instead. + + +9. compiler support +------------------- + +No libraries other than the current standard C library are needed to compile +LodePNG. For the C++ version, only the standard C++ library is needed on top. +Add the files lodepng.c(pp) and lodepng.h to your project, include +lodepng.h where needed, and your program can read/write PNG files. + +It is compatible with C90 and up, and C++03 and up. + +If performance is important, use optimization when compiling! For both the +encoder and decoder, this makes a large difference. + +Make sure that LodePNG is compiled with the same compiler of the same version +and with the same settings as the rest of the program, or the interfaces with +std::vectors and std::strings in C++ can be incompatible. + +CHAR_BITS must be 8 or higher, because LodePNG uses unsigned chars for octets. + +*) gcc and g++ + +LodePNG is developed in gcc so this compiler is natively supported. It gives no +warnings with compiler options "-Wall -Wextra -pedantic -ansi", with gcc and g++ +version 4.7.1 on Linux, 32-bit and 64-bit. + +*) Clang + +Fully supported and warning-free. + +*) Mingw + +The Mingw compiler (a port of gcc for Windows) should be fully supported by +LodePNG. + +*) Visual Studio and Visual C++ Express Edition + +LodePNG should be warning-free with warning level W4. Two warnings were disabled +with pragmas though: warning 4244 about implicit conversions, and warning 4996 +where it wants to use a non-standard function fopen_s instead of the standard C +fopen. + +Visual Studio may want "stdafx.h" files to be included in each source file and +give an error "unexpected end of file while looking for precompiled header". +This is not standard C++ and will not be added to the stock LodePNG. You can +disable it for lodepng.cpp only by right clicking it, Properties, C/C++, +Precompiled Headers, and set it to Not Using Precompiled Headers there. + +NOTE: Modern versions of VS should be fully supported, but old versions, e.g. +VS6, are not guaranteed to work. + +*) Compilers on Macintosh + +LodePNG has been reported to work both with gcc and LLVM for Macintosh, both for +C and C++. + +*) Other Compilers + +If you encounter problems on any compilers, feel free to let me know and I may +try to fix it if the compiler is modern and standards complient. + + +10. examples +------------ + +This decoder example shows the most basic usage of LodePNG. More complex +examples can be found on the LodePNG website. + +10.1. decoder C++ example +------------------------- + +#include "lodepng.h" +#include + +int main(int argc, char *argv[]) +{ + const char* filename = argc > 1 ? argv[1] : "test.png"; + + //load and decode + std::vector image; + unsigned width, height; + unsigned error = lodepng::decode(image, width, height, filename); + + //if there's an error, display it + if(error) std::cout << "decoder error " << error << ": " << lodepng_error_text(error) << std::endl; + + //the pixels are now in the vector "image", 4 bytes per pixel, ordered RGBARGBA..., use it as texture, draw it, ... +} + +10.2. decoder C example +----------------------- + +#include "lodepng.h" + +int main(int argc, char *argv[]) +{ + unsigned error; + unsigned char* image; + size_t width, height; + const char* filename = argc > 1 ? argv[1] : "test.png"; + + error = lodepng_decode32_file(&image, &width, &height, filename); + + if(error) printf("decoder error %u: %s\n", error, lodepng_error_text(error)); + + / * use image here * / + + free(image); + return 0; +} + + +11. changes +----------- + +The version number of LodePNG is the date of the change given in the format +yyyymmdd. + +Some changes aren't backwards compatible. Those are indicated with a (!) +symbol. + +*) 23 aug 2014: Reduced needless memory usage of decoder. +*) 28 jun 2014: Removed fix_png setting, always support palette OOB for + simplicity. Made ColorProfile public. +*) 09 jun 2014: Faster encoder by fixing hash bug and more zeros optimization. +*) 22 dec 2013: Power of two windowsize required for optimization. +*) 15 apr 2013: Fixed bug with LAC_ALPHA and color key. +*) 25 mar 2013: Added an optional feature to ignore some PNG errors (fix_png). +*) 11 mar 2013 (!): Bugfix with custom free. Changed from "my" to "lodepng_" + prefix for the custom allocators and made it possible with a new #define to + use custom ones in your project without needing to change lodepng's code. +*) 28 jan 2013: Bugfix with color key. +*) 27 okt 2012: Tweaks in text chunk keyword length error handling. +*) 8 okt 2012 (!): Added new filter strategy (entropy) and new auto color mode. + (no palette). Better deflate tree encoding. New compression tweak settings. + Faster color conversions while decoding. Some internal cleanups. +*) 23 sep 2012: Reduced warnings in Visual Studio a little bit. +*) 1 sep 2012 (!): Removed #define's for giving custom (de)compression functions + and made it work with function pointers instead. +*) 23 jun 2012: Added more filter strategies. Made it easier to use custom alloc + and free functions and toggle #defines from compiler flags. Small fixes. +*) 6 may 2012 (!): Made plugging in custom zlib/deflate functions more flexible. +*) 22 apr 2012 (!): Made interface more consistent, renaming a lot. Removed + redundant C++ codec classes. Reduced amount of structs. Everything changed, + but it is cleaner now imho and functionality remains the same. Also fixed + several bugs and shrinked the implementation code. Made new samples. +*) 6 nov 2011 (!): By default, the encoder now automatically chooses the best + PNG color model and bit depth, based on the amount and type of colors of the + raw image. For this, autoLeaveOutAlphaChannel replaced by auto_choose_color. +*) 9 okt 2011: simpler hash chain implementation for the encoder. +*) 8 sep 2011: lz77 encoder lazy matching instead of greedy matching. +*) 23 aug 2011: tweaked the zlib compression parameters after benchmarking. + A bug with the PNG filtertype heuristic was fixed, so that it chooses much + better ones (it's quite significant). A setting to do an experimental, slow, + brute force search for PNG filter types is added. +*) 17 aug 2011 (!): changed some C zlib related function names. +*) 16 aug 2011: made the code less wide (max 120 characters per line). +*) 17 apr 2011: code cleanup. Bugfixes. Convert low to 16-bit per sample colors. +*) 21 feb 2011: fixed compiling for C90. Fixed compiling with sections disabled. +*) 11 dec 2010: encoding is made faster, based on suggestion by Peter Eastman + to optimize long sequences of zeros. +*) 13 nov 2010: added LodePNG_InfoColor_hasPaletteAlpha and + LodePNG_InfoColor_canHaveAlpha functions for convenience. +*) 7 nov 2010: added LodePNG_error_text function to get error code description. +*) 30 okt 2010: made decoding slightly faster +*) 26 okt 2010: (!) changed some C function and struct names (more consistent). + Reorganized the documentation and the declaration order in the header. +*) 08 aug 2010: only changed some comments and external samples. +*) 05 jul 2010: fixed bug thanks to warnings in the new gcc version. +*) 14 mar 2010: fixed bug where too much memory was allocated for char buffers. +*) 02 sep 2008: fixed bug where it could create empty tree that linux apps could + read by ignoring the problem but windows apps couldn't. +*) 06 jun 2008: added more error checks for out of memory cases. +*) 26 apr 2008: added a few more checks here and there to ensure more safety. +*) 06 mar 2008: crash with encoding of strings fixed +*) 02 feb 2008: support for international text chunks added (iTXt) +*) 23 jan 2008: small cleanups, and #defines to divide code in sections +*) 20 jan 2008: support for unknown chunks allowing using LodePNG for an editor. +*) 18 jan 2008: support for tIME and pHYs chunks added to encoder and decoder. +*) 17 jan 2008: ability to encode and decode compressed zTXt chunks added + Also vareous fixes, such as in the deflate and the padding bits code. +*) 13 jan 2008: Added ability to encode Adam7-interlaced images. Improved + filtering code of encoder. +*) 07 jan 2008: (!) changed LodePNG to use ISO C90 instead of C++. A + C++ wrapper around this provides an interface almost identical to before. + Having LodePNG be pure ISO C90 makes it more portable. The C and C++ code + are together in these files but it works both for C and C++ compilers. +*) 29 dec 2007: (!) changed most integer types to unsigned int + other tweaks +*) 30 aug 2007: bug fixed which makes this Borland C++ compatible +*) 09 aug 2007: some VS2005 warnings removed again +*) 21 jul 2007: deflate code placed in new namespace separate from zlib code +*) 08 jun 2007: fixed bug with 2- and 4-bit color, and small interlaced images +*) 04 jun 2007: improved support for Visual Studio 2005: crash with accessing + invalid std::vector element [0] fixed, and level 3 and 4 warnings removed +*) 02 jun 2007: made the encoder add a tag with version by default +*) 27 may 2007: zlib and png code separated (but still in the same file), + simple encoder/decoder functions added for more simple usage cases +*) 19 may 2007: minor fixes, some code cleaning, new error added (error 69), + moved some examples from here to lodepng_examples.cpp +*) 12 may 2007: palette decoding bug fixed +*) 24 apr 2007: changed the license from BSD to the zlib license +*) 11 mar 2007: very simple addition: ability to encode bKGD chunks. +*) 04 mar 2007: (!) tEXt chunk related fixes, and support for encoding + palettized PNG images. Plus little interface change with palette and texts. +*) 03 mar 2007: Made it encode dynamic Huffman shorter with repeat codes. + Fixed a bug where the end code of a block had length 0 in the Huffman tree. +*) 26 feb 2007: Huffman compression with dynamic trees (BTYPE 2) now implemented + and supported by the encoder, resulting in smaller PNGs at the output. +*) 27 jan 2007: Made the Adler-32 test faster so that a timewaste is gone. +*) 24 jan 2007: gave encoder an error interface. Added color conversion from any + greyscale type to 8-bit greyscale with or without alpha. +*) 21 jan 2007: (!) Totally changed the interface. It allows more color types + to convert to and is more uniform. See the manual for how it works now. +*) 07 jan 2007: Some cleanup & fixes, and a few changes over the last days: + encode/decode custom tEXt chunks, separate classes for zlib & deflate, and + at last made the decoder give errors for incorrect Adler32 or Crc. +*) 01 jan 2007: Fixed bug with encoding PNGs with less than 8 bits per channel. +*) 29 dec 2006: Added support for encoding images without alpha channel, and + cleaned out code as well as making certain parts faster. +*) 28 dec 2006: Added "Settings" to the encoder. +*) 26 dec 2006: The encoder now does LZ77 encoding and produces much smaller files now. + Removed some code duplication in the decoder. Fixed little bug in an example. +*) 09 dec 2006: (!) Placed output parameters of public functions as first parameter. + Fixed a bug of the decoder with 16-bit per color. +*) 15 okt 2006: Changed documentation structure +*) 09 okt 2006: Encoder class added. It encodes a valid PNG image from the + given image buffer, however for now it's not compressed. +*) 08 sep 2006: (!) Changed to interface with a Decoder class +*) 30 jul 2006: (!) LodePNG_InfoPng , width and height are now retrieved in different + way. Renamed decodePNG to decodePNGGeneric. +*) 29 jul 2006: (!) Changed the interface: image info is now returned as a + struct of type LodePNG::LodePNG_Info, instead of a vector, which was a bit clumsy. +*) 28 jul 2006: Cleaned the code and added new error checks. + Corrected terminology "deflate" into "inflate". +*) 23 jun 2006: Added SDL example in the documentation in the header, this + example allows easy debugging by displaying the PNG and its transparency. +*) 22 jun 2006: (!) Changed way to obtain error value. Added + loadFile function for convenience. Made decodePNG32 faster. +*) 21 jun 2006: (!) Changed type of info vector to unsigned. + Changed position of palette in info vector. Fixed an important bug that + happened on PNGs with an uncompressed block. +*) 16 jun 2006: Internally changed unsigned into unsigned where + needed, and performed some optimizations. +*) 07 jun 2006: (!) Renamed functions to decodePNG and placed them + in LodePNG namespace. Changed the order of the parameters. Rewrote the + documentation in the header. Renamed files to lodepng.cpp and lodepng.h +*) 22 apr 2006: Optimized and improved some code +*) 07 sep 2005: (!) Changed to std::vector interface +*) 12 aug 2005: Initial release (C++, decoder only) + + +12. contact information +----------------------- + +Feel free to contact me with suggestions, problems, comments, ... concerning +LodePNG. If you encounter a PNG image that doesn't work properly with this +decoder, feel free to send it and I'll use it to find and fix the problem. + +My email address is (puzzle the account and domain together with an @ symbol): +Domain: gmail dot com. +Account: lode dot vandevenne. + + +Copyright (c) 2005-2014 Lode Vandevenne +*/ diff --git a/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.cpp b/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.cpp new file mode 100644 index 000000000..d148a5d84 --- /dev/null +++ b/examples/ThirdPartyLibs/openvr/samples/shared/pathtools.cpp @@ -0,0 +1,560 @@ +//========= Copyright Valve Corporation ============// +#include "pathtools.h" +//#include "hmdplatform_private.h" +//#include "vrcommon/strtools.h" + +#if defined( _WIN32) +#include +#include +#include +#include +#elif defined OSX +#include +#include +#include "osxfilebridge.h" +#define _S_IFDIR S_IFDIR // really from tier0/platform.h which we dont have yet +#define _MAX_PATH MAX_PATH // yet another form of _PATH define we use +#elif defined(LINUX) +#include +#include +#endif + +#include + +#include + +/** Returns the path (including filename) to the current executable */ +std::string Path_GetExecutablePath() +{ + bool bSuccess = false; + char rchPath[ 1024 ]; + size_t nBuff = sizeof(rchPath); +#if defined( _WIN32 ) + bSuccess = ::GetModuleFileNameA(NULL, rchPath, (DWORD)nBuff) > 0; +#elif defined OSX + uint32_t _nBuff = nBuff; + bSuccess = _NSGetExecutablePath(rchPath, &_nBuff) == 0; + rchPath[nBuff-1] = '\0'; +#elif defined LINUX + ssize_t nRead = readlink("/proc/self/exe", rchPath, nBuff-1 ); + if ( nRead != -1 ) + { + rchPath[ nRead ] = 0; + bSuccess = true; + } + else + { + rchPath[ 0 ] = '\0'; + } +#else + AssertMsg( false, "Implement Plat_GetExecutablePath" ); +#endif + + if( bSuccess ) + return rchPath; + else + return ""; +} + +/** Returns the path of the current working directory */ +std::string Path_GetWorkingDirectory() +{ + std::string sPath; + char buf[ 1024 ]; +#if defined( _WIN32 ) + sPath = _getcwd( buf, sizeof( buf ) ); +#else + sPath = getcwd( buf, sizeof( buf ) ); +#endif + return sPath; +} + +/** Sets the path of the current working directory. Returns true if this was successful. */ +bool Path_SetWorkingDirectory( const std::string & sPath ) +{ + bool bSuccess; +#if defined( _WIN32 ) + bSuccess = 0 == _chdir( sPath.c_str() ); +#else + bSuccess = 0 == chdir( sPath.c_str() ); +#endif + return bSuccess; +} + +std::string Path_GetModulePath() +{ +#if defined( _WIN32 ) + char path[32768]; + HMODULE hm = NULL; + + if (!GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, + (LPCSTR) &Path_GetModulePath, + &hm)) + { + int ret = GetLastError(); + fprintf(stderr, "GetModuleHandle returned %d\n", ret); + return ""; + } + GetModuleFileNameA(hm, path, sizeof(path)); + FreeLibrary( hm ); + return path; +#else + Dl_info dl_info; + dladdr((void *)Path_GetModulePath, &dl_info); + return dl_info.dli_fname; +#endif +} + +/** Returns the specified path without its filename */ +std::string Path_StripFilename( const std::string & sPath, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + std::string::size_type n = sPath.find_last_of( slash ); + if( n == std::string::npos ) + return sPath; + else + return std::string( sPath.begin(), sPath.begin() + n ); +} + +/** returns just the filename from the provided full or relative path. */ +std::string Path_StripDirectory( const std::string & sPath, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + std::string::size_type n = sPath.find_last_of( slash ); + if( n == std::string::npos ) + return sPath; + else + return std::string( sPath.begin() + n + 1, sPath.end() ); +} + +/** returns just the filename with no extension of the provided filename. +* If there is a path the path is left intact. */ +std::string Path_StripExtension( const std::string & sPath ) +{ + for( std::string::const_reverse_iterator i = sPath.rbegin(); i != sPath.rend(); i++ ) + { + if( *i == '.' ) + { + return std::string( sPath.begin(), i.base() - 1 ); + } + + // if we find a slash there is no extension + if( *i == '\\' || *i == '/' ) + break; + } + + // we didn't find an extension + return sPath; +} + + +bool Path_IsAbsolute( const std::string & sPath ) +{ + if( sPath.empty() ) + return false; + + if( sPath.find( ':' ) != std::string::npos ) + return true; + + if( sPath[0] == '\\' || sPath[0] == '/' ) + return true; + + return false; +} + + +/** Makes an absolute path from a relative path and a base path */ +std::string Path_MakeAbsolute( const std::string & sRelativePath, const std::string & sBasePath, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + if( Path_IsAbsolute( sRelativePath ) ) + return sRelativePath; + else + { + if( !Path_IsAbsolute( sBasePath ) ) + return ""; + + std::string sCompacted = Path_Compact( Path_Join( sBasePath, sRelativePath, slash ), slash ); + if( Path_IsAbsolute( sCompacted ) ) + return sCompacted; + else + return ""; + } +} + + +/** Fixes the directory separators for the current platform */ +std::string Path_FixSlashes( const std::string & sPath, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + std::string sFixed = sPath; + for( std::string::iterator i = sFixed.begin(); i != sFixed.end(); i++ ) + { + if( *i == '/' || *i == '\\' ) + *i = slash; + } + + return sFixed; +} + + +char Path_GetSlash() +{ +#if defined(_WIN32) + return '\\'; +#else + return '/'; +#endif +} + +/** Jams two paths together with the right kind of slash */ +std::string Path_Join( const std::string & first, const std::string & second, char slash ) +{ + if( slash == 0 ) + slash = Path_GetSlash(); + + // only insert a slash if we don't already have one + std::string::size_type nLen = first.length(); +#if defined(_WIN32) + if( first.back() == '\\' || first.back() == '/' ) + nLen--; +#else + char last_char = first[first.length()-1]; + if (last_char == '\\' || last_char == '/') + nLen--; +#endif + + return first.substr( 0, nLen ) + std::string( 1, slash ) + second; +} + + +std::string Path_Join( const std::string & first, const std::string & second, const std::string & third, char slash ) +{ + return Path_Join( Path_Join( first, second, slash ), third, slash ); +} + +std::string Path_Join( const std::string & first, const std::string & second, const std::string & third, const std::string &fourth, char slash ) +{ + return Path_Join( Path_Join( Path_Join( first, second, slash ), third, slash ), fourth, slash ); +} + +std::string Path_Join( + const std::string & first, + const std::string & second, + const std::string & third, + const std::string & fourth, + const std::string & fifth, + char slash ) +{ + return Path_Join( Path_Join( Path_Join( Path_Join( first, second, slash ), third, slash ), fourth, slash ), fifth, slash ); +} + +/** Removes redundant

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