Monitor device status change and draw annotations

1. API Description

This API is used to establish a connection via WebSocket to monitor device status changes and draw annotations.

Request mode: WS [IP]/ws_up_state

Administrator Rights Logged-in
No Yes

2. Client -> Server

User login (TEXT), sent immediately after a successful connection is established.
Name Required Type Description
register Yes String Registration identity ID, which is the sid returned by the Log in interface or a unique string generated by the client
Heartbeat (TEXT), the interval should not exceed 5 seconds. The server will actively disconnect if no heartbeat packet is received within 10 seconds.

Text data, content is lowercase "ping"

Preview Control (TEXT)

It is used to start/stop the device-side WebRTC service and request key frame refresh.

Note: Preview control can only be performed after user registration is completed.

Name Required Type Description
webrtcProgram Yes Int Start/stop WebRTC service, 0: Stop, 1: Start
Name Required Type Description
forceI Yes Boolean Require the device-side WebRTC preview stream to immediately refresh a key frame, unique value: true
Drawing annotations (TEXT)

Note: Drawing annotations is prohibited when in FTB mode, edit mode, or when there is no scene or note. Any annotation drawing operation must be performed after the user registration is completed.

Name Required Type Description
eventType Yes Int Event type
0: Track drawing;
1: Attribute modification (obsolete);
2: Text or image overlay;
3: Touch and operate;
4: Clean (non-cancelable)
noteMode Yes Boolean Whether it is in Note mode, which can be obtained via Get device status.
operationType No Int Operation type
0: Cancel; 1: Redo; 2: Clean (cancelable). This is a non-required parameter and only takes effect when eventType is 3.
action No Action Track drawing attributes. This is a non-required parameter and only takes effect when eventType is 0.
image No Image Text or image overlay attributes. This is a non-required parameter and only takes effect when eventType is 2.
Action
Name Required Type Description
actionType Yes Int Touch state
0: Begin; 1: Move; 2: End
x Yes Int X-coordinate of touch point (0-1000000), origin at canvas top-left
y Yes Int Y-coordinate of touch point (0-1000000), origin at canvas top-left
shapeType Yes Int Annotation tool type
0: Line
1: Rectangle
2: Ellipse
3: Curve
4: Arrow Pen
5: Highlighter
6: Eraser
7: Text (unsupported)
8: Spotlight
9: Arrow-curve
10: Flashlight (Flashlight is prohibited in Note mode)
lineWidth Yes Int Width
1: Thin
2: Medium
3: Thick
4: Extra thick
strokeColor Yes Int Color, RGBA
Suggested values: 0x00000000, 0x000000ff, 0x7f7f7fff, 0x880015ff, 0xed1c24ff, 0xff7f27ff, 0xffffffff, 0xc3c3c3ff, 0xb97a57ff, 0xffaec9ff, 0xffc90eff, 0xfff200ff, 0x22b14cff, 0x00a2e8ff, 0x3f48ccff, 0xa349a4ff, 0xefe4b0ff, 0xb5e61dff, 0x99d9eaff, 0x7092beff, 0xc8bfe7ff
fillColor Yes Int Fill color, RGBA, same suggested values as strokeColor
useStroke Yes Boolean Whether to enable stroke (recommend disabling for devices without pressure sensitivity)
timeStamp Yes Int Trigger time of current touch point (ms), 0 at touch begin
pressure Yes Int Pressure value (0~1000000) for stroke calculation (recommend 1000000 for devices without pressure sensitivity)
inkStyle Yes Int Ink type
0: Permanent ink 1: Temporal ink (disappears after duration)
inkDuration Yes Int Temporal ink duration, in ms
Image
Name Required Type Description
x Yes Int The X-coordinate of the top-left corner of the text annotation image (0-1000000), origin at canvas top-left
y Yes Int The Y-coordinate of the top-left corner of the text annotation image (0-1000000), origin at canvas top-left
width Yes Int The width of the text annotation image (0-1000000), origin at canvas top-left
height Yes Int The height of the text annotation image (0-1000000), origin at canvas top-left
data Yes String The Base64-encrypted string of the text annotation image
size Yes Int The length of the data string
Flashlight mode
Name Required Type Description
flashlightEnable Yes Boolean Whether flashlight mode is enabled. Flashlight is prohibited in Node mode. Other touch-type annotations are prohibited in flashlight mode.
Board mode
Name Required Type Description
whiteboardMode Yes Int Board type:
0: Blackboard
1: Whiteboard
2: Transparent board
Board is prohibited in Node mode.

3. Server -> Client

Heartbeat response (TEXT), triggered when a "ping" message is received from the client

Text data, content is lowercase "ping"

Device status change message (TEXT), actively sent to the WebSocket client when the device status changes
Name Type Description
event EventType Message event type
info StatusType Information entity corresponding to the message
EventType
Value Description
4000 Start marker, no practical meaning
4001 Device information change event
4002 End marker, no practical meaning
StatusType
Value Description
2000 Presentation list changed
2001 Presentation switched
2002 Scene list changed
2003 Current preview scene switched
2004 BGM list changed
2005 BGM playback status changed
2006 Resource list changed
2007 Album list changed
2008 Audio settings changed
2009 FTB status changed
2010 Recording status changed
2011 Scene edit mode changed
editSceneId: Scene ID
editing: Scene edit status (0: Not editing; 1: Editing)
2012 Source changed (capture source signal plugged/unplugged)
sourceId: Source ID
2013 Landing scene list changed
2014 Current selected landing scene changed
2015 General device settings changed
2016 GFX status changed
2017 GFX list changed
2018 PDF display position changed
pdfPosition: PDF display position
2019 PDF import task status
pdfImportResult: PDF import result
2020 Presentation export task status
2021 Presentation import task status
2022 Web page layer status changed
2023 Web page resource import status
2024 Resource thumbnail changed
2025 Recording encoder parameters changed
2026 APP-related settings changed
2027 Device working status changed
deviceWorkingStatus
0: Idle; 1: Recording; 2: File uploading; 3: File downloading; 4: Presentation exporting; 5: Presentation importing
2028 Album backup working status
2029 Device sleep configuration changed
2030 Device button binding relationship changed
2037 Device annotation status
2038 Collection of device annotation trajectories
2039 The device's WebRTC server is ready
PDF import result
Name Type Description
status Int Import status
0: Success
1: System error, task terminated
2: Invalid parameters, task terminated
3: Decoding error, task terminated
4: File not found, task terminated
5: Importing...
6: Import canceled
7: System busy, task terminated
totalCount Int Total number of pages in the PDF
currentPage Int Current page
Presentation export task status
Name Type Description
currentTask Int Current task ID
fileName String Presentation file name
fileSize Int File size, in KB
status Int Export status
0: Success; 1: Failure; 2: Resources processing; 3: Configuration processing; 4: Task canceled; 5: System busy
Presentation import task status
Name Type Description
currentTask Int Current task ID
totalTask Int Total number of import tasks
status Int Import status
0: Success; 1: Failure; 2: Resources processing; 3: Configuration processing; 4: Task canceled; 5: System busy
Album backup working status
Name Type Description
albumId Int Backup album file ID
backup Int Task status
0: Not synchronized; 1: Synchronized; 2: Synchronizing
progress Int Upload progress, ranging from 0 to 1000000
step Int Task progress
1: Authenticating
2: Authentication failed
3: Authentication succeeded
11: Creating file
12: Creation failed
13: Creation succeeded
21: Uploading file
22: Upload failed
23: Upload succeeded
100: Network timeout
101: Waiting
102: Canceled
103: Account authorization information abnormal
Device annotation status
Name Type Description
boardMode Int Board type:
0: Blackboard
1: Whiteboard
2: Transparent board
canRedo Boolean Whether redo is available for the last drawing
canUndo Boolean Whether undo is available for the last drawing
flashlight Boolean Whether it is in Flashlight mode, if yes, other annotation tools are prohibited
Collection of device annotation trajectories
Name Type Description
encoding String Indicate the encryption method for the content of Data
data String The Base64-encrypted string of the annotation trajectory, which is submitted to the annotation library for parsing and rendering

4. Example

Monitoring device status changes.

Input Example

Establishing a WebSocket connection and drawing a curve.

{"register":"42n3786j9h3kafrl798qh7h51isvfcg9"}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 0,
        "x": 0,
        "y": 0,
        "shapeType": 3,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 0,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 1,
        "x": 200000,
        "y": 100000,
        "shapeType": 3,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 100,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 1,
        "x": 300000,
        "y": 400000,
        "shapeType": 3,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 200,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 2,
        "x": 500000,
        "y": 500000,
        "shapeType": 3,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 300,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}

Starting the whiteboard -> Switching to the blackboard -> Closing the board.

{"whiteboardMode":1}
{"whiteboardMode":0}
{"whiteboardMode":2}

Annotating with a section of text.

{
    "eventType": 2,
    "noteMode": false,
    "image": {
        "x": 200000,
        "y": 200000,
        "width": 341176,
        "height": 249237,
        "data": "iVBORw0KGgoAAAANSUhEUgAAArgAAAEeCAYAAABhbWZBAAAAAXNSR0IArs4c6QAAAHhlWElmTU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAACQAAAAAQAAAJAAAAABAAKgAgAEAAAAAQAAArigAwAEAAAAAQAAAR4AAAAAkjkZcQAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAABxpRE9UAAAAAgAAAAAAAACPAAAAKAAAAI8AAACPAAAhFSwbVv0AACDhSURBVHgB7J0JuCVFdcffSNSoqFEkLhExfu4aJBIXjDEuMfoFjVtIQImEkBiNGhFB/YxRg7sxhsRgTEICDIsDDMyw72Hfh33fQQZm39c3w9A5/wdXL5e7dNc91dVd73e+b755777b3VWnft39r6pTpyYmQu2gm7aeOGz+zhOHLthvxsyFc2YctvB2+3/NE2YuLPiHD2AABmAABmAABmAABsoyIA35qJacI205pTGlNWuxXY/ZamLmg++ZMXPBFWULzPeAGwZgAAZgAAZgAAZgIIQBaU5pzwlp0Ag2Y+KQhbsxQgucIXByDNzAAAzAAAzAAAyMw4A0qLSoadwZPjp35oMv0pDxOIXiWKCGARiAARiAARiAARgYlwFpUhvRfdF4IvfQB3YftyAcD8wwAAMwAAMwAAMwAAOeDEyYRg0SuU84bME3PAvCuQAbBmAABmAABmAABmDAjQHTqpVELuIW+NzgI6sGWUVgAAZgAAZgAAZiMVBa5BKWAISxIOS8sAUDMAADMAADMODMwOhwBQvaZeSO0VsYgAEYgAEYgAEYgIE2MTBs4dkMsiUAc5tgpqzwCgMwAAMwAAMwIAamsiv0TSFmucWABEhgAAZgAAZgAAZgAAbayMCjeXK71p3Z7hBs4gDMbYSZMsMtDMAADMAADMCAGJjaDOIxO57ZFmjAARwwAAMwAAMwAAMwAANtZmBqW9/OGK72+W1zZSg7NyMMwAAMwAAMwAAMwIA07SP69qCbtgYIgIABGIABGIABGIABGMiBgQnTthMTh83fOYfKUAduShiAARiAARiAARiAAWnbiYlDF+wHDMAAAzAAAzAAAzAAAzCQAwPSthO24mxODpWhDtyUMAADMAADMAADMAAD0rYTbO4ACDwMYAAGYAAGYAAGYCAXBqY2fSD/LUDnAjT1gGUYgAEYgAEYgIGpfLiAAAgwAAMwAAMwAAMwAAM5MTCRU2WoCzcnDMAADMAADMAADMAAAte2duNGwAcwAAMwAAMwAAMwkA8DCFwELgIfBmAABmAABmAABrJiAIEL0FkBTe87n943bUlbwgAMwAAMhDKAwEXgInBhAAZgAAZgAAZgICsGELgAnRXQoT09jmOUAAZgAAZgAAbyYQCBi8BF4MIADMAADMAADMBAVgwgcAE6K6DpfefT+6YtaUsYgAEYgIFQBhC4CFwELgzAAAzAAAzAAAxkxQACF6CzAjq0p8dxjBLAAAzAAAzAQD4MIHARuAhcGIABGIABGIABGMiKAQQuQGcFNL3vfHrftCVtCQMwAAMwEMoAAheBi8CFARiAARiAARiAgawYQOACdFZAh/b0OI5RAhiAARiAARjIhwEELgIXgQsDMAADMAADMAADWTGAwAXorICm951P75u2pC1hAAZgAAZCGUDgInARuDAAAzAAAzAAAzCQFQMIXIDOCujQnh7HMUoAAzAAAzAAA/kwgMBF4CJwYQAGYAAGYAAGYCArBhC4AJ0V0PS+8+l905a0JQzAAAzAQCgDCFwELgIXBmAABmAABmAABrJiAIEL0FkBHdrT4zhGCWAABmAABmAgHwYQuAhcBC4MwAAMwAAMwAAMZMUAAhegswKa3nc+vW/akraEARiAARgIZQCBi8BF4MIADMAADMAADMBAVgwgcAE6K6BDe3ocxygBDMAADMAADOTDAAIXgYvAhQEYgAEYgAEYgIGsGEDgAnRWQNP7zqf3TVvSljAAAzAAA6EMIHARuAhcGIABGIABGIABGMiKAQQuQGcFdGhPj+MYJYABGIABGICBfBhA4CJwEbgwAAMwAAMwAAMwkBUDCFyAzgpoet/59L5pS9oSBmAABmAglAEELgIXgQsDMAADMAADMAADWTGAwAXorIAO7elxHKMEMAADMAADMJAPAwhcBC4CFwZgAAZgAAZgAAayYgCBC9BZAU3vO5/eN21JW8IADMAADIQygMBF4CJwYQAGYAAGYAAGYCArBhC4AJ0V0KE9PY5jlAAGYAAGYAAG8mEAgYvAReDCAAzAAAzAAAzAQFYMIHABOiug6X3n0/umLWlLGIABGICBUAYQuAhcBC4MwAAMwAAMwAAMZMUAAhegswI6tKfHcYwSwAAMwAAMwEA+DCBwEbgIXBiAARiAARiAARjIigEELkBnBTS973x637QlbQkDMAADMBDKAAIXgYvAhQEYgAEYgAEYgIGsGEDgAnRWQIf29DiOUQIYgAEYgAEYyIcBBC4CF4ELAzAAAzAAAzAAA1kxgMAF6KyApvedT++btqQtYQAGYAAGQhlA4CJwEbgwAAMwAAMwAAMwkBUDCFyAzgro0J4exzFKAAMwAAMwAAP5MIDAReAicGEABmAABmAABmAgKwYQuACdFdD0vvPpfdOWtCUMwAAMwEAoAwhcBC4CFwZgAAZgAAZgAAayYgCBC9BZAR3a0+M4RglgAAZgAAZgIB8GELgIXAQuDMAADMAADMAADGTFAAIXoLMCmt53Pr1v2pK2hAEYgAEYCGUAgYvAReDCAAzAAAzAAAzAQFYMIHABOiugQ3t6HMcoAQzAAAzAAAzkwwACF4GLwIUBGIABGIABGICBrBhA4AJ0VkDT+86n901b0pYwAAMwAAOhDCBwEbgIXBiAARiAARiAARjIigEELkBnBXRoT4/jGCWAARiAARiAgXwYQOAicBG4MAADMAADMAADMJAVAwhcgM4KaHrfzel9P+nwhcXyyS3FismHx/63zxWr4ZRnFQzAAAzAQGkGELjAUhoWxGNzxGMb2uL5xywuvGyvi1fBKc8qGIABGICB0gwkFbh7X7KqmH3vBv4F+GDnU5eVbuQ2iCHKmJ943vGkpV76ttjlnBXwzosNBmAABmCgNANJBe5Rd29wewFOtxO944zlpRsZ8ZifeGxDm777rOVut+UbT6FD14Y2p4w8a2AABprCQFKBe86CSbcX4HQ70WtOWIrApSfbaAY+duFKt9ty++OWNLquTXmgUw7EBQzAAAw8wkBSgXv9is1uL8DpdqJtj17MCx+B22gG9r1ytdtt+ZQjFzW6rrxQEBUwAAMw0CwGkgrchRu2uL0Ap9OJNj9cFFsh7hA8DWfgezesdbktV216mLZueFvzYm/Wi532oD1gYGGRTOA+0VIIPWRCDavugQfXb+GFzwu/LwMa6dz9gpXFpy9Pn1brkDvXV4e7zxG3r36ob115gPMShwEYgAEYGMRAMoH7XMcUQn3eiVl/dO3yzbzwEbiPYeDVFpP9o5vWFUs2PjIr8kP7edBNX9fnp8zf6HIfXrRoU/K61OUzrsPLGgZgAAZ8GEgmcHc40S+FkMtbtEUnOfOBSV74CNziqTZau4ct5Dp/4eMXa+4/L/0I7hVLN7ncVcfftxHe4R0GYAAGYKASA8kE7rvO9Esh5PIWbdFJjrhrQ6VGpjfo0xtsih9fa6O1B968rlj26GhtP3T3vGhlckbuW/tQv6JV/uynt61PXpemtD3lyOtepj1pTxiIx0Aygas4QSzMA5qK5qaId1M00bdPs9FaiVZN15ex956dPk/yBqcg+wOuWwvvjNzAAAzAAAxUYiCZwNXe8liYB7501ZpKjdxEwUaZygl0hfL8+JZ1xYrJaisydzo5bZ7kZ/5sURjcfY5qwoI5eC3HK37CTzAAA01hIJnA/Y5TCqE+78PsP9rr4lUI3Ix7slsftahQG1+yuNxobT/gt5udNk/yy+cs6VesoM92PT99uEVTHtiUA/EAAzAAA+UYSCZwD77DJ4VQ0Buz5Qftcs4KBG6GAvdlJgp/cuu6YqXlfR3XnnxEuQdArAflW09bNm4VfnH829mWmvs9w/s91r3HedM++/B/c/yfTOCedL9PCqFfvAWn0Q9vOGUZL7wMX3g/uNFnY4Tlk+nzJH/4vBVud+Sr5qYNt+CF1ZwXFm1BW8AADJRlIJnAvWxJ+PSr25uzpSfa/rglCNwMBe6hThsj3LoqfZ7kT162yu3u2mZW2nCLsg9TvseLFwZgAAaaw0AygXvPGp8UQm5v0RadSLtVcRM15ybyaovTnDZGUF5crzKFnudr165xuaMmt7BNb2gbcFx+zwjalDaFgfIMJBO46zaPH2eoN6gyEX3fpnany79vkjIpuXiL9YCZ57Qxwux70+dJPshiiT1s/rr04Rax2pvzln9R4St8BQMwUJWBJALXM4XQog28AKs2Ot9v5oPi/nU+sxoSl6nb+FgT2R529bL04Rapfcn1m3m/0i60Cww0m4EkAvelx/ulELp+BS9AbrJm32Rl22ej08YIX7fwgLLXjPW98/psHxwieE9nW+rkbRmLEc6bx3OLdqQdm8pAEoH7llP9UgidsyB9vGFTG5dytefB8yzHjRE+ZQu8Urf9LSs3h+jZxx0zk22pk7dlapa4fnueY7QVbdUkBpII3A/8n18KoaPuTh9v2KQGpSztfMC8cq7frIZSdKXmYNnGLY8TqyEf/JBtqZO3ZWqWuH47n2m0G+2WmoEkAvcTl/qlEDrw5vTxhqkbkeu3/0HyttP9ZjV+z86VkolfPWJR4bOEtCj2n7c6aV1S+pFrt/++pg1pQxhIx0ASgfvVa3xSCGlE6CtXp483BOB0AOfi+484bozwCtsRLaVfXnjs4pDB2r7H7HkR2/SmbEuuzbMNBmCgrQwkEbg/vsUnhZDeiHtfkj7esK2NT7mb8+D6W8eNEX7N4nlTtu3rT17aV6yGfPjes5cnrUtKP3Lt5tyftAVtAQPtYyCJwD36Hp8UQnphvt/ieQGvfeDRZo9ts284bYywwTIxpPatRKmX7WRiOXV9uP5jWcUf+AMGYKANDCQRuOda5gMve7NlZGiDoykjD4RhDPzHbetdbon71j6U/H74uIUVeNl2s9mmdxg3/I3nCgzAAAz0ZyCJwL3JKYWQXqK/eVzaeEPA6g8Wfqnml+Pu2+iiCa+03dBS+34/WxjmYVqo9uQjqvkxdd25Pu0FAzAAA81gIInAXeKUQkgv0acdmTbeEJCbAXLb2+GCRT6zGqfO35hc4P6TbZ3tYcsn2aWw7VxTfp6PMAADqRioXeA+6fCFbimEVm9KH2+YquG4bl4PjdtW+WzTe8id65ML3MOsDB526yp2KeQ+z+s+pz1pTxioj4HaBe4LHFMI3bk6fbwhsNYHa86+XjHpkzn2+zZ6mtpP2l7Xw8637X7rqMtWM2EYP8NAHQxwjfZy1sbnZO0Cd8eT/FIIXbI4fbwhN+wvb9gdTlxa7H7BymKfK1YX371hbfG/d6wvTr5/Y3GFxYVq8ZNW+E9uebi4Z81DxUWLNhXH3ruh0EYdSub/UTvud06engsGtTGCl32hARsjXLVsk0t1Zhsf495fv2IzRm86ZdkUX/LNP9vOaNr9UAtdtZ3wSpsFUtdC4RC3W4dZzxQxe6iNQmsXNbGsZ9a45Zgux//60YuLj124svh7y0+uhZPy5TXLNhdLHw1L22jPAIWo6Rlw/YrNxSkWUiM//5Wle9QGJU9tUMjZtlaXD527olAKvwOuW1v81+3rixOtPpct2VTc++jzbJNt2Pfg+i3Ftcs3F2c9OFkcaWzpmfZJO+bFrA/hvmlR51m8v++cFVPsiveD7f19mt2fYlv3rJ6TazY/PMW+nvFnG+/KiPWTW9cV37Tvf9DulWfPalbIaO0C9w/P8kshNPfn6eMNp8uLq189tz5q0VSatp/ai0wC1sMkMr5uKbNeevz0WTz4otl+2/TuYeKiX1vV+dn963xYOMgenCHlVh5g5cdWB8pry+AFJmJm3rWhkH+fdwyZHbrbZZtZi6f8fYaN3Nv7byxbbwJYceSfuXx18ZIEzwDPusgRN5qIV0z6O85YzoLJFom9br5z/lk5yyVOL7dOm409jW06xzwb0BLzf2Ri+RmmEVL6r3aBqxeEl6lHndJ50/HaylrxWXv5aBpaI7Ix7WIbTfuUjYQ8x3qWZX2tHKya2vb4V+W6GiUMvaYyH3iZXqih5eg+LnT0VNNYGqX3MHV0yra7vvc6m0FQZ0ujDDFNZxebEi1Vyhfru/K5RqS72y/0Z6V4K1NOjYxrtkYjsBrFjGHy80k2Yhrbz8+yDtFeF6+aGq2KVRf5R52tL161plGj1J229uLnz0vy07luXf9/yfweek90H6fZH68yp7hvVXbNkmiHyEtN1MY2PYpn2SjvK+emGbCqXeDue6VPCiE1zLeuTx9v6AV708+zvQlbLWCKrGn73m8S0v9ovcynlJi+1DS0h+nlWiVFlaZlczJNK4cwqSkqL1PnpkwZXn3C0ikh5HXdKuc5wWaRUj28O77x9Lmm1jvnHfT/2yyUwCsMpayvdb23O3colIHnyyZ8vOLfy9ZFs10Sgk2Jaaybn0Fcxfxc96mHSRR6lbNuvysU7nMWcrVoQ6Qe6RAHSzdIP9Q9K1O7wNUiGC/TSKIXbJznl7G03b7QKKZi5GKP1pZh4g4LX3i3hbh0l6/3Zy++qqao+rxjx62ML2J/50wboe/1bZnfJfa87MPnDd+l8LkWKqD4r8gDtiOro1E/bT+uGLYyPvL+zqvm+q1rGOZzxZR67kI50rE9X1Cn8z9thN5jK2qN2M5fV/+LvrtKV1snMvbodBnW6rxny5QnxncUW+9hEspe5avrvlV5NQCjuPfUpmelYvP17Pby47Dz1C5wpeK97M/OLzedNswB/K2/sFV87VdsoYgW4TTJVBotYBnUbloc5GFVU1R9zxbV5WSHW7zpIB8P+/z3T/eLsdeio0HX0hbdnvm0PdpOL5AUG8/E9rmeBZpBUXxsE0zCNHRBqjrsc5w2VfHwhVz6iUtHj5oPug88Pvfk562nDb5nPcoaeo67nMTdfzuGRXr6fdCzUlmrtNCzaaYMWHWss6ld4Cpmy8ua0PsNveGafJwyGmhlcJNNcT39NvnQAhUPU9xVlTZSxoicTNkGqtS/890/sVFXL3vFnMfHbSlM5V9ttLSpJpFb9+p5T5+/vMfnGmXyytHs2WaKs9aC5Q53Zf7X+8JrAaRnXXQuLfQpU4cY34nJT4zyhpzTKy7/245hkbH9vqsNAHayl3jz6nE+Ldz97cgZamoXuJ4Lal5jsXchsHNM/1FbLRzxmuL3uAFGnUNpeRRX1N2eXnxVXWTVxF7yKP8N+7sWZXT7tezPn7awIS/rnYp+vk1raYVu0+3umkVuLJ+/xxZs1h2fWqVtNd35pyVn8TRK2pAB6IFV1OymNkIqe695fc+Tn2fagj2vcnmdRzMQXvZ3FsPqVS5Pv/c+K/X8boNphtg7tr67fWoXuF7ppNR4qWLeuh2Yy89Pt4eA0q61zY636cYndr0Ufu6Urqxqiirl+s3J/sJiFEPY1lS2hynmu/v6GhVVCrm2mESuFmZ21yHWzzF8rvy/TReEYkF5dd986vBp8a9e046XveqjvKPdz7NYzHSf14sfhbB0n7cpP2thk5ftZrObXvXy8nv3s1ILFzX71iZT+d95ZrXZmLJtULvA9VqspIUlTVmFWtbZTf2eXsRaNd9W604Xpxeeh1VNUaXE7zmZchiG8KoFBB6mjnDn+loE49Vx8Shb2XMolV6nDjH/V2o0D5PPlTlEcYZtsgdsqvM3LNaw18eakdLiv7bZP5gg761LzN9j3LMxy1v13OoAeZmnEPO8b+UTjf57bZPu5a+y51Fol0baq7btqO/XKnA1jO5lihEdVTn+Pnq6a2e7+RUL03ZT3LDyWXpZ2RRVHcaasgDHq/5vsLy+nbpV+V8j6h6mUBNdV52vpseDD6uv8jJX8V/Id718riwlij1vo11oOyP2Dngow0YbTaEXoYvoUvKjWayQ68c+RgtSvey1jmGRXvetnpVaj6Kc0W02bQ7hzUKtAlcLGLxM28d5O2O6nU9B7l4j6l7tGnqeVRbLIzHhZcPSJfVyoriz3Ey7q/XWs8zvEhoepsWCCptp88yC/HCDbbwRe8rZy+ce7ZbyHEr91WFUMzBttptsG+m6ti324kcLyDv+b9L/2gbay7QVtVfdvPyube+9zuXlp5DzaFbee9FZrQJXqSy8LDRPpxecbT/P71o6F6/pfK82Hfc8ix0TWA9Ku9Kv3V/m2HEb1wdex/cu3utX736fea2411Rbk9I5jePXv4mcBqpNscnj+HHUsQvt/tcsoTaryMH+5eawTCb97sthn3nds1okN+w6qf6mdJce5h0WyX37+Fa5zDbSUGiRFyu1ClyNinnZEYF5Or0c1+bzaNpXLwNssAf6paga1ObK/ZiTaeX8oLqO+twrb3KTV+9XbWvda/1S2o3yZdm/e/m8ar2a+P3zLMTCaafo5NXTaoIdbPvpshyEfs+LH+UCDy1DzOO80goqlM+znF5+Tw6qcwH2sE0pvPxcq8D17FmH5un0clxbz6NAbu2gk8rUC9YLf51+aLD1pl0Z1t4fOtev49YEl2hEZ1h9B/1NU6pYfw/8scUBDvLbOJ/j8/7+zuVTxRGPw8eoY5VX2sv2td0cR10vxd9/ZjnTPew6x7BI7tvBLeIZ6lKrwPWMiwrN05niBmvKNbUIQ/ld6zCFPyjljXL9aXtdjURoe77u6YdnmNhWXLb2tt/dFolpWnrZxvQjy91pV8q0naagczLFc5Wpd+93NDOQ0hSiopXJ6khLUGqhnFbXizstDlGif+VN3W/e6kI5lCdrHOrrzvTR67dxfk/tc41C6T7/H9vo5FuWBP8zdr/L/0rNdaBNsWumTfGkbTDhoHjGg7vqovy5X7Scokrwr9SB2qpYuzDVZavNv3pOjsPIsGM9+dF2sMOulepv5yzwWTipZ4ZXHTz9HsqiEg6Jd9274ls5fsX7l433H9iCL32uhWt17xip57IWjHv4ulaBqweEl3UvKPBwxHQ4xwFOOUoHtaEGZY+6e0OhHVRCH8pKdSJBLKGSagFcd4qqMlx8reULWnrb8zjLhFCm3r3fkaCs29SR0oNYu1pVXcwlRj9iYVNnWDqv2KbtZXv95fF7Cp8vn9wy5XOlkisbq73d7MWFntkKIWiaqUO3ty1EUkeobJs8z777QZu5UUq12GsZ1GEoW66q3/PkR8/tqtev4/ta6OlhR9q7zau8nn6vUjd14o61QS519J89q5yI1MDY62yA6nMmgM916iyMKvPHL/LpLNUqcD1HD0PzdHoB2rbzCGhjO5qpd+uZQkX+1eiuV++7SsU7KarKtvEfWJJqLWQI+eeVlkmdgZDr9ztml8AcuLon67QLFk0W2kq2bDsN+57WB3huQtPPDzud7FPW7nqoreoyvRw1Ev2cMVeSv8/KfKOT6Bin7ndZ7k1lkun2Z8jPL7BZAu0AqdHWGBYzY5DnPbtj5G1XQ9pGxyxyWm/iueivzvtWTOre1fb2Hru/aucxr/fWoPvlRBs5Dm3v7uNqFbieTvmuBbT/tfW6c/3nmT9zm1mLC426xDDlzowVX9gBdU/rzdU5TaIUVZ1rx/5fgsHDtHNW7LKOOr9G6OowpYRTWEhv3tNR5Rv1d8Wnz7Qp9Vimkf5RZaj697p8LpE1asewKmXXTI1euKlMmxso/rRKmUd9V+JBCetjmEb8Rl0/5O+e/Ggr7ZAyxDxGszoSdx6mqXuvsnr6fVTd1JF7YwR+1DmMlf9dsyIe2z7XKnBvaUks1ihg6vi7AuO9biYlUI5h2qkpxu4j/eqt0dy6Mj/Ume7mBKftkS+19Cr9/FbnZ3Xsf67sCrFe9vKVXoieM03d951GnL3bow6fK6wgNORoWH3l65gdim7fd36W1vEUKr31U+hCjG27tZah91oev3vxIxFZNUTIo/yjzqH28LK/7MqzPOq6o/7u5fdRdVM4QpUF06PK3ft3pdOMNXimmZ7e61X9vVaBG8sRoxq5jX/XAo2qjdnv+y+2hT8xYlklwLWtZ79rxvrs9TbFW0dqFU03xqpD73kvWeyzMYLXlE5v+ar8HnsPdLX9myKMRPTWUXGlMeJy71/nP8r+o8j7zssPMVOcadGp1z0w6jkvceuZgqiXm87vClnwfk7FWqTodc9qhq1T/yb9r8XNXhYautXPH7HvW9W56nbz/cpZ5jP5eE2ErEifdejU1SZw9dLAyntAsZFl4Br1nRgjJP9uiwW9p4dH1aPzd8X/xBDs3S3zBVtl37le7P+9VmRrsUvsso46v1bMxzI9QN9i20qPKoPX3xXWo1AIT9OqZe9Rrpg+1wxN2UVk4/hdI/Je08jD2ivmyG1v/bXVt6cpAX7vNTx+9+JHMdUe5fE+h9ZHeJnnNL+X3wfVTVkRvH057HyftxRx3uaRCrY2gftC69Vi5T2g7QWHAVXmbwr6935xaMV6mWvH/I5SEcW0OkZ5Ov7x6vnW/UDrlL/7f+0uGMu8VtV2l3fUz9+xOH9vUzaBUdet8vdYPlfcXtlV1lXKO+i7eq7ENKUgHHTtGJ9rAOB6x4V0a62D151i0avMXvxodb1XmTzP81FLP+llmg31KpuX3/vVTaPDXuUsex513LU429NCs/l0l7k2gasVxFh5D7zfITG8RmA8TelWYk5XdoM57GeFRugFHMuUcmrY9b3+pvhlL1MKF69yhZ5HC5FimOLIQss0znHbWrYArw5Ixy87O49Cx/C5ZkhiZHwY1hbySyzT6GIdI9G99VMuYE+rsrtib1kG/e7FjxYMDrpGys/3seeil3kuSvTye2/d5tqajlT+Vj57T6uazahfvWsTuMoKgJX3wLgrlt/lODWjUmvnMY8UI/0gDPlMScVjWV3pbl5yvN/GCLvZSEWIHz2PedC2svQ25Y8dNy3VOHX0Hln0SEvVXZ8YPleGiu5r1PGzRjy1FWoM+4DDYEGID5Q20dNi1MOLn3+7pf5RwzJtomxLHqZwpTLXK/sdL793100LcBX/XbYMMb7nmWrRI667NoGrVE9YeQ9I/IwDoPcUiNKajFMe72M1XaetE2NYXQ8JdWK87J3WofH2cZXzSaBEWGdQeKykrVKP3u9qhz1P04hS7zVCf4/hc40s6byhZRrnOMWRe9vFtohznDKNe6zSKHqZNiUZtzzdx3vyo9Hq7nM35WevDqra0atOnn7vZsszy0NoXb0Xzz19zF38ahO4+9vCHay8B8YJBdCIl6fYUJqgUOBjHqcb2tvqTHejMBQv+y1byRrT16POrel8b5tnMV2jrhv778rt6WnaztarzDF8nrJDESM3aOqOn1caQDGozUi82NF5PPlRPnrPsnmdS1vNepi2tPUqk6ffO3XThkhe5RvnPFoI7GnjDvT9PwAAAP//mfZNhgAAKf1JREFU7Z0JlB1VmccbcRfFfUVxQ8cNRx33ccYVRUBRQHFhc1Tcl5EB1xER9bjheGZwQT2SBUjYwiYQAmELEMIWgUAIO2TpTtLd6e5sna3m+3csuV2+eq9e1b+qbt33v+ckr16/96ru/e7v3vrq3m/pe9jU/qiKfz+/dW2kkk0CY5u3FeqTT101ku1CGb/1njlDhepTFl/POnVltC1jG7J+bdXGrZW19dNX8/rp6TNXVlbvVv35irNXZxVx5u/tf9lwrW2K23nL8ObMde70xe/dNEZrE1vmVw5sotUtll03r5hnmGXpuq3RjhXd39La+b+3r6M1ad9LueOByc8H53LrlibPbv9+7apNFPnPun8jbWww5R437h2z/bhHP2p6f7SVeFPe5bRi97W+boHJ+/2pd2+I+0KvHSRw1+iWQoPp/KUbO1wh+8eYIPL2eRW/W7CaM4HFElm0ZnNl7f32jWPxZQu9brEJ5eHTqnlQTetTTLDMsnhkc+1tits6417e3HXkDTwFly3z/Wp+oHjZWdyHpN/esb6ysRyzknxFf7MKW4lk8vOW8wdrl3VS9nh/79gWivh/R2SJKXc07mZ7AG/V9rr+9sBajszRtqcVXLipTMG9cNk46quSQQJXr8yvVD7plIFonPgIxZ5U2YPu6IW8Gwi65rL+8comi/+5jbO6s2J9davOaf330cvXZCA7+1cOv2aksn5Ia1P8d1Y/ofVfWTBKaxdT5mtt1+hxJw3Q6hbLrpvXx588kB2QDN9878X1r2p94kreuPgAeZWUyc+LzlxVKztpnK0zrhnlmL+upbWPKXe07bMezZXohysGeLrezqbPpPVtlr9XpuDeMMhdaWNA6+s5zn4g/3bIwfN4E+qt9mRY9xZfJ4jf+JdBajfOtNW6TtdkfX4KaWXwr0P1P8F/+dpRWj/glgTzE5aci57nm8RVOKbizpR5ldyn9QfmGlZZb9sa2C5Nu1ZVf//4Fbz5eO9LuGYATH7wcFKVTLNe5wnEB6Yv2fyW9bqdvseU+9D41mgnz2Q/jbhb/+jpxbiqTMGFPZRKNgmcsCT/1hqUY1bB6minwVr351h1YhbYzFXVpktWcJ50L15e3apzmmyOvZlnYw+zk7Tr1PH3Q4k27YfYAyirDUyZH2Ar8Kx65T3PY4lj2YeHPsjhMCI777yIuyLN4ger/3n7vMzfvdhWlVmFOT5YckfbTr6nugWZrH3FsjvHQkfWa6Z9rxIFF0/mzG1zFrS+ngcDIK3D2v0dy/kbYJBJKlgdbXc9Xz5bbY5hrPJdohNQJ/mwnJdO8mCSw0MZq/yAuB3YqQ+yfA4zHVbB9mSWa2b5DlPmzz+j/i3mJ8/gPayedp8fN/7Pzec5kr7SHDmzcJH1Oyx+7jE716zXrPJ7b72At7v3dqITF0vumJM+Y47KVco0y7V+b/bKjLLRdJks12v3nUoU3KfMWMlob8+cI6+d3j7EG/HAhvo9kNuB63520yDPy71KeybImFF+Zba8rjzqOD6LuHPg24MVVm9YhekJz9qtKRq1hcUbzFJYJe8iAast8Xm+ZjbXrMKOlMIas/M9dUTGWGOVlxMfLljjFm3bbVb9D6Yx6/HriXdxFNzRTQ1RcJnesdgOudEUmpD/vS+nc8RRRFvBKQZpDKzvr+c+yDPLYCog7eSGqAcsX8BvWTSGdteq4jM4RjIKdiDqjgiRlBfTrp25zcySuS8mIXBUYhX0WbIf63j/HVKkFPhKsf0hWPycY/NvHbLtdE0sVrAKFuk6XS/r5yy532/RCrJes8rvsXxLGM7Tlazg/vuFvBBCCIFVZWc16Vp/Jj05YVJgbqWWLcPfLOZEI0C7qwp380ziahXiHpct407nR2g7RoFjY6drVf0580b5qnN428wsmSOEY9UybXW9N1moKVZhPki0qmvWv/2aFAeXcbNP1pnFzx/v9HMxBDGnGQXmlUnZFXnPkvt0T8ZtUhZnWMxgRmHY0Vei4DK3+LD8nRSo3m/3Fr6GFNQacD73dN4Ta9n98yOigxMcE8quL86/uyk6rML2rs7TfmwnMQozoHqedrT6zVeJ28zPIEaHgGkBo2D8tGp31X9DGCxWYdur5pUFazWLcbNPtoE1Zn98ix/8JNvHcnaCg3zy3EXehzZuk7LwyXm6EgX3i8QQQj+zjGhJger9dgV3eJxzw/PVKzatn5lZ8qoKd/Mu84hmlTfU7AyIMDWs8lMPxzdrmxn+nyzzC6bM89r8p43HvH8PKbNfLIO5pEgpc8iRUpjRZ/AAGLfXp9dTzdGQUWAOyWpXiOM2KRufnKcrUXDhFc0q37jez8GU7OSq3z/bUtqxCpy2qq5/keuxntSrVOyZ8THr9oB/gXngs8p/eOgVzEr00G9OhUU4d3/LlPmBFqvVPXddx6zMfmXYq+aViU83e7cNTH4+5gk/bvtwjKQ9jDLbklQlz533PVPuvozbpCx8cp6uRMFFmjtWOcgT54Fkp9b9HjZnrOJLiJ2sMmWFXUFax6zXLPo9pnc14ocWrU+R34doO+nKA7EmGYWZUjNEmftsr+ry0M2xTzd7t94h8uO2D8dIu84oTBv10OX+CKLzNBLsJPu02/eVKLhnkoyOAesec7jBrrsVmK/f/wIx3qIvNnlZZY2ID4xSZbibn5jdGqOMEEKpZJVz2veY4el8sZ102+qTTVlcrxBl7rO9aiz3bl59u9m7dWfyw3ScdOtY9JgVH/0Xi3hhGJly93Gu9M15uhIFd94AJ4QQFILXnMvzQi46gHz6PWubHjJG5iaf2tapLjNIKW8RbqzTtVif/8k8jxnlTotewKpT3vPArIBV2LE+87bJ/R1WXhmFmXVI9qrpPcK2V3VZ6ObYt5u9W3fmmGU6Trp1LHL8SFtJ5HikRNGRhJXEuC0hjtu4bXj1zXm6EgV3CSmEEKa055itqStQHW93MEMsQlbxJcRO1r690GykGAVKZ9ZrFv0eK3bvVRZ/tmhdiv4+RNtJVyY+bjOHKHNf7VVdFro5fjUxUspelwxTxzmLH6bjZDey7fRdpk8KM702S+4+2Zm7ffFuoqkkw3m6EgV3DSmEEJ7I8GTmClTH2+VxgcUHZhXYCTVJrqy4glWGu7mWFNLNh7BaLCesMmJ9FuUYUQ9wE2cUZkKOEGXu44NEEX58u9m7bWHxw3ScdOtX9Bg7vayyZ87ES63awJK7j3Ml2uub83TpCi4cYFgFNjWtoNHf+iNsy7EKthmaItNHTecpIHD8qqrdcGhjFOT9rqrOaddhOWGVEeszrc5Z/47tV1ZhRoiQvWp6rzCcU7Ly0e57vt3s3bqyxizTcdKtX9Fj+OqwyuvO490PQxu3yX7yzXm6dAV3V2IIodvMKzIpUL3fvoLLComCSaGqZAeMvmOmgcYNiVGnLOdYRwrSf4yF4MtyvTK/w3LC8sV20pWVbzZlcd1Ck7nP9qqxzLt9/fp1oywdK3oMOVIKi5+LyfF5u5Vx2vcRbYlVmEmPWHL3ca5EX/jmPF26gvt6C0LPKlDi0oDu9b9fSXTka5KdMzP7EZIvVMHRE4iJEb5kSVSqqHO7a7CcsE6ycFztrlPHZ8yEHG8kJuQITebMBwm2vWpe7ny72bvtYPHDdJx061f0GPHyGQXWSdglLFqf+Pcsufs4V6KNvjlPl67gYrJhFWQmiUHR6+RBx0zT+6RT6o2r2k3fHkGayMBoVaYZWCFnlY9cXt2qc1q/hGY76bYTQexZBUHe3XMXOQ5N5j7bq+btJ99u9m47QuPHbRuOkRGRUYbGuWaRocud5TyNyFvJPs3zvnQF9zALOcUqCIWVp5G98JvrVvNCscEDtSkyY9mSgdGqwt289QLersbbZ1ez6pzGA2J9spywfLGddNvqm00Z6uZzfFVXdt0c+2yv2k073O+eR4psw7rZx3Xz1XEyrh/j9URSbPTFIzyzyBDHbbKvfHOeLl3BxU2LVb53U/HMFskOCeU90uuyCsLbNEEumKhZwbyrDHez76W8XY2Xn11vXzGdsD7lYfxlRNZglFFiQg7Zq7bvkboz+8Vzp283+7hezDHLdJyM68d4PZ8UVeiKAZ5ZZIjjNtlXvjlPl67gHmdZQFjl8GualYAg2fllvmfFkERfNSUOLnMlFFtHZfaPe+7PGses8tSZ9a62h2g76faVj9vMTJnvTY6v6squm2Of7VW7aYf73fvWciKlINW9e96ixyHyk5QJa0fzdKJZZC/IfT1pO4/lPF26gjv9bk4edygEWPlKgqz3221xryeaKHzUA7vOLP2KlMKsAuP/LNdkfAc7EYyyaWsU7Whb1ow65T0H0wmLEdg7bzvSfseyKWMm5AhR5j4+SKQxkfXvvt3s43oz+WE6Tsb1Y7w+QHq4+M1inlkkU+4+zpU+Ok+XruAy47NixY4Bf4jnYKWrheLlg2d+lj5immUgfEuWazK+w0qrvGx9davOae1mOmE9n+iElVbfbv8+n5SQ46wHeGmgZa+a/njItlftlpf4+z7e7OO6Mccs03Eyrh/jdSNpJfH7C3lmkSGOW7evfHSeLl3BXTjEsw3dbRbPC9ntmBCOj7aByCp/WMLdEitDvi8iRiKA3BCAu4x6tjrnTLsWo9xodtetzl/l33x0wmK23zebMrQtRJn7aq+alyXcq1jlAPKOGpOfx1vIw7wyKut3zzudJ/vPz+eZRTLl7oududuHTJNBlvN06QrucltlYhU8FbsC1fFD29PMp/LbG5BQ43jbOmIWpFCsiidWUo7Zy6pbdU6TDcsJa4TohJVW1zx/ZyXk+CExIUeIMmc9SLDtVfMwg9/4eLOP23Is0bQLjr7xeX15hf0mq+x3Gc8sMsRx6/a5j87TpSq4gJ+UsCnCjcYVpo4nTyxIJ8gsVYXMytOP8EZl2bfFMvv2jbytqE5tWmQPEIwyzezbO12r7M9DtJ2MZYbVKVb5MjEhR4gyZ41nlnNKzEDeVx9v9nFbfkly/B7f6t89GUkZVhAX1d52Ic8sMsRxGzOFV6bz9FNmcJynS1Vwn2Ye3qyCJ3xXmDqerODiZoysK6zCfHJl9xXL49qVVZXhblihzX5hNyq2bLs9H8sJyxfbSbf9PtqUoX6hydxne1WXh26OEfGHVVg3+7j+/0fa/Vrj4a4L084V/fdSollkaOM25il+9dF5ulQF95UWo5NVYKMVC1Kvk5XbWB4sz1H02VQPVgfjdrmvyLKGiZVd9pnL24py65s8fqTtarBqf6TFmE6ev+r3LCesWffznLBYMnjL+byEHO8gJuSQvWr66Gfbq+ZliXWzL2OVFD4WjIKV0rzyKet3zIyekBEzq2do4zbZhz46T5eq4GJSZxVkhUkKVO8nK7oXLx9niTtCCKpdPMxoxlp9SArqTabMVMETssSxyqEeJEYIzXbSZcDXbWaWzH9Pjq/qyq6bY5/tVbtph/td1jy1dB1ficTiBaOw09i68stz/CFiAh3IZ4NFYshTj7TfhDZuk+081WIGMwrTebpUBRfxVFkF9itJger9ZAX3Z6T823Gf4Xw+yfj9FpS+rFJVuJvXnMvb1djz4nrT9IINlhOWL7aTLu9MmzJmQo7QZO7rg4TLQrfHPt7s4zaworhgLn7cSX44fj96+kB01ygnsUZ8j8GOaCwzxmto4zYpEx+dp0tVcL+yYDRmpfAr7C6TAtX7yQouUuwyC0wBdjaTAB/kDMeyfss2VlapaqLeYw5vV+Nfzqtm1Tmt/8EGq/gYe/m7HibkkL1qe+LY9qpp7Hf6u483+7jOiMnMKrBTj89b5yvMtdgF2dBYbQpx3CZl46PzdKkKLjMcydevG6XBluyYkN5jeZ9ZTr6nfk999A9MVMoqYxVG6PjklbxdjeeezvE0zcs/0wnLF9tJVxY+2pSFKHOf7VVdHro5vo0UKaUMX4gLlvLm0n8jRhnoRr7ud3e1BDEIM8gu55uc3OsUOQ5x3Cbl4aPzdKkK7gkkY3aAC+/IpED1fvIKLuTBDCYdTxhftZX4umQNp6w/mnlKmQVbW1W17xvX83Y1sC1XVb1bXYfphMUK7N2qnnn/xtrKRca9vHVI/i5EmbMeJMqwV03KP+t7H2/2cd2huLEKdmnj89bxirBgV6/cxGrOpPOceBfPLDLEcev2t6/O06UquGcTt0LefVH99oZuh/p6jPi1cBBjFpyvjif1J9oWODPVc5pMMEFW1Z8/JdlJD49zHSDytD9E20lXDpda+mZGuYiYkCNEmftsr+rykPXY15t9XH/mwhOT7bh+3bweR4rp22qcY67upi7tvhviuHXby3SePmQebzGzVAWX+WS1u9mXugLV8T+u3sYyYT5YxAMfIWGqijSAdjzftp1uGeaaW8RtSb7CJi2WXdmvf7ZVAUa5Y6S6Vec0mTCdsHyxnXTb6qNNWYgy99le1eUh6/FziJFSmDf7uP4s23LMYwhjVpefBjtqQnJexm5bLLOiryGOW1cmvjpPl6rg3m3JGVgFTkauQHWcruB+2NILllGQlQ7e7lihKEv+yLF9lDkMYIWyqoIVjbLakzzvaaRQKrDxS5676vesGyV2CKque5brrdrI2QpB5qgs18vyHZa9qk8y99leNUufJL/j680+rufBtkLGLIfVEK4QO7qs7HdpsjiIuJIY4riNecKrr87TpSq4cN5hFHtIjHzMee12sE/HsM18cB3v4SLZh9ebd+krLIkHs83oX0yUzGQVyXqnvYczJLMt7c7FWl2v0m44rT0h2k7GbfV1m5kl82UeBen32V415qGb1/da+D5WQQr2bq6d5bvM+PRoJ1iqchX3XRUot2gXlLYs8szynRDHrdtuPAywCtN5ujQFl5nHfcDCQ7nC1HHnFdS9SowZC5Dx0HF5/3j05WtHI2zJ5emTR5hS+68XDEY/thBwi0eqMUdoNQjRhjz1z/MblgczQrg9puYYlCwnLGZg7zx90uo3TJsyZkKO0GTu64NEKyay/s3Xm31c/xdaaC92Ye5SxPVs9foeUzpZ8WQ7yQAr8a3qkOdvoY3bpAx8dZ4uTcFlDiLYYiYFqvedldwpJHvPThMBlN0rBsajH5j5wufmj0SwjYLX6ItsIt3p5IEIQe6x4ouVAyT/gOftSRZ+jLVy06l+nT5Hnari6RKS4xLaxFSc8rSf5YQ1m+iElacdrX7zz8SEHEhQ0uoaef4me9X00VyGvWqePmLe7BElIE8d2v0G58SczSzYrC0z0hF2+P574VhkycUqK3jIbSfHbj4Lbdwm2+6r83RpCi4cklhlrikFSYHqfeeJ78kzBia2j1j9EOp5oHhXxRNLKURfwMb9tSVsYWaVBcsJq4xYn1nbkPY9X23KQpO57/aqaXy0+zsro2SZqXBvLcGBF7rnt24co8+lUDSZCwNZ7mN4AGD6moQ2bpP8I6Qao2AnN3nuIu9LU3D3mctzdDrlXj+SDRQRdF2/ZfYDA2Afz8G2J27X19NIeeBjOcJZCHGCYWYB2z+YfGT5x9h+Yzlh/YLohNVO9t18xkzI8bzTedmeQpM580GiDHvVbpiJv+vrzT6uH16ZSZjiuSh+PceS8jD6AmaOcM4qI4lDXNe0V+wuuvIqehzauE3KgxVbGTvByXMXeV+agvvpq0fS2On677++neeFXERYTf0tW6nqugPJP9ho+1SsaASo2tPMhKKqvoUZhw8F9tNF2hyi7aQrj/+0zImswkrIEaLMfbdXdZnIeuzrzd6tP9J8l12QfRIP3VBU3Wt3Ot7FVmwx/hCasq6CFddO9cz6eYjjNtl2pDVmlNMtylDy3EXel6bgftu2KlgF5yrSyF7/LWKM1hGdgNX/7nkQd3Fvs2lkhqja0VY0qmIEdoI+lKITCdMJyxfbSZcBH23KQpS57/aqLhNZjxFlhlGKjtFO9b1vbXmRdtz2wz53/qpNEXZqPmMLX/tZGMt3WiQEmFe9dNaq6G2W7vdAy1T6HbvPX2VJdyo0s3WrOekYNrOd5Jf18xDHbbLtLP3iN4u5i5mlKbhYdWUVrAYnBar33SllcPhixiVm9W0358FECQc29D0r7MryisMlwXzAh3J8wYmE6YS1p63y+DaefUzIIXvV9JFTpr1qt2z6erNPtoN5j07vmWZ+gux6SXnlfR/iuE3KAruqjHK0ORImz13kfWkKLuxmWeUDZs9bpJH67XZlGFs/LGN3Vt9mPQ/Gz0ecaAessCsLh3hbUVk4w3bVSgt7V3f5fsGJJETbSbf/fNxmZsocW9Rue+s6boK9areyYd3si47RTvVmx8Ote05jXh8LKJ3kl/XzEMet2/YnnTJAE/3nLQqTe+6ix6UpuEyvxypTxBYVqO+/h70py16GRnWHE8GjFU4/rmxZ0QjqyKX+uzs4HqcdxNb246ITCdMJixnY22WkyDFrjJxxPy8NdIgy9/FBogg3Pt/sk+2CaRZMB0IpSLnOCn8G57akvPK+D3HcurKAmQmrwHzFPXfR49IUXMSuZRXE1C3aUP3+IZOGJ9oTF5yMmlBgltAqFSRrJXq6RTWomg0fVk6QzrlIu5lOWGXE+izSNvz2fpJ94m/tYaZoXeLfM+1VWY5vcd3yvjbFXjVr+3y+2bdqA1byWUphnfcTRG5g2rp+9hreSmKI49ZlCTbUrPJvdi733EWPS1NwkX2MVZAsoGhD9fuHFFzI4nGWBYsZiYDV1+55YMuGwdOq71hhV46rIUQVgpYje1edJU2urWTd6m8sJyyfbCfddm7w0KYsRJk3xV7VZaPdMW7QrFJ0jLarp/sZHHuaXLALgAc2hHtklX3/5uvhyinvcYjj1pUFVl1ZBQ+I7rmLHpei4CIFK+upcMyW8Io2Ur+frNy68oB9UBlBv4sCf649kSMDmlvX+JgZduWoG3hbUXH9sry+/i+DlWblSfbHSwpOJCwnLHZg7yyy7/Qd7HCwyheINmUhyrwp9qqdmIk/9/lmH9cx+YqEQMwFKdbYyXIeLNLEKcuZO2NvNWfgpJzyvg9x3LqygLkbq8DExz130eNSFNxnnrqS1d4Jz/+ijdTv0xVcyAYPJF+yRAGDFty67oKt4U6pc5lbUa3MH6ri5Ve31bdyAiWuSDtDs510ZQHln1X2L2gK4tYrNJk3yV7V7Yd2xz7f7NvV+2BPwhd2M+5+fMvayA3xCCdkVnkx0SwytHGb5AjOkIyCh93kuYu+L0XB3f0c3lbB1RYXr2gj9fv2Cm4sH8TLhfco7F6rLqObtkUYKDCdiOuT9hpKiCqY3jCdMbP2Gbbf02Sb9e8sJ6yyY31mbY/7PV9tykKTedPsVV1G0o4R5ohRGGM0rY5pfz/iel5yE4YM0s6BWOiHXvWPNrLI5sgqTyCaRYY2bpP8sExcYK6UPHfR96UouO+2IM6scrZ5RhZtpH6fTcGN5bSbrWBh637ewCaaqUkaD0tGt0RfWTAa7dzFiiIz7ErRrfpYZnlfH2sKPcwxqixYJc9b3/h3LCcsdmDvuH5FXuGAxyr/dBbPpkz2qum9UpW9aieufL7Zd6o7Pj/cnKtY5oXpvZX/Ezivp6UZ/yEpS+Q6sllkaOM2yREWKRgFDqfJcxd9X4qC+3HLSsIqf1jC80IuKqxe/P3TzQ4WT8sId4RVVka5Y2RLhO15ZLNxt5iyypcVdgUrATDPyHrdsr4Hm2JWPNAs/YMVhaJtYTlhlR3rM087fd1mZtmrsoOp55ExftNEe9VObcU8ySiMMdqprmmff8JCMtaxi9dObrjz/NIcgmN721Z1P8F0BUa5d6z4AoBbv9DGrds2HF8xwInIBFOO5LmLvi9Fwf2arcixyrE3r6U3uqjQevX38FR9jzmlQQHATRIhkM60CR0rvXfaSqyrAOMpuN8iadxuOb2xCg97KUycjBXT/yJtpTHzjTOYQLznKkwWik4kTCcssMSQHfMcPtqUhShzXx8kirDk882+m3YhHTpr5bGoLoD7y1tsbuxUf8TBZZRrLTZwp2tl/TzEcZtsOxyFGQWLPMlzF31fioL7E1NmWAXb10Ubqd9Xt0qJLfeyV0VZT+qziEH4mYxhZRuZ2srybIZXb5H6Mp2w2IG9i7Qr/i3SGDPKg+t4K0GyV03vkTrsVWNWkq8+3+yTde30HnM57HLrcj7GTl838bqvMn8dRoHJWCfZZP08xHGbbDtCPTLKz27lL2aWouD+6U7OVgGEdqCZOyQFqvfVKaw+yvoyUpIKPIj52D63Tq8yh004TyAhxexl49ECMy+427bQhse3RXkNRhCX0b1Gt8dMJyxfbCddGfhoUxaizJtur+oyEx9jXDJK0TEa14fximgXmCuxK1d2wRUwz31w7nDXCyV32S4io0B/YcgN5whx3Lqywa4uqyAhhntuxnEpCi6jYjpHbyux7fp/+XrOE2MrT9x219VnYlIMiIFeZeAZFv7zEAsnNs0etllzMJQjKLV4cD/GnMTg4Nyr8lW7+XOLFFx7yhJYzZEBoi2wSha7LrHRHDbUV+orMVAdA6+0zGHwt4Ht6w2Dm6L7LDrL2gyrvMtsgWLO8vHo1xaS8iBTmKE4q9+q67dekrUUXCm4jZpc3mgZwFgFcX97abCrrbqJiAExUDYDiHSwy2krI8QrR3YxZAWDqdWuZ6yKmPFly26Hzt/8sSIFVwpuo5S8797ECaQOBy5NYM2fwNSH6kMxIAbEgBhoxYAUXCm4jVL05lsIF0ZBDvNWA0J/00QpBsSAGBADYqD5DEjBlYLbGEXv2bbtxfLjRTISTWDNn8DUh+pDMSAGxIAYaMWAFFwpuI1R9D599Qhj8TZCBjME4G41IPQ3TZRiQAyIATEgBprPgBTcABRcxJNEesGi/4pmuCp7QrjSMtowyoUWZ7Hsuur8zZ8c1YfqQzEgBsRAcxmQghuAgvsjS2fMKMiZ/ajpfsK8h6UIZpXDr/EvPawmUT+5U7+oX8SAGBADzWRACm4ACu4nr1zD0v2i11hoFx8HM8u5zKwTomcp7qKXfewjd6pTM29s6jf1mxgQA1JwA1BwX3feapqC+0VLC+vbxLD3JcO09s0zMwff2qf6aCIWA2JADIgBMcBlQApuAAruTicP0KILIGWiT4Ps6TNXTtgWszTcI0rId+2TvFQX7gQpeUqeYkAMiIFmMiAFNwAFF4PvHnMyY5VXW9YZHwb0I6f1R5f1j7OaFY1s2hZBYfahbapDMydM9Zv6TQyIATHQDAak4Aai4J774EaaIjjr/o1eKIHHW3QIZkEWNE1MzZiY1E/qJzEgBsSAGCjCgBTcQBRcVozYWKE8aF59iRAeYSu3P7+VExkibs+K9VsjmHIUGSz6rSZbMSAGxIAYEAPNYEAKbiAK7pNnDEQI88Uqw+PbojedP1i5QogIB0yzhFgen5+v0GCalJsxKauf1E9iQAyIgeIMSMENRMHFYDjTTAuYZb0pzPteOlyZkruXRUtYZiut7HLHyJYI9ryaMCQDMSAGxIAYEAO9wYAU3IAU3P0u44XTipVMrAmfYYrzay0UWRmTAswRPnbFmuimwc3xJemvB1xen7lFGTLTOXtjclY/q5/FgBgQA/kZkIIbkIL7mJMGojUWKaCsAtOBb94wFiHu7o4F5LbzKQPR+y4eipCB7W5i9IdW7UaCCE0Q+ScIyU6yEwNiQAyIgSYyIAW3gKLmY4cft4gbeaCV0oi/wUYXMXNn3LshOtYUVdi4HmyOafvbKvKepry+Y/ZQBJMD/O1rC0ajY/66NvrtHeuj6+w3RFPhtOpN/L1/w9bohWeukoIbGOM+jjvVSQqAGBADYsAvBqTgBnbzx+ro0nV8O9a2mqSHH8J+uA4nOU1wfk1w6g/1hxgQA2KgNxmQghuYgouBXIYtroc6bGqVYKSBlWRNar05qanf1e9iQAyIATEgBTdABRcD+zxi4odUTdLTD440O2FNbprcxIAYEANiQAz0LgNScANVcF9wxqpo7ebyHM481W2jE5asl3IbKNO6UfXujUp9r74XA2KgWwak4AasDHxg7nA0vrV3lNxpd29QvNuAee52ctP3dUMUA2JADPQuA1JwA1cI9ukBJRcr1YddpUxlmsh7dyJX36vvxYAYEAOTGZCCG7iCC+D3tnBdzDS+PpknLBzaHL3srHKSUGiymDxZSB6ShxgQA2JADDSFASm4PaDgAsb3m5KL0FkhleMXr4uQ3KIpg0311I1BDIgBMSAGxEA1DEjB7REFFwMKjmczLTFD08uK9VujDysMmBT7Hhq7uiFWc0OUnCVnMRAOA1Jwe/Am+bYLByeykDVN0b1pcHN0qNnaPnq6Vm01CYczCasv1ZdiQAyIAT4DUnB7UMHFQNrR/h1iaXRvHt7stZ4Lo4pzLabvOy8a0oplj7KqiZ8/8UumkqkYEAOhMyAFV0pD9IqzV0dHLxyLFq3xR9kdGt8awcb2pbNWSbEVo2JADIgBMSAGxEBXDEjBFTCTgNn9nNXRsTevjeYNbIrWbKrOKe3O0S3RlLvWR4dfMxK9yuqAFebQny7VPvWxGBADYkAMiIFyGJCCK0WqrSK5qzmm7WURGI6y9LfTLZEC7GCh+HabPwKq8vD4tuiesS3RDYObojnLx6Of37o2+tClw9EzT13Ztg4a/OUMfslVchUDYkAMiIFQGZCCKwU3t3L5+JMHomeftjJ6iZkRvO681dHbZw9NxNzd3yIc7DFnKHrDXwaj3eyzp85cGT18miaRUCcRtUtsiwExIAbEgG8MSMGVgptbwfUNZtVHE6wYEANiQAyIATEABqTgSsGVgisGxIAYEANiQAyIgaAYkIIroIMCWk/uenIXA2JADIgBMSAGpOBKwZWCKwbEgBgQA2JADIiBoBiQgiuggwJaT+16ahcDYkAMiAExIAak4ErBlYIrBsSAGBADYkAMiIGgGJCCK6CDAlpP7XpqFwNiQAyIATEgBqTgSsGVgisGxIAYEANiQAyIgaAYkIIroIMCWk/temoXA2JADIgBMSAGpOBKwZWCKwbEgBgQA2JADIiBoBiQgiuggwJaT+16ahcDYkAMiAExIAak4ErBlYIrBsSAGBADYkAMiIGgGJCCK6CDAlpP7XpqFwNiQAyIATEgBqTgSsGVgisGxIAYEANiQAyIgaAYkIIroIMCWk/temoXA2JADIgBMSAGpOBKwZWCKwbEgBgQA2JADIiBoBiQgiuggwJaT+16ahcDYkAMiAExIAak4ErBlYIrBsSAGBADYkAMiIGgGJCCK6CDAlpP7XpqFwNiQAyIATEgBqTgSsGVgisGxIAYEANiQAyIgaAYkIIroIMCWk/temoXA2JADIgBMSAGpOBKwZWCKwbEgBgQA2JADIiBoBiQgiuggwJaT+16ahcDYkAMiAExIAak4ErBlYIrBsSAGBADYkAMiIGgGJCCK6CDAlpP7XpqFwNiQAyIATEgBqTgSsGVgisGxIAYEANiQAyIgaAYkIIroIMCWk/temoXA2JADIgBMSAGpOBKwZWCKwbEgBgQA2JADIiBoBiQgiuggwJaT+16ahcDYkAMiAExIAb6dpjaPyYQBIIYEANiQAyIATEgBsRACAxAt+3bYUr/khAaozZoUIoBMSAGxIAYEANiQAxAt8UK7izBIBjEgBgQA2JADIgBMSAGQmAAum1f34krjgihMWqDBqUYEANiQAyIATEgBsQAdNu+vilL3ywYBIMYEANiQAyIATEgBsRACAxAt+3rO37RTiE0Rm3QoBQDYkAMiAExIAbEgBiAbtuHssPUFQsEhIAQA2JADIgBMSAGxIAYaDID0GknlNuJ/6Yuf2+TG6O6azCKATEgBsSAGBADYkAM9JlO+5CCe8CpOyoerqDQxCAGxIAYEANiQAyIgaYyMBH/1nTahxRcHP25/8CmNkj11mAUA2JADIgBMSAGxEBvMwBddrJyu/3dDkr60NtgaGJQ/4sBMSAGxIAYEANNZGAiuYO5lbVScPvMbuF5TWyU6qzBKAbEgBgQA2JADIiB3mUAOmxr5Tb+64nLPiZAehcQ9b36XgyIATEgBsSAGGgSA32mu8ZqbNvXh01ZcXSTGqa6aiCKATEgBsSAGBADYqAHGTCdta1Sm/xQSm4PQjJVbdbkKAbEgBgQA2JADDSEgW6V278ruzJXiAR5QyCXci5WxYAYEANiQAz0DAOZzRL+rtQmD8xoV9EVpORJ0RcDYkAMiAExIAbEQN0MTERL6OhQllRm09/vgNhiSgYhsOsGW9cXg2JADIgBMSAGeo+BiSQO2+PcpoQCS1diO3+C7BCWAg15fgVX78GlPlefiwExIAbEgBgQA1UyAJ1zIv3uP2Qo66y25vvG8Yt26puy9M19J644wrTqWVgy1gqvoK8Sel1LvIkBMSAGxIAYCIMB6JB/0yVnQbec0DGha+Ys/w8qlqaVljEaeQAAAABJRU5ErkJggg==",
        "size": 25924
    }
}

Turning on the flashlight -> Drawing -> Turning on the flashlight.

{"flashlightEnable":true}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 0,
        "x": 200000,
        "y": 200000,
        "shapeType": 10,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 0,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 1,
        "x": 300000,
        "y": 300000,
        "shapeType": 10,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 100,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{
    "eventType": 0,
    "noteMode": false,
    "action": {
        "actionType": 2,
        "x": 500000,
        "y": 500000,
        "shapeType": 10,
        "lineWidth": 1,
        "strokeColor": 3978044671,
        "fillColor": 3978044671,
        "useStroke": true,
        "timeStamp": 200,
        "pressure": 1000000,
        "inkStyle": 0,
        "inkDuration": 100
    }
}
{"flashlightEnable":false}

Cleaning annotations -> Undoing

{
    "eventType": 3,
    "operationType": 2,
    "noteMode": false
}
{
    "eventType": 3,
    "operationType": 0,
    "noteMode": false
}
Output Example
{
"event":4001,
"info":{
    "statusType":2003
    }
}

5. Error Code

Standard WebSocket connection errors. For other error codes, see Common Error Codes.

results matching ""

    No results matching ""