86
86
assertXMLEqual(c, buf.Bytes(), []byte(`
87
87
<?xml version="1.0"?>
88
88
<!-- Generated by SVGo -->
89
<svg width="639" height="465"
90
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 639 465"
89
<svg width="631" height="457"
90
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 631 457"
91
91
xmlns="http://www.w3.org/2000/svg"
92
92
xmlns:xlink="http://www.w3.org/1999/xlink">
94
<g id="serviceBlock" transform="scale(0.8)" >`+assets.ServiceModule+`
97
<circle cx="10" cy="10" r="10" style="stroke:#38B44A;fill:none;stroke-width:2px"/>
98
<circle cx="10" cy="10" r="5" style="fill:#38B44A"/>
94
<g id="healthCircle" transform="scale(1.1)" >`+assets.RelationIconHealthy+`
100
96
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-1">
101
97
					<svg:image width="96" height="96" xlink:href="http://0.1.2.3/~juju-jitsu/precise/charmworld-58.svg"></svg:image>
102
				</svg:svg>
103
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-2">
98
				</svg:svg><svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-2">
104
99
					<svg:image width="96" height="96" xlink:href="http://0.1.2.3/~charming-devs/precise/elasticsearch-2.svg"></svg:image>
105
				</svg:svg>
106
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-3">
100
				</svg:svg><svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-3">
107
101
					<svg:image width="96" height="96" xlink:href="http://0.1.2.3/precise/mongodb-21.svg"></svg:image>
108
				</svg:svg>
102
				</svg:svg></defs>
110
103
<g id="relations">
111
<line x1="417" y1="189" x2="189" y2="351" stroke="#38B44A" stroke-width="2px" stroke-dasharray="129.85, 20" />
112
<use x="293" y="260" xlink:href="#healthCircle" />
113
<line x1="417" y1="189" x2="544" y2="276" stroke="#38B44A" stroke-width="2px" stroke-dasharray="66.97, 20" />
114
<use x="470" y="222" xlink:href="#healthCircle" />
105
<title>charmworld:essearch elasticsearch:essearch</title>
106
<line x1="413" y1="90" x2="90" y2="347" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="198.38, 16" />
107
<use x="243" y="210" xlink:href="#healthCircle" />
108
<circle cx="342" cy="146" r="4" fill="#a7a7a7" />
109
<circle cx="160" cy="290" r="4" fill="#a7a7a7" />
112
<title>charmworld:database mongodb:database</title>
113
<line x1="413" y1="90" x2="540" y2="366" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="143.91, 16" />
114
<use x="468" y="220" xlink:href="#healthCircle" />
115
<circle cx="450" cy="171" r="4" fill="#a7a7a7" />
116
<circle cx="502" cy="284" r="4" fill="#a7a7a7" />
116
119
<g id="services">
117
<use x="323" y="0" xlink:href="#serviceBlock" id="charmworld" />
118
<use x="369" y="46" xlink:href="#icon-1" width="96" height="96" />
119
<g style="font-size:18px;fill:#505050;text-anchor:middle">
120
<text x="417" y="31" >charmworld</text>
122
<use x="0" y="257" xlink:href="#serviceBlock" id="elasticsearch" />
123
<use x="46" y="303" xlink:href="#icon-2" width="96" height="96" />
124
<g style="font-size:18px;fill:#505050;text-anchor:middle">
125
<text x="94" y="288" >elasticsearch</text>
127
<use x="450" y="276" xlink:href="#serviceBlock" id="mongodb" />
128
<use x="496" y="322" xlink:href="#icon-3" width="96" height="96" />
129
<g style="font-size:18px;fill:#505050;text-anchor:middle">
130
<text x="544" y="307" >mongodb</text>
120
<g transform="translate(323,0)" >
121
<title>charmworld</title>
122
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
123
<circle cx="47" cy="49" r="45" id="service-icon-mask-charmworld" fill="none" />
124
<clipPath id="clip-charmworld" ><use x="0" y="0" xlink:href="#service-icon-mask-charmworld" />
126
<use x="0" y="0" xlink:href="#icon-1" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-charmworld)" />
127
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
128
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >charmworld</text>
130
<g transform="translate(0,257)" >
131
<title>elasticsearch</title>
132
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
133
<circle cx="47" cy="49" r="45" id="service-icon-mask-elasticsearch" fill="none" />
134
<clipPath id="clip-elasticsearch" ><use x="0" y="0" xlink:href="#service-icon-mask-elasticsearch" />
136
<use x="0" y="0" xlink:href="#icon-2" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-elasticsearch)" />
137
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
138
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >elasticsearch</text>
140
<g transform="translate(450,276)" >
141
<title>mongodb</title>
142
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
143
<circle cx="47" cy="49" r="45" id="service-icon-mask-mongodb" fill="none" />
144
<clipPath id="clip-mongodb" ><use x="0" y="0" xlink:href="#service-icon-mask-mongodb" />
146
<use x="0" y="0" xlink:href="#icon-3" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-mongodb)" />
147
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
148
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >mongodb</text>
151
169
assertXMLEqual(c, buf.Bytes(), []byte(`
152
170
<?xml version="1.0"?>
153
171
<!-- Generated by SVGo -->
154
<svg width="922" height="302"
155
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 922 302"
156
xmlns="http://www.w3.org/2000/svg"
157
xmlns:xlink="http://www.w3.org/1999/xlink">
172
<svg width="901" height="290"
173
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 901 290"
174
xmlns="http://www.w3.org/2000/svg"
175
xmlns:xlink="http://www.w3.org/1999/xlink">
159
<g id="serviceBlock" transform="scale(0.8)" >
161
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
162
width="235.958px" height="235.958px" viewBox="-143.979 -6 235.958 235.958" enable-background="new -143.979 -6 235.958 235.958"
163
xml:space="preserve">
164
<g id="Layer_1" inkscape:version="0.48.3.1 r9886" sodipodi:docname="service_module.svg" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
165
<g id="g33_1_" transform="translate(-399.571,-251.207)">
167
<path fill="#BBBBBB" d="M410.565,479.165h-73.988c-38.324,0-57.56,0-68.272-10.713c-10.712-10.713-10.712-29.949-10.712-68.273
168
v-73.986c-0.001-38.324-0.001-57.561,10.711-68.273c10.713-10.713,29.949-10.713,68.274-10.713h73.988
169
c38.324,0,57.561,0,68.272,10.713c10.713,10.712,10.713,29.949,10.713,68.273v73.986c0,38.324,0,57.561-10.713,68.273
170
C468.126,479.165,448.889,479.165,410.565,479.165z M336.577,257.207c-34.445,0-53.419,0-61.203,7.784
171
s-7.783,26.757-7.782,61.202v73.986c0,34.444,0,53.419,7.784,61.202c7.784,7.784,26.757,7.784,61.201,7.784h73.988
172
c34.444,0,53.418,0,61.202-7.784c7.783-7.783,7.783-26.758,7.783-61.202v-73.986c0-34.444,0-53.418-7.783-61.202
173
c-7.784-7.784-26.758-7.784-61.202-7.784H336.577z"/>
176
<path fill="#BBBBBB" d="M410.565,479.165h-73.988c-38.324,0-57.56,0-68.272-10.713c-10.712-10.713-10.712-29.949-10.712-68.273
177
v-73.986c0-38.324,0-57.561,10.712-68.273c10.713-10.713,29.949-10.713,68.272-10.713h73.988c38.324,0,57.561,0,68.272,10.713
178
c10.713,10.712,10.713,29.949,10.713,68.273v73.986c0,38.324,0,57.561-10.713,68.273
179
C468.126,479.165,448.889,479.165,410.565,479.165z M336.577,257.207c-34.444,0-53.417,0-61.201,7.784
180
s-7.784,26.758-7.784,61.202v73.986c0,34.444,0,53.419,7.784,61.202c7.784,7.784,26.757,7.784,61.201,7.784h73.988
181
c34.444,0,53.418,0,61.201-7.784c7.784-7.783,7.784-26.758,7.784-61.202v-73.986c0-34.444,0-53.418-7.784-61.202
182
c-7.783-7.784-26.757-7.784-61.201-7.784H336.577z"/>
185
<path fill-rule="evenodd" clip-rule="evenodd" fill="#BBBBBB" d="M-42,219.958h32c2.209,0,4,1.791,4,4v2c0,2.209-1.791,4-4,4h-32
186
c-2.209,0-4-1.791-4-4v-2C-46,221.749-44.209,219.958-42,219.958z"/>
187
<path fill-rule="evenodd" clip-rule="evenodd" fill="#BBBBBB" d="M-42-6h32c2.209,0,4,1.791,4,4v2c0,2.209-1.791,4-4,4h-32
188
c-2.209,0-4-1.791-4-4v-2C-46-4.209-44.209-6-42-6z"/>
189
<path fill-rule="evenodd" clip-rule="evenodd" fill="#BBBBBB" d="M81.979,127.979v-32c0-2.209,1.791-4,4-4h2c2.209,0,4,1.791,4,4
190
v32c0,2.209-1.791,4-4,4h-2C83.771,131.979,81.979,130.188,81.979,127.979z"/>
191
<path fill-rule="evenodd" clip-rule="evenodd" fill="#BBBBBB" d="M-143.979,127.979v-32c0-2.209,1.791-4,4-4h2c2.209,0,4,1.791,4,4
192
v32c0,2.209-1.791,4-4,4h-2C-142.188,131.979-143.979,130.188-143.979,127.979z"/>
193
<path fill="#FFFFFF" d="M10.994-1h-73.988c-73.987,0-73.987,0-73.985,73.986v73.986c0,73.986,0,73.986,73.985,73.986h73.988
194
c73.985,0,73.985,0,73.985-73.986V72.986C84.979-1,84.979-1,10.994-1z"/>
200
<g id="healthCircle">
201
<circle cx="10" cy="10" r="10" style="stroke:#38B44A;fill:none;stroke-width:2px"/>
202
<circle cx="10" cy="10" r="5" style="fill:#38B44A"/>
177
<g id="healthCircle" transform="scale(1.1)" >`+assets.RelationIconHealthy+`
204
179
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="icon-1">
205
180
					<svg:image width="96" height="96" xlink:href="http://0.1.2.3/~juju-jitsu/precise/charmworld-58.svg"></svg:image>
209
184
					<svg:image width="96" height="96" xlink:href="http://0.1.2.3/precise/mongodb-21.svg"></svg:image>
210
185
				</svg:svg></defs>
211
186
<g id="relations">
212
<line x1="733" y1="207" x2="189" y2="94" stroke="#38B44A" stroke-width="2px" stroke-dasharray="267.81, 20" />
213
<use x="451" y="140" xlink:href="#healthCircle" />
214
<line x1="733" y1="207" x2="639" y2="113" stroke="#38B44A" stroke-width="2px" stroke-dasharray="56.47, 20" />
215
<use x="676" y="150" xlink:href="#healthCircle" />
188
<title>charmworld:essearch elasticsearch:essearch</title>
189
<line x1="810" y1="199" x2="90" y2="90" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="356.10, 16" />
190
<use x="442" y="136" xlink:href="#healthCircle" />
191
<circle cx="721" cy="185" r="4" fill="#a7a7a7" />
192
<circle cx="178" cy="103" r="4" fill="#a7a7a7" />
195
<title>charmworld:database mongodb:database</title>
196
<line x1="810" y1="199" x2="540" y2="109" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="134.30, 16" />
197
<use x="667" y="146" xlink:href="#healthCircle" />
198
<circle cx="724" cy="170" r="4" fill="#a7a7a7" />
199
<circle cx="625" cy="137" r="4" fill="#a7a7a7" />
217
202
<g id="services">
218
<use x="733" y="113" xlink:href="#serviceBlock" id="charmworld" />
219
<use x="779" y="159" xlink:href="#icon-1" width="96" height="96" />
220
<g style="font-size:18px;fill:#505050;text-anchor:middle">
221
<text x="827" y="144" >charmworld</text>
223
<use x="0" y="0" xlink:href="#serviceBlock" id="elasticsearch" />
224
<use x="46" y="46" xlink:href="#icon-2" width="96" height="96" />
225
<g style="font-size:18px;fill:#505050;text-anchor:middle">
226
<text x="94" y="31" >elasticsearch</text>
228
<use x="450" y="19" xlink:href="#serviceBlock" id="mongodb" />
229
<use x="496" y="65" xlink:href="#icon-3" width="96" height="96" />
230
<g style="font-size:18px;fill:#505050;text-anchor:middle">
231
<text x="544" y="50" >mongodb</text>
203
<g transform="translate(720,109)" >
204
<title>charmworld</title>
205
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
206
<circle cx="47" cy="49" r="45" id="service-icon-mask-charmworld" fill="none" />
207
<clipPath id="clip-charmworld" ><use x="0" y="0" xlink:href="#service-icon-mask-charmworld" />
209
<use x="0" y="0" xlink:href="#icon-1" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-charmworld)" />
210
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
211
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >charmworld</text>
213
<g transform="translate(0,0)" >
214
<title>elasticsearch</title>
215
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
216
<circle cx="47" cy="49" r="45" id="service-icon-mask-elasticsearch" fill="none" />
217
<clipPath id="clip-elasticsearch" ><use x="0" y="0" xlink:href="#service-icon-mask-elasticsearch" />
219
<use x="0" y="0" xlink:href="#icon-2" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-elasticsearch)" />
220
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
221
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >elasticsearch</text>
223
<g transform="translate(450,19)" >
224
<title>mongodb</title>
225
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
226
<circle cx="47" cy="49" r="45" id="service-icon-mask-mongodb" fill="none" />
227
<clipPath id="clip-mongodb" ><use x="0" y="0" xlink:href="#service-icon-mask-mongodb" />
229
<use x="0" y="0" xlink:href="#icon-3" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-mongodb)" />
230
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
231
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >mongodb</text>
250
250
assertXMLEqual(c, buf.Bytes(), []byte(`
251
251
<?xml version="1.0"?>
252
252
<!-- Generated by SVGo -->
253
<svg width="639" height="465"
254
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 639 465"
253
<svg width="631" height="457"
254
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 631 457"
255
255
xmlns="http://www.w3.org/2000/svg"
256
256
xmlns:xlink="http://www.w3.org/1999/xlink">
258
<g id="serviceBlock" transform="scale(0.8)" >`+assets.ServiceModule+`
260
<g id="healthCircle">
261
<circle cx="10" cy="10" r="10" style="stroke:#38B44A;fill:none;stroke-width:2px"/>
262
<circle cx="10" cy="10" r="5" style="fill:#38B44A"/>
258
<g id="healthCircle" transform="scale(1.1)" >`+assets.RelationIconHealthy+`
265
261
<g id="relations">
266
<line x1="417" y1="189" x2="189" y2="351" stroke="#38B44A" stroke-width="2px" stroke-dasharray="129.85, 20" />
267
<use x="293" y="260" xlink:href="#healthCircle" />
268
<line x1="417" y1="189" x2="544" y2="276" stroke="#38B44A" stroke-width="2px" stroke-dasharray="66.97, 20" />
269
<use x="470" y="222" xlink:href="#healthCircle" />
263
<title>charmworld:essearch elasticsearch:essearch</title>
264
<line x1="413" y1="90" x2="90" y2="347" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="198.38, 16" />
265
<use x="243" y="210" xlink:href="#healthCircle" />
266
<circle cx="342" cy="146" r="4" fill="#a7a7a7" />
267
<circle cx="160" cy="290" r="4" fill="#a7a7a7" />
270
<title>charmworld:database mongodb:database</title>
271
<line x1="413" y1="90" x2="540" y2="366" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="143.91, 16" />
272
<use x="468" y="220" xlink:href="#healthCircle" />
273
<circle cx="450" cy="171" r="4" fill="#a7a7a7" />
274
<circle cx="502" cy="284" r="4" fill="#a7a7a7" />
271
277
<g id="services">
272
<use x="323" y="0" xlink:href="#serviceBlock" id="charmworld" />
273
<image x="369" y="46" width="96" height="96" xlink:href="http://0.1.2.3/~juju-jitsu/precise/charmworld-58.svg" />
274
<g style="font-size:18px;fill:#505050;text-anchor:middle">
275
<text x="417" y="31" >charmworld</text>
277
<use x="0" y="257" xlink:href="#serviceBlock" id="elasticsearch" />
278
<image x="46" y="303" width="96" height="96" xlink:href="http://0.1.2.3/~charming-devs/precise/elasticsearch-2.svg" />
279
<g style="font-size:18px;fill:#505050;text-anchor:middle">
280
<text x="94" y="288" >elasticsearch</text>
282
<use x="450" y="276" xlink:href="#serviceBlock" id="mongodb" />
283
<image x="496" y="322" width="96" height="96" xlink:href="http://0.1.2.3/precise/mongodb-21.svg" />
284
<g style="font-size:18px;fill:#505050;text-anchor:middle">
285
<text x="544" y="307" >mongodb</text>
278
<g transform="translate(323,0)" >
279
<title>charmworld</title>
280
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
281
<circle cx="47" cy="49" r="45" id="service-icon-mask-charmworld" fill="none" />
282
<clipPath id="clip-charmworld" ><use x="0" y="0" xlink:href="#service-icon-mask-charmworld" />
284
<image x="42" y="42" width="96" height="96" xlink:href="http://0.1.2.3/~juju-jitsu/precise/charmworld-58.svg" clip-path="url(#clip-charmworld)" />
285
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
286
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >charmworld</text>
288
<g transform="translate(0,257)" >
289
<title>elasticsearch</title>
290
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
291
<circle cx="47" cy="49" r="45" id="service-icon-mask-elasticsearch" fill="none" />
292
<clipPath id="clip-elasticsearch" ><use x="0" y="0" xlink:href="#service-icon-mask-elasticsearch" />
294
<image x="42" y="42" width="96" height="96" xlink:href="http://0.1.2.3/~charming-devs/precise/elasticsearch-2.svg" clip-path="url(#clip-elasticsearch)" />
295
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
296
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >elasticsearch</text>
298
<g transform="translate(450,276)" >
299
<title>mongodb</title>
300
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
301
<circle cx="47" cy="49" r="45" id="service-icon-mask-mongodb" fill="none" />
302
<clipPath id="clip-mongodb" ><use x="0" y="0" xlink:href="#service-icon-mask-mongodb" />
304
<image x="42" y="42" width="96" height="96" xlink:href="http://0.1.2.3/precise/mongodb-21.svg" clip-path="url(#clip-mongodb)" />
305
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
306
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >mongodb</text>
313
334
assertXMLEqual(c, buf.Bytes(), []byte(`
314
335
<?xml version="1.0"?>
315
336
<!-- Generated by SVGo -->
316
<svg width="639" height="465"
317
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 639 465"
337
<svg width="631" height="457"
338
style="font-family:Ubuntu, sans-serif;" viewBox="0 0 631 457"
318
339
xmlns="http://www.w3.org/2000/svg"
319
340
xmlns:xlink="http://www.w3.org/1999/xlink">
321
<g id="serviceBlock" transform="scale(0.8)" >`+assets.ServiceModule+`
323
<g id="healthCircle">
324
<circle cx="10" cy="10" r="10" style="stroke:#38B44A;fill:none;stroke-width:2px"/>
325
<circle cx="10" cy="10" r="5" style="fill:#38B44A"/>
327
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-1"></svg:svg>
328
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-2"></svg:svg>
329
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-3"></svg:svg>
342
<g id="healthCircle" transform="scale(1.1)" >`+assets.RelationIconHealthy+`
344
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-1"></svg:svg><svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-2"></svg:svg><svg:svg xmlns:svg="http://www.w3.org/2000/svg" id="icon-3"></svg:svg></defs>
331
345
<g id="relations">
332
<line x1="417" y1="189" x2="189" y2="351" stroke="#38B44A" stroke-width="2px" stroke-dasharray="129.85, 20" />
333
<use x="293" y="260" xlink:href="#healthCircle" />
334
<line x1="417" y1="189" x2="544" y2="276" stroke="#38B44A" stroke-width="2px" stroke-dasharray="66.97, 20" />
335
<use x="470" y="222" xlink:href="#healthCircle" />
347
<title>charmworld:essearch elasticsearch:essearch</title>
348
<line x1="413" y1="90" x2="90" y2="347" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="198.38, 16" />
349
<use x="243" y="210" xlink:href="#healthCircle" />
350
<circle cx="342" cy="146" r="4" fill="#a7a7a7" />
351
<circle cx="160" cy="290" r="4" fill="#a7a7a7" />
354
<title>charmworld:database mongodb:database</title>
355
<line x1="413" y1="90" x2="540" y2="366" stroke="#a7a7a7" stroke-width="1px" stroke-dasharray="143.91, 16" />
356
<use x="468" y="220" xlink:href="#healthCircle" />
357
<circle cx="450" cy="171" r="4" fill="#a7a7a7" />
358
<circle cx="502" cy="284" r="4" fill="#a7a7a7" />
337
361
<g id="services">
338
<use x="323" y="0" xlink:href="#serviceBlock" id="charmworld" />
339
<use x="369" y="46" xlink:href="#icon-1" width="96" height="96" />
340
<g style="font-size:18px;fill:#505050;text-anchor:middle">
341
<text x="417" y="31" >charmworld</text>
343
<use x="0" y="257" xlink:href="#serviceBlock" id="elasticsearch" />
344
<use x="46" y="303" xlink:href="#icon-2" width="96" height="96" />
345
<g style="font-size:18px;fill:#505050;text-anchor:middle">
346
<text x="94" y="288" >elasticsearch</text>
348
<use x="450" y="276" xlink:href="#serviceBlock" id="mongodb" />
349
<use x="496" y="322" xlink:href="#icon-3" width="96" height="96" />
350
<g style="font-size:18px;fill:#505050;text-anchor:middle">
351
<text x="544" y="307" >mongodb</text>
362
<g transform="translate(323,0)" >
363
<title>charmworld</title>
364
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
365
<circle cx="47" cy="49" r="45" id="service-icon-mask-charmworld" fill="none" />
366
<clipPath id="clip-charmworld" ><use x="0" y="0" xlink:href="#service-icon-mask-charmworld" />
368
<use x="0" y="0" xlink:href="#icon-1" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-charmworld)" />
369
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
370
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >charmworld</text>
372
<g transform="translate(0,257)" >
373
<title>elasticsearch</title>
374
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
375
<circle cx="47" cy="49" r="45" id="service-icon-mask-elasticsearch" fill="none" />
376
<clipPath id="clip-elasticsearch" ><use x="0" y="0" xlink:href="#service-icon-mask-elasticsearch" />
378
<use x="0" y="0" xlink:href="#icon-2" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-elasticsearch)" />
379
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
380
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >elasticsearch</text>
382
<g transform="translate(450,276)" >
383
<title>mongodb</title>
384
<circle cx="90" cy="90" r="90" class="service-block" fill="#f5f5f5" stroke="#888" stroke-width="1" />
385
<circle cx="47" cy="49" r="45" id="service-icon-mask-mongodb" fill="none" />
386
<clipPath id="clip-mongodb" ><use x="0" y="0" xlink:href="#service-icon-mask-mongodb" />
388
<use x="0" y="0" xlink:href="#icon-3" transform="translate(42,42)" width="96" height="96" clip-path="url(#clip-mongodb)" />
389
<rect x="0" y="135" width="180" height="32" rx="2" ry="2" fill="rgba(220, 220, 220, 0.8)" />
390
<text x="90" y="157" text-anchor="middle" style="font-weight:200" >mongodb</text>