@blockdia/scratch-blocks 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -0
- package/LICENSE +674 -0
- package/README.md +57 -0
- package/TRADEMARK +1 -0
- package/blockly_compressed_horizontal.js +2268 -0
- package/blockly_compressed_vertical.js +2296 -0
- package/blockly_uncompressed_horizontal.js +1212 -0
- package/blockly_uncompressed_vertical.js +1212 -0
- package/blocks_common/colour.js +61 -0
- package/blocks_common/math.js +159 -0
- package/blocks_common/matrix.js +54 -0
- package/blocks_common/note.js +58 -0
- package/blocks_common/text.js +57 -0
- package/blocks_compressed.js +37 -0
- package/blocks_compressed_horizontal.js +68 -0
- package/blocks_compressed_vertical.js +216 -0
- package/blocks_horizontal/control.js +212 -0
- package/blocks_horizontal/default_toolbox.js +139 -0
- package/blocks_horizontal/event.js +190 -0
- package/blocks_horizontal/wedo.js +325 -0
- package/blocks_vertical/control.js +532 -0
- package/blocks_vertical/data.js +666 -0
- package/blocks_vertical/default_toolbox.js +571 -0
- package/blocks_vertical/event.js +329 -0
- package/blocks_vertical/extensions.js +294 -0
- package/blocks_vertical/looks.js +591 -0
- package/blocks_vertical/motion.js +587 -0
- package/blocks_vertical/operators.js +470 -0
- package/blocks_vertical/procedures.js +1051 -0
- package/blocks_vertical/sensing.js +555 -0
- package/blocks_vertical/sound.js +246 -0
- package/blocks_vertical/vertical_extensions.js +289 -0
- package/build/gen_blocks.js +1 -0
- package/build/test_expect.js +1 -0
- package/build/test_input.js +1 -0
- package/build.py +647 -0
- package/cleanup.sh +101 -0
- package/core/block.js +1837 -0
- package/core/block_animations.js +107 -0
- package/core/block_drag_surface.js +299 -0
- package/core/block_dragger.js +424 -0
- package/core/block_events.js +531 -0
- package/core/block_render_svg_horizontal.js +892 -0
- package/core/block_render_svg_vertical.js +1734 -0
- package/core/block_svg.js +1355 -0
- package/core/blockly.js +620 -0
- package/core/blocks.js +37 -0
- package/core/bubble.js +664 -0
- package/core/bubble_dragger.js +285 -0
- package/core/colours.js +177 -0
- package/core/comment.js +293 -0
- package/core/comment_events.js +539 -0
- package/core/connection.js +776 -0
- package/core/connection_db.js +300 -0
- package/core/constants.js +408 -0
- package/core/contextmenu.js +534 -0
- package/core/css.js +1354 -0
- package/core/data_category.js +490 -0
- package/core/dragged_connection_manager.js +260 -0
- package/core/dropdowndiv.js +408 -0
- package/core/events.js +429 -0
- package/core/events_abstract.js +113 -0
- package/core/extensions.js +450 -0
- package/core/field.js +810 -0
- package/core/field_angle.js +410 -0
- package/core/field_checkbox.js +133 -0
- package/core/field_colour.js +253 -0
- package/core/field_colour_slider.js +387 -0
- package/core/field_date.js +353 -0
- package/core/field_dropdown.js +447 -0
- package/core/field_iconmenu.js +309 -0
- package/core/field_image.js +200 -0
- package/core/field_label.js +136 -0
- package/core/field_label_serializable.js +125 -0
- package/core/field_matrix.js +566 -0
- package/core/field_note.js +850 -0
- package/core/field_number.js +366 -0
- package/core/field_numberdropdown.js +77 -0
- package/core/field_textdropdown.js +164 -0
- package/core/field_textinput.js +675 -0
- package/core/field_textinput_removable.js +105 -0
- package/core/field_variable.js +385 -0
- package/core/field_variable_getter.js +185 -0
- package/core/field_vertical_separator.js +161 -0
- package/core/flyout_base.js +935 -0
- package/core/flyout_button.js +324 -0
- package/core/flyout_dragger.js +83 -0
- package/core/flyout_extension_category_header.js +159 -0
- package/core/flyout_horizontal.js +475 -0
- package/core/flyout_vertical.js +770 -0
- package/core/generator.js +426 -0
- package/core/gesture.js +1010 -0
- package/core/grid.js +227 -0
- package/core/icon.js +205 -0
- package/core/inject.js +496 -0
- package/core/input.js +285 -0
- package/core/insertion_marker_manager.js +678 -0
- package/core/intersection_observer.js +102 -0
- package/core/msg.js +62 -0
- package/core/mutator.js +426 -0
- package/core/names.js +198 -0
- package/core/options.js +244 -0
- package/core/procedures.js +739 -0
- package/core/rendered_connection.js +417 -0
- package/core/scratch_block_comment.js +646 -0
- package/core/scratch_blocks_utils.js +246 -0
- package/core/scratch_bubble.js +699 -0
- package/core/scratch_events.js +131 -0
- package/core/scratch_msgs.js +85 -0
- package/core/scrollbar.js +875 -0
- package/core/toolbox.js +803 -0
- package/core/tooltip.js +337 -0
- package/core/touch.js +226 -0
- package/core/trashcan.js +343 -0
- package/core/ui_events.js +91 -0
- package/core/ui_menu_utils.js +68 -0
- package/core/utils.js +825 -0
- package/core/variable_events.js +259 -0
- package/core/variable_map.js +415 -0
- package/core/variable_model.js +116 -0
- package/core/variables.js +674 -0
- package/core/warning.js +199 -0
- package/core/widgetdiv.js +344 -0
- package/core/workspace.js +673 -0
- package/core/workspace_audio.js +170 -0
- package/core/workspace_comment.js +426 -0
- package/core/workspace_comment_render_svg.js +706 -0
- package/core/workspace_comment_svg.js +609 -0
- package/core/workspace_drag_surface_svg.js +195 -0
- package/core/workspace_dragger.js +132 -0
- package/core/workspace_svg.js +2382 -0
- package/core/xml.js +930 -0
- package/core/zoom_controls.js +301 -0
- package/dist/horizontal.js +222 -0
- package/dist/vertical.js +222 -0
- package/dist/web/horizontal.js +232 -0
- package/dist/web/vertical.js +232 -0
- package/i18n/common.py +234 -0
- package/i18n/create_messages.py +162 -0
- package/i18n/create_scratch_msgs.js +69 -0
- package/i18n/dedup_json.py +73 -0
- package/i18n/js_to_json.js +46 -0
- package/i18n/js_to_json.py +136 -0
- package/i18n/json_to_js.js +52 -0
- package/i18n/json_to_js.py +185 -0
- package/i18n/sync_tx_translations.js +111 -0
- package/i18n/test_scratch_msgs.js +87 -0
- package/i18n/tests.py +47 -0
- package/i18n/xliff_to_json.py +232 -0
- package/local_build.sh +70 -0
- package/media/click.mp3 +0 -0
- package/media/click.ogg +0 -0
- package/media/click.wav +0 -0
- package/media/comment-arrow-down.svg +10 -0
- package/media/comment-arrow-up.svg +10 -0
- package/media/delete-x.svg +10 -0
- package/media/delete.mp3 +0 -0
- package/media/delete.ogg +0 -0
- package/media/delete.wav +0 -0
- package/media/dropdown-arrow-dark.svg +1 -0
- package/media/dropdown-arrow.svg +1 -0
- package/media/extensions/microbit-block-icon.svg +130 -0
- package/media/extensions/music-block-icon.svg +17 -0
- package/media/extensions/pen-block-icon.svg +19 -0
- package/media/extensions/wedo2-block-icon.svg +36 -0
- package/media/eyedropper.svg +22 -0
- package/media/green-flag.svg +17 -0
- package/media/handclosed.cur +0 -0
- package/media/handdelete.cur +0 -0
- package/media/handopen.cur +0 -0
- package/media/icons/arrow.svg +12 -0
- package/media/icons/arrow_button.svg +1 -0
- package/media/icons/control_forever.svg +1 -0
- package/media/icons/control_repeat.svg +1 -0
- package/media/icons/control_stop.svg +1 -0
- package/media/icons/control_wait.svg +1 -0
- package/media/icons/event_broadcast_blue.svg +1 -0
- package/media/icons/event_broadcast_coral.svg +1 -0
- package/media/icons/event_broadcast_green.svg +1 -0
- package/media/icons/event_broadcast_magenta.svg +1 -0
- package/media/icons/event_broadcast_orange.svg +1 -0
- package/media/icons/event_broadcast_purple.svg +1 -0
- package/media/icons/event_when-broadcast-received_blue.svg +1 -0
- package/media/icons/event_when-broadcast-received_coral.svg +1 -0
- package/media/icons/event_when-broadcast-received_green.svg +1 -0
- package/media/icons/event_when-broadcast-received_magenta.svg +1 -0
- package/media/icons/event_when-broadcast-received_orange.svg +1 -0
- package/media/icons/event_when-broadcast-received_purple.svg +1 -0
- package/media/icons/event_whenflagclicked.svg +1 -0
- package/media/icons/remove.svg +19 -0
- package/media/icons/set-led_blue.svg +1 -0
- package/media/icons/set-led_coral.svg +1 -0
- package/media/icons/set-led_green.svg +1 -0
- package/media/icons/set-led_magenta.svg +1 -0
- package/media/icons/set-led_mystery.svg +1 -0
- package/media/icons/set-led_orange.svg +1 -0
- package/media/icons/set-led_purple.svg +1 -0
- package/media/icons/set-led_white.svg +1 -0
- package/media/icons/set-led_yellow.svg +1 -0
- package/media/icons/wedo_motor-clockwise.svg +1 -0
- package/media/icons/wedo_motor-counterclockwise.svg +1 -0
- package/media/icons/wedo_motor-speed_fast.svg +1 -0
- package/media/icons/wedo_motor-speed_med.svg +1 -0
- package/media/icons/wedo_motor-speed_slow.svg +1 -0
- package/media/icons/wedo_when-distance_close.svg +1 -0
- package/media/icons/wedo_when-tilt-backward.svg +1 -0
- package/media/icons/wedo_when-tilt-forward.svg +1 -0
- package/media/icons/wedo_when-tilt-left.svg +1 -0
- package/media/icons/wedo_when-tilt-right.svg +1 -0
- package/media/icons/wedo_when-tilt.svg +1 -0
- package/media/repeat.svg +18 -0
- package/media/rotate-left.svg +1 -0
- package/media/rotate-right.svg +1 -0
- package/media/sprites.png +0 -0
- package/media/status-not-ready.svg +13 -0
- package/media/status-ready.svg +13 -0
- package/media/zoom-in.svg +1 -0
- package/media/zoom-out.svg +1 -0
- package/media/zoom-reset.svg +1 -0
- package/msg/js/en.js +290 -0
- package/msg/json/en.json +285 -0
- package/msg/messages.js +359 -0
- package/msg/scratch_msgs.js +22969 -0
- package/package.json +60 -0
- package/pull_from_blockly.sh +151 -0
- package/renovate.json5 +15 -0
- package/shim/blockly_compressed_horizontal-blocks_compressed.js +1 -0
- package/shim/blockly_compressed_horizontal.Blockly.js +1 -0
- package/shim/blockly_compressed_horizontal.goog.js +1 -0
- package/shim/blockly_compressed_horizontal.js +1 -0
- package/shim/blockly_compressed_vertical-blocks_compressed.js +1 -0
- package/shim/blockly_compressed_vertical.Blockly.js +1 -0
- package/shim/blockly_compressed_vertical.goog.js +1 -0
- package/shim/blockly_compressed_vertical.js +1 -0
- package/shim/blocks_compressed_horizontal-blockly_compressed_horizontal-messages.js +1 -0
- package/shim/blocks_compressed_horizontal.js +1 -0
- package/shim/blocks_compressed_vertical-blockly_compressed_vertical-messages.js +1 -0
- package/shim/blocks_compressed_vertical.js +1 -0
- package/shim/gh-pages.js +1 -0
- package/shim/horizontal.js +1 -0
- package/shim/index.js +17 -0
- package/shim/vertical.js +1 -0
- package/universal-python.js +82 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
#!/usr/bin/python
|
|
2
|
+
|
|
3
|
+
# Converts .xlf files into .json files for use at http://translatewiki.net.
|
|
4
|
+
#
|
|
5
|
+
# Copyright 2013 Google Inc.
|
|
6
|
+
# https://developers.google.com/blockly/
|
|
7
|
+
#
|
|
8
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
# you may not use this file except in compliance with the License.
|
|
10
|
+
# You may obtain a copy of the License at
|
|
11
|
+
#
|
|
12
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
#
|
|
14
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
# See the License for the specific language governing permissions and
|
|
18
|
+
# limitations under the License.
|
|
19
|
+
|
|
20
|
+
import argparse
|
|
21
|
+
import os
|
|
22
|
+
import re
|
|
23
|
+
import subprocess
|
|
24
|
+
import sys
|
|
25
|
+
from xml.dom import minidom
|
|
26
|
+
from common import InputError
|
|
27
|
+
from common import write_files
|
|
28
|
+
|
|
29
|
+
# Global variables
|
|
30
|
+
args = None # Parsed command-line arguments.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def _parse_trans_unit(trans_unit):
|
|
34
|
+
"""Converts a trans-unit XML node into a more convenient dictionary format.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
trans_unit: An XML representation of a .xlf translation unit.
|
|
38
|
+
|
|
39
|
+
Returns:
|
|
40
|
+
A dictionary with useful information about the translation unit.
|
|
41
|
+
The returned dictionary is guaranteed to have an entry for 'key' and
|
|
42
|
+
may have entries for 'source', 'target', 'description', and 'meaning'
|
|
43
|
+
if present in the argument.
|
|
44
|
+
|
|
45
|
+
Raises:
|
|
46
|
+
InputError: A required field was not present.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
def get_value(tag_name):
|
|
50
|
+
elts = trans_unit.getElementsByTagName(tag_name)
|
|
51
|
+
if not elts:
|
|
52
|
+
return None
|
|
53
|
+
elif len(elts) == 1:
|
|
54
|
+
return ''.join([child.toxml() for child in elts[0].childNodes])
|
|
55
|
+
else:
|
|
56
|
+
raise InputError('', 'Unable to extract ' + tag_name)
|
|
57
|
+
|
|
58
|
+
result = {}
|
|
59
|
+
key = trans_unit.getAttribute('id')
|
|
60
|
+
if not key:
|
|
61
|
+
raise InputError('', 'id attribute not found')
|
|
62
|
+
result['key'] = key
|
|
63
|
+
|
|
64
|
+
# Get source and target, if present.
|
|
65
|
+
try:
|
|
66
|
+
result['source'] = get_value('source')
|
|
67
|
+
result['target'] = get_value('target')
|
|
68
|
+
except InputError as e:
|
|
69
|
+
raise InputError(key, e.msg)
|
|
70
|
+
|
|
71
|
+
# Get notes, using the from value as key and the data as value.
|
|
72
|
+
notes = trans_unit.getElementsByTagName('note')
|
|
73
|
+
for note in notes:
|
|
74
|
+
from_value = note.getAttribute('from')
|
|
75
|
+
if from_value and len(note.childNodes) == 1:
|
|
76
|
+
result[from_value] = note.childNodes[0].data
|
|
77
|
+
else:
|
|
78
|
+
raise InputError(key, 'Unable to extract ' + from_value)
|
|
79
|
+
|
|
80
|
+
return result
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def _process_file(filename):
|
|
84
|
+
"""Builds list of translation units from input file.
|
|
85
|
+
|
|
86
|
+
Each translation unit in the input file includes:
|
|
87
|
+
- an id (opaquely generated by Soy)
|
|
88
|
+
- the Blockly name for the message
|
|
89
|
+
- the text in the source language (generally English)
|
|
90
|
+
- a description for the translator
|
|
91
|
+
|
|
92
|
+
The Soy and Blockly ids are joined with a hyphen and serve as the
|
|
93
|
+
keys in both output files. The value is the corresponding text (in the
|
|
94
|
+
<lang>.json file) or the description (in the qqq.json file).
|
|
95
|
+
|
|
96
|
+
Args:
|
|
97
|
+
filename: The name of an .xlf file produced by Closure.
|
|
98
|
+
|
|
99
|
+
Raises:
|
|
100
|
+
IOError: An I/O error occurred with an input or output file.
|
|
101
|
+
InputError: The input file could not be parsed or lacked required
|
|
102
|
+
fields.
|
|
103
|
+
|
|
104
|
+
Returns:
|
|
105
|
+
A list of dictionaries produced by parse_trans_unit().
|
|
106
|
+
"""
|
|
107
|
+
try:
|
|
108
|
+
results = [] # list of dictionaries (return value)
|
|
109
|
+
names = [] # list of names of encountered keys (local variable)
|
|
110
|
+
try:
|
|
111
|
+
parsed_xml = minidom.parse(filename)
|
|
112
|
+
except IOError:
|
|
113
|
+
# Don't get caught by below handler
|
|
114
|
+
raise
|
|
115
|
+
except Exception as e:
|
|
116
|
+
print()
|
|
117
|
+
raise InputError(filename, str(e))
|
|
118
|
+
|
|
119
|
+
# Make sure needed fields are present and non-empty.
|
|
120
|
+
for trans_unit in parsed_xml.getElementsByTagName('trans-unit'):
|
|
121
|
+
unit = _parse_trans_unit(trans_unit)
|
|
122
|
+
for key in ['description', 'meaning', 'source']:
|
|
123
|
+
if not key in unit or not unit[key]:
|
|
124
|
+
raise InputError(filename + ':' + unit['key'],
|
|
125
|
+
key + ' not found')
|
|
126
|
+
if unit['description'].lower() == 'ibid':
|
|
127
|
+
if unit['meaning'] not in names:
|
|
128
|
+
# If the term has not already been described, the use of 'ibid'
|
|
129
|
+
# is an error.
|
|
130
|
+
raise InputError(
|
|
131
|
+
filename,
|
|
132
|
+
'First encountered definition of: ' + unit['meaning']
|
|
133
|
+
+ ' has definition: ' + unit['description']
|
|
134
|
+
+ '. This error can occur if the definition was not'
|
|
135
|
+
+ ' provided on the first appearance of the message'
|
|
136
|
+
+ ' or if the source (English-language) messages differ.')
|
|
137
|
+
else:
|
|
138
|
+
# If term has already been described, 'ibid' was used correctly,
|
|
139
|
+
# and we output nothing.
|
|
140
|
+
pass
|
|
141
|
+
else:
|
|
142
|
+
if unit['meaning'] in names:
|
|
143
|
+
raise InputError(filename,
|
|
144
|
+
'Second definition of: ' + unit['meaning'])
|
|
145
|
+
names.append(unit['meaning'])
|
|
146
|
+
results.append(unit)
|
|
147
|
+
|
|
148
|
+
return results
|
|
149
|
+
except IOError as e:
|
|
150
|
+
print('Error with file {0}: {1}'.format(filename, e.strerror))
|
|
151
|
+
sys.exit(1)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def sort_units(units, templates):
|
|
155
|
+
"""Sorts the translation units by their definition order in the template.
|
|
156
|
+
|
|
157
|
+
Args:
|
|
158
|
+
units: A list of dictionaries produced by parse_trans_unit()
|
|
159
|
+
that have a non-empty value for the key 'meaning'.
|
|
160
|
+
templates: A string containing the Soy templates in which each of
|
|
161
|
+
the units' meanings is defined.
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
A new list of translation units, sorted by the order in which
|
|
165
|
+
their meaning is defined in the templates.
|
|
166
|
+
|
|
167
|
+
Raises:
|
|
168
|
+
InputError: If a meaning definition cannot be found in the
|
|
169
|
+
templates.
|
|
170
|
+
"""
|
|
171
|
+
def key_function(unit):
|
|
172
|
+
match = re.search(
|
|
173
|
+
'\\smeaning\\s*=\\s*"{0}"\\s'.format(unit['meaning']),
|
|
174
|
+
templates)
|
|
175
|
+
if match:
|
|
176
|
+
return match.start()
|
|
177
|
+
else:
|
|
178
|
+
raise InputError(args.templates,
|
|
179
|
+
'msg definition for meaning not found: ' +
|
|
180
|
+
unit['meaning'])
|
|
181
|
+
return sorted(units, key=key_function)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def main():
|
|
185
|
+
"""Parses arguments and processes the specified file.
|
|
186
|
+
|
|
187
|
+
Raises:
|
|
188
|
+
IOError: An I/O error occurred with an input or output file.
|
|
189
|
+
InputError: Input files lacked required fields.
|
|
190
|
+
"""
|
|
191
|
+
# Set up argument parser.
|
|
192
|
+
parser = argparse.ArgumentParser(description='Create translation files.')
|
|
193
|
+
parser.add_argument(
|
|
194
|
+
'--author',
|
|
195
|
+
default='Ellen Spertus <ellen.spertus@gmail.com>',
|
|
196
|
+
help='name and email address of contact for translators')
|
|
197
|
+
parser.add_argument('--lang', default='en',
|
|
198
|
+
help='ISO 639-1 source language code')
|
|
199
|
+
parser.add_argument('--output_dir', default='json',
|
|
200
|
+
help='relative directory for output files')
|
|
201
|
+
parser.add_argument('--xlf', help='file containing xlf definitions')
|
|
202
|
+
parser.add_argument('--templates', default=['template.soy'], nargs='+',
|
|
203
|
+
help='relative path to Soy templates, comma or space '
|
|
204
|
+
'separated (used for ordering messages)')
|
|
205
|
+
global args
|
|
206
|
+
args = parser.parse_args()
|
|
207
|
+
|
|
208
|
+
# Make sure output_dir ends with slash.
|
|
209
|
+
if (not args.output_dir.endswith(os.path.sep)):
|
|
210
|
+
args.output_dir += os.path.sep
|
|
211
|
+
|
|
212
|
+
# Process the input file, and sort the entries.
|
|
213
|
+
units = _process_file(args.xlf)
|
|
214
|
+
files = []
|
|
215
|
+
for arg in args.templates:
|
|
216
|
+
for filename in arg.split(','):
|
|
217
|
+
filename = filename.strip();
|
|
218
|
+
if filename:
|
|
219
|
+
with open(filename) as myfile:
|
|
220
|
+
files.append(' '.join(line.strip() for line in myfile))
|
|
221
|
+
sorted_units = sort_units(units, ' '.join(files))
|
|
222
|
+
|
|
223
|
+
# Write the output files.
|
|
224
|
+
write_files(args.author, args.lang, args.output_dir, sorted_units, True)
|
|
225
|
+
|
|
226
|
+
# Delete the input .xlf file.
|
|
227
|
+
os.remove(args.xlf)
|
|
228
|
+
print('Removed ' + args.xlf)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
if __name__ == '__main__':
|
|
232
|
+
main()
|
package/local_build.sh
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Locally build and compress the core Blockly files into a single JavaScript
|
|
4
|
+
# file.
|
|
5
|
+
#
|
|
6
|
+
# Copyright 2018 Google Inc.
|
|
7
|
+
# https://developers.google.com/blockly/
|
|
8
|
+
#
|
|
9
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
# you may not use this file except in compliance with the License.
|
|
11
|
+
# You may obtain a copy of the License at
|
|
12
|
+
#
|
|
13
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
#
|
|
15
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
# See the License for the specific language governing permissions and
|
|
19
|
+
# limitations under the License.
|
|
20
|
+
#
|
|
21
|
+
# Usage: local_build.sh.
|
|
22
|
+
#
|
|
23
|
+
# This script generates only local_blockly_compressed_vertical.js. You may
|
|
24
|
+
# modify it as needed to build other files.
|
|
25
|
+
#
|
|
26
|
+
# The compressed file is a concatenation of all of Scratch-Blocks's core files,
|
|
27
|
+
# run through a local copy of Google's Closure Compiler with simple
|
|
28
|
+
# optimizations turned on.
|
|
29
|
+
|
|
30
|
+
# Future work:
|
|
31
|
+
# - Trim down Google's Apache licenses, to match the output of build.py.
|
|
32
|
+
# - Generate other compressed files generated by build.py normally.
|
|
33
|
+
# - Add a good error message if multiple versions of the closure compiler were
|
|
34
|
+
# found.
|
|
35
|
+
# - Add a flag for generating horizontal (still default to vertical).
|
|
36
|
+
|
|
37
|
+
# Find the Closure Compiler.
|
|
38
|
+
if [ -f "$(npm root)/google-closure-compiler/compiler.jar" ]; then
|
|
39
|
+
COMPILER="$(npm root)/google-closure-compiler/compiler.jar"
|
|
40
|
+
elif [ -f closure-compiler*.jar ]; then
|
|
41
|
+
COMPILER="closure-compiler*.jar"
|
|
42
|
+
# TODO: Check whether multiple files were found.
|
|
43
|
+
else
|
|
44
|
+
echo "ERROR: Closure Compiler not found."
|
|
45
|
+
echo "Download from this URL, and place jar file in current directory."
|
|
46
|
+
echo "https://dl.google.com/closure-compiler/compiler-latest.zip"
|
|
47
|
+
exit 1
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
echo Using $COMPILER as the compiler.
|
|
51
|
+
rm local_blockly_compressed_vertical.js 2> /dev/null
|
|
52
|
+
echo Compiling Scratch-Blocks..
|
|
53
|
+
java -jar $COMPILER \
|
|
54
|
+
--js='core/**.js' \
|
|
55
|
+
--js='!core/block_render_svg_horizontal.js' \
|
|
56
|
+
--js='../closure-library/closure/goog/**.js' \
|
|
57
|
+
--js='../closure-library/third_party/closure/goog/**.js' \
|
|
58
|
+
--generate_exports \
|
|
59
|
+
--warning_level='DEFAULT' \
|
|
60
|
+
--compilation_level SIMPLE_OPTIMIZATIONS \
|
|
61
|
+
--dependency_mode=STRICT \
|
|
62
|
+
--entry_point=Blockly \
|
|
63
|
+
--js_output_file local_blockly_compressed_vertical.js
|
|
64
|
+
|
|
65
|
+
if [ -s local_blockly_compressed_vertical.js ]; then
|
|
66
|
+
echo Compilation OK.
|
|
67
|
+
else
|
|
68
|
+
echo Compilation FAIL.
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
package/media/click.mp3
ADDED
|
Binary file
|
package/media/click.ogg
ADDED
|
Binary file
|
package/media/click.wav
ADDED
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="-4.5 -6 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>dropdown-caret-up</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="dropdown-caret-up" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<path d="M6,9 C5.72520708,9 5.45163006,8.89695045 5.24127973,8.68965311 L2.31461357,5.80666227 C1.89512881,5.39326583 1.89512881,4.72464202 2.31461357,4.31004733 C2.73288244,3.89665089 9.26711756,3.89665089 9.68538643,4.31004733 C10.1048712,4.72344377 10.1048712,5.39326583 9.68538643,5.80666227 L6.75993617,8.68965311 C6.54958583,8.89695045 6.27600882,9 6,9" id="dropdown-caret" fill="#575E75"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="-4.5 -6 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>dropdown-caret-down</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="dropdown-caret-down" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<path d="M6,9 C5.72520708,9 5.45163006,8.89695045 5.24127973,8.68965311 L2.31461357,5.80666227 C1.89512881,5.39326583 1.89512881,4.72464202 2.31461357,4.31004733 C2.73288244,3.89665089 9.26711756,3.89665089 9.68538643,4.31004733 C10.1048712,4.72344377 10.1048712,5.39326583 9.68538643,5.80666227 L6.75993617,8.68965311 C6.54958583,8.89695045 6.27600882,9 6,9" id="dropdown-caret" fill="#575E75" transform="translate(6.000000, 6.500000) scale(1, -1) translate(-6.000000, -6.500000) "></path>
|
|
9
|
+
</g>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="-14 -10 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>delete-x</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="delete-x" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<path d="M10.8761123,10.87825 C10.2421123,11.52125 9.20511231,11.52125 8.56211231,10.87825 L5.92911231,8.24525 L3.29511231,10.87825 C2.65611231,11.51725 1.62011231,11.51725 0.981112306,10.87825 C0.662112306,10.55925 0.500112306,10.13725 0.500112306,9.72125 C0.500112306,9.30425 0.662112306,8.88325 0.981112306,8.56425 L3.61411231,5.93125 L0.977112306,3.29325 C0.657112306,2.97325 0.495112306,2.55225 0.500112306,2.13125 C0.500112306,1.71425 0.657112306,1.29825 0.977112306,0.97925 C1.61511231,0.34025 2.65111231,0.34025 3.29111231,0.97925 L5.92911231,3.61625 L8.56611231,0.97925 C9.20511231,0.34025 10.2421123,0.34025 10.8811123,0.97925 C11.5201123,1.61725 11.5201123,2.65425 10.8811123,3.29325 L8.24211231,5.93125 L10.8811123,8.56825 C11.5201123,9.20725 11.5201123,10.23425 10.8761123,10.87825" id="Fill-1" fill="#575E75"></path>
|
|
9
|
+
</g>
|
|
10
|
+
</svg>
|
package/media/delete.mp3
ADDED
|
Binary file
|
package/media/delete.ogg
ADDED
|
Binary file
|
package/media/delete.wav
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="12.71" height="8.79" viewBox="0 0 12.71 8.79"><title>dropdown-arrow</title><g opacity="0.1"><path d="M12.71,2.44A2.41,2.41,0,0,1,12,4.16L8.08,8.08a2.45,2.45,0,0,1-3.45,0L0.72,4.16A2.42,2.42,0,0,1,0,2.44,2.48,2.48,0,0,1,.71.71C1,0.47,1.43,0,6.36,0S11.75,0.46,12,.71A2.44,2.44,0,0,1,12.71,2.44Z" fill="#231f20"/></g><path d="M6.36,7.79a1.43,1.43,0,0,1-1-.42L1.42,3.45a1.44,1.44,0,0,1,0-2c0.56-.56,9.31-0.56,9.87,0a1.44,1.44,0,0,1,0,2L7.37,7.37A1.43,1.43,0,0,1,6.36,7.79Z" fill="#575E75"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="12.71" height="8.79" viewBox="0 0 12.71 8.79"><title>dropdown-arrow</title><g opacity="0.1"><path d="M12.71,2.44A2.41,2.41,0,0,1,12,4.16L8.08,8.08a2.45,2.45,0,0,1-3.45,0L0.72,4.16A2.42,2.42,0,0,1,0,2.44,2.48,2.48,0,0,1,.71.71C1,0.47,1.43,0,6.36,0S11.75,0.46,12,.71A2.44,2.44,0,0,1,12.71,2.44Z" fill="#231f20"/></g><path d="M6.36,7.79a1.43,1.43,0,0,1-1-.42L1.42,3.45a1.44,1.44,0,0,1,0-2c0.56-.56,9.31-0.56,9.87,0a1.44,1.44,0,0,1,0,2L7.37,7.37A1.43,1.43,0,0,1,6.36,7.79Z" fill="#fff"/></svg>
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
+
width="32px"
|
|
11
|
+
height="32px"
|
|
12
|
+
viewBox="0 0 32 32"
|
|
13
|
+
version="1.1"
|
|
14
|
+
id="svg2"
|
|
15
|
+
inkscape:version="0.48.5 r10040"
|
|
16
|
+
sodipodi:docname="icon--add-wedo.svg">
|
|
17
|
+
<metadata
|
|
18
|
+
id="metadata35">
|
|
19
|
+
<rdf:RDF>
|
|
20
|
+
<cc:Work
|
|
21
|
+
rdf:about="">
|
|
22
|
+
<dc:format>image/svg+xml</dc:format>
|
|
23
|
+
<dc:type
|
|
24
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
25
|
+
<dc:title>wedo-add-button</dc:title>
|
|
26
|
+
</cc:Work>
|
|
27
|
+
</rdf:RDF>
|
|
28
|
+
</metadata>
|
|
29
|
+
<sodipodi:namedview
|
|
30
|
+
pagecolor="#0300ff"
|
|
31
|
+
bordercolor="#666666"
|
|
32
|
+
borderopacity="1"
|
|
33
|
+
objecttolerance="10"
|
|
34
|
+
gridtolerance="10"
|
|
35
|
+
guidetolerance="10"
|
|
36
|
+
inkscape:pageopacity="0"
|
|
37
|
+
inkscape:pageshadow="2"
|
|
38
|
+
inkscape:window-width="1356"
|
|
39
|
+
inkscape:window-height="782"
|
|
40
|
+
id="namedview33"
|
|
41
|
+
showgrid="false"
|
|
42
|
+
inkscape:zoom="10.429825"
|
|
43
|
+
inkscape:cx="10.763285"
|
|
44
|
+
inkscape:cy="18.198471"
|
|
45
|
+
inkscape:window-x="76"
|
|
46
|
+
inkscape:window-y="13"
|
|
47
|
+
inkscape:window-maximized="0"
|
|
48
|
+
inkscape:current-layer="svg2" />
|
|
49
|
+
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
|
|
50
|
+
<title
|
|
51
|
+
id="title4">wedo-add-button</title>
|
|
52
|
+
<desc
|
|
53
|
+
id="desc6">Created with Sketch.</desc>
|
|
54
|
+
<defs
|
|
55
|
+
id="defs8">
|
|
56
|
+
<path
|
|
57
|
+
d="M2,1.00752069 C2,0.451082376 2.45303631,0 2.99703014,0 L9.00296986,0 C9.5536144,0 10,0.442541372 10,1.00752069 L10,3.99267578 L2,3.99267578 L2,1.00752069 Z"
|
|
58
|
+
id="path-1" />
|
|
59
|
+
<path
|
|
60
|
+
d="M14,1.00752069 C14,0.451082376 14.4530363,0 14.9970301,0 L21.0029699,0 C21.5536144,0 22,0.442541372 22,1.00752069 L22,3.99267578 L14,3.99267578 L14,1.00752069 Z"
|
|
61
|
+
id="path-2" />
|
|
62
|
+
<rect
|
|
63
|
+
id="path-3"
|
|
64
|
+
x="0"
|
|
65
|
+
y="4"
|
|
66
|
+
width="24"
|
|
67
|
+
height="16"
|
|
68
|
+
rx="1" />
|
|
69
|
+
</defs>
|
|
70
|
+
<g
|
|
71
|
+
id="g3963"
|
|
72
|
+
transform="translate(0.17521071,29.898305)">
|
|
73
|
+
<rect
|
|
74
|
+
style="opacity:0.12000002;fill:none;stroke:#000000;stroke-width:3.74534345;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
75
|
+
id="rect3937"
|
|
76
|
+
width="25.859743"
|
|
77
|
+
height="14.334317"
|
|
78
|
+
x="2.8949177"
|
|
79
|
+
y="-21.065464"
|
|
80
|
+
rx="7.2730522" />
|
|
81
|
+
<rect
|
|
82
|
+
rx="6.5593219"
|
|
83
|
+
y="-20.067797"
|
|
84
|
+
x="4.1637712"
|
|
85
|
+
height="12.338983"
|
|
86
|
+
width="23.322035"
|
|
87
|
+
id="rect3935"
|
|
88
|
+
style="fill:none;stroke:#ffffff;stroke-width:3.29999995;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
|
89
|
+
<path
|
|
90
|
+
sodipodi:type="arc"
|
|
91
|
+
style="opacity:0.12000002;fill:#000000;fill-opacity:1;stroke:none"
|
|
92
|
+
id="path3959"
|
|
93
|
+
sodipodi:cx="12.542373"
|
|
94
|
+
sodipodi:cy="-13.491526"
|
|
95
|
+
sodipodi:rx="1.559322"
|
|
96
|
+
sodipodi:ry="1.559322"
|
|
97
|
+
d="m 14.101695,-13.491526 c 0,0.86119 -0.698133,1.559322 -1.559322,1.559322 -0.86119,0 -1.559322,-0.698132 -1.559322,-1.559322 0,-0.861189 0.698132,-1.559322 1.559322,-1.559322 0.861189,0 1.559322,0.698133 1.559322,1.559322 z"
|
|
98
|
+
transform="matrix(1.4304128,0,0,1.4304128,-7.4264489,5.4001468)" />
|
|
99
|
+
<path
|
|
100
|
+
transform="translate(-2.0280507,-0.40677897)"
|
|
101
|
+
d="m 14.101695,-13.491526 c 0,0.86119 -0.698133,1.559322 -1.559322,1.559322 -0.86119,0 -1.559322,-0.698132 -1.559322,-1.559322 0,-0.861189 0.698132,-1.559322 1.559322,-1.559322 0.861189,0 1.559322,0.698133 1.559322,1.559322 z"
|
|
102
|
+
sodipodi:ry="1.559322"
|
|
103
|
+
sodipodi:rx="1.559322"
|
|
104
|
+
sodipodi:cy="-13.491526"
|
|
105
|
+
sodipodi:cx="12.542373"
|
|
106
|
+
id="path3945"
|
|
107
|
+
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
|
108
|
+
sodipodi:type="arc" />
|
|
109
|
+
<path
|
|
110
|
+
transform="matrix(1.4304128,0,0,1.4304128,3.1945515,5.4001464)"
|
|
111
|
+
d="m 14.101695,-13.491526 c 0,0.86119 -0.698133,1.559322 -1.559322,1.559322 -0.86119,0 -1.559322,-0.698132 -1.559322,-1.559322 0,-0.861189 0.698132,-1.559322 1.559322,-1.559322 0.861189,0 1.559322,0.698133 1.559322,1.559322 z"
|
|
112
|
+
sodipodi:ry="1.559322"
|
|
113
|
+
sodipodi:rx="1.559322"
|
|
114
|
+
sodipodi:cy="-13.491526"
|
|
115
|
+
sodipodi:cx="12.542373"
|
|
116
|
+
id="path3961"
|
|
117
|
+
style="opacity:0.12000002;fill:#000000;fill-opacity:1;stroke:none"
|
|
118
|
+
sodipodi:type="arc" />
|
|
119
|
+
<path
|
|
120
|
+
sodipodi:type="arc"
|
|
121
|
+
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
|
122
|
+
id="path3947"
|
|
123
|
+
sodipodi:cx="12.542373"
|
|
124
|
+
sodipodi:cy="-13.491526"
|
|
125
|
+
sodipodi:rx="1.559322"
|
|
126
|
+
sodipodi:ry="1.559322"
|
|
127
|
+
d="m 14.101695,-13.491526 c 0,0.86119 -0.698133,1.559322 -1.559322,1.559322 -0.86119,0 -1.559322,-0.698132 -1.559322,-1.559322 0,-0.861189 0.698132,-1.559322 1.559322,-1.559322 0.861189,0 1.559322,0.698133 1.559322,1.559322 z"
|
|
128
|
+
transform="translate(8.5929493,-0.40677897)" />
|
|
129
|
+
</g>
|
|
130
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 47.1 (45422) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>music-block-icon</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs>
|
|
7
|
+
<path d="M32.179206,25.8739208 C32.6367303,28.1567449 30.5131455,29.9998773 27.4339971,29.9998773 C24.3647303,29.9998773 21.5108854,28.1567449 21.0622546,25.8739208 C20.6037421,23.5891115 22.7273269,21.7380389 25.8054872,21.7380389 C26.4517526,21.7380389 27.0881363,21.8224042 27.695863,21.9722765 C28.0328302,22.0576343 28.3322467,22.1519249 28.6326515,22.2740063 C29.5022441,22.2541557 28.5288932,19.9802643 26.7976133,10.0450167 C24.6641469,-2.25841293 29.8579865,8.17508593 35.5656764,7.29173224 C41.2743545,6.40738602 35.6417658,12.1124613 31.9163518,11.1358096 C28.1919261,10.1492325 27.2660076,3.98262977 32.179206,25.8739208 Z M15.1819287,31.8640908 C15.6303634,34.1479226 13.5067189,36 10.4387935,36 C7.37086801,36 4.51827022,34.1479226 4.05995811,31.8640908 C3.61152342,29.580259 5.73418015,27.7291742 8.81099529,27.7291742 C9.81256529,27.7291742 10.784503,27.9256968 11.6645808,28.2730854 C12.4873696,28.2175032 11.5154318,25.895955 9.80268788,16.0450074 C7.67015372,3.74248891 12.8617237,14.1740717 18.5669193,13.2917047 C24.2731026,12.3984198 18.6429754,18.1134582 14.9191895,17.1258821 C11.1963913,16.1392986 10.2708774,9.97364751 15.1819287,31.8640908 Z" id="path-1"></path>
|
|
8
|
+
</defs>
|
|
9
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
10
|
+
<g id="music-block-icon">
|
|
11
|
+
<g id="music">
|
|
12
|
+
<use fill="#FFFFFF" fill-rule="evenodd" xlink:href="#path-1"></use>
|
|
13
|
+
<path stroke-opacity="0.1" stroke="#000000" stroke-width="1" d="M28.4556415,21.6745421 C28.4474055,21.3634794 28.369363,20.8496307 28.1995784,19.9728414 C28.1037431,19.4779354 27.5879591,16.9509031 27.4466594,16.2422025 C27.0518671,14.2620888 26.6870914,12.323342 26.3049652,10.1304439 C25.5725555,5.90673049 25.6122037,4.07922905 26.648684,3.60349339 C27.1506216,3.37310831 27.7097758,3.52166387 28.4906566,3.95241253 C28.9041424,4.18049917 30.6720146,5.31826586 30.5601951,5.24852558 C32.5537086,6.49185204 34.0240028,7.02437753 35.4891331,6.79762586 C37.0155215,6.56116905 37.9944288,6.73774774 38.3662137,7.41639935 C38.7139096,8.0510791 38.381158,8.83164591 37.6373333,9.59688636 C36.1644488,11.1121773 33.6607258,12.1100097 31.7883207,11.6191397 C30.9659276,11.4012929 30.5502283,11.1552429 29.4079363,10.3531635 C29.3743484,10.3295792 29.3427713,10.3076886 29.3131966,10.2874416 C29.3597256,10.8802721 29.5768269,12.0269787 30.0299858,14.0896776 C30.3236231,15.4262624 32.1088669,23.2772929 32.6670697,25.7644265 L32.6694567,25.7756646 C33.1980454,28.4130656 30.7966941,30.4998773 27.4339971,30.4998773 C24.1430884,30.4998773 21.0712009,28.5123215 20.5720284,25.9722987 C20.0422841,23.3325351 22.4445945,21.2380389 25.8054872,21.2380389 C26.4765406,21.2380389 27.152289,21.323245 27.818641,21.4875853 C28.0470648,21.5454478 28.2557264,21.6064234 28.4556415,21.6745421 Z M11.4603834,27.6660525 C11.449493,27.3473764 11.3687107,26.8265433 11.1936814,25.9278972 C11.1041405,25.4681708 10.5986562,22.9911462 10.4414905,22.2012718 C10.0512987,20.2402689 9.68884553,18.3091587 9.31003453,16.1304045 C8.57791398,11.9068255 8.61757452,10.0794272 9.65375704,9.60365326 C10.1556415,9.37320778 10.7146942,9.52176496 11.4953768,9.95251918 C11.9087466,10.1806026 13.6762672,11.3184675 13.5642028,11.2485539 C15.5566657,12.4915907 17.0261524,13.0240555 18.4895877,12.7977211 C20.0154534,12.5588516 20.994354,12.7339691 21.366342,13.41244 C21.7140891,14.0466977 21.3813991,14.827334 20.6379048,15.592574 C19.1643383,17.1092393 16.6614771,18.1052349 14.7911052,17.6091982 C13.9690525,17.3913449 13.5538673,17.1455182 12.4116989,16.3433357 C12.3782724,16.3198592 12.3468384,16.2980617 12.3173888,16.2778937 C12.3638944,16.8707911 12.5809055,18.0175387 13.0338708,20.0802326 C13.3275254,21.4174647 15.1123026,29.2696498 15.6698018,31.754638 L15.6725603,31.7677544 C16.1904939,34.4055374 13.7886493,36.5 10.4387935,36.5 C7.15343223,36.5 4.08027866,34.5065931 3.56932659,31.9604272 C3.05115654,29.3214405 5.4536949,27.2291742 8.81099529,27.2291742 C9.71504274,27.2291742 10.6128764,27.3796016 11.4603834,27.6660525 Z"></path>
|
|
14
|
+
</g>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>pen-icon</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
|
|
8
|
+
<g id="pen-icon" stroke="#575E75">
|
|
9
|
+
<g transform="translate(4.000000, 4.000000)">
|
|
10
|
+
<path d="M4.7529,30.6025 L0.5019,32.3805 L2.2859,28.1445 C3.5039,25.2535 5.1929,22.7225 7.3159,20.6075 L27.0669,0.9295 C27.9119,0.0875 29.7169,0.5205 31.0979,1.8965 C32.4789,3.2725 32.9139,5.0705 32.0679,5.9125 L12.3179,25.5905 C10.1949,27.7055 7.6539,29.3885 4.7529,30.6025" id="Fill-1" fill="#FFFFFF"></path>
|
|
11
|
+
<path d="M25.4092,2.1113 C25.4092,2.1113 20.9602,-0.2677 17.2082,7.8823 C15.4742,11.6483 12.8582,9.4283 12.8582,9.4283" id="Stroke-5"></path>
|
|
12
|
+
<path d="M32.4209,4.8251 C32.4209,5.2881 32.2799,5.6981 31.9879,5.9891 L22.6529,15.2901 C22.9349,14.9991 23.0639,14.6221 23.0639,14.1691 C23.0639,13.2961 22.5559,12.2071 21.6569,11.3021 C20.2949,9.9441 18.5099,9.5021 17.6549,10.3111 L26.9899,1.0101 C27.8339,0.1691 29.6409,0.6001 31.0249,1.9691 C31.9229,2.8741 32.4209,3.9521 32.4209,4.8251" id="Fill-7" fill="#4C97FF"></path>
|
|
13
|
+
<path d="M6.5146,29.7739 C5.9416,30.0759 5.3576,30.3449 4.7506,30.6039 L0.4996,32.3819 L2.2856,28.1469 C2.5436,27.5429 2.8146,26.9609 3.1186,26.3899 C3.8096,26.5729 4.5676,27.0149 5.2276,27.6719 C5.8866,28.3299 6.3296,29.0839 6.5146,29.7739" id="Fill-11" fill="#4C97FF"></path>
|
|
14
|
+
<path d="M32.498,4.7485 C32.498,5.2115 32.357,5.6215 32.065,5.9125 L12.323,25.5925 C10.192,27.7045 7.65,29.3855 4.751,30.6035 L0.5,32.3815 L1.474,30.0645 L3.399,29.2565 C6.298,28.0385 8.84,26.3575 10.971,24.2455 L30.713,4.5655 C31.005,4.2745 31.145,3.8645 31.145,3.4015 C31.145,2.7545 30.875,2.0005 30.366,1.2785 C30.615,1.4505 30.864,1.6555 31.102,1.8925 C32,2.7975 32.498,3.8755 32.498,4.7485" id="Fill-15" fill="#575E75" opacity="0.15"></path>
|
|
15
|
+
<path d="M14.4502,8.831 C14.4502,9.33 14.0462,9.735 13.5462,9.735 C13.0472,9.735 12.6412,9.33 12.6412,8.831 C12.6412,8.331 13.0472,7.927 13.5462,7.927 C14.0462,7.927 14.4502,8.331 14.4502,8.831 Z" id="Stroke-22" fill="#575E75"></path>
|
|
16
|
+
</g>
|
|
17
|
+
</g>
|
|
18
|
+
</g>
|
|
19
|
+
</svg>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>wedo2-block-icon</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<g id="wedo2-block-icon">
|
|
9
|
+
<g transform="translate(1.000000, 8.000000)">
|
|
10
|
+
<path d="M34.3129805,2.46697115 L31.0885415,2.46697115 L31.0885415,0.864527244 C31.0885415,0.641530449 31.2711268,0.460921474 31.4954195,0.460921474 L33.9070293,0.460921474 C34.131322,0.460921474 34.3129805,0.641530449 34.3129805,0.864527244 L34.3129805,2.46697115 Z" id="Stroke-3" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
11
|
+
<path d="M29.4774341,2.46697115 L26.2529951,2.46697115 L26.2529951,0.864527244 C26.2529951,0.641530449 26.4355805,0.460921474 26.6598732,0.460921474 L29.0714829,0.460921474 C29.2957756,0.460921474 29.4774341,0.641530449 29.4774341,0.864527244 L29.4774341,2.46697115 Z" id="Stroke-7" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
12
|
+
<path d="M24.6414244,2.46697115 L21.4179122,2.46697115 L21.4179122,0.864527244 C21.4179122,0.641530449 21.5995707,0.460921474 21.8238634,0.460921474 L24.2354732,0.460921474 C24.4597659,0.460921474 24.6414244,0.641530449 24.6414244,0.864527244 L24.6414244,2.46697115 Z" id="Stroke-11" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
13
|
+
<path d="M19.805878,2.46697115 L16.5823659,2.46697115 L16.5823659,0.864527244 C16.5823659,0.641530449 16.7640244,0.460921474 16.9883171,0.460921474 L19.3999268,0.460921474 C19.6242195,0.460921474 19.805878,0.641530449 19.805878,0.864527244 L19.805878,2.46697115 Z" id="Stroke-15" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
14
|
+
<path d="M14.9703317,2.46697115 L11.7458927,2.46697115 L11.7458927,0.864527244 C11.7458927,0.641530449 11.928478,0.460921474 12.1527707,0.460921474 L14.5643805,0.460921474 C14.7886732,0.460921474 14.9703317,0.641530449 14.9703317,0.864527244 L14.9703317,2.46697115 Z" id="Stroke-19" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
15
|
+
<path d="M10.1347854,2.46697115 L6.91034634,2.46697115 L6.91034634,0.864527244 C6.91034634,0.641530449 7.09293171,0.460921474 7.31722439,0.460921474 L9.72883415,0.460921474 C9.95312683,0.460921474 10.1347854,0.641530449 10.1347854,0.864527244 L10.1347854,2.46697115 Z" id="Stroke-23" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
16
|
+
<path d="M36.7304293,2.46697115 L5.29886829,2.46697115 C2.62867317,2.46697115 0.4636,4.61953526 0.4636,7.27522436 L0.4636,10.4801122 L37.5367707,10.4801122 L37.5367707,3.26865385 C37.5367707,2.82634615 37.1753073,2.46697115 36.7304293,2.46697115 Z" id="Stroke-27" stroke="#6F7893" fill="#FFFFFF" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
17
|
+
<path d="M37.1336927,22.9801883 L0.866863415,22.9801883 C0.643497561,22.9801883 0.463692683,22.8005008 0.463692683,22.579347 L0.463692683,8.23659856 L33.1733512,8.23659856 C33.9027659,8.23659856 34.602522,8.52409856 35.1187659,9.03828125 C35.6350098,9.55062099 36.3347659,9.83904247 37.0641805,9.83904247 L37.5368634,9.83904247 L37.5368634,22.579347 C37.5368634,22.8005008 37.3561317,22.9801883 37.1336927,22.9801883 Z" id="Stroke-31" stroke="#6F7893" fill="#E6E7E8" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
18
|
+
<polyline id="Stroke-33" stroke="#6F7893" stroke-linecap="round" stroke-linejoin="round" points="33.8291756 8.23659856 34.3129805 5.67213542 37.5364927 5.67213542"></polyline>
|
|
19
|
+
<path d="M37.5364927,3.2683774 L37.5364927,22.5797155 C37.5364927,22.8008694 37.3566878,22.9805569 37.133322,22.9805569 L0.866492683,22.9805569 C0.644980488,22.9805569 0.463321951,22.7999479 0.463321951,22.5797155 L0.463321951,21.3771915 L34.7448829,21.3771915 C35.3964439,21.3771915 35.9247366,20.8528726 35.9247366,20.2041546 L35.9247366,2.46669471 L36.7301512,2.46669471 C37.1759561,2.46669471 37.5364927,2.82606971 37.5364927,3.2683774 Z" id="Stroke-37" stroke="#6F7893" fill="#6F7893" opacity="0.15" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
20
|
+
<path d="M10.5375854,8.27889423 L30.6859268,8.27889423 C30.9083659,8.27889423 31.0890976,8.45858173 31.0890976,8.67973558 L31.0890976,15.2074599 C31.0890976,15.4286138 30.9083659,15.6083013 30.6859268,15.6083013 L10.5375854,15.6083013 C10.3151463,15.6083013 10.1344146,15.4286138 10.1344146,15.2074599 L10.1344146,8.67973558 C10.1344146,8.45858173 10.3151463,8.27889423 10.5375854,8.27889423" id="Fill-40" fill="#E6E7E8"></path>
|
|
21
|
+
<path d="M10.5375854,8.27889423 L30.6859268,8.27889423 C30.9083659,8.27889423 31.0890976,8.45858173 31.0890976,8.67973558 L31.0890976,15.2074599 C31.0890976,15.4286138 30.9083659,15.6083013 30.6859268,15.6083013 L10.5375854,15.6083013 C10.3151463,15.6083013 10.1344146,15.4286138 10.1344146,15.2074599 L10.1344146,8.67973558 C10.1344146,8.45858173 10.3151463,8.27889423 10.5375854,8.27889423 Z" id="Stroke-42" stroke="#6F7893" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
22
|
+
<path d="M31.0889122,8.27889423 L31.0889122,15.2074599 C31.0889122,15.4286138 30.9091073,15.6083013 30.6857415,15.6083013 L10.5374,15.6083013 C10.3158878,15.6083013 10.1351561,15.4276923 10.1351561,15.2074599 L10.1351561,14.0058574 L28.2973024,14.0058574 C28.9488634,14.0058574 29.4771561,13.480617 29.4771561,12.8328205 L29.4771561,8.27889423 L31.0889122,8.27889423 Z" id="Stroke-46" stroke="#6F7893" fill="#6E7792" opacity="0.15" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
23
|
+
<path d="M29.4774341,8.27889423 L26.2529951,8.27889423 L26.2529951,6.67552885 C26.2529951,6.45253205 26.4355805,6.27192308 26.6598732,6.27192308 L29.0714829,6.27192308 C29.2957756,6.27192308 29.4774341,6.45253205 29.4774341,6.67552885 L29.4774341,8.27889423 Z" id="Stroke-51" stroke="#6F7893" fill="#E6E7E8" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
24
|
+
<path d="M14.9703317,8.27889423 L11.7458927,8.27889423 L11.7458927,6.67552885 C11.7458927,6.45253205 11.928478,6.27192308 12.1527707,6.27192308 L14.5643805,6.27192308 C14.7886732,6.27192308 14.9703317,6.45253205 14.9703317,6.67552885 L14.9703317,8.27889423 Z" id="Stroke-55" stroke="#6F7893" fill="#E6E7E8" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
25
|
+
<path d="M24.6414244,8.27889423 L21.4179122,8.27889423 L21.4179122,6.67552885 C21.4179122,6.45253205 21.5995707,6.27192308 21.8238634,6.27192308 L24.2354732,6.27192308 C24.4597659,6.27192308 24.6414244,6.45253205 24.6414244,6.67552885 L24.6414244,8.27889423 Z" id="Stroke-59" stroke="#6F7893" fill="#E6E7E8" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
26
|
+
<path d="M19.805878,8.27889423 L16.5823659,8.27889423 L16.5823659,6.67552885 C16.5823659,6.45253205 16.7640244,6.27192308 16.9883171,6.27192308 L19.3999268,6.27192308 C19.6242195,6.27192308 19.805878,6.45253205 19.805878,6.67552885 L19.805878,8.27889423 Z" id="Stroke-63" stroke="#6F7893" fill="#E6E7E8" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
27
|
+
<path d="M17.5566488,11.9094111 C17.5566488,12.935012 16.719722,13.7671034 15.688161,13.7671034 C14.6566,13.7671034 13.8196732,12.935012 13.8196732,11.9094111 C13.8196732,10.8828886 14.6566,10.0517187 15.688161,10.0517187 C16.719722,10.0517187 17.5566488,10.8828886 17.5566488,11.9094111 Z" id="Stroke-65" stroke="#6F7893" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
28
|
+
<path d="M22.4804293,11.9094111 C22.4804293,12.935012 21.6435024,13.7671034 20.6119415,13.7671034 C19.5803805,13.7671034 18.7434537,12.935012 18.7434537,11.9094111 C18.7434537,10.8828886 19.5803805,10.0517187 20.6119415,10.0517187 C21.6435024,10.0517187 22.4804293,10.8828886 22.4804293,11.9094111 Z" id="Stroke-67" stroke="#6F7893" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
29
|
+
<path d="M27.4042098,11.9094111 C27.4042098,12.935012 26.5672829,13.7671034 25.535722,13.7671034 C24.504161,13.7671034 23.6672341,12.935012 23.6672341,11.9094111 C23.6672341,10.8828886 24.504161,10.0517187 25.535722,10.0517187 C26.5672829,10.0517187 27.4042098,10.8828886 27.4042098,11.9094111 Z" id="Stroke-69" stroke="#6F7893" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
30
|
+
<path d="M17.5566488,11.922496 C17.5566488,12.948097 16.719722,13.7801883 15.688161,13.7801883 C14.6566,13.7801883 13.8196732,12.948097 13.8196732,11.922496 C13.8196732,10.896895 14.6566,10.0648037 15.688161,10.0648037 C16.719722,10.0648037 17.5566488,10.896895 17.5566488,11.922496" id="Fill-71" fill="#6F7893" opacity="0.5"></path>
|
|
31
|
+
<path d="M22.4804293,11.922496 C22.4804293,12.948097 21.6435024,13.7801883 20.6119415,13.7801883 C19.5803805,13.7801883 18.7434537,12.948097 18.7434537,11.922496 C18.7434537,10.896895 19.5803805,10.0648037 20.6119415,10.0648037 C21.6435024,10.0648037 22.4804293,10.896895 22.4804293,11.922496" id="Fill-73" fill="#6F7893" opacity="0.5"></path>
|
|
32
|
+
<path d="M27.4042098,11.922496 C27.4042098,12.948097 26.5672829,13.7801883 25.535722,13.7801883 C24.504161,13.7801883 23.6672341,12.948097 23.6672341,11.922496 C23.6672341,10.896895 24.504161,10.0648037 25.535722,10.0648037 C26.5672829,10.0648037 27.4042098,10.896895 27.4042098,11.922496" id="Fill-75" fill="#6F7893" opacity="0.5"></path>
|
|
33
|
+
</g>
|
|
34
|
+
</g>
|
|
35
|
+
</g>
|
|
36
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<!-- Generator: Sketch 43.2 (39069) - http://www.bohemiancoding.com/sketch -->
|
|
4
|
+
<title>Artboard</title>
|
|
5
|
+
<desc>Created with Sketch.</desc>
|
|
6
|
+
<defs></defs>
|
|
7
|
+
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
8
|
+
<g id="Artboard">
|
|
9
|
+
<g id="Eye-Dropper---Inactive" transform="translate(5.000000, 1.000000)">
|
|
10
|
+
<g id="stage" transform="translate(0.000000, 9.800000)" stroke="#575E75" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
|
|
11
|
+
<path d="M11.2266846,0 L12.6666667,0 C13.4,0 14,0.66442953 14,1.47651007 L14,9.52348993 C14,10.3355705 13.4,11 12.6666667,11 L1.33333333,11 C0.6,11 0,10.3355705 0,9.52348993 L0,1.47651007 C0,0.66442953 0.6,0 1.33333333,0 L6.2845459,0" id="Shape"></path>
|
|
12
|
+
<path d="M13.9336493,7.6602179 L11.1469194,4.91112699 C10.7488152,4.51839972 10.0853081,4.45294517 9.62085308,4.84567245 L6.17061611,7.52930881 C5.63981043,7.92203608 4.90995261,7.85658154 4.51184834,7.33294517 L4.18009479,6.9402179 C3.78199052,6.41658154 2.98578199,6.35112699 2.52132701,6.74385426 L0,8.77294517 L0,9.36203608 C0,10.0165815 0.530805687,10.5402179 1.1943128,10.5402179 L12.8056872,10.5402179 C13.4691943,10.5402179 14,10.0165815 14,9.36203608 L14,7.6602179 L13.9336493,7.6602179 Z" id="Shape" fill="#575E75"></path>
|
|
13
|
+
</g>
|
|
14
|
+
<g id="eye-dropper" transform="translate(5.000000, 0.000000)">
|
|
15
|
+
<path d="M1.04929697,12.6007661 L0.732569697,12.2840388 C0.557660606,12.1107055 0.543478788,11.8050085 0.693175758,11.4835539 L1.46372121,9.83531152 C1.63390303,9.46658424 1.9916,9.14985697 2.35717576,9.03797818 C2.80941818,8.90246303 3.23014545,8.46125091 3.3325697,8.01373576 L3.36408485,7.87979636 C3.41608485,7.65288727 3.55317576,7.41652364 3.7485697,7.22270545 L8.05038788,2.91931152 C8.46481212,2.50646303 9.01632727,2.38670545 9.2826303,2.65458424 L10.6803273,4.05228121 C10.9466303,4.31858424 10.8284485,4.86852364 10.4140242,5.28137212 L6.11220606,9.58476606 C5.91681212,9.78016 5.68044848,9.91882667 5.45353939,9.97082667 L5.3196,10.0023418 C4.87366061,10.1047661 4.43087273,10.5254933 4.29693333,10.97616 C4.18505455,11.3433115 3.86832727,11.6994327 3.4996,11.8711903 L1.85135758,12.64016 C1.52990303,12.789857 1.2226303,12.7756752 1.04929697,12.6007661 Z" id="Stroke-6" stroke="#575E75" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path>
|
|
16
|
+
<path d="M10.1021818,6.29994182 L7.03418182,3.23194182 C6.71587879,2.91363879 6.71587879,2.39521455 7.03418182,2.07691152 L7.63454545,1.47654788 C7.95442424,1.15824485 8.46969697,1.15824485 8.78957576,1.47654788 L11.8575758,4.54454788 C12.1758788,4.86285091 12.1758788,5.38127515 11.8575758,5.69957818 L11.2556364,6.29994182 C10.9373333,6.61982061 10.4204848,6.61982061 10.1021818,6.29994182" id="Fill-1" fill="#575E75"></path>
|
|
17
|
+
<path d="M8.66036364,2.91757818 L10.8207273,0.757214545 C11.3060606,0.271881212 12.0923636,0.271881212 12.5761212,0.757214545 C13.0614545,1.24254788 13.0614545,2.02885091 12.5761212,2.51260848 L10.4157576,4.67297212 C9.932,5.1567297 9.14569697,5.1567297 8.66036364,4.67297212 C8.1750303,4.18763879 8.1750303,3.40291152 8.66036364,2.91757818" id="Fill-3" fill="#575E75"></path>
|
|
18
|
+
</g>
|
|
19
|
+
</g>
|
|
20
|
+
</g>
|
|
21
|
+
</g>
|
|
22
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="greenflag" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
|
5
|
+
<style type="text/css">
|
|
6
|
+
.st0{fill:#45993D;}
|
|
7
|
+
.st1{fill:#4CBF56;}
|
|
8
|
+
</style>
|
|
9
|
+
<title>greenflag</title>
|
|
10
|
+
<path class="st0" d="M20.8,3.7c-0.4-0.2-0.9-0.1-1.2,0.2c-2,1.6-4.8,1.6-6.8,0c-2.3-1.9-5.6-2.3-8.3-1V2.5c0-0.6-0.5-1-1-1
|
|
11
|
+
s-1,0.4-1,1v18.8c0,0.5,0.5,1,1,1h0.1c0.5,0,1-0.5,1-1v-6.4c1-0.7,2.1-1.2,3.4-1.3c1.2,0,2.4,0.4,3.4,1.2c2.9,2.3,7,2.3,9.8,0
|
|
12
|
+
c0.3-0.2,0.4-0.5,0.4-0.9V4.7C21.6,4.2,21.3,3.8,20.8,3.7z M20.5,13.9C20.5,13.9,20.5,13.9,20.5,13.9C18,16,14.4,16,11.9,14
|
|
13
|
+
c-1.1-0.9-2.5-1.4-4-1.4c-1.2,0.1-2.3,0.5-3.4,1.1V4C7,2.6,10,2.9,12.2,4.6c2.4,1.9,5.7,1.9,8.1,0c0.1,0,0.1,0,0.2,0
|
|
14
|
+
c0,0,0.1,0.1,0.1,0.1L20.5,13.9z"/>
|
|
15
|
+
<path class="st1" d="M20.6,4.8l-0.1,9.1c0,0,0,0.1,0,0.1c-2.5,2-6.1,2-8.6,0c-1.1-0.9-2.5-1.4-4-1.4c-1.2,0.1-2.3,0.5-3.4,1.1V4
|
|
16
|
+
C7,2.6,10,2.9,12.2,4.6c2.4,1.9,5.7,1.9,8.1,0c0.1,0,0.1,0,0.2,0C20.5,4.7,20.6,4.7,20.6,4.8z"/>
|
|
17
|
+
</svg>
|
|
Binary file
|
|
Binary file
|