Initial-Version

This commit is contained in:
Carsten Hilmer 2016-10-28 01:10:26 +02:00
parent 5af479ec4e
commit 4535d7751f
214 changed files with 211578 additions and 1 deletions

3
.bowerrc Normal file
View File

@ -0,0 +1,3 @@
{
"directory": "www/lib"
}

14
.editorconfig Normal file
View File

@ -0,0 +1,14 @@
# http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

6
.gitignore vendored Normal file
View File

@ -0,0 +1,6 @@
# Specifies intentionally untracked files to ignore when using Git
# http://git-scm.com/docs/gitignore
node_modules/
platforms/
plugins/

View File

@ -1,3 +1,13 @@
# kinderspiele1
Kinderspiele für Kleinkinder
Kinderspiele für Kleinkinder
Ionic
==============
ionic platform add android
Plugins
ionic plugin add cordova-plugin-screen-orientation
cordova plugin add cordova-plugin-media

7
bower.json Normal file
View File

@ -0,0 +1,7 @@
{
"name": "HelloIonic",
"private": "true",
"devDependencies": {
"ionic": "driftyco/ionic-bower#1.3.2"
}
}

50
config.xml Normal file
View File

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.kinderspiele1678812" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>kinderspiele1</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="you@example.com" href="http://example.com.com/">
Your Name Here
</author>
<content src="index.html"/>
<access origin="*"/>
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="SplashScreenDelay" value="2000"/>
<preference name="FadeSplashScreenDuration" value="2000"/>
<preference name="android-minSdkVersion" value="16"/>
<preference name="BackupWebStorage" value="none"/>
<preference name="SplashScreen" value="screen"/>
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
<feature name="StatusBar">
<param name="ios-package" onload="true" value="CDVStatusBar"/>
</feature>
<plugin name="cordova-plugin-device" spec="~1.1.3"/>
<plugin name="cordova-plugin-console" spec="~1.0.4"/>
<plugin name="cordova-plugin-whitelist" spec="~1.3.0"/>
<plugin name="cordova-plugin-splashscreen" spec="~4.0.0"/>
<plugin name="cordova-plugin-statusbar" spec="~2.2.0"/>
<plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
<platform name="android">
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
</platform>
</widget>

51
gulpfile.js Normal file
View File

@ -0,0 +1,51 @@
var gulp = require('gulp');
var gutil = require('gulp-util');
var bower = require('bower');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var minifyCss = require('gulp-minify-css');
var rename = require('gulp-rename');
var sh = require('shelljs');
var paths = {
sass: ['./scss/**/*.scss']
};
gulp.task('default', ['sass']);
gulp.task('sass', function(done) {
gulp.src('./scss/ionic.app.scss')
.pipe(sass())
.on('error', sass.logError)
.pipe(gulp.dest('./www/css/'))
.pipe(minifyCss({
keepSpecialComments: 0
}))
.pipe(rename({ extname: '.min.css' }))
.pipe(gulp.dest('./www/css/'))
.on('end', done);
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
});
gulp.task('install', ['git-check'], function() {
return bower.commands.install()
.on('log', function(data) {
gutil.log('bower', gutil.colors.cyan(data.id), data.message);
});
});
gulp.task('git-check', function(done) {
if (!sh.which('git')) {
console.log(
' ' + gutil.colors.red('Git is not installed.'),
'\n Git, the version control system, is required to download Ionic.',
'\n Download git here:', gutil.colors.cyan('http://git-scm.com/downloads') + '.',
'\n Once git is installed, run \'' + gutil.colors.cyan('gulp install') + '\' again.'
);
process.exit(1);
}
done();
});

83
hooks/README.md Normal file
View File

@ -0,0 +1,83 @@
<!--
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
-->
# Cordova Hooks
This directory may contain scripts used to customize cordova commands. This
directory used to exist at `.cordova/hooks`, but has now been moved to the
project root. Any scripts you add to these directories will be executed before
and after the commands corresponding to the directory name. Useful for
integrating your own build systems or integrating with version control systems.
__Remember__: Make your scripts executable.
## Hook Directories
The following subdirectories will be used for hooks:
after_build/
after_compile/
after_docs/
after_emulate/
after_platform_add/
after_platform_rm/
after_platform_ls/
after_plugin_add/
after_plugin_ls/
after_plugin_rm/
after_plugin_search/
after_prepare/
after_run/
after_serve/
before_build/
before_compile/
before_docs/
before_emulate/
before_platform_add/
before_platform_rm/
before_platform_ls/
before_plugin_add/
before_plugin_ls/
before_plugin_rm/
before_plugin_search/
before_prepare/
before_run/
before_serve/
pre_package/ <-- Windows 8 and Windows Phone only.
## Script Interface
All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables:
* CORDOVA_VERSION - The version of the Cordova-CLI.
* CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios).
* CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer)
* CORDOVA_HOOK - Path to the hook that is being executed.
* CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate)
If a script returns a non-zero exit code, then the parent cordova command will be aborted.
## Writing hooks
We highly recommend writting your hooks using Node.js so that they are
cross-platform. Some good examples are shown here:
[http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/)

View File

@ -0,0 +1,94 @@
#!/usr/bin/env node
// Add Platform Class
// v1.0
// Automatically adds the platform class to the body tag
// after the `prepare` command. By placing the platform CSS classes
// directly in the HTML built for the platform, it speeds up
// rendering the correct layout/style for the specific platform
// instead of waiting for the JS to figure out the correct classes.
var fs = require('fs');
var path = require('path');
var rootdir = process.argv[2];
function addPlatformBodyTag(indexPath, platform) {
// add the platform class to the body tag
try {
var platformClass = 'platform-' + platform;
var cordovaClass = 'platform-cordova platform-webview';
var html = fs.readFileSync(indexPath, 'utf8');
var bodyTag = findBodyTag(html);
if(!bodyTag) return; // no opening body tag, something's wrong
if(bodyTag.indexOf(platformClass) > -1) return; // already added
var newBodyTag = bodyTag;
var classAttr = findClassAttr(bodyTag);
if(classAttr) {
// body tag has existing class attribute, add the classname
var endingQuote = classAttr.substring(classAttr.length-1);
var newClassAttr = classAttr.substring(0, classAttr.length-1);
newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote;
newBodyTag = bodyTag.replace(classAttr, newClassAttr);
} else {
// add class attribute to the body tag
newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">');
}
html = html.replace(bodyTag, newBodyTag);
fs.writeFileSync(indexPath, html, 'utf8');
process.stdout.write('add to body class: ' + platformClass + '\n');
} catch(e) {
process.stdout.write(e);
}
}
function findBodyTag(html) {
// get the body tag
try{
return html.match(/<body(?=[\s>])(.*?)>/gi)[0];
}catch(e){}
}
function findClassAttr(bodyTag) {
// get the body tag's class attribute
try{
return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0];
}catch(e){}
}
if (rootdir) {
// go through each of the platform directories that have been prepared
var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);
for(var x=0; x<platforms.length; x++) {
// open up the index.html file at the www root
try {
var platform = platforms[x].trim().toLowerCase();
var indexPath;
if(platform == 'android') {
indexPath = path.join('platforms', platform, 'assets', 'www', 'index.html');
} else {
indexPath = path.join('platforms', platform, 'www', 'index.html');
}
if(fs.existsSync(indexPath)) {
addPlatformBodyTag(indexPath, platform);
}
} catch(e) {
process.stdout.write(e);
}
}
}

4
ionic.config.json Normal file
View File

@ -0,0 +1,4 @@
{
"name": "kinderspiele1",
"app_id": ""
}

26
package.json Normal file
View File

@ -0,0 +1,26 @@
{
"name": "kinderspiele1",
"version": "1.1.1",
"description": "kinderspiele1: An Ionic project",
"dependencies": {
"gulp": "^3.5.6",
"gulp-sass": "^2.0.4",
"gulp-concat": "^2.2.0",
"gulp-minify-css": "^0.3.0",
"gulp-rename": "^1.2.0"
},
"devDependencies": {
"bower": "^1.3.3",
"gulp-util": "^2.2.14",
"shelljs": "^0.3.0"
},
"cordovaPlugins": [
"cordova-plugin-device",
"cordova-plugin-console",
"cordova-plugin-whitelist",
"cordova-plugin-splashscreen",
"cordova-plugin-statusbar",
"ionic-plugin-keyboard"
],
"cordovaPlatforms": []
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
resources/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
resources/ios/icon/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
resources/splash.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

23
scss/ionic.app.scss Normal file
View File

@ -0,0 +1,23 @@
/*
To customize the look and feel of Ionic, you can override the variables
in ionic's _variables.scss file.
For example, you might change some of the default colors:
$light: #fff !default;
$stable: #f8f8f8 !default;
$positive: #387ef5 !default;
$calm: #11c1f3 !default;
$balanced: #33cd5f !default;
$energized: #ffc900 !default;
$assertive: #ef473a !default;
$royal: #886aea !default;
$dark: #444 !default;
*/
// The path for our ionicons font files, relative to the built CSS in www/css
$ionicons-font-path: "../lib/ionic/fonts" !default;
// Include all of Ionic
@import "www/lib/ionic/scss/ionic";

3340
www/css/animate.css vendored Normal file

File diff suppressed because it is too large Load Diff

43
www/css/style.css Normal file
View File

@ -0,0 +1,43 @@
/* Empty. Add your own CSS if you like
.scroll-content{
background: url("../img/background.svg") no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
}
*/
.scroll-content {
background: url("../img/background.svg");
-webkit-animation: backgroundScroll 50s linear infinite;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
animation: backgroundScroll 50s linear infinite;
}
@-webkit-keyframes backgroundScroll {
from {background-position: 0 0;}
to {background-position: -2000px 0;}
}
@keyframes backgroundScroll {
from {background-position: 0 0;}
to {background-position: -2000px 0;}
}
.myborder{
display: inline-block;
border-radius: 6px;
color: black;
border-style: solid;
border-color:black;
border-width: 2px;
}
.myborder:active {
background-color: #3e8e41;
box-shadow: 0 5px #666;
transform: translateY(4px);
}

972
www/img/background.svg Normal file
View File

@ -0,0 +1,972 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 1920 1080" enable-background="new 0 0 1920 1080" xml:space="preserve">
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="960" y1="1080" x2="960" y2="-4.310004e-008">
<stop offset="0" style="stop-color:#4BC1DF"/>
<stop offset="1" style="stop-color:#A5D7CB"/>
</linearGradient>
<rect fill="url(#SVGID_1_)" width="1920" height="1080"/>
<g>
<path fill="#A3D0AF" stroke="#A3D0AF" stroke-width="0.0938" d="M451.53,0h2.19c-0.7,5.66-0.33,11.37-0.37,17.05
c0.01,160.36,0.07,320.72,0.08,481.09c-0.52-0.04-1.56-0.13-2.09-0.17c0.23-11.4,0.43-22.83-0.1-34.22
c0.63-15.89,0.05-31.81,0.22-47.71c-0.08-9.14,0.3-18.3-0.31-27.42c0.76-20.88,0.02-41.78,0.31-62.67
c-0.05-29.3-0.08-58.61-0.05-87.91c0.08-4.9-0.04-9.81-0.36-14.7c0.47-4.77,0.4-9.55,0.37-14.33
c-0.03-19.31-0.04-38.63-0.04-57.94c-0.06-7.9,0.21-15.8-0.36-23.69c0.81-10.13,0.18-20.3,0.37-30.45
c-0.19-16.52,0.41-33.06-0.34-49.57C451.95,31.6,451.02,15.78,451.53,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M453.72,0h53.96c1.14,8.31,0.18,16.67,0.1,25
c0.4,13.34-0.22,26.69,0.46,40.02c-1,17.34,0.37,34.69-0.46,52.03c0.72,16.3-0.57,32.63,0.31,48.94
c-0.98,11.65,0.72,23.3-0.22,34.95c-0.18,3.66-0.08,7.34,0.08,11c0.58,9.68-0.61,19.36,0.13,29.04
c-0.28,8.67-0.52,17.35,0.1,26.02c-0.16,14-0.18,27.99-0.22,41.99c-0.19,8.68,0.66,17.36,0.01,26.04
c0.39,14.97-0.33,29.95,0.05,44.93c0.67,9.69-0.56,19.37-0.23,29.07c-0.18,8.68,0.19,17.34,0.44,26.02
c-0.7,16.62-0.53,33.27-0.17,49.91c-0.16,4.43-0.31,8.88,0.18,13.31c-6.73-0.64-13.5-0.24-20.25-0.34
c-11.45,0.08-22.91-0.21-34.36,0.22l-0.2-0.01c-0.01-160.37-0.07-320.73-0.08-481.09C453.39,11.37,453.02,5.66,453.72,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M507.68,0h27.02c0,18.66-0.08,37.33,0.03,55.99
c0.72,7-0.21,14-0.01,21c-0.08,44.33,0.09,88.65-0.06,132.98c0.47,16.99-0.35,34,0.15,51c-0.11,17.98-0.35,35.98,0.1,53.96
c-0.67,23.34,0.17,46.69-0.24,70.03c0.05,37.71-0.04,75.42,0.04,113.13c-8.81-0.12-17.67-0.4-26.47,0.18
c-0.49-4.43-0.34-8.88-0.18-13.31c-0.36-16.64-0.53-33.29,0.17-49.91c-0.25-8.68-0.62-17.34-0.44-26.02
c-0.33-9.7,0.9-19.38,0.23-29.07c-0.38-14.98,0.34-29.96-0.05-44.93c0.65-8.68-0.2-17.36-0.01-26.04
c0.04-14,0.06-27.99,0.22-41.99c-0.62-8.67-0.38-17.35-0.1-26.02c-0.74-9.68,0.45-19.36-0.13-29.04c-0.16-3.66-0.26-7.34-0.08-11
c0.94-11.65-0.76-23.3,0.22-34.95c-0.88-16.31,0.41-32.64-0.31-48.94c0.83-17.34-0.54-34.69,0.46-52.03
c-0.68-13.33-0.06-26.68-0.46-40.02C507.86,16.67,508.82,8.31,507.68,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M534.7,0h21.04c0.22,20,0.15,39.99,0.41,59.97
c-0.85,8.02,0.3,16.04-0.12,24.06c-0.32,12.01,0.5099,24.01-0.25,36.01c0.0699,11.98,0.34,23.96,0.25,35.94
c-0.73,18.67,0.29,37.35-0.19,56.01c0.04,20.98-0.15,41.97-0.01,62.95c0.9,12.68-0.43,25.38,0.2,38.08
c0.7,9.68-0.69,19.36-0.03,29.05c0.15,22.31-0.11,44.6-0.05,66.91c0.67,12.33-0.74,24.66,0.08,37
c-0.15,28.66-0.23,57.32-0.08,85.97c0.58,10.66-0.35,21.34,0.09,32.01c0.47,9.67-0.05,19.36-0.2,29.03
c0.36,21.67-0.11,43.33,0.15,65c-0.57,9.34,0.81,18.67-0.1,28c0.05,23,0.06,45.99,0.33,68.99c-0.92,15.68,0.4301,31.38-0.45,47.07
c0.24,12.99,0.28,25.98,0.02,38.97c0.82,10.96-0.62,21.94,0.23,32.91c0.55,6.34-0.47,12.68-0.06,19.03
c0.43,6.34-0.41,12.67-0.17,19.0099c0.51,10.67-0.44,21.35,0.27,32.02c-0.61,11.67,0.3,23.35-0.26,35.02
c-0.17,7.35,0.76,14.69,0.16,22.04c0.09,22.96-0.68,45.95,0.24,68.91c0.05,3.3401,0,6.6901-0.02,10.04h-10
c-0.39-188.65,0.04-377.32-0.22-565.96c0.1-5.85-4.96-10.21-4.89-16.14c-2.12,0.04-4.25,0.1-6.36,0.19
c-0.08-37.71,0.0099-75.42-0.04-113.13c0.41-23.34-0.43-46.69,0.24-70.03c-0.45-17.98-0.21-35.98-0.1-53.96
c-0.5-17,0.32-34.01-0.15-51c0.15-44.33-0.02-88.65,0.06-132.98c-0.2-7,0.73-14,0.01-21C534.62,37.33,534.7,18.66,534.7,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M555.74,0h26.92c0.39,27.65-0.54,55.32,0.52,82.96
c-0.98,17.32-0.3,34.69-0.5,52.03c0.03,107.31,0,214.62-0.01,321.94c-0.3,8.04,0.91,16.07,0.05,24.11
c-0.1,29.99,0,59.99-0.04,89.98c-0.2,8.67,0.67,17.34-0.01,26.01c0.12,62.66-0.1,125.3199,0.1,187.97
c-0.11,16.34-0.31,32.71,0.28,49.04c-0.59,9.3-0.41,18.64-0.3,27.96c0.6,5.65,0.16,11.32-0.09,16.99c0.06,67,0.03,134,0.03,201.01
h-26.51c0.02-3.35,0.07-6.7,0.02-10.04c-0.92-22.96-0.15-45.95-0.24-68.91c0.6-7.35-0.33-14.69-0.16-22.04
c0.56-11.67-0.35-23.35,0.26-35.02c-0.71-10.67,0.24-21.35-0.27-32.02c-0.24-6.34,0.6-12.67,0.17-19.0099
c-0.41-6.35,0.61-12.69,0.06-19.03c-0.85-10.97,0.59-21.95-0.23-32.91c0.26-12.99,0.22-25.98-0.02-38.97
c0.88-15.69-0.47-31.39,0.45-47.07c-0.27-23-0.28-45.99-0.33-68.99c0.91-9.33-0.47-18.66,0.1-28c-0.26-21.67,0.21-43.33-0.15-65
c0.15-9.67,0.67-19.36,0.2-29.03c-0.44-10.67,0.4901-21.35-0.09-32.01c-0.15-28.65-0.07-57.31,0.08-85.97
c-0.82-12.34,0.59-24.67-0.08-37c-0.06-22.31,0.2-44.6,0.05-66.91c-0.66-9.69,0.73-19.37,0.03-29.05
c-0.63-12.7,0.7-25.4-0.2-38.08c-0.14-20.98,0.05-41.97,0.01-62.95c0.48-18.66-0.54-37.34,0.19-56.01
c0.09-11.98-0.1801-23.96-0.25-35.94c0.7599-12-0.07-24,0.25-36.01c0.42-8.02-0.73-16.04,0.12-24.06
C555.89,39.99,555.96,20,555.74,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M582.66,0h18.63c-0.1,52.33,0.14,104.67-0.05,156.99
c-0.41,9.34,0.2,18.69,0.09,28.03c-0.04,29.67,0.02,59.34-0.03,89.01c-0.4,6.01-0.18,12.02,0.04,18.03
c-0.09,19.66,0.12,39.32-0.2,58.97c0.72,10.64-0.56,21.28,0.17,31.92c0.02,63.68-0.04,127.37-0.11,191.02
c0.3,79-0.06,158.01,0.13,237c-0.06,89.69-0.04,179.35-0.03,269.03h-18.61c0-67.01,0.03-134.01-0.03-201.01
c0.25-5.67,0.69-11.34,0.09-16.99c-0.11-9.32-0.29-18.66,0.3-27.96c-0.59-16.33-0.39-32.7-0.28-49.04
c-0.2-62.65,0.02-125.31-0.1-187.97c0.68-8.67-0.19-17.34,0.01-26.01c0.04-29.99-0.06-59.99,0.04-89.98
c0.86-8.04-0.35-16.07-0.05-24.11c0.01-107.32,0.04-214.63,0.01-321.94c0.2-17.34-0.48-34.71,0.5-52.03
C582.12,55.32,583.05,27.65,582.66,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M601.29,0h26.44c0.87,12.34-0.41,24.67,0.23,37.02
c-0.29,8.01,0.6,16.02,0.03,24.03c-0.84,14.67,0.89,29.36-0.14,44.03c-0.22,14.29,0.96,28.59,0.06,42.89
c0.71,13.35-0.18,26.7,0.07,40.05c-0.3,8.31,0.46,16.62-0.05,24.93c0.02,11.34,0.63,22.69-0.02,34.03
c0.32,10.34,0.57,20.7-0.0699,31.04c0.11,12.66,0.3,25.31,0.23,37.98c0.74,13.01-1,26.02,0.06,39.03
c-0.38,30.31,0.34,60.63-0.23,90.94c0.54,13.68-0.59,27.4,0.3199,41.08c-0.27,8.66-0.1899,17.31-0.33,25.97
c0.71,10.66-0.31,21.32,0.18,31.98c-0.13,18.67,0.18,37.33-0.31,55.99c-0.15,6.67,0.47,13.32,0.47,19.98
c-0.56,11.6801,0.21,23.36-0.45,35.04c0.74,9.65-0.0601,19.32,0.37,28.98c0.08,9.02-0.51,18.03,0.03,27.04
c-0.72,23.65,0.77,47.33-0.37,70.97c0.33,9.33-0.34,18.66,0.15,27.99c0.54,10.33,0.23,20.69-0.13,31.03
c0.77,14.66,0.15,29.34,0.29,44.02c-0.88,9.65,0.47,19.31,0.08,28.98c-0.43,9.97-0.68,19.97-0.15,29.95
c0.43,6.6801-0.61,13.36-0.21,20.05c0.8799,12.64-0.3,25.31,0.0699,37.97c0.59,6.99-0.47,13.98-0.04,20.98
c0.53,9.36-0.29,18.73,0.28,28.0901c0.55,9.3099-1.07,18.6499,0.25,27.9399h-27.1c-0.01-89.68-0.03-179.34,0.03-269.03
c-0.19-78.99,0.17-158-0.13-237c0.07-63.65,0.13-127.34,0.11-191.02c-0.73-10.64,0.55-21.28-0.17-31.92
c0.32-19.65,0.11-39.31,0.2-58.97c-0.22-6.01-0.44-12.02-0.04-18.03c0.05-29.67-0.01-59.34,0.03-89.01
c0.11-9.34-0.5-18.69-0.09-28.03C601.43,104.67,601.19,52.33,601.29,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M627.73,0h23.91c0.54,8.31,0.87,16.65,0.29,24.97
c-0.44,8.35,0.73,16.7,0.21,25.06c-0.6,11.66-0.31,23.34-0.3,35.01c0.78,10.64-0.05,21.3,0.04,31.95
c0.48,6.33-0.18,12.66-0.06,18.99c0.64,29.68-0.11,59.37,0.1,89.06c0.74,14.98-0.59,29.98,0.17,44.96
c-0.14,13.66-0.27,27.32-0.31,40.99c0.67,12.31-0.08,24.63,0.29,36.95c-0.57,12.69,0.48,25.39-0.24,38.09
c-0.1,10.32,0.5,20.65,0.28,30.97c-0.76,9.33,0.22,18.68-0.08,28.02c-0.41,10.33,0.68,20.66-0.05,30.99
c-0.66,8.34,0.39,16.69,0.02,25.04c0.19,21.65-0.57,43.29-0.01,64.93c-0.07,9.67-0.4,19.35,0.21,29.01
c-0.8,15.97,0.13,31.95-0.24,47.93c0.36,11.68,0.35,23.35-0.18,35.02c0.95,11.69-0.6201,23.39,0.35,35.09
c-0.57,11.66,0.27,23.33-0.23,34.99c0.4,25.66,0.0099,51.32-0.11,76.99c0.7401,11.66-0.52,23.32,0.2,34.99
c-0.29,8.01,0.52,16.02-0.08,24.03c-0.52,7.31,0.41,14.6299-0.02,21.95c-0.44,6.99,0.73,13.98,0.09,20.97
c-0.84,10.36,0.83,20.73-0.03,31.1c-0.65,7.98,0.65,15.96-0.06,23.94c0.08,32.66,0.35,65.34-0.12,98.01H628.4
c-1.32-9.29,0.3-18.63-0.25-27.9399c-0.57-9.3601,0.25-18.7301-0.28-28.0901c-0.43-7,0.63-13.99,0.04-20.98
c-0.37-12.66,0.81-25.33-0.0699-37.97c-0.4-6.69,0.64-13.37,0.21-20.05c-0.53-9.98-0.28-19.98,0.15-29.95
c0.39-9.67-0.96-19.33-0.08-28.98c-0.14-14.68,0.48-29.36-0.29-44.02c0.36-10.34,0.67-20.7,0.13-31.03
c-0.4901-9.33,0.18-18.66-0.15-27.99c1.14-23.64-0.35-47.32,0.37-70.97c-0.54-9.01,0.05-18.02-0.03-27.04
c-0.4301-9.66,0.37-19.33-0.37-28.98c0.66-11.68-0.11-23.36,0.45-35.04c0-6.66-0.62-13.31-0.47-19.98
c0.49-18.66,0.18-37.32,0.31-55.99c-0.49-10.66,0.53-21.32-0.18-31.98c0.14-8.66,0.06-17.31,0.33-25.97
c-0.91-13.68,0.22-27.4-0.3199-41.08c0.5699-30.31-0.15-60.63,0.23-90.94c-1.06-13.01,0.68-26.02-0.06-39.03
c0.07-12.67-0.12-25.32-0.23-37.98c0.64-10.34,0.39-20.7,0.0699-31.04c0.65-11.34,0.04-22.69,0.02-34.03
c0.51-8.31-0.25-16.62,0.05-24.93c-0.25-13.35,0.64-26.7-0.07-40.05c0.9-14.3-0.28-28.6-0.06-42.89
c1.03-14.67-0.7-29.36,0.14-44.03c0.57-8.01-0.32-16.02-0.03-24.03C627.32,24.67,628.6,12.34,627.73,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M651.64,0h27.06c0.14,21.32-0.4,42.66,0.33,63.98
c-0.77,17-0.13,34.03-0.38,51.04c-0.22,5.67,0.73,11.32,0.33,16.99c-0.99,14.33,0.58,28.7-0.28,43.04
c0,85.64,0.03,171.27-0.01,256.91c0.51,20.67-0.3,41.35,0.07,62.03c-0.12,36-0.16,72.02,0.09,108.02
c0.31,7.99-0.67,15.99,0.16,23.98c-0.69,16.32-0.14,32.65-0.26,48.98c0.37,13.7-0.42,27.39,0.06,41.1
c-0.61,26.65,0.56,53.29-0.15,79.92c0.19,18.34-0.27,36.68,0.25,55c-0.66,29.35,0.21,58.71-0.23,88.05
c0.14,46.98-0.05,93.97,0.03,140.96h-26.94c0.47-32.67,0.2-65.35,0.12-98.01c0.71-7.98-0.59-15.96,0.06-23.94
c0.86-10.37-0.81-20.74,0.03-31.1c0.64-6.99-0.53-13.98-0.09-20.97c0.43-7.32-0.5-14.64,0.02-21.95
c0.6-8.01-0.21-16.02,0.08-24.03c-0.72-11.67,0.54-23.33-0.2-34.99c0.12-25.67,0.51-51.33,0.11-76.99
c0.5-11.66-0.34-23.33,0.23-34.99c-0.97-11.7,0.6-23.4-0.35-35.09c0.53-11.67,0.54-23.34,0.18-35.02
c0.37-15.98-0.56-31.96,0.24-47.93c-0.61-9.66-0.28-19.34-0.21-29.01c-0.56-21.64,0.2-43.28,0.01-64.93
c0.37-8.35-0.68-16.7-0.02-25.04c0.73-10.33-0.36-20.66,0.05-30.99c0.3-9.34-0.6801-18.69,0.08-28.02
c0.22-10.32-0.38-20.65-0.28-30.97c0.72-12.7-0.33-25.4,0.24-38.09c-0.37-12.32,0.38-24.64-0.29-36.95
c0.04-13.67,0.17-27.33,0.31-40.99c-0.76-14.98,0.5699-29.98-0.17-44.96c-0.21-29.69,0.54-59.38-0.1-89.06
c-0.12-6.33,0.54-12.66,0.06-18.99c-0.09-10.65,0.74-21.31-0.04-31.95c-0.01-11.67-0.3-23.35,0.3-35.01
c0.52-8.36-0.65-16.71-0.21-25.06C652.51,16.65,652.18,8.31,651.64,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M678.7,0h23.6c-0.9,9.98-0.03,20-0.53,30.01
c1.13,14.32-0.7,28.65,0.31,42.98c-0.4,14.99-0.48,30,0.08,44.98c-0.74,8.34-0.0099,16.67,0.05,25.01
c-1.08,18.34,0.18,36.71-0.25,55.07c0.48,8.34-0.34,16.67,0.11,25.02c-0.69,12.62,0.53,25.26-0.25,37.87
c0.23,12.02-0.39,24.05,0.24,36.06c-0.35,17.99-0.56,36.01,0.18,53.99c-0.48,16.99-0.25,33.99-0.2,51c0.42,8-0.49,16,0.01,24.01
c-0.35,14.01-0.37,28.03,0.02,42.04c-0.72,13.99,0.3,27.98-0.22,41.96c-0.37,6.33,0.57,12.66,0.16,19
c-0.68,13.65,0.22,27.31,0,40.98c-0.03,47.99-0.02,95.99-0.13,143.98c0.2,18.68-0.33,37.37,0.29,56.05c-0.17,16-0.57,32-0.2,47.99
c-0.4,14.64-0.1,29.29,0.23,43.92c-0.57,7.05-0.3,14.11-0.13,21.17c-0.58,7.3,0.24,14.62-0.21,21.93
c-0.47,8.99,0.91,17.98,0.07,26.97c0.1,14.35,0.07,28.69-0.16,43.05c-0.2,7.63,0.64,15.27,0.11,22.9
c-0.44,7.01,0.72,14.01,0.17,21.02c-0.64,6.9799,0.55,13.97,0.02,20.96c-0.47,6.6699,0.21,13.35-0.04,20.0399
c-0.19,6.67-0.59,13.38,0.11,20.04h-23.43c-0.08-46.99,0.11-93.98-0.03-140.96c0.44-29.34-0.43-58.7,0.23-88.05
c-0.52-18.32-0.06-36.66-0.25-55c0.71-26.63-0.46-53.27,0.15-79.92c-0.48-13.71,0.31-27.4-0.06-41.1
c0.12-16.33-0.43-32.66,0.26-48.98c-0.83-7.99,0.15-15.99-0.16-23.98c-0.25-36-0.21-72.02-0.09-108.02
c-0.37-20.68,0.44-41.36-0.07-62.03c0.04-85.64,0.01-171.27,0.01-256.91c0.86-14.34-0.71-28.71,0.28-43.04
c0.4-5.67-0.55-11.32-0.33-16.99c0.25-17.01-0.39-34.04,0.38-51.04C678.3,42.66,678.84,21.32,678.7,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M702.3,0h26.97c0.13,24.99-0.01,49.97,0.07,74.96
c-0.4301,22.35,0.43,44.72-0.29,67.07c0.68,8.65-0.09,17.3,0.14,25.95c0.28,85.31,0.04,170.67,0.14,256
c0.3,7-0.86,13.99-0.14,20.98c-0.12,14,0.49,28.02-0.13,42.02c0.5,13.33,0.15,26.66,0.27,39.99c0.24,8.34-0.95,16.67-0.02,25
c0.04,82.03-0.05,164.04,0.01,246.0601c-0.01,17.66,0.13,35.33-0.35,52.99c0.4901,9.31,0.51,18.63-0.05,27.94
c0.96,13.68-0.06,27.38,0.41,41.07c-0.04,53.33-0.18,106.64,0.11,159.97h-27.3c-0.7-6.66-0.3-13.37-0.11-20.04
c0.25-6.6899-0.4301-13.37,0.04-20.0399c0.53-6.99-0.66-13.9801-0.02-20.96c0.55-7.01-0.61-14.01-0.17-21.02
c0.53-7.63-0.31-15.27-0.11-22.9c0.23-14.36,0.26-28.7,0.16-43.05c0.84-8.99-0.54-17.98-0.07-26.97
c0.45-7.31-0.37-14.63,0.21-21.93c-0.17-7.06-0.44-14.1201,0.13-21.17c-0.33-14.63-0.63-29.28-0.23-43.92
c-0.37-15.99,0.03-31.99,0.2-47.99c-0.62-18.68-0.09-37.37-0.29-56.05c0.11-47.9901,0.1-95.9901,0.13-143.98
c0.22-13.67-0.68-27.33,0-40.98c0.41-6.34-0.53-12.67-0.16-19c0.52-13.98-0.5-27.97,0.22-41.96c-0.39-14.01-0.37-28.03-0.02-42.04
c-0.5-8.01,0.41-16.01-0.01-24.01c-0.05-17.01-0.28-34.01,0.2-51c-0.74-17.98-0.53-36-0.18-53.99
c-0.63-12.01-0.01-24.04-0.24-36.06c0.78-12.61-0.44-25.25,0.25-37.87c-0.45-8.35,0.37-16.68-0.11-25.02
c0.43-18.36-0.83-36.73,0.25-55.07c-0.06-8.34-0.79-16.67-0.05-25.01c-0.56-14.98-0.48-29.99-0.08-44.98
c-1.01-14.33,0.82-28.66-0.31-42.98C702.27,20,701.4,9.98,702.3,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M729.27,0h22.07c-0.41,6.99,0.16,14.01-0.55,20.99
c0.53,20.31-0.53,40.65,0,60.97c1.21,10.35-0.84,20.71,0,31.08c1.58,17.32-0.75,34.64-0.04,51.97c0.45,6.67-0.32,13.36,0.39,20.02
c0.7,7.64-0.37,15.27-0.51,22.9c0.72,17.7,0.1,35.38,0.42,53.08c-0.22,5.32-0.71,10.65-0.14,15.96c0.6,6.67-0.69,13.34,0.03,20.01
c-0.37,16.01-0.31,32.04-0.16,48.05c1.05,8.32-0.5,16.63-0.09,24.97c-0.24,10.34,0.64,20.67-0.02,31.01
c0.24,11.66-0.03,23.32,0.44,34.96c-0.81,8.68-0.19,17.39,0,26.08c0.69,7.97-0.74,15.91-0.21,23.89
c-0.67,14.34,0.33,28.68,0.31,43.03c-1.02,11.98-0.3,24.01-0.53,36.02c-0.28,7.01,0.77,14,0.14,21.01
c-0.62,9.34,0.3,18.67,0.52,28c-0.85,11.96-0.9301,23.98-0.22,35.96c-0.73,13.0099-0.49,26.06,0.06,39.07
c-0.16,4.3199-0.82,8.64-0.29,12.97c1,6.97-0.87,13.96,0.14,20.94c1,8.01-0.66,16-0.35,24.02c0.66,8.34,0.16,16.7,0.64,25.05
c-0.94,11.99-0.14,24.02-0.61,36.02c0.2,6.6299,0.17,13.27,0.45,19.9c-0.7599,12.66-0.6,25.36-0.11,38.03
c-0.54,8.67-0.38,17.36-0.33,26.05c0.82,15.66-0.79,31.35,0.3101,47.02c-0.32,5.99,0.1,11.97,0.17,17.96
c-1.34,14.32,0.15,28.68,0.02,43.02c-0.98,10.96-0.34,21.97-0.55,32.96c-0.19,6,0.58,11.98,0.67,17.99
c0.25,9.6801-1.6201,19.38-0.17,29.04h-21.73c-0.29-53.33-0.15-106.64-0.11-159.97c-0.47-13.69,0.55-27.39-0.41-41.07
c0.56-9.31,0.54-18.63,0.05-27.94c0.48-17.66,0.34-35.33,0.35-52.99c-0.06-82.02,0.03-164.03-0.01-246.0601
c-0.93-8.33,0.26-16.66,0.02-25c-0.12-13.33,0.23-26.66-0.27-39.99c0.62-14,0.01-28.02,0.13-42.02
c-0.72-6.99,0.44-13.98,0.14-20.98c-0.1-85.33,0.14-170.69-0.14-256c-0.23-8.65,0.54-17.3-0.14-25.95
c0.72-22.35-0.14-44.72,0.29-67.07C729.26,49.97,729.4,24.99,729.27,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M751.34,0h26.41c0.42,18.01,0.21,36.02,0.18,54.04
c0.58,12.31,0.22,24.64-0.14,36.95c0.88,15.33,0,30.66,0.11,46c0.46,8.34-0.4301,16.68-0.06,25.03
c0.4,9.34-0.3701,18.69,0.23,28.02c0.49,8.01-0.63,16-0.21,24.01c0.5,12.97-0.3,25.94,0,38.91c0.69,10.34-0.4,20.69,0.22,31.04
c-0.35,11.67,0.04,23.33,0.04,35c-0.7,13.02-0.22,26.05,0.11,39.07c-0.42,12.63-0.47,25.27-0.03,37.9
c-0.01,12.34-0.82,24.69-0.11,37.03c0.27,6.01-0.55,12-0.27,18.02c0.17,4.32,0.3,8.66,0.06,12.99
c-0.32,5.98,0.54,11.96,0.23,17.95c-0.66,17.33,0.12,34.66-0.12,52c-0.19,5.0099-0.31,10.04,0.06,15.05
c0.53,6.66-0.53,13.3-0.17,19.96c0.18,3.66,0.42,7.34,0.29,11.01c-0.97,18.34,0.27,36.7-0.3,55.05
c0.86,22.31-0.72,44.65,0.3,66.96c-0.16,29.65-0.6,59.31-0.07,88.96c0,15.33-0.34,30.67-0.29,46.01
c0.74,24.68-0.42,49.35,0.41,74.03c-0.61,12.32-0.37,24.65-0.43,36.98c0.47,14.98-0.23,29.97,0.02,44.97
c0.85,14.33-0.66,28.67,0.22,43.0099c0.73,10.03-0.65,20.05-0.09,30.0801c0.24,4.65-0.02,9.3099-0.2,13.97h-26.57
c-1.45-9.66,0.42-19.36,0.17-29.04c-0.09-6.01-0.86-11.99-0.67-17.99c0.21-10.99-0.43-22,0.55-32.96
c0.13-14.34-1.36-28.7-0.02-43.02c-0.07-5.99-0.49-11.97-0.17-17.96c-1.1-15.67,0.5099-31.36-0.3101-47.02
c-0.05-8.69-0.21-17.38,0.33-26.05c-0.49-12.67-0.65-25.37,0.11-38.03c-0.28-6.63-0.25-13.27-0.45-19.9
c0.47-12-0.33-24.03,0.61-36.02c-0.48-8.35,0.02-16.71-0.64-25.05c-0.31-8.02,1.35-16.01,0.35-24.02
c-1.01-6.98,0.86-13.97-0.14-20.94c-0.53-4.33,0.13-8.65,0.29-12.97c-0.55-13.01-0.79-26.0601-0.06-39.07
c-0.71-11.98-0.63-24,0.22-35.96c-0.22-9.33-1.14-18.66-0.52-28c0.63-7.01-0.42-14-0.14-21.01c0.23-12.01-0.49-24.04,0.53-36.02
c0.02-14.35-0.98-28.69-0.31-43.03c-0.53-7.98,0.9-15.92,0.21-23.89c-0.19-8.69-0.81-17.4,0-26.08
c-0.47-11.64-0.2-23.3-0.44-34.96c0.66-10.34-0.22-20.67,0.02-31.01c-0.41-8.34,1.14-16.65,0.09-24.97
c-0.15-16.01-0.21-32.04,0.16-48.05c-0.72-6.67,0.57-13.34-0.03-20.01c-0.5699-5.31-0.08-10.64,0.14-15.96
c-0.32-17.7,0.3-35.38-0.42-53.08c0.14-7.63,1.21-15.26,0.51-22.9c-0.71-6.66,0.06-13.35-0.39-20.02
c-0.71-17.33,1.62-34.65,0.04-51.97c-0.84-10.37,1.21-20.73,0-31.08c-0.53-20.32,0.53-40.66,0-60.97
C751.5,14.01,750.93,6.99,751.34,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M777.75,0h21.63c-1.38,7.28,0.43,14.64-0.58,21.95
c0.23,16.99-0.51,34,0.15,51c-0.88,7.36,0.89,14.71,0,22.07c-0.61,5.3,0.42,10.62-0.08,15.94c-0.63,7.32,0.51,14.65-0.06,21.99
c0.53,8-0.58,16.01,0.32,24c-0.59,9.68-0.1,19.39-0.1,29.08c-0.4301,7-0.6201,14.04,0.02,21.04c0.72,6.65-0.98,13.28-0.18,19.94
c0.56,5.32-0.29,10.67,0.26,16c0.64,5.69-0.57,11.37-0.1,17.06c0.25,3.32-0.03,6.65-0.27,9.96c-0.33,4.33,0.5,8.64,0.3,12.97
c-1.14,17.32,0.43,34.68-0.37,52c-0.22,6.35,1.19,12.68,0.35,19.02c-0.42,9.68-0.24,19.38-0.06,29.06
c-0.85,7.29,0.22,14.58,0.3,21.87c-1.15,14.65-0.5,29.36-0.1,44.03c-0.43,8.68-0.35,17.38-0.49,26.06
c0.86,7.63,0,15.29,0.31,22.94c-0.82,12.99,0.11,26.01-0.11,39.01c-0.41,16-0.22,32.01,0.36,48c-0.21,6.97-0.61,13.95-0.4,20.93
c0.34,13.02-0.55,26.04,0.05,39.06c0.71,15.35-0.85,30.7,0.1,46.05c-1.01,20.64,0.7,41.31-0.15,61.95
c0.56,19.33-0.56,38.7,0.4,58.03c-0.52,10.67-0.58,21.37-0.1,32.05c-1.14,9.63,0.49,19.29-0.1801,28.94
c-0.4399,6.67-0.48,13.37,0.2,20.03c0.52,4.99-0.61,9.96-0.32,14.96c0.57,7.98-0.24,15.98,0.07,23.98
c0.61,11,0.62,22.04-0.19,33.04c0.27,6.33,0.23,12.66-0.08,19c1,13.98-0.62,28,0.27,41.99c0.27,3.3199,0.11,6.65-0.13,9.98
c-0.55,6.7001,0.96,13.36,0.4901,20.0601c-0.91,8.2999-0.05,16.63-0.2401,24.96h-21.3c0.18-4.66,0.44-9.3199,0.2-13.97
c-0.56-10.03,0.82-20.05,0.09-30.0801c-0.88-14.34,0.6299-28.6799-0.22-43.0099c-0.25-15,0.45-29.99-0.02-44.97
c0.06-12.33-0.18-24.66,0.43-36.98c-0.83-24.68,0.33-49.35-0.41-74.03c-0.05-15.34,0.29-30.68,0.29-46.01
c-0.53-29.65-0.09-59.31,0.07-88.96c-1.02-22.31,0.56-44.65-0.3-66.96c0.57-18.35-0.67-36.71,0.3-55.05
c0.13-3.67-0.11-7.35-0.29-11.01c-0.36-6.66,0.7-13.3,0.17-19.96c-0.37-5.01-0.25-10.04-0.06-15.05c0.24-17.34-0.54-34.67,0.12-52
c0.31-5.99-0.55-11.97-0.23-17.95c0.24-4.33,0.11-8.67-0.06-12.99c-0.28-6.02,0.54-12.01,0.27-18.02
c-0.71-12.34,0.1-24.69,0.11-37.03c-0.44-12.63-0.39-25.27,0.03-37.9c-0.33-13.02-0.81-26.05-0.11-39.07
c0-11.67-0.39-23.33-0.04-35c-0.62-10.35,0.47-20.7-0.22-31.04c-0.3-12.97,0.5-25.94,0-38.91c-0.42-8.01,0.7-16,0.21-24.01
c-0.6-9.33,0.17-18.68-0.23-28.02c-0.3701-8.35,0.52-16.69,0.06-25.03c-0.11-15.34,0.77-30.67-0.11-46
c0.36-12.31,0.72-24.64,0.14-36.95C777.96,36.02,778.17,18.01,777.75,0z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M799.38,0h26.36c0.74,9.31-0.42,18.65,0.32,27.96
c0.35,5.01-0.13,10.02-0.22,15.03c0.03,12.67,0.03,25.33,0.27,38c-0.94,20.33,0.85,40.68-0.24,61.01
c0.65,16.32-0.13,32.65,0.11,48.98c-0.5,10.36,0.71,20.71-0.13,31.06c-0.03,10.64,0.77,21.29,0.15,31.93
c-0.53,6.69,0.49,13.38-0.04,20.07c0.13,16-0.31,31.99,0.13,47.99c-0.22,5.67-0.47,11.35-0.1,17.02
c-0.38,22.32,0.34,44.63,0.07,66.95c-0.47,6.99,0.19,13.99,0.1,20.98c0.26,15.68-0.5699,31.34-0.31,47.02
c0.35,6.67,0.53,13.36,0.08,20.04c0.49,24.65-0.56,49.29,0.25,73.94c-0.25,11-0.41,22.01-0.11,33.01
c0.36,11.34-0.53,22.67-0.13,34.01c0.58,7.03-0.32,14.06-0.01,21.1c-0.13,7.64,0.52,15.27,0.18,22.91
c-0.47,8.33,0.53,16.66-0.07,24.99c-0.62,7,0.4,14.02-0.12,21.03c-0.4,5.65,0.43,11.29,0.21,16.95
c-0.51,17.36-0.31,34.72-0.06,52.08c0.37,13.63-0.26,27.28,0.06,40.92c-0.53,7.34,0.38,14.68-0.17,22.02
c-0.4901,8.01,0.53,16,0.25,24.01c0.19,13.68-0.81,27.34-0.21,41.01c0.1,7.66-0.35,15.33,0.1,22.99
c0.46,6.99-0.64,13.98-0.11,20.98c0.59,7.66-0.12,15.34-0.22,23.01c0.12,14.36,0.62,28.72,0.09,43.0699
c0.61,8.3-0.5,16.6001,0.13,24.9c0.5,7.67-0.43,15.36,0.34,23.03h-27.29c0.19-8.33-0.67-16.66,0.2401-24.96
c0.47-6.7001-1.04-13.36-0.4901-20.0601c0.2401-3.33,0.4-6.66,0.13-9.98c-0.89-13.99,0.73-28.01-0.27-41.99
c0.31-6.34,0.35-12.67,0.08-19c0.81-11,0.8-22.04,0.19-33.04c-0.31-8,0.5-16-0.07-23.98c-0.29-5,0.84-9.97,0.32-14.96
c-0.68-6.66-0.64-13.36-0.2-20.03c0.67-9.65-0.96-19.31,0.1801-28.94c-0.48-10.68-0.42-21.38,0.1-32.05
c-0.96-19.33,0.16-38.7-0.4-58.03c0.85-20.64-0.86-41.31,0.15-61.95c-0.95-15.35,0.61-30.7-0.1-46.05
c-0.6-13.02,0.29-26.04-0.05-39.06c-0.21-6.98,0.19-13.96,0.4-20.93c-0.58-15.99-0.77-32-0.36-48c0.22-13-0.71-26.02,0.11-39.01
c-0.31-7.65,0.55-15.31-0.31-22.94c0.14-8.68,0.06-17.38,0.49-26.06c-0.4-14.67-1.05-29.38,0.1-44.03
c-0.08-7.29-1.15-14.58-0.3-21.87c-0.18-9.68-0.36-19.38,0.06-29.06c0.84-6.34-0.57-12.67-0.35-19.02
c0.8-17.32-0.77-34.68,0.37-52c0.2-4.33-0.63-8.64-0.3-12.97c0.24-3.31,0.52-6.64,0.27-9.96c-0.47-5.69,0.74-11.37,0.1-17.06
c-0.55-5.33,0.3-10.68-0.26-16c-0.8-6.66,0.9-13.29,0.18-19.94c-0.64-7-0.45-14.04-0.02-21.04c0-9.69-0.4901-19.4,0.1-29.08
c-0.9-7.99,0.21-16-0.32-24c0.57-7.34-0.57-14.67,0.06-21.99c0.5-5.32-0.53-10.64,0.08-15.94c0.89-7.36-0.88-14.71,0-22.07
c-0.66-17,0.08-34.01-0.15-51C799.81,14.64,798,7.28,799.38,0z"/>
<path fill="#FBF176" stroke="#FBF176" stroke-width="0.0938" d="M825.74,0h62.14c-0.37,8.67,0.49,17.33,0.36,26.01
c-0.09,13.35,0.17,26.7-0.41,40.05c-0.29,7.97,0.45,15.95,0.03,23.92c-0.49,14.02,0.55,28.04-0.05,42.05
c-0.2,288.99-0.15,577.99-0.22,866.98c0.49,7.23-1.21,14.75,1.21,21.74l0.23,0.85c-2.33,4.5-4.95,8.85-7.28,13.35
c-0.55,0.99-1.1,1.99-1.63,3c3.12,0.02,6.25,0.0801,9.38,0.2201c-0.56,5.61-0.8,11.24-0.34,16.87
c-0.15,8.3099-1.35,16.74,0.55,24.96h-63.38c-0.77-7.67,0.16-15.36-0.34-23.03c-0.63-8.2999,0.48-16.6-0.13-24.9
c0.53-14.35,0.03-28.71-0.09-43.0699c0.1-7.67,0.81-15.35,0.22-23.01c-0.53-7,0.57-13.99,0.11-20.98c-0.45-7.66,0-15.33-0.1-22.99
c-0.6-13.67,0.4-27.33,0.21-41.01c0.28-8.01-0.7401-16-0.25-24.01c0.55-7.34-0.36-14.68,0.17-22.02
c-0.32-13.64,0.31-27.29-0.06-40.92c-0.25-17.36-0.45-34.72,0.06-52.08c0.22-5.66-0.61-11.3-0.21-16.95
c0.52-7.01-0.5-14.03,0.12-21.03c0.6-8.33-0.4-16.66,0.07-24.99c0.34-7.64-0.31-15.27-0.18-22.91
c-0.31-7.04,0.59-14.0699,0.01-21.1c-0.4-11.34,0.49-22.67,0.13-34.01c-0.3-11-0.14-22.01,0.11-33.01
c-0.81-24.65,0.24-49.29-0.25-73.94c0.45-6.68,0.27-13.37-0.08-20.04c-0.2599-15.68,0.57-31.34,0.31-47.02
c0.09-6.99-0.5699-13.99-0.1-20.98c0.27-22.32-0.45-44.63-0.07-66.95c-0.37-5.67-0.12-11.35,0.1-17.02
c-0.44-16,0-31.99-0.13-47.99c0.53-6.69-0.4901-13.38,0.04-20.07c0.62-10.64-0.18-21.29-0.15-31.93
c0.84-10.35-0.37-20.7,0.13-31.06c-0.24-16.33,0.54-32.66-0.11-48.98c1.09-20.33-0.7-40.68,0.24-61.01
c-0.24-12.67-0.24-25.33-0.27-38c0.09-5.01,0.5699-10.02,0.22-15.03C825.32,18.65,826.48,9.31,825.74,0z"/>
<path fill="#DEF6AC" stroke="#DEF6AC" stroke-width="0.0938" d="M887.88,0h1.31c0.24,108-0.29,215.99-0.19,323.99
c0.08,8.92-0.19,17.85,0.12,26.77c0.23,113.09-0.24,226.19-0.15,339.29c0.02,1.85,0.1201,3.71,0.2401,5.57
c0,104.78-0.33,209.56-0.28,314.35c0.01,3.59-0.11,7.1801-0.13,10.78c-2.42-6.99-0.72-14.51-1.21-21.74
c0.0699-288.99,0.02-577.99,0.22-866.98c0.6-14.01-0.44-28.03,0.05-42.05c0.42-7.97-0.32-15.95-0.03-23.92
c0.58-13.35,0.32-26.7,0.41-40.05C888.37,17.33,887.51,8.67,887.88,0z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1244.53,69.49c12.1799-13.49,32.71-17.89,49.6-11.62
c10.34,3.97,19.1899,11.67,24.45,21.43c4.12,7.36,5.3201,15.86,5.61,24.17c6.77,2.35,13.05,7.39,14.89,14.58
c2.67,8.61-0.97,18.57-8.59,23.38c-5.2,3.94-11.98,3.6-18.09,2.88c-0.62,2.6-1.2001,5.2-1.89,7.78
c-4.24,9.84-11.9301,18.34-21.91,22.51c-7.9299,3.7-16.88,3.7-25.39,2.67c-6.09,14.38-15.9199,27.19-28.6699,36.27
c-14.0601,10.16-31.4501,15.62-48.8,15.33c-21.38,0.12-42.6-8.86-57.5699-24.09c-1.99-1.92-3.5601-4.42-6.0901-5.64
c-3.5499,1.24-6.6499,3.44-10.11,4.86c-21.52,9.4-48.28,5.22-65.72-10.58c-10.2-8.9-17.27-21.19-20.01-34.42
c-2.26-12.54-1.28-25.82,3.9401-37.52c9.2799-21.46,31.2999-36.74,54.75-37.36c13.1699-0.81,26.0299,3.45,37.25,10.1
c1.5199-1.5,3.0399-3,4.5599-4.52c10.85-11.38,24.95-19.78,40.3-23.35c23.74-5.94,49.77-0.33,69.3099,14.31
C1238.97,76.86,1241.38,72.89,1244.53,69.49z"/>
<path fill="#998675" stroke="#998675" stroke-width="0.0938" d="M1656.11,178.1c24.9501-0.07,49.9,0.11,74.86-0.09
c1.99-0.04,4.01-0.08,6.05-0.08c17.3199,0.26,34.64,0.24,51.96,0.04c2,0,4.03,0.03,6.0701,0.07
c41.6499,0.11,83.2999,0.03,124.95,0.03V1080h-206.78c-0.09-14.33-0.0699-28.67-0.03-43c0.0801-4.62,0.0801-9.25-0.3999-13.84
c-0.5601-4.73,0.2899-9.44,0.4199-14.15c-0.01-29.01,0.02-58.02-0.02-87.03c-0.83-9.66,0.3101-19.33-0.0399-29
c0.51-7.34-1.0701-14.68,0.0499-21.98c0.3601-2.3-0.0499-4.59-0.6399-6.79c0.98-2.7401,2.1699-5.51,4.5-7.37
c0.0499-1.89,0.09-3.77,0.11-5.63c-4.02-2.69-3.8301-7.94-4.02-12.2c0.12-21.34,0.0599-42.68,0.03-64.02
c-0.64-5.56-0.4801-11.17,1.1799-16.54c0.35,0.34,1.0601,1.03,1.41,1.38c0.46-1.29,0.91-2.59,1.35-3.89
c0.09-2.02,0.0601-4.04,0.0699-6.04c-2.3999-0.2-4.7799-0.37-7.1599-0.22c-0.16-25.21-0.03-50.42-0.0701-75.63
c-10.0299,0.05-20.0599-0.18-30.08,0.08c0.28-21.12,0.3199-42.24,0-63.36l0.02-0.83c-3.29-0.01-6.5801-0.04-9.84,0.15l-1.04,0.08
c-0.3,20.91,0.33,41.84-0.28,62.75c-3.98-0.16-7.98-0.05-11.8099,1.1l-1.02,0.04c-0.0601-0.84-0.1901-2.51-0.26-3.35
c1-11.21,0.34-22.48,0.53-33.72c0.13-28.01-0.3101-56.01,0-84.02c-0.4801-16.83,0.4199-33.67-0.39-50.5
c0.6699-10.15,0.22-20.33,0.33-30.49c-0.01-28.65,0.0601-57.3-0.08-85.95c0.0699-19.86,0.2899-39.75-0.27-59.59
c0.72-21.14,0.13-42.3,0.3199-63.44C1656.11,234.7,1655.88,206.4,1656.11,178.1 M1670,204c0,33.33-0.01,66.66,0,99.99
c3.3199,0.01,6.65,0.01,9.99,0.01c0.02-33.34,0.01-66.67,0.01-100C1676.65,204,1673.3199,204,1670,204 M1722,204
c0.01,33.33-0.02,66.67,0.01,100c3.3199,0,6.64,0,9.98-0.01c0.01-33.33,0.02-66.66,0-99.99C1728.65,204,1725.3199,204,1722,204
M1774,204c0.01,33.33-0.01,66.67,0.01,100c3.3199,0,6.64,0,9.98,0c0.01-33.33,0.01-66.66,0-99.99
C1780.65,204,1777.3199,204,1774,204 M1826,204c0,33.33-0.01,66.66,0,99.99c3.3199,0.01,6.65,0.01,10,0
c-0.01-33.33,0.01-66.66-0.01-99.99C1832.65,204,1829.3199,204,1826,204 M1878,204c0,33.33-0.01,66.67,0.01,100
c3.3099,0,6.64,0,9.99-0.01c0-33.33,0-66.66,0-99.99C1884.65,204,1881.3199,204,1878,204 M1670,336c-0.01,33.34,0,66.67,0,100
c3.3199,0,6.65,0,9.99,0c0.01-33.33,0.01-66.66,0.01-99.99C1676.66,336,1673.3199,336,1670,336 M1722.01,336
c-0.02,33.33,0,66.67-0.01,100c3.3199,0,6.64,0,9.98,0c0.04-33.33,0.02-66.66,0.01-99.99C1728.65,336,1725.33,336,1722.01,336
M1774.01,336c-0.02,33.33-0.01,66.67-0.01,100c3.3199,0,6.65,0,10,0c0-33.33,0-66.66,0-99.99
C1780.65,336,1777.3199,336,1774.01,336 M1826.01,336c-0.02,33.33-0.01,66.67-0.01,100c3.3199,0,6.65,0,10,0
c0-33.33,0-66.66,0-99.99C1832.65,336,1829.3199,336,1826.01,336 M1878.01,336c-0.02,33.33-0.01,66.67-0.01,100
c3.3199,0,6.65,0,9.99,0c0.01-33.33,0.01-66.67,0-100C1884.65,336,1881.3199,336,1878.01,336 M1670.01,469.01
c-0.05,33.33-0.03,66.65,0,99.98c3.3099,0.03,6.64,0.04,9.98,0.02c0.04-33.34,0.03-66.67,0.01-100.01
C1676.66,468.97,1673.33,468.98,1670.01,469.01 M1722,469c-0.03,33.34-0.02,66.68,0,100.01c3.3199,0.01,6.65,0.01,9.99,0.01
c0.04-33.34,0.03-66.68,0.01-100.02C1728.66,468.97,1725.3199,468.97,1722,469 M1774.01,469.01c-0.04,33.33-0.05,66.66,0,99.99
c3.3199,0.02,6.65,0.03,9.98,0.01c0.04-33.34,0.04-66.67,0.01-100.01C1780.66,468.97,1777.33,468.97,1774.01,469.01 M1826,469
c-0.02,33.34-0.02,66.67-0.01,100.01c3.33,0.01,6.66,0.01,10.01,0c0.01-33.33,0-66.66,0-99.99
C1832.66,468.98,1829.3199,468.97,1826,469 M1878.01,469.01c-0.05,33.33-0.03,66.65-0.01,99.97c3.3199,0.04,6.65,0.05,10,0.03
c0.02-33.34,0.02-66.68,0-100.01C1884.66,468.97,1881.33,468.98,1878.01,469.01 M1722.02,610c-0.04,33.33-0.02,66.66-0.01,99.99
c3.3099,0,6.64,0.01,9.98,0.01c0.02-33.33,0.01-66.67,0.01-100C1728.66,610,1725.34,610,1722.02,610 M1774.02,610
c-0.03,33.33-0.05,66.66,0.01,99.99c3.3099,0.01,6.63,0.01,9.97,0c0-33.33,0-66.66,0-99.99
C1780.66,610,1777.33,609.99,1774.02,610 M1826,610c0,33.33-0.01,66.66,0.01,99.99c3.3099,0.01,6.64,0.01,9.98,0.01
c0.02-33.33,0-66.67,0.01-100C1832.66,610,1829.3199,610,1826,610 M1878.01,610.01c-0.02,33.32-0.01,66.64,0,99.96
c3.3199,0.03,6.65,0.03,9.99,0.03c0-33.33,0-66.66,0-99.99C1884.66,609.99,1881.33,609.99,1878.01,610.01 M1722.03,766.02
c-0.0601,33.31-0.02,66.63-0.02,99.95c3.3199,0.02,6.65,0.03,9.99,0.03c0-33.33,0-66.67,0-100
C1728.66,765.99,1725.34,765.99,1722.03,766.02 M1774.01,766.02c-0.01,33.32-0.03,66.64,0.01,99.96
c3.3099,0.02,6.63,0.02,9.97,0.02c0.02-33.33,0.01-66.66,0-99.99C1780.65,765.99,1777.33,765.99,1774.01,766.02 M1826.01,766.07
c0.03,33.29-0.22,66.59,0.05,99.89c3.3099-0.01,6.6399-0.02,9.98-0.01c-0.04-33.32-0.05-66.65-0.01-99.97
C1832.6801,765.97,1829.34,766.01,1826.01,766.07 M1878.02,766.01c-0.04,33.32-0.02,66.64-0.01,99.96
c3.3099,0.02,6.64,0.03,9.97,0.03c0.03-33.33,0.03-66.67,0.01-100C1884.65,765.99,1881.33,765.99,1878.02,766.01 M1722.02,922
c-0.04,33.33-0.03,66.67-0.01,100c3.3199-0.01,6.65-0.01,9.99,0c0-33.33,0-66.67,0-100C1728.66,921.99,1725.34,921.99,1722.02,922
M1774.02,922c-0.03,33.33-0.05,66.66,0.01,99.99c3.3099,0.01,6.63,0,9.97,0.01c0.01-33.33,0-66.66,0-99.99
C1780.66,921.99,1777.34,921.99,1774.02,922 M1826.01,922c-0.02,33.33-0.01,66.66-0.01,99.99c3.3199,0,6.65,0,10,0.01
c0-33.33,0-66.67,0-100C1832.66,921.99,1829.33,921.99,1826.01,922 M1878.02,922.01c-0.04,33.32-0.02,66.64-0.01,99.96
c3.3099,0.02,6.64,0.03,9.99,0.03c0-33.34,0-66.67,0-100C1884.66,921.99,1881.33,921.99,1878.02,922.01z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1670,204c3.3199,0,6.65,0,10,0c0,33.33,0.01,66.66-0.01,100
c-3.34,0-6.67,0-9.99-0.01C1669.99,270.66,1670,237.33,1670,204 M1670.22,204.22c-0.02,33.19-0.03,66.38,0.01,99.57
c3.17,0.01,6.35,0,9.55-0.02c0-33.18-0.01-66.35,0-99.53C1676.58,204.21,1673.39,204.2,1670.22,204.22z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1722,204c3.3199,0,6.65,0,9.99,0c0.02,33.33,0.01,66.66,0,99.99
c-3.34,0.01-6.66,0.01-9.98,0.01C1721.98,270.67,1722.01,237.33,1722,204 M1722.23,204.26c-0.03,33.17-0.03,66.35,0,99.53
c3.17,0.01,6.35,0.01,9.54,0c0.0599-33.19,0.02-66.39,0.02-99.59C1728.59,204.2,1725.4,204.21,1722.23,204.26z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1774,204c3.3199,0,6.65,0,9.99,0.01
c0.01,33.33,0.01,66.66,0,99.99c-3.34,0-6.66,0-9.98,0C1773.99,270.67,1774.01,237.33,1774,204 M1774.24,204.23
c-0.0599,33.19-0.04,66.37-0.01,99.56c3.1801,0.01,6.36,0.01,9.5601-0.01c0.01-33.17,0.0499-66.35-0.01-99.52
C1780.58,204.21,1777.4,204.2,1774.24,204.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1826,204c3.3199,0,6.65,0,9.99,0c0.02,33.33,0,66.66,0.01,99.99
c-3.35,0.01-6.6801,0.01-10,0C1825.99,270.66,1826,237.33,1826,204 M1826.1801,204.23c0.0599,33.18,0.0099,66.36,0.0299,99.54
c3.17,0.02,6.36,0.03,9.5601,0.02c0.03-33.19,0.04-66.38,0-99.56C1832.5601,204.2,1829.36,204.21,1826.1801,204.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1878,204c3.3199,0,6.65,0,10,0c0,33.33,0,66.66,0,99.99
c-3.35,0.01-6.6801,0.01-9.99,0.01C1877.99,270.67,1878,237.33,1878,204 M1878.21,204.23c-0.01,33.18-0.01,66.36,0,99.55
c3.17,0.01,6.3501,0.02,9.55,0.01c0.03-33.19,0.02-66.37,0.01-99.56C1884.5699,204.2,1881.39,204.2,1878.21,204.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1670.22,204.22c3.17-0.02,6.36-0.01,9.5601,0.02
c-0.01,33.18,0,66.35,0,99.53c-3.2001,0.02-6.38,0.03-9.55,0.02C1670.1899,270.6,1670.2,237.41,1670.22,204.22z"/>
<path fill="#FFF568" stroke="#FFF568" stroke-width="0.0938" d="M1722.23,204.26c3.17-0.05,6.36-0.06,9.5601-0.06
c0,33.2,0.0399,66.4-0.02,99.59c-3.1901,0.01-6.37,0.01-9.54,0C1722.2,270.61,1722.2,237.43,1722.23,204.26z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1774.24,204.23c3.16-0.03,6.34-0.02,9.54,0.03
c0.0599,33.17,0.02,66.35,0.01,99.52c-3.2001,0.02-6.38,0.02-9.5601,0.01C1774.2,270.6,1774.1801,237.42,1774.24,204.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.1801,204.23c3.1799-0.02,6.38-0.03,9.59,0
c0.04,33.18,0.03,66.37,0,99.56c-3.2001,0.01-6.39,0-9.5601-0.02C1826.1899,270.59,1826.24,237.41,1826.1801,204.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1878.21,204.23c3.1801-0.03,6.36-0.03,9.5601,0
c0.01,33.19,0.02,66.37-0.01,99.56c-3.2,0.01-6.38,0-9.55-0.01C1878.2,270.59,1878.2,237.41,1878.21,204.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1670,336c3.3199,0,6.66,0,10,0.01c0,33.33,0,66.66-0.01,99.99
c-3.34,0-6.67,0-9.99,0C1670,402.67,1669.99,369.34,1670,336 M1670.21,336.23c0,33.16-0.02,66.33,0.01,99.5
c3.17,0.04,6.36,0.06,9.55,0.06c0-33.2,0.03-66.39-0.01-99.58C1676.5601,336.2,1673.38,336.2,1670.21,336.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1722.01,336c3.3199,0,6.64,0,9.98,0.01
c0.01,33.33,0.03,66.66-0.01,99.99c-3.34,0-6.66,0-9.98,0C1722.01,402.67,1721.99,369.33,1722.01,336 M1722.22,336.22
c0,33.17-0.0499,66.35,0.02,99.53c3.17,0.03,6.35,0.05,9.55,0.04c0.02-33.19,0.01-66.37,0.01-99.56
C1728.59,336.2,1725.4,336.19,1722.22,336.22z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1774.01,336c3.3099,0,6.64,0,9.99,0.01c0,33.33,0,66.66,0,99.99
c-3.35,0-6.6801,0-10,0C1774,402.67,1773.99,369.33,1774.01,336 M1774.22,336.22c-0.01,33.17-0.0399,66.35,0.01,99.53
c3.17,0.03,6.34,0.03,9.53,0.01c0.1-33.18,0.03-66.36,0.03-99.54C1780.59,336.2,1777.4,336.2,1774.22,336.22z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1826.01,336c3.3099,0,6.64,0,9.99,0.01c0,33.33,0,66.66,0,99.99
c-3.35,0-6.6801,0-10,0C1826,402.67,1825.99,369.33,1826.01,336 M1826.23,336.21c-0.0699,33.19,0.03,66.37-0.0599,99.56
c3.1899,0.02,6.39,0.02,9.6,0c0.03-33.19,0.03-66.37,0-99.55C1832.58,336.2,1829.4,336.2,1826.23,336.21z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1878.01,336c3.3099,0,6.64,0,9.98,0c0.01,33.33,0.01,66.67,0,100
c-3.34,0-6.67,0-9.99,0C1878,402.67,1877.99,369.33,1878.01,336 M1878.22,336.22c-0.01,33.17-0.0399,66.34,0.01,99.51
c3.17,0.04,6.35,0.06,9.54,0.06c0-33.19,0.03-66.39-0.01-99.58C1884.5699,336.2,1881.39,336.2,1878.22,336.22z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1670.21,336.23c3.17-0.03,6.3501-0.03,9.55-0.02
c0.04,33.19,0.01,66.38,0.01,99.58c-3.1901,0-6.38-0.02-9.55-0.06C1670.1899,402.56,1670.21,369.39,1670.21,336.23z"/>
<path fill="#FFF568" stroke="#FFF568" stroke-width="0.0938" d="M1722.22,336.22c3.1801-0.03,6.37-0.02,9.5801,0.01
c0,33.19,0.01,66.37-0.01,99.56c-3.2001,0.01-6.38-0.01-9.55-0.04C1722.17,402.57,1722.22,369.39,1722.22,336.22z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1774.22,336.22c3.1801-0.02,6.37-0.02,9.5701,0
c0,33.18,0.0699,66.36-0.03,99.54c-3.1901,0.02-6.36,0.02-9.53-0.01C1774.1801,402.57,1774.21,369.39,1774.22,336.22z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.23,336.21c3.17-0.01,6.35-0.01,9.54,0.01
c0.03,33.18,0.03,66.36,0,99.55c-3.21,0.02-6.41,0.02-9.6,0C1826.26,402.58,1826.16,369.4,1826.23,336.21z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1878.22,336.22c3.17-0.02,6.35-0.02,9.54-0.01
c0.04,33.19,0.01,66.39,0.01,99.58c-3.1901,0-6.37-0.02-9.54-0.06C1878.1801,402.56,1878.21,369.39,1878.22,336.22z"/>
<path fill="#8A8C8E" stroke="#8A8C8E" stroke-width="0.0938" d="M1297.71,391.37c3.3501-5.66,6.89-11.21,10.79-16.5
c0.25,0.39,0.74,1.18,0.99,1.57c-0.6899,4.9-0.58,9.86-0.92,14.78c-2.2599-0.03-4.49-0.08-6.72-0.01l-0.98,0.05
C1300.08,391.28,1298.5,391.34,1297.71,391.37z"/>
<path fill="#666668" stroke="#666668" stroke-width="0.0938" d="M1308.5699,391.22c0.3401-4.92,0.2301-9.88,0.92-14.78
c2.95,4.66,5.99,9.27,9.17,13.78c-0.89,0.37-1.75,0.76-2.6,1.15c0.0399,2.92,0.0499,5.85,0.0199,8.77l-1.13-0.04
c-0.0199-3.03-0.0299-6.05-0.0399-9.07c-1.9701,0-3.9401-0.01-5.89-0.01c-0.0701,2.96-0.13,5.92-0.15,8.88l-0.78-0.01
C1308.2,397,1308.34,394.11,1308.5699,391.22z"/>
<path fill="#80807F" stroke="#80807F" stroke-width="0.0938" d="M1300.87,391.26l0.98-0.05c-0.01,2.9,0,5.8,0.04,8.71
c2.0499-0.02,4.12-0.04,6.2-0.03l0.78,0.01c2.01,0.04,4.04,0.12,6.08,0.2l1.13,0.04c-0.0699,3.91-0.0199,7.82-0.0399,11.74
c-0.04,1.64-0.0601,3.29-0.05,4.94c-5.13,0.26-10.3199,0.53-15.37-0.6C1301.39,407.91,1301.0601,399.58,1300.87,391.26z"/>
<path fill="#ABA18B" stroke="#ABA18B" stroke-width="0.0938" d="M1047.34,419.08c0.0601-0.86,0.17-1.71,0.3101-2.56
c0.21,0.28,0.62,0.84,0.83,1.12c-0.0599,220.78,0.2001,441.58-0.01,662.36h-0.5599c-0.3301-17.97,0.21-35.9399-0.3-53.9
c-0.09-52.37-0.08-104.74-0.1-157.12c-0.04-1.8-0.11-3.59-0.21-5.37c0.5299-24.19,0.0399-48.39,0.2-72.59
c0-57.31-0.04-114.63-0.0601-171.95c-0.1299-23.95,0.2301-47.9-0.22-71.84c0.51-24.05,0.0701-48.14,0.2101-72.2
C1047.39,456.38,1047.49,437.73,1047.34,419.08z"/>
<path fill="#F78E55" stroke="#F78E55" stroke-width="0.0938" d="M1048.48,417.64c89.17-0.14,178.34,0.12,267.5-0.15
c6.63,0.11,13.26,0.14,19.9,0.01c0.96,6.79,0.42,13.66,0.54,20.5c0.0199,68.67-0.04,137.33-0.04,206
c0.2,10.12-0.5,20.28,0.39,30.38c1.08,9.18,0.26,18.44,0.51,27.66c-0.23,15.97,0.47,31.97-0.37,47.92c-0.1,2-0.1,4.02,0.01,6.04
c0.83,15.97,0.13,31.98,0.36,47.98c-0.22,15.68,0.47,31.39-0.39,47.06c-0.1,2.05-0.0601,4.1,0.09,6.16
c0.9,10.59,0.24,21.22,0.4401,31.84c0.0199,63.65-0.0601,127.3,0.0399,190.96h-26.88c-0.48-2.3199-0.61-4.6801-0.5499-7.02
c-0.04-201.66,0.0499-403.32-0.0601-604.97c-0.36-8.65,0.62-17.31-0.1899-25.93l-0.0901-0.71
c-4.5199-0.24-9.0299-0.05-13.5299,0.06c-0.98,9.49-0.27,19.05-0.4701,28.58c0.0801,203.33-0.1299,406.66,0.0901,609.99h-13.51
c0.26-107.99,0-215.98,0.13-323.97c-0.05-94.66-0.01-189.32-0.02-283.97c-0.24-10.32,0.61-20.68-0.5699-30.96
c-4.89-0.12-9.78-0.04-14.66,0.27c-0.02,212.87,0.1,425.75-0.05,638.63h-15.23c0.45-23.33-0.1899-46.66,0.1901-69.99
c-0.26-27,0.0299-53.99-0.0601-80.99c0.26-25.67-0.24-51.35-0.01-77.02c-0.08-132.33,0.08-264.67,0-397
c0.08-4.38-0.08-8.76-0.1899-13.13c-4.2201,0.12-8.4401,0.24-12.65,0.3c0.08,12.96-0.15,25.92-0.29,38.89
c0.5,18.33-0.26,36.66,0.3101,54.99c0.0299,5.32-0.38,10.64-0.1001,15.96c0.3301,7.33-0.5499,14.66-0.13,22
c0.4301,6.33-0.34,12.65,0.04,18.98c0.5601,9.01-0.51,18.01-0.0499,27.02c0.6599,12.65-0.3401,25.3,0.1,37.95
c0.47,9.34-0.4,18.68,0.08,28.02c-0.28,41.01,0.13,82.02-0.1899,123.04c0.62,9.68-0.4,19.36,0.0199,29.06
c0.5801,10.97-0.23,21.94-0.08,32.92c0.35,11.32,0.48,22.66,0.03,33.98c0.17,39.32,0.08,78.65-0.02,117.98
c0.5601,12.67-0.4,25.35,0.16,38.03c-0.01,6.33-0.4501,12.67,0.09,19.01h-14.86c0.16-210.99,0.01-421.98,0.08-632.97
c-0.02-1.42-0.0499-2.83-0.09-4.24c-0.35-0.13-1.05-0.4-1.4-0.54c-4.24-0.29-8.49-0.13-12.72-0.14
c-0.51,55.3-0.02,110.62-0.22,165.93c0.0299,157.32,0.01,314.64,0,471.96h-15.63c0.23-103.65,0.02-207.31,0.1-310.97
c-0.02-103.34,0-206.6801,0-310.01c0.03-5.92,0.16-11.84-0.46-17.73c-4.89-0.17-9.77-0.21-14.65-0.08
c-0.22,212.93,0.08,425.86-0.16,638.79h-16.29c0.3301-103.01-0.0699-206.03,0.13-309.04c0.26-26.67-0.5199-53.35,0.12-80.03
c-0.5599-38.64,0.0701-77.3-0.23-115.94c0.0801-18.33,0.1-36.65,0.0601-54.98c0.62-10-0.0801-20,0.11-30
c-0.37-15.95,0.11-31.9-0.16-47.85c-4.24-0.21-8.49-0.28-12.73-0.09c-0.05,12.99-0.45,25.97-0.02,38.95
c-0.5,49.01,0.14,98.01-0.1899,147.02c0.2999,106.33-0.15,212.65,0.1599,318.9901c-0.2899,44.3199,0.0601,88.65-0.12,132.97
h-16.09c0.4401-53.33-0.02-106.66,0.16-159.99c0.03-134.65-0.05-269.31,0.0699-403.97c-0.47-24.69,0.28-49.38-0.25-74.06
c-4.24-0.09-8.48-0.11-12.7,0.26l-1.02,0.11c-0.95,10.85-0.13,21.76-0.4,32.63c0.05,201.67-0.1,403.35,0.0801,605.02h-7.53
c0.14-210.65-0.01-421.31,0.0699-631.96c-0.0499-1.92-0.13-3.84-0.2999-5.74l-1.1801-0.09c-4.23-0.2-8.47-0.1-12.7-0.09
c-0.52,25.28-0.11,50.57-0.2201,75.85C1097.9,705.31,1097.92,892.66,1097.92,1080H1087.72
c-1.74-3.37-0.4099-7.4301-0.6599-11.0699c0.0399-67.3201,0.1-134.6301-0.0801-201.9501c0.51-27.66-0.4299-55.32,0.17-82.97
c-0.37-52.64,0.14-105.3-0.1801-157.94c0.41-15.35,0.1-30.71,0.0701-46.06c0.5699-11.67-0.64-23.34,0-35
c0.0499-20.01-0.36-40.02,0.13-60.02c-0.6901-14.28,0.47-28.56-0.3501-42.84c-4.2899-0.22-8.59-0.25-12.87-0.02
c0.26,212.62-0.0699,425.25,0.14,637.87h-25.62C1048.6801,859.22,1048.42,638.42,1048.48,417.64z"/>
<path fill="#DE966E" stroke="#DE966E" stroke-width="0.0938" d="M1179.27,441.21c4.88-0.13,9.76-0.09,14.65,0.08
c0.62,5.89,0.49,11.81,0.46,17.73c0,103.33-0.02,206.67,0,310.01c-0.08,103.66,0.13,207.3199-0.1,310.97h-1.47
c0.0699-212.62,0.0099-425.23,0.0299-637.85c-4.25-0.03-8.48-0.05-12.71-0.07c-0.05,212.64,0,425.28-0.03,637.92h-0.99
C1179.35,867.07,1179.05,654.14,1179.27,441.21z"/>
<path fill="#DE966F" stroke="#DE966F" stroke-width="0.0938" d="M1267.15,441.37c4.88-0.31,9.77-0.39,14.66-0.27
c1.1799,10.28,0.33,20.64,0.5699,30.96c0.01,94.65-0.03,189.31,0.02,283.97c-0.13,107.99,0.13,215.98-0.13,323.97h-1.48
c0.08-212.63,0.0399-425.25,0.0299-637.88c-4.25-0.04-8.48-0.03-12.71,0.01c-0.02,212.62,0.01,425.25-0.01,637.87h-1
C1267.25,867.12,1267.13,654.24,1267.15,441.37z"/>
<path fill="#D99775" stroke="#D99775" stroke-width="0.0938" d="M1296.16,441.43c4.5-0.11,9.01-0.3,13.5299-0.06l0.0901,0.71
c-4.2101,0.01-8.41,0.04-12.6,0.09c-0.05,212.61,0.0099,425.22-0.03,637.83h-1.37c-0.22-203.33-0.01-406.66-0.0901-609.99
C1295.89,460.48,1295.1801,450.92,1296.16,441.43z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1073.95,442.13c4.28-0.23,8.5801-0.2,12.87,0.02
c0.8201,14.28-0.34,28.56,0.3501,42.84c-0.49,20-0.0801,40.01-0.13,60.02c-0.64,11.66,0.5699,23.33,0,35
c0.0299,15.35,0.34,30.71-0.0701,46.06c0.3201,52.64-0.1899,105.3,0.1801,157.94c-0.6,27.65,0.34,55.31-0.17,82.97
c0.1801,67.32,0.12,134.63,0.0801,201.9501c0.25,3.6399-1.0801,7.7,0.6599,11.0699h-13.63
C1073.88,867.38,1074.21,654.75,1073.95,442.13z"/>
<path fill="#FFFFFE" stroke="#FFFFFE" stroke-width="0.0938" d="M1098.16,442.12c4.23-0.01,8.47-0.11,12.7,0.09
C1110.79,654.8,1110.91,867.4,1110.8,1080h-12.88c0-187.34-0.02-374.69,0.0199-562.03
C1098.05,492.69,1097.64,467.4,1098.16,442.12z"/>
<path fill="#D89874" stroke="#D89874" stroke-width="0.0938" d="M1110.86,442.21l1.1801,0.09c0.1699,1.9,0.25,3.82,0.2999,5.74
c-0.08,210.65,0.0701,421.31-0.0699,631.96h-1.47C1110.91,867.4,1110.79,654.8,1110.86,442.21z"/>
<path fill="#D89875" stroke="#D89875" stroke-width="0.0938" d="M1120.12,442.35l1.02-0.11c0.04,212.58,0.02,425.17,0.01,637.76
h-1.35c-0.1801-201.67-0.03-403.35-0.0801-605.02C1119.99,464.11,1119.17,453.2,1120.12,442.35z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1121.14,442.24c4.22-0.37,8.46-0.35,12.7-0.26
c0.53,24.68-0.22,49.37,0.25,74.06c-0.12,134.66-0.0399,269.32-0.0699,403.97c-0.1801,53.33,0.28,106.66-0.16,159.99h-12.71
C1121.16,867.41,1121.1801,654.82,1121.14,442.24z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1150.12,442.07c4.24-0.19,8.49-0.12,12.73,0.09
c0.27,15.95-0.21,31.9,0.16,47.85c-0.1901,10,0.51,20-0.11,30c0.0399,18.33,0.02,36.65-0.0601,54.98
c0.3,38.64-0.33,77.3,0.23,115.94c-0.6399,26.68,0.14,53.36-0.12,80.03c-0.2,103.0099,0.2001,206.03-0.13,309.04h-12.87
c0.1801-44.3199-0.1699-88.65,0.12-132.97c-0.3099-106.34,0.14-212.66-0.1599-318.9901c0.33-49.0099-0.3101-98.0099,0.1899-147.02
C1149.67,468.04,1150.0699,455.06,1150.12,442.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1180.13,442.08c4.23,0.02,8.46,0.04,12.71,0.07
c-0.02,212.62,0.04,425.23-0.0299,637.85H1180.1C1180.13,867.36,1180.08,654.72,1180.13,442.08z"/>
<path fill="#FFFFFE" stroke="#FFFFFE" stroke-width="0.0938" d="M1210.13,442.11c4.23,0.01,8.48-0.15,12.72,0.14
c-0.0399,212.59,0.04,425.17-0.0399,637.75h-12.9c0.01-157.32,0.0299-314.64,0-471.96
C1210.11,552.73,1209.62,497.41,1210.13,442.11z"/>
<path fill="#D89874" stroke="#D89874" stroke-width="0.0938" d="M1222.85,442.25c0.35,0.14,1.05,0.41,1.4,0.54
c0.04,1.41,0.0699,2.82,0.09,4.24c-0.0699,210.99,0.0801,421.98-0.08,632.97h-1.45
C1222.89,867.42,1222.8101,654.84,1222.85,442.25z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1239.15,442.17c4.21-0.06,8.4299-0.18,12.65-0.3
c0.11,4.37,0.2699,8.75,0.1899,13.13c0.08,132.33-0.08,264.67,0,397c-0.23,25.67,0.27,51.35,0.01,77.02
c0.09,27-0.2,53.99,0.0601,80.99c-0.38,23.33,0.2599,46.66-0.1901,69.99h-12.75c-0.54-6.34-0.1-12.6801-0.09-19.01
c-0.5601-12.6799,0.4-25.36-0.16-38.03c0.1-39.33,0.1901-78.66,0.02-117.98c0.45-11.32,0.3199-22.66-0.03-33.98
c-0.15-10.98,0.66-21.95,0.08-32.92c-0.4199-9.7,0.6001-19.38-0.0199-29.06c0.3199-41.02-0.0901-82.03,0.1899-123.04
c-0.48-9.34,0.39-18.68-0.08-28.02c-0.4401-12.65,0.5599-25.3-0.1-37.95c-0.4601-9.01,0.61-18.01,0.0499-27.02
c-0.38-6.33,0.39-12.65-0.04-18.98c-0.4199-7.34,0.4601-14.67,0.13-22c-0.2799-5.32,0.13-10.64,0.1001-15.96
c-0.5701-18.33,0.1899-36.66-0.3101-54.99C1239,468.09,1239.23,455.13,1239.15,442.17z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1268.11,442.13c4.23-0.04,8.46-0.05,12.71-0.01
c0.01,212.63,0.05,425.25-0.0299,637.88H1268.1C1268.12,867.38,1268.09,654.75,1268.11,442.13z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M1297.1801,442.17c4.1899-0.05,8.3899-0.08,12.6-0.09
c0.8099,8.62-0.17,17.28,0.1899,25.93c0.11,201.65,0.02,403.31,0.0601,604.97c-0.0601,2.34,0.0699,4.7001,0.5499,7.02H1297.15
C1297.1899,867.39,1297.13,654.78,1297.1801,442.17z"/>
<path fill="#FDF185" stroke="#FDF185" stroke-width="0.0938" d="M1670.01,469.01c3.3199-0.03,6.65-0.04,9.99-0.01
c0.02,33.34,0.03,66.67-0.01,100.01c-3.34,0.02-6.67,0.01-9.98-0.02C1669.98,535.66,1669.96,502.34,1670.01,469.01
M1671.04,471.19c-0.23,24.27,0.01,48.55-0.0901,72.82c0.26,7.59-0.47,15.24,0.2301,22.8c2.34,1.23,5.08,0.81,7.6499,0.93
c0.3101-32.49,0.17-64.98,0.0701-97.46C1676.27,470.56,1673.64,470.87,1671.04,471.19z"/>
<path fill="#FBF284" stroke="#FBF284" stroke-width="0.0938" d="M1722,469c3.3199-0.03,6.66-0.03,10,0
c0.02,33.34,0.03,66.68-0.01,100.02c-3.34,0-6.67,0-9.99-0.01C1721.98,535.68,1721.97,502.34,1722,469 M1723.13,471.13
c-0.3101,26.29-0.09,52.59-0.12,78.88c0.0599,5.9-0.5,11.83,0.4,17.7c2.47-0.05,4.95-0.29,7.38-0.82
c0.22-3.96,0.36-7.91,0.3199-11.86c-0.2-28.3,0.22-56.61-0.24-84.91C1728.26,470.32,1725.6801,470.62,1723.13,471.13z"/>
<path fill="#FCF184" stroke="#FCF184" stroke-width="0.0938" d="M1774.01,469.01c3.3199-0.04,6.65-0.04,9.99-0.01
c0.03,33.34,0.03,66.67-0.01,100.01c-3.33,0.02-6.66,0.01-9.98-0.01C1773.96,535.67,1773.97,502.34,1774.01,469.01 M1775.1,470.91
c-0.34,30.71,0.11,61.42-0.25,92.13c-0.1,1.25,0.0601,2.47,0.5,3.65c2.12,1.49,4.8201,0.87,7.26,0.9
c0.83-6.4901,0.38-13.05,0.49-19.57c-0.1799-25.66,0.2001-51.32-0.1699-76.97C1780.3199,470.62,1777.6899,470.38,1775.1,470.91z"
/>
<path fill="#FCF185" stroke="#FCF185" stroke-width="0.0938" d="M1826,469c3.3199-0.03,6.66-0.02,10,0.02
c0,33.33,0.01,66.66,0,99.99c-3.35,0.01-6.6801,0.01-10.01,0C1825.98,535.67,1825.98,502.34,1826,469 M1826.85,474.03
c0.22,21.98,0.04,43.98,0.12,65.97c0.1801,9.16-0.48,18.36,0.39,27.5c2.48,0.06,4.9501,0.15,7.4501,0.26
c0.59-6.91,0.08-13.83,0.1899-20.75c0.11-16.01-0.02-32.03,0.05-48.04c-0.17-9.53,0.3899-19.07-0.3401-28.57
C1831.77,470.35,1826.1899,469.41,1826.85,474.03z"/>
<path fill="#FDF185" stroke="#FDF185" stroke-width="0.0938" d="M1878.01,469.01c3.3199-0.03,6.65-0.04,9.99-0.01
c0.02,33.33,0.02,66.67,0,100.01c-3.35,0.02-6.6801,0.01-10-0.03C1877.98,535.66,1877.96,502.34,1878.01,469.01 M1879.01,471.13
c-0.16,28.94,0.01,57.88-0.05,86.82c0.0901,2.92-0.59,6.01,0.39,8.83c2.25,1.28,4.98,0.78,7.48,1
c0.37-32.4901,0.0901-64.98,0.12-97.47C1884.29,470.56,1881.64,470.84,1879.01,471.13z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1671.04,471.19c2.6-0.32,5.23-0.63,7.86-0.91
c0.1,32.48,0.24,64.97-0.0701,97.46c-2.5699-0.12-5.3099,0.3-7.6499-0.93c-0.7001-7.56,0.0299-15.21-0.2301-22.8
C1671.05,519.74,1670.8101,495.46,1671.04,471.19z"/>
<path fill="#FFF568" stroke="#FFF568" stroke-width="0.0938" d="M1723.13,471.13c2.55-0.51,5.13-0.81,7.74-1.01
c0.46,28.3,0.04,56.61,0.24,84.91c0.04,3.95-0.1,7.9-0.3199,11.86c-2.4301,0.53-4.91,0.77-7.38,0.82
c-0.9-5.87-0.3401-11.8-0.4-17.7C1723.04,523.72,1722.8199,497.42,1723.13,471.13z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1775.1,470.91c2.59-0.53,5.22-0.29,7.8301,0.14
c0.37,25.65-0.01,51.31,0.1699,76.97c-0.11,6.52,0.34,13.08-0.49,19.57c-2.4399-0.03-5.14,0.59-7.26-0.9
c-0.4399-1.18-0.6-2.4-0.5-3.65C1775.21,532.33,1774.76,501.62,1775.1,470.91z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.85,474.03c-0.66-4.62,4.92-3.68,7.86-3.63
c0.73,9.5,0.17,19.04,0.3401,28.57c-0.0701,16.01,0.0599,32.03-0.05,48.04c-0.11,6.92,0.4,13.84-0.1899,20.75
c-2.5-0.11-4.9701-0.2-7.4501-0.26c-0.87-9.14-0.21-18.34-0.39-27.5C1826.89,518.01,1827.0699,496.01,1826.85,474.03z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1879.01,471.13c2.63-0.29,5.28-0.57,7.9399-0.82
c-0.0299,32.49,0.25,64.98-0.12,97.47c-2.5-0.22-5.23,0.28-7.48-1c-0.98-2.82-0.2999-5.91-0.39-8.83
C1879.02,529.01,1878.85,500.07,1879.01,471.13z"/>
<path fill="#8E8E8E" stroke="#8E8E8E" stroke-width="0.0938" d="M196.71,498.23c3.75-0.29,7.5-0.47,11.26-0.42
c81.13,0.14,162.26-0.19,243.37,0.16c0.53,0.04,1.57,0.13,2.09,0.17l0.2,0.01c8.67,1.89,17.58,0.47,26.36,0.86
c9.41-0.39,18.92,0.88,28.25-0.74c8.8-0.58,17.66-0.3,26.47-0.18c1.67,0.35,3.32,0.79,4.99,1.23c0.03,2.58,0.08,5.16,0.13,7.74
c-114.31-0.13-228.63-0.05-342.95-0.04c0.05,28.98,0.05,57.96,0.08,86.94c-0.08,7.82,0.25,15.65-0.29,23.46l-0.06-1.27
c0.03-37.42-0.26-74.85,0.04-112.27C196.68,501.99,196.7,500.11,196.71,498.23z"/>
<path fill="#939071" stroke="#939071" stroke-width="0.0938" d="M453.63,498.15c11.45-0.43,22.91-0.14,34.36-0.22
c6.75,0.1,13.52-0.3,20.25,0.34c-9.33,1.62-18.84,0.35-28.25,0.74C471.21,498.62,462.3,500.04,453.63,498.15z"/>
<path fill="#96906B" stroke="#96906B" stroke-width="0.0938" d="M534.71,498.09c2.11-0.09,4.24-0.15,6.36-0.19
c-0.01,3.05-0.12,6.11-0.26,9.17l-0.98-0.01c-0.05-2.58-0.1-5.16-0.13-7.74C538.03,498.88,536.38,498.44,534.71,498.09z"/>
<path fill="#ECE370" stroke="#ECE370" stroke-width="0.0938" d="M541.07,497.9c-0.07,5.93,4.99,10.29,4.89,16.14
c0.2599,188.64-0.17,377.31,0.22,565.96h-5.5c-0.06-170.65,0-341.32-0.03-511.98c0.36-6.7,0.18-13.4-0.03-20.09
c0.16-13.62-0.19-27.24,0.19-40.86C540.95,504.01,541.06,500.95,541.07,497.9z"/>
<path fill="#DADADA" stroke="#DADADA" stroke-width="0.0938" d="M196.88,507.02c114.32-0.01,228.64-0.09,342.95,0.04l0.98,0.01
c-0.38,13.62-0.03,27.24-0.19,40.86c0.21,6.69,0.39,13.39,0.03,20.09c0.03,170.66-0.03,341.33,0.03,511.98H198.19
c0.08-8.99-0.02-17.98,0.14-26.97c0.1-2.15-0.37-4.27-1.42-6.13l-0.09-0.5c0.72-19.09,0.14-38.22,0.32-57.33
c0.01-102.72-0.02-205.44-0.02-308.16c-0.4-10.6299,0.22-21.2599-0.27-31.89c0.22-10.54,0.36-21.07-0.18-31.6
c0.54-7.81,0.21-15.64,0.29-23.46C196.93,564.98,196.93,536,196.88,507.02 M215.11,532.07c-0.22,8.28-0.21,16.56-0.01,24.83
c4.95,0.15,9.9,0.14,14.85,0.06c0.1-8.3,0.03-16.59,0.06-24.88C225.04,531.94,220.07,531.95,215.11,532.07 M264,532.06
c-0.01,8.3-0.01,16.6,0,24.9c4.98,0.09,9.95,0.05,14.93-0.03c0.12-8.28,0.1-16.57,0.01-24.86
C273.96,531.96,268.98,531.95,264,532.06 M313.06,532.06c-0.11,8.29-0.09,16.58-0.01,24.88c4.97,0.06,9.95,0.08,14.92,0.05
c0.03-8.32,0.05-16.64,0.01-24.97C323,531.97,318.03,531.99,313.06,532.06 M362.04,532.07c-0.08,8.29-0.07,16.57,0.03,24.86
c4.94,0.12,9.89,0.13,14.83,0.01c0.18-8.29,0.19-16.59,0.02-24.88C371.96,531.95,367,531.96,362.04,532.07 M411.07,532.04
c-0.12,8.3-0.16,16.61,0.04,24.91c4.95,0.07,9.91,0.07,14.86,0.03c0-8.32,0.09-16.63-0.06-24.94
C420.97,531.96,416.02,531.97,411.07,532.04 M460.06,532.03c-0.1,8.29-0.12,16.59,0.01,24.8799c4.95,0.14,9.9,0.14,14.86,0.02
c0.08-8.29,0.14-16.59-0.01-24.89C469.96,531.96,465.01,531.96,460.06,532.03 M508.06,532.02c-0.11,8.3-0.12,16.6,0.01,24.9
c4.95,0.12,9.91,0.13,14.86,0c0.12-8.29,0.08-16.57,0.01-24.85C517.98,531.96,513.02,531.95,508.06,532.02 M216.05,583.01
c-0.1,8.32-0.06,16.64-0.03,24.96c4.98,0.0601,9.97,0.05,14.95-0.0099c0.03-8.3,0.12-16.6-0.04-24.89
C225.97,582.95,221.01,582.96,216.05,583.01 M265.06,583.08c-0.12,8.3-0.07,16.6-0.04,24.91c4.99,0.02,9.97,0.02,14.95,0
c0.04-8.33,0.07-16.66,0-24.98C275,582.97,270.03,582.99,265.06,583.08 M314.05,583.05c-0.11,8.3-0.04,16.61-0.03,24.92
c4.99,0.05,9.99,0.0601,14.98-0.0099c0.01-8.31,0.1-16.62-0.04-24.93C323.99,582.96,319.02,582.98,314.05,583.05 M363.04,583.06
c-0.07,8.3-0.05,16.6-0.01,24.9c4.98,0.05,9.95,0.07,14.93,0.02c0.05-8.32,0.07-16.63-0.01-24.95
C372.98,582.96,368.01,582.99,363.04,583.06 M412.04,583.03c-0.09,8.31-0.06,16.6299-0.01,24.9399c4.98,0.0601,9.97,0.07,14.96,0
c-0.01-8.3199,0.06-16.6299-0.04-24.9399C421.98,582.97,417.01,582.98,412.04,583.03 M461.04,583.05
c-0.09,8.3-0.04,16.61-0.03,24.92c4.98,0.05,9.97,0.05,14.96,0.01c0.04-8.32,0.07-16.63-0.02-24.94
C470.98,582.98,466.01,582.97,461.04,583.05 M509.05,583.03c-0.11,8.3-0.04,16.61-0.04,24.92c4.99,0.08,9.98,0.08,14.98,0.02
c0.01-8.31,0.04-16.62-0.01-24.92C519,582.98,514.02,582.98,509.05,583.03 M215.09,666.04c-0.11,8.29-0.24,16.58-0.01,24.88
c4.95,0.13,9.89,0.12,14.84,0.03c0.14-8.28,0.1-16.57,0.01-24.86C224.98,665.96,220.04,665.95,215.09,666.04 M264.05,666
c-0.1,8.32-0.06,16.64-0.02,24.97c4.98,0.05,9.95,0.02,14.93-0.02c0.1-8.3,0.06-16.6-0.04-24.89
C273.96,665.98,269,665.98,264.05,666 M313.11,666.07c-0.18,8.29-0.13,16.59-0.05,24.89c4.97,0.11,9.94,0.08,14.91,0.0099
c0.09-8.3,0.01-16.61,0.03-24.91C323.03,665.95,318.07,665.95,313.11,666.07 M362.06,666.1c-0.15,8.27-0.07,16.54,0,24.81
c4.95,0.14,9.92,0.15,14.88,0.01c0.15-8.29,0.14-16.59-0.03-24.87C371.96,665.94,367.01,665.95,362.06,666.1 M411.06,666.08
c-0.11,8.28-0.11,16.57,0.01,24.86c4.96,0.1,9.93,0.1,14.9-0.01c0.01-8.3,0.08-16.59-0.03-24.88
C420.98,665.96,416.02,665.96,411.06,666.08 M460.05,666.05c-0.04,8.29-0.12,16.59,0.02,24.88c4.96,0.12,9.92,0.13,14.89-0.03
c0.09-8.29,0.05-16.58-0.02-24.86C469.98,665.97,465.01,665.97,460.05,666.05 M508.04,666.07c-0.1,8.28-0.06,16.57,0.01,24.85
c4.96,0.14,9.92,0.12,14.88,0.03c0.15-8.3,0.07-16.6,0.01-24.89C517.97,665.95,513,665.95,508.04,666.07 M216.02,717.01
c-0.04,8.33-0.05,16.65,0,24.98c4.97,0.04,9.94,0.04,14.91-0.07c0.06-8.3,0.16-16.59-0.02-24.88
C225.95,717.01,220.99,716.99,216.02,717.01 M265.03,717.03c-0.07,8.3-0.04,16.6,0.02,24.9c4.97,0.1,9.94,0.11,14.91,0.04
c0.07-8.3199,0.06-16.64,0.02-24.95C274.99,716.97,270.01,716.95,265.03,717.03 M314.07,717.07c-0.12,8.29-0.09,16.58,0,24.87
c4.95,0.09,9.91,0.09,14.86,0c0.16-8.29,0.16-16.58,0-24.86C323.97,716.94,319.02,716.94,314.07,717.07 M363.06,717.06
c-0.08,8.28-0.11,16.57-0.01,24.85c4.97,0.14,9.94,0.14,14.91,0.02c0.02-8.3,0.09-16.59-0.02-24.88
C372.98,716.96,368.01,716.96,363.06,717.06 M412.1,717.04c-0.16,8.3-0.15,16.61-0.02,24.92c4.95,0.07,9.91,0.07,14.87-0.02
c0.05-8.29,0.13-16.59-0.03-24.87C421.98,716.95,417.03,716.95,412.1,717.04 M461.06,717.1c-0.11,8.28-0.1,16.56,0.01,24.84
c4.96,0.09,9.92,0.09,14.89-0.01c0.08-8.29,0.08-16.59-0.02-24.88C470.98,716.94,466.02,716.96,461.06,717.1 M509.06,717.08
c-0.14,8.29-0.08,16.57-0.01,24.86c4.96,0.09,9.92,0.08,14.89,0c0.08-8.28,0.13-16.57-0.01-24.85
C518.98,716.95,514.02,716.95,509.06,717.08 M215,800.04c-0.03,8.3-0.08,16.6,0.03,24.9c4.97,0.11,9.95,0.12,14.93-0.02
c0.08-8.3,0.05-16.59,0.02-24.89C224.99,799.95,219.99,799.96,215,800.04 M264.03,800.02c-0.08,8.31-0.03,16.62-0.01,24.94
c4.97,0.08,9.95,0.11,14.93-0.04c0.1-8.3,0.07-16.6,0.02-24.9C273.99,799.97,269.01,799.97,264.03,800.02 M313.02,800.04
c-0.06,8.29-0.04,16.59,0.02,24.88c4.98,0.15,9.96,0.13,14.93,0.05c0.05-8.31,0.03-16.62,0.02-24.92
C323,799.97,318.01,799.96,313.02,800.04 M362.04,800.02c-0.06,8.31-0.08,16.63,0.02,24.95c4.96,0.05,9.93,0.07,14.9-0.0099
c0.13-8.31,0.06-16.63,0.04-24.94C372.01,799.97,367.02,799.98,362.04,800.02 M411.02,800.03c-0.02,8.29-0.08,16.59,0.04,24.89
c4.96,0.14,9.92,0.11,14.88,0.05c0.11-8.3199,0.05-16.6299,0.04-24.9399C420.99,799.97,416,799.98,411.02,800.03 M460.02,800.04
c-0.02,8.3-0.08,16.61,0.03,24.92c4.98,0.06,9.95,0.07,14.93-0.01c0.06-8.31,0.03-16.61,0-24.92
C469.99,799.97,465,799.97,460.02,800.04 M508.03,800.02c-0.06,8.3-0.02,16.59-0.03,24.9c4.99,0.12,9.98,0.12,14.97,0.01
c0.0601-8.3,0.04-16.6,0.01-24.89C517.99,799.96,513.01,799.97,508.03,800.02 M215.11,851.06c-0.21,8.29-0.22,16.59-0.03,24.89
c4.95,0.1,9.91,0.09,14.87-0.05c0.07-8.29,0.1-16.57-0.01-24.86C225,850.96,220.05,850.93,215.11,851.06 M264.03,851.01
c-0.07,8.31-0.03,16.62-0.03,24.93c4.98,0.1,9.96,0.1,14.94,0c0.11-8.29,0.09-16.59,0-24.87
C273.97,851.01,269,850.97,264.03,851.01 M313.04,851.07c-0.05,8.29-0.1,16.58,0.03,24.87c4.97,0.08,9.94,0.09,14.91,0.03
c0.05-8.3199,0.04-16.6299,0-24.9399C323,850.97,318.02,851.01,313.04,851.07 M362.04,851.06c-0.05,8.29-0.12,16.59,0.03,24.88
c4.95,0.1,9.9,0.12,14.85-0.02c0.17-8.27,0.17-16.55-0.02-24.81C371.95,850.93,366.99,850.94,362.04,851.06 M411.12,851.03
c-0.2,8.3-0.15,16.61-0.07,24.92c4.97,0.08,9.93,0.08,14.9-0.03c0.06-8.3,0.06-16.6,0.01-24.9
C421.01,850.98,416.07,850.98,411.12,851.03 M460.08,851.07c-0.17,8.29-0.09,16.59-0.05,24.89c4.97,0.07,9.94,0.06,14.91-0.04
c0.11-8.27,0.1-16.55-0.01-24.82C469.98,850.95,465.03,850.95,460.08,851.07 M508.1,851.02c-0.21,8.32-0.1,16.64-0.05,24.96
c4.96,0.04,9.91,0.04,14.87-0.03c0.14-8.28,0.1-16.56,0.05-24.84C518.01,850.96,513.06,850.96,508.1,851.02 M216.01,934.03
c-0.01,8.3199-0.07,16.64,0.04,24.97c4.98,0.01,9.96,0.04,14.94-0.06c-0.04-8.29,0.12-16.56-0.09-24.84
C225.94,933.96,220.97,933.96,216.01,934.03 M265.09,934.1c-0.19,8.27-0.05,16.55-0.08,24.83c4.99,0.06,9.98,0.1,14.97,0.04
c0.04-8.3199,0.04-16.64,0-24.95C275.01,933.95,270.05,933.96,265.09,934.1 M314.06,934.08c-0.1,8.26-0.1,16.52,0.02,24.79
c4.94,0.17,9.88,0.19,14.83,0.05c0.2-8.28,0.14-16.56,0.08-24.84C324.01,933.94,319.03,933.95,314.06,934.08 M363.02,934.06
c-0.03,8.29-0.07,16.57,0.05,24.86c4.94,0.12,9.89,0.14,14.84-0.02c0.11-8.28,0.11-16.57,0.05-24.85
C372.98,933.94,368,933.94,363.02,934.06 M412.05,934.06c-0.07,8.3-0.12,16.6,0.04,24.91c4.95,0.07,9.9,0.07,14.86-0.06
c0.07-8.28,0.09-16.5699,0.01-24.85C421.99,933.95,417.02,933.96,412.05,934.06 M461.06,934.06c-0.09,8.29-0.14,16.59,0.03,24.89
c4.95,0.09,9.91,0.11,14.87-0.06c0.05-8.27,0.09-16.54-0.01-24.81C470.98,933.94,466.02,933.94,461.06,934.06 M509.06,934.08
c-0.11,8.28-0.1,16.56,0.02,24.84c4.95,0.13,9.91,0.13,14.86,0c0.09-8.29,0.1-16.58,0.01-24.87
C518.98,933.96,514.02,933.96,509.06,934.08 M217.01,985.05c0.03,8.3-0.14,16.6,0.09,24.89c4.96,0.07,9.92,0.09,14.88,0.03
c0.01-8.3199,0.08-16.64-0.02-24.96C226.97,984.97,221.99,984.95,217.01,985.05 M266.08,985.11c-0.12,8.27-0.12,16.54-0.04,24.81
c4.97,0.12,9.95,0.13,14.92,0.01c0.1-8.29,0.15-16.57-0.05-24.85C275.96,984.94,271.02,984.93,266.08,985.11 M315.02,985.06
c-0.01,8.29-0.05,16.59-0.01,24.88c4.99,0.06,9.97,0.09,14.96,0.03c0.02-8.29,0.08-16.58-0.04-24.87
C324.96,984.94,319.99,984.95,315.02,985.06 M364.05,985.08c-0.07,8.28-0.11,16.56,0.02,24.85c4.96,0.11,9.93,0.11,14.89,0
c0.06-8.29,0.07-16.58-0.04-24.86C373.96,984.95,369,984.94,364.05,985.08 M413.1,985.06c-0.2,8.29-0.09,16.58-0.05,24.87
c4.96,0.12,9.92,0.11,14.89,0c0.1-8.29,0.09-16.58,0-24.87C422.99,984.95,418.04,984.96,413.1,985.06 M462.11,985.07
c-0.18,8.3-0.13,16.61-0.06,24.91c4.98,0.03,9.95,0.05,14.93,0c0.06-8.3,0-16.6,0-24.9C472.02,984.94,467.06,984.95,462.11,985.07
M510.07,985.11c-0.09,8.28-0.08,16.56-0.03,24.84c4.98,0.08,9.96,0.1,14.95,0.01c-0.01-8.29,0.07-16.59-0.04-24.88
C519.99,984.95,515.02,984.93,510.07,985.11z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M215.11,532.07c4.96-0.12,9.93-0.13,14.9,0.01
c-0.03,8.29,0.04,16.58-0.06,24.88c-4.95,0.08-9.9,0.09-14.85-0.06C214.9,548.63,214.89,540.35,215.11,532.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M264,532.06c4.98-0.11,9.96-0.1,14.94,0.01
c0.09,8.29,0.11,16.58-0.01,24.86c-4.98,0.08-9.95,0.12-14.93,0.03C263.99,548.66,263.99,540.36,264,532.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M313.06,532.06c4.97-0.07,9.94-0.09,14.92-0.04
c0.04,8.33,0.02,16.65-0.01,24.97c-4.97,0.03-9.95,0.01-14.92-0.05C312.97,548.64,312.95,540.35,313.06,532.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M362.04,532.07c4.96-0.11,9.92-0.12,14.88-0.01
c0.17,8.29,0.16,16.59-0.02,24.88c-4.94,0.12-9.89,0.11-14.83-0.01C361.97,548.64,361.96,540.36,362.04,532.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M411.07,532.04c4.95-0.07,9.9-0.08,14.84,0
c0.15,8.31,0.06,16.62,0.06,24.94c-4.95,0.04-9.91,0.04-14.86-0.03C410.91,548.65,410.95,540.34,411.07,532.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M460.06,532.03c4.95-0.07,9.9-0.07,14.86,0.0099
c0.15,8.3,0.09,16.6,0.01,24.89c-4.96,0.12-9.91,0.12-14.86-0.02C459.94,548.62,459.96,540.32,460.06,532.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M508.06,532.02c4.96-0.07,9.92-0.06,14.88,0.05
c0.07,8.28,0.11,16.56-0.01,24.85c-4.95,0.13-9.91,0.12-14.86,0C507.94,548.62,507.95,540.32,508.06,532.02z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M216.05,583.01c4.96-0.05,9.92-0.06,14.88,0.06
c0.16,8.29,0.07,16.59,0.04,24.89c-4.98,0.06-9.97,0.07-14.95,0.0099C215.99,599.65,215.95,591.33,216.05,583.01z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M265.06,583.08c4.97-0.09,9.94-0.11,14.91-0.07
c0.07,8.32,0.04,16.65,0,24.98c-4.98,0.02-9.96,0.02-14.95,0C264.99,599.68,264.94,591.38,265.06,583.08z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M314.05,583.05c4.97-0.07,9.94-0.09,14.91-0.02
c0.14,8.31,0.05,16.62,0.04,24.93c-4.99,0.07-9.99,0.06-14.98,0.0099C314.01,599.66,313.94,591.35,314.05,583.05z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M363.04,583.06c4.97-0.07,9.94-0.1,14.91-0.03
c0.08,8.3199,0.06,16.6299,0.01,24.95c-4.98,0.05-9.95,0.03-14.93-0.02C362.99,599.66,362.97,591.36,363.04,583.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M412.04,583.03c4.97-0.05,9.94-0.0601,14.91,0
c0.1,8.31,0.03,16.62,0.04,24.9399c-4.99,0.07-9.98,0.0601-14.96,0C411.98,599.66,411.95,591.34,412.04,583.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M461.04,583.05c4.97-0.08,9.94-0.07,14.91-0.01
c0.09,8.31,0.06,16.62,0.02,24.94c-4.99,0.04-9.98,0.04-14.96-0.01C461,599.66,460.95,591.35,461.04,583.05z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M509.05,583.03c4.97-0.05,9.95-0.05,14.93,0.02
c0.05,8.3,0.02,16.61,0.01,24.92c-5,0.0601-9.99,0.0601-14.98-0.02C509.01,599.64,508.94,591.33,509.05,583.03z"/>
<path fill="#9A865A" stroke="#9A865A" stroke-width="0.0938" d="M1669.02,610.17l1.04-0.08l0.0199,0.69
c-0.1899,21.14-0.1899,42.28,0.01,63.42c-4.39-0.2-8.7799-0.31-13.1599-0.18c3.83-1.15,7.83-1.26,11.8099-1.1
C1669.35,652.01,1668.72,631.08,1669.02,610.17z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1670.0601,610.09c3.2599-0.19,6.5499-0.16,9.84-0.15l-0.02,0.83
c-1.03,13.39-0.2,26.83-0.45,40.24c-0.27,5.56,0.7599,11.28-0.64,16.74c-2.62,0.6-5.3101,0.39-7.9501,0.35
c-0.88-19.1,0.52-38.25-0.76-57.3199L1670.0601,610.09z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1722.02,610c3.3199,0,6.64,0,9.98,0c0,33.33,0.01,66.67-0.01,100
c-3.34,0-6.67-0.01-9.98-0.01C1722,676.66,1721.98,643.33,1722.02,610 M1722.29,610.25c-0.16,33.17-0.0801,66.34-0.04,99.5
c3.15,0.04,6.3199,0.05,9.49,0.02c0.1-33.17,0.1-66.34,0-99.51C1728.5699,610.2,1725.4301,610.19,1722.29,610.25z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1774.02,610c3.3099-0.01,6.64,0,9.98,0c0,33.33,0,66.66,0,99.99
c-3.34,0.01-6.66,0.01-9.97,0C1773.97,676.66,1773.99,643.33,1774.02,610 M1774.2,610.24c0.04,33.17-0.0299,66.34,0.03,99.51
c3.16,0.03,6.34,0.04,9.53,0.02c0.09-33.17,0.05-66.35,0.01-99.53C1780.5699,610.2,1777.38,610.2,1774.2,610.24z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1826,610c3.3199,0,6.66,0,10,0c-0.01,33.33,0.01,66.67-0.01,100
c-3.34,0-6.67,0-9.98-0.01C1825.99,676.66,1826,643.33,1826,610 M1826.23,610.23c-0.04,33.18-0.02,66.36-0.02,99.54
c3.16,0.03,6.3401,0.03,9.52,0.01c0.11-33.1801,0.0801-66.3701,0.01-99.55C1832.5601,610.18,1829.38,610.18,1826.23,610.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1878.01,610.01c3.3199-0.02,6.65-0.02,9.99,0
c0,33.33,0,66.66,0,99.99c-3.34,0-6.67,0-9.99-0.03C1878,676.65,1877.99,643.33,1878.01,610.01 M1878.22,610.27
c-0.01,33.16-0.0499,66.32,0.02,99.48c3.16,0.03,6.34,0.05,9.53,0.05c0.04-33.2-0.04-66.41,0.04-99.61
C1884.6,610.19,1881.41,610.22,1878.22,610.27z"/>
<path fill="#F1E863" stroke="#F1E863" stroke-width="0.0938" d="M1670.08,610.78c1.28,19.0699-0.12,38.22,0.76,57.3199
c2.64,0.04,5.3301,0.25,7.9501-0.35c1.3999-5.46,0.37-11.18,0.64-16.74c0.25-13.41-0.5801-26.85,0.45-40.24
c0.3199,21.12,0.28,42.24,0,63.36c-3.27,0.15-6.53,0.22-9.79,0.07C1669.89,653.06,1669.89,631.92,1670.08,610.78z"/>
<path fill="#FFF568" stroke="#FFF568" stroke-width="0.0938" d="M1722.29,610.25c3.14-0.06,6.2799-0.05,9.45,0.01
c0.1,33.17,0.1,66.34,0,99.51c-3.17,0.03-6.34,0.02-9.49-0.02C1722.21,676.59,1722.13,643.42,1722.29,610.25z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1774.2,610.24c3.1801-0.04,6.37-0.04,9.5701,0
c0.04,33.18,0.08,66.36-0.01,99.53c-3.1901,0.02-6.37,0.01-9.53-0.02C1774.17,676.58,1774.24,643.41,1774.2,610.24z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.23,610.23c3.15-0.05,6.3301-0.05,9.51,0
c0.0701,33.18,0.1,66.37-0.01,99.55c-3.1799,0.02-6.36,0.02-9.52-0.01C1826.21,676.59,1826.1899,643.41,1826.23,610.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1878.22,610.27c3.1901-0.05,6.38-0.08,9.5901-0.08
c-0.0801,33.2,0,66.41-0.04,99.61c-3.1901,0-6.37-0.02-9.53-0.05C1878.17,676.59,1878.21,643.43,1878.22,610.27z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M215.09,666.04c4.95-0.09,9.89-0.08,14.84,0.05
c0.09,8.29,0.13,16.58-0.01,24.86c-4.95,0.09-9.89,0.1-14.84-0.03C214.85,682.62,214.98,674.33,215.09,666.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M264.05,666c4.95-0.02,9.91-0.02,14.87,0.06
c0.1,8.29,0.14,16.59,0.04,24.89c-4.98,0.04-9.95,0.07-14.93,0.02C263.99,682.64,263.95,674.32,264.05,666z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M313.11,666.07c4.96-0.12,9.92-0.12,14.89-0.01
c-0.02,8.3,0.06,16.61-0.03,24.91c-4.97,0.07-9.94,0.1-14.91-0.0099C312.98,682.66,312.93,674.36,313.11,666.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M362.06,666.1c4.95-0.15,9.9-0.16,14.85-0.05
c0.17,8.28,0.18,16.58,0.03,24.87c-4.96,0.14-9.93,0.13-14.88-0.01C361.99,682.64,361.91,674.37,362.06,666.1z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M411.06,666.08c4.96-0.12,9.92-0.12,14.88-0.03
c0.11,8.29,0.04,16.58,0.03,24.88c-4.97,0.11-9.94,0.11-14.9,0.01C410.95,682.65,410.95,674.36,411.06,666.08z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M460.05,666.05c4.96-0.08,9.93-0.08,14.89-0.01
c0.07,8.28,0.11,16.57,0.02,24.86c-4.97,0.16-9.93,0.15-14.89,0.03C459.93,682.64,460.01,674.34,460.05,666.05z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M508.04,666.07c4.96-0.12,9.93-0.12,14.9-0.01
c0.06,8.29,0.14,16.59-0.01,24.89c-4.96,0.09-9.92,0.11-14.88-0.03C507.98,682.64,507.94,674.35,508.04,666.07z"/>
<path fill="#F3BC83" stroke="#F3BC83" stroke-width="0.0938" d="M1336.77,674.38l0.91,0.04c1.96,0.18,3.9199,0.45,5.9199,0.61
c1.24,10.36-0.8199,20.8199,1.03,31.12c0.27,3.41-0.9301,6.79-0.46,10.23c0.6499,5.19-1.0601,10.57,0.9099,15.59
c-1.6799,5.0601-2.09,10.55-0.4099,15.67c-1.66,0.77-3.3101,1.54-4.99,2.23c-0.6901,0.03-2.0701,0.07-2.77,0.09
c0.84-15.95,0.14-31.95,0.37-47.92C1337.03,692.82,1337.85,683.56,1336.77,674.38z"/>
<path fill="#E2D0A6" stroke="#E2D0A6" stroke-width="0.0938" d="M1337.6801,674.42c22.4399-0.89,44.9199-0.2,67.37-0.42
c83.62,0.04,167.24-0.08,250.86,0.06l1.02-0.04c-4.2401,1.12-8.63,1.19-12.9801,1.05c-100.12-0.04-200.24,0.05-300.35-0.04
C1341.6,674.87,1339.64,674.6,1337.6801,674.42z"/>
<path fill="#FEC689" stroke="#FEC689" stroke-width="0.0938" d="M1656.9301,674.02c4.38-0.13,8.7699-0.02,13.1599,0.18
c3.26,0.15,6.52,0.08,9.79-0.07c10.02-0.26,20.05-0.03,30.08-0.08c0.04,25.21-0.09,50.42,0.0701,75.63
c-9.67,0.68-19.36,0.15-29.03,0.36c-106.35-0.02-212.7-0.03-319.04-0.0099c-7.4299,0.05-14.86-0.01-22.2799-0.16
c1.6799-0.69,3.33-1.46,4.99-2.23c-1.6801-5.12-1.27-10.61,0.4099-15.67c-1.97-5.02-0.26-10.4-0.9099-15.59
c-0.4701-3.44,0.73-6.82,0.46-10.23c-1.85-10.3,0.21-20.76-1.03-31.12c100.11,0.09,200.23,0,300.35,0.04
C1648.3,675.21,1652.6899,675.14,1656.9301,674.02 M1347.8101,718.02c0.0599,5.85-0.4701,11.78,0.8199,17.55
c2.75-0.35,5.52-0.74,8.3199-0.56c4.8201,0.28,9.6901-0.51,14.4801,0.55c1.4299-5.12,0.1899-10.41,0.6799-15.61
c0.3201-5.19-0.0699-10.39-0.6899-15.54c-7.5801,1.6801-15.24,0.26-22.86,0.1201C1347.41,708.94,1347.8,713.51,1347.8101,718.02
M1405.86,716.03c0.1901,6.35-0.2999,12.74,0.55,19.06c7.6899,1.16,15.4399-1.38,23.0399,0.43
c1.2001-5.12,0.37-10.38,0.6001-15.57c-0.14-5.11,0.5599-10.29-0.6001-15.32c-7.6,0.56-15.1899,0.26-22.7799-0.05
C1405.96,708.35,1405.72,712.19,1405.86,716.03 M1464.23,718c0.01,4.69-0.78,9.37-0.33,14.05c0.24,1.13,0.11,3.52,1.96,3.19
c7.25,0.04,14.54,0.35,21.78-0.29c0.28-3.63,0.66-7.27,0.51-10.92c-0.4301-6.34,0.39-12.7-0.51-19.01
c-5.22,0.35-10.4501-0.35-15.65,0.12c-2.5,0.18-4.96-0.29-7.39-0.64C1463.36,708.92,1464.33,713.5,1464.23,718 M1530.23,719.98
c0.3101,5.15-1.01,10.39,0.34,15.47c7.54-1.66,15.1801-0.13,22.79,0c0.67-4.45,1.09-8.94,0.8201-13.44
c-0.4401-5.81,0.48-11.69-0.8101-17.43c-7.5599,0.68-15.3,1.25-22.83,0.02C1529.3199,709.65,1530.51,714.85,1530.23,719.98
M1587.89,716.98c0.5,6.18-0.53,12.42,0.71,18.56c7.5701-0.66,15.23-1.48,22.77,0c0.64-3.49,0.98-7.05,0.65-10.59
c-0.59-6.85,0.21-13.73-0.5601-20.56c-7.5599,1.08-15.3099,1.14-22.86,0.09C1588.03,708.62,1587.5601,712.8,1587.89,716.98
M1645.86,724.04c-0.21,3.79,0.03,7.6,0.8101,11.33c7.6,0.55,15.25-1.47,22.7699,0.13c1.04-4.11,0.51-8.34,0.52-12.51
c-0.1599-6.15,0.7201-12.36-0.47-18.44c-7.55,1.4-15.29,0.42-22.87,0C1645.41,710.98,1646.2,717.54,1645.86,724.04z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1347.8101,718.02c-0.01-4.51-0.4-9.08,0.75-13.49
c7.62,0.14,15.2799,1.56,22.86-0.1201c0.62,5.15,1.01,10.35,0.6899,15.54c-0.49,5.2,0.75,10.49-0.6799,15.61
c-4.79-1.06-9.66-0.27-14.4801-0.55c-2.7999-0.18-5.5699,0.21-8.3199,0.56C1347.34,729.8,1347.87,723.87,1347.8101,718.02z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1405.86,716.03c-0.14-3.84,0.1-7.6801,0.8101-11.45
c7.59,0.31,15.1799,0.61,22.7799,0.05c1.16,5.03,0.4601,10.21,0.6001,15.32c-0.2301,5.19,0.6,10.45-0.6001,15.57
c-7.6-1.81-15.35,0.73-23.0399-0.43C1405.5601,728.77,1406.05,722.38,1405.86,716.03z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1464.23,718c0.1-4.5-0.87-9.08,0.37-13.5
c2.4301,0.35,4.89,0.82,7.39,0.64c5.2-0.47,10.4301,0.23,15.65-0.12c0.9,6.31,0.08,12.67,0.51,19.01
c0.15,3.65-0.23,7.29-0.51,10.92c-7.24,0.64-14.53,0.33-21.78,0.29c-1.85,0.33-1.72-2.06-1.96-3.19
C1463.45,727.37,1464.24,722.69,1464.23,718z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1530.23,719.98c0.28-5.13-0.91-10.33,0.3101-15.38
c7.5299,1.23,15.27,0.66,22.83-0.02c1.29,5.74,0.37,11.62,0.8101,17.43c0.2699,4.5-0.15,8.99-0.8201,13.44
c-7.61-0.13-15.25-1.66-22.79,0C1529.22,730.37,1530.54,725.13,1530.23,719.98z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1587.89,716.98c-0.33-4.18,0.14-8.36,0.71-12.5
c7.55,1.05,15.3,0.99,22.86-0.09c0.77,6.83-0.0299,13.71,0.5601,20.56c0.33,3.54-0.01,7.1-0.65,10.59
c-7.54-1.48-15.2-0.66-22.77,0C1587.36,729.4,1588.39,723.16,1587.89,716.98z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1645.86,724.04c0.34-6.5-0.45-13.06,0.76-19.49
c7.58,0.42,15.3199,1.4,22.87,0c1.1901,6.08,0.3101,12.29,0.47,18.44c-0.01,4.17,0.52,8.4-0.52,12.51
c-7.5199-1.6-15.1699,0.42-22.7699-0.13C1645.89,731.64,1645.65,727.83,1645.86,724.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M216.02,717.01c4.97-0.02,9.93,0,14.89,0.03
c0.18,8.29,0.08,16.58,0.02,24.88c-4.97,0.11-9.94,0.11-14.91,0.07C215.97,733.66,215.98,725.34,216.02,717.01z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M265.03,717.03c4.98-0.08,9.96-0.0601,14.95-0.01
c0.04,8.31,0.05,16.63-0.02,24.95c-4.97,0.07-9.94,0.0601-14.91-0.04C264.99,733.63,264.96,725.33,265.03,717.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M314.07,717.07c4.95-0.13,9.9-0.13,14.86,0.01
c0.16,8.28,0.16,16.57,0,24.86c-4.95,0.09-9.91,0.09-14.86,0C313.98,733.65,313.95,725.36,314.07,717.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M363.06,717.06c4.95-0.1,9.92-0.1,14.88-0.01
c0.11,8.29,0.04,16.58,0.02,24.88c-4.97,0.12-9.94,0.12-14.91-0.02C362.95,733.63,362.98,725.34,363.06,717.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M412.1,717.04c4.93-0.09,9.88-0.09,14.82,0.03
c0.16,8.28,0.08,16.58,0.03,24.87c-4.96,0.09-9.92,0.09-14.87,0.02C411.95,733.65,411.94,725.34,412.1,717.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M461.06,717.1c4.96-0.14,9.92-0.16,14.88-0.05
c0.1,8.29,0.1,16.59,0.02,24.88c-4.97,0.1-9.93,0.1-14.89,0.01C460.96,733.66,460.95,725.38,461.06,717.1z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M509.06,717.08c4.96-0.13,9.92-0.13,14.87,0.01
c0.14,8.28,0.09,16.5699,0.01,24.85c-4.97,0.08-9.93,0.09-14.89,0C508.98,733.65,508.92,725.37,509.06,717.08z"/>
<path fill="#737373" stroke="#737373" stroke-width="0.0938" d="M1710.03,749.68c2.38-0.15,4.76,0.02,7.1599,0.22
c-0.0099,2,0.02,4.02-0.0699,6.04c-2.39,0.05-4.77,0.09-7.14,0.11c-105.6699-0.14-211.34,0.01-317.01-0.06
c-17.77,0.07-35.5399-0.11-53.3099,0.13c-0.6801-0.03-2.05-0.09-2.74-0.12c-0.11-2.02-0.11-4.04-0.01-6.04
c0.7-0.02,2.08-0.06,2.77-0.09c7.4199,0.15,14.85,0.21,22.2799,0.16C1468.3,750.01,1574.65,750.02,1681,750.04
C1690.67,749.83,1700.36,750.36,1710.03,749.68z"/>
<path fill="#F3BC83" stroke="#F3BC83" stroke-width="0.0938" d="M1336.92,756c0.6899,0.03,2.0599,0.09,2.74,0.12
c1.65,0.79,3.26,1.68,4.88,2.58c-1.25,12.39-0.54,24.88-0.6901,37.31c0.98,4.94,0.8201,9.88,0.3101,14.86
c0.75,5.7-1.14,11.62,0.97,17.12c-2.4,6.68-0.8,13.85-1.42,20.77c-2.01,0.72-4.01,1.47-6.0299,2.12l-0.79,0.16
c0.86-15.67,0.17-31.38,0.39-47.06C1337.05,787.98,1337.75,771.97,1336.92,756z"/>
<path fill="#FEC689" stroke="#FEC689" stroke-width="0.0938" d="M1339.66,756.12c17.77-0.24,35.5399-0.06,53.3099-0.13
c105.67,0.07,211.3401-0.08,317.01,0.06c-0.02,31.58-0.03,63.16,0.02,94.74c-50.66,0.47-101.33-0.04-151.99,0.23
c-73.4401-0.1-146.89,0.05-220.33-0.14c2.0199-0.65,4.0199-1.4,6.0299-2.12c0.62-6.92-0.98-14.09,1.42-20.77
c-2.11-5.5-0.22-11.42-0.97-17.12c0.51-4.98,0.6699-9.92-0.3101-14.86c0.15-12.43-0.5599-24.92,0.6901-37.31
C1342.92,757.8,1341.3101,756.91,1339.66,756.12 M1530.21,800.25c-0.0399,4.57-0.0299,9.14,0.01,13.71
c0.0901,5.46-0.99,10.98,0.4,16.36c7.7-0.79,15.45,0.51,23.15-0.64c0.7-9.81-0.25-19.64,0.0499-29.45
C1545.9399,800.08,1538.08,799.75,1530.21,800.25 M1588.21,800.02c-0.02,9.98-0.0499,19.95,0.0601,29.93
c7.8099,0.22,15.62-0.38,23.4199,0.17c0.29-9.99,0.78-20,0.1801-29.97C1604,799.28,1596.1,800.33,1588.21,800.02 M1646.21,800.2
c0.23,9.83-0.98,19.7,0.05,29.5c7.8099,0.23,15.64,0.74,23.46,0.03c0.3401-3.56,0.42-7.13,0.26-10.69
c-0.33-6.2599,0.63-12.54-0.1799-18.79C1661.9399,800,1654.05,799.47,1646.21,800.2 M1347.99,811.97
c0.65,6.53-0.91,13.13,0.64,19.6c7.55-1.14,15.25-0.83,22.83-0.05c1.5801-6.12-0.1599-12.38,0.4301-18.57
c0.38-4.17,0.16-8.37-0.46-12.5c-7.54,1.23-15.3,1.26-22.8401,0.02C1348.09,804.28,1347.64,808.12,1347.99,811.97 M1406.63,831.37
c7.6,0.09,15.21-0.58,22.8,0.11c1.3099-5.09,0.35-10.33,0.5-15.49c0.0699-5.14,0.8999-10.37-0.51-15.41
c-7.61-0.1-15.2301,0.66-22.8,0.07C1405.51,810.83,1405.25,821.19,1406.63,831.37 M1463.9399,824.95
c-0.24,2.22,0.2201,4.41,0.7401,6.57c7.63-1.74,15.37-0.1,23.0499-0.5c0.0701-9.89,0.62-19.76-0.01-29.64
c-7.6799-1.27-15.48,0.64-23.13-0.85C1462.71,808.58,1464.61,816.82,1463.9399,824.95z"/>
<path fill="#8D7D6D" stroke="#8D7D6D" stroke-width="0.0938" d="M1709.98,756.05c2.37-0.02,4.75-0.06,7.14-0.11
c-0.4399,1.3-0.89,2.6-1.35,3.89c-0.35-0.35-1.0601-1.04-1.41-1.38c-1.66,5.37-1.8199,10.98-1.1799,16.54
c0.0299,21.34,0.09,42.68-0.03,64.02c0.1899,4.26,0,9.51,4.02,12.2c-2.4-0.28-4.78-0.5-7.17-0.42
C1709.95,819.21,1709.96,787.63,1709.98,756.05z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1722.03,766.02c3.3099-0.03,6.63-0.03,9.97-0.02
c0,33.33,0,66.67,0,100c-3.34,0-6.67-0.01-9.99-0.03C1722.01,832.65,1721.97,799.33,1722.03,766.02 M1722.26,766.23
c-0.09,33.18-0.08,66.36-0.01,99.54c3.17,0.03,6.34,0.03,9.53-0.01c0-33.18,0.1-66.36-0.05-99.53
C1728.5601,766.18,1725.41,766.18,1722.26,766.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1774.01,766.02c3.3199-0.03,6.64-0.03,9.98-0.01
c0.01,33.33,0.02,66.66,0,99.99c-3.34,0-6.66,0-9.97-0.02C1773.98,832.66,1774,799.34,1774.01,766.02 M1774.1899,766.2
c0.03,33.2,0.03,66.4,0,99.6c3.1901,0,6.39,0.01,9.6001,0.03c0.0299-33.22,0.02-66.44,0-99.66
C1780.58,766.18,1777.37,766.19,1774.1899,766.2z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.01,766.07c3.33-0.06,6.67-0.1,10.02-0.09
c-0.04,33.32-0.03,66.65,0.01,99.97c-3.3401-0.01-6.67,0-9.98,0.01C1825.79,832.66,1826.04,799.36,1826.01,766.07z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1878.02,766.01c3.3099-0.02,6.63-0.02,9.97-0.01
c0.02,33.33,0.02,66.67-0.01,100c-3.33,0-6.66-0.01-9.97-0.03C1878,832.65,1877.98,799.33,1878.02,766.01 M1878.24,766.21
c-0.05,33.19-0.05,66.38-0.01,99.58c3.1801-0.0099,6.38-0.02,9.5801-0.0099c-0.0601-33.19-0.0601-66.3701,0.0099-99.5601
C1884.61,766.21,1881.42,766.2,1878.24,766.21z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1722.26,766.23c3.15-0.05,6.3-0.05,9.47,0
c0.15,33.17,0.05,66.35,0.05,99.53c-3.1901,0.04-6.36,0.04-9.53,0.01C1722.1801,832.59,1722.17,799.41,1722.26,766.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1774.1899,766.2c3.1801-0.01,6.39-0.02,9.6001-0.03
c0.02,33.22,0.0299,66.44,0,99.66c-3.2101-0.02-6.41-0.03-9.6001-0.03C1774.22,832.6,1774.22,799.4,1774.1899,766.2z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1878.24,766.21c3.1801-0.01,6.37,0,9.58,0.0099
c-0.0699,33.19-0.0699,66.3701-0.0099,99.5601c-3.2001-0.01-6.4,0-9.5801,0.0099C1878.1899,832.59,1878.1899,799.4,1878.24,766.21
z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M215,800.04c4.99-0.08,9.99-0.09,14.98-0.0099
c0.03,8.3,0.06,16.59-0.02,24.89c-4.98,0.14-9.96,0.13-14.93,0.02C214.92,816.64,214.97,808.34,215,800.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M264.03,800.02c4.98-0.05,9.96-0.05,14.94,0
c0.05,8.3,0.08,16.6-0.02,24.9c-4.98,0.15-9.96,0.12-14.93,0.04C264,816.64,263.95,808.33,264.03,800.02z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M313.02,800.04c4.99-0.08,9.98-0.07,14.97,0.01
c0.01,8.3,0.03,16.61-0.02,24.92c-4.97,0.08-9.95,0.1-14.93-0.05C312.98,816.63,312.96,808.33,313.02,800.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M362.04,800.02c4.98-0.04,9.97-0.05,14.96,0
c0.02,8.31,0.09,16.63-0.04,24.94c-4.97,0.08-9.94,0.06-14.9,0.0099C361.96,816.65,361.98,808.33,362.04,800.02z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M411.02,800.03c4.98-0.05,9.97-0.0601,14.96,0
c0.01,8.31,0.07,16.62-0.04,24.9399c-4.96,0.0601-9.92,0.09-14.88-0.05C410.94,816.62,411,808.32,411.02,800.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M460.02,800.04c4.98-0.07,9.97-0.07,14.96-0.0099
c0.03,8.31,0.06,16.61,0,24.92c-4.98,0.08-9.95,0.07-14.93,0.01C459.94,816.65,460,808.34,460.02,800.04z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M508.03,800.02c4.98-0.05,9.96-0.06,14.95,0.02
c0.03,8.29,0.05,16.59-0.01,24.89c-4.99,0.11-9.98,0.11-14.97-0.01C508.01,816.61,507.97,808.32,508.03,800.02z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1530.21,800.25c7.87-0.5,15.73-0.17,23.61-0.02
c-0.2999,9.81,0.65,19.64-0.0499,29.45c-7.7001,1.15-15.4501-0.15-23.15,0.64c-1.39-5.38-0.3099-10.9-0.4-16.36
C1530.1801,809.39,1530.17,804.82,1530.21,800.25z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1588.21,800.02c7.89,0.31,15.79-0.74,23.66,0.13
c0.6,9.97,0.11,19.98-0.1801,29.97c-7.7999-0.55-15.61,0.05-23.4199-0.17C1588.16,819.97,1588.1899,810,1588.21,800.02z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1646.21,800.2c7.8401-0.73,15.73-0.2,23.5901,0.05
c0.8099,6.25-0.15,12.53,0.1799,18.79c0.16,3.56,0.0801,7.13-0.26,10.69c-7.8199,0.71-15.65,0.2-23.46-0.03
C1645.23,819.9,1646.4399,810.03,1646.21,800.2z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1347.99,811.97c-0.35-3.85,0.1-7.6899,0.6-11.5
c7.54,1.2401,15.3,1.21,22.8401-0.02c0.62,4.13,0.84,8.33,0.46,12.5c-0.59,6.19,1.15,12.45-0.4301,18.57
c-7.58-0.78-15.2799-1.09-22.83,0.05C1347.08,825.1,1348.64,818.5,1347.99,811.97z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1406.63,831.37c-1.38-10.18-1.12-20.54-0.01-30.72
c7.5699,0.59,15.1901-0.17,22.8-0.07c1.4099,5.04,0.58,10.27,0.51,15.41c-0.15,5.16,0.8099,10.4-0.5,15.49
C1421.84,830.79,1414.23,831.46,1406.63,831.37z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1463.9399,824.95c0.67-8.13-1.23-16.37,0.65-24.42
c7.65,1.49,15.4501-0.42,23.13,0.85c0.63,9.88,0.0801,19.75,0.01,29.64c-7.6799,0.4-15.4199-1.24-23.0499,0.5
C1464.16,829.36,1463.7,827.17,1463.9399,824.95z"/>
<path fill="#75726F" stroke="#75726F" stroke-width="0.0938" d="M1710,850.79c2.39-0.08,4.77,0.14,7.17,0.42
c-0.02,1.86-0.0601,3.74-0.11,5.63c-2.3701,0.2-4.7101,0.39-7.0601,0.3199c-53-0.44-106.01-0.06-159.02-0.19
c-62.01,0-124.01,0-186.02,0c-9.1599,0.03-18.3199-0.18-27.46,0.34l-0.52-0.11c-0.15-2.06-0.1899-4.11-0.09-6.16l0.79-0.16
c73.4399,0.19,146.8899,0.04,220.33,0.14C1608.67,850.75,1659.34,851.26,1710,850.79z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M215.11,851.06c4.94-0.13,9.89-0.1,14.83-0.02
c0.11,8.29,0.08,16.57,0.01,24.86c-4.96,0.14-9.92,0.15-14.87,0.05C214.89,867.65,214.9,859.35,215.11,851.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M264.03,851.01c4.97-0.04,9.94,0,14.91,0.06
c0.09,8.28,0.11,16.58,0,24.87c-4.98,0.1-9.96,0.1-14.94,0C264,867.63,263.96,859.32,264.03,851.01z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M313.04,851.07c4.98-0.06,9.96-0.1,14.94-0.04
c0.04,8.31,0.05,16.62,0,24.9399c-4.97,0.0601-9.94,0.05-14.91-0.03C312.94,867.65,312.99,859.36,313.04,851.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M362.04,851.06c4.95-0.12,9.91-0.13,14.86,0.05
c0.19,8.26,0.19,16.54,0.02,24.81c-4.95,0.14-9.9,0.12-14.85,0.02C361.92,867.65,361.99,859.35,362.04,851.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M411.12,851.03c4.95-0.05,9.89-0.05,14.84-0.01
c0.05,8.3,0.05,16.6-0.01,24.9c-4.97,0.11-9.93,0.11-14.9,0.03C410.97,867.64,410.92,859.33,411.12,851.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M460.08,851.07c4.95-0.12,9.9-0.12,14.85,0.03
c0.11,8.27,0.12,16.55,0.01,24.82c-4.97,0.1-9.94,0.11-14.91,0.04C459.99,867.66,459.91,859.36,460.08,851.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M508.1,851.02c4.96-0.06,9.91-0.06,14.87,0.09
c0.05,8.28,0.09,16.56-0.05,24.84c-4.96,0.07-9.91,0.07-14.87,0.03C508,867.66,507.89,859.34,508.1,851.02z"/>
<path fill="#FEC689" stroke="#FEC689" stroke-width="0.0938" d="M1336.98,857.2l0.52,0.11c2.42,0.66,4.87,1.45,7.42,1.48
c110.7-0.0099,221.3999,0,332.1-0.02c10.99-0.29,21.98,0.57,32.97,0.15c-0.08,73.69,0.0701,147.39-0.08,221.08H1337.46
c-0.1-63.66-0.02-127.31-0.0399-190.96C1337.22,878.42,1337.88,867.79,1336.98,857.2 M1348.24,890.27
c-0.39,3.55-0.62,7.14-0.39,10.72c0.41,6.28-0.0699,12.58,0.4601,18.86c7.7899-0.2599,15.59,0.73,23.36-0.09
c0.5199-9.8,0.9399-19.66,0.14-29.46C1363.9399,889.8,1356.1,889.89,1348.24,890.27 M1406.3199,890.27
c-0.7999,5.19-0.1399,10.44-0.22,15.67c0.15,4.58-0.47,9.17,0.1,13.75c7.8101,0.58,15.6901,0.44,23.51,0.15
c0.1901-4.94,0.73-9.88,0.3201-14.82c-0.41-4.95,0.4199-9.91-0.27-14.83C1421.95,889.51,1414.13,890.5,1406.3199,890.27
M1463.96,890.32c-0.0299,9.83,0.23,19.66,0.26,29.5c5.25,0.7,10.52-0.44,15.78,0.13c2.52,0.03,5.23,0.74,7.67-0.21
c1.08-3.82,0.09-7.81,0.2999-11.7c0.27-5.95,0.47-11.91-0.1799-17.84C1479.84,890.27,1471.89,889.33,1463.96,890.32
M1530.01,890.09c-0.27,4.94,0.11,9.8799,0.11,14.83c0.09,4.99-0.52,9.98,0.0601,14.97c7.87,0.33,15.7699,0.15,23.6499-0.06
c0.28-2.97,0.2301-5.94,0.0601-8.89c-0.33-6.89,0.74-13.79-0.1901-20.64C1545.8,890.25,1537.9,889.74,1530.01,890.09
M1588.24,890.29c-0.29,2.57-0.4299,5.15-0.27,7.7401c0.42,7.24-0.4199,14.49,0.3201,21.72c7.7899,0.43,15.6499,0.41,23.45,0.02
c0-9.82,0.84-19.65,0.14-29.47C1603.99,889.86,1596.12,889.77,1588.24,890.29 M1646.3,890.26c-0.4701,9.81-0.3401,19.68-0.14,29.5
c7.87-0.37,15.75,0.86,23.61,0.06c0.96-6.58-0.4501-13.18,0.25-19.76c0.03-3.22,0.79-6.64-0.29-9.72
c-3.1899-0.85-6.51-0.59-9.74-0.41C1655.42,890.24,1650.84,889.66,1646.3,890.26 M1348.29,970.29
c-0.64,9.85-0.62,19.73-0.11,29.59c7.85,0.05,15.72,0.26,23.58-0.16c1-9.79,0.09-19.6299,0.12-29.4399
C1364.01,969.9,1356.15,969.8,1348.29,970.29 M1406.26,970.26c-0.62,3.91-0.4301,7.87-0.13,11.81
c0.4301,5.9-0.64,11.82,0.09,17.71c7.8401-0.35,15.6801,0.98,23.51,0.14c0.41-3.66,0.5-7.34,0.1901-10.99
c-0.5801-6.23,0.7699-12.45-0.05-18.66C1422.02,969.55,1414.12,970.24,1406.26,970.26 M1463.99,970.31
c-0.5,5.23,0.46,10.45,0.02,15.68c-0.3101,4.57,0.24,9.13,0.28,13.71c7.7899,0.4,15.61,0.47,23.4199,0.2
c0.8-9.91,0.5601-19.86,0-29.77C1479.8101,970.11,1471.88,969.72,1463.99,970.31 M1530.22,970.43
c-0.9299,2.01-0.27,4.4-0.2899,6.56c0.7599,7.57-0.4601,15.17,0.3099,22.74c7.86,0.22,15.75,0.62,23.6-0.01
c0.63-4.9-0.1599-9.8199-0.08-14.73c-0.04-4.9,0.6-9.81-0.08-14.68C1545.86,970.28,1537.96,968.97,1530.22,970.43 M1588.2,970.27
c-0.22,9.89-0.88,19.83,0.13,29.7c7.76,0.08,15.53,0.19,23.3-0.02c0.84-9.86,0.45-19.78,0.1899-29.66
C1603.9399,969.78,1596.0699,969.99,1588.2,970.27 M1646.34,970.34c-0.6899,4.19-0.63,8.45-0.24,12.68
c0.5,5.56-0.5399,11.13,0.09,16.7c7.8,1.11,15.66-0.1299,23.5,0.3c0.9401-9.82,0.29-19.68,0.51-29.51
c-2.0399-0.49-4.13-0.88-6.21-0.68C1658.1,970.2,1652.2,969.73,1646.34,970.34z"/>
<path fill="#F1CA99" stroke="#F1CA99" stroke-width="0.0938" d="M1337.5,857.31c9.14-0.52,18.3-0.31,27.46-0.34
c62.01,0,124.01,0,186.02,0c53.01,0.13,106.02-0.25,159.02,0.19c0,0.44-0.01,1.32-0.01,1.76c-10.99,0.42-21.98-0.44-32.97-0.15
c-110.7001,0.02-221.4,0.01-332.1,0.02C1342.37,858.76,1339.92,857.97,1337.5,857.31z"/>
<path fill="#8D7D6D" stroke="#8D7D6D" stroke-width="0.0938" d="M1710,857.16c2.35,0.07,4.6899-0.12,7.0601-0.3199
c-2.3301,1.86-3.52,4.6299-4.5,7.37c0.59,2.2,1,4.49,0.6399,6.79c-1.12,7.3,0.4601,14.64-0.0499,21.98
c0.35,9.67-0.79,19.34,0.0399,29c0.04,29.01,0.01,58.02,0.02,87.03c-0.13,4.71-0.98,9.42-0.4199,14.15
c0.48,4.59,0.48,9.22,0.3999,13.84c-0.0399,14.33-0.0599,28.67,0.03,43h-3.3099c0.15-73.69,0-147.39,0.08-221.08
C1709.99,858.48,1710,857.6,1710,857.16z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1348.24,890.27c7.86-0.38,15.7-0.47,23.5701,0.03
c0.7999,9.8,0.3799,19.66-0.14,29.46c-7.77,0.82-15.5701-0.17-23.36,0.09c-0.53-6.28-0.05-12.58-0.4601-18.86
C1347.62,897.41,1347.85,893.82,1348.24,890.27z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1406.3199,890.27c7.8101,0.23,15.63-0.76,23.4401-0.08
c0.6899,4.92-0.14,9.88,0.27,14.83c0.4099,4.94-0.13,9.88-0.3201,14.82c-7.8199,0.29-15.7,0.43-23.51-0.15
c-0.5699-4.58,0.05-9.17-0.1-13.75C1406.1801,900.71,1405.52,895.46,1406.3199,890.27z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1463.96,890.32c7.9301-0.99,15.88-0.05,23.8301-0.12
c0.6499,5.93,0.45,11.89,0.1799,17.84c-0.21,3.89,0.78,7.88-0.2999,11.7c-2.4401,0.95-5.15,0.24-7.67,0.21
c-5.26-0.57-10.53,0.57-15.78-0.13C1464.1899,909.98,1463.9301,900.15,1463.96,890.32z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1530.01,890.09c7.89-0.35,15.79,0.16,23.6899,0.21
c0.9301,6.85-0.1399,13.75,0.1901,20.64c0.17,2.95,0.22,5.92-0.0601,8.89c-7.88,0.21-15.7799,0.39-23.6499,0.06
c-0.5801-4.99,0.0299-9.98-0.0601-14.97C1530.12,899.97,1529.74,895.03,1530.01,890.09z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1588.24,890.29c7.88-0.52,15.75-0.43,23.64,0.01
c0.7,9.82-0.14,19.65-0.14,29.47c-7.8,0.39-15.66,0.41-23.45-0.02c-0.74-7.23,0.1-14.48-0.3201-21.72
C1587.8101,895.44,1587.95,892.86,1588.24,890.29z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1646.3,890.26c4.5399-0.6,9.12-0.02,13.6899-0.33
c3.23-0.18,6.55-0.44,9.74,0.41c1.0801,3.08,0.3201,6.5,0.29,9.72c-0.7001,6.58,0.71,13.18-0.25,19.76
c-7.86,0.8-15.74-0.43-23.61-0.06C1645.96,909.94,1645.83,900.07,1646.3,890.26z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1722.02,922c3.3199-0.01,6.64-0.01,9.98,0c0,33.33,0,66.67,0,100
c-3.34-0.01-6.67-0.01-9.99,0C1721.99,988.67,1721.98,955.33,1722.02,922 M1722.27,922.23c-0.0801,33.17-0.15,66.36,0.03,99.53
c3.13,0.04,6.2799,0.03,9.4399-0.02c0.12-33.17,0.08-66.33,0.02-99.49C1728.59,922.2,1725.42,922.19,1722.27,922.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1774.02,922c3.3199-0.01,6.64-0.01,9.98,0.01
c0,33.33,0.01,66.66,0,99.99c-3.34-0.01-6.66,0-9.97-0.01C1773.97,988.66,1773.99,955.33,1774.02,922 M1774.23,922.24
c-0.0599,33.18,0,66.35-0.02,99.52c3.17,0.03,6.3501,0.03,9.55,0.01c0.09-33.17,0.05-66.35,0.02-99.52
C1780.58,922.21,1777.4,922.21,1774.23,922.24z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1826.01,922c3.3199-0.01,6.65-0.01,9.99,0c0,33.33,0,66.67,0,100
c-3.35-0.01-6.6801-0.01-10-0.01C1826,988.66,1825.99,955.33,1826.01,922 M1826.2,922.23c0.03,33.18-0.0299,66.36,0.04,99.55
c3.15,0.03,6.3201,0.03,9.5-0.01c0.08-33.18,0.09-66.37-0.01-99.55C1832.54,922.18,1829.37,922.19,1826.2,922.23z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1878.02,922.01c3.3099-0.02,6.64-0.02,9.98-0.01
c0,33.33,0,66.66,0,100c-3.35,0-6.6801-0.01-9.99-0.03C1878,988.65,1877.98,955.33,1878.02,922.01 M1878.25,922.24
c-0.09,33.16-0.03,66.32-0.03,99.48c3.1801,0.05,6.38,0.08,9.5901,0.09c-0.0701-33.2-0.01-66.4-0.04-99.6
C1884.58,922.19,1881.41,922.2,1878.25,922.24z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1722.27,922.23c3.15-0.04,6.3199-0.03,9.49,0.02
c0.0599,33.16,0.1,66.32-0.02,99.49c-3.16,0.05-6.3099,0.06-9.4399,0.02C1722.12,988.59,1722.1899,955.4,1722.27,922.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1774.23,922.24c3.17-0.03,6.35-0.03,9.55,0.01
c0.03,33.17,0.0699,66.35-0.02,99.52c-3.2,0.02-6.38,0.02-9.55-0.01C1774.23,988.59,1774.17,955.42,1774.23,922.24z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1826.2,922.23c3.17-0.04,6.3401-0.05,9.53-0.01
c0.1,33.1801,0.09,66.3701,0.01,99.55c-3.1799,0.04-6.35,0.04-9.5,0.01C1826.17,988.59,1826.23,955.41,1826.2,922.23z"/>
<path fill="#FEF568" stroke="#FEF568" stroke-width="0.0938" d="M1878.25,922.24c3.16-0.04,6.33-0.05,9.52-0.03
c0.03,33.2-0.03,66.4,0.04,99.6c-3.2101-0.01-6.41-0.04-9.5901-0.09C1878.22,988.56,1878.16,955.4,1878.25,922.24z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M216.01,934.03c4.96-0.07,9.93-0.07,14.89,0.0699
c0.21,8.28,0.05,16.55,0.09,24.84c-4.98,0.1-9.96,0.07-14.94,0.06C215.94,950.67,216,942.35,216.01,934.03z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M265.09,934.1c4.96-0.14,9.92-0.15,14.89-0.08
c0.04,8.31,0.04,16.63,0,24.95c-4.99,0.0601-9.98,0.02-14.97-0.04C265.04,950.65,264.9,942.37,265.09,934.1z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M314.06,934.08c4.97-0.13,9.95-0.14,14.93,0
c0.06,8.28,0.12,16.56-0.08,24.84c-4.95,0.14-9.89,0.12-14.83-0.05C313.96,950.6,313.96,942.34,314.06,934.08z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M363.02,934.06c4.98-0.12,9.96-0.12,14.94-0.01
c0.06,8.28,0.06,16.57-0.05,24.85c-4.95,0.16-9.9,0.14-14.84,0.02C362.95,950.63,362.99,942.35,363.02,934.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M412.05,934.06c4.97-0.1,9.94-0.11,14.91,0
c0.08,8.28,0.06,16.57-0.01,24.85c-4.96,0.13-9.91,0.13-14.86,0.06C411.93,950.66,411.98,942.36,412.05,934.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M461.06,934.06c4.96-0.12,9.92-0.12,14.89,0.02
c0.1,8.27,0.06,16.54,0.01,24.81c-4.96,0.17-9.92,0.15-14.87,0.06C460.92,950.65,460.97,942.35,461.06,934.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M509.06,934.08c4.96-0.12,9.92-0.12,14.89-0.03
c0.09,8.29,0.08,16.58-0.01,24.87c-4.95,0.13-9.91,0.13-14.86,0C508.96,950.64,508.95,942.36,509.06,934.08z"/>
<path fill="#3AB54A" stroke="#3AB54A" stroke-width="0.0938" d="M48.62,947.35c-0.07-0.52-0.16-1.02-0.2-1.5099
c2.81,0.54,5.68,0.87,8.55,0.86c3.47-0.33,6.35,1.98,9.53,2.99c5.74,2.08,10.25,6.37,14.14,10.94c6.61,9.13,7.74,21.3,4.2,31.85
c-1.38,3.54,0.44,7.06,1.2,10.51c2.12,10.27-0.05,21.85-7.44,29.62c-6.49,7.67-16.55,11.55-26.47,11.66
c-9.87-0.77-19.98-5.52-25.62-13.9c-0.88-0.14-1.77-0.25-2.66-0.33c-7.97,0.6699-16.32,1.6-23.85-1.8301V966.52
c3.62-1.01,7.25-2.2,11.04-2.31c4.06-0.25,8.09,0.5099,12.14,0.39c3.79-3.42,6.19-8.23,10.53-11.11
c6.95-5.61,16.2-6.76,24.84-6.06C55.34,946.28,51.9,946.98,48.62,947.35z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1348.29,970.29c7.86-0.49,15.72-0.39,23.59-0.0099
c-0.03,9.81,0.88,19.65-0.12,29.4399c-7.86,0.42-15.73,0.21-23.58,0.16C1347.67,990.02,1347.65,980.14,1348.29,970.29z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1406.26,970.26c7.86-0.02,15.76-0.71,23.61,0.01
c0.8199,6.21-0.53,12.43,0.05,18.66c0.3099,3.65,0.22,7.33-0.1901,10.99c-7.83,0.84-15.6699-0.49-23.51-0.14
c-0.73-5.89,0.3401-11.8101-0.09-17.71C1405.83,978.13,1405.64,974.17,1406.26,970.26z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1463.99,970.31c7.89-0.59,15.8201-0.2,23.72-0.18
c0.5601,9.91,0.8,19.86,0,29.77c-7.8099,0.27-15.63,0.2-23.4199-0.2c-0.04-4.58-0.5901-9.14-0.28-13.71
C1464.45,980.76,1463.49,975.54,1463.99,970.31z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1530.22,970.43c7.74-1.46,15.64-0.15,23.4601-0.12
c0.6799,4.87,0.0399,9.78,0.08,14.68c-0.08,4.91,0.71,9.83,0.08,14.73c-7.85,0.63-15.74,0.23-23.6,0.01
c-0.77-7.57,0.45-15.17-0.3099-22.74C1529.95,974.83,1529.29,972.44,1530.22,970.43z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1588.2,970.27c7.87-0.28,15.74-0.49,23.62,0.02
c0.26,9.88,0.65,19.8-0.1899,29.66c-7.77,0.21-15.54,0.1-23.3,0.02C1587.3199,990.1,1587.98,980.16,1588.2,970.27z"/>
<path fill="#E6E6E6" stroke="#E6E6E6" stroke-width="0.0938" d="M1646.34,970.34c5.86-0.61,11.76-0.14,17.65-0.51
c2.08-0.2,4.17,0.19,6.21,0.68c-0.22,9.83,0.4301,19.69-0.51,29.51c-7.84-0.43-15.7,0.81-23.5-0.3
c-0.6299-5.5699,0.41-11.14-0.09-16.7C1645.71,978.79,1645.65,974.53,1646.34,970.34z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M217.01,985.05c4.98-0.1,9.96-0.08,14.95-0.04
c0.1,8.32,0.03,16.64,0.02,24.96c-4.96,0.0601-9.92,0.04-14.88-0.03C216.87,1001.65,217.04,993.35,217.01,985.05z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M266.08,985.11c4.94-0.18,9.88-0.17,14.83-0.03
c0.2,8.28,0.15,16.56,0.05,24.85c-4.97,0.12-9.95,0.11-14.92-0.01C265.96,1001.65,265.96,993.38,266.08,985.11z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M315.02,985.06c4.97-0.11,9.94-0.12,14.91,0.04
c0.12,8.29,0.06,16.58,0.04,24.87c-4.99,0.0601-9.97,0.03-14.96-0.03C314.97,1001.65,315.01,993.35,315.02,985.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M364.05,985.08c4.95-0.14,9.91-0.13,14.87-0.01
c0.11,8.28,0.1,16.57,0.04,24.86c-4.96,0.11-9.93,0.11-14.89,0C363.94,1001.64,363.98,993.36,364.05,985.08z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M413.1,985.06c4.94-0.1,9.89-0.11,14.84,0
c0.09,8.29,0.1,16.58,0,24.87c-4.97,0.11-9.93,0.12-14.89,0C413.01,1001.64,412.9,993.35,413.1,985.06z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M462.11,985.07c4.95-0.12,9.91-0.13,14.87,0.01
c0,8.3,0.06,16.6,0,24.9c-4.98,0.05-9.95,0.03-14.93,0C461.98,1001.68,461.93,993.37,462.11,985.07z"/>
<path fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.0938" d="M510.07,985.11c4.95-0.18,9.92-0.16,14.88-0.03
c0.11,8.29,0.03,16.59,0.04,24.88c-4.99,0.09-9.97,0.07-14.95-0.01C509.99,1001.67,509.98,993.39,510.07,985.11z"/>
<path fill="#E71F26" stroke="#E71F26" stroke-width="0.0938" d="M893.33,1014.23c1.3-2.46,2.54-4.95,3.77-7.44
c1.32,1.05,2.62,2.23,3.42,3.78c4.52,8.18,9.2,16.27,14,24.29c-0.32,0.64-0.94,1.9401-1.26,2.58
c-10.87,0.0901-21.74,0.2201-32.6,0.39c0.27-0.72,0.81-2.1599,1.09-2.88c2.33-4.5,4.95-8.85,7.28-13.35
C890.42,1019.12,891.98,1016.74,893.33,1014.23 M888.65,1032.97c6.35-0.1,12.69-0.1,19.04-0.1599
c-3.34-5.6201-6.49-11.35-9.83-16.9601C894.75,1021.53,891.22,1027.01,888.65,1032.97z"/>
<path fill="#FFFEFC" stroke="#FFFEFC" stroke-width="0.0938" d="M888.65,1032.97c2.5699-5.96,6.1-11.4399,9.21-17.12
c3.34,5.61,6.49,11.34,9.83,16.9601C901.34,1032.87,895,1032.87,888.65,1032.97z"/>
<path fill="#3AB54A" stroke="#3AB54A" stroke-width="0.0938" d="M1028.78,1025.37c6.1899-1.87,12.74-1.2,18.83,0.73
c0.51,17.9601-0.03,35.9301,0.3,53.9h-48.92c-2.21-7.13-3.07-15.84,2.05-21.96c3.77-5.3501,10.26-7.65,16.4901-8.53
c-0.2401-5.01-0.8-10.4401,1.86-14.95C1021.41,1030.53,1025.21,1027.92,1028.78,1025.37z"/>
<path fill="#A67C52" stroke="#A67C52" stroke-width="0.0938" d="M23.85,1030.04c0.89,0.08,1.78,0.1899,2.66,0.33
c5.64,8.38,15.75,13.13,25.62,13.9c-0.7,6.23-0.25,12.51-0.43,18.77c0.07,3.21-0.53,6.85,1.8,9.49c0.12,2.48,0.25,4.97,0.36,7.47
H16.49c-0.09-2.35,0.05-4.71,0.5-7C19.47,1058.71,21.53,1044.35,23.85,1030.04z"/>
<path fill="#656667" stroke="#656667" stroke-width="0.0938" d="M880.12,1037.95c0.53-1.01,1.08-2.01,1.63-3
c-0.28,0.7201-0.82,2.16-1.09,2.88c10.86-0.1699,21.73-0.2999,32.6-0.39c0.32-0.6399,0.94-1.9399,1.26-2.58
c0.61,1.05,1.19,2.1,1.8,3.1901c-5.03,0.25-10.06,0.26-15.08,0.2699c-0.1,13.89-0.06,27.78-0.05,41.6801h-4.88
c-0.5-13.88-0.22-27.77-0.41-41.65c-2.14-0.0599-4.28-0.11-6.4-0.1799C886.37,1038.03,883.24,1037.97,880.12,1037.95z"/>
<path fill="#768B7F" stroke="#768B7F" stroke-width="0.0938" d="M52.13,1044.27c0.89,1.76,1.47,3.7,1.37,5.71
c-0.03,7.52-0.05,15.03,0,22.55c-2.33-2.64-1.73-6.28-1.8-9.49C51.88,1056.78,51.43,1050.5,52.13,1044.27z"/>
<path fill="#39B54A" stroke="#39B54A" stroke-width="0.0938" d="M189.4,1056.36c0.72-4.01,2.21-8.22,6.19-10.0599
c0.31,0.0299,0.92,0.08,1.23,0.1l0.09,0.5c-1.81,3.4299-1.32,7.35-1.31,11.0699c0.12,7.3401-0.12,14.6901,0.22,22.03h-25.06
c-2.3-6.21-2.32-13.9301,2.52-18.97C177.17,1056.26,183.72,1055.8101,189.4,1056.36z"/>
<path fill="#4C9255" stroke="#4C9255" stroke-width="0.0938" d="M195.6,1057.97c-0.01-3.72-0.5-7.64,1.31-11.0699
c0.2,11.03,0.04,22.0699,0.09,33.1h-1.18C195.48,1072.66,195.72,1065.3101,195.6,1057.97z"/>
<path fill="#C1EBC5" stroke="#C1EBC5" stroke-width="0.0938" d="M196.91,1046.9c1.05,1.86,1.52,3.98,1.42,6.13
c-0.16,8.99-0.06,17.98-0.14,26.97H197C196.95,1068.97,197.11,1057.9301,196.91,1046.9z"/>
<g>
<rect x="1713.8098" y="92.3558" fill="#3CB879" stroke="#447F67" width="98.1801" height="51.71"/>
<g>
<rect x="1730.96" y="144.65" fill="#626868" stroke="#626868" stroke-width="0.0938" width="6.0601" height="33.28"/>
<rect x="1788.78" y="144.65" fill="#626868" stroke="#626868" stroke-width="0.0938" width="6.0601" height="33.28"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 100 KiB

1092
www/img/background1.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 263 KiB

BIN
www/img/elefant.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
www/img/esel.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
www/img/hahn.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
www/img/hund.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
www/img/ionic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
www/img/katze.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
www/img/kuh.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
www/img/maus.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
www/img/schaf.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

46
www/index.html Normal file
View File

@ -0,0 +1,46 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link rel="manifest" href="manifest.json">
<!-- un-comment this code to enable service worker
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js')
.then(() => console.log('service worker installed'))
.catch(err => console.log('Error', err));
}
</script>-->
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<link href="css/animate.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/angular-animate/angular-animate.js"></script>
<script src="lib/ng-draggable/ngDraggable.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="lib/ng-cordova/ng-cordova.min.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<!-- your app's js -->
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>
</head>
<body ng-app="kinderspiel">
<ion-nav-view></ion-nav-view>
</body>
</html>

52
www/js/app.js Normal file
View File

@ -0,0 +1,52 @@
// Ionic Starter App
// angular.module is a global place for creating, registering and retrieving Angular modules
// 'starter' is the name of this angular module example (also set in a <body> attribute in index.html)
// the 2nd parameter is an array of 'requires'
angular.module('kinderspiel', ['ionic', 'ngCordova', 'ngDraggable', 'kinderspiel.controllers', 'kinderspiel.services'])
.run(function($ionicPlatform) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
// Don't remove this line unless you know what you are doing. It stops the viewport
// from snapping when text inputs are focused. Ionic handles this internally for
// a much nicer keyboard experience.
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
screen.lockOrientation('landscape');
});
})
.config(function($stateProvider, $urlRouterProvider) {
// Ionic uses AngularUI Router which uses the concept of states
// Learn more here: https://github.com/angular-ui/ui-router
// Set up the various states which the app can be in.
// Each state's controller can be found in controllers.js
$stateProvider
// setup an abstract state for the tabs directive
.state('home', {
url: '/home',
abstract: false,
templateUrl: 'templates/home.html',
controller: 'home'
})
.state('spiel1', {
url: '/spiel1',
templateUrl: 'templates/spiel1.html',
controller: 'Spiel1Ctrl'
})
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/home');
});

262
www/js/controllers.js Normal file
View File

@ -0,0 +1,262 @@
angular.module('kinderspiel.controllers', [])
.controller('home', function($scope, $ionicPlatform, $cordovaMedia, $state ) {
$ionicPlatform.ready(function() {
var media = new Media('/android_asset/www/sounds/hintergrundmusik1.mp3', fertig,null);
var media1 = new Media('/android_asset/www/sounds/bravo.mp3', null,null);
var mediastartespiel1 = new Media('/android_asset/www/sounds/spiel1.mp3', goto_spiel1,null);
$scope.mymedia=media;
$scope.mymedia1=media1;
$scope.mediastartespiel1=mediastartespiel1;
$scope.mymedia.play();
$scope.mymedia.setVolume('0.1');
});
$scope.play = function(src) {
var media = new Media(src, null, null);
$cordovaMedia.play(media);
}
$scope.starte_spiel1 = function(){
}
$scope.starte_spiel2 = function(){
$scope.mymedia1.play();
$scope.mymedia1.setVolume('0.6');
}
function fertig(){
$scope.mymedia.play();
$scope.mymedia.setVolume('0.1');
}
$scope.starte_spiel1 = function(){
$scope.mediastartespiel1.play();
$scope.mediastartespiel1.setVolume('0.6');
}
function goto_spiel1() {
$scope.mediastartespiel1.release();
$state.go('spiel1');
}
})
.controller('Spiel1Ctrl', function($scope, $ionicPlatform, $cordovaMedia, $state, $timeout) {
$scope.spiele=[];
$scope.spieleview=[];
$scope.tierfinden='';
$scope.randomid=0;
$scope.error = false;
$ionicPlatform.ready(function() {
$scope.sounds=[];
$scope.sounds.push('');
var media = new Media('/android_asset/www/sounds/hintergrundmusik1.mp3', fertig,null);
var tiersound1 = new Media('/android_asset/www/sounds/finde_elefant.mp3', null,null);
var tiersound2 = new Media('/android_asset/www/sounds/finde_esel.mp3', null,null);
var tiersound3 = new Media('/android_asset/www/sounds/finde_hahn.mp3', null,null);
var tiersound4 = new Media('/android_asset/www/sounds/finde_hund.mp3', null,null);
var tiersound5 = new Media('/android_asset/www/sounds/finde_katze.mp3', null,null);
var tiersound6 = new Media('/android_asset/www/sounds/finde_kuh.mp3', null,null);
var tiersound7 = new Media('/android_asset/www/sounds/finde_maus.mp3', null,null);
var tiersound8 = new Media('/android_asset/www/sounds/finde_schaf.mp3', null,null);
var bravosound = new Media('/android_asset/www/sounds/bravo.mp3', goto_newspiel,null);
var falschsound = new Media('/android_asset/www/sounds/falsch.mp3', null,null);
$scope.mymedia=media;
$scope.bravosound=bravosound;
$scope.falschsound=falschsound;
$scope.sounds.push(tiersound1);
$scope.sounds.push(tiersound2);
$scope.sounds.push(tiersound3);
$scope.sounds.push(tiersound4);
$scope.sounds.push(tiersound5);
$scope.sounds.push(tiersound6);
$scope.sounds.push(tiersound7);
$scope.sounds.push(tiersound8);
//$scope.mymedia.play();
//$scope.mymedia.setVolume('0.1');
});
function fertig(){
$scope.mymedia.play();
$scope.mymedia.setVolume('0.1');
}
var tier = {
id: 1,
bild: 'elefant.jpg',
sound1: 'sound_elefant.mp3',
antwort: ''
};
$scope.spiele.push(tier);
var tier1 = {
id: 2,
bild: 'esel.jpg',
sound1: 'sound_esel.mp3',
antwort: ''
};
$scope.spiele.push(tier1);
var tier2 = {
id: 3,
bild: 'hahn.jpg',
sound1: 'sound_hahn.mp3',
antwort: ''
};
$scope.spiele.push(tier2);
var tier3 = {
id: 4,
bild: 'hund.jpg',
sound1: 'sound_hund.mp3',
sound2: ''
};
$scope.spiele.push(tier3);
var tier4 = {
id: 5,
bild: 'katze.jpg',
sound1: 'sound_katze.mp3',
sound2: ''
};
$scope.spiele.push(tier4);
var tier5 = {
id: 6,
bild: 'kuh.jpg',
sound1: 'sound_kuh.mp3',
sound2: ''
};
$scope.spiele.push(tier5);
var tier6 = {
id: 7,
bild: 'maus.jpg',
sound1: 'sound_maus.mp3',
sound2: ''
};
$scope.spiele.push(tier6);
var tier7 = {
id: 8,
bild: 'schaf.jpg',
sound1: 'sound_schaf.mp3',
sound2: ''
};
$scope.spiele.push(tier7);
$scope.answer = function(src) {
if (src==$scope.randomid){
$timeout(function () {
$scope.spiele=shuffleArray($scope.spiele);
$scope.chunkedData = chunk($scope.spiele, 4);
$timeout(function () {
$scope.spiele=shuffleArray($scope.spiele);
$scope.chunkedData = chunk($scope.spiele, 4);
$timeout(function () {
$scope.spiele=shuffleArray($scope.spiele);
$scope.chunkedData = chunk($scope.spiele, 4);
}, 500);
}, 500);
}, 500);
$scope.bravosound.play();
}
else{
$scope.falschsound.play();
$scope.error = true;
$timeout(function () {
$scope.error = false;
}, 1000);
}
}
var shuffleArray = function(array) {
var m = array.length, t, i;
// While there remain elements to shuffle
while (m) {
// Pick a remaining element…
i = Math.floor(Math.random() * m--);
// And swap it with the current element.
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
function goto_newspiel() {
$scope.randomid = getRandomInt(1, 8);
//$scope.play('/android_asset/www/sounds/' + $scope.sounds[$scope.randomid]);
$scope.sounds[$scope.randomid].play();
}
function getRandomInt(min, max) {
var tmpInt=0;
min = Math.ceil(min);
max = Math.floor(max);
tmpInt = Math.floor(Math.random() * (max - min + 1)) + min;
if (tmpInt > max){
tmpInt=max;
}
if (tmpInt < min){
tmpInt=min;
}
return tmpInt;
}
//4 Splaten Aufteilung
function chunk(arr, size) {
var newArr = [];
for (var i=0; i<arr.length; i+=size) {
newArr.push(arr.slice(i, i+size));
}
return newArr;
}
$scope.chunkedData = chunk($scope.spiele, 4);
goto_newspiel();
});

67
www/js/services.js Normal file
View File

@ -0,0 +1,67 @@
angular.module('kinderspiel.services', [])
// for media plugin : http://plugins.cordova.io/#/package/org.apache.cordova.media
.factory('MediaSrv', function($q, $cordovaMedia, $ionicPlatform){
var service = {
loadMedia: loadMedia,
getStatusMessage: getStatusMessage,
getErrorMessage: getErrorMessage
};
function loadMedia(src, onStop, onError, onStatus){
var defer = $q.defer();
$ionicPlatform.ready(function(){
var mediaStatus = {
code: 0,
text: getStatusMessage(0)
};
var mediaSuccess = function(){
mediaStatus.code = 4;
mediaStatus.text = getStatusMessage(4);
if(onStop){onStop();}
};
var mediaError = function(err){
_logError(src, err);
if(onError){onError(err);}
};
var mediaStatus = function(status){
mediaStatus.code = status;
mediaStatus.text = getStatusMessage(status);
if(onStatus){onStatus(status);}
};
if($ionicPlatform.is('android')){src = '/android_asset/www/' + src;}
var media = new $window.Media(src, mediaSuccess, mediaError, mediaStatus);
media.status = mediaStatus;
defer.resolve(media);
});
return defer.promise;
}
function _logError(src, err){
console.error('MediaSrv error', {
code: err.code,
text: getErrorMessage(err.code)
});
}
function getStatusMessage(status){
if(status === 0){return 'Media.MEDIA_NONE';}
else if(status === 1){return 'Media.MEDIA_STARTING';}
else if(status === 2){return 'Media.MEDIA_RUNNING';}
else if(status === 3){return 'Media.MEDIA_PAUSED';}
else if(status === 4){return 'Media.MEDIA_STOPPED';}
else {return 'Unknown status <'+status+'>';}
}
function getErrorMessage(code){
if(code === 1){return 'MediaError.MEDIA_ERR_ABORTED';}
else if(code === 2){return 'MediaError.MEDIA_ERR_NETWORK';}
else if(code === 3){return 'MediaError.MEDIA_ERR_DECODE';}
else if(code === 4){return 'MediaError.MEDIA_ERR_NONE_SUPPORTED';}
else {return 'Unknown code <'+code+'>';}
}
return service;
});

View File

@ -0,0 +1,21 @@
{
"name": "angular-animate",
"version": "1.5.8",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.8"
},
"homepage": "https://github.com/angular/bower-angular-animate",
"_release": "1.5.8",
"_resolution": {
"type": "version",
"tag": "v1.5.8",
"commit": "688b68844cf95420e1793327f69d0c25589c23d1"
},
"_source": "https://github.com/angular/bower-angular-animate.git",
"_target": "^1.5.8",
"_originalSource": "angular-animate",
"_direct": true
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Angular
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,68 @@
# packaged angular-animate
This repo is for distribution on `npm` and `bower`. The source for this module is in the
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngAnimate).
Please file issues and pull requests against that repo.
## Install
You can install this package either with `npm` or with `bower`.
### npm
```shell
npm install angular-animate
```
Then add `ngAnimate` as a dependency for your app:
```javascript
angular.module('myApp', [require('angular-animate')]);
```
### bower
```shell
bower install angular-animate
```
Then add a `<script>` to your `index.html`:
```html
<script src="/bower_components/angular-animate/angular-animate.js"></script>
```
Then add `ngAnimate` as a dependency for your app:
```javascript
angular.module('myApp', ['ngAnimate']);
```
## Documentation
Documentation is available on the
[AngularJS docs site](http://docs.angularjs.org/api/ngAnimate).
## License
The MIT License
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

4139
www/lib/angular-animate/angular-animate.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,57 @@
/*
AngularJS v1.5.8
(c) 2010-2016 Google, Inc. http://angularjs.org
License: MIT
*/
(function(R,B){'use strict';function Da(a,b,c){if(!a)throw Ma("areq",b||"?",c||"required");return a}function Ea(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;Y(a)&&(a=a.join(" "));Y(b)&&(b=b.join(" "));return a+" "+b}function Na(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function Z(a,b,c){var d="";a=Y(a)?a:a&&G(a)&&a.length?a.split(/\s+/):[];s(a,function(a,l){a&&0<a.length&&(d+=0<l?" ":"",d+=c?b+a:a+b)});return d}function Oa(a){if(a instanceof F)switch(a.length){case 0:return a;
case 1:if(1===a[0].nodeType)return a;break;default:return F(ta(a))}if(1===a.nodeType)return F(a)}function ta(a){if(!a[0])return a;for(var b=0;b<a.length;b++){var c=a[b];if(1==c.nodeType)return c}}function Pa(a,b,c){s(b,function(b){a.addClass(b,c)})}function Qa(a,b,c){s(b,function(b){a.removeClass(b,c)})}function V(a){return function(b,c){c.addClass&&(Pa(a,b,c.addClass),c.addClass=null);c.removeClass&&(Qa(a,b,c.removeClass),c.removeClass=null)}}function oa(a){a=a||{};if(!a.$$prepared){var b=a.domOperation||
P;a.domOperation=function(){a.$$domOperationFired=!0;b();b=P};a.$$prepared=!0}return a}function ha(a,b){Fa(a,b);Ga(a,b)}function Fa(a,b){b.from&&(a.css(b.from),b.from=null)}function Ga(a,b){b.to&&(a.css(b.to),b.to=null)}function W(a,b,c){var d=b.options||{};c=c.options||{};var e=(d.addClass||"")+" "+(c.addClass||""),l=(d.removeClass||"")+" "+(c.removeClass||"");a=Ra(a.attr("class"),e,l);c.preparationClasses&&(d.preparationClasses=$(c.preparationClasses,d.preparationClasses),delete c.preparationClasses);
e=d.domOperation!==P?d.domOperation:null;ua(d,c);e&&(d.domOperation=e);d.addClass=a.addClass?a.addClass:null;d.removeClass=a.removeClass?a.removeClass:null;b.addClass=d.addClass;b.removeClass=d.removeClass;return d}function Ra(a,b,c){function d(a){G(a)&&(a=a.split(" "));var b={};s(a,function(a){a.length&&(b[a]=!0)});return b}var e={};a=d(a);b=d(b);s(b,function(a,b){e[b]=1});c=d(c);s(c,function(a,b){e[b]=1===e[b]?null:-1});var l={addClass:"",removeClass:""};s(e,function(b,c){var d,e;1===b?(d="addClass",
e=!a[c]||a[c+"-remove"]):-1===b&&(d="removeClass",e=a[c]||a[c+"-add"]);e&&(l[d].length&&(l[d]+=" "),l[d]+=c)});return l}function y(a){return a instanceof F?a[0]:a}function Sa(a,b,c){var d="";b&&(d=Z(b,"ng-",!0));c.addClass&&(d=$(d,Z(c.addClass,"-add")));c.removeClass&&(d=$(d,Z(c.removeClass,"-remove")));d.length&&(c.preparationClasses=d,a.addClass(d))}function pa(a,b){var c=b?"-"+b+"s":"";la(a,[ma,c]);return[ma,c]}function va(a,b){var c=b?"paused":"",d=aa+"PlayState";la(a,[d,c]);return[d,c]}function la(a,
b){a.style[b[0]]=b[1]}function $(a,b){return a?b?a+" "+b:a:b}function Ha(a,b,c){var d=Object.create(null),e=a.getComputedStyle(b)||{};s(c,function(a,b){var c=e[a];if(c){var g=c.charAt(0);if("-"===g||"+"===g||0<=g)c=Ta(c);0===c&&(c=null);d[b]=c}});return d}function Ta(a){var b=0;a=a.split(/\s*,\s*/);s(a,function(a){"s"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1));a=parseFloat(a)||0;b=b?Math.max(a,b):a});return b}function wa(a){return 0===a||null!=a}function Ia(a,b){var c=S,d=a+"s";b?c+="Duration":
d+=" linear all";return[c,d]}function Ja(){var a=Object.create(null);return{flush:function(){a=Object.create(null)},count:function(b){return(b=a[b])?b.total:0},get:function(b){return(b=a[b])&&b.value},put:function(b,c){a[b]?a[b].total++:a[b]={total:1,value:c}}}}function Ka(a,b,c){s(c,function(c){a[c]=xa(a[c])?a[c]:b.style.getPropertyValue(c)})}var S,ya,aa,za;void 0===R.ontransitionend&&void 0!==R.onwebkittransitionend?(S="WebkitTransition",ya="webkitTransitionEnd transitionend"):(S="transition",ya=
"transitionend");void 0===R.onanimationend&&void 0!==R.onwebkitanimationend?(aa="WebkitAnimation",za="webkitAnimationEnd animationend"):(aa="animation",za="animationend");var qa=aa+"Delay",Aa=aa+"Duration",ma=S+"Delay",La=S+"Duration",Ma=B.$$minErr("ng"),Ua={transitionDuration:La,transitionDelay:ma,transitionProperty:S+"Property",animationDuration:Aa,animationDelay:qa,animationIterationCount:aa+"IterationCount"},Va={transitionDuration:La,transitionDelay:ma,animationDuration:Aa,animationDelay:qa},
Ba,ua,s,Y,xa,ea,Ca,ba,G,J,F,P;B.module("ngAnimate",[],function(){P=B.noop;Ba=B.copy;ua=B.extend;F=B.element;s=B.forEach;Y=B.isArray;G=B.isString;ba=B.isObject;J=B.isUndefined;xa=B.isDefined;Ca=B.isFunction;ea=B.isElement}).directive("ngAnimateSwap",["$animate","$rootScope",function(a,b){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(b,d,e,l,n){var I,g;b.$watchCollection(e.ngAnimateSwap||e["for"],function(e){I&&a.leave(I);g&&(g.$destroy(),g=null);if(e||0===e)g=b.$new(),
n(g,function(b){I=b;a.enter(b,null,d)})})}}}]).directive("ngAnimateChildren",["$interpolate",function(a){return{link:function(b,c,d){function e(a){c.data("$$ngAnimateChildren","on"===a||"true"===a)}var l=d.ngAnimateChildren;G(l)&&0===l.length?c.data("$$ngAnimateChildren",!0):(e(a(l)(b)),d.$observe("ngAnimateChildren",e))}}}]).factory("$$rAFScheduler",["$$rAF",function(a){function b(a){d=d.concat(a);c()}function c(){if(d.length){for(var b=d.shift(),n=0;n<b.length;n++)b[n]();e||a(function(){e||c()})}}
var d,e;d=b.queue=[];b.waitUntilQuiet=function(b){e&&e();e=a(function(){e=null;b();c()})};return b}]).provider("$$animateQueue",["$animateProvider",function(a){function b(a){if(!a)return null;a=a.split(" ");var b=Object.create(null);s(a,function(a){b[a]=!0});return b}function c(a,c){if(a&&c){var d=b(c);return a.split(" ").some(function(a){return d[a]})}}function d(a,b,c,d){return l[a].some(function(a){return a(b,c,d)})}function e(a,b){var c=0<(a.addClass||"").length,d=0<(a.removeClass||"").length;
return b?c&&d:c||d}var l=this.rules={skip:[],cancel:[],join:[]};l.join.push(function(a,b,c){return!b.structural&&e(b)});l.skip.push(function(a,b,c){return!b.structural&&!e(b)});l.skip.push(function(a,b,c){return"leave"==c.event&&b.structural});l.skip.push(function(a,b,c){return c.structural&&2===c.state&&!b.structural});l.cancel.push(function(a,b,c){return c.structural&&b.structural});l.cancel.push(function(a,b,c){return 2===c.state&&b.structural});l.cancel.push(function(a,b,d){if(d.structural)return!1;
a=b.addClass;b=b.removeClass;var e=d.addClass;d=d.removeClass;return J(a)&&J(b)||J(e)&&J(d)?!1:c(a,d)||c(b,e)});this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(b,c,g,l,C,Wa,Q,t,H,T){function O(){var a=!1;return function(b){a?b():c.$$postDigest(function(){a=!0;b()})}}function x(a,b,c){var f=y(b),d=y(a),N=[];(a=h[c])&&s(a,function(a){w.call(a.node,f)?N.push(a.callback):"leave"===c&&w.call(a.node,
d)&&N.push(a.callback)});return N}function r(a,b,c){var f=ta(b);return a.filter(function(a){return!(a.node===f&&(!c||a.callback===c))})}function p(a,h,v){function r(c,f,d,h){sa(function(){var c=x(T,a,f);c.length?b(function(){s(c,function(b){b(a,d,h)});"close"!==d||a[0].parentNode||ra.off(a)}):"close"!==d||a[0].parentNode||ra.off(a)});c.progress(f,d,h)}function k(b){var c=a,f=m;f.preparationClasses&&(c.removeClass(f.preparationClasses),f.preparationClasses=null);f.activeClasses&&(c.removeClass(f.activeClasses),
f.activeClasses=null);E(a,m);ha(a,m);m.domOperation();A.complete(!b)}var m=Ba(v),p,T;if(a=Oa(a))p=y(a),T=a.parent();var m=oa(m),A=new Q,sa=O();Y(m.addClass)&&(m.addClass=m.addClass.join(" "));m.addClass&&!G(m.addClass)&&(m.addClass=null);Y(m.removeClass)&&(m.removeClass=m.removeClass.join(" "));m.removeClass&&!G(m.removeClass)&&(m.removeClass=null);m.from&&!ba(m.from)&&(m.from=null);m.to&&!ba(m.to)&&(m.to=null);if(!p)return k(),A;v=[p.className,m.addClass,m.removeClass].join(" ");if(!Xa(v))return k(),
A;var g=0<=["enter","move","leave"].indexOf(h),w=l[0].hidden,t=!f||w||N.get(p);v=!t&&z.get(p)||{};var H=!!v.state;t||H&&1==v.state||(t=!M(a,T,h));if(t)return w&&r(A,h,"start"),k(),w&&r(A,h,"close"),A;g&&K(a);w={structural:g,element:a,event:h,addClass:m.addClass,removeClass:m.removeClass,close:k,options:m,runner:A};if(H){if(d("skip",a,w,v)){if(2===v.state)return k(),A;W(a,v,w);return v.runner}if(d("cancel",a,w,v))if(2===v.state)v.runner.end();else if(v.structural)v.close();else return W(a,v,w),v.runner;
else if(d("join",a,w,v))if(2===v.state)W(a,w,{});else return Sa(a,g?h:null,m),h=w.event=v.event,m=W(a,v,w),v.runner}else W(a,w,{});(H=w.structural)||(H="animate"===w.event&&0<Object.keys(w.options.to||{}).length||e(w));if(!H)return k(),ka(a),A;var C=(v.counter||0)+1;w.counter=C;L(a,1,w);c.$$postDigest(function(){var b=z.get(p),c=!b,b=b||{},f=0<(a.parent()||[]).length&&("animate"===b.event||b.structural||e(b));if(c||b.counter!==C||!f){c&&(E(a,m),ha(a,m));if(c||g&&b.event!==h)m.domOperation(),A.end();
f||ka(a)}else h=!b.structural&&e(b,!0)?"setClass":b.event,L(a,2),b=Wa(a,h,b.options),A.setHost(b),r(A,h,"start",{}),b.done(function(b){k(!b);(b=z.get(p))&&b.counter===C&&ka(y(a));r(A,h,"close",{})})});return A}function K(a){a=y(a).querySelectorAll("[data-ng-animate]");s(a,function(a){var b=parseInt(a.getAttribute("data-ng-animate")),c=z.get(a);if(c)switch(b){case 2:c.runner.end();case 1:z.remove(a)}})}function ka(a){a=y(a);a.removeAttribute("data-ng-animate");z.remove(a)}function k(a,b){return y(a)===
y(b)}function M(a,b,c){c=F(l[0].body);var f=k(a,c)||"HTML"===a[0].nodeName,d=k(a,g),h=!1,r,e=N.get(y(a));(a=F.data(a[0],"$ngAnimatePin"))&&(b=a);for(b=y(b);b;){d||(d=k(b,g));if(1!==b.nodeType)break;a=z.get(b)||{};if(!h){var p=N.get(b);if(!0===p&&!1!==e){e=!0;break}else!1===p&&(e=!1);h=a.structural}if(J(r)||!0===r)a=F.data(b,"$$ngAnimateChildren"),xa(a)&&(r=a);if(h&&!1===r)break;f||(f=k(b,c));if(f&&d)break;if(!d&&(a=F.data(b,"$ngAnimatePin"))){b=y(a);continue}b=b.parentNode}return(!h||r)&&!0!==e&&
d&&f}function L(a,b,c){c=c||{};c.state=b;a=y(a);a.setAttribute("data-ng-animate",b);c=(b=z.get(a))?ua(b,c):c;z.put(a,c)}var z=new C,N=new C,f=null,A=c.$watch(function(){return 0===t.totalPendingRequests},function(a){a&&(A(),c.$$postDigest(function(){c.$$postDigest(function(){null===f&&(f=!0)})}))}),h=Object.create(null),sa=a.classNameFilter(),Xa=sa?function(a){return sa.test(a)}:function(){return!0},E=V(H),w=R.Node.prototype.contains||function(a){return this===a||!!(this.compareDocumentPosition(a)&
16)},ra={on:function(a,b,c){var f=ta(b);h[a]=h[a]||[];h[a].push({node:f,callback:c});F(b).on("$destroy",function(){z.get(f)||ra.off(a,b,c)})},off:function(a,b,c){if(1!==arguments.length||G(arguments[0])){var f=h[a];f&&(h[a]=1===arguments.length?null:r(f,b,c))}else for(f in b=arguments[0],h)h[f]=r(h[f],b)},pin:function(a,b){Da(ea(a),"element","not an element");Da(ea(b),"parentElement","not an element");a.data("$ngAnimatePin",b)},push:function(a,b,c,f){c=c||{};c.domOperation=f;return p(a,b,c)},enabled:function(a,
b){var c=arguments.length;if(0===c)b=!!f;else if(ea(a)){var d=y(a);1===c?b=!N.get(d):N.put(d,!b)}else b=f=!!a;return b}};return ra}]}]).provider("$$animation",["$animateProvider",function(a){var b=this.drivers=[];this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(a,d,e,l,n,I){function g(a){function b(a){if(a.processed)return a;a.processed=!0;var d=a.domNode,p=d.parentNode;e.put(d,a);for(var K;p;){if(K=e.get(p)){K.processed||(K=b(K));break}p=p.parentNode}(K||
c).children.push(a);return a}var c={children:[]},d,e=new n;for(d=0;d<a.length;d++){var g=a[d];e.put(g.domNode,a[d]={domNode:g.domNode,fn:g.fn,children:[]})}for(d=0;d<a.length;d++)b(a[d]);return function(a){var b=[],c=[],d;for(d=0;d<a.children.length;d++)c.push(a.children[d]);a=c.length;var e=0,k=[];for(d=0;d<c.length;d++){var g=c[d];0>=a&&(a=e,e=0,b.push(k),k=[]);k.push(g.fn);g.children.forEach(function(a){e++;c.push(a)});a--}k.length&&b.push(k);return b}(c)}var u=[],C=V(a);return function(n,Q,t){function H(a){a=
a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];s(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function T(a){var b=[],c={};s(a,function(a,d){var h=y(a.element),e=0<=["enter","move"].indexOf(a.event),h=a.structural?H(h):[];if(h.length){var k=e?"to":"from";s(h,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][k]={animationID:d,element:F(a)}})}else b.push(a)});var d={},e={};s(c,function(c,k){var r=c.from,
p=c.to;if(r&&p){var z=a[r.animationID],g=a[p.animationID],A=r.animationID.toString();if(!e[A]){var n=e[A]={structural:!0,beforeStart:function(){z.beforeStart();g.beforeStart()},close:function(){z.close();g.close()},classes:O(z.classes,g.classes),from:z,to:g,anchors:[]};n.classes.length?b.push(n):(b.push(z),b.push(g))}e[A].anchors.push({out:r.element,"in":p.element})}else r=r?r.animationID:p.animationID,p=r.toString(),d[p]||(d[p]=!0,b.push(a[r]))});return b}function O(a,b){a=a.split(" ");b=b.split(" ");
for(var c=[],d=0;d<a.length;d++){var e=a[d];if("ng-"!==e.substring(0,3))for(var r=0;r<b.length;r++)if(e===b[r]){c.push(e);break}}return c.join(" ")}function x(a){for(var c=b.length-1;0<=c;c--){var d=e.get(b[c])(a);if(d)return d}}function r(a,b){function c(a){(a=a.data("$$animationRunner"))&&a.setHost(b)}a.from&&a.to?(c(a.from.element),c(a.to.element)):c(a.element)}function p(){var a=n.data("$$animationRunner");!a||"leave"===Q&&t.$$domOperationFired||a.end()}function K(b){n.off("$destroy",p);n.removeData("$$animationRunner");
C(n,t);ha(n,t);t.domOperation();L&&a.removeClass(n,L);n.removeClass("ng-animate");k.complete(!b)}t=oa(t);var ka=0<=["enter","move","leave"].indexOf(Q),k=new l({end:function(){K()},cancel:function(){K(!0)}});if(!b.length)return K(),k;n.data("$$animationRunner",k);var M=Ea(n.attr("class"),Ea(t.addClass,t.removeClass)),L=t.tempClasses;L&&(M+=" "+L,t.tempClasses=null);var z;ka&&(z="ng-"+Q+"-prepare",a.addClass(n,z));u.push({element:n,classes:M,event:Q,structural:ka,options:t,beforeStart:function(){n.addClass("ng-animate");
L&&a.addClass(n,L);z&&(a.removeClass(n,z),z=null)},close:K});n.on("$destroy",p);if(1<u.length)return k;d.$$postDigest(function(){var a=[];s(u,function(b){b.element.data("$$animationRunner")?a.push(b):b.close()});u.length=0;var b=T(a),c=[];s(b,function(a){c.push({domNode:y(a.from?a.from.element:a.element),fn:function(){a.beforeStart();var b,c=a.close;if((a.anchors?a.from.element||a.to.element:a.element).data("$$animationRunner")){var d=x(a);d&&(b=d.start)}b?(b=b(),b.done(function(a){c(!a)}),r(a,b)):
c()}})});I(g(c))});return k}}]}]).provider("$animateCss",["$animateProvider",function(a){var b=Ja(),c=Ja();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(a,e,l,n,I,g,u,C){function B(a,b){var c=a.parentNode;return(c.$$ngAnimateParentKey||(c.$$ngAnimateParentKey=++O))+"-"+a.getAttribute("class")+"-"+b}function Q(r,p,g,n){var k;0<b.count(g)&&(k=c.get(g),k||(p=Z(p,"-stagger"),e.addClass(r,p),k=Ha(a,r,n),k.animationDuration=
Math.max(k.animationDuration,0),k.transitionDuration=Math.max(k.transitionDuration,0),e.removeClass(r,p),c.put(g,k)));return k||{}}function t(a){x.push(a);u.waitUntilQuiet(function(){b.flush();c.flush();for(var a=I(),d=0;d<x.length;d++)x[d](a);x.length=0})}function H(c,e,g){e=b.get(g);e||(e=Ha(a,c,Ua),"infinite"===e.animationIterationCount&&(e.animationIterationCount=1));b.put(g,e);c=e;g=c.animationDelay;e=c.transitionDelay;c.maxDelay=g&&e?Math.max(g,e):g||e;c.maxDuration=Math.max(c.animationDuration*
c.animationIterationCount,c.transitionDuration);return c}var T=V(e),O=0,x=[];return function(a,c){function d(){k()}function u(){k(!0)}function k(b){if(!(w||F&&O)){w=!0;O=!1;f.$$skipPreparationClasses||e.removeClass(a,ga);e.removeClass(a,ea);va(h,!1);pa(h,!1);s(x,function(a){h.style[a[0]]=""});T(a,f);ha(a,f);Object.keys(A).length&&s(A,function(a,b){a?h.style.setProperty(b,a):h.style.removeProperty(b)});if(f.onDone)f.onDone();fa&&fa.length&&a.off(fa.join(" "),z);var c=a.data("$$animateCss");c&&(n.cancel(c[0].timer),
a.removeData("$$animateCss"));G&&G.complete(!b)}}function M(a){q.blockTransition&&pa(h,a);q.blockKeyframeAnimation&&va(h,!!a)}function L(){G=new l({end:d,cancel:u});t(P);k();return{$$willAnimate:!1,start:function(){return G},end:d}}function z(a){a.stopPropagation();var b=a.originalEvent||a;a=b.$manualTimeStamp||Date.now();b=parseFloat(b.elapsedTime.toFixed(3));Math.max(a-W,0)>=R&&b>=m&&(F=!0,k())}function N(){function b(){if(!w){M(!1);s(x,function(a){h.style[a[0]]=a[1]});T(a,f);e.addClass(a,ea);if(q.recalculateTimingStyles){na=
h.className+" "+ga;ia=B(h,na);D=H(h,na,ia);ca=D.maxDelay;J=Math.max(ca,0);m=D.maxDuration;if(0===m){k();return}q.hasTransitions=0<D.transitionDuration;q.hasAnimations=0<D.animationDuration}q.applyAnimationDelay&&(ca="boolean"!==typeof f.delay&&wa(f.delay)?parseFloat(f.delay):ca,J=Math.max(ca,0),D.animationDelay=ca,da=[qa,ca+"s"],x.push(da),h.style[da[0]]=da[1]);R=1E3*J;V=1E3*m;if(f.easing){var d,g=f.easing;q.hasTransitions&&(d=S+"TimingFunction",x.push([d,g]),h.style[d]=g);q.hasAnimations&&(d=aa+
"TimingFunction",x.push([d,g]),h.style[d]=g)}D.transitionDuration&&fa.push(ya);D.animationDuration&&fa.push(za);W=Date.now();var p=R+1.5*V;d=W+p;var g=a.data("$$animateCss")||[],N=!0;if(g.length){var l=g[0];(N=d>l.expectedEndTime)?n.cancel(l.timer):g.push(k)}N&&(p=n(c,p,!1),g[0]={timer:p,expectedEndTime:d},g.push(k),a.data("$$animateCss",g));if(fa.length)a.on(fa.join(" "),z);f.to&&(f.cleanupStyles&&Ka(A,h,Object.keys(f.to)),Ga(a,f))}}function c(){var b=a.data("$$animateCss");if(b){for(var d=1;d<b.length;d++)b[d]();
a.removeData("$$animateCss")}}if(!w)if(h.parentNode){var d=function(a){if(F)O&&a&&(O=!1,k());else if(O=!a,D.animationDuration)if(a=va(h,O),O)x.push(a);else{var b=x,c=b.indexOf(a);0<=a&&b.splice(c,1)}},g=0<ba&&(D.transitionDuration&&0===X.transitionDuration||D.animationDuration&&0===X.animationDuration)&&Math.max(X.animationDelay,X.transitionDelay);g?n(b,Math.floor(g*ba*1E3),!1):b();v.resume=function(){d(!0)};v.pause=function(){d(!1)}}else k()}var f=c||{};f.$$prepared||(f=oa(Ba(f)));var A={},h=y(a);
if(!h||!h.parentNode||!C.enabled())return L();var x=[],I=a.attr("class"),E=Na(f),w,O,F,G,v,J,R,m,V,W,fa=[];if(0===f.duration||!g.animations&&!g.transitions)return L();var ja=f.event&&Y(f.event)?f.event.join(" "):f.event,$="",U="";ja&&f.structural?$=Z(ja,"ng-",!0):ja&&($=ja);f.addClass&&(U+=Z(f.addClass,"-add"));f.removeClass&&(U.length&&(U+=" "),U+=Z(f.removeClass,"-remove"));f.applyClassesEarly&&U.length&&T(a,f);var ga=[$,U].join(" ").trim(),na=I+" "+ga,ea=Z(ga,"-active"),I=E.to&&0<Object.keys(E.to).length;
if(!(0<(f.keyframeStyle||"").length||I||ga))return L();var ia,X;0<f.stagger?(E=parseFloat(f.stagger),X={transitionDelay:E,animationDelay:E,transitionDuration:0,animationDuration:0}):(ia=B(h,na),X=Q(h,ga,ia,Va));f.$$skipPreparationClasses||e.addClass(a,ga);f.transitionStyle&&(E=[S,f.transitionStyle],la(h,E),x.push(E));0<=f.duration&&(E=0<h.style[S].length,E=Ia(f.duration,E),la(h,E),x.push(E));f.keyframeStyle&&(E=[aa,f.keyframeStyle],la(h,E),x.push(E));var ba=X?0<=f.staggerIndex?f.staggerIndex:b.count(ia):
0;(ja=0===ba)&&!f.skipBlocking&&pa(h,9999);var D=H(h,na,ia),ca=D.maxDelay;J=Math.max(ca,0);m=D.maxDuration;var q={};q.hasTransitions=0<D.transitionDuration;q.hasAnimations=0<D.animationDuration;q.hasTransitionAll=q.hasTransitions&&"all"==D.transitionProperty;q.applyTransitionDuration=I&&(q.hasTransitions&&!q.hasTransitionAll||q.hasAnimations&&!q.hasTransitions);q.applyAnimationDuration=f.duration&&q.hasAnimations;q.applyTransitionDelay=wa(f.delay)&&(q.applyTransitionDuration||q.hasTransitions);q.applyAnimationDelay=
wa(f.delay)&&q.hasAnimations;q.recalculateTimingStyles=0<U.length;if(q.applyTransitionDuration||q.applyAnimationDuration)m=f.duration?parseFloat(f.duration):m,q.applyTransitionDuration&&(q.hasTransitions=!0,D.transitionDuration=m,E=0<h.style[S+"Property"].length,x.push(Ia(m,E))),q.applyAnimationDuration&&(q.hasAnimations=!0,D.animationDuration=m,x.push([Aa,m+"s"]));if(0===m&&!q.recalculateTimingStyles)return L();if(null!=f.delay){var da;"boolean"!==typeof f.delay&&(da=parseFloat(f.delay),J=Math.max(da,
0));q.applyTransitionDelay&&x.push([ma,da+"s"]);q.applyAnimationDelay&&x.push([qa,da+"s"])}null==f.duration&&0<D.transitionDuration&&(q.recalculateTimingStyles=q.recalculateTimingStyles||ja);R=1E3*J;V=1E3*m;f.skipBlocking||(q.blockTransition=0<D.transitionDuration,q.blockKeyframeAnimation=0<D.animationDuration&&0<X.animationDelay&&0===X.animationDuration);f.from&&(f.cleanupStyles&&Ka(A,h,Object.keys(f.from)),Fa(a,f));q.blockTransition||q.blockKeyframeAnimation?M(m):f.skipBlocking||pa(h,!1);return{$$willAnimate:!0,
end:d,start:function(){if(!w)return v={end:d,cancel:u,resume:null,pause:null},G=new l(v),t(N),G}}}}]}]).provider("$$animateCssDriver",["$$animationProvider",function(a){a.drivers.push("$$animateCssDriver");this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(a,c,d,e,l,n,I){function g(a){return a.replace(/\bng-\S+\b/g,"")}function u(a,b){G(a)&&(a=a.split(" "));G(b)&&(b=b.split(" "));return a.filter(function(a){return-1===b.indexOf(a)}).join(" ")}
function C(c,e,n){function l(a){var b={},c=y(a).getBoundingClientRect();s(["width","height","top","left"],function(a){var d=c[a];switch(a){case "top":d+=t.scrollTop;break;case "left":d+=t.scrollLeft}b[a]=Math.floor(d)+"px"});return b}function p(){var c=g(n.attr("class")||""),d=u(c,k),c=u(k,c),d=a(C,{to:l(n),addClass:"ng-anchor-in "+d,removeClass:"ng-anchor-out "+c,delay:!0});return d.$$willAnimate?d:null}function I(){C.remove();e.removeClass("ng-animate-shim");n.removeClass("ng-animate-shim")}var C=
F(y(e).cloneNode(!0)),k=g(C.attr("class")||"");e.addClass("ng-animate-shim");n.addClass("ng-animate-shim");C.addClass("ng-anchor");H.append(C);var M;c=function(){var c=a(C,{addClass:"ng-anchor-out",delay:!0,from:l(e)});return c.$$willAnimate?c:null}();if(!c&&(M=p(),!M))return I();var L=c||M;return{start:function(){function a(){c&&c.end()}var b,c=L.start();c.done(function(){c=null;if(!M&&(M=p()))return c=M.start(),c.done(function(){c=null;I();b.complete()}),c;I();b.complete()});return b=new d({end:a,
cancel:a})}}}function B(a,b,c,e){var g=Q(a,P),n=Q(b,P),l=[];s(e,function(a){(a=C(c,a.out,a["in"]))&&l.push(a)});if(g||n||0!==l.length)return{start:function(){function a(){s(b,function(a){a.end()})}var b=[];g&&b.push(g.start());n&&b.push(n.start());s(l,function(a){b.push(a.start())});var c=new d({end:a,cancel:a});d.all(b,function(a){c.complete(a)});return c}}}function Q(c){var d=c.element,e=c.options||{};c.structural&&(e.event=c.event,e.structural=!0,e.applyClassesEarly=!0,"leave"===c.event&&(e.onDone=
e.domOperation));e.preparationClasses&&(e.event=$(e.event,e.preparationClasses));c=a(d,e);return c.$$willAnimate?c:null}if(!l.animations&&!l.transitions)return P;var t=I[0].body;c=y(e);var H=F(c.parentNode&&11===c.parentNode.nodeType||t.contains(c)?c:t);V(n);return function(a){return a.from&&a.to?B(a.from,a.to,a.classes,a.anchors):Q(a)}}]}]).provider("$$animateJs",["$animateProvider",function(a){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(b,c,d){function e(c){c=Y(c)?c:c.split(" ");
for(var d=[],e={},l=0;l<c.length;l++){var s=c[l],B=a.$$registeredAnimations[s];B&&!e[s]&&(d.push(b.get(B)),e[s]=!0)}return d}var l=V(d);return function(a,b,d,u){function C(){u.domOperation();l(a,u)}function B(a,b,d,e,f){switch(d){case "animate":b=[b,e.from,e.to,f];break;case "setClass":b=[b,F,G,f];break;case "addClass":b=[b,F,f];break;case "removeClass":b=[b,G,f];break;default:b=[b,f]}b.push(e);if(a=a.apply(a,b))if(Ca(a.start)&&(a=a.start()),a instanceof c)a.done(f);else if(Ca(a))return a;return P}
function y(a,b,d,e,f){var g=[];s(e,function(e){var k=e[f];k&&g.push(function(){var e,f,g=!1,h=function(a){g||(g=!0,(f||P)(a),e.complete(!a))};e=new c({end:function(){h()},cancel:function(){h(!0)}});f=B(k,a,b,d,function(a){h(!1===a)});return e})});return g}function t(a,b,d,e,f){var g=y(a,b,d,e,f);if(0===g.length){var h,k;"beforeSetClass"===f?(h=y(a,"removeClass",d,e,"beforeRemoveClass"),k=y(a,"addClass",d,e,"beforeAddClass")):"setClass"===f&&(h=y(a,"removeClass",d,e,"removeClass"),k=y(a,"addClass",
d,e,"addClass"));h&&(g=g.concat(h));k&&(g=g.concat(k))}if(0!==g.length)return function(a){var b=[];g.length&&s(g,function(a){b.push(a())});b.length?c.all(b,a):a();return function(a){s(b,function(b){a?b.cancel():b.end()})}}}var H=!1;3===arguments.length&&ba(d)&&(u=d,d=null);u=oa(u);d||(d=a.attr("class")||"",u.addClass&&(d+=" "+u.addClass),u.removeClass&&(d+=" "+u.removeClass));var F=u.addClass,G=u.removeClass,x=e(d),r,p;if(x.length){var K,J;"leave"==b?(J="leave",K="afterLeave"):(J="before"+b.charAt(0).toUpperCase()+
b.substr(1),K=b);"enter"!==b&&"move"!==b&&(r=t(a,b,u,x,J));p=t(a,b,u,x,K)}if(r||p){var k;return{$$willAnimate:!0,end:function(){k?k.end():(H=!0,C(),ha(a,u),k=new c,k.complete(!0));return k},start:function(){function b(c){H=!0;C();ha(a,u);k.complete(c)}if(k)return k;k=new c;var d,e=[];r&&e.push(function(a){d=r(a)});e.length?e.push(function(a){C();a(!0)}):C();p&&e.push(function(a){d=p(a)});k.setHost({end:function(){H||((d||P)(void 0),b(void 0))},cancel:function(){H||((d||P)(!0),b(!0))}});c.chain(e,
b);return k}}}}}]}]).provider("$$animateJsDriver",["$$animationProvider",function(a){a.drivers.push("$$animateJsDriver");this.$get=["$$animateJs","$$AnimateRunner",function(a,c){function d(c){return a(c.element,c.event,c.classes,c.options)}return function(a){if(a.from&&a.to){var b=d(a.from),n=d(a.to);if(b||n)return{start:function(){function a(){return function(){s(d,function(a){a.end()})}}var d=[];b&&d.push(b.start());n&&d.push(n.start());c.all(d,function(a){e.complete(a)});var e=new c({end:a(),cancel:a()});
return e}}}else return d(a)}}]}])})(window,window.angular);
//# sourceMappingURL=angular-animate.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"name": "angular-animate",
"version": "1.5.8",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.8"
}
}

2
www/lib/angular-animate/index.js vendored Normal file
View File

@ -0,0 +1,2 @@
require('./angular-animate');
module.exports = 'ngAnimate';

View File

@ -0,0 +1,33 @@
{
"name": "angular-animate",
"version": "1.5.8",
"description": "AngularJS module for animations",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/angular/angular.js.git"
},
"keywords": [
"angular",
"framework",
"browser",
"animation",
"client-side"
],
"author": "Angular Core Team <angular-core+npm@google.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/angular/angular.js/issues"
},
"homepage": "http://angularjs.org",
"jspm": {
"shim": {
"angular-animate": {
"deps": ["angular"]
}
}
}
}

View File

@ -0,0 +1,20 @@
{
"name": "angular-sanitize",
"version": "1.5.3",
"license": "MIT",
"main": "./angular-sanitize.js",
"ignore": [],
"dependencies": {
"angular": "1.5.3"
},
"homepage": "https://github.com/angular/bower-angular-sanitize",
"_release": "1.5.3",
"_resolution": {
"type": "version",
"tag": "v1.5.3",
"commit": "d62a5eecedc71828f6f935fbde6c07217a95988a"
},
"_source": "https://github.com/angular/bower-angular-sanitize.git",
"_target": "1.5.3",
"_originalSource": "angular-sanitize"
}

View File

@ -0,0 +1,68 @@
# packaged angular-sanitize
This repo is for distribution on `npm` and `bower`. The source for this module is in the
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngSanitize).
Please file issues and pull requests against that repo.
## Install
You can install this package either with `npm` or with `bower`.
### npm
```shell
npm install angular-sanitize
```
Then add `ngSanitize` as a dependency for your app:
```javascript
angular.module('myApp', [require('angular-sanitize')]);
```
### bower
```shell
bower install angular-sanitize
```
Add a `<script>` to your `index.html`:
```html
<script src="/bower_components/angular-sanitize/angular-sanitize.js"></script>
```
Then add `ngSanitize` as a dependency for your app:
```javascript
angular.module('myApp', ['ngSanitize']);
```
## Documentation
Documentation is available on the
[AngularJS docs site](http://docs.angularjs.org/api/ngSanitize).
## License
The MIT License
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,717 @@
/**
* @license AngularJS v1.5.3
* (c) 2010-2016 Google, Inc. http://angularjs.org
* License: MIT
*/
(function(window, angular, undefined) {'use strict';
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Any commits to this file should be reviewed with security in mind. *
* Changes to this file can potentially create security vulnerabilities. *
* An approval from 2 Core members with history of modifying *
* this file is required. *
* *
* Does the change somehow allow for arbitrary javascript to be executed? *
* Or allows for someone to change the prototype of built-in objects? *
* Or gives undesired access to variables likes document or window? *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
var $sanitizeMinErr = angular.$$minErr('$sanitize');
/**
* @ngdoc module
* @name ngSanitize
* @description
*
* # ngSanitize
*
* The `ngSanitize` module provides functionality to sanitize HTML.
*
*
* <div doc-module-components="ngSanitize"></div>
*
* See {@link ngSanitize.$sanitize `$sanitize`} for usage.
*/
/**
* @ngdoc service
* @name $sanitize
* @kind function
*
* @description
* Sanitizes an html string by stripping all potentially dangerous tokens.
*
* The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are
* then serialized back to properly escaped html string. This means that no unsafe input can make
* it into the returned string.
*
* The whitelist for URL sanitization of attribute values is configured using the functions
* `aHrefSanitizationWhitelist` and `imgSrcSanitizationWhitelist` of {@link ng.$compileProvider
* `$compileProvider`}.
*
* The input may also contain SVG markup if this is enabled via {@link $sanitizeProvider}.
*
* @param {string} html HTML input.
* @returns {string} Sanitized HTML.
*
* @example
<example module="sanitizeExample" deps="angular-sanitize.js">
<file name="index.html">
<script>
angular.module('sanitizeExample', ['ngSanitize'])
.controller('ExampleController', ['$scope', '$sce', function($scope, $sce) {
$scope.snippet =
'<p style="color:blue">an html\n' +
'<em onmouseover="this.textContent=\'PWN3D!\'">click here</em>\n' +
'snippet</p>';
$scope.deliberatelyTrustDangerousSnippet = function() {
return $sce.trustAsHtml($scope.snippet);
};
}]);
</script>
<div ng-controller="ExampleController">
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
<table>
<tr>
<td>Directive</td>
<td>How</td>
<td>Source</td>
<td>Rendered</td>
</tr>
<tr id="bind-html-with-sanitize">
<td>ng-bind-html</td>
<td>Automatically uses $sanitize</td>
<td><pre>&lt;div ng-bind-html="snippet"&gt;<br/>&lt;/div&gt;</pre></td>
<td><div ng-bind-html="snippet"></div></td>
</tr>
<tr id="bind-html-with-trust">
<td>ng-bind-html</td>
<td>Bypass $sanitize by explicitly trusting the dangerous value</td>
<td>
<pre>&lt;div ng-bind-html="deliberatelyTrustDangerousSnippet()"&gt;
&lt;/div&gt;</pre>
</td>
<td><div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div></td>
</tr>
<tr id="bind-default">
<td>ng-bind</td>
<td>Automatically escapes</td>
<td><pre>&lt;div ng-bind="snippet"&gt;<br/>&lt;/div&gt;</pre></td>
<td><div ng-bind="snippet"></div></td>
</tr>
</table>
</div>
</file>
<file name="protractor.js" type="protractor">
it('should sanitize the html snippet by default', function() {
expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()).
toBe('<p>an html\n<em>click here</em>\nsnippet</p>');
});
it('should inline raw snippet if bound to a trusted value', function() {
expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).
toBe("<p style=\"color:blue\">an html\n" +
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
"snippet</p>");
});
it('should escape snippet without any filter', function() {
expect(element(by.css('#bind-default div')).getInnerHtml()).
toBe("&lt;p style=\"color:blue\"&gt;an html\n" +
"&lt;em onmouseover=\"this.textContent='PWN3D!'\"&gt;click here&lt;/em&gt;\n" +
"snippet&lt;/p&gt;");
});
it('should update', function() {
element(by.model('snippet')).clear();
element(by.model('snippet')).sendKeys('new <b onclick="alert(1)">text</b>');
expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()).
toBe('new <b>text</b>');
expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).toBe(
'new <b onclick="alert(1)">text</b>');
expect(element(by.css('#bind-default div')).getInnerHtml()).toBe(
"new &lt;b onclick=\"alert(1)\"&gt;text&lt;/b&gt;");
});
</file>
</example>
*/
/**
* @ngdoc provider
* @name $sanitizeProvider
*
* @description
* Creates and configures {@link $sanitize} instance.
*/
function $SanitizeProvider() {
var svgEnabled = false;
this.$get = ['$$sanitizeUri', function($$sanitizeUri) {
if (svgEnabled) {
angular.extend(validElements, svgElements);
}
return function(html) {
var buf = [];
htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) {
return !/^unsafe:/.test($$sanitizeUri(uri, isImage));
}));
return buf.join('');
};
}];
/**
* @ngdoc method
* @name $sanitizeProvider#enableSvg
* @kind function
*
* @description
* Enables a subset of svg to be supported by the sanitizer.
*
* <div class="alert alert-warning">
* <p>By enabling this setting without taking other precautions, you might expose your
* application to click-hijacking attacks. In these attacks, sanitized svg elements could be positioned
* outside of the containing element and be rendered over other elements on the page (e.g. a login
* link). Such behavior can then result in phishing incidents.</p>
*
* <p>To protect against these, explicitly setup `overflow: hidden` css rule for all potential svg
* tags within the sanitized content:</p>
*
* <br>
*
* <pre><code>
* .rootOfTheIncludedContent svg {
* overflow: hidden !important;
* }
* </code></pre>
* </div>
*
* @param {boolean=} regexp New regexp to whitelist urls with.
* @returns {boolean|ng.$sanitizeProvider} Returns the currently configured value if called
* without an argument or self for chaining otherwise.
*/
this.enableSvg = function(enableSvg) {
if (angular.isDefined(enableSvg)) {
svgEnabled = enableSvg;
return this;
} else {
return svgEnabled;
}
};
}
function sanitizeText(chars) {
var buf = [];
var writer = htmlSanitizeWriter(buf, angular.noop);
writer.chars(chars);
return buf.join('');
}
// Regular Expressions for parsing tags and attributes
var SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
// Match everything outside of normal chars and " (quote character)
NON_ALPHANUMERIC_REGEXP = /([^\#-~ |!])/g;
// Good source of info about elements and attributes
// http://dev.w3.org/html5/spec/Overview.html#semantics
// http://simon.html5.org/html-elements
// Safe Void Elements - HTML5
// http://dev.w3.org/html5/spec/Overview.html#void-elements
var voidElements = toMap("area,br,col,hr,img,wbr");
// Elements that you can, intentionally, leave open (and which close themselves)
// http://dev.w3.org/html5/spec/Overview.html#optional-tags
var optionalEndTagBlockElements = toMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),
optionalEndTagInlineElements = toMap("rp,rt"),
optionalEndTagElements = angular.extend({},
optionalEndTagInlineElements,
optionalEndTagBlockElements);
// Safe Block Elements - HTML5
var blockElements = angular.extend({}, optionalEndTagBlockElements, toMap("address,article," +
"aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5," +
"h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul"));
// Inline Elements - HTML5
var inlineElements = angular.extend({}, optionalEndTagInlineElements, toMap("a,abbr,acronym,b," +
"bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s," +
"samp,small,span,strike,strong,sub,sup,time,tt,u,var"));
// SVG Elements
// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements
// Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted.
// They can potentially allow for arbitrary javascript to be executed. See #11290
var svgElements = toMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph," +
"hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline," +
"radialGradient,rect,stop,svg,switch,text,title,tspan");
// Blocked Elements (will be stripped)
var blockedElements = toMap("script,style");
var validElements = angular.extend({},
voidElements,
blockElements,
inlineElements,
optionalEndTagElements);
//Attributes that have href and hence need to be sanitized
var uriAttrs = toMap("background,cite,href,longdesc,src,xlink:href");
var htmlAttrs = toMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' +
'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' +
'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' +
'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' +
'valign,value,vspace,width');
// SVG attributes (without "id" and "name" attributes)
// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes
var svgAttrs = toMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' +
'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' +
'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' +
'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' +
'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' +
'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' +
'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' +
'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' +
'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' +
'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' +
'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' +
'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' +
'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' +
'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' +
'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true);
var validAttrs = angular.extend({},
uriAttrs,
svgAttrs,
htmlAttrs);
function toMap(str, lowercaseKeys) {
var obj = {}, items = str.split(','), i;
for (i = 0; i < items.length; i++) {
obj[lowercaseKeys ? angular.lowercase(items[i]) : items[i]] = true;
}
return obj;
}
var inertBodyElement;
(function(window) {
var doc;
if (window.document && window.document.implementation) {
doc = window.document.implementation.createHTMLDocument("inert");
} else {
throw $sanitizeMinErr('noinert', "Can't create an inert html document");
}
var docElement = doc.documentElement || doc.getDocumentElement();
var bodyElements = docElement.getElementsByTagName('body');
// usually there should be only one body element in the document, but IE doesn't have any, so we need to create one
if (bodyElements.length === 1) {
inertBodyElement = bodyElements[0];
} else {
var html = doc.createElement('html');
inertBodyElement = doc.createElement('body');
html.appendChild(inertBodyElement);
doc.appendChild(html);
}
})(window);
/**
* @example
* htmlParser(htmlString, {
* start: function(tag, attrs) {},
* end: function(tag) {},
* chars: function(text) {},
* comment: function(text) {}
* });
*
* @param {string} html string
* @param {object} handler
*/
function htmlParser(html, handler) {
if (html === null || html === undefined) {
html = '';
} else if (typeof html !== 'string') {
html = '' + html;
}
inertBodyElement.innerHTML = html;
//mXSS protection
var mXSSAttempts = 5;
do {
if (mXSSAttempts === 0) {
throw $sanitizeMinErr('uinput', "Failed to sanitize html because the input is unstable");
}
mXSSAttempts--;
// strip custom-namespaced attributes on IE<=11
if (document.documentMode <= 11) {
stripCustomNsAttrs(inertBodyElement);
}
html = inertBodyElement.innerHTML; //trigger mXSS
inertBodyElement.innerHTML = html;
} while (html !== inertBodyElement.innerHTML);
var node = inertBodyElement.firstChild;
while (node) {
switch (node.nodeType) {
case 1: // ELEMENT_NODE
handler.start(node.nodeName.toLowerCase(), attrToMap(node.attributes));
break;
case 3: // TEXT NODE
handler.chars(node.textContent);
break;
}
var nextNode;
if (!(nextNode = node.firstChild)) {
if (node.nodeType == 1) {
handler.end(node.nodeName.toLowerCase());
}
nextNode = node.nextSibling;
if (!nextNode) {
while (nextNode == null) {
node = node.parentNode;
if (node === inertBodyElement) break;
nextNode = node.nextSibling;
if (node.nodeType == 1) {
handler.end(node.nodeName.toLowerCase());
}
}
}
}
node = nextNode;
}
while (node = inertBodyElement.firstChild) {
inertBodyElement.removeChild(node);
}
}
function attrToMap(attrs) {
var map = {};
for (var i = 0, ii = attrs.length; i < ii; i++) {
var attr = attrs[i];
map[attr.name] = attr.value;
}
return map;
}
/**
* Escapes all potentially dangerous characters, so that the
* resulting string can be safely inserted into attribute or
* element text.
* @param value
* @returns {string} escaped text
*/
function encodeEntities(value) {
return value.
replace(/&/g, '&amp;').
replace(SURROGATE_PAIR_REGEXP, function(value) {
var hi = value.charCodeAt(0);
var low = value.charCodeAt(1);
return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';
}).
replace(NON_ALPHANUMERIC_REGEXP, function(value) {
return '&#' + value.charCodeAt(0) + ';';
}).
replace(/</g, '&lt;').
replace(/>/g, '&gt;');
}
/**
* create an HTML/XML writer which writes to buffer
* @param {Array} buf use buf.join('') to get out sanitized html string
* @returns {object} in the form of {
* start: function(tag, attrs) {},
* end: function(tag) {},
* chars: function(text) {},
* comment: function(text) {}
* }
*/
function htmlSanitizeWriter(buf, uriValidator) {
var ignoreCurrentElement = false;
var out = angular.bind(buf, buf.push);
return {
start: function(tag, attrs) {
tag = angular.lowercase(tag);
if (!ignoreCurrentElement && blockedElements[tag]) {
ignoreCurrentElement = tag;
}
if (!ignoreCurrentElement && validElements[tag] === true) {
out('<');
out(tag);
angular.forEach(attrs, function(value, key) {
var lkey=angular.lowercase(key);
var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background');
if (validAttrs[lkey] === true &&
(uriAttrs[lkey] !== true || uriValidator(value, isImage))) {
out(' ');
out(key);
out('="');
out(encodeEntities(value));
out('"');
}
});
out('>');
}
},
end: function(tag) {
tag = angular.lowercase(tag);
if (!ignoreCurrentElement && validElements[tag] === true && voidElements[tag] !== true) {
out('</');
out(tag);
out('>');
}
if (tag == ignoreCurrentElement) {
ignoreCurrentElement = false;
}
},
chars: function(chars) {
if (!ignoreCurrentElement) {
out(encodeEntities(chars));
}
}
};
}
/**
* When IE9-11 comes across an unknown namespaced attribute e.g. 'xlink:foo' it adds 'xmlns:ns1' attribute to declare
* ns1 namespace and prefixes the attribute with 'ns1' (e.g. 'ns1:xlink:foo'). This is undesirable since we don't want
* to allow any of these custom attributes. This method strips them all.
*
* @param node Root element to process
*/
function stripCustomNsAttrs(node) {
if (node.nodeType === Node.ELEMENT_NODE) {
var attrs = node.attributes;
for (var i = 0, l = attrs.length; i < l; i++) {
var attrNode = attrs[i];
var attrName = attrNode.name.toLowerCase();
if (attrName === 'xmlns:ns1' || attrName.indexOf('ns1:') === 0) {
node.removeAttributeNode(attrNode);
i--;
l--;
}
}
}
var nextNode = node.firstChild;
if (nextNode) {
stripCustomNsAttrs(nextNode);
}
nextNode = node.nextSibling;
if (nextNode) {
stripCustomNsAttrs(nextNode);
}
}
// define ngSanitize module and register $sanitize service
angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider);
/* global sanitizeText: false */
/**
* @ngdoc filter
* @name linky
* @kind function
*
* @description
* Finds links in text input and turns them into html links. Supports `http/https/ftp/mailto` and
* plain email address links.
*
* Requires the {@link ngSanitize `ngSanitize`} module to be installed.
*
* @param {string} text Input text.
* @param {string} target Window (`_blank|_self|_parent|_top`) or named frame to open links in.
* @param {object|function(url)} [attributes] Add custom attributes to the link element.
*
* Can be one of:
*
* - `object`: A map of attributes
* - `function`: Takes the url as a parameter and returns a map of attributes
*
* If the map of attributes contains a value for `target`, it overrides the value of
* the target parameter.
*
*
* @returns {string} Html-linkified and {@link $sanitize sanitized} text.
*
* @usage
<span ng-bind-html="linky_expression | linky"></span>
*
* @example
<example module="linkyExample" deps="angular-sanitize.js">
<file name="index.html">
<div ng-controller="ExampleController">
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
<table>
<tr>
<th>Filter</th>
<th>Source</th>
<th>Rendered</th>
</tr>
<tr id="linky-filter">
<td>linky filter</td>
<td>
<pre>&lt;div ng-bind-html="snippet | linky"&gt;<br>&lt;/div&gt;</pre>
</td>
<td>
<div ng-bind-html="snippet | linky"></div>
</td>
</tr>
<tr id="linky-target">
<td>linky target</td>
<td>
<pre>&lt;div ng-bind-html="snippetWithSingleURL | linky:'_blank'"&gt;<br>&lt;/div&gt;</pre>
</td>
<td>
<div ng-bind-html="snippetWithSingleURL | linky:'_blank'"></div>
</td>
</tr>
<tr id="linky-custom-attributes">
<td>linky custom attributes</td>
<td>
<pre>&lt;div ng-bind-html="snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}"&gt;<br>&lt;/div&gt;</pre>
</td>
<td>
<div ng-bind-html="snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}"></div>
</td>
</tr>
<tr id="escaped-html">
<td>no filter</td>
<td><pre>&lt;div ng-bind="snippet"&gt;<br>&lt;/div&gt;</pre></td>
<td><div ng-bind="snippet"></div></td>
</tr>
</table>
</file>
<file name="script.js">
angular.module('linkyExample', ['ngSanitize'])
.controller('ExampleController', ['$scope', function($scope) {
$scope.snippet =
'Pretty text with some links:\n'+
'http://angularjs.org/,\n'+
'mailto:us@somewhere.org,\n'+
'another@somewhere.org,\n'+
'and one more: ftp://127.0.0.1/.';
$scope.snippetWithSingleURL = 'http://angularjs.org/';
}]);
</file>
<file name="protractor.js" type="protractor">
it('should linkify the snippet with urls', function() {
expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).
toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' +
'another@somewhere.org, and one more: ftp://127.0.0.1/.');
expect(element.all(by.css('#linky-filter a')).count()).toEqual(4);
});
it('should not linkify snippet without the linky filter', function() {
expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()).
toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' +
'another@somewhere.org, and one more: ftp://127.0.0.1/.');
expect(element.all(by.css('#escaped-html a')).count()).toEqual(0);
});
it('should update', function() {
element(by.model('snippet')).clear();
element(by.model('snippet')).sendKeys('new http://link.');
expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).
toBe('new http://link.');
expect(element.all(by.css('#linky-filter a')).count()).toEqual(1);
expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText())
.toBe('new http://link.');
});
it('should work with the target property', function() {
expect(element(by.id('linky-target')).
element(by.binding("snippetWithSingleURL | linky:'_blank'")).getText()).
toBe('http://angularjs.org/');
expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank');
});
it('should optionally add custom attributes', function() {
expect(element(by.id('linky-custom-attributes')).
element(by.binding("snippetWithSingleURL | linky:'_self':{rel: 'nofollow'}")).getText()).
toBe('http://angularjs.org/');
expect(element(by.css('#linky-custom-attributes a')).getAttribute('rel')).toEqual('nofollow');
});
</file>
</example>
*/
angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) {
var LINKY_URL_REGEXP =
/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,
MAILTO_REGEXP = /^mailto:/i;
var linkyMinErr = angular.$$minErr('linky');
var isString = angular.isString;
return function(text, target, attributes) {
if (text == null || text === '') return text;
if (!isString(text)) throw linkyMinErr('notstring', 'Expected string but received: {0}', text);
var match;
var raw = text;
var html = [];
var url;
var i;
while ((match = raw.match(LINKY_URL_REGEXP))) {
// We can not end in these as they are sometimes found at the end of the sentence
url = match[0];
// if we did not match ftp/http/www/mailto then assume mailto
if (!match[2] && !match[4]) {
url = (match[3] ? 'http://' : 'mailto:') + url;
}
i = match.index;
addText(raw.substr(0, i));
addLink(url, match[0].replace(MAILTO_REGEXP, ''));
raw = raw.substring(i + match[0].length);
}
addText(raw);
return $sanitize(html.join(''));
function addText(text) {
if (!text) {
return;
}
html.push(sanitizeText(text));
}
function addLink(url, text) {
var key;
html.push('<a ');
if (angular.isFunction(attributes)) {
attributes = attributes(url);
}
if (angular.isObject(attributes)) {
for (key in attributes) {
html.push(key + '="' + attributes[key] + '" ');
}
} else {
attributes = {};
}
if (angular.isDefined(target) && !('target' in attributes)) {
html.push('target="',
target,
'" ');
}
html.push('href="',
url.replace(/"/g, '&quot;'),
'">');
addText(text);
html.push('</a>');
}
};
}]);
})(window, window.angular);

View File

@ -0,0 +1,15 @@
/*
AngularJS v1.5.3
(c) 2010-2016 Google, Inc. http://angularjs.org
License: MIT
*/
(function(A,e,B){'use strict';function C(a){var c=[];v(c,e.noop).chars(a);return c.join("")}function h(a,c){var b={},d=a.split(","),l;for(l=0;l<d.length;l++)b[c?e.lowercase(d[l]):d[l]]=!0;return b}function D(a,c){null===a||a===B?a="":"string"!==typeof a&&(a=""+a);g.innerHTML=a;var b=5;do{if(0===b)throw w("uinput");b--;11>=document.documentMode&&n(g);a=g.innerHTML;g.innerHTML=a}while(a!==g.innerHTML);for(b=g.firstChild;b;){switch(b.nodeType){case 1:c.start(b.nodeName.toLowerCase(),E(b.attributes));
break;case 3:c.chars(b.textContent)}var d;if(!(d=b.firstChild)&&(1==b.nodeType&&c.end(b.nodeName.toLowerCase()),d=b.nextSibling,!d))for(;null==d;){b=b.parentNode;if(b===g)break;d=b.nextSibling;1==b.nodeType&&c.end(b.nodeName.toLowerCase())}b=d}for(;b=g.firstChild;)g.removeChild(b)}function E(a){for(var c={},b=0,d=a.length;b<d;b++){var l=a[b];c[l.name]=l.value}return c}function x(a){return a.replace(/&/g,"&amp;").replace(F,function(a){var b=a.charCodeAt(0);a=a.charCodeAt(1);return"&#"+(1024*(b-55296)+
(a-56320)+65536)+";"}).replace(G,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function v(a,c){var b=!1,d=e.bind(a,a.push);return{start:function(a,f){a=e.lowercase(a);!b&&H[a]&&(b=a);b||!0!==t[a]||(d("<"),d(a),e.forEach(f,function(b,f){var g=e.lowercase(f),h="img"===a&&"src"===g||"background"===g;!0!==I[g]||!0===y[g]&&!c(b,h)||(d(" "),d(f),d('="'),d(x(b)),d('"'))}),d(">"))},end:function(a){a=e.lowercase(a);b||!0!==t[a]||!0===z[a]||(d("</"),d(a),d(">"));a==
b&&(b=!1)},chars:function(a){b||d(x(a))}}}function n(a){if(a.nodeType===Node.ELEMENT_NODE)for(var c=a.attributes,b=0,d=c.length;b<d;b++){var e=c[b],f=e.name.toLowerCase();if("xmlns:ns1"===f||0===f.indexOf("ns1:"))a.removeAttributeNode(e),b--,d--}(c=a.firstChild)&&n(c);(c=a.nextSibling)&&n(c)}var w=e.$$minErr("$sanitize"),F=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,G=/([^\#-~ |!])/g,z=h("area,br,col,hr,img,wbr"),q=h("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),k=h("rp,rt"),u=e.extend({},k,q),q=e.extend({},
q,h("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),k=e.extend({},k,h("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),J=h("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),
H=h("script,style"),t=e.extend({},z,q,k,u),y=h("background,cite,href,longdesc,src,xlink:href"),u=h("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),k=h("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",
!0),I=e.extend({},y,k,u),g;(function(a){if(a.document&&a.document.implementation)a=a.document.implementation.createHTMLDocument("inert");else throw w("noinert");var c=(a.documentElement||a.getDocumentElement()).getElementsByTagName("body");1===c.length?g=c[0]:(c=a.createElement("html"),g=a.createElement("body"),c.appendChild(g),a.appendChild(c))})(A);e.module("ngSanitize",[]).provider("$sanitize",function(){var a=!1;this.$get=["$$sanitizeUri",function(c){a&&e.extend(t,J);return function(a){var d=
[];D(a,v(d,function(a,b){return!/^unsafe:/.test(c(a,b))}));return d.join("")}}];this.enableSvg=function(c){return e.isDefined(c)?(a=c,this):a}});e.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,b=/^mailto:/i,d=e.$$minErr("linky"),g=e.isString;return function(f,h,m){function k(a){a&&p.push(C(a))}function q(a,b){var c;p.push("<a ");e.isFunction(m)&&(m=m(a));if(e.isObject(m))for(c in m)p.push(c+
'="'+m[c]+'" ');else m={};!e.isDefined(h)||"target"in m||p.push('target="',h,'" ');p.push('href="',a.replace(/"/g,"&quot;"),'">');k(b);p.push("</a>")}if(null==f||""===f)return f;if(!g(f))throw d("notstring",f);for(var r=f,p=[],s,n;f=r.match(c);)s=f[0],f[2]||f[4]||(s=(f[3]?"http://":"mailto:")+s),n=f.index,k(r.substr(0,n)),q(s,f[0].replace(b,"")),r=r.substring(n+f[0].length);k(r);return a(p.join(""))}}])})(window,window.angular);
//# sourceMappingURL=angular-sanitize.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,10 @@
{
"name": "angular-sanitize",
"version": "1.5.3",
"license": "MIT",
"main": "./angular-sanitize.js",
"ignore": [],
"dependencies": {
"angular": "1.5.3"
}
}

2
www/lib/angular-sanitize/index.js vendored Normal file
View File

@ -0,0 +1,2 @@
require('./angular-sanitize');
module.exports = 'ngSanitize';

View File

@ -0,0 +1,26 @@
{
"name": "angular-sanitize",
"version": "1.5.3",
"description": "AngularJS module for sanitizing HTML",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "https://github.com/angular/angular.js.git"
},
"keywords": [
"angular",
"framework",
"browser",
"html",
"client-side"
],
"author": "Angular Core Team <angular-core+npm@google.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/angular/angular.js/issues"
},
"homepage": "http://angularjs.org"
}

View File

@ -0,0 +1,33 @@
{
"name": "angular-ui-router",
"version": "0.2.13",
"main": "./release/angular-ui-router.js",
"dependencies": {
"angular": ">= 1.0.8"
},
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"component.json",
"package.json",
"lib",
"config",
"sample",
"test",
"tests",
"ngdoc_assets",
"Gruntfile.js",
"files.js"
],
"homepage": "https://github.com/angular-ui/angular-ui-router-bower",
"_release": "0.2.13",
"_resolution": {
"type": "version",
"tag": "0.2.13",
"commit": "2e580f271defdec34f464aab0cca519e41d1ee33"
},
"_source": "https://github.com/angular-ui/angular-ui-router-bower.git",
"_target": "0.2.13",
"_originalSource": "angular-ui-router"
}

View File

@ -0,0 +1,197 @@
<a name="0.2.13"></a>
### 0.2.13 (2014-11-20)
This release primarily fixes issues reported against 0.2.12
#### Bug Fixes
* **$state:** fix $state.includes/.is to apply param types before comparisions fix(uiSref): ma ([19715d15](https://github.com/angular-ui/ui-router/commit/19715d15e3cbfff724519e9febedd05b49c75baa), closes [#1513](https://github.com/angular-ui/ui-router/issues/1513))
* Avoid re-synchronizing from url after .transitionTo ([b267ecd3](https://github.com/angular-ui/ui-router/commit/b267ecd348e5c415233573ef95ebdbd051875f52), closes [#1573](https://github.com/angular-ui/ui-router/issues/1573))
* **$urlMatcherFactory:**
* Built-in date type uses local time zone ([d726bedc](https://github.com/angular-ui/ui-router/commit/d726bedcbb5f70a5660addf43fd52ec730790293))
* make date type fn check .is before running ([aa94ce3b](https://github.com/angular-ui/ui-router/commit/aa94ce3b86632ad05301530a2213099da73a3dc0), closes [#1564](https://github.com/angular-ui/ui-router/issues/1564))
* early binding of array handler bypasses type resolution ([ada4bc27](https://github.com/angular-ui/ui-router/commit/ada4bc27df5eff3ba3ab0de94a09bd91b0f7a28c))
* add 'any' Type for non-encoding non-url params ([3bfd75ab](https://github.com/angular-ui/ui-router/commit/3bfd75ab445ee2f1dd55275465059ed116b10b27), closes [#1562](https://github.com/angular-ui/ui-router/issues/1562))
* fix encoding slashes in params ([0c983a08](https://github.com/angular-ui/ui-router/commit/0c983a08e2947f999683571477debd73038e95cf), closes [#1119](https://github.com/angular-ui/ui-router/issues/1119))
* fix mixed path/query params ordering problem ([a479fbd0](https://github.com/angular-ui/ui-router/commit/a479fbd0b8eb393a94320973e5b9a62d83912ee2), closes [#1543](https://github.com/angular-ui/ui-router/issues/1543))
* **ArrayType:**
* specify empty array mapping corner case ([74aa6091](https://github.com/angular-ui/ui-router/commit/74aa60917e996b0b4e27bbb4eb88c3c03832021d), closes [#1511](https://github.com/angular-ui/ui-router/issues/1511))
* fix .equals for array types ([5e6783b7](https://github.com/angular-ui/ui-router/commit/5e6783b77af9a90ddff154f990b43dbb17eeda6e), closes [#1538](https://github.com/angular-ui/ui-router/issues/1538))
* **Param:** fix default value shorthand declaration ([831d812a](https://github.com/angular-ui/ui-router/commit/831d812a524524c71f0ee1c9afaf0487a5a66230), closes [#1554](https://github.com/angular-ui/ui-router/issues/1554))
* **common:** fixed the _.filter clone to not create sparse arrays ([750f5cf5](https://github.com/angular-ui/ui-router/commit/750f5cf5fd91f9ada96f39e50d39aceb2caf22b6), closes [#1563](https://github.com/angular-ui/ui-router/issues/1563))
* **ie8:** fix calls to indexOf and filter ([dcb31b84](https://github.com/angular-ui/ui-router/commit/dcb31b843391b3e61dee4de13f368c109541813e), closes [#1556](https://github.com/angular-ui/ui-router/issues/1556))
#### Features
* add json parameter Type ([027f1fcf](https://github.com/angular-ui/ui-router/commit/027f1fcf9c0916cea651e88981345da6f9ff214a))
<a name="0.2.12"></a>
### 0.2.12 (2014-11-13)
#### Bug Fixes
* **$resolve:** use resolve fn result, not parent resolved value of same name ([67f5e00c](https://github.com/angular-ui/ui-router/commit/67f5e00cc9aa006ce3fe6cde9dff261c28eab70a), closes [#1317], [#1353])
* **$state:**
* populate default params in .transitionTo. ([3f60fbe6](https://github.com/angular-ui/ui-router/commit/3f60fbe6d65ebeca8d97952c05aa1d269f1b7ba1), closes [#1396])
* reload() now reinvokes controllers ([73443420](https://github.com/angular-ui/ui-router/commit/7344342018847902594dc1fc62d30a5c30f01763), closes [#582])
* do not emit $viewContentLoading if notify: false ([74255feb](https://github.com/angular-ui/ui-router/commit/74255febdf48ae082a02ca1e735165f2c369a463), closes [#1387](https://github.com/angular-ui/ui-router/issues/1387))
* register states at config-time ([4533fe36](https://github.com/angular-ui/ui-router/commit/4533fe36e0ab2f0143edd854a4145deaa013915a))
* handle parent.name when parent is obj ([4533fe36](https://github.com/angular-ui/ui-router/commit/4533fe36e0ab2f0143edd854a4145deaa013915a))
* **$urlMatcherFactory:**
* register types at config ([4533fe36](https://github.com/angular-ui/ui-router/commit/4533fe36e0ab2f0143edd854a4145deaa013915a), closes [#1476])
* made path params default value "" for backwards compat ([8f998e71](https://github.com/angular-ui/ui-router/commit/8f998e71e43a0b31293331c981f5db0f0097b8ba))
* Pre-replace certain param values for better mapping ([6374a3e2](https://github.com/angular-ui/ui-router/commit/6374a3e29ab932014a7c77d2e1ab884cc841a2e3))
* fixed ParamSet.$$keys() ordering ([9136fecb](https://github.com/angular-ui/ui-router/commit/9136fecbc2bfd4fda748a9914f0225a46c933860))
* empty string policy now respected in Param.value() ([db12c85c](https://github.com/angular-ui/ui-router/commit/db12c85c16f2d105415f9bbbdeb11863f64728e0))
* "string" type now encodes/decodes slashes ([3045e415](https://github.com/angular-ui/ui-router/commit/3045e41577a8b8b8afc6039f42adddf5f3c061ec), closes [#1119])
* allow arrays in both path and query params ([fdd2f2c1](https://github.com/angular-ui/ui-router/commit/fdd2f2c191c4a67c874fdb9ec9a34f8dde9ad180), closes [#1073], [#1045], [#1486], [#1394])
* typed params in search ([8d4cab69](https://github.com/angular-ui/ui-router/commit/8d4cab69dd67058e1a716892cc37b7d80a57037f), closes [#1488](https://github.com/angular-ui/ui-router/issues/1488))
* no longer generate unroutable urls ([cb9fd9d8](https://github.com/angular-ui/ui-router/commit/cb9fd9d8943cb26c7223f6990db29c82ae8740f8), closes [#1487](https://github.com/angular-ui/ui-router/issues/1487))
* handle optional parameter followed by required parameter in url format. ([efc72106](https://github.com/angular-ui/ui-router/commit/efc72106ddcc4774b48ea176a505ef9e95193b41))
* default to parameter string coersion. ([13a468a7](https://github.com/angular-ui/ui-router/commit/13a468a7d54c2fb0751b94c0c1841d580b71e6dc), closes [#1414](https://github.com/angular-ui/ui-router/issues/1414))
* concat respects strictMode/caseInsensitive ([dd72e103](https://github.com/angular-ui/ui-router/commit/dd72e103edb342d9cf802816fe127e1bbd68fd5f), closes [#1395])
* **ui-sref:**
* Allow sref state options to take a scope object ([b5f7b596](https://github.com/angular-ui/ui-router/commit/b5f7b59692ce4933e2d63eb5df3f50a4ba68ccc0))
* replace raw href modification with attrs. ([08c96782](https://github.com/angular-ui/ui-router/commit/08c96782faf881b0c7ab00afc233ee6729548fa0))
* nagivate to state when url is "" fix($state.href): generate href for state with ([656b5aab](https://github.com/angular-ui/ui-router/commit/656b5aab906e5749db9b5a080c6a83b95f50fd91), closes [#1363](https://github.com/angular-ui/ui-router/issues/1363))
* Check that state is defined in isMatch() ([92aebc75](https://github.com/angular-ui/ui-router/commit/92aebc7520f88babdc6e266536086e07263514c3), closes [#1314](https://github.com/angular-ui/ui-router/issues/1314), [#1332](https://github.com/angular-ui/ui-router/issues/1332))
* **uiView:**
* allow inteprolated ui-view names ([81f6a19a](https://github.com/angular-ui/ui-router/commit/81f6a19a432dac9198fd33243855bfd3b4fea8c0), closes [#1324](https://github.com/angular-ui/ui-router/issues/1324))
* Made anim work with angular 1.3 ([c3bb7ad9](https://github.com/angular-ui/ui-router/commit/c3bb7ad903da1e1f3c91019cfd255be8489ff4ef), closes [#1367](https://github.com/angular-ui/ui-router/issues/1367), [#1345](https://github.com/angular-ui/ui-router/issues/1345))
* **urlRouter:** html5Mode accepts an object from angular v1.3.0-rc.3 ([7fea1e9d](https://github.com/angular-ui/ui-router/commit/7fea1e9d0d8c6e09cc6c895ecb93d4221e9adf48))
* **stateFilters:** mark state filters as stateful. ([a00b353e](https://github.com/angular-ui/ui-router/commit/a00b353e3036f64a81245c4e7898646ba218f833), closes [#1479])
* **ui-router:** re-add IE8 compatibility for map/filter/keys ([8ce69d9f](https://github.com/angular-ui/ui-router/commit/8ce69d9f7c886888ab53eca7e53536f36b428aae), closes [#1518], [#1383])
* **package:** point 'main' to a valid filename ([ac903350](https://github.com/angular-ui/ui-router/commit/ac9033501debb63364539d91fbf3a0cba4579f8e))
* **travis:** make CI build faster ([0531de05](https://github.com/angular-ui/ui-router/commit/0531de052e414a8d839fbb4e7635e923e94865b3))
#### Features
##### Default and Typed params
This release includes a lot of bug fixes around default/optional and typed parameters. As such, 0.2.12 is the first release where we recommend those features be used.
* **$state:**
* add state params validation ([b1379e6a](https://github.com/angular-ui/ui-router/commit/b1379e6a4d38f7ed7436e05873932d7c279af578), closes [#1433](https://github.com/angular-ui/ui-router/issues/1433))
* is/includes/get work on relative stateOrName ([232e94b3](https://github.com/angular-ui/ui-router/commit/232e94b3c2ca2c764bb9510046e4b61690c87852))
* .reload() returns state transition promise ([639e0565](https://github.com/angular-ui/ui-router/commit/639e0565dece9d5544cc93b3eee6e11c99bd7373))
* **$templateFactory:** request templateURL as text/html ([ccd60769](https://github.com/angular-ui/ui-router/commit/ccd6076904a4b801d77b47f6e2de4c06ce9962f8), closes [#1287])
* **$urlMatcherFactory:** Made a Params and ParamSet class ([0cc1e6cc](https://github.com/angular-ui/ui-router/commit/0cc1e6cc461a4640618e2bb594566551c54834e2))
<a name="0.2.11"></a>
### 0.2.11 (2014-08-26)
#### Bug Fixes
* **$resolve:** Resolves only inherit from immediate parent fixes #702 ([df34e20c](https://github.com/angular-ui/ui-router/commit/df34e20c576299e7a3c8bd4ebc68d42341c0ace9))
* **$state:**
* change $state.href default options.inherit to true ([deea695f](https://github.com/angular-ui/ui-router/commit/deea695f5cacc55de351ab985144fd233c02a769))
* sanity-check state lookups ([456fd5ae](https://github.com/angular-ui/ui-router/commit/456fd5aec9ea507518927bfabd62b4afad4cf714), closes [#980](https://github.com/angular-ui/ui-router/issues/980))
* didn't comply to inherit parameter ([09836781](https://github.com/angular-ui/ui-router/commit/09836781f126c1c485b06551eb9cfd4fa0f45c35))
* allow view content loading broadcast ([7b78edee](https://github.com/angular-ui/ui-router/commit/7b78edeeb52a74abf4d3f00f79534033d5a08d1a))
* **$urlMatcherFactory:**
* detect injected functions ([91f75ae6](https://github.com/angular-ui/ui-router/commit/91f75ae66c4d129f6f69e53bd547594e9661f5d5))
* syntax ([1ebed370](https://github.com/angular-ui/ui-router/commit/1ebed37069bae8614d41541d56521f5c45f703f3))
* **UrlMatcher:**
* query param function defaults ([f9c20530](https://github.com/angular-ui/ui-router/commit/f9c205304f10d8a4ebe7efe9025e642016479a51))
* don't decode default values ([63607bdb](https://github.com/angular-ui/ui-router/commit/63607bdbbcb432d3fb37856a1cb3da0cd496804e))
* **travis:** update Node version to fix build ([d6b95ef2](https://github.com/angular-ui/ui-router/commit/d6b95ef23d9dacb4eba08897f5190a0bcddb3a48))
* **uiSref:**
* Generate an href for states with a blank url. closes #1293 ([691745b1](https://github.com/angular-ui/ui-router/commit/691745b12fa05d3700dd28f0c8d25f8a105074ad))
* should inherit params by default ([b973dad1](https://github.com/angular-ui/ui-router/commit/b973dad155ad09a7975e1476bd096f7b2c758eeb))
* cancel transition if preventDefault() has been called ([2e6d9167](https://github.com/angular-ui/ui-router/commit/2e6d9167d3afbfbca6427e53e012f94fb5fb8022))
* **uiView:** Fixed infinite loop when is called .go() from a controller. ([e13988b8](https://github.com/angular-ui/ui-router/commit/e13988b8cd6231d75c78876ee9d012cc87f4a8d9), closes [#1194](https://github.com/angular-ui/ui-router/issues/1194))
* **docs:**
* Fixed link to milestones ([6c0ae500](https://github.com/angular-ui/ui-router/commit/6c0ae500cc238ea9fc95adcc15415c55fc9e1f33))
* fix bug in decorator example ([4bd00af5](https://github.com/angular-ui/ui-router/commit/4bd00af50b8b88a49d1545a76290731cb8e0feb1))
* Removed an incorrect semi-colon ([af97cef8](https://github.com/angular-ui/ui-router/commit/af97cef8b967f2e32177e539ef41450dca131a7d))
* Explain return value of rule as function ([5e887890](https://github.com/angular-ui/ui-router/commit/5e8878900a6ffe59a81aed531a3925e34a297377))
#### Features
* **$state:**
* allow parameters to pass unharmed ([8939d057](https://github.com/angular-ui/ui-router/commit/8939d0572ab1316e458ef016317ecff53131a822))
* **BREAKING CHANGE**: state parameters are no longer automatically coerced to strings, and unspecified parameter values are now set to undefined rather than null.
* allow prevent syncUrl on failure ([753060b9](https://github.com/angular-ui/ui-router/commit/753060b910d5d2da600a6fa0757976e401c33172))
* **typescript:** Add typescript definitions for component builds ([521ceb3f](https://github.com/angular-ui/ui-router/commit/521ceb3fd7850646422f411921e21ce5e7d82e0f))
* **uiSref:** extend syntax for ui-sref ([71cad3d6](https://github.com/angular-ui/ui-router/commit/71cad3d636508b5a9fe004775ad1f1adc0c80c3e))
* **uiSrefActive:**
* Also activate for child states. ([bf163ad6](https://github.com/angular-ui/ui-router/commit/bf163ad6ce176ce28792696c8302d7cdf5c05a01), closes [#818](https://github.com/angular-ui/ui-router/issues/818))
* **BREAKING CHANGE** Since ui-sref-active now activates even when child states are active you may need to swap out your ui-sref-active with ui-sref-active-eq, thought typically we think devs want the auto inheritance.
* uiSrefActiveEq: new directive with old ui-sref-active behavior
* **$urlRouter:**
* defer URL change interception ([c72d8ce1](https://github.com/angular-ui/ui-router/commit/c72d8ce11916d0ac22c81b409c9e61d7048554d7))
* force URLs to have valid params ([d48505cd](https://github.com/angular-ui/ui-router/commit/d48505cd328d83e39d5706e085ba319715f999a6))
* abstract $location handling ([08b4636b](https://github.com/angular-ui/ui-router/commit/08b4636b294611f08db35f00641eb5211686fb50))
* **$urlMatcherFactory:**
* fail on bad parameters ([d8f124c1](https://github.com/angular-ui/ui-router/commit/d8f124c10d00c7e5dde88c602d966db261aea221))
* date type support ([b7f074ff](https://github.com/angular-ui/ui-router/commit/b7f074ff65ca150a3cdbda4d5ad6cb17107300eb))
* implement type support ([450b1f0e](https://github.com/angular-ui/ui-router/commit/450b1f0e8e03c738174ff967f688b9a6373290f4))
* **UrlMatcher:**
* handle query string arrays ([9cf764ef](https://github.com/angular-ui/ui-router/commit/9cf764efab45fa9309368688d535ddf6e96d6449), closes [#373](https://github.com/angular-ui/ui-router/issues/373))
* injectable functions as defaults ([00966ecd](https://github.com/angular-ui/ui-router/commit/00966ecd91fb745846039160cab707bfca8b3bec))
* default values & type decoding for query params ([a472b301](https://github.com/angular-ui/ui-router/commit/a472b301389fbe84d1c1fa9f24852b492a569d11))
* allow shorthand definitions ([5b724304](https://github.com/angular-ui/ui-router/commit/5b7243049793505e44b6608ea09878c37c95b1f5))
* validates whole interface ([32b27db1](https://github.com/angular-ui/ui-router/commit/32b27db173722e9194ef1d5c0ea7d93f25a98d11))
* implement non-strict matching ([a3e21366](https://github.com/angular-ui/ui-router/commit/a3e21366bee0475c9795a1ec76f70eec41c5b4e3))
* add per-param config support ([07b3029f](https://github.com/angular-ui/ui-router/commit/07b3029f4d409cf955780113df92e36401b47580))
* **BREAKING CHANGE**: the `params` option in state configurations must now be an object keyed by parameter name.
### 0.2.10 (2014-03-12)
#### Bug Fixes
* **$state:** use $browser.baseHref() when generating urls with .href() ([cbcc8488](https://github.com/angular-ui/ui-router/commit/cbcc84887d6b6d35258adabb97c714cd9c1e272d))
* **bower.json:** JS files should not be ignored ([ccdab193](https://github.com/angular-ui/ui-router/commit/ccdab193315f304eb3be5f5b97c47a926c79263e))
* **dev:** karma:background task is missing, can't run grunt:dev. ([d9f7b898](https://github.com/angular-ui/ui-router/commit/d9f7b898e8e3abb8c846b0faa16a382913d7b22b))
* **sample:** Contacts menu button not staying active when navigating to detail states. Need t ([2fcb8443](https://github.com/angular-ui/ui-router/commit/2fcb84437cb43ade12682a92b764f13cac77dfe7))
* **uiSref:** support mock-clicks/events with no data ([717d3ff7](https://github.com/angular-ui/ui-router/commit/717d3ff7d0ba72d239892dee562b401cdf90e418))
* **uiView:**
* Do NOT autoscroll when autoscroll attr is missing ([affe5bd7](https://github.com/angular-ui/ui-router/commit/affe5bd785cdc3f02b7a9f64a52e3900386ec3a0), closes [#807](https://github.com/angular-ui/ui-router/issues/807))
* Refactoring uiView directive to copy ngView logic ([548fab6a](https://github.com/angular-ui/ui-router/commit/548fab6ab9debc9904c5865c8bc68b4fc3271dd0), closes [#857](https://github.com/angular-ui/ui-router/issues/857), [#552](https://github.com/angular-ui/ui-router/issues/552))
#### Features
* **$state:** includes() allows glob patterns for state matching. ([2d5f6b37](https://github.com/angular-ui/ui-router/commit/2d5f6b37191a3135f4a6d9e8f344c54edcdc065b))
* **UrlMatcher:** Add support for case insensitive url matching ([642d5247](https://github.com/angular-ui/ui-router/commit/642d524799f604811e680331002feec7199a1fb5))
* **uiSref:** add support for transition options ([2ed7a728](https://github.com/angular-ui/ui-router/commit/2ed7a728cee6854b38501fbc1df6139d3de5b28a))
* **uiView:** add controllerAs config with function ([1ee7334a](https://github.com/angular-ui/ui-router/commit/1ee7334a73efeccc9b95340e315cdfd59944762d))
### 0.2.9 (2014-01-17)
This release is identical to 0.2.8. 0.2.8 was re-tagged in git to fix a problem with bower.
### 0.2.8 (2014-01-16)
#### Bug Fixes
* **$state:** allow null to be passed as 'params' param ([094dc30e](https://github.com/angular-ui/ui-router/commit/094dc30e883e1bd14e50a475553bafeaade3b178))
* **$state.go:** param inheritance shouldn't inherit from siblings ([aea872e0](https://github.com/angular-ui/ui-router/commit/aea872e0b983cb433436ce5875df10c838fccedb))
* **bower.json:** fixes bower.json ([eed3cc4d](https://github.com/angular-ui/ui-router/commit/eed3cc4d4dfef1d3ef84b9fd063127538ebf59d3))
* **uiSrefActive:** annotate controller injection ([85921422](https://github.com/angular-ui/ui-router/commit/85921422ff7fb0effed358136426d616cce3d583), closes [#671](https://github.com/angular-ui/ui-router/issues/671))
* **uiView:**
* autoscroll tests pass on 1.2.4 & 1.1.5 ([86eacac0](https://github.com/angular-ui/ui-router/commit/86eacac09ca5e9000bd3b9c7ba6e2cc95d883a3a))
* don't animate initial load ([83b6634d](https://github.com/angular-ui/ui-router/commit/83b6634d27942ca74766b2b1244a7fc52c5643d9))
* test pass against 1.0.8 and 1.2.4 ([a402415a](https://github.com/angular-ui/ui-router/commit/a402415a2a28b360c43b9fe8f4f54c540f6c33de))
* it should autoscroll when expr is missing. ([8bb9e27a](https://github.com/angular-ui/ui-router/commit/8bb9e27a2986725f45daf44c4c9f846385095aff))
#### Features
* **uiSref:** add target attribute behaviour ([c12bf9a5](https://github.com/angular-ui/ui-router/commit/c12bf9a520d30d70294e3d82de7661900f8e394e))
* **uiView:**
* merge autoscroll expression test. ([b89e0f87](https://github.com/angular-ui/ui-router/commit/b89e0f871d5cc35c10925ede986c10684d5c9252))
* cache and test autoscroll expression ([ee262282](https://github.com/angular-ui/ui-router/commit/ee2622828c2ce83807f006a459ac4e11406d9258))

View File

@ -0,0 +1,65 @@
# Report an Issue
Help us make UI-Router better! If you think you might have found a bug, or some other weirdness, start by making sure
it hasn't already been reported. You can [search through existing issues](https://github.com/angular-ui/ui-router/search?q=wat%3F&type=Issues)
to see if someone's reported one similar to yours.
If not, then [create a plunkr](http://bit.ly/UIR-Plunk) that demonstrates the problem (try to use as little code
as possible: the more minimalist, the faster we can debug it).
Next, [create a new issue](https://github.com/angular-ui/ui-router/issues/new) that briefly explains the problem,
and provides a bit of background as to the circumstances that triggered it. Don't forget to include the link to
that plunkr you created!
**Note**: If you're unsure how a feature is used, or are encountering some unexpected behavior that you aren't sure
is a bug, it's best to talk it out on
[StackOverflow](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router) before reporting it. This
keeps development streamlined, and helps us focus on building great software.
Issues only! |
-------------|
Please keep in mind that the issue tracker is for *issues*. Please do *not* post an issue if you need help or support. Instead, see one of the above-mentioned forums or [IRC](irc://irc.freenode.net/#angularjs). |
####Purple Labels
A purple label means that **you** need to take some further action.
- ![Not Actionable - Need Info](http://angular-ui.github.io/ui-router/images/notactionable.png): Your issue is not specific enough, or there is no clear action that we can take. Please clarify and refine your issue.
- ![Plunkr Please](http://angular-ui.github.io/ui-router/images/plunkrplease.png): Please [create a plunkr](http://bit.ly/UIR-Plunk)
- ![StackOverflow](http://angular-ui.github.io/ui-router/images/stackoverflow.png): We suspect your issue is really a help request, or could be answered by the community. Please ask your question on [StackOverflow](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router). If you determine that is an actual issue, please explain why.
If your issue gets labeled with purple label, no further action will be taken until you respond to the label appropriately.
# Contribute
**(1)** See the **[Developing](#developing)** section below, to get the development version of UI-Router up and running on your local machine.
**(2)** Check out the [roadmap](https://github.com/angular-ui/ui-router/milestones) to see where the project is headed, and if your feature idea fits with where we're headed.
**(3)** If you're not sure, [open an RFC](https://github.com/angular-ui/ui-router/issues/new?title=RFC:%20My%20idea) to get some feedback on your idea.
**(4)** Finally, commit some code and open a pull request. Code & commits should abide by the following rules:
- *Always* have test coverage for new features (or regression tests for bug fixes), and *never* break existing tests
- Commits should represent one logical change each; if a feature goes through multiple iterations, squash your commits down to one
- Make sure to follow the [Angular commit message format](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format) so your change will appear in the changelog of the next release.
- Changes should always respect the coding style of the project
# Developing
UI-Router uses <code>grunt >= 0.4.x</code>. Make sure to upgrade your environment and read the
[Migration Guide](http://gruntjs.com/upgrading-from-0.3-to-0.4).
Dependencies for building from source and running tests:
* [grunt-cli](https://github.com/gruntjs/grunt-cli) - run: `$ npm install -g grunt-cli`
* Then, install the development dependencies by running `$ npm install` from the project directory
There are a number of targets in the gruntfile that are used to generating different builds:
* `grunt`: Perform a normal build, runs jshint and karma tests
* `grunt build`: Perform a normal build
* `grunt dist`: Perform a clean build and generate documentation
* `grunt dev`: Run dev server (sample app) and watch for changes, builds and runs karma tests on changes.

View File

@ -0,0 +1,21 @@
The MIT License
Copyright (c) 2014 The AngularUI Team, Karsten Sperling
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -0,0 +1,243 @@
# AngularUI Router &nbsp;[![Build Status](https://travis-ci.org/angular-ui/ui-router.svg?branch=master)](https://travis-ci.org/angular-ui/ui-router)
#### The de-facto solution to flexible routing with nested views
---
**[Download 0.2.11](http://angular-ui.github.io/ui-router/release/angular-ui-router.js)** (or **[Minified](http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js)**) **|**
**[Guide](https://github.com/angular-ui/ui-router/wiki) |**
**[API](http://angular-ui.github.io/ui-router/site) |**
**[Sample](http://angular-ui.github.com/ui-router/sample/) ([Src](https://github.com/angular-ui/ui-router/tree/gh-pages/sample)) |**
**[FAQ](https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions) |**
**[Resources](#resources) |**
**[Report an Issue](https://github.com/angular-ui/ui-router/blob/master/CONTRIBUTING.md#report-an-issue) |**
**[Contribute](https://github.com/angular-ui/ui-router/blob/master/CONTRIBUTING.md#contribute) |**
**[Help!](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router) |**
**[Discuss](https://groups.google.com/forum/#!categories/angular-ui/router)**
---
AngularUI Router is a routing framework for [AngularJS](http://angularjs.org), which allows you to organize the
parts of your interface into a [*state machine*](https://en.wikipedia.org/wiki/Finite-state_machine). Unlike the
[`$route` service](http://docs.angularjs.org/api/ngRoute.$route) in the Angular ngRoute module, which is organized around URL
routes, UI-Router is organized around [*states*](https://github.com/angular-ui/ui-router/wiki),
which may optionally have routes, as well as other behavior, attached.
States are bound to *named*, *nested* and *parallel views*, allowing you to powerfully manage your application's interface.
Check out the sample app: http://angular-ui.github.io/ui-router/sample/
-
**Note:** *UI-Router is under active development. As such, while this library is well-tested, the API may change. Consider using it in production applications only if you're comfortable following a changelog and updating your usage accordingly.*
## Get Started
**(1)** Get UI-Router in one of the following ways:
- clone & [build](CONTRIBUTING.md#developing) this repository
- [download the release](http://angular-ui.github.io/ui-router/release/angular-ui-router.js) (or [minified](http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js))
- via **[Bower](http://bower.io/)**: by running `$ bower install angular-ui-router` from your console
- or via **[npm](https://www.npmjs.org/)**: by running `$ npm install angular-ui-router` from your console
- or via **[Component](https://github.com/component/component)**: by running `$ component install angular-ui/ui-router` from your console
**(2)** Include `angular-ui-router.js` (or `angular-ui-router.min.js`) in your `index.html`, after including Angular itself (For Component users: ignore this step)
**(3)** Add `'ui.router'` to your main module's list of dependencies (For Component users: replace `'ui.router'` with `require('angular-ui-router')`)
When you're done, your setup should look similar to the following:
>
```html
<!doctype html>
<html ng-app="myApp">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<script src="js/angular-ui-router.min.js"></script>
<script>
var myApp = angular.module('myApp', ['ui.router']);
// For Component users, it should look like this:
// var myApp = angular.module('myApp', [require('angular-ui-router')]);
</script>
...
</head>
<body>
...
</body>
</html>
```
### [Nested States & Views](http://plnkr.co/edit/u18KQc?p=preview)
The majority of UI-Router's power is in its ability to nest states & views.
**(1)** First, follow the [setup](#get-started) instructions detailed above.
**(2)** Then, add a [`ui-view` directive](https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-view) to the `<body />` of your app.
>
```html
<!-- index.html -->
<body>
<div ui-view></div>
<!-- We'll also add some navigation: -->
<a ui-sref="state1">State 1</a>
<a ui-sref="state2">State 2</a>
</body>
```
**(3)** You'll notice we also added some links with [`ui-sref` directives](https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-sref). In addition to managing state transitions, this directive auto-generates the `href` attribute of the `<a />` element it's attached to, if the corresponding state has a URL. Next we'll add some templates. These will plug into the `ui-view` within `index.html`. Notice that they have their own `ui-view` as well! That is the key to nesting states and views.
>
```html
<!-- partials/state1.html -->
<h1>State 1</h1>
<hr/>
<a ui-sref="state1.list">Show List</a>
<div ui-view></div>
```
```html
<!-- partials/state2.html -->
<h1>State 2</h1>
<hr/>
<a ui-sref="state2.list">Show List</a>
<div ui-view></div>
```
**(4)** Next, we'll add some child templates. *These* will get plugged into the `ui-view` of their parent state templates.
>
```html
<!-- partials/state1.list.html -->
<h3>List of State 1 Items</h3>
<ul>
<li ng-repeat="item in items">{{ item }}</li>
</ul>
```
>
```html
<!-- partials/state2.list.html -->
<h3>List of State 2 Things</h3>
<ul>
<li ng-repeat="thing in things">{{ thing }}</li>
</ul>
```
**(5)** Finally, we'll wire it all up with `$stateProvider`. Set up your states in the module config, as in the following:
>
```javascript
myApp.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "partials/state1.html"
})
.state('state1.list', {
url: "/list",
templateUrl: "partials/state1.list.html",
controller: function($scope) {
$scope.items = ["A", "List", "Of", "Items"];
}
})
.state('state2', {
url: "/state2",
templateUrl: "partials/state2.html"
})
.state('state2.list', {
url: "/list",
templateUrl: "partials/state2.list.html",
controller: function($scope) {
$scope.things = ["A", "Set", "Of", "Things"];
}
});
});
```
**(6)** See this quick start example in action.
>**[Go to Quick Start Plunker for Nested States & Views](http://plnkr.co/edit/u18KQc?p=preview)**
**(7)** This only scratches the surface
>**[Dive Deeper!](https://github.com/angular-ui/ui-router/wiki)**
### [Multiple & Named Views](http://plnkr.co/edit/SDOcGS?p=preview)
Another great feature is the ability to have multiple `ui-view`s view per template.
**Pro Tip:** *While multiple parallel views are a powerful feature, you'll often be able to manage your
interfaces more effectively by nesting your views, and pairing those views with nested states.*
**(1)** Follow the [setup](#get-started) instructions detailed above.
**(2)** Add one or more `ui-view` to your app, give them names.
>
```html
<!-- index.html -->
<body>
<div ui-view="viewA"></div>
<div ui-view="viewB"></div>
<!-- Also a way to navigate -->
<a ui-sref="route1">Route 1</a>
<a ui-sref="route2">Route 2</a>
</body>
```
**(3)** Set up your states in the module config:
>
```javascript
myApp.config(function($stateProvider) {
$stateProvider
.state('index', {
url: "",
views: {
"viewA": { template: "index.viewA" },
"viewB": { template: "index.viewB" }
}
})
.state('route1', {
url: "/route1",
views: {
"viewA": { template: "route1.viewA" },
"viewB": { template: "route1.viewB" }
}
})
.state('route2', {
url: "/route2",
views: {
"viewA": { template: "route2.viewA" },
"viewB": { template: "route2.viewB" }
}
})
});
```
**(4)** See this quick start example in action.
>**[Go to Quick Start Plunker for Multiple & Named Views](http://plnkr.co/edit/SDOcGS?p=preview)**
## Resources
* [In-Depth Guide](https://github.com/angular-ui/ui-router/wiki)
* [API Reference](http://angular-ui.github.io/ui-router/site)
* [Sample App](http://angular-ui.github.com/ui-router/sample/) ([Source](https://github.com/angular-ui/ui-router/tree/gh-pages/sample))
* [FAQ](https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions)
* [Slides comparing ngRoute to ui-router](http://slid.es/timkindberg/ui-router#/)
* [UI-Router Extras / Addons](http://christopherthielen.github.io/ui-router-extras/#/home) (@christopherthielen)
### Videos
* [Introduction Video](https://egghead.io/lessons/angularjs-introduction-ui-router) (egghead.io)
* [Tim Kindberg on Angular UI-Router](https://www.youtube.com/watch?v=lBqiZSemrqg)
* [Activating States](https://egghead.io/lessons/angularjs-ui-router-activating-states) (egghead.io)
* [Learn Angular.js using UI-Router](http://youtu.be/QETUuZ27N0w) (LearnCode.academy)
## Reporting issues and Contributing
Please read our [Contributor guidelines](CONTRIBUTING.md) before reporting an issue or creating a pull request.

View File

@ -0,0 +1,126 @@
// Type definitions for Angular JS 1.1.5+ (ui.router module)
// Project: https://github.com/angular-ui/ui-router
// Definitions by: Michel Salib <https://github.com/michelsalib>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module ng.ui {
interface IState {
name?: string;
template?: string;
templateUrl?: any; // string || () => string
templateProvider?: any; // () => string || IPromise<string>
controller?: any;
controllerAs?: string;
controllerProvider?: any;
resolve?: {};
url?: string;
params?: any;
views?: {};
abstract?: boolean;
onEnter?: (...args: any[]) => void;
onExit?: (...args: any[]) => void;
data?: any;
reloadOnSearch?: boolean;
}
interface ITypedState<T> extends IState {
data?: T;
}
interface IStateProvider extends IServiceProvider {
state(name: string, config: IState): IStateProvider;
state(config: IState): IStateProvider;
decorator(name?: string, decorator?: (state: IState, parent: Function) => any): any;
}
interface IUrlMatcher {
concat(pattern: string): IUrlMatcher;
exec(path: string, searchParams: {}): {};
parameters(): string[];
format(values: {}): string;
}
interface IUrlMatcherFactory {
compile(pattern: string): IUrlMatcher;
isMatcher(o: any): boolean;
}
interface IUrlRouterProvider extends IServiceProvider {
when(whenPath: RegExp, handler: Function): IUrlRouterProvider;
when(whenPath: RegExp, handler: any[]): IUrlRouterProvider;
when(whenPath: RegExp, toPath: string): IUrlRouterProvider;
when(whenPath: IUrlMatcher, hanlder: Function): IUrlRouterProvider;
when(whenPath: IUrlMatcher, handler: any[]): IUrlRouterProvider;
when(whenPath: IUrlMatcher, toPath: string): IUrlRouterProvider;
when(whenPath: string, handler: Function): IUrlRouterProvider;
when(whenPath: string, handler: any[]): IUrlRouterProvider;
when(whenPath: string, toPath: string): IUrlRouterProvider;
otherwise(handler: Function): IUrlRouterProvider;
otherwise(handler: any[]): IUrlRouterProvider;
otherwise(path: string): IUrlRouterProvider;
rule(handler: Function): IUrlRouterProvider;
rule(handler: any[]): IUrlRouterProvider;
}
interface IStateOptions {
location?: any;
inherit?: boolean;
relative?: IState;
notify?: boolean;
reload?: boolean;
}
interface IHrefOptions {
lossy?: boolean;
inherit?: boolean;
relative?: IState;
absolute?: boolean;
}
interface IStateService {
go(to: string, params?: {}, options?: IStateOptions): IPromise<any>;
transitionTo(state: string, params?: {}, updateLocation?: boolean): void;
transitionTo(state: string, params?: {}, options?: IStateOptions): void;
includes(state: string, params?: {}): boolean;
is(state:string, params?: {}): boolean;
is(state: IState, params?: {}): boolean;
href(state: IState, params?: {}, options?: IHrefOptions): string;
href(state: string, params?: {}, options?: IHrefOptions): string;
get(state: string): IState;
get(): IState[];
current: IState;
params: any;
reload(): void;
}
interface IStateParamsService {
[key: string]: any;
}
interface IStateParams {
[key: string]: any;
}
interface IUrlRouterService {
/*
* Triggers an update; the same update that happens when the address bar
* url changes, aka $locationChangeSuccess.
*
* This method is useful when you need to use preventDefault() on the
* $locationChangeSuccess event, perform some custom logic (route protection,
* auth, config, redirection, etc) and then finally proceed with the transition
* by calling $urlRouter.sync().
*
*/
sync(): void;
}
interface IUiViewScrollProvider {
/*
* Reverts back to using the core $anchorScroll service for scrolling
* based on the url anchor.
*/
useAnchorScroll(): void;
}
}

View File

@ -0,0 +1,23 @@
{
"name": "angular-ui-router",
"version": "0.2.13",
"main": "./release/angular-ui-router.js",
"dependencies": {
"angular": ">= 1.0.8"
},
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"component.json",
"package.json",
"lib",
"config",
"sample",
"test",
"tests",
"ngdoc_assets",
"Gruntfile.js",
"files.js"
]
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More