7d7663dc1 newt: Update to 0.52.23
f64aaa69a dnsproxy: Update to 0.49.1
5d3fc9c5b dnsproxy: Update to 0.49.0
bd2cebf65 xray-core: Update to 1.8.1
f0128ce98 v2ray-core: Update to 5.4.1
4e7f27b21 obfs4proxy: Update to 0.0.14
891299822 ruby: update to 3.0.6
93bd5fad3 htop: update to 3.2.2
698132112 php8: update to 8.1.18
ec321e666 curl: update to 8.0.1
gluon-hex-to-b64 takes base64 content such as a fastd private key
in legacy form via stdin and emits it in base64 encoded (WireGuard) form.
Provides basic return codes.
Backport two patches combining dual-flash layouts of OCEDO as well as
UniFi AC boards.
The two firmware partitions are already combined on OpenWrt master to
prolong the life of these devices. It allows the device to store
firmware images up to 14 MB compared to the previous 7 MB.
The intention behind backporting these patches is to allow these devices
to have a wide update path to firmware-versions requiring this extra
space. Otherwise a device might not be able to install an upgrade which
exceeds a single firmware-partition.
For UniFi AC boards it should be noted that factory-installation will
not be possible with an image exceeding a single firmware-partition. In
this case, an older OpenWrt image that fits in a single partition and
supports writing the enlarged partition space is required.
Currently, this is not the case. As these devices are end-of-sale, this
will become less of a concern over time.
Signed-off-by: David Bauer <mail@david-bauer.net>
074db57936 kernel: backport fix for recently introduced UBI bug
9af29da281 uclient: update to Git version 2023-04-13
1d4db4e4db OpenWrt v22.03.4: revert to branch defaults
94adc23fa6 OpenWrt v22.03.4: adjust config defaults
38ccc47687 imagebuilder: allow to specific ROOTFS_PARTSIZE
The only device using the ATH10K_PACKAGES_IPQ40XX variable in
ipq40xx-mikrotik (the MikroTik hAP ac2) has little RAM and is
using ath10k-ct-smallbuffers by default at the moment. This is
just a suggestion to rename the variable in-case the wifi driver
ever has to be replaced by ath10k.
Analogue to 4a00b8aebb
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
This partially reverts commit 22c47df242.
Devices in ath79-generic like the TP-Link EAP225-Outdoor v1 are really
unstable with the non -ct Wave2 firmware and regulary crash with 100% memory
consumption when only a handful devices are connected via 5 GHz.
closesfreifunk-gluon/gluon#2827
1fd9cbcf9 yq: Update to 4.33.2
93b973f51 nano: make nanorc world readable
12bef946f zoneinfo: updated to the latest release
630603042 node: bump to v16.20.0
deafcf9162 ramips: define remapping-range for DAP-X1860
711e45e158 ramips: add support for D-Link DAP-X1860 A1
2a4a6372d3 ramips: lower re305-v3 spi-max-frequency
50d707e344 lantiq: fix lzma-loader for Netgear DGN 3500(B)
fea7478f2d iproute2: add missing libbpf dependency
b2db4fa956 ath79: tiny: Do not build TPLink WPA8630Pv2 by default
c6b6cab858 ramips: mt7621: mikrotik 760igs (hEX S) fix SFP
2faa7ff09e openssl: fix variable reference in conffiles
0636d6b925 ath79: use lzma-loader for Senao initramfs images
70d2e8b4db ath79: Fix glinet ar300m usb not working
9aaeaa8d2a toolchain: musl: Fix symbol loading in gdb
99fddbe4fd wireless-regdb: update to 2023.02.13
f677302cc4 build: fix for sourcing targets image config installed via feeds
50d37b0b37 ramips: rt5350: enable lzma-loader for ALLNET ALL5003
13d3fb3c20 bpf-headers: fix package category
7531ef7f1c sdk: expose PATENTED an NLS build options
4ed98849a5 ksmbd: update to 3.4.7
51cf5aa731 hostapd: add missing return code for the bss_mgmt_enable ubus method
d2f3422e9d kernel: filter out pahole version
5030620db6 dnsmasq: add dhcphostsfile to ujail sandbox
066ac40c29 netifd: strip mask from IP address in DHCP client params
354ad1084a lantiq: nand: don't yield while holding spinlock
6035401f46 mac80211: fix invalid calls to drv_sta_pre_rcu_remove
fc1750b305 ramips: mt7621: ASUS RT-AX53U add NMBM, nest firmware
85b6a7a195 ramips: Alternative name Asus RT-AX1800U for Asus RT-AX53U
a3fbeb2cbb ramips: add missing LEDs to Asus RT-AX53U
21a121af80 uboot-envtools: add support for ramips Asus RX-AX53U
3014c694da ramips: add support for read/write uboot env to Asus RX-AX53U
ff22a20922 comgt: ncm: support Mikrotik R11e-LTE6 modem
5909b6c886 comgt: add quirk for Mikrotik modems based on Mikrotik R11e-LTE6
05ec70f6ae kernel: add support for XMC XM25QH64C
541be7ddb2 ath79: Refresh patches
The WRE6066, has in contrast to other ip40xx devices, has only 128MB system RAM.
This results in OOM situations and instability, to circumvent this we need
to use ath10k-smallbuffers.
Signed-off-by: skorpy <skorpy@frankfurt.ccc.de>
391e18067 banip: update to 0.8.2-6
9748c394d banip: update to 0.8.2-5
5ae16a7a6 yq: Update to 4.33.1
e9b65e5d7 dnsproxy: Update to 0.48.2
7894fd057 dnsproxy: Update to 0.48.1
8a8c51a92 dnsproxy: Update to 0.48.0
b2c3f2d13 natmap: update to 20230322
7852691b8 banip: update to 0.8.2-4
9fb40dbb8 banip: update to 0.8.2-3
33431b63b sqlite3: Update to 3.41.1
This device is already supported.
It's a lantiq device that was entered as ar71xx
in to the list of supported device and therefore
removed before the release of Gluon 22.
Set the MAC-adress for the WAN interfacce in case it is defined in the
board-data.
This commit fixes random MAC-Addresses on reboot in case OpenWrt stores
them in the device network configuration.
Fixes#2808
Signed-off-by: David Bauer <mail@david-bauer.net>
b8e0831 bird1: fix "Form token mismatch" errors in luci-app-bird1-ipv{4,6}
3d7df59 bird1: rename get_bool() to get_a_bool() in bird{4,6}-lib.sh
4e0e702 bird1-openwrt: fix Makefile issues
58a4a00 bird1-openwrt: use a single Makefile for IPv4 and IPv6 packages
0d566071c adblock: update to 4.1.5-7
05262f346 yq: Update to 4.32.2
245d3479c cloudflared: Update to 2023.3.1
bf9bafd2c v2raya: Update to 2.0.4
66816f0f6 banip: push 0.8.2-2 to stable branch
07e032ee1 v2ray-geodata: Update to latest version
869e5573c xray-core: Update to 1.8.0
b13728e6a strongswan: add fix for CVE-2022-40617
eb4966e54 golang: Update to 1.19.7
b1f684f01 miniupnpd: bump to 2.3.3
1f1bfff84 php8: update to 8.1.16
fe75545e6 gphoto2: fix compilation with BUILD_NLS
19347485a mv88e6xxx_dump: update to 2023.03.08
ae7dd67aa simple-adblock: update init file and config
4ee651287 crowdsec: update to 1.4.6 Update crowdsec to latest upstream release version 1.4.6
6c78413ed frp: update to 0.48.0
4ab4523f7 frp: update to 0.47.0
90749ee59 v2raya: switch to use nftables
70bfe06bb perl-ack: Update to 3.7.0
b53d4f03f v2ray-core: Update to 5.4.0
acddc2050 crowdsec-firewall-bouncer: update to 0.0.25
3c59f514b yt-dlp: update to 2023.3.4
3ea3a0657 haproxy: update to v2.4.22
3e3650bc9 curl: add lang/perl-www-curl/patches/230-curl_7.88_compat.patch
009b2d005 curl: update to 7.88.1
Instead of checking for the deprecated sysfs entry `wireless` which no
longer exists when running newer versions of openwrt, testing for `phy80211`
can be used and works for old and new versions of openwrt.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
The device was introduced in #2332 and merged in 102a4b9350.
It appears that the autoupdater name wasn't correct and devices therefore don't receive updates.
root@64295-ggw3-20b399bb366f-132:~# lua -e 'print(require("platform_info").get_image_name())'
enterasys-ws-ap3705i
The GL-MT1300 is a high-performance new generation pocket-sized router
that offers a powerful hardware and first-class cybersecurity protocol
with unique and modern design.
Specifications:
- SoC: MT7621A, Dual-Core @880MHz
- RAM: 256 MB DDR3
- Flash: 32 MB
- Ethernet: 3 x 10/100/1000: 2 x LAN + 1 x WAN
- Wireless: 1 x MT7615D Dual-Band 2.4GHz(400Mbps) + 5GHz(867Mbps)
- USB: 1 x USB 3.0 port
- Slot: 1 x MicroSD card slot
- Button: 1 x Reset button
- Switch: 1 x Mode switch
- LED: 1 x Blue LED + 1 x White LED
MAC addresses based on vendor firmware:
WAN : factory 0x4000
LAN : Mac from factory 0x4000 + 1
2.4GHz : factory 0x4
5GHz : Mac form factory 0x4 + 1
Flashing instructions:
1.Connect to one of LAN ports.
2.Set the static IP on the PC to 192.168.1.2.
3.Press the Reset button and power the device (do not release the button).
After waiting for the blue led to flash 5 times, the white led will
come on and release the button.
4.Browse the 192.168.1.1 web page and update firmware according to web
tips.
5.The blue led will flash when the firmware is being upgraded.
6.The blue led stops blinking to indicate that the firmware upgrade is
complete and U-Boot automatically starts the firmware.
Now that OpenWrt implements a proper fix for the stalled boots on 74kc
boards, the previous workaround can be removed.
Signed-off-by: David Bauer <mail@david-bauer.net>
f06652bc1 v2raya: drop wrong patches
b6fab0750 yq: Update to 4.31.2
614680d93 yq: Update to 4.31.1
781be9731 cloudflared: Update to 2023.3.0
889028f86 cloudflared: Update to 2023.2.2
4b630ba72 sed: remove old libpcre dependency
3e2c1336a msgpack-c: Update to 5.0.0
43ae97707 golang: Update to 1.19.6
692052b8c node: bump to v16.19.1
2fcba9a46 zerotier: update to 1.10.3
651c73467 git: update to 2.34.7
656835201 https-dns-proxy: 2022-10-15-11 update
0790a0626 cloudreve: Update to 3.7.1
11780f597 gg: Update to 0.2.18
a4393e648 dnsproxy: Update to 0.47.0
2ccdd6d27 kcptun: update to version 20230207
48d58b61c simple-adblock: bugfix: ensure directory for jsonFile is created
b0050dc7f simple-adblock: implement procd_boot_wan_timeout support
fc70290d5 adblock: update 4.1.5-6
1e59e5d12 snowflake: update to v2.5.1
c13c734e3 django: bump to version 4.0.10
d3c9e5200 irqbalance: Add upstream fix for AARCH64 irq name parsing
f38c9e1d2 simple-adblock: update to 1.9.4-1
1c0d2ce41 adblock: update 4.1.5-5
Currently the 'channels' setting of a 5G radio gets overwritten or
deleted even if the 'preserve_channels' option is enabled. Don't touch it
if 'preserve_channels' is set.
wait for device initialisations
workaround for a timing issue during first boot on ath79-generic
after sysupgrade from ar71xx-generic image
GitHub Issue: #2779
It looks like boot hangs on an AC-Mesh for unknown reasons. The last
message seen on the console is:
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
But interestingly, it seems like enabling AIO somehow works around this
problem. Changing any off the following options seem to have the same
effect at the moment for Linux 5.10.160+5.10.161
# CONFIG_KERNEL_AIO is not set
# CONFIG_KERNEL_CGROUPS is not set
# CONFIG_KERNEL_FANOTIFY is not set
# CONFIG_KERNEL_FHANDLE is not set
# CONFIG_KERNEL_IO_URING is not set
# CONFIG_KERNEL_IPV6_MROUTE is not set
# CONFIG_KERNEL_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_KERNEL_IP_MROUTE is not set
CONFIG_KERNEL_PROC_STRIPPED=y
Just enable CONFIG_AIO until the actual problem was fixed.
Link: https://github.com/freifunk-gluon/gluon/issues/2784
669357351 v2ray-geodata: Update to latest version
04af31728 v2ray-core: Update to 5.3.0
6c13c9363 xray-core: Update to 1.7.5
bfe92ef86 cloudflared: Update to 2023.2.1
ce1d359a7 cloudflared: Update to 2023.1.0
5b8e61edb php8: update to 8.1.15
65b1563d0 xfrpc: update to version 2.1.606
30b0a36c7 xfrpc: Update to 1.11.587
3f023d5af xfrpc: allow server_addr ip and domain
028345fa9 xfrpc: Update to 1.07.582
9167756cb xfrpc: update to 1.06.579
ff4c824e2 xfrpc: set xfrpc's disabled default value to 0
74ed1a15a xfrpc: fix bug of xfrpc.init
8b80ad3b9 xfrpc: update to 1.05.561
b266107c3 xfrpc: Update to 1.05.548
ef5cacd4e xfrpc: fast reverve proxy client in c language
97c38b456 simple-adblock: update to 1.9.3-7
a13b1a64d ci: update github actions to v3
7abfee2e8 ci: Use openwrt/gh-action-sdk@v5
02e95fdef autossh: return from instance function, not exit the script
76ba43711 autossh: Add dropbear proxy (-J) support
09ae01170 mv88e6xxx_dump: add new packages to debug switch issues
1497ef515 bind: update to 9.18.11
f7541aecdc bpf: ignore missing LLVM bins on package for non compile steps
98b8507e83 bpf: check llvm version only when used
7370479224 at91: sam9x,sama5: fix racy SD card image generation
52564e65d5 at91: sama7: fix racy SD card image generation
863288b49d mac80211: Update to version 5.15.92-1
71cbc95111 kernel: bump 5.10 to 5.10.166
3fd3d99e3a ramips: mt7621-dts: fix phy-mode of external phy on GB-PC2
212c3ffdfc octeontx: add sqaushfs and ramdisk to features
2601873cc5 ath79: add LTE packages for GL-XE300
2702ef9427 ath79: add label-mac-device for GL-XE300
0657576ce1 ath79: add LTE led for GL.iNet GL-XE300
428d720c7f kernel: backport some mv88e6xxx devlink patches
83a13b74f5 kernel: bump 5.10 to 5.10.165
10c79414db kernel: bump 5.10 to 5.10.164
15b9c02d6c kernel: bump 5.10 to 5.10.163
a8025bc2c2 kernel: bump 5.10 to 5.10.162
The other bugfix which made this element inherit from AbstractValue
caused AbstractValue:validate() to be inherited aswell
Now added an if so validate only runs if a datatype is set
(since Element is meant as a generic way to extend web-model without
modifying web-model - also to add custom inputs - just hiding it behind an if sounds like a sane solution)
4cb3303d5 nextdns: Update to version 1.39.4
7a756db00 python3: bump to version 3.10.9
bcd299d0c bash: update to version 5.2.15
080466064 pbr: bugfix: fix is_domain()
994dbb785 php8: update to 8.1.14
47fb67e5e v2ray-core: Update to 5.2.1
dc39bbef1 atlas-sw-probe: add more binaries
73cbdbc82 python-docutils: bump to version 0.19
328e64835 frp: update to 0.46.1
02b33536b frp: update to 0.46.0
5ba2c1314 nano: update to 7.2
05844d909 git: update to 2.34.6
2417b74fc atlas-sw-probe: update to version 5080
18fa44a14 golang: Update to 1.19.5
e81ff3fcc atlas-probe: update to 2.6.3
360bce6f3 xz: update to version 5.4.1
68d3d099b docker-compose: Update to version 2.15.1
2feedb1e2 speedtestpp: drop libxml2 dependency
df3799fe0 yt-dlp: update to 2023.1.6
69a8305f7 ocserv: disable libmaxminddb detection
5234dc93b knot: disable libmaxminddb detection
709172c95 python-pytz: bump to version 2022.7
0d346fe7f bind: disable geoip
e4a7f86bf docker-compose: Update to version 2.15.0
f709ba1ee stubby: Restart on interface trigger
4ff16a7bf stubby: Update to 0.4.3
8038868ba getdns: Update to 1.7.3
We migrate to dnsmasq-full, while disabling most of its features.
Notably, dhcp and dnssec are compiled in, while other features of the
full variant are deselected.
The site.node_client_prefix6() is only used internally by the l3roamd
protocol. Therefore it is unnecessary to expose it to an administrator.
Instead, if node_client_prefix6 is unspecified in the site, generate an
IPv6 Unique Local Address prefix from the site domain_seed.
This updates the site documentation as well and marks this setting as
both optional and deprecated.
Note: If you had the node_client_prefix6 specified before and want to
use the new autogeneration from the domain_seed instead then this will
break compatibility and will need a gluon-scheduled-domain switch.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
4b30c97b5 libtorrent-rasterbar: Update to 2.0.8
db78655bb syncthing: update to 1.23.0
f8cd48207 libmaxminddb: install pkgconfig file
55222315f libmaxminddb: update to 1.7.1
27db10b96 AdGuardHome: update to v0.107.21
2048c5bbf libnetwork: Update to dcdf8f1 for Docker v20.10.22
b7500ff2d containerd: Update to v1.6.13 for Docker v20.10.22
27e985f32 docker: Update to v20.10.22
7426365de dockerd: Update to v20.10.22
511de74ce owntone: Update to 28.5
90c25ab10 owntone: update to 28.4
94a947f1c mxml: update to 3.3.1
b5fd276fd docker-compose: Update to version 2.14.2
5c9215b20 docker-compose: Update to version 2.14.1
7bd647a50 docker-compose: Update to version 2.14.0
dad5db7a2 docker-compose: Update to version 2.12.2
d3d580daa docker-compose: Update to version 2.12.0
ec76dce13 docker-compose: Update to version 2.11.2
3d9f6f2fa docker-compose: Update to version 2.11.1
8353f504a docker-compose: Update to version 2.11.0
41ab6565b docker-compose: Update to version 2.10.2
e65d20aee docker-compose: Update to version 2.9.0
0aff8059f docker-compose: Update to version 2.7.0
3846dc1f4 docker-compose: Update to version 2.6.1
a749254bd docker-compose: Update to version 2.6.0
66f07e340 docker-compose: Update to version 2.5.1
01d6208e5 docker-compose: Update to version 2.5.0
1900774ad docker-compose: Update to version 2.4.1
07647d822 docker-compose: Update to version 2.4.0
7dc695f35 docker-compose: Update to version 2.3.4
5b32db43f telnet-bsd: add package
60af04fa4 domoticz: update to 2022.1
801c00193 bind: update to version 9.18.10
82a4e7a46 golang: backport an upstream fix for non-retpoline-compatible error
01406a6ca v2ray-geodata: Update to latest version
17d72277e v2ray-core: Update to 5.2.0
c5a51a440 xray-core: Update to 1.7.0
5f5d9ddf6 rclone: Update to 1.61.1
c2f2b6977 cloudreve: Update to 3.6.2
02a6ad64d xray-core: Update to 1.6.6-2
2d059c5d9 yq: Update to 4.30.6
334c598b1 dnsproxy: Update to 0.46.5
bb646b65f dnslookup: Update to 1.8.1
5c9ffc34d cloudflared: Update to 2022.12.1
58b61913d natmap: update to 20221225
f6db13442 natmap: fix service not stopped when disabled in luci
4b9641eea natmap: add Package/conffiles
e4fc50644 libarchive: add missing CONFLICT
a139b554c libarchive: fix CVE-2022-36227
ab468882d libarchive: update to 3.5.3
- set permissions explicitly, as recommended in their docs
- drop github_token and github_workspace (now set per default)
- ownership has moved from "zeebe-io" to the main developer "korthout"
backport-action will follow semver from now on
This adds a new package which allows configuration of Gluons cellular
WWAN capabilities using the configuration mode. This way, a user can
enter APN information as well as the SIM PIN and enable / disable the
functionality.
Signed-off-by: David Bauer <mail@david-bauer.net>
Add cellular configuration support to Gluon. This implementtaion focuses
not on hotpluggable WWAN adapters but instead on embedded LTE modems
found in travel-routers or FWA CPEs.
Signed-off-by: David Bauer <mail@david-bauer.net>
6c3e16055a kernel: backport ksmbd security fix ZDI-22-1690
275c51bf40 Revert "image-commands.mk: Be consistent in command invocation"
fec4fb3a56 sunxi: remove frequency for NanoPi R1
51a763ab0f arm-trusted-firmware-sunxi: drop CPE ID
377d805887 trusted-firmware-a.mk: use correct CPE ID
f30414c56d kernel: bump 5.10 to 5.10.160
47ac52a7c4 ath79: image: don't depend on other COMPILE targets
da79da3ac1 image: fix device profile specific COMPILE targets
9aa95bbebb rules: fix broken commitcount on alpine system
fcff234fd8 image-commands.mk: Be consistent in command invocation
be7b97d873 sunxi: fix typo in device packages for MarsBoard A10
709351bf32 kernel: Make KERNEL_MAKEOPTS recursively expanded
3b066a6581 lantiq: vr9: include usb driver for fritz 7430
39dcfcd987 wolfssl: fix build with /dev/crypto
e51f3a22aa toolchain: Update glibc 2.34 to recent HEAD
298d2d0412 Revert "mbedtls: import patch to fix illegal instruction on mpc85xx"
3de4572ed3 tools/ccache: fix build with musl and gcc 12
8e43a44f08 rpcd: update to latest Git HEAD
f43ceb60d5 iwinfo: update to latest Git HEAD
31baecb70e iwinfo: update to the latest version
f34c4a950e iwinfo: update to the latest version
9b7a3e1a5e iwinfo: update to the latest version
ce881873c0 kernel: add missing dependency to KERNEL_RPI_AXIPERF
7ccb4c6651 kernel: add missing symbol for bcm27xx
b18a0d0b92 generic: add support for EON EN25QX128A spi nor flash
d909fb1d3b kernel: bump 5.10 to 5.10.159
e5cec69484 kernel: bump 5.10 to 5.10.158
3a58bda06b kernel: bump 5.10 to 5.10.157
ee2341cac6 kernel: add symbol in generic config for 5.10.157
bc64ca15d4 kernel: kmod-net-rtl8192su: Remove package
b1204ce28c umbim: Allow roaming and partner connections
15bc6b23c7 kernel: further cleanup of xfrm[4|6]_mode*
6e396eff1a kernel: remove handling of xfrm[4|6]_mode_* modules
78fc12ddd0 kernel: fix typo for tegra crypto-sha1 module
4408f7d564 kernel: add kmod-btsdio package
6b2c445b88 kernel: remove CONFIG_MMC_BLOCK_BOUNCE
aef33ab13a ath79: fix Teltonika RUT230 v1 MAC assignment
The main difference between the non-EFI and EFI images generated by
OpenWrt is that the former uses an MS-DOS partition table, while the
latter uses GPT. The EFI images still have a BIOS-compatible MBR, so
they work fine on non-EFI systems.
Closes#2403
I was made aware of a bug when submitting the form while the element is
disabled based on it's dependencies
The fix was to inherit from AbstractValue instead of just node
AbstractValue's AbstractValue:resolve_node_depends() in particular
solves the issue, but it made more sense to just use the full base class
These devices use all LAN ports as a WAN bridge.
Closes#2721
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
04eadf860 dnsproxy: Update to 0.46.4
f5547cfde cloudflared: Update to 2022.11.1
4abdc2f33 github-ci: error on any shell errors
798fe3f59 django: bump version 4.0.8
ce3e9d4b4 natmap: merge "ipv4" and "ipv6" options into single "family" option
0393a5c19 snowflake: update to version 2.4.1
ec2fbd57e natmap: add new package
6cd1035d8d ramips: add support for Wavlink WS-WN572HP3 4G
3f7ce4bd40 comgt-ncm: add support for quectel modem EC200T-EU
03ab5a60da realtek: update GPIO bindings for DGS-1210-10P
63fde4607c ustream-ssl: update to Git version 2022-12-07
1c174fe0ba CI: kernel: don't checkout and install feeds
385f78780c CI: build: skip sdk adapt to external toolchain on cache hit
8be50c369b CI: build: fix use of sdk as toolchain
1af58a2d39 ramips: mt7621: enable lzma-loader for ZyXEL WAP6805
8fbf03690e ramips: mt7621: enable lzma-loader for netis WF2881
282dd271ad kernel: ca8210: Fix crash by zero initializing data
1a0f2c3a3e e2fsprogs: Fix CVE-2022-1304
1285938d2c bcm4908: Refresh kernel patches
eb639e54fc ucode: update to latest Git HEAD
9b6dcf322b mvebu: disable also wrt32x due to broken switch
69ed96fba8 kernel: netconsole: add network console logging support
1f9bf1ee82 kernel: kmod-isdn4linux: Remove package
a3dee42206 kernel: kmod-w1-slave-ds2760: Remove package
2a1bf860f3 kernel: kmod-rtc-pt7c4338: Remove package
a0bae2fef8 mvebu: cortexa9: disable devices using broken mv88e6176 switch
309a6f22ba CI: trigger check also on build and check-kernel-patches workflow change
ec9ca325c0 CI: build: fix matching for openwrt release branch for toolchain parsing
63a2ea5470 CI: fix matching for openwrt release branch for container selection
9db78a7e86 CI: build: add support to fallback to sdk for external toolchain
47519a574c CI: build: add support for external toolchains from stable branch
05c3ee608f CI: build: add support for per branch tools container
f3cb0cfdf9 CI: tools: support per branch tools container
5fc4182f1e CI: Build all boards and testing kernel
31fb360f57 CI: Allow building with internal toolchain
e74479d559 CI: Extract the OpenWrt building to own sub workflow
b7e2e14912 CI: Simplify if conditions
8ac2cf6de9 CI: packages.yml: Fix usage of pre-build tools
db347be0b3 CI: packages: Add github CI job to build all packages
99524d49b4 CI: kernel: fix deprecation of set-output
de29c8bda7 ci: kernel: trigger build check on changes in kernel.mk as well
b93a59352f CI: kernel: check if patch are refreshed for each target
d070707379 CI: bump actions/download,upload-artifact action to v3
69414201ae CI: bump actions/checkout action to v3
8c4e39eb08 CI: kernel: generate ccache cache on kernel push
303b784cc8 build: harden GitHub workflow permissions
b3e8d58151 Revert "build: harden GitHub workflow permissions"
431875b3df CI: kernel: use ccache to speedup workflow
8bbaa486cb CI: tools: compile tools with ccache support for tools container
c2df98c49c CI: Add workaround for github uppercase usernames
daeb367dc1 CI: use tools:latest container to speedup kernel workflow
fccf42cb05 CI: create Docker container containing compiled tools
047e68adb1 CI: use buildbot container for building
a69b9a8962 ci: show build failures directly in job log output
f2fb3ffd71 ci: move scripts into separate directory
7ff1477b3d CI: package kmods in kernel workflow
2f9b35624d CI: kernel: Cache external toolchain
1f13c8cd24 CI: kernel: Build all kernel modules
c3ed9f36ee CI: kernel: Checkout feeds from github
0987df4af1 CI: kernel: Show used OpenWrt configuration
f7affcd614 CI: kernel: Use downloads.cdn.openwrt.org
0f71cf7ab6 CI: kernel: Trigger workflow for more directories
586be47078 CI: run inside the buildbot docker container
0e46907ff5 CI: add Kernel compile tests
119c6573c4 CI: usability improvements for tools
ac7b1c8e94 build: handle directory with whitespace in AUTOREMOVE clean
439e19de96 scripts/ext-tools: introduce new script to install prebuilt tools
d419136ad5 build: make find_md5 reproducible with AUTOREMOVE
be2da47ced ath79: expand rootfs for DIR-825-B1 with unused space
087a2a4691 mac80211: Update to version 5.15.81
83c70346ac base-files: support "metric" in board.json
5167bcf2fc kernel: update U-Boot nvmem driver to v6.2 release version
bf1c4f1eba bcm4908: update DTS files with the latest changes
44fad4b1f6 bcm4908: fix Asus GT-AX6000 image
c45f44165b bcm4908: use upstream patches for Asus GT-AC5300 LEDs
7d63c39bf4 CI: labeler: fix wrong label for pr targeting stable branch
e516c31e14 CI: add support to tag pr targeting stable branch
8b95e14e32 Revert "CI: Add release/22.03 label to all pull requests"
ce1de42096 layerscape: Fix SPI-NOR issues with vendor patches
a704216259 mt76: move the mt7921 firmware to its own package
e7497d1083 CI: Add release/22.03 label to all pull requests
c43b5e71b8 CI: labeler: target major version of labeler action
008e9a335d build: harden GitHub workflow permissions
c7757810fc CI: include automatic Pull Request Labeler
2b5154214c ipq40xx: luma_wrtq-acn329: swap ethernet MAC addresses
68add5f364 ath79: mikrotik: use OpenWrt loader for initram image
a907c20340 kernel: add kmod-hwmon-sht3x support
a4af427d80 procd: service: pass all arguments to service
106fedd9ed ath79: fix MAC address assigment for TP-Link TL-WR740N/TL-WR741ND v4
8040f74f8d tools/patch: apply patch for EACCES on xattr copy
eda395a5e0 wolfssl: update to v5.5.3
0b22e87db0 ath79: D-Link DIR-825 B1 add factory.bin recipe
de6c3cca4d mbedtls: import patch to fix illegal instruction on mpc85xx
302ef2137d mt76: add firmware package for mt7916
844de50b7b ath79: disable image building for Ubiquiti EdgeSwitch 8XP
af0c128368 lantiq: add 6.1 tag to upstream patch
a4e8ff5ab4 lantiq: enable interrupts on second VPEs
dca73263a4 lantiq: xrx200: backport upstream network fixes
078bdc1856 kernel: bump 5.10 to 5.10.156
b7388191a5 kernel: bump 5.10 to 5.10.155
61e1f6541d kernel: modules: package Marvell gigE PHY driver
64da7c8af7 bcm27xx: fix CI build after config refresh
3564c22e46 bcm27xx: disable duplicate sdhost driver
353e468f47 kernel: support "linux,rootfs" DT property for splitting rootfs
b66037f53b bcm53xx: update DTS files with the latest changes
58a73b1135 kernel: improve description of NTFS kernel packages
932378aeb6 kernel: backport support for "linux,rootfs" in DT
af20d9d03b kernel: split out mtd hack for CONFIG_FIT_PARTITION + rootfs
The GitHub actions pipeline is not interrupted for unset symbols due to
OpenWrt not failing in all cases of unset symbols.
Adda patch to consistently fail for unset symbols.
Ref #2701 (build process is waiting for user input)
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
a74d1b82e zerotier: update to 1.10.2
8aec58f78 irqbalance: update to 1.9.2
fc62b59a9 gg: Update to 0.2.14
5423b2d10 v2ray-geodata: Update to latest version
ddc4edc5b xray-core: Update to 1.6.3
27dd30aad openthread-br: new package
bf2eb2333 golang: update to version 1.18.8
48fc50950 qcsuper: add package
3e63425d7 python-pycrate: add package
2466b3c0d python-crcmod: add package
c2b7f86a8 ffmpeg: libffmpeg-full package should provide libffmpeg package, too
fixes OOM reboots due too limited ram with ath10k 5Ghz enabled
add some comments to describe the need for ath10k-ct replacement
tested stable on an TP-Link Archer C25v1
more details
694757a08f
`apt-get clean` clears out the local repository of retrieved package files.
It removes everything but the lock file from /var/cache/apt/archives/ and
/var/cache/apt/archives/partial/.
Co-authored-by: Vieno Hakkerinen <vieno@chemnitz.freifunk.net>
c5974e7d1 xray-core: Update to 1.6.2
458836e6c pulseadio: fix conffiles for pulseadio-daemon-avahi package
01cb4fc41 hub-ctrl: trim trailing spaces
3f4cc35d1 announce: trim trailing spaces
58b48b2df knot: update to version 3.2.2
8a106f066 pulseaudio: change homepage URLs to freedesktop.org
58a5e8a5e pulseaudio: use AUTORELEASE variable
05be550e7 pulseaudio: daemons should conflict to each other
6a4b1d195 pulseaudio: simplify and rework Makefile
e8c169693 luaexpat: trim trailing spaces
8f85f8984 squid: trim trailing space
8ff324419 mini_snmpd: trim trailing spaces
1fcbe2d6e lynx: trim trailing space
e4a3e0d94 librespeed-cli: add package
503e3a0e3 zoneinfo: updated to the latest release
db2989ebc zoneinfo: updated to the latest release
de77e2320 zoneinfo: updated to the latest release
cb7fe299f mpd: depend the full variant on pulseaudio instead of pulseaudio-daemon
4d8a00e54 php8: update to 8.1.12
1f71809d6 cloudflared: Update to 2022.10.3
18854f6f8 rclone: Update to 1.60.0
81b355ec5 yq: Update to 4.29.2
58bd7b001 curl: bugfix: building as selected package doesn't break build
cc160ea8d curl: update to 7.86.0
6f4e73287 python3-pytz: bump to version 2022.5
0bca5e2a0 curl: include nls.mk
56380fb01 dnsproxy: Update to 0.46.2
1acc8e3e7 v2ray-geodata: Update to latest version
ab97e3d50 xray-core: Update to 1.6.1
a1fbaa704 xray-core: remove orphan xray-geodata definition
0b68bfd6c node: bump to v16.18.0
f916e3426 ffmpeg: add conflicts and provides
f7d592607 bandwidthd: fix time_t problem Fixes issue #19510 with the change in time_t with musl 1.2
1cebcd66f atlas-probe: fix SIGSEGV error on 32bit system
ea7a0739a samplicator: update to latest master commit 2021-10-11
b4d1b8424 libwebsockets: fix recursive dependency
b2727bbe0 simple-adblock: rename wan6_trigger option
fa567eef0 https-dns-proxy: rename options
fefd89f77 libwebsockets: OpenSSL and mbedTLS variants should conflict
21ac9491f libwebsockets: full variant provides OpenSSL
deefa58a8 lighttpd: backport patch to fix dummy Sec-WebSocket-Key
54f3c8444 mariadb: Drop unused rundir fix socket dir perms
6f49212bc https-dns-proxy: add version information to binary
0be9e78c0 simple-adblock: service_triggers improvements
e7b83b5a5 https-dns-proxy: bugfix: restore empty server; misc improvements
AVM Fritz!Box 7520 and Fritz!Box 7530 use the same hardware platform and can
only be distinguished by using the urlader partition or the fritz-tffs tools
and read the ProductID (Fritz_Box_HW247).
Migrate AVM FRITZ!Box 7360 v2 boards flashed with the incorrect v1 image to use
the newly added v2 target image during the next upgrade.
Using the v2 target image allows the boards to read the TFFS partition, which
is misaligned when using the v1 image.
Co-authored-by: Jan-Niklas Burfeind <git@aiyionpri.me>
Upstream added a standalone SPI kernel-loader which fixes the unbootable
image for the WDR4900. Thus, we can re-introduce this device to Gluon.
Signed-off-by: David Bauer <mail@david-bauer.net>
dba8a0102 gnunnet: halt build if any command fails
c1700e3a3 gnunnet: don't copy non-existing files
9c68da83e gnunet: gnunet-rest: add libjose dependency
e1d799255 opendoas: avoid libpam dependency
53c0a2767 Revert "wget: update to 1.21.3"
e0502e477 zabbix: add variants for SSL support opkg does not offer ssl varients: zabbix-agentd zabbix-sender zabbix-get zabbix-proxy zabbix-server
f9bbda2e4 wget: update to 1.21.3
0f48935ab auc: update to 0.3.1
62a7ef57d auc: update to version 0.3.0
427008a2a snowflake: update to version 2.3.1
d57a6a35b perl-net-dns: update to version 1.35
b4be6d6b1 pcsc-lite: update to verion 1.9.9
37de51dba gawk: update to version 5.2.0
5ca1c82f8 libksba: update to version 1.6.1
c033edcca gnunet: update to version 0.17.5
30b493619 libp11: update to version 0.4.12
f8f768f90 libinput: update to version 1.19.4
19874c3a7 libevdev: update to version 1.13.0
7dc69e306 postgresql: update to version 14.5
4493098f6 pcsc-lite: update to version 1.9.8
5d5348bc5 exim: update to version 4.96
8013e8929 gpgme: update to version 1.18.0
d0dd2a730 cryptsetup: update to version 2.5.0
c2296d930 lvm2: update to release 2.03.16
33d0a7adc python3: update to 3.10.7
bb4943d55 curl: error out if wolfSSL is not usable
4d900b2a1 v2ray-geodata: split from xray-geodata
9bdab0d79 v2ray-core: add new package
bda5d8e3b yq: Update to 4.28.1
0e4e3743f cloudflared: Update to 2022.10.0
f5d5326c0 cloudflared: Update to 2022.9.1
972fb7861 gg: Update to 0.2.13
c243509b6 dnsproxy: Update to 0.45.2
44034384a dnsproxy: Update to 0.45.0
a1d8cd172 python3-pytz: bump to version 2022.4
f1de43d0a0 mac80211: backport security fixes
a077c6da98 mac80211: merge upstream fixes
b6487c3ccc ramips: skip bbt scan on mt7621
33457ebf0b ramips: enable support for mtk_bmt in the nand flash driver
cc8326443d ramips: mt7621_nand: initialize ECC_FDMADDR
1918404b1d ramips: mt7621_nand: reduce log verbosity
07ea71c7b7 ramips: move mt7621_nand driver to files
fb31038e1f kernel: mtdsplit: support UBI after FIT images
329b1543f3 kernel: mtk_bmt: skip bitflip check if threshold isn't set
42c8610efc kernel: mtk_bmt: add debugfs file to attempt repair of remapped sectors
bb5d415b19 kernel: add support for mediatek NMBM flash mapping support
737ee934d2 kernel: mtk_bmt: on error, do not attempt to remap out-of-range blocks
a78fd5bbb6 kernel: mtk_bmt: fix block copying on remap with bmt v2
0c21f06ef7 kernel: mtk_bmt: allow get_mapping_block to return an error
a2ce32579f kernel: split up mtk_bmt driver code
c2d55b73d9 OpenWrt v22.03.1: revert to branch defaults
eca6fc6ea0 OpenWrt v22.03.1: adjust config defaults
Don't select channels designated for exclusive-indoor use when the
country3 element is set on outdoor operation.
This effectively prevents from using indoor-only channels in case
outdoor-mode is activated. It can be seen as a safeguard from selecting
inapprpriate channels in a site outdoor-chanlist.
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
Use the country3 option implemented in OpenWrt's hostapd configuration
handling instead of adding it as a custom option.
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
f8fec60bd ksmbd-tools: add package with hotplug.d script for auto sharing
1a0524616 ksmbd-tools: append config from /var/run/config/ for runtime shares
fff797d26e rockchip: add system-LED aliases specific to OpenWrt
18f77ef2d6 rockchip: ensure NanoPi R4S has unique MAC address
8ff1d27e48 realtek: fix RTL839x receive tag decoding
25a041f50b ipq40xx: add LTE packages for GL-AP1300
daf1fdc6ad ath79: add support for ZTE MF281
47ba7cdfc3 realtek: fix RTL838x receive tag decoding
da7b26dfb8 mt76: update to the latest version
ab61232b0a hostapd: rename hostapd multicast_to_unicast option to multicast_to_unicast_all
With the update to OpenWrt 21.02 the bridge MLD wakeup call feature was
removed. However the issue with Android devices and MLD is still
present. Therefore readding the bridge MLD wakeup call patch and porting
it to Linux 5.10 / OpenWrt 22.03.
Link: https://issuetracker.google.com/issues/149630944
Fixes: aab2b914b8 ("modules: switch to OpenWrt 21.02")
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
85e6f9348 dnslookup: Update to 1.7.3
529842c78 dnsproxy: Update to 0.44.0
9951bdcb9 cloudflared: Update to 2022.8.4
c3a153bdb pillow: bump to version 9.2.0
7977389b2 pillow: bump to version 9.1.1
b15b99eed pillow: bump to version 9.1.0
b0fe84ca4 gg: Update to 0.2.9
5819aa071 xray-core: Update to 1.5.10
c5619b78d yq: Update to 4.27.3
426ccd2e0 uvol: fix autopart handling double/float number
32e4d8fa5 python-pycares: add new package
5dc5c7966 node: bump to v16.17.0
4c311180d strongswan: add kernel module dependency on chapoly
8b04b607a i2pd: update to version 2.43.0
240a8db7e i2pd: Update package
b519548e4 zoneinfo: updated to the latest release
fc47ed5f1 zoneinfo: updated to the latest release
39c115028a bcm27xx: make NVMEM driver patch apply again
03c251ac14 bcm4908: enable NVMEM U-Boot env data driver
4efa0b70d5 kernel: backport U-Boot environment data NVMEM driver
8835da4d90 kernel: backport mtd patch adding of_platform_populate() calls
510f0628c7 OpenWrt v22.03.0: revert to branch defaults
17bd6b0477 OpenWrt v22.03.0: adjust config defaults
512e76967f uboot-mediatek: mt7622: suppress unwanted pinctrl warning
d691625ec4 mediatek: mt7622: fix DTS compatible of UniFi 6 LR variants
93e6581b90 uboot-mediatek: backport fix for unstable UART on MT7622
3889f90ee2 uboot-mediatek: no compression means IH_COMP_NONE
8ff8a4dc9e uboot-mediatek: fix factory reset on UBI
aebb19d34b uboot-envtools: mt7622: use 4k sectors for UniFi 6 LR (ubootmod)
557e4cb169 mediatek: mt7622: use variable sector size for spi-nor
f7c358c2ad uboot-mediatek: fix Ubiquiti UniFi 6 LR U-Boot mod
ae1786e543 mpc85xx: Drop pci aliases to avoid domain changes
ea4ec11f4e at91bootstrap: use sdmmc0 as booting media for sama5d27_som1_ek
c53fea7a8a uboot-at91: use sdmmc0 as booting media for sama5d27_som1_ek
2ae0ad375b kernel: rename 5.20 patches to 6.0
d3ccf0976a bcm4908: enable & setup packet steering
30bce90d84 bcm4908: prepare for Asus GT-AX6000 support
b8b5ee12cd bcm4908: backport bcmbca DT patches queued for 5.20
a79a21b509 bcm53xx: backport DT changes from 5.17 & 5.18
3abed8406b bcm53xx: drop dead upgrade code
caa43f4428 firewall4: update to latest Git HEAD
26b436e2a2 ucode: update to latest Git HEAD
0588b124e4 mac80211: disable ft-over-ds by default
dced5f2c95 ramips: define Yuncore AX820 switch LEDs
e497818e18 ath79: add support for Extreme Networks WS-AP3805i
9703a2adcc kernel: Refresh on 5.10.138
251336639c mbedtls: update to version 2.28.1
dddf01c508 Revert "mediatek: mt7622: fix banana pi r64 wps button"
89956c6532 kernel: bump 5.10 to 5.10.138
4209c33ae2 kernel: bump 5.10 to 5.10.137
a901a13505 iptables: default to ip(6)tables-nft when using buildroot
Updates the image to have a newer build environment, which is required
for some of the maintainer scripts.
Increases the image size from 414 to 545 MB.
Specification:
SoC: MediaTek MT7628AN
RAM: 64MiB
Flash: 8MiB
Wifi:
- 2.4GHz: MT7628AN
- 5GHz: MT7612EN
LAN: 1x 10/100 Mbps
Flash instructions:
Flash factory image through stock firmware WEB UI.
Back to stock is possible by using TFTP and stripping down the Firmware
provided by TP-Link to a initramfs.
The flash space between 0x650000 and 0x7f0000
is blank in the stock firmware so I left it out as well.
7073e7fb0 simple-adblock: bugfix for allow command
c25231611 perl-ack: Update to 3.6.0
bca4b82fc syslog-ng: fix OOM issues by adding support for logrotate
87254d108 python-uci: update to version 0.9.0
0a6a1ffcd v2raya: Update to 1.5.9.1698.1
ff09e836d sqm-scripts: Bump to v1.5.2
d4cc94757 vim: variants conflict with each other
268efbedd libgd: add conflicts to each other
afea82826 pdns-recursor: update to 4.7.2
a1067fa6b simple-adblock: update to 1.9.0-1
9646958be stress-ng: add libjpeg dep
ef1af9a43 pciutils: backport patch to fix compilation with older binutils
85e26798c liburcu: update to version 0.13.2
fddb4fe50 knot: update to version 3.2.0
b92eb75be django: bump to version 4.0.7
39943175a squid: bump to 4.17
c15e924f1 dnscrypt-proxy2: update to version 2.1.2
f1a15fd5b coova-chilli: Fix compile problem with _init()
625f17633 mpd: update to 0.23.9
900d42fbe mpd: update to 0.23.8
257242799 pciutils: update to 3.8.0
1e53ad688 travelmate: update 2.1.0
d1f14d17aa ramips: fix GB-PC1 and GB-PC2 device support
0197cc553a hostapd: fix WPA3 enterprise keys and ciphers
567f64df57 iwinfo: update to latest HEAD
f543588812 iproute2: Fix KERNEL_INCLUDE in SDK
8de88a2aa9 umbim: bump to git HEAD
e0832778a3 mt76: update to the latest version
da3dc96b64 netifd: update to the latest version
237f8e2cfc netifd: update to git HEAD
8a9733ee0d rpcd: bump version to 2022-08-24
8f4a2e4234 rpcd: update to latest Git HEAD
f92ac40ebd uhttpd: update to latest Git HEAD
d4f20964ff ucode: update to latest Git HEAD
469db326ac nftables: fix parsing date expressions
fd268e3973 firewall4: update to latest Git HEAD
296c9aeb39 ipq806x: add missing scaling_available_frequencies for dedicated cpufreq
97213c7335 mac80211: parse the correct set of HE capabilities for AP mode
- explain what happens on gluon-reconfigure
- show workflow to alter the wired network config
- update examples
- update 'has changed in' section
resolves#2474
Co-authored-by: Tom Herbers <mail@tomherbers.de>
Co-authored-by: David Bauer <mail@david-bauer.net>
Co-authored-by: Andreas Ziegler <dev@andreas-ziegler.de>
Co-authored-by: Tom Herbers <mail@tomherbers.de>
Co-authored-by: David Bauer <mail@david-bauer.net>
Co-authored-by: Andreas Ziegler <dev@andreas-ziegler.de>
Device-specific package additions could generate `CONFIG_PACKAGE_...=m`
lines, which would override `CONFIG_PACKAGE_...=y` lines inserted by
OpenWrt for default packages (as Gluon did not know about these default
packages). This resulted in the unintended removal of such packages from
other devices that did not contain the same package in their device
package lists.
Avoid this issue by explicitly adding OpenWrt's target default package
list to the front of Gluon's target package list.
OpenWrt's default package list contains the package "nftables", which is
a virtual package provided by "nftables-json" and "nftables-nojson".
Explicitly handle this case, otherwise our config check will fail when
we extend our default package list with the one from OpenWrt.
ecd8f7e294 ramips: get MAC addr from the encrypted partition (WG4хх223)
290ace2fe6 base-files: add mtd_get_mac_encrypted_arcadyan function
d94a28f7d2 uencrypt: add package to decrypt WG4хх223 config
bfb37d363c odhcp6c: update to git HEAD
464f349fad ramips: allow custom trx magic for Arcadyan
7edaae16db ramips: create new dtsi for Arcadyan routers
206581018c ramips: add support for MTS WG430223
1320a78aab ramips: add support for ASUS RT-AX53U
e06f97eb33 mvebu: backport pending Turris Omnia LEDs improvements
93ac163dea mvebu: backport DTS changes for Turris Omnia from mvebu/dt
659bb7638d mpc85xx: enable NAND support for all subtargets
89b7714cf6 kernel: add kmod-leds-turris-omnia
5e39f37caa toolchain: Update glibc 2.34 to recent HEAD
da7e9b201e build: add support for python3.11 and higher
dfe5c23592 iwinfo: update to latest HEAD
1d16b928b3 ath25: fix initramfs image generation
2728d13030 ath25: fix ELF image generation
46e62907f1 kernel: bump 5.10 to 5.10.136
be29de706c kernel: bump 5.10 to 5.10.135
6c901ec97d kernel: Backport upstream flowtable patches from 5.15
6a638c134d pkg-config: always use correct path for pkg-config.real
1c7a167366 kernel: kmod-phy-smsc: Add new PHY
fd4a354f3e kernel: kmod-phy-ax88796b: Add new PHY
13d66ef33f kernel: kmod-ipt-ulog: Remove package
534e256c02 kernel: kmod-nft-nat6: Remove package
2a6fa77b77 kernel: ipt-ipset: Add ipset/ip_set_hash_ipmac.ko
fc05102d51 kernel: netsupport: kmod-sched: explicitly define included modules
3b51f74a91 kernel: netsupport: kmod-sched: Add kmod-lib-textsearch dependency
9727b71147 kernel: netsupport: kmod-sched: Remove sch_fq_codel and sch_fifo
0038e96c27 arm-trusted-firmware-mediatek: skip bad blocks on SPI-NAND (SNFI)
5c69416246 fstools: add uci fstab section to conffiles for package block-mount
0855549b4b kernel: scale nf_conntrack_max more reasonably
0179ba7851 dnsmasq: fix jail_mount for serversfile
This method previously returned the string literal of the config key,
leading to checks evaluating to true even in case this option was
disabled.
Signed-off-by: David Bauer <mail@david-bauer.net>
The preserve_channels configuration option was moved to the gluon UCI
package without adding a proper migration.
Signed-off-by: David Bauer <mail@david-bauer.net>
Increase the peer limit for ath10k-ct from 32 to 96 STAs like it is set
for the non-ct firmware / driver. In order to make this work with the
memory constraints of the wireless platform, reduce the number of
concurrent vdevs to the maximum Gluon uses (4).
Closes#2604
Signed-off-by: David Bauer <mail@david-bauer.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
The below mentioned commit introduced a regression, that the "wifi"
section of the request type "neighbours" was empty:
~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
{
"wifi": [
],
...
}
After this commit, the section (correctly) looks like this:
root@UFU-FWH-A272-Tresckowstr-GemR-vorne:~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
{
"wifi": {
"ca:38:7e:42:5f:21": {
"neighbours": {
"fe:9f:4d:01:ea:e1": {
"noise": -102,
"inactive": 50,
"signal": -84
},
"fe:df:b9:84:37:51": {
"noise": -102,
"inactive": 20,
"signal": -73
}
}
}
},
...
}
The issue was due to the fact, that the iteration over the (mesh) wifi interfaces
was broken. The code was assuming, that the section
config interface 'mesh_radio0'
option proto 'gluon_mesh'
in /etc/config/network contains an option "ifname", which it does not.
The ifname property is only stored in the corresponding section in
/etc/config/wireless:
config wifi-iface 'mesh_radio0'
option ifname 'mesh0'
option network 'mesh_radio0'
option mode 'mesh'
...
Therefore, we now iterate over wifi-ifaces in /etc/config/wireless, that
have the mode 'mesh' instead. This resolves the issue.
Fixes 0f1fa243f7
5343d6a09 yq: Update to 4.27.2
0fd2eb51a python-paho-mqtt: add missing dependency
cd36b6eb8 sslh: update to v1.22c Change notes: Updated Makefile package version and hash. Added libpcre2 dependency Removed USELIBPCRE make flag (no longer optional within sslh) Updated patch 001 to work with new sslh Makefile
1eb707605 luajit: patch: PPC/e500 SPE: use soft float instead of failing
b169fd026 libgpg-error: update to 1.45
8694f7f95 squashfs-tools: enable zstd compression by default
5c987e57d cryptsetup: fix library paths by calling autoreconf
79d1abd4c ffmpeg: update to 5.1
cec18eb0d chrony: Avoid building unused gnutls and ca dependencies
7727beb71 gensio: Avoid building unused python and libstdcpp dependecies
51ccd0761 gnutls: Avoid building unused gnutls dependency
bf519e9bc fail2ban: fix patch for python 3.10
3c5270c9d django: bump to version 4.0.6
8fdc92b86 rclone: update to 1.59.0
77afaaa47 nano: update to 6.4
This new field reflects the TQ to the selected gateway.
Before this commit, if you had connectivity issues in a larger mesh,
it was a tedious task to understand which nodes are affected and which
are not. By providing this new value for each node, it becomes easier
to see which nodes are affected by the connectivity issues and which
are not.
The new field "gateway_tq" is located at the toplevel of the
statistics resource (next to "gateway" and "gateway_nexthop"):
gluon-neighbour-info -d ::1 -r statistics
{
...
"gateway": "02:a1:71:04:09:10",
"gateway_nexthop": "88:e6:40:20:90:10",
"gateway_tq": 193,
...
}
This implements the same behavior as it is used in the autoupdater [1].
This is for example required to allow the manual installation of
firmware upgrades via the config mode on devices which where migrated
from swconfig to DSA. Otherwise the image will always be invalid.
[1] b804281664
Note: Buffalo has introduced hardware changes without bumping the
revision number. 19.07 did not support the rb-variant so there's no need
to implement a migration for the rb-variant.
Every g300nh supported by Gluon should either be the s-variant or
been flashed wrongly.
Gone due to
commit 45c84a117b ("ar71xx: drop target")
Gone due to
commit 45c84a1 ("ar71xx: drop target")
Note that it was wrongly marked as device class tiny in
commit 7fd7116e2a ("targets: add device-class flags") in the past,
the device has 64MB RAM and not 32MB.
Also, the device has no "led-running" assigned in DTS. The device has
three LEDs: "green:vpn", "green:lan" and "green:wlan". The first LED,
"green:vpn", has a "V" icon and was used to show the VPN connection
status in the vendor firmware. This LED will be used via the newly
added "led-boot" fallback in gluon-setup-mode. But will be unused
during normal operation due to the unassigned "led-running" in DTS.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Specifications:
* SoC: AR7242 (Virian 400MHz)
* RAM: 64 MB DDR (W9751G6JB-25)
* Flash: 16MB SPI flash (S25FL129PIF)
* WiFi: AR9382 (2.4/5GHz) + 2x SE2595L
* LAN: 1x1000M (PEF7071V)
To install via EVA bootloader, a FTP connection need to be
established to 192.168.178.1 within the first seconds after power on:
ftp> quote USER adam2
ftp> quote PASS adam2
ftp> binary
ftp> debug
ftp> passive
ftp> quote MEDIA FLSH
ftp> put lede-ar71xx-generic-fritz300e-squashfs-sysupgrade.bin mtd1
Depending on the source of the primary MAC address, uppercase digits
would be used on some devices. Convert the address to lowercase for
consistency.
We only change the case for newly configured nodes to avoid changing the
node ID and derives MAC addresses for existing installations.
The Ubiquiti UniFi 6 LR now has a v2 with a different LED setup, thus
the previous model was added a v1 suffix.
Signed-off-by: David Bauer <mail@david-bauer.net>
Only restore the netifd proto for the WAN bridge in case the upgrade is
done from an older Gluon version.
For DSL targets, OpenWrt defaults the WAN proto to pppoe, while Gluon
uses the Ethernet ports for WAN. When unconditionally preserving the WAN
proto, pppoe is carried over to Gluon's network config.
Signed-off-by: David Bauer <mail@david-bauer.net>
Update the device-support version for image-metadata so that older Gluon
versions not implementing skipping minor compat-version checks are able
to update to newer Gluon versions.
Signed-off-by: David Bauer <mail@david-bauer.net>
There was never a device with a dedicated WAN port supported in Gluon
which could make use of such a workaround.
As the only relevant lantiq-xrx200 target now uses swconfig anyways,
we can remove this workaround.
Signed-off-by: David Bauer <mail@david-bauer.net>
Add a migration script to migrate the device path of PCIe WiFi hardware
from OpenWrt 19.07 to the one used with OpenWrt 21.02+.
Signed-off-by: David Bauer <mail@david-bauer.net>
Set the compat-version of the sysupgrade image to 1.0 in order to allow
upgrades from Gluon-sources which are based on swconfig and do not
ignore mismatching minor compat-versions.
Signed-off-by: David Bauer <mail@david-bauer.net>
a4390ea283 apm821xx: WNDAP660: fix ethernet port ordering
7bc1d76419 ramips: mt7621-dts: fix claiming rgmii2 pin group for EdgeRouter X SFP
d01e374074 ramips: force ZyXEL NR7101 to boot from "Kernel" partition
b9d67e2608 ath79: fix rootfs padding for D-Link DAP-2xxx
4130e7ed54 mpc85xx: p2020: add RTC ds1307 to kernel
d929abbbde bcm53xx: remove 07_set_preinit_iface_bcm53xx
c1868ef656 tools/libressl: update to version 3.4.3
8a3fb45722 netfilter: kmod-nft-xfrm
43fd8f4aba libusb: fix missing link
f608779f92 mt76: update to the latest version
daa8d7e32d realtek: make "u-boot-env" partition writable for Netgear 3xx series
c32dfc7fe0 realtek: make Netgear GS1xx u-boot env partition writable
TP-Link TL-WR902AC v1 is a pocket-size, dual-band (AC750), successor of
TL-MR3020 (both devices use very similar enclosure, in same size). New
device is based on Qualcomm QCA9531 v2 + QCA9887. FCC ID: TE7WR902AC.
Specification:
- 650/391/216 MHz (CPU/DDR/AHB)
- 1x 10/100 Mbps Ethernet
- 1x USB 2.0 (GPIO-controlled power)
- 64 MB of RAM (DDR2)
- 8 MB of FLASH
- 2T2R 2.4 GHz (QCA9531)
- 1T1R 5 GHz (QCA9887)
- 5x LED (GPIO-controlled), 2x button, 1x 3-pos switch
- UART pads on PCB (TP1 -> TX, TP2 -> RX, TP3 -> GND, TP4 -> 3V3, jumper
resitors are missing on TX/RX lines)
- 1x micro USB (for power only)
Flash instructions:
Use "factory" image under vendor GUI.
Recovery instructions:
This device contains tftp recovery mode inside U-Boot. You can use it to
flash OpenWrt (use "factory" image) or vendor firmware.
1. Configure PC with static IP 192.168.0.66/24 and tftp server.
2. Rename "openwrt-ath79-generic-tplink_tl-wr902ac-v1-squashfs-factory.bin"
to "wr902acv1_un_tp_recovery.bin" and place it in tftp server dir.
3. Connect PC with LAN port, press the reset button, power up the router
and keep button pressed until WPS LED lights up.
4. Router will download file from server, write it to flash and reboot.
MAC Address summary:
- wlan1 (2.4GHz Wi-Fi): Label MAC
- wlan0 (5GHz Wi-Fi): Offset -1 from label
- eth0 (Wired): Offset +1 from label
Root access over serial line in vendor firmware: root/sohoadmin.
Based on support in ar71xx target by: Piotr Dymacz <pepe2k@gmail.com>
782f9a2b0 xray-core: Update to 1.5.8
976a19be5 cloudflared: Update to 2022.6.2
7fa87d732 v2raya: Update to 1.5.8.1
2869c80fc django: bump to version 4.0.5
d588074cc ddns-scripts: mydns.ip to mydns.jp
2d2f7a07f curl: bump to 7.83.1
618ab576be base-files: allow ignoring minor compat-version check
2726c8c315 ramips: fix booting on ZyXEL NBG-419N v2
515404a81b realtek: add support for power LED on Netgear GS108Tv3
bbf8651ba5 realtek: add support for power LED on Netgear GS308Tv1
OpenWrt now allows to specify the ifname of the transition interface
instead of SSID and BSSID, internally automatically detecting these from
interfaces on the same PHY. Thus, these cross-VAP dependant
configuration can be omitted from UCI.
Signed-off-by: David Bauer <mail@david-bauer.net>
Use the candelatech firmware for the QCA Wave-2 firmware.
The Qualcomm firmware used for the IPQ401x chip in OpenWrt in 22.03
is experiencing heavily degraded performance due to excessive
retransmits when using A-MSDU. Disabling VHT modes or switching to the
candelatech firmware circumvents this issue.
Apply the same to other Wave-2 platforms in order to keep consistency
with upstream.
Wave-1 chips do not support mesh modes with the -ct firmware, so keep
using the QCA firmware in their case.
Signed-off-by: David Bauer <mail@david-bauer.net>
656ed7aef openwisp-config: update to 1.0.0
29d26d1d0 xray-core: Update to 1.5.6
0647d444b cloudflared: Update to 2022.5.3
62514d596 yq: Update to 4.25.2
a9eed2e80 php8: update to 8.1.6
b42781523 php8: update to 8.1.5
a60cb1fbd libxml2: update to 2.9.14
dbe3820f3 pdns-recursor: update to 4.7.0
1646a22dd strongswan: support child rekey by bytes and packets
f765f2f114 ipq40xx: add Aruba AP-365 specific BDF
59e1b59bb3 malta: use default OpenWrt network configuration
dbd4c345fb firewall4: update to latest Git HEAD
dad1533030 ucode: update to latest Git HEAD
Gone due to
commit 071cf7b20f ("Switch to Lua for target definitions")
Has prior been introduced as untested -> broken in
commit d586720c5c ("ar71xx-generic: add support for Ubiquiti NanoBeam M5")
Was commented out in the former commit.
70c8dc36c lua-openssl: update to version 0.8.2-1
a5a0c94cc banip: mark as broken
f263b042a dnslookup: Update to 1.7.0
244eb582f dnsproxy: Update to 0.43.0
80675bedb dnsproxy: Update to 0.42.4
ba8efcc27 vpnc: Update to 0.5.3+git20220517
009915f4f haproxy: Update HAProxy to v2.4.17
1efe209f1 tailscale: update to version 1.24.2
4b697c468 node-serialport: Support for npm@8
403eb59cd node-hid: Support for npm@8
52cb98ae9 node-cylon: Support for npm@8
575fbc5b9 node-arduino-firmata: Support for npm@8
83a9458a1 node-serialport-bindings: Support for npm@8
20a92ce23 node-yarn: Support for npm@8
9934d2851 node-homebridge: Support for npm@8
97d325e6d node-javascript-obfuscator: Support for npm@8
7e853be8f node: Major update from v14 to v16
Starting from OpenSSH 9.0p, scp started to use sftp in favor of the
scp protocol by default. As dropbear in OpenWrt currently does not
support sftp by default, we now use the fallback cli switch "-O"
to use the scp protocol for scp.
An invalid branch may be set for various reasons:
- Previous firmware had an invalid default branch
- Branch list has changed and old UCI branch config was removed by a
site-specific upgrade script
- Manual UCI configuration
Re-add mikrotik target
Note that previous images were generic ones and as such no migration
path is provided other than manually flashing the image via config-mode.
If a community uses different vpn providers, they typically
assume the same MTU for the wan device underneath the VPN. As
different VPN providers however have different overhead, the MTU
of the VPN device differs for each provider. Therefore this
commit makes the MTU of the VPN device provider specific.
This has two advantages:
1. The same site.conf can used to bake firmwares for different
VPN providers (only by selecting a diferent vpn feature in the
site.mk).
2. We are coming closer to the option of integrating multiple VPN
providers into one firmware.
b708cf5a1 ffmpeg: update to 5.0.1
2d0893afb pigeonhole: update to 2.3.18
2904343fb dovecot: update to 2.3.18
771fc2373 openconnect: bump to version 9.01
6621ab68b miniflux: update to 2.0.36
aaab4075c openldap: drop use of HTTP in favor of HTTPS
2abb60c16 audit: avoid interferece with base libaudit build
964e972af audit: remove host build
0c44bdcea audit: Fix compilation with kernel 5.15
223f6215b poemgr: add package
9f4253df4 shadowsocks-libev: fix compat issue with newer version of ucode
044425dc4 bluez: Update to 5.64, update/refresh patches
30c39ca1d docker: Update to v20.10.16
b23eb24dc dockerd: Update to v20.10.16
6f3e7f879 libnetwork: Updated to 339b97 for docker v20.10.16
c5061b93d containerd: Update to v1.6.4 for docker v20.10.16 * Overrode `PREFIX` to have the old behaviour
33d3642c8 runc: Update to v1.1.1 for docker v20.10.16
001ab241e icu: bump to 71.1
136fb020f usteer: update to latest HEAD
db966f719 telegraf: Update to version 1.22.4
864bc0eac golang: Update to 1.18.2
867ad434f micropython-lib: Update to latest master
0cd609b67 ci: Look for changed packages in the PR branch only
9d2246b28 docker: fix compilation with glibc
5af6f2592 dockerd: fix compilation with glibc
8905f9808 dockerd: Add firewall independent dependencies
79614bb2a dockerd: Sorted dependencies for better diffs
c227c65c6 docker: Update to 20.10.14
df8b28232 dockerd: Update to 20.10.14, and update version checking mechanism
23547de3c containerd: Update to 1.5.11
c79b4f85b runc: update to 1.0.3
f8892740c privoxy: update to 3.0.33 and fix the init script
6f606107e lxc: export systemd cgroups after install
245c658fa cloudflared: Update to 2022.5.1
61a2e96d2 dnsproxy: Update to 0.42.3
f8e2c5dca dawn: update to 2022-05-09
68c7cb1d3 haproxy: Update HAProxy to v2.4.16
db148cc08 adblock: list maintenance
821fd2499 strongswan: add wolfssl plugin
220c75cef htop: update to 3.2.0
dad9ae19e v2rayA: Update to 1.5.7
2aa2a157b cloudreve: Update to 3.5.3
d51f7c20b cloudreve: Update to 3.5.2
0e639eb47 cloudflared: Update to 2022.5.0
23fc3e63c youtube-dl: update to 2021.12.17
50e306326 usteer: update to latest HEAD
f26d5e546 passh: updated per OpenWrt's common practice
3bd1d510e passh: an sshpass alternative
7fddd201f sexpect: updated per OpenWrt's common practice
40e42950c sexpect: Expect for Shells
b282f5bba https-dns-proxy: 2021-11-22-3: add support for Canary Domains
b93534691 zerotier: fix segfault on ARM platforms
34b6abf5a8 ath79: add support for MikroTik hAP (RB951Ui-2nD)
03cfdf72e2 ath79: add support for MikroTik RouterBOARD hAP ac lite
80baa60259 firewall4: update to latest Git HEAD
4575498276 ucode: update to latest Git HEAD
e90f74feb6 kernel: bump 5.10 to 5.10.116
95c315f200 ath79: fix ar934x spi driver delays
97a2012ecc openssl: bump to 1.1.1o
6f8db8fee3 wolfssl: bump to v5.3.0-stable
3aeb6e975f ipq806x: add support for Arris TR4400 v2 / RAC2V1A
a11c3cde27 realtek: add support for ZyXEL GS1900-16
9b20e2a699 ath79: add Netgear WNDAP360
6729fa2dd2 ath79: add support for TP-Link Deco M4R v1 and v2
3c57430d1c ramips: add led_source for Asus RT-AC1200 devices
e431195abf ramips: add support for Cudy X6
5439efe37d ramips: Add support for SERCOMM NA502S
fe5943a7bd ramips: add support for Wavlink WL-WN533A8
5454735574 ramips: create shared DTSI for Wavlink WN53XAX devices
7152bc84f4 ramips: add support for TP-Link RE650 v2
d627ea510c ramips: add support for YunCore AX820/HWAP-AX820
9c2ed54aa2 firmware-utils: bump to git HEAD
87f9dd665a firmware-utils: bump to git HEAD
3963a90df8 kernel: Add missing devm_regulator_get_exclusive()
7a0af40e37 kernel: bump 5.10 to 5.10.115
e0aaecdbb8 kernel: bump 5.10 to 5.10.114
416e8aefe1 IPQ4019: AVM FRITZ!Box 7530: Remove NAND ECC restrictions from DTS
ec45e1ff68 kernel: add support for Toshiba TC58NVG0S3HTA00 NAND flash
144d9c4a43 uboot-fritz4040: Add support for Toshiba NAND
9ef931f96b ath79: ZTE MF286[A,R]: add "Power button blocker" GPIO switch
54e759d05d ipq40xx: revert Cell-C RTL30VW to legacy caldata extraction
0f8eba4f95 ath79: fix I2C on GL-AR300M devices
308ce46076 ipq40xx: Lyra: update RGB LED-Controller node for 5.10+
19a8c723b6 lantiq: xway: disable unused switch drivers
a374a959b9 realtek: do not reset SerDes on link change
7b4702afef realtek: Trap all frames with switch as destination to CPU-port
1c6a179e1a ramips: fix booting on Samknows SK-WB8
6120a66e6a bcm27xx: include 'rtc' in target's 'FEATURES'
ae64d0624c kernel: fix corrupted padding on small packets with mt753x dsa
53fc6e9ede kernel: fix flow offload issues with pppoe
77e123340f mediatek: add patches for MT7622 WED (wireless ethernet dispatch)
- [x] Must be flashable from vendor firmware
- [x] Web interface
- [ ] TFTP (untested, but possible according to OpenWrt wiki)
- [ ] Other: <specify>
- [x] Must support upgrade mechanism
- [x] Must have working sysupgrade
- [x] Must keep/forget configuration (`sysupgrade [-n]`, `firstboot`)
- [x] Gluon profile name matches autoupdater image name
(`lua -e 'print(require("platform_info").get_image_name())'`)
- [x] Reset/WPS/... button must return device into config mode
- [x] Primary MAC address should match address on device label (or packaging)
(https://gluon.readthedocs.io/en/latest/dev/hardware.html#notes)
- When re-adding a device that was supported by an earlier version of Gluon, a
factory reset must be performed before checking the primary MAC address, as
the setting from the old version is not reset otherwise.
- Wired network
- [x] should support all network ports on the device
- [x] must have correct port assignment (WAN/LAN)
- On devices supplied via PoE, there is usually no explicit WAN/LAN labeling on the hardware.
The PoE input should be the WAN port in this case.
- Wireless network (if applicable)
- [x] Association with AP must be possible on all radios
- [x] Association with 802.11s mesh must work on all radios
- [x] AP+mesh mode must work in parallel on all radios
- LED mapping
- Power/system LED
- [x] Lit while the device is on
- [x] Should display config mode blink sequence
(https://gluon.readthedocs.io/en/latest/features/configmode.html)
- Radio LEDs
- [x] Should map to their respective radio
- [x] Should show activity
- Switch port LEDs
- [x] Should map to their respective port (or switch, if only one led present)
- [x] Should show link state and activity
Replace most of the page to account for the changes that have happened
in Gluon and OpenWrt in the last 4 years:
- Switch from Shell-based target definition language to Lua
- Removal of targets using legacy build code
Closes#2360
WolfSSL has a significant lower flash footprint. Also, issues with OWE /
SAE connections were fixed in OpenWrt a while ago.
See ddcb970274
Signed-off-by: David Bauer <mail@david-bauer.net>
948ea0e9c046 ecdsautils: update to v0.4.1
97333939dbcc hwdata: update to version 0.359
22c8efd9377c tor: bump to 0.4.7.7 stable
241e70f5fd84 etherwake-nfqueue: swap iptables for nftables dependency
61e0ee2e8e30 rclone: Update to 1.58.1
a8374c48e14f apfree-wifidog: fix compile error
2af08fe724f3 gst1-libav: fix compilation with ffmpeg5
419054a05f56 libtorrent-rasterbar: Update to 2.0.6
With the update to ecdsautils 0.4.1, we can remove the downstream patch
again.
5ff900e0ade7 firewall: config: remove restictions on DHCPv6 allow rule
2ac5ee7f8a99 fstools: update to git HEAD
ffe12f8b48cf procd: update to git HEAD
0dc3ecf0da1c base-files: simplify restorecon logic
efc38b315e9b selinux-policy: update to version 1.1
6cb08b17979c base-files: add missing $IPKG_INSTROOT to restorecon call
9282cb0be06c base-files: address sed in-place without SELinux awareness
dc71658a802b fstools: update to git HEAD
3a974b5bcd77 ipq40xx: fix BDF file for pcie wifi chip on the GL.Inet GL-B2200
d90c7621f40f kernel: bump 5.10 to 5.10.113
e9c14fa85f4d kernel: bump 5.10 to 5.10.112
fa8e050c4bcb f2fs-tools: fix resize.f2fs (#9800)
0c25b9cb11bf ath79: add USB power control for GL-AR300M series
a142d96ade46 mpc85xx: Fix output location of padded dtb
fbd9605a908d build: don't remove BUILD_LOG_DIR in _clean
946f60aaebc6 dnsmasq: add logfacility file to jail mounts
6d5a097232b0 ath79: ubnt: drop swconfig on ac-{lite,lr,mesh}
18649fbff04a bcm63xx: fix description fix name case
d79380ac1dff ath79: ZTE MF286R: add comgt-ncm to DEVICE_PACKAGES
4c5d2cde1307 ramips: zbt-wg2626: Add the reset gpio for PCIe port 1
A vulnerability was found in ecdsautils which allows forgery of ECDSA
signatures. An adversary exploiting this vulnerability can create an update
manifest accepted by the autoupdater, which can be used to distribute
malicious firmware updates by spoofing a Gluon node's connection to the
update server.
Remove support for the TP-Link WDR4900, as it us currently unable to
load its kernel sure to factory bootloader constraints.
Progress on this topic is tracked in #2491
0d142ffd2 telegraf: Update to version 1.22.2
587caf22a xray-core: Update to 1.5.5
87f14264f prometheus-node-exporter-lua: improve ubnt-manager
959860dc4 git: update to version 2.34.3
636342ee4 golang: Update to 1.17.9
51231fc5c ffmpeg: update to version 4.3.4
45426fa3d ruby: update to 3.0.4
4d34758b6 ci: use openwrt/gh-action-sdk@v4
edc9829bd delve: Update to 1.8.2
fe3e0493d usteer: update to latest HEAD
8995d3f02 python3-speedtest-cli: update to 2.1.3
827c37533 ooniprobe: Update 3.14.2
04a580232 ooniprobe: update to version 3.10.1
a33113111 ooniprobe: update to version 3.9.2
9f90da736 ooniprobe: update to version 3.9.0
918ca913b ooniprobe: update to version 3.8.0
a11f9a412 ooniprobe: update to version 3.7.0
915fed260 ooniprobe: update to version 3.5.2
78bcd00c1 yq: Update to 4.24.5
8406439bd yq: Update to 4.24.4
754c075a8 prometheus-node-exporter-lua: fix ubnt-manager collector
8ac019e76 prometheus-node-exporter-lua: add ubnt-manager collector
406abcbcc ubnt-manager: add ubnt-manager
216a37d65 pdns-recursor: add patch for CVE-2022-27227
f618daa55 pdns: add patch for CVE-2022-27227
427f2f995 haveged: update to 1.9.18
25a2c9f70 php7-pecl-redis: update to 5.3.7
3094dfadd php7-pecl-http: update to 3.2.5
77dcb4c90 php8: update to 8.0.17
e74e59d04 telegraf: Update to version 1.22.1
14d7e1608 keepalived: fix libip6tc dependency
3fbe10e59 keepalived: add missing CONFIG_ prefix to PKG_CONFIG_DEPENDS elements
bbb13556d adguardhome: Update adguardhome to v0.107.5
19e621a43 adguardhome: Bump adguardhome to v0.107.3 stable
d86d6d02b adguardhome: Update to v0.107.2 stable
9fa3942a8 nextdns: Update to version 1.37.11
894f58ceb yq: Update to 4.24.2
fbcaa8bce ksmbd-tools: revert update to 3.4.4
5b7d01b427 iwinfo: update to latest HEAD
39aaec62ca hostapd: refresh patches
e2030fcfa7 hostapd: add ubus link-measurements notifications
1a2940f68e hostapd: add ubus method for requesting link measurements
b4a9597154 hostapd: add support for enabling link measurements
5a18028c69 iwinfo: update to latest HEAD
b519d76276 iwinfo: update to latest Git head
01cc5e195d iwinfo: update to latest Git HEAD
44781b265c iwinfo: update to the latest version
f7c445aa7d iwinfo: update to the latest version
75cbd8de00 wolfssl: fix compilation with /dev/crypto
1418439da9 kernel: add missing config symbols
39f1815b3e mac80211: fix QCA9561 PA bias
1769e3162e ramips: mt7620: disable SOC VLANs for external switches
30e47fb1e4 ramips: mt7620: ethernet: use more macros and bump version
3f976d0225 ramips: mt7620: fix RGMII TXID PHY mode
6685eb29e5 ramips: mt7620: add ephy-disable option to switch driver
47db830b82 ramips: mt7620: move mt7620_mdio_mode() to ethernet driver
6876465875 ramips: mt7620: use DTS to set PHY base address for external PHYs
5d7805c78b ramips: mt7620: allow both internal and external PHYs
01bbed7444 ramips: mt7620: fix ethernet driver GMAC port init
6491212ea7 ramips: mt7620: remove useless GMAC nodes
a14c2d409c ramips: mt7620: simplify DTS properties for GMAC
c652a06eef ramips: mt7620: enable autonegotiation for all ports
08ec622c46 ramips: make PHY initialization more descriptive
4123f177f9 ramips: add support for the Wavlink WL-WN579X3
92af15077f ramips: split Youku YK1 to YK-L1 and YK-L1c
55f8eb84d2 ramips: improve pinctrl for Youku YK-L1
92489b4f82 ramips: speed up spi frequency for Youku YK-L1
bea1891182 ramips: remove obsolete mx25l25635f compatible hack
6c44b157e5 mvebu: kernel: enable CONFIG_BLK_DEV_NVME
f0f9b7ac5c OpenWrt v21.02.3: revert to branch defaults
42a15ca378 OpenWrt v21.02.3: adjust config defaults
1d4dea6d4f ath79: Move TPLink WPA8630Pv2 to ath79-tiny target
41a97c2074 bcm27xx: add AMP2 to HifiBerry DAC+ / DAC+ Pro package
9a765554f4 ath79: add support for MikroTik RouterBOARD mAP lite
2cc9ee8000 ath79: add support for Yuncore A930
06874171d1 ath79: add support for Yuncore XD3200
c5ef62a218 wolfssl: bump to 5.2.0
99b00edf35 mac80211: Update to version 5.10.110-1
9132344444 bpftools: fix feature override for masking clang
169c9e3a88 ramips: fix reboot for remaining 32 MB boards
39bf2aee0e kernel: bump 5.4 to 5.4.188
3008f1f441 imagebuilder: fix broken image generation with external targets
The mpc85xx-generic target was renamed to mpc85xx-p1010 in OpenWrt
21.02. The target name in Gluon docs was never adjusted however.
Signed-off-by: David Bauer <mail@david-bauer.net>
Instead of using roles.wan directly as the default for roles.single,
create a copy of the table, so subsequent modifications of roles.single
don't affect roles.wan as well.
Fixes migration of Mesh-on-WAN status when no default for "single"
interfaces is set in site.conf.
Gone due to
commit 45c84a117b ("ar71xx: drop target")
Changed subtarget in between, similar change in
commit bed66fa248 ("ath79: move GL.iNet GL-AR750S to NAND subtarget")
c96b101 babeld: bump to version 1.11
5edac3e ci: use openwrt/gh-action-sdk@v4
0d5e814 CI: update SDK action to v3
15d83ef babeld: add add_filter function
7157e9b4d zerotier: revert to 1.8.4
3e53f0c88 vala: update to version 0.56.0 (LTS version)
384f983d5 vala: update to version 0.54.8
7be116683 vala: update to 0.54.2
601bee7bf vala: update to 0.52.3
8359d159f vala: update to 0.52.1
78aa0f6ca pynacl: fix build with updated sodium-minimal patch
e6330a60e python3: Update to 3.9.12
8142c9baf telegraf: Update to version 1.22.0 to openwrt 21.02
915018e39 rclone: Update to 1.58.0
cd3dc69d6 gnunet-fuse: update to 0.16.0
add708f03 gnunet: update to version 0.16.2
a62591148 libsodium: update maintainer email address
4f7fcd927 libsodium: include ed25519_core in minimal build
7deecb5d9 samba4: update to 4.14.12
71734db27 samba4: update to 4.14.11; fix AD_DC build
ee62912b2d ath79: migrate Archer C5 5GHz radio device paths
f6513143ad ath79: fix label MAC address for Ubiquiti UniFi AP Outdoor+
5cf00adf21 apm821xx: fix crash/panic related to SATA/SSD choice
0e5350db43 mvebu: SFP backports for GPON modules
52de8bf86e cypress-firmware: drop several packages
41d36bb2d0 cypress-firmware: update it to version 5.4.18-2021_0812
This adds support for the Sophos RED 15w rev.1 gateway.
It is a branch-office SD-WAN device based on the P1014 networking SoC.
Signed-off-by: David Bauer <mail@david-bauer.net>
luasrcdiet will not print the name of its input file when an error
occurs. To facilitate debugging, echo the name before calling it, so it
is visible with V=s or BUILD_LOG=1.
This allows us to organize the TOC a bit better by adding sections per
major version. We can even increase the maxdepth to 2 now, which looks
great in my opinion.
In addition, the full list of releases is not shown in the sidebar
anymore when viewing a completely different part of the documentation,
which took up more than half of the total sidebar entries.
Device specifications:
======================
* Qualcomm/Atheros AR9344 rev 2
* 560/450/225 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 1T1R 2.4 GHz Wi-Fi
* 2T2R 5 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
- eth0
+ AR8035 ethernet PHY
+ 10/100/1000 Mbps Ethernet
+ 802.3af POE
+ used as LAN interface
- eth1
+ 10/100 Mbps Ethernet
+ builtin switch port 1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/200 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* 4x GPIO-LEDs (3x wifi, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
- eth0
+ AR8035 ethernet PHY (RGMII)
+ 10/100/1000 Mbps Ethernet
+ 802.3af POE
+ used as LAN interface
- eth1
+ AR8031 ethernet PHY (RGMII)
+ 10/100/1000 Mbps Ethernet
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
This device support is based on the partially working stub from commit
53c474abbdfe ("ath79: add new OF only target for QCA MIPS silicon").
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om5p-acv2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* TI tmp423 (package kmod-hwmon-tmp421) for temperature monitoring
* 2x ethernet
- eth0
+ AR8035 ethernet PHY (RGMII)
+ 10/100/1000 Mbps Ethernet
+ 802.3af POE
+ used as LAN interface
- eth1
+ AR8035 ethernet PHY (SGMII)
+ 10/100/1000 Mbps Ethernet
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om5p-ac" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9344 rev 2
* 560/450/225 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 2T2R 5 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
WAN/LAN LEDs appear to be wrong in ar71xx and have been swapped here.
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Device specifications:
======================
* Qualcomm/Atheros AR9330 rev 1
* 400/400/200 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Device specifications:
======================
* Qualcomm/Atheros QCA9533 v2
* 650/600/217 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 2T2R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ 24V passive POE (mode B)
+ used as WAN interface
- eth1
+ 802.3af POE
+ builtin switch port 1
+ used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2phsv4" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9341 rev 1
* 535/400/200 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 2T2R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ 802.3af POE
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2phsv3" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9341 rev 1
* 535/400/200 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 2T2R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ 802.3af POE
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2phsv2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9341 rev 1
* 535/400/200 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 2T2R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ 802.3af POE
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2phs" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9533 v2
* 650/600/217 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ Label: Ethernet 1
+ 24V passive POE (mode B)
- eth1
+ Label: Ethernet 2
+ 802.3af POE
+ builtin switch port 1
* 12-24V 1A DC
* external antenna
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2pv4" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9330 rev 1
* 400/400/200 MHz (CPU/DDR/AHB)
* 64 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ builtin switch port 1
+ used as LAN interface
- eth1
+ 18-24V passive POE (mode B)
+ used as WAN interface
* 12-24V 1A DC
* external antenna
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to
the device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2pv2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR7240 rev 2
* 350/350/175 MHz (CPU/DDR/AHB)
* 32 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2x 10/100 Mbps Ethernet
* 1T1R 2.4 GHz Wi-Fi
* 6x GPIO-LEDs (3x wifi, 2x ethernet, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x fast ethernet
- eth0
+ 18-24V passive POE (mode B)
+ used as WAN interface
- eth1
+ builtin switch port 4
+ used as LAN interface
* 12-24V 1A DC
* external antenna
The device itself requires the mtdparts from the uboot arguments to
properly boot the flashed image and to support dual-boot (primary +
recovery image). Unfortunately, the name of the mtd device in mtdparts is
still using the legacy name "ar7240-nor0" which must be supplied using the
Linux-specfic DT parameter linux,mtd-name to overwrite the generic name
"spi0.0".
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-om2p" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 3T3R 2.4 GHz Wi-Fi (11n)
* 3T3R 5 GHz Wi-Fi (11ac)
* 6x GPIO-LEDs (2x wifi, 2x status, 1x lan, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr1750v2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 3T3R 2.4 GHz Wi-Fi (11n)
* 3T3R 5 GHz Wi-Fi (11ac)
* 6x GPIO-LEDs (2x wifi, 2x status, 1x lan, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr1750" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 3T3R 2.4 GHz Wi-Fi
* 3T3R 5 GHz Wi-Fi
* 6x GPIO-LEDs (2x wifi, 2x status, 1x lan, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr900v2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 3T3R 2.4 GHz Wi-Fi
* 3T3R 5 GHz Wi-Fi
* 6x GPIO-LEDs (2x wifi, 2x status, 1x lan, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr900" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9344 rev 2
* 560/450/225 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi
* 2T2R 5 GHz Wi-Fi
* 8x GPIO-LEDs (6x wifi, 1x wps, 1x power)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr600v2" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros AR9344 rev 2
* 560/450/225 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi
* 2T2R 5 GHz Wi-Fi
* 4x GPIO-LEDs (2x wifi, 1x wps, 1x power)
* 1x GPIO-button (reset)
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 1x ethernet
- AR8035 ethernet PHY (RGMII)
- 10/100/1000 Mbps Ethernet
- 802.3af POE
- used as LAN interface
* 12-24V 1A DC
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Gluon image name change
=======================
The device had the image name "openmesh-mr600" in older versions of Gluon.
This had to be changed with the new name in the device trees of the ath79
device tree.
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 2T2R 2.4 GHz Wi-Fi (11n)
* 2T2R 5 GHz Wi-Fi (11ac)
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x ethernet
- eth0
+ Label: Ethernet 1
+ AR8035 ethernet PHY (RGMII)
+ 10/100/1000 Mbps Ethernet
+ 802.3af POE
+ used as WAN interface
- eth1
+ Label: Ethernet 2
+ AR8035 ethernet PHY (SGMII)
+ 10/100/1000 Mbps Ethernet
+ used as LAN interface
* 1x USB
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
Device specifications:
======================
* Qualcomm/Atheros QCA9558 ver 1 rev 0
* 720/600/240 MHz (CPU/DDR/AHB)
* 128 MB of RAM
* 16 MB of SPI NOR flash
- 2x 7 MB available; but one of the 7 MB regions is the recovery image
* 3T3R 2.4 GHz Wi-Fi (11n)
* 3T3R 5 GHz Wi-Fi (11ac)
* multi-color LED (controlled via red/green/blue GPIOs)
* 1x GPIO-button (reset)
* external h/w watchdog (enabled by default))
* TTL pins are on board (arrow points to VCC, then follows: GND, TX, RX)
* 2x ethernet
- eth0
+ Label: Ethernet 1
+ AR8035 ethernet PHY (RGMII)
+ 10/100/1000 Mbps Ethernet
+ 802.3af POE
+ used as WAN interface
- eth1
+ Label: Ethernet 2
+ AR8031 ethernet PHY (SGMII)
+ 10/100/1000 Mbps Ethernet
+ used as LAN interface
* 1x USB
* internal antennas
Flashing instructions:
======================
Various methods can be used to install the actual image on the flash.
Two easy ones are:
ap51-flash
----------
The tool ap51-flash (https://github.com/ap51-flash/ap51-flash) should be
used to transfer the image to the u-boot when the device boots up.
initramfs from TFTP
-------------------
The serial console must be used to access the u-boot shell during bootup.
It can then be used to first boot up the initramfs image from a TFTP server
(here with the IP 192.168.1.21):
setenv serverip 192.168.1.21
setenv ipaddr 192.168.1.1
tftpboot 0c00000 <filename-of-initramfs-kernel>.bin && bootm $fileaddr
The actual sysupgrade image can then be transferred (on the LAN port) to the
device via
scp <filename-of-squashfs-sysupgrade>.bin root@192.168.1.1:/tmp/
On the device, the sysupgrade must then be started using
sysupgrade -n /tmp/<filename-of-squashfs-sysupgrade>.bin
ac99fde54 haproxy: update to version 2.2.22
ee4267e97 tree: bump to 2.0.2
f01cf663b curl: Fix compiling curl wolfSSL IPv6 disabled
185c5e365 bind: bump to 9.18.1
919dd8013 libnetfilter-log: update to 1.0.2
8e9f10223 libxml2: update to 2.9.13
793e7ee48 auc: don't segfault on invalid URL
31e2e7ccb auc: fall back to 'sdcard' image
8999b60db auc: accept both 'y' and 'Y' as confirmation from user
1adcda368 auc: add '-n' parameter for dry-run
facfdaca2 attendedsysupgrade-common: update to 2021
aa41482d3 yq: Update to 4.22.1
8518b2d5d yq: Update to 4.21.1
f550d9066 syslog-ng: update to version 3.36.1
b2ec8c84f tvheadend: bind to LAN IP by default
e061d8eff dockerd: fix compilation with glibc
fd30ce33f docker: fix compilation with glibc
a11359b88 yggdrasil: bump to 0.4.3
1d7d46db0 i2pd: Update package
c384dbb19 i2pd: add service reload support
938187fa2 coova-chilli: remove kmod dep on binary package
109f2770a cache-domains: Fixed hotplug script not running
5562cef26 nextdns: Update to version 1.37.10
5f20a9171 golang: Update to 1.17.8
1a0cb5ce4 curl: update to 7.82.0
701ca2532 python-twisted: Update to 22.2.0
4c0748396 python-twisted: Update to 22.1.0, refresh patches
3e75dc582 mdnsresponder: Fix nullpointer dereference while parsing interface list
9722b1ec0 crowdsec-firewall-bouncer: remove crowdsec package dependency
5b51bb3a5 kcptun: bump to v20210922
81ed00124 samplicator: fix Wformat warning
da82b8c9c ocserv: updated to 1.1.6
a8b73c250 openconnect: updated to 8.20
e208f42c5 yq: Update to 4.20.2
e2bf8e1d8 MarkupSafe: update to version 2.1.0
41fe385fd domoticz: update to 2021.1
e9dee2684 minizip: update to 3.0.2
697115688 minizip: update to 3.0.1
adc6fcc88 minizip: update to 3.0.0
584c0c437 expat: import patches for CVEs
5f3226dc1 nfdump: update to 1.6.23
e7715b18b htpdate: drop www.freebsd.org from default server list
4d0e0f414 nano: update to 6.2
45009c340 unbound: update to version 1.15.0
9ba9579a1 yq: Update to 4.20.1
a5de4042c pcapplusplus: Add new package
10a805492 vnstat2: update to version 2.9
42f35cdda vnstat2: add hotplug script for adding interfaces
f8820d2ae vnstat2: fix all interfaces being monitored when none are configured
86f85cde4 vnstat2: update to version 2.8
f4a390c59 php7: update to 7.4.28
5eb97e05e php8: update to 8.0.16
b409127e6 slide-switch: Update to 0.9.7
4919a791a golang: Update to 1.17.7, refresh patch
43276c649 tvheadend: fix first-run
362c8c4df ksmbd-tools: update to 3.4.4
41ca56ff2 ksmbd-tools: Fix ksmbd service is semi-killed at system startup
c4bb2fadc ksmbd: update to 3.4.4
06ffe5c4d ksmbd: update to 3.4.2
c7e0be3a3 ksmbd: update to 3.4.1
d5f588268 dockerd: Update to 20.10.12
66dda3aa2 docker: Update to 20.10.12
845d2203b yq: Update to 4.19.1
4e8267602 dtc: drop package
845b9a1df knot: update to 3.1.6
d286939b7 knot: update to 3.1.5
38eaee347 nano: update to 6.1
0329b2c11 xray-core: Update to 1.5.3
d18542ecf ruby: update to 3.0.3
a507620a1 https-dns-proxy: init script refactoring
5dcf0b57c slide-switch: Update to 0.9.6
4bd6bc41c ffmpeg: update to version 4.3.3
ac4ecdf85 tinyionice: add package
1a40a0a0b yq: Update to 4.18.1
32e85322c yq: Update to 4.17.2
675755537 apache2: security update to version 2.4.52
74f9ae028 bind: bump to 9.18.0
b29655996 crowdsec: update from latest upstream release 1.3.0
3b28c6f38 wg-installer: use babeld add_interface function
1026a1fd4 crowdsec-firewall-bouncer: fix name in initd to start the process
9137583d3 nano: Add a plus variant with more features
2cd892879 https-dns-proxy: update to 2021-11-22-1
8d8cf2628 dawn: update to 2022-01-17
f921cc4b7 python-dns: update to version 2.1.0
df7568303 prosody: update to version 0.11.13
14b623f73 telegraf: Update package to version 1.21.3
82c35fa92 telegraf: Move config file to /etc/telegraf.conf because /etc/config is the default uci folder. Also marking it as configuration file prevents overwriting it on updates.
989aecf2b telegraf: Add package for telegraf
299684dd5 ffmpeg: update to 4.3.2
213aaa1f3 clamav: update to version 0.104.2
9c476ee99 clamav: update to 0.104.0
294196303 node: January 10th 2022 Security Releases
fc835bcaa tvheadend: fix conffiles section
48bf1a0d0 lighttpd: update to lighttpd 1.4.64 release hash
82339309f lighttpd: update to lighttpd 1.4.63 release hash
527f2b920 lighttpd: update to lighttpd 1.4.62 release hash
4f990b7cd tvheadend: fix typo in uriparser
aeb8aad5c wg-installer: fix multiple namespaces
e29f38650 php8: update to 8.0.15
d7c78f83b tvheadend: disable uriparser
c7f25b25d python3: Update to 3.9.10, refresh patches
b9bfe1ef1 wg-installer: remove unused dependency
9a836f430 wg-installer: create wireguard key if it does not exist
317ba6a43 wg-installer: install cronjob
a430932a7 wg-installer: check if a key is already inserted
0aaa90629 wg-installer: rework code
dea64c08e wg-installer: cosmetic changes
A section can be marked as preseved by setting the gluon_preserve option
to 1. In addition the following conditions must hold:
- The preserved section must not already exist after OpenWrt's and
Gluons setup scripts run. Modifying existing sections is currently
unsupported.
- Preserved sections must be named, so it can be detected whether a
section conflicts with a preexisting one.
Allow interface names to change on updates to handle hwconfig -> DSA and
similar migrations.
On devices with only a single interface, a sysconfig single_ifname is
created instead of wan_ifname or lan_ifname to allow separate
configuration in site.conf.
With the new role-based interface configuration, it would be better to
rename the wan/wan6 interfaces to uplink/uplink6, but that would cause
unnecessary churn for the firewall configuration, so it is left for a
later update.
As all interfaces with the 'uplink' role are in the br-wan bridge, it is
not possible to assign these to the 'mesh' role independently - instead,
br-wan is added as a mesh interface as soon as a single interface has
both the 'uplink' and 'mesh' roles. The UCI section for this
configuration is now called 'mesh_uplink' instead of 'mesh_wan'.
For all interfaces that have the 'mesh', but not the 'uplink' role a
second configuration 'mesh_other' is created. If there is more than one
such interface, all these interfaces are bridged as well (creating a
bridge 'br-mesh_other'). This replaces the 'mesh_lan' section with its
optional 'br-mesh_lan' bridge, but can also include interfaces that were
not considered "LAN" when interfaces roles are modified (via site.conf
or manually).
The new configuration generates sections iface_single/lan/wan in
/etc/config/gluon. These sections usually refer to a sysconfig-controlled
interface list, but adding custom sections with verbatim interfaces names
is also possible.
Each interface section contains a list of roles. The supported roles are
'client', 'uplink' and 'mesh'. Multiple roles can be configured on the
same interface (for example the old 'mesh_on_wan' setting would become
'uplink'+'mesh').
'client' is subsumed by any other role configured on the same interface
('client'+'mesh' is equivalent to 'mesh'). This property is important, as
it allows the Wired Mesh settings in gluon-web-network to simply add and
remove the mesh role without having to care what other roles are set -
so in the default setup, this would switch between 'client' and
'client'+'mesh' for the LAN interface.
By default, the WAN interface has role 'uplink' and the LAN interface
'client'; if only a single interface exists, the roles from the WAN
interface are used by default. The default for each of the three
interfaces (WAN/LAN/single) can be changed separated in site.conf,
superseding the old mesh_on_wan, mesh_on_lan and single_as_lan settings.
The stdout output of gluon-web scripts is directly sent to uhttpd,
becoming a part of the HTML output or even replacing HTTP status or
headers. The output of gluon-reconfigure is not supposed to end up
there.
While we're at it, also add an exec to avoid an unnecessary shell
process.
The OpenLayers JS/CSS download URL is dead. Update it to make the map
work again:
- Update from OpenLayers 5.2.0 to 5.3.0
- Switch from the obsolete rawgit.com URL to jsdelivr.net (rawgit.com
was only redirecting to jsdelivr.net for the last few years anyways)
- Set a fixed commit in the URL, so the URL doesn't become outdated again
- Restructure page
- Add information on how to add L2TPv3 offloading support to a build
using configurable ciphers. The null method is not reocmmended anymore.
- Add notes and pointers regarding the gateway configuration to provide
gateway admins with hints on how to modify their configuration to
accommodate this new feature.
- Mention wireguard support
Based-on-patch-by: Felix Kaechele <felix@kaechele.ca>
THe "null" and "null@l2tp" methods are considered equivalent and always
added and removed together when the method list is "configurable".
"null@l2tp" is added before "null", so it is preferred when the peer
supports both.
As gluon-web uses standard multipart/form-data requests, browsers don't
enforce any cross-origin restrictions. To prevent malicious injection of
POST requests into the config mode, match the Origin header against the
Host header of the request.
Actually raise an error and turn it into an HTTP 400 return code when
something goes wrong, rather than ignoring the error.
We also improve the conditions under which errors are thrown before
pump() is called: We don't need to check for the multipart/form-data
content-type twice, and a POST without this content-type is now always
an error.
By applying a label `backport <branch>` the action will automatically
try to cherry-pick the change to the target branch after the pull
request was successfully merged.
Swap the interfaces so than the PoE input port LAN0 is used for WAN and
config mode, and LAN1 becomes LAN.
To this end, the code previously used for ar71xx and removed in
commit 9fdc57c175 ("treewide: drop ar71xx platform specific code") is
reintroduced.
Fixes#2384
There wasn't really a reason to have a separate script to set a single
value.
In addition, the old script was using the identifier 'c' instead of
'uci' for the UCI cursor. Following the convention of the other scripts
is helpful so it is easy to grep for all uses of a certain config file/
option.
Iterating over all the package directories in the OpenWrt feed takes a
while, even though it doesn't contain any upgrade scripts. Skip the
whole directory.
1472a8fa42 procd: update to git HEAD
015f170fe6 procd: update to git HEAD
cd5ba0cfbb ustream-ssl: variants conflict with each other
6eced97ce4 lantiq: flag FritzBox 7360 family buttons active-low
b59f3b08b4 firmware-utils: tplink-safeloader: fix Archer A7v5 factory flashing from vendor fw > v1.1.x
43d105ec2a kernel: bump 5.4 to 5.4.171
1db847488d ath79: rb912: fix pll init issues
6ced8cad8e kernel: backport workaround for Realtek RTL8672 and RTL9601C chips
77ee281a3e kernel: add kmod-ledtrig-pattern
aa2de44cdd kernel: fix AutoLoad parameter for uleds module
bc37a699e5 kernel: add kmod-leds-uleds
96b5962704 mvebu: remove patch that was applied into linux stable
5beaa75d94 openssl: bump to 1.1.1m
93842b20dc bcm4908: include ATF in bootfs images
18b10db2f1 arm-trusted-firmware-bcm63xx: add ATF for Broadcom devices
739e359241 kernel: backport support for multicolor & RGB LEDs to 5.4
608c7dccf2 bcm4908: sysupgrade: add pkgtb format support
b6ed2641df busybox: backport dd support for iflag=count_bytes
7e4485fd5b bcm4908: add uboot-envtools to default packages
4cd5d11fa3 bcm4908: add fdt-utils to default packages
1d4a28d5e1 dtc: support printing binary data with fdtget
ce5d0378bf dtc: import package for dtc & fdt from packages feed
6292d1e354 bcm4908: sysupgrade: refactor handling different firmware formats
a00854040d ipq40xx: specify FritzBox 7530 LAN port label numbers
27225e3538 kernel: ath10k: provide a build variant for small RAM devices
104774c3b0 mvebu: puzzle: wan LED and fix default network
47d82f0710 mvebu: enable Aquantia phy driver for Puzzle devices
164ed6069c mvebu: add id for AQR112 Ethernet phy variants
daf4301071 mvebu: import patch enabling AQR113 PHY
ee5750043c mvebu: import patch enabling AQR112 and AQR412 PHY
a03840a1a9 mvebu: puzzle-m901: add LEDs, fan and reset button
280bb7c10c mvebu: puzzle-m902: add GPIO reset button
1e5df4d550 mvebu: puzzle-mcu: improve led driver
99a1e88297 mvebu: puzzle-m902: add driver for MCU driving LEDs, fan and buzzer
3b14ddf8d2 build: fix opkg install step for large package selection
This copies the code from web-admin and uses it to create a neat
cli-accessible summary about a node
This could also be extended or possibly have all the data the status
page has
Co-Authored-By: Matthias Schiffer <mschiffer@universe-factory.net>
The following features are available in Busybox ash, so we don't need to
warn about them for runtime scripts:
- local keyword
- echo -n / -e
- String indexing
These warnings are new in shellcheck 0.7.2, which would otherwise fail
for various scripts.
0.7.1 complains about unescaped backslashes in double quotes (which are
intepreted by printf in the two affected places). While the warning was
retired with shellcheck 0.7.2, it seems like a good idea to fix it
anyways.
We currently don't have any deprecated devices, so it doesn't make much
sense to force every site to specify this variable. Make it default to 0
instead.
All our targets use the OpenWrt device abstraction. Since commit
6ba58c9b17c90e41b521d796ab76e5723ee017170
("generic: force per-device RootFS") building non-device targets is not
possible anymore, so we can remove these obsolete handlers.
For regular use, a full disk image is always recommended, as it is
required to support sysupgrades.
During development or for automated tests, separate images for the
kernel and rootfs may be useful to pass additional kernel cmdline or use
nfsroot/virtiofs. The rootfs is only available as a (squashfs)
filesystem image, not as a TAR archive (the TAR archive in OpenWrt's bin
directory does not contain DEVICE_PACKAGES, so it is missing most of
Gluon's packages).
4dddb7ca36 tcpdump: libpcap: Remove http://www.us.tcpdump.org mirror
47a5b9744b linux-firmware: amd: consolidate amd's linux-firmware entries
6003752394 linux-firmware: Update to version 20211216
7306b9e810 linux-firmware: update to 20210511
d0b0ebf966 linux-firmware: update to version 20210315 and trim down broadcom FW
209c77e90f linux-firmware: ath10k: add support for Qualcomm Atheros QCA9377
2ed471a12a firmware: intel-microcode: update to 20210608
a20e9474df cypress-nvram: fix firmware is not exist for raspberry pi compute 4
dbe2a6343f base-files: fix service_running check
e81dd8a10a base-files: upgrade: fix efi partitions size calculation
8166bbf680 ccache: update to 4.2.1
5e2a2b086c mvebu: Turris Omnia: use SFP module, if present
24e564d327 mvebu: backport Turris Omnia DTS changes to 5.4
32c74552b2 kernel: bump 5.4 to 5.4.168
a8ad881b83 apm821xx: fix WD MyBook Live DUO USB-Port
d655eea053 hostapd: only attempt to set qos map if supported by the driver
With older versions of the RTD theme, paragraphs in nested lists would
lead to inconsistent spacing. This has been fixed, so we can remove our
workaround to use line blocks instead of paragraphs.
Using `make container` or, if you don't have automake/gmake on your host
system, `./scripts/container.sh` will build an image for the current
branch your are on and drop you into a shell running inside a container
using that image.
From there all tooling required to work on Gluon is available.
Supports both podman (preferred) and docker.
a85b7c7 opennds: Release v9.5.1 (for 21.02)
d4622d8 ohybridproxy: revert to default log level
47436b0 batman-adv: Prevent use from libc headers to not build with BIG_ENDIAN
a87752712 python-lxml: update to version 4.6.5
944e937d9 php8: update to 8.0.14
4308764d8 seafile: remove myself as maintainer of these packages
aa7454e46 python-packages: remove myself as maintainer
f01af1e66 crowdsec-firewall-bouncer: update to 0.0.18
f4519023c php7: update to 7.4.27
e818e3ed3 nano: update to version 6.0
e7e91ca07 libqmi: fix missing CONFIG_ prefix
7164762fd ldns: update to 1.8.1
59e70a29c unbound: update to 1.14.0
e6628357a htop: update to 3.1.2-1
c28d3dcb5 htop: explicitly disable some build options
97574e9de htop: update to 3.1.0
6ddb16bc3 node: bump to 14.18.2
4f251d6df hwdata: update to version 0.354
92129f9cf python-babel: update to version 2.9.1
134bae302 python-babel: update to version 2.9.0
5750f8337 knot: update to 3.1.4
149c3014f gnutls: don't run aclocal --install
4ee031906 bind: bump to 9.17.20
cbc9de5f1 knot-resolver: update to version 5.4.3
bb89205f5 yq: Update to 4.16.1
1743adc23 python3: update to version 3.9.9
5ebaa73d5 msmtp: update to version 1.8.1.9
a9fed2403 mariadb: Create compatibility symlinks
0e40e25fc mariadb: Install all supporting sql files
753fe1d21 mariadb: Tweak default configuration
ed572e389 mariadb: Init script improvements
fb4c9e5c4 mariadb-common: Drop package and adjust configuration
e84c48890 nextdns: Update to version 1.37.7
75a0ffc21 nextdns: Update to version 1.37.6
a97bd3135 syslog-ng: update to version 3.35.1
3cad5b76d yggdrasil: bump to 0.4.2
a7a724733 yggdrasil: uci ifname is now known as device
271961e3a nextdns: Update to version 1.37.5
5d82c0716 ddns-scripts: use HTTPS for spdyn
ff5728497 icu: bump to 70.1
8162066e1 curl: update to 7.80.0
4877a3b72 yq: Update to 4.15.1
4f78eb825 crowdsec: update to 1.2.1 crowdsec-firewall-boucer: update to 0.0.16
103484c4b nebula: update to 1.5.0
e1b79b1dc3 mac80211: optimize airtime fairness code to reduce cpu usage
5414aa88ae kernel: backport the upstream implementation of threaded NAPI to 5.4
4b52d89531 mac80211: Update toversion 5.10.85
5a8faa407a bcm53xx: sysupgrade: fix support for Luxul's legacy firmware format
052619a71b bcm4908: build chk image for Netgear RAXE500
d5f9c6729f bcm4908: start working on Netgear RAXE500 image
76ccf10c59 bcm4908: enable MTD_CMDLINE_PARTS
97b76de576 bcm4908: continue work on images for U-Boot based devices
1da38bb4db bcm4908: backport upstream DT commits
570c26f664 bcm4908: add watchdog support
027dd3c50b bcm4908: start work on images for devices using U-Boot
2c1f27bf4b bcm4908img: detect Linksys images
1d1c695273 bcm4908img: store offset of tail data
f24e745b25 bcm63xx-cfe: update to the latest master
c808c55b39 bcm53xx: sysupgrade: refactor handling different firmware formats
29f73a7968 bcm53xx: sysupgrade: simplify extracting image from Seama seal
0ebf62e7f4 bcm53xx: enable Linksys EA6300 & EA9200 builds
67978e4ce5 bcm53xx: backport the latest upstream DT changes
6f9e9d978a bcm53xx: fix Luxul XWR-3150 LAN ports numbering
2912bba4cb otrx: update to the latest master
3d05cd40a6 otrx: use firmware-utils.git to avoid code duplication
14940aee45 kernel: bump 5.4 to 5.4.163
06547e0a58 ath79: add support for Xiaomi AIoT Router AC2350
c67509efd7 ramips: fix tl-mr3020-v3 switch topology to configure vlans via luci
5124b96e72 busybox: update to 1.33.2 bugfix release
266890bb12 mt76: update to the latest version
efc76b1361 mac80211: bump PKG_RELEASE
1276ef9c1c mac80211: fix tx aggregation locking issue
b1e684fa88 mac80211: fix queue assignment of aggregation start requests
462ccf90be mt76: update to the latest version
36848e2c29 uboot-lantiq: danube: fix hanging lzma kernel uncompression #2
4172a8e0ad lantiq: set maximum kernel size for P2812HNUF3
0e0192098a mac80211: backport fix for dealing with stripped IV on rx
77667a7eb6 hostapd: add a patch that allows processing auth requests for peers in blocked state
9127e5193e hostapd: bump PKG_RELEASE
4679c4ae25 mac80211: bump PKG_RELEASE
36c3103cba mac80211: add a fix for kernel warnings when forwarding packets in mesh mode
ea91ebedce mac80211: fix regression in SSN handling of addba tx
Declare the clock variable as extern in the header file.
Fixes compilation of gluon-ebtables-limit-arp with OpenWrt master:
multiple definition of `clock'; /gluon/openwrt/tmp/ccuynR0G.o:(.bss+0x230): first defined here
Signed-off-by: David Bauer <mail@david-bauer.net>
The 'hwmode' setting has been replaced with 'band' in OpenWrt to add
support for newer bands outside of 2.4G and 5G. Adjust Gluon accordingly.
[Matthias Schiffer: rebased, extended commit message]
In meshes without VPN or supernodes, it may be desirable to connect a
router providing IPv4 addresses directly to a regular Gluon node. For
this to work, it was necessary to remove the gluon-ebtables-filter-ra-dhcp
package from the node, so the autoupdater also needed to be disabled.
To avoid this, make gluon-ebtables-filter-ra-dhcp disable the DHCPv4
filter rules when gw_mode is set to 'server'.
No solution is provided for RA/DHCPv6, but this seems less pressing for
local meshes, as nodes can already provide working IPv6 connectivity
by themselves through gluon-radvd.
The network.wireless status ubus call only returns the configured
channel from UCI, breaking the status page in outdoor mode, where the
configuration contains 'auto' instead of a number.
Fixes: 0d3fa6b59b ("gluon-status-page: use ubus to get radio channels")
Closes#2336
The site.mk target was only evaluated after the whole makefile was
parsed. This caused the GLUON_DEPRECATED error to be emitted first
(hiding the more helpful message that no site config was found) on Gluon
2021.1.x, where GLUON_DEPRECATED is used in a toplevel if in targets.mk.
By moving the check from recipe context to the toplevel, we ensure that
it is evaluated during parsing.
6d10a01 batman-adv: Merge bugfixes from 2021.4
3336ecd naywatch: warn user
9e7698f babeld: remove unnecessray blob_buf_init calls
c524118 babeld: free blob-buffers that are on stack
1fcda9d olsrd: wait for wireless to initialize before starting
b320cc083 docker: Update to 20.10.11
307236dca dockerd: Update to 20.10.11
b35eba3c9 containerd: Update to 1.4.12
b74f8b68c conntrack-tools: import patch to fix cache
47ce72c8b conntrack-tools: add a patch to fix endianness issue
41b3505f7 php8: update to 8.0.13
2381ced33 php7: update to 7.4.26
495c76cd5 rosy-file-server: drop this package
e112fc953 nextdns: Update to version 1.37.4
8d99ece4b golang: Update to 1.17.3
c0ceaca00 auc: remove superfluous variables
34e512ac2 auc: use /json/v1/
a95f71a73 auc: fix some minor issues
15beed2b4 rclone: Update to 1.57.0
966e3cc09 yq: Update to 4.14.2
2c6faddd3 exim: update to version 4.95
4f84a8631 exim: some clean ups
72288cc39 exim: add default config and init script, enable lmtp
783ee334f exim: update to version 4.94.2
cead8569e exim: fix compilation without deprecated OpenSSL APIs
b30fc0a67 gpgme: update to version 1.16.0
c55523b8c podman: update to 3.4.1
23415c437 podman: fix broken conffiles
4ccf03482 podman: update to 3.3.1
37df6c3ca podman: change permissions on /usr/share/containers/seccomp.json
ea7b959fd podman: update to 3.2.0
16a3da37a podman: change permissions on /etc/containers
a129759f0 podman: bumb version to 3.1.2
405bc67f8 podman: update to 3.1.1
961551a85 podman: Add selinux variant and several improvements
cb1d97d52 podman: add 'crun' to containers.conf
90e58bdb9 podman: update to version 3.0.1
2b7349773 conmon: update to 2.0.30
6e74b5d7b conmon: update to 2.0.29
18cc7640b conmon: fix segfault, correct a typo and update description
78a629de7 conmon: update to version 2.0.27
e4d64cc27 conmon: update to 2.0.26
da757a11e cni-plugins: update to version 1.0.1
95c604415 cni-plugins: update to version 1.0.0
89574510e cni-plugins: depend on kmod-veth
3a8dac1bc cni-plugins: update to version 0.9.1
2a684bdfa cni: update to version 1.0.1
e1489cd0f cni: update to 0.8.1
2d027dc82 libinput: update to version 1.19.2
0972feac5 libinput: update to version 1.19.1
975bb6f48 libinput: package libinput cli applets and quriks
cd42b74ac libinput: update to version 1.18.0
4042c299b libinput: update to version 1.17.1
2e5a72bf5 libevdev: update to version 1.12.0
d337bce97 libextractor: update to version 1.11
fd4648a61 pyodbc: update to version 4.0.32
aac8be18a pyodbc: update hash
fe1b4a705 pyodbc: update to version 4.0.31
c4c8aeef2 Werkzeug: update to version 2.0.2
0eb4b34fe Jinja2: update to version 3.0.3
1c0dba883 click: update to version 8.0.3
738e354e2 perl-mail-spamassassin: update to version 3.4.6
68e5146b1 perl-mail-spamassassin: fix compilation without deprecated OpenSSL APIs
7882b7a01 perl-net-dns: update to version 1.32
de68cf3c4 perl-net-dns: update to version 1.30
8dbccb11e opentracker: update to git HEAD of 2021-08-23
10a19bf58 opentracker: update to git HEAD
1bab442de opentracker: update to git HEAD
9fde4ba67 libksba: update to version 1.6.0
132280158 libksba: update to version 1.5.1
821bcc603 libassuan: update to version 2.5.5
2260a2227 libgpg-error: patch to fix cross-compile
8c8e57488 libgpg-error: update to 1.42
a7a051959 i2c-tools: update to version 4.3
698f54b32 hiredis: update to version 1.0.2
543c0969d hiredis: fix compilation with macOS
2fb629239 gawk: update to version 5.1.1
dc8398b66 ccid: update to version 1.4.36
7ee645cba ccid: fix compilation under macOS
920608fdc ccid: update to version 1.4.35
c0d45ae37 ccid: update to version 1.4.34
4c9cb7aa5 cryptsetup: update to version 2.4.1
d6474f836 cryptsetup: update to version 2.3.6
c840b702b cryptsetup: update to version 2.3.5
010ac6555 opensc: update to version 0.22.0
45388a559 opensc: update to version 0.21.0
4f879fe49 pcsc-lite: update to version 1.9.4
98bd76585 pcsc-lite: update to version 1.9.1
717f494ca postgresql: update to version 13.5
3b0f19d6d lvm2: update to version 2.03.14
bc5bb1254 lvm2: update to version 2.03.13
3bbdaa49e lvm2: add hotplug script to scan and enable PVs on hotplug
633e6a303 lvm2: update to version 2.03.12
99dcad1ae lvm2: don't use `-normal` suffix for non-SELinux variants
ec01d0c39 libudev-zero: update to version 1.0.0
beffb3c3f libudev-zero: update to version 0.5.2
3d417377b libudev-zero: update to version 0.4.8
6918a2c9a php8: Clean up and update distributed php.ini for php 8.0.12
44838c21e cyrus-sasl: patch CVE-2019-19906
ad1c43328 dockerd: Update to 20.10.10
786d3c7d7 docker: Update to 20.10.10
895dac37b containerd: Update to 1.4.11
2c928a098 runc: Update to 1.0.2
7e45ad87f php7: Clean up and update distributed php.ini for php 7.4.25
309c5d62a nano: enable showing line numbers with M-N (Alt-n)
50fdbd3a7 nano: enable line numbers (from cmdline)
07b7e67e6 mosquitto: bump to 2.0.13
8c504b293 php7-pecl-redis: update to 5.3.4
ab0bcf1ea php7-pecl-imagick: update to 3.5.1
1ded6ea24 php7-pecl-http: update to version 3.2.4
37941038a xray-core: remove dead jail files
4df93ea61 afuse: Add new package
6eecc3bd4 php7: Support for icu 70.1
f173d1d1d php8: Support for icu 70.1
f2300cd65 tvheadend: add patch to update hdhomerun
3aa30ceee rclone-ng: initial package
33b852064 rclone-webui-react: initial package
698699409 rclone: add test script
139dcb277 rclone: fix logic err in service file
ebabd2430 rclone: initial package
3ff099e0d yq: Update to 4.14.1
fdda9ff98 mariadb: Update to version 10.4.21
6b2535230 lighttpd: update to lighttpd 1.4.61 release hash
a740068f0 lighttpd: update to lighttpd 1.4.60 release hash
6d753e569 bind: Bump to 9.17.19
74081b945 nginx: fix compilation with BUILD_NLS
f57e56fd4 generate-ipv6-address: fix PIC compilation
7f10cee8c php7: update to 7.4.25
a446dba54 php8: update to 8.0.12
b6d2c8f69 dawn: set symm_enc default to 0
733126fc8 mariadb: update to 10.4.18
18a48195c python-websockets: new package
bf3fc8365 atlas-probe: allow parallel build
11f686bc3 atlas-probe: Fix compilation with gcc11
9d02dfdbb knot-resolver: update to 5.4.2
55ba91017 git: update to version 2.33.1
5a96548c2 msmtp: update to version 1.8.17
e6cea0eb5 syslog-ng: update to version 3.34.1
08107fbc5 dnscrypt-proxy2: update to version 2.1.1
63a261a34 checksec: update to version 2.5.0
e0a2da463 miniflux: new package
bc785e584 redis: update to version 6.2.6
edadea28c redis: update to version 6.2.5
86ce4cee0 redis: update to version 6.2.4
0412c3f0e redis: update to version 6.2.3
f5464f16d redis: update to version 6.2.2
cdd2b4668 redis: update to version 6.2.1
a92f8ea07 redis: update to version 6.2.0
14a3dfd30 knot: update to version 3.1.3
5fccb6fd7 dawn: update to 2021-10-26
e2d1c8a0d dawn: respawn dawn in case of crash
44629438d dawn: update to 2021-10-13
4855c37bd dawn: update to 2021-08-05
ded142471 docker: update to 20.10.9
4ae2fa2df dockerd: update to 20.10.9
a8b45f6f6 yq: Update to 4.13.5
97cd95d09 nextdns: Update to version 1.37.3
26e9cbc4c ksmbd-tools: update to 3.4.2
6bc415fce ksmbd-tools: update to 3.4.1
6657d5f61 ksmbd: use hostname only as name
8677e7efa ksmbd-tools: update to 3.4.0
35fefa105 django: bump to version 3.2.8
4d0867210 vpn-policy-routing: bugfixes: killall and tmpfs params
c8c12fdad node: bump to 14.18.1 / October 12th 2021 Security Releases
33c4ad121 vpn-policy-routing: revert to 0.3.4-8
a1556162a msgpack-c: Update to 4.0.0
b0efc1697 msgpack-c: don't check for GTest
5195be18a nnn: update to 4.2
70ddf0543 fakepop: fix compilation with PKG_ASLR
9b2e060e5 lxc: update to 4.0.10
b7bec631e simple-adblock: update to 1.8.8-1
3faeb8b09 curl: update to 7.79.1
e4dec5bea knot: update to 3.1.2
a597e12e2 crowdsec-firewall-bouncer: initial package v0.0.15
738fda6b6 crowdsec: initial package v1.2.0
b92db741e yq: Update to 4.13.4
b1bd6ec8f https-dns-proxy: update to 2021-09-27
ac6566a7d tor: update to 0.4.5.10
db856b617 acme: update to 3.0.1
70a8a309a golang: Update to 1.17.2
f41827d27 perl: perlmod.mk: use flock when hostpkg/perl used
58181f8fe ttyd: fix ssl ca option init
0139e44ff python-pytz: bump to version 2021.3
e155b3d29 nano: update to 5.9
39a116f58 smcroute: update to version 2.5.3
d09b92396 autossh: fix procd env issue
da5684671 autossh: fix compilation without ssh installed
3741e45ea php8: update to 8.0.11
b188ecff2 php8: fix module loading with glibc (refs #16642)
934de93ad php8: update to 8.0.10
998d21563 php7: update to 7.4.24
49ffbab9c php7: fix module loading with glibc (refs #16642)
dc5faddac travelmate: support meta-refresh with single-quote
c98f06003 cache-domains: Fixed remote script usage change * Removed all unnecessary files after configuration * Reduced code duplication * Changed to symlinking config instead of copying
1f3f63f5d haveged: update to 1.9.15
670fe1ea1 yq: Update to 4.13.3
dec9e83956 hostapd: fix goto loop for ubus assoc handler
c254d83ea8 hostapd: enable ht40 in wpa_supplicant when using wider HE modes
0243f09465 hostapd: add support for providing vendor specific IE elements
28b30ae10b hostapd: add eap_server support
21eb0a5aa3 hostapd: add default values for r0kh/r1kh
32b047e22e hostapd: add support for configuring the beacon rate
1f5155d005 hostapd: add support for configuring rts threshold
75f72696b5 hostapd: fix use after free bugs
0b75372275 hostapd: add wmm qos map set by default
6ac1b9188a hostapd: support qos_map_set without CONFIG_INTERWORKING
5a8988baa9 hostapd: refresh patches
9b660c63ad hostapd: fix a race condition on adding AP mode wds sta interfaces
d9373c5922 hostapd: fix max_oper_chwidth setting for HE
4a53adbd43 hostapd: let netifd set bridge port attributes for snooping
345f8fc7f3 hostapd: respect fixed channel BW in HE20 mode
23909a85de hostapd: make proxyarp work with libnl-tiny
aada4d0e78 hostapd: fix a segfault on sta disconnect with proxy arp enabled
c75d176882 hostapd: make the snooping interface (for proxyarp) configurable
93dc8760b0 hostapd: configure inter-AP communication interface for 802.11r
ce7a170414 hostapd: add additional radius options
7d1c464a23 hostapd: add extra options for hotspot 2.0 / interworking
e480a0986e hostapd: fix civic location option
46aa34ee0f hostapd: enable airtime policy for the -basic variants
62fa301cce hostapd: add patch for disabling automatic bridging of vlan interfaces
2982f1ec0a mt76: update to the latest version
ee5b593435 mac80211: fix crash in drivers relying on mac80211 retransmitting packets for powersave clients
fb98c8a610 mac80211: backport a few trivial patches
2007d4e208 mac80211: backport AP mode TWT support
c5ef1cee8a mac80211: backport support for BSS color changes
bb5da058db mac80211: add missing change for encap offload on devices with sw rate control
52300733cd mac80211: backport SAR power limit support
68886f3018 mac80211: merge the virtual time based airtime scheduler
c20f4e24bd mac80211: set beamformer/beamformee number of antennas in VHT caps
91ba22e3a4 mac80211: fix IBSS/adhoc mode for brcmfmac
27e4c5cf47 mac80211: allow retry of wifi setup if an iw interface add command fails
4a70b93f2d mac80211: fix HT40 mode for 6G band
cdb867b73a mac80211: fix processing HE capabilities (FS#3871)
7b7b494d56 mac80211: fix typo
8e3b3fa577 mac80211: do not enable VHT in the default config on 2.4 GHz
4edda0c544 mac80211: fix detecting VHT capabilities when generating the default config
8133d59da9 mac80211: add more HE capabilities
42d542e04f mac80211: fix center freq selection for 6 GHz
b535ec25eb mac80211: set hostapd op_class for 6 GHz
7a2405efc6 mac80211: rework default config script
d0b33833ae mac80211: make use of the new 'band' option
be55e7d5dd netifd: update to the master branch
aae63bb9a9 iw: enable print wpa ie for scan
df363764b7 netifd: fix deletion of ip tunnels (FS#4058)
c744798cad uboot-lantiq: danube: fix hanging lzma kernel uncompression
4b0f87729c wireless-regdb: update to version 2021.08.28
0b7311300b kernel: bump 5.4 to 5.4.158
2f04012b20 base-files: chmod 1777 /var/lock
6ec5dbd2a1 libpcap: add rpcapd as package
6fe4b7aa2b gpio-button-hotplug: convert to gpio descriptor (gpiod_) API
4607f55439 bcm4908: fix calculation of new cferam index
b4c40a7efc ramips: minew g1-c: Allow dynamic RAM sizes
f441be3921 iproute2: m_xt.so depends on dynsyms.list
a77ea2f05f OpenWrt v21.02.1: revert to branch defaults
b4d7885af7 OpenWrt v21.02.1: adjust config defaults
88151b8303 ipq40xx: ar40xx: reset port status register
23778f067a wolfssl: fix compile when enable-devcrypto is set
3f8adcb215 wolfssl: remove --enable-sha512 configure switch
249478ec48 wolfssl: always build with --enable-reproducible-build
23cd9fafa8 ath79: mikrotik: use 64 KiB SPI NOR erase sectors
16414718f9 wolfssl: update to 4.8.1-stable
5a02760c8f wolfssl: fix build with GCC 10 on 32 x86 targets
24b23ed96a layerscape: Add missing config option
7bf7f78891 layerscape: Fix build in dtb
2274e4c1fc ncurses: add tmux terminfo
eb5c2fed51 ncurses: add screen-256color terminfo
df9ca41322 ncurses: split long line of supported terminfo
f509ff77d4 glibc: update to latest 2.33 HEAD (bug 28213)
a13efd2253 tools/isl: update the download URL
284f8a64b7 ath10k-ct: update to version from 2021-09-22
aa2d61eced tools/m4: update to 1.4.19
b4ed8a9275 kernel: bump 5.4 to 5.4.154
43a5bebda1 wolfssl: bump PKG_RELEASE
4b212b1306 wolfssl: build with WOLFSSL_ALT_CERT_CHAINS
c43a5921fa mvebu: add support for iEi Puzzle-M901/Puzzle-M902
bb1eb5e8e6 mvebu: backport CN9130 dts necessary files changes to 5.4
f1f304940b build: prereq detect Python 3.10 for `python3` binary
e7c5e08db0 kernel: ar8216: add get_features method
9b258f220f prereq-build: recognize Python 3.10
913403b587 build: fix `which` detection on Fedora & MacOS
e604873e8a uhttpd: make organization (O=) of the cert configurable via uci
76d90a5eaf uboot-lantiq: fix sha1.h header clash when system libmd installed
8cc7ac54b6 kernel: bump 5.4 to 5.4.150
In js `return` does behave like `continue` in a forEach() iteration.
The fixed function was intended to return nothing on error and does so
now, instead of a shorter (useless) array like before.
52d7ac4 respondd-module-airtime: move const specifier to the right location
8067032 respondd-module-airtime: remove incorrect fprintf argument
1412236 respondd-module-airtime: remove PHY ID again
1dd5cd1 respondd-module-airtime: improve error handling
b4858b1 net/wgpeerselector: keep same datatype on ubus status (#250)
Signed-off-by: David Bauer <mail@david-bauer.net>
Calling functions like recv() with a NULL buffer is not explicitly
allowed by the POSIX standard, so it must be avoided to be portable
across different libc implementations. Allocate an initial buffer before
handling requests, and also pass this buffer to the peek recv() call.
Fixes: 531937cf6f ("gluon-neighbour-info: fix broken output with large results")
This removes PKG_VERSION and PKG_RELEASE from most Makefiles, as the
value was never useful for Gluon packages; instead, PKG_VERSION is set
to 1 in gluon.mk.
It also removes two other weird definitions:
- gluon-iptables-clamp-mss-to-pmtu replicating the old PKG_VERSION logic
from gluon-core, but without the fixed PKG_BUILD_DIR to prevent
unnessary rebuilds
- gluon-hoodselector set GLUON_VERSION=3
Sometimes it is useful to override the default version detection, for
example when local patches are applied to a repo. Allow providing a
version number using a file called .scmversion, which is the same that
the Linux kernel and U-Boot use.
Calling git describe directly breaks isolation between the build system
and packages. Replace this with proper .config variables, like we
already do for GLUON_RELEASE.
Also replace the PKG_VERSION hack with a static '1', as we do for other
packages - while having those version numbers in opkg was cute, it was
also entirely useless. Having a fixed PKG_VERSION allows us to remove
the PKG_BUILD_DIR override as well.
Currently a buffer with a fixed size of 8192 bytes is used. However the
result can potentially be larger, which leads to a truncated JSON
output on stdout. UDP packets, without compression and with IP
fragmentation, can be up to 64KiB large.
Instead of using a fixed size buffer on the stack ask the kernel first
about the size of the UDP data and allocate a buffer of appropriate size
on the heap before receiving the UDP data.
The issue was observed with a custom respondd provider.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
7fcb8024d openpyxl: bump to version 3.0.9
c0b23efab [openwrt-21.02] delve: Update to 1.7.2
365b62f4f zerotier: update to 1.6.6
172ebab28 xray-core: Update to 1.4.5
5d3faa6a4 yq: Update to 4.13.2
713051525 attendedsysupgrade-common: use sysupgrade.openwrt.org
ecf1e6575 libmbim: bump to 1.24.8
54a095164 modemmanager: bump to 1.16.6
dab28002f libqmi: bump to 1.28.8
602dbc60f libqmi: bump to 1.28.6
d8f33f73e lxc: remove legacy cgroups from common.conf
67e9ed1d5 syncthing: update to 1.18.2
2cd1fa16b python-astral: update to version 2.2
e1c24c07f fail2ban: patch CVE-2021-32749
6979ce4a6 php7: fix config file upgrade issue (fixes#14623)
2929694f8 php7: update to 7.4.23
54d1c110b yq: Update to 4.13.0
fd21207cf travelmate: update to 2.0.7-2
2bb2a48d1 openpyxl: bump to version 3.0.8
50351667a adguardhome: bump to 0.106.3
a98adbc47 adguardhome: bump to 0.106.2
8236e0441 adguardhome: bump to 0.106.1
b5ad600a7 adguardhome: bump to 0.106.0
be38dc31e adguardhome: bump to 0.105.2
b1b8128e4 adguardhome: bump to 0.105.1
8a06dc026 autoconf: fix shebang
8638a565c parted: add new package
3fdaf7d8d golang: Update to 1.17.1
929b57d85 banip: update 0.7.10-3
af46ac4bf travelmate: update to 2.0.7
40b7ea606 ntfs-3g: patch CVE-2019-9755
e72cc2b0a python3: bump version to 3.9.7
cd82a36ba fail2ban: fix hotplug when disabled
a5109ac20 django: bump to version 3.2.7
98708c83e fail2ban: fix package for fail2ban v0.11.2
f056f252c fail2ban: initial package of fail2ban version 0.11.2 python3-pyinotify: initial package version 0.9.6 of pyinotify for python3
89bdb70f1 nextdns: Update to version 1.37.2
58b23e9bc unbound: backport fix for permission denied error
60a7fc782 unbound: update to 1.3.2
b81785de9 unbound: fix build on non-linux systems
8ca8872b3 cgi-io: update to latest Git HEAD
4ba1aac1f haproxy: Update HAProxy to v2.2.17
178b9484d wsdd2: update to git (2021-08-09), switch to Netgear repo
593931084 samba: update to 4.14.7
ca591b551 tor: update to version 0.4.5.8
a5206895e nextdns: Update to version 1.37.1
642d2b0a5 xray-core: Update to 1.4.3
6071edf17 banip: update 0.7.10-2
9cf487461 nextdns: Update to version 1.37.0
dd093d410 pillow: bump to version 8.2.0
7022e9913 acme: Fix uhttpd restart to load new certificates
6256cf49d python-certifi: update to version 2021.5.30
59dab31e0 squashfs-tools: bump to version 4.5
73364d0c4 hplip: add a patch to respect CFLAGS
6b1133720 collectd: sensors plugin - depend on lm-sensors
090623ac1 mwan3: Use shebang in /etc/mwan3.user
119a05ffd perlbase-data: Add dependency on perlbase-scalar
502ca434c lttng-tools: fix linking with full language support enabled
73bd199ab stoken: fix compilation with BUILD_NLS
7674639c5 augeas: fix compilation with BUILD_NLS
9d4046157 treewide: Remove GO_PKG_LDFLAGS for stripping binaries
0b8baefec openvpn: add OpenVPN option push-peer-info
82dc4c08b python-cryptography: Update to 3.4.8
65057dcbb tailscale: update to version 1.12.3
f818f4a0d tailscale: update to version 1.12.1
13faefa9b tailscale: update to version 1.8.7
a1b8c64c2 tailscale: update to version 1.8.1
d721fea58 libssh: update to 0.9.6
The address of the vpn interface is calculated in the style of
modified EUI-64, based on a virtual mac address. This virtual mac
address consists of 0x00 as first byte and the other five bytes
are taken from the first bytes of md5sum(base64 encoded public key).
The algorithm was taken by the ffmuc, with a slight difference. ffmuc
calculated the result of md5sum(base64 encoded public key + '\n')
which was interpreted as accidential fault and therefore dropped.
Example:
- Public-Key: "gP3VJnTTvnQut+z4O+m0N9RgMyXbgyUbUkF3E3TKX2w="
- Address: "fe80::02ca:b8ff:fedc:2eb3"
The following interfaces are used for wireguard:
- wg_mesh -> wireguard interface
- mesh-vpn -> vxlan iface on top of wg_mesh
If you use this new feature, make sure the NTP servers in your site
config are publicly reachable. This is necessary, since wireguard
requires correct time before the vpn connection is established.
Therefore gluon performs ntp time synchronisation via WAN before it
establishes the vpn connection. Therefore the NTP servers have to
be publicly reachable (and not only via mesh).
Hardware
--------
MediaTek MT7621AT
256M DDR3
32M SPI-NOR
MediaTek MT7603 2T2R 802.11n 2.4GHz
MediaTek MT7915 2T2R 802.11ax 5GHz
Not Working
-----------
- Bluetooth (connected to UART3)
UART
----
UART is located in the lower left corner of the board. Pinout is
0 - 3V3 (don't connect)
1 - RX
2 - TX
3 - GND
Console is 115200 8N1.
Boot
----
1. Connect to the serial console and connect power.
2. Double-press ESC when prompted
3. Set the fdt address
$ fdt addr $(fdtcontroladdr)
4. Remove the signature node from the control FDT
$ fdt rm /signature
5. Transfer and boot the OpenWrt initramfs image to the device.
Make sure to name the file C0A80114.img and have it reachable at
192.168.1.1/24
$ tftpboot; bootm
Installation
------------
1. Connect to the booted device at 192.168.1.20 using username/password
"ubnt".
2. Update the bootloader environment.
$ fw_setenv devmode TRUE
$ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr);
fdt rm /signature; bootubnt"
$ fw_setenv bootcmd "run boot_openwrt"
3. Transfer the OpenWrt sysupgrade image to the device using SCP.
4. Check the mtd partition number for bs / kernel0 / kernel1
$ cat /proc/mtd
5. Set the bootselect flag to boot from kernel0
$ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4
6. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1
$ dd if=openwrt.bin of=/dev/mtdblock6
$ dd if=openwrt.bin of=/dev/mtdblock7
7. Reboot the device. It should boot into OpenWrt.
Before this commit, some *.po files contained the same translation
twice within the same file. While this did not led to errors in
gluon yet, it is still invalid. This commit fixes that and removes
the duplicates.
- Move site check for prefix4 and extra_prefixes6 to gluon-core, so the
rules don't need to be duplicated in several packages. This also fixes
gluon-respondd not checking extra_prefixes6 at all when
gluon-ebtables-source-filter is not installed as well.
- A redundant check for prefix6 is removed from gluon-l3roamd (this was
already checked by gluon-core)
- A separate check for prefix4 remains in gluon-client-bridge, as the
setting in mandatory there
* ath79-generic: add support for Onion Omega
support was previously dropped in
commit 45c84a117b ("ar71xx: drop target")
* fixup! ath79-generic: add support for Onion Omega
* fixup! ath79-generic: add support for Onion Omega
- [x] must be flashable from vendor firmware
- [ ] webinterface
- [ ] tftp
- [x] other: Console port available. Manufacturer specific cable required.
Tutorial in OpenWRT commit message https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=c6e972c8772a628a1a2f2e5590d7c6f4acef9ab0
- [x] must support upgrade mechanism
- [x] must have working sysupgrade
- [x] must keep/forget configuration (if applicable)
*think `sysupgrade [-n]` or `firstboot`*
- [x] must have working autoupdate
root@Aruba-AP-303H:~# lua -e 'print(require("platform_info").get_image_name())'
aruba-ap-303h
- [x] reset/wps/phone button must return device into config mode
- [x] primary mac should match address on device label (or packaging) (https://gluon.readthedocs.io/en/latest/dev/hardware.html#notes)
- wired network
- [x] should support all network ports on the device
- [x] must have correct port assignment (WAN/LAN)
- wifi (if applicable)
- [x] association with AP must be possible on all radios
- [x] association with 802.11s mesh must be working on all radios
- [x] ap/mesh mode must work in parallel on all radios
- led mapping
- power/sys led (_critical, because led definitions are setup on firstboot only_)
- [x] lit while the device is on
- [x] should display config mode blink sequence
(https://gluon.readthedocs.io/en/latest/features/configmode.html)
- radio leds
- [x] should map to their respective radio
- [x] should show activity
- switchport leds
- [x] should map to their respective port (or switch, if only one led present)
- [x] should show link state and activity
- outdoor devices only
- [ ] added board name to `is_outdoor_device` function in `package/gluon-core/luasrc/usr/lib/lua/gluon/platform.lua`
- ToDo (upstream):
- enable PoE pass through on interface E3
system.poe_passthrough=gpio_switch
system.poe_passthrough.name='PoE Passthrough'
system.poe_passthrough.gpio_pin='446'
system.poe_passthrough.value='0' (0 is active)
e294a22 batman-adv: Refresh patches with quilt
519ef4a batman-adv: Merge bugfixes from 2021.2
8d93475 olsrd: add filtergw plugin
76a7bc7 olsrd: update to 2021-06-21
3912935 olsrd: use SPDX
69e2fe6 bird2: Fix bus error on OSPF on IPQ806X
fa1791dbc htop: Add HTOP_LMSENSORS config option
19998f14f banip: update 0.7.10
36ffcd66f xray-core: fix build under go 1.17
2b17d1ca9 golang: Update to 1.17
0e3c2d959 gpsd: bump to 3.23
3b73213bf yq: Update to 4.12.1
954eba88a auc: update to version 0.2.4
af4098118 yq: Update to 4.12.0
cec17047d apr: patch CVE-2021-35940
1c982c63a nextdns: Update to version 1.36.0
4adf9a1c1 mosquitto: allow auth options with per listener settings
c4f61bf57 mosquitto: init: support more UCI options
6c9d59571 airos-dfs-reset: add airos-dfs-reset
baceb237a [openwrt-21.02] delve: Update to 1.7.1
0bd7e25f2 phantap: update to latest commit
06011c690 travelmate: update to 2.0.6
3733d0a7d travelmate: update to 2.0.5-3
d89bb6bec https-dns-proxy: patch CMakeList.txt to use OpenWrt CFLAGS
8b5002a6e dnscrypt-proxy2: Upgrade to 2.1.0
ffb8b452a c-ares: update to version 1.17.2
ce0c9af93 mc: add a missing Syntax file
f5669e3a6 mblaze: new package
af616fc58 hwdata: update to version 0.350
0240320e8 tvheadend: update to v4.2.8, remove static ffmpeg
4ddc4a613 tvheadend: fix compilation with GCC 9 and 10
fdee10fde python3-setuptools: add _distutils_hack
affb4038c zabbix: Call killall with the -s
d0444c0f5 git: update to 2.33.0
e583b7e3e mc: update to 2.8.27
542aa086e curl: update to 7.78.0
dd49c191a auc: update to version 0.2.0
395f55203 unixodbc: use 'install' when copying host binaries
b3c416b2d perl: perlmod.mk: use 'install' for host binaries
5665c3bdf stubby: Add multi WAN support for procd trigger
1ca9b3c98 stubby: remove maintainer
39b401638 stubby: remove libidn2 and libunwind dependencies
57eab26bb stubby: bump to 0.4.0
cb7030229 sqm-scripts: bump to v1.5.1
eed183c5f travelmate: update to 2.0.5-2
3eab47600 travelmate: update to 2.0.5
20ff270f2 django: bump to version 3.2.6
b3cfba1de dockerd: Updated to 20.10.8
832671029 docker: Updated to 20.10.8
6fb2beb6a containerd: Updated to 1.4.9 for docker 20.10.8
f815bdd72 runc: Updated to 1.0.1 for docker 20.10.8
10b295626 whois: update to 5.5.9
6f82209e4 whois: update to 5.5.8
eda1e1045 gitlab-runner: update to 14.0.1
aa4171673 clamav: update to 0.103.3
2fc25208a irssi: add test.sh
8de166f42 irssi: update to 1.2.3
e264d6689 atlas-sw-probe: fix copypaste error and clean tmp dir on exit
9cb317541 Flash: update to version 2.0.1
eb5e13d37 Jinja2: update to version 3.0.1
573338fe4 Werkzeug: update to version 2.0.1
d1007d29f MarkupSafe: update to version 2.0.1
9fa4ce04a click: update to version 8.0.1
735f9ed87 itsdangerous: update to version 2.0.1
979464c6a net/snort3: Include default configs and snort2lua
dccb98855 knot-resolver: update to version 5.4.0
e38772510 knot: update to version 3.1.0
a2819fab7 golang: Update to 1.16.7
1a3687049 python-twisted: Update to 21.7.0, refresh patches
78a25390b libxslt: fix compilation because of wrong libxml2 check in configure script
beba98240 simple-adblock: update to 1.8.7-6
51de4b108 php7: update to 7.4.22
38fc5d866 libxml2: update to 2.9.12
e928ef733 php8: add CI runtime test
91be67942 php8: update to 8.0.9
bc6d77a7c node: bump to 14.17.4
af5c3af0c curl: enable HTTP/2 support by default
3cb1894b8 https-dns-proxy: update to 2021-07-29-01
c4a323903 nextdns: Update to version 1.35.0
bda6773b9 dawn: update to 2021-07-27
25a0a5cc4 travelmate: update to 2.0.4
877b65214 adblock: bugfix 4.1.3-3
11455c0fd librouteros: don't build docs
2c7ad7ca6 yq: Update to 4.11.2
fefd88227 syslog-ng: update to version 3.33.2
17c4b0332 ddns-scripts: use https for google ipv6 ddns url
d2cb8f4ee erlang: disable PIE
fc598339c yggdrasil: bump to 0.4.0
4ea887e64 vpnbypass: updates to 1.3.2-1
5e69e4108 Revert "net/miniupnpd: ext_ip_reserved_ignore support"
117c6bf76 knot: update to version 3.0.8
1c69a5270 knot: update to version 3.0.7
17809e28a yq: Update to 4.11.0
eabde6aab delve: Update to 1.7.0
ec9700fee golang: Update to 1.16.6
f7ba01cdd sane-backends: use macros (properly), remove chmod
041e28776 sane-backends: fix usbid file generation
48576dba7 vpn-policy-routing: update to 0.3.5-1
a0183d3f6 stress-ng: bump to version 0.12.10
0805c1199 stress-ng: bump to version 0.12.07
43a391e5f stress-ng: bump to version 0.12.06
752da2a8b stress-ng: bump to version 0.12.04
23925c77a ruby: update to 3.0.2
dd1930f03 dawn: update to 2021-07-11
c6fcfda21 dawn: update to 2021-07-08
8aeb26b41 yq: Update to 4.9.8
cc78ba6b5 addrwatch: Various fixes
6a24f88c3 yggdrasil: allow HTTPS connections
0a5ab6882 yggdrasil: bump to 0.3.16
79417f0a3 python-cffi: bump to version 1.14.6
02a0c8a4f python-simplejson: bump to version 3.17.3
1954ed36a openvpn: enable LZO support by default for OpenSSL variant
827fa8e21 syslog-ng: disable mqtt
f58494968 mwan3: bump PKG_VERSION to 2.10.11
7e71550f1 mwan3: add troublshoot command from LuCI
4f5b05ab8 mwan3: cleanup help output
588d781df syslog-ng: update to version 3.33.1
56d7a225e apache: update to 2.4.48
e11d70d0c transmission: add new syscalls to seccomp filter
ee11ce67a netdata: update to version 1.30.1
3ac73fa18 wsdd2: update to git 2021-06-28
7723235f4 samba4: update to 4.14.5
a2a9702f8 softethervpn5: update to 5.02.5180
104af774c rpcbind: update to 1.2.6
90341aa79 libtirpc: update to 1.3.2
c66b3dc45 lxc: add patch to switch GPG server
a5a176d86 yq: Update to 4.9.7
4bc55dd04 python3: do a simple ls on pip & setuptools if not selected for build
ef50ed85a python3: update to version 3.9.6
033b04ee7 mwan3: use default routes from additional tables
790a49c09 libuv: fix CVE-2021-22918
c605f4cb4 django: bump to version 3.2.5
63ca71937 nextdns: Update to version 1.34.2
57ed36db4 tessdata: uncompress tarball only once to speed up builds
3d7d41f71 tessdata: update to 2.1.0
7d9210015 openconnect: backport iconv/intl fix
5201d8739 python-dateutil: add setuptools-scm build dep
c2657a2e9 adblock: update 4.1.3-2
8e1a8026b crun: update to 0.20
15b873947 crun: bump to version 0.19.1
dae7bdd91 crun: Don't build on arc
08abbfd9b crun: add package crun
0f395b994 auc: update to version 0.1.8
51dd1c1fd delve: add package
3fef9fffa cache-domains: Fixed missing wildcard entries
24e67d6fa nextdns: Update to version 1.33.11
4692a31be travelmate: startup fixes
29eab35c6 openvpn: update to 2.5.3
1216b02d4 tcpreplay: bump to version 4.3.4
56e4da231 python-lxml: bump to version 4.6.3
535bcdb57 pillow: bump to version 8.1.2
1e01952ce ddns-scripts: get l3 device for bind network using curl
99f838dd6 ddns-scripts: Fix for domains with dash
12cd69329 ddns-scripts: Fix for wildcard subdomain
94efa1c612 fritz-tools: fix returning wrong values due to strncmp usage
d9be07169e mbedtls: update to 2.16.11
f407b2f43c mvebu: armada-37xx: add patch to forbid cpufreq for 1.2 GHz
b254bd697d Revert "mvebu: 5.4 fix DVFS caused random boot crashes"
4003eeab35 dnsmasq: reset EXTRA_MOUNT in the right place
6ca34c5c0c dnsmasq: fix more dnsmasq jail issues
b88ab44036 dnsmasq: rework jail mounts
8ef5894197 dnsmasq: use local option for local domain parameter
da5fd91073 dnsmasq: add ignore hosts dir to dnsmasq init script
9531e70708 OpenWrt v21.02.0-rc4: revert to branch defaults
134ac824c5 OpenWrt v21.02.0-rc4: adjust config defaults
2d5ee43dc6 kernel: bump 5.4 to 5.4.137
Fixes the display of client counts, which are numbers and not strings
in the respondd data.
Fixes: 3a885a1b22 ("gluon-status-page: make "gateway nexthop" a link (#2278)")
Do not depend on the respondd-airtime module just to get the configured
channels. This removes the display of the frequency in addition to the
channel, as it is not readily available.
In addition, the translation string is improved to allow for text after
the channel number.
This code is usually running on an embedded CPU without FPU. In
addtition to its inefficience, the algorithm is also much harder to
understand.
Replace the logarithm formula with a simple loop.
a205de5594 ramips: mt76x8: add missing config symbol
8abe67d6d2 x86: move Kconfig symbol to common config
2e1a5a4353 generic: add missing Kconfig symbol
Fixes#2277
Signed-off-by: David Bauer <mail@david-bauer.net>
941ba3ffc4 ath79: fix JT-OR750i switch LED assignment
17cb9a9a9e ath79: enable missing pinmux for JT-OR750i
a5850c049e ath79: add support for Joy-IT JT-OR750i
55d9c020a1 netifd: update to the latest version
089efd61e9 netifd: update to the latest version
60fad8f82b glibc: update to latest 2.33 HEAD (bug 28011)
c58afca1aa glibc: update to latest 2.33 HEAD (BZ #27646, bug 27896, BZ #15271)
249aeaa9d8 dnsmasq: distinct Ubus names for multiple instances
a1d50e7b45 kernel: bump 5.4 to 5.4.132
88c8d0a219 dnsmasq: add /tmp/hosts/ to jail_mount
4633471d74 odhcpd: fix invalid DHCPv6 ADVERTSIE with small configured leasetime (FS#3935)
Signed-off-by: David Bauer <mail@david-bauer.net>
TP-Link RE200 v2 is a wireless range extender with Ethernet and 2.4G and 5G
WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN.
Specifications
--------------
- MediaTek MT7628AN (580 Mhz)
- 64 MB of RAM
- 8 MB of FLASH
- 2T2R 2.4 GHz and 1T1R 5 GHz
- 1x 10/100 Mbps Ethernet
- UART header on PCB (57600 8n1)
- 8x LED (GPIO-controlled), 2x button
There are 2.4G and 5G LEDs in red and green which are controlled
separately.
MAC addresses
-------------
The MAC address assignment matches stock firmware, i.e.:
LAN : *:0D
2.4G: *:0E
5G : *:0F
Installation
------------
Web Interface
-------------
It is possible to upgrade to OpenWrt via the web interface. Simply flash
the -factory.bin from OEM. In contrast to a stock firmware, this will not
overwrite U-Boot.
v2: In contrast to the last patches, this is now built on top of ssh
only, without using e.g. 9pfs. Furthermore it works also with
arbitary remote hosts on any target/architecture. Also the
scripts were renamed and moved to /scripts.
The aim of this commit is to allow fast rebuild cycles during the
development of gluon packages.
Currently the following workflow can be used:
# start a local qemu instance
scripts/run_qemu.sh output/images/factory/[...].img
# do your changes in the file you want to patch
vi package/gluon-ebtables/files/etc/init.d/gluon-ebtables
# rebuild and update the package
scripts/push_pkg.sh package/gluon-ebtables/
# test your changes
...
# do more changes
...
# rebuild and update the package
scripts/push_pkg.sh package/gluon-ebtables/
# test your changes
...
(and so on...)
Implementation details:
- Currently this is based on ssh/scp.
- Opkg is used to install/update the packages in the remote machine.
Benefits:
- This works with compiled and non-compiled packages.
- This works with native OpenWrt and Gluon packages.
- This even performs the check_site.lua checks as they are integrated
as post_install scripts into the openwrt package.
- It works for all architectures/targets.
Specify conffiles for our packages, so they aren't overwritten during
opkg updates. While this only matters during development, it is
unintended to have different behaviour for opkg update and full firmware
updates.
df4feb1655 ipq40xx: fix FRITZRepeater 1200 RGMII delay
f3f70fb956 netifd: update to the latest version
Signed-off-by: David Bauer <mail@david-bauer.net>
The PHY lookup helper "find_phy_by_path" could not lookup the PHY name
for paths from multi-phy devices.
An example for such a path would be:
'1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0+1'
The integer after the plus (+) character determines the PHY index of the
specific device in relation to the PHY with the lowest index of the
device.
For example, if the device provides phy2 and phy3, the above path would
describe phy3. In case the device provides phy0 and phy1, it would
describe phy1.
Rewrite the "find_phy_by_path" function to support those paths as well
as regular device paths in a universal manner.
Signed-off-by: David Bauer <mail@david-bauer.net>
Delete all default network device sections upon first boot.
Only LAN & WAN networks are defined at this point. We are using the
legacy way of definiting bridges via the interface sections ifname
option.
The prior filtering was based upon a single device and didn't take into
consideration that DSA interface names can be named arbitrarily.
Signed-off-by: David Bauer <mail@david-bauer.net>
VoCores aren't exactly useful mesh nodes except for experimentation.
They certainly aren't worth maintaining a whole target, in particular
one that has a WLAN driver not used by any other target.
38cdc57be6 mediatek: add missing config symbols
6073d2c02a generic: add missing config symbols
8921e36ed8 iwinfo: move device info into -data package
d3278c4343 build: ensure that dash isn't prepended twice to abi version suffix
47f617ef8d build: prepend ABI suffixes with a dash if package name ends with digit
febf6db0d0 ath79: add missing MTD_NAND_RB91X symbol
983fcc42a4 ath79: add missing GPIO_LATCH symbol
0ad49d368b ath79: mikrotik: fix beeper phantom noise on RB912
ffa943f0b9 ath79: ar934x: fix mounting issues if subpage is not supported
88e1c9b0b5 ath79: add support for MikroTik RouterBOARD 912UAG-2HPnD
bd2e070557 ath79: add NAND driver for MikroTik RB91xG series
43723e6db9 ath79: add gpio-latch driver for MikroTik RouterBOARDs
3eb34bc251 hostapd: make wnm_sleep_mode_no_keys configurable
89d21b7f62 hostapd: make country3 option configurable
72f0733123 ltq-deu: Mark lantiq DEU broken
b0424190ef iwinfo: build with nl80211 backend only and make shared
d723002d84 treewide: unmark selected packages nonshared
86f6171788 ath10k-ct: fix typo in Makefile
24cfa5005e ath10k-ct: update to latest version
69c10497c7 kernel/modules: move act_gact into kmod-sched-core
fc4b5411b3 package/comgt: Handle bind/unbind events
Signed-off-by: David Bauer <mail@david-bauer.net>
It was found that a one second timeout for nodeinfo data may be too low,
so that when a node is otherwise occupied that timeout may be reached
too often.
The nodeinfo query response is also vital to the status-page base
template, so that when it times out, the site will be turned in a broken
state, that it cannot recover from.
Fixes: #2256
A leading tab character usually marks recipe lines in Makefiles;
non-recipe lines must be indented using spaces.
The incorrect tab character doesn't seen to have caused any issues in
this case, but it should be fixed nonetheless, if only for consistency.
The file_contains_line helper function was not testing whether a file
exists or not prior attempting to read from it.
Add this check to circumvent errors on the private WiFi config in
case the hwflags file is missing.
Reported-by: Tom Herbers <freifunk@tomherbers.de>
Tested-by: Tom Herbers <freifunk@tomherbers.de>
Signed-off-by: David Bauer <mail@david-bauer.net>
d666ebcaa3 ubus: update to the latest version
a9100f2196 base-files: wifi: tidy up the reconf code
b27b63b082 base-files: wifi: swap the order of some ubus calls
6f13a39035 mac80211: print an error if wifi teardown fails
9302e63d1a mac80211: always call wireless_set_data (FS#3784)
bea9380149 mac80211: fix no_reload logic (FS#3902)
ccbe535604 mac80211: backport fix for nl80211 control port tx (fixes FS#3857)
4c29ff7cb8 mac80211: add support for 802.3 encap offload with software rate control
a078037ace mac80211: improve rate control performance
9fa925362f busybox: sysntpd: add trigger to reload server
a75928d125 busybox: sysntpd: option to bind server to iface
Signed-off-by: David Bauer <mail@david-bauer.net>
The relevant entry for the primary MAC location was lost when rebasing
the patch on OpenWrt 21.02.
Fixes commit ded4b8a711 ("rockchip-armv8: add FriendlyARM NanoPi R2S")
Signed-off-by: David Bauer <mail@david-bauer.net>
The OpenWrt routing feed was moved to the OpenWrt GitHub org.
Update the URL, as the old one might not work in the future.
Signed-off-by: David Bauer <mail@david-bauer.net>
Configure a radio for HE (802.11ax) operation in case it's supported by
the hardware. This can be the case for 2.4 GHz as well as 5 GHz.
Signed-off-by: David Bauer <mail@david-bauer.net>
Specifications:
- CPU: MediaTek MT7628AN (580MHz)
- Flash: 16MB
- RAM: 64MB DDR2
- 2.4 GHz: IEEE 802.11b/g/n with Integrated LNA and PA
- Antennas: 4x external single band antennas
- WAN: 1x 10/100M
- LAN: 2x 10/100M
- LEDs: 2x yellow/blue. Programmable (labelled as power on case)
- Non-programmable (shows WAN activity)
- Button: Reset
How to install:
1- Use OpenWRTInvasion to gain telnet and ftp access.
2- Push openwrt firmware to /tmp/ using ftp.
3- Connect to router using telnet. (IP: 192.168.31.1 -
Username: root - No password)
4- Use command "mtd -r write /tmp/firmware.bin OS1" to flash into
the router..
5- It takes around 2 minutes. After that router will restart itself
to OpenWrt.
Specifications:
- SoC: MediaTek MT7621
- Flash: 16 MiB NOR SPI
- RAM: 128 MiB DDR3
- Ethernet: 3x 10/100/1000 Mbps (switched, 2xLAN + WAN)
- WIFI0: MT7603E 2.4GHz 802.11b/g/n
- WIFI1: MT7612E 5GHz 802.11ac
- Antennas: 4x external (2 per radio), non-detachable
- LEDs: Programmable "power" LED (two-coloured, yellow/blue)
Non-programmable "internet" LED (shows WAN activity)
- Buttons: Reset
Installation:
Bootloader won't accept any serial input unless "boot_wait" u-boot
environment variable is changed to "on".
Vendor firmware won't accept any serial input until "uart_en" is
set to "1".
Using the https://github.com/acecilia/OpenWRTInvasion exploit you
can gain access to shell to enable these options:
To enable uart keyboard actions - 'nvram set uart_en=1'
To make uboot delay boot work - 'nvram set boot_wait=on'
Set boot delay to 5 - 'nvram set bootdelay=5'
Then run 'nvram commit' to make the changes permanent.
Once in the shell (following the OpenWRTInvasion instructions) you
can then run the following to flash OpenWrt and then reboot:
'cd /tmp; curl https://downloads.openwrt.org/...-sysupgrade.bin
--output firmware.bin; mtd -e OS1 -r write firmware.bin OS1'
e16a45f258 iwinfo: update to latest Git HEAD
0c51b265bf iwinfo: update to latest Git HEAD
85cef1cf22 kernel: bump 5.4 to 5.4.128
e171d11f55 libusb: Fix parsing of descriptors for multi-configuration devices
3d62b5d5c6 base-files: fix /tmp/TZ when zoneinfo not installed
3047df2317 base-files: fix zoneinfo support
ab5010d170 exfat: update to 5.12.3
72d93c1ba4 realtek: Fix failsafe mode
7a5a247c1f base-files: failsafe: Remove the VLAN modifier from interface name
c0fdfd15fc base-files: failsafe: Fix IP configuration
98b1a6435f kernel: Backport patch to automatically bring up DSA master when opening user port
ec780bdb92 kernel-5.4: backport latest patches for wireguard
82c700de67 hostapd: fix handling of the channel utilization options
1247a6bb35 bcm4908: fix Ethernet broken state after interface restart
25daa921da bcm4908: add kmod-gpio-button-hotplug
74dbf3412b base-files: fix typo in config_generate MAC check
125deb4d78 base-files: set MAC for bridge ports (devices) instead of bridge itself
e410ef8389 hostapd: wolfssl: add RNG to EC key
f6d8c0cf2b wolfssl: always export wc_ecc_set_rng
56228e9393 ath79: don't autodetect AR8033 PHY capabilities
2e157714a8 build,json: fix generation with empty profiles
8add3e139c build: preserve profiles.json between builds
All targets now use OpenWrt device abstraction. Thus, all targets now
can be built using a per-device RootFS.
Signed-off-by: David Bauer <mail@david-bauer.net>
In case the limit_ingress or limit_egress options are not present in
gluon's mesh_vpn section the respondd provider compares a string literal
with a NULL pointer, crashing respondd.
Check both pointers prior to comparing them in order to mitigate this
issue.
Suggested-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
1c90bc08a banip: remove logd dependency
ad6476b4f Merge pull request #15728 from stangri/19.07-https-dns-proxy
2b0cb41c0 https-dns-proxy: 2021-05-14 bugfix: fallback to HTTP/1 by default
e8c0e3c20 netdata: update to version 1.30.1
e23677d86 Merge pull request #15717 from stangri/19.07-https-dns-proxy
b28e2c763 https-dns-proxy: update to 2021-05-14-1; bugfixes for dhcp server backup
2543c33b0 syslog-ng: update to 3.32.1
e05c97a19 nano: update version to 5.7
91e1399cf nextdns: Update to version 1.32.1
9fd4ed8af bind: bump to 9.16.15
aebeefcd5 zerotier: update to 1.6.5
18b564ef5 Merge pull request #15509 from hswong3i/openwrt-19.07-SQUID_enable-ssl-crtd
ad6712d42 squid: Enable dynamic SSL certificate generation
439da3db8 mosquitto: fix log_type config support
221785358 ksmbd-tools: update to 3.3.9
3412c7a45 dnscrypt-proxy2: sync blocked-names to upstream one
139217f8a dnscrypt-proxy2: upgrade to 2.0.45
27678dc75 adblock: fix polish source URL
e426ad56b Merge pull request #15477 from rs/nextdns-1.32.0-openwrt-19.07
6027afee1 nextdns: Update to version 1.32.0
afed88b48 Merge pull request #15468 from rs/nextdns-1.12.5-openwrt-19.07
f1e6b878f nextdns: Update to version 1.12.5
11dc84032 irqbalance: upgrade to version 1.8.0
287154116 pulseaudio: update to 14.0
3bdf75bd2 pulseaudio: fix compilation without deprecated OpenSSL APIs
ba0558e8a pulseaudio: fix compilation with ICONV_FULL
1248994b9 pulseaudio: Update ARM NEON/VFP detection
4021cb65a pulseaudio: do not build NEON with unsupported platforms
8eb7d95ba pulseaudio: add lto and gc-sections to reduce size
15fb6ec36 pulseaudio: fix pkgconfig paths
eac2ca1c6 pulseaudio: update to 13.0
f0aa4486a pulseaudio: Backport upstream patch
e5701228c Merge pull request #15384 from VolunteerComputingHelp/openwrt-19.07
8ca4ab69e Merge pull request #15413 from luizluca/19.07/ruby-2.6.7
5c16a052f ruby: update to 2.6.7
807e088bb netdata: disable shared memory totals by default
09ba05583 https-dns-proxy: bugfix: race condition with dnsmasq
0072fc533 boinc: Transfer v7.16.16 from 21.02 to 19.07
ba1a801f7 adblock: fix games_tracking source url
1cf2e3530 Merge pull request #15254 from dibdot/19.07
74c8fb403 travelmate: minimal change to fix cp detection
56e1674ef rpcd-mod-lxc: add postinst to reload rpcd on update/installation
560a0ea2b ksmbd-tools: update to 3.3.8
0863ab323 ksmbd-tools: Add a mDNS TXT record for the ksmbd service
52d3ce0f6 ksmbd-tools: update to 3.3.7
f275b3f41 ksmbd-tools: update to 3.3.6
ba329c4ea ksmbd-tools: update to 3.3.5
055b1cd58 nut: fix typo in nutshutdown script
e88b4d873 netdata: update to version 1.29.3
f6bc822ff syslog-ng: update to version 3.31.2
Signed-off-by: David Bauer <mail@david-bauer.net>
This fully abstracts VPN methods, making gluon-mesh-vpn-fastd and
gluon-mesh-vpn-tunneldigger completely self-contained.
Provide a LUA interface for generic interacting with VPN methods in
gluon-mesh-vpn-core and web packages.
This also adds the ability to install tunneldigger and fastd to the same
image, selecting the VPN method based on the selected domain.
Signed-off-by: David Bauer <mail@david-bauer.net>
Simplify the individual form providers by always running reconfigure. This
also commits all UCI packages, so we can remove all tracking of UCI
sections from the wizard code.
Instead of returning a list of packages to commit, the providers just
save their settings directly. Explicit runs of upgrade scripts are
removed, as they are now run by reconfigure.
This add support for a write() method on sections, in addition to the
value and form level write(). write() is only called when the section is
valid and visible. In addition, write() is empty by default, so it can be
overridden more easily.
Before this commit the decision whether a vxlan layer will be
introduced between the lower interface before the interface is
added to batman was inside the proto. Now the decision is moved
to the user of the proto.
Add a package for handling upgrade-scripts speific for the WAN radio
operation.
This way, the config mode interface can be removed seperately from the
core functionality to perform tasks on system upgrade. This can be
useful when the setup-mode is removed entirely for space preservation.
Allow the transmission of IPv6 multicast packets as long as they are not
flooded through the whole mesh.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This mark prevents a multicast packet being flooded through the whole
mesh. The advantage of marking certain multicast packets via e.g.
ebtables instead of dropping is then the following:
This allows an administrator to let specific multicast packets pass as
long as they are forwarded to a limited number of nodes only and are
therefore creating no burdon to unrelated nodes.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Set the ifname for the WAN radio (Private WLAN) to wanX, X being the
radio index.
All other radios created by Gluon already have their ifname defined
following this pattern.
Signed-off-by: David Bauer <mail@david-bauer.net>
Currently we do not perform CI firmware builds on the next-2102 branch.
Build Gluon for all branches starting with "next" to increase the
coverage of our build tests.
Signed-off-by: David Bauer <mail@david-bauer.net>
The rudimentary flash size determination function expects the partition
for the devices firmware to be called "linux" while it is (since quite
some time) "firmware".
Fix this error to display available flash size as well as more useful
error message in case the uploaded firmware image exceeds the flash
space.
Signed-off-by: David Bauer <mail@david-bauer.net>
With batman-adv 2020.4 and the according backports to batman-adv v2019.2
several more bugs were found and fixed regarding the batman-adv
multicast optimizations feature.
Also a "wakeup-call" feature was added to the Linux bridge IGMP/MLD
snooping code in Gluon to work around issues with Android devices.
With batman-adv now at v2019.2, multicast-to-multi-unicasts conversion
is supported, too. Which means that even if there are a few outdated nodes
these and all other recipients will be served multicast packets via unicast,
too, as long as the sum of receiving nodes does not exceed the multicast
fanout setting (default: 16). If is exceeded, then batman-adv will revert
back to broadcast flooding automatically.
Long story short, with all these extra measures in place, let's reenable
the batman-adv multicast optimizations to reduce the layer 2 overhead
and in preparation for multicast applications in the future.
The default is enabled for this feature anyway, so removing the
"batctl multicast_mode 0" overwrite is sufficient.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Formats:
- Restructured Text
- JSON
- MarkDown
Specific Files:
- .ecrc
- CMakeLists.txt
Ignore:
- /patches/ directory, we will not be editing foreign patches for their
indentation
Explains the behaviour when DATE is either in the future or in the past
and hints at how the firmware rollout can be controlled using the
PRIORITY variable.
Co-Authored-By: Martin Weinelt <martin@darmstadt.freifunk.net>
* apt is meant for user interactive usage. apt does not guarantee a stable CLI.
* set DEBIAN_FRONTEND=noninteractive to tell apt-get that no user interaction is wanted
End the process after one result in case -l is not given
and destination address is unicast.
Reduces singleshot execution time from timeout seconds to around 150ms.
resolves#2184
Upstream removed the factory images for the Archer C20 v1 as they
potentially brick the device. Remove them from Gluon to avoid build
failures on the next OpenWrt 19.07 bump.
Signed-off-by: David Bauer <mail@david-bauer.net>
e26b474 Merge pull request #644 from ecsv/batadv-for-19.07
369908c alfred: Start up alfred without valid interfaces
97e7600 alfred: Fix procd process handling for disable state
0a3432d Merge pull request #636 from ecsv/batadv-for-19.07
596dc84 batman-adv: Merge bugfixes from 2021.0
862a2df batctl: Merge bugfixes from 2021.0
fec1aa6dfb mt76: update to the latest version
224fa47bf9 ramips: mark toggle input on EX6150 as a switch
3a05aa17db mac80211: Remove 357-mac80211-optimize-skb-resizing.patch
171d8bce0c ramips: remove factory image for TP-Link Archer C2 v1
2eb8444363 ath79: fix USB power GPIO for TP-Link TL-WR810N v1
d5a8e85878 wolfssl: Backport fix for CVE-2021-3336
cf5e5204d9 bcm63xx: sprom: override the PCI device ID
4465b44fc1 kernel: bump 4.14 to 4.14.219
4b9ade65ec bcm63xx: R5010UNv2: fix flash partitions for 16MB flash
ab9cb390be hostapd: fix P2P group information processing vulnerability
1e90091c5d opkg: update to latest git HEAD of branch openwrt-19.07
312c05611b kernel: bump 4.14 to 4.14.218
3100649458 wolfssl: enable HAVE_SECRET_CALLBACK
e9d2aa9dc6 wolfssl: Fix hostapd build with wolfssl 4.6.0
2044c01de8 wolfssl: Update to v4.6.0-stable
5ac0b2b431 mvebu: omnia: make initramfs image usable out of the box
[ Upstream commit 851d0a73c90e6c8c63fef106c6c1e73df7e05d9d ]
From: Joseph Huang <Joseph.Huang@garmin.com>
When enabling multicast snooping, bridge module deadlocks on multicast_lock
if 1) IPv6 is enabled, and 2) there is an existing querier on the same L2
network.
The deadlock was caused by the following sequence: While holding the lock,
br_multicast_open calls br_multicast_join_snoopers, which eventually causes
IP stack to (attempt to) send out a Listener Report (in igmp6_join_group).
Since the destination Ethernet address is a multicast address, br_dev_xmit
feeds the packet back to the bridge via br_multicast_rcv, which in turn
calls br_multicast_add_group, which then deadlocks on multicast_lock.
The fix is to move the call br_multicast_join_snoopers outside of the
critical section. This works since br_multicast_join_snoopers only deals
with IP and does not modify any multicast data structures of the bridge,
so there's no need to hold the lock.
Steps to reproduce:
1. sysctl net.ipv6.conf.all.force_mld_version=1
2. have another querier
3. ip link set dev bridge type bridge mcast_snooping 0 && \
ip link set dev bridge type bridge mcast_snooping 1 < deadlock >
A typical call trace looks like the following:
[ 936.251495] _raw_spin_lock+0x5c/0x68
[ 936.255221] br_multicast_add_group+0x40/0x170 [bridge]
[ 936.260491] br_multicast_rcv+0x7ac/0xe30 [bridge]
[ 936.265322] br_dev_xmit+0x140/0x368 [bridge]
[ 936.269689] dev_hard_start_xmit+0x94/0x158
[ 936.273876] __dev_queue_xmit+0x5ac/0x7f8
[ 936.277890] dev_queue_xmit+0x10/0x18
[ 936.281563] neigh_resolve_output+0xec/0x198
[ 936.285845] ip6_finish_output2+0x240/0x710
[ 936.290039] __ip6_finish_output+0x130/0x170
[ 936.294318] ip6_output+0x6c/0x1c8
[ 936.297731] NF_HOOK.constprop.0+0xd8/0xe8
[ 936.301834] igmp6_send+0x358/0x558
[ 936.305326] igmp6_join_group.part.0+0x30/0xf0
[ 936.309774] igmp6_group_added+0xfc/0x110
[ 936.313787] __ipv6_dev_mc_inc+0x1a4/0x290
[ 936.317885] ipv6_dev_mc_inc+0x10/0x18
[ 936.321677] br_multicast_open+0xbc/0x110 [bridge]
[ 936.326506] br_multicast_toggle+0xec/0x140 [bridge]
Fixes: 4effd28c1245 ("bridge: join all-snoopers multicast address")
Signed-off-by: Joseph Huang <Joseph.Huang@garmin.com>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Link: https://lore.kernel.org/r/20201204235628.50653-1-Joseph.Huang@garmin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[linus.luessing@c0d3.blue: backported to 4.4]
This device is a dual 5GHz device. It is recommended to manually change the
radio of the first device to the lower 5GHz channels and the second radio
to the upper 5GHz channels
Fixes respondd on 64bit archs, as gluonutil_get_primary_domain() was
assumed to return int without the prototype.
Fixes: bcf57467dd ("libgluonutil: implement gluonutil_get_primary_domain()")
This adds the OpenWrt label-mac device selection as the most preferred
fallback.
While this is only used on OpenWrt 19.07 for backports, we can also use
the label-mac device when backporting device support. This way, we have
to deal with less device-sepcific code downstream.
Signed-off-by: David Bauer <mail@david-bauer.net>
b14eeccdfe ath79: image: fix initramfs for safeloader devices
cb58c7fe73 kernel: bump 4.14 to 4.14.212
fb52c40531 wireless-regdb: Update to version 2020.11.20
7711a5906a wireless-regdb: bump to latest release 2020-04-29
c03f018220 openssl: update to 1.1.1i
0a59e2a76e mac80211: Update to version 4.19.161-1
3f5fecfd33 ramips: enable LED VCC for Asus RT-AC51U
This switches the used wireless daemons for OWE / SAE to the OpenSSL
flavors. The WolfSSL implementation currently seems to be broken.
THis switch may be reverted at a later point in time when hostapd /
wpa_supplicant implementations for WolfSSL have matured.
d830403133 toolchain: kernel-headers: kernel Git tree mirror hash
8c2bb1d9b6 toolchain: kernel-headers: fix check target for kernel Git tree
a47caacaf3 download.pl: properly cleanup intermediate .hash file
605adb1023 download: handle possibly invalid local tarballs
5abe989475 cmake.mk,rules.mk: fix host builds using CMake and ccache
77734ce82a cmake.mk: set C/CXX compiler for host builds as well
ebe8cc2b2a mvebu: fixup Turris Omnia U-Boot environment
f10332c292 mvebu: base-files: Update Turris Omnia U-Boot environment
ca1ee39854 mvebu: Add turris-omnia.bootscript
f61e053e72 uboot-envtools: mvebu: update uci defaults for Turris Omnia
f1525e785e kernel: backport GD25Q256 support from 4.15
c72b7a4f0d kernel: bump 4.14 to 4.14.209
c420f77678 wireguard-tools: fix category/description in menuconfig
b77fabe01 Merge pull request #13911 from ja-pa/libexif-sec-19.07
e74565a0b libexif: update to 0.6.22
68eb1943c mwan3: add missing dependency
b038148cc mwan3: Remove fork/exec for head
c5d61945f haproxy: Update HAProxy to v2.0.19
5b3870890 php7: update to 7.2.34
2bd627ec7 Merge pull request #13828 from jgora/jgora
d1d53a3ac xtables-addons: Support IPTV Timeshift
05efc24fd youtube-dl: update to version 2020.11.1.1
5db211c62 youtube-dl: update to version 2020.9.20
7b1ac9283 youtube-dl: update to version 2020.9.14
3a61338ab bind: update to version 9.16.8
2331de4ec libftdi1: disable building documentation
73c7bcb63 libftdi1: Fix pkgconfig paths properly
82208ceca libftdi1: Apply pkgconfig fixes to libftdipp1 as well
58b6d0ee5 libftdi1: Partially add back InstallDev
55e7acc25 libftdi1: Remove faulty change from last patch
45e7e13dc libftdi1: Don't build examples
089699b1e tinyproxy: convert to procd
39ce33461 tinyproxy: update to 1.10.0
b07f752e7 nextdns: Update to version 1.8.8
99e77a716 openconnect: allow specify --protocol from config
37303e1f0 adblock: update 4.0.7-2
5dbbb7ebf adblock: update 4.0.7
0c9206469 zoneinfo: Updated to the latest release
a9162448c zoneinfo: Updated to the latest release
abcbc5e1c zoneinfo: Updated to the latest release.
2a8279c161 layerscape: Fix check after kernel update
ac5297340e kernel: bump 4.14 to 4.14.206
589c3cf4e0 ath79: remove wmac mtd-mac-address for UniFi AC family
2a3dbded93 feeds: add freifunk feed
ad3c2b9736 ath79: use correct firmware name for UniFi AP
84ae238324 ramips: fix logic level for DIR-645 buttons
c25e3275ac ath79: fix LED labels for PowerCloud CAP324
78c4c04dd7 uci: Backport security fixes
3af9c5fefd uboot-envtools: mvebu: fix config for mainline u-boot
7fbee0c7b2 mvebu: Add bootscript for espressobin to support mainline firmware
14903d9d8c kernel: bump 4.14 to 4.14.202
03a029745f firmware: intel-microcode: update to 20200616
95d60bf881 firmware: amd64-microcode: update to 20191218
dda5e3db19 firewall: options: fix parsing of boolean attributes
7dd822983b kernel: bump 4.14 to 4.14.201
aee081e62e oxnas: fix qc_prep return in sata driver after kernel 4.14.200
6696fddfd9 mac80211: do not allow bigger VHT MPDUs than the hardware supports
9c718b5478 kernel: bump 4.14 to 4.14.200
b21bea7b1b ath79: ar8216: make switch register access atomic
891022918d scripts: getver.sh: fix version based on stable branch
8076fb59ab openssl: bump to 1.1.1h
f4286d7bc2 ath79: fix rssi-low LED for My Net Range Extender
d82e6a2f10 kernel: Update to version 4.14.199
86b44028e2 comgt: fix hotplug event handling
34a9652904 Revert "ramips: ethernet: fix to interrupt handling"
Build-tested: x86-64, ath79-generic, ipq40xx-generic
Use a manifest alias for the autoupdater image string of the Netgear
EX3700 / EX3800. This way, no unnecessary symlink is created and the
autoupdater functionality is preserved.
Gluon v2020.2.x uses fastd v19, so we keep that in a separate patch. The
fastd memory leak fix from v18 is not removed in this patch anymore, as
the fix is needed for v19 as well.
The v20 and v21 patches are squashed into one, as they aren't backports
anymore after the rebase onto current openwrt-19.07.
a2673dc53 fastd: fix buffer leak when receiving invalid packets
51bf00834 logrotate: update to version 3.17.0
8715cef64 logrotate: update to 3.16.0
acb77d5be python3: Update to 3.7.9, refresh/remove backported patches
4af889f20 travelmate: bugfix single radio mode
cb3bab180 netdata: update to version 1.26.0
70bb0b4c8 bind: update to version 9.16.7
d05698fae freeradius3: move "release_" from PKG_VERSION
93360e625 freeradius3: add meta-package for default modules
2f7338b62 python-urllib3: update to version 1.25.10 (security fix)
50a67ed74 nextdns: Update to version 1.8.6
b48575ef4 chrony: update to 3.5.1
35e6986a0 nextdns: mark /etc/config/nextdns as configuration file
418e3b294 simple-adblock: config update file fix
9ac587ca8 libuv: update to 1.40.0
613d21085 nano: update to 5.3
992746571 btrfs-progs: update to version 5.7
cedba1ca2 btrfs-progs: update to version 5.6
25b2751f8 python-pytz: update to 2019.03
f3b424139 adblock: refresh blocklist sources
ec628b10d syslog-ng: bump version in config file
d0a74afad syslog-ng: tweak shell code of network_localhost little bit
f705a5a93 python-sentry-sdk: Update to version 0.12.3
2976a5a0e haproxy: Update HAProxy to v2.0.18
eec7bd646 tor: update to version 0.4.4.5
91af4cf72 mariadb: Update to the latest version from 10.2 branch
9461ae47a Werkzeug: Update to version 0.16.0
f9d9ae8c8 Flask: update to version 1.1.2
4a833e3a8 Flask: Update to version 1.1.1
a4534f160 gstreamer1: enable build options necessary for most applications
8a71cdd6a python-ifaddr: update to version 0.1.7
05ea7dfc6 nextdns: Update to version 1.8.5
9069ad925 ipmitool: fix CVE-2020-5208
826fc8921 nextdns: Update to version 1.8.4
ac7f78285 openconnect: updated to 8.10 to address CVE-2020-12823
3f0e26637 python-zeroconf: update to version 0.28.0
fe7ceaa65 python-zeroconf: update to version 0.24.4
49459505e mwan3: fix typo in mwan3_set_sticky_iptables
cae961784 ocserv: include ocserv-worker
2af61c9a4 vpnbypass: README update, code cleanup
b00feac4b ocserv: updated to 1.1.1
c614914da miniupnpd: add miniupnpd ipv6_disable option, #11971 close
70e57317b simple-adblock: add config auto-update feature
94866d76a collectd: update to 5.12.0
b60fa2de9 collectd: update PKG_RELEASE
aeefbbe34 collectd: remove quotation on interval this is an number
b0ad32a3e collectd: move include line
fbe7abcd5 collectd: update PKG_RELEASE
f53b79ced collectd: fix ubi data source type
67a403bfe collectd: add ubi uci and plugin info
37335cf65 collectd: enable ubi plugin
Some newer MT7628 based routers (notably the TP-Link Archer C50 v4) are
shipped with a chip-id of 0x7600 in the on-flash EEPROM. Add this as a
possible valid ID.
This fixes unstable WiFi on some units of the TP-Link Archer C50 v4.
Implement a configurable MLD Querier wake-up calls "feature" which
works around a widely spread Android bug in connection with IGMP/MLD
snooping.
Currently there are mobile devices (e.g. Android) which are not able
to receive and respond to MLD Queries reliably because the Wifi driver
filters a lot of ICMPv6 when the device is asleep - including
MLD. This in turn breaks IPv6 communication when MLD Snooping is
enabled. However there is one ICMPv6 type which is allowed to pass and
which can be used to wake up the mobile device: ICMPv6 Echo Requests.
If this bridge is the selected MLD Querier then setting
"multicast_wakeupcall" to a number n greater than 0 will send n
ICMPv6 Echo Requests to each host behind this port to wake
them up with each MLD Query. Upon receiving a matching ICMPv6 Echo
Reply an MLD Query with a unicast ethernet destination will be sent
to the specific host(s).
Link: https://issuetracker.google.com/issues/149630944
Link: https://github.com/freifunk-gluon/gluon/issues/1832
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
* ar71xx-generic: only create manifest alias for Rocket M5
This follow up the discussion done in #2070 by not creating a symlink
for the Rocket M5. Images for the Rocket M2 can still be flashed on a
Rocket M5.
This change will prevent the Rocket M5 from appearing in Firmware
selectors. Existing devices will still receive updates, as the device
name is still referenced for the device name expected by the M5.
Closes#2070
* docs: remove Rocket M5 from supported devices
Specifications:
* SoC: MT7620A
* RAM: 64 MB DDR
* Flash: 8MB NOR SPI flash
* WiFi: MT7612E (5Ghz) and builtin MT7620A (2.4GHz)
* LAN: 1x100M
The -factory images can be flashed from the device's web
interface or via nmrpflash.
Both devices differ by a additional power outlet for the EX3800.
This patch has been tested on a EX3800 device.
03425a0d2 zmq: fix compilation when libbsd is present
8bb1d13a9 pigeonhole: update to 0.5.11
86da3bbeb zmq: update to version 4.3.3 (security fix)
e72b47469 zmq: fix the installed files
48339ba10 zmq: fix pkgconfig file
ef30f8bf8 zmq: update to 4.3.2
a7d129fc2 zmq: switch to building with CMake
a4cbd04df libxml2: patch security issues
207660987 net/u2pnpd: convert init to procd
2d410422c freeradius3: fix hostname invocation in radtest
066ac0392 freeradius3: enable radtest utility
338fa663c samba4: update to 4.11.12
399e1a0bf youtube-dl: update to version 2020.9.6
7825df65f msmtp: update to version 1.8.12
eb8130508 dovecot: disable zstd
538647a26 syslog-ng: update to version 3.29.1
473ca554f php7: update to 7.2.33
62171036b nextdns: Update to version 1.8.3
953de3ca8 gnutls: update to version 3.6.15 (security fix)
d515d9c35 dovecot: update to version 2.3.11.3 (security fix)
a2634c264 nextdns: Update to version 1.8.2
1cf41a88c python-rsa: downgrade to version 4.5 for python2
54847cc7c unbound: improve odhcpd rapid update robustness
d17720f04 htop: update to 3.0.1-1
d953d80bf htop: update to 3.0.0-1
af4cd94a2 htop: fix compilation with GCC10
7af8eaad1 python-rsa: update to version 4.6 (security fix)
8b0457c55 knot: update to version 2.9.6
f2edf8c53 git: update to version 2.26.2 (security fix)
99d0878d0 python,python3: Use locked for host pip
791e0bc76 nano: update to 5.2
3c6b45ab3 clamav: update to version 0.102.4 (security fix)
0202fdc27 clamav: update to version 0.102.3 (security fix)
c5c0e2e33 clamav: update to 0.102.2
9700cea70 bind: New upstream version 9.16.6
256a631d9 bind: update to 9.16.4
ac79fde24 simple-adblock: bugfix: update config; use command -v
4e1bfa748 nspr: update to version 4.27
120ff2c63 nspr: nspr add -flto to compile
847ed6e0f nspr: fix compilation with newer musl
2f58b610d nspr: update to 4.25
fab10b8df nss: update to version 3.55 (security fix)
7c3b05d33 nss: update to 3.53
46d315d31 nss: fix build for mips64 disable arm32_neon on unsupported target
638b1642e nss: revert -flto change it seems that it can lead to segfault in libfreebl3.so
be95fcb78 nss: add -flto and makefile cleanup
f0e6ceff3 nss: update to 3.52
e5d732722 nss: update to 3.51.1
e713f74b7 nss: update to 3.51
d2efcd926 nss: update to 3.50
6a3d05272 nss: update to 3.49.2
5e371c2d5 libffi: fix build failure on powerpc platforms
0413252f3 libffi: update to 3.3
70faa62f3 libffi: do not build in a special directory
9ec9bea25 net/mosquitto: Update to 1.6.12
2f7867074 python3: fix rebasing error
769d51fa9 python: fix host compilation with clang
37857a3f2 python3: fix host compilation with clang
b28c614d3 lvm2: fix CE in mac
The performance benefit the cache brought was due to a broken sources
CDN mirror handling in OpenWrt.
The cache brings no measurable performance benefit. Disable it to slim
down the pipeline steps.
This renames the local_client zone to loc_client, as local_clint exceeds
the maximum zone length allowed for firewall3, which is 11 bytes.
This worked previously due to firewall3 using unsafe string operations.
Now creation of the chain fails (latest OpenWrt master).
2d7ea69dd3 mac80211: Fix potential endless loop
5a1e4a7fdb oxnas: reduce size of ATA DMA descriptor space
19b8696dd7 mbedtls: update to 2.16.7
a2a75c21bd kernel: Update kernel 4.14 to version 4.14.195
8b0278a17e ath79: add support for TP-Link TL-WR710N v2.1
33973a90dc tools/tplink-safeloader: use soft_ver 1.9.1 for archer c6 v2
fce5101469 tplink-safeloader: update soft_ver for TP-Link Archer C6 v2 (EU)
350883bb90 Revert "scripts/download: add sources CDN as first mirror"
d8ecaef409 generic: platform/mikrotik: fix incorrect test
008db6b970 ath79: enable gpio on ar933x by default
3df63fba70 ath79: fix syntax error in ar7240_tplink_tl-wa.dtsi
be09fdbf36 ath79: ar724x: make sure builtin-switch is enabled in DT
5d3e5d6ccc ath79: WNR612v2: improve device support
fba9a88821 ath79: add LAN LEDs control bits for AR724x GPIO function pinmux
This adds an important bugfix for BATMAN V users
("batman-adv: Fix own OGM check in aggregated OGMs").
b77498bd56 Merge pull request #603 from ecsv/batadv-for-19.07
6dea537c07 batman-adv: Merge bugfixes from 2020.3
0e5c75f536 Merge pull request #601 from bluewavenet/openwrt-19.07
ad8f02a4aa opennds: Backport v5.2.0
017d89d569 batctl: Enable build of mcast_flags subcommand
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This allows running a respondd querier and map server behind a Gluon
node.
For instance at Freifunk Lübeck we now moved the map server
behind a Gluon VM and removed batman-adv and fastd from the
map server VM to reduce the maintenance work.
Increased multicast overhead should be minimal / non existent, as it is
unlikely to accidentally have respondd queriers running behind a Gluon
node.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
All defined features need to be known at the same time, otherwise handling
a feed-provided feature definition file would add gluon-web-advanced etc.
to the package list when the corresponding feature flags appear in
GLUON_FEATURES.
Fixes: ee5ec5afe5 ("build: rewrite features.sh in Lua")
The rewrite of the feature handling introduced multiple major bugs. One
of them was caused by the way Lua's logical operators work:
An expression of the form
_'autoupdater' and _'web-advanced'
would return 'web-advanced' rather than the boolean true when _ returned
both strings unchanged (because the features are enabled).
As entries with more than a single feature name in their expressions did
not set no_default, Gluon would then attempt to add gluon-web-advanced to
the package selection, as web-advanced is a "pure" feature.
To fix this, and get rid of the annoying nodefault, separate handling of
"pure" feature and handling of logical expressions into two separate
functions, called feature() and when(). To simplify the feature
definitions, the package list is now passed directly to these functions
rather than in a table with a single field 'packages'.
Fixes: ee5ec5afe5 ("build: rewrite features.sh in Lua")
Print a proper error message, rather than just
openwrt/staging_dir/hostpkg/bin/lua: scripts/feature_lib.lua:48: bad
argument #1 to 'setfenv' (integer expected, got nil)
Forgetting to `make update` or leaving uncommitted changes in the
repositories managed by Gluon is a recurring cause of confusion, even
for experienced developers. Let's print an obvious warning message in
this case.
The new options are CONFIG_GLUON_AUTOUPDATER_BRANCH and
CONFIG_GLUON_AUTOUPDATER_ENABLED and allow to control the default branch
and default enable status separately.
The `or ''` fallback in targets/generic is removed, as GLUON_ENV will
set all variables in GLUON_VARS, making previously non-existing
variables exist with an empty value.
We already have a proper message when the creation of an alias fails
because of a name conflict. Also add a message when the primary filename
of a domain config is already occupied by another domain's alias.
Also add an 'Error:' prefix to the existing message to easier to see.
site_code is evaluated early during config generation, so a site.conf
without site_code would hit this assertion that just printed 'Assertion
failed'. Add a proper error message to tell users what went wrong.
The inner assert() is removed, as it should never be hit (as site.conf
syntax will have already been validated when this script runs), and it
doesn't add anything (even without the assert, the attempt to index a
nil value would throw an error).
Reorder scripts so that the mesh_lan interface is accounted for.
Two other firewall upgrade scripts (mesh-babel and l3roamd) are
reordered as well. While there seems to be no hard dependency at the
moment, it makes sense to run the basic setup first, also to avoid
problems with future changes.
Closes: #2090
Fixes: ed094bc68c ("gluon-core: firewall: Allow custom gluon_wired interfaces (#2041)")
The packages necessary to get the DSL modem working increase the
squashfs size by around 1MB.
Remove them from Gluon, as this functionality is not supported.
This adds the wireless client count for 2.4GHz and 5 GHz radios to the
status page. Previously, only the total client count advertised by
the mesh protocol was visible.
cd2de9dc5 net/pagekitec: Update to v0.91.200718
d7b38d736 simple-adblock: README and config update
0d8f39a36 tor: fix init scripts
a21ffc8eb tor: update init script
30f5119a4 netatalk: fix compile error in mac os
8658203e6 gerbera: fix conffiles
83e58b67d youtube-dl: update to version 2020.7.28
98480822e youtube-dl: update to version 2020.6.16.1
f384d8d78 youtube-dl: update to version 2020.6.6
65d98a79f youtube-dl: update to version 2020.5.29
010b5e6fb youtube-dl: update to version 2020.5.8
b32500958 mwan3: update version to 2.8.12
5f934c667 mwan3: unify variable check
138d02cfc mwan3: remove lock file entirely
520eeb080 mwan3: revert: also cleanup lock on mwan3 stop
294e7503b mwan3: fix race condition on mwan3 restart
e8e290e0f gerbera: enable matroska and ffmpeg
f73b1da1a libmatroska: update to 1.6.0
16d65196a libmatroska: add
18b9aeb4c libebml: update to 1.4.0
39abfa8d7 libebml: add
5bfc1c9cf mwan3: update version to 2.8.11
e02cac815 mwan3: add online and uptime to detail output
538d2fd7c mwan3: add workaround for procd change
b340df682 mwan3: also cleanup lock on mwan3 stop
b5ed0033c mwan3: fix rtmon routing table function generation
2c89e14c3 mwan3: fix IPv6 routing add handling
447d51edb mwan3: fix idx calculation
37e2f8820 mwan3: version bump
b9e346125 mwan3: cleanup duplicate ipv4 and ipv6 logic
db46d3ab0 mwan3: don't send iptable setup failures to /dev/null
383555d07 mwan3: add default rule for ipv6 in example config
dc25b38f1 mwan3: don't try to use ipv6 if not installed
ec45ff805 mwan3: be more efficient with sleep after killing trackers
d6b051b8c mwan3: don't add single ipv4 to connected list if already covered by a cidr
f834ba0fc mwan3: update version to 2.8.9
2f2044ecb mwan3: cleanup function mwan3_create_iface_route
db3c8326f mwan3: fix shellcheck warning SC2086
7d0f2cdb6 mwan3: fix shellcheck warning SC2166
c0b111fea mwan3: remove unused variable complained by shellcheck
3443eb3c7 mwan3: fix shellcheck warning SC2039
be8f287aa mwan3: move redirect error output to trash
08111b9c7 nextdns: Update to version 1.7.1
3272114cc mc: update to 4.8.25
a2b02f67d netdata: update to version 1.23.2
80a38c595 admin/netdata: Update to 1.22.1
76b143e00 netdata: update to version 1.20.0
f29fdc7c2 liblz4: fix previous patch
b40a139fb meson: allow compilation in a subdirectory
9d03a1ea5 liblz4: add patch removing distutils requirement
5f22b6c38 liblz4: convert to meson
345cb18d4 tor: update to version 0.4.2.8 (security fix)
da4a05296 mocp: disable ffmpeg
9b0e858c0 mpd: update to 0.21.25
7b269ec49 dovecot: remove incorrect PKG_BUILD_DEPENDS
14c248274 faad2: update to 2.9.2
f593c37cd xz: update to 5.2.5
97842ae44 zstd: fix compilation without host distutils
00f29de5f zstd: update to 1.4.5
1dc0c3b79 zstd: remove lto and as-needed flags
01abd5d37 zstd: convert to meson
6ae076fd1 aria2: Build with MIPS16
2cdf132b9 aria2: Update to 1.35.0
5200d6449 libvorbis: update to 1.3.7
e798f539c msmtp: update to version 1.8.11
780c45377 msmtp: update to version 1.8.10
0821c5001 squid: update to version 4.12
5658fd93f squid: fix 'localhet' typo in squid.conf
3b285bfaa quasselc: fix compilation with newer glib2
2c6155c9c gkrellmd: update to 2.3.11
fa49751a8 sumo: Update to 1.3.1
ddb0af406 python3: Backport security fixes
1a527963c golang: Update to 1.13.14
54b76dfd7 haveged: update to 1.9.13
984a32fff libvorbisidec: update to version 20180319
fb687b542 dnscrypt-proxy2: update to version 2.0.44
5ed85c038 openvswitch: bump to version 2.11.3
6a0eeda77 getdns: fix compilation without deprecated OpenSSL APIs
805c1344e getdns: properly remove libbsd support
cc0eb59f4 ntpd: update to version 4.2.8p15 (security fix)
fe32da084 python3-maxminddb: Fix build when using newer setuptools
4b0c1f871 python3: Use default _PYTHON_HOST_PLATFORM
86d2bfe02 mwan3: Fix mwan3 start not doing anything Due to a missing config load function call, mwan3 start runs ifup for an empty list of interfaces, thus not calling ifup at all.
b74d5e9c1 mwan3: update version to 2.8.7
4f394c259 mwan3: set status to unknown in rpcd if status file not found
f7749c663 mwan3: switch to procd init script
0498a2b35 mwan3: address reviewer comments on 5147dfc7
cc1bb3e8b mwan3: Use /128 for ipv6 if no other source address was found
74b6f1084 mwan3: Allow user to specify rules based on source interface
c14e74a5a mwan3: Do not mangle outgoing ipv6 pings
465baa46c mwan3: version bump to 2.8.6
19bebd3d8 mwan3: force busybox ping
ffce45e36 mwan3: don't add ipv6 link local address to routing tables
a3c399d01 mwan3: reduce calls to `ip route list'
4af28cc68 mwan3: Update Makefile
0693f0c9e mwan3: Don't use /128 address for ping source
7434c91c5 stubby: add build dependency on check package
140e2ea19 stubby: update to version 0.3.0
048a39258 getdns: update to version 1.6.0
0c03b71b8 samba4: update to 4.11.11
28b5a2b04 mc: fix mouse handling
9b3ce06b9 travis: improve build config
2461e7978 travis: Use Ubuntu 20.04 LTS - Focal Fossa
d7bec1b0f travis: Use Ubuntu (Bionic Beaver) 18.04 LTS
a80754337 travis: use mpc85xx-p2020 sdk instead of ar71xx
2a9998771 travis: Download SDK from OpenWrt instead of LEDE
b80db2c80 bind: add nslookup alternative to busybox nslookup
3c3a1f761 bind: update to version 9.16.3
177623c5f bind: update to version (security fix)
b73f479ea bind9: update to 9.16.1
d78bdbd8a python3: Update to 3.7.8, refresh/rework patches
c7495a200 syslog-ng: detect disabled IPv6 on loopback and fallback to IPv4
cd080dded miniupnpd: added libcap dependency
b418029e4 miniupnpd: update to 2.1.20200510
231e47185 miniupnpd: suppress grep and uci errors
5cb388497 miniupnpd: improve hotplug & interface handling
f49c2c71c stubby: fix handling of tls_port config option
f51ec94f8 acme: Bump release version
f7e03d127 acme: Handle ecc cert correctly
0e5b27324 acme: Handle log message correctly
4344723f8 https-dns-proxy: re-add conffiles and add description to Makefile
2c4644bf9 https-dns-proxy: bugfix: remove eDNS support
8044a7014 nextdns: Update to version 1.7.0
e1b8d033e irqbalance: fix socket directory and create it
4a129a996 treewide: add conffiles
ca6751a7d irqbalance: fix compilation for USE_GLIBC and BUILD_NLS cases
9bdd0f113 haveged: update to 1.9.12
45e78b34a Revert "ksmbd: update to 3.2.0, ksmbd-tools: update to 3.2.6"
1b1c2c598 haproxy: Update HAProxy to v2.0.15
fd3648a7b transmission: add access to web interface files to procd jail
054b87df4 transmission: add a disabled notification
8cb936731 transmission: update to 3.0
de86c989a upmpdcli: update to 0.4.6
9e108dcc7 upmpdcli: Update to 1.4.2
c82f63114 haveged: update to 1.9.11
445c3d8f8 perl: fix build failure in GCC10
456fc88c4 libtirpc: update to 1.2.6
b61848fd0 wsdd2: update to git 2020-05-06
de09918ac simple-adblock: racially-neutral names
5fcf2cb09 unbound: make option interface_auto default on
950646f6c unbound: bump PKG_RELEASE
ba19244b8 unbound: suggest matched domain option for dnsmasq link
72b0ea4b5 samba4: update to 4.11.9
d88405ba8 ksmbd: update to 3.2.0, ksmbd-tools: update to 3.2.6
1a0db6a21 softethervpn5: update to 5.01.9674
91be27471 rpcsvc-proto: update to 1.4.1
c0dce1d3a adblock: update 4.0.6
0ff5cb54e mpd: update to 0.21.24
982e7e2fa adblock: update 4.0.5-5
e2bd118b3 less: update ALTERNATIVES
53fc73b57 simple-adblock: remove obsolete dshield.org links from config
a93ea48b2 golang: Update to 1.13.12
49685b6be collectd: sqm_collect: tidy interval string handling
9a38e786f collectd: sqm_collectd: improve error handling
f89580290 collectd: Improve sqm_collectd error reporting
8dcc144b9 collectd: sqm_collectd improve interface name filter
18128f79d collectd: bump PKG_RELEASE
7ceb83acf collectd: SQM collect data from some qdiscs
9f20fbba5 collectd: add syslog json plugin
fdf5d41b5 rrdtool1: modify logarithmic scale labelling
e667100a9 knot: update to version 2.9.5
aef8cb50f knot: disable libcap-ng
550fa7c28 knot: update to version 2.9.3
1fe19e712 linuxptp: fix build failure
267b49087 sslh: use tls option instead of deprecated ssl
37f5ae61b gnutls: updated to 3.6.14
3efdcd808 mpd: enable id3tag for all builds
f0fd4c151 nextdns: Update to version 1.6.4
18efcda21 simple-adblock: bugfix: proper error reporting on failed downloads; lists update script
86727bd158 hostapd: improve TITLE for packages
bf58bfb90e mediatek: mt7623: fix sysupgrade from vendor OpenWrt on UniElec U7623
2147c33e40 mediatek: mt7623: add explicit console= to U7623 kernel
8fbe450e40 curl: patch CVE-2020-8169
7d6e504dbe make_ext4fs: Update to version 2020-01-05
a225164bb5 make-ext4fs: update to HEAD of 2017-05-29 - eebda1
afaa978b74 firewall: backport patch for mss clamping in both directions
a2c9fc9ff0 ath79: correctly define WiFi switch for TL-WR841ND v8
7022f1eb13 bcm47xx: fix switch setup for Linksys WRT610N v2
fba22d89a9 tplink-safeloader: expand support list for TP-Link CPE210 v3
a785aed70e lantiq/xrx200: make WLAN button responsive on Fritzbox 7360 & 7362
4a9d6320af lantiq/xrx200: fix WLAN button actions for Fritzbox 3370
284cd7d18e lantiq/xrx200: make WLAN button responsive on Fritzbox 3370
2ca5a386ee vxlan: bump and change to PKG_RELEASE
e894e1b2f0 vxlan: fix udp checksum control
8c19171255 ipq40xx: fix ethernet vlan double tagging
b9a89bf7b5 build,json: fix compatibility with Python 3.5
9c0ad7f1d5 build: fix compatibility with python 3.6
78f57fbce6 build,json: fix build failure in case no data is found
270711b8ed build,json: store arch_packages in profiles.json
e3618eb2cc build: store default/device packages in JSON
3dbd74d032 imagebuilder: Remove json_info_files/ before build
8ea6be1510 kirkwood: support for button in Pogoplug V4
de75d6ecfa lantiq: dts: Move the &usb_vbus nodes out of &gpio
2d14da2c7d ar71xx: Fix mikrotik NAND compile problem
673e7944bb ar71xx: Fix mikrotik NAND compile problem
73e0ea1ea9 armvirt,x86: fix build breakage of crypto ccp module
d46650de7c nghttp2: bump to 1.41.0
9cad70044f kernel: fix nand_release() usage.
820f4654c6 wireguard: bump to 1.0.20200611
f4985a22ca kernel: Update kernel 4.14 to version 4.14.187
73fecd36bf mac80211: fix use of local variable
938839a565 scripts: JSON merge don't crash if no JSON found
3572711e3c build: refactor JSON info files to `profiles.json`
b7bac0737e build: image: fix build breakage of some images
8a0362c699 build: create JSON files containing image info
8293c8ed46 ath79: do not build TP-Link tiny images by default
670eeb7888 mediatek: fix IPv4-only corner case and commit in 99-net-ps
9c58f5d4ff bcm63xx: DGND3700v1: fix port order
ebefdf61ed ramips: increase SPI frequency for ELECOM WRC-GST devices
6b042217d7 mvebu: fix default EU regdomain for Linksys WRT AC devices
a2c556aa8f libnetfilter-queue: fix package title and description
8adbe26f6e base-files: remove urandom-seed definition
b40e6bc55f ath79: drop and consolidate redundant chosen/bootargs
153392e209 ath79: add support for TP-Link TL-WA801ND v3/v4
6520659870 uclient: update to 19.07 Git HEAD
b547542297 Revert "uclient: Update to version 2020-06-17"
0c910d8459 uclient: Update to version 2020-06-17
18cf2383b6 bcm63xx: a226m-fwb: fix linux partition offset
This backports two fixes related to operation on DFS-required
channels.
When a DFS-required channel was selected as the regular
(non-outdoor-mode) 5 GHz channel, hostapd would switch to a non-DFS
channel as OpenWrt did not pass a chanlist of allowed ACS channels.
When hostapd is given a single channel for the chanlist or there's no
available channel left (all allowed channels are in the no-occupancy
period), hostapd prints "no DFS channels left, waiting for NOP to
finish" to the syslog but never stopped transmitting on this channel,
still sending out beacon frames and allowing client data transfer.
This adds the ability to cache OpenWrt dependencies on a per-target
base. Artifacts over 10MB are excluded, as GitHub imposes a limit of 5G
of available space per repository cache. This affects mostly
linux(-firmware) and gcc / gdb.
The goal is to reduce the total amount of requests necessary to fetch
dependencies.
This will hide the outdoor mode setting on compatible devices in case
the defined channels should be preserved.
Otherwise a user might be under the impression their device is compliant
with outdoor operation when in reality it still uses prohibited
channels.
(cherry picked from commit 73b830eb32)
- #pragma once include guard
- include string.h to get memset and memcmp prototypes to fix respondd
provider build warning
(cherry picked from commit e32fa5bc64)
When the network connectivity is bad, routers may not appear in the
translation tables, or there may be no originator with TQ >0. Such
conditions to not warrant spamming the log with error messages.
(cherry picked from commit fcd07de676)
This will hide the outdoor mode setting on compatible devices in case
the defined channels should be preserved.
Otherwise a user might be under the impression their device is compliant
with outdoor operation when in reality it still uses prohibited
channels.
* build: target_config_lib: introduce concat_list helper
* build: rewrite features.sh in Lua
The `features` file is converted to a Lua-based DSL.
A helper function `_` is used in the DSL; this will return the original
string for enabled features, and nil for disabled features. This allows
to use boolean operations on features without making the code too
verbose.
Besides having more readable and robust code, this also fixes the bug
that all files `packages/*/features` were evaluated instead of only
using the feature definitions of currently active feeds.
* build: add luacheck support for package/features
The current manifest format was introduced with the new autoupdater in
Gluon v2018.1. Reduce the manifest size by 70% by removing the additional
manifest lines added for backwards compatiblity.
Replace the ugly arrow shown in Firefox with a custom SVG arrow. Tested
and working in Firefox, Chrome and Edge. The arrow doesn't show in IE, but
the gluon-web-model JavaScript is already severely broken in IE, so we
don't care.
When the network connectivity is bad, routers may not appear in the
translation tables, or there may be no originator with TQ >0. Such
conditions to not warrant spamming the log with error messages.
The `features` file is converted to a Lua-based DSL.
A helper function `_` is used in the DSL; this will return the original
string for enabled features, and nil for disabled features. This allows
to use boolean operations on features without making the code too
verbose.
Besides having more readable and robust code, this also fixes the bug
that all files `packages/*/features` were evaluated instead of only
using the feature definitions of currently active feeds.
This commit changes the behavior for the wan-dnsmasq to read the
interfaces to update the DNS servers on from flag-files.
This way, external custom packages which add a custom VPN WAN interface
can update the DNS server gluon is using for WAN resolving.
On lantiq, the default WAN ifname is 'dsl0' even on devices that have a
separate WAN port. At least on devices using swconfig we can override
this with the switch port labelled as 'wan'.
When the GTK is offloaded, MT7610 won't transmit any multicast frames.
This is most likely due to a bug in the offloading datapath. MT7612 is
not affected.
Disable GTK offloading for now. It can be re-enabled once the bug in the
offloading path is fixed.
Signed-off-by: David Bauer <mail@david-bauer.net>
This gives us WPA3 support out of the box without having to manually disable
hardware crypto. The driver will fall back to software crypto if the connection
requires management frame protection.
THis allows us to use WPA3 features (Private-WiFi SAE & OWE) on
ramips-mt7620.
When the GTK is offloaded, MT7610 won't transmit any multicast frames.
This is most likely due to a bug in the offloading datapath. MT7612 is
not affected.
Disable GTK offloading for now. It can be re-enabled once the bug in the
offloading path is fixed.
Signed-off-by: David Bauer <mail@david-bauer.net>
With very bad timing, it is possible that the teardown script of a
gluon_mesh interface runs when bat0 was just created, but primary0 is not
yet added to it. Although there is no hardif to remove in this case,
bat0 will still be deleted, because there is no hardif in bat0.
Disable the interface removal logic by passing `-M` to `batctl interface`.
(cherry picked from commit 92647cd47a)
With very bad timing, it is possible that the teardown script of a
gluon_mesh interface runs when bat0 was just created, but primary0 is not
yet added to it. Although there is no hardif to remove in this case,
bat0 will still be deleted, because there is no hardif in bat0.
Disable the interface removal logic by passing `-M` to `batctl interface`.
There is no setting to explicitly enable mesh interfaces in the config
wizard, so we need to enable mesh interfaces by default when the outdoor
mode is disabled (unless site.conf dictates otherwise).
The simplest way to achieve this is to delete the 5GHz mesh interface
sections when outdoor mode is disabled: 200-wireless would delete and
recreate them a moment later anyways, but by deleting them earlier we
ensure that the disabled status is initialized from site.conf again.
(cherry picked from commit 17bc622892)
When disabling outdoor mode, 5GHz mesh interfaces should be enabled by
default again (unless disabled in site.conf).
(cherry picked from commit d2052431dd)
Because is_disabled() was always returning true or false, the
first_non_nil() would never actually check the default setting from
site.conf. This was broken since v2017.1.
Fixes: 6cf03bab37 ("treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies")
(cherry picked from commit 3c2593b684)
Normally, we build all nonshared packages (which includes all kernel
modules) to generate an opkg feed for later package installations by
users. On targets without opkg, this just wastes time - disable it.
(cherry picked from commit b3edfd292a)
There is no setting to explicitly enable mesh interfaces in the config
wizard, so we need to enable mesh interfaces by default when the outdoor
mode is disabled (unless site.conf dictates otherwise).
The simplest way to achieve this is to delete the 5GHz mesh interface
sections when outdoor mode is disabled: 200-wireless would delete and
recreate them a moment later anyways, but by deleting them earlier we
ensure that the disabled status is initialized from site.conf again.
Because is_disabled() was always returning true or false, the
first_non_nil() would never actually check the default setting from
site.conf. This was broken since v2017.1.
Fixes: 6cf03bab37 ("treewide: replace normal uses of luci.model.uci with simple-uci to reduce LuCI dependencies")
Normally, we build all nonshared packages (which includes all kernel
modules) to generate an opkg feed for later package installations by
users. On targets without opkg, this just wastes time - disable it.
This gives us WPA3 support out of the box without having to manually disable
hardware crypto. The driver will fall back to software crypto if the connection
requires management frame protection.
THis allows us to use WPA3 features (Private-WiFi SAE & OWE) on
ramips-mt7620.
The interfaces should always exist and just be disabled when outdoor
mode is enabled. Not creating them at all leads to an issue in the
advanced wifi settings where an additional reload of the page is
necessary after enabling or disabling the ourdoor mode to make the mesh
VIF options appear or disappear.
(cherry picked from commit b15b008e69)
Instead of relying on the existence of interface sections only (which is
still used for the case of interface types that are not configured at
all in the site config), add a proper dependency.
This fixes section visiblity with enabled outdoor mode after the following
fix, and gives the user immediate feedback (allowing to disable outdoor
mode and enable meshing in a single step).
(cherry picked from commit d012d7d32f)
200-wireless will add or remove the mesh network sections of
/etc/config/network. Commit this file, so the modified setting doesn't
get lost on reboot.
Fixes: #2048
(cherry picked from commit 600ab99f80)
Always allow options set to builtin (=y) when modular setting (=m) is
expected. This can happen when a package is added explicitly (in a
target defintion or site.mk) that is also pulled in as a dependency of
another builtin package.
Fixes: 9e23534ec3 ("build: rework config generation")
Fixes: #2046
(cherry picked from commit 8b64517f1b)
With 11a3b56617 ("gluon-web-model: add dependency support for
sections"), a "reset" function was added to all model nodes. This
conflicts with the "reset" field of the Form object, making reset
buttons show labels like "function: 0xbb8d50" and possibly breaking form
processing when packages override the reset field.
The interfaces should always exist and just be disabled when outdoor
mode is enabled. Not creating them at all leads to an issue in the
advanced wifi settings where an additional reload of the page is
necessary after enabling or disabling the ourdoor mode to make the mesh
VIF options appear or disappear.
Instead of relying on the existence of interface sections only (which is
still used for the case of interface types that are not configured at
all in the site config), add a proper dependency.
This fixes section visiblity with enabled outdoor mode after the following
fix, and gives the user immediate feedback (allowing to disable outdoor
mode and enable meshing in a single step).
200-wireless will add or remove the mesh network sections of
/etc/config/network. Commit this file, so the modified setting doesn't
get lost on reboot.
Fixes: #2048
Always allow options set to builtin (=y) when modular setting (=m) is
expected. This can happen when a package is added explicitly (in a
target defintion or site.mk) that is also pulled in as a dependency of
another builtin package.
Fixes: 9e23534ec3 ("build: rework config generation")
Fixes: #2046
Validation errors are mostly handled in the frontend (by displaying
invalid fields with a red background). There was some code left in the
backend for handling different kinds of errors, and returning custom
error messages from validate(), but the resulting value was not used
anywhere.
- Add a dependency array to section template
- Lift dependency handling from AbstractValue to Node
- Split resolve_depends() into a function handling dependencies of a
node itself (resolve_node_depends()), which now is used for all nodes,
and the existing recursive descent through the node tree
- When any node's dependencies are not satisfied, all descendents are
reset recursively, meaning that an option in a section that is hidden
will always be ignored, as if the option's own dependencies were
unsatisfied
Fixes: #1349
- If luasrcdiet fails for a Lua script, this is a bug that should be
noticed rather than including the unminified script
- Use .tmp suffix for temporary file rather than .o
- Replace chmod + stat + mv with simpler cp + rm to overwrite file while
preserving file mode
This change stores a Kernel with Debug-Symbols for the current
architecture in a new output directory '<outputdir>/debug'.
This allows a developer or operator of a network to store the kernel
along with the actual images. In case of a kernel oops the debug
information can be used with the script
'scripts/decode_stacktrace.sh' in the kernel source tree to get the
names to the symbols of the stack trace.
OpenWRT already provides the CONFIG_COLLECT_KERNEL_DEBUG -option that
creates a kernel with debug-symbols in the OpenWRT output directory.
This change enables this option and copies the generated kernel to the
gluon output directory.
Signed-off-by: Chrissi^ <chris@tinyhost.de>
e76090945 unbound: expose interface-auto to UCI
0d9483608 Merge pull request #12382 from neheb/gst-p
1d9283083 gst1-plugins-bad: don't add webp support
3f922137d Merge pull request #12383 from neheb/pige
92778390b gst1-libav: update to 1.16.2
216f42ee8 gst1-plugins-ugly: update to 1.16.2
c20a65698 gst1-plugins-bad: update to 1.16.2
eeb2c01d9 gst1-plugins-good: update to 1.16.2
83df5f091 gst1-plugins-base: update to 1.16.2
eee7ce2b4 gstreamer1: update to 1.16.2
3025f6c32 pigeonhole: Update to 0.5.9
114823c7c pigeonhole: reflect license of LGPL-2.1-or-later
59ca87226 pigeonhole: update to 0.5.8
41cb01203 gst1-libav: update to 1.16.1
c187321ac gst1-plugins-ugly: update to 1.16.1
16b7bb066 gst1-plugins-bad: Make HLS crypto explicit
c83524006 gst1-plugins-bad: update to 1.16.1
a0bf86150 gst1-plugins-good: update to 1.16.1
990a21184 gst1-plugins-base: update to 1.16.1
ca4a06a25 gstreamer1: update to 1.16.1
235891593 net/mosquitto: bump to 1.6.10
620838fc9 ola: fix compilation with GCC4
142fd306e dovecot: update to version 2.3.10.1 (security fix)
c09244b01 adblock: update 4.0.5-4
45313e42f adblock: update 4.0.5-3
6e27e5196 Merge pull request #12348 from adrianschmutzler/fixmake
a9b5867e2 Merge pull request #12294 from neheb/keab
d85c355aa treewide: use relative include paths for python Makefiles
07d541c14 Merge pull request #12339 from ja-pa/transmission-fix-19.07
615d909a2 transmission: init script check syscall list for seccomp
d5062122e Merge pull request #12292 from neheb/spoof
4ceab639b Merge pull request #12269 from neheb/gerb56
9aa0d8cf7 Merge pull request #12330 from rs/nextdns-1.6.3-openwrt-19.07
6e6e5fa2a nextdns: Update to version 1.6.3
b43a7d4b1 Merge pull request #12326 from rs/nextdns-1.6.0-openwrt-19.07
474296dcb nextdns: Update to version 1.6.0
5507a02e2 Merge pull request #12313 from aleksander0m/aleksander/mm-mtu-19.07
ede1a8221 modemmanager: set interface MTU based on bearer settings
c6eea20bc giflib: remove host build
b4cf130cb libtasn1: fix host build under old GCC
5a1699aeb kea: do not build static host binaries
bb42a250b kea: Update kea to the latest stable verion (1.6.2).
1d30a273e kea: Remove openssl host dependency
f22e122e6 kea: update package to 1.6.0 Update kea to the latest stable verion (1.6.0).
6f19b894d kea: remove dependency and reduce file size Remove boost-python3 dependency and reduce file size of the compiled kea-libs
87f4d6ba2 kea: fix kea-admin dependency Fix kea-admin dependency where if procps-ng-ps wasn't available busybox would output an error casuse it does't support showing a processe's PID
1360d1f88 kea: fix and improve makefile Fix an issue where the Makefile wouldn't allow kea to show up in the menuconfig Also added some description to the packages
07538f535 kea: remove python3 dependency of kea-admin
efde7c454 kea: Fix compilation without deprecated OpenSSL APIs
09ea6f032 kea: Don't install to STAGING_DIR_HOST
fb58e3b8c spoofer: remove host build + cleanups
deccad892 spoofer: Update to 1.4.5
15257f5b6 adblock: limit domain name length
246fc735b nano: update to 4.9.3
673e76b1c Merge pull request #12275 from micmac1/mar19run
39db22ec9 mariadb: use default umask for rundir
8362f46fe gerbera: backport init and config changes from master
225eeb9a6 gerbera: add taglib support
074444794 libupnp: enable reuseaddr
51efb1723 taglib: update to 1.12-beta-1
778f14f51 taglib: fix taglib-config paths
e74a456c0 taglib: add
c8d2ed2cb adblock: release 4.0.5
a41e068db sslh: update to 1.20
23251b93a Merge pull request #12247 from jefferyto/python-setuptools-site-patch-openwrt-19.07
32fb2ba0d python-setuptools: Fix error when installing from source
6dac29693 python3-setuptools: Fix error when installing from source
49ac1e8b7 bind: update to version 9.14.12
99998e218 syslog-ng: update to version 3.27.1
64ebad3fd syslog-ng: restore service "reload" to actually working
0e80f0486 syslog-ng: including user settings after system settings
98d4126c4 qemu: ignore configure option --disable-ipv6
50148ea08 openvswitch: fix file generation in /etc/modules.d
676e6ddd6 Merge pull request #12216 from BKPepe/19.07-unbound
149a08477 Merge pull request #12231 from jefferyto/python-openssl-ca-certs-openwrt-19.07
c06212082 python-openssl: Add dependency on ca-certs
c32e08f30 python3-openssl: Add dependency on ca-certs
828ba37e0 unbound: update to version 1.10.1
2ccdae9a4 Merge pull request #12206 from micmac1/mar-1907-10413
115f7eeb0 mariadb: install config files readable for all
4f0d10835 mariadb: move mysql_upgrade to the client package
9dda3cc87 mariadb: bump to 10.2.32
5e9f5cd76 Merge pull request #12187 from jefferyto/golang-1.13.11-default-platform-options-openwrt-19.07
d3762591d golang: Set/reset default platform options for target Go compiler
f52fbe1d4 golang: Update to 1.13.11
2e6bd4cb8 php7: update to version 7.2.31
191aac174 Merge pull request #12171 from rs/nextdns-1.5.8-openwrt-19.07
07164dec7 nextdns: Update to version 1.5.8
504a5f1b8 Merge pull request #12169 from jefferyto/arm-aarch64-vfp-neon-openwrt-19.07
a12555cc0 treewide: Enable VFP/NEON optimizations for aarch64
595342148 treewide: Update ARM NEON/VFP detection
5f5d63e79 Merge pull request #12158 from Robby-/openwrt-19.07-eaptlstmpdir
0feb9ad31 freeradius3: Fix to init script.
d8b9b0c92 Merge pull request #12141 from EricLuehrsen/unbound_1907_1100
8668e83d5 unbound: update to 1.10.0
2e01dd838 miniupnpd: make hotplug work again
468f6fa13 Merge pull request #12127 from aleksander0m/aleksander/mm-qmi-19.07
1c8e2e0c2 modemmanager: release 1.12.10
cea4fbe30 modemmanager: fix compilation under uClibc-ng
86fedfd52 libqmi: update version to 1.24.12
This adds a new workflow for building the Gluon documentation.
In contrast to the existing build workflow, the documentation
is built for every branch, as it only takes around two minutes
to render the HTML documentation.
gluonutil_get_interface_lower() recursively determines the lower of an
interface until the base interface is found.
gluonutil_get_interface_type() tries do distinguish wired, wireless and
tunnel interfaces. For tunnel interfaces, TUN/TAP, L2TPETH and Wireguard
are supported at the moment.
Do not mix two different HTTP libraries in one script. This fixes a
warning:
/var/lib/jenkins/slave.py:82: DeprecationWarning: URLopener style of invoking requests is deprecated. Use newer urlopen functions/methods
This simple implementation has the disadvantage that it stores the whole
file in RAM, but this isn't an issue for the 1.5MB slave.jar.
Fixes a warning:
/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py:1004: InsecureRequestWarning: Unverified HTTPS request is being made to host 'build.ffh.zone'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
- Rename obtain_if_addr() to get_linklocal_address()
- Pass buffer of size INET6_ADDRSTRLEN instead of the oversized NI_MAXHOST
- Check if an address is link-local before converting to a string
- Replace an incorrect use of strncmp() with strcmp()
- Return status to caller
- Streamline control flow
While we're at it, the function handle_neighbour(), which is one of the
callers of get_linklocal_address() is slightly cleaned up as well.
This switches hostapd variant used for SAE and OWE from hostapd-openssl
to hostapd-wolfssl.
The bug shich one broke the wolfssl implementation was resolved upstream
with commit 631c437a91c2 ("hostapd: backport wolfssl bignum fixes").
This particular commit also got backported to OpenWrt 19.07.
This summaries giving an overview of a scripts function and a short summary
how it's doing this. Only the scripts are covered, that are used by the
Freifunk-Berlin firmwarebuiler too.
[Matthias Schiffer: slightly reworded some descriptions]
This allows for multiple mesh legs out of one box. Useful for offloaders
and networks using vlan for separate mesh transport.
Custom mesh interfaces in a VXLAN domain are otherwise firewalled.
This fixes#1479
By passing a table instead of a single string, multiple different
extensions can be specified, each refering to a separate image file
generated by OpenWrt.
This is not supported for sysupgrade (as there can only be a single
image in the format expected by OpenWrt).
target_config.lua and target_config_check.lua don't pass a table of
callbacks anymore, so target_config_lib.lua can by simplified by moving
all the code that was in the returned function to the toplevel.
So far, we were using a sort operation on the generated .config to
implement precedence of =y packages over =m, and =m over unset.
Unfortunately, this sort not only used for packages, but for all config
lines. This made it impossible to override settings from targets/generic
in a target config when the new setting was sorted before the generic
setting.
To fix this, track configurations by their keys, so we can properly
override config keys that were set before. Value-based precedence is
only preserved for package configuration.
The config() and try_config() calls always take key and value as
separate arguments now. Strings are quoted automatically; the values
true, nil and false map to y, m and unset for tristate options. config()
can take an optional third argument to override the error message to
display when the setting fails to apply.
All existing target configs generate the same .config with the old and the
new code. The new code is also a bit faster on targets with many devices.
This adds support for the beacon interval to be set on a per-band base.
This has the potential to reduce the amount of airtime used up for
sending beacon frames.
Separate wireless-related helper methods from the util module to a
new wireless module. This keeps them separated, as the amount of
wireless helpers increased in the past, justifying a separate module.
xt_CT was added to kmod-ipt-conntrack a while back. Update our
GLUON_SPECIALIZE_KERNEL rules accordingly.
When building xt_CT into the kernel, one of the symbols IP_NF_RAW and
IP6_NF_RAW must be enabled as well, even though there is no runtime
dependency when building as modules. The kernel grows by less than 1KB
even when both IP_NF_RAW and NETFILTER_XT_TARGET_CT are enabled, making
this change a (very slight) net win in both flash and RAM usage.
In OpenWrt 19.07, the block size was increased to 1024KiB for "tiny"
devices by default to save flash. Unfortunately, this also significantly
increases the cache memory required by squashfs.
In my test, the increased block size reduced the image size by ~64KiB,
but increased the RAM usage by ~2.6MiB. As most tiny devices have only
32MiB of RAM, this is not a reasonable tradeoff.
The ar71xx-generic target already defines an even lower block size of
64KiB.
As x86-generic is compiled to pentium4 (and newer) there is a need for
a subtarget for older devices. The x86-legacy subtarget is set to
compile to pentium (and newer) and should support even very old devics.
x86-legacy includes the packages from x86.inc to only maintain one
package list. The three excludes are because the packages do not exist
for x86-legacy.
The OpenWrt feeds.conf.defaults contains some feeds that are commented out
and not active. Such feeds will be returned by the default_feeds.sh script
anyway and causing pseudo feeds. Limit the script to only return active
feeds, by filtering out lines starting with '#'.
This usually only applies to the OpenWrt master branch.
Signed-off-by: Sven Roederer <freifunk@it-solutions.geroedel.de>
change as per NeoRider
As a partial fix to #496, do not touch the MAC address of the WAN
interface when using VXLANs (as only the MAC address of the VXLAN
interface matters to batman-adv).
This reverts commit 2a8943e516.
.SILENT gets passed down to OpenWrt make as -s through MAKEFLAGS. This
hides certain messages from the build log with V=s.
On PoE-powered devices, we usually want to use WAN for the setup mode.
As all outdoor devices are PoE-powered, we can reuse this function. This
switches the setup mode interface for new installations / after config
reset on a few devices that were missing in this list before.
The 'preserve' flag can be used to mark a peer so it is not removed or
modified on upgrades. In addition, groups containing preserved peers are
not removed.
Fixes: #557
a8c92e9eda opkg: Fix PKG_MIRROR_HASH
844b892a74 ath10k-firmware: fix mirror hash
7e9d84ee4a opkg: update to latest Git HEAD
81f3f6540e wireguard: bump to 1.0.20200506
b956f6bd13 wireguard: bump to 20191226
c61fbdd087 odhcpd: fix PKG_SOURCE_DATE
5e8b50da15 odhcpd: fix lan host reachibility due to identical RIO and PIO prefixes (FS#3056)
ac5d5d8d09 ustream-ssl: update to 19.07 Git HEAD
a6caa8fad1 uhttpd: update to 19.07 Git HEAD
3b9e4d6d4c fstools: update to the latest version
af5ada457 wifidog-ng: remove incorrect PKG_BUILD_DIR override
b8ce0e959 ddns-scripts: Increment PKG_RELEASE and internal version number
9437c31c8 ddns-scripts: cloudflare.com-v4: Fix grep patterns.
b7958778a ddns-scripts: cloudflare.com-v4: Fix success check for new response format JSON response now has spaces between parameters. Accept this new format and the old one.
98f12a896 ddns-scripts: fix logging bug
a6a2c8d13 ddns-scripts: use HTTP for IPv6 dyndns URL
d040b2471 ddns-scripts: remove HTTPS from dyndns URL
ab7dfd76b ddns-scripts: use new DDNS URL for dyndns.org
c2943b13f ddns-scripts: update ddnss.de response
4d050bac7 ddns-scripts: Use https for domains.google.com
4938c148c nextdns: Update to version 1.5.7
501c782f7 youtube-dl: update to version 2020.5.3
f79cb0907 gerbera: add
2ce218bdc vpn-policy-routing: support phys-dev policies
9eb229c09 vpn-policy-routing: bugfix: remove non-ASCII from log; update README
0ae7e11d7 vpnbypass: bugfix: remove non-ASCII from system log; update README
1d5350fb4 openconnect: updated to 8.09
b10a73c9a ocserv: updated to 1.0.1
04af75b94 youtube-dl: update to version 2020.3.24
e92ac8abe travelmate: fix captive portal detection
c0f906273 bash: Import upstream patches
The netdev() lookup is confusing to use: whenever a interface does not
exist during boot (for example VLAN) or when the address is overridden
from board.json (which is not obvious at all), it will yield either no
address, or a different address than expected.
To avoid this confusion, using board.json-based interface() is
preferable. This converts all uses of netdev() to the corresponding
lan/wan lookups, except for the final fallback for eth0.
- Replace misnamed, closure-returning sysfs() to a reusable read() function
- Rename eth() to netdev(), pass full interface name
- Rename board() to interface()
- Split reuable get_netdev_addr() out of netdev()
d9244a1b5b generic: ar8216: fix unknown packet flooding for ar8229/ar8236
429e4490c4 libpcap: fix library packaging issues
e678cb1595 kernel: bump 4.14 to 4.14.179
8fa4ed9ef7 fstools: update to the latest version
5c6dfb5bc0 fstools: update to the latest version
607809dcdc mac80211: Update to version 4.19.120
96d280cc37 scripts/download: add sources CDN as first mirror
55ccb04046 upgs: Remove extra _DEFAULT_SOURCE definition
ee480c50c1 dante: Fix compile with glibc
5f0e25d966 perf: build with NO_LIBCAP=1
005adba939 mac80211: ath10k: increase rx buffer size to 2048
0974d59b5f kernel: backport fix for non-regular inodes on f2fs
f40947a8c0 ath79: indicate boot/failsafe/upgrade for NanoBeam/Nanostation AC
65cf72d5d2 ath79: add SUPPORTED_DEVICES based on ar71xx for some devices
f9ef0c5705 kernel: bump 4.14 to 4.14.178
2df0ea042d wpad-wolfssl: fix crypto_bignum_sub()
ec6cb33452 mac80211: backport fix for an no-ack tx status issue
f141cdd200 hostapd: unconditionally enable ap/mesh for wpa-cli
54b6683390 wireless-regdb: backport three upstream fixes
55591e63bc curl: backport fix for CVE-2019-15601
35ea808b97 uboot-kirkwood: fix ethernet and usb
Compile-tested: all targets
gsub() returns the number of matches as its second return value. This
was unintendedly passed through by the util functions trim() and
node_id(). It can be presumed that this had no effect in practice, but
it can lead to surprising output when passing values to print() for
debugging.
The precedence of different package lists was broken since #1876,
disallowing removal of GLUON_FEATURES packages via GLUON_SITE_PACKAGES.
Including all package selections, both implicit defaults and explicit
handling in Gluon, the order of precedence is now the following:
1. OpenWrt defaults (including target-specific defaults)
2. Device-specific packages from OpenWrt
3. Generic default packages (from target/generic)
4. Target default packages (target/$(GLUON_TARGET))
5. Removal of opkg for tiny targets
6. Packages derived from GLUON_FEATURES + GLUON_FEATURES_$(class)
7. GLUON_SITE_PACKAGES
8. GLUON_SITE_PACKAGES_$(class)
9. Device-specific packages from target/$(GLUON_TARGET)
10. Device-specific packages from GLUON_$(device)_SITE_PACKAGES
This also contains various pieces of cleanup:
- No hardcoded order of device classes for target_config.lua arguments
anymore (in fact, the Makefile doesn't know anything about device
classes now)
- target_conifg_lib.lua only hardcodes the fallback class for x86, no
other occurences of specific class names
- Feature -> package list mapping is moved from Makefile to the Lua code
as well (still implemented in Shell though)
Allows reconfigurtion of remote syslog from within site.conf.
Conflicts with the gluon-web-logging package as user made changes
will be overwritten, because this package will reconfigure the syslog
destination on every upgrade.
Resolves#1845
5feb0df9bb ramips: remove memory node for ZBT MT7621 devices
b80a98ae7f ramips: remove unnecessary DEVICE_PACKAGES for Belkin F7C027
bfe652c5bd oxnas: move service file to correct place
5b4e4a38d8 relayd: bump to version 2020-04-25
4e5a29827f umdns: update to version 2020-04-25
c2efc973d5 dnsmasq: fix dnssec+ntp chicken-and-egg workaround (FS#2574)
6c020577ae libpcap: fix build breakage with very high number of simultaneous jobs
efe837de84 openssl: bump to 1.1.1g
1df49d98e7 relayd: bump to version 2020-04-20
b71c7c261b umdns: update to version 2020-04-20
b6d8119c53 umdns: update to the version 2020-04-05
ef3df27507 umdns: suppress address-of-packed-member warning
55312cc202 binutils: add ALTERNATIVES for strings (FS#3001)
3b6f079d8d mbedtls: update to 2.16.6
67ed408af2 mvebu: cortexa9: correct cpu subtype
dee8fcfe9f tegra: correct cpu subtype
d8e0b015e8 mvebu: backport ClearFog SPI enablement
Compile-tested: ipq40xx, ath79
f5cb61cee Merge pull request #11992 from Robby-/openwrt-19.07-freeradius3_update_3_0_21
37812cd96 Merge pull request #11994 from jefferyto/python-2.7.18-openwrt-19.07
caecc597f expat: Update to version 2.2.9
e34d0baee python: Update to 2.7.18, refresh patches
28faf9676 freeradius3: Update to 3.0.21
cb10971c1 freeradius3: Updated patches/004-fix-target-python-header-detection.patch to remove the rlm_python3 specific changes as it is no longer needed to compile and updated the Makefile to reflect this due to the following change/commit in freeradius: 307678b268
4c9d29093 freeradius3: Refreshed patches/002-disable-session-cache-CVE-2017-9148.patch in preparation for the 3.0.21 update.
fe6f04346 freeradius3: Fix the ordering in the Makefile.
0d795d202 mwan3: fix whitespace issue
b7959a8d3 mwan3: Ping IPv6 hosts using address not interface
2ac0a05d6 mwan3: change license to SPDX compatible identifier
928ac2a20 mwan3: update version to 2.8.2
1ea75a8fa mwan3: add httping_ssl option
c2cd3f099 mwan3: fix variable naming
5bf733c2d Merge pull request #11986 from jefferyto/python-target-build-tools-openwrt-19.07
c1394a6a7 python: Fix host build tool names recorded in target files
3d2dc6920 python3: Fix host build tool names recorded in target files
99abc1bd8 Merge pull request #11976 from br101/pingcheck-update
aa353e13d pingcheck: Update and add script directories
411633e52 mpd: update to 0.21.23
63a7426cd Merge branch 'BKPepe-19.07-php7' into openwrt-19.07 (fixes#11923)
d2a02ee24 Merge branch '19.07-php7' of https://github.com/BKPepe/packages into a local branch for conflict resolving.
f2143f6eb php7: fix dependencies for mysqlnd (fixes#11113)
6d9bfa5a8 Merge pull request #11948 from dvtirol/rlm_rest-19.07
742944560 freeradius3: Support building freeradius3-mod-rest
f3bf2e9dd Merge pull request #11946 from jefferyto/python-pip-pep517-pyc-fix-openwrt-19.07
cbb850712 python-pip: Fix error when installing packages that require compilation
5b6607557 python3-pip: Fix error when installing packages that require compilation
ad75f6901 travelmate: refine logical interface selection
eccacec55 less: add ALTERNATIVES
3ab2a1c51 Merge pull request #11938 from aleksander0m/aleksander/modem-updates-19.07
8b46bb9df modemmanager: release 1.12.8
9c337b7ba modemmanager: release 1.12.6
2c1fbf5ec libqmi: update version to 1.24.10
a6f66a078 libqmi: update to version 1.24.8
920c43946 libqmi: bump libqmi version
1b0b8ffa7 Merge pull request #11928 from jefferyto/golang-1.13.10-openwrt-19.07
a15e7212d travelmate: release 1.5.4
f6bb9f3c2 golang: Update to 1.13.10
6e5ca4ddf Merge pull request #11925 from stangri/19.07-simple-adblock
c725bb1b4 simple-adblock: bugfix: start downloads on cold boot
09738290a php7: update to version 7.2.30
059e949ee Merge pull request #11882 from yousong/wget1907
fb64ef9d3 acme: depends on wget-ssl
ba4c4e681 wget: make the ssl variant provides wget-ssl
406b052f7 wget: do not provide itself
ea5c497c2 adblock: filter spurious line endings in sources
b7e94479a git: update to version 2.26.1
5b38ccf0d git: update to version 2.25.1
cc818e580 git: update to version 2.25.0
04d228f9e libupnp: remove patch that should not be there
3f931a4fd minidlna: fix patches from last backport
4dc6dfa77 libxslt: update to 1.1.34
3385d1fd9 libyaml-cpp: Update to 0.63
20d95578e wavemon: update to 0.9.1
83ff6c38f miniupnpd: fix sh syntax error
1fe1c80d6 miniupnpd: convert to procd
c02c42849 miniupnpd: update to 2.1.20191006
66363912d minidlna: update to latest master
a3480774a liblz4: Update to 1.9.2
2caba1671 liblz4: Remove deprecated utime function
a38f59d39 measurement-kit: update to version 0.10.11
856124364 websocketpp: Fix compile with Boost 1.70+
7bfe30462 faad2: update to 2.9.1
f91af9d77 mpc: update to 0.33
c80bc7765 mpc: update to v0.32 and build with meson
a39c4e8e0 libupnpp: link against libm under glibc
b3a09f039 libupnpp: update to 0.17.2
fc2203bb7 libupnpp: Update to 0.17.1
175b26d8b u2pnpd: update to 0.5
caf43f42a libupnp: update to 1.8.7
696d9bdf2 adblock: fix gawk incompatibility
b32a40afe Merge pull request #11843 from neheb/py3
45ca5d87d ruby: update to 2.6.6
84f6fab44 mac-telnet: fix mirror hash
2633415b2 mac-telnet: install uci as config file
4418e49a4 mac-telnet: mark uci as conffile
d12b47361 transmission: add init file STOP directive
54372522f transmission: add syscalls to seccomp filter
10b93cd53 transmission: add service triggers and bump PKG_RELEASE
0ba4820b8 transmission: update config options
125f6ff9e meson: use python3
803c5ef05 libid3tag: add pkg-config file
e91c9b8b1 adblock: fix another reporting bug
67be4858c meson: update to version 0.54.0
7a2b9425d ninja: updated to 1.10.0
66f418654 libmpdclient: update to 2.18
ccd2d7754 libmpdclient: build with meson
2a5a89bcc mpd: update to 0.21.22
5f7f5a205 mpd: allow AAC decoding with mini variant
eda73f927 mpd: link against libpthread under glibc
10ddb2178 mpd: update to 0.21.20
debe4d4d9 mpd: fix ffmpeg AIFF and AMR support
ab7ae0a65 mpd: replace mpg123 with libmad
8346ace9a mpd: fix compilation with uClibc-ng
b061fc6be mpd: update to 0.21.19
82ae5f3bc mpd: update to v0.21.16 and build with meson
fc2a591b5 treewide: Use default PKG_BUILD_DIR when possible
3c59551d8 nsd: Update to 4.2.1
048937c40 xmlrpc-c: Update to 1.51.03
59d23790e libuwsc: update to 3.3.2
2ec415e68 monit: update to the latest release
9eca2ae77 monit: enable / fix IPv6 detection during build
4e3d6eca2 nlbwmon: update to latest Git HEAD
31412a2b4 adblock: update 4.0.4
2944d7142 Merge pull request #11820 from stangri/19.07-https-dns-proxy
210b760d3 https-dns-proxy: bugfix: memory leak
4542b5219 nlbwmon: update to latest Git HEAD
559ff1828 nlbwmon: bump to latest git
45bb9056a nlbwmon: add procd reload trigger for nlbwmon config
This patch fixes a regression introduced in kernel v4.14. While the
commit message only mentions a performance penalty, the issue is
suspected to be the cause of spurious data bus errors on MIPS CPUs
(ar71xx target).
Fixes: #1982
This device has broken Ethernet on both ports.
Remove support for those devices. for now, as there was no feedback from
the original author.
Closes#1943
Use the value of the `name` site.conf field as label (it was
accidentally unused before).
Our site.conf currently doesn't define a specific order for the branch
entries. To avoid changing branch orders, sort entries by this label.
Fixes: #1961
We don't move the images directly, as multiple images of the same device
may have the same source image (on x86), but only delete them after a
whole device has been handled (multiple devices using the same images
must be handled using aliases or manifest aliases instead).
Before, only frames with a maximum size of 1528 bytes could be
transmitted between two 802.11s nodes.
For batman-adv for instance, which adds its own header to each frame,
we typically need an MTU of at least 1532 bytes to be able to transmit
without fragmentation.
This patch now increases the maxmimum frame size from 1528 to 1656
bytes.
Tested with two ath10k devices in 802.11s mode, as well as with
batman-adv on top of 802.11s with forwarding disabled.
Fix originally found and developed by Ben Greear.
0232f57e1a kernel: bump 4.14 to 4.14.176
286c407c3d ath79: add SUPPORTED_DEVICES for TP-Link TL-WA901ND v2
02c6deab8c mbedtls: update to version 2.16.5
01b624e28e Revert "ramips: disable ZyXel Keenetic by default"
14c8ea0245 ramips: use full 8MB flash on ZyXEL Keenetic
Rsync is a requirement for OpenWrt master and therefore our next
branch. Currently builds on x86-64 error out due to missing rsync:
/bin/sh: 1: rsync: not found
5b9b833f8c bcm53xx: add support for Luxul FullMAC WiFi devices
ab3549a870 bcm53xx: refactor board.d code in 02_network
35413b047c bcm53xx: sysupgrade: optimize building UBI image
55c29c398c busybox: enable truncate on bcm53xx target
a89731ad7a bcm53xx: fix ASUS firmwares to use vendor format
36373c5ddb openssl: bump to 1.1.1f
470f7c046c ath79: add support for TP-Link TL-WDR4310 v1
96ee7c8bfd libpcap: Update shared-lib patch from Debian to fix linking problems
96092a8eea mkrasimage: fix segmentation fault
bf5ea2a8dc rpcd: fix respawn settings
83381ce95d readline: needs host depend on ncurses to build
45b586c4a6 tools: squashfskit4: fix build with GCC10
79b60d878d squashfskit4/Makefile: introduce PKG_RELEASE=1
a08394b3c6 build: prereq: tidy gcc version checks
66cbfeeaae build: add GCC 10 version detection
eea3a9625c openssl: revert EOF detection change in 1.1.1
c6c3f6bb0a mac80211: Update to version 4.19.112
794fd4c6cf procd: turn error into debug message for missing ujail binary
f5b3cd1539 ar71xx: Fix gigabit switch support for Mikrotik RB951G-2HnD
bdbda30384 ath79: add support for TP-Link TL-WA860RE v1
2e6bfab8c5 ath79: add support for TP-Link TL-WA850RE v1
dba6f418fa mac80211: fix brcmfmac monitor interface crash
27e77922a1 ar71xx: use status led for GL.iNet GL-AR750S
Instead of exporting various variables (unintendedly making them
available to the OpenWrt build, possibly bypassing .config), pass the
environment only to commands that need it.
By using .ONESHELL and adding -e to .SHELLFLAGS, we can simplify complex
shell commands (like manifest generation) and gain a simple way to pass
multi-line environment variables into shell commands.
The @ and + flags for recipe commands are moved to the top of each
recipe.
x86-geode does not include the common x86 target-settings. Thus we need
to specify the device class in order to build images with all necessary
packages included.
Register to 'reset' event on form element and make call to 'update' function
delayed in 'data-update' handler to allow the form values to update beforehand.
When using a form's 'reset' button, form field visibility was not updated.
This could lead to situations where a checkbox had to be toggled again
twice to display the detail text inputs. (Example taken from private
wifi package)
When adding device classes, targets without devices such as x86 were not
handled. As site and feature packages are included on such a per-device
decision, x86 images ended up without most packages.
Include a class setting for a target and include the class-packages
target-wide when this setting is configured.
Fixes 9c52365077 ("build: introduce device classes")
39405644d5 dnsmasq: add 'scriptarp' option
d5b1f4430f openssl: update to 1.1.1e
798ff37aaa openssl: add configuration example for afalg-sync
168acbb36d oxnas: yet another irqchip related patch
cf4520d15e oxnas: backport another fix for irqchip
456e1c60d6 ath79: add support for TP-Link WDR3500 v1
e7fae8fc97 ath79: add support for TP-Link Archer C60 v3
2bd9d2e08b oxnas: backport patch fixing hang after reboot
74a8e36975 layerscape: add kmod-i2c-mux to DEVICE_PACKAGES for traverse-ls1043
7ae345ecb7 ath79: add support for TP-Link TL-WR740N v5
76c1c1daea ar71xx: fix port order on TP-Link Archer C60 v1/v2
f1a3a6b79c ath79: fix port order on TP-Link Archer C60 v1/v2
e4107e30a7 ar71xx: remove wrong MAC address adjustment for Archer C60 v2
83f1015a6c ar71xx: fix swapped LAN/WAN MAC address for Archer C60 v1/v2
9f024d3587 ath79: fix swapped LAN/WAN MAC address for Archer C60 v1/v2
b32129d30b rssileds: add dependencies based on LDFLAGS
9da31d0fb4 mt76: update to the latest version
68351990dc ar71xx/ath79: ew-dorin, fix the trigger level for WPS button
6e4453aecc kernel: backport out-of-memory fix for non-Ethernet devices
06f5a8d3e9 kernel: bump 4.14 to 4.14.172
e7f1313bbb rpcd: add respawn param
f6f0cd54a2 rpcd: update to latest Git HEAD
Compile-tested: ipq40xx-generic, ramips-mt7621
This adds a helper method, which determines if the current platform
supports WPA3 or not.
WPA3 is supported if
- the device is not in the featureset category "tiny"
- the WiFi driver supports 802.11w management frame protection
The gluon-wireless-encryption package selects a WPA3 supporting
hostapd package as a dependency and stores the information, which
encryption method is supported to the device.
This commit assigns class-flags to devices. The following scheme is
used:
- ath9k & ath10k: tiny if RAM <128M
- ath10k & ath10k: tiny if RAM <256M
- all: tiny if RAM <64M
- all: tiny if flash <8M
All other devices automatically have the default device-class selected.
This commit allows to define a device-class flag in the target
definitions. This way, it is possible to distinguish between groups
of devices in the build-process in terms of package or feature
selection.
This package adds support for SAE on 802.11s mesh connections.
Enabling this package will require all 802.11s mesh connections
to be encrypted using the SAE key agreement scheme. The security
of SAE relies upon the authentication through a shared secret.
In the context of public mesh networks a shared secret is an
obvious oxymoron. Still this functionality provides an improvement
over unencrypted mesh connections in that it protects against a
passive attacker who did not observe the key agreement. In addition
Management Frame Protection (802.11w) gets automatically enabled on
mesh interfaces to prevent protocol-level deauthentication attacks.
If `wifi.mesh.sae` is enabled a shared secret will automatically be
derived from the `prefix6` variable. This is as secure as it gets
for a public mesh network.
For *private* mesh networks `wifi.mesh.sae_passphrase` should be
set to your shared secret.
Fixes#1636
Remove a lot of redundant code by switching to a match table listing
the targets and boards for each candidate for the primary MAC interface.
In addition, we add some flexiblity by allow to switch out the sysfs file
data source for the MAC address.
12e41d0ff07e libplatforminfo: brcm2708: use board_name instead of model for image name
033401c18ecb mmfd: bump version
7cdfb66ece7b l3roamd: bump version
85af24315855 autoupdater: Fixed segfault on wrong long option
e18c87ef45 ramips: fix wps leds/btn for TP-Link TL-WA801ND v5
455ba76bf9 hostapd: cleanup IBSS-RSN
dd4d49dcc1 cryptodev-linux: remove DEFAULT redefinition
44b37774f9 mac80211: fix a page refcounting issue leading to leaks/crashes in rx A-MSDU decap
a3b6ffe01b mac80211: fix sta TID stats leak on a few nl80211 calls
25e1afb9e1 ucert: update to version 2019-12-19
fe197b8b09 ramips: mt7621: disable images for gehua_ghl-r-001
08d9828b76 ramips: fix leds for TP-Link Archer C20 v4
fd28ef59db ath79: add SUPPORTED_DEVICES for TP-Link TL-WR841N/ND v9 to v12
7a0d9b2eea ath79: add support for TP-Link TL-WR841N/ND v12
bd3eb071fd ath79: add support for TP-Link TL-WR841N/ND v10
19ff3f5105 ath79: add support for the TP-LINK CPE220 V3
44c827215d ethtool: fix PKG_CONFIG_DEPENDS
eb15634541 OpenWrt v19.07.0: revert to branch defaults
aca39acedf OpenWrt v19.07.0: adjust config defaults
a3ffeb413b ramips: Fix sysupgrade for Xiaomi mir3g
f58705b77e dnsmasq: Fix potential dnsmasq crash with TCP
54711e528d x86: fix missing led variable warning during boot
abb0665bec ca-certificates: provide ca-certs by both ca-certificates and ca-bundle
e9929ebeea ramips: Fix sysupgrade for Xiaomi mir3g
dc399c4e12 ramips: remove duplicate dts nodes of MediaTek LinkIt Smart 7688
a5653ec87e package: remove accidentally added symlink
6395ac4126 fstools: update to latest Git HEAD
f3439c4019 procd: update to version 2020-01-04
64c45d95d6 ubus: update to version 2019-12-27
04fd5e22b2 libubox: update to version 2019-12-28
bf99f79200 base-files: sysupgrade: exit if the firmware download failed
3140d38042 base-files: upgrade: add case to export_bootdevice
3c11032039 sunxi: Turn on CONFIG_PINCTRL_SUN4I_A10 for A20
3fc47dd443 wolfssl: bump to 4.3.0-stable
330046922b kernel: bump 4.14 to 4.14.162
084dfb8ebd kernel: bump 4.14 to 4.14.161
Compile-tested: ath79-generic
Run-tested: ath79-generic
The Aruba Instant On AP11 is the Aruba AP-303 with a stripped-down
firmware. Add an alias for the device to remove confusion about the
different naming.
7ab5dc77b2 ramips: add LED trigger for TL-WR902AC v3 WAN LED
ad4b939bd0 rt2x00: add throughput LED trigger
91dde4291c mac80211: fix build without CONFIG_PCI
30301dfcf0 mac80211: add patch to include local BSS rx time in survey information
da7dde8993 mac80211: add pcie apsm backport changes
62d5ece70b ramips: remove bogus ralink,mtd-eeprom with offset 0x4
94153971bb ipq40xx: use ath10k-ct-smallbuffers for 128 MiB devices
d13c6d078e kernel: bump 4.14 to 4.14.160
f80272dd9c kernel: bump 4.14 to 4.14.159
3030abfa7e ath79: use ath10k-ct-smallbuffers for 64 MiB devices
36057763fa ath10k-firmware: Add kmod-ath10k-ct-smallbuffers to depends
450b306e54 kernel: ath10k-ct: provide a build variant for small RAM devices
e50d44d985 fstools: update to latest git HEAD
6a151d6558 fstools: update to latest git HEAD
43c5927312 fstools: bump to version 2019-11-03
f7779d64ba fstools: update to latest Git HEAD
ab7386bd67 libubox: bump to version 2019-10-29
c34499a6e4 libubox: update to latest git HEAD
7203a58d7b kernel: remove LINUX_4_9 dependency of kmod-dax
0c07224b5a scripts/dowload.pl: add archive.apache.org to apache mirror list
4fba5dc103 kernel: fix *-gpio-custom module unloading
df45ef5436 cmake: Install host packages to lib instead of lib64
6351205d73 adb: fix for SuperSpeed devices
d2e87c7800 toolchain/gcc: Backport patch to fix unconditional MULTIARCH_DIRNAME
a7d880e830 toolchain/gcc: correct the check expr for newer clang
3a863da268 lantiq: fix phys led
18107f4481 uhttpd: reset PKG_RELEASE
414ea30927 uhttpd: update to latest Git HEAD
27eea24921 ar71xx: fix MAC address setup for TL-WDR4300 board
9bdd3d39ad ath79: fix MAC address setup for TP-Link TL-WDR3600/TL-WDR4300
08c850f046 ramips: fix USB LED for Belkin F9K1109v1
2c16044ccf mac80211: brcm: add support for BCM4359 SDIO chipset
c0f2905fa9 mac80211: brcm: backport 5.5 and 5.6 kernel patches
Compile-tested: ramips-mt7621
Run-tested: ramips-mt7621
This reverts commits
- caf2dd037b.
- 07ebac6a49
- 55eff45f96
I accidentally pushed these commits as I had them lying around on a
dirty checkout I did testing on.
1859391e9ed2 uboot-envtools: ath79: add support for YunCore XD4200 and A782
45c9923edfeb ath79: add support for YunCore XD4200 and A782
83a18aefbdea ath79: add support for YunCore TFTP image generation
449433d13104 ath79: Add support for TP-Link Archer C60 v2
70233e3afe40 ath79: Add support for TP-Link Archer C60 v1
a2d9de21b841 base-files: config_generate: split macaddr with multiple ifaces
3a5e28bd266b ar71xx: ubnt-(xm,xw): add rssileds package
1cb763c559b8 ath79: add PoE passthrough switch for Ubiquiti Nanostation (XM/XW)
a0897f8a4663 uboot-envtools: ramips: add support for ALFA Network Quad-E4G
71469caa0ab4 ramips: add support for ALFA Network Quad-E4G
939dfe61ed8a uboot-envtools: ramips: add support for ALFA Network R36M-E4G
c515cd7c348c ramips: add support for ALFA Network R36M-E4G
7a62e909b286 ramips: support dual image feature on ALFA Network boards
ee71837e3857 ramips: refresh all subtargets kernel configs
3806899a5015 ramips: use upstream RAW_APPENDED_DTB instead of our OWRTDTB
In addition this PR contains:
- split of gluon-respondd provider into multiple source files
- minor additional cleanups in gluon-mesh-babel respondd provider
(untested, as the babel respondd provider already doesn't compile prior
to these changes...)
15ce616c2de7 build: add PKG_SOURCE_URL_FILE support
436dbf12aa73 kernel: nf_conntrack_rtcache: fix cleanup on netns delete and rmmod
b177b180bbdb mac80211: add default value for noscan
e68d589e7b8c e2fsprogs: Fix CVE-2019-5094 in libsupport
6160f773fef2 ipq40xx: add support for AVM FRITZ!Repeater 1200
63b1e8f8d226 ipq-wifi: add AVM FRITZ!Repeater 1200 bdf
496489ea95af uboot-fritz4040: update to latest HEAD
e30ca0d90a98 mac80211: update to version 4.19.85
b1ef0e443720 layerscape: Fix kernel patch
ad0463c2e875 kernel: Add missing configuration option
b0adf79c9e7c firewall: update to latest Git HEAD
b41619592792 firewall: update to latest git HEAD
3685f86cefac cns3xxx: use proper macros for defining partition regions
db345220b485 kernel: bump 4.14 to 4.14.155
538ca42ddad8 wireless-regdb: fix build when python2 from package feeds exists
2751c5c75219 wireless-regdb: fix patch fuzz
d6ecadb05c2b wireless-regdb: fix Makefile indentation
0a4071b550eb wireless-regdb: set PKGARCH:=all
e8d528af7e91 wireless-regdb: prefer python provided by make variable
53d8de0207e8 wireless-regdb: Make it build with python2
f2ef9b4feafe wireless-regdb: update to 2019.06.03
8fac0b398c34 ar71xx: fix buttons for TP-Link TL-WDR4900 v2
3c65c47ce6fd ar71xx: fix LED setup for TL-WDR4900 v2
b6c80f85cb7b ramips: set uImage name of WeVO 11AC NAS and W2914NS v2
e945c43142ab ar71xx: fix MAC address setup for TL-WDR4900 v2
8a21bc36229d ar71xx: fix MAC addresses for Archer C5 v1, C7 v1/v2, WDR4900 v2
The devolo WiFi pro 1200i lost it's ath10k package definitions while
rebasing, thus selecting the wrong package set.
Fix it by adding the correct firmware and driver.
As of OpenWrt commit b3d8b3ab8e6f ("mac80211: set noscan=1 if sta/adhoc/
mesh interfaces are present"), the issue workarounded by this patch cannot
occur anymore.
many AVM devices do not have RESET/WPS buttons. So use the otherwise unused DECT/PHONE button to boot the device into setup mode.
This patch allows to enter the setup-mode by pressing the phone button
(often labeled as DECT) in addition to WPS and reset button.
This patch is necessary to allow supporting boards without a WPS and reset
button (e.g. AVM FRITZ!Box 7312).
d6d9f58290 ipq806x: use switch trigger for WAN LED on NETGEAR boards
bee28adf6e hostapd: enable PMKSA and OK caching for WPA3-Personal
5d6308ecae scripts/dl_github_archive.py: fix python3 str, bytes confusion
This changes the ath10k firmware and driver selection, as
ath10k-ct is now the default in upstream OpenWrt.
However, for 802.11s operation we need the QCA firmware and driver.
With this commit, the status-led is set to be the "led-running"
device-tree alias for targets which do not implement the get_status_led
method in /etc/diag.sh.
This adds previously absent ath10k packages definitions. This way,
devices correctly select CandelaTech firmware correctly, when
GLUON_WLAN_MESH is set to IBSS.
This is also necessary for all devices, when OpenWrt is switched to
19.07.
This adds a warning that entprise switches with an IGMP/MLD snooping
feature are not supported yet with IGMP/MLD filtering enabled.
For this to work, firstly the Linux bridge on the Gluon node needs to
support Multicast Router Discovery (RFC4286). But this feature was only
added to the Linux kernel recently, in 5.1.
Secondly, a Gluon node would need to periodically send "Multicast Router
Advertisment" (RFC4286) messages, to "announce" the multicast router
port setting on bridge port bat0.
Thirdly, the IGMP/MLD snooping switches would need to implement
RFC4286.
This reverts commit 9b1eb40fe7.
With the batman-adv v2019.2 upgrade reverted (c1a7733956), the batman-adv
multicast-to-multi-unicast feature is not available yet. Without that it is
going to be very unlikely of the batman-adv multicast optimizations to
take effect. E.g. some outdated nodes would disable it.
To avoid confusion and diversion with a few communities having it enabled
and most implicitly deactivated, just deactivate it for all for now
until batman-adv is updated to v2019.2 or greater again.
The kernel partition on these devices is too small for the
OpenWrt 19.07 kernel. It is also located after the rootfs, so
we cannot grow it further.
Therefore mark these devices as deprecated now.
This adds documentation for the gluon-mesh-batman-adv package and
elaborates on its build and configuration options, as well as
the implemented multicast architecture.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
e130b6f54d0f simple-tc: increment PKG_VERSION
89260206971f libbabelhelper: bump version to allow specifying the command for readbabeldata()
0447a6960caf bump mmfd: Bugfix Crash and firends
mac_to_ip() calculates an ipv6 address from a mac address according to
RFC 4291. For wireguard we have to use specially crafted addresses that
must be unique. This allows calculating such unique mac-based addresses
by allowing to optionally specifying the bytes to be inserted into the
address.
The new routing_algo site.conf value BATMAN_IV_LEGACY is introduced. With
these changes, the routing_algo setting becomes mandatory.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
We cannot add the same file (here: /lib/gluon/mesh-batman-adv/compat) to
two, installed packages. Therefore, instead of determining the compat
version number from this file, infer it from the batman-adv release
version number instead.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Instead of unconditionally loading this module on boot the gluon_bat0
netifd protocol script will later take care of loading either the
batman-adv or batman-adv-legacy module, depending on the configured routing
algorithm in UCI.
This displays the branch, repo and commitID that was attempted to update to but
failed. Users then can compare this output to the configuration they meant to
activate in modules and hopefully better find their typos.
This is a fix for the broken ingress traffic-shaping in gluon v2018.2.2
and possibly earlier.
For ingress traffic shaping the kernel option NET_ACT_POLICE is needed.
Before this patch there was no dependency to this. Neither in
gluon_core, gluon-mesh-vpn-core nor in the package.
This patch adds this dependency.
[Matthias Schiffer: move dependency from GLUON_CORE to gluon-mesh-vpn-core]
Fixes#1790
This reverts commit fb08e10494.
Devices featuring ath10k radios should at least 128 MB of memory
as their driver is quite memory hungry.
Devices with a configuration (1x ath10k, 64M memory) like this have
often been seen as running out of memory.
package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua:122:16: (W431) shadowing upvalue f on line 19
Fixes: bab4af01e ("gluon-web-network: improve PoE GPIO name translation
handling")
The profile for GL.iNet AR750 currently selects ATH10K_PACKAGES, but this device actually has a QCA9887 which needs another driver.
This commit fixes the issue by setting ATH10K_PACKAGES_QCA9887 instead.
fb15946 Merge pull request #233 from jluebbe/simple-tc
17e2535 simple-tc: fix confusing program names in error messages
63e6e0d mmfd: split package into mmfd and gluon-mmfd, bump mmfd version
9c0ac53 bump mmfd: remove babel dependency
aae659d bump l3roamd version
32c9f65 lua-simple-uci: luacheck fixes
cf0619a lua-simple-uci: do not use module(), do not rely on UCI internals
9d26ec1 pretty-hostname: do not use module()
fccb564 l3roamd: bump version for Allow to run l3roamd without mesh interfaces
fbcd1b3 l3roamd: bump version for FIX when roaming within the first 4.5 seconds
71d0566 autoupdater: clarify usage of -n in help
1eeea30fd softethervpn: Fix compilation under 64-bit targets
276b7d9b0 Merge pull request #9542 from jefferyto/python-musl-find_library-openwrt-18.06
e1cb7f98d opendkim: Fix compilation with uClibc-ng
bc8fc4fb7 tvheadend: Fix compilation on GCC8
4c1252e9d tvheadend: Fix compilation without deprecated OpenSSL 1.0.2 APIs
bd96e95e3 tvheadend: Fix compilation without OpenSSL deprecated APIs
59f7eb5e1 libartnet: Fix compilation with GCC8
e00521bc7 poco: Do not build on ARC
0662e833e flent-tools: Fix compilation with uClibc-ng
131c9436c oath-toolkit: Fix compilation with uClibc-ng
0524f21ed flashrom: Add ARC support
8923eecd3 elektra: Fix compilation with uClibc-ng
24ad87702 elektra: Fix compilation without deprecated OpenSSL APIs
f30898d3e hfsprogs: Fix compilation with uClibc-ng
02d64a922 dosfsutils: Properly fix iconv linking
f273581e1 dosfstools: Fix compilation with full NLS
4870eab08 loudmouth: Fix compilation with uClibc-ng
b1adbbe5b loudmouth: Disable debug and fix no deprecated API compilation
30ddc8a15 transmission: Fix compilation under uClibc-ng
0cac0b3eb transmission: add PKGARCH:=all for transmission-web
c2860ce2c transmission: Add LTO support to shave off 35KB off of the ipk
b5957aed6 transmission: Allow user to configure web ui home directory
cdc001736 open2300: Switch to GitHub fork
dddcd5d90 softethervpn: Add openssl to host build deps
0a4f88e56 softethervpn: Really fix iconv support
e05f50c12 softethervpn: add package name to build dir
8358aa690 softethervpn: cleanup host/build, pass HOST_*FLAGS
5cb4c348a python,python3: Fix ctypes.util.find_library()
d16a931db python: add patch for CVE-2018-20852
2402c223d python: bump to version 2.7.16
ae21f4990 python3: update to version 3.6.9
12c96eaad diffutils: provide diff, cmp as alternatives
04c9e6708 Merge pull request #9463 from ps790/patch-4
4265311c1 Merge pull request #9461 from ps790/patch-2
93e7b0982 coreutils: add alternatives support
ef44ef698 bridge-utils: fix conflict with busybox brctl
4e93f455a softethervpn: Update to rtm version 4.29-9680
4682d1741 softethervpn: Pass FLAGS to CC for hamcorebuilder
f424f7dfa wifidog: fix getting ip from interface, cleanup
bba8e2c44 irssi: update to version 1.2.1 (security fix)
d10ac7c29 Merge pull request #9396 from stangri/openwrt-18.06-simple-adblock
78b0da469 simple-adblock: options to filter non-ASCII domains, local compressed storage
1e398bbcb ocserv: updated to 0.12.4
43bfa6fe4 Merge pull request #9292 from BKPepe/18.06-youtube
68461c4c5 php7: update to 7.2.19
f9b20e9dd php7: update to 7.2.18
5779614d2 znc: backport fix for CVE-2019-12816
63c532a71 youtube-dl: update to version 2019.06.21
7879bbdb4 Revert "php7: Fix compilation without deprecated OpenSSL APIs"
115f72fc4 Revert "php7: update to 7.2.18"
70e4af441 Revert "php7: update to 7.2.19"
d90a035c1 libxml2: update to 2.9.9
5aa670ed3 libxml2: Fix CVE-2018-14404
8abaf8a30 php7: update to 7.2.19
8e9429f3e php7: update to 7.2.18
a176ffa0a php7: Fix compilation without deprecated OpenSSL APIs
53742f130 php7: update to 7.2.17
81a8e5904 nano: update to 4.3
dd927adce Merge pull request #9272 from gladiac1337/openwrt-18.06
28007a8bd Merge pull request #9268 from EricLuehrsen/unbound_192_1806
1784615d3 haproxy: Update HAProxy to v1.8.20
88a7f98bd unbound: update to 1.9.2 with package bug fixes
7290c123d Merge pull request #9232 from neheb/13
356bb1162 haproxy: Remove unnecessary OpenSSL depends All of these are either not needed or not valid.
3afd61982 lm-sensors: install libsensors using CP instead of INSTALL_DATA
d8ecf9cb7 boost: Release update with minor fix
efa0b885a znc: update my email address
45e1b91ae Merge pull request #9193 from ryzhovau/getdns_lib-18.06
55e357b66 getdns: fix library double packing
810f22da8 nlbwmon: update to latest Git HEAD
The gluon-authorized-keys is usually installed to use SSH keys to
authenticate a user against the device. To make this useful, it is also
required to disable passwordless SSH access to the device.
This new dependency is only required when the user doesn't have
gluon-setup-mode enabled already.
Fixes: #1777
Reported-by: yanosz <github@yanosz.net>
Fixes: a753fa79e3 ("gluon-authorized-keys: add keys from site.conf")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
$(TOPDIR) does not contain a trailing slash.
Thus the 'gluon.mk'-include must include
the trailing slash. (Just like the link to
$(INCLUDE_DIR)/package.mk does.)
Signed-off-by: Chris Fiege <chris@tinyhost.de>
This MR includs only the VPN MODE of the hoodselector whitch simply set
hoods base on their geopositions.
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
check_site.lua: fix language syntax
muss -> must
rage -> range
at lease -> at least
coordiantes -> coordinates
realaise -> realised
gluon-hoodselector: fix language syntax in hoodselector
can not -> can't
routers -> router's
continure -> continue
to next -> to the next
TMP -> temporary
for current -> for the current
continure -> continue
with next -> with the next
thier -> there
provides -> provide
possition -> position
therfore -> therefore
gluon-hoodselector: fix language syntax in util.lua
realaise -> realised
gluon-hoodselector: fix language syntax and use autoupdate lock mechanism.
gluon-hoodselector: fix spelling/grammar
gluon-hoodselector: automatically set SECTION and CATEGORY for Gluon packages
gluon-hoodselector-add-VPN-MODE: add micrond & libjson-c dependency
gluon-hoodselector-add-VPN-MODE: check running hoodselector before loading lua
gluon-hoodselector-add-VPN-MODE: remove nixio dependency from hoodselector util
Revert "gluon-hoodselector-add-VPN-MODE: check running hoodselector before loading lua"
This reverts commit 535b0a1b2fb73e563bf6a44b568a796440bd307f.
add luaposix and luabitop to pakage dependency
sbin/hoodselector: remove nixio requiemend
sbin/hoodselector: load hoods only if necessary
gluon-hoodselector: use VPN abstraction layer. the hoodselectore does
not need to know about all individual VPN protocols.
gluon-hoodselector: Makefile add gluon-mesh-vpn-core as dependency
gluon-hoodselector: apply changes of mesh vpn lib
gluon-hoodselector: remove outdated comments
package/gluon-hoodselector: check_site.lua rm domain seed check thus its already checked by gluon-core
package/gluon-hoodselector: util.lua code cleanup and refactoring
package/gluon-hoodselector: hoodselector code cleanup and refactoring
gluon-hoodselector: util.lua, use taps instead of spaces. Use posix.unistd.access instead of io.open
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
gluon-hoodselector: hoodselector, use taps instead of spaces.
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
gluon-hoodselector: check_site.lua: replace hood with domain
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
gluon-hoodselector: drop VPN mode and rename hood to domain. Furthermore implement geolocator mode as neorayder way
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: rm duplicated print output
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector util: fix wrong function signature
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
small typo fixes
small typo fixes
Update util.lua
processes are really restarted now. new (old) problem: nodes will not forget their former ipv6-addresses. watchdog could here with that.
gluon-hoodselector util.lua: replace i iterator with _
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
Update util.lua
now polygons with holes are recognized correctly. also a mix of nested polygons and boxes should be possible as shapes[]
package/gluon-hoodselector: hoodselector use gluon-reload for daemon restarts/reloads
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: util.lua use math-polygon lib and rm restart_services function. Rectengles will be converted into polygons now
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: Makefile rewrite description update depends list
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: check_site.lua reduce complexity
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: use : for gluon_version Val
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: fix if equal syntax
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
luasrc/usr/lib/lua/hoodselector/util.lua: check_site.lua simplify checksite script and fix if logic
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: set space after comma, rm unnecessary error handling
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: use only brackes on require function no mixup
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: check_site.lua rm unuse variables and fix non std global function
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: util.lua rm unuse include
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: rm comment return nil in function get_geolocation()
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
package/gluon-hoodselector: Makefile refactor pkg description
Signed-off-by: Jan-Tarek Butt <tarek@ring0.de>
We now keep the VPN enable state, bandwidth limit enable and actual limits
in the core config to avoid having to recover "user intent" from different
config files when the used VPN packages change.
Fixes#1736
This new build flag is mandatory for now (it may default to 0 in a future
Gluon version). It may be set to the following values:
* 0 - Do not build any images for deprecated devices.
* upgrade - Only build sysupgrade images for deprecated devices.
* full - Build both sysupgrade and factory images for deprecated devices.
"Other" images are handled like factory images, as they are also used for
the initial installation of Gluon on a device.
Several fixes and enhancements related to multicast were added upstream
in batman-adv. So let's give the batman-adv multicast optimizations
another go.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This updates the batman-adv OpenWrt package to the current version
provided in the master branch of the openwrt-routing packages
repository:
* e26096a batman-adv: Fix duplicated OGMs on NETDEV_UP
* 1ff00ee batman-adv: upgrade package to latest release 2019.2
Small difference to the original:
* Compat code for batadv_genl_dump_check_consistent()
* Compat code for cfg80211_sinfo_release_content()
* 0001-batman-adv-add-compat-hacks.patch kept
* batctl dependency kept removed
* config related files unchanged
The new config format was not backported yet to keep this patch small
and less invasive.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
The is_outdoor function is placed inside the gluon.platform module, not
the platform_info module. Currently, the outdoor-mode wizard component
and the upgrade script fail due to nil-value calls.
The factory firmware omits the JFFS2 end-marker while flashing via
web-interface. Add a 64k padding after the marker fixes this problem.
When the end-marker is not present, OpenWRT won't save the overlayfs
after initial flash.
9a364fb8d0a4 respondd: fix crash caused by division by zero
67177de99afc libs/lua-math-polygon: add add math lib for gauss jordan Ponit in Polygon algorithm
Fixes#1717
adds a section to the wizard for outdoor capable devices
that informs the user of of the regulatory situation and
allows a quick toggle of the outdoor mode.
Add the `wifi5.outdoor_chanlist` site configuration that
allows specifying an outdoor channel range that can be
switched to for regulatory compliance.
Upon enabling the outdoor option the device will
- configure the `outdoor_chanlist` on all 5 GHz radios
- which may enable DFS/TPC, based on the regulatory domain
- disable ibss/mesh on the 5 GHz radio, as DFS *will*
break mesh connections
- allow for htmode reconfiguration on 5 GHz radios
The outdoor option can be toggled from
- Advanced Settings
- W-LAN
- Outdoor Installation
The `preserve_channel` flag overrules the outdoor channel
selection.
cf3e8d1a080f respondd: exit on unknown command line parameters
0f57108e3d65 respondd: make all internal functions static
593b2c626690 respondd: fix incorrect use of strncpy
31eb441db163 respondd: make delays specific for group and interface
2d89e972d9dd respondd: fix inet_pton() error message
a906d2447fbd respondd: miniz: fix -Wmisleading-indentation warning
42da0795e2dd batman-adv-legacy: update package version number
3dd552288959 batman-adv-legacy: restore Build/Prepare step
df0dd9cd6b49 batman-adv-legacy: update to latest git
By passing the package name through merge_packages, it becomes possible to
override the package choice in GLUON_SITE_PACKAGES again, for example:
GLUON_SITE_PACKAGES += -hostapd-mini hostapd
The batctl v2013.4 build was removed from the batman-adv-legacy package
as the current, upstream batctl releases work with batman-adv-legacy,
too.
As a replacement we need to add the upstream batctl dependency to
gluon-mesh-batman-adv-14 to have a batctl available again here.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This always pulls in the batman-adv compat 15 kernel module. However,
batctl works just as well with batman-adv-legacy (compat 14).
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
The commit a080049735 ("gluon-status-page-mesh-batman-adv: Retrieve TQ of
neighbors with non-best direct link") removed the check whether a neighbor
has the BATADV_ATTR_FLAG_BEST set. But consumers may still want to filter
out or mark neighbors which don't have this flag set. To assist with such a
feature, enhance the neighbor object with an extra boolean "best" attribute
which stores whether the BATADV_ATTR_FLAG_BEST was found or not.
Reported-by: Vincent Wiemann <webmaster@codefetch.de>
The commit ee63ed42fe ("gluon-mesh-batman-adv: List neighbors with
non-best direct link") removed the check whether a neighbor has the
BATADV_ATTR_FLAG_BEST set. But consumers may still want to filter out or
mark neighbors which don't have this flag set. To assist with such a
feature, enhance the neighbor object with an extra boolean "best" attribute
which stores whether the BATADV_ATTR_FLAG_BEST was found or not.
Reported-by: Vincent Wiemann <webmaster@codefetch.de>
Links between two direct neighbors are not always the best route between
these devices. The flag BATADV_ATTR_FLAG_BEST would not be set for these
originator entries and the respondd module would just ignore this entry.
If these neighbors are not accepted and returned to the status page then
some of the neighbor entries will show a name, (acceptable) signal strength
and mac address but no TQ value.
Fixes: 28668c8c52 ("gluon-status-page: API")
Links between two direct neighbors are not always the best route between
these devices. The flag BATADV_ATTR_FLAG_BEST would not be set for these
originator entries and the respondd module would just ignore this entry.
This causes missing links in meshviewer and similar tools. And when the
link quality is nearly equal and but fluctuates slightly, these links will
from time to time appear and disappear on the map.
Fixes: 2e0e24a992 ("announce neighbours using alfred/gluon-announce")
e5fe4b6 Merge pull request #462 from ecsv/batadv-18.06
ee2d981 batman-adv: Merge bugfixes from 2019.1
4d7a182 nodogsplash: fix invalid pointer bug when clock is turned back (#456)
2ad165c Merge pull request #452 from dangowrt/openwrt-18.06
71f9aae luci-app-bmx7: update to v0.1-alpha
0e3d701 bmx7: update to git snapshot as of 2018-12-29
42af835 batman-adv: Refresh patches
The device is broken until the next release. The LEDs are currently not
working (fixed in current OpenWRT master).
Also give a brief explanation about the BROKEN status being dependent on
the WiFi chip used and not the SoC family in general.
When two domains alias the same name (or one aliases another), display a
meaningful error message like:
Failed to alias domain 'foo' as 'bar', name already taken by
domain 'baz'.
The amount of local wifi clients is currently counted by two different
ways:
* asking the kernel wifi layer for the number of of clients on 2.4GHz and
5GHz band
* asking batman-adv for the number of non-timed out entries in the local
translation table with WiFi flag
The number of wifi24+wifi5 and the number of TT wifi client counts are
reported via respondd to various consumers. The ffrgb meshviewer is
displaying these values as:
* 2,4 GHz: wifi24
* 5 GHz: wifi5
* other: (TT local wifi+non-wifi clients) - (wifi24 + wifi5)
But the local translation table is holding entries much longer than the
wifi layer. It can therefore easily happen that a wifi client disappears in
the kernel wifi layer and batman-adv still has the entry stored in the
local TT.
The ffrgb meshviewer would then show this count in the category "other".
This often results in confusions because "other" is usually for ethernet
clients. And nodes with a frequently disappearing larger group of clients
(near bus stations or larger intersections) often show most clients under
the group "other" even when this devices doesn't have a LAN ethernet port.
It is better for presentation to calculate the number of total wifi clients
by summing up wifi24 + wifi5. And getting the number of total clients (non
wifi + wifi) by adding the result of the previous calculation to the sum of
non-wifi client in the local batman-adv translation table.
Fixes: 89a9d8138c ("gluon-mesh-batman-adv-core: Announce client count by frequency")
Reported-by: Pascal Wettin <p.wettin@gmx.de>
If no mcast_rate is set for the wifi-iface then there is no rate_idx (0)
set for the bss. This breaks for example 5GHz meshpoint interfaces because
0 maps to a CCK rate (11Mbit/s).
It must also be avoided that the ath10k-ct internal state for the rates is
not synced with the mac80211 rates state. Otherwise, the user specified
rate (e.g. a wifi-iface mcast_rate for a meshpoint interface) will only be
set on startup. And a short while after that, ath10k-ct specific code in
ath10k_check_apply_special_rates is missing a valid rate in its own
structures and is then recalculating a new default rate. This default rate
is in most situations not the requested rate.
Fixes: a399b60735 ("ath10k/ath10k-ct: support multicast and management rate control")
62feabecd8 kernel: bump 4.14 to 4.14.99
9fb3710a8b kernel: bump 4.9 to 4.9.156
e5ace80759 mt76: update to the latest version
fbb2186fbd kernel: bump 4.14 to 4.14.98
72870cc108 kernel: bump 4.9 to 4.9.155
19a6c4b2b3 mac80211: brcmfmac: fix a possible NULL pointer dereference
d997712c71 ath9k: register GPIO chip for OF targets
Compile-tested: ipq40xx, ramips-mt7621
Runtime-tested: none
This reverts commit b92e404437.
Committing in this case is unnecessary as that job is already handled by 998-commit
which is in a superior position to commit, as it is run after all relevant changes to
the configuration have been made.
Gluon has multiple ways to obtain unique MAC-addresses. They are either
provided by the WiFi driver or derived from the primary MAC-address.
Quoting the same file:
> It's necessary that the first 45 bits of the MAC address don't
> vary on a single hardware interface, since some chips are using
> a hardware MAC filter. (e.g 'rt305x')
This currently fails in case the rt35xx based chips mac address differs
from the primary MAC. In this case, the MAC address for the client0 radio
(vif 1) comes from the WiFi driver. As there is only a single
MAC-address provided by '/sys/class/ieee80211/phyX/addresses' but the
MAC-address for mesh 0 (vif 2) is derived from the Node-ID, resulting in
different first 45 bits. The WiFi won't come up altogether in this case.
This commit verifies at least 4 MAC-Addresses are provided by the WiFi
driver. If this is not the case, all MAC-addresses are derived from the
primary MAC. This way, affected radios are working correctly.
Drivers with software rate control can directly use the selected multicast
rate for multicast/broadcast frames and the minimal basic rate for
management frames. But drivers with offloaded rate control algorithms must
be informed about such upper layer decisions to configure the
hardware/firmware.
A new BSS_CHANGED_MCAST_RATE is introduced in mac80211 to automatically
inform all drivers. ath10k can detect this event and forward it via WMI to
the driver. The already existing BSS_CHANGED_BASIC_RATES can be used to
select the management rate.
Without the WMI commands, a low rate (not necessarily one from the basic
rates) is used for bcast/mcast/management frames. This means that the
/etc/config/wireless settings basic_rate and mcast_rate would have no
effect on the rates selected by this driver for the mentioned frames.
This backports the TP-Link Archer C50 v4.
We are dropping the following upstream commits. They add support for the
TP-Link recovery-flag which enabled the web-recovery. As they are not
needed for the router to work, we drop them for now.
28cd2ca base-files: sysupgrade: support additional mtd options
1e06482 mtd: add logic for TP-Link ramips recovery magic
This allows for smaller firmware images and makes it possible to reset a
device via firstboot command.
Signed-off-by: Matthias Fritzsche <matthias@chemnitz.freifunk.net>
6e16dd1234 mt76: update to the latest version
76037756d0 kernel: bump 4.14 to 4.14.94
455bfd1065 kernel: bump 4.9 to 4.9.151
fafd7691e6 opkg: update to latest Git head
e789bd2243 opkg: drop argument from check_signature in opkg.conf
3603c2321d ramips: mt7621: fix 5GHz WiFi LED on ZBT WG3526
7f98cd8d50 odhcpd: fix onlink IA check (FS#2060)
abd0f7995e kmod-sched-cake: bump to latest cake
Compile-tested: ar71xx-{tiny,generic}, ramips-mt7621, x86-64
This commit removes the broken flag from all devices in the mt76x8
subtarget.
The stability of the mt76 driver for the mt7628 and mt7612 has greatly
improved in the last half-year. It might be still behind ath9k and
ath10k but it is suitable for daily use.
This affects the following devices:
- GL.iNet MT300N v2
- TP-Link Archer C50 v3
- TP-Link TL-WR841 v13
This commit distributes dualband radios evenly on 2.4 GHz and 5GHz with
2.4 GHz being prioritised higher than 5 GHz. This means in case a device
has only a single radio and this radio supports operation in both bands,
it will be set to 2.4 GHz.
Tested-by: Martin Weinelt <martin@darmstadt.freifunk.net>
Signed-off-by: David Bauer <mail@david-bauer.net>
753531da249f wireguard: bump to 0.0.20181119
6de949113210 wireguard: bump to 0.0.20181115
6319242a2a37 wireguard: bump to 0.0.20181018
a6a3abeb96f5 wireguard: bump to 0.0.20181007
a74369a64d0a wireguard: bump to 0.0.20181006
1f7504b8843d ethtool: update to 4.19
83cbf4c0bacd ethtool: Update to 4.18
44979a31e13b ethtool: Update to 4.17
2f97b405fed4 ethtool: Update to 4.16
ec9e3e6a9e3e mbedtls: Cosmetic cleanups
492174198f61 tools/e2fsprogs: Update to 1.44.2
e78aa6f77b73 strace: Update to 4.22
3af64ddbff9f fstools: Add the new options available in the menuconfig
dfa9d4a70ec8 fstools: update to latest git HEAD
fc38aad19491 x86: make sysupgrade.tgz reachable again
6b0bafb16b77 x86: add packages files to image bootfs
dab5305e3166 x86: mount writable bootfs
75d4465464e6 include/rootfs.mk: remove boot directory
0f5b8a92b42d mwlwifi: update to version 10.3.8.0-20181114
575621e35561 lantiq/basefiles: use shutdown instead of stop when the system goes down
f7a97a21f77b base-files: sysupgrade: Allow downloading of firmware images using HTTPS
0340d3ad2d1b flex: Add a lex symlink
e2637a471a64 Revert "iptables: fix dependency for libip6tc on IPV6"
c756d666dc04 scripts: update config.guess and config.sub
66ff4e478a1b mwlwifi: update to version 10.3.8.0-20181029
ebe02f7a354f mwlwifi: driver version to 10.3.8.0-20181022
2046cd259035 mwlwifi: driver version to 10.3.8.0-20181008
3d4eb5607817 wolfssl: update to version 3.15.3-stable
53249917825a tools/ccache: update to 3.5
1249e6d498e6 tools/xz: Add PKG_CPE_ID for proper CVE tracking
ae16d0fb39d6 tools/libressl: Add PKG_CPE_ID for proper CVE tracking
b2df8076bd69 tools/patch: Add fedora patch for crashing git style patches
27528d48e1f2 tools: patch: Add missing CVE-2018-6951 fix
a10c67b05727 tools: patch: Fix build by not modifing Makefile.am
1adb3b28a9c1 tools: patch: make patch build depend on automake
ed32045bcc64 patch: apply upstream cve fixes
ab64f9da81c7 ugps: update to latest git HEAD
b64622b0c8de uqmi: update PKG_RELEASE version
bcf824a4794f uqmi: stop proto handler if verify pin count is not 3
4f02bee9bbc7 uqmi: evaluate pin-status output in qmi_setup function
5a3810b38604 uqmi: do not block proto handler if SIM is uninitialized
1e012fd697d8 uqmi: do not block proto handler if modem is unable to registrate
5c10aaa65b1c uqmi: fix variable initilization for timeout handling
251f4fd20e7c uqmi: add timeout option value
860e2dac40db uqmi: redirect uqmi commands output to /dev/null
5d8040455e42 uqmi: fix indenting
1c56c3d2530c gre: make encaplimit support configurable
d5dd3b113465 odhcpd: update to latest git HEAD (FS#1853)
dc78c70d5c07 iw: strip a few more non-essential features from iw-tiny
ab1b46870153 iw: fix filtering linked object files for iw-tiny
0609ea0bf0de iw: add iw-full package without size reduction hacks
0d8ef978744e ubus: update to latest git HEAD
ea08a29d2a1c ipset: update to 6.38
52e9f03b49f0 zram-swap: bump pkg version
243265812813 zram-swap: Add "max compression streams" configuration option
2d4b52707dd6 zram-swap: fix number of created zram devices for multicore CPU's
9a5509736a8e zram-swap: fix zram dev reset for multicore cpu devices
5ff4ea6bc4d2 zram-swap: compression algorithm configuration option
afd6460418df zram-swap: Shell cosmetic
ac7c30708f8b zram-swap: remove trailing whitespaces in init script
d275b30414dc odhcpd-ipv6only: fix dependency for IPV6
b1cc8c8ef246 netifd: update to latest git HEAD
0ca423d59509 netifd: update to latest git HEAD
46fa2453fdbd hostapd: expose device taxonomy signature via ubus
c1a856b18ba8 hostapd: add support for client taxonomy in the full config
8bf1a35eda4f hostapd: fix MAC filter related log spam
0439280c2fcf kernel: support gcc-optimized inlining on all architectures
a29fe94e8cef kernel: Add missing config option for NFSDv4
c1e53d2c82c4 kernel: build support for NFSv4 in nfsd
1a3c129967e0 kernel: add missing dependency to regmap to kmod-gpio-mcp23s08
9885d3aec1db build: Introduce building of artifacts
16f4057188b7 build: fix libressl build on x32 (amd64ilp32) host
8b07cd6000dd build: remove obsolete -rc kernel testing rewrites
868a4cf69f93 build: insert blank line after KernelPackage template to allow chaining calls to it
ca05fd5ebf20 build: fix kernel headers install for uml
2f11a9ed68f5 cns3xxx: fix writing to wrong PCI registers
7b0e1d28e89e kernel: bump 4.14 to 4.14.89
386a57dc596c kernel: bump 4.9 to 4.9.146
217219ee1dd4 kernel: Activate VDSO on MIPS again
fbce30208801 wireguard: bump to 0.0.20180925
113dadc6dde5 wireguard: bump to 0.0.20180918
9f9f8db13865 wireguard: bump to 0.0.20180910
686f70729321 wireguard: bump to 0.0.20180904
b920285883c7 wireguard: bump to 0.0.20180809
4e165fbc29cb wireguard: bump to 0.0.20180802
b3cc304e4552 iptables: fix dependency for libip6tc on IPV6
468a4b5b6279 netifd: do not validate relevant section when ipv6 is not supported
0ccf009b623a base-files: add network_get_metric() to /lib/functions/network.sh
d5b045b52b8c ncurses: use default host install
38e99cb37942 gettext-full: host compile with -fpic
9a01ff5c0349 dante: disable sched_getscheduler() - not implemented in musl
991e43c894d0 kernel: re-enable MIPS VDSO
85c77301d4ad base-files: fix postinstall uci-defaults removal
6bcafab581cd rules.mk: add ESED command
a3446cb0d227 lldpd: inhibit linking of libbsd on !GLIBC
63b867adedf4 kernel: fix build of nftables
69d6da1de601 kernel: generic: Fix nftables inet table breakage
bbc0c4d9cbfe mwlwifi: driver version to 10.3.8.0-20180920
6f50d5ccf378 map: drop default encaplimit value
f6eab3c3de02 ds-lite: drop default encaplimit value
d9f845f76132 odhcpd: enable ipv6 server mode only when it is supported
15a023a458a2 tools/expat: fix docbook2man error on some systems
4b5e062bd3b9 base-files: /etc/services: add missing 'rpcbind' alias
376e9294c718 usbutils: Update usb.ids to 0.315
3dbdd404a872 hostapd: Fix compile with OpenSSL 1.1.0 + no deprecated APIs
fa3805f2b6d3 scripts/ipkg-build: quash error messages when conffiles.resolved is empty
f5cf9b265f78 scripts/metadata.pm: avoid adding dup names in provides list
0dbafc3a3a9b strace: fix build on aarch64
8cac88af4b0f odhcpd: bump to git HEAD (detect broken hostnames)
69f28f3a205d hostapd: fix build of wpa-supplicant-p2p
42dafa0ac589 build: add support for enabling the rootfs/boot partition size option via target feature
62e7ad1d2100 ppp: remove hardcoded lcp-echo-failure, lcp-echo-interval values
87a6aadfd558 base-files: provide more tolerant xterm detection
40ca437c325d brcm47xx: Enable USB power on WNDR3400v3
9afbe27bd01f kernel: add kmod-tcp-bbr
39420c3eadd8 libbsd: Update to 0.8.7
8ec7ad033efd kernel: fix kmod-gpio-mcp23s08 for linux 4.14
741f03b8b7c4 x86/64: enable X86_INTEL_LPSS to select PINCTRL
7d00815ea80a x86: geode: Add missing config options
ac7b9ca362f0 x86/geode: enable X86_INTEL_LPSS to select PINCTRL
4424fa9ef0bb x86: add UHCI and XHCI USB host drivers to 4.14
7772a5b05be1 build: Unset CDPATH to avoid problems
97fddb2fddbf dropbear: backport upstream fix for CVE-2018-15599
e005beec2d02 samba36: Enable umdnsd support
57f3a57abde3 base-files: create /etc/ethers by default
a009d4cdf3de mwlwifi: Update to 10.3.8.0-20180810
1e06b02bf77f firewall: bump to git HEAD
d93bd72a9806 base-files: add function to get mac as text from flash
54278dfa6938 base-files: use consistent coding style
a2b2a9c55fd9 base-files: make wifi report unknown command
7a52e0a7ab08 odhcp6c: apply IPv6/ND configuration earlier
cc6da6fa1ad6 ustream-ssl: update to latest git HEAD
4db4444697b8 imagebuilder: manifest function show stderr
2890abbcc032 scripts: time.pl: avoid hard Time::HiRes dependency
b4454ca4fae1 build: remove GNU time dependency
43c96e8dd87e iwinfo: update to latest Git HEAD
34e3a4a034bb wolfssl: disable broken shipped Job server macro
30d7924c3c62 wolfssl: remove myself as maintainer
eb9ac2590343 openvpn-easy-rsa: update to 3.0.4
38d4ba4e1917 kernel: package x86-optimized crypto-misc modules
63a87b4c7a53 base-files: do not add relevant sections & options except when ipv6 is support in kernel
c58c31bf9974 base-files: sysupgrade: abort if config backup fails
1c833e7bce26 base-files: fix HOME_URL replace
7939cd49c149 include: add netdev family support for nftables
08e73c9526f9 ncurses: install lib on host build
eb7ab27336d8 igmpproxy: drop SSDP packets
f1b086bf0fe4 include/verbose.mk: Add sc to failure message
de3e415a2e95 igmpproxy: add a silent logging option
81541d9159c9 bcm53xx: exit if writing kernel during sysupgrade fails
8dd91b56bef0 brcm2708: Update brcm2708-gpu-fw package
031d5cf24849 kernel: don't auto attach ubi on read error
e6945262642a kernel: handle bad blocks in ubi auto attach code
edc2af2be931 kernel: improve ubi auto attach code readability
c0673db23f1c build: do not override CCACHE_DIR when ccache is disabled
f8750b1a433f build: prereq-build.mk: fix gcc/g++ SetupHostCommand invocation
e5c46a112bed hostapd: remove unused struct hostapd_ubus_iface
aa3e4d56c6a5 base-files: fix wrong sysctl parameter order
4e4d124b27a3 hostapd: fix conflicts hell
775473cf8d47 hostapd: cleanup package definition
0282d04a85b3 openvpn: increase procd termination timeout to 15s
fa112bc46ac7 librpc: add host build to install h files needed for nfs-kernel-server to get compiled
6d5a6c5c9b0e verbose.mk: quote SUBMAKE options
e68e498ff354 kernel: replace bridge port isolate hack with upstream patch backport on 4.14
b06665b2052e kernel: adjust bridge port isolate patch to match upstream attribute naming
0291b76af963 tools/ccache: update to 3.4.2
bc6c4fcd2d67 tools/cmake: update to 3.11.4
24bf0c63dcde fixup-makefile.pl: fixup when PKG_SOURCE is defined elsewhere
becdd2b28e0d build: ASLR hardening use $(FPIC)
f5e33b98394e toolchain: gdb: enable TUI
3341376e0bed ebtables: update to latest git 2018-06-27
b1c42ef11571 ramips: fix wizfi630a swapped lan/wan port
3e3b286fa17a usbutils: Switch to Fedora usbutils
66353bdf5a91 samba36: Disable external libtdb and libtevent
e89126d5d2dc swconfig: swlib_map_settings(): change return type to void
c388a92d61af swconfig: fix un-initialized return value
3b9bfe8328e0 build: include package directory in sha256sums when running on buildbot
ef7a6a4d7260 base-files: add menuconfig option for HOME_URL
7408cdaa310f netfilter: add bpf match support
9f8f5d4d142a dropbear: let opkg manage symlinks of ssh, scp
32b18f6e211e busybox: udhcpc: replace udhcpc_no_msg_dontroute patch by upstream fix
fe193369872b busybox: update to 1.28.4
6d59535b6ac5 nftables: bump to version 0.9.0
cd116c6d5c8e libnftnl: bump to version 1.1.1
21bcc90b1021 base-files: exit if mtd write command fails during sysupgrade
b81774cff807 ramips: mt7621: fix mtu setting with kernel 4.14
3a507b2f9b6e kernel: avoid flow offload for connections with xfrm on the dst entry (should fix IPSec)
1e0db693dfe6 hostapd: make cli treat UNKNOWN COMMAND as failing
cc7fa7fcecbd ramips: fix reboot with W25Q256 with 4-address-mode enabled
a6b561dd01d3 ebtables: update to latest git 2018-06-06
2b51cac21a5a scripts: Replace obsolete POSIX tmpnam in slugimage.pl with File::Temp function
fc0907bc2599 netifd: drop conflicting 'device' interface property
b7beb89b5838 nettle: bump to 3.4
3e02d196553c ca-certificates: ca-bundle: add symlink for openssl default setting
60b29c9c177d curl: Add ca-bundle dependency
0d3bdf7b5940 curl: Use ca-bundle for all TLS libraries.
31f935edafa4 ath10k-firmware: Fix QCA6174 support
5826efd18ca9 hostapd: properly build hostapd-only SSL variants
000a3fef0ad9 hostapd: update packaging and patches
0d08c6705864 hostapd: convert ssl provider build options to variants
a35f24309021 hostapd: update to git HEAD of 2018-05-21, allow build against wolfssl
5435e8023e95 ustream-ssl: fix build against wolfSSL
42121995c7e5 wolfssl: change defaults to cover wpa_supplicant needs
22739871fe51 wolfssl: add PKG_CONFIG_DEPENDS symbols
49487b0ca489 wolfssl: update to version 3.14.4
fbd840724821 package sysfsutils: add support for sysfs settings at boot
903ef9aaecfb kernel: merge kmod-fbcon with kmod-fb
db4341d907a0 ath10k-firmware: Fix mirror hash sum
2e7e60f2d6eb ath10k-firmware: Update QCA988X firmware to the latest version
25f58ed81a34 nftables: bump to 0.8.5 version
1e432993c513 libnftnl: bump to 1.1.0
2f2055de0edb ebtables: update to latest git 2018-05-15
30be52e03bbf autoupdater: consider end of string smaller than all characters except for '~'
688051cb21d6 autoupdater: fix regression in version compare
0835251ca9e2 libplatforminfo: extend Makefile to define compile with custom target
90b26e338877 libplatforminfo: add Config.in for custom target
3a9ea0b47f4b libplatforminfo: add custom definition target
6f74e269c8 kernel: bump 4.14 to 4.14.87
b2f243394e kernel: bump 4.9 to 4.9.144
2213b20aee kernel: bump 4.14 to 4.14.86
bcd7644007 kernel: bump 4.9 to 4.9.143
d5afaa4114 openvpn: re-add option comp_lzo
629073e86d rpcd: update to latest Git head
1cd945ea22 ramips: fix leds on GL.iNet GL-MT300N-V2
fbadfecbb5 ipq40xx: fix openmesh sysupgrade with tar content out of order
06a20afb34 rules.mk: fix syntax error
d40e90986c rules.mk: add INSTALL_SUID macro
d40de11d1b base-files: fix prerm return value, align with postinst code
cc8e875039 sdk: find kernel modules when KDIR is a symlink
a8b292afe6 uhttpd: update to latest Git head
7a8b75375c uhttpd: support multiple Lua prefixes
fede6df09e uhttpd: update to latest Git head
9671a2d2c8 apm821xx: MBL: load kernel/dtb from SATA 0:1 first
26ebcc88e3 apm821xx: wndr4700: restore sd-card media detection
5337319bdf uclient: update to latest Git head
Compile-tested: ar71xx, ipq40xx, x86-64
Runtime-tested: ar71xx
Allow odhcp6c to fork the script to handle router
advertisments in 30 seconds intervals. This is the value
that was previously used in Gluon v2018.1 / LEDE 17.01.
The default value is 3 seconds and while it is RFC compliant
it can put alot of pressure on even moderately sized devices.
Signed-off-by: Martin Weinelt <martin@darmstadt.freifunk.net>
log-file /dev/stderr is broken for babeld as it eats log messages for debug log.
This commit gets rid of the option. This allows -d N to be used as babeld command
line option.
ath10k-ct uses a rather high number of buffers to communicate with the
QCA/Candelatech firmware. Especially the HTC (host-target-communication)
and HTT (host-target-transport) can take up a lot of memory when data is
transferred over a ath10k wifi link.
Even a 256MB device with three radios can go OOM (while sending to three
devices using UDP unicast/multicast packets) with the default buffer
limits. Unfortunately, this also reduced the maximum 5GHz throughput on an
IPQ40xx device from 494/432 Mbit/s for TCP transfers (download/upload) to
438/343 Mbit/s. These throughput values should still be good enough for a
Freifunk installation. And these changes are already used by ath10k in
OpenWrt 18.06.
This patch makes use of the new feature in l3roamd to gracefully
add, remove and list the mesh interfaces that are currently in use. This
helps when changing mesh interfaces often - a characteristic of the
wireguard protocol implementation as in the previous behavior all local
clients are dropped when adjusting mesh interfaces.
2703207 libbabelhelper: bump version, correct error handling on babel socket
8e768b3 mmfd: bump version, include babeld reconnect fix
9e0b9bb l3roamd: allow to del_meshif for initially specified interfaces and get_meshifs on socket
54fac53 micrond: add PKG_LICENSE value
d2c162f bump libbabelhelper version
9eb42b8 bump mmfd version
8fcc217 libbabelhelper: bump version
a5815a3 bump mmfd
50874ee respondd: add documentation for some protocol related functions (#194)
00c6b72 uc: add new package (#192)
c56ec3a mmfd: bump version
521246b l3roamd: bump version, fixing a crash, increasing efficiency and roaming stability by introducing ACK
gluon-wan is a sudo-like exec wrapper that switches the process group to
gluon-mesh-vpn, making it use the WAN dnsmasq rather than resolving over
the mesh.
Note that this only affects DNS at the moment. Processes running under
gluon-wan will still use the regular mesh IPv6 routing table, and not the
WAN routing table. This is not a problem for IPv4, as there is only one
IPv4 routing table.
Fixes#1575
Rename to respondd.c / respondd.so, gluon.mk expects these names. This way
we can remove the install code. The installed filename is changed to
gluon-mesh-babel.so, bringing it in line with out common naming scheme.
The redirect and dnat target are needed for gluon-alt-esc-client to
forward frames to the selected, alternative gateways.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
c6a9b01a6 CircleCI: Fix URL references and add BRANCH refs
bbbb47b7a Merge pull request #7366 from thess/ffmpeg-18.06
4e8dd3649 ffmpeg: work around hard/soft float configs for libffmpeg-full
f09f0f1c5 Merge pull request #6932 from chris5560/radicale_18.06
74fc2449e adblock: fix adguard source
1ec36271b net/mosquitto: bump to 1.5.4
5552214d8 haveged: update to 1.9.4
57b1bbb9a ccrypt: Update to 1.11
335bd7cba Merge pull request #7301 from micmac1/maria37
c646c1841 Merge pull request #7231 from padre-lacroix/bandwidthd-18.06
377f88624 mariadb: security bump to 10.1.37
104ce78af bandwidthd: [18.06] fix undefined references to inline functions This is basically same commit that took place in master 3 weeks ago. gcc-7 with -Os makes inline functions disappeard. It is caused by the new C11 inline semantics. pass option -fgnu89-inline to gcc let it use gnu inline semantics. see https://wiki.debian.org/GCC7#Porting_help
db5d46f28 build,circleci: fix container digest
da4563092 build,circleci: add 'time' to container build image
7b85f3c37 isc-dhcp: drop .conf suffix on dhcrelay config file
ca30e0654 build,circleci: copy and adjust config from master
fc212923d glib2: update to 2.58.1
06579f632 ruby: bump to 2.5.3
99208fcfe libssh: mark as BROKEN due to CVE-2018-10933
7bd9d6914 patch: Add missing CVE-2018-6951 patch
bfa879cdf patch: Fix CVE-2018-6952 and CVE-2018-1000156
971efb45a Merge pull request #7160 from EricLuehrsen/o1806_ub_181
c346de9b4 Merge pull request #7164 from pacien/181009-1806-pkg-tinc
9f5ea1c28 watchcat: make compatible with updated busybox ash array handling (fixes#7148)
58dbd3fda tinc: update to 1.0.35
f3bc02155 unbound: update to 1.8.1
482d94bf4 iotivity, i2pd, domoticz: Bump PKG_RELEASE to force re-build with Boost upgrade to 1.68
15cf061d5 gnutls: updated to 3.5.19
d7980aceb mosquitto: bump to 1.5.3
fae92edd7 sendmail: fix confLIBSEARCHPATH to $(STAGING_DIR)
21b69c23a jamvm: Use <fenv.h> instead of <fpu_control.h>
218a7a686 fdm: Merge latest version and build fixes from master
11c25f58f boost: Merge updates (1.68.0) and build fixes from master
cea8bebc6 Merge pull request #7084 from brianjmurrell/add-foolsm-to-18.06
c58367d4f cshark: update to latest git HEAD
e70b4775d strongswan: refresh patches
88715598b strongswan: fix OpenWrt hotplug script handling
1f4c93972 strongswan: add openwrt hotplug script handling
c340159a9 strongswan: include nls.mk for mysql plugin
474d9a0a1 net-snmp: fix inbound firewall rule support
fddaa085f tdb: Remove libbsd dependency
aa58b6bfb tdb: bump to latest version
da27b3134 tdb: avoid installing duplicate files
93587e54e node: Fix incorrect detection of arm_version and arm_fpu
c99983288 node: fix host build fail
0a2078bf1 nano: update to 3.1
791933dd5 Nano: Update to 3.0 Signed-off-by: Jonathan Bennett <jbennett@incomsystems.biz>
1bdddaefc foolsm: Add package foolsm
df8b221e0 Merge pull request #7053 from mlichvar/chrony-fix-ipv6-allow-18.06
1377bc60f chrony: fix configuration of IPv6 client access
23bb744ff adblock: bugfix 3.5.5v2
e8813bb56 adblock: update 3.5.5
c7e97bf2b radicale[18.06]: add extra command "export_storage" to init script
This adds support for the TP-Link TL-WR902Ac v1 travel router.
The device is marked as broken due to 64MB which might be insufficient
in certain environments.
The MT76x8 is currently not stable enough for worry-free use with Gluon.
It suffers from reboots in intervals as little as 12 hours or WiFi
freezes for several hours.
It may be unflagged as soon the situation with mt76 got better.
Before 7827f89, mandatory hostname field in config mode was
pre-filled with the default hostname.
This commit adds the config_mode.hostname.prefill option for
controlling the default value.
this activates the package by default when using the batman feature
while still allowing to explicitly remove it like this:
GLUON_SITE_PACKAGES := \
-gluon-ebtables-limit-arp
gluon-config-mode-geo-location-osm extends the
gluon-config-mode-geo-location with a location picker based on
OpenStreetMaps.
Based-on-patch-by: Jan-Tarek Butt <tarek@ring0.de>
The new code is shorter and uses more readable variable names. It does not
depend on specifically named input fields anymore (allowing to use multiple
maps on the same page), and only uses well-defined interfaces to trigger
revalidation of input fields.
The Map model class allows to add OSM maps to gluon-web forms.
Let gluon-respondd expose "MemAvailable" from /proc/meminfo to allow for
a more realistic memory-usage estimation.
Information on MemAvailable can be found here:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773
As already done with other config mode texts, the altitude field now has
default texts that are used when they are not set in the site i18n files.
The altitude-help text has been removed from site i18n; instead, the
geo-location-help text now overrides the whole section description
including the part that mentions the altitude.
8be3af93b4 uclient: update to latest git HEAD
2589f8589c sdk: include arch/arm/ Linux includes along with arch/arm64/ ones
7d15f96eaf iperf: bump to 2.0.12
4f3082583a sdk: bundle usbip userspace sources
5f23d0f3db include/feeds.mk: fix distfeeds.conf without per-feed repos
5828113986 bcm53xx: backport BCM5301X/BCM53573 dts commits from 4.19+
f7e647ca7b bcm53xx: switch USB 3.0 PHY DT description to use MDIO bus
9c110b97c6 bcm53xx: backport DT fix for I2C controller interrupt
b5b5f5dfa6 kernel: backport mtd support for subpartitions in DT
f8e57f450d kernel: backport mtd patches with Broadcom of_match_table-s
f7668334a8 Re-enable arbitrary IPv6 addresses as outer ip4-in-ip6 tunnel source address
d700eb187b kernel: remove duplicate #define's in at803x Ethernet PHY driver
20c64dabb6 kernel: re-add patch for AT8032 Ethernet PHY
93782d5e8e ca-certificates[18.06]]: remove myself as PKG_MAINTAINER
ce234299bc OpenWrt v18.06.0: revert to branch defaults
03b693064b OpenWrt v18.06.0: adjust config defaults
b0b5c64c22 Revert "ar71xx: define switch for rb-952ui-5ac2nd"
3442ec5d57 ar71xx: define switch for rb-952ui-5ac2nd
f4798d37f1 imagebuilder: add function to show manifest
a3dd6c939d ar71xx:add support for E750G v8
11a5128b98 ar71xx:add support for E750A v4
21ad5fb1ea ar71xx:add support for E558 v2
4dc0ff8183 brcm2708: split sdcard.img.gz into a sysupgrade and factory image
f24e012997 base-files: network.sh: gracefully handle missing network.interface ubus ns
d4a4f06589 iwinfo: update to version 2018-07-24
4a39d8cfd0 iwinfo: bump to latest git HEAD
cb73dd21a3 ar71xx: rbspi: fix RB wAP AC gpio conflict and LED
bb06f6d3ba ar71xx: add missing diag LED support for RB wAP 2nD
c8e8ff1c9f brcm47xx: rework model detection
ca0c649a38 bcm53xx: revert SPI controller commit breaking flash reads
cf5a892430 dnsmasq: bump to dnsmasq v2.80test3
bf1b0fad2b dnsmasq: don't use network functions at boottime (FS#1542)
cb9d5f0a7c dnsmasq: bump to latest patches on 2.80rc2
962e86d9af brcm47xx: revert upstream commit breaking BCM4718A1
29aab93ea2 mac80211: backport brcmfmac fixes & debugging helpers from 4.18
4e7f4777b0 odhcpd: update to latest git HEAD
da0dd6adc2 ubus: update to latest git HEAD
3f0d44b8de firewall: update to latest git HEAD and build with LTO
69021e9b89 ubus: update to latest git HEAD
6302f0161b libubox: update to latest git HEAD
f91a0f3b1a wireguard-tools: add wireguard_watchdog script
f1dbfa1937 wireguard: bump to 0.0.20180718
ff91b32d26 wireguard: bump to 0.0.20180708
b84a1c56f3 build: do not alter global default package selection from profiles
90b15b00a2 WDR4900v1 remove dt node for absent hw crypto.
a80276235a iproute2: tc: backport canonical cake support
5b12057d7c build: fix compile error when a package includes itself in PROVIDES
8a0ad2660a apm821xx: fix sata access freezes
This reverts commit b3d7011130.
with this change, DNS in batman-adv based networks is broken.
although the revert breaks babel based networks, this is not as big of a problem.
This device is a dual 5GHz device. It is recommended to manually change the
radio of the first device to the lower 5GHz channels and the second radio
to the upper 5GHz channels.
The commit b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route
to br-client (#1312)") moves the IPv4 prefix from the local-port interface
to br-client. A client requesting an IPv4 connection to the IPv4 anycast
address of the node (the device running gluon) will create following
packets:
1. ARP packet from client to get the MAC of the mac address of the anycast
IPv4 address
2. ARP reply from node to client with the anycast MAC address for the IPv4
anycast address
3. IPv4 packet from client which requires reply (for example ICMP echo
request)
4. ARP request for the client MAC address for its IPv4 address in prefix4
(done with the mac address of br-client and transmitted over br-client)
5. IPv4 packet from node (transmitted over br-client with br-client MAC
address) as reply for the client IPv4 packet (for example ICMP echo
reply)
The step 4 and 5 are problematic here because packets use the node specific
MAC addresses from br-client instead of the anycast MAC address. The client
will receive the ARP packet with the node specific MAC address and change
their own neighbor IP (translation) table. This will for example break the
access to the status page to the connected device or the anycast DNS
forwarder implementation when the client roams to a different node.
This reverts commit b3762fc61c and adds an
upgrade code to remove local_node_route on on existing installations.
The commit b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route
to br-client (#1312)") moves the IPv4 prefix from the local-port interface
to br-client. A client requesting an IPv4 connection to the IPv4 anycast
address of the node (the device running gluon) will create following
packets:
1. ARP packet from client to get the MAC of the mac address of the anycast
IPv4 address
2. ARP reply from node to client with the anycast MAC address for the IPv4
anycast address
3. IPv4 packet from client which requires reply (for example ICMP echo
request)
4. ARP request for the client MAC address for its IPv4 address in prefix4
(done with the mac address of br-client and transmitted over br-client)
5. IPv4 packet from node (transmitted over br-client with br-client MAC
address) as reply for the client IPv4 packet (for example ICMP echo
reply)
The step 4 is extremely problematic here. ARP replies with the anycast IPv4
address must not be submitted or received via bat0 - expecially not when it
contains an node specific MAC address as source. When it is still done then
the wrong MAC address is stored in the batadv DAT cache and ARP packet is
maybe even forwarded to clients. This latter is especially true for ARP
requests which are broadcast and will be flooded to the complete mesh.
Clients will see these ARP packets and change their own neighbor IP
(translation) table. They will then try to submit the packets for IPv4
anycast addresses to the complete wrong device in the mesh. This will for
example break the access to the status page to the connected device or the
anycast DNS forwarder implementation. Especially the latter causes extreme
latency when clients try to connect to server using a domain name or even
breaks the connection setup process completely. Both are caused by the
unanswered DNS requests which at first glance look like packet loss.
An node must therefore take care of:
* not transmitting ARP packets related to the anycast IPv4 address over
bat0
* drop ARP packets related to the anycast IPv4 when they are received on
bat0 from a still broken node
* don't accept ARP packets related to the anycast IPv4 replies on local
node when it comes from bat0
Fixes: b3762fc61c ("gluon-client-bridge: move IPv4 local subnet route to br-client (#1312)")
Add support for IBSS meshing. Leave target marked as BROKEN for IBSS
as stability is unknown and WiFi LEDs are not working.
Functionality was tested in the network of Freifunk Frankfurt with other
ipq40xx and ar71xx devices.
This commit allows for binary content in patches created via 'make
update-patches'.
Binary patches are needed for BDFs required for al boards on the new
ipq40xx target. Before this commit, binaries were omitted from the
generated patch which resulted in the patch not able to apply.
Patches without binary content do not differ in case they are created
with the '--binary' flag.
Support is marked as broken because this device is sold in two variants,
one with 64M RAM and another with 128M. As of now 64M is not enough
for ath10k with 5GHz enabled.
As there is no indication known which variant one will get better mark
it as broken.
Signed-off-by: Christoph Krapp <achterin@googlemail.com>
The new extra_image command allows to copy additional images that don't
fall into the sysupgrade or factory categories to the output directory.
These images will be placed in the "other" subdirectory.
The extra_image command takes 3 arguments: in_suffix (suffix in OpenWrt
bin directory), out_suffix (suffix in Gluon output directory) and ext (file
extension). Example:
extra_image '-tftp' '-tftp' '.bin'
The ext argument can be omitted to control the whole filename suffix
including the extension from in_suffix and out_suffix. Multiple extra_image
commands can be used for a single device; aliases work as usual.
Based-on-patch-by: David Bauer <mail@david-bauer.net>
bc7abe8729f3 include/kernel-build.mk: fix kernel rebuild on backport patch changes
c99c70e05303 kernel: backport page fragment API changes from 4.10+ to 4.9
3e81365141e4 kernel: gen_stats: Fix netlink stats dumping in the presence of padding
dd1f97b37d41 ramips: clean up and fix MT7621 NAND driver issues
68f40d7ecc4c mt76: update to the latest version
16a9ddfe64e2 ramips: ethernet: use own page_frag_cache
0e6cfb691914 ramips: ethernet: use skb_free_frag to free fragments
This commit makes use of the Power-LED as Diag-LED, allowing the LED to
work as a status indicator for config-mode.
Signed-off-by: David Bauer <mail@david-bauer.net>
b6a1f43075f9 base-files: fix UCI config parsing and callback handling
6734f32d91cd mtd: add build hack to reintroduce shared mtd for older releases
aaac9e82aa60 mtd: mark as nonshared to fix FS#484
0fee4906d5c0 ustream-ssl: update to latest git HEAD
f34a0756fd94 ustream-ssl: update to latest git HEAD
98b9d8a3d3fd mbedtls: Activate the session cache
88ba88e5adc4 mbedtls: update mbedtls to version 2.7.3
Most of the implementations behind cfg80211_get_station will not initialize
sinfo to zero before manipulating it. For example, the member "filled",
which indicates the filled in parts of this struct, is often only modified
by enabling certain bits in the bitfield while keeping the remaining bits
in their original state. A caller without a preinitialized sinfo.filled can
then no longer decide which parts of sinfo were filled in by
cfg80211_get_station (or actually the underlying implementations).
cfg80211_get_station must therefore take care that sinfo is initialized to
zero. Otherwise, the caller may tries to read information which was not
filled in and which must therefore also be considered uninitialized. In
batadv_v_elp_get_throughput's case, an invalid "random" expected throughput
may be stored for this neighbor and thus the B.A.T.M.A.N V algorithm may
switch to non-optimal neighbors for certain destinations.
optional = true does not make sense without a datatype. When no datatype is
set, the empty string will be a valid value, so data is never unset in the
write function. Restore the minlength(1) datatype so the contact setting is
deleted as intended when no value is provided.
688901a664eb bird2: Add package
ecbdeb0500cc bird: Rename to bird1 and bump to v1.6.4
453de2136e2f nodogsplash2: update to version 2.1.1 (#376)
a71ecc3dddc4 babeld: Update to 1.8.2
209877071051 miniupnpd: drop from repo
6e47c22268d5 ar71xx: Deactivate build of Netgear WNR2000v3
9dd189d4adc4 mvebu: Add support for WRT3200ACM with new NAND flash
adfd64ddd62c brcm47xx: add switch port mapping to Asus WL-500W
4a38c0cad5b2 odhcpd: fix managed address configuration setting
058a0b7552f8 apm821xx: Add default packages to NAND target
6eec0e46ed33 wireguard: bump to 20180519
5ad80ff24b27 wireguard: no longer need portability patch
83089916dcc3 wireguard: bump to 20180514
6cc65b05f311 wireguard: Add support for ip6prefix config option
0e3cc084968f wireguard: bump to 0.0.20180513
4cb9af80dd9b wireguard: bump to 20180420
9e5bed665259 wireguard: bump to 20180304
57e773bd4ea7 wireguard: bump to 20180202
90d9df048b47 wireguard: bump to 20180118
161d95f4c5a7 kernel: bump kernel 4.4 to 4.4.132 for 17.01
2c0cd47dab77 rpcd: update to lastest HEAD
7b54d52a443e kernel: use accepted version of bcm47xxpart fix commit
3c81d12ec328 bcm53xx: backport the first bunch of 4.18 BCM5301X patches
b07875308476 ar71xx: fix and improve ALFA Network Tube2H support
e8b1af45f8b2 kernel: bump kernel 4.4 to 4.4.131 for 17.01
c34d129afb48 batman-adv-legacy: update to git version 2018-06-03
ed7ed7dcbaf0 autoupdater: allow skipping the version check (#187)
6268f870f17f mmfd: bump version to use new libbabelhelper, do not start verbose
f51707e1c5fd libbabelhelper: bump version for new lexer
d3391981cd09 l3roamd: bump version
A reference to the best gateway is taken when the list of gateways in the
mesh is sent via netlink. This is necessary to check whether the currently
dumped entry is the currently selected gateway or not. This information is
then transferred as flag BATADV_ATTR_FLAG_BEST.
After the comparison of the current entry is done,
batadv_*_gw_dump_entry() has to decrease the reference counter again.
Otherwise the reference will be held and thus prevents a proper shutdown of
the batman-adv interfaces (and some of the interfaces enslaved in it).
Fixes: 899235a4a637 ("Merge pull request #241 from ecsv/batman-adv-2016.4-maint-2016-10-29")
Reported-by: Andreas Ziegler <dev@andreas-ziegler.de>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Adds support for Alfa AP121F USB powered travel router (looks like an USB ethernet adapter).
There is no factory image, but only a sysupgrade file for this router which can be installed using the inbuilt UBoot web interface.
Configure your PC with IP address 192.168.1.2 and connect the router using its RJ45 port. Hold the reset button while powering the device until all LEDs have flashed 3 times simultaneously. You can now access the fallback web interface using a web browser at http://192.168.1.1 and flash the sysupgrade file.
* do not allow to obligatorily require contact information
* add remark that the data is provided voluntarily
* mention how to delete the data
* be very clear about the fact that the data being entered is public and
can be downloaded and processed by anyone.
This commit adds support for the AVM Fritz!Box 4020 WiFi-router.
SoC: Qualcomm Atheros QCA9561 (Dragonfly) 750MHz
RAM: Winbond W971GG6KB-25
FLASH: Macronix MX25L12835F
WiFi: QCA9561 b/g/n 3x3 450Mbit/s
USB: 1x USB 2.0
IN: WPS button, WiFi button
OUT: Power LED green, Internet LED green, WLAN LED green,
LAN LED green, INFO LED green, INFO LED red
UART: Header Next to Black metal shield
Pinout is 3.3V - RX - TX - GND (Square Pad is 3.3V)
The Serial setting is 115200-8-N-1.
Tested and working:
- Ethernet (LAN + WAN)
- WiFi (correct MAC)
- Installation via EVA bootloader
- OpenWRT sysupgrade
- Buttons
- LEDs
Not working:
- USB port
Installation via EVA:
In the first seconds after Power is connected, the bootloader will
listen for FTP connections on 169.254.157.1 (Might also be 192.168.178.1). Firmware can be uploaded
like following:
ftp> quote USER adam2
ftp> quote PASS adam2
ftp> binary
ftp> debug
ftp> passive
ftp> quote MEDIA FLSH
ftp> put openwrt-sysupgrade.bin mtd1
Note that this procedure might take up to two minutes. After transfer is
complete you need to powercycle the device to boot OpenWRT.
Signed-off-by: David Bauer <mail@david-bauer.net>
This commit adds information about:
- how cpu time is spent since boot in jiffies (1/100*sek) (cpu)
- the value is summed for all cores, so in 10 seconds the
summed values will increase by 4000, if the cpu has
4 cores
- context switches since boot (ctxt)
- interrupt counters since boot (intr, softirq)
- forks since boot (processes)
{ "stat": {
"cpu": {
"user": 219403,
"nice": 1714,
"system": 75159,
"idle": 2727739,
"iowait": 2943,
"irq": 0,
"softirq": 571
},
"intr": 8426340,
"ctxt": 50992590,
"processes": 10549,
"softirq": 5161884
} }
999bb66b20b0 kernel: add missing in6_dev_put_clear call to an ipv6 network patch
81573ea25924 kernel: bump kernel 4.4 to 4.4.129 for 17.01
afa887388766 gcc: gcc 6.3.0 fix comparison between pointer and integer
In multidomain setups, VXLAN is enabled by default, but can be disabled in
domain configs using the mesh/vxlan option. In single domain setups, the
mesh/vxlan option is mandatory.
The UCI option for legacy mode is removed.
Fixes#1364
efb6ca189641 base-files: /lib/functions.sh: ignore errors in insert_modules
b5ba01a0d3f6 fstools: update to latest lede-17.01 branch
a9b607740273 kernel: bump kernel 4.4 to 4.4.126 for 17.01
09d95e44fc3d mbedtls: change libmbedcrypto.so soversion back to 0
4673a0bffc89 kernel: mtd: bcm47xxpart: improve handling TRX partition size
Also switch to the upstreamed version of "kernel: disable accept_ra by
default".
ar71xx-generic and -tiny benefit most from the optimized kernel, as they
contain all devices with 32MB RAM. We enable CONFIG_GLUON_SPECIALIZE_KERNEL
for all targets using the mips24_kc architecture so packages shared between
targets don't need to be rebuild all the time.
dnsmasq's caching is severly broken and does not handle all answer records
equally. In particular, its cached answers are missing DNSKEY and DS
records, breaking DNSSEC validation on clients.
Remove the cache for now. It may return if dnsmasq is fixed or we switch to
a different resolver.
net.ipv6.conf.br-client.forwarding is moved from gluon-client-bridge to
gluon-mesh-batman-adv, as the setting is not useful with non-bridged
protocols.
With the batman-adv multicast support compiled back in again we end up
with multicast addresses in the batman-adv translation table.
Currently we wrongly interpret multicast addresses returned by TT as a
unique host, too, which adds them with a source address filter to
ebtables as well. However, the source address of an ethernet frames is
never supposed to be a multicat one.
This leads to unnecessary entries in ebtables. Fixing this by ignoring
those MAC addreses returned by TT which have the multicast bit set.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
At the moment, we don't have a good guideline for package-specific
configuration, but it seems like a good idea not to split configuration
into too many tiny pages, especially for packages that aren't commonly
selected explicitly.
Some uncommon configuration is dropped from the example site.conf to remove
clutter.
This setting allows to enforce manually setting a hostname.
In the initial configuration, the hostname field is now left empty; when
setting the hostname is not enforced, the default hostname is shown as the
field placeholder.
Fixes#1139
60f8d388c69e kernel: merge a pending fix for HFSC warnings/slowdowns (fixes FS#1136)
f609913b5c60 mbedtls: update to version 2.7.0
58a95f0f8ff7 tools/e2fsprogs: fix building on a glibc 2.27 host
Our VXLAN setup was changed to accept VXLAN packets without checksum almost
2 months ago, so we can disable sending the checksums now as well. Slightly
improves performance.
The RFC standard multicast querier interval is 120s. Our querier uses in
interval of 20s for better support of roaming clients, but our robustness
setting of 3 leads to external queriers using the standard interval to be
timeout after only 60s, leading to frequent "querier appeared/disappeared"
messages. Increase robustness so that external queriers with any interval
<180s are supported.
31e20006049b treewide: remove redundant definitions from package Makefiles
53a659abf880 lua-geolocate: add package for WLAN-based geolocation based on openwifi.su
9b0a4bafbce7 base-files: tune fragment queue thresholds for available system memory
b47094ce96ff include/package-defaults.mk: fix default Build/Prepare with empty ./src
75be005e8bdc include/rootfs.mk: retain list of conffiles with CONFIG_CLEAN_IPKG
696c6325a3a7 include/rootfs.mk: do not remove opkg prerm scripts during rootfs preparation
17c0362178ca base-files: sysupgrade: do not rely on opkg to list changed conffiles
2ae9ebf37402 kernel: bump 4.4 to 4.4.120 for 17.01
571d3def6baf x86: add preinit hook to reload microcode
681aaaf719ec firmware: add microcode package for Intel
c6314ee06f94 firmware: add microcode package for AMD
222521d5937a tools: add iucode-tool
f7a6b6724a63 x86: enable microcode loading for Intel and AMD
dfe620cb93c0 odhcpd: fix interop with wide DHCPv6 client (FS#1377)
18c999a6ff33 base-files: fix off-by-one in counting seconds for factory reset
92ea65b36aa7 sunxi: disable LPAE to allow kernel to run on A13
7dcbe0e22dbb bcm53xx: fix fallback code for picking status LED
4db583b9c2ab mountd: update to the latest version from 2018-02-26
The first one adds a fix that might potentially result in multicast packet
loss once we would enable multicast_mode again.
The second one avoids some small but unnecessary overhead. More
importantly though, it is supposed to ease further multicast improvements
later (e.g. no need for a multicast sending node to determine overlap
between WANT_ALL_IPV4/6 flags and TT entries while on fast-path).
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
We must ensure that each node becomes IGMP/MLD querier for its local
clients; having only a single querier for the whole mesh is generally
unreliable, leading to frequent "IGMP/MLD querier appeared/disappeared"
messages from batman-adv and unreliable snooping.
In smaller meshes it might be interesting only segment querier domains, but
allow membership reports to pass through the mesh, in order to support
snooping switches outside the mesh without special configuration. A
site.conf switch is provided to control this behaviour.
Fixes#1320
A downside of this behaviour is that the page does not work for IPv4-only
clients, as the redirect will always point at an IPv6 address.
Still, it seems like a good idea to enforce the redirect even from the IPv4
next-node address, as switching nodes while being connected to the status
page would lead to unexpected behaviour.
All Access-Control-Allow-Origin are removed to improve users' privacy. As
the status page API is thus not useful without the status page anymore,
merge them back into a single package.
The status-page-api respondd provider is removed as well.
Fixes#1194
This new status page is significantly smaller than the old one. It always
loads its resources from the same host as the page itself, not requiring
cross-origin requests anymore.
It also uses the common i18n infrastructure of gluon-web.
Fixes#914
- CGI script and index.html are moved from gluon-web to
gluon-config-mode-core, the script is renamed to 'config'
- gluon-web and gluon-web-model base views and i18n files are symlinked
into the new path
- gluon-web-theme is renamed to gluon-config-mode-theme and installs
directly into the new path
- all gluon-web-* models, controllers and views are moved into the new
path
By emitting Lua code to call translate() and pcdata(), we are more
flexible than when doing this internally in the parser. The performance
penalty should be negligible.
788312ca59c5 uqmi: ensure CID is a numeric value before proceeding
b934aa2f2144 kernel: update 17.01 kernel to 4.4.116
b3b16c8ce5c6 uqmi: use built-in command for data-link verification
e9eb219e5a07 uqmi: use correct value for connection checking
5661ac1de4d8 uqmi: use general method for state cleaning
7c259fb98018 uqmi: silence error on pin verification
046222dfaf12 uqmi: fix raw-ip mode for newer lte modems
0393009ec84e net: uqmi: fix blocking in endless loops when unplugging device
31ae7381b8db kernel: refresh patches
3b227103e6a3 kernel: backport raw-ip mode for newer QMI LTE modems
f60be720772c base-files: don't evaluate block-device uevent
623cdc4ffeef ramips: backport mt7530/762x switch fixes
b15d54e659b4 perf: use libunwind
566ff9e6ee69 libunwind: enable build for arm
This patch moves the prefix4 subnet route from the local-node veth
device to br-client (while keeping the next node ipv4 address on the
local node device).
This is in preparation to allow routing over the br-client interface
later.
This package adds filters to limit the amount of ARP Requests
devices are allowed to send into the mesh. The limits are 6 packets
per minute per client device, by MAC address, and 1 per second per
node in total.
A burst of up to 50 ARP Requests is allowed until the rate-limiting
takes effect (see --limit-burst in the ebtables manpage).
Furthermore, ARP Requests with a target IP already present in the
batman-adv DAT Cache are excluded from the rate-limiting,
both regarding counting and filtering, as batman-adv will respond
locally with no burden for the mesh. Therefore, this limiter
should not affect popular target IPs, like gateways.
However it should mitigate the problem of curious people or
smart devices scanning the whole IP range. Which could create
a significant amount of overhead for all participants so far.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
This is needed for the Gluon ARP limiter to work without hiccups in
traffic.
Link: https://patchwork.ozlabs.org/patch/841210/
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
Both gluon.sysconfig and libgluonutil already remove the trailing newline
if it exists. It's nicer to avoid files without a trailing newline, e.g.
for printing the file contents in a terminal.
This is currently only implemented in the gluon-mesh-vpn-fastd
package.
Advertising the public key may be deemed problematic when
your threat-model involves protecting the nodes privacy
from tunnel traffic correlation by onlink observers.
It can be enabled by setting site.mesh_vpn.fastd.pubkey_privacy
to `false`.
b1205a9211 ar71xx: /lib/ar71xx.sh: add model detection for TP-Link TL-WR810N
fbeae9d891 iptables: make kmod-ipt-debug part of default ALL build
6ea9a702c5 iptables: Fix target TRACE issue
00fa1e4108 curl: fix libcurl/mbedtls async interface
d5278cc48b kernel: bump 4.4 to 4.4.112 for 17.01
2ae0741f3b dnsmasq: backport validation fix in dnssec security fix
58d60bd283 dnsmasq: backport dnssec security fix for 17.01
d626aa005b mountd: bump to git HEAD version
f0336975be kernel: bump 4.4 to 4.4.111 for 17.01
fb6f21c657 kmod-sched-cake: bump to latest cake bake for 17.01
2e8a3bb35f ar71xx: Netgear WNR2000v4: do not include USB packages [17.01]
3fa86282fa build: fix restoring /etc/opkg with PER_DEVICE_ROOTFS
987a7e3175 ramips: fix lenovo newifi-y1 switch and LED config
dbb5ffaed5 ramips: firewrt: indicate boot status via LED
If a value is unset or optional, an empty choice is added to the selection.
This empty choice will be marked as invalid if the value is not optional.
This is properly supported for the 'select' widget only for now, and not
for 'radio'.
This package drops all incoming router advertisements except for the
default router with the best metric according to B.A.T.M.A.N. advanced.
Note that advertisements originating from the node itself (for example
via gluon-radvd) are not affected.
Also disabling TX checksums and not only allowing incoming packets without
checksum will provide another small speedup. As doing so would break wired
meshing with VXLAN-enabled nodes that require non-zero checksums, we will
wait a few days before this step.
9a6ad5c batman-adv-legacy: update to 2018-01-23 git version
ea9c5dc batman-adv-legacy: update to 2018-01-22 git version
Fixes "hw csum failure" log spam in batman-adv-legacy.
In addition to significant internal differences in check_site_lib.lua (in
particular unifying error handling to a single place for the upcoming
multi-domain support), this changes the way fields are addressed in site
check scripts: rather than providing a string like 'next_node.ip6', the
path is passed as an array {'next_node', 'ip6'}.
Other changes in site check scripts:
* need_array and need_table now pass the full path to the sub fields to the
subcheck instead of the key and value
* Any check referring to a field inside a table implies that all higher
levels must be tables if they exist: a check for {'next_node', 'ip6'} adds
an implicit (optional) check for {'next_node'}, which allows to remove many
explicit checks for such tables
This should not convert JSON to a Lua table and back, as this loses the
distinction between arrays and objects, but as our site.conf is defined in
Lua anyways (for now), this can be fixed in a later revision.
[Matthias Schiffer: rename to gluon-show-site, rebase]
By basing the Lua gluon.site module on gluonutil_load_site_config(), the
config load implementation needs to changed only in a single place for
multi-domain support.
c3cdc53164 ag71xx: Fix rx ring buffer stall on small packets flood on qca956x and qca953x.
e07ee06aad ar71xx: QCA956X: add missing register
7bc25dfa63 mvebu: fix mvneta build with Linux 4.4.110
541a1a7ff5 lantiq: activate noise margin delta for VDSL too
dea8979a81 Lantiq: make possible to tweak DSL SRN from UCI
9934231670 libubox: update to latest lede-17.01 git HEAD
7f5a040359 kernel: update kernel 4.4 to version 4.4.110
ddedcb19e5 brcm47xx: relocate the stack in loader
da43069f5b brcm47xx: relocate loader to higher address
f19416ae9d fstools: backport fix from master branch
55c23e44f4 procd: update to latest git HEAD
ffbbcc9b34 brcm47xx: image: build firmware for Asus WL-500g Deluxe
0426596453 Revert "iptables: fix nftables compile issue (FS#711)"
da126d557c iptables: fix nftables compile issue (FS#711)
473e994571 rpcd: backport version 2017-12-07 from master
b833944eb2 uci: update to HEAD of lede-17.01 branch
dca4dfacf2 iproute2: cake: fix patch format error
ee55629a30 kernel: bump 4.4 to 4.4.108 for 17.01
c4e9487cf5 iproute2: cake: support new operating modes for 17.01
4f1dca9eca kmod-sched-cake: bump to latest bake of cake for 17.01
959a49dc15 ramips: fix widora neo diag led
a1908023cc base-files: fix logic when to show failsafe banner
1c9299877b base-files: set FAILSAFE in /etc/profile when /tmp/.failsafe exists
2603c85060 wireguard: bump to 20171221
f8a441e020 kernel: bump 4.4 to 4.4.107
ceea0ac25d wireguard: bump to 20171211
ebb54740c7 brcm47xx: remove target specific network preinit config
b41d154f50 rules.mk: export TMPDIR
e719a08cc1 usbutils: Update usb.ids file to latest
4cfcfecf76 hostapd: remove unused local var declaration
796bc21023 hostapd: don't set htmode for wpa_supplicant
50147d41b9 libnl-tiny: use fixed message size instead of using the page size
0625814426 packages: nvram: fix memory leak in _nvram_free
0f175041ad mac80211: don't pass the hostapd ctrl iface in adhoc
05f0fac189 hostapd: explicitly set beacon interval for wpa_supplicant
7f78a86254 hostapd: set mcast_rate in mesh mode
c315843f88 igmpproxy: remove firewall rules when service is stopped
91e48304a9 openvpn: add support to start/stop single instances
e5c284bb81 package/elfutils: add CFLAG -Wno-format-nonliteral
dde29b2b01 tools/coreutils: install readlink
2f75641b1f uhttpd: fix query string handling
79024cd3be openssl: fix cryptodev config dependency
bead60c2d3 uqmi: replace legacy command invoke with newer type
5872c19c63 procd: Always tell cmake whether to include seccomp support or not
cd901ef1a6 libunwind: disable building with ssp
1aedf2f149 tools/squashfs: use host cflags
7fa70027d4 ppp: make the patches apply correctly again
d63eb474b3 ppp: fix compile warning
9bd667fc24 dropbear: fix PKG_CONFIG_DEPENDS
9d1bfb8f4d dropbear: make ssh compression support configurable
ed4f4f1a8e procd: Install seccomp-trace symlink
77e79b2dd0 openvpn: update to 2.4.4
5beb0abc83 build: remove @ as it's causing an error
eff1f7e7ef usbutils: avoid duplicating the git revision
9cf371c1f4 dnsmasq: Pass TARGET_CPPFLAGS to Makefile
2f80d84638 wwan: json format in some modem definitions
c61cf4a447 base-files: add /etc/profile.d to conffiles
bdc998c696 base-files: order conffiles alphabetically
c58e824acc procd: mdns: Support txt values with spaces
aaa73fea36 ar71xx: fix switch port numbering on RB750r2 and RB750UPr2
b69ea02a00 scripts/dowload.pl: use glob to expand target dir
80a22eee4b samba36: Remove syslog and load printers lines.
71797b6eca samba36: Don't resolve interfaces.
1458bc2d9c samba36: Remove guest ok since LuCI configures it.
f0065554b2 config: make CONFIG_ALL_* select other CONIFG_ALL_* options
2b88309335 nvram: add help message for nvram magic not found
118a2ea0bc nvram: improve argument check when program start
c446ee4ad4 nvram: add usage() function
9e84d333b1 nvram: fix memory leak
3b6b892d67 ca-certificates: Update to 20170717
23b9dc2eca base-files: drop unused preinit_echo function
ca7c9db47f tools/pkg-config: Update to 0.29.2
75d8127338 base-files: suppress uci not found output in login.sh
b616aa6db7 scripts/package-metadata.pl: inhibit compile deps on missing build types
2e1a87a3e1 build: bundle-libraries.sh: do not override argv[0] in inner exec calls
a37f8b0c6e samba36: Remove legacy options
89c4f47caa scripts/download.pl: Adjust URLs
338968a170 build: fix invocation of bundled ld.so in SDK and Imagebuilder
0a976262a5 kmod-sched-cake: drop maintainer
610e2afdcc zlib: use default Build/Configure rule
cf11a41af6 lzo: use default Build/Configure rule
c86490605c netfilter: add iptables-mod-rpfilter package
ea23ba9a25 bzip2: add symlink to binary
d413c75d24 dropbear: add option to set max auth tries
8693ab5152 dropbear: server support option '-T' max auth tries
0e6a6c8487 hostapd: configure NAS ID regardless of encryption
ef3649d90e hostapd: add acct_interval option
3027a68093 valgrind: bump to 3.13.0
3129db331c busybox: backport 'ip rule suppress_{prefixlength, ifgroup}'
86158ad37d libunwind: update to version 1.2.1
59004433e9 imagebuilder: don't rewrite package list output
74eeb07817 imagebuilder: clean package_list
7f3f2bc03b build: remove old kernel-headers build directories
c7234e3036 imagebuilder: add package_list function
9c3e4b5434 base-files: board.json's switch reset means existence, not argument
7d1f4073ce gdb: remove Build/Compile rule ; default one works
9a99039989 rb532: enable high-res timers, refresh kernel config
e802cbfc25 xburst: enable high-res timers, refresh kernel config
e01367e3af kernel: add CONFIG_SCHED_HRTICK=y to the generic config
6e1e2e7b96 package/grub2: update to 2.02
13a5568d6e ip17xx: correct aneg_done return value
816fb3433b mvswitch: fix autonegotiation issue
41ee45428b ppp: propagate master firewall zone to dynamic slave interface
a44c44077e usbmode: remove devices with unsupported modes
e8bd0a606a tar: override symlink permissions
59a1c1675d tools/sparse: Update to snapshot 2017-03-31
a6e5943a2a elfutils: Pass -Wno-unused-result to silence warnings as errors
08070221ed gcc: fix documentation entries added by 910-mbsd_multi.patch
ef43c04c34 scripts/download.pl: print the command used to download files
6e09b20563 tools/libressl: update to 2.5.4
08be74f699 tools/isl: update to 0.18
26ea59cd01 lldpd: bump to 0.9.7
444b64f533 libunwind: update to 1.2
e5612d6640 lantiq: spi: double time out tolerance
28c350f2f0 base-files: fix default procd reload
108a42bcba ramips: support jumbo frame on mt7621 up to 2k
8d4c047dd1 lldpd: drop specific respawn params [use system-wide]
8ee15ed61a elfutils: bump to 0.169
9754a9c606 devel/trace-cmd: Update to 2.6.1
79def69047 comgt-3g: enable modem before to setpin
070463fb61 devel/strace: Update to 4.16
67caf6bbce network/utils/ipset: Update to 6.32
f0a493160c mac80211: gracefully handle preexisting VIF
827f108b42 scripts: Probe external toolchains for libthread-db
bb9eb2c96e build: new fixes for symlinked .config handling
4607007a86 build: allow val.% targets to bypass the prepare steps
90575776b7 x86: keep /boot mounted for kexec
6b9eb0c73a hostapd: fix reload frequency change patch
040ff6fdbd build: remove absolute path to perl and replace with /usr/bin/env perl
98588273b1 kernel: allow selecting RTC drivers on targets without explicit RTC support
f30114c7c4 dropbear: fix procd interface trigger install
3e7f191008 include/packages-defaults.mk: Remove LARGEFILE option
a1392e08c5 netifd: return error status in reload_service
10182cb2c6 grub2: update to 2.02~rc2
38ea91ea9a base-files: use restart if no reload hook for service
9b24d99b91 iproute2: add libgenl.h and ll_map.h to InstallDev section
94597229c3 busybox: fix installation of cron and ntpd scripts in the default config
9ce30f7175 kernel: move initramfs's init script out of base-files
c8a0f3aa29 target.mk: check that CPU_TYPE has known CPU_CFLAGS mapping
977db9f08a scripts/download.pl: fix error message on hash mismatch
7fb03d9610 netifd: fix fw3 warnings in dhcp script
f69d73f1b2 build: allow specifying flow-control to grub on serial console
91821c8c0b kexec-tools: get kexec running on MUSL and x86 hardware
affff02798 busybox: don't install NTP scripts if NTP isn't configured
7ccfa826ee ar8327: Add workarounds for AR8337 switch.
0aafbf6c00 build: fix STAMP_PREPARED with quilt
80304ace58 lantiq: remove lantiq_board_model, it is unused
8be5b12ea1 lantiq: remove lantiq_board_name, use the generic function instead
0f0d742ae3 lantiq: move lantiq_board_detect() to 03_preinit_board.sh
f173464f13 base-files: add generic board_name function to functions.sh
62a8252a0f mac80211: Fix race condition leading to wifi interfaces not coming up at boot sometimes.
5f03ce1213 scripts: only generate config from feature flag if fully match
f7f69130e5 lzo: Update to 2.10
6ba0cc14e9 tools/coreutils: Update to 8.27
100553d605 tools/libressl: Update to 2.5.1
25fe034861 tools/dosfstools: Update to 4.1
ed4976d884 tools/sed: Update to 4.4
7263e3cdca lldpd: bump to 0.9.6
3225fbfcbf x86: image: drop duplicated copy of bzImage into vmlinuz
37aae44a47 libnl: Fix building with uClibc
950439234e toolchain: add musl libc.so to external toolchain
cfb5a550e4 iwcap: fix handling kill signal during dump
1411493569 x86: image: drop unneeded grub call
58e0c0feec x86: image: drop unused ROOTDELAY variable
05f0b8d18b ccache: update to 3.3.4
15efa09507 base-files: add submission service port
56b9f0ffc0 procd.sh: use parameterized respawn values
28c9731984 toolchain: Allow external toolchains to specify libthread-db
2dd9b62f82 rssileds: Fix build with external toolchains
2d31ec4c1b adb: Also pass TARGET_CPPFLAGS
ec395eeb17 swconfig: Link with libubox
c6dd059a9a px5g: Fix TARGET_LDFLAGS and add TARGET_CPPFLAGS
12b811a609 omcproxy: Update to latest HEAD
1e3ff02ea5 bsdiff: Also pass down TARGET_CPPFLAGS
051a33e7c9 thc-ipv6: Allow overriding CFLAGS
a91d8dd162 tools/m4: update 1.4.18
acd481470c build: get rid of FIND_L from host.mk
11cd6077ba build: unsilence move command
903a404663 build: skip headers install and config on make target/linux/prepare
a7fc27edce build: make Host/Install/Default use Host/Compile/Default with an extra argument
94f079e338 build: Pass -iremap gcc option as a single argument
3056122bf7 toolchain/gcc: parallelize make install
a33b0ced78 toolchain/musl: parallelize make install
1d0f7e3136 imagebuilder: make submake invocations less verbose
bdb05f5ef5 gcc: remove obsolete uclibc patch
90a43e508e toolchain/gcc: reduce source directory size by about 420 MB
82615922b0 bcm53xx: suppress osafeloader info error messages during flashing
c566a9e563 toolchain: Broaden the executable loader pattern
3387158e45 build: Suffix build directory with _$(LIBC) for external toolchains
2428b6d6b6 tools/sstrip: Fix compile under standard linux.
50b478956a openssl: update to 1.0.2n
135aa3ba7e base-files: upgrade: make get_partitions() endian agnostic
207bcea1de cyassl: update to wolfssl 3.12.2 (1 CVE)
3bb881862b mdadm: fix parameter quoting
6c1b6e8221 mdadm: Fix config generation
4fc0fb3ca3 mdadm: Do not check RUN_DIR
157b892994 kernel: remove out of tree direct-io disable hack
adc9f935c3 utils/mdadm: Update to 4.0
8bf67f63b9 mdadm: extend uci config support
4af145ea67 rules.mk: make PKG_CONFIG_DEPENDS properly track string values
2b664499cd kernel: bump 4.4 to 4.4.103 for 17.01
ed82c52a4a uqmi: also try newer pin verification
b41a2e646e opkg: bump to version 2017-12-08
f5f5f583f9 hostapd: backport fix for wnm_sleep_mode=0
19ebc19f54 hostapd: Expose the tdls_prohibit option to UCI
3590316121 dnsmasq: backport infinite dns retries fix
060b7f1fbb curl: apply CVE 2017-8816 and 2017-8817 security patches
4b5861c47d mt76: update to the latest version
f19d47f848 tools: patch various gnu tools for macOS 10.13
e5a10bc0fc samba36: backport an upstream fix for an information leak (CVE-2017-15275)
d77fe9219a ramips: backport MT7628 pinmux fixes
9601e6a0e2 ramips: add missing reset button for Nexx WT1520
0946ec0f46 wireguard: bump to snapshot 20171127
This enables the ebtables internal locking mechanism which
will avoid race conditions between multiple, concurrent
ebtables calls.
This is a preparation for the upcoming gluon-arp-limiter
daemon, to avoid issues if upon restarting gluon-ebtables
the gluon-arp-limiter daemon tries to modify the tables.
Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue>
The previous locking mechanism was not atomic, hence it was possible
that a killed ebtables process would leave the lock file in place which
in turn made future ebtables processes wait indefinitely for the lock to
become free.
Fix this by using flock(). This also simplifies code quite a bit because
there is no need for a custom signal handler or an __exit routine
anymore.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
We would like to check the file size instead of downloading indefinitely.
The file size is added in another copy of the manifest lines, which is
ignored by older autoupdater implementations.
Interacting with batman-adv's genl interface requires some code and
definitions which could be shared between different packages. libbatadv is
trying to do this without providing any guarantee for ABI or API stability.
It is only useful in very controlled environments like gluon.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Allow using relative paths for GLUON_SITEDIR, GLUON_OUTPUTDIR, ...
We also check for whitespace in paths now, as build will not work properly
with whitespace anyways, and Make's abspath would require escaping
otherwise.
[Matthias Schiffer: minor changes, rewrite commit message]
7f3dab2fc3 kernel: bump 4.4 to 4.4.102
d3f40aabba wireguard: bump to 20171122
7ec639451d ramips: fix Planex CS-QR10 device packages
6cfa7e5788 ramips: fix DCH-M225 support
e626942c33 dnsmasq: load instance-specific conf-file if exists
d64c0e54a5 rpcd: update to version 2017-11-12
ecaad8b2cb brcm47xx: fix switch port mapping on D-Link DIR-330
d851d7fa56 wireguard: fix portability issue
8751bd771d wireguard: move to kernel build directory
ed571c14e0 wireguard: bump to 0.0.20171111
c9fb48a432 procd: update to latest git HEAD (fixes and improvements)
cda8ec7dd8 openssl: update to 1.0.2m
421754191d brcm47xx: fix switch port mapping on Asus RT-N12 and RT-N16 models
95824b9bf6 rpcd: update to the latest version from 2017-11-09
792559f25b mountd: bump to git HEAD version (optimization fixes)
a0ef1c478a functions.sh: fix default_postinst function
* gluon-core, gluon-client-bridge: introduce new firewall zone: local_client
* gluon-core: put clients in local_client zone, introduce drop-zone,
set dns-rules and zones
* gluon-respondd: allow respondd on mesh
* gluon-status-page-api: allow http input on mesh and client
6b6578feec wireguard: version bump to 0.0.20171101
9740523763 ar71xx: fix LED config for DIR-869 A1
bdf19eec35 ipq806x: nbg6817: sync MAC addresses to the upstream values
2aff2add31 ipq806x: nbg6817: add kmod-fs-ext4 to device packages
63f6408ccc uclient: update to the latest version, fixes fetch of multiple files
Fixes a build issue in kmod-jool.
82ef2fd7 jool: fix PKG_BUILD_DIR to avoid kernel ABI mismatch
fee9a0aa monit: update to 5.24, use https download url
5a6fcfbc monit: update to 5.23
4479fada monit: update to 5.20, use PKG_HASH
9ce3deb8 sqlite3: update to 3.19.3
6bca8579 libs/sqlite3: Update to 3190200
0a279576 sqlite: update to 3.17.0
58a1a733 libwebsockets: add PROVIDES to both variants
e967fd8c icu: fix CVE-2017-14952 Double-Free Vulnerability [lede-17.01]
3c29b149 Revert "Provides a way to acquire the list of installed packages without the"
27bdc743 Revert "add ubus call to perform a sysupgrade and acl file for the attended"
cdcf6ad2 Revert "due to renaming .rpcd was forgotten in the Makefile"
04cbc70c due to renaming .rpcd was forgotten in the Makefile
f6c287f1 add ubus call to perform a sysupgrade and acl file for the attended sysupgrade use case as well uci defaults. Package is a part of the GSoC 17 project implementing easy sysupgrade functionality.
983819f3 Provides a way to acquire the list of installed packages without the need to have opkg available. It is being used for the GSoC 17 project implementing easy sysupgrade functionality.
cd5c4487 wireguard: drop package
9040b270 noddos: new backport of noddos from master branch
72e88678 wireguard: bump to release 0.0.20171005 for 17.01
de79f4c7 bluez: fix CVE-2017-1000250
b56e6504 tor: update to version 0.2.9.12
c69b0774 tor: update to version 0.2.9.11
ea9ca5ed ruby: bump to 2.4.2
fa3a118d collectd: uptime plugin: apply fix from upstream
4739584c mwan3: fix interface-bound traffic when interface is offline
d61bf45c haproxy: update to 1.7.8 and pending patches - fixes reload issue with hanging process
a6a44f91 pcre: Added fix for CVE-2017-11164 by adding stack recursion limit
1434dbdf pcre: upgrade to version 8.41 - fixes security issues
ad256bbf strongswan: fix typo
a7007291 strongswan: add curve25519 plugin
1143cb9b strongswan: bump to 5.5.3
384e89b3 strongswan: bump to 5.5.2
fe233e35 net/mwan3: update Makefile
42f46570 unbound: update to 1.6.5
a3c78648 net/mwan3: remove lock file on mwan3 stop
282e9001 net/mwan3: fix ping issue if last interface recovers from failure
94a52336 net/mwan3: fix ipset generation in hotplug script with an lock
822bc96b net/mwan3: add lock for mwan3 hotplug script
70d96f5d net/mwan3: add connected network regardless of mwan3 interface enable state
8a111b5b net/mwan3: mwan3track interrupt sleep on signal (trap) event
eefc65b0 net/mwan3: fix hotplug on ACTION ifdown
7fb33ad6 mosquitto: properly use localhost instead of ipv4
75f50611 mosquitto: support more config options in UCI
956ef7a8 acme: Make sure postrm script doesn't fail
788f17e9 acme: Fix for curl linked against mbed TLS. (#4254)
5383fd42 nlbwmon: update to latest version
29fb31fe nlbwmon: add package
ce5ff274 mosquitto: update to 1.4.14
bdac4914 mosquitto: update to 1.4.13
e4e22eb9 zabbix: update to 3.2.6
4ea3c274 zabbix: partially fix zabbix-extra-mac80211
26897f09 zabbix: update to 3.2.4, use PKG_HASH
f2539c58 lighttpd: backport more mod_cgi fixes queued for 1.4.46
46014e36 coreutils: stdbuf: fix missing libstdbuf.so
e8af9ce4 gnutls: updated to 3.5.13
4c26df19 libtasn1: updated to 4.12
b91c48ba openconnect: new option mtu
7af43217 openconnect: drop stale config: interface
9c9571fd openconnect: Bump openconnect to 7.08
72928442 minidlna: backport fixes from 1.1.6 and 1.2.0 releases
ca5d4b08 openldap: update to 2.4.45
dc558eaa mosquitto: fix empty client-nossl package
33d8f9e5 libdmapsharing: update to 2.9.38
53d18a45 tor: update to version 0.2.9.10
6d2b807 lua-simple-uci: fix set()/tset()/section() with empty lists
5733253 libbabelhelper: adapt to new install paths due to package version change
ce7f69a use latest libbabelhelper
f76cfa8 mmfd: bump version to pull in latest adaptions to libbabelhelper
b4f97fb mmfd: bump version to pull in latest adaptions to libbabelhelper
706bef6 respondd: add diagnostics about failed module load (#171)
4f1a0c0 mmfd: bump version
f5cc0fb libbabelhelper: add initial version
373fa54d35 kernel: bump 4.4 to 4.4.93 for 17.01
586a721d3f mountd: bump to git HEAD version (fixes SIGSEV crashes)
cdb2684dce LEDE v17.01.4: revert to branch defaults
444add156f LEDE v17.01.4: adjust config defaults
79f57e422d wireguard: version bump to 0.0.20171017
d501786ff2 hostapd: add wpa_disable_eapol_key_retries option
b6c3931ad6 hostapd: backport extra changes related to KRACK
a5e1f7f5ef mac80211: backport kernel fix for CVE-2017-13080
46e29bd078 x86: partly revert cabf775
707305a19d mac80211: Update wireless-regdb to master-2017-03-07
907d8703f4 wireguard: add wireguard to base packages
bff16304b0 brcmfmac: backport length check in brcmf_cfg80211_escan_handler()
fa0b5fce1f kernel: bump 4.4 to 4.4.92
e6fd17d04c ramips: fix compile warning in MT7621 NAND driver
2e9f3c6225 ramips: fix typo in MT7621 NAND driver
63c17142c8 hostapd: merge fixes for WPA packet number reuse with replayed messages and key reinstallation
cdd093b539 x86/64: add xen DomU support
cabf775e64 x86: Refresh subtargets kernel config
da0219ed9f x86: Fix xen serial console by removing conflicting PATA driver
f52b404aee x86/generic: use HIGHMEM64G instead of HIGHMEM4G to fix PAE and Xen
8ad1b09c6d kernel: add fix for bgmac with B50212E B1 PHY
c1023c8075 mt76: sync with version 878456caf60d from master
baa8eaaba6 bcm53xx: backport DTS changes up to the first 4.15 queued commits
94aa2b8af0 ar71xx: add rssileds to WA850RE v1 image
f67c22e0c2 toolchain/gdb: update to version 8.0.1
067221360e cmake: fix build error with Xcode 9 on macOS 12
a999f91ca3 gcc: fix build error with macOS + Xcode 9
2ce9c84a92 build: add a darwin sitefile to deal with macOS 10.12 + Xcode 9 build errors
f9a849ca84 ramips: mt7620: do not pad sysupgrade Archer images
Filtering by MAC address won't filter out multicast packages like router
solicitations, causing uradvd to send out router advertisements with
maximum frequency (every 3 seconds) in active meshes, even when no local
client is actually interested in the advertisements.
Fixes#1230
Adding the fact that GLUON_RELEASE is needed with 'make manifest'
if it is used with 'make'.
This fact was mentioned in the v2017.1 release notes but is not (clearly)
mentioned inside other parts of the documentation.
Signed-off-by: Chrissi^ <chris@tinyhost.de>
[Matthias Schiffer: minor rewording]
Adding hints that the next_node name should contain a dot to avoid (mobile) browsers interpreting "nextnode" as searchphrase. Also setting it to an fqdn helps when clients use static dns servers.
The new gluon.site lua library will eventually replace gluon.site_config
(which is hereby deprecated, but will continue to be supported for a
while).
The new gluon.site library will wrap all values to allow traversing
non-existing tables without errors.
site = require 'gluon.site'
c = site.a.b.c -- doesn't fail even if a or a.b don't exist
The wrapped values must be unwrapped using call syntax:
site_name = site.site_name()
Using the call syntax on a non-existing value will return nil. An
alternative default value may be passed instead:
mac = site.next_node.mac('16:41:95:40:f7:dc')
The generic upgrade script is moved to run after the more specific scripts.
In addition, the script will now remove the configuration sections of
uninstalled VPN packages, so both positive and negative changes of the
default enable state can be migrated correctly.
Based-on-patch-by: Cyrus Fox <cyrus@lambdacore.de>
Fixes: #1187
When a Gluon node is used to connect to an uplink router/DHCP server (for
example in deployments without VPN tunnels), the gw_mode must be set to
server; this should be preserved on upgrades.
Fixes#1196
To reduce the number of packages that need to be listed in
GLUON_SITE_PACKAGES, this adds a new variable GLUON_FEATURES. Sets of
packages are enabled automatically based on the combination of listed
feature flags.
Site-specified package feeds can provide their own feature flag
definitions.
As PROVIDES can be used to replace real packages now, we don't need the
virtual packages as workaround anymore. This also means that the providing
packages don't need to be added to site.mk explicitly anymore when the
default provider is used.
The added debug information is stripped of during packaging, so it does not
increase the package size. It does however slightly change offsets in the
code, preventing the weird ash segfaults we've been seeing. Also, if the
issue returns, we'll have debug information matching the coredumps.
A bug in batman-adv can lead to a large amount of management traffic being
exchanged between nodes when the multicast optimizations are enabled,
effectively making the mesh unusable. It's safer to disable the feature
for now, until we have a real fix.
sha512sum doesn't add much code that is not also used by sha256sum, but the
change of the configuration hides the segfault issue described in:
https://bugs.lede-project.org/index.php?do=details&task_id=822
While the issue only seemed to affect dhcpv6.script, it would clutter /tmp
with coredumps, eventually leading to OOM.
The used nodejs 4.4.5 needs at least GCC 4.8 to be build
https://github.com/nodejs/node/blob/v4.x/BUILDING.md
Signed-off-by: Matthias Fritzsche <matthias@chemnitz.freifunk.net>
[Matthias Schiffer: moved information to the first section]
||(echo'Please set GLUON_TARGET to a valid target. Gluon supports the following targets:';$(foreach target,$(GLUON_TARGETS),echo ' * $(target)';)false)
CheckExternal:=test -d lede ||(echo'You don'"'"'t seem to have obtained the external repositories needed by Gluon; please call `make update` first!';false)
defineCheckTarget
if[ -z '$(BOARD)'];then
echo'Please set GLUON_TARGET to a valid target. Gluon supports the following targets:'
for target in $(GLUON_TARGETS);do
echo" * $$target"
done
exit1
fi
endef
defineCheckSite
if ! GLUON_SITEDIR='$(GLUON_SITEDIR)'GLUON_SITE_CONFIG='$(1).conf'$(LUA) -e 'assert(dofile("scripts/site_config.lua")(os.getenv("GLUON_SITE_CONFIG")))';then
echo'Your site configuration ($(1).conf) did not pass validation'
Gluon is a firmware framework to build preconfigured OpenWrt images for public mesh networks.
## Getting started
We have a huge amount of documentation over at https://gluon.readthedocs.io/.
If you're new to Gluon and ready to get your feet wet, have a look at the
[Getting Started Guide](http://gluon.readthedocs.org/en/latest/user/getting_started.html).
[Getting Started Guide](https://gluon.readthedocs.io/en/latest/user/getting_started.html).
**Gluon IRC channel: `#gluon` in [hackint](http://hackint.org/)**
Gluon's developers frequent an IRC chatroom at [#gluon](ircs://irc.hackint.org/#gluon)
on [hackint](https://hackint.org/). There is also a [webchat](https://webirc.hackint.org/#irc://irc.hackint.org/#gluon)
that allows for uncomplicated access from within your browser. This channel is also available as a bridged Matrix Room at [#gluon:hackint.org](https://matrix.to/#/#gluon:hackint.org).
## Issues & Feature requests
@ -18,11 +29,11 @@ the future development of Gluon.
## Use a release!
Please refrain from using the `master` branch for anything else but development purposes!
Use the most recent release instead. You can list all relaseses by running `git tag`
and switch to one by running `git checkout v2017.1 && make update`.
Use the most recent release instead. You can list all releases by running `git tag`
and switch to one by running `git checkout v2022.1 && make update`.
If you're using the autoupdater, do not autoupdate nodes with anything but releases.
If you upgrade using random master commits the nodes *will break* eventually.
If you upgrade using random master commits the nodes *might break* eventually.
owe_transition_mode = true, -- (optional - enables transition-mode - requires ssid as well as owe_ssid)
},
mesh = {
-- Adjust these values!
id = 'ueH3uXjdp', -- usually you don't want users to connect to this mesh-SSID, so use a cryptic id that no one will accidentally mistake for the client WiFi
mcast_rate = 12000,
-- disabled = true, -- (optional)
},
},
-- Wireless configuration for 5 GHz interfaces.
-- This should be equal to the 2.4 GHz variant, except
-- for channel.
wifi5 = {
channel = 44,
outdoor_chanlist = '100-140',
ap = {
ssid = 'gluon-ci-ssid',
},
mesh = {
-- Adjust these values!
id = 'ueH3uXjdp',
mcast_rate = 12000,
},
},
mesh = {
vxlan = true,
batman_adv = {
routing_algo = 'BATMAN_IV',
},
},
-- The next node feature allows clients to always reach the node it is
-- connected to using a known IP address.
next_node = {
-- anycast IPs of all nodes
-- name = { 'nextnode.location.community.example.org', 'nextnode', 'nn' },
ip4 = '10.0.0.1',
ip6 = 'fd::1',
},
-- Options specific to routing protocols (optional)
-- mesh = {
-- Options specific to the batman-adv routing protocol (optional)
-- batman_adv = {
-- Gateway selection class (optional)
-- The default class 20 is based on the link quality (TQ) only,
-- class 1 is calculated from both the TQ and the announced bandwidth
-- gw_sel_class = 1,
-- },
-- },
mesh_vpn = {
-- enabled = true,
fastd = {
-- Refer to https://fastd.readthedocs.io/en/latest/ to better understand
-- what these options do.
-- List of crypto-methods to use.
methods = {'salsa2012+umac'},
mtu = 1312,
-- configurable = true,
-- syslog_level = 'warn',
groups = {
backbone = {
-- Limit number of connected peers to reduce bandwidth.
limit = 1,
-- List of peers.
peers = {
},
-- Optional: nested peer groups
-- groups = {
-- backbone_sub = {
-- ...
-- },
-- ...
-- },
},
-- Optional: additional peer groups, possibly with other limits
-- backbone2 = {
-- ...
-- },
},
},
bandwidth_limit = {
-- The bandwidth limit can be enabled by default here.
enabled = false,
-- Default upload limit (kbit/s).
egress = 200,
-- Default download limit (kbit/s).
ingress = 3000,
},
},
autoupdater = {
-- Default branch (optional), can be overridden by setting GLUON_AUTOUPDATER_BRANCH when building.
-- Set GLUON_AUTOUPDATER_ENABLED to enable the autoupdater by default for newly installed nodes.
branch = 'stable',
-- List of branches. You may define multiple branches.
branches = {
stable = {
name = 'stable',
-- List of mirrors to fetch images from. IPv6 required!
owe_transition_mode = true, -- (optional - enables transition-mode - requires ssid as well as owe_ssid)
},
mesh = {
-- Adjust these values!
id = 'ueH3uXjdp', -- usually you don't want users to connect to this mesh-SSID, so use a cryptic id that no one will accidentally mistake for the client WiFi
mcast_rate = 12000,
-- disabled = true, -- (optional)
},
},
-- Wireless configuration for 5 GHz interfaces.
-- This should be equal to the 2.4 GHz variant, except
-- for channel.
wifi5 = {
channel = 44,
outdoor_chanlist = '100-140',
ap = {
ssid = 'gluon-ci-ssid',
-- disabled = true, -- (optional)
-- Configuration for a backward compatible OWE network below.
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
`make update` also applies the patches that can be found in the directories found in
`patches`; the resulting branch will be called `patched`, while the commit specified in `modules`
can be refered to by the branch `base`.
can be referred to by the branch `base`.
After new patches have been commited on top of the `patched` branch (or existing commits
After new patches have been committed on top of the `patched` branch (or existing commits
since the base commit have been edited or removed), the patch directories can be regenerated
using
::
make update-patches
make update-patches
If applying a patch fails because you have changed the base commit, the repository will be reset to the old `patched` branch
and you can try rebasing it onto the new `base` branch yourself and after that call `make update-patches` to fix the problem.
@ -48,18 +53,33 @@ and you can try rebasing it onto the new `base` branch yourself and after that c
Always call `make update-patches` after making changes to a module repository as `make update` will overwrite your
commits, making `git reflog` the only way to recover them!
::
make refresh-patches
In order to refresh patches when updating feeds or the OpenWrt base, `make refresh-patches` applies and updates all of their patches without installing feed packages to the OpenWrt build system.
This command speeds up the maintenance of updating OpenWrt and feeds.
Development Guidelines
----------------------
lua should be used instead of sh whenever sensible. The following criteria
Lua should be used instead of sh whenever sensible. The following criteria
should be considered:
- Is the script doing more than just executing external commands? if so, use lua
- Is the script parsing/editing json-data? If so, use lua for speed
- Is the script doing more than just executing external commands? if so, use Lua
- Is the script parsing/editing json-data? If so, use Lua for speed
- When using sh, use jsonfilter instead of json_* functions for speed
Code formatting may sound like a topic for the pedantic, however it helps if
the code in the project is formatted in the same way. The following rules
the code in the project is formatted in the same way. The following basic rules
apply:
- use tabs instead of spaces
- trailing whitespaces must be eliminated
- files need to end with a final newline
- newlines need to have Unix line endings (lf)
To that end we provide a ``.editorconfig`` configuration, which is supported by most
of the editors out there.
If you add Lua scripts to gluon, check formatting with ``luacheck``.
vi package/gluon-ebtables/files/etc/init.d/gluon-ebtables
# rebuild and push the package to the qemu instance
contrib/push_pkg.sh package/gluon-ebtables/
# test your changes
...
# do more changes
...
# rebuild and push the package to the qemu instance
contrib/push_pkg.sh package/gluon-ebtables/
# test your changes
...
(and so on...)
# see help of the script for more information
contrib/push_pkg.sh -h
...
Features of ``push_pkg.sh``:
* Works with compiled and non-compiled packages.
* This means it can be used in the development of C-code, Lua-Code and mostly any other code.
* Works with native OpenWrt and Gluon packages.
* Pushes to remote machines or local qemu instances.
* Pushes multiple packages in in one call if desired.
* Performs site.conf checks.
Implementation details of ``push_pkg.sh``:
* First, the script builds an opkg package using the OpenWrt build system.
* This package is pushed to a *target machine* using scp:
* By default the *target machine* is a locally running x86 qemu started using ``run_qemu.sh``.
* The *target machine* can also be remote machine. (See the cli switch ``-r``)
* Remote machines are not limited to a specific architecture. All architectures supported by gluon can be used as remote machines.
* Finally opkg is used to install/update the packages in the target machine.
* While doing this, it will not override ``/etc/config`` with package defaults by default. (See the cli switch ``-P``).
* While doing this, opkg calls the ``check_site.lua`` from the package as post_install script to validate the ``site.conf``. This means that the ``site.conf`` of the target machine is used for this validation.
Note that:
* ``push_pkg.sh`` does neither build nor push dependencies of the packages automatically. If you want to update dependencies, you must explicitly specify them to be pushed.
* If you add new packages, you must run ``make update config GLUON_TARGET=...``.
* You can change the gluon target of the target machine via ``make config GLUON_TARGET=...``.
* If you want to update the ``site.conf`` of the target machine, use ``push_pkg.sh package/gluon-site/``.
* Sometimes when things break, you can heal them by compiling a package with its dependencies: ``cd openwrt; make package/gluon-ebtables/clean; make package/gluon-ebtables/compile; cd ..``.
* You can exit qemu by pressing ``CTRL + a`` and ``c`` afterwards.
Gluon package makefiles
=======================
As many packages share the same or a similar structure, Gluon provides a ``package/gluon.mk`` that
can be included for common definitions. This file replaces OpenWrt's ``$(INCLUDE_DIR)/package.mk``;
it is usually included as ``include ../gluon.mk`` from Gluon core packages, or as
``include $(TOPDIR)/../package/gluon.mk`` from feeds.
id = 'ueH3uXjdp', -- usually you don't want users to connect to this mesh-SSID, so use a cryptic id that no one will accidentally mistake for the client WiFi
<pathstyle="stroke:none;"d="M 0.640625 2.265625 L 0.640625 -9.015625 L 7.03125 -9.015625 L 7.03125 2.265625 Z M 1.359375 1.546875 L 6.328125 1.546875 L 6.328125 -8.296875 L 1.359375 -8.296875 Z M 1.359375 1.546875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-1">
<pathstyle="stroke:none;"d="M 1.25 -9.328125 L 2.515625 -9.328125 L 2.515625 -1.0625 L 7.0625 -1.0625 L 7.0625 0 L 1.25 0 Z M 1.25 -9.328125 "/>
</symbol>
<symboloverflow="visible"id="glyph0-2">
<pathstyle="stroke:none;"d="M 3.921875 -6.1875 C 3.304688 -6.1875 2.816406 -5.945312 2.453125 -5.46875 C 2.097656 -4.988281 1.921875 -4.332031 1.921875 -3.5 C 1.921875 -2.65625 2.097656 -1.992188 2.453125 -1.515625 C 2.804688 -1.035156 3.296875 -0.796875 3.921875 -0.796875 C 4.535156 -0.796875 5.019531 -1.035156 5.375 -1.515625 C 5.726562 -2.003906 5.90625 -2.664062 5.90625 -3.5 C 5.90625 -4.320312 5.726562 -4.972656 5.375 -5.453125 C 5.019531 -5.941406 4.535156 -6.1875 3.921875 -6.1875 Z M 3.921875 -7.171875 C 4.921875 -7.171875 5.703125 -6.84375 6.265625 -6.1875 C 6.835938 -5.539062 7.125 -4.644531 7.125 -3.5 C 7.125 -2.351562 6.835938 -1.453125 6.265625 -0.796875 C 5.703125 -0.140625 4.921875 0.1875 3.921875 0.1875 C 2.910156 0.1875 2.117188 -0.140625 1.546875 -0.796875 C 0.984375 -1.453125 0.703125 -2.351562 0.703125 -3.5 C 0.703125 -4.644531 0.984375 -5.539062 1.546875 -6.1875 C 2.117188 -6.84375 2.910156 -7.171875 3.921875 -7.171875 Z M 3.921875 -7.171875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-3">
<pathstyle="stroke:none;"d="M 4.390625 -3.515625 C 3.460938 -3.515625 2.816406 -3.40625 2.453125 -3.1875 C 2.097656 -2.976562 1.921875 -2.617188 1.921875 -2.109375 C 1.921875 -1.703125 2.050781 -1.378906 2.3125 -1.140625 C 2.582031 -0.898438 2.953125 -0.78125 3.421875 -0.78125 C 4.054688 -0.78125 4.566406 -1.003906 4.953125 -1.453125 C 5.335938 -1.910156 5.53125 -2.515625 5.53125 -3.265625 L 5.53125 -3.515625 Z M 6.671875 -4 L 6.671875 0 L 5.53125 0 L 5.53125 -1.0625 C 5.269531 -0.632812 4.941406 -0.316406 4.546875 -0.109375 C 4.160156 0.0859375 3.679688 0.1875 3.109375 0.1875 C 2.390625 0.1875 1.816406 -0.015625 1.390625 -0.421875 C 0.972656 -0.828125 0.765625 -1.363281 0.765625 -2.03125 C 0.765625 -2.820312 1.023438 -3.414062 1.546875 -3.8125 C 2.078125 -4.21875 2.867188 -4.421875 3.921875 -4.421875 L 5.53125 -4.421875 L 5.53125 -4.53125 C 5.53125 -5.0625 5.351562 -5.46875 5 -5.75 C 4.65625 -6.039062 4.171875 -6.1875 3.546875 -6.1875 C 3.140625 -6.1875 2.75 -6.140625 2.375 -6.046875 C 2 -5.953125 1.632812 -5.8125 1.28125 -5.625 L 1.28125 -6.671875 C 1.695312 -6.835938 2.101562 -6.960938 2.5 -7.046875 C 2.894531 -7.128906 3.28125 -7.171875 3.65625 -7.171875 C 4.675781 -7.171875 5.429688 -6.90625 5.921875 -6.375 C 6.421875 -5.851562 6.671875 -5.0625 6.671875 -4 Z M 6.671875 -4 "/>
</symbol>
<symboloverflow="visible"id="glyph0-4">
<pathstyle="stroke:none;"d="M 5.8125 -5.9375 L 5.8125 -9.71875 L 6.953125 -9.71875 L 6.953125 0 L 5.8125 0 L 5.8125 -1.046875 C 5.570312 -0.628906 5.265625 -0.316406 4.890625 -0.109375 C 4.523438 0.0859375 4.082031 0.1875 3.5625 0.1875 C 2.71875 0.1875 2.03125 -0.148438 1.5 -0.828125 C 0.96875 -1.503906 0.703125 -2.394531 0.703125 -3.5 C 0.703125 -4.59375 0.96875 -5.476562 1.5 -6.15625 C 2.03125 -6.832031 2.71875 -7.171875 3.5625 -7.171875 C 4.082031 -7.171875 4.523438 -7.066406 4.890625 -6.859375 C 5.265625 -6.660156 5.570312 -6.351562 5.8125 -5.9375 Z M 1.890625 -3.5 C 1.890625 -2.644531 2.0625 -1.976562 2.40625 -1.5 C 2.757812 -1.019531 3.238281 -0.78125 3.84375 -0.78125 C 4.457031 -0.78125 4.9375 -1.019531 5.28125 -1.5 C 5.632812 -1.976562 5.8125 -2.644531 5.8125 -3.5 C 5.8125 -4.34375 5.632812 -5.003906 5.28125 -5.484375 C 4.9375 -5.960938 4.457031 -6.203125 3.84375 -6.203125 C 3.238281 -6.203125 2.757812 -5.960938 2.40625 -5.484375 C 2.0625 -5.003906 1.890625 -4.34375 1.890625 -3.5 Z M 1.890625 -3.5 "/>
</symbol>
<symboloverflow="visible"id="glyph0-5">
<pathstyle="stroke:none;"d=""/>
</symbol>
<symboloverflow="visible"id="glyph0-6">
<pathstyle="stroke:none;"d="M 6.65625 -5.65625 C 6.9375 -6.164062 7.273438 -6.546875 7.671875 -6.796875 C 8.078125 -7.046875 8.550781 -7.171875 9.09375 -7.171875 C 9.820312 -7.171875 10.382812 -6.914062 10.78125 -6.40625 C 11.175781 -5.894531 11.375 -5.164062 11.375 -4.21875 L 11.375 0 L 10.21875 0 L 10.21875 -4.1875 C 10.21875 -4.851562 10.097656 -5.347656 9.859375 -5.671875 C 9.628906 -6.003906 9.269531 -6.171875 8.78125 -6.171875 C 8.1875 -6.171875 7.710938 -5.972656 7.359375 -5.578125 C 7.015625 -5.179688 6.84375 -4.640625 6.84375 -3.953125 L 6.84375 0 L 5.6875 0 L 5.6875 -4.1875 C 5.6875 -4.863281 5.566406 -5.363281 5.328125 -5.6875 C 5.097656 -6.007812 4.734375 -6.171875 4.234375 -6.171875 C 3.648438 -6.171875 3.179688 -5.96875 2.828125 -5.5625 C 2.484375 -5.164062 2.3125 -4.628906 2.3125 -3.953125 L 2.3125 0 L 1.15625 0 L 1.15625 -7 L 2.3125 -7 L 2.3125 -5.90625 C 2.582031 -6.332031 2.898438 -6.648438 3.265625 -6.859375 C 3.628906 -7.066406 4.0625 -7.171875 4.5625 -7.171875 C 5.070312 -7.171875 5.503906 -7.039062 5.859375 -6.78125 C 6.222656 -6.519531 6.488281 -6.144531 6.65625 -5.65625 Z M 6.65625 -5.65625 "/>
</symbol>
<symboloverflow="visible"id="glyph0-7">
<pathstyle="stroke:none;"d="M 1.203125 -7 L 2.359375 -7 L 2.359375 0 L 1.203125 0 Z M 1.203125 -9.71875 L 2.359375 -9.71875 L 2.359375 -8.265625 L 1.203125 -8.265625 Z M 1.203125 -9.71875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-8">
<pathstyle="stroke:none;"d="M 7.015625 -4.21875 L 7.015625 0 L 5.875 0 L 5.875 -4.1875 C 5.875 -4.851562 5.742188 -5.347656 5.484375 -5.671875 C 5.222656 -6.003906 4.835938 -6.171875 4.328125 -6.171875 C 3.703125 -6.171875 3.207031 -5.972656 2.84375 -5.578125 C 2.488281 -5.179688 2.3125 -4.640625 2.3125 -3.953125 L 2.3125 0 L 1.15625 0 L 1.15625 -7 L 2.3125 -7 L 2.3125 -5.90625 C 2.59375 -6.332031 2.914062 -6.648438 3.28125 -6.859375 C 3.65625 -7.066406 4.085938 -7.171875 4.578125 -7.171875 C 5.378906 -7.171875 5.984375 -6.921875 6.390625 -6.421875 C 6.804688 -5.921875 7.015625 -5.1875 7.015625 -4.21875 Z M 7.015625 -4.21875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-9">
<pathstyle="stroke:none;"d="M 5.671875 -6.796875 L 5.671875 -5.703125 C 5.347656 -5.867188 5.007812 -5.992188 4.65625 -6.078125 C 4.300781 -6.160156 3.9375 -6.203125 3.5625 -6.203125 C 3 -6.203125 2.570312 -6.113281 2.28125 -5.9375 C 2 -5.769531 1.859375 -5.507812 1.859375 -5.15625 C 1.859375 -4.882812 1.957031 -4.671875 2.15625 -4.515625 C 2.363281 -4.367188 2.773438 -4.226562 3.390625 -4.09375 L 3.78125 -4 C 4.601562 -3.832031 5.1875 -3.585938 5.53125 -3.265625 C 5.875 -2.941406 6.046875 -2.5 6.046875 -1.9375 C 6.046875 -1.28125 5.785156 -0.757812 5.265625 -0.375 C 4.753906 0 4.050781 0.1875 3.15625 0.1875 C 2.78125 0.1875 2.390625 0.148438 1.984375 0.078125 C 1.578125 0.00390625 1.144531 -0.101562 0.6875 -0.25 L 0.6875 -1.4375 C 1.113281 -1.21875 1.53125 -1.050781 1.9375 -0.9375 C 2.351562 -0.832031 2.765625 -0.78125 3.171875 -0.78125 C 3.710938 -0.78125 4.128906 -0.875 4.421875 -1.0625 C 4.710938 -1.25 4.859375 -1.507812 4.859375 -1.84375 C 4.859375 -2.15625 4.753906 -2.394531 4.546875 -2.5625 C 4.335938 -2.726562 3.875 -2.890625 3.15625 -3.046875 L 2.765625 -3.140625 C 2.046875 -3.285156 1.53125 -3.515625 1.21875 -3.828125 C 0.90625 -4.140625 0.75 -4.566406 0.75 -5.109375 C 0.75 -5.765625 0.976562 -6.269531 1.4375 -6.625 C 1.90625 -6.988281 2.570312 -7.171875 3.4375 -7.171875 C 3.851562 -7.171875 4.25 -7.140625 4.625 -7.078125 C 5 -7.015625 5.347656 -6.921875 5.671875 -6.796875 Z M 5.671875 -6.796875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-10">
<pathstyle="stroke:none;"d="M 2.34375 -8.984375 L 2.34375 -7 L 4.71875 -7 L 4.71875 -6.109375 L 2.34375 -6.109375 L 2.34375 -2.3125 C 2.34375 -1.738281 2.421875 -1.367188 2.578125 -1.203125 C 2.734375 -1.046875 3.050781 -0.96875 3.53125 -0.96875 L 4.71875 -0.96875 L 4.71875 0 L 3.53125 0 C 2.644531 0 2.03125 -0.164062 1.6875 -0.5 C 1.351562 -0.832031 1.1875 -1.4375 1.1875 -2.3125 L 1.1875 -6.109375 L 0.34375 -6.109375 L 0.34375 -7 L 1.1875 -7 L 1.1875 -8.984375 Z M 2.34375 -8.984375 "/>
</symbol>
<symboloverflow="visible"id="glyph0-11">
<pathstyle="stroke:none;"d="M 1.203125 -9.71875 L 2.359375 -9.71875 L 2.359375 0 L 1.203125 0 Z M 1.203125 -9.71875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-12">
<pathstyle="stroke:none;"d="M 0.703125 -7 L 6.171875 -7 L 6.171875 -5.953125 L 1.84375 -0.921875 L 6.171875 -0.921875 L 6.171875 0 L 0.546875 0 L 0.546875 -1.046875 L 4.875 -6.078125 L 0.703125 -6.078125 Z M 0.703125 -7 "/>
</symbol>
<symboloverflow="visible"id="glyph0-13">
<pathstyle="stroke:none;"d="M 5.8125 -3.578125 C 5.8125 -4.410156 5.640625 -5.054688 5.296875 -5.515625 C 4.953125 -5.972656 4.46875 -6.203125 3.84375 -6.203125 C 3.226562 -6.203125 2.75 -5.972656 2.40625 -5.515625 C 2.0625 -5.054688 1.890625 -4.410156 1.890625 -3.578125 C 1.890625 -2.753906 2.0625 -2.113281 2.40625 -1.65625 C 2.75 -1.195312 3.226562 -0.96875 3.84375 -0.96875 C 4.46875 -0.96875 4.953125 -1.195312 5.296875 -1.65625 C 5.640625 -2.113281 5.8125 -2.753906 5.8125 -3.578125 Z M 6.953125 -0.875 C 6.953125 0.320312 6.6875 1.207031 6.15625 1.78125 C 5.632812 2.363281 4.828125 2.65625 3.734375 2.65625 C 3.328125 2.65625 2.945312 2.625 2.59375 2.5625 C 2.238281 2.507812 1.890625 2.421875 1.546875 2.296875 L 1.546875 1.171875 C 1.890625 1.359375 2.222656 1.492188 2.546875 1.578125 C 2.878906 1.671875 3.21875 1.71875 3.5625 1.71875 C 4.3125 1.71875 4.875 1.519531 5.25 1.125 C 5.625 0.726562 5.8125 0.132812 5.8125 -0.65625 L 5.8125 -1.234375 C 5.570312 -0.816406 5.265625 -0.503906 4.890625 -0.296875 C 4.523438 -0.0976562 4.082031 0 3.5625 0 C 2.707031 0 2.015625 -0.328125 1.484375 -0.984375 C 0.960938 -1.640625 0.703125 -2.503906 0.703125 -3.578125 C 0.703125 -4.660156 0.960938 -5.53125 1.484375 -6.1875 C 2.015625 -6.84375 2.707031 -7.171875 3.5625 -7.171875 C 4.082031 -7.171875 4.523438 -7.066406 4.890625 -6.859375 C 5.265625 -6.648438 5.570312 -6.34375 5.8125 -5.9375 L 5.8125 -7 L 6.953125 -7 Z M 6.953125 -0.875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-14">
<pathstyle="stroke:none;"d="M 7.1875 -3.78125 L 7.1875 -3.21875 L 1.90625 -3.21875 C 1.957031 -2.425781 2.195312 -1.820312 2.625 -1.40625 C 3.050781 -1 3.644531 -0.796875 4.40625 -0.796875 C 4.84375 -0.796875 5.269531 -0.847656 5.6875 -0.953125 C 6.101562 -1.066406 6.515625 -1.226562 6.921875 -1.4375 L 6.921875 -0.359375 C 6.515625 -0.179688 6.09375 -0.046875 5.65625 0.046875 C 5.21875 0.140625 4.78125 0.1875 4.34375 0.1875 C 3.21875 0.1875 2.328125 -0.132812 1.671875 -0.78125 C 1.023438 -1.4375 0.703125 -2.320312 0.703125 -3.4375 C 0.703125 -4.582031 1.007812 -5.488281 1.625 -6.15625 C 2.25 -6.832031 3.085938 -7.171875 4.140625 -7.171875 C 5.078125 -7.171875 5.816406 -6.863281 6.359375 -6.25 C 6.910156 -5.644531 7.1875 -4.820312 7.1875 -3.78125 Z M 6.046875 -4.125 C 6.035156 -4.75 5.859375 -5.25 5.515625 -5.625 C 5.171875 -6 4.71875 -6.1875 4.15625 -6.1875 C 3.507812 -6.1875 2.992188 -6.003906 2.609375 -5.640625 C 2.222656 -5.285156 2 -4.78125 1.9375 -4.125 Z M 6.046875 -4.125 "/>
</symbol>
<symboloverflow="visible"id="glyph0-15">
<pathstyle="stroke:none;"d="M 6.25 -6.734375 L 6.25 -5.65625 C 5.914062 -5.832031 5.585938 -5.960938 5.265625 -6.046875 C 4.941406 -6.140625 4.613281 -6.1875 4.28125 -6.1875 C 3.53125 -6.1875 2.945312 -5.953125 2.53125 -5.484375 C 2.125 -5.015625 1.921875 -4.351562 1.921875 -3.5 C 1.921875 -2.644531 2.125 -1.976562 2.53125 -1.5 C 2.945312 -1.03125 3.53125 -0.796875 4.28125 -0.796875 C 4.613281 -0.796875 4.941406 -0.835938 5.265625 -0.921875 C 5.585938 -1.015625 5.914062 -1.148438 6.25 -1.328125 L 6.25 -0.265625 C 5.925781 -0.117188 5.59375 -0.0078125 5.25 0.0625 C 4.90625 0.144531 4.539062 0.1875 4.15625 0.1875 C 3.09375 0.1875 2.25 -0.144531 1.625 -0.8125 C 1.007812 -1.476562 0.703125 -2.375 0.703125 -3.5 C 0.703125 -4.632812 1.015625 -5.53125 1.640625 -6.1875 C 2.273438 -6.84375 3.132812 -7.171875 4.21875 -7.171875 C 4.570312 -7.171875 4.914062 -7.132812 5.25 -7.0625 C 5.59375 -6.988281 5.925781 -6.878906 6.25 -6.734375 Z M 6.25 -6.734375 "/>
</symbol>
<symboloverflow="visible"id="glyph0-16">
<pathstyle="stroke:none;"d="M 2.3125 -1.046875 L 2.3125 2.65625 L 1.15625 2.65625 L 1.15625 -7 L 2.3125 -7 L 2.3125 -5.9375 C 2.5625 -6.351562 2.867188 -6.660156 3.234375 -6.859375 C 3.597656 -7.066406 4.039062 -7.171875 4.5625 -7.171875 C 5.40625 -7.171875 6.09375 -6.832031 6.625 -6.15625 C 7.15625 -5.476562 7.421875 -4.59375 7.421875 -3.5 C 7.421875 -2.394531 7.15625 -1.503906 6.625 -0.828125 C 6.09375 -0.148438 5.40625 0.1875 4.5625 0.1875 C 4.039062 0.1875 3.597656 0.0859375 3.234375 -0.109375 C 2.867188 -0.316406 2.5625 -0.628906 2.3125 -1.046875 Z M 6.234375 -3.5 C 6.234375 -4.34375 6.054688 -5.003906 5.703125 -5.484375 C 5.359375 -5.960938 4.882812 -6.203125 4.28125 -6.203125 C 3.664062 -6.203125 3.179688 -5.960938 2.828125 -5.484375 C 2.484375 -5.003906 2.3125 -4.34375 2.3125 -3.5 C 2.3125 -2.644531 2.484375 -1.976562 2.828125 -1.5 C 3.179688 -1.019531 3.664062 -0.78125 4.28125 -0.78125 C 4.882812 -0.78125 5.359375 -1.019531 5.703125 -1.5 C 6.054688 -1.976562 6.234375 -2.644531 6.234375 -3.5 Z M 6.234375 -3.5 "/>
</symbol>
<symboloverflow="visible"id="glyph0-17">
<pathstyle="stroke:none;"d="M 1.375 -1.59375 L 2.6875 -1.59375 L 2.6875 0 L 1.375 0 Z M 1.375 -1.59375 "/>
</symbol>
<symboloverflow="visible"id="glyph0-18">
<pathstyle="stroke:none;"d="M 7.015625 -7 L 4.5 -3.59375 L 7.15625 0 L 5.796875 0 L 3.765625 -2.75 L 1.71875 0 L 0.375 0 L 3.09375 -3.65625 L 0.59375 -7 L 1.953125 -7 L 3.8125 -4.5 L 5.671875 -7 Z M 7.015625 -7 "/>
</symbol>
<symboloverflow="visible"id="glyph0-19">
<pathstyle="stroke:none;"d="M 4.75 -9.71875 L 4.75 -8.765625 L 3.65625 -8.765625 C 3.238281 -8.765625 2.945312 -8.679688 2.78125 -8.515625 C 2.625 -8.347656 2.546875 -8.046875 2.546875 -7.609375 L 2.546875 -7 L 4.4375 -7 L 4.4375 -6.109375 L 2.546875 -6.109375 L 2.546875 0 L 1.390625 0 L 1.390625 -6.109375 L 0.296875 -6.109375 L 0.296875 -7 L 1.390625 -7 L 1.390625 -7.484375 C 1.390625 -8.265625 1.570312 -8.832031 1.9375 -9.1875 C 2.300781 -9.539062 2.875 -9.71875 3.65625 -9.71875 Z M 4.75 -9.71875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-20">
<pathstyle="stroke:none;"d="M 2.515625 -8.296875 L 2.515625 -1.03125 L 4.046875 -1.03125 C 5.328125 -1.03125 6.265625 -1.320312 6.859375 -1.90625 C 7.460938 -2.488281 7.765625 -3.410156 7.765625 -4.671875 C 7.765625 -5.921875 7.460938 -6.835938 6.859375 -7.421875 C 6.265625 -8.003906 5.328125 -8.296875 4.046875 -8.296875 Z M 1.25 -9.328125 L 3.84375 -9.328125 C 5.65625 -9.328125 6.984375 -8.953125 7.828125 -8.203125 C 8.671875 -7.453125 9.09375 -6.273438 9.09375 -4.671875 C 9.09375 -3.066406 8.664062 -1.882812 7.8125 -1.125 C 6.96875 -0.375 5.644531 0 3.84375 0 L 1.25 0 Z M 1.25 -9.328125 "/>
</symbol>
<symboloverflow="visible"id="glyph0-21">
<pathstyle="stroke:none;"d="M 5.265625 -5.921875 C 5.128906 -5.992188 4.984375 -6.046875 4.828125 -6.078125 C 4.679688 -6.117188 4.519531 -6.140625 4.34375 -6.140625 C 3.6875 -6.140625 3.179688 -5.925781 2.828125 -5.5 C 2.484375 -5.082031 2.3125 -4.476562 2.3125 -3.6875 L 2.3125 0 L 1.15625 0 L 1.15625 -7 L 2.3125 -7 L 2.3125 -5.90625 C 2.5625 -6.332031 2.878906 -6.648438 3.265625 -6.859375 C 3.648438 -7.066406 4.117188 -7.171875 4.671875 -7.171875 C 4.753906 -7.171875 4.84375 -7.164062 4.9375 -7.15625 C 5.03125 -7.144531 5.132812 -7.128906 5.25 -7.109375 Z M 5.265625 -5.921875 "/>
</symbol>
<symboloverflow="visible"id="glyph0-22">
<pathstyle="stroke:none;"d="M 1.09375 -2.765625 L 1.09375 -7 L 2.234375 -7 L 2.234375 -2.8125 C 2.234375 -2.144531 2.363281 -1.644531 2.625 -1.3125 C 2.882812 -0.976562 3.269531 -0.8125 3.78125 -0.8125 C 4.40625 -0.8125 4.894531 -1.007812 5.25 -1.40625 C 5.613281 -1.800781 5.796875 -2.34375 5.796875 -3.03125 L 5.796875 -7 L 6.953125 -7 L 6.953125 0 L 5.796875 0 L 5.796875 -1.078125 C 5.515625 -0.648438 5.191406 -0.332031 4.828125 -0.125 C 4.460938 0.0820312 4.035156 0.1875 3.546875 0.1875 C 2.742188 0.1875 2.132812 -0.0625 1.71875 -0.5625 C 1.300781 -1.0625 1.09375 -1.796875 1.09375 -2.765625 Z M 1.09375 -2.765625 "/>
</symbol>
<symboloverflow="visible"id="glyph0-23">
<pathstyle="stroke:none;"d="M 1.25 -9.328125 L 7.15625 -9.328125 L 7.15625 -8.265625 L 2.515625 -8.265625 L 2.515625 -5.5 L 6.953125 -5.5 L 6.953125 -4.4375 L 2.515625 -4.4375 L 2.515625 -1.0625 L 7.265625 -1.0625 L 7.265625 0 L 1.25 0 Z M 1.25 -9.328125 "/>
</symbol>
<symboloverflow="visible"id="glyph0-24">
<pathstyle="stroke:none;"d="M 6.84375 -9.015625 L 6.84375 -7.796875 C 6.363281 -8.023438 5.910156 -8.191406 5.484375 -8.296875 C 5.066406 -8.410156 4.660156 -8.46875 4.265625 -8.46875 C 3.578125 -8.46875 3.046875 -8.332031 2.671875 -8.0625 C 2.296875 -7.800781 2.109375 -7.425781 2.109375 -6.9375 C 2.109375 -6.519531 2.234375 -6.207031 2.484375 -6 C 2.734375 -5.789062 3.203125 -5.625 3.890625 -5.5 L 4.65625 -5.34375 C 5.59375 -5.15625 6.285156 -4.835938 6.734375 -4.390625 C 7.179688 -3.941406 7.40625 -3.335938 7.40625 -2.578125 C 7.40625 -1.671875 7.101562 -0.984375 6.5 -0.515625 C 5.894531 -0.046875 5.007812 0.1875 3.84375 0.1875 C 3.394531 0.1875 2.921875 0.132812 2.421875 0.03125 C 1.929688 -0.0703125 1.414062 -0.21875 0.875 -0.40625 L 0.875 -1.71875 C 1.394531 -1.425781 1.898438 -1.207031 2.390625 -1.0625 C 2.878906 -0.914062 3.363281 -0.84375 3.84375 -0.84375 C 4.5625 -0.84375 5.113281 -0.984375 5.5 -1.265625 C 5.894531 -1.546875 6.09375 -1.953125 6.09375 -2.484375 C 6.09375 -2.941406 5.953125 -3.296875 5.671875 -3.546875 C 5.390625 -3.804688 4.925781 -4.003906 4.28125 -4.140625 L 3.515625 -4.28125 C 2.578125 -4.46875 1.894531 -4.757812 1.46875 -5.15625 C 1.050781 -5.5625 0.84375 -6.117188 0.84375 -6.828125 C 0.84375 -7.660156 1.132812 -8.3125 1.71875 -8.78125 C 2.300781 -9.257812 3.101562 -9.5 4.125 -9.5 C 4.5625 -9.5 5.003906 -9.457031 5.453125 -9.375 C 5.910156 -9.300781 6.375 -9.179688 6.84375 -9.015625 Z M 6.84375 -9.015625 "/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 5.118086 6.441094 L 9.277656 6.466289 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 9.276094 6.716289 L 9.777656 6.469219 L 9.279023 6.216289 Z M 9.276094 6.716289 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 15.924336 6.487969 C 15.924336 7.765703 14.559492 8.801445 12.876094 8.801445 C 11.1925 8.801445 9.827656 7.765703 9.827656 6.487969 C 9.827656 5.210234 11.1925 4.174492 12.876094 4.174492 C 14.559492 4.174492 15.924336 5.210234 15.924336 6.487969 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 15.949141 6.487969 L 17.296992 6.487969 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 17.296992 6.737969 L 17.796992 6.487969 L 17.296992 6.237969 Z M 17.296992 6.737969 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle=" stroke:none;fill-rule:evenodd;fill:rgb(0%,100%,0%);fill-opacity:1;"d="M 69.898438 0 L 147.648438 0 L 147.648438 14.898438 L 69.898438 14.898438 Z M 69.898438 0 "/>
<pathstyle=" stroke:none;fill-rule:evenodd;fill:rgb(0%,100%,0%);fill-opacity:1;"d="M 324.351562 0 L 439.453125 0 L 439.453125 14.898438 L 324.351562 14.898438 Z M 324.351562 0 "/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 24.204609 6.467266 L 29.831758 6.430352 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 29.83332 6.680352 L 30.331758 6.427031 L 29.830195 6.180352 Z M 29.83332 6.680352 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 21.018867 8.336602 L 21.00832 10.987969 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 20.75832 10.986992 L 21.006367 11.487969 L 21.25832 10.988945 Z M 20.75832 10.986992 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 20.999922 14.786797 L 20.999922 16.078789 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 20.749922 16.078789 L 20.999922 16.578789 L 21.249922 16.078789 Z M 20.749922 16.078789 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 23.262812 11.97957 L 31.010469 7.972539 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 31.125312 8.194609 L 31.454609 7.742852 L 30.895625 7.750469 Z M 31.125312 8.194609 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 24.1925 18.224883 C 24.1925 19.106523 22.763203 19.821172 21.000117 19.821172 C 19.237031 19.821172 17.807734 19.106523 17.807734 18.224883 C 17.807734 17.343438 19.237031 16.628789 21.000117 16.628789 C 22.763203 16.628789 24.1925 17.343438 24.1925 18.224883 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 21.000117 19.846367 L 21.000117 21.019023 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 20.750117 21.019023 L 21.000117 21.519023 L 21.250117 21.019023 Z M 20.750117 21.019023 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 5.094062 6.431133 C 5.094062 7.086211 4.363398 7.617266 3.462031 7.617266 C 2.560664 7.617266 1.83 7.086211 1.83 6.431133 C 1.83 5.776055 2.560664 5.245 3.462031 5.245 C 4.363398 5.245 5.094062 5.776055 5.094062 6.431133 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle=" stroke:none;fill-rule:evenodd;fill:rgb(0%,100%,0%);fill-opacity:1;"d="M 574.574219 0.300781 L 712.023438 0.300781 L 712.023438 15.199219 L 574.574219 15.199219 Z M 574.574219 0.300781 "/>
<pathstyle="fill:none;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 37.735273 6.359258 L 39.988984 6.3325 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.05;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;"d="M 39.991914 6.5825 L 40.488789 6.326641 L 39.985859 6.082695 Z M 39.991914 6.5825 "transform="matrix(20,0,0,20,-36.1,-65.11875)"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 713.614 347.58 L 713.54,345.719 L 713.283,343.858 L 712.804,342.03 L 712.142,340.201 L 711.258,338.34 L 710.264,336.545 L 709.013,334.781 L 707.614,333.051 L 706.104,331.321 L 704.337,329.688 L 702.46,328.056 L 700.398,326.521 L 698.153,324.986 L 695.797,323.55 L 693.294,322.146 L 690.606,320.84 L 687.845,319.566 L 684.974,318.391 L 681.955,317.281 L 678.826,316.269 L 675.587,315.289 L 672.237,314.473 L 668.887,313.657 L 665.39,312.971 L 661.819,312.351 L 658.248,311.828 L 654.604,311.404 L 650.922,311.11 L 647.204,310.849 L 643.45,310.718 L 639.695,310.653 L 639.695,310.653 L 635.977,310.718 L 632.185,310.849 L 628.504,311.11 L 624.822,311.404 L 621.141,311.828 L 617.57,312.351 L 614,312.971 L 610.539,313.657 L 607.116,314.473 L 603.839,315.289 L 600.6,316.269 L 597.508,317.281 L 594.452,318.391 L 591.581,319.566 L 588.783,320.84 L 586.096,322.146 L 583.592,323.55 L 581.236,324.986 L 578.991,326.521 L 576.929,328.056 L 575.052,329.688 L 573.322,331.321 L 571.739,333.051 L 570.414,334.781 L 569.162,336.545 L 568.131,338.34 L 567.248,340.201 L 566.659,342.03 L 566.18,343.858 L 565.849,345.719 L 565.812,347.58 L 565.812,347.58 L 565.849,349.474 L 566.18,351.335 L 566.659,353.196 L 567.248,355.024 L 568.131,356.853 L 569.162,358.649 L 570.414,360.412 L 571.739,362.175 L 573.322,363.873 L 575.052,365.505 L 576.929,367.138 L 578.991,368.705 L 581.236,370.207 L 583.592,371.643 L 586.096,373.047 L 588.783,374.386 L 591.581,375.594 L 594.452,376.835 L 597.508,377.945 L 600.6,378.957 L 603.839,379.871 L 607.116,380.753 L 610.539,381.536 L 614,382.222 L 617.57,382.842 L 621.141,383.365 L 624.822,383.757 L 628.504,384.083 L 632.185,384.377 L 635.977,384.475 L 639.695,384.508 L 639.695,384.508 L 643.45,384.475 L 647.204,384.377 L 650.922,384.083 L 654.604,383.757 L 658.248,383.365 L 661.819,382.842 L 665.39,382.222 L 668.887,381.536 L 672.237,380.753 L 675.587,379.871 L 678.826,378.957 L 681.955,377.945 L 684.974,376.835 L 687.845,375.594 L 690.606,374.386 L 693.294,373.047 L 695.797,371.643 L 698.153,370.207 L 700.398,368.705 L 702.46,367.138 L 704.337,365.505 L 706.104,363.873 L 707.614,362.175 L 709.013,360.412 L 710.264,358.649 L 711.258,356.853 L 712.142,355.024 L 712.804,353.196 L 713.283,351.335 L 713.54,349.474 L 713.614,347.58z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 597.765 366.974 L 597.692,365.113 L 597.434,363.252 L 597.139,361.424 L 596.624,359.563 L 595.961,357.734 L 595.152,355.939 L 594.194,354.176 L 593.164,352.445 L 591.986,350.715 L 590.66,349.082 L 589.225,347.45 L 587.642,345.915 L 585.875,344.381 L 584.071,342.944 L 582.157,341.54 L 580.095,340.234 L 578.034,338.961 L 575.751,337.785 L 573.469,336.675 L 571.039,335.696 L 568.61,334.683 L 566.07,333.802 L 563.419,333.051 L 560.769,332.365 L 558.045,331.745 L 555.284,331.223 L 552.486,330.798 L 549.651,330.504 L 546.854,330.243 L 543.982,330.08 L 541.111,330.047 L 541.111,330.047 L 538.239,330.08 L 535.368,330.243 L 532.497,330.504 L 529.699,330.798 L 526.864,331.223 L 524.104,331.745 L 521.416,332.365 L 518.766,333.051 L 516.152,333.802 L 513.612,334.683 L 511.109,335.696 L 508.753,336.675 L 506.397,337.785 L 504.188,338.961 L 502.09,340.234 L 500.028,341.54 L 498.114,342.944 L 496.273,344.381 L 494.543,345.915 L 492.997,347.45 L 491.524,349.082 L 490.236,350.715 L 489.021,352.445 L 487.954,354.176 L 487.033,355.939 L 486.223,357.734 L 485.561,359.563 L 485.082,361.424 L 484.714,363.252 L 484.493,365.113 L 484.42,366.974 L 484.42,366.974 L 484.493,368.868 L 484.714,370.729 L 485.082,372.59 L 485.561,374.419 L 486.223,376.247 L 487.033,378.043 L 487.954,379.806 L 489.021,381.536 L 490.236,383.267 L 491.524,384.899 L 492.997,386.532 L 494.543,388.066 L 496.273,389.601 L 498.114,391.038 L 500.028,392.442 L 502.09,393.748 L 504.188,394.988 L 506.397,396.164 L 508.753,397.339 L 511.109,398.351 L 513.612,399.265 L 516.152,400.18 L 518.766,400.931 L 521.416,401.616 L 524.104,402.237 L 526.864,402.726 L 529.699,403.151 L 532.497,403.477 L 535.368,403.771 L 538.239,403.869 L 541.111,403.902 L 541.111,403.902 L 543.982,403.869 L 546.854,403.771 L 549.651,403.477 L 552.486,403.151 L 555.284,402.726 L 558.045,402.237 L 560.769,401.616 L 563.419,400.931 L 566.07,400.18 L 568.61,399.265 L 571.039,398.351 L 573.469,397.339 L 575.751,396.164 L 578.034,394.988 L 580.095,393.748 L 582.157,392.442 L 584.071,391.038 L 585.875,389.601 L 587.642,388.066 L 589.225,386.532 L 590.66,384.899 L 591.986,383.267 L 593.164,381.536 L 594.194,379.806 L 595.152,378.043 L 595.961,376.247 L 596.624,374.419 L 597.139,372.59 L 597.434,370.729 L 597.692,368.868 L 597.765,366.974z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 526.312 404.685 L 526.275,403.151 L 526.165,401.616 L 525.907,400.082 L 525.576,398.58 L 525.097,397.143 L 524.545,395.641 L 523.956,394.172 L 523.257,392.768 L 522.447,391.364 L 521.527,390.025 L 520.533,388.752 L 519.465,387.446 L 518.324,386.205 L 517.109,384.997 L 515.784,383.887 L 514.422,382.842 L 513.023,381.765 L 511.55,380.818 L 509.968,379.904 L 508.348,379.055 L 506.691,378.304 L 504.961,377.586 L 503.231,376.965 L 501.427,376.41 L 499.586,375.888 L 497.746,375.496 L 495.868,375.104 L 493.917,374.876 L 492.003,374.68 L 490.126,374.582 L 488.175,374.517 L 488.175,374.517 L 486.223,374.582 L 484.272,374.68 L 482.358,374.876 L 480.481,375.104 L 478.566,375.496 L 476.689,375.888 L 474.885,376.41 L 473.118,376.965 L 471.314,377.586 L 469.584,378.304 L 467.928,379.055 L 466.308,379.904 L 464.762,380.818 L 463.252,381.765 L 461.854,382.842 L 460.492,383.887 L 459.203,384.997 L 457.951,386.205 L 456.81,387.446 L 455.743,388.752 L 454.749,390.025 L 453.902,391.364 L 453.092,392.768 L 452.393,394.172 L 451.73,395.641 L 451.178,397.143 L 450.773,398.58 L 450.442,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,404.685 L 450,406.155 L 450.147,407.689 L 450.442,409.191 L 450.773,410.693 L 451.178,412.227 L 451.73,413.664 L 452.393,415.101 L 453.092,416.537 L 453.902,417.941 L 454.749,419.28 L 455.743,420.586 L 456.81,421.859 L 457.951,423.1 L 459.203,424.275 L 460.492,425.385 L 461.854,426.463 L 463.252,427.54 L 464.762,428.455 L 466.308,429.369 L 467.928,430.218 L 469.584,431.001 L 471.314,431.72 L 473.118,432.34 L 474.885,432.895 L 476.689,433.385 L 478.566,433.809 L 480.481,434.168 L 482.358,434.462 L 484.272,434.625 L 486.223,434.723 L 488.175,434.789 L 488.175,434.789 L 490.126,434.723 L 492.003,434.625 L 493.917,434.462 L 495.868,434.168 L 497.746,433.809 L 499.586,433.385 L 501.427,432.895 L 503.231,432.34 L 504.961,431.72 L 506.691,431.001 L 508.348,430.218 L 509.968,429.369 L 511.55,428.455 L 513.023,427.54 L 514.422,426.463 L 515.784,425.385 L 517.109,424.275 L 518.324,423.1 L 519.465,421.859 L 520.533,420.586 L 521.527,419.28 L 522.447,417.941 L 523.257,416.537 L 523.956,415.101 L 524.545,413.664 L 525.097,412.227 L 525.576,410.693 L 525.907,409.191 L 526.165,407.689 L 526.275,406.155 L 526.312,404.685z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 587.936 433.711 L 587.9,432.046 L 587.642,430.414 L 587.237,428.748 L 586.758,427.116 L 586.096,425.516 L 585.323,423.916 L 584.329,422.349 L 583.298,420.814 L 582.046,419.378 L 580.721,417.876 L 579.212,416.439 L 577.629,415.101 L 575.935,413.762 L 574.095,412.423 L 572.144,411.215 L 570.082,410.04 L 567.91,408.962 L 565.628,407.885 L 563.309,406.938 L 560.879,405.991 L 558.339,405.175 L 555.762,404.391 L 553.112,403.706 L 550.424,403.085 L 547.663,402.563 L 544.829,402.139 L 542.031,401.747 L 539.16,401.42 L 536.288,401.224 L 533.38,401.094 L 530.435,401.061 L 530.435,401.061 L 527.527,401.094 L 524.656,401.224 L 521.711,401.42 L 518.876,401.747 L 516.005,402.139 L 513.244,402.563 L 510.483,403.085 L 507.759,403.706 L 505.108,404.391 L 502.568,405.175 L 500.028,405.991 L 497.599,406.938 L 495.243,407.885 L 492.997,408.962 L 490.825,410.04 L 488.764,411.215 L 486.812,412.423 L 484.972,413.762 L 483.242,415.101 L 481.659,416.439 L 480.149,417.876 L 478.787,419.378 L 477.609,420.814 L 476.542,422.349 L 475.548,423.916 L 474.738,425.516 L 474.149,427.116 L 473.597,428.748 L 473.229,430.414 L 473.008,432.046 L 472.934,433.711 L 472.934,433.711 L 473.008,435.344 L 473.229,437.009 L 473.597,438.641 L 474.149,440.274 L 474.738,441.874 L 475.548,443.474 L 476.542,445.073 L 477.609,446.608 L 478.787,448.077 L 480.149,449.514 L 481.659,450.95 L 483.242,452.322 L 484.972,453.693 L 486.812,454.999 L 488.764,456.207 L 490.825,457.35 L 492.997,458.46 L 495.243,459.505 L 497.599,460.484 L 500.028,461.431 L 502.568,462.247 L 505.108,463.031 L 507.759,463.684 L 510.483,464.304 L 513.244,464.827 L 516.005,465.284 L 518.876,465.708 L 521.711,466.002 L 524.656,466.198 L 527.527,466.329 L 530.435,466.329 L 530.435,466.329 L 533.38,466.329 L 536.288,466.198 L 539.16,466.002 L 542.031,465.708 L 544.829,465.284 L 547.663,464.827 L 550.424,464.304 L 553.112,463.684 L 555.762,463.031 L 558.339,462.247 L 560.879,461.431 L 563.309,460.484 L 565.628,459.505 L 567.91,458.46 L 570.082,457.35 L 572.144,456.207 L 574.095,454.999 L 575.935,453.693 L 577.629,452.322 L 579.212,450.95 L 580.721,449.514 L 582.046,448.077 L 583.298,446.608 L 584.329,445.073 L 585.323,443.474 L 586.096,441.874 L 586.758,440.274 L 587.237,438.641 L 587.642,437.009 L 587.9,435.344 L 587.936,433.711z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 725.946 450.591 L 725.799,448.6 L 725.505,446.608 L 724.916,444.682 L 724.142,442.755 L 723.185,440.829 L 722.007,438.968 L 720.608,437.139 L 718.989,435.278 L 717.148,433.483 L 715.16,431.752 L 712.915,430.087 L 710.559,428.455 L 707.982,426.855 L 705.258,425.32 L 702.276,423.851 L 699.257,422.48 L 696.018,421.141 L 692.631,419.9 L 689.171,418.757 L 685.489,417.68 L 681.771,416.668 L 677.906,415.786 L 673.967,414.937 L 669.881,414.219 L 665.795,413.566 L 661.598,413.044 L 657.401,412.587 L 653.058,412.26 L 648.824,412.032 L 644.443,411.836 L 640.1,411.836 L 640.1,411.836 L 635.756,411.836 L 631.412,412.032 L 627.105,412.26 L 622.835,412.587 L 618.564,413.044 L 614.405,413.566 L 610.282,414.219 L 606.269,414.937 L 602.256,415.786 L 598.465,416.668 L 594.673,417.68 L 591.065,418.757 L 587.568,419.9 L 584.218,421.141 L 580.979,422.48 L 577.887,423.851 L 574.978,425.32 L 572.254,426.855 L 569.641,428.455 L 567.248,430.087 L 565.039,431.752 L 563.088,433.483 L 561.247,435.278 L 559.628,437.139 L 558.229,438.968 L 557.014,440.829 L 556.057,442.755 L 555.247,444.682 L 554.695,446.608 L 554.363,448.6 L 554.253,450.591 L 554.253,450.591 L 554.363,452.485 L 554.695,454.477 L 555.247,456.403 L 556.057,458.362 L 557.014,460.288 L 558.229,462.149 L 559.628,463.978 L 561.247,465.839 L 563.088,467.635 L 565.039,469.365 L 567.248,471.03 L 569.641,472.728 L 572.254,474.263 L 574.978,475.797 L 577.887,477.234 L 580.979,478.67 L 584.218,479.976 L 587.568,481.217 L 591.065,482.36 L 594.673,483.47 L 598.465,484.417 L 602.256,485.331 L 606.269,486.147 L 610.282,486.866 L 614.405,487.551 L 618.564,488.041 L 622.835,488.498 L 627.105,488.857 L 631.412,489.086 L 635.756,489.282 L 640.1,489.282 L 640.1,489.282 L 644.443,489.282 L 648.824,489.086 L 653.058,488.857 L 657.401,488.498 L 661.598,488.041 L 665.795,487.551 L 669.881,486.866 L 673.967,486.147 L 677.906,485.331 L 681.771,484.417 L 685.489,483.47 L 689.171,482.36 L 692.631,481.217 L 696.018,479.976 L 699.257,478.67 L 702.276,477.234 L 705.258,475.797 L 707.982,474.263 L 710.559,472.728 L 712.915,471.03 L 715.16,469.365 L 717.148,467.635 L 718.989,465.839 L 720.608,463.978 L 722.007,462.149 L 723.185,460.288 L 724.142,458.362 L 724.916,456.403 L 725.505,454.477 L 725.799,452.485 L 725.946,450.591z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 773.582 361.228 L 773.545,359.791 L 773.324,358.289 L 772.919,356.82 L 772.477,355.384 L 771.815,353.98 L 771.078,352.543 L 770.158,351.139 L 769.091,349.768 L 767.949,348.462 L 766.698,347.123 L 765.262,345.85 L 763.716,344.609 L 762.096,343.466 L 760.292,342.291 L 758.452,341.213 L 756.427,340.201 L 754.366,339.157 L 752.23,338.242 L 749.948,337.393 L 747.629,336.577 L 745.273,335.826 L 742.77,335.141 L 740.23,334.52 L 737.653,333.965 L 735.002,333.475 L 732.352,333.149 L 729.628,332.757 L 726.903,332.496 L 724.106,332.333 L 721.345,332.235 L 718.547,332.169 L 718.547,332.169 L 715.712,332.235 L 712.951,332.333 L 710.154,332.496 L 707.43,332.757 L 704.742,333.149 L 702.055,333.475 L 699.441,333.965 L 696.828,334.52 L 694.288,335.141 L 691.784,335.826 L 689.392,336.577 L 687.109,337.393 L 684.827,338.242 L 682.692,339.157 L 680.63,340.201 L 678.642,341.213 L 676.765,342.291 L 674.961,343.466 L 673.341,344.609 L 671.832,345.85 L 670.359,347.123 L 669.108,348.462 L 667.967,349.768 L 666.899,351.139 L 665.979,352.543 L 665.243,353.98 L 664.617,355.384 L 664.101,356.82 L 663.77,358.289 L 663.586,359.791 L 663.476,361.228 L 663.476,361.228 L 663.586,362.697 L 663.77,364.167 L 664.101,365.603 L 664.617,367.072 L 665.243,368.509 L 665.979,369.913 L 666.899,371.317 L 667.967,372.688 L 669.108,374.059 L 670.359,375.333 L 671.832,376.574 L 673.341,377.847 L 674.961,379.022 L 676.765,380.132 L 678.642,381.243 L 680.63,382.287 L 682.692,383.267 L 684.827,384.181 L 687.109,385.095 L 689.392,385.911 L 691.784,386.63 L 694.288,387.348 L 696.828,387.936 L 699.441,388.458 L 702.055,388.981 L 704.742,389.372 L 707.43,389.699 L 710.154,389.993 L 712.951,390.123 L 715.712,390.287 L 718.547,390.287 L 718.547,390.287 L 721.345,390.287 L 724.106,390.123 L 726.903,389.993 L 729.628,389.699 L 732.352,389.372 L 735.002,388.981 L 737.653,388.458 L 740.23,387.936 L 742.77,387.348 L 745.273,386.63 L 747.629,385.911 L 749.948,385.095 L 752.23,384.181 L 754.366,383.267 L 756.427,382.287 L 758.452,381.243 L 760.292,380.132 L 762.096,379.022 L 763.716,377.847 L 765.262,376.574 L 766.698,375.333 L 767.949,374.059 L 769.091,372.688 L 770.158,371.317 L 771.078,369.913 L 771.815,368.509 L 772.477,367.072 L 772.919,365.603 L 773.324,364.167 L 773.545,362.697 L 773.582,361.228z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 789.19 398.547 L 789.08,397.078 L 788.932,395.609 L 788.564,394.172 L 788.086,392.735 L 787.423,391.266 L 786.687,389.895 L 785.803,388.458 L 784.736,387.12 L 783.595,385.748 L 782.343,384.475 L 780.907,383.169 L 779.361,381.961 L 777.778,380.818 L 775.974,379.61 L 774.134,378.565 L 772.22,377.488 L 770.158,376.508 L 767.949,375.594 L 765.777,374.712 L 763.458,373.896 L 761.102,373.145 L 758.636,372.46 L 756.133,371.872 L 753.556,371.317 L 750.905,370.827 L 748.255,370.435 L 745.567,370.109 L 742.806,369.815 L 740.082,369.684 L 737.321,369.586 L 734.56,369.521 L 734.56,369.521 L 731.763,369.586 L 729.039,369.684 L 726.278,369.815 L 723.59,370.109 L 720.903,370.435 L 718.216,370.827 L 715.602,371.317 L 713.062,371.872 L 710.522,372.46 L 708.055,373.145 L 705.699,373.896 L 703.38,374.712 L 701.135,375.594 L 699.036,376.508 L 696.975,377.488 L 694.95,378.565 L 693.11,379.61 L 691.379,380.818 L 689.796,381.961 L 688.25,383.169 L 686.851,384.475 L 685.526,385.748 L 684.385,387.12 L 683.391,388.458 L 682.471,389.895 L 681.661,391.266 L 681.072,392.735 L 680.593,394.172 L 680.225,395.609 L 680.004,397.078 L 679.968,398.547 L 679.968,398.547 L 680.004,400.016 L 680.225,401.518 L 680.593,402.955 L 681.072,404.391 L 681.661,405.828 L 682.471,407.232 L 683.391,408.669 L 684.385,410.007 L 685.526,411.313 L 686.851,412.652 L 688.25,413.893 L 689.796,415.133 L 691.379,416.309 L 693.11,417.451 L 694.95,418.562 L 696.975,419.574 L 699.036,420.586 L 701.135,421.5 L 703.38,422.349 L 705.699,423.165 L 708.055,423.916 L 710.522,424.602 L 713.062,425.222 L 715.602,425.81 L 718.216,426.3 L 720.903,426.626 L 723.59,427.018 L 726.278,427.247 L 729.039,427.442 L 731.763,427.54 L 734.56,427.573 L 734.56,427.573 L 737.321,427.54 L 740.082,427.442 L 742.806,427.247 L 745.567,427.018 L 748.255,426.626 L 750.905,426.3 L 753.556,425.81 L 756.133,425.222 L 758.636,424.602 L 761.102,423.916 L 763.458,423.165 L 765.777,422.349 L 767.949,421.5 L 770.158,420.586 L 772.22,419.574 L 774.134,418.562 L 775.974,417.451 L 777.778,416.309 L 779.361,415.133 L 780.907,413.893 L 782.343,412.652 L 783.595,411.313 L 784.736,410.007 L 785.803,408.669 L 786.687,407.232 L 787.423,405.828 L 788.086,404.391 L 788.564,402.955 L 788.932,401.518 L 789.08,400.016 L 789.19,398.547z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 778.515 429.401 L 778.441,427.018 L 778.22,424.569 L 777.926,422.218 L 777.447,419.802 L 776.821,417.451 L 776.048,415.133 L 775.165,412.848 L 774.097,410.595 L 772.956,408.407 L 771.741,406.252 L 770.342,404.163 L 768.796,402.171 L 767.176,400.212 L 765.409,398.351 L 763.569,396.555 L 761.654,394.825 L 759.593,393.192 L 757.495,391.723 L 755.249,390.287 L 752.967,388.981 L 750.611,387.74 L 748.218,386.63 L 745.715,385.585 L 743.175,384.671 L 740.524,383.887 L 737.91,383.267 L 735.186,382.679 L 732.499,382.255 L 729.812,381.961 L 727.087,381.765 L 724.327,381.732 L 724.327,381.732 L 721.566,381.765 L 718.841,381.961 L 716.081,382.255 L 713.393,382.679 L 710.743,383.267 L 708.055,383.887 L 705.479,384.671 L 702.939,385.585 L 700.435,386.63 L 697.969,387.74 L 695.613,388.981 L 693.33,390.287 L 691.159,391.723 L 688.987,393.192 L 686.962,394.825 L 685.011,396.555 L 683.17,398.351 L 681.44,400.212 L 679.783,402.171 L 678.311,404.163 L 676.912,406.252 L 675.624,408.407 L 674.482,410.595 L 673.489,412.848 L 672.605,415.133 L 671.832,417.451 L 671.206,419.802 L 670.728,422.218 L 670.359,424.569 L 670.139,427.018 L 670.065,429.401 L 670.065,429.401 L 670.139,431.818 L 670.359,434.266 L 670.728,436.617 L 671.206,439.001 L 671.832,441.417 L 672.605,443.702 L 673.489,445.955 L 674.482,448.241 L 675.624,450.395 L 676.912,452.55 L 678.311,454.673 L 679.783,456.664 L 681.44,458.591 L 683.17,460.484 L 685.011,462.28 L 686.962,463.978 L 688.987,465.61 L 691.159,467.145 L 693.33,468.549 L 695.613,469.888 L 697.969,471.096 L 700.435,472.238 L 702.939,473.25 L 705.479,474.165 L 708.055,474.916 L 710.743,475.601 L 713.393,476.124 L 716.081,476.548 L 718.841,476.842 L 721.566,477.038 L 724.327,477.136 L 724.327,477.136 L 727.087,477.038 L 729.812,476.842 L 732.499,476.548 L 735.186,476.124 L 737.91,475.601 L 740.524,474.916 L 743.175,474.165 L 745.715,473.25 L 748.218,472.238 L 750.611,471.096 L 752.967,469.888 L 755.249,468.549 L 757.495,467.145 L 759.593,465.61 L 761.654,463.978 L 763.569,462.28 L 765.409,460.484 L 767.176,458.591 L 768.796,456.664 L 770.342,454.673 L 771.741,452.55 L 772.956,450.395 L 774.097,448.241 L 775.165,445.955 L 776.048,443.702 L 776.821,441.417 L 777.447,439.001 L 777.926,436.617 L 778.22,434.266 L 778.441,431.818 L 778.515,429.401z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 731.689 400.702 L 731.542,398.253 L 731.1,395.902 L 730.401,393.454 L 729.443,391.103 L 728.192,388.752 L 726.646,386.401 L 724.842,384.116 L 722.744,381.863 L 720.461,379.675 L 717.884,377.553 L 715.013,375.431 L 711.958,373.406 L 708.644,371.513 L 705.11,369.619 L 701.356,367.791 L 697.453,366.093 L 693.294,364.493 L 688.95,362.958 L 684.495,361.522 L 679.82,360.183 L 674.998,358.975 L 670.065,357.832 L 665.022,356.82 L 659.868,355.939 L 654.567,355.188 L 649.192,354.502 L 643.781,353.98 L 638.296,353.555 L 632.774,353.196 L 627.215,353.033 L 621.583,352.968 L 621.583,352.968 L 616.024,353.033 L 610.466,353.196 L 604.944,353.555 L 599.422,353.98 L 594.01,354.502 L 588.636,355.188 L 583.372,355.939 L 578.218,356.82 L 573.101,357.832 L 568.242,358.975 L 563.419,360.183 L 558.707,361.522 L 554.216,362.958 L 549.946,364.493 L 545.749,366.093 L 541.81,367.791 L 538.129,369.619 L 534.558,371.513 L 531.245,373.406 L 528.227,375.431 L 525.355,377.553 L 522.815,379.675 L 520.496,381.863 L 518.361,384.116 L 516.594,386.401 L 515.084,388.752 L 513.759,391.103 L 512.802,393.454 L 512.103,395.902 L 511.661,398.253 L 511.55,400.702 L 511.55,400.702 L 511.661,403.085 L 512.103,405.502 L 512.802,407.885 L 513.759,410.301 L 515.084,412.652 L 516.594,414.97 L 518.361,417.223 L 520.496,419.508 L 522.815,421.729 L 525.355,423.851 L 528.227,425.908 L 531.245,427.932 L 534.558,429.891 L 538.129,431.752 L 541.81,433.548 L 545.749,435.278 L 549.946,436.911 L 554.216,438.445 L 558.707,439.882 L 563.419,441.155 L 568.242,442.429 L 573.101,443.506 L 578.218,444.518 L 583.372,445.433 L 588.636,446.216 L 594.01,446.869 L 599.422,447.424 L 604.944,447.849 L 610.466,448.143 L 616.024,448.371 L 621.583,448.404 L 621.583,448.404 L 627.215,448.371 L 632.774,448.143 L 638.296,447.849 L 643.781,447.424 L 649.192,446.869 L 654.567,446.216 L 659.868,445.433 L 665.022,444.518 L 670.065,443.506 L 674.998,442.429 L 679.82,441.155 L 684.495,439.882 L 688.95,438.445 L 693.294,436.911 L 697.453,435.278 L 701.356,433.548 L 705.11,431.752 L 708.644,429.891 L 711.958,427.932 L 715.013,425.908 L 717.884,423.851 L 720.461,421.729 L 722.744,419.508 L 724.842,417.223 L 726.646,414.97 L 728.192,412.652 L 729.443,410.301 L 730.401,407.885 L 731.1,405.502 L 731.542,403.085 L 731.689,400.702z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 640.541 347.254 L 713.393,339.026 L 712.473,337.23 L 711.332,335.402 L 710.08,333.606 L 708.571,331.876 L 706.951,330.21 L 705.11,328.513 L 703.196,326.913 L 700.987,325.378 L 698.742,323.876 L 696.312,322.44 L 693.699,321.068 L 690.974,319.795 L 688.103,318.554 L 685.121,317.346 L 682.029,316.269 L 678.826,315.289 L 675.587,314.31 L 672.163,313.494 L 668.703,312.743 L 665.206,312.057 L 661.561,311.469 L 657.917,311.012 L 654.236,310.588 L 650.518,310.294 L 646.763,310.098 L 642.971,310 L 639.216,310 L 635.424,310.098 L 631.633,310.229 L 627.951,310.49 L 624.233,310.914 L 620.552,311.339 L 616.908,311.926 L 613.337,312.547 L 609.877,313.265 L 606.49,314.081 L 603.14,314.995 L 599.9,315.942 L 596.845,317.02 L 593.826,318.163 L 590.918,319.371 L 588.157,320.644 L 585.544,322.015 L 583.077,323.452 L 580.721,324.921 L 578.512,326.456 L 576.451,328.056 L 574.573,329.688 L 572.954,331.418 L 571.371,333.084 L 570.009,334.879 L 568.867,336.642 L 567.91,338.471 L 567.1,340.299 L 640.541,347.254z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 713.393 338.961 L 712.436,337.132 L 711.332,335.336 L 710.043,333.541 L 708.571,331.843 L 706.877,330.145 L 705.074,328.48 L 703.123,326.88 L 700.914,325.346 L 698.631,323.876 L 696.275,322.44 L 693.625,321.003 L 690.974,319.73 L 688.066,318.489 L 685.084,317.346 L 682.029,316.204 L 678.826,315.224 L 675.55,314.31 L 672.126,313.461 L 668.666,312.743 L 665.206,312.057 L 661.561,311.469 L 657.88,311.012 L 654.199,310.588 L 650.481,310.294 L 646.763,310.098 L 642.934,310 L 639.179,310 L 635.424,310.098 L 631.67,310.229 L 627.915,310.49 L 624.233,310.914 L 620.552,311.306 L 616.945,311.861 L 613.411,312.547 L 609.877,313.265 L 606.527,314.081 L 603.177,314.995 L 599.974,315.942 L 596.845,316.987 L 593.863,318.163 L 590.955,319.371 L 588.194,320.611 L 585.58,321.983 L 583.077,323.387 L 580.721,324.888 L 578.512,326.423 L 576.524,327.99 L 574.61,329.688 L 572.954,331.321 L 571.408,333.051 L 570.082,334.781 L 568.867,336.577 L 567.91,338.406 L 567.137,340.234"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 541.479 366.615 L 578.218,338.046 L 575.935,336.871 L 573.543,335.761 L 571.113,334.781 L 568.61,333.802 L 566.07,332.953 L 563.419,332.169 L 560.695,331.516 L 558.008,330.896 L 555.173,330.406 L 552.375,329.982 L 549.504,329.688 L 546.633,329.459 L 543.761,329.329 L 540.89,329.329 L 537.982,329.394 L 535.11,329.59 L 532.239,329.819 L 529.405,330.178 L 526.607,330.635 L 523.846,331.157 L 521.085,331.778 L 518.434,332.496 L 515.784,333.312 L 513.244,334.194 L 510.777,335.173 L 508.421,336.251 L 506.065,337.393 L 503.857,338.569 L 501.758,339.875 L 499.697,341.213 L 497.783,342.65 L 496.016,344.087 L 494.322,345.654 L 492.776,347.221 L 491.304,348.854 L 490.015,350.551 L 488.8,352.282 L 487.77,354.012 L 486.849,355.808 L 486.113,357.636 L 485.524,359.465 L 485.009,361.359 L 484.641,363.252 L 484.493,365.113 L 484.42,366.974 L 484.53,368.868 L 484.751,370.794 L 485.193,372.623 L 541.479,366.615z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 578.034 337.948 L 575.751,336.773 L 573.432,335.696 L 571.003,334.683 L 568.463,333.769 L 565.849,332.888 L 563.235,332.137 L 560.548,331.451 L 557.787,330.863 L 555.026,330.406 L 552.155,329.982 L 549.32,329.688 L 546.485,329.459 L 543.614,329.329 L 540.669,329.329 L 537.871,329.394 L 535,329.59 L 532.055,329.819 L 529.257,330.21 L 526.496,330.635 L 523.662,331.223 L 520.974,331.81 L 518.324,332.561 L 515.71,333.377 L 513.133,334.259 L 510.667,335.239 L 508.311,336.316 L 506.029,337.426 L 503.82,338.667 L 501.648,339.907 L 499.697,341.311 L 497.746,342.683 L 495.942,344.185 L 494.285,345.687 L 492.702,347.254 L 491.304,348.919 L 490.015,350.617 L 488.8,352.347 L 487.733,354.078 L 486.849,355.906 L 486.113,357.669 L 485.45,359.53 L 485.009,361.424 L 484.641,363.285 L 484.493,365.146 L 484.42,367.04 L 484.604,368.901 L 484.825,370.794 L 485.193,372.688"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 531.245 433.352 L 472.124,432.34 L 472.124,434.07 L 472.235,435.703 L 472.529,437.433 L 473.008,439.066 L 473.56,440.731 L 474.259,442.429 L 475.18,443.996 L 476.137,445.596 L 477.352,447.163 L 478.64,448.665 L 480.002,450.2 L 481.622,451.636 L 483.242,453.04 L 485.082,454.379 L 486.96,455.685 L 488.984,456.925 L 491.156,458.068 L 493.365,459.178 L 495.684,460.288 L 498.114,461.235 L 500.617,462.149 L 503.231,463.031 L 505.881,463.749 L 508.532,464.468 L 511.33,465.088 L 514.164,465.61 L 517.036,466.035 L 519.944,466.427 L 522.852,466.72 L 525.797,466.916 L 528.779,467.014 L 531.797,467.014 L 534.706,466.949 L 537.687,466.818 L 540.632,466.623 L 543.54,466.329 L 546.485,465.904 L 549.283,465.414 L 552.155,464.892 L 554.842,464.206 L 557.566,463.553 L 560.217,462.737 L 562.72,461.856 L 565.26,460.909 L 567.579,459.897 L 569.898,458.852 L 531.245,433.352z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 472.198 432.34 L 472.087,434.005 L 472.308,435.703 L 472.529,437.368 L 473.008,439.066 L 473.56,440.698 L 474.296,442.364 L 475.18,443.996 L 476.21,445.596 L 477.352,447.13 L 478.566,448.665 L 480.002,450.134 L 481.511,451.603 L 483.242,452.975 L 485.009,454.379 L 486.923,455.619 L 488.911,456.86 L 491.046,458.068 L 493.255,459.178 L 495.574,460.223 L 498.003,461.203 L 500.507,462.117 L 503.047,462.966 L 505.697,463.749 L 508.458,464.468 L 511.182,465.023 L 513.98,465.545 L 516.851,466.035 L 519.796,466.361 L 522.705,466.72 L 525.613,466.851 L 528.595,467.014 L 531.576,467.014 L 534.521,467.014 L 537.466,466.851 L 540.411,466.623 L 543.32,466.329 L 546.265,465.937 L 549.062,465.48 L 551.934,464.925 L 554.658,464.272 L 557.308,463.553 L 559.959,462.77 L 562.499,461.921 L 565.039,461.007 L 567.432,459.995 L 569.677,458.95"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 719.357 360.542 L 771.373,369.978 L 772.256,368.574 L 772.919,367.17 L 773.545,365.734 L 773.913,364.264 L 774.281,362.795 L 774.355,361.326 L 774.355,359.824 L 774.281,358.387 L 773.987,356.918 L 773.582,355.449 L 772.993,354.012 L 772.293,352.576 L 771.483,351.204 L 770.526,349.8 L 769.422,348.462 L 768.17,347.123 L 766.771,345.817 L 765.336,344.576 L 763.753,343.368 L 762.059,342.226 L 760.256,341.05 L 758.268,340.005 L 756.28,338.993 L 754.108,338.046 L 751.936,337.132 L 749.654,336.316 L 747.298,335.5 L 744.831,334.781 L 742.328,334.128 L 739.751,333.541 L 737.1,333.051 L 734.487,332.627 L 731.726,332.235 L 729.002,331.941 L 726.241,331.712 L 723.443,331.614 L 720.682,331.516 L 717.921,331.516 L 715.123,331.614 L 712.326,331.745 L 709.602,331.974 L 706.841,332.267 L 704.117,332.627 L 701.429,333.084 L 719.357,360.542z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 766.587 375.3 L 771.336,370.044 L 772.22,368.672 L 772.919,367.236 L 773.471,365.799 L 773.913,364.33 L 774.207,362.861 L 774.318,361.424 L 774.355,359.889 L 774.244,358.453 L 773.987,356.983 L 773.582,355.514 L 772.993,354.078 L 772.293,352.641 L 771.52,351.237 L 770.563,349.898 L 769.422,348.494 L 768.17,347.156 L 766.882,345.85 L 765.372,344.609 L 763.79,343.401 L 762.096,342.226 L 760.292,341.116 L 758.378,340.071 L 756.353,339.026 L 754.255,338.046 L 752.01,337.165 L 749.727,336.316 L 747.371,335.532 L 744.905,334.879 L 742.401,334.194 L 739.861,333.573 L 737.248,333.051 L 734.56,332.627 L 731.91,332.235 L 729.186,331.941 L 726.425,331.745 L 723.627,331.614 L 720.829,331.516 L 717.995,331.516 L 715.234,331.614 L 712.436,331.745 L 709.675,331.941 L 706.951,332.235 L 704.264,332.594 L 701.576,333.051"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 726.756 398.906 L 785.325,410.856 L 786.503,409.289 L 787.46,407.754 L 788.343,406.122 L 789.043,404.489 L 789.521,402.857 L 789.853,401.224 L 789.963,399.527 L 789.963,397.861 L 789.742,396.196 L 789.411,394.564 L 788.822,392.899 L 788.123,391.299 L 787.202,389.699 L 786.208,388.099 L 784.957,386.564 L 783.558,385.095 L 782.049,383.593 L 780.318,382.124 L 778.478,380.753 L 726.756,398.906z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 777.889 416.276 L 785.251,410.921 L 786.356,409.387 L 787.46,407.754 L 788.307,406.155 L 789.006,404.489 L 789.485,402.857 L 789.853,401.224 L 790,399.527 L 789.963,397.861 L 789.742,396.164 L 789.337,394.531 L 788.822,392.899 L 788.123,391.266 L 787.202,389.634 L 786.172,388.034 L 784.883,386.467 L 783.521,384.997 L 781.901,383.495 L 780.245,382.059 L 778.367,380.687 L 766.587,375.3"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 724.29 430.446 L 705.81,475.797 L 708.534,476.516 L 711.295,477.169 L 714.056,477.658 L 716.927,478.05 L 719.725,478.344 L 722.523,478.475 L 725.431,478.475 L 728.265,478.344 L 731.063,478.148 L 733.898,477.756 L 736.659,477.266 L 739.42,476.711 L 742.144,475.993 L 744.831,475.112 L 747.408,474.165 L 749.985,473.087 L 752.488,471.912 L 754.918,470.606 L 757.274,469.267 L 759.519,467.733 L 761.654,466.133 L 763.716,464.468 L 765.704,462.672 L 767.581,460.811 L 769.275,458.884 L 770.894,456.86 L 772.44,454.803 L 773.803,452.648 L 775.017,450.493 L 776.159,448.241 L 777.116,445.922 L 777.999,443.572 L 778.699,441.221 L 779.288,438.805 L 779.656,436.421 L 779.987,433.972 L 780.061,431.524 L 780.061,429.075 L 779.913,426.626 L 779.619,424.177 L 779.177,421.761 L 778.625,419.378 L 777.889,417.027 L 724.29,430.446z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 705.957 475.83 L 708.718,476.613 L 711.442,477.234 L 714.24,477.756 L 717.038,478.083 L 719.909,478.344 L 722.707,478.475 L 725.541,478.54 L 728.376,478.344 L 731.247,478.148 L 734.045,477.756 L 736.806,477.266 L 739.567,476.646 L 742.291,475.928 L 744.942,475.079 L 747.592,474.099 L 750.132,473.055 L 752.599,471.912 L 754.991,470.606 L 757.347,469.169 L 759.593,467.667 L 761.728,466.035 L 763.79,464.37 L 765.777,462.639 L 767.618,460.746 L 769.385,458.787 L 770.931,456.827 L 772.477,454.705 L 773.839,452.55 L 775.054,450.395 L 776.159,448.143 L 777.152,445.792 L 778.036,443.474 L 778.699,441.09 L 779.288,438.707 L 779.729,436.323 L 779.987,433.874 L 780.061,431.426 L 780.061,428.977 L 779.877,426.528 L 779.619,424.079 L 779.14,421.663 L 778.515,419.28 L 777.889,416.929"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 490.162 404.685 L 487.365,373.896 L 485.303,374.059 L 483.352,374.255 L 481.291,374.582 L 479.303,374.974 L 477.352,375.431 L 475.437,376.019 L 473.56,376.574 L 471.719,377.325 L 469.879,378.043 L 468.149,378.859 L 466.455,379.773 L 464.835,380.72 L 463.252,381.732 L 461.817,382.842 L 460.381,383.952 L 459.056,385.128 L 457.804,386.369 L 456.663,387.675 L 455.522,388.981 L 454.528,390.385 L 453.681,391.821 L 452.871,393.258 L 452.098,394.694 L 451.509,396.196 L 451.031,397.731 L 450.589,399.265 L 450.258,400.833 L 450.11,402.432 L 450,403.967 L 450,405.534 L 450.11,407.069 L 450.331,408.669 L 450.663,410.203 L 451.031,411.738 L 451.583,413.272 L 452.172,414.774 L 452.908,416.243 L 453.718,417.68 L 454.638,419.084 L 455.632,420.488 L 456.773,421.761 L 457.915,423.067 L 459.203,424.308 L 460.565,425.483 L 461.964,426.626 L 463.473,427.671 L 465.056,428.683 L 466.676,429.663 L 468.406,430.544 L 470.1,431.36 L 471.94,432.111 L 490.162,404.685z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 487.365 373.896 L 485.414,374.059 L 483.389,374.255 L 481.401,374.582 L 479.487,374.941 L 477.536,375.398 L 475.621,375.888 L 473.781,376.508 L 471.977,377.161 L 470.173,377.88 L 468.517,378.696 L 466.786,379.577 L 465.204,380.492 L 463.657,381.471 L 462.185,382.549 L 460.712,383.659 L 459.424,384.769 L 458.136,386.009 L 456.994,387.25 L 455.89,388.556 L 454.933,389.895 L 454.013,391.266 L 453.129,392.637 L 452.393,394.074 L 451.73,395.543 L 451.178,397.045 L 450.773,398.547 L 450.368,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,406.22 L 450.221,407.754 L 450.442,409.289 L 450.773,410.824 L 451.252,412.325 L 451.73,413.795 L 452.393,415.231 L 453.203,416.733 L 454.013,418.137 L 454.933,419.476 L 455.964,420.814 L 457.031,422.12 L 458.172,423.361 L 459.424,424.569 L 460.786,425.712 L 462.222,426.822 L 463.694,427.867 L 465.277,428.846 L 466.823,429.793 L 468.517,430.642 L 470.247,431.426 L 472.014,432.177"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 639.29 454.118 L 555.505,457.676 L 556.057,459.472 L 556.756,461.301 L 557.713,463.064 L 558.928,464.794 L 560.217,466.459 L 561.799,468.157 L 563.53,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.887,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.417 L 597.802,485.331 L 601.52,486.213 L 605.422,486.931 L 609.324,487.649 L 613.263,488.237 L 617.386,488.759 L 621.509,489.184 L 625.669,489.51 L 629.792,489.771 L 634.026,489.902 L 638.296,490 L 642.492,490 L 646.763,489.869 L 650.959,489.673 L 655.119,489.38 L 659.242,488.955 L 663.365,488.498 L 667.341,487.943 L 671.317,487.257 L 675.182,486.604 L 679.01,485.788 L 682.692,484.874 L 686.226,483.894 L 689.686,482.85 L 693.036,481.707 L 696.239,480.531 L 699.294,479.291 L 702.129,477.985 L 704.89,476.613 L 707.43,475.177 L 709.859,473.675 L 712.105,472.14 L 714.093,470.606 L 715.933,468.973 L 717.627,467.276 L 719.062,465.61 L 639.29,454.118z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 555.578 457.742 L 556.057,459.505 L 556.793,461.301 L 557.713,463.064 L 558.928,464.794 L 560.29,466.525 L 561.799,468.157 L 563.566,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.96,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.384 L 597.802,485.331 L 601.52,486.213 L 605.349,486.931 L 609.251,487.649 L 613.227,488.237 L 617.35,488.759 L 621.436,489.184 L 625.595,489.478 L 629.755,489.771 L 633.952,489.902 L 638.185,490 L 642.419,489.967 L 646.615,489.869 L 650.812,489.608 L 655.045,489.38 L 659.168,488.955 L 663.218,488.465 L 667.267,487.943 L 671.206,487.323 L 675.071,486.604 L 678.863,485.788 L 682.508,484.874 L 686.115,483.894 L 689.576,482.882 L 692.889,481.805 L 696.091,480.597 L 699.11,479.356 L 702.055,478.05 L 704.779,476.613 L 707.356,475.21 L 709.786,473.708 L 711.958,472.238 L 714.019,470.606 L 715.86,469.006 L 717.479,467.341 L 718.989,465.643"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 455.555 377.612 L 457.22,380.109 L 450.927,381.563 L 452.301,380.419 L 442.574,378.756 L 445.015,376.927 L 454.4,378.516 L 455.555,377.612z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 464.413 383.666 L 463.276,381.093 L 468.953,379.958 L 467.968,380.84 L 477.431,382.456 L 475.162,384.272 L 465.754,382.507 L 464.413,383.666z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 461.308 376.248 L 467.667,374.508 L 467.742,377.234 L 466.153,376.93 L 463.048,379.503 L 460.088,379.072 L 463.29,376.554 L 461.308,376.248z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 458.583 386.014 L 452.528,387.149 L 452.301,384.349 L 454.041,384.726 L 457.374,381.88 L 460.324,382.38 L 456.767,385.484 L 458.583,386.014z"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 295.599 336.092 L 295.599,336.168 L 295.613,336.23 L 295.633,336.314 L 295.661,336.397 L 295.703,336.46 L 295.751,336.536 L 295.814,336.605 L 295.876,336.668 L 295.939,336.744 L 296.022,336.821 L 296.106,336.883 L 296.196,336.939 L 296.3,336.994 L 296.397,337.057 L 296.522,337.105 L 296.633,337.168 L 296.758,337.216 L 296.897,337.265 L 297.036,337.306 L 297.168,337.348 L 297.313,337.39 L 297.459,337.431 L 297.612,337.452 L 297.779,337.48 L 297.938,337.494 L 298.105,337.522 L 298.258,337.543 L 298.431,337.563 L 298.605,337.57 L 298.771,337.577 L 298.938,337.577"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 298.57 337.577 L 298.737,337.577 L 298.896,337.57 L 299.056,337.556 L 299.222,337.536 L 299.389,337.522 L 299.542,337.494 L 299.695,337.48 L 299.854,337.445 L 300,337.411 L 300.153,337.369 L 300.285,337.327 L 300.423,337.286 L 300.555,337.237 L 300.68,337.188 L 300.791,337.14 L 300.909,337.084 L 301.02,337.022 L 301.118,336.966 L 301.215,336.897 L 301.298,336.827 L 301.375,336.758 L 301.437,336.696 L 301.506,336.619 L 301.562,336.543 L 301.604,336.48 L 301.652,336.404 L 301.673,336.314 L 301.694,336.237 L 301.715,336.168 L 301.722,336.092"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 299.306 333.308 L 299.132,333.308 L 298.966,333.315 L 298.792,333.315 L 298.639,333.329 L 298.473,333.35 L 298.306,333.363 L 298.146,333.377 L 297.98,333.412 L 297.834,333.44 L 297.688,333.461 L 297.543,333.495 L 297.397,333.537 L 297.265,333.572 L 297.14,333.613 L 297.015,333.669 L 296.876,333.711 L 296.779,333.759 L 296.668,333.801 L 296.564,333.856 L 296.48,333.919 L 296.39,333.974 L 296.314,334.023 L 296.237,334.085 L 296.182,334.148 L 296.126,334.217 L 296.071,334.28 L 296.043,334.335 L 296.008,334.405 L 295.988,334.46 L 295.981,334.537 L 295.974,334.592"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 302.083 334.592 L 302.083,334.53 L 302.076,334.46 L 302.048,334.398 L 302.02,334.321 L 301.985,334.266 L 301.93,334.19 L 301.874,334.134 L 301.819,334.065 L 301.736,334.016 L 301.673,333.947 L 301.59,333.891 L 301.479,333.842 L 301.388,333.773 L 301.284,333.738 L 301.173,333.683 L 301.048,333.627 L 300.916,333.586 L 300.784,333.544 L 300.653,333.509 L 300.514,333.481 L 300.368,333.447 L 300.215,333.412 L 300.069,333.391 L 299.917,333.363 L 299.764,333.35 L 299.604,333.329 L 299.438,333.315 L 299.264,333.315 L 299.098,333.308 L 298.938,333.308"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694"/>
<pathstyle="fill: #93936c; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 300.423 335.62 L 300.423,335.578 L 300.417,335.536 L 300.41,335.495 L 300.389,335.446 L 300.382,335.404 L 300.354,335.37 L 300.34,335.328 L 300.305,335.3 L 300.271,335.259 L 300.25,335.217 L 300.215,335.182 L 300.174,335.148 L 300.132,335.106 L 300.083,335.071 L 300.042,335.05 L 299.993,335.016 L 299.938,334.988 L 299.875,334.967 L 299.826,334.932 L 299.764,334.918 L 299.701,334.891 L 299.646,334.877 L 299.577,334.856 L 299.514,334.842 L 299.438,334.828 L 299.375,334.807 L 299.306,334.8 L 299.243,334.8 L 299.174,334.793 L 299.091,334.793 L 299.035,334.793 L 299.035,334.793 L 298.959,334.793 L 298.882,334.793 L 298.82,334.8 L 298.75,334.8 L 298.688,334.807 L 298.612,334.828 L 298.549,334.842 L 298.48,334.856 L 298.417,334.877 L 298.355,334.891 L 298.299,334.918 L 298.23,334.932 L 298.181,334.967 L 298.126,334.988 L 298.07,335.016 L 298.022,335.05 L 297.98,335.071 L 297.931,335.106 L 297.89,335.148 L 297.855,335.182 L 297.806,335.217 L 297.785,335.259 L 297.744,335.3 L 297.723,335.328 L 297.702,335.37 L 297.681,335.404 L 297.667,335.446 L 297.661,335.495 L 297.647,335.536 L 297.633,335.578 L 297.633,335.62 L 297.633,335.62 L 297.633,335.668 L 297.647,335.71 L 297.661,335.751 L 297.667,335.793 L 297.681,335.835 L 297.702,335.869 L 297.723,335.918 L 297.744,335.953 L 297.785,335.994 L 297.806,336.022 L 297.855,336.064 L 297.89,336.099 L 297.931,336.14 L 297.98,336.168 L 298.022,336.196 L 298.07,336.23 L 298.126,336.258 L 298.181,336.279 L 298.23,336.314 L 298.299,336.328 L 298.355,336.355 L 298.417,336.369 L 298.48,336.39 L 298.549,336.404 L 298.612,336.418 L 298.688,336.432 L 298.75,336.446 L 298.82,336.446 L 298.882,336.446 L 298.959,336.453 L 299.035,336.453 L 299.035,336.453 L 299.091,336.453 L 299.174,336.446 L 299.243,336.446 L 299.306,336.446 L 299.375,336.432 L 299.438,336.418 L 299.514,336.404 L 299.577,336.39 L 299.646,336.369 L 299.701,336.355 L 299.764,336.328 L 299.826,336.314 L 299.875,336.279 L 299.938,336.258 L 299.993,336.23 L 300.042,336.196 L 300.083,336.168 L 300.132,336.14 L 300.174,336.099 L 300.215,336.064 L 300.25,336.022 L 300.271,335.994 L 300.305,335.953 L 300.34,335.918 L 300.354,335.869 L 300.382,335.835 L 300.389,335.793 L 300.41,335.751 L 300.417,335.71 L 300.423,335.668 L 300.423,335.62z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 300.243 335.536 L 300.243,335.495 L 300.236,335.453 L 300.236,335.418 L 300.215,335.39 L 300.201,335.335 L 300.194,335.314 L 300.16,335.272 L 300.132,335.231 L 300.111,335.203 L 300.083,335.175 L 300.042,335.148 L 300.007,335.099 L 299.965,335.071 L 299.924,335.05 L 299.889,335.016 L 299.833,334.988 L 299.792,334.974 L 299.743,334.939 L 299.695,334.925 L 299.632,334.898 L 299.577,334.884 L 299.514,334.87 L 299.459,334.849 L 299.396,334.835 L 299.334,334.828 L 299.264,334.807 L 299.209,334.8 L 299.132,334.793 L 299.077,334.793 L 299.007,334.793 L 298.945,334.793 L 298.945,334.793 L 298.875,334.793 L 298.813,334.793 L 298.743,334.793 L 298.688,334.8 L 298.619,334.807 L 298.563,334.828 L 298.487,334.835 L 298.431,334.849 L 298.383,334.87 L 298.313,334.884 L 298.258,334.898 L 298.188,334.925 L 298.153,334.939 L 298.091,334.974 L 298.049,334.988 L 298.001,335.016 L 297.959,335.05 L 297.917,335.071 L 297.876,335.099 L 297.841,335.148 L 297.806,335.175 L 297.779,335.203 L 297.744,335.231 L 297.73,335.272 L 297.702,335.314 L 297.688,335.335 L 297.674,335.39 L 297.661,335.418 L 297.654,335.453 L 297.647,335.495 L 297.647,335.536 L 297.647,335.536 L 297.647,335.571 L 297.654,335.613 L 297.661,335.654 L 297.674,335.675 L 297.688,335.717 L 297.702,335.758 L 297.73,335.793 L 297.744,335.828 L 297.779,335.869 L 297.806,335.89 L 297.841,335.925 L 297.876,335.96 L 297.917,335.994 L 297.959,336.015 L 298.001,336.05 L 298.049,336.071 L 298.091,336.099 L 298.153,336.126 L 298.188,336.14 L 298.258,336.168 L 298.313,336.189 L 298.383,336.196 L 298.431,336.217 L 298.487,336.23 L 298.563,336.237 L 298.619,336.258 L 298.688,336.272 L 298.743,336.272 L 298.813,336.272 L 298.875,336.272 L 298.945,336.272 L 298.945,336.272 L 299.007,336.272 L 299.077,336.272 L 299.132,336.272 L 299.209,336.272 L 299.264,336.258 L 299.334,336.237 L 299.396,336.23 L 299.459,336.217 L 299.514,336.196 L 299.577,336.189 L 299.632,336.168 L 299.695,336.14 L 299.743,336.126 L 299.792,336.099 L 299.833,336.071 L 299.889,336.05 L 299.924,336.015 L 299.965,335.994 L 300.007,335.96 L 300.042,335.925 L 300.083,335.89 L 300.111,335.869 L 300.132,335.828 L 300.16,335.793 L 300.194,335.758 L 300.201,335.717 L 300.215,335.675 L 300.236,335.654 L 300.236,335.613 L 300.243,335.571 L 300.243,335.536"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 295.793 336.272 L 295.793,336.355 L 295.807,336.418 L 295.835,336.494 L 295.856,336.578 L 295.897,336.647 L 295.939,336.709 L 296.001,336.786 L 296.064,336.862 L 296.133,336.925 L 296.203,336.994 L 296.293,337.057 L 296.376,337.126 L 296.487,337.182 L 296.591,337.237 L 296.703,337.286 L 296.821,337.348 L 296.952,337.397 L 297.07,337.445 L 297.223,337.487 L 297.362,337.529 L 297.508,337.577 L 297.654,337.612 L 297.806,337.633 L 297.959,337.661 L 298.126,337.688 L 298.285,337.702 L 298.445,337.73 L 298.612,337.744 L 298.785,337.751 L 298.952,337.751 L 299.118,337.751"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 298.743 337.751 L 298.917,337.751 L 299.077,337.751 L 299.25,337.737 L 299.403,337.716 L 299.563,337.702 L 299.729,337.688 L 299.875,337.661 L 300.035,337.626 L 300.174,337.591 L 300.326,337.563 L 300.472,337.522 L 300.604,337.48 L 300.736,337.431 L 300.861,337.369 L 300.986,337.32 L 301.09,337.265 L 301.201,337.209 L 301.298,337.14 L 301.388,337.084 L 301.479,337.008 L 301.555,336.952 L 301.631,336.883 L 301.694,336.8 L 301.736,336.723 L 301.798,336.661 L 301.826,336.578 L 301.86,336.501 L 301.888,336.418 L 301.888,336.355 L 301.902,336.272"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 299.486 333.488 L 299.327,333.488 L 299.16,333.495 L 298.993,333.495 L 298.827,333.509 L 298.653,333.53 L 298.487,333.537 L 298.341,333.565 L 298.174,333.586 L 298.022,333.627 L 297.876,333.641 L 297.73,333.683 L 297.591,333.711 L 297.452,333.759 L 297.327,333.801 L 297.202,333.842 L 297.07,333.884 L 296.966,333.933 L 296.855,333.981 L 296.758,334.044 L 296.668,334.099 L 296.585,334.148 L 296.501,334.217 L 296.418,334.266 L 296.369,334.321 L 296.314,334.398 L 296.265,334.453 L 296.224,334.523 L 296.196,334.578 L 296.175,334.641 L 296.168,334.717 L 296.161,334.787"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 302.277 334.787 L 302.263,334.71 L 302.256,334.641 L 302.242,334.578 L 302.208,334.509 L 302.166,334.446 L 302.117,334.377 L 302.062,334.321 L 301.999,334.259 L 301.93,334.19 L 301.847,334.134 L 301.763,334.072 L 301.673,334.016 L 301.562,333.967 L 301.465,333.919 L 301.347,333.87 L 301.236,333.815 L 301.111,333.773 L 300.979,333.738 L 300.833,333.697 L 300.694,333.669 L 300.555,333.627 L 300.41,333.599 L 300.257,333.572 L 300.09,333.544 L 299.944,333.53 L 299.785,333.509 L 299.618,333.495 L 299.445,333.495 L 299.292,333.488 L 299.118,333.488"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300"/>
</g>
<g>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 L 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 250.336 383.601 C 250.336,383.601 248.12,388.126 246.845,392.719 C 245.341,398.184 245.126,399.996 245.354,402.534 C 245.394,403.058 245.918,403.702 246.495,403.863 C 246.724,403.917 246.992,403.998 247.1,404.024 C 247.22,404.065 247.65,404.159 247.999,404.441 C 248.362,404.723 248.442,404.79 248.657,404.897 C 248.859,405.018 248.899,405.099 249.49,405.26 C 250.08,405.421 250.148,405.381 250.389,405.381 C 250.631,405.394 250.738,405.381 251.195,405.327 C 251.638,405.26 252.054,405.394 252.175,405.421 C 252.283,405.461 252.551,405.528 252.779,405.595 C 253.357,405.757 254.136,405.475 254.444,405.045 C 255.935,402.991 256.687,401.312 258.191,395.847 C 259.453,391.255 259.869,386.233 259.869,386.233 L 250.336,383.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.688 380.889 C 260.688,380.889 260.178,380.741 259.748,380.634 C 259.372,380.527 258.835,380.379 258.835,380.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.1 406.133 C 246.925,406.764 246.267,407.14 245.623,406.965 C 244.978,406.79 244.602,406.133 244.777,405.488 C 244.965,404.844 245.623,404.468 246.267,404.642 C 246.912,404.817 247.288,405.488 247.1,406.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 250.148 407.408 C 249.973,408.053 249.302,408.429 248.657,408.254 C 248.026,408.08 247.65,407.408 247.825,406.777 C 247.999,406.133 248.657,405.757 249.302,405.931 C 249.946,406.106 250.322,406.777 250.148,407.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 253.424 407.878 C 253.249,408.509 252.578,408.885 251.933,408.711 C 251.302,408.536 250.926,407.878 251.101,407.234 C 251.276,406.589 251.933,406.213 252.578,406.388 C 253.223,406.562 253.598,407.234 253.424,407.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 246.375 408.778 C 246.2,409.422 245.529,409.798 244.898,409.61 C 244.253,409.436 243.877,408.778 244.052,408.133 C 244.226,407.489 244.898,407.113 245.529,407.287 C 246.173,407.475 246.549,408.133 246.375,408.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 249.409 410.067 C 249.235,410.711 248.577,411.087 247.932,410.899 C 247.288,410.725 246.912,410.067 247.086,409.422 C 247.274,408.778 247.932,408.402 248.577,408.576 C 249.208,408.764 249.597,409.422 249.409,410.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 252.699 410.523 C 252.511,411.154 251.853,411.544 251.208,411.356 C 250.564,411.181 250.188,410.523 250.362,409.879 C 250.55,409.234 251.208,408.858 251.853,409.033 C 252.497,409.221 252.873,409.879 252.699,410.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 245.649 411.423 C 245.475,412.067 244.804,412.443 244.159,412.269 C 243.528,412.094 243.139,411.423 243.327,410.778 C 243.501,410.147 244.159,409.758 244.804,409.946 C 245.448,410.12 245.824,410.778 245.649,411.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 248.684 412.712 C 248.509,413.356 247.838,413.732 247.207,413.558 C 246.563,413.383 246.187,412.712 246.361,412.067 C 246.536,411.423 247.207,411.06 247.838,411.235 C 248.483,411.409 248.859,412.067 248.684,412.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.96 413.168 C 251.786,413.813 251.114,414.189 250.483,414.001 C 249.839,413.826 249.463,413.168 249.637,412.524 C 249.812,411.879 250.483,411.503 251.114,411.691 C 251.759,411.866 252.135,412.524 251.96,413.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 244.911 414.068 C 244.736,414.713 244.065,415.089 243.434,414.914 C 242.789,414.739 242.413,414.082 242.588,413.437 C 242.763,412.793 243.434,412.417 244.065,412.591 C 244.71,412.766 245.086,413.437 244.911,414.082 L 244.911,414.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.959 415.357 C 247.771,416.002 247.113,416.378 246.469,416.203 C 245.824,416.029 245.448,415.357 245.636,414.726 C 245.811,414.082 246.469,413.706 247.113,413.88 C 247.758,414.055 248.134,414.726 247.959,415.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.235 415.814 C 251.047,416.458 250.389,416.834 249.745,416.66 C 249.1,416.485 248.724,415.814 248.912,415.169 C 249.087,414.538 249.745,414.162 250.389,414.337 C 251.034,414.511 251.41,415.169 251.235,415.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.428 417.156 C 246.415,417.21 246.307,417.237 246.187,417.21 C 246.079,417.17 245.999,417.103 246.025,417.036 C 246.039,416.982 246.146,416.955 246.254,416.982 C 246.361,417.009 246.442,417.089 246.428,417.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 249.033 385.871 C 250.819,386.126 252.739,386.529 254.525,387.025 C 256.311,387.522 258.164,388.153 259.829,388.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 256.7 398.922 C 256.633,399.164 256.391,399.298 256.15,399.231 L 246.858,396.666 C 246.616,396.599 246.482,396.357 246.549,396.129 L 248.174,390.248 C 248.241,390.006 248.483,389.872 248.711,389.939 L 258.016,392.504 C 258.258,392.571 258.392,392.813 258.325,393.054 L 256.7,398.935 L 256.7,398.922z"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 L 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 280.336 463.601 C 280.336,463.601 278.12,468.126 276.845,472.719 C 275.341,478.184 275.126,479.996 275.354,482.534 C 275.394,483.058 275.918,483.702 276.495,483.863 C 276.724,483.917 276.992,483.998 277.1,484.024 C 277.22,484.065 277.65,484.159 277.999,484.441 C 278.362,484.723 278.442,484.79 278.657,484.897 C 278.859,485.018 278.899,485.099 279.49,485.26 C 280.08,485.421 280.148,485.381 280.389,485.381 C 280.631,485.394 280.738,485.381 281.195,485.327 C 281.638,485.26 282.054,485.394 282.175,485.421 C 282.283,485.461 282.551,485.528 282.779,485.595 C 283.357,485.757 284.136,485.475 284.444,485.045 C 285.935,482.991 286.687,481.312 288.191,475.847 C 289.453,471.255 289.869,466.233 289.869,466.233 L 280.336,463.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.688 460.889 C 290.688,460.889 290.178,460.741 289.748,460.634 C 289.372,460.527 288.835,460.379 288.835,460.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.1 486.133 C 276.925,486.764 276.267,487.14 275.623,486.965 C 274.978,486.79 274.602,486.133 274.777,485.488 C 274.965,484.844 275.623,484.468 276.267,484.642 C 276.912,484.817 277.288,485.488 277.1,486.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 280.148 487.408 C 279.973,488.053 279.302,488.429 278.657,488.254 C 278.026,488.08 277.65,487.408 277.825,486.777 C 277.999,486.133 278.657,485.757 279.302,485.931 C 279.946,486.106 280.322,486.777 280.148,487.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 283.424 487.878 C 283.249,488.509 282.578,488.885 281.933,488.711 C 281.302,488.536 280.926,487.878 281.101,487.234 C 281.276,486.589 281.933,486.213 282.578,486.388 C 283.223,486.562 283.598,487.234 283.424,487.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 276.375 488.778 C 276.2,489.422 275.529,489.798 274.898,489.61 C 274.253,489.436 273.877,488.778 274.052,488.133 C 274.226,487.489 274.898,487.113 275.529,487.287 C 276.173,487.475 276.549,488.133 276.375,488.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 279.409 490.067 C 279.235,490.711 278.577,491.087 277.932,490.899 C 277.288,490.725 276.912,490.067 277.086,489.422 C 277.274,488.778 277.932,488.402 278.577,488.576 C 279.208,488.764 279.597,489.422 279.409,490.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 282.699 490.523 C 282.511,491.154 281.853,491.544 281.208,491.356 C 280.564,491.181 280.188,490.523 280.362,489.879 C 280.55,489.234 281.208,488.858 281.853,489.033 C 282.497,489.221 282.873,489.879 282.699,490.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 275.649 491.423 C 275.475,492.067 274.804,492.443 274.159,492.269 C 273.528,492.094 273.139,491.423 273.327,490.778 C 273.501,490.147 274.159,489.758 274.804,489.946 C 275.448,490.12 275.824,490.778 275.649,491.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 278.684 492.712 C 278.509,493.356 277.838,493.732 277.207,493.558 C 276.563,493.383 276.187,492.712 276.361,492.067 C 276.536,491.423 277.207,491.06 277.838,491.235 C 278.483,491.409 278.859,492.067 278.684,492.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.96 493.168 C 281.786,493.813 281.114,494.189 280.483,494.001 C 279.839,493.826 279.463,493.168 279.637,492.524 C 279.812,491.879 280.483,491.503 281.114,491.691 C 281.759,491.866 282.135,492.524 281.96,493.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 274.911 494.068 C 274.736,494.713 274.065,495.089 273.434,494.914 C 272.789,494.739 272.413,494.082 272.588,493.437 C 272.763,492.793 273.434,492.417 274.065,492.591 C 274.71,492.766 275.086,493.437 274.911,494.082 L 274.911,494.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.959 495.357 C 277.771,496.002 277.113,496.378 276.469,496.203 C 275.824,496.029 275.448,495.357 275.636,494.726 C 275.811,494.082 276.469,493.706 277.113,493.88 C 277.758,494.055 278.134,494.726 277.959,495.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.235 495.814 C 281.047,496.458 280.389,496.834 279.745,496.66 C 279.1,496.485 278.724,495.814 278.912,495.169 C 279.087,494.538 279.745,494.162 280.389,494.337 C 281.034,494.511 281.41,495.169 281.235,495.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.428 497.156 C 276.415,497.21 276.307,497.237 276.187,497.21 C 276.079,497.17 275.999,497.103 276.025,497.036 C 276.039,496.982 276.146,496.955 276.254,496.982 C 276.361,497.009 276.442,497.089 276.428,497.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 279.033 465.871 C 280.819,466.126 282.739,466.529 284.525,467.025 C 286.311,467.522 288.164,468.153 289.829,468.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 286.7 478.922 C 286.633,479.164 286.391,479.298 286.15,479.231 L 276.858,476.666 C 276.616,476.599 276.482,476.357 276.549,476.129 L 278.174,470.248 C 278.241,470.006 278.483,469.872 278.711,469.939 L 288.016,472.504 C 288.258,472.571 288.392,472.813 288.325,473.054 L 286.7,478.935 L 286.7,478.922z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 701.621 323.157 L 702.864,325.022 L 698.163,326.108 L 699.19,325.254 L 691.923,324.012 L 693.746,322.645 L 700.758,323.832 L 701.621,323.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 708.237 327.68 L 707.388,325.757 L 711.629,324.91 L 710.894,325.568 L 717.962,326.776 L 716.268,328.133 L 709.24,326.813 L 708.237,327.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.918 322.138 L 710.668,320.838 L 710.724,322.874 L 709.538,322.647 L 707.218,324.57 L 705.006,324.247 L 707.399,322.367 L 705.918,322.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 703.882 329.434 L 699.359,330.281 L 699.19,328.19 L 700.489,328.472 L 702.979,326.345 L 705.183,326.719 L 702.525,329.037 L 703.882,329.434z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 761.621 453.157 L 762.864,455.022 L 758.163,456.108 L 759.19,455.254 L 751.923,454.012 L 753.746,452.645 L 760.758,453.832 L 761.621,453.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 768.237 457.68 L 767.388,455.757 L 771.629,454.91 L 770.894,455.568 L 777.962,456.776 L 776.268,458.133 L 769.24,456.813 L 768.237,457.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.918 452.138 L 770.668,450.838 L 770.724,452.874 L 769.538,452.647 L 767.218,454.57 L 765.006,454.247 L 767.399,452.367 L 765.918,452.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 763.882 459.434 L 759.359,460.281 L 759.19,458.19 L 760.489,458.472 L 762.979,456.345 L 765.183,456.719 L 762.525,459.037 L 763.882,459.434z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 713.614 347.58 L 713.54,345.719 L 713.283,343.858 L 712.804,342.03 L 712.142,340.201 L 711.258,338.34 L 710.264,336.545 L 709.013,334.781 L 707.614,333.051 L 706.104,331.321 L 704.337,329.688 L 702.46,328.056 L 700.398,326.521 L 698.153,324.986 L 695.797,323.55 L 693.294,322.146 L 690.606,320.84 L 687.845,319.566 L 684.974,318.391 L 681.955,317.281 L 678.826,316.269 L 675.587,315.289 L 672.237,314.473 L 668.887,313.657 L 665.39,312.971 L 661.819,312.351 L 658.248,311.828 L 654.604,311.404 L 650.922,311.11 L 647.204,310.849 L 643.45,310.718 L 639.695,310.653 L 639.695,310.653 L 635.977,310.718 L 632.185,310.849 L 628.504,311.11 L 624.822,311.404 L 621.141,311.828 L 617.57,312.351 L 614,312.971 L 610.539,313.657 L 607.116,314.473 L 603.839,315.289 L 600.6,316.269 L 597.508,317.281 L 594.452,318.391 L 591.581,319.566 L 588.783,320.84 L 586.096,322.146 L 583.592,323.55 L 581.236,324.986 L 578.991,326.521 L 576.929,328.056 L 575.052,329.688 L 573.322,331.321 L 571.739,333.051 L 570.414,334.781 L 569.162,336.545 L 568.131,338.34 L 567.248,340.201 L 566.659,342.03 L 566.18,343.858 L 565.849,345.719 L 565.812,347.58 L 565.812,347.58 L 565.849,349.474 L 566.18,351.335 L 566.659,353.196 L 567.248,355.024 L 568.131,356.853 L 569.162,358.649 L 570.414,360.412 L 571.739,362.175 L 573.322,363.873 L 575.052,365.505 L 576.929,367.138 L 578.991,368.705 L 581.236,370.207 L 583.592,371.643 L 586.096,373.047 L 588.783,374.386 L 591.581,375.594 L 594.452,376.835 L 597.508,377.945 L 600.6,378.957 L 603.839,379.871 L 607.116,380.753 L 610.539,381.536 L 614,382.222 L 617.57,382.842 L 621.141,383.365 L 624.822,383.757 L 628.504,384.083 L 632.185,384.377 L 635.977,384.475 L 639.695,384.508 L 639.695,384.508 L 643.45,384.475 L 647.204,384.377 L 650.922,384.083 L 654.604,383.757 L 658.248,383.365 L 661.819,382.842 L 665.39,382.222 L 668.887,381.536 L 672.237,380.753 L 675.587,379.871 L 678.826,378.957 L 681.955,377.945 L 684.974,376.835 L 687.845,375.594 L 690.606,374.386 L 693.294,373.047 L 695.797,371.643 L 698.153,370.207 L 700.398,368.705 L 702.46,367.138 L 704.337,365.505 L 706.104,363.873 L 707.614,362.175 L 709.013,360.412 L 710.264,358.649 L 711.258,356.853 L 712.142,355.024 L 712.804,353.196 L 713.283,351.335 L 713.54,349.474 L 713.614,347.58z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 597.765 366.974 L 597.692,365.113 L 597.434,363.252 L 597.139,361.424 L 596.624,359.563 L 595.961,357.734 L 595.152,355.939 L 594.194,354.176 L 593.164,352.445 L 591.986,350.715 L 590.66,349.082 L 589.225,347.45 L 587.642,345.915 L 585.875,344.381 L 584.071,342.944 L 582.157,341.54 L 580.095,340.234 L 578.034,338.961 L 575.751,337.785 L 573.469,336.675 L 571.039,335.696 L 568.61,334.683 L 566.07,333.802 L 563.419,333.051 L 560.769,332.365 L 558.045,331.745 L 555.284,331.223 L 552.486,330.798 L 549.651,330.504 L 546.854,330.243 L 543.982,330.08 L 541.111,330.047 L 541.111,330.047 L 538.239,330.08 L 535.368,330.243 L 532.497,330.504 L 529.699,330.798 L 526.864,331.223 L 524.104,331.745 L 521.416,332.365 L 518.766,333.051 L 516.152,333.802 L 513.612,334.683 L 511.109,335.696 L 508.753,336.675 L 506.397,337.785 L 504.188,338.961 L 502.09,340.234 L 500.028,341.54 L 498.114,342.944 L 496.273,344.381 L 494.543,345.915 L 492.997,347.45 L 491.524,349.082 L 490.236,350.715 L 489.021,352.445 L 487.954,354.176 L 487.033,355.939 L 486.223,357.734 L 485.561,359.563 L 485.082,361.424 L 484.714,363.252 L 484.493,365.113 L 484.42,366.974 L 484.42,366.974 L 484.493,368.868 L 484.714,370.729 L 485.082,372.59 L 485.561,374.419 L 486.223,376.247 L 487.033,378.043 L 487.954,379.806 L 489.021,381.536 L 490.236,383.267 L 491.524,384.899 L 492.997,386.532 L 494.543,388.066 L 496.273,389.601 L 498.114,391.038 L 500.028,392.442 L 502.09,393.748 L 504.188,394.988 L 506.397,396.164 L 508.753,397.339 L 511.109,398.351 L 513.612,399.265 L 516.152,400.18 L 518.766,400.931 L 521.416,401.616 L 524.104,402.237 L 526.864,402.726 L 529.699,403.151 L 532.497,403.477 L 535.368,403.771 L 538.239,403.869 L 541.111,403.902 L 541.111,403.902 L 543.982,403.869 L 546.854,403.771 L 549.651,403.477 L 552.486,403.151 L 555.284,402.726 L 558.045,402.237 L 560.769,401.616 L 563.419,400.931 L 566.07,400.18 L 568.61,399.265 L 571.039,398.351 L 573.469,397.339 L 575.751,396.164 L 578.034,394.988 L 580.095,393.748 L 582.157,392.442 L 584.071,391.038 L 585.875,389.601 L 587.642,388.066 L 589.225,386.532 L 590.66,384.899 L 591.986,383.267 L 593.164,381.536 L 594.194,379.806 L 595.152,378.043 L 595.961,376.247 L 596.624,374.419 L 597.139,372.59 L 597.434,370.729 L 597.692,368.868 L 597.765,366.974z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 526.312 404.685 L 526.275,403.151 L 526.165,401.616 L 525.907,400.082 L 525.576,398.58 L 525.097,397.143 L 524.545,395.641 L 523.956,394.172 L 523.257,392.768 L 522.447,391.364 L 521.527,390.025 L 520.533,388.752 L 519.465,387.446 L 518.324,386.205 L 517.109,384.997 L 515.784,383.887 L 514.422,382.842 L 513.023,381.765 L 511.55,380.818 L 509.968,379.904 L 508.348,379.055 L 506.691,378.304 L 504.961,377.586 L 503.231,376.965 L 501.427,376.41 L 499.586,375.888 L 497.746,375.496 L 495.868,375.104 L 493.917,374.876 L 492.003,374.68 L 490.126,374.582 L 488.175,374.517 L 488.175,374.517 L 486.223,374.582 L 484.272,374.68 L 482.358,374.876 L 480.481,375.104 L 478.566,375.496 L 476.689,375.888 L 474.885,376.41 L 473.118,376.965 L 471.314,377.586 L 469.584,378.304 L 467.928,379.055 L 466.308,379.904 L 464.762,380.818 L 463.252,381.765 L 461.854,382.842 L 460.492,383.887 L 459.203,384.997 L 457.951,386.205 L 456.81,387.446 L 455.743,388.752 L 454.749,390.025 L 453.902,391.364 L 453.092,392.768 L 452.393,394.172 L 451.73,395.641 L 451.178,397.143 L 450.773,398.58 L 450.442,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,404.685 L 450,406.155 L 450.147,407.689 L 450.442,409.191 L 450.773,410.693 L 451.178,412.227 L 451.73,413.664 L 452.393,415.101 L 453.092,416.537 L 453.902,417.941 L 454.749,419.28 L 455.743,420.586 L 456.81,421.859 L 457.951,423.1 L 459.203,424.275 L 460.492,425.385 L 461.854,426.463 L 463.252,427.54 L 464.762,428.455 L 466.308,429.369 L 467.928,430.218 L 469.584,431.001 L 471.314,431.72 L 473.118,432.34 L 474.885,432.895 L 476.689,433.385 L 478.566,433.809 L 480.481,434.168 L 482.358,434.462 L 484.272,434.625 L 486.223,434.723 L 488.175,434.789 L 488.175,434.789 L 490.126,434.723 L 492.003,434.625 L 493.917,434.462 L 495.868,434.168 L 497.746,433.809 L 499.586,433.385 L 501.427,432.895 L 503.231,432.34 L 504.961,431.72 L 506.691,431.001 L 508.348,430.218 L 509.968,429.369 L 511.55,428.455 L 513.023,427.54 L 514.422,426.463 L 515.784,425.385 L 517.109,424.275 L 518.324,423.1 L 519.465,421.859 L 520.533,420.586 L 521.527,419.28 L 522.447,417.941 L 523.257,416.537 L 523.956,415.101 L 524.545,413.664 L 525.097,412.227 L 525.576,410.693 L 525.907,409.191 L 526.165,407.689 L 526.275,406.155 L 526.312,404.685z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 587.936 433.711 L 587.9,432.046 L 587.642,430.414 L 587.237,428.748 L 586.758,427.116 L 586.096,425.516 L 585.323,423.916 L 584.329,422.349 L 583.298,420.814 L 582.046,419.378 L 580.721,417.876 L 579.212,416.439 L 577.629,415.101 L 575.935,413.762 L 574.095,412.423 L 572.144,411.215 L 570.082,410.04 L 567.91,408.962 L 565.628,407.885 L 563.309,406.938 L 560.879,405.991 L 558.339,405.175 L 555.762,404.391 L 553.112,403.706 L 550.424,403.085 L 547.663,402.563 L 544.829,402.139 L 542.031,401.747 L 539.16,401.42 L 536.288,401.224 L 533.38,401.094 L 530.435,401.061 L 530.435,401.061 L 527.527,401.094 L 524.656,401.224 L 521.711,401.42 L 518.876,401.747 L 516.005,402.139 L 513.244,402.563 L 510.483,403.085 L 507.759,403.706 L 505.108,404.391 L 502.568,405.175 L 500.028,405.991 L 497.599,406.938 L 495.243,407.885 L 492.997,408.962 L 490.825,410.04 L 488.764,411.215 L 486.812,412.423 L 484.972,413.762 L 483.242,415.101 L 481.659,416.439 L 480.149,417.876 L 478.787,419.378 L 477.609,420.814 L 476.542,422.349 L 475.548,423.916 L 474.738,425.516 L 474.149,427.116 L 473.597,428.748 L 473.229,430.414 L 473.008,432.046 L 472.934,433.711 L 472.934,433.711 L 473.008,435.344 L 473.229,437.009 L 473.597,438.641 L 474.149,440.274 L 474.738,441.874 L 475.548,443.474 L 476.542,445.073 L 477.609,446.608 L 478.787,448.077 L 480.149,449.514 L 481.659,450.95 L 483.242,452.322 L 484.972,453.693 L 486.812,454.999 L 488.764,456.207 L 490.825,457.35 L 492.997,458.46 L 495.243,459.505 L 497.599,460.484 L 500.028,461.431 L 502.568,462.247 L 505.108,463.031 L 507.759,463.684 L 510.483,464.304 L 513.244,464.827 L 516.005,465.284 L 518.876,465.708 L 521.711,466.002 L 524.656,466.198 L 527.527,466.329 L 530.435,466.329 L 530.435,466.329 L 533.38,466.329 L 536.288,466.198 L 539.16,466.002 L 542.031,465.708 L 544.829,465.284 L 547.663,464.827 L 550.424,464.304 L 553.112,463.684 L 555.762,463.031 L 558.339,462.247 L 560.879,461.431 L 563.309,460.484 L 565.628,459.505 L 567.91,458.46 L 570.082,457.35 L 572.144,456.207 L 574.095,454.999 L 575.935,453.693 L 577.629,452.322 L 579.212,450.95 L 580.721,449.514 L 582.046,448.077 L 583.298,446.608 L 584.329,445.073 L 585.323,443.474 L 586.096,441.874 L 586.758,440.274 L 587.237,438.641 L 587.642,437.009 L 587.9,435.344 L 587.936,433.711z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 725.946 450.591 L 725.799,448.6 L 725.505,446.608 L 724.916,444.682 L 724.142,442.755 L 723.185,440.829 L 722.007,438.968 L 720.608,437.139 L 718.989,435.278 L 717.148,433.483 L 715.16,431.752 L 712.915,430.087 L 710.559,428.455 L 707.982,426.855 L 705.258,425.32 L 702.276,423.851 L 699.257,422.48 L 696.018,421.141 L 692.631,419.9 L 689.171,418.757 L 685.489,417.68 L 681.771,416.668 L 677.906,415.786 L 673.967,414.937 L 669.881,414.219 L 665.795,413.566 L 661.598,413.044 L 657.401,412.587 L 653.058,412.26 L 648.824,412.032 L 644.443,411.836 L 640.1,411.836 L 640.1,411.836 L 635.756,411.836 L 631.412,412.032 L 627.105,412.26 L 622.835,412.587 L 618.564,413.044 L 614.405,413.566 L 610.282,414.219 L 606.269,414.937 L 602.256,415.786 L 598.465,416.668 L 594.673,417.68 L 591.065,418.757 L 587.568,419.9 L 584.218,421.141 L 580.979,422.48 L 577.887,423.851 L 574.978,425.32 L 572.254,426.855 L 569.641,428.455 L 567.248,430.087 L 565.039,431.752 L 563.088,433.483 L 561.247,435.278 L 559.628,437.139 L 558.229,438.968 L 557.014,440.829 L 556.057,442.755 L 555.247,444.682 L 554.695,446.608 L 554.363,448.6 L 554.253,450.591 L 554.253,450.591 L 554.363,452.485 L 554.695,454.477 L 555.247,456.403 L 556.057,458.362 L 557.014,460.288 L 558.229,462.149 L 559.628,463.978 L 561.247,465.839 L 563.088,467.635 L 565.039,469.365 L 567.248,471.03 L 569.641,472.728 L 572.254,474.263 L 574.978,475.797 L 577.887,477.234 L 580.979,478.67 L 584.218,479.976 L 587.568,481.217 L 591.065,482.36 L 594.673,483.47 L 598.465,484.417 L 602.256,485.331 L 606.269,486.147 L 610.282,486.866 L 614.405,487.551 L 618.564,488.041 L 622.835,488.498 L 627.105,488.857 L 631.412,489.086 L 635.756,489.282 L 640.1,489.282 L 640.1,489.282 L 644.443,489.282 L 648.824,489.086 L 653.058,488.857 L 657.401,488.498 L 661.598,488.041 L 665.795,487.551 L 669.881,486.866 L 673.967,486.147 L 677.906,485.331 L 681.771,484.417 L 685.489,483.47 L 689.171,482.36 L 692.631,481.217 L 696.018,479.976 L 699.257,478.67 L 702.276,477.234 L 705.258,475.797 L 707.982,474.263 L 710.559,472.728 L 712.915,471.03 L 715.16,469.365 L 717.148,467.635 L 718.989,465.839 L 720.608,463.978 L 722.007,462.149 L 723.185,460.288 L 724.142,458.362 L 724.916,456.403 L 725.505,454.477 L 725.799,452.485 L 725.946,450.591z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 773.582 361.228 L 773.545,359.791 L 773.324,358.289 L 772.919,356.82 L 772.477,355.384 L 771.815,353.98 L 771.078,352.543 L 770.158,351.139 L 769.091,349.768 L 767.949,348.462 L 766.698,347.123 L 765.262,345.85 L 763.716,344.609 L 762.096,343.466 L 760.292,342.291 L 758.452,341.213 L 756.427,340.201 L 754.366,339.157 L 752.23,338.242 L 749.948,337.393 L 747.629,336.577 L 745.273,335.826 L 742.77,335.141 L 740.23,334.52 L 737.653,333.965 L 735.002,333.475 L 732.352,333.149 L 729.628,332.757 L 726.903,332.496 L 724.106,332.333 L 721.345,332.235 L 718.547,332.169 L 718.547,332.169 L 715.712,332.235 L 712.951,332.333 L 710.154,332.496 L 707.43,332.757 L 704.742,333.149 L 702.055,333.475 L 699.441,333.965 L 696.828,334.52 L 694.288,335.141 L 691.784,335.826 L 689.392,336.577 L 687.109,337.393 L 684.827,338.242 L 682.692,339.157 L 680.63,340.201 L 678.642,341.213 L 676.765,342.291 L 674.961,343.466 L 673.341,344.609 L 671.832,345.85 L 670.359,347.123 L 669.108,348.462 L 667.967,349.768 L 666.899,351.139 L 665.979,352.543 L 665.243,353.98 L 664.617,355.384 L 664.101,356.82 L 663.77,358.289 L 663.586,359.791 L 663.476,361.228 L 663.476,361.228 L 663.586,362.697 L 663.77,364.167 L 664.101,365.603 L 664.617,367.072 L 665.243,368.509 L 665.979,369.913 L 666.899,371.317 L 667.967,372.688 L 669.108,374.059 L 670.359,375.333 L 671.832,376.574 L 673.341,377.847 L 674.961,379.022 L 676.765,380.132 L 678.642,381.243 L 680.63,382.287 L 682.692,383.267 L 684.827,384.181 L 687.109,385.095 L 689.392,385.911 L 691.784,386.63 L 694.288,387.348 L 696.828,387.936 L 699.441,388.458 L 702.055,388.981 L 704.742,389.372 L 707.43,389.699 L 710.154,389.993 L 712.951,390.123 L 715.712,390.287 L 718.547,390.287 L 718.547,390.287 L 721.345,390.287 L 724.106,390.123 L 726.903,389.993 L 729.628,389.699 L 732.352,389.372 L 735.002,388.981 L 737.653,388.458 L 740.23,387.936 L 742.77,387.348 L 745.273,386.63 L 747.629,385.911 L 749.948,385.095 L 752.23,384.181 L 754.366,383.267 L 756.427,382.287 L 758.452,381.243 L 760.292,380.132 L 762.096,379.022 L 763.716,377.847 L 765.262,376.574 L 766.698,375.333 L 767.949,374.059 L 769.091,372.688 L 770.158,371.317 L 771.078,369.913 L 771.815,368.509 L 772.477,367.072 L 772.919,365.603 L 773.324,364.167 L 773.545,362.697 L 773.582,361.228z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 789.19 398.547 L 789.08,397.078 L 788.932,395.609 L 788.564,394.172 L 788.086,392.735 L 787.423,391.266 L 786.687,389.895 L 785.803,388.458 L 784.736,387.12 L 783.595,385.748 L 782.343,384.475 L 780.907,383.169 L 779.361,381.961 L 777.778,380.818 L 775.974,379.61 L 774.134,378.565 L 772.22,377.488 L 770.158,376.508 L 767.949,375.594 L 765.777,374.712 L 763.458,373.896 L 761.102,373.145 L 758.636,372.46 L 756.133,371.872 L 753.556,371.317 L 750.905,370.827 L 748.255,370.435 L 745.567,370.109 L 742.806,369.815 L 740.082,369.684 L 737.321,369.586 L 734.56,369.521 L 734.56,369.521 L 731.763,369.586 L 729.039,369.684 L 726.278,369.815 L 723.59,370.109 L 720.903,370.435 L 718.216,370.827 L 715.602,371.317 L 713.062,371.872 L 710.522,372.46 L 708.055,373.145 L 705.699,373.896 L 703.38,374.712 L 701.135,375.594 L 699.036,376.508 L 696.975,377.488 L 694.95,378.565 L 693.11,379.61 L 691.379,380.818 L 689.796,381.961 L 688.25,383.169 L 686.851,384.475 L 685.526,385.748 L 684.385,387.12 L 683.391,388.458 L 682.471,389.895 L 681.661,391.266 L 681.072,392.735 L 680.593,394.172 L 680.225,395.609 L 680.004,397.078 L 679.968,398.547 L 679.968,398.547 L 680.004,400.016 L 680.225,401.518 L 680.593,402.955 L 681.072,404.391 L 681.661,405.828 L 682.471,407.232 L 683.391,408.669 L 684.385,410.007 L 685.526,411.313 L 686.851,412.652 L 688.25,413.893 L 689.796,415.133 L 691.379,416.309 L 693.11,417.451 L 694.95,418.562 L 696.975,419.574 L 699.036,420.586 L 701.135,421.5 L 703.38,422.349 L 705.699,423.165 L 708.055,423.916 L 710.522,424.602 L 713.062,425.222 L 715.602,425.81 L 718.216,426.3 L 720.903,426.626 L 723.59,427.018 L 726.278,427.247 L 729.039,427.442 L 731.763,427.54 L 734.56,427.573 L 734.56,427.573 L 737.321,427.54 L 740.082,427.442 L 742.806,427.247 L 745.567,427.018 L 748.255,426.626 L 750.905,426.3 L 753.556,425.81 L 756.133,425.222 L 758.636,424.602 L 761.102,423.916 L 763.458,423.165 L 765.777,422.349 L 767.949,421.5 L 770.158,420.586 L 772.22,419.574 L 774.134,418.562 L 775.974,417.451 L 777.778,416.309 L 779.361,415.133 L 780.907,413.893 L 782.343,412.652 L 783.595,411.313 L 784.736,410.007 L 785.803,408.669 L 786.687,407.232 L 787.423,405.828 L 788.086,404.391 L 788.564,402.955 L 788.932,401.518 L 789.08,400.016 L 789.19,398.547z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 778.515 429.401 L 778.441,427.018 L 778.22,424.569 L 777.926,422.218 L 777.447,419.802 L 776.821,417.451 L 776.048,415.133 L 775.165,412.848 L 774.097,410.595 L 772.956,408.407 L 771.741,406.252 L 770.342,404.163 L 768.796,402.171 L 767.176,400.212 L 765.409,398.351 L 763.569,396.555 L 761.654,394.825 L 759.593,393.192 L 757.495,391.723 L 755.249,390.287 L 752.967,388.981 L 750.611,387.74 L 748.218,386.63 L 745.715,385.585 L 743.175,384.671 L 740.524,383.887 L 737.91,383.267 L 735.186,382.679 L 732.499,382.255 L 729.812,381.961 L 727.087,381.765 L 724.327,381.732 L 724.327,381.732 L 721.566,381.765 L 718.841,381.961 L 716.081,382.255 L 713.393,382.679 L 710.743,383.267 L 708.055,383.887 L 705.479,384.671 L 702.939,385.585 L 700.435,386.63 L 697.969,387.74 L 695.613,388.981 L 693.33,390.287 L 691.159,391.723 L 688.987,393.192 L 686.962,394.825 L 685.011,396.555 L 683.17,398.351 L 681.44,400.212 L 679.783,402.171 L 678.311,404.163 L 676.912,406.252 L 675.624,408.407 L 674.482,410.595 L 673.489,412.848 L 672.605,415.133 L 671.832,417.451 L 671.206,419.802 L 670.728,422.218 L 670.359,424.569 L 670.139,427.018 L 670.065,429.401 L 670.065,429.401 L 670.139,431.818 L 670.359,434.266 L 670.728,436.617 L 671.206,439.001 L 671.832,441.417 L 672.605,443.702 L 673.489,445.955 L 674.482,448.241 L 675.624,450.395 L 676.912,452.55 L 678.311,454.673 L 679.783,456.664 L 681.44,458.591 L 683.17,460.484 L 685.011,462.28 L 686.962,463.978 L 688.987,465.61 L 691.159,467.145 L 693.33,468.549 L 695.613,469.888 L 697.969,471.096 L 700.435,472.238 L 702.939,473.25 L 705.479,474.165 L 708.055,474.916 L 710.743,475.601 L 713.393,476.124 L 716.081,476.548 L 718.841,476.842 L 721.566,477.038 L 724.327,477.136 L 724.327,477.136 L 727.087,477.038 L 729.812,476.842 L 732.499,476.548 L 735.186,476.124 L 737.91,475.601 L 740.524,474.916 L 743.175,474.165 L 745.715,473.25 L 748.218,472.238 L 750.611,471.096 L 752.967,469.888 L 755.249,468.549 L 757.495,467.145 L 759.593,465.61 L 761.654,463.978 L 763.569,462.28 L 765.409,460.484 L 767.176,458.591 L 768.796,456.664 L 770.342,454.673 L 771.741,452.55 L 772.956,450.395 L 774.097,448.241 L 775.165,445.955 L 776.048,443.702 L 776.821,441.417 L 777.447,439.001 L 777.926,436.617 L 778.22,434.266 L 778.441,431.818 L 778.515,429.401z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 731.689 400.702 L 731.542,398.253 L 731.1,395.902 L 730.401,393.454 L 729.443,391.103 L 728.192,388.752 L 726.646,386.401 L 724.842,384.116 L 722.744,381.863 L 720.461,379.675 L 717.884,377.553 L 715.013,375.431 L 711.958,373.406 L 708.644,371.513 L 705.11,369.619 L 701.356,367.791 L 697.453,366.093 L 693.294,364.493 L 688.95,362.958 L 684.495,361.522 L 679.82,360.183 L 674.998,358.975 L 670.065,357.832 L 665.022,356.82 L 659.868,355.939 L 654.567,355.188 L 649.192,354.502 L 643.781,353.98 L 638.296,353.555 L 632.774,353.196 L 627.215,353.033 L 621.583,352.968 L 621.583,352.968 L 616.024,353.033 L 610.466,353.196 L 604.944,353.555 L 599.422,353.98 L 594.01,354.502 L 588.636,355.188 L 583.372,355.939 L 578.218,356.82 L 573.101,357.832 L 568.242,358.975 L 563.419,360.183 L 558.707,361.522 L 554.216,362.958 L 549.946,364.493 L 545.749,366.093 L 541.81,367.791 L 538.129,369.619 L 534.558,371.513 L 531.245,373.406 L 528.227,375.431 L 525.355,377.553 L 522.815,379.675 L 520.496,381.863 L 518.361,384.116 L 516.594,386.401 L 515.084,388.752 L 513.759,391.103 L 512.802,393.454 L 512.103,395.902 L 511.661,398.253 L 511.55,400.702 L 511.55,400.702 L 511.661,403.085 L 512.103,405.502 L 512.802,407.885 L 513.759,410.301 L 515.084,412.652 L 516.594,414.97 L 518.361,417.223 L 520.496,419.508 L 522.815,421.729 L 525.355,423.851 L 528.227,425.908 L 531.245,427.932 L 534.558,429.891 L 538.129,431.752 L 541.81,433.548 L 545.749,435.278 L 549.946,436.911 L 554.216,438.445 L 558.707,439.882 L 563.419,441.155 L 568.242,442.429 L 573.101,443.506 L 578.218,444.518 L 583.372,445.433 L 588.636,446.216 L 594.01,446.869 L 599.422,447.424 L 604.944,447.849 L 610.466,448.143 L 616.024,448.371 L 621.583,448.404 L 621.583,448.404 L 627.215,448.371 L 632.774,448.143 L 638.296,447.849 L 643.781,447.424 L 649.192,446.869 L 654.567,446.216 L 659.868,445.433 L 665.022,444.518 L 670.065,443.506 L 674.998,442.429 L 679.82,441.155 L 684.495,439.882 L 688.95,438.445 L 693.294,436.911 L 697.453,435.278 L 701.356,433.548 L 705.11,431.752 L 708.644,429.891 L 711.958,427.932 L 715.013,425.908 L 717.884,423.851 L 720.461,421.729 L 722.744,419.508 L 724.842,417.223 L 726.646,414.97 L 728.192,412.652 L 729.443,410.301 L 730.401,407.885 L 731.1,405.502 L 731.542,403.085 L 731.689,400.702z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 640.541 347.254 L 713.393,339.026 L 712.473,337.23 L 711.332,335.402 L 710.08,333.606 L 708.571,331.876 L 706.951,330.21 L 705.11,328.513 L 703.196,326.913 L 700.987,325.378 L 698.742,323.876 L 696.312,322.44 L 693.699,321.068 L 690.974,319.795 L 688.103,318.554 L 685.121,317.346 L 682.029,316.269 L 678.826,315.289 L 675.587,314.31 L 672.163,313.494 L 668.703,312.743 L 665.206,312.057 L 661.561,311.469 L 657.917,311.012 L 654.236,310.588 L 650.518,310.294 L 646.763,310.098 L 642.971,310 L 639.216,310 L 635.424,310.098 L 631.633,310.229 L 627.951,310.49 L 624.233,310.914 L 620.552,311.339 L 616.908,311.926 L 613.337,312.547 L 609.877,313.265 L 606.49,314.081 L 603.14,314.995 L 599.9,315.942 L 596.845,317.02 L 593.826,318.163 L 590.918,319.371 L 588.157,320.644 L 585.544,322.015 L 583.077,323.452 L 580.721,324.921 L 578.512,326.456 L 576.451,328.056 L 574.573,329.688 L 572.954,331.418 L 571.371,333.084 L 570.009,334.879 L 568.867,336.642 L 567.91,338.471 L 567.1,340.299 L 640.541,347.254z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 713.393 338.961 L 712.436,337.132 L 711.332,335.336 L 710.043,333.541 L 708.571,331.843 L 706.877,330.145 L 705.074,328.48 L 703.123,326.88 L 700.914,325.346 L 698.631,323.876 L 696.275,322.44 L 693.625,321.003 L 690.974,319.73 L 688.066,318.489 L 685.084,317.346 L 682.029,316.204 L 678.826,315.224 L 675.55,314.31 L 672.126,313.461 L 668.666,312.743 L 665.206,312.057 L 661.561,311.469 L 657.88,311.012 L 654.199,310.588 L 650.481,310.294 L 646.763,310.098 L 642.934,310 L 639.179,310 L 635.424,310.098 L 631.67,310.229 L 627.915,310.49 L 624.233,310.914 L 620.552,311.306 L 616.945,311.861 L 613.411,312.547 L 609.877,313.265 L 606.527,314.081 L 603.177,314.995 L 599.974,315.942 L 596.845,316.987 L 593.863,318.163 L 590.955,319.371 L 588.194,320.611 L 585.58,321.983 L 583.077,323.387 L 580.721,324.888 L 578.512,326.423 L 576.524,327.99 L 574.61,329.688 L 572.954,331.321 L 571.408,333.051 L 570.082,334.781 L 568.867,336.577 L 567.91,338.406 L 567.137,340.234"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 541.479 366.615 L 578.218,338.046 L 575.935,336.871 L 573.543,335.761 L 571.113,334.781 L 568.61,333.802 L 566.07,332.953 L 563.419,332.169 L 560.695,331.516 L 558.008,330.896 L 555.173,330.406 L 552.375,329.982 L 549.504,329.688 L 546.633,329.459 L 543.761,329.329 L 540.89,329.329 L 537.982,329.394 L 535.11,329.59 L 532.239,329.819 L 529.405,330.178 L 526.607,330.635 L 523.846,331.157 L 521.085,331.778 L 518.434,332.496 L 515.784,333.312 L 513.244,334.194 L 510.777,335.173 L 508.421,336.251 L 506.065,337.393 L 503.857,338.569 L 501.758,339.875 L 499.697,341.213 L 497.783,342.65 L 496.016,344.087 L 494.322,345.654 L 492.776,347.221 L 491.304,348.854 L 490.015,350.551 L 488.8,352.282 L 487.77,354.012 L 486.849,355.808 L 486.113,357.636 L 485.524,359.465 L 485.009,361.359 L 484.641,363.252 L 484.493,365.113 L 484.42,366.974 L 484.53,368.868 L 484.751,370.794 L 485.193,372.623 L 541.479,366.615z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 578.034 337.948 L 575.751,336.773 L 573.432,335.696 L 571.003,334.683 L 568.463,333.769 L 565.849,332.888 L 563.235,332.137 L 560.548,331.451 L 557.787,330.863 L 555.026,330.406 L 552.155,329.982 L 549.32,329.688 L 546.485,329.459 L 543.614,329.329 L 540.669,329.329 L 537.871,329.394 L 535,329.59 L 532.055,329.819 L 529.257,330.21 L 526.496,330.635 L 523.662,331.223 L 520.974,331.81 L 518.324,332.561 L 515.71,333.377 L 513.133,334.259 L 510.667,335.239 L 508.311,336.316 L 506.029,337.426 L 503.82,338.667 L 501.648,339.907 L 499.697,341.311 L 497.746,342.683 L 495.942,344.185 L 494.285,345.687 L 492.702,347.254 L 491.304,348.919 L 490.015,350.617 L 488.8,352.347 L 487.733,354.078 L 486.849,355.906 L 486.113,357.669 L 485.45,359.53 L 485.009,361.424 L 484.641,363.285 L 484.493,365.146 L 484.42,367.04 L 484.604,368.901 L 484.825,370.794 L 485.193,372.688"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 531.245 433.352 L 472.124,432.34 L 472.124,434.07 L 472.235,435.703 L 472.529,437.433 L 473.008,439.066 L 473.56,440.731 L 474.259,442.429 L 475.18,443.996 L 476.137,445.596 L 477.352,447.163 L 478.64,448.665 L 480.002,450.2 L 481.622,451.636 L 483.242,453.04 L 485.082,454.379 L 486.96,455.685 L 488.984,456.925 L 491.156,458.068 L 493.365,459.178 L 495.684,460.288 L 498.114,461.235 L 500.617,462.149 L 503.231,463.031 L 505.881,463.749 L 508.532,464.468 L 511.33,465.088 L 514.164,465.61 L 517.036,466.035 L 519.944,466.427 L 522.852,466.72 L 525.797,466.916 L 528.779,467.014 L 531.797,467.014 L 534.706,466.949 L 537.687,466.818 L 540.632,466.623 L 543.54,466.329 L 546.485,465.904 L 549.283,465.414 L 552.155,464.892 L 554.842,464.206 L 557.566,463.553 L 560.217,462.737 L 562.72,461.856 L 565.26,460.909 L 567.579,459.897 L 569.898,458.852 L 531.245,433.352z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 472.198 432.34 L 472.087,434.005 L 472.308,435.703 L 472.529,437.368 L 473.008,439.066 L 473.56,440.698 L 474.296,442.364 L 475.18,443.996 L 476.21,445.596 L 477.352,447.13 L 478.566,448.665 L 480.002,450.134 L 481.511,451.603 L 483.242,452.975 L 485.009,454.379 L 486.923,455.619 L 488.911,456.86 L 491.046,458.068 L 493.255,459.178 L 495.574,460.223 L 498.003,461.203 L 500.507,462.117 L 503.047,462.966 L 505.697,463.749 L 508.458,464.468 L 511.182,465.023 L 513.98,465.545 L 516.851,466.035 L 519.796,466.361 L 522.705,466.72 L 525.613,466.851 L 528.595,467.014 L 531.576,467.014 L 534.521,467.014 L 537.466,466.851 L 540.411,466.623 L 543.32,466.329 L 546.265,465.937 L 549.062,465.48 L 551.934,464.925 L 554.658,464.272 L 557.308,463.553 L 559.959,462.77 L 562.499,461.921 L 565.039,461.007 L 567.432,459.995 L 569.677,458.95"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 719.357 360.542 L 771.373,369.978 L 772.256,368.574 L 772.919,367.17 L 773.545,365.734 L 773.913,364.264 L 774.281,362.795 L 774.355,361.326 L 774.355,359.824 L 774.281,358.387 L 773.987,356.918 L 773.582,355.449 L 772.993,354.012 L 772.293,352.576 L 771.483,351.204 L 770.526,349.8 L 769.422,348.462 L 768.17,347.123 L 766.771,345.817 L 765.336,344.576 L 763.753,343.368 L 762.059,342.226 L 760.256,341.05 L 758.268,340.005 L 756.28,338.993 L 754.108,338.046 L 751.936,337.132 L 749.654,336.316 L 747.298,335.5 L 744.831,334.781 L 742.328,334.128 L 739.751,333.541 L 737.1,333.051 L 734.487,332.627 L 731.726,332.235 L 729.002,331.941 L 726.241,331.712 L 723.443,331.614 L 720.682,331.516 L 717.921,331.516 L 715.123,331.614 L 712.326,331.745 L 709.602,331.974 L 706.841,332.267 L 704.117,332.627 L 701.429,333.084 L 719.357,360.542z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 766.587 375.3 L 771.336,370.044 L 772.22,368.672 L 772.919,367.236 L 773.471,365.799 L 773.913,364.33 L 774.207,362.861 L 774.318,361.424 L 774.355,359.889 L 774.244,358.453 L 773.987,356.983 L 773.582,355.514 L 772.993,354.078 L 772.293,352.641 L 771.52,351.237 L 770.563,349.898 L 769.422,348.494 L 768.17,347.156 L 766.882,345.85 L 765.372,344.609 L 763.79,343.401 L 762.096,342.226 L 760.292,341.116 L 758.378,340.071 L 756.353,339.026 L 754.255,338.046 L 752.01,337.165 L 749.727,336.316 L 747.371,335.532 L 744.905,334.879 L 742.401,334.194 L 739.861,333.573 L 737.248,333.051 L 734.56,332.627 L 731.91,332.235 L 729.186,331.941 L 726.425,331.745 L 723.627,331.614 L 720.829,331.516 L 717.995,331.516 L 715.234,331.614 L 712.436,331.745 L 709.675,331.941 L 706.951,332.235 L 704.264,332.594 L 701.576,333.051"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 726.756 398.906 L 785.325,410.856 L 786.503,409.289 L 787.46,407.754 L 788.343,406.122 L 789.043,404.489 L 789.521,402.857 L 789.853,401.224 L 789.963,399.527 L 789.963,397.861 L 789.742,396.196 L 789.411,394.564 L 788.822,392.899 L 788.123,391.299 L 787.202,389.699 L 786.208,388.099 L 784.957,386.564 L 783.558,385.095 L 782.049,383.593 L 780.318,382.124 L 778.478,380.753 L 726.756,398.906z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 777.889 416.276 L 785.251,410.921 L 786.356,409.387 L 787.46,407.754 L 788.307,406.155 L 789.006,404.489 L 789.485,402.857 L 789.853,401.224 L 790,399.527 L 789.963,397.861 L 789.742,396.164 L 789.337,394.531 L 788.822,392.899 L 788.123,391.266 L 787.202,389.634 L 786.172,388.034 L 784.883,386.467 L 783.521,384.997 L 781.901,383.495 L 780.245,382.059 L 778.367,380.687 L 766.587,375.3"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 724.29 430.446 L 705.81,475.797 L 708.534,476.516 L 711.295,477.169 L 714.056,477.658 L 716.927,478.05 L 719.725,478.344 L 722.523,478.475 L 725.431,478.475 L 728.265,478.344 L 731.063,478.148 L 733.898,477.756 L 736.659,477.266 L 739.42,476.711 L 742.144,475.993 L 744.831,475.112 L 747.408,474.165 L 749.985,473.087 L 752.488,471.912 L 754.918,470.606 L 757.274,469.267 L 759.519,467.733 L 761.654,466.133 L 763.716,464.468 L 765.704,462.672 L 767.581,460.811 L 769.275,458.884 L 770.894,456.86 L 772.44,454.803 L 773.803,452.648 L 775.017,450.493 L 776.159,448.241 L 777.116,445.922 L 777.999,443.572 L 778.699,441.221 L 779.288,438.805 L 779.656,436.421 L 779.987,433.972 L 780.061,431.524 L 780.061,429.075 L 779.913,426.626 L 779.619,424.177 L 779.177,421.761 L 778.625,419.378 L 777.889,417.027 L 724.29,430.446z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 705.957 475.83 L 708.718,476.613 L 711.442,477.234 L 714.24,477.756 L 717.038,478.083 L 719.909,478.344 L 722.707,478.475 L 725.541,478.54 L 728.376,478.344 L 731.247,478.148 L 734.045,477.756 L 736.806,477.266 L 739.567,476.646 L 742.291,475.928 L 744.942,475.079 L 747.592,474.099 L 750.132,473.055 L 752.599,471.912 L 754.991,470.606 L 757.347,469.169 L 759.593,467.667 L 761.728,466.035 L 763.79,464.37 L 765.777,462.639 L 767.618,460.746 L 769.385,458.787 L 770.931,456.827 L 772.477,454.705 L 773.839,452.55 L 775.054,450.395 L 776.159,448.143 L 777.152,445.792 L 778.036,443.474 L 778.699,441.09 L 779.288,438.707 L 779.729,436.323 L 779.987,433.874 L 780.061,431.426 L 780.061,428.977 L 779.877,426.528 L 779.619,424.079 L 779.14,421.663 L 778.515,419.28 L 777.889,416.929"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 490.162 404.685 L 487.365,373.896 L 485.303,374.059 L 483.352,374.255 L 481.291,374.582 L 479.303,374.974 L 477.352,375.431 L 475.437,376.019 L 473.56,376.574 L 471.719,377.325 L 469.879,378.043 L 468.149,378.859 L 466.455,379.773 L 464.835,380.72 L 463.252,381.732 L 461.817,382.842 L 460.381,383.952 L 459.056,385.128 L 457.804,386.369 L 456.663,387.675 L 455.522,388.981 L 454.528,390.385 L 453.681,391.821 L 452.871,393.258 L 452.098,394.694 L 451.509,396.196 L 451.031,397.731 L 450.589,399.265 L 450.258,400.833 L 450.11,402.432 L 450,403.967 L 450,405.534 L 450.11,407.069 L 450.331,408.669 L 450.663,410.203 L 451.031,411.738 L 451.583,413.272 L 452.172,414.774 L 452.908,416.243 L 453.718,417.68 L 454.638,419.084 L 455.632,420.488 L 456.773,421.761 L 457.915,423.067 L 459.203,424.308 L 460.565,425.483 L 461.964,426.626 L 463.473,427.671 L 465.056,428.683 L 466.676,429.663 L 468.406,430.544 L 470.1,431.36 L 471.94,432.111 L 490.162,404.685z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 487.365 373.896 L 485.414,374.059 L 483.389,374.255 L 481.401,374.582 L 479.487,374.941 L 477.536,375.398 L 475.621,375.888 L 473.781,376.508 L 471.977,377.161 L 470.173,377.88 L 468.517,378.696 L 466.786,379.577 L 465.204,380.492 L 463.657,381.471 L 462.185,382.549 L 460.712,383.659 L 459.424,384.769 L 458.136,386.009 L 456.994,387.25 L 455.89,388.556 L 454.933,389.895 L 454.013,391.266 L 453.129,392.637 L 452.393,394.074 L 451.73,395.543 L 451.178,397.045 L 450.773,398.547 L 450.368,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,406.22 L 450.221,407.754 L 450.442,409.289 L 450.773,410.824 L 451.252,412.325 L 451.73,413.795 L 452.393,415.231 L 453.203,416.733 L 454.013,418.137 L 454.933,419.476 L 455.964,420.814 L 457.031,422.12 L 458.172,423.361 L 459.424,424.569 L 460.786,425.712 L 462.222,426.822 L 463.694,427.867 L 465.277,428.846 L 466.823,429.793 L 468.517,430.642 L 470.247,431.426 L 472.014,432.177"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 639.29 454.118 L 555.505,457.676 L 556.057,459.472 L 556.756,461.301 L 557.713,463.064 L 558.928,464.794 L 560.217,466.459 L 561.799,468.157 L 563.53,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.887,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.417 L 597.802,485.331 L 601.52,486.213 L 605.422,486.931 L 609.324,487.649 L 613.263,488.237 L 617.386,488.759 L 621.509,489.184 L 625.669,489.51 L 629.792,489.771 L 634.026,489.902 L 638.296,490 L 642.492,490 L 646.763,489.869 L 650.959,489.673 L 655.119,489.38 L 659.242,488.955 L 663.365,488.498 L 667.341,487.943 L 671.317,487.257 L 675.182,486.604 L 679.01,485.788 L 682.692,484.874 L 686.226,483.894 L 689.686,482.85 L 693.036,481.707 L 696.239,480.531 L 699.294,479.291 L 702.129,477.985 L 704.89,476.613 L 707.43,475.177 L 709.859,473.675 L 712.105,472.14 L 714.093,470.606 L 715.933,468.973 L 717.627,467.276 L 719.062,465.61 L 639.29,454.118z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 555.578 457.742 L 556.057,459.505 L 556.793,461.301 L 557.713,463.064 L 558.928,464.794 L 560.29,466.525 L 561.799,468.157 L 563.566,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.96,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.384 L 597.802,485.331 L 601.52,486.213 L 605.349,486.931 L 609.251,487.649 L 613.227,488.237 L 617.35,488.759 L 621.436,489.184 L 625.595,489.478 L 629.755,489.771 L 633.952,489.902 L 638.185,490 L 642.419,489.967 L 646.615,489.869 L 650.812,489.608 L 655.045,489.38 L 659.168,488.955 L 663.218,488.465 L 667.267,487.943 L 671.206,487.323 L 675.071,486.604 L 678.863,485.788 L 682.508,484.874 L 686.115,483.894 L 689.576,482.882 L 692.889,481.805 L 696.091,480.597 L 699.11,479.356 L 702.055,478.05 L 704.779,476.613 L 707.356,475.21 L 709.786,473.708 L 711.958,472.238 L 714.019,470.606 L 715.86,469.006 L 717.479,467.341 L 718.989,465.643"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 455.555 377.612 L 457.22,380.109 L 450.927,381.563 L 452.301,380.419 L 442.574,378.756 L 445.015,376.927 L 454.4,378.516 L 455.555,377.612z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 464.413 383.666 L 463.276,381.093 L 468.953,379.958 L 467.968,380.84 L 477.431,382.456 L 475.162,384.272 L 465.754,382.507 L 464.413,383.666z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 461.308 376.248 L 467.667,374.508 L 467.742,377.234 L 466.153,376.93 L 463.048,379.503 L 460.088,379.072 L 463.29,376.554 L 461.308,376.248z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 458.583 386.014 L 452.528,387.149 L 452.301,384.349 L 454.041,384.726 L 457.374,381.88 L 460.324,382.38 L 456.767,385.484 L 458.583,386.014z"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 295.599 336.092 L 295.599,336.168 L 295.613,336.23 L 295.633,336.314 L 295.661,336.397 L 295.703,336.46 L 295.751,336.536 L 295.814,336.605 L 295.876,336.668 L 295.939,336.744 L 296.022,336.821 L 296.106,336.883 L 296.196,336.939 L 296.3,336.994 L 296.397,337.057 L 296.522,337.105 L 296.633,337.168 L 296.758,337.216 L 296.897,337.265 L 297.036,337.306 L 297.168,337.348 L 297.313,337.39 L 297.459,337.431 L 297.612,337.452 L 297.779,337.48 L 297.938,337.494 L 298.105,337.522 L 298.258,337.543 L 298.431,337.563 L 298.605,337.57 L 298.771,337.577 L 298.938,337.577"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 298.57 337.577 L 298.737,337.577 L 298.896,337.57 L 299.056,337.556 L 299.222,337.536 L 299.389,337.522 L 299.542,337.494 L 299.695,337.48 L 299.854,337.445 L 300,337.411 L 300.153,337.369 L 300.285,337.327 L 300.423,337.286 L 300.555,337.237 L 300.68,337.188 L 300.791,337.14 L 300.909,337.084 L 301.02,337.022 L 301.118,336.966 L 301.215,336.897 L 301.298,336.827 L 301.375,336.758 L 301.437,336.696 L 301.506,336.619 L 301.562,336.543 L 301.604,336.48 L 301.652,336.404 L 301.673,336.314 L 301.694,336.237 L 301.715,336.168 L 301.722,336.092"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 299.306 333.308 L 299.132,333.308 L 298.966,333.315 L 298.792,333.315 L 298.639,333.329 L 298.473,333.35 L 298.306,333.363 L 298.146,333.377 L 297.98,333.412 L 297.834,333.44 L 297.688,333.461 L 297.543,333.495 L 297.397,333.537 L 297.265,333.572 L 297.14,333.613 L 297.015,333.669 L 296.876,333.711 L 296.779,333.759 L 296.668,333.801 L 296.564,333.856 L 296.48,333.919 L 296.39,333.974 L 296.314,334.023 L 296.237,334.085 L 296.182,334.148 L 296.126,334.217 L 296.071,334.28 L 296.043,334.335 L 296.008,334.405 L 295.988,334.46 L 295.981,334.537 L 295.974,334.592"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 302.083 334.592 L 302.083,334.53 L 302.076,334.46 L 302.048,334.398 L 302.02,334.321 L 301.985,334.266 L 301.93,334.19 L 301.874,334.134 L 301.819,334.065 L 301.736,334.016 L 301.673,333.947 L 301.59,333.891 L 301.479,333.842 L 301.388,333.773 L 301.284,333.738 L 301.173,333.683 L 301.048,333.627 L 300.916,333.586 L 300.784,333.544 L 300.653,333.509 L 300.514,333.481 L 300.368,333.447 L 300.215,333.412 L 300.069,333.391 L 299.917,333.363 L 299.764,333.35 L 299.604,333.329 L 299.438,333.315 L 299.264,333.315 L 299.098,333.308 L 298.938,333.308"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694"/>
<pathstyle="fill: #93936c; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 300.423 335.62 L 300.423,335.578 L 300.417,335.536 L 300.41,335.495 L 300.389,335.446 L 300.382,335.404 L 300.354,335.37 L 300.34,335.328 L 300.305,335.3 L 300.271,335.259 L 300.25,335.217 L 300.215,335.182 L 300.174,335.148 L 300.132,335.106 L 300.083,335.071 L 300.042,335.05 L 299.993,335.016 L 299.938,334.988 L 299.875,334.967 L 299.826,334.932 L 299.764,334.918 L 299.701,334.891 L 299.646,334.877 L 299.577,334.856 L 299.514,334.842 L 299.438,334.828 L 299.375,334.807 L 299.306,334.8 L 299.243,334.8 L 299.174,334.793 L 299.091,334.793 L 299.035,334.793 L 299.035,334.793 L 298.959,334.793 L 298.882,334.793 L 298.82,334.8 L 298.75,334.8 L 298.688,334.807 L 298.612,334.828 L 298.549,334.842 L 298.48,334.856 L 298.417,334.877 L 298.355,334.891 L 298.299,334.918 L 298.23,334.932 L 298.181,334.967 L 298.126,334.988 L 298.07,335.016 L 298.022,335.05 L 297.98,335.071 L 297.931,335.106 L 297.89,335.148 L 297.855,335.182 L 297.806,335.217 L 297.785,335.259 L 297.744,335.3 L 297.723,335.328 L 297.702,335.37 L 297.681,335.404 L 297.667,335.446 L 297.661,335.495 L 297.647,335.536 L 297.633,335.578 L 297.633,335.62 L 297.633,335.62 L 297.633,335.668 L 297.647,335.71 L 297.661,335.751 L 297.667,335.793 L 297.681,335.835 L 297.702,335.869 L 297.723,335.918 L 297.744,335.953 L 297.785,335.994 L 297.806,336.022 L 297.855,336.064 L 297.89,336.099 L 297.931,336.14 L 297.98,336.168 L 298.022,336.196 L 298.07,336.23 L 298.126,336.258 L 298.181,336.279 L 298.23,336.314 L 298.299,336.328 L 298.355,336.355 L 298.417,336.369 L 298.48,336.39 L 298.549,336.404 L 298.612,336.418 L 298.688,336.432 L 298.75,336.446 L 298.82,336.446 L 298.882,336.446 L 298.959,336.453 L 299.035,336.453 L 299.035,336.453 L 299.091,336.453 L 299.174,336.446 L 299.243,336.446 L 299.306,336.446 L 299.375,336.432 L 299.438,336.418 L 299.514,336.404 L 299.577,336.39 L 299.646,336.369 L 299.701,336.355 L 299.764,336.328 L 299.826,336.314 L 299.875,336.279 L 299.938,336.258 L 299.993,336.23 L 300.042,336.196 L 300.083,336.168 L 300.132,336.14 L 300.174,336.099 L 300.215,336.064 L 300.25,336.022 L 300.271,335.994 L 300.305,335.953 L 300.34,335.918 L 300.354,335.869 L 300.382,335.835 L 300.389,335.793 L 300.41,335.751 L 300.417,335.71 L 300.423,335.668 L 300.423,335.62z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 300.243 335.536 L 300.243,335.495 L 300.236,335.453 L 300.236,335.418 L 300.215,335.39 L 300.201,335.335 L 300.194,335.314 L 300.16,335.272 L 300.132,335.231 L 300.111,335.203 L 300.083,335.175 L 300.042,335.148 L 300.007,335.099 L 299.965,335.071 L 299.924,335.05 L 299.889,335.016 L 299.833,334.988 L 299.792,334.974 L 299.743,334.939 L 299.695,334.925 L 299.632,334.898 L 299.577,334.884 L 299.514,334.87 L 299.459,334.849 L 299.396,334.835 L 299.334,334.828 L 299.264,334.807 L 299.209,334.8 L 299.132,334.793 L 299.077,334.793 L 299.007,334.793 L 298.945,334.793 L 298.945,334.793 L 298.875,334.793 L 298.813,334.793 L 298.743,334.793 L 298.688,334.8 L 298.619,334.807 L 298.563,334.828 L 298.487,334.835 L 298.431,334.849 L 298.383,334.87 L 298.313,334.884 L 298.258,334.898 L 298.188,334.925 L 298.153,334.939 L 298.091,334.974 L 298.049,334.988 L 298.001,335.016 L 297.959,335.05 L 297.917,335.071 L 297.876,335.099 L 297.841,335.148 L 297.806,335.175 L 297.779,335.203 L 297.744,335.231 L 297.73,335.272 L 297.702,335.314 L 297.688,335.335 L 297.674,335.39 L 297.661,335.418 L 297.654,335.453 L 297.647,335.495 L 297.647,335.536 L 297.647,335.536 L 297.647,335.571 L 297.654,335.613 L 297.661,335.654 L 297.674,335.675 L 297.688,335.717 L 297.702,335.758 L 297.73,335.793 L 297.744,335.828 L 297.779,335.869 L 297.806,335.89 L 297.841,335.925 L 297.876,335.96 L 297.917,335.994 L 297.959,336.015 L 298.001,336.05 L 298.049,336.071 L 298.091,336.099 L 298.153,336.126 L 298.188,336.14 L 298.258,336.168 L 298.313,336.189 L 298.383,336.196 L 298.431,336.217 L 298.487,336.23 L 298.563,336.237 L 298.619,336.258 L 298.688,336.272 L 298.743,336.272 L 298.813,336.272 L 298.875,336.272 L 298.945,336.272 L 298.945,336.272 L 299.007,336.272 L 299.077,336.272 L 299.132,336.272 L 299.209,336.272 L 299.264,336.258 L 299.334,336.237 L 299.396,336.23 L 299.459,336.217 L 299.514,336.196 L 299.577,336.189 L 299.632,336.168 L 299.695,336.14 L 299.743,336.126 L 299.792,336.099 L 299.833,336.071 L 299.889,336.05 L 299.924,336.015 L 299.965,335.994 L 300.007,335.96 L 300.042,335.925 L 300.083,335.89 L 300.111,335.869 L 300.132,335.828 L 300.16,335.793 L 300.194,335.758 L 300.201,335.717 L 300.215,335.675 L 300.236,335.654 L 300.236,335.613 L 300.243,335.571 L 300.243,335.536"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 295.793 336.272 L 295.793,336.355 L 295.807,336.418 L 295.835,336.494 L 295.856,336.578 L 295.897,336.647 L 295.939,336.709 L 296.001,336.786 L 296.064,336.862 L 296.133,336.925 L 296.203,336.994 L 296.293,337.057 L 296.376,337.126 L 296.487,337.182 L 296.591,337.237 L 296.703,337.286 L 296.821,337.348 L 296.952,337.397 L 297.07,337.445 L 297.223,337.487 L 297.362,337.529 L 297.508,337.577 L 297.654,337.612 L 297.806,337.633 L 297.959,337.661 L 298.126,337.688 L 298.285,337.702 L 298.445,337.73 L 298.612,337.744 L 298.785,337.751 L 298.952,337.751 L 299.118,337.751"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 298.743 337.751 L 298.917,337.751 L 299.077,337.751 L 299.25,337.737 L 299.403,337.716 L 299.563,337.702 L 299.729,337.688 L 299.875,337.661 L 300.035,337.626 L 300.174,337.591 L 300.326,337.563 L 300.472,337.522 L 300.604,337.48 L 300.736,337.431 L 300.861,337.369 L 300.986,337.32 L 301.09,337.265 L 301.201,337.209 L 301.298,337.14 L 301.388,337.084 L 301.479,337.008 L 301.555,336.952 L 301.631,336.883 L 301.694,336.8 L 301.736,336.723 L 301.798,336.661 L 301.826,336.578 L 301.86,336.501 L 301.888,336.418 L 301.888,336.355 L 301.902,336.272"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 299.486 333.488 L 299.327,333.488 L 299.16,333.495 L 298.993,333.495 L 298.827,333.509 L 298.653,333.53 L 298.487,333.537 L 298.341,333.565 L 298.174,333.586 L 298.022,333.627 L 297.876,333.641 L 297.73,333.683 L 297.591,333.711 L 297.452,333.759 L 297.327,333.801 L 297.202,333.842 L 297.07,333.884 L 296.966,333.933 L 296.855,333.981 L 296.758,334.044 L 296.668,334.099 L 296.585,334.148 L 296.501,334.217 L 296.418,334.266 L 296.369,334.321 L 296.314,334.398 L 296.265,334.453 L 296.224,334.523 L 296.196,334.578 L 296.175,334.641 L 296.168,334.717 L 296.161,334.787"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 302.277 334.787 L 302.263,334.71 L 302.256,334.641 L 302.242,334.578 L 302.208,334.509 L 302.166,334.446 L 302.117,334.377 L 302.062,334.321 L 301.999,334.259 L 301.93,334.19 L 301.847,334.134 L 301.763,334.072 L 301.673,334.016 L 301.562,333.967 L 301.465,333.919 L 301.347,333.87 L 301.236,333.815 L 301.111,333.773 L 300.979,333.738 L 300.833,333.697 L 300.694,333.669 L 300.555,333.627 L 300.41,333.599 L 300.257,333.572 L 300.09,333.544 L 299.944,333.53 L 299.785,333.509 L 299.618,333.495 L 299.445,333.495 L 299.292,333.488 L 299.118,333.488"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300"/>
</g>
<g>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 L 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 250.336 383.601 C 250.336,383.601 248.12,388.126 246.845,392.719 C 245.341,398.184 245.126,399.996 245.354,402.534 C 245.394,403.058 245.918,403.702 246.495,403.863 C 246.724,403.917 246.992,403.998 247.1,404.024 C 247.22,404.065 247.65,404.159 247.999,404.441 C 248.362,404.723 248.442,404.79 248.657,404.897 C 248.859,405.018 248.899,405.099 249.49,405.26 C 250.08,405.421 250.148,405.381 250.389,405.381 C 250.631,405.394 250.738,405.381 251.195,405.327 C 251.638,405.26 252.054,405.394 252.175,405.421 C 252.283,405.461 252.551,405.528 252.779,405.595 C 253.357,405.757 254.136,405.475 254.444,405.045 C 255.935,402.991 256.687,401.312 258.191,395.847 C 259.453,391.255 259.869,386.233 259.869,386.233 L 250.336,383.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.688 380.889 C 260.688,380.889 260.178,380.741 259.748,380.634 C 259.372,380.527 258.835,380.379 258.835,380.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.1 406.133 C 246.925,406.764 246.267,407.14 245.623,406.965 C 244.978,406.79 244.602,406.133 244.777,405.488 C 244.965,404.844 245.623,404.468 246.267,404.642 C 246.912,404.817 247.288,405.488 247.1,406.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 250.148 407.408 C 249.973,408.053 249.302,408.429 248.657,408.254 C 248.026,408.08 247.65,407.408 247.825,406.777 C 247.999,406.133 248.657,405.757 249.302,405.931 C 249.946,406.106 250.322,406.777 250.148,407.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 253.424 407.878 C 253.249,408.509 252.578,408.885 251.933,408.711 C 251.302,408.536 250.926,407.878 251.101,407.234 C 251.276,406.589 251.933,406.213 252.578,406.388 C 253.223,406.562 253.598,407.234 253.424,407.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 246.375 408.778 C 246.2,409.422 245.529,409.798 244.898,409.61 C 244.253,409.436 243.877,408.778 244.052,408.133 C 244.226,407.489 244.898,407.113 245.529,407.287 C 246.173,407.475 246.549,408.133 246.375,408.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 249.409 410.067 C 249.235,410.711 248.577,411.087 247.932,410.899 C 247.288,410.725 246.912,410.067 247.086,409.422 C 247.274,408.778 247.932,408.402 248.577,408.576 C 249.208,408.764 249.597,409.422 249.409,410.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 252.699 410.523 C 252.511,411.154 251.853,411.544 251.208,411.356 C 250.564,411.181 250.188,410.523 250.362,409.879 C 250.55,409.234 251.208,408.858 251.853,409.033 C 252.497,409.221 252.873,409.879 252.699,410.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 245.649 411.423 C 245.475,412.067 244.804,412.443 244.159,412.269 C 243.528,412.094 243.139,411.423 243.327,410.778 C 243.501,410.147 244.159,409.758 244.804,409.946 C 245.448,410.12 245.824,410.778 245.649,411.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 248.684 412.712 C 248.509,413.356 247.838,413.732 247.207,413.558 C 246.563,413.383 246.187,412.712 246.361,412.067 C 246.536,411.423 247.207,411.06 247.838,411.235 C 248.483,411.409 248.859,412.067 248.684,412.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.96 413.168 C 251.786,413.813 251.114,414.189 250.483,414.001 C 249.839,413.826 249.463,413.168 249.637,412.524 C 249.812,411.879 250.483,411.503 251.114,411.691 C 251.759,411.866 252.135,412.524 251.96,413.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 244.911 414.068 C 244.736,414.713 244.065,415.089 243.434,414.914 C 242.789,414.739 242.413,414.082 242.588,413.437 C 242.763,412.793 243.434,412.417 244.065,412.591 C 244.71,412.766 245.086,413.437 244.911,414.082 L 244.911,414.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.959 415.357 C 247.771,416.002 247.113,416.378 246.469,416.203 C 245.824,416.029 245.448,415.357 245.636,414.726 C 245.811,414.082 246.469,413.706 247.113,413.88 C 247.758,414.055 248.134,414.726 247.959,415.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.235 415.814 C 251.047,416.458 250.389,416.834 249.745,416.66 C 249.1,416.485 248.724,415.814 248.912,415.169 C 249.087,414.538 249.745,414.162 250.389,414.337 C 251.034,414.511 251.41,415.169 251.235,415.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.428 417.156 C 246.415,417.21 246.307,417.237 246.187,417.21 C 246.079,417.17 245.999,417.103 246.025,417.036 C 246.039,416.982 246.146,416.955 246.254,416.982 C 246.361,417.009 246.442,417.089 246.428,417.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 249.033 385.871 C 250.819,386.126 252.739,386.529 254.525,387.025 C 256.311,387.522 258.164,388.153 259.829,388.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 256.7 398.922 C 256.633,399.164 256.391,399.298 256.15,399.231 L 246.858,396.666 C 246.616,396.599 246.482,396.357 246.549,396.129 L 248.174,390.248 C 248.241,390.006 248.483,389.872 248.711,389.939 L 258.016,392.504 C 258.258,392.571 258.392,392.813 258.325,393.054 L 256.7,398.935 L 256.7,398.922z"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 L 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 280.336 463.601 C 280.336,463.601 278.12,468.126 276.845,472.719 C 275.341,478.184 275.126,479.996 275.354,482.534 C 275.394,483.058 275.918,483.702 276.495,483.863 C 276.724,483.917 276.992,483.998 277.1,484.024 C 277.22,484.065 277.65,484.159 277.999,484.441 C 278.362,484.723 278.442,484.79 278.657,484.897 C 278.859,485.018 278.899,485.099 279.49,485.26 C 280.08,485.421 280.148,485.381 280.389,485.381 C 280.631,485.394 280.738,485.381 281.195,485.327 C 281.638,485.26 282.054,485.394 282.175,485.421 C 282.283,485.461 282.551,485.528 282.779,485.595 C 283.357,485.757 284.136,485.475 284.444,485.045 C 285.935,482.991 286.687,481.312 288.191,475.847 C 289.453,471.255 289.869,466.233 289.869,466.233 L 280.336,463.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.688 460.889 C 290.688,460.889 290.178,460.741 289.748,460.634 C 289.372,460.527 288.835,460.379 288.835,460.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.1 486.133 C 276.925,486.764 276.267,487.14 275.623,486.965 C 274.978,486.79 274.602,486.133 274.777,485.488 C 274.965,484.844 275.623,484.468 276.267,484.642 C 276.912,484.817 277.288,485.488 277.1,486.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 280.148 487.408 C 279.973,488.053 279.302,488.429 278.657,488.254 C 278.026,488.08 277.65,487.408 277.825,486.777 C 277.999,486.133 278.657,485.757 279.302,485.931 C 279.946,486.106 280.322,486.777 280.148,487.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 283.424 487.878 C 283.249,488.509 282.578,488.885 281.933,488.711 C 281.302,488.536 280.926,487.878 281.101,487.234 C 281.276,486.589 281.933,486.213 282.578,486.388 C 283.223,486.562 283.598,487.234 283.424,487.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 276.375 488.778 C 276.2,489.422 275.529,489.798 274.898,489.61 C 274.253,489.436 273.877,488.778 274.052,488.133 C 274.226,487.489 274.898,487.113 275.529,487.287 C 276.173,487.475 276.549,488.133 276.375,488.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 279.409 490.067 C 279.235,490.711 278.577,491.087 277.932,490.899 C 277.288,490.725 276.912,490.067 277.086,489.422 C 277.274,488.778 277.932,488.402 278.577,488.576 C 279.208,488.764 279.597,489.422 279.409,490.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 282.699 490.523 C 282.511,491.154 281.853,491.544 281.208,491.356 C 280.564,491.181 280.188,490.523 280.362,489.879 C 280.55,489.234 281.208,488.858 281.853,489.033 C 282.497,489.221 282.873,489.879 282.699,490.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 275.649 491.423 C 275.475,492.067 274.804,492.443 274.159,492.269 C 273.528,492.094 273.139,491.423 273.327,490.778 C 273.501,490.147 274.159,489.758 274.804,489.946 C 275.448,490.12 275.824,490.778 275.649,491.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 278.684 492.712 C 278.509,493.356 277.838,493.732 277.207,493.558 C 276.563,493.383 276.187,492.712 276.361,492.067 C 276.536,491.423 277.207,491.06 277.838,491.235 C 278.483,491.409 278.859,492.067 278.684,492.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.96 493.168 C 281.786,493.813 281.114,494.189 280.483,494.001 C 279.839,493.826 279.463,493.168 279.637,492.524 C 279.812,491.879 280.483,491.503 281.114,491.691 C 281.759,491.866 282.135,492.524 281.96,493.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 274.911 494.068 C 274.736,494.713 274.065,495.089 273.434,494.914 C 272.789,494.739 272.413,494.082 272.588,493.437 C 272.763,492.793 273.434,492.417 274.065,492.591 C 274.71,492.766 275.086,493.437 274.911,494.082 L 274.911,494.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.959 495.357 C 277.771,496.002 277.113,496.378 276.469,496.203 C 275.824,496.029 275.448,495.357 275.636,494.726 C 275.811,494.082 276.469,493.706 277.113,493.88 C 277.758,494.055 278.134,494.726 277.959,495.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.235 495.814 C 281.047,496.458 280.389,496.834 279.745,496.66 C 279.1,496.485 278.724,495.814 278.912,495.169 C 279.087,494.538 279.745,494.162 280.389,494.337 C 281.034,494.511 281.41,495.169 281.235,495.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.428 497.156 C 276.415,497.21 276.307,497.237 276.187,497.21 C 276.079,497.17 275.999,497.103 276.025,497.036 C 276.039,496.982 276.146,496.955 276.254,496.982 C 276.361,497.009 276.442,497.089 276.428,497.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 279.033 465.871 C 280.819,466.126 282.739,466.529 284.525,467.025 C 286.311,467.522 288.164,468.153 289.829,468.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 286.7 478.922 C 286.633,479.164 286.391,479.298 286.15,479.231 L 276.858,476.666 C 276.616,476.599 276.482,476.357 276.549,476.129 L 278.174,470.248 C 278.241,470.006 278.483,469.872 278.711,469.939 L 288.016,472.504 C 288.258,472.571 288.392,472.813 288.325,473.054 L 286.7,478.935 L 286.7,478.922z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 701.621 323.157 L 702.864,325.022 L 698.163,326.108 L 699.19,325.254 L 691.923,324.012 L 693.746,322.645 L 700.758,323.832 L 701.621,323.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 708.237 327.68 L 707.388,325.757 L 711.629,324.91 L 710.894,325.568 L 717.962,326.776 L 716.268,328.133 L 709.24,326.813 L 708.237,327.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.918 322.138 L 710.668,320.838 L 710.724,322.874 L 709.538,322.647 L 707.218,324.57 L 705.006,324.247 L 707.399,322.367 L 705.918,322.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 703.882 329.434 L 699.359,330.281 L 699.19,328.19 L 700.489,328.472 L 702.979,326.345 L 705.183,326.719 L 702.525,329.037 L 703.882,329.434z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 761.621 453.157 L 762.864,455.022 L 758.163,456.108 L 759.19,455.254 L 751.923,454.012 L 753.746,452.645 L 760.758,453.832 L 761.621,453.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 768.237 457.68 L 767.388,455.757 L 771.629,454.91 L 770.894,455.568 L 777.962,456.776 L 776.268,458.133 L 769.24,456.813 L 768.237,457.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.918 452.138 L 770.668,450.838 L 770.724,452.874 L 769.538,452.647 L 767.218,454.57 L 765.006,454.247 L 767.399,452.367 L 765.918,452.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 763.882 459.434 L 759.359,460.281 L 759.19,458.19 L 760.489,458.472 L 762.979,456.345 L 765.183,456.719 L 762.525,459.037 L 763.882,459.434z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 713.614 347.58 L 713.54,345.719 L 713.283,343.858 L 712.804,342.03 L 712.142,340.201 L 711.258,338.34 L 710.264,336.545 L 709.013,334.781 L 707.614,333.051 L 706.104,331.321 L 704.337,329.688 L 702.46,328.056 L 700.398,326.521 L 698.153,324.986 L 695.797,323.55 L 693.294,322.146 L 690.606,320.84 L 687.845,319.566 L 684.974,318.391 L 681.955,317.281 L 678.826,316.269 L 675.587,315.289 L 672.237,314.473 L 668.887,313.657 L 665.39,312.971 L 661.819,312.351 L 658.248,311.828 L 654.604,311.404 L 650.922,311.11 L 647.204,310.849 L 643.45,310.718 L 639.695,310.653 L 639.695,310.653 L 635.977,310.718 L 632.185,310.849 L 628.504,311.11 L 624.822,311.404 L 621.141,311.828 L 617.57,312.351 L 614,312.971 L 610.539,313.657 L 607.116,314.473 L 603.839,315.289 L 600.6,316.269 L 597.508,317.281 L 594.452,318.391 L 591.581,319.566 L 588.783,320.84 L 586.096,322.146 L 583.592,323.55 L 581.236,324.986 L 578.991,326.521 L 576.929,328.056 L 575.052,329.688 L 573.322,331.321 L 571.739,333.051 L 570.414,334.781 L 569.162,336.545 L 568.131,338.34 L 567.248,340.201 L 566.659,342.03 L 566.18,343.858 L 565.849,345.719 L 565.812,347.58 L 565.812,347.58 L 565.849,349.474 L 566.18,351.335 L 566.659,353.196 L 567.248,355.024 L 568.131,356.853 L 569.162,358.649 L 570.414,360.412 L 571.739,362.175 L 573.322,363.873 L 575.052,365.505 L 576.929,367.138 L 578.991,368.705 L 581.236,370.207 L 583.592,371.643 L 586.096,373.047 L 588.783,374.386 L 591.581,375.594 L 594.452,376.835 L 597.508,377.945 L 600.6,378.957 L 603.839,379.871 L 607.116,380.753 L 610.539,381.536 L 614,382.222 L 617.57,382.842 L 621.141,383.365 L 624.822,383.757 L 628.504,384.083 L 632.185,384.377 L 635.977,384.475 L 639.695,384.508 L 639.695,384.508 L 643.45,384.475 L 647.204,384.377 L 650.922,384.083 L 654.604,383.757 L 658.248,383.365 L 661.819,382.842 L 665.39,382.222 L 668.887,381.536 L 672.237,380.753 L 675.587,379.871 L 678.826,378.957 L 681.955,377.945 L 684.974,376.835 L 687.845,375.594 L 690.606,374.386 L 693.294,373.047 L 695.797,371.643 L 698.153,370.207 L 700.398,368.705 L 702.46,367.138 L 704.337,365.505 L 706.104,363.873 L 707.614,362.175 L 709.013,360.412 L 710.264,358.649 L 711.258,356.853 L 712.142,355.024 L 712.804,353.196 L 713.283,351.335 L 713.54,349.474 L 713.614,347.58z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 597.765 366.974 L 597.692,365.113 L 597.434,363.252 L 597.139,361.424 L 596.624,359.563 L 595.961,357.734 L 595.152,355.939 L 594.194,354.176 L 593.164,352.445 L 591.986,350.715 L 590.66,349.082 L 589.225,347.45 L 587.642,345.915 L 585.875,344.381 L 584.071,342.944 L 582.157,341.54 L 580.095,340.234 L 578.034,338.961 L 575.751,337.785 L 573.469,336.675 L 571.039,335.696 L 568.61,334.683 L 566.07,333.802 L 563.419,333.051 L 560.769,332.365 L 558.045,331.745 L 555.284,331.223 L 552.486,330.798 L 549.651,330.504 L 546.854,330.243 L 543.982,330.08 L 541.111,330.047 L 541.111,330.047 L 538.239,330.08 L 535.368,330.243 L 532.497,330.504 L 529.699,330.798 L 526.864,331.223 L 524.104,331.745 L 521.416,332.365 L 518.766,333.051 L 516.152,333.802 L 513.612,334.683 L 511.109,335.696 L 508.753,336.675 L 506.397,337.785 L 504.188,338.961 L 502.09,340.234 L 500.028,341.54 L 498.114,342.944 L 496.273,344.381 L 494.543,345.915 L 492.997,347.45 L 491.524,349.082 L 490.236,350.715 L 489.021,352.445 L 487.954,354.176 L 487.033,355.939 L 486.223,357.734 L 485.561,359.563 L 485.082,361.424 L 484.714,363.252 L 484.493,365.113 L 484.42,366.974 L 484.42,366.974 L 484.493,368.868 L 484.714,370.729 L 485.082,372.59 L 485.561,374.419 L 486.223,376.247 L 487.033,378.043 L 487.954,379.806 L 489.021,381.536 L 490.236,383.267 L 491.524,384.899 L 492.997,386.532 L 494.543,388.066 L 496.273,389.601 L 498.114,391.038 L 500.028,392.442 L 502.09,393.748 L 504.188,394.988 L 506.397,396.164 L 508.753,397.339 L 511.109,398.351 L 513.612,399.265 L 516.152,400.18 L 518.766,400.931 L 521.416,401.616 L 524.104,402.237 L 526.864,402.726 L 529.699,403.151 L 532.497,403.477 L 535.368,403.771 L 538.239,403.869 L 541.111,403.902 L 541.111,403.902 L 543.982,403.869 L 546.854,403.771 L 549.651,403.477 L 552.486,403.151 L 555.284,402.726 L 558.045,402.237 L 560.769,401.616 L 563.419,400.931 L 566.07,400.18 L 568.61,399.265 L 571.039,398.351 L 573.469,397.339 L 575.751,396.164 L 578.034,394.988 L 580.095,393.748 L 582.157,392.442 L 584.071,391.038 L 585.875,389.601 L 587.642,388.066 L 589.225,386.532 L 590.66,384.899 L 591.986,383.267 L 593.164,381.536 L 594.194,379.806 L 595.152,378.043 L 595.961,376.247 L 596.624,374.419 L 597.139,372.59 L 597.434,370.729 L 597.692,368.868 L 597.765,366.974z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 526.312 404.685 L 526.275,403.151 L 526.165,401.616 L 525.907,400.082 L 525.576,398.58 L 525.097,397.143 L 524.545,395.641 L 523.956,394.172 L 523.257,392.768 L 522.447,391.364 L 521.527,390.025 L 520.533,388.752 L 519.465,387.446 L 518.324,386.205 L 517.109,384.997 L 515.784,383.887 L 514.422,382.842 L 513.023,381.765 L 511.55,380.818 L 509.968,379.904 L 508.348,379.055 L 506.691,378.304 L 504.961,377.586 L 503.231,376.965 L 501.427,376.41 L 499.586,375.888 L 497.746,375.496 L 495.868,375.104 L 493.917,374.876 L 492.003,374.68 L 490.126,374.582 L 488.175,374.517 L 488.175,374.517 L 486.223,374.582 L 484.272,374.68 L 482.358,374.876 L 480.481,375.104 L 478.566,375.496 L 476.689,375.888 L 474.885,376.41 L 473.118,376.965 L 471.314,377.586 L 469.584,378.304 L 467.928,379.055 L 466.308,379.904 L 464.762,380.818 L 463.252,381.765 L 461.854,382.842 L 460.492,383.887 L 459.203,384.997 L 457.951,386.205 L 456.81,387.446 L 455.743,388.752 L 454.749,390.025 L 453.902,391.364 L 453.092,392.768 L 452.393,394.172 L 451.73,395.641 L 451.178,397.143 L 450.773,398.58 L 450.442,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,404.685 L 450,406.155 L 450.147,407.689 L 450.442,409.191 L 450.773,410.693 L 451.178,412.227 L 451.73,413.664 L 452.393,415.101 L 453.092,416.537 L 453.902,417.941 L 454.749,419.28 L 455.743,420.586 L 456.81,421.859 L 457.951,423.1 L 459.203,424.275 L 460.492,425.385 L 461.854,426.463 L 463.252,427.54 L 464.762,428.455 L 466.308,429.369 L 467.928,430.218 L 469.584,431.001 L 471.314,431.72 L 473.118,432.34 L 474.885,432.895 L 476.689,433.385 L 478.566,433.809 L 480.481,434.168 L 482.358,434.462 L 484.272,434.625 L 486.223,434.723 L 488.175,434.789 L 488.175,434.789 L 490.126,434.723 L 492.003,434.625 L 493.917,434.462 L 495.868,434.168 L 497.746,433.809 L 499.586,433.385 L 501.427,432.895 L 503.231,432.34 L 504.961,431.72 L 506.691,431.001 L 508.348,430.218 L 509.968,429.369 L 511.55,428.455 L 513.023,427.54 L 514.422,426.463 L 515.784,425.385 L 517.109,424.275 L 518.324,423.1 L 519.465,421.859 L 520.533,420.586 L 521.527,419.28 L 522.447,417.941 L 523.257,416.537 L 523.956,415.101 L 524.545,413.664 L 525.097,412.227 L 525.576,410.693 L 525.907,409.191 L 526.165,407.689 L 526.275,406.155 L 526.312,404.685z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 587.936 433.711 L 587.9,432.046 L 587.642,430.414 L 587.237,428.748 L 586.758,427.116 L 586.096,425.516 L 585.323,423.916 L 584.329,422.349 L 583.298,420.814 L 582.046,419.378 L 580.721,417.876 L 579.212,416.439 L 577.629,415.101 L 575.935,413.762 L 574.095,412.423 L 572.144,411.215 L 570.082,410.04 L 567.91,408.962 L 565.628,407.885 L 563.309,406.938 L 560.879,405.991 L 558.339,405.175 L 555.762,404.391 L 553.112,403.706 L 550.424,403.085 L 547.663,402.563 L 544.829,402.139 L 542.031,401.747 L 539.16,401.42 L 536.288,401.224 L 533.38,401.094 L 530.435,401.061 L 530.435,401.061 L 527.527,401.094 L 524.656,401.224 L 521.711,401.42 L 518.876,401.747 L 516.005,402.139 L 513.244,402.563 L 510.483,403.085 L 507.759,403.706 L 505.108,404.391 L 502.568,405.175 L 500.028,405.991 L 497.599,406.938 L 495.243,407.885 L 492.997,408.962 L 490.825,410.04 L 488.764,411.215 L 486.812,412.423 L 484.972,413.762 L 483.242,415.101 L 481.659,416.439 L 480.149,417.876 L 478.787,419.378 L 477.609,420.814 L 476.542,422.349 L 475.548,423.916 L 474.738,425.516 L 474.149,427.116 L 473.597,428.748 L 473.229,430.414 L 473.008,432.046 L 472.934,433.711 L 472.934,433.711 L 473.008,435.344 L 473.229,437.009 L 473.597,438.641 L 474.149,440.274 L 474.738,441.874 L 475.548,443.474 L 476.542,445.073 L 477.609,446.608 L 478.787,448.077 L 480.149,449.514 L 481.659,450.95 L 483.242,452.322 L 484.972,453.693 L 486.812,454.999 L 488.764,456.207 L 490.825,457.35 L 492.997,458.46 L 495.243,459.505 L 497.599,460.484 L 500.028,461.431 L 502.568,462.247 L 505.108,463.031 L 507.759,463.684 L 510.483,464.304 L 513.244,464.827 L 516.005,465.284 L 518.876,465.708 L 521.711,466.002 L 524.656,466.198 L 527.527,466.329 L 530.435,466.329 L 530.435,466.329 L 533.38,466.329 L 536.288,466.198 L 539.16,466.002 L 542.031,465.708 L 544.829,465.284 L 547.663,464.827 L 550.424,464.304 L 553.112,463.684 L 555.762,463.031 L 558.339,462.247 L 560.879,461.431 L 563.309,460.484 L 565.628,459.505 L 567.91,458.46 L 570.082,457.35 L 572.144,456.207 L 574.095,454.999 L 575.935,453.693 L 577.629,452.322 L 579.212,450.95 L 580.721,449.514 L 582.046,448.077 L 583.298,446.608 L 584.329,445.073 L 585.323,443.474 L 586.096,441.874 L 586.758,440.274 L 587.237,438.641 L 587.642,437.009 L 587.9,435.344 L 587.936,433.711z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 725.946 450.591 L 725.799,448.6 L 725.505,446.608 L 724.916,444.682 L 724.142,442.755 L 723.185,440.829 L 722.007,438.968 L 720.608,437.139 L 718.989,435.278 L 717.148,433.483 L 715.16,431.752 L 712.915,430.087 L 710.559,428.455 L 707.982,426.855 L 705.258,425.32 L 702.276,423.851 L 699.257,422.48 L 696.018,421.141 L 692.631,419.9 L 689.171,418.757 L 685.489,417.68 L 681.771,416.668 L 677.906,415.786 L 673.967,414.937 L 669.881,414.219 L 665.795,413.566 L 661.598,413.044 L 657.401,412.587 L 653.058,412.26 L 648.824,412.032 L 644.443,411.836 L 640.1,411.836 L 640.1,411.836 L 635.756,411.836 L 631.412,412.032 L 627.105,412.26 L 622.835,412.587 L 618.564,413.044 L 614.405,413.566 L 610.282,414.219 L 606.269,414.937 L 602.256,415.786 L 598.465,416.668 L 594.673,417.68 L 591.065,418.757 L 587.568,419.9 L 584.218,421.141 L 580.979,422.48 L 577.887,423.851 L 574.978,425.32 L 572.254,426.855 L 569.641,428.455 L 567.248,430.087 L 565.039,431.752 L 563.088,433.483 L 561.247,435.278 L 559.628,437.139 L 558.229,438.968 L 557.014,440.829 L 556.057,442.755 L 555.247,444.682 L 554.695,446.608 L 554.363,448.6 L 554.253,450.591 L 554.253,450.591 L 554.363,452.485 L 554.695,454.477 L 555.247,456.403 L 556.057,458.362 L 557.014,460.288 L 558.229,462.149 L 559.628,463.978 L 561.247,465.839 L 563.088,467.635 L 565.039,469.365 L 567.248,471.03 L 569.641,472.728 L 572.254,474.263 L 574.978,475.797 L 577.887,477.234 L 580.979,478.67 L 584.218,479.976 L 587.568,481.217 L 591.065,482.36 L 594.673,483.47 L 598.465,484.417 L 602.256,485.331 L 606.269,486.147 L 610.282,486.866 L 614.405,487.551 L 618.564,488.041 L 622.835,488.498 L 627.105,488.857 L 631.412,489.086 L 635.756,489.282 L 640.1,489.282 L 640.1,489.282 L 644.443,489.282 L 648.824,489.086 L 653.058,488.857 L 657.401,488.498 L 661.598,488.041 L 665.795,487.551 L 669.881,486.866 L 673.967,486.147 L 677.906,485.331 L 681.771,484.417 L 685.489,483.47 L 689.171,482.36 L 692.631,481.217 L 696.018,479.976 L 699.257,478.67 L 702.276,477.234 L 705.258,475.797 L 707.982,474.263 L 710.559,472.728 L 712.915,471.03 L 715.16,469.365 L 717.148,467.635 L 718.989,465.839 L 720.608,463.978 L 722.007,462.149 L 723.185,460.288 L 724.142,458.362 L 724.916,456.403 L 725.505,454.477 L 725.799,452.485 L 725.946,450.591z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 773.582 361.228 L 773.545,359.791 L 773.324,358.289 L 772.919,356.82 L 772.477,355.384 L 771.815,353.98 L 771.078,352.543 L 770.158,351.139 L 769.091,349.768 L 767.949,348.462 L 766.698,347.123 L 765.262,345.85 L 763.716,344.609 L 762.096,343.466 L 760.292,342.291 L 758.452,341.213 L 756.427,340.201 L 754.366,339.157 L 752.23,338.242 L 749.948,337.393 L 747.629,336.577 L 745.273,335.826 L 742.77,335.141 L 740.23,334.52 L 737.653,333.965 L 735.002,333.475 L 732.352,333.149 L 729.628,332.757 L 726.903,332.496 L 724.106,332.333 L 721.345,332.235 L 718.547,332.169 L 718.547,332.169 L 715.712,332.235 L 712.951,332.333 L 710.154,332.496 L 707.43,332.757 L 704.742,333.149 L 702.055,333.475 L 699.441,333.965 L 696.828,334.52 L 694.288,335.141 L 691.784,335.826 L 689.392,336.577 L 687.109,337.393 L 684.827,338.242 L 682.692,339.157 L 680.63,340.201 L 678.642,341.213 L 676.765,342.291 L 674.961,343.466 L 673.341,344.609 L 671.832,345.85 L 670.359,347.123 L 669.108,348.462 L 667.967,349.768 L 666.899,351.139 L 665.979,352.543 L 665.243,353.98 L 664.617,355.384 L 664.101,356.82 L 663.77,358.289 L 663.586,359.791 L 663.476,361.228 L 663.476,361.228 L 663.586,362.697 L 663.77,364.167 L 664.101,365.603 L 664.617,367.072 L 665.243,368.509 L 665.979,369.913 L 666.899,371.317 L 667.967,372.688 L 669.108,374.059 L 670.359,375.333 L 671.832,376.574 L 673.341,377.847 L 674.961,379.022 L 676.765,380.132 L 678.642,381.243 L 680.63,382.287 L 682.692,383.267 L 684.827,384.181 L 687.109,385.095 L 689.392,385.911 L 691.784,386.63 L 694.288,387.348 L 696.828,387.936 L 699.441,388.458 L 702.055,388.981 L 704.742,389.372 L 707.43,389.699 L 710.154,389.993 L 712.951,390.123 L 715.712,390.287 L 718.547,390.287 L 718.547,390.287 L 721.345,390.287 L 724.106,390.123 L 726.903,389.993 L 729.628,389.699 L 732.352,389.372 L 735.002,388.981 L 737.653,388.458 L 740.23,387.936 L 742.77,387.348 L 745.273,386.63 L 747.629,385.911 L 749.948,385.095 L 752.23,384.181 L 754.366,383.267 L 756.427,382.287 L 758.452,381.243 L 760.292,380.132 L 762.096,379.022 L 763.716,377.847 L 765.262,376.574 L 766.698,375.333 L 767.949,374.059 L 769.091,372.688 L 770.158,371.317 L 771.078,369.913 L 771.815,368.509 L 772.477,367.072 L 772.919,365.603 L 773.324,364.167 L 773.545,362.697 L 773.582,361.228z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 789.19 398.547 L 789.08,397.078 L 788.932,395.609 L 788.564,394.172 L 788.086,392.735 L 787.423,391.266 L 786.687,389.895 L 785.803,388.458 L 784.736,387.12 L 783.595,385.748 L 782.343,384.475 L 780.907,383.169 L 779.361,381.961 L 777.778,380.818 L 775.974,379.61 L 774.134,378.565 L 772.22,377.488 L 770.158,376.508 L 767.949,375.594 L 765.777,374.712 L 763.458,373.896 L 761.102,373.145 L 758.636,372.46 L 756.133,371.872 L 753.556,371.317 L 750.905,370.827 L 748.255,370.435 L 745.567,370.109 L 742.806,369.815 L 740.082,369.684 L 737.321,369.586 L 734.56,369.521 L 734.56,369.521 L 731.763,369.586 L 729.039,369.684 L 726.278,369.815 L 723.59,370.109 L 720.903,370.435 L 718.216,370.827 L 715.602,371.317 L 713.062,371.872 L 710.522,372.46 L 708.055,373.145 L 705.699,373.896 L 703.38,374.712 L 701.135,375.594 L 699.036,376.508 L 696.975,377.488 L 694.95,378.565 L 693.11,379.61 L 691.379,380.818 L 689.796,381.961 L 688.25,383.169 L 686.851,384.475 L 685.526,385.748 L 684.385,387.12 L 683.391,388.458 L 682.471,389.895 L 681.661,391.266 L 681.072,392.735 L 680.593,394.172 L 680.225,395.609 L 680.004,397.078 L 679.968,398.547 L 679.968,398.547 L 680.004,400.016 L 680.225,401.518 L 680.593,402.955 L 681.072,404.391 L 681.661,405.828 L 682.471,407.232 L 683.391,408.669 L 684.385,410.007 L 685.526,411.313 L 686.851,412.652 L 688.25,413.893 L 689.796,415.133 L 691.379,416.309 L 693.11,417.451 L 694.95,418.562 L 696.975,419.574 L 699.036,420.586 L 701.135,421.5 L 703.38,422.349 L 705.699,423.165 L 708.055,423.916 L 710.522,424.602 L 713.062,425.222 L 715.602,425.81 L 718.216,426.3 L 720.903,426.626 L 723.59,427.018 L 726.278,427.247 L 729.039,427.442 L 731.763,427.54 L 734.56,427.573 L 734.56,427.573 L 737.321,427.54 L 740.082,427.442 L 742.806,427.247 L 745.567,427.018 L 748.255,426.626 L 750.905,426.3 L 753.556,425.81 L 756.133,425.222 L 758.636,424.602 L 761.102,423.916 L 763.458,423.165 L 765.777,422.349 L 767.949,421.5 L 770.158,420.586 L 772.22,419.574 L 774.134,418.562 L 775.974,417.451 L 777.778,416.309 L 779.361,415.133 L 780.907,413.893 L 782.343,412.652 L 783.595,411.313 L 784.736,410.007 L 785.803,408.669 L 786.687,407.232 L 787.423,405.828 L 788.086,404.391 L 788.564,402.955 L 788.932,401.518 L 789.08,400.016 L 789.19,398.547z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 778.515 429.401 L 778.441,427.018 L 778.22,424.569 L 777.926,422.218 L 777.447,419.802 L 776.821,417.451 L 776.048,415.133 L 775.165,412.848 L 774.097,410.595 L 772.956,408.407 L 771.741,406.252 L 770.342,404.163 L 768.796,402.171 L 767.176,400.212 L 765.409,398.351 L 763.569,396.555 L 761.654,394.825 L 759.593,393.192 L 757.495,391.723 L 755.249,390.287 L 752.967,388.981 L 750.611,387.74 L 748.218,386.63 L 745.715,385.585 L 743.175,384.671 L 740.524,383.887 L 737.91,383.267 L 735.186,382.679 L 732.499,382.255 L 729.812,381.961 L 727.087,381.765 L 724.327,381.732 L 724.327,381.732 L 721.566,381.765 L 718.841,381.961 L 716.081,382.255 L 713.393,382.679 L 710.743,383.267 L 708.055,383.887 L 705.479,384.671 L 702.939,385.585 L 700.435,386.63 L 697.969,387.74 L 695.613,388.981 L 693.33,390.287 L 691.159,391.723 L 688.987,393.192 L 686.962,394.825 L 685.011,396.555 L 683.17,398.351 L 681.44,400.212 L 679.783,402.171 L 678.311,404.163 L 676.912,406.252 L 675.624,408.407 L 674.482,410.595 L 673.489,412.848 L 672.605,415.133 L 671.832,417.451 L 671.206,419.802 L 670.728,422.218 L 670.359,424.569 L 670.139,427.018 L 670.065,429.401 L 670.065,429.401 L 670.139,431.818 L 670.359,434.266 L 670.728,436.617 L 671.206,439.001 L 671.832,441.417 L 672.605,443.702 L 673.489,445.955 L 674.482,448.241 L 675.624,450.395 L 676.912,452.55 L 678.311,454.673 L 679.783,456.664 L 681.44,458.591 L 683.17,460.484 L 685.011,462.28 L 686.962,463.978 L 688.987,465.61 L 691.159,467.145 L 693.33,468.549 L 695.613,469.888 L 697.969,471.096 L 700.435,472.238 L 702.939,473.25 L 705.479,474.165 L 708.055,474.916 L 710.743,475.601 L 713.393,476.124 L 716.081,476.548 L 718.841,476.842 L 721.566,477.038 L 724.327,477.136 L 724.327,477.136 L 727.087,477.038 L 729.812,476.842 L 732.499,476.548 L 735.186,476.124 L 737.91,475.601 L 740.524,474.916 L 743.175,474.165 L 745.715,473.25 L 748.218,472.238 L 750.611,471.096 L 752.967,469.888 L 755.249,468.549 L 757.495,467.145 L 759.593,465.61 L 761.654,463.978 L 763.569,462.28 L 765.409,460.484 L 767.176,458.591 L 768.796,456.664 L 770.342,454.673 L 771.741,452.55 L 772.956,450.395 L 774.097,448.241 L 775.165,445.955 L 776.048,443.702 L 776.821,441.417 L 777.447,439.001 L 777.926,436.617 L 778.22,434.266 L 778.441,431.818 L 778.515,429.401z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 731.689 400.702 L 731.542,398.253 L 731.1,395.902 L 730.401,393.454 L 729.443,391.103 L 728.192,388.752 L 726.646,386.401 L 724.842,384.116 L 722.744,381.863 L 720.461,379.675 L 717.884,377.553 L 715.013,375.431 L 711.958,373.406 L 708.644,371.513 L 705.11,369.619 L 701.356,367.791 L 697.453,366.093 L 693.294,364.493 L 688.95,362.958 L 684.495,361.522 L 679.82,360.183 L 674.998,358.975 L 670.065,357.832 L 665.022,356.82 L 659.868,355.939 L 654.567,355.188 L 649.192,354.502 L 643.781,353.98 L 638.296,353.555 L 632.774,353.196 L 627.215,353.033 L 621.583,352.968 L 621.583,352.968 L 616.024,353.033 L 610.466,353.196 L 604.944,353.555 L 599.422,353.98 L 594.01,354.502 L 588.636,355.188 L 583.372,355.939 L 578.218,356.82 L 573.101,357.832 L 568.242,358.975 L 563.419,360.183 L 558.707,361.522 L 554.216,362.958 L 549.946,364.493 L 545.749,366.093 L 541.81,367.791 L 538.129,369.619 L 534.558,371.513 L 531.245,373.406 L 528.227,375.431 L 525.355,377.553 L 522.815,379.675 L 520.496,381.863 L 518.361,384.116 L 516.594,386.401 L 515.084,388.752 L 513.759,391.103 L 512.802,393.454 L 512.103,395.902 L 511.661,398.253 L 511.55,400.702 L 511.55,400.702 L 511.661,403.085 L 512.103,405.502 L 512.802,407.885 L 513.759,410.301 L 515.084,412.652 L 516.594,414.97 L 518.361,417.223 L 520.496,419.508 L 522.815,421.729 L 525.355,423.851 L 528.227,425.908 L 531.245,427.932 L 534.558,429.891 L 538.129,431.752 L 541.81,433.548 L 545.749,435.278 L 549.946,436.911 L 554.216,438.445 L 558.707,439.882 L 563.419,441.155 L 568.242,442.429 L 573.101,443.506 L 578.218,444.518 L 583.372,445.433 L 588.636,446.216 L 594.01,446.869 L 599.422,447.424 L 604.944,447.849 L 610.466,448.143 L 616.024,448.371 L 621.583,448.404 L 621.583,448.404 L 627.215,448.371 L 632.774,448.143 L 638.296,447.849 L 643.781,447.424 L 649.192,446.869 L 654.567,446.216 L 659.868,445.433 L 665.022,444.518 L 670.065,443.506 L 674.998,442.429 L 679.82,441.155 L 684.495,439.882 L 688.95,438.445 L 693.294,436.911 L 697.453,435.278 L 701.356,433.548 L 705.11,431.752 L 708.644,429.891 L 711.958,427.932 L 715.013,425.908 L 717.884,423.851 L 720.461,421.729 L 722.744,419.508 L 724.842,417.223 L 726.646,414.97 L 728.192,412.652 L 729.443,410.301 L 730.401,407.885 L 731.1,405.502 L 731.542,403.085 L 731.689,400.702z"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 640.541 347.254 L 713.393,339.026 L 712.473,337.23 L 711.332,335.402 L 710.08,333.606 L 708.571,331.876 L 706.951,330.21 L 705.11,328.513 L 703.196,326.913 L 700.987,325.378 L 698.742,323.876 L 696.312,322.44 L 693.699,321.068 L 690.974,319.795 L 688.103,318.554 L 685.121,317.346 L 682.029,316.269 L 678.826,315.289 L 675.587,314.31 L 672.163,313.494 L 668.703,312.743 L 665.206,312.057 L 661.561,311.469 L 657.917,311.012 L 654.236,310.588 L 650.518,310.294 L 646.763,310.098 L 642.971,310 L 639.216,310 L 635.424,310.098 L 631.633,310.229 L 627.951,310.49 L 624.233,310.914 L 620.552,311.339 L 616.908,311.926 L 613.337,312.547 L 609.877,313.265 L 606.49,314.081 L 603.14,314.995 L 599.9,315.942 L 596.845,317.02 L 593.826,318.163 L 590.918,319.371 L 588.157,320.644 L 585.544,322.015 L 583.077,323.452 L 580.721,324.921 L 578.512,326.456 L 576.451,328.056 L 574.573,329.688 L 572.954,331.418 L 571.371,333.084 L 570.009,334.879 L 568.867,336.642 L 567.91,338.471 L 567.1,340.299 L 640.541,347.254z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 713.393 338.961 L 712.436,337.132 L 711.332,335.336 L 710.043,333.541 L 708.571,331.843 L 706.877,330.145 L 705.074,328.48 L 703.123,326.88 L 700.914,325.346 L 698.631,323.876 L 696.275,322.44 L 693.625,321.003 L 690.974,319.73 L 688.066,318.489 L 685.084,317.346 L 682.029,316.204 L 678.826,315.224 L 675.55,314.31 L 672.126,313.461 L 668.666,312.743 L 665.206,312.057 L 661.561,311.469 L 657.88,311.012 L 654.199,310.588 L 650.481,310.294 L 646.763,310.098 L 642.934,310 L 639.179,310 L 635.424,310.098 L 631.67,310.229 L 627.915,310.49 L 624.233,310.914 L 620.552,311.306 L 616.945,311.861 L 613.411,312.547 L 609.877,313.265 L 606.527,314.081 L 603.177,314.995 L 599.974,315.942 L 596.845,316.987 L 593.863,318.163 L 590.955,319.371 L 588.194,320.611 L 585.58,321.983 L 583.077,323.387 L 580.721,324.888 L 578.512,326.423 L 576.524,327.99 L 574.61,329.688 L 572.954,331.321 L 571.408,333.051 L 570.082,334.781 L 568.867,336.577 L 567.91,338.406 L 567.137,340.234"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 541.479 366.615 L 578.218,338.046 L 575.935,336.871 L 573.543,335.761 L 571.113,334.781 L 568.61,333.802 L 566.07,332.953 L 563.419,332.169 L 560.695,331.516 L 558.008,330.896 L 555.173,330.406 L 552.375,329.982 L 549.504,329.688 L 546.633,329.459 L 543.761,329.329 L 540.89,329.329 L 537.982,329.394 L 535.11,329.59 L 532.239,329.819 L 529.405,330.178 L 526.607,330.635 L 523.846,331.157 L 521.085,331.778 L 518.434,332.496 L 515.784,333.312 L 513.244,334.194 L 510.777,335.173 L 508.421,336.251 L 506.065,337.393 L 503.857,338.569 L 501.758,339.875 L 499.697,341.213 L 497.783,342.65 L 496.016,344.087 L 494.322,345.654 L 492.776,347.221 L 491.304,348.854 L 490.015,350.551 L 488.8,352.282 L 487.77,354.012 L 486.849,355.808 L 486.113,357.636 L 485.524,359.465 L 485.009,361.359 L 484.641,363.252 L 484.493,365.113 L 484.42,366.974 L 484.53,368.868 L 484.751,370.794 L 485.193,372.623 L 541.479,366.615z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 578.034 337.948 L 575.751,336.773 L 573.432,335.696 L 571.003,334.683 L 568.463,333.769 L 565.849,332.888 L 563.235,332.137 L 560.548,331.451 L 557.787,330.863 L 555.026,330.406 L 552.155,329.982 L 549.32,329.688 L 546.485,329.459 L 543.614,329.329 L 540.669,329.329 L 537.871,329.394 L 535,329.59 L 532.055,329.819 L 529.257,330.21 L 526.496,330.635 L 523.662,331.223 L 520.974,331.81 L 518.324,332.561 L 515.71,333.377 L 513.133,334.259 L 510.667,335.239 L 508.311,336.316 L 506.029,337.426 L 503.82,338.667 L 501.648,339.907 L 499.697,341.311 L 497.746,342.683 L 495.942,344.185 L 494.285,345.687 L 492.702,347.254 L 491.304,348.919 L 490.015,350.617 L 488.8,352.347 L 487.733,354.078 L 486.849,355.906 L 486.113,357.669 L 485.45,359.53 L 485.009,361.424 L 484.641,363.285 L 484.493,365.146 L 484.42,367.04 L 484.604,368.901 L 484.825,370.794 L 485.193,372.688"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 531.245 433.352 L 472.124,432.34 L 472.124,434.07 L 472.235,435.703 L 472.529,437.433 L 473.008,439.066 L 473.56,440.731 L 474.259,442.429 L 475.18,443.996 L 476.137,445.596 L 477.352,447.163 L 478.64,448.665 L 480.002,450.2 L 481.622,451.636 L 483.242,453.04 L 485.082,454.379 L 486.96,455.685 L 488.984,456.925 L 491.156,458.068 L 493.365,459.178 L 495.684,460.288 L 498.114,461.235 L 500.617,462.149 L 503.231,463.031 L 505.881,463.749 L 508.532,464.468 L 511.33,465.088 L 514.164,465.61 L 517.036,466.035 L 519.944,466.427 L 522.852,466.72 L 525.797,466.916 L 528.779,467.014 L 531.797,467.014 L 534.706,466.949 L 537.687,466.818 L 540.632,466.623 L 543.54,466.329 L 546.485,465.904 L 549.283,465.414 L 552.155,464.892 L 554.842,464.206 L 557.566,463.553 L 560.217,462.737 L 562.72,461.856 L 565.26,460.909 L 567.579,459.897 L 569.898,458.852 L 531.245,433.352z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 472.198 432.34 L 472.087,434.005 L 472.308,435.703 L 472.529,437.368 L 473.008,439.066 L 473.56,440.698 L 474.296,442.364 L 475.18,443.996 L 476.21,445.596 L 477.352,447.13 L 478.566,448.665 L 480.002,450.134 L 481.511,451.603 L 483.242,452.975 L 485.009,454.379 L 486.923,455.619 L 488.911,456.86 L 491.046,458.068 L 493.255,459.178 L 495.574,460.223 L 498.003,461.203 L 500.507,462.117 L 503.047,462.966 L 505.697,463.749 L 508.458,464.468 L 511.182,465.023 L 513.98,465.545 L 516.851,466.035 L 519.796,466.361 L 522.705,466.72 L 525.613,466.851 L 528.595,467.014 L 531.576,467.014 L 534.521,467.014 L 537.466,466.851 L 540.411,466.623 L 543.32,466.329 L 546.265,465.937 L 549.062,465.48 L 551.934,464.925 L 554.658,464.272 L 557.308,463.553 L 559.959,462.77 L 562.499,461.921 L 565.039,461.007 L 567.432,459.995 L 569.677,458.95"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 719.357 360.542 L 771.373,369.978 L 772.256,368.574 L 772.919,367.17 L 773.545,365.734 L 773.913,364.264 L 774.281,362.795 L 774.355,361.326 L 774.355,359.824 L 774.281,358.387 L 773.987,356.918 L 773.582,355.449 L 772.993,354.012 L 772.293,352.576 L 771.483,351.204 L 770.526,349.8 L 769.422,348.462 L 768.17,347.123 L 766.771,345.817 L 765.336,344.576 L 763.753,343.368 L 762.059,342.226 L 760.256,341.05 L 758.268,340.005 L 756.28,338.993 L 754.108,338.046 L 751.936,337.132 L 749.654,336.316 L 747.298,335.5 L 744.831,334.781 L 742.328,334.128 L 739.751,333.541 L 737.1,333.051 L 734.487,332.627 L 731.726,332.235 L 729.002,331.941 L 726.241,331.712 L 723.443,331.614 L 720.682,331.516 L 717.921,331.516 L 715.123,331.614 L 712.326,331.745 L 709.602,331.974 L 706.841,332.267 L 704.117,332.627 L 701.429,333.084 L 719.357,360.542z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 766.587 375.3 L 771.336,370.044 L 772.22,368.672 L 772.919,367.236 L 773.471,365.799 L 773.913,364.33 L 774.207,362.861 L 774.318,361.424 L 774.355,359.889 L 774.244,358.453 L 773.987,356.983 L 773.582,355.514 L 772.993,354.078 L 772.293,352.641 L 771.52,351.237 L 770.563,349.898 L 769.422,348.494 L 768.17,347.156 L 766.882,345.85 L 765.372,344.609 L 763.79,343.401 L 762.096,342.226 L 760.292,341.116 L 758.378,340.071 L 756.353,339.026 L 754.255,338.046 L 752.01,337.165 L 749.727,336.316 L 747.371,335.532 L 744.905,334.879 L 742.401,334.194 L 739.861,333.573 L 737.248,333.051 L 734.56,332.627 L 731.91,332.235 L 729.186,331.941 L 726.425,331.745 L 723.627,331.614 L 720.829,331.516 L 717.995,331.516 L 715.234,331.614 L 712.436,331.745 L 709.675,331.941 L 706.951,332.235 L 704.264,332.594 L 701.576,333.051"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 726.756 398.906 L 785.325,410.856 L 786.503,409.289 L 787.46,407.754 L 788.343,406.122 L 789.043,404.489 L 789.521,402.857 L 789.853,401.224 L 789.963,399.527 L 789.963,397.861 L 789.742,396.196 L 789.411,394.564 L 788.822,392.899 L 788.123,391.299 L 787.202,389.699 L 786.208,388.099 L 784.957,386.564 L 783.558,385.095 L 782.049,383.593 L 780.318,382.124 L 778.478,380.753 L 726.756,398.906z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 777.889 416.276 L 785.251,410.921 L 786.356,409.387 L 787.46,407.754 L 788.307,406.155 L 789.006,404.489 L 789.485,402.857 L 789.853,401.224 L 790,399.527 L 789.963,397.861 L 789.742,396.164 L 789.337,394.531 L 788.822,392.899 L 788.123,391.266 L 787.202,389.634 L 786.172,388.034 L 784.883,386.467 L 783.521,384.997 L 781.901,383.495 L 780.245,382.059 L 778.367,380.687 L 766.587,375.3"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 724.29 430.446 L 705.81,475.797 L 708.534,476.516 L 711.295,477.169 L 714.056,477.658 L 716.927,478.05 L 719.725,478.344 L 722.523,478.475 L 725.431,478.475 L 728.265,478.344 L 731.063,478.148 L 733.898,477.756 L 736.659,477.266 L 739.42,476.711 L 742.144,475.993 L 744.831,475.112 L 747.408,474.165 L 749.985,473.087 L 752.488,471.912 L 754.918,470.606 L 757.274,469.267 L 759.519,467.733 L 761.654,466.133 L 763.716,464.468 L 765.704,462.672 L 767.581,460.811 L 769.275,458.884 L 770.894,456.86 L 772.44,454.803 L 773.803,452.648 L 775.017,450.493 L 776.159,448.241 L 777.116,445.922 L 777.999,443.572 L 778.699,441.221 L 779.288,438.805 L 779.656,436.421 L 779.987,433.972 L 780.061,431.524 L 780.061,429.075 L 779.913,426.626 L 779.619,424.177 L 779.177,421.761 L 778.625,419.378 L 777.889,417.027 L 724.29,430.446z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 705.957 475.83 L 708.718,476.613 L 711.442,477.234 L 714.24,477.756 L 717.038,478.083 L 719.909,478.344 L 722.707,478.475 L 725.541,478.54 L 728.376,478.344 L 731.247,478.148 L 734.045,477.756 L 736.806,477.266 L 739.567,476.646 L 742.291,475.928 L 744.942,475.079 L 747.592,474.099 L 750.132,473.055 L 752.599,471.912 L 754.991,470.606 L 757.347,469.169 L 759.593,467.667 L 761.728,466.035 L 763.79,464.37 L 765.777,462.639 L 767.618,460.746 L 769.385,458.787 L 770.931,456.827 L 772.477,454.705 L 773.839,452.55 L 775.054,450.395 L 776.159,448.143 L 777.152,445.792 L 778.036,443.474 L 778.699,441.09 L 779.288,438.707 L 779.729,436.323 L 779.987,433.874 L 780.061,431.426 L 780.061,428.977 L 779.877,426.528 L 779.619,424.079 L 779.14,421.663 L 778.515,419.28 L 777.889,416.929"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 490.162 404.685 L 487.365,373.896 L 485.303,374.059 L 483.352,374.255 L 481.291,374.582 L 479.303,374.974 L 477.352,375.431 L 475.437,376.019 L 473.56,376.574 L 471.719,377.325 L 469.879,378.043 L 468.149,378.859 L 466.455,379.773 L 464.835,380.72 L 463.252,381.732 L 461.817,382.842 L 460.381,383.952 L 459.056,385.128 L 457.804,386.369 L 456.663,387.675 L 455.522,388.981 L 454.528,390.385 L 453.681,391.821 L 452.871,393.258 L 452.098,394.694 L 451.509,396.196 L 451.031,397.731 L 450.589,399.265 L 450.258,400.833 L 450.11,402.432 L 450,403.967 L 450,405.534 L 450.11,407.069 L 450.331,408.669 L 450.663,410.203 L 451.031,411.738 L 451.583,413.272 L 452.172,414.774 L 452.908,416.243 L 453.718,417.68 L 454.638,419.084 L 455.632,420.488 L 456.773,421.761 L 457.915,423.067 L 459.203,424.308 L 460.565,425.483 L 461.964,426.626 L 463.473,427.671 L 465.056,428.683 L 466.676,429.663 L 468.406,430.544 L 470.1,431.36 L 471.94,432.111 L 490.162,404.685z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 487.365 373.896 L 485.414,374.059 L 483.389,374.255 L 481.401,374.582 L 479.487,374.941 L 477.536,375.398 L 475.621,375.888 L 473.781,376.508 L 471.977,377.161 L 470.173,377.88 L 468.517,378.696 L 466.786,379.577 L 465.204,380.492 L 463.657,381.471 L 462.185,382.549 L 460.712,383.659 L 459.424,384.769 L 458.136,386.009 L 456.994,387.25 L 455.89,388.556 L 454.933,389.895 L 454.013,391.266 L 453.129,392.637 L 452.393,394.074 L 451.73,395.543 L 451.178,397.045 L 450.773,398.547 L 450.368,400.082 L 450.147,401.616 L 450,403.151 L 450,404.685 L 450,406.22 L 450.221,407.754 L 450.442,409.289 L 450.773,410.824 L 451.252,412.325 L 451.73,413.795 L 452.393,415.231 L 453.203,416.733 L 454.013,418.137 L 454.933,419.476 L 455.964,420.814 L 457.031,422.12 L 458.172,423.361 L 459.424,424.569 L 460.786,425.712 L 462.222,426.822 L 463.694,427.867 L 465.277,428.846 L 466.823,429.793 L 468.517,430.642 L 470.247,431.426 L 472.014,432.177"/>
<pathstyle="fill: #b6c7c9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 639.29 454.118 L 555.505,457.676 L 556.057,459.472 L 556.756,461.301 L 557.713,463.064 L 558.928,464.794 L 560.217,466.459 L 561.799,468.157 L 563.53,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.887,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.417 L 597.802,485.331 L 601.52,486.213 L 605.422,486.931 L 609.324,487.649 L 613.263,488.237 L 617.386,488.759 L 621.509,489.184 L 625.669,489.51 L 629.792,489.771 L 634.026,489.902 L 638.296,490 L 642.492,490 L 646.763,489.869 L 650.959,489.673 L 655.119,489.38 L 659.242,488.955 L 663.365,488.498 L 667.341,487.943 L 671.317,487.257 L 675.182,486.604 L 679.01,485.788 L 682.692,484.874 L 686.226,483.894 L 689.686,482.85 L 693.036,481.707 L 696.239,480.531 L 699.294,479.291 L 702.129,477.985 L 704.89,476.613 L 707.43,475.177 L 709.859,473.675 L 712.105,472.14 L 714.093,470.606 L 715.933,468.973 L 717.627,467.276 L 719.062,465.61 L 639.29,454.118z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #6c8f93"d="M 555.578 457.742 L 556.057,459.505 L 556.793,461.301 L 557.713,463.064 L 558.928,464.794 L 560.29,466.525 L 561.799,468.157 L 563.566,469.79 L 565.481,471.422 L 567.653,472.957 L 569.972,474.491 L 572.401,475.928 L 575.089,477.332 L 577.96,478.67 L 580.868,479.976 L 583.997,481.152 L 587.237,482.327 L 590.697,483.372 L 594.158,484.384 L 597.802,485.331 L 601.52,486.213 L 605.349,486.931 L 609.251,487.649 L 613.227,488.237 L 617.35,488.759 L 621.436,489.184 L 625.595,489.478 L 629.755,489.771 L 633.952,489.902 L 638.185,490 L 642.419,489.967 L 646.615,489.869 L 650.812,489.608 L 655.045,489.38 L 659.168,488.955 L 663.218,488.465 L 667.267,487.943 L 671.206,487.323 L 675.071,486.604 L 678.863,485.788 L 682.508,484.874 L 686.115,483.894 L 689.576,482.882 L 692.889,481.805 L 696.091,480.597 L 699.11,479.356 L 702.055,478.05 L 704.779,476.613 L 707.356,475.21 L 709.786,473.708 L 711.958,472.238 L 714.019,470.606 L 715.86,469.006 L 717.479,467.341 L 718.989,465.643"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 473.404 362.192 L 472.308,362.192 L 472.308,360 L 473.404,360 L 473.404,362.192"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 446.824 362.192 L 445.728,362.192 L 445.728,360 L 446.824,360 L 446.824,362.192"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 480.318 380.677 C 480.318,385.007 471.293,388.516 460.159,388.516 C 449.025,388.516 440,385.007 440,380.677 L 440,392.16 C 440,396.49 449.025,400 460.159,400 C 471.293,400 480.318,396.49 480.318,392.16 L 480.318,380.677"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 460.159 388.516 C 471.293,388.516 480.318,385.007 480.318,380.677 C 480.318,376.347 471.293,372.837 460.159,372.837 C 449.025,372.837 440,376.347 440,380.677 C 440,385.007 449.025,388.516 460.159,388.516"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 455.555 377.612 L 457.22,380.109 L 450.927,381.563 L 452.301,380.419 L 442.574,378.756 L 445.015,376.927 L 454.4,378.516 L 455.555,377.612z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 464.413 383.666 L 463.276,381.093 L 468.953,379.958 L 467.968,380.84 L 477.431,382.456 L 475.162,384.272 L 465.754,382.507 L 464.413,383.666z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 461.308 376.248 L 467.667,374.508 L 467.742,377.234 L 466.153,376.93 L 463.048,379.503 L 460.088,379.072 L 463.29,376.554 L 461.308,376.248z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 458.583 386.014 L 452.528,387.149 L 452.301,384.349 L 454.041,384.726 L 457.374,381.88 L 460.324,382.38 L 456.767,385.484 L 458.583,386.014z"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 313.995,338.514 L 280,338.514 L 294.294,324.172"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 295.599 336.092 L 295.599,336.168 L 295.613,336.23 L 295.633,336.314 L 295.661,336.397 L 295.703,336.46 L 295.751,336.536 L 295.814,336.605 L 295.876,336.668 L 295.939,336.744 L 296.022,336.821 L 296.106,336.883 L 296.196,336.939 L 296.3,336.994 L 296.397,337.057 L 296.522,337.105 L 296.633,337.168 L 296.758,337.216 L 296.897,337.265 L 297.036,337.306 L 297.168,337.348 L 297.313,337.39 L 297.459,337.431 L 297.612,337.452 L 297.779,337.48 L 297.938,337.494 L 298.105,337.522 L 298.258,337.543 L 298.431,337.563 L 298.605,337.57 L 298.771,337.577 L 298.938,337.577"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 298.57 337.577 L 298.737,337.577 L 298.896,337.57 L 299.056,337.556 L 299.222,337.536 L 299.389,337.522 L 299.542,337.494 L 299.695,337.48 L 299.854,337.445 L 300,337.411 L 300.153,337.369 L 300.285,337.327 L 300.423,337.286 L 300.555,337.237 L 300.68,337.188 L 300.791,337.14 L 300.909,337.084 L 301.02,337.022 L 301.118,336.966 L 301.215,336.897 L 301.298,336.827 L 301.375,336.758 L 301.437,336.696 L 301.506,336.619 L 301.562,336.543 L 301.604,336.48 L 301.652,336.404 L 301.673,336.314 L 301.694,336.237 L 301.715,336.168 L 301.722,336.092"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 299.306 333.308 L 299.132,333.308 L 298.966,333.315 L 298.792,333.315 L 298.639,333.329 L 298.473,333.35 L 298.306,333.363 L 298.146,333.377 L 297.98,333.412 L 297.834,333.44 L 297.688,333.461 L 297.543,333.495 L 297.397,333.537 L 297.265,333.572 L 297.14,333.613 L 297.015,333.669 L 296.876,333.711 L 296.779,333.759 L 296.668,333.801 L 296.564,333.856 L 296.48,333.919 L 296.39,333.974 L 296.314,334.023 L 296.237,334.085 L 296.182,334.148 L 296.126,334.217 L 296.071,334.28 L 296.043,334.335 L 296.008,334.405 L 295.988,334.46 L 295.981,334.537 L 295.974,334.592"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 302.083 334.592 L 302.083,334.53 L 302.076,334.46 L 302.048,334.398 L 302.02,334.321 L 301.985,334.266 L 301.93,334.19 L 301.874,334.134 L 301.819,334.065 L 301.736,334.016 L 301.673,333.947 L 301.59,333.891 L 301.479,333.842 L 301.388,333.773 L 301.284,333.738 L 301.173,333.683 L 301.048,333.627 L 300.916,333.586 L 300.784,333.544 L 300.653,333.509 L 300.514,333.481 L 300.368,333.447 L 300.215,333.412 L 300.069,333.391 L 299.917,333.363 L 299.764,333.35 L 299.604,333.329 L 299.438,333.315 L 299.264,333.315 L 299.098,333.308 L 298.938,333.308"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 280 340 L 313.995,340 L 313.995,338.514 L 280,338.514 L 280,340"/>
<pathstyle="fill: #a5a585; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 294.294 324.172 L 328.289,324.172 L 328.289,300.916 L 294.294,300.916 L 294.294,324.172"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 329.219 323.256 L 329.219,300 L 328.289,300.916 L 328.289,324.172 L 329.219,323.256"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 322.694 L 326.623,322.694 L 326.623,302.784 L 295.974,302.784 L 295.974,322.694"/>
<pathstyle="fill: #93936c; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.974 325.297 L 324.568,325.297 L 317.14,332.746 L 288.546,332.746 L 295.974,325.297"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 300.423 335.62 L 300.423,335.578 L 300.417,335.536 L 300.41,335.495 L 300.389,335.446 L 300.382,335.404 L 300.354,335.37 L 300.34,335.328 L 300.305,335.3 L 300.271,335.259 L 300.25,335.217 L 300.215,335.182 L 300.174,335.148 L 300.132,335.106 L 300.083,335.071 L 300.042,335.05 L 299.993,335.016 L 299.938,334.988 L 299.875,334.967 L 299.826,334.932 L 299.764,334.918 L 299.701,334.891 L 299.646,334.877 L 299.577,334.856 L 299.514,334.842 L 299.438,334.828 L 299.375,334.807 L 299.306,334.8 L 299.243,334.8 L 299.174,334.793 L 299.091,334.793 L 299.035,334.793 L 299.035,334.793 L 298.959,334.793 L 298.882,334.793 L 298.82,334.8 L 298.75,334.8 L 298.688,334.807 L 298.612,334.828 L 298.549,334.842 L 298.48,334.856 L 298.417,334.877 L 298.355,334.891 L 298.299,334.918 L 298.23,334.932 L 298.181,334.967 L 298.126,334.988 L 298.07,335.016 L 298.022,335.05 L 297.98,335.071 L 297.931,335.106 L 297.89,335.148 L 297.855,335.182 L 297.806,335.217 L 297.785,335.259 L 297.744,335.3 L 297.723,335.328 L 297.702,335.37 L 297.681,335.404 L 297.667,335.446 L 297.661,335.495 L 297.647,335.536 L 297.633,335.578 L 297.633,335.62 L 297.633,335.62 L 297.633,335.668 L 297.647,335.71 L 297.661,335.751 L 297.667,335.793 L 297.681,335.835 L 297.702,335.869 L 297.723,335.918 L 297.744,335.953 L 297.785,335.994 L 297.806,336.022 L 297.855,336.064 L 297.89,336.099 L 297.931,336.14 L 297.98,336.168 L 298.022,336.196 L 298.07,336.23 L 298.126,336.258 L 298.181,336.279 L 298.23,336.314 L 298.299,336.328 L 298.355,336.355 L 298.417,336.369 L 298.48,336.39 L 298.549,336.404 L 298.612,336.418 L 298.688,336.432 L 298.75,336.446 L 298.82,336.446 L 298.882,336.446 L 298.959,336.453 L 299.035,336.453 L 299.035,336.453 L 299.091,336.453 L 299.174,336.446 L 299.243,336.446 L 299.306,336.446 L 299.375,336.432 L 299.438,336.418 L 299.514,336.404 L 299.577,336.39 L 299.646,336.369 L 299.701,336.355 L 299.764,336.328 L 299.826,336.314 L 299.875,336.279 L 299.938,336.258 L 299.993,336.23 L 300.042,336.196 L 300.083,336.168 L 300.132,336.14 L 300.174,336.099 L 300.215,336.064 L 300.25,336.022 L 300.271,335.994 L 300.305,335.953 L 300.34,335.918 L 300.354,335.869 L 300.382,335.835 L 300.389,335.793 L 300.41,335.751 L 300.417,335.71 L 300.423,335.668 L 300.423,335.62z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #dbdbce"d="M 300.243 335.536 L 300.243,335.495 L 300.236,335.453 L 300.236,335.418 L 300.215,335.39 L 300.201,335.335 L 300.194,335.314 L 300.16,335.272 L 300.132,335.231 L 300.111,335.203 L 300.083,335.175 L 300.042,335.148 L 300.007,335.099 L 299.965,335.071 L 299.924,335.05 L 299.889,335.016 L 299.833,334.988 L 299.792,334.974 L 299.743,334.939 L 299.695,334.925 L 299.632,334.898 L 299.577,334.884 L 299.514,334.87 L 299.459,334.849 L 299.396,334.835 L 299.334,334.828 L 299.264,334.807 L 299.209,334.8 L 299.132,334.793 L 299.077,334.793 L 299.007,334.793 L 298.945,334.793 L 298.945,334.793 L 298.875,334.793 L 298.813,334.793 L 298.743,334.793 L 298.688,334.8 L 298.619,334.807 L 298.563,334.828 L 298.487,334.835 L 298.431,334.849 L 298.383,334.87 L 298.313,334.884 L 298.258,334.898 L 298.188,334.925 L 298.153,334.939 L 298.091,334.974 L 298.049,334.988 L 298.001,335.016 L 297.959,335.05 L 297.917,335.071 L 297.876,335.099 L 297.841,335.148 L 297.806,335.175 L 297.779,335.203 L 297.744,335.231 L 297.73,335.272 L 297.702,335.314 L 297.688,335.335 L 297.674,335.39 L 297.661,335.418 L 297.654,335.453 L 297.647,335.495 L 297.647,335.536 L 297.647,335.536 L 297.647,335.571 L 297.654,335.613 L 297.661,335.654 L 297.674,335.675 L 297.688,335.717 L 297.702,335.758 L 297.73,335.793 L 297.744,335.828 L 297.779,335.869 L 297.806,335.89 L 297.841,335.925 L 297.876,335.96 L 297.917,335.994 L 297.959,336.015 L 298.001,336.05 L 298.049,336.071 L 298.091,336.099 L 298.153,336.126 L 298.188,336.14 L 298.258,336.168 L 298.313,336.189 L 298.383,336.196 L 298.431,336.217 L 298.487,336.23 L 298.563,336.237 L 298.619,336.258 L 298.688,336.272 L 298.743,336.272 L 298.813,336.272 L 298.875,336.272 L 298.945,336.272 L 298.945,336.272 L 299.007,336.272 L 299.077,336.272 L 299.132,336.272 L 299.209,336.272 L 299.264,336.258 L 299.334,336.237 L 299.396,336.23 L 299.459,336.217 L 299.514,336.196 L 299.577,336.189 L 299.632,336.168 L 299.695,336.14 L 299.743,336.126 L 299.792,336.099 L 299.833,336.071 L 299.889,336.05 L 299.924,336.015 L 299.965,335.994 L 300.007,335.96 L 300.042,335.925 L 300.083,335.89 L 300.111,335.869 L 300.132,335.828 L 300.16,335.793 L 300.194,335.758 L 300.201,335.717 L 300.215,335.675 L 300.236,335.654 L 300.236,335.613 L 300.243,335.571 L 300.243,335.536"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 295.793 336.272 L 295.793,336.355 L 295.807,336.418 L 295.835,336.494 L 295.856,336.578 L 295.897,336.647 L 295.939,336.709 L 296.001,336.786 L 296.064,336.862 L 296.133,336.925 L 296.203,336.994 L 296.293,337.057 L 296.376,337.126 L 296.487,337.182 L 296.591,337.237 L 296.703,337.286 L 296.821,337.348 L 296.952,337.397 L 297.07,337.445 L 297.223,337.487 L 297.362,337.529 L 297.508,337.577 L 297.654,337.612 L 297.806,337.633 L 297.959,337.661 L 298.126,337.688 L 298.285,337.702 L 298.445,337.73 L 298.612,337.744 L 298.785,337.751 L 298.952,337.751 L 299.118,337.751"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 298.743 337.751 L 298.917,337.751 L 299.077,337.751 L 299.25,337.737 L 299.403,337.716 L 299.563,337.702 L 299.729,337.688 L 299.875,337.661 L 300.035,337.626 L 300.174,337.591 L 300.326,337.563 L 300.472,337.522 L 300.604,337.48 L 300.736,337.431 L 300.861,337.369 L 300.986,337.32 L 301.09,337.265 L 301.201,337.209 L 301.298,337.14 L 301.388,337.084 L 301.479,337.008 L 301.555,336.952 L 301.631,336.883 L 301.694,336.8 L 301.736,336.723 L 301.798,336.661 L 301.826,336.578 L 301.86,336.501 L 301.888,336.418 L 301.888,336.355 L 301.902,336.272"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 299.486 333.488 L 299.327,333.488 L 299.16,333.495 L 298.993,333.495 L 298.827,333.509 L 298.653,333.53 L 298.487,333.537 L 298.341,333.565 L 298.174,333.586 L 298.022,333.627 L 297.876,333.641 L 297.73,333.683 L 297.591,333.711 L 297.452,333.759 L 297.327,333.801 L 297.202,333.842 L 297.07,333.884 L 296.966,333.933 L 296.855,333.981 L 296.758,334.044 L 296.668,334.099 L 296.585,334.148 L 296.501,334.217 L 296.418,334.266 L 296.369,334.321 L 296.314,334.398 L 296.265,334.453 L 296.224,334.523 L 296.196,334.578 L 296.175,334.641 L 296.168,334.717 L 296.161,334.787"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #626248"d="M 302.277 334.787 L 302.263,334.71 L 302.256,334.641 L 302.242,334.578 L 302.208,334.509 L 302.166,334.446 L 302.117,334.377 L 302.062,334.321 L 301.999,334.259 L 301.93,334.19 L 301.847,334.134 L 301.763,334.072 L 301.673,334.016 L 301.562,333.967 L 301.465,333.919 L 301.347,333.87 L 301.236,333.815 L 301.111,333.773 L 300.979,333.738 L 300.833,333.697 L 300.694,333.669 L 300.555,333.627 L 300.41,333.599 L 300.257,333.572 L 300.09,333.544 L 299.944,333.53 L 299.785,333.509 L 299.618,333.495 L 299.445,333.495 L 299.292,333.488 L 299.118,333.488"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 328.289 325.477 L 313.995,339.82 L 313.995,338.514 L 328.289,324.172 L 328.289,325.477"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 323.464 323.075 L 323.464,323.429 L 326.248,323.429 L 326.248,323.075 L 323.464,323.075"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.02; stroke: #494936"d="M 295.224 300 L 329.219,300 L 328.289,300.916 L 294.294,300.916 L 295.224,300"/>
</g>
<g>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.594 397.19 C 260.943,395.941 262.38,389.684 262.447,388.811 C 262.514,387.938 262.192,386.851 261.722,386.623 C 261.749,386.314 261.749,386.139 261.749,386.139 C 261.641,386.099 261.521,386.059 261.413,386.005 L 261.453,386.018 C 261.453,386.018 261.776,384.622 261.977,383.655 C 262.34,381.802 262.38,380.862 262.38,380.862 C 262.367,380.607 262.299,380.379 262.071,380.312 L 260.984,380.016 C 260.755,379.949 260.594,380.097 260.446,380.325 C 260.446,380.325 260.017,381.184 259.426,382.957 C 259.104,383.883 258.808,385.065 258.808,385.065 L 258.822,385.065 C 258.177,384.85 257.519,384.662 256.861,384.474 C 255.169,384.004 253.491,383.655 251.799,383.4 C 251.799,383.4 251.719,383.548 251.571,383.83 L 251.571,383.83 C 251.061,383.776 250.228,384.555 249.839,385.334 C 249.449,386.112 247.476,392.222 247.126,393.471 C 246.777,394.719 246.119,397.915 245.824,399.499 C 245.529,401.084 245.26,403.85 244.24,407.529 C 243.635,409.704 242.669,412.954 242.158,414.296 C 242.024,414.659 240.963,416.445 242.507,417.062 C 244.025,417.667 246.294,418.311 247.435,418.633 C 248.577,418.942 250.846,419.546 252.457,419.815 C 254.095,420.084 254.109,417.989 254.176,417.613 C 254.431,416.203 255.263,412.913 255.854,410.738 C 256.875,407.046 258.07,404.548 258.634,403.031 C 259.184,401.514 260.245,398.439 260.594,397.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 250.336 383.601 C 250.336,383.601 248.12,388.126 246.845,392.719 C 245.341,398.184 245.126,399.996 245.354,402.534 C 245.394,403.058 245.918,403.702 246.495,403.863 C 246.724,403.917 246.992,403.998 247.1,404.024 C 247.22,404.065 247.65,404.159 247.999,404.441 C 248.362,404.723 248.442,404.79 248.657,404.897 C 248.859,405.018 248.899,405.099 249.49,405.26 C 250.08,405.421 250.148,405.381 250.389,405.381 C 250.631,405.394 250.738,405.381 251.195,405.327 C 251.638,405.26 252.054,405.394 252.175,405.421 C 252.283,405.461 252.551,405.528 252.779,405.595 C 253.357,405.757 254.136,405.475 254.444,405.045 C 255.935,402.991 256.687,401.312 258.191,395.847 C 259.453,391.255 259.869,386.233 259.869,386.233 L 250.336,383.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 253.021 402.561 C 252.632,403.998 251.141,404.83 249.718,404.441 C 248.281,404.051 247.449,402.561 247.838,401.138 C 248.241,399.701 249.718,398.868 251.141,399.258 C 252.578,399.661 253.41,401.138 253.021,402.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 248.066 398.157 C 248.429,398.264 248.711,398.412 248.845,398.492 C 248.979,398.586 249.02,398.707 248.899,398.788 C 248.778,398.868 248.563,399.029 248.442,399.137 C 248.295,399.258 248.201,399.285 247.999,399.164 C 247.637,398.962 246.871,398.412 246.683,398.157 C 246.576,398.022 246.67,397.969 246.871,397.955 C 247.14,397.942 247.677,398.049 248.066,398.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.16 400.99 C 246.361,401.057 246.845,401.299 246.979,401.406 C 247.126,401.5 247.341,401.728 247.328,401.997 C 247.301,402.306 247.328,402.964 247.462,403.179 C 247.637,403.46 247.61,403.581 247.355,403.541 C 247.153,403.501 246.63,403.313 246.482,403.232 C 246.334,403.165 246.119,403.031 246.052,402.829 C 245.918,402.413 245.878,401.554 245.958,401.124 C 245.985,400.95 246.066,400.95 246.16,400.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.35 399.889 C 253.988,399.795 253.679,399.781 253.518,399.781 C 253.357,399.795 253.263,399.875 253.316,399.996 C 253.384,400.13 253.491,400.386 253.531,400.533 C 253.598,400.708 253.666,400.788 253.894,400.802 C 254.31,400.802 255.25,400.721 255.545,400.6 C 255.693,400.533 255.639,400.439 255.478,400.332 C 255.25,400.184 254.74,399.996 254.35,399.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 254.538 403.299 C 254.337,403.246 253.786,403.219 253.612,403.232 C 253.451,403.246 253.142,403.326 253.021,403.568 C 252.887,403.85 252.524,404.4 252.296,404.521 C 252.001,404.669 251.96,404.79 252.202,404.87 C 252.39,404.951 252.941,405.058 253.102,405.072 C 253.276,405.085 253.518,405.085 253.679,404.938 C 254.028,404.656 254.485,403.93 254.646,403.528 C 254.713,403.366 254.646,403.326 254.538,403.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 260.688 380.889 C 260.688,380.889 260.178,380.741 259.748,380.634 C 259.372,380.527 258.835,380.379 258.835,380.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 258.916 397.351 C 259.265,396.102 260.702,389.845 260.769,388.986 C 260.836,388.113 260.514,387.012 260.044,386.797 C 260.07,386.488 260.07,386.314 260.07,386.314 C 259.963,386.26 259.842,386.22 259.735,386.179 L 259.762,386.193 C 259.762,386.193 260.097,384.796 260.299,383.83 C 260.661,381.963 260.688,381.023 260.688,381.023 C 260.688,380.768 260.621,380.553 260.393,380.486 L 259.305,380.191 C 259.077,380.124 258.916,380.271 258.768,380.5 C 258.768,380.5 258.338,381.359 257.748,383.118 C 257.425,384.058 257.13,385.226 257.13,385.226 L 257.143,385.24 C 256.499,385.025 255.841,384.823 255.183,384.649 C 253.491,384.179 251.799,383.816 250.121,383.561 C 250.121,383.561 250.04,383.722 249.893,383.991 L 249.893,383.991 C 249.382,383.951 248.55,384.716 248.16,385.495 C 247.771,386.273 245.797,392.383 245.448,393.645 C 245.099,394.894 244.441,398.076 244.146,399.661 C 243.85,401.245 243.582,404.011 242.561,407.704 C 241.957,409.879 240.99,413.115 240.48,414.471 C 240.346,414.82 239.285,416.619 240.829,417.237 C 242.346,417.828 244.616,418.486 245.757,418.795 C 246.898,419.117 249.167,419.708 250.779,419.976 C 252.417,420.245 252.43,418.163 252.497,417.788 C 252.753,416.364 253.585,413.088 254.176,410.913 C 255.196,407.22 256.391,404.709 256.955,403.192 C 257.506,401.688 258.567,398.613 258.916,397.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.1 406.133 C 246.925,406.764 246.267,407.14 245.623,406.965 C 244.978,406.79 244.602,406.133 244.777,405.488 C 244.965,404.844 245.623,404.468 246.267,404.642 C 246.912,404.817 247.288,405.488 247.1,406.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 250.148 407.408 C 249.973,408.053 249.302,408.429 248.657,408.254 C 248.026,408.08 247.65,407.408 247.825,406.777 C 247.999,406.133 248.657,405.757 249.302,405.931 C 249.946,406.106 250.322,406.777 250.148,407.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 253.424 407.878 C 253.249,408.509 252.578,408.885 251.933,408.711 C 251.302,408.536 250.926,407.878 251.101,407.234 C 251.276,406.589 251.933,406.213 252.578,406.388 C 253.223,406.562 253.598,407.234 253.424,407.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 246.375 408.778 C 246.2,409.422 245.529,409.798 244.898,409.61 C 244.253,409.436 243.877,408.778 244.052,408.133 C 244.226,407.489 244.898,407.113 245.529,407.287 C 246.173,407.475 246.549,408.133 246.375,408.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 249.409 410.067 C 249.235,410.711 248.577,411.087 247.932,410.899 C 247.288,410.725 246.912,410.067 247.086,409.422 C 247.274,408.778 247.932,408.402 248.577,408.576 C 249.208,408.764 249.597,409.422 249.409,410.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 252.699 410.523 C 252.511,411.154 251.853,411.544 251.208,411.356 C 250.564,411.181 250.188,410.523 250.362,409.879 C 250.55,409.234 251.208,408.858 251.853,409.033 C 252.497,409.221 252.873,409.879 252.699,410.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 245.649 411.423 C 245.475,412.067 244.804,412.443 244.159,412.269 C 243.528,412.094 243.139,411.423 243.327,410.778 C 243.501,410.147 244.159,409.758 244.804,409.946 C 245.448,410.12 245.824,410.778 245.649,411.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 248.684 412.712 C 248.509,413.356 247.838,413.732 247.207,413.558 C 246.563,413.383 246.187,412.712 246.361,412.067 C 246.536,411.423 247.207,411.06 247.838,411.235 C 248.483,411.409 248.859,412.067 248.684,412.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.96 413.168 C 251.786,413.813 251.114,414.189 250.483,414.001 C 249.839,413.826 249.463,413.168 249.637,412.524 C 249.812,411.879 250.483,411.503 251.114,411.691 C 251.759,411.866 252.135,412.524 251.96,413.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 244.911 414.068 C 244.736,414.713 244.065,415.089 243.434,414.914 C 242.789,414.739 242.413,414.082 242.588,413.437 C 242.763,412.793 243.434,412.417 244.065,412.591 C 244.71,412.766 245.086,413.437 244.911,414.082 L 244.911,414.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 247.959 415.357 C 247.771,416.002 247.113,416.378 246.469,416.203 C 245.824,416.029 245.448,415.357 245.636,414.726 C 245.811,414.082 246.469,413.706 247.113,413.88 C 247.758,414.055 248.134,414.726 247.959,415.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 251.235 415.814 C 251.047,416.458 250.389,416.834 249.745,416.66 C 249.1,416.485 248.724,415.814 248.912,415.169 C 249.087,414.538 249.745,414.162 250.389,414.337 C 251.034,414.511 251.41,415.169 251.235,415.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 246.428 417.156 C 246.415,417.21 246.307,417.237 246.187,417.21 C 246.079,417.17 245.999,417.103 246.025,417.036 C 246.039,416.982 246.146,416.955 246.254,416.982 C 246.361,417.009 246.442,417.089 246.428,417.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 249.033 385.871 C 250.819,386.126 252.739,386.529 254.525,387.025 C 256.311,387.522 258.164,388.153 259.829,388.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 256.7 398.922 C 256.633,399.164 256.391,399.298 256.15,399.231 L 246.858,396.666 C 246.616,396.599 246.482,396.357 246.549,396.129 L 248.174,390.248 C 248.241,390.006 248.483,389.872 248.711,389.939 L 258.016,392.504 C 258.258,392.571 258.392,392.813 258.325,393.054 L 256.7,398.935 L 256.7,398.922z"/>
<pathstyle="fill: #7a7a5a; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.594 477.19 C 290.943,475.941 292.38,469.684 292.447,468.811 C 292.514,467.938 292.192,466.851 291.722,466.623 C 291.749,466.314 291.749,466.139 291.749,466.139 C 291.641,466.099 291.521,466.059 291.413,466.005 L 291.453,466.018 C 291.453,466.018 291.776,464.622 291.977,463.655 C 292.34,461.802 292.38,460.862 292.38,460.862 C 292.367,460.607 292.299,460.379 292.071,460.312 L 290.984,460.016 C 290.755,459.949 290.594,460.097 290.446,460.325 C 290.446,460.325 290.017,461.184 289.426,462.957 C 289.104,463.883 288.808,465.065 288.808,465.065 L 288.822,465.065 C 288.177,464.85 287.519,464.662 286.861,464.474 C 285.169,464.004 283.491,463.655 281.799,463.4 C 281.799,463.4 281.719,463.548 281.571,463.83 L 281.571,463.83 C 281.061,463.776 280.228,464.555 279.839,465.334 C 279.449,466.112 277.476,472.222 277.126,473.471 C 276.777,474.719 276.119,477.915 275.824,479.499 C 275.529,481.084 275.26,483.85 274.24,487.529 C 273.635,489.704 272.669,492.954 272.158,494.296 C 272.024,494.659 270.963,496.445 272.507,497.062 C 274.025,497.667 276.294,498.311 277.435,498.633 C 278.577,498.942 280.846,499.546 282.457,499.815 C 284.095,500.084 284.109,497.989 284.176,497.613 C 284.431,496.203 285.263,492.913 285.854,490.738 C 286.875,487.046 288.07,484.548 288.634,483.031 C 289.184,481.514 290.245,478.439 290.594,477.19"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #c9c9b6; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ecece7"fill-rule="evenodd"d="M 280.336 463.601 C 280.336,463.601 278.12,468.126 276.845,472.719 C 275.341,478.184 275.126,479.996 275.354,482.534 C 275.394,483.058 275.918,483.702 276.495,483.863 C 276.724,483.917 276.992,483.998 277.1,484.024 C 277.22,484.065 277.65,484.159 277.999,484.441 C 278.362,484.723 278.442,484.79 278.657,484.897 C 278.859,485.018 278.899,485.099 279.49,485.26 C 280.08,485.421 280.148,485.381 280.389,485.381 C 280.631,485.394 280.738,485.381 281.195,485.327 C 281.638,485.26 282.054,485.394 282.175,485.421 C 282.283,485.461 282.551,485.528 282.779,485.595 C 283.357,485.757 284.136,485.475 284.444,485.045 C 285.935,482.991 286.687,481.312 288.191,475.847 C 289.453,471.255 289.869,466.233 289.869,466.233 L 280.336,463.601z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157z"/>
<pathstyle="fill: #ff0000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 283.021 482.561 C 282.632,483.998 281.141,484.83 279.718,484.441 C 278.281,484.051 277.449,482.561 277.838,481.138 C 278.241,479.701 279.718,478.868 281.141,479.258 C 282.578,479.661 283.41,481.138 283.021,482.561"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 278.066 478.157 C 278.429,478.264 278.711,478.412 278.845,478.492 C 278.979,478.586 279.02,478.707 278.899,478.788 C 278.778,478.868 278.563,479.029 278.442,479.137 C 278.295,479.258 278.201,479.285 277.999,479.164 C 277.637,478.962 276.871,478.412 276.683,478.157 C 276.576,478.022 276.67,477.969 276.871,477.955 C 277.14,477.942 277.677,478.049 278.066,478.157"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.16 480.99 C 276.361,481.057 276.845,481.299 276.979,481.406 C 277.126,481.5 277.341,481.728 277.328,481.997 C 277.301,482.306 277.328,482.964 277.462,483.179 C 277.637,483.46 277.61,483.581 277.355,483.541 C 277.153,483.501 276.63,483.313 276.482,483.232 C 276.334,483.165 276.119,483.031 276.052,482.829 C 275.918,482.413 275.878,481.554 275.958,481.124 C 275.985,480.95 276.066,480.95 276.16,480.99"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889z"/>
<pathstyle="fill: #00ff00; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.35 479.889 C 283.988,479.795 283.679,479.781 283.518,479.781 C 283.357,479.795 283.263,479.875 283.316,479.996 C 283.384,480.13 283.491,480.386 283.531,480.533 C 283.598,480.708 283.666,480.788 283.894,480.802 C 284.31,480.802 285.25,480.721 285.545,480.6 C 285.693,480.533 285.639,480.439 285.478,480.332 C 285.25,480.184 284.74,479.996 284.35,479.889"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 284.538 483.299 C 284.337,483.246 283.786,483.219 283.612,483.232 C 283.451,483.246 283.142,483.326 283.021,483.568 C 282.887,483.85 282.524,484.4 282.296,484.521 C 282.001,484.669 281.96,484.79 282.202,484.87 C 282.39,484.951 282.941,485.058 283.102,485.072 C 283.276,485.085 283.518,485.085 283.679,484.938 C 284.028,484.656 284.485,483.93 284.646,483.528 C 284.713,483.366 284.646,483.326 284.538,483.299"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 290.688 460.889 C 290.688,460.889 290.178,460.741 289.748,460.634 C 289.372,460.527 288.835,460.379 288.835,460.379"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #000000"d="M 288.916 477.351 C 289.265,476.102 290.702,469.845 290.769,468.986 C 290.836,468.113 290.514,467.012 290.044,466.797 C 290.07,466.488 290.07,466.314 290.07,466.314 C 289.963,466.26 289.842,466.22 289.735,466.179 L 289.762,466.193 C 289.762,466.193 290.097,464.796 290.299,463.83 C 290.661,461.963 290.688,461.023 290.688,461.023 C 290.688,460.768 290.621,460.553 290.393,460.486 L 289.305,460.191 C 289.077,460.124 288.916,460.271 288.768,460.5 C 288.768,460.5 288.338,461.359 287.748,463.118 C 287.425,464.058 287.13,465.226 287.13,465.226 L 287.143,465.24 C 286.499,465.025 285.841,464.823 285.183,464.649 C 283.491,464.179 281.799,463.816 280.121,463.561 C 280.121,463.561 280.04,463.722 279.893,463.991 L 279.893,463.991 C 279.382,463.951 278.55,464.716 278.16,465.495 C 277.771,466.273 275.797,472.383 275.448,473.645 C 275.099,474.894 274.441,478.076 274.146,479.661 C 273.85,481.245 273.582,484.011 272.561,487.704 C 271.957,489.879 270.99,493.115 270.48,494.471 C 270.346,494.82 269.285,496.619 270.829,497.237 C 272.346,497.828 274.616,498.486 275.757,498.795 C 276.898,499.117 279.167,499.708 280.779,499.976 C 282.417,500.245 282.43,498.163 282.497,497.788 C 282.753,496.364 283.585,493.088 284.176,490.913 C 285.196,487.22 286.391,484.709 286.955,483.192 C 287.506,481.688 288.567,478.613 288.916,477.351"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.1 486.133 C 276.925,486.764 276.267,487.14 275.623,486.965 C 274.978,486.79 274.602,486.133 274.777,485.488 C 274.965,484.844 275.623,484.468 276.267,484.642 C 276.912,484.817 277.288,485.488 277.1,486.133z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 280.148 487.408 C 279.973,488.053 279.302,488.429 278.657,488.254 C 278.026,488.08 277.65,487.408 277.825,486.777 C 277.999,486.133 278.657,485.757 279.302,485.931 C 279.946,486.106 280.322,486.777 280.148,487.408z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 283.424 487.878 C 283.249,488.509 282.578,488.885 281.933,488.711 C 281.302,488.536 280.926,487.878 281.101,487.234 C 281.276,486.589 281.933,486.213 282.578,486.388 C 283.223,486.562 283.598,487.234 283.424,487.878z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 276.375 488.778 C 276.2,489.422 275.529,489.798 274.898,489.61 C 274.253,489.436 273.877,488.778 274.052,488.133 C 274.226,487.489 274.898,487.113 275.529,487.287 C 276.173,487.475 276.549,488.133 276.375,488.778z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 279.409 490.067 C 279.235,490.711 278.577,491.087 277.932,490.899 C 277.288,490.725 276.912,490.067 277.086,489.422 C 277.274,488.778 277.932,488.402 278.577,488.576 C 279.208,488.764 279.597,489.422 279.409,490.067z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 282.699 490.523 C 282.511,491.154 281.853,491.544 281.208,491.356 C 280.564,491.181 280.188,490.523 280.362,489.879 C 280.55,489.234 281.208,488.858 281.853,489.033 C 282.497,489.221 282.873,489.879 282.699,490.523z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 275.649 491.423 C 275.475,492.067 274.804,492.443 274.159,492.269 C 273.528,492.094 273.139,491.423 273.327,490.778 C 273.501,490.147 274.159,489.758 274.804,489.946 C 275.448,490.12 275.824,490.778 275.649,491.423z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 278.684 492.712 C 278.509,493.356 277.838,493.732 277.207,493.558 C 276.563,493.383 276.187,492.712 276.361,492.067 C 276.536,491.423 277.207,491.06 277.838,491.235 C 278.483,491.409 278.859,492.067 278.684,492.712z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.96 493.168 C 281.786,493.813 281.114,494.189 280.483,494.001 C 279.839,493.826 279.463,493.168 279.637,492.524 C 279.812,491.879 280.483,491.503 281.114,491.691 C 281.759,491.866 282.135,492.524 281.96,493.168z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 274.911 494.068 C 274.736,494.713 274.065,495.089 273.434,494.914 C 272.789,494.739 272.413,494.082 272.588,493.437 C 272.763,492.793 273.434,492.417 274.065,492.591 C 274.71,492.766 275.086,493.437 274.911,494.082 L 274.911,494.068z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 277.959 495.357 C 277.771,496.002 277.113,496.378 276.469,496.203 C 275.824,496.029 275.448,495.357 275.636,494.726 C 275.811,494.082 276.469,493.706 277.113,493.88 C 277.758,494.055 278.134,494.726 277.959,495.357z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.02; stroke: #ffffff"fill-rule="evenodd"d="M 281.235 495.814 C 281.047,496.458 280.389,496.834 279.745,496.66 C 279.1,496.485 278.724,495.814 278.912,495.169 C 279.087,494.538 279.745,494.162 280.389,494.337 C 281.034,494.511 281.41,495.169 281.235,495.814z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 276.428 497.156 C 276.415,497.21 276.307,497.237 276.187,497.21 C 276.079,497.17 275.999,497.103 276.025,497.036 C 276.039,496.982 276.146,496.955 276.254,496.982 C 276.361,497.009 276.442,497.089 276.428,497.143"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 279.033 465.871 C 280.819,466.126 282.739,466.529 284.525,467.025 C 286.311,467.522 288.164,468.153 289.829,468.852"/>
<pathstyle="fill: #b7b79d; fill-opacity: 1; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"fill-rule="evenodd"d="M 286.7 478.922 C 286.633,479.164 286.391,479.298 286.15,479.231 L 276.858,476.666 C 276.616,476.599 276.482,476.357 276.549,476.129 L 278.174,470.248 C 278.241,470.006 278.483,469.872 278.711,469.939 L 288.016,472.504 C 288.258,472.571 288.392,472.813 288.325,473.054 L 286.7,478.935 L 286.7,478.922z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 714.954 311.638 L 714.135,311.638 L 714.135,310 L 714.954,310 L 714.954,311.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 695.098 311.638 L 694.279,311.638 L 694.279,310 L 695.098,310 L 695.098,311.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 720.119 325.447 C 720.119,328.681 713.377,331.303 705.06,331.303 C 696.742,331.303 690,328.681 690,325.447 L 690,334.025 C 690,337.26 696.742,339.882 705.06,339.882 C 713.377,339.882 720.119,337.26 720.119,334.025 L 720.119,325.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 705.06 331.303 C 713.377,331.303 720.119,328.681 720.119,325.447 C 720.119,322.212 713.377,319.59 705.06,319.59 C 696.742,319.59 690,322.212 690,325.447 C 690,328.681 696.742,331.303 705.06,331.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 701.621 323.157 L 702.864,325.022 L 698.163,326.108 L 699.19,325.254 L 691.923,324.012 L 693.746,322.645 L 700.758,323.832 L 701.621,323.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 708.237 327.68 L 707.388,325.757 L 711.629,324.91 L 710.894,325.568 L 717.962,326.776 L 716.268,328.133 L 709.24,326.813 L 708.237,327.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 705.918 322.138 L 710.668,320.838 L 710.724,322.874 L 709.538,322.647 L 707.218,324.57 L 705.006,324.247 L 707.399,322.367 L 705.918,322.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 703.882 329.434 L 699.359,330.281 L 699.19,328.19 L 700.489,328.472 L 702.979,326.345 L 705.183,326.719 L 702.525,329.037 L 703.882,329.434z"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 774.954 441.638 L 774.135,441.638 L 774.135,440 L 774.954,440 L 774.954,441.638"/>
<pathstyle="fill: #000000; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 2; stroke: #00aed9"d="M 755.098 441.638 L 754.279,441.638 L 754.279,440 L 755.098,440 L 755.098,441.638"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 780.119 455.447 C 780.119,458.681 773.377,461.303 765.06,461.303 C 756.742,461.303 750,458.681 750,455.447 L 750,464.025 C 750,467.26 756.742,469.882 765.06,469.882 C 773.377,469.882 780.119,467.26 780.119,464.025 L 780.119,455.447"/>
<pathstyle="fill: #00aed9; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303z"/>
<pathstyle="fill: none; stroke-opacity: 1; stroke-width: 0.8; stroke: #ffffff"d="M 765.06 461.303 C 773.377,461.303 780.119,458.681 780.119,455.447 C 780.119,452.212 773.377,449.59 765.06,449.59 C 756.742,449.59 750,452.212 750,455.447 C 750,458.681 756.742,461.303 765.06,461.303"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 761.621 453.157 L 762.864,455.022 L 758.163,456.108 L 759.19,455.254 L 751.923,454.012 L 753.746,452.645 L 760.758,453.832 L 761.621,453.157z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 768.237 457.68 L 767.388,455.757 L 771.629,454.91 L 770.894,455.568 L 777.962,456.776 L 776.268,458.133 L 769.24,456.813 L 768.237,457.68z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 765.918 452.138 L 770.668,450.838 L 770.724,452.874 L 769.538,452.647 L 767.218,454.57 L 765.006,454.247 L 767.399,452.367 L 765.918,452.138z"/>
<pathstyle="fill: #ffffff; fill-opacity: 1; stroke: none"fill-rule="evenodd"d="M 763.882 459.434 L 759.359,460.281 L 759.19,458.19 L 760.489,458.472 L 762.979,456.345 L 765.183,456.719 L 762.525,459.037 L 763.882,459.434z"/>
<pathd="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "transform="matrix(-1.1,0,0,-1.1,5.5,0)"style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"id="path3334"/>
<pathd="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "transform="scale(0.4,0.4)"style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"id="path3349"/>
<pathd="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "transform="scale(0.8,0.8)"style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"id="path3355"/>
<pathd="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "transform="matrix(-0.6,0,0,-0.6,3,0)"style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"id="path3328"/>
<pathd="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "transform="scale(-0.4,-0.4)"style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"id="path3346"/>
<pathd="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "transform="scale(-0.8,-0.8)"style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"id="path3352"/>
</marker>
</defs>
<pathid="path4261"style="fill:#ff5555;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 223.53106,327.10441 C 223.53106,352.62811 202.95773,373.31911 177.57924,373.31911 C 152.20074,373.31911 131.62741,352.62811 131.62741,327.10441 C 131.62741,301.58081 152.20074,280.88981 177.57924,280.88981 C 202.95773,280.88981 223.53106,301.58081 223.53106,327.10441 z "/>
<pathid="path4263"style="fill:#ffff33;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 1037.931,293.05631 C 1037.931,318.58001 1017.3577,339.27101 991.97924,339.27101 C 966.60074,339.27101 946.02741,318.58001 946.02741,293.05631 C 946.02741,267.53271 966.60074,246.84171 991.97924,246.84171 C 1017.3577,246.84171 1037.931,267.53271 1037.931,293.05631 z "/>
<pathid="path4265"style="fill:#ffff33;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 632.21606,104.97986 C 632.21606,130.50353 611.64273,151.19455 586.26424,151.19455 C 560.88574,151.19455 540.31241,130.50353 540.31241,104.97986 C 540.31241,79.456184 560.88574,58.765174 586.26424,58.765174 C 611.64273,58.765174 632.21606,79.456184 632.21606,104.97986 z "/>
<pathid="path4267"style="fill:#55ff55;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 603.64506,607.83681 C 603.64506,633.36051 583.07173,654.05151 557.69324,654.05151 C 532.31474,654.05151 511.74141,633.36051 511.74141,607.83681 C 511.74141,582.31321 532.31474,561.62221 557.69324,561.62221 C 583.07173,561.62221 603.64506,582.31321 603.64506,607.83681 z "/>
<pathid="path4269"style="fill:#55ff55;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 903.64506,147.83696 C 903.64506,173.36063 883.07173,194.05161 857.69324,194.05161 C 832.31474,194.05161 811.74141,173.36063 811.74141,147.83696 C 811.74141,122.31328 832.31474,101.62227 857.69324,101.62227 C 883.07173,101.62227 903.64506,122.31328 903.64506,147.83696 z "/>
<pathid="path4271"style="fill:#ffff33;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 817.93106,413.55121 C 817.93106,439.07491 797.35773,459.76591 771.97924,459.76591 C 746.60074,459.76591 726.02741,439.07491 726.02741,413.55121 C 726.02741,388.02761 746.60074,367.33661 771.97924,367.33661 C 797.35773,367.33661 817.93106,388.02761 817.93106,413.55121 z "/>
<pathid="path4273"style="fill:#55ff55;fill-opacity:1;stroke:#000000;stroke-width:7.57058573;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 915.07406,584.97981 C 915.07406,610.50351 894.50073,631.19451 869.12224,631.19451 C 843.74374,631.19451 823.17041,610.50351 823.17041,584.97981 C 823.17041,559.45621 843.74374,538.76521 869.12224,538.76521 C 894.50073,538.76521 915.07406,559.45621 915.07406,584.97981 z "/>
<pathid="path4277"style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:4.69999981;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 369.68244,325.81177 L 812.01072,165.86573"sodipodi:nodetypes="cc"/>
<pathid="path4281"style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:4.69999981;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 366.80669,324.95185 L 520.83602,583.62361"sodipodi:nodetypes="cc"/>
<pathid="path4287"style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:4.69999981;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 368.22207,325.49587 L 828.71412,568.06311"sodipodi:nodetypes="cc"/>
<pathstyle="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:4.69999981;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"d="M 226.9654,327.86162 L 369.65596,325.86694"id="path1410"sodipodi:nodetypes="cc"/>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.