├── index.html ├── package.json ├── readme.md ├── sandbox.config.json └── src ├── App.js ├── BasicThreeDemo.js ├── index.js ├── spheres.js ├── static ├── SourceSansPro-Regular.json └── SourceSansPro-Regular.png └── styles.css /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Parcel Sandbox 5 | 6 | 10 | 14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 |
22 |

Instanced Geometry

23 |
24 |

10000

25 |
26 |
27 | 30 | 31 | 36 | 39 | 42 |
43 | 44 |
45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "instanced-geometry-final", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.html", 6 | "scripts": { 7 | "start": "parcel index.html --open", 8 | "build": "parcel build index.html" 9 | }, 10 | "dependencies": { 11 | "debounce": "1.2.0", 12 | "gsap": "3.1.1", 13 | "random": "2.1.1", 14 | "simple-input-events": "1.0.1", 15 | "stats.js": "0.17.0", 16 | "three": "0.107.0" 17 | }, 18 | "devDependencies": { 19 | "@babel/core": "7.2.0", 20 | "parcel-bundler": "^1.6.1" 21 | }, 22 | "keywords": [] 23 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # [Rendering 100k spheres, instantiating and draw calls](https://velasquezdaniel.com/blog/rendering-100k-spheres-instantianing-and-draw-calls/) 2 | 3 | Main demo for the [article](https://velasquezdaniel.com/blog/rendering-100k-spheres-instantianing-and-draw-calls/). Using THREE.InstancedGeometry to render a lot of things without going below 60fps. 4 | 5 | Sandbox: https://codesandbox.io/s/github/Anemolo/100k-objects-with-Instanced-Geometries 6 | -------------------------------------------------------------------------------- /sandbox.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "infiniteLoopProtection": false, 3 | "hardReloadOnChange": false, 4 | "view": "browser" 5 | } 6 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import "./styles.css"; 2 | import * as THREE from "three"; 3 | import { BasicThreeDemo } from "./BasicThreeDemo"; 4 | import { Spheres } from "./spheres"; 5 | import { OrbitControls } from "three/examples/jsm/controls/OrbitControls"; 6 | import gsap from "gsap"; 7 | import createInputEvents from "simple-input-events"; 8 | 9 | export class App extends BasicThreeDemo { 10 | constructor(container, config) { 11 | super(container); 12 | this.config = config; 13 | this.camera.position.z = 200; 14 | this.controls = new OrbitControls(this.camera, this.renderer.domElement); 15 | 16 | this.text = new Text(this); 17 | this.topSpheres = new Spheres(config, [ 18 | new THREE.Color("#ff3030"), 19 | new THREE.Color("#121214") 20 | ]); 21 | this.bottomSpheres = new Spheres(config, [ 22 | new THREE.Color("#5050ff"), 23 | new THREE.Color("#121214") 24 | ]); 25 | this.scene.background = new THREE.Color("#1d2132"); 26 | 27 | this.onMove = this.onMove.bind(this); 28 | this.onTap = this.onTap.bind(this); 29 | this.restart = this.restart.bind(this); 30 | 31 | this.event = createInputEvents(this.container); 32 | } 33 | restart() { 34 | this.topSpheres.clean(); 35 | this.bottomSpheres.clean(); 36 | this.topSpheres.init(); 37 | this.bottomSpheres.init(); 38 | } 39 | onMove({ event }) { 40 | let mouse = { 41 | x: (event.clientX / window.innerWidth) * 2 - 1, 42 | y: -(event.clientY / window.innerHeight) * 2 + 1 43 | }; 44 | 45 | this.topSpheres.onMouseMove(mouse); 46 | this.bottomSpheres.onMouseMove(mouse); 47 | } 48 | dispose() { 49 | this.disposed = true; 50 | this.event.disable(); 51 | this.scene.dispose(); 52 | } 53 | onTap() { 54 | if (this.animating) return; 55 | 56 | let from = { value: 0 }; 57 | let to = { 58 | value: 1, 59 | duration: 0.7, 60 | ease: "power2.inOut", 61 | onComplete: () => { 62 | this.animating = false; 63 | } 64 | }; 65 | if (this.closed) { 66 | from.value = 1; 67 | to.value = 0; 68 | to.duration = 0.8; 69 | to.ease = "back.out(2)"; 70 | } 71 | this.closed = !this.closed; 72 | this.animating = true; 73 | gsap.fromTo(this.topSpheres.uniforms.uHold, from, to); 74 | gsap.fromTo(this.bottomSpheres.uniforms.uHold, from, to); 75 | } 76 | init() { 77 | this.topSpheres.init(); 78 | this.bottomSpheres.init(); 79 | this.scene.add(this.bottomSpheres); 80 | this.scene.add(this.topSpheres); 81 | 82 | this.topSpheres.rotation.y = Math.PI / 2; 83 | this.topSpheres.position.x = Math.PI / 2; 84 | 85 | this.bottomSpheres.rotation.y = Math.PI / 2; 86 | this.bottomSpheres.rotation.x = Math.PI; 87 | this.bottomSpheres.position.x = Math.PI / 2; 88 | 89 | this.event.on("move", this.onMove); 90 | this.event.on("down", this.onTap); 91 | 92 | this.tick(); 93 | } 94 | update() { 95 | let time = this.clock.getElapsedTime(); 96 | this.topSpheres.update(time); 97 | this.bottomSpheres.update(-time); 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /src/BasicThreeDemo.js: -------------------------------------------------------------------------------- 1 | import "./styles.css"; 2 | import * as THREE from "three"; 3 | import Stats from "stats.js"; 4 | 5 | export class BasicThreeDemo { 6 | constructor(container) { 7 | this.container = container; 8 | this.renderer = new THREE.WebGLRenderer({ 9 | antialias: true, 10 | stencil: false 11 | }); 12 | this.renderer.setSize(container.offsetWidth, container.offsetHeight, false); 13 | this.renderer.setPixelRatio(Math.max(1.5, window.devicePixelRatio)); 14 | 15 | this.stats = new Stats(); 16 | document.body.appendChild(this.stats.dom); 17 | 18 | container.append(this.renderer.domElement); 19 | 20 | this.camera = new THREE.PerspectiveCamera( 21 | 45, 22 | container.offsetWidth / container.offsetHeight, 23 | 0.1, 24 | 10000 25 | ); 26 | this.camera.position.z = 50; 27 | this.scene = new THREE.Scene(); 28 | 29 | this.clock = new THREE.Clock(); 30 | this.assets = {}; 31 | this.disposed = false; 32 | this.tick = this.tick.bind(this); 33 | this.init = this.init.bind(this); 34 | this.setSize = this.setSize.bind(this); 35 | } 36 | loadAssets() { 37 | return new Promise((resolve, reject) => { 38 | // const manager = new THREE.LoadingManager(resolve); 39 | // this.text.load(manager); 40 | }); 41 | } 42 | init() { 43 | this.tick(); 44 | } 45 | getViewSizeAtDepth(depth = 0) { 46 | const fovInRadians = (this.camera.fov * Math.PI) / 180; 47 | const height = Math.abs( 48 | (this.camera.position.z - depth) * Math.tan(fovInRadians / 2) * 2 49 | ); 50 | return { width: height * this.camera.aspect, height }; 51 | } 52 | setSize(width, height, updateStyle) { 53 | this.renderer.setSize(width, height, false); 54 | } 55 | onResize() {} 56 | dispose() { 57 | this.disposed = true; 58 | } 59 | update() {} 60 | render() { 61 | this.renderer.render(this.scene, this.camera); 62 | } 63 | tick() { 64 | if (this.disposed) return; 65 | if (resizeRendererToDisplaySize(this.renderer, this.setSize)) { 66 | const canvas = this.renderer.domElement; 67 | this.camera.aspect = canvas.clientWidth / canvas.clientHeight; 68 | this.camera.updateProjectionMatrix(); 69 | this.onResize(); 70 | } 71 | this.stats.begin(); 72 | this.update(); 73 | this.render(); 74 | this.stats.end(); 75 | requestAnimationFrame(this.tick); 76 | } 77 | } 78 | 79 | function resizeRendererToDisplaySize(renderer, setSize) { 80 | const canvas = renderer.domElement; 81 | const width = canvas.clientWidth; 82 | const height = canvas.clientHeight; 83 | const needResize = canvas.width !== width || canvas.height !== height; 84 | if (needResize) { 85 | setSize(width, height, false); 86 | } 87 | return needResize; 88 | } 89 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import { App } from "./App"; 2 | import debounce from "debounce"; 3 | 4 | let config = { 5 | // instances per thingy 6 | nInstances: 2000, 7 | useCube: false, 8 | scale: 1 9 | }; 10 | // 27,000 60fps 11 | // 58,000 30fps 12 | // also consider that the spheres have a lot fo vertices 13 | const container = document.getElementById("app"); 14 | const myApp = new App(container, config); 15 | myApp.init(); 16 | 17 | let less = document.getElementById("less"); 18 | let more = document.getElementById("more"); 19 | let evenLess = document.getElementById("even-less"); 20 | let evenMore = document.getElementById("even-more"); 21 | let countEle = document.getElementById("count"); 22 | let switchEle = document.getElementById("switch"); 23 | 24 | let restart = debounce(myApp.restart, 400); 25 | 26 | countEle.innerText = config.nInstances * 2; 27 | let addInstances = count => { 28 | config.nInstances += count; 29 | config.nInstances = Math.max(500, config.nInstances); 30 | countEle.innerText = config.nInstances * 2; 31 | let scale = 1 - Math.min(1, (config.nInstances - 500) / 50000) * 0.8; 32 | config.scale = scale; 33 | restart(); 34 | }; 35 | let handleLess = () => { 36 | addInstances(-500); 37 | }; 38 | 39 | let handleEvenLess = () => { 40 | addInstances(-2000); 41 | }; 42 | let handleMore = () => { 43 | addInstances(500); 44 | }; 45 | let handleEvenMore = () => { 46 | addInstances(2000); 47 | }; 48 | 49 | let handleSwitch = () => { 50 | config.useCube = !config.useCube; 51 | if (config.useCube) { 52 | switchEle.innerText = "Use Spheres"; 53 | } else { 54 | switchEle.innerText = "Use Cubes"; 55 | } 56 | restart(); 57 | }; 58 | switchEle.addEventListener("click", handleSwitch); 59 | 60 | less.addEventListener("click", handleLess); 61 | more.addEventListener("click", handleMore); 62 | evenLess.addEventListener("click", handleEvenLess); 63 | evenMore.addEventListener("click", handleEvenMore); 64 | if (module && module.hot) { 65 | // module.hot.accept((a, b) => { 66 | // // For some reason having this function here makes dat gui work correctly 67 | // // when using hot module replacement 68 | // }); 69 | module.hot.dispose(() => { 70 | less.removeEventListener("click", handleLess); 71 | more.removeEventListener("click", handleMore); 72 | evenLess.removeEventListener("click", handleEvenLess); 73 | evenMore.removeEventListener("click", handleEvenMore); 74 | switchEle.removeEventListener("click", handleSwitch); 75 | if (myApp) myApp.dispose(); 76 | }); 77 | } 78 | -------------------------------------------------------------------------------- /src/spheres.js: -------------------------------------------------------------------------------- 1 | import * as THREE from "three"; 2 | import random from "random"; 3 | 4 | let fragmentShader = ` 5 | varying vec3 vColor; 6 | 7 | void main(){ 8 | vec3 color = vColor; 9 | gl_FragColor = vec4(color, 1.); 10 | } 11 | `; 12 | 13 | let vertexShader = ` 14 | #define PI 3.14159265359 15 | attribute vec4 aCurve; 16 | uniform float uTime; 17 | uniform float uHold; 18 | uniform vec2 uMouse; 19 | uniform float uScale; 20 | 21 | attribute vec3 aColor; 22 | varying vec3 vColor; 23 | vec3 getCurvePosition(float progress, float radius, float offset){ 24 | vec3 pos = vec3(0.); 25 | 26 | pos.x += cos(progress *PI *8.) * radius ; 27 | pos.y += sin(progress *PI*8. ) * radius + sin(progress * PI *2. + uTime) * 30.; 28 | 29 | pos.z += progress *200. - 200./2. + offset; 30 | return pos; 31 | } 32 | vec3 getSecondCurvePosition(float progress, float radius, float offset){ 33 | vec3 pos = vec3(0.); 34 | pos.y += cos(progress * PI * 8.) * radius ; 35 | pos.x += sin(progress * PI * 8.) * radius ; 36 | pos.z += (progress) *200. + offset - 200./2.; 37 | pos = normalize(pos) * (radius ); 38 | return pos; 39 | } 40 | vec2 getScreenNDC(vec3 pos){ 41 | // https://stackoverflow.com/questions/26965787/how-to-get-accurate-fragment-screen-position-like-gl-fragcood-in-vertex-shader 42 | vec4 clipSpace = projectionMatrix* modelViewMatrix * vec4(pos, 1.); 43 | vec3 ndc = clipSpace.xyz / clipSpace.w; //perspective divide/normalize 44 | vec2 viewPortCoord = ndc.xy; //ndc is -1 to 1 in GL. scale for 0 to 1 45 | return viewPortCoord; 46 | } 47 | void main(){ 48 | vec3 transformed = position.xyz; 49 | float aSpeed = aCurve.w; 50 | float aRadius = aCurve.x; 51 | float aZOffset = aCurve.z; 52 | float aProgress = mod(aCurve.y + uTime * aSpeed, 1.); 53 | 54 | vec3 curvePosition = getCurvePosition(aProgress, aRadius, aZOffset); 55 | 56 | vec3 spherePosition = mix(getSecondCurvePosition(aProgress, aRadius, aZOffset),curvePosition, uHold); 57 | vec2 SphereViewportCoord =getScreenNDC( spherePosition); //ndc is -1 to 1 in GL. scale for 0 to 1 58 | 59 | float dist = length(uMouse - SphereViewportCoord); 60 | 61 | if(dist < 0.4){ 62 | transformed *= 1.+ (1.-dist/0.4) *6.; 63 | } 64 | transformed *= 1.- abs(aProgress - 0.5) *2.; 65 | transformed *= uScale; 66 | transformed += spherePosition; 67 | 68 | gl_Position = projectionMatrix* modelViewMatrix * vec4(transformed, 1.); 69 | 70 | vColor = aColor; 71 | } 72 | `; 73 | 74 | let baseGeometry = new THREE.SphereBufferGeometry(1, 4, 4); 75 | let baseCube = new THREE.BoxBufferGeometry(1, 1, 1); 76 | export class Spheres extends THREE.Mesh { 77 | constructor(config, colors) { 78 | super(); 79 | this.config = config; 80 | this.colors = colors; 81 | this.uniforms = { 82 | uTime: new THREE.Uniform(0), 83 | uMouse: new THREE.Uniform(new THREE.Vector2(-1, -1)), 84 | uHold: new THREE.Uniform(0), 85 | uScale: new THREE.Uniform(config.scale) 86 | }; 87 | let material = new THREE.ShaderMaterial({ 88 | fragmentShader, 89 | vertexShader, 90 | uniforms: this.uniforms 91 | }); 92 | this.material = material; 93 | } 94 | init() { 95 | let instancedGeometry = new THREE.InstancedBufferGeometry().copy( 96 | this.config.useCube ? baseCube : baseGeometry 97 | ); 98 | let instanceCount = this.config.nInstances; 99 | instancedGeometry.maxInstancedCount = instanceCount; 100 | this.uniforms.uScale.value = this.config.scale; 101 | let aCurve = []; 102 | let aColor = []; 103 | 104 | for (let i = 0; i < instanceCount; i++) { 105 | let radius = random.float(30, 40); 106 | let progress = random.float(); 107 | let offset = random.float(-5, 5); 108 | let speed = random.float(0.02, 0.07); 109 | aCurve.push(radius); 110 | aCurve.push(progress); 111 | aCurve.push(offset); 112 | aCurve.push(speed); 113 | let color = this.colors[Math.floor(Math.random() * this.colors.length)]; 114 | aColor.push(color.r, color.g, color.b); 115 | } 116 | 117 | // forloop 118 | 119 | instancedGeometry.addAttribute( 120 | "aCurve", 121 | new THREE.InstancedBufferAttribute(new Float32Array(aCurve), 4, false) 122 | ); 123 | instancedGeometry.addAttribute( 124 | "aColor", 125 | new THREE.InstancedBufferAttribute(new Float32Array(aColor), 3, false) 126 | ); 127 | 128 | this.geometry = instancedGeometry; 129 | } 130 | clean() { 131 | this.geometry.dispose(); 132 | } 133 | update(time) { 134 | this.uniforms.uTime.value = time; 135 | } 136 | onMouseMove(mouse) { 137 | this.uniforms.uMouse.value.set(mouse.x, mouse.y); 138 | } 139 | dispose() { 140 | this.geometry.dispose(); 141 | baseGeometry.dispose(); 142 | this.material.dispose(); 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /src/static/SourceSansPro-Regular.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": ["SourceSansPro-Regular.png"], 3 | "chars": [ 4 | { 5 | "id": 124, 6 | "index": 1143, 7 | "char": "|", 8 | "width": 8, 9 | "height": 76, 10 | "xoffset": 5, 11 | "yoffset": 2, 12 | "xadvance": 17, 13 | "chnl": 15, 14 | "x": 0, 15 | "y": 0, 16 | "page": 0 17 | }, 18 | { 19 | "id": 40, 20 | "index": 1136, 21 | "char": "(", 22 | "width": 17, 23 | "height": 69, 24 | "xoffset": 4, 25 | "yoffset": 3, 26 | "xadvance": 22, 27 | "chnl": 15, 28 | "x": 0, 29 | "y": 77, 30 | "page": 0 31 | }, 32 | { 33 | "id": 41, 34 | "index": 1137, 35 | "char": ")", 36 | "width": 17, 37 | "height": 69, 38 | "xoffset": 1, 39 | "yoffset": 3, 40 | "xadvance": 22, 41 | "chnl": 15, 42 | "x": 9, 43 | "y": 0, 44 | "page": 0 45 | }, 46 | { 47 | "id": 106, 48 | "index": 37, 49 | "char": "j", 50 | "width": 20, 51 | "height": 69, 52 | "xoffset": -5, 53 | "yoffset": 6, 54 | "xadvance": 18, 55 | "chnl": 15, 56 | "x": 0, 57 | "y": 147, 58 | "page": 0 59 | }, 60 | { 61 | "id": 47, 62 | "index": 1142, 63 | "char": "/", 64 | "width": 28, 65 | "height": 67, 66 | "xoffset": -1, 67 | "yoffset": 5, 68 | "xadvance": 25, 69 | "chnl": 15, 70 | "x": 18, 71 | "y": 70, 72 | "page": 0 73 | }, 74 | { 75 | "id": 92, 76 | "index": 1144, 77 | "char": "\\", 78 | "width": 27, 79 | "height": 67, 80 | "xoffset": -1, 81 | "yoffset": 5, 82 | "xadvance": 25, 83 | "chnl": 15, 84 | "x": 27, 85 | "y": 0, 86 | "page": 0 87 | }, 88 | { 89 | "id": 125, 90 | "index": 1141, 91 | "char": "}", 92 | "width": 21, 93 | "height": 66, 94 | "xoffset": 0, 95 | "yoffset": 5, 96 | "xadvance": 22, 97 | "chnl": 15, 98 | "x": 0, 99 | "y": 217, 100 | "page": 0 101 | }, 102 | { 103 | "id": 123, 104 | "index": 1140, 105 | "char": "{", 106 | "width": 21, 107 | "height": 66, 108 | "xoffset": 0, 109 | "yoffset": 5, 110 | "xadvance": 22, 111 | "chnl": 15, 112 | "x": 21, 113 | "y": 138, 114 | "page": 0 115 | }, 116 | { 117 | "id": 91, 118 | "index": 1138, 119 | "char": "[", 120 | "width": 17, 121 | "height": 66, 122 | "xoffset": 5, 123 | "yoffset": 5, 124 | "xadvance": 22, 125 | "chnl": 15, 126 | "x": 0, 127 | "y": 284, 128 | "page": 0 129 | }, 130 | { 131 | "id": 93, 132 | "index": 1139, 133 | "char": "]", 134 | "width": 17, 135 | "height": 66, 136 | "xoffset": 0, 137 | "yoffset": 5, 138 | "xadvance": 22, 139 | "chnl": 15, 140 | "x": 0, 141 | "y": 351, 142 | "page": 0 143 | }, 144 | { 145 | "id": 36, 146 | "index": 1660, 147 | "char": "$", 148 | "width": 32, 149 | "height": 66, 150 | "xoffset": 2, 151 | "yoffset": 2, 152 | "xadvance": 36, 153 | "chnl": 15, 154 | "x": 0, 155 | "y": 418, 156 | "page": 0 157 | }, 158 | { 159 | "id": 81, 160 | "index": 18, 161 | "char": "Q", 162 | "width": 45, 163 | "height": 64, 164 | "xoffset": 2, 165 | "yoffset": 8, 166 | "xadvance": 48, 167 | "chnl": 15, 168 | "x": 18, 169 | "y": 284, 170 | "page": 0 171 | }, 172 | { 173 | "id": 64, 174 | "index": 1174, 175 | "char": "@", 176 | "width": 58, 177 | "height": 62, 178 | "xoffset": 2, 179 | "yoffset": 9, 180 | "xadvance": 61, 181 | "chnl": 15, 182 | "x": 18, 183 | "y": 349, 184 | "page": 0 185 | }, 186 | { 187 | "id": 37, 188 | "index": 1684, 189 | "char": "%", 190 | "width": 58, 191 | "height": 53, 192 | "xoffset": 1, 193 | "yoffset": 8, 194 | "xadvance": 59, 195 | "chnl": 15, 196 | "x": 22, 197 | "y": 205, 198 | "page": 0 199 | }, 200 | { 201 | "id": 87, 202 | "index": 24, 203 | "char": "W", 204 | "width": 57, 205 | "height": 51, 206 | "xoffset": 0, 207 | "yoffset": 9, 208 | "xadvance": 57, 209 | "chnl": 15, 210 | "x": 43, 211 | "y": 138, 212 | "page": 0 213 | }, 214 | { 215 | "id": 103, 216 | "index": 34, 217 | "char": "g", 218 | "width": 36, 219 | "height": 56, 220 | "xoffset": 1, 221 | "yoffset": 20, 222 | "xadvance": 36, 223 | "chnl": 15, 224 | "x": 47, 225 | "y": 68, 226 | "page": 0 227 | }, 228 | { 229 | "id": 100, 230 | "index": 31, 231 | "char": "d", 232 | "width": 35, 233 | "height": 56, 234 | "xoffset": 1, 235 | "yoffset": 5, 236 | "xadvance": 40, 237 | "chnl": 15, 238 | "x": 55, 239 | "y": 0, 240 | "page": 0 241 | }, 242 | { 243 | "id": 102, 244 | "index": 33, 245 | "char": "f", 246 | "width": 25, 247 | "height": 56, 248 | "xoffset": 0, 249 | "yoffset": 4, 250 | "xadvance": 21, 251 | "chnl": 15, 252 | "x": 84, 253 | "y": 57, 254 | "page": 0 255 | }, 256 | { 257 | "id": 98, 258 | "index": 29, 259 | "char": "b", 260 | "width": 35, 261 | "height": 56, 262 | "xoffset": 4, 263 | "yoffset": 5, 264 | "xadvance": 40, 265 | "chnl": 15, 266 | "x": 91, 267 | "y": 0, 268 | "page": 0 269 | }, 270 | { 271 | "id": 108, 272 | "index": 39, 273 | "char": "l", 274 | "width": 14, 275 | "height": 56, 276 | "xoffset": 4, 277 | "yoffset": 5, 278 | "xadvance": 18, 279 | "chnl": 15, 280 | "x": 64, 281 | "y": 259, 282 | "page": 0 283 | }, 284 | { 285 | "id": 107, 286 | "index": 38, 287 | "char": "k", 288 | "width": 33, 289 | "height": 55, 290 | "xoffset": 4, 291 | "yoffset": 5, 292 | "xadvance": 36, 293 | "chnl": 15, 294 | "x": 33, 295 | "y": 412, 296 | "page": 0 297 | }, 298 | { 299 | "id": 104, 300 | "index": 35, 301 | "char": "h", 302 | "width": 32, 303 | "height": 55, 304 | "xoffset": 4, 305 | "yoffset": 5, 306 | "xadvance": 39, 307 | "chnl": 15, 308 | "x": 67, 309 | "y": 412, 310 | "page": 0 311 | }, 312 | { 313 | "id": 112, 314 | "index": 43, 315 | "char": "p", 316 | "width": 35, 317 | "height": 55, 318 | "xoffset": 4, 319 | "yoffset": 20, 320 | "xadvance": 40, 321 | "chnl": 15, 322 | "x": 77, 323 | "y": 316, 324 | "page": 0 325 | }, 326 | { 327 | "id": 113, 328 | "index": 44, 329 | "char": "q", 330 | "width": 35, 331 | "height": 55, 332 | "xoffset": 1, 333 | "yoffset": 20, 334 | "xadvance": 40, 335 | "chnl": 15, 336 | "x": 79, 337 | "y": 259, 338 | "page": 0 339 | }, 340 | { 341 | "id": 105, 342 | "index": 36, 343 | "char": "i", 344 | "width": 12, 345 | "height": 54, 346 | "xoffset": 3, 347 | "yoffset": 6, 348 | "xadvance": 18, 349 | "chnl": 15, 350 | "x": 81, 351 | "y": 190, 352 | "page": 0 353 | }, 354 | { 355 | "id": 121, 356 | "index": 52, 357 | "char": "y", 358 | "width": 36, 359 | "height": 54, 360 | "xoffset": -1, 361 | "yoffset": 21, 362 | "xadvance": 34, 363 | "chnl": 15, 364 | "x": 94, 365 | "y": 190, 366 | "page": 0 367 | }, 368 | { 369 | "id": 63, 370 | "index": 1109, 371 | "char": "?", 372 | "width": 28, 373 | "height": 54, 374 | "xoffset": 1, 375 | "yoffset": 7, 376 | "xadvance": 31, 377 | "chnl": 15, 378 | "x": 101, 379 | "y": 114, 380 | "page": 0 381 | }, 382 | { 383 | "id": 79, 384 | "index": 16, 385 | "char": "O", 386 | "width": 44, 387 | "height": 53, 388 | "xoffset": 2, 389 | "yoffset": 8, 390 | "xadvance": 48, 391 | "chnl": 15, 392 | "x": 110, 393 | "y": 57, 394 | "page": 0 395 | }, 396 | { 397 | "id": 33, 398 | "index": 1107, 399 | "char": "!", 400 | "width": 13, 401 | "height": 53, 402 | "xoffset": 4, 403 | "yoffset": 8, 404 | "xadvance": 21, 405 | "chnl": 15, 406 | "x": 127, 407 | "y": 0, 408 | "page": 0 409 | }, 410 | { 411 | "id": 67, 412 | "index": 4, 413 | "char": "C", 414 | "width": 39, 415 | "height": 53, 416 | "xoffset": 2, 417 | "yoffset": 8, 418 | "xadvance": 41, 419 | "chnl": 15, 420 | "x": 141, 421 | "y": 0, 422 | "page": 0 423 | }, 424 | { 425 | "id": 83, 426 | "index": 20, 427 | "char": "S", 428 | "width": 37, 429 | "height": 53, 430 | "xoffset": 1, 431 | "yoffset": 8, 432 | "xadvance": 38, 433 | "chnl": 15, 434 | "x": 130, 435 | "y": 111, 436 | "page": 0 437 | }, 438 | { 439 | "id": 71, 440 | "index": 8, 441 | "char": "G", 442 | "width": 40, 443 | "height": 53, 444 | "xoffset": 2, 445 | "yoffset": 8, 446 | "xadvance": 44, 447 | "chnl": 15, 448 | "x": 155, 449 | "y": 54, 450 | "page": 0 451 | }, 452 | { 453 | "id": 38, 454 | "index": 1057, 455 | "char": "&", 456 | "width": 44, 457 | "height": 53, 458 | "xoffset": 0, 459 | "yoffset": 8, 460 | "xadvance": 44, 461 | "chnl": 15, 462 | "x": 181, 463 | "y": 0, 464 | "page": 0 465 | }, 466 | { 467 | "id": 57, 468 | "index": 1067, 469 | "char": "9", 470 | "width": 33, 471 | "height": 52, 472 | "xoffset": 1, 473 | "yoffset": 9, 474 | "xadvance": 36, 475 | "chnl": 15, 476 | "x": 100, 477 | "y": 372, 478 | "page": 0 479 | }, 480 | { 481 | "id": 74, 482 | "index": 11, 483 | "char": "J", 484 | "width": 30, 485 | "height": 52, 486 | "xoffset": 0, 487 | "yoffset": 9, 488 | "xadvance": 35, 489 | "chnl": 15, 490 | "x": 113, 491 | "y": 315, 492 | "page": 0 493 | }, 494 | { 495 | "id": 54, 496 | "index": 1064, 497 | "char": "6", 498 | "width": 33, 499 | "height": 52, 500 | "xoffset": 1, 501 | "yoffset": 9, 502 | "xadvance": 36, 503 | "chnl": 15, 504 | "x": 115, 505 | "y": 245, 506 | "page": 0 507 | }, 508 | { 509 | "id": 51, 510 | "index": 1061, 511 | "char": "3", 512 | "width": 34, 513 | "height": 52, 514 | "xoffset": 0, 515 | "yoffset": 9, 516 | "xadvance": 36, 517 | "chnl": 15, 518 | "x": 131, 519 | "y": 165, 520 | "page": 0 521 | }, 522 | { 523 | "id": 119, 524 | "index": 50, 525 | "char": "w", 526 | "width": 52, 527 | "height": 39, 528 | "xoffset": 0, 529 | "yoffset": 21, 530 | "xadvance": 52, 531 | "chnl": 15, 532 | "x": 33, 533 | "y": 468, 534 | "page": 0 535 | }, 536 | { 537 | "id": 48, 538 | "index": 1058, 539 | "char": "0", 540 | "width": 33, 541 | "height": 52, 542 | "xoffset": 1, 543 | "yoffset": 9, 544 | "xadvance": 36, 545 | "chnl": 15, 546 | "x": 100, 547 | "y": 425, 548 | "page": 0 549 | }, 550 | { 551 | "id": 109, 552 | "index": 40, 553 | "char": "m", 554 | "width": 52, 555 | "height": 40, 556 | "xoffset": 4, 557 | "yoffset": 20, 558 | "xadvance": 60, 559 | "chnl": 15, 560 | "x": 134, 561 | "y": 368, 562 | "page": 0 563 | }, 564 | { 565 | "id": 85, 566 | "index": 22, 567 | "char": "U", 568 | "width": 38, 569 | "height": 52, 570 | "xoffset": 4, 571 | "yoffset": 9, 572 | "xadvance": 46, 573 | "chnl": 15, 574 | "x": 144, 575 | "y": 298, 576 | "page": 0 577 | }, 578 | { 579 | "id": 56, 580 | "index": 1066, 581 | "char": "8", 582 | "width": 34, 583 | "height": 52, 584 | "xoffset": 1, 585 | "yoffset": 9, 586 | "xadvance": 36, 587 | "chnl": 15, 588 | "x": 149, 589 | "y": 218, 590 | "page": 0 591 | }, 592 | { 593 | "id": 78, 594 | "index": 15, 595 | "char": "N", 596 | "width": 38, 597 | "height": 51, 598 | "xoffset": 4, 599 | "yoffset": 9, 600 | "xadvance": 47, 601 | "chnl": 15, 602 | "x": 166, 603 | "y": 165, 604 | "page": 0 605 | }, 606 | { 607 | "id": 65, 608 | "index": 2, 609 | "char": "A", 610 | "width": 43, 611 | "height": 51, 612 | "xoffset": -2, 613 | "yoffset": 9, 614 | "xadvance": 39, 615 | "chnl": 15, 616 | "x": 168, 617 | "y": 108, 618 | "page": 0 619 | }, 620 | { 621 | "id": 80, 622 | "index": 17, 623 | "char": "P", 624 | "width": 35, 625 | "height": 51, 626 | "xoffset": 4, 627 | "yoffset": 9, 628 | "xadvance": 41, 629 | "chnl": 15, 630 | "x": 196, 631 | "y": 54, 632 | "page": 0 633 | }, 634 | { 635 | "id": 66, 636 | "index": 3, 637 | "char": "B", 638 | "width": 37, 639 | "height": 51, 640 | "xoffset": 4, 641 | "yoffset": 9, 642 | "xadvance": 42, 643 | "chnl": 15, 644 | "x": 226, 645 | "y": 0, 646 | "page": 0 647 | }, 648 | { 649 | "id": 82, 650 | "index": 19, 651 | "char": "R", 652 | "width": 37, 653 | "height": 51, 654 | "xoffset": 4, 655 | "yoffset": 9, 656 | "xadvance": 41, 657 | "chnl": 15, 658 | "x": 183, 659 | "y": 271, 660 | "page": 0 661 | }, 662 | { 663 | "id": 50, 664 | "index": 1060, 665 | "char": "2", 666 | "width": 34, 667 | "height": 51, 668 | "xoffset": 1, 669 | "yoffset": 9, 670 | "xadvance": 36, 671 | "chnl": 15, 672 | "x": 184, 673 | "y": 217, 674 | "page": 0 675 | }, 676 | { 677 | "id": 84, 678 | "index": 21, 679 | "char": "T", 680 | "width": 39, 681 | "height": 51, 682 | "xoffset": 0, 683 | "yoffset": 9, 684 | "xadvance": 39, 685 | "chnl": 15, 686 | "x": 205, 687 | "y": 160, 688 | "page": 0 689 | }, 690 | { 691 | "id": 68, 692 | "index": 5, 693 | "char": "D", 694 | "width": 38, 695 | "height": 51, 696 | "xoffset": 4, 697 | "yoffset": 9, 698 | "xadvance": 44, 699 | "chnl": 15, 700 | "x": 212, 701 | "y": 106, 702 | "page": 0 703 | }, 704 | { 705 | "id": 86, 706 | "index": 23, 707 | "char": "V", 708 | "width": 41, 709 | "height": 51, 710 | "xoffset": -2, 711 | "yoffset": 9, 712 | "xadvance": 37, 713 | "chnl": 15, 714 | "x": 232, 715 | "y": 52, 716 | "page": 0 717 | }, 718 | { 719 | "id": 69, 720 | "index": 6, 721 | "char": "E", 722 | "width": 32, 723 | "height": 51, 724 | "xoffset": 4, 725 | "yoffset": 9, 726 | "xadvance": 38, 727 | "chnl": 15, 728 | "x": 264, 729 | "y": 0, 730 | "page": 0 731 | }, 732 | { 733 | "id": 88, 734 | "index": 25, 735 | "char": "X", 736 | "width": 39, 737 | "height": 51, 738 | "xoffset": -1, 739 | "yoffset": 9, 740 | "xadvance": 37, 741 | "chnl": 15, 742 | "x": 219, 743 | "y": 212, 744 | "page": 0 745 | }, 746 | { 747 | "id": 89, 748 | "index": 26, 749 | "char": "Y", 750 | "width": 38, 751 | "height": 51, 752 | "xoffset": -2, 753 | "yoffset": 9, 754 | "xadvance": 34, 755 | "chnl": 15, 756 | "x": 245, 757 | "y": 158, 758 | "page": 0 759 | }, 760 | { 761 | "id": 90, 762 | "index": 27, 763 | "char": "Z", 764 | "width": 37, 765 | "height": 51, 766 | "xoffset": 1, 767 | "yoffset": 9, 768 | "xadvance": 39, 769 | "chnl": 15, 770 | "x": 251, 771 | "y": 104, 772 | "page": 0 773 | }, 774 | { 775 | "id": 70, 776 | "index": 7, 777 | "char": "F", 778 | "width": 31, 779 | "height": 51, 780 | "xoffset": 4, 781 | "yoffset": 9, 782 | "xadvance": 36, 783 | "chnl": 15, 784 | "x": 274, 785 | "y": 52, 786 | "page": 0 787 | }, 788 | { 789 | "id": 77, 790 | "index": 14, 791 | "char": "M", 792 | "width": 43, 793 | "height": 51, 794 | "xoffset": 4, 795 | "yoffset": 9, 796 | "xadvance": 52, 797 | "chnl": 15, 798 | "x": 297, 799 | "y": 0, 800 | "page": 0 801 | }, 802 | { 803 | "id": 72, 804 | "index": 9, 805 | "char": "H", 806 | "width": 38, 807 | "height": 51, 808 | "xoffset": 4, 809 | "yoffset": 9, 810 | "xadvance": 47, 811 | "chnl": 15, 812 | "x": 134, 813 | "y": 409, 814 | "page": 0 815 | }, 816 | { 817 | "id": 73, 818 | "index": 10, 819 | "char": "I", 820 | "width": 10, 821 | "height": 51, 822 | "xoffset": 4, 823 | "yoffset": 9, 824 | "xadvance": 19, 825 | "chnl": 15, 826 | "x": 134, 827 | "y": 461, 828 | "page": 0 829 | }, 830 | { 831 | "id": 35, 832 | "index": 1176, 833 | "char": "#", 834 | "width": 35, 835 | "height": 51, 836 | "xoffset": 1, 837 | "yoffset": 9, 838 | "xadvance": 36, 839 | "chnl": 15, 840 | "x": 145, 841 | "y": 461, 842 | "page": 0 843 | }, 844 | { 845 | "id": 75, 846 | "index": 12, 847 | "char": "K", 848 | "width": 39, 849 | "height": 51, 850 | "xoffset": 4, 851 | "yoffset": 9, 852 | "xadvance": 42, 853 | "chnl": 15, 854 | "x": 173, 855 | "y": 409, 856 | "page": 0 857 | }, 858 | { 859 | "id": 76, 860 | "index": 13, 861 | "char": "L", 862 | "width": 31, 863 | "height": 51, 864 | "xoffset": 4, 865 | "yoffset": 9, 866 | "xadvance": 35, 867 | "chnl": 15, 868 | "x": 181, 869 | "y": 461, 870 | "page": 0 871 | }, 872 | { 873 | "id": 53, 874 | "index": 1063, 875 | "char": "5", 876 | "width": 35, 877 | "height": 51, 878 | "xoffset": 0, 879 | "yoffset": 10, 880 | "xadvance": 36, 881 | "chnl": 15, 882 | "x": 187, 883 | "y": 323, 884 | "page": 0 885 | }, 886 | { 887 | "id": 49, 888 | "index": 1059, 889 | "char": "1", 890 | "width": 30, 891 | "height": 50, 892 | "xoffset": 4, 893 | "yoffset": 10, 894 | "xadvance": 36, 895 | "chnl": 15, 896 | "x": 221, 897 | "y": 264, 898 | "page": 0 899 | }, 900 | { 901 | "id": 116, 902 | "index": 47, 903 | "char": "t", 904 | "width": 26, 905 | "height": 50, 906 | "xoffset": 0, 907 | "yoffset": 11, 908 | "xadvance": 24, 909 | "chnl": 15, 910 | "x": 213, 911 | "y": 375, 912 | "page": 0 913 | }, 914 | { 915 | "id": 59, 916 | "index": 1105, 917 | "char": ";", 918 | "width": 15, 919 | "height": 50, 920 | "xoffset": 1, 921 | "yoffset": 22, 922 | "xadvance": 18, 923 | "chnl": 15, 924 | "x": 223, 925 | "y": 315, 926 | "page": 0 927 | }, 928 | { 929 | "id": 55, 930 | "index": 1065, 931 | "char": "7", 932 | "width": 34, 933 | "height": 50, 934 | "xoffset": 1, 935 | "yoffset": 10, 936 | "xadvance": 36, 937 | "chnl": 15, 938 | "x": 239, 939 | "y": 315, 940 | "page": 0 941 | }, 942 | { 943 | "id": 52, 944 | "index": 1062, 945 | "char": "4", 946 | "width": 37, 947 | "height": 50, 948 | "xoffset": -1, 949 | "yoffset": 10, 950 | "xadvance": 36, 951 | "chnl": 15, 952 | "x": 252, 953 | "y": 264, 954 | "page": 0 955 | }, 956 | { 957 | "id": 101, 958 | "index": 32, 959 | "char": "e", 960 | "width": 34, 961 | "height": 41, 962 | "xoffset": 1, 963 | "yoffset": 20, 964 | "xadvance": 36, 965 | "chnl": 15, 966 | "x": 259, 967 | "y": 210, 968 | "page": 0 969 | }, 970 | { 971 | "id": 111, 972 | "index": 42, 973 | "char": "o", 974 | "width": 36, 975 | "height": 41, 976 | "xoffset": 1, 977 | "yoffset": 20, 978 | "xadvance": 39, 979 | "chnl": 15, 980 | "x": 284, 981 | "y": 156, 982 | "page": 0 983 | }, 984 | { 985 | "id": 99, 986 | "index": 30, 987 | "char": "c", 988 | "width": 32, 989 | "height": 41, 990 | "xoffset": 1, 991 | "yoffset": 20, 992 | "xadvance": 33, 993 | "chnl": 15, 994 | "x": 289, 995 | "y": 104, 996 | "page": 0 997 | }, 998 | { 999 | "id": 115, 1000 | "index": 46, 1001 | "char": "s", 1002 | "width": 30, 1003 | "height": 41, 1004 | "xoffset": 0, 1005 | "yoffset": 20, 1006 | "xadvance": 30, 1007 | "chnl": 15, 1008 | "x": 306, 1009 | "y": 52, 1010 | "page": 0 1011 | }, 1012 | { 1013 | "id": 97, 1014 | "index": 28, 1015 | "char": "a", 1016 | "width": 31, 1017 | "height": 41, 1018 | "xoffset": 2, 1019 | "yoffset": 20, 1020 | "xadvance": 36, 1021 | "chnl": 15, 1022 | "x": 213, 1023 | "y": 426, 1024 | "page": 0 1025 | }, 1026 | { 1027 | "id": 110, 1028 | "index": 41, 1029 | "char": "n", 1030 | "width": 32, 1031 | "height": 40, 1032 | "xoffset": 4, 1033 | "yoffset": 20, 1034 | "xadvance": 39, 1035 | "chnl": 15, 1036 | "x": 213, 1037 | "y": 468, 1038 | "page": 0 1039 | }, 1040 | { 1041 | "id": 114, 1042 | "index": 45, 1043 | "char": "r", 1044 | "width": 23, 1045 | "height": 40, 1046 | "xoffset": 4, 1047 | "yoffset": 20, 1048 | "xadvance": 25, 1049 | "chnl": 15, 1050 | "x": 240, 1051 | "y": 366, 1052 | "page": 0 1053 | }, 1054 | { 1055 | "id": 117, 1056 | "index": 48, 1057 | "char": "u", 1058 | "width": 32, 1059 | "height": 40, 1060 | "xoffset": 3, 1061 | "yoffset": 21, 1062 | "xadvance": 39, 1063 | "chnl": 15, 1064 | "x": 245, 1065 | "y": 407, 1066 | "page": 0 1067 | }, 1068 | { 1069 | "id": 120, 1070 | "index": 51, 1071 | "char": "x", 1072 | "width": 34, 1073 | "height": 39, 1074 | "xoffset": -1, 1075 | "yoffset": 21, 1076 | "xadvance": 32, 1077 | "chnl": 15, 1078 | "x": 264, 1079 | "y": 366, 1080 | "page": 0 1081 | }, 1082 | { 1083 | "id": 58, 1084 | "index": 1104, 1085 | "char": ":", 1086 | "width": 13, 1087 | "height": 39, 1088 | "xoffset": 3, 1089 | "yoffset": 22, 1090 | "xadvance": 18, 1091 | "chnl": 15, 1092 | "x": 86, 1093 | "y": 468, 1094 | "page": 0 1095 | }, 1096 | { 1097 | "id": 122, 1098 | "index": 53, 1099 | "char": "z", 1100 | "width": 30, 1101 | "height": 39, 1102 | "xoffset": 0, 1103 | "yoffset": 21, 1104 | "xadvance": 31, 1105 | "chnl": 15, 1106 | "x": 274, 1107 | "y": 315, 1108 | "page": 0 1109 | }, 1110 | { 1111 | "id": 118, 1112 | "index": 49, 1113 | "char": "v", 1114 | "width": 36, 1115 | "height": 39, 1116 | "xoffset": -1, 1117 | "yoffset": 21, 1118 | "xadvance": 34, 1119 | "chnl": 15, 1120 | "x": 290, 1121 | "y": 252, 1122 | "page": 0 1123 | }, 1124 | { 1125 | "id": 95, 1126 | "index": 1133, 1127 | "char": "_", 1128 | "width": 38, 1129 | "height": 8, 1130 | "xoffset": -1, 1131 | "yoffset": 61, 1132 | "xadvance": 36, 1133 | "chnl": 15, 1134 | "x": 47, 1135 | "y": 125, 1136 | "page": 0 1137 | }, 1138 | { 1139 | "id": 43, 1140 | "index": 1705, 1141 | "char": "+", 1142 | "width": 35, 1143 | "height": 37, 1144 | "xoffset": 0, 1145 | "yoffset": 16, 1146 | "xadvance": 36, 1147 | "chnl": 15, 1148 | "x": 294, 1149 | "y": 198, 1150 | "page": 0 1151 | }, 1152 | { 1153 | "id": 62, 1154 | "index": 1712, 1155 | "char": ">", 1156 | "width": 35, 1157 | "height": 33, 1158 | "xoffset": 0, 1159 | "yoffset": 18, 1160 | "xadvance": 36, 1161 | "chnl": 15, 1162 | "x": 321, 1163 | "y": 146, 1164 | "page": 0 1165 | }, 1166 | { 1167 | "id": 126, 1168 | "index": 1718, 1169 | "char": "~", 1170 | "width": 35, 1171 | "height": 15, 1172 | "xoffset": 1, 1173 | "yoffset": 27, 1174 | "xadvance": 36, 1175 | "chnl": 15, 1176 | "x": 144, 1177 | "y": 351, 1178 | "page": 0 1179 | }, 1180 | { 1181 | "id": 60, 1182 | "index": 1711, 1183 | "char": "<", 1184 | "width": 35, 1185 | "height": 33, 1186 | "xoffset": 0, 1187 | "yoffset": 18, 1188 | "xadvance": 36, 1189 | "chnl": 15, 1190 | "x": 322, 1191 | "y": 94, 1192 | "page": 0 1193 | }, 1194 | { 1195 | "id": 61, 1196 | "index": 1710, 1197 | "char": "=", 1198 | "width": 35, 1199 | "height": 24, 1200 | "xoffset": 0, 1201 | "yoffset": 22, 1202 | "xadvance": 36, 1203 | "chnl": 15, 1204 | "x": 22, 1205 | "y": 259, 1206 | "page": 0 1207 | }, 1208 | { 1209 | "id": 94, 1210 | "index": 1716, 1211 | "char": "^", 1212 | "width": 31, 1213 | "height": 32, 1214 | "xoffset": 2, 1215 | "yoffset": 8, 1216 | "xadvance": 36, 1217 | "chnl": 15, 1218 | "x": 100, 1219 | "y": 478, 1220 | "page": 0 1221 | }, 1222 | { 1223 | "id": 42, 1224 | "index": 1146, 1225 | "char": "*", 1226 | "width": 26, 1227 | "height": 25, 1228 | "xoffset": 2, 1229 | "yoffset": 5, 1230 | "xadvance": 30, 1231 | "chnl": 15, 1232 | "x": 149, 1233 | "y": 271, 1234 | "page": 0 1235 | }, 1236 | { 1237 | "id": 44, 1238 | "index": 1103, 1239 | "char": ",", 1240 | "width": 15, 1241 | "height": 24, 1242 | "xoffset": 1, 1243 | "yoffset": 48, 1244 | "xadvance": 18, 1245 | "chnl": 15, 1246 | "x": 131, 1247 | "y": 218, 1248 | "page": 0 1249 | }, 1250 | { 1251 | "id": 39, 1252 | "index": 1111, 1253 | "char": "'", 1254 | "width": 10, 1255 | "height": 23, 1256 | "xoffset": 4, 1257 | "yoffset": 6, 1258 | "xadvance": 18, 1259 | "chnl": 15, 1260 | "x": 86, 1261 | "y": 114, 1262 | "page": 0 1263 | }, 1264 | { 1265 | "id": 34, 1266 | "index": 1112, 1267 | "char": "\"", 1268 | "width": 23, 1269 | "height": 23, 1270 | "xoffset": 4, 1271 | "yoffset": 6, 1272 | "xadvance": 31, 1273 | "chnl": 15, 1274 | "x": 187, 1275 | "y": 375, 1276 | "page": 0 1277 | }, 1278 | { 1279 | "id": 45, 1280 | "index": 1123, 1281 | "char": "-", 1282 | "width": 21, 1283 | "height": 9, 1284 | "xoffset": 1, 1285 | "yoffset": 36, 1286 | "xadvance": 22, 1287 | "chnl": 15, 1288 | "x": 187, 1289 | "y": 399, 1290 | "page": 0 1291 | }, 1292 | { 1293 | "id": 96, 1294 | "index": 1761, 1295 | "char": "`", 1296 | "width": 18, 1297 | "height": 19, 1298 | "xoffset": 7, 1299 | "yoffset": 0, 1300 | "xadvance": 39, 1301 | "chnl": 15, 1302 | "x": 101, 1303 | "y": 169, 1304 | "page": 0 1305 | }, 1306 | { 1307 | "id": 46, 1308 | "index": 1102, 1309 | "char": ".", 1310 | "width": 13, 1311 | "height": 13, 1312 | "xoffset": 3, 1313 | "yoffset": 48, 1314 | "xadvance": 18, 1315 | "chnl": 15, 1316 | "x": 81, 1317 | "y": 245, 1318 | "page": 0 1319 | }, 1320 | { 1321 | "id": 32, 1322 | "index": 1, 1323 | "char": " ", 1324 | "width": 0, 1325 | "height": 0, 1326 | "xoffset": -2, 1327 | "yoffset": 56, 1328 | "xadvance": 14, 1329 | "chnl": 15, 1330 | "x": 21, 1331 | "y": 205, 1332 | "page": 0 1333 | } 1334 | ], 1335 | "info": { 1336 | "face": "SourceSansPro-Regular", 1337 | "size": 72, 1338 | "bold": 0, 1339 | "italic": 0, 1340 | "charset": [ 1341 | " ", 1342 | "!", 1343 | "\"", 1344 | "#", 1345 | "$", 1346 | "%", 1347 | "&", 1348 | "'", 1349 | "(", 1350 | ")", 1351 | "*", 1352 | "+", 1353 | ",", 1354 | "-", 1355 | ".", 1356 | "/", 1357 | "0", 1358 | "1", 1359 | "2", 1360 | "3", 1361 | "4", 1362 | "5", 1363 | "6", 1364 | "7", 1365 | "8", 1366 | "9", 1367 | ":", 1368 | ";", 1369 | "<", 1370 | "=", 1371 | ">", 1372 | "?", 1373 | "@", 1374 | "A", 1375 | "B", 1376 | "C", 1377 | "D", 1378 | "E", 1379 | "F", 1380 | "G", 1381 | "H", 1382 | "I", 1383 | "J", 1384 | "K", 1385 | "L", 1386 | "M", 1387 | "N", 1388 | "O", 1389 | "P", 1390 | "Q", 1391 | "R", 1392 | "S", 1393 | "T", 1394 | "U", 1395 | "V", 1396 | "W", 1397 | "X", 1398 | "Y", 1399 | "Z", 1400 | "[", 1401 | "\\", 1402 | "]", 1403 | "^", 1404 | "_", 1405 | "`", 1406 | "a", 1407 | "b", 1408 | "c", 1409 | "d", 1410 | "e", 1411 | "f", 1412 | "g", 1413 | "h", 1414 | "i", 1415 | "j", 1416 | "k", 1417 | "l", 1418 | "m", 1419 | "n", 1420 | "o", 1421 | "p", 1422 | "q", 1423 | "r", 1424 | "s", 1425 | "t", 1426 | "u", 1427 | "v", 1428 | "w", 1429 | "x", 1430 | "y", 1431 | "z", 1432 | "{", 1433 | "|", 1434 | "}", 1435 | "~" 1436 | ], 1437 | "unicode": 1, 1438 | "stretchH": 100, 1439 | "smooth": 1, 1440 | "aa": 1, 1441 | "padding": [0, 0, 0, 0], 1442 | "spacing": [0, 0] 1443 | }, 1444 | "common": { 1445 | "lineHeight": 72, 1446 | "base": 56, 1447 | "scaleW": 512, 1448 | "scaleH": 512, 1449 | "pages": 1, 1450 | "packed": 0, 1451 | "alphaChnl": 0, 1452 | "redChnl": 0, 1453 | "greenChnl": 0, 1454 | "blueChnl": 0 1455 | }, 1456 | "distanceField": { 1457 | "fieldType": "msdf", 1458 | "distanceRange": 4 1459 | }, 1460 | "kernings": [ 1461 | { 1462 | "first": 34, 1463 | "second": 44, 1464 | "amount": -8 1465 | }, 1466 | { 1467 | "first": 34, 1468 | "second": 46, 1469 | "amount": -8 1470 | }, 1471 | { 1472 | "first": 34, 1473 | "second": 65, 1474 | "amount": -4 1475 | }, 1476 | { 1477 | "first": 34, 1478 | "second": 74, 1479 | "amount": -7 1480 | }, 1481 | { 1482 | "first": 34, 1483 | "second": 83, 1484 | "amount": -1 1485 | }, 1486 | { 1487 | "first": 34, 1488 | "second": 88, 1489 | "amount": -1 1490 | }, 1491 | { 1492 | "first": 34, 1493 | "second": 99, 1494 | "amount": -2 1495 | }, 1496 | { 1497 | "first": 34, 1498 | "second": 100, 1499 | "amount": -2 1500 | }, 1501 | { 1502 | "first": 34, 1503 | "second": 101, 1504 | "amount": -2 1505 | }, 1506 | { 1507 | "first": 34, 1508 | "second": 111, 1509 | "amount": -2 1510 | }, 1511 | { 1512 | "first": 34, 1513 | "second": 113, 1514 | "amount": -2 1515 | }, 1516 | { 1517 | "first": 34, 1518 | "second": 115, 1519 | "amount": -1 1520 | }, 1521 | { 1522 | "first": 39, 1523 | "second": 44, 1524 | "amount": -8 1525 | }, 1526 | { 1527 | "first": 39, 1528 | "second": 46, 1529 | "amount": -8 1530 | }, 1531 | { 1532 | "first": 39, 1533 | "second": 65, 1534 | "amount": -4 1535 | }, 1536 | { 1537 | "first": 39, 1538 | "second": 74, 1539 | "amount": -7 1540 | }, 1541 | { 1542 | "first": 39, 1543 | "second": 83, 1544 | "amount": -1 1545 | }, 1546 | { 1547 | "first": 39, 1548 | "second": 88, 1549 | "amount": -1 1550 | }, 1551 | { 1552 | "first": 39, 1553 | "second": 99, 1554 | "amount": -2 1555 | }, 1556 | { 1557 | "first": 39, 1558 | "second": 100, 1559 | "amount": -2 1560 | }, 1561 | { 1562 | "first": 39, 1563 | "second": 101, 1564 | "amount": -2 1565 | }, 1566 | { 1567 | "first": 39, 1568 | "second": 111, 1569 | "amount": -2 1570 | }, 1571 | { 1572 | "first": 39, 1573 | "second": 113, 1574 | "amount": -2 1575 | }, 1576 | { 1577 | "first": 39, 1578 | "second": 115, 1579 | "amount": -1 1580 | }, 1581 | { 1582 | "first": 40, 1583 | "second": 74, 1584 | "amount": -1 1585 | }, 1586 | { 1587 | "first": 40, 1588 | "second": 106, 1589 | "amount": 6 1590 | }, 1591 | { 1592 | "first": 44, 1593 | "second": 34, 1594 | "amount": -7 1595 | }, 1596 | { 1597 | "first": 44, 1598 | "second": 39, 1599 | "amount": -7 1600 | }, 1601 | { 1602 | "first": 44, 1603 | "second": 42, 1604 | "amount": -10 1605 | }, 1606 | { 1607 | "first": 44, 1608 | "second": 84, 1609 | "amount": -7 1610 | }, 1611 | { 1612 | "first": 44, 1613 | "second": 85, 1614 | "amount": -1 1615 | }, 1616 | { 1617 | "first": 44, 1618 | "second": 86, 1619 | "amount": -5 1620 | }, 1621 | { 1622 | "first": 44, 1623 | "second": 87, 1624 | "amount": -2 1625 | }, 1626 | { 1627 | "first": 44, 1628 | "second": 89, 1629 | "amount": -7 1630 | }, 1631 | { 1632 | "first": 44, 1633 | "second": 99, 1634 | "amount": -1 1635 | }, 1636 | { 1637 | "first": 44, 1638 | "second": 100, 1639 | "amount": -1 1640 | }, 1641 | { 1642 | "first": 44, 1643 | "second": 101, 1644 | "amount": -1 1645 | }, 1646 | { 1647 | "first": 44, 1648 | "second": 106, 1649 | "amount": 2 1650 | }, 1651 | { 1652 | "first": 44, 1653 | "second": 111, 1654 | "amount": -1 1655 | }, 1656 | { 1657 | "first": 44, 1658 | "second": 113, 1659 | "amount": -1 1660 | }, 1661 | { 1662 | "first": 44, 1663 | "second": 116, 1664 | "amount": -3 1665 | }, 1666 | { 1667 | "first": 44, 1668 | "second": 118, 1669 | "amount": -3 1670 | }, 1671 | { 1672 | "first": 44, 1673 | "second": 119, 1674 | "amount": -2 1675 | }, 1676 | { 1677 | "first": 44, 1678 | "second": 121, 1679 | "amount": -1 1680 | }, 1681 | { 1682 | "first": 45, 1683 | "second": 74, 1684 | "amount": -1 1685 | }, 1686 | { 1687 | "first": 45, 1688 | "second": 83, 1689 | "amount": -1 1690 | }, 1691 | { 1692 | "first": 45, 1693 | "second": 84, 1694 | "amount": -3 1695 | }, 1696 | { 1697 | "first": 45, 1698 | "second": 86, 1699 | "amount": -1 1700 | }, 1701 | { 1702 | "first": 45, 1703 | "second": 87, 1704 | "amount": -1 1705 | }, 1706 | { 1707 | "first": 45, 1708 | "second": 88, 1709 | "amount": -2 1710 | }, 1711 | { 1712 | "first": 45, 1713 | "second": 89, 1714 | "amount": -5 1715 | }, 1716 | { 1717 | "first": 45, 1718 | "second": 90, 1719 | "amount": -1 1720 | }, 1721 | { 1722 | "first": 45, 1723 | "second": 116, 1724 | "amount": -2 1725 | }, 1726 | { 1727 | "first": 45, 1728 | "second": 118, 1729 | "amount": -1 1730 | }, 1731 | { 1732 | "first": 45, 1733 | "second": 120, 1734 | "amount": -1 1735 | }, 1736 | { 1737 | "first": 46, 1738 | "second": 34, 1739 | "amount": -7 1740 | }, 1741 | { 1742 | "first": 46, 1743 | "second": 39, 1744 | "amount": -7 1745 | }, 1746 | { 1747 | "first": 46, 1748 | "second": 42, 1749 | "amount": -10 1750 | }, 1751 | { 1752 | "first": 46, 1753 | "second": 84, 1754 | "amount": -7 1755 | }, 1756 | { 1757 | "first": 46, 1758 | "second": 85, 1759 | "amount": -1 1760 | }, 1761 | { 1762 | "first": 46, 1763 | "second": 86, 1764 | "amount": -5 1765 | }, 1766 | { 1767 | "first": 46, 1768 | "second": 87, 1769 | "amount": -2 1770 | }, 1771 | { 1772 | "first": 46, 1773 | "second": 89, 1774 | "amount": -7 1775 | }, 1776 | { 1777 | "first": 46, 1778 | "second": 99, 1779 | "amount": -1 1780 | }, 1781 | { 1782 | "first": 46, 1783 | "second": 100, 1784 | "amount": -1 1785 | }, 1786 | { 1787 | "first": 46, 1788 | "second": 101, 1789 | "amount": -1 1790 | }, 1791 | { 1792 | "first": 46, 1793 | "second": 106, 1794 | "amount": 2 1795 | }, 1796 | { 1797 | "first": 46, 1798 | "second": 111, 1799 | "amount": -1 1800 | }, 1801 | { 1802 | "first": 46, 1803 | "second": 113, 1804 | "amount": -1 1805 | }, 1806 | { 1807 | "first": 46, 1808 | "second": 116, 1809 | "amount": -3 1810 | }, 1811 | { 1812 | "first": 46, 1813 | "second": 118, 1814 | "amount": -3 1815 | }, 1816 | { 1817 | "first": 46, 1818 | "second": 119, 1819 | "amount": -2 1820 | }, 1821 | { 1822 | "first": 46, 1823 | "second": 121, 1824 | "amount": -1 1825 | }, 1826 | { 1827 | "first": 47, 1828 | "second": 65, 1829 | "amount": -3 1830 | }, 1831 | { 1832 | "first": 47, 1833 | "second": 67, 1834 | "amount": -1 1835 | }, 1836 | { 1837 | "first": 47, 1838 | "second": 71, 1839 | "amount": -1 1840 | }, 1841 | { 1842 | "first": 47, 1843 | "second": 74, 1844 | "amount": -6 1845 | }, 1846 | { 1847 | "first": 47, 1848 | "second": 79, 1849 | "amount": -1 1850 | }, 1851 | { 1852 | "first": 47, 1853 | "second": 81, 1854 | "amount": -1 1855 | }, 1856 | { 1857 | "first": 47, 1858 | "second": 97, 1859 | "amount": -2 1860 | }, 1861 | { 1862 | "first": 47, 1863 | "second": 99, 1864 | "amount": -2 1865 | }, 1866 | { 1867 | "first": 47, 1868 | "second": 100, 1869 | "amount": -2 1870 | }, 1871 | { 1872 | "first": 47, 1873 | "second": 101, 1874 | "amount": -2 1875 | }, 1876 | { 1877 | "first": 47, 1878 | "second": 103, 1879 | "amount": -1 1880 | }, 1881 | { 1882 | "first": 47, 1883 | "second": 105, 1884 | "amount": 2 1885 | }, 1886 | { 1887 | "first": 47, 1888 | "second": 106, 1889 | "amount": 2 1890 | }, 1891 | { 1892 | "first": 47, 1893 | "second": 111, 1894 | "amount": -2 1895 | }, 1896 | { 1897 | "first": 47, 1898 | "second": 113, 1899 | "amount": -2 1900 | }, 1901 | { 1902 | "first": 47, 1903 | "second": 116, 1904 | "amount": 1 1905 | }, 1906 | { 1907 | "first": 47, 1908 | "second": 117, 1909 | "amount": -1 1910 | }, 1911 | { 1912 | "first": 58, 1913 | "second": 42, 1914 | "amount": -4 1915 | }, 1916 | { 1917 | "first": 58, 1918 | "second": 89, 1919 | "amount": -2 1920 | }, 1921 | { 1922 | "first": 58, 1923 | "second": 106, 1924 | "amount": 0 1925 | }, 1926 | { 1927 | "first": 59, 1928 | "second": 42, 1929 | "amount": -4 1930 | }, 1931 | { 1932 | "first": 59, 1933 | "second": 89, 1934 | "amount": -2 1935 | }, 1936 | { 1937 | "first": 59, 1938 | "second": 106, 1939 | "amount": 0 1940 | }, 1941 | { 1942 | "first": 65, 1943 | "second": 34, 1944 | "amount": -4 1945 | }, 1946 | { 1947 | "first": 65, 1948 | "second": 39, 1949 | "amount": -4 1950 | }, 1951 | { 1952 | "first": 65, 1953 | "second": 42, 1954 | "amount": -7 1955 | }, 1956 | { 1957 | "first": 65, 1958 | "second": 63, 1959 | "amount": -2 1960 | }, 1961 | { 1962 | "first": 65, 1963 | "second": 65, 1964 | "amount": 0 1965 | }, 1966 | { 1967 | "first": 65, 1968 | "second": 67, 1969 | "amount": -1 1970 | }, 1971 | { 1972 | "first": 65, 1973 | "second": 71, 1974 | "amount": -1 1975 | }, 1976 | { 1977 | "first": 65, 1978 | "second": 79, 1979 | "amount": -1 1980 | }, 1981 | { 1982 | "first": 65, 1983 | "second": 81, 1984 | "amount": -1 1985 | }, 1986 | { 1987 | "first": 65, 1988 | "second": 84, 1989 | "amount": -4 1990 | }, 1991 | { 1992 | "first": 65, 1993 | "second": 85, 1994 | "amount": -1 1995 | }, 1996 | { 1997 | "first": 65, 1998 | "second": 86, 1999 | "amount": -1 2000 | }, 2001 | { 2002 | "first": 65, 2003 | "second": 88, 2004 | "amount": 0 2005 | }, 2006 | { 2007 | "first": 65, 2008 | "second": 89, 2009 | "amount": -1 2010 | }, 2011 | { 2012 | "first": 65, 2013 | "second": 90, 2014 | "amount": -1 2015 | }, 2016 | { 2017 | "first": 65, 2018 | "second": 92, 2019 | "amount": -3 2020 | }, 2021 | { 2022 | "first": 65, 2023 | "second": 97, 2024 | "amount": 2 2025 | }, 2026 | { 2027 | "first": 65, 2028 | "second": 102, 2029 | "amount": -1 2030 | }, 2031 | { 2032 | "first": 65, 2033 | "second": 115, 2034 | "amount": 2 2035 | }, 2036 | { 2037 | "first": 65, 2038 | "second": 116, 2039 | "amount": -1 2040 | }, 2041 | { 2042 | "first": 65, 2043 | "second": 117, 2044 | "amount": 0 2045 | }, 2046 | { 2047 | "first": 65, 2048 | "second": 118, 2049 | "amount": -1 2050 | }, 2051 | { 2052 | "first": 65, 2053 | "second": 119, 2054 | "amount": 0 2055 | }, 2056 | { 2057 | "first": 65, 2058 | "second": 120, 2059 | "amount": 0 2060 | }, 2061 | { 2062 | "first": 65, 2063 | "second": 121, 2064 | "amount": -1 2065 | }, 2066 | { 2067 | "first": 66, 2068 | "second": 42, 2069 | "amount": -2 2070 | }, 2071 | { 2072 | "first": 66, 2073 | "second": 74, 2074 | "amount": -1 2075 | }, 2076 | { 2077 | "first": 66, 2078 | "second": 83, 2079 | "amount": -1 2080 | }, 2081 | { 2082 | "first": 66, 2083 | "second": 84, 2084 | "amount": -2 2085 | }, 2086 | { 2087 | "first": 66, 2088 | "second": 86, 2089 | "amount": 0 2090 | }, 2091 | { 2092 | "first": 66, 2093 | "second": 87, 2094 | "amount": 0 2095 | }, 2096 | { 2097 | "first": 66, 2098 | "second": 88, 2099 | "amount": 0 2100 | }, 2101 | { 2102 | "first": 66, 2103 | "second": 89, 2104 | "amount": -1 2105 | }, 2106 | { 2107 | "first": 66, 2108 | "second": 90, 2109 | "amount": 0 2110 | }, 2111 | { 2112 | "first": 66, 2113 | "second": 116, 2114 | "amount": -1 2115 | }, 2116 | { 2117 | "first": 66, 2118 | "second": 118, 2119 | "amount": -1 2120 | }, 2121 | { 2122 | "first": 66, 2123 | "second": 119, 2124 | "amount": -1 2125 | }, 2126 | { 2127 | "first": 66, 2128 | "second": 120, 2129 | "amount": -1 2130 | }, 2131 | { 2132 | "first": 66, 2133 | "second": 121, 2134 | "amount": -1 2135 | }, 2136 | { 2137 | "first": 67, 2138 | "second": 45, 2139 | "amount": -2 2140 | }, 2141 | { 2142 | "first": 67, 2143 | "second": 67, 2144 | "amount": -2 2145 | }, 2146 | { 2147 | "first": 67, 2148 | "second": 71, 2149 | "amount": -2 2150 | }, 2151 | { 2152 | "first": 67, 2153 | "second": 74, 2154 | "amount": -1 2155 | }, 2156 | { 2157 | "first": 67, 2158 | "second": 79, 2159 | "amount": -2 2160 | }, 2161 | { 2162 | "first": 67, 2163 | "second": 81, 2164 | "amount": -2 2165 | }, 2166 | { 2167 | "first": 67, 2168 | "second": 83, 2169 | "amount": -2 2170 | }, 2171 | { 2172 | "first": 67, 2173 | "second": 84, 2174 | "amount": -1 2175 | }, 2176 | { 2177 | "first": 67, 2178 | "second": 85, 2179 | "amount": -1 2180 | }, 2181 | { 2182 | "first": 67, 2183 | "second": 86, 2184 | "amount": 0 2185 | }, 2186 | { 2187 | "first": 67, 2188 | "second": 87, 2189 | "amount": 0 2190 | }, 2191 | { 2192 | "first": 67, 2193 | "second": 88, 2194 | "amount": 0 2195 | }, 2196 | { 2197 | "first": 67, 2198 | "second": 89, 2199 | "amount": -1 2200 | }, 2201 | { 2202 | "first": 67, 2203 | "second": 90, 2204 | "amount": -1 2205 | }, 2206 | { 2207 | "first": 67, 2208 | "second": 103, 2209 | "amount": -1 2210 | }, 2211 | { 2212 | "first": 67, 2213 | "second": 116, 2214 | "amount": -2 2215 | }, 2216 | { 2217 | "first": 67, 2218 | "second": 117, 2219 | "amount": -1 2220 | }, 2221 | { 2222 | "first": 67, 2223 | "second": 118, 2224 | "amount": -1 2225 | }, 2226 | { 2227 | "first": 67, 2228 | "second": 119, 2229 | "amount": -1 2230 | }, 2231 | { 2232 | "first": 67, 2233 | "second": 121, 2234 | "amount": -1 2235 | }, 2236 | { 2237 | "first": 68, 2238 | "second": 42, 2239 | "amount": -2 2240 | }, 2241 | { 2242 | "first": 68, 2243 | "second": 47, 2244 | "amount": -1 2245 | }, 2246 | { 2247 | "first": 68, 2248 | "second": 65, 2249 | "amount": -1 2250 | }, 2251 | { 2252 | "first": 68, 2253 | "second": 74, 2254 | "amount": -3 2255 | }, 2256 | { 2257 | "first": 68, 2258 | "second": 84, 2259 | "amount": -2 2260 | }, 2261 | { 2262 | "first": 68, 2263 | "second": 86, 2264 | "amount": -1 2265 | }, 2266 | { 2267 | "first": 68, 2268 | "second": 87, 2269 | "amount": 0 2270 | }, 2271 | { 2272 | "first": 68, 2273 | "second": 88, 2274 | "amount": -1 2275 | }, 2276 | { 2277 | "first": 68, 2278 | "second": 89, 2279 | "amount": -1 2280 | }, 2281 | { 2282 | "first": 68, 2283 | "second": 90, 2284 | "amount": -1 2285 | }, 2286 | { 2287 | "first": 68, 2288 | "second": 120, 2289 | "amount": -1 2290 | }, 2291 | { 2292 | "first": 68, 2293 | "second": 122, 2294 | "amount": -1 2295 | }, 2296 | { 2297 | "first": 69, 2298 | "second": 99, 2299 | "amount": -1 2300 | }, 2301 | { 2302 | "first": 69, 2303 | "second": 100, 2304 | "amount": -1 2305 | }, 2306 | { 2307 | "first": 69, 2308 | "second": 101, 2309 | "amount": -1 2310 | }, 2311 | { 2312 | "first": 69, 2313 | "second": 111, 2314 | "amount": -1 2315 | }, 2316 | { 2317 | "first": 69, 2318 | "second": 113, 2319 | "amount": -1 2320 | }, 2321 | { 2322 | "first": 69, 2323 | "second": 116, 2324 | "amount": -2 2325 | }, 2326 | { 2327 | "first": 69, 2328 | "second": 118, 2329 | "amount": -1 2330 | }, 2331 | { 2332 | "first": 69, 2333 | "second": 120, 2334 | "amount": -2 2335 | }, 2336 | { 2337 | "first": 69, 2338 | "second": 121, 2339 | "amount": -1 2340 | }, 2341 | { 2342 | "first": 70, 2343 | "second": 44, 2344 | "amount": -5 2345 | }, 2346 | { 2347 | "first": 70, 2348 | "second": 46, 2349 | "amount": -5 2350 | }, 2351 | { 2352 | "first": 70, 2353 | "second": 47, 2354 | "amount": -5 2355 | }, 2356 | { 2357 | "first": 70, 2358 | "second": 65, 2359 | "amount": -3 2360 | }, 2361 | { 2362 | "first": 70, 2363 | "second": 67, 2364 | "amount": -1 2365 | }, 2366 | { 2367 | "first": 70, 2368 | "second": 71, 2369 | "amount": -1 2370 | }, 2371 | { 2372 | "first": 70, 2373 | "second": 74, 2374 | "amount": -10 2375 | }, 2376 | { 2377 | "first": 70, 2378 | "second": 79, 2379 | "amount": -1 2380 | }, 2381 | { 2382 | "first": 70, 2383 | "second": 81, 2384 | "amount": -1 2385 | }, 2386 | { 2387 | "first": 70, 2388 | "second": 83, 2389 | "amount": -1 2390 | }, 2391 | { 2392 | "first": 70, 2393 | "second": 86, 2394 | "amount": 0 2395 | }, 2396 | { 2397 | "first": 70, 2398 | "second": 87, 2399 | "amount": 0 2400 | }, 2401 | { 2402 | "first": 70, 2403 | "second": 88, 2404 | "amount": -2 2405 | }, 2406 | { 2407 | "first": 70, 2408 | "second": 90, 2409 | "amount": -2 2410 | }, 2411 | { 2412 | "first": 70, 2413 | "second": 97, 2414 | "amount": -2 2415 | }, 2416 | { 2417 | "first": 70, 2418 | "second": 99, 2419 | "amount": -1 2420 | }, 2421 | { 2422 | "first": 70, 2423 | "second": 100, 2424 | "amount": -1 2425 | }, 2426 | { 2427 | "first": 70, 2428 | "second": 101, 2429 | "amount": -1 2430 | }, 2431 | { 2432 | "first": 70, 2433 | "second": 103, 2434 | "amount": -2 2435 | }, 2436 | { 2437 | "first": 70, 2438 | "second": 109, 2439 | "amount": -1 2440 | }, 2441 | { 2442 | "first": 70, 2443 | "second": 110, 2444 | "amount": -1 2445 | }, 2446 | { 2447 | "first": 70, 2448 | "second": 111, 2449 | "amount": -1 2450 | }, 2451 | { 2452 | "first": 70, 2453 | "second": 112, 2454 | "amount": -1 2455 | }, 2456 | { 2457 | "first": 70, 2458 | "second": 113, 2459 | "amount": -1 2460 | }, 2461 | { 2462 | "first": 70, 2463 | "second": 114, 2464 | "amount": -1 2465 | }, 2466 | { 2467 | "first": 70, 2468 | "second": 115, 2469 | "amount": -1 2470 | }, 2471 | { 2472 | "first": 70, 2473 | "second": 116, 2474 | "amount": -1 2475 | }, 2476 | { 2477 | "first": 70, 2478 | "second": 117, 2479 | "amount": -1 2480 | }, 2481 | { 2482 | "first": 70, 2483 | "second": 118, 2484 | "amount": -1 2485 | }, 2486 | { 2487 | "first": 70, 2488 | "second": 119, 2489 | "amount": -1 2490 | }, 2491 | { 2492 | "first": 70, 2493 | "second": 120, 2494 | "amount": -2 2495 | }, 2496 | { 2497 | "first": 70, 2498 | "second": 121, 2499 | "amount": -1 2500 | }, 2501 | { 2502 | "first": 70, 2503 | "second": 122, 2504 | "amount": -2 2505 | }, 2506 | { 2507 | "first": 71, 2508 | "second": 42, 2509 | "amount": -2 2510 | }, 2511 | { 2512 | "first": 71, 2513 | "second": 65, 2514 | "amount": 0 2515 | }, 2516 | { 2517 | "first": 71, 2518 | "second": 84, 2519 | "amount": -1 2520 | }, 2521 | { 2522 | "first": 71, 2523 | "second": 86, 2524 | "amount": -1 2525 | }, 2526 | { 2527 | "first": 71, 2528 | "second": 87, 2529 | "amount": 0 2530 | }, 2531 | { 2532 | "first": 74, 2533 | "second": 44, 2534 | "amount": -2 2535 | }, 2536 | { 2537 | "first": 74, 2538 | "second": 46, 2539 | "amount": -2 2540 | }, 2541 | { 2542 | "first": 74, 2543 | "second": 74, 2544 | "amount": -3 2545 | }, 2546 | { 2547 | "first": 75, 2548 | "second": 34, 2549 | "amount": -2 2550 | }, 2551 | { 2552 | "first": 75, 2553 | "second": 39, 2554 | "amount": -2 2555 | }, 2556 | { 2557 | "first": 75, 2558 | "second": 42, 2559 | "amount": -3 2560 | }, 2561 | { 2562 | "first": 75, 2563 | "second": 45, 2564 | "amount": -2 2565 | }, 2566 | { 2567 | "first": 75, 2568 | "second": 63, 2569 | "amount": -1 2570 | }, 2571 | { 2572 | "first": 75, 2573 | "second": 65, 2574 | "amount": -1 2575 | }, 2576 | { 2577 | "first": 75, 2578 | "second": 67, 2579 | "amount": -1 2580 | }, 2581 | { 2582 | "first": 75, 2583 | "second": 71, 2584 | "amount": -1 2585 | }, 2586 | { 2587 | "first": 75, 2588 | "second": 79, 2589 | "amount": -1 2590 | }, 2591 | { 2592 | "first": 75, 2593 | "second": 81, 2594 | "amount": -1 2595 | }, 2596 | { 2597 | "first": 75, 2598 | "second": 83, 2599 | "amount": -1 2600 | }, 2601 | { 2602 | "first": 75, 2603 | "second": 84, 2604 | "amount": -1 2605 | }, 2606 | { 2607 | "first": 75, 2608 | "second": 85, 2609 | "amount": -1 2610 | }, 2611 | { 2612 | "first": 75, 2613 | "second": 86, 2614 | "amount": -1 2615 | }, 2616 | { 2617 | "first": 75, 2618 | "second": 87, 2619 | "amount": -1 2620 | }, 2621 | { 2622 | "first": 75, 2623 | "second": 89, 2624 | "amount": -1 2625 | }, 2626 | { 2627 | "first": 75, 2628 | "second": 99, 2629 | "amount": -1 2630 | }, 2631 | { 2632 | "first": 75, 2633 | "second": 100, 2634 | "amount": -1 2635 | }, 2636 | { 2637 | "first": 75, 2638 | "second": 101, 2639 | "amount": -1 2640 | }, 2641 | { 2642 | "first": 75, 2643 | "second": 106, 2644 | "amount": -1 2645 | }, 2646 | { 2647 | "first": 75, 2648 | "second": 111, 2649 | "amount": -1 2650 | }, 2651 | { 2652 | "first": 75, 2653 | "second": 113, 2654 | "amount": -1 2655 | }, 2656 | { 2657 | "first": 75, 2658 | "second": 116, 2659 | "amount": -2 2660 | }, 2661 | { 2662 | "first": 75, 2663 | "second": 117, 2664 | "amount": -1 2665 | }, 2666 | { 2667 | "first": 75, 2668 | "second": 118, 2669 | "amount": -1 2670 | }, 2671 | { 2672 | "first": 75, 2673 | "second": 119, 2674 | "amount": -1 2675 | }, 2676 | { 2677 | "first": 75, 2678 | "second": 120, 2679 | "amount": -1 2680 | }, 2681 | { 2682 | "first": 75, 2683 | "second": 121, 2684 | "amount": -1 2685 | }, 2686 | { 2687 | "first": 75, 2688 | "second": 122, 2689 | "amount": -1 2690 | }, 2691 | { 2692 | "first": 76, 2693 | "second": 34, 2694 | "amount": -6 2695 | }, 2696 | { 2697 | "first": 76, 2698 | "second": 39, 2699 | "amount": -6 2700 | }, 2701 | { 2702 | "first": 76, 2703 | "second": 42, 2704 | "amount": -11 2705 | }, 2706 | { 2707 | "first": 76, 2708 | "second": 45, 2709 | "amount": -4 2710 | }, 2711 | { 2712 | "first": 76, 2713 | "second": 63, 2714 | "amount": -2 2715 | }, 2716 | { 2717 | "first": 76, 2718 | "second": 65, 2719 | "amount": 0 2720 | }, 2721 | { 2722 | "first": 76, 2723 | "second": 67, 2724 | "amount": -2 2725 | }, 2726 | { 2727 | "first": 76, 2728 | "second": 71, 2729 | "amount": -2 2730 | }, 2731 | { 2732 | "first": 76, 2733 | "second": 79, 2734 | "amount": -2 2735 | }, 2736 | { 2737 | "first": 76, 2738 | "second": 81, 2739 | "amount": -2 2740 | }, 2741 | { 2742 | "first": 76, 2743 | "second": 83, 2744 | "amount": -2 2745 | }, 2746 | { 2747 | "first": 76, 2748 | "second": 84, 2749 | "amount": -9 2750 | }, 2751 | { 2752 | "first": 76, 2753 | "second": 85, 2754 | "amount": -2 2755 | }, 2756 | { 2757 | "first": 76, 2758 | "second": 86, 2759 | "amount": -5 2760 | }, 2761 | { 2762 | "first": 76, 2763 | "second": 87, 2764 | "amount": -4 2765 | }, 2766 | { 2767 | "first": 76, 2768 | "second": 89, 2769 | "amount": -5 2770 | }, 2771 | { 2772 | "first": 76, 2773 | "second": 92, 2774 | "amount": -6 2775 | }, 2776 | { 2777 | "first": 76, 2778 | "second": 99, 2779 | "amount": -1 2780 | }, 2781 | { 2782 | "first": 76, 2783 | "second": 100, 2784 | "amount": -1 2785 | }, 2786 | { 2787 | "first": 76, 2788 | "second": 101, 2789 | "amount": -1 2790 | }, 2791 | { 2792 | "first": 76, 2793 | "second": 102, 2794 | "amount": -1 2795 | }, 2796 | { 2797 | "first": 76, 2798 | "second": 103, 2799 | "amount": 0 2800 | }, 2801 | { 2802 | "first": 76, 2803 | "second": 111, 2804 | "amount": -1 2805 | }, 2806 | { 2807 | "first": 76, 2808 | "second": 113, 2809 | "amount": -1 2810 | }, 2811 | { 2812 | "first": 76, 2813 | "second": 116, 2814 | "amount": -1 2815 | }, 2816 | { 2817 | "first": 76, 2818 | "second": 117, 2819 | "amount": -1 2820 | }, 2821 | { 2822 | "first": 76, 2823 | "second": 118, 2824 | "amount": -3 2825 | }, 2826 | { 2827 | "first": 76, 2828 | "second": 119, 2829 | "amount": -2 2830 | }, 2831 | { 2832 | "first": 76, 2833 | "second": 121, 2834 | "amount": -3 2835 | }, 2836 | { 2837 | "first": 79, 2838 | "second": 42, 2839 | "amount": -2 2840 | }, 2841 | { 2842 | "first": 79, 2843 | "second": 47, 2844 | "amount": -1 2845 | }, 2846 | { 2847 | "first": 79, 2848 | "second": 65, 2849 | "amount": -1 2850 | }, 2851 | { 2852 | "first": 79, 2853 | "second": 74, 2854 | "amount": -3 2855 | }, 2856 | { 2857 | "first": 79, 2858 | "second": 84, 2859 | "amount": -2 2860 | }, 2861 | { 2862 | "first": 79, 2863 | "second": 86, 2864 | "amount": -1 2865 | }, 2866 | { 2867 | "first": 79, 2868 | "second": 87, 2869 | "amount": 0 2870 | }, 2871 | { 2872 | "first": 79, 2873 | "second": 88, 2874 | "amount": -1 2875 | }, 2876 | { 2877 | "first": 79, 2878 | "second": 89, 2879 | "amount": -1 2880 | }, 2881 | { 2882 | "first": 79, 2883 | "second": 90, 2884 | "amount": -1 2885 | }, 2886 | { 2887 | "first": 79, 2888 | "second": 120, 2889 | "amount": -1 2890 | }, 2891 | { 2892 | "first": 79, 2893 | "second": 122, 2894 | "amount": -1 2895 | }, 2896 | { 2897 | "first": 80, 2898 | "second": 44, 2899 | "amount": -8 2900 | }, 2901 | { 2902 | "first": 80, 2903 | "second": 45, 2904 | "amount": -2 2905 | }, 2906 | { 2907 | "first": 80, 2908 | "second": 46, 2909 | "amount": -8 2910 | }, 2911 | { 2912 | "first": 80, 2913 | "second": 47, 2914 | "amount": -5 2915 | }, 2916 | { 2917 | "first": 80, 2918 | "second": 65, 2919 | "amount": -4 2920 | }, 2921 | { 2922 | "first": 80, 2923 | "second": 74, 2924 | "amount": -11 2925 | }, 2926 | { 2927 | "first": 80, 2928 | "second": 83, 2929 | "amount": -1 2930 | }, 2931 | { 2932 | "first": 80, 2933 | "second": 84, 2934 | "amount": -2 2935 | }, 2936 | { 2937 | "first": 80, 2938 | "second": 88, 2939 | "amount": -2 2940 | }, 2941 | { 2942 | "first": 80, 2943 | "second": 89, 2944 | "amount": -1 2945 | }, 2946 | { 2947 | "first": 80, 2948 | "second": 90, 2949 | "amount": -6 2950 | }, 2951 | { 2952 | "first": 80, 2953 | "second": 97, 2954 | "amount": -3 2955 | }, 2956 | { 2957 | "first": 80, 2958 | "second": 99, 2959 | "amount": -2 2960 | }, 2961 | { 2962 | "first": 80, 2963 | "second": 100, 2964 | "amount": -2 2965 | }, 2966 | { 2967 | "first": 80, 2968 | "second": 101, 2969 | "amount": -2 2970 | }, 2971 | { 2972 | "first": 80, 2973 | "second": 103, 2974 | "amount": -2 2975 | }, 2976 | { 2977 | "first": 80, 2978 | "second": 111, 2979 | "amount": -2 2980 | }, 2981 | { 2982 | "first": 80, 2983 | "second": 113, 2984 | "amount": -2 2985 | }, 2986 | { 2987 | "first": 80, 2988 | "second": 115, 2989 | "amount": -1 2990 | }, 2991 | { 2992 | "first": 80, 2993 | "second": 120, 2994 | "amount": -1 2995 | }, 2996 | { 2997 | "first": 80, 2998 | "second": 122, 2999 | "amount": -1 3000 | }, 3001 | { 3002 | "first": 81, 3003 | "second": 42, 3004 | "amount": -2 3005 | }, 3006 | { 3007 | "first": 81, 3008 | "second": 47, 3009 | "amount": -1 3010 | }, 3011 | { 3012 | "first": 81, 3013 | "second": 65, 3014 | "amount": -1 3015 | }, 3016 | { 3017 | "first": 81, 3018 | "second": 74, 3019 | "amount": -3 3020 | }, 3021 | { 3022 | "first": 81, 3023 | "second": 84, 3024 | "amount": -2 3025 | }, 3026 | { 3027 | "first": 81, 3028 | "second": 86, 3029 | "amount": -1 3030 | }, 3031 | { 3032 | "first": 81, 3033 | "second": 87, 3034 | "amount": 0 3035 | }, 3036 | { 3037 | "first": 81, 3038 | "second": 88, 3039 | "amount": -1 3040 | }, 3041 | { 3042 | "first": 81, 3043 | "second": 89, 3044 | "amount": -1 3045 | }, 3046 | { 3047 | "first": 81, 3048 | "second": 90, 3049 | "amount": -1 3050 | }, 3051 | { 3052 | "first": 81, 3053 | "second": 120, 3054 | "amount": -1 3055 | }, 3056 | { 3057 | "first": 81, 3058 | "second": 122, 3059 | "amount": -1 3060 | }, 3061 | { 3062 | "first": 82, 3063 | "second": 42, 3064 | "amount": -1 3065 | }, 3066 | { 3067 | "first": 82, 3068 | "second": 45, 3069 | "amount": -2 3070 | }, 3071 | { 3072 | "first": 82, 3073 | "second": 65, 3074 | "amount": 0 3075 | }, 3076 | { 3077 | "first": 82, 3078 | "second": 74, 3079 | "amount": -1 3080 | }, 3081 | { 3082 | "first": 82, 3083 | "second": 83, 3084 | "amount": -1 3085 | }, 3086 | { 3087 | "first": 82, 3088 | "second": 84, 3089 | "amount": -1 3090 | }, 3091 | { 3092 | "first": 82, 3093 | "second": 86, 3094 | "amount": 0 3095 | }, 3096 | { 3097 | "first": 82, 3098 | "second": 87, 3099 | "amount": 0 3100 | }, 3101 | { 3102 | "first": 82, 3103 | "second": 88, 3104 | "amount": 0 3105 | }, 3106 | { 3107 | "first": 82, 3108 | "second": 90, 3109 | "amount": -1 3110 | }, 3111 | { 3112 | "first": 82, 3113 | "second": 97, 3114 | "amount": 0 3115 | }, 3116 | { 3117 | "first": 82, 3118 | "second": 99, 3119 | "amount": -1 3120 | }, 3121 | { 3122 | "first": 82, 3123 | "second": 100, 3124 | "amount": -1 3125 | }, 3126 | { 3127 | "first": 82, 3128 | "second": 101, 3129 | "amount": -1 3130 | }, 3131 | { 3132 | "first": 82, 3133 | "second": 103, 3134 | "amount": 0 3135 | }, 3136 | { 3137 | "first": 82, 3138 | "second": 111, 3139 | "amount": -1 3140 | }, 3141 | { 3142 | "first": 82, 3143 | "second": 113, 3144 | "amount": -1 3145 | }, 3146 | { 3147 | "first": 82, 3148 | "second": 120, 3149 | "amount": -1 3150 | }, 3151 | { 3152 | "first": 82, 3153 | "second": 122, 3154 | "amount": -1 3155 | }, 3156 | { 3157 | "first": 83, 3158 | "second": 42, 3159 | "amount": -1 3160 | }, 3161 | { 3162 | "first": 83, 3163 | "second": 45, 3164 | "amount": 1 3165 | }, 3166 | { 3167 | "first": 83, 3168 | "second": 74, 3169 | "amount": -1 3170 | }, 3171 | { 3172 | "first": 83, 3173 | "second": 83, 3174 | "amount": -1 3175 | }, 3176 | { 3177 | "first": 83, 3178 | "second": 84, 3179 | "amount": -1 3180 | }, 3181 | { 3182 | "first": 83, 3183 | "second": 89, 3184 | "amount": -1 3185 | }, 3186 | { 3187 | "first": 83, 3188 | "second": 116, 3189 | "amount": -2 3190 | }, 3191 | { 3192 | "first": 84, 3193 | "second": 44, 3194 | "amount": -8 3195 | }, 3196 | { 3197 | "first": 84, 3198 | "second": 45, 3199 | "amount": -5 3200 | }, 3201 | { 3202 | "first": 84, 3203 | "second": 46, 3204 | "amount": -8 3205 | }, 3206 | { 3207 | "first": 84, 3208 | "second": 47, 3209 | "amount": -6 3210 | }, 3211 | { 3212 | "first": 84, 3213 | "second": 58, 3214 | "amount": -1 3215 | }, 3216 | { 3217 | "first": 84, 3218 | "second": 59, 3219 | "amount": -1 3220 | }, 3221 | { 3222 | "first": 84, 3223 | "second": 65, 3224 | "amount": -3 3225 | }, 3226 | { 3227 | "first": 84, 3228 | "second": 67, 3229 | "amount": -2 3230 | }, 3231 | { 3232 | "first": 84, 3233 | "second": 71, 3234 | "amount": -2 3235 | }, 3236 | { 3237 | "first": 84, 3238 | "second": 74, 3239 | "amount": -9 3240 | }, 3241 | { 3242 | "first": 84, 3243 | "second": 79, 3244 | "amount": -2 3245 | }, 3246 | { 3247 | "first": 84, 3248 | "second": 81, 3249 | "amount": -2 3250 | }, 3251 | { 3252 | "first": 84, 3253 | "second": 83, 3254 | "amount": -3 3255 | }, 3256 | { 3257 | "first": 84, 3258 | "second": 88, 3259 | "amount": -1 3260 | }, 3261 | { 3262 | "first": 84, 3263 | "second": 89, 3264 | "amount": -1 3265 | }, 3266 | { 3267 | "first": 84, 3268 | "second": 90, 3269 | "amount": -4 3270 | }, 3271 | { 3272 | "first": 84, 3273 | "second": 97, 3274 | "amount": -5 3275 | }, 3276 | { 3277 | "first": 84, 3278 | "second": 99, 3279 | "amount": -5 3280 | }, 3281 | { 3282 | "first": 84, 3283 | "second": 100, 3284 | "amount": -5 3285 | }, 3286 | { 3287 | "first": 84, 3288 | "second": 101, 3289 | "amount": -5 3290 | }, 3291 | { 3292 | "first": 84, 3293 | "second": 102, 3294 | "amount": -1 3295 | }, 3296 | { 3297 | "first": 84, 3298 | "second": 103, 3299 | "amount": -5 3300 | }, 3301 | { 3302 | "first": 84, 3303 | "second": 109, 3304 | "amount": -3 3305 | }, 3306 | { 3307 | "first": 84, 3308 | "second": 110, 3309 | "amount": -3 3310 | }, 3311 | { 3312 | "first": 84, 3313 | "second": 111, 3314 | "amount": -5 3315 | }, 3316 | { 3317 | "first": 84, 3318 | "second": 112, 3319 | "amount": -3 3320 | }, 3321 | { 3322 | "first": 84, 3323 | "second": 113, 3324 | "amount": -5 3325 | }, 3326 | { 3327 | "first": 84, 3328 | "second": 114, 3329 | "amount": -3 3330 | }, 3331 | { 3332 | "first": 84, 3333 | "second": 115, 3334 | "amount": -4 3335 | }, 3336 | { 3337 | "first": 84, 3338 | "second": 116, 3339 | "amount": -1 3340 | }, 3341 | { 3342 | "first": 84, 3343 | "second": 117, 3344 | "amount": -3 3345 | }, 3346 | { 3347 | "first": 84, 3348 | "second": 118, 3349 | "amount": -2 3350 | }, 3351 | { 3352 | "first": 84, 3353 | "second": 119, 3354 | "amount": -2 3355 | }, 3356 | { 3357 | "first": 84, 3358 | "second": 120, 3359 | "amount": -3 3360 | }, 3361 | { 3362 | "first": 84, 3363 | "second": 121, 3364 | "amount": -2 3365 | }, 3366 | { 3367 | "first": 84, 3368 | "second": 122, 3369 | "amount": -5 3370 | }, 3371 | { 3372 | "first": 85, 3373 | "second": 44, 3374 | "amount": -1 3375 | }, 3376 | { 3377 | "first": 85, 3378 | "second": 46, 3379 | "amount": -1 3380 | }, 3381 | { 3382 | "first": 85, 3383 | "second": 47, 3384 | "amount": -2 3385 | }, 3386 | { 3387 | "first": 85, 3388 | "second": 65, 3389 | "amount": -1 3390 | }, 3391 | { 3392 | "first": 85, 3393 | "second": 74, 3394 | "amount": -3 3395 | }, 3396 | { 3397 | "first": 85, 3398 | "second": 83, 3399 | "amount": -1 3400 | }, 3401 | { 3402 | "first": 85, 3403 | "second": 86, 3404 | "amount": 0 3405 | }, 3406 | { 3407 | "first": 85, 3408 | "second": 88, 3409 | "amount": -1 3410 | }, 3411 | { 3412 | "first": 85, 3413 | "second": 89, 3414 | "amount": -1 3415 | }, 3416 | { 3417 | "first": 85, 3418 | "second": 97, 3419 | "amount": 0 3420 | }, 3421 | { 3422 | "first": 85, 3423 | "second": 103, 3424 | "amount": -1 3425 | }, 3426 | { 3427 | "first": 85, 3428 | "second": 115, 3429 | "amount": 0 3430 | }, 3431 | { 3432 | "first": 85, 3433 | "second": 120, 3434 | "amount": -1 3435 | }, 3436 | { 3437 | "first": 86, 3438 | "second": 44, 3439 | "amount": -5 3440 | }, 3441 | { 3442 | "first": 86, 3443 | "second": 45, 3444 | "amount": -1 3445 | }, 3446 | { 3447 | "first": 86, 3448 | "second": 46, 3449 | "amount": -5 3450 | }, 3451 | { 3452 | "first": 86, 3453 | "second": 47, 3454 | "amount": -3 3455 | }, 3456 | { 3457 | "first": 86, 3458 | "second": 65, 3459 | "amount": -1 3460 | }, 3461 | { 3462 | "first": 86, 3463 | "second": 67, 3464 | "amount": -1 3465 | }, 3466 | { 3467 | "first": 86, 3468 | "second": 71, 3469 | "amount": -1 3470 | }, 3471 | { 3472 | "first": 86, 3473 | "second": 74, 3474 | "amount": -5 3475 | }, 3476 | { 3477 | "first": 86, 3478 | "second": 79, 3479 | "amount": -1 3480 | }, 3481 | { 3482 | "first": 86, 3483 | "second": 81, 3484 | "amount": -1 3485 | }, 3486 | { 3487 | "first": 86, 3488 | "second": 83, 3489 | "amount": -1 3490 | }, 3491 | { 3492 | "first": 86, 3493 | "second": 85, 3494 | "amount": -1 3495 | }, 3496 | { 3497 | "first": 86, 3498 | "second": 86, 3499 | "amount": 1 3500 | }, 3501 | { 3502 | "first": 86, 3503 | "second": 90, 3504 | "amount": -1 3505 | }, 3506 | { 3507 | "first": 86, 3508 | "second": 97, 3509 | "amount": -2 3510 | }, 3511 | { 3512 | "first": 86, 3513 | "second": 99, 3514 | "amount": -1 3515 | }, 3516 | { 3517 | "first": 86, 3518 | "second": 100, 3519 | "amount": -1 3520 | }, 3521 | { 3522 | "first": 86, 3523 | "second": 101, 3524 | "amount": -1 3525 | }, 3526 | { 3527 | "first": 86, 3528 | "second": 103, 3529 | "amount": -2 3530 | }, 3531 | { 3532 | "first": 86, 3533 | "second": 109, 3534 | "amount": -1 3535 | }, 3536 | { 3537 | "first": 86, 3538 | "second": 110, 3539 | "amount": -1 3540 | }, 3541 | { 3542 | "first": 86, 3543 | "second": 111, 3544 | "amount": -1 3545 | }, 3546 | { 3547 | "first": 86, 3548 | "second": 112, 3549 | "amount": -1 3550 | }, 3551 | { 3552 | "first": 86, 3553 | "second": 113, 3554 | "amount": -1 3555 | }, 3556 | { 3557 | "first": 86, 3558 | "second": 114, 3559 | "amount": -1 3560 | }, 3561 | { 3562 | "first": 86, 3563 | "second": 115, 3564 | "amount": -1 3565 | }, 3566 | { 3567 | "first": 86, 3568 | "second": 117, 3569 | "amount": -2 3570 | }, 3571 | { 3572 | "first": 86, 3573 | "second": 118, 3574 | "amount": -1 3575 | }, 3576 | { 3577 | "first": 86, 3578 | "second": 119, 3579 | "amount": -1 3580 | }, 3581 | { 3582 | "first": 86, 3583 | "second": 120, 3584 | "amount": -1 3585 | }, 3586 | { 3587 | "first": 86, 3588 | "second": 121, 3589 | "amount": -1 3590 | }, 3591 | { 3592 | "first": 86, 3593 | "second": 122, 3594 | "amount": -2 3595 | }, 3596 | { 3597 | "first": 87, 3598 | "second": 44, 3599 | "amount": -2 3600 | }, 3601 | { 3602 | "first": 87, 3603 | "second": 45, 3604 | "amount": -1 3605 | }, 3606 | { 3607 | "first": 87, 3608 | "second": 46, 3609 | "amount": -2 3610 | }, 3611 | { 3612 | "first": 87, 3613 | "second": 47, 3614 | "amount": -2 3615 | }, 3616 | { 3617 | "first": 87, 3618 | "second": 67, 3619 | "amount": 0 3620 | }, 3621 | { 3622 | "first": 87, 3623 | "second": 71, 3624 | "amount": 0 3625 | }, 3626 | { 3627 | "first": 87, 3628 | "second": 74, 3629 | "amount": -5 3630 | }, 3631 | { 3632 | "first": 87, 3633 | "second": 79, 3634 | "amount": 0 3635 | }, 3636 | { 3637 | "first": 87, 3638 | "second": 81, 3639 | "amount": 0 3640 | }, 3641 | { 3642 | "first": 87, 3643 | "second": 83, 3644 | "amount": 0 3645 | }, 3646 | { 3647 | "first": 87, 3648 | "second": 90, 3649 | "amount": 0 3650 | }, 3651 | { 3652 | "first": 87, 3653 | "second": 97, 3654 | "amount": -1 3655 | }, 3656 | { 3657 | "first": 87, 3658 | "second": 103, 3659 | "amount": -1 3660 | }, 3661 | { 3662 | "first": 87, 3663 | "second": 122, 3664 | "amount": -1 3665 | }, 3666 | { 3667 | "first": 88, 3668 | "second": 34, 3669 | "amount": -1 3670 | }, 3671 | { 3672 | "first": 88, 3673 | "second": 39, 3674 | "amount": -1 3675 | }, 3676 | { 3677 | "first": 88, 3678 | "second": 42, 3679 | "amount": -1 3680 | }, 3681 | { 3682 | "first": 88, 3683 | "second": 45, 3684 | "amount": -2 3685 | }, 3686 | { 3687 | "first": 88, 3688 | "second": 65, 3689 | "amount": 0 3690 | }, 3691 | { 3692 | "first": 88, 3693 | "second": 67, 3694 | "amount": -1 3695 | }, 3696 | { 3697 | "first": 88, 3698 | "second": 71, 3699 | "amount": -1 3700 | }, 3701 | { 3702 | "first": 88, 3703 | "second": 79, 3704 | "amount": -1 3705 | }, 3706 | { 3707 | "first": 88, 3708 | "second": 81, 3709 | "amount": -1 3710 | }, 3711 | { 3712 | "first": 88, 3713 | "second": 83, 3714 | "amount": -1 3715 | }, 3716 | { 3717 | "first": 88, 3718 | "second": 84, 3719 | "amount": -1 3720 | }, 3721 | { 3722 | "first": 88, 3723 | "second": 85, 3724 | "amount": -1 3725 | }, 3726 | { 3727 | "first": 88, 3728 | "second": 97, 3729 | "amount": -1 3730 | }, 3731 | { 3732 | "first": 88, 3733 | "second": 99, 3734 | "amount": -1 3735 | }, 3736 | { 3737 | "first": 88, 3738 | "second": 100, 3739 | "amount": -1 3740 | }, 3741 | { 3742 | "first": 88, 3743 | "second": 101, 3744 | "amount": -1 3745 | }, 3746 | { 3747 | "first": 88, 3748 | "second": 102, 3749 | "amount": -1 3750 | }, 3751 | { 3752 | "first": 88, 3753 | "second": 111, 3754 | "amount": -1 3755 | }, 3756 | { 3757 | "first": 88, 3758 | "second": 113, 3759 | "amount": -1 3760 | }, 3761 | { 3762 | "first": 88, 3763 | "second": 116, 3764 | "amount": -1 3765 | }, 3766 | { 3767 | "first": 88, 3768 | "second": 117, 3769 | "amount": -1 3770 | }, 3771 | { 3772 | "first": 88, 3773 | "second": 118, 3774 | "amount": -1 3775 | }, 3776 | { 3777 | "first": 88, 3778 | "second": 119, 3779 | "amount": -1 3780 | }, 3781 | { 3782 | "first": 88, 3783 | "second": 120, 3784 | "amount": -1 3785 | }, 3786 | { 3787 | "first": 88, 3788 | "second": 121, 3789 | "amount": -1 3790 | }, 3791 | { 3792 | "first": 88, 3793 | "second": 122, 3794 | "amount": -1 3795 | }, 3796 | { 3797 | "first": 89, 3798 | "second": 44, 3799 | "amount": -7 3800 | }, 3801 | { 3802 | "first": 89, 3803 | "second": 45, 3804 | "amount": -5 3805 | }, 3806 | { 3807 | "first": 89, 3808 | "second": 46, 3809 | "amount": -7 3810 | }, 3811 | { 3812 | "first": 89, 3813 | "second": 47, 3814 | "amount": -5 3815 | }, 3816 | { 3817 | "first": 89, 3818 | "second": 58, 3819 | "amount": -2 3820 | }, 3821 | { 3822 | "first": 89, 3823 | "second": 59, 3824 | "amount": -2 3825 | }, 3826 | { 3827 | "first": 89, 3828 | "second": 63, 3829 | "amount": -1 3830 | }, 3831 | { 3832 | "first": 89, 3833 | "second": 65, 3834 | "amount": -1 3835 | }, 3836 | { 3837 | "first": 89, 3838 | "second": 67, 3839 | "amount": -1 3840 | }, 3841 | { 3842 | "first": 89, 3843 | "second": 71, 3844 | "amount": -1 3845 | }, 3846 | { 3847 | "first": 89, 3848 | "second": 74, 3849 | "amount": -7 3850 | }, 3851 | { 3852 | "first": 89, 3853 | "second": 79, 3854 | "amount": -1 3855 | }, 3856 | { 3857 | "first": 89, 3858 | "second": 81, 3859 | "amount": -1 3860 | }, 3861 | { 3862 | "first": 89, 3863 | "second": 83, 3864 | "amount": -1 3865 | }, 3866 | { 3867 | "first": 89, 3868 | "second": 84, 3869 | "amount": -1 3870 | }, 3871 | { 3872 | "first": 89, 3873 | "second": 85, 3874 | "amount": -1 3875 | }, 3876 | { 3877 | "first": 89, 3878 | "second": 90, 3879 | "amount": -2 3880 | }, 3881 | { 3882 | "first": 89, 3883 | "second": 97, 3884 | "amount": -5 3885 | }, 3886 | { 3887 | "first": 89, 3888 | "second": 99, 3889 | "amount": -3 3890 | }, 3891 | { 3892 | "first": 89, 3893 | "second": 100, 3894 | "amount": -3 3895 | }, 3896 | { 3897 | "first": 89, 3898 | "second": 101, 3899 | "amount": -3 3900 | }, 3901 | { 3902 | "first": 89, 3903 | "second": 103, 3904 | "amount": -4 3905 | }, 3906 | { 3907 | "first": 89, 3908 | "second": 109, 3909 | "amount": -3 3910 | }, 3911 | { 3912 | "first": 89, 3913 | "second": 110, 3914 | "amount": -3 3915 | }, 3916 | { 3917 | "first": 89, 3918 | "second": 111, 3919 | "amount": -3 3920 | }, 3921 | { 3922 | "first": 89, 3923 | "second": 112, 3924 | "amount": -3 3925 | }, 3926 | { 3927 | "first": 89, 3928 | "second": 113, 3929 | "amount": -3 3930 | }, 3931 | { 3932 | "first": 89, 3933 | "second": 114, 3934 | "amount": -3 3935 | }, 3936 | { 3937 | "first": 89, 3938 | "second": 115, 3939 | "amount": -3 3940 | }, 3941 | { 3942 | "first": 89, 3943 | "second": 116, 3944 | "amount": -2 3945 | }, 3946 | { 3947 | "first": 89, 3948 | "second": 117, 3949 | "amount": -2 3950 | }, 3951 | { 3952 | "first": 89, 3953 | "second": 118, 3954 | "amount": -1 3955 | }, 3956 | { 3957 | "first": 89, 3958 | "second": 119, 3959 | "amount": -2 3960 | }, 3961 | { 3962 | "first": 89, 3963 | "second": 120, 3964 | "amount": -2 3965 | }, 3966 | { 3967 | "first": 89, 3968 | "second": 121, 3969 | "amount": -1 3970 | }, 3971 | { 3972 | "first": 89, 3973 | "second": 122, 3974 | "amount": -3 3975 | }, 3976 | { 3977 | "first": 90, 3978 | "second": 45, 3979 | "amount": -2 3980 | }, 3981 | { 3982 | "first": 90, 3983 | "second": 65, 3984 | "amount": 0 3985 | }, 3986 | { 3987 | "first": 90, 3988 | "second": 67, 3989 | "amount": -1 3990 | }, 3991 | { 3992 | "first": 90, 3993 | "second": 71, 3994 | "amount": -1 3995 | }, 3996 | { 3997 | "first": 90, 3998 | "second": 74, 3999 | "amount": -2 4000 | }, 4001 | { 4002 | "first": 90, 4003 | "second": 79, 4004 | "amount": -1 4005 | }, 4006 | { 4007 | "first": 90, 4008 | "second": 81, 4009 | "amount": -1 4010 | }, 4011 | { 4012 | "first": 90, 4013 | "second": 83, 4014 | "amount": -2 4015 | }, 4016 | { 4017 | "first": 90, 4018 | "second": 85, 4019 | "amount": -1 4020 | }, 4021 | { 4022 | "first": 90, 4023 | "second": 86, 4024 | "amount": 0 4025 | }, 4026 | { 4027 | "first": 90, 4028 | "second": 87, 4029 | "amount": 0 4030 | }, 4031 | { 4032 | "first": 90, 4033 | "second": 89, 4034 | "amount": -1 4035 | }, 4036 | { 4037 | "first": 90, 4038 | "second": 90, 4039 | "amount": -1 4040 | }, 4041 | { 4042 | "first": 90, 4043 | "second": 97, 4044 | "amount": -1 4045 | }, 4046 | { 4047 | "first": 90, 4048 | "second": 99, 4049 | "amount": -2 4050 | }, 4051 | { 4052 | "first": 90, 4053 | "second": 100, 4054 | "amount": -2 4055 | }, 4056 | { 4057 | "first": 90, 4058 | "second": 101, 4059 | "amount": -2 4060 | }, 4061 | { 4062 | "first": 90, 4063 | "second": 102, 4064 | "amount": -1 4065 | }, 4066 | { 4067 | "first": 90, 4068 | "second": 103, 4069 | "amount": -1 4070 | }, 4071 | { 4072 | "first": 90, 4073 | "second": 111, 4074 | "amount": -2 4075 | }, 4076 | { 4077 | "first": 90, 4078 | "second": 113, 4079 | "amount": -2 4080 | }, 4081 | { 4082 | "first": 90, 4083 | "second": 116, 4084 | "amount": -1 4085 | }, 4086 | { 4087 | "first": 90, 4088 | "second": 117, 4089 | "amount": -2 4090 | }, 4091 | { 4092 | "first": 90, 4093 | "second": 118, 4094 | "amount": -1 4095 | }, 4096 | { 4097 | "first": 90, 4098 | "second": 119, 4099 | "amount": -1 4100 | }, 4101 | { 4102 | "first": 90, 4103 | "second": 120, 4104 | "amount": -2 4105 | }, 4106 | { 4107 | "first": 90, 4108 | "second": 121, 4109 | "amount": -1 4110 | }, 4111 | { 4112 | "first": 91, 4113 | "second": 74, 4114 | "amount": -1 4115 | }, 4116 | { 4117 | "first": 91, 4118 | "second": 106, 4119 | "amount": 6 4120 | }, 4121 | { 4122 | "first": 92, 4123 | "second": 84, 4124 | "amount": -6 4125 | }, 4126 | { 4127 | "first": 92, 4128 | "second": 85, 4129 | "amount": -2 4130 | }, 4131 | { 4132 | "first": 92, 4133 | "second": 86, 4134 | "amount": -4 4135 | }, 4136 | { 4137 | "first": 92, 4138 | "second": 87, 4139 | "amount": -2 4140 | }, 4141 | { 4142 | "first": 92, 4143 | "second": 89, 4144 | "amount": -5 4145 | }, 4146 | { 4147 | "first": 92, 4148 | "second": 103, 4149 | "amount": 2 4150 | }, 4151 | { 4152 | "first": 92, 4153 | "second": 106, 4154 | "amount": 5 4155 | }, 4156 | { 4157 | "first": 92, 4158 | "second": 118, 4159 | "amount": -1 4160 | }, 4161 | { 4162 | "first": 92, 4163 | "second": 119, 4164 | "amount": -1 4165 | }, 4166 | { 4167 | "first": 92, 4168 | "second": 121, 4169 | "amount": 1 4170 | }, 4171 | { 4172 | "first": 97, 4173 | "second": 42, 4174 | "amount": -4 4175 | }, 4176 | { 4177 | "first": 97, 4178 | "second": 63, 4179 | "amount": -1 4180 | }, 4181 | { 4182 | "first": 97, 4183 | "second": 84, 4184 | "amount": -2 4185 | }, 4186 | { 4187 | "first": 97, 4188 | "second": 86, 4189 | "amount": -1 4190 | }, 4191 | { 4192 | "first": 97, 4193 | "second": 87, 4194 | "amount": 0 4195 | }, 4196 | { 4197 | "first": 97, 4198 | "second": 89, 4199 | "amount": -2 4200 | }, 4201 | { 4202 | "first": 97, 4203 | "second": 116, 4204 | "amount": -1 4205 | }, 4206 | { 4207 | "first": 98, 4208 | "second": 34, 4209 | "amount": -2 4210 | }, 4211 | { 4212 | "first": 98, 4213 | "second": 39, 4214 | "amount": -2 4215 | }, 4216 | { 4217 | "first": 98, 4218 | "second": 42, 4219 | "amount": -2 4220 | }, 4221 | { 4222 | "first": 98, 4223 | "second": 44, 4224 | "amount": -1 4225 | }, 4226 | { 4227 | "first": 98, 4228 | "second": 45, 4229 | "amount": 0 4230 | }, 4231 | { 4232 | "first": 98, 4233 | "second": 46, 4234 | "amount": -1 4235 | }, 4236 | { 4237 | "first": 98, 4238 | "second": 63, 4239 | "amount": -1 4240 | }, 4241 | { 4242 | "first": 98, 4243 | "second": 84, 4244 | "amount": -4 4245 | }, 4246 | { 4247 | "first": 98, 4248 | "second": 86, 4249 | "amount": -1 4250 | }, 4251 | { 4252 | "first": 98, 4253 | "second": 88, 4254 | "amount": 0 4255 | }, 4256 | { 4257 | "first": 98, 4258 | "second": 89, 4259 | "amount": -3 4260 | }, 4261 | { 4262 | "first": 98, 4263 | "second": 92, 4264 | "amount": -2 4265 | }, 4266 | { 4267 | "first": 98, 4268 | "second": 97, 4269 | "amount": -1 4270 | }, 4271 | { 4272 | "first": 98, 4273 | "second": 116, 4274 | "amount": -1 4275 | }, 4276 | { 4277 | "first": 98, 4278 | "second": 118, 4279 | "amount": 0 4280 | }, 4281 | { 4282 | "first": 98, 4283 | "second": 119, 4284 | "amount": 0 4285 | }, 4286 | { 4287 | "first": 98, 4288 | "second": 120, 4289 | "amount": -1 4290 | }, 4291 | { 4292 | "first": 98, 4293 | "second": 121, 4294 | "amount": 0 4295 | }, 4296 | { 4297 | "first": 98, 4298 | "second": 122, 4299 | "amount": 0 4300 | }, 4301 | { 4302 | "first": 99, 4303 | "second": 45, 4304 | "amount": -1 4305 | }, 4306 | { 4307 | "first": 99, 4308 | "second": 84, 4309 | "amount": -1 4310 | }, 4311 | { 4312 | "first": 99, 4313 | "second": 86, 4314 | "amount": -1 4315 | }, 4316 | { 4317 | "first": 99, 4318 | "second": 89, 4319 | "amount": -2 4320 | }, 4321 | { 4322 | "first": 99, 4323 | "second": 97, 4324 | "amount": -1 4325 | }, 4326 | { 4327 | "first": 99, 4328 | "second": 99, 4329 | "amount": -2 4330 | }, 4331 | { 4332 | "first": 99, 4333 | "second": 100, 4334 | "amount": -2 4335 | }, 4336 | { 4337 | "first": 99, 4338 | "second": 101, 4339 | "amount": -2 4340 | }, 4341 | { 4342 | "first": 99, 4343 | "second": 103, 4344 | "amount": -1 4345 | }, 4346 | { 4347 | "first": 99, 4348 | "second": 111, 4349 | "amount": -2 4350 | }, 4351 | { 4352 | "first": 99, 4353 | "second": 113, 4354 | "amount": -2 4355 | }, 4356 | { 4357 | "first": 99, 4358 | "second": 116, 4359 | "amount": -1 4360 | }, 4361 | { 4362 | "first": 99, 4363 | "second": 118, 4364 | "amount": 0 4365 | }, 4366 | { 4367 | "first": 99, 4368 | "second": 119, 4369 | "amount": 0 4370 | }, 4371 | { 4372 | "first": 99, 4373 | "second": 120, 4374 | "amount": 1 4375 | }, 4376 | { 4377 | "first": 99, 4378 | "second": 121, 4379 | "amount": 0 4380 | }, 4381 | { 4382 | "first": 101, 4383 | "second": 42, 4384 | "amount": -2 4385 | }, 4386 | { 4387 | "first": 101, 4388 | "second": 45, 4389 | "amount": 1 4390 | }, 4391 | { 4392 | "first": 101, 4393 | "second": 63, 4394 | "amount": -1 4395 | }, 4396 | { 4397 | "first": 101, 4398 | "second": 74, 4399 | "amount": -1 4400 | }, 4401 | { 4402 | "first": 101, 4403 | "second": 83, 4404 | "amount": -1 4405 | }, 4406 | { 4407 | "first": 101, 4408 | "second": 84, 4409 | "amount": -2 4410 | }, 4411 | { 4412 | "first": 101, 4413 | "second": 86, 4414 | "amount": -1 4415 | }, 4416 | { 4417 | "first": 101, 4418 | "second": 87, 4419 | "amount": -1 4420 | }, 4421 | { 4422 | "first": 101, 4423 | "second": 89, 4424 | "amount": -2 4425 | }, 4426 | { 4427 | "first": 101, 4428 | "second": 92, 4429 | "amount": -1 4430 | }, 4431 | { 4432 | "first": 101, 4433 | "second": 97, 4434 | "amount": -1 4435 | }, 4436 | { 4437 | "first": 101, 4438 | "second": 103, 4439 | "amount": -1 4440 | }, 4441 | { 4442 | "first": 101, 4443 | "second": 116, 4444 | "amount": -1 4445 | }, 4446 | { 4447 | "first": 101, 4448 | "second": 118, 4449 | "amount": 0 4450 | }, 4451 | { 4452 | "first": 101, 4453 | "second": 119, 4454 | "amount": 0 4455 | }, 4456 | { 4457 | "first": 101, 4458 | "second": 120, 4459 | "amount": -1 4460 | }, 4461 | { 4462 | "first": 101, 4463 | "second": 121, 4464 | "amount": 0 4465 | }, 4466 | { 4467 | "first": 102, 4468 | "second": 33, 4469 | "amount": 1 4470 | }, 4471 | { 4472 | "first": 102, 4473 | "second": 34, 4474 | "amount": 3 4475 | }, 4476 | { 4477 | "first": 102, 4478 | "second": 39, 4479 | "amount": 3 4480 | }, 4481 | { 4482 | "first": 102, 4483 | "second": 41, 4484 | "amount": 4 4485 | }, 4486 | { 4487 | "first": 102, 4488 | "second": 44, 4489 | "amount": -4 4490 | }, 4491 | { 4492 | "first": 102, 4493 | "second": 45, 4494 | "amount": -1 4495 | }, 4496 | { 4497 | "first": 102, 4498 | "second": 46, 4499 | "amount": -4 4500 | }, 4501 | { 4502 | "first": 102, 4503 | "second": 47, 4504 | "amount": -1 4505 | }, 4506 | { 4507 | "first": 102, 4508 | "second": 63, 4509 | "amount": 2 4510 | }, 4511 | { 4512 | "first": 102, 4513 | "second": 84, 4514 | "amount": 3 4515 | }, 4516 | { 4517 | "first": 102, 4518 | "second": 86, 4519 | "amount": 5 4520 | }, 4521 | { 4522 | "first": 102, 4523 | "second": 87, 4524 | "amount": 3 4525 | }, 4526 | { 4527 | "first": 102, 4528 | "second": 88, 4529 | "amount": 2 4530 | }, 4531 | { 4532 | "first": 102, 4533 | "second": 89, 4534 | "amount": 4 4535 | }, 4536 | { 4537 | "first": 102, 4538 | "second": 92, 4539 | "amount": 4 4540 | }, 4541 | { 4542 | "first": 102, 4543 | "second": 93, 4544 | "amount": 4 4545 | }, 4546 | { 4547 | "first": 102, 4548 | "second": 97, 4549 | "amount": -1 4550 | }, 4551 | { 4552 | "first": 102, 4553 | "second": 99, 4554 | "amount": -1 4555 | }, 4556 | { 4557 | "first": 102, 4558 | "second": 100, 4559 | "amount": -1 4560 | }, 4561 | { 4562 | "first": 102, 4563 | "second": 101, 4564 | "amount": -1 4565 | }, 4566 | { 4567 | "first": 102, 4568 | "second": 103, 4569 | "amount": -1 4570 | }, 4571 | { 4572 | "first": 102, 4573 | "second": 106, 4574 | "amount": -1 4575 | }, 4576 | { 4577 | "first": 102, 4578 | "second": 111, 4579 | "amount": -1 4580 | }, 4581 | { 4582 | "first": 102, 4583 | "second": 113, 4584 | "amount": -1 4585 | }, 4586 | { 4587 | "first": 102, 4588 | "second": 115, 4589 | "amount": 0 4590 | }, 4591 | { 4592 | "first": 102, 4593 | "second": 118, 4594 | "amount": 1 4595 | }, 4596 | { 4597 | "first": 102, 4598 | "second": 120, 4599 | "amount": 0 4600 | }, 4601 | { 4602 | "first": 102, 4603 | "second": 122, 4604 | "amount": -1 4605 | }, 4606 | { 4607 | "first": 102, 4608 | "second": 125, 4609 | "amount": 4 4610 | }, 4611 | { 4612 | "first": 103, 4613 | "second": 41, 4614 | "amount": 1 4615 | }, 4616 | { 4617 | "first": 103, 4618 | "second": 42, 4619 | "amount": -2 4620 | }, 4621 | { 4622 | "first": 103, 4623 | "second": 47, 4624 | "amount": 3 4625 | }, 4626 | { 4627 | "first": 103, 4628 | "second": 63, 4629 | "amount": -3 4630 | }, 4631 | { 4632 | "first": 103, 4633 | "second": 84, 4634 | "amount": -2 4635 | }, 4636 | { 4637 | "first": 103, 4638 | "second": 89, 4639 | "amount": -1 4640 | }, 4641 | { 4642 | "first": 103, 4643 | "second": 93, 4644 | "amount": 1 4645 | }, 4646 | { 4647 | "first": 103, 4648 | "second": 97, 4649 | "amount": -1 4650 | }, 4651 | { 4652 | "first": 103, 4653 | "second": 99, 4654 | "amount": -1 4655 | }, 4656 | { 4657 | "first": 103, 4658 | "second": 100, 4659 | "amount": -1 4660 | }, 4661 | { 4662 | "first": 103, 4663 | "second": 101, 4664 | "amount": -1 4665 | }, 4666 | { 4667 | "first": 103, 4668 | "second": 106, 4669 | "amount": 3 4670 | }, 4671 | { 4672 | "first": 103, 4673 | "second": 111, 4674 | "amount": -1 4675 | }, 4676 | { 4677 | "first": 103, 4678 | "second": 113, 4679 | "amount": -1 4680 | }, 4681 | { 4682 | "first": 103, 4683 | "second": 118, 4684 | "amount": 0 4685 | }, 4686 | { 4687 | "first": 103, 4688 | "second": 119, 4689 | "amount": 0 4690 | }, 4691 | { 4692 | "first": 103, 4693 | "second": 121, 4694 | "amount": 1 4695 | }, 4696 | { 4697 | "first": 103, 4698 | "second": 122, 4699 | "amount": -1 4700 | }, 4701 | { 4702 | "first": 103, 4703 | "second": 125, 4704 | "amount": 1 4705 | }, 4706 | { 4707 | "first": 104, 4708 | "second": 42, 4709 | "amount": -2 4710 | }, 4711 | { 4712 | "first": 104, 4713 | "second": 63, 4714 | "amount": -1 4715 | }, 4716 | { 4717 | "first": 104, 4718 | "second": 84, 4719 | "amount": -2 4720 | }, 4721 | { 4722 | "first": 104, 4723 | "second": 86, 4724 | "amount": -1 4725 | }, 4726 | { 4727 | "first": 104, 4728 | "second": 89, 4729 | "amount": -1 4730 | }, 4731 | { 4732 | "first": 107, 4733 | "second": 42, 4734 | "amount": -2 4735 | }, 4736 | { 4737 | "first": 107, 4738 | "second": 44, 4739 | "amount": 1 4740 | }, 4741 | { 4742 | "first": 107, 4743 | "second": 45, 4744 | "amount": -3 4745 | }, 4746 | { 4747 | "first": 107, 4748 | "second": 46, 4749 | "amount": 1 4750 | }, 4751 | { 4752 | "first": 107, 4753 | "second": 58, 4754 | "amount": 1 4755 | }, 4756 | { 4757 | "first": 107, 4758 | "second": 59, 4759 | "amount": 1 4760 | }, 4761 | { 4762 | "first": 107, 4763 | "second": 63, 4764 | "amount": -1 4765 | }, 4766 | { 4767 | "first": 107, 4768 | "second": 84, 4769 | "amount": -3 4770 | }, 4771 | { 4772 | "first": 107, 4773 | "second": 89, 4774 | "amount": -1 4775 | }, 4776 | { 4777 | "first": 107, 4778 | "second": 97, 4779 | "amount": -1 4780 | }, 4781 | { 4782 | "first": 107, 4783 | "second": 99, 4784 | "amount": -1 4785 | }, 4786 | { 4787 | "first": 107, 4788 | "second": 100, 4789 | "amount": -1 4790 | }, 4791 | { 4792 | "first": 107, 4793 | "second": 101, 4794 | "amount": -1 4795 | }, 4796 | { 4797 | "first": 107, 4798 | "second": 103, 4799 | "amount": -1 4800 | }, 4801 | { 4802 | "first": 107, 4803 | "second": 106, 4804 | "amount": -1 4805 | }, 4806 | { 4807 | "first": 107, 4808 | "second": 111, 4809 | "amount": -1 4810 | }, 4811 | { 4812 | "first": 107, 4813 | "second": 113, 4814 | "amount": -1 4815 | }, 4816 | { 4817 | "first": 107, 4818 | "second": 116, 4819 | "amount": -2 4820 | }, 4821 | { 4822 | "first": 107, 4823 | "second": 117, 4824 | "amount": -1 4825 | }, 4826 | { 4827 | "first": 107, 4828 | "second": 120, 4829 | "amount": -1 4830 | }, 4831 | { 4832 | "first": 107, 4833 | "second": 122, 4834 | "amount": -1 4835 | }, 4836 | { 4837 | "first": 108, 4838 | "second": 106, 4839 | "amount": 1 4840 | }, 4841 | { 4842 | "first": 109, 4843 | "second": 42, 4844 | "amount": -2 4845 | }, 4846 | { 4847 | "first": 109, 4848 | "second": 63, 4849 | "amount": -1 4850 | }, 4851 | { 4852 | "first": 109, 4853 | "second": 84, 4854 | "amount": -2 4855 | }, 4856 | { 4857 | "first": 109, 4858 | "second": 86, 4859 | "amount": -1 4860 | }, 4861 | { 4862 | "first": 109, 4863 | "second": 89, 4864 | "amount": -1 4865 | }, 4866 | { 4867 | "first": 110, 4868 | "second": 42, 4869 | "amount": -2 4870 | }, 4871 | { 4872 | "first": 110, 4873 | "second": 63, 4874 | "amount": -1 4875 | }, 4876 | { 4877 | "first": 110, 4878 | "second": 84, 4879 | "amount": -2 4880 | }, 4881 | { 4882 | "first": 110, 4883 | "second": 86, 4884 | "amount": -1 4885 | }, 4886 | { 4887 | "first": 110, 4888 | "second": 89, 4889 | "amount": -1 4890 | }, 4891 | { 4892 | "first": 111, 4893 | "second": 34, 4894 | "amount": -2 4895 | }, 4896 | { 4897 | "first": 111, 4898 | "second": 39, 4899 | "amount": -2 4900 | }, 4901 | { 4902 | "first": 111, 4903 | "second": 42, 4904 | "amount": -2 4905 | }, 4906 | { 4907 | "first": 111, 4908 | "second": 44, 4909 | "amount": -1 4910 | }, 4911 | { 4912 | "first": 111, 4913 | "second": 45, 4914 | "amount": 0 4915 | }, 4916 | { 4917 | "first": 111, 4918 | "second": 46, 4919 | "amount": -1 4920 | }, 4921 | { 4922 | "first": 111, 4923 | "second": 63, 4924 | "amount": -1 4925 | }, 4926 | { 4927 | "first": 111, 4928 | "second": 84, 4929 | "amount": -4 4930 | }, 4931 | { 4932 | "first": 111, 4933 | "second": 86, 4934 | "amount": -1 4935 | }, 4936 | { 4937 | "first": 111, 4938 | "second": 88, 4939 | "amount": 0 4940 | }, 4941 | { 4942 | "first": 111, 4943 | "second": 89, 4944 | "amount": -3 4945 | }, 4946 | { 4947 | "first": 111, 4948 | "second": 92, 4949 | "amount": -2 4950 | }, 4951 | { 4952 | "first": 111, 4953 | "second": 97, 4954 | "amount": -1 4955 | }, 4956 | { 4957 | "first": 111, 4958 | "second": 116, 4959 | "amount": -1 4960 | }, 4961 | { 4962 | "first": 111, 4963 | "second": 118, 4964 | "amount": 0 4965 | }, 4966 | { 4967 | "first": 111, 4968 | "second": 119, 4969 | "amount": 0 4970 | }, 4971 | { 4972 | "first": 111, 4973 | "second": 120, 4974 | "amount": -1 4975 | }, 4976 | { 4977 | "first": 111, 4978 | "second": 121, 4979 | "amount": 0 4980 | }, 4981 | { 4982 | "first": 111, 4983 | "second": 122, 4984 | "amount": 0 4985 | }, 4986 | { 4987 | "first": 112, 4988 | "second": 34, 4989 | "amount": -2 4990 | }, 4991 | { 4992 | "first": 112, 4993 | "second": 39, 4994 | "amount": -2 4995 | }, 4996 | { 4997 | "first": 112, 4998 | "second": 42, 4999 | "amount": -2 5000 | }, 5001 | { 5002 | "first": 112, 5003 | "second": 44, 5004 | "amount": -1 5005 | }, 5006 | { 5007 | "first": 112, 5008 | "second": 45, 5009 | "amount": 0 5010 | }, 5011 | { 5012 | "first": 112, 5013 | "second": 46, 5014 | "amount": -1 5015 | }, 5016 | { 5017 | "first": 112, 5018 | "second": 63, 5019 | "amount": -1 5020 | }, 5021 | { 5022 | "first": 112, 5023 | "second": 84, 5024 | "amount": -4 5025 | }, 5026 | { 5027 | "first": 112, 5028 | "second": 86, 5029 | "amount": -1 5030 | }, 5031 | { 5032 | "first": 112, 5033 | "second": 88, 5034 | "amount": 0 5035 | }, 5036 | { 5037 | "first": 112, 5038 | "second": 89, 5039 | "amount": -3 5040 | }, 5041 | { 5042 | "first": 112, 5043 | "second": 92, 5044 | "amount": -2 5045 | }, 5046 | { 5047 | "first": 112, 5048 | "second": 97, 5049 | "amount": -1 5050 | }, 5051 | { 5052 | "first": 112, 5053 | "second": 116, 5054 | "amount": -1 5055 | }, 5056 | { 5057 | "first": 112, 5058 | "second": 118, 5059 | "amount": 0 5060 | }, 5061 | { 5062 | "first": 112, 5063 | "second": 119, 5064 | "amount": 0 5065 | }, 5066 | { 5067 | "first": 112, 5068 | "second": 120, 5069 | "amount": -1 5070 | }, 5071 | { 5072 | "first": 112, 5073 | "second": 121, 5074 | "amount": 0 5075 | }, 5076 | { 5077 | "first": 112, 5078 | "second": 122, 5079 | "amount": 0 5080 | }, 5081 | { 5082 | "first": 113, 5083 | "second": 42, 5084 | "amount": -2 5085 | }, 5086 | { 5087 | "first": 113, 5088 | "second": 84, 5089 | "amount": -1 5090 | }, 5091 | { 5092 | "first": 113, 5093 | "second": 86, 5094 | "amount": -1 5095 | }, 5096 | { 5097 | "first": 113, 5098 | "second": 89, 5099 | "amount": -2 5100 | }, 5101 | { 5102 | "first": 114, 5103 | "second": 44, 5104 | "amount": -4 5105 | }, 5106 | { 5107 | "first": 114, 5108 | "second": 45, 5109 | "amount": -2 5110 | }, 5111 | { 5112 | "first": 114, 5113 | "second": 46, 5114 | "amount": -4 5115 | }, 5116 | { 5117 | "first": 114, 5118 | "second": 47, 5119 | "amount": -2 5120 | }, 5121 | { 5122 | "first": 114, 5123 | "second": 58, 5124 | "amount": 2 5125 | }, 5126 | { 5127 | "first": 114, 5128 | "second": 59, 5129 | "amount": 2 5130 | }, 5131 | { 5132 | "first": 114, 5133 | "second": 65, 5134 | "amount": -1 5135 | }, 5136 | { 5137 | "first": 114, 5138 | "second": 74, 5139 | "amount": -4 5140 | }, 5141 | { 5142 | "first": 114, 5143 | "second": 90, 5144 | "amount": -1 5145 | }, 5146 | { 5147 | "first": 114, 5148 | "second": 92, 5149 | "amount": 1 5150 | }, 5151 | { 5152 | "first": 114, 5153 | "second": 97, 5154 | "amount": -2 5155 | }, 5156 | { 5157 | "first": 114, 5158 | "second": 99, 5159 | "amount": -1 5160 | }, 5161 | { 5162 | "first": 114, 5163 | "second": 100, 5164 | "amount": -1 5165 | }, 5166 | { 5167 | "first": 114, 5168 | "second": 101, 5169 | "amount": -1 5170 | }, 5171 | { 5172 | "first": 114, 5173 | "second": 103, 5174 | "amount": -1 5175 | }, 5176 | { 5177 | "first": 114, 5178 | "second": 111, 5179 | "amount": -1 5180 | }, 5181 | { 5182 | "first": 114, 5183 | "second": 113, 5184 | "amount": -1 5185 | }, 5186 | { 5187 | "first": 114, 5188 | "second": 115, 5189 | "amount": 0 5190 | }, 5191 | { 5192 | "first": 114, 5193 | "second": 118, 5194 | "amount": 2 5195 | }, 5196 | { 5197 | "first": 114, 5198 | "second": 119, 5199 | "amount": 1 5200 | }, 5201 | { 5202 | "first": 114, 5203 | "second": 121, 5204 | "amount": 2 5205 | }, 5206 | { 5207 | "first": 114, 5208 | "second": 122, 5209 | "amount": 0 5210 | }, 5211 | { 5212 | "first": 115, 5213 | "second": 42, 5214 | "amount": -4 5215 | }, 5216 | { 5217 | "first": 115, 5218 | "second": 45, 5219 | "amount": 1 5220 | }, 5221 | { 5222 | "first": 115, 5223 | "second": 63, 5224 | "amount": -1 5225 | }, 5226 | { 5227 | "first": 115, 5228 | "second": 84, 5229 | "amount": -2 5230 | }, 5231 | { 5232 | "first": 115, 5233 | "second": 86, 5234 | "amount": -1 5235 | }, 5236 | { 5237 | "first": 115, 5238 | "second": 89, 5239 | "amount": -1 5240 | }, 5241 | { 5242 | "first": 115, 5243 | "second": 116, 5244 | "amount": -1 5245 | }, 5246 | { 5247 | "first": 116, 5248 | "second": 44, 5249 | "amount": 1 5250 | }, 5251 | { 5252 | "first": 116, 5253 | "second": 45, 5254 | "amount": -2 5255 | }, 5256 | { 5257 | "first": 116, 5258 | "second": 46, 5259 | "amount": 1 5260 | }, 5261 | { 5262 | "first": 116, 5263 | "second": 47, 5264 | "amount": 1 5265 | }, 5266 | { 5267 | "first": 116, 5268 | "second": 58, 5269 | "amount": 1 5270 | }, 5271 | { 5272 | "first": 116, 5273 | "second": 59, 5274 | "amount": 1 5275 | }, 5276 | { 5277 | "first": 116, 5278 | "second": 63, 5279 | "amount": -2 5280 | }, 5281 | { 5282 | "first": 116, 5283 | "second": 84, 5284 | "amount": -1 5285 | }, 5286 | { 5287 | "first": 116, 5288 | "second": 89, 5289 | "amount": 0 5290 | }, 5291 | { 5292 | "first": 116, 5293 | "second": 97, 5294 | "amount": -2 5295 | }, 5296 | { 5297 | "first": 116, 5298 | "second": 99, 5299 | "amount": -1 5300 | }, 5301 | { 5302 | "first": 116, 5303 | "second": 100, 5304 | "amount": -1 5305 | }, 5306 | { 5307 | "first": 116, 5308 | "second": 101, 5309 | "amount": -1 5310 | }, 5311 | { 5312 | "first": 116, 5313 | "second": 103, 5314 | "amount": -1 5315 | }, 5316 | { 5317 | "first": 116, 5318 | "second": 111, 5319 | "amount": -1 5320 | }, 5321 | { 5322 | "first": 116, 5323 | "second": 113, 5324 | "amount": -1 5325 | }, 5326 | { 5327 | "first": 116, 5328 | "second": 115, 5329 | "amount": -1 5330 | }, 5331 | { 5332 | "first": 116, 5333 | "second": 116, 5334 | "amount": -1 5335 | }, 5336 | { 5337 | "first": 116, 5338 | "second": 120, 5339 | "amount": -1 5340 | }, 5341 | { 5342 | "first": 117, 5343 | "second": 42, 5344 | "amount": -2 5345 | }, 5346 | { 5347 | "first": 117, 5348 | "second": 84, 5349 | "amount": -1 5350 | }, 5351 | { 5352 | "first": 117, 5353 | "second": 86, 5354 | "amount": -1 5355 | }, 5356 | { 5357 | "first": 117, 5358 | "second": 89, 5359 | "amount": -2 5360 | }, 5361 | { 5362 | "first": 118, 5363 | "second": 42, 5364 | "amount": -1 5365 | }, 5366 | { 5367 | "first": 118, 5368 | "second": 44, 5369 | "amount": -3 5370 | }, 5371 | { 5372 | "first": 118, 5373 | "second": 45, 5374 | "amount": -1 5375 | }, 5376 | { 5377 | "first": 118, 5378 | "second": 46, 5379 | "amount": -3 5380 | }, 5381 | { 5382 | "first": 118, 5383 | "second": 47, 5384 | "amount": -1 5385 | }, 5386 | { 5387 | "first": 118, 5388 | "second": 65, 5389 | "amount": -1 5390 | }, 5391 | { 5392 | "first": 118, 5393 | "second": 74, 5394 | "amount": -3 5395 | }, 5396 | { 5397 | "first": 118, 5398 | "second": 84, 5399 | "amount": -1 5400 | }, 5401 | { 5402 | "first": 118, 5403 | "second": 86, 5404 | "amount": -1 5405 | }, 5406 | { 5407 | "first": 118, 5408 | "second": 89, 5409 | "amount": -1 5410 | }, 5411 | { 5412 | "first": 118, 5413 | "second": 90, 5414 | "amount": -1 5415 | }, 5416 | { 5417 | "first": 118, 5418 | "second": 97, 5419 | "amount": -1 5420 | }, 5421 | { 5422 | "first": 118, 5423 | "second": 99, 5424 | "amount": 0 5425 | }, 5426 | { 5427 | "first": 118, 5428 | "second": 100, 5429 | "amount": 0 5430 | }, 5431 | { 5432 | "first": 118, 5433 | "second": 101, 5434 | "amount": 0 5435 | }, 5436 | { 5437 | "first": 118, 5438 | "second": 106, 5439 | "amount": -1 5440 | }, 5441 | { 5442 | "first": 118, 5443 | "second": 111, 5444 | "amount": 0 5445 | }, 5446 | { 5447 | "first": 118, 5448 | "second": 113, 5449 | "amount": 0 5450 | }, 5451 | { 5452 | "first": 118, 5453 | "second": 122, 5454 | "amount": -2 5455 | }, 5456 | { 5457 | "first": 119, 5458 | "second": 42, 5459 | "amount": -1 5460 | }, 5461 | { 5462 | "first": 119, 5463 | "second": 44, 5464 | "amount": -3 5465 | }, 5466 | { 5467 | "first": 119, 5468 | "second": 46, 5469 | "amount": -3 5470 | }, 5471 | { 5472 | "first": 119, 5473 | "second": 47, 5474 | "amount": -1 5475 | }, 5476 | { 5477 | "first": 119, 5478 | "second": 65, 5479 | "amount": 0 5480 | }, 5481 | { 5482 | "first": 119, 5483 | "second": 74, 5484 | "amount": -2 5485 | }, 5486 | { 5487 | "first": 119, 5488 | "second": 84, 5489 | "amount": -2 5490 | }, 5491 | { 5492 | "first": 119, 5493 | "second": 86, 5494 | "amount": -1 5495 | }, 5496 | { 5497 | "first": 119, 5498 | "second": 88, 5499 | "amount": -1 5500 | }, 5501 | { 5502 | "first": 119, 5503 | "second": 89, 5504 | "amount": -2 5505 | }, 5506 | { 5507 | "first": 119, 5508 | "second": 97, 5509 | "amount": -1 5510 | }, 5511 | { 5512 | "first": 119, 5513 | "second": 99, 5514 | "amount": 0 5515 | }, 5516 | { 5517 | "first": 119, 5518 | "second": 100, 5519 | "amount": 0 5520 | }, 5521 | { 5522 | "first": 119, 5523 | "second": 101, 5524 | "amount": 0 5525 | }, 5526 | { 5527 | "first": 119, 5528 | "second": 106, 5529 | "amount": -1 5530 | }, 5531 | { 5532 | "first": 119, 5533 | "second": 111, 5534 | "amount": 0 5535 | }, 5536 | { 5537 | "first": 119, 5538 | "second": 113, 5539 | "amount": 0 5540 | }, 5541 | { 5542 | "first": 119, 5543 | "second": 122, 5544 | "amount": -1 5545 | }, 5546 | { 5547 | "first": 120, 5548 | "second": 33, 5549 | "amount": -1 5550 | }, 5551 | { 5552 | "first": 120, 5553 | "second": 42, 5554 | "amount": -2 5555 | }, 5556 | { 5557 | "first": 120, 5558 | "second": 44, 5559 | "amount": 1 5560 | }, 5561 | { 5562 | "first": 120, 5563 | "second": 45, 5564 | "amount": -1 5565 | }, 5566 | { 5567 | "first": 120, 5568 | "second": 46, 5569 | "amount": -1 5570 | }, 5571 | { 5572 | "first": 120, 5573 | "second": 59, 5574 | "amount": 1 5575 | }, 5576 | { 5577 | "first": 120, 5578 | "second": 67, 5579 | "amount": -1 5580 | }, 5581 | { 5582 | "first": 120, 5583 | "second": 71, 5584 | "amount": -1 5585 | }, 5586 | { 5587 | "first": 120, 5588 | "second": 79, 5589 | "amount": -1 5590 | }, 5591 | { 5592 | "first": 120, 5593 | "second": 81, 5594 | "amount": -1 5595 | }, 5596 | { 5597 | "first": 120, 5598 | "second": 83, 5599 | "amount": 0 5600 | }, 5601 | { 5602 | "first": 120, 5603 | "second": 84, 5604 | "amount": -2 5605 | }, 5606 | { 5607 | "first": 120, 5608 | "second": 86, 5609 | "amount": -1 5610 | }, 5611 | { 5612 | "first": 120, 5613 | "second": 88, 5614 | "amount": -1 5615 | }, 5616 | { 5617 | "first": 120, 5618 | "second": 89, 5619 | "amount": -2 5620 | }, 5621 | { 5622 | "first": 120, 5623 | "second": 97, 5624 | "amount": -1 5625 | }, 5626 | { 5627 | "first": 120, 5628 | "second": 99, 5629 | "amount": -1 5630 | }, 5631 | { 5632 | "first": 120, 5633 | "second": 100, 5634 | "amount": -1 5635 | }, 5636 | { 5637 | "first": 120, 5638 | "second": 101, 5639 | "amount": -1 5640 | }, 5641 | { 5642 | "first": 120, 5643 | "second": 111, 5644 | "amount": -1 5645 | }, 5646 | { 5647 | "first": 120, 5648 | "second": 113, 5649 | "amount": -1 5650 | }, 5651 | { 5652 | "first": 120, 5653 | "second": 116, 5654 | "amount": -2 5655 | }, 5656 | { 5657 | "first": 121, 5658 | "second": 44, 5659 | "amount": -3 5660 | }, 5661 | { 5662 | "first": 121, 5663 | "second": 46, 5664 | "amount": -3 5665 | }, 5666 | { 5667 | "first": 121, 5668 | "second": 47, 5669 | "amount": -1 5670 | }, 5671 | { 5672 | "first": 121, 5673 | "second": 74, 5674 | "amount": -3 5675 | }, 5676 | { 5677 | "first": 121, 5678 | "second": 84, 5679 | "amount": -1 5680 | }, 5681 | { 5682 | "first": 121, 5683 | "second": 86, 5684 | "amount": 0 5685 | }, 5686 | { 5687 | "first": 121, 5688 | "second": 88, 5689 | "amount": 0 5690 | }, 5691 | { 5692 | "first": 121, 5693 | "second": 89, 5694 | "amount": -1 5695 | }, 5696 | { 5697 | "first": 121, 5698 | "second": 97, 5699 | "amount": -1 5700 | }, 5701 | { 5702 | "first": 121, 5703 | "second": 99, 5704 | "amount": 0 5705 | }, 5706 | { 5707 | "first": 121, 5708 | "second": 100, 5709 | "amount": 0 5710 | }, 5711 | { 5712 | "first": 121, 5713 | "second": 101, 5714 | "amount": 0 5715 | }, 5716 | { 5717 | "first": 121, 5718 | "second": 106, 5719 | "amount": -1 5720 | }, 5721 | { 5722 | "first": 121, 5723 | "second": 111, 5724 | "amount": 0 5725 | }, 5726 | { 5727 | "first": 121, 5728 | "second": 113, 5729 | "amount": 0 5730 | }, 5731 | { 5732 | "first": 121, 5733 | "second": 120, 5734 | "amount": -1 5735 | }, 5736 | { 5737 | "first": 121, 5738 | "second": 122, 5739 | "amount": -2 5740 | }, 5741 | { 5742 | "first": 122, 5743 | "second": 45, 5744 | "amount": -1 5745 | }, 5746 | { 5747 | "first": 122, 5748 | "second": 84, 5749 | "amount": -2 5750 | }, 5751 | { 5752 | "first": 122, 5753 | "second": 89, 5754 | "amount": -2 5755 | }, 5756 | { 5757 | "first": 122, 5758 | "second": 97, 5759 | "amount": -2 5760 | }, 5761 | { 5762 | "first": 122, 5763 | "second": 99, 5764 | "amount": -1 5765 | }, 5766 | { 5767 | "first": 122, 5768 | "second": 100, 5769 | "amount": -1 5770 | }, 5771 | { 5772 | "first": 122, 5773 | "second": 101, 5774 | "amount": -1 5775 | }, 5776 | { 5777 | "first": 122, 5778 | "second": 103, 5779 | "amount": 0 5780 | }, 5781 | { 5782 | "first": 122, 5783 | "second": 111, 5784 | "amount": -1 5785 | }, 5786 | { 5787 | "first": 122, 5788 | "second": 113, 5789 | "amount": -1 5790 | }, 5791 | { 5792 | "first": 122, 5793 | "second": 117, 5794 | "amount": -1 5795 | }, 5796 | { 5797 | "first": 122, 5798 | "second": 118, 5799 | "amount": 0 5800 | }, 5801 | { 5802 | "first": 122, 5803 | "second": 121, 5804 | "amount": 0 5805 | }, 5806 | { 5807 | "first": 123, 5808 | "second": 74, 5809 | "amount": -1 5810 | }, 5811 | { 5812 | "first": 123, 5813 | "second": 106, 5814 | "amount": 6 5815 | } 5816 | ] 5817 | } 5818 | -------------------------------------------------------------------------------- /src/static/SourceSansPro-Regular.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Anemolo/100k-objects-with-Instanced-Geometries/b217db0d0851c3f474f63bce3feed7ccc34dc0ec/src/static/SourceSansPro-Regular.png -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | font-size: 14px; 4 | } 5 | body { 6 | font-family: sans-serif; 7 | overflow: hidden; 8 | font-family: "Share Tech", sans-serif; 9 | margin: 0; 10 | text-shadow: 0px 0px 16px #1c1d1e; 11 | } 12 | 13 | #app { 14 | height: 100vh; 15 | overflow: hidden; 16 | cursor: grab; 17 | } 18 | #app:active { 19 | cursor: grabbing; 20 | } 21 | canvas { 22 | width: 100%; 23 | height: 100%; 24 | } 25 | 26 | .controls { 27 | position: absolute; 28 | bottom: 30px; 29 | left: 0; 30 | width: 100%; 31 | display: flex; 32 | align-items: center; 33 | justify-content: flex-end; 34 | flex-direction: column; 35 | user-select: none; 36 | pointer-events: none; 37 | text-align: center; 38 | } 39 | 40 | h4 { 41 | text-transform: uppercase; 42 | font-weight: normal; 43 | letter-spacing: 0.3rem; 44 | padding-bottom: 0.5rem; 45 | } 46 | h2 { 47 | } 48 | h4, 49 | h2, 50 | h5 { 51 | margin: 0 0; 52 | font-weight: normal; 53 | color: white; 54 | } 55 | .count-title { 56 | position: relative; 57 | } 58 | .icon { 59 | color: white; 60 | font-size: 3rem; 61 | text-shadow: 0px 0px 16px #1c1d1e; 62 | } 63 | button { 64 | user-select: auto; 65 | pointer-events: all; 66 | } 67 | h4, 68 | h3, 69 | h2 { 70 | user-select: text; 71 | pointer-events: all; 72 | } 73 | #count { 74 | font-size: 5rem; 75 | font-weight: 200; 76 | line-height: 0.9em; 77 | } 78 | .buttons { 79 | display: flex; 80 | } 81 | button { 82 | margin: 0; 83 | padding: 0rem 0rem; 84 | background: none; 85 | color: white; 86 | border: none; 87 | } 88 | .flip { 89 | transform: scaleX(-1); 90 | } 91 | button:hover { 92 | cursor: pointer; 93 | background: transparent; 94 | } 95 | button:hover .icon { 96 | color: #747484; 97 | } 98 | #less { 99 | margin-right: 1rem; 100 | } 101 | .more { 102 | left: 100%; 103 | } 104 | 105 | .switch { 106 | font-size: 1rem; 107 | margin: 0; 108 | padding: 0.5rem; 109 | padding-bottom: 0; 110 | border: none; 111 | border: none; 112 | text-decoration: underline; 113 | font-family: "Share Tech", sans-serif; 114 | } 115 | .switch:hover { 116 | cursor: pointer; 117 | color: #9494aa; 118 | background: transparent; 119 | } 120 | 121 | @media screen and (min-width: 400px) { 122 | body, 123 | html { 124 | font-size: 14px; 125 | } 126 | } 127 | @media (orientation: landscape) and (max-height: 550px) { 128 | /* landscape styles */ 129 | .controls { 130 | width: auto; 131 | height: 100vh; 132 | justify-content: center; 133 | align-items: center; 134 | margin-left: 4rem; 135 | bottom: 0; 136 | } 137 | } 138 | --------------------------------------------------------------------------------