charmkit 0.5.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/README.md +46 -94
- data/charmkit.gemspec +3 -3
- data/examples/Charmkitfile +66 -0
- data/examples/basic.rb +6 -0
- data/examples/demo/Gemfile +10 -0
- data/examples/demo/Gemfile.lock +64 -0
- data/examples/demo/README.md +27 -0
- data/examples/demo/Rakefile +9 -0
- data/examples/demo/config.yaml +2 -0
- data/examples/demo/hooks/config-changed +3 -0
- data/examples/{my-demo-charm → demo}/hooks/install +3 -5
- data/examples/demo/hooks/leader-elected +3 -0
- data/examples/demo/hooks/leader-settings-changed +3 -0
- data/examples/demo/hooks/start +3 -0
- data/examples/demo/hooks/stop +3 -0
- data/examples/demo/hooks/update-status +3 -0
- data/examples/demo/hooks/upgrade-charm +3 -0
- data/examples/demo/metadata.yaml +9 -0
- data/examples/load-charmkit-file.rb +2 -0
- data/examples/plugin_loader.rb +9 -0
- data/examples/template.rb +6 -0
- data/examples/templates/user_auth.txt +1 -0
- data/exe/charmkit +5 -0
- data/lib/charmkit.rb +6 -7
- data/lib/charmkit/cli.rb +124 -0
- data/lib/charmkit/dependencies.rb +26 -0
- data/lib/charmkit/helpers.rb +5 -0
- data/lib/charmkit/helpers/crypt.rb +8 -6
- data/lib/charmkit/helpers/fs.rb +0 -15
- data/lib/charmkit/helpers/hookenv.rb +10 -0
- data/lib/charmkit/helpers/runner.rb +2 -1
- data/lib/charmkit/helpers/template.rb +1 -0
- data/lib/charmkit/hook.rb +47 -0
- data/lib/charmkit/scroll.rb +15 -0
- metadata +48 -29
- data/examples/my-demo-charm/Gemfile +0 -5
- data/examples/my-demo-charm/Gemfile.lock +0 -15
- data/examples/my-demo-charm/README.md +0 -45
- data/examples/my-demo-charm/Rakefile +0 -63
- data/examples/my-demo-charm/config.yaml +0 -21
- data/examples/my-demo-charm/copyright +0 -21
- data/examples/my-demo-charm/hooks/config-changed +0 -3
- data/examples/my-demo-charm/hooks/upgrade-charm +0 -3
- data/examples/my-demo-charm/icon.svg +0 -322
- data/examples/my-demo-charm/metadata.yaml +0 -18
- data/examples/my-demo-charm/readme +0 -1
- data/examples/my-demo-charm/tasks/vim.rb +0 -8
- data/examples/my-demo-charm/templates/acl.auth.php +0 -10
- data/examples/my-demo-charm/templates/local.php +0 -15
- data/examples/my-demo-charm/templates/plugins.local.php +0 -12
- data/examples/my-demo-charm/templates/users.auth.php +0 -11
- data/examples/my-demo-charm/templates/vhost.conf +0 -42
- data/examples/render_inline.rb +0 -59
- data/lib/charmkit/extend/string_tools.rb +0 -14
- data/lib/charmkit/plugins/nginx.rb +0 -8
- data/lib/charmkit/plugins/php.rb +0 -19
- data/lib/charmkit/version.rb +0 -14
@@ -1,45 +0,0 @@
|
|
1
|
-
# Overview
|
2
|
-
|
3
|
-
DokuWiki is a simple to use and highly versatile Open Source wiki software that
|
4
|
-
doesn't require a database. It is loved by users for its clean and readable
|
5
|
-
syntax. The ease of maintenance, backup and integration makes it an
|
6
|
-
administrator's favorite. Built in access controls and authentication connectors
|
7
|
-
make DokuWiki especially useful in the enterprise context and the large number
|
8
|
-
of plugins contributed by its vibrant community allow for a broad range of use
|
9
|
-
cases beyond a traditional wiki.
|
10
|
-
|
11
|
-
# Usage
|
12
|
-
|
13
|
-
$ juju deploy cs:~adam-stokes/dokuwiki
|
14
|
-
|
15
|
-
## Login
|
16
|
-
|
17
|
-
Initial login and password are
|
18
|
-
|
19
|
-
username: admin
|
20
|
-
password: password
|
21
|
-
|
22
|
-
# Developing
|
23
|
-
|
24
|
-
## Setting up
|
25
|
-
|
26
|
-
As long as you have ruby and bundler installed you can do the following:
|
27
|
-
|
28
|
-
```
|
29
|
-
bundle install
|
30
|
-
bundle exec rake -T
|
31
|
-
```
|
32
|
-
|
33
|
-
All tasks are kept in **Rakefile** and are called via **hooks/{hook-name}**.
|
34
|
-
|
35
|
-
# Author
|
36
|
-
|
37
|
-
Adam Stokes <adam.stokes@ubuntu.com>
|
38
|
-
|
39
|
-
# Copyright
|
40
|
-
|
41
|
-
2016 Adam Stokes
|
42
|
-
|
43
|
-
# License
|
44
|
-
|
45
|
-
MIT
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# The below requires will pull in charmkit and its nginx and php plugins
|
2
|
-
# which are provided with the library.
|
3
|
-
require 'charmkit'
|
4
|
-
require 'charmkit/plugins/nginx'
|
5
|
-
require 'charmkit/plugins/php'
|
6
|
-
|
7
|
-
# The below require_relative will load a local task from tasks/vim.rb
|
8
|
-
require_relative "tasks/vim.rb"
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
app_path = path(config('app_path'))
|
13
|
-
|
14
|
-
namespace :dokuwiki do
|
15
|
-
|
16
|
-
desc "Install Dokuwiki"
|
17
|
-
# Notice that I set task dependencies on nginx, php, AND vim
|
18
|
-
# so that they get installed prior to installing dokuwiki
|
19
|
-
task :install => ["nginx:install", "php:install", "vim:install"] do
|
20
|
-
resource_path = `resource-get stable-release`.chomp
|
21
|
-
|
22
|
-
mkdir_p app_path unless app_path.directory?
|
23
|
-
|
24
|
-
run "tar", "xf", resource_path, "-C", app_path, "--strip-components=1"
|
25
|
-
|
26
|
-
cp "#{hook_path}/templates/acl.auth.php", "#{app_path}/conf/acl.auth.php"
|
27
|
-
cp "#{hook_path}/templates/local.php", "#{app_path}/conf/local.php"
|
28
|
-
cp "#{hook_path}/templates/plugins.local.php", "#{app_path}/conf/plugin.local.php"
|
29
|
-
|
30
|
-
version = File.read "#{app_path}/VERSION"
|
31
|
-
run "application-version-set", version.chomp
|
32
|
-
run "status-set", "active", "Dokuwiki Install finished."
|
33
|
-
end
|
34
|
-
|
35
|
-
desc "Configure Dokuwiki"
|
36
|
-
task :config_changed do
|
37
|
-
|
38
|
-
admin_user = `config-get admin_user`.chomp
|
39
|
-
admin_password = `config-get admin_password`.chomp
|
40
|
-
admin_name = `config-get admin_name`.chomp
|
41
|
-
admin_email = `config-get admin_email`.chomp
|
42
|
-
template "#{hook_path}/templates/users.auth.php",
|
43
|
-
"#{app_path}/conf/users.auth.php",
|
44
|
-
admin_user: admin_user,
|
45
|
-
admin_password: admin_password,
|
46
|
-
admin_name: admin_name,
|
47
|
-
admin_email: admin_email
|
48
|
-
|
49
|
-
public_address = `unit-get public-address`.chomp
|
50
|
-
template "#{hook_path}/templates/vhost.conf",
|
51
|
-
"/etc/nginx/sites-enabled/default",
|
52
|
-
public_address: public_address,
|
53
|
-
app_path: app_path
|
54
|
-
|
55
|
-
chown_R 'www-data', 'www-data', app_path
|
56
|
-
|
57
|
-
`systemctl restart php7.0-fpm`
|
58
|
-
`systemctl restart nginx`
|
59
|
-
`status-set active "Ready"`
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
task :default => 'dokuwiki:install'
|
@@ -1,21 +0,0 @@
|
|
1
|
-
options:
|
2
|
-
app_path:
|
3
|
-
type: string
|
4
|
-
default: "/srv/app"
|
5
|
-
description: "Where Dokuwiki will be installed"
|
6
|
-
admin_user:
|
7
|
-
type: string
|
8
|
-
default: admin
|
9
|
-
description: "Admin username (default: admin)"
|
10
|
-
admin_password:
|
11
|
-
type: string
|
12
|
-
default: "5f4dcc3b5aa765d61d8327deb882cf99"
|
13
|
-
description: "Admin password md5 hash format (default password: password)"
|
14
|
-
admin_name:
|
15
|
-
type: string
|
16
|
-
default: "The Admin"
|
17
|
-
description: Admin name
|
18
|
-
admin_email:
|
19
|
-
type: string
|
20
|
-
default: "admin@example.com"
|
21
|
-
description: Admin email
|
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2016 Adam Stokes <adam.stokes@ubuntu.com>
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
@@ -1,322 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
-
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
3
|
-
|
4
|
-
<svg
|
5
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
6
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
7
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
8
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
10
|
-
xmlns:xlink="http://www.w3.org/1999/xlink"
|
11
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
12
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
13
|
-
width="96"
|
14
|
-
height="96"
|
15
|
-
id="svg6517"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.91 r13725"
|
18
|
-
sodipodi:docname="icon.svg">
|
19
|
-
<defs
|
20
|
-
id="defs6519">
|
21
|
-
<linearGradient
|
22
|
-
id="Background">
|
23
|
-
<stop
|
24
|
-
id="stop4178"
|
25
|
-
offset="0"
|
26
|
-
style="stop-color:#b8b8b8;stop-opacity:1" />
|
27
|
-
<stop
|
28
|
-
id="stop4180"
|
29
|
-
offset="1"
|
30
|
-
style="stop-color:#c9c9c9;stop-opacity:1" />
|
31
|
-
</linearGradient>
|
32
|
-
<filter
|
33
|
-
style="color-interpolation-filters:sRGB;"
|
34
|
-
inkscape:label="Inner Shadow"
|
35
|
-
id="filter1121">
|
36
|
-
<feFlood
|
37
|
-
flood-opacity="0.59999999999999998"
|
38
|
-
flood-color="rgb(0,0,0)"
|
39
|
-
result="flood"
|
40
|
-
id="feFlood1123" />
|
41
|
-
<feComposite
|
42
|
-
in="flood"
|
43
|
-
in2="SourceGraphic"
|
44
|
-
operator="out"
|
45
|
-
result="composite1"
|
46
|
-
id="feComposite1125" />
|
47
|
-
<feGaussianBlur
|
48
|
-
in="composite1"
|
49
|
-
stdDeviation="1"
|
50
|
-
result="blur"
|
51
|
-
id="feGaussianBlur1127" />
|
52
|
-
<feOffset
|
53
|
-
dx="0"
|
54
|
-
dy="2"
|
55
|
-
result="offset"
|
56
|
-
id="feOffset1129" />
|
57
|
-
<feComposite
|
58
|
-
in="offset"
|
59
|
-
in2="SourceGraphic"
|
60
|
-
operator="atop"
|
61
|
-
result="composite2"
|
62
|
-
id="feComposite1131" />
|
63
|
-
</filter>
|
64
|
-
<filter
|
65
|
-
style="color-interpolation-filters:sRGB;"
|
66
|
-
inkscape:label="Drop Shadow"
|
67
|
-
id="filter950">
|
68
|
-
<feFlood
|
69
|
-
flood-opacity="0.25"
|
70
|
-
flood-color="rgb(0,0,0)"
|
71
|
-
result="flood"
|
72
|
-
id="feFlood952" />
|
73
|
-
<feComposite
|
74
|
-
in="flood"
|
75
|
-
in2="SourceGraphic"
|
76
|
-
operator="in"
|
77
|
-
result="composite1"
|
78
|
-
id="feComposite954" />
|
79
|
-
<feGaussianBlur
|
80
|
-
in="composite1"
|
81
|
-
stdDeviation="1"
|
82
|
-
result="blur"
|
83
|
-
id="feGaussianBlur956" />
|
84
|
-
<feOffset
|
85
|
-
dx="0"
|
86
|
-
dy="1"
|
87
|
-
result="offset"
|
88
|
-
id="feOffset958" />
|
89
|
-
<feComposite
|
90
|
-
in="SourceGraphic"
|
91
|
-
in2="offset"
|
92
|
-
operator="over"
|
93
|
-
result="composite2"
|
94
|
-
id="feComposite960" />
|
95
|
-
</filter>
|
96
|
-
<clipPath
|
97
|
-
clipPathUnits="userSpaceOnUse"
|
98
|
-
id="clipPath873">
|
99
|
-
<g
|
100
|
-
transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
|
101
|
-
id="g875"
|
102
|
-
inkscape:label="Layer 1"
|
103
|
-
style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
|
104
|
-
<path
|
105
|
-
style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
|
106
|
-
d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
|
107
|
-
id="path877"
|
108
|
-
inkscape:connector-curvature="0"
|
109
|
-
sodipodi:nodetypes="sssssssss" />
|
110
|
-
</g>
|
111
|
-
</clipPath>
|
112
|
-
<filter
|
113
|
-
inkscape:collect="always"
|
114
|
-
id="filter891"
|
115
|
-
inkscape:label="Badge Shadow">
|
116
|
-
<feGaussianBlur
|
117
|
-
inkscape:collect="always"
|
118
|
-
stdDeviation="0.71999962"
|
119
|
-
id="feGaussianBlur893" />
|
120
|
-
</filter>
|
121
|
-
</defs>
|
122
|
-
<sodipodi:namedview
|
123
|
-
id="base"
|
124
|
-
pagecolor="#ffffff"
|
125
|
-
bordercolor="#666666"
|
126
|
-
borderopacity="1.0"
|
127
|
-
inkscape:pageopacity="0.0"
|
128
|
-
inkscape:pageshadow="2"
|
129
|
-
inkscape:zoom="1"
|
130
|
-
inkscape:cx="39.339828"
|
131
|
-
inkscape:cy="216.87971"
|
132
|
-
inkscape:document-units="px"
|
133
|
-
inkscape:current-layer="layer1"
|
134
|
-
showgrid="false"
|
135
|
-
fit-margin-top="0"
|
136
|
-
fit-margin-left="0"
|
137
|
-
fit-margin-right="0"
|
138
|
-
fit-margin-bottom="0"
|
139
|
-
inkscape:window-width="1920"
|
140
|
-
inkscape:window-height="1043"
|
141
|
-
inkscape:window-x="1914"
|
142
|
-
inkscape:window-y="0"
|
143
|
-
inkscape:window-maximized="1"
|
144
|
-
showborder="true"
|
145
|
-
showguides="false"
|
146
|
-
inkscape:guide-bbox="true"
|
147
|
-
inkscape:showpageshadow="false"
|
148
|
-
inkscape:snap-bbox="true">
|
149
|
-
<inkscape:grid
|
150
|
-
type="xygrid"
|
151
|
-
id="grid821"
|
152
|
-
empspacing="5"
|
153
|
-
visible="true"
|
154
|
-
enabled="true"
|
155
|
-
snapvisiblegridlinesonly="true" />
|
156
|
-
<sodipodi:guide
|
157
|
-
orientation="1,0"
|
158
|
-
position="16,48"
|
159
|
-
id="guide823" />
|
160
|
-
<sodipodi:guide
|
161
|
-
orientation="0,1"
|
162
|
-
position="64,80"
|
163
|
-
id="guide825" />
|
164
|
-
<sodipodi:guide
|
165
|
-
orientation="1,0"
|
166
|
-
position="80,40"
|
167
|
-
id="guide827" />
|
168
|
-
<sodipodi:guide
|
169
|
-
orientation="0,1"
|
170
|
-
position="64,16"
|
171
|
-
id="guide829" />
|
172
|
-
</sodipodi:namedview>
|
173
|
-
<metadata
|
174
|
-
id="metadata6522">
|
175
|
-
<rdf:RDF>
|
176
|
-
<cc:Work
|
177
|
-
rdf:about="">
|
178
|
-
<dc:format>image/svg+xml</dc:format>
|
179
|
-
<dc:type
|
180
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
181
|
-
<dc:title />
|
182
|
-
</cc:Work>
|
183
|
-
</rdf:RDF>
|
184
|
-
</metadata>
|
185
|
-
<g
|
186
|
-
inkscape:label="BACKGROUND"
|
187
|
-
inkscape:groupmode="layer"
|
188
|
-
id="layer1"
|
189
|
-
transform="translate(268,-635.29076)"
|
190
|
-
style="display:inline">
|
191
|
-
<path
|
192
|
-
style="fill:#262a2d;fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
|
193
|
-
d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
|
194
|
-
id="path6455"
|
195
|
-
inkscape:connector-curvature="0"
|
196
|
-
sodipodi:nodetypes="sssssssss" />
|
197
|
-
<g
|
198
|
-
style="opacity:0.7"
|
199
|
-
id="g11"
|
200
|
-
transform="matrix(0.62044056,0,0,0.62044056,-314.18126,593.62097)">
|
201
|
-
<rect
|
202
|
-
style="fill:#dcf0f0"
|
203
|
-
x="112.197"
|
204
|
-
y="168.302"
|
205
|
-
width="31.702999"
|
206
|
-
height="15.852"
|
207
|
-
id="rect13" />
|
208
|
-
<rect
|
209
|
-
style="fill:#dcf0f0"
|
210
|
-
x="159.75"
|
211
|
-
y="168.302"
|
212
|
-
width="31.683001"
|
213
|
-
height="15.852"
|
214
|
-
id="rect15" />
|
215
|
-
<rect
|
216
|
-
style="fill:#dcf0f0"
|
217
|
-
x="112.173"
|
218
|
-
y="136.599"
|
219
|
-
width="79.269997"
|
220
|
-
height="15.852"
|
221
|
-
id="rect17" />
|
222
|
-
<rect
|
223
|
-
style="fill:#dcf0f0"
|
224
|
-
x="112.197"
|
225
|
-
y="104.898"
|
226
|
-
width="47.558998"
|
227
|
-
height="15.851"
|
228
|
-
id="rect19" />
|
229
|
-
<rect
|
230
|
-
style="fill:#dcf0f0"
|
231
|
-
x="175.60201"
|
232
|
-
y="104.898"
|
233
|
-
width="15.851"
|
234
|
-
height="15.851"
|
235
|
-
id="rect21" />
|
236
|
-
</g>
|
237
|
-
<image
|
238
|
-
width="70"
|
239
|
-
height="70"
|
240
|
-
preserveAspectRatio="none"
|
241
|
-
xlink:href="data:image/png;base64,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 "
|
242
|
-
id="image3437"
|
243
|
-
x="-254"
|
244
|
-
y="648.29077" />
|
245
|
-
</g>
|
246
|
-
<g
|
247
|
-
inkscape:groupmode="layer"
|
248
|
-
id="layer3"
|
249
|
-
inkscape:label="PLACE YOUR PICTOGRAM HERE"
|
250
|
-
style="display:inline" />
|
251
|
-
<g
|
252
|
-
inkscape:groupmode="layer"
|
253
|
-
id="layer2"
|
254
|
-
inkscape:label="BADGE"
|
255
|
-
style="display:none"
|
256
|
-
sodipodi:insensitive="true">
|
257
|
-
<g
|
258
|
-
style="display:inline"
|
259
|
-
transform="translate(-340.00001,-581)"
|
260
|
-
id="g4394"
|
261
|
-
clip-path="none">
|
262
|
-
<g
|
263
|
-
id="g855">
|
264
|
-
<g
|
265
|
-
inkscape:groupmode="maskhelper"
|
266
|
-
id="g870"
|
267
|
-
clip-path="url(#clipPath873)"
|
268
|
-
style="opacity:0.6;filter:url(#filter891)">
|
269
|
-
<path
|
270
|
-
transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
|
271
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
272
|
-
sodipodi:ry="12"
|
273
|
-
sodipodi:rx="12"
|
274
|
-
sodipodi:cy="552.36218"
|
275
|
-
sodipodi:cx="252"
|
276
|
-
id="path844"
|
277
|
-
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
278
|
-
sodipodi:type="arc" />
|
279
|
-
</g>
|
280
|
-
<g
|
281
|
-
id="g862">
|
282
|
-
<path
|
283
|
-
sodipodi:type="arc"
|
284
|
-
style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
285
|
-
id="path4398"
|
286
|
-
sodipodi:cx="252"
|
287
|
-
sodipodi:cy="552.36218"
|
288
|
-
sodipodi:rx="12"
|
289
|
-
sodipodi:ry="12"
|
290
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
291
|
-
transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
|
292
|
-
<path
|
293
|
-
transform="matrix(1.25,0,0,1.25,33,-100.45273)"
|
294
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
295
|
-
sodipodi:ry="12"
|
296
|
-
sodipodi:rx="12"
|
297
|
-
sodipodi:cy="552.36218"
|
298
|
-
sodipodi:cx="252"
|
299
|
-
id="path4400"
|
300
|
-
style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
301
|
-
sodipodi:type="arc" />
|
302
|
-
<path
|
303
|
-
sodipodi:type="star"
|
304
|
-
style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
305
|
-
id="path4459"
|
306
|
-
sodipodi:sides="5"
|
307
|
-
sodipodi:cx="666.19574"
|
308
|
-
sodipodi:cy="589.50385"
|
309
|
-
sodipodi:r1="7.2431178"
|
310
|
-
sodipodi:r2="4.3458705"
|
311
|
-
sodipodi:arg1="1.0471976"
|
312
|
-
sodipodi:arg2="1.6755161"
|
313
|
-
inkscape:flatsided="false"
|
314
|
-
inkscape:rounded="0.1"
|
315
|
-
inkscape:randomized="0"
|
316
|
-
d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 -0.18379,0.41279 0.0427,4.27917 -0.34859,4.5051 z"
|
317
|
-
transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
|
318
|
-
</g>
|
319
|
-
</g>
|
320
|
-
</g>
|
321
|
-
</g>
|
322
|
-
</svg>
|