Compare commits

...

126 Commits

Author SHA1 Message Date
27f5411404 0.5.26 2016-10-20 08:29:16 -07:00
f53eab0539 Bump pxt-core to 0.4.67 2016-10-20 08:29:11 -07:00
445fe12629 0.5.25 2016-10-19 19:11:13 +02:00
ddd6e90c6d Merge remote-tracking branch 'origin/master' 2016-10-19 19:08:52 +02:00
fd14ba6ff1 fix touch pins, add test for buttons and pins, update dependency 2016-10-19 19:08:41 +02:00
28a8f21d40 merging ble changes 2016-10-18 21:55:02 -07:00
0f7323f2da 0.4.55 2016-10-18 21:52:38 -07:00
23d30484d4 updated docs page 2016-10-18 21:52:10 -07:00
6ad59e04a6 fixed uart issues 2016-10-18 21:47:54 -07:00
ae5d5c74a7 better support for BLE UART and alignment with serial blocks. (#276)
* aligning uart apis with serial

* reorganizing serial/bluetooth blocks

* Autoupdate configuration for UART. (#279)

* Autoupdate configuration for UART.

* removing serial autoupdates.
2016-10-18 21:36:42 -07:00
3f626105cd 0.5.24 2016-10-18 21:07:02 -07:00
d9ff9c4800 Bump pxt-core to 0.4.65 2016-10-18 21:07:00 -07:00
75baca4a97 0.4.54 2016-10-18 21:03:36 -07:00
58ae4945cb Bump pxt-core to 0.4.65 2016-10-18 21:03:34 -07:00
fba37d96b2 updated localization help 2016-10-18 13:19:46 -07:00
31998fec05 0.5.23 2016-10-18 13:18:45 -07:00
342aa3ca32 Bump pxt-core to 0.4.63 2016-10-18 13:18:43 -07:00
5eb8704382 0.4.53 2016-10-18 13:18:20 -07:00
81b66664ef Bump pxt-core to 0.4.63 2016-10-18 13:18:19 -07:00
9b599b6242 0.5.22 2016-10-18 16:56:58 +02:00
e5e63c548f update dal defines 2016-10-18 16:56:42 +02:00
f3eb9a988f update dependencies 2016-10-18 16:56:15 +02:00
e7e2ff7752 gesture updates 2016-10-18 16:40:53 +02:00
f10ac93268 add handling of gestures (we only have 2g, 6g ... no 3g), add mac/idea ignored files 2016-10-18 15:44:49 +02:00
47f46553e0 fix name of board 2016-10-18 15:43:52 +02:00
3158e95cde 0.5.21 2016-10-17 21:39:08 -07:00
854029fe33 updated board name 2016-10-17 21:38:58 -07:00
1b379bddd0 0.5.20 2016-10-17 21:35:07 -07:00
9495da9a53 0.5.19 2016-10-17 21:25:11 -07:00
128b3f2f51 Bump pxt-core to 0.4.62 2016-10-17 21:25:08 -07:00
a331a017b8 merged microbit changes 2016-10-17 13:36:54 -07:00
5cce86ec7e 0.5.18 2016-10-17 10:54:19 -07:00
65e01dc0df Bump pxt-core to 0.4.59 2016-10-17 10:54:17 -07:00
7aeb216462 0.5.17 2016-10-16 20:26:19 -07:00
543659b0e8 specifying pin positions 2016-10-16 20:25:55 -07:00
a2b5ff68af 0.5.16 2016-10-16 20:09:30 -07:00
b968d3b1de fixing simulator in IE11 2016-10-16 20:09:13 -07:00
4dbebe3e15 fixing logo in IE11 2016-10-16 09:28:30 -07:00
3b95fede48 optimizing logo 2016-10-16 09:19:40 -07:00
971faed80a 0.5.15 2016-10-14 21:56:38 -07:00
02a58caf7a Bump pxt-core to 0.4.58 2016-10-14 21:56:37 -07:00
912e2e6159 enabling inverted menu 2016-10-14 11:32:00 -07:00
e834ae0656 0.5.14 2016-10-14 08:04:04 -07:00
175923fcb9 updated logos 2016-10-14 08:00:34 -07:00
42ebdde3df 0.5.13 2016-10-14 07:48:36 -07:00
20c63359af hiding microsoft logo 2016-10-14 07:48:23 -07:00
841f3dc7d6 0.5.12 2016-10-14 07:35:12 -07:00
f7377f6a21 Bump pxt-core to 0.4.57 2016-10-14 07:35:09 -07:00
1104ab5b33 updated logos 2016-10-14 07:21:50 -07:00
e2fe660012 towards pin placement 2016-10-14 06:46:56 -07:00
7d4b800637 identifying and naming pins 2016-10-13 23:53:24 -07:00
746728759d setting default locale to German 2016-10-13 10:21:56 -07:00
3d3b9e2718 Bump pxt-core to 0.4.56 2016-10-13 10:06:10 -07:00
0459cd693d 0.5.11 2016-10-13 16:58:33 +02:00
9c43714126 fix dependency 2016-10-13 16:58:14 +02:00
9bf7459628 0.5.10 2016-10-13 16:30:38 +02:00
b52432e103 update dependency 2016-10-13 16:26:30 +02:00
3ac0a060dd added pin mapping 2016-10-13 11:16:10 +02:00
85ebbb28e3 0.5.9 2016-10-12 23:52:47 -07:00
f69db3faf7 Bump pxt-core to 0.4.55 2016-10-12 23:52:45 -07:00
4fc514e643 updated screen rendering 2016-10-12 23:40:33 -07:00
7c2512e56b fixing thermometer 2016-10-12 23:30:19 -07:00
d9eebf4a9f support for light level / thermometer simulation 2016-10-12 23:14:38 -07:00
8af383ec56 updated svg layout 2016-10-12 22:44:05 -07:00
573d7aff40 add svg with pins and connectors id-ed 2016-10-12 23:07:55 +02:00
f73274803c 0.5.8 2016-10-12 18:57:05 +02:00
63556ef14a update dependency 2016-10-12 18:56:51 +02:00
9607183587 0.5.7 2016-10-12 18:02:23 +02:00
4cca961e52 latest version with RGB led support 2016-10-12 18:02:16 +02:00
c2a1668d55 Merge remote-tracking branch 'origin/master' 2016-10-12 17:54:39 +02:00
7102eddc0b add color handling for LED 2016-10-12 17:54:25 +02:00
b34884fe00 updated readme 2016-10-12 08:13:15 -07:00
e768a4dc97 updated links 2016-10-12 08:11:05 -07:00
8b1b1bb869 0.5.6 2016-10-12 04:50:08 -07:00
57deb1749f Bump pxt-core to 0.4.54 2016-10-12 04:50:06 -07:00
fb82b94f69 0.5.5 2016-10-12 04:03:19 -07:00
d321170da9 Bump pxt-core to 0.4.53 2016-10-12 04:03:17 -07:00
dff4f3adb3 basic motor block support 2016-10-11 22:58:53 -07:00
5d8a1b69f6 0.5.4 2016-10-11 19:42:10 -07:00
0b0c2c9466 merged latest pxt 2016-10-11 19:41:59 -07:00
9319f10430 0.5.3 2016-10-11 11:43:38 -07:00
c4787e1028 support for rgb led in simulator 2016-10-11 11:41:51 -07:00
cb280af783 fix json in libs/hello 2016-10-11 10:13:30 -07:00
4201cb3070 0.5.2 2016-10-11 09:34:26 -07:00
ec7bade8f4 missed file in previous move 2016-10-11 09:21:24 -07:00
d738d8bbf5 0.5.1 2016-10-11 09:14:47 -07:00
a8b1e0bc04 bumping version number 2016-10-11 09:14:32 -07:00
114b7958bc 0.4.32 2016-10-11 09:13:05 -07:00
f45ae5950c 0.4.31 2016-10-11 09:09:25 -07:00
4cdfaf06c0 0.4.30 2016-10-11 09:08:41 -07:00
d48404eb37 integrated pxt-microbit 2016-10-11 09:08:31 -07:00
f4ac599ec2 Bump pxt-core to 0.4.51 2016-10-11 09:05:10 -07:00
a783cdda92 0.4.29 2016-10-11 13:33:35 +02:00
5900c8c9f5 update dependency 2016-10-11 13:32:42 +02:00
3911c6522d integrate pxt-microbit changes 2016-10-10 14:43:33 -07:00
00cdb6f9f5 0.4.28 2016-10-10 13:35:54 -07:00
df14445320 updated travis file 2016-10-10 13:34:24 -07:00
553b692a9a 0.4.27 2016-10-10 13:19:17 -07:00
7f2fd0dd09 positioning systemled 2016-10-10 13:16:39 -07:00
ae6917c7b3 0.4.26 2016-10-10 13:03:20 -07:00
5c1d9a342b updated to core v0.5.4 2016-10-10 13:03:08 -07:00
d41724d239 0.4.25 2016-10-10 12:58:42 -07:00
d6a006d18f Bump pxt-core to 0.4.48 2016-10-10 11:25:24 -07:00
cace68acf4 updated hello sample 2016-10-10 11:20:25 -07:00
68ef7c2fc2 fix initialization of Accelerometer (delayed in uBit.init()), enable DAL debugging 2016-10-08 15:15:01 +02:00
4c502f0825 bump pxt-calliope-core dependency 2016-10-08 12:23:29 +02:00
a2f1cef9ae Merge branch 'master' of github.com:Microsoft/pxt-calliope 2016-10-07 11:39:31 -07:00
e857a94e04 0.4.24 2016-10-07 18:48:34 +02:00
42a93a1682 updated accent color 2016-10-03 18:54:07 -07:00
e983c76e2f Remove unneeded tests 2016-10-03 11:15:49 -07:00
ced4565d5c 0.4.23 2016-10-01 15:52:41 -07:00
2475058b94 0.4.22 2016-10-01 15:45:43 -07:00
c6ee0db81c Bump pxt-core to 0.4.39 2016-10-01 15:45:41 -07:00
1b96e6332a 0.4.21 2016-10-01 21:02:36 +02:00
1ceec1d3b4 0.4.20 2016-10-01 20:59:44 +02:00
2e9ddb48df 0.4.19 2016-10-01 20:58:45 +02:00
2296220ad7 updated logos 2016-09-29 16:23:37 -07:00
22864bd26a pointing to cloud compile service 2016-09-29 16:13:33 -07:00
574a9e01d5 updating pinmap 2016-09-29 15:25:57 -07:00
00278036a4 fixing pin mapping 2016-09-29 15:20:45 -07:00
4b583e221b limited support for RGB led 2016-09-27 13:35:48 -07:00
c88645d0cd support for AB / Shake buttons 2016-09-27 11:00:21 -07:00
14e8eabd25 updated simulator ratio, domain names 2016-09-27 09:35:52 -07:00
5fab789763 merging microbit 2016-09-26 22:00:04 -07:00
33eca3c507 tweaked colors 2016-09-26 15:10:37 -07:00
9ccfcf19d9 initial round of visual updates 2016-09-26 15:05:06 -07:00
55 changed files with 4514 additions and 1106 deletions

4
.gitignore vendored
View File

@ -24,3 +24,7 @@ clients/electron/projects
*.db
*.suo
*.log
.DS_Store
.idea
*.iml

View File

@ -3,17 +3,12 @@ node_js:
- "5.7.0"
script:
- "node node_modules/pxt-core/built/pxt.js travis"
- "(cd libs/lang-test0; node ../../node_modules/pxt-core/built/pxt.js run)"
- "(cd libs/lang-test1; node ../../node_modules/pxt-core/built/pxt.js run)"
- "(cd libs/lang-test0; node ../../node_modules/pxt-core/built/pxt.js test)"
- "(cd libs/lang-test1; node ../../node_modules/pxt-core/built/pxt.js test)"
- "node node_modules/pxt-core/built/pxt.js testdir tests"
- "node node_modules/pxt-core/built/pxt.js uploaddoc"
- "(cd libs/hello; node ../../node_modules/pxt-core/built/pxt.js testconv https://az851932.vo.msecnd.net/files/td-converter-tests-v1.json)"
sudo: false
notifications:
email:
- touchdevelop-build@microsoft.com
- kindscript@microsoft.com
cache:
directories:
- node_modules

View File

@ -1,11 +1,11 @@
# micro:bit target for PXT
# Calliope target for PXT
This target allow to program a [BBC micro:bit](https://www.microbit.co.uk/) using
This target allow to program a [Calliope](http://calliope.cc/) using
PXT ([Microsoft Programming Experience Toolkit](https://github.com/Microsoft/pxt)).
* [Try it live](https://codethemicrobit.com)
[![Build Status](https://travis-ci.org/Microsoft/pxt-calliope.svg?branch=master)](https://travis-ci.org/Microsoft/pxt-calliope)
[![Build Status](https://travis-ci.org/Microsoft/pxt-microbit.svg?branch=master)](https://travis-ci.org/Microsoft/pxt-microbit)
![](http://calliope.cc/content/1-ueber-mini/mini_board.png)
## Local server
@ -18,8 +18,8 @@ The following commands are a 1-time setup after synching the repo on your machin
* if not yet installed, install [Node.js 4.4.5 or higher](https://nodejs.org/en/download/)
* [clone this repo](https://help.github.com/articles/cloning-a-repository/) to your computer and go in the project folder
```
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
git clone https://github.com/microsoft/pxt-calliope
cd pxt-calliope
```
* install the PXT command line (add ``sudo`` for Mac/Linux shells).
```
@ -32,14 +32,15 @@ npm install
### Running
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells)
Run this command to open a local web server (add ``sudo`` for Mac/Linux shells).
```
pxt serve
```
If the local server opens in the wrong browser, make sure to copy the URL containing the local token.
Otherwise, the editor will not be able to load the projects.
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells):
If you need modify the `.cpp` files, turn on yotta compilation with the ``-yt`` flag (add ``sudo`` for Mac/Linux shells). On Windows, you must be running
from the ``Run Yotta`` command prompt.
```
pxt serve -yt
```
@ -53,11 +54,6 @@ pxt update
More instructions at https://github.com/Microsoft/pxt#running-a-target-from-localhost
### Building
* Install Visual Studio 2015 Update 2 or higher. Make sure the Windows 10 templates are installed.
* open the ``win10/app.sln`` solution and launch the ``codethemicrobit`` project.
## Testing
The build automatically runs the following:
@ -66,7 +62,6 @@ The build automatically runs the following:
* `pxt run` in `libs/lang-test*` - this will run the test in command line runner;
there is a number of asserts in both of these
* `pxt testdir` in `tests` - this makes sure all the files compile and generates .hex files
* run the TD->TS converter on a number of test scripts from `microbit.co.uk` and make sure the results compile
To test something on the device:

View File

@ -5,7 +5,8 @@
### Things to do
* **[Getting Started](/getting-started)**
* [Ten projects](/projects)
* [Projects](/projects)
* [Lessons](/lessons)
### Micro:bit reference
@ -16,16 +17,15 @@
* [Blocks language](/blocks)
* [JavaScript language](/javascript)
* [Streaming data](/streaming)
### More questions?
* [Frequently Asked Question](/faq)
* [Embedding project](/share)
* [Help Translate](/translate)
* [Release notes](/release-notes)
* [Embedding project](/share)
### Developers
* [Command Line Interface](/cli)
* Learn about [packages](/packages)
* [Release notes](/release-notes)

View File

@ -2,6 +2,14 @@
Support for additional Bluetooth services.
### ~hint
![](/static/bluetooth/Bluetooth_SIG.png)
For another device like a smartphone to use any of the Bluetooth "services" which the micro:bit has, it must first be [paired with the micro:bit](/reference/bluetooth/bluetooth-pairing). Once paired, the other device may connect to the micro:bit and exchange data relating to many of the micro:bit's features.
### ~
```cards
bluetooth.startAccelerometerService();
bluetooth.startButtonService();
@ -9,20 +17,34 @@ bluetooth.startIOPinService();
bluetooth.startLEDService();
bluetooth.startMagnetometerService();
bluetooth.startTemperatureService();
bluetooth.uartRead("");
bluetooth.uartWrite("");
bluetooth.onBluetoothConnected(() => {
});
bluetooth.onBluetoothDisconnected(() => {
});
bluetooth.onBluetoothConnected(() => {});
bluetooth.onBluetoothDisconnected(() => {});
```
## UART
```cards
bluetooth.startUartService();
bluetooth.uartReadUntil("");
bluetooth.uartWriteString("");
bluetooth.uartWriteNumber(0);
bluetooth.uartWriteValue("", 0);
```
```package
microbit-bluetooth
```
### Advanced
For more advanced information on the micro:bit Bluetooth UART service including information on using a smartphone, see the [Lancaster University micro:bit runtime technical documentation](http://lancaster-university.github.io/microbit-docs/ble/uart-service/)
### See Also
[startAccelerometerService](/reference/bluetooth/start-accelerometer-service), [startButtonService](/reference/bluetooth/start-button-service), [startIOPinService](/reference/bluetooth/start-io-pin-service), [startLEDService](/reference/bluetooth/start-led-service), [startMagnetometerService](/reference/bluetooth/start-magnetometer-service), [startTemperatureService](/reference/bluetooth/start-temperature-service), [uartRead](/reference/bluetooth/uart-read), [uartWrite](/reference/bluetooth/uart-write), [onBluetoothConnected](/reference/bluetooth/on-bluetooth-connected), [onBluetoothDisconnected](/reference/bluetooth/on-bluetooth-disconnected)
[startAccelerometerService](/reference/bluetooth/start-accelerometer-service), [startButtonService](/reference/bluetooth/start-button-service), [startIOPinService](/reference/bluetooth/start-io-pin-service), [startLEDService](/reference/bluetooth/start-led-service), [startMagnetometerService](/reference/bluetooth/start-magnetometer-service), [startTemperatureService](/reference/bluetooth/start-temperature-service),
[startUartService](/reference/bluetooth/start-uart-service),
[uartReadUntil](/reference/bluetooth/uart-read-until),
[uartWriteString](/reference/bluetooth/uart-write-string),
[uartWriteNumber](/reference/bluetooth/uart-write-number),
[uartWriteValue](/reference/bluetooth/uart-write-value),
[onBluetoothConnected](/reference/bluetooth/on-bluetooth-connected), [onBluetoothDisconnected](/reference/bluetooth/on-bluetooth-disconnected)

View File

@ -12,7 +12,7 @@ The [Bluetooth UART service](start-uart-service.md) allows another device such a
With the Bluetooth UART service running, this block allows a micro:bit to read data which has been received from a Bluetooth connected device, terminating reading and returning the value obtained as soon as a specified delimiter character is encountered. This means that connected devices can send data to the micro:bit and indicate that the complete message has been sent by appending the message with the delimiter character.
```sig
bluetooth.uartRead("");
bluetooth.uartReadUntil("");
```
### Example: Starting the Bluetooth UART service and then reading data received from another device which is terminated by ":" character and then displaying it
@ -25,7 +25,7 @@ bluetooth.onBluetoothConnected(() => {
basic.showString("C");
connected = 1;
while (connected == 1) {
uartData = bluetooth.uartRead(":");
uartData = bluetooth.uartReadUntil(":");
basic.showString(uartData);
}
});

View File

@ -0,0 +1,28 @@
# UART Write Number
### ~hint
![](/static/bluetooth/Bluetooth_SIG.png)
For another device like a smartphone to use any of the Bluetooth "services" which the micro:bit has, it must first be [paired with the micro:bit](/reference/bluetooth/bluetooth-pairing). Once paired, the other device may connect to the micro:bit and exchange data relating to many of the micro:bit's features.
### ~
The [Bluetooth UART service](/reference/bluetooth/start-uart-service.md) allows another device such as a smartphone to exchange any data it wants to with the micro:bit, in small chunks.
With the Bluetooth UART service running, this block allows a micro:bit to send data to a Bluetooth connected device.
```sig
bluetooth.uartWriteNumber(42);
```
### Advanced
For more advanced information on the micro:bit Bluetooth UART service including information on using a smartphone, see the [Lancaster University micro:bit runtime technical documentation](http://lancaster-university.github.io/microbit-docs/ble/uart-service/)
### See also
[About Bluetooth](/reference/bluetooth/about-bluetooth), [micro:bit Bluetooth profile overview ](http://lancaster-university.github.io/microbit-docs/ble/profile/), [micro:bit Bluetooth profile reference](http://lancaster-university.github.io/microbit-docs/resources/bluetooth/microbit-profile-V1.9-Level-2.pdf), [Bluetooth on micro:bit resources](http://bluetooth-mdw.blogspot.co.uk/p/bbc-microbit.html), [Bluetooth SIG](https://www.bluetooth.com)
```package
microbit-bluetooth
```

View File

@ -1,4 +1,4 @@
# UART Write
# UART Write String
### ~hint
![](/static/bluetooth/Bluetooth_SIG.png)
@ -7,12 +7,12 @@ For another device like a smartphone to use any of the Bluetooth "services" whic
### ~
The [Bluetooth UART service](start-uart-service.md) allows another device such as a smartphone to exchange any data it wants to with the micro:bit, in small chunks.
The [Bluetooth UART service](/reference/bluetooth/start-uart-service.md) allows another device such as a smartphone to exchange any data it wants to with the micro:bit, in small chunks.
With the Bluetooth UART service running, this block allows a micro:bit to send data to a Bluetooth connected device.
```sig
bluetooth.uartWrite("");
bluetooth.uartWriteString("");
```
### Example: Starting the Bluetooth UART service and then sending "HELLO" whenever button A is pressed and another device has connected over Bluetooth
@ -29,7 +29,7 @@ bluetooth.onBluetoothDisconnected(() => {
});
input.onButtonPressed(Button.A, () => {
if (connected == 1) {
bluetooth.uartWrite("HELLO");
bluetooth.uartWriteString("HELLO");
}
});
```

View File

@ -0,0 +1,28 @@
# UART Write Value
### ~hint
![](/static/bluetooth/Bluetooth_SIG.png)
For another device like a smartphone to use any of the Bluetooth "services" which the micro:bit has, it must first be [paired with the micro:bit](/reference/bluetooth/bluetooth-pairing). Once paired, the other device may connect to the micro:bit and exchange data relating to many of the micro:bit's features.
### ~
The [Bluetooth UART service](/reference/bluetooth/start-uart-service.md) allows another device such as a smartphone to exchange any data it wants to with the micro:bit, in small chunks.
With the Bluetooth UART service running, this block allows a micro:bit to send data to a Bluetooth connected device.
```sig
bluetooth.uartWriteValue("x", 42);
```
### Advanced
For more advanced information on the micro:bit Bluetooth UART service including information on using a smartphone, see the [Lancaster University micro:bit runtime technical documentation](http://lancaster-university.github.io/microbit-docs/ble/uart-service/)
### See also
[About Bluetooth](/reference/bluetooth/about-bluetooth), [micro:bit Bluetooth profile overview ](http://lancaster-university.github.io/microbit-docs/ble/profile/), [micro:bit Bluetooth profile reference](http://lancaster-university.github.io/microbit-docs/resources/bluetooth/microbit-profile-V1.9-Level-2.pdf), [Bluetooth on micro:bit resources](http://bluetooth-mdw.blogspot.co.uk/p/bbc-microbit.html), [Bluetooth SIG](https://www.bluetooth.com)
```package
microbit-bluetooth
```

17
docs/static/Calliopeminieditor.svg vendored Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" width="179.9" height="32.4" viewBox="0 0 179.9 32.4">
<path fill="#495260" d="M33.1 11.2h-8.5V5.8c0-2.3 1.9-4.2 4.2-4.2 2.3 0 4.2 1.9 4.2 4.2v5.4z"/>
<path fill="#7F96A1" d="M25.8 3.6H32v7.6h-6.2z"/>
<path fill="#845B32" d="M12.2 7.2V18h12.5V7.2c0-3.4-2.8-6.2-6.2-6.2s-6.3 2.8-6.3 6.2z"/>
<path fill="#26A7AA" d="M28.9 31.4H8.7c-6.3 0-9-8-4-11.8L16 11.2h17.1v16c0 2.3-1.9 4.2-4.2 4.2z"/>
<path fill="#43C9C9" d="M15.2 17.7l-8.8.7 10.7-8"/>
<path fill="#F6F4E7" d="M14.8 15.1l2.3-4.7 1.5 4.7m0 0l1.4-4.7 2.3 4.7"/>
<path fill="#BDD1CF" d="M21.9 17.7h-6.7l-.4-2.6h7.5"/>
<path fill="#F6F4E7" d="M26.8 31.4c-.6-4.6-1.9-10.2-4.8-13.7h-6.8c-3 3.5-4.2 9.1-4.8 13.7h16.4z"/>
<path fill="#FFCD9A" d="M18.6 10.5c-1.4 0-2.6-1.2-2.6-2.6V5h5.1v2.9c0 1.5-1.1 2.6-2.5 2.6z"/>
<path fill="#BDD1CF" d="M15.4 31.4V17.7c2.2 5.1 4.9 11.3 8.2 13.7h-8.2z"/>
<path fill="#FFCD9A" d="M17.1 10.4l1.5 4.7 1.4-4.7"/>
<path fill="#43C9C9" d="M25.8 11.2h7.3v9.4"/>
<path fill="#BCD1CF" d="M52.3 15.1h-1.6l-.2-1.4c-.2-.2-.5-.4-.8-.5s-.7-.2-1.2-.2c-.9 0-1.7.3-2.2 1s-.8 1.6-.8 2.7v.4c0 1.1.3 2 .8 2.7.5.7 1.2 1 2.1 1 .4 0 .8-.1 1.2-.2.4-.1.6-.3.8-.5l.2-1.4h1.6v2.1c-.4.5-1 .9-1.7 1.2-.7.3-1.4.5-2.3.5-1.5 0-2.6-.5-3.6-1.5s-1.4-2.3-1.4-3.9v-.4c0-1.6.5-2.9 1.4-3.9s2.1-1.5 3.6-1.5c.8 0 1.6.2 2.3.5.7.3 1.2.7 1.7 1.2v2.1zm1.5 5.9l.8-.1 3.3-9.4h2.2l3.3 9.4.8.1v1.3h-3.7V21l.8-.1-.5-1.5h-3.5l-.5 1.5.8.1v1.3h-3.7V21zm3.9-3.2h2.5L59 14l-1.3 3.8zm7.8 4.5V21l1.2-.2V13l-1.2-.2v-1.3H70v1.3l-1.2.2v7.6h3.1l.1-1.4h1.7v3h-8.2zm9.5 0V21l1.2-.2V13l-1.2-.2v-1.3h4.6v1.3l-1.3.2v7.6h3.1l.1-1.4h1.7v3H75zm9.5-9.5v-1.3H89v1.3l-1.1.2v7.8l1.1.2v1.3h-4.5V21l1.2-.2V13l-1.2-.2zm15.9 4.2c0 1.6-.5 2.9-1.4 3.9-.9 1-2.1 1.6-3.6 1.6s-2.6-.5-3.5-1.6-1.4-2.3-1.4-3.9v-.2c0-1.6.4-2.9 1.3-3.9s2.1-1.6 3.5-1.6c1.5 0 2.7.5 3.6 1.6s1.4 2.4 1.4 3.9v.2zm-2.2-.2c0-1.1-.2-2-.7-2.7s-1.2-1-2.1-1-1.6.3-2 1-.7 1.6-.7 2.7v.2c0 1.1.2 2.1.7 2.8.5.7 1.1 1 2 1 .9 0 1.6-.3 2.1-1s.7-1.6.7-2.8v-.2zm8.8-5.3c1.2 0 2.2.3 2.9 1S111 14 111 15s-.4 1.9-1.1 2.5c-.7.6-1.7.9-2.9.9h-1.8v2.4l1.2.2v1.3h-4.5V21l1.2-.2V13l-1.2-.2v-1.3h5.1zm-1.8 5.2h1.8c.6 0 1.1-.2 1.4-.5s.5-.8.5-1.3-.2-1-.5-1.3c-.3-.3-.8-.5-1.4-.5h-1.8v3.6zm14.1.9h-3.7v3.1h3.5l.1-1.3h1.7v3h-8.6V21l1.2-.2V13l-1.2-.2v-1.3h8.6v3h-1.7l-.1-1.3h-3.5v2.7h3.7v1.7z"/>
<path fill="#FFF" d="M134.3 11.6l.1 1.1c.2-.4.5-.7.9-1 .4-.2.8-.4 1.3-.4s.8.1 1.1.3c.3.2.5.5.7.8.2-.3.5-.6.8-.8.3-.2.7-.3 1.2-.3.4 0 .7.1 1 .2.3.1.5.3.8.6.2.3.4.6.5 1 .1.4.2.9.2 1.4v7.8h-2.2v-7.9c0-.4-.1-.7-.3-.9-.2-.2-.4-.2-.7-.2-.3 0-.5.1-.6.2s-.3.3-.3.5v8.3h-2.2v-7.9c0-.4-.1-.7-.3-.9-.2-.2-.4-.3-.7-.3-.3 0-.5.1-.7.2-.2.1-.3.3-.4.5v8.3h-2.2V11.6h2zm11.3 0h5.7v8.8h3.2v2h-8.9v-2h3.3v-6.8h-3.3v-2zm3.1-2.8c0-.4.1-.7.4-.9.2-.2.6-.4 1-.4s.8.1 1 .4c.2.2.4.5.4.9s-.1.7-.4.9c-.2.2-.6.4-1 .4s-.8-.1-1-.4c-.2-.2-.4-.5-.4-.9zm10.7 2.8l.1 1.5c.4-.5.9-1 1.4-1.2.6-.3 1.2-.4 1.8-.4.5 0 1 .1 1.5.2.5.2.8.4 1.2.7.3.3.6.8.8 1.3.2.5.3 1.2.3 1.9v6.7h-2.4v-6.7c0-.4-.1-.8-.2-1.1-.1-.3-.2-.5-.4-.7-.2-.2-.4-.3-.7-.4-.3-.1-.6-.1-.9-.1-.5 0-1 .1-1.4.3-.4.2-.7.5-.9.9v7.7h-2.4V11.6h2.2zm10.6 0h5.7v8.8h3.2v2H170v-2h3.3v-6.8H170v-2zm3.1-2.8c0-.4.1-.7.4-.9.2-.2.6-.4 1-.4s.8.1 1 .4c.2.2.4.5.4.9s-.1.7-.4.9c-.2.2-.6.4-1 .4s-.8-.1-1-.4c-.3-.2-.4-.5-.4-.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

145
docs/static/Logo_Calliope_Woman.svg vendored Normal file
View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 175.49999 172.4"
enable-background="new 0 0 841.9 595.3"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_Woman.svg"
width="175.5"
height="172.39999"><metadata
id="metadata5011"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs5009" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview5007"
showgrid="false"
inkscape:zoom="0.34208337"
inkscape:cx="420.95001"
inkscape:cy="297.64999"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g4955"
transform="translate(-260.90025,-204.1)"><g
id="g4957"><defs
id="defs4959"><rect
id="SVGID_7_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_1_"><use
xlink:href="#SVGID_7_"
overflow="visible"
id="use4963"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath></g><g
id="g4965"><defs
id="defs4967"><rect
id="SVGID_9_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_2_"><use
xlink:href="#SVGID_9_"
overflow="visible"
id="use4971"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath></g><g
id="g4973"><defs
id="defs4975"><rect
id="SVGID_11_"
x="193.10001"
y="204.10001"
width="318.29999"
height="256.29999" /></defs><clipPath
id="SVGID_3_"><use
xlink:href="#SVGID_11_"
overflow="visible"
id="use4979"
style="overflow:visible"
x="0"
y="0"
width="100%"
height="100%" /></clipPath><path
clip-path="url(#SVGID_3_)"
d="m 436.4,262 -47.9,0 0,-46 c 0,-4.7 3.8,-8.4 8.4,-8.4 l 31,0 c 4.7,0 8.4,3.8 8.4,8.4 l 0,46 z"
id="path4981"
inkscape:connector-curvature="0"
style="fill:#4a5261" /></g><rect
x="394.79999"
y="218.7"
width="35.099998"
height="43.200001"
id="rect4983"
style="fill:#8096a1" /><path
d="m 317.6,239.5 0,61 71,0.2 c 0,0 0,-57.3 0,-61 0,-19.5 -16.1,-35.6 -35.6,-35.6 -19.6,0 -35.4,15.8 -35.4,35.4"
id="path4985"
inkscape:connector-curvature="0"
style="fill:#855c33" /><path
d="m 412.4,376.5 -114.2,0 c -35.6,0 -50.9,-45.2 -22.6,-66.8 l 63.8,-47.8 96.9,0 0,90.7 c 0.1,13.2 -10.6,23.9 -23.9,23.9"
id="path4987"
inkscape:connector-curvature="0"
style="fill:#26a6ab" /><polygon
points="345.7,257.3 334.8,298.8 285.1,302.5 "
id="polygon4989"
style="fill:#42c9c9" /><polygon
points="354,283.8 332.5,283.8 345.7,257.3 "
id="polygon4991"
style="fill:#f7f5e8" /><polygon
points="375.4,283.8 354,283.8 362.2,257.3 "
id="polygon4993"
style="fill:#f7f5e8" /><polygon
points="373.1,298.8 334.8,298.8 332.5,283.8 375.4,283.8 "
id="polygon4995"
style="fill:#bdd1cf" /><path
d="m 400.6,376.5 c -3.5,-26.2 -10.6,-58 -27.3,-77.7 l -0.2,0 -19,0 -19,0 -0.2,0 c -16.7,19.8 -23.8,51.5 -27.3,77.7 l 93,0 z"
id="path4997"
inkscape:connector-curvature="0"
style="fill:#f7f5e8" /><path
d="m 357,258 -6.1,0 c -6.4,0 -11.5,-5.2 -11.5,-11.5 l 0,-19.7 29.2,0 0,19.7 c -0.1,6.3 -5.3,11.5 -11.6,11.5"
id="path4999"
inkscape:connector-curvature="0"
style="fill:#ffcc99" /><path
d="m 335.8,376.5 0,-77.7 c 12.4,29.1 27.7,64.3 46.5,77.7 l -46.5,0 z"
id="path5001"
inkscape:connector-curvature="0"
style="fill:#bdd1cf" /><polygon
points="362.2,257.3 345.7,257.3 354,283.8 "
id="polygon5003"
style="fill:#ffcc99" /><polygon
points="436.4,315.3 394.8,262 436.4,262 "
id="polygon5005"
style="fill:#42c9c9" /></g></svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

179
docs/static/Logo_Calliope_lang.svg vendored Normal file
View File

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 525.21599 126.9"
enable-background="new 0 0 841.9 595.3"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_lang.svg"
width="525.216"
height="126.9"><metadata
id="metadata75"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs73" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1536"
inkscape:window-height="801"
id="namedview71"
showgrid="false"
inkscape:zoom="0.34208337"
inkscape:cx="420.95001"
inkscape:cy="297.64999"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g8135"
transform="translate(-183.18441,126.89999)"><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path3"
d="m 406.9,-38.099997 0.2,0 5.6,17 -11.1,0.1 5.3,-17.1 z m -4.9,-11.1 -14.3,42.2000002 -3.5,0.5 0.1,5.79999996 16.5,-0.1 -0.1,-5.79999996 -3.4,-0.6 2.1,-6.7000002 15.7,-0.1 2.2,6.6000002 -3.3,0.6 0,5.79999996 16.5,-0.19999996 0,-5.8 -3.5,-0.5 -15,-41.9000002 -10,0.2 z" /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon5"
points="440.1,287.9 445.2,288.8 445.6,323.5 440.4,324.6 440.5,330.4 476.9,330.1 476.7,316.5 469.3,316.6 468.9,322.7 455.3,322.8 454.9,288.7 460.1,287.7 460.1,281.8 454.9,281.9 445.2,282 440,282 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon7"
points="486.8,287.9 491.9,288.8 492.2,323.5 487.1,324.6 487.2,330.4 523.6,330.1 523.4,316.5 516,316.6 515.6,322.7 501.9,322.8 501.6,288.7 506.8,287.7 506.8,281.8 501.6,281.9 491.9,282 486.7,282 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon9"
points="553.8,324.4 548.6,323.5 548.3,288.7 553.5,287.7 553.4,281.8 533.4,282 533.4,287.9 538.6,288.8 538.9,323.5 533.8,324.6 533.8,330.4 553.9,330.2 " /><polygon
transform="translate(0,-330.99999)"
style="fill:#4a5261"
id="polygon11"
points="708.1,294.9 707.9,281.7 674.9,282 669.7,282 669.8,287.9 674.9,288.8 675.2,323.5 670.1,324.6 670.2,330.4 708.4,330.1 708.3,316.8 700.9,316.9 700.6,322.7 684.9,322.8 684.8,309 701.2,308.8 701.1,301.4 684.7,301.5 684.6,289.4 700.1,289.2 700.6,295 " /><g
transform="translate(0,-330.99999)"
id="g13"><g
id="g15"><defs
id="defs17"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_7_" /></defs><clipPath
id="SVGID_1_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use21"
overflow="visible"
xlink:href="#SVGID_7_" /></clipPath></g><g
id="g23"><defs
id="defs25"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_9_" /></defs><clipPath
id="SVGID_2_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use29"
overflow="visible"
xlink:href="#SVGID_9_" /></clipPath></g><g
id="g31"><defs
id="defs33"><rect
height="188.7"
width="234.3"
y="204.10001"
x="133.2"
id="SVGID_11_" /></defs><clipPath
id="SVGID_3_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use37"
overflow="visible"
xlink:href="#SVGID_11_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path39"
d="m 312.3,246.7 -35.3,0 0,-33.8 c 0,-3.4 2.8,-6.2 6.2,-6.2 l 22.9,0 c 3.4,0 6.2,2.8 6.2,6.2 l 0,33.8 z"
clip-path="url(#SVGID_3_)" /></g><rect
style="fill:#8096a1"
id="rect41"
height="31.799999"
width="25.799999"
y="214.8"
x="281.79999" /><path
style="fill:#855c33"
inkscape:connector-curvature="0"
id="path43"
d="m 224.9,230.1 0,44.9 52.3,0.2 c 0,0 0,-42.2 0,-44.9 0,-14.4 -11.8,-26.2 -26.2,-26.2 -14.4,0 -26.1,11.6 -26.1,26" /><path
style="fill:#26a6ab"
inkscape:connector-curvature="0"
id="path45"
d="m 294.7,331 -84.1,0 c -26.2,0 -37.4,-33.3 -16.6,-49.2 l 47,-35.2 71.3,0 0,66.8 c 0,9.8 -7.9,17.6 -17.6,17.6" /><polygon
style="fill:#42c9c9"
id="polygon47"
points="201,276.6 245.6,243.3 237.6,273.8 " /><polygon
style="fill:#f7f5e8"
id="polygon49"
points="245.6,243.3 251.7,262.7 235.9,262.7 " /><polygon
style="fill:#f7f5e8"
id="polygon51"
points="257.7,243.3 267.4,262.7 251.7,262.7 " /><polygon
style="fill:#bdd1cf"
id="polygon53"
points="267.4,262.7 265.7,273.8 237.6,273.8 235.9,262.7 " /><path
style="fill:#f7f5e8"
inkscape:connector-curvature="0"
id="path55"
d="m 286,331 c -2.6,-19.3 -7.8,-42.7 -20.1,-57.2 l -0.1,0 -14,0 -14,0 -0.1,0 c -12.3,14.5 -17.6,37.9 -20.1,57.2 l 68.4,0 z" /><path
style="fill:#ffcc99"
inkscape:connector-curvature="0"
id="path57"
d="m 253.9,243.8 -4.5,0 c -4.7,0 -8.5,-3.8 -8.5,-8.5 l 0,-14.5 21.5,0 0,14.5 c 0,4.7 -3.8,8.5 -8.5,8.5" /><path
style="fill:#bdd1cf"
inkscape:connector-curvature="0"
id="path59"
d="m 238.3,331 0,-57.2 c 9.1,21.4 20.4,47.3 34.2,57.2 l -34.2,0 z" /><polygon
style="fill:#ffcc99"
id="polygon61"
points="251.7,262.7 257.7,243.3 245.6,243.3 " /><polygon
style="fill:#42c9c9"
id="polygon63"
points="312.3,246.7 312.3,285.9 281.8,246.7 " /></g><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path65"
d="m 373.2,-33.499997 -7.2,0.1 -1.1,-6.4 c -1,-0.9 -2.2,-1.7 -3.6,-2.2 -1.5,-0.5 -3.2,-0.8 -5.1,-0.8 -4.2,0 -7.4,1.6 -9.7,4.7 -2.2,3.1 -3.3,7.1 -3.3,12 l 0,1.7 c 0,4.9 1.2,8.9 3.5,12 2.3,3.1000002 5.5,4.6000002 9.6,4.5000002 1.9,0 3.7,-0.3 5.2,-0.9 1.6,-0.6 2.8,-1.3000002 3.7,-2.3000002 l 0.9,-6.5 7.2,-0.1 0.1,9.6000002 c -1.9,2.3 -4.4,4.1 -7.4,5.5 -3,1.4 -6.4,2.09999996 -10.1,2.09999996 -6.5,0.1 -11.8,-2.09999996 -16,-6.59999996 -4.2,-4.5000002 -6.3,-10.2000002 -6.4,-17.3000002 l 0,-1.6 c -0.1,-7 1.9,-12.8 6,-17.4 4.1,-4.6 9.4,-6.9 15.9,-6.9 3.7,0 7.1,0.6 10.2,2 3,1.3 5.5,3.1 7.5,5.3 l 0.1,9.5 z" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path67"
d="m 598.7,-25.999997 c 0,-5 -1.1,-9.1 -3.2,-12.2 -2.1,-3.1 -5.2,-4.6 -9.3,-4.6 -4.1,0 -7.1,1.6 -9.1,4.7 -2,3.1 -2.9,7.2 -2.9,12.3 l 0,0.8 c 0,5.1 1.1,9.2 3.2,12.3 2.1,3.1000002 5.1,4.6000002 9.2,4.6000002 4.1,0 7.2,-1.6 9.2,-4.8000002 2,-3.1 3,-7.2 3,-12.3 l -0.1,-0.8 z m 9.7,0.7 c 0.1,7.1 -1.9,13 -5.9,17.6000002 -4,4.7 -9.3,6.99999996 -15.9,7.09999996 -6.5,0.1 -11.8,-2.19999996 -15.9,-6.79999996 -4.1,-4.6000002 -6.1,-10.4000002 -6.2,-17.5000002 l 0,-0.7 c -0.1,-7 1.9,-12.9 5.9,-17.6 4,-4.7 9.2,-7.1 15.8,-7.1 6.6,-0.1 11.9,2.2 16,6.8 4.1,4.6 6.2,10.4 6.3,17.5 l -0.1,0.7 z" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path69"
d="m 633.9,-25.799997 8.2,-0.1 c 2.7,0 4.7,-0.8 6.1,-2.3 1.4,-1.5 2,-3.4 2,-5.7 0,-2.3 -0.7,-4.2 -2.1,-5.7 -1.4,-1.5 -3.5,-2.2 -6.2,-2.2 l -8.2,0.1 0.2,15.9 z m 8,-23.4 c 5.5,0 9.9,1.3 13.2,4.1 3.2,2.8 4.9,6.5 4.9,11.1 0,4.6 -1.5,8.4 -4.7,11.2 -3.2,2.8 -7.5,4.3 -13.1,4.3 l -8.2,0.1 0.1,10.7000002 5.2,0.9 0,5.79999996 -20,0.2 -0.1,-5.79999996 5.1,-1 -0.3,-34.7000002 -5.2,-1 -0.1,-5.9 5.2,0 18,0 z" /></g></svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

228
docs/static/Logo_Calliope_norm.svg vendored Normal file
View File

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Ebene_1"
x="0px"
y="0px"
viewBox="0 0 234.4 188.6"
enable-background="new 0 0 595.3 841.9"
xml:space="preserve"
inkscape:version="0.91 r13725"
sodipodi:docname="Logo_Calliope_norm.svg"
width="234.39999"
height="188.60001"><metadata
id="metadata89"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs87" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview85"
showgrid="false"
inkscape:zoom="3.1714397"
inkscape:cx="73.725892"
inkscape:cy="132.25623"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="Ebene_1" /><g
id="g4307"
transform="translate(0.15971695,653.11241)"><g
transform="translate(-180.35972,-805.91209)"
id="g3"><defs
id="defs5"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_1_" /></defs><clipPath
id="SVGID_2_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use9"
overflow="visible"
xlink:href="#SVGID_1_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path11"
d="m 205,320.8 -4.5,0 -0.7,-4 c -0.6,-0.6 -1.4,-1.1 -2.3,-1.4 -0.9,-0.3 -2,-0.5 -3.2,-0.5 -2.6,0 -4.6,1 -6.1,2.9 -1.4,1.9 -2.1,4.4 -2.1,7.5 l 0,1.1 c 0,3.1 0.8,5.6 2.2,7.5 1.4,1.9 3.4,2.9 6,2.8 1.2,0 2.3,-0.2 3.3,-0.5 1,-0.4 1.7,-0.8 2.3,-1.4 l 0.6,-4 4.5,0 0.1,6 c -1.2,1.4 -2.7,2.6 -4.6,3.4 -1.9,0.8 -4,1.3 -6.3,1.3 -4.1,0 -7.4,-1.3 -10,-4.1 -2.6,-2.8 -3.9,-6.4 -4,-10.8 l 0,-1 c 0,-4.4 1.2,-8 3.8,-10.9 2.6,-2.8 5.9,-4.3 10,-4.3 2.3,0 4.5,0.4 6.3,1.2 1.9,0.8 3.5,1.9 4.7,3.3 l 0,5.9 z"
clip-path="url(#SVGID_2_)" /></g><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path13"
d="m 45.740275,-488.51209 0.1,0 3.5,10.6 -6.9,0.1 3.3,-10.7 z m -3.1,-6.9 -9,26.4 -2.2,0.3 0,3.6 10.3,-0.1 0,-3.6 -2.1,-0.4 1.3,-4.2 9.8,-0.1 1.4,4.1 -2.1,0.4 0,3.6 10.3,-0.1 0,-3.6 -2.2,-0.3 -9.4,-26.2 -6.1,0.2 z" /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon15"
points="256.3,335.8 256.1,314.4 259.4,313.8 259.3,310.1 256.1,310.2 250,310.2 246.8,310.3 246.8,313.9 250.1,314.5 250.3,336.2 247,336.9 247.1,340.5 269.8,340.3 269.7,331.8 265.1,331.9 264.9,335.7 " /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon17"
points="285.5,335.5 285.3,314.2 288.5,313.5 288.5,309.9 285.3,309.9 279.2,310 276,310 276,313.6 279.2,314.2 279.4,335.9 276.2,336.6 276.3,340.2 299,340 298.9,331.6 294.3,331.6 294,335.4 " /><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon19"
points="305.1,309.7 305.2,313.4 308.4,314 308.6,335.7 305.4,336.3 305.4,340 317.9,339.9 317.9,336.2 314.7,335.6 314.5,313.9 317.7,313.3 317.7,309.6 " /><g
transform="translate(-180.35972,-805.91209)"
id="g21"><defs
id="defs23"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_3_" /></defs><clipPath
id="SVGID_4_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use27"
overflow="visible"
xlink:href="#SVGID_3_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path29"
d="m 346,324.2 c 0,-3.1 -0.7,-5.7 -2,-7.6 -1.3,-1.9 -3.3,-2.9 -5.8,-2.9 -2.6,0 -4.4,1 -5.7,3 -1.2,2 -1.8,4.5 -1.8,7.7 l 0,0.5 c 0,3.2 0.7,5.7 2,7.7 1.3,1.9 3.2,2.9 5.7,2.9 2.6,0 4.5,-1 5.7,-3 1.3,-2 1.9,-4.5 1.9,-7.7 l 0,-0.6 z m 6,0.4 c 0,4.4 -1.2,8.1 -3.7,11 -2.5,2.9 -5.8,4.4 -9.9,4.4 -4.1,0 -7.4,-1.4 -9.9,-4.3 -2.5,-2.9 -3.8,-6.5 -3.9,-11 l 0,-0.5 c 0,-4.4 1.2,-8.1 3.7,-11 2.5,-2.9 5.8,-4.4 9.8,-4.5 4.1,0 7.4,1.4 10,4.3 2.6,2.9 3.9,6.5 3.9,10.9 l 0,0.7 z"
clip-path="url(#SVGID_4_)" /><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path31"
d="m 368,323.8 5.1,0 c 1.7,0 3,-0.5 3.8,-1.4 0.9,-0.9 1.3,-2.1 1.3,-3.5 0,-1.5 -0.5,-2.7 -1.3,-3.6 -0.9,-0.9 -2.2,-1.4 -3.8,-1.4 l -5.1,0 0,9.9 z m 5,-14.7 c 3.5,0 6.2,0.8 8.2,2.6 2,1.8 3,4.1 3.1,7 0,2.9 -1,5.2 -2.9,7 -2,1.8 -4.7,2.7 -8.2,2.7 l -5.1,0 0.1,6.7 3.2,0.6 0,3.6 -12.5,0.1 0,-3.6 3.2,-0.7 -0.2,-21.7 -3.2,-0.6 0,-3.7 3.2,0 11.1,0 z"
clip-path="url(#SVGID_4_)" /></g><polygon
style="fill:#4a5261"
transform="translate(-180.35972,-805.91209)"
id="polygon33"
points="399.8,325.8 410,325.7 410,321 399.8,321.1 399.7,313.5 409.4,313.4 409.7,317 414.3,317 414.2,308.7 393.6,308.9 390.3,308.9 390.4,312.6 393.6,313.2 393.8,334.9 390.6,335.6 390.6,339.2 414.6,339 414.5,330.7 409.9,330.7 409.6,334.4 399.9,334.4 " /><g
transform="translate(-180.35972,-805.91209)"
id="g35"><defs
id="defs37"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_5_" /></defs><clipPath
id="SVGID_6_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use41"
overflow="visible"
xlink:href="#SVGID_5_" /></clipPath><path
style="fill:#4a5261"
inkscape:connector-curvature="0"
id="path43"
d="m 359.3,195.4 -35.3,0 0,-33.8 c 0,-3.4 2.8,-6.2 6.2,-6.2 l 22.9,0 c 3.4,0 6.2,2.8 6.2,6.2 l 0,33.8 z"
clip-path="url(#SVGID_6_)" /></g><rect
style="fill:#8096a1"
id="rect45"
height="31.799999"
width="25.799999"
y="-642.41211"
x="148.44026" /><g
transform="translate(-180.35972,-805.91209)"
id="g47"><defs
id="defs49"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_7_" /></defs><clipPath
id="SVGID_8_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use53"
overflow="visible"
xlink:href="#SVGID_7_" /></clipPath><path
style="fill:#855c33"
inkscape:connector-curvature="0"
id="path55"
d="m 271.9,178.8 0,44.9 52.3,0.2 c 0,0 0,-42.2 0,-44.9 0,-14.4 -11.8,-26.2 -26.2,-26.2 -14.4,-0.1 -26.1,11.6 -26.1,26"
clip-path="url(#SVGID_8_)" /><path
style="fill:#26a6ab"
inkscape:connector-curvature="0"
id="path57"
d="m 341.7,279.7 -84.1,0 c -26.2,0 -37.4,-33.3 -16.6,-49.2 l 47,-35.2 71.3,0 0,66.8 c 0,9.7 -7.9,17.6 -17.6,17.6"
clip-path="url(#SVGID_8_)" /></g><polygon
style="fill:#42c9c9"
transform="translate(-180.35972,-805.91209)"
id="polygon59"
points="284.6,222.5 248,225.2 292.6,191.9 " /><polygon
style="fill:#f7f5e8"
transform="translate(-180.35972,-805.91209)"
id="polygon61"
points="282.9,211.4 292.6,191.9 298.7,211.4 " /><polygon
style="fill:#f7f5e8"
transform="translate(-180.35972,-805.91209)"
id="polygon63"
points="298.7,211.4 304.7,191.9 314.4,211.4 " /><polygon
style="fill:#bdd1cf"
transform="translate(-180.35972,-805.91209)"
id="polygon65"
points="312.7,222.5 284.6,222.5 282.9,211.4 314.4,211.4 " /><g
transform="translate(-180.35972,-805.91209)"
id="g67"><defs
id="defs69"><rect
height="188.7"
width="234.3"
y="152.7"
x="180.2"
id="SVGID_9_" /></defs><clipPath
id="SVGID_10_"><use
height="100%"
width="100%"
y="0"
x="0"
style="overflow:visible"
id="use73"
overflow="visible"
xlink:href="#SVGID_9_" /></clipPath><path
style="fill:#f7f5e8"
inkscape:connector-curvature="0"
id="path75"
d="m 333,279.7 c -2.6,-19.3 -7.8,-42.7 -20.1,-57.2 l -0.1,0 -14,0 -14,0 -0.1,0 c -12.3,14.5 -17.6,37.9 -20.1,57.2 l 68.4,0 z"
clip-path="url(#SVGID_10_)" /><path
style="fill:#ffcc99"
inkscape:connector-curvature="0"
id="path77"
d="m 300.9,192.4 -4.5,0 c -4.7,0 -8.5,-3.8 -8.5,-8.5 l 0,-14.5 21.5,0 0,14.5 c 0,4.7 -3.8,8.5 -8.5,8.5"
clip-path="url(#SVGID_10_)" /><path
style="fill:#bdd1cf"
inkscape:connector-curvature="0"
id="path79"
d="m 285.3,279.7 0,-57.2 c 9.1,21.4 20.4,47.3 34.2,57.2 l -34.2,0 z"
clip-path="url(#SVGID_10_)" /></g><polygon
style="fill:#ffcc99"
transform="translate(-180.35972,-805.91209)"
id="polygon81"
points="292.6,191.9 298.7,211.4 304.7,191.9 " /><polygon
style="fill:#42c9c9"
transform="translate(-180.35972,-805.91209)"
id="polygon83"
points="328.8,195.4 359.3,195.4 359.3,234.6 " /></g></svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

921
docs/static/calliope.simplified.svg vendored Normal file
View File

@ -0,0 +1,921 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
x="0px"
y="0px"
viewBox="0 0 340.2 311.8"
enable-background="new 0 0 340.2 311.8"
xml:space="preserve"
id="svg2"
inkscape:version="0.91 r13725"
sodipodi:docname="calliope.simplified.svg"><metadata
id="metadata945"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs943" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1137"
id="namedview941"
showgrid="false"
inkscape:zoom="3.0275819"
inkscape:cx="131.29885"
inkscape:cy="162.10198"
inkscape:window-x="-8"
inkscape:window-y="156"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" /><symbol
id="Mini_front"
viewBox="-122.3 -112.9 244.6 225.8"><g
id="g5"><use
xlink:href="#calliope_mini_backside"
width="298.9"
height="263.3"
id="XMLID_3_"
x="-150.5"
y="-131.7"
transform="matrix(0.8169 0 0 0.8169 0.6672 -5.3582)"
overflow="visible" /><g
id="holes_3_"><g
id="g9"><g
id="g11"><path
d="M-42.4-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-41.3-78.2-42.4-78.2z M-42.4-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-80.9-41.9-81.4-42.4-81.4z"
id="path13"
fill="#EFDA48" /><path
d="M-42.4-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-80.9-41.9-81.4-42.4-81.4z"
id="path15" /></g><g
id="g17"><path
d="M-35.2-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-34.1-78.2-35.2-78.2z M-35.2-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-80.9-34.7-81.4-35.2-81.4z"
id="path19"
fill="#EFDA48" /><path
d="M-35.2-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-80.9-34.7-81.4-35.2-81.4z"
id="path21" /></g><g
id="g23"><path
d="M-28-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-26.9-78.2-28-78.2z M-28-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-80.9-27.5-81.4-28-81.4z"
id="path25"
fill="#EFDA48" /><path
d="M-28-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-80.9-27.5-81.4-28-81.4z"
id="path27" /></g><g
id="g29"><path
d="M-20.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S-19.7-78.2-20.9-78.2z M-20.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-80.9-20.3-81.4-20.9-81.4z"
id="path31"
fill="#EFDA48" /><path
d="M-20.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-80.9-20.3-81.4-20.9-81.4z"
id="path33" /></g><g
id="g35"><path
d="M-13.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-12.5-78.2-13.7-78.2z M-13.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-80.9-13.1-81.4-13.7-81.4z"
id="path37"
fill="#EFDA48" /><path
d="M-13.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-80.9-13.1-81.4-13.7-81.4z"
id="path39" /></g><g
id="g41"><path
d="M-6.5-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S-5.3-78.2-6.5-78.2z M-6.5-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-80.9-5.9-81.4-6.5-81.4z"
id="path43"
fill="#EFDA48" /><path
d="M-6.5-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-80.9-5.9-81.4-6.5-81.4z"
id="path45" /></g><g
id="g47"><path
d="M0.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S1.9-78.2,0.7-78.2z M0.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-80.9,1.3-81.4,0.7-81.4z"
id="path49"
fill="#EFDA48" /><path
d="M0.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-80.9,1.3-81.4,0.7-81.4z"
id="path51" /></g><g
id="g53"><path
d="M7.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S9.1-78.2,7.9-78.2z M7.9-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-80.9,8.5-81.4,7.9-81.4z"
id="path55"
fill="#EFDA48" /><path
d="M7.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-80.9,8.5-81.4,7.9-81.4z"
id="path57" /></g><g
id="g59"><path
d="M15.1-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1s2.1,1,2.1,2.1S16.3-78.2,15.1-78.2z M15.1-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-80.9,15.7-81.4,15.1-81.4z"
id="path61"
fill="#EFDA48" /><path
d="M15.1-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-80.9,15.7-81.4,15.1-81.4z"
id="path63" /></g><g
id="g65"><path
d="M22.3-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S23.5-78.2,22.3-78.2z M22.3-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-80.9,22.9-81.4,22.3-81.4z"
id="path67"
fill="#EFDA48" /><path
d="M22.3-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-80.9,22.9-81.4,22.3-81.4z"
id="path69" /></g><g
id="g71"><path
d="M29.5-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S30.7-78.2,29.5-78.2z M29.5-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-80.9,30.1-81.4,29.5-81.4z"
id="path73"
fill="#EFDA48" /><path
d="M29.5-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-80.9,30.1-81.4,29.5-81.4z"
id="path75" /></g><g
id="g77"><path
d="M36.7-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S37.9-78.2,36.7-78.2z M36.7-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-80.9,37.3-81.4,36.7-81.4z"
id="path79"
fill="#EFDA48" /><path
d="M36.7-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-80.9,37.3-81.4,36.7-81.4z"
id="path81" /></g><g
id="g83"><path
d="M43.9-78.2c-1.2,0-2.1-1-2.1-2.1s1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1S45.1-78.2,43.9-78.2z M43.9-81.4 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-80.9,44.5-81.4,43.9-81.4z"
id="path85"
fill="#EFDA48" /><path
d="M43.9-81.4c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-80.9,44.5-81.4,43.9-81.4z"
id="path87" /></g></g><g
id="g89"><g
id="g91"><path
d="M-42.4-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-40.3-71.9-41.3-71-42.4-71z M-42.4-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-73.7-41.9-74.1-42.4-74.1z"
id="path93"
fill="#EFDA48" /><path
d="M-42.4-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-41.4-73.7-41.9-74.1-42.4-74.1z"
id="path95" /></g><g
id="g97"><path
d="M-35.2-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-33.1-71.9-34.1-71-35.2-71z M-35.2-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-73.7-34.7-74.1-35.2-74.1z"
id="path99"
fill="#EFDA48" /><path
d="M-35.2-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C-34.2-73.7-34.7-74.1-35.2-74.1z"
id="path101" /></g><g
id="g103"><path
d="M-28-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-25.9-71.9-26.9-71-28-71z M-28-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-73.7-27.5-74.1-28-74.1z"
id="path105"
fill="#EFDA48" /><path
d="M-28-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-27-73.7-27.5-74.1-28-74.1z"
id="path107" /></g><g
id="g109"><path
d="M-20.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C-18.7-71.9-19.7-71-20.9-71z M-20.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-73.7-20.3-74.1-20.9-74.1z"
id="path111"
fill="#EFDA48" /><path
d="M-20.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-19.8-73.7-20.3-74.1-20.9-74.1z"
id="path113" /></g><g
id="g115"><path
d="M-13.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-11.5-71.9-12.5-71-13.7-71z M-13.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-73.7-13.1-74.1-13.7-74.1z"
id="path117"
fill="#EFDA48" /><path
d="M-13.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-73.7-13.1-74.1-13.7-74.1z"
id="path119" /></g><g
id="g121"><path
d="M-6.5-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-4.3-71.9-5.3-71-6.5-71z M-6.5-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-73.7-5.9-74.1-6.5-74.1z"
id="path123"
fill="#EFDA48" /><path
d="M-6.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-73.7-5.9-74.1-6.5-74.1z"
id="path125" /></g><g
id="g127"><path
d="M0.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C2.9-71.9,1.9-71,0.7-71z M0.7-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-73.7,1.3-74.1,0.7-74.1z"
id="path129"
fill="#EFDA48" /><path
d="M0.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-73.7,1.3-74.1,0.7-74.1z"
id="path131" /></g><g
id="g133"><path
d="M7.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C10.1-71.9,9.1-71,7.9-71z M7.9-74.1 c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-73.7,8.5-74.1,7.9-74.1z"
id="path135"
fill="#EFDA48" /><path
d="M7.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-73.7,8.5-74.1,7.9-74.1z"
id="path137" /></g><g
id="g139"><path
d="M15.1-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C17.3-71.9,16.3-71,15.1-71z M15.1-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-73.7,15.7-74.1,15.1-74.1z"
id="path141"
fill="#EFDA48" /><path
d="M15.1-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-73.7,15.7-74.1,15.1-74.1z"
id="path143" /></g><g
id="g145"><path
d="M22.3-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C24.5-71.9,23.5-71,22.3-71z M22.3-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-73.7,22.9-74.1,22.3-74.1z"
id="path147"
fill="#EFDA48" /><path
d="M22.3-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C23.3-73.7,22.9-74.1,22.3-74.1z"
id="path149" /></g><g
id="g151"><path
d="M29.5-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C31.7-71.9,30.7-71,29.5-71z M29.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-73.7,30.1-74.1,29.5-74.1z"
id="path153"
fill="#EFDA48" /><path
d="M29.5-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C30.5-73.7,30.1-74.1,29.5-74.1z"
id="path155" /></g><g
id="g157"><path
d="M36.7-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C38.9-71.9,37.9-71,36.7-71z M36.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-73.7,37.3-74.1,36.7-74.1z"
id="path159"
fill="#EFDA48" /><path
d="M36.7-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C37.7-73.7,37.3-74.1,36.7-74.1z"
id="path161" /></g><g
id="g163"><path
d="M43.9-71c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1c1.2,0,2.1,1,2.1,2.1C46-71.9,45.1-71,43.9-71z M43.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-73.7,44.5-74.1,43.9-74.1z"
id="path165"
fill="#EFDA48" /><path
d="M43.9-74.1c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C44.9-73.7,44.5-74.1,43.9-74.1z"
id="path167" /></g></g><g
id="g169"><g
id="g171"><path
d="M-13.7-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-11.5-58.1-12.5-57.2-13.7-57.2z M-13.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-59.9-13.1-60.3-13.7-60.3z"
id="path173"
fill="#EFDA48" /><path
d="M-13.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-12.6-59.9-13.1-60.3-13.7-60.3z"
id="path175" /></g><g
id="g177"><path
d="M-6.5-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C-4.3-58.1-5.3-57.2-6.5-57.2z M-6.5-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-59.9-5.9-60.3-6.5-60.3z"
id="path179"
fill="#EFDA48" /><path
d="M-6.5-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C-5.4-59.9-5.9-60.3-6.5-60.3z"
id="path181" /></g><g
id="g183"><path
d="M0.7-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C2.9-58.1,1.9-57.2,0.7-57.2z M0.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-59.9,1.3-60.3,0.7-60.3z"
id="path185"
fill="#EFDA48" /><path
d="M0.7-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C1.8-59.9,1.3-60.3,0.7-60.3z"
id="path187" /></g><g
id="g189"><path
d="M7.9-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C10.1-58.1,9.1-57.2,7.9-57.2z M7.9-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-59.9,8.5-60.3,7.9-60.3z"
id="path191"
fill="#EFDA48" /><path
d="M7.9-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1s1-0.5,1-1C8.9-59.9,8.5-60.3,7.9-60.3z"
id="path193" /></g><g
id="g195"><path
d="M15.1-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C17.3-58.1,16.3-57.2,15.1-57.2z M15.1-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-59.9,15.7-60.3,15.1-60.3z"
id="path197"
fill="#EFDA48" /><path
d="M15.1-60.3c-0.6,0-1,0.5-1,1c0,0.6,0.5,1,1,1c0.6,0,1-0.5,1-1C16.1-59.9,15.7-60.3,15.1-60.3z"
id="path199" /></g></g><g
id="g201"><g
id="g203"><polygon
points="80.6,17.6 77.6,20.5 80.6,23.5 83.5,20.5 "
id="polygon205"
fill="#EFDA48" /><path
d="M79.9,19.8c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C80.9,19.4,80.3,19.4,79.9,19.8z"
id="path207" /></g><g
id="g209"><path
d="M86.3,18.1c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0 C87.1,15.9,87.1,17.2,86.3,18.1z M84.1,15.8c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0s0.4-1,0-1.4S84.5,15.4,84.1,15.8z"
id="path211"
fill="#EFDA48" /><path
d="M84.1,15.8c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0s0.4-1,0-1.4S84.5,15.4,84.1,15.8z"
id="path213" /></g><g
id="g215"><path
d="M90.1,14.3c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3s2.2-0.8,3,0C90.9,12.1,90.9,13.5,90.1,14.3z M87.9,12.1c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C88.9,11.7,88.3,11.7,87.9,12.1z"
id="path217"
fill="#EFDA48" /><path
d="M87.9,12.1c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C88.9,11.7,88.3,11.7,87.9,12.1z"
id="path219" /></g><g
id="g221"><path
d="M94.4,10c-0.8,0.8-2.2,0.8-3,0c-0.8-0.8-0.8-2.2,0-3s2.2-0.8,3,0C95.3,7.8,95.3,9.2,94.4,10z M92.2,7.8 c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C93.2,7.4,92.6,7.4,92.2,7.8z"
id="path223"
fill="#EFDA48" /><path
d="M92.2,7.8c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0s0.4-1,0-1.4C93.2,7.4,92.6,7.4,92.2,7.8z"
id="path225" /></g></g><g
id="g227"><g
id="g229"><polygon
points="-88,8.6 -91,5.7 -94,8.6 -91,11.6 "
id="polygon231"
fill="#EFDA48" /><path
d="M-90.3,8c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-89.9,9-89.9,8.3-90.3,8z"
id="path233" /></g><g
id="g235"><path
d="M-88.5,14.4c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3 C-86.3,15.2-87.7,15.2-88.5,14.4z M-86.3,12.2c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 C-85.9,13.2-85.9,12.5-86.3,12.2z"
id="path237"
fill="#EFDA48" /><path
d="M-86.3,12.2c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-85.9,13.2-85.9,12.5-86.3,12.2z"
id="path239" /></g><g
id="g241"><path
d="M-84.8,18.2c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3C-82.6,19-84,19-84.8,18.2z M-82.6,16c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-82.2,17-82.2,16.4-82.6,16z"
id="path243"
fill="#EFDA48" /><path
d="M-82.6,16c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-82.2,17-82.2,16.4-82.6,16z"
id="path245" /></g><g
id="g247"><path
d="M-80.5,22.5c-0.8-0.8-0.8-2.2,0-3c0.8-0.8,2.2-0.8,3,0c0.8,0.8,0.8,2.2,0,3 C-78.3,23.3-79.7,23.3-80.5,22.5z M-78.3,20.3c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0 C-77.9,21.3-77.9,20.7-78.3,20.3z"
id="path249"
fill="#EFDA48" /><path
d="M-78.3,20.3c-0.4-0.4-1-0.4-1.4,0c-0.4,0.4-0.4,1,0,1.4s1,0.4,1.4,0C-77.9,21.3-77.9,20.7-78.3,20.3z"
id="path251" /></g></g><g
id="g253"><path
d="M-107.8,8.6c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-100.1,8.6-107.8,8.6z M-107.8-12c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S-104.1-12-107.8-12z"
id="path255"
fill="#EFDA48" /><path
d="M54.8,102.3c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S62.4,102.3,54.8,102.3z M54.8,81.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6s6.6-3,6.6-6.6S58.4,81.7,54.8,81.7z"
id="path257"
fill="#EFDA48" /><path
d="M108.4,8.6c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S116.1,8.6,108.4,8.6z M108.4-12c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6s6.6-3,6.6-6.6S112-12,108.4-12z"
id="path259"
fill="#EFDA48" /><path
d="M54.8-84.2c-7.7,0-13.9-6.2-13.9-13.9S47.1-112,54.8-112s13.9,6.2,13.9,13.9S62.4-84.2,54.8-84.2z M54.8-104.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S58.4-104.7,54.8-104.7z"
id="path261"
fill="#EFDA48" /><path
d="M-53.1-85C-60.8-85-67-91.2-67-98.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-45.4-85-53.1-85z M-53.1-105.5c-3.7,0-6.6,3-6.6,6.6c0,3.7,3,6.6,6.6,6.6s6.6-3,6.6-6.6C-46.5-102.6-49.4-105.5-53.1-105.5z"
id="path263"
fill="#EFDA48" /><path
d="M-53.1,102.3c-7.7,0-13.9-6.2-13.9-13.9s6.2-13.9,13.9-13.9s13.9,6.2,13.9,13.9S-45.4,102.3-53.1,102.3z M-53.1,81.7c-3.7,0-6.6,3-6.6,6.6s3,6.6,6.6,6.6c3.7,0,6.6-3,6.6-6.6S-49.4,81.7-53.1,81.7z"
id="path265"
fill="#EFDA48" /></g></g></g><g
id="g273"><g
id="g275"><polygon
points="-20.9,36.6 -23,36.6 -23,42 -20.9,42 "
id="polygon277"
fill="#FFFFFF" /><polygon
points="-9.9,36.6 -12.1,36.6 -12.1,42 -9.9,42 "
id="polygon279"
fill="#FFFFFF" /><polygon
points="1,36.6 -1.1,36.6 -1.1,42 1,42 "
id="polygon281"
fill="#FFFFFF" /><polygon
points="12,36.6 9.8,36.6 9.8,42 12,42 "
id="polygon283"
fill="#FFFFFF" /><polygon
points="22.9,36.6 20.8,36.6 20.8,42 22.9,42 "
id="polygon285"
fill="#FFFFFF" /></g><g
id="g287"><polygon
points="-20.9,25.9 -23,25.9 -23,31.3 -20.9,31.3 "
id="polygon289"
fill="#FFFFFF" /><polygon
points="-9.9,25.9 -12.1,25.9 -12.1,31.3 -9.9,31.3 "
id="polygon291"
fill="#FFFFFF" /><polygon
points="1,25.9 -1.1,25.9 -1.1,31.3 1,31.3 "
id="polygon293"
fill="#FFFFFF" /><polygon
points="12,25.9 9.8,25.9 9.8,31.3 12,31.3 "
id="polygon295"
fill="#FFFFFF" /><polygon
points="22.9,25.9 20.8,25.9 20.8,31.3 22.9,31.3 "
id="polygon297"
fill="#FFFFFF" /></g><g
id="g299"><polygon
points="-20.9,15.1 -23,15.1 -23,20.6 -20.9,20.6 "
id="polygon301"
fill="#FFFFFF" /><polygon
points="-9.9,15.1 -12.1,15.1 -12.1,20.6 -9.9,20.6 "
id="polygon303"
fill="#FFFFFF" /><polygon
points="1,15.1 -1.1,15.1 -1.1,20.6 1,20.6 "
id="polygon305"
fill="#FFFFFF" /><polygon
points="12,15.1 9.8,15.1 9.8,20.6 12,20.6 "
id="polygon307"
fill="#FFFFFF" /><polygon
points="22.9,15.1 20.8,15.1 20.8,20.6 22.9,20.6 "
id="polygon309"
fill="#FFFFFF" /></g><g
id="g311"><polygon
points="-20.9,4.4 -23,4.4 -23,9.9 -20.9,9.9 "
id="polygon313"
fill="#FFFFFF" /><polygon
points="-9.9,4.4 -12.1,4.4 -12.1,9.9 -9.9,9.9 "
id="polygon315"
fill="#FFFFFF" /><polygon
points="1,4.4 -1.1,4.4 -1.1,9.9 1,9.9 "
id="polygon317"
fill="#FFFFFF" /><polygon
points="12,4.4 9.8,4.4 9.8,9.9 12,9.9 "
id="polygon319"
fill="#FFFFFF" /><polygon
points="22.9,4.4 20.8,4.4 20.8,9.9 22.9,9.9 "
id="polygon321"
fill="#FFFFFF" /></g><g
id="g323"><polygon
points="-20.9,-6.3 -23,-6.3 -23,-0.9 -20.9,-0.9 "
id="polygon325"
fill="#FFFFFF" /><polygon
points="-9.9,-6.3 -12.1,-6.3 -12.1,-0.9 -9.9,-0.9 "
id="polygon327"
fill="#FFFFFF" /><polygon
points="1,-6.3 -1.1,-6.3 -1.1,-0.9 1,-0.9 "
id="polygon329"
fill="#FFFFFF" /><polygon
points="12,-6.3 9.8,-6.3 9.8,-0.9 12,-0.9 "
id="polygon331"
fill="#FFFFFF" /><polygon
points="22.9,-6.3 20.8,-6.3 20.8,-0.9 22.9,-0.9 "
id="polygon333"
fill="#FFFFFF" /></g></g><g
id="g335"><path
d="M-61.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-61.4,48.3-61.4,47.4z"
id="path337"
fill="#EFDA48" /><path
d="M-55.9,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-55.9,48.3-55.9,47.4z"
id="path339"
fill="#EFDA48" /><path
d="M-50.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-50.4,48.3-50.4,47.4z"
id="path341"
fill="#EFDA48" /><path
d="M-45,47.4c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-45.7,49.1-45,48.3-45,47.4z"
id="path343"
fill="#EFDA48" /><path
d="M-39.5,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-39.5,48.3-39.5,47.4z"
id="path345"
fill="#EFDA48" /><path
d="M-34.1,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-34.1,48.3-34.1,47.4z"
id="path347"
fill="#EFDA48" /></g><g
id="g349"><path
d="M-39.5,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-39.5,77.5-39.5,76.6z"
id="path351"
fill="#EFDA48" /><path
d="M-34.1,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-34.1,77.5-34.1,76.6z"
id="path353"
fill="#EFDA48" /><path
d="M-28.6,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-28.6,77.5-28.6,76.6z"
id="path355"
fill="#EFDA48" /><path
d="M-23.1,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-23.1,77.5-23.1,76.6z"
id="path357"
fill="#EFDA48" /><path
d="M-17.7,76.6c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-17.7,77.5-17.7,76.6z"
id="path359"
fill="#EFDA48" /><path
d="M-17.7,68.3c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6S-17.7,69.1-17.7,68.3z"
id="path361"
fill="#EFDA48" /></g><g
id="g363"><path
d="M-0.1,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S-0.1,48.3-0.1,47.4z"
id="path365"
fill="#EFDA48" /><path
d="M5.4,47.4c0-0.9-0.7-1.6-1.6-1.6s-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6S5.4,48.3,5.4,47.4z"
id="path367"
fill="#EFDA48" /></g><path
d="M8.8,66.6H-8.8c-0.7,0-1.2,0.5-1.2,1.2v13.5c0,0.7,0.5,1.2,1.2,1.2H8.8c0.7,0,1.2-0.5,1.2-1.2V67.8 C10,67.2,9.4,66.6,8.8,66.6z"
id="path369"
fill="#BDD1CF" /><g
id="g371"><g
id="g373"><polygon
points="-59.9,36.6 -62,36.6 -62,42 -59.9,42 "
id="polygon375"
fill="#FFFFFF" /><polygon
points="-48.2,36.6 -50.3,36.6 -50.3,42 -48.2,42 "
id="polygon377"
fill="#FFFFFF" /><polygon
points="-59.9,16 -62,16 -62,21.5 -59.9,21.5 "
id="polygon379"
fill="#FFFFFF" /><polygon
points="-48.2,16 -50.3,16 -50.3,21.5 -48.2,21.5 "
id="polygon381"
fill="#FFFFFF" /></g><path
d="M-48.3,21.4h-13.6c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V22.4 C-47.2,21.8-47.7,21.4-48.3,21.4z"
id="path383"
fill="#BDD1CF" /><path
d="M-50.2,29.3c0-2.7-2.2-4.9-4.9-4.9c-2.7,0-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9C-52.4,34.2-50.2,32-50.2,29.3z "
id="path385"
fill="#476975" /><path
d="M-59.3,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C-60,36.8-59.3,36.1-59.3,35.2z"
id="path387" /><path
d="M-47.6,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C-48.4,36.8-47.6,36.1-47.6,35.2z"
id="path389" /><path
d="M-59.3,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-60,25.2-59.3,24.5-59.3,23.6z"
id="path391" /><path
d="M-47.6,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C-48.4,25.2-47.6,24.5-47.6,23.6z"
id="path393" /></g><g
id="g395"><path
d="M68.7-61.4h-17c-0.8,0-1.5,0.7-1.5,1.5V-39c0,0.8,0.7,1.5,1.5,1.5h17c0.8,0,1.5-0.7,1.5-1.5v-20.9 C70.2-60.7,69.5-61.4,68.7-61.4z"
id="path397"
fill="#FFFFFF" /><polygon
points="54.4,-40.8 44,-40.8 44,-37.5 54.4,-37.5 "
id="polygon399"
fill="#FFFFFF" /><polygon
points="54.4,-61.4 44,-61.4 44,-58 54.4,-58 "
id="polygon401"
fill="#FFFFFF" /></g><path
d="M76.6-2.2c-9.9,0-17.9-8-17.9-17.9S66.7-38,76.6-38s17.9,8,17.9,17.9S86.5-2.2,76.6-2.2z"
id="path403" /><g
id="g405"><path
d="M39.1-57.2c-1.2,0-2.1-1-2.1-2.1c0-1.2,1-2.1,2.1-2.1s2.1,1,2.1,2.1C41.3-58.1,40.3-57.2,39.1-57.2z"
id="path407"
fill="#EFDA48" /></g><g
id="g409"><g
id="g411"><polygon
points="51.6,36.6 49.5,36.6 49.5,42 51.6,42 "
id="polygon413"
fill="#FFFFFF" /><polygon
points="63.3,36.6 61.1,36.6 61.1,42 63.3,42 "
id="polygon415"
fill="#FFFFFF" /><polygon
points="51.6,16 49.5,16 49.5,21.5 51.6,21.5 "
id="polygon417"
fill="#FFFFFF" /><polygon
points="63.3,16 61.1,16 61.1,21.5 63.3,21.5 "
id="polygon419"
fill="#FFFFFF" /></g><path
d="M63.2,21.4H49.6c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V22.4 C64.3,21.8,63.8,21.4,63.2,21.4z"
id="path421"
fill="#BDD1CF" /><path
d="M61.3,29.3c0-2.7-2.2-4.9-4.9-4.9c-2.7,0-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9C59.1,34.2,61.3,32,61.3,29.3z"
id="path423"
fill="#476975" /><path
d="M52.2,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C51.5,36.8,52.2,36.1,52.2,35.2z"
id="path425" /><path
d="M63.8,35.2c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6c0,0.9,0.7,1.6,1.6,1.6C63.1,36.8,63.8,36.1,63.8,35.2z"
id="path427" /><path
d="M52.2,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C51.5,25.2,52.2,24.5,52.2,23.6z"
id="path429" /><path
d="M63.8,23.6c0-0.9-0.7-1.6-1.6-1.6c-0.9,0-1.6,0.7-1.6,1.6s0.7,1.6,1.6,1.6C63.1,25.2,63.8,24.5,63.8,23.6z"
id="path431" /></g><g
id="g433"><path
d="M37.3,60H23.7c-0.6,0-1.1,0.5-1.1,1.1v13.7c0,0.6,0.5,1.1,1.1,1.1h13.6c0.6,0,1.1-0.5,1.1-1.1V61.1 C38.4,60.5,37.9,60,37.3,60z"
id="path435"
fill="#BDD1CF" /><path
d="M35.5,68c0-2.7-2.2-4.9-4.9-4.9s-4.9,2.2-4.9,4.9s2.2,4.9,4.9,4.9S35.5,70.7,35.5,68z"
id="path437"
fill="#476975" /></g><polygon
points="37.1,-46 25.4,-46 25.4,-25 37.1,-25 "
id="polygon439"
fill="#F9B233" /><polygon
points="-31.8,-47.4 -43.7,-35.5 -31.8,-23.6 -19.9,-35.5 "
id="polygon441" /><polygon
points="-3.6,-52.5 -3.6,-46.4 2.5,-46.4 2.5,-52.5 "
id="polygon443" /><g
id="g445"><polygon
points="5.3,-35.5 -5.5,-35.5 -5.5,-25 5.3,-25 "
id="polygon447"
fill="#FFFFFF" /><path
d="M4-30.2c0-2.3-1.8-4.1-4.1-4.1s-4.1,1.8-4.1,4.1s1.8,4.1,4.1,4.1S4-28,4-30.2z"
id="path449"
fill="#BDD1CF" /></g><polygon
points="-36.8,-54.6 -43.6,-59 -47.5,-52.9 -40.7,-48.5 "
id="polygon451"
fill="#FFFFFF" /></symbol><symbol
id="calliope_mini_backside"
viewBox="-150.5 -131.7 298.9 263.3"><path
d="M-77.1,127.5L-77.1,127.5c6.2,4.6,14.6,4.8,20.9,0.5c12.5-8.4,34.7-21,56-21c23.2,0,45.7,13.5,56.4,21 c4.3,3,9.8,3.8,14.7,2l0.6-0.2c7.3-2.6,11.8-9.8,11-17.4c-1.7-15.4-3-41.9,13-62.9c16.8-21.9,31.7-31.2,42.3-34.8 c5.9-2,9.9-7.4,10.4-13.6v0c0.5-8-5.1-13.6-12.3-17c-12-5.7-30.8-15.7-42.8-36.2C78.7-77,80.1-103.4,81.7-114.8 c0.7-5.1-1.6-10.1-5.9-12.8c-4.8-3-11.9-4.6-21.4,1.5c-5.5,3.6-12,8.6-20.8,12c-10.8,4.1-16.9,5.5-20.3,5.8c-2.4,0.2-4.4,1.8-5.2,4 c-1.1,2.9-3.4,6.2-8.2,6.2c-5,0-7.2-3.6-8.2-6.6c-0.8-2.5-3.3-3.4-5.9-3.7c-4.9-0.4-12.5-2.4-20.5-6.1c-7.1-3.3-14-7.9-20.4-12.7 c-5.5-4.1-15-5.5-20.4-1.3l0,0c-5.7,4.4-7.4,11.7-6.5,18.8c1.9,15.3,1.1,43.3-16.7,64.2c-17.6,20.8-28.2,26.2-37.2,29.2 c-3.9,1.3-11.4,5.4-12.3,14.1s3,14.5,10.9,18.4c12.3,6.1,30.5,17.2,42.1,34.1c15.1,22,15.1,48.1,13.1,61.7 C-82.8,117.7-81.7,124.1-77.1,127.5z"
id="path454"
fill="#034854" /><g
id="holes_9_"><g
display="none"
id="g457"><g
display="inline"
id="g459"><path
d="M-53.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-52-89.3-53.5-89.3z M-53.5-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-52.2-92.6-52.8-93.1-53.5-93.1z"
id="path461"
fill="#EFDA48" /><path
d="M-53.5-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-52.2-92.6-52.8-93.1-53.5-93.1z"
id="path463" /></g><g
display="inline"
id="g465"><path
d="M-44.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-43.2-89.3-44.7-89.3z M-44.7-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-43.4-92.6-44-93.1-44.7-93.1z"
id="path467"
fill="#EFDA48" /><path
d="M-44.7-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-43.4-92.6-44-93.1-44.7-93.1z"
id="path469" /></g><g
display="inline"
id="g471"><path
d="M-35.9-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-34.4-89.3-35.9-89.3z M-35.9-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-34.6-92.6-35.2-93.1-35.9-93.1z"
id="path473"
fill="#EFDA48" /><path
d="M-35.9-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-34.6-92.6-35.2-93.1-35.9-93.1z"
id="path475" /></g><g
display="inline"
id="g477"><path
d="M-27-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-25.6-89.3-27-89.3z M-27-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-25.8-92.6-26.4-93.1-27-93.1z"
id="path479"
fill="#EFDA48" /><path
d="M-27-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-25.8-92.6-26.4-93.1-27-93.1z"
id="path481" /></g><g
display="inline"
id="g483"><path
d="M-18.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-89.3-18.2-89.3z M-18.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-17-92.6-17.6-93.1-18.2-93.1z"
id="path485"
fill="#EFDA48" /><path
d="M-18.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-17-92.6-17.6-93.1-18.2-93.1z"
id="path487" /></g><g
display="inline"
id="g489"><path
d="M-9.4-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-89.3-9.4-89.3z M-9.4-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-8.2-92.6-8.7-93.1-9.4-93.1z"
id="path491"
fill="#EFDA48" /><path
d="M-9.4-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-8.2-92.6-8.7-93.1-9.4-93.1z"
id="path493" /></g><g
display="inline"
id="g495"><path
d="M-0.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-93.3,2-91.9S0.8-89.3-0.6-89.3z M-0.6-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C0.6-92.6,0.1-93.1-0.6-93.1z"
id="path497"
fill="#EFDA48" /><path
d="M-0.6-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C0.6-92.6,0.1-93.1-0.6-93.1z"
id="path499" /></g><g
display="inline"
id="g501"><path
d="M8.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-89.3,8.2-89.3z M8.2-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C9.4-92.6,8.9-93.1,8.2-93.1z"
id="path503"
fill="#EFDA48" /><path
d="M8.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C9.4-92.6,8.9-93.1,8.2-93.1z"
id="path505" /></g><g
display="inline"
id="g507"><path
d="M17-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-89.3,17-89.3z M17-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C18.2-92.6,17.7-93.1,17-93.1z"
id="path509"
fill="#EFDA48" /><path
d="M17-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C18.2-92.6,17.7-93.1,17-93.1z"
id="path511" /></g><g
display="inline"
id="g513"><path
d="M25.8-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S27.2-89.3,25.8-89.3z M25.8-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C27-92.6,26.5-93.1,25.8-93.1z"
id="path515"
fill="#EFDA48" /><path
d="M25.8-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C27-92.6,26.5-93.1,25.8-93.1z"
id="path517" /></g><g
display="inline"
id="g519"><path
d="M34.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S36.1-89.3,34.6-89.3z M34.6-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C35.9-92.6,35.3-93.1,34.6-93.1z"
id="path521"
fill="#EFDA48" /><path
d="M34.6-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C35.9-92.6,35.3-93.1,34.6-93.1z"
id="path523" /></g><g
display="inline"
id="g525"><path
d="M43.4-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S44.9-89.3,43.4-89.3z M43.4-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C44.7-92.6,44.1-93.1,43.4-93.1z"
id="path527"
fill="#EFDA48" /><path
d="M43.4-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C44.7-92.6,44.1-93.1,43.4-93.1z"
id="path529" /></g><g
display="inline"
id="g531"><path
d="M52.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S53.7-89.3,52.2-89.3z M52.2-93.1 c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C53.5-92.6,52.9-93.1,52.2-93.1z"
id="path533"
fill="#EFDA48" /><path
d="M52.2-93.1c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C53.5-92.6,52.9-93.1,52.2-93.1z"
id="path535" /></g></g><g
display="none"
id="g537"><g
display="inline"
id="g539"><path
d="M-53.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-52-80.4-53.5-80.4z M-53.5-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-52.8-84.3-53.5-84.3z"
id="path541"
fill="#EFDA48" /><path
d="M-53.5-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-52.8-84.3-53.5-84.3z"
id="path543" /></g><g
display="inline"
id="g545"><path
d="M-44.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-43.2-80.4-44.7-80.4z M-44.7-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-44-84.3-44.7-84.3z"
id="path547"
fill="#EFDA48" /><path
d="M-44.7-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-44-84.3-44.7-84.3z"
id="path549" /></g><g
display="inline"
id="g551"><path
d="M-35.9-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-34.4-80.4-35.9-80.4z M-35.9-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-35.2-84.3-35.9-84.3z"
id="path553"
fill="#EFDA48" /><path
d="M-35.9-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-35.2-84.3-35.9-84.3z"
id="path555" /></g><g
display="inline"
id="g557"><path
d="M-27-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-25.6-80.4-27-80.4z M-27-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-26.4-84.3-27-84.3z"
id="path559"
fill="#EFDA48" /><path
d="M-27-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-26.4-84.3-27-84.3z"
id="path561" /></g><g
display="inline"
id="g563"><path
d="M-18.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-80.4-18.2-80.4z M-18.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-84.3-18.2-84.3z"
id="path565"
fill="#EFDA48" /><path
d="M-18.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-84.3-18.2-84.3z"
id="path567" /></g><g
display="inline"
id="g569"><path
d="M-9.4-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-80.4-9.4-80.4z M-9.4-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-84.3-9.4-84.3z"
id="path571"
fill="#EFDA48" /><path
d="M-9.4-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-84.3-9.4-84.3z"
id="path573" /></g><g
display="inline"
id="g575"><path
d="M-0.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-84.5,2-83.1S0.8-80.4-0.6-80.4z M-0.6-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-84.3-0.6-84.3z"
id="path577"
fill="#EFDA48" /><path
d="M-0.6-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-84.3-0.6-84.3z"
id="path579" /></g><g
display="inline"
id="g581"><path
d="M8.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-80.4,8.2-80.4z M8.2-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-84.3,8.2-84.3z"
id="path583"
fill="#EFDA48" /><path
d="M8.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-84.3,8.2-84.3z"
id="path585" /></g><g
display="inline"
id="g587"><path
d="M17-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-80.4,17-80.4z M17-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-84.3,17-84.3z"
id="path589"
fill="#EFDA48" /><path
d="M17-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-84.3,17-84.3z"
id="path591" /></g><g
display="inline"
id="g593"><path
d="M25.8-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S27.2-80.4,25.8-80.4z M25.8-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S26.5-84.3,25.8-84.3z"
id="path595"
fill="#EFDA48" /><path
d="M25.8-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S26.5-84.3,25.8-84.3z"
id="path597" /></g><g
display="inline"
id="g599"><path
d="M34.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S36.1-80.4,34.6-80.4z M34.6-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S35.3-84.3,34.6-84.3z"
id="path601"
fill="#EFDA48" /><path
d="M34.6-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S35.3-84.3,34.6-84.3z"
id="path603" /></g><g
display="inline"
id="g605"><path
d="M43.4-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S44.9-80.4,43.4-80.4z M43.4-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S44.1-84.3,43.4-84.3z"
id="path607"
fill="#EFDA48" /><path
d="M43.4-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S44.1-84.3,43.4-84.3z"
id="path609" /></g><g
display="inline"
id="g611"><path
d="M52.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S53.7-80.4,52.2-80.4z M52.2-84.3 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S52.9-84.3,52.2-84.3z"
id="path613"
fill="#EFDA48" /><path
d="M52.2-84.3c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S52.9-84.3,52.2-84.3z"
id="path615" /></g></g><g
display="none"
id="g617"><g
display="inline"
id="g619"><path
d="M-18.2-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-16.8-63.5-18.2-63.5z M-18.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-67.4-18.2-67.4z"
id="path621"
fill="#EFDA48" /><path
d="M-18.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-17.6-67.4-18.2-67.4z"
id="path623" /></g><g
display="inline"
id="g625"><path
d="M-9.4-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-8-63.5-9.4-63.5z M-9.4-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-67.4-9.4-67.4z"
id="path627"
fill="#EFDA48" /><path
d="M-9.4-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-8.7-67.4-9.4-67.4z"
id="path629" /></g><g
display="inline"
id="g631"><path
d="M-0.6-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6S2-67.6,2-66.1S0.8-63.5-0.6-63.5z M-0.6-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-67.4-0.6-67.4z"
id="path633"
fill="#EFDA48" /><path
d="M-0.6-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S0.1-67.4-0.6-67.4z"
id="path635" /></g><g
display="inline"
id="g637"><path
d="M8.2-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S9.6-63.5,8.2-63.5z M8.2-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-67.4,8.2-67.4z"
id="path639"
fill="#EFDA48" /><path
d="M8.2-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S8.9-67.4,8.2-67.4z"
id="path641" /></g><g
display="inline"
id="g643"><path
d="M17-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S18.4-63.5,17-63.5z M17-67.4 c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-67.4,17-67.4z"
id="path645"
fill="#EFDA48" /><path
d="M17-67.4c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S17.7-67.4,17-67.4z"
id="path647" /></g></g><g
display="none"
id="g649"><g
display="inline"
id="g651"><polygon
points="97.1,28 93.5,31.6 97.1,35.2 100.7,31.6 "
id="polygon653"
fill="#EFDA48" /><path
d="M96.2,30.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C97.5,30.3,96.7,30.3,96.2,30.8z"
id="path655" /></g><g
display="inline"
id="g657"><path
d="M104.1,28.6c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S105.1,27.5,104.1,28.6z M101.4,25.8 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C102.7,25.3,101.9,25.3,101.4,25.8z"
id="path659"
fill="#EFDA48" /><path
d="M101.4,25.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C102.7,25.3,101.9,25.3,101.4,25.8z"
id="path661" /></g><g
display="inline"
id="g663"><path
d="M108.8,24c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S109.8,23,108.8,24z M106,21.3 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C107.3,20.8,106.5,20.8,106,21.3z"
id="path665"
fill="#EFDA48" /><path
d="M106,21.3c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C107.3,20.8,106.5,20.8,106,21.3z"
id="path667" /></g><g
display="inline"
id="g669"><path
d="M114.1,18.7c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7s2.7-1,3.7,0S115.1,17.7,114.1,18.7z M111.3,16 c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C112.6,15.5,111.8,15.5,111.3,16z"
id="path671"
fill="#EFDA48" /><path
d="M111.3,16c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C112.6,15.5,111.8,15.5,111.3,16z"
id="path673" /></g></g><g
display="none"
id="g675"><g
display="inline"
id="g677"><polygon
points="-109.3,17 -112.9,13.4 -116.6,17 -112.9,20.7 "
id="polygon679"
fill="#EFDA48" /><path
d="M-112.1,16.2c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-111.6,17.5-111.6,16.7-112.1,16.2z "
id="path681" /></g><g
display="inline"
id="g683"><path
d="M-109.9,24.1c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0s1,2.7,0,3.7S-108.9,25.1-109.9,24.1z M-107.2,21.3 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-106.7,22.6-106.7,21.8-107.2,21.3z"
id="path685"
fill="#EFDA48" /><path
d="M-107.2,21.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-106.7,22.6-106.7,21.8-107.2,21.3z "
id="path687" /></g><g
display="inline"
id="g689"><path
d="M-105.3,28.7c-1-1-1-2.7,0-3.7s2.7-1,3.7,0s1,2.7,0,3.7S-104.3,29.8-105.3,28.7z M-102.6,26 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-102.1,27.3-102.1,26.5-102.6,26z"
id="path691"
fill="#EFDA48" /><path
d="M-102.6,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-102.1,27.3-102.1,26.5-102.6,26z"
id="path693" /></g><g
display="inline"
id="g695"><path
d="M-100.1,34c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7S-99,35-100.1,34z M-97.3,31.3 c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-96.8,32.6-96.8,31.8-97.3,31.3z"
id="path697"
fill="#EFDA48" /><path
d="M-97.3,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-96.8,32.6-96.8,31.8-97.3,31.3z"
id="path699" /></g></g><g
id="g701"><path
d="M-133.5,17c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-124.1,17-133.5,17z M-133.5-8.2c-4.5,0-8.1,3.6-8.1,8.1S-138,8-133.5,8s8.1-3.6,8.1-8.1S-129-8.2-133.5-8.2z"
id="path703"
fill="#EFDA48" /><path
d="M65.5,131.7c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S74.9,131.7,65.5,131.7z M65.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6,110.1,70,106.5,65.5,106.5z"
id="path705"
fill="#EFDA48" /><path
d="M131.2,17c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S140.6,17,131.2,17z M131.2-8.2c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S135.6-8.2,131.2-8.2z"
id="path707"
fill="#EFDA48" /><path
d="M65.5-96.6c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S74.9-96.6,65.5-96.6z M65.5-121.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6-118.1,70-121.7,65.5-121.7z"
id="path709"
fill="#EFDA48" /><path
d="M-66.5-97.6c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-57.1-97.6-66.5-97.6z M-66.5-122.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1C-58.4-119.1-62-122.7-66.5-122.7z"
id="path711"
fill="#EFDA48" /><path
d="M-66.5,131.7c-9.4,0-17.1-7.6-17.1-17.1s7.6-17.1,17.1-17.1s17.1,7.6,17.1,17.1S-57.1,131.7-66.5,131.7z M-66.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C-58.4,110.1-62,106.5-66.5,106.5z"
id="path713"
fill="#EFDA48" /></g></g><path
d="M131.2-8.2c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S135.6-8.2,131.2-8.2z"
id="path715"
fill="#FFFFFF" /><path
d="M65.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6,110.1,70,106.5,65.5,106.5 z"
id="path717"
fill="#FFFFFF" /><path
d="M-66.5,106.5c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1 C-58.4,110.1-62,106.5-66.5,106.5z"
id="path719"
fill="#FFFFFF" /><path
d="M-133.5-8.1c-4.5,0-8.1,3.6-8.1,8.1s3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1S-129-8.1-133.5-8.1z"
id="path721"
fill="#FFFFFF" /><path
d="M-66.5-122.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1c4.5,0,8.1-3.6,8.1-8.1 C-58.4-119.1-62-122.7-66.5-122.7z"
id="path723"
fill="#FFFFFF" /><path
d="M65.5-121.7c-4.5,0-8.1,3.6-8.1,8.1c0,4.5,3.6,8.1,8.1,8.1s8.1-3.6,8.1-8.1C73.6-118.1,70-121.7,65.5-121.7 z"
id="path725"
fill="#FFFFFF" /></symbol><g
id="Ebene_2"
display="none"><image
display="inline"
overflow="visible"
width="1024"
height="898"
xlink:href="file:///C:/Users/jhalleux/AppData/Local/Microsoft/Windows/INetCache/Content.Outlook/POK9Z6FJ/../../1607_Juli/Calliope/mini_mit_logo_1024.png"
transform="matrix(0.3025 0 0 0.3025 17.8521 265.1405)"
id="image728"
sodipodi:absref="C:\Users\jhalleux\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook\POK9Z6FJ\..\..\1607_Juli\Calliope\mini_mit_logo_1024.png" /></g><g
id="Ebene_1" /><g
id="Ebene_3" /><g
id="Ebene_4" /><use
style="overflow:visible"
overflow="visible"
transform="matrix(1.3709867,0,0,-1.3709867,170.13972,147.46239)"
y="-112.9"
x="-122.3"
id="XMLID_11_"
height="225.8"
width="244.60001"
xlink:href="#Mini_front" /><g
id="Ebene_7"
display="none"><polygon
display="inline"
points="717.6,154.6 604.5,154.6 604.5,54.2 589.7,54.2 589.7,154.6 476.6,154.6 476.6,169.4 589.7,169.4 589.7,221.4 604.5,221.4 604.5,169.4 717.6,169.4 "
id="polygon928"
fill="#E6007E" /><polygon
display="inline"
points="1145.9,152.4 1032.8,152.4 1032.8,52 1018,52 1018,152.4 904.9,152.4 904.9,167.2 1018,167.2 1018,219.2 1032.8,219.2 1032.8,167.2 1145.9,167.2 "
id="polygon930"
fill="#E6007E" /><polygon
display="inline"
points="1986.9,163.6 1873.8,163.6 1873.8,63.2 1859.1,63.2 1859.1,163.6 1746,163.6 1746,178.4 1859.1,178.4 1859.1,230.5 1873.8,230.5 1873.8,178.4 1986.9,178.4 "
id="polygon932"
fill="#E6007E" /><polygon
display="inline"
points="2403,163.6 2289.9,163.6 2289.9,63.2 2275.1,63.2 2275.1,163.6 2162,163.6 2162,178.4 2275.1,178.4 2275.1,230.5 2289.9,230.5 2289.9,178.4 2403,178.4 "
id="polygon934"
fill="#E6007E" /></g><g
id="Ebene_6"
display="none"><rect
x="1859.1"
y="432.2"
display="inline"
width="14.8"
height="167.2"
id="rect937"
fill="#E6007E" /><rect
x="1746"
y="532.6"
display="inline"
width="240.9"
height="14.8"
id="rect939"
fill="#E6007E" /></g></svg>

After

Width:  |  Height:  |  Size: 55 KiB

134
docs/static/calliope.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,821 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 251.8 222.2" width="251.8" height="222.2" enable-background="new 0 0 251.8 222.2" xml:space="preserve">
<symbol id="Mini_front" viewBox="-121.4 -112.4 242.4 214.1">
<g>
<use xlink:href="#calliope_mini_backside" width="296.7" height="262.1" id="XMLID_2_" x="-149.4" y="-131" transform="matrix(0.8169 0 0 0.8169 0.6672 -5.3582)" overflow="visible"/>
</g>
<g>
<g>
<polygon id="LED_0_0" fill="#FFFFFF" points="-20.9,36.6 -23,36.6 -23,42 -20.9,42 "/>
<polygon id="LED_1_0" fill="#FFFFFF" points="-9.9,36.6 -12.1,36.6 -12.1,42 -9.9,42 "/>
<polygon id="LED_2_0" fill="#FFFFFF" points="1,36.6 -1.1,36.6 -1.1,42 1,42 "/>
<polygon id="LED_3_0" fill="#FFFFFF" points="12,36.6 9.8,36.6 9.8,42 12,42 "/>
<polygon id="LED_4_0" fill="#FFFFFF" points="22.9,36.6 20.8,36.6 20.8,42 22.9,42 "/>
</g>
<g>
<polygon id="LED_0_1" fill="#FFFFFF" points="-20.9,25.9 -23,25.9 -23,31.3 -20.9,31.3 "/>
<polygon id="LED_1_1" fill="#FFFFFF" points="-9.9,25.9 -12.1,25.9 -12.1,31.3 -9.9,31.3 "/>
<polygon id="LED_2_1" fill="#FFFFFF" points="1,25.9 -1.1,25.9 -1.1,31.3 1,31.3 "/>
<polygon id="LED_3_1" fill="#FFFFFF" points="12,25.9 9.8,25.9 9.8,31.3 12,31.3 "/>
<polygon id="LED_4_1" fill="#FFFFFF" points="22.9,25.9 20.8,25.9 20.8,31.3 22.9,31.3 "/>
</g>
<g>
<polygon id="LED_0_2" fill="#FFFFFF" points="-20.9,15.2 -23,15.2 -23,20.6 -20.9,20.6 "/>
<polygon id="LED_1_2" fill="#FFFFFF" points="-9.9,15.2 -12.1,15.2 -12.1,20.6 -9.9,20.6 "/>
<polygon id="LED_2_2" fill="#FFFFFF" points="1,15.2 -1.1,15.2 -1.1,20.6 1,20.6 "/>
<polygon id="LED_3_2" fill="#FFFFFF" points="12,15.2 9.8,15.2 9.8,20.6 12,20.6 "/>
<polygon id="LED_4_2" fill="#FFFFFF" points="22.9,15.2 20.8,15.2 20.8,20.6 22.9,20.6 "/>
</g>
<g>
<polygon id="LED_0_3" fill="#FFFFFF" points="-20.9,4.4 -23,4.4 -23,9.9 -20.9,9.9 "/>
<polygon id="LED_1_3" fill="#FFFFFF" points="-9.9,4.4 -12.1,4.4 -12.1,9.9 -9.9,9.9 "/>
<polygon id="LED_2_3" fill="#FFFFFF" points="1,4.4 -1.1,4.4 -1.1,9.9 1,9.9 "/>
<polygon id="LED_3_3" fill="#FFFFFF" points="12,4.4 9.8,4.4 9.8,9.9 12,9.9 "/>
<polygon id="LED_4_3" fill="#FFFFFF" points="22.9,4.4 20.8,4.4 20.8,9.9 22.9,9.9 "/>
</g>
<g>
<polygon id="LED_0_4" fill="#FFFFFF" points="-20.9,-6.3 -23,-6.3 -23,-0.8 -20.9,-0.8 "/>
<polygon id="LED_1_4" fill="#FFFFFF" points="-9.9,-6.3 -12.1,-6.3 -12.1,-0.8 -9.9,-0.8 "/>
<polygon id="LED_2_4" fill="#FFFFFF" points="1,-6.3 -1.1,-6.3 -1.1,-0.8 1,-0.8 "/>
<polygon id="LED_3_4" fill="#FFFFFF" points="12,-6.3 9.8,-6.3 9.8,-0.8 12,-0.8 "/>
<polygon id="LED_4_4" fill="#FFFFFF" points="22.9,-6.3 20.8,-6.3 20.8,-0.8 22.9,-0.8 "/>
</g>
</g>
<path fill="#BDD1CF" d="M8.8,66.6H-8.8c-0.7,0-1.2,0.5-1.2,1.2v13.5c0,0.7,0.5,1.2,1.2,1.2H8.8c0.7,0,1.2-0.5,1.2-1.2V67.9
C10,67.2,9.4,66.6,8.8,66.6z"/>
<g id="EXT_PWR">
<path fill="#FFFFFF" d="M65.5-65.6L49.9-59c-0.8,0.3-1.1,1.2-0.8,2l8.1,19.3c0.3,0.8,1.2,1.1,2,0.8l15.6-6.6
c0.8-0.3,1.1-1.2,0.8-2l-8.1-19.3C67.2-65.6,66.3-65.9,65.5-65.6z"/>
<polygon fill="#FFFFFF" points="60.3,-41.1 50.8,-37.1 52.1,-34 61.6,-38 "/>
<polygon fill="#FFFFFF" points="52.3,-60 42.8,-56 44.1,-52.9 53.6,-56.9 "/>
</g>
<path id="SPKR" fill="#1D1D1B" d="M75.8-1.1c-9.9,0-17.9-8-17.9-17.9S65.9-37,75.8-37s17.9,8,17.9,17.9S85.7-1.1,75.8-1.1z"/>
<path fill="#333333" d="M75.8-15.6c-1.9,0-3.4-1.5-3.4-3.4s1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4S77.7-15.6,75.8-15.6z"/>
<polygon fill="#F8B133" points="37.1,-46 25.4,-46 25.4,-25 37.1,-25 "/>
<polygon fill="#1D1D1B" points="-31.8,-47.4 -43.7,-35.5 -31.8,-23.6 -19.9,-35.5 "/>
<polygon fill="#BDD1CF" points="-36.8,-54.6 -43.6,-59 -47.5,-52.9 -40.7,-48.5 "/>
</symbol>
<symbol id="calliope_mini_backside" viewBox="-149.4 -131 296.7 262.1">
<g>
<g>
<path fill="#034854" d="M-78.2,127.5L-78.2,127.5c6.2,4.6,14.6,4.8,20.9,0.5c12.5-8.4,34.7-21,56-21c23.2,0,45.7,13.5,56.4,21
c4.3,3,9.8,3.8,14.7,2l0.6-0.2c7.3-2.6,11.8-9.8,11-17.4c-1.7-15.4-3-41.9,13-62.9c16.8-21.9,31.7-31.2,42.3-34.8
c5.9-2,9.9-7.4,10.4-13.6v0c0.5-8-5.1-13.6-12.3-17c-12-5.7-30.8-15.7-42.8-36.2C77.6-77,79-103.4,80.6-114.8
c0.7-5.1-1.6-10.1-5.9-12.8c-4.8-3-11.9-4.6-21.4,1.5c-5.5,3.6-12,8.6-20.8,12c-10.8,4.1-16.9,5.5-20.3,5.8
c-2.4,0.2-4.4,1.8-5.2,4c-1.1,2.9-3.4,6.2-8.2,6.2c-5,0-7.2-3.6-8.2-6.6c-0.8-2.5-3.3-3.4-5.9-3.7c-4.9-0.4-12.5-2.4-20.5-6.1
c-7.1-3.3-14-7.9-20.4-12.7c-5.5-4.1-15-5.5-20.4-1.3l0,0c-5.7,4.4-7.4,11.7-6.5,18.8c1.9,15.3,1.1,43.3-16.7,64.2
C-117.4-24.6-128-19.2-137-16.3c-3.9,1.3-11.4,5.4-12.3,14.1s3,14.5,10.9,18.4c12.3,6.1,30.5,17.2,42.1,34.1
c15.1,22,15.1,48.1,13.1,61.7C-83.9,117.7-82.8,124.1-78.2,127.5z"/>
<g id="holes_5_">
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-54.6-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-53.1-89.3-54.6-89.3z
M-54.6-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-53.9-93.1-54.6-93.1z"/>
<path fill="#1D1D1B" d="M-54.6-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-53.9-93.1-54.6-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-45.8-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-44.3-89.3-45.8-89.3z
M-45.8-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-45.1-93.1-45.8-93.1z"/>
<path fill="#1D1D1B" d="M-45.8-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-45.1-93.1-45.8-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-37-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-35.5-89.3-37-89.3z
M-37-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-36.3-93.1-37-93.1z"/>
<path fill="#1D1D1B" d="M-37-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S-36.3-93.1-37-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-28.2-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-26.7-89.3-28.2-89.3z
M-28.2-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-27.5-93.1-28.2-93.1z"/>
<path fill="#1D1D1B" d="M-28.2-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-27.5-93.1-28.2-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-19.3-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-89.3-19.3-89.3z
M-19.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-18.7-93.1-19.3-93.1z"/>
<path fill="#1D1D1B" d="M-19.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-18.7-93.1-19.3-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-89.3-10.5-89.3z
M-10.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-9.8-93.1-10.5-93.1z"/>
<path fill="#1D1D1B" d="M-10.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-9.8-93.1-10.5-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-89.3-1.7-89.3z M-1.7-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-1-93.1-1.7-93.1z"/>
<path fill="#1D1D1B" d="M-1.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S-1-93.1-1.7-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-89.3,7.1-89.3z M7.1-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S7.8-93.1,7.1-93.1z"/>
<path fill="#1D1D1B" d="M7.1-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2S7.8-93.1,7.1-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-89.3,15.9-89.3z M15.9-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S16.6-93.1,15.9-93.1z"/>
<path fill="#1D1D1B" d="M15.9-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S16.6-93.1,15.9-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M24.7-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S26.1-89.3,24.7-89.3z
M24.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S25.4-93.1,24.7-93.1z"/>
<path fill="#1D1D1B" d="M24.7-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S25.4-93.1,24.7-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M33.5-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S35-89.3,33.5-89.3z M33.5-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S34.2-93.1,33.5-93.1z"/>
<path fill="#1D1D1B" d="M33.5-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S34.2-93.1,33.5-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M42.3-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S43.8-89.3,42.3-89.3z M42.3-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S43-93.1,42.3-93.1z"/>
<path fill="#1D1D1B" d="M42.3-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S43-93.1,42.3-93.1z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M51.1-89.3c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S52.6-89.3,51.1-89.3z M51.1-93.1
c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S51.8-93.1,51.1-93.1z"/>
<path fill="#1D1D1B" d="M51.1-93.1c-0.7,0-1.2,0.6-1.2,1.2s0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2S51.8-93.1,51.1-93.1z"/>
</g>
</g>
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-54.6-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-53.1-80.4-54.6-80.4z
M-54.6-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-53.3-83.7-53.9-84.3-54.6-84.3z"/>
<path fill="#1D1D1B" d="M-54.6-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-53.3-83.7-53.9-84.3-54.6-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-45.8-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-44.3-80.4-45.8-80.4z
M-45.8-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-44.5-83.7-45.1-84.3-45.8-84.3z"/>
<path fill="#1D1D1B" d="M-45.8-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-44.5-83.7-45.1-84.3-45.8-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-37-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-35.5-80.4-37-80.4z
M-37-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C-35.7-83.7-36.3-84.3-37-84.3z"/>
<path fill="#1D1D1B" d="M-37-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C-35.7-83.7-36.3-84.3-37-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-28.2-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-26.7-80.4-28.2-80.4z
M-28.2-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-26.9-83.7-27.5-84.3-28.2-84.3z"/>
<path fill="#1D1D1B" d="M-28.2-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-26.9-83.7-27.5-84.3-28.2-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-19.3-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-80.4-19.3-80.4z
M-19.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-18.1-83.7-18.7-84.3-19.3-84.3z"/>
<path fill="#1D1D1B" d="M-19.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-18.1-83.7-18.7-84.3-19.3-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-80.4-10.5-80.4z
M-10.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-9.3-83.7-9.8-84.3-10.5-84.3z"/>
<path fill="#1D1D1B" d="M-10.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-9.3-83.7-9.8-84.3-10.5-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-80.4-1.7-80.4z M-1.7-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-83.7-1-84.3-1.7-84.3z"/>
<path fill="#1D1D1B" d="M-1.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-83.7-1-84.3-1.7-84.3z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-80.4,7.1-80.4z M7.1-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-83.7,7.8-84.3,7.1-84.3z"/>
<path fill="#1D1D1B" d="M7.1-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-83.7,7.8-84.3,7.1-84.3z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-80.4,15.9-80.4z M15.9-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C17.1-83.7,16.6-84.3,15.9-84.3z"/>
<path fill="#1D1D1B" d="M15.9-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C17.1-83.7,16.6-84.3,15.9-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M24.7-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S26.1-80.4,24.7-80.4z
M24.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C25.9-83.7,25.4-84.3,24.7-84.3z"/>
<path fill="#1D1D1B" d="M24.7-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C25.9-83.7,25.4-84.3,24.7-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M33.5-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S35-80.4,33.5-80.4z M33.5-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C34.8-83.7,34.2-84.3,33.5-84.3z"/>
<path fill="#1D1D1B" d="M33.5-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C34.8-83.7,34.2-84.3,33.5-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M42.3-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S43.8-80.4,42.3-80.4z M42.3-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C43.6-83.7,43-84.3,42.3-84.3z"/>
<path fill="#1D1D1B" d="M42.3-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C43.6-83.7,43-84.3,42.3-84.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M51.1-80.4c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S52.6-80.4,51.1-80.4z M51.1-84.3
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C52.4-83.7,51.8-84.3,51.1-84.3z"/>
<path fill="#1D1D1B" d="M51.1-84.3c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C52.4-83.7,51.8-84.3,51.1-84.3z"/>
</g>
</g>
<g display="none">
<g display="inline">
<path fill="#EFDA48" d="M-19.3-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6c1.4,0,2.6,1.2,2.6,2.6S-17.9-63.5-19.3-63.5z
M-19.3-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-18.1-66.8-18.7-67.4-19.3-67.4z"/>
<path fill="#1D1D1B" d="M-19.3-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-18.1-66.8-18.7-67.4-19.3-67.4z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-10.5-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-9.1-63.5-10.5-63.5z
M-10.5-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-9.3-66.8-9.8-67.4-10.5-67.4z"/>
<path fill="#1D1D1B" d="M-10.5-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2
C-9.3-66.8-9.8-67.4-10.5-67.4z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-1.7-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S-0.3-63.5-1.7-63.5z M-1.7-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-66.8-1-67.4-1.7-67.4z"/>
<path fill="#1D1D1B" d="M-1.7-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C-0.5-66.8-1-67.4-1.7-67.4z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M7.1-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S8.5-63.5,7.1-63.5z M7.1-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-66.8,7.8-67.4,7.1-67.4z"/>
<path fill="#1D1D1B" d="M7.1-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2s1.2-0.6,1.2-1.2C8.3-66.8,7.8-67.4,7.1-67.4z
"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M15.9-63.5c-1.4,0-2.6-1.2-2.6-2.6s1.2-2.6,2.6-2.6s2.6,1.2,2.6,2.6S17.3-63.5,15.9-63.5z M15.9-67.4
c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2C17.1-66.8,16.6-67.4,15.9-67.4z"/>
<path fill="#1D1D1B" d="M15.9-67.4c-0.7,0-1.2,0.6-1.2,1.2c0,0.7,0.6,1.2,1.2,1.2c0.7,0,1.2-0.6,1.2-1.2
C17.1-66.8,16.6-67.4,15.9-67.4z"/>
</g>
</g>
<g display="none">
<g display="inline">
<polygon fill="#EFDA48" points="96,28 92.4,31.6 96,35.2 99.6,31.6 "/>
<path fill="#1D1D1B" d="M95.1,30.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C96.4,30.3,95.6,30.3,95.1,30.8z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M103,28.6c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7s2.7-1,3.7,0S104,27.5,103,28.6z M100.3,25.8
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C101.6,25.3,100.8,25.3,100.3,25.8z"/>
<path fill="#1D1D1B" d="M100.3,25.8c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C101.6,25.3,100.8,25.3,100.3,25.8z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M107.7,24c-1,1-2.7,1-3.7,0c-1-1-1-2.7,0-3.7s2.7-1,3.7,0S108.7,23,107.7,24z M104.9,21.3
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C106.2,20.8,105.4,20.8,104.9,21.3z"/>
<path fill="#1D1D1B" d="M104.9,21.3c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C106.2,20.8,105.4,20.8,104.9,21.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M113,18.7c-1,1-2.7,1-3.7,0s-1-2.7,0-3.7c1-1,2.7-1,3.7,0S114,17.7,113,18.7z M110.2,16
c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8C111.5,15.5,110.7,15.5,110.2,16z"/>
<path fill="#1D1D1B" d="M110.2,16c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0c0.5-0.5,0.5-1.3,0-1.8
C111.5,15.5,110.7,15.5,110.2,16z"/>
</g>
</g>
<g display="none">
<g display="inline">
<polygon fill="#EFDA48" points="-110.4,17 -114,13.4 -117.7,17 -114,20.7 "/>
<path fill="#1D1D1B" d="M-113.2,16.2c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0
C-112.7,17.5-112.7,16.7-113.2,16.2z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-111,24.1c-1-1-1-2.7,0-3.7s2.7-1,3.7,0c1,1,1,2.7,0,3.7S-110,25.1-111,24.1z M-108.3,21.3
c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0C-107.8,22.6-107.8,21.8-108.3,21.3z"/>
<path fill="#1D1D1B" d="M-108.3,21.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8c0.5,0.5,1.3,0.5,1.8,0
C-107.8,22.6-107.8,21.8-108.3,21.3z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-106.4,28.7c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7C-103.7,29.8-105.4,29.8-106.4,28.7z
M-103.7,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-103.2,27.3-103.2,26.5-103.7,26z"/>
<path fill="#1D1D1B" d="M-103.7,26c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0
C-103.2,27.3-103.2,26.5-103.7,26z"/>
</g>
<g display="inline">
<path fill="#EFDA48" d="M-101.2,34c-1-1-1-2.7,0-3.7c1-1,2.7-1,3.7,0c1,1,1,2.7,0,3.7C-98.5,35-100.1,35-101.2,34z
M-98.4,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0C-97.9,32.6-97.9,31.8-98.4,31.3z"/>
<path fill="#1D1D1B" d="M-98.4,31.3c-0.5-0.5-1.3-0.5-1.8,0c-0.5,0.5-0.5,1.3,0,1.8s1.3,0.5,1.8,0
C-97.9,32.6-97.9,31.8-98.4,31.3z"/>
</g>
</g>
</g>
<path fill="#FFFFFF" d="M130.1-10.2c-5,0-10.1,5.1-10.1,10.1S125.1,10,130.1,10c5,0,10.1-5.1,10.1-10.1S135-10.2,130.1-10.2z"/>
<path fill="#FFFFFF" d="M64.4,104.8c-5.4,0-9.9,4.4-9.9,9.9c0,5.4,4.4,9.9,9.9,9.9s9.9-4.4,9.9-9.9
C74.3,109.2,69.8,104.8,64.4,104.8z"/>
<path fill="#FFFFFF" d="M-67.6,104.3c-5.7,0-10.4,4.6-10.4,10.4s4.6,10.4,10.4,10.4s10.4-4.6,10.4-10.4S-61.9,104.3-67.6,104.3z"
/>
<path fill="#FFFFFF" d="M-134.6-10.2c-5.6,0-10.1,4.5-10.1,10.1s4.5,11.4,10.1,11.4s10.1-5.8,10.1-11.4S-129-10.2-134.6-10.2z"/>
<path fill="#FFFFFF" d="M-67.6-124.7c-5.6,0-10.1,4.5-10.1,10.1s4.5,10.1,10.1,10.1c5.6,0,10.1-4.5,10.1-10.1
S-62-124.7-67.6-124.7z"/>
<path fill="#FFFFFF" d="M64.4-124c-5.7,0-10.4,4.6-10.4,10.4s4.6,10.4,10.4,10.4s10.4-4.6,10.4-10.4S70.1-124,64.4-124z"/>
</g>
</g>
</symbol>
<g id="Ebene_1">
<use xlink:href="#Mini_front" width="242.4" height="214.1" id="XMLID_11_" x="-121.4" y="-112.4" transform="matrix(1 0 0 -1 126.0595 105.6499)" overflow="visible"/>
<rect x="69.7" y="101.1" fill="#1D1D1B" width="10.1" height="6.1"/>
<path fill="#FFFFFF" d="M30.1,125.2c0,0.3,0,0.5-0.1,0.7c-0.1,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.5c-0.1-0.2-0.1-0.4-0.1-0.7v-0.9
c0-0.3,0-0.5,0.1-0.7c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1
c0.2,0.1,0.3,0.2,0.4,0.3c0.1,0.1,0.2,0.3,0.3,0.5c0.1,0.2,0.1,0.4,0.1,0.7V125.2z M28,125.1l1.5-1.2c0-0.3-0.1-0.5-0.2-0.6
c-0.1-0.1-0.3-0.2-0.5-0.2c-0.3,0-0.5,0.1-0.6,0.3c-0.1,0.2-0.2,0.4-0.2,0.8V125.1z M29.6,124.4l-1.5,1.2c0,0.3,0.1,0.4,0.2,0.6
c0.1,0.1,0.3,0.2,0.5,0.2c0.3,0,0.5-0.1,0.6-0.3c0.1-0.2,0.2-0.4,0.2-0.8V124.4z"/>
<path fill="#FFFFFF" d="M92.7,18h-4v-0.8h4V18z"/>
<path fill="#FFFFFF" d="M162.3,17.3h1.7v0.8h-1.7v1.9h-0.8v-1.9h-1.7v-0.8h1.7v-1.8h0.8V17.3z"/>
<path fill="#FFFFFF" d="M222.1,124.5h0.4c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.2-0.1-0.4-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1
c-0.1,0.1-0.1,0.1-0.1,0.2s-0.1,0.2-0.1,0.3h-0.5c0-0.1,0-0.3,0.1-0.4c0.1-0.1,0.1-0.2,0.2-0.3c0.1-0.1,0.2-0.2,0.4-0.2
c0.1-0.1,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.1,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.2,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2,0,0.2s-0.1,0.2-0.1,0.2c0,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2c0.1,0,0.2,0.1,0.3,0.2
c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3s0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.2,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3
c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.2s0.1,0.1,0.2,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0
c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0h-0.4V124.5z"/>
<path fill="#FFFFFF" d="M90.2,203.7h-0.5v-3.3l-1,0.4v-0.5l1.5-0.6h0V203.7z"/>
<path fill="#FFFFFF" d="M163.8,203.7h-2.6v-0.4l1.3-1.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.1-0.2,0.2-0.3c0-0.1,0.1-0.2,0.1-0.2
c0-0.1,0-0.2,0-0.2c0-0.1,0-0.2,0-0.3c0-0.1-0.1-0.2-0.1-0.2c-0.1-0.1-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3h-0.5c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.2
c0.1,0.1,0.2,0.2,0.2,0.3c0.1,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.3
c-0.1,0.1-0.2,0.2-0.3,0.3l-1.1,1.1h2V203.7z"/>
<path fill="#FFFFFF" d="M131.7,128.3v-3.9h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.2,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.2,0.2s0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H131.7z M132.2,126h0.7c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.2-0.1
c-0.1,0-0.2,0-0.3,0h-0.7V126z M132.2,126.4v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1H132.2z"/>
<path fill="#FFFFFF" d="M136.9,127.3h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L136.9,127.3z M135.7,126.8h1l-0.5-1.7L135.7,126.8
z"/>
<path fill="#FFFFFF" d="M141,124.8h-1.2v3.5h-0.5v-3.5H138v-0.4h2.9V124.8z"/>
<path fill="#FFFFFF" d="M144.3,124.8h-1.2v3.5h-0.5v-3.5h-1.2v-0.4h2.9V124.8z"/>
<path fill="#FFFFFF" d="M147.1,126.5h-1.6v1.4h1.9v0.4H145v-3.9h2.4v0.4h-1.9v1.3h1.6V126.5z"/>
<path fill="#FFFFFF" d="M149.6,126.7h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1s0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L149.6,126.7z M148.8,126.3h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V126.3z"/>
<path fill="#FFFFFF" d="M151.6,124.3h2.4v0.4H153v3.1h0.9v0.4h-2.4v-0.4h0.9v-3.1h-0.9V124.3z"/>
<path fill="#FFFFFF" d="M157.1,126.5h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V126.5z"/>
<path fill="#FFFFFF" d="M132.2,121.5h1.9v0.4h-2.4V118h0.5V121.5z"/>
<path fill="#FFFFFF" d="M136.8,120.9h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L136.8,120.9z M135.6,120.4h1l-0.5-1.7L135.6,120.4
z"/>
<path fill="#FFFFFF" d="M140.7,118l0,2.7c0,0.2,0,0.4-0.1,0.5c-0.1,0.2-0.2,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.2-0.1-0.3-0.1-0.5
l0-2.7h0.5l0,2.7c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.3s0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3c0-0.1,0.1-0.2,0.1-0.3l0-2.7H140.7z"/>
<path fill="#FFFFFF" d="M144.2,118.4H143v3.5h-0.5v-3.5h-1.2V118h2.9V118.4z"/>
<path fill="#FFFFFF" d="M147,120.9c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4s0.1,0.3,0.1,0.5H147c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2s-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C146.9,121.1,147,121,147,120.9z"/>
<path fill="#FFFFFF" d="M148.8,120.3v1.6h-0.5V118h1.3c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5s0,0.4-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4s-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H148.8z M148.8,119.9
h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.2-0.1-0.3-0.1h-0.8V119.9z"/>
<path fill="#FFFFFF" d="M152.9,120.3h-0.8v1.6h-0.5V118h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4s-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0
h-0.5L152.9,120.3z M152.1,119.9h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V119.9z"/>
<path fill="#FFFFFF" d="M157,120.1h-1.6v1.4h1.9v0.4h-2.4V118h2.4v0.4h-1.9v1.3h1.6V120.1z"/>
<path fill="#FFFFFF" d="M160.7,120.7c0,0.2-0.1,0.3-0.1,0.5c-0.1,0.2-0.2,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.1,0.4-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.3
c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.2,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.6c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3
s0.1-0.2,0.1-0.3H160.7z"/>
<path fill="#FFFFFF" d="M164,121.9h-0.5v-1.8h-1.6v1.8h-0.5V118h0.5v1.7h1.6V118h0.5V121.9z"/>
<path fill="#FFFFFF" d="M167,120.1h-1.6v1.4h1.9v0.4h-2.4V118h2.4v0.4h-1.9v1.3h1.6V120.1z"/>
<path fill="#FFFFFF" d="M169.5,120.3h-0.8v1.6h-0.5V118h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L169.5,120.3z M168.7,119.9h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2,0-0.3-0.1h-0.7V119.9z"/>
<path fill="#FFFFFF" d="M38.6,121.8h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4s-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0
h-0.5L38.6,121.8z M37.8,121.4h0.7c0.1,0,0.2,0,0.3-0.1s0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V121.4z"/>
<path fill="#FFFFFF" d="M43.2,122.9c-0.2,0.2-0.4,0.3-0.6,0.4s-0.4,0.1-0.7,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4
c0-0.1,0.1-0.3,0.1-0.4c0.1-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.4-0.2c0.1,0,0.3-0.1,0.4-0.1
c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1-0.1-0.2-0.1-0.3
s-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2
c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0c0.1,0,0.1-0.1,0.2-0.1c0.1,0,0.1-0.1,0.2-0.1l0-0.9h-0.8v-0.4h1.3L43.2,122.9z"/>
<path fill="#FFFFFF" d="M43.9,123.4v-3.9h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.3,0.1,0.5
c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2c-0.1,0.1-0.2,0.1-0.2,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4
c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H43.9z M44.4,121.1h0.7c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.2-0.1
c-0.1,0-0.2,0-0.3,0h-0.7V121.1z M44.4,121.6v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1H44.4z"/>
<path fill="#FFFFFF" d="M49.3,123h1.9v0.4h-2.4v-3.9h0.5V123z"/>
<path fill="#FFFFFF" d="M54.2,121.6h-1.6v1.4h1.9v0.4H52v-3.9h2.4v0.4h-1.9v1.3h1.6V121.6z"/>
<path fill="#FFFFFF" d="M55.3,123.4v-3.9h0.9c0.3,0,0.5,0.1,0.7,0.1c0.2,0.1,0.4,0.2,0.5,0.4c0.1,0.2,0.3,0.4,0.3,0.6
c0.1,0.2,0.1,0.5,0.1,0.7v0.3c0,0.3,0,0.5-0.1,0.7c-0.1,0.2-0.2,0.4-0.3,0.6c-0.1,0.2-0.3,0.3-0.5,0.4c-0.2,0.1-0.5,0.1-0.7,0.1
H55.3z M55.8,119.9v3.1h0.4c0.2,0,0.4,0,0.6-0.1c0.2-0.1,0.3-0.2,0.4-0.3c0.1-0.1,0.2-0.3,0.2-0.4c0-0.2,0.1-0.4,0.1-0.6v-0.3
c0-0.2,0-0.4-0.1-0.6c-0.1-0.2-0.1-0.3-0.2-0.4c-0.1-0.1-0.2-0.2-0.4-0.3s-0.3-0.1-0.6-0.1H55.8z"/>
<path fill="#FFFFFF" d="M37.8,117h1.9v0.4h-2.4v-3.9h0.5V117z"/>
<path fill="#FFFFFF" d="M42.4,116.4h-1.3l-0.3,1h-0.5l1.3-3.9H42l1.2,3.9h-0.5L42.4,116.4z M41.3,116h1l-0.5-1.7L41.3,116z"/>
<path fill="#FFFFFF" d="M46.4,116.9c-0.2,0.2-0.4,0.3-0.6,0.4s-0.4,0.1-0.7,0.1c-0.2,0-0.3,0-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.5c0-0.1,0-0.3,0-0.4
c0-0.1,0.1-0.3,0.1-0.4s0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.4-0.2s0.3-0.1,0.4-0.1c0.2,0,0.4,0,0.5,0.1
c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2s-0.1,0.1-0.2,0.2
c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3
c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0
c0.1,0,0.1-0.1,0.2-0.1c0.1,0,0.1-0.1,0.2-0.1l0-0.9h-0.8v-0.4h1.3L46.4,116.9z"/>
<path fill="#FFFFFF" d="M49.4,115.6h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V115.6z"/>
<path fill="#FFFFFF" d="M52.6,116.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2s0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
c0.1,0.1,0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C52.6,116.7,52.6,116.6,52.6,116.5z"/>
<path fill="#FFFFFF" d="M56,115.6h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3H56V115.6z"/>
<path fill="#FFFFFF" d="M59.6,117.4h-0.5l-1.5-2.9l0,2.9h-0.5v-3.9h0.5l1.5,2.9l0-2.9h0.5V117.4z"/>
<path fill="#FFFFFF" d="M62.6,116.5c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1s0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C62.5,116.7,62.6,116.6,62.6,116.5z"/>
<path fill="#FFFFFF" d="M66.4,115.7c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
c-0.1,0.1-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.2-0.3-0.3
c-0.1-0.1-0.1-0.2-0.2-0.4s-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4
c0-0.1,0.1-0.3,0.2-0.4c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.3,0,0.4,0.1
c0.1,0.1,0.2,0.1,0.3,0.2s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.3,0,0.4V115.7z M65.9,115.3
c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1s-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
s0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2,0.1-0.3s0-0.2,0-0.3V115.3z"/>
<path fill="#FFFFFF" d="M68.4,115.8h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L68.4,115.8z M67.7,115.4h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V115.4z"/>
<path fill="#FFFFFF" d="M184.1,49.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.5-0.2-0.9-0.2h-1v1.8h1.1
C183.6,49.7,183.9,49.6,184.1,49.5z"/>
<path fill="#FFFFFF" d="M183.6,50.7h-1.5v2.1h1.3c0.4,0,0.7-0.1,0.9-0.3c0.2-0.2,0.3-0.4,0.3-0.7c0-0.4-0.1-0.6-0.3-0.8
C184.3,50.8,184,50.7,183.6,50.7z"/>
<path fill="#FFFFFF" d="M188.5,47.4c-1.3-2.9-4.8-4.2-7.7-2.9l-1.5,0.7c-2.9,1.3-4.2,4.8-2.9,7.7l6.2,13.9l12.1-5.5L188.5,47.4z
M185.5,53.6c-0.5,0.4-1.1,0.5-2,0.5H180v-0.9l0.8-0.2v-5.2l-0.8-0.2v-0.9h0.8h2.5c0.9,0,1.5,0.2,2,0.5c0.5,0.3,0.7,0.8,0.7,1.5
c0,0.3-0.1,0.6-0.3,0.9c-0.2,0.3-0.4,0.5-0.8,0.6c0.4,0.1,0.8,0.3,1,0.6c0.2,0.3,0.3,0.7,0.3,1.1C186.2,52.7,186,53.2,185.5,53.6z"
/>
<path fill="#FFFFFF" d="M157.7,98.3h-0.6l-0.1-0.5c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.3-0.1-0.4-0.1c-0.3,0-0.6,0.1-0.8,0.4
c-0.2,0.2-0.3,0.6-0.3,1V99c0,0.4,0.1,0.7,0.3,1c0.2,0.2,0.4,0.4,0.8,0.4c0.2,0,0.3,0,0.4-0.1c0.1,0,0.2-0.1,0.3-0.2l0.1-0.5h0.6
v0.8c-0.2,0.2-0.4,0.3-0.6,0.4c-0.2,0.1-0.5,0.2-0.8,0.2c-0.5,0-1-0.2-1.3-0.5c-0.3-0.4-0.5-0.8-0.5-1.4v-0.1c0-0.6,0.2-1,0.5-1.4
c0.3-0.4,0.8-0.5,1.3-0.5c0.3,0,0.6,0.1,0.8,0.2c0.2,0.1,0.4,0.3,0.6,0.4V98.3z"/>
<path fill="#FFFFFF" d="M158.4,100.4l0.3,0l1.2-3.4h0.8l1.2,3.4l0.3,0v0.5h-1.3v-0.5l0.3,0l-0.2-0.5h-1.3l-0.2,0.5l0.3,0v0.5h-1.3
V100.4z M159.8,99.3h0.9l-0.4-1.4h0L159.8,99.3z"/>
<path fill="#FFFFFF" d="M162.7,100.9v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h0.8h0.4v0.5l-0.4,0.1v2.7h1.1l0-0.5h0.6v1.1H162.7z"/>
<path fill="#FFFFFF" d="M166.2,100.9v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h0.8h0.4v0.5l-0.4,0.1v2.7h1.1l0-0.5h0.6v1.1H166.2z"/>
<path fill="#FFFFFF" d="M169.8,97.5V97h1.6v0.5l-0.4,0.1v2.8l0.4,0.1v0.5h-1.6v-0.5l0.4-0.1v-2.8L169.8,97.5z"/>
<path fill="#FFFFFF" d="M175.6,99c0,0.6-0.2,1-0.5,1.4c-0.3,0.4-0.8,0.6-1.3,0.6c-0.5,0-1-0.2-1.3-0.6c-0.3-0.4-0.5-0.8-0.5-1.4
v-0.1c0-0.6,0.2-1,0.5-1.4c0.3-0.4,0.7-0.6,1.3-0.6c0.5,0,1,0.2,1.3,0.6C175.4,97.9,175.6,98.4,175.6,99L175.6,99z M174.8,98.9
c0-0.4-0.1-0.7-0.3-1c-0.2-0.3-0.4-0.4-0.7-0.4s-0.6,0.1-0.7,0.4c-0.2,0.2-0.2,0.6-0.2,1V99c0,0.4,0.1,0.7,0.2,1
c0.2,0.3,0.4,0.4,0.7,0.4c0.3,0,0.6-0.1,0.7-0.4C174.7,99.7,174.8,99.4,174.8,98.9L174.8,98.9z"/>
<path fill="#FFFFFF" d="M178.1,97c0.4,0,0.8,0.1,1.1,0.3c0.3,0.2,0.4,0.5,0.4,0.9c0,0.4-0.1,0.7-0.4,0.9c-0.3,0.2-0.6,0.3-1.1,0.3
h-0.7v0.9l0.4,0.1v0.5h-1.6v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4H178.1z M177.4,98.9h0.7c0.2,0,0.4-0.1,0.5-0.2
c0.1-0.1,0.2-0.3,0.2-0.5c0-0.2-0.1-0.3-0.2-0.5c-0.1-0.1-0.3-0.2-0.5-0.2h-0.7V98.9z"/>
<path fill="#FFFFFF" d="M182.6,99.2h-1.3v1.1h1.3l0-0.5h0.6v1.1h-3.1v-0.5l0.4-0.1v-2.8l-0.4-0.1V97h0.4h2.7v1.1h-0.6l0-0.5h-1.2v1
h1.3V99.2z"/>
<path fill="#FFFFFF" d="M155.8,105.7l0,0.7c0.1-0.2,0.3-0.4,0.5-0.6c0.2-0.1,0.5-0.2,0.8-0.2c0.3,0,0.5,0.1,0.7,0.2
s0.3,0.3,0.4,0.5c0.1-0.2,0.3-0.4,0.5-0.5c0.2-0.1,0.4-0.2,0.7-0.2c0.2,0,0.4,0,0.6,0.1c0.2,0.1,0.3,0.2,0.4,0.3
c0.1,0.1,0.2,0.3,0.3,0.6c0.1,0.2,0.1,0.5,0.1,0.8v4.6h-1.3v-4.6c0-0.3-0.1-0.4-0.2-0.5c-0.1-0.1-0.2-0.1-0.4-0.1
c-0.2,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.2-0.2,0.3v4.8H157v-4.6c0-0.2,0-0.4-0.1-0.5c-0.1-0.1-0.2-0.1-0.4-0.1c-0.2,0-0.3,0-0.4,0.1
c-0.1,0.1-0.2,0.2-0.2,0.3v4.8h-1.3v-6.3H155.8z"/>
<path fill="#FFFFFF" d="M162.8,105.7h3.3v5.1h1.9v1.1h-5.2v-1.1h1.9v-4h-1.9V105.7z M164.7,104.1c0-0.2,0.1-0.4,0.2-0.5
c0.1-0.1,0.3-0.2,0.6-0.2c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.5c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.6,0.2
c-0.3,0-0.4-0.1-0.6-0.2C164.7,104.5,164.7,104.3,164.7,104.1z"/>
<path fill="#FFFFFF" d="M171.4,105.7l0.1,0.9c0.2-0.3,0.5-0.6,0.8-0.7c0.3-0.2,0.7-0.3,1.1-0.3c0.3,0,0.6,0,0.9,0.1
c0.3,0.1,0.5,0.2,0.7,0.4c0.2,0.2,0.3,0.5,0.4,0.8c0.1,0.3,0.2,0.7,0.2,1.1v3.9h-1.4v-3.9c0-0.3,0-0.5-0.1-0.6
c-0.1-0.2-0.1-0.3-0.3-0.4c-0.1-0.1-0.2-0.2-0.4-0.2c-0.2,0-0.3-0.1-0.5-0.1c-0.3,0-0.6,0.1-0.8,0.2c-0.2,0.1-0.4,0.3-0.5,0.5v4.5
h-1.4v-6.3H171.4z"/>
<path fill="#FFFFFF" d="M178,105.7h3.3v5.1h1.9v1.1H178v-1.1h1.9v-4H178V105.7z M179.8,104.1c0-0.2,0.1-0.4,0.2-0.5
c0.1-0.1,0.3-0.2,0.6-0.2c0.3,0,0.5,0.1,0.6,0.2c0.1,0.1,0.2,0.3,0.2,0.5c0,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.3,0.2-0.6,0.2
c-0.3,0-0.4-0.1-0.6-0.2C179.9,104.5,179.8,104.3,179.8,104.1z"/>
<path fill="#FFFFFF" d="M165.9,82.8h-2.1c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,1.8,0,1.6c0-1.3-1.1-2.4-2.4-2.4c-1.3,0-2.4,1.1-2.4,2.4
c0,0.2,0,1.6,0,2.6l-2.8,2.1c-1.9,1.5-0.9,4.5,1.5,4.5h0.6c0.2-1.8,0.8-3.9,1.9-5.3h0.1h2.5c1.1,1.3,1.6,3.5,1.9,5.3l0.8,0
c0.9,0,1.6-0.7,1.6-1.6v-6.1v-3.1C166.5,83.1,166.2,82.8,165.9,82.8z M159.9,84.1h2v1.3c0,0.4-0.3,0.8-0.8,0.8h-0.4
c-0.4,0-0.8-0.3-0.8-0.8V84.1z M159.4,88l0.9-1.7l0.5,1.7H159.4z M160.9,88l0.5-1.7l0.9,1.7H160.9z M163.6,86.5v-2.9h2.4v2.9H163.6
z"/>
<path fill="#FFFFFF" d="M162.8,94.3c-1.3-0.9-2.3-3.3-3.2-5.3v5.3L162.8,94.3z"/>
<polygon fill="#FFFFFF" points="120.5,134.9 106,134.9 93.1,121.7 59.6,121.6 59.6,120.9 93.4,120.9 106.3,134.2 120.5,134.2 "/>
<polygon fill="#FFFFFF" points="110.5,146.8 103.5,146.8 102.1,145.3 102.6,144.7 103.8,146 110.5,146 "/>
<path fill="#FFFFFF" d="M112.7,146.9v1.6h-0.5v-3.9h1.3c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5s0,0.4-0.1,0.5c-0.1,0.1-0.2,0.3-0.3,0.4c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H112.7z
M112.7,146.5h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1s0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.2c-0.1,0-0.2-0.1-0.3-0.1h-0.8V146.5z"/>
<path fill="#FFFFFF" d="M116.7,146.9H116v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L116.7,146.9z M116,146.5h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2s-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1H116V146.5z"/>
<path fill="#FFFFFF" d="M121.3,146.8c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
s-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1c0.2,0,0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.2
s0.2,0.2,0.3,0.3c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4c0,0.1,0,0.3,0,0.4V146.8z M120.8,146.3c0-0.1,0-0.2,0-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0.1c-0.1,0-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3
c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2
c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2,0.1-0.3s0-0.2,0-0.3V146.3z"/>
<path fill="#FFFFFF" d="M122.5,148.1h2v0.4h-2.6l0-0.4l2-3.1H122v-0.4h2.5l0,0.4L122.5,148.1z"/>
<path fill="#FFFFFF" d="M127.6,146.7h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V146.7z"/>
<path fill="#FFFFFF" d="M130.8,147.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4s0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4s0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C130.8,147.7,130.8,147.6,130.8,147.5z"/>
<path fill="#FFFFFF" d="M134.1,147.5c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4s0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2
s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3
c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C134.1,147.7,134.1,147.6,134.1,147.5z"/>
<path fill="#FFFFFF" d="M137.9,146.8c0,0.1,0,0.3,0,0.4c0,0.1-0.1,0.3-0.1,0.4c0,0.1-0.1,0.3-0.2,0.4c-0.1,0.1-0.2,0.2-0.3,0.3
s-0.2,0.2-0.3,0.2c-0.1,0-0.3,0.1-0.4,0.1s-0.3,0-0.4-0.1c-0.1,0-0.2-0.1-0.3-0.2s-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.2-0.2-0.4
c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.3,0-0.4v-0.4c0-0.1,0-0.3,0-0.4c0-0.1,0.1-0.3,0.1-0.4c0-0.1,0.1-0.3,0.2-0.4
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.2-0.2,0.3-0.2c0.1,0,0.3-0.1,0.4-0.1s0.3,0,0.4,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.2,0.2,0.3,0.3
c0.1,0.1,0.1,0.2,0.2,0.4c0,0.1,0.1,0.3,0.1,0.4s0,0.3,0,0.4V146.8z M137.4,146.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2-0.1-0.3
c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0.1
s-0.2,0.1-0.2,0.2c-0.1,0.1-0.1,0.2-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2-0.1,0.3c0,0.1,0,0.2,0,0.3v0.5c0,0.1,0,0.2,0,0.3
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.1,0.1,0.2,0.2s0.2,0.1,0.3,0.1s0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2,0.1-0.3c0-0.1,0-0.2,0-0.3V146.3z"/>
<path fill="#FFFFFF" d="M140,146.9h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3s-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7l0,0h-0.5
L140,146.9z M139.2,146.5h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V146.5z"/>
<polygon fill="#FFFFFF" points="74.3,115.9 71.3,115.9 71.3,115.2 74,115.2 74.5,114.6 74.5,107.2 75.2,107.2 75.2,115 "/>
<path fill="#FFFFFF" d="M116.3,54l0,2.7c0,0.2,0,0.4-0.1,0.5s-0.2,0.3-0.3,0.4s-0.2,0.2-0.4,0.3c-0.2,0.1-0.3,0.1-0.5,0.1
c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.2-0.1-0.3-0.1-0.5l0-2.7h0.5l0,2.7
c0,0.1,0,0.2,0.1,0.3c0,0.1,0.1,0.2,0.2,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3-0.1
c0.1,0,0.2-0.1,0.2-0.2c0.1-0.1,0.1-0.2,0.2-0.3s0.1-0.2,0.1-0.3l0-2.7H116.3z"/>
<path fill="#FFFFFF" d="M119.2,56.9c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1s-0.2-0.1-0.3-0.1
c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4c0-0.2,0-0.3,0.1-0.5
c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2s0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3s-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1
c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3
c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0.1,0.2,0.1,0.3,0.2c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3c0,0.2,0,0.3-0.1,0.5
c-0.1,0.1-0.2,0.2-0.3,0.3s-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1c-0.2-0.1-0.3-0.1-0.4-0.2
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1
s0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2C119.1,57.1,119.2,57.1,119.2,56.9z"/>
<path fill="#FFFFFF" d="M120.4,57.9V54h1.2c0.2,0,0.3,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.3
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.3c0,0.1-0.1,0.2-0.1,0.2c-0.1,0.1-0.1,0.1-0.2,0.2s-0.2,0.1-0.2,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0.1,0.2,0.1,0.3c0,0.2,0,0.3-0.1,0.5
s-0.2,0.3-0.3,0.4c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0.1-0.3,0.1-0.5,0.1H120.4z M120.9,55.7h0.7c0.1,0,0.2,0,0.3,0
c0.1,0,0.2-0.1,0.2-0.1c0.1-0.1,0.1-0.1,0.2-0.2s0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2
c-0.1,0-0.2-0.1-0.2-0.1c-0.1,0-0.2,0-0.3,0h-0.7V55.7z M120.9,56.1v1.4h0.8c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.2-0.1
c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.1-0.1-0.2-0.1
s-0.2-0.1-0.3-0.1H120.9z"/>
<polygon fill="#FFFFFF" points="126.6,56 124.6,56 124.6,55.2 126.2,55.2 126.7,54.7 126.7,39 127.5,39 127.5,55.1 "/>
<polygon fill="#FFFFFF" points="153.8,33.2 151,33.2 151,34 153.5,34 154,34.5 154,45.7 153.5,46.2 152.9,46.2 152.9,47 153.8,47
154.8,46 154.8,34.2 "/>
<polygon fill="#FFFFFF" points="169.8,125.6 159,125.6 159,126.4 169.5,126.4 180.4,137.3 186.4,137.3 190.8,141.8 190.8,147.2
191.6,147.2 191.6,141.4 186.7,136.5 180.7,136.5 "/>
<polygon fill="#FFFFFF" points="184.5,120.1 172.4,120.1 172.4,119.3 184.8,119.3 "/>
<polygon fill="#FFFFFF" points="183.3,17.6 180.8,17.6 180.8,15.1 180.5,15.1 180.5,17.6 178,17.6 178,17.8 180.5,17.8 180.5,20.6
180.8,20.6 180.8,17.8 183.3,17.8 "/>
<path fill="#FFFFFF" d="M138.1,47.1h-0.8v1.6h-0.5v-3.9h1.2c0.2,0,0.4,0,0.5,0.1c0.2,0,0.3,0.1,0.4,0.2c0.1,0.1,0.2,0.2,0.3,0.4
c0.1,0.1,0.1,0.3,0.1,0.5c0,0.1,0,0.2-0.1,0.4c0,0.1-0.1,0.2-0.2,0.3c-0.1,0.1-0.1,0.2-0.2,0.2c-0.1,0.1-0.2,0.1-0.3,0.2l0.8,1.7
l0,0h-0.5L138.1,47.1z M137.3,46.6h0.7c0.1,0,0.2,0,0.3-0.1c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2c0-0.1,0.1-0.2,0.1-0.3
c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3-0.1h-0.7V46.6z"/>
<path fill="#FFFFFF" d="M142.3,46.8h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V46.8z"/>
<path fill="#FFFFFF" d="M145.5,47.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.1-0.2-0.2-0.2c-0.1-0.1-0.2-0.1-0.3-0.1
c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.1-0.3-0.1-0.4
s0-0.3,0.1-0.5c0.1-0.1,0.2-0.2,0.3-0.3c0.1-0.1,0.3-0.2,0.4-0.2c0.2,0,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1
c0.2,0.1,0.3,0.1,0.4,0.2s0.2,0.2,0.3,0.4c0.1,0.1,0.1,0.3,0.1,0.5h-0.5c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.2
c-0.1-0.1-0.2-0.1-0.2-0.2c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0.1-0.2,0.1c-0.1,0.1-0.1,0.1-0.2,0.2
c0,0.1-0.1,0.2-0.1,0.3c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.1,0.2,0.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1
c0.1,0,0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.3,0.2s0.1,0.1,0.2,0.2c0.1,0.1,0.1,0.2,0.1,0.3c0,0.1,0,0.2,0,0.3
c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.2,0.2-0.3,0.3c-0.1,0.1-0.3,0.2-0.4,0.2c-0.2,0-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
c-0.2-0.1-0.3-0.1-0.4-0.2c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5h0.5c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.1,0.2,0.2,0.2
c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.3,0c0.1,0,0.2,0,0.3,0c0.1,0,0.2-0.1,0.3-0.1c0.1-0.1,0.1-0.1,0.2-0.2
C145.5,47.9,145.5,47.8,145.5,47.7z"/>
<path fill="#FFFFFF" d="M148.9,46.8h-1.6v1.4h1.9v0.4h-2.4v-3.9h2.4v0.4h-1.9v1.3h1.6V46.8z"/>
<path fill="#FFFFFF" d="M152.8,45.2h-1.2v3.5H151v-3.5h-1.2v-0.4h2.9V45.2z"/>
<polygon fill="#FFFFFF" points="70.8,77.8 70,80.3 71.6,80.3 70.8,77.8 "/>
<path fill="#FFFFFF" d="M76.5,77.7l-8.6-14.3l-11.4,6.8L65,84.5c1.6,2.8,5.2,3.7,8,2l1.4-0.8C77.2,84,78.1,80.5,76.5,77.7z
M74.3,83.4h-2.5v-0.9l0.5-0.1l-0.3-1h-2.4l-0.3,1l0.5,0.1v0.9h-2.5v-0.9l0.5-0.1l2.2-6.3h1.5l2.2,6.3l0.5,0.1V83.4z"/>
<path fill="#FFFFFF" d="M46.6,100h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L46.6,100z M45.4,99.5h1L46,97.9L45.4,99.5z"/>
<path fill="#FFFFFF" d="M51.7,99.5c0,0.2,0,0.5-0.1,0.7c-0.1,0.2-0.1,0.4-0.2,0.5c-0.1,0.1-0.2,0.2-0.4,0.3s-0.3,0.1-0.5,0.1
c-0.2,0-0.4,0-0.5-0.1c-0.2-0.1-0.3-0.2-0.4-0.3c-0.1-0.1-0.2-0.3-0.2-0.5c-0.1-0.2-0.1-0.4-0.1-0.7v-0.9c0-0.2,0-0.5,0.1-0.7
c0.1-0.2,0.1-0.4,0.2-0.5c0.1-0.1,0.2-0.2,0.4-0.3c0.2-0.1,0.3-0.1,0.5-0.1c0.2,0,0.4,0,0.5,0.1c0.2,0.1,0.3,0.2,0.4,0.3
c0.1,0.1,0.2,0.3,0.2,0.5c0.1,0.2,0.1,0.4,0.1,0.7V99.5z M49.7,99.4l1.5-1.2c0-0.3-0.1-0.5-0.2-0.6c-0.1-0.1-0.3-0.2-0.5-0.2
c-0.3,0-0.5,0.1-0.6,0.3c-0.1,0.2-0.2,0.4-0.2,0.8V99.4z M51.2,98.7l-1.5,1.2c0,0.3,0.1,0.4,0.2,0.6c0.1,0.1,0.3,0.2,0.5,0.2
c0.3,0,0.5-0.1,0.6-0.3c0.1-0.2,0.2-0.4,0.2-0.8V98.7z"/>
<path fill="#FFFFFF" d="M203.5,100h-1.3l-0.3,1h-0.5l1.3-3.9h0.4l1.2,3.9h-0.5L203.5,100z M202.3,99.5h1l-0.5-1.7L202.3,99.5z"/>
<path fill="#FFFFFF" d="M207.7,101h-0.5v-3.3l-1,0.4v-0.5l1.5-0.6h0V101z"/>
<rect x="59.4" y="51.6" transform="matrix(0.8923 0.4514 -0.4514 0.8923 31.0258 -21.4341)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="69.8" y="56.9" transform="matrix(0.8923 0.4514 -0.4514 0.8923 34.5226 -25.5642)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="50.1" y="69.9" transform="matrix(0.8923 0.4514 -0.4514 0.8923 38.3019 -15.2737)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="60.5" y="75.2" transform="matrix(0.8923 0.4514 -0.4514 0.8923 41.7987 -19.4037)" fill="#F9EBA7" width="2.1" height="5.4"/>
<path fill="#BDD1CF" d="M63.6,76l-12.2-6.1c-0.5-0.3-0.7-0.9-0.5-1.5l6.2-12.3c0.3-0.5,0.9-0.7,1.5-0.5l12.2,6.1
c0.5,0.3,0.7,0.9,0.5,1.5l-6.2,12.3C64.8,76.1,64.1,76.3,63.6,76z"/>
<circle id="BTN_A" fill="#186A8C" cx="61.1" cy="65.9" r="4.9"/>
<circle fill="#1D1D1B" cx="58.6" cy="58" r="1.6"/>
<circle fill="#1D1D1B" cx="69" cy="63.3" r="1.6"/>
<circle fill="#1D1D1B" cx="53.3" cy="68.3" r="1.6"/>
<circle fill="#1D1D1B" cx="63.7" cy="73.6" r="1.6"/>
<rect x="179.7" y="56.7" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -7.8105 84.8091)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="190.2" y="51.6" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -4.5406 88.8767)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="188.7" y="75.2" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -14.9765 90.5698)" fill="#F9EBA7" width="2.1" height="5.4"/>
<rect x="199.2" y="70.1" transform="matrix(0.8998 -0.4362 0.4362 0.8998 -11.7066 94.6374)" fill="#F9EBA7" width="2.1" height="5.4"/>
<path fill="#BDD1CF" d="M200,70L187.7,76c-0.5,0.3-1.2,0-1.4-0.5l-6-12.4c-0.3-0.5,0-1.2,0.5-1.4l12.3-5.9c0.5-0.3,1.2,0,1.4,0.5
l6,12.4C200.7,69.1,200.5,69.8,200,70z"/>
<circle id="BTN_B" fill="#D82E50" cx="190.4" cy="65.9" r="4.9"/>
<circle fill="#1D1D1B" cx="182.6" cy="63.1" r="1.6"/>
<circle fill="#1D1D1B" cx="193.1" cy="58" r="1.6"/>
<circle fill="#1D1D1B" cx="187.6" cy="73.6" r="1.6"/>
<circle fill="#1D1D1B" cx="198.1" cy="68.5" r="1.6"/>
<path fill="#BDD1CF" d="M151.7,39h-13.6c-0.6,0-1.1-0.5-1.1-1.1V24.1c0-0.6,0.5-1.1,1.1-1.1h13.6c0.6,0,1.1,0.5,1.1,1.1v13.7
C152.8,38.5,152.3,39,151.7,39z"/>
<circle fill="#53787C" cx="144.9" cy="31" r="4.9"/>
<rect x="156.9" y="33.6" fill="#1D1D1B" width="10.7" height="13.1"/>
</g>
<g id="EDGE_P0">
<path fill="#EFDA48" d="M17.1,97.1c-7.7,0-13.9,6.2-13.9,13.9S9.4,125,17.1,125S31,118.8,31,111.1S24.8,97.1,17.1,97.1z
M17.1,117.7c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6s6.6,3,6.6,6.6S20.7,117.7,17.1,117.7z"/>
</g>
<g id="EDGE_GND">
<path fill="#EFDA48" d="M71.8,3.4c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S79.5,3.4,71.8,3.4z M71.8,24
c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S75.5,24,71.8,24z"/>
</g>
<g id="EDGE_VCC">
<path fill="#EFDA48" d="M179.6,3.4c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S187.3,3.4,179.6,3.4z
M179.6,24c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S183.3,24,179.6,24z"/>
</g>
<g id="EDGE_P3">
<path fill="#EFDA48" d="M233.3,97.1c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S241,97.1,233.3,97.1z
M233.3,117.7c-3.7,0-6.6-3-6.6-6.6c0-3.7,3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6C239.9,114.7,236.9,117.7,233.3,117.7z"/>
</g>
<g id="EDGE_P2">
<path fill="#EFDA48" d="M179.9,190.1c-7.7,0-13.9,6.2-13.9,13.9s6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9S187.6,190.1,179.9,190.1z
M179.9,210.7c-3.7,0-6.6-3-6.6-6.6s3-6.6,6.6-6.6c3.7,0,6.6,3,6.6,6.6S183.5,210.7,179.9,210.7z"/>
</g>
<g id="EDGE_P1">
<path fill="#EFDA48" d="M71.8,190.7c-7.7,0-13.9,6.2-13.9,13.9c0,7.7,6.2,13.9,13.9,13.9s13.9-6.2,13.9-13.9
C85.7,196.9,79.5,190.7,71.8,190.7z M71.8,211.2c-3.7,0-6.6-3-6.6-6.6c0-3.7,3-6.6,6.6-6.6s6.6,3,6.6,6.6
C78.4,208.3,75.5,211.2,71.8,211.2z"/>
</g>
<g id="motor">
<path id="C_GND1" fill="#EFDA48" d="M83.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S84.8,183.9,83.6,183.9z M83.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S84.2,187,83.6,187z"/>
<circle fill="#1D1D1B" cx="83.6" cy="186" r="1"/>
<path id="C_P0" fill="#EFDA48" d="M90.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S92,183.9,90.8,183.9z M90.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S91.4,187,90.8,187z"/>
<circle fill="#1D1D1B" cx="90.8" cy="186" r="1"/>
<path id="C_P2" fill="#EFDA48" d="M98,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S99.2,183.9,98,183.9z M98,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S98.6,187,98,187z"/>
<circle fill="#1D1D1B" cx="98" cy="186" r="1"/>
<path id="C_P4" fill="#EFDA48" d="M105.2,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S106.4,183.9,105.2,183.9z M105.2,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S105.8,187,105.2,187z"/>
<circle fill="#1D1D1B" cx="105.2" cy="186" r="1"/>
<path id="C_P6" fill="#EFDA48" d="M112.4,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S113.6,183.9,112.4,183.9z M112.4,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S113,187,112.4,187z"/>
<circle fill="#1D1D1B" cx="112.4" cy="186" r="1"/>
<path id="C_P8" fill="#EFDA48" d="M119.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1S120.8,183.9,119.6,183.9z M119.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S120.2,187,119.6,187z"/>
<circle fill="#1D1D1B" cx="119.6" cy="186" r="1"/>
<path id="C_GND2" fill="#EFDA48" d="M126.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1S128,183.9,126.8,183.9z M126.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S127.4,187,126.8,187z"/>
<circle fill="#1D1D1B" cx="126.8" cy="186" r="1"/>
<path id="C_P10" fill="#EFDA48" d="M134,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S135.2,183.9,134,183.9z M134,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S134.5,187,134,187z"/>
<circle fill="#1D1D1B" cx="134" cy="186" r="1"/>
<path id="C_P12" fill="#EFDA48" d="M141.2,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S142.4,183.9,141.2,183.9z M141.2,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S141.7,187,141.2,187z"/>
<circle fill="#1D1D1B" cx="141.2" cy="186" r="1"/>
<path id="C_P14" fill="#EFDA48" d="M148.4,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S149.6,183.9,148.4,183.9z M148.4,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S148.9,187,148.4,187z"/>
<circle fill="#1D1D1B" cx="148.4" cy="186" r="1"/>
<path id="C_P16" fill="#EFDA48" d="M155.6,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S156.8,183.9,155.6,183.9z M155.6,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S156.1,187,155.6,187z"/>
<circle fill="#1D1D1B" cx="155.6" cy="186" r="1"/>
<path id="C_P20" fill="#EFDA48" d="M162.8,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S163.9,183.9,162.8,183.9z M162.8,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S163.3,187,162.8,187z"/>
<circle fill="#1D1D1B" cx="162.8" cy="186" r="1"/>
<path id="C_VCC1" fill="#EFDA48" d="M170,183.9c-1.2,0-2.1,1-2.1,2.1s1,2.1,2.1,2.1s2.1-1,2.1-2.1S171.1,183.9,170,183.9z M170,187
c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S170.5,187,170,187z"/>
<circle fill="#1D1D1B" cx="170" cy="186" r="1"/>
<path id="C_VCC2" fill="#EFDA48" d="M83.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C85.8,177.6,84.8,176.6,83.6,176.6z
M83.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S84.2,179.8,83.6,179.8z"/>
<circle fill="#1D1D1B" cx="83.6" cy="178.8" r="1"/>
<path id="C_P1" fill="#EFDA48" d="M90.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C93,177.6,92,176.6,90.8,176.6z
M90.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S91.4,179.8,90.8,179.8z"/>
<circle fill="#1D1D1B" cx="90.8" cy="178.8" r="1"/>
<path id="C_P22" fill="#EFDA48" d="M98,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C100.2,177.6,99.2,176.6,98,176.6z
M98,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S98.6,179.8,98,179.8z"/>
<circle fill="#1D1D1B" cx="98" cy="178.8" r="1"/>
<path id="C_P5" fill="#EFDA48" d="M105.2,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C107.3,177.6,106.4,176.6,105.2,176.6
z M105.2,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S105.8,179.8,105.2,179.8z"/>
<circle fill="#1D1D1B" cx="105.2" cy="178.8" r="1"/>
<path id="C_P7" fill="#EFDA48" d="M112.4,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C114.5,177.6,113.6,176.6,112.4,176.6
z M112.4,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S113,179.8,112.4,179.8z"/>
<circle fill="#1D1D1B" cx="112.4" cy="178.8" r="1"/>
<path id="C_P9" fill="#EFDA48" d="M119.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C121.7,177.6,120.8,176.6,119.6,176.6z M119.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S120.2,179.8,119.6,179.8z"/>
<circle fill="#1D1D1B" cx="119.6" cy="178.8" r="1"/>
<path id="C_GND3" fill="#EFDA48" d="M126.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C128.9,177.6,128,176.6,126.8,176.6z M126.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S127.4,179.8,126.8,179.8z"/>
<circle fill="#1D1D1B" cx="126.8" cy="178.8" r="1"/>
<path id="C_P11" fill="#EFDA48" d="M134,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C136.1,177.6,135.2,176.6,134,176.6z
M134,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S134.5,179.8,134,179.8z"/>
<circle fill="#1D1D1B" cx="134" cy="178.8" r="1"/>
<path id="C_P13" fill="#EFDA48" d="M141.2,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C143.3,177.6,142.4,176.6,141.2,176.6
z M141.2,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S141.7,179.8,141.2,179.8z"/>
<circle fill="#1D1D1B" cx="141.2" cy="178.8" r="1"/>
<path id="C_P15" fill="#EFDA48" d="M148.4,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C150.5,177.6,149.6,176.6,148.4,176.6
z M148.4,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S148.9,179.8,148.4,179.8z"/>
<circle fill="#1D1D1B" cx="148.4" cy="178.8" r="1"/>
<path id="C_P21" fill="#EFDA48" d="M155.6,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C157.7,177.6,156.8,176.6,155.6,176.6
z M155.6,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S156.1,179.8,155.6,179.8z"/>
<circle fill="#1D1D1B" cx="155.6" cy="178.8" r="1"/>
<path id="C_P19" fill="#EFDA48" d="M162.8,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C164.9,177.6,163.9,176.6,162.8,176.6
z M162.8,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1c0.6,0,1,0.5,1,1S163.3,179.8,162.8,179.8z"/>
<circle fill="#1D1D1B" cx="162.8" cy="178.8" r="1"/>
<path id="C_GND4" fill="#EFDA48" d="M170,176.6c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C172.1,177.6,171.1,176.6,170,176.6z
M170,179.8c-0.6,0-1-0.5-1-1s0.5-1,1-1s1,0.5,1,1S170.5,179.8,170,179.8z"/>
<circle fill="#1D1D1B" cx="170" cy="178.8" r="1"/>
<path id="M_GND1" fill="#EFDA48" d="M112.4,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C114.5,163.8,113.6,162.8,112.4,162.8
z M112.4,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C113.4,165.5,113,166,112.4,166z"/>
<circle fill="#1D1D1B" cx="112.4" cy="165" r="1"/>
<path id="M_OUT1" fill="#EFDA48" d="M119.6,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C121.7,163.8,120.8,162.8,119.6,162.8z M119.6,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1
C120.6,165.5,120.2,166,119.6,166z"/>
<circle fill="#1D1D1B" cx="119.6" cy="165" r="1"/>
<path id="M_OUT2" fill="#EFDA48" d="M126.8,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1c1.2,0,2.1-1,2.1-2.1
C128.9,163.8,128,162.8,126.8,162.8z M126.8,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1
C127.8,165.5,127.4,166,126.8,166z"/>
<circle fill="#1D1D1B" cx="126.8" cy="165" r="1"/>
<path id="M_GND2" fill="#EFDA48" d="M134,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C136.1,163.8,135.2,162.8,134,162.8z
M134,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C135,165.5,134.5,166,134,166z"/>
<circle fill="#1D1D1B" cx="134" cy="165" r="1"/>
<path id="M_VM" fill="#EFDA48" d="M141.2,162.8c-1.2,0-2.1,1-2.1,2.1c0,1.2,1,2.1,2.1,2.1s2.1-1,2.1-2.1C143.3,163.8,142.4,162.8,141.2,162.8
z M141.2,166c-0.6,0-1-0.5-1-1c0-0.6,0.5-1,1-1c0.6,0,1,0.5,1,1C142.2,165.5,141.7,166,141.2,166z"/>
<circle fill="#1D1D1B" cx="141.2" cy="165" r="1"/>
</g>
<g id="rgbled">
<g>
<rect x="120.6" y="130.6" fill="#FFFFFF" width="10.8" height="10.5"/>
<circle fill="#BDD1CF" cx="126" cy="135.9" r="4.1"/>
</g>
</g>
<g id="a0">
<rect x="36.6" y="78" transform="matrix(-0.7113 -0.7029 0.7029 -0.7113 5.9446 184.6141)" fill="#FFFFFF" width="8.6" height="26.1"/>
<circle id="G_A0_GND" fill="#BDD1CF" cx="47.9" cy="84.2" r="1.2"/>
<circle id="G_A0_VCC" fill="#BDD1CF" cx="43.1" cy="88.8" r="1.2"/>
<circle id="G_A0_SDA" fill="#BDD1CF" cx="38.8" cy="93.1" r="1.2"/>
<circle id="G_A0_SCL" fill="#BDD1CF" cx="33.9" cy="98" r="1.2"/>
</g>
<g id="a1">
<rect x="206.6" y="77.1" transform="matrix(0.7113 -0.7029 0.7029 0.7113 -2.4835 174.2752)" fill="#FFFFFF" width="8.6" height="26.1"/>
<circle id="G_A1_RX" fill="#BDD1CF" cx="203.9" cy="83.2" r="1.2"/>
<circle id="G_A1_TX" fill="#BDD1CF" cx="208.7" cy="87.9" r="1.2"/>
<circle id="G_A1_VCC" fill="#BDD1CF" cx="213" cy="92.2" r="1.2"/>
<circle id="G_A1_GND" fill="#BDD1CF" cx="217.9" cy="97.1" r="1.2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 20 KiB

View File

@ -16,13 +16,9 @@ You will find two files in that project:
## Translating the blocks and reference documentation
The project below contains the resources from the blocks and functions using in the https://codethemicrobit.com.
You will find package files under ``/microbit`` , one for the block definition and one for the descriptions:
* [https://crowdin.com/project/pxt-microbit](https://crowdin.com/project/pxt-microbit)
You will find two files for each package available in the micro:bit, one for the block definition and one for the descriptions:
* ``microbit-strings.json``: contains the block definitions
* ``microbit-jsdoc-strings.json``: contains the descriptions
* ``core-strings.json``: contains the block definitions
* ``core-jsdoc-strings.json``: contains the descriptions
The block definition should be carefully translated using the [block definition syntax](https://www.pxt.io/defining-blocks).

View File

@ -4,22 +4,6 @@
using namespace pxt;
enum Delimiters {
//% block="new line"
NewLine = 1,
//% block=","
Comma = 2,
//% block="$"
Dollar = 3,
//% block=":"
Colon = 4,
//% block="."
Fullstop = 5,
//% block="#"
Hash = 6,
};
/**
* Support for additional Bluetooth services.
*/
@ -27,12 +11,33 @@ enum Delimiters {
namespace bluetooth {
MicroBitUARTService *uart = NULL;
/**
* Starts the Bluetooth accelerometer service
*/
//% help=bluetooth/start-accelerometer-service
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service"
//% parts="bluetooth" weight=90 blockGap=8
void startAccelerometerService() {
new MicroBitAccelerometerService(*uBit.ble, uBit.accelerometer);
}
/**
* Starts the Bluetooth button service
*/
//% help=bluetooth/start-button-service
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8
//% parts="bluetooth" weight=89
void startButtonService() {
new MicroBitButtonService(*uBit.ble);
}
/**
* Starts the Bluetooth IO pin service.
*/
//% help=bluetooth/start-io-pin-service
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8
//% parts="bluetooth"
//% parts="bluetooth" weight=88
void startIOPinService() {
new MicroBitIOPinService(*uBit.ble, uBit.io);
}
@ -42,7 +47,7 @@ namespace bluetooth {
*/
//% help=bluetooth/start-led-service
//% blockId=bluetooth_start_led_service block="bluetooth led service" blockGap=8
//% parts="bluetooth"
//% parts="bluetooth" weight=87
void startLEDService() {
new MicroBitLEDService(*uBit.ble, uBit.display);
}
@ -52,7 +57,7 @@ namespace bluetooth {
*/
//% help=bluetooth/start-temperature-service
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8
//% parts="bluetooth"
//% parts="bluetooth" weight=86
void startTemperatureService() {
new MicroBitTemperatureService(*uBit.ble, uBit.thermometer);
}
@ -61,38 +66,19 @@ namespace bluetooth {
* Starts the Bluetooth magnetometer service
*/
//% help=bluetooth/start-magnetometer-service
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8
//% parts="bluetooth"
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service"
//% parts="bluetooth" weight=85
void startMagnetometerService() {
new MicroBitMagnetometerService(*uBit.ble, uBit.compass);
}
/**
* Starts the Bluetooth accelerometer service
*/
//% help=bluetooth/start-accelerometer-service
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8
//% parts="bluetooth"
void startAccelerometerService() {
new MicroBitAccelerometerService(*uBit.ble, uBit.accelerometer);
}
/**
* Starts the Bluetooth button service
*/
//% help=bluetooth/start-button-service
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8
//% parts="bluetooth"
void startButtonService() {
new MicroBitButtonService(*uBit.ble);
}
/**
* Starts the Bluetooth UART service
*/
//% help=bluetooth/start-uart-service
//% blockId=bluetooth_start_uart_service block="bluetooth uart service" blockGap=8
//% parts="bluetooth"
//% blockId=bluetooth_start_uart_service block="bluetooth uart service"
//% parts="bluetooth" advanced=true
void startUartService() {
if (uart) return;
// 61 octet buffer size is 3 x (MTU - 3) + 1
@ -102,13 +88,13 @@ namespace bluetooth {
}
//%
void uartWrite(StringData *data) {
void uartWriteString(StringData *data) {
startUartService();
uart->send(ManagedString(data));
}
//%
StringData* uartRead(StringData *del) {
StringData* uartReadUntil(StringData *del) {
startUartService();
return uart->readUntil(ManagedString(del)).leakData();
}
@ -133,7 +119,5 @@ namespace bluetooth {
//% parts="bluetooth"
void onBluetoothDisconnected(Action body) {
registerWithDal(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, body);
}
}
}

View File

@ -1,42 +1,48 @@
/**
* Support for additional Bluetooth services.
*/
//% color=#0082FB weight=20
namespace bluetooth {
/**
* Returns the delimiter corresponding string
*/
//% blockId="bluetooth_uart_delimiter_conv" block="%del"
//% weight=1 parts="bluetooth"
export function delimiters(del: Delimiters): string {
// even though it might not look like, this is more
// (memory) efficient than the C++ implementation, because the
// strings are statically allocated and take no RAM
switch (del) {
case Delimiters.NewLine: return "\n"
case Delimiters.Comma: return ","
case Delimiters.Dollar: return "$"
case Delimiters.Colon: return ":"
case Delimiters.Fullstop: return "."
case Delimiters.Hash: return "#"
default: return "\n"
}
}
/**
* Writes to the Bluetooth UART service buffer. From there the data is transmitted over Bluetooth to a connected device.
*/
//% help=bluetooth/uart-write
//% blockId=bluetooth_uart_write block="bluetooth uart write %data" blockGap=8
//% parts="bluetooth" shim=bluetooth::uartWrite
export function uartWrite(data: string): void {
//% help=bluetooth/uart-write-string weight=80
//% blockId=bluetooth_uart_write block="bluetooth uart|write string %data" blockGap=8
//% parts="bluetooth" shim=bluetooth::uartWriteString advanced=true
export function uartWriteString(data: string): void {
// dummy implementation for simulator
console.log("UART Write: " + data)
}
/**
* Prints a numeric value to the serial
*/
//% help=bluetooth/uart-write-number weight=79
//% weight=89 blockGap=8 advanced=true
//% blockId=bluetooth_uart_writenumber block="bluetooth uart|write number %value"
export function uartWriteNumber(value: number): void {
uartWriteString(value.toString());
}
/**
* Writes a ``name: value`` pair line to the serial.
* @param name name of the value stream, eg: x
* @param value to write
*/
//% weight=88 weight=78
//% help=bluetooth/uart-write-value advanced=true
//% blockId=bluetooth_uart_writevalue block="bluetooth uart|write value %name|= %value"
export function uartWriteValue(name: string, value: number): void {
uartWriteString(name + ":" + value + "\r\n");
}
/**
* Reads from the Bluetooth UART service buffer, returning its contents when the specified delimiter character is encountered.
*/
//% help=bluetooth/uart-read
//% blockId=bluetooth_uart_read block="bluetooth uart read %del=bluetooth_uart_delimiter_conv" blockGap=8
//% parts="bluetooth" shim=bluetooth::uartRead
export function uartRead(del: string): string {
//% help=bluetooth/uart-read-until weight=75
//% blockId=bluetooth_uart_read block="bluetooth uart|read until %del=serial_delimiter_conv"
//% parts="bluetooth" shim=bluetooth::uartReadUntil advanced=true
export function uartReadUntil(del: string): string {
// dummy implementation for simulator
return "???"
}

View File

@ -1,20 +1,4 @@
// Auto-generated. Do not edit.
declare enum Delimiters {
//% block="new line"
NewLine = 1,
//% block=","
Comma = 2,
//% block="$"
Dollar = 3,
//% block=":"
Colon = 4,
//% block="."
Fullstop = 5,
//% block="#"
Hash = 6,
}
declare namespace bluetooth {
}

View File

@ -7,44 +7,12 @@
//% color=#0082FB weight=20
declare namespace bluetooth {
/**
* Starts the Bluetooth IO pin service.
*/
//% help=bluetooth/start-io-pin-service
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startIOPinService
function startIOPinService(): void;
/**
* Starts the Bluetooth LED service
*/
//% help=bluetooth/start-led-service
//% blockId=bluetooth_start_led_service block="bluetooth led service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startLEDService
function startLEDService(): void;
/**
* Starts the Bluetooth temperature service
*/
//% help=bluetooth/start-temperature-service
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startTemperatureService
function startTemperatureService(): void;
/**
* Starts the Bluetooth magnetometer service
*/
//% help=bluetooth/start-magnetometer-service
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startMagnetometerService
function startMagnetometerService(): void;
/**
* Starts the Bluetooth accelerometer service
*/
//% help=bluetooth/start-accelerometer-service
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startAccelerometerService
//% blockId=bluetooth_start_accelerometer_service block="bluetooth accelerometer service"
//% parts="bluetooth" weight=90 blockGap=8 shim=bluetooth::startAccelerometerService
function startAccelerometerService(): void;
/**
@ -52,15 +20,47 @@ declare namespace bluetooth {
*/
//% help=bluetooth/start-button-service
//% blockId=bluetooth_start_button_service block="bluetooth button service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startButtonService
//% parts="bluetooth" weight=89 shim=bluetooth::startButtonService
function startButtonService(): void;
/**
* Starts the Bluetooth IO pin service.
*/
//% help=bluetooth/start-io-pin-service
//% blockId=bluetooth_start_io_pin_service block="bluetooth io pin service" blockGap=8
//% parts="bluetooth" weight=88 shim=bluetooth::startIOPinService
function startIOPinService(): void;
/**
* Starts the Bluetooth LED service
*/
//% help=bluetooth/start-led-service
//% blockId=bluetooth_start_led_service block="bluetooth led service" blockGap=8
//% parts="bluetooth" weight=87 shim=bluetooth::startLEDService
function startLEDService(): void;
/**
* Starts the Bluetooth temperature service
*/
//% help=bluetooth/start-temperature-service
//% blockId=bluetooth_start_temperature_service block="bluetooth temperature service" blockGap=8
//% parts="bluetooth" weight=86 shim=bluetooth::startTemperatureService
function startTemperatureService(): void;
/**
* Starts the Bluetooth magnetometer service
*/
//% help=bluetooth/start-magnetometer-service
//% blockId=bluetooth_start_magnetometer_service block="bluetooth magnetometer service"
//% parts="bluetooth" weight=85 shim=bluetooth::startMagnetometerService
function startMagnetometerService(): void;
/**
* Starts the Bluetooth UART service
*/
//% help=bluetooth/start-uart-service
//% blockId=bluetooth_start_uart_service block="bluetooth uart service" blockGap=8
//% parts="bluetooth" shim=bluetooth::startUartService
//% blockId=bluetooth_start_uart_service block="bluetooth uart service"
//% parts="bluetooth" advanced=true shim=bluetooth::startUartService
function startUartService(): void;
/**

View File

@ -0,0 +1,54 @@
/*basic.showString("RGB")
basic.setLedColor(Colors.Blue)
basic.pause(500)
basic.setLedColor(Colors.Red)
basic.pause(500)
basic.setLedColor(Colors.Green)
basic.pause(500)
basic.setLedColor(Colors.Violet)
basic.pause(500)
basic.setLedColor(0);
basic.showString("Gesten")
input.onGesture(Gesture.Shake, () => {
basic.showString("S")
})
input.onGesture(Gesture.LogoUp, () => {
basic.showString("U")
})
input.onGesture(Gesture.LogoDown, () => {
basic.showString("D")
})
input.onGesture(Gesture.ScreenUp, () => {
basic.showString("+")
})
input.onGesture(Gesture.TiltRight, () => {
basic.showString("R")
})
input.onGesture(Gesture.FreeFall, () => {
basic.showString("F")
})
input.onGesture(Gesture.ScreenDown, () => {
basic.showString("-")
})
input.onGesture(Gesture.TiltLeft, () => {
basic.showString("L")
})
input.onGesture(Gesture.ThreeG, () => {
basic.showString("3")
})
input.onGesture(Gesture.SixG, () => {
basic.showString("6")
})
*/
input.onPinPressed(TouchPin.P0, () => {
basic.showNumber(0)
})
input.onPinPressed(TouchPin.P1, () => {
basic.showNumber(1)
})
input.onPinPressed(TouchPin.P2, () => {
basic.showNumber(2)
})
input.onPinPressed(TouchPin.P3, () => {
basic.showNumber(3)
})

View File

@ -0,0 +1,11 @@
{
"name": "calliope",
"description": "Test of Calliope Parts",
"files": [
"calliope.ts"
],
"public": true,
"dependencies": {
"core": "file:../core"
}
}

View File

@ -6,6 +6,24 @@
*/
//% color=#0078D7 weight=100
namespace basic {
/**
* Sets the color on the build-in LED. Set to 0 to turn off.
*/
//% blockId=device_set_led_color block="set led to %color=color_id" icon="\uf00a"
//% weight=50
void setLedColor(int color) {
if (!color) {
uBit.rgb.off();
return;
}
int w = (color >> 24) & 0xFF;
int r = (color >> 16) & 0xFF;
int g = (color >> 8) & 0xFF;
int b = (color) & 0xFF;
uBit.rgb.setColour(r,g,b,w);
}
/**
* Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.

59
libs/core/basic.ts Normal file
View File

@ -0,0 +1,59 @@
/**
Well known colors
*/
enum Colors {
//% blockIdentity=basic.color
//% block=red
Red = 0x00FF0000,
//% blockIdentity=basic.color
//% block=orange
Orange = 0x00FFA500,
//% blockIdentity=basic.color
//% block=yellow
Yellow = 0x00FFFF00,
//% blockIdentity=basic.color
//% block=green
Green = 0x0000FF00,
//% blockIdentity=basic.color
//% block=blue
Blue = 0x000000FF,
//% blockIdentity=basic.color
//% block=indigo
Indigo = 0x004b0082,
//% blockIdentity=basic.color
//% block=violet
Violet = 0x008a2be2,
//% blockIdentity=basic.color
//% block=purple
Purple = 0x00FF00FF,
//% blockIdentity=basic.color
//% block=white
White = 0xFF00000
}
/**
* Provides access to basic micro:bit functionality.
*/
//% color=#0078D7 weight=100
namespace basic {
/**
* Converts the color name to a number
*/
//% blockId=color_id block="%c" shim=TD_ID
export function color(c: Colors): number {
return c;
}
/**
* Converts red, green, blue channels into a RGB color
* @param red value of the red channel between 0 and 255. eg: 255
* @param green value of the green channel between 0 and 255. eg: 255
* @param blue value of the blue channel between 0 and 255. eg: 255
* @param white value of the white channel between 0 and 255. eg: 0
*/
//% weight=1
//% blockId="core_rgb" block="red %red|green %green|blue %blue|white %white"
export function rgbw(red: number, green: number, blue: number, white:number): number {
return ((white & 0xFF) << 24) | ((red & 0xFF) << 16) | ((green & 0xFF) << 8) | (blue & 0xFF);
}
}

View File

@ -34,15 +34,15 @@ enum EventBusSource {
MICROBIT_ID_IO_P5_ = MICROBIT_ID_IO_P5,
MICROBIT_ID_IO_P6_ = MICROBIT_ID_IO_P6,
MICROBIT_ID_IO_P7_ = MICROBIT_ID_IO_P7,
MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
//MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
MICROBIT_ID_IO_P9_ = MICROBIT_ID_IO_P9,
MICROBIT_ID_IO_P10_ = MICROBIT_ID_IO_P10,
MICROBIT_ID_IO_P11_ = MICROBIT_ID_IO_P11,
MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
//MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
//MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
//MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
//MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
//MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
MICROBIT_ID_IO_P19_ = MICROBIT_ID_IO_P19,
MICROBIT_ID_IO_P20_ = MICROBIT_ID_IO_P20,
MES_DEVICE_INFO_ID_ = MES_DEVICE_INFO_ID,

223
libs/core/dal.d.ts vendored
View File

@ -79,6 +79,7 @@ declare const enum DAL {
MICROBIT_BLE_PAIRING_TIMEOUT = 90,
MICROBIT_BLE_POWER_LEVELS = 8,
MICROBIT_BLE_MAXIMUM_BONDS = 4,
MICROBIT_BLE_EDDYSTONE_URL_ADV_INTERVAL = 400,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitButtonService.h
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitDFUService.h
MICROBIT_DFU_OPCODE_START_DFU = 1,
@ -88,6 +89,7 @@ declare const enum DAL {
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitIOPinService.h
MICROBIT_IO_PIN_SERVICE_PINCOUNT = 19,
MICROBIT_IO_PIN_SERVICE_DATA_SIZE = 10,
MICROBIT_PWM_PIN_SERVICE_DATA_SIZE = 2,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitLEDService.h
MICROBIT_BLE_MAXIMUM_SCROLLTEXT = 20,
// built/yt/yotta_modules/microbit-dal/inc//bluetooth/MicroBitMagnetometerService.h
@ -131,15 +133,9 @@ declare const enum DAL {
MICROBIT_ID_IO_P5 = 12,
MICROBIT_ID_IO_P6 = 13,
MICROBIT_ID_IO_P7 = 14,
MICROBIT_ID_IO_P8 = 15,
MICROBIT_ID_IO_P9 = 16,
MICROBIT_ID_IO_P10 = 17,
MICROBIT_ID_IO_P11 = 18,
MICROBIT_ID_IO_P12 = 19,
MICROBIT_ID_IO_P13 = 20,
MICROBIT_ID_IO_P14 = 21,
MICROBIT_ID_IO_P15 = 22,
MICROBIT_ID_IO_P16 = 23,
MICROBIT_ID_IO_P19 = 24,
MICROBIT_ID_IO_P20 = 25,
MICROBIT_ID_BUTTON_AB = 26,
@ -149,6 +145,14 @@ declare const enum DAL {
MICROBIT_ID_RADIO_DATA_READY = 30,
MICROBIT_ID_MULTIBUTTON_ATTACH = 31,
MICROBIT_ID_SERIAL = 32,
CALLIOPE_ID_IO_P3 = 33,
CALLIOPE_ID_IO_P7 = 34,
CALLIOPE_ID_IO_P8 = 35,
CALLIOPE_ID_IO_P9 = 36,
CALLIOPE_ID_IO_P13 = 37,
CALLIOPE_ID_IO_P14 = 38,
CALLIOPE_ID_IO_P15 = 39,
CALLIOPE_ID_IO_P22 = 40,
MICROBIT_ID_MESSAGE_BUS_LISTENER = 1021,
MICROBIT_ID_NOTIFY_ONE = 1022,
MICROBIT_ID_NOTIFY = 1023,
@ -186,15 +190,214 @@ declare const enum DAL {
MICROBIT_DISPLAY_EVT_FREE = 1,
MICROBIT_SERIAL_EVT_TX_EMPTY = 2,
MICROBIT_UART_S_EVT_TX_EMPTY = 3,
// built/yt/yotta_modules/microbit-dal/inc//drivers/CalliopeRGB.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/CalliopeSoundMotor.h
CALLIOPE_SM_DEFAULT_DUTY_M = 50,
CALLIOPE_SM_DEFAULT_DUTY_S = 100,
CALLIOPE_SM_DEFAULT_FREQUENCY_S = 4000,
CALLIOPE_SM_DEFAULT_SILENT_MODE = 1,
CALLIOPE_SM_PRESCALER_M = 2,
CALLIOPE_SM_PRESCALER_S = 0,
CALLIOPE_SM_PRESCALER_S_LF = 4,
CALLIOPE_SM_PERIOD_M = 100,
CALLIOPE_MIN_FREQUENCY_HZ_S_NP = 245,
CALLIOPE_MIN_FREQUENCY_HZ_S = 20,
CALLIOPE_MAX_FREQUENCY_HZ_S = 20000,
CALLIOPE_BOARD_FREQUENCY = 16000000,
// built/yt/yotta_modules/microbit-dal/inc//drivers/DynamicPwm.h
NO_PWMS = 3,
MICROBIT_DEFAULT_PWM_PERIOD = 20000,
PWM_PERSISTENCE_TRANSIENT = 1,
PWM_PERSISTENCE_PERSISTENT = 2,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer-bmx.h
BMX055_ACC_WHOAMI = 0x00,
BMX055_ACC_D_X_LSB = 0x02,
BMX055_ACC_D_X_MSB = 0x03,
BMX055_ACC_D_Y_LSB = 0x04,
BMX055_ACC_D_Y_MSB = 0x05,
BMX055_ACC_D_Z_LSB = 0x06,
BMX055_ACC_D_Z_MSB = 0x07,
BMX055_ACC_D_TEMP = 0x08,
BMX055_ACC_INT_STATUS_0 = 0x09,
BMX055_ACC_INT_STATUS_1 = 0x0A,
BMX055_ACC_INT_STATUS_2 = 0x0B,
BMX055_ACC_INT_STATUS_3 = 0x0C,
BMX055_ACC_FIFO_STATUS = 0x0E,
BMX055_ACC_PMU_RANGE = 0x0F,
BMX055_ACC_PMU_BW = 0x10,
BMX055_ACC_PMU_LPW = 0x11,
BMX055_ACC_PMU_LOW_POWER = 0x12,
BMX055_ACC_D_HBW = 0x13,
BMX055_ACC_BGW_SOFTRESET = 0x14,
BMX055_ACC_INT_EN_0 = 0x16,
BMX055_ACC_INT_EN_1 = 0x17,
BMX055_ACC_INT_EN_2 = 0x18,
BMX055_ACC_INT_MAP_0 = 0x19,
BMX055_ACC_INT_MAP_1 = 0x1A,
BMX055_ACC_INT_MAP_2 = 0x1B,
BMX055_ACC_INT_SRC = 0x1E,
BMX055_ACC_INT_OUT_CTRL = 0x20,
BMX055_ACC_INT_RST_LATCH = 0x21,
BMX055_ACC_INT_0 = 0x22,
BMX055_ACC_INT_1 = 0x23,
BMX055_ACC_INT_2 = 0x24,
BMX055_ACC_INT_3 = 0x25,
BMX055_ACC_INT_4 = 0x26,
BMX055_ACC_INT_5 = 0x27,
BMX055_ACC_INT_6 = 0x28,
BMX055_ACC_INT_7 = 0x29,
BMX055_ACC_INT_8 = 0x2A,
BMX055_ACC_INT_9 = 0x2B,
BMX055_ACC_INT_A = 0x2C,
BMX055_ACC_INT_B = 0x2D,
BMX055_ACC_INT_C = 0x2E,
BMX055_ACC_INT_D = 0x2F,
BMX055_ACC_FIFO_CONFIG_0 = 0x30,
BMX055_ACC_PMU_SELF_TEST = 0x32,
BMX055_ACC_TRIM_NVM_CTRL = 0x33,
BMX055_ACC_BGW_SPI3_WDT = 0x34,
BMX055_ACC_OFC_CTRL = 0x36,
BMX055_ACC_OFC_SETTING = 0x37,
BMX055_ACC_OFC_OFFSET_X = 0x38,
BMX055_ACC_OFC_OFFSET_Y = 0x39,
BMX055_ACC_OFC_OFFSET_Z = 0x3A,
BMX055_ACC_TRIM_GPO = 0x3B,
BMX055_ACC_TRIM_GP1 = 0x3C,
BMX055_ACC_FIFO_CONFIG_1 = 0x3E,
BMX055_ACC_FIFO_DATA = 0x3F,
BMX055_GYRO_WHOAMI = 0x00,
BMX055_GYRO_RATE_X_LSB = 0x02,
BMX055_GYRO_RATE_X_MSB = 0x03,
BMX055_GYRO_RATE_Y_LSB = 0x04,
BMX055_GYRO_RATE_Y_MSB = 0x05,
BMX055_GYRO_RATE_Z_LSB = 0x06,
BMX055_GYRO_RATE_Z_MSB = 0x07,
BMX055_GYRO_INT_STATUS_0 = 0x09,
BMX055_GYRO_INT_STATUS_1 = 0x0A,
BMX055_GYRO_INT_STATUS_2 = 0x0B,
BMX055_GYRO_INT_STATUS_3 = 0x0C,
BMX055_GYRO_FIFO_STATUS = 0x0E,
BMX055_GYRO_RANGE = 0x0F,
BMX055_GYRO_BW = 0x10,
BMX055_GYRO_LPM1 = 0x11,
BMX055_GYRO_LPM2 = 0x12,
BMX055_GYRO_RATE_HBW = 0x13,
BMX055_GYRO_BGW_SOFTRESET = 0x14,
BMX055_GYRO_INT_EN_0 = 0x15,
BMX055_GYRO_INT_EN_1 = 0x16,
BMX055_GYRO_INT_MAP_0 = 0x17,
BMX055_GYRO_INT_MAP_1 = 0x18,
BMX055_GYRO_INT_MAP_2 = 0x19,
BMX055_GYRO_INT_SRC_1 = 0x1A,
BMX055_GYRO_INT_SRC_2 = 0x1B,
BMX055_GYRO_INT_SRC_3 = 0x1C,
BMX055_GYRO_FIFO_EN = 0x1E,
BMX055_GYRO_INT_RST_LATCH = 0x21,
BMX055_GYRO_HIGH_TH_X = 0x22,
BMX055_GYRO_HIGH_DUR_X = 0x23,
BMX055_GYRO_HIGH_TH_Y = 0x24,
BMX055_GYRO_HIGH_DUR_Y = 0x25,
BMX055_GYRO_HIGH_TH_Z = 0x26,
BMX055_GYRO_HIGH_DUR_Z = 0x27,
BMX055_GYRO_SOC = 0x31,
BMX055_GYRO_A_FOC = 0x32,
BMX055_GYRO_TRIM_NVM_CTRL = 0x33,
BMX055_GYRO_BGW_SPI3_WDT = 0x34,
BMX055_GYRO_OFC1 = 0x36,
BMX055_GYRO_OFC2 = 0x37,
BMX055_GYRO_OFC3 = 0x38,
BMX055_GYRO_OFC4 = 0x39,
BMX055_GYRO_TRIM_GP0 = 0x3A,
BMX055_GYRO_TRIM_GP1 = 0x3B,
BMX055_GYRO_BIST = 0x3C,
BMX055_GYRO_FIFO_CONFIG_0 = 0x3D,
BMX055_GYRO_FIFO_CONFIG_1 = 0x3E,
BMX055_MAG_WHOAMI = 0x40,
BMX055_MAG_Reserved = 0x41,
BMX055_MAG_XOUT_LSB = 0x42,
BMX055_MAG_XOUT_MSB = 0x43,
BMX055_MAG_YOUT_LSB = 0x44,
BMX055_MAG_YOUT_MSB = 0x45,
BMX055_MAG_ZOUT_LSB = 0x46,
BMX055_MAG_ZOUT_MSB = 0x47,
BMX055_MAG_ROUT_LSB = 0x48,
BMX055_MAG_ROUT_MSB = 0x49,
BMX055_MAG_INT_STATUS = 0x4A,
BMX055_MAG_PWR_CNTL1 = 0x4B,
BMX055_MAG_PWR_CNTL2 = 0x4C,
BMX055_MAG_INT_EN_1 = 0x4D,
BMX055_MAG_INT_EN_2 = 0x4E,
BMX055_MAG_LOW_THS = 0x4F,
BMX055_MAG_HIGH_THS = 0x50,
BMX055_MAG_REP_XY = 0x51,
BMX055_MAG_REP_Z = 0x52,
BMM050_DIG_X1 = 0x5D,
BMM050_DIG_Y1 = 0x5E,
BMM050_DIG_Z4_LSB = 0x62,
BMM050_DIG_Z4_MSB = 0x63,
BMM050_DIG_X2 = 0x64,
BMM050_DIG_Y2 = 0x65,
BMM050_DIG_Z2_LSB = 0x68,
BMM050_DIG_Z2_MSB = 0x69,
BMM050_DIG_Z1_LSB = 0x6A,
BMM050_DIG_Z1_MSB = 0x6B,
BMM050_DIG_XYZ1_LSB = 0x6C,
BMM050_DIG_XYZ1_MSB = 0x6D,
BMM050_DIG_Z3_LSB = 0x6E,
BMM050_DIG_Z3_MSB = 0x6F,
BMM050_DIG_XY2 = 0x70,
BMM050_DIG_XY1 = 0x71,
BMX055_ACC_ADDRESS = 0x18,
BMX055_GYRO_ADDRESS = 0x68,
BMX055_MAG_ADDRESS = 0x10,
MS5637_ADDRESS = 0x76,
AFS_2G = 0x03,
AFS_4G = 0x05,
AFS_8G = 0x08,
AFS_16G = 0x0C,
ABW_8Hz = 0,
ABW_16Hz = 1,
ABW_31Hz = 2,
ABW_63Hz = 3,
ABW_125Hz = 4,
ABW_250Hz = 5,
ABW_500Hz = 6,
ABW_100Hz = 7,
GFS_2000DPS = 0,
GFS_1000DPS = 1,
GFS_500DPS = 2,
GFS_250DPS = 3,
GFS_125DPS = 4,
G_2000Hz523Hz = 0,
G_2000Hz230Hz = 1,
G_1000Hz116Hz = 2,
G_400Hz47Hz = 3,
G_200Hz23Hz = 4,
G_100Hz12Hz = 5,
G_200Hz64Hz = 6,
G_100Hz32Hz = 7,
MODR_10Hz = 0,
MODR_2Hz = 1,
MODR_6Hz = 2,
MODR_8Hz = 3,
MODR_15Hz = 4,
MODR_20Hz = 5,
MODR_25Hz = 6,
MODR_30Hz = 7,
lowPower = 0,
Regular = 1,
enhancedRegular = 2,
highAccuracy = 3,
ADC_256 = 0x00,
ADC_512 = 0x02,
ADC_1024 = 0x04,
ADC_2048 = 0x06,
ADC_4096 = 0x08,
ADC_8192 = 0x0A,
ADC_D1 = 0x40,
ADC_D2 = 0x50,
MICROBIT_ACCEL_PITCH_ROLL_VALID = 0x02,
MICROBIT_ACCEL_ADDED_TO_IDLE = 0x04,
MMA8653_DEFAULT_ADDR = 0x3A,
MMA8653_STATUS = 0x00,
MMA8653_OUT_X_MSB = 0x01,
MMA8653_WHOAMI = 0x0D,
@ -224,6 +427,7 @@ declare const enum DAL {
MICROBIT_ACCELEROMETER_TILT_TOLERANCE = 200,
MICROBIT_ACCELEROMETER_FREEFALL_TOLERANCE = 400,
MICROBIT_ACCELEROMETER_SHAKE_TOLERANCE = 400,
MICROBIT_ACCELEROMETER_2G_TOLERANCE = 2048,
MICROBIT_ACCELEROMETER_3G_TOLERANCE = 3072,
MICROBIT_ACCELEROMETER_6G_TOLERANCE = 6144,
MICROBIT_ACCELEROMETER_8G_TOLERANCE = 8192,
@ -231,6 +435,7 @@ declare const enum DAL {
MICROBIT_ACCELEROMETER_SHAKE_DAMPING = 10,
MICROBIT_ACCELEROMETER_SHAKE_RTX = 30,
MICROBIT_ACCELEROMETER_SHAKE_COUNT_THRESHOLD = 4,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitAccelerometer.h
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitButton.h
MICROBIT_BUTTON_EVT_DOWN = 1,
MICROBIT_BUTTON_EVT_UP = 2,
@ -335,6 +540,7 @@ declare const enum DAL {
IO_STATUS_TOUCH_IN = 0x10,
IO_STATUS_EVENT_ON_EDGE = 0x20,
IO_STATUS_EVENT_PULSE_ON_EDGE = 0x40,
IO_STATUS_EVENTBUS_ENABLED = 0x80,
MICROBIT_PIN_MAX_OUTPUT = 1023,
MICROBIT_PIN_MAX_SERVO_RANGE = 180,
MICROBIT_PIN_DEFAULT_SERVO_RANGE = 2000,
@ -349,6 +555,7 @@ declare const enum DAL {
MICROBIT_PIN_EVT_PULSE_LO = 5,
PIN_CAPABILITY_DIGITAL = 0x01,
PIN_CAPABILITY_ANALOG = 0x02,
PIN_CAPABILITY_TOUCH = 0x04,
// built/yt/yotta_modules/microbit-dal/inc//drivers/MicroBitRadio.h
MICROBIT_RADIO_STATUS_INITIALISED = 0x0001,
MICROBIT_RADIO_BASE_ADDRESS = 0x75626974,

55
libs/core/enums.d.ts vendored
View File

@ -37,6 +37,7 @@ declare namespace basic {
P0 = 7, // MICROBIT_ID_IO_P0
P1 = 8, // MICROBIT_ID_IO_P1
P2 = 9, // MICROBIT_ID_IO_P2
P3 = 33, // CALLIOPE_ID_IO_P3
}
@ -151,15 +152,15 @@ declare namespace input {
MICROBIT_ID_IO_P5 = 12, // MICROBIT_ID_IO_P5
MICROBIT_ID_IO_P6 = 13, // MICROBIT_ID_IO_P6
MICROBIT_ID_IO_P7 = 14, // MICROBIT_ID_IO_P7
MICROBIT_ID_IO_P8 = 15, // MICROBIT_ID_IO_P8
//MICROBIT_ID_IO_P8_ = MICROBIT_ID_IO_P8,
MICROBIT_ID_IO_P9 = 16, // MICROBIT_ID_IO_P9
MICROBIT_ID_IO_P10 = 17, // MICROBIT_ID_IO_P10
MICROBIT_ID_IO_P11 = 18, // MICROBIT_ID_IO_P11
MICROBIT_ID_IO_P12 = 19, // MICROBIT_ID_IO_P12
MICROBIT_ID_IO_P13 = 20, // MICROBIT_ID_IO_P13
MICROBIT_ID_IO_P14 = 21, // MICROBIT_ID_IO_P14
MICROBIT_ID_IO_P15 = 22, // MICROBIT_ID_IO_P15
MICROBIT_ID_IO_P16 = 23, // MICROBIT_ID_IO_P16
//MICROBIT_ID_IO_P12_ = MICROBIT_ID_IO_P12,
//MICROBIT_ID_IO_P13_ = MICROBIT_ID_IO_P13,
//MICROBIT_ID_IO_P14_ = MICROBIT_ID_IO_P14,
//MICROBIT_ID_IO_P15_ = MICROBIT_ID_IO_P15,
//MICROBIT_ID_IO_P16_ = MICROBIT_ID_IO_P16,
MICROBIT_ID_IO_P19 = 24, // MICROBIT_ID_IO_P19
MICROBIT_ID_IO_P20 = 25, // MICROBIT_ID_IO_P20
MES_DEVICE_INFO_ID = 1103, // MES_DEVICE_INFO_ID
@ -238,6 +239,8 @@ declare namespace control {
// TODO DISPLAY_MODE_BLACK_AND_WHITE_LIGHT_SENSE
}
declare namespace led {
}
declare namespace motors {
}
@ -250,15 +253,15 @@ declare namespace led {
P5 = 12, // MICROBIT_ID_IO_P5
P6 = 13, // MICROBIT_ID_IO_P6
P7 = 14, // MICROBIT_ID_IO_P7
P8 = 15, // MICROBIT_ID_IO_P8
//P8 = MICROBIT_ID_IO_P8,
P9 = 16, // MICROBIT_ID_IO_P9
P10 = 17, // MICROBIT_ID_IO_P10
P11 = 18, // MICROBIT_ID_IO_P11
P12 = 19, // MICROBIT_ID_IO_P12
P13 = 20, // MICROBIT_ID_IO_P13
P14 = 21, // MICROBIT_ID_IO_P14
P15 = 22, // MICROBIT_ID_IO_P15
P16 = 23, // MICROBIT_ID_IO_P16
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16,
P19 = 24, // MICROBIT_ID_IO_P19
P20 = 25, // MICROBIT_ID_IO_P20
}
@ -294,12 +297,12 @@ declare namespace led {
P0 = 7, // MICROBIT_ID_IO_P0
P1 = 8, // MICROBIT_ID_IO_P1
P2 = 9, // MICROBIT_ID_IO_P2
P8 = 15, // MICROBIT_ID_IO_P8
P12 = 19, // MICROBIT_ID_IO_P12
P13 = 20, // MICROBIT_ID_IO_P13
P14 = 21, // MICROBIT_ID_IO_P14
P15 = 22, // MICROBIT_ID_IO_P15
P16 = 23, // MICROBIT_ID_IO_P16
//P8 = MICROBIT_ID_IO_P8,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16
}
@ -309,6 +312,22 @@ declare namespace led {
//% block=9600
BaudRate9600 = 9600,
}
declare enum Delimiters {
//% block="new line"
NewLine = 1,
//% block=","
Comma = 2,
//% block="$"
Dollar = 3,
//% block=":"
Colon = 4,
//% block="."
Fullstop = 5,
//% block="#"
Hash = 6,
}
declare namespace serial {
}

View File

@ -29,6 +29,7 @@ enum class TouchPin {
P0 = MICROBIT_ID_IO_P0,
P1 = MICROBIT_ID_IO_P1,
P2 = MICROBIT_ID_IO_P2,
P3 = CALLIOPE_ID_IO_P3
};
enum class AcceleratorRange {
@ -130,7 +131,7 @@ namespace input {
//% parts="accelerometer"
void onGesture(Gesture gesture, Action body) {
if ((int)gesture == MICROBIT_ACCELEROMETER_EVT_3G && uBit.accelerometer.getRange() < 3)
uBit.accelerometer.setRange(4);
uBit.accelerometer.setRange(6);
else if ((int)gesture == MICROBIT_ACCELEROMETER_EVT_6G && uBit.accelerometer.getRange() < 6)
uBit.accelerometer.setRange(8);
registerWithDal(MICROBIT_ID_GESTURE, (int)gesture, body);

17
libs/core/motors.cpp Normal file
View File

@ -0,0 +1,17 @@
#include "ksbit.h"
/**
* Blocks to control the onboard motors
*/
//% weight=30
namespace motors {
/**
* Controls the power sent to a single motor
* @param power %percent of power sent to the motor. Negative power goes backward. eg: 50
*/
//% blockId=motor_on block="motor on at %percent|%"
//% parts=dcmotor
void motorOn(int power) {
uBit.soundmotor.Motor_On(power);
}
}

View File

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="488" height="836" viewBox="0 0 488 836">
<g transform="translate(0 -216.362)">
<rect width="34.286" height="122.532" x="226.365" y="929.711" fill="#ccc" ry="16.162"/>
<path fill="gray" d="M23.23 359.456A23.233 23.233 0 0 0 0 382.686v511.428a23.233 23.233 0 0 0 23.23 23.23h38.2v24.117a23.233 23.233 0 0 0 23.23 23.234h317.143a23.233 23.233 0 0 0 23.23-23.23v-24.118h38.197a23.233 23.233 0 0 0 23.23-23.23v-511.43a23.233 23.233 0 0 0-23.23-23.23h-440z"/>
<path fill="#333" d="M23.23 357.82C10.4 357.82.002 368.22 0 381.05v511.427c.002 12.83 10.4 23.23 23.23 23.23h38.2v24.118c2.08 25.815 20.27 23.748 33.1 23.75 0 0-11.976-16.96-12.05-40.988-.057-17.923-9.03-12.008-8.176-39.76 2.743-237.84-2.423-390.158.37-522.93z"/>
<path fill="#fd5" d="M23.508 286.934A23.51 18.415 0 0 0 0 305.347v69.375a23.51 18.415 0 0 0 23.508 18.413h440a23.51 18.415 0 0 0 23.508-18.413v-69.375a23.51 18.415 0 0 0-23.508-18.413h-440z"/>
<path fill="#c87137" d="M77.156 216.362c-5.698 0-10.283 4.588-10.283 10.286v94.03c0 5.7 4.585 10.286 10.283 10.286h24.98c5.697 0 10.284-4.587 10.284-10.285v-94.034c0-5.698-4.587-10.286-10.285-10.286h-24.98zm10.18 10.37h4.018c5.095 0 9.197 4.103 9.197 9.2v28.032c0 5.096-4.1 9.197-9.194 9.197h-4.018c-5.096 0-9.2-4.1-9.2-9.194V235.93c0-5.095 4.104-9.197 9.2-9.197zm288.814-10.37c-5.697 0-10.283 4.588-10.283 10.286v94.03c0 5.7 4.586 10.286 10.283 10.286h24.98c5.697 0 10.284-4.587 10.284-10.285v-94.034c0-5.698-4.587-10.286-10.285-10.286h-24.98zm11.045 11.885h4.02c5.095 0 9.197 4.102 9.197 9.197v28.032c0 5.095-4.102 9.2-9.197 9.2h-4.02c-5.095 0-9.197-4.105-9.197-9.2v-28.032c0-5.095 4.102-9.197 9.197-9.197z"/>
<path fill="#fc0" d="M170.587 306.637a17.633 17.633 0 0 0-17.63 17.63v67.587a17.633 17.633 0 0 0 17.63 17.63h34.852v20.57c0 15.162 12.756 27.915 27.913 27.915h24.976c15.157 0 27.916-12.756 27.916-27.917v-20.57h38.612a17.633 17.633 0 0 0 17.63-17.63v-67.587a17.633 17.633 0 0 0-17.63-17.63H170.585z"/>
<rect width="126.356" height="29.385" x="272.569" y="914.707" fill="#b3b3b3" ry="14.693"/>
<rect width="169.991" height="457.913" x="300.928" y="430.348" fill="#b3b3b3" ry="27.415"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -9,15 +9,15 @@ enum class DigitalPin {
P5 = MICROBIT_ID_IO_P5,
P6 = MICROBIT_ID_IO_P6,
P7 = MICROBIT_ID_IO_P7,
P8 = MICROBIT_ID_IO_P8,
//P8 = MICROBIT_ID_IO_P8,
P9 = MICROBIT_ID_IO_P9,
P10 = MICROBIT_ID_IO_P10,
P11 = MICROBIT_ID_IO_P11,
P12 = MICROBIT_ID_IO_P12,
P13 = MICROBIT_ID_IO_P13,
P14 = MICROBIT_ID_IO_P14,
P15 = MICROBIT_ID_IO_P15,
P16 = MICROBIT_ID_IO_P16,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16,
P19 = MICROBIT_ID_IO_P19,
P20 = MICROBIT_ID_IO_P20,
};
@ -55,17 +55,25 @@ MicroBitPin *getPin(int id) {
case MICROBIT_ID_IO_P5: return &uBit.io.P5;
case MICROBIT_ID_IO_P6: return &uBit.io.P6;
case MICROBIT_ID_IO_P7: return &uBit.io.P7;
case MICROBIT_ID_IO_P8: return &uBit.io.P8;
//case MICROBIT_ID_IO_P8: return &uBit.io.P8;
case MICROBIT_ID_IO_P9: return &uBit.io.P9;
case MICROBIT_ID_IO_P10: return &uBit.io.P10;
case MICROBIT_ID_IO_P11: return &uBit.io.P11;
case MICROBIT_ID_IO_P12: return &uBit.io.P12;
case MICROBIT_ID_IO_P13: return &uBit.io.P13;
case MICROBIT_ID_IO_P14: return &uBit.io.P14;
case MICROBIT_ID_IO_P15: return &uBit.io.P15;
case MICROBIT_ID_IO_P16: return &uBit.io.P16;
//case MICROBIT_ID_IO_P12: return &uBit.io.P12;
//case MICROBIT_ID_IO_P13: return &uBit.io.P13;
//case MICROBIT_ID_IO_P14: return &uBit.io.P14;
//case MICROBIT_ID_IO_P15: return &uBit.io.P15;
//case MICROBIT_ID_IO_P16: return &uBit.io.P16;
case MICROBIT_ID_IO_P19: return &uBit.io.P19;
case MICROBIT_ID_IO_P20: return &uBit.io.P20;
case CALLIOPE_ID_IO_P3: return &uBit.io.CAL_P3;
case CALLIOPE_ID_IO_P7: return &uBit.io.CAL_P7;
case CALLIOPE_ID_IO_P8: return &uBit.io.CAL_P8;
case CALLIOPE_ID_IO_P9: return &uBit.io.CAL_P9;
case CALLIOPE_ID_IO_P13: return &uBit.io.CAL_P13;
case CALLIOPE_ID_IO_P14: return &uBit.io.CAL_P14;
case CALLIOPE_ID_IO_P15: return &uBit.io.CAL_P15;
case CALLIOPE_ID_IO_P22: return &uBit.io.CAL_P22;
default: return NULL;
}
}

View File

@ -14,6 +14,7 @@
"helpers.ts",
"images.cpp",
"basic.cpp",
"basic.ts",
"input.cpp",
"input.ts",
"control.ts",
@ -21,6 +22,7 @@
"game.ts",
"led.cpp",
"led.ts",
"motors.cpp",
"music.ts",
"pins.cpp",
"pins.ts",
@ -30,6 +32,7 @@
"pxtparts.json",
"parts/speaker.svg",
"parts/headphone.svg",
"parts/dcmotor.svg",
"_locales/ja/core-jsdoc-strings.json",
"_locales/ja/core-strings.json",
"_locales/fr/core-jsdoc-strings.json"

View File

@ -144,5 +144,26 @@
{"part": true, "pinIndices": [0]},
{"pinIndices": [1]}
]
}
},
"dcmotor": {
"numberOfPins": 2,
"visual": {
"image": "parts/dcmotor.svg",
"width": 488,
"height": 836,
"pinDistance": 65,
"pinLocations": [
{"x": 89, "y": 48},
{"x": 395, "y": 48} ]
},
"pinDefinitions": [
{ "target": "M_OUT1", "style": "croc", "orientation": "-Z"},
{ "target": "M_OUT2", "style": "croc", "orientation": "-Z"}
],
"instantiation": {"kind": "singleton"},
"assembly": [
{"part": true, "pinIndices": [0]},
{"pinIndices": [1]}
]
}
}

View File

@ -1,47 +1,63 @@
#include "ksbit.h"
enum class SerialPin {
enum SerialPin {
P0 = MICROBIT_ID_IO_P0,
P1 = MICROBIT_ID_IO_P1,
P2 = MICROBIT_ID_IO_P2,
P8 = MICROBIT_ID_IO_P8,
P12 = MICROBIT_ID_IO_P12,
P13 = MICROBIT_ID_IO_P13,
P14 = MICROBIT_ID_IO_P14,
P15 = MICROBIT_ID_IO_P15,
P16 = MICROBIT_ID_IO_P16
//P8 = MICROBIT_ID_IO_P8,
//P12 = MICROBIT_ID_IO_P12,
//P13 = MICROBIT_ID_IO_P13,
//P14 = MICROBIT_ID_IO_P14,
//P15 = MICROBIT_ID_IO_P15,
//P16 = MICROBIT_ID_IO_P16
};
enum class BaudRate {
enum BaudRate {
//% block=115200
BaudRate115200 = 115200,
//% block=9600
BaudRate9600 = 9600
};
enum Delimiters {
//% block="new line"
NewLine = 1,
//% block=","
Comma = 2,
//% block="$"
Dollar = 3,
//% block=":"
Colon = 4,
//% block="."
Fullstop = 5,
//% block="#"
Hash = 6,
};
//% weight=2 color=30
//% advanced=true
namespace serial {
// note that at least one // followed by % is needed per declaration!
/**
* Reads a line of text from the serial port.
* Reads a line of text from the serial port and returns the buffer when the delimiter is met.
* @param delimiter text delimiter that separates each text chunk
*/
//% help=serial/read-line
//% blockId=serial_read_line block="serial read line"
//% weight=20
StringData* readLine() {
return uBit.serial.readUntil(ManagedString("\n")).leakData();
//% help=serial/read-until
//% blockId=serial_read_until block="serial|read until %delimiter=serial_delimiter_conv"
//% weight=19
StringData* readUntil(StringData* delimiter) {
return uBit.serial.readUntil(ManagedString(delimiter)).leakData();
}
/**
* Sends a piece of text through Serial connection.
* Reads a line of text from the serial port.
*/
//% help=serial/write-string
//% weight=87
//% blockId=serial_writestring block="serial write string %text"
void writeString(StringData *text) {
uBit.serial.send(ManagedString(text));
//% help=serial/read-line
//% blockId=serial_read_line block="serial|read line"
//% weight=20 blockGap=8
StringData* readLine() {
return readUntil(ManagedString("\n").leakData());
}
/**
@ -49,12 +65,22 @@ namespace serial {
* @param delimiters the characters to match received characters against. eg:"\n"
*/
// help=serial/on-data-received
// weight=19
// weight=18
void onDataReceived(StringData* delimiters, Action body) {
uBit.serial.eventOn(ManagedString(delimiters));
registerWithDal(MICROBIT_ID_SERIAL, MICROBIT_SERIAL_EVT_DELIM_MATCH, body);
}
/**
* Sends a piece of text through Serial connection.
*/
//% help=serial/write-string
//% weight=87
//% blockId=serial_writestring block="serial|write string %text"
void writeString(StringData *text) {
uBit.serial.send(ManagedString(text));
}
/**
* Dynamically configuring the serial instance to use pins other than USBTX and USBRX.
* @param tx the new transmission pins
@ -63,7 +89,7 @@ namespace serial {
*/
//% weight=10
//% help=serial/redirect-to
//% blockId=serial_redirect block="serial redirect to|TX %tx|RX %rx|at baud rate %rate"
//% blockId=serial_redirect block="serial|redirect to|TX %tx|RX %rx|at baud rate %rate"
//% blockExternalInputs=1
void redirect(SerialPin tx, SerialPin rx, BaudRate rate) {
uBit.serial.redirect((PinName)tx, (PinName)rx);

View File

@ -46,4 +46,24 @@ namespace serial {
export function onLineReceived(body: Action): void {
// serial.onDataReceived("\n", body);
}
/**
* Returns the delimiter corresponding string
*/
//% blockId="serial_delimiter_conv" block="%del"
//% weight=1
export function delimiters(del: Delimiters): string {
// even though it might not look like, this is more
// (memory) efficient than the C++ implementation, because the
// strings are statically allocated and take no RAM
switch (del) {
case Delimiters.NewLine: return "\n"
case Delimiters.Comma: return ","
case Delimiters.Dollar: return "$"
case Delimiters.Colon: return ":"
case Delimiters.Fullstop: return "."
case Delimiters.Hash: return "#"
default: return "\n"
}
}
}

40
libs/core/shims.d.ts vendored
View File

@ -129,6 +129,13 @@ declare interface Image {
//% color=#0078D7 weight=100
declare namespace basic {
/**
* Sets the color on the build-in LED. Set to 0 to turn off.
*/
//% blockId=device_set_led_color block="set led to %color=color_id" icon="\uf00a"
//% weight=50 shim=basic::setLedColor
function setLedColor(color: number): void;
/**
* Scroll a number on the screen. If the number fits on the screen (i.e. is a single digit), do not scroll.
* @param interval speed of scroll; eg: 150, 100, 200, -100
@ -501,6 +508,22 @@ declare namespace led {
//% parts="ledmatrix" shim=led::screenshot
function screenshot(): Image;
}
/**
* Blocks to control the onboard motors
*/
//% weight=30
declare namespace motors {
/**
* Controls the power sent to a single motor
* @param power %percent of power sent to the motor. Negative power goes backward. eg: 50
*/
//% blockId=motor_on block="motor on at %percent|%"
//% parts=dcmotor shim=motors::motorOn
function motorOn(power: number): void;
}
declare namespace pins {
/**
@ -648,12 +671,21 @@ declare namespace pins {
//% advanced=true
declare namespace serial {
/**
* Reads a line of text from the serial port and returns the buffer when the delimiter is met.
* @param delimiter text delimiter that separates each text chunk
*/
//% help=serial/read-until
//% blockId=serial_read_until block="serial|read until %delimiter=serial_delimiter_conv"
//% weight=19 shim=serial::readUntil
function readUntil(delimiter: string): string;
/**
* Reads a line of text from the serial port.
*/
//% help=serial/read-line
//% blockId=serial_read_line block="serial read line"
//% weight=20 shim=serial::readLine
//% blockId=serial_read_line block="serial|read line"
//% weight=20 blockGap=8 shim=serial::readLine
function readLine(): string;
/**
@ -661,7 +693,7 @@ declare namespace serial {
*/
//% help=serial/write-string
//% weight=87
//% blockId=serial_writestring block="serial write string %text" shim=serial::writeString
//% blockId=serial_writestring block="serial|write string %text" shim=serial::writeString
function writeString(text: string): void;
/**
@ -672,7 +704,7 @@ declare namespace serial {
*/
//% weight=10
//% help=serial/redirect-to
//% blockId=serial_redirect block="serial redirect to|TX %tx|RX %rx|at baud rate %rate"
//% blockId=serial_redirect block="serial|redirect to|TX %tx|RX %rx|at baud rate %rate"
//% blockExternalInputs=1 shim=serial::redirect
function redirect(tx: SerialPin, rx: SerialPin, rate: BaudRate): void;
}

View File

@ -1,7 +1,15 @@
basic.plotLeds(`
# # . # #
. . # . .
. . # . .
# . . . #
. # # # .
`);
basic.setLedColor(Colors.Blue)
basic.pause(500)
basic.setLedColor(Colors.Red)
basic.pause(500)
basic.setLedColor(Colors.Green)
basic.pause(500)
basic.setLedColor(0);
basic.setLedColor(Colors.Violet)
basic.pause(100)
led.plot(0, 0)
basic.pause(1000);
basic.forever(() => {
const a = input.acceleration(Dimension.X);
led.plotBarGraph(a, 1023)
})

View File

@ -6,7 +6,6 @@
],
"public": true,
"dependencies": {
"core": "file:../core",
"radio": "file:../radio"
"core": "file:../core"
}
}

View File

@ -1,7 +1,7 @@
{
"name": "pxt-microbit",
"version": "0.4.52",
"description": "micro:bit target for PXT",
"name": "pxt-calliope",
"version": "0.5.26",
"description": "calliope target for PXT",
"keywords": [
"JavaScript",
"education",
@ -9,11 +9,11 @@
],
"repository": {
"type": "git",
"url": "git+https://github.com/Microsoft/pxt-microbit.git"
"url": "git+https://github.com/Microsoft/pxt-calliope.git"
},
"author": "",
"license": "MIT",
"homepage": "https://github.com/Microsoft/pxt-microbit#readme",
"homepage": "https://github.com/Microsoft/pxt-calliope#readme",
"files": [
"README.md",
"pxtarget.json",
@ -29,6 +29,6 @@
"typescript": "^1.8.7"
},
"dependencies": {
"pxt-core": "0.4.62"
"pxt-core": "0.4.67"
}
}

View File

@ -1,9 +1,9 @@
{
"id": "microbit",
"nickname": "microbit",
"name": "code the micro:bit",
"title": "code the micro:bit - Blocks / Javascript editor",
"description": "A Blocks / JavaScript code editor for the micro:bit.",
"id": "calliope",
"name": " calliope",
"nickname": "mini",
"title": "calliope - Blocks / Javascript editor",
"description": "A Blocks / JavaScript code editor for the calliope.",
"corepkg": "core",
"bundleddirs": [
"libs/core",
@ -15,12 +15,8 @@
"workspace": false,
"packages": true,
"sharing": true,
"publish": false,
"publish": true,
"preferredPackages": [
"Microsoft/pxt-neopixel",
"Microsoft/pxt-sonar",
"Microsoft/pxt-max6675",
"Microsoft/pxt-i2c-fram"
],
"githubPackages": true
},
@ -67,9 +63,9 @@
"compile": {
"isNative": false,
"hasHex": true,
"deployDrives": "(MICROBIT|MBED)",
"driveName": "MICROBIT",
"hexMimeType": "application/x-microbit-hex",
"deployDrives": "MINI",
"driveName": "MINI",
"hexMimeType": "application/x-calliope-hex",
"upgrades": [
{
"type": "package",
@ -84,6 +80,13 @@
"microbit-pins": "",
"microbit-serial": ""
}
},
{
"type": "api",
"map": {
"bluetooth\\.uartRead\\((.*?)\\)" : "bluetooth.uartReadUntil($1)",
"bluetooth\\.uartWrite\\((.*?)\\)" : "bluetooth.uartWriteUntil($1)"
}
}
]
},
@ -96,11 +99,11 @@
"simulator": {
"autoRun": true,
"streams": true,
"aspectRatio": 1.22,
"aspectRatio": 1.13,
"parts": true,
"partsAspectRatio": 0.69,
"boardDefinition": {
"visual": "microbit",
"visual": "calliope",
"gpioPinBlocks": [
[
"P0"
@ -150,7 +153,13 @@
"P15": "P15",
"P16": "P16",
"P19": "P19",
"P20": "P20"
"P20": "P20",
"EXT_PWR":"EXT_PWR",
"SPKR":"EXT_PWR",
"BTN_A": "BTN_A",
"BTN_B": "BTN_B",
"M_OUT1": "M_OUT1",
"M_OUT2": "M_OUT2"
},
"spiPins": {
"MOSI": "P15",
@ -182,7 +191,10 @@
"speaker",
"bluetooth",
"thermometer",
"compass"
"compass",
"speaker",
"microphone",
"rgbled"
],
"useCrocClips": true,
"marginWhenBreadboarding": [
@ -195,10 +207,10 @@
},
"compileService": {
"yottaTarget": "bbc-microbit-classic-gcc",
"yottaCorePackage": "pxt-microbit-core",
"githubCorePackage": "microsoft/pxt-microbit-core",
"gittag": "v0.5.0",
"serviceId": "ws"
"yottaCorePackage": "pxt-calliope-core",
"githubCorePackage": "microsoft/pxt-calliope-core",
"gittag": "v0.5.12",
"serviceId": "calliope"
},
"serial": {
"manufacturerFilter": "^mbed$",
@ -206,22 +218,20 @@
"log": true
},
"appTheme": {
"accentColor": "#5C005C",
"logoUrl": "https://codethemicrobit.com/about",
"logo": "./static/microbit.simplified.svg",
"docsLogo": "./static/microbit.simplified.svg",
"portraitLogo": "./static/microbit.simplified.svg",
"footerLogo": "./static/microbit.simplified.svg",
"accentColor": "#249899",
"invertedMenu": true,
"defaultLocale": "de",
"logoUrl": "https://calliope.cc/about",
"logo": "./static/Calliopeminieditor.svg",
"docsLogo": "./static/Calliopeminieditor.svg",
"portraitLogo": "./static/Logo_Calliope_Woman.svg",
"footerLogo": "./static/Calliopeminieditor.svg",
"cardLogo": "https://az851932.vo.msecnd.net/pub/drbwxcth",
"appLogo": "https://az851932.vo.msecnd.net/pub/tbhemtig",
"organization": "Microsoft",
"organizationUrl": "https://codethemicrobit.com/",
"organizationLogo": "./static/Microsoft-logo_rgb_c-gray.png",
"homeUrl": "https://codethemicrobit.com/",
"embedUrl": "https://codethemicrobit.com/",
"homeUrl": "https://calliope.cc/",
"privacyUrl": "https://go.microsoft.com/fwlink/?LinkId=521839",
"termsOfUseUrl": "https://go.microsoft.com/fwlink/?LinkID=206977",
"githubUrl": "https://github.com/Microsoft/pxt-microbit",
"githubUrl": "https://github.com/Microsoft/pxt-calliope",
"browserSupport": [
{
"name": "unsupported",
@ -249,7 +259,7 @@
"path": "/browsers/windows"
}
],
"boardName": "micro:bit",
"boardName": "Calliope MINI",
"docMenu": [
{
"name": "Getting Started",
@ -341,4 +351,4 @@
}
]
}
}
}

View File

@ -13,6 +13,7 @@ namespace pxsim {
buttonPairState: ButtonPairState;
radioState: RadioState;
neopixelState: NeoPixelState;
rgbLedState: number;
constructor() {
super()
@ -36,19 +37,19 @@ namespace pxsim {
DAL.MICROBIT_ID_IO_P5,
DAL.MICROBIT_ID_IO_P6,
DAL.MICROBIT_ID_IO_P7,
DAL.MICROBIT_ID_IO_P8,
0, //DAL.MICROBIT_ID_IO_P8,
DAL.MICROBIT_ID_IO_P9,
DAL.MICROBIT_ID_IO_P10,
DAL.MICROBIT_ID_IO_P11,
DAL.MICROBIT_ID_IO_P12,
DAL.MICROBIT_ID_IO_P13,
DAL.MICROBIT_ID_IO_P14,
DAL.MICROBIT_ID_IO_P15,
DAL.MICROBIT_ID_IO_P16,
0, //DAL.MICROBIT_ID_IO_P12,
0, //DAL.MICROBIT_ID_IO_P13,
0, //DAL.MICROBIT_ID_IO_P14,
0, //DAL.MICROBIT_ID_IO_P15,
0, //DAL.MICROBIT_ID_IO_P16,
0,
0,
DAL.MICROBIT_ID_IO_P19,
DAL.MICROBIT_ID_IO_P20
DAL.MICROBIT_ID_IO_P20
]
});
this.builtinParts["radio"] = this.radioState = new RadioState(runtime);
@ -61,11 +62,11 @@ namespace pxsim {
this.builtinVisuals["buttonpair"] = () => new visuals.ButtonPairView();
this.builtinVisuals["ledmatrix"] = () => new visuals.LedMatrixView();
this.builtinVisuals["neopixel"] = () => new visuals.NeoPixelView();
this.builtinVisuals["neopixel"] = () => new visuals.NeoPixelView();
this.builtinPartVisuals["buttonpair"] = (xy: visuals.Coord) => visuals.mkBtnSvg(xy);
this.builtinPartVisuals["ledmatrix"] = (xy: visuals.Coord) => visuals.mkLedMatrixSvg(xy, 8, 8);
this.builtinPartVisuals["neopixel"] = (xy: visuals.Coord) => visuals.mkNeoPixelPart(xy);
this.builtinPartVisuals["neopixel"] = (xy: visuals.Coord) => visuals.mkNeoPixelPart(xy);
}
receiveMessage(msg: SimulatorMessage) {
@ -97,7 +98,7 @@ namespace pxsim {
const cmpDefs = msg.partDefinitions || {};
const fnArgs = msg.fnArgs;
const opts : visuals.BoardHostOpts = {
const opts: visuals.BoardHostOpts = {
state: this,
boardDef: boardDef,
partsList: cmpsList,

View File

@ -168,7 +168,7 @@ namespace pxsim.bluetooth {
export function uartWrite(s : string): void {
// TODO
}
export function uartRead(): string {
export function uartReadUntil(del: string): string {
// TODO
return ""
}

6
sim/state/rgbled.ts Normal file
View File

@ -0,0 +1,6 @@
namespace pxsim.basic {
export function setLedColor(c: number) {
board().rgbLedState = c;
runtime.queueDisplayUpdate()
}
}

View File

@ -43,6 +43,10 @@ namespace pxsim.serial {
return board().serialState.readSerial();
}
export function readUntil(del: string): string {
return readLine();
}
export function onDataReceived(delimiters: string, handler: RefAction) {
let b = board();
b.bus.listen(DAL.MICROBIT_ID_SERIAL, DAL.MICROBIT_SERIAL_EVT_DELIM_MATCH, handler);

5
sim/state/soundmotor.ts Normal file
View File

@ -0,0 +1,5 @@
namespace pxsim.motors {
export function motorOn(power: number) {
// TODO
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,232 +0,0 @@
let correctBall: number
let ballRevealing: boolean
let cupSelect: string
let index: number
let score: number
let level: number
let swapSpeed: number
initializeGame()
input.onButtonPressed(Button.A, () => {
if (ballRevealing) {
index = index + 1
if (index > 2) {
index = 0
}
basic.showString(cupSelect[index], 150)
}
})
input.onButtonPressed(Button.B, () => {
if (ballRevealing) {
ballRevealing = false
if (correctBall == index) {
score = score + level
images.createImage(`
. . . . .
. . . . #
. . . # .
# . # . .
. # . . .
`).showImage(0)
basic.pause(1000)
basic.showString("+".concat(level.toString()), 150)
basic.pause(1000)
} else {
images.createImage(`
# . . . #
. # . # .
. . # . .
. # . # .
# . . . #
`).showImage(0)
basic.pause(1000)
basic.clearScreen()
revealBall(correctBall)
basic.pause(1000)
}
}
level = level + 1
if (level == 4) {
basic.showString("FINAL SCORE:", 75)
basic.showNumber(score, 150)
} else {
playLevel(level)
}
})
playLevel(1)
function revealBall(p: number) {
let xCoordinate = 2 * p
for (let j = 0; j < 3; j++) {
led.plot(j * 2, 2)
}
for (let i = 0; i < 3; i++) {
led.unplot(xCoordinate, 2)
led.plot(xCoordinate, 1)
basic.pause(100)
led.unplot(xCoordinate, 1)
led.plot(xCoordinate, 0)
basic.pause(200)
led.unplot(xCoordinate, 0)
led.plot(xCoordinate, 1)
basic.pause(100)
led.unplot(xCoordinate, 1)
led.plot(xCoordinate, 2)
basic.pause(75)
}
basic.pause(1000)
}
function initializeGame() {
ballRevealing = false
level = 1
score = 0
cupSelect = "LMR"
}
function swapCups(cup_1: number, cup_2: number, pauseDifficulty: number) {
let cup_1X = 2 * cup_1
let cup_2X = 2 * cup_2
let cupXAverage = (cup_1X + cup_2X) / 2
led.unplot(cup_1X, 2)
led.unplot(cup_2X, 2)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cupXAverage, 4)
led.plot(cupXAverage, 0)
basic.pause(pauseDifficulty)
led.unplot(cupXAverage, 4)
led.unplot(cupXAverage, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_2X) / 2, 4)
led.plot((cupXAverage + cup_1X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_2X) / 2, 4)
led.unplot((cupXAverage + cup_1X) / 2, 0)
}
led.plot(cup_2X, 4)
led.plot(cup_1X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_2X, 4)
led.unplot(cup_1X, 0)
led.plot(cup_2X, 3)
led.plot(cup_1X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_2X, 3)
led.unplot(cup_1X, 1)
led.plot(cup_2X, 2)
led.plot(cup_1X, 2)
basic.pause(pauseDifficulty)
if (correctBall == cup_1) {
correctBall = cup_2
} else if (correctBall == cup_2) {
correctBall = cup_1
}
}
function swapFake(cup_1: number, cup_2: number, pauseDifficulty: number) {
let cup_1X = 2 * cup_1
let cup_2X = 2 * cup_2
let cupXAverage = (cup_1X + cup_2X) / 2
led.unplot(cup_1X, 2)
led.unplot(cup_2X, 2)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cupXAverage, 4)
led.plot(cupXAverage, 0)
basic.pause(pauseDifficulty)
led.unplot(cupXAverage, 4)
led.unplot(cupXAverage, 0)
if (cupXAverage == 2) {
led.plot((cupXAverage + cup_1X) / 2, 4)
led.plot((cupXAverage + cup_2X) / 2, 0)
basic.pause(pauseDifficulty)
led.unplot((cupXAverage + cup_1X) / 2, 4)
led.unplot((cupXAverage + cup_2X) / 2, 0)
}
led.plot(cup_1X, 4)
led.plot(cup_2X, 0)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 4)
led.unplot(cup_2X, 0)
led.plot(cup_1X, 3)
led.plot(cup_2X, 1)
basic.pause(pauseDifficulty)
led.unplot(cup_1X, 3)
led.unplot(cup_2X, 1)
led.plot(cup_1X, 2)
led.plot(cup_2X, 2)
basic.pause(pauseDifficulty)
}
function playLevel(level1: number) {
basic.showNumber(level, 150)
basic.pause(3000)
basic.clearScreen()
for (let i = 0; i < 3; i++) {
led.plot(2 * i, 2)
}
basic.pause(1000)
correctBall = Math.random(3)
revealBall(correctBall)
basic.pause(1000)
let swaps = 5 + 10 * level1
if (level1 == 1) {
swapSpeed = 80
} else if (level1 == 2) {
swapSpeed = 40
} else {
swapSpeed = 20
}
for (let i1 = 0; i1 < swaps; i1++) {
let swapType = Math.random(3)
let not = Math.random(3)
if (swapType < 2) {
let swapOrientation = Math.random(2)
if (swapOrientation == 0) {
swapCups((not + 1) % 3, (not + 2) % 3, swapSpeed)
} else {
swapCups((not + 2) % 3, (not + 1) % 3, swapSpeed)
}
} else {
let swapOrientation1 = Math.random(2)
if (swapOrientation1 == 0) {
swapFake((not + 1) % 3, (not + 2) % 3, swapSpeed)
} else {
swapFake((not + 2) % 3, (not + 1) % 3, swapSpeed)
}
}
}
index = -1
ballRevealing = true
}

View File

@ -1,155 +0,0 @@
let oneX: number
let oneY: number
let twoX: number
let twoY: number
let pause: number
let meteoriteOneX: number
let meteoriteOneY: number
let meteoriteTwoX: number
let meteoriteTwoY: number
let counter: number
basic.pause(2000)
oneX = 0
oneY = 4
twoX = 1
twoY = 4
counter = 0
pause = 700
led.plot(oneX, oneY)
led.plot(twoX, twoY)
input.onButtonPressed(Button.A, () => {
if (oneX > 0) {
led.unplot(oneX, oneY)
led.unplot(twoX, twoY)
oneX = oneX - 1
twoX = twoX - 1
led.plot(oneX, oneY)
led.plot(twoX, twoY)
}
})
input.onButtonPressed(Button.B, () => {
if (twoX < 4) {
led.unplot(oneX, oneY)
led.unplot(twoX, twoY)
oneX = oneX + 1
twoX = twoX + 1
led.plot(oneX, oneY)
led.plot(twoX, twoY)
}
})
meteoriteOneX = Math.random(5)
meteoriteOneY = 0
meteoriteTwoX = Math.random(5)
meteoriteTwoY = -3
basic.pause(1000)
for (let i = 0; i < 3; i++) {
led.plot(meteoriteTwoX, meteoriteTwoY)
led.plot(meteoriteOneX, meteoriteOneY)
basic.pause(pause)
led.unplot(meteoriteTwoX, meteoriteTwoY)
led.unplot(meteoriteOneX, meteoriteOneY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
}
basic.forever(() => {
for (let i1 = 0; i1 < 3; i1++) {
led.plot(meteoriteTwoX, meteoriteTwoY)
led.plot(meteoriteOneX, meteoriteOneY)
basic.pause(pause)
led.unplot(meteoriteOneX, meteoriteOneY)
led.unplot(meteoriteTwoX, meteoriteTwoY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
if (meteoriteOneY == 4) {
if (meteoriteOneX == oneX) {
for (let j = 0; j < 10; j++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
} else if (meteoriteOneX == twoX) {
for (let j1 = 0; j1 < 10; j1++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
}
}
}
while (Math.abs(meteoriteTwoX - meteoriteOneX) < 1) {
meteoriteOneX = Math.random(5)
}
meteoriteOneY = 0
counter = counter + 1
if (counter == 3) {
pause = pause - 250
} else if (counter == 8) {
pause = pause - 100
} else if (counter == 12) {
pause = pause - 100
} else if (counter == 20) {
pause = pause - 100
} else if (counter == 30) {
pause = pause - 70
}
if (counter == 40) {
pause = pause - 70
}
for (let i2 = 0; i2 < 3; i2++) {
led.plot(meteoriteOneX, meteoriteOneY)
led.plot(meteoriteTwoX, meteoriteTwoY)
basic.pause(pause)
led.unplot(meteoriteOneX, meteoriteOneY)
led.unplot(meteoriteTwoX, meteoriteTwoY)
meteoriteOneY = meteoriteOneY + 1
meteoriteTwoY = meteoriteTwoY + 1
if (meteoriteTwoY == 4) {
if (meteoriteTwoX == oneX) {
for (let j2 = 0; j2 < 10; j2++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
} else if (meteoriteTwoX == twoX) {
for (let j3 = 0; j3 < 10; j3++) {
led.plotAll()
basic.pause(200)
basic.clearScreen()
basic.pause(200)
}
basic.showNumber(counter, 150)
basic.pause(10000)
}
}
}
meteoriteTwoX = Math.random(5)
while (Math.abs(meteoriteTwoX - meteoriteOneX) < 1) {
meteoriteTwoX = Math.random(5)
}
meteoriteTwoY = 0
counter = counter + 1
if (counter == 3) {
pause = pause - 250
} else if (counter == 8) {
pause = pause - 100
} else if (counter == 12) {
pause = pause - 100
} else if (counter == 20) {
pause = pause - 100
} else if (counter == 30) {
pause = pause - 70
} else if (counter == 40) {
pause = pause - 70
}
})

View File

@ -1,230 +0,0 @@
let levelTime: number
let person: Entity
let monsters: Entity[]
let totalMonsters: number
let playing: boolean
let gameSuspended: boolean
let busyPos: Point[]
class Entity {
public x: number
public y: number
public dirX: number
public dirY: number
public hitHorizontalWall(): boolean {
return this.y == 0 && this.dirY == -1 || this.y == 4 && this.dirY == 1
}
public hitVerticalWall(): boolean {
return this.x == 0 && this.dirX == -1 || this.x == 4 && this.dirX == 1
}
public possHorizontalDir(): number {
if (this.x == 0) {
return 1
} else if (this.x == 4) {
return - 1
} else {
return Math.random(2) * 2 - 1
}
}
public possVerticalDir(): number {
if (this.y == 0) {
return 1
} else if (this.y == 4) {
return - 1
} else {
return Math.random(2) * 2 - 1
}
}
public collidesX(p2: Entity): boolean {
return this.y == p2.y && this.y + this.dirY == p2.y + p2.dirY && (this.x + this.dirX == p2.x || this.x + this.dirX == p2.x + p2.dirX || p2.x + p2.dirX == this.x)
}
public collidesY(p2: Entity): boolean {
return this.x == p2.x && this.x + this.dirX == p2.x + p2.dirX && (this.y + this.dirY == p2.y || this.y + this.dirY == p2.y + p2.dirY || p2.y + p2.dirY == this.y)
}
public move1() {
this.x = this.x + this.dirX
this.y = this.y + this.dirY
}
public towardsX(p2: Entity): number {
return Math.sign(p2.x - this.x)
}
public towardsY(p2: Entity): number {
return Math.sign(p2.y - this.y)
}
public plot() {
led.plot(this.x, this.y)
}
public blink() {
led.plot(this.x, this.y)
basic.pause(125)
led.unplot(this.x, this.y)
basic.pause(125)
led.plot(this.x, this.y)
}
}
class Point {
public x: number
public y: number
}
initializeState()
redraw()
basic.pause(1000)
basic.forever(() => {
levelTime = levelTime + 12
basic.pause(12)
if (!playing) {
levelTime = 0
playing = true
}
if (levelTime >= 5000) {
gameSuspended = true
game.levelUp()
levelUp()
levelTime = 0
resetState()
redraw()
basic.pause(1000)
gameSuspended = false
}
})
basic.forever(() => {
if (!gameSuspended) {
logic()
redraw()
basic.pause(500)
}
})
input.onButtonPressed(Button.A, () => {
let temp = Math.abs(person.dirX) * (-1)
person.dirX = Math.abs(person.dirY) * (-1)
person.dirY = temp
})
input.onButtonPressed(Button.B, () => {
let temp1 = Math.abs(person.dirX)
person.dirX = Math.abs(person.dirY)
person.dirY = temp1
})
function redraw() {
basic.clearScreen()
person.plot()
for (let i = 0; i < totalMonsters; i++) {
monsters[i].blink()
}
}
function initializeState() {
person = new Entity()
playing = false
busyPos = ([] as Point[])
let busyPos1 = new Point()
busyPos1.x = 1
busyPos1.y = 1
let busyPos2 = new Point()
busyPos2.x = 1
busyPos2.y = 3
let busyPos3 = new Point()
busyPos3.x = 3
busyPos3.y = 1
busyPos.push(busyPos1)
busyPos.push(busyPos2)
busyPos.push(busyPos3)
monsters = ([] as Entity[])
addMonster()
resetState()
}
function logic() {
if (person.hitHorizontalWall()) {
person.dirY = 0
person.dirX = person.possHorizontalDir()
}
if (person.hitVerticalWall()) {
person.dirX = 0
person.dirY = person.possVerticalDir()
}
let lost = false
for (let i = 0; i < totalMonsters; i++) {
let m = monsters[i]
m.dirX = m.towardsX(person)
m.dirY = m.towardsY(person)
if (m.dirX != 0 && m.dirY != 0) {
let x = Math.random(2)
if (x == 1) {
m.dirX = 0
} else {
m.dirY = 0
}
}
if (person.collidesX(m) || person.collidesY(m)) {
lost = true
}
}
if (!lost) {
moveAll()
} else {
loseLife()
}
}
function loseLife() {
moveAll()
basic.pause(500)
basic.showLeds(`
. # . # .
. . # . .
. . . . .
. # # # .
# . . . #
`, 400)
basic.pause(1000)
basic.clearScreen()
game.removeLife(1)
playing = false
resetState()
}
function moveAll() {
person.move1()
for (let i = 0; i < totalMonsters; i++) {
monsters[i].move1()
}
}
function addMonster() {
let m = new Entity()
monsters.push(m)
totalMonsters = totalMonsters + 1
}
function levelUp() {
addMonster()
}
function resetState() {
levelTime = 0
game.setLife(5)
person.x = 4
person.y = 4
person.dirX = -1
person.dirY = 0
for (let i = 0; i < totalMonsters; i++) {
let busy = busyPos[i]
let m = monsters[i]
m.x = (busy.x + Math.random(3)) - 1
m.y = (busy.y + Math.random(3)) - 1
}
}