Merge branch 'master' into app-survivalKit
BIN
applications/DANCE/Animations/BBoy Look at me be Booooi 202.fbx
Normal file
BIN
applications/DANCE/Animations/Ballet 372.fbx
Normal file
BIN
applications/DANCE/Animations/Belly Dance 590.fbx
Normal file
BIN
applications/DANCE/Animations/Belly Dancing 643.fbx
Normal file
BIN
applications/DANCE/Animations/Beyonce Boogie 235.fbx
Normal file
BIN
applications/DANCE/Animations/Body Rocka 64.fbx
Normal file
BIN
applications/DANCE/Animations/Booty Booty Booty 148.fbx
Normal file
BIN
applications/DANCE/Animations/Breakdance 1990 16.fbx
Normal file
BIN
applications/DANCE/Animations/Chicken Dance 144.fbx
Normal file
BIN
applications/DANCE/Animations/Every day Im shuffelin 226.fbx
Normal file
BIN
applications/DANCE/Animations/Flair it Up 75.fbx
Normal file
BIN
applications/DANCE/Animations/Gangnam Style 372.fbx
Normal file
BIN
applications/DANCE/Animations/Hokey Pokey 351.fbx
Normal file
BIN
applications/DANCE/Animations/In Yo Own World 392.fbx
Normal file
BIN
applications/DANCE/Animations/Jiggle Jangle 474.fbx
Normal file
BIN
applications/DANCE/Animations/King Tut 509.fbx
Normal file
BIN
applications/DANCE/Animations/Mad attitude 184.fbx
Normal file
BIN
applications/DANCE/Animations/Raise the roof 124.fbx
Normal file
BIN
applications/DANCE/Animations/Runnin Man 326.fbx
Normal file
BIN
applications/DANCE/Animations/Salsa Papi 136.fbx
Normal file
BIN
applications/DANCE/Animations/Salsa and Chips 566.fbx
Normal file
BIN
applications/DANCE/Animations/Salsa spinna 79.fbx
Normal file
BIN
applications/DANCE/Animations/Shake it like you mean it 360.fbx
Normal file
BIN
applications/DANCE/Animations/Shoppin like its Costco 479.fbx
Normal file
BIN
applications/DANCE/Animations/Slider with cheese 520.fbx
Normal file
BIN
applications/DANCE/Animations/Smoov Playa 489.fbx
Normal file
BIN
applications/DANCE/Animations/Snaker 2step 64.fbx
Normal file
BIN
applications/DANCE/Animations/So into it 244.fbx
Normal file
BIN
applications/DANCE/Animations/Swing Batta Batta 742.fbx
Normal file
BIN
applications/DANCE/Animations/Swing so happy 628.fbx
Normal file
BIN
applications/DANCE/Animations/Swinga 700.fbx
Normal file
BIN
applications/DANCE/Animations/Thriller Idle 131.fbx
Normal file
BIN
applications/DANCE/Animations/Thriller Part 1 896.fbx
Normal file
BIN
applications/DANCE/Animations/Thriller Part 2 566.fbx
Normal file
BIN
applications/DANCE/Animations/Thriller Part 3 768.fbx
Normal file
BIN
applications/DANCE/Animations/Thriller Part 4 1113.fbx
Normal file
BIN
applications/DANCE/Animations/Twerk it Twerk it 457.fbx
Normal file
BIN
applications/DANCE/Animations/Twista 284.fbx
Normal file
BIN
applications/DANCE/Animations/Wavy baby 213.fbx
Normal file
BIN
applications/DANCE/Animations/Ymca Dance 136.fbx
Normal file
6
applications/DANCE/Animations/dance.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
var fs = require("fs");
|
||||
var dir = fs.readdirSync(__dirname);
|
||||
var baseUrl = "https://hifi-content.s3.amazonaws.com/milad/ROLC/Organize/O_Projects/Hifi/Scripts/hifi-content/DomainContent/Rust/DanceApp/Animations/";
|
||||
var finalArray = dir.map(function(file){
|
||||
return baseUrl + file;
|
||||
});
|
454
applications/DANCE/DANCE.js
Normal file
|
@ -0,0 +1,454 @@
|
|||
"use strict";
|
||||
/* eslint-disable indent */
|
||||
//
|
||||
// Dance-App
|
||||
//
|
||||
// Created by Milad Nazeri on 2018-10-11
|
||||
// Copyright 2016 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
/* globals Tablet, Script, HMD, Controller, Menu */
|
||||
|
||||
(function () { // BEGIN LOCAL_SCOPE
|
||||
// Dependencies
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var
|
||||
appUi = Script.require('appUi')
|
||||
;
|
||||
|
||||
// Consts
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var
|
||||
URL = Script.resolvePath("./Tablet/DANCE_Tablet.html"),
|
||||
BUTTON_NAME = "DANCE",
|
||||
PREVIEW_DANCE = "preview_dance",
|
||||
PREVIEW_DANCE_STOP = "preview_dance_stop",
|
||||
STOP_DANCE = "stop_dance",
|
||||
START_DANCING = "start_dancing",
|
||||
TRY_DANCE = "try_dance",
|
||||
ADD_DANCE = "add_dance",
|
||||
REMOVE_DANCE = "remove_dance",
|
||||
REMOVE_DANCE_FROM_MENU = "remove_dance_from_menu",
|
||||
UPDATE_DANCE_ARRAY = "update_dance_array",
|
||||
CURRENT_DANCE = "current_dance",
|
||||
TOGGLE_HMD = "toggle_hmd",
|
||||
PREVIEW_TIMEOUT = 10000,
|
||||
SECOND = 1000,
|
||||
TABLET_OPEN_TIME = 300,
|
||||
DEFAULT_START_FRAME = 0,
|
||||
EVENT_BRIDGE_OPEN_MESSAGE = "eventBridgeOpen",
|
||||
PREVIEW_DISTANCE = -2,
|
||||
UPDATE_UI = BUTTON_NAME + "_update_ui"
|
||||
;
|
||||
|
||||
// Init
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var
|
||||
overlay = null,
|
||||
ui,
|
||||
lastPreviewTimeStamp,
|
||||
in3rdPerson = false,
|
||||
zoomMapping,
|
||||
numberOfZooms = 3
|
||||
;
|
||||
|
||||
// Constructor
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// General Dance Objects used
|
||||
|
||||
function DanceAnimation(name, url, frames, fps, icon) {
|
||||
this.name = name;
|
||||
this.url = url;
|
||||
this.startFrame = DEFAULT_START_FRAME;
|
||||
this.endFrame = frames;
|
||||
this.fps = fps;
|
||||
this.duration = (this.endFrame / this.fps) * SECOND;
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
// Specific Dance Objects used for the dance playlist
|
||||
|
||||
function DanceListEntry(name, url, startFrame, endFrame, duration, fps, icon) {
|
||||
this.name = name;
|
||||
this.url = url;
|
||||
this.startFrame = startFrame;
|
||||
this.endFrame = endFrame;
|
||||
this.duration = duration;
|
||||
this.fps = fps;
|
||||
this.defaultEnd = endFrame;
|
||||
this.selected = false;
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
// Collections
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var
|
||||
danceUrls = Script.require("./Dance-URLS.js?"+ Date.now()),
|
||||
dataStore = {
|
||||
shouldBeRunning: false,
|
||||
danceArray: [],
|
||||
currentIndex: 0,
|
||||
toggleHMD: false,
|
||||
ui: {
|
||||
currentDance: false,
|
||||
danceArray: false
|
||||
},
|
||||
danceObjects: []
|
||||
}
|
||||
;
|
||||
|
||||
// Helper Functions
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Gets the dances from Dance-URLS and makes dance objects
|
||||
|
||||
function splitDanceUrls() {
|
||||
// Capture the different parts of the Dance URL to be used for the dance object
|
||||
var regex = /((?:https:|http:|file:\/)\/\/.*\/)([a-zA-Z0-9 ]+) (\d+)(.fbx)/;
|
||||
danceUrls.sort(function(a,b) {
|
||||
// Sort the urls by charachter
|
||||
if (a.toLowerCase() < b.toLowerCase()) {
|
||||
return -1;
|
||||
} else if (a > b) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}).forEach(function(dance, index) {
|
||||
// Use the regex match to make DanceAnimation objects
|
||||
var regMatch = regex.exec(dance);
|
||||
dataStore.danceObjects.push(
|
||||
new DanceAnimation(
|
||||
regMatch[2],
|
||||
dance,
|
||||
regMatch[3],
|
||||
30,
|
||||
(index + 1) + ".jpg"
|
||||
)
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
// Finds the index that matches an object in an Array. Used to splice/edit dances in our playlist
|
||||
function findObjectIndexByKey(array, key, value) {
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i][key] === value) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Procedural Functions
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Creates an overlay animation in front of you to see what your dance looks like
|
||||
|
||||
function previewDanceAnimation(danceObj) {
|
||||
if (overlay) {
|
||||
stopPreviewDanceAnimation();
|
||||
}
|
||||
var localOffset = [0, 0, PREVIEW_DISTANCE],
|
||||
worldOffset = Vec3.multiplyQbyV(MyAvatar.orientation, localOffset),
|
||||
modelPosition = Vec3.sum(MyAvatar.position, worldOffset);
|
||||
|
||||
overlay = Overlays.addOverlay("model", {
|
||||
url: MyAvatar.skeletonModelURL,
|
||||
position: modelPosition,
|
||||
animationSettings: {
|
||||
url: danceObj.url,
|
||||
fps: danceObj.fps,
|
||||
loop: true,
|
||||
running: true,
|
||||
lastFrame: danceObj.frames
|
||||
}
|
||||
});
|
||||
dataStore.ui.addThisDance = true;
|
||||
dataStore.addThisDanceName = danceObj.name;
|
||||
lastPreviewTimeStamp = Date.now();
|
||||
Script.setTimeout(function(){
|
||||
var currentTime = Date.now();
|
||||
if (currentTime - lastPreviewTimeStamp > PREVIEW_TIMEOUT) {
|
||||
stopPreviewDanceAnimation();
|
||||
}
|
||||
}, PREVIEW_TIMEOUT + 500);
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Stops the overlay preview after a timer is called
|
||||
|
||||
function stopPreviewDanceAnimation() {
|
||||
|
||||
dataStore.ui.addThisDance = false;
|
||||
dataStore.addThisDanceName = null;
|
||||
Overlays.deleteOverlay(overlay);
|
||||
overlay = null;
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Called when a dance in UI is picked
|
||||
|
||||
function addDanceAnimation(danceToAdd) {
|
||||
dataStore.danceArray.push(
|
||||
new DanceListEntry(
|
||||
danceToAdd.dance.name,
|
||||
danceToAdd.dance.url,
|
||||
danceToAdd.dance.startFrame,
|
||||
danceToAdd.dance.endFrame,
|
||||
danceToAdd.dance.duration,
|
||||
danceToAdd.dance.fps,
|
||||
danceToAdd.dance.icon
|
||||
)
|
||||
);
|
||||
dataStore.danceObjects[danceToAdd.index].selected = true;
|
||||
dataStore.ui.danceArray = true;
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// When a dance is removed from your routine, we splice it out from the array
|
||||
|
||||
function removeDanceAnimation(index) {
|
||||
var danceIndex = findObjectIndexByKey(dataStore.danceObjects, "name", dataStore.danceArray[index].name);
|
||||
dataStore.danceObjects[danceIndex].selected = false;
|
||||
dataStore.danceArray.splice(index,1);
|
||||
if (dataStore.danceArray.length === 0) {
|
||||
stopDanceAnimation();
|
||||
dataStore.ui.danceArray = false;
|
||||
}
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Check to see if wee are in HMD and have it toggled before we play the dances
|
||||
|
||||
function hmdCheck(){
|
||||
if (HMD.active && dataStore.toggleHMD) {
|
||||
playDanceArray();
|
||||
}
|
||||
|
||||
if (!HMD.active) {
|
||||
playDanceArray();
|
||||
}
|
||||
}
|
||||
|
||||
// Init the dance array and plays the first on the list
|
||||
|
||||
function playDanceArray(){
|
||||
dataStore.shouldBeRunning = true;
|
||||
dataStore.currentIndex = 0;
|
||||
playNextDance(dataStore.currentIndex);
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Play the index supplied and then get the next dance ready
|
||||
|
||||
function playNextDance(index) {
|
||||
if ( index >= dataStore.danceArray.length) {
|
||||
index = 0;
|
||||
}
|
||||
var danceArrayObject = dataStore.danceArray[index];
|
||||
dataStore.currentIndex++;
|
||||
dataStore.currentIndex =
|
||||
dataStore.currentIndex >= dataStore.danceArray.length
|
||||
? 0
|
||||
: dataStore.currentIndex;
|
||||
|
||||
tryDanceAnimation(danceArrayObject);
|
||||
Script.setTimeout(function(){
|
||||
if (dataStore.shouldBeRunning) {
|
||||
playNextDance(dataStore.currentIndex);
|
||||
}
|
||||
}, danceArrayObject.duration);
|
||||
}
|
||||
|
||||
// Executes the actual dance animation
|
||||
|
||||
function tryDanceAnimation(danceObj) {
|
||||
if (!HMD.active) {
|
||||
MyAvatar.overrideAnimation(danceObj.url, danceObj.fps, true, danceObj.startFrame, danceObj.endFrame);
|
||||
|
||||
} else {
|
||||
MyAvatar.overrideAnimation(danceObj.url, danceObj.fps, true, danceObj.startFrame, danceObj.endFrame);
|
||||
if (!in3rdPerson) {
|
||||
in3rdPerson = true;
|
||||
enableZoom();
|
||||
}
|
||||
}
|
||||
|
||||
dataStore.ui.currentDance = true;
|
||||
dataStore.currentDance = danceObj;
|
||||
ui.updateUI(dataStore, {slice: CURRENT_DANCE});
|
||||
}
|
||||
|
||||
// Emulates the scroll wheel zoom out
|
||||
|
||||
function enableZoom() {
|
||||
HMD.closeTablet();
|
||||
zoomMapping = Controller.newMapping('zoom');
|
||||
numberOfZooms = 2;
|
||||
zoomMapping.from(function () {
|
||||
numberOfZooms = numberOfZooms - 1;
|
||||
return numberOfZooms >= 0 ? 1 : (
|
||||
zoomMapping.disable(), 0);
|
||||
}).to(Controller.Actions.BOOM_OUT);
|
||||
Script.setTimeout(function(){
|
||||
HMD.openTablet();
|
||||
}, TABLET_OPEN_TIME);
|
||||
zoomMapping.enable();
|
||||
}
|
||||
|
||||
// Emulates the scroll wheel zoom in
|
||||
|
||||
function disableZoom() {
|
||||
HMD.closeTablet();
|
||||
zoomMapping = Controller.newMapping('zoom');
|
||||
zoomMapping.enable();
|
||||
numberOfZooms = 0;
|
||||
zoomMapping.from(function () {
|
||||
numberOfZooms = numberOfZooms + 1;
|
||||
return numberOfZooms <= 2 ? 1 : (
|
||||
zoomMapping.disable(), 0);
|
||||
}).to(Controller.Actions.BOOM_IN);
|
||||
Script.setTimeout(function(){
|
||||
HMD.openTablet();
|
||||
}, TABLET_OPEN_TIME);
|
||||
zoomMapping.enable();
|
||||
}
|
||||
|
||||
// Stop the dance animations
|
||||
|
||||
function stopDanceAnimation() {
|
||||
MyAvatar.restoreAnimation();
|
||||
if (in3rdPerson) {
|
||||
Camera.mode = "first person";
|
||||
disableZoom();
|
||||
in3rdPerson = false;
|
||||
}
|
||||
dataStore.ui.currentDance = false;
|
||||
dataStore.currentDance = null;
|
||||
dataStore.shouldBeRunning = false;
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// If an update is made to how a dance should be played, replace the original in the array
|
||||
|
||||
function updateDanceArray(danceUpdate) {
|
||||
dataStore.danceArray[danceUpdate.index] = danceUpdate.dance;
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Send an update to the Vue UI
|
||||
|
||||
function updateUI(dataStore, slice) {
|
||||
if (!slice) {
|
||||
slice = {};
|
||||
}
|
||||
var messageObject = {
|
||||
type: UPDATE_UI,
|
||||
value: dataStore
|
||||
};
|
||||
Object.keys(slice).forEach(function(key){
|
||||
if (slice.hasOwnProperty(key)) {
|
||||
messageObject[key] = slice[key];
|
||||
}
|
||||
});
|
||||
ui.sendToHtml(messageObject);
|
||||
}
|
||||
|
||||
// Stop dancing if the script ends
|
||||
|
||||
function onEnding(){
|
||||
MyAvatar.restoreAnimation();
|
||||
}
|
||||
|
||||
// Stop dancing if the domain location is changed
|
||||
|
||||
function onDomainChange(){
|
||||
MyAvatar.restoreAnimation();
|
||||
}
|
||||
|
||||
// Handles if toggleHMD is picked from the UI
|
||||
|
||||
function toggleHMD(){
|
||||
dataStore.toggleHMD = !dataStore.toggleHMD;
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Handles removing the dance directly from the icon menu
|
||||
|
||||
function removeDanceFromMenu(danceToRemove){
|
||||
var index = findObjectIndexByKey(dataStore.danceArray, "name", danceToRemove.dance.name);
|
||||
if (index > -1) {
|
||||
dataStore.danceArray.splice(index, 1);
|
||||
dataStore.danceObjects[danceToRemove.index].selected = false;
|
||||
}
|
||||
if (dataStore.danceArray.length === 0) {
|
||||
stopDanceAnimation();
|
||||
dataStore.ui.danceArray = false;
|
||||
}
|
||||
ui.updateUI(dataStore);
|
||||
}
|
||||
|
||||
// Tablet
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
function startup() {
|
||||
ui = new appUi({
|
||||
buttonName: BUTTON_NAME,
|
||||
home: URL,
|
||||
graphicsDirectory: Script.resolvePath("./icons/tablet-icons/"),
|
||||
onMessage: onMessage,
|
||||
updateUI: updateUI
|
||||
});
|
||||
MyAvatar.restoreAnimation();
|
||||
|
||||
Script.scriptEnding.connect(onEnding);
|
||||
Window.domainChanged.connect(onDomainChange);
|
||||
|
||||
splitDanceUrls();
|
||||
}
|
||||
|
||||
function onMessage(data) {
|
||||
// EventBridge message from HTML script.
|
||||
switch (data.type) {
|
||||
case EVENT_BRIDGE_OPEN_MESSAGE:
|
||||
ui.updateUI(dataStore);
|
||||
break;
|
||||
case TOGGLE_HMD:
|
||||
toggleHMD();
|
||||
break;
|
||||
case ADD_DANCE:
|
||||
addDanceAnimation(data.value);
|
||||
break;
|
||||
case REMOVE_DANCE:
|
||||
removeDanceAnimation(data.value);
|
||||
break;
|
||||
case REMOVE_DANCE_FROM_MENU:
|
||||
removeDanceFromMenu(data.value);
|
||||
break;
|
||||
case START_DANCING:
|
||||
hmdCheck();
|
||||
break;
|
||||
case TRY_DANCE:
|
||||
tryDanceAnimation(data.value);
|
||||
break;
|
||||
case UPDATE_DANCE_ARRAY:
|
||||
updateDanceArray(data.value);
|
||||
break;
|
||||
case STOP_DANCE:
|
||||
stopDanceAnimation(data.value);
|
||||
break;
|
||||
case PREVIEW_DANCE:
|
||||
previewDanceAnimation(data.value);
|
||||
break;
|
||||
case PREVIEW_DANCE_STOP:
|
||||
stopPreviewDanceAnimation();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Main
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
startup();
|
||||
|
||||
}()); // END LOCAL_SCOPE
|
43
applications/DANCE/Dance-URLS.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
var danceurls = [
|
||||
Script.resolvePath('./Animations/Ballet 372.fbx'),
|
||||
Script.resolvePath('./Animations/BBoy Look at me be Booooi 202.fbx'),
|
||||
Script.resolvePath('./Animations/Belly Dance 590.fbx'),
|
||||
Script.resolvePath('./Animations/Snaker 2step 64.fbx'),
|
||||
Script.resolvePath('./Animations/Beyonce Boogie 235.fbx'),
|
||||
Script.resolvePath('./Animations/Body Rocka 64.fbx'),
|
||||
Script.resolvePath('./Animations/Booty Booty Booty 148.fbx'),
|
||||
Script.resolvePath('./Animations/Breakdance 1990 16.fbx'),
|
||||
Script.resolvePath('./Animations/Chicken Dance 144.fbx'),
|
||||
Script.resolvePath('./Animations/Every day Im shuffelin 226.fbx'),
|
||||
Script.resolvePath('./Animations/Flair it Up 75.fbx'),
|
||||
Script.resolvePath('./Animations/Gangnam Style 372.fbx'),
|
||||
Script.resolvePath('./Animations/Hokey Pokey 351.fbx'),
|
||||
Script.resolvePath('./Animations/In Yo Own World 392.fbx'),
|
||||
Script.resolvePath('./Animations/Jiggle Jangle 474.fbx'),
|
||||
Script.resolvePath('./Animations/King Tut 509.fbx'),
|
||||
Script.resolvePath('./Animations/Mad attitude 184.fbx'),
|
||||
Script.resolvePath('./Animations/Raise the roof 124.fbx'),
|
||||
Script.resolvePath('./Animations/Runnin Man 326.fbx'),
|
||||
Script.resolvePath('./Animations/Salsa and Chips 566.fbx'),
|
||||
Script.resolvePath('./Animations/Salsa Papi 136.fbx'),
|
||||
Script.resolvePath('./Animations/Salsa spinna 79.fbx'),
|
||||
Script.resolvePath('./Animations/Shake it like you mean it 360.fbx'),
|
||||
Script.resolvePath('./Animations/Shoppin like its Costco 479.fbx'),
|
||||
Script.resolvePath('./Animations/Slider with cheese 520.fbx'),
|
||||
Script.resolvePath('./Animations/Smoov Playa 489.fbx'),
|
||||
Script.resolvePath('./Animations/So into it 244.fbx'),
|
||||
Script.resolvePath('./Animations/Swing Batta Batta 742.fbx'),
|
||||
Script.resolvePath('./Animations/Swing so happy 628.fbx'),
|
||||
Script.resolvePath('./Animations/Swinga 700.fbx'),
|
||||
Script.resolvePath('./Animations/Thriller Idle 131.fbx'),
|
||||
Script.resolvePath('./Animations/Thriller Part 1 896.fbx'),
|
||||
Script.resolvePath('./Animations/Thriller Part 2 566.fbx'),
|
||||
Script.resolvePath('./Animations/Thriller Part 3 768.fbx'),
|
||||
Script.resolvePath('./Animations/Thriller Part 4 1113.fbx'),
|
||||
Script.resolvePath('./Animations/Twerk it Twerk it 457.fbx'),
|
||||
Script.resolvePath('./Animations/Twista 284.fbx'),
|
||||
Script.resolvePath('./Animations/Wavy baby 213.fbx'),
|
||||
Script.resolvePath('./Animations/Ymca Dance 136.fbx')
|
||||
];
|
||||
|
||||
module.exports = danceurls;
|
BIN
applications/DANCE/Images/Docs/4.jpg
Normal file
After Width: | Height: | Size: 6 KiB |
After Width: | Height: | Size: 84 KiB |
340
applications/DANCE/README.MD
Normal file
|
@ -0,0 +1,340 @@
|
|||
# So you think you can DANCE! ...app
|
||||
|
||||
DANCE! is a fun tablet application that lets you choose from different [Mixamo](https://www.mixamo.com/) dance animations. Using those animations, we can sequence them together to make your own funky dance routine!
|
||||
|
||||
|
||||
From this README you will learn about:
|
||||
- Using appUi to simplify the HIFI tablet making process
|
||||
- Applying animations to your Avatar
|
||||
- Working with Controller Actions
|
||||
- How the Tablet and Interface communicate together
|
||||
- Making more complex and interactive apps with the tablet using a framework like Vue.JS
|
||||
|
||||
|
||||
# How it works
|
||||
|
||||
Dance animations created in Mixamo are selected through a UI that is built with [Vue.JS](https://vuejs.org/). The animations are placed in an array that is cycled through and switch after the animation’s desired duration time is up. Easy, peezy, Beyonce boogie squeezy.
|
||||
|
||||

|
||||
|
||||
# Setup
|
||||
|
||||
We first start with a file that lists all our possible dance URLs imported in as an array.
|
||||
|
||||
Mixamo allows you to easily animate a HIFI Avatar Skeleton by importing an existing HIFI Avatar FST file. After customizing the dance moves the way you like, you can then download them and use them to animate your Avatar.
|
||||
|
||||
This app is created with appUi which is a module included in the HIFI standard library to help simplify creating new apps. You can view the module [here](https://github.com/highfidelity/hifi/blob/91df342ae98b763fbe8eb194b0def9308ce66a9d/scripts/modules/appUi.js). There are instructions for how to set it up in the comments.
|
||||
|
||||
The basic configuration looks like this:
|
||||
```
|
||||
var appUi = Script.require('appUi');
|
||||
ui = new appUi({
|
||||
buttonName: BUTTON_NAME,
|
||||
home: URL,
|
||||
graphicsDirectory: Script.resolvePath("./icons/tablet-icons/"),
|
||||
onMessage: onMessage,
|
||||
updateUI: updateUI
|
||||
});
|
||||
```
|
||||
Home is the main URL for the UI, onMessage is the function used to handle messages from the tablet, and updateUI is a custom function added to appUi that takes care of updating our Vue UI.
|
||||
|
||||
***
|
||||
|
||||
### Note Re: [Vue.JS](https://vuejs.org/)
|
||||
|
||||
Vue is a declarative JavaScript framework that is like a light-weight version of ReactJS. It takes care of all the data bindings and event handling for you. If you update an object/array contained in it, then the UI will update accordingly. We will not dive into too many Vue specific details here, but to help you understand the code flow, we will cover some of the essential basics. If you have further questions, feel free to ask on the forum!
|
||||
***
|
||||
|
||||
# The Main App
|
||||
|
||||
### Startup
|
||||
|
||||
When the app starts, the function ```startup()``` is run. It contains a few basic wirings such as the appUi init above. We also make sure the Avatar's default animation is restored with ```MyAvatar.restoreAnimation()``` before any dancing happens.
|
||||
|
||||
In HIFI, we use a concept called signals/slots on the C++ engine side that connects events with functions on objects. On the JavaScript side, if you ever see any code that says ```ClassName.connect(function)```, what that means is that the Interface client has emitted a signal, and we are connecting a function to run when it is received.
|
||||
|
||||
The functions being connected in this case are ```onEnding``` to the signal ```Script.scriptEnding``` and ```onDomainChange``` to the signal ```Window.domainChanged```. These . run ```MyAvatar.restoreAnimation();``` . We want to make sure we do not continue to dance if the script ends or if we change domains.
|
||||
|
||||
### Modules
|
||||
|
||||
All the URLs are stored in a module file called Dance-URLS.js. If you aren't familiar with Javascript modules and how to use them in HIFI, they are a very nice way to reuse code between applications or to help break up large files to make them more manageable.
|
||||
|
||||
The way module files work is that they are created in a separate file and has a “module.exports” line at the bottom
|
||||
```
|
||||
// Create an object with functions like this:
|
||||
function functionToUseInModule(){ ... }
|
||||
|
||||
module.exports = {
|
||||
functionToUseInModule: functionToUseInModule
|
||||
};
|
||||
|
||||
// or if you are exporting a single function, array, or string you can do it directly with
|
||||
module.exports = functionToUseInModule;
|
||||
```
|
||||
|
||||
Then in the file you want to use that module in:
|
||||
```
|
||||
var moduleToUse = Script.require("./moduleFile.js");
|
||||
|
||||
// Using it the first way:
|
||||
moduleToUse.functionToUseInModule();
|
||||
|
||||
// using it the second way:
|
||||
moduleToUse();
|
||||
```
|
||||
|
||||
The Dance-URLS.js is a module with an array that has files named like this:
|
||||
```
|
||||
Script.resolvePath('./Animations/Ballet 372.fbx')
|
||||
```
|
||||
The ```resolvePath``` function gives you an absolute file path to use without knowing it in advance. Very handy if you are moving your files around between testing and/or migrating servers.
|
||||
The above file includes a name and the number of frames the animation is.
|
||||
|
||||
In the setup function, we run ```splitDanceUrls()``` to create danceObjects.
|
||||
First we break that string apart with some regex:
|
||||
```
|
||||
var regex = /((?:https:|file:\/)\/\/.*\/)([a-zA-Z0-9 ]+) (\d+)(.fbx)/;
|
||||
```
|
||||
The regex above gives us 4 different capture groups that are between all the ()s
|
||||
Those capture groups are:
|
||||
1. The substring before the file name
|
||||
2. The file name
|
||||
3. The total number of frames in the animation
|
||||
4. The extension
|
||||
|
||||
In Javascript, we can create Constructor functions to easily make new objects.
|
||||
The Constructor that ```splitDanceUrls``` uses looks like this:
|
||||
```
|
||||
function DanceAnimation(name, url, frames, fps, icon) {
|
||||
this.name = name;
|
||||
this.url = url;
|
||||
this.startFrame = DEFAULT_START_FRAME;
|
||||
this.endFrame = frames;
|
||||
this.fps = fps;
|
||||
this.duration = (this.endFrame / this.fps) * SECOND;
|
||||
this.icon = icon;
|
||||
}
|
||||
```
|
||||
When you call a constructor function, you create a new object that takes in arguments to help speed up the process by dynamically creating unique objects. Helpful if you have a lot of objects to make that are similar.
|
||||
|
||||
Using the regex above, and iterating over our list of danceUrls, we push to an array of objects created with the following call(paraphrased)
|
||||
```
|
||||
dataStore.danceObjects.push(
|
||||
new DanceAnimation(
|
||||
nameFromRegex, DanceURL, totalNumberOfFrames, defaultFPSof30, graphicIconToUseInTheTablet
|
||||
)
|
||||
)
|
||||
```
|
||||
|
||||
To sum it up, this function transforms our list of dance animation URLs into usable Dance Animation objects.
|
||||
|
||||
## The DataStore
|
||||
|
||||
So what is the dataStore? Well, it's where the data is stored! :)
|
||||
It is a collection of data that is important to the UI. This allows a very simple way to update the UI for the Vue framework. The process looks like this:
|
||||
|
||||
DataStore Builds the UI ---> User Interacts with the UI ---> UI sends the change to the dataStore
|
||||
and the cycle completes creating a one-way flow of data.
|
||||
|
||||
This is what is done in the function updateUI:
|
||||
```
|
||||
function updateUI(dataStore, slice) {
|
||||
if (!slice) {
|
||||
slice = {};
|
||||
}
|
||||
var messageObject = {
|
||||
type: UPDATE_UI,
|
||||
value: dataStore
|
||||
};
|
||||
Object.keys(slice).forEach(function(key){
|
||||
if (slice.hasOwnProperty(key)) {
|
||||
messageObject[key] = slice[key];
|
||||
}
|
||||
});
|
||||
ui.sendToHtml(messageObject);
|
||||
}
|
||||
```
|
||||
The above checks if you only want to update a slice of data or update the whole thing. The Vue UI takes care of it from there. To simplify things, we generally send the entire dataStore, but there are cases where sending only one slice is important.
|
||||
|
||||
Next, appUi has a method sendToHTML that takes an object and creates a string to send over the EventBridge. The EventBridge is the HIFI class that communicates between different contexts like the Interface and the Tablet. If you weren't using appUi, then you would have to wire the EventBridge yourself.
|
||||
|
||||
Before we talk about the Tablet app itself, let's look over a few of the functions that take care of the bulk of the work:
|
||||
|
||||
### previewDanceAnimation
|
||||
|
||||
This previews creates an animation overlay of your avatar in front of you to preview what the selected dance looks like. In HIFI, overlays are like entities, but only you can see them. They are made with var overlay = Overlay.addOverlay("type", options). To delete the overlay later, we assign a variable overlay returned from addOverlay to capture the overlay’s id. Here we are taking advantage of a model overlay’s ability to play animations.
|
||||
|
||||
We would like the overlay to appear in front of your Avatar. We offset the overlay to appear 1 meter in front of your avatar or -1 on the z axis:
|
||||
```
|
||||
var localOffset = [0, 0, -1], // creates an offset of -1 from a point of origin
|
||||
worldOffset = Vec3.multiplyQbyV(MyAvatar.orientation, localOffset), // Gets the correct vector by multiplying that offset by your orientation
|
||||
modelPosition = Vec3.sum(MyAvatar.position, worldOffset); // Adds that value to your current position
|
||||
```
|
||||
|
||||
The rest of this function sets up features of the UI. One of the nice things about Vue is you have full control of how your UI looks by assigning flags to your UI, such as when you want a button to show up or not.
|
||||
|
||||
We also include a timeout that checks to see how long this overlay is playing for so we don't get in a bad state where the overlay plays forever for some reason.
|
||||
|
||||
### stopPreviewDanceAnimation
|
||||
|
||||
The main thing here is our deletion of the overlay using ```Overlays.deleteOverlay(overlay)```
|
||||
Then we are setting up more UI related flags. After we set those flags, we use the update UI method.
|
||||
|
||||
### addDanceAnimation
|
||||
|
||||
Whenever a user clicks on one of the Dance Animation icons, this function is called. It uses another constructor function based on the original Dance Animation object maker above with a few extra items the dance playlist uses.
|
||||
|
||||
### hmdCheck
|
||||
|
||||
Instead of allowing the user to play the dance array playlist directly, first, we check to see if a user is in HMD using HMD.active and verify if the user checked the option to use the DANCE in HMD.
|
||||
### enableZoom and disableZoom
|
||||
|
||||
These functions are used to handle dancing in HMD and zoom the user’s camera out programmatically though using the boomIn and boomOut actions. BoomIn and boomOut are only exposed as Controller actions, so we are emulating a user using the scroll wheel to zoom (or “boom”) in and out. [Controller Actions]("https://docs.highfidelity.com/api-reference/namespaces/controller#.Actions") are pre-made functions that can be mapped to a variety of inputs. Let's examine enableZoom, as disableZoom is doing the same thing but reversed:
|
||||
```
|
||||
HMD.closeTablet();
|
||||
zoomMapping = Controller.newMapping('zoom');
|
||||
numberOfZooms = 2;
|
||||
zoomMapping.from(function () {
|
||||
numberOfZooms = numberOfZooms - 1;
|
||||
return numberOfZooms >= 0 ? 1 : (
|
||||
zoomMapping.disable(), 0);
|
||||
}).to(Controller.Actions.BOOM_OUT);
|
||||
Script.setTimeout(function(){
|
||||
HMD.openTablet();
|
||||
}, TABLET_OPEN_TIME);
|
||||
zoomMapping.enable();
|
||||
```
|
||||
First, we close the tablet because when we zoom out, we leave the tablet where the first camera position was.
|
||||
We then create a new Controller mapping for the emulation. These are made by passing in a string of what you would like the mapping to be called.
|
||||
|
||||
Mappings take an input in the .from method and send them to a function in the .to method. When this is enabled with zoomMapping.enable, that function in .from will run every tick and subtract from numberOfZooms until it hits 0. You can think of that as using the scroll wheel numberOfZooms times.
|
||||
|
||||
Most actions take a value from 0 to 1. 0, in this case, means do not do anything, 1 means perform that action. Once we hit 0, we disable the mapping from running. We also set a timer up to bring our tablet back after a short period.
|
||||
|
||||
### playDanceArray
|
||||
|
||||
This is how the danceArray gets kicked off when we click start. This inits us to start from the first dance by setting the ```currentIndex``` to 0 and then passing that to playNextDance, which takes in an index number to play.
|
||||
|
||||
### playNextDance
|
||||
|
||||
We first check that we are not at the end of the list then we get the actual danceObject from our danceArray based on the desired index.
|
||||
After, we pass this object to ```tryDanceAnimation``` which takes care of the dance animation. After we pass it in, we do a timeout based on how long this danceAnimation should play by its set duration. Then we recursively call playNextDance again with the next index.
|
||||
|
||||
### tryDanceAnimation
|
||||
|
||||
Three things to take note here.
|
||||
|
||||
#1 The animation is used on your avatar by MyAvatar.overrideAnimation. This method replaces your current main animation with the dance animation you have picked. Its parameters are basically the same ones we set in the dance object above.
|
||||
|
||||
#2 If the user is in HMD mode, then the only difference is that we switch their camera mode. everal camera modes include first person, third person, independent, and entity mode. All of them allow different camera operation modes that are described in more depth in our API guide. We switch the camera mode into third person mode. When the user clicks stop, we change the camera mode back to first person.
|
||||
|
||||
#3 We usea UI slice here. This time instead of the normal dataStore only update:
|
||||
```ui.updateUI(dataStore, {slice: CURRENT_DANCE});```
|
||||
|
||||
We update only a data slice because we take advantage of the onBlur functionality of HTML inputs so we update the danceArray in real-time. If we didn't do only a slice, the entire app would keep getting dataStore updates which would affect inputting new values to our individual dances. Basically, if you didn't move off in time, the value you entered would go back to where it was before. This makes sure only the section marked to display the current dance is updated.
|
||||
|
||||
### updateDanceArray
|
||||
|
||||
Instead of updating a dance object directly,we simply overwrite the changes from the UI on the danceArray. That way this function is taken care of in just two lines. Wheeew.
|
||||
|
||||
# The Tablet App
|
||||
|
||||
We will not focus too deeply on the tablet app side, except to touch on a few key concepts. Much of it deals with how Vue operates. If anything is too confusing here, the [Vue.JS documentation](https://vuejs.org/v2/guide/) is fantastic. Hopefully, this gives you an idea of how to use Vue in conjunction with HIFI.
|
||||
|
||||
We first begin with the onMessage function that is on the interface app side.
|
||||
|
||||
### onMessage
|
||||
|
||||
In an HTML app, we use a class called the EventBridge to send messages between the tablet's JS files to be received by the interface app. OnMessage handles these messages and uses a switch statement to handle the type. All the messages on the tablet side are set with a type and a value. The type determines which function gets called, and if necessary, passes in a value to be used in the handler function. All messages must be strings. JSON.stringify is used to make sure they are turned into strings so our objects can be handled properly. AppUi takes care of parsing these strings into actual objects inside our onMessage function.
|
||||
|
||||
### General Vue Concepts
|
||||
|
||||
Let's touch on a few key Vue concepts that will help you understand what is happening on the tablet side. First, we include a copy of Vue with:
|
||||
```<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>``` take out the .min if you would like better debug messages from Vue.
|
||||
|
||||
We give Vue control of a section of our DOM by naming a tag an id we can reference on the JavaScript side. In our case it's a div tag with the id of "app".
|
||||
|
||||
In our tablet JavaScript file, we create the app with:
|
||||
```
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
dataStore: {
|
||||
ui: {
|
||||
currentDance: false,
|
||||
danceList: false
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
```
|
||||
el, is the element we marked in our HTML file that we want to let Vue use. The data field is where the magic of Vue happens. Anytime anything in data is updated, we create an automatic reaction that repaints our UI based on templates we give it. This is generally done in Vue components.
|
||||
|
||||
### Vue components
|
||||
|
||||
Vue components are JavaScript objects that can be used as HTML tags. We have 3 main ones which are ```<dance>, <dance-list>, and <current-dance>```
|
||||
These are defined in the tablet JS file.
|
||||
|
||||
Components have the following structure:
|
||||
|
||||
```
|
||||
Vue.component('component-name), { // component names are lower case since they are HTML tags
|
||||
props: ['prop1', 'prop2'], // props are a powerful way to pass data into components and change the way a tag looks/works.
|
||||
methods: {
|
||||
function1(){} // methods are functions you can give your component to call in event handlers and expressions.
|
||||
},
|
||||
lifeCycleHooks: function() {}, // there are several such as mounted, unmounted...they are ways you can run a function at certain times during the creation, operation, and destruction of a component
|
||||
data: function(){ // data is a function that returns an object that your component can reference. It returns an object so each unique
|
||||
return { // component has their own unique data data, and not shared unless you have a certain reason for that. Your component can reference this as this.dataMember, or dataMember
|
||||
dataMember: "string" // inside of an expression in your template
|
||||
}
|
||||
},
|
||||
computed: function(){ // computed is a way that you can manipulate/format data/props coming in and still retain reactivity.
|
||||
return {
|
||||
computedMember: function(){
|
||||
return formattedData;
|
||||
}
|
||||
}
|
||||
},
|
||||
template: // this is a string containing the template in HTML format you would like to use. We use a VSCode plugin is used to give HTML syntax coloring in template strings that are activated by /*html*/ before the template string.
|
||||
/*html*/`
|
||||
<div>
|
||||
templates must have only one root element but can contain anything you want. This is the heart of your UI.
|
||||
{{ dataMember }} // this is a JavaScript expression that evaluates to HTML.
|
||||
</div>
|
||||
`
|
||||
}
|
||||
```
|
||||
|
||||
### Vue bindings
|
||||
|
||||
In order to distinguish from normal HTML attributes, Vue uses special bindings that allow you to have access to certain Vue functionality and work reactively with data changes.
|
||||
|
||||
For example, if you want to dynamically change an img tag's source, you would change ```<img src="http://...">``` to ```<img v-bind:src="url">```. Url, in this case, may be a prop that is passed down, or a member of the data object. Since this is used often, its shorthand is . :src="url".
|
||||
|
||||
|
||||
Other handy Vue attributes are v-if which you feed it an expression so it knows whether to render an element or not, v-on is how events are handled like clicking on an element with v-on:click. The shorthand for this would be @click="functionToRun".
|
||||
|
||||
One of the best Vue features we use is v-for. It iterates through an array or object and creates html for each item. For example, we have an array of danceObjects and need to create a <dance> component for each. We first create a <div> root element and give it an attribute of v-for="dance in dances". Then we on put one <dance> tag in that div and give it props that customize how each one looks based on the element that is in the array. Updating our data member will automatically refresh this list. So cool!
|
||||
|
||||
Vue has great [documentation](https://vuejs.org/v2/guide/). Look at the code and reference the Vue docs if there is anything you are curious about. Vue is also a great way to organize chunks of similar
|
||||
HTML sections by creating custom elements.
|
||||
|
||||
# Conclusion
|
||||
|
||||
The dance app was a lot of fun to work on and was a constant source of amusement as well as irritation during all-hands meetings at the virtual office :)
|
||||
|
||||
Some of the takeaways are:
|
||||
- Using appUi to simplify the tablet making process
|
||||
- Applying animations to your Avatar
|
||||
- Working with Controller Actions
|
||||
- How the Tablet and Interface communicate together
|
||||
- Making more complex and interactive apps with the tablet using a framework like Vue.JS
|
||||
|
||||
Some ideas for remixing:
|
||||
|
||||
- Make up new dances to use
|
||||
- Find a way to sync up playlists with people around you so you are dancing together
|
||||
- Go beyond dances and try using other kinds of animations
|
||||
|
||||
Let us know if you make something new!
|
130
applications/DANCE/Tablet/Assets/DANCE-a.svg
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<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 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;fill:#231F20;}
|
||||
.st1{fill:#231F20;stroke:#FFFFFF;stroke-width:0.3589;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st2{fill:#231F20;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
.st4{display:none;fill:#EC1C24;}
|
||||
.st5{display:none;}
|
||||
.st6{display:inline;fill:#EF3B4E;}
|
||||
.st7{display:inline;}
|
||||
.st8{display:inline;fill:none;stroke:#EF3B4E;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2,2;}
|
||||
.st9{display:inline;fill:none;}
|
||||
.st10{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;}
|
||||
.st11{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:1.9884,1.9884;}
|
||||
.st12{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.0127,2.0127;}
|
||||
.st13{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;}
|
||||
.st14{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.7897,1.7897;}
|
||||
.st15{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8269,1.8269;}
|
||||
.st16{display:inline;fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8078,1.8078;}
|
||||
.st17{display:inline;fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.75,2;}
|
||||
</style>
|
||||
<g id="Dance-App-I">
|
||||
<rect class="st0" width="50" height="50"/>
|
||||
<g>
|
||||
<path class="st1" d="M36.5,34c-1.1-0.2-1.4,0.2-1.7,0c-0.5-0.3,1.2-4.4,0.6-5.4s-1.5-1.4-3.8-1.5s-5.8,2.1-5.8,2.1l0,0
|
||||
c0,0,1.6-3.8,1.1-6.4l-0.1-0.5H27c1,0,5.2,0,6.1-0.9c1.1-0.9,1.1-4,1.1-4s0.9,0.1,1.8-0.1c0.9-0.2,2-0.9,1-2.2s-2-1.3-2.9-1.3
|
||||
s-2.8,0.1-3.1,1.7c-0.3,1.6,0.1,3.2,0.1,3.2h-3.4l-0.1,0.4c-0.1,0-0.1,0-0.2,0c1.3-2.5,0.9-6.2-3.7-6.2c-5,0-4.8,3.9-3.9,6.3h-0.1
|
||||
l-0.2-0.5c0,0-6-0.9-6.9,0.4s-0.6,4.1,0,6.3c0,0-2.9-0.9-2.9,1.7s4.5,1.1,4.5,1.1s2.1-0.8,0.6-5.9c0.9,0.6,2.2,0.6,3.8,0.3
|
||||
c-0.8,4.3-0.9,9.2,1.4,11.3c0,0-2.7,3.9-3.4,5.2c-0.4,0.7-2.5,2-2,2.7c0.8,1.6,6.9,3.9,7.8,3.4c0,0,1.7-1.5,0.1-3.2
|
||||
c-1.4-1.5-2.6-1.8-2.6-1.8s4.4-2.8,4.7-3.9c0,0,0.4-1.1-0.2-2.7l0.1-0.1c0.7-0.2,6.4-2.1,6.5-2.2s0,1.8-0.2,2.3
|
||||
c-0.2,0.6-1,2.4-0.8,2.7s2.1,0.7,3.4,0.8s3.7,0.6,4,0.5C37.8,37.4,38.4,34.5,36.5,34z"/>
|
||||
</g>
|
||||
<polygon class="st2" points="19.8,12.6 21.1,11.9 19.7,9.3 18.3,10.1 "/>
|
||||
<path class="st2" d="M22.2,9.4c-0.3,0.8-0.1,2.3-0.1,2.3l1.7-0.3c0,0-0.2-1-0.1-1.5s1.9-4.1,1.9-4.1L24.4,5
|
||||
C24.4,5,22.5,8.6,22.2,9.4z"/>
|
||||
<path class="st2" d="M29,7.2c0,0-3.2,2.6-3.8,3c-0.5,0.4-0.5,1.4-0.5,1.4l1.6,0.3c0,0,0.1-0.4,0.3-0.8s3.1-2.6,3.1-2.6L29,7.2z"/>
|
||||
<path class="st3" d="M30.2,10.4c0,0-1.3,0.6-1.9,0.8s-1,1-1,1l1.2,1.1c0,0,0.2-0.3,0.4-0.6c0.2-0.3,2.1-0.9,2.1-0.9L30.2,10.4z"/>
|
||||
<circle class="st4" cx="58.7" cy="-7.6" r="3.9"/>
|
||||
</g>
|
||||
<g id="Art" class="st5">
|
||||
<circle class="st6" cx="44.1" cy="5.7" r="5.6"/>
|
||||
<g class="st7">
|
||||
<path d="M18,33c0.4,0,0.6,0,0.9,0c6.5,0,13,0,19.5,0c1.3,0,2,0.5,2.2,1.5c0.2,1.1-0.5,2.2-1.6,2.3c-0.2,0-0.5,0-0.7,0
|
||||
c-7.4,0-14.8,0-22.3,0c-2,0-2.7-0.9-2.2-2.9c0.3-1.1,0.5-2.3,0.8-3.4c0.3-0.9,0.2-1.8,0-2.8c-1.5-6.1-3.1-12.2-4.6-18.3
|
||||
C9.8,8.9,9.6,8.7,9.1,8.7c-1.3,0-2.6,0-3.9,0c-1.2,0-2-0.8-2-1.9s0.8-1.9,2-1.9c2,0,3.9,0,5.9,0c1.1,0,1.7,0.5,2,1.5
|
||||
c0.4,1.3,1.6,4.8,1.9,6.2c2.2,0.1,4.3,0.2,6.5,0.3c6.7,0.3,11.4,0.4,18.1,0.7c1.2,0.1,2.3,0.1,3.5,0.2c1.4,0.1,2.2,1.4,1.6,2.6
|
||||
c-0.9,2.5-3.5,8.5-4.4,10.4c-0.4,0.8-1,1.1-1.9,1.2c-5.9,0.3-12.5,0.5-18.4,0.7c-0.8,0-1.2,0.3-1.3,1.1C18.8,30.3,18.1,32.5,18,33
|
||||
z"/>
|
||||
<path d="M39.6,41.6c0,1.9-1.6,3.6-3.5,3.6c-2,0-3.6-1.6-3.6-3.6c0-1.9,1.6-3.6,3.6-3.6C38,38.1,39.6,39.7,39.6,41.6z"/>
|
||||
<path d="M18.2,41.5c0,1.9-1.7,3.5-3.6,3.5s-3.5-1.7-3.5-3.6c0-2,1.6-3.6,3.6-3.6C16.6,37.9,18.2,39.5,18.2,41.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Guides" class="st5">
|
||||
<rect x="38.6" class="st8" width="11.3" height="11.3"/>
|
||||
<rect x="51.1" y="5.7" class="st9" width="18.3" height="14.5"/>
|
||||
<text transform="matrix(1 0 0 1 51.0933 6.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Active Notification Indicator </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 8.2833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Use this if your app icon includes </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 9.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">an active notification state</text>
|
||||
<g class="st7">
|
||||
<g>
|
||||
<polyline class="st10" points="46.9,46.1 46.9,47.1 45.9,47.1 "/>
|
||||
<line class="st11" x1="43.9" y1="47.1" x2="5.1" y2="47.1"/>
|
||||
<polyline class="st10" points="4.1,47.1 3.1,47.1 3.1,46.1 "/>
|
||||
<line class="st12" x1="3.1" y1="44.1" x2="3.1" y2="4.8"/>
|
||||
<polyline class="st10" points="3.1,3.8 3.1,2.8 4.1,2.8 "/>
|
||||
<line class="st11" x1="6.1" y1="2.8" x2="44.9" y2="2.8"/>
|
||||
<polyline class="st10" points="45.9,2.8 46.9,2.8 46.9,3.8 "/>
|
||||
<line class="st12" x1="46.9" y1="5.8" x2="46.9" y2="45.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st7">
|
||||
<g>
|
||||
<polyline class="st13" points="44.7,44.3 44.7,45.2 43.8,45.2 "/>
|
||||
<line class="st14" x1="42" y1="45.2" x2="7.1" y2="45.2"/>
|
||||
<polyline class="st13" points="6.2,45.2 5.3,45.2 5.3,44.3 "/>
|
||||
<line class="st15" x1="5.3" y1="42.5" x2="5.3" y2="6.8"/>
|
||||
<polyline class="st13" points="5.3,5.9 5.3,5 6.2,5 "/>
|
||||
<line class="st14" x1="8" y1="5" x2="42.9" y2="5"/>
|
||||
<polyline class="st13" points="43.8,5 44.7,5 44.7,5.9 "/>
|
||||
<line class="st15" x1="44.7" y1="7.8" x2="44.7" y2="43.4"/>
|
||||
</g>
|
||||
</g>
|
||||
<rect x="55.1" y="19.2" class="st9" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 20.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Maximum Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 21.8449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should not exceed this </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 23.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area</text>
|
||||
<rect x="55" y="29.2" class="st9" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 30.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Recommended Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 31.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should be scaled to fit a </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 33.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area of approximately </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 34.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">this size</text>
|
||||
<line class="st16" x1="44.7" y1="29.9" x2="54" y2="29.9"/>
|
||||
<line class="st17" x1="46.9" y1="19.8" x2="53.9" y2="19.8"/>
|
||||
<rect x="-39.8" y="18.4" class="st9" width="33.3" height="23.9"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 19.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">App Icon States and File Naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 21.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">It is necessary to make at least two versions of your app icon, an </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 22.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">idle (white) state and a active (black) state, and if your app </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 24.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">includes an active notification indicator, you will need to also </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 25.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">create an active and idle version with the notification indicator. </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 28.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">To clearly convey theses states, the following naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 30.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">conventions are typically used:</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 33.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle: app-name-i.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 34.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active: app-name-a.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 36.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle with notification: app-name-i-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 37.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active with notification: app-name-a-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 39.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;"> </text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.3 KiB |
BIN
applications/DANCE/Tablet/Assets/DANCE-i.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
129
applications/DANCE/Tablet/Assets/DANCE-i.svg
Normal file
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<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 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;fill:#231F20;}
|
||||
.st1{fill:#FFFFFF;stroke:#231F20;stroke-width:0.3589;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st2{fill:#FFFFFF;}
|
||||
.st3{display:none;fill:#EC1C24;}
|
||||
.st4{display:none;}
|
||||
.st5{display:inline;fill:#EF3B4E;}
|
||||
.st6{display:inline;}
|
||||
.st7{display:inline;fill:none;stroke:#EF3B4E;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2,2;}
|
||||
.st8{display:inline;fill:none;}
|
||||
.st9{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;}
|
||||
.st10{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:1.9884,1.9884;}
|
||||
.st11{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.0127,2.0127;}
|
||||
.st12{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;}
|
||||
.st13{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.7897,1.7897;}
|
||||
.st14{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8269,1.8269;}
|
||||
.st15{display:inline;fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8078,1.8078;}
|
||||
.st16{display:inline;fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.75,2;}
|
||||
</style>
|
||||
<g id="Dance-App-I">
|
||||
<rect class="st0" width="50" height="50"/>
|
||||
<g>
|
||||
<path class="st1" d="M36.5,34c-1.1-0.2-1.4,0.2-1.7,0c-0.5-0.3,1.2-4.4,0.6-5.4s-1.5-1.4-3.8-1.5s-5.8,2.1-5.8,2.1l0,0
|
||||
c0,0,1.6-3.8,1.1-6.4l-0.1-0.5H27c1,0,5.2,0,6.1-0.9c1.1-0.9,1.1-4,1.1-4s0.9,0.1,1.8-0.1c0.9-0.2,2-0.9,1-2.2s-2-1.3-2.9-1.3
|
||||
s-2.8,0.1-3.1,1.7c-0.3,1.6,0.1,3.2,0.1,3.2h-3.4l-0.1,0.4c-0.1,0-0.1,0-0.2,0c1.3-2.5,0.9-6.2-3.7-6.2c-5,0-4.8,3.9-3.9,6.3h-0.1
|
||||
l-0.2-0.5c0,0-6-0.9-6.9,0.4s-0.6,4.1,0,6.3c0,0-2.9-0.9-2.9,1.7s4.5,1.1,4.5,1.1s2.1-0.8,0.6-5.9c0.9,0.6,2.2,0.6,3.8,0.3
|
||||
c-0.8,4.3-0.9,9.2,1.4,11.3c0,0-2.7,3.9-3.4,5.2c-0.4,0.7-2.5,2-2,2.7c0.8,1.6,6.9,3.9,7.8,3.4c0,0,1.7-1.5,0.1-3.2
|
||||
c-1.4-1.5-2.6-1.8-2.6-1.8s4.4-2.8,4.7-3.9c0,0,0.4-1.1-0.2-2.7l0.1-0.1c0.7-0.2,6.4-2.1,6.5-2.2s0,1.8-0.2,2.3
|
||||
c-0.2,0.6-1,2.4-0.8,2.7s2.1,0.7,3.4,0.8s3.7,0.6,4,0.5C37.8,37.4,38.4,34.5,36.5,34z"/>
|
||||
</g>
|
||||
<polygon class="st2" points="19.8,12.6 21.1,11.9 19.7,9.3 18.3,10.1 "/>
|
||||
<path class="st2" d="M22.2,9.4c-0.3,0.8-0.1,2.3-0.1,2.3l1.7-0.3c0,0-0.2-1-0.1-1.5s1.9-4.1,1.9-4.1L24.4,5
|
||||
C24.4,5,22.5,8.6,22.2,9.4z"/>
|
||||
<path class="st2" d="M29,7.2c0,0-3.2,2.6-3.8,3c-0.5,0.4-0.5,1.4-0.5,1.4l1.6,0.3c0,0,0.1-0.4,0.3-0.8s3.1-2.6,3.1-2.6L29,7.2z"/>
|
||||
<path class="st2" d="M30.2,10.4c0,0-1.3,0.6-1.9,0.8s-1,1-1,1l1.2,1.1c0,0,0.2-0.3,0.4-0.6c0.2-0.3,2.1-0.9,2.1-0.9L30.2,10.4z"/>
|
||||
<circle class="st3" cx="58.7" cy="-7.6" r="3.9"/>
|
||||
</g>
|
||||
<g id="Art" class="st4">
|
||||
<circle class="st5" cx="44.1" cy="5.7" r="5.6"/>
|
||||
<g class="st6">
|
||||
<path d="M18,33c0.4,0,0.6,0,0.9,0c6.5,0,13,0,19.5,0c1.3,0,2,0.5,2.2,1.5c0.2,1.1-0.5,2.2-1.6,2.3c-0.2,0-0.5,0-0.7,0
|
||||
c-7.4,0-14.8,0-22.3,0c-2,0-2.7-0.9-2.2-2.9c0.3-1.1,0.5-2.3,0.8-3.4c0.3-0.9,0.2-1.8,0-2.8c-1.5-6.1-3.1-12.2-4.6-18.3
|
||||
C9.8,8.9,9.6,8.7,9.1,8.7c-1.3,0-2.6,0-3.9,0c-1.2,0-2-0.8-2-1.9s0.8-1.9,2-1.9c2,0,3.9,0,5.9,0c1.1,0,1.7,0.5,2,1.5
|
||||
c0.4,1.3,1.6,4.8,1.9,6.2c2.2,0.1,4.3,0.2,6.5,0.3c6.7,0.3,11.4,0.4,18.1,0.7c1.2,0.1,2.3,0.1,3.5,0.2c1.4,0.1,2.2,1.4,1.6,2.6
|
||||
c-0.9,2.5-3.5,8.5-4.4,10.4c-0.4,0.8-1,1.1-1.9,1.2c-5.9,0.3-12.5,0.5-18.4,0.7c-0.8,0-1.2,0.3-1.3,1.1C18.8,30.3,18.1,32.5,18,33
|
||||
z"/>
|
||||
<path d="M39.6,41.6c0,1.9-1.6,3.6-3.5,3.6c-2,0-3.6-1.6-3.6-3.6c0-1.9,1.6-3.6,3.6-3.6C38,38.1,39.6,39.7,39.6,41.6z"/>
|
||||
<path d="M18.2,41.5c0,1.9-1.7,3.5-3.6,3.5s-3.5-1.7-3.5-3.6c0-2,1.6-3.6,3.6-3.6C16.6,37.9,18.2,39.5,18.2,41.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Guides" class="st4">
|
||||
<rect x="38.6" class="st7" width="11.3" height="11.3"/>
|
||||
<rect x="51.1" y="5.7" class="st8" width="18.3" height="14.5"/>
|
||||
<text transform="matrix(1 0 0 1 51.0933 6.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Active Notification Indicator </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 8.2833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Use this if your app icon includes </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 9.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">an active notification state</text>
|
||||
<g class="st6">
|
||||
<g>
|
||||
<polyline class="st9" points="46.9,46.1 46.9,47.1 45.9,47.1 "/>
|
||||
<line class="st10" x1="43.9" y1="47.1" x2="5.1" y2="47.1"/>
|
||||
<polyline class="st9" points="4.1,47.1 3.1,47.1 3.1,46.1 "/>
|
||||
<line class="st11" x1="3.1" y1="44.1" x2="3.1" y2="4.8"/>
|
||||
<polyline class="st9" points="3.1,3.8 3.1,2.8 4.1,2.8 "/>
|
||||
<line class="st10" x1="6.1" y1="2.8" x2="44.9" y2="2.8"/>
|
||||
<polyline class="st9" points="45.9,2.8 46.9,2.8 46.9,3.8 "/>
|
||||
<line class="st11" x1="46.9" y1="5.8" x2="46.9" y2="45.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st6">
|
||||
<g>
|
||||
<polyline class="st12" points="44.7,44.3 44.7,45.2 43.8,45.2 "/>
|
||||
<line class="st13" x1="42" y1="45.2" x2="7.1" y2="45.2"/>
|
||||
<polyline class="st12" points="6.2,45.2 5.3,45.2 5.3,44.3 "/>
|
||||
<line class="st14" x1="5.3" y1="42.5" x2="5.3" y2="6.8"/>
|
||||
<polyline class="st12" points="5.3,5.9 5.3,5 6.2,5 "/>
|
||||
<line class="st13" x1="8" y1="5" x2="42.9" y2="5"/>
|
||||
<polyline class="st12" points="43.8,5 44.7,5 44.7,5.9 "/>
|
||||
<line class="st14" x1="44.7" y1="7.8" x2="44.7" y2="43.4"/>
|
||||
</g>
|
||||
</g>
|
||||
<rect x="55.1" y="19.2" class="st8" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 20.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Maximum Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 21.8449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should not exceed this </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 23.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area</text>
|
||||
<rect x="55" y="29.2" class="st8" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 30.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Recommended Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 31.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should be scaled to fit a </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 33.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area of approximately </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 34.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">this size</text>
|
||||
<line class="st15" x1="44.7" y1="29.9" x2="54" y2="29.9"/>
|
||||
<line class="st16" x1="46.9" y1="19.8" x2="53.9" y2="19.8"/>
|
||||
<rect x="-39.8" y="18.4" class="st8" width="33.3" height="23.9"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 19.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">App Icon States and File Naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 21.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">It is necessary to make at least two versions of your app icon, an </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 22.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">idle (white) state and a active (black) state, and if your app </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 24.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">includes an active notification indicator, you will need to also </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 25.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">create an active and idle version with the notification indicator. </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 28.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">To clearly convey theses states, the following naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 30.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">conventions are typically used:</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 33.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle: app-name-i.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 34.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active: app-name-a.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 36.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle with notification: app-name-i-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 37.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active with notification: app-name-a-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 39.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;"> </text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.3 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/1.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/10.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/11.jpg
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/12.jpg
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/13.jpg
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/14.jpg
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/15.jpg
Normal file
After Width: | Height: | Size: 7 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/16.jpg
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/17.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/18.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/19.jpg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/2.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/20.jpg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/21.jpg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/22.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/23.jpg
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/24.jpg
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/25.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/26.jpg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/27.jpg
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/28.jpg
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/29.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/3.jpg
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/30.jpg
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/31.jpg
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/32.jpg
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/33.jpg
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/34.jpg
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/35.jpg
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/36.jpg
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/37.jpg
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/38.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/39.jpg
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/4.jpg
Normal file
After Width: | Height: | Size: 6 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/5.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/6.jpg
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/7.jpg
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/8.jpg
Normal file
After Width: | Height: | Size: 6.2 KiB |
BIN
applications/DANCE/Tablet/Assets/Dance-Images/9.jpg
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
applications/DANCE/Tablet/Assets/glyphs/fonts/hifi-glyphs.eot
Normal file
157
applications/DANCE/Tablet/Assets/glyphs/fonts/hifi-glyphs.svg
Normal file
|
@ -0,0 +1,157 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Generated by Fontastic.me</metadata>
|
||||
<defs>
|
||||
<font id="hifi-glyphs" horiz-adv-x="512">
|
||||
<font-face font-family="hifi-glyphs" units-per-em="512" ascent="480" descent="-32"/>
|
||||
<missing-glyph horiz-adv-x="512" />
|
||||
|
||||
<glyph glyph-name="hmd" unicode="b" d="M381 139l-70 0c-18 0-30 17-40 33-4 6-11 16-15 18-4-2-10-12-15-18-11-15-23-33-43-33l-67 0c-53 0-97 42-97 95l0 45c0 53 44 96 97 96l250 0c53 0 96-43 96-96l0-45c0-52-43-95-96-95z m-125 77c16 0 26-15 36-30 5-7 15-22 19-22l70 0c39 0 71 32 71 70l0 45c0 39-32 70-71 70l-250 0c-39 0-71-31-71-70l0-45c0-38 32-70 71-70l67 0c6 0 16 14 22 23 10 14 20 29 35 29 1 0 1 0 1 0z"/>
|
||||
<glyph glyph-name="2d-screen" unicode="c" d="M395 386l-276 0c-33 0-60-28-60-61l0-116c0-33 27-62 60-62l127 0 0-27-80 0c-8 0-14-5-14-13 0-8 7-13 14-13l186 0c7 0 13 5 13 13 0 8-6 13-13 13l-81 0 0 27 124 0c33 0 60 29 60 62l0 116c0 33-27 61-60 61z m32-177c0-18-14-33-32-33l-134 0c-1 0-1 0-2 0-1 0-2 0-2 0l-138 0c-18 0-32 15-32 33l0 116c0 18 14 33 32 33l276 0c18 0 32-15 32-33z"/>
|
||||
<glyph glyph-name="keyboard" unicode="d" d="M375 250l-26 0 0 25 26 0z m-35 0l-27 0 0 25 27 0z m-36 0l-26 0 0 25 26 0z m-36 0l-26 0 0 25 26 0z m-35 0l-27 0 0 25 27 0z m-36 0l-26 0 0 25 26 0z m-36 0l-26 0 0 25 26 0z m225-1l17 0c7 0 13 6 13 13 0 8-6 14-13 14l-18 0m-262 0l-17 0c-7 0-13-6-13-14 0-7 6-13 13-13l18 0m251 39l-31 0 0 25 31 0z m-41 0l-32 0 0 25 32 0z m-42 0l-32 0 0 25 32 0z m-42 0l-32 0 0 25 32 0z m-42 0l-31 0 0 25 31 0z m-41 0l-32 0 0 25 32 0z m219 0l17 0c7 0 13 6 13 13 0 7-6 13-13 13l-18 0m-262 0l-17 0c-7 0-13-6-13-13 0-7 6-13 13-13l18 0m287-124l-315 0c-32 0-59 27-59 60l0 77c0 33 27 60 59 60l315 0c33 0 60-27 60-60l0-77c0-33-27-60-60-60z m-315 171c-18 0-33-15-33-34l0-77c0-19 15-34 33-34l315 0c19 0 34 16 34 34l0 77c0 19-15 34-34 34z m249-99l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m251-25l17 0c7 0 13 6 13 13 0 7-6 13-13 13l-18 0m-262 0l-17 0c-7 0-13-6-13-13 0-7 6-13 13-13l18 0"/>
|
||||
<glyph glyph-name="hand-controllers" unicode="e" d="M141 268l-3 0c-7 0-13 5-13 13 0 7 6 13 13 13l3 0c7 0 13-6 13-13 0-8-6-13-13-13z m28 26l-3 0c-7 0-13 6-13 13 0 7 6 13 13 13l3 0c7 0 13-6 13-13 0-7-6-13-13-13z m-12-169l-11 0c-31 0-50 23-50 60l-10 143c0 34 27 61 60 61l11 0c33 0 60-27 60-60l0-1-10-144c0-36-20-59-50-59z m-11 238c-19 0-34-15-34-34l10-143c0-14 3-35 24-35l11 0c21 0 24 21 24 34l10 144c-1 19-16 34-34 34z m203-69c-7 0-13 5-13 13l0 2c0 8 6 13 13 13 7 0 13-5 13-13l0-2c0-7-6-13-13-13z m27-29c-8 0-13 6-13 13l0 3c0 7 5 13 13 13 7 0 13-6 13-13l0-3c0-7-6-13-13-13z m-11-140l-10 0c-31 0-51 23-51 60l-9 143c0 34 27 61 60 61l10 0c33 0 60-27 60-60l0-1-9-144c0-36-20-59-51-59z m-10 238c-19 0-34-15-34-34l9-143c0-14 4-35 25-35l11 0c21 0 24 21 24 34l9 144c0 19-15 34-33 34z"/>
|
||||
<glyph glyph-name="headphones-mic" unicode="f" d="M419 348l-22 0c-3 48-42 83-89 83l-105 0c-47 0-86-35-89-83l-20 0c-25 0-45-19-45-44l0-71c0-25 20-45 45-45l19 0c1-27 14-50 33-66-3-17 5-35 20-45l41-25c7-4 15-7 23-7 3 0 6 1 10 2 11 2 21 9 27 19 13 21 6 48-14 60l-41 26c-10 6-21 8-33 5-8-2-15-6-20-11-12 11-20 27-20 45l0 152c0 34 29 62 64 62l105 0c35 0 64-28 64-62l0-152c0-1-1-3-1-3l48 0c25 0 46 20 46 45l0 71c0 25-21 44-46 44z m-306-134l-19 0c-10 0-19 9-19 19l0 71c0 10 9 19 19 19l19 0z m61-90c3 4 7 6 11 7 2 1 3 1 4 1 4 0 7-1 9-3l41-25c8-5 11-16 6-24-3-4-7-7-11-8-5-1-10 0-14 2l-40 25c-8 6-11 16-6 25z m264 109c0-10-8-19-19-19l-22 0 0 109 22 0c11 0 19-9 19-19z"/>
|
||||
<glyph glyph-name="gamepad" unicode="g" d="M107 136c-10 0-20 3-29 10-46 37-8 131-4 141l1 1c1 4 3 7 5 11 16 30 37 73 81 73l182 0c51 0 71-47 87-85 5-10 44-101 4-138-28-26-67-1-102 22-21 13-42 26-56 26l-39 0c-13 0-33-13-53-27-25-16-52-34-77-34z m-10 141c-10-24-30-90-3-112 17-13 47 7 76 26 24 16 47 31 67 31l40 0c20 0 44-15 68-30 28-18 59-37 72-25 23 22 0 89-10 110-17 42-31 70-64 70l-182 0c-29 0-45-33-59-60-2-3-3-7-5-10z m247-36l-3 0c-7 0-13 6-13 13 0 7 6 13 13 13l3 0c7 0 13-6 13-13 0-7-6-13-13-13z m0 55l-3 0c-7 0-13 6-13 13 0 7 6 13 13 13l3 0c7 0 13-6 13-13 0-7-6-13-13-13z m-29-29l-2 0c-8 0-13 6-13 13 0 8 5 13 13 13l2 0c8 0 13-5 13-13 0-7-5-13-13-13z m57 0l-3 0c-7 0-13 6-13 13 0 8 6 13 13 13l3 0c7 0 13-5 13-13 0-7-6-13-13-13z m-172 26l-12 0 0 13c0 7-6 13-13 13-7 0-13-6-13-13l0-13-13 0c-7 0-13-6-13-13 0-7 6-13 13-13l13 0 0-12c0-8 6-14 13-14 7 0 13 6 13 14l0 12 12 0c8 0 13 6 13 13 0 7-5 13-13 13z"/>
|
||||
<glyph glyph-name="headphones" unicode="h" d="M141 168l0 152c0 35 28 65 63 65l106 0c34 0 62-30 62-65l0-151c0-1 1-3 0-4l48 0c25 0 47 21 47 46l0 70c0 25-22 45-47 45l-21 0c-4 47-42 83-89 83l-106 0c-47 0-86-36-89-83l-19 0c-25 0-45-20-45-45l0-70c0-25 20-46 45-46l45 0z m-63 43l0 70c0 11 7 19 18 19l19 0 0-108-19 0c-11 0-18 8-18 19z m362 0c0-11-9-19-20-19l-20 0 0 108 20 0c11 0 20-8 20-19z"/>
|
||||
<glyph glyph-name="mic" unicode="i" d="M318 370c0 33-26 59-59 59l-6 0c-33 0-59-26-59-59l0-105c0-33 26-59 59-59l6 0c33 0 59 26 59 59z m-25-103c0-19-15-34-34-34l-7 0c-19 0-34 15-34 34l0 104c0 19 15 34 34 34l7 0c19 0 34-15 34-34z m82 8c0 7-6 13-12 13-7 0-13-6-13-13 0-51-42-93-93-93-52 0-93 42-93 93 0 7-6 13-13 13-7 0-12-6-12-13 0-60 46-110 104-117l0-34-80 0c-8 0-14-6-14-14 0-7 6-13 14-13l186 0c7 0 13 6 13 13 0 8-6 14-13 14l-80 0 0 34c60 6 106 56 106 117z"/>
|
||||
<glyph glyph-name="upload" unicode="j" d="M330 193l-83 86-84-86 52 0 0-141 61 23 0 118z m-12 247c-39 0-76-15-105-41-23-21-40-49-47-80-9 3-19 4-29 4-53 0-97-43-97-97 0-54 44-98 97-98 1 0 19 0 45 0l0 29c-26 0-44 0-45 0-37 0-68 31-68 69 0 37 31 68 68 68 12 0 23-3 34-9l19-11 2 23c3 31 18 59 41 81 23 21 54 33 85 33 70 0 127-57 127-127 0-70-57-127-127-127 0 0-5 0-10 0l0-29c5 0 10 0 10 0 86 0 156 70 156 156 0 86-70 156-156 156z"/>
|
||||
<glyph glyph-name="script" unicode="k" d="M283 80l-150 0c-30 0-56 15-73 44-13 21-17 42-17 42l-3 15 91 0 0 252 315 0 0-238c1-7 5-58-21-87-13-14-29-21-50-21-42 0-63 23-73 41-6 11-9 21-10 29l-220 0c2-6 5-13 9-20 13-21 31-32 52-32l150 0c7 0 13-6 13-13 0-6-6-12-13-12z m-127 101l158 0 1-12c0 0 1-15 9-30 10-18 27-28 51-28 13 0 23 5 31 13 10 11 14 29 15 42 1 15 0 27 0 27l0 1 0 214-265 0z m225 168l-185 0c-8 0-14 6-14 13 0 8 6 14 14 14l185 0c8 0 14-6 14-14 0-7-6-13-14-13z m0-61l-185 0c-8 0-14 7-14 14 0 8 6 14 14 14l185 0c8 0 14-6 14-14 0-7-6-14-14-14z m0-60l-185 0c-8 0-14 6-14 14 0 7 6 13 14 13l185 0c8 0 14-6 14-13 0-8-6-14-14-14z"/>
|
||||
<glyph glyph-name="text" unicode="l" d="M220 134l-81 232c-1 2-3 4-6 4l-10 0c-3 0-5-2-6-4l-83-233c-1-2 0-5 1-7 1-1 3-3 6-3l16 0c3 0 5 3 6 5l27 79 74 0 27-79c1-2 4-5 7-5l16 0c2 0 4 2 5 4 2 1 2 4 1 7z m-120 102l26 73c1 2 1 3 2 5 0-2 1-3 2-4l24-74z m252 60c-10 12-25 18-44 18-17 0-35-5-53-14-3-2-4-6-3-9l5-14c1-2 2-3 4-4 2-1 4 0 6 1 14 8 28 12 41 12 11 0 19-3 23-10 5-7 8-18 8-33l0-4-23-1c-25 0-44-6-58-16-14-11-21-26-21-45 0-17 4-31 14-40 10-10 23-16 40-16 12 0 23 3 32 8 6 4 11 8 17 14l1-13c1-4 4-7 7-7l10 0c4 0 8 4 8 8l0 115c0 23-5 39-14 50z m-87-119c0 11 4 19 11 24 8 5 22 9 42 10l19 1 0-10c0-17-4-30-12-39-8-9-19-13-33-13-9 0-16 2-20 7-5 4-7 11-7 20z m186-105c-10 0-15 8-15 18 0 22 0 298 0 320 0 10 5 19 15 19 0 0 0 0 0 0 10 0 15-8 15-18 1-22 1-299 1-321 0-10-6-18-16-18 0 0 0 0 0 0z"/>
|
||||
<glyph glyph-name="cube" unicode="m" d="M452 421l-263 26c-3 0-6 0-8-2l0 0-126-88c-1-1-1-1-1-1-3-3-4-7-4-10l0-263c0-7 5-12 12-13l262-26c0 0 1 0 1 0 3 0 5 1 8 2l126 89c0 0 0 0 0 1 3 2 4 6 4 9l0 263c0 7-5 12-11 13z m-22-274l-2-1c0 0 0 0 0-1 0 0 0 0 0 0l-89-62 0 230 98 69 0-222c-1-6-2-9-7-13z m-227 272l211-21-92-65-222 22 86 61c1 0 1 0 1 0 0 0 0 0 0 0 3 2 7 4 11 4 2 0 4-1 5-1z m110-347l-237 23 0 236 237-23z"/>
|
||||
<glyph glyph-name="sphere" unicode="n" d="M418 415c-91 91-237 91-327 0-44-43-68-101-68-163 0-62 24-120 68-164 45-45 104-67 163-67 59 0 119 22 164 67 43 44 68 102 68 164-1 62-25 120-68 163z m-305-22c30 30 67 49 106 55-8-11-14-26-20-44-13-41-20-96-20-154 0-3 0-7 0-10 6-1 12-2 19-3 2 0 4 0 6 0 0 4 0 8 0 13 0 117 30 193 52 200 1 0 1 1 1 1 51 0 100-20 138-58 37-37 58-85 59-137-5-22-82-53-200-53-116 0-192 29-200 52 1 52 22 101 59 138z m283-283c-40-39-92-59-144-58-14 9-30 43-40 97l-25 1c3-19 7-39 12-54 5-16 11-30 17-40-38 7-74 25-103 54-30 30-49 67-56 107 11-7 25-13 42-18 42-14 97-21 155-21 58 0 113 7 154 21 18 5 32 12 43 19-7-41-26-78-55-108z"/>
|
||||
<glyph glyph-name="zone" unicode="o" d="M381 372c-3 7-9 11-17 11l-72 0 0-34 30 0-163-163 0 36-36 0 0-79 1 0c0-2 1-4 2-6 2-7 9-11 16-11l83 0 0 35-41 0 162 161 0-25 35 0 0 62c1 4 1 9 0 13z m-43-298c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-21-22-21-12 0-22 9-22 21z m-71 0c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-21-21-21-12 0-22 9-22 21z m-72 0c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-21-22-21-12 0-22 9-22 21z m-71 0c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-21-21-21-12 0-22 9-22 21z m-50-21c-6 0-11 2-15 6-4 4-7 10-7 15 0 6 3 12 7 16 4 4 9 6 15 6 6 0 11-2 15-6 4-4 7-10 7-16 0-5-2-11-7-15-4-4-9-6-15-6z m-22 93c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-22-22-22-12 0-22 10-22 22z m0 71c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-21-22-21-12 0-22 9-22 21z m0 72c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-22-22-22-12 0-22 10-22 22z m0 71c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-21-22-21-12 0-22 9-22 21z m286 72c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-22-22-22-12 0-22 10-22 22z m-71 0c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-22-21-22-12 0-22 10-22 22z m-72 0c0 12 10 22 22 22 12 0 22-10 22-22 0-12-10-22-22-22-12 0-22 10-22 22z m-71 0c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-22-21-22-12 0-22 10-22 22z m308-22c-6 0-12 3-16 7-4 4-6 9-6 15 0 6 2 11 6 15 4 4 10 7 16 7 5 0 11-3 15-7 4-4 6-9 6-15 0-6-2-11-6-15-4-4-10-7-15-7z m-22-264c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-22-21-22-12 0-22 10-22 22z m0 71c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-21-21-21-12 0-22 9-22 21z m0 72c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-22-21-22-12 0-22 10-22 22z m0 71c0 12 10 22 22 22 12 0 21-10 21-22 0-12-9-21-21-21-12 0-22 9-22 21z"/>
|
||||
<glyph glyph-name="light" unicode="p" d="M298 259c0-21-18-38-39-38-21 0-38 17-38 38 0 22 17 39 38 39 21 0 39-17 39-39z m-39-109c-60 0-109 49-109 109 0 61 49 110 109 110 61 0 110-49 110-110 0-60-50-109-110-109z m0 190c-44 0-80-36-80-81 0-44 36-80 80-80 45 0 81 36 81 80 0 45-36 81-81 81z m155-97c-8 0-14 7-14 15 0 8 6 14 14 14 17 0 35 0 52 0 0 0 0 0 0 0 8 0 14-6 14-14 0-8-6-14-14-14-17 0-35 0-52-1 0 0 0 0 0 0z m-308 0c-17 1-35 1-52 1-8 0-14 6-14 14 0 8 7 14 14 14 0 0 0 0 1 0 17 0 34 0 51 0 8 0 14-7 14-14 0-8-6-15-14-15z m263 109c-3 0-7 2-10 5-5 5-5 14 0 20 12 12 24 24 36 36 6 6 15 6 21 1 5-6 5-15 0-21-12-12-25-24-37-36-3-3-6-5-10-5z m-255-254c-3 0-7 2-10 5-5 5-5 14 0 20 13 12 25 24 37 36 6 5 15 5 20 0 6-6 6-15 0-20-12-13-24-25-37-37-2-2-6-4-10-4z m146 300c-8 0-14 6-14 14 0 17 0 34 0 52 0 7 6 14 14 14 0 0 0 0 0 0 8 0 14-6 14-14 0-18 1-35 1-52 0-8-7-14-15-14z m0-360c0 0 0 0 0 0-8 0-14 6-14 14 0 17 0 35 0 52 0 8 6 14 14 14 0 0 0 0 0 0 8 0 15-7 15-14 0-18-1-35-1-52 0-8-6-14-14-14z m-109 315c-3 0-7 1-10 4-12 12-24 24-36 36-6 6-6 15-1 20 6 6 15 6 21 0 12-12 24-24 36-36 6-6 6-15 0-20-2-3-6-4-10-4z m254-255c-3 0-7 1-10 4-12 12-24 25-36 37-5 6-5 15 0 20 6 6 15 6 20 0 13-12 25-25 37-37 5-5 5-14-1-20-2-3-6-4-10-4z"/>
|
||||
<glyph glyph-name="web" unicode="q" d="M438 390c0 8-6 15-14 15l-333 0c-8 0-15-7-15-15l0-298c0-8 7-14 15-14l333 0c8 0 14 6 14 14z m-219-8l172 0c8 0 15-7 15-16 0-9-7-16-15-16l-172 0c-8 0-15 7-15 16 0 9 7 16 15 16z m-47 1c9 0 16-7 16-16 0-10-7-17-16-17-10 0-17 7-17 17 0 9 7 16 17 16z m-51 0c9 0 17-7 17-16 0-10-8-17-17-17-9 0-17 7-17 17 0 9 8 16 17 16z m291-276l-308 0 0 219 308 0z m-250 84l-15 0-20 60 13 0 14-45 15 45 13 0 15-45 14 45 13 0-20-60-14 0-14 41z m137 25l-46 0c0-5 2-8 6-11 3-2 8-4 12-4 8 0 13 3 17 7l7-8c-6-6-14-9-25-9-8 0-15 2-21 8-6 5-9 13-9 22 0 9 3 17 9 22 6 6 13 9 21 9 8 0 15-3 21-8 6-5 8-11 8-20z m-46 9l34 0c0 5-2 9-5 12-3 3-7 4-11 4-5 0-9-1-13-4-3-3-5-7-5-12z m101 27c8 0 14-3 20-9 6-5 9-12 9-22 0-9-3-16-9-22-5-6-12-8-19-8-8 0-15 3-21 9l0-9-12 0 0 83 12 0 0-34c5 8 12 12 20 12z m-20-31c0-6 2-10 5-14 4-4 8-5 13-5 5 0 9 1 13 5 3 4 5 8 5 14 0 6-2 10-5 14-4 4-8 6-13 6-5 0-9-2-13-6-3-4-5-8-5-14z"/>
|
||||
<glyph glyph-name="web-2" unicode="r" d="M438 390c0 8-6 15-14 15l-333 0c-8 0-15-7-15-15l0-298c0-8 7-14 15-14l333 0c8 0 14 6 14 14z m-219-8l172 0c8 0 15-7 15-16 0-9-7-16-15-16l-172 0c-8 0-15 7-15 16 0 9 7 16 15 16z m-47 1c9 0 16-7 16-16 0-10-7-17-16-17-10 0-17 7-17 17 0 9 7 16 17 16z m-51 0c9 0 17-7 17-16 0-10-8-17-17-17-9 0-17 7-17 17 0 9 8 16 17 16z m291-276l-308 0 0 219 308 0z"/>
|
||||
<glyph glyph-name="edit" unicode="s" d="M196 214c-27-27-54-54-81-81-6 6-13 13-19 19 27 27 54 54 81 81l-22 21c-31-31-61-62-92-92-7-7-11-13-12-22-3-25-7-50-11-76 3 0 4 0 6 0 24 5 48 10 72 15 5 1 10 4 13 7 32 32 64 64 96 96z m126 207c10 10 21 21 33 32 4 4 10 4 14 0 19-19 38-38 57-57 4-5 4-10 0-15-11-11-22-22-34-33-23 24-46 48-70 73z m23-181c-5-1-8 0-11 3-8 8-15 15-23 23 18 18 37 37 55 55 2 2 4 4 4 4-24 25-47 49-71 74-2-2-3-4-5-6-18-18-37-37-55-55-34 34-67 67-101 101-2 2-5 5-8 7-18 14-42 12-57-5-15-17-14-42 2-58 50-51 101-101 151-151 17-16 33-33 50-49 2-3 3-5 2-8-2-8-4-15-4-23-4-48 27-90 73-102 20-5 39-4 58 4-1 2-3 3-5 4-14 14-28 28-42 42-10 11-11 26-2 36 8 8 16 16 24 24 11 10 24 10 35 0 2-1 4-4 6-6 15-14 29-28 43-42 0 0 1 0 2 1 1 8 3 16 4 24 7 69-59 123-125 103z m-243 162c-7 0-14 6-14 14 0 8 6 14 14 14 8 0 15-6 15-14 0-7-7-14-15-14z m198-46c6-6 13-12 19-19-13-13-26-26-39-39-7 6-13 12-20 19 14 13 27 26 40 39z"/>
|
||||
<glyph glyph-name="directory" unicode="u" d="M432 451l-99-38c-2 0-3-1-4-1-3 1-5 2-8 2l-116 38c-8 3-15 6-30-1l-91-35c-17-5-32-16-32-31l0-303c0-15 14-27 32-27l99 38c3 1 6 2 9 4 1-1 3-2 4-2 3-1 5-2 7-3 0 0 1 0 1-1 0 0 1 0 1 0l116-38 0 0c8-1 12-1 21 3l90 34c13 6 32 16 32 31l0 304c0 14-14 26-32 26z m-351-371c-1 0-1 1-1 2l0 303c0 2 5 6 14 9l1 0 1 1 89 34c1-1 0-1 0-2l0-303c0-1-3-4-16-10z m356 42c-1-2-5-5-17-11l-90-34c0 1-1 1-1 2l0 304c0 1 5 5 14 8l1 0 1 1 91 34c0 0 1-1 1-1z"/>
|
||||
<glyph glyph-name="menu" unicode="v" d="M257 22c-60 0-119 22-164 67-44 44-68 102-68 164 0 62 24 120 68 163 90 91 237 91 327 0 44-43 68-101 68-163 0-62-24-120-68-164-45-45-104-67-163-67z m0 431c-52 0-103-20-142-59-38-38-58-88-58-141 0-54 20-104 58-142 78-78 205-78 283 0 38 38 59 88 59 142 0 53-21 103-59 141-39 39-90 59-141 59z m101-133l-203 0c-8 0-15 7-15 15 0 8 7 15 15 15l203 0c8 0 14-7 14-15 0-8-6-15-14-15z m0-84l-203 0c-8 0-15 7-15 15 0 8 7 15 15 15l203 0c8 0 14-7 14-15 0-8-6-15-14-15z m0-81l-203 0c-8 0-15 7-15 15 0 8 7 14 15 14l203 0c8 0 14-6 14-14 0-8-6-15-14-15z"/>
|
||||
<glyph glyph-name="close" unicode="w" d="M258 19c-59 0-118 23-163 68-44 43-68 101-68 163 0 62 24 120 68 164 90 90 237 90 327 0 44-44 68-102 68-164 0-62-24-120-68-163-45-45-104-68-164-68z m0 431c-51 0-102-19-141-58-38-38-59-88-59-142 0-53 21-103 59-141 78-78 205-78 283 0 38 38 58 88 58 141 0 54-20 104-58 142-39 39-90 58-142 58z m25-200l67 67c7 7 7 18 0 25-7 7-18 7-25 0l-67-67-66 67c-7 7-18 7-25 0-7-7-7-18 0-25l66-67-66-66c-7-7-7-18 0-25 7-7 18-7 25 0l66 66 67-66c7-7 18-7 25 0 7 7 7 18 0 25z"/>
|
||||
<glyph glyph-name="close-inverted" unicode="x" d="M400 388c-39 39-90 59-142 59-51 0-102-20-141-59-38-37-59-88-59-141 0-53 21-104 59-141 78-78 205-78 283 0 38 37 58 88 58 141 0 53-20 104-58 141z m-45-208c8-9 8-22 0-30-8-8-21-8-29 0l-68 67-67-67c-8-8-21-8-29 0-9 8-9 21 0 30l67 67-67 67c-9 8-9 22 0 30 8 8 21 8 29 0l67-68 68 68c8 8 21 8 29 0 8-9 8-22 0-30l-67-67z"/>
|
||||
<glyph glyph-name="pin" unicode="y" d="M304 144c1 16-2 31-8 45l97 115 25-8c14-4 29 2 36 14 8 13 6 29-5 39l-116 116c-10 11-26 13-39 5-12-8-18-23-13-37l8-25-115-102c-33 11-72 2-98-24-12-12-12-33 0-45l65-65-83-82c-6-7-6-17 0-23 6-6 16-6 23 0l82 83 66-66c13-13 33-13 45 0 17 17 28 38 30 60z m-205 115c21 22 55 26 81 9l145 130-14 45 116-116-45 13-126-149c25-28 18-62-4-85z"/>
|
||||
<glyph glyph-name="pin-inverted" unicode="z" d="M297 160c2 14 0 27-6 39l92 106 21-5c13-4 26 2 33 13 8 12 6 26-3 35l-98 99c-9 8-24 10-35 2-11-7-17-21-13-33l6-22-106-96c-30 9-64 0-88-24-12-12-13-30-2-41l55-55-77-76c-5-6-6-15-1-20 6-6 15-5 20 1l77 76 56-56c11-11 29-10 41 2 15 15 25 35 28 55z"/>
|
||||
<glyph glyph-name="resize-handle" unicode="A" d="M262 175l70 71c7 7 18 7 25 0 7-7 7-18 0-25l-70-71c-7-7-18-7-25 0-7 7-7 18 0 25m-101 0l175 175c7 7 18 7 25 0 7-7 7-18 0-25l-175-175c-7-7-18-7-25 0-7 7-7 18 0 25"/>
|
||||
<glyph glyph-name="diclosure-expand" unicode="B" d="M239 187c-3 0-6 1-8 3-5 5-5 12 0 17l42 42-43 44c-5 4-5 12 0 17 4 4 12 4 17 0l60-61-60-59c-2-2-5-3-8-3z"/>
|
||||
<glyph glyph-name="reload-small" unicode="a" d="M334 253c-9 0-18-7-18-16-3-27-25-47-52-47-29 0-52 24-52 52 0 11 2 27 14 38 6 5 14 9 24 12-5-7-4-16 2-22 3-3 8-4 12-4 5 0 9 1 13 5l28 28c1 2 3 4 3 7 3 6 1 13-3 18l-29 29c-3 3-7 5-12 5-5 0-9-2-12-5-4-3-5-8-5-12 0-5 1-9 5-13l0 0c-20-3-37-11-50-23-16-16-25-38-25-63 0-47 39-86 86-86 45 0 82 33 87 78 1 9-6 18-16 19z"/>
|
||||
<glyph glyph-name="close-small" unicode="C" d="M291 259l43 44c8 7 8 19 0 27-7 7-19 7-26 0l-44-44-44 44c-7 7-19 7-26 0-8-8-8-20 0-27l43-44-43-43c-8-8-8-20 0-27 7-7 19-7 26 0l44 44 44-44c7-7 19-7 26 0 8 8 8 19 0 27z"/>
|
||||
<glyph glyph-name="minimize" unicode="I" d="M154 282l198 0c10 0 18-8 18-18 0-10-8-18-18-18l-198 0c-10 0-18 8-18 18 0 10 8 18 18 18"/>
|
||||
<glyph glyph-name="maximize" unicode="J" d="M157 244l77 0 0-75c0-9 8-17 17-17 9 0 17 8 17 17l0 75 75 0c10 0 17 8 17 17 0 10-7 18-17 18l-75 0 0 76c0 10-8 17-17 17-9 0-17-7-17-17l0-76-77 0c-10 0-17-8-17-18 0-9 8-17 17-17z"/>
|
||||
<glyph glyph-name="maximize-inverted" unicode="K" d="M251 434c-96 0-173-78-173-173 0-96 77-173 173-173 95 0 173 77 173 173 0 95-78 173-173 173z m93-190l-77 0 0-76c0-10-7-17-16-17-9 0-16 7-16 17l0 76-77 0c-10 0-17 8-17 17 0 9 7 17 17 17l77 0 0 76c0 9 7 17 16 17 9 0 16-8 16-17l0-76 77 0c9 0 17-8 17-17 0-9-8-17-17-17z"/>
|
||||
<glyph glyph-name="disclosure-button-expand" unicode="L" d="M264 202l-60 59c-4 5-4 12 0 17 5 4 13 4 17 0l43-43 43 44c4 4 12 4 17 0 4-5 4-13 0-17z m90-79l-188 0c-16 0-29 13-29 29l0 188c0 16 13 29 29 29l188 0c16 0 29-13 29-29l0-188c0-16-13-29-29-29z m-188 222c-3 0-5-2-5-5l0-188c0-3 2-5 5-5l188 0c3 0 5 2 5 5l0 188c0 3-2 5-5 5z"/>
|
||||
<glyph glyph-name="disclosure-button-collapse" unicode="M" d="M264 290l-60-59c-4-5-4-12 0-17 5-4 13-4 17 0l43 43 43-44c4-4 12-4 17 0 4 5 4 13 0 17z m119 50l0-188c0-16-13-29-29-29l-188 0c-16 0-29 13-29 29l0 188c0 16 13 29 29 29l188 0c16 0 29-13 29-29z m-29-193c3 0 5 2 5 5l0 188c0 3-2 5-5 5l-188 0c-3 0-5-2-5-5l0-188c0-3 2-5 5-5z"/>
|
||||
<glyph glyph-name="script-stop" unicode="N" d="M298 79l-145 0c-29 0-54 14-71 42-13 20-17 41-17 41l-3 16 267 0 1-13c0 0 1-15 9-29 9-17 26-26 48-26 13 0 23 4 30 12 16 18 16 54 15 66l0 1 0 205-270 0c-7 0-13 7-13 14 0 7 6 14 13 14l294 0 0-232c1-7 5-57-20-86-13-13-29-20-49-20-41 0-61 22-71 41-6 9-9 18-10 27l-211 0c2-7 5-12 9-18 12-20 29-31 49-31l145 0c8 0 13-5 13-12 0-7-5-12-13-12z m95 258l-112 0c-7 0-14 7-14 14 0 8 7 15 14 15l112 0c8 0 14-7 14-15 0-8-6-14-14-14z m0-58l-143 0c-7 0-14 6-14 14 0 8 7 14 14 14l143 0c8 0 14-6 14-14 0-8-6-14-14-14z m0-58l-112 0c-7 0-14 6-14 14 0 8 7 14 14 14l112 0c8 0 14-6 14-14 0-8-6-14-14-14z m-204 72l42 42c7 7 7 19 0 26-7 7-18 7-25 0l-43-42-42 42c-7 7-18 7-26 0-7-7-7-19 0-26l43-42-43-42c-7-7-7-19 0-26 8-7 19-7 26 0l42 42 43-42c7-7 18-7 25 0 7 7 7 19 0 26z"/>
|
||||
<glyph glyph-name="script-reload" unicode="O" d="M236 295c-10 1-18-6-19-15-2-26-24-45-50-45-28 0-50 22-50 50 0 10 2 25 14 36 5 6 13 10 23 12-4-7-4-15 2-21 3-3 7-5 12-5 4 0 9 2 12 5l27 28c1 2 3 4 3 6 3 7 2 14-3 18l-28 28c-3 3-7 5-11 5-5 0-9-2-12-5-3-3-5-7-5-12 0-4 2-9 5-12l1-1c-20-2-37-10-49-22-16-14-25-36-25-60 0-46 38-84 84-84 43 0 79 33 83 76 1 9-5 17-14 18z m62-216l-145 0c-30 0-55 15-72 43-12 20-16 40-16 41l-3 15 267 0 0-12c0 0 1-15 9-29 10-18 26-26 49-26 13 0 22 4 29 11 16 19 16 55 14 67l0 1 0 207-215 0c-7 0-12 5-12 12 0 8 5 13 12 13l241 0 0-231c1-7 5-57-21-86-12-13-28-20-48-20-41 0-62 22-72 40-5 10-8 20-10 27l-210 0c2-5 5-11 8-17 13-20 29-29 50-29l145 0c7 0 13-6 13-14 0-7-6-13-13-13z m95 259l-139 0c-8 0-14 6-14 14 0 8 6 14 14 14l139 0c7 0 14-6 14-14 0-8-7-14-14-14z m0-58l-103 0c-7 0-14 6-14 14 0 8 7 14 14 14l103 0c7 0 14-6 14-14 0-8-7-14-14-14z m0-58l-111 0c-7 0-14 6-14 14 0 8 7 14 14 14l111 0c7 0 14-6 14-14 0-8-7-14-14-14z"/>
|
||||
<glyph glyph-name="script-run" unicode="P" d="M209 309l-79 60c-5 3-11 4-16 1-4-2-8-7-8-13l0-126c0-6 4-11 9-14 2-1 4-1 6-1 3 0 7 1 9 3l80 68c3 3 5 7 5 11 0 5-2 9-6 11m89-232l-145 0c-30 0-55 16-72 44-12 20-16 40-16 41l-3 16 267 0 0-13c0 0 1-14 9-29 10-17 26-26 49-26 13 0 22 4 29 12 16 18 16 54 14 66l0 1 0 206-269 0c-7 0-13 6-13 13 0 7 6 13 13 13l295 0 0-230c1-8 5-57-21-86-12-14-28-21-48-21-41 0-62 23-72 41-5 10-8 19-10 28l-210 0c2-7 5-12 8-18 13-20 29-31 50-31l145 0c7 0 13-7 13-14 0-7-6-13-13-13z m95 261l-180 0c-7 0-14 6-14 14 0 8 7 14 14 14l180 0c7 0 14-6 14-14 0-8-7-14-14-14z m0-59l-135 0c-8 0-14 7-14 15 0 7 6 14 14 14l135 0c7 0 14-7 14-14 0-8-7-15-14-15z m0-58l-180 0c-7 0-14 7-14 14 0 8 7 15 14 15l180 0c7 0 14-7 14-15 0-8-7-14-14-14z"/>
|
||||
<glyph glyph-name="script-new" unicode="Q" d="M298 80l-145 0c-30 0-55 15-72 43-12 20-16 40-16 41l-3 16 267 0 0-12c0-1 1-15 9-29 10-18 26-27 49-27 13 0 22 4 29 12 16 18 16 54 14 66l0 1 0 206-269 0c-7 0-13 6-13 13 0 7 6 13 13 13l295 0 0-230c1-8 5-57-21-86-12-14-28-21-48-21-41 0-62 23-72 41-5 10-8 19-10 28l-210 0c2-7 5-12 8-18 13-20 29-30 50-30l145 0c7 0 13-7 13-14 0-7-6-13-13-13z m95 260l-180 0c-7 0-14 6-14 14 0 8 7 14 14 14l180 0c7 0 14-6 14-14 0-8-7-14-14-14z m0-59l-135 0c-8 0-14 7-14 15 0 7 6 14 14 14l135 0c7 0 14-7 14-14 0-8-7-15-14-15z m0-58l-180 0c-7 0-14 7-14 14 0 8 7 15 14 15l180 0c7 0 14-7 14-15 0-7-7-14-14-14z m-250 90l0 53c0 9-7 16-16 16-9 0-16-7-16-16l0-53-54 0c-9 0-16-8-16-17 0-9 8-17 16-17l54 0 0-53c0-9 7-16 16-16 9 0 16 8 16 17l0 52 54 0c9 0 16 8 16 17 0 9-8 16-17 16z"/>
|
||||
<glyph glyph-name="hifi-forum" unicode="2" d="M265 410c-83 0-150-68-150-150 0-24 6-47 16-67l-27-79 80 20c23-16 51-25 81-25 83 0 150 68 150 150 0 83-67 151-150 151z m38-248c-9 0-17 7-17 17 0 7 4 14 12 16l0 46-74 33 0-56c7-2 12-8 12-16 0-10-7-18-17-18-10 0-19 8-19 18 0 7 6 13 10 16l0 111c-4 2-10 9-10 16 0 10 9 17 19 17 9 0 17-7 17-17 0-8-5-14-12-16l0-41 74-33 0 51c-8 3-12 9-12 16 0 10 7 18 17 18 10 0 17-8 17-18 0-7-5-14-12-16l0-110c7-3 12-9 12-17 0-10-7-17-17-17z"/>
|
||||
<glyph glyph-name="hifi-logo-small" unicode="S" d="M374 374c-32 32-74 49-119 49-46 0-88-17-120-49-32-32-49-74-49-119 0-45 17-87 49-118 32-32 74-49 119-49 45 0 88 17 119 49 32 32 49 73 49 118 1 45-17 87-48 119z m-17-221c-28-28-65-43-103-43-39 0-75 15-103 43-27 27-42 64-42 102 0 39 15 75 42 103 28 28 64 43 103 43 38 0 75-15 103-43 27-28 42-64 42-103 0-39-15-76-42-102z m-145 47c-5 0-9 3-9 6l0 126c0 3 4 7 9 7 6 0 10-4 10-7l0-125c0-4-4-7-10-7z m0 118c-5 0-10 2-14 6-7 7-7 20 0 27 5 5 9 6 14 6 6 0 11-2 14-6 4-4 5-8 5-14 0-5-2-10-5-13-4-4-8-6-14-6z m0-144c-5 0-10 2-14 5-4 5-5 9-5 14 0 6 2 11 5 14 5 4 9 5 14 5 6 0 11-2 14-5 4-4 5-8 5-14 0-5-2-10-5-14-4-3-8-5-14-5z m85 2c-6 0-10 3-10 7l0 121c0 4 4 7 10 7 5 0 9-3 9-7l0-121c0-5-4-7-9-7z m0 120c-6 0-11 2-14 5-8 8-8 20 0 28 4 4 8 5 14 5 5 0 10-2 14-5 4-4 5-9 5-14 0-5-2-11-5-14-4-3-9-5-14-5z m0-144c-6 0-11 2-14 5-8 7-8 20 0 28 4 4 8 5 14 5 5 0 10-2 14-5 4-5 5-9 5-14 0-5-2-11-5-14-4-3-9-5-14-5z m1 73l-85 40 1 18 86-40z"/>
|
||||
<glyph glyph-name="placemark" unicode="U" d="M134 98c31-32 73-49 119-49l1 0c45 0 86 16 117 47 31 30 48 71 48 114 1 46-16 88-46 120-9 9-20 17-31 24-3-7-6-15-10-22 5-4 11-8 16-13 15-14 28-32 33-46l1-1c0-1 0-2-1-3l-1 0c-12-7-25-10-38-12-2-1-4-1-7-2l-1 0c0 0-1 0-2 1 0 0-1 1-1 1l0 1c-3 15-6 31-12 46l-7-15c4-11 6-21 8-32l0-1c0-1 0-1 0-2-1-1-1-1-2-1l-1 0-55-3-4 0c0 0-1 0-1 0-1 1-1 2-1 2l0 74c-5 9-8 17-11 26 0-1 0-1 0-1l-1 0 0-97c0 0 0-1 0-2 0-1-1-2-2-2l-1 0c0 0-1 0-1 0l-51 3c-1 0-2 0-2 1-1 1-1 2 0 2l0 1c5 27 13 58 35 83 6 6 12 13 20 16 0 0 1 0 1 0-3 7-6 15-9 22-37-4-71-20-99-47-30-30-47-70-48-113-1-46 16-88 47-120z m198 72c0 4 1 7 1 10l0 0c0 7 1 14 1 21 0 9 0 18 0 27 0 3 0 6 0 9l0 1c-1 1-1 6 5 7 11 3 23 5 34 8l1 0c3 1 7 2 11 2l1 1c1 0 3-1 3-2l0-1c0-1 1-1 1-2 1-3 1-5 2-8 3-14 4-27 3-40-2-12-8-21-18-25-8-3-17-5-25-8-3 0-7-1-10-2-1-1-3-1-4-1-1 0-1 0-2 0l-1-1c0 0 0 0 0 0-1 0-2 1-2 1-1 1-1 1-1 2z m2-17c12 4 23 7 35 10l14 4c1 0 2 0 2-1 1 0 1-2 1-2l-1-2c-7-18-17-34-30-47-13-13-28-24-46-31l-2-1c0 0-1 0-1 0-1 0-1 0-2 0 0 1-1 2-1 3l1 1c0 1 0 1 0 1 0 1 0 2 1 3 6 9 15 24 22 55 1 3 2 6 7 7z m-78 83c0 1 1 3 2 3l3 0 41 2 13 1c0 0 1 0 1 0l1 0c0 0 0-1 1-1l1 0c1 0 2-1 2-3 0-1 0-3 0-5 0-2 0-4 0-6l0-5c1-7 1-15 0-22l0-4c0-5 0-11-1-17 0-1 0-3 0-5 0-1 0-3 0-4 0-2-1-7-7-8-10 0-20-1-30-2l-2 0c-3-1-8-1-12-1-5-1-7-1-8-1-1 0-1 0-2 0l-2 1c-1 1-1 2-1 3l0 74z m0-92c0 1 1 3 2 3l3 0 51 3c1 0 2 0 2-1 1 0 1-1 1-2l0-1c0 0 0-1 0-1 0 0 0 0-1-1 0 0 0-1 0-1l0-1c0-1-1-3-1-4-1-2-2-5-3-7l-1-3c-3-9-7-18-11-27-4-8-9-14-14-19-5-6-13-9-23-10l-3 0c-1 0-1 0-2 1 0 0 0 1 0 2l0 69z m-52-59c-1-1-1-2-2-2 0 0-1 1-1 1l-2 1c-27 6-64 40-78 79l-1 1c0 1 0 2 1 3 1 1 2 1 3 1l13-4c12-4 24-7 36-11 3-1 6-2 7-7 5-24 12-42 23-57l1-2c1-1 1-3 0-3z m40-10c0-1-1-1-1-2-1 0-2 0-2 0 0 0-1 0-1 0-1 0-14 4-20 11-15 19-23 41-29 61 0 0 0 0 0 1l0 1c0 1 0 1 1 2 0 1 1 1 2 1l1 0 29-2 17-1c2-1 3-2 3-3l0-69z m-21 165l18-2c2 0 3-1 3-2l0-75c0-1-1-2-1-2-1-1-2-1-2-1 0 0 0 0-1 0 0 0-14 2-21 2-8 1-17 2-26 3-4 0-6 4-6 7-2 18-3 35-3 47 0 5-1 22-1 22 0 1 1 2 1 2 1 1 1 1 2 1z m-98 32l1 1c12 31 42 59 76 71l3 1c1 0 2 0 3-1 0-1 0-2 0-3l-2-3c-18-25-25-53-31-79l0-1c0-1 0-2-1-2 0 0-1-1-1-1-1 0-1 0-1 0l-1 1c-5 1-11 3-17 4-8 2-18 4-27 8l0 1c-2 0-2 2-2 3z m-8-18l1 1c0 1 1 2 3 2l49-13c1 0 2-1 2-3l2-71c0-1 0-2-1-2-1-1-1-1-2-1 0 0 0 0 0 0l-1 0c-1 0-2 1-3 1l0 0c-2 0-4 1-7 1-16 4-29 9-39 17-6 4-9 8-9 15-1 19 1 37 5 53z m178 42c-8 16-14 31-21 46-8 17-17 35-24 52-14 31 3 65 36 71 28 5 56-16 59-44 0-9-1-18-5-26-14-32-29-64-44-97 0 0-1-1-1-2z m27 117c0 15-12 28-27 28-15 0-27-12-28-27 0-16 13-28 28-28 15 0 27 12 27 27z"/>
|
||||
<glyph glyph-name="box" unicode="V" d="M318 74l126 89 15-22-126-88z m-137 101l0-99 27 0 0 96z m145-125c-1 0-1 0-2 0l-262 26c-7 1-12 7-12 13l0 263c0 4 1 7 4 10 3 2 7 4 10 3l263-26c7 0 12-6 12-13l0-262c0-4-2-8-4-10-3-3-6-4-9-4z m-250 51l236-23 0 236-236 23z m377 326l-263 26c-3 1-7-1-10-3-3-3-4-6-4-10l0-21c3 2 7 3 11 3 0 0 0 0 1 0 3 2 7 4 11 4 2 0 3 0 5-1l234-23 0-236c0-7-3-10-10-14 1-2 1-5 1-7 1-2 0-3 0-5l21-2c1 0 1 0 2 0 3 0 6 1 8 4 3 2 5 6 5 10l0 262c0 7-5 13-12 13z m-397-64l125 88 16-22-126-88z m262-26l126 88 15-22-126-88z m-256-123l2 27 263-26-3-26z m146 37l0 91-27 0 0-88c9-1 18-2 27-3z"/>
|
||||
<glyph glyph-name="community" unicode="0" d="M50 175c-4 0-8 2-11 6-4 6-2 14 4 18l24 16 69 48 89-64c6-4 7-13 3-19-5-6-13-7-19-3l-74 53-53-37-24-16c-3-1-5-2-8-2z m130-10l-44 32-47-32-22-14 0-63 135 0 0 60z m120 10c-4 0-9 2-11 6-4 6-3 14 3 18l25 16 68 48 89-64c6-4 7-13 3-19-4-6-13-7-19-3l-73 53-54-37-24-16c-2-1-5-2-7-2z m129-10l-46 32-45-32-22-14 0-63 135 0 0 60z m-256 202c-4 0-9 2-11 5-4 7-3 15 4 19l24 16 68 48 89-65c6-4 7-12 3-18-4-6-12-7-18-3l-74 53-53-37-25-16c-2-2-5-2-7-2z m129-11l-46 32-45-31-22-15 0-62 135 0 0 60z"/>
|
||||
<glyph glyph-name="grab-handle" unicode="X" d="M280 318c0 10 9 19 20 19 10 0 19-9 19-19 0-11-9-20-19-20-11 0-20 9-20 20z m-46-20c-5 0-10 2-14 6-3 4-5 8-5 14 0 5 2 10 5 13 4 4 9 6 14 6 5 0 10-2 13-6 4-3 6-8 6-13 0-5-2-10-6-14-3-4-8-6-13-6z m46-42c0 10 9 19 20 19 10 0 19-9 19-19 0-11-9-20-19-20-11 0-20 9-20 20z m-46-20c-5 0-10 3-14 6-3 4-5 9-5 14 0 5 2 10 5 13 4 4 9 6 14 6 5 0 10-2 13-6 4-3 6-8 6-13 0-5-2-10-6-14-3-3-8-6-13-6z m46-42c0 10 9 19 20 19 10 0 19-9 19-19 0-11-9-19-19-19-11 0-20 8-20 19z m-46-19c-5 0-10 2-14 5-3 4-5 9-5 14 0 5 2 10 5 13 4 4 9 6 14 6 5 0 10-2 13-6 4-3 6-8 6-13 0-5-2-10-6-14-3-3-8-5-13-5z"/>
|
||||
<glyph glyph-name="search" unicode="Y" d="M277 185c-48 0-88 40-88 88 0 49 40 89 88 89 49 0 89-40 89-89 0-48-40-88-89-88z m0 159c-38 0-70-32-70-71 0-38 32-70 70-70 39 0 71 32 71 70 0 39-32 71-71 71z m-112-205c-2 0-4 1-6 2-4 4-4 9 0 13l61 64c3 4 9 4 12 0 4-3 4-9 1-12l-61-64c-2-2-5-3-7-3z"/>
|
||||
<glyph glyph-name="disclosure-collapse" unicode="Z" d="M264 198l-60 59c-4 5-4 12 0 17 5 4 13 4 17 0l43-43 43 44c4 4 12 4 17 0 4-5 4-13 0-17z"/>
|
||||
<glyph glyph-name="script-upload" unicode="R" d="M260 91l-117 0c-29 0-54 15-71 43-13 20-17 40-17 41l-3 16 157 0c7 0 13-5 13-12 0-7-6-12-13-12l-124 0c2-8 5-12 9-18 12-20 29-31 49-31l117 0c7 0 13-6 13-14 0-7-6-13-13-13z m117 7c-7 0-12 6-12 13 0 7 5 13 12 13 13 0 23 4 30 11 16 19 16 55 14 67l1 1 0 0 0 206-257 0 0-226c0-7-5-13-12-13-8 0-13 6-13 13l0 251 306 0 0-230c1-7 5-57-20-86-13-13-28-20-49-20z m6 253l-179 0c-8 0-14 6-14 14 0 8 6 14 14 14l179 0c8 0 14-6 14-14 0-8-6-14-14-14z m0-58l-179 0c-8 0-14 6-14 14 0 8 6 14 14 14l179 0c8 0 14-6 14-14 0-8-6-14-14-14z m0-58l-16 0c-8 0-14 6-14 14 0 8 6 14 14 14l16 0c8 0 14-6 14-14 0-8-6-14-14-14z m-110 0l-69 0c-8 0-14 6-14 14 0 8 6 14 14 14l69 0c8 0 14-6 14-14 0-8-6-14-14-14z m127-71l-80 83-81-83 49 0 0-136 62 22 0 114z"/>
|
||||
<glyph glyph-name="code" unicode="W" d="M92 242l74 73c6 6 15 6 21 0 6-5 6-15 0-21l-53-52 54-54c6-6 6-16 0-21-5-6-15-6-21 0z m347 0l-74 73c-5 6-15 6-21 0-5-5-5-15 0-21l53-52-54-54c-6-6-6-16 0-21 6-6 15-6 21 0z m-223-137c-1 0-2 0-4 1-5 2-8 8-6 14l98 254c3 6 9 8 15 6 5-2 8-8 6-14l-99-254c-1-4-5-7-10-7z"/>
|
||||
<glyph glyph-name="avatar" unicode="<" d="M256 88c-93 0-169 75-169 168 0 93 76 169 169 169 93 0 169-76 169-169 0-93-76-168-169-168z m0 316c-81 0-148-66-148-148 0-81 67-147 148-147 81 0 148 66 148 147 0 82-67 148-148 148z m97-90l-1 1c-3 3-7 4-10 4-1 0-61-9-86-9-1 0-1 0-2 0-25 0-87 10-87 10-5 0-10-2-13-6l-1-2c-2-3-2-7-1-10 1-4 3-6 6-8 12-5 49-20 60-22 2 0 5 0 6-7 1-8-3-46-7-65-5-17-13-40-13-41-2-6 1-13 7-15l8-3c3-1 6-1 9 1 3 1 5 4 6 7l21 65 20-67c1-3 3-6 6-7 2-1 4-1 5-1 2 0 3 0 5 0l7 3c5 2 8 8 7 14 0 0-6 24-11 44-3 12-4 30-5 45 0 9-1 16-2 22 0 1 0 4 5 5 0 0 1 0 2 0l55 22c4 2 6 5 7 9 1 4 0 8-3 11z m-68 37c0-16-13-29-29-29-16 0-29 13-29 29 0 16 13 29 29 29 16 0 29-13 29-29z"/>
|
||||
<glyph glyph-name="arrows-h" unicode=":" d="M512 256c0-5-2-9-5-13l-74-73c-3-4-7-5-12-5-5 0-10 1-13 5-4 4-6 8-6 13l0 36-292 0 0-36c0-5-2-9-6-13-3-4-8-5-13-5-5 0-9 1-12 5l-74 73c-3 4-5 8-5 13 0 5 2 9 5 13l74 73c3 4 7 5 12 5 5 0 10-1 13-5 4-4 6-8 6-13l0-36 292 0 0 36c0 5 2 9 6 13 3 4 8 5 13 5 5 0 9-1 12-5l74-73c3-4 5-8 5-13z"/>
|
||||
<glyph glyph-name="arrows-v" unicode=";" d="M347 421c0-5-1-10-5-13-4-4-8-6-13-6l-36 0 0-292 36 0c5 0 9-2 13-6 4-3 5-8 5-13 0-5-1-9-5-12l-73-74c-4-3-8-5-13-5-5 0-9 2-13 5l-73 74c-4 3-5 7-5 12 0 5 1 10 5 13 4 4 8 6 13 6l36 0 0 292-36 0c-5 0-9 2-13 6-4 3-5 8-5 13 0 5 1 9 5 12l73 74c4 3 8 5 13 5 5 0 9-2 13-5l73-74c4-3 5-7 5-12z"/>
|
||||
<glyph glyph-name="arrows" unicode="`" d="M512 256c0-5-2-9-5-13l-74-73c-3-4-7-5-12-5-5 0-10 1-13 5-4 4-6 8-6 13l0 36-109 0 0-109 36 0c5 0 9-2 13-6 4-3 5-8 5-13 0-5-1-9-5-12l-73-74c-4-3-8-5-13-5-5 0-9 2-13 5l-73 74c-4 3-5 7-5 12 0 5 1 10 5 13 4 4 8 6 13 6l36 0 0 109-109 0 0-36c0-5-2-9-6-13-3-4-8-5-13-5-5 0-9 1-12 5l-74 73c-3 4-5 8-5 13 0 5 2 9 5 13l74 73c3 4 7 5 12 5 5 0 10-1 13-5 4-4 6-8 6-13l0-36 109 0 0 109-36 0c-5 0-9 2-13 6-4 3-5 8-5 13 0 5 1 9 5 12l73 74c4 3 8 5 13 5 5 0 9-2 13-5l73-74c4-3 5-7 5-12 0-5-1-10-5-13-4-4-8-6-13-6l-36 0 0-109 109 0 0 36c0 5 2 9 6 13 3 4 8 5 13 5 5 0 9-1 12-5l74-73c3-4 5-8 5-13z"/>
|
||||
<glyph glyph-name="compress" unicode="!" d="M256 238l0-128c0-5-2-10-5-13-4-4-8-6-13-6-5 0-10 2-13 6l-41 41-95-95c-2-2-4-3-7-3-2 0-4 1-6 3l-33 33c-2 2-3 4-3 6 0 3 1 5 3 7l95 95-41 41c-4 3-6 8-6 13 0 5 2 9 6 13 3 3 8 5 13 5l128 0c5 0 9-2 13-5 3-4 5-8 5-13z m216 192c0-3-1-5-3-7l-95-95 41-41c4-3 6-8 6-13 0-5-2-9-6-13-3-3-8-5-13-5l-128 0c-5 0-9 2-13 5-3 4-5 8-5 13l0 128c0 5 2 10 5 13 4 4 8 6 13 6 5 0 10-2 13-6l41-41 95 95c2 2 4 3 7 3 2 0 4-1 6-3l33-33c2-2 3-4 3-6z"/>
|
||||
<glyph glyph-name="expand" unicode=""" d="M252 210c0-2-1-4-3-6l-94-95 41-41c3-4 5-8 5-13 0-5-2-9-5-13-4-4-8-5-13-5l-128 0c-5 0-9 1-13 5-4 4-5 8-5 13l0 128c0 5 1 9 5 13 4 3 8 5 13 5 5 0 9-2 13-5l41-41 95 94c2 2 4 3 6 3 3 0 5-1 7-3l32-32c2-2 3-4 3-7z m223 247l0-128c0-5-1-9-5-13-4-3-8-5-13-5-5 0-9 2-13 5l-41 41-95-94c-2-2-4-3-6-3-3 0-5 1-7 3l-32 32c-2 2-3 4-3 7 0 2 1 4 3 6l94 95-41 41c-3 4-5 8-5 13 0 5 2 9 5 13 4 4 8 5 13 5l128 0c5 0 9-1 13-5 4-4 5-8 5-13z"/>
|
||||
<glyph glyph-name="placemark-1" unicode="#" d="M475 213l0 176c-32-17-61-26-87-26-16 0-29 3-41 10-19 9-37 16-53 21-16 6-33 8-51 8-33 0-71-12-115-36l0-171c47 21 88 32 124 32 10 0 20-1 29-2 10-1 19-4 28-7 10-4 17-7 22-9 6-3 13-6 24-12l8-4c8-4 18-6 29-6 23 0 50 9 83 26z m-384 226c0-7-1-13-5-18-3-6-7-10-13-14l0-361c0-3-1-5-2-7-2-2-4-2-7-2l-18 0c-3 0-5 0-7 2-2 2-2 4-2 7l0 361c-6 4-10 8-14 14-3 5-5 11-5 18 0 10 4 19 11 26 7 7 16 10 26 10 10 0 19-3 26-10 7-7 10-16 10-26z m421-18l0-218c0-8-3-13-10-17-2-1-4-2-5-2-41-22-77-33-105-33-17 0-32 3-45 10l-8 4c-13 6-22 10-29 13-6 3-15 6-26 9-10 2-21 4-32 4-20 0-42-5-68-13-25-8-47-18-65-29-3-2-6-3-9-3-3 0-6 1-9 3-7 3-10 9-10 16l0 212c0 6 3 11 9 15 7 4 14 8 23 12 8 5 19 9 32 15 14 6 28 11 44 14 15 4 30 6 44 6 21 0 41-3 60-9 18-6 38-14 60-25 7-3 15-5 25-5 23 0 53 11 89 32 4 2 7 4 8 5 6 3 12 3 18-1 6-4 9-9 9-15z"/>
|
||||
<glyph glyph-name="circle" unicode="$" d="M366 238c0 35-13 65-38 90-25 25-55 38-90 38-36 0-66-13-91-38-25-25-37-55-37-90 0-36 12-66 37-91 25-25 55-37 91-37 35 0 65 12 90 37 25 25 38 55 38 91z m36 0c0-23-4-44-13-64-8-20-20-38-35-53-15-14-32-26-52-35-21-9-42-13-64-13-23 0-44 4-64 13-20 9-38 21-53 35-14 15-26 33-35 53-9 20-13 41-13 64 0 22 4 43 13 64 9 20 21 37 35 52 15 15 33 27 53 35 20 9 41 13 64 13 22 0 43-4 64-13 20-8 37-20 52-35 15-15 27-32 35-52 9-21 13-42 13-64z"/>
|
||||
<glyph glyph-name="hand-pointer" unicode="9" d="M183 475c-10 0-19-3-26-10-7-7-11-16-11-26l0-256-43 58c-8 10-18 15-30 15-10 0-19-4-26-11-7-7-10-16-10-26 0-8 2-15 7-22l110-146c7-10 17-14 29-14l205 0c4 0 8 1 11 3 4 3 6 6 7 10l26 105c5 19 7 37 7 56l0 62c0 8-3 14-8 20-5 6-12 9-20 9-7 0-14-3-19-8-5-6-8-12-8-20l-9 0 0 18c0 9-3 17-9 23-6 6-14 10-23 10-9 0-16-4-23-10-6-6-9-14-9-22l0-19-9 0 0 26c0 10-4 19-11 27-7 8-16 11-26 11-10 0-19-3-26-10-7-8-10-16-10-26l0-28-10 0 0 163c0 11-3 20-10 27-7 8-16 11-26 11z m0 37c20 0 38-7 52-22 14-15 21-32 21-53l0-63c4 1 7 1 9 1 19 0 35-7 50-20 9 4 18 6 28 6 21 0 39-8 52-25 6 2 11 2 16 2 18 0 33-6 46-19 12-13 18-28 18-46l0-62c0-22-2-44-8-64l-26-106c-3-12-9-22-19-29-10-8-21-12-34-12l-205 0c-12 0-22 3-33 8-10 5-19 12-26 21l-109 146c-10 13-15 28-15 44 0 20 7 38 21 52 14 14 32 22 52 22 13 0 25-4 37-10l0 156c0 20 7 37 21 52 14 14 32 21 52 21z m36-402l0 109-9 0 0-109z m74 0l0 109-10 0 0-109z m73 0l0 109-9 0 0-109z"/>
|
||||
<glyph glyph-name="plus-square-o" unicode="%" d="M384 283l0-18c0-3-1-5-3-6-1-2-3-3-6-3l-101 0 0-101c0-2-1-4-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-1 2-2 4-2 6l0 101-101 0c-3 0-5 1-6 3-2 1-3 3-3 6l0 18c0 3 1 5 3 7 1 2 3 3 6 3l101 0 0 100c0 3 1 5 2 7 2 1 4 2 7 2l18 0c3 0 5-1 7-2 1-2 2-4 2-7l0-100 101 0c3 0 5-1 6-3 2-2 3-4 3-7z m37-128l0 238c0 13-5 23-14 32-9 9-20 14-32 14l-238 0c-12 0-23-5-32-14-9-9-14-19-14-32l0-238c0-12 5-23 14-32 9-9 20-13 32-13l238 0c12 0 23 4 32 13 9 9 14 20 14 32z m36 238l0-238c0-22-8-42-24-58-16-16-35-24-58-24l-238 0c-23 0-42 8-58 24-16 16-24 36-24 58l0 238c0 23 8 42 24 58 16 16 35 24 58 24l238 0c23 0 42-8 58-24 16-16 24-35 24-58z"/>
|
||||
<glyph glyph-name="square" unicode="'" d="M375 439l-238 0c-12 0-23-5-32-14-9-9-14-19-14-32l0-238c0-12 5-23 14-32 9-9 20-13 32-13l238 0c12 0 23 4 32 13 9 9 14 20 14 32l0 238c0 13-5 23-14 32-9 9-20 14-32 14z m82-46l0-238c0-22-8-42-24-58-16-16-35-24-58-24l-238 0c-23 0-42 8-58 24-16 16-24 36-24 58l0 238c0 23 8 42 24 58 16 16 35 24 58 24l238 0c23 0 42-8 58-24 16-16 24-35 24-58z"/>
|
||||
<glyph glyph-name="align-center" unicode="8" d="M416 434l-320 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17l320 0c10 0 17 7 17 17l0 16c0 10-7 17-17 17z m-26-135l0 16c0 10-8 17-17 17l-234 0c-9 0-17-7-17-17l0-16c0-10 8-17 17-17l234 0c9 0 17 7 17 17z m8-171l-284 0c-10 0-18-7-18-17l0-16c0-10 8-17 18-17l284 0c10 0 18 7 18 17l0 0 0 16 0 0c0 10-8 17-18 17z m-25 85c0 10-8 17-18 17l-198 0c-10 0-18-7-18-17l0-16c0-10 8-17 18-17l198 0c10 0 18 7 18 17 0 0 0 0 0 0z"/>
|
||||
<glyph glyph-name="align-justify" unicode=")" d="M416 433l-320 0c-10 0-17-8-17-17l0-16c0-10 7-18 17-18l320 0c10 0 17 8 17 18l0 16c0 9-7 17-17 17z m0-101l-320 0c-10 0-17-8-17-17l0-16c0-10 7-18 17-18l320 0c10 0 17 8 17 18l0 16c0 9-7 17-17 17z m0-101l-320 0c-10 0-17-8-17-18l0-16c0-9 7-17 17-17l320 0c10 0 17 8 17 17l0 16c0 10-7 18-17 18z m0-101l-320 0c-10 0-17-8-17-18l0-16c0-9 7-17 17-17l320 0c10 0 17 8 17 17l0 16c0 10-7 18-17 18z"/>
|
||||
<glyph glyph-name="align-left" unicode="*" d="M416 434l-320 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17l320 0c10 0 17 7 17 17l0 16c0 10-7 17-17 17z m-320-152l234 0c9 0 17 7 17 17l0 16c0 10-8 18-17 18l-234 0c-10 0-17-8-17-18l0-16c0-10 7-17 17-17z m285-154l-285 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17l285 0c10 0 17 7 17 17l0 0 0 16 0 0c0 10-7 17-17 17z m-285 52l199 0c9 0 17 7 17 17 0 0 0 0 0 0l0 16c0 10-8 17-17 17l-199 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17z"/>
|
||||
<glyph glyph-name="align-right" unicode="^" d="M416 434l-320 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17l320 0c10 0 17 7 17 17l0 16c0 10-7 17-17 17z m0-102l-234 0c-9 0-17-7-17-17l0-16c0-10 8-17 17-17l234 0c10 0 17 7 17 17l0 16c0 10-7 17-17 17z m0-204l-285 0c-10 0-17-7-17-17l0-16c0-10 7-17 17-17l285 0c9 0 17 7 17 17l0 0 0 16 0 0c0 10-8 17-17 17z m17 85c0 10-7 17-17 17l-199 0c-9 0-17-7-17-17l0-16c0-10 8-17 17-17l199 0c10 0 17 7 17 17 0 0 0 0 0 0z"/>
|
||||
<glyph glyph-name="bars" unicode="7" d="M475 128l0-37c0-5-1-9-5-12-4-4-8-6-13-6l-402 0c-5 0-9 2-13 6-4 3-5 7-5 12l0 37c0 5 1 9 5 13 4 3 8 5 13 5l402 0c5 0 9-2 13-5 4-4 5-8 5-13z m0 146l0-36c0-5-1-10-5-13-4-4-8-6-13-6l-402 0c-5 0-9 2-13 6-4 3-5 8-5 13l0 36c0 5 1 10 5 13 4 4 8 6 13 6l402 0c5 0 9-2 13-6 4-3 5-8 5-13z m0 147l0-37c0-5-1-9-5-13-4-3-8-5-13-5l-402 0c-5 0-9 2-13 5-4 4-5 8-5 13l0 37c0 5 1 9 5 12 4 4 8 6 13 6l402 0c5 0 9-2 13-6 4-3 5-7 5-12z"/>
|
||||
<glyph glyph-name="circle-slash" unicode="," d="M256 416c-88 0-160-72-160-160 0-88 72-160 160-160 88 0 160 72 160 160 0 88-72 160-160 160z m0-64c14 0 27-3 39-8l-127-127c-5 12-8 25-8 39 0 53 43 96 96 96z m0-192c-14 0-27 3-39 9l127 126c5-12 8-25 8-39 0-53-43-96-96-96z"/>
|
||||
<glyph glyph-name="sync" unicode="(" d="M392 275c6-41-7-84-39-115-47-47-119-52-173-17l38 36-138 19 19-134 42 40c76-55 183-50 251 18 40 39 58 91 56 142z m-233 77c47 46 119 52 173 17l-38-36 138-19-19 134-42-40c-76 55-183 50-251-18-40-39-58-91-56-142l56-11c-6 41 7 84 39 115z"/>
|
||||
<glyph glyph-name="key" unicode="-" d="M479 282c-1 2-1 4-3 6-2 2-5 3-7 3l-202 0c-13 51-60 89-115 89-65 0-119-54-119-119 0-66 54-119 119-119 59 0 107 43 117 99l45 0 0-65 0 0c0-5 5-9 10-9 0 0 0 0 0 0l0 0 31 0 0 0c5 0 10 4 10 9l0 0 0 65 26 0 0-100 0 0c0-5 4-9 9-9 0 0 0 0 0 0l32 0c0 0 0 0 0 0 5 0 9 4 10 9l0 0 0 100 27 0 0 0c2 0 5 0 7 2 2 2 3 5 3 7l0 0 0 32 0 0z m-327-90c-37 0-68 30-68 68 0 38 31 68 68 68 38 0 68-30 68-68 0-38-30-68-68-68z"/>
|
||||
<glyph glyph-name="link" unicode="." d="M202 136c5 5 10 7 17 7 7 0 13-2 19-7 10-11 10-23 0-36 0 0-22-20-22-20-19-19-42-29-68-29-26 0-49 10-68 29-19 19-29 42-29 67 0 27 10 50 29 69 0 0 76 76 76 76 24 23 48 36 73 39 26 3 47-4 66-22 5-5 8-11 8-18 0-7-3-13-8-19-12-11-24-11-36 0-17 17-40 11-68-17 0 0-75-75-75-75-9-9-14-20-14-33 0-13 5-23 14-31 9-9 19-14 32-14 13 0 23 5 32 14 0 0 22 20 22 20m230 294c19-19 29-42 29-68 0-26-10-49-29-68 0 0-81-81-81-81-25-25-51-37-77-37-21 0-40 9-57 26-5 5-7 10-7 17 0 7 2 13 7 19 5 4 11 7 18 7 7 0 13-3 18-7 17-17 38-13 62 12 0 0 81 80 81 80 10 9 15 20 15 32 0 13-5 24-15 32-8 9-17 14-28 16-11 2-22-2-31-11 0 0-26-25-26-25-5-5-11-7-18-7-7 0-13 2-18 7-11 11-11 23 0 36 0 0 26 25 26 25 18 19 40 27 65 26 25-1 47-11 66-31"/>
|
||||
<glyph glyph-name="location" unicode="/" d="M256 512c-88 0-160-72-160-160 0-89 80-208 160-352 80 144 160 263 160 352 0 88-71 160-160 160z m0-224c-35 0-64 28-64 64 0 35 29 64 64 64 36 0 64-29 64-64 0-36-28-64-64-64z"/>
|
||||
<glyph glyph-name="carat-r" unicode="3" d="M304 249l-55-43 0 86z"/>
|
||||
<glyph glyph-name="carat-l" unicode="4" d="M225 250l55 43 0-87z"/>
|
||||
<glyph glyph-name="folder-lg" unicode=">" d="M203 385l38-51 185 0 0-206-333 0 0 257 110 0m0 30l-110 0c-17 0-30-14-30-30l0-257c0-17 13-30 30-30l333 0c17 0 30 13 30 30l0 206c0 16-13 30-30 30l-170 0-29 39c-6 7-15 12-24 12z"/>
|
||||
<glyph glyph-name="folder-sm" unicode="?" d="M226 324l20-27 98 0 0-109-176 0 0 136 58 0m0 24l-58 0c-13 0-24-11-24-24l0-136c0-13 11-24 24-24l176 0c13 0 24 11 24 24l0 109c0 13-11 24-24 24l-86 0-12 17c-5 6-12 10-20 10z"/>
|
||||
<glyph glyph-name="level-up" unicode="1" d="M331 274c-9 9-21 14-37 14l-68 0 32 32c5 4 5 12 0 17-2 2-5 3-8 3-3 0-6-1-9-3l-59-60 60-60c5-4 13-4 17 0 5 5 5 12 0 17l-31 31 66 0c9 0 16-2 19-7 6-6 5-15 5-16l0 0 0-75c0-6 5-12 12-12 6 0 11 6 11 12l0 73c0 5 1 21-10 34z"/>
|
||||
<glyph glyph-name="info" unicode="[" d="M267 218c-1-7 0-10 7-10l8 0-3-15c-7-3-13-4-18-4-11 0-22 6-19 24l8 56c-3 0-7 1-11 2l2 17 36 0z m15 94c-1-7-8-11-15-11-8 0-14 6-13 14 1 7 8 11 15 11 8 0 14-5 13-14z m65 29c-23 23-53 35-85 35-33 0-63-12-86-35-23-23-35-53-35-85 0-33 12-63 35-85 23-23 53-35 85-35 33 0 63 12 85 35 23 23 35 53 35 85 1 31-11 61-34 85z m18-85c0-28-11-55-31-73-19-20-45-31-73-31-28 0-54 11-73 31-20 19-31 45-31 73 0 27 11 53 31 73 19 20 45 31 73 31 28 0 54-11 73-31 20-20 31-46 31-73z"/>
|
||||
<glyph glyph-name="question" unicode="]" d="M360 346c1 0 3-1 3-3l0-181c0-2-2-3-3-3l-182 0c-1 0-3 1-3 3l0 181c0 2 2 3 3 3l182 0m0 17l-182 0c-11 0-20-9-20-20l0-181c0-11 9-20 20-20l182 0c11 0 20 9 20 20l0 181c0 11-9 20-20 20z m-133-55c20 7 29 9 47 9 28 0 40-10 40-34l0-5c0-17-6-24-17-28-8-3-16-5-25-8l0-17-20 0-3 30c12 3 22 7 30 9 8 3 11 7 11 13l0 4c0 13-4 16-18 16-10 0-16-1-24-4l-2-12-19 0z m21-110c0 9 5 13 14 13 10 0 15-4 15-13 0-9-5-13-15-13-9 0-14 4-14 13z"/>
|
||||
<glyph glyph-name="alert" unicode="+" d="M267 369l120-207-240 0 120 207m0 18c-6 0-12-3-16-9l-119-207c-4-6-4-12 0-18 3-6 9-9 15-9l240 0c6 0 12 3 15 9 4 6 4 12 0 18l-119 207c-4 6-10 9-16 9z m-15-195c0 9 5 13 15 13 9 0 14-4 14-13 0-9-5-13-14-13-10 0-15 4-15 13z m28 96l-6-67-15 0-6 67 0 21 27 0z"/>
|
||||
<glyph glyph-name="home" unicode="_" d="M265 376l133-122-49 0 0-112-169 0 0 112-49 0 134 122m0 20c-5 0-10-2-14-5l-134-122c-6-5-8-14-5-22 3-8 11-13 19-13l29 0 0-92c0-11 9-20 20-20l169 0c11 0 20 9 20 20l0 92 29 0c9 0 16 5 19 13 3 8 1 17-5 22l-134 122c-4 3-9 5-13 5z"/>
|
||||
<glyph glyph-name="error" unicode="=" d="M258 143c-29 0-58 11-80 33-21 22-33 50-33 80 0 30 12 59 33 80 44 44 116 44 160 0 22-21 34-50 34-80 0-30-12-58-34-80-22-22-51-33-80-33z m0 211c-25 0-50-9-69-29-18-18-29-43-29-69 0-26 11-50 29-69 38-38 100-38 139 0 18 19 28 43 28 69 0 26-10 51-28 69-20 20-45 29-70 29z m13-98l32 33c4 3 4 9 0 12-3 3-9 3-12 0l-33-33-32 33c-4 3-9 3-12 0-4-3-4-9 0-12l32-33-32-32c-4-4-4-9 0-13 3-3 8-3 12 0l32 33 33-33c3-3 9-3 12 0 4 4 4 9 0 13z"/>
|
||||
<glyph glyph-name="settings" unicode="@" d="M352 276c-3 0-6-1-8-2-1 0-1 0-1 0-3 0-6-1-8-2-2 9-6 17-11 25 3 1 6 2 8 4 0 0 0 0 0 0 3 1 5 3 7 5 8 8 8 20 0 28-7 7-20 7-27-1-2-2-4-4-5-7 0 0 0 0 0 0-2-2-4-5-4-8-8 5-16 9-25 11 1 2 2 5 2 8 0 0 0 1 0 1 1 2 2 5 2 8 0 11-9 19-20 19-10 0-19-8-19-19 0-3 1-6 2-8 0-1 0-1 0-1 0-3 1-6 2-8-9-2-18-6-25-11-1 3-2 6-5 8 0 0 0 0 0 0-1 3-2 5-4 7-8 8-20 8-28 0-7-7-7-20 0-27 2-2 5-4 7-5 1 0 1 0 1 0 2-2 4-4 7-4-5-8-8-16-10-25-3 1-6 2-9 2 0 0 0 0 0 0-2 1-5 2-8 2-11 0-20-9-20-20 0-10 9-19 20-19 3 0 6 0 8 2 0 0 0-1 0-1 4 0 6 1 9 3 2-9 5-18 10-25-2-1-5-2-7-5 0 0 0 0 0 0-3-1-6-2-8-4-7-8-7-20 0-28 4-4 9-5 14-5 5 0 10 1 14 5 2 2 4 5 4 7 1 1 1 1 1 1 2 2 3 4 4 7 8-5 16-8 25-10-1-3-2-6-2-9 0 0 0 0 0 0-1-2-2-5-2-8 0-11 9-20 20-20 10 0 19 9 19 20 0 3-1 6-2 8 0 0 0 0 0 0 0 3-1 6-2 9 9 2 17 5 25 10 1-3 2-5 4-7 1 0 1 0 1-1 1-2 2-5 4-7 4-4 9-5 14-5 5 0 10 1 14 5 7 8 7 20 0 28-2 2-5 3-7 4-1 0-1 0-1 0-2 3-4 4-7 5 5 7 8 16 10 25 3-1 6-2 9-2 0 0 0 0 0 0 2-1 5-2 8-2 11 0 19 9 19 19 0 0 0 0 0 0 0 0 0 1 0 1 0 10-9 19-19 19z m-90-61c-22 0-41 19-41 41 0 23 19 41 41 41 23 0 41-18 41-41 0-22-18-41-41-41z"/>
|
||||
<glyph glyph-name="trash" unicode="{" d="M201 302l0-165c0-3-1-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-2 1-2 3-2 6l0 165c0 2 0 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 1-1 2-4 2-6z m73 0l0-165c0-3-1-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-1 1-2 3-2 6l0 165c0 2 1 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 1-1 2-4 2-6z m73 0l0-165c0-3 0-5-2-6-2-2-4-3-7-3l-18 0c-3 0-5 1-7 3-1 1-2 3-2 6l0 165c0 2 1 5 2 6 2 2 4 3 7 3l18 0c3 0 5-1 7-3 2-1 2-4 2-6z m37-207l0 271-256 0 0-271c0-4 1-8 2-12 1-3 3-6 4-7 2-2 3-3 3-3l238 0c0 0 1 1 3 3 1 1 3 4 4 7 1 4 2 8 2 12z m-192 307l128 0-14 34c-1 1-3 2-5 3l-90 0c-2-1-4-2-5-3z m265-9l0-18c0-3-1-5-2-7-2-1-4-2-7-2l-27 0 0-271c0-16-5-30-14-41-9-12-20-17-32-17l-238 0c-12 0-23 5-32 16-9 11-14 25-14 41l0 272-27 0c-3 0-5 1-7 2-1 2-2 4-2 7l0 18c0 3 1 5 2 7 2 1 4 2 7 2l88 0 20 48c3 7 8 13 16 18 7 5 15 7 22 7l92 0c7 0 15-2 22-7 8-5 13-11 16-18l20-48 88 0c3 0 5-1 7-2 1-2 2-4 2-7z"/>
|
||||
<glyph glyph-name="object-group" unicode="" d="M549 402l-37 0 0-292 37 0 0-110-110 0 0 37-366 0 0-37-110 0 0 110 37 0 0 292-37 0 0 110 110 0 0-37 366 0 0 37 110 0z m-74 73l0-36 37 0 0 36z m-475 0l0-36 37 0 0 36z m37-438l0 36-37 0 0-36z m402 36l0 37 36 0 0 292-36 0 0 37-366 0 0-37-36 0 0-292 36 0 0-37z m73-36l0 36-37 0 0-36z m-183 292l110 0 0-219-256 0 0 73-110 0 0 219 256 0z m-219-110l183 0 0 147-183 0z m292-73l0 147-73 0 0-110-110 0 0-37z"/>
|
||||
<glyph glyph-name="cm" unicode="}" d="M202 207c-5 0-10 1-14 4-4 2-8 5-11 10-2 4-4 9-6 15-1 6-2 12-2 20 0 7 1 13 2 19 2 6 4 11 6 16 3 4 7 7 11 10 4 2 9 3 14 3 5 0 9-1 12-2 4-2 6-4 8-6l-8-11c-1 1-3 3-5 4-2 1-4 2-7 2-3 0-5-1-7-3-3-2-4-4-6-7-1-3-2-7-3-11-1-5-1-9-1-14 0-5 0-10 1-14 1-4 2-8 3-11 2-3 3-5 6-7 2-2 5-3 8-3 3 0 5 1 7 2 2 1 4 2 5 4l7-12c-5-5-11-8-20-8z m55 92c4 3 9 5 15 5 4 0 6 0 9-2 2-1 4-2 6-4 1-2 3-4 4-6 1-2 1-4 2-7l0 0c1 2 2 5 4 7 1 2 3 4 5 6 2 2 4 3 7 4 2 1 5 2 8 2 5 0 9-1 12-3 3-2 6-5 7-8 2-4 3-7 4-12 0-4 1-9 1-13l0-58-16 0 0 58c0 3 0 5 0 8-1 3-1 5-2 7-1 2-2 4-4 6-2 1-4 2-7 2-2 0-5-1-7-3-2-1-4-3-5-5-2-3-3-6-4-9-1-4-1-7-1-12l0-52-15 0 0 58c0 3 0 5-1 8 0 3-1 5-1 7-1 3-3 4-4 6-2 1-4 2-7 2-3 0-5-1-7-2-2-2-4-4-6-6-1-3-2-6-3-9-1-3-1-7-1-11l0-53-15 0 0 68c0 4-1 7-1 12 0 4 0 8 0 11l15 0c0-3 0-6 0-9 1-3 1-5 1-7l0 0c1 6 4 10 7 14z"/>
|
||||
<glyph glyph-name="msvg" unicode="~" d="M228 299c4 3 8 5 15 5 3 0 6 0 8-2 2-1 4-2 6-4 2-2 3-4 4-6 1-2 2-4 2-7l1 0c0 2 2 5 3 7 1 2 3 4 5 6 2 2 4 3 7 4 2 1 5 2 9 2 4 0 8-1 12-3 3-2 5-5 7-8 1-4 2-7 3-12 1-4 1-9 1-13l0-58-16 0 0 58c0 3 0 5 0 8 0 3-1 5-2 7-1 2-2 4-4 6-1 1-4 2-7 2-2 0-5-1-7-3-2-1-4-3-5-5-2-3-3-6-4-9 0-4-1-7-1-12l0-52-15 0 0 58c0 3 0 5 0 8-1 3-1 5-2 7-1 3-2 4-4 6-2 1-4 2-7 2-2 0-5-1-7-2-2-2-4-4-5-6-2-3-3-6-4-9-1-3-1-7-1-11l0-53-15 0 0 68c0 4 0 7 0 12 0 4-1 8-1 11l15 0c0-3 0-6 1-9 0-3 0-5 0-7l0 0c1 6 4 10 8 14z"/>
|
||||
<glyph glyph-name="deg" unicode="\" d="M199 210l0 14-1 0c-1-4-4-9-7-12-3-3-8-5-14-5-5 0-9 1-12 4-4 2-7 6-9 10-3 4-5 9-6 15-1 6-2 13-2 20 0 7 1 13 2 19 1 6 3 11 5 16 3 4 6 7 10 10 3 2 7 3 12 3 5 0 10-1 13-4 4-3 7-7 8-12l0 0 0 59 16 0 0-137z m0 45c0 5-1 10-1 14-1 5-2 8-4 11-1 3-3 6-5 8-2 2-5 2-8 2-3 0-5 0-8-2-2-2-3-5-5-8-1-3-2-6-3-11-1-4-1-9-1-14 0-4 0-9 1-13 1-4 2-8 3-11 2-3 3-6 5-8 3-1 5-2 8-2 3 0 6 1 8 2 2 2 4 5 5 8 2 3 3 7 4 11 0 4 1 9 1 13z m49-3c0-5 1-9 1-13 1-3 2-7 4-9 1-3 3-5 5-7 3-2 5-2 8-2 5 0 8 1 10 3 3 3 5 6 6 9l12-6c-3-6-6-11-11-15-4-3-10-5-17-5-10 0-19 4-24 13-6 8-9 20-9 35 0 8 0 14 2 20 2 6 4 11 7 16 3 4 6 7 10 10 4 2 9 3 14 3 5 0 10-1 14-3 4-3 7-6 9-10 3-4 5-9 6-14 1-6 1-12 1-18l0-7-48 0z m33 12c0 8-2 14-4 19-3 5-6 7-12 7-3 0-6 0-8-2-2-2-3-4-5-7-1-3-2-6-3-9 0-3-1-6-1-8z m79 37l15 0 0-91c0-6-1-12-2-17-1-5-3-10-6-14-2-4-6-7-10-9-5-2-10-3-16-3-7 0-12 1-18 4-5 2-10 6-13 10l9 11c3-3 6-6 10-8 3-2 8-3 12-3 4 0 7 0 9 2 3 1 5 3 6 6 1 3 2 6 3 9 1 4 1 8 1 12l0 14-1 0c-1-5-3-9-7-12-3-3-7-5-14-5-4 0-8 1-12 4-4 2-7 6-9 10-3 4-4 9-6 15-1 6-2 13-2 20 0 7 1 13 2 19 1 6 3 11 6 15 2 5 5 8 9 10 3 3 8 4 12 4 6 0 10-2 14-5 3-3 6-6 7-11l1 0 0 13z m0-45c0 4 0 9-1 13-1 5-2 8-3 11-2 4-4 6-6 8-2 2-5 3-8 3-3 0-5-1-7-3-2-2-4-4-5-8-2-3-3-6-4-11 0-4-1-9-1-13 0-5 1-10 1-14 1-4 2-8 4-11 1-3 3-6 5-8 2-1 4-2 7-2 3 0 6 1 8 2 2 2 4 5 6 8 1 3 2 7 3 11 1 4 1 9 1 14z"/>
|
||||
<glyph glyph-name="px" unicode="|" d="M206 301l0-14 1 0c1 5 3 9 7 12 3 3 8 5 14 5 4 0 9-1 12-4 4-2 7-6 9-10 3-4 5-9 6-15 1-6 2-13 2-20 0-7-1-13-2-19-1-6-3-11-6-15-2-5-5-8-9-10-3-3-7-4-12-4-5 0-10 1-14 5-3 3-6 7-7 11l0 0 0-56-16 0 0 134z m0-45c0-5 1-10 1-14 1-4 2-8 4-11 1-3 3-6 5-8 2-1 5-2 8-2 3 0 5 1 7 2 3 2 4 5 6 8 1 3 2 7 3 11 0 4 1 9 1 14 0 4-1 9-1 13-1 5-2 8-3 11-2 3-3 6-6 8-2 2-4 2-7 2-3 0-6 0-8-2-2-2-4-5-5-8-2-3-3-6-4-11 0-4-1-9-1-13z m86 2l-23 43 17 0 15-32 13 32 17 0-22-43 24-48-17 0-16 36-16-36-17 0z"/>
|
||||
<glyph glyph-name="m-sq" unicode="" d="M204 299c4 3 8 5 15 5 3 0 6 0 8-2 2-1 4-2 6-4 2-2 3-4 4-6 1-2 2-4 2-7l1 0c0 2 2 5 3 7 1 2 3 4 5 6 2 2 4 3 7 4 2 1 5 2 9 2 4 0 8-1 12-3 3-2 5-5 7-8 1-4 2-7 3-12 1-4 1-9 1-13l0-58-16 0 0 58c0 3 0 5 0 8 0 3-1 5-2 7-1 2-2 4-4 6-1 1-4 2-7 2-2 0-5-1-7-3-2-1-4-3-5-5-2-3-3-6-4-9 0-4-1-7-1-12l0-52-15 0 0 58c0 3 0 5 0 8-1 3-1 5-2 7-1 3-2 4-4 6-2 1-4 2-7 2-2 0-5-1-7-2-2-2-4-4-5-6-2-3-3-6-4-9-1-3-1-7-1-11l0-53-15 0 0 68c0 4 0 7 0 12 0 4-1 8-1 11l15 0c0-3 0-6 1-9 0-3 0-5 0-7l0 0c1 6 4 10 8 14z m129 44c0-2-1-4-1-5-1-2-1-4-2-6-1-1-2-3-3-5-2-2-3-3-4-5l-14-20 23 0 0-7-32 0 0 8 18 24c2 3 3 6 4 8 2 3 2 5 2 8 0 3-1 5-2 7-1 3-3 4-6 4-2 0-4-1-6-3-2-2-3-4-3-7l-8 1c1 5 3 9 6 12 3 2 7 4 12 4 2 0 4-1 6-2 2-1 4-2 5-3 2-2 3-4 3-6 1-2 2-4 2-7z"/>
|
||||
<glyph glyph-name="m-cubed" unicode="" d="M204 299c4 3 8 5 15 5 3 0 6 0 8-2 2-1 4-2 6-4 2-2 3-4 4-6 1-2 2-4 2-7l1 0c0 2 2 5 3 7 1 2 3 4 5 6 2 2 4 3 7 4 2 1 5 2 9 2 4 0 8-1 12-3 3-2 5-5 7-8 1-4 2-7 3-12 1-4 1-9 1-13l0-58-16 0 0 58c0 3 0 5 0 8 0 3-1 5-2 7-1 2-2 4-4 6-1 1-4 2-7 2-2 0-5-1-7-3-2-1-4-3-5-5-2-3-3-6-4-9 0-4-1-7-1-12l0-52-15 0 0 58c0 3 0 5 0 8-1 3-1 5-2 7-1 3-2 4-4 6-2 1-4 2-7 2-2 0-5-1-7-2-2-2-4-4-5-6-2-3-3-6-4-9-1-3-1-7-1-11l0-53-15 0 0 68c0 4 0 7 0 12 0 4-1 8-1 11l15 0c0-3 0-6 1-9 0-3 0-5 0-7l0 0c1 6 4 10 8 14z m130 14c0-3-1-5-2-7 0-3-2-5-3-7-2-1-3-3-6-4-2-1-4-1-7-1-5 0-8 1-11 3-4 2-6 6-7 10l7 2c1-2 2-4 4-6 2-1 4-2 7-2 1 0 3 0 4 1 1 1 2 2 3 3 1 1 2 2 2 4 1 1 1 3 1 4 0 4-1 7-3 9-3 2-5 3-9 3l-2 0 0 7 2 0c3 0 6 1 8 3 1 2 2 5 2 8 0 2 0 3 0 4 0 1-1 2-2 3 0 1-1 2-2 3-1 1-3 1-4 1-2 0-4-1-5-2-2-1-3-2-4-4l-7 2c1 2 2 3 3 5 1 1 3 2 4 3 1 1 3 2 4 2 2 1 4 1 5 1 3 0 5-1 7-1 2-1 3-2 5-4 1-1 2-3 3-5 1-2 1-4 1-7 0-2 0-3 0-5-1-2-1-3-2-4-1-2-2-3-3-4-1-1-3-1-4-2l0 0c3-1 6-3 8-6 2-2 3-6 3-10z"/>
|
||||
<glyph glyph-name="acceleration" unicode="" d="M207 350c3 2 8 3 14 3 3 0 5 0 8-1 2 0 4-1 5-2 2-1 3-2 4-4 1-1 2-3 2-4l0 0c1 1 2 3 3 4 2 1 3 3 5 4 2 1 4 2 7 2 2 1 5 1 8 1 5 0 8 0 11-1 3-2 5-3 7-5 1-2 2-5 3-7 1-3 1-6 1-8l0-35-15 0 0 35c0 1 0 3 0 4 0 2-1 4-2 5-1 1-2 2-3 3-2 1-4 1-7 1-2 0-4 0-6-1-2-1-4-2-6-4-1-1-2-3-3-5-1-2-1-4-1-7l0-31-14 0 0 35c0 1-1 3-1 4 0 2-1 3-1 5-1 1-2 2-4 3-2 1-4 1-7 1-2 0-4 0-6-1-2-1-4-2-5-4-2-1-3-3-3-5-1-2-2-4-2-7l0-32-14 0 0 41c0 3 0 5 0 8 0 2 0 4-1 6l14 0c0-1 1-3 1-5 0-2 0-3 0-4l0 0c2 3 4 6 8 8z m112-92c0-2 0-4-1-5 0-1-1-3-2-4 0-2-1-3-2-4-1-2-2-3-3-5l-11-15 18 0 0-6-25 0 0 6 14 20c2 2 3 4 4 6 1 2 1 4 1 6 0 3 0 5-1 6-1 2-3 3-5 3-2 0-4-1-5-2-1-2-2-3-2-6l-7 1c1 4 3 7 5 9 2 2 5 3 9 3 2 0 4 0 6-1 1 0 3-1 4-3 1-1 2-2 2-4 1-2 1-3 1-5z m-112-18c-1 1-2 2-3 3-1 1-3 1-5 1-1 0-3 0-4-2-1-1-2-3-2-5 0-2 1-3 2-4 1-1 3-2 6-3 1-1 2-1 3-2 2-1 3-2 4-3 1-1 2-2 2-4 1-1 1-3 1-5 0-2 0-4-1-6-1-2-2-3-3-5-1-1-3-2-4-2-2-1-4-1-6-1-3 0-5 0-7 1-3 1-4 3-6 5l5 5c1-2 2-3 3-4 2 0 3-1 5-1 2 0 4 1 5 2 1 2 2 3 2 6 0 1 0 2-1 3 0 1-1 2-2 2 0 1-1 1-2 2-1 0-2 1-3 1-2 1-3 1-4 2-1 0-2 1-3 2-1 1-1 2-2 4 0 1-1 3-1 5 0 2 1 4 1 5 1 2 2 3 3 5 1 1 3 2 4 2 2 1 4 1 6 1 2 0 5 0 7-1 2-1 3-2 5-4z m18-16c0-2 0-4 0-6 1-2 1-4 2-5 1-1 2-3 3-3 1-1 3-2 4-2 2 0 4 1 5 2 1 2 2 3 3 5l6-3c-2-3-3-6-6-8-2-1-5-2-8-2-5 0-10 2-13 6-3 4-4 10-4 18 0 4 0 7 1 10 1 3 2 6 4 8 1 2 3 3 5 5 2 1 4 1 7 1 2 0 5 0 7-1 2-2 3-3 5-5 1-2 2-5 2-7 1-3 1-6 1-9l0-4-24 0z m16 6c0 4 0 7-2 10-1 2-3 4-6 4-1 0-3-1-4-2-1-1-2-2-2-3-1-2-1-3-2-5 0-1 0-2 0-4l16 0z m31-28c-3 0-5 0-7 1-2 2-4 3-5 5-2 3-3 5-3 8-1 3-1 6-1 10 0 4 0 7 1 10 0 3 1 5 3 8 1 2 3 3 5 5 2 1 5 1 7 1 3 0 5 0 6-1 2-1 3-1 4-2l-4-6c0 1-1 1-2 2-1 0-2 1-4 1-1 0-2-1-3-2-1-1-2-2-3-3-1-2-1-4-2-6 0-2 0-4 0-7 0-2 0-5 0-7 1-2 1-4 2-5 1-2 2-3 3-4 1-1 2-1 4-1 1 0 3 0 4 1 1 0 1 1 2 2l4-6c-3-3-6-4-11-4z m17 74l-107 0c-2 0-4 2-4 4 0 2 2 4 4 4l107 0c2 0 4-2 4-4 0-2-2-4-4-4z"/>
|
||||
<glyph glyph-name="particles" unicode="" d="M332 229c0 12 10 23 23 23 13 0 23-11 23-23 0-13-10-24-23-24-13 0-23 11-23 24z m-54-68c0 13 10 23 23 23 13 0 23-10 23-23 0-13-10-23-23-23-13 0-23 10-23 23z m-62-18c0 13 11 23 24 23 12 0 23-10 23-23 0-13-11-23-23-23-13 0-24 10-24 23z m-46 60c0 13 10 23 23 23 13 0 23-10 23-23 0-13-10-23-23-23-13 0-23 10-23 23z m81-138c-5 3-8 9-9 15-1 6 1 12 4 17 4 5 9 8 15 9 6 1 13 0 18-4 5-4 8-9 9-15 1-6-1-13-4-18-4-4-9-8-16-9-6-1-12 1-17 5z m-183 201c0 13 10 23 23 23 13 0 23-10 23-23 0-13-10-23-23-23-13 0-23 10-23 23z m111 46c0 13 10 24 23 24 13 0 23-11 23-24 0-12-10-23-23-23-13 0-23 11-23 23z m71-94c0 13 11 23 24 23 12 0 23-10 23-23 0-13-11-23-23-23-13 0-24 10-24 23z m163 52c0 13 10 23 23 23 13 0 23-10 23-23 0-13-10-23-23-23-12 0-23 10-23 23z m-111 38c0 13 11 23 23 23 13 0 24-10 24-23 0-13-11-23-24-23-12 0-23 10-23 23z m-170 90c0 13 11 24 24 24 12 0 23-11 23-24 0-12-11-23-23-23-13 0-24 11-24 23z m235-23c0 13 10 23 23 23 13 0 23-10 23-23 0-13-10-23-23-23-13 0-23 10-23 23z"/>
|
||||
<glyph glyph-name="voxels" unicode="" d="M434 379l-85 49c-4 2-10 2-14 0l-77-45-79 46c-4 2-10 2-14 0l-85-49c-4-3-7-7-7-12l0-98c0-5 3-10 7-13l78-45 0-89c0-5 3-10 7-12l85-49c2-2 5-2 7-2 2 0 5 0 7 2l85 49c4 2 7 7 7 12l0 88 78 45c5 3 7 7 7 12l0 99c0 5-2 9-7 12z m-21-88l-59 34 0 68 59-35z m-69-55l-73 42 0 80 59 35 0-68-29-17c-6-3-8-11-4-16 2-4 6-6 10-6 2 0 4 0 6 1l29 17 60-34z m-75-57l0 66 59-34 0-66z m-26 113l-59 34 0 68 59-34z m-142 68l59 34 0-68-31-18c-6-3-8-11-5-17 2-3 7-6 11-6 2 0 4 1 6 2l31 18 59-34-60-34-70 41z m156-270l-71 41 0 81 59 34 0-67-28-16c-6-3-8-11-5-17 3-3 7-6 11-6 2 0 4 1 6 2l28 16 59-34z"/>
|
||||
<glyph glyph-name="lock" unicode="" d="M389 233l0 62c0 68-55 124-123 124-69 0-124-56-124-124l0-62c-24-4-44-26-44-52l0-74c0-29 24-52 52-52l230 0c29 0 53 23 53 52l0 74c0 26-18 48-44 52z m-123 129c37 0 67-30 67-67l0-61-135 0 0 61c0 37 31 67 68 67z"/>
|
||||
<glyph glyph-name="visible" unicode="" d="M258 116c-55 0-106 17-147 51-31 25-47 51-47 52-4 7-4 16 1 23 2 4 66 98 195 96 133-3 192-93 195-97 4-6 4-15 0-22 0-1-15-27-46-53-29-23-79-50-151-50 0 0 0 0 0 0z m-148 113c7-7 17-18 30-29 34-27 73-40 118-40 0 0 0 0 0 0 47 0 88 13 122 40 13 10 23 21 29 29-7 7-16 16-30 26-34 25-74 38-119 38-81 2-130-42-150-64z m-27 1z m227-4c0-25-21-46-47-46-26 0-47 21-47 46 0 26 21 47 47 47 26 0 47-21 47-47z"/>
|
||||
<glyph glyph-name="model" unicode="" d="M494 395c-2 5-8 8-13 7l-90-16 45 72c3 5 2 11-1 15-4 4-10 5-15 3l-213-98c-15 5-72 27-111 43 0 0-1 0-1 0 0 0 0 0 0 0 0 0-1 0-1 1 0 0-1 0-1 0 0 0-1 0-1 0 0 0 0 0 0 0-1 0-1 0-2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-1 0-1 0 0 0 0 0 0-1-1 0-1 0-2 0 0 0 0 0 0 0 0 0-1 0-1 0 0 0 0-1 0-1-1 0-2 0-3-1 0 0 0 0 0 0 0-1-1-1-1-1 0 0 0 0 0 0 0 0 0-1 0-1-1 0-1 0-1 0 0 0 0 0 0-1 0 0 0 0-1-1l-27-52-33-40c-3-4-3-10 0-15 2-3 6-5 10-5 1 0 2 0 4 1l50 17 40 2-26-51c-3-4-2-9 1-13 1-1 26-30 52-58 15-17 28-30 38-40 6-6 11-11 15-14l-16-61-46-18c-6-3-9-10-6-16 2-5 6-8 11-8 1 0 3 1 4 1l45 18 17-15c2-3 5-4 8-4 4 0 7 2 9 5 5 5 4 12-1 17l-17 15 16 61 76-90c2-2 6-4 9-4 1 0 2 0 3 0l85 23c5 2 8 6 9 11 0 5-2 9-7 12l-136 72 45 91 178 123c5 3 6 9 4 15z m-200-117l-122 55 41 21 181 83z m-148 73l-24 33c16-6 39-15 54-21z m-59-6l-9 13 15 29 27-38 2-2z m36-77l23 44c18-45 35-91 47-121-19 20-45 49-70 77z m194-194l-57 68 105-55z m-94 101c-5 14-42 104-30 77 0-2-21 49-28 66l121-59-48-95z m108 120l43 63 70 16z"/>
|
||||
<glyph glyph-name="avatar-2" unicode="" d="M256 88c-93 0-169 75-169 168 0 93 76 169 169 169 93 0 169-76 169-169 0-93-76-168-169-168z m0 316c-81 0-148-66-148-148 0-81 67-147 148-147 81 0 148 66 148 147 0 82-67 148-148 148z m97-90l-1 1c-3 3-7 4-10 4-1 0-61-9-86-9-1 0-1 0-2 0-25 0-87 10-87 10-5 0-10-2-13-6l-1-2c-2-3-2-7-1-10 1-4 3-6 6-8 12-5 49-20 60-22 2 0 5 0 6-7 1-8-3-46-7-65-5-17-13-40-13-41-2-6 1-13 7-15l8-3c3-1 6-1 9 1 3 1 5 4 6 7l21 65 20-67c1-3 3-6 6-7 2-1 4-1 5-1 2 0 3 0 5 0l7 3c5 2 8 8 7 14 0 0-6 24-11 44-3 12-4 30-5 45 0 9-1 16-2 22 0 1 0 4 5 5 0 0 1 0 2 0l55 22c4 2 6 5 7 9 1 4 0 8-3 11z m-68 37c0-16-13-29-29-29-16 0-29 13-29 29 0 16 13 29 29 29 16 0 29-13 29-29z"/>
|
||||
<glyph glyph-name="arrow-dn" unicode="5" d="M258 219l-43 55 86 0z"/>
|
||||
<glyph glyph-name="arrow-up" unicode="6" d="M258 283l43-55-86 0z"/>
|
||||
<glyph glyph-name="time" unicode="" d="M256 390c-73 0-132-59-132-132 0-73 59-132 132-132 73 0 132 59 132 132 0 73-59 132-132 132z m60-162l1 0-64 0c-2 0-4 0-6 1-8 2-15 10-15 19l0 0 2 92c0 11 9 20 19 20 11 0 20-9 20-20l-1-72 44 0c11 0 20-9 20-20 0-10-9-20-20-20z"/>
|
||||
<glyph glyph-name="transparency" unicode="" d="M349 349c1 0 3-1 3-3l0-181c0-2-2-3-3-3l-182 0c-1 0-3 1-3 3l0 181c0 2 2 3 3 3l182 0m0 17l-182 0c-11 0-20-9-20-20l0-181c0-11 9-20 20-20l182 0c11 0 20 9 20 20l0 181c0 11-9 20-20 20z m-187-108l96 0 0-96-96 0z m94 94l96 0 0-95-96 0z"/>
|
||||
<glyph glyph-name="unmuted" unicode="G" d="M298 255c-1-8-2-17-3-25-2-7-4-15-6-22-2-6-1-11 3-14 7-6 16-3 19 6 8 23 12 47 9 71-1 14-4 27-9 40-3 7-12 10-18 5-5-3-7-8-4-14 5-15 8-31 9-47m-35 81c0 12-5 20-16 24-7 3-19 2-27-7-11-12-22-24-34-37-1-1-3-1-5-2-4 0-7 0-11 0-3 0-5 0-8 0-15 0-26-10-26-23 0-28 0-42 0-71 0-11 10-22 21-23 4 0 9 0 14 0 3-1 7-1 10-1 2 0 4-1 5-2 10-11 22-23 33-36 6-6 12-9 20-9 3 0 5 1 8 2 11 3 16 12 16 24 0 22 0 39 0 59l0 43c0 19 0 59 0 59m-26-3l0-155-1 1c-3 3-5 5-7 7l-8 9c-8 9-16 17-23 25-2 2-4 2-6 2-4 1-9 1-13 1-2 0-4 0-7 0l-9 0 0 65 2 0c3 0 5 0 8 0 6 0 12 0 18 0 0 0 0 0 0 0 3 0 5 1 8 4 10 10 20 21 30 32z m140-78c0 3-1 6-1 10-1 7-1 14-2 22-3 15-7 31-14 47-2 4-5 7-9 8-4 1-8 0-11-3-5-4-6-10-4-16 9-22 13-42 14-64 1-24-4-49-14-72-1-4-2-8 0-11 1-3 4-6 7-7 2-1 4-1 5-1 6 0 10 3 13 9 10 25 15 51 16 78z"/>
|
||||
<glyph glyph-name="user" unicode="" d="M257 406c-83 0-151-68-151-151 0-83 68-150 151-150 83 0 150 67 150 150 0 83-67 151-150 151z m0-282c-73 0-132 59-132 131 0 73 59 132 132 132 73 0 132-59 132-132 0-72-59-131-132-131z m45 179c0-24-19-43-42-43-24 0-43 19-43 43 0 23 19 42 43 42 23 0 42-19 42-42z m-10-71l-62 0c-25 0-53-12-53-37l0-18c26-23 50-32 77-32 32 0 69 14 85 33l0 17c0 25-22 37-47 37z"/>
|
||||
<glyph glyph-name="edit-pencil" unicode="" d="M341 403c9 9 18 19 28 28 4 4 9 3 12-1 17-16 33-32 50-49 3-4 4-8 0-12-10-10-20-19-29-29-20 21-41 42-61 63z m-25-23c-1-2-2-4-3-5-9-9-17-17-26-26-49-49-153-152-175-175-5-5-9-11-10-19-3-22-6-43-10-66 3 1 4 1 6 1 20 4 41 8 62 13 4 1 8 3 11 6 21 21 109 108 163 162 13 14 27 28 41 42 2 1 3 3 4 3-21 21-41 42-63 64z m-158-231c-6 6-12 12-17 17 21 21 137 137 177 177 5-5 11-11 16-17-7-7-14-14-21-22-50-50-138-137-155-155z"/>
|
||||
<glyph glyph-name="muted" unicode="H" d="M377 274l-57-57c-5-5-13-5-18 0-5 5-5 13 0 18l57 57c5 5 13 5 18 0 5-5 5-13 0-18m-18-57l-57 57c-5 5-5 13 0 18 5 5 13 5 18 0l57-57c5-5 5-13 0-18-5-5-13-5-18 0m-95 120c0 12-6 21-17 25-8 3-20 3-29-7-11-12-23-25-35-37-1-2-3-2-4-3-4 0-8 0-12 0-3 0-6 0-8 0-15 0-27-11-27-24 0-29 0-42 0-73 0-11 10-22 21-23 5-1 10-1 15-1 4 0 7 0 11 0 1 0 3-1 4-2 11-12 23-24 35-37 5-7 12-10 20-10 3 0 6 1 9 2 11 4 17 13 17 25 0 22 0 40 0 60l0 45c0 20 0 60 0 60m-28-3l0-159-1 1c-3 3-5 5-7 8l-9 9c-8 9-16 17-24 26-1 1-3 2-5 2-5 0-9 0-14 0-2 0-5 0-7 0l-10 0 0 67 3 0c3 0 5 0 8 0 6 0 12 0 19 0 0 0 0 0 0 0 3 0 5 1 8 4 10 11 20 22 31 34z"/>
|
||||
<glyph glyph-name="vol-0" unicode="" d="M109 352c-2-2-5-4-8-4-7 0-13 0-18 0-2 0-4 0-7 0-2 0-4 0-6 0-23 0-41-16-41-37 0-44 0-65 0-113 1-17 15-33 32-35 8-1 16-1 23-1l1 0c5 0 11 0 16 0 3 0 6-2 8-4 15-15 35-37 54-58 8-9 18-14 30-14 4 0 8 1 12 2 16 6 23 19 23 39l0 162c0 31 2 94 2 95 0 19-9 31-25 37-11 5-29 4-42-10-20-23-37-42-54-59z m66 14l15 18 0-259-4 7c-2 2-4 4-6 6-1 2-3 4-5 6l-13 14c-3 3-6 6-9 10-9 10-18 20-27 30-2 2-6 3-8 3-6 0-13 0-21 0l-29 0 0 106 7 0c3 0 5 0 8 0 1 0 2 0 4 0 5 0 11 0 16 0 4 0 9 0 13 0l1 0c4 0 7 2 11 6 7 8 14 16 21 23 8 10 17 20 26 30z"/>
|
||||
<glyph glyph-name="vol-1" unicode="" d="M109 352c-2-2-5-4-8-4-7 0-13 0-18 0-2 0-4 0-7 0-2 0-4 0-6 0-23 0-41-16-41-37 0-44 0-65 0-113 1-17 15-33 32-35 8-1 16-1 23-1l1 0c5 0 11 0 16 0 3 0 6-2 8-4 15-15 35-37 54-58 8-9 18-14 30-14 4 0 8 1 12 2 16 6 23 19 23 39l0 162c0 31 2 94 2 95 0 19-9 31-25 37-11 5-29 4-42-10-20-23-37-42-54-59z m66 14l15 18 0-259-4 7c-2 2-4 4-6 6-1 2-3 4-5 6l-13 14c-3 3-6 6-9 10-9 10-18 20-27 30-2 2-6 3-8 3-6 0-13 0-21 0l-29 0 0 106 7 0c3 0 5 0 8 0 1 0 2 0 4 0 5 0 11 0 16 0 4 0 9 0 13 0l1 0c4 0 7 2 11 6 7 8 14 16 21 23 8 10 17 20 26 30z m89-110c0 32-15 58-34 58-19 0-34-26-34-58 0-32 15-58 34-58 19 0 34 26 34 58z"/>
|
||||
<glyph glyph-name="vol-2" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m-195 98c-2-2-5-4-8-4-7 0-13 0-18 0-2 0-4 0-7 0-2 0-4 0-6 0-23 0-41-16-41-37 0-44 0-65 0-113 1-17 15-33 32-35 8-1 16-1 23-1l1 0c5 0 11 0 16 0 3 0 6-2 8-4 15-15 35-37 54-58 8-9 18-14 30-14 4 0 8 1 12 2 16 6 23 19 23 39l0 162c0 31 2 94 2 95 0 19-9 31-25 37-11 5-29 4-42-10-20-23-37-42-54-59z m66 14l15 18 0-259-4 7c-2 2-4 4-6 6-1 2-3 4-5 6l-13 14c-3 3-6 6-9 10-9 10-18 20-27 30-2 2-6 3-8 3-6 0-13 0-21 0l-29 0 0 106 7 0c3 0 5 0 8 0 1 0 2 0 4 0 5 0 11 0 16 0 4 0 9 0 13 0l1 0c4 0 7 2 11 6 7 8 14 16 21 23 8 10 17 20 26 30z m89-110c0 32-15 58-34 58-19 0-34-26-34-58 0-32 15-58 34-58 19 0 34 26 34 58z"/>
|
||||
<glyph glyph-name="vol-3" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m-195 98c-2-2-5-4-8-4-7 0-13 0-18 0-2 0-4 0-7 0-2 0-4 0-6 0-23 0-41-16-41-37 0-44 0-65 0-113 1-17 15-33 32-35 8-1 16-1 23-1l1 0c5 0 11 0 16 0 3 0 6-2 8-4 15-15 35-37 54-58 8-9 18-14 30-14 4 0 8 1 12 2 16 6 23 19 23 39l0 162c0 31 2 94 2 95 0 19-9 31-25 37-11 5-29 4-42-10-20-23-37-42-54-59z m66 14l15 18 0-259-4 7c-2 2-4 4-6 6-1 2-3 4-5 6l-13 14c-3 3-6 6-9 10-9 10-18 20-27 30-2 2-6 3-8 3-6 0-13 0-21 0l-29 0 0 106 7 0c3 0 5 0 8 0 1 0 2 0 4 0 5 0 11 0 16 0 4 0 9 0 13 0l1 0c4 0 7 2 11 6 7 8 14 16 21 23 8 10 17 20 26 30z m245-112c-1 6-1 11-2 16-1 11-2 23-3 35-4 25-12 51-22 76-3 6-8 11-14 12-7 2-13 1-19-4-8-6-10-15-5-26 13-34 21-67 21-102 1-39-6-78-22-116-2-6-3-13 0-18 2-5 6-9 12-11 2-1 5-2 8-2 8 0 16 6 20 16 16 39 25 81 26 124z m-156 2c0 32-15 58-34 58-19 0-34-26-34-58 0-32 15-58 34-58 19 0 34 26 34 58z"/>
|
||||
<glyph glyph-name="vol-4" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m-195 98c-2-2-5-4-8-4-7 0-13 0-18 0-2 0-4 0-7 0-2 0-4 0-6 0-23 0-41-16-41-37 0-44 0-65 0-113 1-17 15-33 32-35 8-1 16-1 23-1l1 0c5 0 11 0 16 0 3 0 6-2 8-4 15-15 35-37 54-58 8-9 18-14 30-14 4 0 8 1 12 2 16 6 23 19 23 39l0 162c0 31 2 94 2 95 0 19-9 31-25 37-11 5-29 4-42-10-20-23-37-42-54-59z m66 14l15 18 0-259-4 7c-2 2-4 4-6 6-1 2-3 4-5 6l-13 14c-3 3-6 6-9 10-9 10-18 20-27 30-2 2-6 3-8 3-6 0-13 0-21 0l-29 0 0 106 7 0c3 0 5 0 8 0 1 0 2 0 4 0 5 0 11 0 16 0 4 0 9 0 13 0l1 0c4 0 7 2 11 6 7 8 14 16 21 23 8 10 17 20 26 30z m245-112c-1 6-1 11-2 16-1 11-2 23-3 35-4 25-12 51-22 76-3 6-8 11-14 12-7 2-13 1-19-4-8-6-10-15-5-26 13-34 21-67 21-102 1-39-6-78-22-116-2-6-3-13 0-18 2-5 6-9 12-11 2-1 5-2 8-2 8 0 16 6 20 16 16 39 25 81 26 124z m-156 2c0 32-15 58-34 58-19 0-34-26-34-58 0-32 15-58 34-58 19 0 34 26 34 58z m173-186c-4 0-7 1-10 3-10 5-13 18-8 27 45 79 61 208-4 322-6 9-3 22 7 27 10 6 22 2 27-7 74-127 55-273 5-362-4-6-10-10-17-10z"/>
|
||||
<glyph glyph-name="vol-x-0" unicode="" d="M209 196l-57 58 56 57c9 9 9 22 0 31-8 8-22 8-30-1l-57-57-57 58c-8 8-22 8-30-1-9-8-9-22 0-30l57-58-53-58c-9-9-9-22 0-31 8-8 22-8 30 0l54 58 57-57c8-8 22-8 30 0 9 9 8 23 0 31z"/>
|
||||
<glyph glyph-name="vol-x-1" unicode="" d="M248 305l-48-48 48-50c10 10 16 28 16 49 0 21-6 39-16 49z m-39-109l-57 58 56 57c9 9 9 22 0 31-8 8-22 8-30-1l-57-57-57 58c-8 8-22 8-30-1-9-8-9-22 0-30l57-58-53-58c-9-9-9-22 0-31 8-8 22-8 30 0l54 58 57-57c8-8 22-8 30 0 9 9 8 23 0 31z"/>
|
||||
<glyph glyph-name="vol-x-2" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m-56 51l-48-48 48-50c10 10 16 28 16 49 0 21-6 39-16 49z m-39-109l-57 58 56 57c9 9 9 22 0 31-8 8-22 8-30-1l-57-57-57 58c-8 8-22 8-30-1-9-8-9-22 0-30l57-58-53-58c-9-9-9-22 0-31 8-8 22-8 30 0l54 58 57-57c8-8 22-8 30 0 9 9 8 23 0 31z"/>
|
||||
<glyph glyph-name="vol-x-3" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m116 0c-1 6-1 11-2 16-1 11-2 23-3 35-4 25-12 51-22 76-3 6-8 11-14 12-7 2-13 1-19-4-8-6-10-15-5-26 13-34 21-67 21-102 1-39-6-78-22-116-2-6-3-13 0-18 2-5 6-9 12-11 2-1 5-2 8-2 8 0 16 6 20 16 16 39 25 81 26 124z m-172 51l-48-48 48-50c10 10 16 28 16 49 0 21-6 39-16 49z m-39-109l-57 58 56 57c9 9 9 22 0 31-8 8-22 8-30-1l-57-57-57 58c-8 8-22 8-30-1-9-8-9-22 0-30l57-58-53-58c-9-9-9-22 0-31 8-8 22-8 30 0l54 58 57-57c8-8 22-8 30 0 9 9 8 23 0 31z"/>
|
||||
<glyph glyph-name="vol-x-4" unicode="" d="M304 254c-2-13-3-26-5-39-2-12-6-24-10-36-3-10-1-17 5-22 12-9 26-5 31 9 14 37 19 75 15 115-3 21-8 43-16 63-4 12-18 16-28 9-8-5-10-13-7-24 9-24 14-49 15-75m116 0c-1 6-1 11-2 16-1 11-2 23-3 35-4 25-12 51-22 76-3 6-8 11-14 12-7 2-13 1-19-4-8-6-10-15-5-26 13-34 21-67 21-102 1-39-6-78-22-116-2-6-3-13 0-18 2-5 6-9 12-11 2-1 5-2 8-2 8 0 16 6 20 16 16 39 25 81 26 124z m17-184c-4 0-7 1-10 3-10 5-13 18-8 27 45 79 61 208-4 322-6 9-3 22 7 27 10 6 22 2 27-7 74-127 55-273 5-362-4-6-10-10-17-10z m-189 235l-48-48 48-50c10 10 16 28 16 49 0 21-6 39-16 49z m-39-109l-57 58 56 57c9 9 9 22 0 31-8 8-22 8-30-1l-57-57-57 58c-8 8-22 8-30-1-9-8-9-22 0-30l57-58-53-58c-9-9-9-22 0-31 8-8 22-8 30 0l54 58 57-57c8-8 22-8 30 0 9 9 8 23 0 31z"/>
|
||||
<glyph glyph-name="share-ext" unicode="" d="M135 133c0 71 0 127 0 198 51 0 85 0 136 0 1 0 1-1 1-1-4-3-7-7-11-10-4-4-8-10-13-12-5-2-11 0-17 0-28 0-39 0-67 0-2 0-3 0-5 0 0-56 0-96 0-151 55 0 94 0 149 0 0 2 0 3 0 5 0 32 0 50 0 82 0 3 1 5 3 7 7 7 14 13 20 20 0-51 0-87 0-138-71 0-125 0-196 0z m202 222c-21 0-42 0-64 0 0 8 0 16 0 24 35 0 71 0 106 0 0-36 0-71 0-107-8 0-15 0-23 0 0 22 0 43 0 65-49-49-97-97-145-145-6 7-12 12-17 17 48 48 96 97 144 145 0 0 0 1-1 1z"/>
|
||||
<glyph glyph-name="ellipsis" unicode="" d="M174 232c-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24 0-14-11-24-24-24z m78 0c-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24 0-14-11-24-24-24z m78 0c-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24 0-14-11-24-24-24z"/>
|
||||
<glyph glyph-name="check" unicode="" d="M256 426c95 0 172-77 171-173 0-93-77-169-171-169-95 0-171 77-171 173 0 93 78 169 171 169z m-23-192c-2 3-3 5-4 6-13 13-26 26-39 39-10 11-26 12-36 2-10-10-10-25 1-36 20-21 40-41 60-61 11-10 26-10 36 0 36 35 71 71 106 107 4 3 7 9 8 14 2 10-3 21-13 26-10 4-21 3-29-5-28-29-57-57-85-86-2-1-3-3-5-6z"/>
|
||||
<glyph glyph-name="sliders" unicode="&" d="M185 371l-35 0c-9 0-17-8-17-16 0-9 8-16 17-16l35 0z m190 0l-99 0 0-32 99 0c9 0 17 7 17 16 0 8-8 16-17 16m-163-195l-62 0c-9 0-17-8-17-17 0-9 8-16 17-16l62 0z m163 0l-71 0 0-33 71 0c9 0 17 7 17 16 0 9-8 17-17 17m-63 95l-162 0c-9 0-17-6-17-15 0-9 8-16 17-16l162 0z m-63 120c2 0 4-1 6-4 2-1 2-4 2-8l0-48c0-4 0-7-2-8-2-3-4-4-6-4l-36 0c-2 0-4 1-6 4-2 2-2 5-2 8l0 48c0 4 0 6 2 8 2 3 4 4 6 4z m126-100c2 0 4-1 6-4 2-2 2-5 2-8l0-48c0-2-1-5-2-8-2-2-4-4-6-4l-34 0c-2 0-4 2-6 4-2 2-3 5-3 8l0 48c0 4 1 7 3 8 2 3 4 4 6 4z m-100-96c2 0 5-1 7-3 2-3 2-6 2-9l0-48c0-2 0-5-2-8-2-3-4-4-7-4l-36 0c-3 0-5 1-6 4-2 2-3 5-3 8l0 48c0 4 1 6 3 9 1 2 4 3 6 3z"/>
|
||||
<glyph glyph-name="polyline" unicode="" d="M150 90c1 0 3 0 5-1 4-1 8 0 12 2 3 1 6 5 7 9 1 3 0 8-2 11-2 3-5 6-9 7-2 1-4 1-5 1-4 1-8 1-12-1-3-2-6-6-7-9-1-4-1-8 2-12 2-3 5-6 9-7z m-55 36c1-2 2-3 3-5 1 0 1-1 2-1 0-1 1-2 2-2 3-3 6-5 10-5 2 0 4 1 6 2 2 0 4 1 5 3 2 3 4 6 4 10 0 4-1 8-4 11-1 1-3 2-4 4 1-1 2-2 3-3-1 0-1 1-1 1-2 3-6 6-9 7-2 1-4 1-6 0-2 0-4 0-6-2-3-2-6-5-7-9-1-4 0-7 2-11z m-15 64c0-3 0-6 0-8 0-4 1-8 4-11 3-3 7-5 11-4 8 0 15 6 15 15 0 2 0 5 0 8 0 4-2 8-5 10-2 3-6 5-10 5-9-1-15-7-15-15z m22 87c-5-10-9-21-12-32-2-8 3-17 10-19 9-1 16 3 19 11 2 8 5 17 9 25 3 7 2 16-6 20-6 4-17 2-20-5z m59 82c-12-12-23-24-33-38-5-6-2-16 5-20 8-5 16-1 20 5 8 11 19 22 29 32 6 5 6 15 0 21-6 6-15 5-21 0z m104-63c-19-8-25-31-20-50 4-21 23-33 43-34 21-2 40 10 52 26 12 18 14 41 8 62-7 20-21 37-40 47-19 9-42 11-63 4-39-12-65-49-69-89-3-38 15-77 45-100 33-27 78-34 119-23 80 23 131 113 109 193-10 37-37 66-72 81-40 16-88 11-128-3-10-3-21-8-31-13-7-3-9-13-5-20 4-7 13-9 20-5 32 15 68 24 104 20 15-1 30-6 42-14 3-1 6-3 9-6 2-1-2 2 0 0 1 0 2-1 2-2 2-1 4-2 5-4 3-2 5-5 7-7 0 0 4-5 2-3 1-1 2-3 3-4 2-3 4-6 6-9 1-2 2-4 2-6 1 0 1-1 1-2-1 3 1-1 1-1 3-8 5-16 6-25 0 2 0-1 0-1 1-1 1-2 1-3 0-2 0-4 0-6 0-5 0-10 0-15-1-7-2-14-4-23-4-16-10-29-20-43-1-2-2-4-4-5 0-1-1-3 0-1-1-1-1-2-2-2-2-3-5-7-8-9-2-3-5-5-8-8-1-1-3-2-4-4 0 0-2-2-1 0-1-1-2-2-3-3-14-10-26-15-41-19-9-2-14-3-23-3-9-1-17 0-23 1-16 3-31 9-43 19-1 1-5 4-7 7-3 2-6 5-8 8 0 1-2 3-1 1 0 0 0 1-1 2-1 1-2 3-3 5-2 3-4 6-6 10 0 1-2 5-1 3-1 1-2 3-2 5-2 4-3 8-3 12-1 1-1 3-1 5-1 2 0-2 0 0 0 1 0 2-1 3 0 4 0 8 0 12 0 2 1 4 1 6 0 3 0 1 0 0 0 1 0 2 0 3 1 4 2 8 3 11 1 2 1 4 2 5 0 0 1 3 0 2 0-2 1 1 1 1 2 4 4 7 6 11 1 1 2 2 3 4-1-2 0 0 0 0 1 1 2 2 2 2 3 3 6 6 9 9 0 0 2 1 0 0 1 1 2 1 3 2 1 1 3 2 5 3 3 2 7 4 10 5 8 3 14 4 22 4 2 0 5 0 7-1-2 1 2 0 3 0 2-1 4-1 5-2 1 0 2-1 3-1-2 1 1 0 1-1 4-1 7-3 10-5-1 1 2-2 3-2 1-2 3-4 4-5 1-1 2-2 2-3 0 1-1 2 1 0 1-2 2-3 3-5 1-2 2-3 3-5 1-3 0-2 0-1 0-1 1-3 1-4 1-2 1-4 2-5 0-1 0-2 0-4 0 2 1 0 1 0 0-3 0-5 0-7 0-1 0-2 0-2 0-1 0-1 0 0 0-1 0-2-1-2 0-2 0-4-1-6 0-1-1-2-1-3-1-2 1 2 0 0-1-2-2-3-3-5 0-1-1-1-1-2-3-4 1 1-1-1-1-1-2-3-3-4-1 0-5-4-3-2-2-1-3-2-5-3 0 0-1-1-2-1-1-1 2 0-1-1-2 0-4-1-6-1 3 1-1 0-2 0-1 0-3 0-4 0 3 0 0 0 0 0-1 1-3 1-4 1 0 0-3 1-1 1 2-1 0 0 0 0-2 1-4 2-5 3 2-2-1 1-2 2 2-2-1 1-1 2-2 2 0 1 0 0 0 1-1 2-1 2 0 1 0 2 0 2-1 2 0-2 0 0 0 1-1 3-1 4 0 1 1 2 1 3 0-3 0-1 0 0 0 1 0 2 1 3 0 0 1 3 0 1-1-2 1 2 2 2-2-2 0 1 1 2-2-2 2 0 3 1 7 3 9 14 5 20-5 8-13 10-21 6z"/>
|
||||
<glyph glyph-name="source" unicode="" d="M397 222c-40 0-73-28-76-67-41 9-57 54-59 60-16 47-46 69-90 69-4 0-7 0-10-1l-3 0c-1 0-1 0-2 0l-2-2c-7-4-27-13-42-13-27 0-49 22-49 49 0 26 22 48 49 48 27 0 49-22 49-48 0-3 0-8 0-8 0-1 0-1 0-2 1-1 2-1 2-1l181-1c1 0 2 1 2 1 1 1 1 2 1 2 0 0 0 6 0 9 0 26 22 48 49 48 27 0 49-22 49-48 0-27-22-49-49-49-11 0-21 4-30 10 0 1-1 1-1 1-1 0-1 0-1 0-1 0-1-1-2-1l-14-19c0-1-1-1-1-2 1-1 1-1 1-2 14-10 31-16 48-16 43 0 78 35 78 77 0 43-35 77-78 77-41 0-74-26-77-65l-131 0c-3 39-36 66-76 66-43 0-78-35-78-77 0-43 35-77 78-77 21 0 45 9 54 15 2 0 3 0 4 0 31 0 51-14 63-49 1-3 26-79 101-79l0 0 12 0c1 0 2 1 2 1 1 1 1 1 1 2 0 0-1 16-1 18 0 26 21 45 48 45 27 0 49-21 49-48 0-26-22-48-49-48-11 0-21 3-30 10 0 0-1 0-1 0 0 0-1 0-1 0 0 0-1 0-2-1l-14-18c0-1-1-2 0-2 0-1 0-2 1-2 13-10 30-16 47-16 43 0 78 35 78 77 0 43-35 77-78 77z"/>
|
||||
<glyph glyph-name="playback-play" unicode="" d="M128 416l256-160-256-160z"/>
|
||||
<glyph glyph-name="stop-square" unicode="" d="M384 128l-256 0 0 256 256 0z"/>
|
||||
<glyph glyph-name="avatar-t-pose" unicode="" d="M274 70c-1 0-1 0-1 0-12-1-14 2-14 12 0 0 0 133 0 135-3 0-6 0-9 0-2-10 1-140 1-140-1-7-2-8-9-8-2 0-5 0-7 0-8 109-16 188-16 188 0 24 0 46 0 66-1-1-33 0-44 1-15 0-62 1-79 1-8 0-14 3-18 10-1 2-2 4-4 6 8 1 15 1 22 1 35 2 99 9 100 13 14 10 23 10 36 10 15 0 31 0 46-1 11-1 24 3 37-10 20-10 81-11 123-11 0 0 1 0 1-1-4-11-12-17-25-16-29-1-77-3-127-1 1-20 1-42 2-66 0 0-6-59-15-189z m-13 372c16-6 14-20 13-32 0-5-1-10-1-14-2-11-10-18-20-18-11 0-19 8-20 18-1 6-1 13-2 20-1 7 3 13 11 15 10 3 10 3 19 11z"/>
|
||||
<glyph glyph-name="check-1" unicode="" d="M233 234c-2 3-3 5-4 6-13 13-26 26-39 39-10 11-26 12-36 2-10-10-10-25 1-36 20-21 40-41 60-61 11-10 26-10 36 0 36 35 71 71 106 107 4 3 7 9 8 14 2 10-3 21-13 26-10 4-21 3-29-5-28-29-57-57-85-86-2-1-3-3-5-6z"/>
|
||||
<glyph glyph-name="exchange" unicode="" d="M315 344c0 8 0 15 0 22 0 7 0 13 1 20 0 2 2 5 3 6 3 1 6 0 8-1 1 0 2-1 2-1 21-21 41-42 62-62 5-5 5-8 0-13-21-21-42-42-62-63-5-4-11-4-13 1-1 1-1 3-1 5 0 11 0 22 0 33 0 2 0 3 0 6-2 0-4 0-5 0-61 0-122 0-183 0-9 0-10 1-10 10 0 10 0 19 0 29 0 6 2 8 8 9 1 0 2 0 4 0 60 0 120 0 180 0 2-1 4-1 6-1z m-116-121c2 0 4 0 6 0 61 0 122 0 182 0 9 0 11-1 11-10 0-10 0-19 0-29 0-6-3-8-9-9-1 0-3 0-4 0-60 0-120 0-180 0-2 0-4 0-6 0 0-2 0-3 0-5 0-11 0-23 0-34 0-4-1-6-4-8-4-1-6 0-9 2-21 22-42 43-64 64-4 4-4 7 1 12 21 21 42 42 63 63 3 3 6 4 9 2 3-1 4-4 4-7 0-12 0-24 0-35 0-2 0-3 0-6z"/>
|
||||
<glyph glyph-name="hfc" unicode="" d="M370 142c-12-23-30-42-51-55-12-8-25-14-39-18-38-12-79-7-115 12-35 19-61 51-72 90-12 38-7 79 12 114 12 23 29 42 50 55 7 5 14 8 22 12l1-229c10-6 22-11 34-14l-1 251c13 2 31 2 50 2l1-254c12 2 24 6 34 11l0 244c37 0 72-1 84-1l7 33c-15 0-52 1-91 1l0 57 166 1 0 34-201-1 1-91c-19 0-37-1-51-2l-1 93-34-1 1-98c-44-15-80-45-102-86-24-44-29-94-15-141 14-47 46-86 89-110 44-23 94-29 141-15 17 6 33 13 48 22 26 17 47 40 62 68 8 14 13 28 17 44-11 2-22 4-33 7-3-12-8-24-14-35z"/>
|
||||
<glyph glyph-name="home-1" unicode="" d="M155 273c-5 0-10 2-14 7-5 7-3 17 5 23l29 19 84 59 109-79c8-5 9-15 4-22-5-8-16-9-23-4l-90 65-65-46-30-19c-3-2-6-3-9-3z m84-78c0 12 10 21 21 21 11 0 21-10 21-21l0-60 75 0 0 89-32 24-64 46-68-46-33-21 0-92 80 0 0 60z"/>
|
||||
<glyph glyph-name="private-key" unicode="" d="M238 263c-30 43-16 96 20 121 34 25 82 21 112-8 30-31 33-79 8-114-25-34-77-48-120-18-21-21-41-41-61-61 2-3 5-6 7-8 6-6 12-12 18-18 3-3 3-5 0-7-3-3-6-6-9-9-3-3-5-3-7 0-5 5-9 9-14 14-5-5-9-10-14-15 4-4 9-9 14-14 2-2 2-4 0-6-4-3-7-7-10-10-3-2-4-2-6 0-14 14-28 28-42 42-4 3-2 5 0 7 33 33 67 66 100 99 1 2 3 3 4 5z m131 51c0 34-26 61-61 61-33 0-60-27-61-60 0-35 27-61 62-62 33 0 60 28 60 61z"/>
|
||||
<glyph glyph-name="security-pic" unicode="" d="M365 406l-212 0c-18 0-33-14-33-32l0-91c9 5 18 11 27 15l0 76c0 3 3 5 6 5l212 0c3 0 5-2 5-5l0-212c0-3-2-6-5-6l-106 0 0-27 106 0c18 0 32 15 32 33l0 212c0 18-14 32-32 32z m-153-209l0 16c0 28-23 51-51 51-28 0-51-23-51-51l0-16c-10-2-18-11-18-22l0-39c0-12 9-22 21-22l95 0c12 0 21 10 21 22l0 39c1 11-7 20-17 22z m-51 44c15 0 27-12 27-28l0-16-55 0 0 16c0 16 13 28 28 28z m183 49l-66 49-83-50c7-4 14-10 19-17l62 37 68-50 0 31z m-114-44l114 0 0-26-114 0z"/>
|
||||
<glyph glyph-name="wallet" unicode="" d="M400 400c-3 10-8 19-15 24-7 5-15 8-24 7l-227 0c-19 0-35-15-35-34l0-58c-19-2-34-18-34-37l0-95c0-19 15-35 34-37l0-53c0-19 16-34 35-34l228 0c20 0 30 16 38 31l0 1c1 2 21 53 21 139 0 83-19 140-21 146z m-309-193l0 95c0 6 5 11 11 11l86 0c6 0 11-5 11-11l0-95c0-6-5-11-11-11l-86 0c-6 0-11 5-11 11z m285-82c-8-16-11-16-14-16l-228 0c-5 0-9 4-9 8l0 53 63 0c21 0 37 17 37 37l0 95c0 20-16 37-37 37l-63 0 0 58c0 4 4 8 9 8l228 0c3 0 10 1 13-13l0 0 0-1c1 0 20-55 20-137 0-77-17-124-19-129z"/>
|
||||
<glyph glyph-name="send" unicode="" d="M391 376c4-4 4-10 2-16-7-21-14-42-22-63-21-63-43-125-65-188-1-4-4-7-6-10-8-6-17-4-22 5-15 28-30 56-44 85-1 1 0 3 0 4 18 21 35 43 53 64 5 6 10 12 15 18 4 6 5 10 1 14-4 4-8 3-14-1-18-15-36-30-54-44-9-8-19-16-28-24-1-1-3-1-4 0-29 14-57 29-85 44-6 3-8 8-8 14 1 7 5 11 11 13 36 13 72 25 107 37 49 17 97 34 145 51 7 2 13 2 18-3z"/>
|
||||
<glyph glyph-name="password" unicode="" d="M104 267l0 41 22 0 0-41 35 20 11-19-35-20 35-20-11-20-35 20 0-40-22 0 0 40-35-20-11 20 35 20-35 20 11 19z m136 0l0 41 23 0 0-41 35 20 11-19-35-20 35-20-11-20-35 20 0-40-23 0 0 40-35-20-11 20 35 20-35 20 11 19z m137 0l0 41 23 0 0-41 34 20 12-19-35-20 35-20-12-20-35 20 0-40-22 0 0 40-35-20-11 20 35 20-35 20 11 19z"/>
|
||||
<glyph glyph-name="rez" unicode="" d="M373 321c-2 5-6 8-11 8l-49 8 55 61c4 4 5 9 3 14-2 5-7 8-12 8 0 0 0 0 0 0l-114-1c-5-1-10-4-12-9l-54-136c-1-4-1-8 1-11 2-4 6-6 9-7l38-5-54-136c-2-6 0-13 6-16 2-1 4-2 7-2 3 0 7 2 10 5l175 206c3 4 3 9 2 13z"/>
|
||||
<glyph glyph-name="keyboard-collapse" unicode="" d="M373 249l-26 0 0 25 26 0z m-35 0l-27 0 0 25 27 0z m-36 0l-27 0 0 25 27 0z m-36 0l-26 0 0 25 26 0z m-35 0l-27 0 0 25 27 0z m-36 0l-27 0 0 25 27 0z m-36 0l-26 0 0 25 26 0z m224-1l18 0c7 0 13 6 13 13 0 7-6 13-13 13l-18 0m-262 0l-17 0c-7 0-13-6-13-13 0-7 6-13 13-13l17 0m252 39l-31 0 0 25 31 0z m-42 0l-31 0 0 25 31 0z m-41 0l-32 0 0 25 32 0z m-42 0l-32 0 0 25 32 0z m-42 0l-32 0 0 25 32 0z m-41 0l-32 0 0 25 32 0z m218-1l18 0c7 0 13 6 13 13 0 8-6 14-13 14l-18 0m-262 0l-17 0c-7 0-13-6-13-14 0-7 6-13 13-13l17 0m288-124l-315 0c-33 0-59 28-59 61l0 76c0 34 26 61 59 61l315 0c33 0 59-27 59-61l0-76c1-33-26-61-59-61z m-315 172c-18 0-33-16-33-34l0-77c0-19 15-34 33-34l315 0c18 0 33 15 33 34l0 77c0 19-15 34-33 34z m248-99l32 0 0-25-32 0z m-41 0l31 0 0-25-31 0z m-42 0l31 0 0-25-31 0z m-43 0l32 0 0-25-32 0z m-42 0l32 0 0-25-32 0z m-41 0l31 0 0-25-31 0z m250-26l18 0c7 0 13 6 13 14 0 7-6 13-13 13l-18 0m-262 0l-17 0c-7 0-13-6-13-13 0-8 6-13 13-13l17 0m81-82l50-50 53 54-107 0"/>
|
||||
<glyph glyph-name="image" unicode="" d="M257 428c52 0 104 0 156 0 24 0 37-13 37-37 1-90 1-179 0-269 0-25-13-38-39-38-103 0-207 0-311 0-26 0-39 13-39 40 0 88 0 176 0 263 0 28 13 41 41 41 51 0 103 0 155 0z m167-263c0 7 0 10 0 14 0 69 0 138 0 206 0 17 0 17-17 17-101 0-202 0-303 0-16 0-17-1-17-17 0-58 0-115 0-173 0-3 0-7 0-12 8 3 14 6 19 9 17 8 30 7 44-6 5-5 10-10 15-15 5-7 11-8 19-4 40 21 81 41 121 61 19 10 31 8 46-7 9-9 18-18 27-27 15-15 29-29 46-46z m-328-54c7 0 11-1 15-1 98 0 197 0 296 0 6 0 14 2 16 6 5 7 0 14-6 20-27 26-54 53-80 80-8 9-15 9-26 4-67-35-135-68-203-102-3-2-6-4-12-7z m-8 26c21 10 40 20 63 31-8 7-14 12-20 17-2 2-7 3-10 3-30-9-36-17-34-48 0 0 0-1 1-3z m134 169c1-25-21-46-46-46-25-1-46 20-47 46 0 25 21 46 47 47 25 0 46-21 46-47z m-46 22c-12 0-22-9-22-21 0-13 9-22 21-23 13 0 23 9 23 22 0 13-10 22-22 22z"/>
|
||||
<glyph glyph-name="environments" unicode="" d="M256 454c-110 0-199-89-199-199 0-110 89-199 199-199 0 0 0 0 0 0l2-1 0 1c109 1 197 90 197 199 0 110-89 199-199 199z m114-204l0 0 0 5c0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 2l0 4 0 0c-1 22-4 43-10 63 21 5 36 11 46 15 15-26 24-56 24-87 0-30-8-59-23-85-8 4-23 11-47 16 6 21 9 42 10 64z m-19 102c-13 30-30 53-46 69 34-10 64-30 86-57-9-4-22-8-40-12z m-6-95c0-23-4-45-11-66-20 4-42 6-65 6l0 120c23 1 45 3 66 6 6-21 10-43 10-66z m-46-170c17 17 37 41 52 75 20-5 34-10 42-13-24-31-57-53-94-62z m-30 256l0 77c17-14 40-37 56-73-17-2-36-4-56-4z m0-248l0 77c20-1 39-3 56-5-16-35-40-59-56-72z m-83 252c17 35 40 59 56 73l0-77c-19 0-38 1-56 4z m-19-90c0 23 4 45 10 65 20-3 42-5 65-5l0-120c-23 0-45-1-65-4-6 20-10 42-10 64z m-47 106c22 28 52 48 86 58-15-16-33-39-46-70-18 4-31 8-40 12z m40-199c15-36 37-61 53-77-38 10-72 32-96 64 9 4 24 9 43 13z m82 8l0-77c-16 13-39 37-56 73 18 2 37 3 56 4z m-100 92l-1 0 0-4c0-1 0-1 0-2 0 0 0 0 0-1 0 0 0 0 0-1 0 0 0-1 0-1l0-5 1 0c0-21 4-42 10-62-23-5-39-10-49-15-14 25-21 53-21 82 0 30 8 60 23 86 10-4 25-10 47-14-6-20-10-41-10-63z"/>
|
||||
<glyph glyph-name="wand" unicode="" d="M438 107l-80 78c-5 5-12 7-18 6l-77 78c-5 5-14 5-19 0-5-5-6-14 0-19l77-79c0-6 2-12 7-17l80-78c5-4 10-6 15-6 6 0 12 2 16 6 8 9 8 22-1 31z m-185 209l-28 0 0 27c0 6-5 11-12 11-6 0-11-5-11-11l0-27-27 0c-6 0-11-5-11-12 0-6 5-11 11-11l27 0 0-28c0-6 5-11 11-11 7 0 12 5 12 11l0 28 28 0c6 0 11 5 11 11 0 7-5 12-11 12z m51-22c-6 0-10 4-10 10 0 5 4 10 10 10 15 0 31 0 45 0 6 0 10-5 10-10 0-6-4-10-10-10-14 0-30 0-45 0 0 0 0 0 0 0z m-184 0c0 0 0 0 0 0-12 0-26 0-40 0 0 0 0 0 0 0-5 0-10 4-10 10 0 5 5 10 10 10 14 0 28 0 41 0 5 0 10-5 10-10-1-6-5-10-11-10z m94-129c-5 0-10 4-10 9 0 14 0 26 0 40 0 5 5 9 10 9 0 0 0 0 0 0 6 0 10-5 10-10 0-13 0-25 0-38 0-6-4-10-10-10 0 0 0 0 0 0z m0 223c-5 0-10 4-10 9 0 14 0 26 0 40 0 5 5 9 10 9 6 0 10-5 10-10 0-13 0-25 0-38 0-6-4-10-10-10 0 0 0 0 0 0z m-68-26c-2 0-4 0-6 2-6 5-11 10-16 15-4 5-8 9-12 13-4 4-5 10-1 14 4 4 10 4 14 1 5-5 9-9 14-14 4-5 9-10 14-14 4-4 4-10 1-14-2-2-5-3-8-3z m-24-159c-3 0-5 1-7 3-4 3-4 10-1 14 5 5 9 10 14 14 5 4 9 8 12 12 4 4 10 5 14 1 4-4 5-10 1-14-4-5-9-10-13-14-5-4-9-8-13-12-2-2-4-4-7-4z m157 157c-3 0-5 1-6 2-5 3-6 10-2 14 4 6 10 11 15 16 5 4 10 8 13 12 3 5 10 6 14 2 4-3 5-9 2-14-5-6-10-10-15-15-5-4-10-8-13-13-2-2-5-4-8-4z"/>
|
||||
<glyph glyph-name="market" unicode="t" d="M428 332c-2 4-7 7-12 7-5 1-10 1-14 1-5 0-10 1-15 1-27 1-51 2-75 3-23 1-47 2-74 3-10 0-18 1-27 1-9 0-18 1-27 1l-1 0 0 1c-2 8-8 26-12 39-2 5-3 9-4 12-2 8-7 12-16 12l-48 0c-9 0-16-6-16-15 0-8 7-14 16-14l32 0c5 0 7-3 8-7l0 0c6-25 13-51 19-76 7-24 13-50 19-75 2-9 3-16 0-24-1-4-2-9-3-14-1-4-2-9-3-14-2-8-2-14 1-17 3-4 8-6 16-6l190 0c4 1 7 3 9 6 3 3 4 8 3 12-1 8-7 12-17 12l-170 0 1 1c0 1 1 4 1 6 2 7 5 17 4 20l0 1c1 6 5 10 12 10 8 0 16 0 24 0 43 2 87 3 128 5 8 1 12 4 15 10 8 15 29 65 36 86l0 0c3 4 3 8 0 12z m-45-224c0-16-13-30-29-30-16 0-29 13-29 30 0 15 13 30 29 30 16-1 29-15 29-30z m-177 1c0-16-14-29-29-29-16 0-29 14-29 29 0 17 13 30 29 30 16-1 29-14 29-30z"/>
|
||||
<glyph glyph-name="wear" unicode="" d="M451 180c3 1 5 4 6 7 1 3 1 7-1 10-2 3-4 5-8 6-3 1-6 1-10-1-6-4-13-5-19-6-3-1-6-1-7-1-1 0-1 0-1 0l-1 0-26 0 0 66c0 9-3 43-27 73-24 29-58 44-101 44-54 0-84-24-100-44-24-30-26-64-27-73l0-66-17 0c-2 0-4 0-8 1-8 1-17 3-27 7-7 3-14-1-17-7-2-7 1-14 8-17 14-6 27-8 33-9 3 0 6 0 8-1 1 0 1 0 2 0l299 0c1 0 2 0 3 0l0 0c2 1 6 1 10 2 6 1 18 3 28 9z m-295 80c0 15 6 39 20 58 18 22 45 34 80 34 35 0 62-12 80-34 15-19 21-43 22-58l0-6-202 0z m202-65l-202 0 0 33 202 0z"/>
|
||||
<glyph glyph-name="certificate" unicode="" d="M168 320l172 0c7 0 14 6 14 14 0 7-7 13-14 13l-172 0c-8 0-14-6-14-13 0-8 6-14 14-14z m0-55l63 0c7 0 13 6 13 13 0 8-6 13-13 13l-63 0c-8 0-14-5-14-13 0-7 6-13 14-13z m0-57l46 0c8 0 14 6 14 14 0 7-6 14-14 14l-46 0c-8 0-14-7-14-14 0-8 6-14 14-14z m-65 210l0-283 139 0c7 0 12 6 12 13 0 6-5 12-12 12l-114 0 0 233 256 0 0-83c0-7 6-12 13-12 6 0 12 5 12 12l0 108z m304-200c0 43-35 78-78 78-43 0-78-35-78-78 0-27 14-52 37-66l-3-69c0-5 2-9 6-11 5-3 10-2 13 1l27 20 26-21c2-2 5-3 8-3 2 0 4 0 5 1 4 2 7 7 7 12l-4 72c21 14 34 38 34 64z m-68-101c-4 4-10 4-14 1l-15-11 1 36c6-2 12-2 18-2 7 0 14 1 20 2l2-36z"/>
|
||||
<glyph glyph-name="gift" unicode="" d="M342 330c1 1 3 2 4 3 19 17 21 47 4 66-9 10-22 16-35 16-6 0-12-1-17-3-6 19-24 33-45 33-22 0-41-15-46-35-5 2-11 3-17 3-13 0-26-6-35-16-17-20-15-50 5-66 0 0 0 0 0-1l-82 0 0-84 27 0 0-166 298 0 0 166 27 0 0 84z m-45 50l0 1c1 1 2 2 4 3 5 5 10 6 14 6 6 0 12-3 16-8 4-4 6-9 5-15 0-6-3-11-7-15-2-2-3-3-4-3l0 0 0 0c-5-1-27-10-52-18 10 22 22 44 24 49z m-44 40c12 0 21-9 21-21 0-3 0-4 0-5l0 0 0 0c-2-5-11-24-21-48-10 23-19 42-21 47l0 1c0 1-1 3-1 5 0 12 10 21 22 21z m-79-40c4 5 10 8 16 8 4 0 9-1 14-5 2-2 3-3 4-4l0 0 0 0c2-5 11-23 22-47-24 7-44 13-49 15l-1 0c-1 1-2 2-4 3-9 8-10 21-2 30z m67-274l-110 0 0 140 110 0z m0 166l-137 0 0 32 137 0z m136-166l-111 0 0 140 111 0z m27 166l-138 0 0 32 138 0z"/>
|
||||
<glyph glyph-name="update" unicode="" d="M380 170c-7 0-13-6-13-13l0-12c0-5-4-9-9-9l-203 0c-5 0-9 4-9 9l0 114 33-27c6-4 14-4 19 2 4 5 4 13-2 18l-54 47c-3 2-5 3-8 3-4 0-7-1-9-3l-54-47c-6-5-6-13-1-18 4-6 13-6 18-1l32 26 0-114c0-19 16-35 35-35l203 0c19 0 35 16 35 35l0 12c0 7-6 13-13 13z m-248 153c7 0 13 5 13 13l0 12c0 5 4 8 9 8l203 0c5 0 9-4 9-8l0-115-33 27c-5 5-14 4-18-1-5-6-5-14 1-19l54-47c3-2 5-3 9-3 3 0 6 1 8 3l54 47c6 5 6 13 2 19-5 5-13 6-19 1l-32-27 0 115c0 19-16 34-35 34l-203 0c-19 0-35-15-35-34l0-12c0-8 6-13 13-13z"/>
|
||||
<glyph glyph-name="uninstall" unicode="" d="M83 227c-7 0-13-6-13-13l0-78c0-19 16-35 35-35l297 0c19 0 35 16 35 35l0 78c0 7-6 13-13 13-7 0-13-6-13-13l0-78c0-5-4-9-9-9l-297 0c-5 0-9 4-9 9l0 78c0 7-6 13-13 13z m191 47l50 50c5 5 5 14 0 19-5 5-13 5-19 0l-50-50-50 50c-5 5-13 5-19 0-5-5-5-14 0-19l50-50-50-50c-5-5-5-14 0-19 5-5 14-5 19 0l50 50 50-50c5-5 14-5 19 0 5 5 5 14 0 19z"/>
|
||||
<glyph glyph-name="install" unicode="" d="M83 227c-7 0-13-6-13-13l0-78c0-19 16-35 35-35l297 0c19 0 35 16 35 35l0 78c0 7-6 13-13 13-7 0-13-6-13-13l0-78c0-5-4-9-9-9l-297 0c-5 0-9 4-9 9l0 78c0 7-6 13-13 13z m170 171l0-155-33 27c-6 5-14 5-19-1-4-5-4-14 2-18l54-48c3-2 5-3 8-3 3 0 7 1 9 3l54 48c5 4 6 13 1 18-4 5-13 6-18 1l-32-27 0 154c0 8-6 13-13 13-7 0-13-5-13-12z"/>
|
||||
<glyph glyph-name="ellipsis-vertical" unicode="" d="M276 178c0-14-11-24-24-24-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24z m0 78c0-14-11-24-24-24-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24z m0 78c0-14-11-24-24-24-14 0-25 10-25 24 0 13 11 24 25 24 13 0 24-11 24-24z"/>
|
||||
<glyph glyph-name="backward" unicode="E" d="M292 349c-5 3-12 3-18-1l-94-71c-4-3-7-8-7-13 0-5 2-10 6-14l95-80c3-2 7-4 11-4 2 0 5 1 7 2 6 3 10 9 10 15l0 151c0 6-4 12-10 15"/>
|
||||
<glyph glyph-name="40-reload" unicode="F" d="M365 261c-9 1-17-5-18-15-4-45-43-80-89-80-49 0-89 40-89 89 0 19 4 45 25 65 16 15 39 23 68 25l-15-16c-6-6-6-17 0-24 4-3 8-4 12-4 4 0 9 1 12 5l43 44c2 2 3 4 4 6 2 6 1 13-4 18l-44 44c-6 6-17 6-23 0-7-7-7-17 0-24l15-15c-38-2-69-14-91-35-23-21-36-53-36-88 0-68 55-123 123-123 64 0 116 47 122 110 1 9-5 18-15 18"/>
|
||||
<glyph glyph-name="forward" unicode="D" d="M330 278l-95 70c-5 4-12 5-18 2-5-3-9-9-9-16l0-150c0-7 4-13 10-16 2-1 5-2 7-2 4 0 8 2 11 5l95 79c4 4 6 9 6 14-1 5-3 10-7 14"/>
|
||||
<glyph glyph-name="avatar-1" unicode="T" d="M396 344l-2 2c-4 4-9 5-15 5-1 0-88-13-124-14-1 0-2 0-3 0-37 0-126 15-127 15-7 1-14-2-18-8l-2-4c-3-4-3-9-2-14 2-5 5-9 10-11 16-7 69-22 85-29 3-1 10-4 10-14 1-11-4-67-10-93-7-26-18-60-19-60-3-9 2-19 11-22l11-4c4-2 9-1 13 1 5 2 8 6 9 10l31 94 28-96c2-5 5-9 9-11 3-1 5-2 8-2 2 0 4 0 7 1l10 4c8 3 12 12 10 20 0 1-8 36-16 65-4 17-6 43-7 64-1 13-1 21-3 30 0 1 2 11 10 14 10 4 81 29 80 28 6 2 10 7 11 13 1 6-1 12-5 16z m-98 54c0-24-19-43-43-43-24 0-43 19-43 43 0 23 19 42 43 42 24 0 43-19 43-42z"/>
|
||||
</font></defs></svg>
|
After Width: | Height: | Size: 83 KiB |
BIN
applications/DANCE/Tablet/Assets/glyphs/fonts/hifi-glyphs.ttf
Normal file
BIN
applications/DANCE/Tablet/Assets/glyphs/fonts/hifi-glyphs.woff
Normal file
1216
applications/DANCE/Tablet/Assets/glyphs/icons-reference.html
Normal file
481
applications/DANCE/Tablet/Assets/glyphs/styles.css
Normal file
|
@ -0,0 +1,481 @@
|
|||
@charset "UTF-8";
|
||||
|
||||
@font-face {
|
||||
font-family: "hifi-glyphs";
|
||||
src:url("fonts/hifi-glyphs.eot");
|
||||
src:url("fonts/hifi-glyphs.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/hifi-glyphs.woff") format("woff"),
|
||||
url("fonts/hifi-glyphs.ttf") format("truetype"),
|
||||
url("fonts/hifi-glyphs.svg#hifi-glyphs") format("svg");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
|
||||
}
|
||||
|
||||
[data-icon]:before {
|
||||
font-family: "hifi-glyphs" !important;
|
||||
content: attr(data-icon);
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
[class^="icon-"]:before,
|
||||
[class*=" icon-"]:before {
|
||||
font-family: "hifi-glyphs" !important;
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-hmd:before {
|
||||
content: "\62";
|
||||
}
|
||||
.icon-2d-screen:before {
|
||||
content: "\63";
|
||||
}
|
||||
.icon-keyboard:before {
|
||||
content: "\64";
|
||||
}
|
||||
.icon-hand-controllers:before {
|
||||
content: "\65";
|
||||
}
|
||||
.icon-headphones-mic:before {
|
||||
content: "\66";
|
||||
}
|
||||
.icon-gamepad:before {
|
||||
content: "\67";
|
||||
}
|
||||
.icon-headphones:before {
|
||||
content: "\68";
|
||||
}
|
||||
.icon-mic:before {
|
||||
content: "\69";
|
||||
}
|
||||
.icon-upload:before {
|
||||
content: "\6a";
|
||||
}
|
||||
.icon-script:before {
|
||||
content: "\6b";
|
||||
}
|
||||
.icon-text:before {
|
||||
content: "\6c";
|
||||
}
|
||||
.icon-cube:before {
|
||||
content: "\6d";
|
||||
}
|
||||
.icon-sphere:before {
|
||||
content: "\6e";
|
||||
}
|
||||
.icon-zone:before {
|
||||
content: "\6f";
|
||||
}
|
||||
.icon-light:before {
|
||||
content: "\70";
|
||||
}
|
||||
.icon-web:before {
|
||||
content: "\71";
|
||||
}
|
||||
.icon-web-2:before {
|
||||
content: "\72";
|
||||
}
|
||||
.icon-edit:before {
|
||||
content: "\73";
|
||||
}
|
||||
.icon-directory:before {
|
||||
content: "\75";
|
||||
}
|
||||
.icon-menu:before {
|
||||
content: "\76";
|
||||
}
|
||||
.icon-close:before {
|
||||
content: "\77";
|
||||
}
|
||||
.icon-close-inverted:before {
|
||||
content: "\78";
|
||||
}
|
||||
.icon-pin:before {
|
||||
content: "\79";
|
||||
}
|
||||
.icon-pin-inverted:before {
|
||||
content: "\7a";
|
||||
}
|
||||
.icon-resize-handle:before {
|
||||
content: "\41";
|
||||
}
|
||||
.icon-diclosure-expand:before {
|
||||
content: "\42";
|
||||
}
|
||||
.icon-reload-small:before {
|
||||
content: "\61";
|
||||
}
|
||||
.icon-close-small:before {
|
||||
content: "\43";
|
||||
}
|
||||
.icon-minimize:before {
|
||||
content: "\49";
|
||||
}
|
||||
.icon-maximize:before {
|
||||
content: "\4a";
|
||||
}
|
||||
.icon-maximize-inverted:before {
|
||||
content: "\4b";
|
||||
}
|
||||
.icon-disclosure-button-expand:before {
|
||||
content: "\4c";
|
||||
}
|
||||
.icon-disclosure-button-collapse:before {
|
||||
content: "\4d";
|
||||
}
|
||||
.icon-script-stop:before {
|
||||
content: "\4e";
|
||||
}
|
||||
.icon-script-reload:before {
|
||||
content: "\4f";
|
||||
}
|
||||
.icon-script-run:before {
|
||||
content: "\50";
|
||||
}
|
||||
.icon-script-new:before {
|
||||
content: "\51";
|
||||
}
|
||||
.icon-hifi-forum:before {
|
||||
content: "\32";
|
||||
}
|
||||
.icon-hifi-logo-small:before {
|
||||
content: "\53";
|
||||
}
|
||||
.icon-placemark:before {
|
||||
content: "\55";
|
||||
}
|
||||
.icon-box:before {
|
||||
content: "\56";
|
||||
}
|
||||
.icon-community:before {
|
||||
content: "\30";
|
||||
}
|
||||
.icon-grab-handle:before {
|
||||
content: "\58";
|
||||
}
|
||||
.icon-search:before {
|
||||
content: "\59";
|
||||
}
|
||||
.icon-disclosure-collapse:before {
|
||||
content: "\5a";
|
||||
}
|
||||
.icon-script-upload:before {
|
||||
content: "\52";
|
||||
}
|
||||
.icon-code:before {
|
||||
content: "\57";
|
||||
}
|
||||
.icon-avatar:before {
|
||||
content: "\3c";
|
||||
}
|
||||
.icon-arrows-h:before {
|
||||
content: "\3a";
|
||||
}
|
||||
.icon-arrows-v:before {
|
||||
content: "\3b";
|
||||
}
|
||||
.icon-arrows:before {
|
||||
content: "\60";
|
||||
}
|
||||
.icon-compress:before {
|
||||
content: "\21";
|
||||
}
|
||||
.icon-expand:before {
|
||||
content: "\22";
|
||||
}
|
||||
.icon-placemark-1:before {
|
||||
content: "\23";
|
||||
}
|
||||
.icon-circle:before {
|
||||
content: "\24";
|
||||
}
|
||||
.icon-hand-pointer:before {
|
||||
content: "\39";
|
||||
}
|
||||
.icon-plus-square-o:before {
|
||||
content: "\25";
|
||||
}
|
||||
.icon-square:before {
|
||||
content: "\27";
|
||||
}
|
||||
.icon-align-center:before {
|
||||
content: "\38";
|
||||
}
|
||||
.icon-align-justify:before {
|
||||
content: "\29";
|
||||
}
|
||||
.icon-align-left:before {
|
||||
content: "\2a";
|
||||
}
|
||||
.icon-align-right:before {
|
||||
content: "\5e";
|
||||
}
|
||||
.icon-bars:before {
|
||||
content: "\37";
|
||||
}
|
||||
.icon-circle-slash:before {
|
||||
content: "\2c";
|
||||
}
|
||||
.icon-sync:before {
|
||||
content: "\28";
|
||||
}
|
||||
.icon-key:before {
|
||||
content: "\2d";
|
||||
}
|
||||
.icon-link:before {
|
||||
content: "\2e";
|
||||
}
|
||||
.icon-location:before {
|
||||
content: "\2f";
|
||||
}
|
||||
.icon-carat-r:before {
|
||||
content: "\33";
|
||||
}
|
||||
.icon-carat-l:before {
|
||||
content: "\34";
|
||||
}
|
||||
.icon-folder-lg:before {
|
||||
content: "\3e";
|
||||
}
|
||||
.icon-folder-sm:before {
|
||||
content: "\3f";
|
||||
}
|
||||
.icon-level-up:before {
|
||||
content: "\31";
|
||||
}
|
||||
.icon-info:before {
|
||||
content: "\5b";
|
||||
}
|
||||
.icon-question:before {
|
||||
content: "\5d";
|
||||
}
|
||||
.icon-alert:before {
|
||||
content: "\2b";
|
||||
}
|
||||
.icon-home:before {
|
||||
content: "\5f";
|
||||
}
|
||||
.icon-error:before {
|
||||
content: "\3d";
|
||||
}
|
||||
.icon-settings:before {
|
||||
content: "\40";
|
||||
}
|
||||
.icon-trash:before {
|
||||
content: "\7b";
|
||||
}
|
||||
.icon-object-group:before {
|
||||
content: "\e000";
|
||||
}
|
||||
.icon-cm:before {
|
||||
content: "\7d";
|
||||
}
|
||||
.icon-msvg:before {
|
||||
content: "\7e";
|
||||
}
|
||||
.icon-deg:before {
|
||||
content: "\5c";
|
||||
}
|
||||
.icon-px:before {
|
||||
content: "\7c";
|
||||
}
|
||||
.icon-m-sq:before {
|
||||
content: "\e001";
|
||||
}
|
||||
.icon-m-cubed:before {
|
||||
content: "\e002";
|
||||
}
|
||||
.icon-acceleration:before {
|
||||
content: "\e003";
|
||||
}
|
||||
.icon-particles:before {
|
||||
content: "\e004";
|
||||
}
|
||||
.icon-voxels:before {
|
||||
content: "\e005";
|
||||
}
|
||||
.icon-lock:before {
|
||||
content: "\e006";
|
||||
}
|
||||
.icon-visible:before {
|
||||
content: "\e007";
|
||||
}
|
||||
.icon-model:before {
|
||||
content: "\e008";
|
||||
}
|
||||
.icon-avatar-2:before {
|
||||
content: "\e009";
|
||||
}
|
||||
.icon-arrow-dn:before {
|
||||
content: "\35";
|
||||
}
|
||||
.icon-arrow-up:before {
|
||||
content: "\36";
|
||||
}
|
||||
.icon-time:before {
|
||||
content: "\e00a";
|
||||
}
|
||||
.icon-transparency:before {
|
||||
content: "\e00b";
|
||||
}
|
||||
.icon-unmuted:before {
|
||||
content: "\47";
|
||||
}
|
||||
.icon-user:before {
|
||||
content: "\e00c";
|
||||
}
|
||||
.icon-edit-pencil:before {
|
||||
content: "\e00d";
|
||||
}
|
||||
.icon-muted:before {
|
||||
content: "\48";
|
||||
}
|
||||
.icon-vol-0:before {
|
||||
content: "\e00e";
|
||||
}
|
||||
.icon-vol-1:before {
|
||||
content: "\e00f";
|
||||
}
|
||||
.icon-vol-2:before {
|
||||
content: "\e010";
|
||||
}
|
||||
.icon-vol-3:before {
|
||||
content: "\e011";
|
||||
}
|
||||
.icon-vol-4:before {
|
||||
content: "\e012";
|
||||
}
|
||||
.icon-vol-x-0:before {
|
||||
content: "\e013";
|
||||
}
|
||||
.icon-vol-x-1:before {
|
||||
content: "\e014";
|
||||
}
|
||||
.icon-vol-x-2:before {
|
||||
content: "\e015";
|
||||
}
|
||||
.icon-vol-x-3:before {
|
||||
content: "\e016";
|
||||
}
|
||||
.icon-vol-x-4:before {
|
||||
content: "\e017";
|
||||
}
|
||||
.icon-share-ext:before {
|
||||
content: "\e018";
|
||||
}
|
||||
.icon-ellipsis:before {
|
||||
content: "\e019";
|
||||
}
|
||||
.icon-check:before {
|
||||
content: "\e01a";
|
||||
}
|
||||
.icon-sliders:before {
|
||||
content: "\26";
|
||||
}
|
||||
.icon-polyline:before {
|
||||
content: "\e01b";
|
||||
}
|
||||
.icon-source:before {
|
||||
content: "\e01c";
|
||||
}
|
||||
.icon-playback-play:before {
|
||||
content: "\e01d";
|
||||
}
|
||||
.icon-stop-square:before {
|
||||
content: "\e01e";
|
||||
}
|
||||
.icon-avatar-t-pose:before {
|
||||
content: "\e01f";
|
||||
}
|
||||
.icon-check-1:before {
|
||||
content: "\e020";
|
||||
}
|
||||
.icon-exchange:before {
|
||||
content: "\e021";
|
||||
}
|
||||
.icon-hfc:before {
|
||||
content: "\e022";
|
||||
}
|
||||
.icon-home-1:before {
|
||||
content: "\e023";
|
||||
}
|
||||
.icon-private-key:before {
|
||||
content: "\e024";
|
||||
}
|
||||
.icon-security-pic:before {
|
||||
content: "\e026";
|
||||
}
|
||||
.icon-wallet:before {
|
||||
content: "\e027";
|
||||
}
|
||||
.icon-send:before {
|
||||
content: "\e028";
|
||||
}
|
||||
.icon-password:before {
|
||||
content: "\e029";
|
||||
}
|
||||
.icon-rez:before {
|
||||
content: "\e025";
|
||||
}
|
||||
.icon-keyboard-collapse:before {
|
||||
content: "\e02b";
|
||||
}
|
||||
.icon-image:before {
|
||||
content: "\e02a";
|
||||
}
|
||||
.icon-environments:before {
|
||||
content: "\e02c";
|
||||
}
|
||||
.icon-wand:before {
|
||||
content: "\e02d";
|
||||
}
|
||||
.icon-market:before {
|
||||
content: "\74";
|
||||
}
|
||||
.icon-wear:before {
|
||||
content: "\e02e";
|
||||
}
|
||||
.icon-certificate:before {
|
||||
content: "\e030";
|
||||
}
|
||||
.icon-gift:before {
|
||||
content: "\e031";
|
||||
}
|
||||
.icon-update:before {
|
||||
content: "\e032";
|
||||
}
|
||||
.icon-uninstall:before {
|
||||
content: "\e033";
|
||||
}
|
||||
.icon-install:before {
|
||||
content: "\e02f";
|
||||
}
|
||||
.icon-ellipsis-vertical:before {
|
||||
content: "\e034";
|
||||
}
|
||||
.icon-backward:before {
|
||||
content: "\45";
|
||||
}
|
||||
.icon-40-reload:before {
|
||||
content: "\46";
|
||||
}
|
||||
.icon-forward:before {
|
||||
content: "\44";
|
||||
}
|
||||
.icon-avatar-1:before {
|
||||
content: "\54";
|
||||
}
|
42
applications/DANCE/Tablet/DANCE_Tablet.html
Normal file
|
@ -0,0 +1,42 @@
|
|||
<html>
|
||||
|
||||
<head>
|
||||
<title>DANCE</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
||||
<link href="https://fonts.googleapis.com/css?family=Audiowide|Black+Han+Sans|Mitr:300|Nanum+Gothic+Coding:700|Neucha|Roboto" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="css/app.css">
|
||||
<link rel="stylesheet" href="Assets/glyphs/styles.css">
|
||||
|
||||
</head>
|
||||
|
||||
<body class="background maindiv">
|
||||
<div id="app">
|
||||
<div class="sticky-top">
|
||||
<current-dance
|
||||
class="shadow-lg header-background"
|
||||
:add_this_dance="dataStore.ui.addThisDance"
|
||||
:current_dance="dataStore.ui.currentDance"
|
||||
:should_be_running="dataStore.shouldBeRunning"
|
||||
:dance_array="dataStore.ui.danceArray"
|
||||
:add_dance_name="dataStore.addThisDanceName"
|
||||
:current_dance_name="dataStore.ui.currentDance ? dataStore.currentDance.name : '' "
|
||||
:toggle_hmd="dataStore.toggleHMD"
|
||||
></current-dance>
|
||||
</div>
|
||||
<dance-list v-if="dataStore.ui.danceArray" :dances="dataStore.danceArray" class="shadow" :should_be_running="dataStore.shouldBeRunning"></dance-list>
|
||||
<div class="mt-1 ml-3 justify-content-center align-items-center">
|
||||
<dance class="mb-4 mr-2 shadow-lg" v-for="(dance, index) in dataStore.danceObjects" v-bind:class="{ 'border border-white border-3': dance.selected }" :index="index" :key="index" :dance="dance"></dance>
|
||||
</div>
|
||||
</div>
|
||||
<script defer src="https://use.fontawesome.com/releases/v5.5.0/js/all.js" integrity="sha384-GqVMZRt5Gn7tB9D9q7ONtcp4gtHIUEW/yG7h98J7IpE3kpi+srfFyyB/04OV6pG0" crossorigin="anonymous"></script>
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script>
|
||||
<script src="js/DANCE_Tablet.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
196
applications/DANCE/Tablet/css/app.css
Normal file
|
@ -0,0 +1,196 @@
|
|||
* {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
/* font-family: 'Roboto', sans-serif; */
|
||||
/* font-family: 'Black Han Sans', sans-serif; */
|
||||
/* font-family: 'Neucha', cursive; */
|
||||
/* font-family: 'Audiowide', cursive; */
|
||||
/* font-family: 'Nanum Gothic Coding', monospace; */
|
||||
font-family: 'Mitr', sans-serif;
|
||||
/* font-family: 'Roboto', sans-serif; */
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.maindiv {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.background {
|
||||
background: linear-gradient(to bottom, #FFAAFF 0%,#2D5D7B 100%);
|
||||
|
||||
}
|
||||
|
||||
.header-background {
|
||||
background-color: rgb(91,64,250);
|
||||
}
|
||||
|
||||
.jumbotron-logo {
|
||||
background-color: rgba(190, 200, 255, 0.0);
|
||||
}
|
||||
|
||||
.logo {
|
||||
/* background-color: #C2AFF0; */
|
||||
border-color: #FFFFFF !important;
|
||||
border-width: 1rem !important;
|
||||
min-height: 1.9rem;
|
||||
max-height: 1.9rem;
|
||||
}
|
||||
|
||||
.input-size {
|
||||
min-width: 5.75rem;
|
||||
max-width: 5.75rem;
|
||||
}
|
||||
|
||||
.field-size {
|
||||
min-width: 5.75rem;
|
||||
max-width: 5.75rem;
|
||||
}
|
||||
|
||||
.blue {
|
||||
background-color: #457EAC;
|
||||
|
||||
}
|
||||
|
||||
.label-text {
|
||||
position: absolute;
|
||||
top: 4rem;
|
||||
left: 2rem;
|
||||
color: rgb(250,200,220);
|
||||
}
|
||||
|
||||
.options-left {
|
||||
position: absolute;
|
||||
left: 2rem;
|
||||
top: 5.7rem;
|
||||
}
|
||||
|
||||
.options-right {
|
||||
position: absolute;
|
||||
left: 17rem;
|
||||
top: 5.1rem;
|
||||
}
|
||||
|
||||
.dance-name {
|
||||
position: absolute;
|
||||
left: 6.55rem;
|
||||
top: 3.5rem;
|
||||
font-size: 1.4rem;
|
||||
vertical-align: baseline;
|
||||
|
||||
}
|
||||
.divider {
|
||||
background-color: #FFFFFF;
|
||||
min-height: 0.05rem;
|
||||
height: 0.05rem;
|
||||
}
|
||||
|
||||
.dance-names {
|
||||
background-color: #9191E9;
|
||||
|
||||
}
|
||||
|
||||
.sticky-top {
|
||||
background-color: #2D5D7B;
|
||||
}
|
||||
|
||||
.instructions {
|
||||
min-height: 6rem;
|
||||
max-height: 6rem;
|
||||
}
|
||||
|
||||
.menu {
|
||||
position: relative;
|
||||
color: #FFFFFF;
|
||||
font-size: 1rem;
|
||||
vertical-align: baseline;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
.delete {
|
||||
color: #000000;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.grid {
|
||||
min-width: 85px;
|
||||
min-height: 170px;
|
||||
max-width: 85px;
|
||||
max-height: 170px;
|
||||
/* height: 20%; */
|
||||
}
|
||||
|
||||
.dance-toggle-start {
|
||||
background-color: rgb(102,151,252);
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.list-background {
|
||||
background-color: rgb(102,151,252);
|
||||
}
|
||||
|
||||
.dance-toggle-stop {
|
||||
background-color: rgb(237,149,208);
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.dance {
|
||||
width: 18%
|
||||
}
|
||||
|
||||
.border-3 {
|
||||
border-width:3px !important;
|
||||
}
|
||||
|
||||
.select-border {
|
||||
border-width: 2rem;
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
.current-dance-background-header {
|
||||
background-color: rgba(20, 50, 80, 0.6);
|
||||
background-image: url("./hifi-dance-a.svg");
|
||||
}
|
||||
|
||||
.current-dance-background {
|
||||
background-color: rgba(40, 70, 100, 0.6);
|
||||
background-image: url("./hifi-dance-a.svg");
|
||||
}
|
||||
|
||||
.current-dance-text {
|
||||
color: rgba(255, 255, 255, 1.0);
|
||||
}
|
||||
|
||||
.white-text {
|
||||
color: rgba(255, 255, 255, 1.0);
|
||||
}
|
||||
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.transparent {
|
||||
background-color: rgba(255, 255, 255, 0.0);
|
||||
}
|
||||
|
||||
.main-font-size {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
.list-complete-item {
|
||||
padding: 4px;
|
||||
margin-top: 4px;
|
||||
border: solid 1px;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.list-complete-enter, .list-complete-leave-active {
|
||||
opacity: 0;
|
||||
}
|
1
applications/DANCE/Tablet/css/images/hifi-dance-a.svg
Normal file
After Width: | Height: | Size: 237 KiB |
1
applications/DANCE/Tablet/css/images/hifi-dance-i.svg
Normal file
After Width: | Height: | Size: 19 KiB |
298
applications/DANCE/Tablet/js/DANCE_Tablet.js
Normal file
|
@ -0,0 +1,298 @@
|
|||
(function() {
|
||||
"use strict";
|
||||
|
||||
// Consts
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var
|
||||
BUTTON_NAME = "DANCE",
|
||||
EVENT_BRIDGE_OPEN_MESSAGE = "eventBridgeOpen",
|
||||
UPDATE_UI = BUTTON_NAME + "_update_ui",
|
||||
TRY_DANCE = "try_dance",
|
||||
STOP_DANCE = "stop_dance",
|
||||
START_DANCING = "start_dancing",
|
||||
REMOVE_DANCE = "remove_dance",
|
||||
REMOVE_DANCE_FROM_MENU = "remove_dance_from_menu",
|
||||
ADD_DANCE = "add_dance",
|
||||
PREVIEW_DANCE = "preview_dance",
|
||||
PREVIEW_DANCE_STOP = "preview_dance_stop",
|
||||
UPDATE_DANCE_ARRAY = "update_dance_array",
|
||||
CURRENT_DANCE = "current_dance",
|
||||
TOGGLE_HMD = "toggle_hmd",
|
||||
EVENTBRIDGE_SETUP_DELAY = 10
|
||||
;
|
||||
|
||||
// Components
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
Vue.component('current-dance', {
|
||||
props: {
|
||||
add_this_dance: { type: Boolean },
|
||||
current_dance: { type: Boolean },
|
||||
should_be_running: { type: Boolean },
|
||||
dance_array: { type: Boolean },
|
||||
add_dance_name: { type: String },
|
||||
current_dance_name: { type: String },
|
||||
toggle_hmd: {type: Boolean}
|
||||
},
|
||||
methods: {
|
||||
startDancing(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: START_DANCING
|
||||
}));
|
||||
},
|
||||
stopDance(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: STOP_DANCE
|
||||
}));
|
||||
},
|
||||
toggleHMD(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: TOGGLE_HMD
|
||||
}));
|
||||
}
|
||||
},
|
||||
template: /*html*/`
|
||||
<div>
|
||||
<div class="logo">
|
||||
<img src="./Assets/DANCE-i.png" class=" mt-2 ml-3" style="height: 1.95rem;" >
|
||||
<span style="font-size: 1.25rem; position: relative; top: 5px;" class="mt-5 white-text">DANCE!</span>
|
||||
</div>
|
||||
<hr class="divider">
|
||||
<div class="instructions white-text">
|
||||
<div class="mb-2 mt-3 ml-3">
|
||||
<span class="label-text" v-if="add_this_dance">Preview: </span>
|
||||
<span class="label-text" v-else-if="current_dance">Current: </span>
|
||||
<span class="label-text" v-else>Choose dances below</span>
|
||||
<span class="dance-name" v-if="current_dance && !add_this_dance">
|
||||
<i>{{current_dance_name}}</i>
|
||||
</span>
|
||||
<span class="dance-name" v-if="add_this_dance">
|
||||
<i>{{add_dance_name}}</i>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="mb-2 ml-3">
|
||||
<span class="form-check mt-3 options-left">
|
||||
<input type="checkbox" class="form-check-input" id="checkbox" :checked="toggle_hmd" v-on:click="toggleHMD()">
|
||||
<label class="form-check-label" for="checkbox">Use in VR</label>
|
||||
</span>
|
||||
<span v-if="dance_array" class="mr-4 options-right">
|
||||
<button v-if="!should_be_running" class="btn dance-toggle-start mt-3 mr-1 font-weight-bold" v-on:click="startDancing()">Start Dance</button>
|
||||
<button v-else class="btn dance-toggle-stop mt-3 mr-1 font-weight-bold" v-on:click="stopDance()">Stop Dance</button>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
`
|
||||
})
|
||||
|
||||
Vue.component('dance-list-item', {
|
||||
props: ['dance', 'index'],
|
||||
data: function() {
|
||||
return {
|
||||
clicked: false,
|
||||
maxEndFrame: this.dance.endFrame
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
removeDance(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: REMOVE_DANCE,
|
||||
value: this.index
|
||||
}));
|
||||
},
|
||||
onBlur(){
|
||||
|
||||
var sanitizedObject = Object.assign({}, this.dance, {
|
||||
startFrame: parseInt(Math.max(this.dance.startFrame, 0)),
|
||||
endFrame: parseInt(Math.min(this.dance.endFrame, this.maxEndFrame)),
|
||||
duration: parseInt(Math.max(1, this.dance.duration)),
|
||||
fps: parseInt(Math.min(this.dance.fps, 500))
|
||||
});
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: UPDATE_DANCE_ARRAY,
|
||||
value: {
|
||||
dance: sanitizedObject,
|
||||
index: this.index
|
||||
}
|
||||
}));
|
||||
},
|
||||
onClicked(){
|
||||
this.clicked = !this.clicked;
|
||||
}
|
||||
},
|
||||
template: /*html*/`
|
||||
<div class="list-complete-item p-2 list-background">
|
||||
<div class="card-header transparent">
|
||||
<span class="font-weight-bold white-text"> {{dance.name}} </span>
|
||||
<span class="menu">
|
||||
<i class="icon icon-playback-play" data-toggle="collapse" :data-target="'#collapse' + dance.name + index" v-on:click="onClicked"></i>
|
||||
</span>
|
||||
<span class="delete" v-on:click="removeDance">
|
||||
<i class="float-right mr-2 icon icon-close"></i>
|
||||
</span>
|
||||
</div>
|
||||
<form class="form-inline collapse p-2" :id="'collapse' + dance.name + index" onsubmit="event.preventDefault()">
|
||||
<div class="row">
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-1 ">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text main-font-size font-weight-bold input-size">Start Frame</span>
|
||||
</div>
|
||||
<input v-if="dance" type="number" min="0" v-on:blur="onBlur" v-model="dance.startFrame" class="form-control main-font-size field-size" placeholder="start frame">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-1">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text main-font-size font-weight-bold input-size">End Frame</span>
|
||||
</div>
|
||||
<input v-if="dance" type="number" min="0" v-on:blur="onBlur" v-model="dance.endFrame" class="form-control main-font-size field-size" placeholder="end frame">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="input-group mb-1">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text main-font-size font-weight-bold input-size">Duration(ms)</span>
|
||||
</div>
|
||||
<input v-if="dance" type="number" min="0" v-on:blur="onBlur" v-model="dance.duration" class="form-control main-font-size field-size" placeholder="duration">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<div class="iput-group mb-1">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text main-font-size font-weight-bold input-size">Frames/Sec</span>
|
||||
</div>
|
||||
<input v-if="dance" type="number" min="0" max="300" v-on:blur="onBlur" v-model="dance.fps" class="form-control main-font-size field-size" placeholder="fps">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
||||
Vue.component('dance-list', {
|
||||
props: ['dances', 'should_be_running'],
|
||||
|
||||
template: /*html*/`
|
||||
<div class="accordian " id="dance-accordian">
|
||||
<div class="card transparent">
|
||||
<div v-for="(dance, index) in dances" :key="index">
|
||||
<dance-list-item :index="index" :dance="dance"></dance-list-item>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
})
|
||||
|
||||
Vue.component('dance', {
|
||||
props: ['dance', 'index'],
|
||||
methods: {
|
||||
addDance(){
|
||||
if (!this.dance.selected) {
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: ADD_DANCE,
|
||||
value: {
|
||||
dance: this.dance,
|
||||
index: this.index
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: REMOVE_DANCE_FROM_MENU,
|
||||
value: {
|
||||
dance: this.dance,
|
||||
index: this.index
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
},
|
||||
tryDance(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: TRY_DANCE,
|
||||
value: this.dance
|
||||
}));
|
||||
},
|
||||
previewDance(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: PREVIEW_DANCE,
|
||||
value: this.dance
|
||||
}));
|
||||
},
|
||||
previewDanceStop(){
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: PREVIEW_DANCE_STOP,
|
||||
value: this.dance
|
||||
}));
|
||||
},
|
||||
},
|
||||
template: /*html*/`
|
||||
<img
|
||||
class="dance"
|
||||
:src="'./Assets/Dance-Images/' + dance.icon"
|
||||
v-on:mouseover="previewDance()"
|
||||
v-on:mouseleave="previewDanceStop()"
|
||||
v-on:click="addDance()"
|
||||
>
|
||||
`
|
||||
})
|
||||
|
||||
// App
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
var app = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
dataStore: {
|
||||
ui: {
|
||||
currentDance: false,
|
||||
danceList: false
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Procedural
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
function onScriptEventReceived(message) {
|
||||
var data;
|
||||
try {
|
||||
data = JSON.parse(message);
|
||||
switch (data.type) {
|
||||
case UPDATE_UI:
|
||||
if (data.slice === CURRENT_DANCE) {
|
||||
app.dataStore.currentDance = data.value.currentDance;
|
||||
} else {
|
||||
app.dataStore = data.value;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function onLoad() {
|
||||
|
||||
// Initial button active state is communicated via URL parameter.
|
||||
// isActive = location.search.replace("?active=", "") === "true";
|
||||
|
||||
setTimeout(function () {
|
||||
// Open the EventBridge to communicate with the main script.
|
||||
// Allow time for EventBridge to become ready.
|
||||
EventBridge.scriptEventReceived.connect(onScriptEventReceived);
|
||||
EventBridge.emitWebEvent(JSON.stringify({
|
||||
type: EVENT_BRIDGE_OPEN_MESSAGE
|
||||
}));
|
||||
}, EVENTBRIDGE_SETUP_DELAY);
|
||||
}
|
||||
|
||||
// Main
|
||||
// /////////////////////////////////////////////////////////////////////////
|
||||
onLoad();
|
||||
|
||||
}());
|
130
applications/DANCE/icons/tablet-icons/DANCE-a.svg
Normal file
|
@ -0,0 +1,130 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<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 50 50" style="enable-background:new 0 0 50 50;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;fill:#231F20;}
|
||||
.st1{fill:#231F20;stroke:#FFFFFF;stroke-width:0.3589;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
|
||||
.st2{fill:#231F20;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
.st4{display:none;fill:#EC1C24;}
|
||||
.st5{display:none;}
|
||||
.st6{display:inline;fill:#EF3B4E;}
|
||||
.st7{display:inline;}
|
||||
.st8{display:inline;fill:none;stroke:#EF3B4E;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2,2;}
|
||||
.st9{display:inline;fill:none;}
|
||||
.st10{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;}
|
||||
.st11{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:1.9884,1.9884;}
|
||||
.st12{fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.0127,2.0127;}
|
||||
.st13{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;}
|
||||
.st14{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.7897,1.7897;}
|
||||
.st15{fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8269,1.8269;}
|
||||
.st16{display:inline;fill:none;stroke:#1398BB;stroke-width:0.4519;stroke-miterlimit:10;stroke-dasharray:1.8078,1.8078;}
|
||||
.st17{display:inline;fill:none;stroke:#F39621;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:2.75,2;}
|
||||
</style>
|
||||
<g id="Dance-App-I">
|
||||
<rect class="st0" width="50" height="50"/>
|
||||
<g>
|
||||
<path class="st1" d="M36.5,34c-1.1-0.2-1.4,0.2-1.7,0c-0.5-0.3,1.2-4.4,0.6-5.4s-1.5-1.4-3.8-1.5s-5.8,2.1-5.8,2.1l0,0
|
||||
c0,0,1.6-3.8,1.1-6.4l-0.1-0.5H27c1,0,5.2,0,6.1-0.9c1.1-0.9,1.1-4,1.1-4s0.9,0.1,1.8-0.1c0.9-0.2,2-0.9,1-2.2s-2-1.3-2.9-1.3
|
||||
s-2.8,0.1-3.1,1.7c-0.3,1.6,0.1,3.2,0.1,3.2h-3.4l-0.1,0.4c-0.1,0-0.1,0-0.2,0c1.3-2.5,0.9-6.2-3.7-6.2c-5,0-4.8,3.9-3.9,6.3h-0.1
|
||||
l-0.2-0.5c0,0-6-0.9-6.9,0.4s-0.6,4.1,0,6.3c0,0-2.9-0.9-2.9,1.7s4.5,1.1,4.5,1.1s2.1-0.8,0.6-5.9c0.9,0.6,2.2,0.6,3.8,0.3
|
||||
c-0.8,4.3-0.9,9.2,1.4,11.3c0,0-2.7,3.9-3.4,5.2c-0.4,0.7-2.5,2-2,2.7c0.8,1.6,6.9,3.9,7.8,3.4c0,0,1.7-1.5,0.1-3.2
|
||||
c-1.4-1.5-2.6-1.8-2.6-1.8s4.4-2.8,4.7-3.9c0,0,0.4-1.1-0.2-2.7l0.1-0.1c0.7-0.2,6.4-2.1,6.5-2.2s0,1.8-0.2,2.3
|
||||
c-0.2,0.6-1,2.4-0.8,2.7s2.1,0.7,3.4,0.8s3.7,0.6,4,0.5C37.8,37.4,38.4,34.5,36.5,34z"/>
|
||||
</g>
|
||||
<polygon class="st2" points="19.8,12.6 21.1,11.9 19.7,9.3 18.3,10.1 "/>
|
||||
<path class="st2" d="M22.2,9.4c-0.3,0.8-0.1,2.3-0.1,2.3l1.7-0.3c0,0-0.2-1-0.1-1.5s1.9-4.1,1.9-4.1L24.4,5
|
||||
C24.4,5,22.5,8.6,22.2,9.4z"/>
|
||||
<path class="st2" d="M29,7.2c0,0-3.2,2.6-3.8,3c-0.5,0.4-0.5,1.4-0.5,1.4l1.6,0.3c0,0,0.1-0.4,0.3-0.8s3.1-2.6,3.1-2.6L29,7.2z"/>
|
||||
<path class="st3" d="M30.2,10.4c0,0-1.3,0.6-1.9,0.8s-1,1-1,1l1.2,1.1c0,0,0.2-0.3,0.4-0.6c0.2-0.3,2.1-0.9,2.1-0.9L30.2,10.4z"/>
|
||||
<circle class="st4" cx="58.7" cy="-7.6" r="3.9"/>
|
||||
</g>
|
||||
<g id="Art" class="st5">
|
||||
<circle class="st6" cx="44.1" cy="5.7" r="5.6"/>
|
||||
<g class="st7">
|
||||
<path d="M18,33c0.4,0,0.6,0,0.9,0c6.5,0,13,0,19.5,0c1.3,0,2,0.5,2.2,1.5c0.2,1.1-0.5,2.2-1.6,2.3c-0.2,0-0.5,0-0.7,0
|
||||
c-7.4,0-14.8,0-22.3,0c-2,0-2.7-0.9-2.2-2.9c0.3-1.1,0.5-2.3,0.8-3.4c0.3-0.9,0.2-1.8,0-2.8c-1.5-6.1-3.1-12.2-4.6-18.3
|
||||
C9.8,8.9,9.6,8.7,9.1,8.7c-1.3,0-2.6,0-3.9,0c-1.2,0-2-0.8-2-1.9s0.8-1.9,2-1.9c2,0,3.9,0,5.9,0c1.1,0,1.7,0.5,2,1.5
|
||||
c0.4,1.3,1.6,4.8,1.9,6.2c2.2,0.1,4.3,0.2,6.5,0.3c6.7,0.3,11.4,0.4,18.1,0.7c1.2,0.1,2.3,0.1,3.5,0.2c1.4,0.1,2.2,1.4,1.6,2.6
|
||||
c-0.9,2.5-3.5,8.5-4.4,10.4c-0.4,0.8-1,1.1-1.9,1.2c-5.9,0.3-12.5,0.5-18.4,0.7c-0.8,0-1.2,0.3-1.3,1.1C18.8,30.3,18.1,32.5,18,33
|
||||
z"/>
|
||||
<path d="M39.6,41.6c0,1.9-1.6,3.6-3.5,3.6c-2,0-3.6-1.6-3.6-3.6c0-1.9,1.6-3.6,3.6-3.6C38,38.1,39.6,39.7,39.6,41.6z"/>
|
||||
<path d="M18.2,41.5c0,1.9-1.7,3.5-3.6,3.5s-3.5-1.7-3.5-3.6c0-2,1.6-3.6,3.6-3.6C16.6,37.9,18.2,39.5,18.2,41.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Guides" class="st5">
|
||||
<rect x="38.6" class="st8" width="11.3" height="11.3"/>
|
||||
<rect x="51.1" y="5.7" class="st9" width="18.3" height="14.5"/>
|
||||
<text transform="matrix(1 0 0 1 51.0933 6.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Active Notification Indicator </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 8.2833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Use this if your app icon includes </text>
|
||||
<text transform="matrix(1 0 0 1 51.0933 9.7833)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">an active notification state</text>
|
||||
<g class="st7">
|
||||
<g>
|
||||
<polyline class="st10" points="46.9,46.1 46.9,47.1 45.9,47.1 "/>
|
||||
<line class="st11" x1="43.9" y1="47.1" x2="5.1" y2="47.1"/>
|
||||
<polyline class="st10" points="4.1,47.1 3.1,47.1 3.1,46.1 "/>
|
||||
<line class="st12" x1="3.1" y1="44.1" x2="3.1" y2="4.8"/>
|
||||
<polyline class="st10" points="3.1,3.8 3.1,2.8 4.1,2.8 "/>
|
||||
<line class="st11" x1="6.1" y1="2.8" x2="44.9" y2="2.8"/>
|
||||
<polyline class="st10" points="45.9,2.8 46.9,2.8 46.9,3.8 "/>
|
||||
<line class="st12" x1="46.9" y1="5.8" x2="46.9" y2="45.1"/>
|
||||
</g>
|
||||
</g>
|
||||
<g class="st7">
|
||||
<g>
|
||||
<polyline class="st13" points="44.7,44.3 44.7,45.2 43.8,45.2 "/>
|
||||
<line class="st14" x1="42" y1="45.2" x2="7.1" y2="45.2"/>
|
||||
<polyline class="st13" points="6.2,45.2 5.3,45.2 5.3,44.3 "/>
|
||||
<line class="st15" x1="5.3" y1="42.5" x2="5.3" y2="6.8"/>
|
||||
<polyline class="st13" points="5.3,5.9 5.3,5 6.2,5 "/>
|
||||
<line class="st14" x1="8" y1="5" x2="42.9" y2="5"/>
|
||||
<polyline class="st13" points="43.8,5 44.7,5 44.7,5.9 "/>
|
||||
<line class="st15" x1="44.7" y1="7.8" x2="44.7" y2="43.4"/>
|
||||
</g>
|
||||
</g>
|
||||
<rect x="55.1" y="19.2" class="st9" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 20.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Maximum Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 21.8449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should not exceed this </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.1126 23.3449)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area</text>
|
||||
<rect x="55" y="29.2" class="st9" width="18.3" height="14.5"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 30.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">Recommended Art Limit </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 31.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">App icon should be scaled to fit a </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 33.3438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">bounding area of approximately </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 55.0156 34.8438)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">this size</text>
|
||||
<line class="st16" x1="44.7" y1="29.9" x2="54" y2="29.9"/>
|
||||
<line class="st17" x1="46.9" y1="19.8" x2="53.9" y2="19.8"/>
|
||||
<rect x="-39.8" y="18.4" class="st9" width="33.3" height="23.9"/>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 19.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.55px;">App Icon States and File Naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 21.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">It is necessary to make at least two versions of your app icon, an </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 22.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">idle (white) state and a active (black) state, and if your app </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 24.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">includes an active notification indicator, you will need to also </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 25.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">create an active and idle version with the notification indicator. </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 28.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">To clearly convey theses states, the following naming </text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 30.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">conventions are typically used:</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 33.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle: app-name-i.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 34.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active: app-name-a.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 36.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Idle with notification: app-name-i-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 37.5289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;">Active with notification: app-name-a-msg.svg</text>
|
||||
|
||||
<text transform="matrix(1 0 0 1 -39.7919 39.0289)" style="display:inline;fill:#FFFFFF; font-family:'ArialMT'; font-size:1.25px;"> </text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.3 KiB |