From b8a1b45e0dd0cbfa3a26d9ad5f8f474f6201a19e Mon Sep 17 00:00:00 2001 From: deniszgonjanin <deniszgonjanin@gmail.com> Date: Wed, 8 Sep 2010 03:56:31 +0000 Subject: [PATCH] Desktop Sharing region selection --- bigbluebutton-apps/.gitignore | 1 + .../resources/bbb-deskshare-applet-0.64.jar | Bin 0 -> 123957 bytes .../chat/views/components/ChatWindow.mxml | 5 - .../deskshare/managers/DeskshareManager.as | 1 + .../view/components/DesktopPublishWindow.mxml | 12 +- .../view/components/DesktopViewWindow.mxml | 3 +- deskshare/applet/build/.gitignore | 0 .../deskshare/client/DeskShareApplet.java | 68 ++- .../deskshare/client/DeskshareClient.java | 10 +- .../deskshare/client/MouseLocationTaker.java | 20 +- .../deskshare/client/ScreenCapture.java | 10 + .../deskshare/client/frame/Corner.java | 25 + .../client/frame/RecordingAppletFrame.java | 118 ++++ .../client/frame/WindowlessFrame.java | 541 ++++++++++++++++++ .../client/net/NetworkSocketStreamSender.java | 1 + .../myjavatools/web/ClientHttpRequest.class | Bin 0 -> 10230 bytes ...neParser$IllegalOptionValueException.class | Bin 0 -> 1370 bytes .../gnu/CmdLineParser$NotFlagException.class | Bin 0 -> 1019 bytes .../CmdLineParser$Option$BooleanOption.class | Bin 0 -> 689 bytes .../CmdLineParser$Option$DoubleOption.class | Bin 0 -> 1553 bytes .../CmdLineParser$Option$IntegerOption.class | Bin 0 -> 1241 bytes .../gnu/CmdLineParser$Option$LongOption.class | Bin 0 -> 1229 bytes .../CmdLineParser$Option$StringOption.class | Bin 0 -> 872 bytes .../jargs/gnu/CmdLineParser$Option.class | Bin 0 -> 2261 bytes .../gnu/CmdLineParser$OptionException.class | Bin 0 -> 453 bytes ...CmdLineParser$UnknownOptionException.class | Bin 0 -> 983 bytes ...LineParser$UnknownSuboptionException.class | Bin 0 -> 1015 bytes deskshare/build/jargs/gnu/CmdLineParser.class | Bin 0 -> 6194 bytes deskshare/build/java.policy.applet | 7 + .../deskshare/client/ClientListener.class | Bin 0 -> 218 bytes .../deskshare/client/DeskShareApplet.class | Bin 0 -> 5161 bytes .../client/DeskshareClient$Builder.class | Bin 0 -> 3787 bytes .../deskshare/client/DeskshareClient.class | Bin 0 -> 10057 bytes .../deskshare/client/DeskshareMain.class | Bin 0 -> 8057 bytes .../deskshare/client/DeskshareShell.class | Bin 0 -> 1698 bytes .../client/DeskshareSystemTray$1.class | Bin 0 -> 2946 bytes ...kshareSystemTray$StopSharingListener.class | Bin 0 -> 1707 bytes .../client/DeskshareSystemTray.class | Bin 0 -> 2296 bytes .../deskshare/client/ExitCode.class | Bin 0 -> 1830 bytes .../deskshare/client/FlvFileWriter.class | Bin 0 -> 3649 bytes .../client/IScreenCaptureListener.class | Bin 0 -> 260 bytes .../client/LifeLine$LifeLineServer.class | Bin 0 -> 3630 bytes .../deskshare/client/LifeLine.class | Bin 0 -> 3642 bytes .../deskshare/client/LifeLineListener.class | Bin 0 -> 222 bytes .../client/MouseLocationListener.class | Bin 0 -> 204 bytes .../deskshare/client/MouseLocationTaker.class | Bin 0 -> 3069 bytes .../deskshare/client/ScreenCapture.class | Bin 0 -> 4494 bytes .../deskshare/client/ScreenCaptureTaker.class | Bin 0 -> 2061 bytes .../deskshare/client/SystemTrayListener.class | Bin 0 -> 200 bytes .../deskshare/client/TestLifeline.class | Bin 0 -> 449 bytes .../deskshare/client/blocks/Block.class | Bin 0 -> 4099 bytes .../client/blocks/BlockFactory.class | Bin 0 -> 3715 bytes .../client/blocks/BlockManager.class | Bin 0 -> 3446 bytes .../client/blocks/ChangedBlocksListener.class | Bin 0 -> 249 bytes .../deskshare/client/blocks/IBlock.class | Bin 0 -> 186 bytes .../encode/ScreenVideoFlvEncoderTest.class | Bin 0 -> 1031 bytes .../client/encoder/BlockEncodeException.class | Bin 0 -> 502 bytes .../client/encoder/FlvEncodeException.class | Bin 0 -> 496 bytes .../encoder/ScreenVideoBlockEncoder.class | Bin 0 -> 1708 bytes .../encoder/ScreenVideoFlvEncoder.class | Bin 0 -> 2794 bytes .../encoder/ScreenVideoFlvEncoderTest.class | Bin 0 -> 1033 bytes .../deskshare/client/frame/Corner.class | Bin 0 -> 1232 bytes .../client/frame/RecordingAppletFrame$1.class | Bin 0 -> 941 bytes .../client/frame/RecordingAppletFrame.class | Bin 0 -> 4006 bytes .../client/frame/WindowlessFrame$1.class | Bin 0 -> 985 bytes .../client/frame/WindowlessFrame$2.class | Bin 0 -> 1065 bytes .../client/frame/WindowlessFrame$3.class | Bin 0 -> 1064 bytes .../client/frame/WindowlessFrame$4.class | Bin 0 -> 1255 bytes .../client/frame/WindowlessFrame$5.class | Bin 0 -> 1190 bytes .../client/frame/WindowlessFrame$6.class | Bin 0 -> 985 bytes .../frame/WindowlessFrame$BarFrame.class | Bin 0 -> 2909 bytes .../WindowlessFrame$HorizontalBarFrame.class | Bin 0 -> 1323 bytes ...wlessFrame$LocationAndSizeUpdateable.class | Bin 0 -> 337 bytes .../frame/WindowlessFrame$OffsetLocator.class | Bin 0 -> 328 bytes .../WindowlessFrame$PropertyChanger.class | Bin 0 -> 324 bytes .../WindowlessFrame$StaticOffsetLocator.class | Bin 0 -> 898 bytes .../frame/WindowlessFrame$ToolbarFrame.class | Bin 0 -> 1982 bytes .../WindowlessFrame$VerticalBarFrame.class | Bin 0 -> 1713 bytes ...e$WindowlessFrameMovingMouseListener.class | Bin 0 -> 2380 bytes ...WindowlessFrameResizingMouseListener.class | Bin 0 -> 4876 bytes .../client/frame/WindowlessFrame.class | Bin 0 -> 9534 bytes .../deskshare/client/net/BlockMessage.class | Bin 0 -> 869 bytes .../net/BlockStreamProtocolEncoder.class | Bin 0 -> 3096 bytes .../net/BlockStreamProtocolEncoderTest.class | Bin 0 -> 1291 bytes .../client/net/BlockStreamSender$1.class | Bin 0 -> 1720 bytes .../client/net/BlockStreamSender.class | Bin 0 -> 6728 bytes .../deskshare/client/net/BlockVideoData.class | Bin 0 -> 1118 bytes .../client/net/ConnectionException.class | Bin 0 -> 491 bytes .../deskshare/client/net/CursorMessage.class | Bin 0 -> 1100 bytes .../client/net/EncodedBlockData.class | Bin 0 -> 813 bytes .../client/net/FileScreenCaptureSender.class | Bin 0 -> 2316 bytes .../client/net/HttpScreenCaptureSender.class | Bin 0 -> 5698 bytes .../client/net/Message$MessageType.class | Bin 0 -> 1281 bytes .../deskshare/client/net/Message.class | Bin 0 -> 333 bytes .../net/NetworkConnectionListener.class | Bin 0 -> 258 bytes .../client/net/NetworkHttpStreamSender.class | Bin 0 -> 8327 bytes .../net/NetworkSocketStreamSender.class | Bin 0 -> 7277 bytes .../client/net/NetworkStreamListener.class | Bin 0 -> 241 bytes .../client/net/NetworkStreamSender.class | Bin 0 -> 7477 bytes .../client/net/NextBlockRetriever.class | Bin 0 -> 387 bytes .../client/net/ScreenCaptureSender.class | Bin 0 -> 407 bytes .../deskshare/client/net/ScreenVideo.class | Bin 0 -> 694 bytes .../net/SocketScreenVideoSender$1.class | Bin 0 -> 1984 bytes .../client/net/SocketScreenVideoSender.class | Bin 0 -> 6600 bytes .../deskshare/common/CaptureEvents.class | Bin 0 -> 1712 bytes .../deskshare/common/Dimension.class | Bin 0 -> 580 bytes .../common/PixelExtractException.class | Bin 0 -> 489 bytes .../deskshare/common/ScreenVideoEncoder.class | Bin 0 -> 4785 bytes .../server/MultiThreadedAppAdapter.class | Bin 0 -> 1118 bytes .../deskshare/server/ScreenVideo.class | Bin 0 -> 1929 bytes .../server/ScreenVideoBroadcastStream.class | Bin 0 -> 9582 bytes .../server/events/CaptureEndBlockEvent.class | Bin 0 -> 556 bytes .../events/CaptureStartBlockEvent.class | Bin 0 -> 1031 bytes .../events/CaptureUpdateBlockEvent.class | Bin 0 -> 961 bytes .../server/events/MouseLocationEvent.class | Bin 0 -> 719 bytes .../servlet/HttpTunnelStreamController.class | Bin 0 -> 5457 bytes .../server/session/FlvEncodeException.class | Bin 0 -> 496 bytes .../server/session/FlvStreamToFile$1.class | Bin 0 -> 1926 bytes .../server/session/FlvStreamToFile.class | Bin 0 -> 4197 bytes .../session/ISessionManagerGateway.class | Bin 0 -> 476 bytes .../session/ScreenVideoFlvEncoder.class | Bin 0 -> 2709 bytes .../server/session/ScreenVideoFrame.class | Bin 0 -> 1156 bytes .../BlockStreamEventMessageHandler.class | Bin 0 -> 4674 bytes .../socket/BlockStreamProtocolDecoder.class | Bin 0 -> 6602 bytes .../server/socket/DeskShareServer.class | Bin 0 -> 2621 bytes .../server/socket/NullProtocolEncoder.class | Bin 0 -> 961 bytes .../ScreenCaptureProtocolCodecFactory.class | Bin 0 -> 1267 bytes .../server/streamer/FlvEncodeException.class | Bin 0 -> 498 bytes .../streamer/ScreenVideoFlvEncoder.class | Bin 0 -> 2712 bytes deskshare/common/build/.gitignore | 0 130 files changed, 799 insertions(+), 23 deletions(-) create mode 100644 bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar delete mode 100644 deskshare/applet/build/.gitignore create mode 100755 deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java create mode 100755 deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java create mode 100755 deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java create mode 100755 deskshare/build/com/myjavatools/web/ClientHttpRequest.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$Option.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$OptionException.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class create mode 100755 deskshare/build/jargs/gnu/CmdLineParser.class create mode 100755 deskshare/build/java.policy.applet create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class create mode 100755 deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class delete mode 100644 deskshare/common/build/.gitignore diff --git a/bigbluebutton-apps/.gitignore b/bigbluebutton-apps/.gitignore index b5e1da6d65..4afda0aec1 100644 --- a/bigbluebutton-apps/.gitignore +++ b/bigbluebutton-apps/.gitignore @@ -6,3 +6,4 @@ lib .scala_dependencies .manager .gradle +bin diff --git a/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar b/bigbluebutton-client/resources/bbb-deskshare-applet-0.64.jar new file mode 100644 index 0000000000000000000000000000000000000000..721f0bae524c56453e638e7c24b9b85909b3b155 GIT binary patch literal 123957 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 VbTwfx8}LWR27=n(2b~Pq{{erM^+Nyv literal 0 HcmV?d00001 diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml index bcaf97db50..05f744f15c 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/components/ChatWindow.mxml @@ -53,11 +53,6 @@ /* Set up full screen handler. */ Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN, fullScreenHandler); dispState = Application.application.stage.displayState; - - /*var r:ResourceBundle = new ResourceBundle("fr_FR", "core"); - r.content["truncationIndicator"] = '...'; - resourceManager.addResourceBundle(r); - resourceManager.update();*/ } private function fullScreenHandler(evt:FullScreenEvent):void { diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as index 458f2c918c..eca31a40f8 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/managers/DeskshareManager.as @@ -151,6 +151,7 @@ package org.bigbluebutton.modules.deskshare.managers LogUtil.debug("opening desk share window"); shareWindow = new DesktopPublishWindow(); shareWindow.initWindow(service.getConnection(), module.getCaptureServerUri(), module.getRoom()); + shareWindow.visible = false; openWindow(shareWindow); } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml index 3421bbd96e..3fdbd44c70 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopPublishWindow.mxml @@ -36,9 +36,10 @@ <mate:Listener type="{MadePresenterEvent.SWITCH_TO_PRESENTER_MODE}" method="onChangedPresenter" /> <mate:Listener type="{MadePresenterEvent.SWITCH_TO_VIEWER_MODE}" method="onChangedPresenter" /> <mate:Listener type="{CursorEvent.UPDATE_CURSOR_LOC_EVENT}" method="onUpdateCursorEvent" /> + <mate:Listener type="{ViewStreamEvent.STOP}" method="closePublishWindow" /> + <mx:Script> <![CDATA[ - import org.bigbluebutton.common.LogUtil; import com.asfusion.mate.events.Dispatcher; import flexlib.mdi.events.MDIWindowEvent; @@ -46,6 +47,7 @@ import mx.core.UIComponent; import org.bigbluebutton.common.Images; + import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.main.events.BBBEvent; import org.bigbluebutton.main.events.MadePresenterEvent; import org.bigbluebutton.main.views.MainCanvas; @@ -53,6 +55,7 @@ import org.bigbluebutton.modules.deskshare.events.CursorEvent; import org.bigbluebutton.modules.deskshare.events.ShareWindowEvent; import org.bigbluebutton.modules.deskshare.events.StreamEvent; + import org.bigbluebutton.modules.deskshare.events.ViewStreamEvent; import org.bigbluebutton.util.i18n.ResourceUtil; public static const SCALE:Number = 5; @@ -159,7 +162,8 @@ private function onAppletStart(event:AppletStartedEvent):void{ LogUtil.debug("DeskShareWindow::onAppletStart"); startStream(connection, room); - + captureWidth = event.videoWidth; + captureHeight = event.videoHeight; var streamEvent:StreamEvent = new StreamEvent(StreamEvent.START); streamEvent.videoWidth = captureWidth; streamEvent.videoHeight = captureHeight; @@ -241,6 +245,10 @@ this.title = ResourceUtil.getInstance().getString('bbb.desktopPublish.title'); } + private function closePublishWindow(event:ViewStreamEvent):void{ + close(); + } + ]]> </mx:Script> <mx:Image id="cursorImg" visible="false" source="@Embed('../../assets/images/cursor4.png')"/> diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml index 62651b5aac..0283c5d6cd 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/deskshare/view/components/DesktopViewWindow.mxml @@ -38,7 +38,6 @@ <mx:Script> <![CDATA[ - import org.bigbluebutton.common.LogUtil; import com.asfusion.mate.events.Dispatcher; import flash.sampler.NewObjectSample; @@ -49,6 +48,7 @@ import mx.core.UIComponent; import org.bigbluebutton.common.Images; + import org.bigbluebutton.common.LogUtil; import org.bigbluebutton.main.api.IUserListener; import org.bigbluebutton.main.api.UserManager; import org.bigbluebutton.main.model.User; @@ -159,6 +159,7 @@ } public function startVideo(connection:NetConnection, stream:String, width:Number, height:Number):void{ + Alert.show("" + width + "x" + height); this.videoWidth = width; this.videoHeight = height; diff --git a/deskshare/applet/build/.gitignore b/deskshare/applet/build/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java index e0192797fc..641c76ccbb 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskShareApplet.java @@ -22,6 +22,8 @@ package org.bigbluebutton.deskshare.client; import java.applet.Applet; import java.awt.Image; +import org.bigbluebutton.deskshare.client.frame.RecordingAppletFrame; + public class DeskShareApplet extends Applet implements ClientListener { private static final long serialVersionUID = 1L; @@ -40,25 +42,38 @@ public class DeskShareApplet extends Applet implements ClientListener { DeskshareClient client; Image icon; + private RecordingAppletFrame raf; + public boolean isSharing = false; + public void init() { + raf = new RecordingAppletFrame(5); + raf.setHeight(300); + raf.setWidth(600); + raf.centerOnScreen(); + raf.setVisible(true); + raf.setApplet(this); + hostValue = getParameter("IP"); String port = getParameter("PORT"); if (port != null) portValue = Integer.parseInt(port); roomValue = getParameter("ROOM"); - cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH")); - cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT")); - xValue = Integer.parseInt(getParameter("X")); - yValue = Integer.parseInt(getParameter("Y")); + //cWidthValue = Integer.parseInt(getParameter("CAPTURE_WIDTH")); + //cHeightValue = Integer.parseInt(getParameter("CAPTURE_HEIGHT")); + //xValue = Integer.parseInt(getParameter("X")); + //yValue = Integer.parseInt(getParameter("Y")); + + cWidthValue = raf.getWidth(); + cHeightValue = raf.getHeight(); + xValue = raf.getX(); + yValue = raf.getY(); sWidthValue = cWidthValue; - String scaleWidth = getParameter("SCALE_WIDTH"); - if (scaleWidth != null) { - sWidthValue = Integer.parseInt(scaleWidth); - } + //String scaleWidth = getParameter("SCALE_WIDTH"); + //if (scaleWidth != null) sWidthValue = Integer.parseInt(scaleWidth); sHeightValue = cHeightValue; - String scaleHeight = getParameter("SCALE_HEIGHT"); - if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight); + //String scaleHeight = getParameter("SCALE_HEIGHT"); + //if (scaleHeight != null) sHeightValue = Integer.parseInt(scaleHeight); String qualityCapture = getParameter("SCALE_WITH_QUALITY"); if (qualityCapture != null) qualityValue = Boolean.parseBoolean(qualityCapture); @@ -72,14 +87,44 @@ public class DeskShareApplet extends Applet implements ClientListener { } public void start() { - System.out.println("Start"); + /*System.out.println("Start"); + client = new DeskshareClient.Builder().host(hostValue).port(portValue) + .room(roomValue).captureWidth(cWidthValue) + .captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue) + .quality(qualityValue).aspectRatio(aspectRatioValue) + .x(xValue).y(yValue) + .httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build(); + client.start();*/ + //raf.setDimensionsListener(client); + } + + public void setDimensions(int X, int Y, int width, int height){ + cWidthValue = width; + cHeightValue = height; + xValue = X; + yValue = Y; + sWidthValue = width; + sHeightValue = height; + } + + public void setScreenCoordinates(int X, int Y){ + if (client != null) client.setScreenCoordinates(X, Y); + } + + public void startSharing(){ + System.out.println("Start Sharing"); client = new DeskshareClient.Builder().host(hostValue).port(portValue) .room(roomValue).captureWidth(cWidthValue) .captureHeight(cHeightValue).scaleWidth(sWidthValue).scaleHeight(sHeightValue) .quality(qualityValue).aspectRatio(aspectRatioValue) .x(xValue).y(yValue) .httpTunnel(tunnelValue).trayIcon(icon).enableTrayIconActions(false).build(); + raf.setDimensionsListener(this); + isSharing = true; client.start(); + + raf.btnStartStop.setLabel("Stop Sharing"); + raf.removeResizeListeners(); } @@ -101,4 +146,5 @@ public class DeskShareApplet extends Applet implements ClientListener { public void onClientStop(ExitCode reason) { stop(); } + } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java index a542882e84..8c66369647 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/DeskshareClient.java @@ -32,7 +32,7 @@ import org.bigbluebutton.deskshare.client.net.NetworkStreamSender; import org.bigbluebutton.deskshare.common.Dimension; import org.bigbluebutton.deskshare.client.net.ConnectionException; -class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, +public class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, SystemTrayListener, MouseLocationListener, NetworkConnectionListener { private static final String LICENSE_HEADER = "This program is free software: you can redistribute it and/or modify\n" + "it under the terms of the GNU Lesser General Public License as published by\n" + @@ -99,7 +99,7 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, capture = new ScreenCapture(x, y, captureWidth, captureHeight, scaleWidth, scaleHeight, quality); captureTaker = new ScreenCaptureTaker(capture); - mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight); + mTaker = new MouseLocationTaker(captureWidth, captureHeight, scaleWidth, scaleHeight, x, y); // Use the scaleWidth and scaleHeight as the dimension we pass to the BlockManager. // If there is no scaling required, the scaleWidth and scaleHeight will be the same as @@ -169,6 +169,12 @@ class DeskshareClient implements IScreenCaptureListener, ChangedBlocksListener, public void setScreenCoordinates(int x, int y) { capture.setX(x); capture.setY(y); + mTaker.setCaptureCoordinates(x, y); + } + + public void setScreenDimensions(int width, int height){ + capture.setWidth(width); + capture.setHeight(height); } public void onScreenCaptured(BufferedImage screen) { diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java index 33dcabee8d..ece7db628b 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/MouseLocationTaker.java @@ -33,11 +33,17 @@ public class MouseLocationTaker implements Runnable { private int scaleWidth; private int scaleHeight; - public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight) { + private int captureX; + private int captureY; + + public MouseLocationTaker(int captureWidth, int captureHeight, int scaleWidth, int scaleHeight, int captureX, int captureY) { this.captureWidth = captureWidth; this.captureHeight = captureHeight; this.scaleWidth = scaleWidth; this.scaleHeight = scaleHeight; + + this.captureX = captureX; + this.captureY = captureY; } public Point getMouseLocation() { @@ -57,7 +63,8 @@ public class MouseLocationTaker implements Runnable { if (adjustPointerLocationDueToScaling()) { pointerLocation = calculatePointerLocation(pInfo.getLocation()); } else { - pointerLocation = pInfo.getLocation(); + //pointerLocation = pInfo.getLocation(); + pointerLocation = calculatePointerLocation(pInfo.getLocation()); } return pointerLocation; } @@ -65,6 +72,10 @@ public class MouseLocationTaker implements Runnable { private Point calculatePointerLocation(Point p) { double mx = ((double)p.x/(double)captureWidth) * (double)scaleWidth; double my = ((double)p.y/(double)captureHeight) * (double)scaleHeight; + + mx = mx - captureX; + my = my - captureY; + return new Point((int)mx, (int)my); } @@ -99,4 +110,9 @@ public class MouseLocationTaker implements Runnable { public void stop() { trackMouseLocation = false; } + + public void setCaptureCoordinates(int x, int y){ + captureX = x; + captureY = y; + } } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java index 2409240c1c..e508f39921 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/ScreenCapture.java @@ -94,6 +94,16 @@ public class ScreenCapture { updateBounds(); } + public void setWidth(int width) { + this.captureWidth = width; + updateBounds(); + } + + public void setHeight(int height) { + this.captureHeight = height; + updateBounds(); + } + public void updateBounds() { this.screenBounds = new Rectangle(x, y, captureWidth, captureHeight); } diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java new file mode 100755 index 0000000000..37e20903d3 --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/Corner.java @@ -0,0 +1,25 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +public enum Corner { + NORTHWEST, NORTHEAST, SOUTHEAST, SOUTHWEST +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java new file mode 100755 index 0000000000..93a339ab22 --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.java @@ -0,0 +1,118 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +import java.awt.AWTException; +import java.awt.Button; +import java.awt.FlowLayout; +import java.awt.Robot; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseAdapter; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.JPanel; + +import org.bigbluebutton.deskshare.client.DeskShareApplet; + +public class RecordingAppletFrame extends WindowlessFrame { + private static final long serialVersionUID = 1L; + + private final Robot mRobot; + private DeskShareApplet applet; + public Button btnStartStop; + + public RecordingAppletFrame(int borderWidth) { + super(borderWidth); + setToolbar(createToolbar()); + + try { + mRobot = new Robot(); + } catch(AWTException ex) { + throw new RuntimeException("could not initialize the robot: " + ex.getMessage(), ex); + } + } + + private JPanel createToolbar() { + final JPanel panel = new JPanel(); + panel.setLayout(new FlowLayout()); + //final Button move = new Button("Move frame"); + final MouseAdapter moving = createMovingMouseListener(); + //move.addMouseListener(moving); + //move.addMouseMotionListener(moving); + //panel.add(move); + btnStartStop = new Button("Start Capture"); + btnStartStop.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + //captureSelectedArea(); + startCapture(); + } + }); + panel.add(btnStartStop); + //panel.setSize(); + return panel; + } + + public final void captureSelectedArea() { + final BufferedImage image = mRobot.createScreenCapture(getFramedRectangle()); + try { + File outputfile = File.createTempFile("screencap-", ".png"); + ImageIO.write(image, "png", outputfile); + System.out.println("selected area captured to: " + outputfile.getAbsolutePath()); + } catch (IOException ioe) { + throw new RuntimeException("could not capture selected area as an image: " + ioe.getMessage(), ioe); + } + } + + public final void startCapture(){ + if (!applet.isSharing){ + applet.setDimensions(getX(), getY(), getWidth(), getHeight()); + applet.startSharing(); + } else{ + applet.stop(); + applet.destroy(); + System.exit(0); //Can't find any other way to close the applet. + } + + } + + public void setApplet(DeskShareApplet applet){ + this.applet = applet; + } + + public static void main(String[] args) { + /* + final JFrame frame = new JFrame("test"); + frame.setContentPane(createToolbar()); + frame.pack(); + frame.setVisible(true); + */ + final RecordingAppletFrame raf = new RecordingAppletFrame(5); + raf.setHeight(300); + raf.setWidth(600); + raf.centerOnScreen(); + raf.setVisible(true); + } +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java new file mode 100755 index 0000000000..fdac5580cb --- /dev/null +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.java @@ -0,0 +1,541 @@ +/* + * BigBlueButton - http://www.bigbluebutton.org + * + * Copyright (c) 2008-2010 by respective authors (see below). All rights reserved. + * + * BigBlueButton is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, If not, see <http://www.gnu.org/licenses/>. + * + * @author Jeremy Thomerson <jthomerson@genericconf.com> + * $Id: $ + */ +package org.bigbluebutton.deskshare.client.frame; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Component; +import java.awt.Cursor; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.GradientPaint; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.awt.Insets; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.Window; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; +import java.io.Serializable; +import java.util.concurrent.atomic.AtomicBoolean; + +import javax.swing.JFrame; +import javax.swing.JPanel; + +import org.bigbluebutton.deskshare.client.DeskShareApplet; +import org.bigbluebutton.deskshare.client.DeskshareClient; + + +public class WindowlessFrame implements Serializable { + private static final long serialVersionUID = 1L; + + private DeskShareApplet dimensionsListener; + private MouseAdapter resizingAdapter; + private MouseAdapter movingAdapter; + + private static interface PropertyChanger { + void changeOn(Component component); + } + + private static interface LocationAndSizeUpdateable { + void updateLocationAndSize(); + } + + private static interface OffsetLocator { + int getLeftOffset(); + int getTopOffset(); + } + + private static class StaticOffsetLocator implements OffsetLocator { + private final int mLeftOffset; + private final int mTopOffset; + + public StaticOffsetLocator(int left, int top) { + mLeftOffset = left; + mTopOffset = top; + } + + @Override + public int getLeftOffset() { + return mLeftOffset; + } + + @Override + public int getTopOffset() { + return mTopOffset; + } + } + + private static final PropertyChanger REPAINTER = new PropertyChanger() { + @Override + public void changeOn(Component component) { + if (component instanceof LocationAndSizeUpdateable) { + ((LocationAndSizeUpdateable) component).updateLocationAndSize(); + } + component.repaint(); + } + }; + + + // properties that change during use + private Point mTopLeft = new Point(); + private Dimension mOverallSize = new Dimension(); + + // properties initialized during construction + private final BasicStroke mBorderStroke = new BasicStroke(5, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 0, new float[] { 12, 12 }, 0); + private final GradientPaint mGradient = new GradientPaint(0.0f, 0.0f, Color.red, 1.0f, 1.0f, Color.white, true); + + private final int mBorderWidth; + private final JFrame mWindowFrame; + private final BarFrame mTopBorder; + private final BarFrame mRightBorder; + private final BarFrame mBottomBorder; + private final BarFrame mLeftBorder; + private ToolbarFrame mToolbarFrame; + + private class ToolbarFrame extends Window implements LocationAndSizeUpdateable { + private static final long serialVersionUID = 1L; + + private final OffsetLocator mOffsetLocator; + + public ToolbarFrame(JFrame frame, OffsetLocator ol, JPanel content) { + super(frame); + super.setAlwaysOnTop(true); + frame.setAlwaysOnTop(true); + mOffsetLocator = ol; + //setUndecorated(true); + add(content); + pack(); + } + + public void updateLocationAndSize() { + setLocation(getLocation()); + } + + @Override + public Point getLocation() { + return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset()); + } + } + + private class WindowlessFrameMovingMouseListener extends MouseAdapter { + + private AtomicBoolean mMoving = new AtomicBoolean(false); + + private Point mActionOffset = null; + + @Override + public void mouseDragged(MouseEvent e) { + final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x; + final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y; + if (mMoving.get() && !e.isConsumed()) { + WindowlessFrame.this.setLocation(changeInX + mTopLeft.x, changeInY + mTopLeft.y); + } + } + + @Override + public void mousePressed(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y); + mMoving.set(true); + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR)); + } + + @Override + public void mouseReleased(MouseEvent e) { + mMoving.set(false); + mActionOffset = null; + e.getComponent().setCursor(Cursor.getDefaultCursor()); + } + + } + + private class WindowlessFrameResizingMouseListener extends MouseAdapter { + + private static final int CORNER_SIZE = 15; + + private AtomicBoolean mResizing = new AtomicBoolean(false); + + private Point mActionOffset = null; + private Dimension mOriginalSize = null; + private Corner mCorner; + + @Override + public void mouseDragged(MouseEvent e) { + final int changeInX = e.getLocationOnScreen().x - mActionOffset.x - mTopLeft.x; + final int changeInY = e.getLocationOnScreen().y - mActionOffset.y - mTopLeft.y; + if (mResizing.get()) { + int newH = mOriginalSize.height; + int newW = mOriginalSize.width; + if (mCorner == Corner.SOUTHEAST) { + newH += changeInY; + newW += changeInX; + } else if (mCorner == Corner.NORTHEAST) { + mTopLeft.y = mTopLeft.y + changeInY; + newH = mOverallSize.height + -changeInY; + newW += changeInX; + } else if (mCorner == Corner.NORTHWEST) { + mTopLeft.y = mTopLeft.y + changeInY; + newH = mOverallSize.height + -changeInY; + mTopLeft.x = mTopLeft.x + changeInX; + newW = mOverallSize.width + -changeInX; + } else if (mCorner == Corner.SOUTHWEST) { + newH += changeInY; + mTopLeft.x = mTopLeft.x + changeInX; + newW = mOverallSize.width + -changeInX; + } + //System.out.println("orig size: " + mOriginalSize + ", newH: " + newH + ", newW: " + newW + ", X: " + changeInX + ", Y: " + changeInY); + WindowlessFrame.this.setSize(newH, newW); + e.consume(); + } + } + + @Override + public void mousePressed(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + mActionOffset = new Point(mouse.x - mTopLeft.x, mouse.y - mTopLeft.y); + mOriginalSize = new Dimension(mOverallSize); + mCorner = nearCorner(mouse); + if (mCorner != null) { + mResizing.set(true); + } + } + + @Override + public void mouseReleased(MouseEvent e) { + mResizing.set(false); + mActionOffset = null; + mOriginalSize = null; + mCorner = null; + } + + private Corner nearCorner(Point mouse) { + if (isNearBottomRightCorner(mouse)) { + return Corner.SOUTHEAST; + } else if (isNearTopRightCorner(mouse)) { + return Corner.NORTHEAST; + } else if (isNearTopLeftCorner(mouse)) { + return Corner.NORTHWEST; + } else if (isNearBottomLeftCorner(mouse)) { + return Corner.SOUTHWEST; + } + return null; + } + + private boolean isNearBottomRightCorner(Point mouse) { + int xToBotLeft = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x); + int yToBotLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y); + return xToBotLeft < CORNER_SIZE && yToBotLeft < CORNER_SIZE; + } + + private boolean isNearTopRightCorner(Point mouse) { + int xToTopRight = Math.abs(mTopLeft.x + (int) mOverallSize.getWidth() - mouse.x); + int yToTopRight = Math.abs(mTopLeft.y - mouse.y); + return xToTopRight < CORNER_SIZE && yToTopRight < CORNER_SIZE; + } + + private boolean isNearBottomLeftCorner(Point mouse) { + int xToBottomLeft = Math.abs(mTopLeft.x - mouse.x); + int yToBottomLeft = Math.abs(mTopLeft.y + (int) mOverallSize.getHeight() - mouse.y); + return xToBottomLeft < CORNER_SIZE && yToBottomLeft < CORNER_SIZE; + } + + private boolean isNearTopLeftCorner(Point mouse) { + int xToTopLeft = Math.abs(mTopLeft.x - mouse.x); + int yToTopLeft = Math.abs(mTopLeft.y - mouse.y); + return xToTopLeft < CORNER_SIZE && yToTopLeft < CORNER_SIZE; + } + + @Override + public void mouseMoved(MouseEvent e) { + final Point mouse = e.getLocationOnScreen(); + if (isNearTopLeftCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NW_RESIZE_CURSOR)); + } else if (isNearBottomLeftCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SW_RESIZE_CURSOR)); + } else if (isNearTopRightCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.NE_RESIZE_CURSOR)); + } else if (isNearBottomRightCorner(mouse)) { + e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.SE_RESIZE_CURSOR)); + } else { + e.getComponent().setCursor(Cursor.getDefaultCursor()); + } + } + } + + private class BarFrame extends Window implements LocationAndSizeUpdateable { + private static final long serialVersionUID = 1L; + + private final OffsetLocator mOffsetLocator; + + public BarFrame(Frame frame, OffsetLocator offsetLocator) { + super(frame); + mOffsetLocator = offsetLocator; + //setUndecorated(true); + } + + @Override + public void paint(Graphics g) { + if (shouldPaintRectangle()) { + Graphics2D g2 = (Graphics2D) g; + g2.setStroke(mBorderStroke); + g2.setPaint(mGradient); + g2.drawRect(0, 0, getWidth(), getHeight()); + } else { + super.paint(g); + } + } + + protected boolean shouldPaintRectangle() { + return true; + } + + public void updateLocationAndSize() { + setSize(getWidth(), getHeight()); + setLocation(getLocation()); + } + + @Override + public Point getLocation() { + return new Point(mTopLeft.x + mOffsetLocator.getLeftOffset(), mTopLeft.y + mOffsetLocator.getTopOffset()); + } + + @Override + public int getHeight() { + return mBorderWidth; + } + + @Override + public int getWidth() { + return mOverallSize.width; + } + } + + private class HorizontalBarFrame extends BarFrame { + private static final long serialVersionUID = 1L; + + public HorizontalBarFrame(JFrame frame, OffsetLocator offsetLocator) { + super(frame, offsetLocator); + super.setAlwaysOnTop(true); + } + } + + private class VerticalBarFrame extends BarFrame { + private static final long serialVersionUID = 1L; + + public VerticalBarFrame(JFrame frame, OffsetLocator offsetLocator) { + super(frame, offsetLocator); + super.setAlwaysOnTop(true); + } + + @Override + public int getWidth() { + return mBorderWidth; + } + + @Override + public int getHeight() { + return mOverallSize.height; + } + } + + public WindowlessFrame(int borderWidth) { + mBorderWidth = borderWidth; + + mWindowFrame = new JFrame("Windowless Frame"); + //mWindowFrame.setAlwaysOnTop(true); + + mTopBorder = new HorizontalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0)); + mBottomBorder = new HorizontalBarFrame(mWindowFrame, new OffsetLocator() { + + @Override + public int getTopOffset() { + return mOverallSize.height; + } + + @Override + public int getLeftOffset() { + return 0; + } + }); + + mRightBorder = new VerticalBarFrame(mWindowFrame, new OffsetLocator() { + + @Override + public int getTopOffset() { + return 0; + } + + @Override + public int getLeftOffset() { + return mOverallSize.width; + } + }); + mLeftBorder = new VerticalBarFrame(mWindowFrame, new StaticOffsetLocator(0, 0)); + + movingAdapter = createMovingMouseListener(); + resizingAdapter = createResizingMouseListener(); + changeBarFrames(new PropertyChanger() { + @Override + public void changeOn(Component component) { + component.addMouseListener(resizingAdapter); + component.addMouseMotionListener(resizingAdapter); + component.addMouseListener(movingAdapter); + component.addMouseMotionListener(movingAdapter); + } + }, false); + } + + public final MouseAdapter createMovingMouseListener() { + return new WindowlessFrameMovingMouseListener(); + } + + public final MouseAdapter createResizingMouseListener() { + return new WindowlessFrameResizingMouseListener(); + } + + public void setToolbar(JPanel toolbar) { + final OffsetLocator toolbarOffsetLocator = new OffsetLocator() { + @Override + public int getTopOffset() { + return mOverallSize.height + mBorderWidth; + } + + @Override + public int getLeftOffset() { + return 0; + } + }; + mToolbarFrame = new ToolbarFrame(mWindowFrame, toolbarOffsetLocator, toolbar); + } + + public final void setSize(int height, int width) { + setHeight(height); + setWidth(width); + repaint(); + } + + public final void setWidth(int width) { + mOverallSize.width = width; + } + + public final void setHeight(int height) { + mOverallSize.height = height; + } + + public final void setLocation(int x, int y) { + mTopLeft.x = x; + mTopLeft.y = y; + repaint(); + + if (dimensionsListener != null) dimensionsListener.setScreenCoordinates(x, y); + } + + public final int getX(){ + return mTopLeft.x; + } + + public final int getY(){ + return mTopLeft.y; + } + + public final int getWidth(){ + return mOverallSize.width; + } + + public final int getHeight(){ + return mOverallSize.height; + } + + public final void centerOnScreen() { + Toolkit kit = mLeftBorder.getToolkit(); + GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsDevice[] gs = ge.getScreenDevices(); + Insets in = kit.getScreenInsets(gs[0].getDefaultConfiguration()); + + Dimension d = kit.getScreenSize(); + int maxWidth = (d.width - in.left - in.right); + int maxHeight = (d.height - in.top - in.bottom); + setLocation((int) (maxWidth - mOverallSize.width) / 2, (int) (maxHeight - mOverallSize.height) / 2); + } + + public final Rectangle getFramedRectangle() { + return new Rectangle(mTopLeft.x + mBorderWidth, mTopLeft.y + mBorderWidth, mOverallSize.width - mBorderWidth, mOverallSize.height - mBorderWidth); + } + + public final void setVisible(final boolean b) { + changeAll(new PropertyChanger() { + @Override + public void changeOn(Component component) { + component.setVisible(b); + } + }, true); + } + + private void changeBarFrames(PropertyChanger pc, boolean repaint) { + pc.changeOn(mTopBorder); + pc.changeOn(mRightBorder); + pc.changeOn(mBottomBorder); + pc.changeOn(mLeftBorder); + if (repaint) { + repaint(); + } + } + + private void changeAll(PropertyChanger pc, boolean repaint) { + pc.changeOn(mToolbarFrame); + changeBarFrames(pc, repaint); + } + + public final void repaint() { + changeAll(REPAINTER, false); + } + + public static void main(String[] args) { + final WindowlessFrame wf = new WindowlessFrame(5); + wf.setHeight(300); + wf.setWidth(600); + wf.setLocation(100, 200); + wf.setVisible(true); + } + + public void setDimensionsListener(DeskShareApplet applet){ + this.dimensionsListener = applet; + } + + public void removeResizeListeners(){ + mRightBorder.removeMouseListener(resizingAdapter); + mRightBorder.removeMouseMotionListener(resizingAdapter); + mLeftBorder.removeMouseListener(resizingAdapter); + mLeftBorder.removeMouseMotionListener(resizingAdapter); + mTopBorder.removeMouseListener(resizingAdapter); + mTopBorder.removeMouseMotionListener(resizingAdapter); + mBottomBorder.removeMouseListener(resizingAdapter); + mBottomBorder.removeMouseMotionListener(resizingAdapter); + } + +} diff --git a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java index 1cfa6fb614..4f5a044d84 100755 --- a/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java +++ b/deskshare/applet/src/main/java/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.java @@ -75,6 +75,7 @@ public class NetworkSocketStreamSender implements Runnable { try { ByteArrayOutputStream dataToSend = new ByteArrayOutputStream(); dataToSend.reset(); + System.out.println("Screen Dimension " + screenDim.getWidth() + "," + screenDim.getHeight()); BlockStreamProtocolEncoder.encodeStartStreamMessage(room, screenDim, blockDim, dataToSend); sendHeader(BlockStreamProtocolEncoder.encodeHeaderAndLength(dataToSend)); sendToStream(dataToSend); diff --git a/deskshare/build/com/myjavatools/web/ClientHttpRequest.class b/deskshare/build/com/myjavatools/web/ClientHttpRequest.class new file mode 100755 index 0000000000000000000000000000000000000000..bf4a1874b1d8ba6f822194f411676af6c6309cef GIT binary patch literal 10230 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 T6)LGl_$|qKAKtGHRaO5NCf^=+ literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class b/deskshare/build/jargs/gnu/CmdLineParser$IllegalOptionValueException.class new file mode 100755 index 0000000000000000000000000000000000000000..7cc296a9fcd7d18ca25a8999747ef6128c469661 GIT binary patch literal 1370 zcmb7ETTc@~6#iy=*==0}3Wyf13!<fkQUvh^Vx>Ytg12C5d|cXLS>5h7yIbNv@>LUo zL=zu<@HhBd#51#%#I|BglbLhoT)uC=In(byKYs<Vhz%7A!_phmw}P_ew#(IKW7~H5 zbJGvFKfUER+%lbKt<d(|n(4Ip#=AO~o{Bg_{%?g*#c47_(vwvT#`f7YD-4MPfy9uZ z)C05Zn66dc34PnOD41NeT{~Q3Sf2S;r{3~HjUit38eGKy!+3Z5^|tLaxUXT5VX*V< zh9qO;)6g-jBZUmZn1JqLR;Y=LQ5|ErKrGExi@ObmQoq!m>JIRVhKmdXd1KG>jYu#f zjVvy!m|)1AEu4-k$T6gXea{a!J-^8?I#cL@A`F9pl{8GzRu-hEbzB#vTIfYGYsfP| zLxDjll>~!X9dk0p@mxzZPa}rm6d1}n5=aW`rVbSvDJKT#X}h`0{g>vhBQMgcn@-L2 zZQ*wg<Key?&@~dn{~kV?gBa;UTJ3~p{p}O8C7Y_a$1v1=HKd8f!)PKIrlcnQ5u+Sx zu2F#;cZT$i*Y@jt)0Q9d$McvMNDTUx>vF&9m_fh;6_4a#^#x#<IO9dp)chtn7#XMU z2a}|4j9#olKayKoBsT3ailmUH^&ELWC@S(^6~91#ojHGup}8ZBWX5TkJ;J4L$jQJ} z3J71sCTTgswf9J5ZU}!S$}L96$0!wN4>4byJH*0A3AjjWj_w+$6KowLXy86Lwy}p7 zuu#K3mMCgORB#K+<Pj;{Ch9a<WC`*L?vP!8azY8Qq>8MHyHLo`Pbls5L>RgVF@jm4 zReWigcF`(P{Dk=rWGM7^hED&c#Mh&Q4nD&wvF<Hi=q~pA6f1ZjA=dDa_N-LBf^||p Piwdgo6rEJ?IG*|iM#ex3 literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class b/deskshare/build/jargs/gnu/CmdLineParser$NotFlagException.class new file mode 100755 index 0000000000000000000000000000000000000000..b11fb2f9dcce1a709a97fb97b1ca701b0764825d GIT binary patch literal 1019 zcma)5+iuf95IvKmbsAjSnqIgB>e52uq-|({7lL@eqEe-*6bcbMZj;4vao53@z(?_d z1g!)TAHYW;W}OI$G$3qwcRV|L=IqSbA3wi-2e6I%26BYzv5365;i<IYo^<wnB@aXt z%V=#sOm+g{J^9d<y~GcdfdXOkZ_zK+TNS=nPqWb9dkBUKlQ#@QAeS)t&{ux)h_G1Q zI~IM>2!!$)he_lsujx81Lct9?(!d46(rCcr)DJo`Dq@;2w;Ke~6M-FO2_M*%5=xjc zVPKZ9Fb3Ue=?KfjCCoDs(d$XoA#98bJ;!aBx>>{`Q>?5H(p}bIR|w^*>-=NOHG);K zBl#}%BN^Mm?u#Imn$2|+H?T}7CgGq4g!$@usAdUytmw1dBvi%_K9{`dw5C8<Gckcl z!i;X~etL2wqZi^RkW6SVY>S{JB47UxorR?9$AlWg{huV7T*yHKG~#H#c(s%&-F(lF zyM$>^CIfxAT@exTRfi=}It<gOEqDBk)*ljNvGoPP+*L|OZXn`V#s;=CX^bUEm>pFu zOKrR~vBCw)^F<)!bd}i3@n@jOo+-9s_Ud(~R{w_5Ys);t#ri4ctOXv*r&zMCvT=&? z8SGm53syg65Vv@=P~h<Z^LU0;JVzCWxXm7W0Eh~E^yBbb<8<1pGld-6>)03)Xz;Ap sCTgFt`jL$sH27rZe3b#3gMcAm4x3q219y0~GPo_=<<sP`g?pI#1*}r`-v9sr literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$BooleanOption.class new file mode 100755 index 0000000000000000000000000000000000000000..4bb08f9ef8cd5fe13f02282e4edbbeb59cfb5774 GIT binary patch literal 689 zcma)3T`vPc6g{_Hwyjc%`W6xoEz%}lD<n3NkOm3qgSWwCyRw~;*{%PDAo1V__)+4{ zZX=<Hd6>E9=G=4dx%2k^@(N%J%Pum6&1+%&sNt(#!|PtP0wqs`iKJOOzKH{^*7mdx zrBEqy;SiSpt{@C=2P%kn2$ibWx)!&h5enruPGb`&zgcS&98X`#0<y>#F@yqP<|pR4 zrIzeSN4@TaG-u)>l!S6iUy86TOki<8>BOBNBGkFx|Lrsh`KY5!ysu4{Kpr6%YUQV} zJUBaHx;mJxwXKzDYo%gM4>A%bg;U)#mvTQyOng~(-EN6cJWxs+FBDNEBNq$2mtXAg zlG7g{jDGnctb%wLdommiVVG~1(IK29pIcwp%swM`moP^7E-(|gXVwFX9Id20jAD!t zkV6UMtYV`Hl>54qecfGV+j@6>gJq|_%Rce|Pl;?LrG3h}i5PKqhRZXU#T>s@K8txQ LI(cr8#S-!#*pQoT literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$DoubleOption.class new file mode 100755 index 0000000000000000000000000000000000000000..a77b5166c31058babb6915e80f98a32b23335098 GIT binary patch literal 1553 zcma)6T~8B16g>l5mM%p;gaSnov|>wvDu^OQPzxvq!30BsZ%bLr;<6>%t>Fjx1M~%q zB>L_z(ddI3eKnq$ZA!5~e3_lObMKjR?wr|Af8KupFos7u>I72Trk5|K^KL1f-Pv5S zUF)go6)i8mvg_LgH$GP=Z8%o2(4h(Ron0W%Fm1cGKO+!LWS6$hS7zEV-F$l0_iQ(x zNv;WK*}|q}pdR4}LNElnPRe{PQ(GjX<<icE<vlY=M4)}CkTab%)3fEe9Mt?RyC^Wi z^Zr{+Mj%|=DtP`v!P^lKS%F5U;O2v6do6W=&O~iAxh9o#N+nULxi&)yF?MBJ*G#8G z4U;Ei1$8CgcG60rl}T1Xt!!*tIiHk``MsQ_uBND?S77`!#fy$(<xMBJIdyKO(!fPr z($Pn{>VAA{&rb(Umf}r6f_@ALwB;>72rs%t-*j`NK3t}L0?`_nj6CQ{1aVvy2&o1L z44$C9T4``#M#nXQ)+74_J~WU-O2^Q#t)L=;VT=egZ7Rc-8(p7B&KVd)T3*j}IxjIN z?<<Be85kFskZjJfOs47*Di+o;A<%u)JN0BL?G>meBp-q!ovJLWQmb3W-509W#0gHQ z?H+O55}jFX#d3FOSK`L1Dvwj3QJPnMGxzd|xm$iB#%iJD<*Wr;F*^3vM<qRh$fE07 zUe+;-MT_Q|<GVbiHv+w9*o)c%*AcS%_kjUW68}BmNJF53qt4Z1Xe!<~)H|#lpz$qZ zb!g&f@C$rq))z!L>ksnKjB{K8jc7qDQRJ)*?aY?A=gYXW%$D`~P>Qe}|H6JHfo}>n z8l+WVbp=MdpbOpH>mi6n(3qn8n)47N@!@y4uso95$K@&Q5QFPI+CCBo7=5#Rh}im2 z>Hs%BDstUKxJfcnQdHG`=lFwX|K!du;{H}VX2^)R6&`Wiq9`dZj@y_dlMp&^2UEm~ yFe`&;a*44`cQM1*EHl~Eb)Bcx;T~6YxQ_??#<&|p7V`*mmc@b=CT=|*BK#LCKz<<r literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$IntegerOption.class new file mode 100755 index 0000000000000000000000000000000000000000..06309601e6dbeb9baa10aded3c82fc52082ed629 GIT binary patch literal 1241 zcma)6T~8B16g|_fY`gLyP(Tavp{TSVRf&m7jXpGz)D$qmG{Lu_OqRuEm+Wp0KTDrT zB!TFIQGb;2%xqJNe8e=FoqOlrbI-YVroaDuJpu3xD>gC$OM5bM<BA)!E4BTdh8L)J zGKy6+zj2UwVK84066LBWwQN`d)7NJR^u6=~FL@;}zEErI$xpK4%fPK{CXpAo)lyTy zs)aksK^FOb+<+r6aarUC9Xg~bt+)5LRrFqN`$}M>5w@h?l#!?Hj?+qZy;xwG_5NQ@ zRUjYlhEcK_M*9MyCXn;Pz)j7Oi`)gq7A|^AO)X_iOBvUqFGd(8&Vg=hQ~GU+cyUQo zn%7P|zhWe+YN-cmV|!1v5>j^F9JZ7hPHbaRVC5>wb>CO6^wZIqy4_40cLj#eX49Fn zgDK2t9itA4nA5v^0?#$q>$+O)q1m0Xjd_8Yvl8hHb!%nP<spzIGOvuUXKIFPGJ2c9 z!SG<Nr^cmF?99MsB3mEV<U!|BIGbTRYN=JvAfLP5%ess}e?16PRP$vVD|WNOn|Os( zfyrz7Nd;+}N#fj#!5pZO?+si9``O3Uru7z<@#o5uOV$x`U+Bx=CRc}F;Dk}9=;v-W zjl%#2X#qJ5;TBQ!ZWtqs*0`e`+}DiO`F44cu!VnNzmdRq13R9EbzyA-#<z(H+~(OG zf>;DC8oGzvTl5r;F}1aLgz3-g$0%-<xt%@jkjdjdi)#skhVl>O@so0XnR?|kzgw?> z2PCg$6z~v_Skd8c0VU>^>1CtpHW4#eq?N%E9`jq|X%WkKLhLNRPpv#Lviv*C{{^d$ BDB1u3 literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$LongOption.class new file mode 100755 index 0000000000000000000000000000000000000000..5d0cbd88f1a25987641e5d68255985e7fbf5d753 GIT binary patch literal 1229 zcma)6T~8B16g|_fY`YdvC`AhbRn&eURf&m7jXpGz)D$qmG{Lu_Y|7$xx7pnqewIFw zNTTn)YV^VAPcfdEZAz7om?pD#?%aFsIrq-=^Y0HI0X)Q-iG)DuKn9(#+VT3;dUvns zc=k&fgm$pJ)r%b8TW<PZCpJwO0t*+13yeK+JSTc8kSo@k2lB0~y3*@Zx1+%EI<-<u zz^MCswuL0p8C-%TFnd<yYZW@F_-yvOyLRwO?z*<XRMT%uw<QBd?FUXH+IK>M3hVu+ zmYP61-1mcM-4D6~qArkfsWjeBohB|YQ#|c0wUmw-r6Z>lpN`Nnte$FVOS*k3czi}w zoY#*Wx2pBowbBUG*6xAbj!4;he%QA4SV9wX0&C~#ZMd%8k#0OUU3Zvi;)cM)$zarc zEzDz4iI}#KM?qOP1s*A)7xl9?!f`lX6UzdNC;0L7R9|H@Bq5L_GB1m(rm4rOGe$eW zsqmmMQsYc0wq<-flI=GevNyO6*0$dd+V;Amk^j2YtE!AZrr~*ZP<Le*+H7T&ckmpk z0&^EMlM3P<b2cXr1qDzb-x#<GHgk-t$=wSW+Mg=Vtr$m0y{9jM%UmsffiH~uiVUr# zI1b~O;0{P(5?6?#tgDz}w8EVp;67ut$~Vgu!e;-4{YC=cHEb>p8^W3zj877?xW=>V z1ThGj*K`kQ8}ww4F~3te!os`FW8`<rG?zXN$fR+L#g&8!P5B4X_(?gxbiHz%KdhI< zZIV|qvbcl0tZ4C9M2Wd&dfBLkNyG#y+$FGrd;I2kn#U^c6FbT810zk0B>%$Fe*g!n BBxwKu literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class b/deskshare/build/jargs/gnu/CmdLineParser$Option$StringOption.class new file mode 100755 index 0000000000000000000000000000000000000000..3d8575ed13e044d97da3dc87721ce682ef3ce68a GIT binary patch literal 872 zcma)4O>fgc5Pjpgabg06KvSU5FM4Piz*0|@QWYdil|T_iD$1d^O}cV7a@N(_=6Asf zi32}?A4NO6j;cTk;xe-{dh_<Z+5P$J`wsy7coD!O^d`b2d6eifil^rTrR7Iqa%px> zE(?|Eozuc7om52tpRoS#0Yd#yX;mB%I=k^;B0h^K6*`G3qJDQs@Z;=UhNz+0!V*Hl z>TSp~3thH~K9tjuG@ryMm4x;n8;f)(jI#Bt=@%C&C%oeO{@YET(9AC~QygbzN}!m~ zNHd*OWqVONVP$u*+Z|dbE7nQJdR|00BjKf8>rkX6dpNiSRn3)!N+ah`_PcXbC!>iR z7c9BP26@M+U4q+&+wlAtAw11WGnU87A%1(-*A`A_z0+EnI2Cy=^8lOt1b^8a-&H+6 z56%AtY=On_M*>G;^L35^SMTAweq(R#rT-0$uiW!+hhxYYxI#cci%**s4tH^nE1-d8 z+-DYhdVn^gE$_n_?;A$j`CzZdw2%IvB@cC~IoeJIyP*vn8UH%0;_-~^EoUp<>wU4& r$+HGPOLNk^8x9XoSdf+G;VITQdU)ol=UC@##n!NaEx+lQx6!-?`<T7i literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$Option.class b/deskshare/build/jargs/gnu/CmdLineParser$Option.class new file mode 100755 index 0000000000000000000000000000000000000000..2575b65f65d57823ddeb83b3dc55f0fb2a2138e5 GIT binary patch literal 2261 zcmah}-*4Mg6#lN`)=6-?HEmK#*OHVn5+^Ln#$c>tY|C2c$l9^Cfs`jVwLBNst{jKK z13ZBEEwmRN7((J1X`q4FB2fg7llY^6bFZB=ZPQkYa_;dx=X~FH?z#7$fB*Okz!|J6 zkQgR6bkA%QO{ZBbZ?0D?$GE9`4a1vW-105gQ6MuM-_YOFi?;5V#l^J^qwX`r8n<1~ zpL4xUhD2p&f64bO$DCn^+OA^;`|&%v<2S0h-82~3DntK8%dz}R45{q?)YV*-K`y)N zMjQ--D&jcCknIt9K<+UvVxhUYW_Zi`noXFAid)z1s_t3b4?oKOZL7hMrYeUufTWCO z%RQkKq;~Zt&>lw;Pjc2{41L*m%3KaB#}UB^{&j*OlFe0Pr0r=Hedy<_j0z=KJ)<Iu zn1W{+rgpkIZ`+2c+gCiZxoJ55?E7^?oK6(aF^nxVZ9Cm=ciM6Nv~Jt(9b-L?Y2-Ml z#*pmMKu&F7$=B=e-q5$gwv1$R`^5^*bZ}AA@WXRF-=kiT*z_&CC^~M;bk_<-hx!@s z@NXzM!*KSX69{DolPGXInNhsJK*~yZkqdl@;T$J)=t=I^m8<d@ds)Q=6p7aspL~H6 z!$n+D@Cw7w&M91VUE9zd6|dqljp*{Nm05=2uBu@GNsJH^nsb}aoftq-rMoi(x8ydx zx-n;oh+UWO6c1-m=N-rJ%C_EU7}ToQX%r8T$S{6LvxrIiHdh!52h<2}{B)=y$e;n) z<ttcZ$RAPRn%ks%)-IrSy9#a{&0yZ~4b$-21qOEc3RW0$M=+?+<I_%$?>GwHKAL@S zjoaC3w<~98Tq5*(Mj-LKODl=rTw&?nl8r*9d3=K6RPwHq$K#_K%b#dr;8ziOoc`mK z34BP|A7O}A=^zdX43o#}@VYePwBnT|QFkP)tJAJbdr55@$(sCUUoA4e(!ywAq6f&w z7{Mn3L<^ESAW0JOlmJNzI8G@k;J83~ctf~HM2^Fiv=+uS_7Ic&FReu$Vyf^M1KXIc zB~G@G{aefP%>v(?piQnf0<Kr1a=@ol=02(U8H4zRlzxU$e2xshz)5_GJifwdeBDL0 z)S+4u{pS5Bb*Pp?s(Jc44E7%tk`*uoN&4|ndVx_0H5AG6Z++VDn0!DBN$?7K{Efg= zgMbi|5l*k<^xovVJ(Ht&z6bKu{XNLv_DCMWDHMs{X^NGpNJ-4n2ejt1lpz6A_b`@! zjKOV`YFgrK3+Jfwg-1C5;5W>0enHbyq#yW>gxsT%{2nR%fC>C4AcKL+bQ+w&m2luP zxQa5t^R~*6QvLK#59B^Vmx&rDB(c36`Kb#*>L5rR1Sv$2aE<3<7IS1T5YG}`!#oWL gBYRzr;SE~dAb)}EO|oy2T_U?owo3LbvNgp12a5pNYybcN literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$OptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..f9dc005e46336e7ffcd7a5864d786ff34449e65a GIT binary patch literal 453 zcma)3!AiqG5Ph4*#Kvf~+KNX(&?*@4XvIrV5P}Mo-nZ!zw<Mdgn~1;VN$}tY_)+3) z6h%dlJ<NMEk9jk*FRxF}0FKc2;V|sZxXw(JsXB^_X(E-l=Gq9ob2YDIsm|_G(EuMV z!}^Th@hImii#`hs-icJQI%VkXC0~M3rKQS-gE4~}ms1g-g?5Mqcnlrub6FP?p>Oyk z7YyB`OnE-$T3Y^*bgNrw7zWh!Uo#FFT7}7Mw_kHG1f#OnsW_L7-?wECt(+meP)g`H z=f()*V}oJy4`*88$9>#wkUJd~6k*q-=o31ILl5xw4<51jK*&L0d86CH65;;40wI=( Z+1d&^RClmS%)uJE6a&i8AE4*9-vAY`ZZrS@ literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownOptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..eda6d9836efc126b9976078cec35b016665dcb31 GIT binary patch literal 983 zcmb7C+iuf95Iy6hxfqv((5AHIl9rStPKzsEgLohU38^YbEtTMHo2-mWvW{%0@L3>1 zBZ0&R@KK1_wN*qD9(dWEnVmW3%+CD$_3a0MN7yUEB0M}3kso`$ntJ{5@E}m~m55>) zHD9auD*T{cPLd#0≺MF^b3&TK}rKl1#8eQ*|iDl2AK16X(Jk3FUi7Nfao*M<_fF zRFFI&thVQ$J12yEKOD*;t`XL*mOq^aqoIsSSSD06y^WNy(XwHq;-H9<wr)76;U?3G z$waClVQ&%LoPvy@SHdcR4Cb1HTUaNQk}z$8u+r|#RrYKUHZ}ik{;&mP^A)<=ik`sX zbbKnKV{tk%zZMR}=tM+;_OoC<c^AZleFpiT>9MFBDrHu7-@y_Jgxomx3Cq4r(%Gex zvX8=PG?32&BjB&S;C(q41m}fPGU|^+9Lu-}*Gy-j6z*wmE$WMx3tOx#$ID5uv^=)7 z$0OuOnXMy^T6}N1-S4p9)SMZvcP~(_t?+Sy`V1SN`Psr9K5diQ#0GY7m;HKLihF3V z#~_A+*y0&w1aCP<Q&!#G8Ma*dify;c#~;)h^8DWB+I?o|paR#RH`2OG^y(#g6-{o% zVul^8XFML?nt93ng6&Uiq>>9J=ovsKO~?Q(JTO@;rUtLFmf1l!uV>l8F3P_FS-9IZ literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class b/deskshare/build/jargs/gnu/CmdLineParser$UnknownSuboptionException.class new file mode 100755 index 0000000000000000000000000000000000000000..9ad28762fa0df9a4e4c43248912d61d3330a7261 GIT binary patch literal 1015 zcmb7D+iuf95IyUpaS}`~rWXnU+@_E?p><1nB8W>ZkSaxh6o|y*CRrI5cOBVI;iGs# zf>Z*D58$H^vvxpg6F}JV?s#_QoY~p4-+z4h2H+0v>d+YWj(Ft7jweTsdpv0SQoP_% zETXMf@~sTt$<C-34ii6=Pu}-MYUs!_?EE9``Pm$XQv3^ufw>HY`@Zy(2MnwA_7Okf zPQaz-bdt!IUdy$+40$&k2pty~*3JhUjQn6Aq9QIbEFA`c@OWTlW!|%DWt6dCK*u7( z$_#Y7t0GJTm#|EQ@ZnI%0Yjzk+Eb-Wm|8`wQfSTcWrlxQWv?@A&%*x;%2nEZTHrMU z*KvcPn1tD;8J6qQ{H-!_*if6<WT?#`o8oHO-4YnK49uaxu%M3g+32_@qL;iE2nMqq z_Ic3dk+1$I&V2I5j~Vs}?my+wqP}FUSJ3BAidGFzB)?U}kgMBt{N+wKiu&TIpH_56 zc_gh9PHBfyipULk9E(`TUMho`wULG<Vx3am`X5z{4Qf)3E&_w5Iz^U7pN=AVN@RuP zRqJ-6`4#2Yrg4h-${0)L${1@+`phddj8Qp-)u?<%^<xTglg9Zp@gb^sggPGM7Wu3U z3^nqo$ELSIRLWBH8re<Uo{&2<tF^htCsaR>p+Nx`Qs+SmXk-BsKn>ez)D9e)O^VN9 NmoB-I!Y=kv`U$Y!`7{6k literal 0 HcmV?d00001 diff --git a/deskshare/build/jargs/gnu/CmdLineParser.class b/deskshare/build/jargs/gnu/CmdLineParser.class new file mode 100755 index 0000000000000000000000000000000000000000..ddf1addec95237e991c9e075ebf3cb7ef4252488 GIT binary patch literal 6194 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/java.policy.applet b/deskshare/build/java.policy.applet new file mode 100755 index 0000000000..35527af6a0 --- /dev/null +++ b/deskshare/build/java.policy.applet @@ -0,0 +1,7 @@ +/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/ +/* DO NOT EDIT */ + +grant { + permission java.security.AllPermission; +}; + diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/ClientListener.class new file mode 100755 index 0000000000000000000000000000000000000000..dd87fb4c20e1a6388be6fe564c3df4a38dbbf79e GIT binary patch literal 218 zcma)$u?~VT7=-Uf1vL&PzJxATT^)%|Bn~9*1^!^MX-z4{XLIlYd?+L6<mPgB!{xqv zzU~hI8;l|Zgtc|0$W)o>hO@?dYed2Ixjsq9BG-zI7xBjuReLt<BJ>H<N?xVV(v;$m zRh)am#F}q0_4Yzo&67W-cQ@r@Tkv*qB#cwrxSaP&Ghy~iU3S2bK<Ksa0cuYS5OxVs Hs{w{@y2d~4 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskShareApplet.class new file mode 100755 index 0000000000000000000000000000000000000000..0cf58bba808b6e3046002fe3a56d60f944c650b6 GIT binary patch literal 5161 zcmbtX2Y4LC75+y$`A+ANY@IEG3r2tg^0^#t7+V;SWg8!;A<1XUAvmkkT3UR%6?-e& zqNfK;fCN$qfh3S#F+pbs2&5_rq$i}4-bf+6Q}VyrJ?Z2RzE6a^Z+G6jnR)Nc>-+H2 z_dN(;wOSHIg~Dpr8%Xsz1AVy>yKltz-F&LwF6=7|TArQC<{Ufkr?wE$Er{mf;hgP9 z5m887V(qt5mO-RS_!$bTra`a8kZpAezMZ!{h1mt$bF5s(_6m-h-;v&;pw3sQX>s!f z-^%+Li^5e=X!$9H>Or><ASp+y5hQ2j2U6X>=i~>PxMA4!N*m^sZAj;Rd%*T&hv&LO zhOWZQ>`tfO9}H(YyWMsM2200h7N#r~rY!19N35LVkA_FfS#5URoNeXFYPMAvwzGbh z<vVV;amK+CP&zu(AIazKTnQa0USVzPG}I~PG4=}dN|q5P>*mQhxVm+~Po;;f0h=q8 zp0!uuoavC=>sdo~s>{y0UO&|u*m#>DMSo5~Jc4-IYPZ6Svz)x+pG^jhOEVOp#qGD_ zsKjX+r(j78OL-*cX04o<t{Mu<G&E|WSfNliX~EDyaV$qlPM%Iujp?NsIk8%!7PDel zt59|3x>c*z3Gxh$*{BidOpQ9s5@@4FB7n})m=i!}Ys|&0IL^i9D4M763@xS60y<uF zzc^b5l{Bw$_tG-oDH&8aY}2U6Jb|`r92Y?6YaAc&YSow@K<yd}g4IrqlW?-atX3y) zw~q|<*<O#;m$SuzMJ*ZXQsyBt;tx87=VAV`=rrc1Euz?|uxT3Z^W1ihBZHLOa<|5b zXpree8ZQy6R2OVN2nE6J(Ris~W5k+p5oDi67E2Urv&<p3*OBkedbXXHC0k=J=s9uj z&o~9gC?Z0AXJpmUxCHwG9)Z^>tZ$r-%N~=cnwDl_7*eQ6cgA@OS7R8LD(C^*@3h2` zDVD;ijb&C2Q%JetLsSejNTjo)t4F+ZL}Nb=@W#WISFq`}3iZ!MCoP*t#kVdKk4l#l zE@h(_t{~;Ej*d3D{Z$%Q;~G+?ltz~(rbs7)mutL2ma4flsr*-IyjrjkVt2{5*J@l_ zLiEOPh(6Zc(%iar&(3tu_B|KwXl_mS^hzkaPU8mLNQIb7gbw~37ug-d>$%j{oNn*o zv!}Vcb8Ab_p04JebVm#~GmCET>FM0lv!lIzYpZDcjT&#ln~A4bk_|Rn1$z7J#!v%! z+fVK2YHf<)Rt8;PU*F0BXRn;QP2+92J-ENgT8#Wqv!yf7X|KslCtmw@jT5k#ijitS zKMa#~i#6<zc$8&kSz=}e3o<avPPcDm_qAEWCKjW352c>WP=Plv1+g*-)f&3+7H7!L zOX;GAL>trmNe)!I_@w#ta`yqLFk~`lYKy{L9t+~3#WnfW@@<~3;^`pU-J`J(i{iK! z#VE$6U#H6ofyPI1H?3<V4YPGMK92jNxNqv6Mp=o6G#<bw=xpwYICG$5$4zxI$@{#u zZ4J>_4+Z-1{DzQV9G}8xqWHAJ9HXSECp12b&rvDELL|qM^sGUWiQ@B2+tbKZ$CSDy zn@5~nzwN~_j??7zu*M_!5=|~;MxpcBLUOu^q)d|~K1~wMU(xug2~b|i)N5h<b&Yr6 z8?3An;{X3e$Y31b(s<NdLV6TId`IKELR@D9*9}wbIKHp(16imE7fMNC9FJ-INLJzn z78iTsz)v)OD(IO8UD|#wey;Hg{E{5{g0>~>Ls-mrivYjY_zfPX9m5ckd$Ksbz<d5q z<4!y-^#7pogovdM%Ir@Xe>SsGnf+DcZ^Ao1==;Mxrb`m^KQ#V{e=$w?o;8{_?M{1W z?a3_gf<^p~#(#x*y`4AJIpo!xWiOX6h#XI8JdI}<xqae_Y)F{kp1)pb_l#0nRY={d zpOR8aZ8B4VifFtSORBkdhE`D(6NCAA<|~g8>JGE53Bp!1u-P>8O)(YcE?J$3Sn{cj zsv0&UCSoTyYc)%vRjPQa)o15Ks5-3@QpM{%d&u2yci9E!GP@*`<hy>m;Ct?9Ox1J3 z_>>9rxH?X&<K<waK;AL6fRIQb*Eo(6x%n3J6%fdM`n1aX)`N~IC9LaArOZeL>2g<0 zN8b}i=}6t~h?ljuInsU2J*H(?DJr3OX?EjYOU^13BrQk7Ji{K236f70d(8!iB1X8H zA0-ut^Ua1<zEGr1H6uGyGqNu=BfC;FvL`hoJ5n>Umoy_gNi(vKG$Xr6GqQ&?BMX8V zS=BgJNKeL5NoUDXN*;S{zF)-I6NnH3u1_ApsmVm+7?R2RvAnnLl)H{#<rr2a6Klq> zF2Geb7~J|`R<X;>HcVM-nzFVjS$P!ajA3gyo@Z7o&AD_Ld_lP0maH5@$6?A-feZOQ z+uUp+Wn4_noyg9)fzV0Jt|wz7Z?T>C$nYK)<5YHvr@=!buEJ6_IxBIAg|Uk?bZ|d( zqlYtv9i_XgM@Uyb7oVaencmnD>>5LF@?P}TspUny*gzG#inv&yA}kpqMfA&<EMhR3 zOyr8li^>unf!1Z?s7)?A3jZh$it3Vy%gy?_WI*9cgI^!cUS?(+!r3d$EFI2XV`dk~ zZ2cITWZW=@P07S{B-plG_$)t)>qF%xZX&jQg<w~du;(QcZy<JKWPW5Evy$^8rG>U+ zlEUATcuNs)9m5@>>`J5TKB^a3MTM=VBdwvT*HWeHkir>Qk2BGX4OI9>>_ihR&RlH9 zmF!p#VGC}>HoOz(<NavI-RQtWq&QCXKT4%PMwLH7Gd;<ZVvx0g(nEu6#~4du4GnWQ z+DM~@rXMH2I|)_tYy<8h6v4ZAaseVF62-fp#DIC%oA>d2^E^`?-{REE_=r=hNl%(# z5ZN-1P!k^UK8hV2yq(O&Bi1BO2u)Q_z0sB%k_$uoED9|XY-mb`8#Ya{TFih4-7$s% zhW{Wx@*KMCC3MSu)NHOy2WvtR$PgdE2aSkp@F7AKA_P86sM0_mAtZsyPAwGmBCg0< z9bMz_IJ6847ZvfbNrT1>8JAza!-i=?aA1OI-2~IRkf|t{d22R#94Tp2Ef5qJ9=Hcb z6Au>gNruaK?-6`~Ea^#K<gluUFBkDOLhFk7CWrL~@ohpI4D>xhO$PcQp-l$*F`=zR z{H%yy5jxL6za^A5tG_37fr0)=sLibYh0q;E{JpY>e;4uO7!DJ`P*g}pm^U~%TvU~U zyH{1sQPo8?Qzk_<d(t`^nRbB!t>e=wBeckVbm9Q|aghH}+(i7%xD2=9a{A>J^s1}a zTwjg*aZQ=?JWz5THK(K}ekfHKJ=IcAbJSc>R8h^F<Xmgie=QU6b@b>%Wz=dXsIe4= z_H7BN)fsB@g_^nE!ea^EK!P{Y#y6D_teYUXNSzQ8+{97bs%olKfs@=!@4Cehm=|oC eaFQyuSe+<GRRa%KsFT#m9OVmaoF)1cRR0g_p)TD3 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient$Builder.class new file mode 100755 index 0000000000000000000000000000000000000000..8dfd0eb2dacc0953100e851c0cecd1edd2557d98 GIT binary patch literal 3787 zcmbuBYg5}+5Qg^v#@L8ENt32YOF|N363m?t(-1;JA*Cb@lr;1z8;z~hSX7dm=0EjA zJJU>N+L``<{+!;gY2Q7Pkw!ZD5d6W~)zNvMv*&1c<sV;s_X814Q#nm-g05S3rBE^} zrCP%%HC)%K7xoS3GpDNCMxk6Yjk;U7-5gkz_oKHOW^LcF)6^lT|FQmsUa0ByO5tAV zu~BvfbyO_}W^gljwC&nvy;8)pL(9f9u>se%tOG$>SwD0ew(-#1cdLSW{M&WItW+^G z>y-6c^I^BVX+BDS-q35N`xLl6LEXA@h~*#Xu4!T9OZ@O8TXo&TokqQG)G)<)>g?G1 z(~YuKN9107`V+UXaiCWWL^oj6^-|5?IV)vw>W-k!C9`h2Hw3lk#&!|)s<m%qsh!Sf z^a`C4)VFEYjjhH($*^}=%p125^R8~266OtdxK$IhrOo4?Hv+t$iy!J(E65B9I<HZR zIt4A~Hd<y~)F@3|Ouej8hC10B(<n<_f>KZT74ygyjk<ZHvnt;*4;3`hJmHi^J^XMv zx7Ttwvl{hMAM@um>i4{B8Vz_WUDs&P^OiIkqCP=g?ooPd`9~e(N6XRN)M%JaAcstu zfG2`%<Baq(j)T3e(Mb-c$D47Ki>VS<9yXIZPAtVVq3ot#J^{0|PH%I%Zwhj9t)$yA zv_-DEF1=hf9A|V=mcYyJpxLsDWAXY4=u?3^&G~nXXoH1t)Xk`80(UlW=K^;=a2Hx$ z7`?E$@U_5Q6qNA~aSEq+<YUiAJ~oZ4Z~b(Gk_o|a2-$6`VV8|Hle^?_<f}5lUkiK= zHqfi>)tc@&2Kr^%|JKk5%Ay_LtzK&5ZUwK6JB_sHGt#2VNQ>SgEgFinXeZL56-bLl zAT8Q}v}gj-q6J8cB9#_32zw4IqtoMh8g~U)0h`J{r&qs`(_X{1lLv*Mv+y-<0)(&Q z4t<Z_z?H?z2)Ye6ogaTjBl)l4wh_y-JS;jWB~lV`(wpWZAdq|JmD6+~20QbNMq{uH zVA%v19~{Fn>c}p|V7-9#CBXRf8J1N?mW#oL02@w#<^9OI)v)mx>=a<96JS?;n5KqJ z#9(IuJC^`!M%JT-O~zp70lSa@Yev?K|6$S8z}uXO!7c-qOMr1&^9$%#!{%bJD}Y^1 zfN^awY(Txug&1rKu;~OC7Z}3^)v(1FY#y+M1Q=H-!-mw`EXH6(z?KqVT<Q#alWyP| ztIg#Y>?U9<39uFP3x?fNN46S+-2rSZ0d~iaY>nRXBb%iTcxV#e)B2;lcuseN#^Lpy zyOQPgovhb1`n%{I+VTk(VVRK1e@mAlV){jj(SIPhr<9CDB|n8E_vu~5Dx+T=^)?wI z{Tz}!P)c%9$*&>Fwo)=4mHZZx>?kD@QOWNi$$Lu4WK{A;NU}>072BVQO8yK<-d9TI zqLRNtl1IwG7NU~BLy|qEWHBoFCnWhm8CWqY`8Oo_kUmmue>s{kFG7-!m8+~qSNX3g W!Kd&OnM|LO&Q*Z*1pbhgDDyv;j*6B5 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareClient.class new file mode 100755 index 0000000000000000000000000000000000000000..e65f8bb9e566a57502fcd619d596816e46855556 GIT binary patch literal 10057 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareMain.class new file mode 100755 index 0000000000000000000000000000000000000000..7454159aa8eb771deca11579eaf407286fb657d1 GIT binary patch literal 8057 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareShell.class new file mode 100755 index 0000000000000000000000000000000000000000..f8710897a6fdde0ff823799d1a1713abed79228d GIT binary patch literal 1698 zcmb7EZF3q`6n<_(yM$1ik|x!(#7%7zXaWm)1xcf6np6}>EETQw%kFZQY`g3-yO$=8 zqyNKS;OF`QojT(W@JCh8E>ISmamHcT`*O}b=XuU~?)~e{>puak<2wlx40*?GDVo{R ztS;BOLO8b4<lYPKRCT$cTPC-K@^H9OKjoGsA;K{8Tz#o3mTI?@W9>QD1;gcC(>BE( z!(=MmV2B(zO&-G}rsBAS%M4d5rp;^Jw#MBjs%CM9M8(lntD(B4zaDHx#Hr~qY*hX? zuo5M0tESB`pL$jq0jvwxv|FWgBZ_MbwKGq5&5n@Y(#*cpJUQdZ`Qmyuzg@`YvibF# zoN?uCUf5|G+{hG-Tp_b*6mpqjal^>yIc{tjJ6f?=)MA*$oP_HP*G3s1cWq&|c^vb& z!4PY4G1y_4OQl252HPb+$_H^Q;3je4=Uiu4Nrn7|6hd1kuA_6$qoYZDC}D97z`z)X zj3ox?Of|)k;|8rMPvIlnm2hXQiS_S2!P{{xV}-n&F7<P+pUiZW6RMve2wZKKB%~Q` zjHvdJJ?NTNle<x@GE5(yn?i1=Bq%wC6f%DQvp(|>`XQl)?~#imk9AUz+Uan+$#5%G z4p(U`M=6R;N+O?~niiK0#|@Hf`yqB1G8ZLzC+`3*)h>l%93O+E6BSNB55x7b9u1(z za37yYAbrmU?8oa8$EQ9=spFT*vZHvwun;Q5(tSA>f*i#|hGhBp@LcB|VLJA}*6BBu z<SIvT#IRhp1$W(UNATu<_)7RJ1S=F)!siT&qi$UkjufZ5ExK~E7hD>mbZ}g)?$-!! z;+;BD*@$tVLpmNZ55>ta#Yqi;7#LWY{&eq0$_hcHSaK-BMM%lzN?oY>i>lfQUJD7| zjH@`f=@Ke*>FQ3`)%g*LgrJSTU|GK)SOO`XUP54kX7ohSSE7|dBct)sz26Xh6_{i6 z_07OdOw%{sccAeKt)}oEuF?)2W<^Bk2mF+nsr-(_Y7g&M*Lt|M_bYDyfz;Ck1zk(_ zpd>bW*dp^*4}~6flRu+6blE4Dk>wX`)`pgYe_0mZS`No7uZYql%BbK`Fd8(UgwG-y z;9sQGZJOP|4DJ%)Wo%%Dywj-S9t^Cag*E&*@ZKZt#0X!I2k7Jv<W(cS)7Zx`PAJz5 zcJU=1ldVcmUL8+p)(U1{(X2tImJoS^vV^ZCB-!6|WJ1DIT7pS<M3eG71^kvAC-Cea DH5jfU literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$1.class new file mode 100755 index 0000000000000000000000000000000000000000..af2eed827a9ec7cb843bf9074b5ce6f14c0c8a67 GIT binary patch literal 2946 zcmb_eS##4?7(F)&avTMW3nb7|R4~O^h!b{5ngSuAp>~quG?36uwpB;Okz7j-gwlPX zd#8P)`~aR|nq``q{(%0ZPN&mz<watdK6vnqe7Eo3Z#(yV_pg8d_!Gbp{G^~s;FMj; zCo*O}Qz#pmvg_JbB4;>@&VpVt64`=jSZ?A%Z6dwmxW>{<NneQ#DrgaiT-TTNL_xRm ziK)zWBkL;IA`tawFPAM#&lC)SE$)Kp#0ID_*_g^9fwpD65HpwbJkN_HJuUhTH!&e+ zxV&918=k&%S=Y2JM?lO|^{{D~?ubA#-l*=!mCbk03bc&cIin3!tU^IZ_MTJGhOq4I zRM8GKjAnGI=s=f1b6jrPmNYG6vb>ZrN;8$nM3Z(_FU;yCQ;w^XEizmJXBsp(HpqB1 zm&#Tc`|y$iji%M(<)=}_ejE^JH=T63ShP#7k@M`Fm)j1ico~NTI`W3=ZxQH>cl+V+ z7ly*<Mz4Y%ffJ2oSVbQW3xxD+)^MEIpuqGqNLawa?pXzi8a^d*rtM<6m@=$#82#u} zaD=(6he_gmB5PYA93$M)yb-3A*SyQ%+Ql#iaYAPHq`>L8ACL+dD`W3sq+Pjh$d{-q z9qOKyF*~i|44AH(-!x+K8Tef@pIQ{W5_C*DJi&_`!m9#mn$Bod@4^_yIqB4S0=Vi_ z&<T0e1%XSA<u@i(RW&6|Qi)}hWB|rhT*PaB0FDZz8V*1JoAn5Ua7kc?=cr6yz~K;* z0=vBxNqI8CD|Wf0Ne-k~8zwQWU`k-`6R?P-2vQQy%u3Nv@dhrF5GE$aDZ9_lb<KpJ zFfYm|W@MD#6!@iKN1s$u#aJ+5|A)h;+9n}6j4LXxVvd;6bGZtY*77B=KLB=PS=NU~ zB|KF3<C==M@HW|mM+n3Nn`-bI3Z$w&C-LyEiua)Vc;NM$YB)>*B>^Uo{Fap#(zaaz z+iEeP6Cu1$whmr<0wRP30d3AMYpjo&W#7;qgUzBtDaj4jRV<<)ur+5o#e%+4MT@}r zQ|?s*X=;Ooq5}JoB3$uM#Rn)c@<xgOJ1b|Kc4C_FcF9JDzBCkq%j}No)*)A8f;89G zT+&?_%eblFMy*;rx=Y21BnG7@4=RusKcsRQF|BOz9bgt@{ZjA|mDX>|xhpecH?u}j zmScg|q9k12MIXFA8#3WCc#@f@-<POkgVmgcztdj{9!>)7NV|G=F{Kx)H8h;&Rn8jY zrhI>NJ>?bCFU@3<$E<9@c6j+yhPz<rRD6r?sHmDbSp%jlA3QWafS3y3d+z~t!Xl%M z7IeokSi9Q;1VM)+$vj4W(D+bj=GThmNJPFNfJjunAiS3E2foyr_;p|_rM9tmp5qp_ zJ9>Io5$Wk$MYLz{Du?UX^}v(f&Hu2sOYS&;Jshjt%{_P?FR&$>p{sJ97@^K)&fVL< zi+AyJ&+mwAAhv<{Ci>^rF_4rqn;4v98;u_AUB~eaoZ?`|T?}kucrH4!j<c!0O^iyB zi2OD%7M+N`{t&5kq}MRp+qZ`KE0vXZssd}s)I^PFo}z0o@1ryI5KB>K4dwf2m)%?J zKA@>OzQEVGO;e?N=MmxmL2TgzC4xAe>BeF7;us$gBkWydHNVRC8WP-j3?&@r?i09! zllYaz_BT?T3`>s}%6rwYbm100#wXM^!mxdc<oz4A1A(-GnbGza6drKv&S8Q*b-< oH<}b0^c5GHc>Eo<Ei~jCe9zt<u1t~!emJ|E2UdQgT>TOF4-HRH-~a#s literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray$StopSharingListener.class new file mode 100755 index 0000000000000000000000000000000000000000..f6429a7f12c1b84bb49796e5745f25e4180146dd GIT binary patch literal 1707 zcmbVMT~pIQ6g^8@0wvHw6)EyjwQ3taf(VEf6$WJnrxmnJb$m<HwFJ_nHYra3fbaek zXIj4=eDuK|<#;!3p-$0ZI+<ke?!9~V<nFom*YEE?04!rmLLb93yHZs1Mlo+zdA{np zwxt%hbL<>y6|U;0!7W#P(q72c9G904Dq1a`b?tJNf()yeHfYu26$yTZ@R4?+sitNX z)xG=?*Ifzy4Ab7K_TE+bi9p=aUBkB88yN;%!rawuiy@LejTHxp#S}xpHC&T3j5WO; ze%2MIlT#{j$I*)99%@+!wKC0SyP@KlW~d0Do&D~i;l!61*3-S^L11hcmf=2P_?YMw zq?>1|`#=A+BC^`f)L*}s%rW@4?E)VJ!zCFb2nFH8xQsBaF!&P5obW_tNEi^-RT+Z_ z3Ts-%P}7=~A!C>!lr}8>yjsfh%7K<|UWKh|W{xBv=B-7)NGL<P$4s0jD@t)l^YpUM zD{t*ei5KW<6K6T=l+;rpuT(M@#BC%cBp61!<RnAE9K%S#aLT4uYbk<Zr-j)mt{##e z!~#?aiwtYMX-dWt?odr=x=vyh>U`I;vXU3Mh_kY8S7d4kcd;sAg<<sqKhX^!V@+sm z*0wqt1%(NrX1G<|HVyq)TqL79o%-KhG7M*3O+U_P<(9^RS-V=%`Hmq}IB`yMS`=5# zAn#h#m9|aIakwLaD)g)komVi_K03Msb)pXH?ZhBP)#0NzKo3OW&=;a?ypf8=8>wV~ za9ETa&HLyLW0ZD{k@bP*{WQjuxdtN27hG268<<cQ8kkg~{syL$XrO_aPu|WLeJ8#6 zES;F4llBO89}&Dj6fbd&{3{-p7_Q?6%?R1!B~Fcb%zU0DxcNOxunQ2IIBwEcaB|2a z;uWP%OzK3WPBiM6`HWjMM80DFCqgaj8<rUaJ0IbL_6yV;F?xk*yhajlJXYgP#8XxZ j?qQwIyYKB}Npe3Rvkxh3crbl<NLBlIGfF`V*aZFnYRlDV literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class b/deskshare/build/org/bigbluebutton/deskshare/client/DeskshareSystemTray.class new file mode 100755 index 0000000000000000000000000000000000000000..9f8c25312ed28b6f612bddf5ccf06064d429f1ba GIT binary patch literal 2296 zcmb_dU31e$6g}5Y;@~)m>wH0yHc$eM9l(TApqPe2NZNEv($+LH@PsVy7!g?tlAI3z zs+}pN)6VpfhyJKe&q|6VQa^Y+_+fXod(XM|p1phh&%b~E4d4d8%^@SW<$CRE(`q;E zu4;CJz;&uE<sbSl3{O=}+fq(YeRQ(Xc<l$O^Tab==P)8DzBG=Fs%<#!>VEU3G6TW5 zZPCP0p5S(U0P2LX9s_G63Fu+hbREG=J@jGx98|Siy-9-+Z6KIS4ig?8kKMBzE7%ld z*UAU9-f~+ik1VDOm_XqS1RoWU!?<3}6mSN4!F1hn)LysKRNfP#X)8gg?wW>uV0f1P zjyFew7nU!$Ge~ZIWMgo1Myr)Xdy=)_?%E)n|3}u!2Re_X0!A?=5L>X&viu`EQfuEy zAcEPoM6%tE(N?u*<%1l~Got}6t4~6!8+okYQ!VU8L4BYc`q0$+gq6o7e3rvy-chdx zwvSnlKXg@B6|jb~V8U{a-9uG30$p+oae84%{@8UKeRC8@Fly;+S+b`c2_{u&_P`7* z*WumDGggpCux6Z%?B6F8ob^=4JyyCLcRaU~NSx=xx|zf0>7bL-0=~d4%^so!^Qr6T zmA4LevJn{O;bY?{F1vBVG?nkKUKhL?TI2GN1;z&%yWbFeKeYQq`9zTLZcf;52=+bz z`+Gv3aPvYQ56xXpLhq3$qTCehe+cT7DuR5&?Ruu#v2-Uo+vmkx({Dmh*wuBqWgEV) z{2X=!-wpYY8-aV&VAr>tcG8q)`t0HY+f9~#Az5T}&*3VgyJ<MHmvYt(iJg|?B)_(K zE}W+;Z!uMoHz?|%^lJ#1<ygW9$8#K)2wlb$*K^#_1cYH83!JF~_an+pQf9a}R#|_8 z#e^vz?yfMb^C820WEC^ep6p}f5PXbJVy@@3*8YosVdZIMefcde>|Ol>s|o8=nC?ZU zw8?1hhs>1-(_=28f^{;I2Ul>FekaI#4OL<V*L!08#1n0`Sosa5cbMZ;d`DUMrI){B zL;KA_>k|2W$a#yIZ>Ka_jQ!pYZRK2X9Cz?#oX{oC+Qldd7k}X*6SC>N={IDdc7)tT zErwjCO;69%%|w{x6y_ej>W3*NYDJi(6lRl}Mfa8tt#~@LG~{bM=mRO8hV&w1^bf;K TxA2H_iQg-n^>3R*-vIvsh0{K? literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class b/deskshare/build/org/bigbluebutton/deskshare/client/ExitCode.class new file mode 100755 index 0000000000000000000000000000000000000000..42d4d103e4d51c05c0d1683c3e9825cb1065fea6 GIT binary patch literal 1830 zcmb7EU2_^`6n@_DO*Sc@k~UwpHf_VE32AHUM=;F>Hg?Uji@Ssw#u;}Ox>70u2bPYx z^Cwt8{)HDx?X;s~$7^r>E6#Z5c-|LC(9sKW!QnYM=XuZjoag1YzkYfN;5O_CW*9a) z-A1<7Y}8tPuh#edPCNU+>wVgL=yttqz18&Eepdaw>E}BSya<8}^N-xeZnovN8(Fp8 zKVb+Prd3pQhE076u3cg}Pzp{-v6P}(RxO)hF|QbgS$6WKVW|1CQ#Ku4J5+VeP#Kn0 z%Q7v;G|qD4I?Xf~u8*1s@V<g-AKCX6OLc73s;HJzu*_0PEfCM>kOR#qOrGGBOsh;Y zj8B|kck;Sv^WJ&Qph*oycf>FZEB`!4%d5_@p;Q!2R}OR<I_8md6_>PSU>d`$Y8)5W zDvExr(tWo+no_Z7jyBS6`g;t4^-P5!$k!4@C=P~;5-wqp_K_QvEUfG2yR!Xmv)$O$ zv`i&N#mf>x2uBg&;If1W2T=~*kPzh{#=$iSF%IG!tV@V<Fw4P)gjo(G4z?sn9L#ZW zOTrun^BlY>VIE=r?XH9*QVbXLX4^CRCpE8Ic55vXCZ%`kZmZ&Un;eT|909z`??X08 z|JOB!w|Gy&1tdrY|6#L7p-yU$$PLdQTUH1~!iOL8B~Z=wdS*J+<52N_1cwZX2{li9 zzIP(wK8QQ!cDwFrz4O^AgFHE`S$pKw{atNh4dWE8fgvJ>GCyHZCfi1<%1mVru2@mR z2cWmGGs%{3xxL=*#0Y2f=hxv6nUs#(oqo6O9X9z^=Ef3k@jAMt-E6d7zu%?*-J77} zy}7AI-P_&2MTQ8_uh8uNCGJCjB3V#Ga-WD~JQ2xrB9h%iB&Uf;CKHkTMNBE~1R$}< zT}C)WE`9~C(mAgIY=JQU`~7FIYAPKFJjcRQED5v{OtLQpUKRNDP?9|n_=><+!%6m) zz-t0uk0jaG0^blg6HT&j1eOK9nV^PmMPgGVvI*+=LnO9E;&y^s{uGHjiP$eRQec23 zyBZu|)vksHxMEks1FYHA$N)F&YIFeEt|ln8Nr7_P6exMeeu|wR=vp&)i#}y~p1=Y< zxQke&x3h&s>|qH8mhmxG(4p)XxQr)A<89H!JLxxLC=&K*B|*wd^2YLWyd$qXL++eC zOjW>D(V3<`sv~wTJ^yx(#1Bx#K9mt#mLl&6$v-0Z9eo)NIi$HJXry7mh$e;u<VVeS zX<ytQ=>c}CM*;a|HOFNt29{o+aP#|rv9Yu3#OMJWjW}dFkq;10G5H1bU%~#rZw98| KEa5{Dt-k>sf{LpE literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class b/deskshare/build/org/bigbluebutton/deskshare/client/FlvFileWriter.class new file mode 100755 index 0000000000000000000000000000000000000000..ee60a2fca0896684bc8167f181b7a19732d3efc3 GIT binary patch literal 3649 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/IScreenCaptureListener.class new file mode 100755 index 0000000000000000000000000000000000000000..5c5ec56a6e6f657417fe1b7ff7e091fd69f09595 GIT binary patch literal 260 zcmZvXy$S*`5QHcGoj;9*ot2$72JFO6K@bFs1N+?FdPdLW$R+x27CwLvB_>u1mODE; z`_1!pe*l=F7oo;5*CywQ%#*@V;;hw*XH=c5qcFtNLXxt46Q_nqtwd>^p{=YeDKZfn z4E>Y13SJ16^IdYH)G`dJZ+C2USyIMOA5Zq)uhmbOUyR1vPl&i#E-xY{zI2BJ8Ok<c qT7<K1ter_|Eem28{^yy7loo@3<@*6OkJm&C0W(6|D-4~Wqx%LnwMvTs literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine$LifeLineServer.class new file mode 100755 index 0000000000000000000000000000000000000000..a84c07ef6712a575f7924dcc9727e7a48136aaf9 GIT binary patch literal 3630 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 KsWswzl>H02Jo!KX literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLine.class new file mode 100755 index 0000000000000000000000000000000000000000..e34d763034429ba3bce487858f0d4f29132df38a GIT binary patch literal 3642 zcmbVOTUQfT6#h;?65^nO*D6R*(IkiwDN@CHzoo@Xjm2VX+awGy5@zVk#7ghi=l+pC zv|R;O>so#6Lw{6Pzde^^NO)knvNGq)IeUNm+qZM(pMU@S3&1)2m_$Nh#IhF(6=R`N ztLv4z>sn@EPIs1^#j>pzsx?D5-NLjnuTLAMo<yg@p6BHk<wC7&E)*VAp6gXtp>xHu zIjEw7=IHhd-7Z<xC7nwLr#)#?cMGM+#uNp8>`<^bBIxN-q`PXFCJpFw#D1#KVbuw_ z-<LG3!b96I-6yu;>NcelhN*C<v3b2dKd;;R+#|g_=k2FzhU4m{ZYxYo$8dT&P@{=m zwIC3W7j42S^!etzVEAiMDc@s-OL5Gd2!riw6R+!%VH)mbg$vnY9Ha*E+zeB6!<y66 z=)e&T2hq=9W^*&$P&ld~iImJT8oH5|*)a_}p~>uoh92ya*+~t%u}5ZE4ZY}-Szf~q zbSdnX;<#U5uITpTa;2tAV61AnHdD3@c@Gvl-9^Ju7>(nE`0ppK8)Fzx;@qYREUhx9 z%R=(?w#q2EOw#gH66aZm&7$S9VJ=*+8#UHN3U4SJF1cmf<zgl*k&I<#q^2`zOyHtK zj6C*dBiZ&*rgAeP@ur5$xI(7ol@;A&UG!&*xi;az<dkS!({LR(6jH9`BPs05wyRL~ z7Vac*TVb!~L0I*^ZyN3jvE+(0Ld{I#Erp9QO1q`j(kNnDoV}+|%f`x59N`wLjG@%h z0}cCeAc=Q2<=1bj6iRHq&5e=9L%b_wS=_m3W**f|Q;Ke?Edhb0_cZLqKGA=w;eF|a z9gY-$LVC_{f-^^A@u7x~yzOeua#+;6Ov^RqSHr$iIJ>PN-Fj)b(tR|)6IJjOWrd8# zNK<G~!#v77Ih!oyWb9&<I~LErZS_@yj6x5~zPfa;yb`o$s$8w=j&tJdb{z{7GL_@O zA8L;&+}T!G8rpuI+O7yWwL(xf{j->$+lX%?7ShEEpJ@14;u{(rSGXO|XwblIt~4=u zN?nVG8HtX6FGk}sp>Q=GT$EyX&xQ{3oV*ne%_kQgO2JheB{->Y_kTjRT;Neup4nsZ zP@hKCFT^g<AZm29g%v+ig02~3+uV#ts)@S!OD0{i>ULGXZOBd96ZXj&xd7PxMSc_6 zH)>_a(H#u2Zaerj*Nuc+#hfMNI`>9i=HAGw+#7k3dn2!LZ{#KJjXVs!k;gB`-9$Wy zLwvr*x1We7_@ns^9L}pX49H_J-?4@vnH`tMuslxXkE|h=Kh4>%9^43@d5^*{I?+#x z10-;iXYU~4GkhDuF`UFH{!SyyKe*}{!zj-1jb=Tkls6N)3DPPM%O|(WUD><x8_vGM z#BAT>1}@}(M{XUL)^T+mH}kJhoXx8ZyuF6|e0ey_?fZR?Ht={2PdI<Fj@c&N0|W#{ z==o_98^t7PT&6*xrun7<Y6>4TXq@Mc&`1gPI-WK0(j+Wj+DVK@Fj4_VLXI11N}NlS z6xlvvocbF*GK~CzN&<q`K~7*OMdCa^z9v1i1HMLpMqMmmk$8rup?deE@El8lfnkn9 zatD!fKXa1sFuT0PBOV^nsZzsopmLHjVzDbf!n`-V@^$(nIwq`koeiwC>P$p*Y&d~V zl-j^AE!3iBT-4jmuo_#<3`ESlz^7Z78EiEZRe6ckt;`&6H8U77^BF$hN@uuLClk^6 z0$;Z2u!n|Pb&f`KzQWgAxHH`9PSngd_;w4G<E<(UZ<zD%yd->&A2`a*Smd7-`X5DT Bc&7jW literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/LifeLineListener.class new file mode 100755 index 0000000000000000000000000000000000000000..b9b3c8e6f107da3fae049fff9e7cb54d315f51be GIT binary patch literal 222 zcma)1I}XAy6!R<40%Bm{4zLgeBO`*T5(5%@(mqN`l}Jg7I2!{8;82KkWn!>pFaEqg z&li9-Mi~;q#=1%<U8$yJ)rMe=DB0iqRXP?$quB(J>kH@FMEJmlU4}kkTFbi>jWm@w zs+x;Hn3UQV)|hCxB&_E7AL09l4m(@&c5x<*PquXhA9TZn*>CT%t4s-mUVH#hoH0P! JDP)lo48QChK~w+$ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationListener.class new file mode 100755 index 0000000000000000000000000000000000000000..779905cd6d9c805836e85d7d654f55fb84b340fa GIT binary patch literal 204 zcmZvWF$%&!6h!AoO;ivBJ5QjE3s!=?RYXCs->jdwG48_VNAG6g0X&qLSXtN%Q@r8L z>-~5FSYnVMBCLGKRc7<7tU0Siyi+HxF4b8FR;IM<L~VUtaq5j0>s@LqVaFjsmoP5$ zO{-G7T<x-gjSxoHUz#wPrC&(jMeV(HvYsCa!-KDb;f*bsF#Ri7w6mB%=rn%;YJ5G! KZ9~#zg#HJ>Jvy@h literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/MouseLocationTaker.class new file mode 100755 index 0000000000000000000000000000000000000000..a891783c4eaa21c3588185769e29f77278171c77 GIT binary patch literal 3069 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCapture.class new file mode 100755 index 0000000000000000000000000000000000000000..1e1804d67a21066e7ba73b81155bc511e070bff1 GIT binary patch literal 4494 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class b/deskshare/build/org/bigbluebutton/deskshare/client/ScreenCaptureTaker.class new file mode 100755 index 0000000000000000000000000000000000000000..8bb5c638658537cd224db2349cd11d83658df9f6 GIT binary patch literal 2061 zcmb7ET~`xV6x}xonUD+xAt<(hLHtO95=E3sEZQKpU;t}q+S-q`Cdnm?Br{o)Nn8I) z|A5bSRjqyKb5~#cEBX)mRJ-rZKn;t<f>~?s%>6j~oU`{i_s@TS`yId>zB3RKxaoTJ zT*a<e8XZ~b_`d7pYO=lC-myHHt2S)u__<QmlhRqXT7JiqTh^}h3`7Kmo?72qxrXJ` zbDNc?vg#X%3Jm|h`ncmbR;3{YjB3|dV6J#lhk1eihTZn1BfYjj{x|@uJs}qZYa*F# z-}3w*6#?-?AbQ7kY=4PVq>lsLgPhNl1tQCCO~w(%DH8)276_*^<$eexO(bBdztbiR z!~_P5wj(z>&5HE4y37n0-Ky0nTb`}v!D7VUv6<?^iR01YFwL;napIW3IRleDLY1D8 z$fk)DrUXt^JDx{@x9p}|w;Lo`$G#TFG%gyrAaL!ZVwt#v%Paz)RZ_B@dP9~RtJU6d zeSuUuQ`E&_{ov>9rd5}@LT7thda|~vX8Aao%9zMvhD<rGZ*M=_la7&1rH{7Gl>1oM z>iHv%9IhL<)|2|yjwh{}$;!VW(AREA*`jvoHKo-AZko7-1?KN|80u)(mF?ypdA8%1 ze3~}%G29jyS^2RlTfXf&DUHD-XXD7@BLjE1s}t<CGqHrb?17eoYB)p>GSRI=Y(lV* zV)$5KtmM0`78g=&-E^s-ab{H&Et}{^Jb@K_V&H+m?PI8Ocqf?nR26En>m+Cg?ON6h ztnKBY1KiJ7v8K9*ZNn3NT0w!yqg5fJ(y7sew?M#ZFDk2bpyXTC-F2&_%iqA3!1z&x zq8KQf_(Ijmkn8kxBwZz}T5Ydx1eT7~)rZrh+dIa-(3cOZrA>7N;w87^RpkR)U2SK2 z-0KFMRl#G5iiP?1aSW;UXJv+zfczHJ#lUZr`vZ87;~;07+z;_Pn0<|*Z1^QcvNJC+ z`hrU#oZ&c(2**i|;{-ZK!xYB2a=L4Vvv{8~0%&(69Usu93;s9H7~ETVjw`=n{9g7K zjK0G84gN1gvR7Xtom3mM&oQtV{TcJaAHKpO4~_iv_AfQP*PRyL;J&~Mf}Ujn=dsG{ zRA_TLpJ~o6(#<7?a2ZKtcxr~HuHXW$a-7BuTxYY);XeOV==0=<K?R{3w0?-94tWCW z*dSh#=Qg<(Aw~?3@EKWqOq(%;!*3NC1_a+y1j4}TKO`oku8<(@WzH0*38qq*d4tbG z41SN#xZb)&NfzGWF|p5MLWiJu{1RUUfJ*^jRB2N<h_%Rc^6y|p_pzdQLO%-Y;l3vG r#1f1qnvGEGgIG(%x~s9w?x_Gv;Oj#WRJj~PC=g-!P=s$Z2jBh&$A#Ut literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/SystemTrayListener.class new file mode 100755 index 0000000000000000000000000000000000000000..0368f82bd12739eab5a8da01c9d6888de5f0939e GIT binary patch literal 200 zcmZXOI}XAy7=xYiC@`@xvcf_nBu;?D1Y#&+Ptso@ZAeg>BK2wv9DqY1(wW8b;LrBw z`+5V|Vwxjk*!iHjG+Nr0WE-P*yriaXZXys@){u+5=$c6POAy`BB<CpP7&6Q&@f6$& zr}<e{q$0!8yCV8Wk!a&|;(F*ruH9RsYAP89tM!#(R`@n3Iv7g~i~s&jUp;0>`ScZF OX>NpZ?~o_WF!=%Av^l5% literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class b/deskshare/build/org/bigbluebutton/deskshare/client/TestLifeline.class new file mode 100755 index 0000000000000000000000000000000000000000..9440dd8a4dade371f8742d206867264ac282c96c GIT binary patch literal 449 zcmb7AO-}+b5PgM(l@&$6aOZ}a*yt7G#l+J_4-hV%+NCbV(oMQu{}(3{5B>mulySP6 zNQ@T`ee?OIZ|42u^$ox!j$<?!c;Rv`buLY%WaWKf`BIfn<w`ikGozLDe6C8L>PKa? zRWTxlqqTSz+z6ZVd%0GbXJ}t(tNk@Yb8@m^h;E9dO3*~7ix%1py_Cpz)kZ2e7t$z( zL0V+OEQHe`{!T`IrAvm3^q;b(^yNlq%P^Weq(Aaz-f5dpYe~Z8G<x_)nIV}KmCMwv z4$Atw3!jH!7=t#WvjGkAXd}XyB2Jc(ZJoYgZ(ElW!cYcA*eC3MHIO}^sDnfFC=<wM V^g<u|O&sqK>DuVmjRV34hM#WjW0?Q| literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/Block.class new file mode 100755 index 0000000000000000000000000000000000000000..17a95848511bde00f00ac716e930236698d797ef GIT binary patch literal 4099 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockFactory.class new file mode 100755 index 0000000000000000000000000000000000000000..c130f98c94173b0e65a913bb8189776ffd8442ef GIT binary patch literal 3715 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 WKTWnc+}C{g=PeFv_=dK8`1U_oN{&4M literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/BlockManager.class new file mode 100755 index 0000000000000000000000000000000000000000..619aaceb82aea35c2cb47c893cb0d4ce47526d54 GIT binary patch literal 3446 zcmbVOTUQfT6#foO5==%AZB(?{suj6O#7m%tivp!WL97TCS}&7i5=N65I+<v(_qF^J zeRnNi`p~Xbq}H{%`r7`4{)PU6K2-aiGXq3OmGlA5W%l{b{`UU%KKbMMFTVmfjc+5U z6G%F4K9RQa=|b5|mp#w16Iru#x3p-uW+GFtOxsJO3r^;4DKRXEDZ@7MrW=7Ku<MR- z&qx#uJD-?N-!U_uzz*Mb%2*O;npEG*o>fS2BgL;XR^B$evTF*=zWlY{Un;P1+cSAb zYO+S(QiHrBYL|;6PN7`1O9EnCAi|BS&V8;TIV0ma?y^8%t<YosNy(vLl|0inT>@UL z0cK>8aWb<ih^5H@L*kV(u4&q%R#Bk))p$;^$n?<Cv`dy_^KgR-w>lf{w`|KB6sT`& zpA*nVoU9o|J@)C?gEt~*5oq4X$0eh*$ecv6ANzJd;7uJNgk{bw+q_&ZrcL*nkuES# zyC<EDQJ6DaORj@W&0Dm{zveIo>XB)Z-daY%dcZqwwbe$vHtY5|$?zQ=yU;9WtvYt2 zIfAy@)gQ<piWBINaXl*Wx^(E+DfhZ{BydWgF>iXl21lH-&9Y!l#--_L9Xk+}re}4W zlcq76Qk}|9TJ-9O`4;c$I1ffDMtvBbse~hNwr#xq)%3U4Y$}3*wd_|GSQPyjk~A(* zFT|aTVHl$kj0o)9kP2m@<2{U##ZsAE`r0Z=)vx>1)}8jPTLNKU>%5IUfq8FaX;Nv^ zIln5X=Ow2^Sva;pNJ(3ur)IYFe#SFot6B==8eejqj9Ds;7)!GGWM@>#2^<Ni827z| zRb*dF43~2`lNRH0m1>`h;zP_taP_5TH?zzRP}Fe^vkYsd?7Hld*I1TQR)O6?rF%lg z^16<XFwZrUOx;xpT$M0I@UcLm#?}|b0&eKIiCZkKMWYmSn{7~Bh`<myvyJ;~(+l1J zhLYitcV={C*JOMp$Xyh-F%+ei^Ewt`2^_E;&&n-VcEGg;sO0oN?q+HzpUkFw9`;4| zU+JW%N}k~|6=H%(G3~6ZII6o5O)<FeB4F}{w&9M_W+_q0XuYTFC`;0fj$Qd#;M{hE zygA0Q{*7#QBV41eX_YTkf29NK{;AM4P^an@qob}_bnclOS2R$qLATL4^@~NlF{j#I z(|fkQP_n-%Fa;2uamsGS98=ZbtoDN^p<6Z_9AQ4{`RgRY4$b$7s|Z(hXy6|kr<$`p zs*yccjZB^z+1=I1-p(<`vwZjXKhD)KQ3c0c9jn;e@eKRtS8-qk2Y*y24)K4Zy0;Y? zdvg=oaF~0#e+F;iZLU~LI2z#nt-J&B9i1yU*3q?s<3v3%-`TZ__7!w?bo_+QCpfu+ zo?v=r1xar9@GrSIs3o<>Xq85B?FstMhd4d>4E^(QZ54wpp{KZ5kLwRL5!Vhqdhw@p zvmVmTZW04Jd3_hd(2adKMW=djl0WEraTWu7RW2ck8=U9Rr)Uf^kaRVmA!qM1L^2$C z+BP$^y+j!&UOiu&E=+Ky@k<;ZV3IdY(UJ-HhmVMm0l19mAPj%eP9|vfXI#0s&Mv8G z$<Sj(*XI->r>B^!!*5tPA8rXVGM{{hJ&f4x`Ihh#q*r0CBKI&P;-R?q=*91Z>kVy? zZe{L)6ff&%ZU*SsAl)1y)eC%>2I$Txd-0eed&zfbo$M^`;4a<O*vJbgl57(#C0UIc z8&G6rFk2MaFmVKI+WE8@lIMtPLL};VlFck2KEhQUeTtE^)A<yi)?q_RQT0h)F`-=A z>zl5-6yyFq0twv5X93_~02r2nayDaKraRLWSmAZ7FqTP3Vm+vWC8}UuCDzPqus&z7 z{lXb%m?Y8onm`X$<njl8s8h0(l?u#Nz{b~IjH?(+7x{xHfK70eC#3F^-*19hP%wV+ tg#sA9h*b~wY(9Lm>ftZ&WtE$cZ6=VediblVhmUVQoU3~HYenvxe*w-AG-&_; literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/ChangedBlocksListener.class new file mode 100755 index 0000000000000000000000000000000000000000..36adcafca12c06272544aef4418caf40e7463ab2 GIT binary patch literal 249 zcma)%y$ZrW5QJy_Nz_8DeFAMfuo5f;1*?dKV1Jh^`8)0)ck$sYd;lLxOaekmn`M?6 zcD{Xoo-Y7fOhXI^2V12=<*Cv&tJ-^OM8d9gnXFjEI%ngB(l#!gIAzkLoE*C?%AIG! zRfrK`QOJiBy0OJo6&!oQ+?sx#uv<lcR2lZ7E4Z+8GUfgHPMF<nUB!IPH4~Qov+jqn XX$b-XVc0weP(w9F&?<z@9ANSV^ZZM! literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class b/deskshare/build/org/bigbluebutton/deskshare/client/blocks/IBlock.class new file mode 100755 index 0000000000000000000000000000000000000000..ef3ce55e722e3d9257202ff74b0215b1e602015b GIT binary patch literal 186 zcmXAjI}XAy5JblzB#<;5BWW<=2th)kqM(Dyc2@aWwiG)Yj)DVlD1<Glm7Zqa?C1M> z13040kuV(W+;KT{QZFPI@2%l2xykinCa&~A#&fBynjF70@#aVwcB6O-u7&CNRgR=Q zL(vO&>I0#cVO7<4hK!7|Eit53{b)kuW|vvfdC-BCf89QsGKSCzUja$5uaP0H<k$ql Iu#FtW4<p(vyZ`_I literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encode/ScreenVideoFlvEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..0f5830b7ccc436bbcd2455220646a20095682ce2 GIT binary patch literal 1031 zcmb_aU2hUW6g>kA3rOv@Xl=Ev7Nr7JH!=EDV=N8C2l^3NNeE8^3@~-OtGly2_#gZ+ zzF4EiAK;HN-hpkZMv^|5&E7jRcjnxC&b>c=e)$gIG47j4Fzoxm$nMEe&y7ScQp)%2 zfe7D(V;%^*?@Hk*TX=ncAnaB@5W;KAf$$sdq&__i91$uL27`6NC){?qH?og<C!((y z($AzP)pLeqxzc7Z_6a42B(iy=kY-qHN>3a{r#%rkyypsr<)+`~Zkq>E@8d&5jb+GC zZ~li;cNtQlP_N%Iti6gnB~L|LhLV!)d7iJhlD<c|O4D45xDg$G5wUAx=m+9JsIfmF ztb)EWQ-UOUDfmDH3>))aYq54sTw{1~X)eLPb<d%ItTs3DSj8Gce%7V)8jNzKTg%}V zHcYHDEa`kPpS>^?fy!eOx9J(5?&|L%?h<jc+^uzMx?8Kmb3(^%6dng+;_y*RzNaoF zx;5%)I2kh3F5i?nL`cQ-I2JC~@}r<H8dA@~=G=LEq(==~pdx6JL6*9TG+C2&HhD%q zRXs!IBP|lhk=0>f9aqTaXBWsX(2n6MMH5(zZ&~Cu(9SeQ@xMW~egh!|W00jkK$c^W z4>0Hho>~jvGM%K=a5{$7bUG=k?R3(H(=q9{GFH}Uenp{khU*6pK4InX;m&8=yhyx4 w1c4HY*hUp)B3Z!`T4^@bS%SEbBF)5|sW>`X#9d-$Q)&0;Obb<_7YS_t0uX!p*Z=?k literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/BlockEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..3eecd79f3bcc15d74e210469ea7d9d785adb45ab GIT binary patch literal 502 zcmbtQJx>Bb5PgflnFAC-Fn$!;`H^^umKcm8CYp;4O22n(j+JBA-0m6wh(E;2gu=wu z#KJ#h98RN!b~ZEn-oBYPGcWIxCjfg`a*$&<)Jfz8G792U1gW)Jc>`faX2=uag|QUM zdP0SIAQJC5*5Rm|f$m)>ZmiVGL7t(0&2PCEa}{~t9}HC^63OGfNDK+D&Q2KEIYXtR zm9bpeJ}1w@+xqMN^Q3UkP&|-I+BQRD)BkDMvx!tuYpc(Y@6Z@7W-wQVixR`UFO|4R z$AL&Lc@PVRny*8$<YY|vi_F`hGz>@nKX+|0IAdW9k20rUGcve6ohG3;mD5?4|GL-i zv<e$wv<4`ypnxJ}hfof)^r9{(Q7jYFCN4+0xV`g;%0s4^r|4$vD%Gx`O1Sx{!UAf9 PNRK)evtA8CIW#{21h0Z@ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..89bd443dd119f072b5d40593db8ba0523c699515 GIT binary patch literal 496 zcmbtQJx>Bb5Pf?BXATeq!9*>z^CR&REm15G5)H9I>GzJ!v3l&8-96$T@rPKMP?*@7 zSonvG!)dgjw3(Ur_RYMRefylf064<B3y0w}(UBj>D2P)Lq}C?N9|?13##{?OjHOW4 z7b;9fLi@dV+Re)DLn!X8Oq7cpL;aRdxgT>C`M(bgRU@?I@la?(!kde826o9%?j*`s zuI!MLWBz0N{rGj3e`F|}NF{BXp|RWl8#u69s;IR$WXN@B2@gwHDZxXLq0*O1T&0sh z=xZLtf}z$=LbBv!O!$Y)*|9VXXZ?R&+G21g!WbT9J_{Q%c!MO>q3Fr^ChLoTbvW<A z4j7#PiW|tIK-neaV3{hKfg;5cF>T@;%7y)dXOy2ZO@*SDv76Mpg(~6Zw+gGM5h6Y6 MSj%QL2svne0obyD9RL6T literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoBlockEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..42e2581f8c33f6652c882f19a022d8a48286c6b6 GIT binary patch literal 1708 zcmb7EYf}?R6g@4GfpJ_F#TTp_@s&hne4(phVFf|a2xu^t<)_J{E3{6!Q$0P3e_;R5 zZfUUAs{H}`qqg?;OcdgaSX0$CeY@{H=bn3S|NGzH{{Xmxrw(>8%qiXU>!MkY5?)V? zQPOYl_+`8vXzquR;L`Y9hN{7}Ukx?qvL+f_%|$AFxscf%<QVq92wnw#6v(E(Qh&ii z!!X1*c$gTa8O~PH<HU%_50wlPt!?0i?u9DXuSCep3<pBhYDe4%CA&t3!q=VWKfg)t z!&T9gfk`xHc;2Vmbfpgo>NellPtz{X5YphZkiyI`3>1nrhTJ?U<YEB(JnVtz;s6dh z7@>r=ba|XeBU;?UA&fG(O>VjthS5SXW19-tHJ5FaBOZ?87{fu5S42TQ;;UMPJdTx) zQ}Cr>jNxYo<2^N~zKIQQc{qVz=$1;T9HSY6Q2weG(o~J+L96WGB*T#{l4KULIhTlt zDn5i$3|`d)+K@4ywDT_VIAc>hYe{e8ocWcDHG8Arp@<TR6tvr1HW<bWOWPCd0VxmR z0#z<=)`?Ifp0oibZ2+I);@2R)K<%<6z4Ey1QEOkN<})foVK~$yZkMQwDco>yos><J z@0G>FuQo%cZIz0oi(8m>KxIGi-9C;z{08cY5y@XKiVfaaOLJOPDq<*p(qN}C7zV@d z9(H5U!5qWncQL;h0~fb($ChY;Vd5LJ^KtN~UKZ@G2M0q8`zk{6<)l^Tdd;>PWl~XL z5Y+-L?7nNvnRP+Ucc-7h+2QRVNnM$=GMy+UTcWPXd>Ez*&-;PsnN2&4?!rdM+x88K z9Xw{3?PI_{^4#{YeTqVqG7N?*KhB8wR8^uwz9_7s<KK8i(<<X6Rbzmj=Uwzs{nI}x z4OxfNf0yjczA&`zCCeYkkp-A3ZQ`f**x$k7>A!IN1M<&CCN^<;tb=nS=R3IA!KDta zmB!xV<~z)mKH&DV(p$`KV*VW#|4d`wqxE=-d77f0u|rPZIZUEJZC%6?ogdE7a32q7 zw+B~I!9(K0u#6QtTP16bc8^kaQ?#?}*cQMb9Rhc^1!LV{bPZLk(aP{7b*%jl9!J{w literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..26e053fa58f66cd99f111f279a3b30ea3ec4de3a GIT binary patch literal 2794 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 F+TWfgDkcB` literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/encoder/ScreenVideoFlvEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..a092501187b4942392cce922a5e11295e83da8e7 GIT binary patch literal 1033 zcmb_a!EVz)5Ph3CaT-$UHc(n<3k{?sDPRe~sR+?PBMxb)h>2w7v`#k37S{%Qodf^C z$8ezt5FfxtA!ZX-1*D#eEYIxj?7o@zW`6$q`UAj2+%=J5co9Y;+mj>DPlT5!6$bV| z#Bbv<kA&U#r3jQQf_^v<k=^M>LIhno5Mj%o?9EOc5i1i0gLT9w-1d1evR`>eqOTb8 zPh=p~Q-*A<-eoYJ6HF0V%$1Nso?)Ra196ZXdm?hU=L?3VcG%~Bmq$|X(?dgzWz5iO z|BqUC7;>>tZ{9JizD@!qk40C;lCtdvL8!QrVL-{M(`1Us5g&dQv72HTMq*#6aX28X zvc58tf;4$4I0?nDe%@=X){coQ49_k~rie1;w7FKo3RW3Pvp${HVASfpW)U~AZeopL zQRhqf?8dQ(R0$inNzeFnxA#8bJ`p!-y=Jee+qE)0C3NT~@nIw;4j*;o2WnHM*QBP# zlOaR%!d)R1^W#*wVkb<ZzGz833>)VT+ygyp*aQ_pvkbD-RpiN<w6n=G^0~$d3ZH0^ zL6NKu18cZMwlupyex7y=mnoXTLVC+0uYtCwF^c~SviS!HDVTyR{spp>f_#KQAMn_k z|6XvjR?Be>tL?ZstLwOV!*Naet%5b@w7;S3p5W^Kz0X)axWD}c*Uu6!6G5Pg3bxQd pjY!t<h*p|SW0oK-q(U=sYbuV8R&bk`*;LvcI@3Z`=|u)xzX6QC`@R4G literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/Corner.class new file mode 100755 index 0000000000000000000000000000000000000000..64b5d86389b20259acd3662478a0713eca72a3e7 GIT binary patch literal 1232 zcmbVMT~8W86g}et3(M9IYQ@jm58DD-w^;QBVl;$CBTCXm8q%i$M_dcL&9a#KuUdT2 zw5jQHe^k>u3+le~f%3r2nYriAJ@+2?{pb4)fHiEY7-29Rw`tU^X1&!F^{(eRws9;v zpE{@96-J|F3EMMHT;3K&!EtTjst7TRp7C>Tw7A_gigvfn5IZctuk3y(niYm@X~>kh zTYhmz@?&QCsInW}_w&Y!heroX)t%B&(PUWr_#e+i^Q6eOye$SLm98>`3eK^JBCLU7 zLPr7*86x>X$W*FyuhaBg%WmfO($yHnKGG3JBnnl6X&tHrQ3>XBL?wtx@K{F-5xIM! zLqnWltYq2Zu-mQ+x5Dc!!H_694c@A9*OJ&j)SzI3it|pb4%KtcX*RT3Po;+!ts#Ys ziZsJ`K+HwQ6Kx&KSfPG%*X0)t=ko<aCMdaFKNAfvw-@Nb?Gd$sLG=qOpD+}Iv_YrR zL(fObexu_xvJ4x+jD;5ObaH_*?w+`pBz;Im(oCo8HpDwiwl?0k?5d2CzOtG&_qs0K z6avX4Ge2~(Te<Bl%~heFQh0ktx&fe-jNq^20e_|O1LL!D_!Jo;Z|HbHyir152+L39 z2UsmJrd(nC5|cid3i%-EgPE`oW_>Up@xg-nlSoPrlV&Z{L(;5;dzdwAkscPzODuk) zyd!u@-x{sJG}e*CGyhcHkkbcMWJ!Zmp=Ornukiey7@+_RNV>mQu_Wb?r(fXZfWAr6 zC4H)g#oE4-xvAx4We3XKHD0ZJrJH^k{cP;6gc!|vb&w-NG4d@f!7|q{eu4d)H$wkh LGUr<oB-f3<S%4gA literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame$1.class new file mode 100755 index 0000000000000000000000000000000000000000..cc7a5d6af54f222c7ea8264b1f2f31eb26457fcd GIT binary patch literal 941 zcmbtS+invv5Is&pw+Rag1p<YZatTrrB$o1oRBmb1AW#YwRC)JqrishOj=bKM-$LRd z@xTZ0QHb%9Csgs0l}7fQojEgeJimVb_zB=K?guCdyfAhW#cC3#ImNkiMn_}HK4w#C zDN0gB+C@iJ&M10MiLqm)C%ySRB{%S3Ydb(ipm8iuWRyxhiQdJ>l(+yZ0-FUYPhCVO zo~D;LW%N*Gjx<?;6*pB`>k;=bT&js3rh2Nha?b^J+e>nFMgo<-8B-Mk7eWMBt)Yy1 zh$<Qa<+cx~50$33`79=TDC3j_)`ljL=}21T{RLR@0}Aw(YpJ!(1J-3B-T~PoV`nrL z*lG{Y)OXKoz0(=ha2+=StP4C_O5G4Q{orBdq;-8cce&+x1>45|8W5;`Fu6@=pu9fo zXKl|zKLF3Rr<2rVyjlC?re+-CF7C1Ti6!ai(3muqye`dlrzrR-%1${pdUGH(rL0Z( zTJt{jQ<-Iy;Wocpne7}zqv4;Am%YSRMUBz(e0##aM{3;%UlDe{<KpKc=90&XKR$aG zYwU-d<I&5w!l%GhG#4x{`SdKS-7g5g;o83(1Frq5;AsAhTX1j&Hn7RrW!&QY61KQ! Rpu+EU2Q9w&K7CdG{s7W!_p|^2 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/RecordingAppletFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..d525f8102936d07baf97300428258af205a19e39 GIT binary patch literal 4006 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 Kp_Nm-^7CIl+#{v{ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2219d90d6e83efc87f587c46c1489b6cebac9bbb GIT binary patch literal 985 zcmbVKO>Yx15PeRz*>=07B_u5^pDhJiBC#r55Ur3<L<LexD?-Bwgm>2@ZZ~%1b*SK< z@H4o8;DF%Dk3x*MK}dm9EP2Lbd)~~OnV-MDegkj^H+_^C?rYPHV%d$ep@@gpY89m- zKhAsHh$zXVP&RsFcwa;>q)PQkCh~mO+3Q<AJcflM{+34>SKVkoJ`#!bQDJyIG3tTQ z17YmDW{)6+VW{j#CG7)-^2TO|!E5SN1Sn%RgpX;4`Ic1T>98LQ^PI<-V5qiq!m|!H z(%GX+&-P@_u+y42v#o80>7+<&Uok9gv<m9{#70fsA819T+TQH=ILGj8;wUb6E46y4 z(zbjr4hJc>!tt0z74;B{j&prjT#x+?a2_i@mZ<{&W)|Xt^Yo1vaH%ZAO!6mbhT8wA zFwC_rPmcHaU{u4Pt%oKNyV6y;HZ~8pT}*1nBb8)2m#VubY)_{?t})!3v>XiK6QzV{ zW<1XY^>2BM^WXYV=&{+sRnXMXo}zg#(WZGJYlcpDNi)(@w>~5ISUiU$gW}suc=R|& zc6j;;XE09|4Li<~bO5hNJIH$D2dW<sHol|!1vQ4oCoDO@GC6}<=8=3&kvTahs39$Y y7f+o>zyyPfxI~bb3s1H{?pNqoA_}XdJ*<&jr@c}Tq64ie-CnN*L~ji@D#35NVgZ2w literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$2.class new file mode 100755 index 0000000000000000000000000000000000000000..e2f8f890d98056763908e7be374f1581e8cc88f7 GIT binary patch literal 1065 zcmbtTO>fgc5Pch`apSl&g!27Wih(pm7$PB6v~VdziWDdkReN4L8+(hhi|jQO7k&{J zq#_UpegHoTF`I^}lv}X1+MOBC^UQm*KYxAy0icUD7ZrvlI#0q#CQ(+3s5C~aa43qm zMapv##+ek#grl5~MYt!`P#<KXD0<cox-O~=&3*o!hZ$E%xE<|_*tn=M^kzog9*qiN z20G?O=L|KI$|873bq;2Q+#r-qsib+v@U%TU%<3*fbxRLL9SjRTT+DlLu;`<XCWF(q zA1n@}60gc}B=Q{|WrCq)d&zcrF0DOvR&84hn=@Avbg3;r5oSlfJECk-LEpnATyb%k zVSQG<d|bsfhIt;xq;>F!;r0KpHkb?uKQQ5QITosrT5Z&E1IsRM5<CA!ecZwdX_g9^ zq=td@iEiq2AV%g-tKJ)3=CSBW%ka{v$$VfjNs1RL&U7JF@=};o53NpZlCa&kLiv5A zM81{rq7bCS!e4WTWs=yTH3!ygTBYg6IJD~U$lIXPIx6%6UT5tK{LWXL`Ak*?XRU7% zp=?&7MYc~l)_V?1v@@K?g(=Eo+HI`SIfVZW7Y}j$6PZUaH5+0dPCzt{A#NW-+@C^J noYR>fPh?i6nGS*p{vF(<y-L$^536))(LZe=_L(DZr{?_zFE0*d literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$3.class new file mode 100755 index 0000000000000000000000000000000000000000..7e1a46a28aca39bce7080a4ff5f74df62f5f5aef GIT binary patch literal 1064 zcmbtTO>fgc5PfSWapSl&ghKhIfPpkcm{K8Cv~Vdzij-0$s&Zc2n`Dc#i|h@#bKt^X z;eu2I;=m8!M<Hg@s4C?aY^`_at>^8`yxCvBfBXdS2&*0(h9^4jN3rb3*+|4AW3-A= zQM@e%JQq=tNuf;C%lS}5Z=_1~I1@$DwsyGgp~O%>;O}{qan+A@;{%Zx4;6;?%&fb; zULj0ZC*0_qp<)KI2p>|M-B~F&iDgSFX`V4WZO%@!vd>W3)~Tq1VLpI|IUg<-0#s3F zaGUmrg|1ZM<!Bg-e2>SOU})G}vVERQYfr(FO^ab`=4iroN-O9Kv!~x3m2470haw}e zD|+S#^>GPTJX~hjn6-WZuHqWQ98VI`K3rpX^*>eYP8x=fP4rw2g({?0n^oMvO%Kad zt$%j|+`?^!@>r&3z`!U+|Fs_FiD*k(;Kfso`M^?;5-(Je=|ZahjxYnATA7-pV6$U& z3OY)Od^_VsAxMb%zuFGVq_9h)3|6mOq3Oc7G^+3kt<h=&4!wZiTK$Tk^$lmfkmca4 z#U?xC%|4((c0fKBJ%>e_8P4Ovl;u9ncF%D?+wa7?ViET7gr{@txpeILc<Nbe9U}OS pi-)*=n&Q(5irSRIML0R=4(`%iqUN}V6<Rgua2tqy%7nHm{vVu;4mJP) literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$4.class new file mode 100755 index 0000000000000000000000000000000000000000..2749905ac5832a77aa8042219a2499574888b1a3 GIT binary patch literal 1255 zcmbtT>rN9v6#fn^lrF2Sh{Y>XsZv^C710nu6VpH>X~jf?@#l1RY!|mPxVwe;8YbQz z!^B(s;RE<k#xt8XMf6wQWHRTRJ@cL0cYgl*{sX`YZe}n-xTC|C)AU=-pevi*IM&MX zWb`6xi%>dl;7b)d&qL9X&Qo7``Y@1Dv}N?tY6fXSeoq_-ClIRT>@@eJ8)q;^crY~T zqfqb5Fn(2QGo%a&V{zM$O4m8l`mmtujI!Y?KfXt}TOJ-}VV97uX-{TBIAJ4$aSJKr zY-Euqq{_x2SND~C*zGiB_(U`VNtmo_R|LBv^o`y#rcGIdjiIwCt#Vo8ZqlY5MVKzv zlTnDn*s1BxzE(WC^@UvvXK_A*bA+{F`)A_<E^;v8x;*{TEyA<^>Ea+yd0^<((A`Mh z_r!iI!*vTYn9blax9#t8Y!q>YIVU_Xc~tkKSSrJk;*si)p!OY-KFpwG<0`HZ3Vncv zj(x5AUWEC7!~E&iYiilX!qK+eCS=`y;|WuPG6&-zSdVo#bmf+Bm@##1r<P60OrcHX z20HRpt0CjI_6)yx0n+7dLoj<=amlqnM3H0$<&JF(W|^ERKBJ&~-f)z+eS}XI7F#D+ zT4UW<tV;DW?8;Z1{FwNhGPdLozoyriWZmXB#(El4d=t)~&_j9ILs_a;KEeKm=`Xl6 z5a)X0{J_fM+#pba69m1%1ieLp-l0hEu}B}1poJufrCv~A2^Ca1Yzm8<#0cxle5aY& T4sNhC$u^Uw`9|5gGG_e-hVE9F literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$5.class new file mode 100755 index 0000000000000000000000000000000000000000..834bed64ac9db80bbdff2032e11e6e71424393dc GIT binary patch literal 1190 zcmbtTZEF)j5Pmj^NpoIpOscK#Rimb9?NzZ*OzW3wArfuDP`|o&*<7|>cI9qk{6&Hw zf>2TX;1BReiL;kjYyFmTEITth^Dr~db3cE5{{i4WRtv~5Jk)XM`7-pQf$#^$XytW8 z@;d49Sa?Asg)&|@=6&J4l&YhLkw}tl>sQwb$T5`m`CINqT!r3_zb^t)K%QZHV$_{( zHxZ_#18#K8kT*S<R9C6b)})XPLfMc?nnw(qwaH-?_ZV_px+98Un08UXl!Gj0Toh4a z$kuGaOiL>9e9-qr+~$5H7|M2*XphIz`r}~Ej>WJsaW~a98p{oZY3nzmm8Bgt9n9lm z0T&q7C*7BeOSsH1#e;yjuHIwVJ;~NusX+M9c#maYs6=YjDB>y>3b;nw`Ty0$b=)A% zdP0Uh!@$y^sxEHf_TRQ1oRG{WaY*ZHiLUvxKj(!W#DUnBmbTera$m8H62DJW5a~p! z@R=|@-Epyuy9^F#wykyKbJFZwEuHzDmkcS-d%DY&h#FQMZc`}{Z$&&w1kpeJkJzz5 zy2{cy1y(9qdC_m0rBj4M(bHtDBSRnH)R(@%t$)Rt&*Wur*2dBos%Gy|Cf}tR8?9iL zZiaI>KStT4O#4=;AHe;FxdU7oSvOyOr0@tXZ&TQZBT$t?s5^&H%amoIGTGympN>>! e#+6yrQv5~K>CTZ<m#{)sdE5}0H2gfgyz?99sW-3y literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$6.class new file mode 100755 index 0000000000000000000000000000000000000000..fba7c2315962605aafbae6e97eb87c1f6189aeaa GIT binary patch literal 985 zcmbW0-D(p-6vzK3Uz==Kv&Pu^QERPHlN4O>qKK^p2^NKD1to>v&2GkI>Sm_wZd!aS z!76y+1NbU}zJYjVjW^M&EX>ZFGw1x~e9V0N_2nyo2k1H|5FVLi6ohIN##0$iv&`sV zDARZ8SR^utVkLDJyiLSJ1_w$H&1o#tbkEAIEe9one<V&s5DPsD_QN9?WezHYXA4tb zCFWQr+56s@kuo7vvaw2A_c_x3qR?$Z`9#F6kU)n_+)-L(yM*2L;>g3!fKck0p{#*W z_u!yvR~J0g;JPT{qK73k3B|TGt@o9dFQ=1GCT~O-OG2Y>A`uTnqO3eqmTb0!orMEy zZE?2MD6ihWCakpkd56Sl7WB;I*l6zPc4y#X6>AQza~%Kfd$@shf}6^0pi-5GTWaSi z*P_1=Li2xUc6)86NhJ4_&9XUnZSL9AxExP)6q{7((F>W4&CtPJ!ox)yOz@s-Et6g> z(o}N&>T}l!>)e_mk1`6rZ+iv!4cjSx3I!fZ@ObweuO72p<hkD6Jj40!>KXj*XEZ+K zhL`y7<_?@DeaAA(){)Jzg3CM;uHfnn^@J@gytdi>2>%nV%|Yk~s`N95EdMc_LD&U1 hvB8)kZZV*M7H;!g!X2!k&8r6M?6LMMv$j)le*-Pg|DON= literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$BarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..ea50a39a360999307a98f82af5ce7b4174b72134 GIT binary patch literal 2909 zcmb_d*-{%v6g>?RBSd2p430xKCn2#Uu*G6xFkXQGa=<1mBF0%fNP{#+%#fLpv7LSU zggp2Q@{)(73gawQsXXVSQaL>{T2S&Ntg4x5b>BYs+;eZ={`;Tb{{%3C?=`dtT(_M< zdebaymdeIv+4F2Goj2TVx2QWtI#)6c%S&%L`i_xaH?6$AS2A38R{igv(j9-GAtG@6 zo_=3X>w8{krlCz>xoPYLJEwc5ZC$tWE9N6(Z8xubhQ3)c1iD<qG4)c`a9kR!Wo87# z4S~*S+j2eK^0GQ3i84a<69UI}Zf$M3hUY`tj==mv)3gpDO$xMmMbqsc61dnjrb4-7 zTBdhJ;D<!>FbmZL_(_>;8ma$qkjbn-WZKRf?GWgZIELeKwBn>h7oHb5k!W<B%qq(l zBqTan7Yn9k+$`^G8qR8vziyR?QdVaYna^-CqJ$KfZk~0e8mVX0uUA$|BQ;iueYh5) zySiz40w?Rjm~-^qqM36ili4^U>6dsDZ!vbaXqQX*CADGM$g$K4svKJr$qfw&Dp5^9 z1z=<*juZwp3<!)jTXPa;aZVtn=W;xG{Ubb8N2royO_C|yHFGPTV{aRiah$=B#4rfo z&a)CsGv+#3LQ^G53g;!p@OF*XsKDy8p+)iXs_FPT`^3g2CUB9yNX(x-Ty=qAkgH1) zm%)P+D;VConfHo*eljYJ*Cej1rFJgO8)l*Csi3DNX7CO-<Q;uaWmP~+WcX8ft(cQ| z4X?Ao6zH=iT_wS+wUz=U>;3Q2$P5=dS3Etpy{PYoRo+|n`&dJB^EvvZwj}W$mPtXS zfNhVZOfo@es}gJAS?nPH3V=X&qAsILHcOL|3A`_H8yhsP^gVXU2GxAqWLComY?0N{ z^&wP(Ka%(ucWVh|k6U;)2@Y7c;|?|@a>!HN2YfOe*g{bQm7Z<(tQ>A#5~fOcrxMKA z@`ARe{BBE>e7_HsPfNm9c9M3h_HJMnr`ac}#Vso_TnP{5ni%H=E+0h<7Gw&05)bgO z20ARTbQI894bGT5hNUjY$##5-&oz9;LaC;>x+?L7QX#q*9F+KqU3PNDtf{(MPs3$@ zPHm?~8Ot)9>5}fc2HSP4(sbGHD>eB)H+JWt8wICXpsjqOeD^^^jN^9R)h&plTiqH! zSC_hHIHz%~3(xW0&3{?iMELDW4Lre#)ZkO}rp`XWsbBoveS9AyCd2@uB7wL_;ziD# zR&zvo2`}@jMz7#iBB{}7dQ)6@%0nNIeO|ys>Hu#%Mta~coLL-9?c>C+NFE>^4o44g zVX(E8Mw5K59$@N6#8LxKF{{X^z(6+|$)ur)AxJUI>vDw6WE7)f4CCTL9l41rxe3f8 zLn@NZ=?2~<%>^Pw&@vj~n-@_?bC6%bm6pg)>h1e$Q#0bCk1K=K5LaLkH#wt3obv+) zrK^#@rN%1<SZ`GF3W;AukGNI`+FJ!>LkdARsG6cP^at+T4#fI!A38^;ego_2ZguWn zFt@|Gr`Y|uf&5IJpP{NBHtx{R2*1itEWmRbgU{6Mk5%{cP6+pph5I{#{rC6rs1f33 l9YjY6(Sk31qF>=_e*1g{Q}~9uM|qOJZHu#yr0`u^{9ncI=~e&$ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$HorizontalBarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..170796c6d3d77ffb9186cc06228ebd4cd0f7a68f GIT binary patch literal 1323 zcmb_b+invv5IvJ?3EMP;a4WY00n!v$#1kS2sRTv61o}YPR=hchlNz=*S~~>z4<7go z9#AD7_y9f%F^)hG%G1JHvUg_JXXebD`TFhi7XWwAEFweLG|4FJsZlQ;%ih>Iqr-u; zFYTU4WY~|D)Giz*Vqb<kN)OB=mezK>U0*YadS|o~@k5bJT}9*wtEmBh!VoG}CQ8JS zOsq2c+4>^_Z4l<$Mq4Meiv(wzXBPe;Lc#4RTfa@X*G(I}#VGfcR_+1eLnA#*_l0;Z z-h_6d^eEhzmZg;%t-duJTIsr`FPuqQ%Ml^hHUoJCT%!Ob94#S>YJdR83Ge?k?NCfy z_`g&38J-Am5~m1dCbJq(#9O<ix6LbN(|GPlEp(NZPsaN_nQV(*ED2T5IgSL&fbAd7 zoNqJXar$~5)-3luKlFMg)c)2xR-O61352!u;b+@PC_Odfq%S+lQ?C6nV7I)I2*JA6 zGHJ)cT4{@@6Yi$fIAQMBj8zZUqKF2elNNnetX#Jlwpe1#W_esQSVSHLwu)10u2S(r z_JhnTz&!6|wsw)@1yq|WpRmwexpDIV$C|kV)ILt{o#wsl5os5BiV)Ba&aiK38l}on s&a%b#aSrD>s(-tHi~Kdi|M)yE;WD3#?8)K^uCj;tyvFBsK9>un@Atctp#T5? literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$LocationAndSizeUpdateable.class new file mode 100755 index 0000000000000000000000000000000000000000..5ba58bec650f7da4e1edee41ede4f27d0da6a97c GIT binary patch literal 337 zcmbV|u}T9$5QhJWF=x&Q7N)SbFpUdVwju-sK}ayEXYa;ylXX{i_YCCGEPMbTO5CIo zu1qsOGyF62&HVg+eFM0~S%Ds5=0l^jX|!!cw<&q2YKiOk#z9nNjku&<1HX$}8dv*` zl^CbH{OZY9oQ!w(uAZB%ynNK0gte6deZu*QKUrCJje6EAsS;t_?k$}@!qN3)K`7_G z4V6rd6~aYl+0AYmVf5&nga^wpN-S_nxH}Y|aM=O*KVSf4s{Ev^`IKYi0(vO+@dU%H LWp-p{j0WW&p^{{( literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$OffsetLocator.class new file mode 100755 index 0000000000000000000000000000000000000000..9416af2f0b08fae26c3e57382b8477b2b7004543 GIT binary patch literal 328 zcmbV|ziz@X5XL_TN=o>n4t<0UWx-M>cBDv1l^8%`cETkDTpQUAyc<Iwpbv$(fEZxx z;!pnc-QDl*?|k|N@P%QFNFcSYlv!0~x~8lS!5X<Hzw;aANangC6J+7k56M+!*7m5$ z`?UFg%!|TP__nzU*2QQGylvG%Nv%vN=h>F>ATTI7LPfZR1zMk@nLwZ2rQP4nWMONU zQ(9>fcz>ERZklq*%ouW0t-L26qc1S|FF8{^uy+6k<C_2xZ}9>)SmQ<!;r04<k+3G5 J6zE~lNiL#hT>t<8 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$PropertyChanger.class new file mode 100755 index 0000000000000000000000000000000000000000..6b0e3136edab16f01b90dfa653bee79f0e05b08c GIT binary patch literal 324 zcmbVI%W48a5Uke3)r}z@1b@Ioyf~0kAjbtsKrkTad3NortK*E!%trESIphQKQId9# z9&_oUtNKyhzvu5C08hA2&?3A#U#h$+b5nC($LOruaM*{f_N)q1v5o4(>jSHGWjF3* zIE2|HAHREdWFNn>t+plm1UH1iPJe1;giwoo$3-M`i$-5q!sv0{==u~@<_<?^W%|ox zMM#&f_65%>!-V10rs<`L(0{X*eP(nB91`3Sp8xBe@Nnh60}$Hs7eTq>7DAwfq={Yh M1XHOHr|5UmKQIYjS^xk5 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$StaticOffsetLocator.class new file mode 100755 index 0000000000000000000000000000000000000000..74c0f73bb2e6dbc5e80e9545340a8c0cbd971012 GIT binary patch literal 898 zcmb_aOK;Oa5dOw_xOLqoxaHYG1N6}5fTf<0KwK(CiWCy0MnOHUolUyM@mAgq{3$L- ztt$1v58y{3W|JV5D5r|U&g0vinQvzH*YDe(0FH6s!y|NbF^&^8PO_;?rq=2_9!m4Y zoQp!nX{Kau<53|dGXAXcq5hUhV_MEXIJLs6v^N?VX*)U<Ru?|Xg!+Z}D&kD!<G7bx z$kh6%5?c4J^G^lB#-t-hb`BD#O$a7^efbxtzE`=j9|)DhcKc{RD4*z|3{b*WhyXQ0 z>F{W<4#I;FKGvMI9bz48gjz@CvOAq5vgnH>lZ41MmJLLqoWB6e_FNf4_rH$r9W%|i zG3ICWC1G>SQ@ztDv*uPqM(;Emoa$+j%9e6mca|3P#_fSa+IcRElS~*RjgOavxA$EI zvszll_KHt{29LDFrveX=n=ya4$W55F!vk!v4B0#57bVuU<_$KRyVs~U_pTBBV93J` z%LrwbA6a%eK@VH_golhY=3#h*$Lw(eJmK^-v!1f$vHc9Yi!w25cUNg%q5hqXdGhKE r?9UR0^9PHBguRu)(Q@$FieL}VXC+=>pLN8=D$Ms)HQ*8ryhiW`JmSyY literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$ToolbarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..4cf672155568bf9b130d7d3895915e86f1563d96 GIT binary patch literal 1982 zcmbtVZF3V<6n<`+bZOYq*cLEVd68C=rLgrCC0MM1LTaRywy9J;aFg7WmF;e4cVod1 zzKl8}ANVQE;0&~iGyVX7l;d-E15Mg*F*AGb-Mi0y&N=s-=j5M%pZ^WuUEDU161eII z8+P5<sJm@dZ%2{u*-aJR3-8K6*$vlGUSzidxvA_m$7}lAt_s6>{XV(k`)*wZ@r!}9 zz{of9TWQPfr~@@HC~&iH{;J=Qk>h)FUUS*`POWY=Wu#=?RRXzC1&(xUDhLT!ty~ch z3j)Js-wPw@MK#H2GK^CHgus!_#a1g+QB3Iv0@tg3yVb)~5*Uo`I^pDuz{S2fHOnQ( zbD~*+$A$iBsyYGp?Qq-iHtdBsF{QrQCVK<z<zAAWa!bXUK)UQV)er>6O&q~U76UkD zB8TGwV}<xoToH*g#hU(}H!*?Nm=$JZ&fS&|!bNYz-y&CGT_fH=-oOcg(SzY=L#Irb z7|wF_rin9{6c~`rrhwIDuIz7a`5tSxRNV7nZ&M$B%f#C#(CC(I+#^RpM>A4&JawbJ zSy#bIQfi~RX55-&y|MH<n`xbMfouI=Znt=t{!B|tikH}X&B?6^q<mMvX!u^lkPe`d zWC$E>#}e768y)NWCO*K20*5y`8lY-;zlE;LS@Ip;mIi-h;$vJS_=R9%aCb5jY_VqG z60`VH_3?HVv-s4&W%BeZF%xt6OyH1gG}vskw5tC@6bE7)LJ3z)T*W-Q#(h4O!?=zG z0~LY!etqs$i;2%sWk1r_ty)o{q`1Z^+WHL>i?Q_w+VYnsZfdkiG-Z&0vxKc^9j&rB z3YCg3&g`<^4jO9S(JgR%Upqdp(?F7n=c%CV$}m){(EPq)=x(CJJp$*^?wZ6YR>A<E z495u=IK=f3yJ-qpjA{V_xtvx!_cShtS2&LH?N?%S@13&FKEs$by^Et(dKa%wr+4tW zb?zBXT6r!{uUR{o`aPyBay&sJ`fvu{)5H%X{t@H&33>cXXMTajuNKlAr*Ib2ob~D) z&eNP;*>q_jUd`Yg;spQV3LTd&5F_|)$fC{nc5q?OY&Jgr8{>Nzn=lh#$Ar+j>5#0` zHBB<}7fQFRrx^PKpFBmGtCN4?n!ufxdtW4bOWfPV@)Mp(L5DaPpMTV4XQpE(g<6bS a!&jUq7)XXXx;2<(eavE=v*7$SQvU%`Hx_&V literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$VerticalBarFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..5108d679b9b748e81c52bf126bf587737ae019b0 GIT binary patch literal 1713 zcmb_c+fEZv6kWR)TFP*-;tg*oRoikIKv1M=f)GNn5fiZ(U-Yy+Z4VAJW@c*jLwxWb zd@;dbeDDMODC0guQQG)4*d}w%J~Ml*eOdeb{Pq0@fO!-Wh!Bd7+b}DtQL$RG((--B zHfz#*<28jV&8nrO?VEL1>`8M+*)^waNzYr?cBU*{UsZ+mNVvg40x`l$Xt*O7!iXnb zB`n7Glw&_Ht`TUHFu3a2o-b^_EI8IU=b(Q?=<}P(%ghp%OJUgyjB;Pu%6~}slnoD4 z+7<7_d(&$xyJ2nyWhsP4%WT!_p7cvjRrrou$dw7PRi`HV!8J0F!axd9qzxE2P55}y zuuakS&Ho*;j_{0uvp7c>;$&8=w)o&}+1t)r&L;a(CpBDBwtUjst4McSR4hqI>zu8! zU>UI8IgIHx6CQ`JXRl(p>+!nQGGX*zony^8$6G+y2v6SKOhU3D{T)^Fn}ldKS4?37 zHxkGYmcokIz)jp@U{S5|kY*ML4^E(oT#?YvF>XlJX!<(5yn#tf{Uw+qJUt0PQ1U=^ zYidv0de{s7n89oUCTl>CQukW}bC~BzZ3ZFnt-v9so;fYID%X|P&1laZHKQ>IM$xvV zyJ`u~ldPcR(N&Yc5@9`Txx2@cwbIpL9?@R8VVnmy%6C=-V~C@VtwdlYM@IBC^FGRF z1_t>##MTSM_z$G>lV35MpPZULz^Q!f0Ha?5zw`VY(ugDwr&loOH7@Ykc)*fomWyn$ zKQ7@iv+CUyTn$*pajnBL&nxk}WPTsR-*Eji?<3IIIzo^PFpa}+I+%p)AOFRU|G=St qZXeUV5WB}9209QC+zyBqu*mBe2Nh+F-C^pxyx!|eG3*4E5%~=}Yw6Yi literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameMovingMouseListener.class new file mode 100755 index 0000000000000000000000000000000000000000..a5a542fa8a38321eeb29d9183a00f31bb7df0239 GIT binary patch literal 2380 zcmcIlT~ixn6n<V3NJ$rrKq;2CR>YcwmRQAFOF?NU8VxN%r9iE+Y~F-zlU-)Bq53lz z$BS0S3%@S>xNxR?jL!H29RHGz&)E$LMJ_sYyhz@!^FHS}=RD`#KmYmd4*;*?ZVW97 zw_UH4S+Pqi<(gip`M&F93c7l)x@vklW0h^~_?e<-R&?f;?G)VmWnHaK$$D_#dfHvL zozk>htLnU6^|hnD7@`XOcg=M(W8U{OdR@Q*i;04{=4($ORtfJZ4CMpEns1jgmg`tG z&l7XgcPqA)nFxlfu3OfoGpf*0nXr7@b#4@kRqZPz!rS6z#<d-vCT;$zT^)Qy;d1`4 zF$&5R+p+y|g|Xz}VN&x7(X3n0?NE5eKs(}bMDVPEqv%qIBvbP-^eCjBI0bQZqgSpU zCvtKrH804|8E8eD%=!()aD=|{wxh4tDl6K%X|9yDLRa3k%<{bH*|M&0MkQ4WcMcul z6NrJiG%BKwNzW{mbV1>CvRSk}+PEe%8BNW{@giP|VUTehB%#2}z*)Sk&|T8L#1$yQ znX^2t9fq1rH64ViXh#Y|F{Bkb8<@d~fpa*opg!d<7e@vcVxV*`9acF88|*cOBc^4s zVMK-br_s+ralCHeV!-(`5yK?|Z{jkw#8d=|T9W)-F)${(al4vzoocP33liL02HwVm z!cq3lZr&7HlewHIRZ%AWO^^R6jY7M%YC0vIa~Af@7ul6_zG>Z?HrML93JX5tF$Ll{ zg`7xsLioOKATQ#Lkb*G1Zr}!Hs1fqdx|KE8p$Zgw_tvnnKN`m@ZpJW2g*WP$t$9_~ zGw>l8gD8T23%bY#D1=7}J;~f2Nrbz^TEJ2aq~F!V+GSwiHa=pIWZ491=B5rIS!)f% zEiaRZd{*<J3WA=+vH=q-e51%|QWwoyxq;RFSa?AI?30I2A(j8Ng{3JKv=q^xsOH?7 zXXz<h-j$wxpMzn^CCiy}_#w!aO)7vd%)maY13nr!Ll+T#p(1FJ=Zv!!dCY)BLLN@8 zTe(99wCmt%8d0u+{`Al$I@8-oq<=^EVq_b~Hqn<>n>g`n0CJN5odNU)fj-AEe1TKk z6Chs4X*|zSk-!Ue=)VXZ<z8uM3j>dkOh3X24h4>#I~bPfSa>uN9*s1QMhfHH>)XN` z50IkK=tB(1y_3z$%cmOik>xFn3(W|GW-ns|9+1>SHu;x$2VbFxuLHX2kW!s4$>A!p zB;3!2n#6hL;vz2K8fOtq5hVuoH;RgVO_<%tHkepRa#rY1GhwO4b76qHfpIB8h0Bq` zHr{0-xzQKh!h5_mo#@!X2V1z+Om4{f8*={^!}yLoz9+XI0@i0jcMaCrI_p-9;|{Ca zLV6!J=q+$9HSH6J5jqUYC|-B)$zwjdf^7UqgrBH}pK%<&1pa!%`wf46p}z#E9IIa5 mv$T;Uw55l(QE0}|#&cjJz!4TL%)R`Vu*y+dK=Bc^(ef{O&uT~j literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame$WindowlessFrameResizingMouseListener.class new file mode 100755 index 0000000000000000000000000000000000000000..a1807006375795417cb9efdf7b005774f47c2b82 GIT binary patch literal 4876 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 a^m4gNHS_VZm+w42$5x)-{0kZn!S`P$Hnrsd literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class b/deskshare/build/org/bigbluebutton/deskshare/client/frame/WindowlessFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..b6b0c37a8f316ff4d3ad7d2a689b7c2d0f2fbba3 GIT binary patch literal 9534 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockMessage.class new file mode 100755 index 0000000000000000000000000000000000000000..6e32544f90c4d19053202f8899190a03905b7718 GIT binary patch literal 869 zcmbtSO>fgc5Pjp=ah;fi7E0*{v_KC@4zUF4rL8K|NR=W2MWV`m?XKKy&APHTNc^WB z3IZYZ&>zqrg*r|wWFZcbIP8wz%)Gbrv3I|3ZUMZ;D;E~wO`63)sNyi0$Z%pzs)JLR zU*u;ZlR=aysZF4z2@aDqx_B@1T*T6aO?Y@NzK9?ZIu4G*a~T;IbwYnmxl)O+aGB=H zs8kbZNT}~Ct;_+z?hLzQHiPt3Hc-O@A0AqSTBkeqz|Z?|u|Q~#l$IYRpF^3Qh%k|a zrBND*WGpgO;L>TEGnEr|MswCzZFi5*ilr$_KKXjdj~sNm^GcPx?FxU-!&9ueSS9Sv zS<pXJe5_-G;2e&Q2k!{`|5Fg5$t`~TvkM+GZ=>-kon(<bQpH>st25~r+b8%#tz|Yy zM4n3?Z?n=PUhtM`d>lSju`K>|1@_S3yUFN?{TACs?-%^u`cJgKF|x48cZ+j@HQ3yw zhYc(-dNRw#BRporys0XG94vEerrBpp9J9Y;<(lnGtv>Z_O;!9^yi_4P!*li&^#p7S huG9O0_SIkH?F!i`$rd)JSzFv}Q4aB19lU(IdJoRL&4K^` literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..a3c47087858895af6a4c4493da1a77f655fb7e85 GIT binary patch literal 3096 zcmbtWZBr9x6g``4vH@0&h-hOeD!v2~j4y~)C~ZQ5pn*^b!H7yX$r@IYU79Q^I^%C> zKlTr_U;8%LX&rw+e^l*xb{B%6IJU#g=6Sv6-gD2r4}bsj=W76$@mzsVLegqf6D6Zs zs;%p#b=$VgL`83|HdnNUo+#H0-Lw;?ZYNSTtGqgIH*~E&+puh_Y}GPm*{bLb1+s+j zBki%4sA*<3kt;pY%eI8zWG0!;%t`Pqr6e2~PtN8S<}%Ck`Q%)FIaA2Y<RwVlIWTUS zO<ObVf<_<w^bHcawvI2%rjz-MdtU5G5)N<eWoFW?4aU+nom-gCEN64$$^2AqrnTpn z5E^ALreTjs@JIU#66A3@-$tmTDgp>fIFvO^eP+F0(i?fLRMRDNX05VTD`*Wv%)Q0n zsAHxbeneCpM<-3$D@Ieoc=msDIU?b>?$A1KYYp4wds=TcwJQDjE}Cu8%ss=bj_i+V z)$2@X+NkSh)3D5sJ?)?wRwA`w>&Zq#+sLikYwMm{BZ9^D%+s>IX47_4!6~MB>&jGa zd#4?JIIG}{gr2S4cN$c24(BBVo-_=b(aO=O{z5zY5mPYmmcrc7Rm3q!nbmZ&YOgqH zof5|rDlXy@GhWqgfy2zm(f*~BaN~-=7$Qb=DJ6^#<8uYqB*gd4+%6VXTo=H?{-RN_ zSK29}5f!8Of_xaJowq#L03#5%!}wCgSK>|^?@a1Ob%pgIH!Q0zM7AfV460df=(;K4 z!pG&8k(ETD(t1U+H3_}0_4npbLWiq2r@kc=qx%EyY6u0RqFZSqjeGz{kbN7|3bGQe z?o0Oj5LC<{CqW^Da}IG`(f+;E36!r@%n7nPcy!ik8bY07J+EQ`LbFEmw!SgZ(CSnf zo55YNc}GQ2s7B?b?WiPN`;T-`9%~*nF*szen_{nHS(jI*wKb=iD5C9123wGugGpUu zKTVpItS9L{ui)RCK2O#Wp>18oLlL&zG@j{VVMT=@Lh7&`K{^FYX{|UYEL9hD+FEbw zqR|POB&0n^?TMY3wWww<vrcQ@>N)$CG5bOrOspxeBph^(ZW~kaE$%bsr{Y9Yh3(8X z$X4BRgN5#9b^8u`Vz=vR#;ok>h(qt{h#&Hf3YfRn8)bdM5M934k-lqq*VA@En8GR6 zw|II2h=`YhqX-m)xZ1|C5AB?H?3k;ZAJ{QJ$oZii^DxID97ZQC9HE6<kog79g@dm` zMSnPzFUsN*5T9UpFke){>3lI1p3nb=u3vc4hi-n``3ro8v-lLpoK^91@<sCOCip9H zJuvVRpR}$8okjPG>K?!engGM;p*bIVIhMI|(sA!ct_TNHgZ@pN9vs+2)cd`#iOYlW zO<es0H@xAPH;lDbIrLUrKAa{2448DDCsk1#W#2xD0mS$>%)Xw)pcB%7i_Ce7=jj8+ zk#>AeA;Xa%AcYCsWP;i-iK*S*OA%TK@KiM>)9V<$zvTwt4MhxrSD|Tc%#OwVJ>k%^ z!+7)J`+QvPaR)I*cv+mD{{f2p6J$XHr;D$L<=9c#4Or|i@|+0K?__6~fq^ek0GANv zzgs6TL}IVv3<JD~YkWhlV+=Rg)kfKt#_)hI#6t!uGCAbB%n<K#M(3RnDOHBJL<Rb2 zWgPc#pI8gbcbp@c7C`!ZZ-k%}+*Z)1V3`u&;0?ESuKBpeG7xVT*%TstP6L9?E6S@- zHs+6nk9$1C<VZNYH4a3!`H2N19zQ?xnybi&QypoV$}r{$is~klJ4ptnoVdDO2z*0- zg~Sp(Bjnfy4JGcqExcu}2$y>QLSOME%Gubj=<;$=@o3*fwFTcvlfX2!HN%3-vFv7d z!1g*Mg1g7?h>i)^Rn+#tzTk=|_jo+WM8_##p?C2sv=Sfq9d#F63>)sSrEHgiJQKJ; z0Tih0MJoFa6H|12IqBNQIvx{)D2}#8nZ_OeeDvxGp6>Cgz!gD8cP!xPSa>C5C%kIm fyBypj{(a&<ApY_W4!XB1soOyl4Pt{<eR%dS-dn+{ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamProtocolEncoderTest.class new file mode 100755 index 0000000000000000000000000000000000000000..a7ebdfb5fe75c00bd64b2a58980f93e7e78eb620 GIT binary patch literal 1291 zcmb_cT~8B16g^W~wyaeOXay7~BHB`56+d2T3`L7JDPlyM@HpL$WnjC5yR$_675)`p zgh=8K@JAW%Y%3U|jV8X_nb~{i+<Wdlv){gd`3hhK4=p4Zsw!wZP1$aGk!VI*E8l5} za4+29fpA<;3ST?E(9W8t+`TOw2;O-aD6L%ORee{rMDSXK+Cq{cyUP!_<8i<3Y&Lg= zs~H9#Nnh&63<HH?gCY5ZF4!2rPzEUsG7Q(HFJ45QCc*HgCm2TS%H>{z2hyB-ACr1V zh78Z@|E1V6Ln;*d%|64#tH{@~BN{T4l&<3YN^>ohPub?<Y?{~+A%5m@*2G&Chz+54 zREx02Oh~sE>)ye0!Ko(<cJ;k0_G2gumnkZ4j#N%<^VGvI^`{)BsbvdSDdgwHwL>i` zLBJ0;BfTH#?ksHNFl5YR2G>kSQ-L6EX-qMsO<{pj9SbuIi+y{iIvtw)Q)-1D5`7!f zm^CxHL5PJ~t=O<}6SpkPGgSHl{f%NWxQznCxQGR`rFqa}vmwHew@C#b3-vQG5mV{6 z%l(Icj=;Z0_ib|7(9dBZgAx`=#i9H_HIk%jHkNV6g2OOky3!L%B@9KNGq`Kom*MfL z`Yz%gsVdpxnlsFF`H>!eJ64jFy``eS73<Qxin;#JZ`qWOSx`~*v_Y1}hC#9xog7*j zt*M10q(9Ln0h_FGgXVmJY^EDP>qR;-Tq17*!@a01tp=zR`^bMDWbPLbV%!56A&>!# z(xoIpj-A3?>A@YuN$6K}g535I#_Ofem>9i&g6Zw-YIgMq`FNYp=4o3x#vJ*J*~w!p ro#oFFPmr9_C{W%a*#&C*Qe01tD3~8zx1Kb4R&b9hVYpA<6L|0g@UK%W literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f1c3a095236ac1162c4c049802796a445d66fd33 GIT binary patch literal 1720 zcmbtVTTc@~6#j-5x0FRHAYRZ?vDy}tr6__FP`PQ7qGGj)KB(L6gf1+zWOo+zulV3A z&loT0gYnsS|Bia5Z3H5Tp)}ddoHH}$obNlA{`mFv8-P*V)6l{&>3S<h*<L9-0WSwq zy27Y%f6cF&9yct<=0X~ROJmk?t+k@`xVc{BqQbpoRzsK}wrXyghGU8q<3V|qTT;U@ zhOS-hqd*9=>~Mx-vTFOu5%O7R)@hEcOxePgGYr$|=FMbE4B<Jq!rQ>mp+iF?iV!+= zv?0b2N~;T<1zYg@!Fri{kLw7!3a({3CDXH&+)#!UEQYD3qe*57R>%uP6sK@T!)b<z zW(m@97JUp6)3UhlC$kJMk3v(Smd8Naj$ygN3OrBML#-BUv9cWSfaltA9{n2P3<Lka zts{X8#Jx1vs3LmOnYxEP^^?<ZkzwpG1eELwcjrxMDgrO*xQx^;1)~h|2oxMDtA7K@ zWlC+xU`WH@z7{FI@g-l^aRpZ?<!&GuPSzQ)UE`r=3t4ZmTm%L~Dla7WykJA}%ED{D zA#GPAUR7;}Cx|~vK!R^lK8B;n;+h6R+Fi@Qep@=OV~j!DQ05&$9@BeBCx2v!;#J&@ z>zKgJUGAt?kJM$)G*D^BcZb0~Kvo?QLu*+L7l!dB$!1_wOo=_H4)Q~hbQGm&tu2`w zjn<78-N3W>A~DL)`_G6QR)NzTSP+)u`b5(bmsPi-V*!gqD0PIOfya<JfY3d`G$_vJ z)lkv%^vIiYOyB1|H3O9aeXU@zn3_T~nOo><LzJ}bw3{GVX`+KeAE6I^#_{diofAq| zJ5jHf(M7UOZ<MwhJ+xAy5o=g^*RV3Wh1B2&=sW2Bf^!VtF;GzQ&<>JY&<pR8?i&7t zk@}q*Z-4*XCJQ0-A&yB}mDf1M2^2|sLY|(I{2cvwffVVoDAyuM(5d>5sYlXHNTx7N qmih_d3~tfxHl0Th3Q>tn(uzAIw_p}?w1%k^=W&;IiUoy<et!T@$>v7@ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..3cd703d007616a745b1b6327fb95f35be3a4dcc8 GIT binary patch literal 6728 zcmbtZ33yc189g_dnKv085CRFCU=+k`5Oy>{YBo#)0ZfM2NEIiOXEJ0m6K3A9Rjqr~ zD%Q0kYORXYrLBUQpde~(tF`;y+SV?1-)z5X?V{52-#0TEAka|reR=P`yZp=f*PFcZ z-ZKXQ%va?Gaum*p#=0vzL*1R>gw>g_?P#R3%Zm5Ldjc`5G8hh75xX*C*_E~7Xt1}< zj#+`eHY?I)#SFL<@;3xF1uDaVNO$Gx&J9-3HsDdH8X?WLV9c^2b%B065wjes3a&M) zTm1^ENnvzdG!nN15xYG=>2iS?4=Q-#6vVO>#;w%MMYuLSRjrU0P1uf*3R9f*P_(i> zU<Xzw?Edr`H@afcXrDrXvqvkybD>B#*NnK9>s*DI&T_&Ig)4*6NH7tL2_6~??mahQ zB`o3E7V3@!L<xlpMsQ^5$`Jyj8MTMHtf;6^y-WnRwpc-hlZR*1z{P|ejdA0Ipo43d zgK`?)30WGqCL)nQXINAyh|{PkOQcTF2Ini7onrWwKqSy@#po_05nUgNJ20hAl7+8} zI{2d^NJf4dr*^At)x=_ftw&hM)7Vf`-_WX%v#wTQd|k~N|Jv4u^=<x|R{#2j_J&pB zB(-!3fXb$q*RH9r@i#c@vZm-K>9vMc^+OAEeeY8GcO+ylQ^+kTZ6~&M(Jm{G<SI;@ zjADhcD?<@$Ridxciuna7ahPZ@5N;2|Lh_xO^ej!0sV@0{;VEtRAs6#aRH9TQSZHDt zOc^aUF&bkGoS{&n9sWpfq>Q~**I_>C!xB^pEpeEVrqXsHbe4&6DDdF}s4;N1!t`OO zr9CKaq84=u6C>8<Hu^f1?P2hDrPnD<N$K&Ou+55X3I(ldVcuY(5JfUN$HZhzkx`S0 zsW{2N3WaG}mScH?56ze_Csvu5hUwJF?g_=2XGVhdu*r+K7!2qLGnPVWNmfjxvcS<Z zO@xt7+^{8R_1hsPCIf3np6Zy%gc;9e2#7-GnHY=wJak~40Y+O^K5g3?x2--CAHoIn zPv$j+LPsjXw1%lFmFTLySWjcN*@2i%I~5NX_QgH~5H!%qKuRN>MZ!cE=-WoWPz^`O zXc$CF+YNLxB=q^Ar0c`Q2#Kq0P$(Ma7*R72R+yCLdt@>e0ud8Y^pkkEWoM@W9!onJ zmCjzN_MsOs;Y&Z5oZ@@r9to-hHXGQ)Fd9M19VTy?*n+Lhf)vcjqxB({jk%QSxb&iZ zeJrHhYenL;Ii*eD!zL~fTBAryM=O_o^nuGvd<2&hJxRgZj7|k>vEp$iU4@Oqz<Ofr zPi(iq){84mT!m5v_r>8vyvK)Y@KFQTrbAU6U~Qx~65SkWjK=MZQ=7O>4vp2WL}h}# z{#YPr8MuL|M7uy%t*uRj!t5lxxRKfqN3DvEdp)*`nJpQ8+{7)ol|4Y9zh9S;*~37S z%1TG`p%t#j?I!NPolO3A)CqMKkF<|v9pPR-w)?O{w7xqlY?@YQboJsM_9$5sRmEQ1 z$Es8%jP4g%Kc#RI^Y2mFB&B(^0d_PaZI`suIKJUj^O^H}cmTTuo`;#=M^t=<Plry0 z__T?Mm^2EH;&B6yrA>Wgy-8O96Q99nnKdlkbI?yGW*Z~ZTj;{tLm#0lZ4PzWJv3jB z73%KcgyN}GCvz-^Vx}HSds$d>ezf+lmO#HQ!%`#$P3+S?8?)k;Ei=!U*e_Mky*U=L z=|j)rIRgg|Pqe!4Gx0oLplD$$(k(KwBWRNCFPiuQzDR$OsAa3dbmJ;1T~{l_UlQUk zlX%IxS_zt0@Kpm}Vf%0*xxvKOgt5>+PvDW1@C_5+#JAX3G9UY+!d93xX|}K6J0`v> zNAh^2Q6nj5zHj0O_#so3q!G4Rx>Z*=btpFu-)V_`JWj`}Fz3WF1*OtCld=d`?V$AM z6LZ9&{#G#Tz|Tzl9KT@SmTI^C%%Ux!a9Aont<vnn>-e>SUnwj)F3v~XT{3J;{6-Rh zLG)UA2@rC>Gx2*tR8sSrXgnl!TIT;~;!pT9t9~fH!rHn#7U-iPD8u=(_=btUif2e| z$Pjl+Kgyq%y?B#Gl{l56EZ*`D6K@L>S3I=M^5S1SS==ceRcuG2y*ktVM{>qHk~5l* zoin_6k3@?5;&T+19N%8Yf<OWyE)4@iu$f}^r*x)r9P&xA4QYT?h^(Y<mx}NbAIfK{ zQ4&yI9Z*dXi83|XRAZzN8+y_o6(vbRVaEURzVmgBRt2USFW8JBmUYo^qAyYxO$hCT zDl}D5+BU7x&6)X0rkbp#IDwOLyoHi#N8l6MXH)kRs*<-UeZ!&$*ikzW*7T^4uPYQ! zwTWJJvfM(#L`s^hOgl#-cmu&8YxT^z?=uIp|4Wmar*P4UMNxKLs6IwxuGOOW>3eIM z+k6H4eQ+BI<e9RQiIi%wyi%u|_z8YWsN156SkPJ?l3P}hmNZ+XInp~YVw%`S$Lhj? zc-)HP6sEmg{<<*+Q((Z$aUO#&2R{Dt{-npeJ?S?aZT;pYi2KIt@dS=}FVSO`KE7+^ zcA~#|H_>n2IQX6-H$weB1*c~C%;5aYtnbtKJuB<`bjsjG2}*gQjHjF7;uDya?>XS@ z$jz_ycev!?mWL;Qw!g#3ulIL&^V|G;QT`-%=3q9Tq7SeLr;*znJuA1~O3Y2sy@_;X z$C+h=m{+C-us|M*%JySP$2j%oAkG}X(z1P6Hh}uF+yN{vD<423mzz5Vv2p+{L#$?L z2&+i&bdE|1UIl@ejTvNDf@+SI;tZUn#VB%^Vl~!~IoZpFjv^_Xi&n0+an8jrzbLP^ z&`=)E>@BMpK>Hqiu;9WZE}{?@ca)Et@!%kOMDG3Q?I?Q+3zFy?#70q~f}f2^*v@O) zATH%-Q4&||#>y)9WOou*?}xu*Kd$d6_}CzBDo^6(ByJnTC!TYb@5(IiOf47O%RS_o z#3xfb%UpuWemu}Y2p<~2Zt|$-@9wAZNDiK)GNaLm6>Nj$y@8EkuC`3A_Nud~S}j-V zseS{YS&kZ<!`+Q&K@*{9=7|*uV<k3n=61rhgAncFy=xCF4P_(!m(XOO+>6hVveI+n zxnkYDc!J&}f7aMbiM)iih4<k-{Bo0a2}e(HG{E)I$bB0t3|w=efgPnh%o_%Yi52ol zK&q6$*^)$3Ub#s;EpH-sU}*UHB)%lGWwVp`@*uvR_4)0r&x*rW`I%mo!-M$VZuqKP zlU+&N^(1955TdYY_~z>%?cr=MZ^B`QPamB;f`z;g)}f!!ZRFK8#+5i{Z9X??xE4A( zWZ<&p9<AZB@guyd;j-~#j&ga<t)X#gX!4NrHo}C(!%a**DOld1Yl;P4+lSX`MDP?e z6gv&gFAqb9UjmT(fVav;+<v>*J=v98=+5_U8;3)e-Qu6@auvFrp^y{(HJaS}haE6n zyWtYp`T3WFi#;0WLeCJaGA}2N!jSSUaTU3WtqJ(s?e}3W<4Ak{-|5<p+;7pV3;sz5 zmt9HxyWm|XAQ)_7fKj-U@TU#X&in^#r7vyc$|cN;mol$j#$dmkMz{i1xRPFc6+`(N z{wd;Gn&mp0;0Dgzi0!zEbhcwBZpQuWTz27BdgyJ$^bT#LR{AIr%^2x58srcqaN$+v z2>xY{94wW?yy_yK^(vS9-K0K)y||b5*qJfhE}W@cJmHwI4(>zr7q<ar;B}Xw+$3k9 z`4G7sHkrdob%+TpH?>u^?eM&VrIIe$VmrpCYAzjC3ycHamWte|`IAyctZ+@u&rgrt zQ!~b`@Jw|~Tk!;WIyriZPHuOR)DF7h-OL0#8I$*59`4m>6gw<3Xe>}3YAHHZQmSH7 z$&n78&ve?{p=-v4dIgwH>n_@Z@}%<0hz{~rQstG)IH}B`1YSUj;Jwg?2Wi_~%n%Q2 z{!X%<p5Z^8T&I)2Qe&0mmo!(MtSNhr)<@_!Ce=9SHKAvjYq4uL^k<<fsU}vruXd?I z*R+QYy&)nvNwG*r=OcvSQ5M(7=unSRm8Y^Iw>%?8xtglQ0Ls~HPa)fUOjRclnp`^L zL=BQ-b}w??MUhgYDe^Q{rXxjunlq9nn;8=0)pV&Xy3`E?GfRaIW-8M@6wJ<-&UPF+ z8Oytp`09LB$W&gR370a$3JkI`?qg+qh5#QRz|T_lgRFkfap&_a0534<znBGjb4uF= znnsee8p=fVbVygeR~4&MI4wQGX<`$;-4tf|;~Y5d<<XOsnku#AkyF)-VU8>v@<``M tMb?p-N~jB$St+nQW#xlv){yr&XSSrz@LxnFB7!Paa!M|m5Ae;O{{q2(@fQF9 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/BlockVideoData.class new file mode 100755 index 0000000000000000000000000000000000000000..123cb5b1f55c0e9cffd37a20f056ac689b696a90 GIT binary patch literal 1118 zcmbVKT~8B16g^Y=LCb2PrD6qvQq*=UtOAAyjStn3fb}Dm^Z}lBx05n-KgjNsgx}y_ z(L@s)jSv0+f0Xggwp1y7@@4M5Gxywk?z!{p_m7_dwy={zjNyqNbPP*$ET_k<o|L|4 zw0YPKPt1TDwj;PF4UbEs?)Y}MCEDD7X-YGNIK%9zd2Skx>2-{^)+x6oLp<<(mm$~q z`_z<y@H$T!(&v|GhS+hPVY<sN_5#!84D5))Gd~nk_#TD(lrDwKLutBa6dy1op9xRM z=M2Tl_3Hb_^`mNw`oHkoJcB9ZHDoc*Fjc9x(qOoyA%UdwZflr<ro1~EQkYiWl7=)g z87yNpg_SFlH7`QRT@59yG0fS$ARt8!iP~%7I3kQX9H<)W8gAewL$)D2{-)<zJUBEh zhla~FeA{$dW*}5Nyo}2eh2Cxam;NMYs>9{`NbUJb^|~SqGnDXdBq<3&qH1(ES|Z6+ zsj5X}MEGj73QDA9s6;j8Z~>X7-wSNMC)7OotAAlr?V9u<Dd=A%kW)&Nms9FSmb8s5 z=^k0qiENS(S<KQoN6`mDC&-rcZ^-GjJ_`C$9}D_MA4R<o?_*K_j=O!7zfe*P_vl=v z2I`Dsh1R!9MN7zI4MmhGTE~5Q-5C_c15_xY@)0=}d5TUf@)S`;zNEeZ)nlka9}+Xj zs{Dlh6@|~_44NzUpt7ooHb@vYVW{CD-KeSl1uuLY1J@>kH?TPYTpaIgOavQvGy%Lg d-g$c>_%UgBNjpZ~VCM3tG1|Km!CO(*_8+ECzUTk| literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ConnectionException.class new file mode 100755 index 0000000000000000000000000000000000000000..692afe6774cb2d2eb9794252a34caa62ef550106 GIT binary patch literal 491 zcmbVIJx>Bb5Pf?BXATeqL8CTyek5*UDTD?!(Ohg$I*YwybF3bF=625*d;gA!m5GHv zfWP8DurLm%(LyVmnR#z#-kaI!`|}HcJuJI$81|Di;(>~SIFmtUZKC-|nkzFFspMg- zq_$j3%lnDeGPEkuhqs};o)s<%49!b%BX}%y#J?XH>PDtY#6y`HYCJzaU|=T<RZ=ll zXgd^SSG>P?c&$#~?ifm4rIqb5v^M=8!GTScjyhXIhC)9XNe^>asK7&+q2?<sPqRrN z(=!polA+-zAz2DCCj3Pf>{uCwuK)itI}Gkb8Y80I<kxx(-XO`+P#&q-8Y_SN)b4Bu z8(?$*D6XQ25@nZ=gL$e*1Z9d9VtT|mluO$?PpCfTJvEA6&aTnyI_iYmpIul)gAnzj MiKSetMaV(>1Hz<#bN~PV literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/CursorMessage.class new file mode 100755 index 0000000000000000000000000000000000000000..08b6fe04f66782fc9f7363c6921541a26e72214c GIT binary patch literal 1100 zcmbtTTWb?R6#iy&*(O<=-n>+MiJEE>OBO_Yu%!qAL5Nn8HsIrII&8OYW@L9(@n5M} z1RwkX{wVRxW|bt(LqL|DGjq;--?@Cuuirm@0(gw34U6H4ihS1#d@oFdmuRh|dnV#{ z@i~u#I}8IMwJU{oJ4qC)=#_|L?h6}vhLsEcfx97>zI*Ilh@rMoWN0tQmoYIcjZ_kg zt{M_!H>KnswfjZ|QXeqnBc(<RYvV|otgoX$`V=c31~Sk`410}P;MMER0g-jonJ6QN zs)Gtv7;=r~pai0KU}MSbHXM{tW~g=pDPAWdPedo&3xz2`4S6`=QDDxQGq2BsnBi%6 z!LFyKNG&Y;LT8gW`ShN$95tGYa%H&s1pc6eE$rCXW_Y$>MRQmj?4m~F?VR@d$32F_ z|EY*nH9ck;a~&v2v!pJsNNv--UaI!S-|)2F<-SUyp?DFba!ie~ZP*x`mr{zT6Y@9~ zBuiytG`LIZ=IAfLqL1XJM_?JT$>zylfkW#xI=v--j%>B{9m}mpmsoA>Ut;}B3b;<| z8UcW9T6c(G7t5&O26<{@7;fSgoroY!!_u8eWKn`m+|JUp$(mUHEAD(IYr$|AQ(ryh zGX<IA#(a!gxJMpSqD$7q3axKgodq{0z=eO{`>4+Wug`+_=YTEjQ7#J)@Q`eoXtrpK Ijpv(x0K4@7`~Uy| literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/EncodedBlockData.class new file mode 100755 index 0000000000000000000000000000000000000000..ee441489f46ca680d71b1444d398217993081518 GIT binary patch literal 813 zcmbVJ%Wl&^6g`u;Nt2kiNlAgGg|<LREQBRC2!U9Hhtw)Oq*mE<HMU3Tw2r5;$Cdae zkU$~=vET#vD8#)^R3Pe#&D`g?_uMl-e|`S};32wIlms4`bmRwm6vVj-a%)ZEM=Cqb zj%BL+FxD!uexj`ZG6_wjqJC_`(-+dpDjb286L~KESSBO?ZE&JOD^NSvkuuyNP&(=h zES{N6TWt~nu}5{Q$11aOd`9uUK;@}Uw0%ZSckig*8wxnjX;B?zEW2o6MWEd64Qmi+ zxu{~1y{j%3P^n`L*Q>bp508WQnN?#KH?S_y4D&Rl3l3@LYaPcrE2i!9j13nx)CHCY zI#F-(aiG#e8N`bA3`{8Fp-eT$v!r8>8U1+hpL#tJXpEG7cOeE{MRK^58~#zu>GoJN z&NAnjPW1zmr=fbKnO%GSCm!%8V4F@V)4!I{Vr|H4v08<tJIOlK(SS?u6^bJ2<o-49 zE0(;@1WoV$1gqXRv?u6%rb-E$T&HP3htM0O*Cv*56K&k07ucFkplFLC?&Xc5@R&o1 z{B7*aHu_|_w%~n1^8-241(hPXQw(Hs)G!+;a2t0h!*u@!uYQ^X?_LVNi}edIGnsDg Pe4GP&mx6bTu6w@$wZW44 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/FileScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..81df5f22ae9a34fa7195ae1e8a3fd3406e7817a2 GIT binary patch literal 2316 zcmbtVZBr9h7(F)-7UBwN5L84BpctUC!D?H1Q{Gak2o`8sptWo^mt-OAW;PpIKK1AL z*-n8OooV~IKdRGncLRnZ9Xg%NX7}E^&w0*so|paeueZMecz_)Z5rIk9D;PPukSkSX zuIl@)W8`IJr&2UMX;>v&I=<mZ-^kb{xng-zIx}Y3uX=JtI(g}7XcUNVn|r2FGM$34 zl-rh;uc1j`^n%DAKoy8=xdL4a0kG``-j}L=x$3X@o-}vI1R5%PTLRMy7w{q-%OzJM z^pv&p(#@3i=E7Y<HI3Vj?N1UjHINl(oZ;IsG@wn#CFmMH5_tN5-NX<_TMGoP=x9Mq zpl!i+<YIL<C%siOSCRsW1=li5S<|!Cy0+Qq7wroDUnI_d$rGd0EZ1?E9D#vUC~S~1 z3Tiurv9mk#^Gb}^+)tJ)`?l*;G~B#+R%b$Iv^xRNa9iNoc`0p14^L-D4a1ka<@#I= zZ<Y39xP?BIjynP!AD};wRoeFJ(9o=;PU#rHpnx9c{+Tpc08DLaU}IWgeXQd?h6SQO zdbUsPqp6MQfou$EJkT&A(Eh%pPx$Nj1UeH}reLf?)7n|}OiMQ75wn^x*&z9(?<U={ zbdp<K4ad-pJ~}PB6{?;%D>2VJ*WFb#?7UwT5c90YqO=P|8VK_0s53et!em|!{J${E zwK9q2?Mf}bEttlvhM7}+xw2oOtUBh9VVS#C!q=eLT`$9cg2rmbGlABbl3QU_Br8F; z#qcE-G(10+<+O>87b+`SAWO+n>MrScsicZp#9=EfD^*wO%;%R*f@#LrJW%o}@o12j zp?dWU>)vPZjTO!wfxcQDkk0hJFQ+`u+&?uW)>TI1Sl6+E@2FW=3vB&a(>E_*&su55 zD}l~qc0sWynzi(9s<?<W@gJtc$>gb1z^YRqB$>=CWLcgqdumvPbZ>{HaBj5hRlD+B z?q@u6mz5*d1)f}FYJ?6w<18^s9b0j$o+Z`v7wA6cBQUI*1wCxQ23}D__+uaPD-%(( zj`v3HbCmM`GFQ{Vdq8~f2(5$f5MMh&;sEV$0*em*xAG0(Chd}F<GqtBWlbAg#Wmgq zuA__iH~6g3y949{J~weEP1IX!iR2M_4{&$z*WhYD#Jxidy~dT%==JC!jCbf>OFTTn zr@y}muy3$*)AXzubOktfh}zHHd*qSAUCtB(Ljjw~&`*sGJ>oNb9-yT0m`@SK0;3oU zB1vPMPhm6@n50Hec+L;-D-G#5&7Ly6e+Kh2O%+V<FPKVvafo>p#~~J9bCe7n;;VrE z>U;WaNU+oD=^IQ!n!6)t=Li2P=T{FN1@t>Z<Qn~U3O<1>dDLhvYglgO@*8}6hSnc+ z(MVb&$Fh>kTA*vs;{9V<-z!>b`9r`m7qV2*ge=v)2b(pvy+N@&Ceu+e9V4r8o=%{b zQuUKl8dCx5hZK&EPedO<9x@Pp1Y0PO>Tx6uv{f+`=|RPG2@NWyMGc!OE}L5sZ2t`- CbU42N literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/HttpScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..f1101eaa6f14816da37949bb3072ee1c748c4566 GIT binary patch literal 5698 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message$MessageType.class new file mode 100755 index 0000000000000000000000000000000000000000..30a5bf9624aa47e3ba2382975333e74e620638cc GIT binary patch literal 1281 zcmbtTTW=CU7(LSk7U<d{+6!&HqXMn0ZK4l?6(yLEaxvYOg!nYjk#40+v%56mUnzZP zqp|VXA7%VzvzC3(2W202_M4e=zH?^J{P_9h62KO=RLn5E7}!0%WA-}zq38@<cVOuU z!ujYNa$D%#z9}qMw}h+Lh2!v^Nc-d7=tQUpG0YwDQ?B>9)zd51@R%X|rq(R)FcfS5 z&s<=Ll=pXy<}Sl*rLkX6w_exwD+a^M_tVivi{!~N-E9UXlWj4C%7X(DMK}(Ic?}6% zr`|<>%VMTBv1hopY4r-#Y%4~4Z)gZ35``*@MGYz<@@rW`6fvTznU-h_k2}KN<DI@> zNY(~j-fwZ+l(jb*hk|*M;2xR|bv@<u59s4nCOehOIPT)UihB%+fclZ+ien8AkY<Q+ z+vcP0;AF&*3wmsJjzrfjR0FnuPmym1)zjGg!0;{z^N%Jw&A*X{k<suFS%zmp@^YU$ zP9dP^s@ue!j2?w1ZVZNYSG+alfopzL^Ku(`Hq4&I-JwlOjR2d3PL<VdYOGZ)OW2-L z;i!1ZkpH*zQ_cf7tF%c`Qs|Z{rId^rKqDm#NUX?w(MpKMIA&>|Mpc7q`Q*QXwUgJB zbIhF~=@mCaUa=7VMoY>VNuwPaW5GDX(q}@<AVu#8@c_$M@n+;KT?C(dlaxp;YHoe) z9IJl@X&!-!H7Sw=-okAk{+tX*_~IB#?Hwg|*)B>Yb!GJecQ!tG4JQ)Vm4p~Y;gQdg kBSBJNJjrqwc>Epg?>GfHk8>Rx-uMK0i6lIOj?Gf)7kjEcf&c&j literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/Message.class new file mode 100755 index 0000000000000000000000000000000000000000..3a425e4c8d8bd743f706c142f96d6b51bd2bab31 GIT binary patch literal 333 zcmbVII|>3Z5Pjos{bOryq0I&?6+{pOL9x&aWY;0ChOBI|f>*Qf03J$=VqvSr{FwJ) z=Ki?e01VLzP#}b9rbLveNaq~o&ZS1|*dFa(W-MZzuyMk$6Dzh>Dh^O0bPn<?g_cH% zb#&m^5!#B~2eQ4Km@w%NmcL2&zW8H8eUs){%=1KhwdQ9RzMTEIFov_4me#Tj&>)Qd j_aZdDoGS!E(LV?ve`*;O-xUzNa}_mT>mKon=Cu0+yE$TF literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkConnectionListener.class new file mode 100755 index 0000000000000000000000000000000000000000..55624a88eb187d1e0ca6640aabb8f377a41938b2 GIT binary patch literal 258 zcma)%y9&ZU5Jm6AN7TyN!de?wY;A-PtDuEopT`h43A?h{Xui$D5AdVJO=%(647a$4 zd*=0iJOOMl_TdqB+T<dUc~Ui;G}dY*GOo+|5*rq2C0SXa*op(&yEbK@mEzP&ts+@l zR&0Fq3DY9J#iEK;E{;jz3WS-XzKO6+`P!j`^&<LXH*BR1bjI7|nJ_u&#-zNL6%*z^ Ybyl6pkU;3UF9C9P0}Q(a-(3%*5B0H7r~m)} literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkHttpStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..66506e0cdbe653e74108473c440b7b8c9dbf5a31 GIT binary patch literal 8327 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 OlI|z?p}Om~>i+{&zQ?8j literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkSocketStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..90bdc73aed208ce7d72e00724f542c80785fd2f9 GIT binary patch literal 7277 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamListener.class new file mode 100755 index 0000000000000000000000000000000000000000..03b08cf3818672a5f3b4ea86c0c2621fa123919b GIT binary patch literal 241 zcma)1y$ZrW7|Ye4s*|%%po@pDx=970=umLK){lC&-pTc=_SqbK03S-c?hY;?goGsT z&+`RfiD8I9U~OG4Q=O+}O=-<+jXY6RRA=Q#W~C;>(h$o%@x!_zVMpp3>x#*c3(*xA zU({X6Qkh&H(hFtmC7)>BQIpY)wKW2Z=`Q}GDrz)u?1@&hqrfP!waaL$OA?s;Trh9T V`vL+Te+m$OP!Ii<A@mqv@CBI#Nr(Ud literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NetworkStreamSender.class new file mode 100755 index 0000000000000000000000000000000000000000..7c8ad074acfddf20dfc8c68a0caed15755b3e4f4 GIT binary patch literal 7477 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 RG>?~hR6vOn(2|Nw{09u~5X}Gp literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/NextBlockRetriever.class new file mode 100755 index 0000000000000000000000000000000000000000..b4b04c0c0233377544244b1e1c0e4e38ec63845a GIT binary patch literal 387 zcma)&%}PTt5QR@_?bWKqMZulxx-rn5=t`_mPz%-<$W4ZrHY6pPTl#D+d;lLx%=LHS zri)=<IOjXVd3%3(1u({-LPy{tCM#=aYu`}aFvlPb<z;?WiKO<90?R-wA85nZKI-Ko zadNb#RG}+yyijW;y$V*&>IG>Q7+CsJKE*i&BXBjEp51L3GYL8xGM`B|iq)mSu<+XS zd&*f^`k{_TTSLE{h1H*IG_BahkSiProc_H(4NNIDD<<<RDu#J%lBQedN#Nvv3Fj@K gCm^s>N(DNllU?-Cc2i-m-1p11TXw(9VXMH=2lUEyIRF3v literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenCaptureSender.class new file mode 100755 index 0000000000000000000000000000000000000000..77a2a0e3992ee2a45106f75f4b34087dd981827c GIT binary patch literal 407 zcma)&zfQw25XL_@p@H(RBRfmGV2P1VP=QnlsY9d=Y>smZF2Rl*8_`!|-~o6j)FYr4 z0Rxloes{j_yL)?oc?EEeVTPW-h4YmxOjXp8iWq{kvZVH*y;q*3t_|5BEd`ltPh_X6 z3DHwdwj`e+6&NnnlajTvm7Et#(m^28&e|>-k8Zc+Ja}WP$!{{7jTZug>t{_(FwV9a z_Wo~d`YFc$HUk9GmK_S5e(4)0uU3IBy;rMw3{4DdhScNau2U{eyRn>%I+VNUHQkt+ t1Wx|g{p@3}zJNf&#{?2S#SZ$MXPl+{?lKu*{|7n1;djFE5%>3Syau~dZ(#rc literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/ScreenVideo.class new file mode 100755 index 0000000000000000000000000000000000000000..51e0781bad853bd9ad407f938ae63c32dc0e0aac GIT binary patch literal 694 zcmb7B&r4fD5dJoaiHT36skOFMqj)fh&;{{U5!#9uLp`Jf^tSJ1h^sH}$!4FB|H*@b zB6#o*=pR*_-Q*xe5LuX=U*F7pGk^a*J^|RlN(niEoz(PYsQY1@QJ7hqCbCDvi{Y6v zB%@eUVr4>Bb|OQRbaju?5()zI=juwySS5XV9G+8T1<F@0dZ4TlsJDGwr}F2>(hp<Q z=s2^NneA9ZYVcj4qK8K`Iy7oP0^(GlxTh0s_XRc^Z-7smU4g={v_}=>F&m(aIe~nm z*)4-73owPE(`o@qm=>tEbwa<hK}hD03S;h9Yp0QlyUJ*1Pn-pNriTK%?f0*Q`2>Bk zem&y_Y&4p0u<#Qz?@A}lOhkv;4L1K`&)?h%vB5<0e6Sop=H)eJ#ebe7WmH(suyw+5 zmsf2)AZTshv$ArJg<B8!z_Nw{%T<<Z469=f>sVyZ`WS|fSYnF{_%_08u2GH~e8Tdi wjpX0OrdoHX-msE`D_-=@O<yn=Crk<ozQJeqxEWu97q0&UZ@mis;<LU!13xv5*Z=?k literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender$1.class new file mode 100755 index 0000000000000000000000000000000000000000..ce309734b0df13a9dccfde42d9e7a271ba53b52b GIT binary patch literal 1984 zcmb_dZBr9h6n-v=F2uD&ptY?EDMm<wWrf<R1Yb&uZ8V5AlyUsF+1!Se<u0>(SM;y+ z5AfNJul>;Rb7%So`eRC;o1_z%p(E3nndI(0d+t5wJkN7Z{`mX1-vP|yo`nH{TVd34 z8h)!0B(jlc9V(|O<IQ-(jiloRzEs*#Qakm~+myQQMN+DDzbV7IR81M>=PaZJvX9*- zt`oSb<*YUyOHW%kE-=!wK1h^u8-Wx!t~dNRe~FQ6{e>>`u0>z@`i4NI(C=l%b%Asx zY|0@BoU~zKFoP6^Z44nRkSZ95;hL}Hy=1E)qqR;oBel?TgLOCZ&Aw|)n-T?<`phXm z#}ZRfqB1y*&n$c@aHBuSY<!M00)wvS$vDo>3H;nYaJ4qeiS`4>3ze5dk<rXjK*9K` z^<yFvSw4Ytn6NM|F!_FO8##PIHnh7*y^Ix#oe2BXRkm<mVE(9J^h9frykKJr(>)aC z1$O#I;mB0?aw!+rGbm!lLP=oZh_zHgrPyA6sFt64a@#!ExM&nQydC*U*R|_yu0^g# z9na#D1?NC>)}O^%ZrPXvt4@W97WlY>t{*!0I~PRK-6{{_vcPmzX&FVywwBH1r=4iI zoee*bIdVgCbMgtfp3UGJT(xjTV6@Hd!Mki+!-9a-&M#1mSlCBsT{CK{jm2p!+PDt3 z^S=V+l=uLh{m8;Cf$`ojI#5;@MS&qDcRKS;;PU_BQ$SF!i$^_r2$k&j+&*j$%ablA z+a#~J+ud=KsfS7A$=l>b;Ou`4>RD4hRkEzSAdCt5iqson)5cxYNDe#K=t`h?2s!&w z>e5xMnsI1Xc_^v`ZXC;)O-o7fdki9*HS?4IG6Vb$Aw%m4K3(PBSTd!Vm#|B(@zL|P z&naVTzcHtOzzFv?&lu|{#<)^6$aZh}i=HXk7Ixv3Uci2XPu}9Jz&lLV%zow#^1B#Y zx%di&UD&l>@#V-@ukdxpxBScApU-*2D9&J<?U%xNj)R+AO%_wk7P!OR3O!coaUT<S zK>He|@e>@ryM~AD3`<CxEV>zva{U%d%yEMD3ch2EX<|^pGHti%If-MbJr3Xj3&P@# kKgIMO-S|N1ShzXJxZl%rfEZM{ra7(dFcX6VJ-G7o4^zcA`~Uy| literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class b/deskshare/build/org/bigbluebutton/deskshare/client/net/SocketScreenVideoSender.class new file mode 100755 index 0000000000000000000000000000000000000000..9b41ed9315577aa14a9a6746f592a3b7ae29c199 GIT binary patch literal 6600 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 I%qRc*H=xj>Jpcdz literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class b/deskshare/build/org/bigbluebutton/deskshare/common/CaptureEvents.class new file mode 100755 index 0000000000000000000000000000000000000000..616fc3c3e8d29c0f10b1762e1c5dccd8928cf4a4 GIT binary patch literal 1712 zcmbVMQE%E-6#gy-W2lp+UQ3%MT}YR9K+@8tOV<sSh7qSlBT&_VhV~E{;!-zYN5*7| zv|lvsA)}jGZCbVG{itf^UYi7I>qBY@uD^5d`Of*yIoJQZ|KlBibyVVrFx+#!UcO`Z zI{lH=8Tr2J<oB)N!SJQ&S^2Iz7?7cC9{MBC(vK|1AI1@7n0;j)nfboy^zynh8ZgY1 zOV1k3=lY(}C_Qg5tXI#=TOig6N%Prusi8Amm>BfhHpAuJdehMNs`YZIQK{GV^p;+u zP%(?=#lR}$px2taE3HzssT&Lre)yOylw!AUJGQ^cAZ4;GhG^N{w-m&ZVE9DEWn5v9 zi{X*0nd(_B4BxYzUZGOSwi0yss)`t71#u3ptB7-;aBxF~!a;(Aw2A~|{&rJ^iW!EB zRok&@qd~{=8fK?&F=$n{YxY~FXLBr!Nl3WO)A^hs^?z9eNn}+dae-9$FYO_N(zATg zNTH5Oruc4<HWfIN{jV4W_egd)0%^lHJwGi76s(iWWTSbwZ~E3`=L?2QlO5gJpO_yq zTxmK7j{BpNKHUzwH$%+bgI)756f7T^G?A3>Mkf0aZA_woZ{jF2%uTiDc<5UL6`Od> zkT5;ZJnp)O#|*jY^3^-9tgc_EOqF6{qP{Z3MP~IE3_H_qVehl&A35I0vWhLxjBiX+ zmiy*#SeVM=G{%`Ge*Ng`Bn@}ub*&v+3`<zs;KJVJhe@wt_Z*YoV}|W1PEJrff6|+U zt@|{w5`9YKt$9A@0If9QVx{R8D-AZC(D(=fbJzKJa}S#SSzILlIYK{?H-EnW6RfRW zlB74#ULz&YwP;kJd4U#UF@Y8Z`c#$$T8jTgj?x$@qa7V%-e||hSTx%57)!=$EdNT} z5qw7fNm_vgJVFX9!pe8(LWh|=B|TBHtGU(1H@KC%@jEhS-m^mO5@nwzHOqn_B^XuY zgii7lN+sf3#ahUkr<D<FEcY8Szlg9r8Ce)t1dSRT2x%DZ;4WEsaXebN^BQ;lnO^9* z6)Yn3BE2us@1~YN(e9sU4^Fg=6T*@ZoD!wYQo^f*@8CA_$kMl;iw|P1g)zS*i;QSG z5{b~)=n=jO<3A(@-sIF6%kA%^+`D#>S9@1lc#E&sc%-1Tff{yN)&$LSDdfn}8LlCz WvD{mH`#0E!{UXo>=MJ8T_36Lcly^b^ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class b/deskshare/build/org/bigbluebutton/deskshare/common/Dimension.class new file mode 100755 index 0000000000000000000000000000000000000000..ddab1c297e50e65f218115fcd735956a9a988a14 GIT binary patch literal 580 zcmb7A%Syvg5IwhP(}yvw^=+%@LTH0D=vHx~h=rmHrQ$M4FUhTWKpy&2ZUl?q!VmDH z#JNdvA#U8<nK?6O&YAo9_5K0i2%RcQ3<pu{nznFlKjU_mrcr24c=C{VR?JN&3IYPo zMZm*EL}3+WhSt=2v`pU$UGv(Wawlb|Jc&u_F|Z+n>T%(E1ga+@6zM5-d&6OW%uqgy zCcFU!nuZz{8I)dsTn9r_Lj|hLmNZnM5;77Yzsdre$G4X4bB6XPax8yr#X{C|u$+1# zVHk}5bHp)2&E@G`VVOLT={f<IbKi}dD2p9_A*8JSbNfJ^jYBf2(D#+lmYykVOUD!y z>eL{QXi#-e6LPL;ykWuU%%B_H8Cov{Nvfok>Fv<lCDJx@>|mLY-GYV{tWre_av7Fq vQm8}%YgnJlm=tBNV!T3srleS|=HOnwP%8%J3mG>4B)5K(_x~hs<`P@qp95pA literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class b/deskshare/build/org/bigbluebutton/deskshare/common/PixelExtractException.class new file mode 100755 index 0000000000000000000000000000000000000000..2ed65f4b3a0bb2ef3fc5e12da23fd71c96e73ec4 GIT binary patch literal 489 zcmbVIO-sW-5PcilM$*>S)>cq2-uwUqp2SKowSp2vsP^VzlP>9MvXSgYig*8x;7Rb{ z59nX<A9xU_QS_iEFEjhzzL_^O)A#2W0J~VWVKM9_Y3TYg^rKApnK6lSM?zogF;9gX zBymi{nVg8IKQSo}On(xH8zU2CqrlL-;<wz5xC-6x4~DuHspQd6q?&{m$A=8;grV9? zlr~(MAt$rq{pG`Jb^3P4P&$xGnl3|Y!~1DCFsW2wXLHC<=p`fJU=9lvI4CpJJgLNK z7W*PS=YAv@8eS5RB`0ITUu40IrDoXo{<~y{!H$L2Jj^YA4aeXNk}M6xk(>>&^5>;? zW@T6hqXj^51x1u7+k`C4(~H`mOtC^tmpF@ZX>0ol)yG^@qv+)9D%Gx`PPqN4!Xg@k ONRK9#@?I@M7TO=BKYsxL literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/common/ScreenVideoEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..2f749929dc1ca7b3c35fdd97a3f40c02c65429a7 GIT binary patch literal 4785 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class b/deskshare/build/org/bigbluebutton/deskshare/server/MultiThreadedAppAdapter.class new file mode 100755 index 0000000000000000000000000000000000000000..dd2e8229b6ead0c2b9164e6f1f03ad9a28cca1e1 GIT binary patch literal 1118 zcmbVLU279T6g|@<-8LWAB(@q&t5&T^({x1;!4#ns1tCp^tpR<T-5ru?x4X-J6n}z0 zN1y5ksBeP5NyIyw)y6ah@nvT2%)RH_d+wd@KR<p3a34(#GYpTsV4$0FU^=ld<0$f6 z-4@|tIOKuQLlGQ{K;Mm>NbU~<!EIr0`~J4g{YV5FvJ4MZd?4%xzn%H$@l22-EgnhF zO@kR`x1=kh#|)W9v(J#-@obSt2J=PaFw3yem9FT;N2Un&x#<XoO4qZv)8~Oyc6ynO zhB9Q>>i&Nr9U>cu$WS%gd**?#B8Gk=LHw&UU+T{c%kxF2d%%ym?r?XY8&M$LL8m#@ zJ@hDI440_#PhMNXS5kx;Dhw;9P`%i3o_o?IasN1JxWv#pqcWv3iEU7~q$M;gF|17n zkn?yRsc#-va8*N%vX~6u#E{hbB9cy6#5L4YnUnx&JcIGCGVM4#499gFUA$_JNjcKK zlSdiz1ypgphznR?$c2iNp*~gPv?Vk`E<Z}f<W$kLISiVbWm1QsJr(2}F{xiABjVQK zF89-c%Nt%CSmLQvBUwM^Z)~a*a1%7$^x1$JI?+_qs*$DB&S=lApJ47?@|>qtJp;=q z&{`Zh&|V^oDIEypBAv5jl@pjZbk5SvYO7MMEN0&0@>f)Q?QbZ2LiyzhmcO)H8y~Qe z!CUgmKyfTl8bFIMHi)l9=$okFUc$LPLQ6Rb7dMg;)M*vBh`)qI+{PWkS|gM>upg*t M)F_6#WY3`S3kwS@$N&HU literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideo.class new file mode 100755 index 0000000000000000000000000000000000000000..228465b9a24832270bf04b8256ffb74634e3ddc9 GIT binary patch literal 1929 zcma)6QBxCF7(F)$B!soZ6wp#=5z!_=SVXP1C;}l-AwVTIPJLl+HaB4*>@vF>9cDWH zA${swUwmk1s;xfs2lO{}Iz4w2LZ<4JVc5O*?)RO0&iTGCfBp0JPXG&e8b?H6&h;8* z)oxUqEmds=f$Nwx<sbNa(o?3dyywa@%a*5<Q?YBxjUy(I+LzCz*_2Mh+^+5`D~O|C z;F?DARPEMDnmn>iKk$@1G#`b@<#3aCYswOcHr<9mx}>xGX8q>AS#lc<<t+*%^V@5M z{O;DuW<f`s-bMi1X)xkk-gW#yIzdH}cLL`G276dCpjfKx7I%oSyHWT~K&(b7Iz{gK zLmR)G-zgNf^m$YuR+E7gxEk`2N7C9;=ArFK({gD<wN<avh)3>fxFCc6yS8HoOVp9c zR+z3;B@x9Z21YQNz^4KOT_cm2z~^y%CNR}CiSip1WA4zgw(_F10@ph>Fo{ddZm6Jr zE^s^3V?w?ueSfj%pyNvRT`LD5aM?f{i6mE73|z&iK%b|46$lKKY)5Ui4y($0BCAam zR>P9biu7!~?;OU0J=+(U58=<=DfB2#30v}zz{8pByM$RKOF9pwQ){ZV(EV)YZ1!iL zB{7eMIIas!Ye)aDU<PjBCTm4PVZ~N;{+9-B;|@#dsTa0W6UdO|S<oo0uWoxjv6$<( znp}uylv56*b+9RqI?ic%Yo2>l^k@PtWUDYLE^9R{SC?ePz%1qx$kY40bR0LB+zb7f z)a^Kk0v^OsWY_+8N(?;2BevZO={W);z5Q|04i#Pf4FexznA1V!8|t{OnIy19L>>g} zzsUo29P-nbePiIUhV85Iw}8`mfkA7^VrzRGxVqhFc`~qFCxIsd<0lC3i{KEK-Iiym zqOBV%)ia!PdY*BK<f8oV<6lH~D97+32B2LT<T?U_`;Rcx-KV%e-?L9MhT0gLU<`+j z&kNkGhq%CS?sr_wrA2z|4~)OURPHsVe+`kp;4_UFpO^WZAm%iYt{}q`gDA{J7CF8J zW^k>8JIlBJ7EK$!@D+iE=?{-GJ*m-dDu=C;Iuk+>?)3h4;%rZ%=q9oyI*H%&8qITT z<~7WF<Efz^`hP+^_A_G9B_7>+I`NWUqal^HqIvpxooW{7){PK7*GA}|6DxF0J3oT2 zs9n1l$JbaS&RwD<5cwPD#j;j=4@(^;+6ApX64f{MieK!}5b0{T-__7!bc8w6IWk`U z5vkm7m`bm{!CC~-m${i&Sm(*QRuel_Ge&EH`((3Bek<gfC-VoGV&m&NjkYnns&oa1 z$xtg`UyX2C!W}+!ODr*1lW$+W`3Bn&=sQpAm<-`cY`x7MIjOFkoeyA@KZy01SUc~< K`j$*0sQe4t(1W7@ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class b/deskshare/build/org/bigbluebutton/deskshare/server/ScreenVideoBroadcastStream.class new file mode 100755 index 0000000000000000000000000000000000000000..4f276122ab811fc9944e09f8843e99f820227aef GIT binary patch literal 9582 zcmbVR3w%`7ng4%z-AQsmNC0`tfC!UGV2}bT5rl*QQSvB>;ZZETnOu^AnYq)MNg%#j z+gjaiUEQsHV7I!qRod>lRSUt$u8-X=T3ze*v32XC-M)6M+q&&O+O@5v|8wr0$<54! z+J#@{-Z|$x-}!&<@0@w&w~sysV2#{rpiHpQNe@Q)V}t$iVY`1gn{|?r0XuUzGi0Uh zNXAZ&*y%`5G;Q0-zSw~6w4@ztAZlf@J=wHvB@9#uW*o9ctVrBS4o15A582VIfhs|x zVw|=I*5$ZZsaPbVS4G;3*aQR@7A{EGnT$0UBir`wv@^o((*|k;7oUqTma<!&WRfUi zPI6}~leLp}T5z7bb8aBRk)0a$a5ff?^w`;EL3K}TFll9n(>B#IdG_+1g?sv?adna7 z-Mops%Hz(UpiVE##1F1L6xrzv4%%r>)u)F0<FU+;J>ahEv=ZE~&fQRJk>iw_q=9&B z#O|g@f+a-={OTbI$*U4QQAZIkEFxBL+x0BzJY}>x19r4MdC(E8Dq7&`D-u;S5f^Bl zo-C#%T4{f!<KCEpKf?!qr=!7FDL?Az5-cxbu9fEykn*wt*J%{~%VWt{c9Wnv<YVV) z<E=4i=o3^ZpfxDR5)+HCl*R}(^ch$t2u+wg>LjDX>9n29Mp~WJXjgJ~I+nG!q|??Y zy`csdVo5awD@@eF44{GTk&lZSG-9QJCc)CYThQLxRd><jT~lwfqFE<BYGM^4Ts>%K z-EqMse(_r4RwmP2EN_Drc#`iZKo^@h4>Q!;+e|FLLiM)J#7xwww@XaaV^#o{(RY&c zs|~^HZm2~wHX68`Mp9_~98GM(6@toa+KSSMEBv@}YA+1#W~Iw5f~LIaUY0nQ$JAi6 ztIw?_&c|E@b(@KKn6Kh6mb5#E6a99&*XoZG2BRiw#rv#uOnvtTE3!i|M(q_^EC26& zMJKCJdJ)vp9=WWdBzM*A&sYBV^3qRp0QBc+zNMiCrQWwIMeY*JE}=l>ku%haT-3Yq zK8rg}sMb?<03@y}Bo5K}&f{Q@HDYgz#cd@(0DA>93kE|C2Hrv13BGOVw380t8o{jL zWGs=2+X;HSJrGRT*&%132K#V81qrdwv<AF{luKlSNT_twd0CvOSp#z9bc_I^g2hFQ zLQHo$4=Z=1!fXs0I7mfKgd=0l#1LW(RxU5lq?aHX_UVk6OX*F22sT%(lL6D6=H{%R z%Rs9WkGq9~ezI+fsXw?B%u3q{XT+YocL49^?xkizo{BOivPvISE)iccwEq@@o>Rih z_9-{3X*(LVQz|KE42-hUX#K{RXuI+=2CfsVEsR}XHQQxpoZ)oT?sT%-oZ;kvZ{-ao zYHx{^ZAWSD{IUSvBM7?KLkH=;DJwg);kp}|g0ak&RLV{c@JmAtZo>NwypMi3;k_-6 z6Su9Ti4WjrfiYsSN9m&9%n9xD2aiYAtRnFi6^XYBE-RrUU%Yu9RXn297*Hs?iIT55 zi~^ze&BzqQaR7fJm{&L&(y5nHF||hHPKMF?r^K&cRWO^3+k7!qQC6IMd}?iXJtx0_ zzG;wwN+SV$%uPq?OQ=DG7cmo#*9R;v9lu^9(9oyy@LeWmV-AsK+}<Iel8XC!!4$x} z^#R-?n4TlgZC{zmTIp;6pC(NGswA$+WSvw1pP^4W$*!&zwrJV36YtO+9<%X{#Xx=O z*CT6n5-BIi{MB3(`95ORE}e^@Xm_2r?o;ul{a�T<nXmP`H%t&}tl~zcrhVcVyW4 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 Qs73~r!R3QQRVKIm4g<u$j{pDw literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureEndBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..907bbd163212204addb58532f475018d301e30f5 GIT binary patch literal 556 zcmbtR%SyvQ6g`usjg9F;trZ_2?%E0l+$u#Z?W!nP={`w^G;NxZ$)w+<pa?Gf06$8+ zlNMamoda{9=bpLu&e!+HCxA;FSTGp6LWZs%g?^lIKT}F1?u4iFbm~d&rd%$$bor7e zDs_9_lgcFTCzIP)1oOU*S}+;vGjHj+v6qDIy+7lDVlbr;3x?g{Z)&7ul!R9drRyk( zRF`4DwV7^@skkR5+(rT04lFnfg;sl921C_B5haG&FiQAcw(z-p^!%9XheY7TV^2of zUk6P!jZ%i2;s0i&maUMhhkT+&tG(GYgFO<N4EP|@%^d!<sSCXcoY52oT0eEHM<L4~ z+rk#fGI;~?4bpb!o$mP?Dla*vMzWe$9>K&hVNXz}SaXHO4)N(@=d6s__Rv^!x}+K9 cik(+fp2;wv=}LL<G^cS^fHe*MOpa>)0KPhXZU6uP literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureStartBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..4629e599eae7ad3b8e03640fc89cc5eeea1e13fc GIT binary patch literal 1031 zcmb7CU2oGc6g_VGP1w4ujE@2PKuB$13*r@o&;~qJAW_u!B(pMaX$+3j-v!dDNqg82 z;71{@o${d(RqVySzP{(2>vR46$HgUp=XlgYjp4OaNf3!7N(&wpTFWdr;`wQQ94a2< zT+O%&_>5;d4-Ui6x=?(qL!}Q=8K1s2`4;L7y_0Yj25Fcj!H4LC$C{z8q?|H%qd!+; ztwff*VCdwr;yimJs9=Aztb<rir_>Tv@+=oJBXB!1+7{b<DKep7F?<>PD|0>G>s1dY z^uR-T#Jg~?;-ZUH24^swbilCYqJgG~)?KvFHqk8?9kdx%M<V0zi)qBwr!Y#nF-XQ? zIti69=S8xvk44UKu(YfHnGX5YEX`(USmQ`B;d=aQ0Hv)A&j!P#Viki}BOdz?eou#? zMY)f5@O>hz7=3pv3l;Ns!n}R6`b+H_9CpYyhkmL9&-h7^XWX<qc}aVnD!RBqt4pU8 zHOc^e{~R~{Cv)`tr*nAz-W>gJl&@if)(zqU9#Z8NO=KG@q_d7)+@`Ew;&BIe=|oIc zm)YnZDb{SXNs&XE_wit%9MEp68vYr)uN0J0O`Cjdsok<*LCvUvDscZQcvuPEqQ1*F R|E=7+3f`*(@7Vr!e*ytk?G^w4 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/CaptureUpdateBlockEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..57a7925eb11d0a669dbefb52fca4f66bf717fea8 GIT binary patch literal 961 zcmbtSU2hUW6g>k=DX_H_iWS7#53R7qZqoRsF%h&$Bhkhx5AD+|Oz5<*LuLmO-~2&7 zXd*H3!5`p{GTvE;P3ZdM%ieqE-gD2HGyCiJkDmYzP|qU8@IvXnAIN?%7>i(Rj0*jp zh%TdZu7w{7JrUX$6A_xoZ}E{CYw=;!<3=<Gs(bm$HnMOS)-L#j`vV^K{kOq|=o$t` zD>Y;&wy#<zM$54Olwo<KB59-w8Q2j+ZX$a^z2t^7q|TZQc^SPH9}hJj3Ys`&Sb8Qy zX`VAw>eu%joi$Gz9b#;$p2#DOn=V#RWJuQ=og5g}U1YFivs*5*Shm@17dhl@R&`N; z%dpy(p?EVM2138*!GM^HZPn$24%gDw^Fzm+%ZQ=X{%_~Vh-_b&cd<|F^~Uv^F%)Rv z_^(-XA+pP*v(A-cPQ770qaGQRKT%`d6^GL5ul?i6_U)5ko9>>bU%^4q+Cy2<niEH| zCXQqb#SBfZ;0AqHsrrNzod8wuJJ!5MQ<S{g6lL%66dPXInWFNQx+&bTGx6R{;<!h4 zZ_$ozl(2&ec2T4Lli4QR#U@pD-YQ{nX0@c^%&M_UtM;L27o%-kb2UCiJD>5sq4b54 z8S!k%UQFW72IeG;B<v)B%byp(ULtrG_Y=Syi_H6p-~t{bfGdm42Z`XlSl`1x=Vhvi literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class b/deskshare/build/org/bigbluebutton/deskshare/server/events/MouseLocationEvent.class new file mode 100755 index 0000000000000000000000000000000000000000..3b03157e249b0a128f1d4696a3c5435184a42ab4 GIT binary patch literal 719 zcmbtRO;6iE5Ph43gansB3gx4vrK%7~s91?>5f=of@FA!o^=OBcS!%q}dY%5QA{ABQ zzz^U@A>KNvib!vjrP-Nz^JeCaA0F@S0qkI{hLXUpv9XMF93{Dma_3AcFI4tDy9}+8 znX*G=r5dW#W%9`6nd+HA=(I@>e6EIyz}!_h3}q6gu{?>c)W8W;tTERDt=?bg+*zH* zUj)jD8IUxB!XHka8l5@<)m@!xw<oaCp5(nO@ANrk-(08$%6Ju^j#;*Dclvd(d4MTY zz1Ip*!?ZxNr&D#DUq{M*4WmT)-6$mKhgSP|oUFJ@oeAvq{^ux^Qj3*4D^9S`?o5iI zRu*spuJH$deu>7p$?ZTLYQN~x<k`3VS@Dtj%KVchew15y6w9|vq>cvd45M$veO<Hr z8$oyLmd@u}%-<A**R(BEXxC`pllB3#SjPf0>mwQ#@rDr_6k|l;`9UQPSi<snjO6RF rsqQZ{f6^(zH?J1SPesFER4{HRu!2=){EpAb^DoJp|0KUHM!b6h{OFcU literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class b/deskshare/build/org/bigbluebutton/deskshare/server/servlet/HttpTunnelStreamController.class new file mode 100755 index 0000000000000000000000000000000000000000..cabd4e8132d61ca35b9b49a0af35ca8f49393b8c GIT binary patch literal 5457 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 P9T#+xK*Qe@&VT<eA6lv2 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..d80740d3bdebbf05197cb9399342edb7b4ced039 GIT binary patch literal 496 zcmbtQu}%U(5Pf?BXATeqfkZ8|Q%Sr;OB4%)M02r0>GzJ!v3l&8y*=WO_#sv%6ehMN z7XFZNIE@yRHZ%L)&YL$gZ=drQ07q!quozBb9lE{@{U{ZFYD}!$u}JQc3D?3+gq{ga zDM=)K45C?I1@Tz)9|Cc2h_aDmsNeD#cO$Ms_xFRLN@B^Qk<bh6&BZwbyJRT$VwD)K z%!rd?{$uC;_;sFtWGI|SB~6#1vFH6Y92zZE*x4U3<a*@nU<GR>I4CkyJgLN0I`xIV z=6)m?YF-?WB`0ITKV;5KWWsRf{cF<>gFU4?@G$dPnvlU6#;Fd(KrSX}E#K;Jp}{T~ ztpJLf$fH2nCS+liUep6ciX~#Y#95RJ2kmE+pR$??MJHpoNV|<H;pTT0)=?uw^{8Vb K>(wA+q4@=K4}g^b literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile$1.class new file mode 100755 index 0000000000000000000000000000000000000000..7bda04010c3e485df173a179489fdca01a241c48 GIT binary patch literal 1926 zcmbtVZFAE`5Pl9DWSgTHLrYr%RfAicq>TtoTZ%&x9Ae_)@DitP={H%vNko*B=X6Ti z(qF<K;4=&a3NxL~^cz14x+i%s2~20e_IOUWx4XB`KC8#iUp)OAz&YHqu#aITRBKMh zU+V<1=)_uw(&>t5BU*Qra3Z0$grX&id^)HHTP>}GySW<H{XmqbEMysqx7{t*30%46 zT<_c#p0;p+p)|0r#8SGQKrkH8>wZ)|OSd-P|Jo|$nenBsXBp-y!z3DOGh`RSuE>Mo z5Ql|a0T~?T$fL-RsThaDO<#&@@n%P;)f7dk8G3Hec9n1TePh-@W0)PHp7Iny%cxl9 zaU7pm_;^=uTfawIY;t^x6XX@fn&HD{(qun$ZYW>sl$)xBlMKfP?I*J@*J`mJbcM>{ zGlnBAPYEG!#v&GW<o_Y;0!Hw;fjvrDD{0z<(KNU^)-IroFD-n*aN+%_<2Zu~L(cU) z8maOWLuWVw(@JCQ2aXp?FIGxO?bL$M+aSyd!0JJa<0}gj45LX?{@0u1YfREqn64xf z&@inz%Q1y>G<R;VCuEmlq|z9Bqf7l3S53q;$G7;7pz1JfA;YoCn<3<T9v3Y9z;N^} zTyj(mBUaDQ8%TrXBF8M|s6y>-P=&jbrtcq3z$J$2JJ6KQL)-6)u&&%qVaQ(KxQxXC zSp@&jp~!ldH)C%>G=Mo=VK~!}S|}CwwCFDWCVHA=$=+TkF|w&2M7b@tXaXh;fCk5p zxH<qpvNNPy{AyvD;nd*O+EtC0mcx*jVmk%EaB(Qq42(FoUz@bI-AJl&sHI(RW7+NX z)u_-4W912>(ljG`bbHbOAYogSUJypqv}K{!!!F0qM)meb+EpYjydkAf3xOMv{KF=N z%+PN?Sg~k?lKw*W(JzkzSr5|FdD<IGVSM5d`1oUda6j=mVr<EYiJnJ^_MBpj^(c<f zN|J+OKg++!CcdqESbBhuo?+xx>C|J`;}5}~;PhV@W7vVSgKu{5{VU@P!#|jBn*GER z)b4>dDY#UB<+F76<-_}QMFumNLz7lh)@TBwM!U;2FN>H)oldV%kxTTgVFg!{a&7Ve yTK#gT3GOvqr)={Se*-t^X@$;n$YkzVXwpi)rai0piPkLTZsQkvGOaSe>GL1iXCN~G literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/FlvStreamToFile.class new file mode 100755 index 0000000000000000000000000000000000000000..1fc037bc8b2ce0820b6e82b49a68cd21c5fda148 GIT binary patch literal 4197 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ISessionManagerGateway.class new file mode 100755 index 0000000000000000000000000000000000000000..51026a354ac73a54e20cd9c88c0c77277b901861 GIT binary patch literal 476 zcmb7>PfNo<5XIlt+Gy)P5D(&6(2EORd$LHSkfIRqpr_4th}$N+y4ke&)jaqC{7~Yg z5qb%Nmz{z64e!m{ukVjf0M|H-&=I(CK9i}*(!8Ry3c*=9qjFKcC{MB^za-D4EDaAP zNz+V~RT=p^6=<d2BXk9h=4z>Au52dn(>duNu&+Ha@w+4Nb`fu&BzR-9Vf>f6c16Le zx27Ol>;IF!d}I%v3b)*NIBD@vbA#%2#$HFc(+h#q7HaZ5daB9ehMc;pq}XW{*qFe1 z%SLmpS_S#wj19wjyPvqqYZ{xJ1kT#?ysA^`2?%WQKLK5icN;x!1S0IL>n{51I=~(i Kd?&vh9Q**HNRrP0 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..4b72b39e573426bc2235171fb47a51aef47b7f6c GIT binary patch literal 2709 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 V%ZxiLc}2#*L%m@7I&J&#_#Z*T6@~x+ literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class b/deskshare/build/org/bigbluebutton/deskshare/server/session/ScreenVideoFrame.class new file mode 100755 index 0000000000000000000000000000000000000000..f622e7cbb24b9d8fd929e38b7a6ed1d71dab955c GIT binary patch literal 1156 zcmbtTT~8B16g|@xTFOGD0xE)h2)O-_Rpbpdu^JMRB8iw1<!N?1l*M+JOm{K-D@_EA z5Bvasl<~~A5hF2Te3`j(=iGbGoO|cn_pj#wR<V{vN?<+IEywj+ZaY?P97SQ^G*$Oq z_dsgpbd^3<np?N)^J2%-N(BwSslp8{J1UEez_mkpES<ItTF$n6sJuuZqr<QxP^@2E z?L^uSTI&MCD)7RlYQB(>6qxNn{LrbLMCzH=@?<-Xj^c=TB|F3qKK27YdMdDHUrzUz z=u(4Rp0ipWX^dDH!l*#nE;WWg-WCQhXsn`zEOG*cx*w>QamQ8qwRGFcydd;syCJo2 z&V6SlI`F#!PwM}n93Pf#spwUr)3{x_{4@cJfJEz_R5nqjqCAq`fpR*2ARRAcliYZJ zpH12fYl*R*$29I_F(WXO=>I2iEzDw$4T-{^+EXsOv{%bx0gGAO6<EAVMGH$<7RbqV zn{q|et!!_;y)xSc*cM7Cvo&nI3Er#yLvYo?eN1ssw0iFcO+KNSj8<x|MrThPf#s`d zCy?I>W9_L8-}Hat_laLIiejEalja{vp=f4^R?$ol_cU*Ykmowg(;FfTu2B9At6Vvy zQ9Z@jN4iqD&b5dP*IBM}44cO&g&(J9t`~+0O!CA8Ng0t?rcjCnZs2CWjKkgB4U|8j z@PS4z`C#H)N)lQ<KtG|tElkm4I3D&nPBVDy47cl*^Yj<YZ&fR2xVKw9LuI#mk#mwn mz-Hx8A*m|!J!GcUUr0~)Yvkx#fuUBw2p$k;NUtXB9{m6ac@YKx literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamEventMessageHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..8f354bdd358616ccec43cabf8a999582f757e548 GIT binary patch literal 4674 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 Zj&tskWvJAaoYdl9E)5C%o7w^V=l{mP|L*_* literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/BlockStreamProtocolDecoder.class new file mode 100755 index 0000000000000000000000000000000000000000..052a1a73a98a8fcc6cd554cd0f10970a5c09cc37 GIT binary patch literal 6602 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 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/DeskShareServer.class new file mode 100755 index 0000000000000000000000000000000000000000..684d53be48f519a080a5576fa3fbbae6ef8f8730 GIT binary patch literal 2621 zcmbVOYgg1(6x|n)z!(JvAFbLJMUjUZs`wm49%`LBf@SEm*s9GWmmv_6X_7%(>#y-c zKigG7%Ub;b{R{me{npielL!NYt*aj<lY8c#bNAV2-*e`VzkmB3z<E5^&?Iox4=P64 zsg&KCEZ3sQ_Y7Nx%i*FKNF$WNstk<Kx0YpO+@!sz?8Vrup+%r`$y_xJ*YqmJOnFIK zkwCNSR|K*J6*zPkMwX0%U#Z9-C(v?#W_C_M<OTLk`Cb^AUQ{x9ax>8TLf}AX1yXub zW;Ln>@{Z}*t_%bifU(S~X)Q`)#qmtT@>6t<C5^nF?wqjc7$4MTT9&LvKAo>LI7fl$ zg;hU@-X`WbzA^3i#W>B0)RS;qM;*_J#+Xw7K#Az5d|PJFjBXtr=xoD5f%Z+ZGB}J6 zHGCj&LZJ<$ebFEj6^GQ!a*>d5+q8)42OURnl-?B?C3b<!{e>+qr(81(b9IJd6fjV3 zppn&f2z;bt4_XB}3XUhIYb#|L%$a3Z#$~Wfw`2y6TBpXAXweA;a&fT#ReO@Nht&%r z4JQRI?JUpxF`Pj!x)uD>I`(0|S`O$K#E`_8*eS<I<L)A0nx`;*igM6eL=veYgL zbiu5-QQog}ovb;oO-;1nEHPWGpryeO7~Y9F2}EUahjBmfBj55}RdFkcrr}e8yUOeR z7%SFGd3(G>0~rjXJA-o=QF6LS8v7fh`Y)i8Ai0532A6SF!xe$iojJwVB#H5#4C%NA zmQ^!tyI_XA$K&;aO!e0Qu;GNa<P(@G?R6b{p{vr~&@qk)flMf)&6_>cnDXvdJI=Eg zQ#x+q7TXT>QIuim_#XSng2RS$Wfz4s=rFnB+dOma_zZascc{Z%`3sYCj69oBF*2iC zsN-|o<?WrEnY;5if3rY9?@(u>Z*DK{VMfEWz{t+y-UqIZ`}jg&FIiN8=A0GY^0V)x zF{Y>vdM>X7(~F{xIef{E!8o(B7Rm|R4wxvrT>pcCl7_DYj>P@QW9QHFk#@&qTLvY} zE7?9!4r$D9bv(o)8p@7m3mi@LqXKMmW-Z(BoxsWb%&n)YO|yzUPZk|l_9##Gxt_@H zQ4PB1+4Bs_ur*i$U0dxj??sXmMTf)!CA+Fd$PC{O5lUUtOt+EpMJ#D>s2fFj{ZP`e z43~{T27wwDr+3r**15@uBYq9+N!{@eoE>#}aJaD^2NMw6f8yoZNBvmK_snYAh!2zf zZGB?%Vw`_xMT6B{XI?y@!pN_x>aOZ|f=&*wnx`05CXSpRl}WQ5&c2W!Gey4^Sd!h1 zivv4``#F^xj`Id{G@}JsHDLI51RC0CZRdLvGW_s*$M5Xm@lI+Ao!rsI)g-+IzdHxl zksZv6?19%f^a{sb#vUK@xj&A7oF|;1-*J3Go1XZfhimZt#AdudiJ^(M>fi=?=ht!S z75WB$Mc*3wvu8GNZhiy9G@oC`g*9AKzwk4<hOuPR<S)40nR$akGnAoa4YTTd1Eu+{ z-WTimdJW(F%;M2_Ec=+I*D&9p(u|ixk;enddxdxv?!K6TA!dIDr`W@XVPJyKJpWid z#05OU2z*?M^Es4YPV;$0W_(l`@q5N;N7G+;s9~jxh5#X-inuYls6<-_hhAZHi!Mbt zaFxZlRu{T84bA;=IVeIzo1{%}CFs?WkWfp$o^AzAYH*#E9b-Li)YYIP4J`1C0h;jB EKP5KD$N&HU literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/NullProtocolEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..e53ed5264ebeec38039d5ec7a1dda2f9d216e379 GIT binary patch literal 961 zcmbu7T~Aao5Qg7bmOZ+zq9BO)fn1Ov5}FvfT0brfCL|j$!EoQxt-FP@r)%3o{99g` zc;OH5M-iqy8!;>~L@!P|bEbW!^UnM_`|%UNOFYZaAiS||AaXOvi%REJ2(}b`?N9tr zIxW0*r`ic`)rk&bzbcB4&IYS&v0EzJ*DgboaQ9fAN>RviAP(|ltwM$tVJm{=SgN5G zBU4K8*%X0c@tzWwIE2<~Q=0IWFthReh|qk`$J&^|tqwBWAk6hlsrRc<uH7e@7n(5N zvq~06(wXQ_em29<c*48hf0flGWPRhu)^na08wvJjDas~syf-Y@o;}pb>c)q+cfTq< z4jk|q?h_U+#Q7Z|G)zgjHkZ}WNpHfJYhUVJB(A&CohsvR9XY7NxC*JH%-8j?C?mGy zAc;SP=hoRO5MKRD9v1G<R!->;CiZsuidox^8L<Y=!{02=aNKz~c)iJ<;GKA%-TaRB zH#QpR@Y+g0S8$u{PJIA(FvlKGF7ENEdA6JEEhNkidyN>qj95*Gr8+o4M93nRcqKf* n@)T?@p|60gC)g(Ejfna^(R!F*(OSWyNvg+ql1hD=UbcD;V}0@1 literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class b/deskshare/build/org/bigbluebutton/deskshare/server/socket/ScreenCaptureProtocolCodecFactory.class new file mode 100755 index 0000000000000000000000000000000000000000..10b8decacab88714d447c12114929665f986d7bb GIT binary patch literal 1267 zcmcIjU2oGc6g^J6hK52*%f{IF9Bj0GSOjlqzyte`5M>M%P4MV=ruCM_mE%nCuRvm& z1QI`hABDI{Q!25E6$upO`r1DC*!SM!??1kL1MmPX7Y@U7ZF+v7dO?`TAhA|Q{+^5v z;yyRhkEJ=3#*ei)kk;=CBW1MChc+>C$7rjC4%hXb6kA+aZ9cdtGSv3@A@@Tb_57E? zz7*C)iQ#^F3?FjQm;OLS+<&J+OVlC__fI2ZaAlNk8-~@+RN<Q={2GN4>tBU#jPMj% zdZZ#{pD+}ftzCv<nxKaQsui3^#l<Ct$J5trI|;*acKP)@)KD#h;c^8o&bgRl*qEO2 zX-M7ZS|j;jOq^fd!|aIoY6WF@4AqW`<aRO$q<PJQP%_jzTJUg}8<o!U#iH%2nBhfM z<bNauDx}wwHcy%1P4h$xh0YWf$BH!fOm}7Gt+h@7PnF7~*WTuPA%~V&Vi!vcjfnt% z?J$(p_ymTj?=ngvFYkXyVxl^)s}m#SmP)&{a^_20O>@L;5>bKv894NjmgrqOY3pfB z*GaErFVO5&HU}2l$GF)3irU*_)Q`|0cb42MN0|SV1uu}Tqe%89*;}a6Aq!Z-BCVuk zM1gC#P9wt&!Z?HhAsOM)gC3IS&^XinjK)WD90~_YS?F>`GdBX{Gz7&R+@*bnWvu*> QaQ=6~))|ENvI{hS0@{FAG5`Po literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/FlvEncodeException.class new file mode 100755 index 0000000000000000000000000000000000000000..6875d923666f3ec9f74eb45f27a756da44658ad5 GIT binary patch literal 498 zcmbtQJx>Bb5PgflnF9ntAW;kL{7Ae+OAIkVNHiB4lz#8n9IMBk+1(@l5r2r435AKR ziG_d2IGjccN}HK^Z{N(D*|*R63xH#^9po6giH^KLMnRm4AhkA8-dLDBGvQizM(CN) zp0Qf+DHVfw)>mON7X61%+*_F_2YH6ZEuV2O<|^`j9~f%XEqOc=+K}+(;+%n9GE{nr zGL|bl;$&I)*m*yBofjS%il<UZ+hu6(`F{h4R!bFi_D2l)9yz;M!CDzEN(@zBDsh!g z1EH^Z5DSL7pM+$|$(ZmDnYR;Z7|#6vo!Vh=rotE=WkyRYGPuJe)u9;3#VYOP&pKN4 zU>A&T0L4udP^9b-%3+l%nt>9<GBI7^a+He)htH@yWtu8QH)FS`cN;art#1|9Q71%t NG_aA)Y7)w!^#$0efmHwi literal 0 HcmV?d00001 diff --git a/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class b/deskshare/build/org/bigbluebutton/deskshare/server/streamer/ScreenVideoFlvEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..90655af89dfbd0a3832fb0fe74c8d00155a50035 GIT binary patch literal 2712 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 V3gZq+UXk(d&?uO`PTL+l{s*R*7N!6I literal 0 HcmV?d00001 diff --git a/deskshare/common/build/.gitignore b/deskshare/common/build/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 -- GitLab