From 4fa8db8fd92369d829bbf7054e9c013cd31cad1e Mon Sep 17 00:00:00 2001 From: A3 Date: Sat, 2 Dec 2023 22:39:17 +0900 Subject: [PATCH] FaceTrackerSteamOSC FirstCommit --- FaceTrackerSteamOSC.sln | 31 + FaceTrackerSteamOSC/FaceTrackerSteamOSC.aps | Bin 0 -> 19056 bytes .../FaceTrackerSteamOSC.filters | 85 ++ FaceTrackerSteamOSC/FaceTrackerSteamOSC.rc | Bin 0 -> 3200 bytes FaceTrackerSteamOSC/FaceTrackerSteamOSC.user | 23 + .../FaceTrackerSteamOSC.vcxproj | 188 +++++ .../FaceTrackerSteamOSC.vcxproj.user | 4 + FaceTrackerSteamOSC/icon.ico | Bin 0 -> 16958 bytes FaceTrackerSteamOSC/main.cpp | 127 +++ FaceTrackerSteamOSC/resource.h | 16 + LICENSE.txt | 21 + README.md | 43 + external/oscpack_1_1_0/LICENSE | 34 + external/oscpack_1_1_0/README | 150 ++++ external/oscpack_1_1_0/ip/IpEndpointName.cpp | 88 ++ external/oscpack_1_1_0/ip/IpEndpointName.h | 83 ++ external/oscpack_1_1_0/ip/NetworkingUtils.h | 56 ++ external/oscpack_1_1_0/ip/PacketListener.h | 50 ++ external/oscpack_1_1_0/ip/TimerListener.h | 47 ++ external/oscpack_1_1_0/ip/UdpSocket.h | 176 ++++ .../ip/posix/NetworkingUtils.cpp | 64 ++ external/oscpack_1_1_0/ip/posix/UdpSocket.cpp | 602 +++++++++++++ .../ip/win32/NetworkingUtils.cpp | 96 +++ external/oscpack_1_1_0/ip/win32/UdpSocket.cpp | 571 +++++++++++++ .../osc/MessageMappingOscPacketListener.h | 80 ++ external/oscpack_1_1_0/osc/OscException.h | 62 ++ .../oscpack_1_1_0/osc/OscHostEndianness.h | 127 +++ .../osc/OscOutboundPacketStream.cpp | 683 +++++++++++++++ .../osc/OscOutboundPacketStream.h | 154 ++++ .../oscpack_1_1_0/osc/OscPacketListener.h | 79 ++ .../osc/OscPrintReceivedElements.cpp | 261 ++++++ .../osc/OscPrintReceivedElements.h | 54 ++ .../oscpack_1_1_0/osc/OscReceivedElements.cpp | 796 ++++++++++++++++++ .../oscpack_1_1_0/osc/OscReceivedElements.h | 548 ++++++++++++ external/oscpack_1_1_0/osc/OscTypes.cpp | 52 ++ external/oscpack_1_1_0/osc/OscTypes.h | 240 ++++++ .../EyeFaceT.b888ff32.tlog/CL.command.1.tlog | Bin 0 -> 28996 bytes .../EyeFaceT.b888ff32.tlog/CL.read.1.tlog | Bin 0 -> 531804 bytes .../EyeFaceT.b888ff32.tlog/CL.write.1.tlog | Bin 0 -> 14670 bytes .../EyeFaceTrackerSteamOSC.lastbuildstate | 2 + .../link-cvtres.read.1.tlog | 1 + .../link-cvtres.write.1.tlog | 1 + .../link-rc.read.1.tlog | 1 + .../link-rc.write.1.tlog | 1 + .../link.command.1.tlog | 1 + .../EyeFaceT.b888ff32.tlog/link.read.1.tlog | 1 + .../EyeFaceT.b888ff32.tlog/link.read.2.tlog | 1 + .../EyeFaceT.b888ff32.tlog/link.write.1.tlog | 1 + .../EyeFaceT.b888ff32.tlog/rc.command.1.tlog | Bin 0 -> 848 bytes .../EyeFaceT.b888ff32.tlog/rc.read.1.tlog | Bin 0 -> 3232 bytes .../EyeFaceT.b888ff32.tlog/rc.write.1.tlog | Bin 0 -> 514 bytes .../EyeFaceT.b888ff32.tlog/unsuccessfulbuild | 0 .../x64/Debug/EyeFaceTrackerSteamOSC.log | 46 + .../x64/Debug/EyeFaceTrackerSteamOSC.res | Bin 0 -> 17052 bytes .../x64/Debug/IpEndpointName.obj | Bin 0 -> 15593 bytes .../x64/Debug/NetworkingUtils.obj | Bin 0 -> 55681 bytes .../x64/Debug/OscOutboundPacketStream.obj | Bin 0 -> 118154 bytes .../x64/Debug/OscPrintReceivedElements.obj | Bin 0 -> 161670 bytes .../x64/Debug/OscReceivedElements.obj | Bin 0 -> 130065 bytes .../x64/Debug/OscTypes.obj | Bin 0 -> 5945 bytes .../x64/Debug/UdpSocket.obj | Bin 0 -> 765805 bytes .../x64/Debug/d3d_common.obj | Bin 0 -> 624325 bytes .../x64/Debug/graphicsplugin_d3d11.obj | Bin 0 -> 1697770 bytes .../x64/Debug/graphicsplugin_factory.obj | Bin 0 -> 992533 bytes .../x64/Debug/logger.obj | Bin 0 -> 748089 bytes tmp/EyeFaceTrackerSteamOSC/x64/Debug/main.obj | Bin 0 -> 738976 bytes tmp/EyeFaceTrackerSteamOSC/x64/Debug/pch.obj | Bin 0 -> 283869 bytes .../x64/Debug/platformplugin_factory.obj | Bin 0 -> 285957 bytes .../x64/Debug/platformplugin_win32.obj | Bin 0 -> 525196 bytes .../x64/Debug/vc143.idb | Bin 0 -> 896000 bytes .../x64/Debug/vc143.pdb | Bin 0 -> 2183168 bytes .../EyeFaceT.b888ff32.tlog/CL.command.1.tlog | Bin 0 -> 12934 bytes .../EyeFaceT.b888ff32.tlog/CL.read.1.tlog | Bin 0 -> 130116 bytes .../EyeFaceT.b888ff32.tlog/CL.write.1.tlog | Bin 0 -> 8256 bytes .../EyeFaceTrackerSteamOSC.lastbuildstate | 2 + .../link.command.1.tlog | Bin 0 -> 6408 bytes .../EyeFaceT.b888ff32.tlog/link.read.1.tlog | Bin 0 -> 9390 bytes .../EyeFaceT.b888ff32.tlog/link.write.1.tlog | Bin 0 -> 3342 bytes .../EyeFaceT.b888ff32.tlog/rc.command.1.tlog | Bin 0 -> 852 bytes .../EyeFaceT.b888ff32.tlog/rc.read.1.tlog | Bin 0 -> 3232 bytes .../EyeFaceT.b888ff32.tlog/rc.write.1.tlog | Bin 0 -> 518 bytes .../EyeFaceTrackerSteamOSC.Build.CppClean.log | 31 + .../Release/EyeFaceTrackerSteamOSC.exe.recipe | 11 + .../x64/Release/EyeFaceTrackerSteamOSC.iobj | Bin 0 -> 902811 bytes .../x64/Release/EyeFaceTrackerSteamOSC.ipdb | Bin 0 -> 325392 bytes .../x64/Release/EyeFaceTrackerSteamOSC.log | 7 + .../x64/Release/EyeFaceTrackerSteamOSC.res | Bin 0 -> 17052 bytes .../x64/Release/IpEndpointName.obj | Bin 0 -> 85358 bytes .../x64/Release/NetworkingUtils.obj | Bin 0 -> 128063 bytes .../x64/Release/OscOutboundPacketStream.obj | Bin 0 -> 111256 bytes .../x64/Release/OscPrintReceivedElements.obj | Bin 0 -> 1285949 bytes .../x64/Release/OscReceivedElements.obj | Bin 0 -> 148592 bytes .../x64/Release/OscTypes.obj | Bin 0 -> 7570 bytes .../x64/Release/UdpSocket.obj | Bin 0 -> 661336 bytes .../x64/Release/main.obj | Bin 0 -> 1105369 bytes .../x64/Release/vc143.pdb | Bin 0 -> 667648 bytes 96 files changed, 5798 insertions(+) create mode 100644 FaceTrackerSteamOSC.sln create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.aps create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.filters create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.rc create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.user create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj create mode 100644 FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj.user create mode 100644 FaceTrackerSteamOSC/icon.ico create mode 100644 FaceTrackerSteamOSC/main.cpp create mode 100644 FaceTrackerSteamOSC/resource.h create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 external/oscpack_1_1_0/LICENSE create mode 100644 external/oscpack_1_1_0/README create mode 100644 external/oscpack_1_1_0/ip/IpEndpointName.cpp create mode 100644 external/oscpack_1_1_0/ip/IpEndpointName.h create mode 100644 external/oscpack_1_1_0/ip/NetworkingUtils.h create mode 100644 external/oscpack_1_1_0/ip/PacketListener.h create mode 100644 external/oscpack_1_1_0/ip/TimerListener.h create mode 100644 external/oscpack_1_1_0/ip/UdpSocket.h create mode 100644 external/oscpack_1_1_0/ip/posix/NetworkingUtils.cpp create mode 100644 external/oscpack_1_1_0/ip/posix/UdpSocket.cpp create mode 100644 external/oscpack_1_1_0/ip/win32/NetworkingUtils.cpp create mode 100644 external/oscpack_1_1_0/ip/win32/UdpSocket.cpp create mode 100644 external/oscpack_1_1_0/osc/MessageMappingOscPacketListener.h create mode 100644 external/oscpack_1_1_0/osc/OscException.h create mode 100644 external/oscpack_1_1_0/osc/OscHostEndianness.h create mode 100644 external/oscpack_1_1_0/osc/OscOutboundPacketStream.cpp create mode 100644 external/oscpack_1_1_0/osc/OscOutboundPacketStream.h create mode 100644 external/oscpack_1_1_0/osc/OscPacketListener.h create mode 100644 external/oscpack_1_1_0/osc/OscPrintReceivedElements.cpp create mode 100644 external/oscpack_1_1_0/osc/OscPrintReceivedElements.h create mode 100644 external/oscpack_1_1_0/osc/OscReceivedElements.cpp create mode 100644 external/oscpack_1_1_0/osc/OscReceivedElements.h create mode 100644 external/oscpack_1_1_0/osc/OscTypes.cpp create mode 100644 external/oscpack_1_1_0/osc/OscTypes.h create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/EyeFaceTrackerSteamOSC.lastbuildstate create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.2.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/unsuccessfulbuild create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.log create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.res create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/IpEndpointName.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/NetworkingUtils.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscOutboundPacketStream.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscPrintReceivedElements.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscReceivedElements.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscTypes.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/UdpSocket.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/d3d_common.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/graphicsplugin_d3d11.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/graphicsplugin_factory.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/logger.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/main.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/pch.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/platformplugin_factory.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/platformplugin_win32.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/vc143.idb create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Debug/vc143.pdb create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/CL.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/CL.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/CL.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/EyeFaceTrackerSteamOSC.lastbuildstate create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/link.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/link.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/link.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/rc.command.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/rc.read.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceT.b888ff32.tlog/rc.write.1.tlog create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.Build.CppClean.log create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.exe.recipe create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.iobj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.ipdb create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.log create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/EyeFaceTrackerSteamOSC.res create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/IpEndpointName.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/NetworkingUtils.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/OscOutboundPacketStream.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/OscPrintReceivedElements.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/OscReceivedElements.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/OscTypes.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/UdpSocket.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/main.obj create mode 100644 tmp/EyeFaceTrackerSteamOSC/x64/Release/vc143.pdb diff --git a/FaceTrackerSteamOSC.sln b/FaceTrackerSteamOSC.sln new file mode 100644 index 0000000..c5e9191 --- /dev/null +++ b/FaceTrackerSteamOSC.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33502.453 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FaceTrackerSteamOSC", "FaceTrackerSteamOSC\FaceTrackerSteamOSC.vcxproj", "{B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Debug|x64.ActiveCfg = Debug|x64 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Debug|x64.Build.0 = Debug|x64 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Debug|x86.ActiveCfg = Debug|Win32 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Debug|x86.Build.0 = Debug|Win32 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Release|x64.ActiveCfg = Release|x64 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Release|x64.Build.0 = Release|x64 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Release|x86.ActiveCfg = Release|Win32 + {B888FF32-C1F2-4050-B6D9-5C2BEE28AED5}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {98C268F9-8E12-487A-89E0-C9563F492C16} + EndGlobalSection +EndGlobal diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.aps b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.aps new file mode 100644 index 0000000000000000000000000000000000000000..301c0a78a7ac72c42f40c63c5490e2ec9a7a85a1 GIT binary patch literal 19056 zcmeHPOK;mo5FR;h(Kpfuf*yKM(j4rARVi{`ITTh%rY0Kk!brQf0FU>e`=H@QufCi~r#kek#G2EF5cC#dWbglado+_q)x zcx}gU?Uth%?d?XhWl*hJqc_!c&EDK>So&yrwOR$jTX6)-bL{3NJ=Wh=*WKMsV@xi% zze6;ZY1lo4SW=?Ww%gt|9M`n1wrSnBsYV}A$<(#B>oq)6qotMFGObWa(u(I_Fv6&P zg73HVZF*du^uy40Z_9a4p&5z+k={U0fM56Utvt=ZC{B)NJU{8Z?jOlbWQ zD)5PJK>Kl7KLdoQdVOLujqZ|9EgDcjeLQ_?P#sSl^8p>u5#)c0xlJx<_zvh9x(D2c zINO1w^2x}6Mie&fkONwsHbC8%TzhnkQ3vA+?L(eOhAqH)^u6T#gv!uVmmW*}GA+>$ z^c8(U%i!?<@I!h8+#w_^gKrm73dw6!#nZ%U2b9Oa2}aNgRw{G{pQ`+bxetsdcn&4M zNU}&Cp`&lmC`NS(qmwN>fxrf#-P&9;PHm%%ZHv!Z!Oy~=<{f{Yq(IT#IkJqG8$=3 z+cltR30^mvTl94_9t$m^YM}(!q7v81u*1==2zu$elXd7K8PhTPtV;n1O1Q2_E8T^OCUi0DT%umD$8;|C+}qom`Mz1_N*rIxm4!D=n6B%| zZNuSkScvnVpPz?9zFBs0)?_Qn`IBi~ z&;Qu|#m)cN|Jnbi`CBK87sr2b zv+Ad(r%Ce{=I6D`%M|jPsx3=06<&9RJgd^(u#HeO!x1 z=s~R`A*x4|Xl*U3A|a|yl;}^Cn~2vVSrBBhjYp#HkdA&;-J$1L|0RZ#t`#Ke==_TP zCVbL$bVRM3e_}Z4S~;S|%|3*i@JZLW5w%=?Lb;6zPP&$hsKxTeqKcEQ#UjdU?7#ME s^+iNYk)N-mi8QO$0TGo!{=SkXT{}eB`@8iQ+gn)pOV literal 0 HcmV?d00001 diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.filters b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.filters new file mode 100644 index 0000000..9f0d5cd --- /dev/null +++ b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.filters @@ -0,0 +1,85 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {1b9d200c-4a0a-4b3d-a8fc-54b271dcc4de} + + + {bde4cd89-207f-48bf-a4a0-88e6ddcee8ca} + + + + + ソース ファイル + + + osc + + + osc + + + osc + + + osc + + + hello_xr + + + hello_xr + + + hello_xr + + + hello_xr + + + hello_xr + + + hello_xr + + + hello_xr + + + osc + + + osc + + + osc + + + + + ヘッダー ファイル + + + + + リソース ファイル + + + + + リソース ファイル + + + \ No newline at end of file diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.rc b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.rc new file mode 100644 index 0000000000000000000000000000000000000000..fd6d0ca26fcfdd520bc6dfbd70f7c8defd27fd5e GIT binary patch literal 3200 zcmd5;+l~@J5IxT({zE&wXxxC8FW@qgQ5MYt8%;>a29}kCTNu!o_yvB1f9G$g=hRHI zvpWnbzDznj)m>fHbGo`N{p)89H8`AOhA}o+A!eUqOWq}UF?P7ZoU^ReIGps37#X~&cUus4xWVEi=cIV1W{hfVu_ zWpjm^eeQ8VFCF1EW3fvOVeF9GC3isDHc#{%$?0aa9x@(7oN@OaB^!G!{XHbII=LNs zwRTijzL*}lUwQu}Pw|G@Ez>C1?PbyUoAk6OhW)yz`g2;VDB88&;Mv=j2Q+hOJDgXC zc$VhYkd{jDCTq zlf1XdcIw%CF4x$j^VHE(#;hgFJ?`uoZdaY%qNNoBXxbY@|_B~)J=CD&|oN{#ImF*7vI=2=`x9a~UFZ-$tf3GSG4AyJhS z9_eV;Ih)=dU((eDX;S%wIAXqvnCbLNP(&STUhbGob}iUruco8y`$aep`Pbj(^K$u9 z7LE5DPm^qYtRCkhD7#;|#y(;^{oj|FGTQN%nYUxP?2ttxgvA+i$yiiG=HFrYd)H3C E0i8E}d;kCd literal 0 HcmV?d00001 diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.user b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.user new file mode 100644 index 0000000..531c9a5 --- /dev/null +++ b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.user @@ -0,0 +1,23 @@ + + + + + + WindowsLocalDebugger + + + + + WindowsLocalDebugger + + + + + WindowsLocalDebugger + + + + + WindowsLocalDebugger + + \ No newline at end of file diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj new file mode 100644 index 0000000..f319831 --- /dev/null +++ b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj @@ -0,0 +1,188 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + 16.0 + Win32Proj + {b888ff32-c1f2-4050-b6d9-5c2bee28aed5} + FaceTrackerSteamOSC + 10.0 + FaceTrackerSteamOSC + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + $(SolutionDir)out\$(Platform)\$(Configuration)\ + $(SolutionDir)tmp\$(ProjectName)\$(Platform)\$(Configuration)\ + + + $(SolutionDir)out\$(Platform)\$(Configuration)\ + $(SolutionDir)tmp\$(ProjectName)\$(Platform)\$(Configuration)\ + + + $(SolutionDir)out\$(Platform)\$(Configuration)\ + $(SolutionDir)tmp\$(ProjectName)\$(Platform)\$(Configuration)\ + + + $(SolutionDir)out\$(Platform)\$(Configuration)\ + $(SolutionDir)tmp\$(ProjectName)\$(Platform)\$(Configuration)\ + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);__WIN32__ + true + $(SolutionDir)external\oscpack_1_1_0;%(AdditionalIncludeDirectories) + 4996;%(DisableSpecificWarnings) + + + Console + true + + + ws2_32.lib;winmm.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);__WIN32__ + true + $(SolutionDir)external\oscpack_1_1_0;%(AdditionalIncludeDirectories) + 4996;%(DisableSpecificWarnings) + + + Console + true + true + true + + + ws2_32.lib;winmm.lib;%(AdditionalDependencies) + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions);__WIN32__ + true + $(SolutionDir)external\oscpack_1_1_0;%(AdditionalIncludeDirectories) + 4996;%(DisableSpecificWarnings) + + + Console + true + + + ws2_32.lib;winmm.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions);__WIN32__ + true + $(SolutionDir)external\oscpack_1_1_0;%(AdditionalIncludeDirectories) + 4996;%(DisableSpecificWarnings) + + + Console + true + true + true + + + ws2_32.lib;winmm.lib;%(AdditionalDependencies) + + + + + + \ No newline at end of file diff --git a/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj.user b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/FaceTrackerSteamOSC/FaceTrackerSteamOSC.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/FaceTrackerSteamOSC/icon.ico b/FaceTrackerSteamOSC/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f695593c90333ecf8a8d2e9c4977e40812f29aed GIT binary patch literal 16958 zcmeI3!BO5Y5QUv{PE2NU&T!&R15Ab%Xn_{E=12>)Knt`$3$#EB&i}zYW_h!+B-;@G z#L5`S(rUHu?P?{5WEj33{#;xPho8TOv){w;a~OuR!*l2w{v00qU&_TW{P_O*ymq|& z91lPDXXjv#fjtKH7}#Ur(_-N2>T0~ZyBn#ueg<7$UaoHA)6>(a^8EZf-rU@br>Cc@ zt#f{UKHlEmjt>tHi*%xc;2(Y5!)j_-2l; zGhT?fSm0E0mCmWX3o?|0^_Pw7484t+09&$yrYpeL>UvVGtPvw4i z@V!DTh%X;={P06x&m$XEM}FtFOZdUkQas<2E4Wv}gpFEfKj&fWSG%NZtN7ignVo(IBIbRMl<=dUJ3!ClHc0o9+HvxZK4PEtRIZmj zoO>nQvd#T}4EG<|UOV&PfpgDup5{{@Gk)Qy@jzZE-2=Y@{>Vc-7qkylXR+=0x4!>{ zwN$g;v+qOy?$vz9FRqr<(!HcE<-b;)>ivJoe)PHUpjdGHaZEC`+V$7uTgH9=`x;B$BgP&7``;->Zd&|=jF;AV zQ*zir48+HM#d{oQ@5aJ87{}F)e-Gk1w}L<8#?N(fTa+WO#R4C3JZn4tIDc+CTW5_v zo#(PE`ce9wqnPU@6YFEa&siP|-+vK@+QfJ)ylX70j|IQ~n}8B7Vj`9jPvQc-aF9Jw z53!fYWPQ@TX6@hmS?p^)?)tHm?!J;Q)vl)`_tE|SJD*x!^H{0Lm+W^vrEloc{I&Xt zu~?>j&zhbqh}~Kq%xvX+i3L6~xwZQoZ?s{JcB{R;xujKZO>QgrvD5R;++0$_9LGNk zKkL*UzjKfiYjYT1vR9bfvWD-4)-y_6`}{TEv0v+aRPFZmuIcmFeDAeo4o7Zp@0vb; z&G%kg{ssOyYi? +#include +#include + +#include +#include +#include +#include + +class OscProcess : public osc::OscPacketListener +{ + const std::string steam = "/sl/xrfb/facew/"; + const std::string a3 = "/avatar/parameters/"; + UdpTransmitSocket* sendSocket; + UdpListeningReceiveSocket* recvSocket; + + char buffer[6144]; + osc::OutboundPacketStream sendPacket = osc::OutboundPacketStream(buffer,6144); + +public: + OscProcess(const char* ip= "127.0.0.1", int portSend = 9000, int portRecv = 9015) { + sendSocket = new UdpTransmitSocket(IpEndpointName(ip, portSend)); + recvSocket = new UdpListeningReceiveSocket(IpEndpointName(IpEndpointName::ANY_ADDRESS, portRecv), this); + } + void RunUntilSigInt() { + recvSocket->RunUntilSigInt(); + } +protected: + virtual void ProcessMessage(const osc::ReceivedMessage& m, const IpEndpointName& endpoint) + { + std::string addressPattern = m.AddressPattern(); + size_t pos = addressPattern.find(steam); + if (pos != std::string::npos) { + addressPattern.replace(pos, steam.length(), a3); + } + //std::cout << addressPattern; + sendPacket << osc::BeginMessage(addressPattern.c_str()); + for (osc::ReceivedMessage::const_iterator arg = m.ArgumentsBegin(); arg != m.ArgumentsEnd();arg++) { + switch (arg->TypeTag()) { + case osc::FLOAT_TYPE_TAG: + { + float data = arg->AsFloat(); + sendPacket << data; + //std::cout << data; + break; + } + case osc::DOUBLE_TYPE_TAG: + { + double data = arg->AsDouble(); + sendPacket << data; + //std::cout << data; + break; + } + case osc::STRING_TYPE_TAG: + { + const char* data = arg->AsString(); + sendPacket << data; + //std::cout << data; + break; + } + case osc::INT32_TYPE_TAG: + { + osc::int32 data = arg->AsInt32(); + sendPacket << data; + //std::cout << data; + break; + } + case osc::INT64_TYPE_TAG: + { + osc::int64 data = arg->AsInt64(); + sendPacket << data; + //std::cout << data; + break; + } + default: + std::cout << "Error:TYPE_TAG"; + break; + } + } + sendPacket << osc::EndMessage; + //std::cout << std::endl; + } + virtual void ProcessPacket(const char* data, int size, const IpEndpointName& remoteEndpoint) + { + sendPacket.Clear(); + sendPacket << osc::BeginBundleImmediate; + + osc::ReceivedPacket p(data, size); + if (p.IsBundle()) + ProcessBundle(osc::ReceivedBundle(p), remoteEndpoint); + else + ProcessMessage(osc::ReceivedMessage(p), remoteEndpoint); + + sendPacket << osc::EndBundle; + sendSocket->Send(sendPacket.Data(), sendPacket.Size()); + } +}; + +int main(int argc, char** argv) +{ + std::cout << "Face Tracker Steam OSC\n(c)A3\nhttps://twitter.com/A3_yuu" << std::endl; + + //arg + const char *ip = "127.0.0.1"; + int portSend = 9000; + int portRecv = 9015; + + switch (argc > 4 ? 4 : argc) { + case 4: + portRecv = atoi(argv[3]); + case 3: + portSend = atoi(argv[2]); + case 2: + ip = argv[1]; + default: + break; + } + + OscProcess listener(ip, portSend, portRecv); + listener.RunUntilSigInt(); + + return 0; +} \ No newline at end of file diff --git a/FaceTrackerSteamOSC/resource.h b/FaceTrackerSteamOSC/resource.h new file mode 100644 index 0000000..1bfeefc --- /dev/null +++ b/FaceTrackerSteamOSC/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ �Ő������ꂽ�C���N���[�h �t�@�C���B +// EyeTrackerOSC.rc �Ŏg�p +// +#define IDI_ICON1 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..045f077 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 A3 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..f6f6a82 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +# FaceTrackerSteamOSC + +SteamLinkでVRChatでフェイストラッキングを動かせるようになる。 + +Quest Proが必要 + +アバターの設定が必須 + +## Build from source + +Open with VisualStudio + +Build + +## Option + +ip portSend portRecv + +## Avatar setting + +中身は「/sl/xrfb/facew/」を「/avatar/parameters/」に書き換えているだけ。 + +OSCが来たらアバターの表情が動くように設定する。 + +例: + +XR_FACE_EXPRESSION_BROW_LOWERER_R_FB + +→/avatar/parameters/BrowLowererR + +Boothにアニメーションファイルのサンプルをおいてるのでご参考。 + +また、それぞれの設定すべき表情は下記から確認可能。 + +https://developer.oculus.com/documentation/unity/move-face-tracking/ + +## Donate + +https://a3s.booth.pm/items/4715968 + +## Twitter + +https://twitter.com/A3_yuu \ No newline at end of file diff --git a/external/oscpack_1_1_0/LICENSE b/external/oscpack_1_1_0/LICENSE new file mode 100644 index 0000000..ebaaac1 --- /dev/null +++ b/external/oscpack_1_1_0/LICENSE @@ -0,0 +1,34 @@ +oscpack -- Open Sound Control (OSC) packet manipulation library +http://www.rossbencina.com/code/oscpack + +Copyright (c) 2004-2013 Ross Bencina + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR +ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +### + +The text above constitutes the entire oscpack license; however, +the oscpack developer(s) also make the following non-binding requests: + +Any person wishing to distribute modifications to the Software is +requested to send the modifications to the original developer so that +they can be incorporated into the canonical version. It is also +requested that these non-binding requests be included whenever the +above license is reproduced. \ No newline at end of file diff --git a/external/oscpack_1_1_0/README b/external/oscpack_1_1_0/README new file mode 100644 index 0000000..5d1d5c1 --- /dev/null +++ b/external/oscpack_1_1_0/README @@ -0,0 +1,150 @@ +oscpack -- Open Sound Control packet manipulation library +A simple C++ library for packing and unpacking OSC packets. +http://www.rossbencina.com/code/oscpack + +Copyright (c) 2004-2013 Ross Bencina + + +Oscpack is simply a set of C++ classes for packing and unpacking OSC packets. +Oscpack includes a minimal set of UDP networking classes for Windows and POSIX. +The networking classes are sufficient for writing many OSC applications and servers, +but you are encouraged to use another networking framework if it better suits your needs. +Oscpack is not an OSC application framework. It doesn't include infrastructure for +constructing or routing OSC namespaces, just classes for easily constructing, +sending, receiving and parsing OSC packets. The library should also be easy to use +for other transport methods (e.g. serial). + +The key goals of the oscpack library are: + + - Be a simple and complete implementation of OSC + - Be portable to a wide variety of platforms + - Allow easy development of robust OSC applications + (for example it should be impossible to crash a server + by sending it malformed packets, and difficult to create + malformed packets.) + +Here's a quick run down of the key files: + +osc/OscReceivedElements -- classes for parsing a packet +osc/OscPrintRecievedElements -- iostream << operators for printing packet elements +osc/OscOutboundPacketStream -- a class for packing messages into a packet +osc/OscPacketListener -- base class for listening to OSC packets on a UdpSocket +ip/IpEndpointName -- class that represents an IP address and port number +ip/UdpSocket -- classes for UDP transmission and listening sockets +tests/OscUnitTests -- unit test program for the OSC modules +tests/OscSendTests -- examples of how to send messages +tests/OscReceiveTest -- example of how to receive the messages sent by OSCSendTests +examples/OscDump -- a program that prints received OSC packets +examples/SimpleSend -- a minimal program to send an OSC message +examples/SimpleReceive -- a minimal program to receive an OSC message + +osc/ contains all of the OSC related classes +ip/ contains the networking classes + +ip/windows contains the Windows implementation of the networking classes +ip/posix contains the POSIX implementation of the networking classes + + +Building +-------- + +The idea is that you will embed this source code in your projects as you +see fit. The Makefile has an install rule for building a shared library and +installing headers in usr/local. It can also build a static library. +There is a CMakeLists.txt for building with cmake. + +Makefile builds +............... + +The Makefile works for Linux and Max OS X. It should also work on other platforms +that have make. Just run: + +$ make + +You can run "make install" if you like. + + +Cmake builds +............ + +There is a CMakeLists.txt file which has been tested with cmake on +Windows and Linux. It should work on other platforms too. +For example, to generate a Visual Studio 10 project, run cmake +like this: + +> cmake -G "Visual Studio 10" + +Run cmake without any parameters to get a list of available generators. + + +Mingw build batch file +...................... + +For Windows there is a batch file for doing a simple test build with +MinGW gcc called make.MinGW32.bat. This will build the test executables +and oscdump in ./bin and run the unit tests. + + +Note: + +In some rare instances you may need to edit the Makefile or +osc/OscHostEndianness.h to configure oscpack for the endianness of your +processor (see the comments at the top of the Makefile for details). + + + +Verification test +----------------- + +To run the unit tests: + +$ ./bin/OscUnitTests + +To run the send and receive tests. Open two terminals. In one run: + +$ ./bin/OscReceiveTest + +Then in the other terminal run: + +$./bin/OscSendTests + + +You should see an indication that the messages were received +in the first terminal. + +Note that OscSendTests intentionally sends some unexpected +message parameters to test exception handling in the receiver. +You will see some "error while parsing message" messages printed. + +You can use ./bin/OscDump to print out OSC messages received +from any program, including the test programs. + + +-- + + +If you fix anything or write a set of TCP send/receive classes +please consider sending me a patch. My email address is +rossb@audiomulch.com. Thanks :) + +For more information about Open Sound Control, see: +http://opensoundcontrol.org/ + +Thanks to Till Bovermann for helping with POSIX networking code and +Mac compatibility, and to Martin Kaltenbrunner and the rest of the +reacTable team for giving me a reason to finish this library. Thanks +to Merlijn Blaauw for reviewing the interfaces. Thanks to Xavier Oliver +for additional help with Linux builds and POSIX implementation details. + +Portions developed at the Music Technology Group, Audiovisual Institute, +University Pompeu Fabra, Barcelona, during my stay as a visiting +researcher, November 2004 - September 2005. + +Thanks to Syneme at the University of Calgary for providing financial +support for the 1.1.0 update, December 2012 - March 2013. + +See the file CHANGES for information about recent updates. + +See the file LICENSE for information about distributing and using this code. + +### diff --git a/external/oscpack_1_1_0/ip/IpEndpointName.cpp b/external/oscpack_1_1_0/ip/IpEndpointName.cpp new file mode 100644 index 0000000..50b0262 --- /dev/null +++ b/external/oscpack_1_1_0/ip/IpEndpointName.cpp @@ -0,0 +1,88 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "IpEndpointName.h" + +#include + +#include "NetworkingUtils.h" + + +unsigned long IpEndpointName::GetHostByName( const char *s ) +{ + return ::GetHostByName(s); +} + + +void IpEndpointName::AddressAsString( char *s ) const +{ + if( address == ANY_ADDRESS ){ + std::sprintf( s, "" ); + }else{ + std::sprintf( s, "%d.%d.%d.%d", + (int)((address >> 24) & 0xFF), + (int)((address >> 16) & 0xFF), + (int)((address >> 8) & 0xFF), + (int)(address & 0xFF) ); + } +} + + +void IpEndpointName::AddressAndPortAsString( char *s ) const +{ + if( port == ANY_PORT ){ + if( address == ANY_ADDRESS ){ + std::sprintf( s, ":" ); + }else{ + std::sprintf( s, "%d.%d.%d.%d:", + (int)((address >> 24) & 0xFF), + (int)((address >> 16) & 0xFF), + (int)((address >> 8) & 0xFF), + (int)(address & 0xFF) ); + } + }else{ + if( address == ANY_ADDRESS ){ + std::sprintf( s, ":%d", port ); + }else{ + std::sprintf( s, "%d.%d.%d.%d:%d", + (int)((address >> 24) & 0xFF), + (int)((address >> 16) & 0xFF), + (int)((address >> 8) & 0xFF), + (int)(address & 0xFF), + (int)port ); + } + } +} diff --git a/external/oscpack_1_1_0/ip/IpEndpointName.h b/external/oscpack_1_1_0/ip/IpEndpointName.h new file mode 100644 index 0000000..c83e1c3 --- /dev/null +++ b/external/oscpack_1_1_0/ip/IpEndpointName.h @@ -0,0 +1,83 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_IPENDPOINTNAME_H +#define INCLUDED_OSCPACK_IPENDPOINTNAME_H + + +class IpEndpointName{ + static unsigned long GetHostByName( const char *s ); +public: + static const unsigned long ANY_ADDRESS = 0xFFFFFFFF; + static const int ANY_PORT = -1; + + IpEndpointName() + : address( ANY_ADDRESS ), port( ANY_PORT ) {} + IpEndpointName( int port_ ) + : address( ANY_ADDRESS ), port( port_ ) {} + IpEndpointName( unsigned long ipAddress_, int port_ ) + : address( ipAddress_ ), port( port_ ) {} + IpEndpointName( const char *addressName, int port_=ANY_PORT ) + : address( GetHostByName( addressName ) ) + , port( port_ ) {} + IpEndpointName( int addressA, int addressB, int addressC, int addressD, int port_=ANY_PORT ) + : address( ( (addressA << 24) | (addressB << 16) | (addressC << 8) | addressD ) ) + , port( port_ ) {} + + // address and port are maintained in host byte order here + unsigned long address; + int port; + + bool IsMulticastAddress() const { return ((address >> 24) & 0xFF) >= 224 && ((address >> 24) & 0xFF) <= 239; } + + enum { ADDRESS_STRING_LENGTH=17 }; + void AddressAsString( char *s ) const; + + enum { ADDRESS_AND_PORT_STRING_LENGTH=23}; + void AddressAndPortAsString( char *s ) const; +}; + +inline bool operator==( const IpEndpointName& lhs, const IpEndpointName& rhs ) +{ + return (lhs.address == rhs.address && lhs.port == rhs.port ); +} + +inline bool operator!=( const IpEndpointName& lhs, const IpEndpointName& rhs ) +{ + return !(lhs == rhs); +} + +#endif /* INCLUDED_OSCPACK_IPENDPOINTNAME_H */ diff --git a/external/oscpack_1_1_0/ip/NetworkingUtils.h b/external/oscpack_1_1_0/ip/NetworkingUtils.h new file mode 100644 index 0000000..a83612a --- /dev/null +++ b/external/oscpack_1_1_0/ip/NetworkingUtils.h @@ -0,0 +1,56 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_NETWORKINGUTILS_H +#define INCLUDED_OSCPACK_NETWORKINGUTILS_H + + +// in general NetworkInitializer is only used internally, but if you're +// application creates multiple sockets from different threads at runtime you +// should instantiate one of these in main just to make sure the networking +// layer is initialized. +class NetworkInitializer{ +public: + NetworkInitializer(); + ~NetworkInitializer(); +}; + + +// return ip address of host name in host byte order +unsigned long GetHostByName( const char *name ); + + +#endif /* INCLUDED_OSCPACK_NETWORKINGUTILS_H */ diff --git a/external/oscpack_1_1_0/ip/PacketListener.h b/external/oscpack_1_1_0/ip/PacketListener.h new file mode 100644 index 0000000..6c26b32 --- /dev/null +++ b/external/oscpack_1_1_0/ip/PacketListener.h @@ -0,0 +1,50 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_PACKETLISTENER_H +#define INCLUDED_OSCPACK_PACKETLISTENER_H + + +class IpEndpointName; + +class PacketListener{ +public: + virtual ~PacketListener() {} + virtual void ProcessPacket( const char *data, int size, + const IpEndpointName& remoteEndpoint ) = 0; +}; + +#endif /* INCLUDED_OSCPACK_PACKETLISTENER_H */ diff --git a/external/oscpack_1_1_0/ip/TimerListener.h b/external/oscpack_1_1_0/ip/TimerListener.h new file mode 100644 index 0000000..59b4040 --- /dev/null +++ b/external/oscpack_1_1_0/ip/TimerListener.h @@ -0,0 +1,47 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_TIMERLISTENER_H +#define INCLUDED_OSCPACK_TIMERLISTENER_H + + +class TimerListener{ +public: + virtual ~TimerListener() {} + virtual void TimerExpired() = 0; +}; + +#endif /* INCLUDED_OSCPACK_TIMERLISTENER_H */ diff --git a/external/oscpack_1_1_0/ip/UdpSocket.h b/external/oscpack_1_1_0/ip/UdpSocket.h new file mode 100644 index 0000000..2d7a189 --- /dev/null +++ b/external/oscpack_1_1_0/ip/UdpSocket.h @@ -0,0 +1,176 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_UDPSOCKET_H +#define INCLUDED_OSCPACK_UDPSOCKET_H + +#include // size_t + +#include "NetworkingUtils.h" +#include "IpEndpointName.h" + + +class PacketListener; +class TimerListener; + +class UdpSocket; + +class SocketReceiveMultiplexer{ + class Implementation; + Implementation *impl_; + + friend class UdpSocket; + +public: + SocketReceiveMultiplexer(); + ~SocketReceiveMultiplexer(); + + // only call the attach/detach methods _before_ calling Run + + // only one listener per socket, each socket at most once + void AttachSocketListener( UdpSocket *socket, PacketListener *listener ); + void DetachSocketListener( UdpSocket *socket, PacketListener *listener ); + + void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ); + void AttachPeriodicTimerListener( + int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ); + void DetachPeriodicTimerListener( TimerListener *listener ); + + void Run(); // loop and block processing messages indefinitely + void RunUntilSigInt(); + void Break(); // call this from a listener to exit once the listener returns + void AsynchronousBreak(); // call this from another thread or signal handler to exit the Run() state +}; + + +class UdpSocket{ + class Implementation; + Implementation *impl_; + + friend class SocketReceiveMultiplexer::Implementation; + +public: + + // Ctor throws std::runtime_error if there's a problem + // initializing the socket. + UdpSocket(); + virtual ~UdpSocket(); + + // Enable broadcast addresses (e.g. x.x.x.255) + // Sets SO_BROADCAST socket option. + void SetEnableBroadcast( bool enableBroadcast ); + + // Enable multiple listeners for a single port on same + // network interface* + // Sets SO_REUSEADDR (also SO_REUSEPORT on OS X). + // [*] The exact behavior of SO_REUSEADDR and + // SO_REUSEPORT is undefined for some common cases + // and may have drastically different behavior on different + // operating systems. + void SetAllowReuse( bool allowReuse ); + + + // The socket is created in an unbound, unconnected state + // such a socket can only be used to send to an arbitrary + // address using SendTo(). To use Send() you need to first + // connect to a remote endpoint using Connect(). To use + // ReceiveFrom you need to first bind to a local endpoint + // using Bind(). + + // Retrieve the local endpoint name when sending to 'to' + IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const; + + // Connect to a remote endpoint which is used as the target + // for calls to Send() + void Connect( const IpEndpointName& remoteEndpoint ); + void Send( const char *data, std::size_t size ); + void SendTo( const IpEndpointName& remoteEndpoint, const char *data, std::size_t size ); + + + // Bind a local endpoint to receive incoming data. Endpoint + // can be 'any' for the system to choose an endpoint + void Bind( const IpEndpointName& localEndpoint ); + bool IsBound() const; + + std::size_t ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, std::size_t size ); +}; + + +// convenience classes for transmitting and receiving +// they just call Connect and/or Bind in the ctor. +// note that you can still use a receive socket +// for transmitting etc + +class UdpTransmitSocket : public UdpSocket{ +public: + UdpTransmitSocket( const IpEndpointName& remoteEndpoint ) + { Connect( remoteEndpoint ); } +}; + + +class UdpReceiveSocket : public UdpSocket{ +public: + UdpReceiveSocket( const IpEndpointName& localEndpoint ) + { Bind( localEndpoint ); } +}; + + +// UdpListeningReceiveSocket provides a simple way to bind one listener +// to a single socket without having to manually set up a SocketReceiveMultiplexer + +class UdpListeningReceiveSocket : public UdpSocket{ + SocketReceiveMultiplexer mux_; + PacketListener *listener_; +public: + UdpListeningReceiveSocket( const IpEndpointName& localEndpoint, PacketListener *listener ) + : listener_( listener ) + { + Bind( localEndpoint ); + mux_.AttachSocketListener( this, listener_ ); + } + + ~UdpListeningReceiveSocket() + { mux_.DetachSocketListener( this, listener_ ); } + + // see SocketReceiveMultiplexer above for the behaviour of these methods... + void Run() { mux_.Run(); } + void RunUntilSigInt() { mux_.RunUntilSigInt(); } + void Break() { mux_.Break(); } + void AsynchronousBreak() { mux_.AsynchronousBreak(); } +}; + + +#endif /* INCLUDED_OSCPACK_UDPSOCKET_H */ diff --git a/external/oscpack_1_1_0/ip/posix/NetworkingUtils.cpp b/external/oscpack_1_1_0/ip/posix/NetworkingUtils.cpp new file mode 100644 index 0000000..7f36605 --- /dev/null +++ b/external/oscpack_1_1_0/ip/posix/NetworkingUtils.cpp @@ -0,0 +1,64 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "ip/NetworkingUtils.h" + +#include +#include +#include + +#include + + + +NetworkInitializer::NetworkInitializer() {} + +NetworkInitializer::~NetworkInitializer() {} + + +unsigned long GetHostByName( const char *name ) +{ + unsigned long result = 0; + + struct hostent *h = gethostbyname( name ); + if( h ){ + struct in_addr a; + std::memcpy( &a, h->h_addr_list[0], h->h_length ); + result = ntohl(a.s_addr); + } + + return result; +} diff --git a/external/oscpack_1_1_0/ip/posix/UdpSocket.cpp b/external/oscpack_1_1_0/ip/posix/UdpSocket.cpp new file mode 100644 index 0000000..b8262fc --- /dev/null +++ b/external/oscpack_1_1_0/ip/posix/UdpSocket.cpp @@ -0,0 +1,602 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "ip/UdpSocket.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include // for sockaddr_in + +#include +#include +#include +#include + +#include +#include +#include // for memset +#include +#include + +#include "ip/PacketListener.h" +#include "ip/TimerListener.h" + + +#if defined(__APPLE__) && !defined(_SOCKLEN_T) +// pre system 10.3 didn't have socklen_t +typedef ssize_t socklen_t; +#endif + + +static void SockaddrFromIpEndpointName( struct sockaddr_in& sockAddr, const IpEndpointName& endpoint ) +{ + std::memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); + sockAddr.sin_family = AF_INET; + + sockAddr.sin_addr.s_addr = + (endpoint.address == IpEndpointName::ANY_ADDRESS) + ? INADDR_ANY + : htonl( endpoint.address ); + + sockAddr.sin_port = + (endpoint.port == IpEndpointName::ANY_PORT) + ? 0 + : htons( endpoint.port ); +} + + +static IpEndpointName IpEndpointNameFromSockaddr( const struct sockaddr_in& sockAddr ) +{ + return IpEndpointName( + (sockAddr.sin_addr.s_addr == INADDR_ANY) + ? IpEndpointName::ANY_ADDRESS + : ntohl( sockAddr.sin_addr.s_addr ), + (sockAddr.sin_port == 0) + ? IpEndpointName::ANY_PORT + : ntohs( sockAddr.sin_port ) + ); +} + + +class UdpSocket::Implementation{ + bool isBound_; + bool isConnected_; + + int socket_; + struct sockaddr_in connectedAddr_; + struct sockaddr_in sendToAddr_; + +public: + + Implementation() + : isBound_( false ) + , isConnected_( false ) + , socket_( -1 ) + { + if( (socket_ = socket( AF_INET, SOCK_DGRAM, 0 )) == -1 ){ + throw std::runtime_error("unable to create udp socket\n"); + } + + std::memset( &sendToAddr_, 0, sizeof(sendToAddr_) ); + sendToAddr_.sin_family = AF_INET; + } + + ~Implementation() + { + if (socket_ != -1) close(socket_); + } + + void SetEnableBroadcast( bool enableBroadcast ) + { + int broadcast = (enableBroadcast) ? 1 : 0; // int on posix + setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)); + } + + void SetAllowReuse( bool allowReuse ) + { + int reuseAddr = (allowReuse) ? 1 : 0; // int on posix + setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &reuseAddr, sizeof(reuseAddr)); + +#ifdef __APPLE__ + // needed also for OS X - enable multiple listeners for a single port on same network interface + int reusePort = (allowReuse) ? 1 : 0; // int on posix + setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &reusePort, sizeof(reusePort)); +#endif + } + + IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const + { + assert( isBound_ ); + + // first connect the socket to the remote server + + struct sockaddr_in connectSockAddr; + SockaddrFromIpEndpointName( connectSockAddr, remoteEndpoint ); + + if (connect(socket_, (struct sockaddr *)&connectSockAddr, sizeof(connectSockAddr)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + // get the address + + struct sockaddr_in sockAddr; + std::memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); + socklen_t length = sizeof(sockAddr); + if (getsockname(socket_, (struct sockaddr *)&sockAddr, &length) < 0) { + throw std::runtime_error("unable to getsockname\n"); + } + + if( isConnected_ ){ + // reconnect to the connected address + + if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + }else{ + // unconnect from the remote address + + struct sockaddr_in unconnectSockAddr; + std::memset( (char *)&unconnectSockAddr, 0, sizeof(unconnectSockAddr ) ); + unconnectSockAddr.sin_family = AF_UNSPEC; + // address fields are zero + int connectResult = connect(socket_, (struct sockaddr *)&unconnectSockAddr, sizeof(unconnectSockAddr)); + if ( connectResult < 0 && errno != EAFNOSUPPORT ) { + throw std::runtime_error("unable to un-connect udp socket\n"); + } + } + + return IpEndpointNameFromSockaddr( sockAddr ); + } + + void Connect( const IpEndpointName& remoteEndpoint ) + { + SockaddrFromIpEndpointName( connectedAddr_, remoteEndpoint ); + + if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + isConnected_ = true; + } + + void Send( const char *data, std::size_t size ) + { + assert( isConnected_ ); + + send( socket_, data, size, 0 ); + } + + void SendTo( const IpEndpointName& remoteEndpoint, const char *data, std::size_t size ) + { + sendToAddr_.sin_addr.s_addr = htonl( remoteEndpoint.address ); + sendToAddr_.sin_port = htons( remoteEndpoint.port ); + + sendto( socket_, data, size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ); + } + + void Bind( const IpEndpointName& localEndpoint ) + { + struct sockaddr_in bindSockAddr; + SockaddrFromIpEndpointName( bindSockAddr, localEndpoint ); + + if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) { + throw std::runtime_error("unable to bind udp socket\n"); + } + + isBound_ = true; + } + + bool IsBound() const { return isBound_; } + + std::size_t ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, std::size_t size ) + { + assert( isBound_ ); + + struct sockaddr_in fromAddr; + socklen_t fromAddrLen = sizeof(fromAddr); + + ssize_t result = recvfrom(socket_, data, size, 0, + (struct sockaddr *) &fromAddr, (socklen_t*)&fromAddrLen); + if( result < 0 ) + return 0; + + remoteEndpoint.address = ntohl(fromAddr.sin_addr.s_addr); + remoteEndpoint.port = ntohs(fromAddr.sin_port); + + return (std::size_t)result; + } + + int Socket() { return socket_; } +}; + +UdpSocket::UdpSocket() +{ + impl_ = new Implementation(); +} + +UdpSocket::~UdpSocket() +{ + delete impl_; +} + +void UdpSocket::SetEnableBroadcast( bool enableBroadcast ) +{ + impl_->SetEnableBroadcast( enableBroadcast ); +} + +void UdpSocket::SetAllowReuse( bool allowReuse ) +{ + impl_->SetAllowReuse( allowReuse ); +} + +IpEndpointName UdpSocket::LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const +{ + return impl_->LocalEndpointFor( remoteEndpoint ); +} + +void UdpSocket::Connect( const IpEndpointName& remoteEndpoint ) +{ + impl_->Connect( remoteEndpoint ); +} + +void UdpSocket::Send( const char *data, std::size_t size ) +{ + impl_->Send( data, size ); +} + +void UdpSocket::SendTo( const IpEndpointName& remoteEndpoint, const char *data, std::size_t size ) +{ + impl_->SendTo( remoteEndpoint, data, size ); +} + +void UdpSocket::Bind( const IpEndpointName& localEndpoint ) +{ + impl_->Bind( localEndpoint ); +} + +bool UdpSocket::IsBound() const +{ + return impl_->IsBound(); +} + +std::size_t UdpSocket::ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, std::size_t size ) +{ + return impl_->ReceiveFrom( remoteEndpoint, data, size ); +} + + +struct AttachedTimerListener{ + AttachedTimerListener( int id, int p, TimerListener *tl ) + : initialDelayMs( id ) + , periodMs( p ) + , listener( tl ) {} + int initialDelayMs; + int periodMs; + TimerListener *listener; +}; + + +static bool CompareScheduledTimerCalls( + const std::pair< double, AttachedTimerListener > & lhs, const std::pair< double, AttachedTimerListener > & rhs ) +{ + return lhs.first < rhs.first; +} + + +SocketReceiveMultiplexer *multiplexerInstanceToAbortWithSigInt_ = 0; + +extern "C" /*static*/ void InterruptSignalHandler( int ); +/*static*/ void InterruptSignalHandler( int ) +{ + multiplexerInstanceToAbortWithSigInt_->AsynchronousBreak(); + signal( SIGINT, SIG_DFL ); +} + + +class SocketReceiveMultiplexer::Implementation{ + std::vector< std::pair< PacketListener*, UdpSocket* > > socketListeners_; + std::vector< AttachedTimerListener > timerListeners_; + + volatile bool break_; + int breakPipe_[2]; // [0] is the reader descriptor and [1] the writer + + double GetCurrentTimeMs() const + { + struct timeval t; + + gettimeofday( &t, 0 ); + + return ((double)t.tv_sec*1000.) + ((double)t.tv_usec / 1000.); + } + +public: + Implementation() + { + if( pipe(breakPipe_) != 0 ) + throw std::runtime_error( "creation of asynchronous break pipes failed\n" ); + } + + ~Implementation() + { + close( breakPipe_[0] ); + close( breakPipe_[1] ); + } + + void AttachSocketListener( UdpSocket *socket, PacketListener *listener ) + { + assert( std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ) == socketListeners_.end() ); + // we don't check that the same socket has been added multiple times, even though this is an error + socketListeners_.push_back( std::make_pair( listener, socket ) ); + } + + void DetachSocketListener( UdpSocket *socket, PacketListener *listener ) + { + std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = + std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ); + assert( i != socketListeners_.end() ); + + socketListeners_.erase( i ); + } + + void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) + { + timerListeners_.push_back( AttachedTimerListener( periodMilliseconds, periodMilliseconds, listener ) ); + } + + void AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) + { + timerListeners_.push_back( AttachedTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ) ); + } + + void DetachPeriodicTimerListener( TimerListener *listener ) + { + std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); + while( i != timerListeners_.end() ){ + if( i->listener == listener ) + break; + ++i; + } + + assert( i != timerListeners_.end() ); + + timerListeners_.erase( i ); + } + + void Run() + { + break_ = false; + char *data = 0; + + try{ + + // configure the master fd_set for select() + + fd_set masterfds, tempfds; + FD_ZERO( &masterfds ); + FD_ZERO( &tempfds ); + + // in addition to listening to the inbound sockets we + // also listen to the asynchronous break pipe, so that AsynchronousBreak() + // can break us out of select() from another thread. + FD_SET( breakPipe_[0], &masterfds ); + int fdmax = breakPipe_[0]; + + for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); + i != socketListeners_.end(); ++i ){ + + if( fdmax < i->second->impl_->Socket() ) + fdmax = i->second->impl_->Socket(); + FD_SET( i->second->impl_->Socket(), &masterfds ); + } + + + // configure the timer queue + double currentTimeMs = GetCurrentTimeMs(); + + // expiry time ms, listener + std::vector< std::pair< double, AttachedTimerListener > > timerQueue_; + for( std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); + i != timerListeners_.end(); ++i ) + timerQueue_.push_back( std::make_pair( currentTimeMs + i->initialDelayMs, *i ) ); + std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); + + const int MAX_BUFFER_SIZE = 4098; + data = new char[ MAX_BUFFER_SIZE ]; + IpEndpointName remoteEndpoint; + + struct timeval timeout; + + while( !break_ ){ + tempfds = masterfds; + + struct timeval *timeoutPtr = 0; + if( !timerQueue_.empty() ){ + double timeoutMs = timerQueue_.front().first - GetCurrentTimeMs(); + if( timeoutMs < 0 ) + timeoutMs = 0; + + long timoutSecondsPart = (long)(timeoutMs * .001); + timeout.tv_sec = (time_t)timoutSecondsPart; + // 1000000 microseconds in a second + timeout.tv_usec = (suseconds_t)((timeoutMs - (timoutSecondsPart * 1000)) * 1000); + timeoutPtr = &timeout; + } + + if( select( fdmax + 1, &tempfds, 0, 0, timeoutPtr ) < 0 ){ + if( break_ ){ + break; + }else if( errno == EINTR ){ + // on returning an error, select() doesn't clear tempfds. + // so tempfds would remain all set, which would cause read( breakPipe_[0]... + // below to block indefinitely. therefore if select returns EINTR we restart + // the while() loop instead of continuing on to below. + continue; + }else{ + throw std::runtime_error("select failed\n"); + } + } + + if( FD_ISSET( breakPipe_[0], &tempfds ) ){ + // clear pending data from the asynchronous break pipe + char c; + read( breakPipe_[0], &c, 1 ); + } + + if( break_ ) + break; + + for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); + i != socketListeners_.end(); ++i ){ + + if( FD_ISSET( i->second->impl_->Socket(), &tempfds ) ){ + + std::size_t size = i->second->ReceiveFrom( remoteEndpoint, data, MAX_BUFFER_SIZE ); + if( size > 0 ){ + i->first->ProcessPacket( data, (int)size, remoteEndpoint ); + if( break_ ) + break; + } + } + } + + // execute any expired timers + currentTimeMs = GetCurrentTimeMs(); + bool resort = false; + for( std::vector< std::pair< double, AttachedTimerListener > >::iterator i = timerQueue_.begin(); + i != timerQueue_.end() && i->first <= currentTimeMs; ++i ){ + + i->second.listener->TimerExpired(); + if( break_ ) + break; + + i->first += i->second.periodMs; + resort = true; + } + if( resort ) + std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); + } + + delete [] data; + }catch(...){ + if( data ) + delete [] data; + throw; + } + } + + void Break() + { + break_ = true; + } + + void AsynchronousBreak() + { + break_ = true; + + // Send a termination message to the asynchronous break pipe, so select() will return + write( breakPipe_[1], "!", 1 ); + } +}; + + + +SocketReceiveMultiplexer::SocketReceiveMultiplexer() +{ + impl_ = new Implementation(); +} + +SocketReceiveMultiplexer::~SocketReceiveMultiplexer() +{ + delete impl_; +} + +void SocketReceiveMultiplexer::AttachSocketListener( UdpSocket *socket, PacketListener *listener ) +{ + impl_->AttachSocketListener( socket, listener ); +} + +void SocketReceiveMultiplexer::DetachSocketListener( UdpSocket *socket, PacketListener *listener ) +{ + impl_->DetachSocketListener( socket, listener ); +} + +void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) +{ + impl_->AttachPeriodicTimerListener( periodMilliseconds, listener ); +} + +void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) +{ + impl_->AttachPeriodicTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ); +} + +void SocketReceiveMultiplexer::DetachPeriodicTimerListener( TimerListener *listener ) +{ + impl_->DetachPeriodicTimerListener( listener ); +} + +void SocketReceiveMultiplexer::Run() +{ + impl_->Run(); +} + +void SocketReceiveMultiplexer::RunUntilSigInt() +{ + assert( multiplexerInstanceToAbortWithSigInt_ == 0 ); /* at present we support only one multiplexer instance running until sig int */ + multiplexerInstanceToAbortWithSigInt_ = this; + signal( SIGINT, InterruptSignalHandler ); + impl_->Run(); + signal( SIGINT, SIG_DFL ); + multiplexerInstanceToAbortWithSigInt_ = 0; +} + +void SocketReceiveMultiplexer::Break() +{ + impl_->Break(); +} + +void SocketReceiveMultiplexer::AsynchronousBreak() +{ + impl_->AsynchronousBreak(); +} + diff --git a/external/oscpack_1_1_0/ip/win32/NetworkingUtils.cpp b/external/oscpack_1_1_0/ip/win32/NetworkingUtils.cpp new file mode 100644 index 0000000..882ebf9 --- /dev/null +++ b/external/oscpack_1_1_0/ip/win32/NetworkingUtils.cpp @@ -0,0 +1,96 @@ + +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "ip/NetworkingUtils.h" + +#include // this must come first to prevent errors with MSVC7 +#include + +#include + + +static LONG initCount_ = 0; +static bool winsockInitialized_ = false; + +NetworkInitializer::NetworkInitializer() +{ + if( InterlockedIncrement( &initCount_ ) == 1 ){ + // there is a race condition here if one thread tries to access + // the library while another is still initializing it. + // i can't think of an easy way to fix it so i'm telling you here + // incase you need to init the library from two threads at once. + // this is why the header file advises to instantiate one of these + // in main() so that the initialization happens globally + + // initialize winsock + WSAData wsaData; + int nCode = WSAStartup(MAKEWORD(1, 1), &wsaData); + if( nCode != 0 ){ + //std::cout << "WSAStartup() failed with error code " << nCode << "\n"; + }else{ + winsockInitialized_ = true; + } + } +} + + +NetworkInitializer::~NetworkInitializer() +{ + if( InterlockedDecrement( &initCount_ ) == 0 ){ + if( winsockInitialized_ ){ + WSACleanup(); + winsockInitialized_ = false; + } + } +} + + +unsigned long GetHostByName( const char *name ) +{ + NetworkInitializer networkInitializer; + + unsigned long result = 0; + + struct hostent *h = gethostbyname( name ); + if( h ){ + struct in_addr a; + std::memcpy( &a, h->h_addr_list[0], h->h_length ); + result = ntohl(a.s_addr); + } + + return result; +} diff --git a/external/oscpack_1_1_0/ip/win32/UdpSocket.cpp b/external/oscpack_1_1_0/ip/win32/UdpSocket.cpp new file mode 100644 index 0000000..b34fb66 --- /dev/null +++ b/external/oscpack_1_1_0/ip/win32/UdpSocket.cpp @@ -0,0 +1,571 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ + +#include // this must come first to prevent errors with MSVC7 +#include +#include // for timeGetTime() + +#ifndef WINCE +#include +#endif + +#include +#include +#include // for memset +#include +#include + +#include "ip/UdpSocket.h" // usually I'd include the module header first + // but this is causing conflicts with BCB4 due to + // std::size_t usage. + +#include "ip/NetworkingUtils.h" +#include "ip/PacketListener.h" +#include "ip/TimerListener.h" + + +typedef int socklen_t; + + +static void SockaddrFromIpEndpointName( struct sockaddr_in& sockAddr, const IpEndpointName& endpoint ) +{ + std::memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); + sockAddr.sin_family = AF_INET; + + sockAddr.sin_addr.s_addr = + (endpoint.address == IpEndpointName::ANY_ADDRESS) + ? INADDR_ANY + : htonl( endpoint.address ); + + sockAddr.sin_port = + (endpoint.port == IpEndpointName::ANY_PORT) + ? (short)0 + : htons( (short)endpoint.port ); +} + + +static IpEndpointName IpEndpointNameFromSockaddr( const struct sockaddr_in& sockAddr ) +{ + return IpEndpointName( + (sockAddr.sin_addr.s_addr == INADDR_ANY) + ? IpEndpointName::ANY_ADDRESS + : ntohl( sockAddr.sin_addr.s_addr ), + (sockAddr.sin_port == 0) + ? IpEndpointName::ANY_PORT + : ntohs( sockAddr.sin_port ) + ); +} + + +class UdpSocket::Implementation{ + NetworkInitializer networkInitializer_; + + bool isBound_; + bool isConnected_; + + SOCKET socket_; + struct sockaddr_in connectedAddr_; + struct sockaddr_in sendToAddr_; + +public: + + Implementation() + : isBound_( false ) + , isConnected_( false ) + , socket_( INVALID_SOCKET ) + { + if( (socket_ = socket( AF_INET, SOCK_DGRAM, 0 )) == INVALID_SOCKET ){ + throw std::runtime_error("unable to create udp socket\n"); + } + + std::memset( &sendToAddr_, 0, sizeof(sendToAddr_) ); + sendToAddr_.sin_family = AF_INET; + } + + ~Implementation() + { + if (socket_ != INVALID_SOCKET) closesocket(socket_); + } + + void SetEnableBroadcast( bool enableBroadcast ) + { + char broadcast = (char)((enableBroadcast) ? 1 : 0); // char on win32 + setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast)); + } + + void SetAllowReuse( bool allowReuse ) + { + // Note: SO_REUSEADDR is non-deterministic for listening sockets on Win32. See MSDN article: + // "Using SO_REUSEADDR and SO_EXCLUSIVEADDRUSE" + // http://msdn.microsoft.com/en-us/library/ms740621%28VS.85%29.aspx + + char reuseAddr = (char)((allowReuse) ? 1 : 0); // char on win32 + setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &reuseAddr, sizeof(reuseAddr)); + } + + IpEndpointName LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const + { + assert( isBound_ ); + + // first connect the socket to the remote server + + struct sockaddr_in connectSockAddr; + SockaddrFromIpEndpointName( connectSockAddr, remoteEndpoint ); + + if (connect(socket_, (struct sockaddr *)&connectSockAddr, sizeof(connectSockAddr)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + // get the address + + struct sockaddr_in sockAddr; + std::memset( (char *)&sockAddr, 0, sizeof(sockAddr ) ); + socklen_t length = sizeof(sockAddr); + if (getsockname(socket_, (struct sockaddr *)&sockAddr, &length) < 0) { + throw std::runtime_error("unable to getsockname\n"); + } + + if( isConnected_ ){ + // reconnect to the connected address + + if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + }else{ + // unconnect from the remote address + + struct sockaddr_in unconnectSockAddr; + SockaddrFromIpEndpointName( unconnectSockAddr, IpEndpointName() ); + + if( connect(socket_, (struct sockaddr *)&unconnectSockAddr, sizeof(unconnectSockAddr)) < 0 + && WSAGetLastError() != WSAEADDRNOTAVAIL ){ + throw std::runtime_error("unable to un-connect udp socket\n"); + } + } + + return IpEndpointNameFromSockaddr( sockAddr ); + } + + void Connect( const IpEndpointName& remoteEndpoint ) + { + SockaddrFromIpEndpointName( connectedAddr_, remoteEndpoint ); + + if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) { + throw std::runtime_error("unable to connect udp socket\n"); + } + + isConnected_ = true; + } + + void Send( const char *data, std::size_t size ) + { + assert( isConnected_ ); + + send( socket_, data, (int)size, 0 ); + } + + void SendTo( const IpEndpointName& remoteEndpoint, const char *data, std::size_t size ) + { + sendToAddr_.sin_addr.s_addr = htonl( remoteEndpoint.address ); + sendToAddr_.sin_port = htons( (short)remoteEndpoint.port ); + + sendto( socket_, data, (int)size, 0, (sockaddr*)&sendToAddr_, sizeof(sendToAddr_) ); + } + + void Bind( const IpEndpointName& localEndpoint ) + { + struct sockaddr_in bindSockAddr; + SockaddrFromIpEndpointName( bindSockAddr, localEndpoint ); + + if (bind(socket_, (struct sockaddr *)&bindSockAddr, sizeof(bindSockAddr)) < 0) { + throw std::runtime_error("unable to bind udp socket\n"); + } + + isBound_ = true; + } + + bool IsBound() const { return isBound_; } + + std::size_t ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, std::size_t size ) + { + assert( isBound_ ); + + struct sockaddr_in fromAddr; + socklen_t fromAddrLen = sizeof(fromAddr); + + int result = recvfrom(socket_, data, (int)size, 0, + (struct sockaddr *) &fromAddr, (socklen_t*)&fromAddrLen); + if( result < 0 ) + return 0; + + remoteEndpoint.address = ntohl(fromAddr.sin_addr.s_addr); + remoteEndpoint.port = ntohs(fromAddr.sin_port); + + return result; + } + + SOCKET& Socket() { return socket_; } +}; + +UdpSocket::UdpSocket() +{ + impl_ = new Implementation(); +} + +UdpSocket::~UdpSocket() +{ + delete impl_; +} + +void UdpSocket::SetEnableBroadcast( bool enableBroadcast ) +{ + impl_->SetEnableBroadcast( enableBroadcast ); +} + +void UdpSocket::SetAllowReuse( bool allowReuse ) +{ + impl_->SetAllowReuse( allowReuse ); +} + +IpEndpointName UdpSocket::LocalEndpointFor( const IpEndpointName& remoteEndpoint ) const +{ + return impl_->LocalEndpointFor( remoteEndpoint ); +} + +void UdpSocket::Connect( const IpEndpointName& remoteEndpoint ) +{ + impl_->Connect( remoteEndpoint ); +} + +void UdpSocket::Send( const char *data, std::size_t size ) +{ + impl_->Send( data, size ); +} + +void UdpSocket::SendTo( const IpEndpointName& remoteEndpoint, const char *data, std::size_t size ) +{ + impl_->SendTo( remoteEndpoint, data, size ); +} + +void UdpSocket::Bind( const IpEndpointName& localEndpoint ) +{ + impl_->Bind( localEndpoint ); +} + +bool UdpSocket::IsBound() const +{ + return impl_->IsBound(); +} + +std::size_t UdpSocket::ReceiveFrom( IpEndpointName& remoteEndpoint, char *data, std::size_t size ) +{ + return impl_->ReceiveFrom( remoteEndpoint, data, size ); +} + + +struct AttachedTimerListener{ + AttachedTimerListener( int id, int p, TimerListener *tl ) + : initialDelayMs( id ) + , periodMs( p ) + , listener( tl ) {} + int initialDelayMs; + int periodMs; + TimerListener *listener; +}; + + +static bool CompareScheduledTimerCalls( + const std::pair< double, AttachedTimerListener > & lhs, const std::pair< double, AttachedTimerListener > & rhs ) +{ + return lhs.first < rhs.first; +} + + +SocketReceiveMultiplexer *multiplexerInstanceToAbortWithSigInt_ = 0; + +extern "C" /*static*/ void InterruptSignalHandler( int ); +/*static*/ void InterruptSignalHandler( int ) +{ + multiplexerInstanceToAbortWithSigInt_->AsynchronousBreak(); +#ifndef WINCE + signal( SIGINT, SIG_DFL ); +#endif +} + + +class SocketReceiveMultiplexer::Implementation{ + NetworkInitializer networkInitializer_; + + std::vector< std::pair< PacketListener*, UdpSocket* > > socketListeners_; + std::vector< AttachedTimerListener > timerListeners_; + + volatile bool break_; + HANDLE breakEvent_; + + double GetCurrentTimeMs() const + { +#ifndef WINCE + return timeGetTime(); // FIXME: bad choice if you want to run for more than 40 days +#else + return 0; +#endif + } + +public: + Implementation() + { + breakEvent_ = CreateEvent( NULL, FALSE, FALSE, NULL ); + } + + ~Implementation() + { + CloseHandle( breakEvent_ ); + } + + void AttachSocketListener( UdpSocket *socket, PacketListener *listener ) + { + assert( std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ) == socketListeners_.end() ); + // we don't check that the same socket has been added multiple times, even though this is an error + socketListeners_.push_back( std::make_pair( listener, socket ) ); + } + + void DetachSocketListener( UdpSocket *socket, PacketListener *listener ) + { + std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = + std::find( socketListeners_.begin(), socketListeners_.end(), std::make_pair(listener, socket) ); + assert( i != socketListeners_.end() ); + + socketListeners_.erase( i ); + } + + void AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) + { + timerListeners_.push_back( AttachedTimerListener( periodMilliseconds, periodMilliseconds, listener ) ); + } + + void AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) + { + timerListeners_.push_back( AttachedTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ) ); + } + + void DetachPeriodicTimerListener( TimerListener *listener ) + { + std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); + while( i != timerListeners_.end() ){ + if( i->listener == listener ) + break; + ++i; + } + + assert( i != timerListeners_.end() ); + + timerListeners_.erase( i ); + } + + void Run() + { + break_ = false; + + // prepare the window events which we use to wake up on incoming data + // we use this instead of select() primarily to support the AsyncBreak() + // mechanism. + + std::vector events( socketListeners_.size() + 1, 0 ); + int j=0; + for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); + i != socketListeners_.end(); ++i, ++j ){ + + HANDLE event = CreateEvent( NULL, FALSE, FALSE, NULL ); + WSAEventSelect( i->second->impl_->Socket(), event, FD_READ ); // note that this makes the socket non-blocking which is why we can safely call RecieveFrom() on all sockets below + events[j] = event; + } + + + events[ socketListeners_.size() ] = breakEvent_; // last event in the collection is the break event + + + // configure the timer queue + double currentTimeMs = GetCurrentTimeMs(); + + // expiry time ms, listener + std::vector< std::pair< double, AttachedTimerListener > > timerQueue_; + for( std::vector< AttachedTimerListener >::iterator i = timerListeners_.begin(); + i != timerListeners_.end(); ++i ) + timerQueue_.push_back( std::make_pair( currentTimeMs + i->initialDelayMs, *i ) ); + std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); + + const int MAX_BUFFER_SIZE = 4098; + char *data = new char[ MAX_BUFFER_SIZE ]; + IpEndpointName remoteEndpoint; + + while( !break_ ){ + + double currentTimeMs = GetCurrentTimeMs(); + + DWORD waitTime = INFINITE; + if( !timerQueue_.empty() ){ + + waitTime = (DWORD)( timerQueue_.front().first >= currentTimeMs + ? timerQueue_.front().first - currentTimeMs + : 0 ); + } + + DWORD waitResult = WaitForMultipleObjects( (DWORD)socketListeners_.size() + 1, &events[0], FALSE, waitTime ); + if( break_ ) + break; + + if( waitResult != WAIT_TIMEOUT ){ + for( int i = waitResult - WAIT_OBJECT_0; i < (int)socketListeners_.size(); ++i ){ + std::size_t size = socketListeners_[i].second->ReceiveFrom( remoteEndpoint, data, MAX_BUFFER_SIZE ); + if( size > 0 ){ + socketListeners_[i].first->ProcessPacket( data, (int)size, remoteEndpoint ); + if( break_ ) + break; + } + } + } + + // execute any expired timers + currentTimeMs = GetCurrentTimeMs(); + bool resort = false; + for( std::vector< std::pair< double, AttachedTimerListener > >::iterator i = timerQueue_.begin(); + i != timerQueue_.end() && i->first <= currentTimeMs; ++i ){ + + i->second.listener->TimerExpired(); + if( break_ ) + break; + + i->first += i->second.periodMs; + resort = true; + } + if( resort ) + std::sort( timerQueue_.begin(), timerQueue_.end(), CompareScheduledTimerCalls ); + } + + delete [] data; + + // free events + j = 0; + for( std::vector< std::pair< PacketListener*, UdpSocket* > >::iterator i = socketListeners_.begin(); + i != socketListeners_.end(); ++i, ++j ){ + + WSAEventSelect( i->second->impl_->Socket(), events[j], 0 ); // remove association between socket and event + CloseHandle( events[j] ); + unsigned long enableNonblocking = 0; + ioctlsocket( i->second->impl_->Socket(), FIONBIO, &enableNonblocking ); // make the socket blocking again + } + } + + void Break() + { + break_ = true; + } + + void AsynchronousBreak() + { + break_ = true; + SetEvent( breakEvent_ ); + } +}; + + + +SocketReceiveMultiplexer::SocketReceiveMultiplexer() +{ + impl_ = new Implementation(); +} + +SocketReceiveMultiplexer::~SocketReceiveMultiplexer() +{ + delete impl_; +} + +void SocketReceiveMultiplexer::AttachSocketListener( UdpSocket *socket, PacketListener *listener ) +{ + impl_->AttachSocketListener( socket, listener ); +} + +void SocketReceiveMultiplexer::DetachSocketListener( UdpSocket *socket, PacketListener *listener ) +{ + impl_->DetachSocketListener( socket, listener ); +} + +void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int periodMilliseconds, TimerListener *listener ) +{ + impl_->AttachPeriodicTimerListener( periodMilliseconds, listener ); +} + +void SocketReceiveMultiplexer::AttachPeriodicTimerListener( int initialDelayMilliseconds, int periodMilliseconds, TimerListener *listener ) +{ + impl_->AttachPeriodicTimerListener( initialDelayMilliseconds, periodMilliseconds, listener ); +} + +void SocketReceiveMultiplexer::DetachPeriodicTimerListener( TimerListener *listener ) +{ + impl_->DetachPeriodicTimerListener( listener ); +} + +void SocketReceiveMultiplexer::Run() +{ + impl_->Run(); +} + +void SocketReceiveMultiplexer::RunUntilSigInt() +{ + assert( multiplexerInstanceToAbortWithSigInt_ == 0 ); /* at present we support only one multiplexer instance running until sig int */ + multiplexerInstanceToAbortWithSigInt_ = this; +#ifndef WINCE + signal( SIGINT, InterruptSignalHandler ); +#endif + impl_->Run(); +#ifndef WINCE + signal( SIGINT, SIG_DFL ); +#endif + multiplexerInstanceToAbortWithSigInt_ = 0; +} + +void SocketReceiveMultiplexer::Break() +{ + impl_->Break(); +} + +void SocketReceiveMultiplexer::AsynchronousBreak() +{ + impl_->AsynchronousBreak(); +} + diff --git a/external/oscpack_1_1_0/osc/MessageMappingOscPacketListener.h b/external/oscpack_1_1_0/osc/MessageMappingOscPacketListener.h new file mode 100644 index 0000000..bf56b53 --- /dev/null +++ b/external/oscpack_1_1_0/osc/MessageMappingOscPacketListener.h @@ -0,0 +1,80 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_MESSAGEMAPPINGOSCPACKETLISTENER_H +#define INCLUDED_OSCPACK_MESSAGEMAPPINGOSCPACKETLISTENER_H + +#include +#include + +#include "OscPacketListener.h" + + + +namespace osc{ + +template< class T > +class MessageMappingOscPacketListener : public OscPacketListener{ +public: + typedef void (T::*function_type)(const osc::ReceivedMessage&, const IpEndpointName&); + +protected: + void RegisterMessageFunction( const char *addressPattern, function_type f ) + { + functions_.insert( std::make_pair( addressPattern, f ) ); + } + + virtual void ProcessMessage( const osc::ReceivedMessage& m, + const IpEndpointName& remoteEndpoint ) + { + typename function_map_type::iterator i = functions_.find( m.AddressPattern() ); + if( i != functions_.end() ) + (dynamic_cast(this)->*(i->second))( m, remoteEndpoint ); + } + +private: + struct cstr_compare{ + bool operator()( const char *lhs, const char *rhs ) const + { return std::strcmp( lhs, rhs ) < 0; } + }; + + typedef std::map function_map_type; + function_map_type functions_; +}; + +} // namespace osc + +#endif /* INCLUDED_OSCPACK_MESSAGEMAPPINGOSCPACKETLISTENER_H */ \ No newline at end of file diff --git a/external/oscpack_1_1_0/osc/OscException.h b/external/oscpack_1_1_0/osc/OscException.h new file mode 100644 index 0000000..7398173 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscException.h @@ -0,0 +1,62 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCEXCEPTION_H +#define INCLUDED_OSCPACK_OSCEXCEPTION_H + +#include + +namespace osc{ + +class Exception : public std::exception { + const char *what_; + +public: + Exception() throw() {} + Exception( const Exception& src ) throw() + : std::exception( src ) + , what_( src.what_ ) {} + Exception( const char *w ) throw() + : what_( w ) {} + Exception& operator=( const Exception& src ) throw() + { what_ = src.what_; return *this; } + virtual ~Exception() throw() {} + virtual const char* what() const throw() { return what_; } +}; + +} // namespace osc + +#endif /* INCLUDED_OSCPACK_OSCEXCEPTION_H */ diff --git a/external/oscpack_1_1_0/osc/OscHostEndianness.h b/external/oscpack_1_1_0/osc/OscHostEndianness.h new file mode 100644 index 0000000..4682c47 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscHostEndianness.h @@ -0,0 +1,127 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCHOSTENDIANNESS_H +#define INCLUDED_OSCPACK_OSCHOSTENDIANNESS_H + +/* + Make sure either OSC_HOST_LITTLE_ENDIAN or OSC_HOST_BIG_ENDIAN is defined + + We try to use preprocessor symbols to deduce the host endianness. + + Alternatively you can define one of the above symbols from the command line. + Usually you do this with the -D flag to the compiler. e.g.: + + $ g++ -DOSC_HOST_LITTLE_ENDIAN ... +*/ + +#if defined(OSC_HOST_LITTLE_ENDIAN) || defined(OSC_HOST_BIG_ENDIAN) + +// endianness defined on the command line. nothing to do here. + +#elif defined(__WIN32__) || defined(WIN32) || defined(WINCE) + +// assume that __WIN32__ is only defined on little endian systems + +#define OSC_HOST_LITTLE_ENDIAN 1 +#undef OSC_HOST_BIG_ENDIAN + +#elif defined(__APPLE__) + +#if defined(__LITTLE_ENDIAN__) + +#define OSC_HOST_LITTLE_ENDIAN 1 +#undef OSC_HOST_BIG_ENDIAN + +#elif defined(__BIG_ENDIAN__) + +#define OSC_HOST_BIG_ENDIAN 1 +#undef OSC_HOST_LITTLE_ENDIAN + +#endif + +#elif defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && defined(__ORDER_BIG_ENDIAN__) + +// should cover gcc and clang + +#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) + +#define OSC_HOST_LITTLE_ENDIAN 1 +#undef OSC_HOST_BIG_ENDIAN + +#elif (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) + +#define OSC_HOST_BIG_ENDIAN 1 +#undef OSC_HOST_LITTLE_ENDIAN + +#endif + +#else + +// gcc defines __LITTLE_ENDIAN__ and __BIG_ENDIAN__ +// for others used here see http://sourceforge.net/p/predef/wiki/Endianness/ +#if (defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) \ + || (defined(__ARMEL__) && !defined(__ARMEB__)) \ + || (defined(__AARCH64EL__) && !defined(__AARCH64EB__)) \ + || (defined(_MIPSEL) && !defined(_MIPSEB)) \ + || (defined(__MIPSEL) && !defined(__MIPSEB)) \ + || (defined(__MIPSEL__) && !defined(__MIPSEB__)) + +#define OSC_HOST_LITTLE_ENDIAN 1 +#undef OSC_HOST_BIG_ENDIAN + +#elif (defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)) \ + || (defined(__ARMEB__) && !defined(__ARMEL__)) \ + || (defined(__AARCH64EB__) && !defined(__AARCH64EL__)) \ + || (defined(_MIPSEB) && !defined(_MIPSEL)) \ + || (defined(__MIPSEB) && !defined(__MIPSEL)) \ + || (defined(__MIPSEB__) && !defined(__MIPSEL__)) + +#define OSC_HOST_BIG_ENDIAN 1 +#undef OSC_HOST_LITTLE_ENDIAN + +#endif + +#endif + +#if !defined(OSC_HOST_LITTLE_ENDIAN) && !defined(OSC_HOST_BIG_ENDIAN) + +#error please edit OSCHostEndianness.h or define one of {OSC_HOST_LITTLE_ENDIAN, OSC_HOST_BIG_ENDIAN} to configure endianness + +#endif + +#endif /* INCLUDED_OSCPACK_OSCHOSTENDIANNESS_H */ + diff --git a/external/oscpack_1_1_0/osc/OscOutboundPacketStream.cpp b/external/oscpack_1_1_0/osc/OscOutboundPacketStream.cpp new file mode 100644 index 0000000..b474b4f --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscOutboundPacketStream.cpp @@ -0,0 +1,683 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "OscOutboundPacketStream.h" + +#if defined(__WIN32__) || defined(WIN32) || defined(_WIN32) +#include // for alloca +#else +//#include // alloca on Linux (also OSX) +#include // alloca on OSX and FreeBSD (and Linux?) +#endif + +#include +#include // memcpy, memmove, strcpy, strlen +#include // ptrdiff_t + +#include "OscHostEndianness.h" + +#if defined(__BORLANDC__) // workaround for BCB4 release build intrinsics bug +namespace std { +using ::__strcpy__; // avoid error: E2316 '__strcpy__' is not a member of 'std'. +} +#endif + +namespace osc{ + +static void FromInt32( char *p, int32 x ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::int32 i; + char c[4]; + } u; + + u.i = x; + + p[3] = u.c[0]; + p[2] = u.c[1]; + p[1] = u.c[2]; + p[0] = u.c[3]; +#else + *reinterpret_cast(p) = x; +#endif +} + + +static void FromUInt32( char *p, uint32 x ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::uint32 i; + char c[4]; + } u; + + u.i = x; + + p[3] = u.c[0]; + p[2] = u.c[1]; + p[1] = u.c[2]; + p[0] = u.c[3]; +#else + *reinterpret_cast(p) = x; +#endif +} + + +static void FromInt64( char *p, int64 x ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::int64 i; + char c[8]; + } u; + + u.i = x; + + p[7] = u.c[0]; + p[6] = u.c[1]; + p[5] = u.c[2]; + p[4] = u.c[3]; + p[3] = u.c[4]; + p[2] = u.c[5]; + p[1] = u.c[6]; + p[0] = u.c[7]; +#else + *reinterpret_cast(p) = x; +#endif +} + + +static void FromUInt64( char *p, uint64 x ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::uint64 i; + char c[8]; + } u; + + u.i = x; + + p[7] = u.c[0]; + p[6] = u.c[1]; + p[5] = u.c[2]; + p[4] = u.c[3]; + p[3] = u.c[4]; + p[2] = u.c[5]; + p[1] = u.c[6]; + p[0] = u.c[7]; +#else + *reinterpret_cast(p) = x; +#endif +} + + +// round up to the next highest multiple of 4. unless x is already a multiple of 4 +static inline std::size_t RoundUp4( std::size_t x ) +{ + return (x + 3) & ~((std::size_t)0x03); +} + + +OutboundPacketStream::OutboundPacketStream( char *buffer, std::size_t capacity ) + : data_( buffer ) + , end_( data_ + capacity ) + , typeTagsCurrent_( end_ ) + , messageCursor_( data_ ) + , argumentCurrent_( data_ ) + , elementSizePtr_( 0 ) + , messageIsInProgress_( false ) +{ + // sanity check integer types declared in OscTypes.h + // you'll need to fix OscTypes.h if any of these asserts fail + assert( sizeof(osc::int32) == 4 ); + assert( sizeof(osc::uint32) == 4 ); + assert( sizeof(osc::int64) == 8 ); + assert( sizeof(osc::uint64) == 8 ); +} + + +OutboundPacketStream::~OutboundPacketStream() +{ + +} + + +char *OutboundPacketStream::BeginElement( char *beginPtr ) +{ + if( elementSizePtr_ == 0 ){ + + elementSizePtr_ = reinterpret_cast(data_); + + return beginPtr; + + }else{ + // store an offset to the old element size ptr in the element size slot + // we store an offset rather than the actual pointer to be 64 bit clean. + *reinterpret_cast(beginPtr) = + (uint32)(reinterpret_cast(elementSizePtr_) - data_); + + elementSizePtr_ = reinterpret_cast(beginPtr); + + return beginPtr + 4; + } +} + + +void OutboundPacketStream::EndElement( char *endPtr ) +{ + assert( elementSizePtr_ != 0 ); + + if( elementSizePtr_ == reinterpret_cast(data_) ){ + + elementSizePtr_ = 0; + + }else{ + // while building an element, an offset to the containing element's + // size slot is stored in the elements size slot (or a ptr to data_ + // if there is no containing element). We retrieve that here + uint32 *previousElementSizePtr = + reinterpret_cast(data_ + *elementSizePtr_); + + // then we store the element size in the slot. note that the element + // size does not include the size slot, hence the - 4 below. + + std::ptrdiff_t d = endPtr - reinterpret_cast(elementSizePtr_); + // assert( d >= 4 && d <= 0x7FFFFFFF ); // assume packets smaller than 2Gb + + uint32 elementSize = static_cast(d - 4); + FromUInt32( reinterpret_cast(elementSizePtr_), elementSize ); + + // finally, we reset the element size ptr to the containing element + elementSizePtr_ = previousElementSizePtr; + } +} + + +bool OutboundPacketStream::ElementSizeSlotRequired() const +{ + return (elementSizePtr_ != 0); +} + + +void OutboundPacketStream::CheckForAvailableBundleSpace() +{ + std::size_t required = Size() + ((ElementSizeSlotRequired())?4:0) + 16; + + if( required > Capacity() ) + throw OutOfBufferMemoryException(); +} + + +void OutboundPacketStream::CheckForAvailableMessageSpace( const char *addressPattern ) +{ + // plus 4 for at least four bytes of type tag + std::size_t required = Size() + ((ElementSizeSlotRequired())?4:0) + + RoundUp4(std::strlen(addressPattern) + 1) + 4; + + if( required > Capacity() ) + throw OutOfBufferMemoryException(); +} + + +void OutboundPacketStream::CheckForAvailableArgumentSpace( std::size_t argumentLength ) +{ + // plus three for extra type tag, comma and null terminator + std::size_t required = (argumentCurrent_ - data_) + argumentLength + + RoundUp4( (end_ - typeTagsCurrent_) + 3 ); + + if( required > Capacity() ) + throw OutOfBufferMemoryException(); +} + + +void OutboundPacketStream::Clear() +{ + typeTagsCurrent_ = end_; + messageCursor_ = data_; + argumentCurrent_ = data_; + elementSizePtr_ = 0; + messageIsInProgress_ = false; +} + + +std::size_t OutboundPacketStream::Capacity() const +{ + return end_ - data_; +} + + +std::size_t OutboundPacketStream::Size() const +{ + std::size_t result = argumentCurrent_ - data_; + if( IsMessageInProgress() ){ + // account for the length of the type tag string. the total type tag + // includes an initial comma, plus at least one terminating \0 + result += RoundUp4( (end_ - typeTagsCurrent_) + 2 ); + } + + return result; +} + + +const char *OutboundPacketStream::Data() const +{ + return data_; +} + + +bool OutboundPacketStream::IsReady() const +{ + return (!IsMessageInProgress() && !IsBundleInProgress()); +} + + +bool OutboundPacketStream::IsMessageInProgress() const +{ + return messageIsInProgress_; +} + + +bool OutboundPacketStream::IsBundleInProgress() const +{ + return (elementSizePtr_ != 0); +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const BundleInitiator& rhs ) +{ + if( IsMessageInProgress() ) + throw MessageInProgressException(); + + CheckForAvailableBundleSpace(); + + messageCursor_ = BeginElement( messageCursor_ ); + + std::memcpy( messageCursor_, "#bundle\0", 8 ); + FromUInt64( messageCursor_ + 8, rhs.timeTag ); + + messageCursor_ += 16; + argumentCurrent_ = messageCursor_; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const BundleTerminator& rhs ) +{ + (void) rhs; + + if( !IsBundleInProgress() ) + throw BundleNotInProgressException(); + if( IsMessageInProgress() ) + throw MessageInProgressException(); + + EndElement( messageCursor_ ); + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const BeginMessage& rhs ) +{ + if( IsMessageInProgress() ) + throw MessageInProgressException(); + + CheckForAvailableMessageSpace( rhs.addressPattern ); + + messageCursor_ = BeginElement( messageCursor_ ); + + std::strcpy( messageCursor_, rhs.addressPattern ); + std::size_t rhsLength = std::strlen(rhs.addressPattern); + messageCursor_ += rhsLength + 1; + + // zero pad to 4-byte boundary + std::size_t i = rhsLength + 1; + while( i & 0x3 ){ + *messageCursor_++ = '\0'; + ++i; + } + + argumentCurrent_ = messageCursor_; + typeTagsCurrent_ = end_; + + messageIsInProgress_ = true; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const MessageTerminator& rhs ) +{ + (void) rhs; + + if( !IsMessageInProgress() ) + throw MessageNotInProgressException(); + + std::size_t typeTagsCount = end_ - typeTagsCurrent_; + + if( typeTagsCount ){ + + char *tempTypeTags = (char*)alloca(typeTagsCount); + std::memcpy( tempTypeTags, typeTagsCurrent_, typeTagsCount ); + + // slot size includes comma and null terminator + std::size_t typeTagSlotSize = RoundUp4( typeTagsCount + 2 ); + + std::size_t argumentsSize = argumentCurrent_ - messageCursor_; + + std::memmove( messageCursor_ + typeTagSlotSize, messageCursor_, argumentsSize ); + + messageCursor_[0] = ','; + // copy type tags in reverse (really forward) order + for( std::size_t i=0; i < typeTagsCount; ++i ) + messageCursor_[i+1] = tempTypeTags[ (typeTagsCount-1) - i ]; + + char *p = messageCursor_ + 1 + typeTagsCount; + for( std::size_t i=0; i < (typeTagSlotSize - (typeTagsCount + 1)); ++i ) + *p++ = '\0'; + + typeTagsCurrent_ = end_; + + // advance messageCursor_ for next message + messageCursor_ += typeTagSlotSize + argumentsSize; + + }else{ + // send an empty type tags string + std::memcpy( messageCursor_, ",\0\0\0", 4 ); + + // advance messageCursor_ for next message + messageCursor_ += 4; + } + + argumentCurrent_ = messageCursor_; + + EndElement( messageCursor_ ); + + messageIsInProgress_ = false; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( bool rhs ) +{ + CheckForAvailableArgumentSpace(0); + + *(--typeTagsCurrent_) = (char)((rhs) ? TRUE_TYPE_TAG : FALSE_TYPE_TAG); + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const NilType& rhs ) +{ + (void) rhs; + CheckForAvailableArgumentSpace(0); + + *(--typeTagsCurrent_) = NIL_TYPE_TAG; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const InfinitumType& rhs ) +{ + (void) rhs; + CheckForAvailableArgumentSpace(0); + + *(--typeTagsCurrent_) = INFINITUM_TYPE_TAG; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( int32 rhs ) +{ + CheckForAvailableArgumentSpace(4); + + *(--typeTagsCurrent_) = INT32_TYPE_TAG; + FromInt32( argumentCurrent_, rhs ); + argumentCurrent_ += 4; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( float rhs ) +{ + CheckForAvailableArgumentSpace(4); + + *(--typeTagsCurrent_) = FLOAT_TYPE_TAG; + +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + float f; + char c[4]; + } u; + + u.f = rhs; + + argumentCurrent_[3] = u.c[0]; + argumentCurrent_[2] = u.c[1]; + argumentCurrent_[1] = u.c[2]; + argumentCurrent_[0] = u.c[3]; +#else + *reinterpret_cast(argumentCurrent_) = rhs; +#endif + + argumentCurrent_ += 4; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( char rhs ) +{ + CheckForAvailableArgumentSpace(4); + + *(--typeTagsCurrent_) = CHAR_TYPE_TAG; + FromInt32( argumentCurrent_, rhs ); + argumentCurrent_ += 4; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const RgbaColor& rhs ) +{ + CheckForAvailableArgumentSpace(4); + + *(--typeTagsCurrent_) = RGBA_COLOR_TYPE_TAG; + FromUInt32( argumentCurrent_, rhs ); + argumentCurrent_ += 4; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const MidiMessage& rhs ) +{ + CheckForAvailableArgumentSpace(4); + + *(--typeTagsCurrent_) = MIDI_MESSAGE_TYPE_TAG; + FromUInt32( argumentCurrent_, rhs ); + argumentCurrent_ += 4; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( int64 rhs ) +{ + CheckForAvailableArgumentSpace(8); + + *(--typeTagsCurrent_) = INT64_TYPE_TAG; + FromInt64( argumentCurrent_, rhs ); + argumentCurrent_ += 8; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const TimeTag& rhs ) +{ + CheckForAvailableArgumentSpace(8); + + *(--typeTagsCurrent_) = TIME_TAG_TYPE_TAG; + FromUInt64( argumentCurrent_, rhs ); + argumentCurrent_ += 8; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( double rhs ) +{ + CheckForAvailableArgumentSpace(8); + + *(--typeTagsCurrent_) = DOUBLE_TYPE_TAG; + +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + double f; + char c[8]; + } u; + + u.f = rhs; + + argumentCurrent_[7] = u.c[0]; + argumentCurrent_[6] = u.c[1]; + argumentCurrent_[5] = u.c[2]; + argumentCurrent_[4] = u.c[3]; + argumentCurrent_[3] = u.c[4]; + argumentCurrent_[2] = u.c[5]; + argumentCurrent_[1] = u.c[6]; + argumentCurrent_[0] = u.c[7]; +#else + *reinterpret_cast(argumentCurrent_) = rhs; +#endif + + argumentCurrent_ += 8; + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const char *rhs ) +{ + CheckForAvailableArgumentSpace( RoundUp4(std::strlen(rhs) + 1) ); + + *(--typeTagsCurrent_) = STRING_TYPE_TAG; + std::strcpy( argumentCurrent_, rhs ); + std::size_t rhsLength = std::strlen(rhs); + argumentCurrent_ += rhsLength + 1; + + // zero pad to 4-byte boundary + std::size_t i = rhsLength + 1; + while( i & 0x3 ){ + *argumentCurrent_++ = '\0'; + ++i; + } + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const Symbol& rhs ) +{ + CheckForAvailableArgumentSpace( RoundUp4(std::strlen(rhs) + 1) ); + + *(--typeTagsCurrent_) = SYMBOL_TYPE_TAG; + std::strcpy( argumentCurrent_, rhs ); + std::size_t rhsLength = std::strlen(rhs); + argumentCurrent_ += rhsLength + 1; + + // zero pad to 4-byte boundary + std::size_t i = rhsLength + 1; + while( i & 0x3 ){ + *argumentCurrent_++ = '\0'; + ++i; + } + + return *this; +} + + +OutboundPacketStream& OutboundPacketStream::operator<<( const Blob& rhs ) +{ + CheckForAvailableArgumentSpace( 4 + RoundUp4(rhs.size) ); + + *(--typeTagsCurrent_) = BLOB_TYPE_TAG; + FromUInt32( argumentCurrent_, rhs.size ); + argumentCurrent_ += 4; + + std::memcpy( argumentCurrent_, rhs.data, rhs.size ); + argumentCurrent_ += rhs.size; + + // zero pad to 4-byte boundary + unsigned long i = rhs.size; + while( i & 0x3 ){ + *argumentCurrent_++ = '\0'; + ++i; + } + + return *this; +} + +OutboundPacketStream& OutboundPacketStream::operator<<( const ArrayInitiator& rhs ) +{ + (void) rhs; + CheckForAvailableArgumentSpace(0); + + *(--typeTagsCurrent_) = ARRAY_BEGIN_TYPE_TAG; + + return *this; +} + +OutboundPacketStream& OutboundPacketStream::operator<<( const ArrayTerminator& rhs ) +{ + (void) rhs; + CheckForAvailableArgumentSpace(0); + + *(--typeTagsCurrent_) = ARRAY_END_TYPE_TAG; + + return *this; +} + +} // namespace osc + + diff --git a/external/oscpack_1_1_0/osc/OscOutboundPacketStream.h b/external/oscpack_1_1_0/osc/OscOutboundPacketStream.h new file mode 100644 index 0000000..3cc2835 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscOutboundPacketStream.h @@ -0,0 +1,154 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCOUTBOUNDPACKETSTREAM_H +#define INCLUDED_OSCPACK_OSCOUTBOUNDPACKETSTREAM_H + +#include // size_t + +#include "OscTypes.h" +#include "OscException.h" + + +namespace osc{ + +class OutOfBufferMemoryException : public Exception{ +public: + OutOfBufferMemoryException( const char *w="out of buffer memory" ) + : Exception( w ) {} +}; + +class BundleNotInProgressException : public Exception{ +public: + BundleNotInProgressException( + const char *w="call to EndBundle when bundle is not in progress" ) + : Exception( w ) {} +}; + +class MessageInProgressException : public Exception{ +public: + MessageInProgressException( + const char *w="opening or closing bundle or message while message is in progress" ) + : Exception( w ) {} +}; + +class MessageNotInProgressException : public Exception{ +public: + MessageNotInProgressException( + const char *w="call to EndMessage when message is not in progress" ) + : Exception( w ) {} +}; + + +class OutboundPacketStream{ +public: + OutboundPacketStream( char *buffer, std::size_t capacity ); + ~OutboundPacketStream(); + + void Clear(); + + std::size_t Capacity() const; + + // invariant: size() is valid even while building a message. + std::size_t Size() const; + + const char *Data() const; + + // indicates that all messages have been closed with a matching EndMessage + // and all bundles have been closed with a matching EndBundle + bool IsReady() const; + + bool IsMessageInProgress() const; + bool IsBundleInProgress() const; + + OutboundPacketStream& operator<<( const BundleInitiator& rhs ); + OutboundPacketStream& operator<<( const BundleTerminator& rhs ); + + OutboundPacketStream& operator<<( const BeginMessage& rhs ); + OutboundPacketStream& operator<<( const MessageTerminator& rhs ); + + OutboundPacketStream& operator<<( bool rhs ); + OutboundPacketStream& operator<<( const NilType& rhs ); + OutboundPacketStream& operator<<( const InfinitumType& rhs ); + OutboundPacketStream& operator<<( int32 rhs ); + +#if !(defined(__x86_64__) || defined(_M_X64)) + OutboundPacketStream& operator<<( int rhs ) + { *this << (int32)rhs; return *this; } +#endif + + OutboundPacketStream& operator<<( float rhs ); + OutboundPacketStream& operator<<( char rhs ); + OutboundPacketStream& operator<<( const RgbaColor& rhs ); + OutboundPacketStream& operator<<( const MidiMessage& rhs ); + OutboundPacketStream& operator<<( int64 rhs ); + OutboundPacketStream& operator<<( const TimeTag& rhs ); + OutboundPacketStream& operator<<( double rhs ); + OutboundPacketStream& operator<<( const char* rhs ); + OutboundPacketStream& operator<<( const Symbol& rhs ); + OutboundPacketStream& operator<<( const Blob& rhs ); + + OutboundPacketStream& operator<<( const ArrayInitiator& rhs ); + OutboundPacketStream& operator<<( const ArrayTerminator& rhs ); + +private: + + char *BeginElement( char *beginPtr ); + void EndElement( char *endPtr ); + + bool ElementSizeSlotRequired() const; + void CheckForAvailableBundleSpace(); + void CheckForAvailableMessageSpace( const char *addressPattern ); + void CheckForAvailableArgumentSpace( std::size_t argumentLength ); + + char *data_; + char *end_; + + char *typeTagsCurrent_; // stored in reverse order + char *messageCursor_; + char *argumentCurrent_; + + // elementSizePtr_ has two special values: 0 indicates that a bundle + // isn't open, and elementSizePtr_==data_ indicates that a bundle is + // open but that it doesn't have a size slot (ie the outermost bundle) + uint32 *elementSizePtr_; + + bool messageIsInProgress_; +}; + +} // namespace osc + +#endif /* INCLUDED_OSCPACK_OSCOUTBOUNDPACKETSTREAM_H */ diff --git a/external/oscpack_1_1_0/osc/OscPacketListener.h b/external/oscpack_1_1_0/osc/OscPacketListener.h new file mode 100644 index 0000000..472cb10 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscPacketListener.h @@ -0,0 +1,79 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCPACKETLISTENER_H +#define INCLUDED_OSCPACK_OSCPACKETLISTENER_H + +#include "OscReceivedElements.h" +#include "../ip/PacketListener.h" + + +namespace osc{ + +class OscPacketListener : public PacketListener{ +protected: + virtual void ProcessBundle( const osc::ReceivedBundle& b, + const IpEndpointName& remoteEndpoint ) + { + // ignore bundle time tag for now + + for( ReceivedBundle::const_iterator i = b.ElementsBegin(); + i != b.ElementsEnd(); ++i ){ + if( i->IsBundle() ) + ProcessBundle( ReceivedBundle(*i), remoteEndpoint ); + else + ProcessMessage( ReceivedMessage(*i), remoteEndpoint ); + } + } + + virtual void ProcessMessage( const osc::ReceivedMessage& m, + const IpEndpointName& remoteEndpoint ) = 0; + +public: + virtual void ProcessPacket( const char *data, int size, + const IpEndpointName& remoteEndpoint ) + { + osc::ReceivedPacket p( data, size ); + if( p.IsBundle() ) + ProcessBundle( ReceivedBundle(p), remoteEndpoint ); + else + ProcessMessage( ReceivedMessage(p), remoteEndpoint ); + } +}; + +} // namespace osc + +#endif /* INCLUDED_OSCPACK_OSCPACKETLISTENER_H */ diff --git a/external/oscpack_1_1_0/osc/OscPrintReceivedElements.cpp b/external/oscpack_1_1_0/osc/OscPrintReceivedElements.cpp new file mode 100644 index 0000000..bc1689b --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscPrintReceivedElements.cpp @@ -0,0 +1,261 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "OscPrintReceivedElements.h" + +#include +#include +#include +#include + +#if defined(__BORLANDC__) // workaround for BCB4 release build intrinsics bug +namespace std { +using ::__strcpy__; // avoid error: E2316 '__strcpy__' is not a member of 'std'. +} +#endif + +namespace osc{ + + +std::ostream& operator<<( std::ostream & os, + const ReceivedMessageArgument& arg ) +{ + switch( arg.TypeTag() ){ + case TRUE_TYPE_TAG: + os << "bool:true"; + break; + + case FALSE_TYPE_TAG: + os << "bool:false"; + break; + + case NIL_TYPE_TAG: + os << "(Nil)"; + break; + + case INFINITUM_TYPE_TAG: + os << "(Infinitum)"; + break; + + case INT32_TYPE_TAG: + os << "int32:" << arg.AsInt32Unchecked(); + break; + + case FLOAT_TYPE_TAG: + os << "float32:" << arg.AsFloatUnchecked(); + break; + + case CHAR_TYPE_TAG: + { + char s[2] = {0}; + s[0] = arg.AsCharUnchecked(); + os << "char:'" << s << "'"; + } + break; + + case RGBA_COLOR_TYPE_TAG: + { + uint32 color = arg.AsRgbaColorUnchecked(); + + os << "RGBA:0x" + << std::hex << std::setfill('0') + << std::setw(2) << (int)((color>>24) & 0xFF) + << std::setw(2) << (int)((color>>16) & 0xFF) + << std::setw(2) << (int)((color>>8) & 0xFF) + << std::setw(2) << (int)(color & 0xFF) + << std::setfill(' '); + os.unsetf(std::ios::basefield); + } + break; + + case MIDI_MESSAGE_TYPE_TAG: + { + uint32 m = arg.AsMidiMessageUnchecked(); + os << "midi (port, status, data1, data2):<<" + << std::hex << std::setfill('0') + << "0x" << std::setw(2) << (int)((m>>24) & 0xFF) + << " 0x" << std::setw(2) << (int)((m>>16) & 0xFF) + << " 0x" << std::setw(2) << (int)((m>>8) & 0xFF) + << " 0x" << std::setw(2) << (int)(m & 0xFF) + << std::setfill(' ') << ">>"; + os.unsetf(std::ios::basefield); + } + break; + + case INT64_TYPE_TAG: + os << "int64:" << arg.AsInt64Unchecked(); + break; + + case TIME_TAG_TYPE_TAG: + { + os << "OSC-timetag:" << arg.AsTimeTagUnchecked() << " "; + + std::time_t t = + (unsigned long)( arg.AsTimeTagUnchecked() >> 32 ); + + const char *timeString = std::ctime( &t ); + size_t len = std::strlen( timeString ); + + // -1 to omit trailing newline from string returned by ctime() + if( len > 1 ) + os.write( timeString, len - 1 ); + } + break; + + case DOUBLE_TYPE_TAG: + os << "double:" << arg.AsDoubleUnchecked(); + break; + + case STRING_TYPE_TAG: + os << "OSC-string:`" << arg.AsStringUnchecked() << "'"; + break; + + case SYMBOL_TYPE_TAG: + os << "OSC-string (symbol):`" << arg.AsSymbolUnchecked() << "'"; + break; + + case BLOB_TYPE_TAG: + { + const void *data; + osc_bundle_element_size_t size; + arg.AsBlobUnchecked( data, size ); + os << "OSC-blob:<<" << std::hex << std::setfill('0'); + unsigned char *p = (unsigned char*)data; + for( osc_bundle_element_size_t i = 0; i < size; ++i ){ + os << "0x" << std::setw(2) << int(p[i]); + if( i != size-1 ) + os << ' '; + } + os.unsetf(std::ios::basefield); + os << ">>" << std::setfill(' '); + } + break; + + case ARRAY_BEGIN_TYPE_TAG: + os << "["; + break; + + case ARRAY_END_TYPE_TAG: + os << "]"; + break; + + default: + os << "unknown"; + } + + return os; +} + + +std::ostream& operator<<( std::ostream & os, const ReceivedMessage& m ) +{ + os << "["; + if( m.AddressPatternIsUInt32() ) + os << m.AddressPatternAsUInt32(); + else + os << m.AddressPattern(); + + bool first = true; + for( ReceivedMessage::const_iterator i = m.ArgumentsBegin(); + i != m.ArgumentsEnd(); ++i ){ + if( first ){ + os << " "; + first = false; + }else{ + os << ", "; + } + + os << *i; + } + + os << "]"; + + return os; +} + + +std::ostream& operator<<( std::ostream & os, const ReceivedBundle& b ) +{ + static int indent = 0; + + for( int j=0; j < indent; ++j ) + os << " "; + os << "{ ( "; + if( b.TimeTag() == 1 ) + os << "immediate"; + else + os << b.TimeTag(); + os << " )\n"; + + ++indent; + + for( ReceivedBundle::const_iterator i = b.ElementsBegin(); + i != b.ElementsEnd(); ++i ){ + if( i->IsBundle() ){ + ReceivedBundle b(*i); + os << b << "\n"; + }else{ + ReceivedMessage m(*i); + for( int j=0; j < indent; ++j ) + os << " "; + os << m << "\n"; + } + } + + --indent; + + for( int j=0; j < indent; ++j ) + os << " "; + os << "}"; + + return os; +} + + +std::ostream& operator<<( std::ostream & os, const ReceivedPacket& p ) +{ + if( p.IsBundle() ){ + ReceivedBundle b(p); + os << b << "\n"; + }else{ + ReceivedMessage m(p); + os << m << "\n"; + } + + return os; +} + +} // namespace osc diff --git a/external/oscpack_1_1_0/osc/OscPrintReceivedElements.h b/external/oscpack_1_1_0/osc/OscPrintReceivedElements.h new file mode 100644 index 0000000..8d71391 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscPrintReceivedElements.h @@ -0,0 +1,54 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCPRINTRECEIVEDELEMENTS_H +#define INCLUDED_OSCPACK_OSCPRINTRECEIVEDELEMENTS_H + +#include + +#include "OscReceivedElements.h" + + +namespace osc{ + +std::ostream& operator<<( std::ostream & os, const ReceivedPacket& p ); +std::ostream& operator<<( std::ostream & os, const ReceivedMessageArgument& arg ); +std::ostream& operator<<( std::ostream & os, const ReceivedMessage& m ); +std::ostream& operator<<( std::ostream & os, const ReceivedBundle& b ); + +} // namespace osc + +#endif /* INCLUDED_OSCPACK_OSCPRINTRECEIVEDELEMENTS_H */ diff --git a/external/oscpack_1_1_0/osc/OscReceivedElements.cpp b/external/oscpack_1_1_0/osc/OscReceivedElements.cpp new file mode 100644 index 0000000..1d57d37 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscReceivedElements.cpp @@ -0,0 +1,796 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "OscReceivedElements.h" + +#include "OscHostEndianness.h" + +#include // ptrdiff_t + +namespace osc{ + + +// return the first 4 byte boundary after the end of a str4 +// be careful about calling this version if you don't know whether +// the string is terminated correctly. +static inline const char* FindStr4End( const char *p ) +{ + if( p[0] == '\0' ) // special case for SuperCollider integer address pattern + return p + 4; + + p += 3; + + while( *p ) + p += 4; + + return p + 1; +} + + +// return the first 4 byte boundary after the end of a str4 +// returns 0 if p == end or if the string is unterminated +static inline const char* FindStr4End( const char *p, const char *end ) +{ + if( p >= end ) + return 0; + + if( p[0] == '\0' ) // special case for SuperCollider integer address pattern + return p + 4; + + p += 3; + end -= 1; + + while( p < end && *p ) + p += 4; + + if( *p ) + return 0; + else + return p + 1; +} + + +// round up to the next highest multiple of 4. unless x is already a multiple of 4 +static inline uint32 RoundUp4( uint32 x ) +{ + return (x + 3) & ~((uint32)0x03); +} + + +static inline int32 ToInt32( const char *p ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::int32 i; + char c[4]; + } u; + + u.c[0] = p[3]; + u.c[1] = p[2]; + u.c[2] = p[1]; + u.c[3] = p[0]; + + return u.i; +#else + return *(int32*)p; +#endif +} + + +static inline uint32 ToUInt32( const char *p ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::uint32 i; + char c[4]; + } u; + + u.c[0] = p[3]; + u.c[1] = p[2]; + u.c[2] = p[1]; + u.c[3] = p[0]; + + return u.i; +#else + return *(uint32*)p; +#endif +} + + +static inline int64 ToInt64( const char *p ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::int64 i; + char c[8]; + } u; + + u.c[0] = p[7]; + u.c[1] = p[6]; + u.c[2] = p[5]; + u.c[3] = p[4]; + u.c[4] = p[3]; + u.c[5] = p[2]; + u.c[6] = p[1]; + u.c[7] = p[0]; + + return u.i; +#else + return *(int64*)p; +#endif +} + + +static inline uint64 ToUInt64( const char *p ) +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::uint64 i; + char c[8]; + } u; + + u.c[0] = p[7]; + u.c[1] = p[6]; + u.c[2] = p[5]; + u.c[3] = p[4]; + u.c[4] = p[3]; + u.c[5] = p[2]; + u.c[6] = p[1]; + u.c[7] = p[0]; + + return u.i; +#else + return *(uint64*)p; +#endif +} + +//------------------------------------------------------------------------------ + +bool ReceivedPacket::IsBundle() const +{ + return (Size() > 0 && Contents()[0] == '#'); +} + +//------------------------------------------------------------------------------ + +bool ReceivedBundleElement::IsBundle() const +{ + return (Size() > 0 && Contents()[0] == '#'); +} + + +osc_bundle_element_size_t ReceivedBundleElement::Size() const +{ + return ToInt32( sizePtr_ ); +} + +//------------------------------------------------------------------------------ + +bool ReceivedMessageArgument::AsBool() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == TRUE_TYPE_TAG ) + return true; + else if( *typeTagPtr_ == FALSE_TYPE_TAG ) + return false; + else + throw WrongArgumentTypeException(); +} + + +bool ReceivedMessageArgument::AsBoolUnchecked() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == TRUE_TYPE_TAG ) + return true; + else + return false; +} + + +int32 ReceivedMessageArgument::AsInt32() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == INT32_TYPE_TAG ) + return AsInt32Unchecked(); + else + throw WrongArgumentTypeException(); +} + + +int32 ReceivedMessageArgument::AsInt32Unchecked() const +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + osc::int32 i; + char c[4]; + } u; + + u.c[0] = argumentPtr_[3]; + u.c[1] = argumentPtr_[2]; + u.c[2] = argumentPtr_[1]; + u.c[3] = argumentPtr_[0]; + + return u.i; +#else + return *(int32*)argument_; +#endif +} + + +float ReceivedMessageArgument::AsFloat() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == FLOAT_TYPE_TAG ) + return AsFloatUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +float ReceivedMessageArgument::AsFloatUnchecked() const +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + float f; + char c[4]; + } u; + + u.c[0] = argumentPtr_[3]; + u.c[1] = argumentPtr_[2]; + u.c[2] = argumentPtr_[1]; + u.c[3] = argumentPtr_[0]; + + return u.f; +#else + return *(float*)argument_; +#endif +} + + +char ReceivedMessageArgument::AsChar() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == CHAR_TYPE_TAG ) + return AsCharUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +char ReceivedMessageArgument::AsCharUnchecked() const +{ + return (char)ToInt32( argumentPtr_ ); +} + + +uint32 ReceivedMessageArgument::AsRgbaColor() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == RGBA_COLOR_TYPE_TAG ) + return AsRgbaColorUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +uint32 ReceivedMessageArgument::AsRgbaColorUnchecked() const +{ + return ToUInt32( argumentPtr_ ); +} + + +uint32 ReceivedMessageArgument::AsMidiMessage() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == MIDI_MESSAGE_TYPE_TAG ) + return AsMidiMessageUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +uint32 ReceivedMessageArgument::AsMidiMessageUnchecked() const +{ + return ToUInt32( argumentPtr_ ); +} + + +int64 ReceivedMessageArgument::AsInt64() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == INT64_TYPE_TAG ) + return AsInt64Unchecked(); + else + throw WrongArgumentTypeException(); +} + + +int64 ReceivedMessageArgument::AsInt64Unchecked() const +{ + return ToInt64( argumentPtr_ ); +} + + +uint64 ReceivedMessageArgument::AsTimeTag() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == TIME_TAG_TYPE_TAG ) + return AsTimeTagUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +uint64 ReceivedMessageArgument::AsTimeTagUnchecked() const +{ + return ToUInt64( argumentPtr_ ); +} + + +double ReceivedMessageArgument::AsDouble() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == DOUBLE_TYPE_TAG ) + return AsDoubleUnchecked(); + else + throw WrongArgumentTypeException(); +} + + +double ReceivedMessageArgument::AsDoubleUnchecked() const +{ +#ifdef OSC_HOST_LITTLE_ENDIAN + union{ + double d; + char c[8]; + } u; + + u.c[0] = argumentPtr_[7]; + u.c[1] = argumentPtr_[6]; + u.c[2] = argumentPtr_[5]; + u.c[3] = argumentPtr_[4]; + u.c[4] = argumentPtr_[3]; + u.c[5] = argumentPtr_[2]; + u.c[6] = argumentPtr_[1]; + u.c[7] = argumentPtr_[0]; + + return u.d; +#else + return *(double*)argument_; +#endif +} + + +const char* ReceivedMessageArgument::AsString() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == STRING_TYPE_TAG ) + return argumentPtr_; + else + throw WrongArgumentTypeException(); +} + + +const char* ReceivedMessageArgument::AsSymbol() const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == SYMBOL_TYPE_TAG ) + return argumentPtr_; + else + throw WrongArgumentTypeException(); +} + + +void ReceivedMessageArgument::AsBlob( const void*& data, osc_bundle_element_size_t& size ) const +{ + if( !typeTagPtr_ ) + throw MissingArgumentException(); + else if( *typeTagPtr_ == BLOB_TYPE_TAG ) + AsBlobUnchecked( data, size ); + else + throw WrongArgumentTypeException(); +} + + +void ReceivedMessageArgument::AsBlobUnchecked( const void*& data, osc_bundle_element_size_t& size ) const +{ + // read blob size as an unsigned int then validate + osc_bundle_element_size_t sizeResult = (osc_bundle_element_size_t)ToUInt32( argumentPtr_ ); + if( !IsValidElementSizeValue(sizeResult) ) + throw MalformedMessageException("invalid blob size"); + + size = sizeResult; + data = (void*)(argumentPtr_+ osc::OSC_SIZEOF_INT32); +} + +std::size_t ReceivedMessageArgument::ComputeArrayItemCount() const +{ + // it is only valid to call ComputeArrayItemCount when the argument is the array start marker + if( !IsArrayBegin() ) + throw WrongArgumentTypeException(); + + std::size_t result = 0; + unsigned int level = 0; + const char *typeTag = typeTagPtr_ + 1; + + // iterate through all type tags. note that ReceivedMessage::Init + // has already checked that the message is well formed. + while( *typeTag ) { + switch( *typeTag++ ) { + case ARRAY_BEGIN_TYPE_TAG: + level += 1; + break; + + case ARRAY_END_TYPE_TAG: + if(level == 0) + return result; + level -= 1; + break; + + default: + if( level == 0 ) // only count items at level 0 + ++result; + } + } + + return result; +} + +//------------------------------------------------------------------------------ + +void ReceivedMessageArgumentIterator::Advance() +{ + if( !value_.typeTagPtr_ ) + return; + + switch( *value_.typeTagPtr_++ ){ + case '\0': + // don't advance past end + --value_.typeTagPtr_; + break; + + case TRUE_TYPE_TAG: + case FALSE_TYPE_TAG: + case NIL_TYPE_TAG: + case INFINITUM_TYPE_TAG: + + // zero length + break; + + case INT32_TYPE_TAG: + case FLOAT_TYPE_TAG: + case CHAR_TYPE_TAG: + case RGBA_COLOR_TYPE_TAG: + case MIDI_MESSAGE_TYPE_TAG: + + value_.argumentPtr_ += 4; + break; + + case INT64_TYPE_TAG: + case TIME_TAG_TYPE_TAG: + case DOUBLE_TYPE_TAG: + + value_.argumentPtr_ += 8; + break; + + case STRING_TYPE_TAG: + case SYMBOL_TYPE_TAG: + + // we use the unsafe function FindStr4End(char*) here because all of + // the arguments have already been validated in + // ReceivedMessage::Init() below. + + value_.argumentPtr_ = FindStr4End( value_.argumentPtr_ ); + break; + + case BLOB_TYPE_TAG: + { + // treat blob size as an unsigned int for the purposes of this calculation + uint32 blobSize = ToUInt32( value_.argumentPtr_ ); + value_.argumentPtr_ = value_.argumentPtr_ + osc::OSC_SIZEOF_INT32 + RoundUp4( blobSize ); + } + break; + + case ARRAY_BEGIN_TYPE_TAG: + case ARRAY_END_TYPE_TAG: + + // [ Indicates the beginning of an array. The tags following are for + // data in the Array until a close brace tag is reached. + // ] Indicates the end of an array. + + // zero length, don't advance argument ptr + break; + + default: // unknown type tag + // don't advance + --value_.typeTagPtr_; + break; + } +} + +//------------------------------------------------------------------------------ + +ReceivedMessage::ReceivedMessage( const ReceivedPacket& packet ) + : addressPattern_( packet.Contents() ) +{ + Init( packet.Contents(), packet.Size() ); +} + + +ReceivedMessage::ReceivedMessage( const ReceivedBundleElement& bundleElement ) + : addressPattern_( bundleElement.Contents() ) +{ + Init( bundleElement.Contents(), bundleElement.Size() ); +} + + +bool ReceivedMessage::AddressPatternIsUInt32() const +{ + return (addressPattern_[0] == '\0'); +} + + +uint32 ReceivedMessage::AddressPatternAsUInt32() const +{ + return ToUInt32( addressPattern_ ); +} + + +void ReceivedMessage::Init( const char *message, osc_bundle_element_size_t size ) +{ + if( !IsValidElementSizeValue(size) ) + throw MalformedMessageException( "invalid message size" ); + + if( size == 0 ) + throw MalformedMessageException( "zero length messages not permitted" ); + + if( !IsMultipleOf4(size) ) + throw MalformedMessageException( "message size must be multiple of four" ); + + const char *end = message + size; + + typeTagsBegin_ = FindStr4End( addressPattern_, end ); + if( typeTagsBegin_ == 0 ){ + // address pattern was not terminated before end + throw MalformedMessageException( "unterminated address pattern" ); + } + + if( typeTagsBegin_ == end ){ + // message consists of only the address pattern - no arguments or type tags. + typeTagsBegin_ = 0; + typeTagsEnd_ = 0; + arguments_ = 0; + + }else{ + if( *typeTagsBegin_ != ',' ) + throw MalformedMessageException( "type tags not present" ); + + if( *(typeTagsBegin_ + 1) == '\0' ){ + // zero length type tags + typeTagsBegin_ = 0; + typeTagsEnd_ = 0; + arguments_ = 0; + + }else{ + // check that all arguments are present and well formed + + arguments_ = FindStr4End( typeTagsBegin_, end ); + if( arguments_ == 0 ){ + throw MalformedMessageException( "type tags were not terminated before end of message" ); + } + + ++typeTagsBegin_; // advance past initial ',' + + const char *typeTag = typeTagsBegin_; + const char *argument = arguments_; + unsigned int arrayLevel = 0; + + do{ + switch( *typeTag ){ + case TRUE_TYPE_TAG: + case FALSE_TYPE_TAG: + case NIL_TYPE_TAG: + case INFINITUM_TYPE_TAG: + // zero length + break; + + // [ Indicates the beginning of an array. The tags following are for + // data in the Array until a close brace tag is reached. + // ] Indicates the end of an array. + case ARRAY_BEGIN_TYPE_TAG: + ++arrayLevel; + // (zero length argument data) + break; + + case ARRAY_END_TYPE_TAG: + --arrayLevel; + // (zero length argument data) + break; + + case INT32_TYPE_TAG: + case FLOAT_TYPE_TAG: + case CHAR_TYPE_TAG: + case RGBA_COLOR_TYPE_TAG: + case MIDI_MESSAGE_TYPE_TAG: + + if( argument == end ) + throw MalformedMessageException( "arguments exceed message size" ); + argument += 4; + if( argument > end ) + throw MalformedMessageException( "arguments exceed message size" ); + break; + + case INT64_TYPE_TAG: + case TIME_TAG_TYPE_TAG: + case DOUBLE_TYPE_TAG: + + if( argument == end ) + throw MalformedMessageException( "arguments exceed message size" ); + argument += 8; + if( argument > end ) + throw MalformedMessageException( "arguments exceed message size" ); + break; + + case STRING_TYPE_TAG: + case SYMBOL_TYPE_TAG: + + if( argument == end ) + throw MalformedMessageException( "arguments exceed message size" ); + argument = FindStr4End( argument, end ); + if( argument == 0 ) + throw MalformedMessageException( "unterminated string argument" ); + break; + + case BLOB_TYPE_TAG: + { + if( argument + osc::OSC_SIZEOF_INT32 > end ) + MalformedMessageException( "arguments exceed message size" ); + + // treat blob size as an unsigned int for the purposes of this calculation + uint32 blobSize = ToUInt32( argument ); + argument = argument + osc::OSC_SIZEOF_INT32 + RoundUp4( blobSize ); + if( argument > end ) + MalformedMessageException( "arguments exceed message size" ); + } + break; + + default: + throw MalformedMessageException( "unknown type tag" ); + } + + }while( *++typeTag != '\0' ); + typeTagsEnd_ = typeTag; + + if( arrayLevel != 0 ) + throw MalformedMessageException( "array was not terminated before end of message (expected ']' end of array tag)" ); + } + + // These invariants should be guaranteed by the above code. + // we depend on them in the implementation of ArgumentCount() +#ifndef NDEBUG + std::ptrdiff_t argumentCount = typeTagsEnd_ - typeTagsBegin_; + assert( argumentCount >= 0 ); + assert( argumentCount <= OSC_INT32_MAX ); +#endif + } +} + +//------------------------------------------------------------------------------ + +ReceivedBundle::ReceivedBundle( const ReceivedPacket& packet ) + : elementCount_( 0 ) +{ + Init( packet.Contents(), packet.Size() ); +} + + +ReceivedBundle::ReceivedBundle( const ReceivedBundleElement& bundleElement ) + : elementCount_( 0 ) +{ + Init( bundleElement.Contents(), bundleElement.Size() ); +} + + +void ReceivedBundle::Init( const char *bundle, osc_bundle_element_size_t size ) +{ + + if( !IsValidElementSizeValue(size) ) + throw MalformedBundleException( "invalid bundle size" ); + + if( size < 16 ) + throw MalformedBundleException( "packet too short for bundle" ); + + if( !IsMultipleOf4(size) ) + throw MalformedBundleException( "bundle size must be multiple of four" ); + + if( bundle[0] != '#' + || bundle[1] != 'b' + || bundle[2] != 'u' + || bundle[3] != 'n' + || bundle[4] != 'd' + || bundle[5] != 'l' + || bundle[6] != 'e' + || bundle[7] != '\0' ) + throw MalformedBundleException( "bad bundle address pattern" ); + + end_ = bundle + size; + + timeTag_ = bundle + 8; + + const char *p = timeTag_ + 8; + + while( p < end_ ){ + if( p + osc::OSC_SIZEOF_INT32 > end_ ) + throw MalformedBundleException( "packet too short for elementSize" ); + + // treat element size as an unsigned int for the purposes of this calculation + uint32 elementSize = ToUInt32( p ); + if( (elementSize & ((uint32)0x03)) != 0 ) + throw MalformedBundleException( "bundle element size must be multiple of four" ); + + p += osc::OSC_SIZEOF_INT32 + elementSize; + if( p > end_ ) + throw MalformedBundleException( "packet too short for bundle element" ); + + ++elementCount_; + } + + if( p != end_ ) + throw MalformedBundleException( "bundle contents " ); +} + + +uint64 ReceivedBundle::TimeTag() const +{ + return ToUInt64( timeTag_ ); +} + + +} // namespace osc + diff --git a/external/oscpack_1_1_0/osc/OscReceivedElements.h b/external/oscpack_1_1_0/osc/OscReceivedElements.h new file mode 100644 index 0000000..b6205f3 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscReceivedElements.h @@ -0,0 +1,548 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCRECEIVEDELEMENTS_H +#define INCLUDED_OSCPACK_OSCRECEIVEDELEMENTS_H + +#include +#include +#include // size_t + +#include "OscTypes.h" +#include "OscException.h" + + +namespace osc{ + + +class MalformedPacketException : public Exception{ +public: + MalformedPacketException( const char *w="malformed packet" ) + : Exception( w ) {} +}; + +class MalformedMessageException : public Exception{ +public: + MalformedMessageException( const char *w="malformed message" ) + : Exception( w ) {} +}; + +class MalformedBundleException : public Exception{ +public: + MalformedBundleException( const char *w="malformed bundle" ) + : Exception( w ) {} +}; + +class WrongArgumentTypeException : public Exception{ +public: + WrongArgumentTypeException( const char *w="wrong argument type" ) + : Exception( w ) {} +}; + +class MissingArgumentException : public Exception{ +public: + MissingArgumentException( const char *w="missing argument" ) + : Exception( w ) {} +}; + +class ExcessArgumentException : public Exception{ +public: + ExcessArgumentException( const char *w="too many arguments" ) + : Exception( w ) {} +}; + + +class ReceivedPacket{ +public: + // Although the OSC spec is not entirely clear on this, we only support + // packets up to 0x7FFFFFFC bytes long (the maximum 4-byte aligned value + // representable by an int32). An exception will be raised if you pass a + // larger value to the ReceivedPacket() constructor. + + ReceivedPacket( const char *contents, osc_bundle_element_size_t size ) + : contents_( contents ) + , size_( ValidateSize(size) ) {} + + ReceivedPacket( const char *contents, std::size_t size ) + : contents_( contents ) + , size_( ValidateSize( (osc_bundle_element_size_t)size ) ) {} + +#if !(defined(__x86_64__) || defined(_M_X64)) + ReceivedPacket( const char *contents, int size ) + : contents_( contents ) + , size_( ValidateSize( (osc_bundle_element_size_t)size ) ) {} +#endif + + bool IsMessage() const { return !IsBundle(); } + bool IsBundle() const; + + osc_bundle_element_size_t Size() const { return size_; } + const char *Contents() const { return contents_; } + +private: + const char *contents_; + osc_bundle_element_size_t size_; + + static osc_bundle_element_size_t ValidateSize( osc_bundle_element_size_t size ) + { + // sanity check integer types declared in OscTypes.h + // you'll need to fix OscTypes.h if any of these asserts fail + assert( sizeof(osc::int32) == 4 ); + assert( sizeof(osc::uint32) == 4 ); + assert( sizeof(osc::int64) == 8 ); + assert( sizeof(osc::uint64) == 8 ); + + if( !IsValidElementSizeValue(size) ) + throw MalformedPacketException( "invalid packet size" ); + + if( size == 0 ) + throw MalformedPacketException( "zero length elements not permitted" ); + + if( !IsMultipleOf4(size) ) + throw MalformedPacketException( "element size must be multiple of four" ); + + return size; + } +}; + + +class ReceivedBundleElement{ +public: + ReceivedBundleElement( const char *sizePtr ) + : sizePtr_( sizePtr ) {} + + friend class ReceivedBundleElementIterator; + + bool IsMessage() const { return !IsBundle(); } + bool IsBundle() const; + + osc_bundle_element_size_t Size() const; + const char *Contents() const { return sizePtr_ + osc::OSC_SIZEOF_INT32; } + +private: + const char *sizePtr_; +}; + + +class ReceivedBundleElementIterator{ +public: + ReceivedBundleElementIterator( const char *sizePtr ) + : value_( sizePtr ) {} + + ReceivedBundleElementIterator operator++() + { + Advance(); + return *this; + } + + ReceivedBundleElementIterator operator++(int) + { + ReceivedBundleElementIterator old( *this ); + Advance(); + return old; + } + + const ReceivedBundleElement& operator*() const { return value_; } + + const ReceivedBundleElement* operator->() const { return &value_; } + + friend bool operator==(const ReceivedBundleElementIterator& lhs, + const ReceivedBundleElementIterator& rhs ); + +private: + ReceivedBundleElement value_; + + void Advance() { value_.sizePtr_ = value_.Contents() + value_.Size(); } + + bool IsEqualTo( const ReceivedBundleElementIterator& rhs ) const + { + return value_.sizePtr_ == rhs.value_.sizePtr_; + } +}; + +inline bool operator==(const ReceivedBundleElementIterator& lhs, + const ReceivedBundleElementIterator& rhs ) +{ + return lhs.IsEqualTo( rhs ); +} + +inline bool operator!=(const ReceivedBundleElementIterator& lhs, + const ReceivedBundleElementIterator& rhs ) +{ + return !( lhs == rhs ); +} + + +class ReceivedMessageArgument{ +public: + ReceivedMessageArgument( const char *typeTagPtr, const char *argumentPtr ) + : typeTagPtr_( typeTagPtr ) + , argumentPtr_( argumentPtr ) {} + + friend class ReceivedMessageArgumentIterator; + + char TypeTag() const { return *typeTagPtr_; } + + // the unchecked methods below don't check whether the argument actually + // is of the specified type. they should only be used if you've already + // checked the type tag or the associated IsType() method. + + bool IsBool() const + { return *typeTagPtr_ == TRUE_TYPE_TAG || *typeTagPtr_ == FALSE_TYPE_TAG; } + bool AsBool() const; + bool AsBoolUnchecked() const; + + bool IsNil() const { return *typeTagPtr_ == NIL_TYPE_TAG; } + bool IsInfinitum() const { return *typeTagPtr_ == INFINITUM_TYPE_TAG; } + + bool IsInt32() const { return *typeTagPtr_ == INT32_TYPE_TAG; } + int32 AsInt32() const; + int32 AsInt32Unchecked() const; + + bool IsFloat() const { return *typeTagPtr_ == FLOAT_TYPE_TAG; } + float AsFloat() const; + float AsFloatUnchecked() const; + + bool IsChar() const { return *typeTagPtr_ == CHAR_TYPE_TAG; } + char AsChar() const; + char AsCharUnchecked() const; + + bool IsRgbaColor() const { return *typeTagPtr_ == RGBA_COLOR_TYPE_TAG; } + uint32 AsRgbaColor() const; + uint32 AsRgbaColorUnchecked() const; + + bool IsMidiMessage() const { return *typeTagPtr_ == MIDI_MESSAGE_TYPE_TAG; } + uint32 AsMidiMessage() const; + uint32 AsMidiMessageUnchecked() const; + + bool IsInt64() const { return *typeTagPtr_ == INT64_TYPE_TAG; } + int64 AsInt64() const; + int64 AsInt64Unchecked() const; + + bool IsTimeTag() const { return *typeTagPtr_ == TIME_TAG_TYPE_TAG; } + uint64 AsTimeTag() const; + uint64 AsTimeTagUnchecked() const; + + bool IsDouble() const { return *typeTagPtr_ == DOUBLE_TYPE_TAG; } + double AsDouble() const; + double AsDoubleUnchecked() const; + + bool IsString() const { return *typeTagPtr_ == STRING_TYPE_TAG; } + const char* AsString() const; + const char* AsStringUnchecked() const { return argumentPtr_; } + + bool IsSymbol() const { return *typeTagPtr_ == SYMBOL_TYPE_TAG; } + const char* AsSymbol() const; + const char* AsSymbolUnchecked() const { return argumentPtr_; } + + bool IsBlob() const { return *typeTagPtr_ == BLOB_TYPE_TAG; } + void AsBlob( const void*& data, osc_bundle_element_size_t& size ) const; + void AsBlobUnchecked( const void*& data, osc_bundle_element_size_t& size ) const; + + bool IsArrayBegin() const { return *typeTagPtr_ == ARRAY_BEGIN_TYPE_TAG; } + bool IsArrayEnd() const { return *typeTagPtr_ == ARRAY_END_TYPE_TAG; } + // Calculate the number of top-level items in the array. Nested arrays count as one item. + // Only valid at array start. Will throw an exception if IsArrayStart() == false. + std::size_t ComputeArrayItemCount() const; + +private: + const char *typeTagPtr_; + const char *argumentPtr_; +}; + + +class ReceivedMessageArgumentIterator{ +public: + ReceivedMessageArgumentIterator( const char *typeTags, const char *arguments ) + : value_( typeTags, arguments ) {} + + ReceivedMessageArgumentIterator operator++() + { + Advance(); + return *this; + } + + ReceivedMessageArgumentIterator operator++(int) + { + ReceivedMessageArgumentIterator old( *this ); + Advance(); + return old; + } + + const ReceivedMessageArgument& operator*() const { return value_; } + + const ReceivedMessageArgument* operator->() const { return &value_; } + + friend bool operator==(const ReceivedMessageArgumentIterator& lhs, + const ReceivedMessageArgumentIterator& rhs ); + +private: + ReceivedMessageArgument value_; + + void Advance(); + + bool IsEqualTo( const ReceivedMessageArgumentIterator& rhs ) const + { + return value_.typeTagPtr_ == rhs.value_.typeTagPtr_; + } +}; + +inline bool operator==(const ReceivedMessageArgumentIterator& lhs, + const ReceivedMessageArgumentIterator& rhs ) +{ + return lhs.IsEqualTo( rhs ); +} + +inline bool operator!=(const ReceivedMessageArgumentIterator& lhs, + const ReceivedMessageArgumentIterator& rhs ) +{ + return !( lhs == rhs ); +} + + +class ReceivedMessageArgumentStream{ + friend class ReceivedMessage; + ReceivedMessageArgumentStream( const ReceivedMessageArgumentIterator& begin, + const ReceivedMessageArgumentIterator& end ) + : p_( begin ) + , end_( end ) {} + + ReceivedMessageArgumentIterator p_, end_; + +public: + + // end of stream + bool Eos() const { return p_ == end_; } + + ReceivedMessageArgumentStream& operator>>( bool& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsBool(); + return *this; + } + + // not sure if it would be useful to stream Nil and Infinitum + // for now it's not possible + // same goes for array boundaries + + ReceivedMessageArgumentStream& operator>>( int32& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsInt32(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( float& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsFloat(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( char& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsChar(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( RgbaColor& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs.value = (*p_++).AsRgbaColor(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( MidiMessage& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs.value = (*p_++).AsMidiMessage(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( int64& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsInt64(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( TimeTag& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs.value = (*p_++).AsTimeTag(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( double& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsDouble(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( Blob& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + (*p_++).AsBlob( rhs.data, rhs.size ); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( const char*& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs = (*p_++).AsString(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( Symbol& rhs ) + { + if( Eos() ) + throw MissingArgumentException(); + + rhs.value = (*p_++).AsSymbol(); + return *this; + } + + ReceivedMessageArgumentStream& operator>>( MessageTerminator& rhs ) + { + (void) rhs; // suppress unused parameter warning + + if( !Eos() ) + throw ExcessArgumentException(); + + return *this; + } +}; + + +class ReceivedMessage{ + void Init( const char *bundle, osc_bundle_element_size_t size ); +public: + explicit ReceivedMessage( const ReceivedPacket& packet ); + explicit ReceivedMessage( const ReceivedBundleElement& bundleElement ); + + const char *AddressPattern() const { return addressPattern_; } + + // Support for non-standard SuperCollider integer address patterns: + bool AddressPatternIsUInt32() const; + uint32 AddressPatternAsUInt32() const; + + uint32 ArgumentCount() const { return static_cast(typeTagsEnd_ - typeTagsBegin_); } + + const char *TypeTags() const { return typeTagsBegin_; } + + + typedef ReceivedMessageArgumentIterator const_iterator; + + ReceivedMessageArgumentIterator ArgumentsBegin() const + { + return ReceivedMessageArgumentIterator( typeTagsBegin_, arguments_ ); + } + + ReceivedMessageArgumentIterator ArgumentsEnd() const + { + return ReceivedMessageArgumentIterator( typeTagsEnd_, 0 ); + } + + ReceivedMessageArgumentStream ArgumentStream() const + { + return ReceivedMessageArgumentStream( ArgumentsBegin(), ArgumentsEnd() ); + } + +private: + const char *addressPattern_; + const char *typeTagsBegin_; + const char *typeTagsEnd_; + const char *arguments_; +}; + + +class ReceivedBundle{ + void Init( const char *message, osc_bundle_element_size_t size ); +public: + explicit ReceivedBundle( const ReceivedPacket& packet ); + explicit ReceivedBundle( const ReceivedBundleElement& bundleElement ); + + uint64 TimeTag() const; + + uint32 ElementCount() const { return elementCount_; } + + typedef ReceivedBundleElementIterator const_iterator; + + ReceivedBundleElementIterator ElementsBegin() const + { + return ReceivedBundleElementIterator( timeTag_ + 8 ); + } + + ReceivedBundleElementIterator ElementsEnd() const + { + return ReceivedBundleElementIterator( end_ ); + } + +private: + const char *timeTag_; + const char *end_; + uint32 elementCount_; +}; + + +} // namespace osc + + +#endif /* INCLUDED_OSCPACK_OSCRECEIVEDELEMENTS_H */ diff --git a/external/oscpack_1_1_0/osc/OscTypes.cpp b/external/oscpack_1_1_0/osc/OscTypes.cpp new file mode 100644 index 0000000..444a9fe --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscTypes.cpp @@ -0,0 +1,52 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#include "OscTypes.h" + +namespace osc{ + +BundleInitiator BeginBundleImmediate(1); +BundleTerminator EndBundle; +MessageTerminator EndMessage; +NilType OscNil; +#ifndef _OBJC_OBJC_H_ +NilType Nil; // Objective-C defines Nil. so our Nil is deprecated. use OscNil instead +#endif +InfinitumType Infinitum; +ArrayInitiator BeginArray; +ArrayTerminator EndArray; + +} // namespace osc diff --git a/external/oscpack_1_1_0/osc/OscTypes.h b/external/oscpack_1_1_0/osc/OscTypes.h new file mode 100644 index 0000000..6100201 --- /dev/null +++ b/external/oscpack_1_1_0/osc/OscTypes.h @@ -0,0 +1,240 @@ +/* + oscpack -- Open Sound Control (OSC) packet manipulation library + http://www.rossbencina.com/code/oscpack + + Copyright (c) 2004-2013 Ross Bencina + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files + (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, + publish, distribute, sublicense, and/or sell copies of the Software, + and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR + ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF + CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +/* + The text above constitutes the entire oscpack license; however, + the oscpack developer(s) also make the following non-binding requests: + + Any person wishing to distribute modifications to the Software is + requested to send the modifications to the original developer so that + they can be incorporated into the canonical version. It is also + requested that these non-binding requests be included whenever the + above license is reproduced. +*/ +#ifndef INCLUDED_OSCPACK_OSCTYPES_H +#define INCLUDED_OSCPACK_OSCTYPES_H + + +namespace osc{ + +// basic types + +#if defined(__BORLANDC__) || defined(_MSC_VER) + +typedef __int64 int64; +typedef unsigned __int64 uint64; + +#elif defined(__x86_64__) || defined(_M_X64) + +typedef long int64; +typedef unsigned long uint64; + +#else + +typedef long long int64; +typedef unsigned long long uint64; + +#endif + + + +#if defined(__x86_64__) || defined(_M_X64) + +typedef signed int int32; +typedef unsigned int uint32; + +#else + +typedef signed long int32; +typedef unsigned long uint32; + +#endif + + +enum ValueTypeSizes{ + OSC_SIZEOF_INT32 = 4, + OSC_SIZEOF_UINT32 = 4, + OSC_SIZEOF_INT64 = 8, + OSC_SIZEOF_UINT64 = 8, +}; + + +// osc_bundle_element_size_t is used for the size of bundle elements and blobs +// the OSC spec specifies these as int32 (signed) but we ensure that they +// are always positive since negative field sizes make no sense. + +typedef int32 osc_bundle_element_size_t; + +enum { + OSC_INT32_MAX = 0x7FFFFFFF, + + // Element sizes are specified to be int32, and are always rounded up to nearest + // multiple of 4. Therefore their values can't be greater than 0x7FFFFFFC. + OSC_BUNDLE_ELEMENT_SIZE_MAX = 0x7FFFFFFC +}; + + +inline bool IsValidElementSizeValue( osc_bundle_element_size_t x ) +{ + // sizes may not be negative or exceed OSC_BUNDLE_ELEMENT_SIZE_MAX + return x >= 0 && x <= OSC_BUNDLE_ELEMENT_SIZE_MAX; +} + + +inline bool IsMultipleOf4( osc_bundle_element_size_t x ) +{ + return (x & ((osc_bundle_element_size_t)0x03)) == 0; +} + + +enum TypeTagValues { + TRUE_TYPE_TAG = 'T', + FALSE_TYPE_TAG = 'F', + NIL_TYPE_TAG = 'N', + INFINITUM_TYPE_TAG = 'I', + INT32_TYPE_TAG = 'i', + FLOAT_TYPE_TAG = 'f', + CHAR_TYPE_TAG = 'c', + RGBA_COLOR_TYPE_TAG = 'r', + MIDI_MESSAGE_TYPE_TAG = 'm', + INT64_TYPE_TAG = 'h', + TIME_TAG_TYPE_TAG = 't', + DOUBLE_TYPE_TAG = 'd', + STRING_TYPE_TAG = 's', + SYMBOL_TYPE_TAG = 'S', + BLOB_TYPE_TAG = 'b', + ARRAY_BEGIN_TYPE_TAG = '[', + ARRAY_END_TYPE_TAG = ']' +}; + + + +// i/o manipulators used for streaming interfaces + +struct BundleInitiator{ + explicit BundleInitiator( uint64 timeTag_ ) : timeTag( timeTag_ ) {} + uint64 timeTag; +}; + +extern BundleInitiator BeginBundleImmediate; + +inline BundleInitiator BeginBundle( uint64 timeTag=1 ) +{ + return BundleInitiator(timeTag); +} + + +struct BundleTerminator{ +}; + +extern BundleTerminator EndBundle; + +struct BeginMessage{ + explicit BeginMessage( const char *addressPattern_ ) : addressPattern( addressPattern_ ) {} + const char *addressPattern; +}; + +struct MessageTerminator{ +}; + +extern MessageTerminator EndMessage; + + +// osc specific types. they are defined as structs so they can be used +// as separately identifiable types with the streaming operators. + +struct NilType{ +}; + +extern NilType OscNil; + +#ifndef _OBJC_OBJC_H_ +extern NilType Nil; // Objective-C defines Nil. so our Nil is deprecated. use OscNil instead +#endif + +struct InfinitumType{ +}; + +extern InfinitumType Infinitum; + +struct RgbaColor{ + RgbaColor() {} + explicit RgbaColor( uint32 value_ ) : value( value_ ) {} + uint32 value; + + operator uint32() const { return value; } +}; + + +struct MidiMessage{ + MidiMessage() {} + explicit MidiMessage( uint32 value_ ) : value( value_ ) {} + uint32 value; + + operator uint32() const { return value; } +}; + + +struct TimeTag{ + TimeTag() {} + explicit TimeTag( uint64 value_ ) : value( value_ ) {} + uint64 value; + + operator uint64() const { return value; } +}; + + +struct Symbol{ + Symbol() {} + explicit Symbol( const char* value_ ) : value( value_ ) {} + const char* value; + + operator const char *() const { return value; } +}; + + +struct Blob{ + Blob() {} + explicit Blob( const void* data_, osc_bundle_element_size_t size_ ) + : data( data_ ), size( size_ ) {} + const void* data; + osc_bundle_element_size_t size; +}; + +struct ArrayInitiator{ +}; + +extern ArrayInitiator BeginArray; + +struct ArrayTerminator{ +}; + +extern ArrayTerminator EndArray; + +} // namespace osc + + +#endif /* INCLUDED_OSCPACK_OSCTYPES_H */ diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.command.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.command.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..dbb7f2f02b617e19b8b9fde292826f9719fc9592 GIT binary patch literal 28996 zcmeI5Sx?(Q6ov0|rT&MC_bwEKRNf#lrcH>WU?4?Nql%?Pq7)^x^w+mNXB;abvEw=f z)pm|7FXLrwk7wqayUh5{?@v~Q9hzqyEPJ+N8(7v6KD35~7FZkM0HGSzo_)l; zhqG!}hq#7Y4Q%u35bGT~SorL&i=ksJ#L~pw_7PtbQ(%4T;tqVS4a|MqGr)a#rwgWc4eP&oM#U04xuxwx3T1vKkOTh@QR_GBh0M;TU^(%?7MQb zi}K}9>|@?-p|k|Z+1|wdBkX0q4ct|69Lan8i2DR*xA4SovE6s^_;{Y^xjmGf;ixQh zP^xP9c8u`=aYxVR;|aLu(r)oSw>Gc~oPUL@F5Lc8gtqM-%dbd*0q$@&vHue9KR^sj zhua5NTp>lS5zozNFOLrJT#R{$L$;kZ{0&^ z&85~JQoE|}cM+(ftkcNgbxb1fQ?z=bwwA~%@`}9k zaKdNEWA@-hpf`B8$jbS`@atB@0Uyp3hdv!f9H~q*jMy;YdF_pUCN~ zDj$`pmG&`F^DXL%x}q-I71BUI&ITsxin`M_)U2AN=Paa2EGi#W+t4@fi>GK)EZ>?g zy)p?Ui>@rXS$-=?5}qu&t7FlfrBE43+Jx^;2wyE~hUwQZX~RvI#N|P?sIS{}J59V5 zZ{9iY;&^~%5h1hDsVk)UwQnMJ%R*3wt+Ol*hfy9=4c1eI3b}ZElFCEv>We0loq8$>G}Q8@{Psf&D1RUC_SH6WhQf! z4)M57fs>kdL1m6FM16NWj#ubBk2{dFsrQydEs1)%-77n^#@5O|7U1%vO?hHh)f0Oj zs~^v=>d?Cl36f)RvF+$VuJ#Z*#*(9Ua!f(mt9eu!@uwM=G(DeE_gd_+M`uT{lhs;Q zYgw&jwaz>4X+Bx|A-@+RSak?4ZvT(*#Kmp0UOk}I13F9VtR7jb)FUgsUX1m{@j4H; zszd7#BWuz#T=KN!>DgAV^x@KnOCO$OCtIG*UtZu1{CQ#g51yFE@j97MMI&$?f4c+N jpQ+=P1v;r@J)KvCG}!vPlm6~B{)e3;;VMhQk0sJyKdPP; literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.read.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..411537f824d2896d306d63800bb1341cc999d2ab GIT binary patch literal 531804 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

<{rZn9t+a^YDx3L4&jSicPS@ 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 Mv%i=c;Vw@9KYSHsx&QzG literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.write.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/CL.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..5c01c30a6c6c79ab3d65347b63d6cbc54ad786d8 GIT binary patch literal 14670 zcmeHOU2lRg6ur+&_E*fDW)FK)WatDTP^U}C{3HAA+sXwLD*T4;wz%hCE3^wr z{`~EuenL(=JSE0xYdkN;ky)Nq5gIvS8OtG8_VUOQ8sT6quop!J8C+Za{xR%^f^}kfN-nfXimb7X zxQ+6lZO4ort>MvlmJFEKkDOrb%=rLozX6Bl8p0y3&`UKwr9DIfeX~W|x>455l|aY7 z^`PZ=s}V==3kr8Jyo5~5d(CeF%qE^tB5+o5lW9}U;u0A5zw%r~PfABmIe6#zNdm)7 zQNVhF~~E?+sUuGh>{r%lxSf>26|o53xctmx0movN>cGlRzg~b}OyCr#ndS zcvc!p$2vpTW=DFWxn5C)wA8DP5*iu6|IV?-nt;C*{_Y0Wjc}~B1gGHiRWPf@@}Aot zHxPIG7&qo&NSxuujP#E=rO(H;6^3-oT`NiH_<0B6_TGVX^!@jW+@6Wcy+Qf2VRm|@ z<81EBOGn$DO>#}f+h^lEwjK z-K^G{*|!SIb8Ium*K$HW(j8-@+orqbv+BPT`e!^n({?jGB-`(~wwvqj3K!3?-3*^s QZFw%oz@@K}?O!GP0||UzmH+?% literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/EyeFaceTrackerSteamOSC.lastbuildstate b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/EyeFaceTrackerSteamOSC.lastbuildstate new file mode 100644 index 0000000..6f1f9d1 --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/EyeFaceTrackerSteamOSC.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.35.32215:TargetPlatformVersion=10.0.22000.0: +Debug|x64|C:\Users\A3\Desktop\OSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\| diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.read.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.read.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.write.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-cvtres.write.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.read.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.read.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.write.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link-rc.write.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.command.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.command.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.command.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.2.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.2.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.read.2.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.write.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/link.write.1.tlog @@ -0,0 +1 @@ +�� \ No newline at end of file diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.command.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.command.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..694c8deea4ebc63bb53077cf38b9b3ac8e213d22 GIT binary patch literal 848 zcmd6lF$=;#428d0@IRFP02LHLw|Z8Qq9^tQ3q?0wimv{8^+g2-r`tNbBrhc4@^a6| z5yzC8Jta9i*_w=@>|DI0AmG`Gdod@UQwa-IIr*R-iweco9pp3Ct*h?ob&f6_`r0hv zq>VSMl=JURlW+b%+mJHgE{ueUnAKjn(Fhm8_*p*HwDxEjbOpOx+`SHrwdd#hGikJp WoM1ZJzcH1PR_PI^LrnGWZ@mD8R(pg1 literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.read.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..fe4b4ee437ddf6a141e466952914e70c5b7d4815 GIT binary patch literal 3232 zcmdUx!A`?442J(R67SF>T&j%$Lfoph8`aizTGqm(3f})EfX~SWo5o=rP=lg6j$5aW z{oBsR`>S$2s#hzgQfp|hOcQ9q+G(zh8m(A2ta9d3Tb?Oj<;)v&jGM!o_J%oA9o^R{ z*5$g?1@yn3ca3iyo^AbEN~L-_IME7eqZ!ovpAex+3$KyrN-uiQy{?JhGx8)*~QDQ{JSyVT}B+wPB|I+Ar7^pG6k+n5^38nc;ER=sEtMVMR%t z_o&Fo^vdUU&AcGfhxXl1R<3pxCj;%F62)R|$cUWWsu{VjjthJ^bgYA2h0o|%tO<2! ziH~Bjr~vUZD&f$WKdh@A2wx9w(Qy_!szeF8t=q4Czxa*UdNQLz+q#u?vnjhI>X11) zN=6J4zq9q9iub+mI@Wu7v_fXJ^eF3ETVx&59=>5L(6s&CPCC{tzMJUIQ`=(Xq(NlQL1YCb3DJ~lw*z5ELHGIcrYp4&w bD!X%^-f{M~jQ@0-x0+xWPVu;Lc31xdMxwS9 literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.write.1.tlog b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/rc.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..b406c5f33406c4ba87ccf1dda4ebc6976ca9a511 GIT binary patch literal 514 zcmd6kI|_h63`AcocoiGP!cNyuA)>e|C@kLp6zT-LfSpBVGLS5rnfp3%R75sB9jh=> zlM7pE&q!cqk)EZTxZ_aunsVZx9qUH*wjIPZ)9)|$kW=REH&1s;iZ`J~ O$qgT0FfS}ybK?O~8%#d{ literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/unsuccessfulbuild b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceT.b888ff32.tlog/unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.log b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.log new file mode 100644 index 0000000..a38a080 --- /dev/null +++ b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.log @@ -0,0 +1,46 @@ + d3d_common.cpp + graphicsplugin_d3d11.cpp + graphicsplugin_factory.cpp + logger.cpp + pch.cpp + platformplugin_factory.cpp + platformplugin_win32.cpp + IpEndpointName.cpp + NetworkingUtils.cpp + UdpSocket.cpp + OscOutboundPacketStream.cpp + OscPrintReceivedElements.cpp + OscReceivedElements.cpp + OscTypes.cpp + main.cpp +C:\Users\A3\Desktop\OSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\main.cpp(14,34): warning C4305: '初期化中': 'double' から 'float' へ切り詰めます。 +C:\Users\A3\Desktop\OSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\main.cpp(67,18): warning C4244: '=': 'double' から 'float' への変換です。データが失われる可能性があります。 + コードを生成中... +openxr_loader.lib(loader_core.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_core.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(xr_generated_loader.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(xr_generated_loader.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(api_layer_interface.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(api_layer_interface.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_instance.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_instance.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_logger.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_logger.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_logger_recorders.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(loader_logger_recorders.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(runtime_interface.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(runtime_interface.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(manifest_file.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(manifest_file.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(object_info.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(object_info.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(filesystem_utils.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(filesystem_utils.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_value.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_value.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_reader.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_reader.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_writer.obj) : error LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました。値 '0' が 2 の値 'd3d_common.obj' と一致しません。 +openxr_loader.lib(json_writer.obj) : error LNK2038: 'RuntimeLibrary' の不一致が検出されました。値 'MD_DynamicRelease' が MDd_DynamicDebug の値 'd3d_common.obj' と一致しません。 +LINK : warning LNK4098: defaultlib 'MSVCRT' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。 +C:\Users\A3\Desktop\OSC\EyeFaceTrackerSteamOSC\EyeFaceTrackerSteamOSC\out\x64\Debug\EyeFaceTrackerSteamOSC.exe : fatal error LNK1319: 26 の不一致が検出されました diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.res b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/EyeFaceTrackerSteamOSC.res new file mode 100644 index 0000000000000000000000000000000000000000..1d3033b0688d66511e47a8230dccef643bfe6427 GIT binary patch literal 17052 zcmeI4&21z%5QRsuZw8DN>;M)z?a{y{AQ(zPAy_Hs>Z4Ln3Q9pKCn)V!c;IHhTbRv)ODu_qFTZYTx`<`SPdZKlM6iuVbG+o&T)Tm%ee? z*T4IE_G+nbTy8eM{qk1(CriJ=X00m+YYwbAu;##;0|%D_U%!6s?(grri;IhQ_wDB9 zrh9yR?C$RF_O{mf`FTg(_B{)B%Pu^?AM|0;PN!%*#EgLqo-r|S5;3;sG+?5qp#u3U+wEhlk0$y1u^t z4}aJg+DonnN5*NcOk7~q7VAAfKmUUt+gadY$RE~be5hb+Xl};5&c`?7kurU*bLKv~ zcR07Q;3qjTREB)QKX|CTX{WUxjD-Fms|wLSb;k@%9vyu|I((ma(`9c z)sd$u`|58ijX!>~M=kh1hhO{zL*mXhd6c<;e#KPd&$?A7ZQ7pWpLm93;!k^U!8-U) zKWD;F0aLy+^iK&EF_KsID;dWIJdJUwzEXdgH}~9APk$0WzFD&0^}smB!x#tHXkphj zV{>AzK2rQGUsJEuZq2Rxy*1BuiC3#kaWG_aoBkGtxps!;CZ@FI`@p`suXCPpc8wfc z(k33R*OJ=bSNvHcORmWpR<@~Q4fKRRx|2DoI3Vvd30dL-ck^^EVcI2tx&zzJ8&O38K z4w9FT#Q&b>pZ6MZr(|6@$oIZEknx8v@_DLa(=s>z>mGLfF{y8Lu4^Ni4?cBs%r?1^ z_rP2;=h4owp*H?l4gtS@65sSqACa61Ee=izzdV4cp80a%UPxVeI`;UB2|4ubU-weR z|5*2b;?6d)&fiOkbB%H0HxHJ`L)!m|J=?^UQs4dP{0R8LN#5tZSALEi|J1wMaqc~~ zk)DHzAC7pQs(IJKmRz=E+F!D-Qn#L2Iks(Eztcb3Eey2}e=ORmIzFd;=PZ>g{^9T6 zrCh3S+%i7L5`X-(*55hoM_Smg*-zVVfz+dI-j2y_^1tOn^{GC)PR;-HjW}BPF3Bb?}+@eA>vd`rWHu>MX&n?*EP7yAA$;MO?_t zjmnLB$BsYW#r6A+oVV~jB<7UdiO9{YX_I!2)plJoZPS)t=GC#O=c&1zVHW&s*~{N5 zrhIk&oV-zYN={)In?E(zaX8>T(6TkQKU(_qC9m~N9hx)LuaEB$|BS8gv+76wHns#y z{(ewxE_vQJet6tRnZl6kOr7y#wvH8l-mAbchH-36{JX>~_fE!T7n}IZd5FDMUGffS zeOJrLzVQ>6mcR6+&u}xOM?e1MIll{+WBIXf{PNn8b*+|8_O1B8e>=Qa{Nb3m>{7?} zSH^Q`{B!Opv{(G!zxm1Mx%b^uh&>qUx6Cg0mQ&$m#j*Y^@|pu{4t!t^^h>SfM`hsm k9{A_JcHOUi{p*#6KjQyL@ZTfOHkX%g|3!lTI&rr72GdkE1ONa4 literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/IpEndpointName.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/IpEndpointName.obj new file mode 100644 index 0000000000000000000000000000000000000000..7d7868cd4205b0112aefb412f186430406b1b945 GIT binary patch literal 15593 zcmc&*3w%>W)}JITV9KK{qErO}l%)vNzA2^9q)AE(>4Ub&t8xixT1p>@O5q6;NKjSY5vVnYlN;Nz;no55I5V-Z}H1 zbIzQZIrF%aY3brvHsO_-&VLMK>=+XvwzSsi@YXx!BzpmbrK6IPV|_S_Ep<+>D~~Qx zawdi`_8s`fbr;ATh>R>eGq&1O@0eNbQ24rnsJK~4i5PtQV!h7U-stKYC8tuu*evjU z)I%V8M27H!X@TX&fG_J7#%gXAd?AR8;V3si-*(_Dz%!<&;Ol@Wn7#|Z7lWrhO7OL% zFB#cuz;j&Y)3u@R0Pu_8dEvJ9^^yDsGLPU4ZeJBLPl3;NyWr9y3Rd4Cz^8%dVVSQj z``!fKX7J3R4nv@J38rri@E5^T+>5vvqjm|_eirn{T=4Ac&Dq-2M-KKqc&)K}}@Z_{AUQ{V|5AgmMPsK6K-&~G$d zM1dz>=7amR=?5dgGg{{JwM)IL$~&D#tq4?(Q|3`Hb{po?=^l?S4TAhKFf@i6_r(U( zgT`xlfIi+I0es}A)vfr9#z1|<*Ki$tk>Fc&9eg)|?>E=M*A0B@g7SGC(K)%3kzisI4<)j7+<#>Gb%kPNeaZ=D5(4wzN8?q zC>acfyRu91$(a5-d zhPy1*EYo;fu`MSvtzT}@-4L(@p!qgSo+;N_1lVfHDK_O<%=vl6IeFu)hP&)lUT1BM z-RrEeS3A=r$vng9sLXQJT4+r!ch-)n^LTR`%&t=BNJ(l*NETzY23rLpt~ja|#$WZhYRc4D5!7w1+uYF!>znb#0g zILMIi_EuC^%&Dj;H<(@3?usgBEtZ(*2#>cEb)Y&O!w8FE9V5131`lbxhTvaZTAC?u zl4P=23av#&tRFaSG}kuOn#m6O> zC5NlVQCC~*tZ_7W>{a0G6`*sNCCOq+$}&kJ+Ypc)mt{_jPZ^#f)!R#*WgaN#AHb2B zoMN(MCM8Mrj@r5!G?Ft2Q*wOfu;JF^;nM6%XM=;B229bdG+DB&iSb!dL%qGq1Ji3s zRo?)vxFqwi`d)wi5v#zXDgc~z(y-X*{I;&~}*g#GBWIg7kUe|7t^lqL73Ggiy_o-RDRb@tGgN{8s&(Zf$H9{1Oe zUfc7QqwCPAm*Q_v{d(Z<89T%I)`$HitNi)RCsXy6jUO(`Si9%_^j9A{G9h*Ki1JAn zqt0LhJ`4pLbQ?~y>1M;mQ<14l53;7$`^|rOVETq*Q=WVKH{U(@!`_B6hCTSy=YM|Y&0V|an$EGSeLJmP|BPWGV;4A|ZRWq7TXdzP2X}h!cf0?) zt25?dHs7s z-G|?ZtGVgZ^mxYhaK5AKN+%sjozasWo4V4SURGrDZq#jd4t{6%;G~WpSkGrM)(fk$ zLDzfJ??1lNb!p`@4I%c`@ej<^3bN( z-(4NCaPF&-+lGDk)uBPX)-LTeeEU;pVi`Nj`9AMzUvfrcOnKE@j0pANDU`3DUHK~YtVIg{f}t{-8=kn;?|jL4edOQa|6Gb9C`M=^gp;5yNv#w5Q^80ncVS(M$1lBiOb_~ zV>yuG@h`5V!W}rH&-lMCkOm{_SWxRKueDbjval|A3^B7)QwEhxsHiD*&GHz=R(L%n z@o^KuHPkcf2mb9#KcUO4o>{W&$ zZylz}l7zT~gc7WC)pa!$-iDI9%_YSySCyxPb_^x)NwJB^v55%@@yR6>a;4!p~X{-y-(2mV&kRXVve&>i?`oiG9J(T7+-U5Tul!Jl6P#xDkrvK`T_De?;T{u=MQ+oC*P;?L$#vYL=J=+9| zK7zv7Gcu)TuY;n^X&C#fOzHXBNgMVsb_Ezwde#H$AAOL8u_&3+vk{=^EG~>?$dsN< z1$8sWrpuI`Jpzi(*uvQ3GNorbLE%gd*lwB9vlF1`j4h0PAX9qw9Vq%h4r4#al%7Rn zO{6oiFcu?IdZzIU*-MI}!?TyzqC1VBkUjrgCsZT5xhmS2-AwJoKBZT7)1p&|7R(O0 z)@@Of3P`E+Kl%|9)WE%y*n&zJ(aET>42BsM-O-F(h^Vxc^D7L{AgG^hRj3GhT&(_@_t87ipWW2R0 zC&U8l;@Y<|yZNctz%AYL3LXAYXM`{V-gk4#g7-E~72rLNQ-8$!MNaMTVJAWTnPZ>$ zuyN?Cy&Ss-l#s<8L?6BH|R1E3lu=(|Bi8crd0SBFG(RPoAgoFfGfE zV3zr5Ao-S^AVpzj23R>bw@k|Y4BrU#L1MNZS-M(@?inP<6C6V@Q4dGJpO-2L;HS~ z2*Wqy31Jy{3tw3UY757n_F;X@u{v6vXfuHViSwMUgGNorNGbFh*xq!jn z1)5I*r#xgT1O67I#DJ%vPp%rm2I5`FDW$1rA!QC|YI1j4F9zeeyX~eP?eu25Jl@O( zI=cCh5lX}H6x5Z42MotlfJ&fpsaeT3Y8nbd(M)6u4aYu+@Tt{EcHM=Tc*fun%}11; zk?RO-sZ8nFexdRrfT?)W0;-F(DM&B|J1*n348lxMW`vkzxakuC2(yUNGb3N$g7;oC zeU_;@E)uDm@r3Y2R&*TwghJya1pmYwyAW|^KuxGYXyeci&n>*wKrqyVA4157E^bVy z-ZIIB<1<%{r=5N?U}n7oM#DVvJ9&L+Y^XbtY?zHl-HAA|Z6v#> z6UiA%kR}`PUC%oabEe!{MCn;Q-c;K#HbHmra>17^yenAls* zlwy1|vFrt}X|Q215Dyf@fad&MSyOX3aO?;8UZiO`Bd(^`uJu5nY>72w!MqSQuk)cr z?;uGhif3ip(UBT$0%bIQGItpAq|Nn0uWrG!du9DF#MStX%AvAVrrK<#N>7P zc*K|^O3%*uunRJ!XCcrn_^9@RuT3xd7GkZu2-`T0!|M##i;-%03m@5s_LE1zolXH1 z-sYQ)gE_+lu#pKZE_FkoNZg>LaqT zbvIL$T6Z&5I-r~Ro{Dd(Qjw_yvX{D0JppVB=)&ibruuA`yRHDV=sKeG>;T>ZqiPAP zWr*_;&wGu}s@W(^UK8g=8(z8%5cO!8;NoKl_k1hO}V3H+`GkoO?>%<@5ZeL&_|Yc$5Q} z24WzLXcZpV}k9 zCzPS@MOMqu@6AFZ$cGUmDcV}&DDvXaFb79jAZooZF*G7EXg+=(@=X-fPD-FUlb5Nt zU}rn9MrsF|C?+EM0%-^03y2#LUqbv4;>(De5MMz|69;Wbh4&G~_X{%is+_B5ANlw` z@nM}%zL4!KQ~18^9y*|V|E`)|tfRYwY%uL>lz^oWKa^8%3aS&RQjTeQh9>t+?5@Et z9PTh#ayxRAK;uP73W_AFI0i{;Pjhz-ewgt|(x;6Qu-wX$f+9)kA05+l3mwp{zaG}= z+*-LzY7r%1ftDo&MUrzlrs)@&+%K`0ra!yI-9wh7$y*6iK?rLFMUo3SrbzZtNz$C5 z1PO$Y6ckB5%rW2kBC}>ArriH+P&E-((G%}wcr=W>XE~>$Y@q}C_3xz_q_Q>@g5k)e z`CDur$s3h04TP{?P-NjMj#<~H+iMy|u>qyA%74a@v{tx`h};3CYLPS~)u9*(|C)^F z2>I9}tVfR%Uxqe5eZY~o`Qy?K8CNGp5$}!p5#YLh;jMSXCne&l%yf47(#5Wi)HHVZ z;lImwN0_@dmGwUSdHVUD?;if@JgX{Po_-7fU^-2dUyL8fUTsV8Q9J6-eah!*^T`K$7mPJc z%~-NK?0(0Z*4>^0aIAfu0=hdhOo-rn`=ytrY@7$bq!}?ztY%c0P@tv}UKTRIl zx%zbO3nd%Zb;!u<(zo`9Z4cbLHMxHOzPeTaDX+i!*0IKEr(g0Mo>uzYv<A02bvf-dI4=)f=Iu@$8!=7nmmT_e9VmO1U-*toc*It_ji=LoK)#8%TR zOFLRZ)EEEATXfnNgt~U$>g#xg$Z$ZY|CAr1jm&Z(&MAf=#~t z>3<n63`(v@^@L1i_&>OV%L3hJ_WTWb#>S1GF# zFKgr81GG%5g1Ri;A6hDhLTu*X$A!;W7S0T`P<7Fj_nDT~U-B;sdR|u4Qg%?JmAASq z-mlsr$fEKN^}E#~vu`d+nRZqL!!7nU}TH_D@=}R6$)9jU%0wrWR_A z^OyhAD9ZZ%hTpbF|X>;_z?rK_7tSzUQqtEEeMDiM(CvS>BbX`S@O(`T@Ir6}v- z%X_u}Pz7~a5x{lY@9|dpE1Z|r`P=jLDiM(CvLd+@t+?b{HC;YEF3LLm%AaijR6$)9 zeK=u8LcPehC`9tI4tBA8CerHnWO6oyPRtFh(Wr}hOw z_K}gUKAs^m63!82(@tWMKAu#c9;K|pR!CVZ#M=sapcS&V74oc%=zXOh^y7)P<;h!h z(U!P#Wy_gRBh>F5nEF!Y%|LWo;-v8JMfZL! z#=A%dzUj9r3S5e*FYopMs?+kZ2`cKIp+|+D@=d3oCkg-1Rh}xil%GBHZP#MY$bF;6 zin-2TUP+CT^>8Uadv4`=6npM@cXy%C^XTFQWPCvI$a=VxpFK1=wAd56b?aI&&j%=w zlN)3`T*}X$D6U7bXVQ+Z2MawH7arQsTGz+29xml)&uv_f(qHmX#QtcOea+0%#XQSA9} zOV~=GCu`TP7hCIkQr5$znEDd1f$N!uHw~Rx`Ume5bLOFK`-cDs2s>mw2H?U44g;au zv>@*TDexicvD}xWwB&mlJSP{uYZ7H0S&@AOKtQ-Cm&K+0>fR5WEn_+IX!lT|XUnJ) z+XIv!sgZXsT#Ci2E@=1XdgLjCEl=KiUg&A9LxL2x&pdD`zYE;aT#vHm2rfmdNU7i9 zvOOfF_3MiPKy+GVO@3+I*O)fi)-y)dLsI^Fe!=ySZ&0}KNqK#HdS=LaNXlOiHe_-; zlb(}LeDy?odREAKNXlPN4A(<*JB8I#YNocQXTPk6r2O>^0;1E>4v@mTZ@7Qgo}T~8 zdPvG&&z(SYTG|Csn0$K2vG(-zmpg={NKeZJ^}#@NTIzT5XA!8s#{R~=OG&rH6JWR5P%w%3&6&jvUbfYyH=0np>b zb$wj9l=vliTv>NjRybL7UCk`qCXEg-w(YKn=6~$;6Zn+^eo7ZAh5RI$z=D24_Xn2u zQ$*!r+w~w>fBQU&BK1$Ail86X!sz?qtcA}9$^IFQxt#7bM8`1|0++)d#5mMY7H%0k zE%XP2iccsWE-P1(83DhZ8#CfFGTN(}(Ky_gB#kvOu$hfgTyj=UuFX`CpJmL5w&da@ z8BxAb$;~wun5}tv1*1*KHfNP)Bn637+?n7VYqE}2E6Yd>ra9AW%pILGcC^hrrXAJ6 zWm9vkIittd CWedFk literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/NetworkingUtils.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/NetworkingUtils.obj new file mode 100644 index 0000000000000000000000000000000000000000..201eb30cea15fcd64e16e96667a6aaf14a556723 GIT binary patch literal 55681 zcmdSCcVJXS7dAdAkg(LyI{`z7u)P2RTS*{|WJ3)uAq4_yq|l`I4$`Gamo8OoAcCMs zlVS%21*Aw3rAqrfXYRe5y-R%G@BNnVkKZcUv(G&D%-oqXXU^O^cW&yWTCCgW1Jd^I zWUPT7JT%8gBS1L^1TM$z5kLgmAfJttLKOE^{N-5RKlOnMXqoj#n;QP;5-(2|EXRA zb}&{R|LF5?^+N5`Qsi(V{h{*p&ChrLhET%uhbWI>%Fn{{3R1!%qkBrp!4O(OpFz|q zl&?bv&U4CnW^f|Cc|!knO8VwQNDw&^#`|wd|AF~>tpu?jAYJw1F$HWjG_;k??l31t zIin&its4{;W~7E^X7p|Fe*{M-bhXAiZC>QqC|is<+MWQ|Zi{r9V{F#g7-wWmqCK=# za%MqVUUqUpT6S_)T5Fff+CMF2pd%;GMsBHJT3)BZ{DSCV)|}L|*IllnA1+&3dU9cA zK`6PjyZCnu|0XiO5PUIf>!if|w7mQzvnI)wmOro{CpRfJ!J1?rmgY!KNpt2UrwmNX zODIT7&iW51i1sR$7;W>Q=u-2??h+nclJH;xo z*VvCE{oLQt87X-=`8nwYp-tkOhQ{U=WMpLw$FZT-oUGi8%(OhXv#^l-f>hz0YTMEG zSy0HXj&xQru{OIaGN!9JD$?eL{RG$^WskPUI9WB3?JvM)r!zj%lIXOvief^5kl?g; zcd}X{7ARm=o7ri0CD^Ub$k-TGS4=D+W`Oo`_Hf199rk#8jMdI6i|Hjj(^;5^1_@|f ze5}=;kPsQu5d}|h#wQB8rE>}vGmeesg|8|eTuOj#vDQS6OXXC^ahJ14oSoGZ4=U}I z=!iFWMnD2F*#74 z?6mPFqVklGrNl)tD$1(P^XecTO^dwm99g$CLx0t9{ zvyCjoU6>M{G>L(XWTcXwBzufa;&D=QF~cBFk}N~ic3f->EIWZU5y`=xWU?xAR1|Xc zU^W$*r97D)d3#W$idA@06Ukt$W^05Uek!g9Yar???MX_2LeS#vT@vjHPHy;Axn(># z)+jTK-)8P=j*K!}qU=nn;j*5r=*Vb0*<=x|nV4ZYPZ}?fBQnZPuC$2TNaU9HfMml7w`r`6WsvPYQDL&?043 z*^>f?;f%G$Mu|1Ys1H)9t9X*&e`2ZbSxYgss%L6fdwirL(r$aXS|tmr=1CWF63i$n z)+$t%lx=lSrp+#9D^+<7&s3@%l!WE3XL`K3o4Y_#2MP5gpeeieu-ToWa|sm-UEh;qwp#6R&UkZ7 zM|*-hn+Bc?Yiw-iNIOO)3~rLUcuh`-jx$@GuDIB!NGlCcR(oVuyUl&>VREvdEio<* zZZiQi$tD^WM}wcWyTs~p*LtIWWeR8GCN}<8V!XW*YQ;@#@~=eHVRW36Ne0*SUx`t6 zb3z1@{6@2X<&pdC7;m--<0kd2=AK-!5+g9oyN8n&GJ+<~6=BEm@$S}W>6xBDqkU|Q zOKdiGYlMrfAMQzpZ%T+vpx*EjUux=Bo_x9T1Q#5CY&W!_WLip3GIy8M+2UiPn3TOr z#(1eGO5T-8BZ%6Q&&?fiQ(TleGA24QA=>Ojx0TvP<4KK6v_wTFM8NmDUB6^#T2CH% zfhcnixkr~gwa$~7kPwyF-GxqTfs^Wtla`!|UdFP=!~MCWj#-qu#5Ty-F_8|3-R62} zn3DRl(UYy$S|ZWS;$tb|NMID;kp0Lw81I~J!!datjbo^6HkZvnvFU1e zdfQ^tHSYA+i%r+M)7urBu5+iiFE(B8PVZ1`y1|`pE;ilhPPY`BZgQtvi%mDX({073 zTiogPV$-eebVsr2Hg|f*V$+M_%!p#s9d17!S!}vW=_Yh4o}h9QIu}n+y9rUn6Eto@ zbnyf&qq#=ONSYN`Bja4?hn-!H#Hc7%Q^fr^P98lW!DX|@AfR9r)X*{hJT1oF4P6c0 zjXOMhcX+Y{Hzj~mFz6MhHy66yss^ zaXzo&ZkP&Hk{@F4PGe=11LI&va;-w}=W-${iA{9!aEi!5oSYbwV0PGD&RCb(g7|`W zX-W+iN@hoIjkjB3W1Tz#9@mL#D={yFd;nZGW`kx+LTnUfm#)P4NM7Z{DJSP7qTj=B zMGGSi5z5O65wSQ)K9!@IAwoqtp(iE)d~!4rlOv%7{1|Cqrr9JV`SHVek}W2Iw=lu} zMQ~(XSE1zz50K${%*)DzRHO{}CnGzfz?xH-UEsp-QYJ(x;cQ4oc79IEz(}NLBxhy} zPfK-SxF{16>SnlH4y#UWvYYfSud4$c`eTTeQ#Bf`L9NzUUC^70%M!``a9txSBXbzI zjl8%Hoked@*|o$?&dqT1Ui0GVje5O9X;QoLQwOG|4ji182W3sXNCvH1t5T}1u9TeY zl)}8cwCt2&`N^4J*70WAv^KNWVRi}0R2`ltt8`d3Dm_kiaB^x|dOj3*m&c;hn{5`Y z)-^aK4>g*Rl?GBhFEw_H-C?n6?5?z-DY*q8c;}tF7U^Mqqp;f80 z7PC#~%Fj(p$uG#mg_V3)VKzzyatklAPU$e2F~O6O>7W$K+`C0lIIB`=GNMWcyHfKq zP^UZ-P#bzF)|kv1lR>HaFEoqRX0+JMsMVsvLR)<=ZAz`xpmV6GnQ%QnkIME^OB!uT zt4XDkD6SzX1;cWSt7E;{j*C2~V~OBhc8eYk&tSE=aCs~{EmJy0??S1SDvL^KGP(LD z=cg6qr=n2a&8gDawI-uM?Mlnb%gzD8+wkoggITZFco+p5mYS>>uF9x&7_>UQ`wX+v zvQlz~xyabOYs0A47|^5Cp4^-~>Q3Hmsf$(Nn-W%|k~qfVI69?Duf^$$#ZiIdecnpD$!4-D?Jl?*v~)3A944bq zWmf840}Haq>ZnP)ZNX$St1Wuu1izI{O1vF}oqD2Cr*maxWP>AApLbbIdcD!0GFnKB zz<9}ewFaw6kERz&n*z@^7`cUcwS&Rn&|2;21ww9Q!^M%;pDaH-L# zwpe(@7S)<}#oDb7tJY>vy81(nkfC>VX&qXXQKhrEGIHD%;mtAHv|5Y9VsPaT%TDPp z=<#kKqZPhWX;Qi}vT?s66A?gKs=)Lfg^Xs4Lx*f7n<(g?mzJC=)`$0bs->!DbSh&pEv3<$Y!Vn^cFB3@Ks+4M*UZ*ptTo}nSlLw0xtMoE{ol;{o*i|N% zP^{dXoXpI$e#t4MROsQ}j@qhKs!TczR7FR)x!!%$U{YIj2EEobAg8ZTO7AAa_^h<) z>=uzhoyxl#TlEgR(xO(mhU5&sj=AX zsNyulIT;1RsKX1?msILZN{0$D0a<50{IAIKZepcFt5>QWywwWQvT%DTCo`v?*e>3I zhDBx3AZ~-d7JP)99q!dW2AfT-R9X?ciKT@XfFCPJ&d4q{j8kcpdcD@HcEQLpDYSCe zm$#LhjaI$hpmvb|L}$*SpwPSO%}SF71u(iu)9{>Z@%+6TQE#znbV@xBT1EHiZ3#BB z#ftMbP;UKF$*8?Y1*^^I(AjlbSHa+%LK+pkb5X)QAyJHM?++ zJ54-$(7X$y)R^JJjQrHIGiiwOZh5Q4U^W=7hz5BK;;uyR3eq@K7&3JxIxT7zam4fP ziv}x<*yzw8w7_gZ@~z&=Y+4J3A+sl|xc*?%8LT=j{B)5rO))3wuo={dlQd${!0@h6 zHDYX>CPFT>e|}y{F-p`9henM_1}PEd4c>KW*BG@{9XvA(Ey0L#;%|RwH^t&nMgPp0=3u zR<+rpbhr?X6?42&sl%j3t)=8Fn)Y}X(r7W*?Mee|E3+S&jCUcGG-@DNc4ZDv8=8wD zv>1-TX2HbAs&{2&!NI5GWP#&dp*FkGWYxlkvr;kyx8$9ZR&CQ5j7Ee^vw z)x*O%9H?}OLzd)i~JzB$+mz$EBl15>Z_bFKn2AfW6Hi?vC7%HpIY%psL#K_JkkL6ud1L9@$ zSAl^jfUM4&qcI}z(qS?NEy)y5fa7hMSYDx3!Ze6ej0&Y*Yqc6MGtcjzmPz3oI4{+| z*#dW^R8k+yP0OPRt~UjBZ`bO~dZN%33sAf(#iZ7%bxOP0)i)(?Sh16CgUw*F*{J3v zhIc=-n$(!;S(UETe~G}XNHr;GIETypmuyrPL>X9gLLA{5g7?|zEmo`1sxphMQ(O~U zm3p1siVFm&*5WT!7)%C@RfP)?)WoUOeBO@RqBB|$?ZAn0*Zwbqn^L85Ao##|A`JlE zW}sIaaAgMYx5g!WU9p7Sn(c?0W(mff@O3p--Ta3{t;r%r>K2(YmU2k0u zl|!eoSc@jsh_~`m`a_p@Y-Y0|u+(bI?p!eiPenXeOtw~&#i-L;9SHZbG788cdt0+X zg|G})qUZvVpu@X$5kxC>up?X)8kjvKTWsBzSSFLrZZ>LNSj&@DS!q}6Oz1!;ai+TX@;bD3y@qTFQH_w9w-%+{ zXuzxy*Xh#o1|vh7f_s-(r9nes@N{M659NceceSXE2E9&eQ@RTCGP8J;;q4GKuvfDI zQIU8~$i_BVtS)QD{*0R-wb- zg$WA`Atx&fu>vUGRbsQjiRuu~AiBgg<9@|OO|Wi@$*2)J>EPmq4V4-fNa^x#R?1Lh z;%#phtKOzkI&?0C?yi(9ESRHC;yw1LY+4hpqFBMAk=FZUOge)`t3#*(SCN`Cq_}RT zH)<>v%uz5CPEO@c^rgnL8!?hn_?E90uGDy!0#_`JCX+?&8kAF9XoV{;@G*K`3L3ho z+PwoFoyub1k@(PoX~R-z(O_|PqO&>dxZ>a%HaIympL-dwysZ&op2=jSt}I0VFI`wx z8FBg1;!wVHJwGKkm#?B*h#R5O+N^l20uk?#C%{Jqg;1ijCW|Ku>jd~++5|L^z>rpD zaR%-($D46iC5qp%AqCQ!ES?;N1rv$pj&^sdv=ob{(j6Cm!-ZC{(6Q1QES?&NB}v_4 z<8AJYrNvjmv1V6XWOsX1f?Kt;+)7Hu;+)uceshIXOG~VHYHR{JkC3Ibo=P~1ZULdV zSi(W~w&^%&DHTr_>qA=BBdi1=mb93Pv#?x7S|@-GCa96tQ56wrT^X-gzRr%6NQ{!U$`Nig|tda$le(*@c0TJ zEU%R6LRu!pS>0{%uGsiUtf_O`hO|bCr%UVO;>^wn7^+YpX^9kP#N&n>mKk#EkP0F# zkK%;L7%VF?M`3-SuvW}nThcNq&f?2+Ty9&DYE)Vq<-u`V4Bh{v`jJ*eaSmG59v>GU znSiyaHg{)`mPT=kR9afcc@W3@u{d))_*ktJ8-qKWQIS3Eyj3XCUrcnwM`FELR1dC_ z60j_iAB6>~xZQ}mkJLRRm4RZSSUJMFQEF&9vV@q3atH}@$B+_AiV5ZzYXpp%&X3?A z5#|Po(@MY^AbWzsO0cAo)`W42NT5DPgi<1b+R^2}G9Gttrc{NPic=60d2?41 zk1Z{x(lQRd(3cJ=BZ7PxMZ6m>E5TT;7;VNvVKV4SYF_a7nYe4qjV8NI2I1W6>W}-!x98qBTSq!o|$u& zJL|GVhx4vt=gyiAD(8`c8~=Q*Lm|JXo`6s-Ezg{ro0*Z4T#%8I&HDl!Q{FS92rMax zjql;$>l(OO)r+Ou-jTR{kkG%d01-nrZ>;$^k}-!J>y+csn%ryhil9}S)S5)_a}($e zKds2_Dy+UF`y+zCn?OCm#g|o*0x3N}o}NI|X)}UjZ1y-mf z@P%8%DpAD3Vh1Z062>LQMVn(VVDa_iv?_skCEYv=R(N)ejEzrl=M>~l!%7k}R{FZ4 zJJT`=zLwRUQ?Q#wT`ejat3F|EE?UqNEAW5uzUmJt&t#LY>J zvAPn>SZhY-0JmuE%%q$vx=9`FPO1VITpAxJxu1rcr=`W>l0wp2$$fy+Y_VWLj3qv{ z8!Zp#or)Nh-3-1&kFUWbyowu_OhT-BS{{iN`&fC+*X|Iv>Py@xdq*=?v(j=OGzqOR zayM!TVvMd!UMT8&C~*ic~bGJqjMI$YRN5l8%~g zCa!m&z*5hu<;MAPL_FLPm&gytYE>Z!T+00lYMA$JZtpM`Zt&cRQ92gvi0P4VfM%3{ z7oL)^Xh%%qi=af$M=4mgQ*;mlT^vLn`9lmmSQ{iHVeylD{GoMY>PKLoZMMZDnc?@Dr`hrJ4y{k6a;263OyX=&K$v+EHU2RH4=AkS0rp z@>mDFKu|~(EFr`4J*&%#75h=VRS3eWJ*z7^!3r+}=gS|6a>F7<4M-SP?}2KTs1#HY zj1_zEEKaPl$3j8sA_QWop4H`ub0A#dxJ1T!Jdk@(UQxV-h>Uf2P#o7yUNWq=M56pe z;Bceu(H1O$r`bIv!`gVD%9CvfWSj^cID@Q}7^vwYMuOc*^K-$SQY!3CmMTqDgm8#@ z3$b8+MJ&vwvA8pe$3m0{Gb~CJ9}=W!RVpIPu_#>-9e64Uj+K0R)#h{(7>mhTEoLhP zF9>jGmL<9idX$7%aAL)=q{k9z3jH3Hbqp_WRD#vnU5HL7_~?#>4&wZU=2{y-#QNJ< zny^~Tm=H$eq0>kwo<6_>1~x{|06b|%1?v=Rk%CAXrZ9crYi4O_KO8a-71Scx|38wW z&D~uTOLdF1IV1SvLzF?_e>}zpm*H}nJ2Iu1MbLkw^GM4@R}B&n3{sGT$OqvL1hR+H;FXk>WT!GB~V%( zD;1&wfsrbAAu99VM&1)hQyBdgM>6WZg!zwQV>rrN&BlY97v4=08Cz_N=%9nRvKH~? z!iB`x%uy8ocg0d-%y&)VVX{W?K1_&wFwQw)TzrW(d0De~Xs~Ak{r5w8Jm$b;(;UYK zi+&hjG2Hh^fP=xa5qPYMPn8Kq9}!>*E$Io{R%DYLQbw zc3n9@u2%Bt9B6>bq6dcfT)P}}kPC&Qb*rF&g%UYX76e*lO=p2~rabAV;4T4_22cnf z5vPH%KA1ZlS8+ZEV@z-e%|8p0`$>~eC)Q)Yz=J~uK}9S@|K@lYcrYKS!E>JpVN@<) z?xN9gui?17e5~qr6`*$tzio86)P={?(7%F1=mB%FzqznBJ_=EFFn3e`$w^7>Aeax7 zIGoo-WgJNtOk5~MTtXsE;t;n{l~h6|=oB4!u0*5DZeUTMN>f4r?Ua%2qMHDSrGrCm75#4Ax@}=LU*gx2?vS=j!0oMecrHFT48C)jF_yNr$}bS8wwjRD3G|I0=h^HJ*pGT=UHR{yx(GY6R(=! z`7tLZ+=2-v;0meB$@Q9{mtQ!eDyJYWJ`Jlmu=v!PlNXVi7gLy(hBfTAv~=7_&*z1t z4$5tqs|%qbC*X3Y6TxzD2qmI-i7_D0VGtO6Fsg-g8uN?oeKnBy9U4S@#G&YUh&*l_ zGtc}I2*ya1(= zH|fSRr(dDOjvD~@xE=;u;h36^hk`u;{VE%}T)DP(?8uUMk2n0)k z15H5igUM5H2+c_)V#l-s3+}{4@D;j3m!-;)`~xbJ`YZ)fC_+&rTLqI7`kt_zK zz=PhnN)pVcr1A+V0>MPP+)ZNXviot<7>5E&EiRe{#c9DImr#WMIr-Qe zrGRHjQLz>TRdEOwBM=;-90~jkXzUWY0V%IUc1(xDis<~v zVcMkm!7S^hYILAz>T_!b`FBFoAJk9U@03_;CDZMwO@2R*u> zBMy610vd^;;;50RO(@bp3EaVkG~#hL!cX}ga;jdF;v2?71J16yw*SfFO`AJR=~tqD z(@6Wg{IANi$t~^q}T%TT=UTYZ9eQ>|sf&M3hejdTtRnGh6 zx6zF&ess0P`e_{^wD}1Erw5*^e`HhZpSP?(ceFvey(wcl6fiX4!usjTZw|e?Z}ey9 zMzy>bSiAf34@yo?iVHp5uU0=>)eC5x;hcAQX!77@ox7~=ziisu!=}|7)nAjCf3fYv zQO+)T+ZP-@0(}QLZ(-P!@?YGVuxiQ9Zy$czy>868Zl^z?ds9D z?xGE~$9-^N(EV=j9h$Lqo9X$*rTKFXV={!zfY82%xkvg|d8oHO4~gFJ&FEF93vYgZ z#ui?eHJ?6j!uO{3==z-Jh>EaVx?ZfAI%~+Kv-gL5wQe6vI552GCwXTZOjz0}AN9A2 z^Xx(EE*`p9r^be|RjlLN*IYiQ@tdCyw$*ApbiyZrZGP*Fz0K}(-Y=~NFIN2+ofuwy z+>EN-|7f_fVui#0<~^TXT56l~*RS_JVyrzjg$fN=yr1Ij&4)lwIw4uwBewd zcNx3Pd3#dp+*qwqt!)!{{8p{+SAO~Xy6}kWZ#OA3<66~+w_aQ+gZ-+|uR;SZK7Pk# ztzk)N`1AfwSuw9QopozzaLGH7w=x%OU4HXw*>Q}$$$9!`fgc+-ecd7I!|)d$t(l~K z-~a8Lpe26w-@DP}t^4=Fo-lTp^JW+P=A7DR{+cN<8HLZnc10Q;T{@)Q8`&uRLc)m~ z_786`Rx60|O*?)nWBtvNi;r*XnG-PO?zZZs7c3n&XioFRZMVP8SSsf=U-bQ) zf)iz{m8$VtjgH?WY-`o=nmR2R`;zk(epA0j?U>wq^{**s{W;{x z#$z+<`5#|ie%kB#Csw}LzYFzJHJI|PQS-xgYQ-CiDn5@;cYA*H*Qo6Wy07i>X5aGd zf8Mbv`>!_GLyq&Rj=ZjJ_RaZ!S}#C-PGP~5ZwkpPc;k*Mq zdi;^nZ2Mm$n;&b_KmSCN{C(f1&&lYpd|vkBdFOW=0H;|g%J;;|)E-BT{j0N+Z!FGj zo1PF=upwYmTJvxAHrEFIY`^7TY#Qg)-MIQvvz)&cZygqxT;|IPO^$Bdk!M=cZP`Xe z#j>?(-h?~8&v{B`xm~?C4f}H4vBf3kD=$QpoAiF<2aEkXHkr9$^_ZGJ*J12+1?4;O zc%@spO%|5^{_%*n9#3C5u9xH9hkK0!ZnbJQVCnHsJB(*+9_Kke>Z*Hqx8PZpNi{HU zg`?aD{@eGJ+1#1ccy^>zoa(@vj9uWo(9)3y@0=O<<;L*k|FoGf;){wq4Hxcz*|g4z zIdx3C*Ifxm{7{mO=H)z8$9-hln7(jGbQh64*%MATJ+3*-5R<+y?O}e8w6Vo4RBPP(=t1~Ou2zC zX5LEQn6YkhnOeV%VJ$&^?sQy>|E(HcT^>rSjdldOhT~9{#s$ zKA5nfhpOSah;o^&mA9X)Xc<|mX~>Q#L$D7S=dmLNAB|lV7Jm7UgLMa7ACU3=rrh+F zNlYWiU#{iy?Gn~kcleDvw{je3kdwr6X|hbON$ z!k&)UY%nxn=HN=Mdww0h_^wl_)A_$P&bjl^fR-NxwduJtr(v0nn#brz*_?OvpL^B* zK6T;3vo2%XoahyH^UAr2uXmX8>#?e}caCmxsPZ(%_HthB-KU1vpLMA1Fx_s|j%3Hv z@~=1jrp@WOcboPoQK#>rncZ-`sXXPowcoCqZQeS$e|GtIw;vekY(M4t{o#k!pD6oz z=eIxp`pPY|hm-TJRnB~~Pe*mxK7mUAtg2^nx4*ga)<1duei*y@{Q)`a*41O|9nO2> ztueK4SKCpzX3_DkFM@{!jsNE9xg+1Uy81~$^6`K4OC~aQlk@J)PhV5L@NB2-B>%tt zeyBBk=wC@6b^QCg-){_RwyW#z7PBzEVHyShQt4>PXIl)HB9boEAN^P54f#QP(>gAg zF=);Eoo~$8y5)DqMsVJpKZd*>{rR$`^QT2EUsCN#V)~#@-}QfY`Iakjhw8jLf4 zJk3S(()8Dw$ENOj)C;z^it{#He86fC?cDmu=ewhle;nBTaDMus{P8U|?7Y$YV)r4t z5mw#eyz-~?J>DyM`r_Q4{qlOvdMEwJ0QQKj8~e`+^|LG4k2?Q|y#&#hLIbW(_^ssF zXRlvv`)jA|%L|wHirp6Q@Vfy+`?OrWWv+H-G=it`ocHzEf{Vv4&CFMR-)ySB*~o+| zXU@#8`7}a#FyZFa>Q4{FF?NOXF5Ld6Tk`!6j%@n!n083))23zq{IvYG&P$sfKi~Ay z>-SG@VoZ$?F*Kmg^%M2}-f{Wl#t~_*kz4vy%Q$^)WbJvoy4=lb-{oeNjBCi3^P&b^ zO?xjOwPW+(bIbQW|KQH{3->>2`Dfe3+DYoW3;fFUX6y#%T}&M1Xmi7PvDB#kA6AQU z&YLuPc&V~4b}idGDE`X>>L%#F>dKVwjdICTulRM)Pnof?-0(vyE`IXe=U)v}JYITs zxbdND*iUyETg-V6HFGZ~B<;(+Gq%=SKmO8Pp}R6nnW~sJy}LbVLWPpQ!T0^jc@=lQ z-k|FdKl67LY<^`{97wOQ;XO9#%X8NZeHVQ5{+~H2#u`_ld>7TJ5#%r((^u-eJ81B+ zR%1sb96Qy!V0ye`cDEYpPmV_-)aN`)uAzO4J*J~4YnJ__Lz#a4Ur+yGW6yqz+qKJg z{k>>6?n$uEId4ycol*NXSXSj{O#XYu@;~ARU#aYx0dn+&~8~2v0QoeVi zvX)Kxz2Iq7a)q|)!@156D(>8}{;k{1`d)j(>@uyd%UD0o>wjj#O!l6pNvoY{Q_7D` z|LgtpeNGH-bS^C{Zr$!^+ilp?`<&Ol-l*IEoXMR#Ir7MoW})+sfByHBraOK(u;{_b zg7G)bG>O7KuAGK@YW9&6-f{OU+k|Ff*&Dp>F5WIQ*-H;D8y-Tlt*1)lD>*m&*TU<;GK>rxX zd7P$)1{qPr-lBp%#jtbVCl(j;diHg zwB_6Q3h(OM-yEBRe$<)s5`TOC=HlVwZ|?|9U;X!lkb5N~0{U(_{_Est2ODhDr}at3 zzObCvx3+)$h7GE*y19oozEQn(`0y)lJlXf=v>zsI8#!grQ{4Gtzj0p9%#G*zuZrzB zYFz0OrOwp4YyWs;L*vEhnL%|sO}4mH?=sc`bEMFK@8%wly|la3C;O}QzIP`&bxNhP z>8x(Y(u^Wp7>I_rL)7pckJ z$k-vyD+t@tZqliN3y*x*;o{OM@9n)*J+Ne*h8NbhE3am`{WiCNpMvEO=lyyLPHp`-*3lhaK6mFKE}zOCL0w zr(~=HVz$tLz!JJ0OZqg5as9ri-iRG-_lJF2ZS(C-(@xaC9NT;3^O+48o56XV%eFaS zys>%aS3h^yzoXRs=WCChIl67`cderyC}y31Qm!>)=Q(fV*TJ7o2wJtUf;sHlt-mQ} zg~oI|+pzhGW@pNluWy*}dSC4I1)qR%A>MqnU*Cz(51!sU=+TY+^S50%UN}AWo5M|h z$>=q%dyhRBFF9}WffU95k%w*#8~WFwb6f6Jf3Wv))JKlrh8)X_8&dik3)<})&RbWu z-2JbwXQgy9-(Iq)U|HosX^+w}FWl;VzsipY3m&%_KcYcxi{bZ6Z*O>m-B@8_Y%u4!y5>F#&eh#1{A^gM zaUK3>_1TpcpY=)pZrqC@8(ZnsBNj9EDd&ZM-16@^_iN;+b4IP{aj=uNgzdTUpMvBi z6aBxurun2pN6bU(Q@$eyeQ>eMSBJw-E~l~eVbZiTDR35!w&p>HuJ2qLD&VviGOn5*BdVN&H6Z`|J#dxc=}zh-cRoBy)*OT z^6xKS8#{P;#ObuvjJ0h*pz%&(GK~eoees9m$HcSfdmhnz2<{er2Mzo(6 zp3uET=ln-ccOGmM@_Krb#_!|!)Ow?}eGV~J<2B0n;GAwBD=b}}S7~!)^|VK44w~xh z-?@xEzjbw8T*<1(Q_JDnE9dEN+#38m?dti2af2(H_O58~Za=?M4d?jHZ}a4mtKsl> zf5YD1oVWVDCbcf6?^#{7)0LFvN6mGn2TW-7xK{m?g`sWg_6?Yr$Jiszdvmz|#eJV& z=-ag3;?K{IU2->P?%(r+2hR?xIq>kVDkXn^9sU`8Jv5-fo|48par2|UKh?F3 zt+Jxbg|AAxYAzYnyw!`i_uDfzpYvuMsC@J7UVlvM9a}yoy{UTAnu+PTk5){avaHqE zw;u(ZT!wig=jCngln2*P&jp-!At3zw1ZZ0=(pK`F@wUKSctZyH- zIA+;`+R2FTVKay$hUWBJaAeo0QTNBXbYC1eU&mO*5*2Pb{j9;5yjIU!#^V+P=bai< z;p)T1OKv~B{ryN+_tR^R<@Dr2iTFXfBZHZ;ELzrTy$l2s2r zuxZ};5&u;=qij*MN~Iz4&g%D5~uV<$Op(rIJ9VcU>-hsQUn zAAI1uLFRVrzPs_F$0)z#tpoeSXfEQKViU^uQH4HdM%7u`C;j-Jk&j!He(e9_=pUl{ ze)@DoK!fEeSN46*STg5bs(89dpYT~(UF|?+y}`88M{Z;;Ib$LlAyO;Vjx_7l(<)2NDwAX3h_`tJ*(a$bjT)&~pch80*-S%J+8l@l#dWBR4-C@JQ49&!M%R3|SV^ zzq6*_FZU}~>TCWm9rJz8vj^>uTp4I6bFo^#<15ZSop|z6t6?Xm%-Np#?dF*!KC%Tf zc9HW;v+g}=JiP9??w4!7F-~*s{M7<`gO6t|UOp#g-rF@BMh#-DX*0_AdYzHCqZ=HZ zFiTZo?O~Vt*SBUKN$WVzI(5L!C3_NXcY(iulk@hxS24BQg@_lL8G|P$-&J4Dd!$=< zwT9pJZ<=L(RC#G4;>iP?xAV-JbqDR)P5#=o*1mY<2eE(DJ6_oHLFl!@>mwfyziGLG z717Np-!BJzxGtrpy5062%Wrr7>Ga`;y?3;2d2dOBw}zxY|DjiVv~O3=TeosX$H!gM zdbn;adOhgzw#us0^?I#&vi*zEv#VEqf5vBs4VH7>^u?>@cYP=R=;THNd(P~adFX1`H+y)Wfn~w@o%1SxleXc3|6iskXX1m=6&H1V8sDqY)@91K&p!Ckdh|(L z5cY3JtP>h=Wd8k5hc9-wb-O$GLI0hlD|dUdmq! z*VHUs*5a&wwdXAzy}eIp#mgzG*oXU1Rc|&4W7~etD@?upp!bX5JC$6@gvwW!tUNYl z+OUmmq_glf%U2`cSc&s3gE?zxz}M!qr=MA8CWdFW93S}3`=x7+xp!>Tn@4ibO>266 z(anv2VB>4fyKOzZrq!uZKLxOkD=*Y|H{1VK%H;c<{;V4Q)xMm?&TDq`U(VYc@A%tr zzUP6YfqO=(wU=fXb1wc-_KC0ntId;ZX^PDpwr9)QCJGlPy zDb0JMeJ69?&$}P3-MxNS+1R^1Oy>J@hxN%EyywU6e?%#7etCXnofW9(Go07d@mBYW z!wa`fK2xs$v$jXBJ*k*)zj%G)khvR@8y@~R;UHsmTT#B%kH!a9?e^CAz4~Q}S&2O= zpGztn64Yy6k816|*lX{R*oU!P&g(lSp-bc!wFY$Eaktc``g&pCXxG1c{J_+@A*Y%R ze0|Ji_`kiJ_t(X@Ce&{CyjAtlR|8hw?|b}r=h1P$&(P`@Z_oZ>^wO1xBPt-a3k~@7 z=XI%7mTn)zT9>FfZ|=|&q1zrb`mBGI>wDh|>@!SNwKrouIIqg!XS>VoYXBdnuhW-1GB%3yZ2M}xU;V1`r!U4J4&%HPd%wFqGyUY9F+=ZG-E(MF;ox-#*9WY9 z^TD+hCHgJuIc6H(>!GH64_!IU4`WT;W! zG^v~LkYi|PJW!mZQYJ-W=bXaSG>GBKa5bKB#CK9*RuUeD#2zN${e9JgJs{-U#rUW) zzkhOGT51yC0pr!ElJ)}gQ5)(E&xZT11Qn0{S_D0>;EfJ=GY!3KA~Pu`KZSNzbE)v3 zGASeXrPnz4+|(W$(iBq-NkuP$=$esVn4B4!P*9kfk&}c?P1H$NJV;!K{UwJbb+slr z@w|S161`U=Nu>?f=)yH>wMv(Sy%e~qy0=smcdjWWv;Wc9@pQ58O8BNKuRsm$DdD>s z_l{(~s}i3R_gzuZWF|hRwj9Dut+;I_^49!dMF@_ zL)Zk>M~!e-;yyOMEArgf&UbCnCVxI^DylMad&$xsvp#ASMn>8upcqB3&cz8EeiW0% z|Kixh8gTE3Ta3C_S7N?}?f=sp+-|>^T>dYrMc6T?7+tTfPOu}-|5N?&rykoF7n9Zh zQZ2A-VS6**^%S>{-z(7S-Y&8jU9Yauge{$m$>M*kOgL&`4^=_c|I<(oJptAY8P8~^6hSYR0z8-+7#D!T}9h0`L0X8zoqZ`JT@2g zU0IrY%T*tBi7iU|lhFoquST1+-?Wd~U>wrMP`+!D_O|m;Q&D~K&GvlMMsA;P{^z?M zVehb4rRUZ79ojw7_Y#Q{1K$-%J2LyOsc4&P-*w^i_%4M$YLdC;VsyQ_FOvI^Ab8PMF%(Y*cZB$^r)bk_-*w^o ztoY6;-*w^q@(24GV2b@!e6^hKg?g1&ID|dEeJ>N=M&Cy@Vm%2Pll!O(Jy5!>?tX!n z?<&O?mHDnndR3W^n#3BD_NDhx8|n=9j-6zE)FYM(*J9~yE?9lgC$ZaYHcmSD>gUSbrsThV!I%j`&_%6ok-w ze|*>EegUQLs!*tGU*`zi68KwJd@qmqk{I6=@z*f3EN79|Cn0jUg*E6wJJl7f8zsVv7n5hVq?1gRXyu8NX^ zl@6g7hS0I)MM=SwkU#*Y6(t4h2?_rLdqb2IY#5}992+T03bqsywg3Tdg(xZ5XOOTx z2e3n;q+q{7!qyqUu85L?1wa|Ls{j@xN+=5?Y$X9qD@qFX1|)3r0IaVlDcDp<*jfSD zOi@y>?U1nT0kGYoq+s7e!sCR%&WVzO{R0Wx004U~N(vT+lfWbTz?z7Xg4rSA@p)j8 zqNHG%kns2)uv}46u-TA8IW|v}P!>pdybiqGqNHHwAvNIGMNz^=qo^o6`V3wfQBv@| zQt((ZFg-Am6s$KSJTeR{S(FrPG$cHx3v9e7DcEXAc!U<%yP~9EUqHfRtH6$ml7d}_ zghxt&-4Z1QD~kq#83GFtB?VJK!XuWzbfTnSiIDL4Bd{K#q+mlJ;gLgNZ;BFZ0}>tw z1hzty6l^afJgNumGf{$VKvHt-iYUQ0U>GWn1&NY^HG`z)Shy(RB~6et9CM12f)zs2 za%`9=p)8Pe99tnu3ic@^J;x4;l7d}>WZ>9MQBtrnFi0cEDu@!=2ofGA#ChmNNx`~7 z!d4H!dWn*PjfI5Afq_jFB?WsIQd^E~5+wyY2?>w4gLg)h6zm?Pb{u;oN(xpD9RZKG zgI7zG6s!%T4jgMQN($zJWae0kD51|l!XvIYcBUvP*d9n$j(sdjuv17jj$ITb1@l8^ z!{etowuC4tSYt>Ijx`r01?vF`k0*lHTa*-RBBTh8O%){tTMsFcW1B@u!Hz=e#Icj2 zq+oX;b>`T8QBtrP=;Toxt0PJZW`l&sCy{T2D50-His4wUC@I+6knq?cc*{je!M=nP z$FXCgq+kyrb>Y|(QBtt_a3t{@YbZ+a5s(r%7AZ=|7m|}>xuOIg0V$DV^F&F(c0lUN zvG+wu!OlSH#dvvpqNHH8;lO%uEL4;ftR1AD9HU)RNK&wLNWC~VK$H}0 zCZr^ey(LNtwhIy-dqur`AW91M6Qnmd_KPUN4&WqR94jG83icYLJ{)T-N_hVfq-2hD z5+w!e52-K5GDS(jra?;K*ep>}uq}|VRRPMfU6d5;IHWX=of0Jl`x6o#p$G4tC@EM7 z9CkmBRS_kODUdMSf~OTFyx|K{2FDUbNx=p|8o;qaQBtr4kOp$>ZBbINk051oY@aA8 z*f~g99J?S&3ibk0Hpc=mWRQe$22u{knuwBuMM28tSez&+ST>|V9Lp0W1$zrp9>*4l zl7f8*DW79|MG5^EQUS*V<$yP!EQqu!Lh$Y3GIf#awNy9h?0V7A&ugg zQIzm@1xTYg)>D)eY$&8L92+4@=;x5ea%{OMDcC+p<2ZIeload&r12cPBuWbA-vIln zaIB;#q1_-&TUqNHFuAx-7j9#K-T?;uU% z*iWK_SOwB_jy)G81*`QM_8sC_JyBAy_K;?B%qmI>mH}xN$Ff98!KOo+&9T{{q+stu zn!~Y=L`lIeLVAm1mqiKn5{7+GIaX4XP%n_?ajc0bDOe{+^EnnHN(z<>X#vLyL<#l` zX(7iJh!WyhNQ*f3i6|-9kB}B~>}OF@uqTk-=GY5Sf=@(%w1i`!qNHF}NJ}}^QIr&{ zAEad*8z@Q`8zC*{*i2DUu&t2Z;n)sQ!Z;0S1;@^a68sRPl^nY#N(xq~5%vt^ST#{n zFg>Kz9BVB~7%w5M;aG1`LYxh0EyqTRl7cORw2osdMG0{>q<1-XNR$-pH%RL__PZ#- zXE$bS1IJ2;62@*w8#&folwi-0HgT+zD8YsxZRS{(D8YsxZQ;SRwr*Kff1Mh&FZNAuz`8qra@c|Bs+A_+fq# z(DF~+Z; ze?~rLssZkzpd0b11z#1xq#C8cHO4QSUe$q#Zb%5}rmg5>{D$Nw^Udh}F{!W1O7OP; zAkpOtvuCFy6yV8TdJ6-DyaJT4LsMmRQ5loYJ48>1E$jy1Zmwr;Gbe~{^k{o`e;e}NCT z`md%RnD|*?_40eTSx@||psZl`f|*0Xx+Bm7)2)gx!C(R)Wagl z94y4d=e>%8Is64Vjw8Y!Diaw)5WeYr=o5iPrE-!nAOxg2*BAr7ah799UuS%SL&h_P z&ISLt5gdms7y(HN9v=u8)rNp=5T(+5G!U?&hMaB1lM;?xD1EqR8y6&9r+2qlI z*KiE`(jG=%a86@D5t=z-sy!lN{KyDappTdivHboH6+a3l*1)g8OpJ(_9$!6b`ezZ- zD=XmWQn{k((W#{CnMb?N{ zlSJUv6qaEz$ysUKBT~sf1BpDChs}u|kxopuo@3!R26*5jf~q?&kXA8dyjO z^$-4j89!R=pOeRZTSjsw-p!PU&Jn`B8+EoAzr3{k!ps7hU)3XF5dPsq%2V-8uPci2 zONOs|72dNCsmA9rv{LtZNBGIE;J4sSxjXGI!t_P;NIgh_?<4~7NkEVAbf-@IjtAZq z-_+yaj>inZH{>yNKA3Hfp@9DE2>Q%!j4VaKlH6DyH+GN=O>l5;;JdY#Nd*9V`P0GW>QtCt z5Iu~>J{MkLluXS^W9`daj#xs(x~5a76BJIJBwREUM@!DcA0_@RMgjkCKi-E{hoX!4 z=f}s)U%6D{^%4y$y;jbz2MfwA83zcT5B-JS@I7SVyg%i*@aHFvQe6pBFr?o(rcYew zS4mKZSGl^?kyS{aa}WY}MGF!gOny6nH7};q@JlArp%WlbuF@wAg7+CpY5y<2Q7N)d z6a0FCe}4R8=yNV@AO;HM$E12yc~rzuq>y10)hl%{>2n@}P&I-?RZ{{-1Ta1MG53c$ zi2S_2a|I>w7!M?k_M-!w3_hT)V}QRzwU0^9~`G%7xLR!Wt}yxzCG4E zz+9)*347d=(b3CGDlfMC?b(GTuB0(LY_q0q-BRtlgJ=esrt+F&`YnE9T}66xU}SqIu8ca zxnJf?wb!c$RvWDE8vns(H;uDzp{n?2TVn40RbxvJm%gvqHLJp!+_FjO9k8e%H#{Tt z$B`xcUcd+fScmkql)qm&G}gI_dA6>-X;z@=qKIFK?jq%)ARG9(p9IT7D7YOy@qP*S%g2{*n zasUXTQV--OAeCgu9Uzruh(D^diVO(_QdNeu15!%aO2I+Vm4u=)*8$Q=hA4qxGU>sw z1BsF$ZvcswA$dS(qEw`L29Q`8vJOa`4A}>yiwyY=2nFRudhP(BA*2WifKzqKkm^7Z zWk?Gk2<$zM>Hwsh3~>VKE<@6Rc#a3Sy#b`Bj58ZZFB!5DNRkZM1*EqOISk|t8FCJY zONQJ9(np4rz+jOqLuvu(D?`*kQe;RJkW?Ac2S}O>DFl)(LuLW#Cqvc(=`Ta}0LhRc z$AHkJsi<`>02wGl{sxjMLrP)D%aS4WfMm-MC6F8$;s8Qpb5UNsfDDo$xj^z{$OIty zGGsB30vWOyNTCcl0A#QX`4-3!8FB;2P#N+Z$S@gF5kvWK8PW{Mn=+&wkP$M(31p-U z831II3>gDtv<#UCWQ+{i2xP1bISgc+4EYhrco}jZ$OIWu5#h%~8PW*IBpK2g$YdE3 z4`hlA831Ie3>gVznhaS0WV#I52xNu~*#~5%3^@g4mJGQLWVQ@>0c4I0sZ>_DIaXv* zO@YjnaoPfzCqv?Z%$Ff)Ko-c5;XoG3kl8>M$&gh*7R!)5K;D)i$AK)7As2xxl_7V5 zER!Ln$_Y2Yiq5MhkauL9RzOzB5G#?~dwe|e zf*Zn7)cW)Zw={=I`$Mu#7|@AB?mwP+QMm&AGx3+W^ilABX!CPM+9>OYnHJpSkfUKWe_=p3;9}KLb|<#^nVE%=0+sVGhafMzJzRi3HjnB zJP-R;Ckq_1*#Q4O_{(cx zWVgM7_1f0feM?|?{tc`k{NhJ(u_X`!i;!;k8RtgAhZf}pXMwz`SgzD9Jd`~Y_3)!)=T(vGp*p5dhsS%j{9AcE&x;==vyDnPTDaaq{n_-7 zcCz3BKH2yuIWDhH9V!Su{3tG&fmD_uX+T0{$TT1;-H2zc(vd~h;{Wb~QbO*-~?!3?0w4g6E9;ui}AJtE-oGu~p8`StsfND+{xm}TpM36#<>5#114^KwsILo1cwRwDSY$L!6oe}p{?x~%wikMJ z=S8`nP`dmRN)3(=b(sLPJM=gOJv9g^Mo*2WCpXa%@{eBB!;j)gQ6fS={F&(Io%E|F z{ss8YC-J|0!c+PW%*QLs=|h8Wfd3C%{?C7CnYYX3ucTS+vTd??szYbd8&q~JrQ+#6Vc&6{qBrXG4y8%$a&IopVS`q!RVme0 zmwabpAnY9kH3%eq7KCbPz5P^w-^uxM>Yi_MJl%1smZB^2sbskIt(4i!}fuG;1ac^Hf~rPZX; zNuX;8-1P`mhJ zC>*kD3}(Gv<58jFOA~|xj9Q05tJAwnBZLMn;RK9ojRDr7_Ds#m8^({+S=1(t(uA@K zC+8X>JUGh}9R{Ppp+l)XFr(FE(x{9!m$;(?Cz>@@vsrJ@xuoq{IjYvHRCbfaR2VAMgi3+ReCK7C%xK(qe{EUX0j^nF5y8{jyX(5oyx4# zyQEF%IBK$))fPRDhuvoj?Pe#-G3sLne-*ffdw$9j4NLCo8+ht4B z34*hhyqXZ(d4B+sgq)p-k*0P&i;`+m*|IiqMv$_qiaV}jo5@oNby=xcqir)Q#6S~# zhv@;m+c(?!eFyqqr9D_=2IR{MYOk|_AieNJ4f=TYc9FKM@)4|qpnf9!5#K-d!^(0|c873;N&C6~+B#t~v zWD5A^S4}xcZgWOsp@eKP-F5r;2(LJ8JJ%&?aLJ5OL9~~Y*CY!r8DmB5J_h4Ej4J~3 z62rQ7Mv6!3CT6Lbp_JBVM_>*y;Tdfo18t26OW9Rjv}$zfl^_PwM_eU$?neR%tjKk; zrqEDx@1~v^lXiedIC?O&>=}bb8>~ynF~}?Xo3m||l_Ml+-yfk*zVjW@B{pFrU6lx> zXg_k_$zuu6Dk4~fbA0T3);4Jc4_z;ibVbcpAfn6Z7K91pPCOD40M_pKbTz{|5hQ=%KF3Wa3aOe8^Q zF3u-~y&B|=gej4wbq=9>;)W#Dzzb@{)Mj+7ZLO9SnPJNJ+b_ohiideSsz(N@1##eE z*&?HP;tc8I+$;Nh9A*`1Zhl0#%rCbnh=q)Hkfmp z$Y2PJ)@H4OpFqNR(!mC0JGMU#tFg#@u$qB&K6TQR4xwJ7?0_b*h7+1gRSXN+Q39Az zDOuESGgUdE2;nek#<~@B@?8Qk!=iLB9qdhW2=qb;%}QwFOeSGATc2~EA8||*mb^fz zl32U$&5j0y|9jSh*+fQ7D36Gh1w|uJFfbBkVoEOYFwOdLT+WOx3FRQBG8dTETbVeD z$-X?-VNM1yO6JU@pcpvoFlmRI;O8%C#WDrc(Xz2%a(F#ockpigICH-A*GYs5>|QD zGN!fs8ic$g%NeOf$*_!t(yX^2B4P5;X_G2a!vi|N5oS5UJ1X&BO3!*oc}!!S+uF}y z4DNj{!KpUL-k0?YqB<=w##OKHNHyR_CBl_f{sh96MUjodavGX2tsO#=s?)H9m0+B3 z$W?Ucm>^8eqlR=n(aih~BnYes?XmqcTR)*y6(jpv4;~%DSaBA$4Bi`dPoFW&D9yOU z0wBmVIwwtv!datLW^E8;6DF}s!6Ncb_a_i}xj3g-fA(cPqV|rXZt1t)KA#Tb@=zQy ziSFPCHyYspNgT_D{%44IW55iD(TJzWA^7<3W=|;gEqW)1;d~zc$^~AF`U@Hwm<^?5 zGG|q{l^c$5o|Q+Pnt+d} z*;ntby|u~ZC7WJp`zPSjXOf%EuO)=dUmqdnuZmxM%emS79e(}=*1GwK+ul7qw*BdF zdq4gAW_P;9XP^Ikp)WUw{Lc@8zB+$?oRk10?Df6_zx|$Cy4_uUqA%3{*ghQx)*m#Y zCK>IM4_MNA{_j#uBIS9%f)dl^Y`KHz~*sD9c z4ECzl<+t|#d`;fe;qP7@XIZk>2Kt}X`j+~;d2ZiSxJ0TtCDbjaw%N#^!n@0!XON#) cAGz+5_CCBc$>parGTzxVmmk8;?Q2-pf1H^+NdN!< literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscOutboundPacketStream.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscOutboundPacketStream.obj new file mode 100644 index 0000000000000000000000000000000000000000..2c8240c7b4f8c3cf9291c20f99618616467d033e GIT binary patch literal 118154 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 XDgK>=EDK)XZI*c{tW=Sj*P{LlKukJd literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscReceivedElements.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscReceivedElements.obj new file mode 100644 index 0000000000000000000000000000000000000000..d1a9e9ae5db09bd111c33e6710c1d56e933b14bb GIT binary patch literal 130065 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 literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscTypes.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/OscTypes.obj new file mode 100644 index 0000000000000000000000000000000000000000..77a1be9f5cb424eadd026713f5cd198a6b6e3579 GIT binary patch literal 5945 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≧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%0A%5E8m5y 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 afjoSBL*7Q4c)nXNw!flzntofvZ~hMpU@5r( literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/d3d_common.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/d3d_common.obj new file mode 100644 index 0000000000000000000000000000000000000000..77184a11e414dd4baf0276a2e78f4d56df343ec5 GIT binary patch literal 624325 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�Gh>?b5Id=&$tLxf#;X*Clbpw{ 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 B*bV>y literal 0 HcmV?d00001 diff --git a/tmp/EyeFaceTrackerSteamOSC/x64/Debug/graphicsplugin_d3d11.obj b/tmp/EyeFaceTrackerSteamOSC/x64/Debug/graphicsplugin_d3d11.obj new file mode 100644 index 0000000000000000000000000000000000000000..789497ac263535eb3c058a55e4e1dd3c1a54e1bf GIT binary patch literal 1697770 zcma&v2bfJq8wc=%uwCz6)YV0c7QOejf~d>t(U&iR2v%>=dtXElbqS)k=vg(0-ia2A zXy5<6GxqL1cV^Bz&vW+MZ|`saXWE%l?%n7R@ne!^`?_{abvm(?ro81U1v~WV7}_tq zqxgT8H6*@eb?A;Saf^Rat6+zY?fZAi(fHGkySM+$y76s%tKR8Et{;7eU#VavtyHj2 zhj#tieNvWH1urLmAk3$qR=x;so4!*q#WFy|lBB5;Vg6U>3T_n?OVY-7%caG`qFkKAOCHj{+|ClZp)0JSlYD^cxbYV;v&U6t> zH-qUSnQjZy9b~$5Om~OrVwf(`OXmDzx?D_Gg6XO;T?o^KFCQ3T9j1$6xW(=|Y$;jOoIeE`sT1FkK|mZDG2DOm~jy?l4^p(=h$aLqJ?hez%FkPbmnDdY6axq;ArmMzuAxsy>bm2@F!E`g2E|TfC zFx^3>JI8c)m@bCt61`>4Kc>sYbS0Rs8q2fh$38t&YbRkR^ z#&qFK7r}Hhm@bm(wlLj6raQ-UcbG1Q=@NZp&OfHh#dIZ@t{T&YFkKkag)?0Q)6HPI zNT%DubO)L49Mj!lx)`QQWchshXr1eSD`-A9mzwEvFj?E{5q6#beGtrpv{2C77-n(}gfy7}JF_T?Et3V7f@A+ro4QneH6Z z-C?>ImFv+rJhW?%&`%3q>3EivD86m}SxI*n?ALK%zZ^Zj{p9N7n+gehtV!6Ye1(&5*X{nrHTjhDp7YMRuX*B-w=80M;U zy1WW_;RQ_56z06n$ZH9+Pr3w}`u&RfU5A;H%AD5>zrPJ8X=>qgd0X*9L6|$~%y~7C zmpHwT6@rb5F3&=H`@!_f=$tnX=9YB2ylcpdpUKC%k;OUBKdX<`2%D*X|DykT!F2fC zoHrIB<6%-~7cL?GziK`oM*V8QB+VrpT}iv=-$1I0tK`PlIxu~uLp4O6?YJzCpAUxF zARXeB`}IY@L6{S{&FyG}-;aT*kw-XPKhwMqgZVAkoYx+CH(;vd6;4;bvUuTZm}&XV zd7Y5A115U`;dJ$zhx%27xl+)aNBx(ukdIXw8x>vsvLde@%(sP|^Jc&tl}?w}9eGz_ zYJcIJ*B54`bf&x=FnNlZ^IoBi4PdGl7tR;|Uo}tL;)F31=2a=-O!Ks8X&j)Du#e-Fe%HL+d<=27N)m!x_-%sypb@A%bD{!AnyoFfv<$q&8w~0 zQEiw670r3H{^f(|E1fQH8tOL%CTC@HUN_{`h1n{dE^jjGcMc}3nmLd9Zz9Y->2&>9 z1NA!(lck0^ZyfTf!~7{7%@@_YDvNKYZe-4*Gekp}Bhu;W z_Z03f%=yOVyn=8aVG1-6PFKHUa1~*KnmXqdhY6KVmv17OOBIOlbOnJ%3vZxu}M zX3lxDVGc>B%R7VmU4mKnwR7Hin1s!RGv%d&c`O~Rf9~_X`?|e4ex9m@kM#{UD!TEd z^Z9o$Keja2kMe$oc_y7HFUdDPR+?7kyo$&x5A%a`y1ag<-vXHAZJhH;!wiy6mp1}= zvtcr|Gv|#&{i?$JA)W3zjMlYxFjYcDp65E`9*@?@`vK-}>2&9fYV$RQ3A` z?i5Vop2DToFu9KYW=@3-+FAL~18RCN38iq}TK{3D%izED8c?|rPSgGHWhzEIvbFbAd6SA-MUo)5?O6OU>(J<#0y7#N9->+D> z+b_cTXt~?z>bC&qfOMw*I|&n`bnf~Urbb5kScS1s(On;0!)sMwa;y+ecYV+St`5wv z(&^5ZDN*qgFgI43^Y$ape-)k!V536onyUYNQE~sD(SN@<=aq)}Ae}Dn9qLzl4d&H4 z=e*W1pZ{vEA9ZYNnARK2dF|1@2$*|uoT|OI;F50ivHrzIMK>OFpOX66OcUvJd3li68D{eD=De@aj;$~; z(&_SOeEoO%Sc!IvJl*v{QMgJl{iW081)_dqV5aXe*N^gc!aS8umq+&tpY8Rr0{5Bo z`XR3v%*r@Ub$rx8-YJ-j2h4d?zbY^Tq%+lT9L&^%=DY*g?{=6U4hxqY`KtN_;y^5R z#K)>|OgOqOcCYvD_1O=3%V5?V7cNMXHyRZ$bi&7qIwhR$cnibt`<(W%dSIhM>xQy^ z*za_h#ece;s(yX&`$u5PM7y0TkM0*jVLqO5J6&Gxvp&{rY*cjhtAM;cF!9d2oh~mJ zW^Np(s$Ui4?St{TXwI98Iu(N18^@{g=z8)2%$7^$yphQJ8z%I!+o|$qA#WT^_P^au z)!w|A2eo1PUlUF@U#?*Rcm;F*u5dI@-Ffcou$K7wxO;d%1sj#v@vuGT?~B(G-}kYG zVWXnE&OU>7Y=jy0(4FVruY2B)LdH6n5|7Mz|01t5%s2m-^A00#1WcVL!ujF1m$9R|;?}XD`M+`<@FPO*D(SB9!rTe_#_jsQ3!JO9tzn|`- zk2M$@6L|hP?MMMLrV_-L7me zJ;$sHQ#_$LkDk-Cg4r&eZhXt4eiva<`G`E-_)=a&n03;b@{Ys!`I+>e^&ee_ZG_pC!a46QOvaSL>GJ5l ztTar$ROUQtZ#c{<>2&SA1-BDsacbwhBQWoz)8$=5UeYwa)>CX$bp1#5OPki$s*R0` zDX$Go`E=$y8jnse^Q1HN-)}G{(mUtHz~svyoGvdT#-k=o$BgDYYVQP?-O}mWOY`Ln z%(YC;dA^x_tuolC=<+V(wfZpmvY7KaV84xFqOuB?1iz;`f9!{=o6XlsmR&f{=eF+a z1In8Z6ECMZkFLXJ!i45F=h1VJCooy^2&ZfBDdZJ}Nsw1K-TYgQynHaHq|=>`ZXqvz zK40rjeskVonjeXT8pgwx$u)ItN(7xuL}d?B3fK7JG2Wthpu z-A;A>?Tfr@PNPgNiTz%Gdf|CE=)_RsBcv?-@+C%I5mf z`+mh?{HmDiM|nkH+DWHt?|!)cFr})R^D4o$gIOw_F7Gq+Ulh#tYUaEu$h!%XySi|? z@hyzJsxbX)IOolWxh|b9kFH-n!j!LN&I>{PI>GFePS@UVkarrUKpk@)tysFbAd6<()#_Uoby6cFy|~CVms)OnIqc?ntLw|ET{G zH}$o?!bU}xXJP&|f@u`uT)*#NewI#`NA3L`W@0nvye%+yq|@c?M&5rgzkThTcLOGQ zb8~xX{^f#+-@=?npQp(SQ>mqJy5}JDd7u4c+6w1+zH~na$$|ZLfEg_v;>Gog?K#MJ zyzmoD=Jp~l*(YavpSUa*sKYRyg*orHGt7ADbo-_E!DhhR>Ll`X*H_mtP~Ua-wOVv@ z-tX@)H>A_;_bJ-<2qrQr;?<)_vXeQ{~b5Z7vtxuLMk(bh^BIsNZ)m?FT#OjfMG5I$a*!@1KB)9O9gJ0_KBs zx;#3+B_E1)7aJARd`bKR&L7yQ=<;YjH-ZTn=A1VKX03F(JQ|O^Fn|8&ocAA0-r?r@ zQG36FNj}0kuQW_o>2&q0fcg!A`F*5w-W{0K5$5{Q`j;0b{V3CUSnS$U}B~@=VhLb=Z@G+^`r4^ z5A*E|=e!v(2c^^1kNWQ~n4f2w^E$!(2~%p8+o`S(zDNDq!CaXwobLI381mB1!SiQq zRCLdW=>4emFt_KK^XUD6Z1a(ajS9^JRsCrFTLE)-fjN)rmwlnHH3l0MUH#r6Z#zuX zV&}XUFwK{k^9rNA<6yQgGv{?gonFCwvs^e`d;6h&BVb-fn)Avcuh9g3!RfVIJ-i`%U#J&vxH^3KMSUeqU?C5#c=FU+~;-x<7oa3fQQa>Q@V< zx6--m7Y_l0V7@;p@^r@=otPiMJUA{KeRcPrJFf?RUiyTuwE`Oz-FiUl^8uJWr-U;d zZ}(x!oi^uHKwe9jxqq7T^1FP)0u>xk{ zGv~ZRFbSWV>-PwG>0lDRaLy|L(@i>E{iwY|VS4^+&ZFaZCd?J-ba}LnKZ7X}W6q=F zqdCl4>2!IQk+&CS!E5KdgD@H12&c=thP*;BN#2_CwxWI|VV+2*yDs?wdBxxPTASaC zyhQjt)p@lAe*O%m_6Ol~>%lbSb%A;R(Okc}$jfQ@S$(ik(Y2S>(+HTK;|Zrbekt!y zm@M(lc{Klu!emL{oL3!YnsmDQQQk^&pPBRMx?~4Ta6-3JT_@7@WJ8!%iQG;#9(12K z66Qf1r^=(xKPUI`v*!4j^XR^8FU$w&Pz~jE?5}vi*Wb_D8X)qhUsUz0fuA3PNf{`d zE{{GJnHlCzkU5X)_a97&#OAzZ$g2QzD~UOe>h~I^LQ-?y4&>E>NtE22NAHWLhv_99 z%~REQjKG023npV~k>`25d0v-%4Kq}_*#5JA)VCG1t%ljI6Yhe<7?wnT;X1;W~yiLek57RM+bKV4)chc$dnjkM}PCu(d zE^{8um+>%vONU=m&eLLe;T}xJJR* z%P{cA{3Vb1G&LFD>$_!n7)D&MS=ej)d7Poo+oi40i-(N;&7eZ7}zx)8)~9zQ-^i>kqSBI$e8f zpnlt6;#G6b3x;Vfoi2~AJA06;ZqAzmHw-3u4dHb60rY;#*D&L231_-4ISlheIy6iB zyy*>0uiEZB)%6hV_ZOIJb=}UrZg^e~WvqvF2pbjMe!Jtfx-i?M)2+{R{c;^9xS{iY zJHm{YPPgAy*zXLO7t-m*jo#PrX@u*S#$vy^b&~R;U{W>_PM4P-d3j)(G&SeZdGLFf z6LFksJn~>iF)*3GHs@7FUNx98(&^3%^m*VFFjrfc^XNS2(-Py0jfyUh&in0P`hR22 zqxVVX!#s=QRPFr?dFfjDS(#d!^Lin#D$Hi-==f0OeS^GbFm>CS^XR_^+8<_JJK=QC zy}QF@YL9*nHRp9jeb&Qd=-_s$`q6bsWtgarZs$JU+|N7LBJV29gfQWJHSMMOas?(~ z7w5bJFqfp$HZe%64I!e#cTpXd6#G{VpN0~-~@$2l)}x-&3u9b7*Ae!@|H zR$**Zba~`T!*pc0o-lJ5ZW+u;hPw#!*=XnbC59=*aFt=cWw?PbOBrqr%ms$K0TVRF z+>V0i=QJ=?mCn6x(C7Kw&xM!;l{(H9V_-r$FFMM)B6VbVYURNdH_WV`%z1Ul!30hf z&XkuG=CyRX@oj^=tkdw^3>y{Q_1`VLwgP6{bhlH@KWgtrGBeEen+2B==9f55m$w@x zXr?*uSL9`bIUUET^5{C}HcY8mB2V{uq-${9U~116PS<~f;QGS+6UV9MGaYZK=iqrU zHY&QjKk-_wxfnNWRCMS4CRpHW%=5G6&38Lhd;1~d5lq_!!s+HSoiK*L3|VNdAB}G$ z%nRvs^KTxU&mye5*rsJeArgXacEkfREnA%It z^=l5-24<^ty5ob^ziTi%mYM5U9PSoOy5+*@#^V}XNtiT|&Uxiw`bnqDqvQ7{nD7hoHq$(zjV4hYVQr0KQ}n%{RdNMqj0)BT2Jf36yIdd`x>ql%x39yc^9z$MZ>J# z;+z)^lP}6#ziY^=2@|}{oR=TFP(%1^f=-xzAy9-XEyne3(v0gbSp8QvCZVNwK4=Fi(yNN7p5)^La3SUjDeB z)fpQV-FVEy3w>Y`pA=3v9+dYvOl|3OdGvg|Da`Ft<~({%^9E+cY2kF&SC5eQ3g%|C zaJuU?s$akvKdTrvD!Tg3!V6!)oI5L=sl5+iQk*mA(R!5$=H+>FUOm*w?}DGz3>y{Q ze5r!G{xI7v3a4u?6KC5nDc^>k^3P&Z-I@9uDx`_(E_H$W8rk;LFbQeVHQZI&BF^TVOIX*oVNq!k#xGe zK)etG6aT3>kFF0=!&H(^mq(v7ssr=xnK_T{KaxJjb17_8bjKUb=TMm8FND*r2b8xO z=9+Z6Ji1={0CVSGa~}QsOo?CO`6Mg!)%sLm$x7FI|4Jo&z$!TZZph!f8li3SHHjo2l!iO zu~DJ@s>YZ4?>eb-ztNRimtu%e4{>0zQn@m@@PG13^Q6f z-FiUJcOzlGOJdHW_AY@rDxI!=H2Ds-qN`t4t&+ zxxY0Sn<=jY^5(*P%x=#65+S*B_*-qTnex&iZ!paCoaVfm2-yjfD3@@$_39Q}dYBK= z>BfWJAIy~-^8gzaUET$})&r($9&`ODuLsN`>2!It-fx1L9PFI873QIIy1Z-1`v`M2 zuQ{(AoKHS~s|q$My7jLH#-lsTru=TFnt$})GrA0ux1ew-kf~Z<@F z`@tk%`disc38y=LX?^Jnvt2q}d+GV}MVQm2MV@Xx)BBBYV7@LRoNm4(Mg6+Nd|%d_ zw-I^EV49T^PS;*~elP|mQ+ab<81kyZtd>q!zjtuEV76B<=T(He36rCuaJv4Z_Ev&v zRLPu2=a27Tj!CDh-!-^vFuN;@JaVe}OnGNua#e9V)$u{=RcV;aRozaP_XW&|I8K#E z?+46+8C}geZywA)ahxje5%S_!hr>q2)ZX|t{H-R~J~>t1VZ7KGrf^NS)3vt>%#1ir zmG=wseufFD<($_QW=9;S%R2@0eQoEw$uKwKI91+O)Gr2RZ5`*ly)Y^3x}7SI+M5UF zOdO}{zk4vH>zVU@MP5Ca4{@9>FL{03=V7CwJ3c6HAWWVHZl}syhvTv=%)^GlCB^Tl z+WRjK>~W27ofzVF?!19i6<5iDuUVS;Ta~dAG#C5Ttac+iQiL=TLnyz%x(Rx*6oF(@m1}Y#_a>l=b^&s z_Dk1S`C-~fr<;Ft|JxU)dIyoG8xP9s3A02xT^?PpZGrizqjTPGFps6vNjP2J1!Po#$=KOBuL{fn=}dX!U_!e%=Z%B;T{>MJ_1~W`Yr8t5}7PM1gHyBcQbx8}UUa4TTWOQ*}b z2lo&rx~Dns2HabiE4_r%tp^QofTin==OulFqp$Ac(tVuMx_caEPq=V-;8e%?zql}L zI1u+oLxfA~k>_4_={PSw6!%-$sCXXdZb$1-D9l)fn+CI;;SRt&Vz?NXOh2gV=kAwc zs9$cFmeQHVttU*gVIogAPj4Y_C`{;&!ujF9GGM>I!(1FAobEn_-d774>u=p1CmbCg?*4PPH$4U_`*?q=++^Vjz^TR~2X^#v z3hwh}3YXF&&pjSA?;pY>nI)WOKf4{x`*biB7_JsfZ-yHLvqb6K?G5w6-#x)3UnJ^B z&skLM?GE>73GOd{7OtS7y*YmIw`yRcqH8bpOCy+Y2S@$#1I!ABTMu)A;cmeAtufb+ z_L~Bxw9>izuK`>Ym}%1K<}-D~N|=>v#eQ}3uM_fa!PH(SoGz~{^4h@6{na_|Jj_?? zo%0&OOx)m{_XkXojpjUhPE!?T!Y1duBQS+GoAao>RbYPD;+(ewCVP}QkDddUgc-Ee zIWGz(^EPu{1>}7J)8{wmytOc?wmatq!*tolG@(3yP~KaZk_Uw|PO?d6lUrP=e+GOucXuE zQU9eniSx`UbKVntke~=m*2}`t`;@BlZ(3aNeSQ_^qr1YDfOB8JxUVDVyc%*J@Bd<> zg2PJW*{=V{jeuFna2sIGIXF6BUW4&@pxUqdd`X}GO9u1)p>U}_)z5Z4NuSF&`3UF1 zC&GEYZ{XS9eK2>W^K7qszpb&KXE61jiag!ALC=drVfsE3PIsKAhnowt`MGe3HSM5( zSE1qye{1$jb33U2lEwI2Ut*);*$#Jm$yI{s!f<_I<|v)JU+C{_mce9sCHAYkex~QZ z4PnZ?7EaeMKf-l{xhtLSK9usZzrl6!f9AYUxRNk);yBguLC5c2mAFw2v>o%?um_g@+umoH%gGYCihqN<XOavRP~F8`L_+`x9sNntwi1pn6Wv{dGtQ^Uocm5xt*$hbiGk1cYrk@ zk8m_9s`@2>y9D!huyDHLG7sEynDqIC)6KuLc%c$Zn!>`-x}mDyE$nC#Oy8pByzBV= zxiH@s6V6AIN1t=s3p1yLd%vpo(&uiHmkhAVV56dI?=8GmAExM+=K9gUXWbGeYiZ$9 zTe#`ptv! zt!S>_8sz-|Q=pQ2zpD1uL0(gs#g*MoH6AyScLe5_D#Gd3@x$ndFRQ}T6wY%#yVvI& z$m;+zS~^rC&iU89ZsfoVKf!FNCGvFt9?&N2w@z)C`ofvcg9BmaNvGQ{eGW7d=Dl=? zSI(EV2*}VNz#7z0>{oZcN_kN*i5m&0%jYGqa_0-Y%H*-A&#=id%66}~s;b%5&(b4)s2-aWVnFny?C`(R#3r^}=E`a}fazjx!Dmwi-#)fgKUT^_yA z38vE+=e$WUyQI_Q(fKkO=H^)Eynu1Ie#U01ALZ4DX*1qAZxl?Fbh`RgK;BW9fQim| zMPWjvGvy6{iJIh`cNHedWOIA>qkh?8?oM&eOY&2IRUVtE|0u69OqyxVdF5exN~dct z-G2;+sXfCvuP@9}=}dW1FhgfK=dFM_FP$!r{%-LhO!hg>d9`5%NoUHN1aoMvbKVn} zEc1lZoJZ?lKA1L(o%2S)L`kP>FXbJD z`MAWK_a!EA?xol-HY&RHeirfu!=zg7oL3H}zjUU&sWACgIOjEn87G}CZyM^i3Z~pD z=e&+E^QAN8ZHKA9+Bt6k%sT0Gd9Ts8$6*fq;+*#wCg&RAOnH@I%B*$H3x%00oi48z z`fnRd@UPB!4PnMeXUbavlV*c+UU`@S(&_T(`ei!I{Eg0e2VmYyXUfa43G3Bn=e*i5 z!==;ZS*YJ)n8jP1^Nzs8ixSS1mjx!vR_DCxFhix&<Ay&9oj+ z-T;{B?ap~`VT$fB=e@(u8p71w>73UeW{q^Z_EO$am_xri=RJYRy~|ubTK}rTT-j~T zqxVS??!om7HY&RH`7mA^08@UiIgjpVI>D@!PS;+#pE(Aza-TV`B-|+&pZ(7D%K&pz zI^FesB2*~gK!BC(u*lQhuTF!j3v>ObaGuZq-1pOTzhCtj?mw_m(e>XWytaniap83J z3&6PTfjM@#2+-1t*CU3)|E`_-ZYtX0^k zP&-t4fyg@zbLEWNsh%HDUc$2hR%dKfOnH-G=ACmpRUSQ0+z<0cIt-(-e#h|hH0Lp2 zuu;*C$4tBya3R22f{lvqc_OVZ?_j?EOE}&0#0X@Zf(f}KoUVR(kk=1p-euu*_vci< z3ot#eIM?q8OwOz3`lZ5t=fiBcCLGNJ)%eo$_SDw{toApA(>*Vt_qR8|e3VYtUb-I7 zbThzedQ0T##)I+(!~7wgE-ydw?!lzIW6q=hu0~my$I|J>m;QUX)$ayaPwtC6ysa4L z{Vn(V0XgyWNe=?7P1vZQ8lwMf|9%SX_jj0{4~5h1cQW>S1g7~v&ij1>llh5xzw~}e z9+DH@zsQ7)D)6YbnZvIhT&~v=sh>eOa?=tdE!2JBLIj$U7K`CdEcHHMidovyu~A@5h1O>dm@F2m&f&s;ycKPm;& z@=_viFwB(C%y|`&u?^-w>2!Hd z;nF4yw0skp^OnLDhKZI=w{Coo`W5gAv{w0wJo>6SUoOJWv-t&Dd$3W_jW1mvoP|ji zV6I;kWR!v#ES>K8{Z_bjFr5O;c}3tR!R(IXROh2jaQ9&51)1~c-*MUxQ#7$~y6eBK zXm3xL+)2%Ow~$vKrf4#A-Z9F9DU-sS_W*gJFm+R!^XPfq7?`@Lo%8y`v`J&mqxWa# z!bGJr=TUpF!t6_L&ZFb^Bh0Rh=Dfd=cNgYBCgF7Rc_s3)WDc|rWpVFUHJ{%jFF{tA zY{KcTcXOb<4Pg3ZcRN*HG34!sc`cpp_@I6X%n@ik#YW{bY`VO(IRmXa*r@380@2>K zFx_)G=S_n-ES)az8uoP=W=C%4yjw77^O);L=ga&s#e&Uw^!F*>z)Y7;xBk)jawAMs zUgx~4FlqA%r^}=MD*;m}zd5fBTvwPQ1%yk9`l{BKjBry523l(h2}fU5<4but3kO;w zia6)h`6AHjT-2OL>)$n)WW|J|d8Mk~O8mSO%=I`;O2yho^Cs?vd0 zyfWszFW`cu!MCoW%A@mJOSlweMIIfOs`^o0ZfRU$_@c_&kDoV(%T&%euZT2Gd7*H* zzjDqiBaJC<2VU#}7hK*subecdJnFxmaJefu=arGhl$Qtdr3c*fiq3hfq%q}P!;6>T zwpVh_J1LDRkDiCcs~l)u!A8Y2U!FKPjJ;IB(;ZE0b z&buv*Deo3uOjA41dW(&UX}%<>Ba92;i)y}H!_O3x+EW(>jh*<> zkw@nl)%sTuKM#Q!A)W5}h3+qB!E~>0&Z`7B4dz@Nr>fs0xDPN78i+jI^9{<&)ez@t zY*cjTOS*oU3^T2fbKWVKXqcDo){vrlVWAGC4rS9N?8f-3{lwXJ)1T11Az@ZF{#<C-a z6;5}&J%TF_ldpqty5pDrUc50(gmk(*YVRDF$d1l=Ct%`*nd^5A`%MM&QaWAz+QMb( zgy#|1sOZLno#xzgF~RQ=Z$840@tS{<=b(dDH@-UOKCUENNV_a!op!zAn`obG<+ zU%2crX}X*9YQvR>87rM`Jo2M{3t;}}Va{uUyyr00zBSj6j*kv79eSGc3L|ek%ns>v z_1h133T9d_a~|Da?tpnIov#1h!KLUOXeH@m&Z`Ai5@wimy1apC??RX~{hag4!;F#6 zl(zyVOSp4hb(ksA>GE=*e(PYO2bl9tqrGoojtvx!p317$7rOr~{l7pfzb6#_pf}_lN-ym-u%vFeOUkTcy5c0 zif;WohP+8IEhoC2YW*vQjNvd*(&^TNK;#{TIX}rc?;}jn$-?RK=zgX;O!g_}ytZ() zVOGa+s^f#^b2N<4ROh@xFq7gqRUVx`qF_!=Gw0ET|0|eRGlbLqJy->}=$W|Qm?NC- z{r#WN-T^RvbA{7Azo+NVWnezeGuMx<4|31Pb0ln3bmMUtuYC(sVu5pBYnUn0>GJL& zZ#m3_h2}i^yufCd2h!=*Q#y`(7X@0^uu-9TubR(=@N?hAfmTUuRCM**iq~qxBv@k3 zqw{4xn3mG%@*ctUB)8O@N8>RZW{Y&XJi4Fx1Lnjs=e!u0;N`;U^5}l19L$7B=e*4@ z_oUP1(f!OjmNgbT zwsgAs^+H~@jX2IXnd?V++hDS67EYH(=Z}^!owhjVO@etToi2}#k0MclR`IRQd97gf zNvF%B^Z7@ZmcKdY4Trfeoi2~&bI$F7R?Z#fJi5NG3$s`{-TLP`K45n3H0RNJdKV_+ z@51TwvZ8*aVOs1m=hZ>pk1!{s)8&mo-XoY^d(3$ikv9wGqI9}Es^2S^H2chX)ZX$i z{iM?!zmzu`X61f!9^Jp4g2`||I9(pi=Rz=L4x01m^AVviE2Y!r(e=;{m|2I+c~rmM zFad|n^`rZREHGt`nDYi=p$LV!bXqw2_tjO`Lp5;1eSaSJ0hfjA1E)Iww#Co4T?@3* zT^CL_zPsT{!n~4BcRr`z&vHX#;agWx)vr5V`5bPdwA9b4`sK&Zm%yBmPFFvAp8W`B z$4#+sI?h#jbMf=nFjH>{r@J1{kMY2GjYjd%v#w z4eZdaUpv>Yy1pdE*U8d+`e}uvg)0>7<>@G85!^4*(tce|k@p8P?=QGJjJ(h8i8eUZ zFC|=7X-)O}ikVjrt_34+ATw_?+%!hs24>z~xD$-LN6fr;aK885^U5{8eLUwuTMR-j zm0@onhoXXXeF!6lf*J zM#a>B`K581&t>6iF!I8fdEszBGV&HN^L~Zf!N~iInfCxLhLM-@F>gNSfGaGmX*}vN z^IF4oW#o-!=FNgz#>m^t%=;7WZ${obW?tYw_#7EFr}0;-p;{3Zznos@gI{zx_7YUc> zsdN3(!+ar~seWZ)YDj0QUzju=^;4WbI@_G?d_E9vgnhq?yd})M4RF6R@-8#;9>Kk4 zY5m-JKKFqc zE1hXRPlH(`U2H!qjhnXdvsl8jIacb{Yo71)TFx(mY zeig^>b7o%rm$;t9MkTf#ioE>Nd}@cTer4fmF!I8fdEszBGV&HN^L~Zf!N~iInfCxL zhLM*tM)a{$|K)%yEUjrg>M`?L!*#Xi+14SN=c8?Ty8G@iHm92hv*DIA_PfuPr`zv- zo73(04BR!wem~gqbo>2ibGrQ|d4=c2*r=Gst&}t_h%dUlns7}Sd3~9A!{H_|^42i( zcETND(+Uy1@-#~e@ zw+^L)%PFmCK38VuHHK@$$Q#Ven*cYPkr&0xI|LWa$a}`ji}zok6@-n7ssHjx<20Yk zz*T4Db!6uCha1MoTgc2?2e+M(cafQQAMPb1FU4Ele9jJ6NLt-^(DUrNFdd~6_ucCE zN&W{j(jkxjj&do?FCKYGy`H1f`%1fE4oWAkJG~wKcSlc2gKu30@Ar7+QIDMWa_V;6 zgnJ@wY`@s952zo4-g)-3>U>H4mjo`iw5I+m15;hP*!|kBJE{LV!hGwI=iOfFzaL>n zOK0l8pQORBxQed-W_vkx|1F1GFKui)6#aM7mZ$5#({T5tHTBxQnqDd4h58{5x{@ht~4UpmwHu7^1yooRfdVXjISyI;le`(7H4 z@m19CBU~FR$i+kBhZI#d0o!z`B0RKH!)c+^iZU-sCXZahxIU9s=imPg0YTbLB_ z; z8n|tYyz|VwyKpZUdCB67v2gc`y1m)p3P@{eZ*68?OSn#qyphbj>2Qk~dApc-C*dwJ z^4>7>{1OCNsjyKo^&(1oaPJv;89w99 z=X`J_r8SL5Q)XUAxZd_W+j{>LgE|RjXhKm(@%gm|%Il34FuSBPt@lS@&Po^C4%_*N z_VYrTPxH!3pVd-*PUe-(>DGInL|DhMQHkBJZGEQouZT1*h%dUlig0xqdEJ1s zpB-kOhx1>TcB=g6(VWXlOH@dGa15-shk(bnK-KFOOU&FMPPIo;? zd7Y)fx2~ePo}@dO-d;}Kj=^waq>XKdVjW*$%X6*cHb?DS?d8;;i(F%Ky7hS{+!1MG z>!(=n?=tgV!6gVVj~ksovPt9WWPH)puLxW@MqW#1UN^V_jJ)a0yybA~9rEb@=p@Wt z=}hzfEsRf~x&LUM=7cFIoo?P!KUacjzTaPfj{{j50NvPdJlMLf?@xNJ<9UFB^3LgSXx=5)tLakz@o znvUN#%)Fj(gBW?UnR%<=HZ$^~nRz$io-p!)5{t3@G;X^7%LErJt*QU2GxM6kg);Jn zG4rOt&1d9oXXYJ+JI}~_$;?ZbB*;pJjf$!N3Q6NM9_8U`GxEAH^Zo}nl99KRnYR&c z7bEWqGw(6n8+)GZ`l>BDElpCKx3EzW>wN>S^_13)aniUTzUb!tT(}j|#*Uj}zXxD) zCUf3zDQTScTNAFSw6XhDtbcu(dBfo*+4F4eScFQgfvKB3?mSiZUpHx-+A#=jlt&)U zZ;JgchpC#vdB363IPJGD+)$4^@BLmw$b6W=DaC$u&m(BQESJV^ zhM89zt{Ee*KQnJ6+!RLMI%eK3xTE$w#k{%?Q!|ZuUeR@SE13S$nVzo=g&8MZY(Fcm z>sCqgY1~xr=h1#w!|jvSbbWsw=B9M9`?bwydjBI{+8`?tHY&RNRr>v;(zqbLsIJ@T zI8Wi_ux=>+J}*05A!&8>qrAGzyjE~s7N1k{8(etogFyYea)))Gm(GSw#TUSx7FLWP2%FC(SF%@p1w6X0_th+mH zd9HO=;dZH&>ZH2Bt4bmRNh z%c;lLCnr9)gpG=>9W=g0q;Wxf(OqYkgR9BN>%`3K3pbRJH=mie3U0GK&o=+4|D$br zy3ZAy_j34Lfh~{b(M6`a#B^6w&NlC}VnDCLeas`qSN!*K)$=|y82yZmifP_Yg;^+_ zZobgG-wAWjBhPz2)AjgYFmI%z`)k#F&WfKG&nxPNZ(T*@Xr4Cpa_V{C4z7o^x^__B zIA-2VxTTD|JEoQoX<#&U-lo59Pe$2T`zQE6lQ&o)nK9dF3YYX#TE zo~M{EqilJ)`7+MSsn?+iDrcJqbYh+aH>rr|L%QDAUB{k|z?P?*_eZ>(dfp#py5mfD zlIc#Xob7lkj0=uvxCCE{d5{=`tUKN&!K{|fbiD0?IVzoQp3?DlALhA7p7(J?_l=24 z1z8!eQPJHu(!ZxsSsE9_7v1sJ+{>wtw~lbVrPZ~Aj*m&qyt!~I7|@nH=mKW zotbwO?mQ#!B{MH!Ib8o?qhjj6Lee;mM|rr~jJz()y#K+CWaKSn=52)A#mKwD%zF&? zhLM-%E8cw04OdiJ(|9yw=Cy{Do(Z?qzF)<9zlWK38t#fc z&(?oWQNOn^4=afN6W4X#{YURtq^O9`9b%(my6&tDQ(wB+{hx(_M#M_HydyIe*)n zZod2j_n)+}^|SRe&A+sjc%XLM8KpJ#UukAuEw~UyUO#5u2)N0NytT}{-{JmX9#mM`Hnb#d|AR})EGcOWu10(MgGw&MQBSxNoRo;9~50^_?(|A;2<~4z9%g7tT z%$o=|hmp6HnRgiO3?uJ3GcSI%AS*F8DyII+FOAcDE(=$Kkr&3y3y1rWk++DM_bc2E zM&4h{ya#YGjJ%Z9dGk33Tw!TV<57>9*BY)XBX2Y_Zx-A#M&4d#-k)%PGxFXs^8#xG zS!uC3&F2!*IL+s3aE%ywy_k7Fz>R0*{mjh!4elT#?-n!fUvf2V{b#!#Z;MXL3^PPJ z)BVg(Fh5IYx}Vtuvs=2@d2hRprTzRZ&8KnG-OpUJIo3%CnnosjZcfXa&%c<|TvcVOQHgke%)ISzhZuRcnRzea;?;BRzbw)?^lGK{?D%)Bme z{TX>vnR!d$)-m#qGxM&%-Dl+a)E9m1)PHH$V=9c zH=nb?6_D06pKCMoTEcZ=9@=yP%_V1AKKcYROw*&@xS@lajg)AjQk~KLU4FT3vf7?*%h2K~sFr z92*r=UIA%b5MOljr5s#MMqVdo-T=7ajJ(Cny!CK98F`nOc@N=UG4fJ{@aA()xFXV; z#-lznuMJ!`M&1}^-fXz#jJ$o!ylA+qjJ)^Eyr5>d-@-=4)PE(VaY201&FAWHjTw2p znR&zDCNT0=GxN5?9b)9&X6C(wi}$s2|7DTJss9SWm0{#HXXbT*>(9uW%FJ5|w~mo_ zoSAn8?mi>Wr#WvuNCTH$TGM>4$joa9*NTxhh?zGIZYCpdGc)f1+-XMM6K38=xPTVU z^Ep@=r}Nv=?TnR>03MWr>3M?+>_JGdTx~>c3Lb zxFEjh=5tNBri{G4%)H@nlNfnxn0Y(ljxh4>GV@-+C1~f|f7zsQ>c1jzN+^OerYF-dpx|a zhv<5vo0n5xzYKsIF0Jl3qP)e-yftv!?0L597wU)ewmjYY-4|6(ab0rB=5)vTL%3Jc z>e@@!C8v&GMBGQ`j>NE4&z;$EfjbY}^hFk8CNArFk%q8he^Zp6UTZcS)9-FR1 zkd+x571Q(BJkq!zzPPT(755+c;KoTS>es;Q^B~lYg)mXlnV#S8fjKT+?6@iB=|gEg z)lc{Q{;|#J=HGibzmDd0gXUjuX+G^&msb+5G9#}YGp{$?U`F0tX5MPJC`R5{X5MYM zXAXHZ50ZohS-G)MG0o>PFx91tod>q{h30cdn6A>9=5s%3Tsy`W)%_)n?*K2SUY|$7 zO_f$xKgwIr%-aKZ+@7a6-X6l#?i9EGypK1!-){pm$iu1IF$rd_bh>uX`Enb~UXQ$_ zUdK88{meO-%hKt_gZ}#tccj6$uA&+bI=?;ka_V-xflJugcKj;VjqK9M-D>~+o}4OY zn}4qLz~;2;0bFHib^T0v?U;GJ;RZAE<}&kE!$mRj&NB0E!#!i-Sw59&FPNcbZ|MPjoq(eJ*~{l zYYf+hkvEu`Hvw)oBQJ`XcL*+;k@t+57q3T<6@-n7uK#F0=Yy#%ooPNdg9&xWqxn1x zCPF&Xe4Z=~)sKqmd`{=Lsa{TfK3@vAPFh`iDepKl?+V;~MxM{Np7UNepVPo)m)2Cj zip;!*aIF}5gP3{a;AS%NHZ$`Mz@28~Jz?g3gbV0tp3gMC!P4McSJ90}DY&YPyijId zU$~)+y!p($HE`P)dFPpVci~d%|cnc#w@HO=Sh%)DlBp^Us?%)BXZ^BH;DnR!Ry&NK2} zGV>CK<8unwsF?b%kTg#7xjbBLMqU?Y-v8i6GV+!(^ESfmV&q+6<~@dc!^lfBfH$9W z!xfd*G#(9^dF|kOF!IJR^X9^>VB{TO=ADJR&dB@7%u6y5pHsl*G@naJ<20XZ!Zl^& z^=0M_hnvL6Tf@xT33r5%cbA#>3NFF_ock}EG*10j1g;z-uO&0D8{7a!-gIW(a=7)3 zypznlt8fn)d4AvV)`N6#Ii)qN2bGz5jp5ob@&+^WCcw>RWsXO%)I_^!yNKl@3X^1NoRWgcNFHlLms{F_Y&rVN1pn9zvSQJ zzt@6|itaffz3=zAG%koQs^^6CzF)AHQ$Hsx4p&jy*mCY|qhY+;+hn_Q+F@+hv#= z(wWBXku->Q72UYK@N(*L`v?~>ByPXJDaI{Wnos-HjaxpO(~Vmhxa#)(+WL>4J9cE| z^@khA$Xm$FTL-tDk#~`qcOUL0BQM2JF&3ZtS=WEr;R;C`d%P+7uP!sM6H3-0$)+%^J@UNQN%}jMJ}`qF9G$nO zNP}-(MYm4Q_j2lWauwWWX?5+O{YEqMuEIUE=h@a>>VLoCp6h|`?^uGoocixrlBk?w z-AHD0x^*ZUTmfly{X*+_ZDw9exK50`k<7g5aElpvyO?<=;Vv=q-Z1n0M&SJlY*bAB zS5z7o#24LoREDe1$m_w(8w@vwk+*`G7X`P^o~KxcuEU%j>AViTfk_qNybcA!6qiod z&$JFThWW-LPrVNHf*IuCXg!!DjeFd@^T^Hha_V(x1>8nyb?u!pkBKU;fgKPRQZ zx1yw1|987j+nnyWybkx+zF)<<8!+0lpLKZ|;BreF+YUuuRc2mOxOVnD#dr*bxhkD$ zJYK*Aj1g@yjYle&Y|_QHLopuZrTH`*y8DlcHmB>qhH$Oy`&IPcAZFe;xS5Q+&CI+5 zaHko0PndZh;R42r@rdnbMSFv#`P9$4{woDnm5~?9%Z zxna^way~B0!?cvnbX@j?86=%<+~~NR4YR}}&-=KfzpvN=vqL)F^E#^iL22-PXy_|YH4#7oB8`}=Wcs#S^>DINE zUQT`8`O4;W>y^(>_t|Z8ib&&v_@c|J2v?Vp*NvGs2yT=^9$nurhuJBe zX0+kBz@q?_e=yy>1>WUx8ie8~q_ zQrg)4+WL=<-=@sGj&Qvhd6SrV3*lBX@{Ta`F2dbrdwAv5nSoX;H5*QWlE>S%xN`RWD%#r;X1jE{_R@b};3UjL z52xgFHit!Cy$!R@o>+2#S=?_Rg%>F(cddpY%UskO(&HYE~L3Wt@ z(&^R%dLC8*rkZrR>oxk^VFPLKt*hwPgJxb%-HuSWp3<7;-vnEpZXKUwbGrGm5N@@7 zzl!;Hgqe2{?lvPY!6Gqc?*3EvOA5Fw(#H0St$s9L%E2_1&NN@T!1Q;>qwDsmFteo7 z%>$~>5^3D+Na}T-q4jUMms7WQGu$3&W814(|E|K6Uo84iw6}rRe(Aj07^bI(Q}1^; z%p~bz_iO8CI*!)BZ1KqRZZ922f54oQPS<~Q9Q`E?zI7Gdadh3wsoU`w?v1pu?NF@a zX_k1-Ki&H-=~T|vFEqXxY)*H)<%26JZEXE)c{HD!!t{{NG@pmTOmN7fmac}`>fyY{ zjp}nw8hq<2s_~$Iulyq1b!koG`w-^2gQI!%P8zXS{qyXEOFhR;*U!n|GD#cT&x(0a z#+IjBPs`byZohTmn%noQIDQAfoR`jY{62*7Sr+#=SI_$lFuA3RZLe)!Q9oCOsppaB zJrC&kZ4c8~I^FovJm@2h)3|--<<#wnfcr_>*ml^)jjm&VwdLuqV>fv@@Arj%Mcx*; zu;rqk#eN%jt*3OHkC4XQUUfUB!7cL0gR_kX<^9ggI|26>Bkwgc&o?s2N{Nk1Y(LxT zN9)iRFtwyJtwXJ0x;o_1d37|*1nG41is~~{8hq<2s&$C^Z;qE!kH^n&Tcp*sm-5aq z^KQXCb;zUsOS}UA4mma|rv57pQ%yQu{iy#sz;uz$)PH@YaqSpiRQ*Tw3x}I1t*L%X zVAe`!s^2k~)6$vhcS#zL`YG1Qzu~@G8Mptuk4tJtBbctziT$eQK|h!uq>F8bZGEAB zSRl=(`l-$fwBJQ=TctJi-!YgA(#7uAcD&L090T*wBQL4fxx zWtYYU@kKQc=s81PFQ@Lm5^$BIjctdb|JvH}RQ*TCTYH<+omcz74YBXn)_;^YkD2!i z+*W&@ZT>w)-Z_|qKZ|}geO}-n82{CA=c&5?GQ;GRF1G({?Vx#31E!%zo_Zd1gy|-o zZXVEn`b&dvT}3w!26{PlJ4V1wmNvE>ws}DPwbquWJ5O)$a_Y|uY_d7seAy3oO4``^ z+4`C0%RkJ#4{-j!i19V$<&j48G97Q~{`(TH3L~#QGp`Ta5JuiSX5KGwTOIOf{W}Nq zk94N>FaDY!D={`Iy8ff{TYi`#(wXLS8EIUB_@bK6G`?SXIrVtdgKHtJu6~p^keN3c zZW<$R12bXSgkl zyfe(aTX0Vqd5PDFK6dKA|FiclV3JkUy?D*g!$Tcp&_N!8GrR`|sP|)>!8vv6R8K*5 zS5s9z4+0)*x@%?%x~rP%>Uj`}je-%C7>uYSVuBGPxnd-W5pOVRL_?HZF_%P=s3DO= zydjFwM7%!kZ|%paQ~SJj58m(lf8YNWU(F14e(SgQUVH7m*IxT^&I0Ztfeo|29h!W* zft%Ifd!r`bJAr$@2H&4*@_hxkuWRuArzYRAA6pwc8DIK@=`SuYQT4GMxT*%Y99ef$M7Uyg4kXtA^QQvG{h=w({EhskuLAQOfeV|j{s5St z3!GyIK7RHqKQU@oLHoHjD7c{UJPzDefpyaL@t?2O{!Rt%T!9VKUs02<4%}-s_+GEc_jcgktHJk4O};Mz_caZ^?`!hK zKDjpb5`5_sroW2>h5_+MPG{Se1ryrs?(rv)JL*T;ZTXzWz<&Qpo^DT-az0ZU5pKpB_ zxK9YIQx2bg?Q05OQ2gL;JUIXO!PgaBkiC2dxE~6vlRuyS@8nPE^#^AIcd5XJ@l`eX zt^w|V2H%@C`Q8oO2Q>ITtI79O;Qm2_?=b_{2`xJ0rh~OhX;-7%|iNJ;R8z+8xZR~V>=@X=})8zXsa9`2j`>rP6Pk=l2GtvFQxdIc_AEbfXuEFVzU2gFsAsSLO!?aaTwP$p z^0yC|zQ6^w5Axf86PUY3_`KjJyU*uM_}+z_VLp*`7iJH;QaOcQQ$r;utDV|zOQTYeFwN7M(~mTPW~L$A@HS7 znEoyY<_due${*SD0bp(z;q$lWTY-6-zy;}<_M6=)FqA*~`01JK`EC!+U(fde_n^Q! zD5~>y*QXucFDf2e`Hd z-UGCf}{V-J!wvN1A+p2Hcl5_@2?^ zdmgwoUySY#&JmcX{vZY1Yc%+-)#RH8?uZ88do=m}0Jx89@I9`{_Y`o?YVf`IOM3Qv z25=V$Y?wV;ntap1wKVwNpvm_R;C@Gg?;%aTM}d1ngYQ2y`HuOEwXv7tOP?_PT_P}1 z_PhFmc8YYFe|7F*nHO5ei33*^Snfaj<6Z~M>jjS22XM2kLF?SU zq>EjKfBiNvj|v?3i=jUy-E)EaYheCM;GA?7KEl2DFLB>GzVr#>D*$t?z=iSM0L+~l ze7_6KpZoE#obW$rzv$lzjQkn?mB(Jz;o;wVa9%qgz5bgAhk1aqPPZ4h?|E=j9^4mz zyXwoT9e8o1uk~M1ao%*#2ksRfoVOgO0k=&9mj!O829D+xZ`Z(4`*WcTm#;JkKEeDC$(y!J=! z<0l@R*RJUPgBSk~)lR**mjQQ*29E4tlLn6ZQ$qts^}AC8_X^DMyl>RNodMik8aT46 zPiWvM-LGiisNVir14nxKsRr&8;7)ryx<05JmucXLZ(IXM`MXvVccTXGbnv}L14nv( zKm$ki_ZJ$t4Z!`229EmYW4{)yXG(Xo29E6S3Jo0bwKZ^5Z*S7Tod?`q8aT?|XEbos zE}zuEQUCH|P26dJ9j#|dcZ&v&`qMocILhCW29EUnZVeoz`waKEO3+X~!$8aU#6S_4OVIq7er%X=wsTQzW-fV)luN9q2S29C<{XBxN!aNpI$ zo$gqw%Ayfjb+xTQqPqetbv+NA2TF8aT46|Iol) z0Nj~>7p)hnkCFzC%6pv#j_ly=nz#owa8w`P)WFd^>Sr1_nunhB_tAQxabcqdj^Y-V zYvLyTa6a*a*8+E=z^(>Aizg~LiXZ$2FdtBH%6y;3^G^y4{>eUm@kyHhenkT}1>94> zCH{fy@J0B4KR(jSodSb@vQH51UQOJC8n}-jrAItCZ#;tL6*qjt#}0hrAaC>Fym1iH z%R7MkmcRz-h3d`xrcb&`y$yid<-vK&aR+c;*1%Ewz2;kb>HeAr=S_DKd_T~@Q8~8% zqnfUlkLu$S9-KGsLw@34Y2av|(Q_VL+!H?~+>bSIRE}SGaNctKHgJniMVFV-UHeZe z&Od)I*T7N!&hX&8`Fl5T@6f=V0Ni>1tme;KAIAcBsR!pR#}aU956+vv-vjPG4IJ@R zzOClZ%QpkuXEbocxAEy{KEl0Q6ZhhOiRQZwe9Ia*O82`Oxc$J{{~Dbx@qJMPw*|OY ze@Er>+5zz`d2rtP*a_TsHE_hY{TVe~FW)?H4{G3u@9ghJ^N~OP9uLl2USj$)4IHKW z6%Wo^jvIh8{#SJV(!l+(2j|US3%Gyr;JoR69=P#;i%xeAxD%d@#*yE?k% zdT`$S(R}OJe^=A>@>PMm$b<9p5z|2r&dW!B=bJQeuLJG_9-KGb&jPpldulnnxFT?$ z*T7NyZ|wUjpSK*_fjirS^QM~xZm$RDEaBmbrGA1a?Wf25ar;O-Py+Ry9f7oUjVzofxOe)ba@ zIEw#0t$`yw|6Bt{^R4s`qsvS4)o~469=IDcaOCIQ=fQdFjpp5F{wO+sW#BIN;3VI0 z;{)|Ww*dEHfjtKQKdiSQ?&bLXi@^Myz^w|vy#&918<_7$;3(an0CU!V^0KTB;3HfT zn4JO_mcIcoZxOhl{82gH3CxECE-c+o1M^J{+z)^`<-d42!t$2}W{1E9<&Wa%bzr&? ze59AR1M@L~bIQTj*%$GceaKF~0L;G&oJjYxd|$?B{r(u3m;9KQBPf4Vzo!6mb_9;{ zw;7lzfphZ5=7Ym@2{#MOTLdmle;)$o(*hTiKdRp^0P}T$3rqLkfH~>;X!|=Cm>mKa zmcM<#+$eBi`MU*}_X=EC{yqZCS2b|o2IlymDE6n=0mZ}42c{};VRo<+nCnJyVtzTS zH?o5PFv}4*s^7N)^HG5dEAQul`4@q6^sJO42fnfYjeGa;rB7HnEMWGG;ymRbdzk^| zkidoI?`^>Rkp}M1f%#W~3n~Z2Ro46z_o(AbA6||r-*#yOvp9m24**Br%t519Y*;6?*ZW8ho$GhSAi2HVfC z#D@sCMiX~}CT^`JZk+~>{F3z^oE%qW$qmp+{3^;tASf} z?1`}izVr#w3+2xOW=R8g8!!(=;5LKrF<_q8z^y&*#8?4e`UK^V_$GikqJg^|n1?iQ zj{)<%25#-~$REC8`6GLo0OsZh9O?N^U>=FUk)1vX%(@f8(_0CQUe zj>>yCFpoyyDBW)Wv-Ty?`P&H0RT{W9Fn4O;?gQq@2prYNv%qXz8=gPHWq|2u;BEru z0S(+Ez&sy;qw#$0iRj1irB6_Q!1{4u?$p5D2h39%xE}#?$xFl2rTiJd+!TQ${oMh~ zBO16TfmwS}c)G;55t!)+9Oo2Z4E31Gj1&`agW>6ILG+z}y;v+YXMqfO#?k z$LtiCjVFhvOYJQKOj`qY1ep6Ya1R6XtOjn?%P_9uOP?UUQ2s1nmLhOe-rInASOfPs zFl$~Oo-WzxX~0ZJ;3(Y=Fn4R<9suTP4czmD~j(6B@W@fI0Jw==>#sX=&h=fVnpUNBMgQm}et!)DNwC<%zLv_|hk+ z-iYriU~bjG-382J8n~x`S$}4Dy3`+R0%nf}ZXTGsBXCrX2Y`7x0!RMj^T3>UR&@Rf zz;rZlHvx0M2JUmfJg0$M^D4AAeCZQZZ=}BpFh?|Sw*&LA2JUfSR&9t*cRetc25t{9 zw`t(+2Iesh+*81;+Zdg{^MIMwz;%GRO9OX5FyGL?JqOIjv%~X8_Ll*s6@jDrT>|Fb z2psV}1kBSBIO2OAm`&$|=Z|pPfSK38-3-hF8n{P*`H=?hgmdBV;!B?}yPp8&CJo#j zzfSD@N};MZVxaIM&M?FdlZ;U zE{NtcfVn#YcL0130CU=f;e4+H?h;^bkH8Ipy9b!{o5K01AKwJbwHmk^fVnpUw;g;B z0rPwWj^=M`FG79bOP?V7BitTf?ufuqJGvK`Cn9jf_Y5!_FAh(a^pXLlqk+2#mKFx0<$g|o-UQ+ zJYZT8ILhA=F!yWVJ_pS65jfJz+7#L^zVr!dzm)DYFt=;q?g8e>2ppC7SztD$!_y_) zHeilu;BE)z(Fh!s;~T)N&xEH-df5cbwGlYty8)Q{B5=g_Ffh+W;D~Qc7V|QE=@V8T zR{?XI2JUWPp3uNO1I)%;c)C=M3^1Jt9F^lHU>?-KJqpaKe0aLlzpMwwioj92dw{tk z0>{P~V4jG;QF)&M=FCEP{wUo9Fr5e-@!bT>0~)wTfO$RwN9nHJ0=?i%pCEgoboT&r zy9VwaV4l#xJp;^{uZ~VP0ZcmrNA3IwFb_uHsJxE?vubO2x`bN~%!CH61)ECt0Hj3*9PVu4cvpkJQsnZ@~+vA{uE#O1ho(953T~{<_H||-3iQN5jbjZPXV*u z2v3)An}E4i19t;3_eS7Ie-8okqX-<8g9h$aU>=IVQT`qSX3cnXx~Bm%5rHGV z7BF{3;HVt;1M^e_j_l<}z$A8r=a160fVn9GM|^hx^Oy$iDPYd5M5mhorlWzo377{X zaAXIM0`t5EZtWH5Pw}NsP`|)s$1m>{_9M#)Xz^uPAI^9jc?1{ipy7R!? ztATq6nCCQbYpT!-zVr#w3zg$4U~Y}TQU2}%=J5y|@jVU9X%o@uUII)@1GfaseHyrj zfq6~?w`LM?TYTvgq!%jh1TeR1;O+wE@dzB*-_yXXuSKW337D1!ZV8zCBXE@N=YV-m z1Gi=h>p1w*CrB?;zZGC^(!kvT%p(yv(({wRth*{aUBaCQ%(W3X%HIvZ+^d0m2$*Lz zaI5Oj3%>LT(hKFU0?f@3ILhChz&sj(Bff6{v%V3Y?i6sFfH@L@Bfi^#c|-&EBrxlm z;pwva0OneMTocK$&%5yF4FV&6ifxZ!AN