From 9076a5ea41c1dbcf1415afaf054d12f225ac9807 Mon Sep 17 00:00:00 2001 From: liuyunhui Date: Fri, 19 Sep 2025 14:40:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=9A=E5=B1=8F=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=EF=BC=8C=E8=A7=86=E9=A2=91=E6=92=AD=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - InteractiveControl/.gitignore | 75 + InteractiveControl/Content/Main.umap | 2 +- InteractiveControl/Content/UI/Main.uasset | 4 +- InteractiveControl/Content/UI/Page1.uasset | 4 +- InteractiveControl/Content/UI/Page2.uasset | 4 +- InteractiveControl/Content/UI/Page3.uasset | 4 +- InteractiveControl/Content/UI/Page4.uasset | 4 +- InteractiveControl/Content/UI/Page5.uasset | 4 +- InteractiveControl/Content/UI/Page6_0.uasset | 4 +- .../Content/UI/Page6_sub.uasset | 4 +- .../Content/blueprint/BP_PC.uasset | 4 +- .../Resources/Icon128.png | Bin 0 -> 38469 bytes .../SocketClient.uplugin | 30 + .../Private/DNSClientSocketClient.cpp | 115 + .../Private/FileFunctionsSocketClient.cpp | 572 + .../SocketClient/Private/SocketClient.cpp | 23 + .../Private/SocketClientAsyncNodes.cpp | 82 + .../Private/SocketClientBPLibrary.cpp | 734 ++ .../Private/SocketClientCleanerThread.cpp | 67 + .../SocketClient/Private/SocketClientTCP.cpp | 181 + .../SocketClientTCPFileHandlerThread.cpp | 592 + .../SocketClientTCPReceiveDataThread.cpp | 288 + .../Private/SocketClientTCPSendDataThread.cpp | 167 + .../SocketClient/Private/SocketClientUDP.cpp | 148 + .../SocketClientUDPReceiveDataThread.cpp | 117 + .../Private/SocketClientUDPSendDataThead.cpp | 146 + .../Public/DNSClientSocketClient.h | 28 + .../Public/FileFunctionsSocketClient.h | 271 + .../Source/SocketClient/Public/SocketClient.h | 179 + .../Public/SocketClientAsyncNodes.h | 119 + .../Public/SocketClientBPLibrary.h | 374 + .../Public/SocketClientCleanerThread.h | 26 + .../SocketClient/Public/SocketClientTCP.h | 106 + .../Public/SocketClientTCPFileHandlerThread.h | 46 + .../Public/SocketClientTCPReceiveDataThread.h | 41 + .../Public/SocketClientTCPSendDataThead.h | 32 + .../SocketClient/Public/SocketClientUDP.h | 73 + .../Public/SocketClientUDPReceiveDataThread.h | 30 + .../Public/SocketClientUDPSendDataThead.h | 37 + .../Source/SocketClient/SocketClient.Build.cs | 57 + SpaceStudioClient/.gitignore | 75 + SpaceStudioClient/Config/DefaultEngine.ini | 3 +- SpaceStudioClient/Config/DefaultGame.ini | 90 + .../BP_MediaPlayerController.uasset | 3 + .../Blueprints/BP_UDPMessageProcessor.uasset | 3 + .../Content/Blueprints/BP_Windows.uasset | 3 + .../Blueprints/UI/M_KinentBodys.uasset | 3 + .../Content/Blueprints/UI/WB_Wall_A.uasset | 3 + .../Content/Blueprints/UI/WB_Wall_B.uasset | 3 + .../Content/Blueprints/UI/WB_Wall_C.uasset | 3 + SpaceStudioClient/Content/Main.umap | 3 + .../Content/MediaPlayer/MediaPlayerA.uasset | 3 + .../Content/MediaPlayer/MediaPlayerB.uasset | 3 + .../Content/MediaPlayer/MediaPlayerC.uasset | 3 + .../TextureRender2D/MediaPlayerA_Video.uasset | 3 + .../TextureRender2D/MediaPlayerB_Video.uasset | 3 + .../TextureRender2D/MediaPlayerC_Video.uasset | 3 + .../TextureRenderTarget2D_A.uasset | 3 + .../TextureRenderTarget2D_C.uasset | 3 + .../Content/MultiWindow/ExampleMap_MW.umap | 3 + .../MultiWindow/Textures/T_Close.uasset | 3 + .../MultiWindow/Textures/T_Maximize.uasset | 3 + .../MultiWindow/Textures/T_Minimize.uasset | 3 + .../MultiWindow/Textures/T_Restore.uasset | 3 + .../Content/MultiWindow/WBP_MW_Main.uasset | 3 + .../MultiWindow/WBP_MW_Template.uasset | 3 + .../Plugins/MultiWindow/MultiWindow.uplugin | 28 + .../Plugins/MultiWindow/Resources/Icon128.png | Bin 0 -> 12699 bytes .../Source/MultiWindow/MultiWindow.Build.cs | 59 + .../MultiWindow/Private/MultiWindow.cpp | 25 + .../MultiWindow/Private/MultiWindowActor.cpp | 242 + .../Private/MultiWindowBPLibrary.cpp | 171 + .../Source/MultiWindow/Private/SMWindow.cpp | 44 + .../Source/MultiWindow/Public/MultiWindow.h | 17 + .../MultiWindow/Public/MultiWindowActor.h | 147 + .../MultiWindow/Public/MultiWindowBPLibrary.h | 96 + .../Source/MultiWindow/Public/SMWindow.h | 27 + .../NeoKinectUnreal/NeoKinectUnreal.uplugin | 26 + .../NeoKinectUnreal/Resources/Icon128.png | Bin 0 -> 9791 bytes .../NeoKinectUnreal/NeoKinectUnreal.Build.cs | 68 + .../NeoKinectUnreal/Private/KinectThread.cpp | 329 + .../NeoKinectUnreal/Private/NeoKinectBody.cpp | 547 + .../NeoKinectUnreal/Private/NeoKinectFace.cpp | 216 + .../Private/NeoKinectManager.cpp | 1311 ++ .../Private/NeoKinectUnreal.cpp | 5 + .../Public/Helpers/GuardedNeoKinect.h | 10 + .../NeoKinectUnreal/Public/KinectThread.h | 127 + .../NeoKinectUnreal/Public/NeoKinectBody.h | 297 + .../NeoKinectUnreal/Public/NeoKinectEnums.h | 134 + .../NeoKinectUnreal/Public/NeoKinectFace.h | 290 + .../NeoKinectUnreal/Public/NeoKinectManager.h | 612 + .../ThirdParty/Kinect/Inc/Kinect.Face.h | 3096 +++++ .../ThirdParty/Kinect/Inc/Kinect.INPC.h | 298 + .../Source/ThirdParty/Kinect/Inc/Kinect.h | 10667 ++++++++++++++++ .../ThirdParty/Kinect/Lib/Kinect20.Face.lib | Bin 0 -> 3558 bytes .../Source/ThirdParty/Kinect/Lib/Kinect20.lib | Bin 0 -> 5570 bytes .../ThirdParty/NeoKinect/Inc/KinectExposure.h | 68 + .../ThirdParty/NeoKinect/Inc/Lockable.h | 108 + .../ThirdParty/NeoKinect/Inc/NeoKinect.h | 479 + .../ThirdParty/NeoKinect/Inc/NuiSensor.h | 145 + .../ThirdParty/NeoKinect/Lib/NeoKinect.lib | Bin 0 -> 6535924 bytes .../Source/SpaceStudioClient.Target.cs | 15 + .../SpaceStudioClient/Private/MyActor.cpp | 27 + .../Private/MyBlueprintFunctionLibrary.cpp | 133 + .../Source/SpaceStudioClient/Public/MyActor.h | 26 + .../Public/MyBlueprintFunctionLibrary.h | 21 + .../SpaceStudioClient.Build.cs | 23 + .../SpaceStudioClient/SpaceStudioClient.cpp | 6 + .../SpaceStudioClient/SpaceStudioClient.h | 6 + .../Source/SpaceStudioClientEditor.Target.cs | 15 + SpaceStudioClient/SpaceStudioClient.uproject | 14 + 112 files changed, 24986 insertions(+), 21 deletions(-) create mode 100644 InteractiveControl/.gitignore create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Resources/Icon128.png create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/SocketClient.uplugin create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/DNSClientSocketClient.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/FileFunctionsSocketClient.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClient.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientAsyncNodes.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientBPLibrary.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientCleanerThread.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCP.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPFileHandlerThread.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPReceiveDataThread.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPSendDataThread.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDP.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPReceiveDataThread.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPSendDataThead.cpp create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/DNSClientSocketClient.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/FileFunctionsSocketClient.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClient.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientAsyncNodes.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientBPLibrary.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientCleanerThread.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCP.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPFileHandlerThread.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPReceiveDataThread.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPSendDataThead.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDP.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPReceiveDataThread.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPSendDataThead.h create mode 100644 InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/SocketClient.Build.cs create mode 100644 SpaceStudioClient/.gitignore create mode 100644 SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/BP_Windows.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/UI/WB_Wall_B.uasset create mode 100644 SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset create mode 100644 SpaceStudioClient/Content/Main.umap create mode 100644 SpaceStudioClient/Content/MediaPlayer/MediaPlayerA.uasset create mode 100644 SpaceStudioClient/Content/MediaPlayer/MediaPlayerB.uasset create mode 100644 SpaceStudioClient/Content/MediaPlayer/MediaPlayerC.uasset create mode 100644 SpaceStudioClient/Content/TextureRender2D/MediaPlayerA_Video.uasset create mode 100644 SpaceStudioClient/Content/TextureRender2D/MediaPlayerB_Video.uasset create mode 100644 SpaceStudioClient/Content/TextureRender2D/MediaPlayerC_Video.uasset create mode 100644 SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_A.uasset create mode 100644 SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_C.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/ExampleMap_MW.umap create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Close.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Maximize.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Minimize.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Restore.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Main.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Template.uasset create mode 100644 SpaceStudioClient/Plugins/MultiWindow/MultiWindow.uplugin create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Resources/Icon128.png create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/MultiWindow.Build.cs create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindow.cpp create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowActor.cpp create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowBPLibrary.cpp create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/SMWindow.cpp create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindow.h create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowActor.h create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowBPLibrary.h create mode 100644 SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/SMWindow.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/NeoKinectUnreal.uplugin create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Resources/Icon128.png create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/NeoKinectUnreal.Build.cs create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/KinectThread.cpp create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectBody.cpp create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectFace.cpp create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectUnreal.cpp create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/Helpers/GuardedNeoKinect.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/KinectThread.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectBody.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectEnums.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectFace.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectManager.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.Face.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.INPC.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.Face.lib create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.lib create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/KinectExposure.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/Lockable.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NeoKinect.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NuiSensor.h create mode 100644 SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Lib/NeoKinect.lib create mode 100644 SpaceStudioClient/Source/SpaceStudioClient.Target.cs create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/Private/MyActor.cpp create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/Private/MyBlueprintFunctionLibrary.cpp create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/Public/MyActor.h create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/Public/MyBlueprintFunctionLibrary.h create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.Build.cs create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.cpp create mode 100644 SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.h create mode 100644 SpaceStudioClient/Source/SpaceStudioClientEditor.Target.cs diff --git a/.gitignore b/.gitignore index 715b38f..242a311 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,6 @@ *.lai *.la *.a -*.lib # Executables *.exe diff --git a/InteractiveControl/.gitignore b/InteractiveControl/.gitignore new file mode 100644 index 0000000..242a311 --- /dev/null +++ b/InteractiveControl/.gitignore @@ -0,0 +1,75 @@ +# ---> UnrealEngine +# Visual Studio 2015 user specific files +.vs/ + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a + +# Executables +*.exe +*.out +*.app +*.ipa + +# These project files can be generated by the engine +*.xcodeproj +*.xcworkspace +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb + +# Precompiled Assets +SourceArt/**/*.png +SourceArt/**/*.tga + +# Binary Files +Binaries/* +Plugins/**/Binaries/* + +# Builds +Build/* + +# Whitelist PakBlacklist-.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/**/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* + diff --git a/InteractiveControl/Content/Main.umap b/InteractiveControl/Content/Main.umap index a8d2ed4..4108a62 100644 --- a/InteractiveControl/Content/Main.umap +++ b/InteractiveControl/Content/Main.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7df7274a532c0e93a11179ebca449bb1b524a0b805d781e3dd8723a05caa6c9b +oid sha256:0fd11e37775bef5e585cf9e7f87cab9d6fbb52cacabb0a7b951cb1f51c113dcc size 8763 diff --git a/InteractiveControl/Content/UI/Main.uasset b/InteractiveControl/Content/UI/Main.uasset index cc694f6..8cc4228 100644 --- a/InteractiveControl/Content/UI/Main.uasset +++ b/InteractiveControl/Content/UI/Main.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:743cd2221f72e58176506bd4b53020c2ebff86ebbcb815bb723906cecb6a3cf8 -size 272271 +oid sha256:3eb1687a1ae4ba9e18d31021e3e6759d9eb334ecdd5bf3c6a8c03e93cd1e6b64 +size 272415 diff --git a/InteractiveControl/Content/UI/Page1.uasset b/InteractiveControl/Content/UI/Page1.uasset index e186119..a316d81 100644 --- a/InteractiveControl/Content/UI/Page1.uasset +++ b/InteractiveControl/Content/UI/Page1.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f528073cf26e4d122daac335af83895f4a46978513d6bb206e77e52bfcfaa81c -size 77141 +oid sha256:4818570d7c96c4f9c5ab60949d02ee0a2e9106e8d0dddd04f86d0e29425b708d +size 77312 diff --git a/InteractiveControl/Content/UI/Page2.uasset b/InteractiveControl/Content/UI/Page2.uasset index b40c050..df8a2a1 100644 --- a/InteractiveControl/Content/UI/Page2.uasset +++ b/InteractiveControl/Content/UI/Page2.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60a139154ea414f68a53d166710dc9e5254d2e9552a1abe54f45a9215a07466e -size 72084 +oid sha256:2141850049d35520b763ce894f577adf8b79f822eff5ac6d1746948a1b6d1b8f +size 72453 diff --git a/InteractiveControl/Content/UI/Page3.uasset b/InteractiveControl/Content/UI/Page3.uasset index cf03de3..c6b9f25 100644 --- a/InteractiveControl/Content/UI/Page3.uasset +++ b/InteractiveControl/Content/UI/Page3.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e7fb6658dbaeba7d2f49539481c9e86d5f67ef409f8ac3188c1ee86f8874b9b -size 128137 +oid sha256:908f022e7d628309a993517f8802dd3b4660b960d16531a79a2a03601d2d9fa4 +size 127813 diff --git a/InteractiveControl/Content/UI/Page4.uasset b/InteractiveControl/Content/UI/Page4.uasset index 91cd074..3182e2e 100644 --- a/InteractiveControl/Content/UI/Page4.uasset +++ b/InteractiveControl/Content/UI/Page4.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe40bc7e9940147e4db9d346931860d8d3f06f7a873df4e83feb1c85c8584982 -size 127780 +oid sha256:7371d061d376c2663b0c54e8b8652ffd3fe5ae0a51b845665c72fb22c6d1a0d4 +size 127335 diff --git a/InteractiveControl/Content/UI/Page5.uasset b/InteractiveControl/Content/UI/Page5.uasset index f79fdea..37a3a71 100644 --- a/InteractiveControl/Content/UI/Page5.uasset +++ b/InteractiveControl/Content/UI/Page5.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f472ca17b7c51fc568bc2de1e7c5d237faf0adc4640c36fd812326ee51c303f -size 127840 +oid sha256:c52929cf986d5267f5718869a7aad14bc32779c51f515a7c50579acc6894f00c +size 127134 diff --git a/InteractiveControl/Content/UI/Page6_0.uasset b/InteractiveControl/Content/UI/Page6_0.uasset index cc59ca2..5eed810 100644 --- a/InteractiveControl/Content/UI/Page6_0.uasset +++ b/InteractiveControl/Content/UI/Page6_0.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a6406dfff2017ce6dd53be5a349115ca70fd55cdb0e1e5c06f0e428438cd1dd -size 139159 +oid sha256:acb4b8df587807ccb89bdd8ab2f4ad5cfbd16ba34415520731e1a2df7f73775b +size 138572 diff --git a/InteractiveControl/Content/UI/Page6_sub.uasset b/InteractiveControl/Content/UI/Page6_sub.uasset index e6e5adf..53451c2 100644 --- a/InteractiveControl/Content/UI/Page6_sub.uasset +++ b/InteractiveControl/Content/UI/Page6_sub.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59166ceac0776066fa3b21a6aaf16d24baf1ec0bb66ed2ad519a0c4b318c7302 -size 298765 +oid sha256:7abdd86a8095f4c32d9419a13de9b1ea04d328b49e3d62768c4e092ff5da41c0 +size 341885 diff --git a/InteractiveControl/Content/blueprint/BP_PC.uasset b/InteractiveControl/Content/blueprint/BP_PC.uasset index 9a75c2f..f10a8dd 100644 --- a/InteractiveControl/Content/blueprint/BP_PC.uasset +++ b/InteractiveControl/Content/blueprint/BP_PC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25736f6564013ad27fd41d4bd5673b91bcd6de0fe35701be1cb14435b7b57bb9 -size 68961 +oid sha256:2300d2cc555f4d7fcc977e464666cfcbb30c1eb1cb36f8adc7494f11f702407d +size 85119 diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Resources/Icon128.png b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Resources/Icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..65c8b36e03366b8c29d54d1044c9b9aabdc2bd59 GIT binary patch literal 38469 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%0A5^umJpaT#{ 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

O8LtIy2;(!7 zMR3ImDUAV>DxmueTqpAKUs~FW3d9&al%HCg2RocWC`1czv@}7m=L(s!8oHF+gSF^O z>K|=H@440?zvYpOe#3<1Kpxc_#sl?KGy^0jibA+ww~9`4RghF@g*X_pg5tZK*z<@V z(nC-}UDZ+9BpKw^%#T5*lt49Lee9Y}@*p%QMq;|U0m+ruSR6P%IE78#AZiwEj0K># zC3a890zuXKgFc**u##w1 zC9`UdOtL&(yC9&EmLbR}Zl09*mbWFO4i9xxo?tmS<8_99!XB!VW1}bwqsZ=)5kcya z!enU50Q}AULGQ#k^BFQN@P_<>br50j1oem3qxCV9U#(7om4CW5;p1NA$X&>w_PdEk zKW(2xLq*jUz2x_rsKX!wX)vINxF>-?w-a|^3nq!^5z@{8u^IYwi#==v*%&kEEXWTm zr_usK0y>95*Q$UxX_^WeMes;%&0%Y=MFd0C2m)4QF}xqsZ|Xw?z!kO0NoaI5z_;o8Ij+BzCJ_z22~x~*F~jZE5?+!i($T2gn$%2+TnbuZ*SX!klK?2)_%63D zyhZ2hX$#s8|7pW~+FL>sIfh>OJh_L8gy;KoWiHSrpmSurVx%$2v?Lhvq72p_`yMnf z+yGVyhKk*x<@ESyQOkc@AICuiN7x(6IXRq?iXLE-WeR2}$pDVLin3|IcKNjhc`wKX z6m5AEsbw@~$1=Tc*B*dH@4R zhnSlSts-C{f`Lxupn-%WvO(d3@5n1TbHzb#or$HxV^wlh?lv+sEyeWhJV3PNbHt$N zJ`Q~3d5)f^o-$@_#&6st579-LXoiqR^t=w3JU$sf^*ybIXqyS$+aQSojib0m} z37rhe9ZRZU@#Yd%JazxWnOb1!NdhWROf<`(7eeMhqszr=NYF_wlQh!@c~5d>fCkXL z=Q4^a5+Pp#0}$h)(gV;))5x*?Rs*_5DVFJpURk0AwipbDtt~ckIn`3kV%`o4S@I(R z3zB-zfM_#}PEns{E?i8P&hcc>y$PG;&dalec0qxOmJp#LBT$>D*9cpzjWy{=Xsc|{ znaII*mhT^}!mg9hhVzgL^i&W;64g%H9g>>?z=GH26^Oi;*K)kTee(uGbLLmy5+3ZG ziQKaVb&Ov01QRL$)gOG5FQKNDcGm-c7zCkDKZO^<4O(qHa>01G z;>aX#ltVuh>32l|ZmMD;6&of*qRznW}!dy3E2RY!Ct5pWPS1jw(EBLt-b?X7CM*M_LX$|oFqVu z3E+|8=DFd;uOvHXv+kAQD&E(yCti}!tT3a8hR}07IFXYS2=}}&QkQT%jvk_bu;fv7 z5wnUgM_k&*g3ifunIV{+jBWK=Yn0rFtCl#zLciA2uOlf4&q zx91CT1vO}|eaJ@a8H^BapopL)kQ;_RdfOX|#~&>mc|@wutEOp;E$9ax(vH4eKlTpe zws#j#yo>Ib^m;HQY?u)7;?&9ns~D)u5a9-%N&;{{vSDZ#IqJYZE3JCE05oD~}?=Ybg25ubrWM8U61W-u~Sfud> zq;E)~2H=86B{s?foRt2q>wFGb} zsjQ&#G*&3&U`FFF6mw_^U8{;HAy)vf@?!(eVJ4B9ht{&u{~z*_80=>?YmEQ^002ov JPDHLkV1h|K>3{$L literal 0 HcmV?d00001 diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/SocketClient.uplugin b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/SocketClient.uplugin new file mode 100644 index 0000000..fda9ed0 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/SocketClient.uplugin @@ -0,0 +1,30 @@ +{ + "FileVersion": 3, + "Version": 255, + "VersionName": "2.55", + "FriendlyName": "SimpleTCPUDPSocketClient", + "Description": "TCP and UDP Blueprint Socket Client", + "Category": "Sockets", + "CreatedBy": "Socke", + "CreatedByURL": "", + "DocsURL": "http://virtualbird.de/ue4Doku/SimpleTCPUDPSocketClient2/", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/5d4ddd5493ce4d2295ef9be6c67eff82", + "SupportURL": "mailto:unrealmarketplace@virtualbird.de", + "EngineVersion": "5.3.0", + "CanContainContent": false, + "Installed": true, + "Modules": [ + { + "Name": "SocketClient", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen", + "PlatformAllowList": [ + "Win64", + "Mac", + "IOS", + "Android", + "Linux" + ] + } + ] +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/DNSClientSocketClient.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/DNSClientSocketClient.cpp new file mode 100644 index 0000000..ec9c836 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/DNSClientSocketClient.cpp @@ -0,0 +1,115 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#include "DNSClientSocketClient.h" + +UDNSClientSocketClient::UDNSClientSocketClient(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) { +} + + +void UDNSClientSocketClient::resolveDomain(ISocketSubsystem* socketSubSystem, FString domainP, bool useDNSCache, FString dnsIP) { + domain = domainP; + resolving = true; + if (useDNSCache) { + if (dnsCache.Find(domain) != nullptr) { + ip = *dnsCache.Find(domain); + resolving = false; + return; + } + } + FIPv4Endpoint Endpoint; + FString socketName; + //FIPv4Endpoint::Parse("127.0.0.1:12345", Endpoint); + //socket = FUdpSocketBuilder(*socketName).AsReusable().WithBroadcast().BoundToEndpoint(Endpoint); + socket = FUdpSocketBuilder(*socketName).AsReusable().WithBroadcast(); + if (socket == nullptr || socket == NULL) { + UE_LOG(LogTemp, Error, TEXT("UE4 could not init a UDP socket to resolve %s on %s."), *domain, *dnsIP); + resolving = false; + return; + } + else { + FTimespan ThreadWaitTime = FTimespan::FromMilliseconds(100); + FUdpSocketReceiver* udpSocketReceiver = new FUdpSocketReceiver(socket, ThreadWaitTime, TEXT("UE4 DNSClient")); + udpSocketReceiver->OnDataReceived().BindUObject(this, &UDNSClientSocketClient::UDPReceiver); + udpSocketReceiver->Start(); + + TSharedRef addr = socketSubSystem->CreateInternetAddr(); + bool bIsValid; + addr->SetIp(*dnsIP, bIsValid); + addr->SetPort(53); + if (bIsValid) { + TArray dnsRequest; + //id (ramdom choose) + dnsRequest.Add(0x22); + dnsRequest.Add(0x76); + //head + dnsRequest.Add(0x1); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x1); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + + //domain + //split in domain parts than add the length as byte and the part as bytes + TArray domainParts; + domain.ParseIntoArray(domainParts, TEXT("."), true); + for (int i = 0; i < domainParts.Num(); i++) { + FTCHARToUTF8 Convert(*domainParts[i]); + dnsRequest.Add(Convert.Length()); + dnsRequest.Append((uint8*)Convert.Get(), Convert.Length()); + } + //foot + dnsRequest.Add(0x0); + dnsRequest.Add(0x0); + dnsRequest.Add(0x1); + dnsRequest.Add(0x0); + dnsRequest.Add(0x1); + int32 sent; + socket->SendTo((uint8*)dnsRequest.GetData(), dnsRequest.Num(), sent, *addr); + } + } + +} + +void UDNSClientSocketClient::UDPReceiver(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt) { + + //TSharedPtr peerAddr = EndPt.ToInternetAddr(); + //FString ip = peerAddr->ToString(false); + //int32 port = peerAddr->GetPort(); + ////UE_LOG(LogTemp, Error, TEXT("peerAddr:%s port:%i"), *peerAddr->ToString(false), peerAddr->GetPort()); + + + + TArray byteArray; + byteArray.Append(ArrayReaderPtr->GetData(), ArrayReaderPtr->Num()); + + FString ipAdress; + if (byteArray.Num() > 10) { + for (int32 i = (byteArray.Num() - 4); i < byteArray.Num(); i++) { + uint32 ipTmp = byteArray.GetData()[i] << 0; + ipAdress += FString::FromInt(ipTmp) + "."; + } + } + + ipAdress.RemoveFromEnd("."); + + //UE_LOG(LogTemp, Display, TEXT("DNS Resolved IP:%s"), *recvMessage); + + ip = ipAdress; + dnsCache.Add(domain, ip); + + resolving = false; +} + +bool UDNSClientSocketClient::isResloving() { + return resolving; +} + +FString UDNSClientSocketClient::getIP() { + return ip; +} diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/FileFunctionsSocketClient.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/FileFunctionsSocketClient.cpp new file mode 100644 index 0000000..f3bbbf7 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/FileFunctionsSocketClient.cpp @@ -0,0 +1,572 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#include "FileFunctionsSocketClient.h" + +UFileFunctionsSocketClient* UFileFunctionsSocketClient::fileFunctionsSocketClient; + +UFileFunctionsSocketClient::UFileFunctionsSocketClient(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { + fileFunctionsSocketClient = this; +} + +UFileFunctionsSocketClient* UFileFunctionsSocketClient::getFileFunctionsSocketClientTarget() { + return fileFunctionsSocketClient; +} + +FString UFileFunctionsSocketClient::getCleanDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + if (directoryType == EFileFunctionsSocketClientDirectoryType::E_ad) { + return FPaths::ConvertRelativePathToFull(filePath); + } + else { + FString ProjectDir = FPaths::ProjectDir(); + return FPaths::ConvertRelativePathToFull(ProjectDir + filePath); + } +} + +void UFileFunctionsSocketClient::writeBytesToFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, TArray bytes, bool& success) { + success = FFileHelper::SaveArrayToFile(bytes, *getCleanDirectory(directoryType, filePath)); +} + +void UFileFunctionsSocketClient::addBytesToFileAndCloseIt(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, TArray bytes, bool& success) { + FArchive* writer = IFileManager::Get().CreateFileWriter(*getCleanDirectory(directoryType, filePath), EFileWrite::FILEWRITE_Append); + if (!writer) { + success = false; + return; + } + writer->Seek(writer->TotalSize()); + writer->Serialize(bytes.GetData(), bytes.Num()); + writer->Close(); + delete writer; + + success = true; +} + +//void UFileFunctionsSocketClient::splittFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 parts, bool& success){ +// if (parts <= 0) +// parts = 1; +// FArchive* reader = IFileManager::Get().CreateFileReader(*getCleanDirectory(directoryType, filePath)); +// if (!reader) { +// success = false; +// return; +// } +// +// int64 splittAfterBytes = reader->TotalSize()/ ((int64)parts); +// TArray bytes; +// +// for (int32 i = 0; i < parts; i++){ +// bytes.AddUninitialized(splittAfterBytes); +// reader->Serialize(bytes.GetData(), splittAfterBytes); +// if (FFileHelper::SaveArrayToFile(bytes, *getCleanDirectory(directoryType, filePath)) == false) { +// success = false; +// return; +// } +// splittAfterBytes = +// reader->Seek(); +// } +// +//} + +TArray UFileFunctionsSocketClient::readBytesFromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success) { + TArray result; + success = FFileHelper::LoadFileToArray(result, *getCleanDirectory(directoryType, filePath)); + return result; +} + +void UFileFunctionsSocketClient::readStringFromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& data) { + data.Empty(); + success = FFileHelper::LoadFileToString(data, *getCleanDirectory(directoryType, filePath)); +} + +void UFileFunctionsSocketClient::writeStringToFile(EFileFunctionsSocketClientDirectoryType directoryType, FString data, FString filePath, EFileFunctionsSocketClientEncodingOptions fileEncoding, bool& success) { + success = FFileHelper::SaveStringToFile(data, *getCleanDirectory(directoryType, filePath), (FFileHelper::EEncodingOptions)fileEncoding); +} + + + +void UFileFunctionsSocketClient::getMD5FromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& MD5) { + getMD5FromFileAbsolutePath(getCleanDirectory(directoryType, filePath), success, MD5); +} + +void UFileFunctionsSocketClient::getMD5FromFileAbsolutePath(FString filePath, bool& success, FString& MD5) { + MD5.Empty(); + FArchive* reader = IFileManager::Get().CreateFileReader(*filePath); + if (!reader) { + success = false; + return; + } + + TArray byteArrayTmp; + int64 totalSize = reader->TotalSize(); + int64 loadedBytes = 0; + int64 leftUploadBytes = 1024; + + + if (totalSize < leftUploadBytes) + leftUploadBytes = totalSize; + + + uint8 Digest[16]; + FMD5 Md5Gen; + + while ((loadedBytes + leftUploadBytes) <= totalSize) { + byteArrayTmp.Reset(leftUploadBytes); + byteArrayTmp.AddUninitialized(leftUploadBytes); + reader->Serialize(byteArrayTmp.GetData(), byteArrayTmp.Num()); + loadedBytes += leftUploadBytes; + reader->Seek(loadedBytes); + + Md5Gen.Update(byteArrayTmp.GetData(), byteArrayTmp.Num()); + } + + leftUploadBytes = totalSize - loadedBytes; + if (leftUploadBytes > 0) { + byteArrayTmp.Reset(leftUploadBytes); + byteArrayTmp.AddUninitialized(leftUploadBytes); + reader->Serialize(byteArrayTmp.GetData(), byteArrayTmp.Num()); + loadedBytes += leftUploadBytes; + Md5Gen.Update(byteArrayTmp.GetData(), byteArrayTmp.Num()); + } + + if (reader != nullptr) { + reader->Close(); + delete reader; + } + + if (totalSize != loadedBytes) { + success = false; + return; + } + + Md5Gen.Final(Digest); + for (int32 i = 0; i < 16; i++) { + MD5 += FString::Printf(TEXT("%02x"), Digest[i]); + } + + success = true; +} + +void UFileFunctionsSocketClient::stringToBase64String(FString string, FString& base64String) { + base64String.Empty(); + FTCHARToUTF8 Convert(*string); + TArray bytes; + bytes.Append(((uint8*)((ANSICHAR*)Convert.Get())), Convert.Length()); + base64String = FBase64::Encode(bytes); +} + +void UFileFunctionsSocketClient::base64StringToString(FString& string, FString base64String) { + string.Empty(); + TArray bytes; + if (FBase64::Decode(*base64String, bytes)) { + bytes.Add(0x00);// null-terminator + char* Data = (char*)bytes.GetData(); + string = FString(UTF8_TO_TCHAR(Data)); + } +} + + +void UFileFunctionsSocketClient::bytesToBase64String(TArray bytes, FString& base64String) { + base64String.Empty(); + base64String = FBase64::Encode(bytes); +} + +TArray UFileFunctionsSocketClient::base64StringToBytes(FString base64String, bool& success) { + TArray fileData; + if (base64String.Len() % 2 != 0 || base64String.Len() < 4) { + success = false; + return fileData; + } + success = FBase64::Decode(*base64String, fileData); + return fileData; +} + +void UFileFunctionsSocketClient::fileToBase64String(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& base64String, FString& fileName) { + base64String.Empty(); + fileName.Empty(); + TArray fileData; + if (!FFileHelper::LoadFileToArray(fileData, *getCleanDirectory(directoryType, filePath))) { + success = false; + return; + } + base64String = FBase64::Encode(fileData); + success = true; +} + +bool UFileFunctionsSocketClient::fileExists(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPaths::FileExists(*getCleanDirectory(directoryType, filePath)); +} + +bool UFileFunctionsSocketClient::fileExistsAbsolutePath(FString filePath) { + return FPaths::FileExists(*filePath); +} + +bool UFileFunctionsSocketClient::directoryExists(EFileFunctionsSocketClientDirectoryType directoryType, FString path) { + return FPaths::DirectoryExists(*getCleanDirectory(directoryType, path)); +} + +int64 UFileFunctionsSocketClient::fileSize(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().FileSize(*getCleanDirectory(directoryType, filePath)); +} + +int64 UFileFunctionsSocketClient::fileSizeAbsolutePath(FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().FileSize(*filePath); +} + +bool UFileFunctionsSocketClient::deleteFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().DeleteFile(*getCleanDirectory(directoryType, filePath)); +} + +bool UFileFunctionsSocketClient::deleteFileAbsolutePath(FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().DeleteFile(*filePath); +} + + +bool UFileFunctionsSocketClient::deleteDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().DeleteDirectory(*getCleanDirectory(directoryType, filePath)); +} + +bool UFileFunctionsSocketClient::isReadOnly(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().IsReadOnly(*getCleanDirectory(directoryType, filePath)); +} + +bool UFileFunctionsSocketClient::moveFile(EFileFunctionsSocketClientDirectoryType directoryTypeTo, FString filePathTo, EFileFunctionsSocketClientDirectoryType directoryTypeFrom, FString filePathFrom) { + return FPlatformFileManager::Get().GetPlatformFile().MoveFile(*getCleanDirectory(directoryTypeTo, filePathTo), *getCleanDirectory(directoryTypeFrom, filePathFrom)); +} + +bool UFileFunctionsSocketClient::setReadOnly(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool bNewReadOnlyValue) { + return FPlatformFileManager::Get().GetPlatformFile().SetReadOnly(*getCleanDirectory(directoryType, filePath), bNewReadOnlyValue); +} + +FDateTime UFileFunctionsSocketClient::getTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().GetTimeStamp(*getCleanDirectory(directoryType, filePath)); +} + +void UFileFunctionsSocketClient::setTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FDateTime DateTime) { + FPlatformFileManager::Get().GetPlatformFile().SetTimeStamp(*getCleanDirectory(directoryType, filePath), DateTime); +} + +FDateTime UFileFunctionsSocketClient::getAccessTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().GetAccessTimeStamp(*getCleanDirectory(directoryType, filePath)); +} + +FString UFileFunctionsSocketClient::getFilenameOnDisk(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + return FPlatformFileManager::Get().GetPlatformFile().GetFilenameOnDisk(*getCleanDirectory(directoryType, filePath)); +} + +bool UFileFunctionsSocketClient::createDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString path) { + return FPlatformFileManager::Get().GetPlatformFile().CreateDirectory(*getCleanDirectory(directoryType, path)); +} + +void UFileFunctionsSocketClient::getAllFilesFromDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32& count, TArray& files, TArray& filePaths, FString fileType) { + if (filePath.Len() < 1) { + return; + } + files.Empty(); + filePaths.Empty(); + + FString dir = getCleanDirectory(directoryType, filePath); + FPaths::NormalizeDirectoryName(filePath); + + if (!FPaths::DirectoryExists(dir)) { + return; + } + IFileManager& FileManager = IFileManager::Get(); + + dir += "/" + fileType; + + FileManager.FindFiles(files, *dir, true, false); + + + filePath += "/"; + for (int32 i = 0; i < files.Num(); i++) { + filePaths.Add((filePath + files[i])); + //UE_LOG(LogTemp, Display, TEXT("->%s"), *files[i]); + } + count = files.Num(); +} + +FFileFunctionsSocketClientOpenFile UFileFunctionsSocketClient::openFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath){ + + FArchive* writer = IFileManager::Get().CreateFileWriter(*getCleanDirectory(directoryType, filePath), EFileWrite::FILEWRITE_Append); + FFileFunctionsSocketClientOpenFile file; + file.writer = writer; + return file; +} + +int64 UFileFunctionsSocketClient::addBytesToFile(FFileFunctionsSocketClientOpenFile openFile, TArray bytes){ + //UE_LOG(LogTemp, Warning, TEXT("xxxxx WRITE: %i"), bytes.Num()); + if (openFile.writer != nullptr) { + openFile.writer->Seek(openFile.writer->TotalSize()); + openFile.writer->Serialize(bytes.GetData(), bytes.Num()); + //openFile.writer->Flush(); + return openFile.writer->TotalSize(); + } + return 0; +} + +void UFileFunctionsSocketClient::closeFile(FFileFunctionsSocketClientOpenFile openFile){ + if (openFile.writer != nullptr) { + openFile.writer->Close(); + openFile.writer = nullptr; + } +} + + +bool UFileFunctionsSocketClient::encryptFileWithAES(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString newFileName, FString key, bool writeEncryptedFileSizeToFile){ + + if (filePath.IsEmpty() || newFileName.IsEmpty() || key.Len() != 32) { + UE_LOG(LogTemp, Error, TEXT("encryptFileWithAES: FilePath or newFileName empty or wrong key length. The key must consist of 32 ANSI compatible characters.")); + return false; + } + + FString dir = getCleanDirectory(directoryType, filePath); + FString fileName = FPaths::GetCleanFilename(dir); + int64 fileSize = FPlatformFileManager::Get().GetPlatformFile().FileSize(*dir); + + TArray64 data; + if (!FFileHelper::LoadFileToArray(data, *dir)) { + UE_LOG(LogTemp, Error, TEXT("encryptFileWithAES: File could not be loaded: %s"),*dir); + return false; + } + + const int64 encryptedFileSize = Align(data.Num(), FAES::AESBlockSize); + + if (data.Num() < encryptedFileSize) { + data.AddUninitialized(encryptedFileSize - data.Num()); + } + + FAES::EncryptData(data.GetData(), encryptedFileSize, TCHAR_TO_ANSI(*key)); + + dir = dir.Replace(*fileName, *newFileName); + if (FPaths::FileExists(*dir)) { + FPlatformFileManager::Get().GetPlatformFile().DeleteFile(*dir); + } + + FArchive* writer = IFileManager::Get().CreateFileWriter(*dir, EFileWrite::FILEWRITE_Append); + if (!writer) { + UE_LOG(LogTemp, Error, TEXT("encryptFileWithAES: File could not be saved: %s"), *dir); + data.Empty(); + return false; + } + + if (writeEncryptedFileSizeToFile) { + TArray byteArray; + union { + int64 tmpVal; + uint8 tmpArray[8]; + } u; + u.tmpVal = fileSize; + byteArray.AddZeroed(8); + + FMemory::Memcpy(byteArray.GetData(), u.tmpArray, 8); + writer->Serialize(byteArray.GetData(), byteArray.Num()); + byteArray.Empty(); + } + + writer->Serialize(data.GetData(), data.Num()); + writer->Close(); + delete writer; + + data.Empty(); + + + return true; +} + +bool UFileFunctionsSocketClient::decryptFileWithAES(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString newFileName, FString key, + bool hasEncryptedFileSizeInFile, int64 originalFileLength){ + + if (filePath.IsEmpty() || newFileName.IsEmpty() || key.Len() != 32) { + UE_LOG(LogTemp, Error, TEXT("decryptFileWithAES: FilePath or newFileName empty or wrong key length. The key must consist of 32 ANSI compatible characters.")); + return false; + } + + FString dir = getCleanDirectory(directoryType, filePath); + FString fileName = FPaths::GetCleanFilename(dir); + int64 fileSize = FPlatformFileManager::Get().GetPlatformFile().FileSize(*dir); + + FArchive* reader = IFileManager::Get().CreateFileReader(*dir); + if (!reader) { + UE_LOG(LogTemp, Error, TEXT("decryptFileWithAES: File could not be loaded: %s"), *dir); + return false; + } + + if (hasEncryptedFileSizeInFile) { + TArray bytes; + bytes.AddZeroed(8); + reader->Serialize(bytes.GetData(), bytes.Num()); + FMemory::Memcpy(&originalFileLength, bytes.GetData(), 8); + bytes.Empty(); + fileSize = fileSize-8; + } + + if (fileSize < originalFileLength) { + originalFileLength = fileSize; + UE_LOG(LogTemp, Warning, TEXT("decryptFileWithAES: The encrypted file size is smaller than the original file size. File may be corrupted: %s"), *dir); + return false; + } + + TArray64 data; + data.AddUninitialized(fileSize); + reader->Serialize(data.GetData(), data.Num()); + reader->Close(); + delete reader; + + + const int64 encryptedFileSize = Align(data.Num(), FAES::AESBlockSize); + if (data.Num() < encryptedFileSize) { + UE_LOG(LogTemp, Error, TEXT("decryptFileWithAES: Wrong data length. File could not be decrypted: %s"),*dir); + return false; + } + + FAES::DecryptData(data.GetData(), encryptedFileSize, TCHAR_TO_ANSI(*key)); + + dir = dir.Replace(*fileName, *newFileName); + if (FPaths::FileExists(*dir)) { + FPlatformFileManager::Get().GetPlatformFile().DeleteFile(*dir); + } + + FArchive* writer = IFileManager::Get().CreateFileWriter(*dir, EFileWrite::FILEWRITE_Append); + if (!writer) { + UE_LOG(LogTemp, Error, TEXT("encryptFileWithAES: File could not be saved: %s"), *dir); + data.Empty(); + return false; + } + writer->Serialize(data.GetData(), originalFileLength); + writer->Close(); + delete writer; + + data.Empty(); + return true; +} + +FString UFileFunctionsSocketClient::encryptMessageWithAES(FString message, FString key) { + + if (message.IsEmpty() || key.Len() != 32) { + UE_LOG(LogTemp, Error, TEXT("encryptMessageWithAES:Message empty or wrong key length. The key must consist of 32 ANSI compatible characters.")); + return FString(); + } + + TArray data = FStringToByteArray(message); + data.Add(0x00);// null-terminator + const int64 encryptedFileSize = Align(data.Num(), FAES::AESBlockSize); + + if (data.Num() < encryptedFileSize){ + data.AddUninitialized(encryptedFileSize-data.Num()); + } + + FAES::EncryptData(data.GetData(), encryptedFileSize, TCHAR_TO_ANSI(*key)); + + FString encryptedBase64String = FString(); + bytesToBase64String(data, encryptedBase64String); + + data.Empty(); + + return encryptedBase64String; +} + +FString UFileFunctionsSocketClient::decryptMessageWithAES(FString message, FString key) { + if (message.IsEmpty() || key.Len() != 32) { + UE_LOG(LogTemp, Error, TEXT("decryptMessageFromAES: Message empty or wrong key length. The key must consist of 32 ANSI compatible characters.")); + return FString(); + } + + bool success = false; + TArray data = base64StringToBytes(message, success); + + + const int64 encryptedFileSize = Align(data.Num(), FAES::AESBlockSize); + if (data.Num() < encryptedFileSize) { + UE_LOG(LogTemp, Error, TEXT("decryptMessageFromAES: Wrong string length. Message could not be decrypted.")); + return FString(); + } + + FAES::DecryptData(data.GetData(), encryptedFileSize, TCHAR_TO_ANSI(*key)); + + FString s = FString(UTF8_TO_TCHAR((char*)data.GetData())); + + data.Empty(); + + return s; +} + + +TArray UFileFunctionsSocketClient::FStringToByteArray(FString s) { + FTCHARToUTF8 Convert(*s); + TArray data; + data.Append((uint8*)Convert.Get(), Convert.Length()); + return data; +} + + +FString UFileFunctionsSocketClient::int64ToString(int64 Num) { + FString str = FString(); + const TCHAR* DigitToChar = TEXT("9876543210123456789"); + constexpr int64 ZeroDigitIndex = 9; + bool bIsNumberNegative = Num < 0; + const int64 TempBufferSize = 32; // 32 is big enough + TCHAR TempNum[TempBufferSize]; + int64 TempAt = TempBufferSize; // fill the temp string from the top down. + + // Convert to string assuming base ten. + do + { + TempNum[--TempAt] = DigitToChar[ZeroDigitIndex + (Num % 10)]; + Num /= 10; + } while (Num); + + if (bIsNumberNegative) + { + TempNum[--TempAt] = TEXT('-'); + } + + const TCHAR* CharPtr = TempNum + TempAt; + const int64 NumChars = TempBufferSize - TempAt; + str.Append(CharPtr, NumChars); + + return str; +} + + + + +void UFileFunctionsSocketClient::readBytesFromFileInPartsAsync(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 bufferSize, float delayBetweenReadsInSeconds) { + UFileFunctionsSocketClient::getFileFunctionsSocketClientTarget()->readBytesFromFileInPartsAsyncInternal(directoryType, filePath, bufferSize, delayBetweenReadsInSeconds); +} + +void UFileFunctionsSocketClient::readBytesFromFileInPartsAsyncInternal(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 bufferSize, float delayBetweenReadsInSeconds) { + + FString dir = UFileFunctionsSocketClient::getCleanDirectory(directoryType, filePath); + + if (readFileInPartsThreads.Find(*dir) != nullptr) { + UE_LOG(LogTemp, Warning, TEXT("ReadBytesFromFileInPartsAsync: %s is being read already. Operation canceled."), *dir); + return; + } + + FReadFileInPartsSocketClientThread* readThread = new FReadFileInPartsSocketClientThread(dir, bufferSize, delayBetweenReadsInSeconds); + readFileInPartsThreads.Add(dir, readThread); +} + +void UFileFunctionsSocketClient::cancelReadBytesFromFileInParts(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + UFileFunctionsSocketClient::getFileFunctionsSocketClientTarget()->cancelReadBytesFromFileInPartsInternal(directoryType, filePath); +} + +void UFileFunctionsSocketClient::cancelReadBytesFromFileInPartsInternal(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath) { + FString dir = UFileFunctionsSocketClient::getCleanDirectory(directoryType, filePath); + + if (readFileInPartsThreads.Find(*dir) != nullptr) { + (*readFileInPartsThreads.Find(*dir))->stopThread(); + } +} + +void UFileFunctionsSocketClient::cleanReadBytesFromFileInParts(FString cleanDir) { + if (readFileInPartsThreads.Find(*cleanDir) != nullptr) { + readFileInPartsThreads.Remove(*cleanDir); + } +} + +//void UFileFunctionsSocketClient::changeDelayInBytesFromFileInParts(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, float delayBetweenReadsInSeconds) { +// FString dir = UFileFunctionsSocketClient::getCleanDirectory(directoryType, filePath); +// +// if (readFileInPartsThreads.Find(*dir) != nullptr) { +// (*readFileInPartsThreads.Find(*dir))->setDelayBetweenReadsInSeconds(delayBetweenReadsInSeconds); +// } +//} diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClient.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClient.cpp new file mode 100644 index 0000000..27b18e3 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClient.cpp @@ -0,0 +1,23 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. +#include "SocketClient.h" + +#define LOCTEXT_NAMESPACE "FSocketClientModule" + +bool FSocketClientModule::isShuttingDown; + +void FSocketClientModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module + +} + +void FSocketClientModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. + isShuttingDown = true; +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FSocketClientModule, SocketClient) \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientAsyncNodes.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientAsyncNodes.cpp new file mode 100644 index 0000000..88e911a --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientAsyncNodes.cpp @@ -0,0 +1,82 @@ +// Copyright 2022 David Romanski(Socke). All Rights Reserved. + +#include "SocketClientAsyncNodes.h" + + +/*--- TCP -------------------------------------------------------------------------------------------------------------*/ + +UTCPConnectAsyncNode* UTCPConnectAsyncNode::socketClientTCPConnectionAsyncNode(FString domainOrI, ESocketClientIPType ipType, int32 port, + EReceiveFilterClient receiveFilters, ESocketClientTCPSeparator messageWrapping, FString optionalCustomConnectionID, bool disableNaglesAlgorithm) { + + UTCPConnectAsyncNode* instance = NewObject(); + + instance->domainOrIP = domainOrI; + instance->ipType = ipType; + instance->port = port; + instance->receiveFilters = receiveFilters; + instance->messageWrapping = messageWrapping; + instance->optionalCustomConnectionID = optionalCustomConnectionID; + instance->disableNaglesAlgorithm = disableNaglesAlgorithm; + + instance->AddToRoot(); + + //The node is only visible in Blueprints if the function is declared in a UBlueprintAsyncActionBase class. + //Therefore an instance of itself is created here. + return instance; +} + +void UTCPConnectAsyncNode::Activate() { + USocketClientBPLibrary::getSocketClientTarget()->connectSocketClientTCPNonStatic(domainOrIP, ipType, port, receiveFilters, + messageWrapping,optionalCustomConnectionID, connectionID, this, disableNaglesAlgorithm); +} + +void UTCPConnectAsyncNode::triggerConnectionEvent(bool success, FString clientConnectionID, FString serverMessage){ + if (success) { + OnConnect.Broadcast(serverMessage, clientConnectionID, "", TArray()); + } + else { + OnDisconnect.Broadcast(serverMessage, clientConnectionID, "", TArray()); + } +} + +void UTCPConnectAsyncNode::triggerMessageEvent(TArray byteDataArray, FString clientConnectionID, FString serverMessage){ + OnServerMessage.Broadcast("",clientConnectionID,serverMessage,byteDataArray); +} + + +/*--- UDP -------------------------------------------------------------------------------------------------------------*/ + +UUDPInitAsyncNode* UUDPInitAsyncNode::socketClientInitUDPReceiverAsyncNode(FString domainOrIP,ESocketClientIPType ipType, int32 port, + EReceiveFilterClient receiveFilter, int32 maxPacketSize) { + + UUDPInitAsyncNode* instance = NewObject(); + + instance->domainOrIP = domainOrIP; + instance->ipType = ipType; + instance->port = port; + instance->receiveFilter = receiveFilter; + instance->maxPacketSize = maxPacketSize; + instance->AddToRoot(); + + //The node is only visible in Blueprints if the function is declared in a UBlueprintAsyncActionBase class. + //Therefore an instance of itself is created here. + return instance; +} + +void UUDPInitAsyncNode::Activate() { + USocketClientBPLibrary::getSocketClientTarget()->socketClientInitUDPReceiverNonStatic(connectionID, this,domainOrIP, ipType, port, + receiveFilter, maxPacketSize); +} + +void UUDPInitAsyncNode::triggerInitEvent(bool success, FString clientConnectionID, FString serverMessage) { + if (success) { + OnSuccess.Broadcast(serverMessage, clientConnectionID,"",0, "", TArray()); + } + else { + OnFail.Broadcast(serverMessage, clientConnectionID, "",0,"", TArray()); + } +} + +void UUDPInitAsyncNode::triggerMessageEvent(TArray byteDataArray, FString clientConnectionID, FString serverMessage, FString peerIP, int32 peerPort) { + OnServerMessage.Broadcast("", clientConnectionID,peerIP, peerPort, serverMessage, byteDataArray); +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientBPLibrary.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientBPLibrary.cpp new file mode 100644 index 0000000..a405955 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientBPLibrary.cpp @@ -0,0 +1,734 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientBPLibrary.h" +#include "SocketClient.h" + +USocketClientBPLibrary* USocketClientBPLibrary::socketClientBPLibrary; + +USocketClientBPLibrary::USocketClientBPLibrary(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) { + + socketClientBPLibrary = this; + + if (socketClientCleanerThread == nullptr) + socketClientCleanerThread = new FSocketClientCleanerThread(); +} + +/*Delegate functions*/ +void USocketClientBPLibrary::socketClientTCPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionIDP) {} +void USocketClientBPLibrary::receiveTCPMessageEventDelegate(const FString message, const TArray& byteArray, const FString clientConnectionIDP) {} +void USocketClientBPLibrary::socketClientUDPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID) {} +void USocketClientBPLibrary::receiveUDPMessageEventDelegate(const FString message, const TArray& byteArray, const FString IP, const int32 port,const FString clientConnectionID) {} +void USocketClientBPLibrary::transferFileOverTCPProgressEventDelegate(const FString clientConnectionID, const FString filePath, const float percent, const float mbit, const int64 bytesSend, const int64 fileSize){} +void USocketClientBPLibrary::fileTransferOverTCPInfoEventDelegate(const FString message, const FString clientConnectionID, const FString filePath, const bool success){} +void USocketClientBPLibrary::readBytesFromFileInPartsEventDelegate(const int64 fileSize, const int64 position, const bool end, const TArray& byteArray){} + + +USocketClientBPLibrary::~USocketClientBPLibrary() { + +} + +USocketClientBPLibrary* USocketClientBPLibrary::getSocketClientTarget() { + return socketClientBPLibrary; +} + + + +FString USocketClientBPLibrary::getLocalIP() { + bool canBind = false; + TSharedRef localIp = USocketClientBPLibrary::getSocketClientTarget()->getSocketSubSystem()->GetLocalHostAddr(*GLog, canBind); + + if (localIp->IsValid()) { + FString localIP = localIp->ToString(false); + if (localIP.Equals("127.0.0.1")) { + UE_LOG(LogTemp, Error, TEXT("Could not detect the local IP.")); + return "0.0.0.0"; + } + return localIp->ToString(false); + } + else { + UE_LOG(LogTemp, Error, TEXT("Could not detect the local IP.")); + } + return "0.0.0.0"; +} + + +void USocketClientBPLibrary::connectSocketClientTCP(FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilters, + ESocketClientTCPSeparator messageSeparator, FString optionalCustomConnectionID, FString& connectionID, bool disableNaglesAlgorithm){ + USocketClientBPLibrary::getSocketClientTarget()->connectSocketClientTCPNonStatic(domainOrIP, ipType, port, receiveFilters, + messageSeparator,optionalCustomConnectionID, connectionID, nullptr,disableNaglesAlgorithm); +} + +void USocketClientBPLibrary::connectSocketClientTCPNonStatic(FString domain, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, + ESocketClientTCPSeparator messageSeparator, FString optionalCustomConnectionID, FString& connectionID, UTCPConnectAsyncNode* tcpConnectAsyncNode, bool noPacketDelay) { + + USocketClientTCPClient* tcpClient = NewObject(USocketClientTCPClient::StaticClass()); + if (optionalCustomConnectionID.IsEmpty()) { + connectionID = FGuid::NewGuid().ToString(); + } + else { + connectionID = optionalCustomConnectionID; + if (tcpClients.Find(connectionID) != nullptr) { + FString serverMessage = "An existing connection with this ID was found. Connection establishment was aborted"; + UE_LOG(LogTemp, Warning, TEXT("An existing connection with this ID was found. Connection establishment was aborted. %s"), *connectionID); + onsocketClientTCPConnectionEventDelegate.Broadcast(false, serverMessage, connectionID); + + tcpClient->onsocketClientTCPConnectionEventDelegate.Broadcast(false, serverMessage, connectionID); + if (tcpConnectAsyncNode != nullptr) { + tcpConnectAsyncNode->triggerConnectionEvent(false, connectionID, serverMessage); + } + + return; + } + } + + tcpClients.Add(connectionID, tcpClient); + tcpClient->connect(this, domain, ipType, port, receiveFilter, messageSeparator, connectionID,tcpConnectAsyncNode, noPacketDelay, false); +} + +void USocketClientBPLibrary::socketClientSendTCP(FString connectionID, FString message, TArray byteArray, bool addLineBreak){ + USocketClientBPLibrary::getSocketClientTarget()->socketClientSendTCPNonStatic(connectionID, message, byteArray, addLineBreak); +} + +void USocketClientBPLibrary::socketClientSendTCPNonStatic(FString connectionID,FString message, TArray byteArray, bool addLineBreak) { + + if (connectionID.IsEmpty() || tcpClients.Find(connectionID) == nullptr) { + //don't send to many error messages. one second = 10000000 ticks + if (((FDateTime::Now().GetTicks()) - lastErrorMessageTime) >= 10000000) { + UE_LOG(LogTemp, Error, TEXT("Connection not found (socketClientSendTCPMessage). %s"), *connectionID); + lastErrorMessageTime = FDateTime::Now().GetTicks(); + } + return; + } + + if (message.Len() > 0) { + if (addLineBreak) { + message.Append("\r\n"); + } + } + + + + USocketClientTCPClient* tcpClient = *tcpClients.Find(connectionID); + tcpClient->sendMessage(message, byteArray); + +} + +void USocketClientBPLibrary::socketClientSendFileOverTCP(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, + EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString token, FString Aes256bitKey){ + + USocketClientBPLibrary::getSocketClientTarget()->socketClientSendFileOverTCPNonStatic(connectionID, domainOrIP, ipType, + port, directoryType, filePath, token, Aes256bitKey); +} + +void USocketClientBPLibrary::socketClientSendFileOverTCPNonStatic(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, + int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString token, FString Aes256bitKey){ + + USocketClientTCPClient* tcpClient = NewObject(USocketClientTCPClient::StaticClass()); + connectionID = FGuid::NewGuid().ToString(); + tcpClients.Add(connectionID, tcpClient); + tcpClient->sendFile(this, connectionID, domainOrIP, ipType, port, directoryType, filePath, token, Aes256bitKey); +} + +void USocketClientBPLibrary::socketClientRequestFileOverTCP(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, + EFileFunctionsSocketClientDirectoryType directoryType, FString downloadDirectory, bool resume, FString token, FString Aes256bitKey){ + + USocketClientBPLibrary::getSocketClientTarget()->socketClientRequestFileOverTCPNonStatic(connectionID, domainOrIP, ipType, port, + directoryType, downloadDirectory, resume, token, Aes256bitKey); +} + +void USocketClientBPLibrary::socketClientRequestFileOverTCPNonStatic(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, + EFileFunctionsSocketClientDirectoryType directoryType, FString downloadDirectory, bool resume, FString token, FString Aes256bitKey) { + USocketClientTCPClient* tcpClient = NewObject(USocketClientTCPClient::StaticClass()); + connectionID = FGuid::NewGuid().ToString(); + tcpClients.Add(connectionID, tcpClient); + tcpClient->requestFile(this, connectionID, domainOrIP, ipType, port, directoryType, downloadDirectory, resume,token, Aes256bitKey); +} + + + +void USocketClientBPLibrary::closeSocketClientConnectionTCP(FString connectionID){ + USocketClientBPLibrary::getSocketClientTarget()->closeSocketClientConnectionTCPNonStatic(connectionID); +} + +void USocketClientBPLibrary::closeSocketClientConnectionTCPNonStatic(FString connectionID){ + if (connectionID.IsEmpty()) { + return; + } + + if (tcpClients.Find(connectionID) == nullptr) { + UE_LOG(LogTemp, Error, TEXT("Connection not found (closeSocketClientTCPConnection). %s"), *connectionID); + return; + } + + USocketClientTCPClient* tcpClient = *tcpClients.Find(connectionID); + if (tcpClient != nullptr) { + if (tcpClient->isRun()) { + tcpClient->closeConnection(); + } + } + tcpClients.Remove(connectionID); + tcpClient = nullptr; +} + +void USocketClientBPLibrary::closeAllSocketClientConnectionsTCP(){ + USocketClientBPLibrary::getSocketClientTarget()->closeAllSocketClientConnectionsTCPNonStatic(); +} + +void USocketClientBPLibrary::closeAllSocketClientConnectionsTCPNonStatic(){ + + TArray tmpArray; + tcpClients.GetKeys(tmpArray); + + for (int32 i = 0; i < tmpArray.Num(); i++){ + closeSocketClientConnectionTCPNonStatic(tmpArray[i]); + } + +} + +void USocketClientBPLibrary::getTCPConnectionByConnectionID(FString connectionID, bool& found, USocketClientTCPClient*& connection){ + USocketClientBPLibrary::getSocketClientTarget()->getTCPConnectionByConnectionIDNonStatic(connectionID, found, connection); +} + +void USocketClientBPLibrary::getTCPConnectionByConnectionIDNonStatic(FString connectionID, bool& found, USocketClientTCPClient* &connection){ + if (connectionID.IsEmpty() || tcpClients.Find(connectionID) == nullptr) { + found = false; + connection = nullptr; + return; + } + + found = true; + connection = *tcpClients.Find(connectionID); +} + +bool USocketClientBPLibrary::isTCPConnected(FString connectionID){ + return USocketClientBPLibrary::getSocketClientTarget()->isTCPConnectedNonStatic(connectionID); +} + +bool USocketClientBPLibrary::isTCPConnectedNonStatic(FString connectionID){ + if (connectionID.IsEmpty() || tcpClients.Find(connectionID) == nullptr) { + return false; + } + + USocketClientTCPClient* tcpClient = *tcpClients.Find(connectionID); + if (tcpClient->isRun() && tcpClient->isConnected()) { + return true; + } + + return false; +} + + +void USocketClientBPLibrary::socketClientInitUDPReceiver(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, int32 maxPacketSize){ + USocketClientBPLibrary::getSocketClientTarget()->socketClientInitUDPReceiverNonStatic(connectionID,nullptr, domainOrIP, ipType, port, receiveFilter, maxPacketSize); +} + +void USocketClientBPLibrary::socketClientInitUDPReceiverNonStatic(FString& connectionID, UUDPInitAsyncNode* udpInitAsyncNode, FString domain, + ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, int32 maxPacketSize) { + + FString key = domain + FString::FromInt(port); + if (udpClients.Find(key) != nullptr) { + USocketClientUDP* udpClient = *udpClients.Find(key); + connectionID = udpClient->getConnectionID(); + FString info = "Connection already present:" + domain + ":" + FString::FromInt(port); + onsocketClientUDPConnectionEventDelegate.Broadcast(true,info , connectionID); + if (udpInitAsyncNode != nullptr) { + udpInitAsyncNode->triggerInitEvent(true, connectionID, info); + } + return; + } + + USocketClientUDP* udpClient = NewObject(USocketClientUDP::StaticClass()); + connectionID = FGuid::NewGuid().ToString(); + udpClients.Add(connectionID, udpClient); + udpClients.Add(key, udpClient); + udpClient->init(this, udpInitAsyncNode, domain, ipType, port, receiveFilter, connectionID, maxPacketSize); +} + + +void USocketClientBPLibrary::socketClientSendUDP(FString domainOrIP, ESocketClientIPType ipType, int32 port, FString message, TArray byteArray, bool addLineBreak, FString connectionID){ + USocketClientBPLibrary::getSocketClientTarget()->socketClientSendUDPNonStatic(domainOrIP, ipType, port, message, byteArray, addLineBreak, connectionID); +} + +void USocketClientBPLibrary::socketClientSendUDPNonStatic(FString domain, ESocketClientIPType ipType, int32 port, FString message, TArray byteArray, bool addLineBreak, FString clientConnectionIDP) { + + if (clientConnectionIDP.IsEmpty() || udpClients.Find(clientConnectionIDP) == nullptr) { + //don't send to many error messages. one second = 10000000 ticks + if (((FDateTime::Now().GetTicks()) - lastErrorMessageTime) >= 10000000) { + UE_LOG(LogTemp, Error, TEXT("Connection not found (socketClientSendUDPMessage). %s"), *clientConnectionIDP); + lastErrorMessageTime = FDateTime::Now().GetTicks(); + } + return; + } + + if (message.Len() > 0 && addLineBreak) { + message.Append("\r\n"); + } + USocketClientUDP* udpClient = *udpClients.Find(clientConnectionIDP); + udpClient->sendUDPMessage(domain, ipType, port, message, byteArray); +} + + + +void USocketClientBPLibrary::closeSocketClientConnectionUDP(FString connectionID){ + USocketClientBPLibrary::getSocketClientTarget()->closeSocketClientConnectionUDPNonStatic(connectionID); +} + +void USocketClientBPLibrary::closeSocketClientConnectionUDPNonStatic(FString connectionID) { + if (connectionID.IsEmpty()) { + return; + } + if (udpClients.Find(connectionID) == nullptr) { + UE_LOG(LogTemp, Warning, TEXT("Connection not found (closeSocketClientUDPConnection). %s"), *connectionID); + return; + } + + USocketClientUDP* udpClient = *udpClients.Find(connectionID); + udpClient->closeUDPConnection(); + udpClients.Remove(connectionID); + + FString key = udpClient->getDomainOrIP() + FString::FromInt(udpClient->getPort()); + udpClients.Remove(key); + udpClient = nullptr; +} + +void USocketClientBPLibrary::getUDPInitializationByConnectionID(FString connectionID, bool& found, USocketClientUDP*& connection){ + USocketClientBPLibrary::getSocketClientTarget()->getUDPInitializationByConnectionIDNonStatic(connectionID, found, connection); +} + +void USocketClientBPLibrary::getUDPInitializationByConnectionIDNonStatic(FString connectionID, bool& found, USocketClientUDP*& connection){ + if (connectionID.IsEmpty() || udpClients.Find(connectionID) == nullptr) { + found = false; + connection = nullptr; + return; + } + + found = true; + connection = *udpClients.Find(connectionID); +} + +bool USocketClientBPLibrary::isUDPInitialized(FString connectionID){ + return USocketClientBPLibrary::getSocketClientTarget()->isUDPInitializedNonStatic(connectionID); +} + +bool USocketClientBPLibrary::isUDPInitializedNonStatic(FString connectionID){ + if (connectionID.IsEmpty() || udpClients.Find(connectionID) == nullptr) { + return false; + } + + return (*udpClients.Find(connectionID))->isRun(); +} + +void USocketClientBPLibrary::changeSocketPlatform(ESocketPlatformClient platform) { + USocketClientBPLibrary::getSocketClientTarget()->systemSocketPlatform = platform; +} + +FString USocketClientBPLibrary::resolveDomain(FString serverDomainP, ESocketClientIPType ipType) { + + FString* cachedDomainPointer = domainCache.Find(serverDomainP); + if (cachedDomainPointer != nullptr) { + return *cachedDomainPointer; + } + + //is IPv4? + if (ipType == ESocketClientIPType::E_ipv4) { + TArray ipNumbers; + int32 lineCount = serverDomainP.ParseIntoArray(ipNumbers, TEXT("."), true); + if (lineCount == 4 && serverDomainP.Len() <= 15 && serverDomainP.Len() >= 7) { + domainCache.Add(serverDomainP, serverDomainP); + return serverDomainP; + } + } + + //is IPv6? Just a simple check + if (ipType == ESocketClientIPType::E_ipv6) { + TArray ipNumbers; + int32 lineCount = serverDomainP.ParseIntoArray(ipNumbers, TEXT(":"), true); + if (lineCount >= 2) { + domainCache.Add(serverDomainP, serverDomainP); + return serverDomainP; + } + } + + //resolve Domain + ISocketSubsystem* sSS = USocketClientBPLibrary::getSocketSubSystem(); + + FResolveInfo* ResolveInfo = sSS->GetHostByName(TCHAR_TO_ANSI(*serverDomainP)); + while (!ResolveInfo->IsComplete()); + + int32 errorCode = ResolveInfo->GetErrorCode(); + if (errorCode == 0) { + const FInternetAddr* Addr = &ResolveInfo->GetResolvedAddress(); + uint32 OutIP = 0; + FString adr = Addr->ToString(false); + domainCache.Add(serverDomainP, adr); + return adr; + } + else { + if (dnsClient == nullptr) + dnsClient = NewObject(UDNSClientSocketClient::StaticClass()); + dnsClient->resolveDomain(sSS, serverDomainP); + int32 timeout = 1000; + while (dnsClient->isResloving() && timeout > 0) { + timeout -= 10; + FPlatformProcess::Sleep(0.01); + } + FString adr = dnsClient->getIP(); + domainCache.Add(serverDomainP, adr); + return adr; + } + + return serverDomainP; +} + +void USocketClientBPLibrary::cleanConnection(FSocketClientPluginSession& session){ + socketClientCleanerThread->addSession(session); +} + + +void USocketClientBPLibrary::changeCleanerThreadSettingsOnClient(bool showLogs, int32 minLiveTimeInSeconds){ + if (USocketClientBPLibrary::getSocketClientTarget()->socketClientCleanerThread != nullptr) { + USocketClientBPLibrary::getSocketClientTarget()->socketClientCleanerThread->changeSettings(showLogs, minLiveTimeInSeconds); + } +} + +void USocketClientBPLibrary::getSystemType(ESocketClientSystem& system) { +#if PLATFORM_ANDROID + system = ESocketClientSystem::Android; + return; +#endif +#if PLATFORM_IOS + system = ESocketClientSystem::IOS; + return; +#endif +#if PLATFORM_WINDOWS + system = ESocketClientSystem::Windows; + return; +#endif +#if PLATFORM_LINUX + system = ESocketClientSystem::Linux; + return; +#endif +#if PLATFORM_MAC + system = ESocketClientSystem::Mac; + return; +#endif +} + +TArray USocketClientBPLibrary::parseHexToBytes(FString hex) { + TArray bytes; + + if (hex.Contains(" ")) { + hex = hex.Replace(TEXT(" "), TEXT("")); + } + + if (hex.Len() % 2 != 0) { + UE_LOG(LogTemp, Error, TEXT("This is not a valid hex string: %s"), *hex); + return bytes; + } + + + TArray charArray = hex.GetCharArray(); + for (int32 i = 0; i < (charArray.Num() - 1); i++) { + if (CheckTCharIsHex(charArray[i]) == false) { + UE_LOG(LogTemp, Error, TEXT("This is not a valid hex string: %s"), *hex); + return bytes; + } + } + + + bytes.AddZeroed(hex.Len() / 2); + HexToBytes(hex, bytes.GetData()); + + return bytes; +} + +FString USocketClientBPLibrary::parseHexToString(FString hex) { + TArray bytes = parseHexToBytes(hex); + bytes.Add(0x00);// null-terminator + char* Data = (char*)bytes.GetData(); + return FString(UTF8_TO_TCHAR(Data)); +} + +FString USocketClientBPLibrary::parseBytesToHex(TArray bytes) { + FString hex; + hex = BytesToHex(bytes.GetData(), bytes.Num()); + return hex; +} + +TArray USocketClientBPLibrary::parseHexToBytesPure(FString hex) { + return parseHexToBytes(hex); +} + +FString USocketClientBPLibrary::parseHexToStringPure(FString hex) { + return parseHexToString(hex); +} + +FString USocketClientBPLibrary::parseBytesToHexPure(TArray bytes) { + return parseBytesToHex(bytes); +} + +void USocketClientBPLibrary::parseBytesToFloat(TArray bytes, float& value) { + + if (bytes.Num() != 4) { + UE_LOG(LogTemp, Error, TEXT("ParseBytesToFloat: Cannot convert bytes to float. Array must contain 4 bytes but has %i bytes."), bytes.Num()); + return; + } + + FMemory::Memcpy(&value, bytes.GetData(), 4); + +} + +void USocketClientBPLibrary::parseBytesToInteger(TArray bytes, int32& value) { + + + if (bytes.Num() != 4) { + UE_LOG(LogTemp, Error, TEXT("ParseBytesToInteger: Cannot convert bytes to integer. Array must contain 4 bytes but has %i bytes."), bytes.Num()); + return; + } + + FMemory::Memcpy(&value, bytes.GetData(), 4); +} + +void USocketClientBPLibrary::parseBytesToInteger64(TArray bytes, int64& value) { + + + if (bytes.Num() != 8) { + UE_LOG(LogTemp, Error, TEXT("ParseBytesToInteger64: Cannot convert bytes to integer. Array must contain 8 bytes but has %i bytes."), bytes.Num()); + return; + } + + FMemory::Memcpy(&value, bytes.GetData(), 8); +} + +void USocketClientBPLibrary::parseBytesToFloatPure(TArray bytes, float& value){ + parseBytesToFloat(bytes, value); +} + +void USocketClientBPLibrary::parseBytesToIntegerPure(TArray bytes, int32& value){ + parseBytesToInteger(bytes, value); +} + +void USocketClientBPLibrary::parseBytesToInteger64Pure(TArray bytes, int64& value){ + parseBytesToInteger64(bytes, value); +} + +void USocketClientBPLibrary::parseBytesToFloatEndian(TArray bytes, float& littleEndian, float& bigEndian) { + littleEndian = 0.f; + bigEndian = 0.f; + + if (bytes.Num() != 4) { + UE_LOG(LogTemp, Error, TEXT("ParseBytesToFloat: Cannot convert bytes to float. Array must contain 4 bytes but has %i bytes."), bytes.Num()); + return; + } + + uint8 littleEndianChar[] = { bytes[0], bytes[1], bytes[2], bytes[3] }; + FMemory::Memcpy(&littleEndian, &littleEndianChar, sizeof(littleEndian)); + + uint8 bigEndianChar[] = { bytes[3], bytes[2], bytes[1], bytes[0] }; + FMemory::Memcpy(&bigEndian, &bigEndianChar, sizeof(bigEndian)); +} + +void USocketClientBPLibrary::parseBytesToIntegerEndian(TArray bytes, int32& littleEndian, int32& bigEndian){ + littleEndian = 0; + bigEndian = 0; + + if (bytes.Num() != 4){ + UE_LOG(LogTemp, Error, TEXT("ParseBytesToInteger: Cannot convert bytes to integer. Array must contain 4 bytes but has %i bytes."), bytes.Num()); + return; + } + + + uint8 littleEndianChar[] = { bytes[0], bytes[1], bytes[2], bytes[3] }; + FMemory::Memcpy(&littleEndian, &littleEndianChar, sizeof(littleEndian)); + + uint8 bigEndianChar[] = { bytes[3], bytes[2], bytes[1], bytes[0] }; + FMemory::Memcpy(&bigEndian, &bigEndianChar, sizeof(bigEndian)); +} + +void USocketClientBPLibrary::parseBytesToInteger64Endian(TArray bytes, int64& littleEndian, int64& bigEndian) { + littleEndian = 0; + bigEndian = 0; + + if (bytes.Num() != 8) { + UE_LOG(LogTemp, Error, TEXT("ParseBytesToInteger64: Cannot convert bytes to integer. Array must contain 8 bytes but has %i bytes."), bytes.Num()); + return; + }return; + + uint8 littleEndianChar[] = { bytes[0], bytes[1], bytes[2], bytes[3],bytes[4], bytes[5], bytes[6], bytes[7] }; + FMemory::Memcpy(&littleEndian, &littleEndianChar, sizeof(littleEndian)); + + uint8 bigEndianChar[] = { bytes[7], bytes[6], bytes[5], bytes[4], bytes[3], bytes[2], bytes[1], bytes[0] }; + FMemory::Memcpy(&bigEndian, &bigEndianChar, sizeof(bigEndian)); +} + +void USocketClientBPLibrary::parseFloatToBytes(TArray& byteArray, float value, bool switchByteOrder){ + union { + float tmpVal; + uint8 tmpArray[4]; + } u; + u.tmpVal = value; + byteArray.AddUninitialized(4); + + FMemory::Memcpy(byteArray.GetData(), u.tmpArray, 4); + + if (switchByteOrder) { + byteArray.SwapMemory(3, 0); + byteArray.SwapMemory(2, 1); + } +} + +void USocketClientBPLibrary::parseIntegerToBytes(TArray& byteArray, int32 value, bool switchByteOrder){ + union { + int32 tmpVal; + uint8 tmpArray[4]; + } u; + u.tmpVal = value; + byteArray.AddUninitialized(4); + + FMemory::Memcpy(byteArray.GetData(), u.tmpArray, 4); + + if (switchByteOrder) { + byteArray.SwapMemory(3, 0); + byteArray.SwapMemory(2, 1); + } +} + +void USocketClientBPLibrary::parseInteger64ToBytes(TArray& byteArray, int64 value, bool switchByteOrder){ + union { + int64 tmpVal; + uint8 tmpArray[8]; + } u; + u.tmpVal = value; + byteArray.AddUninitialized(8); + + FMemory::Memcpy(byteArray.GetData(), u.tmpArray, 8); + + if (switchByteOrder) { + byteArray.SwapMemory(7, 0); + byteArray.SwapMemory(6, 1); + byteArray.SwapMemory(5, 2); + byteArray.SwapMemory(4, 3); + } +} + +void USocketClientBPLibrary::parseFloatToBytesPure(TArray& byteArray, float value, bool switchByteOrder){ + parseFloatToBytes(byteArray, value, switchByteOrder); +} + +void USocketClientBPLibrary::parseIntegerToBytesPure(TArray& byteArray, int32 value, bool switchByteOrder){ + parseIntegerToBytes(byteArray, value, switchByteOrder); +} + +void USocketClientBPLibrary::parseInteger64ToBytesPure(TArray& byteArray, int64 value, bool switchByteOrder){ + parseInteger64ToBytes(byteArray, value, switchByteOrder); +} + +void USocketClientBPLibrary::parseBytesToFloatArrayPure(TArray& value, TArray bytes) { + if (bytes.Num() == 0 && bytes.Num() % 4 != 0) + return; + value.Empty(); + value.AddUninitialized(bytes.Num() / 4); + FMemory::Memcpy(value.GetData(), bytes.GetData(), bytes.Num()); +} + +void USocketClientBPLibrary::parseBytesToIntegerArrayPure(TArray& value, TArray bytes) { + if (bytes.Num() == 0 && bytes.Num() % 4 != 0) + return; + value.Empty(); + value.AddUninitialized(bytes.Num() / 4); + FMemory::Memcpy(value.GetData(), bytes.GetData(), bytes.Num()); +} + +void USocketClientBPLibrary::parseBytesToInteger64ArrayPure(TArray& value, TArray bytes) { + if (bytes.Num() == 0 && bytes.Num() % 8 != 0) + return; + value.Empty(); + value.AddUninitialized(bytes.Num() / 8); + FMemory::Memcpy(value.GetData(), bytes.GetData(), bytes.Num()); +} + +void USocketClientBPLibrary::parseFloatArrayToBytesPure(TArray& byteArray, TArray value) { + byteArray.Empty(); + byteArray.AddUninitialized(value.Num() * 4); + FMemory::Memcpy(byteArray.GetData(), value.GetData(), value.Num() * 4); +} + +void USocketClientBPLibrary::parseIntegerArrayToBytesPure(TArray& byteArray, TArray value) { + byteArray.Empty(); + byteArray.AddUninitialized(value.Num() * 4); + FMemory::Memcpy(byteArray.GetData(), value.GetData(), value.Num() * 4); +} + +void USocketClientBPLibrary::parseInteger64ArrayToBytesPure(TArray& byteArray, TArray value) { + byteArray.Empty(); + byteArray.AddUninitialized(value.Num() * 8); + FMemory::Memcpy(byteArray.GetData(), value.GetData(), value.Num() * 8); +} + +void USocketClientBPLibrary::changeTCPSeparatorStringOnClient(FString separator) { + USocketClientBPLibrary::getSocketClientTarget()->changeTCPSeparatorStringOnClientNonStatic(separator); +} + +void USocketClientBPLibrary::changeTCPSeparatorStringOnClientNonStatic(FString separator) { + tcpStringSeparator = separator; +} + +void USocketClientBPLibrary::changeTCPSeparatorByteOnClient(uint8 separator) { + USocketClientBPLibrary::getSocketClientTarget()->changeTCPSeparatorByteOnClientNonStatic(separator); +} + +void USocketClientBPLibrary::changeTCPSeparatorByteOnClientNonStatic(uint8 separator) { + tcpByteSeparator = separator; +} + + + + +int32 USocketClientBPLibrary::getUniquePlayerID(APlayerController* playerController) { + if (playerController == nullptr || playerController->GetLocalPlayer() == nullptr) + return 0; + return playerController->GetLocalPlayer()->GetUniqueID(); +} + +FString USocketClientBPLibrary::getRandomID(){ + return FGuid::NewGuid().ToString(); +} + + +void USocketClientBPLibrary::getTcpSeparator(uint8& byteSeparator, FString& stringSeparator){ + stringSeparator = tcpStringSeparator; + byteSeparator = tcpByteSeparator; +} + +ISocketSubsystem* USocketClientBPLibrary::getSocketSubSystem() { + switch (USocketClientBPLibrary::getSocketClientTarget()->systemSocketPlatform) + { + case ESocketPlatformClient::E_SSC_SYSTEM: + return ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM); + case ESocketPlatformClient::E_SSC_WINDOWS: + return ISocketSubsystem::Get(FName(TEXT("WINDOWS"))); + case ESocketPlatformClient::E_SSC_MAC: + return ISocketSubsystem::Get(FName(TEXT("MAC"))); + case ESocketPlatformClient::E_SSC_IOS: + return ISocketSubsystem::Get(FName(TEXT("IOS"))); + case ESocketPlatformClient::E_SSC_UNIX: + return ISocketSubsystem::Get(FName(TEXT("UNIX"))); + case ESocketPlatformClient::E_SSC_ANDROID: + return ISocketSubsystem::Get(FName(TEXT("ANDROID"))); + case ESocketPlatformClient::E_SSC_PS4: + return ISocketSubsystem::Get(FName(TEXT("PS4"))); + case ESocketPlatformClient::E_SSC_XBOXONE: + return ISocketSubsystem::Get(FName(TEXT("XBOXONE"))); + case ESocketPlatformClient::E_SSC_HTML5: + return ISocketSubsystem::Get(FName(TEXT("HTML5"))); + case ESocketPlatformClient::E_SSC_SWITCH: + return ISocketSubsystem::Get(FName(TEXT("SWITCH"))); + case ESocketPlatformClient::E_SSC_DEFAULT: + return ISocketSubsystem::Get(); + default: + return ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM); + } +} + + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientCleanerThread.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientCleanerThread.cpp new file mode 100644 index 0000000..c252858 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientCleanerThread.cpp @@ -0,0 +1,67 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientCleanerThread.h" + +FSocketClientCleanerThread::FSocketClientCleanerThread() { + FString threadName = "FSocketClientPluginCleanerThread_" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Lowest); +} + + +void FSocketClientCleanerThread::addSession(FSocketClientPluginSession& session) { + session.addToCleanerTime = FDateTime::Now().GetTicks(); + sessionQueue.Enqueue(session); +} + +void FSocketClientCleanerThread::changeSettings(bool showLogsP, int32 minLiveTimeInSecondsP) { + showLogs = showLogsP; + minLiveTimeInSeconds = minLiveTimeInSecondsP; +} + +uint32 FSocketClientCleanerThread::Run() { + while (true) { + TArray tryItAgain; + + if (showLogs && sessionQueue.IsEmpty()) { + UE_LOG(LogTemp, Display, TEXT("SocketClient: Cleaner: No connections available to clean up.")); + } + + while (sessionQueue.IsEmpty() == false) { + FSocketClientPluginSession session; + sessionQueue.Dequeue(session); + + + //one second = 10000000 ticks + if ((FDateTime::Now().GetTicks() - session.addToCleanerTime) < (10000000 * minLiveTimeInSeconds)) { + tryItAgain.Add(session); + continue; + } + + if (showLogs) { + UE_LOG(LogTemp, Display, TEXT("SocketClient: Clean connection: %s"), *session.clientID); + } + + + delete session.tcpSendThread; + delete session.tcpRecieverThread; + + delete session.tcpFileHandlerThread; + + delete session.udpSocketReceiver; + delete session.udpSendDataThead; + delete session.udpReceiveDataThread; + + delete session.socket; + + } + + for (int32 i = 0; i < tryItAgain.Num(); i++) { + sessionQueue.Enqueue(tryItAgain[i]); + } + tryItAgain.Empty(); + + + FPlatformProcess::Sleep(minLiveTimeInSeconds); + } + return 0; +}; \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCP.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCP.cpp new file mode 100644 index 0000000..9ce3b3a --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCP.cpp @@ -0,0 +1,181 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientTCP.h" + + +USocketClientTCPClient::USocketClientTCPClient(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { + //This prevents the garbage collector from killingand deleting the class from RAM. + this->AddToRoot(); + onsocketClientTCPConnectionEventDelegate.AddDynamic(this, &USocketClientTCPClient::connectionEvent); +} + + +void USocketClientTCPClient::socketClientTCPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID) {} +void USocketClientTCPClient::receiveTCPMessageEventDelegate(const FString message, const TArray& byteArray, const FString clientConnectionID){} +void USocketClientTCPClient::transferFileOverTCPProgressEventDelegate(const FString clientConnectionID, const FString filePathP, const float percent, const float mbit, const int64 bytesTransferred, const int64 fileSize) {} +void USocketClientTCPClient::fileTransferOverTCPInfoEventDelegate(const FString message, const FString clientConnectionID, const FString filePathP, const bool success) {} + +void USocketClientTCPClient::connectionEvent(bool success, FString message, FString clientConnectionID){ + connected = success; +} + +void USocketClientTCPClient::connect(USocketClientBPLibrary* mainLibP, FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, + ESocketClientTCPSeparator messageWrappingP, FString connectionIDP, UTCPConnectAsyncNode* tcpConnectAsyncNodeP, bool noPacketDelay, bool noPacketBlocking){ + mainLib = mainLibP; + connectionID = connectionIDP; + messageWrapping = messageWrappingP; + tcpConnectAsyncNode = tcpConnectAsyncNodeP; + USocketClientBPLibrary::socketClientBPLibrary->getTcpSeparator(tcpByteSeparator, tcpStringSeparator); + tcpReceiveDataThread = new FSocketClientTCPReceiveDataThread(mainLib, connectionID, receiveFilter, domainOrIP, ipType, port,this,noPacketDelay,noPacketBlocking); +} + +void USocketClientTCPClient::sendMessage(FString message, TArray byteArray){ + if (run && tcpSendThread != nullptr) { + tcpSendThread->sendMessage(message, byteArray); + } +} + +void USocketClientTCPClient::sendFile(USocketClientBPLibrary* mainLibP, FString connectionIDP, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePathP, FString token, FString Aes256bitKey){ + mainLib = mainLibP; + connectionID = connectionIDP; + aesKey = Aes256bitKey; + fileToken = token; + sendOrReceive = 0; + filePath = UFileFunctionsSocketClient::getCleanDirectory(directoryType, filePathP); + tcpFileConnectionThread = new FSocketClientTCPFileHandlerThread(mainLib, connectionID, domainOrIP, ipType, port, this); +} + +void USocketClientTCPClient::requestFile(USocketClientBPLibrary* mainLibP, FString connectionIDP, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePathP, bool resumeP, FString token, FString Aes256bitKey) { + mainLib = mainLibP; + connectionID = connectionIDP; + aesKey = Aes256bitKey; + fileToken = token; + sendOrReceive = 1; + resume = resumeP; + filePath = UFileFunctionsSocketClient::getCleanDirectory(directoryType, filePathP); + tcpFileConnectionThread = new FSocketClientTCPFileHandlerThread(mainLib, connectionID, domainOrIP, ipType, port, this); +} + +void USocketClientTCPClient::closeConnection(){ + + setRun(false); + + if (tcpFileConnectionThread != nullptr) { + tcpFileConnectionThread->triggerFileTransferOverTCPInfoEvent("Data transfer aborted.", connectionID, filePath, false, mainLib, this); + } + + if (tcpSendThread != nullptr) { + tcpSendThread->pauseThread(false); + } + + + if (mainLib != nullptr) { + FSocketClientPluginSession connectionSession = FSocketClientPluginSession(); + connectionSession.tcpRecieverThread = tcpReceiveDataThread; + connectionSession.tcpSendThread = tcpSendThread; + //connectionSession.tcpSendFileThread = fileSendThread; + connectionSession.tcpFileHandlerThread = tcpFileConnectionThread; + connectionSession.socket = socket; + connectionSession.clientID = connectionID; + mainLib->cleanConnection(connectionSession); + } +} + +bool USocketClientTCPClient::isRun(){ + return run; +} + +void USocketClientTCPClient::setRun(bool runP) { + run = runP; +} + +FString USocketClientTCPClient::getConnectionID(){ + return connectionID; +} + +FString USocketClientTCPClient::getAesKey(){ + return aesKey; +} + +FString USocketClientTCPClient::getFileToken(){ + return fileToken; +} + +FString USocketClientTCPClient::getFilePath() { + return filePath; +} + +void USocketClientTCPClient::setSocket(FSocket* socketP){ + socket = socketP; +} + +FSocket* USocketClientTCPClient::getSocket(){ + return socket; +} + +void USocketClientTCPClient::createSendThread(){ + tcpSendThread = new FSocketClientTCPSendDataThead(mainLib, this, connectionID); +} + +void USocketClientTCPClient::getTcpSeparator(FString& stringSeparator, uint8& byteSeparator, ESocketClientTCPSeparator& messageWrappingP) { + messageWrappingP = messageWrapping; + stringSeparator = tcpStringSeparator; + tcpByteSeparator = byteSeparator; +} + +FString USocketClientTCPClient::encryptMessage(FString message) { + return UFileFunctionsSocketClient::encryptMessageWithAES(message, aesKey); +} + +FString USocketClientTCPClient::decryptMessage(FString message) { + return UFileFunctionsSocketClient::decryptMessageWithAES(message, aesKey); +} + +void USocketClientTCPClient::readDataLength(TArray& byteDataArray, int32& byteLenght) { + if (FGenericPlatformProperties::IsLittleEndian() && byteDataArray[0] == 0x00) { + FMemory::Memcpy(&byteLenght, byteDataArray.GetData() + 1, 4); + } + else { + //endian fits not. swap bytes that contains the length + byteDataArray.SwapMemory(1, 4); + byteDataArray.SwapMemory(2, 3); + FMemory::Memcpy(&byteLenght, byteDataArray.GetData() + 1, 4); + } +} + +bool USocketClientTCPClient::isSendFile(){ + return (sendOrReceive == 0); +} + +bool USocketClientTCPClient::isReceiveFile(){ + return (sendOrReceive == 1); +} + +bool USocketClientTCPClient::hasResume(){ + return resume; +} + +bool USocketClientTCPClient::isConnected() +{ + return connected; +} + +void USocketClientTCPClient::deleteFile(FString filePathP){ + UFileFunctionsSocketClient::deleteFileAbsolutePath(filePathP); +} + +void USocketClientTCPClient::getMD5FromFileAbsolutePath(FString filePathP, bool& success, FString& MD5) { + UFileFunctionsSocketClient::getMD5FromFileAbsolutePath(filePathP, success, MD5); +} + +int64 USocketClientTCPClient::fileSize(FString filePathP) { + return UFileFunctionsSocketClient::fileSizeAbsolutePath(filePathP); +} + +USocketClientBPLibrary* USocketClientTCPClient::getMainLib() { + return mainLib; +} + +FString USocketClientTCPClient::int64ToString(int64 num) { + return UFileFunctionsSocketClient::int64ToString(num); +} diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPFileHandlerThread.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPFileHandlerThread.cpp new file mode 100644 index 0000000..9929315 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPFileHandlerThread.cpp @@ -0,0 +1,592 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientTCPFileHandlerThread.h" + + +FSocketClientTCPFileHandlerThread::FSocketClientTCPFileHandlerThread(USocketClientBPLibrary* socketClientP, FString clientConnectionIDP, FString ipOrDomainP, ESocketClientIPType ipTypeP, int32 portP, USocketClientTCPClient* tcpClientP) : + socketClient(socketClientP), + clientConnectionID(clientConnectionIDP), + ipOrDomain(ipOrDomainP), + ipType(ipTypeP), + port(portP), + tcpClient(tcpClientP) { + FString threadName = "FServerFileConnectionThread" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); +} + +FSocketClientTCPFileHandlerThread::~FSocketClientTCPFileHandlerThread() { + delete thread; +} + +uint32 FSocketClientTCPFileHandlerThread::Run() { + //UE_LOG(LogTemp, Display, TEXT("DoWork:%s"),*(FDateTime::Now()).ToString()); + FString ip = socketClient->resolveDomain(ipOrDomain, ipType); + int32 portGlobal = port; + FString clientConnectionIDGlobal = clientConnectionID; + USocketClientBPLibrary* socketClientGlobal = socketClient; + USocketClientTCPClient* tcpClientGlobal = tcpClient; + + + + //UE_LOG(LogTemp, Warning, TEXT("Tread:%s:%i"),*ip, port); + ISocketSubsystem* sSS = USocketClientBPLibrary::getSocketSubSystem(); + if (sSS == nullptr) { + AsyncTask(ENamedThreads::GameThread, [ip, portGlobal, clientConnectionIDGlobal, socketClientGlobal, tcpClientGlobal]() { + if (socketClientGlobal != nullptr) + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(1). SocketSubSystem does not exist." + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + if (tcpClientGlobal != nullptr) + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(1). SocketSubSystem does not exist." + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + }); + return 0; + } + TSharedRef addr = sSS->CreateInternetAddr(); + bool bIsValid; + addr->SetIp(*ip, bIsValid); + addr->SetPort(port); + + if (bIsValid) { + // create the socket + FSocket* socket = sSS->CreateSocket(NAME_Stream, TEXT("socketClient"), addr->GetProtocolType()); + tcpClient->setSocket(socket); + + + // try to connect to the server + if (socket == nullptr || socket->Connect(*addr) == false) { + const TCHAR* socketErr = sSS->GetSocketError(SE_GET_LAST_ERROR_CODE); + AsyncTask(ENamedThreads::GameThread, [ip, portGlobal, clientConnectionIDGlobal, socketClientGlobal, tcpClientGlobal, socketErr]() { + if (socketClientGlobal != nullptr) + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(2):" + FString(socketErr) + "|" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + if (tcpClientGlobal != nullptr) + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(2):" + FString(socketErr) + "|" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + }); + } + else { + //connected + AsyncTask(ENamedThreads::GameThread, [ip, portGlobal, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal]() { + if (socketClientGlobal != nullptr) + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(true, "Connection successful:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + if (tcpClientGlobal != nullptr) + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(true, "Connection successful:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + }); + + + tcpClient->setRun(true); + + if (tcpClient->isReceiveFile()) { + doRequestFileFromServer(socket); + } + else { + if (tcpClient->isSendFile()) { + doSendFileToServer(socket); + } + } + } + + + AsyncTask(ENamedThreads::GameThread, [ip, portGlobal, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal]() { + if (socketClientGlobal != nullptr) { + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection close:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + if (tcpClientGlobal != nullptr) + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection close:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + } + }); + + USocketClientBPLibrary::getSocketClientTarget()->closeSocketClientConnectionTCPNonStatic(clientConnectionID); + + + + tcpClient->setRun(false); + if (socket != nullptr) { + socket->Close(); + } + } + else { + AsyncTask(ENamedThreads::GameThread, [ip, portGlobal, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal]() { + if (socketClientGlobal != nullptr) + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(3). IP not valid:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + if (tcpClientGlobal != nullptr) + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection failed(3). IP not valid:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal, clientConnectionIDGlobal); + }); + } + + return 0; +} + +void FSocketClientTCPFileHandlerThread::doRequestFileFromServer(FSocket* socket){ + FString filePath = tcpClient->getFilePath(); + + if (!FPaths::DirectoryExists(filePath)) { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Directory not found.", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + + + FString message = "REQUEST_FILE_FROM_SERVER_|_" + tcpClient->getFileToken(); + sendMessageToServer(message, socket); + + message = readMessageFromServer(socket); + + if (message.StartsWith("REQUEST_FILE_FROM_SERVER_ACCEPTED_|_" + tcpClient->getFileToken())) { + TArray lines; + message.ParseIntoArray(lines, TEXT("_|_"), true); + + + if (lines.Num() == 5) { + if (lines[0].Equals("REQUEST_FILE_FROM_SERVER_ACCEPTED") && lines[1].Len() > 0 && lines[2].Len() > 0 && lines[3].Len() > 0 && lines[4].Len() > 0) { + FArchive* writer = nullptr; + FString md5Server = lines[2]; + int64 fileSize = FCString::Atoi64(*lines[3]); + if (filePath.EndsWith("/")) { + filePath += lines[4]; + } + else { + filePath += "/" + lines[4]; + } + + + int64 fileSizeOnClient = 0; + + if (FPaths::FileExists(filePath)) { + fileSizeOnClient = tcpClient->fileSize(filePath); + if (tcpClient->hasResume()) { + writer = IFileManager::Get().CreateFileWriter(*filePath, EFileWrite::FILEWRITE_Append); + } + else { + writer = IFileManager::Get().CreateFileWriter(*filePath); + } + } + else { + writer = IFileManager::Get().CreateFileWriter(*filePath); + } + + if (writer == nullptr) { + triggerFileTransferOverTCPInfoEvent("File could not be created. ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + + + + if (writer->TotalSize() >= fileSize) { + writer->Close(); + delete writer; + triggerFileTransferOverTCPInfoEvent("File on the client has the same size or is larger than the file on the server.", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + + + //downloadFile = true; + int64 bytesDownloaded = writer->TotalSize(); + + message = "REQUEST_FILE_FROM_SERVER_ACCEPTED_|_" + tcpClient->getFileToken() + "_|_" + tcpClient->int64ToString(bytesDownloaded); + sendMessageToServer(message, socket); + + int64 lastTimeWithData = 0; + int64 ticks1 = 0; + int64 ticks2 = 0; + int64 ticksDownload = 0; + int64 lastByte = 0; + uint32 dataSize = 0; + TArray buffer; + while (socket != nullptr && tcpClient->isRun()) { + + ticks1 = FDateTime::Now().GetTicks(); + socket->Wait(ESocketWaitConditions::WaitForRead, FTimespan::FromSeconds(waitForRead)); + ticks2 = FDateTime::Now().GetTicks(); + + bool hasData = socket->HasPendingData(dataSize); + if (!hasData && ticks1 == ticks2) { + triggerFileTransferOverTCPInfoEvent("Connection broken.", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + break; + } + + // UE_LOG(LogTemp, Display, TEXT("download %i"),dataSize); + + if (hasData) { + lastTimeWithData = FDateTime::Now().GetTicks(); + + //downlnoad + int32 bytesRead = 0; + buffer.Empty(); + buffer.SetNumUninitialized(dataSize); + if (socket->Recv(buffer.GetData(), buffer.Num(), bytesRead)) { + writer->Serialize(buffer.GetData(), buffer.Num()); + + //show progress each second + if ((ticksDownload + 10000000) <= FDateTime::Now().GetTicks()) { + writer->Flush(); + int64 bytesTransferredLastSecond = bytesDownloaded - lastByte; + //float speed = ((float)bytesTransferredLastSecond) / 125000; + float mbit = ((float)bytesTransferredLastSecond) / 1024 / 1024 * 8; + float sent = ((float)bytesDownloaded) / 1048576; + float left = 0; + float percent = 0; + if (fileSize > 0) { + left = ((float)(fileSize - bytesDownloaded)) / 1048576; + percent = ((float)bytesDownloaded / (float)fileSize * 100); + } + + + triggerTransferFileEvent(clientConnectionID, filePath, socketClient, tcpClient, percent, mbit, bytesDownloaded, fileSize); + + ticksDownload = FDateTime::Now().GetTicks(); + lastByte = bytesDownloaded; + } + bytesDownloaded += bytesRead; + } + if (bytesDownloaded >= fileSize) { + + if (writer != nullptr) { + writer->Close(); + delete writer; + writer = nullptr; + } + + sendEndMessage(filePath, tcpClient->getFileToken(), md5Server, clientConnectionID, socket, socketClient, tcpClient); + + //transfer file finish + triggerTransferFileEvent(clientConnectionID, filePath, socketClient, tcpClient, 100, 0, bytesDownloaded, fileSize); + tcpClient->setRun(false); + } + + } + //no data time out + else { + //one second = 10000000 ticks + //5 seconds timeout + // UE_LOG(LogTemp, Display, TEXT("timeout %i"),(FDateTime::Now().GetTicks() - lastTimeWithData)); + if ((FDateTime::Now().GetTicks() - lastTimeWithData) >= 50000000) { + triggerFileTransferOverTCPInfoEvent("Connection timeout", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + break; + } + } + } + buffer.Empty(); + if (writer != nullptr) { + writer->Close(); + delete writer; + writer = nullptr; + } + } + } + } + +} + +void FSocketClientTCPFileHandlerThread::doSendFileToServer(FSocket* socket){ + FString filePath = tcpClient->getFilePath(); + + if (!FPaths::FileExists(filePath)) { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. File not found.", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + + + int64 fileSize = tcpClient->fileSize(filePath); + bool md5okay = false; + FString md5 = FString(); + tcpClient->getMD5FromFileAbsolutePath(filePath, md5okay, md5); + FString fileAuthMessage = "SEND_FILE_TO_SERVER_|_" + tcpClient->getFileToken() + "_|_" + md5 + "_|_" + FPaths::GetCleanFilename(filePath) + "_|_" + tcpClient->int64ToString(fileSize); + sendMessageToServer(fileAuthMessage, socket); + + FString message = readMessageFromServer(socket); + + + if (message.StartsWith("SEND_FILE_TO_SERVER_ACCEPTED_|_" + tcpClient->getFileToken())) { + if (message.RemoveFromStart("SEND_FILE_TO_SERVER_ACCEPTED_|_" + tcpClient->getFileToken() + "_|_")) { + int64 startPosition = FCString::Atoi64(*message); + + // upload file + + FArchive* reader = IFileManager::Get().CreateFileReader(*filePath); + if (reader == nullptr || reader->TotalSize() == 0) { + if (reader != nullptr) { + reader->Close(); + } + tcpClient->setRun(false); + return; + } + + + fileSize = reader->TotalSize(); + /*int64 ticks1 = 0; + int64 ticks2 = 0;*/ + int64 readSize = 0; + int64 lastPosition = startPosition; + int64 bytesSentSinceLastTick = 0; + + int32 bufferSize = 1024 * 64; + int32 dataSendBySocket = 0; + + float percent = 0.f; + float mbit = 0.f; + + TArray buffer; + + int64 lastTimeTicks = FDateTime::Now().GetTicks(); + + if (bufferSize > fileSize) { + bufferSize = fileSize; + } + + if (lastPosition > 0) { + reader->Seek(lastPosition); + } + + while (tcpClient->isRun() && lastPosition < fileSize) { + if ((lastPosition + bufferSize) > fileSize) { + bufferSize = fileSize - lastPosition; + } + + //buffer.Reset(bufferSize); + buffer.Empty(); + buffer.AddUninitialized(bufferSize); + + reader->Serialize(buffer.GetData(), buffer.Num()); + lastPosition += buffer.Num(); + + //UE_LOG(LogTemp, Warning, TEXT("Send: %i"),buffer.Num()); + + //ticks1 = FDateTime::Now().GetTicks(); + socket->Send(buffer.GetData(), buffer.Num(), dataSendBySocket); + //socket->Wait(ESocketWaitConditions::WaitForWrite, FTimespan::FromSeconds(0.001)); + //ticks2 = FDateTime::Now().GetTicks(); + + if (dataSendBySocket == 0 || dataSendBySocket != buffer.Num()) { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Connection possibly broken.", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + + //slowdown for tests + //FPlatformProcess::Sleep(0.01f); + + //fire event every second + //one second = 10000000 ticks + if (((FDateTime::Now().GetTicks()) - lastTimeTicks) >= 10000000) { + mbit = ((float)lastPosition - (float)bytesSentSinceLastTick) / 1024 / 1024 * 8; + lastTimeTicks = FDateTime::Now().GetTicks(); + bytesSentSinceLastTick = lastPosition; + + percent = ((float)lastPosition / fileSize) * 100; + triggerTransferFileEvent(clientConnectionID, filePath, socketClient, tcpClient, percent, mbit, lastPosition, fileSize); + } + + } + + mbit = ((float)lastPosition - (float)bytesSentSinceLastTick) / 1024 / 1024 * 8; + percent = ((float)lastPosition / fileSize) * 100; + + triggerTransferFileEvent(clientConnectionID, filePath, socketClient, tcpClient, percent, mbit, lastPosition, fileSize); + + buffer.Empty(); + if (reader != nullptr) { + reader->Close(); + reader = nullptr; + } + + + message = readMessageFromServer(socket); + + if (message.StartsWith("SEND_FILE_TO_SERVER_END_|_" + tcpClient->getFileToken())) { + if (message.RemoveFromStart("SEND_FILE_TO_SERVER_END_|_" + tcpClient->getFileToken() + "_|_")) { + if (message.Equals("OKAY")) { + triggerFileTransferOverTCPInfoEvent("Data transmission successful. ", clientConnectionID, filePath, true, socketClient, tcpClient); + tcpClient->setRun(false); + } + else { + triggerFileTransferOverTCPInfoEvent("There was an error during data transmission. File may be corrupted or incomplete. ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + } + } + else { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Wrong answer from the server (3). ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + } + } + } + else { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Wrong answer from the server (2). ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + return; + } + } + else { + if (message.StartsWith("SEND_FILE_TO_SERVER_END_|_" + tcpClient->getFileToken())) { + if (message.RemoveFromStart("SEND_FILE_TO_SERVER_END_|_" + tcpClient->getFileToken() + "_|_")) { + if (message.Equals("OKAY")) { + triggerFileTransferOverTCPInfoEvent("Data transmission successful. ", clientConnectionID, filePath, true, socketClient, tcpClient); + tcpClient->setRun(false); + } + else { + triggerFileTransferOverTCPInfoEvent("There was an error during data transmission. File may be corrupted or incomplete. ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + } + } + else { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Wrong answer from the server (3). ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + } + } + else { + triggerFileTransferOverTCPInfoEvent("Data transmission aborted. Wrong answer from the server (1). ", clientConnectionID, filePath, false, socketClient, tcpClient); + tcpClient->setRun(false); + } + } + +} + +void FSocketClientTCPFileHandlerThread::sendMessageToServer(FString message, FSocket* socket){ + message = tcpClient->encryptMessage(message); + + TArray byteCache; + FTCHARToUTF8 Convert(*message); + int32 sent = 0; + if (FGenericPlatformProperties::IsLittleEndian()) { + byteCache.Add(0x00); + } + else { + byteCache.Add(0x01); + } + byteCache.SetNum(5); + int32 dataLength = Convert.Length(); + FMemory::Memcpy(byteCache.GetData() + 1, &dataLength, 4); + byteCache.Append((uint8*)Convert.Get(), Convert.Length()); + + socket->Send(byteCache.GetData(), byteCache.Num(), sent); + byteCache.Empty(); +} + +void FSocketClientTCPFileHandlerThread::triggerFileTransferOverTCPInfoEvent(FString messageP, FString clientConnectionIDP, FString filePathP, bool successP, USocketClientBPLibrary* socketClientP, USocketClientTCPClient* tcpClientP) { + AsyncTask(ENamedThreads::GameThread, [messageP, clientConnectionIDP, filePathP, successP, socketClientP, tcpClientP]() { + if (socketClientP != nullptr) + socketClientP->onfileTransferOverTCPInfoEventDelegate.Broadcast(messageP, clientConnectionIDP, filePathP, successP); + if (tcpClientP != nullptr) + tcpClientP->onfileTransferOverTCPInfoEventDelegate.Broadcast(messageP, clientConnectionIDP, filePathP, successP); + }); +} + +void FSocketClientTCPFileHandlerThread::triggerTransferFileEvent(FString clientConnectionIDP, FString filePathP, USocketClientBPLibrary* socketClientP, USocketClientTCPClient* tcpClientP, float percentP, float mbitP, int64 transferredP, int64 fileSizeP) { + AsyncTask(ENamedThreads::GameThread, [clientConnectionIDP, socketClientP, filePathP, tcpClientP, percentP, mbitP, transferredP, fileSizeP]() { + if (socketClientP != nullptr) + socketClientP->ontransferFileOverTCPProgressEventDelegate.Broadcast(clientConnectionIDP, filePathP, percentP, mbitP, transferredP, fileSizeP); + if (tcpClientP != nullptr) + tcpClientP->ontransferFileOverTCPProgressEventDelegate.Broadcast(clientConnectionIDP, filePathP, percentP, mbitP, transferredP, fileSizeP); + }); +} + +void FSocketClientTCPFileHandlerThread::sendEndMessage(FString fullFilePathP, FString tokenP, FString md5ServerP, FString clientConnectionIDP, FSocket* clientSocketP, USocketClientBPLibrary* socketClientP, USocketClientTCPClient* tcpClientP) { + bool md5okay = false; + FString md5Client = FString(); + tcpClientP->getMD5FromFileAbsolutePath(fullFilePathP, md5okay, md5Client); + + FString response = "REQUEST_FILE_FROM_SERVER_END_|_" + tokenP + "_|_"; + + if (md5okay && md5ServerP.Equals(md5Client)) { + triggerFileTransferOverTCPInfoEvent("File successfully received.", clientConnectionIDP, fullFilePathP, true, socketClientP, tcpClientP); + + response += "OKAY"; + } + else { + triggerFileTransferOverTCPInfoEvent("File received but MD5 does not match. Corrupted file will be deleted if resume is not disabled.", clientConnectionIDP, fullFilePathP, false, socketClientP, tcpClientP); + response += "MD5ERROR"; + if (tcpClientP->hasResume()) { + tcpClientP->deleteFile(fullFilePathP); + } + } + + sendMessageToServer(response, clientSocketP); +} + + +FString FSocketClientTCPFileHandlerThread::readMessageFromServer(FSocket* socket){ + int64 ticks1 = 0; + int64 ticks2 = 0; + int32 lastDataLengthFromHeader = 0; + FString message = FString(); + TArray byteDataArrayCache; + TArray byteDataArray; + + uint32 dataSize = 0; + TArray lines; + while (tcpClient->isRun() && socket != nullptr) { + + ticks1 = FDateTime::Now().GetTicks(); + socket->Wait(ESocketWaitConditions::WaitForRead, FTimespan::FromSeconds(waitForRead)); + ticks2 = FDateTime::Now().GetTicks(); + + bool hasData = socket->HasPendingData(dataSize); + + if (!hasData && ticks1 == ticks2) { + //if (showFTPLogs) { + // UE_LOG(LogTemp, Warning, TEXT("FTP Client: TCP connection broken.")); + //} + //fireConnectionEvent(false, 0, "TCP connection broken."); + return "TCP connection broken."; + } + + if (!hasData) { + return message; + } + + + if (hasData) { + TArray dataFromSocket; + dataFromSocket.SetNumUninitialized(dataSize); + int32 BytesRead = 0; + if (socket->Recv(dataFromSocket.GetData(), dataFromSocket.Num(), BytesRead)) { + if (lastDataLengthFromHeader == 0 && dataFromSocket.Num() >= 5) { + + tcpClient->readDataLength(dataFromSocket, lastDataLengthFromHeader); + + if (dataFromSocket.Num() == 5) { + dataFromSocket.Empty(); + continue; + } + + byteDataArrayCache.Append(dataFromSocket.GetData() + 5, dataFromSocket.Num() - 5); + dataFromSocket.Empty(); + } + else { + byteDataArrayCache.Append(dataFromSocket.GetData(), dataFromSocket.Num()); + } + + int32 maxLoops = 1000;//to prevent endless loop + + while (byteDataArrayCache.Num() > 0 && byteDataArrayCache.Num() >= lastDataLengthFromHeader && maxLoops > 0) { + maxLoops--; + + byteDataArray.Append(byteDataArrayCache.GetData(), lastDataLengthFromHeader); + byteDataArrayCache.RemoveAt(0, lastDataLengthFromHeader, true); + + if (byteDataArrayCache.Num() == 0) { + lastDataLengthFromHeader = 0; + break; + } + + if (byteDataArrayCache.Num() > 5) { + tcpClient->readDataLength(byteDataArrayCache, lastDataLengthFromHeader); + byteDataArrayCache.RemoveAt(0, 5, true); + } + } + + byteDataArray.Add(0x00);// null-terminator + message = FString(UTF8_TO_TCHAR((char*)byteDataArray.GetData())); + byteDataArray.Empty(); + if (message.IsEmpty() == false) { + message = tcpClient->decryptMessage(message); + } + return message; + } + } + } + if (message.IsEmpty() == false) { + message = tcpClient->decryptMessage(message); + } + return message; +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPReceiveDataThread.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPReceiveDataThread.cpp new file mode 100644 index 0000000..ba91ca6 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPReceiveDataThread.cpp @@ -0,0 +1,288 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientTCPReceiveDataThread.h" + + +FSocketClientTCPReceiveDataThread::FSocketClientTCPReceiveDataThread(USocketClientBPLibrary* socketClientBPLibraryP, FString clientConnectionIDP, + EReceiveFilterClient receiveFilterP, FString ipOrDomainP, ESocketClientIPType ipTypeP, int32 portP, + USocketClientTCPClient* tcpClientP, bool noPacketDelayP, bool noPacketBlockingP) : + socketClientBPLibrary(socketClientBPLibraryP), + clientConnectionID(clientConnectionIDP), + receiveFilter(receiveFilterP), + ipOrDomain(ipOrDomainP), + ipType(ipTypeP), + port(portP), + tcpClient(tcpClientP), + noPacketDelay(noPacketDelayP), + noPacketBlocking(noPacketBlockingP) { + FString threadName = "FServerConnectionThread" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); +} + +FSocketClientTCPReceiveDataThread::~FSocketClientTCPReceiveDataThread() { + if (tcpClient != nullptr && tcpClient->tcpConnectAsyncNode != nullptr) { + tcpClient->tcpConnectAsyncNode = nullptr; + } + delete thread; +} + + + +uint32 FSocketClientTCPReceiveDataThread::Run() { + //UE_LOG(LogTemp, Display, TEXT("DoWork:%s"),*(FDateTime::Now()).ToString()); + FString ip = socketClientBPLibrary->resolveDomain(ipOrDomain, ipType); + int32 portGlobal = port; + FString clientConnectionIDGlobal = clientConnectionID; + USocketClientBPLibrary* socketClientGlobal = socketClientBPLibrary; + USocketClientTCPClient* tcpClientGlobal = tcpClient; + + //message wrapping + FString stringSeparator = FString(); + uint8 byteSeparator = 0x00; + ESocketClientTCPSeparator messageWrapping = ESocketClientTCPSeparator::E_None; + tcpClient->getTcpSeparator(stringSeparator, byteSeparator, messageWrapping); + + TArray stringSeparatorArray = stringSeparator.GetCharArray(); + if (stringSeparatorArray.Num() > 0 && stringSeparatorArray.Last() == 0x00) { + stringSeparatorArray.RemoveAt(stringSeparatorArray.Num() - 1, 1, true); + } + + if (messageWrapping == ESocketClientTCPSeparator::E_LengthSeparator && stringSeparatorArray.Num() == 0) { + messageWrapping = ESocketClientTCPSeparator::E_None; + UE_LOG(LogTemp, Warning, TEXT("Socket Client Plugin: Separator mode is set to String but there is no String Separator. Mode changed to none.")); + } + + + //UE_LOG(LogTemp, Warning, TEXT("Tread:%s:%i"),*ip, port); + ISocketSubsystem* sSS = USocketClientBPLibrary::getSocketSubSystem(); + if (sSS == nullptr) { + FString info = "Connection failed(1). SocketSubSystem does not exist.:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal; + triggerConnectionEvent(false, clientConnectionID, info, tcpClientGlobal, socketClientGlobal); + return 0; + } + TSharedRef addr = sSS->CreateInternetAddr(); + bool bIsValid; + addr->SetIp(*ip, bIsValid); + addr->SetPort(port); + + if (bIsValid) { + // create the socket + FSocket* socket = sSS->CreateSocket(NAME_Stream, TEXT("socketClient"), addr->GetProtocolType()); + tcpClient->setSocket(socket); + + + //socket options + if (socket != nullptr) { + socket->SetNoDelay(noPacketDelay); + socket->SetNonBlocking(noPacketBlocking); + + tcpClient->setRun(true); + } + + // try to connect to the server + if (socket == nullptr || socket->Connect(*addr) == false) { + const TCHAR* socketErr = sSS->GetSocketError(SE_GET_LAST_ERROR_CODE); + FString info = "Connection failed(2):" + FString(socketErr) + "|" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal; + triggerConnectionEvent(false, clientConnectionID, info, tcpClientGlobal, socketClientGlobal); + } + else { + FString info = "Connection successful:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal; + triggerConnectionEvent(true, clientConnectionID, info, tcpClientGlobal, socketClientGlobal); + + tcpClient->createSendThread(); + int64 ticks1; + int64 ticks2; + TArray byteDataArray; + TArray byteDataArrayCache; + FString mainMessage; + bool inCollectMessageStatus = false; + int32 lastDataLengthFromHeader = 0; + + + uint32 dataSize; + while (socket != nullptr && tcpClient->isRun()) { + + //ESocketConnectionState::SCS_Connected does not work https://issues.unrealengine.com/issue/UE-27542 + //Compare ticks is a workaround to get a disconnect. clientSocket->Wait() stop working after disconnect. (Another bug?) + //If it doesn't wait any longer, ticks1 and ticks2 should be the same == disconnect. + ticks1 = FDateTime::Now().GetTicks(); + socket->Wait(ESocketWaitConditions::WaitForRead, FTimespan::FromSeconds(1)); + ticks2 = FDateTime::Now().GetTicks(); + + bool hasData = socket->HasPendingData(dataSize); + if (!hasData && ticks1 == ticks2) { + UE_LOG(LogTemp, Display, TEXT("Socket Client: Connection aborted or closed by the server: %s"),*clientConnectionID); + break; + } + + if (hasData) { + TArray dataFromSocket; + dataFromSocket.SetNumUninitialized(dataSize); + int32 BytesRead = 0; + if (socket->Recv(dataFromSocket.GetData(), dataFromSocket.Num(), BytesRead)) { + + switch (messageWrapping) + { + case ESocketClientTCPSeparator::E_None: + triggerMessageEvent(dataFromSocket, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal); + break; + + case ESocketClientTCPSeparator::E_ByteSeparator: + + for (int32 i = 0; i < dataFromSocket.Num(); i++) { + byteDataArrayCache.Add(dataFromSocket[i]); + if (dataFromSocket[i] == byteSeparator) { + triggerMessageEvent(byteDataArrayCache, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal, false); + byteDataArrayCache.Empty(); + } + } + + break; + + case ESocketClientTCPSeparator::E_StringSeparator: + for (int32 i = 0; i < dataFromSocket.Num(); i++) { + ; + if ((TCHAR)dataFromSocket[i] == stringSeparatorArray[0]) { + bool found = true; + for (int32 j = 1; j < stringSeparatorArray.Num(); j++) { + i++; + if (dataFromSocket.Num() <= (i)) { + found = false; + break; + } + if ((TCHAR)dataFromSocket[i] != stringSeparatorArray[j]) { + found = false; + break; + } + } + if (found) { + triggerMessageEvent(byteDataArrayCache, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal, true); + byteDataArrayCache.Empty(); + } + } + else { + byteDataArrayCache.Add(dataFromSocket[i]); + } + } + break; + + case ESocketClientTCPSeparator::E_LengthSeparator: + if (lastDataLengthFromHeader == 0 && dataFromSocket.Num() >= 5) { + + tcpClient->readDataLength(dataFromSocket, lastDataLengthFromHeader); + + if (dataFromSocket.Num() == 5) { + dataFromSocket.Empty(); + continue; + } + + byteDataArrayCache.Append(dataFromSocket.GetData() + 5, dataFromSocket.Num() - 5); + dataFromSocket.Empty(); + } + else { + byteDataArrayCache.Append(dataFromSocket.GetData(), dataFromSocket.Num()); + } + + int32 maxLoops = 1000;//to prevent endless loop + + while (byteDataArrayCache.Num() > 0 && byteDataArrayCache.Num() >= lastDataLengthFromHeader && maxLoops > 0) { + maxLoops--; + + byteDataArray.Append(byteDataArrayCache.GetData(), lastDataLengthFromHeader); + byteDataArrayCache.RemoveAt(0, lastDataLengthFromHeader, true); + + + triggerMessageEvent(byteDataArray, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal); + //UE_LOG(LogTemp, Display, TEXT("%s"), *mainMessage); + byteDataArray.Empty(); + + if (byteDataArrayCache.Num() == 0) { + lastDataLengthFromHeader = 0; + break; + } + + if (byteDataArrayCache.Num() > 5) { + tcpClient->readDataLength(byteDataArrayCache, lastDataLengthFromHeader); + byteDataArrayCache.RemoveAt(0, 5, true); + } + + } + break; + } + + + } + mainMessage.Empty(); + byteDataArray.Empty(); + dataFromSocket.Empty(); + } + } + + + info = "Connection close:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal; + triggerConnectionEvent(false, clientConnectionID, info, tcpClientGlobal, socketClientGlobal); + } + + + if (socket != nullptr) { + socket->Close(); + } + + if (tcpClient->isRun()) { + socketClientBPLibrary->closeSocketClientConnectionTCPNonStatic(clientConnectionID); + //tcpClient->closeConnection(); + } + } + else { + FString info = "Connection failed(3). IP not valid:" + ip + ":" + FString::FromInt(portGlobal) + "|" + clientConnectionIDGlobal; + triggerConnectionEvent(false, clientConnectionID,info,tcpClientGlobal, socketClientGlobal); + } + + return 0; +} + + +void FSocketClientTCPReceiveDataThread::triggerConnectionEvent(bool succsess, FString clientConnectionIDGlobal, FString serverMessage, USocketClientTCPClient* tcpClientGlobal, USocketClientBPLibrary* socketClientGlobal){ + + AsyncTask(ENamedThreads::GameThread, [succsess, serverMessage, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal]() { + if (socketClientGlobal != nullptr) { + socketClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(succsess, serverMessage, clientConnectionIDGlobal); + } + if (tcpClientGlobal != nullptr) { + tcpClientGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(succsess, serverMessage, clientConnectionIDGlobal); + if (tcpClientGlobal->tcpConnectAsyncNode != nullptr) { + tcpClientGlobal->tcpConnectAsyncNode->triggerConnectionEvent(succsess, clientConnectionIDGlobal, serverMessage); + } + } + }); +} + +void FSocketClientTCPReceiveDataThread::triggerMessageEvent(TArray& byteDataArray, FString& clientConnectionIDGlobal, USocketClientTCPClient* tcpClientGlobal, + USocketClientBPLibrary* socketClientGlobal, bool addNullTerminator) { + + + FString mainMessage = FString(); + if (receiveFilter == EReceiveFilterClient::E_SAB || receiveFilter == EReceiveFilterClient::E_S) { + if (addNullTerminator) + byteDataArray.Add(0x00);// null-terminator + mainMessage = FString(UTF8_TO_TCHAR((char*)byteDataArray.GetData())); + if (receiveFilter == EReceiveFilterClient::E_S) { + byteDataArray.Empty(); + } + } + + //switch to gamethread + AsyncTask(ENamedThreads::GameThread, [mainMessage, byteDataArray, clientConnectionIDGlobal, tcpClientGlobal, socketClientGlobal]() { + if (socketClientGlobal != nullptr) { + socketClientGlobal->onreceiveTCPMessageEventDelegate.Broadcast(mainMessage, byteDataArray, clientConnectionIDGlobal); + } + if (tcpClientGlobal != nullptr) { + tcpClientGlobal->onreceiveTCPMessageEventDelegate.Broadcast(mainMessage, byteDataArray, clientConnectionIDGlobal); + if (tcpClientGlobal->tcpConnectAsyncNode != nullptr) { + tcpClientGlobal->tcpConnectAsyncNode->triggerMessageEvent(byteDataArray, clientConnectionIDGlobal,mainMessage); + } + } + }); + mainMessage.Empty(); +} + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPSendDataThread.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPSendDataThread.cpp new file mode 100644 index 0000000..587fdea --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientTCPSendDataThread.cpp @@ -0,0 +1,167 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientTCPSendDataThead.h" + + +FSocketClientTCPSendDataThead::FSocketClientTCPSendDataThead(USocketClientBPLibrary* socketClientLibP, USocketClientTCPClient* tcpClientP, FString clientConnectionIDP) : + socketClientLib(socketClientLibP), + tcpClient(tcpClientP), + clientConnectionID(clientConnectionIDP) { + FString threadName = "FSendDataToServerThread" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); +} + +FSocketClientTCPSendDataThead::~FSocketClientTCPSendDataThead() { + delete thread; +} + +uint32 FSocketClientTCPSendDataThead::Run(){ + + if (tcpClient == nullptr) { + UE_LOG(LogTemp, Error, TEXT("Class is not initialized.")); + return 0; + } + + /*if (GEngine) + GEngine->AddOnScreenDebugMessage(-1, 20.0f, FColor::Green, TEXT("tcp socket 1"));*/ + + FString clientConnectionIDGlobal = clientConnectionID; + USocketClientBPLibrary* socketClientLibGlobal = socketClientLib; + + //message wrapping + FString stringSeparator = FString(); + uint8 byteSeparator = 0x00; + ESocketClientTCPSeparator messageWrapping = ESocketClientTCPSeparator::E_None; + tcpClient->getTcpSeparator(stringSeparator, byteSeparator, messageWrapping); + + TArray stringSeparatorArray = stringSeparator.GetCharArray(); + if (stringSeparatorArray.Num() > 0 && stringSeparatorArray.Last() == 0x00) { + stringSeparatorArray.RemoveAt(stringSeparatorArray.Num() - 1, 1, true); + } + + if (messageWrapping == ESocketClientTCPSeparator::E_LengthSeparator && stringSeparatorArray.Num() == 0) { + messageWrapping = ESocketClientTCPSeparator::E_None; + UE_LOG(LogTemp, Warning, TEXT("Socket Client Plugin: Separator mode is set to String but there is no String Separator. Mode changed to none.")); + } + + // get the socket + FSocket* socket = tcpClient->getSocket(); + int32 sent = 0; + + while (tcpClient->isRun()) { + + // try to connect to the server + if (socket == NULL || socket == nullptr) { + UE_LOG(LogTemp, Error, TEXT("Connection not exist.")); + //AsyncTask(ENamedThreads::GameThread, [clientConnectionIDGlobal, socketClientLibGlobal]() { + // if (socketClientLibGlobal != nullptr) { + // socketClientLibGlobal->onsocketClientTCPConnectionEventDelegate.Broadcast(false, "Connection not exist:" + clientConnectionIDGlobal, clientConnectionIDGlobal); + // socketClientLibGlobal->closeSocketClientConnection(); + // } + //}); + break; + } + + if (socket != nullptr && tcpClient->isRun()) { + + while (messageQueue.IsEmpty() == false) { + FString m; + messageQueue.Dequeue(m); + FTCHARToUTF8 Convert(*m); + sent = 0; + + TArray byteCache; + + switch (messageWrapping) + { + case ESocketClientTCPSeparator::E_None: + byteCache.Append((uint8*)Convert.Get(), Convert.Length()); + break; + case ESocketClientTCPSeparator::E_ByteSeparator: + byteCache.Append((uint8*)Convert.Get(), Convert.Length()); + byteCache.Add(byteSeparator); + break; + case ESocketClientTCPSeparator::E_StringSeparator: + { + m += stringSeparator; + FTCHARToUTF8 ConvertWithSeparator(*m); + byteCache.Append((uint8*)ConvertWithSeparator.Get(), ConvertWithSeparator.Length()); + } + break; + case ESocketClientTCPSeparator::E_LengthSeparator: + if (FGenericPlatformProperties::IsLittleEndian()) { + byteCache.Add(0x00); + } + else { + byteCache.Add(0x01); + } + byteCache.SetNum(5); + int32 dataLength = Convert.Length(); + FMemory::Memcpy(byteCache.GetData() + 1, &dataLength, 4); + byteCache.Append((uint8*)Convert.Get(), Convert.Length()); + break; + } + + socket->Send(byteCache.GetData(), byteCache.Num(), sent); + } + + while (byteArrayQueue.IsEmpty() == false) { + + TArray byteCache; + byteArrayQueue.Dequeue(byteCache); + sent = 0; + + switch (messageWrapping) + { + case ESocketClientTCPSeparator::E_ByteSeparator: + byteCache.Add(byteSeparator); + break; + case ESocketClientTCPSeparator::E_StringSeparator: + { + FTCHARToUTF8 ConvertWithSeparator(*stringSeparator); + byteCache.Append((uint8*)ConvertWithSeparator.Get(), ConvertWithSeparator.Length()); + } + break; + case ESocketClientTCPSeparator::E_LengthSeparator: + byteCache.InsertZeroed(0, 5); + if (FGenericPlatformProperties::IsLittleEndian() == false) { + uint8 a = 0x01; + FMemory::Memcpy(byteCache.GetData(), &a, 1); + } + int32 dataLength = byteCache.Num() - 5; + FMemory::Memcpy(byteCache.GetData() + 1, &dataLength, 4); + break; + } + + socket->Send(byteCache.GetData(), byteCache.Num(), sent); + + } + + } + + if (tcpClient->isRun()) { + pauseThread(true); + //workaround. suspend do not work on all platforms. lets sleep + while (paused && tcpClient->isRun()) { + FPlatformProcess::Sleep(0.01); + } + } + } + return 0; +} + + +void FSocketClientTCPSendDataThead::sendMessage(FString messageP, TArray byteArrayP) { + if (messageP.Len() > 0) + messageQueue.Enqueue(messageP); + if (byteArrayP.Num() > 0) + byteArrayQueue.Enqueue(byteArrayP); + pauseThread(false); +} + + +void FSocketClientTCPSendDataThead::pauseThread(bool pause) { + paused = pause; + if (thread != nullptr) + thread->Suspend(pause); +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDP.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDP.cpp new file mode 100644 index 0000000..35d9eb4 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDP.cpp @@ -0,0 +1,148 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientUDP.h" + + +USocketClientUDP::USocketClientUDP(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) { + this->AddToRoot(); +} + + + +void USocketClientUDP::socketClientUDPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionIDP){} +void USocketClientUDP::receiveUDPMessageEventDelegate(const FString message, const TArray& byteArray, const FString IPP, const int32 portP, const FString clientConnectionIDP) {} + +void USocketClientUDP::init(USocketClientBPLibrary* socketClientLibP, UUDPInitAsyncNode* udpInitAsyncNodeP, FString domainOrIPP, + ESocketClientIPType ipType, int32 portP, EReceiveFilterClient receiveFilterP, FString connectionIDP, + int32 maxPacketSizeP) { + socketClientBPLibrary = socketClientLibP; + receiveFilter = receiveFilterP; + connectionID = connectionIDP; + domainOrIP = domainOrIPP; + port = portP; + udpInitAsyncNode = udpInitAsyncNodeP; + + maxPacketSize = maxPacketSizeP; + if (maxPacketSize < 1 || maxPacketSize > 65507) + maxPacketSize = 65507; + + UDPThread = new FSocketClientUDPReceiveDataThread(this, socketClientLibP, domainOrIPP, portP, ipType); +} + + +void USocketClientUDP::sendUDPMessage(FString domainOrIPP, ESocketClientIPType ipType, int32 portP, FString message, TArray byteArray){ + if (UDPSendThread != nullptr) { + UDPSendThread->addData(message, byteArray, domainOrIPP, portP, ipType); + } +} + +void USocketClientUDP::closeUDPConnection() { + + if (udpSocketReceiver != nullptr) { + udpSocketReceiver->Stop(); + } + + setRun(false); + if (UDPSendThread != nullptr) { + UDPSendThread->pauseThread(false); + } + + if (socketClientBPLibrary != nullptr) { + FSocketClientPluginSession connectionSession = FSocketClientPluginSession(); + connectionSession.udpSocketReceiver = udpSocketReceiver; + connectionSession.udpSendDataThead = UDPSendThread; + connectionSession.udpReceiveDataThread = UDPThread; + connectionSession.socket = socket; + connectionSession.clientID = connectionID; + socketClientBPLibrary->cleanConnection(connectionSession); + } + + //udpInitAsyncNode = nullptr; +} + + +void USocketClientUDP::UDPReceiver(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt) { + + if (FSocketClientModule::isShuttingDown) + return; + + TSharedPtr peerAddr = EndPt.ToInternetAddr(); + FString ipGlobal = peerAddr->ToString(false); + int32 portGlobal = peerAddr->GetPort(); + + TArray byteArray; + if (receiveFilter == EReceiveFilterClient::E_SAB || receiveFilter == EReceiveFilterClient::E_B) { + byteArray.Append(ArrayReaderPtr->GetData(), ArrayReaderPtr->Num()); + } + + FString recvMessage; + if (receiveFilter == EReceiveFilterClient::E_SAB || receiveFilter == EReceiveFilterClient::E_S) { + ArrayReaderPtr->Add(0x00);// null-terminator + char* Data = (char*)ArrayReaderPtr->GetData(); + recvMessage = FString(UTF8_TO_TCHAR(Data)); + } + + //switch to gamethread + USocketClientBPLibrary* socketClientBPLibraryGlobal = socketClientBPLibrary; + USocketClientUDP* udpClientGlobal = this; + FString clientConnectionIDGlobal = connectionID; + UUDPInitAsyncNode* udpInitAsyncNodeGlobal = udpInitAsyncNode; + AsyncTask(ENamedThreads::GameThread, [udpInitAsyncNodeGlobal, udpClientGlobal, recvMessage, byteArray, ipGlobal, portGlobal, socketClientBPLibraryGlobal, clientConnectionIDGlobal]() { + if (FSocketClientModule::isShuttingDown) + return; + socketClientBPLibraryGlobal->onreceiveUDPMessageEventDelegate.Broadcast(recvMessage, byteArray, ipGlobal, portGlobal, clientConnectionIDGlobal); + udpClientGlobal->onreceiveUDPMessageEventDelegate.Broadcast(recvMessage, byteArray, ipGlobal, portGlobal, clientConnectionIDGlobal); + if (udpInitAsyncNodeGlobal != nullptr) { + udpInitAsyncNodeGlobal->triggerMessageEvent(byteArray, clientConnectionIDGlobal, recvMessage, ipGlobal, portGlobal); + } + }); +} + +bool USocketClientUDP::isRun(){ + return run; +} + +void USocketClientUDP::setRun(bool runP){ + run = runP; +} + +FSocket* USocketClientUDP::getSocket(){ + return socket; +} + +void USocketClientUDP::setSocket(FSocket* socketP){ + socket = socketP; +} + +void USocketClientUDP::setUDPSocketReceiver(FUdpSocketReceiver* udpSocketReceiverP){ + udpSocketReceiver = udpSocketReceiverP; +} + +FString USocketClientUDP::getIP(){ + return domainOrIP; +} + +void USocketClientUDP::setIP(FString ipP){ + domainOrIP = ipP; +} + +int32 USocketClientUDP::getPort(){ + return port; +} + +FString USocketClientUDP::getDomainOrIP(){ + return domainOrIP; +} + +FString USocketClientUDP::getConnectionID(){ + return connectionID; +} + +void USocketClientUDP::setUDPSendThread(FSocketClientUDPSendDataThead* udpSendThreadP){ + UDPSendThread = udpSendThreadP; +} + +int32 USocketClientUDP::getMaxPacketSize() +{ + return maxPacketSize; +} diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPReceiveDataThread.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPReceiveDataThread.cpp new file mode 100644 index 0000000..b02fa65 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPReceiveDataThread.cpp @@ -0,0 +1,117 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientUDPReceiveDataThread.h" + + +FSocketClientUDPReceiveDataThread::FSocketClientUDPReceiveDataThread(USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, FString ipP, int32 portP, ESocketClientIPType ipTypeP) : + udpClient(udpClientP), + socketClient(socketClientP), + ipGlobal(ipP), + portGlobal(portP), + ipType(ipTypeP) { + FString threadName = "FServerUDPConnectionThread_" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); +} + +FSocketClientUDPReceiveDataThread::~FSocketClientUDPReceiveDataThread() { + if (udpClient != nullptr && udpClient->udpInitAsyncNode != nullptr) { + udpClient->udpInitAsyncNode = nullptr; + } + delete thread; +} + +void FSocketClientUDPReceiveDataThread::triggerInitEvent(bool success, USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, + FString serverMessage, FString connectionID){ + AsyncTask(ENamedThreads::GameThread, [success, udpClientP, socketClientP, serverMessage, connectionID]() { + if (socketClientP != nullptr) + socketClientP->onsocketClientUDPConnectionEventDelegate.Broadcast(success, serverMessage, connectionID); + if (udpClientP != nullptr) { + udpClientP->onsocketClientUDPConnectionEventDelegate.Broadcast(success, serverMessage, connectionID); + if (udpClientP->udpInitAsyncNode != nullptr) { + udpClientP->udpInitAsyncNode->triggerInitEvent(success, connectionID, serverMessage); + } + } + }); +} + +uint32 FSocketClientUDPReceiveDataThread::Run() { + + USocketClientUDP* udpClientGlobal = udpClient; + FString ip = socketClient->resolveDomain(ipGlobal, ipType); + udpClient->setIP(ip); + int32 port = portGlobal; + FString connectionID = udpClient->getConnectionID(); + + + if (socket == nullptr || socket == NULL) { + + FString endpointAdress = ip + ":" + FString::FromInt(port); + FIPv4Endpoint Endpoint; + + // create the socket + FString socketName; + ISocketSubsystem* socketSubsystem = USocketClientBPLibrary::getSocketSubSystem(); + + TSharedPtr addr = socketSubsystem->CreateInternetAddr(); + bool validIP = true; + addr->SetPort(port); + addr->SetIp(*ip, validIP); + + + if (!validIP) { + UE_LOG(LogTemp, Error, TEXT("SocketClient UDP. Can't set ip")); + triggerInitEvent(false, udpClient, socketClient, "SocketClient UDP. Can't set ip", connectionID); + return 0; + } + + socket = socketSubsystem->CreateSocket(NAME_DGram, *socketName, addr->GetProtocolType()); + + + if (socket == nullptr || socket == NULL) { + const TCHAR* SocketErr = socketSubsystem->GetSocketError(SE_GET_LAST_ERROR_CODE); + UE_LOG(LogTemp, Error, TEXT("UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router. %s:%i. Error: %s"), *ip, port, SocketErr); + triggerInitEvent(false, udpClient, socketClient, "(Error 0) UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router." + addr->ToString(true) + " Error:" + SocketErr, connectionID); + return 0; + } + + if (!socket->SetRecvErr()) { + UE_LOG(LogTemp, Error, TEXT("SocketClient UDP. Can't set recverr")); + } + + + if (socket == nullptr || socket == NULL || !validIP) { + const TCHAR* SocketErr = socketSubsystem->GetSocketError(SE_GET_LAST_ERROR_CODE); + UE_LOG(LogTemp, Error, TEXT("UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router. %s:%i. Error: %s"), *ip, port, SocketErr); + triggerInitEvent(false, udpClient, socketClient, "(Error 1) UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router." + addr->ToString(true) + " Error:" + SocketErr, connectionID); + return 0; + } + socket->SetReuseAddr(true); + socket->SetNonBlocking(true); + socket->SetBroadcast(true); + + if (!socket->Bind(*addr)) { + const TCHAR* SocketErr = socketSubsystem->GetSocketError(SE_GET_LAST_ERROR_CODE); + UE_LOG(LogTemp, Error, TEXT("UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router. %s:%i. Error: %s"), *ip, port, SocketErr); + triggerInitEvent(false, udpClient, socketClient, "(Error 2) UE could not init a UDP socket. You can only create listening connections on local IPs. An external IP must be redirected to a local IP in your router." + addr->ToString(true) + " Error:" + SocketErr, connectionID); + return 0; + } + + + + FTimespan ThreadWaitTime = FTimespan::FromMilliseconds(100); + FUdpSocketReceiver* udpSocketReceiver = new FUdpSocketReceiver(socket, ThreadWaitTime, TEXT("SocketClientBPLibUDPReceiverThread")); + udpSocketReceiver->OnDataReceived().BindUObject(udpClient, &USocketClientUDP::UDPReceiver); + udpSocketReceiver->Start(); + udpClient->setUDPSocketReceiver(udpSocketReceiver); + + udpClient->setSocket(socket); + udpClient->setRun(true); + udpClient->setUDPSendThread(new FSocketClientUDPSendDataThead(udpClient, socketClient, ip, port)); + + + triggerInitEvent(true, udpClient, socketClient, "Init UDP Connection OK. " + addr->ToString(true), connectionID); + + } + thread = nullptr; + return 0; +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPSendDataThead.cpp b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPSendDataThead.cpp new file mode 100644 index 0000000..c5178a6 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Private/SocketClientUDPSendDataThead.cpp @@ -0,0 +1,146 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#include "SocketClientUDPSendDataThead.h" + +FSocketClientUDPSendDataThead::FSocketClientUDPSendDataThead(USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, FString mySocketipP, int32 mySocketportP) : + udpClient(udpClientP), + socketClient(socketClientP), + mySocketip(mySocketipP), + mySocketport(mySocketportP) { + FString threadName = "FServerUDPSendMessageThread_" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); +} + +FSocketClientUDPSendDataThead::~FSocketClientUDPSendDataThead() { + delete thread; +} + +uint32 FSocketClientUDPSendDataThead::Run() { + + FSocket* socket = udpClient->getSocket(); + FString connectionID = udpClient->getConnectionID(); + maxPacketSize = udpClient->getMaxPacketSize(); + + while (udpClient->isRun() && socket != nullptr) { + + + if (udpClient->isRun() && (messageQueue.IsEmpty() == false || byteArrayQueue.IsEmpty() == false)) { + + int32 sent = 0; + TArray byteArray; + if (validInternetAdress) { + while (messageQueue.IsEmpty() == false) { + FString m; + messageQueue.Dequeue(m); + FTCHARToUTF8 Convert(*m); + byteArray.Append((uint8*)Convert.Get(), Convert.Length()); + sendBytes(socket, byteArray, sent, internetAdress); + } + + while (byteArrayQueue.IsEmpty() == false) { + byteArrayQueue.Dequeue(byteArray); + sendBytes(socket, byteArray, sent, internetAdress); + } + + } + else { + UE_LOG(LogTemp, Error, TEXT("Can't send to %s:%i . Adress not valid."), *sendToip, sendToport); + } + + } + + if (udpClient->isRun()) { + pauseThread(true); + //workaround. suspend do not work on all platforms. lets sleep + while (paused && udpClient->isRun()) { + FPlatformProcess::Sleep(0.01); + } + } + } + + if (socket != nullptr) { + socket->Close(); + socket = nullptr; + udpClient->setSocket(nullptr); + } + + + USocketClientBPLibrary* socketClientTMP = socketClient; + USocketClientUDP* udpClientGlobal = udpClient; + FString ipGlobal = mySocketip; + int32 portGlobal = mySocketport; + AsyncTask(ENamedThreads::GameThread, [socketClientTMP, udpClientGlobal, ipGlobal, portGlobal, connectionID]() { + if (socketClientTMP != nullptr) + socketClientTMP->onsocketClientUDPConnectionEventDelegate.Broadcast(false, "UDP connection closed. " + ipGlobal + ":" + FString::FromInt(portGlobal), connectionID); + if (udpClientGlobal != nullptr) + udpClientGlobal->onsocketClientUDPConnectionEventDelegate.Broadcast(false, "UDP connection closed. " + ipGlobal + ":" + FString::FromInt(portGlobal), connectionID); + }); + + + thread = nullptr; + return 0; +} + + +void FSocketClientUDPSendDataThead::addData(FString messageP, TArray byteArrayP, FString domainOrIP, int32 port, ESocketClientIPType ipType) { + + //new adress? + if (sendToport != port || sendToDomainOrIP.Equals(domainOrIP) == false) { + + sendToDomainOrIP = domainOrIP; + sendToip = socketClient->resolveDomain(domainOrIP, ipType); + sendToport = port; + + internetAdress->SetIp(*sendToip, validInternetAdress); + internetAdress->SetPort(sendToport); + if (!validInternetAdress) { + //don't send to many error messages. one second = 10000000 ticks + if (((FDateTime::Now().GetTicks()) - lastErrorMessageTime) >= 10000000) { + UE_LOG(LogTemp, Error, TEXT("Can't create Adress %s:%i"), *sendToip, sendToport); + lastErrorMessageTime = FDateTime::Now().GetTicks(); + } + return; + } + } + if (!validInternetAdress) { + return; + } + + if (messageP.Len() > 0) + messageQueue.Enqueue(messageP); + if (byteArrayP.Num() > 0) + byteArrayQueue.Enqueue(byteArrayP); + pauseThread(false); + +} + +void FSocketClientUDPSendDataThead::pauseThread(bool pause) { + paused = pause; + if (thread != nullptr) + thread->Suspend(pause); +} + +void FSocketClientUDPSendDataThead::sendBytes(FSocket*& socketP, TArray& byteArray, int32& sent, TSharedRef& addr) { + if (byteArray.Num() > maxPacketSize) { + TArray byteArrayTemp; + for (int32 i = 0; i < byteArray.Num(); i++) { + byteArrayTemp.Add(byteArray[i]); + if (byteArrayTemp.Num() == maxPacketSize) { + sent = 0; + socketP->SendTo(byteArrayTemp.GetData(), byteArrayTemp.Num(), sent, *addr); + byteArrayTemp.Empty(); + } + } + if (byteArrayTemp.Num() > 0) { + sent = 0; + socketP->SendTo(byteArrayTemp.GetData(), byteArrayTemp.Num(), sent, *addr); + byteArrayTemp.Empty(); + } + } + else { + sent = 0; + socketP->SendTo(byteArray.GetData(), byteArray.Num(), sent, *addr); + } + + byteArray.Empty(); +} \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/DNSClientSocketClient.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/DNSClientSocketClient.h new file mode 100644 index 0000000..b636c91 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/DNSClientSocketClient.h @@ -0,0 +1,28 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" +#include "DNSClientSocketClient.generated.h" + +UCLASS() +class SOCKETCLIENT_API UDNSClientSocketClient : public UObject +{ + GENERATED_UCLASS_BODY() + +public: + void resolveDomain(ISocketSubsystem* socketSubSystem, FString domain, bool useDNSCache = true, FString dnsIP = FString("8.8.8.8")); + + void UDPReceiver(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt); + + FSocket* socket = nullptr; + + bool isResloving(); + FString getIP(); + +private: + bool resolving; + FString ip; + FString domain; + TMap dnsCache; +}; \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/FileFunctionsSocketClient.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/FileFunctionsSocketClient.h new file mode 100644 index 0000000..47d7bcf --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/FileFunctionsSocketClient.h @@ -0,0 +1,271 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. +#pragma once + +#include "SocketClient.h" +#include "SocketClientBPLibrary.h" +#include "FileFunctionsSocketClient.generated.h" + +class FReadFileInPartsSocketClientThread; + + +UCLASS(Blueprintable, BlueprintType) +class SOCKETCLIENT_API UFileFunctionsSocketClient : public UObject +{ + GENERATED_UCLASS_BODY() + +public: + + UFUNCTION() + static UFileFunctionsSocketClient* getFileFunctionsSocketClientTarget(); + static UFileFunctionsSocketClient* fileFunctionsSocketClient; + + + + + static FString getCleanDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void writeBytesToFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, TArray bytes, bool& success); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void addBytesToFileAndCloseIt(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, TArray bytes, bool& success); + //UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + // static void splittFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 parts, bool& success); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static TArray readBytesFromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool &success); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void readStringFromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& data); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void writeStringToFile(EFileFunctionsSocketClientDirectoryType directoryType, FString data, FString filePath, EFileFunctionsSocketClientEncodingOptions fileEncoding, bool& success); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void getMD5FromFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& MD5); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void getMD5FromFileAbsolutePath(FString filePath, bool& success, FString& MD5); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void stringToBase64String(FString string, FString& base64String); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void base64StringToString(FString& string, FString base64String); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void bytesToBase64String(TArray bytes, FString& base64String); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static TArray base64StringToBytes(FString base64String, bool& success); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void fileToBase64String(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool& success, FString& base64String, FString& fileName); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool fileExists(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool fileExistsAbsolutePath(FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool directoryExists(EFileFunctionsSocketClientDirectoryType directoryType, FString path); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static int64 fileSize(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static int64 fileSizeAbsolutePath(FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool deleteFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketServer|SpecialFunctions|File") + static bool deleteFileAbsolutePath(FString filePath); + /** Delete a directory and return true if the directory was deleted or otherwise does not exist. **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool deleteDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + /** Return true if the file is read only. **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool isReadOnly(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + /** Attempt to move a file. Return true if successful. Will not overwrite existing files. **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool moveFile(EFileFunctionsSocketClientDirectoryType directoryTypeTo, FString filePathTo, EFileFunctionsSocketClientDirectoryType directoryTypeFrom, FString filePathFrom); + /** Attempt to change the read only status of a file. Return true if successful. **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool setReadOnly(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, bool bNewReadOnlyValue); + /** Return the modification time of a file. Returns FDateTime::MinValue() on failure **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static FDateTime getTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + /** Sets the modification time of a file **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void setTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FDateTime DateTime); + /** Return the last access time of a file. Returns FDateTime::MinValue() on failure **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static FDateTime getAccessTimeStamp(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + /** For case insensitive filesystems, returns the full path of the file with the same case as in the filesystem */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static FString getFilenameOnDisk(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + /** Create a directory and return true if the directory was created or already existed. **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static bool createDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString path); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void getAllFilesFromDirectory(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32& count, TArray& files, TArray& filePaths, FString fileType ="*.*"); + + + + /** + * Encrypts an file with AES in 256bit + * @param filePath The path must contain the file at the end. + * @param newFileName New name for the encrypted file without path. It can also take the same name of the unencrypted file. But the file will be overwritten. Possible data loss. + * @param keyIn256Bit The key must be a string with 32 characters. Please use ANSI characters only! + * @param writeEncryptedFileSizeToFile To decrypt the file correctly the size of the original file is needed. With true the size is written as int64 (8 byte) at the beginning of the file. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|AES") + static bool encryptFileWithAES(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString newFileName, FString keyIn256Bit, bool writeEncryptedFileSizeToFile = true); + + /** + * Decrypts an file that has been encrypted in AES with 256bit + * @param filePath The path must contain the file at the end. + * @param newFileName New name for the decrypted file without path. It can also take the same name of the dencrypted file. But the file will be overwritten. Possible data loss. + * @param keyIn256Bit The key must be a string with 32 characters. Please use ANSI characters only! + * @param hasEncryptedFileSizeInFile To decrypt the file correctly the size of the original file is needed. With true the size is read from the first 8 bytes in the file. + * @param originalFileSize To decrypt the file correctly the size of the original file is needed. If the size of the original file is not in the first bytes of the file, you must specify it here. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|AES") + static bool decryptFileWithAES(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString newFileName, FString keyIn256Bit, bool hasEncryptedFileSizeInFile = true, int64 originalFileSize = 0); + + /** + * Encrypts a string with AES in 256bit and returns the encrypted string as Base64 string. + * @param message The string to be encrypted + * @param keyIn256Bit The key must be a string with 32 characters. Please use ANSI characters only! + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|AES") + static FString encryptMessageWithAES(FString message, FString keyIn256Bit); + + /** + * Decrypts a Base64 string that has been encrypted in AES with 256bit and returns the string. + * @param message The string to be decrypted + * @param keyIn256Bit The key must be a string with 32 characters. Please use ANSI characters only! + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|AES") + static FString decryptMessageWithAES(FString encryptedBase64Message, FString keyIn256Bit); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|String") + static FString int64ToString(int64 num); + + + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static struct FFileFunctionsSocketClientOpenFile openFile(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static int64 addBytesToFile(struct FFileFunctionsSocketClientOpenFile openFile, TArraybytes); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void closeFile(struct FFileFunctionsSocketClientOpenFile openFile); + + /** + * With this function you can read a file piece by piece. This reduces the RAM consumption to almost zero and files can be read in infinite size. + *@param bufferSize In bytes. This is the size of the file pieces that are being read. + *@param delayBetweenReadsInSeconds Specified in seconds. The higher the value, the slower the file is read (0.0001 minimum). When sending data over the network/internet, please make sure not to send data too fast. SSDs can read data much faster than you can send it over a network. This means that the data ends up in some buffers (RAM) and can also cause them to overflow. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File", meta = (AdvancedDisplay = 2)) + static void readBytesFromFileInPartsAsync(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 bufferSize = 65536, float delayBetweenReadsInSeconds = 0.01f); + void readBytesFromFileInPartsAsyncInternal(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, int32 bufferSize = 65536, float delayBetweenReadsInSeconds = 0.01f); + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + static void cancelReadBytesFromFileInParts(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + void cancelReadBytesFromFileInPartsInternal(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath); + void cleanReadBytesFromFileInParts(FString cleanDir); + //UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|File") + // static void changeDelayInBytesFromFileInParts(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, float delayBetweenReadsInSeconds = 0.1f); + //void changeDelayInBytesFromFileInPartsInternal(EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, float delayBetweenReadsInSeconds = 0.1f); + + + TMap readFileInPartsThreads; + +private: + static TArray FStringToByteArray(FString s); + + +}; + +/* asynchronous Thread*/ +class SOCKETCLIENT_API FReadFileInPartsSocketClientThread : public FRunnable { + +public: + + FReadFileInPartsSocketClientThread(FString cleanDirP, int32 bufferSizeP, float delayBetweenReadsInSecondsP) : + cleanDir(cleanDirP), + bufferSize(bufferSizeP), + delayBetweenReadsInSeconds(delayBetweenReadsInSecondsP) + { + FString threadName = "FReadFileInPartsSocketClientThread" + FGuid::NewGuid().ToString(); + thread = FRunnableThread::Create(this, *threadName, 0, EThreadPriority::TPri_Normal); + } + + virtual uint32 Run() override { + + FArchive* reader = IFileManager::Get().CreateFileReader(*cleanDir); + if (reader == nullptr || reader->TotalSize() == 0) { + AsyncTask(ENamedThreads::GameThread, []() { + USocketClientBPLibrary::getSocketClientTarget()->onreadBytesFromFileInPartsEventDelegate.Broadcast(0, 0, true, TArray()); + }); + if (reader != nullptr) { + reader->Close(); + } + delete reader; + return 0; + } + + if (delayBetweenReadsInSeconds <= 0) { + delayBetweenReadsInSeconds = 0.0001f; + } + + int64 fileSize = reader->TotalSize(); + int64 readSize = 0; + int64 lastPosition = 0; + TArray buffer; + + if (bufferSize > fileSize) { + bufferSize = fileSize; + } + + while (run && lastPosition < fileSize) { + if ((lastPosition + bufferSize) > fileSize) { + bufferSize = fileSize - lastPosition; + } + + //buffer.Reset(bufferSize); + buffer.Empty(); + buffer.AddUninitialized(bufferSize); + + reader->Serialize(buffer.GetData(), buffer.Num()); + lastPosition += buffer.Num(); + + //UE_LOG(LogTemp, Warning, TEXT("xxxxx READ: %i"), buffer.Num()); + + + AsyncTask(ENamedThreads::GameThread, [fileSize, lastPosition, buffer]() { + USocketClientBPLibrary::getSocketClientTarget()->onreadBytesFromFileInPartsEventDelegate.Broadcast(fileSize, lastPosition, false, buffer); + }); + + FPlatformProcess::Sleep(delayBetweenReadsInSeconds); + + } + + AsyncTask(ENamedThreads::GameThread, [fileSize, lastPosition]() { + USocketClientBPLibrary::getSocketClientTarget()->onreadBytesFromFileInPartsEventDelegate.Broadcast(fileSize, lastPosition, true, TArray()); + }); + + UFileFunctionsSocketClient::getFileFunctionsSocketClientTarget()->cleanReadBytesFromFileInParts(cleanDir); + //buffer.Empty(); + if (reader != nullptr) { + reader->Close(); + } + delete reader; + thread = nullptr; + return 0; + } + + void stopThread() { + run = false; + } + + void setDelayBetweenReadsInSeconds(float d) { + delayBetweenReadsInSeconds = d; + if (delayBetweenReadsInSeconds <= 0) { + delayBetweenReadsInSeconds = 0.001f; + } + } + + +protected: + bool run = true; + FString cleanDir; + int32 bufferSize; + float delayBetweenReadsInSeconds; + //USocketClientBPLibrary* mainLib = USocketClientBPLibrary::getSocketClientTarget(); + + FRunnableThread* thread = nullptr; +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClient.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClient.h new file mode 100644 index 0000000..92d3ded --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClient.h @@ -0,0 +1,179 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Sockets.h" +#include "SocketSubsystem.h" +#include "Interfaces/IPv4/IPv4Endpoint.h" +#include "Common/UdpSocketReceiver.h" +#include "Common/UdpSocketBuilder.h" +#include "GameFramework/PlayerController.h" +#include "Engine/LocalPlayer.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "Kismet/BlueprintAsyncActionBase.h" +#include "Async/Async.h" +#include "HAL/PlatformFileManager.h" +#include "HAL/FileManager.h" +#include "Containers/Queue.h" +#include "Misc/FileHelper.h" +#include "Misc/Paths.h" +#include "Misc/Base64.h" +#include "Misc/SecureHash.h" +#include "Misc/AES.h" +#include "Modules/ModuleManager.h" +#include "Runtime/Launch/Resources/Version.h" +#if ENGINE_MAJOR_VERSION == 5 & ENGINE_MINOR_VERSION >= 2 +#include "IPAddressAsyncResolve.h" +#endif +#include "SocketClient.generated.h" + + +class FSocketClientTCPReceiveDataThread; +class FSocketClientTCPSendDataThead; + +class FSocketClientTCPFileHandlerThread; + +class FUdpSocketReceiver; +class FSocketClientUDPReceiveDataThread; +class FSocketClientUDPSendDataThead; + +class UTCPConnectAsyncNode; +class UUDPInitAsyncNode; + +USTRUCT(BlueprintType) +struct FFileFunctionsSocketClientOpenFile +{ + GENERATED_USTRUCT_BODY() + + FArchive* writer = nullptr; + +}; + +USTRUCT() +struct FSocketClientPluginSession +{ + GENERATED_USTRUCT_BODY() + + int64 addToCleanerTime = 0; + FString clientID = FString(); + FSocket* socket = nullptr; + + FSocketClientTCPSendDataThead* tcpSendThread = nullptr; + FSocketClientTCPReceiveDataThread* tcpRecieverThread = nullptr; + + FSocketClientTCPFileHandlerThread* tcpFileHandlerThread = nullptr; + + FUdpSocketReceiver* udpSocketReceiver = nullptr; + FSocketClientUDPSendDataThead* udpSendDataThead = nullptr; + FSocketClientUDPReceiveDataThread* udpReceiveDataThread = nullptr; + +}; + + +UENUM(BlueprintType) +enum class EFileFunctionsSocketClientDirectoryType : uint8 +{ + E_gd UMETA(DisplayName = "Game directory"), + E_ad UMETA(DisplayName = "Absolute directory") +}; + + +UENUM(BlueprintType) +enum class EFileFunctionsSocketClientEncodingOptions : uint8 +{ + E_AutoDetect UMETA(DisplayName = "AutoDetect"), + E_ForceAnsi UMETA(DisplayName = "ForceAnsi"), + E_ForceUnicode UMETA(DisplayName = "ForceUnicode"), + E_ForceUTF8 UMETA(DisplayName = "ForceUTF8"), + E_ForceUTF8WithoutBOM UMETA(DisplayName = "ForceUTF8WithoutBOM") +}; + +UENUM(BlueprintType) +enum class EReceiveFilterClient : uint8 +{ + E_SAB UMETA(DisplayName = "Message And Bytes"), + E_S UMETA(DisplayName = "Message"), + E_B UMETA(DisplayName = "Bytes") + +}; + + +UENUM(BlueprintType) +enum class ESocketPlatformClient : uint8 +{ + E_SSC_SYSTEM UMETA(DisplayName = "System"), + E_SSC_DEFAULT UMETA(DisplayName = "Auto"), + E_SSC_WINDOWS UMETA(DisplayName = "WINDOWS"), + E_SSC_MAC UMETA(DisplayName = "MAC"), + E_SSC_IOS UMETA(DisplayName = "IOS"), + E_SSC_UNIX UMETA(DisplayName = "UNIX"), + E_SSC_ANDROID UMETA(DisplayName = "ANDROID"), + E_SSC_PS4 UMETA(DisplayName = "PS4"), + E_SSC_XBOXONE UMETA(DisplayName = "XBOXONE"), + E_SSC_HTML5 UMETA(DisplayName = "HTML5"), + E_SSC_SWITCH UMETA(DisplayName = "SWITCH") + +}; + +UENUM(BlueprintType) +enum class ESocketClientIPType : uint8 +{ + E_ipv4 UMETA(DisplayName = "IPv4"), + E_ipv6 UMETA(DisplayName = "IPv6") +}; + + +UENUM(BlueprintType) +enum class ESocketClientTCPSeparator : uint8 +{ + E_None UMETA(DisplayName = "None"), + E_ByteSeparator UMETA(DisplayName = "Separate via one Byte"), + E_StringSeparator UMETA(DisplayName = "Separate via String"), + E_LengthSeparator UMETA(DisplayName = "Separate by Length") + +}; + + + + +#ifndef __FileFunctionsSocketClient +#define __FileFunctionsSocketClient +#include "FileFunctionsSocketClient.h" +#endif + +#ifndef __SocketClientCleanerThread +#define __SocketClientCleanerThread +#include "SocketClientCleanerThread.h" +#endif + +#ifndef __SocketClientAsyncNodes +#define __SocketClientAsyncNodes +#include "SocketClientAsyncNodes.h" +#endif + +#ifndef __SocketClientBPLibrary +#define __SocketClientBPLibrary +#include "SocketClientBPLibrary.h" +#endif + +#ifndef __SocketClientTCP +#define __SocketClientTCP +#include "SocketClientTCP.h" +#endif + +#ifndef __SocketClientUDP +#define __SocketClientUDP +#include "SocketClientUDP.h" +#endif + +class FSocketClientModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; + + static bool isShuttingDown; +}; \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientAsyncNodes.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientAsyncNodes.h new file mode 100644 index 0000000..6d8f88b --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientAsyncNodes.h @@ -0,0 +1,119 @@ +// Copyright 2022 David Romanski(Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + +#ifndef __SocketClientBPLibrary +#define __SocketClientBPLibrary +#include "SocketClientBPLibrary.h" +#endif + +#include "SocketClientAsyncNodes.generated.h" + + +/*--- TCP -------------------------------------------------------------------------------------------------------------*/ + + +UCLASS() +class SOCKETCLIENT_API UTCPConnectAsyncNode : public UBlueprintAsyncActionBase +{ + GENERATED_BODY() + + +public: + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FTCPConnectDelegate, const FString, connenctionInfo, const FString, clientConnectionID, + const FString, messageFromServer, const TArray&, byteArrayFromServer); + + UPROPERTY(BlueprintAssignable) + FTCPConnectDelegate OnConnect; + + UPROPERTY(BlueprintAssignable) + FTCPConnectDelegate OnDisconnect; + + UPROPERTY(BlueprintAssignable) + FTCPConnectDelegate OnServerMessage; + + /** + * Connect to a TCP Server + * @param domainOrIP IP or Domain of your server + * @param ipType + * @param port + * @param receiveFilter This allows you to decide which data type you want to receive. If you receive files it makes no sense to convert them into a string. + * @param messageWrapping It may be that data packets are split or merged when transmitted over TCP in order to optimize the transmission. For example, if you send "Hello" two times in a row very quickly, it can happen that "HelloHa" and "llo" arrive. To counteract this circumstance there are options to separate the data packets. + * @param optionalCustomConnectionID Instead of an automatically generated ConnectionID you can use your own ID with this parameter. + * @param disableNaglesAlgorithm Don't change it if you don't know what this option is for! With this you can disable the TCP Nagle's algorithm to send (in LAN) very small data packets faster. + **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP", meta = (BlueprintInternalUseOnly = "true", AdvancedDisplay = 6)) + static UTCPConnectAsyncNode* socketClientTCPConnectionAsyncNode(FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilters, + ESocketClientTCPSeparator messageWrapping, FString optionalCustomConnectionID, bool disableNaglesAlgorithm = false); + + + virtual void Activate() override; + + void triggerConnectionEvent(bool success, FString clientConnectionID, FString serverMessage); + void triggerMessageEvent(TArray byteDataArray, FString clientConnectionID, FString serverMessage); + +private: + UTCPConnectAsyncNode* instance = nullptr; + FString domainOrIP = "0.0.0.0"; + ESocketClientIPType ipType = ESocketClientIPType::E_ipv4; + int32 port = 9999; + EReceiveFilterClient receiveFilters = EReceiveFilterClient::E_SAB; + ESocketClientTCPSeparator messageWrapping = ESocketClientTCPSeparator::E_None; + FString optionalCustomConnectionID = FString(); + FString connectionID = FString(); + bool disableNaglesAlgorithm = false; +}; + + +/*--- UDP -------------------------------------------------------------------------------------------------------------*/ + + +UCLASS() +class SOCKETCLIENT_API UUDPInitAsyncNode : public UBlueprintAsyncActionBase +{ + GENERATED_BODY() + + +public: + DECLARE_DYNAMIC_MULTICAST_DELEGATE_SixParams(FUDPInitDelegate, const FString, initializationInfo, const FString, clientConnectionID, + const FString, peerIP,const int32, peerPort, + const FString, messageFromServer, const TArray&, byteArrayFromServer); + + UPROPERTY(BlueprintAssignable) + FUDPInitDelegate OnSuccess; + + UPROPERTY(BlueprintAssignable) + FUDPInitDelegate OnFail; + + UPROPERTY(BlueprintAssignable) + FUDPInitDelegate OnServerMessage; + + /** + *Opens a connection on specific ip and port and listen on it. + *@param DomainOrIP IP or Domain to listen on. 0.0.0.0 means that data can be received on all local IPs. + *@param port port to listen on + *@param receiveFilter This allows you to decide which data type you want to receive. If you receive files it makes no sense to convert them into a string. + *@param maxPacketSize sets the maximum UDP packet size. More than 65507 is not possible. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP", meta = (BlueprintInternalUseOnly = "true", AdvancedDisplay = 5)) + static UUDPInitAsyncNode* socketClientInitUDPReceiverAsyncNode(FString domainOrIP = "0.0.0.0", + ESocketClientIPType ipType = ESocketClientIPType::E_ipv4, int32 port = 8888, + EReceiveFilterClient receiveFilter = EReceiveFilterClient::E_SAB, int32 maxPacketSize = 65507); + + + virtual void Activate() override; + + void triggerInitEvent(bool success, FString clientConnectionID, FString serverMessage); + void triggerMessageEvent(TArray byteDataArray, FString clientConnectionID, FString serverMessage, FString peerIP, int32 peerPort); + +private: + UUDPInitAsyncNode* instance = nullptr; + FString domainOrIP = "0.0.0.0"; + ESocketClientIPType ipType = ESocketClientIPType::E_ipv4; + int32 port = 8888; + EReceiveFilterClient receiveFilter = EReceiveFilterClient::E_SAB; + int32 maxPacketSize = 65507; + FString connectionID = FString(); +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientBPLibrary.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientBPLibrary.h new file mode 100644 index 0000000..b136784 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientBPLibrary.h @@ -0,0 +1,374 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" +#include "SocketClientBPLibrary.generated.h" + +class FSocketClientCleanerThread; + +UENUM(BlueprintType) +enum class ESocketClientSystem : uint8 +{ + Android, + IOS, + Windows, + Linux, + Mac +}; + +UENUM(BlueprintType) +enum class ESocketClientDirectoryType : uint8 +{ + E_gd UMETA(DisplayName = "Game directory"), + E_ad UMETA(DisplayName = "Absolute directory") +}; + + +class USocketClientTCPClient; +class USocketClientUDP; +class FSocketClientUDPReceiveDataThread; +//class FReadFileInPartsThread; + +UCLASS() +class SOCKETCLIENT_API USocketClientBPLibrary : public UObject +{ + GENERATED_UCLASS_BODY() + +public: + + ~USocketClientBPLibrary(); + + + //Delegates + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FsocketClientTCPConnectionEventDelegate, bool, success, FString, message, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FreceiveTCPMessageEventDelegate, FString, message, const TArray&, byteArray, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FsocketClientUDPConnectionEventDelegate, bool, success, FString, message, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FreceiveUDPMessageEventDelegate, FString, message, const TArray&, byteArray, FString, IP_FromSender, int32, portFromSender, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FreadBytesFromFileInPartsEventDelegate, int64, fileSize, int64, position,bool, end, const TArray&, byteArray); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_SixParams(FtransferFileOverTCPProgressEventDelegate, FString, clientConnectionID, FString, filePath, float, percent, float, mbit, int64, bytesTransferred, int64, fileSize); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FfileTransferOverTCPInfoEventDelegate, FString, message, FString, clientConnectionID, FString, filePath, bool, success); + + + UFUNCTION() + void socketClientTCPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|ConnectionInfo") + FsocketClientTCPConnectionEventDelegate onsocketClientTCPConnectionEventDelegate; + UFUNCTION() + void receiveTCPMessageEventDelegate(const FString message, const TArray& byteArray, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|ReceiveMessage") + FreceiveTCPMessageEventDelegate onreceiveTCPMessageEventDelegate; + UFUNCTION() + void socketClientUDPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|UDP|Events|ConnectionInfo") + FsocketClientUDPConnectionEventDelegate onsocketClientUDPConnectionEventDelegate; + UFUNCTION() + void receiveUDPMessageEventDelegate(const FString message, const TArray& byteArray, const FString IP, const int32 port,const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|UDP|Events|ReceiveMessage") + FreceiveUDPMessageEventDelegate onreceiveUDPMessageEventDelegate; + UFUNCTION() + void readBytesFromFileInPartsEventDelegate(const int64 fileSize, const int64 position,const bool end, const TArray& byteArray); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|SpecialFunctions|File|Events|ReadBytesFromFileInPartsAsync") + FreadBytesFromFileInPartsEventDelegate onreadBytesFromFileInPartsEventDelegate; + UFUNCTION() + void transferFileOverTCPProgressEventDelegate(const FString clientConnectionID,const FString filePath, const float percent, const float mbit, const int64 bytesTransferred, const int64 fileSize); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|File|transferFileOverTCPProgress") + FtransferFileOverTCPProgressEventDelegate ontransferFileOverTCPProgressEventDelegate; + UFUNCTION() + void fileTransferOverTCPInfoEventDelegate(const FString message, const FString clientConnectionID, const FString filePath, const bool success); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|File|FileTransferOverTCPInfo") + FfileTransferOverTCPInfoEventDelegate onfileTransferOverTCPInfoEventDelegate; + + + /** + * Get an instance of this library. This allows non-static functions to be called. + */ + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient") + static USocketClientBPLibrary* getSocketClientTarget(); + static USocketClientBPLibrary* socketClientBPLibrary; + + + + /** + * Connect to a TCP Server + * @param domainOrIP IP or Domain of your server + * @param ipType + * @param port + * @param receiveFilter This allows you to decide which data type you want to receive. If you receive files it makes no sense to convert them into a string. + * @param messageSeparator It may be that data packets are split or merged when transmitted over TCP in order to optimize the transmission. For example, if you send "Hello" two times in a row very quickly, it can happen that "HelloHa" and "llo" arrive. To counteract this circumstance there are options to separate the data packets. + * @param optionalCustomConnectionID Instead of an automatically generated ConnectionID you can use your own ID with this parameter. + * @param disableNaglesAlgorithm Don't change it if you don't know what this option is for! With this you can disable the TCP Nagle's algorithm to send (in LAN) very small data packets faster. + **/ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP", meta = (AdvancedDisplay = 6)) + static void connectSocketClientTCP(FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilters, + ESocketClientTCPSeparator messageSeparator, FString optionalCustomConnectionID, FString& connectionID, bool disableNaglesAlgorithm = false); + void connectSocketClientTCPNonStatic(FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilters, + ESocketClientTCPSeparator messageSeparator,FString optionalCustomConnectionID, FString &connectionID, UTCPConnectAsyncNode* tcpConnectAsyncNode, bool disableNaglesAlgorithm = false); + + + /** + * Sends a string or byte array to the server. + *@param connectionID The ID to an existing connection. + *@param message String to send + *@param byteArray bytes to send + *@param addLineBreak add a line break at the end + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP", meta = (AutoCreateRefTerm = "byteArray")) + static void socketClientSendTCP(FString connectionID, FString message, TArray byteArray, bool addLineBreak = true); + void socketClientSendTCPNonStatic(FString connectionID, FString message, TArray byteArray, bool addLineBreak = true); + + /** + * Sends files as a kind of stream. This allows extremely large files to be sent since they do not have to be loaded into RAM beforehand. At the end of the transfer a MD5 checksum is created and compared between client and server to exclude errors during the transfer. + *@param connectionID The ID to an existing connection. + *@param domainOrIP IP or Domain of your server + *@param directoryType Absolute or relative directory. Absolute directory starts at the disk (e.g. Windows C:\). A relative directory starts one level higher than the Content directory in the project or game. + *@param filePath Directory including the file to be sent. + *@param token The token is a unique ID that the client and server must know. The server knows from the token in which directory the file should be saved. + *@param Aes256bitKey The AES key must consist of 32 ASCII characters. The communication between client and server is encrypted via AES in 256bit. Therefore a key must be entered. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void socketClientSendFileOverTCP(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString token, FString Aes256bitKey); + void socketClientSendFileOverTCPNonStatic(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString token, FString Aes256bitKey); + + /** + * Lets the server send a file to this client as a kind of stream. This allows extremely large files to be sent since they do not have to be loaded into RAM beforehand. At the end of the transfer a MD5 checksum is created and compared between client and server to exclude errors during the transfer. + *@param connectionID The ID to an existing connection. + *@param domainOrIP IP or Domain of your server + *@param directoryType Absolute or relative directory. Absolute directory starts at the disk (e.g. Windows C:\). A relative directory starts one level higher than the Content directory in the project or game. + *@param filePath Directory including the file to be sent. + *@param token The token is a unique ID that the client and server must know. The server recognizes by the toke what kind of file should be sent. + *@param Aes256bitKey The AES key must consist of 32 ASCII characters. The communication between client and server is encrypted via AES in 256bit. Therefore a key must be entered. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void socketClientRequestFileOverTCP(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString downloadDirectory, bool resume, FString token, FString Aes256bitKey); + void socketClientRequestFileOverTCPNonStatic(FString& connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString downloadDirectory, bool resume, FString token, FString Aes256bitKey); + + /** + * Terminates an existing connection. + *@param connectionID The ID to an existing connection. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void closeSocketClientConnectionTCP(FString connectionID); + void closeSocketClientConnectionTCPNonStatic(FString connectionID); + + /** + * Terminates all connections. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void closeAllSocketClientConnectionsTCP(); + void closeAllSocketClientConnectionsTCPNonStatic(); + + + /** + * Useful if you want to attach events to a certain connection. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void getTCPConnectionByConnectionID(FString connectionID, bool &found, USocketClientTCPClient* &connection); + void getTCPConnectionByConnectionIDNonStatic(FString connectionID, bool& found, USocketClientTCPClient*& connection); + + + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static bool isTCPConnected(FString connectionID); + bool isTCPConnectedNonStatic(FString connectionID); + + + /** + *Opens a connection on specific ip and port and listen on it. + *@param DomainOrIP IP or Domain to listen on. 0.0.0.0 means that data can be received on all local IPs. + *@param port port to listen on + *@param receiveFilter This allows you to decide which data type you want to receive. If you receive files it makes no sense to convert them into a string. + *@param maxPacketSize sets the maximum UDP packet size. More than 65507 is not possible. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP") + static void socketClientInitUDPReceiver(FString& connectionID, FString domainOrIP = "0.0.0.0", ESocketClientIPType ipType = ESocketClientIPType::E_ipv4, int32 port = 8888, EReceiveFilterClient receiveFilter = EReceiveFilterClient::E_SAB, int32 maxPacketSize = 65507); + void socketClientInitUDPReceiverNonStatic(FString& connectionID, UUDPInitAsyncNode* udpInitAsyncNode, FString domainOrIP = "0.0.0.0", ESocketClientIPType ipType = ESocketClientIPType::E_ipv4, int32 port = 8888, EReceiveFilterClient receiveFilter = EReceiveFilterClient::E_SAB, int32 maxPacketSize = 65507); + + /** + * A ConnectionID must be created first with "socketClientInitUDPReceiver". Messages and bytes can be sent to different hosts with the same ConnectionID. + *@param DomainOrIP target IP or Domain + *@param port target port + *@param message String to send + *@param addLineBreak add a line break at the end + *@param uniqueID is optional and required when multiple connections to the same server (same ip and port) shall be established. You can use getUniquePlayerID + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP", meta = (AutoCreateRefTerm = "byteArray")) + static void socketClientSendUDP(FString domainOrIP, ESocketClientIPType ipType, int32 port, FString message, TArray byteArray, bool addLineBreak = true, FString connectionID = ""); + void socketClientSendUDPNonStatic(FString domainOrIP, ESocketClientIPType ipType, int32 port, FString message, TArray byteArray, bool addLineBreak = true, FString connectionID = ""); + + /** + * Terminates an existing connection. + *@param connectionID The ID to an existing connection. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP") + static void closeSocketClientConnectionUDP(FString connectionID); + void closeSocketClientConnectionUDPNonStatic(FString connectionID); + + /** + * Useful if you want to attach events to a certain connection. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP") + static void getUDPInitializationByConnectionID(FString connectionID, bool& found, USocketClientUDP*& connection); + void getUDPInitializationByConnectionIDNonStatic(FString connectionID, bool& found, USocketClientUDP*& connection); + + + UFUNCTION(BlueprintCallable, Category = "SocketClient|UDP") + static bool isUDPInitialized(FString connectionID); + bool isUDPInitializedNonStatic(FString connectionID); + + /** + *Trying to determine the local IP. It uses a function in the engine that does not work on all devices. On Windows and Linux it seems to work very well. Very bad on Android. 0.0.0.0 will be returned if it doesn't work. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions") + static FString getLocalIP(); + + + /** + *UE4 uses different socket connections. When Steam is active, Steam Sockets are used for all connections. This leads to problems if you want to use Steam but not Steam Sockets. Therefore you can change the sockets to "System". + *@param ESocketPlatformServer System = Windows on Windows, Mac = Mac on Mac ect. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions") + static void changeSocketPlatform(ESocketPlatformClient platform); + + + /** + *The cleaner thread is a thread that runs endlessly and deletes data remnants from closed/broken connections from RAM. + *@param showLogs Writes to the logs when data remnants are deleted. + *@param minLiveTimeInSeconds When a connection is closed it is passed to the cleaner thread. The thread ignores the connection for "minLiveTimeInSeconds" until it clears the data. This is necessary because sometimes connections need some time to be closed completely. + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions") + static void changeCleanerThreadSettingsOnClient(bool showLogs, int32 minLiveTimeInSeconds = 10); + + /** + * Returns which system you are currently use. (Windows, OSX, IOS ...) + */ + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions", Meta = (ExpandEnumAsExecs = "system")) + static void getSystemType(ESocketClientSystem& system); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions") + static int32 getUniquePlayerID(APlayerController* playerController = nullptr); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions") + static FString getRandomID(); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Hex") + static TArray parseHexToBytes(FString hex); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Hex") + static FString parseHexToString(FString hex); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Hex") + static FString parseBytesToHex(TArray bytes); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Hex") + static TArray parseHexToBytesPure(FString hex); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Hex") + static FString parseHexToStringPure(FString hex); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Hex") + static FString parseBytesToHexPure(TArray bytes); + + + //number stuff + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToFloat(TArray bytes, float& value); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToInteger(TArray bytes, int32& value); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToInteger64(TArray bytes, int64& value); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToFloatPure(TArray bytes, float& value); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToIntegerPure(TArray bytes, int32& value); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToInteger64Pure(TArray bytes, int64& value); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToFloatEndian(TArray bytes, float& littleEndian, float& bigEndian); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToIntegerEndian(TArray bytes, int32& littleEndian, int32& bigEndian); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number") + static void parseBytesToInteger64Endian(TArray bytes, int64& littleEndian, int64& bigEndian); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseFloatToBytes(TArray& byteArray, float value, bool switchByteOrder = false); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseIntegerToBytes(TArray& byteArray, int32 value, bool switchByteOrder = false); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseInteger64ToBytes(TArray& byteArray, int64 value, bool switchByteOrder = false); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseFloatToBytesPure(TArray& byteArray, float value, bool switchByteOrder = false); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseIntegerToBytesPure(TArray& byteArray, int32 value, bool switchByteOrder = false); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseInteger64ToBytesPure(TArray& byteArray, int64 value, bool switchByteOrder = false); + + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "value")) + static void parseBytesToFloatArrayPure(TArray& value, TArray bytes); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "value")) + static void parseBytesToIntegerArrayPure(TArray& value, TArray bytes); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "value")) + static void parseBytesToInteger64ArrayPure(TArray& value, TArray bytes); + + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseFloatArrayToBytesPure(TArray& byteArray, TArray value); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseIntegerArrayToBytesPure(TArray& byteArray, TArray value); + + UFUNCTION(BlueprintCallable, BlueprintPure, Category = "SocketClient|SpecialFunctions|Number", meta = (AutoCreateRefTerm = "byteArray")) + static void parseInteger64ArrayToBytesPure(TArray& byteArray, TArray value); + + + + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void changeTCPSeparatorStringOnClient(FString separator = "(~{"); + void changeTCPSeparatorStringOnClientNonStatic(FString separator); + + UFUNCTION(BlueprintCallable, Category = "SocketClient|TCP") + static void changeTCPSeparatorByteOnClient(uint8 separator = 0x00); + void changeTCPSeparatorByteOnClientNonStatic(uint8 separator); + + + void getTcpSeparator(uint8& byteSeparator, FString& stringSeparator); + + static ISocketSubsystem* getSocketSubSystem(); + + FString resolveDomain(FString domain, ESocketClientIPType ipType); + //ue4 domain resolve does not work with steam. this is my own dns client + class UDNSClientSocketClient* dnsClient = nullptr; + TMap domainCache; + + + void cleanConnection(FSocketClientPluginSession& session); + +private: + ESocketPlatformClient systemSocketPlatform; + + TMap tcpClients; + TMap udpClients; + //TMap readFileInPartsThreads; + + int64 lastErrorMessageTime = 0; + + FString tcpStringSeparator = "(~{"; + uint8 tcpByteSeparator = 0x00; + + FSocketClientCleanerThread* socketClientCleanerThread = nullptr; +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientCleanerThread.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientCleanerThread.h new file mode 100644 index 0000000..8565d6f --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientCleanerThread.h @@ -0,0 +1,26 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + + +class SOCKETCLIENT_API FSocketClientCleanerThread : public FRunnable { + +public: + + FSocketClientCleanerThread(); + + + virtual uint32 Run() override; + + void addSession(FSocketClientPluginSession& session); + void changeSettings(bool showLogs, int32 minLiveTimeInSeconds); + +private: + bool showLogs = false; + int32 minLiveTimeInSeconds = 10; + FRunnableThread* thread = nullptr; + TQueue sessionQueue; +}; + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCP.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCP.h new file mode 100644 index 0000000..8d35887 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCP.h @@ -0,0 +1,106 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. +#pragma once + +#include "SocketClient.h" +#include "SocketClientTCPReceiveDataThread.h" +#include "SocketClientTCPSendDataThead.h" +#include "SocketClientTCPFileHandlerThread.h" +#include "SocketClientTCP.generated.h" + +class USocketServerBPLibrary; + +UCLASS(Blueprintable, BlueprintType) +class SOCKETCLIENT_API USocketClientTCPClient : public UObject +{ + GENERATED_UCLASS_BODY() + +public: + + //Delegates + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FsocketClientTCPConnectionEventDelegate, bool, success, FString, message, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FreceiveTCPMessageEventDelegate, FString, message, const TArray&, byteArray, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_SixParams(FtransferFileOverTCPProgressEventDelegate, FString, clientConnectionID, FString, filePath, float, percent, float, mbit, int64, bytesTransferred, int64, fileSize); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FfileTransferOverTCPInfoEventDelegate, FString, message, FString, clientConnectionID, FString, filePath, bool, success); + + UFUNCTION() + void socketClientTCPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|ConnectionInfo") + FsocketClientTCPConnectionEventDelegate onsocketClientTCPConnectionEventDelegate; + UFUNCTION() + void receiveTCPMessageEventDelegate(const FString message, const TArray& byteArray, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|ReceiveMessage") + FreceiveTCPMessageEventDelegate onreceiveTCPMessageEventDelegate; + UFUNCTION() + void transferFileOverTCPProgressEventDelegate(const FString clientConnectionID, const FString filePath, const float percent, const float mbit, const int64 bytesTransferred, const int64 fileSize); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|File|transferFileOverTCPProgress") + FtransferFileOverTCPProgressEventDelegate ontransferFileOverTCPProgressEventDelegate; + UFUNCTION() + void fileTransferOverTCPInfoEventDelegate(const FString message, const FString clientConnectionID, const FString filePath, const bool success); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|TCP|Events|File|FileTransferOverTCPInfo") + FfileTransferOverTCPInfoEventDelegate onfileTransferOverTCPInfoEventDelegate; + + UFUNCTION() + void connectionEvent(bool success, FString message, FString clientConnectionID); + + void connect(USocketClientBPLibrary* mainLib, FString domainOrIP, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, + ESocketClientTCPSeparator messageWrapping, FString connectionID, UTCPConnectAsyncNode* tcpConnectAsyncNode, bool noPacketDelay = false, bool noPacketBlocking = false); + void sendMessage(FString message, TArray byteArray); + void sendFile(USocketClientBPLibrary* mainLib, FString connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePath, FString token, FString Aes256bitKey); + void requestFile(USocketClientBPLibrary* mainLib, FString connectionID, FString domainOrIP, ESocketClientIPType ipType, int32 port, EFileFunctionsSocketClientDirectoryType directoryType, FString filePath,bool resume, FString token, FString Aes256bitKey); + + void closeConnection(); + + bool isRun(); + void setRun(bool runP); + FString getConnectionID(); + FString getAesKey(); + FString getFileToken(); + FString getFilePath(); + + void setSocket(FSocket* socket); + FSocket* getSocket(); + USocketClientBPLibrary* getMainLib(); + + void createSendThread(); + //void createFileSendThread(int64 startPosition); + FString encryptMessage(FString message); + FString decryptMessage(FString message); + void readDataLength(TArray& byteDataArray, int32& byteLenght); + bool isSendFile(); + bool isReceiveFile(); + bool hasResume(); + bool isConnected(); + void deleteFile(FString filePathP); + void getMD5FromFileAbsolutePath(FString filePath, bool& success, FString& MD5); + int64 fileSize(FString filePath); + FString int64ToString(int64 num); + void getTcpSeparator(FString& stringSeparator, uint8& byteSeparator, ESocketClientTCPSeparator& messageWrapping); + + UTCPConnectAsyncNode* tcpConnectAsyncNode = nullptr; + +private: + + bool run = false; + bool connected = false; + bool resume = false; + int32 sendOrReceive = -1; //0 == send, 1 == receive; + FString connectionID = FString(); + FString aesKey = FString(); + FString fileToken = FString(); + FString filePath = FString(); + + + FSocket* socket = nullptr; + + FSocketClientTCPReceiveDataThread* tcpReceiveDataThread = nullptr; + FSocketClientTCPSendDataThead* tcpSendThread = nullptr; + FSocketClientTCPFileHandlerThread* tcpFileConnectionThread = nullptr; + //FSocketClientTCPSendFileThread* fileSendThread = nullptr; + USocketClientBPLibrary* mainLib = nullptr; + + + ESocketClientTCPSeparator messageWrapping; + FString tcpStringSeparator = "(~{"; + uint8 tcpByteSeparator = 0x00; + +}; \ No newline at end of file diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPFileHandlerThread.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPFileHandlerThread.h new file mode 100644 index 0000000..b8445e9 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPFileHandlerThread.h @@ -0,0 +1,46 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + + +class SOCKETCLIENT_API FSocketClientTCPFileHandlerThread : public FRunnable { + +public: + + FSocketClientTCPFileHandlerThread(USocketClientBPLibrary* socketClientP, FString clientConnectionIDP, FString ipOrDomainP, ESocketClientIPType ipTypeP, + int32 portP, USocketClientTCPClient* tcpClientP); + + ~FSocketClientTCPFileHandlerThread(); + + virtual uint32 Run() override; + + void doRequestFileFromServer(FSocket* socket); + void doSendFileToServer(FSocket* socket); + + void sendMessageToServer(FString message, FSocket* socket); + + void triggerFileTransferOverTCPInfoEvent(FString messageP, FString clientConnectionIDP, FString filePathP, bool successP, + USocketClientBPLibrary* socketClientP, USocketClientTCPClient* tcpClientP); + + void triggerTransferFileEvent(FString clientConnectionIDP, FString filePathP, USocketClientBPLibrary* socketClientP, + USocketClientTCPClient* tcpClientP, float percentP, float mbitP, int64 transferredP, int64 fileSizeP); + + void sendEndMessage(FString fullFilePathP, FString tokenP, FString md5ServerP, FString clientConnectionIDP, FSocket* clientSocketP, + USocketClientBPLibrary* socketClientP, USocketClientTCPClient* tcpClientP); + + FString readMessageFromServer(FSocket* socket); + +private: + USocketClientBPLibrary* socketClient = nullptr; + //USocketClientBPLibrary* oldClient; + FString clientConnectionID; + FString originalIP; + FString ipOrDomain; + ESocketClientIPType ipType; + int32 port; + USocketClientTCPClient* tcpClient = nullptr; + FRunnableThread* thread = nullptr; + double waitForRead = 30; +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPReceiveDataThread.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPReceiveDataThread.h new file mode 100644 index 0000000..e106896 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPReceiveDataThread.h @@ -0,0 +1,41 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + + +class SOCKETCLIENT_API FSocketClientTCPReceiveDataThread : public FRunnable { + +public: + + FSocketClientTCPReceiveDataThread(USocketClientBPLibrary* socketClientBPLibraryP, FString clientConnectionIDP, EReceiveFilterClient receiveFilterP, + FString ipOrDomainP, ESocketClientIPType ipTypeP,int32 portP, USocketClientTCPClient* tcpClientP, bool noPacketDelayP, bool noPacketBlockingP); + + ~FSocketClientTCPReceiveDataThread(); + + virtual uint32 Run() override; + + + void triggerConnectionEvent(bool succsess, FString clientConnectionIDGlobal, FString serverMessage, USocketClientTCPClient* tcpClientGlobal, + USocketClientBPLibrary* socketClientGlobal); + void triggerMessageEvent(TArray& byteDataArray, FString& clientConnectionIDGlobal, USocketClientTCPClient* tcpClientGlobal, + USocketClientBPLibrary* socketClientGlobal, bool addNullTerminator = true); + + +private: + USocketClientBPLibrary* socketClientBPLibrary = nullptr; + //USocketClientBPLibrary* oldClient; + FString clientConnectionID; + FString originalIP; + EReceiveFilterClient receiveFilter; + FString ipOrDomain; + ESocketClientIPType ipType; + int32 port; + USocketClientTCPClient* tcpClient = nullptr; + bool noPacketDelay = false; + bool noPacketBlocking = false; + + + FRunnableThread* thread = nullptr; +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPSendDataThead.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPSendDataThead.h new file mode 100644 index 0000000..4c0e41e --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientTCPSendDataThead.h @@ -0,0 +1,32 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + +class SOCKETCLIENT_API FSocketClientTCPSendDataThead : public FRunnable { + +public: + + FSocketClientTCPSendDataThead(USocketClientBPLibrary* socketClientLibP, USocketClientTCPClient* tcpClientP, FString clientConnectionIDP); + + ~FSocketClientTCPSendDataThead(); + + virtual uint32 Run() override; + void sendMessage(FString messageP, TArray byteArrayP); + void pauseThread(bool pause); + + +private: + TQueue messageQueue; + TQueue> byteArrayQueue; + USocketClientBPLibrary* socketClientLib; + USocketClientTCPClient* tcpClient = nullptr; + FString clientConnectionID; + FRunnableThread* thread = nullptr; + bool run = true; + bool paused = false; + bool blah = true; +}; + + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDP.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDP.h new file mode 100644 index 0000000..ed6d57e --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDP.h @@ -0,0 +1,73 @@ +// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved. +#pragma once + +#include "SocketClient.h" +#include "SocketClientUDPSendDataThead.h" +#include "SocketClientUDPReceiveDataThread.h" +#include "SocketClientUDP.generated.h" + + +class USocketClientBPLibrary; + +UCLASS(Blueprintable, BlueprintType) +class SOCKETCLIENT_API USocketClientUDP : public UObject +{ + GENERATED_UCLASS_BODY() + +public: + + //Delegates + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FsocketClientUDPConnectionEventDelegate, bool, success, FString, message, FString, clientConnectionID); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FreceiveUDPMessageEventDelegate, FString, message, const TArray&, byteArray, FString, IP_FromSender, int32, portFromSender, FString, clientConnectionID); + + UFUNCTION() + void socketClientUDPConnectionEventDelegate(const bool success, const FString message, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|UDP|Events|ConnectionInfo") + FsocketClientUDPConnectionEventDelegate onsocketClientUDPConnectionEventDelegate; + UFUNCTION() + void receiveUDPMessageEventDelegate(const FString message, const TArray& byteArray, const FString IP, const int32 port, const FString clientConnectionID); + UPROPERTY(BlueprintAssignable, Category = "SocketClient|UDP|Events|ReceiveMessage") + FreceiveUDPMessageEventDelegate onreceiveUDPMessageEventDelegate; + + void init(USocketClientBPLibrary* socketClientLibP, UUDPInitAsyncNode* udpInitAsyncNode, FString domain, ESocketClientIPType ipType, int32 port, EReceiveFilterClient receiveFilter, FString clientConnectionID, int32 maxPacketSize = 65507); + void sendUDPMessage(FString domainOrIP, ESocketClientIPType ipType, int32 port, FString message, TArray byteArray); + void closeUDPConnection(); + void UDPReceiver(const FArrayReaderPtr& ArrayReaderPtr, const FIPv4Endpoint& EndPt); + + + bool isRun(); + void setRun(bool runP); + + FSocket* getSocket(); + void setSocket(FSocket* socketP); + + void setUDPSocketReceiver(FUdpSocketReceiver* udpSocketReceiver); + + FString getIP(); + void setIP(FString ipP); + int32 getPort(); + FString getDomainOrIP(); + + FString getConnectionID(); + void setUDPSendThread(FSocketClientUDPSendDataThead* udpSendThreadP); + + int32 getMaxPacketSize(); + + UUDPInitAsyncNode* udpInitAsyncNode = nullptr; + +private: + bool run = false; + EReceiveFilterClient receiveFilter; + FString connectionID; + FString domainOrIP; + int32 port = 0; + int32 maxPacketSize = 65507; + + USocketClientBPLibrary* socketClientBPLibrary = nullptr; + + FUdpSocketReceiver* udpSocketReceiver = nullptr; + FSocket* socket = nullptr; + FSocketClientUDPReceiveDataThread* UDPThread = nullptr; + FSocketClientUDPSendDataThead* UDPSendThread = nullptr; +}; + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPReceiveDataThread.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPReceiveDataThread.h new file mode 100644 index 0000000..ad372eb --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPReceiveDataThread.h @@ -0,0 +1,30 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + + +class SOCKETCLIENT_API FSocketClientUDPReceiveDataThread : public FRunnable { + +public: + + FSocketClientUDPReceiveDataThread(USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, FString ipP, int32 portP, ESocketClientIPType ipTypeP); + + ~FSocketClientUDPReceiveDataThread(); + + void triggerInitEvent(bool success, USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, FString serverMessage, FString connectionID); + + virtual uint32 Run() override; + + +private : + USocketClientUDP* udpClient = nullptr; + USocketClientBPLibrary* socketClient = nullptr; + FRunnableThread* thread = nullptr; + FString ipGlobal; + int32 portGlobal; + ESocketClientIPType ipType = ESocketClientIPType::E_ipv4; + FSocket* socket = nullptr; + bool reuseSocket = false; +}; diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPSendDataThead.h b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPSendDataThead.h new file mode 100644 index 0000000..a1000c2 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/Public/SocketClientUDPSendDataThead.h @@ -0,0 +1,37 @@ +// Copyright 2022 David Romanski (Socke). All Rights Reserved. + +#pragma once + +#include "SocketClient.h" + +class SOCKETCLIENT_API FSocketClientUDPSendDataThead : public FRunnable { + +public: + + FSocketClientUDPSendDataThead(USocketClientUDP* udpClientP, USocketClientBPLibrary* socketClientP, FString mySocketipP, int32 mySocketportP); + + ~FSocketClientUDPSendDataThead(); + + virtual uint32 Run() override; + void addData(FString messageP, TArray byteArrayP, FString domainOrIP, int32 port, ESocketClientIPType ipType); + void pauseThread(bool pause); + void sendBytes(FSocket*& socketP, TArray& byteArray, int32& sent, TSharedRef& addr); + +private: + USocketClientUDP* udpClient = nullptr; + USocketClientBPLibrary* socketClient = nullptr; + FString mySocketip; + int32 mySocketport = 0; + FString sendToip; + int32 sendToport = 0; + FString sendToDomainOrIP = FString(); + FRunnableThread* thread = nullptr; + bool paused; + TQueue messageQueue; + TQueue> byteArrayQueue; + int32 maxPacketSize = 65507; + bool validInternetAdress = false; + TSharedRef internetAdress = USocketClientBPLibrary::getSocketSubSystem()->CreateInternetAddr(); + int64 lastErrorMessageTime = 0; +}; + diff --git a/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/SocketClient.Build.cs b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/SocketClient.Build.cs new file mode 100644 index 0000000..07a9532 --- /dev/null +++ b/InteractiveControl/Plugins/SimpleUDPTCPSocketClient/Source/SocketClient/SocketClient.Build.cs @@ -0,0 +1,57 @@ +// Copyright 2017-2020 David Romanski (Socke). All Rights Reserved. + +using UnrealBuildTool; + +public class SocketClient : ModuleRules +{ + public SocketClient(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + "SocketClient/Private", + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Networking", + "Sockets" + + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Networking", + "Sockets", + "Slate", + "SlateCore" + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/SpaceStudioClient/.gitignore b/SpaceStudioClient/.gitignore new file mode 100644 index 0000000..242a311 --- /dev/null +++ b/SpaceStudioClient/.gitignore @@ -0,0 +1,75 @@ +# ---> UnrealEngine +# Visual Studio 2015 user specific files +.vs/ + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a + +# Executables +*.exe +*.out +*.app +*.ipa + +# These project files can be generated by the engine +*.xcodeproj +*.xcworkspace +*.sln +*.suo +*.opensdf +*.sdf +*.VC.db +*.VC.opendb + +# Precompiled Assets +SourceArt/**/*.png +SourceArt/**/*.tga + +# Binary Files +Binaries/* +Plugins/**/Binaries/* + +# Builds +Build/* + +# Whitelist PakBlacklist-.txt files +!Build/*/ +Build/*/** +!Build/*/PakBlacklist*.txt + +# Don't ignore icon files in Build +!Build/**/*.ico + +# Built data for maps +*_BuiltData.uasset + +# Configuration files generated by the Editor +Saved/* + +# Compiled source files for the engine to use +Intermediate/* +Plugins/**/Intermediate/* + +# Cache files for the editor to use +DerivedDataCache/* + diff --git a/SpaceStudioClient/Config/DefaultEngine.ini b/SpaceStudioClient/Config/DefaultEngine.ini index fa2cd8d..0b7c835 100644 --- a/SpaceStudioClient/Config/DefaultEngine.ini +++ b/SpaceStudioClient/Config/DefaultEngine.ini @@ -1,7 +1,8 @@ [/Script/EngineSettings.GameMapsSettings] -GameDefaultMap=/Engine/Maps/Templates/OpenWorld +GameDefaultMap=/Game/Main.Main +EditorStartupMap=/Game/Main.Main [/Script/WindowsTargetPlatform.WindowsTargetSettings] DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 diff --git a/SpaceStudioClient/Config/DefaultGame.ini b/SpaceStudioClient/Config/DefaultGame.ini index 059fca6..ab5937b 100644 --- a/SpaceStudioClient/Config/DefaultGame.ini +++ b/SpaceStudioClient/Config/DefaultGame.ini @@ -2,3 +2,93 @@ [/Script/EngineSettings.GeneralProjectSettings] ProjectID=C5CBDA014AD60DA47558CEB13DA4AD3C + +[/Script/UnrealEd.ProjectPackagingSettings] +Build=IfProjectHasCode +BuildConfiguration=PPBC_Development +BuildTarget= +FullRebuild=False +ForDistribution=False +IncludeDebugFiles=False +BlueprintNativizationMethod=Disabled +bIncludeNativizedAssetsInProjectGeneration=False +bExcludeMonolithicEngineHeadersInNativizedCode=False +UsePakFile=False +bUseIoStore=False +bUseZenStore=False +bMakeBinaryConfig=False +bGenerateChunks=False +bGenerateNoChunks=False +bChunkHardReferencesOnly=False +bForceOneChunkPerFile=False +MaxChunkSize=0 +bBuildHttpChunkInstallData=False +HttpChunkInstallDataDirectory=(Path="") +WriteBackMetadataToAssetRegistry=Disabled +bCompressed=True +PackageCompressionFormat=Oodle +bForceUseProjectCompressionFormatIgnoreHardwareOverride=False +PackageAdditionalCompressionOptions= +PackageCompressionMethod=Kraken +PackageCompressionLevel_DebugDevelopment=4 +PackageCompressionLevel_TestShipping=5 +PackageCompressionLevel_Distribution=7 +PackageCompressionMinBytesSaved=1024 +PackageCompressionMinPercentSaved=5 +bPackageCompressionEnableDDC=False +PackageCompressionMinSizeToConsiderDDC=0 +HttpChunkInstallDataVersion= +IncludePrerequisites=True +IncludeAppLocalPrerequisites=False +bShareMaterialShaderCode=True +bDeterministicShaderCodeOrder=False +bSharedMaterialNativeLibraries=True +ApplocalPrerequisitesDirectory=(Path="") +IncludeCrashReporter=False +InternationalizationPreset=English +-CulturesToStage=en ++CulturesToStage=en +LocalizationTargetCatchAllChunkId=0 +bCookAll=False +bCookMapsOnly=False +bSkipEditorContent=False +bSkipMovies=False +-IniKeyDenylist=KeyStorePassword +-IniKeyDenylist=KeyPassword +-IniKeyDenylist=rsa.privateexp +-IniKeyDenylist=rsa.modulus +-IniKeyDenylist=rsa.publicexp +-IniKeyDenylist=aes.key +-IniKeyDenylist=SigningPublicExponent +-IniKeyDenylist=SigningModulus +-IniKeyDenylist=SigningPrivateExponent +-IniKeyDenylist=EncryptionKey +-IniKeyDenylist=DevCenterUsername +-IniKeyDenylist=DevCenterPassword +-IniKeyDenylist=IOSTeamID +-IniKeyDenylist=SigningCertificate +-IniKeyDenylist=MobileProvision +-IniKeyDenylist=IniKeyDenylist +-IniKeyDenylist=IniSectionDenylist ++IniKeyDenylist=KeyStorePassword ++IniKeyDenylist=KeyPassword ++IniKeyDenylist=rsa.privateexp ++IniKeyDenylist=rsa.modulus ++IniKeyDenylist=rsa.publicexp ++IniKeyDenylist=aes.key ++IniKeyDenylist=SigningPublicExponent ++IniKeyDenylist=SigningModulus ++IniKeyDenylist=SigningPrivateExponent ++IniKeyDenylist=EncryptionKey ++IniKeyDenylist=DevCenterUsername ++IniKeyDenylist=DevCenterPassword ++IniKeyDenylist=IOSTeamID ++IniKeyDenylist=SigningCertificate ++IniKeyDenylist=MobileProvision ++IniKeyDenylist=IniKeyDenylist ++IniKeyDenylist=IniSectionDenylist +-IniSectionDenylist=HordeStorageServers +-IniSectionDenylist=StorageServers ++IniSectionDenylist=HordeStorageServers ++IniSectionDenylist=StorageServers + diff --git a/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset b/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset new file mode 100644 index 0000000..7425050 --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/BP_MediaPlayerController.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:31c97d4e0759c7bd7309eb9d81a794baa888d161a8676cd9878e4b441eb584ca +size 375071 diff --git a/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset b/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset new file mode 100644 index 0000000..a5f5121 --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/BP_UDPMessageProcessor.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e9e48603abf867176c7fafb57020d8341f1f047565b217c63194442023b9972 +size 152649 diff --git a/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset b/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset new file mode 100644 index 0000000..d656fdc --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/BP_Windows.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b0823f1114c4359f7db05ba99a5e3a8d6a7c1b56e36b3ee8382a13b539e225b +size 114839 diff --git a/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset b/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset new file mode 100644 index 0000000..ad9bc9b --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/UI/M_KinentBodys.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bf8990ca519192977ea848366f0ebc30bbf91597a6fe587cb20118e85ba6e3d +size 13729 diff --git a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset new file mode 100644 index 0000000..9ec49c7 --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4825780ab27f16df7d7bb156ebb636bf30583f367ae30cd82180a6a765f53504 +size 62234 diff --git a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_B.uasset b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_B.uasset new file mode 100644 index 0000000..49d5424 --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_B.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a20820ef18b4713dae8c1dd3284003cf562dd14ef0d001f28a65b1b61de5aa0e +size 62623 diff --git a/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset new file mode 100644 index 0000000..1060580 --- /dev/null +++ b/SpaceStudioClient/Content/Blueprints/UI/WB_Wall_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f732583b554419c0363d1289fb9ac0011b707eba15aeda8ab8dd127cee4cf259 +size 62559 diff --git a/SpaceStudioClient/Content/Main.umap b/SpaceStudioClient/Content/Main.umap new file mode 100644 index 0000000..939b92e --- /dev/null +++ b/SpaceStudioClient/Content/Main.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f050857d72c3f11406dbff3c57b9d882db7b225f733b3e698fa005c0a0212100 +size 12124 diff --git a/SpaceStudioClient/Content/MediaPlayer/MediaPlayerA.uasset b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerA.uasset new file mode 100644 index 0000000..0316a1e --- /dev/null +++ b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerA.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d60eb934b81511437f7616ab555de5c6dac6f56564e5fa032e5917f13b81867 +size 1421 diff --git a/SpaceStudioClient/Content/MediaPlayer/MediaPlayerB.uasset b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerB.uasset new file mode 100644 index 0000000..c1efc0b --- /dev/null +++ b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerB.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08318f3be457ddddb59dcf2700c70108cf124c23b4377d080f780e09454a1993 +size 1360 diff --git a/SpaceStudioClient/Content/MediaPlayer/MediaPlayerC.uasset b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerC.uasset new file mode 100644 index 0000000..7954e32 --- /dev/null +++ b/SpaceStudioClient/Content/MediaPlayer/MediaPlayerC.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a488855cb4f41777f3ad9a5356e17fe79c8bcefd7c4f476f83103273b3828b8a +size 1360 diff --git a/SpaceStudioClient/Content/TextureRender2D/MediaPlayerA_Video.uasset b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerA_Video.uasset new file mode 100644 index 0000000..d2760c5 --- /dev/null +++ b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerA_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e7f1985256ea208950f74730eb127840adf00516f9047c806092b72f057ca93 +size 11546 diff --git a/SpaceStudioClient/Content/TextureRender2D/MediaPlayerB_Video.uasset b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerB_Video.uasset new file mode 100644 index 0000000..a8bb511 --- /dev/null +++ b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerB_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:28a1062b791f2fba807c9fc92511ecc151bfeeecda9dff9d2fb685fa33db5447 +size 11447 diff --git a/SpaceStudioClient/Content/TextureRender2D/MediaPlayerC_Video.uasset b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerC_Video.uasset new file mode 100644 index 0000000..f7b76f0 --- /dev/null +++ b/SpaceStudioClient/Content/TextureRender2D/MediaPlayerC_Video.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcab4310b969e637c9d4895949d76987de434bf2be23f1c92dc0afdfbfbf2e97 +size 11447 diff --git a/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_A.uasset b/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_A.uasset new file mode 100644 index 0000000..c6d7024 --- /dev/null +++ b/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_A.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c725fddea127c6fae5db0c6319d727a311898f4c26bc2e69a837b5f235ecda1 +size 4137 diff --git a/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_C.uasset b/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_C.uasset new file mode 100644 index 0000000..119509a --- /dev/null +++ b/SpaceStudioClient/Content/TextureRender2D/TextureRenderTarget2D_C.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eb5400b29c3e075c64f4c2db254d5258b07e2c2297818b381089974615ed1f4 +size 4368 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/ExampleMap_MW.umap b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/ExampleMap_MW.umap new file mode 100644 index 0000000..0c87ab5 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/ExampleMap_MW.umap @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdfafd66d439d047a11fcb245981fca7c496d1bd54e66d4696ec80de33e087cf +size 114784 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Close.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Close.uasset new file mode 100644 index 0000000..54604ad --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Close.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf8183dc7af86daf88e5d75f8b695f2d6014c719e1323a67deb8611e55fe2626 +size 12426 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Maximize.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Maximize.uasset new file mode 100644 index 0000000..9b30546 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Maximize.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:116a3e699c259a2fd66da7a523147c5ff026b7e17928260a2f2d04127ebc91ec +size 11697 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Minimize.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Minimize.uasset new file mode 100644 index 0000000..06920b5 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Minimize.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4f26de925ce74ab242b2ad4ac045e60e7c8ff753bd73cf3295bf91fec7df5b2 +size 9666 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Restore.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Restore.uasset new file mode 100644 index 0000000..22642aa --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/Textures/T_Restore.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:299cabf21f5859d980f8f16794f4c4ea4592c5b53940af3a3bb15e33ffd23517 +size 12439 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Main.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Main.uasset new file mode 100644 index 0000000..179ea0f --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Main.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9296df685c553201d0e05914233901b1048c858f9f972578d8d5bec2de16761 +size 85144 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Template.uasset b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Template.uasset new file mode 100644 index 0000000..c14d30d --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Content/MultiWindow/WBP_MW_Template.uasset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbad15b51b2fe75b840014538349b099bee5ea9aad1e8372e8e16660d9fccc67 +size 148322 diff --git a/SpaceStudioClient/Plugins/MultiWindow/MultiWindow.uplugin b/SpaceStudioClient/Plugins/MultiWindow/MultiWindow.uplugin new file mode 100644 index 0000000..94c338c --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/MultiWindow.uplugin @@ -0,0 +1,28 @@ +{ + "FileVersion": 3, + "Version": 1, + "VersionName": "1.0", + "FriendlyName": "MultiWindow", + "Description": "", + "Category": "Other", + "CreatedBy": "YWT20", + "CreatedByURL": "https://www.unrealengine.com/marketplace/en-US/profile/YWT20", + "DocsURL": "", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/1056b6c5d31c49809416547f44545453", + "SupportURL": "https://www.youtube.com/channel/UCWYg44Cjom34vYb1Zedt__A?view_as=subscriber", + "EngineVersion": "5.3.0", + "CanContainContent": true, + "Installed": true, + "Modules": [ + { + "Name": "MultiWindow", + "Type": "Runtime", + "LoadingPhase": "PreLoadingScreen", + "PlatformAllowList": [ + "Win64", + "Mac", + "Linux" + ] + } + ] +} \ No newline at end of file diff --git a/SpaceStudioClient/Plugins/MultiWindow/Resources/Icon128.png b/SpaceStudioClient/Plugins/MultiWindow/Resources/Icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..1231d4aad4d0d462fb7b178eb5b30aa61a10df0b GIT binary patch literal 12699 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 a;7#~yJh_ha>A&A^fRdb=Y>l)<=>Gxy=2LS3 literal 0 HcmV?d00001 diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/MultiWindow.Build.cs b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/MultiWindow.Build.cs new file mode 100644 index 0000000..2c7cc2d --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/MultiWindow.Build.cs @@ -0,0 +1,59 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +using UnrealBuildTool; + +public class MultiWindow : ModuleRules +{ + public MultiWindow(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicIncludePaths.AddRange( + new string[] { + // ... add public include paths required here ... + } + ); + + + PrivateIncludePaths.AddRange( + new string[] { + // ... add other private include paths required here ... + } + ); + + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + // ... add other public dependencies that you statically link with here ... + } + ); + + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "CoreUObject", + "Engine", + "Slate", + "SlateCore", + "UMG", + "InputCore", + "ApplicationCore", + // ... add private dependencies that you statically link with here ... + } + ); + + + DynamicallyLoadedModuleNames.AddRange( + new string[] + { + // ... add any modules that your module loads dynamically here ... + } + ); + } +} diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindow.cpp b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindow.cpp new file mode 100644 index 0000000..e49f15b --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindow.cpp @@ -0,0 +1,25 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#include "MultiWindow.h" + +#define LOCTEXT_NAMESPACE "FMultiWindowModule" + +void FMultiWindowModule::StartupModule() +{ + // This code will execute after your module is loaded into memory; the exact timing is specified in the .uplugin file per-module + +} + +void FMultiWindowModule::ShutdownModule() +{ + // This function may be called during shutdown to clean up your module. For modules that support dynamic reloading, + // we call this function before unloading the module. + +} + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FMultiWindowModule, MultiWindow) \ No newline at end of file diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowActor.cpp b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowActor.cpp new file mode 100644 index 0000000..8e21aa2 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowActor.cpp @@ -0,0 +1,242 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + + +#include "MultiWindowActor.h" +#include "Components/Widget.h" +#include "Widgets/SWindow.h" +#include "Widgets/Layout/SConstraintCanvas.h" +#include "Engine.h" +#include + + +AMultiWindowActor::AMultiWindowActor() +{ + PrimaryActorTick.bCanEverTick = true; +} + +void AMultiWindowActor::BeginPlay() +{ + Super::BeginPlay(); + viewPort = GEngine->GameViewport->Viewport; +} + +void AMultiWindowActor::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + Super::EndPlay(EndPlayReason); + SetWindowClose(); +} + +void AMultiWindowActor::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + UpdateContentDPI(); + + if (WindowPos != GetWindowPositoin()) + { + WindowPos = GetWindowPositoin(); + OnWindowMoved.Broadcast(WindowPos); + } + + if (ForceFocusToGameViewport && !viewPort->HasFocus()) + { + if (!timerHandle.IsValid()) + { + GetWorldTimerManager().SetTimer(timerHandle, this, &AMultiWindowActor::CheckFocus, focusTime, false); + } + } +} + +void AMultiWindowActor::InitWindow(TSharedPtr InWindow, UUserWidget* InContentWidget) +{ + if (IsPendingKillPending()) return; + + window = InWindow; + contentWidget = InContentWidget; + window->GetOnWindowClosedEvent().AddUObject(this, &AMultiWindowActor::EventOnWindowClose); + WindowPos = GetWindowPositoin(); + + window->GetOnWindowActivatedEvent().AddLambda([&]() { + OnWindowActivated.Broadcast(); + }); + window->GetOnWindowDeactivatedEvent().AddLambda([&]() { + OnWindowDeactivated.Broadcast(); + }); +} + +void AMultiWindowActor::UpdateContentDPI() +{ + if (bIsAutoContentDPIScale && WindowOriginSize != GetWindowSize()) + { + FVector2D TempWindowDPI = GetWindowSize() / WindowOriginSize; + if (TempWindowDPI != WindowDPI) + { + WindowDPI = TempWindowDPI; + contentWidget->SetRenderScale(WindowDPI); + } + } +} + +void AMultiWindowActor::CheckFocus() +{ + if (!viewPort->HasFocus()) + { + FSlateApplication::Get().SetAllUserFocusToGameViewport(); + } + GetWorldTimerManager().ClearTimer(timerHandle); +} + +void AMultiWindowActor::SetWindowShow(bool bIsShow) +{ + if (window.IsValid()) + { + if (bIsShow) + { + window->ShowWindow(); + } + else + { + window->HideWindow(); + } + } +} + +void AMultiWindowActor::SetWindowContentWidget(UUserWidget* ContentWidget) +{ + if (ContentWidget && window.IsValid()) + { + window->SetContent(ContentWidget->TakeWidget()); + contentWidget = ContentWidget; + } +} + +UUserWidget* AMultiWindowActor::GetWindowContentWidget() +{ + return contentWidget; +} + +void AMultiWindowActor::SetWindowSize(FVector2D WindowSize) +{ + if (window) + { + window->Resize(WindowSize); + WindowOriginSize = WindowSize; + } +} + +void AMultiWindowActor::SetWindowPosition(FVector2D WindowPosition) +{ + if (window) + { + window->MoveWindowTo(WindowPosition); + } +} + +FVector2D AMultiWindowActor::GetWindowSize() +{ + if (window) + { + FVector2D tempSize = window->GetSizeInScreen(); + FMargin tempBorderSize = window->GetWindowBorderSize(false); + tempSize.X -= tempBorderSize.GetDesiredSize().X; + tempSize.Y -= tempBorderSize.GetDesiredSize().Y + window->GetTitleBarSize().Get(); + return tempSize; + } + return FVector2D(); +} + +FVector2D AMultiWindowActor::GetWindowPositoin() +{ + if (window) + { + FVector2D tempSize = window->GetPositionInScreen(); + return tempSize; + } + return FVector2D(); +} + +//FVector2D AMultiWindowActor::GetWindowDPI() +//{ +// return WindowDPI; +//} + +void AMultiWindowActor::SetWindowTitle(const FString& WindowTitle) +{ + if (window) + { + window->SetTitle(FText::FromString(WindowTitle)); + } +} + +void AMultiWindowActor::SetWindowMaximize() +{ + if (window) + { + window->Maximize(); + } +} + +void AMultiWindowActor::SetWindowRestore() +{ + if (window) + { + window->Restore(); + } +} + +void AMultiWindowActor::SetWindowMinimize() +{ + if (window) + { + window->Minimize(); + } +} + +void AMultiWindowActor::SetWindowClose() +{ + if (window) + { + if (OnWindowClose.IsBound()) + { + OnWindowClose.Broadcast(); + } + OnWindowClose.Clear(); + + window->GetOnWindowClosedEvent().RemoveAll(this); + window->GetOnWindowActivatedEvent().RemoveAll(this); + window->GetOnWindowDeactivatedEvent().RemoveAll(this); + + //window->DestroyWindowImmediately(); + window->RequestDestroyWindow(); + window.Reset(); + Destroy(); + } +} + +FText AMultiWindowActor::GetWindowTitle() +{ + if (window) + { + return window->GetTitle(); + } + return FText(); +} + +void AMultiWindowActor::SetDPIScaleFactor(const float Factor) +{ + if (window) + { + window->SetDPIScaleFactor(Factor); + } +} + +float AMultiWindowActor::GetDPIScaleFactor() const +{ + if (window) + { + return window->GetDPIScaleFactor(); + } + return 0.0f; +} diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowBPLibrary.cpp b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowBPLibrary.cpp new file mode 100644 index 0000000..d07d5a6 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/MultiWindowBPLibrary.cpp @@ -0,0 +1,171 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#include "MultiWindowBPLibrary.h" +#include "Engine.h" +#include "Blueprint/UserWidget.h" +#include "SMWindow.h" +#include "Components/Widget.h" +#include "Widgets/SWidget.h" +#include "Widgets/Layout/SConstraintCanvas.h" +#include "Framework/Application/SlateApplication.h" +#include "Engine/GameViewportClient.h" +#include "GenericPlatform/GenericApplication.h" +#include "GameFramework/GameUserSettings.h" +#include "MultiWindow.h" + + +UMultiWindowBPLibrary::UMultiWindowBPLibrary(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + +} + +bool UMultiWindowBPLibrary::CreateMultiWindow( + UObject* WorldContextObject, + UUserWidget* ContentWidget, + AMultiWindowActor*& MultiWindowActor, + FVector2D WindowPositon, + FVector2D WindowSize, + bool bIsAutoCenter, + bool bIsCreateTitle, + FString WindowTitle, + float WindowBorderMarginLeft, + float WindowBorderMarginTop, + float WindowBorderMarginRight, + float WindowBorderMarginBottom, + EWindowSizingRule WindowSizingRule, + bool bIsAutoContentDPIScale, + bool IsTopmostWindow, + bool ForceFocusToGameViewport +) +{ + TSharedPtr window = SNew(SMWindow) + .Title(FText::FromString(WindowTitle)) + .ScreenPosition(WindowPositon) + .ClientSize(WindowSize) + .FocusWhenFirstShown(true) + .HasCloseButton(true) + .IsTopmostWindow(IsTopmostWindow) + .SupportsMaximize(true) + .LayoutBorder(FMargin(WindowBorderMarginLeft, WindowBorderMarginTop, WindowBorderMarginRight, WindowBorderMarginBottom)) + .SupportsMinimize(true) + .CreateTitleBar(bIsCreateTitle) + .AutoCenter(bIsAutoCenter ? (EAutoCenter::PrimaryWorkArea) : (EAutoCenter::None)) + .SizingRule((ESizingRule)WindowSizingRule); + + if (!window.IsValid()) { return false; } + + window->SetViewportSizeDrivenByWindow(true); + FSlateApplication& slateApp = FSlateApplication::Get(); + + + TArray> OutWindows; + + slateApp.GetAllVisibleWindowsOrdered(OutWindows); + + if (TSharedPtr MainMenu = OutWindows[0]) + { + slateApp.AddWindowAsNativeChild(window.ToSharedRef(), MainMenu.ToSharedRef()); + } + else + { + slateApp.AddWindow(window.ToSharedRef(), true); + } + + if (ContentWidget) + { + window->SetContent(ContentWidget->TakeWidget()); + } + window->SetWindowMode(EWindowMode::Windowed); + if (UWorld* World = GEngine->GetWorldFromContextObjectChecked(WorldContextObject)) { + MultiWindowActor = World->SpawnActor(FVector::ZeroVector, FRotator::ZeroRotator); + MultiWindowActor->InitWindow(window, ContentWidget); + MultiWindowActor->WindowOriginSize = WindowSize; + MultiWindowActor->bIsAutoContentDPIScale = bIsAutoContentDPIScale; + MultiWindowActor->ForceFocusToGameViewport = ForceFocusToGameViewport; + window->MultiWindowActor = MultiWindowActor; + } + + return true; +} + +bool UMultiWindowBPLibrary::CreateRelativeMultiWindow(UObject* WorldContextObject, UUserWidget* ContentWidget, AMultiWindowActor*& MultiWindowActor, int32 MonitorIndex, FVector2D WindowPositon, FVector2D WindowSize, bool bIsAutoCenter, bool bIsCreateTitle, FString WindowTitle, float WindowBorderMarginLeft, float WindowBorderMarginTop, float WindowBorderMarginRight, float WindowBorderMarginBottom, EWindowSizingRule WindowSizingRule, bool bIsAutoContentDPIScale, bool IsTopmostWindow, bool ForceFocusToGameViewport) +{ + CreateMultiWindow(WorldContextObject, ContentWidget, MultiWindowActor, WindowPositon, WindowSize, bIsAutoCenter, bIsCreateTitle, WindowTitle, WindowBorderMarginLeft, WindowBorderMarginTop, WindowBorderMarginRight, WindowBorderMarginBottom, WindowSizingRule, bIsAutoContentDPIScale, IsTopmostWindow); + + if (MonitorIndex < 0) return false; + + FDisplayMetrics displayMetrics; + displayMetrics.RebuildDisplayMetrics(displayMetrics); + + if (!displayMetrics.MonitorInfo.IsValidIndex(MonitorIndex)) return false; + FMonitorInfo monitorInfo = displayMetrics.MonitorInfo[MonitorIndex]; + + if (!GEngine) return false; + + if (bIsAutoCenter) + { + WindowPositon = FVector2D(monitorInfo.WorkArea.Left, monitorInfo.WorkArea.Top); + WindowPositon += FVector2D(monitorInfo.NativeWidth * 0.5f, monitorInfo.NativeHeight * 0.5f); + WindowPositon -= WindowSize / 2; + } + else + { + WindowPositon += FVector2D(monitorInfo.WorkArea.Left, monitorInfo.WorkArea.Top); + } + + + MultiWindowActor->ForceFocusToGameViewport = ForceFocusToGameViewport; + MultiWindowActor->SetWindowPosition(WindowPositon); + return true; +} + +bool UMultiWindowBPLibrary::CreateMultiWindowByMonitor(UObject* WorldContextObject, UUserWidget* ContentWidget, AMultiWindowActor*& MultiWindowActor, int32 MonitorIndex, bool bIsCreateTitle, FString WindowTitle, bool ForceFocusToGameViewport) +{ + CreateMultiWindow(WorldContextObject, ContentWidget, MultiWindowActor, FVector2D(), FVector2D(800.0f, 640.0f), false, bIsCreateTitle, WindowTitle, 0, 0, 0, 0, EWindowSizingRule::FixedSize, false, true); + if (MonitorIndex < 0) return false; + + FDisplayMetrics displayMetrics; + displayMetrics.RebuildDisplayMetrics(displayMetrics); + + if (!displayMetrics.MonitorInfo.IsValidIndex(MonitorIndex)) return false; + FMonitorInfo monitorInfo = displayMetrics.MonitorInfo[MonitorIndex]; + + if (!GEngine) return false; + + MultiWindowActor->SetWindowPosition(FVector2D(monitorInfo.WorkArea.Left, monitorInfo.WorkArea.Top)); + MultiWindowActor->ForceFocusToGameViewport = ForceFocusToGameViewport; + MultiWindowActor->SetWindowMaximize(); + + return true; +} + +int32 UMultiWindowBPLibrary::GetMonitorCount() +{ + FDisplayMetrics displayMetrics; + displayMetrics.RebuildDisplayMetrics(displayMetrics); + return displayMetrics.MonitorInfo.Num(); +} + +int32 UMultiWindowBPLibrary::GetPrimaryMonitorIndex() +{ + FDisplayMetrics displayMetrics; + displayMetrics.RebuildDisplayMetrics(displayMetrics); + + for (int32 i = 0; i < displayMetrics.MonitorInfo.Num(); i++) + { + if (displayMetrics.MonitorInfo[i].bIsPrimary) return i; + } + + return -1; +} + +void UMultiWindowBPLibrary::MW_PrintToLog() +{ + FDisplayMetrics displayMetrics; + displayMetrics.RebuildDisplayMetrics(displayMetrics); + displayMetrics.PrintToLog(); +} diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/SMWindow.cpp b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/SMWindow.cpp new file mode 100644 index 0000000..c5b2ed8 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Private/SMWindow.cpp @@ -0,0 +1,44 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + + +#include "SMWindow.h" +#include "MultiWindowActor.h" + +FReply SMWindow::OnKeyChar(const FGeometry& MyGeometry, const FCharacterEvent& InCharacterEvent) +{ + if (MultiWindowActor) + { + return MultiWindowActor->contentWidget->OnKeyChar(MyGeometry, InCharacterEvent).NativeReply; + } + return FReply::Unhandled(); +} + +FReply SMWindow::OnPreviewKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) +{ + if (MultiWindowActor) + { + return MultiWindowActor->contentWidget->OnPreviewKeyDown(MyGeometry, InKeyEvent).NativeReply; + } + return FReply::Unhandled(); +} + +FReply SMWindow::OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) +{ + if (MultiWindowActor) + { + return MultiWindowActor->contentWidget->OnKeyDown(MyGeometry, InKeyEvent).NativeReply; + } + return FReply::Unhandled(); +} + +FReply SMWindow::OnKeyUp(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) +{ + if (MultiWindowActor) + { + return MultiWindowActor->contentWidget->OnKeyUp(MyGeometry, InKeyEvent).NativeReply; + } + return FReply::Unhandled(); +} diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindow.h b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindow.h new file mode 100644 index 0000000..9413f59 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindow.h @@ -0,0 +1,17 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#pragma once + +#include "Modules/ModuleManager.h" + +class FMultiWindowModule : public IModuleInterface +{ +public: + + /** IModuleInterface implementation */ + virtual void StartupModule() override; + virtual void ShutdownModule() override; +}; diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowActor.h b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowActor.h new file mode 100644 index 0000000..6c7fad6 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowActor.h @@ -0,0 +1,147 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#pragma once +#include "CoreMinimal.h" +#include "Blueprint/UserWidget.h" +#include "GameFramework/Actor.h" +#include "Framework/Application/SlateApplication.h" +#include "TimerManager.h" +#include "MultiWindowActor.generated.h" + +DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnWindowEvent); +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnWindowMovedEvent, FVector2D, pos); + +UCLASS() +class MULTIWINDOW_API AMultiWindowActor : public AActor +{ + GENERATED_BODY() + +public: + AMultiWindowActor(); + +protected: + virtual void BeginPlay() override; + + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; +public: + virtual void Tick(float DeltaTime) override; + + TSharedPtr window = nullptr; + + UUserWidget* contentWidget; + + FViewport* viewPort; + + FTimerHandle timerHandle; +public: + FVector2D WindowOriginSize; + + FVector2D WindowPos; + + FVector2D WindowDPI; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MultiWindow") + float focusTime = 0.25f; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MultiWindow") + bool ForceFocusToGameViewport; + + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MultiWindow") + bool bIsAutoContentDPIScale; + + // Invoked when the window is about to be closed. + UPROPERTY(BlueprintAssignable, Category = "MultiWindow|Event") + FOnWindowEvent OnWindowClose; + + // Invoked when the window has been activated. + UPROPERTY(BlueprintAssignable, Category = "MultiWindow|Event") + FOnWindowEvent OnWindowActivated; + + // Invoked when the window has been deactivated. + UPROPERTY(BlueprintAssignable, Category = "MultiWindow|Event") + FOnWindowEvent OnWindowDeactivated; + + UPROPERTY(BlueprintAssignable, Category = "MultiWindow|Event") + FOnWindowMovedEvent OnWindowMoved; + +public: + void EventOnWindowClose(const TSharedRef& InSWindow) + { + if (IsPendingKillPending()) return; + if (OnWindowClose.IsBound()) + { + OnWindowClose.Broadcast(); + } + }; + +public: + // Initialize multi-window data + void InitWindow(TSharedPtr InWindow, UUserWidget* InContentWidget); + + void UpdateContentDPI(); + + void CheckFocus(); + + // Set the window visible + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowShow(bool bIsShow); + + // Set the widget content for this window + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowContentWidget(UUserWidget* ContentWidget); + + // Set the widget content for this window + UFUNCTION(BlueprintPure, Category = "MultiWindow") + UUserWidget* GetWindowContentWidget(); + + // Resize the window to be dpi scaled NewClientSize immediately + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowSize(FVector2D WindowSize); + + UFUNCTION(BlueprintPure, Category = "MultiWindow") + FVector2D GetWindowSize(); + + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowPosition(FVector2D WindowPosition); + + UFUNCTION(BlueprintPure, Category = "MultiWindow") + FVector2D GetWindowPositoin(); + + //UFUNCTION(BlueprintPure, Category = "MultiWindow") + // FVector2D GetWindowDPI(); + + // Sets the current window title + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowTitle(const FString& WindowTitle); + + // Maximize window size + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowMaximize(); + + // Restore window size + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowRestore(); + + // Minimize window size + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowMinimize(); + + // Close the window + UFUNCTION(BlueprintCallable, Category = "MultiWindow") + void SetWindowClose(); + + // Grabs the current window title + UFUNCTION(BlueprintPure, Category = "MultiWindow | V2") + FText GetWindowTitle(); + + // Overrides the DPI scale factor of the native window + UFUNCTION(BlueprintCallable, Category = "MultiWindow | V2") + void SetDPIScaleFactor(const float Factor); + + // Returns the DPI scale factor of the native window + UFUNCTION(BlueprintPure, Category = "MultiWindow | V2") + float GetDPIScaleFactor() const; +}; diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowBPLibrary.h b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowBPLibrary.h new file mode 100644 index 0000000..0fc5fe3 --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/MultiWindowBPLibrary.h @@ -0,0 +1,96 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#pragma once + +#include "Kismet/BlueprintFunctionLibrary.h" +#include "MultiWindowActor.h" +#include "MultiWindowBPLibrary.generated.h" + +UENUM(BlueprintType) +enum class EWindowSizingRule : uint8 +{ + /* The windows size fixed and cannot be resized **/ + FixedSize, + + /** The window size is computed from its content and cannot be resized by users */ + Autosized, + + /** The window can be resized by users */ + UserSized, +}; + +UCLASS() +class UMultiWindowBPLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_UCLASS_BODY() +public: + // Create new window + UFUNCTION(BlueprintCallable, Category = "MultiWindow | V1", meta = (WorldContext = "WorldContextObject", AdvancedDisplay = "5")) + static bool CreateMultiWindow( + UObject* WorldContextObject, + UUserWidget* ContentWidget, + AMultiWindowActor*& MultiWindowActor, + FVector2D WindowPositon = FVector2D(0, 0), + FVector2D WindowSize = FVector2D(500, 500), + bool bIsAutoCenter = false, + bool bIsCreateTitle = true, + FString WindowTitle = FString(TEXT("MultiWindow")), + float WindowBorderMarginLeft = 5.0f, + float WindowBorderMarginTop = 5.0f, + float WindowBorderMarginRight = 5.0f, + float WindowBorderMarginBottom = 5.0f, + EWindowSizingRule WindowSizingRule = EWindowSizingRule::UserSized, + bool bIsAutoContentDPIScale = false, + bool IsTopmostWindow = false, + bool ForceFocusToGameViewport = false + ); + + // Create new relative window + UFUNCTION(BlueprintCallable, Category = "MultiWindow | V2", meta = (WorldContext = "WorldContextObject", AdvancedDisplay = "5")) + static bool CreateRelativeMultiWindow( + UObject* WorldContextObject, + UUserWidget* ContentWidget, + AMultiWindowActor*& MultiWindowActor, + int32 MonitorIndex, + FVector2D WindowPositon = FVector2D(0, 0), + FVector2D WindowSize = FVector2D(500, 500), + bool bIsAutoCenter = false, + bool bIsCreateTitle = true, + FString WindowTitle = FString(TEXT("MultiWindow")), + float WindowBorderMarginLeft = 5.0f, + float WindowBorderMarginTop = 5.0f, + float WindowBorderMarginRight = 5.0f, + float WindowBorderMarginBottom = 5.0f, + EWindowSizingRule WindowSizingRule = EWindowSizingRule::UserSized, + bool bIsAutoContentDPIScale = false, + bool IsTopmostWindow = false, + bool ForceFocusToGameViewport = false + ); + + // Create new window by Monitor + UFUNCTION(BlueprintCallable, Category = "MultiWindow | V2", meta = (WorldContext = "WorldContextObject")) + static bool CreateMultiWindowByMonitor( + UObject* WorldContextObject, + UUserWidget* ContentWidget, + AMultiWindowActor*& MultiWindowActor, + int32 MonitorIndex, + bool bIsCreateTitle = false, + FString WindowTitle = FString(TEXT("MultiWindow")), + bool ForceFocusToGameViewport = false + ); + + // Get monitor count + UFUNCTION(BlueprintPure, Category = "MultiWindow | V2") + static int32 GetMonitorCount(); + + // Get primary monitor index + UFUNCTION(BlueprintPure, Category = "MultiWindow | V2") + static int32 GetPrimaryMonitorIndex(); + + // Logs out display metrics + UFUNCTION(BlueprintCallable, Category = "MultiWindow | V2") + static void MW_PrintToLog(); +}; diff --git a/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/SMWindow.h b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/SMWindow.h new file mode 100644 index 0000000..978c72e --- /dev/null +++ b/SpaceStudioClient/Plugins/MultiWindow/Source/MultiWindow/Public/SMWindow.h @@ -0,0 +1,27 @@ +/************************************************************************/ +/* Author: YWT20 */ +/* Expected release year : 2024 */ +/************************************************************************/ + +#pragma once + +#include "Framework/Application/SlateApplication.h" +#include "Widgets/SWindow.h" + + +/** + * + */ +class MULTIWINDOW_API SMWindow : public SWindow +{ +public: + class AMultiWindowActor* MultiWindowActor; +public: + virtual FReply OnKeyChar(const FGeometry& MyGeometry, const FCharacterEvent& InCharacterEvent) override; + + virtual FReply OnPreviewKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override; + + virtual FReply OnKeyDown(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override; + + virtual FReply OnKeyUp(const FGeometry& MyGeometry, const FKeyEvent& InKeyEvent) override; +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/NeoKinectUnreal.uplugin b/SpaceStudioClient/Plugins/NeoKinectUnreal/NeoKinectUnreal.uplugin new file mode 100644 index 0000000..3fffbbc --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/NeoKinectUnreal.uplugin @@ -0,0 +1,26 @@ +{ + "FileVersion": 3, + "Version": 2, + "VersionName": "1.2", + "FriendlyName": "NeoKinect", + "Description": "Allow Blueprints to use the Kinect v2 sensor capabilities.", + "Category": "Input Devices", + "CreatedBy": "Rodrigo Villani", + "CreatedByURL": "http://rvillani.com", + "DocsURL": "http://files.rvillani.com/neokinect/NeoKinect-QuickStart.pdf", + "MarketplaceURL": "com.epicgames.launcher://ue/marketplace/content/130cfe979a6e4159b634d4b1d23e60da", + "SupportURL": "mailto:contact@rvillani.com", + "EngineVersion": "5.3.0", + "CanContainContent": false, + "Installed": true, + "Modules": [ + { + "Name": "NeoKinectUnreal", + "Type": "Runtime", + "LoadingPhase": "Default", + "PlatformAllowList": [ + "Win64" + ] + } + ] +} \ No newline at end of file diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Resources/Icon128.png b/SpaceStudioClient/Plugins/NeoKinectUnreal/Resources/Icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..b7550c1a9e72a7c95a98306b69b2b67ed441141c GIT binary patch literal 9791 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 Z0{}~kQ>6ZP*bV>y002ovPDHLkV1lA}`SJh& literal 0 HcmV?d00001 diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/NeoKinectUnreal.Build.cs b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/NeoKinectUnreal.Build.cs new file mode 100644 index 0000000..a0fef70 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/NeoKinectUnreal.Build.cs @@ -0,0 +1,68 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +using System.IO; +using UnrealBuildTool; + +public class NeoKinectUnreal : ModuleRules +{ + public NeoKinectUnreal(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PrivateIncludePaths.AddRange(new[] + { + "NeoKinectUnreal/Private" + // ... add other private include paths required here ... + }); + + PublicDependencyModuleNames.AddRange(new[] + { + "Core", + "CoreUObject", + // ... add other public dependencies that you statically link with here ... + }); + + PrivateDependencyModuleNames.AddRange(new[] + { + "Engine", + "RenderCore", + "RHI", + // ... add private dependencies that you statically link with here ... + }); + + string thirdPartyPath = Path.GetFullPath(Path.Combine(ModuleDirectory, "../ThirdParty/")); + + string neoKinectPath = Path.Combine(thirdPartyPath, "NeoKinect"); + string kinectPath = Path.Combine(thirdPartyPath, "Kinect"); + + PublicSystemLibraryPaths.Add(Path.Combine(neoKinectPath, "Lib")); + PublicIncludePaths.Add(Path.Combine(neoKinectPath, "Inc")); + PublicSystemLibraryPaths.Add(Path.Combine(kinectPath, "Lib")); + PublicIncludePaths.Add(Path.Combine(kinectPath, "Inc")); + + const string FaceLibraryName = "Kinect20.Face"; + + // Add static libraries + PublicSystemLibraries.AddRange(new[] + { + "NeoKinect.lib", + "Kinect20.lib", + FaceLibraryName + ".lib" + }); + + // Add dynamic libraries + const string KinectFaceDllName = FaceLibraryName + ".dll"; + PublicDelayLoadDLLs.AddRange(new[] + { + KinectFaceDllName + }); + + // Define library name for code to be able to check for its presence + PrivateDefinitions.Add("KINECT_FACE_DLL_NAME=\"" + KinectFaceDllName + "\""); + + // Stage face library files when packaging + const string ProjectDLLDir = "$(ProjectDir)/Binaries/Win64"; + RuntimeDependencies.Add(Path.Combine(ProjectDLLDir, KinectFaceDllName)); + RuntimeDependencies.Add(Path.Combine(ProjectDLLDir, "NuiDatabase/..."), StagedFileType.NonUFS); + } +} diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/KinectThread.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/KinectThread.cpp new file mode 100644 index 0000000..715a86e --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/KinectThread.cpp @@ -0,0 +1,329 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#include "KinectThread.h" + +#include "HAL/RunnableThread.h" + +/*----------------------------------------------------------------------------- + ThreadFrameBuffer +-----------------------------------------------------------------------------*/ + +using namespace NeoKinect; + +FThreadFrameBuffer::~FThreadFrameBuffer() +{ + DeallocateBuffers(); +} + +void FThreadFrameBuffer::Configure( + KinectFrameType Frame, + KinectPixelFormat Format, + KinectCoordinateSpace Space, + bool IsRemapped) +{ + this->FrameType = Frame; + this->PixelFormat = Format; + this->TargetSpace = Space; + this->bRemapped = IsRemapped; +} + +bool FThreadFrameBuffer::AllocateBuffers(uint32 Size) +{ + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*FString::Printf(TEXT("Kinect_AllocateBuffers_%d"), FrameType)); + + if (IsAllocated()) + { + return true; + } + + Buffer = new uint8[Size]; + BackBuffer = new uint8[Size]; + return Buffer && BackBuffer; +} + +void FThreadFrameBuffer::DeallocateBuffers() +{ + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*FString::Printf(TEXT("Kinect_DeallocateBuffers_%d"), FrameType)); + + bIsNew = false; + + if (Buffer) + { + Lock(); + delete[] Buffer; + Buffer = nullptr; + Unlock(); + } + + if (BackBuffer) + { + LockWrite(); + delete[] BackBuffer; + BackBuffer = nullptr; + UnlockWrite(); + } +} + +bool FThreadFrameBuffer::IsAllocated() const +{ + return Buffer && BackBuffer; +} + +const uint8* FThreadFrameBuffer::GetReadBuffer(bool bConsume /*= true*/) +{ + if (bConsume) + { + if (Buffer && bIsNew) + { + bIsNew = false; + return Buffer; + } + return nullptr; + } + + return Buffer; +} + +uint8* FThreadFrameBuffer::GetWriteBuffer() const +{ + return BackBuffer; +} + +void FThreadFrameBuffer::SetDirty() +{ + SwapBuffers(); + bIsNew = true; +} + +void FThreadFrameBuffer::SwapBuffers() +{ + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*FString::Printf(TEXT("Kinect_SwapBuffers_%d"), FrameType)); + + Lock(); + + uint8* Temp = Buffer; + Buffer = BackBuffer; + BackBuffer = Temp; + + Unlock(); +} + +bool FThreadFrameBuffer::TryLock() +{ + return ReadMutex.TryLock(); +} + +void FThreadFrameBuffer::Lock() +{ + ReadMutex.Lock(); +} + +void FThreadFrameBuffer::Unlock() +{ + ReadMutex.Unlock(); +} + +void FThreadFrameBuffer::LockWrite() +{ + WriteMutex.Lock(); +} + +void FThreadFrameBuffer::UnlockWrite() +{ + WriteMutex.Unlock(); +} + + +/*----------------------------------------------------------------------------- + KinectThread +-----------------------------------------------------------------------------*/ + +FKinectThread* FKinectThread::Runnable = nullptr; +FCriticalSection FKinectThread::BodiesFacesCritSec; + +FThreadFrameBuffer FKinectThread::FrameBuffers[static_cast(EKinectFrame::Count)]; +bool FKinectThread::bUseBodyTracking = false; +bool FKinectThread::bUseFaceTracking = false; + +FKinectThread::FKinectThread(KinectSensor *pSensor) : + pKinect(pSensor), + bBodiesDirty(false), + bFacesDirty(false) +{ + Thread = FRunnableThread::Create(this, TEXT("FKinectThread")); // Windows give 8MB memory by default + if (!Thread) + UE_LOG(KinectThreadLog, Error, TEXT("Failed to create Kinect thread!")); +} + +FKinectThread::~FKinectThread() +{ + if (Thread) delete Thread; + Thread = nullptr; +} + +FKinectThread* FKinectThread::InitKinectPolling(KinectSensor *pSensor) +{ + // Create new instance of thread if it does not exist and the platform + // supports multi threading. + if (!Runnable && FPlatformProcess::SupportsMultithreading()) + { + Runnable = new FKinectThread(pSensor); + } + return Runnable; +} + +void FKinectThread::EnsureCompletion() +{ + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_EnsureThreadCompletion) + + Stop(); + if (Thread) + Thread->WaitForCompletion(); +} + +void FKinectThread::Shutdown() +{ + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_ShutdownThread) + + if (Runnable) + { + Runnable->EnsureCompletion(); + delete Runnable; + Runnable = nullptr; + } +} + +const KinectBody* FKinectThread::GetBodiesData() +{ + if (bBodiesDirty) + { + bBodiesDirty = false; + return Bodies; + } + return nullptr; +} + +const KinectFace* FKinectThread::GetFacesData() +{ + if (bFacesDirty) + { + bFacesDirty = false; + return Faces; + } + return nullptr; +} + +bool FKinectThread::Init() +{ + UE_LOG(KinectThreadLog, Log, TEXT("Kinect thread initialized.")); + return true; +} + +uint32 FKinectThread::Run() +{ + constexpr float UpdateInterval = 1.f / cDesiredFPS; + + UE_LOG(KinectThreadLog, Log, TEXT("Kinect thread running.")); + + // while not told to stop this thread + while (StopTaskCounter.GetValue() == 0) + { + // try locking any frames necessary + constexpr int FrameTypesCount = static_cast(KinectFrameType::Count); + + TRACE_CPUPROFILER_EVENT_SCOPE(KinectThread_Run) + + { + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_LockFrames) + for (int i = 0; i < FrameTypesCount; ++i) + { + const KinectFrameType FrameType = static_cast(i); + if (pKinect->GetIsUsingFrame(FrameType)) + { + pKinect->LockLatestFrame(FrameType); + } + } + } + + if (bUseBodyTracking) + { + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_GetBodyData) + // process bodies before face tracking - face tracking depends on bodies data + BodiesFacesCritSec.Lock(); + if (pKinect->GetLatestFrameData(Bodies)) + { + bBodiesDirty = true; + } + BodiesFacesCritSec.Unlock(); + } + + if (bUseFaceTracking) + { + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_GetFaceData) + // process face tracking + BodiesFacesCritSec.Lock(); + if (pKinect->GetLatestFrameData(Faces)) + { + bFacesDirty = true; + } + BodiesFacesCritSec.Unlock(); + } + + // update any necessary buffers + for (FThreadFrameBuffer& FrameBuffer : FrameBuffers) + { + TRACE_CPUPROFILER_EVENT_SCOPE_TEXT(*FString::Printf(TEXT("Kinect_UpdateBuffer_%d"), FrameBuffer.FrameType)); + if (FrameBuffer.IsAllocated() && pKinect->GetIsFrameLocked(FrameBuffer.FrameType)) + { + FrameBuffer.LockWrite(); + // If this is a remapped type, use the correct function. + // If the update works, marks buffer as new + if (FrameBuffer.bRemapped) + { + if (pKinect->GetRemappedFrameData( + FrameBuffer.FrameType, FrameBuffer.TargetSpace, + FrameBuffer.GetWriteBuffer(), FrameBuffer.PixelFormat)) + { + FrameBuffer.SetDirty(); + } + } + else + { + uint8* Buffer = FrameBuffer.GetWriteBuffer(); + if (pKinect->GetLatestFrameData( + FrameBuffer.FrameType, Buffer, + FrameBuffer.PixelFormat)) + { + FrameBuffer.SetDirty(); + } + } + FrameBuffer.UnlockWrite(); + } + } + + { + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_UnlockFrames) + // unlock frames + for (int i = 0; i < FrameTypesCount; ++i) + { + pKinect->UnlockLatestFrame(static_cast(i)); + } + } + + // give time for Kinect to update its frames. + FPlatformProcess::Sleep(UpdateInterval); + } + + // ended successfully! + return 0; +} + +void FKinectThread::Stop() +{ + StopTaskCounter.Increment(); +} + +void FKinectThread::Exit() +{ + UE_LOG(KinectThreadLog, Log, TEXT("Kinect thread ended.")); +} diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectBody.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectBody.cpp new file mode 100644 index 0000000..77684a2 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectBody.cpp @@ -0,0 +1,547 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#include "NeoKinectBody.h" + +#include "Helpers/GuardedNeoKinect.h" + +#include "NeoKinectManager.h" + +UNeoKinectBody::UNeoKinectBody() + : BodyIndex(0), + TrackingId(0), + bIsTracked(false), + bIsRestricted(false), + HandLeftState(EKinectHandState::NotTracked), + HandLeftTrackingState(EKinectTrackingState::NotTracked), + HandRightState(EKinectHandState::NotTracked), + HandRightTrackingState(EKinectTrackingState::NotTracked), + LeanTrackingState(EKinectTrackingState::NotTracked), + Lean(FVector2D(0.f, 0.f)) +{ + using namespace NeoKinect; + + Joints.SetNum(KinectJointCount); + + for (int32 JointIdx = 0; JointIdx < KinectJointCount; ++JointIdx) + { + Joints[JointIdx].Type = static_cast(JointIdx); + } +} + +UNeoKinectBody::~UNeoKinectBody() +{ + Joints.Empty(); +} + +void UNeoKinectBody::GetHandStateAsExec(EKinectBodySide Hand, EKinectHandState& States) +{ + if (Hand == EKinectBodySide::Left) + { + States = HandLeftState; + } + else + { + States = HandRightState; + } +} + +EKinectHandState UNeoKinectBody::GetHandState(EKinectBodySide Hand) const +{ + if (Hand == EKinectBodySide::Left) + return HandLeftState; + else + return HandRightState; +} + +void UNeoKinectBody::GetHandConfidenceAsExec(EKinectBodySide Hand, EKinectTrackingState& States) +{ + if (Hand == EKinectBodySide::Left) + { + States = HandLeftTrackingState; + } + else + { + States = HandRightTrackingState; + } +} + +EKinectTrackingState UNeoKinectBody::GetHandConfidence(EKinectBodySide Hand) const +{ + if (Hand == EKinectBodySide::Left) + return HandLeftTrackingState; + else + return HandRightTrackingState; +} + +void UNeoKinectBody::GetLeanConfidenceAsExec(EKinectTrackingState& States) +{ + States = LeanTrackingState; +} + +TArray UNeoKinectBody::GetJoints() +{ + return Joints; +} + +FVector UNeoKinectBody::GetJointLocation(EKinectJointType Joint) +{ + return Joints[static_cast(Joint)].Location; +} + +FRotator UNeoKinectBody::GetJointOrientation(EKinectJointType Joint) +{ + return Joints[static_cast(Joint)].Orientation; +} + +FVector UNeoKinectBody::GetJointLocationColor(EKinectJointType Joint) +{ + return Joints[static_cast(Joint)].ColorLocation; +} + +FRotator UNeoKinectBody::GetJointOrientationColor(EKinectJointType Joint) +{ + return Joints[static_cast(Joint)].ColorOrientation; +} + +void UNeoKinectBody::GetJointConfidenceAsExec(EKinectJointType Joint, EKinectTrackingState& States) +{ + States = Joints[static_cast(Joint)].Confidence; +} + +EKinectTrackingState UNeoKinectBody::GetJointConfidence(EKinectJointType Joint) +{ + return Joints[static_cast(Joint)].Confidence; +} + +float UNeoKinectBody::GetJointsDistance(EKinectJointType JointA, EKinectJointType JointB) +{ + return FVector::Dist(Joints[static_cast(JointB)].Location, Joints[static_cast(JointA)].Location); +} + +float UNeoKinectBody::GetBoneLength(EKinectJointType Joint) +{ + const FVector p1 = Joints[static_cast(Joint)].Location; + switch (Joint) + { + case EKinectJointType::SpineBase: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineMid)].Location); + case EKinectJointType::SpineMid: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineBase)].Location); + case EKinectJointType::Neck: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineShoulder)].Location); + case EKinectJointType::Head: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::Neck)].Location); + case EKinectJointType::ShoulderLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineShoulder)].Location); + case EKinectJointType::ElbowLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::ShoulderLeft)].Location); + case EKinectJointType::WristLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::ElbowLeft)].Location); + case EKinectJointType::HandLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::WristLeft)].Location); + case EKinectJointType::ShoulderRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineShoulder)].Location); + case EKinectJointType::ElbowRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::ShoulderRight)].Location); + case EKinectJointType::WristRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::ElbowRight)].Location); + case EKinectJointType::HandRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::WristRight)].Location); + case EKinectJointType::HipLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineBase)].Location); + case EKinectJointType::KneeLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::HipLeft)].Location); + case EKinectJointType::AnkleLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::KneeLeft)].Location); + case EKinectJointType::FootLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::AnkleLeft)].Location); + case EKinectJointType::HipRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineBase)].Location); + case EKinectJointType::KneeRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::HipRight)].Location); + case EKinectJointType::AnkleRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::KneeRight)].Location); + case EKinectJointType::FootRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::AnkleRight)].Location); + case EKinectJointType::SpineShoulder: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::SpineMid)].Location); + case EKinectJointType::HandTipLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::WristLeft)].Location); + case EKinectJointType::ThumbLeft: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::HandLeft)].Location); + case EKinectJointType::HandTipRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::WristRight)].Location); + case EKinectJointType::ThumbRight: + return FVector::Dist(p1, Joints[static_cast(EKinectJointType::HandRight)].Location); + default: + return 0.f; + } +} + +float UNeoKinectBody::JointDotVector(EKinectJointType Joint, FVector Vector) +{ + Vector.Normalize(); + return FVector::DotProduct( + Vector, + FRotationMatrix(Joints[static_cast(Joint)].Orientation).GetScaledAxis(EAxis::Z)); +} + +void UNeoKinectBody::UpdateFromKinectBody(const NeoKinect::KinectBody& kBody, const NeoKinect::KinectSensor& Sensor) +{ + using namespace NeoKinect; + + // For throwing BeginTrack/Lost events after update + bool bWasTracked = bIsTracked; + + ClippedEdges.Left = kBody.clippedEdges.left; + ClippedEdges.Right = kBody.clippedEdges.right; + ClippedEdges.Top = kBody.clippedEdges.top; + ClippedEdges.Bottom = kBody.clippedEdges.bottom; + + bIsTracked = kBody.isTracked; + bIsRestricted = kBody.isRestricted; + TrackingId = kBody.trackingId; + + HandLeftState = static_cast(kBody.handLeftState); + HandLeftTrackingState = static_cast(kBody.handLeftTrackingState); + + HandRightState = static_cast(kBody.handRightState); + HandRightTrackingState = static_cast(kBody.handRightTrackingState); + + LeanTrackingState = static_cast(kBody.leanTrackingState); + Lean.Set(kBody.lean.x, kBody.lean.y); + + // update joints only if being tracked + if (bIsTracked) + { + // camera space joints transforms + for (int32 j = 0; j < KinectJointCount; ++j) + { + FKinectJoint& uJoint = Joints[j]; + KinectJoint joint = kBody.joints[j]; + + uJoint.Confidence = static_cast(joint.trackingState); + uJoint.Location.Set( + joint.position.Z * 100.f, + -joint.position.X * 100.f, + joint.position.Y * 100.f); + + // Quaternion conversion from Kinect camera's coord system to Unreal's + FQuat Quat = FQuat( + -joint.orientation.z, + joint.orientation.x, + -joint.orientation.y, + joint.orientation.w + ); + // In order to match the joints orientations to Unreal Mannequin, we + // still have some problems: + // - Kinect's bones extend along its UP axis, which is Z in Unreal. + // But Unreal's Mannequin skeleton's bones extend along X (as it is + // in Maya). So we re-create the orientation swapping the axes. + // + // - Some bones extend towards X, some against it. That's good for doing + // mirrored rotations in the animation software, so we'll keep it here + // by flipping some axes. + // + // - The pelvis and spine bones front axis is the same as the limbs side axis. + // In the Mannequin these match up, so we'll have to invert some here. +#define JNT_ID(Name) static_cast(EKinectJointType::Name) + + uint8 JointIndex = static_cast(uJoint.Type); + + if (JointIndex <= JNT_ID(Head) || JointIndex == JNT_ID(SpineShoulder)) + { // for spine bones + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + Quat.GetAxisZ(), + Quat.GetAxisY()).Rotator(); + } + else if (JointIndex <= JNT_ID(WristLeft) + || JointIndex >= JNT_ID(HipRight) && JointIndex <= JNT_ID(FootRight)) + { // for left arm and right leg + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + Quat.GetAxisZ(), + Quat.GetAxisX()).Rotator(); + } + else if ( (JointIndex >= JNT_ID(ShoulderRight) && JointIndex <= JNT_ID(WristRight)) + || (JointIndex >= JNT_ID(HipLeft) && JointIndex <= JNT_ID(FootLeft)) + || JointIndex == JNT_ID(HandTipRight) || JointIndex == JNT_ID(ThumbRight) + ) + { // for right arm and left leg + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + -Quat.GetAxisZ(), + -Quat.GetAxisX()).Rotator(); + } + else if (JointIndex == JNT_ID(HandTipLeft) || JointIndex == JNT_ID(ThumbLeft)) + { // Left hand + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + Quat.GetAxisZ(), + Quat.GetAxisX()).Rotator(); + } + else if (JointIndex == JNT_ID(HandLeft)) + { // left hand + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + Quat.GetAxisZ(), + -Quat.GetAxisX()).Rotator(); + } + else if (JointIndex == JNT_ID(HandRight)) + { // right hand + uJoint.Orientation = FRotationMatrix::MakeFromXZ( + -Quat.GetAxisZ(), + Quat.GetAxisX()).Rotator(); + } +#undef JNT_ID + + } // camera space joints transforms + + if (UNeoKinectManager::IsUsingJointsColorSpaceTransforms()) + { + // color space with depth joints transforms + for (int32 j = 0; j < KinectJointCount; ++j) + { + FKinectJoint& uJoint = Joints[j]; + KinectJoint joint = kBody.joints[j]; + + // Convert camera space location to color space with depth + Vector3 ColorDepthLocation = UNeoKinectManager::CameraLocationToColorWithDepth(Vector3(joint.position)); + if (ColorDepthLocation.IsZero()) + { + // fallback for when the joint can not be seen in color camera + if (uJoint.Type == EKinectJointType::SpineBase) // oh shit! Our reference is gone! + { + uJoint.ColorLocation = uJoint.Location; + continue; + } + + FKinectJoint &SpineBase = Joints[static_cast(EKinectJointType::SpineBase)]; + uJoint.ColorLocation = SpineBase.ColorLocation + uJoint.Location - SpineBase.Location; + continue; + } + + uJoint.ColorLocation.Set( + ColorDepthLocation.z * 100.0f, + -ColorDepthLocation.x * 100.0f, + ColorDepthLocation.y * 100.0f); + } // color space with depth joints transforms + + // orientations in color space with depth +#define JOINT(Name) Joints[static_cast(EKinectJointType::Name)] +#define J_DIR(FromJoint, ToJoint) JOINT(ToJoint).ColorLocation - JOINT(FromJoint).ColorLocation +#define J_ROT(JointName, Twist) JOINT(JointName).ColorOrientation = FRotationMatrix::MakeFromX##Twist(XDir, Twist##Dir).Rotator() + + FVector XDir, YDir, ZDir, Dir1, Dir2; + FQuat Rot1, Rot2, RLerp; + float JointsDot; + + // Spine Base + XDir = J_DIR(SpineBase, SpineMid); + ZDir = J_DIR(HipLeft, HipRight); + J_ROT(SpineBase, Z); + + // Spine Middle + // same XDir + ZDir = (ZDir + J_DIR(ShoulderLeft, ShoulderRight)) / 2.0f; // intermediary between hip and shoulders twist + J_ROT(SpineMid, Z); + + // Spine Shoulder + XDir = J_DIR(SpineMid, SpineShoulder); + ZDir = J_DIR(ShoulderLeft, ShoulderRight); + J_ROT(SpineShoulder, Z); + + // Neck + XDir = J_DIR(SpineShoulder, Neck); + // same ZDir + J_ROT(Neck, Z); + + // Head + XDir = J_DIR(Neck, Head); + // same ZDir + J_ROT(Head, Z); + + // shoulder left + XDir = J_DIR(SpineShoulder, ShoulderLeft); + ZDir = J_DIR(SpineMid, SpineShoulder); + J_ROT(ShoulderLeft, Z); + + // elbow left + XDir = J_DIR(ShoulderLeft, ElbowLeft); + // interpolate between a rot for fully stretched arm and one for bent + Dir1 = FVector::CrossProduct(J_DIR(ElbowLeft, WristLeft), J_DIR(ElbowLeft, ShoulderLeft)); // bent + Rot1 = FRotationMatrix::MakeFromXZ(XDir, Dir1).ToQuat(); // bent + Dir2 = FRotationMatrix(JOINT(ShoulderLeft).ColorOrientation).GetScaledAxis(EAxis::Y); // stretched + Rot2 = FRotationMatrix::MakeFromXY(XDir, Dir2).ToQuat(); // stretched + Dir1 = J_DIR(ShoulderLeft, ElbowLeft); Dir2 = J_DIR(ElbowLeft, WristLeft); + Dir1.Normalize(); Dir2.Normalize(); + JointsDot = FVector::DotProduct(Dir1, Dir2); + RLerp = FQuat::Slerp(Rot2, Rot1, + FMath::Clamp(FMath::Acos(JointsDot) / 0.349f /*~20°*/, 0.f, 1.f) + ); + RLerp.Normalize(); + JOINT(ElbowLeft).ColorOrientation = RLerp.Rotator(); + + // wrist left + XDir = J_DIR(ElbowLeft, WristLeft); + YDir = J_DIR(HandLeft, ThumbLeft); + J_ROT(WristLeft, Y); + + // hand left + XDir = J_DIR(WristLeft, HandTipLeft); + ZDir = J_DIR(ThumbLeft, HandLeft); + J_ROT(HandLeft, Z); + + // hand tip Left + JOINT(HandTipLeft).ColorOrientation = JOINT(HandLeft).ColorOrientation; + + // thumb left + XDir = J_DIR(HandLeft, ThumbLeft); + YDir = FRotationMatrix(JOINT(HandLeft).ColorOrientation).GetScaledAxis(EAxis::Y); + J_ROT(ThumbLeft, Y); + + // shoulder right + XDir = J_DIR(ShoulderRight, SpineShoulder); + ZDir = J_DIR(SpineShoulder, SpineMid); + J_ROT(ShoulderRight, Z); + + // elbow right + XDir = J_DIR(ElbowRight, ShoulderRight); + // interpolate between a rot for fully stretched arm and one for bent + Dir1 = FVector::CrossProduct(J_DIR(ElbowRight, WristRight), J_DIR(ElbowRight, ShoulderRight)); // bent + Rot1 = FRotationMatrix::MakeFromXZ(XDir, Dir1).ToQuat(); // bent + Dir2 = FRotationMatrix(JOINT(ShoulderRight).ColorOrientation).GetScaledAxis(EAxis::Y); // stretched + Rot2 = FRotationMatrix::MakeFromXY(XDir, Dir2).ToQuat(); // stretched + Dir1 = J_DIR(ShoulderRight, ElbowRight); Dir2 = J_DIR(ElbowRight, WristRight); + Dir1.Normalize(); Dir2.Normalize(); + JointsDot = FVector::DotProduct(Dir1, Dir2); + RLerp = FQuat::Slerp(Rot2, Rot1, + FMath::Clamp(FMath::Acos(JointsDot) / 0.349f /*~20°*/, 0.f, 1.f) + ); + RLerp.Normalize(); + JOINT(ElbowRight).ColorOrientation = RLerp.Rotator(); + + // wrist right + XDir = J_DIR(WristRight, ElbowRight); + YDir = J_DIR(ThumbRight, HandRight); + J_ROT(WristRight, Y); + + // hand right + XDir = J_DIR(HandTipRight, WristRight); + ZDir = -YDir; + J_ROT(HandRight, Z); + + // hand tip right + JOINT(HandTipRight).ColorOrientation = JOINT(HandRight).ColorOrientation; + + // thumb right + XDir = J_DIR(ThumbRight, HandRight); + YDir = FRotationMatrix(JOINT(HandRight).ColorOrientation).GetScaledAxis(EAxis::Y); + J_ROT(ThumbRight, Y); + + // Hip Left + XDir = J_DIR(HipLeft, SpineBase); + ZDir = J_DIR(SpineMid, SpineBase); + J_ROT(HipLeft, Z); + + // Knee left + XDir = J_DIR(KneeLeft, HipLeft); + Dir1 = FVector::CrossProduct(J_DIR(KneeLeft, AnkleLeft), J_DIR(KneeLeft, HipLeft)); // bent + Rot1 = FRotationMatrix::MakeFromXZ(XDir, Dir1).ToQuat(); // bent + Dir2 = FRotationMatrix(JOINT(SpineMid).ColorOrientation).GetScaledAxis(EAxis::Y); // stretched + Rot2 = FRotationMatrix::MakeFromXY(XDir, Dir2).ToQuat(); // stretched + Dir1 = J_DIR(HipLeft, KneeLeft); Dir2 = J_DIR(KneeLeft, AnkleLeft); + Dir1.Normalize(); Dir2.Normalize(); + JointsDot = FVector::DotProduct(Dir1, Dir2); + RLerp = FQuat::Slerp(Rot2, Rot1, FMath::Clamp((FMath::Acos(JointsDot) - 0.2618f) / 0.5236f, 0.f, 1.f)); + RLerp.Normalize(); + JOINT(KneeLeft).ColorOrientation = RLerp.Rotator(); + + // ankle left + XDir = J_DIR(AnkleLeft, KneeLeft); + ZDir = FRotationMatrix(JOINT(KneeLeft).ColorOrientation).GetScaledAxis(EAxis::Z); + J_ROT(AnkleLeft, Z); + + // foot left + // same X and Z dirs + J_ROT(FootLeft, Z); + + // hip right + XDir = J_DIR(SpineBase, HipRight); + ZDir = J_DIR(SpineBase, SpineMid); + J_ROT(HipRight, Z); + + // Knee Right + XDir = J_DIR(HipRight, KneeRight); + Dir1 = FVector::CrossProduct(J_DIR(KneeRight, AnkleRight), J_DIR(KneeRight, HipRight)); // bent + Rot1 = FRotationMatrix::MakeFromXZ(XDir, Dir1).ToQuat(); // bent + Dir2 = -FRotationMatrix(JOINT(SpineMid).ColorOrientation).GetScaledAxis(EAxis::Y); // stretched + Rot2 = FRotationMatrix::MakeFromXY(XDir, Dir2).ToQuat(); // stretched + Dir1 = J_DIR(HipRight, KneeRight); Dir2 = J_DIR(KneeRight, AnkleRight); + Dir1.Normalize(); Dir2.Normalize(); + JointsDot = FVector::DotProduct(Dir1, Dir2); + RLerp = FQuat::Slerp(Rot2, Rot1, FMath::Clamp((FMath::Acos(JointsDot) - 0.2618f) / 0.5236f, 0.f, 1.f)); + RLerp.Normalize(); + JOINT(KneeRight).ColorOrientation = RLerp.Rotator(); + + // Ankle right + XDir = J_DIR(KneeRight, AnkleRight); + ZDir = FRotationMatrix(JOINT(KneeRight).ColorOrientation).GetScaledAxis(EAxis::Z); + J_ROT(AnkleRight, Z); + + // foot right + // same X and Z dirs + J_ROT(FootRight, Z); +#undef JOINT +#undef J_DIR +#undef J_ROT + } // if (bUsingJointsColorSpaceTransforms) + } // if (bIsTracked) + + if (bWasTracked != bIsTracked) + { + if (bIsTracked) + OnBodyBeginTrack.Broadcast(BodyIndex); + else + OnBodyLost.Broadcast(BodyIndex); + } +} + +void UNeoKinectBody::Reset() +{ + using namespace NeoKinect; + + ClippedEdges.Left = + ClippedEdges.Right = + ClippedEdges.Top = + ClippedEdges.Bottom = false; + + bIsTracked = false; + bIsRestricted = false; + TrackingId = 0Ui64; + + HandLeftState = EKinectHandState::NotTracked; + HandLeftTrackingState = EKinectTrackingState::NotTracked; + + HandRightState = EKinectHandState::NotTracked; + HandRightTrackingState = EKinectTrackingState::NotTracked; + + LeanTrackingState = EKinectTrackingState::NotTracked; + Lean.Set(0.f, 0.f); + + if (Joints.Num() != KinectJointCount) + return; + + for (int32 j = 0; j < KinectJointCount; ++j) + { + if (!Joints.IsValidIndex(j)) + continue; + FKinectJoint& Joint = Joints[j]; + + Joint.Confidence = EKinectTrackingState::NotTracked; + Joint.Location.Set(0.f, 0.f, 0.f); + Joint.ColorLocation.Set(0.f, 0.f, 0.f); + Joint.Orientation.Roll = + Joint.Orientation.Pitch = + Joint.Orientation.Yaw = 0.f; + Joint.ColorOrientation.Roll = + Joint.ColorOrientation.Pitch = + Joint.ColorOrientation.Yaw = 0.f; + } +} diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectFace.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectFace.cpp new file mode 100644 index 0000000..f08ad34 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectFace.cpp @@ -0,0 +1,216 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#include "NeoKinectFace.h" +#include "NeoKinectBody.h" +#include "NeoKinectManager.h" + +void FIntBoundingBox::FromRectI(const RectI& Rect) +{ + Left = Rect.Left; + Top = Rect.Top; + Right = Rect.Right; + Bottom = Rect.Bottom; +} + +void FFacePoints2D::FromKinectFacePoints(const NeoKinect::KinectFacePoints& Points) +{ + LeftEye.X = Points.leftEye.x; + LeftEye.Y = Points.leftEye.y; + + RightEye.X = Points.rightEye.x; + RightEye.Y = Points.rightEye.y; + + Nose.X = Points.nose.x; + Nose.Y = Points.nose.y; + + LeftMouthCorner.X = Points.leftMouthCorner.x; + LeftMouthCorner.Y = Points.leftMouthCorner.y; + + RightMouthCorner.X = Points.rightMouthCorner.x; + RightMouthCorner.Y = Points.rightMouthCorner.y; +} + +void FFacePoints3D::FromKinectFacePoints(const NeoKinect::KinectFacePoints& ColorPoints) +{ + NeoKinect::Vector3 Location = UNeoKinectManager::ColorWithDepthFromColorOnly(ColorPoints.leftEye) * 100.f; + LeftEye.Set(-Location.z, Location.x, Location.y); + + Location = UNeoKinectManager::ColorWithDepthFromColorOnly(ColorPoints.rightEye) * 100.f; + RightEye.Set(-Location.z, Location.x, Location.y); + + Location = UNeoKinectManager::ColorWithDepthFromColorOnly(ColorPoints.nose) * 100.f; + Nose.Set(-Location.z, Location.x, Location.y); + + Location = UNeoKinectManager::ColorWithDepthFromColorOnly(ColorPoints.leftMouthCorner) * 100.f; + LeftMouthCorner.Set(-Location.z, Location.x, Location.y); + + Location = UNeoKinectManager::ColorWithDepthFromColorOnly(ColorPoints.rightMouthCorner) * 100.f; + RightMouthCorner.Set(-Location.z, Location.x, Location.y); +} + +UNeoKinectFace::UNeoKinectFace() + : Index(INDEX_NONE) + , bIsTracked(false) + , TrackingId(INDEX_NONE) + , IsEngaged(EDetectionResult::Unknown) + , IsHappy(EDetectionResult::Unknown) + , IsLookingAway(EDetectionResult::Unknown) + , IsMouthMoved(EDetectionResult::Unknown) + , IsMouthOpen(EDetectionResult::Unknown) + , IsLeftEyeClosed(EDetectionResult::Unknown) + , IsRightEyeClosed(EDetectionResult::Unknown) + , IsWearingGlasses(EDetectionResult::Unknown) +{} + +UNeoKinectFace::~UNeoKinectFace() +{} + +void UNeoKinectFace::GetEyeClosedAsExec(EKinectBodySide Eye, EDetectionResult& Result) +{ + if (Eye == EKinectBodySide::Left) + { + Result = IsLeftEyeClosed; + } + else + { + Result = IsRightEyeClosed; + } +} + +EDetectionResult UNeoKinectFace::GetEyeClosed(EKinectBodySide Eye) const +{ + if (Eye == EKinectBodySide::Left) + return IsLeftEyeClosed; + + return IsRightEyeClosed; +} + +void UNeoKinectFace::GetIsEngagedAsExec(EDetectionResult& Result) +{ + Result = IsEngaged; +} + +void UNeoKinectFace::GetIsHappyAsExec(EDetectionResult& Result) +{ + Result = IsHappy; +} + +void UNeoKinectFace::GetIsLookingAwayAsExec(EDetectionResult& Result) +{ + Result = IsLookingAway; +} + +void UNeoKinectFace::GetIsMouthMovedAsExec(EDetectionResult& Result) +{ + Result = IsMouthMoved; +} + +void UNeoKinectFace::GetIsMouthOpenAsExec(EDetectionResult& Result) +{ + Result = IsMouthOpen; +} + +void UNeoKinectFace::GetIsWearingGlassesAsExec(EDetectionResult& Result) +{ + Result = IsWearingGlasses; +} + +bool UNeoKinectFace::IsFromBody(const UNeoKinectBody* Body) const +{ + return Body->TrackingId == TrackingId; +} + +void UNeoKinectFace::UpdateFromKinectFace(const NeoKinect::KinectFace& kFace) +{ + const bool bWasTracked = bIsTracked; + + bIsTracked = kFace.bIsTracked; + TrackingId = kFace.trackingId; + + ColorBoundingBox.FromRectI(kFace.boxColor); + InfraredBoundingBox.FromRectI(kFace.boxInfrared); + + ColorAlignmentPoints.FromKinectFacePoints(kFace.pointsColor); + InfraredAlignmentPoints.FromKinectFacePoints(kFace.pointsInfrared); + ColorWithDepthAlignmentPoints.FromKinectFacePoints(kFace.pointsColor); + + /* Camera space face transform */ + Location.Set( + kFace.pivot.Z * 100.f, + -kFace.pivot.X * 100.f, + kFace.pivot.Y * 100.f); + + const FQuat Quat = FQuat( + -kFace.rotation.z, + kFace.rotation.x, + -kFace.rotation.y, + kFace.rotation.w + ); + Orientation = FRotationMatrix::MakeFromXZ( + Quat.GetAxisZ(), + -Quat.GetAxisY()).Rotator(); + + /* Color space face location */ + if (UNeoKinectManager::IsUsingJointsColorSpaceTransforms()) + { + using namespace NeoKinect; + // Convert camera space location to color space with depth + const Vector3 ColorDepthLocation = UNeoKinectManager::CameraLocationToColorWithDepth(Vector3(kFace.pivot)); + if (ColorDepthLocation.IsZero()) + { + ColorLocation = Location; + } + else + { + ColorLocation.Set( + ColorDepthLocation.z * 100.0f, + -ColorDepthLocation.x * 100.0f, + ColorDepthLocation.y * 100.0f); + } + } + + IsEngaged = static_cast(kFace.isEngaged); + IsHappy = static_cast(kFace.isHappy); + IsLookingAway = static_cast(kFace.isLookingAway); + IsMouthMoved = static_cast(kFace.isMouthMoved); + IsMouthOpen = static_cast(kFace.isMouthOpen); + IsLeftEyeClosed = static_cast(kFace.isLeftEyeClosed); + IsRightEyeClosed = static_cast(kFace.isRightEyeClosed); + IsWearingGlasses = static_cast(kFace.isWearingGlasses); + + if (bWasTracked != bIsTracked) + { + if (bIsTracked) + OnFaceBeginTrack.Broadcast(Index); + else + OnFaceLost.Broadcast(Index); + } +} + +void UNeoKinectFace::Reset() +{ + bIsTracked = false; + TrackingId = 0ULL; + + ColorBoundingBox = FIntBoundingBox(); + InfraredBoundingBox = FIntBoundingBox(); + + ColorAlignmentPoints = FFacePoints2D(); + InfraredAlignmentPoints = FFacePoints2D(); + + Location.Set(0.f, 0.f, 0.f); + ColorLocation = Location; + + Orientation.Yaw = + Orientation.Pitch = + Orientation.Roll = 0.f; + + IsEngaged = + IsHappy = + IsLookingAway = + IsMouthMoved = + IsMouthOpen = + IsLeftEyeClosed = + IsRightEyeClosed = + IsWearingGlasses = EDetectionResult::Unknown; +} diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp new file mode 100644 index 0000000..adc1ee3 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectManager.cpp @@ -0,0 +1,1311 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#include "NeoKinectManager.h" +#include "KinectThread.h" +#include "NeoKinectBody.h" +#include "NeoKinectFace.h" + +#include "RenderingThread.h" +#include "TextureResource.h" +#include "Containers/Ticker.h" +#include "Engine/TextureDefines.h" +#include "Engine/TextureRenderTarget2D.h" +#include "HAL/PlatformProcess.h" +#include "UObject/Package.h" + +using namespace NeoKinect; + +//~ STRUCTS METHODS +#pragma region Structs + +FFrameTextureData::~FFrameTextureData() +{ + Release(); +} + +bool FFrameTextureData::IsTextureValid() const +{ + if (!IsValid(Texture) || UFrameType == EKinectFrame::Count) + return false; + + const FThreadFrameBuffer &ThreadBuffer = FKinectThread::FrameBuffers[static_cast(UFrameType)]; + return ThreadBuffer.IsAllocated(); +} + +void FFrameTextureData::Release() +{ + if (UFrameType == EKinectFrame::Count) + return; + + FThreadFrameBuffer &ThreadBuffer = FKinectThread::FrameBuffers[static_cast(UFrameType)]; + ThreadBuffer.DeallocateBuffers(); + + if (IsValid(Texture)) + { + Texture->ReleaseResource(); + Texture->RemoveFromRoot(); + Texture->ConditionalBeginDestroy(); + } + Texture = nullptr; +} + +FrameDescription FFrameTextureData::GetFrameDescription(const KinectSensor *Kinect) const +{ + return Kinect->GetFrameDescription(KFrameType); +} + +#pragma endregion Structs + +//~ STATICS +#pragma region Statics + +KinectSensor* UNeoKinectManager::Kinect = nullptr; +FKinectThread* UNeoKinectManager::KinectThread = nullptr; +//bool UNeoKinectManager::bAutoShutdown = false; + +bool UNeoKinectManager::bUsingBodyFrame = false; +bool UNeoKinectManager::bUsingJointsColorSpaceTransforms = false; +bool UNeoKinectManager::bUsingFaceFrame = false; + +TArray UNeoKinectManager::Bodies; +TArray UNeoKinectManager::Faces; +FFrameTextureData UNeoKinectManager::FramesData[static_cast(EKinectFrame::Count)]; + +UNeoKinectManager* UNeoKinectManager::EventsDispatcher = nullptr; +FTSTicker::FDelegateHandle UNeoKinectManager::TickerHandle; + + +#pragma endregion Statics + +//~ INITIALIZATION / UNINITIALIZATION +#pragma region Initialization_Uninitialization + +UNeoKinectManager::UNeoKinectManager() +{ + if (!Kinect) return; + + // Bind to the bodies and faces tracking events + for (int32 i = 0; i < KinectBodyCount; ++i) + { + Bodies[i]->OnBodyBeginTrack.AddUniqueDynamic(this, &UNeoKinectManager::BodyBeginTrackBroadcast); + Bodies[i]->OnBodyLost.AddUniqueDynamic(this, &UNeoKinectManager::BodyLostBroadcast); + Faces[i]->OnFaceBeginTrack.AddUniqueDynamic(this, &UNeoKinectManager::FaceBeginTrackBroadcast); + Faces[i]->OnFaceLost.AddUniqueDynamic(this, &UNeoKinectManager::FaceLostBroadcast); + } +} + +UNeoKinectManager::~UNeoKinectManager() +{ + OnBodyBeginTrack.Clear(); + OnBodyLost.Clear(); + OnFaceBeginTrack.Clear(); + OnFaceLost.Clear(); + + UninitSensor(); + this->RemoveFromRoot(); + EventsDispatcher = nullptr; +} + +void UNeoKinectManager::InitStatics() +{ + // do we actually need to init? + if (!(Bodies.Num() != KinectBodyCount || Faces.Num() != KinectBodyCount + || Bodies[2]->BodyIndex != 2 || Faces[2]->Index != 2 + || FramesData[2].UFrameType != EKinectFrame::NormalizedDepth)) + return; // if none of the above were true + + // reset any allocated memory + Bodies.Empty(KinectBodyCount); + Faces.Empty(KinectBodyCount); + for (FFrameTextureData& FrameData : FramesData) + { + FrameData.Release(); + } + + Bodies.SetNum(KinectBodyCount, true); + Faces.SetNum(KinectBodyCount, true); + + for (int32 i = 0; i < KinectBodyCount; ++i) + { + Bodies[i] = NewObject(); + Bodies[i]->AddToRoot(); + Bodies[i]->BodyIndex = i; + Faces[i] = NewObject(); + Faces[i]->AddToRoot(); + Faces[i]->Index = i; + } + + FFrameTextureData* FrameData = &FramesData[static_cast(EKinectFrame::Color)]; + FrameData->UPixelFormat = EPixelFormat::PF_B8G8R8A8; + FrameData->KPixelFormat = KinectPixelFormat::B8G8R8A8; + FrameData->Width = KinectColorWidth; + FrameData->Height = KinectColorHeight; + FrameData->PixelSize = 4; + FrameData->KFrameType = KinectFrameType::Color; + FrameData->bRemapped = false; + FrameData->bIsSRGB = true; + + FrameData = &FramesData[static_cast(EKinectFrame::Depth)]; + FrameData->UPixelFormat = EPixelFormat::PF_G16; + FrameData->KPixelFormat = KinectPixelFormat::G16; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 2; + FrameData->KFrameType = KinectFrameType::Depth; + FrameData->bRemapped = false; + + FrameData = &FramesData[static_cast(EKinectFrame::NormalizedDepth)]; + FrameData->UPixelFormat = EPixelFormat::PF_B8G8R8A8; + FrameData->KPixelFormat = KinectPixelFormat::B8G8R8A8; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 4; + FrameData->KFrameType = KinectFrameType::Depth; + FrameData->bRemapped = false; + + FrameData = &FramesData[static_cast(EKinectFrame::BodyIndex)]; + FrameData->UPixelFormat = EPixelFormat::PF_G8; + FrameData->KPixelFormat = KinectPixelFormat::G8; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 1; + FrameData->KFrameType = KinectFrameType::BodyIndex; + FrameData->bRemapped = false; + + FrameData = &FramesData[static_cast(EKinectFrame::BodyIndexColor)]; + FrameData->UPixelFormat = EPixelFormat::PF_B8G8R8A8; + FrameData->KPixelFormat = KinectPixelFormat::B8G8R8A8; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 4; + FrameData->KFrameType = KinectFrameType::BodyIndex; + FrameData->bRemapped = false; + FrameData->bIsSRGB = true; + + FrameData = &FramesData[static_cast(EKinectFrame::Color_DepthSpace)]; + FrameData->UPixelFormat = EPixelFormat::PF_B8G8R8A8; + FrameData->KPixelFormat = KinectPixelFormat::B8G8R8A8; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 4; + FrameData->KFrameType = KinectFrameType::Color; + FrameData->bRemapped = true; + FrameData->TargetSpace = KinectCoordinateSpace::Depth; + FrameData->bIsSRGB = true; + + FrameData = &FramesData[static_cast(EKinectFrame::Depth_ColorSpace)]; + FrameData->UPixelFormat = EPixelFormat::PF_G16; + FrameData->KPixelFormat = KinectPixelFormat::G16; + FrameData->Width = KinectColorWidth; + FrameData->Height = KinectColorHeight; + FrameData->PixelSize = 2; + FrameData->KFrameType = KinectFrameType::Depth; + FrameData->bRemapped = true; + FrameData->TargetSpace = KinectCoordinateSpace::Color; + + FrameData = &FramesData[static_cast(EKinectFrame::BodyIndex_ColorSpace)]; + FrameData->UPixelFormat = EPixelFormat::PF_G8; + FrameData->KPixelFormat = KinectPixelFormat::G8; + FrameData->Width = KinectColorWidth; + FrameData->Height = KinectColorHeight; + FrameData->PixelSize = 1; + FrameData->KFrameType = KinectFrameType::BodyIndex; + FrameData->bRemapped = true; + FrameData->TargetSpace = KinectCoordinateSpace::Color; + + FrameData = &FramesData[static_cast(EKinectFrame::Infrared)]; + FrameData->UPixelFormat = EPixelFormat::PF_G16; + FrameData->KPixelFormat = KinectPixelFormat::G16; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 2; + FrameData->KFrameType = KinectFrameType::Infrared; + FrameData->bRemapped = false; + + FrameData = &FramesData[static_cast(EKinectFrame::LongExposureInfrared)]; + FrameData->UPixelFormat = EPixelFormat::PF_G16; + FrameData->KPixelFormat = KinectPixelFormat::G16; + FrameData->Width = KinectDepthWidth; + FrameData->Height = KinectDepthHeight; + FrameData->PixelSize = 2; + FrameData->KFrameType = KinectFrameType::LongExposureInfrared; + FrameData->bRemapped = false; + + for (int32 i = 0; i < static_cast(EKinectFrame::Count); ++i) + { + FFrameTextureData& fd = FramesData[i]; + + fd.UFrameType = static_cast(i); + fd.BufferSize = fd.Width * fd.Height * fd.PixelSize; + } +} +#pragma endregion Initialization_Uninitialization + +//~ BLUEPRINT FUNCTIONS +#pragma region Blueprint_Functions + +UNeoKinectManager* UNeoKinectManager::GetKinectEventsDispatcher() +{ + return EventsDispatcher; +} + +/* +* BASICS +*/ +#pragma region Basics + +void UNeoKinectManager::InitSensor() +{ + if (!Kinect) + { + Kinect = new KinectSensor(); + if (Kinect->InitSensor()) + { + UE_LOG(NeoKinectLog, Warning, TEXT("Kinect sensor initialized.")); + // start Kinect polling thread + KinectThread = FKinectThread::InitKinectPolling(Kinect); + InitStatics(); + + // set bodies, faces and textures update timer + TickerHandle = FTSTicker::GetCoreTicker().AddTicker(FTickerDelegate::CreateStatic(&OnTick), 1.0f / 60.0f); + + // prepare the events handler + if (!EventsDispatcher) + { + EventsDispatcher = NewObject(); + EventsDispatcher->AddToRoot(); + } + } + else + { + UE_LOG(NeoKinectLog, Error, TEXT("Kinect sensor failed to initialize.")); + Kinect = nullptr; + } + } +} + +bool UNeoKinectManager::IsKinectAvailable() +{ + return Kinect != nullptr && Kinect->IsSensorAvailable(); +} + +void UNeoKinectManager::UninitSensor() +{ + // end Kinect polling thread + if (KinectThread) + { + KinectThread->Shutdown(); + KinectThread = nullptr; + } + + // release frame textures + for (FFrameTextureData& FrameData : FramesData) + { + FrameData.Release(); + } + + // zero bodies and faces values + ResetBodies(); + ResetFaces(); + + // get global timer manager (World independent) + FTSTicker::GetCoreTicker().RemoveTicker(TickerHandle); + + if (Kinect) // release sensor + { + SetUseBodyFrame(false); + SetUseFaceFrame(false); + + Kinect->UninitSensor(); + UE_LOG(NeoKinectLog, Warning, TEXT("Kinect sensor uninitialized.")); + delete Kinect; + Kinect = nullptr; + } +} + +KinectSensor* UNeoKinectManager::GetSensor() +{ + return Kinect; +} + +/*void UNeoKinectManager::SetAutoShutdown(const bool bValue) +{ + bAutoShutdown = bValue; +} + +bool UNeoKinectManager::GetAutoShutdown() +{ + return bAutoShutdown; +}*/ + +float UNeoKinectManager::GetSensorTilt() +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return 0.0f; + } + return Kinect->GetSensorTilt(); +} + +FVector UNeoKinectManager::GetGroundPlane(float &Height) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + Height = 0.0f; + return FVector(0.0f); + } + + const Vector4 FloorClipPlane = Kinect->GetFloorClipPlane(); + Height = FloorClipPlane.w * 100.0f; + return FVector( + -FloorClipPlane.z, + FloorClipPlane.x, + FloorClipPlane.y + ); +} + +#pragma endregion Basics + +#pragma region Exposure + +void UNeoKinectManager::SetAutoExposure(float exposureCompensation /* = 0.0f */) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return; + } + + Kinect->SetAutoExposure(exposureCompensation); +} + +void UNeoKinectManager::SetSemiAutoExposure(float pseudoExposureTime) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return; + } + + Kinect->SetSemiAutoExposure(pseudoExposureTime); +} + +void UNeoKinectManager::SetManualExposure(float frameExposureTime, float analogGain) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return; + } + + Kinect->SetManualExposure(frameExposureTime, analogGain); +} + +#pragma endregion Exposure + +#pragma region Remapping + +FVector UNeoKinectManager::CameraLocationToColorWithDepth(const FVector& CameraLocation) +{ + Vector3 KinectLocation( + -CameraLocation.Y * 0.01f, + CameraLocation.Z * 0.01f, + CameraLocation.X * 0.01f); + + KinectLocation = CameraLocationToColorWithDepth(KinectLocation); + + return FVector( + KinectLocation.z, + -KinectLocation.x, + KinectLocation.y) * 100.0f; +} + +Vector3 UNeoKinectManager::CameraLocationToColorWithDepth(Vector3 CameraLocation) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return Vector3(0.0f); + } + + Vector2 ColorLocation; + + if (Kinect->GetRemappedPoint(KinectCoordinateSpace::Camera, KinectCoordinateSpace::Color, + CameraLocation, ColorLocation + )) + { + // when the joint can not be seen in color camera + if (ColorLocation.x == -std::numeric_limits::infinity() + || ColorLocation.y == -std::numeric_limits::infinity()) + { + return Vector3(0.0f); + } + + static const FrameDescription ColorDescription = Kinect->GetFrameDescription(KinectFrameType::Color); + const float HalfWidth = static_cast(ColorDescription.width >> 1); // half frame width + const float HalfHeight = static_cast(ColorDescription.height >> 1); // half frame height + const float HalfFovH = FMath::DegreesToRadians(ColorDescription.horizontalFieldOfView / 2.f); // half horizontal FOV in radians + const float HalfFovV = FMath::DegreesToRadians(ColorDescription.verticalFieldOfView / 2.f); // half vertical FOV in radians + const float HoriCornerTan = FMath::Tan(HalfFovH); + const float VertCornerTan = FMath::Tan(HalfFovV); + + const float xPct = (ColorLocation.x - HalfWidth) / HalfWidth; + const float yPct = (ColorLocation.y - HalfHeight) / HalfHeight; + + // position at z = 1m from the camera + const float x = xPct * HoriCornerTan; + const float y = -yPct * VertCornerTan; + const Vector3 Direction(x, y, 1.0f); + + return Direction * CameraLocation.z; + } + + return Vector3(0.0f); +} + +FVector2D UNeoKinectManager::CameraLocationToColorPoint(const FVector& CameraLocation) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector2D(0.0f, 0.0f); + } + + const Vector3 KinectLocation( + -CameraLocation.Y * 0.01f, + CameraLocation.Z * 0.01f, + CameraLocation.X * 0.01f); + Vector2 ColorPoint; + + if (Kinect->GetRemappedPoint(KinectCoordinateSpace::Camera, KinectCoordinateSpace::Color, + KinectLocation, ColorPoint)) + { + return FVector2D(ColorPoint.x, ColorPoint.y); + } + + return FVector2D(0.0f, 0.0f); +} + +FVector2D UNeoKinectManager::CameraLocationToDepthPoint(const FVector& CameraLocation) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector2D(0.0f, 0.0f); + } + + const Vector3 KinectLocation( + -CameraLocation.Y * 0.01f, + CameraLocation.Z * 0.01f, + CameraLocation.X * 0.01f); + Vector2 DepthPoint; + + if (Kinect->GetRemappedPoint(KinectCoordinateSpace::Camera, KinectCoordinateSpace::Depth, + KinectLocation, DepthPoint)) + { + return FVector2D(DepthPoint.x, DepthPoint.y); + } + + return FVector2D(0.0f, 0.0f); +} + +Vector3 UNeoKinectManager::ColorWithDepthFromColorOnly(const Vector2& ColorLocation) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return Vector3(0.0f); + } + + const uint16 Depth = Kinect->SampleDepthFromColorCoords(ColorLocation); + + if (!Kinect || Depth == 0 /* invalid depth */) + return Vector3(0.0f); + + const float DepthMeters = static_cast(Depth) * 0.001f; + + static const FrameDescription ColorDescription = Kinect->GetFrameDescription(KinectFrameType::Color); + const float HalfWidth = static_cast(ColorDescription.width >> 1); // half frame width + const float HalfHeight = static_cast(ColorDescription.height >> 1); // half frame height + const float HalfFovH = FMath::DegreesToRadians(ColorDescription.horizontalFieldOfView / 2.f); // half horizontal FOV in radians + const float HalfFovV = FMath::DegreesToRadians(ColorDescription.verticalFieldOfView / 2.f); // half vertical FOV in radians + const float HoriCornerTan = FMath::Tan(HalfFovH); + const float VertCornerTan = FMath::Tan(HalfFovV); + + const float xPct = (ColorLocation.x - HalfWidth) / HalfWidth; + const float yPct = (ColorLocation.y - HalfHeight) / HalfHeight; + + // normal axis + const float xNormal = FMath::Sin(FMath::Atan(xPct * HoriCornerTan)); + const float yNormal = FMath::Sin(FMath::Atan(-yPct * VertCornerTan)); + const Vector3 Direction( + xNormal, + yNormal, + FMath::Sqrt(1 - (yNormal * yNormal + xNormal * xNormal)) + ); + + return Direction * DepthMeters; +} + +FVector2D UNeoKinectManager::DepthPointToColorPoint(FVector2D DepthPoint) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector2D(0.0f, 0.0f); + } + + const Vector2 Depth(DepthPoint.X, DepthPoint.Y); + Vector2 ColorPoint; + + if (Kinect->GetRemappedPoint(KinectCoordinateSpace::Depth, KinectCoordinateSpace::Color, + Depth, ColorPoint)) + { + return FVector2D(ColorPoint.x, ColorPoint.y); + } + + return FVector2D(0.0f, 0.0f); +} + +FVector UNeoKinectManager::DepthPointToCameraLocation(FVector2D DepthPoint) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector(0.0f); + } + + const Vector2 Depth(DepthPoint.X, DepthPoint.Y); + Vector3 Result; + + if (Kinect->GetRemappedPoint(KinectCoordinateSpace::Depth, KinectCoordinateSpace::Camera, + Depth, Result)) + { + return FVector(Result.z, -Result.x, Result.y) * 100.0f; + } + + return FVector(0.0f); +} + +FVector2D UNeoKinectManager::ColorPointToDepthPoint(FVector2D ColorPoint) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector2D(0.0f, 0.0f); + } + + const Vector2 Color(ColorPoint.X, ColorPoint.Y); + Vector2 DepthPoint; + + if (!Kinect->GetRemappedPoint(KinectCoordinateSpace::Color, KinectCoordinateSpace::Depth, + Color, DepthPoint)) + return FVector2D(0.0f, 0.0f); + + return FVector2D(DepthPoint.x, DepthPoint.y); +} + +#pragma endregion Remapping + +/* +* TEXTURES +*/ +#pragma region Textures + +FVector2D UNeoKinectManager::GetFrameFieldOfView(EKinectFrame FrameType) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FVector2D(0.0f, 0.0f); + } + const FrameDescription fd = FramesData[static_cast(FrameType)].GetFrameDescription(Kinect); + + return FVector2D(fd.horizontalFieldOfView, fd.verticalFieldOfView); +} + +FIntPoint UNeoKinectManager::GetFrameSize(EKinectFrame FrameType) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FIntPoint(0, 0); + } + + const FFrameTextureData& Frame = FramesData[static_cast(FrameType)]; + if (Frame.bRemapped) + { + return FIntPoint(Frame.Width, Frame.Height); + } + else + { + const FrameDescription fd = Frame.GetFrameDescription(Kinect); + + return FIntPoint(fd.width, fd.height); + } +} + +UTextureRenderTarget2D* UNeoKinectManager::SetUseFrame(EKinectFrame FrameType, bool bEnable) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return nullptr; + } + + FFrameTextureData& FrameData = FramesData[static_cast(FrameType)]; + + if (bEnable) + { + if (FrameData.IsTextureValid()) + return FrameData.Texture; + + // if it's a remapped type, we'll need the depth frame + if (FrameData.bRemapped) + { + if (!Kinect->SetUseFrame(KinectFrameType::Depth)) // if depth frame fails to be used + return nullptr; + } + + // configures and allocate the buffer memory + FThreadFrameBuffer &ThreadBuffer = FKinectThread::FrameBuffers[static_cast(FrameType)]; + ThreadBuffer.Configure(FrameData.KFrameType, FrameData.KPixelFormat, + FrameData.TargetSpace, FrameData.bRemapped); + // checks if allocation was successful + if (!ThreadBuffer.AllocateBuffers(FrameData.BufferSize)) + { + UE_LOG(NeoKinectLog, Error, TEXT("Failed to allocate memory for texture buffer!")); + return nullptr; + } + + // alert Kinect of frame usage + if (!Kinect->SetUseFrame(FrameData.KFrameType)) + return nullptr; + + // create the GPU texture + FrameData.Texture = CreateTexture( + FrameData.Width, FrameData.Height, + FrameData.UPixelFormat, FrameData.bIsSRGB); + + return FrameData.Texture; + } + else // bEnable == false + { + // Free unused resources + ReleaseFrameResources(FrameData); + return nullptr; + } +} + +bool UNeoKinectManager::GetIsUsingFrame(EKinectFrame FrameType) +{ + const FFrameTextureData& FrameData = FramesData[static_cast(FrameType)]; + + return FrameData.IsTextureValid(); +} + +UTextureRenderTarget2D* UNeoKinectManager::GetFrame(EKinectFrame FrameType) +{ + const FFrameTextureData& FrameData = FramesData[static_cast(FrameType)]; + + if (FrameData.IsTextureValid()) + return FrameData.Texture; + + return nullptr; +} + +float UNeoKinectManager::GetDepthFramePixel(FVector2D Coordinate) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return 0.0f; + } + + return static_cast(Kinect->SampleDepthFrame(Vector2(Coordinate.X, Coordinate.Y))) * 0.1f; +} + +float UNeoKinectManager::GetDepthFromColorFramePixel(FVector2D Coordinate) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return 0.0f; + } + + return static_cast(Kinect->SampleDepthFromColorCoords(Vector2(Coordinate.X, Coordinate.Y))) * 0.1f; +} + +FLinearColor UNeoKinectManager::GetColorFramePixel(FVector2D Coordinate) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return FLinearColor(); + } + if (!IsUsingColor()) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S but the Color frame is not in use"), __FUNCTION__); + return FLinearColor(); + } + + FThreadFrameBuffer& ThreadBuffer(FKinectThread::FrameBuffers[static_cast(EKinectFrame::Color)]); + uint8 const *Buffer = ThreadBuffer.GetReadBuffer(false); + if (!Buffer) return FLinearColor(); + + const static uint32 ColorWidth = GetFrameSize(EKinectFrame::Color).X; + const static uint32 ColorHeight = GetFrameSize(EKinectFrame::Color).Y; + + if (static_cast(Coordinate.X) >= ColorWidth || static_cast(Coordinate.Y) >= ColorHeight) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("%S: coordinates were beyond frame dimensions and were clamped."), __FUNCTION__); + Coordinate.X = FMath::Min(ColorWidth - 1, static_cast(Coordinate.X)); + Coordinate.Y = FMath::Min(ColorHeight - 1, static_cast(Coordinate.Y)); + } + + ThreadBuffer.Lock(); + const FLinearColor Color = *(reinterpret_cast( + Buffer + 4 * (ColorWidth * static_cast(Coordinate.Y) + static_cast(Coordinate.X)) + )); + ThreadBuffer.Unlock(); + + return Color; +} +#pragma endregion Textures + +/* +* BODIES / JOINTS +*/ +#pragma region Bodies_Joints + +TArray UNeoKinectManager::GetBodies() +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return TArray(); + } + SetUseBodyFrame(); + + return Bodies; +} + +TArray UNeoKinectManager::GetTrackedBodies() +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return TArray(); + } + SetUseBodyFrame(); + + TArray tBodies; + tBodies.Reserve(KinectBodyCount); + for (UNeoKinectBody*& Body : Bodies) + { + if (Body->bIsTracked) + tBodies.Add(Body); + } + + return tBodies; +} + +UNeoKinectBody* UNeoKinectManager::GetNearestBody(bool& HasBody) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return nullptr; + } + + SetUseBodyFrame(); + + UNeoKinectBody* nBody = nullptr; + for (UNeoKinectBody*& Body : Bodies) + { + if (Body->bIsTracked) + { + // if no nearest body + if (nBody == nullptr) nBody = Body; + // else, if current body's hip is nearest from the sensor than nBody's + else if (nBody->Joints[static_cast(EKinectJointType::SpineBase)].Location.Size() > + Body->Joints[static_cast(EKinectJointType::SpineBase)].Location.Size()) + nBody = Body; + } + } + HasBody = nBody != nullptr; + return nBody; +} + +void UNeoKinectManager::SetUseJointsColorSpaceTransforms(const bool bUse) +{ + if (bUsingJointsColorSpaceTransforms == bUse) return; + + bUsingJointsColorSpaceTransforms = bUse; + if (!bUse && Kinect) + { + for (UNeoKinectBody *& uBody : Bodies) + { + for (FKinectJoint &Joint : uBody->Joints) + { + Joint.ColorLocation = FVector::ZeroVector; + Joint.ColorOrientation = FRotator::ZeroRotator; + } + } + } +} + +bool UNeoKinectManager::IsUsingJointsColorSpaceTransforms() +{ + return Kinect && bUsingJointsColorSpaceTransforms; +} + +int32 UNeoKinectManager::BodyToIndex(const UNeoKinectBody* Body) +{ + return Body->BodyIndex; +} + +UNeoKinectBody* UNeoKinectManager::IndexToBody(const int32 Index) +{ + if (Index < 0 || Index >= Bodies.Num()) + return Bodies[0]; + return Bodies[Index]; +} + +int32 UNeoKinectManager::JointToIndex(const EKinectJointType Joint) +{ + return static_cast(Joint); +} + +EKinectJointType UNeoKinectManager::IndexToJoint(const int32 Index) +{ + return static_cast(Index >= KinectJointCount || Index < 0 ? 0 : Index); +} +#pragma endregion Bodies_Joints + +/* +* FACE TRACKING +*/ +#pragma region Face_Tracking + +TArray UNeoKinectManager::GetFaces() +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return TArray(); + } + + SetUseFaceFrame(); + + return Faces; +} + +TArray UNeoKinectManager::GetTrackedFaces() +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return TArray(); + } + + SetUseFaceFrame(); + + TArray tFaces; + tFaces.Reserve(KinectBodyCount); + for (UNeoKinectFace*& Face : Faces) + { + if (Face->bIsTracked) + tFaces.Add(Face); + } + + return tFaces; +} + +UNeoKinectFace* UNeoKinectManager::GetNearestFace(bool& HasAnyFace) +{ + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return nullptr; + } + + SetUseFaceFrame(); + + UNeoKinectFace* nFace = nullptr; + for (UNeoKinectFace*& Face : Faces) + { + if (Face->bIsTracked) + { + // if no nearest face + if (nFace == nullptr) nFace = Face; + // else, if current face's pivot is nearest from the sensor than nFace's + else if (nFace->Location.Size() > Face->Location.Size()) + nFace = Face; + } + } + HasAnyFace = nFace != nullptr; + return nFace; +} + +int32 UNeoKinectManager::FaceToIndex(const UNeoKinectFace *Face) +{ + return Face->Index; +} + +UNeoKinectFace* UNeoKinectManager::IndexToFace(const int32 Index) +{ + if (Index < 0 || Index >= Faces.Num()) + return Faces[0]; + return Faces[Index]; +} +#pragma endregion Face_Tracking + +/* +* CONSTANTS +*/ +#pragma region Constants + +int32 UNeoKinectManager::GetTrackableBodyCount() +{ + return KinectBodyCount; +} + +int32 UNeoKinectManager::GetTrackableFaceCount() +{ + return KinectBodyCount; +} + +int32 UNeoKinectManager::GetJointCount() +{ + return KinectJointCount; +} +#pragma endregion Constants + +#pragma endregion Blueprint_Functions + +#pragma region NonBlueprintable + +#pragma region Utils + +bool UNeoKinectManager::OnTick(float DeltaTime) +{ + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_Tick) + + if (Kinect && Kinect->IsSensorAvailable() && KinectThread) + { + /* + Read the data from the Kinect polling thread and update stuff as necessary + */ + + // try locking body and face data. If it doesn't work, leave to next frame. + if (bUsingBodyFrame && KinectThread->bBodiesDirty + && FKinectThread::BodiesFacesCritSec.TryLock()) + { + // process bodies before face tracking - face tracking depends on bodies data + ProcessBodies(KinectThread->GetBodiesData()); + + FKinectThread::BodiesFacesCritSec.Unlock(); + } + + if (bUsingFaceFrame && KinectThread->bFacesDirty + && FKinectThread::BodiesFacesCritSec.TryLock()) + { + ProcessFaces(KinectThread->GetFacesData()); + + FKinectThread::BodiesFacesCritSec.Unlock(); + } + + // Update textures on GPU from render thread + ENQUEUE_RENDER_COMMAND(FUpdateFrames)([](FRHICommandListImmediate& RHICmdList){ UpdateFrames(); }); + } + return true; +} + +bool UNeoKinectManager::IsUsingDepth() +{ + for (const FFrameTextureData& fd : FramesData) + { + if ((fd.KFrameType == KinectFrameType::Depth || fd.bRemapped) + && fd.IsTextureValid()) + return true; + } + return false; +} + +bool UNeoKinectManager::IsUsingBodyIndex() +{ + for (const FFrameTextureData& fd : FramesData) + { + if (fd.KFrameType == KinectFrameType::BodyIndex && fd.IsTextureValid()) + return true; + } + return false; +} + +bool UNeoKinectManager::IsUsingColor() +{ + for (const FFrameTextureData& fd : FramesData) + { + if (fd.KFrameType == KinectFrameType::Color && fd.IsTextureValid()) + return true; + } + return false; +} +#pragma endregion Utils + +//~ TEXTURES +#pragma region Textures + +UTextureRenderTarget2D* UNeoKinectManager::CreateTexture(int32 Width, int32 Height, EPixelFormat PixelFormat, bool sRGB) +{ + // Create the texture + UTextureRenderTarget2D* Texture = NewObject( + GetTransientPackage(), + NAME_None, + EObjectFlags::RF_Transient); + check(Texture); +#if WITH_EDITORONLY_DATA + Texture->MipGenSettings = TMGS_NoMipmaps; +#endif // WITH_EDITORONLY_DATA + Texture->OverrideFormat = PixelFormat; + Texture->RenderTargetFormat = [&PixelFormat, &sRGB]() + { + switch (PixelFormat) + { + case EPixelFormat::PF_G8: return ETextureRenderTargetFormat::RTF_R8; + case EPixelFormat::PF_G16: return ETextureRenderTargetFormat::RTF_R16f; + case EPixelFormat::PF_B8G8R8A8: + if (sRGB) + return ETextureRenderTargetFormat::RTF_RGBA8_SRGB; + return ETextureRenderTargetFormat::RTF_RGBA8; + + default:; + } + return ETextureRenderTargetFormat::RTF_RGBA8; + }(); + Texture->bAutoGenerateMips = false; + Texture->SRGB = sRGB; + Texture->bForceLinearGamma = !sRGB; + Texture->InitAutoFormat(Width, Height); + Texture->UpdateResource(); + Texture->AddToRoot(); + + return Texture; +} + +void UNeoKinectManager::UpdateFrames() +{ + // if the game thread issued a shutdown, the textures may become invalid at any time + // so, we check first + if (Kinect) + { + // Update the textures whose buffer is new + constexpr int32 n = static_cast(EKinectFrame::Count); + for (int32 i = 0; i < n; ++i) + { + FFrameTextureData& FrameData(FramesData[static_cast(i)]); + FThreadFrameBuffer& ThreadBuffer(FKinectThread::FrameBuffers[static_cast(i)]); + const uint8* Buffer = ThreadBuffer.GetReadBuffer(); + + if (Buffer && FrameData.IsTextureValid()) + { + ThreadBuffer.Lock(); + { + RHIUpdateTexture2D( + FrameData.Texture->GetRenderTargetResource()->GetRenderTargetTexture(), + 0, + FUpdateTextureRegion2D(0, 0, 0, 0, FrameData.Width, FrameData.Height), + FrameData.Width * FrameData.PixelSize, + Buffer + ); + } + ThreadBuffer.Unlock(); + } + } + } +} + +void UNeoKinectManager::ReleaseFrameResources(FFrameTextureData& FrameData) +{ + FrameData.Release(); + + switch (FrameData.KFrameType) + { + case KinectFrameType::Color: + if (!IsUsingColor() && Kinect) + Kinect->SetUseFrame(KinectFrameType::Color, false); + break; + + case KinectFrameType::Depth: + if (!IsUsingDepth() && Kinect) + Kinect->SetUseFrame(KinectFrameType::Depth, false); + break; + + case KinectFrameType::BodyIndex: + if (!IsUsingBodyIndex() && Kinect) + Kinect->SetUseFrame(KinectFrameType::BodyIndex, false); + + default: + break; + } +} + +#pragma endregion Textures + +//~ BODY PROCESSING +#pragma region Body_Process + +void UNeoKinectManager::SetUseBodyFrame(bool bUse) +{ + if (bUse == bUsingBodyFrame) return; + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return; + } + + Kinect->SetUseFrame(KinectFrameType::Body, bUse); + + FKinectThread::BodiesFacesCritSec.Lock(); + FKinectThread::bUseBodyTracking = bUse; + FKinectThread::BodiesFacesCritSec.Unlock(); + + bUsingBodyFrame = bUse; +} + +void UNeoKinectManager::ProcessBodies(const KinectBody* KBodies) +{ + if (!KBodies) + { + return; + } + + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_ProcessBodies) + + for (int32 i = 0; i < KinectBodyCount; ++i) + { + UNeoKinectManager::Bodies[i]->UpdateFromKinectBody(KBodies[i], *Kinect); + } +} + +void UNeoKinectManager::ResetBodies() +{ + for (int32 i = 0; i < KinectBodyCount; ++i) + { + if (!Bodies.IsValidIndex(i)) continue; + Bodies[i]->Reset(); + } +} +#pragma endregion Body_Process + +//~ FACE TRACKING PROCESSING +#pragma region Face_Process + +void UNeoKinectManager::SetUseFaceFrame(bool bUse) +{ + if (bUse == bUsingFaceFrame) return; + if (!Kinect) + { + UE_LOG(NeoKinectLog, Warning, + TEXT("Tried to call %S without initializing the sensor"), __FUNCTION__); + return; + } + + if (bUse) + { + if (!FPlatformProcess::GetDllHandle(TEXT(KINECT_FACE_DLL_NAME))) + { + UE_LOG(NeoKinectLog, Error, + TEXT("Tried to use face tracking, but face dll %S wasn't found."), KINECT_FACE_DLL_NAME); + return; + } + + // Face pivot and tracking solving depends on body data + SetUseBodyFrame(); + } + + Kinect->SetUseFrame(KinectFrameType::Face, bUse); + + FKinectThread::BodiesFacesCritSec.Lock(); + FKinectThread::bUseFaceTracking = bUse; + FKinectThread::BodiesFacesCritSec.Unlock(); + + bUsingFaceFrame = bUse; +} + +void UNeoKinectManager::ProcessFaces(const KinectFace* KFaces) +{ + if (!KFaces) + { + return; + } + + TRACE_CPUPROFILER_EVENT_SCOPE(Kinect_ProcessBodies) + + for (int32 i = 0; i < KinectBodyCount; ++i) + { + UNeoKinectManager::Faces[i]->UpdateFromKinectFace(KFaces[i]); + } +} + +void UNeoKinectManager::ResetFaces() +{ + for (int32 i = 0; i < KinectBodyCount; ++i) + { + if (!Faces.IsValidIndex(i)) continue; + Faces[i]->Reset(); + } +} +#pragma endregion Face_Process + +void UNeoKinectManager::BodyBeginTrackBroadcast(int32 BodyIndex) +{ + OnBodyBeginTrack.Broadcast(Bodies[BodyIndex]); +} + +void UNeoKinectManager::BodyLostBroadcast(int32 BodyIndex) +{ + OnBodyLost.Broadcast(Bodies[BodyIndex]); +} + +void UNeoKinectManager::FaceBeginTrackBroadcast(int32 FaceIndex) +{ + OnFaceBeginTrack.Broadcast(Faces[FaceIndex]); +} + +void UNeoKinectManager::FaceLostBroadcast(int32 FaceIndex) +{ + OnFaceLost.Broadcast(Faces[FaceIndex]); +} + +#pragma endregion NonBlueprintable diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectUnreal.cpp b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectUnreal.cpp new file mode 100644 index 0000000..c9b62a2 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Private/NeoKinectUnreal.cpp @@ -0,0 +1,5 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#include "Modules/ModuleManager.h" + +IMPLEMENT_MODULE(FDefaultModuleImpl, NeoKinectUnreal) diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/Helpers/GuardedNeoKinect.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/Helpers/GuardedNeoKinect.h new file mode 100644 index 0000000..aa7c167 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/Helpers/GuardedNeoKinect.h @@ -0,0 +1,10 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "Windows/AllowWindowsPlatformTypes.h" +#pragma warning(push) +#pragma warning(disable : 4471) +#include "NeoKinect.h" +#pragma warning(pop) +#include "Windows/HideWindowsPlatformTypes.h" diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/KinectThread.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/KinectThread.h new file mode 100644 index 0000000..5b24b7d --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/KinectThread.h @@ -0,0 +1,127 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "Helpers/GuardedNeoKinect.h" +#include "NeoKinectEnums.h" + +#include + +#include "CoreMinimal.h" +#include "HAL/Runnable.h" + +DECLARE_LOG_CATEGORY_CLASS(KinectThreadLog, Log, All); + +struct FThreadFrameBuffer +{ + NeoKinect::KinectFrameType FrameType = NeoKinect::KinectFrameType::Count; + NeoKinect::KinectPixelFormat PixelFormat = NeoKinect::KinectPixelFormat::None; + NeoKinect::KinectCoordinateSpace TargetSpace = NeoKinect::KinectCoordinateSpace::Count; + bool bRemapped = false; + + ~FThreadFrameBuffer(); + + void Configure( + NeoKinect::KinectFrameType Frame, + NeoKinect::KinectPixelFormat PixelFormat, + NeoKinect::KinectCoordinateSpace Space, + bool IsRemapped); + bool AllocateBuffers(uint32 Size); + void DeallocateBuffers(); + bool IsAllocated() const; + + // Returns an updated buffer. If it was already consumed, return nullptr + const uint8* GetReadBuffer(bool bConsume = true); + uint8* GetWriteBuffer() const; + + void SetDirty(); + + bool TryLock(); + void Lock(); + void Unlock(); + + void LockWrite(); + void UnlockWrite(); + +private: + std::atomic bIsNew = false; + uint8 *Buffer = nullptr; + uint8 *BackBuffer = nullptr; + FCriticalSection ReadMutex; + FCriticalSection WriteMutex; + + void SwapBuffers(); +}; + +// Kinect polling thread +class FKinectThread : public FRunnable +{ +private: + /* + Kinect updates its frames, at most, at 30fps. + But, as some of them will be available at slightly different times, I'll poll + it at double that rate to be sure. + */ + static constexpr float cDesiredFPS = 60.f; + + // Singleton instance, can access the thread any time via static accessor, if it is active + static FKinectThread *Runnable; + // Thread to run FRunnable on + FRunnableThread *Thread; + // Stop this thread? Uses Thread Safe Counter + FThreadSafeCounter StopTaskCounter; + + // Kinect sensor + NeoKinect::KinectSensor *pKinect; + + // Bodies data + NeoKinect::KinectBody Bodies[NeoKinect::KinectBodyCount]; + + // Face tracking data + NeoKinect::KinectFace Faces[NeoKinect::KinectBodyCount]; + +public: + // Constructor + FKinectThread(NeoKinect::KinectSensor *pSensor); + // Destructor + ~FKinectThread() override; + + // Frames data. These control which frame buffers should or not be updated. + static FThreadFrameBuffer FrameBuffers[static_cast(EKinectFrame::Count)]; + // Controls whether body data should be read + static bool bUseBodyTracking; + // True if body data was updated since last reading + bool bBodiesDirty; + // Controls whether face tracking data should be read + static bool bUseFaceTracking; + // True if faces data was updated since last reading + bool bFacesDirty; + + // Mutex for body/face data thread safety + static FCriticalSection BodiesFacesCritSec; + + /* + Start the thread and the worker from static (easy access) + This code ensures only 1 KinectThread will be able to run at a time. + This function returns a handle to the newly started instance. + */ + static FKinectThread *InitKinectPolling(NeoKinect::KinectSensor *pSensor); + + // Makes sure this thread has stopped properly + void EnsureCompletion(); + + // Shuts down the thread. Static so it can easily be called from outside the thread context + static void Shutdown(); + + // Gets last polled bodies data. Returns nullptr if no new data + const NeoKinect::KinectBody *GetBodiesData(); + // Gets last polled faces data. Returns nullptr if no new data + const NeoKinect::KinectFace *GetFacesData(); + + // Begin FRunnable interface + virtual bool Init() override; + virtual uint32 Run() override; + virtual void Stop() override; + virtual void Exit() override; + // End FRunnable interface +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectBody.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectBody.h new file mode 100644 index 0000000..96c35a2 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectBody.h @@ -0,0 +1,297 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "CoreMinimal.h" +#include "NeoKinectEnums.h" + +#include "NeoKinectBody.generated.h" + +namespace NeoKinect +{ + struct KinectBody; + class KinectSensor; +} + +/** + * Joint properties. + * + * The Location and Orientation of joints, by default, is given in camera space, + * which center is a point in the Kinect sensor not matching the color camera. + * So, to use joints over the color frame image, these coordinates must be reprojected. + * To get these reprojected values, use ColorLocation and ColorOrientation. + */ +USTRUCT(BlueprintType, Category = "NeoKinect|Structs") +struct FKinectJoint +{ + GENERATED_BODY() + + /** Joint type. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints") + EKinectJointType Type; + /** Joint tracking confidence. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints") + EKinectTrackingState Confidence; + + /** Joint location relative to Kinect sensor in camera space. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "position translation transform camera")) + FVector Location; + /** Joint orientation relative to Kinect sensor in camera space. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "transform rotation angles camera")) + FRotator Orientation; + + /** Joint location relative to Kinect sensor in color space with depth. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "position translation transform color")) + FVector ColorLocation; + /** Joint orientation relative to Kinect sensor in color space. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "transform rotation angles color")) + FRotator ColorOrientation; + + FKinectJoint() : + Type(EKinectJointType::AnkleLeft), + Confidence(EKinectTrackingState::NotTracked), + Location(FVector::ZeroVector), + Orientation(FRotator::ZeroRotator), + ColorLocation(FVector::ZeroVector), + ColorOrientation(FRotator::ZeroRotator) + {} +}; + +/** +* Which edges are clipping a body on the view frustum. +*/ +USTRUCT(BlueprintType, Category = "NeoKinect|Structs") +struct FKinectClippedEdges +{ + GENERATED_BODY() + + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool Left; + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool Right; + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool Top; + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool Bottom; + + FKinectClippedEdges() : + Left(false), Right(false), Top(false), Bottom(false) + {} +}; + +/** +* Represents a trackable body. +*/ +UCLASS(BlueprintType, Category = "NeoKinect|Body") +class NEOKINECTUNREAL_API UNeoKinectBody : public UObject +{ + GENERATED_BODY() + +public: + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBodyTrackDelegate, int32, BodyIndex); + + UNeoKinectBody(); + ~UNeoKinectBody() override; + + /** Retrieves this body index (0~5). */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + int32 BodyIndex; + /** Body's unique Tracking ID. */ + UPROPERTY() + int64 TrackingId; + + /** Body clipped edges from the sensor's view. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body", Meta = (Keywords = "cut borders")) + FKinectClippedEdges ClippedEdges; + + /** If this body represents a tracked user. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool bIsTracked; + /** If body's movement is restricted somehow. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + bool bIsRestricted; + + /** Left hand pose */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Hands") + EKinectHandState HandLeftState; + /** Left hand tracking state */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Hands") + EKinectTrackingState HandLeftTrackingState; + + /** Right hand pose */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Hands") + EKinectHandState HandRightState; + /** Right hand tracking state */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body|Hands") + EKinectTrackingState HandRightTrackingState; + + /** Body lean tracking confidence. */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body") + EKinectTrackingState LeanTrackingState; + /** + * Body lean. + * Ranges from -1 to 1 being left to right in X and back to front in Y. + * Values of -1 and 1 represent roughly 45 degrees of inclination. + */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Body", Meta = (Keywords = "inclination")) + FVector2D Lean; + + UPROPERTY() + TArray Joints; + + /** Called when this Body object starts tracking an user */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect|Body") + FBodyTrackDelegate OnBodyBeginTrack; + + /** Called when this Body object loses track of its user */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect|Body") + FBodyTrackDelegate OnBodyLost; + + /** + * Get Left/Right hand state as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Hand Which hand? + * @param States Current Hand state. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Body|Hands", Meta = (ExpandEnumAsExecs = "States")) + void GetHandStateAsExec(EKinectBodySide Hand, EKinectHandState& States); + + /** + * Get Left/Right hand state. + * + * @param Hand Which hand? + * @return Current Hand state. + */ + UFUNCTION(BlueprintPure, Category = "SamrtKinect|Body|Hands") + EKinectHandState GetHandState(EKinectBodySide Hand) const; + + /** + * Get Left/Right hand tracking state as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Hand Which hand? + * @param States Current Hand tracking state. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Body|Hands", Meta = (ExpandEnumAsExecs = "States")) + void GetHandConfidenceAsExec(EKinectBodySide Hand, EKinectTrackingState& States); + + /** + * Get Left/Right hand tracking state. + * + * @param Hand Which hand? + * @return Current Hand tracking state. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Hands") + EKinectTrackingState GetHandConfidence(EKinectBodySide Hand) const; + + /** + * Get body lean tracking confidence as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param States Lean tracking state. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Body", Meta = (ExpandEnumAsExecs = "States", Keywords = "inclination")) + void GetLeanConfidenceAsExec(EKinectTrackingState& States); + + /** + * Contains this body's each joint tracking state and transform. + * + * @return This body's each joint tracking state and transform. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints") + TArray GetJoints(); + + /** + * Get a Joint's location relative to Kinect sensor. + * + * @param Joint The joint type. + * @return Joint's location relative to Kinect sensor. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "position translation transform")) + FVector GetJointLocation(EKinectJointType Joint); + + /** + * Get a Joint's orientation relative to Kinect sensor. + * + * @param Joint The joint type. + * @return Joint's orientation relative to Kinect sensor. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "rotation angles transform")) + FRotator GetJointOrientation(EKinectJointType Joint); + + /** + * Get a Joint's location relative to Kinect sensor aligned with the Color frame. + * So, if a camera is created with the same FOV as the Kinect Color camera's and + * the Color frame texture is used as background, this location will align perfectly + * with the corresponding joint in the Color image. + * + * @param Joint The joint type. + * @return Joint's location relative to Kinect sensor. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "position translation transform")) + FVector GetJointLocationColor(EKinectJointType Joint); + + /** + * Get a Joint's orientation relative to Kinect sensor aligned with the Color + * aligned joint location. + * + * @param Joint The joint type. + * @return Joint's orientation relative to Kinect sensor. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "rotation angles transform")) + FRotator GetJointOrientationColor(EKinectJointType Joint); + + /** + * Get a Joint's tracking confidence as exec pins. + * Useful for redirecting the code path, like the Branch node. + * + * @param Joint The joint type. + * @param States Joint's tracking confidence. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Body|Joints", Meta = (ExpandEnumAsExecs = "States")) + void GetJointConfidenceAsExec(EKinectJointType Joint, EKinectTrackingState& States); + + /** + * Get a Joint's tracking confidence. + * + * @param Joint The joint type. + * @return Joint's tracking confidence. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints") + EKinectTrackingState GetJointConfidence(EKinectJointType Joint); + + /** + * Calculate the distance between two joints in the Kinect sensor space. + * + * @param JointA First joint. + * @param JointB Second joint. + * @return Distance between the two joints. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "size length")) + float GetJointsDistance(EKinectJointType JointA, EKinectJointType JointB); + + /** + * Calculate the distance from a Joint's location to it's parent's location. + * Useful for getting bone sizes. Eg.: for Left Elbow, the result will be the + * distance from Left Elbow to Left Shoulder. Spine Base is the skeleton's root, + * so it will return 0. + * + * @param Joint The joint type. + * @return Distance from Joint to it's parent. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "size length")) + float GetBoneLength(EKinectJointType Joint); + + /** + * The Dot product between a Joint direction and a Vector. + * + * @return -1 ~ 1: 1 = same direction as vector. -1 = opposite from vector. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (Keywords = "pointing direction lookat")) + float JointDotVector(EKinectJointType Joint, FVector Vector); + + void UpdateFromKinectBody(const NeoKinect::KinectBody& kBody, const NeoKinect::KinectSensor& Sensor); + + void Reset(); +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectEnums.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectEnums.h new file mode 100644 index 0000000..66d0c5b --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectEnums.h @@ -0,0 +1,134 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "CoreMinimal.h" +#include "NeoKinectEnums.generated.h" + +/** +* The types of frames that can be read from the Kinect sensor. +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EKinectFrame : uint8 +{ + /** Normal camera texture. Standard RGBA format (alpha = 1) */ + Color = 0, + /** Depth sensor texture. Red channel only. Values are in millimeters */ + Depth = 1, + /** Depth sensor ranging from 0 to 1. Standard RGBA format (alpha = 1) */ + NormalizedDepth = 2, + /** Body index value in Red channel. In material editor, multiply Red by 255 + * to get actual index value (0~5) */ + BodyIndex = 3, + /** Body indexes with a color for each index. Standard RGBA format. + * Alpha = 1 where there's a body, 0 otherwise */ + BodyIndexColor = 4 UMETA(DisplayName = "Colored Body Index"), + /** Not implemented */ + Color_DepthSpace = 5 UMETA(DisplayName = "Color in Depth Space"), + /** Depth sensor image remapped to fit the color frame. Red channel only. + * Values in millimeters, 0 where remapping is not possible. */ + Depth_ColorSpace = 6 UMETA(DisplayName = "Depth in Color Space"), + /** Body index values remapped to fit the bodies in the color frame. + * Red channel only. In material editor, multiply Red by 255 to get actual + * index value (0~5). */ + BodyIndex_ColorSpace= 7 UMETA(DisplayName = "Body Index in Color Space"), + /** Infrared sensor image. Red channel only, usually very dark. */ + Infrared = 8, + /** Long exposure infrared sensor image. Red channel only. Can lower the + * sensor's FPS to get brighter image */ + LongExposureInfrared= 9, + /** Cast to int to get the number of frame types */ + Count = 10 +}; + +/** +* Body sides. +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EKinectBodySide : uint8 +{ + Left = 0, + Right = 1 +}; + +/** +* Possible hand states +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EKinectHandState : uint8 +{ + /** Pretty close to NotTracked. */ + Unknown = 0, + NotTracked = 1, + Open = 2, + Closed = 3, + /** Closed hand with index and middle fingers pointing up, near each other */ + Lasso = 4 +}; + +/** +* Tracking confidence. +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EKinectTrackingState : uint8 +{ + NotTracked = 0, + /** Tracked by deduction. Sometimes good, many times terrible. */ + Inferred = 1, + Tracked = 2 +}; + +/** +* The joints that the Kinect sensor tracks on each body. 25 total. +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EKinectJointType : uint8 +{ + /** Near the pelvis */ + SpineBase = 0, + /** Near the stomach */ + SpineMid = 1 UMETA(DisplayName = "Spine Middle"), + Neck = 2, + Head = 3, + ShoulderLeft = 4 UMETA(DisplayName = "Left Shoulder"), + ElbowLeft = 5 UMETA(DisplayName = "Left Elbow"), + WristLeft = 6 UMETA(DisplayName = "Left Wrist"), + /** In the palm center */ + HandLeft = 7 UMETA(DisplayName = "Left Hand"), + ShoulderRight = 8 UMETA(DisplayName = "Right Shoulder"), + ElbowRight = 9 UMETA(DisplayName = "Right Elbow"), + WristRight = 10 UMETA(DisplayName = "Right Wrist"), + /** In the palm center */ + HandRight = 11 UMETA(DisplayName = "Right Hand"), + /** Femur/Hip joint */ + HipLeft = 12 UMETA(DisplayName = "Left Hip"), + KneeLeft = 13 UMETA(DisplayName = "Left Knee"), + AnkleLeft = 14 UMETA(DisplayName = "Left Ankle"), + /** Tip of the foot */ + FootLeft = 15 UMETA(DisplayName = "Left Foot"), + /** Femur/Hip joint */ + HipRight = 16 UMETA(DisplayName = "Right Hip"), + KneeRight = 17 UMETA(DisplayName = "Right Knee"), + AnkleRight = 18 UMETA(DisplayName = "Right Ankle"), + /** Tip of the foot */ + FootRight = 19 UMETA(DisplayName = "Right Foot"), + /** Between the collar bones */ + SpineShoulder = 20, + HandTipLeft = 21 UMETA(DisplayName = "Left Hand Tip"), + ThumbLeft = 22 UMETA(DisplayName = "Left Thumb"), + HandTipRight = 23 UMETA(DisplayName = "Right Hand Tip"), + ThumbRight = 24 UMETA(DisplayName = "Right Thumb") +}; + +/** +* Face properties detection results +*/ +UENUM(BlueprintType, Category = "NeoKinect|Enums") +enum class EDetectionResult : uint8 +{ + Unknown = 0, + No = 1, + /** Consider it more as a "No" */ + Maybe = 2, + Yes = 3 +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectFace.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectFace.h new file mode 100644 index 0000000..add9cd6 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectFace.h @@ -0,0 +1,290 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "NeoKinectEnums.h" + +#include "Windows/AllowWindowsPlatformTypes.h" +#pragma warning(push) +#pragma warning(disable : 4471) +#include "Kinect.Face.h" +#pragma warning(pop) +#include "Windows/HideWindowsPlatformTypes.h" + +#include "NeoKinectFace.generated.h" + +class UNeoKinectBody; + +namespace NeoKinect +{ + struct KinectFace; + struct KinectFacePoints; +} + +/** +* Describes the edges of a rectangle in a texture (int values) +*/ +USTRUCT(BlueprintType, Category = "NeoKinect|Structs") +struct FIntBoundingBox +{ + GENERATED_BODY() + + // Left rectangle edge + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + int32 Left = 0; + // Top rectangle edge + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + int32 Top = 0; + // Right rectangle edge + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + int32 Right = 0; + // Bottom rectangle edge + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + int32 Bottom = 0; + + void FromRectI(const RectI& Rect); +}; + +/** +* Lists the 2D of each face alignment point. +*/ +USTRUCT(BlueprintType, Category = "NeoKinect|Structs") +struct FFacePoints2D +{ + GENERATED_BODY() + + // Left eye location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector2D LeftEye = FVector2D::Zero(); + // Right eye location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector2D RightEye = FVector2D::Zero(); + // Nose location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector2D Nose = FVector2D::Zero(); + // Left mouth corner location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector2D LeftMouthCorner = FVector2D::Zero(); + // Right mouth corner location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector2D RightMouthCorner = FVector2D::Zero(); + + void FromKinectFacePoints(const NeoKinect::KinectFacePoints& Points); +}; + +/** +* Lists the 3D locations of each face alignment point. +*/ +USTRUCT(BlueprintType, Category = "NeoKinect|Structs") +struct FFacePoints3D +{ + GENERATED_BODY() + + // Left eye location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector LeftEye = FVector::Zero(); + // Right eye location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector RightEye = FVector::Zero(); + // Nose location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector Nose = FVector::Zero(); + // Left mouth corner location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector LeftMouthCorner = FVector::Zero(); + // Right mouth corner location + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector RightMouthCorner = FVector::Zero(); + + void FromKinectFacePoints(const NeoKinect::KinectFacePoints& ColorPoints); +}; + +/** +* Represents a trackable body's face. +*/ +UCLASS(BlueprintType, Category = "NeoKinect|Face") +class NEOKINECTUNREAL_API UNeoKinectFace : public UObject +{ + GENERATED_BODY() + +public: + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FFaceTrackDelegate, int32, FaceIndex); + + UNeoKinectFace(); + ~UNeoKinectFace() override; + + // This face's index in the faces array + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + int32 Index; + + // If this face is being tracked. + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + bool bIsTracked; + + // Face tracking Id. Matches it's body TrackingId. + UPROPERTY() + int64 TrackingId; + + // The face bounding box in Color space. + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FIntBoundingBox ColorBoundingBox; + + // The face bounding box in Depth space. + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FIntBoundingBox InfraredBoundingBox; + + // The face alignment points in Color space. + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FFacePoints2D ColorAlignmentPoints; + + // The face alignment points in Depth space. + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FFacePoints2D InfraredAlignmentPoints; + + /** + * The face alignment points aligned with the Color frame from the camera's + * point of view, at a distance taken from Depth frame. + * For this to have valid values the remapped Depth in Color Space frame must be activated. + */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FFacePoints3D ColorWithDepthAlignmentPoints; + + // The face rotation. + UPROPERTY(BlueprintReadOnly, Meta = (Keywords = "rotation quaternion angles transform"), Category = "NeoKinect|Face") + FRotator Orientation; + + // The head pivot location. + UPROPERTY(BlueprintReadOnly, Meta = (Keywords = "location position center head translation transform"), Category = "NeoKinect|Face") + FVector Location; + + /** Head location aligned with the Color frame and with depth. + * Only valid if color transforms were activated using SetUseJointsColorSpaceTransforms */ + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + FVector ColorLocation; + + // Is the user engaged? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsEngaged; + + // Does the user looks happy? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsHappy; + + // Is the user looking away? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsLookingAway; + + // Did the user mouth move? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsMouthMoved; + + // Is the user mouth opened? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsMouthOpen; + + // Is the user left eye closed? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsLeftEyeClosed; + + // Is the user right eye closed? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsRightEyeClosed; + + // Is the user wearing glasses? + UPROPERTY(BlueprintReadOnly, Category = "NeoKinect|Face") + EDetectionResult IsWearingGlasses; + + /** Called when this face object starts tracking a user's face */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect|Face") + FFaceTrackDelegate OnFaceBeginTrack; + + /** Called when this face object loses its user's face */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect|Face") + FFaceTrackDelegate OnFaceLost; + + /** + * Checks if left/right eye is closed and use the result as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Eye Which eye? + * @param Result Is selected eye closed? Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetEyeClosedAsExec(EKinectBodySide Eye, EDetectionResult& Result); + + /** + * Checks if left/right eye is closed. + * + * @param Eye Which eye? + * @return Is selected eye closed? Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face") + EDetectionResult GetEyeClosed(EKinectBodySide Eye) const; + + /** + * Get IsEngaged as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsEngagedAsExec(EDetectionResult& Result); + + /** + * Gets IsHappy as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsHappyAsExec(EDetectionResult& Result); + + /** + * Gets IsLookingAway as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsLookingAwayAsExec(EDetectionResult& Result); + + /** + * Gets IsMouthMoved as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsMouthMovedAsExec(EDetectionResult& Result); + + /** + * Gets IsMouthOpen as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsMouthOpenAsExec(EDetectionResult& Result); + + /** + * Gets IsWearingGlasses as execution pins. + * Useful for redirecting code path, like the Branch node. + * + * @param Result Consider 'Maybe' more as a 'No'. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Face", Meta = (ExpandEnumAsExecs = "Result")) + void GetIsWearingGlassesAsExec(EDetectionResult& Result); + + /** + * Checks if this face belongs to the passed Body instance. + * + * @param Body The body to test from. + * @return True if this face belongs to the passed body. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face") + bool IsFromBody(const UNeoKinectBody* Body) const; + + void UpdateFromKinectFace(const NeoKinect::KinectFace& kFace); + + void Reset(); +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectManager.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectManager.h new file mode 100644 index 0000000..2e726bf --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/NeoKinectUnreal/Public/NeoKinectManager.h @@ -0,0 +1,612 @@ +// Copyright 2015-2023 Rodrigo Villani Pereira + +#pragma once + +#include "Helpers/GuardedNeoKinect.h" + +#include "NeoKinectEnums.h" +#include "PixelFormat.h" +#include "Containers/Ticker.h" + +#include "NeoKinectManager.generated.h" + +class FKinectThread; +class UNeoKinectBody; +class UNeoKinectFace; +class UTextureRenderTarget2D; + +DECLARE_LOG_CATEGORY_CLASS(NeoKinectLog, Log, All); + +/** Structure to manage Kinect frame types lifetime and updating */ +struct FFrameTextureData +{ + UTextureRenderTarget2D *Texture = nullptr; + uint32 Width = 0; + uint32 Height = 0; + uint32 PixelSize = 0; + uint32 BufferSize = 0; + EPixelFormat UPixelFormat = EPixelFormat::PF_Unknown; + NeoKinect::KinectPixelFormat KPixelFormat = NeoKinect::KinectPixelFormat::None; + EKinectFrame UFrameType = EKinectFrame::Count; + NeoKinect::KinectFrameType KFrameType = NeoKinect::KinectFrameType::Count; + NeoKinect::KinectCoordinateSpace TargetSpace = NeoKinect::KinectCoordinateSpace::Count; + bool bIsSRGB = false; + bool bRemapped = false; + + ~FFrameTextureData(); + + inline bool IsTextureValid() const; + void Release(); + NeoKinect::FrameDescription GetFrameDescription(const NeoKinect::KinectSensor *Kinect) const; +}; + +/** +* Access the Kinect v2 sensor capabilities. +* +* When using any Remapped type of frame or any Coordinate Remapping methods, +* Depth frame use will automatically be switched on, since those functionalities +* depend on it. But don't worry about performance. The depth frame will only +* get written and updated to a texture on the GPU if the user explicitly +* asks for it using SetUseFrame(). +* +* When using Face Tracking, Body Tracking will also be automatically switched on. +* Face Tracking depends on Body Tracking for the head pivot position and for +* fixing issues when looking for a Face. +*/ +UCLASS(Category = "NeoKinect", BlueprintType) +class NEOKINECTUNREAL_API UNeoKinectManager : public UObject +{ + GENERATED_BODY() + +public: + + /** Stores the bodies that Kinect can track. The array is created only once + * and lasts until the end of the program. */ + static TArray Bodies; + /** Stores the faces that Kinect can track. The array is created only once + * and lasts until the end of the program. */ + static TArray Faces; + /** Stores all the possible frame types Kinect or the program can create. + * The array is created only once and lasts until the end of the program. */ + static FFrameTextureData FramesData[static_cast(EKinectFrame::Count)]; + + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FBodyTrackDelegate, UNeoKinectBody*, Body); + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FFaceTrackDelegate, UNeoKinectFace*, Face); + + /** Constructor: used only to bind the static dispatcher to the bodies/faces + * tracking events. */ + UNeoKinectManager(); + /** Destructor: unbind the static dispatcher events and makes sure to + * un-initialize the Kinect sensor before the program exits. */ + ~UNeoKinectManager() override; + + /*------------------------------------------------------------------------- + EVENTS + -------------------------------------------------------------------------*/ + +private: + /** Class singleton used to give Blueprints access to the tracking events. */ + static UNeoKinectManager* EventsDispatcher; + +public: + /** Called when the Kinect sensor has just detected a new user's body. */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect") + FBodyTrackDelegate OnBodyBeginTrack; + + /** Called when the Kinect sensor has just lost track of a user's body. */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect") + FBodyTrackDelegate OnBodyLost; + + /** Called when the Kinect sensor has just detected a new user's face. */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect") + FFaceTrackDelegate OnFaceBeginTrack; + + /** Called when the Kinect sensor has just lost track of a user's face. */ + UPROPERTY(BlueprintAssignable, Category = "NeoKinect") + FFaceTrackDelegate OnFaceLost; + + /** + * Use the object result of this function to bind to the Kinect body/face + * tracking events. You can also bind to individual bodies/faces using their + * respective objects. + * + * @return Kinect events dispatcher object. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect") + static UNeoKinectManager* GetKinectEventsDispatcher(); + + /*//////////////////////////////////////////////////////////////////////////// + + BLUEPRINT FUNCTIONS + + ////////////////////////////////////////////////////////////////////////////*/ + + /* + * BASICS + */ + + /** + * Initializes the Kinect sensor. + * + * Even though this function always works without errors, check if the sensor + * has really started by calling IsKinectAvailable. It can take a while, so + * check in intervals until it does. + */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Init Kinect Sensor", Keywords = "turn on initialize enable start begin"), Category = "NeoKinect") + static void InitSensor(); + + /** + * Returns if sensor is already on. + * + * It may take a while for the sensor to initialize, so keep checking. If it + * takes too long, either there's no connected sensor or it's malfunctioning. + * + * @return true if Sensor is available and operational. + */ + UFUNCTION(BlueprintPure, meta = (Keywords = "on working works usable"), Category = "NeoKinect") + static bool IsKinectAvailable(); + + /** + * Use very carefully! Will shutdown the sensor and also invalidate any of its + * frame textures (color, depth etc). Make sure you call this when none of them + * are in use (preferably when quitting the game). Remember: with great power, + * comes great responsibility! + */ + UFUNCTION(BlueprintCallable, meta = (DisplayName = "Uninit Kinect Sensor", Keywords = "turn off uninitialize disable end"), Category = "NeoKinect") + static void UninitSensor(); + + /** + * Retrieves the Kinect sensor or NULL if not initialized. + * + * @return The Kinect sensor or NULL if not initialized. + */ + static NeoKinect::KinectSensor* GetSensor(); + + /** + * Gets sensor tilt in degrees. It represents the pitch of the sensor in Unreal + * coordinates (X pointing the same direction as the Kinect camera). Negative + * values mean it's pointing down. + * + * @return Kinect sensor tilt in degrees. Negative values mean it's pointing down. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect", meta = (DisplayName = "Get Kinect Tilt")) + static float GetSensorTilt(); + + /** + * Kinect height from the ground and ground normal. Only works if the sensor + * can see the ground. + * Bodies reading must be in use, as this data is read from the Body frames. + * + * @param Height Kinect distance from the ground + * @return Ground normal + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect", meta = (DisplayName = "Get Kinect Ground Plane", Keywords = "height normal location floor")) + static FVector GetGroundPlane(float &Height); + + /* + * EXPOSURE CONTROL + */ + + /* + * Fully automatic exposure setting with exposure compensation. Only affects the Color frame. + * @param exposureCompensation Negative value gives an underexposed image, + * positive gives an overexposed image. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|ColorExposure", meta = (DisplayName = "Set Kinect to Auto Exposure", Keywords = "image frame color brightness")) + static void SetAutoExposure(float exposureCompensation = 0.0f); + + /* + * Sets a pseudo-exposure time in ms. Only affects the Color frame. + * + * The actual frame integration time is set to a multiple of fluorescent light period + * that is shorter than the requested time e.g. requesting 16 ms will set 10 ms + * in Australia (100Hz), 8.33 ms in USA (120Hz). + * The gain is automatically set to compensate for the reduced integration time. + * + * Requesting less than a single fluorescent light period will set the integration time + * to the requested value. + * + * To set the shortest non-flickering integration period for any country, simply set + * a pseudo-exposure time of between (10.0, 16.667) ms, which will automatically drop + * the integration time to 10 or 8.3 ms depending on country, while setting the analog + * gain control to a brighter value. + * + * @param pseudoExposureTime Pseudo-exposure time in ms. [0.0, 640]ms + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|ColorExposure", meta = (DisplayName = "Set Kinect to Semi Auto Exposure", Keywords = "image frame color brightness")) + static void SetSemiAutoExposure(float pseudoExposureTime); + + /* + * Manually set frame exposure time in ms and analog gain. Only affects the Color frame. + * @param frameExposureTime Time of exposure for each frame, in ms. [0.0, 640]ms + * @param analogGain Exposure analog gain. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|ColorExposure", meta = (DisplayName = "Set Kinect to Manual Exposure", Keywords = "image frame color brightness")) + static void SetManualExposure(float frameExposureTime, float analogGain); + + /* + * COORDINATE REMAPPING + */ + + /** + * Converts a 3D location in Camera space to Color space with depth, so the new + * location matches the Color frame position from camera's point of view + * without turning into 2D. + * + * @param CameraLocation The 3D Camera space coordinate to be converted (in Unreal units) + * @return Realigned 3D coordinate that matches the Color frame from the camera's + * point of view (in Unreal units) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector CameraLocationToColorWithDepth(const FVector& CameraLocation); + /** Native NeoKinect implementation of the above */ + static NeoKinect::Vector3 CameraLocationToColorWithDepth(NeoKinect::Vector3 CameraLocation); + + /** + * Remaps a 3D camera location to a 2D point in the Color frame. + * + * @param CameraLocation The 3D Camera space coordinate to be remapped (in Unreal units) + * @return The point location in the Color frame that matches the Camera + * location input (in pixels) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector2D CameraLocationToColorPoint(const FVector& CameraLocation); + + /** + * Remaps a 3D camera location to a point in the Depth frame. + * + * @param CameraLocation The 3D Camera space coordinate to be remapped (in Unreal units) + * @return The point location in the Depth frame that matches the Camera + * location input (in pixels) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector2D CameraLocationToDepthPoint(const FVector& CameraLocation); + + /** + * Creates a Color with depth point from a Color point only. Viewed from the + * camera perspective, this point aligns with the Color frame without losing + * it's depth. + * + * This method uses the remapped Color buffer in Depth space so, for it to + * work, the Depth in Color Space frame must be in use. + * + * @param ColorLocation A point in the Color frame to be remapped (in pixels) + * @return The 3D version of the Color point (in Unreal units) + */ + static NeoKinect::Vector3 ColorWithDepthFromColorOnly(const NeoKinect::Vector2& ColorLocation); + + /** + * Remaps a point location from the Depth frame to the Color frame. + * + * @param DepthPoint A point in the Depth frame (in pixels) + * @return Remapped Depth frame point to a Color frame point (in pixels) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector2D DepthPointToColorPoint(FVector2D DepthPoint); + + /** + * Remaps a point location from the Depth frame to the 3D camera space. + * + * @param DepthPoint A point in the Depth frame (in pixels) + * @return Remapped Depth frame point to a 3D Camera location (in Unreal units) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector DepthPointToCameraLocation(FVector2D DepthPoint); + + /** + * Remaps a point from the Color frame to the Depth frame. + * + * @param ColorPoint A point in the Color frame (in pixels) + * @return Color point remapped to its related location in the Depth frame (in pixels) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Remapping", Meta = (Keywords = "convert coordinate space remap")) + static FVector2D ColorPointToDepthPoint(FVector2D ColorPoint); + + + /* + * TEXTURES (Color, Depth etc) + */ + + /** + * Get a frame horizontal and vertical field of view. + * + * @param FrameType The frame type to request the FOV from. + * @return x = horizontal FOV, y = vertical FOV + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "width height FOV texture angle field of view", DisplayName = "Get Kinect FOV")) + static FVector2D GetFrameFieldOfView(EKinectFrame FrameType); + + /** + * Get a frame texture width and height in pixels. + * + * @param FrameType The frame type to request the size from. + * @return x = width, y = height + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "width height texture resolution", DisplayName = "Get Kinect Frame Size")) + static FIntPoint GetFrameSize(EKinectFrame FrameType); + + /** + * Enables or disables updating of a Kinect frame type. + * + * @param FrameType The frame type to enable/disable + * @param bEnable If the selected frame type should be enabled + * @return The Frame texture. Null if Enable = false. + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Frames", Meta = (Keywords = "texture sensor camera enable disable toggle", DisplayName = "Set Use Kinect Frame")) + static UTextureRenderTarget2D* SetUseFrame(EKinectFrame FrameType, bool bEnable); + + /** + * Returns if a Kinect frame type is enabled. If it is, it means you can get + * it's texture with GetFrame. + * + * @param FrameType The frame type to ask for. + * @return If FrameType is enabled or not. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "texture sensor camera enabled", DisplayName = "Get Is Using Kinect Frame")) + static bool GetIsUsingFrame(EKinectFrame FrameType); + + /** + * Get the texture that represents the requested frame type. + * + * @param FrameType The frame type to get the texture from. + * @return The texture that represents the requested frame type. Null if it has + * not been enabled. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "texture sensor camera", DisplayName = "Get Kinect Frame")) + static UTextureRenderTarget2D* GetFrame(EKinectFrame FrameType); + + /** + * Gets the depth value from a specific pixel on the Depth frame. + * + * @param Coordinate A point in the Depth frame (in pixels) + * @return The Depth value (distance from the Kinect sensor) in the input point + * (in centimeters) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "sample texture sensor camera")) + static float GetDepthFramePixel(FVector2D Coordinate); + + /** + * Gets the depth value from a specific pixel on the Color frame + * + * @param Coordinate A point in the Color frame (in pixels) + * @return The Depth value (distance from the Kinect sensor) in the input point + * (in centimeters) + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "sample texture remap")) + static float GetDepthFromColorFramePixel(FVector2D Coordinate); + + /** + * Gets the color value from a specific pixel on the Color frame. + * + * @param Coordinate A point in the Color frame (in pixels) + * @return The Color value in the input point + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Frames", Meta = (Keywords = "sample texture sensor camera")) + static FLinearColor GetColorFramePixel(FVector2D Coordinate); + + /* + * BODIES / JOINTS + */ + + /** + * Array of all bodies (tracked and not tracked). + * The bodies in the array are updated automatically, so you don't need to + * request the array more than once. + * + * @return Bodies array. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body", meta = (DisplayName = "Get Kinect Bodies")) + static TArray GetBodies(); + + /** + * Array with only the currently tracked bodies. + * + * @return The currently tracked bodies. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body", meta = (DisplayName = "Get Kinect Tracked Bodies")) + static TArray GetTrackedBodies(); + + /** + * Gets tracked body whose Spine Base joint is nearest to the Kinect sensor. + * + * @param HasBody If there's at least one tracked body. + * @return The nearest body from the sensor. Null if no bodies are tracked. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body", meta = (DisplayName = "Get Kinect Nearest Body")) + static UNeoKinectBody* GetNearestBody(bool& HasBody); + + /** + * Toggle the use of Color texture aligned joint locations and orientations. + * + * Calculating these remapped transforms introduce a small overhead, so it's + * disabled by default and reading the Color values from a Joint will return + * Zero values until this is enabled. + * + * @param bUse Enable usage of Joints' Color space transforms? + */ + UFUNCTION(BlueprintCallable, Category = "NeoKinect|Body", meta = (Keywords = "joints remap")) + static void SetUseJointsColorSpaceTransforms(const bool bUse); + + /** + * Return if Joints' Color space transforms usage is enabled + * + * @return True if Joints' Color space transforms usage is enabled + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body") + static bool IsUsingJointsColorSpaceTransforms(); + + /** + * Cast a Body in the bodies array to its index number. + * + * @param Body The body instance. + * @return Body index. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body", Meta = (CompactNodeTitle = "->", Keywords = "convert cast")) + static int32 BodyToIndex(const UNeoKinectBody* Body); + + /** + * Cast an index to a body from the bodies array. + * + * @param Index Index. + * @return Body instance. If index > 5 or index < 0, it's the body at index 0. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body", Meta = (CompactNodeTitle = "->", Keywords = "convert cast")) + static UNeoKinectBody* IndexToBody(const int32 Index); + + /** + * Cast the Joint type to its joint index number. + * + * @param Joint Joint type. + * @return Index. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (CompactNodeTitle = "->", Keywords = "convert cast", BlueprintThreadSafe)) + static int32 JointToIndex(const EKinectJointType Joint); + + /** + * Cast a joint index to its Joint type. + * + * @param Index Index. + * @return Joint type. If index >= joint count or index < 0, it's Spine Base joint. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Body|Joints", Meta = (CompactNodeTitle = "->", Keywords = "convert cast")) + static EKinectJointType IndexToJoint(const int32 Index); + + /* + * FACE TRACKING + */ + + /** + * Array of faces (tracked and not tracked). The faces instances are updated + * automatically, so you don't need to request the array more than once. + * + * @return Faces array. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face", meta = (DisplayName = "Get Kinect Faces")) + static TArray GetFaces(); + + /** + * Array with only the currently tracked faces. + * + * @return The currently tracked faces. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face", meta = (DisplayName = "Get Kinect Tracked Faces")) + static TArray GetTrackedFaces(); + + /** + * Gets tracked face whose Head joint is nearest from the sensor. + * + * @param bHasAnyFace If there's at least one tracked face. + * @return The nearest face from the sensor. Null if no faces are tracked. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face", meta = (DisplayName = "Get Kinect Nearest Face")) + static UNeoKinectFace* GetNearestFace(bool& bHasAnyFace); + + /** + * Cast a Face to its index number. + * + * @param Face The face instance. + * @return Face index. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face", Meta = (CompactNodeTitle = "->", Keywords = "convert cast")) + static int32 FaceToIndex(const UNeoKinectFace* Face); + + /** + * Cast a face index to a Face object. + * + * @param Index Index. + * @return Face instance. If index > 5 or index < 0, it's the face at index 0. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Face", Meta = (CompactNodeTitle = "->", Keywords = "convert cast")) + static UNeoKinectFace* IndexToFace(const int32 Index); + + /* + * CONSTANTS + */ + + /** + * The number of bodies the Kinect device can track simultaneously. + * + * @return The number of bodies the Kinect device can track simultaneously. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Constants", meta = (Keywords = "length number size capability")) + static int32 GetTrackableBodyCount(); + + /** + * The number of faces the Kinect device can track simultaneously. + * + * @return The number of faces the Kinect device can track simultaneously. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Constants", meta = (Keywords = "length number size capability")) + static int32 GetTrackableFaceCount(); + + /** + * The number of joints the Kinect device can track in each tracked body. + * + * @return The number of joints the Kinect device can track in each tracked body. + */ + UFUNCTION(BlueprintPure, Category = "NeoKinect|Constants", meta = (Keywords = "length number size capability")) + static int32 GetJointCount(); + + /*//////////////////////////////////////////////////////////////////////////// + + BLUEPRINT FUNCTIONS END + + ////////////////////////////////////////////////////////////////////////////*/ + + +private: + /** NeoKinect API sensor */ + static NeoKinect::KinectSensor* Kinect; + /** Does the sensor polling */ + static FKinectThread* KinectThread; + /** FTicker handle so we can stop ticking after disconnecting from the sensor */ + static FTSTicker::FDelegateHandle TickerHandle; + + //TODO: figure out a way to know when a level is unloaded + //static bool bAutoShutdown; + + /** Should we read and update the bodies data each frame? */ + static bool bUsingBodyFrame; + /** Should we remap the bodies transforms into 3D Color space each frame? */ + static bool bUsingJointsColorSpaceTransforms; + /** Should we read and update the faces data each frame? */ + static bool bUsingFaceFrame; + + /** Initialize the bodies, faces and frames arrays */ + static void InitStatics(); + /** Updates bodies, faces and frames each frame */ + static bool OnTick(float DeltaTime); + + static bool IsUsingDepth(); + static bool IsUsingBodyIndex(); + static bool IsUsingColor(); + /** Creates a 2D dynamic texture for frames usage */ + static UTextureRenderTarget2D* CreateTexture(int32 Width, int32 Height, EPixelFormat PixelFormat, bool sRGB); + /** Updates all currently enabled frames. Executed in the Render thread */ + static void UpdateFrames(); + /** Delete frames textures memory */ + static void ReleaseFrameResources(FFrameTextureData&); + + /** Enable/disable bodies frame reading */ + static void SetUseBodyFrame(bool bUse = true); + /** Converts bodies joints transforms to Unreal coordinate space */ + static void ProcessBodies(const NeoKinect::KinectBody* KBodies); + /** Zero all bodies values. Used when disconnecting from the sensor */ + static void ResetBodies(); + + /** Enable/disable faces frame reading */ + static void SetUseFaceFrame(bool bUse = true); + /** Converts faces points transforms to Unreal coordinate space */ + static void ProcessFaces(const NeoKinect::KinectFace* KFaces); + /** Zero all faces values. Used when disconnecting from the sensor */ + static void ResetFaces(); + + UFUNCTION() + void BodyBeginTrackBroadcast(int32 BodyIndex); + UFUNCTION() + void BodyLostBroadcast(int32 BodyIndex); + UFUNCTION() + void FaceBeginTrackBroadcast(int32 FaceIndex); + UFUNCTION() + void FaceLostBroadcast(int32 FaceIndex); +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.Face.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.Face.h new file mode 100644 index 0000000..7e848b9 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.Face.h @@ -0,0 +1,3096 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.00.0595 */ +/* at Sun Oct 19 13:16:54 2014 + */ +/* Compiler settings for ..\..\idl\Kinect.Face.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0595 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __Kinect2EFace_h__ +#define __Kinect2EFace_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IFaceFrameSource_FWD_DEFINED__ +#define __IFaceFrameSource_FWD_DEFINED__ +typedef interface IFaceFrameSource IFaceFrameSource; + +#endif /* __IFaceFrameSource_FWD_DEFINED__ */ + + +#ifndef __IFaceFrameReader_FWD_DEFINED__ +#define __IFaceFrameReader_FWD_DEFINED__ +typedef interface IFaceFrameReader IFaceFrameReader; + +#endif /* __IFaceFrameReader_FWD_DEFINED__ */ + + +#ifndef __IFaceFrameReference_FWD_DEFINED__ +#define __IFaceFrameReference_FWD_DEFINED__ +typedef interface IFaceFrameReference IFaceFrameReference; + +#endif /* __IFaceFrameReference_FWD_DEFINED__ */ + + +#ifndef __IFaceFrameArrivedEventArgs_FWD_DEFINED__ +#define __IFaceFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IFaceFrameArrivedEventArgs IFaceFrameArrivedEventArgs; + +#endif /* __IFaceFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IFaceFrame_FWD_DEFINED__ +#define __IFaceFrame_FWD_DEFINED__ +typedef interface IFaceFrame IFaceFrame; + +#endif /* __IFaceFrame_FWD_DEFINED__ */ + + +#ifndef __IFaceFrameResult_FWD_DEFINED__ +#define __IFaceFrameResult_FWD_DEFINED__ +typedef interface IFaceFrameResult IFaceFrameResult; + +#endif /* __IFaceFrameResult_FWD_DEFINED__ */ + + +#ifndef __ITrackingIdLostEventArgs_FWD_DEFINED__ +#define __ITrackingIdLostEventArgs_FWD_DEFINED__ +typedef interface ITrackingIdLostEventArgs ITrackingIdLostEventArgs; + +#endif /* __ITrackingIdLostEventArgs_FWD_DEFINED__ */ + + +#ifndef __ICollectionStatusChangedEventArgs_FWD_DEFINED__ +#define __ICollectionStatusChangedEventArgs_FWD_DEFINED__ +typedef interface ICollectionStatusChangedEventArgs ICollectionStatusChangedEventArgs; + +#endif /* __ICollectionStatusChangedEventArgs_FWD_DEFINED__ */ + + +#ifndef __ICaptureStatusChangedEventArgs_FWD_DEFINED__ +#define __ICaptureStatusChangedEventArgs_FWD_DEFINED__ +typedef interface ICaptureStatusChangedEventArgs ICaptureStatusChangedEventArgs; + +#endif /* __ICaptureStatusChangedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IFaceAlignment_FWD_DEFINED__ +#define __IFaceAlignment_FWD_DEFINED__ +typedef interface IFaceAlignment IFaceAlignment; + +#endif /* __IFaceAlignment_FWD_DEFINED__ */ + + +#ifndef __IFaceModel_FWD_DEFINED__ +#define __IFaceModel_FWD_DEFINED__ +typedef interface IFaceModel IFaceModel; + +#endif /* __IFaceModel_FWD_DEFINED__ */ + + +#ifndef __IFaceModelBuilder_FWD_DEFINED__ +#define __IFaceModelBuilder_FWD_DEFINED__ +typedef interface IFaceModelBuilder IFaceModelBuilder; + +#endif /* __IFaceModelBuilder_FWD_DEFINED__ */ + + +#ifndef __IFaceModelData_FWD_DEFINED__ +#define __IFaceModelData_FWD_DEFINED__ +typedef interface IFaceModelData IFaceModelData; + +#endif /* __IFaceModelData_FWD_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameReference_FWD_DEFINED__ +#define __IHighDefinitionFaceFrameReference_FWD_DEFINED__ +typedef interface IHighDefinitionFaceFrameReference IHighDefinitionFaceFrameReference; + +#endif /* __IHighDefinitionFaceFrameReference_FWD_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameArrivedEventArgs_FWD_DEFINED__ +#define __IHighDefinitionFaceFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IHighDefinitionFaceFrameArrivedEventArgs IHighDefinitionFaceFrameArrivedEventArgs; + +#endif /* __IHighDefinitionFaceFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameSource_FWD_DEFINED__ +#define __IHighDefinitionFaceFrameSource_FWD_DEFINED__ +typedef interface IHighDefinitionFaceFrameSource IHighDefinitionFaceFrameSource; + +#endif /* __IHighDefinitionFaceFrameSource_FWD_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameReader_FWD_DEFINED__ +#define __IHighDefinitionFaceFrameReader_FWD_DEFINED__ +typedef interface IHighDefinitionFaceFrameReader IHighDefinitionFaceFrameReader; + +#endif /* __IHighDefinitionFaceFrameReader_FWD_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrame_FWD_DEFINED__ +#define __IHighDefinitionFaceFrame_FWD_DEFINED__ +typedef interface IHighDefinitionFaceFrame IHighDefinitionFaceFrame; + +#endif /* __IHighDefinitionFaceFrame_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "mmreg.h" +#include "Kinect.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_Kinect2EFace_0000_0000 */ +/* [local] */ + + +#ifndef _FacePointType_ +#define _FacePointType_ +typedef enum _FacePointType FacePointType; + + +enum _FacePointType + { + FacePointType_None = -1, + FacePointType_EyeLeft = 0, + FacePointType_EyeRight = 1, + FacePointType_Nose = 2, + FacePointType_MouthCornerLeft = 3, + FacePointType_MouthCornerRight = 4, + FacePointType_Count = ( FacePointType_MouthCornerRight + 1 ) + } ; +#endif // _FacePointType_ +#ifndef _FaceFrameFeatures_ +#define _FaceFrameFeatures_ +typedef enum _FaceFrameFeatures FaceFrameFeatures; + + +enum _FaceFrameFeatures + { + FaceFrameFeatures_None = 0, + FaceFrameFeatures_BoundingBoxInInfraredSpace = 0x1, + FaceFrameFeatures_PointsInInfraredSpace = 0x2, + FaceFrameFeatures_BoundingBoxInColorSpace = 0x4, + FaceFrameFeatures_PointsInColorSpace = 0x8, + FaceFrameFeatures_RotationOrientation = 0x10, + FaceFrameFeatures_Happy = 0x20, + FaceFrameFeatures_RightEyeClosed = 0x40, + FaceFrameFeatures_LeftEyeClosed = 0x80, + FaceFrameFeatures_MouthOpen = 0x100, + FaceFrameFeatures_MouthMoved = 0x200, + FaceFrameFeatures_LookingAway = 0x400, + FaceFrameFeatures_Glasses = 0x800, + FaceFrameFeatures_FaceEngagement = 0x1000 + } ; +#endif // _FaceFrameFeatures_ +#ifndef _FaceProperty_ +#define _FaceProperty_ +typedef enum _FaceProperty FaceProperty; + + +enum _FaceProperty + { + FaceProperty_Happy = 0, + FaceProperty_Engaged = 1, + FaceProperty_WearingGlasses = 2, + FaceProperty_LeftEyeClosed = 3, + FaceProperty_RightEyeClosed = 4, + FaceProperty_MouthOpen = 5, + FaceProperty_MouthMoved = 6, + FaceProperty_LookingAway = 7, + FaceProperty_Count = ( FaceProperty_LookingAway + 1 ) + } ; +#endif // _FaceProperty_ +#ifndef _HighDetailFacePoints_ +#define _HighDetailFacePoints_ +typedef enum _HighDetailFacePoints HighDetailFacePoints; + + +enum _HighDetailFacePoints + { + HighDetailFacePoints_LefteyeInnercorner = 210, + HighDetailFacePoints_LefteyeOutercorner = 469, + HighDetailFacePoints_LefteyeMidtop = 241, + HighDetailFacePoints_LefteyeMidbottom = 1104, + HighDetailFacePoints_RighteyeInnercorner = 843, + HighDetailFacePoints_RighteyeOutercorner = 1117, + HighDetailFacePoints_RighteyeMidtop = 731, + HighDetailFacePoints_RighteyeMidbottom = 1090, + HighDetailFacePoints_LefteyebrowInner = 346, + HighDetailFacePoints_LefteyebrowOuter = 140, + HighDetailFacePoints_LefteyebrowCenter = 222, + HighDetailFacePoints_RighteyebrowInner = 803, + HighDetailFacePoints_RighteyebrowOuter = 758, + HighDetailFacePoints_RighteyebrowCenter = 849, + HighDetailFacePoints_MouthLeftcorner = 91, + HighDetailFacePoints_MouthRightcorner = 687, + HighDetailFacePoints_MouthUpperlipMidtop = 19, + HighDetailFacePoints_MouthUpperlipMidbottom = 1072, + HighDetailFacePoints_MouthLowerlipMidtop = 10, + HighDetailFacePoints_MouthLowerlipMidbottom = 8, + HighDetailFacePoints_NoseTip = 18, + HighDetailFacePoints_NoseBottom = 14, + HighDetailFacePoints_NoseBottomleft = 156, + HighDetailFacePoints_NoseBottomright = 783, + HighDetailFacePoints_NoseTop = 24, + HighDetailFacePoints_NoseTopleft = 151, + HighDetailFacePoints_NoseTopright = 772, + HighDetailFacePoints_ForeheadCenter = 28, + HighDetailFacePoints_LeftcheekCenter = 412, + HighDetailFacePoints_RightcheekCenter = 933, + HighDetailFacePoints_Leftcheekbone = 458, + HighDetailFacePoints_Rightcheekbone = 674, + HighDetailFacePoints_ChinCenter = 4, + HighDetailFacePoints_LowerjawLeftend = 1307, + HighDetailFacePoints_LowerjawRightend = 1327 + } ; +#endif // _HighDetailFacePoints_ +#ifndef _FaceShapeAnimations_ +#define _FaceShapeAnimations_ +typedef enum _FaceShapeAnimations FaceShapeAnimations; + + +enum _FaceShapeAnimations + { + FaceShapeAnimations_JawOpen = 0, + FaceShapeAnimations_LipPucker = 1, + FaceShapeAnimations_JawSlideRight = 2, + FaceShapeAnimations_LipStretcherRight = 3, + FaceShapeAnimations_LipStretcherLeft = 4, + FaceShapeAnimations_LipCornerPullerLeft = 5, + FaceShapeAnimations_LipCornerPullerRight = 6, + FaceShapeAnimations_LipCornerDepressorLeft = 7, + FaceShapeAnimations_LipCornerDepressorRight = 8, + FaceShapeAnimations_LeftcheekPuff = 9, + FaceShapeAnimations_RightcheekPuff = 10, + FaceShapeAnimations_LefteyeClosed = 11, + FaceShapeAnimations_RighteyeClosed = 12, + FaceShapeAnimations_RighteyebrowLowerer = 13, + FaceShapeAnimations_LefteyebrowLowerer = 14, + FaceShapeAnimations_LowerlipDepressorLeft = 15, + FaceShapeAnimations_LowerlipDepressorRight = 16, + FaceShapeAnimations_Count = ( FaceShapeAnimations_LowerlipDepressorRight + 1 ) + } ; +#endif // _FaceShapeAnimations_ +#ifndef _FaceShapeDeformations_ +#define _FaceShapeDeformations_ +typedef enum _FaceShapeDeformations FaceShapeDeformations; + + +enum _FaceShapeDeformations + { + FaceShapeDeformations_PCA01 = 0, + FaceShapeDeformations_PCA02 = 1, + FaceShapeDeformations_PCA03 = 2, + FaceShapeDeformations_PCA04 = 3, + FaceShapeDeformations_PCA05 = 4, + FaceShapeDeformations_PCA06 = 5, + FaceShapeDeformations_PCA07 = 6, + FaceShapeDeformations_PCA08 = 7, + FaceShapeDeformations_PCA09 = 8, + FaceShapeDeformations_PCA10 = 9, + FaceShapeDeformations_Chin03 = 10, + FaceShapeDeformations_Forehead00 = 11, + FaceShapeDeformations_Cheeks02 = 12, + FaceShapeDeformations_Cheeks01 = 13, + FaceShapeDeformations_MouthBag01 = 14, + FaceShapeDeformations_MouthBag02 = 15, + FaceShapeDeformations_Eyes02 = 16, + FaceShapeDeformations_MouthBag03 = 17, + FaceShapeDeformations_Forehead04 = 18, + FaceShapeDeformations_Nose00 = 19, + FaceShapeDeformations_Nose01 = 20, + FaceShapeDeformations_Nose02 = 21, + FaceShapeDeformations_MouthBag06 = 22, + FaceShapeDeformations_MouthBag05 = 23, + FaceShapeDeformations_Cheeks00 = 24, + FaceShapeDeformations_Mask03 = 25, + FaceShapeDeformations_Eyes03 = 26, + FaceShapeDeformations_Nose03 = 27, + FaceShapeDeformations_Eyes08 = 28, + FaceShapeDeformations_MouthBag07 = 29, + FaceShapeDeformations_Eyes00 = 30, + FaceShapeDeformations_Nose04 = 31, + FaceShapeDeformations_Mask04 = 32, + FaceShapeDeformations_Chin04 = 33, + FaceShapeDeformations_Forehead05 = 34, + FaceShapeDeformations_Eyes06 = 35, + FaceShapeDeformations_Eyes11 = 36, + FaceShapeDeformations_Nose05 = 37, + FaceShapeDeformations_Mouth07 = 38, + FaceShapeDeformations_Cheeks08 = 39, + FaceShapeDeformations_Eyes09 = 40, + FaceShapeDeformations_Mask10 = 41, + FaceShapeDeformations_Mouth09 = 42, + FaceShapeDeformations_Nose07 = 43, + FaceShapeDeformations_Nose08 = 44, + FaceShapeDeformations_Cheeks07 = 45, + FaceShapeDeformations_Mask07 = 46, + FaceShapeDeformations_MouthBag09 = 47, + FaceShapeDeformations_Nose06 = 48, + FaceShapeDeformations_Chin02 = 49, + FaceShapeDeformations_Eyes07 = 50, + FaceShapeDeformations_Cheeks10 = 51, + FaceShapeDeformations_Rim20 = 52, + FaceShapeDeformations_Mask22 = 53, + FaceShapeDeformations_MouthBag15 = 54, + FaceShapeDeformations_Chin01 = 55, + FaceShapeDeformations_Cheeks04 = 56, + FaceShapeDeformations_Eyes17 = 57, + FaceShapeDeformations_Cheeks13 = 58, + FaceShapeDeformations_Mouth02 = 59, + FaceShapeDeformations_MouthBag12 = 60, + FaceShapeDeformations_Mask19 = 61, + FaceShapeDeformations_Mask20 = 62, + FaceShapeDeformations_Forehead06 = 63, + FaceShapeDeformations_Mouth13 = 64, + FaceShapeDeformations_Mask25 = 65, + FaceShapeDeformations_Chin05 = 66, + FaceShapeDeformations_Cheeks20 = 67, + FaceShapeDeformations_Nose09 = 68, + FaceShapeDeformations_Nose10 = 69, + FaceShapeDeformations_MouthBag27 = 70, + FaceShapeDeformations_Mouth11 = 71, + FaceShapeDeformations_Cheeks14 = 72, + FaceShapeDeformations_Eyes16 = 73, + FaceShapeDeformations_Mask29 = 74, + FaceShapeDeformations_Nose15 = 75, + FaceShapeDeformations_Cheeks11 = 76, + FaceShapeDeformations_Mouth16 = 77, + FaceShapeDeformations_Eyes19 = 78, + FaceShapeDeformations_Mouth17 = 79, + FaceShapeDeformations_MouthBag36 = 80, + FaceShapeDeformations_Mouth15 = 81, + FaceShapeDeformations_Cheeks25 = 82, + FaceShapeDeformations_Cheeks16 = 83, + FaceShapeDeformations_Cheeks18 = 84, + FaceShapeDeformations_Rim07 = 85, + FaceShapeDeformations_Nose13 = 86, + FaceShapeDeformations_Mouth18 = 87, + FaceShapeDeformations_Cheeks19 = 88, + FaceShapeDeformations_Rim21 = 89, + FaceShapeDeformations_Mouth22 = 90, + FaceShapeDeformations_Nose18 = 91, + FaceShapeDeformations_Nose16 = 92, + FaceShapeDeformations_Rim22 = 93, + FaceShapeDeformations_Count = ( FaceShapeDeformations_Rim22 + 1 ) + } ; +#endif // _FaceShapeDeformations_ +#ifndef _FaceAlignmentQuality_ +#define _FaceAlignmentQuality_ +typedef enum _FaceAlignmentQuality FaceAlignmentQuality; + + +enum _FaceAlignmentQuality + { + FaceAlignmentQuality_High = 0, + FaceAlignmentQuality_Low = 1 + } ; +#endif // _FaceAlignmentQuality_ +#ifndef _FaceModelBuilderCollectionStatus_ +#define _FaceModelBuilderCollectionStatus_ +typedef enum _FaceModelBuilderCollectionStatus FaceModelBuilderCollectionStatus; + + +enum _FaceModelBuilderCollectionStatus + { + FaceModelBuilderCollectionStatus_Complete = 0, + FaceModelBuilderCollectionStatus_MoreFramesNeeded = 0x1, + FaceModelBuilderCollectionStatus_FrontViewFramesNeeded = 0x2, + FaceModelBuilderCollectionStatus_LeftViewsNeeded = 0x4, + FaceModelBuilderCollectionStatus_RightViewsNeeded = 0x8, + FaceModelBuilderCollectionStatus_TiltedUpViewsNeeded = 0x10 + } ; +#endif // _FaceModelBuilderCollectionStatus_ +#ifndef _FaceModelBuilderCaptureStatus_ +#define _FaceModelBuilderCaptureStatus_ +typedef enum _FaceModelBuilderCaptureStatus FaceModelBuilderCaptureStatus; + + +enum _FaceModelBuilderCaptureStatus + { + FaceModelBuilderCaptureStatus_GoodFrameCapture = 0, + FaceModelBuilderCaptureStatus_OtherViewsNeeded = 1, + FaceModelBuilderCaptureStatus_LostFaceTrack = 2, + FaceModelBuilderCaptureStatus_FaceTooFar = 3, + FaceModelBuilderCaptureStatus_FaceTooNear = 4, + FaceModelBuilderCaptureStatus_MovingTooFast = 5, + FaceModelBuilderCaptureStatus_SystemError = 6 + } ; +#endif // _FaceModelBuilderCaptureStatus_ +#ifndef _FaceModelBuilderAttributes_ +#define _FaceModelBuilderAttributes_ +typedef enum _FaceModelBuilderAttributes FaceModelBuilderAttributes; + + +enum _FaceModelBuilderAttributes + { + FaceModelBuilderAttributes_None = 0, + FaceModelBuilderAttributes_SkinColor = 0x1, + FaceModelBuilderAttributes_HairColor = 0x2 + } ; +#endif // _FaceModelBuilderAttributes_ +#ifndef _RectI_ +#define _RectI_ +typedef struct _RectI + { + INT32 Left; + INT32 Top; + INT32 Right; + INT32 Bottom; + } RectI; + +#endif // _RectI_ + + + + + + + + + + + + + + + + + + + + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EFace_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EFace_0000_0000_v0_0_s_ifspec; + +#ifndef __IFaceFrameSource_INTERFACE_DEFINED__ +#define __IFaceFrameSource_INTERFACE_DEFINED__ + +/* interface IFaceFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3A348391-43AD-F7D8-437D-D790FA5833DE") + IFaceFrameSource : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubscribeTrackingIdLost( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeTrackingIdLost( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTrackingIdLostEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ITrackingIdLostEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TrackingId( + /* [annotation][in] */ + _In_ const UINT64 trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTrackingIdValid( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceFrameFeatures( + /* [annotation][out][retval] */ + _Out_ DWORD *faceFrameFeatures) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FaceFrameFeatures( + /* [annotation][in] */ + _In_ const DWORD faceFrameFeatures) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrameSource * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + HRESULT ( STDMETHODCALLTYPE *SubscribeTrackingIdLost )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeTrackingIdLost )( + IFaceFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetTrackingIdLostEventData )( + IFaceFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ITrackingIdLostEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackingId )( + IFaceFrameSource * This, + /* [annotation][in] */ + _In_ const UINT64 trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTrackingIdValid )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceFrameFeatures )( + IFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ DWORD *faceFrameFeatures); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FaceFrameFeatures )( + IFaceFrameSource * This, + /* [annotation][in] */ + _In_ const DWORD faceFrameFeatures); + + END_INTERFACE + } IFaceFrameSourceVtbl; + + interface IFaceFrameSource + { + CONST_VTBL struct IFaceFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IFaceFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IFaceFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#define IFaceFrameSource_SubscribeTrackingIdLost(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeTrackingIdLost(This,waitableHandle) ) + +#define IFaceFrameSource_UnsubscribeTrackingIdLost(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeTrackingIdLost(This,waitableHandle) ) + +#define IFaceFrameSource_GetTrackingIdLostEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetTrackingIdLostEventData(This,waitableHandle,eventData) ) + +#define IFaceFrameSource_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IFaceFrameSource_put_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> put_TrackingId(This,trackingId) ) + +#define IFaceFrameSource_get_IsTrackingIdValid(This,isTrackingIdValid) \ + ( (This)->lpVtbl -> get_IsTrackingIdValid(This,isTrackingIdValid) ) + +#define IFaceFrameSource_get_FaceFrameFeatures(This,faceFrameFeatures) \ + ( (This)->lpVtbl -> get_FaceFrameFeatures(This,faceFrameFeatures) ) + +#define IFaceFrameSource_put_FaceFrameFeatures(This,faceFrameFeatures) \ + ( (This)->lpVtbl -> put_FaceFrameFeatures(This,faceFrameFeatures) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceFrameReader_INTERFACE_DEFINED__ +#define __IFaceFrameReader_INTERFACE_DEFINED__ + +/* interface IFaceFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("AD0D735F-4E42-82BB-5C03-1BBE5E24CB19") + IFaceFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFaceFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrame **faceFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameSource **faceFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IFaceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IFaceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IFaceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFaceFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IFaceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrame **faceFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IFaceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IFaceFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceFrameSource )( + IFaceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameSource **faceFrameSource); + + END_INTERFACE + } IFaceFrameReaderVtbl; + + interface IFaceFrameReader + { + CONST_VTBL struct IFaceFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IFaceFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IFaceFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IFaceFrameReader_AcquireLatestFrame(This,faceFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,faceFrame) ) + +#define IFaceFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IFaceFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IFaceFrameReader_get_FaceFrameSource(This,faceFrameSource) \ + ( (This)->lpVtbl -> get_FaceFrameSource(This,faceFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceFrameReference_INTERFACE_DEFINED__ +#define __IFaceFrameReference_INTERFACE_DEFINED__ + +/* interface IFaceFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("78E06811-4C53-A4BD-4CE7-8C995CAD882F") + IFaceFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrame **faceFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IFaceFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrame **faceFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IFaceFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IFaceFrameReferenceVtbl; + + interface IFaceFrameReference + { + CONST_VTBL struct IFaceFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrameReference_AcquireFrame(This,faceFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,faceFrame) ) + +#define IFaceFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IFaceFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C270AC82-4C03-3BC6-F13E-E680AE7964DA") + IFaceFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameReference **faceFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IFaceFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameReference **faceFrameReference); + + END_INTERFACE + } IFaceFrameArrivedEventArgsVtbl; + + interface IFaceFrameArrivedEventArgs + { + CONST_VTBL struct IFaceFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrameArrivedEventArgs_get_FrameReference(This,faceFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,faceFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceFrame_INTERFACE_DEFINED__ +#define __IFaceFrame_INTERFACE_DEFINED__ + +/* interface IFaceFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5A59B4D1-489E-7211-9676-44AF6E22E247") + IFaceFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceFrameResult( + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrameResult **faceFrameResult) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTrackingIdValid( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameSource **faceFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceFrameResult )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceFrameResult **faceFrameResult); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTrackingIdValid )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceFrameSource )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceFrameSource **faceFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameReference )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameReference )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameReference )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameReference )( + IFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference); + + END_INTERFACE + } IFaceFrameVtbl; + + interface IFaceFrame + { + CONST_VTBL struct IFaceFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrame_get_FaceFrameResult(This,faceFrameResult) \ + ( (This)->lpVtbl -> get_FaceFrameResult(This,faceFrameResult) ) + +#define IFaceFrame_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IFaceFrame_get_IsTrackingIdValid(This,isTrackingIdValid) \ + ( (This)->lpVtbl -> get_IsTrackingIdValid(This,isTrackingIdValid) ) + +#define IFaceFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IFaceFrame_get_FaceFrameSource(This,faceFrameSource) \ + ( (This)->lpVtbl -> get_FaceFrameSource(This,faceFrameSource) ) + +#define IFaceFrame_get_BodyFrameReference(This,bodyFrameReference) \ + ( (This)->lpVtbl -> get_BodyFrameReference(This,bodyFrameReference) ) + +#define IFaceFrame_get_ColorFrameReference(This,colorFrameReference) \ + ( (This)->lpVtbl -> get_ColorFrameReference(This,colorFrameReference) ) + +#define IFaceFrame_get_DepthFrameReference(This,depthFrameReference) \ + ( (This)->lpVtbl -> get_DepthFrameReference(This,depthFrameReference) ) + +#define IFaceFrame_get_InfraredFrameReference(This,infraredFrameReference) \ + ( (This)->lpVtbl -> get_InfraredFrameReference(This,infraredFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceFrameResult_INTERFACE_DEFINED__ +#define __IFaceFrameResult_INTERFACE_DEFINED__ + +/* interface IFaceFrameResult */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceFrameResult; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8873C3F1-445F-BD37-404C-ED92C2906523") + IFaceFrameResult : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceFrameFeatures( + /* [annotation][out][retval] */ + _Out_ DWORD *faceFrameFeatures) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceRotationQuaternion( + /* [annotation][out][retval] */ + _Out_ Vector4 *rotationQuaternion) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceBoundingBoxInColorSpace( + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceBoundingBoxInInfraredSpace( + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFacePointsInColorSpace( + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) PointF *facePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFacePointsInInfraredSpace( + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) PointF *facePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFaceProperties( + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceFrameResultVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceFrameResult * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceFrameResult * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceFrameResult * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceFrameFeatures )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ DWORD *faceFrameFeatures); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceRotationQuaternion )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ Vector4 *rotationQuaternion); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceBoundingBoxInColorSpace )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceBoundingBoxInInfraredSpace )( + IFaceFrameResult * This, + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox); + + HRESULT ( STDMETHODCALLTYPE *GetFacePointsInColorSpace )( + IFaceFrameResult * This, + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) PointF *facePoints); + + HRESULT ( STDMETHODCALLTYPE *GetFacePointsInInfraredSpace )( + IFaceFrameResult * This, + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) PointF *facePoints); + + HRESULT ( STDMETHODCALLTYPE *GetFaceProperties )( + IFaceFrameResult * This, + /* [annotation][in][annotation] */ + _In_ const UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults); + + END_INTERFACE + } IFaceFrameResultVtbl; + + interface IFaceFrameResult + { + CONST_VTBL struct IFaceFrameResultVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceFrameResult_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceFrameResult_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceFrameResult_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceFrameResult_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IFaceFrameResult_get_FaceFrameFeatures(This,faceFrameFeatures) \ + ( (This)->lpVtbl -> get_FaceFrameFeatures(This,faceFrameFeatures) ) + +#define IFaceFrameResult_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IFaceFrameResult_get_FaceRotationQuaternion(This,rotationQuaternion) \ + ( (This)->lpVtbl -> get_FaceRotationQuaternion(This,rotationQuaternion) ) + +#define IFaceFrameResult_get_FaceBoundingBoxInColorSpace(This,boundingBox) \ + ( (This)->lpVtbl -> get_FaceBoundingBoxInColorSpace(This,boundingBox) ) + +#define IFaceFrameResult_get_FaceBoundingBoxInInfraredSpace(This,boundingBox) \ + ( (This)->lpVtbl -> get_FaceBoundingBoxInInfraredSpace(This,boundingBox) ) + +#define IFaceFrameResult_GetFacePointsInColorSpace(This,capacity,facePoints) \ + ( (This)->lpVtbl -> GetFacePointsInColorSpace(This,capacity,facePoints) ) + +#define IFaceFrameResult_GetFacePointsInInfraredSpace(This,capacity,facePoints) \ + ( (This)->lpVtbl -> GetFacePointsInInfraredSpace(This,capacity,facePoints) ) + +#define IFaceFrameResult_GetFaceProperties(This,capacity,detectionResults) \ + ( (This)->lpVtbl -> GetFaceProperties(This,capacity,detectionResults) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceFrameResult_INTERFACE_DEFINED__ */ + + +#ifndef __ITrackingIdLostEventArgs_INTERFACE_DEFINED__ +#define __ITrackingIdLostEventArgs_INTERFACE_DEFINED__ + +/* interface ITrackingIdLostEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ITrackingIdLostEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1EFE99CA-4356-FED8-D564-BDA0CB6F15C4") + ITrackingIdLostEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ITrackingIdLostEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ITrackingIdLostEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ITrackingIdLostEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ITrackingIdLostEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + ITrackingIdLostEventArgs * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + END_INTERFACE + } ITrackingIdLostEventArgsVtbl; + + interface ITrackingIdLostEventArgs + { + CONST_VTBL struct ITrackingIdLostEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ITrackingIdLostEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ITrackingIdLostEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ITrackingIdLostEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ITrackingIdLostEventArgs_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ITrackingIdLostEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __ICollectionStatusChangedEventArgs_INTERFACE_DEFINED__ +#define __ICollectionStatusChangedEventArgs_INTERFACE_DEFINED__ + +/* interface ICollectionStatusChangedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ICollectionStatusChangedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("B48D57AD-A414-4542-BE89-C4898816A678") + ICollectionStatusChangedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PreviousCollectionStatus( + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCollectionStatus *pCollectionStatus) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICollectionStatusChangedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICollectionStatusChangedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICollectionStatusChangedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICollectionStatusChangedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreviousCollectionStatus )( + ICollectionStatusChangedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCollectionStatus *pCollectionStatus); + + END_INTERFACE + } ICollectionStatusChangedEventArgsVtbl; + + interface ICollectionStatusChangedEventArgs + { + CONST_VTBL struct ICollectionStatusChangedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICollectionStatusChangedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICollectionStatusChangedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICollectionStatusChangedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICollectionStatusChangedEventArgs_get_PreviousCollectionStatus(This,pCollectionStatus) \ + ( (This)->lpVtbl -> get_PreviousCollectionStatus(This,pCollectionStatus) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICollectionStatusChangedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __ICaptureStatusChangedEventArgs_INTERFACE_DEFINED__ +#define __ICaptureStatusChangedEventArgs_INTERFACE_DEFINED__ + +/* interface ICaptureStatusChangedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ICaptureStatusChangedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BD8BA0B8-6CD5-4051-9246-01A15D023BA9") + ICaptureStatusChangedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PreviousCaptureStatus( + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCaptureStatus *pCaptureStatus) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICaptureStatusChangedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICaptureStatusChangedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICaptureStatusChangedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICaptureStatusChangedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreviousCaptureStatus )( + ICaptureStatusChangedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCaptureStatus *pCaptureStatus); + + END_INTERFACE + } ICaptureStatusChangedEventArgsVtbl; + + interface ICaptureStatusChangedEventArgs + { + CONST_VTBL struct ICaptureStatusChangedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICaptureStatusChangedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICaptureStatusChangedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICaptureStatusChangedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICaptureStatusChangedEventArgs_get_PreviousCaptureStatus(This,pCaptureStatus) \ + ( (This)->lpVtbl -> get_PreviousCaptureStatus(This,pCaptureStatus) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICaptureStatusChangedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceAlignment_INTERFACE_DEFINED__ +#define __IFaceAlignment_INTERFACE_DEFINED__ + +/* interface IFaceAlignment */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceAlignment; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("38DFFDE8-2C4D-476D-B1DF-43EF4529F2AF") + IFaceAlignment : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceOrientation( + /* [annotation][out][retval] */ + _Out_ Vector4 *faceOrientation) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FaceOrientation( + Vector4 faceOrientation) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HeadPivotPoint( + /* [annotation][out][retval] */ + _Out_ CameraSpacePoint *headPivotPoint) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HeadPivotPoint( + CameraSpacePoint headPivotPoint) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceBoundingBox( + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAnimationUnits( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) float *animationUnits) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Quality( + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *quality) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceAlignmentVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceAlignment * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceAlignment * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceAlignment * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceOrientation )( + IFaceAlignment * This, + /* [annotation][out][retval] */ + _Out_ Vector4 *faceOrientation); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FaceOrientation )( + IFaceAlignment * This, + Vector4 faceOrientation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeadPivotPoint )( + IFaceAlignment * This, + /* [annotation][out][retval] */ + _Out_ CameraSpacePoint *headPivotPoint); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeadPivotPoint )( + IFaceAlignment * This, + CameraSpacePoint headPivotPoint); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceBoundingBox )( + IFaceAlignment * This, + /* [annotation][out][retval] */ + _Out_ RectI *boundingBox); + + HRESULT ( STDMETHODCALLTYPE *GetAnimationUnits )( + IFaceAlignment * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) float *animationUnits); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Quality )( + IFaceAlignment * This, + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *quality); + + END_INTERFACE + } IFaceAlignmentVtbl; + + interface IFaceAlignment + { + CONST_VTBL struct IFaceAlignmentVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceAlignment_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceAlignment_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceAlignment_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceAlignment_get_FaceOrientation(This,faceOrientation) \ + ( (This)->lpVtbl -> get_FaceOrientation(This,faceOrientation) ) + +#define IFaceAlignment_put_FaceOrientation(This,faceOrientation) \ + ( (This)->lpVtbl -> put_FaceOrientation(This,faceOrientation) ) + +#define IFaceAlignment_get_HeadPivotPoint(This,headPivotPoint) \ + ( (This)->lpVtbl -> get_HeadPivotPoint(This,headPivotPoint) ) + +#define IFaceAlignment_put_HeadPivotPoint(This,headPivotPoint) \ + ( (This)->lpVtbl -> put_HeadPivotPoint(This,headPivotPoint) ) + +#define IFaceAlignment_get_FaceBoundingBox(This,boundingBox) \ + ( (This)->lpVtbl -> get_FaceBoundingBox(This,boundingBox) ) + +#define IFaceAlignment_GetAnimationUnits(This,capacity,animationUnits) \ + ( (This)->lpVtbl -> GetAnimationUnits(This,capacity,animationUnits) ) + +#define IFaceAlignment_get_Quality(This,quality) \ + ( (This)->lpVtbl -> get_Quality(This,quality) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceAlignment_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceModel_INTERFACE_DEFINED__ +#define __IFaceModel_INTERFACE_DEFINED__ + +/* interface IFaceModel */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceModel; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7B28C340-B6D0-44AC-8CF0-2D3F568C7D7E") + IFaceModel : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Scale( + /* [annotation][out][retval] */ + _Out_ float *scale) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SkinColor( + /* [annotation][out][retval] */ + _Out_ UINT32 *skinColor) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HairColor( + /* [annotation][out][retval] */ + _Out_ UINT32 *hairColor) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFaceShapeDeformations( + UINT32 capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) float *faceShapeDeformations) = 0; + + virtual HRESULT STDMETHODCALLTYPE CalculateVerticesForAlignment( + /* [annotation][in] */ + _In_ IFaceAlignment *faceAlignment, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) CameraSpacePoint *vertices) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceModelVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceModel * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceModel * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceModel * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scale )( + IFaceModel * This, + /* [annotation][out][retval] */ + _Out_ float *scale); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SkinColor )( + IFaceModel * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *skinColor); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HairColor )( + IFaceModel * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *hairColor); + + HRESULT ( STDMETHODCALLTYPE *GetFaceShapeDeformations )( + IFaceModel * This, + UINT32 capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) float *faceShapeDeformations); + + HRESULT ( STDMETHODCALLTYPE *CalculateVerticesForAlignment )( + IFaceModel * This, + /* [annotation][in] */ + _In_ IFaceAlignment *faceAlignment, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) CameraSpacePoint *vertices); + + END_INTERFACE + } IFaceModelVtbl; + + interface IFaceModel + { + CONST_VTBL struct IFaceModelVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceModel_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceModel_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceModel_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceModel_get_Scale(This,scale) \ + ( (This)->lpVtbl -> get_Scale(This,scale) ) + +#define IFaceModel_get_SkinColor(This,skinColor) \ + ( (This)->lpVtbl -> get_SkinColor(This,skinColor) ) + +#define IFaceModel_get_HairColor(This,hairColor) \ + ( (This)->lpVtbl -> get_HairColor(This,hairColor) ) + +#define IFaceModel_GetFaceShapeDeformations(This,capacity,faceShapeDeformations) \ + ( (This)->lpVtbl -> GetFaceShapeDeformations(This,capacity,faceShapeDeformations) ) + +#define IFaceModel_CalculateVerticesForAlignment(This,faceAlignment,capacity,vertices) \ + ( (This)->lpVtbl -> CalculateVerticesForAlignment(This,faceAlignment,capacity,vertices) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceModel_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceModelBuilder_INTERFACE_DEFINED__ +#define __IFaceModelBuilder_INTERFACE_DEFINED__ + +/* interface IFaceModelBuilder */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceModelBuilder; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BD92A663-1D1E-4CCF-B202-66DD49834BBE") + IFaceModelBuilder : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeCollectionStatusChanged( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeCollectionStatusChanged( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCollectionStatusChangedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICollectionStatusChangedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubscribeCaptureStatusChanged( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeCaptureStatusChanged( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCaptureStatusChangedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICaptureStatusChangedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CollectionStatus( + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCollectionStatus *currrentCollectionStatus) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CaptureStatus( + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCaptureStatus *currentCaptureStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginFaceDataCollection( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFaceData( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModelData **faceModelData) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceModelBuilderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceModelBuilder * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceModelBuilder * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceModelBuilder * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeCollectionStatusChanged )( + IFaceModelBuilder * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeCollectionStatusChanged )( + IFaceModelBuilder * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetCollectionStatusChangedEventData )( + IFaceModelBuilder * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICollectionStatusChangedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *SubscribeCaptureStatusChanged )( + IFaceModelBuilder * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeCaptureStatusChanged )( + IFaceModelBuilder * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetCaptureStatusChangedEventData )( + IFaceModelBuilder * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICaptureStatusChangedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CollectionStatus )( + IFaceModelBuilder * This, + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCollectionStatus *currrentCollectionStatus); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CaptureStatus )( + IFaceModelBuilder * This, + /* [annotation][out][retval] */ + _Out_ FaceModelBuilderCaptureStatus *currentCaptureStatus); + + HRESULT ( STDMETHODCALLTYPE *BeginFaceDataCollection )( + IFaceModelBuilder * This); + + HRESULT ( STDMETHODCALLTYPE *GetFaceData )( + IFaceModelBuilder * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModelData **faceModelData); + + END_INTERFACE + } IFaceModelBuilderVtbl; + + interface IFaceModelBuilder + { + CONST_VTBL struct IFaceModelBuilderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceModelBuilder_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceModelBuilder_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceModelBuilder_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceModelBuilder_SubscribeCollectionStatusChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeCollectionStatusChanged(This,waitableHandle) ) + +#define IFaceModelBuilder_UnsubscribeCollectionStatusChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeCollectionStatusChanged(This,waitableHandle) ) + +#define IFaceModelBuilder_GetCollectionStatusChangedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetCollectionStatusChangedEventData(This,waitableHandle,eventData) ) + +#define IFaceModelBuilder_SubscribeCaptureStatusChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeCaptureStatusChanged(This,waitableHandle) ) + +#define IFaceModelBuilder_UnsubscribeCaptureStatusChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeCaptureStatusChanged(This,waitableHandle) ) + +#define IFaceModelBuilder_GetCaptureStatusChangedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetCaptureStatusChangedEventData(This,waitableHandle,eventData) ) + +#define IFaceModelBuilder_get_CollectionStatus(This,currrentCollectionStatus) \ + ( (This)->lpVtbl -> get_CollectionStatus(This,currrentCollectionStatus) ) + +#define IFaceModelBuilder_get_CaptureStatus(This,currentCaptureStatus) \ + ( (This)->lpVtbl -> get_CaptureStatus(This,currentCaptureStatus) ) + +#define IFaceModelBuilder_BeginFaceDataCollection(This) \ + ( (This)->lpVtbl -> BeginFaceDataCollection(This) ) + +#define IFaceModelBuilder_GetFaceData(This,faceModelData) \ + ( (This)->lpVtbl -> GetFaceData(This,faceModelData) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceModelBuilder_INTERFACE_DEFINED__ */ + + +#ifndef __IFaceModelData_INTERFACE_DEFINED__ +#define __IFaceModelData_INTERFACE_DEFINED__ + +/* interface IFaceModelData */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFaceModelData; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("ABD8D92D-E579-466E-BD9E-232E0134BCE0") + IFaceModelData : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE ProduceFaceModel( + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceModel **faceModel) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFaceModelDataVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFaceModelData * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFaceModelData * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFaceModelData * This); + + HRESULT ( STDMETHODCALLTYPE *ProduceFaceModel )( + IFaceModelData * This, + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceModel **faceModel); + + END_INTERFACE + } IFaceModelDataVtbl; + + interface IFaceModelData + { + CONST_VTBL struct IFaceModelDataVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFaceModelData_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFaceModelData_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFaceModelData_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFaceModelData_ProduceFaceModel(This,faceModel) \ + ( (This)->lpVtbl -> ProduceFaceModel(This,faceModel) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFaceModelData_INTERFACE_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameReference_INTERFACE_DEFINED__ +#define __IHighDefinitionFaceFrameReference_INTERFACE_DEFINED__ + +/* interface IHighDefinitionFaceFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IHighDefinitionFaceFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("16806807-70B9-4D0C-A74B-E807783969C3") + IHighDefinitionFaceFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrame **highDefinitonFaceFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IHighDefinitionFaceFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IHighDefinitionFaceFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IHighDefinitionFaceFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IHighDefinitionFaceFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IHighDefinitionFaceFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrame **highDefinitonFaceFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IHighDefinitionFaceFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IHighDefinitionFaceFrameReferenceVtbl; + + interface IHighDefinitionFaceFrameReference + { + CONST_VTBL struct IHighDefinitionFaceFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IHighDefinitionFaceFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IHighDefinitionFaceFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IHighDefinitionFaceFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IHighDefinitionFaceFrameReference_AcquireFrame(This,highDefinitonFaceFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,highDefinitonFaceFrame) ) + +#define IHighDefinitionFaceFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IHighDefinitionFaceFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IHighDefinitionFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IHighDefinitionFaceFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IHighDefinitionFaceFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9B0BAB99-4EC6-4CAB-83F4-3A3C9D864333") + IHighDefinitionFaceFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameReference **highDefinitonFaceFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IHighDefinitionFaceFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IHighDefinitionFaceFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IHighDefinitionFaceFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IHighDefinitionFaceFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IHighDefinitionFaceFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameReference **highDefinitonFaceFrameReference); + + END_INTERFACE + } IHighDefinitionFaceFrameArrivedEventArgsVtbl; + + interface IHighDefinitionFaceFrameArrivedEventArgs + { + CONST_VTBL struct IHighDefinitionFaceFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IHighDefinitionFaceFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IHighDefinitionFaceFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IHighDefinitionFaceFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IHighDefinitionFaceFrameArrivedEventArgs_get_FrameReference(This,highDefinitonFaceFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,highDefinitonFaceFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IHighDefinitionFaceFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameSource_INTERFACE_DEFINED__ +#define __IHighDefinitionFaceFrameSource_INTERFACE_DEFINED__ + +/* interface IHighDefinitionFaceFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IHighDefinitionFaceFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E6F33685-BEFC-48CA-B81A-B6A8A79C32FE") + IHighDefinitionFaceFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeTrackingIdLost( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeTrackingIdLost( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTrackingIdLostEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ITrackingIdLostEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsOnline( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isOnline) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsOnline( + BOOLEAN isOnline) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TrackingId( + UINT64 trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTrackingIdValid( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingQuality( + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *trackingQuality) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TrackingQuality( + FaceAlignmentQuality trackingQuality) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceModel( + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModel **faceModel) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FaceModel( + /* [annotation][in] */ + _In_ IFaceModel *faceModel) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameReader **reader) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenModelBuilder( + FaceModelBuilderAttributes enabledAttributes, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModelBuilder **modelbuilder) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + virtual HRESULT STDMETHODCALLTYPE FeedAndCalculateFrameData( + /* [annotation][in] */ + _In_ IBody *body, + UINT infraredCapacity, + /* [annotation][size_is][in] */ + _In_reads_(infraredCapacity) UINT16 *infraredFrameBuffer, + UINT colorCapacity, + /* [annotation][size_is][in] */ + _In_reads_(colorCapacity) BYTE *colorFrameBuffer, + UINT depthCapacity, + /* [annotation][size_is][in] */ + _In_reads_(depthCapacity) UINT16 *depthFrameBuffer) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IHighDefinitionFaceFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IHighDefinitionFaceFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IHighDefinitionFaceFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IHighDefinitionFaceFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeTrackingIdLost )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeTrackingIdLost )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetTrackingIdLostEventData )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ITrackingIdLostEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsOnline )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isOnline); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsOnline )( + IHighDefinitionFaceFrameSource * This, + BOOLEAN isOnline); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackingId )( + IHighDefinitionFaceFrameSource * This, + UINT64 trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTrackingIdValid )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingQuality )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *trackingQuality); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrackingQuality )( + IHighDefinitionFaceFrameSource * This, + FaceAlignmentQuality trackingQuality); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceModel )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModel **faceModel); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FaceModel )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][in] */ + _In_ IFaceModel *faceModel); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameReader **reader); + + HRESULT ( STDMETHODCALLTYPE *OpenModelBuilder )( + IHighDefinitionFaceFrameSource * This, + FaceModelBuilderAttributes enabledAttributes, + /* [annotation][out][retval] */ + _COM_Outptr_ IFaceModelBuilder **modelbuilder); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + HRESULT ( STDMETHODCALLTYPE *FeedAndCalculateFrameData )( + IHighDefinitionFaceFrameSource * This, + /* [annotation][in] */ + _In_ IBody *body, + UINT infraredCapacity, + /* [annotation][size_is][in] */ + _In_reads_(infraredCapacity) UINT16 *infraredFrameBuffer, + UINT colorCapacity, + /* [annotation][size_is][in] */ + _In_reads_(colorCapacity) BYTE *colorFrameBuffer, + UINT depthCapacity, + /* [annotation][size_is][in] */ + _In_reads_(depthCapacity) UINT16 *depthFrameBuffer); + + END_INTERFACE + } IHighDefinitionFaceFrameSourceVtbl; + + interface IHighDefinitionFaceFrameSource + { + CONST_VTBL struct IHighDefinitionFaceFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IHighDefinitionFaceFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IHighDefinitionFaceFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IHighDefinitionFaceFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IHighDefinitionFaceFrameSource_SubscribeTrackingIdLost(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeTrackingIdLost(This,waitableHandle) ) + +#define IHighDefinitionFaceFrameSource_UnsubscribeTrackingIdLost(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeTrackingIdLost(This,waitableHandle) ) + +#define IHighDefinitionFaceFrameSource_GetTrackingIdLostEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetTrackingIdLostEventData(This,waitableHandle,eventData) ) + +#define IHighDefinitionFaceFrameSource_get_IsOnline(This,isOnline) \ + ( (This)->lpVtbl -> get_IsOnline(This,isOnline) ) + +#define IHighDefinitionFaceFrameSource_put_IsOnline(This,isOnline) \ + ( (This)->lpVtbl -> put_IsOnline(This,isOnline) ) + +#define IHighDefinitionFaceFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IHighDefinitionFaceFrameSource_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IHighDefinitionFaceFrameSource_put_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> put_TrackingId(This,trackingId) ) + +#define IHighDefinitionFaceFrameSource_get_IsTrackingIdValid(This,isTrackingIdValid) \ + ( (This)->lpVtbl -> get_IsTrackingIdValid(This,isTrackingIdValid) ) + +#define IHighDefinitionFaceFrameSource_get_TrackingQuality(This,trackingQuality) \ + ( (This)->lpVtbl -> get_TrackingQuality(This,trackingQuality) ) + +#define IHighDefinitionFaceFrameSource_put_TrackingQuality(This,trackingQuality) \ + ( (This)->lpVtbl -> put_TrackingQuality(This,trackingQuality) ) + +#define IHighDefinitionFaceFrameSource_get_FaceModel(This,faceModel) \ + ( (This)->lpVtbl -> get_FaceModel(This,faceModel) ) + +#define IHighDefinitionFaceFrameSource_put_FaceModel(This,faceModel) \ + ( (This)->lpVtbl -> put_FaceModel(This,faceModel) ) + +#define IHighDefinitionFaceFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IHighDefinitionFaceFrameSource_OpenModelBuilder(This,enabledAttributes,modelbuilder) \ + ( (This)->lpVtbl -> OpenModelBuilder(This,enabledAttributes,modelbuilder) ) + +#define IHighDefinitionFaceFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#define IHighDefinitionFaceFrameSource_FeedAndCalculateFrameData(This,body,infraredCapacity,infraredFrameBuffer,colorCapacity,colorFrameBuffer,depthCapacity,depthFrameBuffer) \ + ( (This)->lpVtbl -> FeedAndCalculateFrameData(This,body,infraredCapacity,infraredFrameBuffer,colorCapacity,colorFrameBuffer,depthCapacity,depthFrameBuffer) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IHighDefinitionFaceFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrameReader_INTERFACE_DEFINED__ +#define __IHighDefinitionFaceFrameReader_INTERFACE_DEFINED__ + +/* interface IHighDefinitionFaceFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IHighDefinitionFaceFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("FAB67369-E051-4790-8A1D-1CEDB9DE86CA") + IHighDefinitionFaceFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IHighDefinitionFaceFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrame **faceFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HighDefinitionFaceFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameSource **highDefinitionFaceFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IHighDefinitionFaceFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IHighDefinitionFaceFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IHighDefinitionFaceFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IHighDefinitionFaceFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IHighDefinitionFaceFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrame **faceFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IHighDefinitionFaceFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HighDefinitionFaceFrameSource )( + IHighDefinitionFaceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameSource **highDefinitionFaceFrameSource); + + END_INTERFACE + } IHighDefinitionFaceFrameReaderVtbl; + + interface IHighDefinitionFaceFrameReader + { + CONST_VTBL struct IHighDefinitionFaceFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IHighDefinitionFaceFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IHighDefinitionFaceFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IHighDefinitionFaceFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IHighDefinitionFaceFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IHighDefinitionFaceFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IHighDefinitionFaceFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IHighDefinitionFaceFrameReader_AcquireLatestFrame(This,faceFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,faceFrame) ) + +#define IHighDefinitionFaceFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IHighDefinitionFaceFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IHighDefinitionFaceFrameReader_get_HighDefinitionFaceFrameSource(This,highDefinitionFaceFrameSource) \ + ( (This)->lpVtbl -> get_HighDefinitionFaceFrameSource(This,highDefinitionFaceFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IHighDefinitionFaceFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IHighDefinitionFaceFrame_INTERFACE_DEFINED__ +#define __IHighDefinitionFaceFrame_INTERFACE_DEFINED__ + +/* interface IHighDefinitionFaceFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IHighDefinitionFaceFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("303A5D6F-1825-41D0-BA14-647FDC7D8A89") + IHighDefinitionFaceFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *timeCounter) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HighDefinitionFaceFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameSource **highDefinitionFaceFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTrackingIdValid( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsFaceTracked( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isFaceTracked) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceModel( + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceModel **faceModel) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaceAlignmentQuality( + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *quality) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAndRefreshFaceAlignmentResult( + /* [annotation][in] */ + _In_ IFaceAlignment *faceAlignmentResults) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IHighDefinitionFaceFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IHighDefinitionFaceFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IHighDefinitionFaceFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IHighDefinitionFaceFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *timeCounter); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HighDefinitionFaceFrameSource )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IHighDefinitionFaceFrameSource **highDefinitionFaceFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameReference )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameReference )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameReference )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameReference )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTrackingIdValid )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isTrackingIdValid); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsFaceTracked )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isFaceTracked); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceModel )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_result_maybenull_ IFaceModel **faceModel); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceAlignmentQuality )( + IHighDefinitionFaceFrame * This, + /* [annotation][out][retval] */ + _Out_ FaceAlignmentQuality *quality); + + HRESULT ( STDMETHODCALLTYPE *GetAndRefreshFaceAlignmentResult )( + IHighDefinitionFaceFrame * This, + /* [annotation][in] */ + _In_ IFaceAlignment *faceAlignmentResults); + + END_INTERFACE + } IHighDefinitionFaceFrameVtbl; + + interface IHighDefinitionFaceFrame + { + CONST_VTBL struct IHighDefinitionFaceFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IHighDefinitionFaceFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IHighDefinitionFaceFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IHighDefinitionFaceFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IHighDefinitionFaceFrame_get_RelativeTime(This,timeCounter) \ + ( (This)->lpVtbl -> get_RelativeTime(This,timeCounter) ) + +#define IHighDefinitionFaceFrame_get_HighDefinitionFaceFrameSource(This,highDefinitionFaceFrameSource) \ + ( (This)->lpVtbl -> get_HighDefinitionFaceFrameSource(This,highDefinitionFaceFrameSource) ) + +#define IHighDefinitionFaceFrame_get_BodyFrameReference(This,bodyFrameReference) \ + ( (This)->lpVtbl -> get_BodyFrameReference(This,bodyFrameReference) ) + +#define IHighDefinitionFaceFrame_get_ColorFrameReference(This,colorFrameReference) \ + ( (This)->lpVtbl -> get_ColorFrameReference(This,colorFrameReference) ) + +#define IHighDefinitionFaceFrame_get_DepthFrameReference(This,depthFrameReference) \ + ( (This)->lpVtbl -> get_DepthFrameReference(This,depthFrameReference) ) + +#define IHighDefinitionFaceFrame_get_InfraredFrameReference(This,infraredFrameReference) \ + ( (This)->lpVtbl -> get_InfraredFrameReference(This,infraredFrameReference) ) + +#define IHighDefinitionFaceFrame_get_IsTrackingIdValid(This,isTrackingIdValid) \ + ( (This)->lpVtbl -> get_IsTrackingIdValid(This,isTrackingIdValid) ) + +#define IHighDefinitionFaceFrame_get_IsFaceTracked(This,isFaceTracked) \ + ( (This)->lpVtbl -> get_IsFaceTracked(This,isFaceTracked) ) + +#define IHighDefinitionFaceFrame_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IHighDefinitionFaceFrame_get_FaceModel(This,faceModel) \ + ( (This)->lpVtbl -> get_FaceModel(This,faceModel) ) + +#define IHighDefinitionFaceFrame_get_FaceAlignmentQuality(This,quality) \ + ( (This)->lpVtbl -> get_FaceAlignmentQuality(This,quality) ) + +#define IHighDefinitionFaceFrame_GetAndRefreshFaceAlignmentResult(This,faceAlignmentResults) \ + ( (This)->lpVtbl -> GetAndRefreshFaceAlignmentResult(This,faceAlignmentResults) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IHighDefinitionFaceFrame_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_Kinect2EFace_0000_0018 */ +/* [local] */ + +HRESULT WINAPI CreateFaceFrameSource(_In_ IKinectSensor* sensor, _In_ const UINT64 initialTrackingId, _In_ const DWORD initialFaceFrameFeatures, _COM_Outptr_ IFaceFrameSource** ppSource); +HRESULT WINAPI CreateHighDefinitionFaceFrameSource(_In_ IKinectSensor* sensor, _COM_Outptr_ IHighDefinitionFaceFrameSource** hdFaceFrameSource); +HRESULT WINAPI CreateFaceAlignment(_COM_Outptr_ IFaceAlignment** ppFaceAlignment); +HRESULT WINAPI CreateFaceModel(float scale, UINT32 capacity, _In_reads_(capacity) float* pDeformations, _COM_Outptr_ IFaceModel** ppFaceModel); +HRESULT WINAPI GetFaceModelVertexCount(_Out_ UINT32* pVertexCount); +HRESULT WINAPI GetFaceModelTriangleCount(_Out_ UINT32* pTriangleCount); +HRESULT WINAPI GetFaceModelTriangles(UINT32 capacity, _Out_writes_all_(capacity) UINT32* triangeVertices); + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EFace_0000_0018_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EFace_0000_0018_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.INPC.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.INPC.h new file mode 100644 index 0000000..5a26175 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.INPC.h @@ -0,0 +1,298 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.00.0595 */ +/* at Sun Oct 19 12:54:09 2014 + */ +/* Compiler settings for ..\..\idl\Kinect.INPC.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0595 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __Kinect2EINPC_h__ +#define __Kinect2EINPC_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __INotifyPropertyChanged_FWD_DEFINED__ +#define __INotifyPropertyChanged_FWD_DEFINED__ +typedef interface INotifyPropertyChanged INotifyPropertyChanged; + +#endif /* __INotifyPropertyChanged_FWD_DEFINED__ */ + + +#ifndef __IPropertyChangedEventArgs_FWD_DEFINED__ +#define __IPropertyChangedEventArgs_FWD_DEFINED__ +typedef interface IPropertyChangedEventArgs IPropertyChangedEventArgs; + +#endif /* __IPropertyChangedEventArgs_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "mmreg.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_Kinect2EINPC_0000_0000 */ +/* [local] */ + + +typedef INT_PTR WAITABLE_HANDLE; + +typedef INT64 TIMESPAN; + + + + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EINPC_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2EINPC_0000_0000_v0_0_s_ifspec; + +#ifndef __INotifyPropertyChanged_INTERFACE_DEFINED__ +#define __INotifyPropertyChanged_INTERFACE_DEFINED__ + +/* interface INotifyPropertyChanged */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_INotifyPropertyChanged; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D27A5C77-32E9-4283-A046-9D693E29E3E7") + INotifyPropertyChanged : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribePropertyChanged( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribePropertyChanged( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyChangedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *propertyName) = 0; + + }; + + +#else /* C style interface */ + + typedef struct INotifyPropertyChangedVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + INotifyPropertyChanged * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + INotifyPropertyChanged * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + INotifyPropertyChanged * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribePropertyChanged )( + INotifyPropertyChanged * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribePropertyChanged )( + INotifyPropertyChanged * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetPropertyChangedEventData )( + INotifyPropertyChanged * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *propertyName); + + END_INTERFACE + } INotifyPropertyChangedVtbl; + + interface INotifyPropertyChanged + { + CONST_VTBL struct INotifyPropertyChangedVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define INotifyPropertyChanged_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define INotifyPropertyChanged_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define INotifyPropertyChanged_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define INotifyPropertyChanged_SubscribePropertyChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribePropertyChanged(This,waitableHandle) ) + +#define INotifyPropertyChanged_UnsubscribePropertyChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribePropertyChanged(This,waitableHandle) ) + +#define INotifyPropertyChanged_GetPropertyChangedEventData(This,waitableHandle,bufferSize,propertyName) \ + ( (This)->lpVtbl -> GetPropertyChangedEventData(This,waitableHandle,bufferSize,propertyName) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __INotifyPropertyChanged_INTERFACE_DEFINED__ */ + + +#ifndef __IPropertyChangedEventArgs_INTERFACE_DEFINED__ +#define __IPropertyChangedEventArgs_INTERFACE_DEFINED__ + +/* interface IPropertyChangedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IPropertyChangedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("574E9321-9DD9-41C8-BC51-C11F3F38D6B5") + IPropertyChangedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PropertyName( + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *propertyName) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IPropertyChangedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IPropertyChangedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IPropertyChangedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IPropertyChangedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyName )( + IPropertyChangedEventArgs * This, + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *propertyName); + + END_INTERFACE + } IPropertyChangedEventArgsVtbl; + + interface IPropertyChangedEventArgs + { + CONST_VTBL struct IPropertyChangedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IPropertyChangedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IPropertyChangedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IPropertyChangedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IPropertyChangedEventArgs_get_PropertyName(This,bufferSize,propertyName) \ + ( (This)->lpVtbl -> get_PropertyName(This,bufferSize,propertyName) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IPropertyChangedEventArgs_INTERFACE_DEFINED__ */ + + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.h new file mode 100644 index 0000000..80887b5 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Inc/Kinect.h @@ -0,0 +1,10667 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.00.0595 */ +/* at Sun Oct 19 12:54:08 2014 + */ +/* Compiler settings for ..\..\idl\Kinect.COM.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0595 + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif // __RPCNDR_H_VERSION__ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __Kinect_h__ +#define __Kinect_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +/* Forward Declarations */ + +#ifndef __IKinectSensor_FWD_DEFINED__ +#define __IKinectSensor_FWD_DEFINED__ +typedef interface IKinectSensor IKinectSensor; + +#endif /* __IKinectSensor_FWD_DEFINED__ */ + + +#ifndef __IIsAvailableChangedEventArgs_FWD_DEFINED__ +#define __IIsAvailableChangedEventArgs_FWD_DEFINED__ +typedef interface IIsAvailableChangedEventArgs IIsAvailableChangedEventArgs; + +#endif /* __IIsAvailableChangedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IFrameDescription_FWD_DEFINED__ +#define __IFrameDescription_FWD_DEFINED__ +typedef interface IFrameDescription IFrameDescription; + +#endif /* __IFrameDescription_FWD_DEFINED__ */ + + +#ifndef __IFrameCapturedEventArgs_FWD_DEFINED__ +#define __IFrameCapturedEventArgs_FWD_DEFINED__ +typedef interface IFrameCapturedEventArgs IFrameCapturedEventArgs; + +#endif /* __IFrameCapturedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IMultiSourceFrameReader_FWD_DEFINED__ +#define __IMultiSourceFrameReader_FWD_DEFINED__ +typedef interface IMultiSourceFrameReader IMultiSourceFrameReader; + +#endif /* __IMultiSourceFrameReader_FWD_DEFINED__ */ + + +#ifndef __IMultiSourceFrameArrivedEventArgs_FWD_DEFINED__ +#define __IMultiSourceFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IMultiSourceFrameArrivedEventArgs IMultiSourceFrameArrivedEventArgs; + +#endif /* __IMultiSourceFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IMultiSourceFrameReference_FWD_DEFINED__ +#define __IMultiSourceFrameReference_FWD_DEFINED__ +typedef interface IMultiSourceFrameReference IMultiSourceFrameReference; + +#endif /* __IMultiSourceFrameReference_FWD_DEFINED__ */ + + +#ifndef __IMultiSourceFrame_FWD_DEFINED__ +#define __IMultiSourceFrame_FWD_DEFINED__ +typedef interface IMultiSourceFrame IMultiSourceFrame; + +#endif /* __IMultiSourceFrame_FWD_DEFINED__ */ + + +#ifndef __IColorFrameReference_FWD_DEFINED__ +#define __IColorFrameReference_FWD_DEFINED__ +typedef interface IColorFrameReference IColorFrameReference; + +#endif /* __IColorFrameReference_FWD_DEFINED__ */ + + +#ifndef __IColorFrameArrivedEventArgs_FWD_DEFINED__ +#define __IColorFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IColorFrameArrivedEventArgs IColorFrameArrivedEventArgs; + +#endif /* __IColorFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IColorFrameSource_FWD_DEFINED__ +#define __IColorFrameSource_FWD_DEFINED__ +typedef interface IColorFrameSource IColorFrameSource; + +#endif /* __IColorFrameSource_FWD_DEFINED__ */ + + +#ifndef __IColorFrameReader_FWD_DEFINED__ +#define __IColorFrameReader_FWD_DEFINED__ +typedef interface IColorFrameReader IColorFrameReader; + +#endif /* __IColorFrameReader_FWD_DEFINED__ */ + + +#ifndef __IColorFrame_FWD_DEFINED__ +#define __IColorFrame_FWD_DEFINED__ +typedef interface IColorFrame IColorFrame; + +#endif /* __IColorFrame_FWD_DEFINED__ */ + + +#ifndef __IDepthFrameReference_FWD_DEFINED__ +#define __IDepthFrameReference_FWD_DEFINED__ +typedef interface IDepthFrameReference IDepthFrameReference; + +#endif /* __IDepthFrameReference_FWD_DEFINED__ */ + + +#ifndef __IDepthFrameArrivedEventArgs_FWD_DEFINED__ +#define __IDepthFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IDepthFrameArrivedEventArgs IDepthFrameArrivedEventArgs; + +#endif /* __IDepthFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IDepthFrameSource_FWD_DEFINED__ +#define __IDepthFrameSource_FWD_DEFINED__ +typedef interface IDepthFrameSource IDepthFrameSource; + +#endif /* __IDepthFrameSource_FWD_DEFINED__ */ + + +#ifndef __IDepthFrameReader_FWD_DEFINED__ +#define __IDepthFrameReader_FWD_DEFINED__ +typedef interface IDepthFrameReader IDepthFrameReader; + +#endif /* __IDepthFrameReader_FWD_DEFINED__ */ + + +#ifndef __IDepthFrame_FWD_DEFINED__ +#define __IDepthFrame_FWD_DEFINED__ +typedef interface IDepthFrame IDepthFrame; + +#endif /* __IDepthFrame_FWD_DEFINED__ */ + + +#ifndef __IBodyFrameReference_FWD_DEFINED__ +#define __IBodyFrameReference_FWD_DEFINED__ +typedef interface IBodyFrameReference IBodyFrameReference; + +#endif /* __IBodyFrameReference_FWD_DEFINED__ */ + + +#ifndef __IBodyFrameArrivedEventArgs_FWD_DEFINED__ +#define __IBodyFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IBodyFrameArrivedEventArgs IBodyFrameArrivedEventArgs; + +#endif /* __IBodyFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IBodyFrameSource_FWD_DEFINED__ +#define __IBodyFrameSource_FWD_DEFINED__ +typedef interface IBodyFrameSource IBodyFrameSource; + +#endif /* __IBodyFrameSource_FWD_DEFINED__ */ + + +#ifndef __IBodyFrameReader_FWD_DEFINED__ +#define __IBodyFrameReader_FWD_DEFINED__ +typedef interface IBodyFrameReader IBodyFrameReader; + +#endif /* __IBodyFrameReader_FWD_DEFINED__ */ + + +#ifndef __IBodyFrame_FWD_DEFINED__ +#define __IBodyFrame_FWD_DEFINED__ +typedef interface IBodyFrame IBodyFrame; + +#endif /* __IBodyFrame_FWD_DEFINED__ */ + + +#ifndef __IBody_FWD_DEFINED__ +#define __IBody_FWD_DEFINED__ +typedef interface IBody IBody; + +#endif /* __IBody_FWD_DEFINED__ */ + + +#ifndef __IBodyIndexFrameReference_FWD_DEFINED__ +#define __IBodyIndexFrameReference_FWD_DEFINED__ +typedef interface IBodyIndexFrameReference IBodyIndexFrameReference; + +#endif /* __IBodyIndexFrameReference_FWD_DEFINED__ */ + + +#ifndef __IBodyIndexFrameArrivedEventArgs_FWD_DEFINED__ +#define __IBodyIndexFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IBodyIndexFrameArrivedEventArgs IBodyIndexFrameArrivedEventArgs; + +#endif /* __IBodyIndexFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IBodyIndexFrameSource_FWD_DEFINED__ +#define __IBodyIndexFrameSource_FWD_DEFINED__ +typedef interface IBodyIndexFrameSource IBodyIndexFrameSource; + +#endif /* __IBodyIndexFrameSource_FWD_DEFINED__ */ + + +#ifndef __IBodyIndexFrameReader_FWD_DEFINED__ +#define __IBodyIndexFrameReader_FWD_DEFINED__ +typedef interface IBodyIndexFrameReader IBodyIndexFrameReader; + +#endif /* __IBodyIndexFrameReader_FWD_DEFINED__ */ + + +#ifndef __IBodyIndexFrame_FWD_DEFINED__ +#define __IBodyIndexFrame_FWD_DEFINED__ +typedef interface IBodyIndexFrame IBodyIndexFrame; + +#endif /* __IBodyIndexFrame_FWD_DEFINED__ */ + + +#ifndef __IInfraredFrameReference_FWD_DEFINED__ +#define __IInfraredFrameReference_FWD_DEFINED__ +typedef interface IInfraredFrameReference IInfraredFrameReference; + +#endif /* __IInfraredFrameReference_FWD_DEFINED__ */ + + +#ifndef __IInfraredFrameArrivedEventArgs_FWD_DEFINED__ +#define __IInfraredFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IInfraredFrameArrivedEventArgs IInfraredFrameArrivedEventArgs; + +#endif /* __IInfraredFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IInfraredFrameSource_FWD_DEFINED__ +#define __IInfraredFrameSource_FWD_DEFINED__ +typedef interface IInfraredFrameSource IInfraredFrameSource; + +#endif /* __IInfraredFrameSource_FWD_DEFINED__ */ + + +#ifndef __IInfraredFrameReader_FWD_DEFINED__ +#define __IInfraredFrameReader_FWD_DEFINED__ +typedef interface IInfraredFrameReader IInfraredFrameReader; + +#endif /* __IInfraredFrameReader_FWD_DEFINED__ */ + + +#ifndef __IInfraredFrame_FWD_DEFINED__ +#define __IInfraredFrame_FWD_DEFINED__ +typedef interface IInfraredFrame IInfraredFrame; + +#endif /* __IInfraredFrame_FWD_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameReference_FWD_DEFINED__ +#define __ILongExposureInfraredFrameReference_FWD_DEFINED__ +typedef interface ILongExposureInfraredFrameReference ILongExposureInfraredFrameReference; + +#endif /* __ILongExposureInfraredFrameReference_FWD_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameArrivedEventArgs_FWD_DEFINED__ +#define __ILongExposureInfraredFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface ILongExposureInfraredFrameArrivedEventArgs ILongExposureInfraredFrameArrivedEventArgs; + +#endif /* __ILongExposureInfraredFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameSource_FWD_DEFINED__ +#define __ILongExposureInfraredFrameSource_FWD_DEFINED__ +typedef interface ILongExposureInfraredFrameSource ILongExposureInfraredFrameSource; + +#endif /* __ILongExposureInfraredFrameSource_FWD_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameReader_FWD_DEFINED__ +#define __ILongExposureInfraredFrameReader_FWD_DEFINED__ +typedef interface ILongExposureInfraredFrameReader ILongExposureInfraredFrameReader; + +#endif /* __ILongExposureInfraredFrameReader_FWD_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrame_FWD_DEFINED__ +#define __ILongExposureInfraredFrame_FWD_DEFINED__ +typedef interface ILongExposureInfraredFrame ILongExposureInfraredFrame; + +#endif /* __ILongExposureInfraredFrame_FWD_DEFINED__ */ + + +#ifndef __IAudioBeam_FWD_DEFINED__ +#define __IAudioBeam_FWD_DEFINED__ +typedef interface IAudioBeam IAudioBeam; + +#endif /* __IAudioBeam_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamList_FWD_DEFINED__ +#define __IAudioBeamList_FWD_DEFINED__ +typedef interface IAudioBeamList IAudioBeamList; + +#endif /* __IAudioBeamList_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamFrameList_FWD_DEFINED__ +#define __IAudioBeamFrameList_FWD_DEFINED__ +typedef interface IAudioBeamFrameList IAudioBeamFrameList; + +#endif /* __IAudioBeamFrameList_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamFrame_FWD_DEFINED__ +#define __IAudioBeamFrame_FWD_DEFINED__ +typedef interface IAudioBeamFrame IAudioBeamFrame; + +#endif /* __IAudioBeamFrame_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamSubFrame_FWD_DEFINED__ +#define __IAudioBeamSubFrame_FWD_DEFINED__ +typedef interface IAudioBeamSubFrame IAudioBeamSubFrame; + +#endif /* __IAudioBeamSubFrame_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamFrameReference_FWD_DEFINED__ +#define __IAudioBeamFrameReference_FWD_DEFINED__ +typedef interface IAudioBeamFrameReference IAudioBeamFrameReference; + +#endif /* __IAudioBeamFrameReference_FWD_DEFINED__ */ + + +#ifndef __IAudioBodyCorrelation_FWD_DEFINED__ +#define __IAudioBodyCorrelation_FWD_DEFINED__ +typedef interface IAudioBodyCorrelation IAudioBodyCorrelation; + +#endif /* __IAudioBodyCorrelation_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamFrameArrivedEventArgs_FWD_DEFINED__ +#define __IAudioBeamFrameArrivedEventArgs_FWD_DEFINED__ +typedef interface IAudioBeamFrameArrivedEventArgs IAudioBeamFrameArrivedEventArgs; + +#endif /* __IAudioBeamFrameArrivedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IAudioBeamFrameReader_FWD_DEFINED__ +#define __IAudioBeamFrameReader_FWD_DEFINED__ +typedef interface IAudioBeamFrameReader IAudioBeamFrameReader; + +#endif /* __IAudioBeamFrameReader_FWD_DEFINED__ */ + + +#ifndef __IAudioSource_FWD_DEFINED__ +#define __IAudioSource_FWD_DEFINED__ +typedef interface IAudioSource IAudioSource; + +#endif /* __IAudioSource_FWD_DEFINED__ */ + + +#ifndef __ICoordinateMapper_FWD_DEFINED__ +#define __ICoordinateMapper_FWD_DEFINED__ +typedef interface ICoordinateMapper ICoordinateMapper; + +#endif /* __ICoordinateMapper_FWD_DEFINED__ */ + + +#ifndef __ICoordinateMappingChangedEventArgs_FWD_DEFINED__ +#define __ICoordinateMappingChangedEventArgs_FWD_DEFINED__ +typedef interface ICoordinateMappingChangedEventArgs ICoordinateMappingChangedEventArgs; + +#endif /* __ICoordinateMappingChangedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IColorCameraSettings_FWD_DEFINED__ +#define __IColorCameraSettings_FWD_DEFINED__ +typedef interface IColorCameraSettings IColorCameraSettings; + +#endif /* __IColorCameraSettings_FWD_DEFINED__ */ + + +#ifndef __IBodyHandPair_FWD_DEFINED__ +#define __IBodyHandPair_FWD_DEFINED__ +typedef interface IBodyHandPair IBodyHandPair; + +#endif /* __IBodyHandPair_FWD_DEFINED__ */ + + +#ifndef __IKinectCoreWindow_FWD_DEFINED__ +#define __IKinectCoreWindow_FWD_DEFINED__ +typedef interface IKinectCoreWindow IKinectCoreWindow; + +#endif /* __IKinectCoreWindow_FWD_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizer_FWD_DEFINED__ +#define __IKinectGestureRecognizer_FWD_DEFINED__ +typedef interface IKinectGestureRecognizer IKinectGestureRecognizer; + +#endif /* __IKinectGestureRecognizer_FWD_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizerSelectionHandler_FWD_DEFINED__ +#define __IKinectGestureRecognizerSelectionHandler_FWD_DEFINED__ +typedef interface IKinectGestureRecognizerSelectionHandler IKinectGestureRecognizerSelectionHandler; + +#endif /* __IKinectGestureRecognizerSelectionHandler_FWD_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizerManipulationHandler_FWD_DEFINED__ +#define __IKinectGestureRecognizerManipulationHandler_FWD_DEFINED__ +typedef interface IKinectGestureRecognizerManipulationHandler IKinectGestureRecognizerManipulationHandler; + +#endif /* __IKinectGestureRecognizerManipulationHandler_FWD_DEFINED__ */ + + +#ifndef __IKinectHoldingEventArgs_FWD_DEFINED__ +#define __IKinectHoldingEventArgs_FWD_DEFINED__ +typedef interface IKinectHoldingEventArgs IKinectHoldingEventArgs; + +#endif /* __IKinectHoldingEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectManipulationCompletedEventArgs_FWD_DEFINED__ +#define __IKinectManipulationCompletedEventArgs_FWD_DEFINED__ +typedef interface IKinectManipulationCompletedEventArgs IKinectManipulationCompletedEventArgs; + +#endif /* __IKinectManipulationCompletedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectManipulationInertiaStartingEventArgs_FWD_DEFINED__ +#define __IKinectManipulationInertiaStartingEventArgs_FWD_DEFINED__ +typedef interface IKinectManipulationInertiaStartingEventArgs IKinectManipulationInertiaStartingEventArgs; + +#endif /* __IKinectManipulationInertiaStartingEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectManipulationStartedEventArgs_FWD_DEFINED__ +#define __IKinectManipulationStartedEventArgs_FWD_DEFINED__ +typedef interface IKinectManipulationStartedEventArgs IKinectManipulationStartedEventArgs; + +#endif /* __IKinectManipulationStartedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectManipulationUpdatedEventArgs_FWD_DEFINED__ +#define __IKinectManipulationUpdatedEventArgs_FWD_DEFINED__ +typedef interface IKinectManipulationUpdatedEventArgs IKinectManipulationUpdatedEventArgs; + +#endif /* __IKinectManipulationUpdatedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectPointerDevice_FWD_DEFINED__ +#define __IKinectPointerDevice_FWD_DEFINED__ +typedef interface IKinectPointerDevice IKinectPointerDevice; + +#endif /* __IKinectPointerDevice_FWD_DEFINED__ */ + + +#ifndef __IKinectPointerEventArgs_FWD_DEFINED__ +#define __IKinectPointerEventArgs_FWD_DEFINED__ +typedef interface IKinectPointerEventArgs IKinectPointerEventArgs; + +#endif /* __IKinectPointerEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectPointerPoint_FWD_DEFINED__ +#define __IKinectPointerPoint_FWD_DEFINED__ +typedef interface IKinectPointerPoint IKinectPointerPoint; + +#endif /* __IKinectPointerPoint_FWD_DEFINED__ */ + + +#ifndef __IKinectPointerPointProperties_FWD_DEFINED__ +#define __IKinectPointerPointProperties_FWD_DEFINED__ +typedef interface IKinectPointerPointProperties IKinectPointerPointProperties; + +#endif /* __IKinectPointerPointProperties_FWD_DEFINED__ */ + + +#ifndef __IKinectPressingCompletedEventArgs_FWD_DEFINED__ +#define __IKinectPressingCompletedEventArgs_FWD_DEFINED__ +typedef interface IKinectPressingCompletedEventArgs IKinectPressingCompletedEventArgs; + +#endif /* __IKinectPressingCompletedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectPressingStartedEventArgs_FWD_DEFINED__ +#define __IKinectPressingStartedEventArgs_FWD_DEFINED__ +typedef interface IKinectPressingStartedEventArgs IKinectPressingStartedEventArgs; + +#endif /* __IKinectPressingStartedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectPressingUpdatedEventArgs_FWD_DEFINED__ +#define __IKinectPressingUpdatedEventArgs_FWD_DEFINED__ +typedef interface IKinectPressingUpdatedEventArgs IKinectPressingUpdatedEventArgs; + +#endif /* __IKinectPressingUpdatedEventArgs_FWD_DEFINED__ */ + + +#ifndef __IKinectTappedEventArgs_FWD_DEFINED__ +#define __IKinectTappedEventArgs_FWD_DEFINED__ +typedef interface IKinectTappedEventArgs IKinectTappedEventArgs; + +#endif /* __IKinectTappedEventArgs_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "ocidl.h" +#include "mmreg.h" +#include "Kinect.INPC.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_Kinect2ECOM_0000_0000 */ +/* [local] */ + + +typedef INT_PTR WAITABLE_HANDLE; + +typedef INT64 TIMESPAN; + +#ifndef _KinectCapabilities_ +#define _KinectCapabilities_ +typedef enum _KinectCapabilities KinectCapabilities; + + +enum _KinectCapabilities + { + KinectCapabilities_None = 0, + KinectCapabilities_Vision = 0x1, + KinectCapabilities_Audio = 0x2, + KinectCapabilities_Face = 0x4, + KinectCapabilities_Expressions = 0x8, + KinectCapabilities_Gamechat = 0x10 + } ; +#endif // _KinectCapabilities_ +#ifndef _FrameSourceTypes_ +#define _FrameSourceTypes_ +typedef enum _FrameSourceTypes FrameSourceTypes; + + +enum _FrameSourceTypes + { + FrameSourceTypes_None = 0, + FrameSourceTypes_Color = 0x1, + FrameSourceTypes_Infrared = 0x2, + FrameSourceTypes_LongExposureInfrared = 0x4, + FrameSourceTypes_Depth = 0x8, + FrameSourceTypes_BodyIndex = 0x10, + FrameSourceTypes_Body = 0x20, + FrameSourceTypes_Audio = 0x40 + } ; +#endif // _FrameSourceTypes_ +#ifndef _ColorImageFormat_ +#define _ColorImageFormat_ +typedef enum _ColorImageFormat ColorImageFormat; + + +enum _ColorImageFormat + { + ColorImageFormat_None = 0, + ColorImageFormat_Rgba = 1, + ColorImageFormat_Yuv = 2, + ColorImageFormat_Bgra = 3, + ColorImageFormat_Bayer = 4, + ColorImageFormat_Yuy2 = 5 + } ; +#endif // _ColorImageFormat_ +#ifndef _HandState_ +#define _HandState_ +typedef enum _HandState HandState; + + +enum _HandState + { + HandState_Unknown = 0, + HandState_NotTracked = 1, + HandState_Open = 2, + HandState_Closed = 3, + HandState_Lasso = 4 + } ; +#endif // _HandState_ +#ifndef _Expression_ +#define _Expression_ +typedef enum _Expression Expression; + + +enum _Expression + { + Expression_Neutral = 0, + Expression_Happy = 1, + Expression_Count = ( Expression_Happy + 1 ) + } ; +#endif // _Expression_ +#ifndef _DetectionResult_ +#define _DetectionResult_ +typedef enum _DetectionResult DetectionResult; + + +enum _DetectionResult + { + DetectionResult_Unknown = 0, + DetectionResult_No = 1, + DetectionResult_Maybe = 2, + DetectionResult_Yes = 3 + } ; +#endif // _DetectionResult_ +#ifndef _TrackingConfidence_ +#define _TrackingConfidence_ +typedef enum _TrackingConfidence TrackingConfidence; + + +enum _TrackingConfidence + { + TrackingConfidence_Low = 0, + TrackingConfidence_High = 1 + } ; +#endif // _TrackingConfidence_ +#ifndef _Activity_ +#define _Activity_ +typedef enum _Activity Activity; + + +enum _Activity + { + Activity_EyeLeftClosed = 0, + Activity_EyeRightClosed = 1, + Activity_MouthOpen = 2, + Activity_MouthMoved = 3, + Activity_LookingAway = 4, + Activity_Count = ( Activity_LookingAway + 1 ) + } ; +#endif // _Activity_ +#ifndef _Appearance_ +#define _Appearance_ +typedef enum _Appearance Appearance; + + +enum _Appearance + { + Appearance_WearingGlasses = 0, + Appearance_Count = ( Appearance_WearingGlasses + 1 ) + } ; +#endif // _Appearance_ +#ifndef _JointType_ +#define _JointType_ +typedef enum _JointType JointType; + + +enum _JointType + { + JointType_SpineBase = 0, + JointType_SpineMid = 1, + JointType_Neck = 2, + JointType_Head = 3, + JointType_ShoulderLeft = 4, + JointType_ElbowLeft = 5, + JointType_WristLeft = 6, + JointType_HandLeft = 7, + JointType_ShoulderRight = 8, + JointType_ElbowRight = 9, + JointType_WristRight = 10, + JointType_HandRight = 11, + JointType_HipLeft = 12, + JointType_KneeLeft = 13, + JointType_AnkleLeft = 14, + JointType_FootLeft = 15, + JointType_HipRight = 16, + JointType_KneeRight = 17, + JointType_AnkleRight = 18, + JointType_FootRight = 19, + JointType_SpineShoulder = 20, + JointType_HandTipLeft = 21, + JointType_ThumbLeft = 22, + JointType_HandTipRight = 23, + JointType_ThumbRight = 24, + JointType_Count = ( JointType_ThumbRight + 1 ) + } ; +#endif // _JointType_ +#ifndef _TrackingState_ +#define _TrackingState_ +typedef enum _TrackingState TrackingState; + + +enum _TrackingState + { + TrackingState_NotTracked = 0, + TrackingState_Inferred = 1, + TrackingState_Tracked = 2 + } ; +#endif // _TrackingState_ +#ifndef _FrameEdges_ +#define _FrameEdges_ +typedef enum _FrameEdges FrameEdges; + + +enum _FrameEdges + { + FrameEdge_None = 0, + FrameEdge_Right = 0x1, + FrameEdge_Left = 0x2, + FrameEdge_Top = 0x4, + FrameEdge_Bottom = 0x8 + } ; +#endif // _FrameEdges_ +#ifndef _FrameCapturedStatus_ +#define _FrameCapturedStatus_ +typedef enum _FrameCapturedStatus FrameCapturedStatus; + + +enum _FrameCapturedStatus + { + FrameCapturedStatus_Unknown = 0, + FrameCapturedStatus_Queued = 1, + FrameCapturedStatus_Dropped = 2 + } ; +#endif // _FrameCapturedStatus_ +#ifndef _AudioBeamMode_ +#define _AudioBeamMode_ +typedef enum _AudioBeamMode AudioBeamMode; + + +enum _AudioBeamMode + { + AudioBeamMode_Automatic = 0, + AudioBeamMode_Manual = 1 + } ; +#endif // _AudioBeamMode_ +#ifndef _KinectAudioCalibrationState_ +#define _KinectAudioCalibrationState_ +typedef enum _KinectAudioCalibrationState KinectAudioCalibrationState; + + +enum _KinectAudioCalibrationState + { + KinectAudioCalibrationState_Unknown = 0, + KinectAudioCalibrationState_CalibrationRequired = 1, + KinectAudioCalibrationState_Calibrated = 2 + } ; +#endif // _KinectAudioCalibrationState_ +#ifndef _Vector4_ +#define _Vector4_ +typedef struct _Vector4 + { + float x; + float y; + float z; + float w; + } Vector4; + +#endif // _Vector4_ +#ifndef _PointF_ +#define _PointF_ +typedef struct _PointF + { + float X; + float Y; + } PointF; + +#endif // _PointF_ +#ifndef _RectF_ +#define _RectF_ +typedef struct _RectF + { + float X; + float Y; + float Width; + float Height; + } RectF; + +#endif // _RectF_ +#ifndef _ColorSpacePoint_ +#define _ColorSpacePoint_ +typedef struct _ColorSpacePoint + { + float X; + float Y; + } ColorSpacePoint; + +#endif // _ColorSpacePoint_ +#ifndef _DepthSpacePoint_ +#define _DepthSpacePoint_ +typedef struct _DepthSpacePoint + { + float X; + float Y; + } DepthSpacePoint; + +#endif // _DepthSpacePoint_ +#ifndef _CameraSpacePoint_ +#define _CameraSpacePoint_ +typedef struct _CameraSpacePoint + { + float X; + float Y; + float Z; + } CameraSpacePoint; + +#endif // _CameraSpacePoint_ +#ifndef _Joint_ +#define _Joint_ +typedef struct _Joint + { + JointType JointType; + CameraSpacePoint Position; + TrackingState TrackingState; + } Joint; + +#endif // _Joint_ +#ifndef _JointOrientation_ +#define _JointOrientation_ +typedef struct _JointOrientation + { + JointType JointType; + Vector4 Orientation; + } JointOrientation; + +#endif // _JointOrientation_ +#ifndef _CameraIntrinsics_ +#define _CameraIntrinsics_ +typedef struct _CameraIntrinsics + { + float FocalLengthX; + float FocalLengthY; + float PrincipalPointX; + float PrincipalPointY; + float RadialDistortionSecondOrder; + float RadialDistortionFourthOrder; + float RadialDistortionSixthOrder; + } CameraIntrinsics; + +#endif // _CameraIntrinsics_ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0000_v0_0_s_ifspec; + +#ifndef __IKinectSensor_INTERFACE_DEFINED__ +#define __IKinectSensor_INTERFACE_DEFINED__ + +/* interface IKinectSensor */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectSensor; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3C6EBA94-0DE1-4360-B6D4-653A10794C8B") + IKinectSensor : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeIsAvailableChanged( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeIsAvailableChanged( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsAvailableChangedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IIsAvailableChangedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE Open( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsOpen( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isOpen) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsAvailable( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isAvailable) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyIndexFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LongExposureInfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **longExposureInfraredFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenMultiSourceFrameReader( + DWORD enabledFrameSourceTypes, + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrameReader **multiSourceFrameReader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CoordinateMapper( + /* [annotation][out][retval] */ + _COM_Outptr_ ICoordinateMapper **coordinateMapper) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UniqueKinectId( + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *uniqueKinectId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectCapabilities( + /* [annotation][out][retval] */ + _Out_ DWORD *capabilities) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectSensorVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectSensor * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectSensor * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectSensor * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeIsAvailableChanged )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeIsAvailableChanged )( + IKinectSensor * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetIsAvailableChangedEventData )( + IKinectSensor * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IIsAvailableChangedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *Open )( + IKinectSensor * This); + + HRESULT ( STDMETHODCALLTYPE *Close )( + IKinectSensor * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsOpen )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isOpen); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsAvailable )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isAvailable); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyIndexFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongExposureInfraredFrameSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **longExposureInfraredFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSource )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource); + + HRESULT ( STDMETHODCALLTYPE *OpenMultiSourceFrameReader )( + IKinectSensor * This, + DWORD enabledFrameSourceTypes, + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrameReader **multiSourceFrameReader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoordinateMapper )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ICoordinateMapper **coordinateMapper); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UniqueKinectId )( + IKinectSensor * This, + UINT bufferSize, + /* [annotation][out][retval] */ + _Out_writes_z_(bufferSize) WCHAR *uniqueKinectId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectCapabilities )( + IKinectSensor * This, + /* [annotation][out][retval] */ + _Out_ DWORD *capabilities); + + END_INTERFACE + } IKinectSensorVtbl; + + interface IKinectSensor + { + CONST_VTBL struct IKinectSensorVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectSensor_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectSensor_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectSensor_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectSensor_SubscribeIsAvailableChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeIsAvailableChanged(This,waitableHandle) ) + +#define IKinectSensor_UnsubscribeIsAvailableChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeIsAvailableChanged(This,waitableHandle) ) + +#define IKinectSensor_GetIsAvailableChangedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetIsAvailableChangedEventData(This,waitableHandle,eventData) ) + +#define IKinectSensor_Open(This) \ + ( (This)->lpVtbl -> Open(This) ) + +#define IKinectSensor_Close(This) \ + ( (This)->lpVtbl -> Close(This) ) + +#define IKinectSensor_get_IsOpen(This,isOpen) \ + ( (This)->lpVtbl -> get_IsOpen(This,isOpen) ) + +#define IKinectSensor_get_IsAvailable(This,isAvailable) \ + ( (This)->lpVtbl -> get_IsAvailable(This,isAvailable) ) + +#define IKinectSensor_get_ColorFrameSource(This,colorFrameSource) \ + ( (This)->lpVtbl -> get_ColorFrameSource(This,colorFrameSource) ) + +#define IKinectSensor_get_DepthFrameSource(This,depthFrameSource) \ + ( (This)->lpVtbl -> get_DepthFrameSource(This,depthFrameSource) ) + +#define IKinectSensor_get_BodyFrameSource(This,bodyFrameSource) \ + ( (This)->lpVtbl -> get_BodyFrameSource(This,bodyFrameSource) ) + +#define IKinectSensor_get_BodyIndexFrameSource(This,bodyIndexFrameSource) \ + ( (This)->lpVtbl -> get_BodyIndexFrameSource(This,bodyIndexFrameSource) ) + +#define IKinectSensor_get_InfraredFrameSource(This,infraredFrameSource) \ + ( (This)->lpVtbl -> get_InfraredFrameSource(This,infraredFrameSource) ) + +#define IKinectSensor_get_LongExposureInfraredFrameSource(This,longExposureInfraredFrameSource) \ + ( (This)->lpVtbl -> get_LongExposureInfraredFrameSource(This,longExposureInfraredFrameSource) ) + +#define IKinectSensor_get_AudioSource(This,audioSource) \ + ( (This)->lpVtbl -> get_AudioSource(This,audioSource) ) + +#define IKinectSensor_OpenMultiSourceFrameReader(This,enabledFrameSourceTypes,multiSourceFrameReader) \ + ( (This)->lpVtbl -> OpenMultiSourceFrameReader(This,enabledFrameSourceTypes,multiSourceFrameReader) ) + +#define IKinectSensor_get_CoordinateMapper(This,coordinateMapper) \ + ( (This)->lpVtbl -> get_CoordinateMapper(This,coordinateMapper) ) + +#define IKinectSensor_get_UniqueKinectId(This,bufferSize,uniqueKinectId) \ + ( (This)->lpVtbl -> get_UniqueKinectId(This,bufferSize,uniqueKinectId) ) + +#define IKinectSensor_get_KinectCapabilities(This,capabilities) \ + ( (This)->lpVtbl -> get_KinectCapabilities(This,capabilities) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectSensor_INTERFACE_DEFINED__ */ + + +#ifndef __IIsAvailableChangedEventArgs_INTERFACE_DEFINED__ +#define __IIsAvailableChangedEventArgs_INTERFACE_DEFINED__ + +/* interface IIsAvailableChangedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IIsAvailableChangedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3A6DD52E-967F-4982-B3D9-74B9E1A044C9") + IIsAvailableChangedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsAvailable( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isAvailable) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IIsAvailableChangedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IIsAvailableChangedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IIsAvailableChangedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IIsAvailableChangedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsAvailable )( + IIsAvailableChangedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isAvailable); + + END_INTERFACE + } IIsAvailableChangedEventArgsVtbl; + + interface IIsAvailableChangedEventArgs + { + CONST_VTBL struct IIsAvailableChangedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IIsAvailableChangedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IIsAvailableChangedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IIsAvailableChangedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IIsAvailableChangedEventArgs_get_IsAvailable(This,isAvailable) \ + ( (This)->lpVtbl -> get_IsAvailable(This,isAvailable) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IIsAvailableChangedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IFrameDescription_INTERFACE_DEFINED__ +#define __IFrameDescription_INTERFACE_DEFINED__ + +/* interface IFrameDescription */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFrameDescription; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("21F6EFB7-EB6D-48F4-9C08-181A87BF0C98") + IFrameDescription : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( + /* [annotation][out][retval] */ + _Out_range_(512, 1920) int *width) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( + /* [annotation][out][retval] */ + _Out_range_(424, 1080) int *height) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalFieldOfView( + /* [annotation][out][retval] */ + _Out_ float *horizontalFieldOfView) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VerticalFieldOfView( + /* [annotation][out][retval] */ + _Out_ float *verticalFieldOfView) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DiagonalFieldOfView( + /* [annotation][out][retval] */ + _Out_ float *diagonalFieldOfView) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LengthInPixels( + /* [annotation][out][retval] */ + _Out_range_(512*424, 1920*1080) unsigned int *lengthInPixels) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesPerPixel( + /* [annotation][out][retval] */ + _Out_range_(1, 4) unsigned int *bytesPerPixel) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFrameDescriptionVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFrameDescription * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFrameDescription * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFrameDescription * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_range_(512, 1920) int *width); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_range_(424, 1080) int *height); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalFieldOfView )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_ float *horizontalFieldOfView); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalFieldOfView )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_ float *verticalFieldOfView); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DiagonalFieldOfView )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_ float *diagonalFieldOfView); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LengthInPixels )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_range_(512*424, 1920*1080) unsigned int *lengthInPixels); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesPerPixel )( + IFrameDescription * This, + /* [annotation][out][retval] */ + _Out_range_(1, 4) unsigned int *bytesPerPixel); + + END_INTERFACE + } IFrameDescriptionVtbl; + + interface IFrameDescription + { + CONST_VTBL struct IFrameDescriptionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFrameDescription_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFrameDescription_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFrameDescription_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFrameDescription_get_Width(This,width) \ + ( (This)->lpVtbl -> get_Width(This,width) ) + +#define IFrameDescription_get_Height(This,height) \ + ( (This)->lpVtbl -> get_Height(This,height) ) + +#define IFrameDescription_get_HorizontalFieldOfView(This,horizontalFieldOfView) \ + ( (This)->lpVtbl -> get_HorizontalFieldOfView(This,horizontalFieldOfView) ) + +#define IFrameDescription_get_VerticalFieldOfView(This,verticalFieldOfView) \ + ( (This)->lpVtbl -> get_VerticalFieldOfView(This,verticalFieldOfView) ) + +#define IFrameDescription_get_DiagonalFieldOfView(This,diagonalFieldOfView) \ + ( (This)->lpVtbl -> get_DiagonalFieldOfView(This,diagonalFieldOfView) ) + +#define IFrameDescription_get_LengthInPixels(This,lengthInPixels) \ + ( (This)->lpVtbl -> get_LengthInPixels(This,lengthInPixels) ) + +#define IFrameDescription_get_BytesPerPixel(This,bytesPerPixel) \ + ( (This)->lpVtbl -> get_BytesPerPixel(This,bytesPerPixel) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFrameDescription_INTERFACE_DEFINED__ */ + + +#ifndef __IFrameCapturedEventArgs_INTERFACE_DEFINED__ +#define __IFrameCapturedEventArgs_INTERFACE_DEFINED__ + +/* interface IFrameCapturedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IFrameCapturedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("24CBAB8E-DF1A-4FA8-827E-C1B27A44A3A1") + IFrameCapturedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameType( + /* [annotation][out][retval] */ + _Out_ FrameSourceTypes *frameType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameStatus( + /* [annotation][out][retval] */ + _Out_ FrameCapturedStatus *frameStatus) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFrameCapturedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFrameCapturedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFrameCapturedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IFrameCapturedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameType )( + IFrameCapturedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ FrameSourceTypes *frameType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameStatus )( + IFrameCapturedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ FrameCapturedStatus *frameStatus); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IFrameCapturedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IFrameCapturedEventArgsVtbl; + + interface IFrameCapturedEventArgs + { + CONST_VTBL struct IFrameCapturedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFrameCapturedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFrameCapturedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFrameCapturedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFrameCapturedEventArgs_get_FrameType(This,frameType) \ + ( (This)->lpVtbl -> get_FrameType(This,frameType) ) + +#define IFrameCapturedEventArgs_get_FrameStatus(This,frameStatus) \ + ( (This)->lpVtbl -> get_FrameStatus(This,frameStatus) ) + +#define IFrameCapturedEventArgs_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFrameCapturedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IMultiSourceFrameReader_INTERFACE_DEFINED__ +#define __IMultiSourceFrameReader_INTERFACE_DEFINED__ + +/* interface IMultiSourceFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IMultiSourceFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C0F6432B-9FFE-4AB3-A683-F37C72BBB158") + IMultiSourceFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeMultiSourceFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeMultiSourceFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMultiSourceFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IMultiSourceFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrame **multiSourceFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameSourceTypes( + /* [annotation][out][retval] */ + _Out_ DWORD *enabledFrameSourceTypes) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IMultiSourceFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IMultiSourceFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IMultiSourceFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IMultiSourceFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeMultiSourceFrameArrived )( + IMultiSourceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeMultiSourceFrameArrived )( + IMultiSourceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetMultiSourceFrameArrivedEventData )( + IMultiSourceFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IMultiSourceFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IMultiSourceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrame **multiSourceFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameSourceTypes )( + IMultiSourceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ DWORD *enabledFrameSourceTypes); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IMultiSourceFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IMultiSourceFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IMultiSourceFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } IMultiSourceFrameReaderVtbl; + + interface IMultiSourceFrameReader + { + CONST_VTBL struct IMultiSourceFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IMultiSourceFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IMultiSourceFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IMultiSourceFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IMultiSourceFrameReader_SubscribeMultiSourceFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeMultiSourceFrameArrived(This,waitableHandle) ) + +#define IMultiSourceFrameReader_UnsubscribeMultiSourceFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeMultiSourceFrameArrived(This,waitableHandle) ) + +#define IMultiSourceFrameReader_GetMultiSourceFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetMultiSourceFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IMultiSourceFrameReader_AcquireLatestFrame(This,multiSourceFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,multiSourceFrame) ) + +#define IMultiSourceFrameReader_get_FrameSourceTypes(This,enabledFrameSourceTypes) \ + ( (This)->lpVtbl -> get_FrameSourceTypes(This,enabledFrameSourceTypes) ) + +#define IMultiSourceFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IMultiSourceFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IMultiSourceFrameReader_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IMultiSourceFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IMultiSourceFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IMultiSourceFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IMultiSourceFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IMultiSourceFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3532F40B-D908-451D-BBF4-6CA73B782558") + IMultiSourceFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrameReference **frames) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IMultiSourceFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IMultiSourceFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IMultiSourceFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IMultiSourceFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IMultiSourceFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrameReference **frames); + + END_INTERFACE + } IMultiSourceFrameArrivedEventArgsVtbl; + + interface IMultiSourceFrameArrivedEventArgs + { + CONST_VTBL struct IMultiSourceFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IMultiSourceFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IMultiSourceFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IMultiSourceFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IMultiSourceFrameArrivedEventArgs_get_FrameReference(This,frames) \ + ( (This)->lpVtbl -> get_FrameReference(This,frames) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IMultiSourceFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IMultiSourceFrameReference_INTERFACE_DEFINED__ +#define __IMultiSourceFrameReference_INTERFACE_DEFINED__ + +/* interface IMultiSourceFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IMultiSourceFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("DD70E845-E283-4DD1-8DAF-FC259AC5F9E3") + IMultiSourceFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrame **frame) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IMultiSourceFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IMultiSourceFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IMultiSourceFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IMultiSourceFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IMultiSourceFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IMultiSourceFrame **frame); + + END_INTERFACE + } IMultiSourceFrameReferenceVtbl; + + interface IMultiSourceFrameReference + { + CONST_VTBL struct IMultiSourceFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IMultiSourceFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IMultiSourceFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IMultiSourceFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IMultiSourceFrameReference_AcquireFrame(This,frame) \ + ( (This)->lpVtbl -> AcquireFrame(This,frame) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IMultiSourceFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IMultiSourceFrame_INTERFACE_DEFINED__ +#define __IMultiSourceFrame_INTERFACE_DEFINED__ + +/* interface IMultiSourceFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IMultiSourceFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("29A63AFB-76CE-4359-895A-997F1E094D1C") + IMultiSourceFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyIndexFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReference **bodyIndexFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LongExposureInfraredFrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReference **longExposureInfraredFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IMultiSourceFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IMultiSourceFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IMultiSourceFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IMultiSourceFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyIndexFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReference **bodyIndexFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongExposureInfraredFrameReference )( + IMultiSourceFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReference **longExposureInfraredFrameReference); + + END_INTERFACE + } IMultiSourceFrameVtbl; + + interface IMultiSourceFrame + { + CONST_VTBL struct IMultiSourceFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IMultiSourceFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IMultiSourceFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IMultiSourceFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IMultiSourceFrame_get_ColorFrameReference(This,colorFrameReference) \ + ( (This)->lpVtbl -> get_ColorFrameReference(This,colorFrameReference) ) + +#define IMultiSourceFrame_get_DepthFrameReference(This,depthFrameReference) \ + ( (This)->lpVtbl -> get_DepthFrameReference(This,depthFrameReference) ) + +#define IMultiSourceFrame_get_BodyFrameReference(This,bodyFrameReference) \ + ( (This)->lpVtbl -> get_BodyFrameReference(This,bodyFrameReference) ) + +#define IMultiSourceFrame_get_BodyIndexFrameReference(This,bodyIndexFrameReference) \ + ( (This)->lpVtbl -> get_BodyIndexFrameReference(This,bodyIndexFrameReference) ) + +#define IMultiSourceFrame_get_InfraredFrameReference(This,infraredFrameReference) \ + ( (This)->lpVtbl -> get_InfraredFrameReference(This,infraredFrameReference) ) + +#define IMultiSourceFrame_get_LongExposureInfraredFrameReference(This,longExposureInfraredFrameReference) \ + ( (This)->lpVtbl -> get_LongExposureInfraredFrameReference(This,longExposureInfraredFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IMultiSourceFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IColorFrameReference_INTERFACE_DEFINED__ +#define __IColorFrameReference_INTERFACE_DEFINED__ + +/* interface IColorFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5CC49E38-9BBD-48BE-A770-FD30EA405247") + IColorFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrame **colorFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IColorFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrame **colorFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IColorFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IColorFrameReferenceVtbl; + + interface IColorFrameReference + { + CONST_VTBL struct IColorFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorFrameReference_AcquireFrame(This,colorFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,colorFrame) ) + +#define IColorFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IColorFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IColorFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IColorFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("82A2E32F-4AE5-4614-88BB-DCC5AE0CEAED") + IColorFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IColorFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReference **colorFrameReference); + + END_INTERFACE + } IColorFrameArrivedEventArgsVtbl; + + interface IColorFrameArrivedEventArgs + { + CONST_VTBL struct IColorFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorFrameArrivedEventArgs_get_FrameReference(This,colorFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,colorFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IColorFrameSource_INTERFACE_DEFINED__ +#define __IColorFrameSource_INTERFACE_DEFINED__ + +/* interface IColorFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("57621D82-D8EE-4783-B412-F7E019C96CFD") + IColorFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReader **reader) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFrameDescription( + ColorImageFormat format, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **rawFrameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IColorFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IColorFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IColorFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IColorFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IColorFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameReader **reader); + + HRESULT ( STDMETHODCALLTYPE *CreateFrameDescription )( + IColorFrameSource * This, + ColorImageFormat format, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IColorFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **rawFrameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IColorFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } IColorFrameSourceVtbl; + + interface IColorFrameSource + { + CONST_VTBL struct IColorFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IColorFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IColorFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IColorFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IColorFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IColorFrameSource_CreateFrameDescription(This,format,frameDescription) \ + ( (This)->lpVtbl -> CreateFrameDescription(This,format,frameDescription) ) + +#define IColorFrameSource_get_FrameDescription(This,rawFrameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,rawFrameDescription) ) + +#define IColorFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IColorFrameReader_INTERFACE_DEFINED__ +#define __IColorFrameReader_INTERFACE_DEFINED__ + +/* interface IColorFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9BEA498C-C59C-4653-AAF9-D884BAB7C35B") + IColorFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IColorFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrame **colorFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IColorFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IColorFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IColorFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IColorFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IColorFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrame **colorFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IColorFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IColorFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameSource )( + IColorFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource); + + END_INTERFACE + } IColorFrameReaderVtbl; + + interface IColorFrameReader + { + CONST_VTBL struct IColorFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IColorFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IColorFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IColorFrameReader_AcquireLatestFrame(This,colorFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,colorFrame) ) + +#define IColorFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IColorFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IColorFrameReader_get_ColorFrameSource(This,colorFrameSource) \ + ( (This)->lpVtbl -> get_ColorFrameSource(This,colorFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IColorFrame_INTERFACE_DEFINED__ +#define __IColorFrame_INTERFACE_DEFINED__ + +/* interface IColorFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("39D05803-8803-4E86-AD9F-13F6954E4ACA") + IColorFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RawColorImageFormat( + /* [annotation][out][retval] */ + _Out_ ColorImageFormat *rawColorImageFormat) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **rawFrameDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyRawFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessRawUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyConvertedFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData, + ColorImageFormat colorFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFrameDescription( + ColorImageFormat format, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorCameraSettings( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorCameraSettings **colorCameraSettings) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RawColorImageFormat )( + IColorFrame * This, + /* [annotation][out][retval] */ + _Out_ ColorImageFormat *rawColorImageFormat); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IColorFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **rawFrameDescription); + + HRESULT ( STDMETHODCALLTYPE *CopyRawFrameDataToArray )( + IColorFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessRawUnderlyingBuffer )( + IColorFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer); + + HRESULT ( STDMETHODCALLTYPE *CopyConvertedFrameDataToArray )( + IColorFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData, + ColorImageFormat colorFormat); + + HRESULT ( STDMETHODCALLTYPE *CreateFrameDescription )( + IColorFrame * This, + ColorImageFormat format, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorCameraSettings )( + IColorFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorCameraSettings **colorCameraSettings); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IColorFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorFrameSource )( + IColorFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IColorFrameSource **colorFrameSource); + + END_INTERFACE + } IColorFrameVtbl; + + interface IColorFrame + { + CONST_VTBL struct IColorFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorFrame_get_RawColorImageFormat(This,rawColorImageFormat) \ + ( (This)->lpVtbl -> get_RawColorImageFormat(This,rawColorImageFormat) ) + +#define IColorFrame_get_FrameDescription(This,rawFrameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,rawFrameDescription) ) + +#define IColorFrame_CopyRawFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyRawFrameDataToArray(This,capacity,frameData) ) + +#define IColorFrame_AccessRawUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessRawUnderlyingBuffer(This,capacity,buffer) ) + +#define IColorFrame_CopyConvertedFrameDataToArray(This,capacity,frameData,colorFormat) \ + ( (This)->lpVtbl -> CopyConvertedFrameDataToArray(This,capacity,frameData,colorFormat) ) + +#define IColorFrame_CreateFrameDescription(This,format,frameDescription) \ + ( (This)->lpVtbl -> CreateFrameDescription(This,format,frameDescription) ) + +#define IColorFrame_get_ColorCameraSettings(This,colorCameraSettings) \ + ( (This)->lpVtbl -> get_ColorCameraSettings(This,colorCameraSettings) ) + +#define IColorFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IColorFrame_get_ColorFrameSource(This,colorFrameSource) \ + ( (This)->lpVtbl -> get_ColorFrameSource(This,colorFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IDepthFrameReference_INTERFACE_DEFINED__ +#define __IDepthFrameReference_INTERFACE_DEFINED__ + +/* interface IDepthFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IDepthFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("20621E5E-ABC9-4EBD-A7EE-4C77EDD0152A") + IDepthFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrame **depthFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDepthFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDepthFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDepthFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDepthFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IDepthFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrame **depthFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IDepthFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IDepthFrameReferenceVtbl; + + interface IDepthFrameReference + { + CONST_VTBL struct IDepthFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDepthFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDepthFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDepthFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDepthFrameReference_AcquireFrame(This,depthFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,depthFrame) ) + +#define IDepthFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDepthFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IDepthFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IDepthFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IDepthFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IDepthFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2B01BCB8-29D7-4726-860C-6DA56664AA81") + IDepthFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDepthFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDepthFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDepthFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDepthFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IDepthFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReference **depthFrameReference); + + END_INTERFACE + } IDepthFrameArrivedEventArgsVtbl; + + interface IDepthFrameArrivedEventArgs + { + CONST_VTBL struct IDepthFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDepthFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDepthFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDepthFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDepthFrameArrivedEventArgs_get_FrameReference(This,depthFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,depthFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDepthFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IDepthFrameSource_INTERFACE_DEFINED__ +#define __IDepthFrameSource_INTERFACE_DEFINED__ + +/* interface IDepthFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IDepthFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C428D558-5E46-490A-B699-D1DDDAA24150") + IDepthFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthMinReliableDistance( + /* [annotation][out][retval] */ + _Out_ UINT16 *depthMinReliableDistance) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthMaxReliableDistance( + /* [annotation][out][retval] */ + _Out_ UINT16 *depthMaxReliableDistance) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDepthFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDepthFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDepthFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDepthFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IDepthFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IDepthFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthMinReliableDistance )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _Out_ UINT16 *depthMinReliableDistance); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthMaxReliableDistance )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _Out_ UINT16 *depthMaxReliableDistance); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IDepthFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } IDepthFrameSourceVtbl; + + interface IDepthFrameSource + { + CONST_VTBL struct IDepthFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDepthFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDepthFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDepthFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDepthFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IDepthFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IDepthFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IDepthFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IDepthFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IDepthFrameSource_get_DepthMinReliableDistance(This,depthMinReliableDistance) \ + ( (This)->lpVtbl -> get_DepthMinReliableDistance(This,depthMinReliableDistance) ) + +#define IDepthFrameSource_get_DepthMaxReliableDistance(This,depthMaxReliableDistance) \ + ( (This)->lpVtbl -> get_DepthMaxReliableDistance(This,depthMaxReliableDistance) ) + +#define IDepthFrameSource_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IDepthFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDepthFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IDepthFrameReader_INTERFACE_DEFINED__ +#define __IDepthFrameReader_INTERFACE_DEFINED__ + +/* interface IDepthFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IDepthFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("81C0C0AB-6E6C-45CB-8625-A5F4D38759A4") + IDepthFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IDepthFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrame **depthFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDepthFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDepthFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDepthFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDepthFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IDepthFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IDepthFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IDepthFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IDepthFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IDepthFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrame **depthFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IDepthFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IDepthFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameSource )( + IDepthFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource); + + END_INTERFACE + } IDepthFrameReaderVtbl; + + interface IDepthFrameReader + { + CONST_VTBL struct IDepthFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDepthFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDepthFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDepthFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDepthFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IDepthFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IDepthFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IDepthFrameReader_AcquireLatestFrame(This,depthFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,depthFrame) ) + +#define IDepthFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IDepthFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IDepthFrameReader_get_DepthFrameSource(This,depthFrameSource) \ + ( (This)->lpVtbl -> get_DepthFrameSource(This,depthFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDepthFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IDepthFrame_INTERFACE_DEFINED__ +#define __IDepthFrame_INTERFACE_DEFINED__ + +/* interface IDepthFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IDepthFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D8600853-8835-44F9-84A7-E617CDD7DFDD") + IDepthFrame : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CopyFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthMinReliableDistance( + /* [annotation][out][retval] */ + _Out_ USHORT *depthMinReliableDistance) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DepthMaxReliableDistance( + /* [annotation][out][retval] */ + _Out_ USHORT *depthMaxReliableDistance) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IDepthFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IDepthFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IDepthFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IDepthFrame * This); + + HRESULT ( STDMETHODCALLTYPE *CopyFrameDataToArray )( + IDepthFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessUnderlyingBuffer )( + IDepthFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IDepthFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IDepthFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthFrameSource )( + IDepthFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IDepthFrameSource **depthFrameSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthMinReliableDistance )( + IDepthFrame * This, + /* [annotation][out][retval] */ + _Out_ USHORT *depthMinReliableDistance); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DepthMaxReliableDistance )( + IDepthFrame * This, + /* [annotation][out][retval] */ + _Out_ USHORT *depthMaxReliableDistance); + + END_INTERFACE + } IDepthFrameVtbl; + + interface IDepthFrame + { + CONST_VTBL struct IDepthFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IDepthFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IDepthFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IDepthFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IDepthFrame_CopyFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyFrameDataToArray(This,capacity,frameData) ) + +#define IDepthFrame_AccessUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessUnderlyingBuffer(This,capacity,buffer) ) + +#define IDepthFrame_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IDepthFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IDepthFrame_get_DepthFrameSource(This,depthFrameSource) \ + ( (This)->lpVtbl -> get_DepthFrameSource(This,depthFrameSource) ) + +#define IDepthFrame_get_DepthMinReliableDistance(This,depthMinReliableDistance) \ + ( (This)->lpVtbl -> get_DepthMinReliableDistance(This,depthMinReliableDistance) ) + +#define IDepthFrame_get_DepthMaxReliableDistance(This,depthMaxReliableDistance) \ + ( (This)->lpVtbl -> get_DepthMaxReliableDistance(This,depthMaxReliableDistance) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IDepthFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyFrameReference_INTERFACE_DEFINED__ +#define __IBodyFrameReference_INTERFACE_DEFINED__ + +/* interface IBodyFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C3A1733C-5F84-443B-9659-2F2BE250C97D") + IBodyFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrame **bodyFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IBodyFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrame **bodyFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IBodyFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IBodyFrameReferenceVtbl; + + interface IBodyFrameReference + { + CONST_VTBL struct IBodyFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyFrameReference_AcquireFrame(This,bodyFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,bodyFrame) ) + +#define IBodyFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IBodyFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IBodyFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BF5CCA0E-00C1-4D48-837F-AB921E6AEE01") + IBodyFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IBodyFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReference **bodyFrameReference); + + END_INTERFACE + } IBodyFrameArrivedEventArgsVtbl; + + interface IBodyFrameArrivedEventArgs + { + CONST_VTBL struct IBodyFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyFrameArrivedEventArgs_get_FrameReference(This,bodyFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,bodyFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyFrameSource_INTERFACE_DEFINED__ +#define __IBodyFrameSource_INTERFACE_DEFINED__ + +/* interface IBodyFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("BB94A78A-458C-4608-AC69-34FEAD1E3BAE") + IBodyFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyCount( + /* [annotation][out][retval] */ + _Out_ INT32 *bodyCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + virtual HRESULT STDMETHODCALLTYPE OverrideHandTracking( + UINT64 trackingId) = 0; + + virtual HRESULT STDMETHODCALLTYPE OverrideAndReplaceHandTracking( + UINT64 oldTrackingId, + UINT64 newTrackingId) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IBodyFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IBodyFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IBodyFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IBodyFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyCount )( + IBodyFrameSource * This, + /* [annotation][out][retval] */ + _Out_ INT32 *bodyCount); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IBodyFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IBodyFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + HRESULT ( STDMETHODCALLTYPE *OverrideHandTracking )( + IBodyFrameSource * This, + UINT64 trackingId); + + HRESULT ( STDMETHODCALLTYPE *OverrideAndReplaceHandTracking )( + IBodyFrameSource * This, + UINT64 oldTrackingId, + UINT64 newTrackingId); + + END_INTERFACE + } IBodyFrameSourceVtbl; + + interface IBodyFrameSource + { + CONST_VTBL struct IBodyFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IBodyFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IBodyFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IBodyFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IBodyFrameSource_get_BodyCount(This,bodyCount) \ + ( (This)->lpVtbl -> get_BodyCount(This,bodyCount) ) + +#define IBodyFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IBodyFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#define IBodyFrameSource_OverrideHandTracking(This,trackingId) \ + ( (This)->lpVtbl -> OverrideHandTracking(This,trackingId) ) + +#define IBodyFrameSource_OverrideAndReplaceHandTracking(This,oldTrackingId,newTrackingId) \ + ( (This)->lpVtbl -> OverrideAndReplaceHandTracking(This,oldTrackingId,newTrackingId) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyFrameReader_INTERFACE_DEFINED__ +#define __IBodyFrameReader_INTERFACE_DEFINED__ + +/* interface IBodyFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("45532DF5-A63C-418F-A39F-C567936BC051") + IBodyFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IBodyFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrame **bodyFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IBodyFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IBodyFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IBodyFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IBodyFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IBodyFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrame **bodyFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IBodyFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IBodyFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameSource )( + IBodyFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource); + + END_INTERFACE + } IBodyFrameReaderVtbl; + + interface IBodyFrameReader + { + CONST_VTBL struct IBodyFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IBodyFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IBodyFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IBodyFrameReader_AcquireLatestFrame(This,bodyFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,bodyFrame) ) + +#define IBodyFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IBodyFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IBodyFrameReader_get_BodyFrameSource(This,bodyFrameSource) \ + ( (This)->lpVtbl -> get_BodyFrameSource(This,bodyFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyFrame_INTERFACE_DEFINED__ +#define __IBodyFrame_INTERFACE_DEFINED__ + +/* interface IBodyFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("52884F1F-94D7-4B57-BF87-9226950980D5") + IBodyFrame : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetAndRefreshBodyData( + UINT capacity, + /* [annotation][size_is][out][in] */ + _Inout_updates_all_(capacity) IBody **bodies) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FloorClipPlane( + /* [annotation][out][retval] */ + _Out_ Vector4 *floorClipPlane) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyFrame * This); + + HRESULT ( STDMETHODCALLTYPE *GetAndRefreshBodyData )( + IBodyFrame * This, + UINT capacity, + /* [annotation][size_is][out][in] */ + _Inout_updates_all_(capacity) IBody **bodies); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloorClipPlane )( + IBodyFrame * This, + /* [annotation][out][retval] */ + _Out_ Vector4 *floorClipPlane); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IBodyFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyFrameSource )( + IBodyFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyFrameSource **bodyFrameSource); + + END_INTERFACE + } IBodyFrameVtbl; + + interface IBodyFrame + { + CONST_VTBL struct IBodyFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyFrame_GetAndRefreshBodyData(This,capacity,bodies) \ + ( (This)->lpVtbl -> GetAndRefreshBodyData(This,capacity,bodies) ) + +#define IBodyFrame_get_FloorClipPlane(This,floorClipPlane) \ + ( (This)->lpVtbl -> get_FloorClipPlane(This,floorClipPlane) ) + +#define IBodyFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IBodyFrame_get_BodyFrameSource(This,bodyFrameSource) \ + ( (This)->lpVtbl -> get_BodyFrameSource(This,bodyFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IBody_INTERFACE_DEFINED__ +#define __IBody_INTERFACE_DEFINED__ + +/* interface IBody */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBody; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("46AEF731-98B0-4D18-827B-933758678F4A") + IBody : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetJoints( + /* [annotation] */ + _Pre_equal_to_(JointType_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) Joint *joints) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetJointOrientations( + /* [annotation] */ + _Pre_equal_to_(JointType_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) JointOrientation *jointOrientations) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Engaged( + /* [annotation][out][retval] */ + _Out_ DetectionResult *detectionResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExpressionDetectionResults( + /* [annotation] */ + _Pre_equal_to_(Expression_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetActivityDetectionResults( + /* [annotation] */ + _Pre_equal_to_(Activity_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAppearanceDetectionResults( + /* [annotation] */ + _Pre_equal_to_(Appearance_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandLeftState( + /* [annotation][out][retval] */ + _Out_ HandState *handState) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandLeftConfidence( + /* [annotation][out][retval] */ + _Out_ TrackingConfidence *confidence) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandRightState( + /* [annotation][out][retval] */ + _Out_ HandState *handState) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandRightConfidence( + /* [annotation][out][retval] */ + _Out_ TrackingConfidence *confidence) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ClippedEdges( + /* [annotation][out][retval] */ + _Out_ DWORD *clippedEdges) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsTracked( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *tracked) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsRestricted( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isRestricted) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Lean( + /* [annotation][out][retval] */ + _Out_ PointF *amount) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LeanTrackingState( + /* [annotation][out][retval] */ + _Out_ TrackingState *trackingState) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBody * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBody * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBody * This); + + HRESULT ( STDMETHODCALLTYPE *GetJoints )( + IBody * This, + /* [annotation] */ + _Pre_equal_to_(JointType_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) Joint *joints); + + HRESULT ( STDMETHODCALLTYPE *GetJointOrientations )( + IBody * This, + /* [annotation] */ + _Pre_equal_to_(JointType_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) JointOrientation *jointOrientations); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Engaged )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ DetectionResult *detectionResult); + + HRESULT ( STDMETHODCALLTYPE *GetExpressionDetectionResults )( + IBody * This, + /* [annotation] */ + _Pre_equal_to_(Expression_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults); + + HRESULT ( STDMETHODCALLTYPE *GetActivityDetectionResults )( + IBody * This, + /* [annotation] */ + _Pre_equal_to_(Activity_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults); + + HRESULT ( STDMETHODCALLTYPE *GetAppearanceDetectionResults )( + IBody * This, + /* [annotation] */ + _Pre_equal_to_(Appearance_Count) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) DetectionResult *detectionResults); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandLeftState )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ HandState *handState); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandLeftConfidence )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ TrackingConfidence *confidence); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandRightState )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ HandState *handState); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandRightConfidence )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ TrackingConfidence *confidence); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippedEdges )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ DWORD *clippedEdges); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrackingId )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsTracked )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *tracked); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRestricted )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isRestricted); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lean )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ PointF *amount); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeanTrackingState )( + IBody * This, + /* [annotation][out][retval] */ + _Out_ TrackingState *trackingState); + + END_INTERFACE + } IBodyVtbl; + + interface IBody + { + CONST_VTBL struct IBodyVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBody_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBody_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBody_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBody_GetJoints(This,capacity,joints) \ + ( (This)->lpVtbl -> GetJoints(This,capacity,joints) ) + +#define IBody_GetJointOrientations(This,capacity,jointOrientations) \ + ( (This)->lpVtbl -> GetJointOrientations(This,capacity,jointOrientations) ) + +#define IBody_get_Engaged(This,detectionResult) \ + ( (This)->lpVtbl -> get_Engaged(This,detectionResult) ) + +#define IBody_GetExpressionDetectionResults(This,capacity,detectionResults) \ + ( (This)->lpVtbl -> GetExpressionDetectionResults(This,capacity,detectionResults) ) + +#define IBody_GetActivityDetectionResults(This,capacity,detectionResults) \ + ( (This)->lpVtbl -> GetActivityDetectionResults(This,capacity,detectionResults) ) + +#define IBody_GetAppearanceDetectionResults(This,capacity,detectionResults) \ + ( (This)->lpVtbl -> GetAppearanceDetectionResults(This,capacity,detectionResults) ) + +#define IBody_get_HandLeftState(This,handState) \ + ( (This)->lpVtbl -> get_HandLeftState(This,handState) ) + +#define IBody_get_HandLeftConfidence(This,confidence) \ + ( (This)->lpVtbl -> get_HandLeftConfidence(This,confidence) ) + +#define IBody_get_HandRightState(This,handState) \ + ( (This)->lpVtbl -> get_HandRightState(This,handState) ) + +#define IBody_get_HandRightConfidence(This,confidence) \ + ( (This)->lpVtbl -> get_HandRightConfidence(This,confidence) ) + +#define IBody_get_ClippedEdges(This,clippedEdges) \ + ( (This)->lpVtbl -> get_ClippedEdges(This,clippedEdges) ) + +#define IBody_get_TrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_TrackingId(This,trackingId) ) + +#define IBody_get_IsTracked(This,tracked) \ + ( (This)->lpVtbl -> get_IsTracked(This,tracked) ) + +#define IBody_get_IsRestricted(This,isRestricted) \ + ( (This)->lpVtbl -> get_IsRestricted(This,isRestricted) ) + +#define IBody_get_Lean(This,amount) \ + ( (This)->lpVtbl -> get_Lean(This,amount) ) + +#define IBody_get_LeanTrackingState(This,trackingState) \ + ( (This)->lpVtbl -> get_LeanTrackingState(This,trackingState) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBody_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyIndexFrameReference_INTERFACE_DEFINED__ +#define __IBodyIndexFrameReference_INTERFACE_DEFINED__ + +/* interface IBodyIndexFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyIndexFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D0EA0519-F7E7-4B1E-B3D8-03B3C002795F") + IBodyIndexFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrame **bodyIndexFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyIndexFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyIndexFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyIndexFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyIndexFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IBodyIndexFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrame **bodyIndexFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IBodyIndexFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IBodyIndexFrameReferenceVtbl; + + interface IBodyIndexFrameReference + { + CONST_VTBL struct IBodyIndexFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyIndexFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyIndexFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyIndexFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyIndexFrameReference_AcquireFrame(This,bodyIndexFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,bodyIndexFrame) ) + +#define IBodyIndexFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyIndexFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyIndexFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IBodyIndexFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IBodyIndexFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyIndexFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("10B7E92E-B4F2-4A36-A459-06B2A4B249DF") + IBodyIndexFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReference **bodyIndexFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyIndexFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyIndexFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyIndexFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyIndexFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IBodyIndexFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReference **bodyIndexFrameReference); + + END_INTERFACE + } IBodyIndexFrameArrivedEventArgsVtbl; + + interface IBodyIndexFrameArrivedEventArgs + { + CONST_VTBL struct IBodyIndexFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyIndexFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyIndexFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyIndexFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyIndexFrameArrivedEventArgs_get_FrameReference(This,bodyIndexFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,bodyIndexFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyIndexFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyIndexFrameSource_INTERFACE_DEFINED__ +#define __IBodyIndexFrameSource_INTERFACE_DEFINED__ + +/* interface IBodyIndexFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyIndexFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("010F2A40-DC58-44A5-8E57-329A583FEC08") + IBodyIndexFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyIndexFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyIndexFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyIndexFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyIndexFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IBodyIndexFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IBodyIndexFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IBodyIndexFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IBodyIndexFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IBodyIndexFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IBodyIndexFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IBodyIndexFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } IBodyIndexFrameSourceVtbl; + + interface IBodyIndexFrameSource + { + CONST_VTBL struct IBodyIndexFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyIndexFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyIndexFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyIndexFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyIndexFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IBodyIndexFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IBodyIndexFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IBodyIndexFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IBodyIndexFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IBodyIndexFrameSource_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IBodyIndexFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyIndexFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyIndexFrameReader_INTERFACE_DEFINED__ +#define __IBodyIndexFrameReader_INTERFACE_DEFINED__ + +/* interface IBodyIndexFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyIndexFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E9724AA1-EBFA-48F8-9044-E0BE33383B8B") + IBodyIndexFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IBodyIndexFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrame **bodyIndexFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyIndexFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyIndexFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyIndexFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyIndexFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyIndexFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IBodyIndexFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IBodyIndexFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IBodyIndexFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IBodyIndexFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IBodyIndexFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrame **bodyIndexFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IBodyIndexFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IBodyIndexFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyIndexFrameSource )( + IBodyIndexFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource); + + END_INTERFACE + } IBodyIndexFrameReaderVtbl; + + interface IBodyIndexFrameReader + { + CONST_VTBL struct IBodyIndexFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyIndexFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyIndexFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyIndexFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyIndexFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IBodyIndexFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IBodyIndexFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IBodyIndexFrameReader_AcquireLatestFrame(This,bodyIndexFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,bodyIndexFrame) ) + +#define IBodyIndexFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IBodyIndexFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IBodyIndexFrameReader_get_BodyIndexFrameSource(This,bodyIndexFrameSource) \ + ( (This)->lpVtbl -> get_BodyIndexFrameSource(This,bodyIndexFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyIndexFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IBodyIndexFrame_INTERFACE_DEFINED__ +#define __IBodyIndexFrame_INTERFACE_DEFINED__ + +/* interface IBodyIndexFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyIndexFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2CEA0C07-F90C-44DF-A18C-F4D18075EA6B") + IBodyIndexFrame : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CopyFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyIndexFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyIndexFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyIndexFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyIndexFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyIndexFrame * This); + + HRESULT ( STDMETHODCALLTYPE *CopyFrameDataToArray )( + IBodyIndexFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessUnderlyingBuffer )( + IBodyIndexFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IBodyIndexFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IBodyIndexFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyIndexFrameSource )( + IBodyIndexFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IBodyIndexFrameSource **bodyIndexFrameSource); + + END_INTERFACE + } IBodyIndexFrameVtbl; + + interface IBodyIndexFrame + { + CONST_VTBL struct IBodyIndexFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyIndexFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyIndexFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyIndexFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyIndexFrame_CopyFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyFrameDataToArray(This,capacity,frameData) ) + +#define IBodyIndexFrame_AccessUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessUnderlyingBuffer(This,capacity,buffer) ) + +#define IBodyIndexFrame_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IBodyIndexFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IBodyIndexFrame_get_BodyIndexFrameSource(This,bodyIndexFrameSource) \ + ( (This)->lpVtbl -> get_BodyIndexFrameSource(This,bodyIndexFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyIndexFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IInfraredFrameReference_INTERFACE_DEFINED__ +#define __IInfraredFrameReference_INTERFACE_DEFINED__ + +/* interface IInfraredFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IInfraredFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("60183D5B-DED5-4D5C-AE59-64C7724FE5FE") + IInfraredFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrame **infraredFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IInfraredFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IInfraredFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IInfraredFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IInfraredFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + IInfraredFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrame **infraredFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IInfraredFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IInfraredFrameReferenceVtbl; + + interface IInfraredFrameReference + { + CONST_VTBL struct IInfraredFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInfraredFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInfraredFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInfraredFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInfraredFrameReference_AcquireFrame(This,infraredFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,infraredFrame) ) + +#define IInfraredFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInfraredFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IInfraredFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IInfraredFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7E17F78E-D9D1-4448-90C2-4E50EC4ECEE9") + IInfraredFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IInfraredFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IInfraredFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IInfraredFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IInfraredFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IInfraredFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReference **infraredFrameReference); + + END_INTERFACE + } IInfraredFrameArrivedEventArgsVtbl; + + interface IInfraredFrameArrivedEventArgs + { + CONST_VTBL struct IInfraredFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInfraredFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInfraredFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInfraredFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInfraredFrameArrivedEventArgs_get_FrameReference(This,infraredFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,infraredFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IInfraredFrameSource_INTERFACE_DEFINED__ +#define __IInfraredFrameSource_INTERFACE_DEFINED__ + +/* interface IInfraredFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IInfraredFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4C299EC6-CA45-4AFF-87AD-DF5762C49BE7") + IInfraredFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IInfraredFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IInfraredFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IInfraredFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IInfraredFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IInfraredFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IInfraredFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IInfraredFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IInfraredFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } IInfraredFrameSourceVtbl; + + interface IInfraredFrameSource + { + CONST_VTBL struct IInfraredFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInfraredFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInfraredFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInfraredFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInfraredFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IInfraredFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IInfraredFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IInfraredFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IInfraredFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IInfraredFrameSource_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IInfraredFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInfraredFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __IInfraredFrameReader_INTERFACE_DEFINED__ +#define __IInfraredFrameReader_INTERFACE_DEFINED__ + +/* interface IInfraredFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IInfraredFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("059A049D-A0AC-481E-B342-483EE94A028B") + IInfraredFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IInfraredFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrame **infraredFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IInfraredFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IInfraredFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IInfraredFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IInfraredFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IInfraredFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IInfraredFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IInfraredFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IInfraredFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + IInfraredFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrame **infraredFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IInfraredFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IInfraredFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameSource )( + IInfraredFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource); + + END_INTERFACE + } IInfraredFrameReaderVtbl; + + interface IInfraredFrameReader + { + CONST_VTBL struct IInfraredFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInfraredFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInfraredFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInfraredFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInfraredFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IInfraredFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IInfraredFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IInfraredFrameReader_AcquireLatestFrame(This,infraredFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,infraredFrame) ) + +#define IInfraredFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IInfraredFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IInfraredFrameReader_get_InfraredFrameSource(This,infraredFrameSource) \ + ( (This)->lpVtbl -> get_InfraredFrameSource(This,infraredFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInfraredFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IInfraredFrame_INTERFACE_DEFINED__ +#define __IInfraredFrame_INTERFACE_DEFINED__ + +/* interface IInfraredFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IInfraredFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("EA83823C-7613-4F29-BD51-4A9678A52C7E") + IInfraredFrame : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CopyFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IInfraredFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IInfraredFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IInfraredFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IInfraredFrame * This); + + HRESULT ( STDMETHODCALLTYPE *CopyFrameDataToArray )( + IInfraredFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessUnderlyingBuffer )( + IInfraredFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + IInfraredFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IInfraredFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InfraredFrameSource )( + IInfraredFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IInfraredFrameSource **infraredFrameSource); + + END_INTERFACE + } IInfraredFrameVtbl; + + interface IInfraredFrame + { + CONST_VTBL struct IInfraredFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IInfraredFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IInfraredFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IInfraredFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IInfraredFrame_CopyFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyFrameDataToArray(This,capacity,frameData) ) + +#define IInfraredFrame_AccessUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessUnderlyingBuffer(This,capacity,buffer) ) + +#define IInfraredFrame_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define IInfraredFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define IInfraredFrame_get_InfraredFrameSource(This,infraredFrameSource) \ + ( (This)->lpVtbl -> get_InfraredFrameSource(This,infraredFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IInfraredFrame_INTERFACE_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameReference_INTERFACE_DEFINED__ +#define __ILongExposureInfraredFrameReference_INTERFACE_DEFINED__ + +/* interface ILongExposureInfraredFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ILongExposureInfraredFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("10043A3E-0DAA-409C-9944-A6FC66C85AF7") + ILongExposureInfraredFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrame **longExposureInfraredFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ILongExposureInfraredFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ILongExposureInfraredFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ILongExposureInfraredFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ILongExposureInfraredFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireFrame )( + ILongExposureInfraredFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrame **longExposureInfraredFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + ILongExposureInfraredFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } ILongExposureInfraredFrameReferenceVtbl; + + interface ILongExposureInfraredFrameReference + { + CONST_VTBL struct ILongExposureInfraredFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ILongExposureInfraredFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ILongExposureInfraredFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ILongExposureInfraredFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ILongExposureInfraredFrameReference_AcquireFrame(This,longExposureInfraredFrame) \ + ( (This)->lpVtbl -> AcquireFrame(This,longExposureInfraredFrame) ) + +#define ILongExposureInfraredFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ILongExposureInfraredFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __ILongExposureInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface ILongExposureInfraredFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ILongExposureInfraredFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D73D4B5E-E329-4F04-894C-0C97482690D4") + ILongExposureInfraredFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReference **longExposureInfraredFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ILongExposureInfraredFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ILongExposureInfraredFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ILongExposureInfraredFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ILongExposureInfraredFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + ILongExposureInfraredFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReference **longExposureInfraredFrameReference); + + END_INTERFACE + } ILongExposureInfraredFrameArrivedEventArgsVtbl; + + interface ILongExposureInfraredFrameArrivedEventArgs + { + CONST_VTBL struct ILongExposureInfraredFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ILongExposureInfraredFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ILongExposureInfraredFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ILongExposureInfraredFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ILongExposureInfraredFrameArrivedEventArgs_get_FrameReference(This,longExposureInfraredFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,longExposureInfraredFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ILongExposureInfraredFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameSource_INTERFACE_DEFINED__ +#define __ILongExposureInfraredFrameSource_INTERFACE_DEFINED__ + +/* interface ILongExposureInfraredFrameSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ILongExposureInfraredFrameSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D7150EDA-EDA2-4673-B4F8-E3C76D1F402B") + ILongExposureInfraredFrameSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ILongExposureInfraredFrameSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ILongExposureInfraredFrameSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ILongExposureInfraredFrameSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ILongExposureInfraredFrameSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + ILongExposureInfraredFrameSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + ILongExposureInfraredFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + ILongExposureInfraredFrameSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + ILongExposureInfraredFrameSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + ILongExposureInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + ILongExposureInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + ILongExposureInfraredFrameSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + END_INTERFACE + } ILongExposureInfraredFrameSourceVtbl; + + interface ILongExposureInfraredFrameSource + { + CONST_VTBL struct ILongExposureInfraredFrameSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ILongExposureInfraredFrameSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ILongExposureInfraredFrameSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ILongExposureInfraredFrameSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ILongExposureInfraredFrameSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define ILongExposureInfraredFrameSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define ILongExposureInfraredFrameSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define ILongExposureInfraredFrameSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define ILongExposureInfraredFrameSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define ILongExposureInfraredFrameSource_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define ILongExposureInfraredFrameSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ILongExposureInfraredFrameSource_INTERFACE_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrameReader_INTERFACE_DEFINED__ +#define __ILongExposureInfraredFrameReader_INTERFACE_DEFINED__ + +/* interface ILongExposureInfraredFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ILongExposureInfraredFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2AF23594-0115-417B-859F-A0E3FFB690D2") + ILongExposureInfraredFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ILongExposureInfraredFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestFrame( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrame **longExposureInfraredFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LongExposureInfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **LongExposureInfraredFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ILongExposureInfraredFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ILongExposureInfraredFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ILongExposureInfraredFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ILongExposureInfraredFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + ILongExposureInfraredFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + ILongExposureInfraredFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + ILongExposureInfraredFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ILongExposureInfraredFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestFrame )( + ILongExposureInfraredFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrame **longExposureInfraredFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + ILongExposureInfraredFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + ILongExposureInfraredFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongExposureInfraredFrameSource )( + ILongExposureInfraredFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **LongExposureInfraredFrameSource); + + END_INTERFACE + } ILongExposureInfraredFrameReaderVtbl; + + interface ILongExposureInfraredFrameReader + { + CONST_VTBL struct ILongExposureInfraredFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ILongExposureInfraredFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ILongExposureInfraredFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ILongExposureInfraredFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ILongExposureInfraredFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define ILongExposureInfraredFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define ILongExposureInfraredFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define ILongExposureInfraredFrameReader_AcquireLatestFrame(This,longExposureInfraredFrame) \ + ( (This)->lpVtbl -> AcquireLatestFrame(This,longExposureInfraredFrame) ) + +#define ILongExposureInfraredFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define ILongExposureInfraredFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define ILongExposureInfraredFrameReader_get_LongExposureInfraredFrameSource(This,LongExposureInfraredFrameSource) \ + ( (This)->lpVtbl -> get_LongExposureInfraredFrameSource(This,LongExposureInfraredFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ILongExposureInfraredFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __ILongExposureInfraredFrame_INTERFACE_DEFINED__ +#define __ILongExposureInfraredFrame_INTERFACE_DEFINED__ + +/* interface ILongExposureInfraredFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ILongExposureInfraredFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D1199394-9A42-4577-BE12-90A38B72282C") + ILongExposureInfraredFrame : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CopyFrameDataToArray( + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameDescription( + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LongExposureInfraredFrameSource( + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **longExposureInfraredFrameSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ILongExposureInfraredFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ILongExposureInfraredFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ILongExposureInfraredFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ILongExposureInfraredFrame * This); + + HRESULT ( STDMETHODCALLTYPE *CopyFrameDataToArray )( + ILongExposureInfraredFrame * This, + UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) UINT16 *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessUnderlyingBuffer )( + ILongExposureInfraredFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) UINT16 **buffer); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameDescription )( + ILongExposureInfraredFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IFrameDescription **frameDescription); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + ILongExposureInfraredFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LongExposureInfraredFrameSource )( + ILongExposureInfraredFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ ILongExposureInfraredFrameSource **longExposureInfraredFrameSource); + + END_INTERFACE + } ILongExposureInfraredFrameVtbl; + + interface ILongExposureInfraredFrame + { + CONST_VTBL struct ILongExposureInfraredFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ILongExposureInfraredFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ILongExposureInfraredFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ILongExposureInfraredFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ILongExposureInfraredFrame_CopyFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyFrameDataToArray(This,capacity,frameData) ) + +#define ILongExposureInfraredFrame_AccessUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessUnderlyingBuffer(This,capacity,buffer) ) + +#define ILongExposureInfraredFrame_get_FrameDescription(This,frameDescription) \ + ( (This)->lpVtbl -> get_FrameDescription(This,frameDescription) ) + +#define ILongExposureInfraredFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#define ILongExposureInfraredFrame_get_LongExposureInfraredFrameSource(This,longExposureInfraredFrameSource) \ + ( (This)->lpVtbl -> get_LongExposureInfraredFrameSource(This,longExposureInfraredFrameSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ILongExposureInfraredFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeam_INTERFACE_DEFINED__ +#define __IAudioBeam_INTERFACE_DEFINED__ + +/* interface IAudioBeam */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeam; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("F692D23A-14D0-432D-B802-DD381A45A121") + IAudioBeam : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBeamMode( + /* [annotation][out][retval] */ + _Out_ AudioBeamMode *audioBeamMode) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AudioBeamMode( + AudioBeamMode audioBeamMode) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamAngle( + /* [annotation][out][retval] */ + _Out_ float *beamAngle) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BeamAngle( + float beamAngle) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamAngleConfidence( + /* [annotation][out][retval] */ + _Out_ float *beamAngleConfidence) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenInputStream( + /* [annotation][out][retval] */ + _COM_Outptr_ IStream **stream) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeam * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeam * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeam * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSource )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBeamMode )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _Out_ AudioBeamMode *audioBeamMode); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AudioBeamMode )( + IAudioBeam * This, + AudioBeamMode audioBeamMode); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamAngle )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _Out_ float *beamAngle); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BeamAngle )( + IAudioBeam * This, + float beamAngle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamAngleConfidence )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _Out_ float *beamAngleConfidence); + + HRESULT ( STDMETHODCALLTYPE *OpenInputStream )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IStream **stream); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IAudioBeam * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IAudioBeamVtbl; + + interface IAudioBeam + { + CONST_VTBL struct IAudioBeamVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeam_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeam_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeam_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeam_get_AudioSource(This,audioSource) \ + ( (This)->lpVtbl -> get_AudioSource(This,audioSource) ) + +#define IAudioBeam_get_AudioBeamMode(This,audioBeamMode) \ + ( (This)->lpVtbl -> get_AudioBeamMode(This,audioBeamMode) ) + +#define IAudioBeam_put_AudioBeamMode(This,audioBeamMode) \ + ( (This)->lpVtbl -> put_AudioBeamMode(This,audioBeamMode) ) + +#define IAudioBeam_get_BeamAngle(This,beamAngle) \ + ( (This)->lpVtbl -> get_BeamAngle(This,beamAngle) ) + +#define IAudioBeam_put_BeamAngle(This,beamAngle) \ + ( (This)->lpVtbl -> put_BeamAngle(This,beamAngle) ) + +#define IAudioBeam_get_BeamAngleConfidence(This,beamAngleConfidence) \ + ( (This)->lpVtbl -> get_BeamAngleConfidence(This,beamAngleConfidence) ) + +#define IAudioBeam_OpenInputStream(This,stream) \ + ( (This)->lpVtbl -> OpenInputStream(This,stream) ) + +#define IAudioBeam_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeam_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamList_INTERFACE_DEFINED__ +#define __IAudioBeamList_INTERFACE_DEFINED__ + +/* interface IAudioBeamList */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamList; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3C792C7B-7D95-4C56-9DC7-EF63955781EA") + IAudioBeamList : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamCount( + /* [annotation][out][retval] */ + _Out_ UINT *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenAudioBeam( + UINT32 index, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeam **audioBeam) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamListVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamList * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamList * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamList * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamCount )( + IAudioBeamList * This, + /* [annotation][out][retval] */ + _Out_ UINT *count); + + HRESULT ( STDMETHODCALLTYPE *OpenAudioBeam )( + IAudioBeamList * This, + UINT32 index, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeam **audioBeam); + + END_INTERFACE + } IAudioBeamListVtbl; + + interface IAudioBeamList + { + CONST_VTBL struct IAudioBeamListVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamList_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamList_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamList_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamList_get_BeamCount(This,count) \ + ( (This)->lpVtbl -> get_BeamCount(This,count) ) + +#define IAudioBeamList_OpenAudioBeam(This,index,audioBeam) \ + ( (This)->lpVtbl -> OpenAudioBeam(This,index,audioBeam) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamList_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamFrameList_INTERFACE_DEFINED__ +#define __IAudioBeamFrameList_INTERFACE_DEFINED__ + +/* interface IAudioBeamFrameList */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamFrameList; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5393C8B9-C044-49CB-BDD6-23DFFFD7427E") + IAudioBeamFrameList : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamCount( + /* [annotation][out][retval] */ + _Out_ UINT *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenAudioBeamFrame( + UINT32 index, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeamFrame **audioBeamFrame) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamFrameListVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamFrameList * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamFrameList * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamFrameList * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamCount )( + IAudioBeamFrameList * This, + /* [annotation][out][retval] */ + _Out_ UINT *count); + + HRESULT ( STDMETHODCALLTYPE *OpenAudioBeamFrame )( + IAudioBeamFrameList * This, + UINT32 index, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeamFrame **audioBeamFrame); + + END_INTERFACE + } IAudioBeamFrameListVtbl; + + interface IAudioBeamFrameList + { + CONST_VTBL struct IAudioBeamFrameListVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamFrameList_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamFrameList_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamFrameList_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamFrameList_get_BeamCount(This,count) \ + ( (This)->lpVtbl -> get_BeamCount(This,count) ) + +#define IAudioBeamFrameList_OpenAudioBeamFrame(This,index,audioBeamFrame) \ + ( (This)->lpVtbl -> OpenAudioBeamFrame(This,index,audioBeamFrame) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamFrameList_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamFrame_INTERFACE_DEFINED__ +#define __IAudioBeamFrame_INTERFACE_DEFINED__ + +/* interface IAudioBeamFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("07AADCC8-EC4A-42F8-90A9-C72ECF0A1D06") + IAudioBeamFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Duration( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBeam( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeam **audioBeam) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubFrameCount( + /* [annotation][out][retval] */ + _Out_ UINT32 *pSubFrameCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSubFrame( + UINT32 subFrameIndex, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeamSubFrame **audioBeamSubFrame) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTimeStart( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSource )( + IAudioBeamFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IAudioBeamFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBeam )( + IAudioBeamFrame * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeam **audioBeam); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubFrameCount )( + IAudioBeamFrame * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *pSubFrameCount); + + HRESULT ( STDMETHODCALLTYPE *GetSubFrame )( + IAudioBeamFrame * This, + UINT32 subFrameIndex, + /* [annotation][out] */ + _COM_Outptr_ IAudioBeamSubFrame **audioBeamSubFrame); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTimeStart )( + IAudioBeamFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IAudioBeamFrameVtbl; + + interface IAudioBeamFrame + { + CONST_VTBL struct IAudioBeamFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamFrame_get_AudioSource(This,audioSource) \ + ( (This)->lpVtbl -> get_AudioSource(This,audioSource) ) + +#define IAudioBeamFrame_get_Duration(This,duration) \ + ( (This)->lpVtbl -> get_Duration(This,duration) ) + +#define IAudioBeamFrame_get_AudioBeam(This,audioBeam) \ + ( (This)->lpVtbl -> get_AudioBeam(This,audioBeam) ) + +#define IAudioBeamFrame_get_SubFrameCount(This,pSubFrameCount) \ + ( (This)->lpVtbl -> get_SubFrameCount(This,pSubFrameCount) ) + +#define IAudioBeamFrame_GetSubFrame(This,subFrameIndex,audioBeamSubFrame) \ + ( (This)->lpVtbl -> GetSubFrame(This,subFrameIndex,audioBeamSubFrame) ) + +#define IAudioBeamFrame_get_RelativeTimeStart(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTimeStart(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamSubFrame_INTERFACE_DEFINED__ +#define __IAudioBeamSubFrame_INTERFACE_DEFINED__ + +/* interface IAudioBeamSubFrame */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamSubFrame; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("0967DB97-80D1-4BC5-BD2B-4685098D9795") + IAudioBeamSubFrame : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameLengthInBytes( + /* [annotation][out][retval] */ + _Out_ UINT *length) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Duration( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamAngle( + /* [annotation][out][retval] */ + _Out_ float *beamAngle) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BeamAngleConfidence( + /* [annotation][out][retval] */ + _Out_ float *beamAngleConfidence) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBeamMode( + /* [annotation][out][retval] */ + _Out_ AudioBeamMode *audioBeamMode) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBodyCorrelationCount( + /* [annotation][out][retval] */ + _Out_ UINT32 *pCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAudioBodyCorrelation( + /* [annotation][in][in] */ + _In_ UINT index, + /* [annotation][out][out] */ + _COM_Outptr_ IAudioBodyCorrelation **ppAudioBodyCorrelation) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyFrameDataToArray( + /* [annotation] */ + _Pre_equal_to_(1024) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AccessUnderlyingBuffer( + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamSubFrameVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamSubFrame * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamSubFrame * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamSubFrame * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameLengthInBytes )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ UINT *length); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamAngle )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ float *beamAngle); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeamAngleConfidence )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ float *beamAngleConfidence); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBeamMode )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ AudioBeamMode *audioBeamMode); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBodyCorrelationCount )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *pCount); + + HRESULT ( STDMETHODCALLTYPE *GetAudioBodyCorrelation )( + IAudioBeamSubFrame * This, + /* [annotation][in][in] */ + _In_ UINT index, + /* [annotation][out][out] */ + _COM_Outptr_ IAudioBodyCorrelation **ppAudioBodyCorrelation); + + HRESULT ( STDMETHODCALLTYPE *CopyFrameDataToArray )( + IAudioBeamSubFrame * This, + /* [annotation] */ + _Pre_equal_to_(1024) UINT capacity, + /* [annotation][size_is][out] */ + _Out_writes_all_(capacity) BYTE *frameData); + + HRESULT ( STDMETHODCALLTYPE *AccessUnderlyingBuffer )( + IAudioBeamSubFrame * This, + /* [annotation][out] */ + _Out_ UINT *capacity, + /* [annotation][size_is][size_is][out] */ + _Outptr_result_buffer_(*capacity) BYTE **buffer); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IAudioBeamSubFrame * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IAudioBeamSubFrameVtbl; + + interface IAudioBeamSubFrame + { + CONST_VTBL struct IAudioBeamSubFrameVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamSubFrame_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamSubFrame_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamSubFrame_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamSubFrame_get_FrameLengthInBytes(This,length) \ + ( (This)->lpVtbl -> get_FrameLengthInBytes(This,length) ) + +#define IAudioBeamSubFrame_get_Duration(This,duration) \ + ( (This)->lpVtbl -> get_Duration(This,duration) ) + +#define IAudioBeamSubFrame_get_BeamAngle(This,beamAngle) \ + ( (This)->lpVtbl -> get_BeamAngle(This,beamAngle) ) + +#define IAudioBeamSubFrame_get_BeamAngleConfidence(This,beamAngleConfidence) \ + ( (This)->lpVtbl -> get_BeamAngleConfidence(This,beamAngleConfidence) ) + +#define IAudioBeamSubFrame_get_AudioBeamMode(This,audioBeamMode) \ + ( (This)->lpVtbl -> get_AudioBeamMode(This,audioBeamMode) ) + +#define IAudioBeamSubFrame_get_AudioBodyCorrelationCount(This,pCount) \ + ( (This)->lpVtbl -> get_AudioBodyCorrelationCount(This,pCount) ) + +#define IAudioBeamSubFrame_GetAudioBodyCorrelation(This,index,ppAudioBodyCorrelation) \ + ( (This)->lpVtbl -> GetAudioBodyCorrelation(This,index,ppAudioBodyCorrelation) ) + +#define IAudioBeamSubFrame_CopyFrameDataToArray(This,capacity,frameData) \ + ( (This)->lpVtbl -> CopyFrameDataToArray(This,capacity,frameData) ) + +#define IAudioBeamSubFrame_AccessUnderlyingBuffer(This,capacity,buffer) \ + ( (This)->lpVtbl -> AccessUnderlyingBuffer(This,capacity,buffer) ) + +#define IAudioBeamSubFrame_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamSubFrame_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamFrameReference_INTERFACE_DEFINED__ +#define __IAudioBeamFrameReference_INTERFACE_DEFINED__ + +/* interface IAudioBeamFrameReference */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamFrameReference; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1BD29D0E-6304-4AFB-9C85-77CFE3DC4FCE") + IAudioBeamFrameReference : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE AcquireBeamFrames( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameList **audioBeamFrameList) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RelativeTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamFrameReferenceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamFrameReference * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamFrameReference * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamFrameReference * This); + + HRESULT ( STDMETHODCALLTYPE *AcquireBeamFrames )( + IAudioBeamFrameReference * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameList **audioBeamFrameList); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelativeTime )( + IAudioBeamFrameReference * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *relativeTime); + + END_INTERFACE + } IAudioBeamFrameReferenceVtbl; + + interface IAudioBeamFrameReference + { + CONST_VTBL struct IAudioBeamFrameReferenceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamFrameReference_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamFrameReference_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamFrameReference_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamFrameReference_AcquireBeamFrames(This,audioBeamFrameList) \ + ( (This)->lpVtbl -> AcquireBeamFrames(This,audioBeamFrameList) ) + +#define IAudioBeamFrameReference_get_RelativeTime(This,relativeTime) \ + ( (This)->lpVtbl -> get_RelativeTime(This,relativeTime) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamFrameReference_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBodyCorrelation_INTERFACE_DEFINED__ +#define __IAudioBodyCorrelation_INTERFACE_DEFINED__ + +/* interface IAudioBodyCorrelation */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBodyCorrelation; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C5BA2355-07DB-47C3-ABC4-68D24B91DE61") + IAudioBodyCorrelation : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyTrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBodyCorrelationVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBodyCorrelation * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBodyCorrelation * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBodyCorrelation * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyTrackingId )( + IAudioBodyCorrelation * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *trackingId); + + END_INTERFACE + } IAudioBodyCorrelationVtbl; + + interface IAudioBodyCorrelation + { + CONST_VTBL struct IAudioBodyCorrelationVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBodyCorrelation_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBodyCorrelation_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBodyCorrelation_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBodyCorrelation_get_BodyTrackingId(This,trackingId) \ + ( (This)->lpVtbl -> get_BodyTrackingId(This,trackingId) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBodyCorrelation_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamFrameArrivedEventArgs_INTERFACE_DEFINED__ +#define __IAudioBeamFrameArrivedEventArgs_INTERFACE_DEFINED__ + +/* interface IAudioBeamFrameArrivedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamFrameArrivedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E0DBE62D-2045-4571-8D1D-ECF3981E3C3D") + IAudioBeamFrameArrivedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameReference( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameReference **audioBeamFrameReference) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamFrameArrivedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamFrameArrivedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamFrameArrivedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamFrameArrivedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameReference )( + IAudioBeamFrameArrivedEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameReference **audioBeamFrameReference); + + END_INTERFACE + } IAudioBeamFrameArrivedEventArgsVtbl; + + interface IAudioBeamFrameArrivedEventArgs + { + CONST_VTBL struct IAudioBeamFrameArrivedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamFrameArrivedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamFrameArrivedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamFrameArrivedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamFrameArrivedEventArgs_get_FrameReference(This,audioBeamFrameReference) \ + ( (This)->lpVtbl -> get_FrameReference(This,audioBeamFrameReference) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamFrameArrivedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioBeamFrameReader_INTERFACE_DEFINED__ +#define __IAudioBeamFrameReader_INTERFACE_DEFINED__ + +/* interface IAudioBeamFrameReader */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioBeamFrameReader; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("B5733DE9-6ECF-46B2-8B23-A16D71F1A75C") + IAudioBeamFrameReader : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameArrived( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameArrived( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameArrivedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IAudioBeamFrameArrivedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcquireLatestBeamFrames( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameList **audioBeamFrameList) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPaused( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPaused( + BOOLEAN isPaused) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioSource( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioBeamFrameReaderVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioBeamFrameReader * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioBeamFrameReader * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioBeamFrameReader * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameArrived )( + IAudioBeamFrameReader * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameArrived )( + IAudioBeamFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameArrivedEventData )( + IAudioBeamFrameReader * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IAudioBeamFrameArrivedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *AcquireLatestBeamFrames )( + IAudioBeamFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameList **audioBeamFrameList); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPaused )( + IAudioBeamFrameReader * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isPaused); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPaused )( + IAudioBeamFrameReader * This, + BOOLEAN isPaused); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioSource )( + IAudioBeamFrameReader * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioSource **audioSource); + + END_INTERFACE + } IAudioBeamFrameReaderVtbl; + + interface IAudioBeamFrameReader + { + CONST_VTBL struct IAudioBeamFrameReaderVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioBeamFrameReader_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioBeamFrameReader_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioBeamFrameReader_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioBeamFrameReader_SubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameArrived(This,waitableHandle) ) + +#define IAudioBeamFrameReader_UnsubscribeFrameArrived(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameArrived(This,waitableHandle) ) + +#define IAudioBeamFrameReader_GetFrameArrivedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameArrivedEventData(This,waitableHandle,eventData) ) + +#define IAudioBeamFrameReader_AcquireLatestBeamFrames(This,audioBeamFrameList) \ + ( (This)->lpVtbl -> AcquireLatestBeamFrames(This,audioBeamFrameList) ) + +#define IAudioBeamFrameReader_get_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> get_IsPaused(This,isPaused) ) + +#define IAudioBeamFrameReader_put_IsPaused(This,isPaused) \ + ( (This)->lpVtbl -> put_IsPaused(This,isPaused) ) + +#define IAudioBeamFrameReader_get_AudioSource(This,audioSource) \ + ( (This)->lpVtbl -> get_AudioSource(This,audioSource) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioBeamFrameReader_INTERFACE_DEFINED__ */ + + +#ifndef __IAudioSource_INTERFACE_DEFINED__ +#define __IAudioSource_INTERFACE_DEFINED__ + +/* interface IAudioSource */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IAudioSource; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("52D1D743-AED1-4E61-8AF8-19EF287A662C") + IAudioSource : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeFrameCaptured( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeFrameCaptured( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCapturedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KinectSensor( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubFrameLengthInBytes( + /* [annotation][out][retval] */ + _Out_ UINT *length) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SubFrameDuration( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MaxSubFrameCount( + /* [annotation][out][retval] */ + _Out_ UINT *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenReader( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameReader **reader) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioBeams( + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamList **audioBeamList) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AudioCalibrationState( + /* [annotation][out][retval] */ + _Out_ KinectAudioCalibrationState *audioCalibrationState) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IAudioSourceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IAudioSource * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IAudioSource * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IAudioSource * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeFrameCaptured )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeFrameCaptured )( + IAudioSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetFrameCapturedEventData )( + IAudioSource * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IFrameCapturedEventArgs **eventData); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KinectSensor )( + IAudioSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectSensor **sensor); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ BOOLEAN *isActive); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubFrameLengthInBytes )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ UINT *length); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubFrameDuration )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *duration); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxSubFrameCount )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ UINT *count); + + HRESULT ( STDMETHODCALLTYPE *OpenReader )( + IAudioSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamFrameReader **reader); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioBeams )( + IAudioSource * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IAudioBeamList **audioBeamList); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AudioCalibrationState )( + IAudioSource * This, + /* [annotation][out][retval] */ + _Out_ KinectAudioCalibrationState *audioCalibrationState); + + END_INTERFACE + } IAudioSourceVtbl; + + interface IAudioSource + { + CONST_VTBL struct IAudioSourceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IAudioSource_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IAudioSource_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IAudioSource_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IAudioSource_SubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeFrameCaptured(This,waitableHandle) ) + +#define IAudioSource_UnsubscribeFrameCaptured(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeFrameCaptured(This,waitableHandle) ) + +#define IAudioSource_GetFrameCapturedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetFrameCapturedEventData(This,waitableHandle,eventData) ) + +#define IAudioSource_get_KinectSensor(This,sensor) \ + ( (This)->lpVtbl -> get_KinectSensor(This,sensor) ) + +#define IAudioSource_get_IsActive(This,isActive) \ + ( (This)->lpVtbl -> get_IsActive(This,isActive) ) + +#define IAudioSource_get_SubFrameLengthInBytes(This,length) \ + ( (This)->lpVtbl -> get_SubFrameLengthInBytes(This,length) ) + +#define IAudioSource_get_SubFrameDuration(This,duration) \ + ( (This)->lpVtbl -> get_SubFrameDuration(This,duration) ) + +#define IAudioSource_get_MaxSubFrameCount(This,count) \ + ( (This)->lpVtbl -> get_MaxSubFrameCount(This,count) ) + +#define IAudioSource_OpenReader(This,reader) \ + ( (This)->lpVtbl -> OpenReader(This,reader) ) + +#define IAudioSource_get_AudioBeams(This,audioBeamList) \ + ( (This)->lpVtbl -> get_AudioBeams(This,audioBeamList) ) + +#define IAudioSource_get_AudioCalibrationState(This,audioCalibrationState) \ + ( (This)->lpVtbl -> get_AudioCalibrationState(This,audioCalibrationState) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IAudioSource_INTERFACE_DEFINED__ */ + + +#ifndef __ICoordinateMapper_INTERFACE_DEFINED__ +#define __ICoordinateMapper_INTERFACE_DEFINED__ + +/* interface ICoordinateMapper */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ICoordinateMapper; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("8784DF2D-16B0-481C-A11E-55E70BF25018") + ICoordinateMapper : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribeCoordinateMappingChanged( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeCoordinateMappingChanged( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCoordinateMappingChangedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICoordinateMappingChangedEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapCameraPointToDepthSpace( + CameraSpacePoint cameraPoint, + /* [annotation][out][retval] */ + _Out_ DepthSpacePoint *depthPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapCameraPointToColorSpace( + CameraSpacePoint cameraPoint, + /* [annotation][out][retval] */ + _Out_ ColorSpacePoint *colorPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthPointToCameraSpace( + DepthSpacePoint depthPoint, + UINT16 depth, + /* [annotation][out][retval] */ + _Out_ CameraSpacePoint *cameraPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthPointToColorSpace( + DepthSpacePoint depthPoint, + UINT16 depth, + /* [annotation][out][retval] */ + _Out_ ColorSpacePoint *colorPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapCameraPointsToDepthSpace( + UINT cameraPointCount, + /* [annotation][size_is][in] */ + _In_reads_(cameraPointCount) const CameraSpacePoint *cameraPoints, + UINT depthPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(depthPointCount) DepthSpacePoint *depthPoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapCameraPointsToColorSpace( + UINT cameraPointCount, + /* [annotation][size_is][in] */ + _In_reads_(cameraPointCount) const CameraSpacePoint *cameraPoints, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorPoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthPointsToCameraSpace( + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const DepthSpacePoint *depthPoints, + UINT depthCount, + /* [annotation][size_is][in] */ + _In_reads_(depthCount) const UINT16 *depths, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraPoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthPointsToColorSpace( + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const DepthSpacePoint *depthPoints, + UINT depthCount, + /* [annotation][size_is][in] */ + _In_reads_(depthCount) const UINT16 *depths, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorPoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthFrameToCameraSpace( + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const UINT16 *depthFrameData, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraSpacePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapDepthFrameToColorSpace( + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const UINT16 *depthFrameData, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorSpacePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapColorFrameToDepthSpace( + UINT depthDataPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthDataPointCount) const UINT16 *depthFrameData, + UINT depthPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(depthPointCount) DepthSpacePoint *depthSpacePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapColorFrameToCameraSpace( + UINT depthDataPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthDataPointCount) const UINT16 *depthFrameData, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraSpacePoints) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDepthFrameToCameraSpaceTable( + /* [annotation][out] */ + _Out_ UINT32 *tableEntryCount, + /* [annotation][size_is][size_is][out][retval] */ + _Outptr_result_buffer_(*tableEntryCount) PointF **tableEntries) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDepthCameraIntrinsics( + /* [annotation][out][retval] */ + _Out_ CameraIntrinsics *cameraIntrinsics) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICoordinateMapperVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICoordinateMapper * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICoordinateMapper * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICoordinateMapper * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribeCoordinateMappingChanged )( + ICoordinateMapper * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribeCoordinateMappingChanged )( + ICoordinateMapper * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetCoordinateMappingChangedEventData )( + ICoordinateMapper * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ ICoordinateMappingChangedEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *MapCameraPointToDepthSpace )( + ICoordinateMapper * This, + CameraSpacePoint cameraPoint, + /* [annotation][out][retval] */ + _Out_ DepthSpacePoint *depthPoint); + + HRESULT ( STDMETHODCALLTYPE *MapCameraPointToColorSpace )( + ICoordinateMapper * This, + CameraSpacePoint cameraPoint, + /* [annotation][out][retval] */ + _Out_ ColorSpacePoint *colorPoint); + + HRESULT ( STDMETHODCALLTYPE *MapDepthPointToCameraSpace )( + ICoordinateMapper * This, + DepthSpacePoint depthPoint, + UINT16 depth, + /* [annotation][out][retval] */ + _Out_ CameraSpacePoint *cameraPoint); + + HRESULT ( STDMETHODCALLTYPE *MapDepthPointToColorSpace )( + ICoordinateMapper * This, + DepthSpacePoint depthPoint, + UINT16 depth, + /* [annotation][out][retval] */ + _Out_ ColorSpacePoint *colorPoint); + + HRESULT ( STDMETHODCALLTYPE *MapCameraPointsToDepthSpace )( + ICoordinateMapper * This, + UINT cameraPointCount, + /* [annotation][size_is][in] */ + _In_reads_(cameraPointCount) const CameraSpacePoint *cameraPoints, + UINT depthPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(depthPointCount) DepthSpacePoint *depthPoints); + + HRESULT ( STDMETHODCALLTYPE *MapCameraPointsToColorSpace )( + ICoordinateMapper * This, + UINT cameraPointCount, + /* [annotation][size_is][in] */ + _In_reads_(cameraPointCount) const CameraSpacePoint *cameraPoints, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorPoints); + + HRESULT ( STDMETHODCALLTYPE *MapDepthPointsToCameraSpace )( + ICoordinateMapper * This, + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const DepthSpacePoint *depthPoints, + UINT depthCount, + /* [annotation][size_is][in] */ + _In_reads_(depthCount) const UINT16 *depths, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraPoints); + + HRESULT ( STDMETHODCALLTYPE *MapDepthPointsToColorSpace )( + ICoordinateMapper * This, + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const DepthSpacePoint *depthPoints, + UINT depthCount, + /* [annotation][size_is][in] */ + _In_reads_(depthCount) const UINT16 *depths, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorPoints); + + HRESULT ( STDMETHODCALLTYPE *MapDepthFrameToCameraSpace )( + ICoordinateMapper * This, + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const UINT16 *depthFrameData, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraSpacePoints); + + HRESULT ( STDMETHODCALLTYPE *MapDepthFrameToColorSpace )( + ICoordinateMapper * This, + UINT depthPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthPointCount) const UINT16 *depthFrameData, + UINT colorPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(colorPointCount) ColorSpacePoint *colorSpacePoints); + + HRESULT ( STDMETHODCALLTYPE *MapColorFrameToDepthSpace )( + ICoordinateMapper * This, + UINT depthDataPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthDataPointCount) const UINT16 *depthFrameData, + UINT depthPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(depthPointCount) DepthSpacePoint *depthSpacePoints); + + HRESULT ( STDMETHODCALLTYPE *MapColorFrameToCameraSpace )( + ICoordinateMapper * This, + UINT depthDataPointCount, + /* [annotation][size_is][in] */ + _In_reads_(depthDataPointCount) const UINT16 *depthFrameData, + UINT cameraPointCount, + /* [annotation][size_is][out] */ + _Out_writes_all_(cameraPointCount) CameraSpacePoint *cameraSpacePoints); + + HRESULT ( STDMETHODCALLTYPE *GetDepthFrameToCameraSpaceTable )( + ICoordinateMapper * This, + /* [annotation][out] */ + _Out_ UINT32 *tableEntryCount, + /* [annotation][size_is][size_is][out][retval] */ + _Outptr_result_buffer_(*tableEntryCount) PointF **tableEntries); + + HRESULT ( STDMETHODCALLTYPE *GetDepthCameraIntrinsics )( + ICoordinateMapper * This, + /* [annotation][out][retval] */ + _Out_ CameraIntrinsics *cameraIntrinsics); + + END_INTERFACE + } ICoordinateMapperVtbl; + + interface ICoordinateMapper + { + CONST_VTBL struct ICoordinateMapperVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICoordinateMapper_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICoordinateMapper_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICoordinateMapper_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ICoordinateMapper_SubscribeCoordinateMappingChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribeCoordinateMappingChanged(This,waitableHandle) ) + +#define ICoordinateMapper_UnsubscribeCoordinateMappingChanged(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribeCoordinateMappingChanged(This,waitableHandle) ) + +#define ICoordinateMapper_GetCoordinateMappingChangedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetCoordinateMappingChangedEventData(This,waitableHandle,eventData) ) + +#define ICoordinateMapper_MapCameraPointToDepthSpace(This,cameraPoint,depthPoint) \ + ( (This)->lpVtbl -> MapCameraPointToDepthSpace(This,cameraPoint,depthPoint) ) + +#define ICoordinateMapper_MapCameraPointToColorSpace(This,cameraPoint,colorPoint) \ + ( (This)->lpVtbl -> MapCameraPointToColorSpace(This,cameraPoint,colorPoint) ) + +#define ICoordinateMapper_MapDepthPointToCameraSpace(This,depthPoint,depth,cameraPoint) \ + ( (This)->lpVtbl -> MapDepthPointToCameraSpace(This,depthPoint,depth,cameraPoint) ) + +#define ICoordinateMapper_MapDepthPointToColorSpace(This,depthPoint,depth,colorPoint) \ + ( (This)->lpVtbl -> MapDepthPointToColorSpace(This,depthPoint,depth,colorPoint) ) + +#define ICoordinateMapper_MapCameraPointsToDepthSpace(This,cameraPointCount,cameraPoints,depthPointCount,depthPoints) \ + ( (This)->lpVtbl -> MapCameraPointsToDepthSpace(This,cameraPointCount,cameraPoints,depthPointCount,depthPoints) ) + +#define ICoordinateMapper_MapCameraPointsToColorSpace(This,cameraPointCount,cameraPoints,colorPointCount,colorPoints) \ + ( (This)->lpVtbl -> MapCameraPointsToColorSpace(This,cameraPointCount,cameraPoints,colorPointCount,colorPoints) ) + +#define ICoordinateMapper_MapDepthPointsToCameraSpace(This,depthPointCount,depthPoints,depthCount,depths,cameraPointCount,cameraPoints) \ + ( (This)->lpVtbl -> MapDepthPointsToCameraSpace(This,depthPointCount,depthPoints,depthCount,depths,cameraPointCount,cameraPoints) ) + +#define ICoordinateMapper_MapDepthPointsToColorSpace(This,depthPointCount,depthPoints,depthCount,depths,colorPointCount,colorPoints) \ + ( (This)->lpVtbl -> MapDepthPointsToColorSpace(This,depthPointCount,depthPoints,depthCount,depths,colorPointCount,colorPoints) ) + +#define ICoordinateMapper_MapDepthFrameToCameraSpace(This,depthPointCount,depthFrameData,cameraPointCount,cameraSpacePoints) \ + ( (This)->lpVtbl -> MapDepthFrameToCameraSpace(This,depthPointCount,depthFrameData,cameraPointCount,cameraSpacePoints) ) + +#define ICoordinateMapper_MapDepthFrameToColorSpace(This,depthPointCount,depthFrameData,colorPointCount,colorSpacePoints) \ + ( (This)->lpVtbl -> MapDepthFrameToColorSpace(This,depthPointCount,depthFrameData,colorPointCount,colorSpacePoints) ) + +#define ICoordinateMapper_MapColorFrameToDepthSpace(This,depthDataPointCount,depthFrameData,depthPointCount,depthSpacePoints) \ + ( (This)->lpVtbl -> MapColorFrameToDepthSpace(This,depthDataPointCount,depthFrameData,depthPointCount,depthSpacePoints) ) + +#define ICoordinateMapper_MapColorFrameToCameraSpace(This,depthDataPointCount,depthFrameData,cameraPointCount,cameraSpacePoints) \ + ( (This)->lpVtbl -> MapColorFrameToCameraSpace(This,depthDataPointCount,depthFrameData,cameraPointCount,cameraSpacePoints) ) + +#define ICoordinateMapper_GetDepthFrameToCameraSpaceTable(This,tableEntryCount,tableEntries) \ + ( (This)->lpVtbl -> GetDepthFrameToCameraSpaceTable(This,tableEntryCount,tableEntries) ) + +#define ICoordinateMapper_GetDepthCameraIntrinsics(This,cameraIntrinsics) \ + ( (This)->lpVtbl -> GetDepthCameraIntrinsics(This,cameraIntrinsics) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICoordinateMapper_INTERFACE_DEFINED__ */ + + +#ifndef __ICoordinateMappingChangedEventArgs_INTERFACE_DEFINED__ +#define __ICoordinateMappingChangedEventArgs_INTERFACE_DEFINED__ + +/* interface ICoordinateMappingChangedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_ICoordinateMappingChangedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("E9A2A0BF-13BD-4A53-A157-91FC8BB41F85") + ICoordinateMappingChangedEventArgs : public IUnknown + { + public: + }; + + +#else /* C style interface */ + + typedef struct ICoordinateMappingChangedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ICoordinateMappingChangedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + ICoordinateMappingChangedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + ICoordinateMappingChangedEventArgs * This); + + END_INTERFACE + } ICoordinateMappingChangedEventArgsVtbl; + + interface ICoordinateMappingChangedEventArgs + { + CONST_VTBL struct ICoordinateMappingChangedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ICoordinateMappingChangedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ICoordinateMappingChangedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ICoordinateMappingChangedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ICoordinateMappingChangedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IColorCameraSettings_INTERFACE_DEFINED__ +#define __IColorCameraSettings_INTERFACE_DEFINED__ + +/* interface IColorCameraSettings */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IColorCameraSettings; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("DBF802AB-0ADF-485A-A844-CF1C7956D039") + IColorCameraSettings : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExposureTime( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *exposureTime) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameInterval( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *frameInterval) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Gain( + /* [annotation][out][retval] */ + _Out_ float *gain) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Gamma( + /* [annotation][out][retval] */ + _Out_ float *gamma) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IColorCameraSettingsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IColorCameraSettings * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IColorCameraSettings * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IColorCameraSettings * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExposureTime )( + IColorCameraSettings * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *exposureTime); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameInterval )( + IColorCameraSettings * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *frameInterval); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gain )( + IColorCameraSettings * This, + /* [annotation][out][retval] */ + _Out_ float *gain); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gamma )( + IColorCameraSettings * This, + /* [annotation][out][retval] */ + _Out_ float *gamma); + + END_INTERFACE + } IColorCameraSettingsVtbl; + + interface IColorCameraSettings + { + CONST_VTBL struct IColorCameraSettingsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IColorCameraSettings_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IColorCameraSettings_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IColorCameraSettings_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IColorCameraSettings_get_ExposureTime(This,exposureTime) \ + ( (This)->lpVtbl -> get_ExposureTime(This,exposureTime) ) + +#define IColorCameraSettings_get_FrameInterval(This,frameInterval) \ + ( (This)->lpVtbl -> get_FrameInterval(This,frameInterval) ) + +#define IColorCameraSettings_get_Gain(This,gain) \ + ( (This)->lpVtbl -> get_Gain(This,gain) ) + +#define IColorCameraSettings_get_Gamma(This,gamma) \ + ( (This)->lpVtbl -> get_Gamma(This,gamma) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IColorCameraSettings_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_Kinect2ECOM_0000_0052 */ +/* [local] */ + +HRESULT WINAPI GetDefaultKinectSensor(_COM_Outptr_ IKinectSensor** defaultKinectSensor); +#define BODY_COUNT 6 + +#ifndef _PointerDeviceType_ +#define _PointerDeviceType_ +typedef enum _PointerDeviceType PointerDeviceType; + + +enum _PointerDeviceType + { + PointerDeviceType_Touch = 0, + PointerDeviceType_Pen = 1, + PointerDeviceType_Mouse = 2, + PointerDeviceType_Kinect = 3 + } ; +#endif // _PointerDeviceType_ +#ifndef _HandType_ +#define _HandType_ +typedef enum _HandType HandType; + + +enum _HandType + { + HandType_NONE = 0, + HandType_LEFT = ( HandType_NONE + 1 ) , + HandType_RIGHT = ( HandType_LEFT + 1 ) + } ; +#endif // _HandType_ +#ifndef _KinectHoldingState_ +#define _KinectHoldingState_ +typedef enum _KinectHoldingState KinectHoldingState; + + +enum _KinectHoldingState + { + KinectHoldingState_Started = 0, + KinectHoldingState_Completed = 1, + KinectHoldingState_Canceled = 2 + } ; +#endif // _KinectHoldingState_ +#ifndef _KinectGestureSettings_ +#define _KinectGestureSettings_ +typedef enum _KinectGestureSettings KinectGestureSettings; + + +enum _KinectGestureSettings + { + KinectGestureSettings_None = 0, + KinectGestureSettings_Tap = 0x1, + KinectGestureSettings_ManipulationTranslateX = 0x40, + KinectGestureSettings_ManipulationTranslateY = 0x80, + KinectGestureSettings_ManipulationTranslateRailsX = 0x100, + KinectGestureSettings_ManipulationTranslateRailsY = 0x200, + KinectGestureSettings_ManipulationScale = 0x800, + KinectGestureSettings_ManipulationTranslateInertia = 0x1000, + KinectGestureSettings_KinectHold = 0x10000 + } ; +#endif // _KinectGestureSettings_ +#ifndef _KinectInteractionMode_ +#define _KinectInteractionMode_ +typedef enum _KinectInteractionMode KinectInteractionMode; + + +enum _KinectInteractionMode + { + KinectInteractionMode_Normal = 0, + KinectInteractionMode_Off = 1, + KinectInteractionMode_Media = 2 + } ; +#endif // _KinectInteractionMode_ +#ifndef _KinectEngagementMode_ +#define _KinectEngagementMode_ +typedef enum _KinectEngagementMode KinectEngagementMode; + + +enum _KinectEngagementMode + { + KinectEngagementMode_None = 0, + KinectEngagementMode_SystemOnePerson = 1, + KinectEngagementMode_SystemTwoPerson = 2, + KinectEngagementMode_ManualOnePerson = 3, + KinectEngagementMode_ManualTwoPerson = 4 + } ; +#endif // _KinectEngagementMode_ +#ifndef _KinectManipulationDelta_ +#define _KinectManipulationDelta_ +typedef struct _KinectManipulationDelta + { + PointF Translation; + float Scale; + float Rotation; + float Expansion; + } KinectManipulationDelta; + +#endif // _KinectManipulationDelta_ +#ifndef _KinectManipulationVelocities_ +#define _KinectManipulationVelocities_ +typedef struct _KinectManipulationVelocities + { + PointF Linear; + float Angular; + float Expansion; + } KinectManipulationVelocities; + +#endif // _KinectManipulationVelocities_ + + + + + + + + + + + + + + + + + + + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0052_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0052_v0_0_s_ifspec; + +#ifndef __IBodyHandPair_INTERFACE_DEFINED__ +#define __IBodyHandPair_INTERFACE_DEFINED__ + +/* interface IBodyHandPair */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IBodyHandPair; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3F0C2E40-E9DC-4178-A8F5-5600E059C84C") + IBodyHandPair : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyTrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BodyTrackingId( + /* [in] */ UINT64 value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandType( + /* [annotation][out][retval] */ + _Out_ HandType *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HandType( + /* [in] */ HandType value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IBodyHandPairVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IBodyHandPair * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IBodyHandPair * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IBodyHandPair * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyTrackingId )( + IBodyHandPair * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BodyTrackingId )( + IBodyHandPair * This, + /* [in] */ UINT64 value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandType )( + IBodyHandPair * This, + /* [annotation][out][retval] */ + _Out_ HandType *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HandType )( + IBodyHandPair * This, + /* [in] */ HandType value); + + END_INTERFACE + } IBodyHandPairVtbl; + + interface IBodyHandPair + { + CONST_VTBL struct IBodyHandPairVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IBodyHandPair_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IBodyHandPair_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IBodyHandPair_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IBodyHandPair_get_BodyTrackingId(This,value) \ + ( (This)->lpVtbl -> get_BodyTrackingId(This,value) ) + +#define IBodyHandPair_put_BodyTrackingId(This,value) \ + ( (This)->lpVtbl -> put_BodyTrackingId(This,value) ) + +#define IBodyHandPair_get_HandType(This,value) \ + ( (This)->lpVtbl -> get_HandType(This,value) ) + +#define IBodyHandPair_put_HandType(This,value) \ + ( (This)->lpVtbl -> put_HandType(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IBodyHandPair_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectCoreWindow_INTERFACE_DEFINED__ +#define __IKinectCoreWindow_INTERFACE_DEFINED__ + +/* interface IKinectCoreWindow */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectCoreWindow; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("6B5DDAC2-1C7A-4962-937B-A7A527149C64") + IKinectCoreWindow : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SubscribePointerEntered( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribePointerEntered( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPointerEnteredEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubscribePointerMoved( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribePointerMoved( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPointerMovedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubscribePointerExited( + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribePointerExited( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPointerExitedEventData( + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectCoreWindowVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectCoreWindow * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectCoreWindow * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectCoreWindow * This); + + HRESULT ( STDMETHODCALLTYPE *SubscribePointerEntered )( + IKinectCoreWindow * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribePointerEntered )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetPointerEnteredEventData )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *SubscribePointerMoved )( + IKinectCoreWindow * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribePointerMoved )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetPointerMovedEventData )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData); + + HRESULT ( STDMETHODCALLTYPE *SubscribePointerExited )( + IKinectCoreWindow * This, + /* [annotation][out][retval] */ + _Out_ WAITABLE_HANDLE *waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *UnsubscribePointerExited )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle); + + HRESULT ( STDMETHODCALLTYPE *GetPointerExitedEventData )( + IKinectCoreWindow * This, + /* [annotation][in] */ + _In_ WAITABLE_HANDLE waitableHandle, + /* [annotation][out][retval] */ + _Out_ IKinectPointerEventArgs **eventData); + + END_INTERFACE + } IKinectCoreWindowVtbl; + + interface IKinectCoreWindow + { + CONST_VTBL struct IKinectCoreWindowVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectCoreWindow_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectCoreWindow_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectCoreWindow_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectCoreWindow_SubscribePointerEntered(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribePointerEntered(This,waitableHandle) ) + +#define IKinectCoreWindow_UnsubscribePointerEntered(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribePointerEntered(This,waitableHandle) ) + +#define IKinectCoreWindow_GetPointerEnteredEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetPointerEnteredEventData(This,waitableHandle,eventData) ) + +#define IKinectCoreWindow_SubscribePointerMoved(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribePointerMoved(This,waitableHandle) ) + +#define IKinectCoreWindow_UnsubscribePointerMoved(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribePointerMoved(This,waitableHandle) ) + +#define IKinectCoreWindow_GetPointerMovedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetPointerMovedEventData(This,waitableHandle,eventData) ) + +#define IKinectCoreWindow_SubscribePointerExited(This,waitableHandle) \ + ( (This)->lpVtbl -> SubscribePointerExited(This,waitableHandle) ) + +#define IKinectCoreWindow_UnsubscribePointerExited(This,waitableHandle) \ + ( (This)->lpVtbl -> UnsubscribePointerExited(This,waitableHandle) ) + +#define IKinectCoreWindow_GetPointerExitedEventData(This,waitableHandle,eventData) \ + ( (This)->lpVtbl -> GetPointerExitedEventData(This,waitableHandle,eventData) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectCoreWindow_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizer_INTERFACE_DEFINED__ +#define __IKinectGestureRecognizer_INTERFACE_DEFINED__ + +/* interface IKinectGestureRecognizer */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectGestureRecognizer; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5F51A3C4-2400-4F6D-8A6C-25B96715EFF1") + IKinectGestureRecognizer : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE RegisterSelectionTappedHandler( + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterSelectionTappedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterSelectionHoldingHandler( + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterSelectionHoldingHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterSelectionPressingStartedHandler( + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterSelectionPressingStartedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterSelectionPressingUpdatedHandler( + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterSelectionPressingUpdatedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterSelectionPressingCompletedHandler( + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterSelectionPressingCompletedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterManipulationStartedHandler( + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterManipulationStartedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterManipulationUpdatedHandler( + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterManipulationUpdatedHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterManipulationInertiaStartingHandler( + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterManipulationInertiaStartingHandler( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterManipulationCompletedHandler( + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterManipulationCompletedHandler( void) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_GestureSettings( + /* [annotation][out][retval] */ + _Out_ KinectGestureSettings *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_GestureSettings( + /* [in] */ KinectGestureSettings value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInertial( + /* [annotation][out][retval] */ + _Out_ boolean *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsActive( + /* [annotation][out][retval] */ + _Out_ boolean *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InertiaTranslationDeceleration( + /* [annotation][out][retval] */ + _Out_ float *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InertiaTranslationDeceleration( + /* [in] */ float value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InertiaTranslationDisplacement( + /* [annotation][out][retval] */ + _Out_ float *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InertiaTranslationDisplacement( + /* [in] */ float value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoProcessInertia( + /* [annotation][out][retval] */ + _Out_ boolean *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoProcessInertia( + /* [in] */ boolean value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BoundingRect( + /* [annotation][out][retval] */ + _Out_ RectF *value) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BoundingRect( + /* [in] */ RectF value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessDownEvent( + /* [annotation][in] */ + _In_ IKinectPointerPoint *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessUpEvent( + /* [annotation][in] */ + _In_ IKinectPointerPoint *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessMoveEvents( + /* [annotation][in] */ + _In_ IKinectPointerPoint *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessInertia( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompleteGesture( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectGestureRecognizerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectGestureRecognizer * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectGestureRecognizer * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterSelectionTappedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterSelectionTappedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterSelectionHoldingHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterSelectionHoldingHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterSelectionPressingStartedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterSelectionPressingStartedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterSelectionPressingUpdatedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterSelectionPressingUpdatedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterSelectionPressingCompletedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerSelectionHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterSelectionPressingCompletedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterManipulationStartedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterManipulationStartedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterManipulationUpdatedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterManipulationUpdatedHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterManipulationInertiaStartingHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterManipulationInertiaStartingHandler )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *RegisterManipulationCompletedHandler )( + IKinectGestureRecognizer * This, + /* [in] */ IKinectGestureRecognizerManipulationHandler *handler); + + HRESULT ( STDMETHODCALLTYPE *UnregisterManipulationCompletedHandler )( + IKinectGestureRecognizer * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_GestureSettings )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ KinectGestureSettings *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_GestureSettings )( + IKinectGestureRecognizer * This, + /* [in] */ KinectGestureSettings value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInertial )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ boolean *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsActive )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ boolean *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InertiaTranslationDeceleration )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ float *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InertiaTranslationDeceleration )( + IKinectGestureRecognizer * This, + /* [in] */ float value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InertiaTranslationDisplacement )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ float *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InertiaTranslationDisplacement )( + IKinectGestureRecognizer * This, + /* [in] */ float value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoProcessInertia )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ boolean *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoProcessInertia )( + IKinectGestureRecognizer * This, + /* [in] */ boolean value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundingRect )( + IKinectGestureRecognizer * This, + /* [annotation][out][retval] */ + _Out_ RectF *value); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoundingRect )( + IKinectGestureRecognizer * This, + /* [in] */ RectF value); + + HRESULT ( STDMETHODCALLTYPE *ProcessDownEvent )( + IKinectGestureRecognizer * This, + /* [annotation][in] */ + _In_ IKinectPointerPoint *value); + + HRESULT ( STDMETHODCALLTYPE *ProcessUpEvent )( + IKinectGestureRecognizer * This, + /* [annotation][in] */ + _In_ IKinectPointerPoint *value); + + HRESULT ( STDMETHODCALLTYPE *ProcessMoveEvents )( + IKinectGestureRecognizer * This, + /* [annotation][in] */ + _In_ IKinectPointerPoint *value); + + HRESULT ( STDMETHODCALLTYPE *ProcessInertia )( + IKinectGestureRecognizer * This); + + HRESULT ( STDMETHODCALLTYPE *CompleteGesture )( + IKinectGestureRecognizer * This); + + END_INTERFACE + } IKinectGestureRecognizerVtbl; + + interface IKinectGestureRecognizer + { + CONST_VTBL struct IKinectGestureRecognizerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectGestureRecognizer_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectGestureRecognizer_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectGestureRecognizer_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectGestureRecognizer_RegisterSelectionTappedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterSelectionTappedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterSelectionTappedHandler(This) \ + ( (This)->lpVtbl -> UnregisterSelectionTappedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterSelectionHoldingHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterSelectionHoldingHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterSelectionHoldingHandler(This) \ + ( (This)->lpVtbl -> UnregisterSelectionHoldingHandler(This) ) + +#define IKinectGestureRecognizer_RegisterSelectionPressingStartedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterSelectionPressingStartedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterSelectionPressingStartedHandler(This) \ + ( (This)->lpVtbl -> UnregisterSelectionPressingStartedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterSelectionPressingUpdatedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterSelectionPressingUpdatedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterSelectionPressingUpdatedHandler(This) \ + ( (This)->lpVtbl -> UnregisterSelectionPressingUpdatedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterSelectionPressingCompletedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterSelectionPressingCompletedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterSelectionPressingCompletedHandler(This) \ + ( (This)->lpVtbl -> UnregisterSelectionPressingCompletedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterManipulationStartedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterManipulationStartedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterManipulationStartedHandler(This) \ + ( (This)->lpVtbl -> UnregisterManipulationStartedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterManipulationUpdatedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterManipulationUpdatedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterManipulationUpdatedHandler(This) \ + ( (This)->lpVtbl -> UnregisterManipulationUpdatedHandler(This) ) + +#define IKinectGestureRecognizer_RegisterManipulationInertiaStartingHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterManipulationInertiaStartingHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterManipulationInertiaStartingHandler(This) \ + ( (This)->lpVtbl -> UnregisterManipulationInertiaStartingHandler(This) ) + +#define IKinectGestureRecognizer_RegisterManipulationCompletedHandler(This,handler) \ + ( (This)->lpVtbl -> RegisterManipulationCompletedHandler(This,handler) ) + +#define IKinectGestureRecognizer_UnregisterManipulationCompletedHandler(This) \ + ( (This)->lpVtbl -> UnregisterManipulationCompletedHandler(This) ) + +#define IKinectGestureRecognizer_get_GestureSettings(This,value) \ + ( (This)->lpVtbl -> get_GestureSettings(This,value) ) + +#define IKinectGestureRecognizer_put_GestureSettings(This,value) \ + ( (This)->lpVtbl -> put_GestureSettings(This,value) ) + +#define IKinectGestureRecognizer_get_IsInertial(This,value) \ + ( (This)->lpVtbl -> get_IsInertial(This,value) ) + +#define IKinectGestureRecognizer_get_IsActive(This,value) \ + ( (This)->lpVtbl -> get_IsActive(This,value) ) + +#define IKinectGestureRecognizer_get_InertiaTranslationDeceleration(This,value) \ + ( (This)->lpVtbl -> get_InertiaTranslationDeceleration(This,value) ) + +#define IKinectGestureRecognizer_put_InertiaTranslationDeceleration(This,value) \ + ( (This)->lpVtbl -> put_InertiaTranslationDeceleration(This,value) ) + +#define IKinectGestureRecognizer_get_InertiaTranslationDisplacement(This,value) \ + ( (This)->lpVtbl -> get_InertiaTranslationDisplacement(This,value) ) + +#define IKinectGestureRecognizer_put_InertiaTranslationDisplacement(This,value) \ + ( (This)->lpVtbl -> put_InertiaTranslationDisplacement(This,value) ) + +#define IKinectGestureRecognizer_get_AutoProcessInertia(This,value) \ + ( (This)->lpVtbl -> get_AutoProcessInertia(This,value) ) + +#define IKinectGestureRecognizer_put_AutoProcessInertia(This,value) \ + ( (This)->lpVtbl -> put_AutoProcessInertia(This,value) ) + +#define IKinectGestureRecognizer_get_BoundingRect(This,value) \ + ( (This)->lpVtbl -> get_BoundingRect(This,value) ) + +#define IKinectGestureRecognizer_put_BoundingRect(This,value) \ + ( (This)->lpVtbl -> put_BoundingRect(This,value) ) + +#define IKinectGestureRecognizer_ProcessDownEvent(This,value) \ + ( (This)->lpVtbl -> ProcessDownEvent(This,value) ) + +#define IKinectGestureRecognizer_ProcessUpEvent(This,value) \ + ( (This)->lpVtbl -> ProcessUpEvent(This,value) ) + +#define IKinectGestureRecognizer_ProcessMoveEvents(This,value) \ + ( (This)->lpVtbl -> ProcessMoveEvents(This,value) ) + +#define IKinectGestureRecognizer_ProcessInertia(This) \ + ( (This)->lpVtbl -> ProcessInertia(This) ) + +#define IKinectGestureRecognizer_CompleteGesture(This) \ + ( (This)->lpVtbl -> CompleteGesture(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectGestureRecognizer_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizerSelectionHandler_INTERFACE_DEFINED__ +#define __IKinectGestureRecognizerSelectionHandler_INTERFACE_DEFINED__ + +/* interface IKinectGestureRecognizerSelectionHandler */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectGestureRecognizerSelectionHandler; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9F3D5C22-158F-4A4E-AD4E-023FAE1F4BC9") + IKinectGestureRecognizerSelectionHandler : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE OnTapped( + /* [in] */ IKinectTappedEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnHolding( + /* [in] */ IKinectHoldingEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnPressingStarted( + /* [in] */ IKinectPressingStartedEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnPressingUpdated( + /* [in] */ IKinectPressingUpdatedEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnPressingCompleted( + /* [in] */ IKinectPressingCompletedEventArgs *args) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectGestureRecognizerSelectionHandlerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectGestureRecognizerSelectionHandler * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectGestureRecognizerSelectionHandler * This); + + HRESULT ( STDMETHODCALLTYPE *OnTapped )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ IKinectTappedEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnHolding )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ IKinectHoldingEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnPressingStarted )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ IKinectPressingStartedEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnPressingUpdated )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ IKinectPressingUpdatedEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnPressingCompleted )( + IKinectGestureRecognizerSelectionHandler * This, + /* [in] */ IKinectPressingCompletedEventArgs *args); + + END_INTERFACE + } IKinectGestureRecognizerSelectionHandlerVtbl; + + interface IKinectGestureRecognizerSelectionHandler + { + CONST_VTBL struct IKinectGestureRecognizerSelectionHandlerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectGestureRecognizerSelectionHandler_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectGestureRecognizerSelectionHandler_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectGestureRecognizerSelectionHandler_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectGestureRecognizerSelectionHandler_OnTapped(This,args) \ + ( (This)->lpVtbl -> OnTapped(This,args) ) + +#define IKinectGestureRecognizerSelectionHandler_OnHolding(This,args) \ + ( (This)->lpVtbl -> OnHolding(This,args) ) + +#define IKinectGestureRecognizerSelectionHandler_OnPressingStarted(This,args) \ + ( (This)->lpVtbl -> OnPressingStarted(This,args) ) + +#define IKinectGestureRecognizerSelectionHandler_OnPressingUpdated(This,args) \ + ( (This)->lpVtbl -> OnPressingUpdated(This,args) ) + +#define IKinectGestureRecognizerSelectionHandler_OnPressingCompleted(This,args) \ + ( (This)->lpVtbl -> OnPressingCompleted(This,args) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectGestureRecognizerSelectionHandler_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectGestureRecognizerManipulationHandler_INTERFACE_DEFINED__ +#define __IKinectGestureRecognizerManipulationHandler_INTERFACE_DEFINED__ + +/* interface IKinectGestureRecognizerManipulationHandler */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectGestureRecognizerManipulationHandler; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("398CF7E0-4FD4-4336-BAAA-B6708B4C437B") + IKinectGestureRecognizerManipulationHandler : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE OnManipulationStarted( + /* [in] */ IKinectManipulationStartedEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnManipulationUpdated( + /* [in] */ IKinectManipulationUpdatedEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnManipulationInertiaStarting( + /* [in] */ IKinectManipulationInertiaStartingEventArgs *args) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnManipulationCompleted( + /* [in] */ IKinectManipulationCompletedEventArgs *args) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectGestureRecognizerManipulationHandlerVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectGestureRecognizerManipulationHandler * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectGestureRecognizerManipulationHandler * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectGestureRecognizerManipulationHandler * This); + + HRESULT ( STDMETHODCALLTYPE *OnManipulationStarted )( + IKinectGestureRecognizerManipulationHandler * This, + /* [in] */ IKinectManipulationStartedEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnManipulationUpdated )( + IKinectGestureRecognizerManipulationHandler * This, + /* [in] */ IKinectManipulationUpdatedEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnManipulationInertiaStarting )( + IKinectGestureRecognizerManipulationHandler * This, + /* [in] */ IKinectManipulationInertiaStartingEventArgs *args); + + HRESULT ( STDMETHODCALLTYPE *OnManipulationCompleted )( + IKinectGestureRecognizerManipulationHandler * This, + /* [in] */ IKinectManipulationCompletedEventArgs *args); + + END_INTERFACE + } IKinectGestureRecognizerManipulationHandlerVtbl; + + interface IKinectGestureRecognizerManipulationHandler + { + CONST_VTBL struct IKinectGestureRecognizerManipulationHandlerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectGestureRecognizerManipulationHandler_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectGestureRecognizerManipulationHandler_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectGestureRecognizerManipulationHandler_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectGestureRecognizerManipulationHandler_OnManipulationStarted(This,args) \ + ( (This)->lpVtbl -> OnManipulationStarted(This,args) ) + +#define IKinectGestureRecognizerManipulationHandler_OnManipulationUpdated(This,args) \ + ( (This)->lpVtbl -> OnManipulationUpdated(This,args) ) + +#define IKinectGestureRecognizerManipulationHandler_OnManipulationInertiaStarting(This,args) \ + ( (This)->lpVtbl -> OnManipulationInertiaStarting(This,args) ) + +#define IKinectGestureRecognizerManipulationHandler_OnManipulationCompleted(This,args) \ + ( (This)->lpVtbl -> OnManipulationCompleted(This,args) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectGestureRecognizerManipulationHandler_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectHoldingEventArgs_INTERFACE_DEFINED__ +#define __IKinectHoldingEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectHoldingEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectHoldingEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("A7B4B8F4-55B5-4FB2-B7C4-83B7700748DF") + IKinectHoldingEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HoldingState( + /* [annotation][out][retval] */ + _Out_ KinectHoldingState *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectHoldingEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectHoldingEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectHoldingEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectHoldingEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectHoldingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectHoldingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HoldingState )( + IKinectHoldingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectHoldingState *value); + + END_INTERFACE + } IKinectHoldingEventArgsVtbl; + + interface IKinectHoldingEventArgs + { + CONST_VTBL struct IKinectHoldingEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectHoldingEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectHoldingEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectHoldingEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectHoldingEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectHoldingEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectHoldingEventArgs_get_HoldingState(This,value) \ + ( (This)->lpVtbl -> get_HoldingState(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectHoldingEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectManipulationCompletedEventArgs_INTERFACE_DEFINED__ +#define __IKinectManipulationCompletedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectManipulationCompletedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectManipulationCompletedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("98AF1727-D511-459C-BE14-16CA8230871B") + IKinectManipulationCompletedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cumulative( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Velocities( + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectManipulationCompletedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectManipulationCompletedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectManipulationCompletedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectManipulationCompletedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectManipulationCompletedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectManipulationCompletedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cumulative )( + IKinectManipulationCompletedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Velocities )( + IKinectManipulationCompletedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value); + + END_INTERFACE + } IKinectManipulationCompletedEventArgsVtbl; + + interface IKinectManipulationCompletedEventArgs + { + CONST_VTBL struct IKinectManipulationCompletedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectManipulationCompletedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectManipulationCompletedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectManipulationCompletedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectManipulationCompletedEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectManipulationCompletedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectManipulationCompletedEventArgs_get_Cumulative(This,value) \ + ( (This)->lpVtbl -> get_Cumulative(This,value) ) + +#define IKinectManipulationCompletedEventArgs_get_Velocities(This,value) \ + ( (This)->lpVtbl -> get_Velocities(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectManipulationCompletedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectManipulationInertiaStartingEventArgs_INTERFACE_DEFINED__ +#define __IKinectManipulationInertiaStartingEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectManipulationInertiaStartingEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectManipulationInertiaStartingEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("90ACC90A-4573-406B-9715-20171D8A3875") + IKinectManipulationInertiaStartingEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Delta( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cumulative( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Velocities( + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectManipulationInertiaStartingEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectManipulationInertiaStartingEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectManipulationInertiaStartingEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Delta )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cumulative )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Velocities )( + IKinectManipulationInertiaStartingEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value); + + END_INTERFACE + } IKinectManipulationInertiaStartingEventArgsVtbl; + + interface IKinectManipulationInertiaStartingEventArgs + { + CONST_VTBL struct IKinectManipulationInertiaStartingEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectManipulationInertiaStartingEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectManipulationInertiaStartingEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectManipulationInertiaStartingEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectManipulationInertiaStartingEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectManipulationInertiaStartingEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectManipulationInertiaStartingEventArgs_get_Delta(This,value) \ + ( (This)->lpVtbl -> get_Delta(This,value) ) + +#define IKinectManipulationInertiaStartingEventArgs_get_Cumulative(This,value) \ + ( (This)->lpVtbl -> get_Cumulative(This,value) ) + +#define IKinectManipulationInertiaStartingEventArgs_get_Velocities(This,value) \ + ( (This)->lpVtbl -> get_Velocities(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectManipulationInertiaStartingEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectManipulationStartedEventArgs_INTERFACE_DEFINED__ +#define __IKinectManipulationStartedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectManipulationStartedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectManipulationStartedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("2EC8A1BA-96EC-49F7-BD41-D5FE791F0D46") + IKinectManipulationStartedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cumulative( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectManipulationStartedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectManipulationStartedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectManipulationStartedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectManipulationStartedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectManipulationStartedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectManipulationStartedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cumulative )( + IKinectManipulationStartedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + END_INTERFACE + } IKinectManipulationStartedEventArgsVtbl; + + interface IKinectManipulationStartedEventArgs + { + CONST_VTBL struct IKinectManipulationStartedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectManipulationStartedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectManipulationStartedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectManipulationStartedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectManipulationStartedEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectManipulationStartedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectManipulationStartedEventArgs_get_Cumulative(This,value) \ + ( (This)->lpVtbl -> get_Cumulative(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectManipulationStartedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectManipulationUpdatedEventArgs_INTERFACE_DEFINED__ +#define __IKinectManipulationUpdatedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectManipulationUpdatedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectManipulationUpdatedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("1097A513-F25E-4B48-84F2-2D3B0B3FC78C") + IKinectManipulationUpdatedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Delta( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cumulative( + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Velocities( + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectManipulationUpdatedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectManipulationUpdatedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectManipulationUpdatedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectManipulationUpdatedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectManipulationUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectManipulationUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Delta )( + IKinectManipulationUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cumulative )( + IKinectManipulationUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationDelta *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Velocities )( + IKinectManipulationUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ KinectManipulationVelocities *value); + + END_INTERFACE + } IKinectManipulationUpdatedEventArgsVtbl; + + interface IKinectManipulationUpdatedEventArgs + { + CONST_VTBL struct IKinectManipulationUpdatedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectManipulationUpdatedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectManipulationUpdatedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectManipulationUpdatedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectManipulationUpdatedEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectManipulationUpdatedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectManipulationUpdatedEventArgs_get_Delta(This,value) \ + ( (This)->lpVtbl -> get_Delta(This,value) ) + +#define IKinectManipulationUpdatedEventArgs_get_Cumulative(This,value) \ + ( (This)->lpVtbl -> get_Cumulative(This,value) ) + +#define IKinectManipulationUpdatedEventArgs_get_Velocities(This,value) \ + ( (This)->lpVtbl -> get_Velocities(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectManipulationUpdatedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPointerDevice_INTERFACE_DEFINED__ +#define __IKinectPointerDevice_INTERFACE_DEFINED__ + +/* interface IKinectPointerDevice */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPointerDevice; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C6F3A13D-16DA-4556-AD25-C4CD73A2D625") + IKinectPointerDevice : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPointerDeviceVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPointerDevice * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPointerDevice * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPointerDevice * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectPointerDevice * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + END_INTERFACE + } IKinectPointerDeviceVtbl; + + interface IKinectPointerDevice + { + CONST_VTBL struct IKinectPointerDeviceVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPointerDevice_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPointerDevice_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPointerDevice_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPointerDevice_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPointerDevice_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPointerEventArgs_INTERFACE_DEFINED__ +#define __IKinectPointerEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectPointerEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPointerEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("65635AE1-3D28-4D5A-AA09-825AAE07C1B1") + IKinectPointerEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled( + /* [annotation][out][retval] */ + _Out_ boolean *handled) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled( + /* [in] */ boolean handled) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPoint( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerPoint **pointer) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPointerEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPointerEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPointerEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPointerEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( + IKinectPointerEventArgs * This, + /* [annotation][out][retval] */ + _Out_ boolean *handled); + + /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( + IKinectPointerEventArgs * This, + /* [in] */ boolean handled); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPoint )( + IKinectPointerEventArgs * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerPoint **pointer); + + END_INTERFACE + } IKinectPointerEventArgsVtbl; + + interface IKinectPointerEventArgs + { + CONST_VTBL struct IKinectPointerEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPointerEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPointerEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPointerEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPointerEventArgs_get_Handled(This,handled) \ + ( (This)->lpVtbl -> get_Handled(This,handled) ) + +#define IKinectPointerEventArgs_put_Handled(This,handled) \ + ( (This)->lpVtbl -> put_Handled(This,handled) ) + +#define IKinectPointerEventArgs_get_CurrentPoint(This,pointer) \ + ( (This)->lpVtbl -> get_CurrentPoint(This,pointer) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPointerEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPointerPoint_INTERFACE_DEFINED__ +#define __IKinectPointerPoint_INTERFACE_DEFINED__ + +/* interface IKinectPointerPoint */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPointerPoint; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D2F1E5B8-9DAD-4933-BCD2-90F4C64E17AC") + IKinectPointerPoint : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDevice( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerDevice **ppPointerDevice) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerId( + /* [annotation][out][retval] */ + _Out_ UINT32 *pointerId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *position) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RawPosition( + /* [annotation][out][retval] */ + _Out_ PointF *rawPosition) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Timestamp( + /* [annotation][out][retval] */ + _Out_ UINT64 *timestamp) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Properties( + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerPointProperties **ppProperties) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPointerPointVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPointerPoint * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPointerPoint * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPointerPoint * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDevice )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerDevice **ppPointerDevice); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerId )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *pointerId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _Out_ PointF *position); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RawPosition )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _Out_ PointF *rawPosition); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Timestamp )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *timestamp); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( + IKinectPointerPoint * This, + /* [annotation][out][retval] */ + _COM_Outptr_ IKinectPointerPointProperties **ppProperties); + + END_INTERFACE + } IKinectPointerPointVtbl; + + interface IKinectPointerPoint + { + CONST_VTBL struct IKinectPointerPointVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPointerPoint_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPointerPoint_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPointerPoint_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPointerPoint_get_PointerDevice(This,ppPointerDevice) \ + ( (This)->lpVtbl -> get_PointerDevice(This,ppPointerDevice) ) + +#define IKinectPointerPoint_get_PointerId(This,pointerId) \ + ( (This)->lpVtbl -> get_PointerId(This,pointerId) ) + +#define IKinectPointerPoint_get_Position(This,position) \ + ( (This)->lpVtbl -> get_Position(This,position) ) + +#define IKinectPointerPoint_get_RawPosition(This,rawPosition) \ + ( (This)->lpVtbl -> get_RawPosition(This,rawPosition) ) + +#define IKinectPointerPoint_get_Timestamp(This,timestamp) \ + ( (This)->lpVtbl -> get_Timestamp(This,timestamp) ) + +#define IKinectPointerPoint_get_Properties(This,ppProperties) \ + ( (This)->lpVtbl -> get_Properties(This,ppProperties) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPointerPoint_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPointerPointProperties_INTERFACE_DEFINED__ +#define __IKinectPointerPointProperties_INTERFACE_DEFINED__ + +/* interface IKinectPointerPointProperties */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPointerPointProperties; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("5527A776-CA76-47BA-95B4-A2DB2BD32207") + IKinectPointerPointProperties : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPrimary( + /* [annotation][out][retval] */ + _Out_ boolean *isPrimary) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInRange( + /* [annotation][out][retval] */ + _Out_ boolean *isInRange) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEngaged( + /* [annotation][out][retval] */ + _Out_ boolean *isEngaged) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyTrackingId( + /* [annotation][out][retval] */ + _Out_ UINT64 *bodyTrackingId) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandType( + /* [annotation][out][retval] */ + _Out_ HandType *handType) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandReachExtent( + /* [annotation][out][retval] */ + _Out_ float *handReachExtent) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BodyTimeCounter( + /* [annotation][out][retval] */ + _Out_ TIMESPAN *bodyTimeCounter) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HandRotation( + /* [annotation][out][retval] */ + _Out_ float *handRotation) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PressExtent( + /* [annotation][out][retval] */ + _Out_ float *pressExtent) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UnclampedPosition( + /* [annotation][out][retval] */ + _Out_ PointF *unclampedPosition) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPointerPointPropertiesVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPointerPointProperties * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPointerPointProperties * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPointerPointProperties * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimary )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ boolean *isPrimary); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInRange )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ boolean *isInRange); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEngaged )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ boolean *isEngaged); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyTrackingId )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ UINT64 *bodyTrackingId); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandType )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ HandType *handType); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandReachExtent )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ float *handReachExtent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BodyTimeCounter )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ TIMESPAN *bodyTimeCounter); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HandRotation )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ float *handRotation); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PressExtent )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ float *pressExtent); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnclampedPosition )( + IKinectPointerPointProperties * This, + /* [annotation][out][retval] */ + _Out_ PointF *unclampedPosition); + + END_INTERFACE + } IKinectPointerPointPropertiesVtbl; + + interface IKinectPointerPointProperties + { + CONST_VTBL struct IKinectPointerPointPropertiesVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPointerPointProperties_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPointerPointProperties_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPointerPointProperties_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPointerPointProperties_get_IsPrimary(This,isPrimary) \ + ( (This)->lpVtbl -> get_IsPrimary(This,isPrimary) ) + +#define IKinectPointerPointProperties_get_IsInRange(This,isInRange) \ + ( (This)->lpVtbl -> get_IsInRange(This,isInRange) ) + +#define IKinectPointerPointProperties_get_IsEngaged(This,isEngaged) \ + ( (This)->lpVtbl -> get_IsEngaged(This,isEngaged) ) + +#define IKinectPointerPointProperties_get_BodyTrackingId(This,bodyTrackingId) \ + ( (This)->lpVtbl -> get_BodyTrackingId(This,bodyTrackingId) ) + +#define IKinectPointerPointProperties_get_HandType(This,handType) \ + ( (This)->lpVtbl -> get_HandType(This,handType) ) + +#define IKinectPointerPointProperties_get_HandReachExtent(This,handReachExtent) \ + ( (This)->lpVtbl -> get_HandReachExtent(This,handReachExtent) ) + +#define IKinectPointerPointProperties_get_BodyTimeCounter(This,bodyTimeCounter) \ + ( (This)->lpVtbl -> get_BodyTimeCounter(This,bodyTimeCounter) ) + +#define IKinectPointerPointProperties_get_HandRotation(This,handRotation) \ + ( (This)->lpVtbl -> get_HandRotation(This,handRotation) ) + +#define IKinectPointerPointProperties_get_PressExtent(This,pressExtent) \ + ( (This)->lpVtbl -> get_PressExtent(This,pressExtent) ) + +#define IKinectPointerPointProperties_get_UnclampedPosition(This,unclampedPosition) \ + ( (This)->lpVtbl -> get_UnclampedPosition(This,unclampedPosition) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPointerPointProperties_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPressingCompletedEventArgs_INTERFACE_DEFINED__ +#define __IKinectPressingCompletedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectPressingCompletedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPressingCompletedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("7B9DAD43-0DFA-48DC-A2E3-CDBA3B3E251F") + IKinectPressingCompletedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPressingCompletedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPressingCompletedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPressingCompletedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPressingCompletedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectPressingCompletedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + END_INTERFACE + } IKinectPressingCompletedEventArgsVtbl; + + interface IKinectPressingCompletedEventArgs + { + CONST_VTBL struct IKinectPressingCompletedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPressingCompletedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPressingCompletedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPressingCompletedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPressingCompletedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPressingCompletedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPressingStartedEventArgs_INTERFACE_DEFINED__ +#define __IKinectPressingStartedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectPressingStartedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPressingStartedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C01511F4-C7B3-4BA1-A15F-09DC854962AB") + IKinectPressingStartedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPressingStartedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPressingStartedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPressingStartedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPressingStartedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectPressingStartedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + END_INTERFACE + } IKinectPressingStartedEventArgsVtbl; + + interface IKinectPressingStartedEventArgs + { + CONST_VTBL struct IKinectPressingStartedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPressingStartedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPressingStartedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPressingStartedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPressingStartedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPressingStartedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectPressingUpdatedEventArgs_INTERFACE_DEFINED__ +#define __IKinectPressingUpdatedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectPressingUpdatedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectPressingUpdatedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("D7D93D29-228E-4EBD-A3B9-E1B916B9BAEF") + IKinectPressingUpdatedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PressExtent( + /* [annotation][out][retval] */ + _Out_ float *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HoldProgress( + /* [annotation][out][retval] */ + _Out_ float *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectPressingUpdatedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectPressingUpdatedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectPressingUpdatedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectPressingUpdatedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectPressingUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PressExtent )( + IKinectPressingUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ float *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HoldProgress )( + IKinectPressingUpdatedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ float *value); + + END_INTERFACE + } IKinectPressingUpdatedEventArgsVtbl; + + interface IKinectPressingUpdatedEventArgs + { + CONST_VTBL struct IKinectPressingUpdatedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectPressingUpdatedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectPressingUpdatedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectPressingUpdatedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectPressingUpdatedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectPressingUpdatedEventArgs_get_PressExtent(This,value) \ + ( (This)->lpVtbl -> get_PressExtent(This,value) ) + +#define IKinectPressingUpdatedEventArgs_get_HoldProgress(This,value) \ + ( (This)->lpVtbl -> get_HoldProgress(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectPressingUpdatedEventArgs_INTERFACE_DEFINED__ */ + + +#ifndef __IKinectTappedEventArgs_INTERFACE_DEFINED__ +#define __IKinectTappedEventArgs_INTERFACE_DEFINED__ + +/* interface IKinectTappedEventArgs */ +/* [object][local][uuid] */ + + +EXTERN_C const IID IID_IKinectTappedEventArgs; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("C5B870C3-C819-4FF9-9F11-B5334D98761E") + IKinectTappedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceType( + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Position( + /* [annotation][out][retval] */ + _Out_ PointF *value) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TapCount( + /* [annotation][out][retval] */ + _Out_ UINT32 *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IKinectTappedEventArgsVtbl + { + BEGIN_INTERFACE + + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IKinectTappedEventArgs * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + ULONG ( STDMETHODCALLTYPE *AddRef )( + IKinectTappedEventArgs * This); + + ULONG ( STDMETHODCALLTYPE *Release )( + IKinectTappedEventArgs * This); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceType )( + IKinectTappedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointerDeviceType *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( + IKinectTappedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ PointF *value); + + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TapCount )( + IKinectTappedEventArgs * This, + /* [annotation][out][retval] */ + _Out_ UINT32 *value); + + END_INTERFACE + } IKinectTappedEventArgsVtbl; + + interface IKinectTappedEventArgs + { + CONST_VTBL struct IKinectTappedEventArgsVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IKinectTappedEventArgs_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IKinectTappedEventArgs_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IKinectTappedEventArgs_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IKinectTappedEventArgs_get_PointerDeviceType(This,value) \ + ( (This)->lpVtbl -> get_PointerDeviceType(This,value) ) + +#define IKinectTappedEventArgs_get_Position(This,value) \ + ( (This)->lpVtbl -> get_Position(This,value) ) + +#define IKinectTappedEventArgs_get_TapCount(This,value) \ + ( (This)->lpVtbl -> get_TapCount(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IKinectTappedEventArgs_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_Kinect2ECOM_0000_0070 */ +/* [local] */ + +HRESULT WINAPI GetKinectCoreWindowForCurrentThread(_COM_Outptr_ IKinectCoreWindow** ppKinectCoreWindow); +HRESULT WINAPI CreateKinectGestureRecognizer(_COM_Outptr_ IKinectGestureRecognizer** ppKinectGestureRecognizer); +HRESULT WINAPI OverrideKinectInteractionMode(KinectInteractionMode mode); +HRESULT WINAPI SetKinectOnePersonSystemEngagement(); +HRESULT WINAPI SetKinectTwoPersonSystemEngagement(); +HRESULT WINAPI SetKinectOnePersonManualEngagement(_In_ IBodyHandPair* pBodyHandPair); +HRESULT WINAPI SetKinectTwoPersonManualEngagement(_In_ IBodyHandPair* pBodyHandPair1, _In_ IBodyHandPair* pBodyHandPair2); +HRESULT WINAPI GetKinectEngagementMode(_Out_ KinectEngagementMode* pMode); +HRESULT WINAPI GetKinectManualEngagedHandCount(_Out_ UINT32* pManualEngagedHandCount); +HRESULT WINAPI GetKinectManualEngagedHand(UINT32 manualEngagedHandIndex, _COM_Outptr_ IBodyHandPair** ppManualEngagedHand); +HRESULT WINAPI GetMaximumKinectEngagedPersonCount(_Out_ UINT32* pMaximumKinectEngagedPersonCount); +HRESULT WINAPI CreateBodyHandPair(UINT64 bodyTrackingId, HandType handType, _COM_Outptr_ IBodyHandPair** ppBodyHandPair); + + +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0070_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_Kinect2ECOM_0000_0070_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.Face.lib b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.Face.lib new file mode 100644 index 0000000000000000000000000000000000000000..02924c669f160b11d3f56d79f273b31463298add GIT binary patch literal 3558 zcmcInPfrs;6o0go;_@d52943AD$#08p{3hOVzfx*PiTRZ;?ZU8Zp$Xymb6R4&0E94 z58#O};D?ZK^!W8y=68x zUsqJ!wYJ5zwAQuCK~^nmHOmF}8rszF{hmo7FmxmMBDmHJUTGJm<3q)C1D zmhs#VYQs>E{Veg)z7dzU5jTdA%Z312VSw{dfXQ)yDB|!GX%>YiNXN*#MA9crctQw9 zAPl2047WglF&Kh?ix&j@tZXdUJpL?f?)A@)A&%cM=jnJ!n!t1UJscoYtQ4?=u*2Wgx?{FUj~s?>C#!p6K1s9$#mFpP(B(AlmOPi)@o4X)hGrygk{IR?)Xb>aJypCz90B#AEVuX!>)B<4sJ2+ zW0BOpVB2E%%Xn}vlB^7MobrA2ViqNNa8^8bkV54O9YYQ)EO)8kU> X8_n(iUQRT>z?j1wcKMGVcf|hy75Fpw literal 0 HcmV?d00001 diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.lib b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/Kinect/Lib/Kinect20.lib new file mode 100644 index 0000000000000000000000000000000000000000..32bb61136db32508ef2f4468f74e6c31d7091ced GIT binary patch literal 5570 zcmcIoPfr_16#wxje=uOckW*}DCrx|?l9~1uGfJKdYXMRzn$NEGjE>Xa`zj> zYMg!>`zq;esZ45VIkUQ)TJ?@EI%+DllH-pLVgT*}V=sX5H^5{Dn0m`)S_L}tih7c% zCtPMX048$g%Qb zVs*Px+pE@hbVF;{=|$A*y9f90`w{rfg>XP^>tJ`MzP?sl!+Nt>R&;}2)msniuC}S! z>)Nr>Zrc3Cea$#CEe8}ZNy8jmG%f81-B8U(8>UrkTb5?nwNpz|)XN3>B8!B#H4fX< z&g{0ORkenBV(7nWt|8%=y`MG9(p6`TZNt_qrD5x)Q8rc0u_PR`?|QUnXcf&mGmZVn zXSUWV87In#)*`o@Wg-9tr1r>+wpK7utR?I!D@I#sMzG5V6l)1OAB2ZS1fYn3OGBi+ z4w@C?GO@a)7;4dMi!JVl3ZCx{Iv)+_-LmqF-fFjaym9kYeoS3P^aJvkESTzJ=0Qc# zy}|04_^xOg6r}dy!QuBcv$|PW%jXZ*eyo%VrJYJ?t+bOra*U6H96YD_{z4(&)=hP<%cOLJgNhC0XTNuR+ z+{7fN5XUrbV;p0cKnz0|?t>UX6pwrCb$CkXlioxOg=8>+>56eN-ZQ*-T=}MWY()sa zLGzT%)X7ug_KK9@OJxEQoC*98-zx9-`@~aBlr!hZ9w#qPg#T=~QNZ7z-4Fe#<7GuYsKIQ3Ih7#D7a$b+niop zP@7Gb^ZHeBnbj4io_i2epN`<4kJfAPAy7WzZ9&z3YM;#SJ1VF|!|$%*^m$Ad7Iamy zmHD(gMJW(e4&py&V1)WS7N0q|oHI%Z{so%{}g!R#A`>vbOJSbXY^bo}E?4kp7e^b!OndpW|!sel%Ztqy!GbjDR9?fvq{ z^+iiMo06hsxDzdZl3m#XKPMv9O7eMP;M2{folBAQT970QhA7MQ_&xRz%1V@I$}RQg`-1p} z1s`A4|8*#{4eo2kO#ofKQt3+>bX0sXUyUW})ZWQ1mU&_srN4l(#6v18k#;pCj&5*H zzGO(XBXbVEx7p?1=lUsmeN(oetGd1#YtH?LPS;-FBUbj65>mT+h-D?xerJ1o`z7(- z4&~)VpUgM-Ugz9|+~xHmv5#@~ejl?Q17szV_aS#UM*QJ5s?2u1zK;`kgxc3*fUHFF iJ!J1Edh+`UV42cWw_TNgQsxh?)IS)1yeEIS|NjFJ>EW3G literal 0 HcmV?d00001 diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/KinectExposure.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/KinectExposure.h new file mode 100644 index 0000000..972d6e0 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/KinectExposure.h @@ -0,0 +1,68 @@ +#pragma once +#include +#include "NuiSensor.h" +#include "Lockable.h" + +namespace Xbox { namespace Kinect { class NuiSensor; } } + +class KinectExposure +{ +public: + KinectExposure() = default; + + // Fully automatic exposure setting. + // Exposure compensation: negative value gives an underexposed image, + // positive gives an overexposed image. + void SetAutoExposure(float exposure_compensation = 0); + + // Sets a pseudo-exposure time in ms, value in range [0.0, 640] ms. + // + // The actual frame integration time is set to a multiple of fluorescent light period + // that is shorter than the requested time e.g. requesting 16 ms will set 10 ms + // in Australia (100Hz), 8.33 ms in USA (120Hz). + // The gain is automatically set to compensate for the reduced integration time. + // + // Requesting less than a single fluorescent light period will set the integration time + // to the requested value. + // + // To set the shortest non-flickering integration period for any country, simply set + // a pseudo-exposure time of between (10.0, 16.667) ms, which will automatically drop + // the integration time to 10 or 8.3 ms depending on country, while setting the analog + // gain control to a brighter value. + void SetSemiAutoExposure(float pseudo_exposure_time_ms); + + // Manually set true exposure time and analog gain. + void SetManualExposure(float integration_time_ms, float analog_gain); + + // Use one of the SET commands. + void SetFloat(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command, float value); + void SetUint(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command, uint32_t value); + + // Use one of the GET commands. + uint32_t GetCommand(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command); + float GetCommandFloat(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command); + +private: + LockableSharedPtr _sensor; + + void Connect(); + + //private Dictionary GetCommands(NUISENSOR_RGB_COMMAND_TYPE[] commands) + //{ + // NUISENSOR_RGB_CHANGE_STREAM_SETTING setting; + // NUISENSOR_RGB_CHANGE_STREAM_SETTING_REPLY reply; + + // setting.SequenceId = 0; + // setting.Commands = commands.Select(command = > new NUISENSOR_RGB_CHANGE_SETTING_CMD{ Cmd = (uint)command, Arg = 0 }).ToArray(); + + // lock(_sensor) + // { + // _sensor.ColorChangeCameraSettings(ref setting, out reply); + // } + + // return commands.Zip(reply.Status, (c, r) = > { return Tuple.Create(c, r.Data); }).ToDictionary(t = > t.Item1, t = > t.Item2); + //} + + uint32_t SetCommand(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command, uint32_t argument); + void SetCommand(Xbox::Kinect::NUISENSOR_RGB_COMMAND_TYPE command, float argument); +}; diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/Lockable.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/Lockable.h new file mode 100644 index 0000000..19f98e4 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/Lockable.h @@ -0,0 +1,108 @@ +#pragma once +#ifndef LOCKABLE_H_ +#define LOCKABLE_H_ + +#include +#include + +// Acts like a pointer to the locked object, but holds a lock for the given variable. +template +class Locked +{ +public: + Locked(T& obj, std::mutex& mutex) : _obj(obj), _mutex(mutex) { _mutex.lock(); } + Locked& operator=(const Locked&) = delete; + ~Locked() { _mutex.unlock(); } + // Access members of the locked value. + const T* operator->() const noexcept { return &_obj; } + // Access members of the locked value. + T* operator->() noexcept { return &_obj; } + // Access the locked value. + const T& operator*() const noexcept { return _obj; } + // Access the locked value. + T& operator*() noexcept { return _obj; } + +private: + T& _obj; + std::mutex& _mutex; +}; + +// Lockable value type. +template +class Lockable +{ +public: + // Only exists if T() exists. + Lockable() = default; + explicit Lockable(T obj) : _obj(std::move(obj)) {} + // Lock-guards the value for the lifetime of the returned object. + auto lock() const noexcept { return Locked(_obj, _mutex); } + // Lock-guards the value for the lifetime of the returned object. + auto lock() noexcept { return Locked(_obj, _mutex); } + +private: + T _obj; + mutable std::mutex _mutex; +}; + + +// Acts like a shared_ptr, but holds a lock for the given pointer. +template +class LockedPtr +{ +public: + LockedPtr(TPtr& obj, std::mutex& mutex) : _obj(obj), _mutex(mutex) { _mutex.lock(); } + LockedPtr& operator=(const LockedPtr&) = delete; + ~LockedPtr() { _mutex.unlock(); } + // Access members of the locked shared_ptr. + auto* operator->() const noexcept { return _obj.get(); } + // Dereference the locked shared_ptr. + auto& operator*() const noexcept { return *_obj; } + // Test if the locked shared_ptr is null. + explicit operator bool() const noexcept { return bool(_obj); } + // Assign to the locked shared_ptr (assigns the shared_ptr, not the inner T value). + void operator=(TPtr obj) { _obj = std::move(obj); } + // Reset the locked shared_ptr. + void reset() noexcept { _obj.reset(); } + // Get the pointer type. + // WARNING: this is potentially unsafe since the data can be passed around unlocked. + TPtr value() const noexcept { return _obj; } + +private: + TPtr& _obj; + std::mutex& _mutex; +}; + +// Lockable templated pointer type. +template +class LockablePtr +{ +public: + LockablePtr() + : _obj() + , _mutex(std::make_shared()) + { + } + explicit LockablePtr(TPtr obj) + : _obj(std::move(obj)) + , _mutex(std::make_shared()) + { + } + // Lock-guards the pointer for the lifetime of the returned object. + auto lock() const noexcept { return LockedPtr(_obj, *_mutex); } + // Lock-guards the pointer for the lifetime of the returned object. + auto lock() noexcept { return LockedPtr(_obj, *_mutex); } + +private: + TPtr _obj; + mutable std::shared_ptr _mutex; // Shared so object is copyable e.g. TPtr is shared_ptr +}; + + +template +using LockableSharedPtr = LockablePtr>; + +template +using LockableUniquePtr = LockablePtr>; + +#endif // LOCKABLE_H_ diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NeoKinect.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NeoKinect.h new file mode 100644 index 0000000..0df4829 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NeoKinect.h @@ -0,0 +1,479 @@ +#pragma once + +#include +#include + +#include + +#include +#include + +#include + +namespace NeoKinect +{ + constexpr unsigned int KinectColorWidth = 1920; + constexpr unsigned int KinectColorHeight = 1080; + + constexpr unsigned int KinectDepthWidth = 512; + constexpr unsigned int KinectDepthHeight = 424; + + constexpr unsigned int KinectBodyCount = BODY_COUNT; + constexpr unsigned int KinectJointCount = JointType_Count; + + struct Vector2 + { + float x, y; + + Vector2() : x(0.f), y(0.f) {} + Vector2(float xy) : x(xy), y(xy) {} + Vector2(float x, float y) : x(x), y(y) {} + explicit Vector2(const DepthSpacePoint& dsp) : x(dsp.X), y(dsp.Y) {} + explicit Vector2(const ColorSpacePoint& csp) : x(csp.X), y(csp.Y) {} + explicit Vector2(const PointF& pf) : x(pf.X), y(pf.Y) {} + + template + inline Vector2& operator=(const T& b); + + inline DepthSpacePoint toDepthSpacePoint() const; + inline ColorSpacePoint toColorSpacePoint() const; + }; + + struct Vector3 + { + float x, y, z; + + Vector3() : x(0.f), y(0.f), z(0.f) {} + Vector3(float xyz) : x(xyz), y(xyz), z(xyz) {} + Vector3(float x, float y, float z) : x(x), y(y), z(z) {} + explicit Vector3(const CameraSpacePoint& csp) : x(csp.X), y(csp.Y), z(csp.Z) {} + + inline Vector3& operator=(const CameraSpacePoint& b); + inline Vector3& operator/=(const float& b); + inline const Vector3 operator/(const float& b) const; + inline Vector3& operator*=(const float& b); + inline const Vector3 operator*(const float& b) const; + + inline bool IsZero() const; + float magnitude() const; // not inline as it uses math header and I didn't want to polute the headers + inline Vector3 normalized() const; + + inline CameraSpacePoint toCameraSpacePoint() const; + }; + + enum class KinectFrameType : BYTE + { + Color = 0, + Depth = 1, + Body = 2, + BodyIndex = 3, + Infrared = 4, + LongExposureInfrared = 5, + Face = 6, + Count = 7 + }; + + enum class KinectCoordinateSpace : BYTE + { + Camera = 0, + Depth = 1, + Color = 2, + Count = 3 + }; + + enum class KinectPixelFormat : BYTE + { + B8G8R8A8 = 0, + G8 = 1, + G16 = 2, + Bayer = 3, + None = 4, + Count = 5 + }; + + struct KinectJoint + { + Vector4 orientation; + CameraSpacePoint position; + TrackingState trackingState; + JointType type; + }; + + struct KinectBodyEdges + { + bool left, right, top, bottom; + }; + + struct KinectBody + { + UINT64 trackingId; + bool isTracked, isRestricted; + + KinectBodyEdges clippedEdges; + + HandState handLeftState; + TrackingState handLeftTrackingState; + + HandState handRightState; + TrackingState handRightTrackingState; + + TrackingState leanTrackingState; + Vector2 lean; + + KinectJoint joints[JointType_Count]; + }; + + struct KinectFacePoints + { + Vector2 leftEye; + Vector2 rightEye; + Vector2 nose; + Vector2 leftMouthCorner; + Vector2 rightMouthCorner; + }; + + struct KinectFace + { + UINT64 trackingId; + // face bounding box in color space + RectI boxColor; + // face bounding box in infrared space + RectI boxInfrared; + // face rotation in quaternion + Vector4 rotation; + // face pivot point. The same as the skeleton head joint. It's here for conveninence. + CameraSpacePoint pivot; + // face alignment points in color space + KinectFacePoints pointsColor; + // face alignment points in infrared space + KinectFacePoints pointsInfrared; + + DetectionResult isEngaged; + DetectionResult isHappy; + DetectionResult isLookingAway; + DetectionResult isMouthMoved; + DetectionResult isMouthOpen; + DetectionResult isLeftEyeClosed; + DetectionResult isRightEyeClosed; + DetectionResult isWearingGlasses; + + bool bIsTracked; + }; + + struct FrameDescription + { + bool valid; + + float diagonalFieldOfView, + horizontalFieldOfView, + verticalFieldOfView; + + UINT bytesPerPixel; + UINT lengthInPixels; + int width, height; + + FrameDescription() : valid(false) {} + }; + + class KinectSensor + { + public: + KinectSensor(); + ~KinectSensor(); + + /* + Opens the Microsoft API to the sensor. + @return Is the sensor API working? + */ + bool InitSensor(); + /* + Is the sensor on already? + It may take some time for the sensor to effectivelly turn on. Keep trying. + If it's taking too long, there's probably no connected sensor or it's not working. + @return True if the sensor is on. + */ + bool IsSensorAvailable(); + /* + Is the Microsoft Kinect API responding? + @return True if the sensor API is working. + */ + bool IsSensorOpen(); + /* + Shuts the sensor down and closes the Microsoft API to it. + @return True if it worked. + */ + bool UninitSensor(); + + + /* + A Vector4 containing the floor normal (xyz) and height (w). + Valid only if frequently locking and unlocking Body frame. That's when + it gets updated. + @return A Vector4 containing the floor normal (xyz) and height (w). + */ + Vector4 GetFloorClipPlane(); + /* + Uses the floor clip plane to calculate how much the sensor is tilted. + @return The sensor tilt in degrees. Looking down gives negative values. + */ + float GetSensorTilt(); + + FrameDescription GetFrameDescription(const KinectFrameType frameType) const; + + bool SetUseFrame(const KinectFrameType frameType, const bool use = true); + bool GetIsUsingFrame(const KinectFrameType frameType) const; + bool LockLatestFrame(KinectFrameType frameType); + void UnlockLatestFrame(KinectFrameType frameType); + bool GetIsFrameLocked(KinectFrameType frameType) const; + bool GetLatestFrameData(const KinectFrameType frameType, BYTE *& buffer, const KinectPixelFormat pixelFormat = KinectPixelFormat::None); + bool GetLatestFrameData(KinectBody bodies[BODY_COUNT]); + bool GetLatestFrameData(KinectFace faces[BODY_COUNT]); + + /* + Gets a frame remapped to another coordinate system. + All the remapping methods depend on the Depth frame. So make sure you're + frequently locking and unlocking it. + @return True if it worked. + */ + bool GetRemappedFrameData( + const KinectFrameType frameType, const KinectCoordinateSpace targetSpace, + BYTE *const buffer, const KinectPixelFormat pixelFormat); + /* + Gets a point remapped to another coordinate system. + All the remapping methods depend on the Depth frame. So make sure you're + frequently locking and unlocking it. + @return True if it worked. + */ + bool GetRemappedPoint( + const KinectCoordinateSpace fromSpace, const KinectCoordinateSpace toSpace, + const Vector2& srcPoint, Vector2& resultPoint); + bool GetRemappedPoint( + const KinectCoordinateSpace fromSpace, const KinectCoordinateSpace toSpace, + const Vector2& srcPoint, Vector3& resultPoint) const; + bool GetRemappedPoint( + const KinectCoordinateSpace fromSpace, const KinectCoordinateSpace toSpace, + const Vector3& srcPoint, Vector2& resultPoint) const; + + /* + Samples distance from the Depth frame. + The pixel used will be the round result of X and Y. + Note: this only works if the Depth frame is used and is being locked and + unlocked frequently. + */ + UINT16 SampleDepthFrame(const Vector2& point); + /* + Samples distance from the Depth frame using a coordinate from the Color frame. + The pixel used will be the round result of X and Y after remapped to the Depth frame. + Note: this only works if the 'Depth' and 'Depth remapped to Color' frames are both + used and are being locked and unlocked frequently. + */ + UINT16 SampleDepthFromColorCoords(const Vector2& colorPoint); + + /* + Fully automatic exposure setting. + @param exposureCompensation Negative value gives an underexposed image, + positive gives an overexposed image. + */ + void SetAutoExposure(float exposureCompensation = 0); + + /* + Sets a pseudo-exposure time in ms. + + The actual frame integration time is set to a multiple of fluorescent light period + that is shorter than the requested time e.g. requesting 16 ms will set 10 ms + in Australia (100Hz), 8.33 ms in USA (120Hz). + The gain is automatically set to compensate for the reduced integration time. + + Requesting less than a single fluorescent light period will set the integration time + to the requested value. + + To set the shortest non-flickering integration period for any country, simply set + a pseudo-exposure time of between (10.0, 16.667) ms, which will automatically drop + the integration time to 10 or 8.3 ms depending on country, while setting the analog + gain control to a brighter value. + + @param pseudoExposureTime Pseudo-exposure time in ms. [0.0, 640]ms + */ + void SetSemiAutoExposure(float pseudoExposureTime); + + /* + Manually set true exposure time and analog gain. + @param frameExposureTime Time of exposure for each frame, in ms. [0.0, 640]ms + @param analogGain Exposure analog gain. + */ + void SetManualExposure(float frameExposureTime, float analogGain); + + private: + IKinectSensor *pSensor; // Kinect sensor + //IMultiSourceFrameReader *pMultiFrameReader; + //IMultiSourceFrame *pMultiFrame; + + KinectExposure exposureControl; + + // Frame types +#define FRAME_VAR(name) I ##name## Frame *p ##name## Frame; I ##name## FrameReader *p ##name## FrameReader; + FRAME_VAR(Body); + FRAME_VAR(BodyIndex); + FRAME_VAR(Color); + FRAME_VAR(Depth); + FRAME_VAR(Infrared); + FRAME_VAR(LongExposureInfrared); +#undef FRAME_VAR + + // Face frame resources + /* Features we'll use from face frames */ + static const DWORD cFaceFrameFeatures = + FaceFrameFeatures_FaceEngagement + | FaceFrameFeatures_Happy + | FaceFrameFeatures_LookingAway + | FaceFrameFeatures_Glasses + | FaceFrameFeatures_LeftEyeClosed + | FaceFrameFeatures_RightEyeClosed + | FaceFrameFeatures_MouthMoved + | FaceFrameFeatures_MouthOpen + | FaceFrameFeatures_RotationOrientation + | FaceFrameFeatures_PointsInColorSpace + | FaceFrameFeatures_PointsInInfraredSpace + | FaceFrameFeatures_BoundingBoxInColorSpace + | FaceFrameFeatures_BoundingBoxInInfraredSpace; + IFaceFrameSource *pFaceFrameSources[BODY_COUNT]; + IFaceFrameReader *pFaceFrameReaders[BODY_COUNT]; + IFaceFrame *pFaceFrames[BODY_COUNT]; + + // Converts between depth, color and 3d coords + ICoordinateMapper *pMapper; + DepthSpacePoint *pColorMappedToDepth; + bool bIsColorMappedToDepthDirty; + /* We keep a copy of the latest depth frame so the user can convert points + between spaces anytime, not only when the depth frame is locked. + This copy is updated everytime the frame is locked. Because of it, some + coordinate space convertions may not work if the depth frame is not in use + nor locked frequently. */ + UINT16 *pDepthRawCopy; + + IBody *bodies[BODY_COUNT]; + Joint joints[JointType_Count]; // keep joints array in memory to avoid frequent allocations + JointOrientation jointOrientations[JointType_Count]; + Vector4 floorClipPlane; + + inline bool InitMapper(); + inline void UpdateColorMappedToDepth(); + inline int IndexFromXY(int pitch, float x, float y) const; + }; + + /* Print formatted string to the Output window */ + void Printf(const char *szFormat, ...); + void LogFailedHResult(const HRESULT hr, const char *functionName, const int line, const char *action = ""); + template + inline void SafeRelease(T*& pointer); + template + inline void SafeReleaseArray(T*& pointer); + + /*------------------------------------------------------------------------- + Templates and inlines implementation + -------------------------------------------------------------------------*/ + + template + Vector2& Vector2::operator=(const T& b) + { + if (this != &b) + { + this->x = b.X; + this->y = b.Y; + } + return *this; + } + + DepthSpacePoint Vector2::toDepthSpacePoint() const + { + DepthSpacePoint b; + b.X = this->x; + b.Y = this->y; + return b; + } + + ColorSpacePoint Vector2::toColorSpacePoint() const + { + ColorSpacePoint b; + b.X = this->x; + b.Y = this->y; + return b; + } + + Vector3& Vector3::operator=(const CameraSpacePoint& b) + { + this->x = b.X; + this->y = b.Y; + this->z = b.Z; + return *this; + } + + Vector3& Vector3::operator/=(const float& other) + { + x /= other; + y /= other; + z /= other; + return *this; + } + + const Vector3 Vector3::operator/(const float& other) const + { + Vector3 result(*this); + return result /= other; + } + + Vector3& Vector3::operator*=(const float& other) + { + x *= other; + y *= other; + z *= other; + return *this; + } + + const Vector3 Vector3::operator*(const float& other) const + { + Vector3 result(*this); + return result *= other; + } + + bool Vector3::IsZero() const + { + return x == 0.f && y == 0.f && z == 0.f; + } + + Vector3 Vector3::normalized() const + { + if (IsZero()) + return Vector3(); + return (*this / magnitude()); + } + + CameraSpacePoint Vector3::toCameraSpacePoint() const + { + CameraSpacePoint b; + b.X = this->x; + b.Y = this->y; + b.Z = this->z; + return b; + } + + template + inline void SafeRelease(T*& pointer) + { + if (pointer) + { + pointer->Release(); + } + pointer = nullptr; + } + + template + inline void SafeReleaseArray(T*& pointer) + { + if (pointer) + { + delete[] pointer; + } + pointer = nullptr; + } +} \ No newline at end of file diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NuiSensor.h b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NuiSensor.h new file mode 100644 index 0000000..d264711 --- /dev/null +++ b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Inc/NuiSensor.h @@ -0,0 +1,145 @@ +// Conversion from the original C++/CLI implementation. + +#pragma once +#include +typedef struct _NUISENSOR_HANDLE *NUISENSOR_HANDLE, **PNUISENSOR_HANDLE; + +//using namespace System; +//using namespace System::Runtime::InteropServices; + +namespace Xbox +{ +namespace Kinect +{ + +enum NUISENSOR_RGB_COMMAND_TYPE +{ + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_MODE = 0, + NUISENSOR_RGB_COMMAND_SET_INTEGRATION_TIME = 1, + NUISENSOR_RGB_COMMAND_GET_INTEGRATION_TIME = 2, + + NUISENSOR_RGB_COMMAND_SET_WHITE_BALANCE_MODE = 10, + NUISENSOR_RGB_COMMAND_SET_RED_CHANNEL_GAIN = 11, + NUISENSOR_RGB_COMMAND_SET_GREEN_CHANNEL_GAIN = 12, + NUISENSOR_RGB_COMMAND_SET_BLUE_CHANNEL_GAIN = 13, + NUISENSOR_RGB_COMMAND_GET_RED_CHANNEL_GAIN = 14, + NUISENSOR_RGB_COMMAND_GET_GREEN_CHANNEL_GAIN = 15, + NUISENSOR_RGB_COMMAND_GET_BLUE_CHANNEL_GAIN = 16, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_TIME_MS = 17, + NUISENSOR_RGB_COMMAND_GET_EXPOSURE_TIME_MS = 18, + NUISENSOR_RGB_COMMAND_SET_DIGITAL_GAIN = 19, + NUISENSOR_RGB_COMMAND_GET_DIGITAL_GAIN = 20, + NUISENSOR_RGB_COMMAND_SET_ANALOG_GAIN = 21, + NUISENSOR_RGB_COMMAND_GET_ANALOG_GAIN = 22, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_COMPENSATION = 23, + NUISENSOR_RGB_COMMAND_GET_EXPOSURE_COMPENSATION = 24, + NUISENSOR_RGB_COMMAND_SET_ACS = 25, + NUISENSOR_RGB_COMMAND_GET_ACS = 26, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_MODE = 27, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONES = 28, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_0_WEIGHT = 29, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_1_WEIGHT = 30, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_2_WEIGHT = 31, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_3_WEIGHT = 32, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_4_WEIGHT = 33, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_5_WEIGHT = 34, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_6_WEIGHT = 35, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_7_WEIGHT = 36, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_8_WEIGHT = 37, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_9_WEIGHT = 38, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_10_WEIGHT = 39, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_11_WEIGHT = 40, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_12_WEIGHT = 41, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_13_WEIGHT = 42, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_14_WEIGHT = 43, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_15_WEIGHT = 44, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_16_WEIGHT = 45, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_17_WEIGHT = 46, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_18_WEIGHT = 47, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_19_WEIGHT = 48, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_20_WEIGHT = 49, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_21_WEIGHT = 50, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_22_WEIGHT = 51, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_23_WEIGHT = 52, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_24_WEIGHT = 53, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_25_WEIGHT = 54, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_26_WEIGHT = 55, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_27_WEIGHT = 56, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_28_WEIGHT = 57, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_29_WEIGHT = 58, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_30_WEIGHT = 59, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_31_WEIGHT = 60, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_32_WEIGHT = 61, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_33_WEIGHT = 62, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_34_WEIGHT = 63, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_35_WEIGHT = 64, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_36_WEIGHT = 65, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_37_WEIGHT = 66, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_38_WEIGHT = 67, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_39_WEIGHT = 68, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_40_WEIGHT = 69, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_41_WEIGHT = 70, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_42_WEIGHT = 71, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_43_WEIGHT = 72, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_44_WEIGHT = 73, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_45_WEIGHT = 74, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_46_WEIGHT = 75, + NUISENSOR_RGB_COMMAND_SET_EXPOSURE_METERING_ZONE_47_WEIGHT = 76, + NUISENSOR_RGB_COMMAND_SET_MAX_ANALOG_GAIN_CAP = 77, + NUISENSOR_RGB_COMMAND_SET_MAX_DIGITAL_GAIN_CAP = 78, + NUISENSOR_RGB_COMMAND_SET_FLICKER_FREE_FREQUENCY = 79, + NUISENSOR_RGB_COMMAND_GET_EXPOSURE_MODE = 80, + NUISENSOR_RGB_COMMAND_GET_WHITE_BALANCE_MODE = 81, + NUISENSOR_RGB_COMMAND_SET_FRAME_RATE = 82, + NUISENSOR_RGB_COMMAND_GET_FRAME_RATE = 83, + + // This range is reserved. Do not re-use. + NUISENSOR_RGB_COMMAND_RESERVED_BASE = 400, + NUISENSOR_RGB_COMMAND_RESERVED_END = NUISENSOR_RGB_COMMAND_RESERVED_BASE + 200, + // End of reserved region + +}; + +struct NUISENSOR_RGB_CHANGE_SETTING_CMD +{ + uint32_t Cmd; + uint32_t Arg; +}; + +struct NUISENSOR_RGB_CHANGE_STREAM_SETTING +{ + uint32_t SequenceId; + std::vector Commands; +}; + +struct NUISENSOR_RGB_CHANGE_STREAM_SETTING_REPLY_STATUS +{ + uint32_t Status; + uint32_t Data; +}; + +struct NUISENSOR_RGB_CHANGE_STREAM_SETTING_REPLY +{ + uint32_t CommandListStatus; + std::vector Status; +}; + + +class NuiSensor +{ +public: + NuiSensor(); + ~NuiSensor(); + + void Shutdown(); + + void ColorChangeCameraSettings(const NUISENSOR_RGB_CHANGE_STREAM_SETTING& settings, NUISENSOR_RGB_CHANGE_STREAM_SETTING_REPLY* p_reply); + +private: + void TestResult(int success); + + NUISENSOR_HANDLE _sensor = nullptr; +}; + +} +} diff --git a/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Lib/NeoKinect.lib b/SpaceStudioClient/Plugins/NeoKinectUnreal/Source/ThirdParty/NeoKinect/Lib/NeoKinect.lib new file mode 100644 index 0000000000000000000000000000000000000000..3caf891499d21d51dbbc579d95a8916d0bf84024 GIT binary patch literal 6535924 zcmeFa37BKqRVMf{GHao-T-as6#y~k;&T`q5v#ceS%xc>qg`|v7#_CWgBGV*1E2O6g zIklCf*ox__$rdiE0#<=ML0}W>1X}Udz#*Mo@EDbY_@%-m5 z@7=fRK1orT>2_90q4(~&=bn4+x#yg_o%^!aR(jR_*FW%@3+{i(nVCd#ZZ17D=YF3M zkF!^z3g55^XMbS6#L-$QG8yGXZE4r_*{I6_*LvI1qbnTHkIPq_r;au*AK?0-)$28C z7H3+qJ+OL}>Y&kSuXbvdU{y5CqBU5p95-4AEsle8r^YLp>m1k|*8l_vN21bMTdK5c z9z>B);aEh4A^_|pr;!y-gr(Z=bDf^G(`eT^M^`(&+(EAgf!o^eS(Tc%=mmdb0(W1rGM6xVo{vxn<@HrQBw5V{3gA3BGrx#A1M}S1VPETC=$gDy?IW zOa-Q@xwd+ZN_($q^+hd$(}LcHl_W9pbk6Ig#@;?!xY2G z948Qx+nhXGM(qATr#^HvUg=vAQp z295S!Kf|8P$i*o)Dj_$L1m#OhnKaq#6b5C2GFYQ$fAN8oigv4 z!-`2SXN~#!i}Q(#7q>I>7tLI!)$LjRzEv~3(0Q5d`HPiivs0}Mz?BgB;euo4R`YIw z%=8Df3}G<0;g@uJ<{?D3jK>oEkfvo0PP$fqG^CkS=3*kj3wT2zo6VHXH(I@pIoP+_ zC8QlW@^T&&h6;OB1Ygyh6rf!lqR>tK_Aao!vKQw$~0C z+}s9Lhq0JMA56?|w+>)KIPWheVCv>C_V+72l9&MmMoE?JvyjaevLYdw;dsm}7b^=5 z342*Kg>g59xIsL6mByg2l*7d72KB4!CYe-FV`DK}%tLLSn1@`}&_DOuR&5w!j^2Yb z*Xf>^Evwb)99pD2W6C|{NT$*m1^0*;AmY55c}uc|vy1Uv@B@B^!jL??onGg}?2+9_ zQtunH|H@iWF)^!=pk^P3fCQI=^^malz@hmSnW+uiY zaV5*uit`vNZ<1ei0#~zfh!Gt*u-;Y~t)&I`HZAI~neEp$E3MsH#jIE6tm@qCTrF9v zrfXJxdb(~^r>`V-uk7y5&eZF#$JlxPBKKh9)@@Rn8a^Ajld)*#-M(a5x6Cnh541ZQ zILGT*vd0UyV|dM)vS)Qo^f=Q}4Nkbs=@}I!nT$yh#)Xm~TyliPWZjnFa=Q*qbP~6L zW%nCHfAMy5y9Z+qawa8qL_>W9 zj5jp2W~g(e4BOm1W=2M_A?;BNHPqHP!%f9s9Y-9=IG)Df zkauJ@Wk5bjTxBapQl3dE^40jP)THFBlqHKd7Pe$2zAMVP)2iH(!>~}RNQ@AE-#pQ& zH}2viJ!V=^J+g*jV>E%Ad3h0V0t@rPnH5uUdo8W2AKRF{P>GC0Du;U#r)D+%#b{<^ zC2uEXvHhb;H)^DMT{eJlj>32;ym1?yx5A8GA2Kf#X=vhbB8Jln0nCyVqW-tndF7PP zUtH;snZ_`KriFAwmbWFq>d zpLrI(GBHK09Wh*N^$0K6;BmC|Bed-3WGOwK_emx%OxcY=s_rDB4(YnMIQi;#U{xl# zV#jzlb|ItG&sFG{jUNwJJZfFIwUrjj<(?#gEXK<&CHVF#Z&&@JNzrBOX>}Qe)Zm#4 z7lH02)p&WuE(_OA4+VqQdb3_e^Jd(tB*!#`OfY~%DQ5U;aak??jx}nsY9sU%FeF+$ z!$!|K;uw}USXU1v#U+Rl`xbOa)5R4+>KHvGsgXCjrz8~-X47%3r#PaT!u~0YKQQx2 z-^`Dk9fWoA#1KNB?c@p#Kz8+8?W$)!8)UAGuHTVVT4(KP{1Zu1vAaLn09J*A%k(Qnah}o zg?wgxWg)w;j=j2Ewa;J7uWsRMeST)p>CDeGJMBFNz8JFB($n9^1AG_!G~rbM#L3z(P1sY9!RD2#o2GFs36g zLcJ@g!`aKk1v|azkcIH*3dh|}AA8F)G-tr~H(>1>dnmCRt>%NFCNAzwdraB->MFMB znp-zE3T{7<=W{WJjWVIUlTr6V?TVT`0Ad|7s%+}s~&>w_uc4R&cP9C6n zNSELb*Nyfz$xQS%%M!~b^5iPb>Om97D9pWH=V-8h2dqrPc8R?%Cf^v3Exx_V$sIr$ zdO!MNY@a7d{S0-%s-l@Qdln9=w7K_;-TZ9-HyW(kv+AU)vv-s5zJ_>73v!Xo}6tn0FB~X!Aa8xV)p8 zp(~1~)l<06CY?IE}z*2leA@*4Y_Y)FC2x5@hXSj&qkBvvyLZu@yfjoOdUru z<5f;!D$Zp&-Zis7ckqyC687<~sIU};+g@Q^xjJp{Tn=r9GDMePr3>KP4fO%%z{K#` zcp7VA{v~WLB-2={gJTmj47cn(k32vIy{1FOJ%rF;A&~~cqo;&}cB~vH7WY=}h8d0c z(^Z^{cS#*tkBvVGJCQo-%KUTENyFP&m&{Kqo(z$Tm^`tExu4cO{%)z|khTq*h8OZZ zZY_01=kDtDpDtV(A{)AmCuF6G*id(ipB`=ihIEL#q>@8g_H-+$D>rvnr*938Gv+D< zcH#%~*|Y}c`N+pEn?W8k>lf?2E&|k1%%;1dZ}0{0i4c9~h=H$CSd3^7DhLM4gDfav z(p;b{LKK=UdJQ_PGwFzTSYELRBV=rWB4v)YkiLnv8ww+VvEvV{FfdO5oi{%(Iel8#?70 zZD_?*Y0Rx^oQi6tTd6h%w_mrv0Xs2F7JgToq}#3E9g@YqH@;c5a50gV`-NzC$wGll zR?Ugo_la-Xa&GA^2X78{Uj`$lXhPnc^&P2fZ53uRm6+kx!k z{*;TB3(!Yb@Q1=0f}9az4zR->gkqGS1vVAF0UY&w=3%rd$Dpx&fH2~Si`;CqD6%f% z<1rV!lr^sr4gj$LgQQ}ggTN;&hTK@g2yTHDvTyHD#_8{fpiOb#Zui)VH9zkxf}S7^ z#I@=jLaAjd6`;fg0-~m4B4nphau|g7H1RQQM4KgP(`B4I*nP5T zb(;-DjMr-m7}gMvC&0{PSTmyx47~Xr3llAbqc8S1uv&~897O$b%Y|lLmPkF94tAlo zHFI2}F5M<#wqHLcoV$iE*7&caj_vQx^(q;9?ELspW9A2TDGU$4W;zl9Ik1_SF zrw=RyV=e0Rltd9%6nH(T9D1hXQ-BWcMDgxc5{LKRBrpQX)0sl2jfUfo<@ zHFt_@=@dnq*SjSl&r5`5GfN08+TIJk_dtMo_f{gj-lT3aFn9DQk#HlD!jA_yW0V3f zRp&wp0ZObA%c+4!Ed*EqeYoE#?9K;2Suy}8PQS7f4L*{uljk#RUAN$JStM!9k#a;0 z=RxVrgj#}Ax+_75feyFE7OV(v@fZRs#d+o4j39~`vxI=Nda_+>;ss4Diug?Vpv;_8 z3crSyU&ZxB)k8$L9@H;q%pJNkVgvsW2U~XW3{*~~X(>pl5fC2%mH;$FBCs20Hjf#f zDz3ATf&Lt(JB`U$!&>}?IPZb_!msY&SeI34WkPTuup0AF=nqlEGa(OjL|7gV^WgEy zsB!bN!Ibj)k4P9;l_wK{et<;;y3>k}2;fAD`pN^C3_|Ogi~w^RcykIF6E(^J>yqXBM*T#n)D$?W#7Y{3^TwE*@C}ymuZvGoYe&lmy|BWV9@v3795h-u|BaazQsWpPk$&4fsM}G}!}ONg^el|KxkF0N z#2g1ZLM0V0$wEMB=1xd)=8i|}+0Kh%fg=l4&flQ4Nckyov~(Xo@Gvx(XI^z7WUYy))m(`W_l!iQJH zO72?q-NfbDN-dq5nX}UM#B{1Mn@*$?bE%p79NNKLK9!cxELm28UrRxn(HT`qjhU6> z0`HwBsolAHVz+8pbGx;<)ZAQhdN!51GE==gXYF22%u$C&14Ylw>na~tN1C8>3O(Yw z^F*gkoM}3Dp6J$2dY~eF&zSX-ex0zr^3oBHA+(!SrjJ>wtOI!xlNr2u==WLWEZ*?8 z5LG~Qq?29CY#(4#q8My3AufQXf(@$PkjCP^Pmbc#l2TTSF}W(GBJPzb+A?epf!&)l znA@Xsg^F%L%>TJ7IPIH67_$j!3WB>|kr!9#OjEeq2;;B=^%^gJ1xvwmCx~bMf;ts_ z{C9Tf&Xwp8F(%7ARTvYSI<}o;pY*eETtXuzt76_GGnNztDqWwnMO-tWs}%0+b|wo$ z6P%~f&Vt2k>4=-Ki7HRfm8c;R~_1%%-{^U8WZ>G!!OS zX@DJI=w+?7FJ;b#btK(<_Cz|bHbRDAj8C`x@Cwk~jO0&i?qU%f;LHlRkcX!Gflh{GP(cR1%Z8=}5PKs+u!^(PP$x^J-iqjJq`vp^w^J zzdd6J5*J*hnA4LRUKA#2jw-zxEj_W`A(nH*qkPLM?*^4ZN-Ii~)hmb!w96gy_zB4D zN#@I7_AN*fj|fCWzra=qPg_$ zWzy}yF0PK-(-iH`WR$MZDe)Z><1Z-Fj+uE)jBK^RS)r2>uWBpCNiR-j0Gy=|Fh|l4 z=Y}tbH)yAmTnSeZ^4|cTz;C6s7NH9#fKQSZxtqpmHL((h z<`NUY5xb|DxcE1P7vw%9AUT4YPaEo>cxi76X~E%y__ce=y(7cDA|pCO#5D~9!dy6J z=VJ8ru+ky4GRuyn*b2^nvxF^`y%T;^TXuzEOQcS#klqmoH|G;zX3MmCJuKq!>krvx z&tiez6j`)WbBzlSKg>tFR#j9=FA4&1`bDD+)6l3PWcwb@Az({r2$l#qvXq<_-(D}y zm}X}W`>=RzLeK|;IGEY!IT}SUh=Ssv&Gt=1($Nb6a?tcyBV+i%`|W7$OP6=ieq$Q& zTQ##=X|VGtjxHCPUe}>WVaJ_vqMY}Ip@m3E9#)Ek^KJEH%}d2h) za_prt&=+zIMjVx(kP?{9W{o4)c5!#B3neSyGEDIo(QP4g;Tg?fN|J`#73c0SG@Yh- zlh{w&kSVkcHDpOGTNEa>TA4#-cT7XZ*{NDErQ#lIq@)B}7zH5Mx+Hz3L&@T^32K^O z)hnqZt9e%YX)mp0+~L=%?(NV^)xypXLtQ(DB4l(Dme;KuS;(H47=-hJE}I$0?R2m}_Mdps|ey&K;gT@XTJ3oGa z2`P?&ZlfD+L&OzyfIV%CAWKq}rF`enl=5}3nv|(NWhfJTn$S-0t3i=OSMVhZh1F}> zt3_<*nzircORg;x)^ZCtHa34Tw`{*&$Y!oxT`R7yWa(T24GF!s^s!6*a+$*VdOo{S zSjm*zx7wYf_WX=fSBR>-`)_TbxRA@{)-$%ToKFLkhCuYgDYux(XY++?+1x?~L$E%Q zXBz$anRaI|KLh1LSHoE~8$6%Qtgo$HTU}bamVpmWm%;&<$JgK)_pqNDhvh&$!f4s~ z)-o#_SC^M*urr^|uFj_`t@-o@{&rh7%tmH)ZKY6HT3ycUR%)zt42k&peOFPlYG@C{>tJL8<^3jJ(3&l{ffE=#wOqA8X)RYZv)KlH z_34XcVR#4hSf#Ih`kJ4iZ;QTq_E(4fatc_^WQ2B;yRNXkXcQ`n}UzqS{NnX^sT5k$^WjxYv52e7)BT;OoUc0Do`x zfY42pm}tfsqPBHp*4RBO!YgoYs%UM zyjrQ^Fbc*WmXB_=EtM=%3RT3k)@H?~Mk&WX!J z0~?w*hjV4CpDVb;pw6@H5oHAKwJn|HyLvWwRUQEC5RP{WYO8S@0xhH!0RFBA@a zPo1PTS|l{MySURGWXvMQJC#AlADb4$Unj!MEJFS5wawlks)tY_ z?Lpr>Y7F)%%5bNO@1x2|-$Vovc8`o}$~XSh@pZngjA?_2{n9+nl(}%Agu#ng$Ru`{ zYkc;~47f#kERrcei6-h1CcvYy-|2^VRO&IF-m^5Xht{1b)0qy{#U+LbY>>nH4_1Qo zwLxG21#?+kCoQ+bnoXw**~^H0z9j72wyTQng>iNXri}ONyTW)#f1u#2eEYHM?%PSN z=7EF5mKNm#hH{&kypDJ>RIrKR)1^Xl9a4iE_KM7C?9d`aiy={jh)qmP@3ZZ6c)`Zl zVnbbo%<=9;tE++;0$1SDs@$p?z>5ixV6!163HCi4r?`C2nd7YSP>*NEnu1oGJ^_+7 zV-X-)k9wXShg};Oyc{UR=fF4w_&G2F0b|+?-dBe4Zz6@b_jULyKW-thrB|w-VR~D_ zxho*GizB~)dyZ-FGto_h=9Qh}Z3EJQCHcr=o0EqBsiE3nZ~w%XOwD$HN8fWju=9QrGz+J9cB2^8b6PW)oVw9V*Fj+Bgv zOC3B*Pv2j~aSIW$Rm8Ou7(Ji%d?-vPU4%rZtuCDcQmuWEYKt|Gik!` zQDU~oLKEnWtj{Y{PZGD6ZrvOGMqu^?QIAUXm_7VCQAy*^>j~lR@=LO#{0dJ8XS-O~ zwnFr}_}STdLX7NQmB5PU>k)e8dl4uL8s>U;fW1xq5>^gqE?M+xwi@G6Dcfy^;zChfZac&IME$g%t3(aT7S~Uz@Ct$MWz9BC{{WHJB&Vp@R z!i%HpO~zWul2T5TM4%mE70ZR00)0)C)F6ao5b3}BZ%AX1=RhB^3h2*&$M)k%2rr5M zcy|rn?oKQm{c%_O5~p%E;inCA*jR(^G90h(BT5a^eL>x#vQ9xty!)V-GR zb~m7;*MAA(DAzXL?%I&S4Zqe=_)QV57oGpKrxc<}cW)hXYI)R8$s3l$wx%0dc01h| zww}(Sd7OnfeP^0&d{W#FXC6rmc!Xah0)GcWis^6xDU4?zVnB`xS+uLnQUbP9;YVKKVZb&piExr3c{_N6Pbay&*Di#UZ> zR6PklhBSJrcS>kQa|F^GNBG6`n%W{!tQZ@$hwgx@a7ru^9=Iq^{Mn5X2u#t8DbhYW z7Po8dHO92a)O<`K$*Il}k6!ZG-6~C?db`UAOjM>S{P)vF8VK67MlME`-J*A=55|f6 z%p-H+KL`U)Yn%rAp)p6cc2?5l;HZ`y0gWtg(8!GleCv>6vUAUQwI4 z2D^b)hpyQbW+wz#F+2n;EKdlqRD1wr2WutgY8|=nwcVlMH{g8aA_3DHtC%?9XP}WC z*X?!a?m_LG?9M@CWc^jIuqAYL^#~V*GD+ec{bd4?W)Bo2lbG8v?W@Mez|Tbs$mkx} zxCmJzcg)TKO%aStgt;SXN$VWhyr?Bpc%bW`-QRE2$0;ByxX6RGTZr2VVij{Kyr5E+ zwVCxa+HAnK$c4d~Yf#8bY(~uHSXfUsm(hH@#cbHX!ky#O%8k6Eg<$nZfnr-xAvEz( zi~h&mGF)}M%)L>kH`7We$zy!f6Y&(o2^$yvsMV56D4a4t_>hmOr@0YS+Q5ZxB#Z1r zsiXX*IaVmSv!}=DfQ6`O=a434!#Xn4z%VQ>lgz@UhG-MgWn|tQliWS%?_&clyYSrA zJ|i5wVCoT3sdO&NzJsO#`dC1y4$MxQ9Zsn<+Ex$0a1kPlEkZ%4=?FerLGK22*NR<< zJGPE$BCSX2D$RSF;MG{1m%UWP)uEQ06k?1$*96 zLpYI?QqyYo;FE|9OK?&YGT*sHhR63d3We{0BSYbP8;Qby5|ShFzYju_O@XTc=TC`i z*)-CE`C=#gXf@2OVkpk7ViZcA8h|lk&wybb_K(Cig1*@_oCo8mWwol^6ZV%(ri>l4 zmdO=z%WGHj3mH+l`5C6yjQN9Ivx$H&Txpo-O!a05qKSLZS0Rf9c3jd21IJz5l&={(JyHFmwa#HyKR70&N!quT4>LWqIMFN8Pklb$P$-6d3`X+^^< zTPH`IUacPuwPGDw&Azc#T0u-ooUXmv!@=53t7B+P~wpz8CDmL-P$v(jK zmxG?KRQ0tN*oBW}FGvtkWwnYM6=EmqgTp(XV*E)GkDB5X=X&b{#X;x*PH48MT?eRKEEU#D>zgaZ1#@F_eY==1Y#R0vZ}lyU z^==(Qd=45sl2noE-o|#O4Fr1SRk~VfG+9k0jCr-uu4S7|o{WxUCv0M3wGRYqok631 zf5Kn2G*+8>hw+m0Iv3|@I;%?#e)V~ zMv`q~U&pG2{Z_`WS}bNZHWu?M3)hz5bcr}pJc!jif_r4MECLh@JH_Hd)##lQ8j6LY z;(+Yu2_>^%EGiX?LdD`NwhLbznjt%&XD6f;gJuZ~1CLqd&0@!}T3XJmEw8TU z*0OgE>2HsM0X1ge3S$FRmPRyHtH&T6IIs3TUuHV;D<(8{Y8_AKXmjREjAB{)!Y z58j~kVQqX^VX`2XQ(CAq;!!)6GnwfMpm9EVtD)PCS zoK4U_V~^v4p4zkWje6bcVLI1xy#}AEUr7yHAyG@X8%Z*}S88d`Ymt8$DnOP|Zg)L32okMh> z4U|Xl3b<4?ff>{!R$t8HKmFC((Ygd&KqFX3ae^qxXgX(_1v$xe~Sy;YM@X>h{V8gsx;LF0X z@_Ox%I>JF8B`I%J?=R%FxB7M#c!6pb#p4T+3Dwhc_ZbC`%g?jhmA#eTp8XaSgts;l zp%h8!Mu-=Hm~)uzq1RTL#A1aOq!v45ftnU6n~e?)0@Tu@8XK8ctQu#!JD2_1%UWa! zZ){5JZ2R$v;66$bZgb>I2$F-H&f(f2bz#yrN)G$|4s5w)P;YBOotpJ}eeksN_%!|V zyl_9dp70>;V5O2sR1!(~Je{_f9h6@VDYnX!#(-S?VRisRC-?=_L0Bsb0mRy90N!Fx zB(K0w^o#BFUQO+ycKL3&6>G0jJ@LSrPRA_v77oaYs~)@<(B&;!hIA+~y#qa4((D92 zP!4|Y>g{Ob-oP2H*g0^hLK(!^ueU5*7zZQkP;0kzx7$_PS^4?&u_6FyQFWM4bTZ+V zT=S*c33h*yZ%o<1n|r&VEzBnsaxC+KxEv55GiXOXl zLlex~@f~?#g$Ia?t?5+&f0MIRuNQ#rGoInBui;g!N*gz*UpvnO{Chfj-iJGj3ynb^ zT^hIDZ&de7CoMCBn?%aR#cSF1=E>9R&$N#g3kQwEa`mKH#a-T=y0?Y43UpyS+eq2ZVd$K6gJ^CAIBQAAKgcAWpIW2FxB*=A?=%`PVJ;zU$Hgoz#s z8W8Om6&spO#?8%UMBrSFJa+8Uq1f%%oSKjb^f(lf@dO^?)n*4n?`EUBfr)KPG*&Rj zDe&_)J5`3wyCedXon|L#MA~bxGkOsS7BIVA_Q9tzJJVbOSkl%>*Am+hfW6pfFG-!fFOzDFpjBtrl%PuJJ}2UT29+ZAtkq2QkA|HSn<1XwN8~tx^vrZ$xzVC|JJXu-NCI*+WcWliH8O@6JPW!5ZMy)0G}FB!_HtRo;jR zE1f->Ww&Ze7)-Jdr;h!CImTUh3wgd#ZiAgKR_zxH#FmH7S`@>X6HoNE+ zGa|#4ztdul7ZVf_##4_dx^#$d6n4Dlc4~F|#fra}6&8Q+G_iyxaZ-j2_`ub494hR@&Qv-|jz@yGbAy>iO?=BgSyyKd2|6i>dzyGmy0{_q;T!gM^iTWoc@DiQg$vVs)T+eVlIxf|upwB@gKc;CH{NJc!}}(#*2*?8P78wG+tp` zG|n5JYkZFJLgNABvyA(V`;2>mIgnRyYZ4N&mpA&RNSZt0-VRD{vT)C( z26@#Y*z-t8G4OFk`#t?i>TXpRbAO{%I$j~C$OL&*gc=VM%$PX|ZafJ$9w{FGIda~R zZBS*Cj}ThgL$8J(6la2TI+Xw&CY|z>kzd}{+catj>{EWSlI$cBb$EXon7r%O#J{kKQ%J! z68Qv86m2Kzk1u9}Ub&bsOGqi6#ic3%X9dS1jHX;@+5(*EqjmdKumfStX*-kSvi8USd9_ULC`BD792#S*_7sqdB|qK zadH1T|wKptdpHT;epcn9VWS$pWn7sp?4D0KrLqXKwPs<_R|1pfBQ*T|L9ZXn%C>LNS^2@*^w&~~h<#SiKVuZ_=|^KF4R zlZ3MY*fa>s6mbb%*l=wuO`vd*{2vxd1V(H^BJfn``0p=+;)3K3#m0dn&z{z3bx& zXN<)L*f?$O;kt4fVB>fi)+1ZH2X)hq*cCFOR8?w`tOSbyw{2p{zkz*$_NbqFNI+>U z#&%F~q45p03oO=}W(}w-IDSK;_PCxjzkJa|}eu49^TKEM^n_S^{ISdb@kSx!i-HfTj-C=|~1J5gNNZrx0nTSc?5*vZN+ zqYMXP&Ms46eC`kveWFDuFHP8(I9M6i#<&y+ZM4Mc44Q31>mI_vH?eEjs}M$0GBIe? z74%8du3N5@1jZ_Mj@iVi(#-a2o3Kc=iiykFFYl(Rmy=i0l|((AoSv>%r+1UPm+PtN z^p$k-^%?YXih?HRQAJ-0wJ5F;2J&H6lt}}0J)41qD45Ifi|4LXSS@B}>oarpE9vQa z>T+#1iH$&)XH)gr>015rOsZZ_@LJ@(l?buIt}3wjYY{cjE!tOsy!#oaV0S`H(R|j zcV#v)Tc4hto0e?=b>$JIiL`=t;lnFpC3mg*ZsPK6rIt?3%vtGrVmeisO()WcxztR3 z4(&ied{3bknkCCB)ZvVskP*&%d~Y%vVyOT+lFgvoJubD2U2wZq%bMG*&86n%lGC%P z)Rmd)K-7CAhvorO&4mZMlRh`<0<&CPX4$Zu_CCj>Hjye3LD8}Ta#q-nU z@JLuv9YW#>0y{AjL6|N!AE5*0M)a(%iGc=!$I>2dF_#tY@3>drLS}Awn=;u2L&F>_ zN>Vo2(qgSM?8D(O*5^IWrQO+Odd$}1ltoP{gvlvM1{>CKfg4i3ZlesRM;B8FeLhcH zMCOHaE2@CC%#&TqY#%h6Sh-^MpYexXKqI8uJ+(aMGUTMR#VD;PJ3&ISiw}gxS@s%* zMR6Ndhh@4rc@rxQ9nyt#@r}w-UHr~uhhGY@x`7GDDus-p#rJrcn{{U$&W5Q3T~3DO zw>hV~P85a+EYcYwhAtE&#^$kZV`}qU7olz&=;DjrCc21Et&P~Mhcc-T_2HA`G^6F+0NSxHrgE807d8Bq;A32kYQ(am_bR*E^jUd4;TA`;?^)@Zjp`mn7M#iM-7D(?oBUHAr8gD9)Fn<~&Q zo#JuTk=c{XckW{Yznef8l#8P`vOxzMJesnF_>aS;|48J;3=xY>uI|JSn+r^cE%vb(q^l~IWAl2#ug9^G<>-|dWqgs znp{(Kab{#x-WGRA(`iUQBSDBxMo+Q*qe_>oaaikKmz5P0@?mhoW3kbBo0QS(L*|8| zxew~R3As+Jv229SoF%i5`rp~hNA8+wET?GKENpDxlHa)YS&=YKIgcr3)kcgc#=D)4 zh_aFioCj?~w_`E^0~TWo2v>9oWGeAiAPIGL|%ZzrK+0+N0VRXO$QAzhbcQPA?8KeX!y5vcj4NmSj0T+>l%VQ&r` zy{s(lG}0++cpU|g=v1a|%Oi&&M}uRwmkuMtw7tqWMHSc@W<*kTxuQe5E-uZg1nLEs$L>}O zf&+osVm6dY;n;2ei5USpgVBI)?`SAKoYa}>8M*BOX2E7(WK~hULDeOafRyHBR+Je^&~p5 zPoDB{nelt&DfdZS_qJOxhTtI`DG++6g;)c%6&y$r;S@91cRR;wTx5;l%!%Ng5iX8| zqSwf4ZWcCHZiHiyVaG!u%!T6ti=QY)PJ#B)HS$n|NGr3{;669SJ0ZY&I_>BeO<^Jq z<)C-M&jCmsJuJqCqb|r1Ov>>jM5kq1y&m?Z)BHg;gW#jtaf=>8Avw_W4fCGwU^ znyv@}a1?g%HH@rCmyw8oqwyT41%74);a#0Naa}az>PjLq7{tNsyS&j)VK9h-V%Wu% zL`T4lm8>KOO`kQgz14ZN_MKD=^f9MBSo46EQw=4iSBUI&P?eFB3KGs2JjyO6PGBes z+s=D0abdEPF`5|tYM*tVVB4bLjHCF5WwV*;>A93|gpqleY1gs6VR^&(F#>@ubH+`Q zS=!2Ol}m2BqeHMRuFwj&9Mkv*KWy=J;Tg?gmVIcrv*PMFBlxF~EKUDZ(iH9fg^7($ z3x?$lZLw%lbOl0(G+kVwq@K1Xs>lKNMD4iY+->2l7sp9WMg=Js!mi^&*~!JcE%=N2ki zeEy!A=J)lK)RA2{R{Iq0+lDia!&dao9A8|Vf^Y=bSw7nG({-oN+gJ5_l0ExidF_-ZhhS`Nd;|RFK zAV|O*kQ>ABgZwrIMuMjf8Yigj{P+PTq&yh3wu3~qW0;5SX}6$D*+QHx?(m8W+G5=0 z2GHSy8wc%ayU(&D)uEE_Jl>Ri9qdZURG-5n6MWv1o#1zsL{cteCX$81>b30EA|e#b z${Xzy$+d;TT5cg%#4K2D*?x_1x!10)71vj?6n=%`f6vbhI-U8MW~aU9K;<%p_4Ryq zrLdAIw{Nv^r|A5QQ&;pplM2R^;@U!SA(zdqJNGxvrvXY+p!CDRn9r=QEMynf3(FZk zG@HMeU){pjdLRMCOg@`0T+8MbGMKUL1KUiaKR?s%4CZH`UfWnT#~DFMNIsicUt77h zy0msJBj(rv+_c(zgMFTH5237Zy*0|hWutb!wM?#%TVA`GU&x3io1b9^?Iq&1%*w{q zYolj?1=hKzee0l?ayDb~ZMrL(wrBGN}UC!)QYK%NADD-jDumnjiEN51iipz`Z z%LOz?HVf9^8=g-VIPK>O{cJhU8=mwoOSh4tX_q%vvn%VXiwtRzl3|6i*#>>}>5FAy zcn9=YrLTSZnxCO>i@tjHSBL#_3RuqM*NdwQ*=xK2oWjXw+w^tI{>8E!*^d!u35F*p z>=G7>nT?Ib{K~?$B~}GSA7{>diZU?FtU9dR8ohIhWL4yV?B@w3vtO*Xtagl_X-Z%S zIW$9dKrbCuF=&>+FmPTFh?>Qwd}%qew!FHYTg%=}ln30B8L7KzJO=%Ly~wPc8IWDM z7L}`ef0p68+@I&Pb-K625H8TLOs&6a0=y_3^~fe@y~)8Q!3*Ux4PF4BiSPmVO@#+! zGeI$^a)>Y1wvNmiyCzM{P4UY}k&e-bGD*R1UJYT9MoyoMh#OUTIYK-TfG}S+S9cMr zZ-4-VBKlGgq!{RK`IYQ_IQl!_L<`-cvgh!6O$$nw> zLIg{+7s@BrUI3qL`vCj`&OzW*C>?ybq72OyBB{WyA)pS_P`L!?b0dza2q{d32wzI! zrB~)ss__+U43n@_pkSrKU&@lI#fIfIE1JxH-?%;C-T?ZV~?#t?-(Z<288L)=grAJWAST0~;*J06vEy98#L zL#ZmAw5xX-Upc{a3*jfxcSK8ygplYwt9neH% z_Wy0=N2lis0!SmJhNYv(9B${#`s)6Ae9m`6kKVa=1+7p&Vqpx6Mp)Xid z8B`*Q%wnYytSxh{Ep%!p6b_m<_NZ8{!k-uwOAr&$F-Y!Z(njOhYF_R1S}-U!t(#Vh zT_M7ocX*v8G6uhO(j|iByBq|v)@Xx=r7o`uIHXtnMhC&0hOj%l7=+VXD02Z%fgW1R zp7zynSP`@c9IFUkVA{{iiIqgSsWML0goJHc-Dbn;3x*BTo=|H#)<+sX(HFQX*=jVS z+hx@T7gn72hzZfe)z#8wp;TVk+Uo4&IyJZ2E@cH>@^feGg`W44I=qhgE!u5zyzfW)CZkCWYZ0BKm5c^{y4AtYsZZ z^(u;JNC8st)oxAoTA1Z zDOHF|d8<3vAEwK**+qA6CNf<4J1y?+khYOsAlU8&VX_9Os+MmL+&DS?Ot@BfxON)v|`6p zXcW(caI?&X13ET%$VM}nh(oc|;O3gBOs>+b9yH;YnshbEV1Hba;VUj{q8{M{M>KX( z^$?FPY>SqQ`!Vy1g;OSnu+5QmkETv{BcKkoy12rrXLC?yrPr${A{CQ2I+TXBiJLNX zSQ=0|(_A{2#+l1W(k^B$PF-|4r&BjwTrujZi_)n(qQRRvvu6zsdTm}1CJmXgr`SZ; z!*);|m`z8MjobavROkotlrNNOwP)3VG*0X&Hl-!AD)acxItA0=%s`-kBPwAi7)_~} zgZ)OIh;i0thp!D3$XmpEmQxku=>p1V|p+Oxz3hWy@?4mV4I&EH0VsYH+r$ z#>{QK(L-1ym}#1Jr)vwWn%S*1aOvy(MPGb6ywf!27Zb{~3D@>2Hl^uLp8(k^V-Xy1cY?@XtOkoUn3y}^CGz$7isLah+6>Dt#iFq1IUr4P=afhr$Ci#dc-7?EIHcKJ)ALYl2Sk&!xVGfE zvU*xAG7|BsQn<^Rq$L}-nMvCAVjRheS4gnoh#UfhFfn$y6Y8Gv%DoMq*f^3IuW}=F z=kbiZt(i1^l(=lVgZFsV9MNIDRmNo*J%R9_^T7Ym=F~lHdO(o=d@JJyis$gqa$^^Z9TrmBzn>n z_P1F~f)vd>R)ux#fer(7ag8Mb+J#I=B6Q0;Z3byej4r{71a${J8aKz;GC}Je*e?(j zYR;rB?!bH6=P_Xq**-(GK;$`5ei{Q*VXq?Xr?hYi5u0XO*jGp!$%`8WgeszqOe>Y% z9&V-Ni~0!8gkxH4ULnfr%Td2r6rzJ1%r_YYmvmBiKcPLE0@-Ti76?D8_IV169cu1i zizRXp;j4pVlWJz)Kgdrl(rfG+X6G7B+^S|$+!6_Y!1k7E=QzQU1Co^q*ezxrAwvbm zsMQH#W_<+`8WVF&6|B?a!whJs3XH!8Cm#21a~);N#3W-Pb<|aiI_;{9YlL>zMg3{T zlOb{ulPC82;3;USN#d5ZmU>DXcg*giBhk;Drn*~dDO)Edvqirgx0bphuhX`=xK3YN zeY$XEh-~OGT*yijhr>_FshS{aS!b!ObWz9bKRN>a+$pQOq>{32V)8ns{DolGm3Ez$ z)x~xCs%p%Z*R9BDGi8Wm=#nWUr8PLtn5zc^>sW~*Nds^ix3KZ2cc3XUiYbN|LuiJR zMS(Y0PvU21kyK)2_YS&Q@jMcXUin@GN+=g|orO2)mvBOoV!q5L5t*7s>Xjy@8ETD= z*<~l!O`N5~DgJ&Yb0ss4%QP{hU+;Bstcp%Nl7SHHW7DMLEFth?HnDMQPUQz-pNJ3y0gQ6s5ae-kJ zlkugaO6-zo{aajaYi>0V^vYHz5htnGA_1$TJ4;M)(P={+VU0SKaA^?Ox z|810O&=s?E%8{O)5qB<`+O^RY<SnvcW635Rsffu}oqB6) ztMH13p-3c#hf*oWudOa$b!xAR%cl&(xuJ`4B<|e3qQDlMeXTvTKDykz;~SgR|2pn^ zLY2p`LnRR+BM4J$1EeCu6;w`RL^x78g#cHc+oYS~(sR27O44gq5CX7@Nk#;hZ46T2 z{hd0f!tJz7cqc>g?dCrX6T@p1w2J8REa)Vz%+1PMd+kOE1f~|uqXF5~w!79|V@#ipq?6xe zC)RgHygr%lcxEv$z1?L5CMxS!)e2&%HwJn$ZEU|P3uf=n7NUs429P>VeOO*~#5Mv+ zy829qL|t4VB(uv+?1`Ze7V4I9di073w`!-$;_roMKa88r9SA&qK?Cx>De?q%He_Hu z)6v@^-WiXXS-6-;OZ&tmmhDdQg5P6~nKp6;yBymAw0MuCO*;$Mhl<7H$HlgZ# zYoNozt{vyhbWP4Wz>3d8z`|(>0S*ze=)Oiw8!3D!*{gVj=t{ekj7Y+Ckwvms+IPtW zDcZG;j8ok1AU?q%6m#Su1!f#q?JfVv4xhV2QU0}avgrQE$jp*nVN0-R>aC^}Ge3!U z^q2M6G$E>OR)73(y9UK*g2p%^N}lQ?uc5_DT-`f z)RNhCAU|mL_Z#(b3djmBW*JJWLjhU?wH#|R>uEZsVN%ekFgSA!eh0toU=Qb1qVJSR z(+-k7+_M^IDUVcD=t>@O-G|T@8MVkGXl?TZ?v>c>8|D_9xF1Ql#5QaotITCG1tf=b z)CF~0!5_N60;`o2gG+k|pJ4&{nd3z$tXg~o#1BS=Z%-7{1C-pV>|uWA09S_aEih^I zdJ1w(*ySbY0;oy*0C$lghr@iZEc4N`oe5)Jz7R`YFdk}QPizW(sObS}keW!YKoU5BZqxlF0@Tis-oTjWn9^q15rgDA2s8>xpbJrOMSUW9C&QgEU4= zl5{0RheTamAtYmElZ;WEu>q|QB2S2nv!R;34 zSmfwR;OR-TO)lTDrtM`iM-amwxn*t8F?UaJ!z1MVxme{HW4VRy{Tpkoh4;X_slsds z!Zy1e?3%dJw8q=YL>=nv5@f^)SOrjlUF_k5!RSpy67WDE)Zzgy#gI)8EL>}`YhRox zEEax1V%5yUZXe@^`28m{>`}w&(leQ>Hqc{xmh#hD;}QMt~0aTOhpLP2bfNV1DvtsFO62Q3wIZNuvIJ8cdk zF0(YRZmzGIJH@qh%2=%~T1ai<{*)%Js%nxGwJlyVhHhe^qmLjG9Fn~%w|lOaE7qaa zT((Y*a4TY=O=I$!vD&EiI{i+4U~+0q`@Xl8#x4h1z+g8Tj_TdCqG3e2LohKC`^H*n z1t%7oot_Z-s?|8Od~fM4pTL)8%*nO7EGcg_k+oOknAj^Yl7{iP(X9sQv@!c%vu;+P zZWfY{0~|L7A?c+-r6@J7|t!6Hc26o4_0t0-ZlYoZ!}Z0zDv zLS!Oa5RrizM;Df^j2sGFIJT-dBe`9|Rg-Ahfwfwx?&EA!01a0g$K`HmP(w|_Qn$%@ z2ukc(Rw#SX0h#1tMiJ+-Bop#I(p3Stg2DNnl)>PzON}~AFbrNFEDivIe!xZCO_*jT z=b}GhB_j}4B(H!?{bGB)R|}-G*i+$Fti4M0BowyK#b*~&h6YN8X>vdt!!WwmZ(W69)O$U`>Qt>x&h5?`{n zPzE!={i#e19i?WJ@o*0dP*!itB2UO>9a6&E5s3j>$(=g@ zAb@OUB6_X|5f#c2x~S)fB4CU)7z;pt_&$>}@q# z7FHY;d_@|kux=9glG*BogL)lGawtIII1nV{b+H$Kmph@js*#2ePMdf=HM_Cw1dsf? z-n$4`J0yd4&{+Y1&63GTME&zx* z?^NEm(tESn1QNq#8i^QZHhNYqq7wm#8NqB17P!(RK~hRZYOzC#9oJsMmTq*&saH#n z5@}>!v1+_k+_~)6Ufv^1xJXlCXWNfYT=uONL8A|sJL=F(Nsd>ly!SY;u9ScbTUMn< zcZ`ShB$*u48=TQ;s1R@iCC#ByHFpBkuP<#A+o7q^eF;JRW2bYtc1Ze}tgn*8e!m0H z!ZOz3ob?(ti;t9<`l?h(BG{Aw8ipsVw=F)HhwlO1?aUk)evr}$#_X*ikgcQ6Ff2BR z4+|-Mc9(U%ULQPd*pJ-HFF)UNy<}doaMGncG5ijm-pR z*gO+nnalI@3C}y4A!GBLi6mC5Q`2hpMjKtVQN!)bdrZ%W!T&~H%EhvmZyomuS;p4Sn8q?pZ<)y2c&5=i+%F$B zkL&Hj)*gNxTIJ(6yrJAWY<7FC!{a^WSFg2q2;PC1y~A?juygp#KFC}wl=t_Jo;j$p z5~mkZiNxir`74)m$$TD?Y8F>F);G7ze4&)vEN*PAZ;Cm#R3b9*Nt)dR#9Db}#g79C z6eD&XbAeDtgB#@=+glyn1CG6sH&~qA0(Rqi2UzNUkaUbHp4*&J^<}_%cD$z;(TUvLJ9?YwXQ^Q*);aJ3j=Rt&&oGw1VV?m zT(4pNt28^bXY~yyuW{6}TGj3e`%AkojIZEgno2Om!PUmrQh9CJ%xAZlMHLtng z`j?!UNhIgy(lc|e*B27v@yg|t`1Pg-TxC94g9pa^p_Wx^U^e8Y2-$M;cy{{clGW^D zfb}Gpkn{@owk%W((mUV5w2to9%-}-)i?ey_=P8!+FA#<;|l;`zG>IE|&df zx7|G@#58ajaK=rX>Vqy#ah(p~Huu1<(oEzA~4*608wsFU$9DdcZI~^(n)sz4dp#AitF` z4C5i=oHO7FSN3X=hWapW`Ogb1-)EK7A}3n@gKGKqn9yhJPObd&f#pxQ{^{WMe**3Q z0LqW{MO;;PEXo9A@3T-gyt`ozlZycLK}+^#g6n<>b-$mN&rzx@XMP`d>(ug$__dct z`GULWy%MG07g@SX$XyRQwRU_1ce#(D+J-+amwYBw+yVN8~y+teh8h*`2$B@hho?{qA3yRk`~$Y}%AS!9 zrALY{poVAcvRz|WSApt-4o7Dr0+bMkL z-;*_K_h9d0i9Z>}0)Bj*d=P&##`71RY``U}T%3_f_v6Q}$OjuP^8o=jEt3fDx8;KZ zN9DiJ_$>D3LA8pH8!vqReR%z00el{R>;Ls(d*9H7S8l%Q!b)*%S)|*4GPDN=#n=Dq zFEP*HEK4~j(y6>D;}Lw@!x!K9L?uI~byG94!w_$$7;k@)mBR}S;%$v5+20Cp)AHr# z;K%pL2k|#!Bt9^Co)K~#zI_qkLMMn~+mh)kewlpe3|TS$FNkjuGMN(D4B{KfyGJ!Xsxr^Md}ft@IETl8^X1Wo+Sl$h>06tYLUBdyVZ$aBCxc{wqma zH}m%rY}S77*y4A5VSek2L7VVA0%z51&QdCyF^FBVBtfwjR5JNI!uPOCmK#I+j)yaP zxzm0-Oy#~ByfMNZY+w_#ZFuRr6Gxke8!qTRjHPp~lrz zDSNoUJrUya&!8Bt)BRo^aaq?Bc`snqf6@~<1@2KXW4j}9c{h`k)6d*PCf>a$!W$VP zp)PNPB=pY&^T;v>c_R#!t?w=y!kTx zjdDwdtY{ADd=I=PX{$dj>{$E{VkKEbQfM0&6bp757liU{-SZH?5nO|KW!p z{NCSt@9Mw$_TT=oM_*C;;F~^o4|J?`LWL#{&?cqehg{yeezwpZA%d@Y#=?o0F8+~klxllrMg+}LQ3QJ2jX~E_Id-6_hZs%@p zbvn)d&D9cqCa0fF&OVu%OQg~_cd=%&gzcu+FVC{&qiTwr#YZpDXyOtD->5a3#-+NE zed;FG_Is6H!|LD6cdBd;2!2_IH*-%sanqjtzA3DUTwAi&qpH{pbE($p8<*bLFfQ#F zY2#AA)?_QUm)7@;OX~xCc2mZs!V+Ls^Twsc5`tF;r9<;0SH{0BK>1t zkShfp_`>Hu`;Cn=zYLLl@%Hnc{nV#k{KW=+KMNH|f1hCAujcRWXYU^V?`Nt{-2^(; z_I0K0vD}5tVEqfXaAN3YGI6uft~L*97JfdNcoHj%v*{-jHxH`4!Obc)(Nrk3IOIAO4BUzxnWsCRz|S zt*~O!`>nx~f7Q3%lKjSRc*$m}`S3rTTruLzD=X*4soy>N(&s;T?#9#KQU08-UM)TR zdE=LZ^G(0&8o8!e(@jQ zyLaz*zvE*!zV!#+@&iBkE7u?XoACsxXJ7ZJm%jHKzxtzJ`hAV&-@WwW z!bE9XP~OF#RIvoHL}>=%B;@mD_fm9KsHHLoAD9EdC= zN#g(5!|#5>um6_ucr8D8`@c87{(TSsV)@52|2%2PM79xjYq%{Fc|7`G~nTifc~0*kAIoBU785*sIO?u*S9WZa&A z=9B;H(I5ZA{x`hr%g+CkpD_RVqrdskC#T@3RY-HOEjE_9hbv{6GR8K_UggBZmP(vv zdh3~c&Rw|Qc=mHKG4_rNhH-3s{s-RiCQJi7bkA9dfN}~XG!>0I(r_;L*m&F7d+w*K zFGALDMb>A(1a8cie>P=5V?6XcWUubCeVf(&Ti6F9OL_$0-$vjM!ufcX{Pf3ufl564 zx~VgtoSM4l?3sr?exFh77oLVsL8pc7oJHjPcFK7kv!c)b8m6#6j|!VI9{S7sjMu%+ z_^PRU&Rn>E3M5?vgPZ3K310x@EmKMtF(2;o#S1UV-br(&p!4%C&#}#Z?K)jVs{L( z+;@*bg}e!cd?#i3C}pW2%L7yh>hK|v#VJL}@?DhW_%VF_3nj}hyK0i0HQsXOo+&D& zhEl$pvYdyr`0Pg%!anS(iYLpzpe*m9EHA}Ot*rfTx$A;FvNHQ9=3i2t#mDjWCCDQy z^Ly^fc=CJ?<@tTe^Bqc_KXlc`ZuKS#`CiJ7PHgF+s^QAGC(2k zp)9{jS$;<$>l3bec(VKeWobQuuNMM=Y?Hrn*93WFn;Zk`y_DzttMRptCs~*O*IgG+ zo_|Go-bH!duH^Z9PTFSW$Sw8%J3%Ke;p^8Fs-_+kQqRB@@%=vt{8tJ5c`tAXy7xiW z5rNzzhyR+uD^KEU4dAlQ4?5UA^7MlQ|0#n18U_9HZS*eD_%{UnjjzGiFDb}B&p~dp zlEmVN2>LY%eBFoX0?Epk*r+|N^}_`Ivjn~ba7pf?7xBR4^!E&8yH8qvafX7 zdo+Ne;}dpvBK>`o{Z<)Yzm3&FmK}DZ?#aH1Y0;g=U?0=pcJ2=#_fJsn&)LS;y)SiW zZ+miY^co$U=s2;neh^uIlCmat@bz9L>(kz>beu0IBP|4+)ae*<4N{Q4}) z1cSEpEikw9$TuwdO@SS;R zmtlqI49B`eu~*2d6WWgh?FR^Li_rdSpgq42v}dNWR|Mv346`HE88*Phx#SEV(ApOh zEMZqW{x4&dSe&6Zm$Ga5l|qKX7|H_w5(WM&75Fz);P0To=ZOOUIqE^xIP=g7uZ%b_ z6b+i3OI)=t7#Cg^iUP z0^VHTE^Mx3H#Q1+7jyp})%~|r-IsqYzA~upqr}|%r;@~1&fG7Jt}Y$9ztgI$h|j|> zFpQt08eaK2e0^!!Fe+5T`|iDP+HtL`r0Dw3Os~+ z>CL;(mX>fD#V}rQZntYd6nkad+|b(r_6HdD-$v$NV40^Ny-qK~*%A|#SX(TZC0Cp; zpuQLUI+wY}KvjAwrLP694-uusdkj>#q46>+m z!Q5V7DX&5;q<5wxGF)BBE|xNxENm>$zZENeQ&?ZTXHm9G!`(2yM78;8$#>Cq4CWkb zy#D|szszd&s4-7b-%P}sO4B9L#>>zByvzq)G|=WK&dK%fS*}ZZJm>usJedOL&l{hY z+SuAa+@wNwt-N6_Zm#1ymtD&h5I!fnva*oPEd%zOLECxbuf92~Rh_uu0R9{xzTfy% za-I+i90*lXT;D8i-7t%5+u4;O)B>1m20<{6zDsfx>&BJ)NIKeFOu3{zh2&plwZ3qU z>u{8N7E*fdbxf4JlJsHXeU2pomE9fYf#%m3nn&U=k3?mwTtbnb$9VX9S7w`@{|4;m zjir=Y$->%padUmm+=gO!_PZEB`jV+7!(YRopLY)%x*E@3WsjdYv$CJ_?0(~5XFgvnZLDN(@cv?!AOP5p zRWR2#5nQIYwunaCB7L4Cb&hr$0?u0S#bAx-6X%V`7zqeMWgMJ0ejEhk1O-ok!gH6N zA~%J0`Zg=jD2S=l$Jq#5t33ovzr|YVLAS2tlLiO7%|;cKp<&FqACvvWrJlHM`+WfX zHpBBLXBHTP2Ir06JyRw%2Saq;_$eZ+EGYXULPv^PIn5htgYE7}2JUxQ8SgwR)#nS( z8}pEm4M!o`BJv3;WQA!sRW4`o`ga+Y$IgjJUT_J|U1fl(Y?CJZJpkTseAy%O8=WJo zSH`@P*tE>MSh)m6n9Xe!x2gASY!(ncC<%}EPoFpLn_}dc1H(Wwe(za#H~3LB zrEJOHMgDVt$apvC+_I@l;Prnb`oACaH~O4@noi=j^b3*vpIE8axQdjTOmtyT{q+Dj zZ+!3^2@~|EVO%)(TdbJwZqF%)8uKFz(ciMZS;C>t6__1IyM8+$&SkGqC$PO^_|=>a z@~i)Emi?tJH4|!7JqrE>adLSz+h2!j{2)7i-uTl{c%OwhZ+xpCcztyhM%diCvB9JQ z!gt>2?F>;jXbDm__ZuGp!g;5cF%AigB=(!zg}k|tEpfvh3`ZrizHveJjkljUZ+!RJ z{0?*>`9d#0_kJm+WWr&T$jWnD{1G(OpQ5SmH$E9+{MObtSFdSV zqtr`&{3)@ohXv?!oUaE!@Sm~5|2opmDXe7|Xvh=Ww}F524`2~ zH0AR395?8xr(S!|ZX>!=jjhaII(WVJP5<@a>kk9ddEU1*l$d) zYy`{c{buZ!%+%~xYt+i9kZ!LNG>Vpnw!YS13Jcu}aD|TJJ-h{sJ65_Y#;5og z51e=y{p5b*`=e_btU7e6NSf@8kC?%}2#P091mlYr4;yU(l*U@;jh{xXqOnalwVC2qLnHpzNR^E{Ng=ih_XnJ?GvelT2p{4)Xut*WB%#=REh^CCN>0<{Yk1 zy!S@l+u>i}iTc7xQ^n3dLU4sHXQk!fBt5{lMQbV7z6-1mf?r$cjDh#DF&&|QnWnAN zs6yy?c2{G%QlQ(BU)gYxEqR8^{Ln30WBc9-)BXH0rm-CkVe15*GB)Kkt9@Sw=gncx z`vGwL>L@Q2ndHAnp&K9Ce0kx@&@1?Dta^Uq{`?Ap$C*Equ1QSA$0*cEH!mZ(AEod) zXiQ*r&5-QWN^_)sXV8^(e05PHQYf38Jdj<4(B!<85nE#H75+OLWNAW-6y6FkUG+r@ zPAe8$=~kM~+_a`SP!N1+X0 zdKB8+f}P&ze=nH&U#&{?lv4-fZ6OW&MtRmEZV?)1 zS^uKS&S)6(i$b|IdQ{UP!kM3iup&$3fxgbquqAGF8SRM(LBY`c(5 zM`yhdh%SLB2qPXO;nx5FoR<&~J4(u8LlBM%ks?E+1{!U8Yfx6A7^#HDAtd{js`EBN zH0dgGBYR;$i438p97G4Dfj16EtYQ^l?*^z~sQWa#Fo=%nytXyf^QpFT>?oSbil*Ar zS^G4iDzAh&YCg|96bX%O9Fh}qVdi^SVSbJs=PL}KbpPn@5vVm5mV$KXdH{gj2MEYX zl$6D0aHuUrY8oOn(Hy#g3KSc6X!8&s-|&22-_-9gqxwWt92`x3*3v$qIctcGs;x~3 z#pl(Apc`Nno_DfA)YX)xtU1^y8w3oci8;;vd>Q$9Gtiiyw@@TBwmJE^VF+*LwqA5J z-7F24H#x^-aRc5b1Y?Z__P_URORcYi7Y#A;EOmWZycwSDq51TAWGOvDYN{7tq)fe1 z=rkiG1|vHq#+gU}OF09?gJkdu0Dz+n7D~!uDj1|_3|=J$DJlaDT{zlCbBoQ{lNiwO zf)5Z6k^yyo;IPq%kdm_42Ml^^3>0F}J7h`9Le&Q~)zwinWmHEw`w|B>Y^OTf+XyKsiy7dMu5tK~IHaRzEdmGff`LOOaaacd_yO@CIZ&Sj4)u8AKuK8~2oBjA z2kLH0w!gk06N9ZN1_Q){WUvbWz}Zfg5mHhXhk(IgjlphYDT7T6s;Dw2!oJN*1+Qh(yrf@VxQ#hJB#}JJ(kO2+E zgQO9H%U8+eqI#qr=U zPUAp3iZ zh@?UaL=gY?M51x=8k=Rg5(HvpF*__x8W1LBg-MxVQbriROSoEA281o0`Wzo1UFlk; zUBcinXk3H8PTo6~fxwdJD(zZap$!hp36VuPOvwmaTD`>Hl@5Zvb!&FD7musG{<0#6 zA-r)&m@JEzhv9PgL=@gR!o^%VVYXmG;yKHzso^1fDLB19D`1!31H*Fa<%Go!3Cju1 zffM3nB@2dLAVV+Mg?2aI8m44=SsQB*lW((^KAsU+%Yl(MjkQG@m% z)R_tdR=_L7FC%arTOE~-`=sk+F(=GK!Kbb{tgb_Yt!qS1{n(*lIpI0=vMk+XaZte8 zU1@glAZB)$f3q=xTpXjhn9L4S%_bO~pJlm`TKXom^et#<+;UHACNyTgq$^UhFTGAR zbR=@B>M;0n0q(8nsCE}0?{?4X+DOBvE7(dW^|c=8^az9N^l4d^Bs71TEZ&YzpBEHA4K|*E7IW#7whyR!j#;=oqhysks|*s za-L3~&pUmQ+UYZ7u^>#j&Cu_CI$Z&?HS%I?jZ|%A%3@)dGTiGEqknulT_H0&%D>t3 zbUL+)qg1om#-7y<6J4O5WoRwdv$$7`J&U)APtO`yt7lPz%IH}L|9#JD3FYD}OCkD5 zu`EtT&$>HIx+_eYq;{)2#3^CQq%fK_a6gTS3hOK{&^pU#HgtxCunJ-r+#QDD!76eW zIg?F1Q&>YAs+7(v!|$g&FkJ%P2>(6rYAAbN#K1+s?q$`aEGnqO$}s6|wE~`H5K`Vo z4VGa&2nV4Z8ywgz0&y(S)*wJbP+!v-5Apn z9Jc-8W2vjcrQDewoWwkBp-IJ*U9ohVtF<6!4mNxSzZeO;B+Q-2q`IxkAmgH z^`to(%Q)nU=^9Js&4&%%oKq*y$B1VaAb=<0|DIfGb`5UNmz5G8SD3Qv;?!le=6 zYTulITxCRfP4!Beq*m&aRDL+0q@2_b3c|H1mP?{XtTaqgu5ehJ2q4f!JV?5K0RT9s zh$ccx%HqqQyDVIKQKNerxnd7;E2w(tbya0qxc&fw&HXQiFRflh^AaRDQN)k20d*|O zxtzG30SdSx9wgU)0011knZdYHQWoC;*Vn_P*EFsIb%F8lBjZYs8I{+;ZH-p2 z-z2sc-VqQFl5H3OfD?*3q$aA~E+wjOfDB$Hl$6D_;JPMUTCH)Vy@q0{#+7+?O)bx^u9NMD#I_-Dz!vd;&-Pp>0Os)% z>sqP3jOKi4p3F?FHnr)~7`yw7yO05P>6_ z-=>HWHPu__x@L<#oo8Fosy1hA1mIqTBIqF=B)y#g0M0g|g^-f6=mfnRBcue49=73f zdbbii3})rV2pk7dECKYk61}aU$Fi--$amgE^maoL^bik{-p>sgy(0*S9wlY*BhXtH zA$=Gjt<@O*%H@vn;5ZL{Euhv>EmL3lQ zdSZT(6gNk7ood7F9S)Rtit;{=P&Se@Ti1-oAf=MOsANlovZ+?dX_UxZgUzim3ELxN zs@xf`0gGnftkFPylZC&H7R*KGn29YB;KJ_W>C_|B#GyXtuoE1(2s!saTniqwi7p&Rjz z(V7(Z`?zzD?#|CO1?3AZrmJ2KRb@YAv)k=`%&vZne|d)(_yx7j;QZCZx0(6o$td?S=A??)n)j6dh9NaQs} z9@rrsB)gW}b~6OTj*_yt2JBXA>{@Y&%MplcBbC(w*tJ2qvQ}sJ0kOLRd0>ZlknBWm z+kt@CQ4+Hg*sY6{KGXxe+7hns$eDTI#Xw^)=r*At(sd5k)B(3H9Y z15lk25G6{=;wDhq7%6SgD0M@wvVl|D=!eqvD0glqN;mKrC?Of7mlA;isGATFB}&TT z7Et9pXW< z%iy;AA|Q5@l*LcMZkxs~i%Vo95VuDv+XAo~h;n7S&h9f}CnFE+5D$`FF1I}d0kNZ` zEbaokosrTGjo@v_Rd#^ZZo9IR2y}YXu?sznj^wvIlsk75pWAs1l#mRPQZX<9RfvEn zQBoH7fzsYcX^%!}G;)4DU;t_?0-{7oS^NT&KG*n+ z=MobUhzBE;&%tc3J?^dKJ#=91v7@9c9tOK_ zBc*RNf{!9s`3AJM*p+XIK&QFMAESrSk^J@;%AMa4pSe5+N=ODt=^0=E>InoyiITGT z11NnTDIL)$Ekv$zgj4$752ZyYcOE55i+K!`kPMR2GGGAec?3j>lCt;{DE+AMd6`SR zf249pXW<+sJKyh=ABpQWpOJyAzSp?;63) z$W?v^t*v(D1QF;of66E5VRY;dt&dUe{FC@>;W1D`GDu3hfB~pa5fCLx%Hm(3bShFh zsZrX4T;(LEbjlB#$=eSI+5II)4+v}j+O5)3B8i4ZEE>hmhD4_okAV@AK{9dx15j5WAV!pw#U^0XSfg_#m$(XnXp2%B zgV#uZbbk9&Isa!kdm?(3vL}XZljQe z`$_}1j_2ieHE}D3BDf(QB)72u0L~cVgpiW5*csd;javn>%zl&3%k5g?RtZILLp(@s zcL4x66NnQ+O3GqaaEsTt-GeN%-{Q~9?Ka8rt-R^K!e9xZMv$a6>#uZjS%}I1dshgp|ZC0&wdQC3V;6J%(H?7Vy{LZl|U4 z9#OPLM#Eze4oY{h{n|S^wzJW(-A=EidFDddnMh>k@fi3b86@8YzyQ>f2#7BwWw9st zrbbCA8sA08#Y%#KZ>pJZN*#O`L)qDj_&&>H;EQCCd|w6zpq3&azLb>3e&E|TO6sHW zeFeE@|MoTW?NbNeSE20ePkdkFG4Mq)NWSj?15j@wAik88#R1@(6(wbAeBVQ^*}qw4 zzL|CKT?J)lHt~I*$G{iKAo*?p2B6j=Aik88#lhe^C`!uF_-;ZjE&&bwVUU?`P91zV zL)kfm_j?UrNg2Fz_9!k==zXtU0a1 zveC5@=N^6QLN3wU4MlK6JVQH!^8<8C1ueCZiO1RACZNtY6G{z^KvU9Za+a0+z=0v+aCY`&N1SIkdm@E z8r<%Pl8QBY^c_Sjhw(m0pM+KJh(i0ZRl`AOYo!=$k9u2qH*4kHd=5PYWoHSI{fo!I z7s(*`TJ4PQ-^3G;l$6D>;9C|Yxi!9_$i-Tjfp3|aue%PuVNiCK6W@9~2EIrJ$+s~u z0M!5i@uej8P=N2aD5*;0+Z4IDZ87j2XXaZ~2VY#n3C;<`w;7LtFOos>y&M>TYKegO zQWEhdv_DPwon8&#DnA} z0suHM#0eoKu@3{>JQ}x-$ikYRft%;N+@=z@SSW%U;z4rj0s!Dh#0eoK@j4y2P1m?} zMHcP^4cw-mm)pI>?K&ue8{$E7>j41ZBoHTrl*E<|aGMz=-LKJ0L@pL2c^{K3 zTWtg1d1k(I>)<;S%Ff4$?=T(%UnGO%TL26|S?7_b0VJZo6^Z&su*!#yB36^4F4|CVE9s1UJNkp*;M_r+5K>YW7lGSCjawPA zu-{ z5D${ubN~RyL!1y&5^qX^+e=Z>GL7E7$i#hJXK$G-1KZQyR^G~5 z8E>4>7_Wh{b2*W{kH^3l$sqYY3=BZcLO^^eDT^z>_w^|0HI471$i;fGf$!^PzOU86 z_c16t-yptoc?^7!43h6NzyQ<}2#7Bw@peD>u8fl2*7z<&E|!N3d{>(JzFi03MNoFW zLwpzW82BO?B;U&&jBiT>#Fvt?_&)fq(#T$cEb|y&1$Jk>t#26P*l?llJ6}x%+d>uW z5D$`_2ms*35G#a~l*JFhZmq_yBeKk+eC-9WTSx3-p$c}02g$Ar0DvPAD}|!R;R4ugB6in773>fXl3fn~04IT1A*7@%ZUwtfqNFVv!9?VmNBSoqh;1`8 zqqCvD1?h9%#x@Q0BxpOg5!+-Q17ReCB-{@efa-;S2vbrPcY^SaC~3P!I32m>p}xb1 z@b)?gXF%JziwI}(7ziU7B;g^z0MtMPM3|DYxF3Y~MM--#!nY#VJl6O55Z+q{;i1rW zeolmk@fZjr86@G2oxu>(eKe-~XlYqAJt$I^MbAj~IB@+|iD}*&k3x;4-u0?K{NS@54W>maynZ2i!=EPCa0;x?X)*e!)+QHZqppjzsc_3 z7i+g^D?CkXB{gcrhIyk_HPzF#;no;~OeMjFo3W5QFr5vz84jnd6`0ss1v~In53~Z4 zmaU`~oJk9>aiyg5p$Vhu?!bWJPiYHsUluPx;oZ=8mkZnrbp?R>FzuY=wAR#F#k zw~Nu$@m|AhxETvguI@%mx&_T-WClAOk3c}DV@l%H{!Vzczmp_(QeTP~g=H(mj!x39hIY0 zeYSlDT-mM}%HdynNRjZJJDQnr^MDt&`IjC%9e|%V z?@&`c)1jmSZJ8ZzT*llO3n6DO33cuz1>2ZM2D3VUi-77(Nm)#fPm}t`s}=qcSxSEx zo#il-4bjN{Zk8aj3n5$mkb|21AqQ3HgjuEuWEPRk940e|$^2oKiH6K#$V_{bWN;*$ zKg}|B$UI9p@GoptN0H1)vrI?GJV!EfnXS1D=ag9{4l+x~)|1TElT79>vrGbHmO=)1 z4|;>)bxz)3f172yL*gX|`oYr<3tk#|n&F)@%OvS2eKZv75VUAUJX$m(KG+s*01P;x z9s+7nO5(FDXwd=jQkK@Jk;qlD^hV`PrVL=srMFoWgq#D3&A_19GzSJ)G$9rUDT(KM zU^6IQ%88d`jZg~|D6&q7_YWlp8FL)$Kn>f{EW|sAGKh5!y@y0Y$T@^q4+)yJ9T>3J z1_80Aq$~~v>s#ZcTQtfJ{>Q(`bq_)xkI5Y7T3S`akR?!W-S1R{u#lCoF?qON$UP~+MIxk{nV zmCq%L3mMf>>_C0)W(YY)5}T1hvq=L6pi+nhLQ2Zw9bi)&FOAaJ^hT~SN@v4oB&8Vr z`bl&r9EeRH2suX+o6$kD83+tOWfBX7l$6C%uo)9Cm1t~aYW7u4#PiQ$1 za=M9)J7_k;fdLjni3LJR;$bG(lxb9MLzYseQ>nX4S^RdXJU}?hiD-GyL`MPx1Ph5E zLQ2YFC5TpNMDgPbf>ObVQd_x^bXJkks-TTN4h%p&M#d0Q5|4r6)6{eG6G&5qJwhno zEk^?>ZV(RXxaN41-RZpPa6S?b-6tUnE{F$t-M1J3z>3w+ z@$?DevIMf=f_RWzmIDAdFA@iYl$6B<&FvoT%P^D5Daoi?C~TWu%^4WXN@Sd~ZCG6oA)vZaQWnJw++1gxH#v}R^CCyl&do6x*Tk0IoJcL z!;o-x$N-NH8Nu@S85pqt1KCGNNm;xaJYqAXjvAF;kc+EIPUStK5(_F15tWA=N=F}B zze3u14bi$LXj-R$0Xn}E9fXvW#cM&UbA}{kNS!ohf1v*f z5Bl+NcqyFhBc!A(UJoAKGNkJ?DpAPARS~DMhFsMRRJ7iIoe!;skapfcv~CERR!d-j zPBWr|kdpWY0BGHqAth+EqLGUW5>AVL%2v5CgYKblkNvbmN${c73ewJ-h}KO((~1EG z=(Hm`2q`IxJwU6w#_39A;cRbcweCJV+C##5Gx4}NXdX^r!2S(nA0Z`WF$p{pH6Ax1 z3ztU*9*I6Yx!gohIdE zs}p5BvKWoaaROo=xyZ?`sa{75FUND)Z)7o6 zgUMG|-B4}^EA|G2{y>zi!m%#_6cDREPys8%gJhKr0N`X28-$dU#Zh2Yq_G-^EXJyh z)`CU;S`eT3)tj-HsL9X+HN=CYHWUEB8A6m0QWAGZpjM($8-^@1wURoT(M_y!p#oNj z2g#}k0Kh3AHV7$+n-8!m*I1227GpI;YsT_Anz4#lje-hTAs!^FN&o<-jMyNgq%2MX ztBKjt1dUh~av3rDb~GD{6SL7~m=SEWMruFU#{mI65f75*JpcgCox~3z zC1tT1Jf~z!9*yT@V)A|52qxc~sp!^96EC1vpu@SKw^&DMC% zLoVZ~e`siqx!q^i(e95D&-p+APsD@dxc~sbd5ZWUq@*l90iKU%OY=3J3z2K)`MA!L zmi2AQ{5ps}NkkU`0z?rHlIV*70L~I3h>((a;}1j^WJ}LzM3*7gOmu;{gFaJ72VG1& zUjhPnA|52qHvj;fSBW1&O3LDk;JGwgdS2uCCUVU@m+CyZL!YmM=rSVu79cWJd$1k&p;=_6~uEb5Wo}hAbD;E0C3h5 zKZKN&#dpASWw!LT#`9z3nt86&dDdqyGQC{~(RYdH7C?X~;z1JK0|4M`CxQqmiMQ22 z^n+|^O}4aJsCN`MXn3Jo)JkWL7I%2*LfMAYzkj%dZ0B{ZvV}z8H z#ZSQe<7{bjwzNrO{tXJu%s&lqm?It}^S=N9oIi*$LQ3L0 zBw&6pTRNc8K8;*PyAxJU*oEgoGtUEc@cfE+o&f@QA|52qkgFKae^j27l*RAC^Sf;6 zu*NeKxs2!48qe>{JP+5w^9SM?1_ba#JV>4mInM~<2RusRs~h0?OSbg0#TY7-oeZY+`L27RW&GH(?D;t%Hv5;QW*ud7xH#(fN ziOKAXWik&;9&<~Nawd;@jVq6NyKVj&ETl$^b`rT_wIpK}daMSIcB)cas*6!c1 zd&VuD=5|jTU46!Dm<=~$p~=0WO4-pMu9+qB_U<2B5No3W5Qu#FA3PaV#g z#AN2hGI1zL;!Ga$8dqj}<22lK4?IG4AGuh&kHhY~$wcf#T%#L zww(>P?GERAWcR&`wfiaTZk;TB!tH(n5A4u}+g7h(Hr$Mb5(mI;5!I3WRQmk?)V`j#P_nHvDe|;hH@DB z7MeNur7q`oq+@l!!vy#ivH%Gc&we8$!1g-m)eA4ocPdOQ!O*Yyu^(=QKbV<+e>bao zgnmgCSic}3k5Cfd#Dxib6&FWo2M(%Rey1|Ly&h*t*oR!^mJ`Sm|4HLNQSdocfwXF> z50F>%AB-XppFI9M)4NdstA7B6xoAJqu{!vl1g;>9!+&XnhldV06b+cAOpqs4$XJ48 z?m9&|_*O5O4BB1v3#}lGhrrBTl$6B-fJ~FVz)|`f2i0Bl%dM)rzCtc@R~Yidu-*oD zk(Q5Z6aw+d<8?cT0$8sH6y~n4k&e~D!wLL7WEtG0!E<+Mzy^1zko8r_Sb}8kqTk(u zyI6V9?rH`Q5N?8idKV>S@mrWklfJ=G_0(mQ&BxmjZz}&R}P~9 z;4PuSyz)KLu{uyR0lkkb?v-zhPzFD!Agxr8SOQ^wXiYizp)fKMv>(y|0*ZYQkRK?C zFWv$Y-@L_9I*Nnpj0`H{&Nzl#<_uc(^!XVvQk$m!kQizEdIrPq0Go&oIGjJD99FY{ z!W?uQ=~x|n0D*siEOjC}Odj$F&%NabI9mmdC1B>Xfs})j1{n_8X~O^l+Vr%SoJL7m zJORiw>31BZ-*8Z!mP=*aX{V6OoHiVJKED=5YMRqXyDq2wfpS>A4JgcMe<2;KgXaOyU@i4Jip6yhRh@Z+dZ1>GIZ!u*lzw7V!B?o@u>{T>`3B`+3nm#4+L3Dj0_yJ~ zAV*SC7Qgz;8(%#J^KwpPa zzZTjlS`l7B#q|RJok+Sqs0S4g{1CR7j~gHzt5f)hDERtTW5Io^0ULd*g05FVV+oY` zb_3;DV_A97zWo#+p!^8}@+~FtL0_1_Cw*~LJ^C4C^FiGhxy+;6kw;mcEY>ga<0+)z z<565V;RiGuq5$AKpuzmo1nF2Eh+bzFH?clPzsPx%8b^a-ZZU!EQbA$~g!y4N<=_*- zWF%-m&}+<~sJ-P(Nm*C>rTl9sDqXZy*Oz_w%reFAbje8x2@>7sQ+@B)vgRkg){G+;xO< ztg)>8-@D5Wo(;1sQRplUWwFm(IEcHYk#ZXnc!z~;{=6OWEK6h9VX@%s*s?55VaJAd z$jFYAk0UqMOeAAs@{OxtQ1JYSE|aeA=($WGF?fLeL|6ghS(fJD!D7MjXp?1W1s-ki zEl$AUD}p$39#=4Cyjgw*2{HLGt(AVGZcLK+3NXC_e9V!K2fLNLy^9#FwxGpg!O^-Z z%Mt@xS78e!qcu{eCHm4DrPDe=v`Dh1`d6a$tC3bQqtyYlSS&bN-S`i!)31IrT4QmP z%IM&xLn$4`(4mA5qv>!54&0&F`!er>BJSU_#GJtJnglUF?NA669e}-FPvAAxr>NwV zLm?|#2^qt;w5a4yheB4h5;E?61({g*^GXHsvn+}53X28jmGmr2DjF*td+7j|Cf$jn zG?5My=rEoR?fiI%@9toZOmDE32kJ2)*-&_#3`OOtTbqfdE9%4$WC$8Q@s)FDvqI>>Y5n*WD|6- z-zZzW2Zls*>o60%WvF_Zm#LQCmZ9ouB~)u~%TV>T67qt#Wyl@gmcfp&N>CUkE5reb z8$AfklL6a=aTq72b_rBSb98Q&WjJRoIeCw2L^X%Lg{mt~h8)N*iZWC~GmMKWxC*7% zQ>~gGLBHcwh>4Z(@k?TM%tbUiHvy=Ruh~8zt_;1_i03^2_ta<(E{s zY89VGak{%8zr>YSR!}*y%$1j4UY3H-vlUyK4>B0qq{C|#l` zfW#PGVsrqB3SDAsh)`^(Ep_sSR`_&+E-@}dsDg;@vMV)_yLFLCAwr1(M0eR#UBUwp zi0B}?-|y8$rW4m0G)~xXYp$kep+k5W za*G zMnJL-&sahV&L>bR(m8f$yxdZs`==dukl94|l)m>FuX)^OR3b?Zkz}K)o0)Rt006xV6*OnBIDaHxJ zAlij>$peH^SzcT^(ohtyp&Zsxz7Bvw1}&Da{Gp6xl_Y1?)16h1Tr-VEj1_0Tv2Yf0 zYT4H{@6|P@k*2$}vfN!_Aj+***NO3A_5178d`#DTnB=NPfM_k_bLxa}g=136jgweiC(744%As(fd}LK|VZ5O!db4VLsg`u{DPd=?Uvz+<0s{P4 z7r^g2!0~W_2xL``G7TtB;+R@kiZg?Lg-1n<#Yr9HkGeok)Cm$Bp>?Vb5yD{eMW@YT z5hH};!a`SRp@BfUM&Kr0_eM>(hAwRA1lG)AN${hasp+m~x*;LkBiJdk-VPpy>|`OG z8rMY#@~GmXN?|Guah#F_yT$Thgpg5HQdwM9Qe2QvtPJ+nddtX{dI?RAA4dpPql!n4 z8c^;otSVrWAD<+zv{<*Gti(OuU(tpL!8M_>JinmQRj8NK*^yV#x+y|1Y8py5MhGT* zylA0NAD*#pju1*+Bl9a=R5uH+n|6|INas@R@_nD~;XVGmvD;f??hWno0cVa~-ZJur zUP9j3@2^_KgsKIPd||GZq2zO)YVjhf)|Hr?S4C=_>D@@7*7;-rYkQ0J{YbT=O(mz` zPbh=#2fFU+I&|0i)m;x=euJ>iP|iC|89Gg*V7MMI^yGnBZ``Z{Z1e}P;k*E!=|j({#7{)!nTV$1kPx;R|ejMr>-a>26k0DI00a6o7OxgYkos5L*Rf$P_nHq`tpUH8j6bieki`<+hwTSGa&y2r%zO(5d> z>~&NJ_}(ADk@Eulth4{o5Bs5N&41CrF(Ik*25Np>*Zs8)-QWD`{;3l`VJO$9-QNQd z*XQ2TI>0G^04L82@VCzXj34&eI6tR>o5pzve#?-LRZEn29?-|C5Ouz>8V&${xf~W1 zc(~Npz)eG~p>90VP_7S`27!$0!=$;HKW*Qa9e*P_Fmb%K{nKd+g=9 z@m79}YaOnQ25#zb4&8V=L%H5*+6FSNcbcno<5&7Iew#L*T&;_BtV`@#T}-M=>^fa6 zzAmvFb+H@j5=(>_?|MBn9~iGKx(D*X2(5CxbbwTU04e7M=&u9x^#{=Bya3rcK$bs% z%<}>a(E$ee1IRfqKrR6I@EhvK*F~DE@^!Jiy2OffvBJ8;3>1VQ0B@fcV6|S;ReoxE zmqv7*F1EHVu}!+zhPuSI>8wA|S?f2hv`}TSYzf5t9*xp29b`u!knQIM`CJFt7YJnU zc|n#(YjfR8(ZUGB60`?g(G8-7e4k8qW4=~bTjNh{HK}>;=cj7*-lVH-@TayufVFM9 z+9&?hwgj-YOIOMHvDY8)o&aixbhU&2)D8sT^S7>c+N?H>`T8%jHOgeZw&Ay^ z`RS-}D^nA3wMMN>zMi3}wbs>I`crE`YTk!5x;2Nc*4Cfe6#=Yu)YYyE0Nh!ZxW*sw z)dAGH>1y%*)Vc)V6Wd91T8BLe8SEFoXh zNhmWdX=>}z*LD)dsU`gW$3wT>xCiPbX)IDDA*Z}}jXv$6SvF|p8?2*Xds(-2`|4UCD##>ALJZ6u9O6b9svbYZ=- z(uKZ-f#jVBES5VGh2)YFyn{d`^sa!Zv^Y^1Tg-~Ug@%cHQ8af76j?OgKVrI3w=P!VM@% z_Pyh(vREc$K-N*gu&aX>%v97zImM-f1j2~USzRPsorT%oEuS<7@uKTK{YxLDC zespzTy{qf4^r!oFUApUZ-4C*HQ8cE^RZb7VjJ{rzE%cgDFe<-vq+w!48?4R_u&$~% z#8w^rW53{V=w^T5$lnwQT=(`~9ekG&+~~EP25@8kjzHkLOTW^=5BhWIf%5|VpaXp8 z58&{50gmeczxV_A`Mdy=+}iv$!EL&YSoXja?I ze7)9ejWU_9KiAdv`cvCuwzfr6`$kv8_i~ME2;AD20jwR>)sFa6`!0aB0S9u9mJzU1S{nKntpuJVXKv!AGL~6ypr706DU7)V7C4+Y7Y2DUcUvuhV(GK%1cI@B;0MGFP#d7ihDT zS)`U1Xd}~kyDAWj^bJQqS+Hz&=$l443>`g;U7;T~wMo?GD z!7XJ4+N>OX3r$9H^m<=Ry(miq_TU#k-f&Oz=4}p-Uw&-V{G`X%-~Mjbp*?I+7m}U1 z>BS?;^UI4}6}dg#1yy5QrIm=e#^t77b4_lh%iX`Y6ibS^Jc!3@_3nzQa#wC&+K)8G zRalHyB6A12u$*4u%AIiib-sd~%L+#bza5Vj!kagoZhyf3ko^(+2ln;$dmZ;X9&jvh zJmpyCc)_v4@rPqZ%t^=8n7M{E~`+WNo_NVMm z+ZWiMw=cCXv%hSA)&7S4E&Dt6_w1`d=0nigVBcilZ2#E4#r}zXt9_gOQ~PK3?e-n^ zo%UV!-S$29z4m?f{q`^HhwR_lzqkKnKW0B+KV|ngraA6))Uc||ay;ai<9O6D*D>Gm zB&zi^D!0(F$g$Y*tm8Sy630?hbD85M$8uEmEyqg7JC64p?>p8w);hL2c02Yu_B%dz z9B_Q;_{#B(8@cT)W(;2J01(oAmwDXZVMu_Deikkj)E+{T(Uo?{CS#b=p^d?c$KPEG>gymsR zAY?wh(joQjDo2M?-YYvXl>VisjG=z{bw z9DgB}aH4MdM;xy0*3EAG*QHyxxGp!`(A6i~-X$*X`s=T^BfRd$ZgDq4<@N@G@XtRM zp>Rh3ovz%3b1R~r+qW#^r6+g46(h=Pr-w8Vnni^RRF-dTLND#Je@1^(26?-auNxXP z;eJqkPI7}F^P-PjlF%f{=y#I)^M(-NAD^1)a;oo1ZZ$r}_J@;N%KJ~3Q~ggRInPH3 zZ;THhr?vsf_1tI`>bGl1QT?Ber?vwXG{0OB(vLLOWhg>&aHvGx70(FDoiVA-Ts%$~ zS)M<}PEQRg>>Vd0Tpyd8QCv{&u5cGs+6Na`ROOf0<;tqUVs~ylnk*NKY-6fQ@eC+; zaB6N2o)=c+X2^(kxvq1U>pREa5EtJycSLb%ZXb6=r3G5NXMSZq;_gc|b?cOE?R;aUv>n zmsdK=%F&ROLesP>HvHVxvUwF|mU#4_W=%YEiY?vHL8AvZ#Pkz=HBCa%o-pi%MR*N6 zcH(*US)MJ_THwqD9P0^1hMq7+?+N30PpB~T1oR`dCyXn|tzGa z)aDDwIBGuY-H*0+={fL)Gxr{CH0icZvu$}z0+ZCzsu$|mMju=d@z_Nsa}o~gEW zKN_`Zg_5w-_S%1E2<=$x&MRQ=aWG@EPpw%~nAYYi=dVNGY25OGV%w|#ow4z-Q|xAD znsj}>$MvQ43if`e{IF!%+b`K-ZU33`#;Z2mcMcqs^uM?lI$l-z_Ktb?MBD!U4{b2V zv8vo@o40oD*w%wSU3kY^hhm3aZ_94^-&Li8ZQEpaqT~0DAKoM?^wzOY4Z7^U4B0k0 z`oFV7lOnS+?DXHeTSc_*y2oBKbx}`Cf^GlBTd9~>fk_e9qHNe~={~vRuO%;UeJ(vK zddkKfw%abggN?_7wQ`1jHuTuA#a5ft-sr3MjD4}*Z%u4N!~g^? zd`23B_jcR`%(vT*D;cA@ZO9Z?9Detq#KgSRq`bJ4)TCZnSv`}}d!;80 zDji+w9$%W+%{8IGRYtF)BneaN385C-g6D9@>WQ(@-G@~;scUB?^&HSYt5;fDpQI7_ zg|!tMam55xv3Up0?0}@+ebNSGX7x+qii|9K14cF3m}_RJnq73wl(eM&eKS*g_R8$1 zs?rBL61(BTAhBDCt8`@LC>5ePhbUkWwwZxk`k%F__aa62A9H_6i<@42c-O}0hhNU| zd=|0g7hCU3-o11J=v?3Bb=WX=_<;I%KAZi>%p<1?ZD%@Mbm#I;qG$Frdhg41Uko_j z|9@|v?et`Z?a59TjjmrPxyHE5Co&&)9W|!1^Y0a|X64b0oJMud8}G^= zorgD#)e1D^6FGQ1t##B$whMO$P3>KuFDx6`%`Ut2KJDrAh-1^}*xdJgE9**}wy zfW&S^SlXcrp~P+lxI|G0g6VR|_Qxe>u93(u0sZ02svjRSQu^ldyobKZ*m%00txf5r z_S^)jd!8Hb;j=0G?8#$~wYlNTA0K&e-n;!=$>XiUdu5sf7_3L|a+z${(X@_)Okob&ZtXNduC5rlhC#$Up};pfPX!DMYdNJ&oWmEON^ zR%Xxs{GyAtMU=R3bC*BHr4GI(d@zN!=7Xt=uAJ5zcd~tYC-+Lh+#^?&vO^(m4ZCJw z{-y&<_`+8xe#uy`S$kNw;(v~AJta9SsbAmzS-sQyCmYQ7BLD_%Fz=Je*fE)Mk~VNi zqckec%{Ri6HD39vn0Z@FppN;UT{KKU4=l!|Gls?E%UVtx9Q)abG0oSNBy4`?v~9}d z0K?+HvtE>6fQ<=FEEV0}y?W+#-M-#8?d+pX#D5;L3bQ>HK^rz*GE;hGrlzF!h2POx z`I?QDd+Hsvn>=fj@152sbwEl+@1#_J!ZyeMiCZzSQL~AIZr=OFqOSMOe)fgQgIg_n zz$(yNX;!2#IUD`dFX|cyD&`&bxAia~) zGWw&+ec8o;4pNj~T;hY`b7rR(+H{n(q^ztySs5u=X(lQzcaaZ>iHgmB>75DBkYnJ@ zUz;_*@1xl(4lKw^8PO%}nHOwrFTHh)kkTqTZ@fMy?(A4ky0dZ8Z-Iit3{{%~)bT?iVO8`A8sXU)!LcZLnkec47cjkZr{gcwG{7X+VO84p8f53o@EJ$n1BR<&EjM6DRd#3m6 zm(o9}Bmnj-qjaz2tW=zYAnh01mUPKi560nT9d|i;=D^TaZ~Zm;#;#AfKaGqIFN(IM zTyonJ__8L9N5;<0IkUc9$PaSj!*k!=zQT6-r5}&{b_vFxK6T)hba9*WS?8u_KW{T{ zimlBhH?H32!FXuPxKqC*W`DW;Z0M@p(uIxA~Huaury{gTQC_?J#INOwt3OHIk@ zm70;1c%3S3x(=|Ny5wui-lgR++g{xHjEGGy5*7p5*FI$DUSG{gX>6?_AHUKkB zR-dHe(s9^tj^{_b?U#7R!-mzLQ#D;+bY=6_#x(@j^z zZ|_-z&gF%8)2V&A5Sp5mDd*tEKoBCDjPI=G@^|1O8jkNgf#pmv$~B6&3WYm=P8h zYR3b~RQ$xiB1m~w;4ME-4BlRfTr>Z6^pQr5AzF@;tyi`;WEYccN+b@+kZrUPvQ|rv z2uq{O8VI8%mbojv;@u(sEQ#Y|h=K>-R2QPS`0EglZXlFkeb|8B7vj&6_?=NWJnu#C z1M&CDG7^&$AcO8t(*%Ruq?-MV}|pmr3-bL9_=%EAva^ zy|PJwT}rau8{yCbFHSZlcUXl+J-Mt`lo-4~qF<3{Z-{CP`ZW*=T*W13(HBXy67K_g ziVUK|AnL9dWfomVq6F_bU=Yn?qGrjLNOC(#o;660Y=AGsmYF4ACdqs}$Msx}w@o#s zZr&ZtqRUD27>PO!qT?W1;&zvtWnUrL$yjUj+-i`W4q5E__llBRUnNl+UO@CrfT-ry znQAZd%H9Oo*GP5+$-V$tLob`J_A;+HLBCGor<>!@xE`Q+FH1$Yd0OpdUh$hDzJkP` zX@Nr$#8q_aWlJIM#=E`7PWA=~Ct{t_LtpLI9QP8F>=I{|eUoIjlI(1Q?7I!<69`3K z(G+lai$sTGIn(nBL|byo!@*%o1EI`4-YZP?dz*y2wZfr6xYu=GHxSUzefrKy65UUt zH$haR`yCVYf>P&FNOBDBZ9PK`l1Cvqw!G3T`VNVnCDDln(O((}7(71q-zCwRc=y#a z-yr%M6E%arN0M#Z;PAFVazzs%FORKR<*_H^d1d%^du36co4rgyU+LiE|2EWM6(Kw~ z9tWwdAcT76-;U3jzSYFqXr(VmML~Y4e~kADqaI$v_T1vdco!J>UAMe(1>;ro^ji;n z!n_@ZSCi66QmTeh3u?R&>xw3p&zo2p{btgu$TMrMAf6OA0EJ=Q3pY2O?si^o6=^MM)#Zaj221rBhtJFFTs0`m^3S) z`It%5=o`{pPnykU~$IA>gyX)+dyi!JcmO}7hMfiOuEd{Xn;}8m+3}Q z{CNouXQ0@I*HKmch7>DGYdhy|SlmR4OW(v{{|$H%n-s&yIU8W{C$pl_<|L?YCe<(B z!r`F=yvKcY$w(G*5RmNkPFU6d5JGR4yIz6NJOZx`vc`4)$dvQ)h= zO>dV;&uEb}cavt5!#Ly(5Cl8xE}G_dt%UKoCdadDeF9$sl|7{L;3*t--XaLC=t?U@ zX!MsVTt>ek#b^7^ahljm!h25R@W!o}kW^uzHA5bQjb3Mpe*1DEaZGV3mT#~)M-NQ%`0I{IJ#mp=n3N_S$PeFT{her#Z z>1Md(KybY@xL#g<9`N(L3b-E#t{Hwk+H=|rR~QH`O@m7#|5?2LdmV5;65JI00<_0H z+*H|n1Htvy;Cd6Bp*h|F+|LB}dt1PLYleF<5L}+D;pNFbfNuftR|3p$55QY*Gx7T* z5MUn-uMgn(b%}?0ZzbT46Wq2~z-=|d9Sa24SA*+Ia8|m^;c)K&?stMqz7}w)c_wzv zt_aXo`e|_eeAvAQxIYN)mFobv(hQdn2#)Tk**rdsPVNLnwIeyG%N16YX~Q<7&vEK zg3yt0ELN=AY!q>_4+sTXJ-tgm3=Stfz}-i1DR%(QUWAR%1ZNEa+?ygpe7{b_KD8kK zf&1cR{R#T1Pnt*tCpI~rYmn03bqlZXNfy;n6lMtJX0pdO&cJn3qA%S-B z@!%lUgHyx91batMHP8fHIC$!z(hm^c0ypqnBk7u+d`Ojkn^$@r@WzkIuS}{1nSzzH z6gr`^cClM~{#3$RxJ=HQjRhg}|gh&KL>L(+Sr7YJ*8uKk}^db$DnA%b2}0qE#aKG25&eVCxT z1VEvH&3uLRv^kD+uAeIc`)!O z8Tfk=4B+=B%^jj0NVoHn4rs!+@l<%!U?>bcMh1@F1p|ty2IP_B<$ zV*odo;6A?xaHjy*Oz#an05_E2yhF7%oZ7``@PnNjaPtVR+yl7V?hpi<4wneH+&bC$ zOeyuXDP=TJ=M!q&6rffEwI%Cg)MZnEnop=He(Ri)oLBp5xe9oX6JF6Y;N3DBpK8!q z_5_#Ivy@%#qF%k(Df1HSXjpzYh|_`|IQ`ygPS zCfL{U4Ia<6W7L+kQqRZ->{Dh~f0!^;3wAbOpCQ;$4*<5T7VJxaEvVI!s!PyzW`A_? zZOG>UzkuNL9|HWSQg%v9;-|Es9V`VP{u(Tl^B!pEE2@QCY8g=5kNV(?0AEPpnX>`@ z7{FWb&JE-dKwd>I=~9XxbanYXBk5C*;T-%wU@jue9uEWaD_~y1FzFl&*pC3ak{dhTMbdhA4Yc~>@9Cqr1tt+s1@S8VKDTlQOD>Es?^J*m9h?6J#ca8T^bw?V@r*S#x^6x z<)nE1dMJ*aW>hSJ;@d`VD54J$yP~4l3rbP3fl8BNK|v{kB2q*}`K>i` z`aLJPDZcXk{QmGL>RoHio;`c&p2064y~(~j8^SL)i(lqN6z~oF?m7PMl#lScXQ$ei z6ls_3j^Ej}@|TPG%Pp($%VE>(zogb(&R?1}u^hj9p1=EJHGa1fzteZWw&O?p90jzm zBGWW4@MjNwjGtXH-EJBRz2K5Ssa`tXNER1+9Y)VVY*W0*ALXvckIu%9z$Mc#dX81@ z!Y}GHqf5FQz`Njii9dPrJN)F@yX=k}(+qpewqMyRfWLd0zw5daziWB7eZiBzYl!C_ zbTX-rJIL?hN3ZZlt#;u@&*4XP#e%MK8h%kb0bv`Ld*qaaFhggGbx@`nTZ@0)ILJ*9 z9in{=hPxiG5%$4f0GmHgA2-Sg;c%oH^SUg}FMql)!Uvj3B%n zz$b|wQ2<{efw9FIWQw65ZZ}=9-O+XccNuZpC)WV>ZNfH=1?&RAo?sRKWx#ew33kU7Zpf6CSQsUn zvm5w8HdZ8HRsPL#FwRX>HGCotG`vIXk52&h@`o7jIH=`V@wFsHdyT5o^06nK>d!F% z>j~Me@<2lp>Fkd8H;}zcvfoYuS?0rfLy@+=v@HtK1j`I%!BSkE7%VOb7Ns^x(Cs4E zr6`}lB9Izhfk3g6Sm~z&>*`1Grj1y!2xv(F3Z}_NGD4|%FufoLZx+jmJ8rl$qMNW# zmVT(nunX`mMpXNNz>5ex8NkOgSSm_cK+!S;cK-DvOL;R7@;inO9UGMAsX%~69?F-d zADG70$Kf6RW=$mk+YI<06923E!2cBZZHTWb@8QtW#&*I8cuEGh2}(nx;@A2RmrHXl z6MRIZ84ZB6?J>&)2LU52DU+vh^9wFSGEg$$3xpBt-}v<^)XFNt)M*Hq+K=OMHQkbF z?V%=t>k}fM+4L#f(4B6CHN9M5tR_aYM!>k{i9n!(aM3upkzDY&vb{2}y{dKbfP{tQ zI!fe9Tn=zQChpgbf%~C>8)Ge`09WhV-dsqrg!(N?sGBapI?D9`{)E7{o(JIbo^%bd zy8^Wf}E0`NBg z3ZvQzKN>Q}S%tUb`WF8u7Jo9J*AjZ+MS#v)=qmm&;0`m3?}jxEV5}n%5(XF#&~*g8 z=VE}~15l>{W(flXgGI$f!4lkY8pN$+IQuO9vK%|i2JU*|7BvHI+*5Wt3~jGK?0wLC zyU^={?zQ|CGwniMIF4KdHjv<~%RulC5Lm)#ih0t+&3jcTtu$u|H6GuA3*?_go z%th7`SfN7#)|d)pz!LqU^p5WOI=EP|MyyoAZvt!!!Cp-U*f@ZlqDQS#!X$daINU%^ z(d@IS2xwmr?Px2YO?rmi9D9%$ zgvz20fiW=O7#(wTr9i(VXx%mdeG#DIBpn7V0j0P@K)Zp6>^$>vfhz_B-cqGEu~X{U zkIfpxrh?*Bb66mq>x@8n1&Z($*;cm&+lh;G$C5quP1378ZQ&DkPR5D^Ah!~7%;kX0 z1f-)Gl)@_YyVC)1E)fS1WD2#_<#5Zw?4?zVTeku4YvQfx2)t3x1p=+a$R*|tvA}+A zcSUQ`UATV)ppVFax`~bIM*x3A;I`=ieg(h|p=SX23<4*5;zl?>G2vpnfx3;T7j_2f z??81r|1&*>*8JjO7!%q{?(ybQ z_!|I!OW=3919%63EyXm#DydjMjvvIcNaDs}*N;j&DC&wSpcdKpwN z6RQ2;Ba};MC_e)59R$zm1@JWhcPif_mCNaARJNXcv9R^2IC#60z;*ioc+3kf)mx!@ zt5EF?9idplLa_$mT?GDrD!vH7y9xXi5(2_` zFS-=}3B`X3#oo{niX|)*Hv#bX1pcT$fFB32Q*pygwq@fYPIqf&{OQmHd5CD~GL0ZL zJ==4BjQ>q+V{vkW6$#8KtXT{?f^G16@*+a;y|p71N$?S3o{k%ta9Z< z1eaC--AmA=k0Nn;B zGaZuKL2^4GnRlRjft#B35o3%5hU(sc{)y1TasWLZ(3WbNVvtllvMAph*>m9axs*K= z*!zi{83J~bS6s5M2K?1Rwl8{wZix)tgMj@rvD+2^doZw_x^I@cMN5s!)cd98$-q58 z+=kZ!_iwMdG>?PkaYC~va)e%q3ccfjdyu%bhX6MVxK6zp1JGPEgB=S81xI2jB{8YB zj4xP9!*-Uwbl}{*x&@Gj2)T)nV*q)nXn10^=W5^yv|*Tg7vebt2{#a%c-an?M9gow zDl@HC+{wm*#~naEOysV^fc!3y$6Cm(huFr-#$`8{pkhg-+yV2X%h32vs*jUYM1JfR zAkSN2A24SQ!Sr;9h_f7qdqVq+ng#Z$z&=9kE0LEj&dxeoNt+=!=1X`nYW6{QSD;E{ zRG$XyUy0p*Ca~k)wpSk;_cKL|wj#>H6lEdY&!Jn~dxyIj@O~rSJGTMv3gF2dZc%rO z2$tvt#>i$$)Z-7w&zAx2cfyUqWdq?dz}d#nZxF7v7o2o1_62fj%IRP20eY06e-iXw zfXWSSp>ZieGph#r2SLZ*0nqyII6yxs61DGz>KD^-SP(M*Bx3rVKKa`bDObT9c0`Yw0@h-AKM3{{mldrK6TE0f)1eTs)CgRRFvx#H%|Wco)3q zsH$ebi>Rsy$Y|~*SPIN)w3T;YR&+XA=? zW+2=a1K z;5DO`FDX`<6)V~e{=|m$61ZG$v`Se_^ia;|R0iT{B;Nlph_8x*cv3XPksB1FKs231 z{T>C;eIRm}^O9n0~1i2Ia`cG$&d{Vru^sm?FUU$UrdxrQer^t~|pEJ}RhWk^h09SHOmMz4KJ1|oD! z&kQ9yLphqE94=Cp3|F-okc$<Vd@+^C76bohsjX6)N9@$`L|k ztxY|kQf-*2V5%~8xH5ORqTM%Kj3GQU`VAps<}??xtc75?gDfN8088@6u7Sj@0Kb*s zi9Xooz|5FrNn8xi9s%;5M9y6T9F^x|^>&n56v z9|3qifVaU>c4w)Os7AfTkoW^6K0t{r*FoYDNJPAXzr+fEQ4>cfBOo+a zcbN(_di#t)wGUJaNOc-+^$r)Wb9qfR%$_a1ra~Gs#uz=1G&mgRN02;766G_HyZ{o* zap;$0rQ_H;^r+S^egW=7#9d3=O~AF>Mh2MaKp$tiO*sTUPNN=TeEAJL50husCh+_L z9?NBBqb6|P)rv0_kkqKdNO`|Q-XoOPb~EIiyFL&o5Z&8xM|vn?1f_P&P`=4fc4jC? zGL&W`l>4E10yO(g6&yngS544RC_}|l2C3~Rv^`2~v0p&jPH2;^%p)Nf=0077$%EPy zwREfQ&E=ZU+m|KNpI~~7OkaNqrcoPQo;(p86Qw6tK;iad0S_TosDBFhg+^?x zD#4Q^DEt}(dmRKzK=3pOO6B0cs_+X5-|`#4|LTBW4*1j(%rZI+4&@CAb_(JE|HzUe zV>!4R`%Q6%4nP0l5y;?KZgYNE^|N-|JRkq4}Z zl1r4ngG=(U?UYkeHo(+@jf8CZ9}0&J50<5-_HLQhox2OES0&mc)&=-81n;pO;G+O8 z(*I-BhX*RDz`x$a&kvR5ldVpL+$VqiL4GD2pSjlo`h zp;NHXEdL93{EKpi26gRrbDRbEX9?fyJHU6_$VDWcH&gdX_|XPDFSE4d`eNIZp9ARU z2>l(QCj(kn{+omzXF!*gjIA2_VxkxC0Q%!V7uOvr>d_I(0GN7`fj+XRYT(Zk{E?ji zud~UNu9OI)Pa$|Gg%UH%uR(QSrl2E)8S^viYu{Zb3PzC@p9ppV9zPA;2!K}S;= zmx1#|a=uE=KH${rIbL$kG&uRBLwnky5!PXEfjhXn2VluG|d`v!FrTr4pky zDG^n6yP+Ysq&O#^$LgXeybV7I_%9P*{T}$+fv-E<1+t8@4Sb%r&KX*H@K*?aE5Yk* zHo==p@OuD`#fLPcj|KCJ^mCqKR4b~-tKJ~pII)DO8^pg#{L}XU|5D(e$`ebtaBVJ; z6TOhFbk)h|D9{zP1juUySx1l|01-)OB6+$28pXY|fc}Past2O|oD#8KC)T39z?ugv z;}WfBZABecHpaFZP@X4RMNI|r8$?d~0m#d3MSadzR3~yoQPTjjMA+*`fE;rabw7HQ z#gRpIAli#ctT%}jw+~neTdbn4CQ2vl9*PaW)L`!%y=FTZ;a?t&R~=aAfw3gW0YEDtFD3FpA}p;nvCKqEIIsQi_HckLC)oDi0ao`*LnD`gTa_wW1K?d> zTv){WkX@Lb`KBenTS2^qM}gNHc=f~@f!N-Q2Usu@#|eVEI=e_771cFbQl;~uO9t%Q zgq?Q`u$urYE-zBmJ1$TfKxP(@J0#$pB|D<`+;j$@-XYXl9Ni0F^_7vgD-`zk!lANM zGjUt29Zm# zVj!9-PwV$b;qceDD&fbV>LWruc@m%=`No_qz>N=%Q1Z(Z?Fa!Ay#XVl)Dys4MZ9}8;B5t- z%q-<<{$Yvt2k##XF zgW)1*{**i~*9Fg9!NbKv;WraN(jh^-ePTr{TQivq1e^|D0gN@oxcU@eya|kEBDk1E<2R)nWVRLTU(HejwJW~bBfrz-^}i%OYiOW4tXEh;W6EEtP7l|rfI;hUbM_bNnR zPxRC41AP?GWrQXAY>9pY&^Z(=AD26zbr~9OU`g+jMBJVV}#Pe*pDHQeS)ys8hak?5|H6 z1-I!F%yYJJM0S?Y!ii}JVr3()V$eLB5zBGht@5mO1uzMhe2f<((LDkMS{NKAQqI2 zGNb?Giis^%t!bEzWfCe5t0bQj@%CgO26qPn>1@*~Hx;m3ahup`(ry#bj&-akuonRP z3t}g?0QP)fXPVg9+iR35_Vya_yd*GIO2E|N3D$cwX?9^qf!+kHIGW*|o23=jE=cDc9%z|!_w zBcrLrNc6xEz3=fze-S=`UrhtXR$^R}ia)&x3^B$K)1l3(qD?1KN+c442Z!BR`I!>A49;(G~*Z8)D>j1V)!1@K28gghL%a zO;x6=%2}Dp!xNNM6Jj?^i2ZJY`r`z(_C)3QiK_OzA4fNH^HGvu00WY3Bx%?MB(q5J zq#%j0NFMhfQM4DNeIpAJVc)00v7H=WbqB{@aQuVCP`HSTVmvuPK>?s%dl`_(6UCgq ztTZ(kflPa2IO{9~t|uaFuh4~U%Z{R9 zaOez}-x0G>CNPVDsb4p<1%=uo0zMd;+f8+oiujG^z!VFgjcn5758i-Ej@$o+Z& zc@vPau!zyO5)b6p4dhYCl#S3Ra7UGSp*|1PokWej0;p&2Gf~e4>Ki)hQ1nBiJaF09 z$^T}F#lQ)Wy9oI_Axi;y9L=gIE73rg>X7nHu}G=(Gtq%r=G;xJE`5phlaU>&Tn=wt zrelc*$D)Gzo=~d@HP?b_52za_iZSj@x6X|9n-thEc}fK{aZ zRrO?zerm2ZE+T}85~w*uH5-6#eIchX3}xUW3?yg2VgQg`cm*6CSTmm;2Zb5am^P_1kwN!Uh60E zQrvhR-MwjAbonCz{tLkuPX+j5fL|->DGrk~3683Qe67F07yXcvLM+)--Lghy>mAK# z=s7|?on}B!t)pTzijF4ks~!pt0?4y*8__)s5PC!km7}tGu-=U0C@G-E0P|O3UUe%l zOMxjax>wX%BNReiC7{^NMm9|yuAlrb=*RU|FOhEm@^3_LHxtP7fZT<>jj9X+ByP78 zz#Uq<4JI#1vmN{wQ=ESS?013y^Rus_D57=P&F1gyV` z8<_*C;i3zXV?gl9_X50GK*5!%&>Ev$jGF7=L>4DG^?SC(n>oS$bOld*xoDai9t!+p z#E+c^{C)~D4jvB(hL}%P<)pUYQMH>T50*^wLwTd@owS&2x_W|5ut)d;{PpIefYjoY zKua0>c1>hZoeeO&k{}_mYT|};^!rB8Uf)6w+Ft^E62aejlEwzO)gPGPw+Qh3VqDBI zI%jMtt{o7As7S6%v=)8c?08r5H{~= zz@|H46DA7>OhA^Ugu{8?^z2|}E>~7C0!g)nU(SoncEb!Uv5_S^c_c4G{Y|7f_9AE+ z!)85cmY7(2h{8HmE(e)%9Y0zd$(vXKucMcibr6W%-omW%V<5emq>Yz=bnprGDi@TJ zjl^PXg*B}T7&(3sJ)&7sea{1i z#3H+$*%}k^?~GQNl`Q^{hRf5rlL|kHR}yfQDGEG|{5#0M3H;&N3fp8I%taKTLCY|d zAbYo>;`&GlX6agjSqKs7x)!F|>rz_dg(OIsPAU67f|RTO1}SGN9DLRZXuS;yBa2E0 z7Zy}eMw)JsG#ha$njDB{kT_-oh|fAj37kdRxPX>z&{}tlmFLwyg-=fuuC14}8}{Eo zcnb;ZdN6NTZyI3rrOs8%E(-bfvC(4Lv0}LiJ^i-awsl{^}dCvbFJkK~wQ~(|^ zKdTVl``niq7{W0q&MeZbBMn}Nan9Npd@yjoF(UM3S1t6N54zh)w|qP3W}M*>`nrKk z8OD#+Me^E1pBJxZ=$q5h41E`Y^bV4){T`&B;C%5c)0#;hiLG zuor|!Kxl-%-hv|{^m%dkHaT19%Qiw^wiRy>`pyLZZ1Uej{tgWhZ!|0P2@To+Ly0T& zRYFQI+X#KxzM(H3QtqOZo`)gjk^sMNDT%qq=5Y8dtwUp zrxZNy(B}>B6Z(w65WW<}xsNo@#)9UQb6ug2!AH>&r$mIl{#6Tooj~_5(p`Nb=vJPu z1UkD%eXT&IT+NTxLh{-}pBJxZ=zGNqeO*C1kEDA}25IR95us1Ak=P^jc`;TH`nrMe zei9~~0>XJ9l(RzRb!pCo_(Wbo&L|9WRU%o4^u-B99;hn0}hRgZ>UeS={kq%5SAL9HO=)D&kh6mhUn zh&j^`6B!Jn7vvKQuZM`ID5BQiA>#WMk+Cq|V2_A}(UV7p!Xe;&n!IgO!P};lXDDoJ zQ2T{KKLwGIkS>o%SPI%_NZYRyXh*kpM8b0oI?qVx#}yF>Nfj;w(IOJXrh{mKljuBy z$RiL&Nz+s{X`Us`^Q8H}Ns|B?R~+<4_X&eWm#D6#{UH1Wa@TdamY9X{E2`P6zb!gg%U? z#lsT-Z3Q%}=1S;mZe}~18vCWp)J83GW6riq=FX-MFI}X0^ps0S7c&CESKUQA*424 z0C(W>suNT{(PS<%Ml7d33hbANy>%e4pTUcK`oNmiqtK+vY=A2-@T1)-c(_l4qZV#s zWZ|l5C`T#uy&8SfB`KBvDn+bsPE+MJ^^>4|nY5o?4ca=Xip(8UYvZ14Jk<59*u3Kg zlft4YFA4UUg1tQ41n!h zm@i&Dh=4UV%kgun#k+ZUyeStr$AHtGeWaq!2q>FXRhuKA&`p;W^xbgqv91@D0456-z4%GAt2ud z41vzg_1g5Au3+MGChOT za-!}g>S>+0vM9>MR2JbtVex2h7qIz2Z`>ve#1%wrGz5sVfmlb6qfb{1W(wur zqZv%&m2T)M<}hE0Cd)v z9n-V~#0zkvTiFEYm4v=#B%n|2X75%e2G!QL z{T;|YAX&;pklhHf?qWNGJplrrh}5!xEUP<68!Qz>=^Y^XkR)v;f#h|N$TRIKqBPfq zgcq>UdiWGuf3Q~|#2hjim~}H0nNAR+Tm!&-q17J{4kdQ=gZ(*B z>0%62M08yR;8g@pzY)NN02a58$ErCK6tP^R4K~pED3PCLLD5Bg#r2#V2*oQ1hiibp zn)umMfWHg)=ZPpI*Miu#6m6)30qF~7urVx7vv^Y=mXqRRQoMB&C?@puq9`&b+&!9| zA=qEoeTsU#3h}9d@CG1%LgWjl0{OH|MdlQ%NbZD4ZReziNbGs$N6f+ol8eGfVX#s2&v!q_1iOW2#;{7WOz>U+7l&(N zRnfUihDnA6Tz#iOK@+4)8%*X13TR&e_A|nk%mVB_z)ELOuwK(2C&mmmym)1} zMBGTk_ihK`1Ux(~lDT3Os>50LC@^(DK=ep(^~!^Bd<2R&5&zaZfWHp-`g?N13na-s zAaQifh6Q~4W+PaK_X2)1;m@88_*<@Y_08-7@Xp{gSKq9^P_K8*Tp6-@X7w!Om=N*Y zyMVY6h*r?S)Wh*JXo)17dltW7o)jD*)83L>=`cP=^Cm+^iw` zExD-H(SUaMTP}R|T3wx;Rvf^;CiuMz0lp95dZ#6j>2%nwcfi{_tqSnbV-f!w;;T;s z|E7Un_}vVAcaLR*?@C)+-PLh`-A33U&j9w!s}%WgpX{zOqQH~pP7@|~bXB#1yq(Ai zi-0^3$O&dwC9R!l!8^MuAGzqKDEC`}?syiUUs`h6PxX!h&s#3~D9Zhg$WJ{-L*P|= zT`rKN+&%(6qL0$WGCp^;_fRJRa0dZ%o(JFq02HxK_E3Edsm>nCUT_mj^iM?FNwnu) z09w6k%>Ie0a7?#CJQUpQp6CKr?{p%dcM&@OML=f*+TJ@!{Hu+!yLuB_;nPLwjlSs= zfbJ&fw=V(oFhHA&+82G(KMb|rXrgPf&_vHfyzhzE{uSWebgkJlQ5hb2t{73)JeqA} zw{$YV_YgehRe)~+xZW*^ikA!{z~JbX%)0WKF&aTQ91rxpM8E4bpx^lqSFgmtu4o5E z0nFJ+Fn6ptaI7yuT2VeO5U(FyjC-QBF)59~Wgj5+-y*D3Ph?U6kavi1iE9D30&wD;W>uxtb-q4&uk#LblJ501M)&Z?s z$THdpfdQixcqr2E2s<9R9vJqbfWHuo!kRhJ|q*DRL z8v44{C;@_9J8vlwb@wY#rfdYt+dwg{_82WtkZ+q;SXx+I6j3G&t9o#qT#-xhQy}Lz z0$scbKrw?XyNnY+=!VJ$M+5RZL0;Vqkb7((|11XtSrR>hJ=o*uT5g1vql6i_1u)A1 zb2?3frOELEW>BaMn+hIca5bR0+hFVg==m%+1M?4JcKIBb=MAP8;c5|8Wk!|4Bp^kb zEYJ%_7nkHmfQ##1ddRyxq{U_c@lPW5-%7+na~}U1U@*NBV8i{v7)I@Qw*c=L@#=pK zyj(ZlRDo9#8dQh};&Jsot_#Y|!4({lfpY+^jT?ZQzen*ZbY#llu%k$PO})zA>Suy3 zjGT+`M$$b9I*}L_6C?Lto)m?+O^|j-bdor>()7-T36XaJauOjs?giw$A;#f0CNRBE zyiWw^JrXn_*uA(^<1NfLO^Bd6|FtKVz}eogVRSm2MRB?Hm{ZL z29l{H>39?*b&6dBg#^LFFL;ox=`~QWT+ue}u_)k_9YHdUBwhaiNnemy7iaR~>LiI@ z-av$d5W6dy*Fm%c_H<&O`zNr+1KYX|0@(YFAxIIzi^r`NdaN=tx*~6|xQWRJB>3_e z2v&f=c7w%jw+V;IDl5((6C9<#w>&VdmmJ8``sr*%!b{?0p4{Si<^S#w+VO zj~QNE%E4X+o}A7rGyj;%;og8u(NN;h!Q!e`7x7G*flcUf%4!)h<+;psR$ynvG zv5Izu#LWr~E37>BZN%Pm2C#qi!tNunGsWx5rc7_ucGxw?XK3zKoJ6(~Pnbs>k*mq#>&iXG>2jmuyNlmp= z?*;Ykq^^A?s9y$keL=0lVl>wP$(xObwW>?Yymj8`!ixG4w0Dqp9cfP;W2Z$$X-&rl zIv^RC)g3`=#T(jG=^#-td555~Qr*>$JvTh9PJ@;RTJRyDt@iUemErgPx zB@My)eoy?3=K^};B?;UXREh`WL;1ns{8O)yg;}AZQas=%jjo$eCY+@T4-}Up6C#vf zc>pooKqJGE18mBLm9ueXpJjRAER$_JVS()X!9IuV z&%}d$0NC3I_F9s?B@NJypV#>LfFJD=I156BpDE}sl`sX})Ud@tsJVw~PCE~3v~id_ zP6^PtVoq4tSJ}{4Jw02gpRKg+uZ-=ljO(w=?61J-LDlNL6I_9!TUxKKor76@`*cpr3}$ui z+qZkKu1-}V1(G;wm!DX_)E(3f^-u1lRkgITl3Z-#kY7jdC@Heu(T? z9g*Bl;6Rs2_%d_84)({uzJTnTE&=;Muv>RH{etGkNC0B&tyHytFj}6|L5jfpAbIa- z2HwfwwFalha2Xo=3Gm`XU$uAmGePN{xF5D~T*wDd zzw$=*x`dkrxJL-rwK?Dt0cT5=zi+nCR~#HJ5|xWa4io<`oE7u)BKEC?22b}b(I z4fc1v25f9I>SG2mZ0Aa}7&lZ7K|Vx9JDbxm+-T8XEP{wr4q-mvf=!2{Mo1-KiOx<% ziGH|I9I8tV)QY>{5`~Li%1V?*N@FM zhP=lpZ*w=u%fQhl$FbQh)TLb{Bw;%a>o%xK>f%2M!(%a{B$P9(8iubNf;4=B%kuam z9)?TfLa^NR5aw@+qqgzLb71+3uR!?@VC8xO=S#KYx*ex*`lY0?guNEva}_^Y-T#%c zn%61B8?H7QWqpEW9T-GeADpEG#;`5ct}PbFgtKw^O_|7YU+yaR6L*S0rMq2CRIi8I zeU+-aT^^)9NvY#UL2A-mm)m7hoHj#9g4^+CFtJx6d~f*3BFsgMwrsXv$2;J@O&_7c zdI=mDh>zAK#?q3l1L5n@Di%`SveA%tHRQ?H_0+58L)gRoXwwaK;tsTbpS%Pq?STMg54n+j3}cg|OVyl(u#(r0ut)iMNLoZK@%wY;f_& zQp}f1gQcP2e%gZl5xB(tHStP3F3|w^GX&o_4&d$XwU)SVHehkbN#QWOVKE$+i0iQ` z(qHVbXGqvZgdKAOU_&<8Q36(v#cmwKzpZtvnC(VbErrr&3EAMEfV>Tm*1>ONBisU9 zWiCHj14Fs9Q%m>h(|qbC>K@JS_n!S(dSrLD77h0~7HsiM6s!kACeDc4yR*(LRR%xo z&J^vdJM3|Vg{)T545QonvL$JHP+1Obi>Ynk9B6yuAy-ftDD3@&&=b*@QIuCl~&X>FBC;K22Sk3s#U2To;Ita?rEn%=Zn<&!`sj~>qVERt)epRIHL-@ zx-WCrzlJV-GrO*1Xap}&TEe@K_9~?5U6&q!>lms$yRE-Q7P>6TdYQ6Xtc0wXm)x>y z8?wB*tG`ASdMm1Wg{s=V2UWcyRMj$6`Sw;eX}s`svVuuzyb=%R1@x=Gk=bfo z9Xo(SY(EeS>ok#AoYmkmLu}Tdw8qvT7gv4*TErs%sR6{Syg6cCyC{-?*RBN0atzwz+C{m+N?1Geo8>I z#%zGBeH#=Oy1xX}N&)p1pq^a9H6~U*Z$;Hs`Qn%+V#RL*#(Tv0aw{h~I66_+# zd3_L@Ch`cE-x{}U<2(n6ZAriXN$^@rI+<9~d7sR$e+}k(Z}PkpW~K7}!*w8M4Mn}t zT~!HUozHkkEs- z0eTRioeO-g5gPSaF*H3zF3P#ym+lUVk4O>R4vO1BagMBCF3RNtU;e7%ClqA0Bv{ij z>}3UjdkzRzkzn|@AXww9f*cT(gmCf=iQ5%Zh%*7^+M=tf&jinE^0fR8JimdbkyX`K z>UH4z0!TTPa5{iLCh*le0Q~p2c&wW~#E8mO*0y>jM1k#F3nzo)6LN%if};!^BGp1w zQ48xHW~bDTk9_w*K*D~geD4KI31fp;n!t`_esFM3>EP6EO%f7hD-p>C88~?$w(nJ| zLEMCAB0eS2;awnl2}E^S7?p*|#d(Is|BxQVhw=1zY&K2|<>ZeI=F!ViaqVkyk^aC3 zrY-p+vE0c6V!<9*?-c)>3KdNf(tGyE$jm^rlY&x{l2aYO6>W(}BPxO6KF{+_J!BQJ zFt6`MVSYtn#0_IO>GkHdcxH%2C@n0?3k5^Ni}MD8X$zS?1d}n!ZQUQnO6$-B zuN9PG&pz9=2j;cYDYxaY{h8J`JIlEz2p6@M?W&2Tw+1uZAR<%~QNQIvn&j{~$ONNF zLVID712BoWBU@D(VZZRBey|GqyZ?TxMD~QMP_WNfu+BfAU@6P&L!_bok04scP`1o6VxbWNl4$XE5923$f9Yee!q1W)pnW=f>WV5x`F>hQHZ~=uaKC9f!H?7Ao9D+r9_ep2~4tjItd^BB+w>qf*k) z5ulTXP5-l%A*P~?ZaC)}o`h0<&QdP>38lOc^cfWPtQ@*^ z$3B?P^0mX(>D&ai19z zdMNco3mjCVS~v=lgB!b?Rgklla-KQ_Io;n@0$qh19?h%YLoMi`N-ak-0v$s7(oZ$5 z;&I~SVW{|;D(?RUDn5b=YsKJT2HuhZyBSQYMUPWC!3@@kIC=uc2SNP}sRtba^+8aJ zWVV=?0T~LYXY^FG{a`m1P^v{PPJPJb7HbMK8v?dbK&{^(VCFle+nlKF;hu&W0D;!u?g~0D9u)k6ZSr!o3K-eb+4RvEXB@3R}v*txu4b{-m z4LWvEM`sl}E?#M5O2kP2ppK4o5v-|IvwHLuIENj$W=c!!q=G3iP;eU*hvZlm>^%Jn3$KWJhnVQu@xfN~m6mp}lsV;YuCLA2tUW?SNl*C!7*G&dpHr8L)@(Q_7Eaq({xjlCetq0S64tAm)3Dd9yae zT>c&o64N3vu>*w?TrP79jPi30u{+%W^vyxPhxDQ2Kz}#rnYcs2?e;rF}Yd~5H)XExXsjeoXlsD^}?58CSj3L#+Mg(qX=cQOPFfdKhH z8`s=g%^@un*lG36{Hl~Z#w@o6+Mh1O#@*?sfc7p2Ee|~@+RB-v9a(@2_3S-@JW*E> zIdjIl!sGP29&m8!T@dbPUEg^Q2p?aiUvYr0AfU`@uH4yNxx2Z#5S+@pB-X?ik9X&X zN@_#`c6uq{XW{UTAmLL;sKX9O0kfhl7sV|eRV_N(^%gMg2Jjsq-*b(@7h0{zcPdrE zS0eZvfj&CZdU-T6BwqyEL9(?u4{X1I%{nhRJPf<;2BV_gbeGGUit(Un<=c>|yYE+x z@lYOFM>GNJc^}(Znc=Ct3_e90=GT0ErU7!)?^V>;KRdtLG2BHo-sjH4t9fj^kDL$k zo*=gx?*nYSeb{)5g*)@l_Euyx-bxFI`7TYT9}oIp*mQSY2>Owrx0>$fq}RxACpDUG zrPHO2V{yRnPg0!N z0Te%i!f{0h4=yU&nK-!NCeU}9>4R9rinsi7hT=+b0qG+>v zFyRIpVp(OFa1Fv6dDzKG#Yn;U7Z~A&g1mgQRGh`Kmhg2I?iIht;q>tsyo8(LuWsqk zas6lZ1e{5j?y(9*5y9+u{nJr6eI4Uw921#Duuk0p_Vz|sq2wI`lZ-+kiw&1Al$J69 zF{iME`G^q(z`rxfikHr1(F=zS$II(_sr3>jaYxQrWHHVk;5?3bX5;`|W-_Hc&>PY= zZnl>*3FVxR@XB(g8`Fkphi2U5Gv5K$?eH)Q1*$WUO2U5GAbcc}Q1s8*8z`uQ zFsdHXtAu|C;WQHV=?B8qk%VF_pd}e?NDmCf6a35vXUd2z3Xb2#r41*XrV8n(%n^`TShK zkM^l7OYa)YZK_sT#38hZ;-sQDx3D-<2BJ9YQ5Q2!ntQEV8#$ z-mMeEyKxkz)~JQ-cdzG%)fr3wjJcQ9d)<6|MB>O!{?io?D1o?Z@KGi|ijT%5Fj}i% z7vveWe7-^qWyuNF`nVo9nG(WWBXTfo@}g zP91^*ZQhD{>#vG>YjCicDyweg_zG%oFe|PyRanca!j6xj`aAK{g&%E+ZpXi>Mjh4J z8l|7b($^k`(to}U=jQe5WO^GMt1E7zDj3Q|=bB00qi^wQ5?t@b?Mbi92me7rQYzob zu{TB_nKJ~GVmgkN+|J@;k4JHqZ%1X;iRFS(t<#V6P%h6Z1(tM(Lpj-Q85tj4@JX|TfoCW9fnv7>c0mNA=x ziKfCQ&Jd+~+VsUp-+$)P9E@{7AoJcT~ z;<98VILA5F$fGK^BlR1F%9N$Z(EBy&{ce`wjb~AY@hF45S~KQf55j@w@pC^v+7+@C z&JoUkrW8D59Wl1~3I&22(-oqgngrX;RNDth~fl6`@a-NTYC zc^)O(i;@|mnp0$un3$pL%!orw#rCm?rhMW^zJ0^IVfQd+7pMQb`C*;L(mi8pJ;XX@ z`X5c>?Dnc@8oyD@78GkPi*?gd6f5hHHHt}-GF+pWYRd4vCZPNl6InwZzPA}gxtB$G zY6XhY>aaC_IRoPtTP3mMLnRqwneyvtC#%S}vN&W>IAl>cWWk=OZnVFo?i}NljVSGX zEbT38P}(-XTH_VwG0N`OHC|!ec?~oCY%gY&a>XTz!HOSBg+rB;#<&TGCE2_lC290q zR6`YKrOEM%tEyJQ4vJ_}9nh|{RD4dH_ymS3)A2d}L40C0CO}GCxrQqLFoFLIZIls#xOIJxd|<$#%_Q$snM`T*q^8pC|5X%z=GmqU#;K*7XCq>*ah z3ss)OlfO{b1C-UK7G&M*mL>8?wFAgLGOX^*J+o|%En%QADQ*GbF0T!^HGn%)ZVPT! z6>UodOhnB|6sBoCNR+O1fKsQ917!k|iGt~&ypm7>COXk)GdV}Fy^u@v5Gk^b14Rc= zi1#2AWpoEc`-S;RxV@+n`AVMG6%7W-!z5{cJV?fX1a*#0Qtn6dcCgLl!O@sX@QAZg z-2C@B7NXV(=YsVSvL>DY)(63QFs)R#ixfKhmCuBx8zC&RIb;M17>ek(0t|8m#F>Dk*5br-T+ zkDiKht*|`%A>rA_Wk>7Tej;kB0B+B1h6;I#!f!qe!uQxc_m4ix;w|0st zvMgmyUnPKZ^xJWcKA4SEi=2@|8RW}vtN)G?`A29!cK#wcrG+!O<60QwX&Ph588Ai@ zyagv-#EVg3gl9!Xp2stMiNTIzR-1>SGW7KB^Ujy)k!FPh_2gH-NXMif$GpA$_ zvMc4*d#Gqo&Y%z%c%#~nHjn#T2iwKV4|Bn~h^)06g7rzTo~YjsP@j~UV|f*CWjVOm zVzhNY-wlpu$?-Hf)`CMkqok;3^bn_{aW`sJxx|?UJJ%d=Jx8uOXMwBf2`Y|B@GzRi z^+0!=7f1SYURkiXD417VRF;Fgt#Lhn@o?nZ78k+3BlARhEsC8k{aOxLc*h{FCd(-- zEA>1ZAfrN-+)cEf9N>li9s4EQu4a^bPir9dd5RryHpEVVSQtN*X`2N!2-fg}`sIv9 z9ar!D~Ls*(a*f4`e89o@#fC8xI%;uby@gUGElyPNa$haOd>dTfqG)d%r z41^3ZI?&^8HS5gXiL0Q0mGl>#3;NlhmscC8IE3`E2>;v)L@1G$omP4K!V1h8bP(IM z0T;*P?jI`XbRHBefdcCyigovM5oDlHkf-08Q+)~I1c1v;&xVTEsiJEWsQAuQ!OWj2 zR3W8g2`R%zmJY^*PTcHXT{-XuaVL(E19bs}yg?zOFM^P`zp3(l3pMtp=IV_UvX-CI z7t%1>P(knxGc7c!MVl7Mxk;@GlJioMb6d2^&1uo5AR#F+uT?=(Qj5G6dRpiJjOBv; zkx;;69S-t2O>o~3$*(vcr;cc@fM44w2#r+F!lF^dL)fL@!l$9_Q;mNe zg^EsTJ{sb2+6Nlmq=pYJfQDzFp&m8FDlDy{9q^POhhuztrgA#2^w!Z7Iv$6Px2Pk& zDRd0fTsjuvxC3lI&^Wgy$1DDap&f%+xus_w5W)bJ3mojU>`4wttH2)LQfgS(3>vze ztQx64FY>U3#!WPi&1ynJ#&%G4nw}9Nr_&G`^Jc!1iXp@A9oYK<5K}86X z)o%~92J*k;a*yo_2)#qu44W*ctZA1)){BrOmY7tw)QL1pW6?HvFhxer>MO#CSu_)4 zR*!8>h*&`pcQ%KJUm-%z{aH!F2yj``%w1{?#jdDxO8xZq0#q>;snErKD zBNNCH^RXqSOHGQgqUhuR_MMgRd(iR@wH!!-miwT^N(-{&NVD9EoLaH=5zG(iU3Ik+ zeVv^vlh)p)nlUL*^ET9kZ_?K&8YeKN5kqq`pRpzVrmb+ETTEqzMSn%6i`#(rF7S#IZfXp8 z^&Hb_r0y6(&Nb#=xNVk$9!Kk`f(Ceqp@6mVJ{7EQ3kAPGK{%|}269X>-a&=P)KVsu zDz^GKgv`QWIb(3;&bVrO2-dCLLy!d!_5p=`-yXtVIaLj0iV=S;gp^5VGyC;^ky4f= zoP%Gq<|e^RD8kfYWQa3r5zGg2;vrU%gBkLTT`RY^-kG>?izLVX4w4Zd5!vplnD`z< z0sq3neMH`vH1IY#%|53nDpa^Vp?e+-yNcYGbOCqz>E>Xjae^v+Zh=XWN{fOv3Hf>Xd7&2kD>*M0;~V=xCY_0q&NT9O&~vXACGH5; zOq5t3#lXuztc?(C#&E@F6cdF6If`)$h{qfZ0zRgI@tq)GF9hgA7?xAf#(VO64Pl}Y zA%-w65gfm)g@{imVtqP9%&q4VQHW~y?zAgk=X#HAPmrbEaUB@>>ture#0F|$FymZI z+&QcTJ>+~P46;ZV#2UvYCb!15Cav=Dx7ICka&ud!U<8}jDz_liqE$+(+*Y=6tgGt3 zMWNS_v`=@Cj;pT*nux)pDoM5HJx%W#z(zr@SG~>eVDXnPxz3<#KXhD$&}%~!c2D;bj~)cJY}2=s=4b`4c$l72oC z)CW*R&E6Cc>318b;p%K?Sb3Hj7$50(&2R-X<`OQy3nk`;3UU)#x6H{;PHNFAlw6RI zl9bajIUzZrRZ@!rhu_JtlVp!}ap&VADKh`a(vL^!MbBO<260FCzh6Clz~z5Y$Z&)n zOGJDid@@9Aq=>0~Afn}&s=Np(PGMmctu_iC=-`fhUQQT|3VZA^RnQYpg^Ep7u|Eqc z{&cIzs(B}n^Sky-&?+)N3VT?+|0@unX%w8ft>!VfwKqge5$Ws6YD#1^@sq?{D= zI5`O|TD8n;)2dC&gq8&_gF{D&C33t= zTNC4MPUPjp)foB?fR?YQrArR99E6te$71NK;(8So15Dhlf(u0C=oh0h+^u4bfoF+I zJC};n#56ltV#y7TE-V`?7w+*LoinyH7#cBBEb~@(=x)xyk@<*MCqjct@BoF_I>^CA zi@{z@{Yy$U9ABTF_d`jyvZNylP}1|yQv>}umX6_-2%#P-E`^wf;;32!h5*k+gQ~dz z>}~2bqJSK&sU>Z-;(R^L&3EIT*k%D4-2kA zHE6!?$aB&#@a(afZ-L+$E_VjawiLZLxJ&c_O0&x za6Eyz)+$e@8)0z~karXLl;J>L3S@o6yh^}cBJ5I5oAe14axxy#A~zw)^Lw&=NVbL- zSS|8gS=Bx+RRN2uJ+24K9kA^krdT15BaYE-KawTB3@qzyb~{bhj(78@ zfJCMWie*Y!n027pM;dh`XimM*YK5oB!qgniPo#N-H0^9OcQ?oFeZ}G=Xa7!k2iVwZ z#|pDpL(0;xzKK(jMIWa9e@Ec>nOI#$0V_l-cB!~nNKv#q2{$5${#l$ZMDPvzzy^C^ zT+)@xQqCtPj{yDv;dc_g4DjM)o?Muk1$f*y7X^G*E`9NJ2l1|zF8w!PA0+k@qk;W0 zuul>zYeM==iJd2mFm^as_I$PXr*;?k9{@i@@V;XJ{)H2K1i*RLp&U>VpzV8Mz!$6P zy7)uDKTQ0!sty}RbF0kYYnymvxm99v=5@E++y@+;_#^;h#ohI_C=e}n=W+yDU&L4cKe z{v&rUG=6m<<=z!xa8`8E!ubC%Sghc-h(gR5exak2bpe%r8tEn$?V#vixu0BBM$t<+7^i~q4>As&2*!C})XyZ@ z7`cnio~d$2exmaAs1E&@c8fUm^AMWFpH#mr4D~-ly>;s6dzwt+#`|BS-8isP?tvwL z?T1eW611Orv0eLap`BZAatG3&5TV28PMfIg?LJ8|3nIc7;jgmE5RncM`biQI zRO&oU6Y@p~$mm?9cWoKY^qq2J+YxM8pq)h8J8uN-FwoZ0r&;GqGTbbqUwl%Tw_N?n zCX+0F3drWz$aw1oN`};i>XD(6&8=N55(LnuZY1F%5-tUy*ve32#Eo~#Js7em8gsy< zV=}jF40^o(m1OuSEZU%(QM5BIL1~Z1uz#&}noJ9HCd1pVI1o2dxboo5l<&Gs`PR&o z?-S34z zu_9hu)#w78cUJH+sweVvBBwtNQAMg-NHydMP+f1MV!Ah|d}36zRNV2<&z_*ko`L{%E7^V}+ibAu0ZQEM zr<@=H6q7!^1Jr*kqmxb9c54o%0``kKnEg7FrFwoLO0^fIiXt{y>761#xe{N^M9;cR z^wgN>dEy$zro$pO@n1@h^NJMF){U)S?2aPb#v*imA4NFza>L1$&R|kBX5UJ;s{&ug zG@eBlZ$gp)OtZ*zluYfwq=%(0f{E$$-eJjHbE?^>bPR3ncIw&t0rZqYk0UCH7dbU% z;Fc4WY|`vS{S(l45c^NIx%Ib1CyQF|n-_mtTga z5*r=}zPrfRWi|M+z}H&vaaW*J&&?eD3?1`4%Y_=f9Gpiq}(WkKWF4)?dS`R?#Z++d? zGB@S_h@q{ex$0Uq!k%})o^xr>^fj<&-M`!I*$?(SjrMeAuKdp%)&5q=43z&~mcQXz zl)o*?Z>7vIl{}9*)#)K@?H6=xsU7~gb)0SW!$|EWn79fTKCn*_fwj{ z4X#51vd^Yub(^HQs?06TYJxcqX(wYkHIKzg*nnc~La`hhqRV9deDwxLe(AxE3BOOF z{C=y4eqom=2S0vLuFiwm^Y_ytyJ(S4?d^jdX3xJRO;XLlj-QzSUYpFPOUjudz9}%mM>*9%C{5cvjz{0Cjnkt z5$)jNuP#Cbg9AT$`(U6D@$(^;_rxtI@5vp^!2s@ectQ*Y*5GQ3s0Ranl+|)VN4J4x zV0UNV7iD;uWr+D4Wf+PwSe^ZwS;}%$+aG-@+u8e-#Ol7v>D>K(?C8vc=*%CX>>gi0 z_T7-}=*-9KneV|;WL$}d^Kc;bFM66Gs?AY-aVl~G_Y=;{Jj#NoU!ovCp&%MpZxnHg zRXKcD8^$f#+xiggH%T`ZZL{rUgPzbSB5o3WZs@@+_M*AAE($cUqNg~ zh&|1+`M7_dSi|Jyiv1B{pP<;@TOoFcQ|$dX9B514tJ-BFBB{<1WJInbwjyj-2`oi} zdy+DmehnFSL5A&a8D=XZwDT&(a`H`mcL5#T*rmn6XKNOKx-*V6GHZGvHM~y^OQFF` zIlZa5@;%P7HTUH|8CX!@hM77{T33tr6r{47*FOBIWDLB%^A^?N95 zDJ-#~#i8`kWe-K8L?n)QDQOBN&qK*`RC3ApQ1VzOml9^z`y~)m&p#aQ@j2XMF;xsa z02R-5RRh<{WHM9V!mk(->@vY=JV7H!(JXpJn^f}EBKi8(3B$tlS# zatjg)Lha={?Hp)C+{N(@4DdXu|FsX)=X6m67mzxZ-T-Rt@1Awxa)>Ad7!F~-3Iz85 z1oSVEe$7vyzYp~K;Du$xnG;WTxsc?%h9epYx+mBqG=+qiDCTN+kE(<((ie zQ%>s(SqhRLy~^Y_Y+|mw8v2 zUELH46W4}_OFG61SK7@yFn3quv*YdPh3&T;hyku~^}Xz7?nTkrIj=_=e&w?N5az zW{XB;3mXp`GA(H1`R1n?v?3ln{8cn2EL z>*P;63Jdh;p$5|EDz%x22zKp0&qnMHAr*^oBqG`*#G@mFgf}Q5=1)jCJHrg)EGzE5 z^i<#(Mxu~m&qTCjG=+?Vkg4==z;W@Eb_bhR$P zJx1hR5eweIz08z&aT@|Ik@BnpmlH&xKz9Nse?0c5z`vCIKgEInJMimKoTXH>y`J=5 z9uSQN=>ZN6O`+j5Xjn!KDYcO~26#)8`0q?oON;%!izVNFzdavF0Pu0=<=%7G$?c@-kPaa7rJ zuiE(kFcGsQ6-2epVf(3T(p`Ws@ea%K(BDv&y(o)qp@S!>|D9zqX5P`7!Bv()D9gJn zOYmfrrCuLLSva9VSvn04NcbyLE_efpq6j0v*YU6fSPOxR2MSbyQl!xEZTdn znU6uy`_%Oeb-fN<)?UL-VHK_dK%a9xJ&KziqZDah_-5YE2NW~)REXIQG1kJjob_{@ z1~Hj<5m_db+gzds(gnm(H2Yh#!eq9dY7P{BNQHT)LE(v6h6kx)nIu`nLmqX8#@?aO z5UBGyyXZT`eV#d1dBIIxtUkgSmSV6P&9= zjE#QVLeZn(T}9sZ^}+ihcrO>c`qBPd1u2hEmS0?-ZptdG{rn=2YOW^dl?}id*VioT zMfzjhc+!An9pta?f18R3AS45Kp&X2}zdmFbXt4mkEk zuk;ByN1YAMCE%0?9C=G%e|l1maHj$K(W7X4C!cNcXb{3)yA!E;a*$50ivPPLy=0nshH*NAC2wD@<}!8R^2>~F22SGOb)olSd~ zc@52cO(U4OX|`j-pb5?Vf8|uI801y|;El^oAHXK#TG}rq9`?Hu_OnjaHpFqFcxgh@ zPjwHnI!649|Dji2{yHPBqY+~p!-(S|jCja6nG)q}z^9e?ZNFA4zLpPKbMdr79+zVd zL&IKAo35u#ABIhB@$-OTP}48V-M0L1w`Ya%(bsqp@$h<>Z3E3V>s**^l`|eLr`f6- z5B;<_<^@%A-*6xd$KBIaefQkheLM~;Q=6%4H+9W5b*Z?KY@!$`bDP7q6jfsz zvSPPI9GfvVIKIF%a0|6ucQLdK8(=P!Vnf!k=e9%$yA@yiUTktfPV3yHyw-_rl5-LY zk`q%>3i48N6LVV^B&8&`NwzPVbI(oi+a{qMuvGXt*%w{__D!&aeuJpE0$a!wJoyA#{~_lOjut$EiFec)3J0I&_zC>u3rc!=U3E z>KK^-9hadl^m`?x4sP!ughgIbh!vCS2aEyc{eG3Xk8nGp$u>&PX#vT7uT=xhxI7)h zg@75{j+D;@oP{lbD1`g0d$>Zd<7`lsRPz?a?Nt3nOQ?R$q553o%0eC{@;&uvESh56 zpg*?ZIGZ>StHa-t;Dpv7X!s8^$jF=5c(DW$PVo?U6|VCmWmoX?DyZX;8XE||cWxl? z9obfsZ7kTDi9PE$>>$i)uD;9_pjY@=PF{^!<>feTP}~lvO7swdN~Mx1z~;RaJ)6Dc0)y* z0ES^$V&&qh&rMwxzAGH+6o+8WU8LyU4ip(d`^8iNPz(dbP`sR0Hn<#;V1{@H2d1(g zq5B%@cN6;ZzXN(9pij1TbGT-WX2RVZbC_7}bi;5$w2$ca795*7k&7l`#n?5j&4=Re zsrWDzuY+RSK}qgCK=FW*oFbY+Us?BDbu+X|Kgu%KY8L?d7R)8~kmJ+#;5Z77_XBO$G8MKM1LxT%pGC#HepT5vd91Ku$48wf;uTe0sZj>GRoIFObQ-CUKr zS`HBQu{8IwG(%Au>%wC0i>czVnl#bM*-^oMy=(TG+n>n(V<)h;$w5D?Uth&tCv<{? zLRId95h#rg_+9iE`$_XwI%sl1bB@?-k{z(Z3uqNy7p%NXR*joa;O2d(Rqg*>fQrBuHtGRp1WQf*$cvS2<5fGm}amf%LT`=BwNCkZP~`MTqxPBq?IkK=9T0^5-dzJ zz4zWbnBHqbO=wBzkU$`iP6?2NP`>9mbLY0bceQKaOaAZg%>}ggo^$5RnKP%&86tn8 z2FQ;OB4_Vljr?&z&Mi3ylXGtWwJ<%fd+Mt)-R`CTAol0?1NPfJ9A>U7n!`EqP~4_t zh{noz4pzn|L~_YAAbHa_#Jx%^widP6{?*!-IE$I`%E8})QGZI**G>oOL5<$21#0$! z)u<;5>cwWG`eqT>!uFO8RDOja@keO?n;Tdq%!SW5CAZdMN=9Q!JQ3T^%neFhl1$j{K^t_c5(NKQ}TQpQZWE0gX<8~>DCZCj@| zhs8Kjh7f99z}9_vGju{F)ZJ$S>fwMY#ZeY5^#dfB&>IbUwh#2|0O)rB`ricoF+pGN z1N|cbeS9?NIX=*HqCnq23!q>0fo>7dI7$%35a`B5KIl+nivkEf0qviY_M_{7;AOTZKcQ(N8(d4`T>dS)(v7!VW^kJtr_h$6`C1=3Zmw#uG*NBoC zwKJyGR@oU(>;TnGo{L{XA8&1OWo`SY?kWVW^42< zCAK5x0^8p_*ospc+Z-RV*##jJ;Tynu>KJg10L)@uvQUg%ywslYdZaf#?V#dX0$6((Yt^Vk7EjP}Os4b4tB`T;~AY zkwkaYe4y+0pqts8$GG}I<{#RPz;zUHl{5g??H*j;PitKL3~g@B)SBE&+CR9T0pZa^ z_&O1O>Opv#jWBwVVbc0V=O5lHz;+C=9lZe9#5lC zdwbHWG%i{k$=TjlkTZ%6w6IkI$;9o@6q6`VKN$b@y=5^qTSgO~xWd|hh1I&kdQA{d zSlJ)qOuDHz)7^@i+yY5Rf`n5@!h1=Oa3V-pEhG$@-fjJ`+X@geg@*w~R8%kU3~@vW zl%&52q~}+|26|dm_GhKeGP7rO65>&(l86tQK*XXpb2@-F_9-i^;v(BEhV^uqytnB*0#EpO$l9+v|+ zihw1|?gx**df_hu{L=~lFKNJk!iE2Rfq!uh_&AFJ>P=8t768fj!#@b{&mjEITL6EP zc8C5(fq!KV_*Gy|Re(8FKIS9={7eELycEFeUEs$G@cN^oIbSsmz^4URqpuFJdyMq~ z_*n$LZ7YDE>jGadz*}=d`=C1&vatPI2203nvUez#I1$O>wD9tG%l3-2ol&Nbj^R&^xWu*XW=* z3!MuvfXdSYnW%8@dKRjOfa*M=`jDu){HPAGQHkcC?o;;Dopof>{0IP@PeA7`2cUBS z$kp#(fKLO8d%V!-3A!SJtJQ+=9s|4!2=C4e;QiAFFLpcO9p;4xfo@1*D^6uHsnwNE z>t{jX!xZsi2_(kfL-#2Va3Kl!bvFoT=<*JzNC;S$MZkU?`QgucFB|Y4}faqc(+HM69ZMWPz&MgJe>hraLx2Klj;&5E&lWwkD zFuS+4KHbrcyTxX*XU-$vp+;#)@al8JV!%90YE_nHjl7)71hTW?@h~(u^@*Hw=BGIQXBf z!Qe-AJKOChcThAAu&J+@5Se~5ESI~qHk2C2NW2O3TtRw%)dzYqphs?xh*@JniB-H% z_v;_QggcgQ&nixR!AO0QJ6%hB!Ax|E1&+1`#zA)9J$PJ6+7CM%wBHTd`w|uxVSJEW z-(kH!GtTQTEZ)aqk+rd6_P~!8>(IU1k?LybUkZBI_FX(2jh#r#z+*wnpL_EX>i13o zU7zp~DbzC{7O~=kZK|_P)QGvrnZC(Wq@!T?1-c#sznTNz@+1s=PQd7#A>=4w!370q=-at?|` zj&*sE7UM;r`dU)`9H~ABRA-AZ?@F+EL4!qx#)^M!55=|TyiSu*5wIidKS!BX8Q{K- zxEGua+)uCeZ2|EsY<|s4cS{Jwl$^Gt#;2Rcj~m}y+T1jzIo*Q#)^t<(z9o(OHa3nM z+tPx9M)+*H_%EvIaa8^V0_~O(M^tx2eXGZeCx~kmTHK_8myuQYe<7t+z|T^ zlN2l7%5ZUhCe_;0joXXcyI`L1-m50h-HQR$Go5}WIz^Sj;uC#mo3NLGup3C&ahHOy z*MA&S<)ZOeOSn;qg=?IPd26%yvke_Bsg9=A#v@rQX=%uWw?D|;fOjL|WiAK2^*@QJ zfp+r0*#;wpVp?ar6BD4;SR>vSqD1aVV7!SKKO@Fhfze}iwA)B4N_=u)qhny-6i^AO zh|9zBsz5#E_~nBoF&}XI0kjsNLFdi_iHjdS{Fw zae508o_G}ywgX`vj_tf-z}y4)h};>!lAZC$t2D(G`~LrEFx|@GTy#B#bMj%%mF~1J ztl|r7dXoFKb~Go`ZRvIxObEZ*X$+kPu3C&g&;dvFzg)J)27&-N1gyG^uxH!=*e?RM z)HcVg(RUK|)T{Ma1F)ye3IfMpLZEL7=(iL4b~gh0_tpfU^Ex2TeZ{^J;%emb+uEt` zAT56+ElJR_iH@3ad$Wo!wQ2E;v^tWB)uPXA7H*9}-buh`+yuZ^0`S%vaD}jN`n6ds z1mH*x`apjVpzk8+gKq}tKL z;K>y(Pd=Mxy@uM$n~jh*pnkBmr&V%W&ANmFmPrRLtmtj(Np>Lg9d)Td6!EaNynAVc z3`Tve*N0gpg=6OzrDbE#Tr+5@6iSF2egqp=fS>n~pF7+Je*O*olq+lpSPSo>o_e+* z5woor3QevmaAR8q3egK$8hs%9ev&=yc930rIBs~Rl^7c^tJX@)u*z`KZ|m!9O*k)Y zTW#qiE^b_zY+POG7|ms4(MPngY<$a@rt&e3W5+k9#_rovQdZhDzNM^eY|~g6`q;p} zjgvK;H5j`dgFQdoZUFr3dzE5ygR{%2g!#W?*|_aIKpS( zjkAa2`i;&ypiuA=hf+!RBv04 z?&Xu}LEgMaydb7ayv~9rLWDx^;1Z@?j$EfrlsPbZ4+wgg1a&?Df^Hx|c45^e`N;N| z(tVr9rb{M_X(=DuvM*YrHaDfm@_%ER8X@wO?dqUtM_5LI!I-ILdNy0G^TO+j^)ndd zBOIlA5TpDDM%nk7E7tY3Rzt0Y6SCmW0mmhxzKOQAN*8Uv) zxbGg;$6`Lk9@iJDextJ4EXY;@MR#?Uq5p44_8iB<-?b8W7FeG z$2O+RQsr1Ksgkkd$2Fnt^th67E#>3Jm$Mrr^X5427uXxVjRllHa+f>%fIB}Yca}U4 z?!3RQAnsIfPta1sC#A+Qm1rnIVX`*@<>1>_cm}o`o0@{LJjStX{W8Y#>~RcAoP)?z ztSn~TBAeC)HkGcH&)4Sg=wS&L<@;UKW>gJYA1AGoUjeP<$NM&;M~$dewK1gLlSXwW zYEK)2Ohnm<-ZX?dsR(g5EZy9|WYK2<-xI|5KJgt4d}6Ozv9gKQeZm_aE|qm(?btmU ztrsqDL-Th{7_m9}=n-(=YXE!=0BhGghFsswiB>V~1_5h=ZYEwLY&3-)u0Xzoto~Dk zcf#v{_a)$&xErsjC#3vbJ%gsdi8Akf6X)V^F!yQFJoF9FJn{s`s(gfY)hZlRvM%PM zn0K8EGyFl2DYLTz6|=(v6-NWlFNmk{P2lMS9$y%Qw-pDV(}#}&?(^YK0O(&5bm?ya z`gVZ!g$H>5tALgk7|tS3wq!cnBh$%T_H%nO(s(KQC6QR34YJRW!`L;+e2{Yr=z4~9 zeNMXm4Z23ywhV8}6O!x;f$Y*GpUDy7;uPqL+iU9ExCt<5z4@kQGU@yBHO zgq!?%;n#O@n2qd4jQH0a@vR(j8%Eq0v$)L<%F~;59a-L+5!2o*uZRe8%jX2-aZ|!~ z#-;plyIbfpV9{^LqSO8i79Da5SoEOl3CJ}!xgCD8$P!;)E|kzL;)MYI)dN-g&4j`e z)%qr|qHL_U!G{;ghhKdFKHPSyZ^g2!e{jaL!aR-rH@4^c_)Z+1yl~5v0%mD^fbqV> z@&5QjjQ0(Uw=eE4jea~GG2_|zKUT~}_d(Y97DFE0-s$ChCq7R9?e+z=yBan{U!0f8 zmHK~zE3cgnuH^3*3s-bAeD-|LE&ql2a5;oOZ$MF!zca@C3delH7Z~$yXZj?c&6;I; z=XN%=r~CmY=rB>&hPbSV6JGF?x!7CdNT7R_=*E5tbaR1jD~YPIkbJ&uy=?1CoKlR6 z-8HHLF<9*x^va}QAP8Y$T3D^PGNC~yl{4+I4RirG`xM*-p+Er{&nG=VlyW!zc# zgKuRIes7?Dov0^%4b)qnUB=Tf=r=j&3JZgN1%uw;O-*{W=}nD&$%2f^ z+6D4x%q7gqj_Q0%W>NtJxC~nghW(Zd>l*}y?RpLv_8&Lym8TV;BmV3lW*bWEwLylt zHgw(&wokE82f#eemF{tLQIwWD0weq#M>u{HjBw-gd|Hl${v#`r$y9GoXA^Fq?q*uA z3|mrfN9*$5bh4`lA>QPEJfh%P|EN7e*_K4+n^B{H$V>J+PR4>ZttS{_E5qAB)mxGcJj!Iiju}uGmgo1_h>CkFj79LJzv?)ckf%PaPAdtcD6uQH$uC% z7|>P&TD7RwI8^JyBdwo}wDzBD6>qjWbf|e3Plu1>5L9yip16}kf%`%KNOnR|F*<=% z3zv|VZtbSKw*7qe?_zn?|+zg0g=R0@G z;=l*SeH&31?`Q}>YPNIrw}4!^$loRMw#|WjFCgEJ9Jg3VcFsawvtG=~b&MXxzm%f_ z2TpG1+5_D+`~?{C2hy@&3(ztjv<$Y3(0G_dRb;^ZR5#m|eY;Xk>bz?stCi6kAnZL7 z_6Z65DF~Am{=%eDAkDgwk7Cv+L0go5+w}1yn}|)3tdjw%?`075J_#DL6$pA51W7AF zi|b@#(z2(aDpt&Z9H=VESO19Ol2vM2U*N>O)wdQ2mp>Baom&ItzkzbJ2ukc^#`;c? zfFFy+RYiJvuUv6bSZTM77FS}-W^px|PSWvrYI?6gVbq_9e&20@e&-8fYOF5k;WZqw zVjc<55{dva1jH%UHfpsVjW;mQ*tr(ygIad=b{R7i3(5tX)Zzd|1}78#Ok9824!Dj0 zt|g*{HqvK0Za&Pq?J#RmABLUbNrbcbC}wSO?y*PMxkfEUjl6C+I=+#b6L$bLFS;Y= zjU2IJ){Tdb+_tp}8Tde;`YTaY>;zQfE{q=dN32%g>QoN=Wc%)>g4D0)a3)nhkt~x9XpXiaG1lxgwlmh)2PE&zok8AfAa5620WQW}@TAR6mVeV&YW6bM z+67Zl3Nk(<887bwG6r14`g!gNvZud>ra>FZrO3FZ$5_hd%50GH5y?4p1jrc$atv3B z!4-33kv^*X-!C`EWmFKrh}nr^faCLEl$|>%^)ZKg|E?Hr1BSa1gU=+a@uMB zcMI#$B-q}TE&;6_Ao?F9df$;C`c4pSH{#oDqV*V@v{-QwiJ!WZ2dYuX$CHo${keig z25~EJu97oZjBkSQ?HKqc9QYF)_+uD&-witYScDS-x76c=fOUU;{K5Lz!}UBKpl~E0 zCag%cHTAY3+bQK%(jWD|JE7Qhu}4a4Ub7J%g28>t!M(O8Me$P`oBFAOzZ|MLhmYEf}wxLq2E3VL;nIpm%DA_)+h6=;^#4L z&pq=0-O;i`Dw@o|jP~3=KOf}(ljOgQWse?hl=Op0VQV=lcQs4HS zK-X2-zH`MQd||rm4f#}tc8T zUl8*>V}N-PFuU8#e`K3s9Va)MZ0-8Z=+NTn(~gTk%$Fplwj9JP0WtGLI}Z3Yogt|z zt!JTGG5^)4Fun~^0tSU!1au)pNr0NAeG*u_gikPDaKLr6S z*ZOoXy!KDf^XL};HObgwUyyMV$nZ~)RlJ61`p472{6M6h4kz>}lK}n9%l%7yr+YZ*EQSd#axc{Eb-NHy z*AnU;KLFI%0M%o5&#Daqvlppvc{(Qi4a3oLjj*02tN~Z}V4brNVY%eAh_(p!kQYho zA~xK!BYoGycRG?Fmrn-BQ2;rd5*8bP(kBSnu?wwYdcvWhxh!{_NV0>8tKfJaB`7L@ zViiz$f{FAta|8EqBpdc%aO7yho>&Rk_xoWphy$^#TW!a;a4f=(n%d<&-tdq(D+Py6 zb)7}-IMbsD>l{NG2ULMZb)~o6_*6!8iW%1tKRBrawi1o|Zm7+3geFL2OUVNm!a5G& zO%7oX-w>)~2#l2(SN_|K<7vm=J5gEg|7#%bSQ2;F6c9HL#C=bcBr|t=3vmpdVWG{- zCot|rtY~ZcCf2R#vbi#KH?(;p;@hSI@sEMnz5^7Y58ys+jVfjsjY~W^WmS*FcXMsf zMv=Hii=$2?ShpOi+q}iIJSu+0@$6(usN{_)gM$*XdE(2@EF@!|#aU2f!f7jClNyYpg%5v5sQc z@EnO9GMW~^L698a=ibTf${EkwNI)Z!Vsazkpq)h;R1cTt;m8L6UQG!rzhE^tNXvzmcT4r zkyUJl1@a^y%e+wUG&1D;nPA8~FvPtuly}G7L7q74?EeLp_%us_%z+vT@aIGD=XCOC z*(~tq$Ka29`}rr}&nKaAjMD#i0~y%6TRYI0G?Qx6$2n6S=-4xxO?!1-#qOP#Mws9X zGN!5yjJX1gkvjQ-F+{Bvi5a`I_=|aMO8t0^_d`paNn8tO1K0R#+&zh=jTX=xmtW^) zj>wiA+>HYVDDyGI4upm|i?qH-T7LvuJ#F)8#@OUW-aYhfQkxg7ESX<~A)L)2oHhqT zI2J?jTt-A=N7UqZW$zlj<}-`3XnYv<*g2%JZ7yiM6*Ri*vKk~>#oUSeJEw}DHEOy^v)C3_jMe73*p$%tfR#f6h*VGj~E7DEq3*}}|dLi%^ z5zBT51IxdFWh8x-xGLt&7ch%QB=_rBQJPBXD?aUe9z6GHgx;ue3{=a-g!+RY0&4H| z4AC%JL04~wU9DnXeGvuQbD@U74qmBoEMQ+k*dvpGeP0%A-hB}T+jFCaz?N3zp1{2W zd($5Qwsk|0ZeDv41sfZmQ_;yx4&)c6W$;ps<3atUr2b#TFf9uMJB`QJ8jD9t+v%NU6n-)_3M&)LR z(h|!56ResBw=s(CexC()Uru&+q=E1^KmgRBE$ z)ubIGLcPwiN?&)oQkL$RuIK^qIs)TV51j{kuOz){3Fw`A6AcaO80!VuvDl+qSP^Xf zEhxf!e?t?8o7h#A{$pAf1NT+L{R(kE3fvNlK|Y_YyCcy?cLmQI^VPt7H8JnM6qxtE z*~QGJ-jSG52rUJ^M%wJY*ytCYH|A@B`5Iz=nwZb=U}nefNX!wP#PddbJe8>U#&nxPimCiNmPAg}26;o%&5#p6toZ z;TWapbkPz$$o8AkNz0R~cn>gdB+N&a0p>A)=}~-a$?XM~oM9wg;3a1OApT}&bZu4o zM?k!Z5D#es#PxoN?6K{Ih*3v&`1aw7cu`8g`CDn3+lI&{G@%wF69GEBGJP~7H6gD|A|`$xcc3-P5p zfNw89J~q`RKIg1_A%)r8Yn*_QM9(*Z-Fqu>6?X#HeBhcVX@Y?;Q8E=)cZIcXp|u`3 ztzvfaCgx;43hUua^V+v$iY@;-QrOM&^s94_!wq$9_iMpW8k zXcu8vw{ciMSdL-+6vGjW$h*j2Sve4LkT1Jz-4`L(UfO_6MTMS1Y9N}@Gy!GJ_ zjPG`i@1P9E_X@^mHd^)|E^J&83241|^Bh$aj6%k=F~)QU$Mhn{H1#%jOzb<#G2x)o z%2Wnj?!CDfUnp*Im8|i=3$oTi7TS};(K(SAXLkeRO~B|;o$PZ;q~U#8^XW-wQwCyk zhG)zGd>*;<1)S4?J|N+30mFvrZa7%ls&8}f^Dd6=pB&xG7@ZW(4;Y}^p-D5>Vz${7 zagn|iXmr0c-Lx#-OmkB@b&3w-33~h|;sh{^;AtW7{ngbQw25~MQYgDPP4Od+TLNX0p<4q z`d)&*XC*+dxFcxRv)i4(M#ec;+d!Jlg{CzAyL|(hg88=k2KKA4Or_W`u=_r;`?6JF z_x)h^BNmG`2lNLBef^IC{VhQE zXd!m+5izW?>;97MsScbuXId8^t=JQmg%(1^Y%wAf_`0!_`jv1*xNt*`3gFVF=oOVOzg*bEK&A z7_Z0l7>((CNcede_-Wm3*R&(X$6h5H%E^ABxwe|l!MP{^`En}i`vN#q3eG%C&b&;{ z9OvN-kCF>#HvHgvUejay6=OiiBP66@4G7ud9=1e+G8({u>8Y}wd9s`Y88-|P8D)!_ zg=L(JsP|yg5(+i1**$G?#(|tiNzOifAZInm@hAWuG!Ie|G=0Mzjo@23JdS-q!Ovu7 zNWo=(3V855YI2P2V&o5l%(A_rty=HOv3c=*Q1Ww9(swv0`Gs$4*q+}iW>v9}gCu{F z<=n|m)Z-(YG2YBXptAqb;b_Q)Y((GUwE$UqFLrvnK#0|gp`c3p166wjKwaYj#SF55 z@|z1HKhf$eYEkhE3W|@H5jr*sh8}_$NZ~XXGlAi4AtpGth0-Hh((F1-nCHhh&jXGE zC)4-E)cz8s9CQuVU+g6=!cX~_c^@7}^KmX8#r#G1T#K6vo8hM6x(D7`Sf~kR24(oe zNC-0s1rCbGDArjh9K}ek!H^#3koG+iL;61qX>$%KX1&dU6f<=wl-H$}A;62X&B0qL zrpV=jpu?9tG8{Vu;GZD)s$&3t()}@2rCr+RW7a0vrcXlkB%;xPNCD>3t>D$i&4=m}-vfa3X_=Daf%GdN_0{oSC2wA-a_0gDWTGrXi zUcwt7;@_6?V9+SL#`p-Z_Lm&uZYN@h-58>$ewn5`5~lNB#h=Qj7DP97G;(V264-d z9u-g5|F4d!@cI0vyILUVay+>B9J%2Nd-7 zBpMb&i!v?wlSg++IMi4BHV;LC&y%WuoC2zrfT}HQs+bfM4ZqMyUzWm^EFgag1{RpV z#1{b!!bG(fDX`@?K6BK!Z}#d2ZTSvXze4VO!wRo!GIYIe2D;9A%$Mb9Ua zULpiX36>k(_zCF#HR&!o19aaCx`#~{y0^KXtDa#zq1zuJlyq@ch|rA_!iVe64Zk4`+nfm+J_8M6qr+)tq%R7+KY$3_5<~=MhNHs~+b)N}+XuWa5^v2}z*>0sI9M=T|Z}Da^AEl$*I$; zW>2e0*5`JhqD~7{(0eoJm4uC@is>B)v0jg6L!!!1PvWN; zer~8s(}4C8&7JMZR8te~%}%!Vq%-;&i_{Vw=`s$_xfs)H9MjJ@rdKegVtZGi>y|wM z@X`xpWO9bLML7pp*c6(Ha8ul%_9~G5I?3)lA7oGZnH``5^>j9cZ0^gHS@iPiDU@d4 z98_SZlTLlB(a^nh1uh?w%xQq98}53_0h~S+!)Wfpu-@RXzT&XfU|1X5vqAS+hUM2- zGC&aICVdLz?*C4R;@b#f<}pwC?kYE8D&FK&TzUbf;;)#Bt+=ZUvg$+3-DZ%Opp3qka?KgV%q$`6(WHw#;S^zE7j%85}(g_G&1G&kM& zbCCHvlDYjwAoDLE)7&CJGmB(aP#W;1&sK8`!{9A)nA1F~hJqlo^R>C|aSNd-U_aiE zk-f!{UCfbf`Ix;~53m-A)X*A}S%|P7k&%h8^}Z7WGIA{hYXTp{u-@jd9=aIA`U!?L zs1kAokBBywjA&six(s$C+gjUkTP&>BDXw9coX!8FNk>t2iX0yX(BBj2gi8SQeE?l3 zws!0c2!Zt*VHnLDf_L+W1|A;o z*tyT+F|~)V(?S(cF_o4~)6~wc)yejB`!@_~e{*$!qg}2-cnq|^OWIGl9JKd>_KEhs zM_C}@QW_ZL4rs-IfJSe3x;cq!ic{@q4w}(KGV}#=pJqg~L*XuCyCnh64}hjWkfzyJ zf~LABc-JTE{G_WGmov$74ekhSWxISKnj=Rl=Lw*GkEs7l)Mo&-#~$axkg4>qI44gn z{RneAPo;3(gS^uDPiJvH1rpvT38!BL5*`2v5*LfB_>LKsoQjGu`!aKutbuPihnCVOgS9l3)Ca9wafu|!bxm@*q z%#rn_c2_F43qG|*@DYD-u)jXR|TW znQCU&TbzH03!BR@kALSYYx!+!hx>6QKK?+++fnYcN!DkYDiJ7^GrKJS7s;8*6oQWODqhnA$0b%%R z^JHshV{Z#)e>sL|sm~#hOlWunn9YH8+c2C0h!Wveits=2vGp%L66*F?MK2_4Oc}0& ztsGNZrBrW1oxM0Ye`%(fXH}9tz_|q&ZmG`<&hijcoZ8@e=>oC={K|4MT58LcLO2&j z22Ipk+tc1vXI91T&Z@X+&%Pc2;;OLJM-B~vp@!k_CjPBgTKvfR2OpNY#;knehph7K zdgV0DE`wW^ysXGC#`mqVamSyq6f_F*RIMIGj#h1KT7Z9K(mlPI4(OU82z9Bx-LXjj zK^a}Nol3SKk=Qe?ymd?&WLT?;voVdI@b}*hR^3ghw#E)ujnv||Pw`tqJ+LTA26cC( zo5q!6BCg(wOYh(l14|FtzI3V`@=+O8DJdF_Jd#B&M~En1pKOnXZmDv^lrr5C(K{iw z8r;EEgFhi#KP5YH*f% zylPH2t-z7%h1Ctox<)b*n$EuV$_&U_wEog9!JeTUPU77))*seb6@Xz)<6{;d`|~l6 zk9t1l^U=h|$wV2qpls@TR>524=@>`T>;%F8r|6Tia{@fK6~_jsJWKu1;Z^tQ?w)je z2){ks&f(xuT=+eiv>wPul8=P?Sv=X++`2**=}1UTeAy6{Ue#6RYQzfs_1_o)gx4T- z_q=?ti^kY=rFAedTIvf-le2zhrdc@_wSMjy(f4C}{Up?H<82PHdx5NkI&)-i2gpUG z8H^(|v}|rmXE2S;xEjt<=No#*m}P1k61GHc=}Ke^aa=$GIEf&}xWxg(jKv>|nOlBm&gJ0W9GIaDh!_Zc%?aaMt*A zy~dBjTo(=2YkVL+vj*|85g$c-4CZ4;KJE~vZDX4eEVFf(G73yN90N?Kt47MSyE|vH zIn|TG@VCGO#yZWCw7)#6Di%`}_2p9J> zTr5N6GX=9W+sq8riK1Wk;xJ(Eb#U2@moFJOOfTuotab&6dfl3^zK?3~c(Q0vmx|ri zVcpqb-P2*c&|%dJH(nnK!G+7}5%Z>%TFxEOJs7ipq%cRtWN1A~ZIMtr>-Ls1Z8*xP z)GqOHLsSa)BP?}git6SlGG+i613_<3W8V_<5t4cu7;>~QWR+ovD^?y=Umv3CBjl== zqgug-rFO^$N(HqtomwWhHh8xnk9rmP+>Ri=#|K(4@~(yCcv=S7@X?W|(#T-UW4Hcd zu!8RDNwvT#cUR6NjQ<$nUBViX>`o@<&7WU81qVo`@+yfccIzDhS;O_4Q&#t+yOXd8 zaE2Z86@ODNZfKsKrS9V1;d@H0BR_v*7I!n6JT)zKBzY@H;<0$4NIki{LNEW0PI%E+ zTMNr4^>$EKH1C~8Rn6Y|*X~{kyicyItirirU_RPXaX26G`!Qqt_og$elU*2*zTpPy z*elH^kdpc#stK-oH|m1jd8aNpk-u)_&bvo(UW=JO2|ruv`(~2LLySN2IaCvFxzgf? z)+9dS2w;K2CYS5fS0@YjLmcqQ97l{J@$hqN86RzYzyUhK+4dbvq#;B+jf4~}qFE(& zh^5YOh;fB`TExep!zKXhOg_%yBYyHm3j2K*HmELVweE|tpF+;xJXo9|mn)RTQ-v#w z9723takWP%_RUvX{Los=M?(E_xfY-vDo042r5-k5wJq(b5$OLC4`XXrJ9hrZb$us6 z9BJprkxw)-<{!`LGM*z0;xXPPb>8*uF%FI;&?7kpOL2vZ^)e<>GX%ffUVm9_zAW$U zXomE)b*}Vk@koi{cUBD_`)NQ|8bD>ntT8^at>Q+xcFk!Zec(^|-Qj#3#m7Z_T*XI1 zoooAPv?Z837CUfLnVaEwLq_UqSkL@O4TqOsL4CLr5&Rz?mik#XD3m}HQbre{yeU7{ zBO1vj*+@7=?rk>_Fg{{)n}mk(BLky6XM2Unx#IU$ijPJrT4rfSdQ3 zR0l_jAsn=WpC_ans3}sb{447$Sy>cPy+A_6+@6Hs8kt6RS?Vj}8;Y&dt&Eo?IXvud!{GL@9f{(B9~q`nV; zHl~vH0CQT;W*dPe7dFCq%dPp#t>)!cS~GkfXSPgWB9&Rv+nz>?GVkIJPS2N&hS0!O4AyfyuRg7p8A~{E-ZibewoF=vj)`M{~E@0Z3q2VOu)UK%<5=;e)VE+ZIcY!ab7;cQpqY z(7Gq_ZP8vC>AoM%~hlHAq#vG@x1JClkgt<-{@3`rfD)WAt9S<@i+|3!`+CBTO zwMS^FW6alMl2Z}AW(3H-5G|KPt|Qekb$V8irBjEtHYm!%Xi0#VAvR~kz5|C ztpbLu%$|&Fe!RFx-wifDVrtDb7IGq4acEB%x;i3yoHLZC*LNN<=qM=pM4&fSux0Du z2U~IUzHZ4NRO5u{zmI+9LM+~xT6~)3kDZ9<>eYz|d*%?7bZUHZM<-otlp46`M@0T8 z1A6hBHdo1&-JM-L+?ZDyPt zUqmw~*;$rt$AN!swd=U3n17dpA@NsZoGz-`A#@Gtqg`hZuvtPi@Z;+0sPd+f&1jF-Kgj%-$V*XVyMxO?uio29@E?4G~aDw$lt zwAP9g67t>B#VC_*NoUeHXftW0P8|)CocgdmCqpgX0X8Jm`^zN^gNg0i4(4qfd1Qt; zT?>XD;1x2!VhnKV{Hk0d6vf98-U;CG%~o1lthBaTX>GI8ithsVRWfdY(8W1$V6PG} z8?wcIwX#cnNKNC#p>Tf~(NB6ej8h{AelK z8$w1|PBSHRF-i!mL<`UOy>bZ;WydQy4~XP^{L|#r&bBt3X2z5aK{UluG&_YH*EI_8 zC1OuNDoL_P3H5I*NeS&pSZ8`GY8Vk#UX3%%O_|m%oSVj4Z7|`V=y#@oCc3Bb?`6;N z(p2|SH~~78_yf%G&B9AsenNbC?l>&hVyIUyreg~kD&bg5bsLB-JCbu#%{~hv{Q9%R5!TsqQ7zeTD=w=(0@UHjUMT6`;qAMU1#=!f4fbko5NsGD&2 z*ux=-Ni)@EeaT1sa%?4%kw^YB{YH8xW2saB70I|>QSRXB%|+H|3>g}h!zIrgZQ8*{`O$i zvn18tp7I+IcYzG-y*f6)gOND;tuI6Lxwl#7&Bk@sI2qhIum)P15!dfgM_NN<8y}6~ z-3_=!>S+_7Z|v<}U0`^A0H$~w%ieSR=>+di6a0ny%Ohlw8f>5LTXZ1l5(kHBUNRN>HX^HzDI4TveY96 z5Y+I7L_CA^J*w&3)PSX=QyF;IkRfSTholcj_C0Qs6n}HeETgR3PT+Z>fGZ(&4}gpD z1$$<{9!U4y1|#l4zI(c)$GriwaZntuFk(2&PNK34sk1rkgQz5mbHW%37oz zv3}`=#oroY7YVs~lg87}Ic={S+q=6ho$hi{)W=|U9ux9*G~|_gMA*#$L|Qrg&hjP# z&M|;oCE|`Y%wCI7CT>Qnf9r8PSir3}p$1R31Bs3sWM}Hz<-MQu-`2>E!P0m+mg_BxQ*60Z*{dcPx(L!{J=|Ra(G~R;7 z?G;m_Xq95cx3l$0u&#m?x=)e?1MmV1FHlv1U;wPrCU@c8hnJq>OOL{#uot~ubu$x; zdKy1rlQMHi73;A|12It7EBL(1;}y&^U%Qe{H62pC6Cng{)sCgEHNYHO-mW){P>0uv z>})weF*DK8>6B0G2HAN7vV*HT`?S6tFIOM5ccFM0DL}j9bBMuXsdhtyKNuDWL}e2s zYIY$B>JX~Vl6Z&D!YKvMf5GW^B6@3b%z181zr@Q4^#V%QeC1&A5>%5kb#@1;NuI&m zC~)`0p4@^nGt?}LZ1df$|A^td%V3nD*wqS7?2^R_&ywQ1HpA}Nr7cFzt;6c?fz@w< z)v$FXoCM=$9tA1eN35KHo5r&LET#Qi3ni@IFE8=<;tV`p0gcAc+DBa$d`U~4Zl=eT zH&?TUmOe(v-6@=$Zl`ICR*hst;BFXnqpE8!O*l`s?h_ z+6+wU^PJQjIps^2h-x)O^!SS)^R-O5LN-1*c7y^YB>wq`~#d@p*)b|R91 zEupe-o5WyOSTebu5@{4UwTfs|);kI@uK14HV3QDtVb`Ct*tK zdooRkE;}yK9zgnvAbmAM5gzYGQXPatb&;l=eu;JA(jQ_=s0kLGKq)u`oAwo(whBLK zzY3?tvucjAcWaT6DMI}y+rrAEmmtlO&LmSPPnA?Tk^pex%$cZN;aAWJsx_w zGMQzOy3$Kja0?J4jFD!mRg-s)LRPREvhpeyx?+W(mKE1>$l;TDw4O-K*#sJY2Z1qg zJ5XBrI>r4HPqZfMWZgY5$=~2x?Q;I0z0~i!yvd)=7^!H^dkR6;#dTIJjR?eV@k&A! zZ-?lSIVz+2F2GugH*W{^=={;t*I$I6eur-?#pI9-+?BR)0gf=4T*-}Jw+#;n^mHzB zv`7gI!M9-u#`oWiDW95EO=$^ep@qY|G}cq+N@_hcMxDY7dbp_iFe67}KyPu(bF#jg z+M7YHv&R8se=hg?$eP6G%+|h*&x_Qbu+7sALVK9jj<7A>`BB&Nz7A0^^}Ktbpt!YL z8@FyeeFqHa_ZX0+E|L3>lKZux@dm?p-;q^^%BV$HJnIH9?so}1zyX64(ND~tw(O8= z#FUMvuukA3p>DB|@^5Z!Y0TW4rL5@p)Gy>H2JvZ1cmM z5R0Ja8j?ac52|N@0a6xLA7lgYY|}4u^~&P5)XC;shUiTcDeB-;sQFF^me&bjnkBG0 zTF`2!$LBIe4C^ogTf;~E<2Z76tt+5*^^)BkBKij~Eumh-y2vhQGEwQUUl^6v)lMyj zI9k!UwW6{3#yD}a_eb}=LEfPVET-00aFF9816-2&+FkFwZ{e$=IF3jBxWYQ7!jdpo z{Bl|PU5y!c?KArMjw}@htb~a=m|&(ROuc5)`S!TJ-`RBH{36O#9Y}tQ#C*AnGs0I! z_PyNOQc86oyHC*;@0 z;;;o{uw;*ey89EpjH%AZ0!s`8}y;bhFQvX1jy{z zoVizEXS=ab^!BZaK<$JO9m6^#)>jnDUGq2tTvt^UEhm?b(k7lQ`d1Nu`QPY{J7&TZ&fC(oB|)?^2M9#e;2rK39;|1tUhnRs%) zr{p~~igzL?6q42bo5*U7;S*JOXl=U@3pWY$`ksBy*kS?G^f3F%P3W7g;O52D=j;5M zB_y9N+s==4Ew|J%ZmbV3o&}|3oy*7hd|brGC45}L$JKn?z{giWVcno-n(;W9=`q>i zya*X7=a<;&6lwu7X`T|%p6W1k@Pgm>cW@@5o{u|WSUEymBc&cV--2Q^Z>h%z!pCuj zit=o0EpmPGBg-|~;uTpt42p+(GMz|^>-!muF%3&mtl*hce0~f427&46dy{eHwMCg z3c`~{I>tuUA@83UR+nX0Ze?4gQaBV=o}W;U$0|_$i&HK7eCiCi>s!Rs2Ww>O&$f7t z^7dAR+=6VN-6Y=DLD05jvg9Lu`*j{{BamLm)4~?q3YVqU{>y@ zwa%*M@8UP3 zW$E&ItjCyoa-@i0AY2e@XEDMI3tLC0 zi{9FHvesLYhmnXRdm_*Sa5jW_h);e6G7{=T%d{x!!I%eO?ofBk^FcJD$6~V$*TC8$ z71NOB^xweof!<2&e>3oGsSm^;*I~dgd)!~FUOCyCHrb*PZ^b{eeSJH{oE5U-5&pit zIf9QYr?CkB#QJ$lUEpP|L@sT&A%dB7vpt72FXVq-#D}GN4JcY3o~a5uoaJ zXKddK+|tC$eOgy{hKIKzMe5mEmV{{IGqSeb`JGcbJKJ2p&ga%01^GQ39I_OHgR-4^ zPE>_CzY)v{lQhmAFX^F2LW{Vi@s*L)@Dz?}pV- zN64T@m_d)piuT&$44MzSa!hgTvan^Ey1U#noC8Lnqk;gvFOQsCy{9KkAVKfTxP`x0 zc)pF(BeUz8JNazJtq{u?i?6L8^I<7ghYB21=MXT6Be-@mzmBQ8)AiS$erDgSl*OzE zPfN3eIsjRxS&06nn-RgCgn0YJiEgv=NsAggS52Hav$X?7LlY-D{VpdDqdFhQWvEW@ z4$_3^!ra4%(VnPBd-~z_XtO!(&^?uql2l9GSo{u{=W^85p-)OroK)L(P%Xy-YeHSIcoivvQ0<0YD85Eo;H`2ekDL5) zGI_h%2bHrMr8(0V%sA~;r+Z~sitAEyEL+MVm_~ctisM=tsl;)!o;+W5JSd8vhRzI) znI8WyC-9d^zJ#u1gqa#frv!AlhGSEQBuNeL$vk?XP6c0xRPc%T(o)Qj38Cd#s+PkH z4PHrBjb#|R8Kb36H9)9-%*qT4o<|Iw_7wEc>Bj_?i%D5J3>R-p`}ER3ZK(F?e}oUM zWYOezcYH`0wKJxm5M9uvdw(R<)6(9E9q54KDlD9M zT2xJwE3VWvC(A_MZsx$%0paFf#A=dq1F1AfsEOM#>j$Lg1AI(1u65_d%x;(oZDg|+viR7S&l(QL^ECV%Q@lD`=C;7{ zbcad1YbHrbWFYb(I|87!6CZc*@sJSt*%142xxY2*;KIgv~9r-i*!_XnPwCH*P$WF80xl9H1PViK$bu$nD9}8*xyx z=r|5{eY-E?)dsscvSad)oWD@5$S*8!I&xbF1l=cpd^i#cKeD#t<9mEqikU!B(DY%l zqbbI1ajR)xFL$bG6KY7-$rbmkph*<^`eb>3X0}jRsct>n;h)ZcnHG$N=9Y@opY6PQ z4_c^&G|Gy~s-xSnI{T+>QfGvd$dD;Z4K=KhmO?bJq7Oq!ka083Qsz~KrDL-B8L>n4 z@ymE!mKRsQGS%foP9-(RhR5I=PIRbqM6{p8ASG29UL92a~$FL2)npRiXVMvQcAD~p38OqDH7I_v0gW5 zh{PlJhKe|kzg)L^qJ>zJd_(9s& z(8pbHj!hp&|0hnnTm+gD>N#sAf~3q-4o|4zGsK5tAzW+65*7q%rz%;G-ob6C4a9or zp2YYVoT!NtlT%jptcHv|GMtd!tu5eVe04FtDpC_NIDIy^W?t3&+Bvh6v**lD;y>zY z=g+UP_uuTschxluYNysDc{5K<{hWq*`1dId^@}GsVfr;z%^+V|{YEc^FwUs+{kg2Xi<+ayiN=;MnW*XFJxlpw)NS z%O&$XeT28)+XfvSL`L=m#lTz$#YnVnKe7U0OqzALH3rw*HdiKR_qKb^O_n8RqY-rs zBegEEVlmbCJJ_5U$QQTT1K}-w-b>KziQkXaB?4!ZjMsntMb=B&w|)Xe-6;IsQHW~q zZ0>FA)G0_0KP!{Ynr;!y*ZQ$^HX9v4GNjl2Qo7pyNrcV)3w&Ijd#bKdWxbQ_Ta%XEOU9}4k z@)w+b?u9Pm4aX&s_4&ef!~AT{S*iiz)YICr8dcJ0ai7NB11R;(N1iOz)D#rok`X1< zb877t&tVI0==5dWM`~!%gdEB7U)qZ0f=gTbz=_!5`+T-b-xgRnmt*1Vw=AK?EfW#V zf&<2Hh1bwq3Ts4H&4Q1A#2}knm+%siEdCo)t}J^35^8Tuh9C-)E4$}OwrJTuXuTOC zU9mkVT^FPK&NqRLpYfQYv9S7~i z37B?=;eaSu)I4emq4}j}iAhJw1Ke zd3*;p<<3+@)1lw>0t%adqusMt5IPGUOVys74ZR{V1?geAU}NQUjk^p(nuGpOdN^g3 zUM-m3LA2l!EEH7%+dL$dU$&q`pCG6#1GzAYVnszXh~|PPL#w25Uro+J@<^5Q>S*+T zdmFmsDyW=_<yI*@x3kr9;D@*-@P3pn^C>2zy z)pfaz7)$-fnVsyl8NIy>W%o+a#;!#lmKv(VT{kQR=2;LqL2WDL_}k-tGxqgz^m6Eh zg?Tl&R04nr^(uPv3#V*#2hfd4YA@r3$Mgq{)~$w1PIZ6n#h20~A1 zR(f?3;87tZRC$B^SeO!>Kd+{$E@`gboL4h<*5YLS{Hpm4^%RtS!KnCV6QLa!Wmi(^ zVt%;}%r54C40K!zxlE`V##AJ$I&jw_D&|Ev(BmoVwj!#$ANqpy-meKq8?M)I85F+09$!D# zfi4GdLEs?z0bpb`cn96Yw9d-%EAYY=P*+14lMblZWLPLBQpdhC*4D8Dpd)VpO)Y?k zv>-N;5a;HS@)wLUKJzY<{aCMFAs|vAI{A_l`+88H+ZnnlAa%q%q@4N?`kmWwqzl$giA^+q6Q% z5M1@NtF{n8pW)0>-Xj1RnuzP=+lwLwfgyMY;ANXeddfjQqzuLBOUkreYS?KXjc?+S z8zUb9M(5%eX_dKp2C?BFlthNAi%2U1;9n9GcANw-dX#bFzg3~L(n65Nj^XE zfQt6krc7ryPpdZPnET`m&*VdS&#jq?Tk5osnCYh+S!(MaYK`3k8=p6V@E=KGxKFa8 zESdLlwOW2G8Rx8=1{upK97`M8cosSq*S$9*IZFV(=@&+?>|h2r5qn|C4}Ii%hl_WH z$~&9;--(n>534prHf1G=bpAzz>kL2n{Ya;lie)nJb0fYCtU`AJD&@1Y4yY)Y_jVxD zFka(d7lA+Lx-yF7a~b^k6o!soo&(QIpLrb;LyR8PaR*d%q&f;;Ap!Ho0M+E3ROkrx z^iVEwk;g&46{hR6@?Bv&Xm$Y1wTOR6IssK8tI@7SB4kn@;f=d4EZ2YXzUg=J-h>AZ zWq9ZIvJwyh@I(T28~`ifUA%HE&u&UCr$I_AZ!pcTJul zd<&6}aR57ePO`pX>h$E?d2^=L)YpGQsO*+;)kQSIIvC(EC-7_=GxE|)pOuLSAck~ zGW2FCIIYP(Qx+BQ81UjAuk3~>>w8u zc?H%JYW$92taTDkZJixU$lTAt+@UEsJ}Uure~CcUJjX8LEU$-Sb_)iYtVpOihzG)q z@KzZB`mN#z@0Y{oj}H4G>a2Z276f*-CsT59RWKZR8R$=_B^I<#TN@Swsy9Fgvic)N z%%_Pw05X7!7wR>GL&L}Jk}E8}J6RhINjq*Fk^C$W=CH{+G`(EHIp<>P(Fq!NDByscz07Pl1!~F zdfx~JY5T!&ogG#4H)#Zh#S#oUOq>7OlXHBk5|XgF7=Gt0l4hOU#k z;F_!g>nPd>e6;6Hdy;zC>UV+qqw5l?r_Nq19ZT#hm`T1E^JjbGJWTiHk)_1PUx^-= zsUwI{Y5W>v1clcZ{L|DI^q15Fz8WzMJ{1{Cb#;ZwPtGVSx)28Dsn8h#5osuD+r~%b z2aY@4i(26^8SD}@+GU&N;%ncIx5$b>v>J+#L@)oxj zT~?EkTTaaK;j24~TAc=M4PDsC;<9{eZ!C3^vpIw%P;+b#3H67)VV|);1qH5}Ph*lZ zU?1UP*S!`9(c!7}Z%v%OHCrjC$ZFfE21_!bzM3xM^5z4??ADZIMcaeRM~oX;0>6f< zQl!Rg&%!WRVaZfuH;ZrpU5ZDwyY4f-M1E*EZFa3l?l*e@>x;W}eN?M)+vpAU zu>=VPNkv7w?y~cd?_TinFD!L;&Rj~;c4|YMcT3Gc77qEXx!tK1l6x{W1C?+|vD|zY zEZeIFr!)MOy=9d(sFBibn@~)2C@e5+*#8n`D^0=*R<}dh^TPO6riMT4>{OJK6+g=) zi}yy@{~qjP-GGQg5O~U5dlMOB%0d$vqa|Um%DchYopf>uhsePtsA);44?PfJ_dn(*e5QF}R3ttiF27o&f2 zw}iTDH$f2u0Ss5*ElYh3oxy}~w1pI%+)t<(_u8CgwV$Kanz3m$En~eu>OBkdZ%}z7 z^cJR9YS0^V_O#^Gx@x^Coeu5}+L|BOt_xhQEO?5v7C#(3({p^Y;-lpDAd;>c#*8v zWz1d^&HfXic&eF$LTpc@O#BYmE^r402Inip2!?IK9I{I zG)f)1kJdDFRipwr>+-fJZ8PAx5%-LM=a7T|K7?r-1)Za`&ItnsX-eVEp?ld5O7_9U zC`2)FP%7YmJPb5@z(Lu@c2K-90KZCHlxJTT6 zsov{hvCLQ{VEQyBaM<8cSyhX5pbB-bY!({~QC$RWh42VE8USo948B#B&?26gf64SJ zS_-iuR-pGFYL9$Fa@y+eI@XZMX<+PUFPUsPwbY!PUm6cD?91mJ6BeWMTmF^N%EeOe zK}QG6_woqmCe-OV@#BPqxH<1GHu$d`QVP>_3Ds_^i|TYs3Q-_kF)GT&E(;HAaju%L zU_HmzavrnBPH#$4h~{0X=^>c{amt824>k>3xFc{mjc%w*FO{_>x zX6pWFYJP_H=!YyAXRjcU^R z)9BlX$f#Q4^z$_pP_tZ@ zITK~r>vc%-FHn+63(p)~=oN9hQUj8(r%3r=Y?3)V zXPk*BwHJCwR?1RO;TR|wmfMps)$cZ-yj%&$uMP~NF&TVSS?TOeAUY?F0&=7Pv1i~TQRmDr_j599O=uF#E^FXc@D)9YjkU3oeSkSqfX>-d z(wuw16nPS39s+CSU$bPqULb(K7v3mR`ywUn96hV9sj8keXX?!4!Z{7Is*`i3PHmW{ zCv$^Ot_=iJ-?t<6%^OfKI8cjrOGg>*qP@S!{h5vNNF z58e+7G=GCH_e)F;E=0jGt{mG8g28UlSLm6p?m*t%98--{JYSe}`!J-?p8*leCEafM z((Qp`0}_D6>!??OhIB$A`M74Qdu2-Od8S9JCt9{E!reuj=m&-6ow#(YP?jfDQ)pyK z&N~pn-^GncgK!jDxn}|UC%#Bc$+qmA^MJPM@tcFgAckey%60roBWS`0=dU_eBGNle z430ZlB;5bM4#)rRZvuh z%Agb7G&KJeFUOy>JzCqBO*R8qz_Xny_th^z{6+j`+(wT9pN$pxJQgg@#sY$7jtv7f z@+;tS;H56SG_(@Gi!~D7MJ8(J78#T~){dRX=N{8zvfpXLD}JShmouZ1&J*@O}bs9XdzNZn`uP7N=y z9lW$&Ub-^mrTse0J9o)D2kGEut33hu_DcNSQh${NgIgy;^jJSh)ipXFP!h zfsqxBY25LVZ35J%)61G$Gpv;Lo|s$;0f5n3jZI@V0tdb5MgXQAYTqvy2psGN(x2ZX z=jJck2-HQzUoF+;#FMghtC^OtXwqWLiMLKRxEF@Wm4B>KON$GGkY7dy57>=o;jK>& zGguPph?T-|H`pC82)>Vo4!C{nAja}mk^S?&v$~;#y2GxVvNufAd}5Z)|n8HU74 zUA|hFEoiChnnV09?}3DH2Azx!d|JDkMdu_|ekGgD;|MOu3xVW_lZWxywDq!2{?uMa zzW9C#R?*wy30#6>z5)_3c-@dmy=x;JX*koQ!R&ti7s3r{v2IQrM!kFHA}LO{^;T4k zmp%l@3aTA4X_V`Bb>q`>F$;RMP}GewLr6JP_qMmMPNqRF#&EEx&qyQX8mGCUMiFHKsJ6`Xuvy@CB?ZK9^gwD{sn-MP>r5t zq5B1xr3HF_BFDCbX&Qm|3ON z&Ixr^Xn`c>xB+XsNR>M^A#6%fP*DhHWr5D4Ibun(9Iy|AXbxrnJ$vpww;JI>>&gXA zW7@!bgWyoRC0J2il|G~)a0;8K|{5OjtmkkSIc1l%903S@0xzMcKZnT^oj}92NJa&FYh6OxAuJnCEc@8?vAJ^k z(Gk~#`l(*6CMN$B7AI~Km4-q&qCH3|c&0!5unT$;X;VDP*sV396J8^_WR+&^T*Udv z)La7FAXZqd-f+^ZQi#mtwcjMvW1)&(iW8^-21;CERDi+R_G>hIi`3&dWQAx4jl-Og z4sJ*fIXN~vNVx$4Or!Me+Ro)zZ$tm4&-i4wLWmG^HDIj{es6)0?r$ONf591_S9S2) z3j{3M3UA<;dAH1#?xQquVk>hvCqj@CY9sG2`0HvBuM=q0yOrz+Z+KGWp%IoJYI*Qj z;(kizY8xU+>j zx^~P`3o(y~!gb}FdU{q1V)*R_k;3>_ecN+8X!RX6XR#|;P&5`+&fA!= zk71v`<0f_-7=S-sZ1jsa5&e-B=A6`sXznO68n2MN$whu+zM~mc*qyAkY?I9GZx}wx zSqYh|0Oj-?Q$Nk#uCn=9q=wC{NG_OCJKvl^#XEf-D|YAwx)>y+Id>HM2H3SAxUE+G z9t=DWwIE08S`Z%;4EzQe_~lxByeaE^r6+k{FfQUf;uL1uS?Wc6lbl_~P3^mkc&yiI zFPZH~j4$K<{5e!uk$M#Q1l=`;=XP`Nvh*o#&uy4Ei#*gvO{kYlvqy#>&^*mkQ*0M1 z_>y__8g*pC8+hQqo8uSn45P($F=mkYe1S56>m?>dv=ZBZ=s ze>xl=l`Jq;La0EaT=Afw-bAI!jM^E~YIC{8mU{fakVtEwu|>GnU6#|Rak2;5TU0{b zt_!h5+&dAs_*aWqA<%B7OY*F(NFQ9=tV6m{ZtOx8dRSK`b-M( z-!})KyqSy{2=m|s)G2m$bY2=Fh~<}QU4i3UVM)?EMHOrYR%j12d-EwB$Ia(-X=q#) zu%E-s&1m;9p=LYrnQS~0h^9&u_F##Fp^7d{Ip)go;0T_!8{A`Uc8fAZLJ9wHiFjV9 zQ-oME43+5+dOl%u09YhFzmiylKFcfUfoDslrEU<7rjr)X{$XS5NAVvLmMSPM16f-k z1T(Y=EhbH=n>mdXc3(_Xq&0q*IgK5 zOa8aq^Z=8xKfDQq&4YEbvR=P~s@W^`ev7&+q&J=Iwj0~6rK+{^j|xwjo)r?EoiJ&p%t{kWjhEO6jMOC^{d5~II7EUzilNmh zTvu#cNR9QeXvE1g!&~)4+!W$#)FbU6g$LoARmQ6goqVFl&?h-|`H`nM>K*Jtma4Ls zp1%i0f2+}BK_aFe?G>$q5XifgZjAb2fjDuKR4p@Hytc1G2UadAu@Y}=qEuk(8jTSqFQ=XDz zC4uAbOFt>!34t(8_pLOSLIdp_2ZD8PB$HRvvs#u{4L?pQX?HowN}g&%3ssZ}b)Hti zspihE9#;kbf5g2BcvMB!27J5In2-cXIstcyQ7?jAg#-nnLPFTL05@TA3tLzOk`RI{ zE<{8G1YAKyL=LuBE#G zz>4}NX@Qo@pdy*pf}{S#Cp~mIi(PBVF-}qAdo_pQ*)0SR-2LM-+P2dFs!d$0`ixhk zi#oGzk;p#a9x6UrA_8VKG^Da=KgYPWUBBtLZ6vu3p%{3o%;jXM&luxmuDa(rx}OsF zh4mSK;S_4C3j&F!P;-p8_2gK*$&&pwM&Dy1EYMEoDZ=~zRjy-_!dVP%L6-7(@#mhYWO5CwNvUUij+Hgjrc0N9=g{!x46nhTjy?|jB+CqDA{nV)apxtXnRq$Im z{w#iR$!~N=h1=@GTU*Xqttv(LSd?CTeHU*`j&at>F)g;9PJ;I5%WTnXr;mQXXJb9* z>>+HCRK&}YK4l%gj4$4*tbasHcPXMk-sCN6%s6{i<3gG4 zJ)oIFpRrQC6P#ey106 zjDwu3e$pSjC!Whyv#-ZvFpmRUai`X~ZpSXbC$M~u(Mh)ooLA?LO}8b8w_VeXjWcKw zd-alW=w0FIBk4LF=(0hewuQC*)H##qW7aETXlz$h;I14D642_%r%a&AMc8Ni6~`LW zB^gfn#_7OcwO3Rg|a?C*wg>HqEZ;17$1Cr$E ztA&)h_?0q7V01Yb4Q+UE2@6HSnV^Pc5yvfVgN*Me!>?@SNWu7S`sAr3mOc}5C#3yAY57Xp$jP(opjrZWT1yHN zt6AP5ttvqw+HcRv_Uz*_v>@stBVNQxTmZlL1}By~WtU zsvbkf4*T%M#N>xhDJ{)lAxm|M63v8$$FgxdCV89tN@mp7VwYQOQ*-ky=jLkFaZi*b z87n)>Rht`O^IwoDn{d_UtiDnhV`bw8fB(jl^LBJ`puD|^3j7bkc)e#g{o(qjZx}>$2i$i`r@bX8n~W8mTU-z>aL_R(uGnxKD`v*-o%lM{Z)>6sK72$XO?QiJ7-0F z_zd$gvNtk=6KI~#jm8^3w>Dhs;hk{t_Lz|a>?Px)pM0MppRoV;DbUw*EmLEocQ6y@ zVy2dp_@HMbPcTChFHc%sKJ*zMqQ{LsDN^b)VacuGzbMa~K5G%KAv@4+C%!WvsTVXh z)-|Eb$Nh3xtGM&lIX9!UQsF16c>Uk)V`5?2_q)4-fW-i^+O z?FZ_~P~9pdTseJ7pWXiq3!uyJtm`2n$LNe-DUj;Y5Klkg3$;+HEIX%Ra*8Kvu-N8l zi1pAOdi+y{BHcWz;fUlIi!!=kPx{>><79bmXl=Md2TG>m!#k-E>Oe5+#Q8hc>QK2qCqVJWM zzt1t|d9qlFn%?l>z@hQ4m0b^~c}fb~S44auCi~hwHzY@9&^L}cHgt$H{}y#A0gu|N z&qha8>d9C)x`C{fj>*;NIJR?+dIQSj#g*nTKO7V;3RyFFQO-`O8CTzAy`MN z2_KrnjI-_*_Xu~3dtm&sf)|KnwV=;|4_Bgxd>QHhe2T3}45Kc4n%lexkpodAe8w?h zpr}!!7IXAYtk@2i&sZPsSI29^v~}X8e0%)x0C-XoS>Cf2c> zo7J)mS(Rb5{2nPTm(04%uQE$L0$KI0^k-jGqo>-4xo5tVe6!ZbjB*|Biizo}w|+eg z_Cl$CGP+lBzDc}Rs+NE1P85!hC3i7jLwB+8tE!0KXjWArDq)@kX5W8Wt*o1&_EUSKH=gD?`kpA%Y8i6O|cqw3t#o zw24UQvEV8ypQ}>+PNynCr_?=^xc?KS2{PswihY(pxF&j$I*B@P5thvtG_kGx9}a~F z`rO2k)`BUub2tK?vKU{7%E`^BL{T$T<5Iqgrl!e@kHc{rbSL_Y zQG1*Un4eIbF?nss}^-j0&o&J_@a$hPpL}@rjiz!Wj zv9*_Du9C4@%joHT?Y=hN7Yq^>97^zA!Jjq!!Inn6-+ZTW;(cn!dg5;fcTM4(Xp)0bk;WrxB z3j9G=WDmAAYG*EPY-olT0CssjV1XJJ8T-(I0 zxTtLE^oY(Gt#(x|JCHN*%4Qj_&Xeo8ao~`*6Us+8aM54=#wQY{p_PhgH8-ND1wOh64GVgk&CM(n^HJlduGk~k9CQ;IcC|HT zv6qIlKGouuqGWAiR5R+qekG{6SzF1{pkCxX4ztHMgT-&m#U+#MV%U1d%Na_BOOA|e zRq6Q#Q&(AeA1?KMwA5FIbiTg)>Cc}*{29WZ;rtoNpV9oO=FbHFoXel7{NV+ezU{PA z;D$B^_QEwcObhoh-$ie0Gtu9H-sc?I=Y9R+;K3$(2XnYfoFh(@#Q981 zP(*)agA(YEE{omVv}k(MTzs!bb%`u=S+-L5`=#sOqtVryU5ssvdhAf6b|HFVQD(aq z@wXu!-*GWwx_Kz<99!Tln%271({XpJ%k*Z-678NG*u^aBI;E&I+v>Y~N(RTqvR@Wzn ztLx9Yw9KK&**pDPwlN zBZxDE)cqWHSa-=uEmu4J9KTUHTS{Pp#NkFVqI=bQwr|L6-zZ}68(+ws61^xOd>=$) zX^iQcePjB*V-4*${=GK*2B40_kwvv{oF5q7Pl4CS)WkH4yENWD;|y(+k~q^tvF4PC zD|Z0mGiX|Q`SS#SFg^>5VW!0I+a;97#6BN?*hNGZO791T|CdXZl3QvrRmzG@+vrA?Q+{}EhejonmtJ& zfeS4IMYVBC)9i4EwI4dHUtlEcGloN+PPXi|csvgRs$^1R zK1TRWlV@N_8}kdbs`ho7HEGOnO(y3~=9icEDeuYg4c0LHzO15SjAH{eDCR8WJd1*U zC$@=(yDVE#)E`3j2R=O^wwc6bl=aQiYa7Gd_n-yZB`?O}{mpnJap1(6^GL+m>a54# z<{4_3x|knU4mV*uzwodC?4UEQG{HDELB4Y`0QtUCCuf}_IXFc=J+F@{IjMWP8Gkb> z@Pnc%n42kVGk@;qkKZV|OD2l!CVW(Y`G`T*tm*P$XtZ3+nDPPWZN%BRo9I(FPD?61 z4otGkCb|KfN;)tprR6=a_Sk=%YSgi7vK$jmWBL#1&mtMfI)X(q?>Lm~9K-ant34Lq z6y${iyeF_~%6YiP0+k0p;=}{u9DM|?WA_+S*3HIpUp7Dg)6xUotVbntXcBp=+<}N= zWNzBF1&i^HgH{U%E)xB2l96Y5qLJAD^*JKY})N zUKqDK>?|xDA2#4iz0|A<4R{wO@8?c-aSw#?9;Zq_WE=9KRCoBm;ouXZ65p$+@}r;X zY(7hn?Hh^rCjQ`i025VL*jc9NB5UP8M2u^rx=#tJj2~reyN2aGvLN&U;5`7m->I3> zo+u^HvrHNNwQ42t25=67xHFM5U0bPiy9>2r#Iz{nZ$ky;HwMX}mR|9M>sB?UcQ|aM zPX>sX0MzK*7dLT_CP5x}yD~fE*1BHP8aNx}-IJCO%gzzL&eYLoe8CS`)UW*;&&R^)X-|jrqLKMiSt+q@h6j92bKoGU{ zv{}=qtARy$n(EheQmGqiPv3dQ_Ol+6foYcbmSaOCY57xzf$;P07G5sy8JasU3oCiC*;LnwOLDkD#ajJTX-2Wt6bxIY0J-KsZN3D4p-Q zZ7ISe(K`Unl_z$^)a6KwoEjER4L|V>l*SkN#FLz9l?C-p&XVKoRhQZKCM z`>)=Oqw(~Y<>?Rj`+1f_hG99RAh0}aR9IE7Snq;WUqKST@&0-R5p!c|X26*gYrSi# zEAp&71AWMPyx3WRW=?^k6h=(R#Z*?Dm3x)eeGIdydOB6l$`3>2?-A)UmTSwE#0(P? zyzH0IP(Gt2oKT%*a{9jBw$w!kZsY!I!QQ9^ zWlG4nQN!e_Dc@i{1fgZ)&igZk&+X~>jpyadalPU5S>%7Ev#$-s_>HsW zE^nDlT39!EHt+RPuS+;##7xwfe!j{5e1|e^;2(OBh7D}f@YR|+%)r*Gf{8s5a25+}H>OZs);BglTAuVo7g#vj@0tzxC@%7!@&O_ehz*UzY{#4>)Qx<5F>3HY zl$)^wD@O7)uO2#TFc1D>g+CcqRpgn#(_g$3NZ$a`9OLrwQ7@6cZ60OdUT|d@7beOi zRypDKndP%~WI6>RAJ1Br)Uzt9Mvfjh%9a-+jS_f>airS#X&gx#po?{b^T`^u{HRv4 zysHheuV#p9r&qHp)mH6{Sb=oD%lWgCKdbn&nm_yoj!%{&0_U`qHRW)hxIgOiKe4dv zMwi{$^PsnLj7Qv?jH}n{-{EB3wfPpJ{Kn66_ja$?essdt^|waf*{W6Bs#~>ir^c&h z++Gcn_&CwzyG_YBOv}(qZIRs*-2rp=GjHzf+0T5sPFopyY*^2CSL+u+8X$j$lM<8Y*!_$`3?>J*S31O+>Nvm`7R?@b5l+2xae^gT4Rp8 z-UG}2JCr@~K5^F4Z%mYPV6w)omyZU-SxnQpnB}e>L3?dAZS(kRS=#m|ho}7hcwEb! zFabNixRGB=DcS$5?{Z)cMD@F6AQ%`JGd``rZ4)!^j*-yFzSrS;+*1+Ov{Y*DAnbUuRbiZ*rr(U?nApXRPwtLJh z96#sjdw@kS@KRfMM{eXJ{w@mqB->#)N8cY4>Xp2P!`&eXjNHx>c+^y*Fn5s{_qSjP ztzmI^v|5Dqo`29}k9aoVgqPQ@f=VAS_7^=F)3i8ZDu%<&y%)_Sl% z$=vEDyf{ss?JzXvKOxv}oaJ0YiyBiG=Gu7I&}yrCN^@ZOA;!X~^XoCggT*qn*~`NE z(SK#daJ(*~?pUOi&GgaB3)Re~8vf)MFJcWZVgtIY{zdOfFE8(pjNy(Y92jboee$4+ zp(BP48adP+Sy5d%q^uZiTV?IIfn(3;(WiU&Vj~X2(CUHct5uDy9e_4`aP5eJ;|7j6 zBQEP$b((#|tSL?S_}3XD2hdQG;ymYwrS#aO>Ec1T_ggKvqK0-env+^*Rb4 z8wRlUnMRWkkbJd{x>iE)(DgcMmyUWwNA1>8@8~G3T|r={Ok6@oqHQL=c;z7cMM8=) zaYdXH)#)fF3diqNs$+#fssTD`kc1%B5FIr`N6pevvvt&J9koV6`ehpHga~FD=#VNy z?Ua!6OdJB`Lkm#Ug*Y_R_>&L^Wf~abDe!+5LN>K#8t;n7%*1VgjBdH~x8Hut#K(EX z^S*d~7SAb}xbuynFzjzaiu zt+CMotUVCgK|*<=r>MSeVUe1xN8I1K8(BcqwuH|`IbH@riuhBS$SD(!iZVgQkIL{b z6JL90KoLrh5S=rPL5k%k=P%Qk*w@Ht%LntU3z95_KZkxb!H$r-`!b*KwoLD5WVAz6 zt?ry6^3w zLO|TEa~vff)WjQ_cuNQf?s%@lbB`wO*2Fg?vRd*E7BJxLS{oJ6O#<+w(@79#nI`%P zfvB%F@vV+JVv@sbYhsKh-Vy?--qFNYn&>*24?jKAn52m*LV&rE1e={9Q^*5im?kEW zVAM8E96OafEuUm)t)@xE^=AP)7#~8pgS5Av^ z)+%SCa<(gHmvWv_&TGnfUpb#B=Ue6Y>*eX~l{2n^Y5?YWnpm!hn>6u|CQfQ}n7eDD zuO`ZcfI0f>kS7|AjEu4(h<-{39W>9#;Ijt7&6-hH&r71=ods{(S{acklw;D)4v`0xO#wn7!wd0H`ueEEWPht2FU=vzTL#a-LF7 zyYn3hM`@z{Lc@P@U$ACm;q>uI*g+6GjRCPiFWaGHi&&3P>mcAOjNywjsQ|u?UcN%g z3pagXS@{c5zyd}P5Cbe=_-{eC;I}OLP6&S0XrO~t;4lGTJf?NR)WKl_x>%+|gPlfF z(jg8Lpv7Z)+9cD#V8Rk&5ZD4iJUbAC>_8A{5t-{q_yP~*I%5#r2)>_bSUmbIa)@g* zF>o=(6=fRPOO1>?zGZ6dt%&E1kRod-hG7dO*OqGJ8Qi|EEn} zTsE?yp8q7P7u4~8KI!pw)A)}SFo~JDpsaf4f+q0{YMNDse}>zWoB6+>2_C@c4dE@9 z8)d^L*Yh9W_E}susBQ}Xo5VA6a#I=pr_L;^Xl&yDtU2%l1pbEs6aMS)Gl&0+%PJPk z;Qxa8ct~9%|C{UPPN{1utD4%({|3^d8qVjxiWpEgwG98_0iM%<=ODSV8lJxJw7~`` z+G_-X-eZ&*wz0sd54+Qh$;M*%Mj8zgs$3mf4c8KKH$3KheCRy9E%>?<>dfr+4%y8yl>fjtP1o+2XYHsOIf zW~5M5j3HA2rp%}?8bND!mN5r3-1ljHS04TTbum zVQ&k){0_V@KP@o+ti1+$H<`wJVXuhdh45rX%wC6tY4~wBhQc%-J0wi=najYd=NyKw zU50NR61MxnAz{0p9kLuFP=|C3#_y?9N)d)%4hbCmx)ei!gO{B+kNJvZMh7&C@=2Mp zGSq?i@?6n;?99$IzL8iqnNBPx3f<^$qZ8LPOm}0s%gWQX9l=H>{zN05#9d&jUX^6A z4ZsOOZrx%{%dK)m-zF%D60`-}lcxl7f1OiROHzoKeT9f%3qIE+7r5j?mt5+Sm$>9A zm%PFyuXV}wF1eArS=1}D$szIJ4K8`N%W$ttR&GMFjEv(OVV)*Mk5~Zu0*9Ukdby(K zFnp~;GkgbW^~mlwhjlG=$&+02&o23{LqbAZ+y+hwK-%3UOI?!Jg~PxcWb+#+B#SUq zbs6q(LNT2C?Ut~xv$rS`$>zA^!CS)&vmFu)7r12C+rr8Exa16%?0*LsGBWB0B3-4T z8%Kj4B((n|kh^wJhCd50&z1Lv$@^S#!cO%N=zOM2PI1X;E?J1HHz*BE0C}VV1^C#>?m&34eD;yx~8&q?~MEzcACdgohjybbe}sBzWbr z2gSgz`Z)}|Ox9uePDttd9Q7bWg&g3Lvt9BUmkhaNcTSY3Vo>6cfOC;c{?29K@o~=! zU%(e0)k&>;4+oO+_&U&`110RSFZ!Xup?&$9f2jnc^Cd}iAMcBB`oUn64w!Hv1wZHQ zD9*1}Iph~YisFs@dXBQegh#^UnJzigC9540WnqUKdap}vcgZ(g@=cfg&?OIkH2k!^ zZs-YasOge7x(xl@&^H_saK3ZN=XXPHMuBs?YjxkE=7t9JVC!eV&~GtL<=oH0mgf{q z56{+6m}k37-s6%Fxa5m2DHpG*a`&=WSIX!xv96HvnIgsDdo28jT!#d>43|9CWjM(t zk9Wy|E_t^@Lc*sm`F}3MPj2WBE_v|d3Imemx?~TBgh@|z$=)ux$>sglB^#dzEA*0S z_`jkz%l`)xKhNPO6NerRKaVgX;2SrzU1!73`-u=5>>TFpf>2|Rgr4MvK95lDc>~)k z2+cIc^fmn1DqtMOiq3-;B9wc?5OARzx)Gtg-2$PT-O#i98GdesL+Ipw_!)yA%ta#f zC>7esDEYaZ@fS#Z@leBGtm4g~2vrL17-9Ii^Bn;@M}$LPL1;G>`kEX1Z-n+xp`W{< zStAYqsVX#gWLQFHgr25CPjo{EA(VUm!8XhdtwZPl6*|ieU5-%hTLbS(H?(rL;UA?! zhs;J)Z~SB$zppp^whDa%Qx-~hF~CFghWPUcelm?48V&yh#kr{wp~?zBBb0jx5b&ED zdip%WKS_mF%tO@4{OQ4;XsNZ}tW%uR7(bRj)$ur2f%81YxsLHm_;VqDF6NI1>3dCv zzd>i7B z$188D3YeyxI^~R3&IIM0qns(?V5$_0riTAYC66ESjF2~01=z}|R!%?V3|7tv<%|&r z%LtcI-gQb|2|ZqX$Ebi}@*cHNjWo>GescXSq1&=i=HC!_Rw1@GRaz67fjhWr6_SYXXOtn!w?;CUAJC2^`*U0*CjSz~LPy zaCo-~9Nu#RhxePn;aw*zd_U3k-=iM+tBP|AU&_Ygt_8!-?FV=kw<5q%ujCeo;Lw<#ehw=6|S;N~U-aC;LRZg7IbElzN_$%#te z&j!)Yb7=@Xik>Y0(aL#PIjU;?o^63U^Cwe!>@3Aj!|_5p52sAlkyBQn!jpB}598tL zq&r{nx5c0(JSZ}O4A0{4%LX$KV|b)@(9*rLhf$w+=P|%KFp^cw6!%sg@D7XQ6*I-`4F_LUB%kCc^GGj7 zpmVS9BLp`$n?!?+w^s$MlOtJ+B~J&dse5(&4x+u6MIz1g$TY`FnxW48exgL&gzv$0 zj3lx>M{Z)D!<&jcN!m-2@WCwrSrEx^92q>@e&XE-fmBN(Q%T`)whGDgO1NxZ9EUOX zWC$cKi)55sj5&J(KHd=MQHUi2SIy$;6s%NZs}+wF69+Xc~F_w?V%!ABi{!N&r zHA~FQ+q}rkT==&;rbt1RaF0~v8&sB;|FX~HT^bYi?y9OhZVJY9SVEiuDkt{3LnnmN8D zcw~;bH(!_=HFJDR%yXC*3G)KY95JyNuDH&3m@g4#X+9I%_)>>?l`yXmU&0Kz++n^f zmN^TLkE}m6Gk234L22#@BYrKn)RDYcn57dz=J+{yfy2B`n6D5YnB!Yxjl+DcFkjU= z^VJUX4Z^&>b>=I8_bI`ji9vJ-rx**l(f%**w`$IZ7WZr>|F6n zo9h*lFTv8fdV@Pku(YFrU`*^05-Sa-H&KxUAH!c!=Xmj(;`gZ2Rf11c!7;HXOKkT9 zu{|YLTC_kgCT$;yl_o4s>=_a(ZI%~xe+jPSZy*>GJ6K|+L5dSQLSm%_iW56VVx`IP zK5(1_OXDJDI#c{-@i&f;b0t=qj6g6E(^O%S#v%}OCC`*#X%+&(nAo`zEA4J?M5KDAKtaXE4Au= zd9M*(sZ{sNd%f^Vow{G%TZMNse-kUUNtmSG4FvbYd%N&TO}by+yMoDBBnGZ zMygcA^p1&<>J%}jN5%MqXD|dY6;Ux6L8(mX;a*ED^IICPu18#B7O*2?V7gM9fW5F>QiU`yuAGm>8++5OY^djMQw1kuII{ zp3(*f1*INC%!8gZe3RP*rMg1Qqn;S12?V8bLd+8}F;XKT<{3{6rTK$W4IxI>k`Y2l zQe((0j5FI3lvr@d+HwS!nt%zaiI$+mgHKkQBly(ZOHj?R1SKAPhJ(j_s*fRopj2Fe zpu~f(O$^^bichMsKv3ermmR~WCR>71sRe=(559wA_}VLZQpE*=5)ZzD7`{TqClwxc z0gDeOdt&$wQ+!hW1%eU}c}KRVhBHmIFbF z2cI3oSFQM@k`4qV9()sG_&7NdlnOf#lvr?`9mBvj)b08@3;9DKT zcZK4UiaHRKc<@~r!*`Y9lWIEzB?74RO*4C#Dnji7`}TI-+juFc0!FL8KntW@|ol@Bn_SHU%BkqQZfw~jb~it{v#wo;A?P*nqJ$i1nLUERh|^;*O8=bfFE!MBo8OHNWM(HW}*)RX9gUi zq1QGKZZpWrZ8Jg@xmgHe$!uS~q9Pc|ZF5J()}n48jT-!nsK8HI`!+~=9{2zW^!^H3 z0w{AK0CMIK0$h4+GYBYo8cIEa2&Ls@oGL6|c}YPiug#s8Y%A^t(x}1Dhzk6a6%bAX zcmW4=ig21B0CMIL23&e=^AN!4(8em%h~^{orWGr0D?Y4^`E_6qDZIJ3?IP46(omto zNdJfu@;XVolO9mP-?Bpqz8PWx9(0P}7eWB!oKMhj>9x(H0RD(J*5MlbB81+w>Y%%d zJGC*t4eTLhv{(dxM5I|mhe!HHl#tg++MV=(3jUTIP4J5$7T`f2IQX+NA>ddDfKyD+ zj@LF%%^GB#lI4`i;}B)ukhy31G5JQz$v|wLl2xDPk#s0LbY<3~=eS%?e;C*H}ssWUk8G!whLD zWvMF9S~0M^2LGz1E2>x)>|WNNaC(9la6qRBrxyf3&Z&d}mtNZ(2so7*PHzO6mpO3w z;iph#*2>E&YVhxcGl+2dfERE;rwHeC2!Nc^2m>y?wmB4V25UHHAjrJj3ukaVIKv31 zFL(h5bc%2)AOLd82?H*@wmA}TMr2vTHKP6qHLr0H@k;#A2%TS{;hJK7-&{6|s4Bq^ zRG?EtH3$MAXCTqQrPnsc0@dg&t4gC9j8JopgNpaFhem5Vg{m~AP}xK^1pGh+Iz?2& zApmlQ5e-~=ZF4+O)nr-K8r2Adnpb*J)o3iCYE3Cr6NqXg_<;&^il}bEDL%;A42P)b zwaqr!gRDTdQzdRe5ZlK5a+K&$ARDh)H&AF6QNX*whgxx9dD%hPNPa7L0S9!7a6%9O zIlBo1F1@zd9&irMw%Tb#k0I1NqwOA|XgQ5pcX0N~OTWoQ<@il*s9hq2c|`a)(gGpq z6cIiN0g$tY$l%gzn}tAFkZlDu!lw{wKG=2-ts@^H4iyj;tEf;=Q^-cxtpia#4St{k zog%7dApmlIM>KHhwar6;>X2-!qek@{Ld_wL-TKmQhh!sT(cNkebxdTn!-(&Bqy#?D zDdNjUzY22N!XZ9-F+c&n9vWN@f}{&}2|A%t)OutigFQu!*e)uWb$h$V!dyXaotu zOEtpEM34p&QYY{O66h2m9R~rBb1WP}qSrQu0n$(n>39SQq-Qmxp@|?3CnOX6fCM^4 zNL?TRa!!ClNc7s~C_oyiA$3KNd6e@e@@pock%=Hx5z>j^2PDubLh23yki+2(A<=7_ z;{d59+p5;6dLYz1)0AxzGz1Y+gH#gdCW14G za83s=;DAmMPJal1oC?B#ORsIt0G#O>P9=f}XR^SVo(RrN!WjTwzyX~ioM8|EIYS8p zF1@zd066s;&Ts?~j_N$rCxX*RI3vIdIG|I6GX?@6XEb5JrPnsk2b={O&R7IV`FT#4 zp9P5^EhHox{D1^HMM!5t0OU+06u9)-=4F7iJlncdqdE(rM0Kd-+42ZPp-UsYo_B5q z0iKPd00=rofVB_+Ip-1>TzYNu3IJT4ZLQJ(Cm}Sl!?oJe;aZgl;Tj^GjI=-qIz@!j zApmmfhzu^hws{Q@UY%`Sr4i0Rs9EW)x~`5u6}l?I>oMcC1UVDQ0TOhIAZJ4WF0ob6wOG@-}v zUO$r?dNRzSW7jfvPdHfmluuBvb%=mopi|Uq0|Y?MdN|aJUfcXV^m;YhdPVDXJwm18 zzE4-&uZFR3AR2ll!s~f;{y>m7AUQySP7&l*2!Nbh2@Wp3w)szh+^Z38Ly#c6TqE3@ z2-3d@={E2K66h2mZHEBJxr0#P(rcUh0O=zQ=}rU@(rhW7A0>kGG2z?=UcdpJBAk05 z0CIK^23&e=^FM&|Zw=>O1QE_T0_Wd};CxCr_kkC1K&J@j0SJJc`w0Usy|(#(fb+SA z^B{sG!>-U7_IV;mUl7tm;0GkoDMES#0wCvMLV-)KZGH_%Uuj5>B8ZUYi-o>Q1n0km zvm3mC13E68bAwsoRm0e2k(aPSQ&{CI0FFZ2%+48PW#uHXO4xzmR97x52XCEB0Zo*; zASb8F*AaMfa#~*&+&`|vs(gn6*I`&K0c```@loFInG?mh>0@A(jM53 z0JipNV>`OacNDN4jpZX?%S#4ZCv=F_OqGoD@}lfk0Bl9TR*)99DN|j&^E6G zwzWCdnq=S=*rByK$W`X7zf*tREwt*3dF*KXURu-y%8rvTgC zX=CeM0V8V7n*B+K~*rK4QA%+I075c%dDda%%FO09pp1JJSYwMwRb$06oJt z9|X|*lR??nyvA$9`=hWu1Z@3)?V+@>^{?_(09$|Cd<58bC4;R}Ecmgu;I1faj{@5O zV0$!eY(uJigMe)ah91Bc%CUAQ18=B#y<@u5*+7RhywGk*=&{jji&H0j{yO`7CfflMF6fGIyoU+-IV& zJqK*n!1i3)*v41+#sS-S+k6q&o=*nb1ap)3rFcFH+e^SU5!hZz8{64czO#VsY}Bs`&IPvLr;TlLm2VQTO}5QH0^1*w!8V0?I!VgfAEI!*4qQ`# z>-Ds8O|SCR0oQcfd=t3dNCwvobF0^8Z$x2x3)p4?+goX4n_cBQ57=hg<~zXlb~4!J zm|MKq-j2fdF0jo7ws+IU)>!3h0JcWkd>`1}O9tD#$RWskQP}^GD&V~Ux)4D3rVVsSm2WYCF0suI0ra2A zpu9jTx=(aP_s=M79|7Bi!1htv*jiffj4I#7z$YYTDuD5m9P8s8YhN-*TewPX-sRYI zARDz$G}_R|VQQbI9P54x4dfe*(Bjkdwcsi+1hV5qP3X1FFQCciIo4-Msj-4;+~X}8 zpKHjW&ot$L|B~Q2y9MxHrVk$9vLkq|7tOKDaZDKTs-3@ zBmnq8ZaNcNoSPkOaGsl&y!dsAT5?y=*vY8^*3C>Dm$e?MMLd?a~K- zCnQ1Oc7ldWuWjZ5{J}{fzYF~4BTm&K^D_rW;ms%ByTJy$`RU`m7m^_G9^!;cFSeBd zZ!jsmoQ*SgW3>nS)mw(q(!nrZ*}C3=aCd?Wa663vdrhAMT@&1c8qbCR}=L^GLuwJSn(5SHrq`n$*>YhoP#Hdla$q z1P-tsl|ELUuYo`wz9Ck6ZL3|6xL&il?QHs^_cXrJ_AV*_%s}1 zrPnr(1J>fCu>KDG<`dqxtT+nq@x=Qq*ns!=^zps`Nf7uval)n7HctRvGby|;g5P}7 zi`R_8+l6>v0vqslNgpqd3_&1I6A>@Hw%HAMyC#K~XN%0Iy?DDu;kAhO4`2gcD}B5? zKm>t*Bu=>W+Gcm)Jt--?Z-C$Y9q{51P|I-EVkd?1%6Xt3g!?CO0d9}<;l2$?5cn2h z!ll%JRrx5Nt-~!xJ(ueyONP@uk2oo;7w%G@8d*xcECWZKY zBr%V18sw2QaIajRZjmD{p;N=?RmE0D_3faOuSkSHM3lDeNDB z-+akim`{ts+n0Fvf(>~4rjPeSNP@tB!69CHZL>e{mgidil7jpZl9;bLkY(Uqt|5o| zY0BwqRucR^Bmnrz^uhlJk|2;{X@aNMHU|Uzz+7uUQs6&D67w|&d=<;ez+7j|H#8s$ z{1Afw3<&^!Nc!Nvgd_<3KZ1r!uWgP1_+h!$(4@eBg(NbWFxuy={SDKQLqj#?SbikI ze~knHKQevr-$D`uenZf3>9x%<0AH1BjYn&osfe*(jbwW8RN>Z^xEbW z=rSoOE!u+Le8Sy~ki`6}1KDOlnT0n#$ivT}nNi^9 z5PTsL0Q{Wv!5;!i5ZIBR;nHiHjR0StYt2mx{Gmu<{=)$;Bm4UB$bN1V_<00>7!m;d zy!62z2}uxm1VO{4*EX90z9}i>M}eQU>UlCgYKp?TfLMl zTm-D=Cxw*AFl~X5Xi&L#7nPjUI@HPlET{={DPPL z7{R+F3hzb4%d^hFdr|s$PlO~0 zkF`4_K_CxE6Dz&8xg1!RC54p-qQ$nWwQZM0;k}G_d0rZLFH0ZqDUbw#JV8yo^xEc1 z;9ZdvUY?jX_j+sO6;XIs5ibu^1MjNz@s>dn1oDVA@zQIXYk+rkQh0f!+WeOn@9HSL zYl)X9u7P)L`gr?65(M%LHu2JHn^ytvx}@;(%r#C>dbSp>)7^9QD9}+ayP9};BpZ0I zP9N_8NP<9~&L&=ZZSy+dy(THVJdJI3_u{=K3h#R2EpE_2?ECwCtP}Ma|`fpP6}@|_;Ga9W8ckDcyA@%8n6NHt?A>P07(!y zo;cysYn!(L@7AR7P6WT%--~x^6yDp3_e`(>@9pX1Jr|N7@ND9QOD}f(0q^!)>yD%# z*CGjy5GxbQdCu(`a_A0CIhDoT1V0H00RHau!B2%G2%JLDaOt(pdjWn&Qpl%)-yGsK z_KqmL_YrR$*ns!G^zqJwBnX^AoN(#2%?E&YXHs})fggvCJ%xE^6y67k_dKux?}O>% zt%oECoI{*&>BVkA;N6vLJ(LvW1|%_UZ{gUbA%`B)lv6k!CHO`p0Qg7K2R|Q@Ah3y` z;nHiHj{*Gdq>wj*A7^kq#@-!;_i^G~05;%#Jbk>2APE8&5+_`GZSzUseIhBmi@}d$ z%pSZ?MB#mkc$a_;c%Moi??sRVffo`dTzYNucfgBljM#~_i9Ljz^jN8F1@z-C*XZODZJN!-<<2k`+5}KH;MOJumSIz z>Eqo1Nf5Z6IN{Q3n|}u0x01qpJ@_LJ3B47C_Z{NB0c^ngPWpH^K@tRRBu=>WVy7eU zzL#sgn-t`mk;H6vOe{T%_cY|tyP9$ukG~T9W+VXkzorlVR!D-tEd&jhUfcW!!2c~N zpzyBthWq#0i&P+x!T4|CMX~GuPUi6zV&X%Dm7) zUBkJ;e`(aAe}<{OnsO|^kDAdK_ zZwa0s+y?k>(+B?)BthUFf`&^kwn_s0_qo=0Nr8VFNpL5H0x$P{eeYRP`7R3nPlW#r zk^ufs>BD~>k|6L|!iGyPHcSHkFS*vwNx^>sNpKg0$M(Ny$f2J#<=Fl=f`1VS0RFf1 z!M_4Y5co1d!==|Y{p|)>M!RHsg0F(#yb{|5xZ_Z+HZ95!Ic)u)^f#Jn|44iI}QV3>}q~2i{Sr+1OT6v zKKQpG2?F0DXt?y+W)8r&O$zy+!EbJLkjqiwwo!Olc>e-P5cnQ(!lf5i z?E!DQr0~8Ee)Bfq<&MK~Y?9iA@yd?FJi`4exBxdVeYpRCBnbRFVZx=?HVXhZKPk8$ zfZx2s3pYO!ZXx0B1sC8JrVsZ+NP@tB5hh%Eamg>>c1Q~DN8rcRC#oDvY3LA!t4i;o z#Jdk{zfJa5cmmk!ll9x&HzfDY5coB5!llY+waw1Jdwf!Oe+0j|%ZvB;D7+^S?@wR@ z-V@Tt`#(s6z+Z?HF1@ySBJg%e3h%GrHy>e3hnBG%}BnUi+FyYdRjgo*{($4CU z6yml>g4>Ez1;OixLM82Z)sVW9s7DyRs@zT?{A?rv{8Q40-wu)>Fqg35(u=D;0sqvb zupbP5^I30UJ~aw&AL4BfHsI}(KHdUIg1~&@gi9}WN&@d`?X0q-AQvKu`GNyk`unG8 z$e}V#IepH)1m6J(0KRYf;17c&2t0(K;nIt3lK@}d&gz#G_`{LJeAx@WTtg1^)06|g zlHiX(0)VefAABcBg21B)8ZN!qHVN!=)G7CINm}J8NiC;7uk84P%#?6UEqhSk;cAIwL$Zl<3v3b1BS7 z;_reu>^!V$SDg{5w}|P6G;&q6O6a*5MiO^rVr;uiU-^?D323^(A!2%M(}wb6+F7HM zQvPHlG5_SvxiLDwLZdb1Q zsmwn+_$RW89giwj?>ro*H3-#c%F*Ra>T)U)Lzgqt*QF06L11s{0GD3dJO{d*m6R4` z;5XlOw2+?fSy6b;CEnA(2E6B{kGC%*LEst0371~moD96RN#X4We)BJ0ytPqyrx0&B z*noFR`gjLG5(M@qPPp`9rzG%BYiCVO3i3cCG5_X3K8poq8s2!d^Kfbu_!$I02nhgw zM*84~K@tQGA!xYtV%sFZ&uVAQObYyPBr!j5z{?1KR(OOzGYb41f**kd06!;v@Kulm zfujf-F1@(!7U1V5g?u#laY3JFj5Ie2ZzJ)J0UPi(rjNH8k|59~PPp{i=6v9tmlWO_ z@Z*j{58ioEc$;E=UURnc&BbgC4vKqVO&v-m}04 zyo=JudoCnF;5ozzmtNbv0C*QCg|`;`xc|?CcX1Tn3yF6U*ns!K^zlxGBnX^BoN(#2 z&85J5QBruPfge{WdhlKpg|~%x>%a!QE$QQ(2}uw*gE-;RYnzt>?D3oq0DMu<(mUw za8tOEl7JejeDwg-V4L*-G^f2ayS;Uu1E|sL>D*;2%U^TaJM++?*%7ayPu zT#r4#EMjsGg1G_U*0;B=Yj0iafRl?6B2S^LZ}0X6uhUri$8CSDJSazz4Qf=(4C zuQ-69O%69TJ0z`Rl0FLZ;Z982Czn7j`GFhQpZ zb1Ni3(5-|AmtNc43Yc5kTeq~gHfxx?`XI7ry~P9b77Z@6SyK+oZG_275C9W&T$rA( zJI3DATAPRa5!LmLxF+$2JX|fAXKl!{*5_H*<*7Hds~x&N@6Khn7j?t88;w%_bn1O` z9`rd8|J`K2kF3?)2w7G&zN2m3Uwnl#+~>bF}%vx(>8C)i+~WN>rJBTt*PqTwmPfJt$Ed%)d%4sMU?b}+8rBd z;!X0{t??gQoXEt*+QfY9R_C$3y~eNd^M5HZUqk0Mw zjp`T-w%k%gTW%?eZ{5?YN)OiZ)hF^;*3LkohnrfVA5`TlNA?f0&Fv`kcjQ^O=UKPq zS=*dKKiCf4;T9jK(BH#CGX(!br8J0@>C(A_Q1x-Xq)-RC@Olx^-kq+<8C< z58(BFa1ZXycHZS&uFH$KU;KF+iDIWI=7`F@^Su0Mz4`cLv!Uiu~H*uTsT zeT;&*7OljkE97NfQ54#TkOvsDLqc{G!6c~Xx1pXt7pX^dM;*Z2Qs0~V4<0=UxZ$RT zdv=v?8VrLQ|2_xq&+@EK9nf>2hyp!{pg(g#qq$fMZ2S#HX>;Uvtp7mv(^@W3JiTQ!okYBl&LSM!h@{0p9u*cfNNQ)x-6hm1juW}AZHC6f~40r ze+I~(@~j{8tRFPa^@uP(@*4Ul7iZ|l7(@SXK!*N>x;S@_flg5u_6{M3_l8jy=`5PR zL6=|itp906*mZ=0o>Kg)tBBX&|BE)bkq@ElV4_5TP7x&Ue}bIt4oG@&FIxT}%b#!g z@|`a^^7kfck3J{rM$mBNO_=0y}#140Tj6h>Y)5mrZ7tQ>wbNF z7len}X3~pgZP>}wMtWLtJfoc7!O=$AS3HPD z`b3PhFWN|^Qg5a4K#|$iYb4%YWOj)%QdieV-qPU+kvdM>=sBkE8sA2|$SBk$Y@-us zqZbec8-Y&IMsGj>l%?UGvQ*_Y z)7ubXj>?a$wW?e*g`AX9mWIVCOL7}eReU?~4xZ4cu$@NIPVXWNb^@KEo&E^{ki!dd zXeWB{O+DDDMjMG&#~{YJNQSq;Xd~?_KC6|oRO2a26TL>_xoUGll#wR7M)H;=M@U3j z`k3h_#TJS;uR@~j zg$Q$Ql#%LPBYDe`BP60MWix$!d>iE;E;Ki6qdBxuF2Z0V&?(xeGXy{mhZ(dHy||nJ zHo73+T9R)q)|NT}5$2+NPdE4iSF6wxDKy@0@M5u$w;Q~>m2U7w)a67x0=j@sQ5T+$ zhn$nC16+D>aRGE$nr~gK73o7JHFSrbp1#FWS08UKUF<2z(q>*ltUTBbte{iGI+!q= z1L|<;#WxIrb$PyZX}+~g!yST%NV_k0afU99vHP+l?9QRR4+9uI2w6dmhAWLgr>N05 zrBM|%fjoL`a}_jNnQvXL)ftaasOd5LN>?4P*)NYa`)Y!mfaEYc=oCRtg#gGoo8aKm zYny8Ua!tNoE1XA3PMNzhKeE_enY&&_;%WWxX^83J8h$#u16T` z1Uf}K@uV5#+ysYqq8Fcogq?P1Bk^n*Vzw#gHaOZy`-&fErDW~!l&qazBi#-W=6z8{ z+UXj}TcjKz5k=|_rr#OgM%xh=x-V>_dugLP5e6H9K5!d#!S~1H{z5o=oo)=ftN6f9 zaFF#t(7Hcp?F>32QT9W@$L^*1aL~LjsA}2sF#RJY<4nG}D~O@yH@Tq)g77hfQCNk< zB>(+7D6})k=_@eqC>qi2j*6BdqlCYh^OrjhLk|b(Wy;?|yO^r7zoF)+A0l90atMt< zr>L>h!PQq4st)dB&^Q#db_cCTgVrNjX{VdZ{;jzukw*F&t4k1P z))%M@u15xkE-r8<2req%3-0ZWU5Jo~Ny*R!2>GHIJf9VF72>nvR;MXj3IM1S4@I_u zKJaW61^Yn&s;8OYk@B^Q?3#8-b}e#bVxQ+Hc-KNcqlRjbczaI1Obqhxn30VWXes%ycD8<8FY%6uYdr^ zVULTL>9x&UfO&I)b#sBWNn_?s36XF2W*2klW`M)AD1SnmT+n820TxkESG6pV=B)n$ ztXTJ7FrpjZch&~_t=~dj*5VP+1$2tK@LB-KVF!)6&}*C9pv%?*>sGDEjR=iYWUH%4 zsmJ)Yrl7}d)MF!_06jpbs0aHhkh7Wi;nItbe?yP$1=bw}*6msq_FE!f?(MEBp*uWz za(fE8+(liSZV>1cb$M9na-X9Mz33`JmmLMx-CB`HVieioD&ozPyHn8PUh45Eo`5_7 zouVGkLjdILA%3{@;#MT+aeslev%tDftMUROBH!)%T~$ImJ$Z6p3c5TTr@$a$4Iz@^tVABHZw3ap2;B5xuzQjuM*BHlcCC;xOK*z;5Y+K2>;Jt37_ve>hyz_ZxHBdq2V z1(DUr9@jh}C#BSfyIuQ)9tHhHv8wn=fPsDUk0@+UL20~&pM8i6Jy8HonZ$aWX8Ran zFdOI;&Gt0}K+dOdXf}Fn^Ld!`wcxC$7J7A)=TkC_50`e9LRKwh&>y zSrA#vzvWsjM3cC5HZjLX5ZLEsa^(!iG>DT@irFv9@U&SnLkZoYj^{Icg{ARYRGz2_ z8HKt<{f(yN=^B_4bc&{QPLt@tBU1&9lE2%EByro0egD3PF3H04SNfShG;Xi9o*^C+0| zNNvYeiet5Mu7IQMxUaall@fWRr$iQc?YIUa%uZ2uEOPDWEs>6p12yAXKB6eT8P_2$ z)G2JnqiMz~5e74YPSK2;AOLdK!=V}J#YfU$#?FP7sV#Z4V%n^nTi|F*?k%=jDUqE$ zCGteCCAUC?*|jjTDL&D)WXMS=CDKf-MBd70oEYDfTM-xP8a8DYnsOV$U`o&_n(|%< zfSm1cXi9o*vjnE>q3w8|;@GL2`{8Ii?kn!qN{Q^@DUqjm?f3vhm_4KHc#3OBZ;5n- z9B7GrkdHVez8N1vT&QQ*jHNW=E`-61pi?yC>kt4rFT$Z2>9x&)FynwitFqAQUuacm zd%l4B4=v9My$8C#*byOm4|J#kA(6`st!)PxLE|C^dkc5d$Ok5 z)zOEwLDofj+iqb3YbBsh&fMT&LURGqt`ai1m=l_)`UW9yvCf5h{)nJ z(Zw8^0C4C$NQFDz1s&Td#lfq1^V?@pmmnSiT|lR(%TW*jIUT73Tzc_QF6eSjp>?)a zTx0jK+dtm50_rsoC-ar6k3xDtw~yyZit91 zM^ju?LX$mtGARXJrcoCQkAN4pZHfKPW>4jFER^d9QFQ5Wyq=~&>~DZmH+pdvNO9ZVc7kB{(e64p7)$H&pz*S-Z^uoWM&g;vjaIO3M4)z2Nn>=A&O&D zet|eB7Z}HO0D!ZF_+#Zd=5XRTtjvxpvxkPEjPU!7^v(8|@F3kN1^3C3uP_u>AliOI>Oz@-iPW~pwHQNUWb5f3G z6C=&yDHVWtbL{v$lI<(3iTNelk2d$DjASQDvi+$;GRg%?b`${M9E_1!3v5Py*~Zi6PS40TO|ng(4%sLdDBDy3z?qDZY;qlQF0!3dX3q{ao91_#?wc8y zP_u>A7qyXT=lIcjnRY>3v(tev=jUj4L8Mtc(*h7rva|C@Hd9y^C>JQ%B>;ePK1Pzsb?ga8)u8k09jEP z@6b=o&M)Jgw7EBCWV}H#&Y=z&DHkZ?g8+bY4@NS|bi`$DIW-Re8KPWqHkWpggP#)p5I1BJ`l^uhvGWE41{?wN5_XE z9pf1pfUIanzM`LaD8G!a(&j#xkzGfF@#8YvT4p~g zvmch(4?;=%(ri8}GfxL6cPHpEzmFpY+*U6K<5v|v^3;r*(kRm+sZAs z@Br!3ZzA!YirfSQfSNGUO|E0ULAS5V>{n&>%QE{#nf<)XE)1pHlpf~0GV?|t-AR(} z>zH(3EhXKTOG)=dj&z^r_zM$ADa~`A4;}(J_q+Te#;P+Sek&1&vJoOuE>y%FKmces zMk31PV-AS;W10P-%q}jo-VgFm7FSt0GjPY@F2HbV0LYIqrGaToyL?59Yua=EESMD0?xG-XRtc1ak{ zk?I=!t;8omR3|H{cB#zWuy|CZRNq#`qjPt857KhUq$I^qHYzlprBi@Q&|`6Dy4>w` z2}A3Ug38hS9HCJzFtnNCTiS98Mxn`d%$lj;wrk3EN!c}0cJ-9)oCAC| zuqy!o=OT;*lk1os2v(7@AabO97a)BYd2mm-wi#k>=?{+7I`jkzl zY`>8IOEhHjuaEf06Dpmbe!pD$jiUcDsL-ceApH*k0Ot+S#>(X;5cJni*`}0TFJ;#a zBlw86>|J90{1G%o5xDEcl4#xB5C$lOR$vK%a)BXy4*)m|MI9^GF&h)Ypp@MxWj9RO zfhoH|7{y|m%_b@HLVUqAC1@!pM{zk+R#R z?6xVpO&CQVn$4(`c|ShpBcnjv5wOf2^X;g~KJ;yyGv?cPk*)Zc*Fwe}m4D1*)tNE> zhXgZhgkY2l6l?x z#>RXHPZ{dNF(0E4HUyRsC>I#QmH>dWiKt`c@*Z+R*fnK$N!gu4{=;Z6d*m#1c8x-C zcY$B_Xzxr-)@XZgZPOmhvo^~)32Nv61$fR$&^C~8_sBoWvFgky?=Fe9Wg{e_T%bf_ z008G77)d0T`%y?VHf8q=_1T$Pbo0m8d#TmfNSyfi?&+z*IEF8^+FK-dVRJ}QE|BB_ z0D!Zn$YJGjvk8*>rR=^byHCjTKpM<}IeYDX5mk5JrN(ie|MPJ?6cX-%`NuI7l{r|*@HrTPM{XuV&iylBu;!B56T_KLq+mLHisnT z0!dB>0GyLW4lCC&M?muMlsznE$Avs+`29}z%}h*q)u*-k*c21!r}^LPbhtOX{%Zh^ zPK}A)>~sbY=BN}4ML+gab&hs)6uTR2slD7iEDGKoNBQomG2X-!UbsC|U`MC&K2vuV zZSGO2@X^F0CEMB5AsgiaWxE^za4x_|Ho1pO8nzYXp39eidiY=1$J2I7upA zOC2gwE>Oig003t;Mk>nXy&tGJEoG;M`rYYwn&X?fm{7lk)n`h-Wjy0K&5zu>`7$%E z-(5hM({nO!W~5(yuM0rDqvO;(lHDz=nfWEVhc@^0jASz;*}c>u8RY^cdkg?@T#O`> z>zE6W?EI8HFJ;dSReRj;_k?er#6+t7s}0r8kE!<0xN1)UVJ^zax_{@W z=jKuH-@^T8eg&VV&Alk2;Du7~8R}4wa)And3jjEuVx*v4ZWf^69VvTz%HEc;w}v8q z=XYJ?o9{89h}<%0W7oZdIK!J*cg00q41}4R%3h4$6^ZBuTY9_h?fy`BD&7`T@zy*l z{vhDH@~ikGZSLHRigTpmPt>6zeN572TAbm$DCp61MmIb@0tf zm{7un)sME3hpr#IxA)GEOV|+z^Kg!Y^CJo4dv5^ZDL5~t-~)LSTv@pD^DEeiHuvF- zf)7c-Rj5Nj$^|M|1pqh|7%3>1KS@Es&r^0`%6^uzpN1m#@w-<0rY|NGk-ti5BM(0( z&M*(Zj*D0Wg!w9!eS+|HB%&K^>E+=6%B3fR~Z$*l!|rK zp(5o1Ronmoa2hdEQ7+fIQSrx={UK!+hY}9-`)%l(jWD5v3#)%`BM*P{gZJ|A*SLg( zfH1%0Ncd|cVLT555KqA$VhS$Kqu|EE{WZUW&9u3{WEA{a3T{Fj3Q{gm!EFHmX9z|L z%5_X>IbZNCw@Xs?@09&36mdJh>j>YB#DpTYR(C94_9C#PJj%lk7cPP)hARI-T+rB(p5Vk8P>K&*QE&|@cmQ=MNVz}-j|Bjn zLorfNu48(lU}d@OQEn^BZFwl-aemk1eKQ^tir8A+yNx`ojOF3laS=}vQgDfVt#WSE z#;%*J9ck$X0A4!w@JGZGvmz#Dc^)w*d-(pFx7NB)3)*UD(xOPZcS9hy=uP}8&Y zyFAr|k*0F_GCKFoYRhd+x$PSYdbZ#19N(Oa2?cHG+aN)w^woQNTl(g_x3?B;^lqdQ z-t3)@3woiD0zv!b2%3%rjVGs%6~7TzQ=W4pt}k0=--ruO05A4_&lfnIU*Lby#qF07 zxK09JLLCBAE>Pgv`dw~9VI;6zK3huC4k)+%%kBE*wyE5%7s`B--}`3Y+=2;ZZmr(9 zjl3NY%iE3OGT#b>*|0qO_U%TIzHYFkm$3a~3A=tQVVh#*_3|X|ZTgXo@{4*qZSIB{ zQ3p!YJE%ic$_0x05CGuZjghEw9WxYBhm_mF<#zLOyIH8{!+zKKzIg-_D$2W*+n7#= z_*!^}^+^ zIs~O$prEe<0L}{-2`ZQC#t7<^+nquw-|#!V>6^DOp_HxFyS0&=4iScn%w6JAz72%g zxjg$Squ`I*koQ`oiz=rEk8%gd#1h-oK4}8ym~Fed8j14TRYzN2Gltk>dFlfMjX(jke!6 zzeeBE=I)cxXm4rs9d&3#xj>En005jHG15q`V-7{5L(1*Jp-g}Jo&M*Wzc8Upt<^`i zkxPffa_R86On(Dm4lB>TQhInKlN)U5<bfR3K zPMrY&rz1u>$>r0C=yYr-(&~PXHGIDX8 zK(caaO>I9Rzee3?bH`^iI$j!erw)xMx1o{$xL0-7gFPi(Mz!-E_o@Z~pmi`3NiJ{s zL!^_-?c`9WzJ8|~-_&9vou;*+)5$TNro?rs1HznE&K+`pnKwr!L67rM_CBGR601XmptX#)j2>J8N z?Rn+)+>rd{e!s!K8G;GNzP0+2HYSqu;T;~7E{>1=P$0}d%d;QixHu+Au%$PVoR=d` z@DR$mF;T)})fU3NIRE%>Nt^r6%=lj<35QXKgp>=FaC;B{+8QGXz2)|va(j0e=9x60fFI^e zg?VojW_

hwALd7Vplj@!$M;zxba8Ec_`K$p10`z&T&Mv2q>r5d0r3w{E$eS8g8& zL%5u_?2&pf3c+=k8mW1?!x4?t1G!CkMk@9QvzM6P^+Fk=LyG%IRQAW{adEyAC^%Ctkn__3fHPlQ zv2q>r0-XO_Zl5o=&z0L}%k6(c=FiZaJxu?Nn7hwIG5hI?=W@rwebzh8iJqVOPi~Jq zqvbt6<&D#eiupN65HsZhV}1t!a9&cZSh%=^wE~d?WFLUsGSK|FZ9pX_gP`tkZ0OwbX#FOio zC5ZQTx&13tZi(Niq?6aT6cZ}9u)0G9$}Qtk?caWc-nE5x6|t+`?SL?)71_$QtH@mK zj?WhXh&NySl}EDn!fIEM_X2kZ+T7BL@B(*91tG3P9gjYvh-$2W{@^8QD5Zwo2-djdFpq)d2ub6-Khjbxb+3r7CP$ zs98V1Q`$H6m{7BY)xFxtw3HvAmuZ!8%^H9(J#sXwj5Ld9S^(l@T3H^+8iiGvUouOZ z+an`cg(O>-IwYf9pk$i^0M0;+B$MlyzDQPGVf$3rstVgX6mGEJb%<|(;du96kLb`#D;PnMgl30Pu3IPb8XKRT14)=^fQ)@^2dt-@i_6 z@@u*+UEJD?rZv)ZJL=Gsa)FxeqTgl3j*+Hv9kU*qu3KSkg>4K4-PP~6n{RfDib^&wV|3U(f#e_1upx?)n)$ zo22Ld)S)Nk0`)vbzgyaJ2u6C!buCNJB$NF85^Ud*?P}0`wp>5>o zCWIU2=-{}dT@ZkI^oM*x?m+t5Cuje!tUwGZPa^xUhQrHnMVSKS(bt zN5myO0|>KSj)Ws33FGM)fOzRRJf`4Qc@#WTxFhl_couE$b{Pe?m4atehk}$>T)`a$ za4Q$3FtagIP_AQ6N5L5tc6un^ZPdEciSD*4)(e~v_tuiM#7wK0FWX}IhM`CGco~d8E9U$mZULM`0ulIR$^%XmC^nnu5mFt*0pnH3Ty)C5sKWfdb zaMMHEElrSv^_|{{{hgfHd$Pw)?A_a_$@=rPk$h))ap&ecMfoqlpiH?y%KC^MI4fa9 zSuP)(f%4o6J13;CGPYjUM*(kl4RzFc0?d540DF*PFS#+&6k?%@e7ydOv?h0Q#I1<|`2nT*pkP9B#)~+T$yO{rnrhlfH>+cCGZu zUn273D{r29nMA$V6ZPW0?(vnghX#M*KL(cm^{5jnfz}77ph~$ws^9x87GXqHu47Jt z>dBRMa!7Tt-{}X8IUt~VwWyxF6xGSpEYP1e&-0E2^Mb!HKUHLZWP8X`UU9N}=_B6r zd>;2=L{_e2-iPdamG<3`tTNbrw^DBhjJ_iMpeo<149~Vd5FMpBbSM`{X8{1|Oe}UT3E2Y1w9NnS$i^}wum80AHOQ2Yv7uBa-n*IgKpzlKS zTQ6h8M6P4LM}|d}_Pa{^Z774j5$!bpRGI#v(tI12;k%eK%q+?h<)=WDMZPFMDyp{x zq6=3si6+0Q^!bMheR1IW-jgt_OvVYv>kc|N27K$m{oeZ9ePUb{`yBBXlbwh&7FIuSM5n_ zI4SU&nvOWpq|n*(O5Bb;y-8s;QSYElv09Y7t9Y>PNK<4B z8OQ!QqZC<^xrA9WSntl(!LN&g^^$fCh2^c!yZ6)vq%W&t?_44)S-UBoGLVRea^86M z>egwkPVH-#aYwdnH4tv~vsG{CQ9yDX^FXiRBbAe^BTMH`S-E{lOFtInBlpw}Sjyj@ zj~KP4I_orZz?3zQZqefsLn$=B(u?Zgr16zrV@q55c)bfHH^(P;XFyIa@1{ydZf-#C zRFBxJB6b&5sP$^`#I$Mv@E#GudW#6-CL?wq8=>%g^eSn&nZY0FF?>x7@AnzLRy;$k zTmbZzHCVa)xlS^MTHt70OFUw)i&(I}dA)dIkNCvGg^pZqEGHxOXcnC-$*VtW|^nmdl5nk`eoa&I33$lnmvc=AT9EQ>q~LbMeGJ2MIuL9fp<5*-$cK zUj)QB3h*6dk^4pDv~+{qFU6A!&Th3blWKAu^FcCl-YM~Wz2-}}mRr5qRt$d?LoLx@ z_-pYD7lQ<#cgBmA>zEIdG1QrGG_JpinAVIC`>l9l-XfFl&WRAfavk$gGGe-D8xi|m z#DXQ{@5K}Q6L0|k2#Cq$d^Z^}EkGk;e~4Ic)%TC$iIuRV0+3Yp6qD#43v?wh>4GZYV-nxsF*W z8L>fhj)?UXv5l#MSkK~#Z3+^An}`rru46hTBeofxBVxToY;&q0)~k48LqP&?hzMcj zaseh8u`TEv5nD^dwxkMTYZXuIA0Pp^y$E6DI%b_@#75DXGl8z*RfMk18;RTwR6}l~ z;>kH60l1S$Vde7j&1B?8(^=$n6`^bMAQ2lw6~qP=Pi$9^0Nh1{uyP$!m5kVKbVgyW zB6KZjxznF*VYsmv?oJyFH!hyxSdakRQ_Qe(9n&Wn!@cM%>2wvLYjd-R?M)TLnu{m4 zA4mZ1D?(Vgj;T&YY=1gO#5NJJ1E_-7CdCsw7$g7>5+STyo@Gl$><~If#5NVNL#cw; zro|IG93%h_6Ctcz$J8Vvb_AUxVw;KBkyJr!v*L*z0}_Boix5^WZ<9?%>{vQS#5NbP z@cb_bZ7|%kc!vK33BZfQ3@g_$!;&$)n9k9- zjuo+gQ3bKF#S^;>BmgfJA*@_JmY9s#<#djS?ImJYPzABQiYIn8NB~|XLRh(u8J>*T zHFS=M?JZ)nsDjwu#S^<8Bml1yA*@`-Y@LkQ4Rnr(?IU70QU$SniYIn6NC4g>LRh&x zftifhEp(2E?JHupQU$SnizjvmNC4h0LRh(u*)|!mJLwz|+fT&iPzAC5iYN9kNB}-0 zLRh(uIUpIa`E(vIt5=k$Z${$emm~xyL{PaDhl+g6B0CpB3tXy9Ck&M_HbdHGKC}Lfxg4m746YB;NfNP2n zR<2{tNk*(Yog-qiMXZb}h|MmZSOrJ`mWvQpE}!>IMyv;&BVsp+SS3{uyQz3$dH-JH zykx}mXB-i+n?)@6%Z!_gC)Nl!fDITaCf6~yCL?BjViPsnPHcWc#Pr7rDE370#Pnwf z0P61TM@#_bR2dp2T~2Wg~gLQ1S9|t7AdS;UMQ1{+@W;#$m!K-9=Xp&ZXDH+`@DE^M}P$2 z;Ua~V>zEglkvo#ksO>tWW>&k`cRt&ipCec>eThi}B5?tj+dUQU$S9)-L)fuxmg9@M;ml%5}`*WW;9C zS;Sc1a$#BIRu#ExsfOID#gn@MBml1$DXd(_{E&>?jdVug`4X<>L4US|;c8+yn>HA( zRy@O7Kmzb)F~iDr%#X#d)y?A2xfCS*(B7~Len4gmoyO+)pu{A{OKB^$LM)Abvfdt?KB7~Lem|v0+bLkur z>mp(gQU$Rt#S@zk5`Yhj5LT{ZeoaQ~5jsc2x{BDNR6(q3@x&en3Bboh2rJhyza=B~ z1f3&dYl_&DR6%Ub;)%Ts5`Zs>5LT{Zy04w+(biY!%weEgOR&D}*1WFBy-GFY)-9gg z8z2Grx=3N=I;Jccxi{(Tkqg$h-I~`Exwoi>+~qr+AJBvRys>Q{Sk4u=JiGFW2zvwe(}UU z0|~%SMF=a`F%`*(Eu?cqtiOnTP8G!Z7fkO1r^ zQdqf;X--D2jLs;``nI~H<&j{0TirZH3{$kha7^(Gdw>LBg_vRGI%bn(3@hmzjqA=L z){`oT?OZ&uwLt=KEfK=X=t*W!uQfdrrtA*@`-Y@Uo*KRQRmb`!BQRS?^)cw&tp0oWiyShHWVZPhlmhXu4Bd~ zBen&dAvQ^~?WE=jBDN(}5SvguvEd*AxRnTDPk+tUWa6N_iK14sal5;Lq^$Ly1g z;f{2U#`Po-+leZOom4!rF(3grT71P01|-v zix5^WPm(4hb|9T2Vke8(K~zEP1P3KD>ah!9pTPmv}gHjd5_u~S6sFsdMSO7X-_ z1PQpw}l8|?nLhMQrJA*2SU0FP_vq1vzED^%WbXNJC`bmT~$1>3qS(!d=bLRbzEnI zh+RVGh}bnEb}3a5yQX+zSAYcITK*A`D~4oCprDMDDej=4S=vAJ~iUN}9Jmzp&{EMj+21+j;V zCw4DL0Nx`)Sh=0(mf)E577q0M~Y|o2uJ|V7c;C}$IMQ~@KHKPWBRCwEuacwj}}kt36KDMT!gT4 z9dlDMVo%aJBDO%po}vn33yLT93`hVzEkanij=4D*vH#FHBKDYwJxdkD9xI;Me?bE9 zc@e_Ob<8cvh`m7Ph}h#I_99gfd%SpJuYd&L%OZr8%hROEh`mbZh}aV%_8L_Xd!l$^ zZ-NBi8zO|2%hROEh`mMUh}e@N_BK@zd$M?93qb<#GZDhdbVD#9QE& zbRE=zOAA{KY5rUczn~3eAj=#`38t0bH0~Nm#!(VBG;a9~o`~xHae-|^XT*o|{jNzYjju?J4IAHj-82*no z7=B$m!zCaA__vs0BKrYjjkrob4(kNCElmx<+KxDjnIEH9p6 zGe`h#EM{1_JlvIx;U;vJhWvS=_g}!ULJT*h4TcrPGvr_;h8$HrhH`nzD;dKfbdE;( z`*2_BA%;U~gJF;284d#pz%9iLE0@Q;k}=$h&Jn}kLWY%MIGi>ZRu<22TaWCSp5dM#0l0^lVdXkzt#uMTnKqWrk%nEvIeRlP+>16C zZdN?QeL(_nA2GwqbHy6YGX@lYB#WOqzBmfT-GptoV|q@o!E9hLh+VX_%R_w-m$4w83!8;u*3y7Q<7-3@ev6!6jqZLg$EK zW=0$)hNsa6!(qiUoCXqrQ^gD`msi3iV>q48(I{saZY72@XoKNaMKRn)NKLDF4A;eo zpt3I{f6`cND{vFX=RhwR?*7#MWT~w8>s&)I+QgVCM zX1?xKJ*amrKifa}`2ko{S?l(!y?N^Mef{pb0AJdnUr9;Rb={uhLt9h&mh=!Fn{D8C zA0W7vd$c?7|C&MLKpOdA$vU;^-nHHbOE#jytrP?A;`G}3;X&%uF1>bbF{cBbkY|Ae z;F%Z+Dc3QhYTexl<;A|2&7As5-;&|>ABprln~lxhwf@EGH<`$sxSK58p$g zoWsu}${xjw@-L78yjWsj<#OA*);$_g-jygHNR$H-iE;@WoAH4tpGcIOr@z;Cf<*Zg zQ4Xk;+owsS-YpG}Ze!(w(ZkE|BUc z@`o-A@(;lvU!{2F(1&=gDk`2`%&5|_qe}NAj}}196YM@ASfQ}n3IWPauCEJ=2YWOHcS|r@w>M3ru<;F2kA@6Evb`sBHUeWm_&+$EmT73{X=vJS|svzcE!K#uGZ@Ti$=aq@?$t znck0G8T{B)!g#x#|COho$-CfZ$vwV~ro-6P^cdZV!Ymb5Za%}LfpFXi_j$emQ#I&J z5BFL+DVXc9-X{|UalN)&mBNiGtdc&{jP5jg<@6b5bVp@J%WPG5NS{uIG*2;%z?Aq1 zRL*J{Rn_vhz600x2d&Ox{Q8e7ZQ}R)JH|Ec3+CpjziRiKQB$(~^Sq$DcT2tQ=Bek^ zm}d-%pIf87^xPT(S)Ygak8imHwnHe$>EwNZPHCo(cd4dCH8H48KwVISoafj0iZW#_+nLuuHkJ10 zALQKF+-Lm6uIxr)zr@aVd5!<`Gs7`qW5)QB8hv5yk{Ts^bMwm@gqK6H{!a#B^HHUn zG6yg)Y2;EwnZv# zm7SBX=Sb?!6YitbUX{tzt2KN0xjDS~4N3Y&82Yj#?Xe%(+TBW_zhsxPYwO{U#tz6!I!Ec9K$CTS~DGoa!%jQ($R!C#xYMA_nlC@ zWXBu7dmG8PbG9_^ zxCfQlsp+%ld&D(OnwOW?Za&a-JFlvQPhu{pD)G*7JfGZ{SJnJJxv?jaU<+7*oyD@m zJZIdG!eKa5IsD=Bb68{NZv?Gh`tFU+EuhjLXP~`mf9cz*;cCq{Tq|^FA2+J>5Qb|UpIb8S&qO_2!!=jK z5Lh_^hMeg`;ldgz@7ptCD+G!aLwYZHCi6d>aa9mZ@q8)FxZUe+p8BBnsi%_dQ^)7or`)CXDIb-%9&B@; zO4Y@u%C`5Zwtr+<;)VMZr-z)^#P+GB;G%shPTs68im?-<3C(47j6_+Tw@>+9*{2@N zw@EGWhaSrx2h%>>2mv1SCOLL2f0EnE zpX7Sfc~>jE<7}_GWgKVyAI_fSdS#$vlUz>)-;>~%`VjRBWFM0pyw?hYO*9oOYm!@P z#|m)$oLg2}_>w zoveR?ove4b5mLP5?PLt5zmx6m?_~XBJK4Zx?PUHBXYXVKGtjY}Yy$I%d&qX3W8<;Ed@Yw`D1L3ntK0b+ORq506 zgJvJc>{90*#kha2X=hQwX=fm}QbE|zH$Q0-+N{pcaqlAbQFSw?F3|;vXcEbG`H*D<@-xyOZ}B^{){+0qP-56f|RBhj~(n~zr{#}}VerKAKy zv1gq-KID6vhGLHbhN3-KW{V(zDeRN(9t1E|_b+Ev>GWz=6~B@%(>kza^8|%7AtbV_ z!C9ew*!yfVgVIq^VpotX$s4Q0JZ$M!8r~?wu&gHQ3mUt22}8m|y-3 zkA#yLP4D)gF5HY{4x*hS!{^@dk_2aQvV@8F2u;K!e{SoPmD`uJ9HquR)v;7}Z(6$O zm*RSAt5~X>lvm5HY;}c1oUHhS#%+!7YxXKF9TrqK$sgtmJyAlh$tJ96uVud(f#4I1 z7rYEafV*QPxLn>cQRkkF;6G_%{yE{qoMKC}9XX}1Ku^~$b22ey?J^_zx?fZCDGH>V z-UM(;@c~qV1Yi#l$I9hx6m{;YVF14stAi4KM9`5OUsBUN zMX6EEPsMV4O7SUD3nIWZ7>$HnK1aq#99U-$sI$}Rg7h#nNb(uWk$gs*lIOI>qK+nv zI#F;BM9f)L8=qb$R{a8Y^&)}N)0Uz1j9jJtjtP|ZJNimbm(mUVly@7xQ3YTd%{4VO*ViMtFGPFfrWD zT>cK~okuS9Jb*j1j)O|}0|7oXXCR+*lezg!O)6&=pVFHVJtMd&M#&?WuicQ+XV=-Y zmQSBeHfIyFeK6P;b!D*6_A)Lur0!X{HQsX}gW0nAJOy%I@qugs7;N;=umX|mm+EHTSZ~iJVtrX#tgjO5f6x=wR~65CN00#AL2R*d9Wx8o*VNgo6S3B3;mI^#-m{fA z*LeKB1DShuR1RdnRslF{L;%+oAHdEa0XRm)v2uB91OZ%MXRk{XfIc5jdiepIs{pQ# zNW0h7O_@5i-5C871Tb3x?8-(2FuV8w_5caM-9;QLmp}L?fSc>=O^E{7lTFApKY;TU zz|9e9_ogVAAb{Hxz*sgSfZK`>U>}eG+*`!4a`}=I0o;*@{l4^PJr}HkP7wV&pzK|I z;0%H^S`u3i1x@i2jo8Y-TMvy0w)c&(qw*u)5Ojck<>{v!GyHf4eBcmBycZDNV-UxJx{3f?i|U^=nB8_|5Xs9zhLuiPC! zNUzw1mI(mD`*@7_%XQ4WI`=t_+!xj|Q(ncn{&MdJ1>Iv$UObh1S$90hWI-^jH)>e@ z-|(L;;U2AyEK3jYQk~iuYVUHiz7*g5UmZsOi$>gu_7S*RaACgZd{<1a$$%r%B*}!8 z>zMgm*0Jva{1R`S?x#t^hgv6EhBjEQY(B;R_re-_80$8uDG_e`0<_^#4DF4 z?&{o^pmVj-;~J%hpTMVijU2CDVt2iX=dtxz;>@Wxs~cy#vE%KaSG}eA6gC)J+K%02 zn4jjik`>+x@Iw-Nh_XQ-JPCSQcdz;bRcoK-Jbp>dD_XJ7_I}6fGIES}lC)=C(8^i< z5}j#hpHeNw&O0vYl0e7CI)9}p&!NXYn zSPPCE!Rf$joDMKn(`jseS!4BbeD__k>pC+50qb;(@=>m19<6iV2*+oZF4esr&P5lM z`a*kL_9O!DMGe6ObOsyi4C!@mwq07dH*$v67cO&V>Tk9z;ewgi@8r+KZ)zq!lOIKb zH;bH!Io)`s&V4)F3$IhuZ!JG+?YjO(@V>BC4~a0}`5Im2&AIMdv0FRuF6-7#fT0t) z%tIpYW}v-lV&)P3cQoGbEGO85x~gWg1vGoZRW#%{+GIL*R;E+AD6#6GkV{5cE9U) z^VD;yn0RM+mtSX8x!+O~J`PNuc~$N=)GVr|&o|Wy?we|JPgkb#>pPdU?8Q}$kxjw5 z*+{-baD4OPeh`|*j}j>5yeEAb{dz|q%~6rf!G3ZDRf>SurKXMYHzyMP7)_oKU0 z(ft%fH$btKaEf?NmHVR?7G)l(`@su{@}g>=^Dp9jAy9CpTp;J*^F#j%IQyR;`V-E7 z^s~SBv%mGTzlOADiS}plLHQ%1?fwqG>_Pd>W6u!qpr1b|zj`qw9hCnmz-#>gDHj-^ zzNG`sO+kQi9aEAXZkP14fA_P0h0)EW!TcE?lqFGg@j?093(Fsrzr28AgHoF2x9$Rp zL7`kA=LGar8*r zinJ{cL(%s-vUlztQ7CRjY)r}vh^41u(WgL&g>r$hboAe9wIql|F7JIHmbKEhR~QI4 zoN@wLD+(k&CcO%XV;#lOiC-WN$_2(z?#Ho)_=6{xzsV<#K51K(w!OnpDrm^wxBEn) zxK*(+>0Ll9eHBX&eu7vi7Z^)l0Ki#GF<|97#t=(w+SY`D)KHrpNNp5Id`xNzh@(z% z)bb0&LAk&<)&~HbwD@D?I;Md*>eDuzw*A6T`uqI`_+|r)cUE`Bl=9Z1VFfj}6W&YnirjpPZp^yb5Kq>tN= z@}g>g;_J^6O?Top6xh0H{$`fHh3v0?y}vE=erO}wT$`q+x1ej3Y=fvnHp&Icwj}`I zY>JU=avifFvJFhz4MNR^`JJ}%&2UVp*__%j((JBUX*Q=eN3(%`v@=Tp9s zlI@+gd!_BzP_?mszrB33HzriAwfev|GHq{yUpjl1-#=2#4Yu?$ zZ7*MYPqwjnWYgRJ&Hnji+mAMPzl?1AO1Ax}LpI6<%62pW;2esPY;qlQ7_yB^+e1Um zj`2Gk>zm^+p=NVxk8UH=#`)2DnRaAcv*Up& zZSD~n$qtufCs2oElnaz>Iso9DjFDt=`Ac>rn~=8S)AsmKwHbcD(|t1&6ROr)J-Llc zn?R6ZrcI2ib_NjUq;&R_KQU6x4Yu?$ZM?6&C)@FPWIIz}6Z6Zach0*fWn?>1vg!Tv z$VRz9*)9P9obxe~O)j4TK(^D;wk6c;Qoqw>zR?TQL(S&Yp58{Lo#sdDW!m((W_s7U znUcH z+1Y7(Rw&u6ey7`fb2}!KthM^WHqz{DA`H{){J3Oy0AbF{ISia1N#+JydTDl+FT6BM zaw-uXQT1YXbAEm)^|E*Oyo{9RO3Jy^AtmJkrPM3V!MPVBDdlok6e<4|>Zli;)AF!y z=3_z~=hR-=M(X`5mU@@Rb<_*a&1E?{ULNTfPrU$SMP+hvt`~jNM=$pdm29oPsf~=hHkOe$#+7^t z2y;Wu;o`GICB_$4`JTcjo9gC(<#VkpakxX5^>(i8=XY z{ERmD&WwzANXCWKAtU7iW&9BUaK6DvM!Al802%L3+xtQ#fATv8@4)^AFI2L%`r$S* z^8Q#xJ{VW>S0Id=b69yWQqm2!^fL0k!ZPwV{l6hm{2m>Bvoa>saZc^O+sMcTv5b5&uA^Q9ZJx-{@ySTXct!>w zE1Hpd!?bxazl?gJwEILx#>XY&YSbYkb0z7N0b+YRq|?Bj#-t``F} znR`G>4~m}tF6F)wkAHg?4n9(tdT%XZQZ6veT>$`R2Ze`~%U|ac<|k?UaoV+Aa(^ zA1cmS>GVa!+5H@H;q~o>5$UBDrTlGvzU$jxDHgr8l~^bj7)$Wx(jyfEc>bG9za^G$ z()Q~x5WS)_JCJXpK;q(mT|gY)DURSpr<4nfLoek7XHpP{_l{2U192=)+waqMQ5ecJ zg_4y=i=$B7?_*=KsDN00R4mi^3C4tSfw5fZ$8uH>i(K9SPAosC?N4DK7g3uX$j?zA z@iF? z>Y0_6aV_-^f3&NPWRRglx)RqA8cpXUK#I@M=uwn}~G4rx540uXPG?Eqk|WUjDQsn2`)`9a#; zPW9pC=auUT@geGvjB zOk0y6!%GjTxN6SWcf?ernj38CWm;EXdr!75d1QNDV5$7F{g*bkEF)WY$@T(u z$VRz9+1>>JoYydtO)fXmkZrAc+bh)UJ-^fYzWD$XYBr~~x{XX*%a7K}w5qsf9|B=| z=V(?HX%^440K}85S02ee5>{1y$y#Z1duJqDN0NO^9g$=49n&8v*AI0p^?S7QO?ynJ9{=9?5IRI;^ti#9TH(^y6hi7QzSgc+Q(6Ay`$bb~Fu zjNGKKjI7Xa49PEL58B+p87ViHl$F#WCFKI8tOWp^-WW+K*D+fok&KPhAtU7i zWjq1^aQ4SYM!AkT78#GJw@268qw4LE_4bHR(j#d$$Jd*k>;03vd-Ry!F_8l9(OwR+ zq{&=WILcF#n#@&&BkMCSq4(Y_cLY7=>%m9vf3wK>zH^?38e=E4jkAZgRF(ACzq);X zER@{i>*Y4GQ1QpOS|hzAUahzBd8fk1Nw(wI2-zqXDBEcOfO8^7vdMMKNyv6$y*;7c zPN=uzL(QhC>wwj#bua0Hu)c2hNw*Ut-Qt;Zf}eiM9Cv~z)fnmJj`w8Z1bKdye^NhD zk<0*{NGKN=$u*+K3*r?4R<2`CC6ZI>?aB3aa=o1tMly>wb6U>mpAw5AHtZ)aHSCjf zhJ8}PVQ=SO$H*D>8{p!emVek|)tO;$kytmf5n@p;P^^0Z0OwYW#FEQLpb=|&y`5HX zr`Fpkp;-5;YrbKh9tq}7Lxb?T!cL_)d1NS+cs zzL%>AuyP%9Hj$iFZ_li^XM|xqqkj3qI4cSxp1o)0kK&BnD9%w7&jL;qlnadFZL#An zkl178I_955aZ$a!u-;x!Z_lr{=Y_GnL$mo;y%`&yy)KI4a4&>q_T{$=yl~>P*ZDbV ze4ZCs+q0Kh1Mm6syr}Zmlev2wW&M+o=V+xzP6 zz4i8$T-W(Xj@_-Jw_eZg~_dzs!*zfg1iVyoeIm3Q;j(?XI?24zs zK*+gn{xpbHXVPGvG~AGl(2#P08g2yuIGbRkpOB&v7te(Go@{<5JRHk}hhpUiJ)vS*u|N@R%})>!I#fL;%1! zR*_)ka`TIb-m156*4sD2SSHb6-pyHwy%mMyz6rnV^nSyODwf__QnTLHmqeDg^3J~m zI~5Y{yZO^NR-H-XcO+2@8zB+p0wp>N0C1*ZB#~Ule1Jsn*W33(ea@y9-Tdr*NZI>- zBu+eg-;2iDUsQi6lIO5FBq5q7^_YBaye9ZmOZZ}Up@*McX9qvja6qx^?M1n zfQ=B0a)E-q001~oVI-JbZigY*&-M1Fdi!I&{UKEAMcU9Zw$}JLk}5v7KSg8f{urBs zfAExv9aVl+2rmIk2$Ty9;e7zWd0o`8a=8;m2!GVu-|OvfA^#8jejobgBTRUCi92Bp zOtj0o69(<@!tvkn%S)dMDLB>otDe(JUz+)vzW$D+asTiEgyQ}l)8@CB9^r-J&ppgF zyo(Qi=fAA<1zp^~GMAP9ClSA-4iPCADB{oh-O`rtFcMKN_r)5xFVe(^i~ z>YLv%p@Q5OlY+~-FV>)oBf)*KhS+_v{|PBjuv0^}f~z#-zdhz-c~@IHP@b>9V&e)+ zDBuzg(id=*hP-#lN>)a|P7Rs6WDNvdN*w~O+)${1y#N5G8%6@kbxcnLtZcA78f-;_ zEe~Z}%kR3jZ`Q$tGPYLtZX*#Z2{%l{wc|4O2Ewe>kbUyEcBG#hZ0TiSkC=cJ4Z2e0 zU$-dFBW9I=*UqnEAKKitGAj0xiq+JiBIN?paD4#4Nn@mjDt6>A%8O@r+lO4#4; zH^4U=U_uG!)Hbw{iM4+4-hH!lT*84sn0`4DrXvaC^IHJorC?1=!M=GE)N80sI=_M& z(dPEcC|D;22T_NDlnYdF6ae51$4EiBjv0-DPJ`X4!S2{#cL+t?!SA}GZ+60jBDPlV z)nX?}t!v?*_Y9gB=@6c!1yUK;ImM2_>9Udte)RxVIm? zmxueuB|I1ivtN#c`$rPS^DqGM6x=JO;MhD09wOZR^DB5LZSH;<1^1PLW@Y3-xe?&Yn$Hl}vG>@25JbeEcb98=9r_#keDx>L<(sUYiXiB+2 zO|R7N^6U^sn#$!S2AZDOU{7eU6GB0+^7~!wn`UO~|9(bpo55U$*OMb0=kFn<&|Cpbpt67bx3Z0DyA~ zMzYCu%yeX%)?lYL*eRiGcl-VB@y)%MNVYTEkZoE_wwZC+?gzr0-oSmPm~1m+vISdu zvQ3T2HYJa24+v~#e%a>H=ANFBZH8oXsY5o(1?4=F% zl2Eyq{jRV0=2c9nTx<2LHum7li8I`TuZ}DC8W85HhV0Xgt7FOqTY9_hWxoENikHSz zyd;l`uM7C<{3^adn|oD8#Ve)ao7ABqaV<83k{af?rdIf|LtX@DBjM`5q$$&>4=f2a{1&UqCVDO7c|&M8|)*YqFw#2Yx<@e zCRB7z?bB^!=3~AVUS>WOSF}42=E)pIpNbTXXJ!E63A!LA;-j(hBY6ZZ({DVLU(gh7 z?voiopOB#C)FCM40tHP208TYVg35Kw>j?THo!*d6P1K=EX+D5*85X-lZ<05SiglWwY>ElSGc)kT7 zSsD%2_8;fhXb5d?Yeu7wq|s37(1>z@8jS=1oUJg@NUmePLZdGm>=&U-+xwmV;hRyI zP^Q-EMQ!BLm$6*>HZIc+K$veDvM=9$8_DDbTY9d=XDfjW%^0GwSg(n+pkenO`oLy`9Kd+hC-eK4U&b83HYBbR=R<C`yf zuH0xlHrkaMZHLC-nqCWSrhTIy%@c}dW$y;5_h6UXkvBhO->9*7o@5*sWOx+28Nb<7$>x_YDS+-O$|!#tk`6!61* zN@1=Zg&Cg!I(tF*w?|it%Kpu!F5-LvP;jPPAm^(A0Ow+H#maR|8JxQ}+HQ?@%|_cb zq8#r}n%tN-5s!;6S{T3yk+30KmCTabo3i zX_R;?8*Pt9TM-6(FAeAr8>7l7*!URrh{naOh|2yL^%Cd%fPypS0y#eq060&ID^{*! zYT;bdX!|zW>X7q){eCa_=0!|6!L;)HKJ=GyQ=tah;Ss%GW9*XnOF)>q#_U|}7wO;z zTY9r_-za#uIx1(5?k@|hUt`{@;IGi;*69&UZ>WuAdzCt5qgQ(n;6L^*D+1V zwqB!MH`MGyztcy)X~l$^&8ZzI&6aT+VLd-WZ$UXAuGz;xnEpAM4Tv<0=S~2kNz7e0 zk7S<+Ye0U^*L9q?#LS>1A4TB$c~yRL*4DF9I8!U$$Rq zb2rb(wwYx6jXGqbT%c?#t>Ve{H#m|_E{~HV+wexaRj644XV2@!+hH% zu3bMM%+8J3hqGN`qWN1=F(Z7T?oOU`)MTDT-?1_KS@a!pd*nH)d25dF{$Qh6?2=z{ zOPjlMM)EO|d|m30oN|GZHv<4pe~cuT%dG??-@DQ7)o90tdT-+Q+tfFkVM4vRmC#16 z?(L_Sm#h27^&Sj_*)K=${Ug0ODrAKALE=L1l_T`n6%~3*{rvvqUB~!lXH2LycO2Tt?ZXiv%r4@n1?qNl?cFT*Ft zRX+*{Gbu;)$&u>u4EI6e8Gb^J+!G3u`#6!9oL}zaX>%uKk!GRxo+E9dc{@)ALQ6_=W%Q3k14p6CdK~!=EURC^+EfK?3kOjK)W< zV^$&HPKiQ&iT+-wHz`ym54TfDJF~kE)ts`KXum>lXm3_L?KeOI@HNrJ%5}`@(C*x1 zS8KAXCL;ePTY2Pf_sBEpXT~Q}a69J=)M{aTv%-N|l^XAX)yxMt8e{9~Suf5&CS=v78{N)KxqpfB}pJiIBrRg<^jvMzb!$H0|HZC%SnHmfM>?#r z&v00qSJk|&BK-A214Bu4C3A@U@%lT1~cBqQHMG zEwtD0=@M4@Uu=JqCEpRaYRVre^N z&7({D^AAg5Z?)AtstL-Yil?k4*Z-sKJK&=z`uB5y$gBJmuwf-qCIq-t)VOLQMHCW@ zxS*hbbW}7If}+5|0S2Yms5TS}sDLPzQLy*&T0sy5yI276wKx9HGqZcQdnLDb=bz7q z%+Br1cb;#Z+1c3{(EJ+-6{JRBqCFtD%k#JO1et?1+17y-oo$9}7x6D4y@B#WoGb+B14K;zqVCu^dlP__JNIl z>9f%clt7SUJ+i^9DYC&vM^8Nb2jyi)pna=Do*KH-Si0el(VsXu^aIZR>Eq<^4g@(` zBu-{=`~h%w@`Upsl$V`iNmWhYpGU9#!42%B(;23?p+MdSOrI0e_uep_RqpGFO7+2A>I};a9Iv<=SHZ74@I;ocJD{KM z?JmOOH21K`H>$`tEYi!ko$|fiZoeBr#IU}k`07{gD+gcwOmRnnydQl1K)(JUU+S#S zG3CB<@HP?<$+V!W%=5p3mo`eOyrP8wA`Jm|}T>Ty5k2mCkdQ7u*-3 z5<$amf9YVXf!z)U#x=3*HYr>emHUPQ*F~ndyFfk!T)$Djzk9RWVW>g-)W_G>2d4{+ zuRrfl$UmIwgo$DXF=i2UBKs5 z5MXL9jKo8{47`K+2h0wmBHhd8Ez+t3??x4i<&+i1D>SB8Y#cDA86t);CBFeAcc7QI=3Hm}70NoMSVh1wU2-eSS4@IMfM-SlsUi)p;r-}rAq zwz?UZjywwlkqSvBERoKKNYzQ<2UDUk@o0D}&}{(p*Bv15uRExNh-awQ`tP6p--7;4 zL3}3j`{CjmUNp&mv!H)tt0jb%>xA(Jyf9GDn~k#HNZS(w*MSlUUWI(}Mv-lLNKz?qc`iq0hPd&x3Z&6u% z$-3@=vFZWwn+`qSp;S~6`Duf7zGt1tBJxW`Gemedu}4u>jTc%S?M@X@_ryYAmD53U zcL$3OdT7VvQ{V^GL_FMycxXo9akcb~YH4pQ+>tG5z9L%sQMdFBS~9+%uD^(->!ike zfk*Yc?8DZ)EVHJ#wNS1sToGKtz;%lkS2pf11f2WrY8ZAci8T~Wt}ES$*%r8}eS$Ny zrs&;O4(Pffcsrrp!LGD_S1%*)O{ffo2b-%73vvv<*l5DnG-`PeR?f6jzBXW1#(3Eu z&D>=L;d_HWHOG%XH7~P%#tEUfik_ub4*cFFjPtqz?T2UxqByT>jFGr!_80leeI3eu z?GdRun8I)L@^?1$L$Q#ZjnE5a^};pBDEDQdMWiXb3};J)T0a4;BTcdO)60D&X#I3kl%Vxu!-F=v$>J~=wd^I+ z`o&7rHlx1A2daB*j!|>zrvqtsAU)kkS2K7^_Bb5SiAH(0<5?QV6W7G%l5vuvD zgYh~Xk0cXBUqklB@Aq<|AM1_kgUg#|U>g zdg)X^g`?CYm={O(;v7S@(9FJ}$Mxq%G=o(@vRuijv0A`|)-;^}NAB6@8GI*vu3M1J z+7(@BME;m{Jbtv^5Dzx8d7V87e`38MKHt!9hzA+j0}b_tc(7r;A?|P8I?u=+09~l( z1xqj%PKXBPhS(i!4t4{x0MjTlptG`+tt;?I6BR@rMgpCwtSLS`wU>Y6sn$v=9&I5v zp6d3h&8MO;kGDYUxK6>gcY*=}LLpl1ijS?(;{U7`PmupRwLZ8)p-l&QFL0vap@+!Kn^@h8GQyWH0ou+KI{`(k;b4f_!W_jbh| z!a=!cU98_YoJ-{G;v)z3_*|*Tuivtq1XSmMx0BN54Sb!8|8N#jEQ?&cb@0Mle>ZO( z;^PPP1iWRcICwI68vx!;PMf!Z<-YU5+dv#WQ7jD?Z&_Y=8|3CKD?WZuPr#dgUwR67 zy8yhMk~VKcFbfLahT#2Zu{_o0ZJjq)8ZM57E2-6k=fNUHvtszo2Lg25T;SJd=uKP* zavGqI1oYF=hK_mY(SSb26rGA?agxx-qJ|r!>Wi|b2R~#82(4Qw0o;oLwj3eCk9Ox`SwVAjDIoFIO~^o;)Ns|0fk@N zWuU29XiCkuHRZd}!6fEmSI3Dth1($R6~Xzja9cyuZsRS{Xa+<-!kpKh{pP&(BsPQn z=D=cTXCSn5e5q9&gVZf)4a$|aIJt*5*f&#K%$lM{aW8-OV*dqRyk5-!ieAO?0vOtE z8r5z=(d<#PySNSvhtH5#r3Kj?W`I5MZ0T=K8a>Tl@5G~fxs7kSJ7EMa62H;-1 zg>fM*Z8pF{Di@}2v-7nS=2}u<)+A3uY?}o)z5Hhs`+Is4$vo8eWVxDtBFmLM-7@oN zu}=7Z->Sz5NHJr>3Pt!2L zEO3vsne`MmRZ#I1&@^3bd-2SJUR!F6A~U0kha&dG7#k+nJ8*^@uDh5XhLl-Tj476r z!R21|4u5;>9hRVG3?KU;s&~+o!ROuvdxxn>^bQR-5>J?+-hoU<`dSo8rAXDiIT;WW zBYOwFDKMr`LsPV`>EiIUz3KN3w}Uve#J3LA7PF?f7`?;TVt*j9+o8%Gs3I;amI3q* zv$D`T%*tYfzb1=)G_C_zx_XDP?nw885SNGQk|WlIh3MX4vei5Mz}`VO0PmZXWlUr5 zuna9jD$~+*LQq-(N=WWSLMbqdg+9eHXxl8f>E$0+?7!5LNbW;@PnN6cC$e05sas|- zdxt3VvcPNN2`!c^CtkZ)P*z%vSN{ zHWhDh9k|IAZ?1FuPJNcRK2#T^NRg*J&A;`^$@O<|60#cv$DoCs?YjCxSyjm zedv5{7N4Wy#ptxE2K3Q@p89u|3pmYtQHi|RHjIbp z3}Z_YPGO64?MhJA9jXt3P3b=50rnxKa%@TXY4g&OI8U3pVK9fcDE8Clr6JM|XSjrV zx+E5}o*&K>v%o#hX4aDz=uj3teHLYQ7F}&^@l05UvdhTKWhLo8Z7M@M26g~*I0^|3 zjaeKTS|aPg<)bvTCunGDd2--zUG``sxL+T9HA_#G&I;buybv#Rd;ogpGUJC?}L)i4_ZE6x15QD>@aJJ+7fxKiyf_$hQ2rmv?a3Zi0ryp zR+F4JchIQXTd0^d#rP6A$42!`Sjd7mjq6LY=apn%PfyLVYGoruwi6O@1M7wrP#=6P zD{pc4y_sG3f-R$ff2oHqtSWCP3B7ismawF55#K)t{J5*$U8=VvbJ{3dpeAcPPd1!u9{ zG}|n&Q2D~BiZ!amK!p{5kjwlMwGyv{zvIlw5{J1YrJZNa5zy*IXh@kgMO}%!H3r19aMKO()(}K` zUo^ztsA1ejh_|HNY$fOYbZW?`kly!J~Ou5>T*gz80r<{T6jSJ-8BK#M5S4@K0P(sOyy zB>OIym$8gOS(ds`27nft?~jB+Vb&y$TT+S|II>Qzd|6Cz&P-&S}S7(BgjRl1`bxFAFoG%5(o|_2S}MU z#Z@Kpew&l$InJ4sc$|aEBT-qc!{TRBSU>atp^n0jfcik1P%-+NSt3{27WEQQJ(w63 zJ49UxWZcpN&E3)?qf49(op!+*Qo(ss6VCtJER z^_D)>Eq!9O#4J7@LQBhg`0uh?`iw2z!8u@dnA4qhn&AcVZ@ww zvgmB@WEuDMz>iXD2;F=xug=|XxVc*6#DF5)o!@yt*$`Fg9 zBB0APw(AbXJrzQS@uErgKRvh__E)rh50<@QyBI~b?a3KEqke2Ge`b?yi}v-%&gjVo zhg%JfKL_dji10b~QX7yqEg(!POuLx>pekQf5uDUr*V>1&Lj8!(Su^CZnck6p42Vel=PW zZ_A!B{KB)qy7esg9a-)>0vL}p#bLc=R&TtOrO5U&#vj^Shr8C|si--Y%~5kKx-K3p zx2QRmn?rLfKFqO*y`}Qd-u1yBN&Kd4PQPHHAaK*6&;WXe#LGY$Y%bn&to@?zNHyqj zE&+)or&OUPFr93Ow!LB7j@g)_j2p`!^&897OpGoHOWBf=rBM3EmHUo?^p7*e5xwP2 zWtQ|m$cFR}x1@ipC+X|DailK~hv=WkOij>E%83MhToQtI(v1>y8{=jQ`erR?T{KeA zo}a4x3& zM~llWJo;xH3m1{;MPNE=vMdRo2D8Au#AX(V6L-Hl6h+S;MZ3ACs|_ulIq3PLrDSGl zS-SH_bQA1j!1cb^$Kdud`4BkUl#Mv@4c+9nG99G4!h@9cS#MUp%^uTeWA^4O_nQ@6 z7w9)-^UVqz4Uy>E?2N!?P$z@bZDp~86dnbz!y{&jH)lb*$u$(mc(|M@i*H#@i13=m z#2qn(trVmJl#>PV05`pI1gH~@wUqi=?Kiq8{AN?OW0abNDV6)Mpqv{w7#NwB$%k#p ze@DsRVM+dEPmaAsa~v*-1G{$fp>OP{@yHA?u=%LQXC? zttyj`+OqwMvR&sPINfPi0_&Tyxgg_Hn6r98`YHR>Qn}6%oF0!CoOHuF3fYs}kB3M* z9 zZ@I`hFYNhUDS~CnpQy^@!kfuJI0~{*Lw= zT@-$^E9Kx6-dW_CGWo78`Dv8=)0X51c#^!X8%Of;X%E3ETF6eCiG+M!QbKl8juP_u z#(Na|X@zK7uStX&DL?^40(H#<1}ri0V_j^MN@UU1S4 zyMxoF5NStn+DN81rXQSu`$L;qAWl6vMH_^stBow4LFnMLnaphdSAtV`UzKfTayK{& zc0zDkNEg{^xyWTPTx5Eu$dQw-3-rNGu}4l@QwmNEHxy4yc5u2p(r-vEZg6t4AijwR zP8G%;N_~&^8(kEB6LcPEpVY_+Uo%=ezHBd(KiHCAM9F__Nxs^X}?4%qe%S75)Q2OOA5$N@Amw)?ruef={$F2w=*~d(AXWN@dVg#{hLFxK&G$Q|kIubqpHB2+1 z@X1M1!gnH$7Ct}IFYp;J5=5{>1+%;D zVAfs-vzC3sb5w`+jWb838-|HF);Jw%maq7V=+AuU- zZEW!jLkF|N$;{z>|BX4Sz&$VtxXf}SbRA}~M|fY^1zfISFngXVJ+iO$4)Jc>k1@5o zx>H0ru>0QpHm0Z!D>3U~m-j9e-pS1Ujlk5oW%K`pzl%(rFz3}v0?A*dZ| zSAqc6sG#%!_jwlg;a$oit%>+8 zoyIhJvD4~K?umF^AKbj8f*PC<6Y*O*Wdu%wdN~na1P_Y!wlFkDytp!N?+O6*2qWHh+%8wCEWL<5nVryMx+6CI7Vn5h3}-9Q268|Dd9V*M+^TIkTcGv z@Xyx5*To}+pIk6ItFJuAmh(o+x!glAJJqfP5xk^=**kVHJ4Xkzaz`*bH(oH)4a3A7 zBeZivq#ePmADQl#elP=W(`FWky#_NcUa9G7V~b}PI+*n*GyVUaVD>Rg0xq)^30;R- zQw;1YF9ny|7|ixirRUqOvkmuSxX#w7V5aMXn{9D|+4=CEseAd6}(|AE=Q*wnje1 zeNP(E_2Xzn4uU!o1+!@3J832qJ~>HB_)hB4!v7rPjLRwf%eC-z@krq(7tF@?m6f)f zzo(olJOr}~?Me{AHWkdiwu9MN9n2~m!K^x7Fw+fpaRsyL5NSs+t0L1?=?635uCbW~ z;?#p#v|(tv+SuY5h7M-6WTy7t31+{;B;Yc?BBARri{IC!eoQ@>{R5)V#9v6L5oWP6y|28^*2pYse0gA2Xe+73V)6kzAhdq{N#e!tiE!dE$8W!^IQ+XY?56GBKT1Sv%l?N zHdzO=xsG6VeY{|%8}8x?X4i*EJA&DKGCe>2UcK49Ff?6lZ1D_32eTW= z%#HDanP=_Yem;DKU+Ey>H&1jOX0Z$CKzZK46~Wn^5zMZmO8X2La7 z5JgR1q>?7~iuxSh9WhW29|+J50?%d1k#pG8RuKSPc$!@gzs7Y^cQ(St>T-BHX%VcGGJ*j~NKJzP>X)0ML8dFK;d_qBa+! zHBkpQQ5BnEGkjFkG9=#r$Pr;EJzeE-hR8LYdv@brV=x`#WI%x(4^H2XPXi?oJOv5u zm|1KH1Unu#(0}Pb|0M(c7kjeiVpfzF4_q;AdD||OixN(|qDcegr7?bFTl`j)>FG!j zsT9Xm1K~s)$Y@632J|0toK+d0hiHq}hqT%axqmJzU`>lqPaX3%@L1Tub)cnwuZ?Wr zlGqK{pyM`BJ5Xz70GljR-@sl@)pQ3pDrWWMMU(7Fh*{BsXITM^%$1QXG${IpTDUTfXwI@l(?^TuDu#1glQ0>lrRbooBwEVS zcx+2x>|tJ+sI_HxBxSb%KD?MPN5zueg3iVmBKuV%!*zknn(~xXBGZSOjsvnwZDc&RRCEF)SbtzC zWpybK-O?F$2I;}h79h0Xrg0eoS;v^-Iz>P&CgliQLp&OQ?o` ztm8Rxog$!2GzU8BG)|<$kMEz<4(? zE>l`u1});AQAdnzQ5!$s_Q={CQYfa~WhM>T^s=#}y!22lh z0Ses0{%0TWqFWSCT5h@#cgni(Rz?B;x=QtgS-sx541XW)T$Wcq>%q>Y76^2xt2!HR zV}J8NGoXWb-X4<9bD9#) zN(2x`;7N*r0%|-|3kY1j+nI}dpJy2c_2(%Ij)en(h1@ANBV#``JXTTNHx!T#LKEQC zH#BWtTY?e@wjhs4nKi`{@Va=gzsXQ9?6yJ`T1Atg9;{-2i)pYM!z!BbF04W>9t`eX z5@-@>8+O@PwxOYD+t`otIs_OYul>@OR~t|Q!Q&_=q|D+g(xJWlFMARe_bw8z4i!(w zF?)U&&3%o;YeU8Q2FkQ!nb(KP*M`zrvy~I{mt-wjRN}J(%E>0`sKb#(C;hh>o?|(JX@jPkB0j9 zTx1RTxfPG-IZW=k2wxm^0keTF41^22Fc9K8aKzy#@X=7X_RU?&@@Dng2hh4OKnJ=Q zKU@UR+@1%Zah+;B=YBgNWbe(Rw%-wbhV}BFHO&9cFbga<))5B{m+uU#4=y3tB?{~V z3M{SzT?qE9VF3GSyRy7j7tdPUrPL}7v`e}e?+!yF+?NMvah)n!ZomUV+>nQ^!>lP< z4)5h}G2Fj>xP{ilui}g0a{KW5;A)~>toDY zV;+FTb*f;w;|>U^&3lkCYl?3HcIR;ai6bnq+-XOgHbR~_qCWT{!M>=#Zc<=z9XOw0 zcM_~6+82OUmj>DwyBH^p0CBZX4~}OUkuuttyYrkrqL;s9gnyZhR_(mAa)ew4v|EUF zi$eRoLW}Fbr_P>a|51-0Cx2V|6exPkrZu{ zk@7Eq-9xZ@6xeBgx)`nl(+PGp!CIo-4Yay6(C+DC{7tmhUOc!?742AU2xDjfAjqsK z_8-~H-*lvZ_ejeSE+*QaM#|kI>w`1=Ks&?FfUroR#dTmY(Ka0!5^d05Y83|98Gd8W zNYK6nRA9BZP8ICspa4SS2ofo?ruZFTe;w&RW0VE90>6sVQSyvY*o~85mnyIiDzLZ? ztRmQ73Dy$r5}?(kfp#ela2o~Ul^_GOxK0&q4Jd$6HBlmE))Z%t>gDe{%74OW3vDfa z6{n1rCycHSt|8hr3hna>Ev^GE5N+R4AE~0DH%1|1KNs4E!qoH(Krj z*liT;HYM8K3M{SzdkFRphiJD#w7N9VZu1+viFPK)04=V=Xgz;m_6sTS#R@iicxa6L zU<~$4_ruTk`4hej#NLjab81Nj`7*`WI0i5_+C=accCSCiU_Lo$d<6q&508;-DZ%w-6TSdvbSVX9P4Vg&x!K102gK-q zB@tF7Le2&oTL^N?m>6P94p?6etjq$&tSMd}BR>MLKdIlp2<$aaz|KZx?z^dXxZH}< zs{-Zt2|%}|5AOR+h?H4Vyg5d0a{+zB6HpVC!yANtOrZVo6M%jk3#ey9{Fy%T zAzj!MCykT6$E^rX&w&i*!4MNzVM`n>9<}Asw48{=CKgG&E1#aj$7YY)N;gagFXtNg zVRYsdkA;6H@H>hzA{v*55BD6a+wHT!0R8JyAAd= z-Y4ew?G}Lfp0qKaQ|>E=pwBVI>I%6rN#y;EO+>V*A{}R?l1tbt51@3C#D5<3&KUanx;+|U`7zdF111c?K@woRq zuwkqWEYNUoMndkHHN~z9d7z8??<@S@dE$N{>Z5K1+uu3aUgR!f@%z1-U%o{$nv>t= zl`%A&9FNOE47}Ziggi29iXSWF|JgixHE@25jaqK*T$atRxg8}MHtBm&*f@wx9+W$b-S;+w|ghJbE!d6-KT4;MS1)Zp+CFz4}+L%3D;TDSieF>@CvA zzFK2nMa&?~ERJlikS%TO?|Q_(1~pO3#!m5noP*8yU&+B!!O9$?6>&d=LcrZBecX?N z5(us%UZl*L;+G0}sEzx5hK@rjt(n2caDQxzwH0LTPz4fd0c%#g>&JM9;{(sUHYu6uYLlt7T5iBiYRn&QYxSqu(#(67Gm z$iaS?tN?*mK>(HOgS$fR71293)dgR37qmjj{jqz;H&ECpVJIoFp`m}+k$&&^4hRGF zTS&-0v)C7*Ql4(J|2a+k=t}=ll^%xH0ZRz~1sRZV3qc-L>F6CTDZK42Y4sLIqv|U; zq2BRb6f(Mz`))R}c-$vvzSftZ{KAvm>n}k&RLbry?%P-T+j-)i-$tTt1l#SLZ0~Rv zvG{H8=Jyj6GJ25T9+67t9_j;^niJ#8Mn8u<69iCS*%T)pEicZr5g zdN&FiXOPJ=(r0onh=I8ukdR4cP0_hh_5zb%(u=?H=*2&xCTihO^N{;S^^RvU0{ssK zf&I+%vHt=}Aow#eBW2bUT`J{SHukSQV*eF2QOm|o@wfUiosCVoG zit&0!>t2H1QJ2!aV;LpI5Az@?T&LPQX6Q)I&tWJbW=)Y(DbKbg^o>W&`cRYRe6}q& zw*(x$V>yvGLUAB3PhZCeY7Pz{au8a~d2egs8bk3cMAn?7r3J7&R5rpCUR4uppxT>5Hf(D1l%LiUujO zrWgwmjjr^M@+6{Gs4}+WV@gJ&;_&VAjP*HMSf|4LFltvDN16|>_<5}%1(__)^c_jUx=DpF0{)~ zW%n)1*{4%P>J!XH+0)Y(QF|>Seu7CmWY!dmA)y)PW*0E42ex(Sa8#YgBrb z3&Pjd#O)F?z%MkR<0a`cz{LU}$nQ4EfLc2sR)c{DEBz06Vt~sA5Z^QdHDusHr9Lq5 zWR83wih(s`fGZ5Zz?$?KQ0oG)j^AQ{SyQ|S2A;3r~<##8mJ=!uZKa)*TUBp18KfQS!U@sckVGLR@x9GGK6-vQXK$sJ7zpgj;iorG=IAe$ zf1n(!HBCRHFNc_Gnq-Ci&6dLxl*2ET{+~U`fywCO#Pm|6b1q|2%e9Grq8S?ey)%iRo3f<_b7#Zo+0fcI~1)!ci_Cb8MH)-3jd_~{TzT(5WiNFQG0blV|rTxZfC@6v8 z5K09pv!+;9(aYbs%D-QgmxkKP;Q_b~^dal+*Nuci^(NYW=(MqxIMVa z-_jGem!b;ed`oa^TP7Ue9p_`}_TXsUGU{tW+LBw5+i_?C+_p-e+X_$u!OO`dQf5uD z0^A-}4(?nUS0)1 zpOc%xFUaQPa;fOdT)6x6b{T=0@b+8y4z`MAw&kd(cN`?DItF*t>%wvw1^nx(Lb7jl zz=!11+ZmlHx2u5=a_gMF+-89i2+l-8xiO0`%By4ma+{wEMsCQ3+{Sy7+cl`1oZO~+ zkXz7}8wQEvA-CPuq`zaHI8ttQ6{p;$QEv4>2)Rv5Uv4*m5(r*Tc_C%i6xUSs^3SUB z&#dy_W((|;QZcIvONwH?zJ)RUr&KS6zflqR%PKuz9jLUNFMGK?%yPc$J^3k~HWRqX zYVl^IVt|YKD;?Rzyx1`#a3(5<^%NYI)uQ!hGc&Mq^I4p4sNNWJRn7v`R~x}B;zg6} zr>gol7G*AauZHNIMS8zfh?!*NZPlOQ1vwhyD{hk(uIN6=7DF$w@%q~Rb38F{x536R z@h`J1d_#ThdJ^Me^4JPzHbU*&srCi*D%EI5BAQi&T6cGJye`)z<2J;%>P?3Fd_8TN zh(&m1emiYr2^z!j;Z98Hm%>KyTlnQbaxb3m03{H-6$v%QtSPRok{jSti|A9U=u@++ z{Pk7V`hwd~1SbiEBM#P6VOQ;ixskhSYZB1qA{AwD-~i;oUA2o2Bl<=#!Jd|cmOw3v zAYV+LPCmH`Hj_KCsGs>t^K_-QTX^#=%5rsXs0_y8Y7N5XKGy9#mIC#I2A!Jb9yawkYl} z8Dk^yhGh%Fv38}`8;RTINyRErh7TTYOtKMQ5wM6}vG3HLSWMQOEB0>(ImDOb2;2qriXZ#jvZ86`7g>#~p}QZ|(aGF!gUfzVl zYQWF6|;o%4`xmAS(R*V>*IauHwM-fl@&?MsMBjlF{$MZ}1DKr*w zbdB39?W$h9(k^RxaDO(KyM92UoWD{>PR`F)lDyDI;;wjy6fDNl;jRN^Qy)E^uZFA~V_p}hwC1G}o1IAE7`$AP2b zn$C9))A=?{({T!-VbigD5o#hy^Kmv3Z9cDppm8+K=V)y{x_G4dB=L9#dwByyk-UzC z=EJNhc2~(`VLmT%fd3NA$IGjUH&HXpZhi2>h;e`G(5xmeKp(+77sKt%xtM#z3NYii zYPA0rsDQ!az+md%W*=37N3p-FWTx!`Z_)+YR3~IZ?6E6B#cS1b=ganU=ga!JvrTpQ zxwCC`oaav6u=}~QZMB6*{|ugk&5h%!&EsP+o5Tnm%mQ~in^_=EtT1XS!_z~JrmG`B zJj2(|o$bj?`|5w?x$_I!Ay&Os%kJRoBO2l-UiiYt(aH#|htHRD#x&ZJdv}i8_B2Vb z^pSe_FpZZyUTwKIz|sFtcQ*zx>>}Mk8;yd?xXBDY%hgepI#Dz|%4C2D>L3ZfTf5Zb}v3`U9X@jIZO5zBFs3x9hw)ZG?T zW=)Y_Ezh!{?qKN1tM;E+ZB3{CfFkJlu%RQY}ku&-#=+_VExN z3+ze&{E-Tea7sNb_lXXVeH`JjZ*+Ln-!bck-Qlrsh_qu`u8am+7E8;?g-75%+h*2N z7*X!%DF$e|I+nzX0XjUElbP~=Cp`X6J2geWYB?Hw?W9lb_Tp0rsLrtV1^Vc(bGJmy z&1sTgX{QR0R51fcMqsNI9=GI*f+Xq0F&Ko$ExA$Qu`w}41nqEubixxCMFz+}AsNM@ zno;967h@vGMTE%F@Z%pDB7f8&az8sn{sl_L7%FXy4w1THgvg!ghsb>(4nO{fdPK^s zDbB5yW1-IPsLt=bs1r3axEu2&t`K=KBZN=yvV3tY=Sd<`fKn4sLedxsp)zZV{?&4v z4Rsg8hgt2v)DDqq*LP_$^idVQHbs@ytlHEfu|HCV&`aZl&}xev7|pZMAye1Fy#_<3 zE~P`}WfTavpjYoCx$%7eCPr0twnoLR<%#Ye4}hIm});TqFUD4A!H8~S>vG} z7+_a|7IvzB0MSSH1G{xUP~+$aCdBIpbi?j`U_ywrqaPSgFB~7sl#}ZRfV<9S)>FJx zQO8rT({y#vj2G;5KQNKZO#FBHfx~FKI3})I&Iez=FmU|sC2+(TCjT56aV?Ty>6c`N z$qmziXp$HvN6`xR0-9e9PRx$%1$df5L@&_DNi3odm=BMhmIoi5mZyfv``dj0k6JTZjrkGSMZ-6R)rz-#OqDs`{kqzP|S08XAL*B9Y z9nf!#1ltfIQf5tYb+uezL;aJXA(%*}Qu9B*5*U#vZy7OL0OXj&5j`cJ6Ev5br zlnOx!NdXcHk6BYpsg`%xmi!kjd2+S?_Qd@l>hmBEac8yY2rI*kN?=zD3;`yGANs8`VmgU5u{82_NH+dLQ1^yNkoC$ON5h!J;G#%P z0)oWC|78?p5ojxG;u#;XrhBThb>oKB_$i(mkF~-fZu{(Rt&y@9e~!+ zH>yAc?5vBWo8(xj1tk!yAqz;EHN^woSQ(GP5v)W!z$zt)^TGRt9Rxk|HtUOItCV>c8 zc{(jtUI3+b<-WFHp&d3nufdrDHF`#`y(vp-V9v@vGK>1xphyRCYK@Ko2Lh75uYww) zxIpOYUxVZOR4ujfRkxaQUlt%DO`%^Rv`*!|Y_!|S6axY6yc+)i3teYZ4sf6wTBEb_ zJpPzjG?Zw&xY4TeHd;T>4kcRkt3o>nXmfxTX^LnI%6<80w*UwA0qyV_|F9bWMHb*f zF{(x^w~mKuN$Cx*Vfcf)1)IxZHT5&*W2B8g@*?~`m!s~vc^FioOT?fGe<9+oP>`cP z9aZD%Fq>q`h+lj?x?^<6PDe2~5)7UI29c)7U{Sg6BrsTHic7)ZB^GNZyI_eAtUmuR zGI>eO?51<_u)1_kp4xazBN+!I29O|45y@%gzEgqZG*eUpNkxtSatlnc8_X69%n<}r z0m=SEiT~7GULF%z6@Zlh7}6AhbuagI1F-I<7!P2zHU1h4SPwU_Jr=NI2&|S?OGU{V zKwL`YFLlam0$}w7ETk#II0xHxWp##L<8?^4^*i!F73<6L~5Rk53CN zSZep%a^DrWT_0SZr#C#G9(<^|Iw7I}pAqrlmYdPK3vny4`}5>Ng}i{~hjNpQ`v~|x zyD`kAt;6II*{<$;%?`#GkXDvq>9fTz(8 z!UZ)`d0~$t?*Z_Rf!6&PXc;TX-pZPE-l9`4YHMR8(?J?|R2D}X*2o83Z0aw(W}pym zxS3JMV%XZ@M#jd2g!W*{rV_XTL;z*J1&LWxtf`St1JW}zo0n-et8KGcri)*X1VykW zGoI<(8M7cIy);j*M$IL81^h!%--xotGi2l$yJ48nGbx);?7fa3s*%syOg-n#oB|7h z%tSReqspY7r%44Cp@7(1tsgATqFIFtYi40q_E3bpE=C2I)$=r~=g9JN>6_Ippb64T z2^J}{rdV4eUvROj&FWU%#0@t?F0;A~C5#sd?Zwp1O6^K)ikEBTc7S-DhV(9Fu0ec& zCIED!PB!U;y9}da)*~s^`)&u!t;)bC%57FZOesFdvUk>qPijE;@jPpC=OoCVOJZ8^ zOQA9ZKitP;$GSXzZG`ZLN7D6pBt3y@a?`#)&*A+DJkE*;JzBjdq8|3p1r2-<2oT)G z7$ap3m}6lM{nY1a4(ctq_ac#FP|Ql)@>s|k@hOo%Z6X8arr%J8TO=M0h>*i0~MQg0|YY87Z@-c%?>u=CV#I z5U*Y0e#C~FkCO#h-WLfh?~AyW_nFJ8qb$!+F|Or3K@c#aFB2HimvN0K3?fRKG$KdE zxJD!iVw%%L8X!u=a!+Wb*w3lh&(n{48$b|rxdk-i9*HH2mlDx^1iyDWAi$^mLfZRUYZC>FD zF)?r(ZR0yi>ATdW#9gS-IJd2)l$bSP6uta!+E(-qej1zcMvZ(E>;{|XF)Sejt8Luh z&C~I=ALA_z=3NxV%fks7-SEfwo(A$BegZ~Zhe!8GXcF&4?yQkNKxt}FkG`*$e|Js7 zp)n(y>ab471vBb(x!hfYo|3(#ihODoN0Y{zf_3PyjJ=fS-ZWhmm}QOp5t!A861`q8 z|DKdF?}^5&NdxmU#QZ;E{$DK2o}Z$g$7sDhU>{H`vud%uI>#^Ha{Q90hp>w4=cyIJ zKl1R(Yz_yx0(WpSr8Qi}LV(bf>yW9KrJ7~U3jW+&*--)Ph=Y$Tqhl?&>}cad@3QtL9ADCc01r1?>wMDJ$V)OAA&FVZc7Y5<>0rm$J4Fns6lHE&+WFVl{vOdc2OoR zy~w18$Yecg7ryX|8j}7A#nwTwvZeYRgWT`bTb}RojNDp1>zf-(nMncfgGpN`vyUlS z*UCH__zwhrgcsnY;-p$_Zqo_%2$v%N;K)3X54vvORKLxX^?+E06#5l z;Nj`pqibccEq@gZ)x+HRilbsBK+TcE<4^8Jj~^(C9k1RPLiHvdknbS4emA&2Udrep zlX~-_soC7l)j?Fhh(VnT0K=^=yQDjm#wr!V-7YjrsN#~^R61n3*09iI?y+5G4n$p)8{1{Jq7{>&g<25Zl zW9kV&V*vjZ0ffrppn+Oh0Sl_nM}(P|?5Kh#* znNdmDm3A}ea_jTc9fkz%(+KXdSYg%_=hwV-mIr;r|1D{F1H4aa-y@GFe%s#Y$CVX6@nq~FVbmzRN{n);yo-KBgBnuGgU8lMf#fo9?{ z7M2T7(1uWI(Lo0=Ki{~!7U(#q0(S3CI|8di$Uu)s^(6>>AkTz z6<;~WA5NBZ19;E#}m_B+=V7f4wILwxNnxA0ce9A>s#pwD2-k)yi_<`B<)!0S1n(r`hl%)?#E7jLI%;B0Iv;!YowF(*@x8tH$$A!% zjQ+pWS`*uinyY1QqsF5ujt0obT;!ekd;z>#_4Z3J+FOkZTq};%fgseu7&jg~j$;Lu z#YpY7tiA^ z!p|%Bl_FTaukqf?>M96o&9U{UCg|GoJ7Z{bqRyjVEhZJHu0gH%%=>${!gNGg) z(*qQ#!gL}QW$HO3zON>xss=HsQL^rDtH)#h8sLzo@c2$}24=AV&M?KkT3Kg{y z9N?~s+_f8Gc+l?Q?J@I z)d3{UJ>U@&p^hig*OMOs1{5G3?QeyWy#36{G;GMC`Pw()YYEt&Vc8P%l-d|?w{FEyr7 zG=q!b9b4FuZ&6}HeAMH{2dI2?BI6SH$T+aIByArFtZ9Uyh$*Tk$S!p&f?KKP&nz`t zzt}zZuk5+c`jI_%U@dBiqaAB8#a|?Vr#kl5TUBqpOF6?z^wzrw9QNeSz3@0IPOU8M@tLX z*~A(RQyyIt%HwrlGESg8PN+*Y4h9-ER&v;9$$?o@%%31DY&m>SIn0~jpKFVvu`2SL zQ`|g3*4g?-EU{Myx5iEKR2PRQjPzFK850TYNE8JyT&Fk`4IBdsAapbV zA!QbyO-zti*ueJC5EoAHFR%^qSQHUmtT5jJP9+yY(bl(lo)kU2PA;%*@|KW)9_`6L zuZSa*0ih1E4e%LP(m$_ET`X-u1mZZJ;y}tQzEqeXC)r}zOR+4rWzr7!MUEvCE`#?X z2e}wRSXuz&@k5g8^4o*DaTPhbDs_%Jg9te3L{5-0YtqWDwmDK3=%JhMf|{ts(Te>H z@++S~Fjmo)IhmH}M=1cFoPL+l4U|CebOJ`oEIy^HlXC!kMFB$j%7T#VbjMBHs1H6^ zU}IZVfVcX$MlBOjBf+^u+5>ff6xU%NN^S&I3JM_9o5+wdi(p|CK4^5 zvvdu6%=k3x;)%=Zz@FzokVF0T`63uy7DLAkYUs!sYO9o&S%J?x>+!t9L28)%IXErl z8Is3v73BZKL)Rx3`LjOC=kPDGY-nW48jAd97I{=q+tb{r#n1-{YS#y!RXR{FpfO{Y z;amQ*rAr$gKrK;HnV68TcsSX*%_b`DLP?tIk53 z^5G11_>$tUeElUwe}c=xgsi)e8KTjV}SuW8+nM4sA&Dj!KdG>-u_z#ol- zY%ptzg>~{xTcs-SX&)PF6}ki|wfEn++Iusu_8fKMY41{yNBgneD71u_(Ptb=DpAlU zE+Z;DA%<&)9LgQAa9dAo7_|7?@Uy)XN!i;ww70pa1eCZ=scXZ`2Kt$e0OWn{Pxo?O=IS(E zJ^Keo)-Nd{=IStAh|`}oQPi92;_SkmL=*x;m(eoChpC#+$_2A#Zssd+FVQ%LCUNtKB|+yf{_o%$j4qHC&w4MhPUxW zWLfAa(fA@4$VfbQ?FGLe1h9zJhjNlmAMB@tzic9ChO$GS*C;w&L z8~lQj!(uuNf4F$*S~dLPOMSZdEvRbzM*aP!hbEc^h9)1RKQy@$#L>nwB-AIfIDD#3 z{_fJJ4x4x3rh8?U__NNrDvN0EW+9AU{!TD{`8)3T<@b<0T|FkoFOE8K$1nFP4qWRa z!UV%Ip9MjO7m>+7>+bEfD1QL|lod7O7yE(xNC@c)rjSQ$CEIJ{4-9iXbNw5r~Z zG;U3H0KS9qhf;e0CHptS#e=-q-#Bn$wkEa8BDESRPKLwLiX9)yZ9NfE|5A-Ma6lZ4 z2G@b-k3flKJgu20RgXm^My&WPrv>Ime#=ou`ZQrR+{7?!bB;cuTAkO(fjp?H(9#cY znNP=%Q#7B5V&4`x8VsHCr@pvdqY(GsKl{Lm{hI>#L(K1oi?zIHV*F=fwwB|=$WxAw zFwJf{F|I&tQD$To?LQF})>#!FMaltYSOuZ}&^^HX+a6$|@?)q3IX0b`y}!oy1b%Rk zaF3*vF6>dJj3^oM(^>FS%Tfw#=X{dwa8UD~iE2Rm6!L0_`Uf5M4`*+eMCSkoo(3T# z8<0?X%$nkpI(g(oE6{HD5@=EL8PtsM+M{U*p|zB>zvoy8BcWp_#v8{TInj0imsesO z>!=fNB=mwp?{dm8y|_+!^hAeKwpX6@A_)QSOH3gP8@ zl&_+sa?00uvA>ZuF zzY`rPpCpc&nD*29c2I=;KSn}5Fl&lW>!jcIJT=78UE&Vh6uDth)0aNADt^X$@Tt7G zKIISDZ=_E->csP@&p{rTVtatnO$)1Y`GSDr77bZao1y|`Nncv{zaoCkn^FOJ`#Pdg zmzpuYQA@S+t?&|OOcOGLogk+Aj&FFeUv|O7{y5JQxGH3HtPNaJD;FPdZ*!orN4iLjKMiH;|c~&S)7|Q1 zSKC5%a5TTueqPGNeNi+Kx2Y^h1-JF{(nWk;+KHis>v`z}#*5=o2`F)$>hsdxDtRgZ zsdHq1BA}BeCVadQ^E@2Hs;T11LZ2@CvzqYW>9Wf(1W}_1YoE~DvB7`z;j|}14EEVn z7-QU?tHvK54}o>Ijjk%z>BShP^AOm`Q-Knl{OY6}aXOfB8V%+&gceK;>T(!;uZ^`w zc@j@kcmkYPC5xdVb+S0b*voHtP*EEXhmC8hP?0`t{1>Gn9yWd=4jXr>XkE;+$_=RK zS56%MTEN%+>pEey==CgaXVcJ7{Ij?t71Zzn+)lC)2XI?5mY8Ugt{!zy3|CW%SGwyvQ1xkI&`_F6C51!?&UwlgD#&HPGu~`*;P?z6I)cF%Qc<& zw)oceY7)MEM&R$3Ze9M_E>`tZpv&K=%iokP|7=HH{?bmokYv-)<*)5H-8>5b)TDIN zR-8H}u_$MYW`lg{{g1VjG(RG%FNUJ?+GiB-Z>iCZ%IT(+qswsyzEe7V`svt$El_lT z>eEj`!ideRDc+uBzves{d3Kq4Z-{O905D+SCt$&KIR1L>B~+WIfdUAf%C?X)Yl?S5 zZ5AWXHr0;#>ci8I*=`AbM!UF9wcYNZ07Bi^9#Upa@$MwKeG)c7VE6MEtkasx>w%l% z!2R@_@~NDBR-Z2`I6DZZCkg-#u2Y5cV{-*(FA~CG7Mng^g-su?@=w3Y!tp=+TFCW} zYHo|OBBwJ)qfsyT`R>CvpgzOi93x}=Ez=LbRm{2yR(Y2|)oF)t9tCfHXJ!1S~0`Q#4{_7_DueD*T zZKvcM1*&L1<*#?3Li#xBh-s6xGaQBuG30eh+ykgjd2RR_g1|Hj7ziA}QkocepTUzY z@E50?&>ri9i^=T`nYcAw-I|`MH!hw>mY+a#>IsmWF+qj%p+axXKi(3}-+<5KNP(Fu*LSh!%X+oekPWIn0*?+w)Q1wBayip5u!Q=?p=-(q{!*3LS z!dF*%1+K4s(E_Ciek;ee_@$fZY$@Uxir6Bfj0|1btW0@B*vr%c-s|0YE$5pl=hs0^ z$@xuQG|65-InTAI9~Y($)y=i(YL#o6>e@k%-@ZYzpdB_<&%?g9K-9Y2cR1K=jW9Sx z-Y{iFa9Sav^7VxnGX$sTFj7$NI|8?$dgy%Y?*^H^ntmEWji=&^ zD}s2AGF@%Sw6~~lWZlwG?hU@cLR*x@J`an1P0x($!6?5UeyUK+j;@1{^-3X!yKkbV z8t%Ty;n850=ezkb@urP|4K>3emaS}Pr)uaUH1rwEW6!Deg<@lLQPAI}=(B>Nzf;j? zd909e5$98lN8-9@0^(mf;dBJ?ABg;Kg?tZ?|7s!MP$+gs7X|UX3OOq%DoXuIvqu5jD6Q~VEEp4*?EtM4Y~xsi3Chz33Pd^%USQbNy-EZVT5-Naib zvZ63?T{Ho4I9IqvLeGsX3gQVoH(aAAk>^GhO+efw^MsxoChpa9!!@)!HV}#J85K+qHN_)SWDDDeAM`Q;Q;((WVs$m`+*mDF2)W00RIaqqwa{^f zYiUo7r!7b#X03+(%25klUAQgnTk&is_hLhuB2IiC$*q&dW82y( z@;DpkTH-v`!Z|@63!FD}#Zr~b#f6zuMJ80t%ZxxPg;ZtiyFIbk1@{Wn-%_h8(B9D1 zXalrdwShE6w3uqX0%&pC$CFcJTN~}eM0>o2c9J|EXcu<9WmeNJOA6ah6>X<%P?wlY zQfO7izS}cTWee2bQmZP^F6?Tw1KO*A7HNuT@jS+9mno)rYKrV&qkSx7l2gUYoab8F zH6w5|pQ6X1j5_SryX0rOdh2 z+qabYQ4D+cNP8Na!2rWQDxiM>sr>Dq*7&=*m zo1*Jf@o_^sSwaf3t4k**DV;2}+Tej8)JZ{vPFf@0t4I6@ooHGSI^n7dw@!4iNS)k< za!Mz+^P)-iNtRA@!dr*5fg}6+NRt6f5vMP~bXM6#tL6_YRDsIRF1;*$5kp8X&Y_S-`@94;&-O z$I)zxDK-Iec1Y-53B7laKtK!_2ql0ip@YHnzBHRofB>dfhu)KbsliG3z248x?A~6H zbm!0a_s7lbGxN;T=9$^qndf%(0Tc*bFYe?53&G6e!gVT0p(BT2y_6K|N(z0G1Sz<# zSBhJp0HK@3om^lcc<8ureJ{m5@mw8!^kYTtCHhXXo#fd`&=^T_TON!`T-U4V zy^*FNnQShQSA-oGZtOJ;6Pw$+BRA;^-jyO8aCQ%O^YnC^r>EOIZJ)vjH^CCqwe>?) zOK!Z)33}h7c+4OV{vj6Wd3qHFr|r!BX!G>HnWul$JRQ+uPMEIkpr!}3-QGP@L{jr~ zgjPBy=sd^fgokx8C^KGj!dITT<^-|5QcKUD{5<_rG*8c|h}GSun=fj0H%R+ng3SrA zJz^hTI_}w?of2SebM!H$#rxtx2yEf>(tPL>w5KQ zf&zpFl1UGN{7VNtI=ixac4hbI%I@Bk-OcMUKh;6O>9Lyh=tM5B$DUkImmbqw!aa(v zcQ3l$ExC^L*h_j0hAw(=U9TR?Ljgj|NPcpGymJIS4(-Yw(v>~9D|=8^_CT-4Fsg$M zcxF0**U)99$DzpO^*DrU-ya7TT_42tm(A$+Wpj97avi;}?g;780$udrx?Vk2h603E zko@EV3qcop9NU#WrYn1NSN5o`?2%rNRj3Yr=k!=ZdK`;fUXNqA_Wf~m(e+VWe zY7UP~t|L9VrAG$3=)rZON57A)j)%fBoYf-#GW>7_&0;BR0< z_RJN7)3wlu1E#hdux$Q3?cto)H81-&$9Hl3dv;fNffsHD!e!6z>hp9}8byuRh`O~+ zPgLj?JyEsM1rx@H=XVk0q}{v$Lvt5)1;@GC6$u_wRL@|2^2XCBex}G=7?ZYQ?(!TW zPL;A#D=FLWE*Z{oCfgtT(j{zvywnvQ);*wMTF;~Elv&dIMek9^+q|})Ax!Rh!8T?T z)^TNX_+l4gkK)I@_kjH2P(UtaF*UYZA8jjgnSSpUNxp;m?kMsdTnJw73Xe$Sds7E-(h^(wlO%00y-($ajkY7$~J8pvE=lV@8sF(=iz;D zKQ`iSn;{kC3|{Lpk60MD7$JF`C6AgoM4K9eGipC^ehUWY&qc@Rws2AyG7$%w7V{Pt|g&_B!F(e$WU2;OJrd9N$`u6K`fDV4QfRWS}<9c z^Rf!Dx~$+XhBKcGlE`1`*jz?#WJb?#k%D)&?b-Nd+bwN63Q>6!XzEEbxle7^&gq?P z`4gpV^mh?kYuN+qpo|z0KqnO2;EE9y<%W%{S<;;~%{3O22G8rA@OoY>1fO(;e}t*) z&I_?o_G5Fb;Ey&o{ObxUtLB>$voxh$QNfyZP5SP&HSMz9bxRwQvl+=nVcp272{sB?L_BAG?-doIk-Q`(C>zqVej_;CJdS9ogDt2RhY zyI$T_XI+$+AM5^J!H*O3c+yd?mzXEw)1NL+ld0C_3?q97#jP^oX^{z)X;QAR)~L;R z4?>jgv1em)fxMo#E1Y7+yI3>aC7L#BG~U2B+RCPZ#C)DO=DWCkLa-XViq}#RuTN8B zW-4ATn(2upO$Y-{Y1hh!?v7SIr)vmqZw8Era&YI{L{Hd?=b>H22q15G+ZOm=S48qE zNE!`3zN;stx7utTpQ+9{J?b1~`ljbRch1XE=jbt1ldix*FhA78Ge~4Sl)YOsRugcv z9ILB&>BHVrN;Xd4RYrA&tZ*AA4^i36HZN^^NZ0k3- z9_s!!Le=*NQgmA^fYzLA6c!iN@2a4#XkQc#)m3b|`;Q901a|QJadD3(Zb^@X)+35x zdz+n~;7>GVpxl#$Ai0<}ZU?FIRM|cj28%#H9 zFbxIHES2MWRKiu|m$-UmUWZchgo4|_pWw)X&S_eN|v<{9w zI$zd`buec91d+&ABg>zM2&kwm7LPugUA$*d+oEcXhBQMzuF-Wmo>@MjRFh7dg3#c#C7A>{nW}K=~?K} zUERksDcC2;C$S`%5cggOE%O(GhGCV(3jg02b{)uL(6wYxa)E_l1M#_t#2NNcjgPUw z*)dAiC+Xir;c3)n%Cc4|Q?8AOCR~Xr|I_6RdAVj+$yhQpbR)LAMq=D`rEVzASTNek zu_bo}kW8_jGs*hoJF8%f3iy{ra0wXPyUw#<8UASjUj@%yzciElRjMmm7ZMtp#wR>9 z8ag+Cu9r++Xq$)KW1$`_N^7UZ&C){VmKKQpQdMxx8dUSPtfJbb)l^F=>Qc?KtyQ&gs8+4VBfIGDg8j2x>_@!{(d?I#o64%h z<7gbF2buYsh-l4MAvA|LPVenE+2|mE%k}ona(CgDh6?S2% z(=f)yq9xiguum6yJ9uZeWCPJSOPe z%}$B!X%-tMez(vLlujIyzXha>$J|j2PtMXEtCTDIJ>WT`(*Bstk(ry=0 zE0RW*-Wjsh+7?Yb&NhC|*hRuHXH;R@+nn*$_`W(KnK5>S&BO&J4#~(O_L{EUD2eBg z-BsPk9I^*EHeRoXgk4<6MgQiID%zPz`!|P(S1)sjWU6xx*%Q6`Glz6~gEi%Ef*U<9 ztL>U`!0!QU4%tf=gEAUqe2O^Kn8kr}x01{I_NH3-KICS_8>q00>0JE(Wlr(x#hj9< zPIK;yUct}v(OT^>4chd74mDKvlZo`cy8U%AC?nf2-(I7vF{7+#hOOLU^V*i=Wvx<6@+P-?=C~z>mnoJxR-GL;k7|Y459;Nr0iX(&D$Id9@Xy zp$#m>-iUeQ!<8ra#q81OlD}P=@bYi6xTnWTle#?#O7f&*$z)Z5gwiFYxH-;0aMj-@Vk4`tO{%uCmcizUtb<6;SRiHn_#F8RBqNn=J?>;m)V zVy8hCYfdJURRtD;Ek*xc66a#J9Q+k(*4rWb$=*THL*k^UH6RBA(Ow4V!A+CY@&JVg0mqD^)t!T1p*5}LG4`r=V{csi{ns6okkRIidvF}lS4z!}a5zk)wM#}rXkqy#) zb1r1^4^T|sD2r`3Z+&wCWa*Rh$<#Lj3&BLue~`rWO}{oTX+2e~tzp`3EOT_cs;$J9 z+{4fns|!K4HQ7TH*u_jP`nNcfY!z74u+|l?UKVGPsm{gOMd-zxEHzng%}~a-(8(%n zG}rcI`xhu$x8$Cn zT5??GTg7kImX~*(ZTDpM!NhSixfBLlsSCrxuhy+qzc!xvQ|Q#dl_}{yepzs8sO4 zHRXm4!-CnHM?1XFg2n=d_R!Mau3dMprA^#;8#qC#woFm04Ylx|to`KYiit)GZwaV{ zcfcugHPLJXQsF{~Qu6n^;x$w(R>G!Nv9ue9Pt9IEHV)oAdv&d$u3AMq&qxf-*r-*B z331SljqFj!xVXpc)$>oGFTFFJ-oZT#N&+Zro2YJr2BdD3JCF-31iyuTIE%!&#SgfJ z^N5>4u&Q4Ay6He!UF|C&^@UoCp$oaYSG{#l&!^ zAKUUTQAN!?)bPIi*MzMm!Vblo{9f|l6$*n+5{9h~8&BX-I5`HpPlUa_gc_|SqQAm= z0~MD?AzU?BBqi;Gl2)&_m%R33^BF2>%$PRyy351RK;4JPq_)69uss~YH%Q!o_>bIW zJ7DK7kAS7O>i^y2Rp^pX_!Y{B1qV-vCSoxVLNpP(nK3yvdyDF5>SQJ3moj)fO>4w9 zC=t81{lnLx0jXCdF1f%$usig_#^WWnh5h_h&x5;BD6wttxYy7Y-?Fx+z_M1Ur@+?` z%tT7BOhZYfStwrPy#Zo=AhKf_Ww9P(rA*Q8SZ%k_4BjR0idAtuWO4~JewDRS&ySn zOrjTwX4D{IVpZH1_ygMzDo|Wmh2?S$j*kKU*cA?ij*eileEI*S{0?>5{J?#88UGFN4e2sg>nO}W1ftFEOLT`HABs}a zWeWq9by?23ET)v|GBrq;6m{7`RM2J0=FJ57{cepm26rLT7!+6tTA(~GyF6+37bI?C z-JQCi6?n}P7CoS06p8lK_Mnu-Rj+SK=RcJV$(z!H6-2|j`{a}T8`4E;PchiS{ek&e zP1F*Be~Kw|=$UqF$JJBqp`<#o^}tE|Od?9ZwAbZ!cS0kSkcc;yUw$~((EdH;*vz21 z#y2$fg9h0?WU`gOLa;LQ$7NR{&8|q|Y_&giK?XQws{<&l(N?R9Mg?0PC?FoQ{~#9#+OC{&R**eYD3-NBS&FoWtf*zwSSR2P{HCa@5+L4RC! z6lwOCN=A}6tDOKs&;h)rgdIg9w;<4?R;!H`jS5yfQ4Cgf9yUuJCOHzTshwFZ{?|t! z@t8_k?@__sMdESwRpf3bK`>MivX14KZ|54BPo^B}8C0+Jra%Kyr;^Ef0t>-9&?j7& zG`p6P9Er2u=^zB_0b{-4vfgl6?+i+7^tmyjQNem=ib2YHk|VL6+Lc&O;uTv@;sNt+ zlEj98f^4V?B*uor^XqbrOnO)-m>H!ZCVkmOSz`b2#4J&!;9D{U2~{ zrwK=hV1#N&ooa$#i3k_=$K{QJEmiNyu#CH>Wux)=Nfc%ZBpBijaW*PjQ2=-QTf`zF zWo_e9_uYp9gBCU_F{1$sgS*lAjEF){Vj2HXM5$`cO^j;pG=W7g?K(1l;ySXBxsGpd z_eF^k8zR^`!eQho@WqyJ!*e@QsGhwGHhIVLZm#)!m#TO$m&O^@OdOb&UZW!fHTVsc z)&pNMBaG3#OtE4IDpo9bzL7^t)=}LrQYQ@?O)}XVK-UVaV~G`cHMah$S%mMG+My_` zWUZaJkeCmM--0f(VUCtFk-Di^9I$L9Vlri7t+fc*|GKxQCcPUmPR%aE5EmZ6DP9@*jgwGj6IYOC1hNgY68 zWNAo zQai!_`r;UQnX_bT?ue-7Uy=okFO~P{UeYLXFE@tFz5IBI<~+$zan3uI3bFdi zv7AGmcVc|awRzPyx@gJ>*Styw$_UB4>N{#f&mc7$ey1X zLSp@*cQ17hhGhN{$}zvP9rS@n-)yXut$VX>D5U9#1<2GP0@?6^NB9?#X+3YKL*ArA z`rJFAbu+CympaY2p4{`E{yq0b{1>-3`HPzZw%=sYHNm#&E(Mo{3(^qX1kLl-$0E>z zhU7EifT-Yu~Lo^aJ&l)WO zEl4gdO~?iExgW`N1xbw>ElKOnRZjP<`=Qa5;KKIjG(;mo6*Q`C8dwHekX%}tkPGCC zKa%Mx5;qOJ-Jd?HX{34L(fm+0(ridpcoRhVl#nJ=ZA!o$>_rgEqF(-L6vKSVcC7qr zlNvTTvDvW5gv&b<3M>RR^sX@z)--TiXl=p7HYl%!033!>h{S>_ba-vjt_Uqit{^GN z1r`DuR?`w``#UICqP6;JfW3P5x=7l9LZlTm&(da~g_NsEN^*gG^|ed8Dy!ah~?wX#$)$brTLqvzzE9b%?R|7J`7K$FU+gU1Qvpy zp8)4SkWB0OQ1`LVWSJ#_vr8yhT*=RrET&{pC5w=_Wrsc=-#Kza3XI0&oonQG|N>ay^zaC|QctHYD{;c}Tq_OOXpK1jC>o?oHw>_N6SgJaG0GN|sZy ztdeDvEUjcI5@)e@pwXEdPl3@Wv)Gr;V%m@iMU}JXRah}}sg{<;LdngeSNV1ezY#)kH?>$7rVg}V~F@32XQXj}tKwBb1=gs{M01>p=Ey`MlbA^K5~GN40*OP3;`>pAl=jj4 z#*9JrD*lg1@z0&&0t-O~`r-a0PVsM~_$t8Jm6ZfaRw8kV|5J)@I*9^nRHpbhPVsM~ zxX8GLdMIkim=M_n68#dj51n-g&+(4@IaDjJwIqp zIkf||M*urLzX8jhXl!NT4*yT<*t7Bd_LtgIe?N_>upIfp9#?qqVO#RFj)v~nWCc+z zdR%#_-RA3B=~kK6d0=^|-IgcP%ZMfqEQ2I$FOMu<|48y+X9O*IWZ7gsvz@GAdQR?{ z(xJ!dMR?!N721ex?f&VfMdBCeZCV9=anMiiK)UbR2eHZWoxRxVJL?GE8gQ`q*6`MV z6n?con|`kjTpP-<+_3n;Zj9X>?#9@#EI6XZBy@H3N`N0|riGn7Wd9o=e-QP!pfY=4 z^F|vhazzhpwK?T~A&oQ6C6iMMECeGZ?ja=3DbJ8ot^u4~oy2+Oe?aZ0XL?fAJX56W z@ys;cK0Q;))##aN4!wA$tYIeWpJ$e#SM<#P$;9S6l0%d$`%b8CQ6x*^KR?kle<;Pc zj52c>ug$!<%%DN$G6TruG6D-hJ3PX}NSw=@DVJ#j&aSCsl#*YPIOiEiqkcM%CtA&U z#H1eQNz?7qd8B5I&XeZQi}T1DX1uiXgt8h_n}02+o7Kv&Bi{*SXw7Ny#5SLdZ0;jT zdT}3hOxk^#XqrEqV%$fWxsTVU)O~7OC@uhL+-5MD+(%#`$iZV=b~I_WgT#5sP}PMh zV7;dI5uVb{UuTX1jthx!^{GM~ozkJV z%uMNMOxL)#SJ-Tvu3??PlnnPN+}r0OkL@IjJ1@T>ZlCwB9EtGULwT11$R%&Uu^4pO z+J!w5gAOfX7rKvtmU{&VZ&N6x#2AU*s8e>YJGo7PpWM3Aa>{yo^Y~dE!LG2wCTFa; zQ5t2VUDC!5ZkfQrB5w$Wq?PjGieNy6x z=lVmN357dK@li*~Ds7_Vn<;W?fRCJNrzWp%0;@wZ=}k#FT{LB6pNaDo%BXjnMRHeB zErr(tTX~*5IF-Vr!3N1o!Pi#pY1B$So^+!3=dMGkv0PUdP5G-q$Qa=YY-Rb@+%=Bv zdbAMR^~tLka12#tT`*Rh_~JqL2D%uWzg8@bXa$z<7|Usn<%YBn%Z`^fo3?U`D1C50_+kj#gzZJ6P z&e%h37K~@nZK*F56XNwGH-Rqgw^JSY_T+K%^bD~BRW^Kf)J0SNW}0TKeIcG`@!rYt-kChFi5fX}5f2TVU3D=yf2)}J2D`ZiyDN`b7D<~w zSLkPx#Lh5a5ja=CC8SEoUN$drYwjFM;lGFDwWsnv?+T?8`5h2Zm)XbLQvNbLcN=vX zA;|8Xj?M4M)gU#I|AE4Z3xTzlE*8w+u9j-9mV3LF`;bTeD<|erNMxFZq?oFR>DoUe z?Q3)=E|?L)iOmq(PbEY1vRp<6u-nJ}DwKb!6U;x=_2!=kQf2?Oi4EAAyOT-@c981G z4<*TxkEC&$9q?;{X^5> z2%R-rb9Xtp4tH`LL0)F+BfVHhM`EcFVmZ#m=9Ucg!TBxSKYW?!6+TWkm7a^?2dNcUR-VYr~6qbZbAu?#T&<6KLh{yggi- z!>QBjQH{#SI?VH*o%2rxAaL9^La&5x7^PG* z#a~Q&2^zmDUWyJFmV1ygX>_U6=rZz@1>>0g%T?nUm;2)tRNE5eDqS>ZM0n!RFvYWY zWqq~Kw6eZN7eg{K?Zm;>`O{R=lu_qSoUhWLcJoncP+zA;gKU6ibOW@V?CBK7qQ=6T z)rMh!SK9|z8vRpSgSJ@08$_`&V^0Ff(|m0Yg115g9d9C&l?4`p@rW1BAaQ3;c1*cB zaCS2#n=08v$v7n&E7^#|JqX?gjo=~RP=ys91aAi+RC_ycRC66MvV{4<&L8ejwYb^I zrI_g;j_NP%LGUh#n0bWam6@Hbr9jfUw9PR33_{ zsK#TwyMf8Rb**?C*%WJ&P4XvPw}QzAigi3D#5+e;8XPQEF| zdZ2wv7YpP+kp!O6+mwmXY&DG;>9Mw0)x}B}{ax6eQT){Sj_B+8OdM?eD`lS#}P{RdDX} zIA2%Cnc;E15mQZJ-|3<$BVDn}LbUFdso3cgp@`Uj}R9X_x%_XR~6mCIZ| z2%G%h<)*0QCHWCFb18EdJ+VHs>JU@|Fk|&j7z9K^f~#dRy!Hl?hni>8c->Sj^K zkQ>Di$8aT3#V}AF$_BB@kqL(77I3I5JJeOk=bWYjsPdGPN!j3_?oEK&_z>5l1-e?>oih@gA6w#HEq%uMPV>$BhGEl9nsLegaU|U zD{Ox5h>P?EvnFV8Aa&+y4QmP{JnE+|X19h>f=V!S!g}rqUYbmmEz50ieH{t6rr0-T z461iTfxNR3`r%N-bc5@74*&W*L#6d-S|`!v%@Ck4Mx?ShH4C-hU=b!ctvdRvb8Z4S+VL;A$_ix*+fucXPZy{z9BiY&4|jIoHI zdA7&~(83a9WeIYDyvj}%S-5tKY)ETK9ZlhjMAB|VA<_z(H))Ar-&2AuW`bEvWsgpk z7X|LqyP|V_-;{ImC{T~n{V0O{C&fpM4@E19U|$@la->Hr1Ou_?EjwyZQZ?2h*ndU^ zMo>0yMxc+j$Dm}tQ&%~V=wfj`jAUBR1sw#2TqMh^0Gw@AGF(ZEl3_}gSMm!IcYE6b zTAd@eqQGcO?zu$~>=$&fRIv}KT+|W$dudr_qfk_NAD`k|rgnrPKe=bFBG~6PhvJh! zVwgm*i?b$5FuAKpganc-CGok3Q-pduMebuzy_3}Lk;Qg#786(qMnFG2g2Y+uGFfaj z;OweOGD=oava*su$x0;7VtYWNGxu8xj7FKoE^`)Zk;O!Ha*vN-7kRCaumjsU;*&sP zIJxIG+4e6Tp*ZteAwidPgc2cvBuk0Kj-&{Sbs`$RW>CEr+Z!5?`hzS*F0c^%68hm$ zB+g=&%VHyevuh|>T}hV2nP?vxb&lDA0&7%eqRX9$hRZ}ElbA^K5~GN40*OP3;zv`2 zl>5OD#SN-g@q?fNsRN`ixxhlu0sZh85~uhTQoJ2F+oohqC8J23;s?{HbJJZZutsHy zU*QyQmEt19a>xGMD{9G@5ZMG0{Svj0r3e`hfgNfal&HP*W!+o0bpNkm%QY9=ak0V6 z4Ia2s_bpl_EVTV%0~g$^x%*+R2Q)0aW#jN;p>Y&6$c~V@4lD$D=!eIV@TN}9DYr}Q zwSb+TM}i&bKe?Lo{YRD+!G2yxX#~5cLd4UR9r`|eNd&v7IxFadGgTtk`=VPd{3(uL zmzpMQQ3Sh)_7cIKmOR)OL7DT~CAd0-sD{?ku>`|!b8aqW-SpHD<`Ghnl(C4nnN$nBWsxP(#{jg zYV3rS%xY!Wk?({ubSi@VR2kXaN0Rj7KI)jX`_sV-DOaRmD*z;Pj~=Olt%HKKVI?P3h;w4%uM=w4JB zxqe5-sWc|K`i_ptTv(%Yxay{w?(^mT`n26R%b5+}zF{s{E+6B;n)cIs` zC4q%t9Q4D}NZjmp9kW}XkHa<27M^@G&y~#`Mz+k0K4O0wGj; z3s_fkEf?b*%d1r_ZuUekW_pIFdalJOTq_YX=TIEeU=Z*OFJW}ik~>$Go&uF@1xRpR zM3uPfG?5{{jy(8t8MSn%lor<4gGe?#%5GHiQ0>Y?&~w*PEZR2-iTq~r;C%6j8~8(U zYHv~P1=O13`k2>SDYd=Y+jP;Cp9Vt42v=Y`lgFpl+;xua?X(cvJIG@j*%@FQv3@62 zVi$!r{E3F(-z82upT1icgY(ymr4g;b@*QJ2-Lbrf7GfEamuSjh6sMAa>wAUhm5xuy z?-S#p(79h13*>K*1jeI+1Ui{+&E4oEcz_m?;6V{i+uBJ`5^z03h+cyDgnXtLE8zMe zUGTC8NnkuGNDu{F-|QrKm===Y5fQE^K}o>%qeAoF0kiLnB%AJ@e~`CBA`=kWw( z;_;-KR^(9_A^#Vh8&24m;47XWDV)GZHQo zGy2<{d06gNAPM|8)sa6-Ud1P$6H}c|Jgr>YR@2BO=>NRIbo3vilt59Jc^17VSWNFF0Ayn#Ta=w09+ z8=W(a&MmeFQYk{iABp5b5W`r_IPz1);`52)_bGXBIfZVA+S9MTL%pR*;CHC~jff>1 zwMuds{O!2gnB6ok8BQ!;Reyt0lm4zQgetxSG!hTi4 zF{(GJ##3n^yYHjc+S)O~SR!U-QXJF3UK}Gx7+tjF9#W;JKqaRU5?mKiC0vGx z4EX}&WJ9B@nJjp;j5hy$xR?m zC}8n*$MNSNi{nzFDUPDqZMTY8Oy=;CD88kI?InnpW6Mx#cgtmUF*yH*BrrxL5?H|E zn@)n|K$Zl*5Y1SEcXYEVlAttTad}~T3F770FfrDGutgUOMR-)`D+1iNX=C+(&^QgVcvKr~=WZ`$ut zE-8O0Eb>w0F>>mry{6I8H0FnBrJJ^oOvt_G2)8-H?bh7S8|mr90-XniQW(qn)#Ce( zLWiR;np{IBdP|=h?>P$13D(v{b4HE0)A`xTmVMkrO5!Wm0l5lJ9ACL^b(}c9ay>EC zeRF+X49Q4oci$YVlBSI8tBI%=#Rrrs{()0`14yV(HYCq$66Sg%k=4{QE}}17Zkm4j zm%e%he>C-PA_5ik4CRjao2|$4F9Bp;P@*fF=)6R&xfdyd+oqyKz8QHXf<=S3DR$ic zL|1NZYUGW*c$v$NSK*+%Zb}*HZTI#GV(ss4vBGw*>gC?<+++(;+oPz*mLDL(7o9yq(5l5Lgzj>O%}e@&xM)pj#ht$Z`S8Be6zI=~iZA5jgX zNfaWxLG{Z1J7_>^8#2i*un_DD{qSRw;^XRFfU`R**-6QcBu@5iX%u`4oQiGSPNknw z8Va>Mws8ls%6u*awdIr}6bo_!id8B$wvHClXqQOkNV%h$lJ7)LwsVy25@oxR1z&>b zR{PSU>;%0y9wqoE7%a%Ab_D<8%0`M}8|O9~99{h*!XdWNOG7zpd@rOyrY=|IOZ(jr zst`)5)Y6{V#{W_#U3M1+`5qEq28kKPJkqg^dxDsE2I=J52LB&)(UcKUO)g~&c^dnl zW4ITnVz{^RP&SBFj!ZBt_me~2$D!^^9(Qyc+qfU4HrE}Xiy;}cBDPVM31v3f2}h1z zZE+wtd38FR4-&qntV49sl#yh_HaeXSRpB7R&8W!6`r#Co#5T%S*xbc7&IMxcvX|J# z1fz0n<0nu+rX$3@F=J4@gX?H$Km;^u00byJ zmO`Wyv;*O;gt(8ddm8J879_hQCAmPpIw)xy6KQYgr?kh@+S>KDCTMbhwb0BqM2ST! z+7vf1(ys?H=qG5N^*b3_=yj6xA{WS4GNj+2+V%S*t*u>u_4~=DZ$)F8e)C28odOy3 z6Etu75!-mMRGHsYv1pqcbpX)>+~;9VbOhv^#>em+1Vyop8BXJfZ4|8}ws8nhmDt9Z zQYyAl4PyBiqw(8$2UCF&l+BwF=+(gpP7{@l=@1n8R!Aha1PVTu$F^czggd!h* zULh2p1QNp}wo#llN7{WPln4nVSxO?e_Miy$u8iErpn4~%X_3XQb`}%J2mGKP?n&Y- zHbWL02Ao}9$uE>Fr({_r%P3iz#98b*XmsW_p}=UAS!{;0*!r@Vs3w7XBCnMXc3?L_ zd=f|ud1>iz>K^C_#d&hibXjbAODGW%NV1eztdk-vHXYIMHG}H4*v-&@)Qz$fxxhlO z67<90lQ@gbl*LvA&aR-ORmpG?XQEqZ)H!AX1=gs{L^GX<#>hk>lbA^K5~GN40*OP3 z;(wqBDQ|-ziW^j~;&(v?%rDRuYgn#qXw3=cZdz zV2#QYf5<65R*H*^3x5ekEg2Icn?RypqW0btA>%!;Lv4c+wQCC_dk`9sx?k#&3oHby zLqFVyWLnR|np2*W+F4+y=L29>3a5U9Y-3+^tDTg`v5nG8 zH>vKT*hUfUCAKjwd9WRVGO@?8jj?^Spj>3-YkHpV7J_6QA_AwM}s`5?Ssa=8FhG7^Xy8D~ zEKbO)JXYk2)>^f>)Z>uG29J`-r34ZlEphiJaW3_OTxuk6b`28eSC4_(Prve{s`-^j z*W*`dx_$bUl&jIN(j3bD%GX!&t0!b2>v>^S@A+^It1f;s?vpglA3!l3uFN{z^D6D| z+V=mSfixZc6q!0)AYU?t$GGg8q}fpQG^1v{|h>0WfECq(m zvcRxe78o|GLu{?a2Zm`7q}wpLG7<<3n?+#QhR9PM7Trb(E~FB(G#G zB{>qO^}Eoh@e_T=(OULtSULUK@An`ToJeK#v^q(*b@9X~FLnfCY*!Ps>Udwcr^dLy z6|Teuuh**|pAlu;w?`gxfk z`c-o%?Q}6Lca9_aPe=4$j%ajl;)s6fiOz|Ls?o&xf-}g{-?CKCYxV9u_H|9}d}Lj{ z#1$V|_v)mzjCL{Y?@Hdbraf&iK}vRt+?QC@bze*DP=YXq*FKA!!f#Ya{w;at+^Fn3 zu4Sy0UOx!o&k@4E9YPdJ=MY`8Es;ZHy{GTFv1G(nF*g;Y?kcR8PS{x1W(&F!FMkjM?no8wJU;XqL4Qz8HJ0d@4wLz2-~h~NHz=i>KJz?;fe0hYjK|aWK?}sYHhfExKsR-z3)Fl*1{L2(9E~E06`#L2yPYeeK3d4m}Xw{{xE$ z*Tb6|Hxbrl=Dw9GMD!x8>_l0Gyv*Dg3eDWB>S9R#Ht8$^g+ev=N*T2^ce{{bx0+)! zf;{$|P$o*fk0eWVUj9y#)x}dUQC&k9L-Th~obmKVQYN~;B$wFTHxS-1Mti=3223J} zFA|Y>bBBGYATbX{x~xS;x~wJk3maloB!8QS(I^;IajG>{)gPy7194*W#Gx6fV%{Z# zns>FUO0O!GTiFb&?=3OIYG%mDA~wV3#40t^;&~!Eik2~WlcA0QMqq>JEWiz(wM4No zV^Fe=uWg~WE;O*l+GH}nz(Ozq@xnVvink`m17|l^vYC=iN!)zA9*s)pSRvZX8VK92 zY>r(Y+)$)!5>=hNI-W$wh}7MbsXa6CzK53=foRRUkL7@Ek_f$LY6^$mjAOyYQkQ<)6pDI~voFwtm#_>#>P)bKX08+*<3!$tbJ!8$y zB?p?2=GKd#u6qaAgO2#7QUfNNkvmP9mZf)Ugl%3dLmbsLUNUHMo1lxP{0s?Wlb$8HM{#qL++5~}6PLQyI@;&+tR`1tdv(I|iX z*-jc{9-}rC8+PB}w^Mp__& z&=WWIgkx4ki+s-=%zIjbC!#h*%le%pLny9vw#^f*xxWEPuAQBHyO8Il3uU`c!ch>z-Xi9^G>(JV zM>GcI)e#xVYIlVFgqnUClNw?S7qIX&5QD6jfQ1C3a=^mFP{1zxi+y9ppnAu~LC}EI zfn+kjz(VkA=!egdxUuoq{%ix$`e0fo0SnJZQXWDfQVN>qv);p@1)swtCAq*tP>{5< z5^106r?f}VTD~!#%{MPZ(jG}6(h8bqX^(*xQXVZS$psdIiIVok+NC{~){-__K)e)5 zdmM#GD`?)NC756r3HFK!X2)AkYt!mw;6671qisXqG(L4<^Duh8+k|H}f(b+`2_|?A zs4SRZjBOIcl!{k;88wLIixz`pg^+)h3XGs^-i$yW{TYLjovp5NU?KQeoYy=_!{L1$ z{CyXiV<;LBRy?$H4?2x#Q10u~I0i zlY9QHjg=2NLXp?o4}mUk4#g*d#4rga5NFM{HsyvAA%P@I$x&$=(xBc2k^2}_?*wv5 zWU&jK#RL|Df59?rPb~JSEcQA@~NC;poI-pUGlhQ<$BjjoQd|5 zi9{wbk?18x5#a<9hZ4nek>c0F5XB9uSMll4K;i48FuA}&@NZa#YbA<*F2#SKF#Eld z@05H?;uODuMxC3sNO3hPQ~YzM_})@nWZZFQC~C==5ZMG0{SvkFk=i%H4z&$R)UNI1 z_jYKY?yXXnTwo#iFD%2gP3%7^S~aWH|1_7Y5xmONM$b1<>?n#I8ccLU_tfd&qw%+8j* zN@GQ?Xiv5_m%0zqxKcP)1F^W#$2z=GUhc9j?qe-192!@Y;5H z9)dI-J%dagF0c>`gvYpSBWZR3iJLhdR$Zuq;$VV}fa5|Q=aXOp)rjUJw2Lv!;G-!S zBh)!stYFRYbf(hnY zFhNm`4<^tchy}7X(MaGVbuPgK`yx+yFu_pjZPf z?xSFW5wK%NEea+mLMaI*nCpWHqJA)K^}vXUXq^NTJVrmV$)b)f4kj1_Ous*_+Qy7Q z_1@y1f(E4iN+wqlSO^9|KO9Hm=A*BekNSL;sBxrw^3fbsHqu3{@>^!gZ+B@@)utr~ zS}?)WsF>eG7H!NZ`#%XLcs4TQ-<%l*7NWUm)5MJ2f5v6!19s#6Ij}<2tK*{?%?A?* ztCwJc&8f!is|FK159R!3AfcnOqT5w%v)9WI!Yy8qKI8%mfjtq8hivgv)q=p;W+g+F zETCkFlEF&mCvjT80*xAX)3%_s>{A*{@G7KAxAw%7k;K-X7~7R??Y$=40!7i2ZMT*H z5*LjBbp(>xt_=5ea6@Te!33hC6(=Jz+ERK$)za4<_0&`kcT`6ojD3^pLjE@tXC^Aq z6}Edz#pG`*kEt{CIZ2n$x)_$*o-1L^cG!O>x3OSb9TOr_?@(ylYVYZyDWgW(R`W7J zl&4NM+37*15=2&#qpy9VcV4r%tql}&GIe6wU7ew0E3VMF|sSe z9SCkHwzg>?I@%^+l%8cF1%p&AA?-9wP4zHMb#!PwAJr&0KUpEOH?=V-e3oqoNvMmK z+&-%Ggs5cqLL%uRs)Wp7ks%+VTwX9=jFWCkNWp0bjPutQ0V83)o!NJf$8ZX6yPMU?t<$=){+ATs_m_j?_UPKo| z@`q5I5drD5sB5_xc`T0~5mBG~OjX{Lp>%~qdQ?Tdv$*Ihq(B_((02)y=+tdVT{Ptn z5^HbDpHn6gmLexxnk?8K1ZSkukb-3$`f|eie_-)oKX^06RSGFMlqy8@BK*RMvOIa2 zxrb3`=5Eo&ko;lNSp*0v@Gcme(>!xv%BZcm!-WjH;f_r!dF(l%Oq4qCT!HGm{GBE% zil;&fR?@}L{1FsqJiUN2(OsEbV)uHY8TYdfDM-wNk>Zd7?-!;B6{(PdRbW)bsWPha zjZ^x|`7HV?a;jB9w2%U+V%{Z#ns=?HDuoott!#!Jp^`y)%?ue?#Aevl#VR$_;(4N% zkODV&))2+Uj6wBI&uc;hv;UGz<`-B9mPNeqND?m!9{eP^Eb`eUDt!i#TfjW(i)$N zCL4|Nr=p3{Aae?}q1dp|7fN#S*4(Kol{~iQmWaA&v2v83q^9J*At&30ESLgP`T;<8 zsW9{c351@wu_qj}Dq8z{?qCvQa9Y%+Xr2FC$q3+P!cOF-nvG9CHSO$a?H18eE1rQQvZt3`jzkZHyNj6b z(m2Lo578KuS4U(dtKA|xg_@2rP(zI2Vhqj%VvzL`V~}7}jxjhH3fSfMV&9lCsNS)$ zH#8u%7n#g2un-J~es~Uv8yjEuXLpF!`_MXxF*rApa$gFOQqVjf0UrP@`0Ot!$psdI zR!RHkMA~oqDeZx@mTyEc2Ioc69z-G13YuqW4}}&|9wI5p1r~x8B<=aNOM4itZLHYr zctIrX;S?gRpm~#)7=w`#>_QXFjwrs>Ue;9LKKBKq-9+CsK8#^cF?xtQkOw|u3`8r5 zF}N70N{m5Fsdx#PQG-~%XmvQ&Vhk>#0wXA^V1(KZZ?49mbk&vWDsq8^;68DFnq*qf zNu$}aK7BNnxfj^o8?FK?_@qm{<3F1+wSCXV6Gy+13kjdBh(xt>?@Y z_Z%ouZ%GSlz9#WYqz)cNNX#Ff1Y)LZAen!La=Jm89j0*_KwVPMy`t@ZQ}^P{K81`Hd9*Xvf z!xuHcy>e$PA85`$KsloQ4Sr~CP`!8cSKMj!JeQ zaVoz6e(7RYIJU$MglJc`*nLs7^N&!Ld5FYnZT)YrN)JR|pf*L%YUZWR!VE>i)~BKx ztxq533Q=EzT&PAuH)(q}yQh@AZr;|0ORmmk;gxP?=^Iv%TSJ6Ib-ss%SpI&C~>gcBz_at5*hS( z+vzh~@`+p0=h{jCJH@PwB}+yv%+T*r81sk>{dh#}J)t*d464`AA3+1oACSq=0t>O>_OrT{W18Zh8ALEXkjOY{zSAhPg54E!VE3k$k5Ml6&YHLD;nCj zDlxRg@rKTc40?R(^!ZHksa@L8pHqyXB}+yv%+UX!FqSMb^ivVFe+s=ZV^F<@{t6lh z_9dANEwB*m1^w`EB+k$m%A@}P?94j{tj?D6JeI7&y!ofm>@3(PDK8xTfZnXyeWCnN z?SSNb6ULI{pQQj+Uqb}x4XRiA@1OyxZzVOkz(TOECT8^)_bx)NJYAq12;p|Ifw0{J|=6lp7&r^m3KR_0x460YDxzK>rk5YzQ zU?JFFlFlM2?vnk0oj(5ot8?T<9;-~BRF|k-s!Lv=09OBn2+|u=uk;NInDjq6=>-;o zgCy6BB*k5FAaM2o5~sodP&-%oi$^U}A>Acvopg!Fly=EWl%Z53WKqhXdX<_lQfiQt zfuz7faEK&*nWVT&4hDAmG=bGQ<}!~}rcbI%)GpN}uTTK1`5}Vz2GuM5P-sAEh@>VL zSO|`gT(6Qi=`YbJIUG29n36+DoF2{Kcjm65!0^lTxWo^YOEgqOBJPP$w31#D(HL?A z=QYX@YC)Kwr$P1Vxd=2MwXpOf7gz|6hJN@uiPQ56>3I}z_DB+^;-a8-Zgs6kEmQFd zH=$i24b|9nRVW&%ZhM0QcrOM))G?@Db(Vw%q!yPNi#Hn+c)ae4w9;f73 zCC89B#ePns&P{Kiz#5e)cA4+H%cPm;Bz-4>UQf}DdoC1%7;^pi7G+4e6bw<^phWT7 z9ur%j0jcGrFuA}&a5D76w@Ie;T&2a%{ZjlS;OvP?dPtnk!@#%4e0xaj(1S65Qy;x& z;~Aq*9G!lK_w;x&yvm;8*$rUce_(V&_hcDF^oyS1PaJIzQMJ;o@~p*E{E4IONl_Y> zJkbu4u)RFTrzH<=N6_Nu_}EffU@Wrow4MjKIXAUjV6O)oZU!Zy_wQ;|Lqu;1zbxF& zMfA4H{O3T~WSHDDV>B$TvS-a3{j=tc7}vOS3w05_E6^;C=v_%P&aFt}22bM#XxKwb zAaz1H0LzaycID4#YiP;611#@ZS+(S=kjD~5R+)@dbfqW1nWJM0oQIv!rgd+odJ}zy zamoc$w-8@y|R+Rwr3NmU!XB3;kmP1Egj@JhKF2XC4~`QY{Sl?HFS z3}nMgSk;GDD5IvsraNewf1hGHT$y#a=T+L_we85{Ax%f;$kgEi3&9k4jLV)znmv`o z_3+xN3sq1YHvI{3T*z}o5;mmDbqBxqCU=9 zgi;bVJ!A9^16m^#^@CB-85ky_brLqc9zDy%q>e5QoBjZpeqUd;jTwWI6-90CxdAjF zHI_`SB(M;i4*l>m61SAPp82THT~u0cNNa1S)s(-JlrlD`=t6mQsjZU?DgQ%HdZe?$*H~pl>~EoRmHJ z=yp;zDVzKEbNQDhRqYPq&k43h#b~jkb{Zb>f~kD5^J|dvbHKyi%I5u00V7X>DA`2W z+JS}W9`ki#a~5yovS$OkdHgqEhpLyvei%GBItY&oh2_HGZ?$*porOEys(0(z8uVML z86FhkU1#xbJu4j*uTQs;j^BWUj>?LbA+-(rZ6m#Y=kyX-h%EgbWQ%=i%SEO5c0#a@ z4uz0bEK*U+zLE4?Ywkxd)M$Ge1+OuP>N`8K5Wac9YL_$M?_!$U|�z^ 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

Tr5W(&4;+9-Rj^Ps5ix}6{GoC#Ga5`4I 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

X?XKPZG@(rj}oKf+*{Kw`T9gI%vo6 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

mlJsaLFhPy9AjRZk> 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�-Jy)$o`RF(YF}#f**_7c)L) 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

EXEHl-foF5z@t%8#lniX_U-%gj*lSeE!Z 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

dFDB1C>-= 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�^z57>j`Z&9^HdsUOQQ36|3y`ES?Q1MQ!$_-l(>N)qpsbxd8QSqICv*Zr5@N zRgo>>5Ni_&?_dN)rMAiISE$|hQkH_bW&%aVU8wTpQVrEyL+ygA@M9ZDhfE6;joB5L zTJlG$)G}0!OZ~L9C-_#g_M33-z9R-q;-%iAEc}|&2hsibNORlda!s_ACb}DmR-uWn zo-^w;s}7}D-1x+z@-|!40)A&s-w)dBK>*q6Iu?o>jApV{0vy;s?CGuS9IP~q?Xo8s z-W@;o;*Z@@E6BNFVsFjFK4ju1sK=2UOf2rhiPPdf#Ii2|&PG-1939)hSW65HqY_3Daswdors1eqW+Opid**|)_x7G#y1w@vz5QYLWP@ZO*Wx~07d*tK&CX|#6b8tWbkN4v|`|*CM1&|5E zI)E4^*~_rCQ!OzYe8(OGrxX|Q3OE}SQ*LBxNH-5PbZIjahMw*j|6IV|C zt@)N}@`}B6lk-79eGY^_n#WlSp99e}H+APG^UNNpn?VCO&LR+|-pnVE=rl*BbCK%S1FQfVx?T%Fr_@Lgmx@to#b6hxl5G? zmGTm9H(V*K1*K@3(|XWS=JZJ2g4?cABv*t|S|1D?M`AF+Wh5?SkJ+?!@td4i)FO@W zbe=g1b!-CHW>@tGgRA?uOp)i`=?&>jq(N1=7UwXdDi;UIPc#n@BKdZpNUw147n{ zr&_-qri)%m=F}nC&^p6yRg_yti09C#O1%np(2Be?opNpme^rTFktS|I62Z=fS{taG z_mpzphjO-3Ijmiqy@JYltUo>xFm1n{_{T^)Ocy=YKc^1KhSnKwtD@XGLOh2?Rq8FJ z9A27EIX3vKO5Be$aUYUM%GpHaY*otn0LuA@%3*CRfAl;1OSAMVfd7NhB402o9`Ikf3vIgNiV> zj@hh@T_vjMX;IN~s%W`Vkt%$;e@-nD&Qoi+tqOB%S!5uDPF3my6hKA1G@Xjpf=7JX z4{74RNFu3dJ27J>c9O&iNjx_NVw4x`wKPXUn zAU_P$MJ}`^Ke{p!(a%;KH=*G*Q~4<|d^Q515l;d#E^I~0B4Osy+ObMl)$z2GnHpr7w`{b3VO7^|a46j{=VZ zZ<7*{HseR(Y{HQdu#Qi`I6U#`U2t$yuw-u*_Cicmf`L`!hEMe}_m*e)=BcZICT`IjDD5Y|k@_GQI2>!Ad>>VFjFbd}HlmD_lw2bvTs|XZSwth<3edP=M2s|y0o%}a zjWmotjFk8SM#{#BV5D0BR@g}W&7h3b&xUKH4$*py)W9htT>>6lBb8he8|iIgq_@yW zKLD{1BW=Gb#7NuWW_}}0pwwo)d`8-h03^DqaygB(Jw53%@ubTY^47bBmD=BbPxm%G15Qdc8(|g z6K>`=(kx1C*2`z4GYCMUw4eM&>VtqMZ4V=zi>f(BN`m1=N=mMg5-y*SvMi#JUIx&( zVML5Hi~-xwc8xTQK8%$30!GTlh+w3b0<5r+`kO%+shCt96(ju*jdUJ}g&667a689HpTy1lM*1R3ZPv?Yq%R2oh}I#3HTa^vJ0~Su3Ieao z(12j18&NgKNJ-FIk3@UYW9dn`1r@VNiocr4dxHebXQeEQXr-F~8aJGXm43aYxY^DBoP*&<^!?jX}XgyYH;FOhK4jx=9m0S~B>1$%8uh2?2 zgII`_9(rSlmHr$z^IK^gr8ev3v(m!|K%%st{8s9N;FBe+v=^%8SSbnSu~L$9t(1WI ztdwODt+Y2lZREEV67}1PuVPS*`E8{hUTs4t+)PNcC^MlF!_9;!gJxo&9mNFY^O%W& zRc3M|u;rSG+-+hr`3?rDpzJl1lacqE31N+yuu4PB

0Yw2|LTNYrm8 zzKTIL<~Ngic(o0oa5Ev%qRfO!3^x;^44R37b`%qo&toPAR+-7sz?N$!a<>RG$-f$Y z7U)zZrXr2J8ctxoDZ)9+VO$NzOC#qgcJ*pFb3fH;c&kro)h&=FP9@hkC<%JJUb&!gzhW`6wEkK4J*%|xvSxSA^?dN zUJZ94+|}?GP&H>xM}pShkZ2xH1dnQ=k(AtpM#7O1u>P5>hAWDD4=voUxc2egL+SkSlD zJBP81X9K*BV;Ha=K5fwR00hug)dad#*28&D-0_{%dieZ7frb##1B`II-ZId75NCk6 zgn7sban2vCgTnSH2THDpZyAUcal;@C_N~FG)4&DnMz4rVu84kBXhpn@80!8s)E7Z4 z#86+u?HogW6*u!6>PD2>te4MFHxYnDX+zSEq1!e-2)!cyF{m!ZlRMHL;;~6hm!KL;V!QLJajw+|Du7FK{!zq3%Sf&3gF^HC6`z5-q$c?n1b$ z;(MWLj-isE)e+t{l%e_=@fxZ_xE@0_aLQ1(gI(89CD+7;+EWa*2Mu)}h#X?5ZE!os zP+Q|>enV}CQk(Vi8ESh1kZ9qRaUX#LXxuO& zh8o6zZD_lO8b%+6N_+uBWn)A#)WZN+*iiiqp$yf}h}TdZ!u1%cfm4RMFSu|GRdP*i zsDs5&2hvazAQob%J#jn7P=A4&`3-ddN^RE5XQ%@SK%#|L$6W|_b$k@6<`^moTEmfO zk9sOSsw}wJB*kB9b)10tER|&uE%j)C#tkQ8sbL&AwB2>bF#51m;tN#E95>1y+VE_s^(ZK3Ffg>l5#DTfcY$yWf3j)EP%!hCt|5#9N31o zYpG%MVX4FyuvE52BukwNz`~a5ZwY0oenz~O>JYBSQVpE4)MLPfYpIee-ctEG4v-y) z3!9qRv~{9b>hZMHUo!a>C~9++mu7yAyfvYXS|vXnuF58?ZBfowahTfw)I>w<8~a=hHORN+D6* zKGn#3H{=z8U_3Zx(`zmU-qBJ}RC)SV>*WSknatUsgx2MoNuKp`x!c61GYRcpl{kY| zb2^jXfwI?h&PCpDI)pU~p{&v{tN8=)Ir_+NH6$Cf8ei3*D)U=SJ^b2+R6c_t*&+>w z$_zIcBF!}z1Mes(D5b|>46HJkbAT_`VB~HS8_e&}8kiLow2PbCJ)=4|zI?o3=eCqc!=w%bXt1t)0 zCM0T+Xw!KepaO&=7f$0$qig3`+2{LOudYF50^?f)d@cGed5wD!UiQ2TuV-I9t3}tv zy)Fc9jPke%1ug20mxFk>r=;B2T~9W8E#LR;P9@1p087^1)GWRgq{}a}EbM5teur-~ zW9c}S`LGKd{5t_YY~f=*P9L=SnmEYg{8Nx$%~6vlvtfx`ozk@-NP(xNhfsL8XbNu! zDU^p(n5*=ZkI{F4Mxw;u<&Wm6O937?`g#xdsJD%{`r1kBs}{h}7x$je>Kp)JQ@-98 z%6YC2-cAPyer_+b-UtYMyQmbZ%iK74z~*#QFI}45CGEnysfUlk-4s0m-Bf+)RJy5`0xc_q zf^^fOC`dQ;QlRmKPzdR!UPj*$%RpDu-E;|56*v0wbyF`bt*=ebI&ST3c2h5iznjAI z!7xA5-P9v+zHaK}QM#!Yw^n8mb$8O7 zU(wwBXk~r`PKhATIDD)Mwl%Mc-wB@4AL9n7Wo8@#r_Yf;*6#m+kWEE^Si7GI$^S!& z&D3#h@_KIO=hW@()a`>vFpGO%zGpP;Ob({g&x~dM#D{f{(zaCASa;;We`~&f^cR5h zB#`N6$|H1Jpif(O8hEIC2O;m@IK$N`z$FHk{I9|XFYk8AXTmp)C88DVPm;}e-XH8ei z8tch4AT~dAu(p%jeB9N=FZ4O@&*FRDIh9>FRkhpHTwUm&DNQN@Yi(! zC)%Hkg@HLPRn6>7QMvG^<)Z}MAwjN6enIJ5#VHE}4M_MJ?y_o60HssUAs1gup=sJ4 zn`c45=AXqaRP4oyR*ua-kJA4SZQd2zWAiV#x+rM#E}XIX*HM$L(}zmNwJ)x@4crfR zQ@S~l_$@ZypFehw69a6XZ5k(t*gPA3OiSyAfQ$WK6O6uDGx}!XV#Q);z;Z@YiX62_ zpN8pXY_N1NNygI+m%t5ITMGkjYDS|S<0W)cEt|zMyLSLP7^h0cA|YLIvNhFmoKuU` zOVG&aai-An;bfGLN*t$T4mJRH{x7(Tkvr2vIUI=M27)?HfZ9^|2KaHtZaipgsnmx< zsUn<2v89rSLv5){U9ChJgsPtPUb$PuYK)G&x)m)4{oI5Lt&v%r$BYRWPGm-!7>`8H zA8$jMwGm8UT$)#f$rxq_mOb1i9FE8Bj3H_%gUj(EMrP^$900i1rh?0@`+aa%NDw+7 z(O6HM63f&g zZxbD}7<1|-aPg#Wg7jB}70x?)3xMI?7aSeK$&K@l9yXRKPt#j7feU1}gMR8$z(9Il z95yP+a4}CXa*FoxyNWKx;zC_8o3{Fc&#FW}q=~-NfG}D3J8LJRqIF0oWqs%Iv6aiZSJu}n>e|H1!=!daYFq}2X5s&(}AEF=k#!7V1GC~d+AY*sg7m-xgcPQKm}RqWVJUa^^LjMx%E{VaSJH2DlJY;9)KR$pMQ zO7upW=!Hag!RJtB4Mtu)`CSbAHMaV2MH2TR#){Fj)raN4=7%e6qHxY6wu#Hhp&_U3 zm+FUGAp1N}qah{d_Tk7MH5W;0VGKYui}s2uvuSG;G+dQfi8Qf-$#N#UfT)&f4xlU^ z?5qZ`6L1cuML_h#SNd9nmR~YLTuj)OsB7(x1ihHc%$Kqk6OLIJ?p@+F@jYMl8z+>g znCwefxocQulB=ikrK~(3a8?gsfLD2apl0|)Zrh?q?5z&5WU=+I;%+XULocV#VQZ=; zo6jtnP~uS*B_5{_7PW-zWoOp(xT(b}1AESCv1*_Y945z8&LtD?6PJwjR}j}zf;vl5 zGkQP~q|drznb@S{#!CP-zSBmUfqPez(9^gN`*~|1S$Jz8UEyVC8kW`#lm@sA9N26; zLfB-NHHFV==YAy%Q!M}mBbbL8uq(+GVONC?u>A<+aiT9$ZA#7owjWWHx@`Ri*!lpY z9ALW*nC;09&#Vet@kHZPOlL8%C6~8-~b4Il$ImKf(dF>_53?c1V5;bPurg zsUg|{wrq5H9HiZb9$?EJBL~<{8@WGza!AeS18k>_oZRd`AqUu+P6zW=2iQ&xXpJ5K?2ANu z%B})+5QW9ig%#`R9ja3YA{%dm#4-gXd$AzS0-MOV+-CHV|T=__4^Pm7Lz-P3+9lay&KmnA2kGV0A$AFo)7kQW{nrCr)Ug z7wO^Jo7}V~S*}<2M8eM8hj%;hF370{$KAfX+c9`INldBExE=3=!~xLezyh0V~M%uuTiSsJ$=8t)H%3hc_qlRS`M6oYNk3K&I=BK&c#DKaxLoOC3)B$YdJdI7BB? z8yB~sXW8_OSR)t-N4~sL_duPi=|6}BBABnWHqd>qL-)n2ld;To?7dn6fzQ$U*Q_qKu=o zJLxIM5T-?nJ|fQUFF`QJ5v@&p@I1*%TpObDI-l2mH|0Oc=H$+K!GcZ(Q^^;hXG0yZGM z5Et^!tg<#NS;5E>aU^>9&7jO$N1NeInjiekO4tlNc4j5*l2shLtf@pnYN+CR8Y<(7 zN^(VTtDmSsrwwyKv?_54(!|9~<}j&6;+r;%1Rw4wk{W?*d^i%z6zFk+1vZf}RK#YX z_D7{MZD5eI*K1Y*0D4o?h6vRh)XpFfz}q%C87SEnGHswlG7=kqs;3PEf;~}!IC)Uh zhNJK+!nA=%A(eMD;IzS4yWq5;8gxRY4WoG*i1oDLXk_CxNGzwooi?z6B1{_$B{OXx zPUyxrZ8(->X@tfN$h6@&-UT!MX+t`AS4|s!iQDlpNGt=O&4C3r?*Wso_0~Q)7B|3! zf7)<7K^+qydDLMu2U=K98%~G_?x4(PG38030z1BGgAqSCZ6KF%R`5?7*!H>81}(VP zP=eEjDX2(m^-UW{oZ~~ou(Gj?nFps0Q-Luqw9<}3ERwNlTc~NK4FP34!1=V-w*Rk) zC2G61O`b_kScg&vrwx$>Hf+;EF>TO7NG^QZz>Z)HQ5;adX~S9Mk4)xH8|WDw_iU>k z=u8`aLjn=hpr#F;?i)I7IGbD$CAAcsHvA-73Qik-O%BKgIq*#zjK9d8Hn5IN8>mE? zHqh?8(+2v8IJ>`R+CY4qHvA6P;IyHT%9Fn(GS(uCGHn=z41Vir1IuOFKqne!nQz)~ z4sO`A3(O9@(+1vmrwzl91Ioa(LGBhY5bJ3}ErxR-oyq9}uFR&bM`2!7iARto{)I#j zzjII))Cyr-LnN@1t2tPv4d*JZFGgid8zff*xB0g!>VUs0u?lJ81|*tS*{Zk;dA07n z5Np-qt+B24aK+8IpSx8-6wU|oY~pfqYOCTV+=7bqR)yq>l_YelVo@z6S%5Tg1(Uxs z`4fm5{d4`DUl~;E@27C9f`E8-c&o2PX!+%CRs02Yt-m6{vpgfbuY?wC!ZC~4#Y3`H z@sMm);J0&_x@=Wk7gm|%>ZvSS6*B;5Ee8gSL|<`Y*%HA4UtwZNzo@q=SZsA&E!FI^yc*l6sh1 z6{LSti_a^uRq=VHO-k26i9 z@d#nFj5USNYTMk$0^PTjsXqe>cBQu}Bv*u86`EK#n?uVgL7Ip$*$H+MKO*r>tj9wv zcb=6x3EB9GNGwyJXHqP%iA>hxScpdDs9X}d9ybmE5Km34BUE!xI|F?HZ`U z6KhIDww?Kro>&tI6KhHkCl6|3JpsQWOst6%IKA^FPON>k3r?(00iBSE^%=ZPX4QJ! z>Bz=UMPfMxGO>ObZDX^6unRc^edwtn?8A2qiDiy#r`F>Z4>9X;hLV|B6DM@zn^;dG z*_?^>WZnfc{)zRJ;9WJbJ`1oR7#CV;Mh-t`xgbhvDLAqINwgH4SWhDdWP=>|Cf3GZ;Mx$CC$mJxT4Yfs)~6wZ-+E%ra+z4uiN;yx zn^@1p4V!imm{{|^JFz|iIiL(otmSSI1974CI9gj(q7BkSYb1L3mG!tsX*0Y@^MjvR zOPk?(+$h>5t2lP4*5hU=uJwAHK)lwe|qdY+ORr&2Q+s&u4Ev9xY{$$bRwmp6-B=l)8luI@u+e2sLA#YXMLCy^JRf^zkC9lJ9|ryhKly}Z zVr709IJtD=z~HBzO_zglt4Nt22I@!|g#nQ=KMZ7~%nt)o*8w9;Jzu1Z6c^zbW$lX5 z?Z7=*cP9yUx9+)wZt*Upi93;K-#C?BZ7Xvtob1BG<(VSMejPvtnPC)dY$WuDedcb=OtcWW`y) zv&oZ_lU0o~!CLAmV8)QgOEEF#g~o{wFQr1ZA`OlcpMhGWal!`}Wt{jNnC<@|$sH$3 zZZYFTulFL36Q!&o;{>G$A18>m;5b1f?g-E}xj*u`;{+LZp~{o3HI#3hAS&BHIvqGT zPP743TA65pBpg;jbTIoM8WPlB-Nymvj=F%JQ#x?|K>$0~FK7J$Aj0Z^BnHehn;V~2lzgn8Xw4wP^>KsWp92);o-pUshdW@IcgpY4G=_m1S9 z?~jOO`g82!9+2oRUZ8kh>aqiQqIiHKY6;`mq zk*vU4EW`K!if~-tA3=;a0N_+M)G7mMRib?@8W~u8^9;k{o4@dA&!O7Pvm6{Cp#*RU z-AMeMd@VEEyxP-}En_573`%WlOEHRGCW>AkbT*K~WvCk2R5yzTo6P#|hV{vwVXqwHbJ_wgCN3Eua;^q(G5TXm zVDzZRjQ{8qfx888`W@)ekP2*5L#M}e<~GXE!>5Y5MiqNd6~0d3@2w$R-41lJ_<9F_ zG*68J$+)>;>_o4^62E+Cy!Ss<3M>B2Y{U(OkId60Zas{2UEx72?|p; zVCqgxB_2#Yh^Z$q5onAWX*|Wf(7t58F)xI-J{Y~{L=0uP9FGgwkSxxkg2Yvc+mY(& z^*9vU%rjD^l1b`BP)CK6Py${gSHx40yo=wvh49c57xKVt+FBz#JWd{Dm@RzzKp)hx z30#}KZzvdid}wN%Vz4htz#wxW%8Gn$1Up6MZ=7k#i$X1~4X!!E+<<)u_c4R@JaVWWT`aNHYKVq621${Ls|m z3OSSPA~2nr48%|!FDI9@t9B4oQqp2POa9h=83I-%UZmEdwl;zJ9Xqu4%8JyvU=mHD zTbsGYw67lr=y_rp0Q!YnS{s9E)vKx5V?Y4>Fd@^n(CLv*?Q-X{<7}aL~ z)n{_)qrG45?SC*b)#2AR;3(YbZC>tO?X7jS)OyXSRl@2HQK!~xy*U7GRa~~kML=q^ z|HcuncoOPdn|-v8b?;iP@MYh`X}rtuG-s1bu2dS3$NFH9{bwH-)%AV&y7!xcv>j!& zDHhH>JEa$sSb6eK5SyB4&r)1F;A%Yq0wIKf^-b#M);`+CZUuF<4|m%OA?vF=(m-_3 z54Ja$i)fRZKX=OgeP8MmT)i<|!RTk7%0XlHsS=gfN9J7}!}TESQ08(Rbo-?&s5`H4 zb)p!bt;sJ2>s3IV>w7_<&2j|pre3kk=7Ui0$Y)F0{jlo_PH-45UZ4DDFSd&XtTHk0 z%pc9;RNk0osq=U#jq~EPXeI5Sm>#u=N9xdd<1!W(Hj4OiD~qP9N=!qV$S}DGiS|e* z0MMFotGJk@h!kClfJwA)!}c7muQ(qV;J}_8ipn{A4&Gwe_w};paD9bMhHA5q@dTXJ z6KryZW|uFNlR+NzgOa6Xh{5HVKYxajAdwzqBv-^BQ)mz3nE6!G(MYv&oW1IKO1%2_ zs(pY__8=|?W_tmW+&zfvaaZ+`+rJCxBY_1h`SRmZR*^jjN)f&XLA1^kM$QgFM^^_f zlyHyACK7jdp>6UmDe! zSd17j1ngB46MngS)%R+m;d>DGqZGZdxV>s!x$qvuedOFQ;oE~)ff7e@FcH32eIuaY zMGEd!69!$YxV>t!5xxiEL))}_5Me~=1f!no;IAKH4}$&2QMO}dvIh}vf$koJPYu!b zAlT^g>_xi`-Gg9{kv)i=6Cc1&8Oijy4m&4KZvOUZi%y?DAvltmZU+Nb`w%-P>U{`> z1%uYkiQI?SIWct^utK5v_N%412^MT_dHz>jx!jvRJV< zCySiqlr+Z?gKC<46zbRnuFd{95gh+GF=Z=`t5JdhkGYUJS>#in3VHF9h1HYDs^Z4+ z;tzrRDd|N~Lyf{(W2GWr(=*8awR9xz(tv4Jm-j`n7h@reVG5NgsyP9aY z7vG4|qP@7TT-b}hN6rlsJ}>?pN*u}adhr(lRi76pOwnGPY=nDpAKIq%;$cJ^;>G>- zBY1K4A4l1anTZzmHy*PV}c=4H&HsPn&i_e@ix%q}rFK)V> zq|`rvwSX6w;wJUtlf*TiLDv}7ixU`UzE1+jGbW`rD~`1n zXYQx+;y?bKbMfzy2EF+Epc=`G`v9YO@vXpYZ$pyn#lOZ~<;53%8*wiF4XcP3rxf8{ zoM;PraUya3bKB%@w}p9eGVVf^CwJFSJ}*vGwt;lISI~=>p=w;}r>*NCs+x=6N-u82 zP+pvvd|rGHO*Gt#?}gH$y|}Ji*o*H;&J7bjFTTSod0sER6HxVeal#bs#mPpv7x$rU zS}z_(v>{&HUq6BuXaC7HGx6f#7U+6$pBkchaW=YmaoTOD7iW(VFFtS5-uUVD;`89e zUp~F|jNG}n>2{76pJ%+d!U8WoPrUfNNvSOmxPTXz;wJUtEv}$zY>qUt7bh@I)ub1{ zY*K0;=m8vSFV5Ug<;8awR(B<J`hQ+7w>?(%8TD0)r)sz z74hPfBHW7;Z9y+iB(8sMo9v5x?p&OVyHMrHej3W>#fi!`ka@j$5>RoepSB)xy!cXj zaU+KE;>6_h;{7$za4&v1N{ja5x^iJJo+9Ul37;45j1oukyk5Kupz8DDgelsKlZ|jM z?nB$OUObFwL%g`ZegrSh{^KayF*EVv;TGt6ai1EZd2u$ncyZcos269C5ih=Q(h>OS z_2LWR#a{~b;-=d`wV{eaM ze8HsD0L8KP;>?A3@yL6c@~T2>tj<6Q`*Fz!S7y`J)J^eeJ;bz z8i2H6jeQKTHRKEZ3Bu7gH@CK{UF=H7AD*7@6^Ap>hP`Z!s5K{WapG+Jde`oK7A zSvWj2`h;kdwM3)G8jU_M&edq8(kL&YQ9~FSz0s@D$g6(&gA{In@~RRmM1^9F5~RR9 zPaa2q`K&B81bo0^_5P9M+z#CYt$H`8*+ZpOHy#C*W~#x`ox)O1KY9H_f2&?qJ-Kw% zplO5rt!j{=RW}~ResZfs23%Dg%N*ZH^^<9Xs;$dELaQ2B)2bhng}FzvpDaBxmYI&2 zM)}h9j6v4@;qYkHX-Bf3u$HvyTvlQ~nK8(1)nTetd68B%gwd)SkMi`B$gLWDvv)dkFx?jyHP=W!~&P#P?<|OY*$gYbxcu**jd!gm3oBFV{qh7N~L& z1sa4jF%U^Ufe4@kB9sxRw@)CJ8O`M3t2o!u(nE((7 zuPPJDysEsX?^R`%8Fck>k{_;gHxW(S+1@go97uaV9*ksHN zSto~1P9jm}fYDSMbf76-it&{B13XRxy{g11ND~v7oQy@y%K3+5xG^5EPq0o&6}8zPEvLf~3S_KplR%#UYi7JuXtslkxjE1z8ez zaU=?y&I!-{@%U6N%D~`JtWp}6oI8w1o)hLDdOm<`Rf+eJMjmg0WF^T^xs=?_}tiaT14~87CDOdL9@T9D0my zf#tD6Lyv)D8|b0OXwo;D$k5{j)?g_^RT~7;#+T}KtR@HYRnd5q%4OPsoW)Ag0 zl4vmG)=NNZ>2Th5T~8fd&t|$FRGCMZxE{ag!ns21ahWI5_1pzM;)a=k>$wAORKvcD zu7~1+km_qKnrF1aI=G%!$ya_d*3mhJm_P$CGcwc4WZbhJWJxpyI*V9`FO(L{=ky@YY z;X~|%9S}L{xrf3nk25OS_0+)eqY{Q7ViRC8ZC#I2oqK_{KD(s{n&+isAjm1C?^*_v z5ojWZ0^YhGkk%)dt@e9?t9y=x> zq#-+si01*?A$CG|7ARr>k`}tp{S3y`6anOS_0k^TU|ejDOBI2M&AypK4qOA!y81!9 zAos(F1@X}={8yhFXZUC4CQ*OHbLs0*Oc;kTpJ?|n%rGA*w+y!kJzQ`vF!?h<7ZB9X zSl*GF2D zaB}KHy~nZC-0{_fo?$0vBn)kv(VyCuJH8qTT!EUZ@eoLj8%fvV86|xx;zr0TFJTk1KMzo<0N+|bTBou69cLI%-Uf5%()OT0 z_z*U|9hB@oTtIs(1!r{M=zymU&kaD1hhz}>^Z@olo*v*fQM{SbQ|jh)l;*c}6p7fn zGw{MSvPpDXdnWF~I|%4ZW+{(Ls!2V0J$S4+3ZOPb^ggYERBoqdobl z*o*+4$08EtU~DZFLLCySocL*Y>@ZDD11(tJepu0RI^IB7k}5%1`KK)RoCaI4425Xt zJ)O>b4?MJYW3VfNz_^hQT>D~)3uSIP=o}Z?w)!c&BENwt%LrE)p0Z>VlI9l^emtqVmD?@^->EDgiH}RR@@;vYH%}$9JspNx_T{M zP?xuMAjEv$KDouf3Lm(DMLS_S(l>&|b4}aujK=WgxVQNQ$%9 zrj!QlwG4z-193rn&61<-H5nt-+h`zUBwWB=%RtD$`RuikXTSu@K*$fQ?X_Ve04xKc zH57Vy#6W>X8(w#i;u{E2S6p3fRsAB8)YZU1=mk6s=u-h3>Xsn`p(?Zli>(^XWr1-h zo#;^5=tBb`ngDkdR5Z=i_h=VGx*|Ard;1g*-+Ol58yoqwCg?_tKqB0TDbK?vV5f3){XG*eDFXGyOiVRq zxRjsJGlkH|?xlfz+@YtL6jH4}E_Ct;#*J*L%%?Sms_%!oLS_4A?oTb_4hF5gn6Crw~q+ zTVG>xU)XB^#vDP!ePMHZTFpPjB%7fwqTr9sj7lwcBXb|pT(wbHZVY=Ls4);_B>RvI zq9l1OWnMY|V(@ifF=bDt+~_BZxt)T*xW1`1>U%@$#1|kEEk}>znTn|IqF1eDCu8J3 zq#K0LsR-@sNv&^2o)7D@OZrF7$Zt}zWK@deL;)jvqyI&z&X+)2pPk7I>()~Neh{(loFToTib~0SZhP;c=HsVU zx%2Vg0NNpLLU?_Iyxq`;{vb3HH&D-r12xxUXArYPWOV1v98&K(_SV%u<3&y<^r)1Y z6kNl+QFHOk<#j>7ManI~Eg-TB`W-?2Ocm~eeh+Y~Z_3ZuYQxxS5a+OHa+ALU`U6o^ zl~OyCrFOVyaaUbCmrCtO_wz@f^>;rv$vpg7G7rCBABUy#K0?&Q{64H?esFevD^N_9 zNO7Ug=O&qj_kV*n&n*0p?ZdP1Mz+wg*?kJk!W%eGv0PaO`jgW6^aJb8r(q)iES=BI z6gV%))LcJEt|_k2w_~}u>1WaHeD2~(sS^VDnVHJ=itvrX-*jm(eC<7=`Z4;eJ+D@5NP7mwqZVSt&0V>$-I$nvu$+? zyrSs|%)sZk$MF0+bBXH6mf>bd71cj5bU-Hy_YY+Dy#i<*;x_$*yslJc-?t+baHXaY z7{8z^HDZZ$r84*4oG6NMrKSv*k$kRHX5P04+5)bWrAE6_vb6QCG|#+yt}8XN1sC~T zsm!|@IG-yuvJ7}fnRoXCYgcO62ms5xdp~HZMI}aMeQG?_>GV|R;bF*AnKGk26@?t( zsoZbg(*nBF?z=ctF1L-es@?%fHiN*lJG_{$Zh~IS3*~Zx z%(+f3Jn6n8xQH880+a3`CqsOw^#~`EpNuFcW5feo+R20`-AR&I3fV1e+70X`oJ=|1 zLFRhWT~bYIHy?x!IXj^cZ8z&qfzMfjhxQ@{3lRkDCLg#uLA%MkdFU=cgyP|QuM;dQl<0B$bSCIHj5s13hbhg&Ci6!A3Jc4{3D$+{8N%z6twCtqh(0iH z)T9E;TZhq8Nx9;Sno1&zXaNzz8xI4T6gJAf*^!{L+8ZsvVoOFdnQxrcd^#&O z^pIy_vkwn}jH*X_D-ssLs_U&NpJ;F8Q<|W+GV+MjvzE{ zWFPQWO)J5?wHWQLa^)B0uE=AwyUH(`D0gM*B)_|&m^^o7tVmMaRa?CC+?AwCa96S! z;7nX50#s-4G7_R>Y;h(IUkgKMpTuA^0=lM~xzf`eh5JoZRu)||XW z87aaU{@zjp_yQw3XKD#clr5OKZ(q))p3S>beoIl7#~GEfM?vJYFeY+ZfQWKp5*JW{ z9^5#orGv+d`PktD*Upg7Obmyh_}8ZT4NlR%$mT5vBDL_c4gs#$qSqlbR zUNRmvWIV3OU{Uxuq||+Y-Y59JJTBCis=!YJ2UuT@i1K7IZB3Jkxe=j#gI7Dx@SVe_ z5J9M3`e|`ItMNRC*czBni=G|8w#9sq`5en4O8lB@$&%$tK#I^;^G8LTn1(g8{-tNU z+U^FC=`!UDV$4lZsQROlu0h7c5zJN|XH>G1M&42OGRjNY>k!&6GFXd1_cP^=vN0%8 zv3Y-&lI|!Q2?UtRTh#{_oJD+L&3o;?qm1-;Usxkym`TmqWGDHK@Jo^qB zHn&Wi8K6N@CD0JQ)pD(ryau7Y+ATi!R!agvWpS$|q0A+a)##3UC;0d#&n1v16U@N4 z-OF|qOO!-2Oq?Z5@m5Ru)dUPpzKx=sgwVbkfvVHvtnej}1OP+01d>qZ=0v%s)9qC8 zO`e+*O(x&XiD$d4$gfgZ;rCl3r#lx;N5AwO6rc}hY~l#=0X(!9FqqHaeg^j;&}uA4 z)&Gt>MV`=;@R9FCoy>n4 zINy-c$TKiXlp&=bSPv-;8v$S$QvQ=d51-JWz#`5qEbyJicjrG_IMfwaS6fwQkfg2# z=0E?1hXH-!$jLjLT;Qnsd1wh1TQ!=?f6S2bKO9oB<%dpa&pJ=zN3Kkx&T)`yw3LV=i1~#Tb&kW-5^&`?_D;ch15aaZl5&pYT)cyN z>v>X1mFndV#nE}73SK_>6%^JPk3!5fEMwv2zQjZO3kIJf(7sLWBI5(M`KgoK%uWB5 z<6+uXUxrs~oq>I15uPNxlZ^R9BC?Zg0#ZdfR6~nvs%Pi9`$hIdTmr-nu^We)*YC() zvWcWaPI8-Kz;e*<81Y2<9obEGDUlTCcT6cRGx_|E>?f-O;(~sMB}e-mGPd=8C(n+u zT)$%^3_kMt9obQ4;Cz0^$TQ$dWM_mQSoK{;Hw;iFNdlg zGV7+yXoF2LM;L5)E6=35JIY!(R57=`w5q-wNj8YUjxssO?W>)jF*g_@jJaP1VXKY# z9CI6sN0{s>E0oI#vgg|R@Sd_Oz(?FL6WAINI>=3YsP_mfnxBj)D{908TzL+1lO(Yj zvZu_n9c4wccn7KLJ!O(A!HVXez9Z8qdk2K}_6(XMpxML(*?pBaqHur1)YEr=jh?<^ zeqNVS%=F!Tm2Ls3?)xgOsVE8)M=xXg?s`rfks|D&DJnoPDbnpS7CuQ$P=};oY9L^#zy$dSx&0dL{Ns@awi>bzJ@Xmi0>Oz$2+yeA^ z`S3Qn#S8Gz{s)8e8T_5Wxd{A&zuS{04xK(ITUz!4UyvVRuVv5E{pDfZx@GJ;_7It>Utz|27Ghz zFrZ1{rLw$hh&|8(EVg7clbcM>U|;qO*xExIUfA|SqdQuH&?BS#s{asXo}@-F?@oYG zV$rLLJ~axiDjEqz^bkyGp;bkH9fn2a1gl3DdN^ku-UD+d2#uTC2n_eOwM_HYbo4r7 zu0*5O8Ob$NF=AUxeqlweGn!fgt~}dfC^&DpXDm%p)){ZbJIGoO_as$9MgCI;Tv23&ie@_mV1~?>EdK^(ghv?mu$KgYYLq?6^Fn=d%(Cx6w&j7uiTUf$Q z)IdD62QcWz;0Of%{?l^+FLJC;%qBDA5&o7unxrKvgr1uS~%1dS65qAzl3B? zU+P6X4CqsVnFZ{}QrG3m=HcDZ5-hfAG?xXYFV%^CDK`30FNr1~e1)D-_~@Az5*ER# zJ5^5k@Vz(PA-jiVcEzVQ!Pylfk%+#NDbK?vQ|10T3ya1HR);%%67D;_3{vAp`hmVv z)5-PqP1&Ak1$(Eh5zt9|%n+e+N&8r@q7+e$%og=`aVNGP^oRGgUc)tP#RZZ!-Mab>WJH1cg(Dz~wO)pI1 zFwuhF9CC;PWOC09A7XPF9-4C4iUtoFn0OCBV1Q9XucPRDl!TEX%W)~u`@mG6U2lPr zhlhZXw~#KD5$iEac+sCIp4Jv0)V02A6a0dbDF7U-w|KY6Ep0i;Hmz+e^WRKs4%!kzCni;FFX>M9md_Ba+nI za!b@VC35*7{N3&dy(0&zx9&lQG=kP&Y_Oinu#mf%EHr=m5hx-uohMT+K&E_t#gX9fy zwnsh}LJZOGXmSZPrsAy=r;Zvw^7SqOjm1jKyxMPoSbltkACgUfCQvU3z130g=RSuG zgnN+N?#}I@aFB>Up)0`@CA*#D}mv_@?vtY_>dBX?+0BgKtp7 z5026`T#e7)xu^$OuS5aQm+J=S)y6WN2|a$dj%7z9U^a9S$G5Rou3!<($6nug6PSjB z!C68S@_1+Qpq*oxyY_`1?YfGW3ran#>w?!mbm8j<@tJ}1_k-SnlLspYS!*J2LFuLn z#(RKK6!RV+B-azWaQ0(P=RtiHyM21cVtru}=G7io*1E5-%?c4w^;NRM+s$1@mbH<6 z>~T~wbd=h_oz&yoG?Oma7f3?|4(8kPxTH$xh85D)2O$SsNP*B^j3A(^eBjsBA3=>{ z9tL!kZ(Ln95MfFQBe25M5m$y6Ssl zboB{v?h+(vwS!yKiqTaM*VgOm0;8*{ zLWFJVDr6Ol}`VqJagN9yXM2<=A@1ay@T{JOdY)Hvp0Kv((3)l~x# z*41^R>PAP|)rGaO`J$@}YkvWr2wfe9>Xy?T4cXO&`E^wx2h|Iys|!U}7mBX>-WXkd z7Mw#@eQ%(vGe>I!H8ZHI%c6i6iLQdR%&iUS>d#=hpsuoZiqusP*VgOmLZhpyLPS*5 zRmdtzS6SzNUHu7ZPgfO|adp)|gmv|$ zJi5BLwz<;P#kCdq5uvL`7ptp_^XsZY4yqSZR~L(}E*4$&y)n9456+>hzBka-`;D&N zAJo;Gqkxx)t}ceI-qnz46jGmk;3QPXqbFg^Wu{&9OvBSdqCWO) zGGT!Dz)6E}`e$`J4z0ciT5A`4@Y==7+38sOdVI4O_}AmJllU?!zLI(jzR!rMiRQPA zuy&0Ghp=BciCs8mk`C9OnP&v^$am)lqbrOee?XB^8jj}5$0^lvi}VcjOjl-z0{t-z zs%F9ipg#d7(Sr3*9%m#|5{BC(x%F*SYJw`b0H0`ec91GqP7%G3rwVdEdTKJE3YLef zV6q>pse-qO|2?UKw@?Kq>MC%CTh~T|qYB=UDqtq5f>F8(oZ&fDKyu9YZ5yZpKWM%x z*ilshBdG$zEvjI76Ia1C_>7>llT^XD{t(es{i9n!?tW8~2~{wzf2bAQ;m2yK;EMsk z|CM|;@N-<9{#RaMj#h9(LgGgx@kf$K*IHUq5hbu%-7asmqryXbdnsQ0-KlV(#O{hg3Fqe0ukem(E2y74GN;IzY@4* zlI0rysED&{OtS34s65VSWLc|$5fd#%TTN9N|EMWD4?O)NZQaib*bRs&AJSBde%5_> zs1)UVYgSQWHW-wcf#+fASUBid)N&1x7|AsR@L>`HnD|S|Dy{;9nDbR25lRitfZ%G% zE=XHfy{>EMa5$=7_1V{|$28lJ%%mQuHVRTB4iu$*gCW6D{MLB92+T$iFppOlJacBfuo0t>$@|3{^{OsfK+Bo|r-eN_HG z;1lw_2@Qe@63g5~&O6pMKWjr0?cyRd1qvH0YE%a{B4e}WwfrB{bSG3g$oOYscM?$^ zXC&s^C@0MKM`KGd-`gwmT~jW$aR?%s8Ya`$S}wEfiK6PWw{mr2HdiNJz(Z}rk0g`; zV8X1QCyTd57tQ2>LGnTt0du#^a-`)H(T z7pVb^L^@0%WiHelIWai7^gezd?BJ>%Q14YeVh06^%zb@8;p~-#vsWIlzxcDgKmug) zN77Xumz3wvigvl`M0jS7Senc%L=-fWY3qsiIZk~Xq5T*FT~l-U&fx?9IQ2kK<35Be zyt!(=A^VFm9dFJT(l#ao9>ZQq? zd1`@hk%Qu;N!atHNzT|VO>&-E6)SJd81;Q{9ee{_`JspQeCLB4cBoY0)}v9t|HiTf zQO7c85*pf_cb->ZM6NPpv9M1i~>YWEB{r-iZoEvtxa$ zF=~a(Q}2s3s{by&Essm81U)TeTb`(c?j3|;>a#0)qe7nVO|`|tfNdc_UG}=LZE1za zu5EeBU?LzeJ>45syX#r8%n_}EwuQN9TUbg2($*TO*cL%*03(rV+rnJ1Eq+32JT9Yc z`6LP3@<|f5#b8oHhVbhH3TLk@oZZ-#N>Jk27D<&*XN7D_@;%y?UI^`;2m-c+5B#>J zJ*aWaL&(CjEqvqJ76TEsEt`|MwqBtkBB>Je^m=T)%G`mT zHKMtQM57p6U57ex6j7i3xH~Fi61RpNHq`DiRI6(}fD#9jrt&zWQaVji_$8|F3A%75 z(^jXUW`H{pX=_(~A<=RyL|UtGO%Cc03zHBQmLxgex)e}}-zaJrl}ybkKm>eaNCjdh z(^ki!P6r^Z&)!Q>Tt!hFI@CU7sBIf*j0K#vUOwZN(VHg5bstmyTdg}XDroy;Me#UB-M zRv<3eY6>|z_D~jsRs_|6vH7_h8_{1W&Zek!jovwAsM?f?S*eP0x0th8%*IlxETrD1 zm_s9r`5TH!*pyj$oKeXpp*s*kI^7Vl{V=c z=p_w=ensg}C%ut1(~D>w=He6CqiX$7AiE1H8)M72Yu2{9GcuFHq^7htVka)b5q#1m z?Fb;i^uaq(u0QZcMVxt|T%8cPnB5<`i15LOBUp~ZEH26Z;#yaC!7CEfkAR5#Blbi1 z2^v5;u<154h(9Xg%!>|T0J|TabGxWnVW(8T*9kaK;%^a=JSNjtyP?iuWJwwOOIfpR zhuUq1+O19fb_SevfCAIz;Sysxx07)Y_6=pYEs}q|xQmFLEH!}yBT{yBUCivwjh%z9 zeon7C0wtpT=etYJd+onVuI*5^Trr1E8{hBN-fuA^hk@QiSIV0-BUgO8goK8}XW z+R#*(zI)mRP+++D67)iROhwGv7Cq%4J)V1j3n=fV_z*LhW?LV$^c1j0%c%(cZSyY8?keO8ie?RN`1QWXXS^OZ|q#a1*TZ#!0s6#8Hab4^bYNl~f5vPMCZPIKbSS zWDYTtFmg4{D33{Wd|>2i>^6qacK{@piK+n@@ABjTtcBB7IH=$ZlhdX~_aV&Hwqk7F zMb^Y<;0E1{e8#5ewT=9X@@x7yV}$N&_;u4;`a~~A=6+7iWJ2%inm(b$$d5dnYF?op zpYjCuWqnwe4nD#9FlRup6uG&*wJ{19mV0R*u0}D73|W^k2NohXx6fG%CMm)DBPd$* z!sO6OU^(6onr|WU6eVg#GLvmMO_Ece@QXH4BK%qEma3VEs5DHbt-pVVc?;bVX5&e4 zSXK)P!o#vTfJ%&26f!EAp8bFbbnHty5Hp#!#)2N_RG_WTE;QT@hNzyY1|)B z*6Da}z4fhztjj)93&<76>1Mg&5Sk;l%9vOpc7qRKw!bjjFzmjN=B|fy4~!U7e*K6W zMg)g+q=0zQiXW+^hjKe!^; zh~0Ii(Uv7R1a*sd3vwTOebBQ3NP^li8)6Hw3-9$pHDT>Z4?BHv{-}sEHwc@jzOEW@ zX=mY;a%papE;lQm*7ttixJI6{VUiF`$|YMKvFTFYiLtge>Yug!TVZ z#lUAQ`tK|{syfcc3soH={0h+*5xVzA3!UWqgzjqA=PV$%?{a~Q*>1S6!1Ef zu2mHZ*idViW-eatdgQbAfG%p|MKAYaQL4!j1FE@NRP#xAxf-e_Wbx$iLSAkvi;nVg zH{ylQ%eC;locBfxo#gw3-jJ7@=3;hOy4y^0y_^T>^Kv)4*^BUU9&ogmn*wA|X6@ye zYK&#gKeAr=1uWSuFUt%_ak zn|V88xk!lM8+4 z0&RWvre4qu+=Y{}fBDSS4H?VTeZCEQJQS1+vy2Uq6ta(6P@f3Szx@8xdk zIi~!>9+{p&FK6(gB`-;GEH_hbE}q;!mYIo}U3$6Od%9lkE+BSDq}zP+csT-kj)iQv zskYVkBAMgm0x(H>xjO(B;pLbc&g5=H4jHY>PL{6{eZwku`r`p+ z`b}SdgPBw{ru_Z(U$+l77=slx@l|^^nCq+9Eu4W_vpx4v4Q5J}+h7&~tiPHerIm6zEksV|)a#1C5R%}315xHw0XPJG^oaK42vg6EMmsED(R?H-V#1lf&UqFuhDw&)=)|4F$a{idMZY4QSdgM%X$@!B! zHstif^ziapktNI#He{k1eUeN(B?KJ~SeKY{BziI*=Sa%^r%2TPES5@q z(19&S(4YN`qas+mk7X|6Q4xm(AlZ^$kn3I5i518J-WiqR*(*6s#ydcq=Y`?xN1;$$ z|BFBM1j5|m+R=t6^o`Etc6`a3ilVS0uUHr)R=ZFjPQa8XEiWkJ2Dx; z-4H4J-$*x-5u(Up#FPU@R*;c300JY78qElA4{%-pruyuqoRP)F0V(?#q#MZyQRFaU z$^j#njs_!Z0R%=EHJT9~Eq7i7ruu9>8NsRYl>IEyjbwxBf;H6nkuKkv$Zh?AJF+A*PJ0hg%kh|49)cD2SB7wf{dL*r{SGd}I<~#)$UQzd z@fr$4@n-=6cw?#wcsmK$fOIr@Ld;}ZuJCeR_jtqITt)GAGICqrkvC?}!`rLE8!!4g zM)S6GaN-Tc+ZZ4KZ%j1-Z`HSp9N5qV=Wt?m(fQ+Rt-UlCUnZ!M79dM|XhnG<N+-op=v+4&T+MvJ<* zkI@fZ)Pym7RBL zafICtL?qrpxsVj22uT$^n9)~bRhEgQevOEdVlpjvkU1Zq0QMgsDO^96vR{Vdw_jqg z4uS589|U;o??`*|2sltYYD_t=XA90F7<{l(=#&8K3ORTD@Tgd(H7+!9h~M9x;|Y%# z`*jWr)n?CO**Kcm1^R_M$8hZQ{Hdd?i%K8>_GbDh+MBtfbf?k+6*$8}jIyPNvJkes zi$1qAx6aKA-aF@Yy@Fg?AA&MyyL;Uyl@VwY8&oASl07{pTav=@buyczI(bc(^PyCy zblGr2SIS<9hxP*u79eP-I(dUxusRJsR42M-xz$Ph;p&vbfDQ{a)ycAps?LT8D6Klp z#cX-2Gsva&6v&OL&W}`eGLq^v*-)J;n!GxBla;eks#7|yxWp=DKa7X=QU(tp@K@&u zr2VaP?&vY)yyPobodzGO6CG4k=hMzp!Lx6Uc1b=Hl}+d9qNWqGSJ$fdOsltoqN$ErFRNp+fRsLo4AH+AdeWlzp0 zQk~L$$30Iedm0|vH!-*oK||Had$5AlY4D*s(M`{-PT~(&r)r%n)Kn+SE~+{kBA~SD zG}n9OtW#+G3$jkb?l{R@m;JZQr132Av$asPiE?Mt6>`xNcWCa! zOPkQwd~ihKE5%tE5P&nL8qL|ainDJtXH2GL>z?zq#~JqI6~)l6 zH~4L@IjbL$_(pN|JrIC1rXn~ix-;R|Z@EkBTjAv$eS=n%et!oDl+4I6(9rL9npnTN zdn9G=j<6K{zF748d(i0VH&YR^Y6AV{t}ACV(Bst4aOgL-Qx&BJqTipI%yrr4T>XBY z`aMVV`!3M}?#((_Yr%`d6F(`=w0<+yXwD+_o11o=pFPg78>cAFM87{Vne%WqS2*L= z9!qofk3)%6<`EHtFlhqV#(UAfVrj90Lvg-ZY?;?tr@4skWwU zEUaN|TCP`eVhgA#8+o%6uDmKno~Npbed*lktCP0+N+XsE)9b3((prp2F z_>gxcozw*NM=FBF6jguQAscu(`IHt%Hc9<$B^d?lZw%^>^r8ML7?sBvx$;J<+vvZ* zsrXjET<+hSj+H)`|694-h?vQ=+-Bo6M=^Tp85h~4>_;#kZ7*Z+Faq5PzYXx#?U>B* zkEw1t3_B;nm;AW+&A*BF`ALsyxnRe2SvBF0c3`{)fJe-fb6zYQF9e-uc8(z znn5|OMOG05@6!RHpY|Z3-~4J;VmXOMqNxVBJ*eDwcb`)@!bY0=2STlJbzFuGnEH|xk|%JZ6Dw` z>bCBQ|5N-7M@Cp@rW(yp8o0p6QRD+LlWANb;p{B@j3Ym|8=@$Fh9R%@mdaX}{f-N8 zHwr&PB%p^XxTI1|0{7C)a)OAt( zSjcM~aHM2q{g^egE!gm$UD}T==waMzg0rdUGk3$qCak3i-4nYhuG%9zxMHf&TvcIw z32xeRl#7_jH1A2+UAU6Fb8t^W%HDsdz28uK-=X$C=0=4$K&=A-20C#gNoF-S{}*$s z3sLh522A*?>vTf5y5RYx-JSi0dKV?^E59KdbJvQqPxy(PV?G!pCH4S%NQaTnW)$D2 z=m9b4nIN1p{x#6>q%f)k2Zf`?5eKRA7`f1}SW8Pf$gBFLnE|L_kkOwyhM38;+yv@W z3O!$PhYc?51U<5rHBbP!C#X?jtNVAsE>l)_!Cpwn>b5A= z>eVFO-iAbg!dK&>RBp`4td{W;er`EPNT5iLq$s!-%3l!^w)R@u94Z3)q}+8hmLWHk zi1zcg(P7)iDU4ywc~!BT(xv@H_nTFQt62KnQ;xC-yBsb))A=~oly zloQ-<##$-gshXvcy$6K7rqRxvl0$>}eA*e;v@8TIjn~c`DvHt0MJO8DNlJz_AGTeb z;u%(fJ1I}Zi&!rTP1;OMO=)Au!EwT3yc1P!mS~R*ctSj*;ySSeiG)Q=<#9$ngI{## zOKtQVP*c_)wKX6ucS<`416h4mHhSVlXsxmX<+0gWc_g||OOC*}_sbOe&bTESZE8{~ z@f#s?5D1cACA23+(7`ojaS(KHTJ4$aAOv|kD<{Fk*jFP^9^f}t#^|-)D*0XHR!O1> zY?a*1TeW#%;|16%=@4t6r*7ccL*Z7^(A}OS02L>8sHLM*+}pslD;lK^2^%Fs7>r7( zo$uSD&TVJ|q7I1IqL{?xJJ_h<93o!l8&+q90Wor_RSU#_(wiR{sh{rafqKIz`ER?poun=Q#Y}t8g@S@OH z9*LOTp(nL=2>XuMlk{7~Sv$oUQ;p$F?dx47rlHhplLe_-jfA{+mo2LFLvI~Yw563V8isa@j>+c+Rx3d>DqB(^A0z42KT2} zmjKvB0%55QM0c7EL~(AEU{wc9cz!D> zskW{Hk&RYDgEL17{V(z;AwjU~Y_v}aSt))c^kd0U!qWgObxR}=mf9yX)$Eg*N+o1f z2b7SN9a6&IDJ5hiN@xm&5>E2(iYU5kB>ttd!S}oRBi#kr^8Zs8=i?Z>Z zk=tRuy6iLV3e^j>a8X#yKOE0dLKncGEin~g#Zol~OHOgYKy~)78RMV>r{R5C6uP1giElBB~sd_?!rrO?nA$au5OwCit8P9@=XV z=vka+0BZFHkoD>cfb$JoIO=h+eD!w`zWTeEAL->jWcshnv&`{I2zY@2PsL}#7XaAm z1B5V-NQ3pMT?V<{FS8Q4g(!3oab3Tf5x%}HR)lfr5@kGC$uf9~F921EaljR=0Cl%O z-7Qc&z!!k3ih^1Ls1qoa7sBA2jK03DRfkC)^nx~F+w`gE-{s+LCDz->+s)$0Qy~Vy z=4yVE8c6VSQ%i?(hV8VjTm`98z7(I~_p{y@!Y!+Wgut{6UHFR^JNkvNHcYP)g7pDV zg5EDd@9CtM!ZzjOA%1?@(t0CQLHA1q0e$9vFrh!vi~{}gd@)?0l4o%RzF9(n>rh}r zqw$vjW4#J#x-|{m{MxMj{S9k>G7d@P z7!}uv^+@1rII8lh(}1AnyvC=9-$3k=!OGmH{R9eo6>CJkuX9Ge3h9g^nTH&WU{EIj zQpev6BinDQkaY+kdke^9>g{d*s7MS0<#9v)J9uWT4vFwvBf@jJd`cY>#Xed>S7V_} zP+PKgG=f0`F{?+^!rLe>0EBobRBA@;88%(iZ{sNUeiz`s< z*H#u-wEg-Mr0E#Spvn`?T6ObQrQ5H+KyGM;%6{pDvR}ILs?PvKj{P!ZDEl=Y&dNFo zaOxXAXVHE|Rfx}i!HBu`%a3edjD?FwrtOzT7Pen!f}*$~U+mXuc;Xk~SD2KM$%V5) zvO|*n_RDCjvR^0!rwm|wX}^ftvtNH?syxo96#FHkmB^kYmRipOQY^~xdT1=ImejAD zfV<9Tb^jssaS$S|%l<+y{>vb}PWxAKP?pjCN~Rjquhf?-Tn!Tsq*o!L9x<7gMK9-U z;Y}`Az}l2qUzr4eQ^sD2RWSkJmOu1#yekz}AK_cYO2R`Y{-(&j1{qNek}6^PI{%8d)igwq}|=;TyK_IzZ^^>m%2 zEwPpJ1GCmY0Hpk@4_m(R!A)Uml$#3m@TY~LB768ZhoMxDG&BylB@ERO{O61oZUfW_ zlq|Pu1;iEYM*|>~==!cFBpUybe_I z=f!!zT2)^Ph&aKh4R=N}AjnLqcLN5VgZXgv(sd!(-eY9j!C!mi@Q)rR9dHg8!;#+S z23S3+A%JugfWN7CgSgjlg5fUQYyo!e1*uy>;h&=L8wDf_!x{oOItsu~VJ{jZABD0= z@6d)pA*wIa)i9qG3;MY*FKT%Ye)QsDW~OkAS=F!lf$8B2-c@2iVVuQehmE~uh@=!9;5O&qf)vYh1`YA>RtiFoPC91 z!F+DYJ{7aJb}a(GyC9I6KlZx|!WD2AS0NkN3{C8W+{M)ZQtrZst)RQ`Qv+!yYO=o z=`Q>Lk?z6|5a}-b)JD3C;wg-D7k&aF-Gv_@(p~r|jCL2aVRRR_>1t?7ci}I6+qnyW zDaE-9@(OoxC8P2uc(T}I-(ETf&ExB_4!m7o0|Fz zU^}5`Y|DWyF+)j-Q7KZ=PW2<8f^;?@qLi4#X=wKMW{H$!42J$54oBmmJ(Vg9Nv$MZU4yM)pF)&=Y*Q z7H=_$h%nIM`W_`EW&;5JA|0-Ul_JO4;K;oSi|SYo-pM z4uMQSQ;Cv5T1J-787@M{>er%ZxfcRH5)@uQrs0XjmXhx0D=t!$0PI&#jVy4JrG4xIz0o27hO8E`kWFvye5wtfqtSDY3FT%gt}+LI9! zbFix)GFk_;Qy(Naw>_*cZ;Y;xuMs%JgbVH4ps9YJ;E9HnZTOYnm2DiNcdwS_z!!7A zxaoZnS;9#TAO(X=HD($zKcmx7e9FENp?w2_(iv@`7$v5<><1By5`6@t4+R)yYTGb6 z1I4H8+Ys8fB4{+D#1zda(MK@)Xn;|swhg0mQGCjtjnJNjpwWyH6K+}RoU6J-AHnET z0Y;f>45Kpre`2|`(Gw7{jWU_Gos$fP_EP+04bS^EBZ$M_3F#+1(=yfCz@-xL8q zv|upL^!_M&;a|XB_zU2^92SW_F)vbFgl%4R6BiEVY|$K)ka$6{&&VY;Nj!~d>L0u; z*DvUU%YW33T^(G`%%-W~5 z?d?>KeOJ6*vmJS78BBtA%u>T4?;@^QlH4x$!J*do>*cymg&9|Bd~hg4_|BmmZG3QO zEb}@L59&*S4F?IVjWSsjeF=2n;jwrK~j&>R}k69c|`VFKx9m9E0L`Q4=H;MrL~&DDg;|0 zvT+^XjTYIr(IR6Rg+w;4qt#o9Oksw|#&v|q{wpFI*D;p)K99)W4v37Y#)wS1k6oIJ zt?Gn`wu;HL^#(Xd*{>BTro)iOAuztv+cJq0IfD})C_=m94VnW}+lJ8hgwS`khEM|I zBj_abqrr&}1B5cQZ3x{cgnqa+gc2Cj9*2X_j|V3<1_)(p+YtJ>5c=uX5K3T-_ekic zgA<}pXC@=IXn5%z_?xoDp- zg!Bel$|-j9_`M#fY741h@HeX_){)7+M>Dkkd6&Dh{su~grLoRI!fl!uX=LNe8pq%?f$RP?^&LJjb+xom))5!#&)_#5C*5a965#NMsZ z09(5aa2Q_XG(hGKH$Y-Q#=H%X?@a>~^x+106iINg^lps?$im}k1f~J9V6Ools@~`Z zC@HT2Hi^VuM|mlGJwp3c1b&H~PjdMN{pU{jcO`ZqUgSuOxqT7?d`E{E@Pi%jNR!3) z@^UwgJ}j|+kOUtVNQ{NYFF;@<#)3VG{ZYNq5|dODOYC2FP+}J$v@b;9m)O5ZF5iTW z{5ZVGkr;DRV&yRMUuq*y3_c_8Uzrml&-X^h#D|0>b}>nCv51jp;qeRtBQX}tB4Ome z#23TW8!a(Oc@k>^BmX=~bFwI;KD&h}}$a_sKoQ$Y*+5dwd!^iCqk8*ublM(#+q00>n7q zz;i7$^O>HWncwMiEJTth80=oivqkQ~n~d+8N}gRS{f54!Yv_-mp{E!?=gVC!%0hm5 zhW<*>oQrskA!ZGTp|q5#zZL}Kn);pY6jRSbNmo)fERQu0G8c%cUm&L5{IZg+g7mJvB79O90z%)Y^>@~w%)f?RmCFM24CNcGYKzaDGC_=k80>8v& zlU%-m9S)fKJMbb$V$AK681i&@3rsx=kIzM5B*ub0iOo`P zw8SJ;g2Z-E{rMX)p@U+sM?`*^Ov~w%lsyrp+LthxfIy4wCIDD>fda8rcVNY_7ua_Q z!6h-YVr(!b!)4`0pf@wi-6l(59_uXmK=v9lhxH=nxFj!UtsItu*f)cPHjagS%wuh8 zNvC`piFJsXPYz#*ALL;=%llPASs=L{p1`-`DKQuezD?ROZwjX>4) ze%4}?C{|YQI^N$}f+yB2bH`5UcSo_5I{$Ud6As4=BzEXzCL92lLFvX?{SOL~Z`(TL z-dz!DwZBy5|Ge;K+zFxE%z^3}xrZQac&o^3=4^B9KXJ5e2b zRaUQ6bhb+;9w$+cA`sma>%m4lFwPgMQBrB~sCD&Y_)$}4rL99cs(bS`;Oe@Y=O#0i zPv8x#%NvKptU*n3fnE+nxmT3EU@p*m0aVC`RmG;3df|CaiTE_DIzhJ|@DGy1W*x|D ztP{f!+x*n>^X=r}lb$So+ff~kTD2Q6gfn|^D)XS~7m*VxQHB3_js_i^P~!j1u$DDt z_OPAegdVnIf^`??t6@6~YY}I~4%;3G4smFGP}^dF4ys;t*#bnTbYdlw z&yq{(t51>nBBaRA;ZaRl=Lki99&i3XRAi5BpCYgFWKmF&JvgJtFC!;vMZW2qQ+K~h zDDhWQkq?I=6B>%lx{LFbC^Bnz*!I?(kgvpjbj>y-{U7g@n=7g0EzF6M;2i-@j=E-z zugt<%imRkfay*h4*1W()f{nlOFo%?!D-Y#cOXNmh$SLQvnkQa>G)Bc4)|CBz*mmfM z(V4KP)BS%zmHMEUHYgM`h1CNKtRE&{0UfT0(GmPGIkK#*ulovXS05((q63C|LKg}7 zJu!=ZJNmr?(Fv0$C3M1MWvU$(kI+SI%M~faOs1{RVOUc3rwEH#z_XCYAuw)CJ03*V zk4(HOL}uFK4G3f^V%ERt=?&RUav&Tp2;3hL31u>EeT!0^*MJ_|!A?O(Vj^$i`Wg@I zuSh)L_z6XIFE4WlXINxjetaxb$Kg0(nS}AIA33Pw%)RayNxd=iA5R`XrhLW78KIlH zOo5pHSb54IOzh4WDT~$o%%k<~cppj9F51^;@8fqzUY9F)e>f?Y`D-V5vW}NcTr!e_ z0)7cG@j94*s2I5nC5gY3p}PodD!S;vZU$9Mre%5|W$%DV2|bj$0goM~IUfO=jfo0W zA!erD042!Iu^8x*R0%pJlsw%`C|Qn(RmUVwOQXz`-2yxtEAwwETAx8a&?>1?Y26DrK;xdI5iyf#>k*WWj{qXHmm<()?u~a2 z)A%?9uV=ctHu1J1WFNc%A(ASUkPLP&f`ET=OC@3^v29BTd76Z*V6dFQJ1A6>G#*ga z4@g7D-|P{~ya^r0I>h{%jd*5##1~A(GH>IBMLbaat7|Rd!LOIQ4(i1BZWieF{2DG= z%&&0>eOdFlJ&tDJuz2bTa(&s-VSX<~f>=J(2}A(m%^v&$$J`zR9rFs}db3C3T>yf& zEU1RKBvq=oPJqaP>Uh={VkXnpM<6R@Z$M~&fItiBM7(pDCJheXvI0Ba+5F`morFr{ z9|f4iPaqF;F>2aY$n~F;eIY_klC(mm_4P-XV1R_M2>4$mA>9fkRjPy{Tj2tsWFA8M zeg^j;&@@Raa<_uO{V_bFmO-sD| zrsbf}Yt-;sSr%Sf<&YqjiWAGiIKv(1tsH?sR-?x7~F`!FRT-kurLD6WJ(d%^r{*qtW|xYgynw?VNDld zO|NoDke=*)uAM{5I24Ak9;v`R z65pnBj0`Wvf^X;@ zBUv3Za!8V_QWRop83a~?kqe^1h-h4yOj{G~r6!I?Xpdu%VQ?`5t&T?m$~pstfW;YD z7To|>=BUfegj-hC}cusS+A>{&PM@ z-A9g&L}=F_C`Qi<9%v#aPV>T+hYmCmy}JhB9ccQSVo)DwVk)AE6unF-U*h^lg;d=+ zh*)(@rmeG3Jif(+(Eba9(;1wGKv&&`fJ&T?;vr^6B`Z!6RfSS}QehA?iL7N6@jlN;n~mK23ZqKZYbJEwJhfwQ_eR)!EfRGr?yNQaUas1n1T%P zYnh7_`{qpfLd}`-g-rfmheu$zuV(xYWa$QGB};hvd@B^^ntlDJN2d>-8w7dXdwFVL@{!Tu%#VR|5+k+`e+i+je7uJLVk4`f15Ye_Ub?AEycG?dIG zeUPh|iG7d>YMYkyK^_9{Xex}P4`K>VlC-8(ir>$pQXG!3Xr&-9FRFu5yxBFe6hwMT z!Bm7&Y?a3yQByV?R&Yex>MO+cCUG(|eVp|O@OP%)Z}0Fif0>OdBhwDw!l1dYWV=AC z>gVtn2#?4Ai3$UNw&=C{QM_O4B&=`{3YYCXhREuafI9J**1=RKjkW_zLl+AnF51TS z5%r)GAHegR9Dj=Cq|**j@Sy;STdS;IDes1DKdgD;dHjs4bo^;~Y&~7(-~J*CQp@p1 zKACnnVd5(gFn64}xgvv|@=v%REIIxp0(={V9|-w3e!65Rd6kopcXm>?A9^?!3(E{a z`B;bWOyKRTmhi;mcHhFF1@HTC@d!IwYJc%(fuNuZ*_MfALctkOUHMh2H;n9YjS*cq z386ij!6*hNBG7#v>2a+B0VthO(>9Z-C@5u5VR6OUP6G2f8;IuRu8Gwm8Z&lds22Ua=nz0pE3u9}|0F@X*15}3y`OF)63S(;(V~iTh*xqUv*WPLC zxcOw}ScFP@_p#Oizckd$7WH?Ku`BypFXNpX%R;}#XV8Sa;6(#_%mNmFfI{VFm- zHTK8odG;x{)DmB-~*i4ED~cf9bM@$vf_N(k`V z)8qFIymJU__^pWMx2FrF`F#r+U4Drrl3zlBU%of|uE%f1uly>3Us=9erMmGebvK^L zw6)tJ*7Yt3?VS;5bF~`ptOJo&`&MFyVO)mgRJB2RPduk74xEK?h@vjLfOj_E*4-g4 zH-+K-xZM-G;}HzO8lXnaNvZ@+WWM4jOy2_4kBDenm`uxObMZ}GoUgL?W3VrSeGq7# z{tGDU9f;EU00BHG2UKO?%pnkmkLX)X>&^o^_#`g8&$R9wvHikqEkJutHWrXK+ZJYP z$!r}E=+c^@G?BOx>vl{Mwa83plV6bGxZNExK_V4Bk+j7)>|8_q(p%e}_?CIa?SQnY zw&_(1@B-C#pH!QfeznFc@cXfrxFfTZAt(>GL;)}czb^hd!TpMU_tTj8iykH z#^OZaO2r{}UW(FpQ(Dl%m_=rRct&^G2+vQOx%?+(So^lLfy{Pz1MQJi3EHFgDPMra za8&Jih^RkIrsb0OlsyWB*e5bL0fF(}0C1SbQNa%5%}(1SQi(6XAW&Qc2+$>|66n&G z*gXuT0kWltNEeg%EELLhz7jdgXCiPhJmxz|VJ(BP2sD|?056c{+YS5R#zNm_ z4t~#txXk5Wyd+BB^elr326DMtM{uk@%Yh$k9FK%cjJ_kk!4g{(UE-rCG4VB|0ckTT zr6Z*-!@IDi>;g#nLQG|Vcjr5iu-qz(`$sXefrs|B2$XOy5&%q4jHWayL2vGtbpjy$ z01|PdHj6P>ylbl*mS)7ik0*@4a~7(rg}ZyvmfhWg>NloGEE_IAvXO0V`IL5XJiaSGntloTc;V&Ywj>>Yd#xs7XaiHr<}#4Lil&| z3p{Eek7OoSCU|LHdC_h@AmtV-P#yqzza^NHl;?hmp6n8)ZUqjYx&;xLViJo$aJ$ZS z9#fb?FY5CWyj|M*(~YKQa&0>>LNrDIyMWs(P6fAS3g7?ICkj}OpSuNe(mCDHPvj&o zrNb~C#U+{pKZL+2qK3Cl82sb}guqJ>DGVmlvL4}V?+F8I61a{B60-k^Ks(|4RnF@W z39R8*(d`hDJh^qu>*7(ulrX#!LM}XS1_u1~VR$7`hvZPIz<;UqUvB_lqJUP2D zO_K?&b<;`gT&`}%25^Nc*D9n6{W5Ci?Ng;*>FpT+we2U_iIN=fVq7;wqREe!4K;lZWwEbZ)H+Y84RA|l63rsWEh&)2 z1leiAX_QGrS_2rem@_4E+$|IR9lKMJrBzA@ZI9=XWTG2mB#KTp*CL>q0_20`FZQBg7X5K#1=T zpb#gE5Z4TdWp<+wdjT9mV$THVlwag`AOae8;$VkL!5J8Mr_w?yv(KcTu;o4w28amht5p|JC>~98(*x!uM z{=gGnTfE!qEsOJOhEOE+*(s+YGmef0w=DW!L+!9BJjpOI7@0s$I}{0?CFS)aw~oWp zunQch#v&qzOr~Wod&>Tf9Dd8-8wOu9I1(l6CU-hP6T|QzeiQ<0+(ZNfhmyRA&v~LL zVK00d?n-S#w}^mDmg6inF8^SYz*2Rb7#zNnJ?$)tKPs!!cn*sGqA5EAv2`)a$mA5n zP4`j|iq7;iMaSAg9}QyO`Y#_1Ra@eL_)H+g<_^*xXIZkj>{dqE$`Jz&(*@~n^ z1XQy!IkNAn88J9~CtJ5!6n|7!kHGV=nw`xu{+3e^_m)dRDEeAaGZwuY)yyDv=iJoJ zZ%@rgdz@u?YDOkyGd8*57HqW-+cD3fX4ox0T+yf1Oj4y*!XwzM42m8`#J0|4T6SHh z>@Fa|?#!SQgWn?1@_&?2iBTl~1OygenO2MsU&r~z;X`hVc9@%eNmzMon69ioQBnUG zk+@JDXScqqQa+^Sut@H^_8uKnJsNpP-{Z)X&abt$Dx!RQDkwHB6?h6F_gu9*NLCj==~9$0E?unlDgif(muY{IT{> z4nlHH4c-u&rU|W6m}WctZ-6EK1-hIE5IaQcZKVcl*hGDjVr?PbOV@lce^kVoA6pHG zRR(UyV#THx23eIZ61POv#pT3{Ch56$zUwHsVkC1hhCtNe4D@yxhCc@WAc-_^@0*L)ZW00KWAUSakkb%YD<2|G%sZymj3p4}OOhl9#lWExj>0BTb%LJdy z7O7L4vjJd@!z+)1ibTB~5FsWFJyCYemj@-xodk<7S9W*qMvro*DUOp$Xi-lJJas#J2g^#^1e zj)>&QP9Rxt#^!L6b1{R2! zkSMnQYnT9#wh0kQWHK!)=qY=?jz&``epJOa(k zSiEzXhO6lA@U2IkJ6l}~pu`l=2f`SYVl(&L50v~FJ_ymD5Rot@)8Y_P_K9!{nx^4+ z>@ZEaDB)bMgmWz3fCfonnSvF!O(`u4yDhlDO7P{q_)JoY0A#ERs zfZKcbVzymP4)Nf6ZhHmhwx1fjDD;g1gA7xmuV8{_{9cP>vg=o>be8H6gfnM!P+TZ@ zXNYwh9zm@h9~{d(%`P8F;0q|!kyo7xx(`L# zJ_JF;KJD=A9bvuMyCTntnF3MSk>|wBdsWl**}~_73)tJ&1~x=Mv0+0+?1&=h|C!yhbN8OJyW#h~A3u^g`^-EuJG*Dg zX?IvF+OPI$I|cu?Exj=%ZN^l^8WEj-rtE_tCH(*Nbn?-i{N zBW&dLou1;_MCdZA4%26zwhX4{9^V=)mM^q7lcDKz!HpCG~clx`l~)6Ez!OT{yQp z+N#riC_>||K?9-(iKE1!m?7RdqY`oXf&$buI~6aAOBCZtxg9AJO$Ex?q}-8|$#I~(RWL^{eoP?c(@2@<#YG$niUj?JsCu5d zJO}!sCFrfGZb?@`sMr%%I*5z-6POw50 z^oJR`-#2e@E5qz~#Al#=8mIMUpSDZ!Z-t>DMdJN`Ql=$ocUqEmI!h)mSl7|f|DQm` zDKHnq4V;zZ51j&ZI84kRSdoLjZ4>(EX!@ry{t3>5dC(Faie5a}L;zhRm6s*ylx}7y zBmFCyH5Nl%7g)gAe9$2M;z)Lafxg!(*c!2zP^rx-HG~SD4GI#}yk?-%fK}>3 zrF(}Ejpx;&;`X6pus4byle#diMy#CvI}vog*Mzx_l3dCDJg<@DN-h?Wo}Qs9b83dD zOsc5N-LZ^VH=%GAE1V$|7Lr0nj1;;Hg|k_qvss}BD|FLcc!7gH4ENOSy?}lI!+lNg zAcoHcJSMh4#t(AOJICa17#j=`20?w`&hrMFJd9?85fOvoCWExfDy1ovwUny*)?m0A z;4!NEqx+PKlPA+;RF{ov3nRUnwM+&L*`U5OP@S~Y^Xi!lIOa|An!8Ou=2Wi>Q zt~MFn%0@Rwyxe3mSj+}@L<|<03|6qgGGV}@CpzX*lfnILaIXn|h~af6_*sUZ7VZ*L zRd;c=ZHgFq@#j$1hq{I*CbjNf{CSl0S0!TT!)*38Q*V~k+`~QZtq3g)zG8#jCU_6S z-iEGSUp@1y)iQq(;J%qx~OTUpP7QpEn@mxjqaB)euoiX&iGwMd==v>jQCo{R~zvM z7{AwuuV?(hFz$KlP(+#FnM-7J1DiY&HWBz!j6ZI~pJjX#a4`lZJb2zl6b55pqF4~W z$cE1uiC<;>B_sX@@y~!KHH_zd zYBc$VO};eZdl~-@_*lKIJ#SCc%eO|BUzlZI)Z|B_$$mEZEo$~Un&2-dTX{?bchndD3@kxy5 z8u0?g^8=Tv&b2&mve9HJn-qpjFyT)znv}6gi4mX4_;e$FIped8_#DP(8}Ta{pKHXg zW_*DWzn<}HjQGur-yrcsKNS=3?Tp`I#1}KZ$cQgve2EdioAKpFd=2BPjQ9hL-y6m~ zZ!L;w5a6}2sM5o1vMy{Q@W&WmZ^WNs{Bhus4c!J5nm2UMu;E4{@e7PUYs6n+{6!=F zI^(Yz@y(3CVZ`5Me2WqPfbsW?_zuRm8SzgT{|I}8hkq9%KcCcm)BzNpEMMw9()@>|pdzYk#8=^SK}1A$3s-~6Z1>_0X; z6!nBp?-@M#nQHwL%QWE`jHd#pg{T^BF?6OFO{%gRqjW)HGPk3}=t$MLiCQ znqe_BmQ6+hH!NmGMwvz!nZ_~G`9^#K<5@<0663kjCD$2?nH-}@0h{E9OmId{HkuT( z$rK}A%J@_xK7;WxBYqjanb$`I9D>YMVCC zn~2hZ`MJ3Tc}c~2C_XoDqOL0z0!2($z;ycja&dxAFTP08B?<*y8Pk;*>86_LiY;_^ zFx~CY7&5i2D6$s6js55wmRl8JqEN)Qj0u<62p2P9qHdmdry@)g3c}S)xY9 zLb$lbF}T6x`^#$32;rwJmw){g!QYkiH}0q3EsxVziNADv@QxZ-sTGx#<#|!9oK)v#&mF5>_m*y808qIG@*3mdxiJNdVLS?3ABJ?HD>^-BnBx`zh z0ZpNvxK~#y;Iu$3%}cw>qL!YSky$Ad3QJuI7}@R%GWDR$M9M?K--m<0>p3%P!Q{xy z8iuu6$;{jXsG`iQPS(*l!kM`rnvTqP{sR>$taB+KCyyg1bh9`!o*sXqM%LhBYR_rI zN{dReCyBem87Z;mPu7S*b(5z0v`zIHq54Ch>UrP6fA^9}=jKl<)#_O+t~=}jc5YEl zHb$PrhB;Goux|nNp_|XTReRBI5XnzW|D%I`uao0<=J?gY@e43Zh(9~&4>0|H2mK#T zjzi3G(82LHFiVJkIq73H)x_|xgZ{9SBZWEQHLYQIfGmya#Zv(e&6`$MfSHC*eJ`Gd zVy)lMeIB~2Q%*exJ)kxFZRH|A-b{Xin|vUXp94ipZU?yh4l?^4?Dji~{f=;vk2aH! zag$GA^6^l#R4U8mH^=NZ*X_4}{a)lEpJFC2bdz7s|}4mt83K z2XcU>fw&Z>$1@zwCg??@*@)6%lOy3gh2m(CPX?|mK|TlA66CXir8&s*+A3wUYbW)_ zq#@#RV3s~|86e{j;dz$=8dh48mpw&Wz!a(H$F5}0^BkV%+UfC{jf4JLroY-jzYv(E zVprKcFK~Lki9O%o@O-_U{yHc9BBsC1L4PYSOT})nd%oG}`7ZXn*x~t3JN+F_`jt$- z+(Ew#n5AM%ZJx!>@*bvN<)FXY$#Fk(-0R?23(OMY8YlfjOux=S|A3R@G3I#0!Lc5g zCB%oF^iMMV;|}@_PL5}oW0O6MjW!C;dkTkyXSMAo=39h;SSHk?DRvO^yf4E z7zh1mV3rmeW%DeSPFYNUp@aScCr2)GOmJ{y1G9uU-bp{1=_fkq^PC)0nB!u57#G-G6#_5G%p8aO~sV} z4XIdwVn-@&I z^0jXA^-TT{6fKo{(B=0Lv)@PEemAk-r(EPuo5`PXlYhZpy$N^8QnMcy#GwDr{a!`m_%!_>lzN%)qzj8`8OGZ|gJ)3)B9mXS(p}Cr}`z8+e zM+39utT7-OgV_DK4)^B(v*c_5AWLNZ*|RyaevC&V^WuX6+Hy96 zgB}JgTh4|8vqW|tdp1Wlgz-pZ$k|wSKic7b6fjH9MglTMMk~Ja0op2_#hx#8c)q|+ zkLYumV}gSt8<-{f@pgJIo(IqteLj1h>B@8bW>)#g34l;gB~$(Gu52_G?b%Q;ZwpdKRD|uIEtfi0gZfYY!AH zsr(j@CFE}axl;Kxi0e;)hPV!(*b!H} zp4xE4>RD6yA2=)_|H~nnLq5#7A!Hve4I!tX*b#Cy4!J56Epb%=BF=n)+BFeq9YVJIMDeQ1d} z((HGX+iw>8z0gHI-b|kDCclWuCqvOvsYx!s7n}VSxc!#0-x3#jnVEdLo4lOKFSn6< z-erJf4>I(SIcC3e-F~lUztxzm@54f}W+VZnU%CU}yK@ zw*fSq6St$-aZaq_kX9rsCe?U3FiW`009lf;6p%d`kFe*59iAVudw$UFd7a5KjilnD z;FIk6afjy(CVDw}JZ7Sok1nE>pJn=|9rT-kSyH;uzwMyk0?bme&34akvFFfy9PH)ZWL!Jhx#HV7vTe}Qx_eSD{s5RIvaNtDz4(3h zY>wbQSc~28pl6Ts@@36Cb@lOC6PWew!tmPoQ?T*z~tK)y|eh<6+di9Nd z<0y9ct;&8YL($R@l>k{9A_GulIFVhzi)R8fq@o&%9U;}{km}m~)^Yi5VD{V4?Y9N{ zJr;_VR5Sx*NkvmYG8N`Nc?{!`KIz3<0yLzm6^b3HYR4g;1Vu|+ZP~9mt~QJt;%X1j z5LX8jJL2lXah(N4ODa17vV?plAXh5SVB8RLSAd3)&qlE$cf7`sqD?T zA+7-c4RM`=VnjL6)Mmo!u@P}Y$0ovpt& zi5F;a3$+vgy#lbZ%L0RI#b-?M2{Z>Ly@s-jY_;?j zsO)^nMqfZ>h^B&9cVuXLphBNP_^x49dYRe(zF`$q$@hO~h>sfMrRN_Ts?Q^Q1ByY3 z?BP868YRhn@+*`K)7;3DO1^1~lj7IF*>8cf-veiV1kU!ev!5f*ej@4)A#TsxN5$rP7FVNs#6z`+hfIry+Em_C^FYHQ z8hPtcGD)K6f1n?1(+@t>54P(EJM@E{`oTx~!N>Z+e*NH2{osIp@Rxq@w|;O?Kln#K zIHVsO)(`45)@oW;Kd7f4)YlIh=m!n;gGTznQTjn+{or){;0*oXO#PsfesGq4&{;p| zq91hC56;#P#_9*>>jxL;2N&uGFU4{GWMC+P<#>j&-hgZBDC2mPRIb9r zgVFlI82wIawU2bb#yv-N|;`oR+Y;4b}OseZ6b zKUl6Gtk4fu>IZl02hZvU&*=xx>jy9B2QTUeFX;y_>j$ss2e0Y}d-Q|v^n>s9gCF#R zz52nA`oTW^;3xgyXZ@g76YZ3#tsm6U59;a%_4I@K`auKzprL-yNI&SJA9U3Z&ejjQ z=?C5QgC6=pPyL{me$ZP#IJza()c2dTlq;fRTFMns)0S#QbW}^)%b1>`Z3LuGeo4~D zP_~HWc|#y0@%;2hgBRysK!dkMKG#P4^!s}|H#**-U6&z~wP|3ugqN9=bg`>WV~mfe0q#D0&m zU&i(~!Cw8)$XpK8$4}GXbMp~`eS*M?FNf8jvI4PJ;oK*~I?48=o|wtU2(Ez4&MCd%?ueoQf0V& zm*ah>RZ`P~?|@4E`>gb|@H=gq_|y+yH=xa&=e=hk@Zwux)xR*mv{!a%c5Go9x@8S~ zn`L3Fyml>-{%y?v95hwa2A?U2#qc4vXB~b&u=qvowlnbyAQ)VVU$)Wm^$+Ujc^}%% zcfy?ZkRNg0U$WBdu+Z>^Z5PM#u|*XDf67XqM3mBzEV1|4EtLHDmmJpTty&>%_=>}{ zq~7{PgoB&(Pj<9FqSQ(`Iv61A#i=la?WhI3pa`lULR|rN7|CEEgQkvd*tWCspC75VTyNbJAo~i(k z=S{_Uo{RF{Gjj5Zbtm%2z~)yN!~%N|JR)Ahm0EaQtDJ)DY17n{C~pknO5D|vlyJYi zk*%*IUr9ZtSoD}{QGRZuT$~2CvhmFkW7*wqiWpP5Fus$GZ?_oVhH~?nA_$f-!4j*Y z=PkBJa5odIutc!jZoHO_S6hr%1;)WiPD=|cu0-hT*!aG{I9bW_?zMYi~a5-vgow_QG|ml`fF=7k^bB|>26Zet@fXQS?B`J|Ihr#R1t{tSWo1?C@O4PM_hVugUb)9rV?JSt^!k^DG9U zx=df&L0`+s(TF)3I5_G9vxHdBN#BI&8$0Naa&k0hj%E&yrob#A9^<4xj_F%E=vz2B z+Azln_ArjOQFvZ!K$c$W#oGcj+$%o`#g2RBr*lZB+Wns5@_UBa@0o7D+3Yt9ik21` z2gq{5UI@sViU|M>smMXGBNYW4(nWT^`7Xax%zg{qerK@X=}@$!q70BF6{UczshA1S zkcwF-cBEn+hcw6Tx7_7-zS-}UZofCM-|L`gNyW8*jH#e2IyajA-sJXsC;MIGB42DK zU*aZT&E$7O(Nd|EF2DDf{jPEQeTe<8bCEx6CSUI+-^k=oLeWyGCtQ9vnf*TP_WLsX zebGh!ikbXXH~EK5{z0;0(wcB9FiVBs2W0G;xaJ4Qa+cDHmObxuc-~>B-|nRUg6ThV z(0>ZdQn63$o_9Gtf5V=?a(MpIPQTkp{{z#1=b+yM%u=y$ZJx!_=_jWD(Lul0$?-dL z{OaKN1(+qopPlpvn0~*5{tqX|A?7$}594neh3EYR$kMmH_+fyC8R%aWJ7%Et6VzTJ z^#toVl>*4>Hv^!-ZzU8v{MKf_HKAx}ks5$3r+IZi){yD|G=x+a#g34ga7c~qevfkb zJ;v;}soU@I?Dse*T2j#pkTDfB8J}SGd!pNKNA}y^MShBz{8Tr2S0?WaMN6g5a``>m z?6;fSZ$I|i$3@=XOg_L(K8?wzCMzb*TgAXE6)pl~Y(>v21mt?Icnag%{h}`7nME&N z3NYN^)whdganLiMrS<=$pf3StiEKK1Hs22}V>}WWX54aiKilE{a=ZJ>nBMIEQpO|h zz4#n}w!~b;kzENbTVmz|v$Wz6xFM*b=H5LQ2r2J0yY>w;>#v_rTN$zL&_d49K z1!l?F8bFrF?qSd7$W}8RiOh>X0MM4RM>yz*p=Hb2L%=MNJ;G4i>;hdN-kLZ74 zj-MPH`+!-Z|ItS8d3yo5dh8F3M|y=9{}rIE;s-eB{m`;?m_L9Sdxhuy&YsQv^*6>N zks)V?*!@B1S@QC?-TPm5c5K7|hU<-w8~ux7t)l$ESMY04=_m3=>_ls=Qvg|(6<$08 zpuuk?6g&JL#eN$?(UOV=fGiDBACRky)MGr-5MI17Ktsq!qu3GhaU60>C|crb!G6sh zqⅇ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 z z>i{1i@XvDr9{iTu_}K;QiiwKxQ#zhi8a^qT;(CBmy^GU)iT2|>(DsAo8amD9_nnpCro8Jm%C%192PGo8Pju&SBhkH%HV<5*&D%g9Cv@i@fiCi% z=V(Ld)<7#q8wvlE!KO6mCx|Yr1HCTj%E1OsaT{!$X0x%z>0W85AqSr%UeER5^#PB4 zyTFePHO42w(7lj=3XSv}XK;`)KI#qTmm9!50wy~>nvFA*cuE$r?&FNiP~y@k6G=x| zNOvp-nF0WxCUC2b0LS6bUTKg4wIZCFA_L0@nWvC3!Vvikk%w&p`Je|mO(eUIFfwo? zdDb<&6anxo0rzYMFzEwcJdH-h)9{k{RGR4A5awW)3ox`40{0wodu{=DB)CB=CeYAA zzHRG3D~A>zhGJYHL(dcNm2ChP3v?Pv<4W#RY2FRRm_mkLAnr!uhJz~^3N9Ji4rq@t zMKY6OYovTcc@?mW1dG}M*ebwSv=T>@4x*9D5k+2MCy9+G#JWVRt~v_lX2 z<|!;x*EyU}gS$qPV!&P|?8m!+)dTAqO^Dn@tgl=AmsL2N)z~qX1ORu1a5=kyy9FHk zM1UU~OS*|xdS|hr#KmGG3DK?+ZOKod<$mZKNxHzY-cO^6ZH$}Ia~LTO@HGOP_W-;B zU}+dZ6BBzxqGA|vwu+CZFh>}*2ZDQ@xa;ue*p-HU>^2T7TVy$UpbBaJ-= zpwR&uibu&((0DtE#xM2)J6>1LwcvBy9c4LBmfLdfp~jBbN^fB=a9JR;4gq-vNb%54 zmfb2%uwZX6SI*Pr4-SATz}+WY*~9p^f*_1f5OL zPXQIr>|{26O3>K<27O4-PmTgQO9`!)#9GQ5m1^#-ov=;-GanK0CJ`@#sA!$iNqEqg zw+=SW$y$a^aBATu=sM0p+QE$DQ6Tb|L=GQ^$d~1K@d#t_a4Q|~>>XK+1d>TOHmABy zZ*KyW{bT$y=@d|<%F{iJys5a0Ll2a*|9GQ$G1s*vUP_&Q35Bkt(E2nKzJS7OE(IeL z(k(eT2AtR7P2ffD&2I`rx{)Cz&cF~O48a~e4ff_EXL2@*e=mvCCGmPRP`;vpGRy*f zROsKgk{){9N$>A-(7OdacF?rgN~1hl$xX+zsgl9#LA)O?g14fAqNzrEYbp=qv$U5L zGCfJA<0Z(PfQ+oY){$%6&T6G|GVmrHIU~e)$_⪼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 z

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 09myZMc&iwg_m(SX(@BQ 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%0A-tOUoYB^%KW^&VLHzio&42 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

IDb6!%Kr4qp}!hMKB?c!>)| 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 z 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

}KD_wE1N}yynPaEM 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 z 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 z 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 h9-`2Yy=Ey_RxUANh#^cfY(zSZ25lJ +#include +#include +#include +#include +#pragma comment(lib, "ole32.lib") + +// 获取当前系统音量 +float _GetSystemVolume() { + HRESULT hr; + IMMDeviceEnumerator* pEnumerator = NULL; + IMMDevice* pDevice = NULL; + IAudioEndpointVolume* pEndpointVolume = NULL; + float currentVolume = 0.0f; + + // 初始化COM库 + hr = CoInitialize(NULL); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("COM初始化失败")); + return -1.0f; + } + + // 创建设备枚举器 + hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, + __uuidof(IMMDeviceEnumerator), (void**)&pEnumerator); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("创建设备枚举器失败")); + CoUninitialize(); + return -1.0f; + } + + // 获取默认音频端点 + hr = pEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &pDevice); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("获取默认音频端点失败")); + pEnumerator->Release(); + CoUninitialize(); + return -1.0f; + } + + // 激活音频端点音量接口 + hr = pDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_ALL, NULL, (void**)&pEndpointVolume); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("激活音频端点音量接口失败")); + pDevice->Release(); + pEnumerator->Release(); + CoUninitialize(); + return -1.0f; + } + + // 获取当前音量 + hr = pEndpointVolume->GetMasterVolumeLevelScalar(¤tVolume); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("获取音量失败")); + } + + // 释放资源 + pEndpointVolume->Release(); + pDevice->Release(); + pEnumerator->Release(); + CoUninitialize(); + + return currentVolume; +} + +// 设置系统音量 +bool _SetSystemVolume(float volume) { + HRESULT hr; + IMMDeviceEnumerator* pEnumerator = NULL; + IMMDevice* pDevice = NULL; + IAudioEndpointVolume* pEndpointVolume = NULL; + + // 初始化COM库 + hr = CoInitialize(NULL); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("COM初始化失败")); + return false; + } + + // 创建设备枚举器 + hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL, + __uuidof(IMMDeviceEnumerator), (void**)&pEnumerator); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("创建设备枚举器失败")); + CoUninitialize(); + return false; + } + + // 获取默认音频端点 + hr = pEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &pDevice); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("获取默认音频端点失败")); + pEnumerator->Release(); + CoUninitialize(); + return false; + } + + // 激活音频端点音量接口 + hr = pDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_ALL, NULL, (void**)&pEndpointVolume); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("激活音频端点音量接口失败")); + pDevice->Release(); + pEnumerator->Release(); + CoUninitialize(); + return false; + } + + // 设置音量 + hr = pEndpointVolume->SetMasterVolumeLevelScalar(volume, NULL); + if (FAILED(hr)) { + UE_LOG(LogTemp, Warning, TEXT("设置音量失败")); + } + + // 释放资源 + pEndpointVolume->Release(); + pDevice->Release(); + pEnumerator->Release(); + CoUninitialize(); + + return SUCCEEDED(hr); +} +bool UMyBlueprintFunctionLibrary::SetSystemVolume(float volume) +{ + return _SetSystemVolume(volume); +} + +float UMyBlueprintFunctionLibrary::GetSystemVolume() +{ + return _GetSystemVolume(); +} diff --git a/SpaceStudioClient/Source/SpaceStudioClient/Public/MyActor.h b/SpaceStudioClient/Source/SpaceStudioClient/Public/MyActor.h new file mode 100644 index 0000000..c3dfc60 --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClient/Public/MyActor.h @@ -0,0 +1,26 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "MyActor.generated.h" + +UCLASS() +class SPACESTUDIOCLIENT_API AMyActor : public AActor +{ + GENERATED_BODY() + +public: + // Sets default values for this actor's properties + AMyActor(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + +}; diff --git a/SpaceStudioClient/Source/SpaceStudioClient/Public/MyBlueprintFunctionLibrary.h b/SpaceStudioClient/Source/SpaceStudioClient/Public/MyBlueprintFunctionLibrary.h new file mode 100644 index 0000000..1b6845b --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClient/Public/MyBlueprintFunctionLibrary.h @@ -0,0 +1,21 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "Kismet/BlueprintFunctionLibrary.h" +#include "MyBlueprintFunctionLibrary.generated.h" + +/** + * + */ +UCLASS() +class SPACESTUDIOCLIENT_API UMyBlueprintFunctionLibrary : public UBlueprintFunctionLibrary +{ + GENERATED_BODY() + UFUNCTION(BlueprintCallable, Category = "MyLibrary|Sound", meta = (DisplayName = "set system volume")) + static bool SetSystemVolume(float volume); + + UFUNCTION(BlueprintCallable, Category = "MyLibrary|Sound", meta = (DisplayName = "get system volume")) + static float GetSystemVolume(); +}; diff --git a/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.Build.cs b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.Build.cs new file mode 100644 index 0000000..24b04e6 --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.Build.cs @@ -0,0 +1,23 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; + +public class SpaceStudioClient : ModuleRules +{ + public SpaceStudioClient(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" }); + + PrivateDependencyModuleNames.AddRange(new string[] { }); + + // Uncomment if you are using Slate UI + // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" }); + + // Uncomment if you are using online features + // PrivateDependencyModuleNames.Add("OnlineSubsystem"); + + // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true + } +} diff --git a/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.cpp b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.cpp new file mode 100644 index 0000000..ae5f54e --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.cpp @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#include "SpaceStudioClient.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, SpaceStudioClient, "SpaceStudioClient" ); diff --git a/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.h b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.h new file mode 100644 index 0000000..90aad9e --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClient/SpaceStudioClient.h @@ -0,0 +1,6 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" + diff --git a/SpaceStudioClient/Source/SpaceStudioClientEditor.Target.cs b/SpaceStudioClient/Source/SpaceStudioClientEditor.Target.cs new file mode 100644 index 0000000..61f11ea --- /dev/null +++ b/SpaceStudioClient/Source/SpaceStudioClientEditor.Target.cs @@ -0,0 +1,15 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class SpaceStudioClientEditorTarget : TargetRules +{ + public SpaceStudioClientEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V4; + + ExtraModuleNames.AddRange( new string[] { "SpaceStudioClient" } ); + } +} diff --git a/SpaceStudioClient/SpaceStudioClient.uproject b/SpaceStudioClient/SpaceStudioClient.uproject index 420d4d0..9609eb5 100644 --- a/SpaceStudioClient/SpaceStudioClient.uproject +++ b/SpaceStudioClient/SpaceStudioClient.uproject @@ -3,6 +3,16 @@ "EngineAssociation": "5.3", "Category": "", "Description": "", + "Modules": [ + { + "Name": "SpaceStudioClient", + "Type": "Runtime", + "LoadingPhase": "Default", + "AdditionalDependencies": [ + "Engine" + ] + } + ], "Plugins": [ { "Name": "ModelingToolsEditorMode", @@ -10,6 +20,10 @@ "TargetAllowList": [ "Editor" ] + }, + { + "Name": "JsonBlueprintUtilities", + "Enabled": true } ] } \ No newline at end of file

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 #q3iXKGA5bwes#J`P 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