Skip to content

Instantly share code, notes, and snippets.

@leonardobareno
Last active May 29, 2018 23:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leonardobareno/abd463f1241f8ebd1063ec06e1a0915e to your computer and use it in GitHub Desktop.
Save leonardobareno/abd463f1241f8ebd1063ec06e1a0915e to your computer and use it in GitHub Desktop.
CGI_prjfin
license: gpl-3.0

Computación Visual Interactiva - Proyecto Final

Teclado: WASD, QE Mouse: Arrastrar y soltar dentro del canvas

Leonardo Bareño Mayo de 2018

/**
* @fileoverview gl-matrix - High performance matrix and vector operations
* @author Brandon Jones
* @author Colin MacKenzie IV
* @version 2.4.0
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else {
var a = factory();
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
}
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 4);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setMatrixArrayType = setMatrixArrayType;
exports.toRadian = toRadian;
exports.equals = equals;
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
/**
* Common utilities
* @module glMatrix
*/
// Configuration Constants
var EPSILON = exports.EPSILON = 0.000001;
var ARRAY_TYPE = exports.ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
var RANDOM = exports.RANDOM = Math.random;
/**
* Sets the type of array used when creating new vectors and matrices
*
* @param {Type} type Array type, such as Float32Array or Array
*/
function setMatrixArrayType(type) {
exports.ARRAY_TYPE = ARRAY_TYPE = type;
}
var degree = Math.PI / 180;
/**
* Convert Degree To Radian
*
* @param {Number} a Angle in Degrees
*/
function toRadian(a) {
return a * degree;
}
/**
* Tests whether or not the arguments have approximately the same value, within an absolute
* or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less
* than or equal to 1.0, and a relative tolerance is used for larger values)
*
* @param {Number} a The first number to test.
* @param {Number} b The second number to test.
* @returns {Boolean} True if the numbers are approximately equal, false otherwise.
*/
function equals(a, b) {
return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));
}
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sub = exports.mul = undefined;
exports.create = create;
exports.fromMat4 = fromMat4;
exports.clone = clone;
exports.copy = copy;
exports.fromValues = fromValues;
exports.set = set;
exports.identity = identity;
exports.transpose = transpose;
exports.invert = invert;
exports.adjoint = adjoint;
exports.determinant = determinant;
exports.multiply = multiply;
exports.translate = translate;
exports.rotate = rotate;
exports.scale = scale;
exports.fromTranslation = fromTranslation;
exports.fromRotation = fromRotation;
exports.fromScaling = fromScaling;
exports.fromMat2d = fromMat2d;
exports.fromQuat = fromQuat;
exports.normalFromMat4 = normalFromMat4;
exports.projection = projection;
exports.str = str;
exports.frob = frob;
exports.add = add;
exports.subtract = subtract;
exports.multiplyScalar = multiplyScalar;
exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 3x3 Matrix
* @module mat3
*/
/**
* Creates a new identity mat3
*
* @returns {mat3} a new 3x3 matrix
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(9);
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 1;
out[5] = 0;
out[6] = 0;
out[7] = 0;
out[8] = 1;
return out;
}
/**
* Copies the upper-left 3x3 values into the given mat3.
*
* @param {mat3} out the receiving 3x3 matrix
* @param {mat4} a the source 4x4 matrix
* @returns {mat3} out
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function fromMat4(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[4];
out[4] = a[5];
out[5] = a[6];
out[6] = a[8];
out[7] = a[9];
out[8] = a[10];
return out;
}
/**
* Creates a new mat3 initialized with values from an existing matrix
*
* @param {mat3} a matrix to clone
* @returns {mat3} a new 3x3 matrix
*/
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(9);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
return out;
}
/**
* Copy the values from one mat3 to another
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the source matrix
* @returns {mat3} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
return out;
}
/**
* Create a new mat3 with the given values
*
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m02 Component in column 0, row 2 position (index 2)
* @param {Number} m10 Component in column 1, row 0 position (index 3)
* @param {Number} m11 Component in column 1, row 1 position (index 4)
* @param {Number} m12 Component in column 1, row 2 position (index 5)
* @param {Number} m20 Component in column 2, row 0 position (index 6)
* @param {Number} m21 Component in column 2, row 1 position (index 7)
* @param {Number} m22 Component in column 2, row 2 position (index 8)
* @returns {mat3} A new mat3
*/
function fromValues(m00, m01, m02, m10, m11, m12, m20, m21, m22) {
var out = new glMatrix.ARRAY_TYPE(9);
out[0] = m00;
out[1] = m01;
out[2] = m02;
out[3] = m10;
out[4] = m11;
out[5] = m12;
out[6] = m20;
out[7] = m21;
out[8] = m22;
return out;
}
/**
* Set the components of a mat3 to the given values
*
* @param {mat3} out the receiving matrix
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m02 Component in column 0, row 2 position (index 2)
* @param {Number} m10 Component in column 1, row 0 position (index 3)
* @param {Number} m11 Component in column 1, row 1 position (index 4)
* @param {Number} m12 Component in column 1, row 2 position (index 5)
* @param {Number} m20 Component in column 2, row 0 position (index 6)
* @param {Number} m21 Component in column 2, row 1 position (index 7)
* @param {Number} m22 Component in column 2, row 2 position (index 8)
* @returns {mat3} out
*/
function set(out, m00, m01, m02, m10, m11, m12, m20, m21, m22) {
out[0] = m00;
out[1] = m01;
out[2] = m02;
out[3] = m10;
out[4] = m11;
out[5] = m12;
out[6] = m20;
out[7] = m21;
out[8] = m22;
return out;
}
/**
* Set a mat3 to the identity matrix
*
* @param {mat3} out the receiving matrix
* @returns {mat3} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 1;
out[5] = 0;
out[6] = 0;
out[7] = 0;
out[8] = 1;
return out;
}
/**
* Transpose the values of a mat3
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the source matrix
* @returns {mat3} out
*/
function transpose(out, a) {
// If we are transposing ourselves we can skip a few steps but have to cache some values
if (out === a) {
var a01 = a[1],
a02 = a[2],
a12 = a[5];
out[1] = a[3];
out[2] = a[6];
out[3] = a01;
out[5] = a[7];
out[6] = a02;
out[7] = a12;
} else {
out[0] = a[0];
out[1] = a[3];
out[2] = a[6];
out[3] = a[1];
out[4] = a[4];
out[5] = a[7];
out[6] = a[2];
out[7] = a[5];
out[8] = a[8];
}
return out;
}
/**
* Inverts a mat3
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the source matrix
* @returns {mat3} out
*/
function invert(out, a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2];
var a10 = a[3],
a11 = a[4],
a12 = a[5];
var a20 = a[6],
a21 = a[7],
a22 = a[8];
var b01 = a22 * a11 - a12 * a21;
var b11 = -a22 * a10 + a12 * a20;
var b21 = a21 * a10 - a11 * a20;
// Calculate the determinant
var det = a00 * b01 + a01 * b11 + a02 * b21;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = b01 * det;
out[1] = (-a22 * a01 + a02 * a21) * det;
out[2] = (a12 * a01 - a02 * a11) * det;
out[3] = b11 * det;
out[4] = (a22 * a00 - a02 * a20) * det;
out[5] = (-a12 * a00 + a02 * a10) * det;
out[6] = b21 * det;
out[7] = (-a21 * a00 + a01 * a20) * det;
out[8] = (a11 * a00 - a01 * a10) * det;
return out;
}
/**
* Calculates the adjugate of a mat3
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the source matrix
* @returns {mat3} out
*/
function adjoint(out, a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2];
var a10 = a[3],
a11 = a[4],
a12 = a[5];
var a20 = a[6],
a21 = a[7],
a22 = a[8];
out[0] = a11 * a22 - a12 * a21;
out[1] = a02 * a21 - a01 * a22;
out[2] = a01 * a12 - a02 * a11;
out[3] = a12 * a20 - a10 * a22;
out[4] = a00 * a22 - a02 * a20;
out[5] = a02 * a10 - a00 * a12;
out[6] = a10 * a21 - a11 * a20;
out[7] = a01 * a20 - a00 * a21;
out[8] = a00 * a11 - a01 * a10;
return out;
}
/**
* Calculates the determinant of a mat3
*
* @param {mat3} a the source matrix
* @returns {Number} determinant of a
*/
function determinant(a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2];
var a10 = a[3],
a11 = a[4],
a12 = a[5];
var a20 = a[6],
a21 = a[7],
a22 = a[8];
return a00 * (a22 * a11 - a12 * a21) + a01 * (-a22 * a10 + a12 * a20) + a02 * (a21 * a10 - a11 * a20);
}
/**
* Multiplies two mat3's
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the first operand
* @param {mat3} b the second operand
* @returns {mat3} out
*/
function multiply(out, a, b) {
var a00 = a[0],
a01 = a[1],
a02 = a[2];
var a10 = a[3],
a11 = a[4],
a12 = a[5];
var a20 = a[6],
a21 = a[7],
a22 = a[8];
var b00 = b[0],
b01 = b[1],
b02 = b[2];
var b10 = b[3],
b11 = b[4],
b12 = b[5];
var b20 = b[6],
b21 = b[7],
b22 = b[8];
out[0] = b00 * a00 + b01 * a10 + b02 * a20;
out[1] = b00 * a01 + b01 * a11 + b02 * a21;
out[2] = b00 * a02 + b01 * a12 + b02 * a22;
out[3] = b10 * a00 + b11 * a10 + b12 * a20;
out[4] = b10 * a01 + b11 * a11 + b12 * a21;
out[5] = b10 * a02 + b11 * a12 + b12 * a22;
out[6] = b20 * a00 + b21 * a10 + b22 * a20;
out[7] = b20 * a01 + b21 * a11 + b22 * a21;
out[8] = b20 * a02 + b21 * a12 + b22 * a22;
return out;
}
/**
* Translate a mat3 by the given vector
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the matrix to translate
* @param {vec2} v vector to translate by
* @returns {mat3} out
*/
function translate(out, a, v) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a10 = a[3],
a11 = a[4],
a12 = a[5],
a20 = a[6],
a21 = a[7],
a22 = a[8],
x = v[0],
y = v[1];
out[0] = a00;
out[1] = a01;
out[2] = a02;
out[3] = a10;
out[4] = a11;
out[5] = a12;
out[6] = x * a00 + y * a10 + a20;
out[7] = x * a01 + y * a11 + a21;
out[8] = x * a02 + y * a12 + a22;
return out;
}
/**
* Rotates a mat3 by the given angle
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat3} out
*/
function rotate(out, a, rad) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a10 = a[3],
a11 = a[4],
a12 = a[5],
a20 = a[6],
a21 = a[7],
a22 = a[8],
s = Math.sin(rad),
c = Math.cos(rad);
out[0] = c * a00 + s * a10;
out[1] = c * a01 + s * a11;
out[2] = c * a02 + s * a12;
out[3] = c * a10 - s * a00;
out[4] = c * a11 - s * a01;
out[5] = c * a12 - s * a02;
out[6] = a20;
out[7] = a21;
out[8] = a22;
return out;
};
/**
* Scales the mat3 by the dimensions in the given vec2
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the matrix to rotate
* @param {vec2} v the vec2 to scale the matrix by
* @returns {mat3} out
**/
function scale(out, a, v) {
var x = v[0],
y = v[1];
out[0] = x * a[0];
out[1] = x * a[1];
out[2] = x * a[2];
out[3] = y * a[3];
out[4] = y * a[4];
out[5] = y * a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
return out;
}
/**
* Creates a matrix from a vector translation
* This is equivalent to (but much faster than):
*
* mat3.identity(dest);
* mat3.translate(dest, dest, vec);
*
* @param {mat3} out mat3 receiving operation result
* @param {vec2} v Translation vector
* @returns {mat3} out
*/
function fromTranslation(out, v) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 1;
out[5] = 0;
out[6] = v[0];
out[7] = v[1];
out[8] = 1;
return out;
}
/**
* Creates a matrix from a given angle
* This is equivalent to (but much faster than):
*
* mat3.identity(dest);
* mat3.rotate(dest, dest, rad);
*
* @param {mat3} out mat3 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat3} out
*/
function fromRotation(out, rad) {
var s = Math.sin(rad),
c = Math.cos(rad);
out[0] = c;
out[1] = s;
out[2] = 0;
out[3] = -s;
out[4] = c;
out[5] = 0;
out[6] = 0;
out[7] = 0;
out[8] = 1;
return out;
}
/**
* Creates a matrix from a vector scaling
* This is equivalent to (but much faster than):
*
* mat3.identity(dest);
* mat3.scale(dest, dest, vec);
*
* @param {mat3} out mat3 receiving operation result
* @param {vec2} v Scaling vector
* @returns {mat3} out
*/
function fromScaling(out, v) {
out[0] = v[0];
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = v[1];
out[5] = 0;
out[6] = 0;
out[7] = 0;
out[8] = 1;
return out;
}
/**
* Copies the values from a mat2d into a mat3
*
* @param {mat3} out the receiving matrix
* @param {mat2d} a the matrix to copy
* @returns {mat3} out
**/
function fromMat2d(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = 0;
out[3] = a[2];
out[4] = a[3];
out[5] = 0;
out[6] = a[4];
out[7] = a[5];
out[8] = 1;
return out;
}
/**
* Calculates a 3x3 matrix from the given quaternion
*
* @param {mat3} out mat3 receiving operation result
* @param {quat} q Quaternion to create matrix from
*
* @returns {mat3} out
*/
function fromQuat(out, q) {
var x = q[0],
y = q[1],
z = q[2],
w = q[3];
var x2 = x + x;
var y2 = y + y;
var z2 = z + z;
var xx = x * x2;
var yx = y * x2;
var yy = y * y2;
var zx = z * x2;
var zy = z * y2;
var zz = z * z2;
var wx = w * x2;
var wy = w * y2;
var wz = w * z2;
out[0] = 1 - yy - zz;
out[3] = yx - wz;
out[6] = zx + wy;
out[1] = yx + wz;
out[4] = 1 - xx - zz;
out[7] = zy - wx;
out[2] = zx - wy;
out[5] = zy + wx;
out[8] = 1 - xx - yy;
return out;
}
/**
* Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix
*
* @param {mat3} out mat3 receiving operation result
* @param {mat4} a Mat4 to derive the normal matrix from
*
* @returns {mat3} out
*/
function normalFromMat4(out, a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3];
var a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
var a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
var a30 = a[12],
a31 = a[13],
a32 = a[14],
a33 = a[15];
var b00 = a00 * a11 - a01 * a10;
var b01 = a00 * a12 - a02 * a10;
var b02 = a00 * a13 - a03 * a10;
var b03 = a01 * a12 - a02 * a11;
var b04 = a01 * a13 - a03 * a11;
var b05 = a02 * a13 - a03 * a12;
var b06 = a20 * a31 - a21 * a30;
var b07 = a20 * a32 - a22 * a30;
var b08 = a20 * a33 - a23 * a30;
var b09 = a21 * a32 - a22 * a31;
var b10 = a21 * a33 - a23 * a31;
var b11 = a22 * a33 - a23 * a32;
// Calculate the determinant
var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;
out[1] = (a12 * b08 - a10 * b11 - a13 * b07) * det;
out[2] = (a10 * b10 - a11 * b08 + a13 * b06) * det;
out[3] = (a02 * b10 - a01 * b11 - a03 * b09) * det;
out[4] = (a00 * b11 - a02 * b08 + a03 * b07) * det;
out[5] = (a01 * b08 - a00 * b10 - a03 * b06) * det;
out[6] = (a31 * b05 - a32 * b04 + a33 * b03) * det;
out[7] = (a32 * b02 - a30 * b05 - a33 * b01) * det;
out[8] = (a30 * b04 - a31 * b02 + a33 * b00) * det;
return out;
}
/**
* Generates a 2D projection matrix with the given bounds
*
* @param {mat3} out mat3 frustum matrix will be written into
* @param {number} width Width of your gl context
* @param {number} height Height of gl context
* @returns {mat3} out
*/
function projection(out, width, height) {
out[0] = 2 / width;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = -2 / height;
out[5] = 0;
out[6] = -1;
out[7] = 1;
out[8] = 1;
return out;
}
/**
* Returns a string representation of a mat3
*
* @param {mat3} a matrix to represent as a string
* @returns {String} string representation of the matrix
*/
function str(a) {
return 'mat3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + a[8] + ')';
}
/**
* Returns Frobenius norm of a mat3
*
* @param {mat3} a the matrix to calculate Frobenius norm of
* @returns {Number} Frobenius norm
*/
function frob(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2));
}
/**
* Adds two mat3's
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the first operand
* @param {mat3} b the second operand
* @returns {mat3} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
out[3] = a[3] + b[3];
out[4] = a[4] + b[4];
out[5] = a[5] + b[5];
out[6] = a[6] + b[6];
out[7] = a[7] + b[7];
out[8] = a[8] + b[8];
return out;
}
/**
* Subtracts matrix b from matrix a
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the first operand
* @param {mat3} b the second operand
* @returns {mat3} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
out[3] = a[3] - b[3];
out[4] = a[4] - b[4];
out[5] = a[5] - b[5];
out[6] = a[6] - b[6];
out[7] = a[7] - b[7];
out[8] = a[8] - b[8];
return out;
}
/**
* Multiply each element of the matrix by a scalar.
*
* @param {mat3} out the receiving matrix
* @param {mat3} a the matrix to scale
* @param {Number} b amount to scale the matrix's elements by
* @returns {mat3} out
*/
function multiplyScalar(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
out[3] = a[3] * b;
out[4] = a[4] * b;
out[5] = a[5] * b;
out[6] = a[6] * b;
out[7] = a[7] * b;
out[8] = a[8] * b;
return out;
}
/**
* Adds two mat3's after multiplying each element of the second operand by a scalar value.
*
* @param {mat3} out the receiving vector
* @param {mat3} a the first operand
* @param {mat3} b the second operand
* @param {Number} scale the amount to scale b's elements by before adding
* @returns {mat3} out
*/
function multiplyScalarAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
out[3] = a[3] + b[3] * scale;
out[4] = a[4] + b[4] * scale;
out[5] = a[5] + b[5] * scale;
out[6] = a[6] + b[6] * scale;
out[7] = a[7] + b[7] * scale;
out[8] = a[8] + b[8] * scale;
return out;
}
/**
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
*
* @param {mat3} a The first matrix.
* @param {mat3} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8];
}
/**
* Returns whether or not the matrices have approximately the same elements in the same position.
*
* @param {mat3} a The first matrix.
* @param {mat3} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5],
a6 = a[6],
a7 = a[7],
a8 = a[8];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3],
b4 = b[4],
b5 = b[5],
b6 = b[6],
b7 = b[7],
b8 = b[8];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8));
}
/**
* Alias for {@link mat3.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link mat3.subtract}
* @function
*/
var sub = exports.sub = subtract;
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.forEach = exports.sqrLen = exports.len = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = undefined;
exports.create = create;
exports.clone = clone;
exports.length = length;
exports.fromValues = fromValues;
exports.copy = copy;
exports.set = set;
exports.add = add;
exports.subtract = subtract;
exports.multiply = multiply;
exports.divide = divide;
exports.ceil = ceil;
exports.floor = floor;
exports.min = min;
exports.max = max;
exports.round = round;
exports.scale = scale;
exports.scaleAndAdd = scaleAndAdd;
exports.distance = distance;
exports.squaredDistance = squaredDistance;
exports.squaredLength = squaredLength;
exports.negate = negate;
exports.inverse = inverse;
exports.normalize = normalize;
exports.dot = dot;
exports.cross = cross;
exports.lerp = lerp;
exports.hermite = hermite;
exports.bezier = bezier;
exports.random = random;
exports.transformMat4 = transformMat4;
exports.transformMat3 = transformMat3;
exports.transformQuat = transformQuat;
exports.rotateX = rotateX;
exports.rotateY = rotateY;
exports.rotateZ = rotateZ;
exports.angle = angle;
exports.str = str;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 3 Dimensional Vector
* @module vec3
*/
/**
* Creates a new, empty vec3
*
* @returns {vec3} a new 3D vector
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(3);
out[0] = 0;
out[1] = 0;
out[2] = 0;
return out;
}
/**
* Creates a new vec3 initialized with values from an existing vector
*
* @param {vec3} a vector to clone
* @returns {vec3} a new 3D vector
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(3);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
return out;
}
/**
* Calculates the length of a vec3
*
* @param {vec3} a vector to calculate length of
* @returns {Number} length of a
*/
function length(a) {
var x = a[0];
var y = a[1];
var z = a[2];
return Math.sqrt(x * x + y * y + z * z);
}
/**
* Creates a new vec3 initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @returns {vec3} a new 3D vector
*/
function fromValues(x, y, z) {
var out = new glMatrix.ARRAY_TYPE(3);
out[0] = x;
out[1] = y;
out[2] = z;
return out;
}
/**
* Copy the values from one vec3 to another
*
* @param {vec3} out the receiving vector
* @param {vec3} a the source vector
* @returns {vec3} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
return out;
}
/**
* Set the components of a vec3 to the given values
*
* @param {vec3} out the receiving vector
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @returns {vec3} out
*/
function set(out, x, y, z) {
out[0] = x;
out[1] = y;
out[2] = z;
return out;
}
/**
* Adds two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
return out;
}
/**
* Subtracts vector b from vector a
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
return out;
}
/**
* Multiplies two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function multiply(out, a, b) {
out[0] = a[0] * b[0];
out[1] = a[1] * b[1];
out[2] = a[2] * b[2];
return out;
}
/**
* Divides two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function divide(out, a, b) {
out[0] = a[0] / b[0];
out[1] = a[1] / b[1];
out[2] = a[2] / b[2];
return out;
}
/**
* Math.ceil the components of a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to ceil
* @returns {vec3} out
*/
function ceil(out, a) {
out[0] = Math.ceil(a[0]);
out[1] = Math.ceil(a[1]);
out[2] = Math.ceil(a[2]);
return out;
}
/**
* Math.floor the components of a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to floor
* @returns {vec3} out
*/
function floor(out, a) {
out[0] = Math.floor(a[0]);
out[1] = Math.floor(a[1]);
out[2] = Math.floor(a[2]);
return out;
}
/**
* Returns the minimum of two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function min(out, a, b) {
out[0] = Math.min(a[0], b[0]);
out[1] = Math.min(a[1], b[1]);
out[2] = Math.min(a[2], b[2]);
return out;
}
/**
* Returns the maximum of two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function max(out, a, b) {
out[0] = Math.max(a[0], b[0]);
out[1] = Math.max(a[1], b[1]);
out[2] = Math.max(a[2], b[2]);
return out;
}
/**
* Math.round the components of a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to round
* @returns {vec3} out
*/
function round(out, a) {
out[0] = Math.round(a[0]);
out[1] = Math.round(a[1]);
out[2] = Math.round(a[2]);
return out;
}
/**
* Scales a vec3 by a scalar number
*
* @param {vec3} out the receiving vector
* @param {vec3} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {vec3} out
*/
function scale(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
return out;
}
/**
* Adds two vec3's after scaling the second operand by a scalar value
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @param {Number} scale the amount to scale b by before adding
* @returns {vec3} out
*/
function scaleAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
return out;
}
/**
* Calculates the euclidian distance between two vec3's
*
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {Number} distance between a and b
*/
function distance(a, b) {
var x = b[0] - a[0];
var y = b[1] - a[1];
var z = b[2] - a[2];
return Math.sqrt(x * x + y * y + z * z);
}
/**
* Calculates the squared euclidian distance between two vec3's
*
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {Number} squared distance between a and b
*/
function squaredDistance(a, b) {
var x = b[0] - a[0];
var y = b[1] - a[1];
var z = b[2] - a[2];
return x * x + y * y + z * z;
}
/**
* Calculates the squared length of a vec3
*
* @param {vec3} a vector to calculate squared length of
* @returns {Number} squared length of a
*/
function squaredLength(a) {
var x = a[0];
var y = a[1];
var z = a[2];
return x * x + y * y + z * z;
}
/**
* Negates the components of a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to negate
* @returns {vec3} out
*/
function negate(out, a) {
out[0] = -a[0];
out[1] = -a[1];
out[2] = -a[2];
return out;
}
/**
* Returns the inverse of the components of a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to invert
* @returns {vec3} out
*/
function inverse(out, a) {
out[0] = 1.0 / a[0];
out[1] = 1.0 / a[1];
out[2] = 1.0 / a[2];
return out;
}
/**
* Normalize a vec3
*
* @param {vec3} out the receiving vector
* @param {vec3} a vector to normalize
* @returns {vec3} out
*/
function normalize(out, a) {
var x = a[0];
var y = a[1];
var z = a[2];
var len = x * x + y * y + z * z;
if (len > 0) {
//TODO: evaluate use of glm_invsqrt here?
len = 1 / Math.sqrt(len);
out[0] = a[0] * len;
out[1] = a[1] * len;
out[2] = a[2] * len;
}
return out;
}
/**
* Calculates the dot product of two vec3's
*
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {Number} dot product of a and b
*/
function dot(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
}
/**
* Computes the cross product of two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @returns {vec3} out
*/
function cross(out, a, b) {
var ax = a[0],
ay = a[1],
az = a[2];
var bx = b[0],
by = b[1],
bz = b[2];
out[0] = ay * bz - az * by;
out[1] = az * bx - ax * bz;
out[2] = ax * by - ay * bx;
return out;
}
/**
* Performs a linear interpolation between two vec3's
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec3} out
*/
function lerp(out, a, b, t) {
var ax = a[0];
var ay = a[1];
var az = a[2];
out[0] = ax + t * (b[0] - ax);
out[1] = ay + t * (b[1] - ay);
out[2] = az + t * (b[2] - az);
return out;
}
/**
* Performs a hermite interpolation with two control points
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @param {vec3} c the third operand
* @param {vec3} d the fourth operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec3} out
*/
function hermite(out, a, b, c, d, t) {
var factorTimes2 = t * t;
var factor1 = factorTimes2 * (2 * t - 3) + 1;
var factor2 = factorTimes2 * (t - 2) + t;
var factor3 = factorTimes2 * (t - 1);
var factor4 = factorTimes2 * (3 - 2 * t);
out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;
out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;
out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;
return out;
}
/**
* Performs a bezier interpolation with two control points
*
* @param {vec3} out the receiving vector
* @param {vec3} a the first operand
* @param {vec3} b the second operand
* @param {vec3} c the third operand
* @param {vec3} d the fourth operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec3} out
*/
function bezier(out, a, b, c, d, t) {
var inverseFactor = 1 - t;
var inverseFactorTimesTwo = inverseFactor * inverseFactor;
var factorTimes2 = t * t;
var factor1 = inverseFactorTimesTwo * inverseFactor;
var factor2 = 3 * t * inverseFactorTimesTwo;
var factor3 = 3 * factorTimes2 * inverseFactor;
var factor4 = factorTimes2 * t;
out[0] = a[0] * factor1 + b[0] * factor2 + c[0] * factor3 + d[0] * factor4;
out[1] = a[1] * factor1 + b[1] * factor2 + c[1] * factor3 + d[1] * factor4;
out[2] = a[2] * factor1 + b[2] * factor2 + c[2] * factor3 + d[2] * factor4;
return out;
}
/**
* Generates a random vector with the given scale
*
* @param {vec3} out the receiving vector
* @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned
* @returns {vec3} out
*/
function random(out, scale) {
scale = scale || 1.0;
var r = glMatrix.RANDOM() * 2.0 * Math.PI;
var z = glMatrix.RANDOM() * 2.0 - 1.0;
var zScale = Math.sqrt(1.0 - z * z) * scale;
out[0] = Math.cos(r) * zScale;
out[1] = Math.sin(r) * zScale;
out[2] = z * scale;
return out;
}
/**
* Transforms the vec3 with a mat4.
* 4th vector component is implicitly '1'
*
* @param {vec3} out the receiving vector
* @param {vec3} a the vector to transform
* @param {mat4} m matrix to transform with
* @returns {vec3} out
*/
function transformMat4(out, a, m) {
var x = a[0],
y = a[1],
z = a[2];
var w = m[3] * x + m[7] * y + m[11] * z + m[15];
w = w || 1.0;
out[0] = (m[0] * x + m[4] * y + m[8] * z + m[12]) / w;
out[1] = (m[1] * x + m[5] * y + m[9] * z + m[13]) / w;
out[2] = (m[2] * x + m[6] * y + m[10] * z + m[14]) / w;
return out;
}
/**
* Transforms the vec3 with a mat3.
*
* @param {vec3} out the receiving vector
* @param {vec3} a the vector to transform
* @param {mat3} m the 3x3 matrix to transform with
* @returns {vec3} out
*/
function transformMat3(out, a, m) {
var x = a[0],
y = a[1],
z = a[2];
out[0] = x * m[0] + y * m[3] + z * m[6];
out[1] = x * m[1] + y * m[4] + z * m[7];
out[2] = x * m[2] + y * m[5] + z * m[8];
return out;
}
/**
* Transforms the vec3 with a quat
*
* @param {vec3} out the receiving vector
* @param {vec3} a the vector to transform
* @param {quat} q quaternion to transform with
* @returns {vec3} out
*/
function transformQuat(out, a, q) {
// benchmarks: http://jsperf.com/quaternion-transform-vec3-implementations
var x = a[0],
y = a[1],
z = a[2];
var qx = q[0],
qy = q[1],
qz = q[2],
qw = q[3];
// calculate quat * vec
var ix = qw * x + qy * z - qz * y;
var iy = qw * y + qz * x - qx * z;
var iz = qw * z + qx * y - qy * x;
var iw = -qx * x - qy * y - qz * z;
// calculate result * inverse quat
out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
return out;
}
/**
* Rotate a 3D vector around the x-axis
* @param {vec3} out The receiving vec3
* @param {vec3} a The vec3 point to rotate
* @param {vec3} b The origin of the rotation
* @param {Number} c The angle of rotation
* @returns {vec3} out
*/
function rotateX(out, a, b, c) {
var p = [],
r = [];
//Translate point to the origin
p[0] = a[0] - b[0];
p[1] = a[1] - b[1];
p[2] = a[2] - b[2];
//perform rotation
r[0] = p[0];
r[1] = p[1] * Math.cos(c) - p[2] * Math.sin(c);
r[2] = p[1] * Math.sin(c) + p[2] * Math.cos(c);
//translate to correct position
out[0] = r[0] + b[0];
out[1] = r[1] + b[1];
out[2] = r[2] + b[2];
return out;
}
/**
* Rotate a 3D vector around the y-axis
* @param {vec3} out The receiving vec3
* @param {vec3} a The vec3 point to rotate
* @param {vec3} b The origin of the rotation
* @param {Number} c The angle of rotation
* @returns {vec3} out
*/
function rotateY(out, a, b, c) {
var p = [],
r = [];
//Translate point to the origin
p[0] = a[0] - b[0];
p[1] = a[1] - b[1];
p[2] = a[2] - b[2];
//perform rotation
r[0] = p[2] * Math.sin(c) + p[0] * Math.cos(c);
r[1] = p[1];
r[2] = p[2] * Math.cos(c) - p[0] * Math.sin(c);
//translate to correct position
out[0] = r[0] + b[0];
out[1] = r[1] + b[1];
out[2] = r[2] + b[2];
return out;
}
/**
* Rotate a 3D vector around the z-axis
* @param {vec3} out The receiving vec3
* @param {vec3} a The vec3 point to rotate
* @param {vec3} b The origin of the rotation
* @param {Number} c The angle of rotation
* @returns {vec3} out
*/
function rotateZ(out, a, b, c) {
var p = [],
r = [];
//Translate point to the origin
p[0] = a[0] - b[0];
p[1] = a[1] - b[1];
p[2] = a[2] - b[2];
//perform rotation
r[0] = p[0] * Math.cos(c) - p[1] * Math.sin(c);
r[1] = p[0] * Math.sin(c) + p[1] * Math.cos(c);
r[2] = p[2];
//translate to correct position
out[0] = r[0] + b[0];
out[1] = r[1] + b[1];
out[2] = r[2] + b[2];
return out;
}
/**
* Get the angle between two 3D vectors
* @param {vec3} a The first operand
* @param {vec3} b The second operand
* @returns {Number} The angle in radians
*/
function angle(a, b) {
var tempA = fromValues(a[0], a[1], a[2]);
var tempB = fromValues(b[0], b[1], b[2]);
normalize(tempA, tempA);
normalize(tempB, tempB);
var cosine = dot(tempA, tempB);
if (cosine > 1.0) {
return 0;
} else if (cosine < -1.0) {
return Math.PI;
} else {
return Math.acos(cosine);
}
}
/**
* Returns a string representation of a vector
*
* @param {vec3} a vector to represent as a string
* @returns {String} string representation of the vector
*/
function str(a) {
return 'vec3(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')';
}
/**
* Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
*
* @param {vec3} a The first vector.
* @param {vec3} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2];
}
/**
* Returns whether or not the vectors have approximately the same elements in the same position.
*
* @param {vec3} a The first vector.
* @param {vec3} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2];
var b0 = b[0],
b1 = b[1],
b2 = b[2];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2));
}
/**
* Alias for {@link vec3.subtract}
* @function
*/
var sub = exports.sub = subtract;
/**
* Alias for {@link vec3.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link vec3.divide}
* @function
*/
var div = exports.div = divide;
/**
* Alias for {@link vec3.distance}
* @function
*/
var dist = exports.dist = distance;
/**
* Alias for {@link vec3.squaredDistance}
* @function
*/
var sqrDist = exports.sqrDist = squaredDistance;
/**
* Alias for {@link vec3.length}
* @function
*/
var len = exports.len = length;
/**
* Alias for {@link vec3.squaredLength}
* @function
*/
var sqrLen = exports.sqrLen = squaredLength;
/**
* Perform some operation over an array of vec3s.
*
* @param {Array} a the array of vectors to iterate over
* @param {Number} stride Number of elements between the start of each vec3. If 0 assumes tightly packed
* @param {Number} offset Number of elements to skip at the beginning of the array
* @param {Number} count Number of vec3s to iterate over. If 0 iterates over entire array
* @param {Function} fn Function to call for each vector in the array
* @param {Object} [arg] additional argument to pass to fn
* @returns {Array} a
* @function
*/
var forEach = exports.forEach = function () {
var vec = create();
return function (a, stride, offset, count, fn, arg) {
var i = void 0,
l = void 0;
if (!stride) {
stride = 3;
}
if (!offset) {
offset = 0;
}
if (count) {
l = Math.min(count * stride + offset, a.length);
} else {
l = a.length;
}
for (i = offset; i < l; i += stride) {
vec[0] = a[i];vec[1] = a[i + 1];vec[2] = a[i + 2];
fn(vec, vec, arg);
a[i] = vec[0];a[i + 1] = vec[1];a[i + 2] = vec[2];
}
return a;
};
}();
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.forEach = exports.sqrLen = exports.len = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = undefined;
exports.create = create;
exports.clone = clone;
exports.fromValues = fromValues;
exports.copy = copy;
exports.set = set;
exports.add = add;
exports.subtract = subtract;
exports.multiply = multiply;
exports.divide = divide;
exports.ceil = ceil;
exports.floor = floor;
exports.min = min;
exports.max = max;
exports.round = round;
exports.scale = scale;
exports.scaleAndAdd = scaleAndAdd;
exports.distance = distance;
exports.squaredDistance = squaredDistance;
exports.length = length;
exports.squaredLength = squaredLength;
exports.negate = negate;
exports.inverse = inverse;
exports.normalize = normalize;
exports.dot = dot;
exports.lerp = lerp;
exports.random = random;
exports.transformMat4 = transformMat4;
exports.transformQuat = transformQuat;
exports.str = str;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 4 Dimensional Vector
* @module vec4
*/
/**
* Creates a new, empty vec4
*
* @returns {vec4} a new 4D vector
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = 0;
out[1] = 0;
out[2] = 0;
out[3] = 0;
return out;
}
/**
* Creates a new vec4 initialized with values from an existing vector
*
* @param {vec4} a vector to clone
* @returns {vec4} a new 4D vector
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
return out;
}
/**
* Creates a new vec4 initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {vec4} a new 4D vector
*/
function fromValues(x, y, z, w) {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = x;
out[1] = y;
out[2] = z;
out[3] = w;
return out;
}
/**
* Copy the values from one vec4 to another
*
* @param {vec4} out the receiving vector
* @param {vec4} a the source vector
* @returns {vec4} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
return out;
}
/**
* Set the components of a vec4 to the given values
*
* @param {vec4} out the receiving vector
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {vec4} out
*/
function set(out, x, y, z, w) {
out[0] = x;
out[1] = y;
out[2] = z;
out[3] = w;
return out;
}
/**
* Adds two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
out[3] = a[3] + b[3];
return out;
}
/**
* Subtracts vector b from vector a
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
out[3] = a[3] - b[3];
return out;
}
/**
* Multiplies two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function multiply(out, a, b) {
out[0] = a[0] * b[0];
out[1] = a[1] * b[1];
out[2] = a[2] * b[2];
out[3] = a[3] * b[3];
return out;
}
/**
* Divides two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function divide(out, a, b) {
out[0] = a[0] / b[0];
out[1] = a[1] / b[1];
out[2] = a[2] / b[2];
out[3] = a[3] / b[3];
return out;
}
/**
* Math.ceil the components of a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to ceil
* @returns {vec4} out
*/
function ceil(out, a) {
out[0] = Math.ceil(a[0]);
out[1] = Math.ceil(a[1]);
out[2] = Math.ceil(a[2]);
out[3] = Math.ceil(a[3]);
return out;
}
/**
* Math.floor the components of a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to floor
* @returns {vec4} out
*/
function floor(out, a) {
out[0] = Math.floor(a[0]);
out[1] = Math.floor(a[1]);
out[2] = Math.floor(a[2]);
out[3] = Math.floor(a[3]);
return out;
}
/**
* Returns the minimum of two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function min(out, a, b) {
out[0] = Math.min(a[0], b[0]);
out[1] = Math.min(a[1], b[1]);
out[2] = Math.min(a[2], b[2]);
out[3] = Math.min(a[3], b[3]);
return out;
}
/**
* Returns the maximum of two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {vec4} out
*/
function max(out, a, b) {
out[0] = Math.max(a[0], b[0]);
out[1] = Math.max(a[1], b[1]);
out[2] = Math.max(a[2], b[2]);
out[3] = Math.max(a[3], b[3]);
return out;
}
/**
* Math.round the components of a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to round
* @returns {vec4} out
*/
function round(out, a) {
out[0] = Math.round(a[0]);
out[1] = Math.round(a[1]);
out[2] = Math.round(a[2]);
out[3] = Math.round(a[3]);
return out;
}
/**
* Scales a vec4 by a scalar number
*
* @param {vec4} out the receiving vector
* @param {vec4} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {vec4} out
*/
function scale(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
out[3] = a[3] * b;
return out;
}
/**
* Adds two vec4's after scaling the second operand by a scalar value
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @param {Number} scale the amount to scale b by before adding
* @returns {vec4} out
*/
function scaleAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
out[3] = a[3] + b[3] * scale;
return out;
}
/**
* Calculates the euclidian distance between two vec4's
*
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {Number} distance between a and b
*/
function distance(a, b) {
var x = b[0] - a[0];
var y = b[1] - a[1];
var z = b[2] - a[2];
var w = b[3] - a[3];
return Math.sqrt(x * x + y * y + z * z + w * w);
}
/**
* Calculates the squared euclidian distance between two vec4's
*
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {Number} squared distance between a and b
*/
function squaredDistance(a, b) {
var x = b[0] - a[0];
var y = b[1] - a[1];
var z = b[2] - a[2];
var w = b[3] - a[3];
return x * x + y * y + z * z + w * w;
}
/**
* Calculates the length of a vec4
*
* @param {vec4} a vector to calculate length of
* @returns {Number} length of a
*/
function length(a) {
var x = a[0];
var y = a[1];
var z = a[2];
var w = a[3];
return Math.sqrt(x * x + y * y + z * z + w * w);
}
/**
* Calculates the squared length of a vec4
*
* @param {vec4} a vector to calculate squared length of
* @returns {Number} squared length of a
*/
function squaredLength(a) {
var x = a[0];
var y = a[1];
var z = a[2];
var w = a[3];
return x * x + y * y + z * z + w * w;
}
/**
* Negates the components of a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to negate
* @returns {vec4} out
*/
function negate(out, a) {
out[0] = -a[0];
out[1] = -a[1];
out[2] = -a[2];
out[3] = -a[3];
return out;
}
/**
* Returns the inverse of the components of a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to invert
* @returns {vec4} out
*/
function inverse(out, a) {
out[0] = 1.0 / a[0];
out[1] = 1.0 / a[1];
out[2] = 1.0 / a[2];
out[3] = 1.0 / a[3];
return out;
}
/**
* Normalize a vec4
*
* @param {vec4} out the receiving vector
* @param {vec4} a vector to normalize
* @returns {vec4} out
*/
function normalize(out, a) {
var x = a[0];
var y = a[1];
var z = a[2];
var w = a[3];
var len = x * x + y * y + z * z + w * w;
if (len > 0) {
len = 1 / Math.sqrt(len);
out[0] = x * len;
out[1] = y * len;
out[2] = z * len;
out[3] = w * len;
}
return out;
}
/**
* Calculates the dot product of two vec4's
*
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @returns {Number} dot product of a and b
*/
function dot(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
}
/**
* Performs a linear interpolation between two vec4's
*
* @param {vec4} out the receiving vector
* @param {vec4} a the first operand
* @param {vec4} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec4} out
*/
function lerp(out, a, b, t) {
var ax = a[0];
var ay = a[1];
var az = a[2];
var aw = a[3];
out[0] = ax + t * (b[0] - ax);
out[1] = ay + t * (b[1] - ay);
out[2] = az + t * (b[2] - az);
out[3] = aw + t * (b[3] - aw);
return out;
}
/**
* Generates a random vector with the given scale
*
* @param {vec4} out the receiving vector
* @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned
* @returns {vec4} out
*/
function random(out, vectorScale) {
vectorScale = vectorScale || 1.0;
//TODO: This is a pretty awful way of doing this. Find something better.
out[0] = glMatrix.RANDOM();
out[1] = glMatrix.RANDOM();
out[2] = glMatrix.RANDOM();
out[3] = glMatrix.RANDOM();
normalize(out, out);
scale(out, out, vectorScale);
return out;
}
/**
* Transforms the vec4 with a mat4.
*
* @param {vec4} out the receiving vector
* @param {vec4} a the vector to transform
* @param {mat4} m matrix to transform with
* @returns {vec4} out
*/
function transformMat4(out, a, m) {
var x = a[0],
y = a[1],
z = a[2],
w = a[3];
out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;
out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;
out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;
out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;
return out;
}
/**
* Transforms the vec4 with a quat
*
* @param {vec4} out the receiving vector
* @param {vec4} a the vector to transform
* @param {quat} q quaternion to transform with
* @returns {vec4} out
*/
function transformQuat(out, a, q) {
var x = a[0],
y = a[1],
z = a[2];
var qx = q[0],
qy = q[1],
qz = q[2],
qw = q[3];
// calculate quat * vec
var ix = qw * x + qy * z - qz * y;
var iy = qw * y + qz * x - qx * z;
var iz = qw * z + qx * y - qy * x;
var iw = -qx * x - qy * y - qz * z;
// calculate result * inverse quat
out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
out[3] = a[3];
return out;
}
/**
* Returns a string representation of a vector
*
* @param {vec4} a vector to represent as a string
* @returns {String} string representation of the vector
*/
function str(a) {
return 'vec4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')';
}
/**
* Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
*
* @param {vec4} a The first vector.
* @param {vec4} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
}
/**
* Returns whether or not the vectors have approximately the same elements in the same position.
*
* @param {vec4} a The first vector.
* @param {vec4} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3));
}
/**
* Alias for {@link vec4.subtract}
* @function
*/
var sub = exports.sub = subtract;
/**
* Alias for {@link vec4.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link vec4.divide}
* @function
*/
var div = exports.div = divide;
/**
* Alias for {@link vec4.distance}
* @function
*/
var dist = exports.dist = distance;
/**
* Alias for {@link vec4.squaredDistance}
* @function
*/
var sqrDist = exports.sqrDist = squaredDistance;
/**
* Alias for {@link vec4.length}
* @function
*/
var len = exports.len = length;
/**
* Alias for {@link vec4.squaredLength}
* @function
*/
var sqrLen = exports.sqrLen = squaredLength;
/**
* Perform some operation over an array of vec4s.
*
* @param {Array} a the array of vectors to iterate over
* @param {Number} stride Number of elements between the start of each vec4. If 0 assumes tightly packed
* @param {Number} offset Number of elements to skip at the beginning of the array
* @param {Number} count Number of vec4s to iterate over. If 0 iterates over entire array
* @param {Function} fn Function to call for each vector in the array
* @param {Object} [arg] additional argument to pass to fn
* @returns {Array} a
* @function
*/
var forEach = exports.forEach = function () {
var vec = create();
return function (a, stride, offset, count, fn, arg) {
var i = void 0,
l = void 0;
if (!stride) {
stride = 4;
}
if (!offset) {
offset = 0;
}
if (count) {
l = Math.min(count * stride + offset, a.length);
} else {
l = a.length;
}
for (i = offset; i < l; i += stride) {
vec[0] = a[i];vec[1] = a[i + 1];vec[2] = a[i + 2];vec[3] = a[i + 3];
fn(vec, vec, arg);
a[i] = vec[0];a[i + 1] = vec[1];a[i + 2] = vec[2];a[i + 3] = vec[3];
}
return a;
};
}();
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.vec4 = exports.vec3 = exports.vec2 = exports.quat = exports.mat4 = exports.mat3 = exports.mat2d = exports.mat2 = exports.glMatrix = undefined;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
var _mat = __webpack_require__(5);
var mat2 = _interopRequireWildcard(_mat);
var _mat2d = __webpack_require__(6);
var mat2d = _interopRequireWildcard(_mat2d);
var _mat2 = __webpack_require__(1);
var mat3 = _interopRequireWildcard(_mat2);
var _mat3 = __webpack_require__(7);
var mat4 = _interopRequireWildcard(_mat3);
var _quat = __webpack_require__(8);
var quat = _interopRequireWildcard(_quat);
var _vec = __webpack_require__(9);
var vec2 = _interopRequireWildcard(_vec);
var _vec2 = __webpack_require__(2);
var vec3 = _interopRequireWildcard(_vec2);
var _vec3 = __webpack_require__(3);
var vec4 = _interopRequireWildcard(_vec3);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
exports.glMatrix = glMatrix;
exports.mat2 = mat2;
exports.mat2d = mat2d;
exports.mat3 = mat3;
exports.mat4 = mat4;
exports.quat = quat;
exports.vec2 = vec2;
exports.vec3 = vec3;
exports.vec4 = vec4; /**
* @fileoverview gl-matrix - High performance matrix and vector operations
* @author Brandon Jones
* @author Colin MacKenzie IV
* @version 2.4.0
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
// END HEADER
/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sub = exports.mul = undefined;
exports.create = create;
exports.clone = clone;
exports.copy = copy;
exports.identity = identity;
exports.fromValues = fromValues;
exports.set = set;
exports.transpose = transpose;
exports.invert = invert;
exports.adjoint = adjoint;
exports.determinant = determinant;
exports.multiply = multiply;
exports.rotate = rotate;
exports.scale = scale;
exports.fromRotation = fromRotation;
exports.fromScaling = fromScaling;
exports.str = str;
exports.frob = frob;
exports.LDU = LDU;
exports.add = add;
exports.subtract = subtract;
exports.exactEquals = exactEquals;
exports.equals = equals;
exports.multiplyScalar = multiplyScalar;
exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 2x2 Matrix
* @module mat2
*/
/**
* Creates a new identity mat2
*
* @returns {mat2} a new 2x2 matrix
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
return out;
}
/**
* Creates a new mat2 initialized with values from an existing matrix
*
* @param {mat2} a matrix to clone
* @returns {mat2} a new 2x2 matrix
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
return out;
}
/**
* Copy the values from one mat2 to another
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the source matrix
* @returns {mat2} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
return out;
}
/**
* Set a mat2 to the identity matrix
*
* @param {mat2} out the receiving matrix
* @returns {mat2} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
return out;
}
/**
* Create a new mat2 with the given values
*
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m10 Component in column 1, row 0 position (index 2)
* @param {Number} m11 Component in column 1, row 1 position (index 3)
* @returns {mat2} out A new 2x2 matrix
*/
function fromValues(m00, m01, m10, m11) {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = m00;
out[1] = m01;
out[2] = m10;
out[3] = m11;
return out;
}
/**
* Set the components of a mat2 to the given values
*
* @param {mat2} out the receiving matrix
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m10 Component in column 1, row 0 position (index 2)
* @param {Number} m11 Component in column 1, row 1 position (index 3)
* @returns {mat2} out
*/
function set(out, m00, m01, m10, m11) {
out[0] = m00;
out[1] = m01;
out[2] = m10;
out[3] = m11;
return out;
}
/**
* Transpose the values of a mat2
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the source matrix
* @returns {mat2} out
*/
function transpose(out, a) {
// If we are transposing ourselves we can skip a few steps but have to cache
// some values
if (out === a) {
var a1 = a[1];
out[1] = a[2];
out[2] = a1;
} else {
out[0] = a[0];
out[1] = a[2];
out[2] = a[1];
out[3] = a[3];
}
return out;
}
/**
* Inverts a mat2
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the source matrix
* @returns {mat2} out
*/
function invert(out, a) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
// Calculate the determinant
var det = a0 * a3 - a2 * a1;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = a3 * det;
out[1] = -a1 * det;
out[2] = -a2 * det;
out[3] = a0 * det;
return out;
}
/**
* Calculates the adjugate of a mat2
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the source matrix
* @returns {mat2} out
*/
function adjoint(out, a) {
// Caching this value is nessecary if out == a
var a0 = a[0];
out[0] = a[3];
out[1] = -a[1];
out[2] = -a[2];
out[3] = a0;
return out;
}
/**
* Calculates the determinant of a mat2
*
* @param {mat2} a the source matrix
* @returns {Number} determinant of a
*/
function determinant(a) {
return a[0] * a[3] - a[2] * a[1];
}
/**
* Multiplies two mat2's
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the first operand
* @param {mat2} b the second operand
* @returns {mat2} out
*/
function multiply(out, a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3];
out[0] = a0 * b0 + a2 * b1;
out[1] = a1 * b0 + a3 * b1;
out[2] = a0 * b2 + a2 * b3;
out[3] = a1 * b2 + a3 * b3;
return out;
}
/**
* Rotates a mat2 by the given angle
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat2} out
*/
function rotate(out, a, rad) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var s = Math.sin(rad);
var c = Math.cos(rad);
out[0] = a0 * c + a2 * s;
out[1] = a1 * c + a3 * s;
out[2] = a0 * -s + a2 * c;
out[3] = a1 * -s + a3 * c;
return out;
}
/**
* Scales the mat2 by the dimensions in the given vec2
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the matrix to rotate
* @param {vec2} v the vec2 to scale the matrix by
* @returns {mat2} out
**/
function scale(out, a, v) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var v0 = v[0],
v1 = v[1];
out[0] = a0 * v0;
out[1] = a1 * v0;
out[2] = a2 * v1;
out[3] = a3 * v1;
return out;
}
/**
* Creates a matrix from a given angle
* This is equivalent to (but much faster than):
*
* mat2.identity(dest);
* mat2.rotate(dest, dest, rad);
*
* @param {mat2} out mat2 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat2} out
*/
function fromRotation(out, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
out[0] = c;
out[1] = s;
out[2] = -s;
out[3] = c;
return out;
}
/**
* Creates a matrix from a vector scaling
* This is equivalent to (but much faster than):
*
* mat2.identity(dest);
* mat2.scale(dest, dest, vec);
*
* @param {mat2} out mat2 receiving operation result
* @param {vec2} v Scaling vector
* @returns {mat2} out
*/
function fromScaling(out, v) {
out[0] = v[0];
out[1] = 0;
out[2] = 0;
out[3] = v[1];
return out;
}
/**
* Returns a string representation of a mat2
*
* @param {mat2} a matrix to represent as a string
* @returns {String} string representation of the matrix
*/
function str(a) {
return 'mat2(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')';
}
/**
* Returns Frobenius norm of a mat2
*
* @param {mat2} a the matrix to calculate Frobenius norm of
* @returns {Number} Frobenius norm
*/
function frob(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2));
}
/**
* Returns L, D and U matrices (Lower triangular, Diagonal and Upper triangular) by factorizing the input matrix
* @param {mat2} L the lower triangular matrix
* @param {mat2} D the diagonal matrix
* @param {mat2} U the upper triangular matrix
* @param {mat2} a the input matrix to factorize
*/
function LDU(L, D, U, a) {
L[2] = a[2] / a[0];
U[0] = a[0];
U[1] = a[1];
U[3] = a[3] - L[2] * U[1];
return [L, D, U];
}
/**
* Adds two mat2's
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the first operand
* @param {mat2} b the second operand
* @returns {mat2} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
out[3] = a[3] + b[3];
return out;
}
/**
* Subtracts matrix b from matrix a
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the first operand
* @param {mat2} b the second operand
* @returns {mat2} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
out[3] = a[3] - b[3];
return out;
}
/**
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
*
* @param {mat2} a The first matrix.
* @param {mat2} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
}
/**
* Returns whether or not the matrices have approximately the same elements in the same position.
*
* @param {mat2} a The first matrix.
* @param {mat2} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3));
}
/**
* Multiply each element of the matrix by a scalar.
*
* @param {mat2} out the receiving matrix
* @param {mat2} a the matrix to scale
* @param {Number} b amount to scale the matrix's elements by
* @returns {mat2} out
*/
function multiplyScalar(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
out[3] = a[3] * b;
return out;
}
/**
* Adds two mat2's after multiplying each element of the second operand by a scalar value.
*
* @param {mat2} out the receiving vector
* @param {mat2} a the first operand
* @param {mat2} b the second operand
* @param {Number} scale the amount to scale b's elements by before adding
* @returns {mat2} out
*/
function multiplyScalarAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
out[3] = a[3] + b[3] * scale;
return out;
}
/**
* Alias for {@link mat2.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link mat2.subtract}
* @function
*/
var sub = exports.sub = subtract;
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sub = exports.mul = undefined;
exports.create = create;
exports.clone = clone;
exports.copy = copy;
exports.identity = identity;
exports.fromValues = fromValues;
exports.set = set;
exports.invert = invert;
exports.determinant = determinant;
exports.multiply = multiply;
exports.rotate = rotate;
exports.scale = scale;
exports.translate = translate;
exports.fromRotation = fromRotation;
exports.fromScaling = fromScaling;
exports.fromTranslation = fromTranslation;
exports.str = str;
exports.frob = frob;
exports.add = add;
exports.subtract = subtract;
exports.multiplyScalar = multiplyScalar;
exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 2x3 Matrix
* @module mat2d
*
* @description
* A mat2d contains six elements defined as:
* <pre>
* [a, c, tx,
* b, d, ty]
* </pre>
* This is a short form for the 3x3 matrix:
* <pre>
* [a, c, tx,
* b, d, ty,
* 0, 0, 1]
* </pre>
* The last row is ignored so the array is shorter and operations are faster.
*/
/**
* Creates a new identity mat2d
*
* @returns {mat2d} a new 2x3 matrix
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(6);
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
out[4] = 0;
out[5] = 0;
return out;
}
/**
* Creates a new mat2d initialized with values from an existing matrix
*
* @param {mat2d} a matrix to clone
* @returns {mat2d} a new 2x3 matrix
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(6);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
return out;
}
/**
* Copy the values from one mat2d to another
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the source matrix
* @returns {mat2d} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
return out;
}
/**
* Set a mat2d to the identity matrix
*
* @param {mat2d} out the receiving matrix
* @returns {mat2d} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
out[4] = 0;
out[5] = 0;
return out;
}
/**
* Create a new mat2d with the given values
*
* @param {Number} a Component A (index 0)
* @param {Number} b Component B (index 1)
* @param {Number} c Component C (index 2)
* @param {Number} d Component D (index 3)
* @param {Number} tx Component TX (index 4)
* @param {Number} ty Component TY (index 5)
* @returns {mat2d} A new mat2d
*/
function fromValues(a, b, c, d, tx, ty) {
var out = new glMatrix.ARRAY_TYPE(6);
out[0] = a;
out[1] = b;
out[2] = c;
out[3] = d;
out[4] = tx;
out[5] = ty;
return out;
}
/**
* Set the components of a mat2d to the given values
*
* @param {mat2d} out the receiving matrix
* @param {Number} a Component A (index 0)
* @param {Number} b Component B (index 1)
* @param {Number} c Component C (index 2)
* @param {Number} d Component D (index 3)
* @param {Number} tx Component TX (index 4)
* @param {Number} ty Component TY (index 5)
* @returns {mat2d} out
*/
function set(out, a, b, c, d, tx, ty) {
out[0] = a;
out[1] = b;
out[2] = c;
out[3] = d;
out[4] = tx;
out[5] = ty;
return out;
}
/**
* Inverts a mat2d
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the source matrix
* @returns {mat2d} out
*/
function invert(out, a) {
var aa = a[0],
ab = a[1],
ac = a[2],
ad = a[3];
var atx = a[4],
aty = a[5];
var det = aa * ad - ab * ac;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = ad * det;
out[1] = -ab * det;
out[2] = -ac * det;
out[3] = aa * det;
out[4] = (ac * aty - ad * atx) * det;
out[5] = (ab * atx - aa * aty) * det;
return out;
}
/**
* Calculates the determinant of a mat2d
*
* @param {mat2d} a the source matrix
* @returns {Number} determinant of a
*/
function determinant(a) {
return a[0] * a[3] - a[1] * a[2];
}
/**
* Multiplies two mat2d's
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the first operand
* @param {mat2d} b the second operand
* @returns {mat2d} out
*/
function multiply(out, a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3],
b4 = b[4],
b5 = b[5];
out[0] = a0 * b0 + a2 * b1;
out[1] = a1 * b0 + a3 * b1;
out[2] = a0 * b2 + a2 * b3;
out[3] = a1 * b2 + a3 * b3;
out[4] = a0 * b4 + a2 * b5 + a4;
out[5] = a1 * b4 + a3 * b5 + a5;
return out;
}
/**
* Rotates a mat2d by the given angle
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat2d} out
*/
function rotate(out, a, rad) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5];
var s = Math.sin(rad);
var c = Math.cos(rad);
out[0] = a0 * c + a2 * s;
out[1] = a1 * c + a3 * s;
out[2] = a0 * -s + a2 * c;
out[3] = a1 * -s + a3 * c;
out[4] = a4;
out[5] = a5;
return out;
}
/**
* Scales the mat2d by the dimensions in the given vec2
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the matrix to translate
* @param {vec2} v the vec2 to scale the matrix by
* @returns {mat2d} out
**/
function scale(out, a, v) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5];
var v0 = v[0],
v1 = v[1];
out[0] = a0 * v0;
out[1] = a1 * v0;
out[2] = a2 * v1;
out[3] = a3 * v1;
out[4] = a4;
out[5] = a5;
return out;
}
/**
* Translates the mat2d by the dimensions in the given vec2
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the matrix to translate
* @param {vec2} v the vec2 to translate the matrix by
* @returns {mat2d} out
**/
function translate(out, a, v) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5];
var v0 = v[0],
v1 = v[1];
out[0] = a0;
out[1] = a1;
out[2] = a2;
out[3] = a3;
out[4] = a0 * v0 + a2 * v1 + a4;
out[5] = a1 * v0 + a3 * v1 + a5;
return out;
}
/**
* Creates a matrix from a given angle
* This is equivalent to (but much faster than):
*
* mat2d.identity(dest);
* mat2d.rotate(dest, dest, rad);
*
* @param {mat2d} out mat2d receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat2d} out
*/
function fromRotation(out, rad) {
var s = Math.sin(rad),
c = Math.cos(rad);
out[0] = c;
out[1] = s;
out[2] = -s;
out[3] = c;
out[4] = 0;
out[5] = 0;
return out;
}
/**
* Creates a matrix from a vector scaling
* This is equivalent to (but much faster than):
*
* mat2d.identity(dest);
* mat2d.scale(dest, dest, vec);
*
* @param {mat2d} out mat2d receiving operation result
* @param {vec2} v Scaling vector
* @returns {mat2d} out
*/
function fromScaling(out, v) {
out[0] = v[0];
out[1] = 0;
out[2] = 0;
out[3] = v[1];
out[4] = 0;
out[5] = 0;
return out;
}
/**
* Creates a matrix from a vector translation
* This is equivalent to (but much faster than):
*
* mat2d.identity(dest);
* mat2d.translate(dest, dest, vec);
*
* @param {mat2d} out mat2d receiving operation result
* @param {vec2} v Translation vector
* @returns {mat2d} out
*/
function fromTranslation(out, v) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 1;
out[4] = v[0];
out[5] = v[1];
return out;
}
/**
* Returns a string representation of a mat2d
*
* @param {mat2d} a matrix to represent as a string
* @returns {String} string representation of the matrix
*/
function str(a) {
return 'mat2d(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ')';
}
/**
* Returns Frobenius norm of a mat2d
*
* @param {mat2d} a the matrix to calculate Frobenius norm of
* @returns {Number} Frobenius norm
*/
function frob(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + 1);
}
/**
* Adds two mat2d's
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the first operand
* @param {mat2d} b the second operand
* @returns {mat2d} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
out[3] = a[3] + b[3];
out[4] = a[4] + b[4];
out[5] = a[5] + b[5];
return out;
}
/**
* Subtracts matrix b from matrix a
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the first operand
* @param {mat2d} b the second operand
* @returns {mat2d} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
out[3] = a[3] - b[3];
out[4] = a[4] - b[4];
out[5] = a[5] - b[5];
return out;
}
/**
* Multiply each element of the matrix by a scalar.
*
* @param {mat2d} out the receiving matrix
* @param {mat2d} a the matrix to scale
* @param {Number} b amount to scale the matrix's elements by
* @returns {mat2d} out
*/
function multiplyScalar(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
out[3] = a[3] * b;
out[4] = a[4] * b;
out[5] = a[5] * b;
return out;
}
/**
* Adds two mat2d's after multiplying each element of the second operand by a scalar value.
*
* @param {mat2d} out the receiving vector
* @param {mat2d} a the first operand
* @param {mat2d} b the second operand
* @param {Number} scale the amount to scale b's elements by before adding
* @returns {mat2d} out
*/
function multiplyScalarAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
out[3] = a[3] + b[3] * scale;
out[4] = a[4] + b[4] * scale;
out[5] = a[5] + b[5] * scale;
return out;
}
/**
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
*
* @param {mat2d} a The first matrix.
* @param {mat2d} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5];
}
/**
* Returns whether or not the matrices have approximately the same elements in the same position.
*
* @param {mat2d} a The first matrix.
* @param {mat2d} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3],
a4 = a[4],
a5 = a[5];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3],
b4 = b[4],
b5 = b[5];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5));
}
/**
* Alias for {@link mat2d.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link mat2d.subtract}
* @function
*/
var sub = exports.sub = subtract;
/***/ }),
/* 7 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.sub = exports.mul = undefined;
exports.create = create;
exports.clone = clone;
exports.copy = copy;
exports.fromValues = fromValues;
exports.set = set;
exports.identity = identity;
exports.transpose = transpose;
exports.invert = invert;
exports.adjoint = adjoint;
exports.determinant = determinant;
exports.multiply = multiply;
exports.translate = translate;
exports.scale = scale;
exports.rotate = rotate;
exports.rotateX = rotateX;
exports.rotateY = rotateY;
exports.rotateZ = rotateZ;
exports.fromTranslation = fromTranslation;
exports.fromScaling = fromScaling;
exports.fromRotation = fromRotation;
exports.fromXRotation = fromXRotation;
exports.fromYRotation = fromYRotation;
exports.fromZRotation = fromZRotation;
exports.fromRotationTranslation = fromRotationTranslation;
exports.getTranslation = getTranslation;
exports.getScaling = getScaling;
exports.getRotation = getRotation;
exports.fromRotationTranslationScale = fromRotationTranslationScale;
exports.fromRotationTranslationScaleOrigin = fromRotationTranslationScaleOrigin;
exports.fromQuat = fromQuat;
exports.frustum = frustum;
exports.perspective = perspective;
exports.perspectiveFromFieldOfView = perspectiveFromFieldOfView;
exports.ortho = ortho;
exports.lookAt = lookAt;
exports.targetTo = targetTo;
exports.str = str;
exports.frob = frob;
exports.add = add;
exports.subtract = subtract;
exports.multiplyScalar = multiplyScalar;
exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 4x4 Matrix
* @module mat4
*/
/**
* Creates a new identity mat4
*
* @returns {mat4} a new 4x4 matrix
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(16);
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a new mat4 initialized with values from an existing matrix
*
* @param {mat4} a matrix to clone
* @returns {mat4} a new 4x4 matrix
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(16);
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
}
/**
* Copy the values from one mat4 to another
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
}
/**
* Create a new mat4 with the given values
*
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m02 Component in column 0, row 2 position (index 2)
* @param {Number} m03 Component in column 0, row 3 position (index 3)
* @param {Number} m10 Component in column 1, row 0 position (index 4)
* @param {Number} m11 Component in column 1, row 1 position (index 5)
* @param {Number} m12 Component in column 1, row 2 position (index 6)
* @param {Number} m13 Component in column 1, row 3 position (index 7)
* @param {Number} m20 Component in column 2, row 0 position (index 8)
* @param {Number} m21 Component in column 2, row 1 position (index 9)
* @param {Number} m22 Component in column 2, row 2 position (index 10)
* @param {Number} m23 Component in column 2, row 3 position (index 11)
* @param {Number} m30 Component in column 3, row 0 position (index 12)
* @param {Number} m31 Component in column 3, row 1 position (index 13)
* @param {Number} m32 Component in column 3, row 2 position (index 14)
* @param {Number} m33 Component in column 3, row 3 position (index 15)
* @returns {mat4} A new mat4
*/
function fromValues(m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {
var out = new glMatrix.ARRAY_TYPE(16);
out[0] = m00;
out[1] = m01;
out[2] = m02;
out[3] = m03;
out[4] = m10;
out[5] = m11;
out[6] = m12;
out[7] = m13;
out[8] = m20;
out[9] = m21;
out[10] = m22;
out[11] = m23;
out[12] = m30;
out[13] = m31;
out[14] = m32;
out[15] = m33;
return out;
}
/**
* Set the components of a mat4 to the given values
*
* @param {mat4} out the receiving matrix
* @param {Number} m00 Component in column 0, row 0 position (index 0)
* @param {Number} m01 Component in column 0, row 1 position (index 1)
* @param {Number} m02 Component in column 0, row 2 position (index 2)
* @param {Number} m03 Component in column 0, row 3 position (index 3)
* @param {Number} m10 Component in column 1, row 0 position (index 4)
* @param {Number} m11 Component in column 1, row 1 position (index 5)
* @param {Number} m12 Component in column 1, row 2 position (index 6)
* @param {Number} m13 Component in column 1, row 3 position (index 7)
* @param {Number} m20 Component in column 2, row 0 position (index 8)
* @param {Number} m21 Component in column 2, row 1 position (index 9)
* @param {Number} m22 Component in column 2, row 2 position (index 10)
* @param {Number} m23 Component in column 2, row 3 position (index 11)
* @param {Number} m30 Component in column 3, row 0 position (index 12)
* @param {Number} m31 Component in column 3, row 1 position (index 13)
* @param {Number} m32 Component in column 3, row 2 position (index 14)
* @param {Number} m33 Component in column 3, row 3 position (index 15)
* @returns {mat4} out
*/
function set(out, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33) {
out[0] = m00;
out[1] = m01;
out[2] = m02;
out[3] = m03;
out[4] = m10;
out[5] = m11;
out[6] = m12;
out[7] = m13;
out[8] = m20;
out[9] = m21;
out[10] = m22;
out[11] = m23;
out[12] = m30;
out[13] = m31;
out[14] = m32;
out[15] = m33;
return out;
}
/**
* Set a mat4 to the identity matrix
*
* @param {mat4} out the receiving matrix
* @returns {mat4} out
*/
function identity(out) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Transpose the values of a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function transpose(out, a) {
// If we are transposing ourselves we can skip a few steps but have to cache some values
if (out === a) {
var a01 = a[1],
a02 = a[2],
a03 = a[3];
var a12 = a[6],
a13 = a[7];
var a23 = a[11];
out[1] = a[4];
out[2] = a[8];
out[3] = a[12];
out[4] = a01;
out[6] = a[9];
out[7] = a[13];
out[8] = a02;
out[9] = a12;
out[11] = a[14];
out[12] = a03;
out[13] = a13;
out[14] = a23;
} else {
out[0] = a[0];
out[1] = a[4];
out[2] = a[8];
out[3] = a[12];
out[4] = a[1];
out[5] = a[5];
out[6] = a[9];
out[7] = a[13];
out[8] = a[2];
out[9] = a[6];
out[10] = a[10];
out[11] = a[14];
out[12] = a[3];
out[13] = a[7];
out[14] = a[11];
out[15] = a[15];
}
return out;
}
/**
* Inverts a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function invert(out, a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3];
var a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
var a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
var a30 = a[12],
a31 = a[13],
a32 = a[14],
a33 = a[15];
var b00 = a00 * a11 - a01 * a10;
var b01 = a00 * a12 - a02 * a10;
var b02 = a00 * a13 - a03 * a10;
var b03 = a01 * a12 - a02 * a11;
var b04 = a01 * a13 - a03 * a11;
var b05 = a02 * a13 - a03 * a12;
var b06 = a20 * a31 - a21 * a30;
var b07 = a20 * a32 - a22 * a30;
var b08 = a20 * a33 - a23 * a30;
var b09 = a21 * a32 - a22 * a31;
var b10 = a21 * a33 - a23 * a31;
var b11 = a22 * a33 - a23 * a32;
// Calculate the determinant
var det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
if (!det) {
return null;
}
det = 1.0 / det;
out[0] = (a11 * b11 - a12 * b10 + a13 * b09) * det;
out[1] = (a02 * b10 - a01 * b11 - a03 * b09) * det;
out[2] = (a31 * b05 - a32 * b04 + a33 * b03) * det;
out[3] = (a22 * b04 - a21 * b05 - a23 * b03) * det;
out[4] = (a12 * b08 - a10 * b11 - a13 * b07) * det;
out[5] = (a00 * b11 - a02 * b08 + a03 * b07) * det;
out[6] = (a32 * b02 - a30 * b05 - a33 * b01) * det;
out[7] = (a20 * b05 - a22 * b02 + a23 * b01) * det;
out[8] = (a10 * b10 - a11 * b08 + a13 * b06) * det;
out[9] = (a01 * b08 - a00 * b10 - a03 * b06) * det;
out[10] = (a30 * b04 - a31 * b02 + a33 * b00) * det;
out[11] = (a21 * b02 - a20 * b04 - a23 * b00) * det;
out[12] = (a11 * b07 - a10 * b09 - a12 * b06) * det;
out[13] = (a00 * b09 - a01 * b07 + a02 * b06) * det;
out[14] = (a31 * b01 - a30 * b03 - a32 * b00) * det;
out[15] = (a20 * b03 - a21 * b01 + a22 * b00) * det;
return out;
}
/**
* Calculates the adjugate of a mat4
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the source matrix
* @returns {mat4} out
*/
function adjoint(out, a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3];
var a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
var a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
var a30 = a[12],
a31 = a[13],
a32 = a[14],
a33 = a[15];
out[0] = a11 * (a22 * a33 - a23 * a32) - a21 * (a12 * a33 - a13 * a32) + a31 * (a12 * a23 - a13 * a22);
out[1] = -(a01 * (a22 * a33 - a23 * a32) - a21 * (a02 * a33 - a03 * a32) + a31 * (a02 * a23 - a03 * a22));
out[2] = a01 * (a12 * a33 - a13 * a32) - a11 * (a02 * a33 - a03 * a32) + a31 * (a02 * a13 - a03 * a12);
out[3] = -(a01 * (a12 * a23 - a13 * a22) - a11 * (a02 * a23 - a03 * a22) + a21 * (a02 * a13 - a03 * a12));
out[4] = -(a10 * (a22 * a33 - a23 * a32) - a20 * (a12 * a33 - a13 * a32) + a30 * (a12 * a23 - a13 * a22));
out[5] = a00 * (a22 * a33 - a23 * a32) - a20 * (a02 * a33 - a03 * a32) + a30 * (a02 * a23 - a03 * a22);
out[6] = -(a00 * (a12 * a33 - a13 * a32) - a10 * (a02 * a33 - a03 * a32) + a30 * (a02 * a13 - a03 * a12));
out[7] = a00 * (a12 * a23 - a13 * a22) - a10 * (a02 * a23 - a03 * a22) + a20 * (a02 * a13 - a03 * a12);
out[8] = a10 * (a21 * a33 - a23 * a31) - a20 * (a11 * a33 - a13 * a31) + a30 * (a11 * a23 - a13 * a21);
out[9] = -(a00 * (a21 * a33 - a23 * a31) - a20 * (a01 * a33 - a03 * a31) + a30 * (a01 * a23 - a03 * a21));
out[10] = a00 * (a11 * a33 - a13 * a31) - a10 * (a01 * a33 - a03 * a31) + a30 * (a01 * a13 - a03 * a11);
out[11] = -(a00 * (a11 * a23 - a13 * a21) - a10 * (a01 * a23 - a03 * a21) + a20 * (a01 * a13 - a03 * a11));
out[12] = -(a10 * (a21 * a32 - a22 * a31) - a20 * (a11 * a32 - a12 * a31) + a30 * (a11 * a22 - a12 * a21));
out[13] = a00 * (a21 * a32 - a22 * a31) - a20 * (a01 * a32 - a02 * a31) + a30 * (a01 * a22 - a02 * a21);
out[14] = -(a00 * (a11 * a32 - a12 * a31) - a10 * (a01 * a32 - a02 * a31) + a30 * (a01 * a12 - a02 * a11));
out[15] = a00 * (a11 * a22 - a12 * a21) - a10 * (a01 * a22 - a02 * a21) + a20 * (a01 * a12 - a02 * a11);
return out;
}
/**
* Calculates the determinant of a mat4
*
* @param {mat4} a the source matrix
* @returns {Number} determinant of a
*/
function determinant(a) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3];
var a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
var a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
var a30 = a[12],
a31 = a[13],
a32 = a[14],
a33 = a[15];
var b00 = a00 * a11 - a01 * a10;
var b01 = a00 * a12 - a02 * a10;
var b02 = a00 * a13 - a03 * a10;
var b03 = a01 * a12 - a02 * a11;
var b04 = a01 * a13 - a03 * a11;
var b05 = a02 * a13 - a03 * a12;
var b06 = a20 * a31 - a21 * a30;
var b07 = a20 * a32 - a22 * a30;
var b08 = a20 * a33 - a23 * a30;
var b09 = a21 * a32 - a22 * a31;
var b10 = a21 * a33 - a23 * a31;
var b11 = a22 * a33 - a23 * a32;
// Calculate the determinant
return b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
}
/**
* Multiplies two mat4s
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the first operand
* @param {mat4} b the second operand
* @returns {mat4} out
*/
function multiply(out, a, b) {
var a00 = a[0],
a01 = a[1],
a02 = a[2],
a03 = a[3];
var a10 = a[4],
a11 = a[5],
a12 = a[6],
a13 = a[7];
var a20 = a[8],
a21 = a[9],
a22 = a[10],
a23 = a[11];
var a30 = a[12],
a31 = a[13],
a32 = a[14],
a33 = a[15];
// Cache only the current line of the second matrix
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3];
out[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[4];b1 = b[5];b2 = b[6];b3 = b[7];
out[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[8];b1 = b[9];b2 = b[10];b3 = b[11];
out[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
b0 = b[12];b1 = b[13];b2 = b[14];b3 = b[15];
out[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;
out[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;
out[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;
out[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;
return out;
}
/**
* Translate a mat4 by the given vector
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to translate
* @param {vec3} v vector to translate by
* @returns {mat4} out
*/
function translate(out, a, v) {
var x = v[0],
y = v[1],
z = v[2];
var a00 = void 0,
a01 = void 0,
a02 = void 0,
a03 = void 0;
var a10 = void 0,
a11 = void 0,
a12 = void 0,
a13 = void 0;
var a20 = void 0,
a21 = void 0,
a22 = void 0,
a23 = void 0;
if (a === out) {
out[12] = a[0] * x + a[4] * y + a[8] * z + a[12];
out[13] = a[1] * x + a[5] * y + a[9] * z + a[13];
out[14] = a[2] * x + a[6] * y + a[10] * z + a[14];
out[15] = a[3] * x + a[7] * y + a[11] * z + a[15];
} else {
a00 = a[0];a01 = a[1];a02 = a[2];a03 = a[3];
a10 = a[4];a11 = a[5];a12 = a[6];a13 = a[7];
a20 = a[8];a21 = a[9];a22 = a[10];a23 = a[11];
out[0] = a00;out[1] = a01;out[2] = a02;out[3] = a03;
out[4] = a10;out[5] = a11;out[6] = a12;out[7] = a13;
out[8] = a20;out[9] = a21;out[10] = a22;out[11] = a23;
out[12] = a00 * x + a10 * y + a20 * z + a[12];
out[13] = a01 * x + a11 * y + a21 * z + a[13];
out[14] = a02 * x + a12 * y + a22 * z + a[14];
out[15] = a03 * x + a13 * y + a23 * z + a[15];
}
return out;
}
/**
* Scales the mat4 by the dimensions in the given vec3 not using vectorization
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to scale
* @param {vec3} v the vec3 to scale the matrix by
* @returns {mat4} out
**/
function scale(out, a, v) {
var x = v[0],
y = v[1],
z = v[2];
out[0] = a[0] * x;
out[1] = a[1] * x;
out[2] = a[2] * x;
out[3] = a[3] * x;
out[4] = a[4] * y;
out[5] = a[5] * y;
out[6] = a[6] * y;
out[7] = a[7] * y;
out[8] = a[8] * z;
out[9] = a[9] * z;
out[10] = a[10] * z;
out[11] = a[11] * z;
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
return out;
}
/**
* Rotates a mat4 by the given angle around the given axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @param {vec3} axis the axis to rotate around
* @returns {mat4} out
*/
function rotate(out, a, rad, axis) {
var x = axis[0],
y = axis[1],
z = axis[2];
var len = Math.sqrt(x * x + y * y + z * z);
var s = void 0,
c = void 0,
t = void 0;
var a00 = void 0,
a01 = void 0,
a02 = void 0,
a03 = void 0;
var a10 = void 0,
a11 = void 0,
a12 = void 0,
a13 = void 0;
var a20 = void 0,
a21 = void 0,
a22 = void 0,
a23 = void 0;
var b00 = void 0,
b01 = void 0,
b02 = void 0;
var b10 = void 0,
b11 = void 0,
b12 = void 0;
var b20 = void 0,
b21 = void 0,
b22 = void 0;
if (Math.abs(len) < glMatrix.EPSILON) {
return null;
}
len = 1 / len;
x *= len;
y *= len;
z *= len;
s = Math.sin(rad);
c = Math.cos(rad);
t = 1 - c;
a00 = a[0];a01 = a[1];a02 = a[2];a03 = a[3];
a10 = a[4];a11 = a[5];a12 = a[6];a13 = a[7];
a20 = a[8];a21 = a[9];a22 = a[10];a23 = a[11];
// Construct the elements of the rotation matrix
b00 = x * x * t + c;b01 = y * x * t + z * s;b02 = z * x * t - y * s;
b10 = x * y * t - z * s;b11 = y * y * t + c;b12 = z * y * t + x * s;
b20 = x * z * t + y * s;b21 = y * z * t - x * s;b22 = z * z * t + c;
// Perform rotation-specific matrix multiplication
out[0] = a00 * b00 + a10 * b01 + a20 * b02;
out[1] = a01 * b00 + a11 * b01 + a21 * b02;
out[2] = a02 * b00 + a12 * b01 + a22 * b02;
out[3] = a03 * b00 + a13 * b01 + a23 * b02;
out[4] = a00 * b10 + a10 * b11 + a20 * b12;
out[5] = a01 * b10 + a11 * b11 + a21 * b12;
out[6] = a02 * b10 + a12 * b11 + a22 * b12;
out[7] = a03 * b10 + a13 * b11 + a23 * b12;
out[8] = a00 * b20 + a10 * b21 + a20 * b22;
out[9] = a01 * b20 + a11 * b21 + a21 * b22;
out[10] = a02 * b20 + a12 * b21 + a22 * b22;
out[11] = a03 * b20 + a13 * b21 + a23 * b22;
if (a !== out) {
// If the source and destination differ, copy the unchanged last row
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
return out;
}
/**
* Rotates a matrix by the given angle around the X axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateX(out, a, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
var a10 = a[4];
var a11 = a[5];
var a12 = a[6];
var a13 = a[7];
var a20 = a[8];
var a21 = a[9];
var a22 = a[10];
var a23 = a[11];
if (a !== out) {
// If the source and destination differ, copy the unchanged rows
out[0] = a[0];
out[1] = a[1];
out[2] = a[2];
out[3] = a[3];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[4] = a10 * c + a20 * s;
out[5] = a11 * c + a21 * s;
out[6] = a12 * c + a22 * s;
out[7] = a13 * c + a23 * s;
out[8] = a20 * c - a10 * s;
out[9] = a21 * c - a11 * s;
out[10] = a22 * c - a12 * s;
out[11] = a23 * c - a13 * s;
return out;
}
/**
* Rotates a matrix by the given angle around the Y axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateY(out, a, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
var a00 = a[0];
var a01 = a[1];
var a02 = a[2];
var a03 = a[3];
var a20 = a[8];
var a21 = a[9];
var a22 = a[10];
var a23 = a[11];
if (a !== out) {
// If the source and destination differ, copy the unchanged rows
out[4] = a[4];
out[5] = a[5];
out[6] = a[6];
out[7] = a[7];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[0] = a00 * c - a20 * s;
out[1] = a01 * c - a21 * s;
out[2] = a02 * c - a22 * s;
out[3] = a03 * c - a23 * s;
out[8] = a00 * s + a20 * c;
out[9] = a01 * s + a21 * c;
out[10] = a02 * s + a22 * c;
out[11] = a03 * s + a23 * c;
return out;
}
/**
* Rotates a matrix by the given angle around the Z axis
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to rotate
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function rotateZ(out, a, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
var a00 = a[0];
var a01 = a[1];
var a02 = a[2];
var a03 = a[3];
var a10 = a[4];
var a11 = a[5];
var a12 = a[6];
var a13 = a[7];
if (a !== out) {
// If the source and destination differ, copy the unchanged last row
out[8] = a[8];
out[9] = a[9];
out[10] = a[10];
out[11] = a[11];
out[12] = a[12];
out[13] = a[13];
out[14] = a[14];
out[15] = a[15];
}
// Perform axis-specific matrix multiplication
out[0] = a00 * c + a10 * s;
out[1] = a01 * c + a11 * s;
out[2] = a02 * c + a12 * s;
out[3] = a03 * c + a13 * s;
out[4] = a10 * c - a00 * s;
out[5] = a11 * c - a01 * s;
out[6] = a12 * c - a02 * s;
out[7] = a13 * c - a03 * s;
return out;
}
/**
* Creates a matrix from a vector translation
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.translate(dest, dest, vec);
*
* @param {mat4} out mat4 receiving operation result
* @param {vec3} v Translation vector
* @returns {mat4} out
*/
function fromTranslation(out, v) {
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = v[0];
out[13] = v[1];
out[14] = v[2];
out[15] = 1;
return out;
}
/**
* Creates a matrix from a vector scaling
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.scale(dest, dest, vec);
*
* @param {mat4} out mat4 receiving operation result
* @param {vec3} v Scaling vector
* @returns {mat4} out
*/
function fromScaling(out, v) {
out[0] = v[0];
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = v[1];
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = v[2];
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a matrix from a given angle around a given axis
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.rotate(dest, dest, rad, axis);
*
* @param {mat4} out mat4 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @param {vec3} axis the axis to rotate around
* @returns {mat4} out
*/
function fromRotation(out, rad, axis) {
var x = axis[0],
y = axis[1],
z = axis[2];
var len = Math.sqrt(x * x + y * y + z * z);
var s = void 0,
c = void 0,
t = void 0;
if (Math.abs(len) < glMatrix.EPSILON) {
return null;
}
len = 1 / len;
x *= len;
y *= len;
z *= len;
s = Math.sin(rad);
c = Math.cos(rad);
t = 1 - c;
// Perform rotation-specific matrix multiplication
out[0] = x * x * t + c;
out[1] = y * x * t + z * s;
out[2] = z * x * t - y * s;
out[3] = 0;
out[4] = x * y * t - z * s;
out[5] = y * y * t + c;
out[6] = z * y * t + x * s;
out[7] = 0;
out[8] = x * z * t + y * s;
out[9] = y * z * t - x * s;
out[10] = z * z * t + c;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a matrix from the given angle around the X axis
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.rotateX(dest, dest, rad);
*
* @param {mat4} out mat4 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function fromXRotation(out, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
// Perform axis-specific matrix multiplication
out[0] = 1;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = c;
out[6] = s;
out[7] = 0;
out[8] = 0;
out[9] = -s;
out[10] = c;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a matrix from the given angle around the Y axis
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.rotateY(dest, dest, rad);
*
* @param {mat4} out mat4 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function fromYRotation(out, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
// Perform axis-specific matrix multiplication
out[0] = c;
out[1] = 0;
out[2] = -s;
out[3] = 0;
out[4] = 0;
out[5] = 1;
out[6] = 0;
out[7] = 0;
out[8] = s;
out[9] = 0;
out[10] = c;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a matrix from the given angle around the Z axis
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.rotateZ(dest, dest, rad);
*
* @param {mat4} out mat4 receiving operation result
* @param {Number} rad the angle to rotate the matrix by
* @returns {mat4} out
*/
function fromZRotation(out, rad) {
var s = Math.sin(rad);
var c = Math.cos(rad);
// Perform axis-specific matrix multiplication
out[0] = c;
out[1] = s;
out[2] = 0;
out[3] = 0;
out[4] = -s;
out[5] = c;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 1;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Creates a matrix from a quaternion rotation and vector translation
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.translate(dest, vec);
* let quatMat = mat4.create();
* quat4.toMat4(quat, quatMat);
* mat4.multiply(dest, quatMat);
*
* @param {mat4} out mat4 receiving operation result
* @param {quat4} q Rotation quaternion
* @param {vec3} v Translation vector
* @returns {mat4} out
*/
function fromRotationTranslation(out, q, v) {
// Quaternion math
var x = q[0],
y = q[1],
z = q[2],
w = q[3];
var x2 = x + x;
var y2 = y + y;
var z2 = z + z;
var xx = x * x2;
var xy = x * y2;
var xz = x * z2;
var yy = y * y2;
var yz = y * z2;
var zz = z * z2;
var wx = w * x2;
var wy = w * y2;
var wz = w * z2;
out[0] = 1 - (yy + zz);
out[1] = xy + wz;
out[2] = xz - wy;
out[3] = 0;
out[4] = xy - wz;
out[5] = 1 - (xx + zz);
out[6] = yz + wx;
out[7] = 0;
out[8] = xz + wy;
out[9] = yz - wx;
out[10] = 1 - (xx + yy);
out[11] = 0;
out[12] = v[0];
out[13] = v[1];
out[14] = v[2];
out[15] = 1;
return out;
}
/**
* Returns the translation vector component of a transformation
* matrix. If a matrix is built with fromRotationTranslation,
* the returned vector will be the same as the translation vector
* originally supplied.
* @param {vec3} out Vector to receive translation component
* @param {mat4} mat Matrix to be decomposed (input)
* @return {vec3} out
*/
function getTranslation(out, mat) {
out[0] = mat[12];
out[1] = mat[13];
out[2] = mat[14];
return out;
}
/**
* Returns the scaling factor component of a transformation
* matrix. If a matrix is built with fromRotationTranslationScale
* with a normalized Quaternion paramter, the returned vector will be
* the same as the scaling vector
* originally supplied.
* @param {vec3} out Vector to receive scaling factor component
* @param {mat4} mat Matrix to be decomposed (input)
* @return {vec3} out
*/
function getScaling(out, mat) {
var m11 = mat[0];
var m12 = mat[1];
var m13 = mat[2];
var m21 = mat[4];
var m22 = mat[5];
var m23 = mat[6];
var m31 = mat[8];
var m32 = mat[9];
var m33 = mat[10];
out[0] = Math.sqrt(m11 * m11 + m12 * m12 + m13 * m13);
out[1] = Math.sqrt(m21 * m21 + m22 * m22 + m23 * m23);
out[2] = Math.sqrt(m31 * m31 + m32 * m32 + m33 * m33);
return out;
}
/**
* Returns a quaternion representing the rotational component
* of a transformation matrix. If a matrix is built with
* fromRotationTranslation, the returned quaternion will be the
* same as the quaternion originally supplied.
* @param {quat} out Quaternion to receive the rotation component
* @param {mat4} mat Matrix to be decomposed (input)
* @return {quat} out
*/
function getRotation(out, mat) {
// Algorithm taken from http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/index.htm
var trace = mat[0] + mat[5] + mat[10];
var S = 0;
if (trace > 0) {
S = Math.sqrt(trace + 1.0) * 2;
out[3] = 0.25 * S;
out[0] = (mat[6] - mat[9]) / S;
out[1] = (mat[8] - mat[2]) / S;
out[2] = (mat[1] - mat[4]) / S;
} else if (mat[0] > mat[5] & mat[0] > mat[10]) {
S = Math.sqrt(1.0 + mat[0] - mat[5] - mat[10]) * 2;
out[3] = (mat[6] - mat[9]) / S;
out[0] = 0.25 * S;
out[1] = (mat[1] + mat[4]) / S;
out[2] = (mat[8] + mat[2]) / S;
} else if (mat[5] > mat[10]) {
S = Math.sqrt(1.0 + mat[5] - mat[0] - mat[10]) * 2;
out[3] = (mat[8] - mat[2]) / S;
out[0] = (mat[1] + mat[4]) / S;
out[1] = 0.25 * S;
out[2] = (mat[6] + mat[9]) / S;
} else {
S = Math.sqrt(1.0 + mat[10] - mat[0] - mat[5]) * 2;
out[3] = (mat[1] - mat[4]) / S;
out[0] = (mat[8] + mat[2]) / S;
out[1] = (mat[6] + mat[9]) / S;
out[2] = 0.25 * S;
}
return out;
}
/**
* Creates a matrix from a quaternion rotation, vector translation and vector scale
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.translate(dest, vec);
* let quatMat = mat4.create();
* quat4.toMat4(quat, quatMat);
* mat4.multiply(dest, quatMat);
* mat4.scale(dest, scale)
*
* @param {mat4} out mat4 receiving operation result
* @param {quat4} q Rotation quaternion
* @param {vec3} v Translation vector
* @param {vec3} s Scaling vector
* @returns {mat4} out
*/
function fromRotationTranslationScale(out, q, v, s) {
// Quaternion math
var x = q[0],
y = q[1],
z = q[2],
w = q[3];
var x2 = x + x;
var y2 = y + y;
var z2 = z + z;
var xx = x * x2;
var xy = x * y2;
var xz = x * z2;
var yy = y * y2;
var yz = y * z2;
var zz = z * z2;
var wx = w * x2;
var wy = w * y2;
var wz = w * z2;
var sx = s[0];
var sy = s[1];
var sz = s[2];
out[0] = (1 - (yy + zz)) * sx;
out[1] = (xy + wz) * sx;
out[2] = (xz - wy) * sx;
out[3] = 0;
out[4] = (xy - wz) * sy;
out[5] = (1 - (xx + zz)) * sy;
out[6] = (yz + wx) * sy;
out[7] = 0;
out[8] = (xz + wy) * sz;
out[9] = (yz - wx) * sz;
out[10] = (1 - (xx + yy)) * sz;
out[11] = 0;
out[12] = v[0];
out[13] = v[1];
out[14] = v[2];
out[15] = 1;
return out;
}
/**
* Creates a matrix from a quaternion rotation, vector translation and vector scale, rotating and scaling around the given origin
* This is equivalent to (but much faster than):
*
* mat4.identity(dest);
* mat4.translate(dest, vec);
* mat4.translate(dest, origin);
* let quatMat = mat4.create();
* quat4.toMat4(quat, quatMat);
* mat4.multiply(dest, quatMat);
* mat4.scale(dest, scale)
* mat4.translate(dest, negativeOrigin);
*
* @param {mat4} out mat4 receiving operation result
* @param {quat4} q Rotation quaternion
* @param {vec3} v Translation vector
* @param {vec3} s Scaling vector
* @param {vec3} o The origin vector around which to scale and rotate
* @returns {mat4} out
*/
function fromRotationTranslationScaleOrigin(out, q, v, s, o) {
// Quaternion math
var x = q[0],
y = q[1],
z = q[2],
w = q[3];
var x2 = x + x;
var y2 = y + y;
var z2 = z + z;
var xx = x * x2;
var xy = x * y2;
var xz = x * z2;
var yy = y * y2;
var yz = y * z2;
var zz = z * z2;
var wx = w * x2;
var wy = w * y2;
var wz = w * z2;
var sx = s[0];
var sy = s[1];
var sz = s[2];
var ox = o[0];
var oy = o[1];
var oz = o[2];
out[0] = (1 - (yy + zz)) * sx;
out[1] = (xy + wz) * sx;
out[2] = (xz - wy) * sx;
out[3] = 0;
out[4] = (xy - wz) * sy;
out[5] = (1 - (xx + zz)) * sy;
out[6] = (yz + wx) * sy;
out[7] = 0;
out[8] = (xz + wy) * sz;
out[9] = (yz - wx) * sz;
out[10] = (1 - (xx + yy)) * sz;
out[11] = 0;
out[12] = v[0] + ox - (out[0] * ox + out[4] * oy + out[8] * oz);
out[13] = v[1] + oy - (out[1] * ox + out[5] * oy + out[9] * oz);
out[14] = v[2] + oz - (out[2] * ox + out[6] * oy + out[10] * oz);
out[15] = 1;
return out;
}
/**
* Calculates a 4x4 matrix from the given quaternion
*
* @param {mat4} out mat4 receiving operation result
* @param {quat} q Quaternion to create matrix from
*
* @returns {mat4} out
*/
function fromQuat(out, q) {
var x = q[0],
y = q[1],
z = q[2],
w = q[3];
var x2 = x + x;
var y2 = y + y;
var z2 = z + z;
var xx = x * x2;
var yx = y * x2;
var yy = y * y2;
var zx = z * x2;
var zy = z * y2;
var zz = z * z2;
var wx = w * x2;
var wy = w * y2;
var wz = w * z2;
out[0] = 1 - yy - zz;
out[1] = yx + wz;
out[2] = zx - wy;
out[3] = 0;
out[4] = yx - wz;
out[5] = 1 - xx - zz;
out[6] = zy + wx;
out[7] = 0;
out[8] = zx + wy;
out[9] = zy - wx;
out[10] = 1 - xx - yy;
out[11] = 0;
out[12] = 0;
out[13] = 0;
out[14] = 0;
out[15] = 1;
return out;
}
/**
* Generates a frustum matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {Number} left Left bound of the frustum
* @param {Number} right Right bound of the frustum
* @param {Number} bottom Bottom bound of the frustum
* @param {Number} top Top bound of the frustum
* @param {Number} near Near bound of the frustum
* @param {Number} far Far bound of the frustum
* @returns {mat4} out
*/
function frustum(out, left, right, bottom, top, near, far) {
var rl = 1 / (right - left);
var tb = 1 / (top - bottom);
var nf = 1 / (near - far);
out[0] = near * 2 * rl;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = near * 2 * tb;
out[6] = 0;
out[7] = 0;
out[8] = (right + left) * rl;
out[9] = (top + bottom) * tb;
out[10] = (far + near) * nf;
out[11] = -1;
out[12] = 0;
out[13] = 0;
out[14] = far * near * 2 * nf;
out[15] = 0;
return out;
}
/**
* Generates a perspective projection matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} fovy Vertical field of view in radians
* @param {number} aspect Aspect ratio. typically viewport width/height
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function perspective(out, fovy, aspect, near, far) {
var f = 1.0 / Math.tan(fovy / 2);
var nf = 1 / (near - far);
out[0] = f / aspect;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = f;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = (far + near) * nf;
out[11] = -1;
out[12] = 0;
out[13] = 0;
out[14] = 2 * far * near * nf;
out[15] = 0;
return out;
}
/**
* Generates a perspective projection matrix with the given field of view.
* This is primarily useful for generating projection matrices to be used
* with the still experiemental WebVR API.
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {Object} fov Object containing the following values: upDegrees, downDegrees, leftDegrees, rightDegrees
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function perspectiveFromFieldOfView(out, fov, near, far) {
var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);
var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);
var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);
var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);
var xScale = 2.0 / (leftTan + rightTan);
var yScale = 2.0 / (upTan + downTan);
out[0] = xScale;
out[1] = 0.0;
out[2] = 0.0;
out[3] = 0.0;
out[4] = 0.0;
out[5] = yScale;
out[6] = 0.0;
out[7] = 0.0;
out[8] = -((leftTan - rightTan) * xScale * 0.5);
out[9] = (upTan - downTan) * yScale * 0.5;
out[10] = far / (near - far);
out[11] = -1.0;
out[12] = 0.0;
out[13] = 0.0;
out[14] = far * near / (near - far);
out[15] = 0.0;
return out;
}
/**
* Generates a orthogonal projection matrix with the given bounds
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {number} left Left bound of the frustum
* @param {number} right Right bound of the frustum
* @param {number} bottom Bottom bound of the frustum
* @param {number} top Top bound of the frustum
* @param {number} near Near bound of the frustum
* @param {number} far Far bound of the frustum
* @returns {mat4} out
*/
function ortho(out, left, right, bottom, top, near, far) {
var lr = 1 / (left - right);
var bt = 1 / (bottom - top);
var nf = 1 / (near - far);
out[0] = -2 * lr;
out[1] = 0;
out[2] = 0;
out[3] = 0;
out[4] = 0;
out[5] = -2 * bt;
out[6] = 0;
out[7] = 0;
out[8] = 0;
out[9] = 0;
out[10] = 2 * nf;
out[11] = 0;
out[12] = (left + right) * lr;
out[13] = (top + bottom) * bt;
out[14] = (far + near) * nf;
out[15] = 1;
return out;
}
/**
* Generates a look-at matrix with the given eye position, focal point, and up axis
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {vec3} eye Position of the viewer
* @param {vec3} center Point the viewer is looking at
* @param {vec3} up vec3 pointing up
* @returns {mat4} out
*/
function lookAt(out, eye, center, up) {
var x0 = void 0,
x1 = void 0,
x2 = void 0,
y0 = void 0,
y1 = void 0,
y2 = void 0,
z0 = void 0,
z1 = void 0,
z2 = void 0,
len = void 0;
var eyex = eye[0];
var eyey = eye[1];
var eyez = eye[2];
var upx = up[0];
var upy = up[1];
var upz = up[2];
var centerx = center[0];
var centery = center[1];
var centerz = center[2];
if (Math.abs(eyex - centerx) < glMatrix.EPSILON && Math.abs(eyey - centery) < glMatrix.EPSILON && Math.abs(eyez - centerz) < glMatrix.EPSILON) {
return mat4.identity(out);
}
z0 = eyex - centerx;
z1 = eyey - centery;
z2 = eyez - centerz;
len = 1 / Math.sqrt(z0 * z0 + z1 * z1 + z2 * z2);
z0 *= len;
z1 *= len;
z2 *= len;
x0 = upy * z2 - upz * z1;
x1 = upz * z0 - upx * z2;
x2 = upx * z1 - upy * z0;
len = Math.sqrt(x0 * x0 + x1 * x1 + x2 * x2);
if (!len) {
x0 = 0;
x1 = 0;
x2 = 0;
} else {
len = 1 / len;
x0 *= len;
x1 *= len;
x2 *= len;
}
y0 = z1 * x2 - z2 * x1;
y1 = z2 * x0 - z0 * x2;
y2 = z0 * x1 - z1 * x0;
len = Math.sqrt(y0 * y0 + y1 * y1 + y2 * y2);
if (!len) {
y0 = 0;
y1 = 0;
y2 = 0;
} else {
len = 1 / len;
y0 *= len;
y1 *= len;
y2 *= len;
}
out[0] = x0;
out[1] = y0;
out[2] = z0;
out[3] = 0;
out[4] = x1;
out[5] = y1;
out[6] = z1;
out[7] = 0;
out[8] = x2;
out[9] = y2;
out[10] = z2;
out[11] = 0;
out[12] = -(x0 * eyex + x1 * eyey + x2 * eyez);
out[13] = -(y0 * eyex + y1 * eyey + y2 * eyez);
out[14] = -(z0 * eyex + z1 * eyey + z2 * eyez);
out[15] = 1;
return out;
}
/**
* Generates a matrix that makes something look at something else.
*
* @param {mat4} out mat4 frustum matrix will be written into
* @param {vec3} eye Position of the viewer
* @param {vec3} center Point the viewer is looking at
* @param {vec3} up vec3 pointing up
* @returns {mat4} out
*/
function targetTo(out, eye, target, up) {
var eyex = eye[0],
eyey = eye[1],
eyez = eye[2],
upx = up[0],
upy = up[1],
upz = up[2];
var z0 = eyex - target[0],
z1 = eyey - target[1],
z2 = eyez - target[2];
var len = z0 * z0 + z1 * z1 + z2 * z2;
if (len > 0) {
len = 1 / Math.sqrt(len);
z0 *= len;
z1 *= len;
z2 *= len;
}
var x0 = upy * z2 - upz * z1,
x1 = upz * z0 - upx * z2,
x2 = upx * z1 - upy * z0;
out[0] = x0;
out[1] = x1;
out[2] = x2;
out[3] = 0;
out[4] = z1 * x2 - z2 * x1;
out[5] = z2 * x0 - z0 * x2;
out[6] = z0 * x1 - z1 * x0;
out[7] = 0;
out[8] = z0;
out[9] = z1;
out[10] = z2;
out[11] = 0;
out[12] = eyex;
out[13] = eyey;
out[14] = eyez;
out[15] = 1;
return out;
};
/**
* Returns a string representation of a mat4
*
* @param {mat4} a matrix to represent as a string
* @returns {String} string representation of the matrix
*/
function str(a) {
return 'mat4(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ', ' + a[4] + ', ' + a[5] + ', ' + a[6] + ', ' + a[7] + ', ' + a[8] + ', ' + a[9] + ', ' + a[10] + ', ' + a[11] + ', ' + a[12] + ', ' + a[13] + ', ' + a[14] + ', ' + a[15] + ')';
}
/**
* Returns Frobenius norm of a mat4
*
* @param {mat4} a the matrix to calculate Frobenius norm of
* @returns {Number} Frobenius norm
*/
function frob(a) {
return Math.sqrt(Math.pow(a[0], 2) + Math.pow(a[1], 2) + Math.pow(a[2], 2) + Math.pow(a[3], 2) + Math.pow(a[4], 2) + Math.pow(a[5], 2) + Math.pow(a[6], 2) + Math.pow(a[7], 2) + Math.pow(a[8], 2) + Math.pow(a[9], 2) + Math.pow(a[10], 2) + Math.pow(a[11], 2) + Math.pow(a[12], 2) + Math.pow(a[13], 2) + Math.pow(a[14], 2) + Math.pow(a[15], 2));
}
/**
* Adds two mat4's
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the first operand
* @param {mat4} b the second operand
* @returns {mat4} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
out[2] = a[2] + b[2];
out[3] = a[3] + b[3];
out[4] = a[4] + b[4];
out[5] = a[5] + b[5];
out[6] = a[6] + b[6];
out[7] = a[7] + b[7];
out[8] = a[8] + b[8];
out[9] = a[9] + b[9];
out[10] = a[10] + b[10];
out[11] = a[11] + b[11];
out[12] = a[12] + b[12];
out[13] = a[13] + b[13];
out[14] = a[14] + b[14];
out[15] = a[15] + b[15];
return out;
}
/**
* Subtracts matrix b from matrix a
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the first operand
* @param {mat4} b the second operand
* @returns {mat4} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
out[2] = a[2] - b[2];
out[3] = a[3] - b[3];
out[4] = a[4] - b[4];
out[5] = a[5] - b[5];
out[6] = a[6] - b[6];
out[7] = a[7] - b[7];
out[8] = a[8] - b[8];
out[9] = a[9] - b[9];
out[10] = a[10] - b[10];
out[11] = a[11] - b[11];
out[12] = a[12] - b[12];
out[13] = a[13] - b[13];
out[14] = a[14] - b[14];
out[15] = a[15] - b[15];
return out;
}
/**
* Multiply each element of the matrix by a scalar.
*
* @param {mat4} out the receiving matrix
* @param {mat4} a the matrix to scale
* @param {Number} b amount to scale the matrix's elements by
* @returns {mat4} out
*/
function multiplyScalar(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
out[2] = a[2] * b;
out[3] = a[3] * b;
out[4] = a[4] * b;
out[5] = a[5] * b;
out[6] = a[6] * b;
out[7] = a[7] * b;
out[8] = a[8] * b;
out[9] = a[9] * b;
out[10] = a[10] * b;
out[11] = a[11] * b;
out[12] = a[12] * b;
out[13] = a[13] * b;
out[14] = a[14] * b;
out[15] = a[15] * b;
return out;
}
/**
* Adds two mat4's after multiplying each element of the second operand by a scalar value.
*
* @param {mat4} out the receiving vector
* @param {mat4} a the first operand
* @param {mat4} b the second operand
* @param {Number} scale the amount to scale b's elements by before adding
* @returns {mat4} out
*/
function multiplyScalarAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
out[2] = a[2] + b[2] * scale;
out[3] = a[3] + b[3] * scale;
out[4] = a[4] + b[4] * scale;
out[5] = a[5] + b[5] * scale;
out[6] = a[6] + b[6] * scale;
out[7] = a[7] + b[7] * scale;
out[8] = a[8] + b[8] * scale;
out[9] = a[9] + b[9] * scale;
out[10] = a[10] + b[10] * scale;
out[11] = a[11] + b[11] * scale;
out[12] = a[12] + b[12] * scale;
out[13] = a[13] + b[13] * scale;
out[14] = a[14] + b[14] * scale;
out[15] = a[15] + b[15] * scale;
return out;
}
/**
* Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
*
* @param {mat4} a The first matrix.
* @param {mat4} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3] && a[4] === b[4] && a[5] === b[5] && a[6] === b[6] && a[7] === b[7] && a[8] === b[8] && a[9] === b[9] && a[10] === b[10] && a[11] === b[11] && a[12] === b[12] && a[13] === b[13] && a[14] === b[14] && a[15] === b[15];
}
/**
* Returns whether or not the matrices have approximately the same elements in the same position.
*
* @param {mat4} a The first matrix.
* @param {mat4} b The second matrix.
* @returns {Boolean} True if the matrices are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var a4 = a[4],
a5 = a[5],
a6 = a[6],
a7 = a[7];
var a8 = a[8],
a9 = a[9],
a10 = a[10],
a11 = a[11];
var a12 = a[12],
a13 = a[13],
a14 = a[14],
a15 = a[15];
var b0 = b[0],
b1 = b[1],
b2 = b[2],
b3 = b[3];
var b4 = b[4],
b5 = b[5],
b6 = b[6],
b7 = b[7];
var b8 = b[8],
b9 = b[9],
b10 = b[10],
b11 = b[11];
var b12 = b[12],
b13 = b[13],
b14 = b[14],
b15 = b[15];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3)) && Math.abs(a4 - b4) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a4), Math.abs(b4)) && Math.abs(a5 - b5) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a5), Math.abs(b5)) && Math.abs(a6 - b6) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a6), Math.abs(b6)) && Math.abs(a7 - b7) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a7), Math.abs(b7)) && Math.abs(a8 - b8) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a8), Math.abs(b8)) && Math.abs(a9 - b9) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a9), Math.abs(b9)) && Math.abs(a10 - b10) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a10), Math.abs(b10)) && Math.abs(a11 - b11) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a11), Math.abs(b11)) && Math.abs(a12 - b12) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a12), Math.abs(b12)) && Math.abs(a13 - b13) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a13), Math.abs(b13)) && Math.abs(a14 - b14) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a14), Math.abs(b14)) && Math.abs(a15 - b15) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a15), Math.abs(b15));
}
/**
* Alias for {@link mat4.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link mat4.subtract}
* @function
*/
var sub = exports.sub = subtract;
/***/ }),
/* 8 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setAxes = exports.sqlerp = exports.rotationTo = exports.equals = exports.exactEquals = exports.normalize = exports.sqrLen = exports.squaredLength = exports.len = exports.length = exports.lerp = exports.dot = exports.scale = exports.mul = exports.add = exports.set = exports.copy = exports.fromValues = exports.clone = undefined;
exports.create = create;
exports.identity = identity;
exports.setAxisAngle = setAxisAngle;
exports.getAxisAngle = getAxisAngle;
exports.multiply = multiply;
exports.rotateX = rotateX;
exports.rotateY = rotateY;
exports.rotateZ = rotateZ;
exports.calculateW = calculateW;
exports.slerp = slerp;
exports.invert = invert;
exports.conjugate = conjugate;
exports.fromMat3 = fromMat3;
exports.fromEuler = fromEuler;
exports.str = str;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
var _mat = __webpack_require__(1);
var mat3 = _interopRequireWildcard(_mat);
var _vec = __webpack_require__(2);
var vec3 = _interopRequireWildcard(_vec);
var _vec2 = __webpack_require__(3);
var vec4 = _interopRequireWildcard(_vec2);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* Quaternion
* @module quat
*/
/**
* Creates a new identity quat
*
* @returns {quat} a new quaternion
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function create() {
var out = new glMatrix.ARRAY_TYPE(4);
out[0] = 0;
out[1] = 0;
out[2] = 0;
out[3] = 1;
return out;
}
/**
* Set a quat to the identity quaternion
*
* @param {quat} out the receiving quaternion
* @returns {quat} out
*/
function identity(out) {
out[0] = 0;
out[1] = 0;
out[2] = 0;
out[3] = 1;
return out;
}
/**
* Sets a quat from the given angle and rotation axis,
* then returns it.
*
* @param {quat} out the receiving quaternion
* @param {vec3} axis the axis around which to rotate
* @param {Number} rad the angle in radians
* @returns {quat} out
**/
function setAxisAngle(out, axis, rad) {
rad = rad * 0.5;
var s = Math.sin(rad);
out[0] = s * axis[0];
out[1] = s * axis[1];
out[2] = s * axis[2];
out[3] = Math.cos(rad);
return out;
}
/**
* Gets the rotation axis and angle for a given
* quaternion. If a quaternion is created with
* setAxisAngle, this method will return the same
* values as providied in the original parameter list
* OR functionally equivalent values.
* Example: The quaternion formed by axis [0, 0, 1] and
* angle -90 is the same as the quaternion formed by
* [0, 0, 1] and 270. This method favors the latter.
* @param {vec3} out_axis Vector receiving the axis of rotation
* @param {quat} q Quaternion to be decomposed
* @return {Number} Angle, in radians, of the rotation
*/
function getAxisAngle(out_axis, q) {
var rad = Math.acos(q[3]) * 2.0;
var s = Math.sin(rad / 2.0);
if (s != 0.0) {
out_axis[0] = q[0] / s;
out_axis[1] = q[1] / s;
out_axis[2] = q[2] / s;
} else {
// If s is zero, return any axis (no rotation - axis does not matter)
out_axis[0] = 1;
out_axis[1] = 0;
out_axis[2] = 0;
}
return rad;
}
/**
* Multiplies two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {quat} out
*/
function multiply(out, a, b) {
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3];
var bx = b[0],
by = b[1],
bz = b[2],
bw = b[3];
out[0] = ax * bw + aw * bx + ay * bz - az * by;
out[1] = ay * bw + aw * by + az * bx - ax * bz;
out[2] = az * bw + aw * bz + ax * by - ay * bx;
out[3] = aw * bw - ax * bx - ay * by - az * bz;
return out;
}
/**
* Rotates a quaternion by the given angle about the X axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateX(out, a, rad) {
rad *= 0.5;
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3];
var bx = Math.sin(rad),
bw = Math.cos(rad);
out[0] = ax * bw + aw * bx;
out[1] = ay * bw + az * bx;
out[2] = az * bw - ay * bx;
out[3] = aw * bw - ax * bx;
return out;
}
/**
* Rotates a quaternion by the given angle about the Y axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateY(out, a, rad) {
rad *= 0.5;
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3];
var by = Math.sin(rad),
bw = Math.cos(rad);
out[0] = ax * bw - az * by;
out[1] = ay * bw + aw * by;
out[2] = az * bw + ax * by;
out[3] = aw * bw - ay * by;
return out;
}
/**
* Rotates a quaternion by the given angle about the Z axis
*
* @param {quat} out quat receiving operation result
* @param {quat} a quat to rotate
* @param {number} rad angle (in radians) to rotate
* @returns {quat} out
*/
function rotateZ(out, a, rad) {
rad *= 0.5;
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3];
var bz = Math.sin(rad),
bw = Math.cos(rad);
out[0] = ax * bw + ay * bz;
out[1] = ay * bw - ax * bz;
out[2] = az * bw + aw * bz;
out[3] = aw * bw - az * bz;
return out;
}
/**
* Calculates the W component of a quat from the X, Y, and Z components.
* Assumes that quaternion is 1 unit in length.
* Any existing W component will be ignored.
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate W component of
* @returns {quat} out
*/
function calculateW(out, a) {
var x = a[0],
y = a[1],
z = a[2];
out[0] = x;
out[1] = y;
out[2] = z;
out[3] = Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z));
return out;
}
/**
* Performs a spherical linear interpolation between two quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {quat} out
*/
function slerp(out, a, b, t) {
// benchmarks:
// http://jsperf.com/quaternion-slerp-implementations
var ax = a[0],
ay = a[1],
az = a[2],
aw = a[3];
var bx = b[0],
by = b[1],
bz = b[2],
bw = b[3];
var omega = void 0,
cosom = void 0,
sinom = void 0,
scale0 = void 0,
scale1 = void 0;
// calc cosine
cosom = ax * bx + ay * by + az * bz + aw * bw;
// adjust signs (if necessary)
if (cosom < 0.0) {
cosom = -cosom;
bx = -bx;
by = -by;
bz = -bz;
bw = -bw;
}
// calculate coefficients
if (1.0 - cosom > 0.000001) {
// standard case (slerp)
omega = Math.acos(cosom);
sinom = Math.sin(omega);
scale0 = Math.sin((1.0 - t) * omega) / sinom;
scale1 = Math.sin(t * omega) / sinom;
} else {
// "from" and "to" quaternions are very close
// ... so we can do a linear interpolation
scale0 = 1.0 - t;
scale1 = t;
}
// calculate final values
out[0] = scale0 * ax + scale1 * bx;
out[1] = scale0 * ay + scale1 * by;
out[2] = scale0 * az + scale1 * bz;
out[3] = scale0 * aw + scale1 * bw;
return out;
}
/**
* Calculates the inverse of a quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate inverse of
* @returns {quat} out
*/
function invert(out, a) {
var a0 = a[0],
a1 = a[1],
a2 = a[2],
a3 = a[3];
var dot = a0 * a0 + a1 * a1 + a2 * a2 + a3 * a3;
var invDot = dot ? 1.0 / dot : 0;
// TODO: Would be faster to return [0,0,0,0] immediately if dot == 0
out[0] = -a0 * invDot;
out[1] = -a1 * invDot;
out[2] = -a2 * invDot;
out[3] = a3 * invDot;
return out;
}
/**
* Calculates the conjugate of a quat
* If the quaternion is normalized, this function is faster than quat.inverse and produces the same result.
*
* @param {quat} out the receiving quaternion
* @param {quat} a quat to calculate conjugate of
* @returns {quat} out
*/
function conjugate(out, a) {
out[0] = -a[0];
out[1] = -a[1];
out[2] = -a[2];
out[3] = a[3];
return out;
}
/**
* Creates a quaternion from the given 3x3 rotation matrix.
*
* NOTE: The resultant quaternion is not normalized, so you should be sure
* to renormalize the quaternion yourself where necessary.
*
* @param {quat} out the receiving quaternion
* @param {mat3} m rotation matrix
* @returns {quat} out
* @function
*/
function fromMat3(out, m) {
// Algorithm in Ken Shoemake's article in 1987 SIGGRAPH course notes
// article "Quaternion Calculus and Fast Animation".
var fTrace = m[0] + m[4] + m[8];
var fRoot = void 0;
if (fTrace > 0.0) {
// |w| > 1/2, may as well choose w > 1/2
fRoot = Math.sqrt(fTrace + 1.0); // 2w
out[3] = 0.5 * fRoot;
fRoot = 0.5 / fRoot; // 1/(4w)
out[0] = (m[5] - m[7]) * fRoot;
out[1] = (m[6] - m[2]) * fRoot;
out[2] = (m[1] - m[3]) * fRoot;
} else {
// |w| <= 1/2
var i = 0;
if (m[4] > m[0]) i = 1;
if (m[8] > m[i * 3 + i]) i = 2;
var j = (i + 1) % 3;
var k = (i + 2) % 3;
fRoot = Math.sqrt(m[i * 3 + i] - m[j * 3 + j] - m[k * 3 + k] + 1.0);
out[i] = 0.5 * fRoot;
fRoot = 0.5 / fRoot;
out[3] = (m[j * 3 + k] - m[k * 3 + j]) * fRoot;
out[j] = (m[j * 3 + i] + m[i * 3 + j]) * fRoot;
out[k] = (m[k * 3 + i] + m[i * 3 + k]) * fRoot;
}
return out;
}
/**
* Creates a quaternion from the given euler angle x, y, z.
*
* @param {quat} out the receiving quaternion
* @param {x} Angle to rotate around X axis in degrees.
* @param {y} Angle to rotate around Y axis in degrees.
* @param {z} Angle to rotate around Z axis in degrees.
* @returns {quat} out
* @function
*/
function fromEuler(out, x, y, z) {
var halfToRad = 0.5 * Math.PI / 180.0;
x *= halfToRad;
y *= halfToRad;
z *= halfToRad;
var sx = Math.sin(x);
var cx = Math.cos(x);
var sy = Math.sin(y);
var cy = Math.cos(y);
var sz = Math.sin(z);
var cz = Math.cos(z);
out[0] = sx * cy * cz - cx * sy * sz;
out[1] = cx * sy * cz + sx * cy * sz;
out[2] = cx * cy * sz - sx * sy * cz;
out[3] = cx * cy * cz + sx * sy * sz;
return out;
}
/**
* Returns a string representation of a quatenion
*
* @param {quat} a vector to represent as a string
* @returns {String} string representation of the vector
*/
function str(a) {
return 'quat(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + a[3] + ')';
}
/**
* Creates a new quat initialized with values from an existing quaternion
*
* @param {quat} a quaternion to clone
* @returns {quat} a new quaternion
* @function
*/
var clone = exports.clone = vec4.clone;
/**
* Creates a new quat initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {quat} a new quaternion
* @function
*/
var fromValues = exports.fromValues = vec4.fromValues;
/**
* Copy the values from one quat to another
*
* @param {quat} out the receiving quaternion
* @param {quat} a the source quaternion
* @returns {quat} out
* @function
*/
var copy = exports.copy = vec4.copy;
/**
* Set the components of a quat to the given values
*
* @param {quat} out the receiving quaternion
* @param {Number} x X component
* @param {Number} y Y component
* @param {Number} z Z component
* @param {Number} w W component
* @returns {quat} out
* @function
*/
var set = exports.set = vec4.set;
/**
* Adds two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {quat} out
* @function
*/
var add = exports.add = vec4.add;
/**
* Alias for {@link quat.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Scales a quat by a scalar number
*
* @param {quat} out the receiving vector
* @param {quat} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {quat} out
* @function
*/
var scale = exports.scale = vec4.scale;
/**
* Calculates the dot product of two quat's
*
* @param {quat} a the first operand
* @param {quat} b the second operand
* @returns {Number} dot product of a and b
* @function
*/
var dot = exports.dot = vec4.dot;
/**
* Performs a linear interpolation between two quat's
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {quat} out
* @function
*/
var lerp = exports.lerp = vec4.lerp;
/**
* Calculates the length of a quat
*
* @param {quat} a vector to calculate length of
* @returns {Number} length of a
*/
var length = exports.length = vec4.length;
/**
* Alias for {@link quat.length}
* @function
*/
var len = exports.len = length;
/**
* Calculates the squared length of a quat
*
* @param {quat} a vector to calculate squared length of
* @returns {Number} squared length of a
* @function
*/
var squaredLength = exports.squaredLength = vec4.squaredLength;
/**
* Alias for {@link quat.squaredLength}
* @function
*/
var sqrLen = exports.sqrLen = squaredLength;
/**
* Normalize a quat
*
* @param {quat} out the receiving quaternion
* @param {quat} a quaternion to normalize
* @returns {quat} out
* @function
*/
var normalize = exports.normalize = vec4.normalize;
/**
* Returns whether or not the quaternions have exactly the same elements in the same position (when compared with ===)
*
* @param {quat} a The first quaternion.
* @param {quat} b The second quaternion.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
var exactEquals = exports.exactEquals = vec4.exactEquals;
/**
* Returns whether or not the quaternions have approximately the same elements in the same position.
*
* @param {quat} a The first vector.
* @param {quat} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
var equals = exports.equals = vec4.equals;
/**
* Sets a quaternion to represent the shortest rotation from one
* vector to another.
*
* Both vectors are assumed to be unit length.
*
* @param {quat} out the receiving quaternion.
* @param {vec3} a the initial vector
* @param {vec3} b the destination vector
* @returns {quat} out
*/
var rotationTo = exports.rotationTo = function () {
var tmpvec3 = vec3.create();
var xUnitVec3 = vec3.fromValues(1, 0, 0);
var yUnitVec3 = vec3.fromValues(0, 1, 0);
return function (out, a, b) {
var dot = vec3.dot(a, b);
if (dot < -0.999999) {
vec3.cross(tmpvec3, xUnitVec3, a);
if (vec3.len(tmpvec3) < 0.000001) vec3.cross(tmpvec3, yUnitVec3, a);
vec3.normalize(tmpvec3, tmpvec3);
setAxisAngle(out, tmpvec3, Math.PI);
return out;
} else if (dot > 0.999999) {
out[0] = 0;
out[1] = 0;
out[2] = 0;
out[3] = 1;
return out;
} else {
vec3.cross(tmpvec3, a, b);
out[0] = tmpvec3[0];
out[1] = tmpvec3[1];
out[2] = tmpvec3[2];
out[3] = 1 + dot;
return normalize(out, out);
}
};
}();
/**
* Performs a spherical linear interpolation with two control points
*
* @param {quat} out the receiving quaternion
* @param {quat} a the first operand
* @param {quat} b the second operand
* @param {quat} c the third operand
* @param {quat} d the fourth operand
* @param {Number} t interpolation amount
* @returns {quat} out
*/
var sqlerp = exports.sqlerp = function () {
var temp1 = create();
var temp2 = create();
return function (out, a, b, c, d, t) {
slerp(temp1, a, d, t);
slerp(temp2, b, c, t);
slerp(out, temp1, temp2, 2 * t * (1 - t));
return out;
};
}();
/**
* Sets the specified quaternion with values corresponding to the given
* axes. Each axis is a vec3 and is expected to be unit length and
* perpendicular to all other specified axes.
*
* @param {vec3} view the vector representing the viewing direction
* @param {vec3} right the vector representing the local "right" direction
* @param {vec3} up the vector representing the local "up" direction
* @returns {quat} out
*/
var setAxes = exports.setAxes = function () {
var matr = mat3.create();
return function (out, view, right, up) {
matr[0] = right[0];
matr[3] = right[1];
matr[6] = right[2];
matr[1] = up[0];
matr[4] = up[1];
matr[7] = up[2];
matr[2] = -view[0];
matr[5] = -view[1];
matr[8] = -view[2];
return normalize(out, fromMat3(out, matr));
};
}();
/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.forEach = exports.sqrLen = exports.sqrDist = exports.dist = exports.div = exports.mul = exports.sub = exports.len = undefined;
exports.create = create;
exports.clone = clone;
exports.fromValues = fromValues;
exports.copy = copy;
exports.set = set;
exports.add = add;
exports.subtract = subtract;
exports.multiply = multiply;
exports.divide = divide;
exports.ceil = ceil;
exports.floor = floor;
exports.min = min;
exports.max = max;
exports.round = round;
exports.scale = scale;
exports.scaleAndAdd = scaleAndAdd;
exports.distance = distance;
exports.squaredDistance = squaredDistance;
exports.length = length;
exports.squaredLength = squaredLength;
exports.negate = negate;
exports.inverse = inverse;
exports.normalize = normalize;
exports.dot = dot;
exports.cross = cross;
exports.lerp = lerp;
exports.random = random;
exports.transformMat2 = transformMat2;
exports.transformMat2d = transformMat2d;
exports.transformMat3 = transformMat3;
exports.transformMat4 = transformMat4;
exports.str = str;
exports.exactEquals = exactEquals;
exports.equals = equals;
var _common = __webpack_require__(0);
var glMatrix = _interopRequireWildcard(_common);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
/**
* 2 Dimensional Vector
* @module vec2
*/
/**
* Creates a new, empty vec2
*
* @returns {vec2} a new 2D vector
*/
function create() {
var out = new glMatrix.ARRAY_TYPE(2);
out[0] = 0;
out[1] = 0;
return out;
}
/**
* Creates a new vec2 initialized with values from an existing vector
*
* @param {vec2} a vector to clone
* @returns {vec2} a new 2D vector
*/
/* Copyright (c) 2015, Brandon Jones, Colin MacKenzie IV.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. */
function clone(a) {
var out = new glMatrix.ARRAY_TYPE(2);
out[0] = a[0];
out[1] = a[1];
return out;
}
/**
* Creates a new vec2 initialized with the given values
*
* @param {Number} x X component
* @param {Number} y Y component
* @returns {vec2} a new 2D vector
*/
function fromValues(x, y) {
var out = new glMatrix.ARRAY_TYPE(2);
out[0] = x;
out[1] = y;
return out;
}
/**
* Copy the values from one vec2 to another
*
* @param {vec2} out the receiving vector
* @param {vec2} a the source vector
* @returns {vec2} out
*/
function copy(out, a) {
out[0] = a[0];
out[1] = a[1];
return out;
}
/**
* Set the components of a vec2 to the given values
*
* @param {vec2} out the receiving vector
* @param {Number} x X component
* @param {Number} y Y component
* @returns {vec2} out
*/
function set(out, x, y) {
out[0] = x;
out[1] = y;
return out;
}
/**
* Adds two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function add(out, a, b) {
out[0] = a[0] + b[0];
out[1] = a[1] + b[1];
return out;
}
/**
* Subtracts vector b from vector a
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function subtract(out, a, b) {
out[0] = a[0] - b[0];
out[1] = a[1] - b[1];
return out;
}
/**
* Multiplies two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function multiply(out, a, b) {
out[0] = a[0] * b[0];
out[1] = a[1] * b[1];
return out;
};
/**
* Divides two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function divide(out, a, b) {
out[0] = a[0] / b[0];
out[1] = a[1] / b[1];
return out;
};
/**
* Math.ceil the components of a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to ceil
* @returns {vec2} out
*/
function ceil(out, a) {
out[0] = Math.ceil(a[0]);
out[1] = Math.ceil(a[1]);
return out;
};
/**
* Math.floor the components of a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to floor
* @returns {vec2} out
*/
function floor(out, a) {
out[0] = Math.floor(a[0]);
out[1] = Math.floor(a[1]);
return out;
};
/**
* Returns the minimum of two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function min(out, a, b) {
out[0] = Math.min(a[0], b[0]);
out[1] = Math.min(a[1], b[1]);
return out;
};
/**
* Returns the maximum of two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec2} out
*/
function max(out, a, b) {
out[0] = Math.max(a[0], b[0]);
out[1] = Math.max(a[1], b[1]);
return out;
};
/**
* Math.round the components of a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to round
* @returns {vec2} out
*/
function round(out, a) {
out[0] = Math.round(a[0]);
out[1] = Math.round(a[1]);
return out;
};
/**
* Scales a vec2 by a scalar number
*
* @param {vec2} out the receiving vector
* @param {vec2} a the vector to scale
* @param {Number} b amount to scale the vector by
* @returns {vec2} out
*/
function scale(out, a, b) {
out[0] = a[0] * b;
out[1] = a[1] * b;
return out;
};
/**
* Adds two vec2's after scaling the second operand by a scalar value
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @param {Number} scale the amount to scale b by before adding
* @returns {vec2} out
*/
function scaleAndAdd(out, a, b, scale) {
out[0] = a[0] + b[0] * scale;
out[1] = a[1] + b[1] * scale;
return out;
};
/**
* Calculates the euclidian distance between two vec2's
*
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {Number} distance between a and b
*/
function distance(a, b) {
var x = b[0] - a[0],
y = b[1] - a[1];
return Math.sqrt(x * x + y * y);
};
/**
* Calculates the squared euclidian distance between two vec2's
*
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {Number} squared distance between a and b
*/
function squaredDistance(a, b) {
var x = b[0] - a[0],
y = b[1] - a[1];
return x * x + y * y;
};
/**
* Calculates the length of a vec2
*
* @param {vec2} a vector to calculate length of
* @returns {Number} length of a
*/
function length(a) {
var x = a[0],
y = a[1];
return Math.sqrt(x * x + y * y);
};
/**
* Calculates the squared length of a vec2
*
* @param {vec2} a vector to calculate squared length of
* @returns {Number} squared length of a
*/
function squaredLength(a) {
var x = a[0],
y = a[1];
return x * x + y * y;
};
/**
* Negates the components of a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to negate
* @returns {vec2} out
*/
function negate(out, a) {
out[0] = -a[0];
out[1] = -a[1];
return out;
};
/**
* Returns the inverse of the components of a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to invert
* @returns {vec2} out
*/
function inverse(out, a) {
out[0] = 1.0 / a[0];
out[1] = 1.0 / a[1];
return out;
};
/**
* Normalize a vec2
*
* @param {vec2} out the receiving vector
* @param {vec2} a vector to normalize
* @returns {vec2} out
*/
function normalize(out, a) {
var x = a[0],
y = a[1];
var len = x * x + y * y;
if (len > 0) {
//TODO: evaluate use of glm_invsqrt here?
len = 1 / Math.sqrt(len);
out[0] = a[0] * len;
out[1] = a[1] * len;
}
return out;
};
/**
* Calculates the dot product of two vec2's
*
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {Number} dot product of a and b
*/
function dot(a, b) {
return a[0] * b[0] + a[1] * b[1];
};
/**
* Computes the cross product of two vec2's
* Note that the cross product must by definition produce a 3D vector
*
* @param {vec3} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @returns {vec3} out
*/
function cross(out, a, b) {
var z = a[0] * b[1] - a[1] * b[0];
out[0] = out[1] = 0;
out[2] = z;
return out;
};
/**
* Performs a linear interpolation between two vec2's
*
* @param {vec2} out the receiving vector
* @param {vec2} a the first operand
* @param {vec2} b the second operand
* @param {Number} t interpolation amount between the two inputs
* @returns {vec2} out
*/
function lerp(out, a, b, t) {
var ax = a[0],
ay = a[1];
out[0] = ax + t * (b[0] - ax);
out[1] = ay + t * (b[1] - ay);
return out;
};
/**
* Generates a random vector with the given scale
*
* @param {vec2} out the receiving vector
* @param {Number} [scale] Length of the resulting vector. If ommitted, a unit vector will be returned
* @returns {vec2} out
*/
function random(out, scale) {
scale = scale || 1.0;
var r = glMatrix.RANDOM() * 2.0 * Math.PI;
out[0] = Math.cos(r) * scale;
out[1] = Math.sin(r) * scale;
return out;
};
/**
* Transforms the vec2 with a mat2
*
* @param {vec2} out the receiving vector
* @param {vec2} a the vector to transform
* @param {mat2} m matrix to transform with
* @returns {vec2} out
*/
function transformMat2(out, a, m) {
var x = a[0],
y = a[1];
out[0] = m[0] * x + m[2] * y;
out[1] = m[1] * x + m[3] * y;
return out;
};
/**
* Transforms the vec2 with a mat2d
*
* @param {vec2} out the receiving vector
* @param {vec2} a the vector to transform
* @param {mat2d} m matrix to transform with
* @returns {vec2} out
*/
function transformMat2d(out, a, m) {
var x = a[0],
y = a[1];
out[0] = m[0] * x + m[2] * y + m[4];
out[1] = m[1] * x + m[3] * y + m[5];
return out;
};
/**
* Transforms the vec2 with a mat3
* 3rd vector component is implicitly '1'
*
* @param {vec2} out the receiving vector
* @param {vec2} a the vector to transform
* @param {mat3} m matrix to transform with
* @returns {vec2} out
*/
function transformMat3(out, a, m) {
var x = a[0],
y = a[1];
out[0] = m[0] * x + m[3] * y + m[6];
out[1] = m[1] * x + m[4] * y + m[7];
return out;
};
/**
* Transforms the vec2 with a mat4
* 3rd vector component is implicitly '0'
* 4th vector component is implicitly '1'
*
* @param {vec2} out the receiving vector
* @param {vec2} a the vector to transform
* @param {mat4} m matrix to transform with
* @returns {vec2} out
*/
function transformMat4(out, a, m) {
var x = a[0];
var y = a[1];
out[0] = m[0] * x + m[4] * y + m[12];
out[1] = m[1] * x + m[5] * y + m[13];
return out;
}
/**
* Returns a string representation of a vector
*
* @param {vec2} a vector to represent as a string
* @returns {String} string representation of the vector
*/
function str(a) {
return 'vec2(' + a[0] + ', ' + a[1] + ')';
}
/**
* Returns whether or not the vectors exactly have the same elements in the same position (when compared with ===)
*
* @param {vec2} a The first vector.
* @param {vec2} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function exactEquals(a, b) {
return a[0] === b[0] && a[1] === b[1];
}
/**
* Returns whether or not the vectors have approximately the same elements in the same position.
*
* @param {vec2} a The first vector.
* @param {vec2} b The second vector.
* @returns {Boolean} True if the vectors are equal, false otherwise.
*/
function equals(a, b) {
var a0 = a[0],
a1 = a[1];
var b0 = b[0],
b1 = b[1];
return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1));
}
/**
* Alias for {@link vec2.length}
* @function
*/
var len = exports.len = length;
/**
* Alias for {@link vec2.subtract}
* @function
*/
var sub = exports.sub = subtract;
/**
* Alias for {@link vec2.multiply}
* @function
*/
var mul = exports.mul = multiply;
/**
* Alias for {@link vec2.divide}
* @function
*/
var div = exports.div = divide;
/**
* Alias for {@link vec2.distance}
* @function
*/
var dist = exports.dist = distance;
/**
* Alias for {@link vec2.squaredDistance}
* @function
*/
var sqrDist = exports.sqrDist = squaredDistance;
/**
* Alias for {@link vec2.squaredLength}
* @function
*/
var sqrLen = exports.sqrLen = squaredLength;
/**
* Perform some operation over an array of vec2s.
*
* @param {Array} a the array of vectors to iterate over
* @param {Number} stride Number of elements between the start of each vec2. If 0 assumes tightly packed
* @param {Number} offset Number of elements to skip at the beginning of the array
* @param {Number} count Number of vec2s to iterate over. If 0 iterates over entire array
* @param {Function} fn Function to call for each vector in the array
* @param {Object} [arg] additional argument to pass to fn
* @returns {Array} a
* @function
*/
var forEach = exports.forEach = function () {
var vec = create();
return function (a, stride, offset, count, fn, arg) {
var i = void 0,
l = void 0;
if (!stride) {
stride = 2;
}
if (!offset) {
offset = 0;
}
if (count) {
l = Math.min(count * stride + offset, a.length);
} else {
l = a.length;
}
for (i = offset; i < l; i += stride) {
vec[0] = a[i];vec[1] = a[i + 1];
fn(vec, vec, arg);
a[i] = vec[0];a[i + 1] = vec[1];
}
return a;
};
}();
/***/ })
/******/ ]);
});
<!DOCTYPE html>
<html>
<style>
canvas { width: 100vw; height: 100vh; display: block }
</style>
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="gl-matrix.js"></script>
<script type="text/javascript" src="modelo3d.js"></script>
<script type="text/javascript" src="modelo3d_vt.js"></script>
<script type="text/javascript" src="modelo3d_vn.js"></script>
<!--script type="text/javascript" src="game-shim.js"></script>
<script type="text/javascript" src="kbd-mouse-events.js"></script-->
<script type="text/javascript" src="kbd-mouse-events-q2.js"></script>
<script type="text/javascript">
//Forked from https://codepen.io/pfiguero/pen/EoeVVZ/?editors=0010#0 by Pablo Figueroa
var cubeRotation = 0.0;
var pointlightsMatrix = mat3.create();
pointlightsMatrix[0] = -39.041;
pointlightsMatrix[1] = 2.0;
pointlightsMatrix[2] = 13.3;
pointlightsMatrix[3] = -48,912;
pointlightsMatrix[4] = 0,587;
pointlightsMatrix[5] = 46,261;
pointlightsMatrix[6] = -54,643;
pointlightsMatrix[7] = 0,587;
pointlightsMatrix[8] = 38,351;
//no funciona en jquery
//var glc = document.getElementById("glcanvas");
//console.log("nombre="+indicesconj[0].nombre+"|");
//console.log("dos="+indicesconj[0].triangulos[5]+"|");
//este inicio no funciona para jquery
//main();
//
// Start here
//
function main() {
//const canvas = document.querySelector('#glcanvas');
//const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
var canvas = $('#glcanvas').get(0);
var gl = getAvailableContext(canvas, ['webgl', 'experimental-webgl']);
// If we don't have a GL context, give up now
if (!gl) {
alert('Unable to initialize WebGL. Your browser or machine may not support it.');
return;
}
initEvents();
// Vertex shader program
const vsSource = `
attribute vec4 aVertexPosition;
attribute vec3 aVertexNormal;
attribute vec2 aTextureCoord;
uniform mat4 uNormalMatrix;
uniform mat4 uModelViewMatrix;
uniform mat4 uProjectionMatrix;
varying highp vec2 vTextureCoord;
varying highp vec3 vLighting;
void main(void) {
gl_Position = uProjectionMatrix * uModelViewMatrix * aVertexPosition;
vTextureCoord = aTextureCoord;
// Apply lighting effect
highp vec3 ambientLight = vec3(0.3, 0.3, 0.3);
highp vec3 directionalLightColor = vec3(1, 1, 1);
highp vec3 directionalVector = normalize(vec3(0.85, 0.8, 0.75));
highp vec4 transformedNormal = uNormalMatrix * vec4(aVertexNormal, 1.0);
highp float directional = max(dot(transformedNormal.xyz, directionalVector), 0.0);
vLighting = ambientLight + (directionalLightColor * directional);
}
`;
// Fragment shader program
const fsSource = `
varying highp vec2 vTextureCoord;
varying highp vec3 vLighting;
uniform sampler2D uSampler;
void main(void) {
highp vec4 texelColor = texture2D(uSampler, vTextureCoord);
gl_FragColor = vec4(texelColor.rgb * vLighting, texelColor.a);
}
`;
const vsSource_point = `
attribute vec4 a_position;
attribute vec3 a_normal;
attribute vec2 aTextureCoord;
uniform mat3 u_lightWorldPosition;
uniform mat4 uModelViewMatrix;
uniform mat4 uProjectionMatrix;
varying vec3 v_normal;
varying mat3 v_surfaceToLight;
varying highp vec2 vTextureCoord;
void main() {
gl_Position = uProjectionMatrix * uModelViewMatrix * a_position;
v_normal = a_normal;
for (int i = 0; i < 3; i++) {
v_surfaceToLight[i] = u_lightWorldPosition[i] - a_position.xyz;
}
vTextureCoord = aTextureCoord;
}
`;
const fsSource_point = `
precision mediump float;
// Passed in from the vertex shader.
varying vec3 v_normal;
varying mat3 v_surfaceToLight;
varying highp vec2 vTextureCoord;
uniform sampler2D uSampler;
void main() {
// because v_normal is a varying it's interpolated
// we it will not be a uint vector. Normalizing it
// will make it a unit vector again
vec3 normal = normalize(v_normal);
float light = 0.0;
for (int i = 0; i < 3; i++) {
float distancia = length(v_surfaceToLight[i]);
vec3 surfaceToLightDirection = normalize(v_surfaceToLight[i]);
light += dot(normal, surfaceToLightDirection) * clamp(7.0 - distancia, 0.0, 1.0);
}
light = max(light, 0.3);
//vec4 prueba = vec4(0.0, 0.0, 0.0, 1.0);
//if (normal.z >= 0.0) prueba.r += 0.9;
//gl_FragColor = vec4(normal, 1.0);
//gl_FragColor = prueba;
gl_FragColor = texture2D(uSampler, vTextureCoord);
//gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);
// Lets multiply just the color portion (not the alpha)
// by the light
gl_FragColor.rgb *= light;
}
`;
// Initialize a shader program; this is where all the lighting
// for the vertices and so forth is established.
const shaderProgram = initShaderProgram(gl, vsSource, fsSource);
// Collect all the info needed to use the shader program.
// Look up which attributes our shader program is using
// for aVertexPosition, aVertexColor and also
// look up uniform locations.
const programInfo = {
program: shaderProgram,
tipoluz: "directional",
attribLocations: {
vertexPosition: gl.getAttribLocation(shaderProgram, 'aVertexPosition'),
vertexNormal: gl.getAttribLocation(shaderProgram, 'aVertexNormal'),
textureCoord: gl.getAttribLocation(shaderProgram, 'aTextureCoord'),
},
uniformLocations: {
projectionMatrix: gl.getUniformLocation(shaderProgram, 'uProjectionMatrix'),
modelViewMatrix: gl.getUniformLocation(shaderProgram, 'uModelViewMatrix'),
normalMatrix: gl.getUniformLocation(shaderProgram, 'uNormalMatrix'),
uSampler: gl.getUniformLocation(shaderProgram, 'uSampler'),
},
};
const shaderProgram_point = initShaderProgram(gl, vsSource_point, fsSource_point);
const programInfo_point = {
program: shaderProgram_point,
tipoluz: "pointlight",
attribLocations: {
vertexPosition: gl.getAttribLocation(shaderProgram_point, 'a_position'),
vertexNormal: gl.getAttribLocation(shaderProgram_point, 'a_normal'),
textureCoord: gl.getAttribLocation(shaderProgram_point, 'aTextureCoord'),
},
uniformLocations: {
projectionMatrix: gl.getUniformLocation(shaderProgram_point, 'uProjectionMatrix'),
modelViewMatrix: gl.getUniformLocation(shaderProgram_point, 'uModelViewMatrix'),
lightWorldPositionLocation: gl.getUniformLocation(shaderProgram_point, 'u_lightWorldPosition'),
uSampler: gl.getUniformLocation(shaderProgram_point, 'uSampler'),
},
};
var then = 0;
var buffers = [];
for (var j = 0; j < indicesconj.length; j++) {
buffers[j] = initBuffers(gl,
indicesconj[j].triangulos,
indicesconj_textura[j].triangulos,
indicesconj_normal[j].triangulos,
((indicesconj_textura[j].escala)? indicesconj_textura[j].escala : 1)
);
}
const texture = loadTexture(gl, 'textura.png');
const texturesilla = loadTexture(gl, 'texturasilla.png');
const textureagua = loadTexture(gl, 'texturaagua.png');
const texturecolumna = loadTexture(gl, 'texturacolumna.png');
// Draw the scene repeatedly
function render(now) {
now *= 0.001; // convert to seconds
const deltaTime = now - then;
then = now;
//drawScenePrevio ini
gl.clearColor(0.0, 0.0, 0.0, 1.0); // Clear to black, fully opaque
gl.clearDepth(1.0); // Clear everything
gl.enable(gl.DEPTH_TEST); // Enable depth testing
gl.depthFunc(gl.LEQUAL); // Near things obscure far things
// Clear the canvas before we start drawing on it.
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
// Create a perspective matrix, a special matrix that is
// used to simulate the distortion of perspective in a camera.
// Our field of view is 45 degrees, with a width/height
// ratio that matches the display size of the canvas
// and we only want to see objects between 0.1 units
// and 100 units away from the camera.
const fieldOfView = 45 * Math.PI / 180; // in radians
const aspect = canvas.clientWidth / canvas.clientHeight;
const zNear = 0.1;
const zFar = 200.0;
const projectionMatrix = mat4.create();
// note: glmatrix.js always has the first argument
// as the destination to receive the result.
mat4.perspective(projectionMatrix,
fieldOfView,
aspect,
zNear,
zFar);
//drawScenePrevio fin
// Set the drawing position to the "identity" point, which is
// the center of the scene.
var modelViewMatrix = mat4.create();
/*
mat4.translate(modelViewMatrix, // destination matrix
modelViewMatrix, // matrix to translate
[-0.0, 4.0, -35.0]); // amount to translate
mat4.rotate(modelViewMatrix, // destination matrix
modelViewMatrix, // matrix to rotate
(15 * Math.PI / 180),// amount to rotate in radians
[1, 0, 0]); // axis to rotate around (X)
*/
//mat4.lookAt(modelViewMatrix, [0.0, 120.0, -30.0], [0,0,0], [0,1,0]);
mat4.identity(modelViewMatrix);
const normalMatrix = mat4.create();
mat4.invert(normalMatrix, modelViewMatrix);
mat4.transpose(normalMatrix, normalMatrix);
var worldMatrix = mat4.create();
mat4.identity(worldMatrix);
mat4.rotateX(worldMatrix, worldMatrix, xAngle-Math.PI/2);
mat4.rotateY(worldMatrix, worldMatrix, zAngle);//Y es el Up
mat4.translate(worldMatrix, worldMatrix, cameraPosition);
mat4.multiply(modelViewMatrix, modelViewMatrix, worldMatrix);
for (var i = 0; i < indicesconj.length; i++) {
//for (var i = 0; i < 1; i++) {
var texture_inst = texture;
if (indicesconj_textura[i].textura == "silla") texture_inst = texturesilla;
else if (indicesconj_textura[i].textura == "agua") texture_inst = textureagua;
else if (indicesconj_textura[i].textura == "columna") texture_inst = texturecolumna;
var programInfo_inst = programInfo;
if (indicesconj_normal[i].tipoluz == "pointlight") programInfo_inst = programInfo_point;
// Here's where we call the routine that builds all the
// objects we'll be drawing.
drawScene(gl, programInfo_inst, buffers[i], projectionMatrix, modelViewMatrix, normalMatrix, indicesconj[i].triangulos.length, texture_inst);
}
// Update the rotation for the next draw
cubeRotation += deltaTime;
requestAnimationFrame(render);
}
requestAnimationFrame(render);
}
//
// initBuffers
//
// Initialize the buffers we'll need. For this demo, we just
// have one object -- a simple three-dimensional cube.
//
function initBuffers(gl, indices, indicestextura, indicesnormal, texturaescala) {
var positions2 = [];
var indices2 = [];
var positions_textura2 = [];
var positions_normal2 = [];
var indcont = 0;
for (var ai = 0; ai < indices.length; ai++) {
positions2.push(positions[3*indices[ai]]);
positions_textura2.push(positions_textura[3*indicestextura[ai]] * texturaescala);
positions_normal2.push(positions_normal[3*indicesnormal[ai]]);
indices2[indcont] = indcont;
indcont++;
positions2.push(positions[3*indices[ai] + 1]);
positions_textura2.push(positions_textura[3*indicestextura[ai] + 1] * texturaescala);
positions_normal2.push(positions_normal[3*indicesnormal[ai] + 1]);
indices2[indcont] = indcont;
indcont++;
positions2.push(positions[3*indices[ai] + 2]);
//positions_textura2.push(positions_textura[3*indicestextura[ai] + 2]);//array de texturas en webgl es de solo 2 coordenadas
positions_normal2.push(positions_normal[3*indicesnormal[ai] + 2]);
indices2[indcont] = indcont;
indcont++;
}
// Create a buffer for the cube's vertex positions.
const positionBuffer = gl.createBuffer();
// Select the positionBuffer as the one to apply buffer
// operations to from here out.
gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
// Now pass the list of positions into WebGL to build the
// shape. We do this by creating a Float32Array from the
// JavaScript array, then use it to fill the current buffer.
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions2), gl.STATIC_DRAW);
// Set up the normals for the vertices, so that we can compute lighting.
const normalBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, normalBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions_normal2),
gl.STATIC_DRAW);
// Now set up the texture coordinates for the faces.
const textureCoordBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, textureCoordBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions_textura2),
gl.STATIC_DRAW);
// Build the element array buffer; this specifies the indices
// into the vertex arrays for each face's vertices.
const indexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);
// Now send the element array to GL
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER,
new Uint16Array(indices2), gl.STATIC_DRAW);
return {
position: positionBuffer,
normal: normalBuffer,
textureCoord: textureCoordBuffer,
indices: indexBuffer,
};
}
//
// Initialize a texture and load an image.
// When the image finished loading copy it into the texture.
//
function loadTexture(gl, url) {
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
// Because images have to be download over the internet
// they might take a moment until they are ready.
// Until then put a single pixel in the texture so we can
// use it immediately. When the image has finished downloading
// we'll update the texture with the contents of the image.
const level = 0;
const internalFormat = gl.RGBA;
const width = 1;
const height = 1;
const border = 0;
const srcFormat = gl.RGBA;
const srcType = gl.UNSIGNED_BYTE;
const pixel = new Uint8Array([0, 0, 255, 255]); // opaque blue
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat,
width, height, border, srcFormat, srcType,
pixel);
const image = new Image();
image.onload = function() {
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, level, internalFormat,
srcFormat, srcType, image);
// WebGL1 has different requirements for power of 2 images
// vs non power of 2 images so check if the image is a
// power of 2 in both dimensions.
if (isPowerOf2(image.width) && isPowerOf2(image.height)) {
// Yes, it's a power of 2. Generate mips.
gl.generateMipmap(gl.TEXTURE_2D);
} else {
// No, it's not a power of 2. Turn of mips and set
// wrapping to clamp to edge
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
}
};
image.src = url;
return texture;
}
function isPowerOf2(value) {
return (value & (value - 1)) == 0;
}
//
// Draw the scene.
//
function drawScene(gl, programInfo, buffers, projectionMatrix, modelViewMatrix, normalMatrix, numVertices, texture) {
// Now move the drawing position a bit to where we want to
// start drawing the square.
/* mat4.translate(modelViewMatrix, // destination matrix
modelViewMatrix, // matrix to translate
[-0.0, 0.0, -15.0]); // amount to translate
mat4.rotate(modelViewMatrix, // destination matrix
modelViewMatrix, // matrix to rotate
cubeRotation,// amount to rotate in radians
[0, 1, 0]); // axis to rotate around (X)*/
// Tell WebGL how to pull out the positions from the position
// buffer into the vertexPosition attribute
{
const numComponents = 3;
const type = gl.FLOAT;
const normalize = false;
const stride = 0;
const offset = 0;
gl.bindBuffer(gl.ARRAY_BUFFER, buffers.position);
gl.vertexAttribPointer(
programInfo.attribLocations.vertexPosition,
numComponents,
type,
normalize,
stride,
offset);
gl.enableVertexAttribArray(
programInfo.attribLocations.vertexPosition);
}
// Tell WebGL how to pull out the texture coordinates from
// the texture coordinate buffer into the textureCoord attribute.
{
const numComponents = 2;
const type = gl.FLOAT;
const normalize = false;
const stride = 0;
const offset = 0;
gl.bindBuffer(gl.ARRAY_BUFFER, buffers.textureCoord);
gl.vertexAttribPointer(
programInfo.attribLocations.textureCoord,
numComponents,
type,
normalize,
stride,
offset);
gl.enableVertexAttribArray(
programInfo.attribLocations.textureCoord);
}
// Tell WebGL how to pull out the normals from
// the normal buffer into the vertexNormal attribute.
{
const numComponents = 3;
const type = gl.FLOAT;
const normalize = false;
const stride = 0;
const offset = 0;
gl.bindBuffer(gl.ARRAY_BUFFER, buffers.normal);
gl.vertexAttribPointer(
programInfo.attribLocations.vertexNormal,
numComponents,
type,
normalize,
stride,
offset);
gl.enableVertexAttribArray(
programInfo.attribLocations.vertexNormal);
}
// Tell WebGL which indices to use to index the vertices
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffers.indices);
// Tell WebGL to use our program when drawing
gl.useProgram(programInfo.program);
// Set the shader uniforms
gl.uniformMatrix4fv(
programInfo.uniformLocations.projectionMatrix,
false,
projectionMatrix);
gl.uniformMatrix4fv(
programInfo.uniformLocations.modelViewMatrix,
false,
modelViewMatrix);
gl.uniformMatrix4fv(
programInfo.uniformLocations.normalMatrix,
false,
normalMatrix);
if (programInfo.tipoluz == "pointlight"){
gl.uniformMatrix3fv(
programInfo.uniformLocations.lightWorldPositionLocation,
false,
pointlightsMatrix
);
}
// Specify the texture to map onto the polygons.
// Tell WebGL we want to affect texture unit 0
gl.activeTexture(gl.TEXTURE0);
// Bind the texture to texture unit 0
gl.bindTexture(gl.TEXTURE_2D, texture);
// Tell the shader we bound the texture to texture unit 0
gl.uniform1i(programInfo.uniformLocations.uSampler, 0);
{
const vertexCount = numVertices;
const type = gl.UNSIGNED_SHORT;
const offset = 0;
gl.drawElements(gl.TRIANGLES, vertexCount, type, offset);
//console.log("vertexCount="+vertexCount);
}
}
//
// Initialize a shader program, so WebGL knows how to draw our data
//
function initShaderProgram(gl, vsSource, fsSource) {
const vertexShader = loadShader(gl, gl.VERTEX_SHADER, vsSource);
const fragmentShader = loadShader(gl, gl.FRAGMENT_SHADER, fsSource);
// Create the shader program
const shaderProgram = gl.createProgram();
gl.attachShader(shaderProgram, vertexShader);
gl.attachShader(shaderProgram, fragmentShader);
gl.linkProgram(shaderProgram);
// If creating the shader program failed, alert
if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
alert('Unable to initialize the shader program: ' + gl.getProgramInfoLog(shaderProgram));
return null;
}
return shaderProgram;
}
//
// creates a shader of the given type, uploads the source and
// compiles it.
//
function loadShader(gl, type, source) {
const shader = gl.createShader(type);
// Send the source to the shader object
gl.shaderSource(shader, source);
// Compile the shader program
gl.compileShader(shader);
// See if it compiled successfully
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
alert('An error occurred compiling the shaders: ' + gl.getShaderInfoLog(shader));
gl.deleteShader(shader);
return null;
}
return shader;
}
$(main); // Fire this once the page is loaded up
</script>
</head>
<body>
<div id="viewport-frame">
<canvas id="glcanvas" width="1280" height="960"></canvas>
</div>
</body>
</html>
/*!
* jQuery JavaScript Library v1.4.2
* http://jquery.com/
*
* Copyright 2010, John Resig
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* Includes Sizzle.js
* http://sizzlejs.com/
* Copyright 2010, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
*
* Date: Sat Feb 13 22:33:48 2010 -0500
*/
(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
/*
* Rutinas para manejo de mouse y teclado, extraidos de:
* http://media.tojicode.com/q2bsp/
*/
/*
* Copyright (c) 2009 Brandon Jones
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
* arising from the use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not
* be misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source
* distribution.
*/
var zAngle = 0;
var xAngle = Math.PI/2;
//var cameraPosition = [-1024, -512, -512];
//CURRENT
//var cameraPosition = [-20.0, 0.0, -50.0];
//prueba shaders
zAngle = -xAngle;
xAngle *= 0.75;
var cameraPosition = [38.0, -0.508, -13.147];
var escalaRotacion = 0.006;
function getAvailableContext(canvas, contextList) {
if (canvas.getContext) {
for(var i = 0; i < contextList.length; ++i) {
try {
var context = canvas.getContext(contextList[i]);
if(context != null)
return context;
} catch(ex) { }
}
}
return null;
}
//from glMatrix-min.js
function multiplyVec3(c,a,b,c){
c||(c=b);
var d=b[0],e=b[1];
b=b[2];
c[0]=a[0]*d+a[4]*e+a[8]*b+a[12];
c[1]=a[1]*d+a[5]*e+a[9]*b+a[13];
c[2]=a[2]*d+a[6]*e+a[10]*b+a[14];
return c;
}
// Set up event handling
function initEvents() {
var movingModel = false;
var lastX = 0;
var lastY = 0;
var speed = 0.8;
var pressed = new Array(128);
var cameraMat = mat4.create();
$(window).keydown(function(event) {
pressed[event.keyCode] = true;
});
$(window).keyup(function(event) {
pressed[event.keyCode] = false;
});
setInterval(function() {
// This is our first person movement code. It's not really pretty, but it works
var dir = [0, 0, 0];
if(pressed['W'.charCodeAt(0)]) {
//console.log("kbd W");
dir[2] += speed;
}
if(pressed['S'.charCodeAt(0)]) {
//console.log("kbd S");
dir[2] -= speed;
}
if(pressed['A'.charCodeAt(0)]) {
dir[0] += speed;
}
if(pressed['D'.charCodeAt(0)]) {
dir[0] -= speed;
}
if(pressed['E'.charCodeAt(0)]) {
dir[1] += speed;
}
if(pressed['Q'.charCodeAt(0)]) {
dir[1] -= speed;
}
mat4.identity(cameraMat);
mat4.rotateX(cameraMat,cameraMat, xAngle-Math.PI/2);
mat4.rotateY(cameraMat,cameraMat, zAngle);//Y es el Up
mat4.invert(cameraMat, cameraMat);
multiplyVec3(cameraMat, cameraMat, dir);
vec3.add(cameraPosition, cameraPosition, dir);
}, 33);
$('#glcanvas').mousedown(function(event) {
//console.log("mousedown");
if(event.which == 1) {
movingModel = true;
}
lastX = event.pageX;
lastY = event.pageY;
});
$('#glcanvas').mouseup(function(event) {
movingModel = false;
});
$('#glcanvas').mousemove(function(event) {
//console.log("mousemove " + movingModel);
var xDelta = event.pageX - lastX;
var yDelta = event.pageY - lastY;
lastX = event.pageX;
lastY = event.pageY;
if (movingModel) {
zAngle += xDelta*escalaRotacion;
while (zAngle < 0)
zAngle += Math.PI*2;
while (zAngle >= Math.PI*2)
zAngle -= Math.PI*2;
xAngle += yDelta*escalaRotacion;
while (xAngle < 0)
xAngle = 0;
while (xAngle > Math.PI*2)
xAngle = Math.PI*2;
//console.log(xAngle + "|" + zAngle);
}
});
}
// Now create an array of positions for the cube.
const positions = [
35.199070,-1.435185,26.020508,
35.204597,-1.435185,23.772400,
31.612118,-1.435185,23.773813,
31.606556,-1.435185,26.031319,
35.185001,-1.435185,34.628563,
35.185001,-1.435185,31.743967,
31.591141,-1.435185,32.287979,
31.591141,-1.435185,35.172577,
-7.473011,-1.435185,37.607922,
-7.473011,-1.435185,40.492516,
-12.144213,-1.435185,33.718437,
-12.144213,-1.435185,41.294403,
-14.076263,-1.435185,33.718437,
-14.076263,-1.435185,41.537663,
-16.295570,-1.435185,34.857834,
-16.295570,-1.435185,41.847553,
-19.296646,-1.435185,38.363476,
-19.486679,-1.435185,38.597252,
-14.076263,-1.435185,20.316460,
-16.295570,-1.435185,20.292896,
-14.076263,-1.435185,15.614943,
-16.295570,-1.435185,15.591379,
-12.444214,-1.435185,20.316460,
-12.444214,-1.435185,15.614943,
-18.840084,-1.435185,15.591379,
-18.840084,-1.435185,20.292896,
-14.076263,-1.435185,11.502384,
-16.295570,-1.435185,11.478821,
-12.444214,-1.435185,11.502384,
-18.840084,-1.435185,11.478821,
-22.528559,-1.435185,11.478821,
-22.528559,-1.435185,15.591379,
-14.076263,-1.435185,8.303455,
-16.295570,-1.435185,8.279892,
-12.444214,-1.435185,8.303455,
-18.840084,-1.435185,8.279892,
-22.528559,-1.435185,8.279892,
-22.528559,-1.435185,20.292896,
-26.156296,-1.435185,15.591379,
-26.156296,-1.435185,20.292896,
-26.156296,-1.435185,11.478821,
-26.156296,-1.435185,8.279892,
-36.329697,-1.435185,15.591379,
-36.329697,-1.435185,20.292896,
-36.329697,-1.435185,11.478821,
-36.329697,-1.435185,8.279892,
-63.545944,-1.435185,20.292896,
-63.545944,-1.435185,15.591379,
-66.287071,-1.435185,15.591379,
-66.287071,-1.435185,20.292896,
-63.545944,-1.435185,11.478821,
-66.287071,-1.435185,11.478821,
-61.267780,-1.435185,15.591379,
-61.267780,-1.435185,20.292896,
-53.437836,-1.435185,20.292896,
-53.437836,-1.435185,15.591379,
-61.267780,-1.435185,11.478821,
-53.437836,-1.435185,11.478821,
-61.267780,-1.435185,8.279892,
-53.437836,-1.435185,8.279892,
-61.267780,-1.435185,31.190809,
-53.437836,-1.435185,31.190811,
-53.437836,-1.435185,25.741854,
-61.267780,-1.435185,25.741852,
-66.287071,-1.435185,31.190809,
-63.545944,-1.435185,31.190809,
-63.545944,-1.435185,25.741852,
-66.287071,-1.435185,25.741852,
-63.545944,-1.435185,8.279892,
-61.725983,-1.435185,36.639767,
-63.545944,-1.435185,36.639767,
-63.545944,-1.435185,39.857170,
-61.725983,-1.435185,39.857170,
-66.287071,-1.435185,36.639767,
-66.287071,-1.435185,39.857170,
-14.076263,-1.435185,-15.247326,
-16.295570,-1.435185,-15.270889,
-12.444214,-1.435185,-15.247326,
-18.840084,-1.435185,-15.270889,
-22.528559,-1.435185,-15.270889,
-26.156296,-1.435185,-15.270889,
-46.503098,-1.435185,8.279892,
-46.503098,-1.435185,-15.270889,
-53.437836,-1.435185,-15.270889,
-61.267780,-1.435185,-15.270889,
-63.545944,-1.435185,-15.270889,
-46.512997,-1.435185,20.298565,
-46.503098,-1.435185,15.591379,
-46.503098,-1.435185,11.478821,
-36.329697,-1.435185,-15.270889,
-44.769005,-1.435185,27.000004,
-41.998123,-1.435185,27.000004,
-47.169426,-1.435185,32.112625,
-44.410164,-1.435185,32.112625,
-49.492439,-1.435185,36.701012,
-46.024231,-1.435185,36.701012,
-47.538021,-1.435185,27.019381,
-49.962883,-1.435185,32.114410,
-50.949165,-1.435185,36.702461,
-50.503319,-1.435185,40.889816,
-47.035110,-1.435185,40.889816,
-50.503319,-1.435185,45.358566,
-47.035110,-1.435185,45.358566,
-14.076263,-1.435185,-23.244556,
-16.295570,-1.435185,-23.268124,
-12.444214,-1.435185,-23.244556,
-18.840084,-1.435185,-23.268124,
-22.528559,-1.435185,-23.268124,
-26.156296,-1.435185,-23.268124,
-46.503098,-1.435185,-23.268124,
-53.437836,-1.435185,-23.268124,
-61.267780,-1.435185,-23.268124,
-63.545944,-1.435185,-23.268124,
-36.329697,-1.435185,-23.268124,
-9.392083,-1.435185,-23.244556,
-9.392083,-1.435185,-29.580357,
-12.444214,-1.435185,-29.580357,
2.427380,-1.435185,-23.244556,
2.107685,-1.435185,-29.580357,
1.224024,-1.435185,-34.547672,
-9.392083,-1.435185,-34.547672,
7.321955,-1.435185,-29.580357,
6.225601,-1.435185,-23.244556,
9.342897,-1.435185,-23.244556,
9.096703,-1.435185,-30.327900,
5.778624,-1.435185,-15.247326,
2.807049,-1.435185,-15.247326,
9.119408,-1.435185,-15.247326,
8.753075,-1.435185,-12.865173,
13.598244,-1.435185,-12.865173,
14.330914,-1.435185,-15.247326,
2.807049,-1.435185,-12.512867,
5.778624,-1.435185,-12.865173,
5.610241,-1.435185,-9.648392,
8.250799,-1.435185,-9.648392,
2.807226,-1.435185,-9.232700,
12.921837,-1.435185,-9.648392,
8.918365,-1.435185,-5.246700,
12.921837,-1.435185,-5.246700,
9.831993,-1.435185,-0.082123,
14.534771,-1.435185,-0.082123,
-53.437836,-1.435185,36.639767,
14.330914,-1.435185,-23.244556,
6.316128,-1.435185,-5.246700,
7.109003,-1.435185,-0.082123,
14.331738,-1.435185,-29.581432,
12.773201,-1.435185,-34.920628,
8.398495,-1.435185,-32.491039,
-14.076263,-1.435185,-29.580357,
-16.295570,-1.435185,-29.603916,
-18.840084,-1.435185,-29.603916,
-22.528559,-1.435185,-29.603916,
-26.156296,-1.435185,-29.603916,
-46.503098,-1.435185,-29.603916,
-53.437836,-1.435185,-29.603916,
-61.267780,-1.435185,-29.603916,
-63.545944,-1.435185,-29.603916,
-36.329697,-1.435185,-29.603916,
-9.392083,-1.435185,-15.247326,
18.770786,-1.435185,-19.931236,
24.354832,-1.435185,-22.859676,
17.679657,-1.435185,-9.648392,
18.912636,-1.435185,-12.865170,
20.599865,-1.435185,-15.247326,
17.712109,-1.435185,-5.246700,
20.502522,-1.435185,-0.082123,
17.585140,-1.435185,3.739300,
26.510273,-1.435185,3.739300,
26.485477,-1.435185,3.046032,
22.101742,-1.435185,6.435612,
26.736973,-1.435185,7.767128,
31.652500,-1.435185,7.379467,
31.625568,-1.435185,3.739300,
40.059681,-1.435185,2.379570,
35.247684,-1.435185,6.246616,
31.619610,-1.435186,2.785828,
31.400654,-1.435185,-23.244556,
25.265289,-1.435185,-17.978928,
31.433147,-1.435185,-18.045094,
42.074619,-1.435185,-0.082123,
36.174355,-1.435185,-0.082127,
43.550541,-1.435185,-5.246700,
38.932331,-1.435185,-5.246700,
43.494282,-1.435185,-9.648392,
39.159466,-1.435185,-9.648392,
43.239872,-1.435185,-12.865173,
37.894028,-1.435185,-12.865173,
42.151295,-1.435185,-15.247326,
36.174351,-1.435185,-15.247326,
37.316082,-1.435185,-20.921970,
24.354832,-1.435185,-29.541950,
24.354832,-1.435185,-32.825787,
24.354832,-1.435185,-39.669422,
19.557728,-1.435185,-39.243168,
-1.755016,-1.435185,-39.514988,
-9.392083,-1.435185,-39.514988,
35.239265,-1.435185,9.670986,
31.646854,-1.435185,9.672337,
-12.480038,-4.532839,-2.691753,
-4.041000,-4.532839,-2.691776,
-4.575951,-4.531953,-9.885309,
-12.480038,-4.531956,-9.885130,
-4.041000,-4.533133,-0.371231,
3.936565,-4.533133,-0.371252,
3.936565,-4.532838,-2.691799,
7.207912,-4.533133,-0.371254,
6.826313,-4.532838,-2.691799,
-4.041000,-5.227513,6.598069,
3.936565,-5.227512,6.598046,
6.826313,-5.227512,6.598046,
9.770626,-5.227512,6.598046,
9.770626,-4.533000,-0.371243,
11.219257,-5.159653,5.043831,
11.219257,-4.533000,-0.371243,
14.809887,-5.134043,4.457260,
14.292736,-4.533000,-0.371243,
-3.950180,-5.344035,9.266875,
4.027386,-5.344034,9.266852,
9.505604,-5.340378,9.183114,
12.449917,-5.340378,9.183114,
13.898548,-5.272520,7.628898,
17.886395,-5.246910,7.042327,
-3.964199,-5.474014,12.243885,
4.011715,-5.466938,12.081810,
9.487103,-5.458424,11.886807,
14.760509,-5.454607,11.799388,
16.177212,-5.385478,10.216067,
22.091999,-5.349542,9.392991,
-2.998215,-5.590217,14.905365,
6.683445,-5.573882,14.531223,
12.155277,-5.561769,14.253811,
17.426769,-5.554487,14.087010,
19.009304,-5.492665,12.671064,
26.017719,-5.473197,12.225161,
2.866665,-4.531953,-9.885481,
-12.480038,-4.533133,-0.371208,
-12.480038,-5.227514,6.598092,
-12.389217,-5.344036,9.266898,
-12.401585,-5.481091,12.405959,
-12.572357,-5.626134,15.728000,
32.374477,-5.466165,12.064100,
32.374477,-5.386791,10.246133,
-8.287987,-5.687357,17.130241,
-5.221451,-5.744012,18.427849,
9.228733,-5.684821,17.072138,
14.701260,-5.673325,16.808849,
19.897572,-5.661565,16.539499,
21.405834,-5.597184,15.064930,
27.391422,-5.575881,14.577014,
1.206478,-5.708941,17.624582,
32.374477,-5.565927,14.349014,
-1.398258,-5.854653,20.961956,
11.474384,-5.797812,19.660063,
17.178890,-5.776055,19.161760,
22.260487,-5.759223,18.776237,
23.768749,-5.694842,17.301668,
28.299564,-5.683684,17.046122,
4.563663,-5.818326,20.129932,
32.374477,-5.663584,16.585752,
1.449226,-5.960475,23.385662,
13.637600,-5.900632,22.015049,
19.342106,-5.878876,21.516747,
24.423702,-5.862044,21.131222,
25.931965,-5.797663,19.656654,
29.361614,-5.782950,19.319683,
6.814686,-5.926171,22.599970,
32.374477,-5.778347,19.214247,
3.612438,-6.063296,25.740646,
15.798832,-5.996307,24.206348,
21.503338,-5.974550,23.708046,
26.584934,-5.957718,23.322523,
28.093197,-5.893337,21.847954,
30.062679,-5.881965,21.587481,
8.827236,-6.030136,24.981167,
32.374477,-5.874021,21.405546,
5.469143,-6.148286,27.687252,
18.117413,-6.103372,26.658550,
23.818256,-6.071368,25.925539,
28.861958,-6.046288,25.351109,
30.370220,-5.981907,23.876539,
31.115002,-5.975476,23.729248,
10.557201,-6.139017,27.474947,
32.374477,-5.962591,23.434132,
7.006100,-6.244622,29.893703,
18.997562,-6.219733,29.323656,
24.698406,-6.187729,28.590645,
29.380390,-6.166399,28.102085,
30.331371,-6.129130,27.248507,
31.469402,-6.102500,26.638569,
11.443699,-6.266826,30.402245,
32.432819,-6.078952,26.099237,
7.886257,-6.360983,32.558807,
19.307064,-6.433280,37.344078,
25.007908,-6.401276,36.611069,
29.009792,-6.375440,36.019325,
30.397160,-6.367801,35.844360,
31.541042,-6.360095,35.667854,
11.753201,-6.480372,38.422665,
32.707691,-6.353992,35.528084,
8.452755,-6.504183,38.968021,
-64.152466,2.825309,39.851650,
-64.152466,2.825309,36.683334,
-66.274887,2.825309,36.691322,
-66.274887,2.825309,39.851673,
-61.753716,2.825309,39.851627,
-61.744961,2.825309,36.670181,
-66.274887,2.825309,35.588825,
-64.152466,2.825309,35.566353,
-64.152466,2.825309,15.220341,
-66.274887,2.825309,15.236294,
-66.274887,2.825309,7.428074,
-64.152466,2.825309,7.412121,
-63.249496,2.825309,6.377163,
-66.274887,2.825309,6.079578,
-67.346092,2.825309,7.428074,
-67.346092,2.825309,6.079578,
-63.005241,2.825309,5.167202,
-66.274887,2.825309,5.183155,
-67.346092,2.825309,5.183155,
-63.249496,2.825309,3.748222,
-66.274887,2.825309,4.077705,
-67.346092,2.825309,4.077705,
-64.152466,2.825309,2.507385,
-66.274887,2.825309,2.523338,
-67.346092,2.825309,2.523338,
-64.152466,2.825309,-3.378048,
-66.274887,2.825309,-3.362095,
-67.346092,2.825309,-3.362095,
-63.462658,2.825309,-4.093586,
-66.274887,2.825309,-4.627834,
-67.346092,2.825309,-4.627834,
-63.002167,2.825309,-5.787811,
-66.274887,2.825309,-5.771858,
-67.357079,2.825309,-5.771858,
-63.462658,2.825309,-7.450565,
-66.274887,2.825309,-6.884411,
-67.357079,2.825309,-6.884411,
-64.152466,2.825309,-8.551788,
-66.274887,2.825309,-8.535835,
-67.357079,2.825309,-8.535835,
-64.152466,2.825309,-14.532089,
-66.274887,2.825309,-14.516144,
-67.357079,2.825309,-14.516144,
-63.422958,2.825309,-15.323906,
-66.274887,2.825309,-15.720688,
-67.357079,2.825309,-15.720688,
-63.120647,2.825309,-17.029716,
-66.274887,2.825309,-17.013771,
-67.357079,2.825309,-17.013771,
-63.422958,2.825309,-18.493881,
-66.274887,2.825309,-18.065208,
-67.357079,2.825309,-18.065208,
-64.152466,2.825309,-19.731621,
-66.274887,2.825309,-19.715675,
-67.357079,2.825309,-19.715675,
-64.152466,2.825309,-22.790886,
-66.274887,2.825309,-22.774940,
-67.357079,2.825309,-22.774940,
-64.163452,2.825309,-27.137283,
-66.285873,2.825309,-27.121338,
-67.357079,2.825309,-27.121338,
-59.526859,2.825309,-22.790886,
-59.537846,2.825309,-27.137283,
-56.285564,2.825309,-22.790886,
-56.285564,2.825309,-27.137283,
-56.285564,2.825309,-28.205971,
-59.537846,2.825309,-28.205971,
-56.296551,2.825309,-30.966789,
-59.537846,2.825309,-30.966789,
-9.437782,2.825309,-28.205971,
-9.448769,2.825309,-30.966789,
-7.244919,2.825309,-28.205971,
-7.244919,2.825309,-30.966789,
-4.466415,2.825309,-28.205971,
-4.466415,2.825309,-30.966789,
-1.895332,2.825309,-28.205971,
-1.895332,2.825309,-30.966789,
-7.255905,2.825309,-33.367661,
-9.448769,2.825309,-33.367661,
-4.466415,2.825309,-33.367661,
-1.895332,2.825309,-33.367661,
-4.477402,2.825309,-39.578110,
-7.255905,2.825309,-39.578110,
-14.108459,2.825309,15.635509,
-14.108459,2.825309,12.910683,
-16.297546,2.825309,12.911297,
-16.297546,2.825309,15.635513,
-16.297546,2.825309,-15.037399,
-16.297546,2.825309,8.583389,
-14.108459,2.825309,8.580948,
-14.108459,2.825309,-15.037407,
-19.452721,2.825309,12.911911,
-23.408218,2.825309,12.911911,
-23.408218,2.825309,15.635521,
-19.452721,2.825309,15.635521,
-16.297546,2.825309,11.111275,
-14.108459,2.825309,11.110050,
-19.452721,2.825309,8.585827,
-23.408218,2.825309,8.585827,
-23.408218,2.825309,11.112495,
-19.452721,2.825309,11.112495,
-25.092499,2.825309,13.238945,
-25.092499,2.825309,15.959148,
-28.516655,2.825309,13.749241,
-28.516655,2.825309,16.743000,
-31.548431,2.825309,14.480362,
-31.548431,2.825309,17.848225,
-34.609955,2.825309,15.301018,
-34.941956,2.825309,19.489540,
-37.597649,2.825309,16.290749,
-37.674271,2.825309,21.468998,
-40.311562,2.825309,15.972858,
-40.311562,2.825309,24.352448,
-42.431236,2.825309,13.862358,
-43.112862,2.825309,16.982098,
-43.970779,2.825309,21.421829,
-42.623383,2.825309,27.359142,
-45.716698,2.825309,24.858179,
-43.942993,2.825309,29.520239,
-47.982056,2.825309,28.452295,
-45.321777,2.825309,32.098335,
-50.731583,2.825309,31.558289,
-46.522179,2.825309,35.008991,
-49.964928,2.825309,36.742180,
-46.881149,2.825309,36.778687,
-50.594810,2.825309,41.228714,
-47.541771,2.825309,41.253540,
-50.714729,2.825309,45.396004,
-47.572014,2.825309,45.420830,
-53.608086,2.825309,34.711922,
-54.494480,2.825309,36.742180,
-55.149765,2.825309,33.077667,
-55.902367,2.825309,36.742180,
-56.018021,2.825309,33.784565,
-57.825027,2.825309,36.765121,
-58.736996,2.825309,34.945580,
-59.784996,2.825309,36.717651,
-61.753994,2.825309,35.566299,
-59.397621,2.825309,33.151367,
-61.753994,2.825309,33.565456,
-59.802822,2.825309,30.927078,
-61.753994,2.825309,31.376345,
-60.226822,2.825309,28.811981,
-61.753994,2.825309,29.263561,
-60.468929,2.825309,26.813883,
-61.753994,2.825309,27.069635,
-60.254395,2.825309,24.749640,
-61.753994,2.825309,25.013569,
-60.131054,2.825309,22.730150,
-61.753994,2.825309,22.920588,
-59.851597,2.825309,21.065784,
-61.753994,2.825309,21.027710,
-60.934242,2.825309,19.170998,
-61.753994,2.825309,19.183861,
-57.177608,2.825309,32.459763,
-58.311340,2.825309,30.435154,
-58.997673,2.825309,28.325100,
-59.236328,2.825309,26.565128,
-59.104233,2.825309,24.554258,
-58.752930,2.825309,22.598709,
-58.355850,2.825309,21.436306,
-57.709148,2.825309,20.290298,
-56.947601,2.825309,19.060848,
-59.942772,2.825309,17.651043,
-55.947033,2.825309,17.952545,
-58.761581,2.825309,16.134129,
-54.884422,2.825309,17.058792,
-57.547718,2.825309,15.013855,
-56.209232,2.825309,14.667477,
-53.716034,2.825309,16.330673,
-52.383915,2.825309,15.596470,
-53.867344,2.825309,12.818214,
-54.890854,2.825309,11.140999,
-56.465889,2.825309,11.140568,
-50.744030,2.825309,15.027592,
-51.687115,2.825309,12.425659,
-52.710625,2.825309,11.140999,
-48.517784,2.825309,14.794556,
-49.324577,2.825309,12.425659,
-50.348091,2.825309,11.140999,
-46.346985,2.825309,14.859325,
-46.809105,2.825309,12.818214,
-47.832619,2.825309,11.140999,
-44.404030,2.825309,15.236885,
-44.612022,2.825309,12.818214,
-44.768585,2.825309,11.140999,
-25.092499,2.825309,11.112495,
-28.516655,2.825309,11.112495,
-31.548431,2.825309,11.112495,
-34.277946,2.825309,11.112495,
-37.521034,2.825309,11.112495,
-40.311562,2.825309,11.112495,
-42.457314,2.825309,11.142746,
-44.578720,2.825309,15.841824,
-44.752777,2.825309,16.396801,
-12.352562,2.825309,15.635502,
-12.352562,2.825309,12.910069,
-19.452721,2.825309,-15.037392,
-12.352562,2.825309,8.578510,
-12.352562,2.825309,-15.037407,
-12.352562,2.825309,11.108829,
-67.346092,2.825309,15.236294,
-56.680779,2.825309,11.140568,
-56.680573,2.825309,14.618675,
-57.547718,2.825309,14.618927,
-58.331463,2.825309,14.618927,
-58.331463,2.825309,15.013855,
-58.331463,2.825309,15.329227,
-57.889297,2.825309,15.329235,
-64.163452,2.825309,-28.206001,
-64.163452,2.825309,-30.966995,
-48.433769,-1.836732,-17.225691,
-49.119812,-1.836732,-17.225691,
-49.119812,5.824118,-17.225691,
-48.433769,5.824118,-17.225691,
-49.119812,-1.836697,-14.965609,
-49.119812,5.824152,-14.965609,
-48.433769,-1.836697,-14.965609,
-48.433769,5.824152,-14.965609,
-41.115967,-1.836732,-17.225691,
-41.802010,-1.836732,-17.225691,
-41.802010,5.824118,-17.225691,
-41.115967,5.824118,-17.225691,
-41.802010,-1.836697,-14.965609,
-41.802010,5.824152,-14.965609,
-41.115967,-1.836697,-14.965609,
-41.115967,5.824152,-14.965609,
-33.785217,-1.836732,-17.225691,
-34.471260,-1.836732,-17.225691,
-34.471260,5.824118,-17.225691,
-33.785217,5.824118,-17.225691,
-34.471260,-1.836697,-14.965609,
-34.471260,5.824152,-14.965609,
-33.785217,-1.836697,-14.965609,
-33.785217,5.824152,-14.965609,
-26.403847,-1.836732,-17.225691,
-27.089890,-1.836732,-17.225691,
-27.089890,5.824118,-17.225691,
-26.403847,5.824118,-17.225691,
-27.089890,-1.836697,-14.965609,
-27.089890,5.824152,-14.965609,
-26.403847,-1.836697,-14.965609,
-26.403847,5.824152,-14.965609,
-19.039261,-1.836732,-17.225691,
-19.725304,-1.836732,-17.225691,
-19.725304,5.824118,-17.225691,
-19.039261,5.824118,-17.225691,
-19.725304,-1.836697,-14.965609,
-19.725304,5.824152,-14.965609,
-19.039261,-1.836697,-14.965609,
-19.039261,5.824152,-14.965609,
-11.696144,-1.836732,-17.225691,
-12.382187,-1.836732,-17.225691,
-12.382187,5.824118,-17.225691,
-11.696144,5.824118,-17.225691,
-12.382187,-1.836697,-14.965609,
-12.382187,5.824152,-14.965609,
-11.696144,-1.836697,-14.965609,
-11.696144,5.824152,-14.965609,
-4.370773,-1.836732,-17.225691,
-5.056816,-1.836732,-17.225691,
-5.056816,5.824118,-17.225691,
-4.370773,5.824118,-17.225691,
-5.056816,-1.836697,-14.965609,
-5.056816,5.824152,-14.965609,
-4.370773,-1.836697,-14.965609,
-4.370773,5.824152,-14.965609,
2.982895,-1.836732,-17.225691,
2.296852,-1.836732,-17.225691,
2.296852,5.824118,-17.225691,
2.982895,5.824118,-17.225691,
2.296852,-1.836697,-14.965609,
2.296852,5.824152,-14.965609,
2.982895,-1.836697,-14.965609,
2.982895,5.824152,-14.965609,
10.341385,-1.836732,-17.225691,
9.655342,-1.836732,-17.225691,
9.655342,5.824118,-17.225691,
10.341385,5.824118,-17.225691,
9.655342,-1.836697,-14.965609,
9.655342,5.824152,-14.965609,
10.341385,-1.836697,-14.965609,
10.341385,5.824152,-14.965609,
-55.762657,-1.836732,-27.540886,
-56.448700,-1.836732,-27.540886,
-56.448700,6.600659,-27.540886,
-55.762657,6.600659,-27.540886,
-56.448700,-1.836697,-25.980356,
-56.448700,6.600694,-25.980356,
-55.762657,-1.836697,-25.980356,
-55.762657,6.600694,-25.980356,
-55.774178,-1.836732,-17.188482,
-56.460220,-1.836732,-17.188482,
-56.460220,5.824118,-17.188482,
-55.774178,5.824118,-17.188482,
-56.460220,-1.836697,-15.627953,
-56.460220,5.824152,-15.627953,
-55.774178,-1.836697,-15.627953,
-55.774178,5.824152,-15.627953,
-56.789173,-1.836732,-14.675552,
-56.789173,-1.836732,-15.361595,
-56.789173,5.824118,-15.361595,
-56.789173,5.824118,-14.675552,
-58.349701,-1.836697,-15.361595,
-58.349701,5.824152,-15.361595,
-58.349701,-1.836697,-14.675552,
-58.349701,5.824152,-14.675552,
-56.069172,-1.836732,-7.277969,
-56.069172,-1.836732,-7.964012,
-56.069172,5.824118,-7.964012,
-56.069172,5.824118,-7.277969,
-58.329254,-1.836697,-7.964012,
-58.329254,5.824152,-7.964012,
-58.329254,-1.836697,-7.277969,
-58.329254,5.824152,-7.277969,
-56.069172,-1.836732,0.042816,
-56.069172,-1.836732,-0.643227,
-56.069172,5.824118,-0.643227,
-56.069172,5.824118,0.042816,
-58.329254,-1.836697,-0.643227,
-58.329254,5.824152,-0.643227,
-58.329254,-1.836697,0.042816,
-58.329254,5.824152,0.042816,
-56.069172,-1.836732,7.370995,
-56.069172,-1.836732,6.684952,
-56.069172,5.824118,6.684952,
-56.069172,5.824118,7.370995,
-58.329254,-1.836697,6.684952,
-58.329254,5.824152,6.684952,
-58.329254,-1.836697,7.370995,
-58.329254,5.824152,7.370995,
-17.193287,-1.836732,-7.291573,
-17.193287,-1.836732,-7.977615,
-17.193287,2.798786,-7.977615,
-17.193287,2.798786,-7.291573,
-19.453369,-1.836697,-7.977615,
-19.453369,2.798820,-7.977615,
-19.453369,-1.836697,-7.291573,
-19.453369,2.798820,-7.291573,
-23.403503,2.825424,8.591949,
-52.271057,-1.432655,8.592027,
-52.270752,-1.435570,11.078129,
-23.404480,2.825317,11.078119,
-23.472961,3.506737,8.591759,
-52.340393,-0.773598,8.591932,
-23.472961,3.506737,7.948477,
-52.340393,-0.773598,7.948483,
-23.403931,2.850601,7.948477,
-52.271362,-1.429733,7.948483,
-23.403809,-1.446846,7.948469,
-19.455261,2.844719,8.591948,
-19.455322,3.506706,8.591759,
-19.455322,3.506706,7.948473,
-19.455078,2.850578,7.948474,
-18.800903,2.844727,8.591947,
-18.800964,3.506714,8.591757,
-22.693909,-0.665421,7.948339,
-22.693848,1.791504,7.948441,
-20.288635,1.791321,7.946030,
-19.454895,-1.446854,7.948470,
-20.288696,-0.665367,7.947836,
-22.693909,-0.665413,8.661871,
-22.693848,1.791504,8.661974,
-23.403931,2.850601,8.662009,
-23.403564,-1.446831,8.662004,
-20.288635,1.791336,8.659562,
-19.455017,2.850578,8.662006,
-20.288696,-0.665359,8.661368,
-19.454834,-1.446846,8.662003,
-56.285828,2.825294,-23.127798,
-4.658813,-1.414131,-23.127785,
-4.658386,-1.411217,-25.390011,
-56.285400,2.825310,-25.389225,
-56.216125,3.486168,-23.127617,
-4.589050,-0.752167,-23.127611,
-56.216125,3.486183,-22.541243,
-4.589050,-0.752167,-22.541489,
-56.285645,2.825317,-22.541325,
-4.658386,-1.411224,-22.541576,
-4.658569,-1.412674,-25.975138,
-56.285828,2.825294,-25.973726,
-56.216125,3.486168,-25.973551,
-4.589050,-0.752159,-25.973831,
-56.216125,3.486183,-25.387917,
-4.589050,-0.752159,-25.387573,
-62.147781,2.827629,35.567017,
-62.147228,-1.404716,20.845642,
-63.771751,-1.402664,20.845398,
-63.771152,2.826317,35.566162,
-62.147717,3.285522,35.518677,
-62.147099,-0.944778,20.797058,
-61.760487,3.285271,35.518005,
-61.761009,-0.944794,20.797058,
-61.760487,2.829399,35.566528,
-61.761074,-1.402683,20.845520,
-64.145691,-1.403679,20.845520,
-64.144913,2.825310,35.566406,
-64.144791,3.285271,35.518005,
-64.144783,-0.944778,20.797058,
-63.770245,3.285255,35.517944,
-63.770058,-0.944778,20.797058,
2.807251,-1.435272,-14.735676,
-9.521179,-2.886528,-14.735630,
-9.521790,-2.884171,-12.844231,
2.807251,-1.435272,-12.844273,
2.751343,-0.904373,-14.735668,
-9.577820,-2.354706,-14.735630,
2.751404,-0.904381,-15.247372,
-9.577820,-2.354713,-15.247337,
2.807251,-1.435257,-15.247383,
-9.521667,-2.884201,-15.247337,
-9.521423,-2.885330,-12.369308,
2.807251,-1.435280,-12.369366,
2.751404,-0.904381,-12.369366,
-9.577942,-2.354691,-12.369331,
2.751404,-0.904381,-12.844273,
-9.577942,-2.354691,-12.844238,
0.389221,-4.536446,-12.369301,
-9.521790,-2.884171,-10.270428,
0.388184,-4.537933,-10.272141,
-9.521729,-2.885353,-9.801529,
0.388550,-4.539085,-9.802483,
0.332703,-4.007217,-9.802620,
-9.577942,-2.354691,-9.802578,
0.332336,-4.007225,-10.273178,
-9.577942,-2.354691,-10.273350,
-12.437744,-2.886543,-14.735630,
-12.438416,-2.884171,-12.844234,
-12.438354,-2.884163,-12.369286,
-12.439453,-2.884155,-10.269966,
3.080505,-4.537918,-10.272152,
3.366150,-4.536453,-12.364277,
3.080811,-4.539078,-9.802494,
-12.496948,-2.354691,-9.802597,
-12.440674,-2.885353,-9.801552,
-12.496948,-2.354691,-10.273369,
-9.521729,-4.698219,-9.801552,
0.388672,-4.702530,-9.802498,
-12.440674,-4.698219,-9.801575,
2.982788,-5.008583,-12.369339,
-9.521301,-2.886551,-15.247578,
-12.437744,-2.886536,-15.247581,
-43.513725,-1.455063,21.557583,
-40.449600,-1.455063,18.580120,
-40.449600,4.752700,18.580120,
-43.513725,4.752700,21.557583,
-45.716698,-1.455063,24.858179,
-45.716698,4.752700,24.858179,
-47.982056,-1.455063,28.452295,
-47.982056,4.752700,28.452295,
-50.731583,-1.455063,31.558289,
-50.731583,4.752700,31.558289,
-53.608086,-1.455063,34.711922,
-53.608086,4.752700,34.711922,
-55.149765,-1.455063,33.077667,
-55.149765,4.752700,33.077667,
-56.018021,-1.455063,33.784565,
-56.018021,4.752700,33.784565,
-57.177608,-1.455063,32.459763,
-57.177608,4.752700,32.459763,
-58.311340,-1.455063,30.435154,
-58.311340,4.752700,30.435154,
-58.997673,-1.455063,28.325100,
-58.997673,4.752700,28.325100,
-59.236328,-1.455063,26.565128,
-59.236328,4.752700,26.565128,
-59.104233,-1.455063,24.554258,
-59.104233,4.752700,24.554258,
-58.752930,-1.455063,22.598709,
-58.752930,4.752700,22.598709,
-58.355850,-1.455063,21.436306,
-58.355850,4.752700,21.436306,
-57.709148,-1.455063,20.290298,
-57.709148,4.752700,20.290298,
-56.947601,-1.455063,19.060848,
-56.947601,4.752700,19.060848,
-55.947033,-1.455063,17.952545,
-55.947033,4.752700,17.952545,
-54.884422,-1.455063,17.058792,
-54.884422,4.752700,17.058792,
-52.383915,-1.455063,15.596470,
-53.716034,-1.455063,16.330673,
-53.716034,4.752700,16.330673,
-52.383915,4.752700,15.596470,
-50.744030,-1.455063,15.027592,
-50.744030,4.752700,15.027592,
-48.517784,-1.455063,14.794556,
-48.517784,4.752700,14.794556,
-46.346985,-1.455063,14.859325,
-46.346985,4.752700,14.859325,
-44.404030,-1.455063,15.236885,
-44.404030,4.752700,15.236885,
-44.578720,-1.455063,15.841824,
-44.578720,4.752700,15.841824,
-43.031563,-1.455063,17.027702,
-43.031563,4.752700,17.027702,
-44.752777,-1.455063,16.396801,
-44.752777,4.752700,16.396801,
26.510273,2.154899,3.739300,
26.736973,2.154899,7.767128,
22.101742,2.154899,6.435612,
17.585140,2.154899,3.739300,
31.625568,2.154899,3.739300,
31.652500,2.154899,7.379467,
40.059681,2.154899,2.379570,
35.247684,2.154899,6.246616,
17.719742,2.154899,-5.246700,
20.454334,2.154899,-0.082123,
14.534771,2.154899,-0.082123,
12.921837,2.154899,-5.246700,
26.485302,2.154899,3.041100,
31.619431,2.154899,2.757156,
36.181950,2.154899,-0.082123,
42.074619,2.154899,-0.082123,
38.891346,2.154899,-5.246700,
43.550541,2.154899,-5.246700,
39.121677,2.154899,-9.648392,
43.494282,2.154899,-9.648392,
37.866116,2.154899,-12.865173,
43.239872,2.154899,-12.865173,
36.147968,2.154899,-15.247326,
42.151295,2.154899,-15.247326,
31.465130,2.154899,-18.040447,
31.400654,2.154899,-23.244556,
37.316082,2.154899,-20.921970,
25.295238,2.154899,-17.990692,
24.354832,2.154899,-22.859676,
20.591534,2.154899,-15.247326,
14.330914,2.154899,-15.247326,
18.770786,2.154899,-19.931236,
18.868389,2.154899,-12.865170,
13.598244,2.154899,-12.865173,
17.678890,2.154899,-9.648388,
12.921837,2.154899,-9.648392,
17.719742,4.150066,-5.246700,
20.454334,4.150066,-0.082123,
26.485302,4.150066,3.041100,
31.619431,4.150066,2.757156,
36.181950,4.150066,-0.082123,
38.891346,4.150066,-5.246700,
39.121677,4.150066,-9.648392,
37.866116,4.150066,-12.865173,
36.147968,4.150066,-15.247326,
31.465130,4.150066,-18.040447,
25.295238,4.150066,-17.990692,
20.591534,4.150066,-15.247326,
18.868389,4.150066,-12.865170,
17.678890,4.150066,-9.648388,
24.050434,-1.836732,-18.868782,
23.526875,-1.836732,-18.694622,
23.526875,2.202829,-18.694622,
24.050434,2.202829,-18.868782,
23.923035,-1.836697,-17.503689,
23.923035,2.202864,-17.503689,
24.446594,-1.836697,-17.677853,
24.446594,2.202864,-17.677853,
32.725853,-1.836732,2.305389,
32.202293,-1.836732,2.479549,
32.202293,2.202829,2.479549,
32.725853,2.202829,2.305389,
32.598454,-1.836697,3.670483,
32.598454,2.202864,3.670483,
33.122013,-1.836697,3.496319,
33.122013,2.202864,3.496319,
18.573586,-1.836732,-3.263184,
18.399426,-1.836732,-3.786743,
18.399426,2.202829,-3.786743,
18.573586,2.202829,-3.263184,
17.208496,-1.836697,-3.390583,
17.208496,2.202864,-3.390583,
17.382656,-1.836697,-2.867023,
17.382656,2.202864,-2.867023,
39.711506,-1.836732,-11.803665,
39.537346,-1.836732,-12.327225,
39.537346,2.202829,-12.327225,
39.711506,2.202829,-11.803665,
38.346416,-1.836697,-11.931065,
38.346416,2.202864,-11.931065,
38.520576,-1.836697,-11.407505,
38.520576,2.202864,-11.407505,
33.165863,-1.836732,-18.704527,
32.672501,-1.836732,-18.951590,
32.672501,2.202829,-18.951590,
33.165863,2.202829,-18.704527,
32.110516,-1.836697,-17.829346,
32.110516,2.202864,-17.829346,
32.603878,-1.836697,-17.582283,
32.603878,2.202864,-17.582283,
24.362972,-1.836732,2.246644,
23.869610,-1.836732,1.999581,
23.869610,2.202829,1.999581,
24.362972,2.202829,2.246644,
23.307625,-1.836697,3.121825,
23.307625,2.202864,3.121825,
23.800987,-1.836697,3.368888,
23.800987,2.202864,3.368888,
39.073608,-1.836732,-2.537010,
39.320671,-1.836732,-3.030373,
39.320671,2.202829,-3.030373,
39.073608,2.202829,-2.537010,
38.198429,-1.836697,-3.592361,
38.198429,2.202864,-3.592361,
37.951366,-1.836697,-3.098999,
37.951366,2.202864,-3.098999,
18.244097,-1.836732,-11.525948,
18.491159,-1.836732,-12.019310,
18.491159,2.202829,-12.019310,
18.244097,2.202829,-11.525948,
17.368916,-1.836697,-12.581299,
17.368916,2.202864,-12.581299,
17.121853,-1.836697,-12.087936,
17.121853,2.202864,-12.087936,
16.508787,-6.450026,33.656574,
16.018751,-6.450026,34.086983,
16.018751,2.200951,34.086983,
16.508787,2.200951,33.656574,
16.997793,-6.449991,35.201653,
16.997793,2.200985,35.201653,
17.487829,-6.449991,34.771248,
17.487829,2.200985,34.771248,
18.738850,-6.450026,35.820606,
18.248814,-6.450026,36.251015,
18.248814,2.200951,36.251015,
18.738850,2.200951,35.820606,
19.227856,-6.449991,37.365685,
19.227856,2.200985,37.365685,
19.717892,-6.449991,36.935280,
19.717892,2.200985,36.935280,
27.357985,-6.450026,34.604008,
26.867949,-6.450026,35.034416,
26.867949,2.200951,35.034416,
27.357985,2.200951,34.604008,
27.846991,-6.449991,36.149086,
27.846991,2.200985,36.149086,
28.337027,-6.449991,35.718681,
28.337027,2.200985,35.718681,
24.915928,-6.450026,32.487995,
24.425892,-6.450026,32.918404,
24.425892,2.200951,32.918404,
24.915928,2.200951,32.487995,
25.404934,-6.449991,34.033073,
25.404934,2.200985,34.033073,
25.894970,-6.449991,33.602669,
25.894970,2.200985,33.602669,
35.727261,2.160984,31.743979,
30.938801,2.160984,31.589645,
31.064877,2.160984,7.378815,
35.789944,2.160984,6.246628,
35.732052,2.160984,35.036007,
31.589947,2.160986,35.722282,
-7.471916,2.160984,41.041916,
-7.465630,2.160985,36.824810,
30.938801,3.029667,31.589645,
31.064877,3.029667,7.378815,
35.789944,3.029667,6.246628,
35.727261,3.029667,31.743979,
35.732052,3.029667,35.036007,
31.589947,3.029669,35.722282,
-7.471916,3.029667,41.041916,
-7.465630,3.029668,36.824814,
-17.193289,-1.836732,0.072205,
-17.193289,-1.836732,-0.613838,
-17.193289,2.798786,-0.613838,
-17.193289,2.798786,0.072205,
-19.453371,-1.836697,-0.613838,
-19.453371,2.798820,-0.613838,
-19.453371,-1.836697,0.072205,
-19.453371,2.798820,0.072205,
-17.193291,-1.836732,7.385513,
-17.193291,-1.836732,6.699471,
-17.193291,2.798786,6.699471,
-17.193291,2.798786,7.385513,
-19.453373,-1.836697,6.699471,
-19.453373,2.798820,6.699471,
-19.453373,-1.836697,7.385513,
-19.453373,2.798820,7.385513,
-16.297546,-1.450102,15.635513,
-19.452339,-1.450102,15.635521,
-19.452339,4.752828,15.635521,
-16.297546,4.752828,15.635513,
-23.408218,-1.450102,15.635521,
-23.408218,4.752828,15.635521,
-25.092499,-1.450102,15.959148,
-25.092499,4.752828,15.959148,
-28.516655,-1.450102,16.743000,
-28.516655,4.752828,16.743000,
-31.548431,-1.450102,17.848225,
-31.548431,4.752828,17.848225,
-34.941956,-1.450102,19.489540,
-34.941956,4.752828,19.489540,
-37.674271,-1.450102,21.468998,
-37.674271,4.752828,21.468998,
-40.311562,-1.450102,24.352448,
-40.311562,4.752828,24.352448,
-42.623383,-1.450102,27.359142,
-42.623383,4.752828,27.359142,
-43.942993,-1.450102,29.520239,
-43.942993,4.752828,29.520239,
-45.321777,-1.450102,32.098335,
-45.321777,4.752828,32.098335,
-46.522179,-1.450102,35.008991,
-46.522179,4.752828,35.008991,
-46.881149,-1.450102,36.778687,
-46.881149,4.752828,36.778687,
-47.541771,-1.450102,41.253540,
-47.541771,4.752828,41.253540,
-47.572014,-1.450102,45.182304,
-47.572014,4.752828,45.182304,
-16.297546,4.752828,34.967777,
-16.297546,-1.450103,34.967777,
-26.344933,4.752828,46.765118,
-26.344933,-1.450103,46.765118,
-47.279236,-1.450103,49.501381,
-47.279236,4.752828,49.501381,
-8.678486,-5.687358,16.649746,
-12.517082,-5.626135,15.378135,
-12.517082,4.747462,15.378136,
-8.678486,4.747384,16.649744,
-5.230118,-5.744013,18.427845,
-5.230118,4.747310,18.427845,
-1.406925,-5.854654,20.961954,
-1.406925,4.747169,20.961954,
1.440559,-5.960476,23.385660,
1.440559,4.747031,23.385658,
3.603771,-6.063297,25.740644,
3.603771,4.746900,25.740644,
5.460476,-6.148287,27.687250,
5.460476,4.746789,27.687252,
6.997433,-6.244623,29.893702,
6.997433,4.746667,29.893702,
7.877590,-6.360984,32.558807,
7.877590,4.746518,32.558807,
8.065838,-6.504184,34.701744,
8.065838,4.746331,34.701744,
-12.152882,-5.717650,33.718441,
-7.481678,-5.717649,37.607925,
-7.481678,4.771646,37.607922,
-12.152882,4.771646,33.718441,
-14.084930,-5.717650,33.718441,
-14.084930,4.771646,33.718441,
-14.084930,-5.717649,20.316460,
-14.084930,4.771646,20.316462,
-12.516823,-5.717649,20.316460,
-12.516823,4.771646,20.316462,
-16.297546,2.174477,15.731693,
-14.108459,2.174477,15.726818,
-14.076271,2.174477,33.718437,
-16.295578,2.174477,34.857834,
-12.213287,2.174477,33.718437,
-12.214409,2.174477,15.721951,
-7.473015,2.174477,41.016884,
-12.213287,2.174477,41.818768,
-7.473015,2.174477,37.607922,
-14.076271,2.174477,42.062027,
-16.295578,2.174477,42.371918,
-19.489143,2.174477,38.590294,
-19.296654,2.174477,38.363476,
-16.297546,2.825236,15.616066,
-14.108459,2.825236,15.611191,
-12.214409,2.825236,15.606323,
3.293335,-1.433861,-9.349121,
4.419903,-4.533470,-2.631287,
6.298473,-4.533463,-2.630981,
5.150772,-1.435394,-9.620972,
3.301399,-0.904343,-9.293823,
4.419750,-4.008614,-2.574951,
2.835033,-0.904678,-9.224487,
3.949581,-4.008629,-2.574951,
2.826878,-1.431824,-9.279907,
3.949638,-4.533463,-2.630981,
6.776482,-4.533463,-2.631287,
5.615402,-1.436562,-9.689453,
5.623356,-0.904655,-9.634583,
6.767288,-4.008614,-2.574951,
5.157852,-0.904694,-9.565552,
6.296516,-4.008614,-2.574951,
2.826881,-4.533386,-9.279724,
2.826881,-1.431824,-12.505554,
2.826885,-4.533386,-12.505493,
-12.444214,-1.435185,11.502384,
-12.444214,-1.435185,15.614943,
-12.444214,-5.708135,15.614943,
-12.444214,-5.708135,11.502384,
-12.444214,-1.435185,8.303455,
-12.444214,-5.708135,8.303455,
-12.444214,-1.435185,-15.247326,
-12.444214,-5.708135,-15.247326,
-0.667297,-5.708135,-15.247326,
-0.667297,-1.435185,-15.247326,
6.316128,-1.435185,-5.246700,
5.610241,-1.435185,-9.648392,
5.610241,-4.625371,-9.648392,
6.316128,-4.625371,-5.246700,
7.109003,-1.435185,-0.082123,
7.109003,-4.625371,-0.082123,
14.326962,-4.625371,-0.082123,
14.326962,-1.435185,-0.082123,
-25.092499,2.825309,11.112495,
-23.408218,2.825309,11.112495,
-23.408218,-1.447832,11.112495,
-25.092499,-1.447832,11.112495,
-28.516655,2.825309,11.112495,
-28.516655,-1.447832,11.112495,
-31.548431,2.825309,11.112495,
-31.548431,-1.447832,11.112495,
-34.277946,2.825309,11.112495,
-34.277946,-1.447832,11.112495,
-37.521034,2.825309,11.112495,
-37.521034,-1.447832,11.112495,
-40.311562,2.825309,11.112495,
-40.311562,-1.447832,11.112495,
-42.457314,2.825309,11.142746,
-42.457314,-1.447832,11.142746,
-52.287834,2.825309,11.140999,
-50.348091,2.825309,11.140999,
-50.348091,-1.447832,11.140999,
-52.287834,-1.447832,11.140999,
-47.832619,2.825309,11.140999,
-47.832619,-1.447832,11.140999,
-44.768585,2.825309,11.140999,
-44.768585,-1.447832,11.140999,
-23.408218,2.825309,7.947212,
-23.408218,-1.447832,7.947212,
-63.494308,4.000477,7.412121,
-63.494308,4.000477,15.220341,
-63.494308,-1.444034,15.220341,
-63.494308,-1.444034,7.412121,
-62.591335,4.000477,6.377163,
-62.591335,-1.444034,6.377163,
-62.347080,4.000477,5.167202,
-62.347080,-1.444034,5.167202,
-62.591335,4.000477,3.748222,
-62.591335,-1.444034,3.748222,
-63.494308,4.000477,2.507385,
-63.494308,-1.444034,2.507385,
-63.494308,4.000477,-3.378048,
-63.494308,-1.444034,-3.378048,
-62.804497,4.000477,-4.093586,
-62.804497,-1.444034,-4.093586,
-62.344006,4.000477,-5.787811,
-62.344006,-1.444034,-5.787811,
-62.804497,4.000477,-7.450565,
-62.804497,-1.444034,-7.450565,
-63.494308,4.000477,-8.551788,
-63.494308,-1.444034,-8.551788,
-63.494308,4.000477,-14.532089,
-63.494308,-1.444034,-14.532089,
-62.764797,4.000477,-15.323906,
-62.764797,-1.444034,-15.323906,
-62.462486,4.000477,-17.029716,
-62.462486,-1.444034,-17.029716,
-62.764797,4.000477,-18.493881,
-62.764797,-1.444034,-18.493881,
-63.494308,4.000477,-19.731621,
-63.494308,-1.444034,-19.731621,
-63.494308,4.000477,-22.069138,
-63.494308,-1.444034,-22.069138,
-4.370773,-4.800210,-0.237246,
-5.056816,-4.800210,-0.237246,
-5.056816,3.010913,-0.237246,
-4.370773,3.010913,-0.237246,
-5.056816,-4.800174,2.022837,
-5.056816,3.010947,2.022837,
-4.370773,-4.800174,2.022837,
-4.370773,3.010947,2.022837,
2.935738,-4.800210,-0.237246,
2.249695,-4.800210,-0.237246,
2.249695,3.010913,-0.237246,
2.935738,3.010913,-0.237246,
2.249695,-4.800174,2.022837,
2.249695,3.010947,2.022837,
2.935738,-4.800174,2.022837,
2.935738,3.010947,2.022837,
10.349800,-4.800210,-0.237246,
9.663757,-4.800210,-0.237246,
9.663757,3.010913,-0.237246,
10.349800,3.010913,-0.237246,
9.663757,-4.800174,2.022837,
9.663757,3.010947,2.022837,
10.349800,-4.800174,2.022837,
10.349800,3.010947,2.022837,
14.486147,-0.341530,-0.115021,
14.486147,-0.830292,-0.115025,
-12.011765,-0.830292,-0.115025,
-12.011765,-0.341530,-0.115021,
14.534540,-0.830292,-0.082014,
15.869638,-0.830292,1.591963,
-12.011799,-0.830292,1.591963,
15.869638,-0.341530,1.591967,
-12.011799,-0.341530,1.591967,
14.534540,-0.341530,-0.082010,
14.292736,-4.807801,-0.371243,
14.809887,-5.134043,4.457260,
14.809887,-1.731375,4.457260,
14.292736,-1.730642,-0.371244,
17.886395,-5.246910,7.042327,
17.886395,-1.731630,7.042327,
22.091999,-5.349542,9.392991,
22.091999,-1.731862,9.392990,
32.374477,-5.386791,10.246133,
32.374477,-1.731946,10.246134,
31.569942,-5.386790,7.086952,
31.569942,-1.731945,7.086952,
26.373577,-1.720828,-0.082123,
31.601685,-1.720828,-0.082123,
31.569401,-1.720828,-5.246700,
26.188839,-1.720828,-5.246700,
31.485630,-1.720828,-9.648392,
26.031384,-1.720828,-9.648392,
31.465527,-1.720828,-12.865173,
25.860058,-1.720828,-12.865170,
31.450634,-1.720828,-15.247326,
25.774845,-1.720828,-15.247326,
18.912636,-1.720828,-12.865170,
17.679657,-1.720828,-9.648392,
20.599865,-1.720828,-15.247326,
25.265289,-1.720828,-17.978928,
31.433147,-1.720828,-18.045094,
36.174351,-1.720828,-15.247326,
37.894028,-1.720828,-12.865173,
39.159466,-1.720828,-9.648392,
38.932331,-1.720828,-5.246700,
36.174355,-1.720828,-0.082127,
31.619610,-1.720829,2.785828,
26.485477,-1.720828,3.046032,
20.502522,-1.720828,-0.082123,
17.712109,-1.720828,-5.246700,
18.912636,-1.435185,-12.865170,
17.679657,-1.435185,-9.648392,
17.712109,-1.435185,-5.246700,
20.502522,-1.435185,-0.082123,
26.485477,-1.435185,3.046032,
31.619610,-1.435186,2.785828,
36.174355,-1.435185,-0.082127,
38.932331,-1.435185,-5.246700,
39.159466,-1.435185,-9.648392,
37.894028,-1.435185,-12.865173,
36.174351,-1.435185,-15.247326,
31.433147,-1.435185,-18.045094,
25.265289,-1.435185,-17.978928,
20.599865,-1.435185,-15.247326,
14.579089,4.152489,-0.111757,
14.579089,2.251770,-0.111757,
-12.493905,2.251770,-0.111757,
-12.493907,4.152489,-0.111757,
16.341572,2.251770,2.148325,
-12.493939,2.251770,2.148325,
16.341572,4.152489,2.148325,
-12.493941,4.152489,2.148325,
13.598244,2.154899,-12.865173,
12.921837,2.154899,-9.648392,
12.921837,-2.180943,-9.648392,
13.598244,-2.180943,-12.865173,
14.330914,2.154899,-15.247326,
14.330914,-2.180943,-15.247326,
12.921837,2.154899,-5.246700,
14.534771,2.154899,-0.082123,
14.534771,-2.180943,-0.082123,
12.921837,-2.180943,-5.246700,
17.585140,2.154899,3.739300,
17.585140,-2.180943,3.739300,
22.101742,2.154899,6.435612,
22.101742,-2.180943,6.435612,
26.736973,2.154899,7.767128,
26.736973,-2.180943,7.767128,
31.652500,2.154899,7.379467,
31.652500,-2.180943,7.379467,
35.247684,2.154899,6.246616,
40.059681,2.154899,2.379570,
40.059681,-2.180943,2.379570,
35.247684,-2.180943,6.246616,
31.400654,2.154899,-23.244556,
24.354832,2.154899,-22.859676,
24.354832,-2.180943,-22.859676,
31.400654,-2.180943,-23.244556,
42.074619,2.154899,-0.082123,
42.074619,-2.180943,-0.082123,
43.550541,2.154899,-5.246700,
43.550541,-2.180943,-5.246700,
43.494282,2.154899,-9.648392,
43.494282,-2.180943,-9.648392,
43.239872,2.154899,-12.865173,
43.239872,-2.180943,-12.865173,
42.151295,2.154899,-15.247326,
42.151295,-2.180943,-15.247326,
37.316082,2.154899,-20.921970,
37.316082,-2.180943,-20.921970,
18.770786,2.154899,-19.931236,
18.770786,-2.180943,-19.931236,
13.598244,4.183210,-12.865173,
12.921837,4.183210,-9.648392,
14.330914,4.183210,-15.247326,
12.921837,4.183211,-5.246700,
14.534771,4.183211,-0.082123,
17.585140,4.183211,3.739300,
22.101742,4.183211,6.435612,
26.736973,4.183211,7.767128,
31.652500,4.183211,7.379467,
35.247684,4.183210,6.246616,
40.059681,4.183210,2.379570,
31.400654,4.183210,-23.244556,
24.354832,4.183210,-22.859676,
42.074619,4.183210,-0.082123,
43.550541,4.183210,-5.246700,
43.494282,4.183210,-9.648392,
43.239872,4.183210,-12.865173,
42.151295,4.183210,-15.247326,
37.316082,4.183210,-20.921970,
18.770786,4.183210,-19.931236,
24.354832,6.639910,-22.859676,
18.770786,6.639910,-19.931236,
14.330914,6.639910,-15.247326,
-56.082031,6.506001,15.267242,
-67.537109,6.506001,15.267242,
-67.537109,6.506001,-27.204689,
-56.082642,6.506001,-27.204689,
14.243683,6.505532,-14.960409,
-56.095642,6.505532,-14.960409,
-56.095642,6.505532,-30.987026,
14.243195,6.505532,-30.987026,
-56.082001,6.506000,-27.209854,
-59.597626,6.506000,-27.209854,
-59.597626,6.506000,-31.000397,
-56.082611,6.506000,-31.000397,
1.873505,6.506002,-30.974899,
-9.439301,6.506003,-30.974899,
-9.439301,6.506002,-34.531982,
1.245575,6.506001,-34.531982,
-9.439301,6.505997,-39.661652,
-1.669952,6.505996,-39.661652,
-63.494308,2.815060,-22.069138,
-63.494308,-1.444034,-22.069138,
-63.494308,-1.444034,-29.586441,
-63.494308,2.815060,-29.586441,
-9.313583,-1.444034,-29.586441,
-9.313583,2.815060,-29.586441,
-19.624321,2.277557,-17.188471,
-19.624321,1.804222,-17.188471,
-56.007988,1.804230,-17.188471,
-56.007988,2.277565,-17.188471,
-19.624357,1.804222,-15.627972,
-56.008022,1.804230,-15.627972,
-19.624357,2.277557,-15.627972,
-56.008022,2.277565,-15.627972,
-19.624331,2.036049,-16.963072,
-56.007999,2.036057,-16.963072,
-56.008011,2.036057,-15.853367,
-19.624342,2.036049,-15.853367,
-56.007999,2.277565,-16.963072,
-19.624332,2.277557,-16.963072,
-19.624344,2.277557,-15.853367,
-56.008011,2.277565,-15.853367,
-58.349686,2.277557,-14.808842,
-58.349686,1.804222,-14.808842,
-58.349686,1.804230,6.812443,
-58.349686,2.277565,6.812443,
-56.789188,1.804222,-14.808809,
-56.789188,1.804230,6.812473,
-56.789188,2.277557,-14.808809,
-56.789188,2.277565,6.812473,
-58.124287,2.036049,-14.808834,
-58.124287,2.036057,6.812454,
-57.014584,2.036057,6.812462,
-57.014584,2.036049,-14.808824,
-58.124283,2.277565,6.812454,
-58.124283,2.277557,-14.808832,
-57.014580,2.277557,-14.808824,
-57.014580,2.277565,6.812462,
-19.452721,2.833096,-15.037155,
-19.452721,1.804219,-15.037155,
-19.452721,1.804226,8.076481,
-19.452721,2.833103,8.076481,
-18.742897,1.804219,-15.037155,
-18.742897,1.804226,8.076508,
-18.742897,2.822525,-15.037155,
-18.742897,2.822533,8.076504,
13.982925,7.824158,-17.225691,
13.982925,5.837395,-17.225691,
-56.247086,5.837395,-17.225691,
-56.247086,7.824158,-17.225691,
13.982891,5.837395,-14.965609,
-56.247120,5.837395,-14.965609,
13.982891,7.824158,-14.965609,
-56.247120,7.824158,-14.965609,
-58.328800,7.824158,-17.293671,
-58.328800,5.837395,-17.293671,
-58.328796,5.837395,15.321808,
-58.328796,7.824158,15.321808,
-56.068718,5.837395,-17.293633,
-56.068718,5.837395,15.321842,
-56.068718,7.824158,-17.293633,
-56.068718,7.824158,15.321842,
-23.494110,2.828909,11.141010,
-56.069214,2.828909,11.141003,
-56.069214,4.099611,11.141003,
-23.494110,4.099611,11.141010,
-56.069214,4.099611,11.751762,
-23.495783,4.099611,11.751770,
-56.069221,2.828140,11.751762,
-23.495783,2.828140,11.751770,
-56.069172,-1.836732,11.827065,
-56.069172,-1.836732,11.141022,
-56.069172,5.824118,11.141022,
-56.069172,5.824118,11.827065,
-58.329254,-1.836697,11.141022,
-58.329254,5.824152,11.141022,
-58.329254,-1.836697,11.827065,
-58.329254,5.824152,11.827065,
-56.680325,2.828909,11.671021,
-56.680332,2.828909,14.640575,
-56.680332,4.099611,14.640575,
-56.680325,4.099611,11.671021,
-56.069572,4.099611,14.640575,
-56.069565,4.099611,11.672695,
-56.069572,2.828140,14.640583,
-56.069565,2.828140,11.672695,
-56.069172,2.832458,15.304935,
-56.069172,2.832458,14.618893,
-56.069172,7.727682,14.618893,
-56.069172,7.727682,15.304935,
-58.329254,2.832492,14.618893,
-58.329254,7.727716,14.618893,
-58.329254,2.832492,15.304935,
-58.329254,7.727716,15.304935,
-61.744961,2.825308,36.670181,
-61.753716,2.825308,39.851627,
-61.753716,6.506403,39.851627,
-61.744961,6.506403,36.670181,
-66.274887,2.825308,36.691322,
-66.274887,2.825308,35.588825,
-66.274887,6.506403,35.588825,
-66.274887,6.506403,36.691322,
-66.274887,2.825308,15.236294,
-66.274887,6.506403,15.236294,
-67.346092,2.825308,7.428074,
-67.346092,2.825308,6.079578,
-67.346092,6.506403,6.079578,
-67.346092,6.506403,7.428074,
-67.346092,2.825308,5.183155,
-67.346092,6.506403,5.183155,
-67.346092,2.825308,4.077705,
-67.346092,6.506403,4.077705,
-67.346092,2.825308,2.523338,
-67.346092,6.506403,2.523338,
-67.346092,2.825308,-3.362095,
-67.346092,6.506403,-3.362095,
-67.346092,2.825308,-4.627834,
-67.346092,6.506403,-4.627834,
-67.357079,2.825308,-5.771858,
-67.357079,6.506403,-5.771858,
-67.357079,2.825308,-6.884411,
-67.357079,6.506403,-6.884411,
-67.357079,2.825308,-8.535835,
-67.357079,6.506403,-8.535835,
-67.357079,2.825308,-14.516144,
-67.357079,6.506403,-14.516144,
-67.357079,2.825308,-15.720688,
-67.357079,6.506403,-15.720688,
-67.357079,2.825308,-17.013771,
-67.357079,6.506403,-17.013771,
-67.357079,2.825308,-18.065208,
-67.357079,6.506403,-18.065208,
-67.357079,2.825308,-19.715675,
-67.357079,6.506403,-19.715675,
-67.357079,2.825308,-22.774940,
-67.357079,6.506403,-22.774940,
-67.357079,2.825308,-27.121338,
-67.357079,6.506403,-27.121338,
-66.285873,2.825308,-27.121338,
-64.163452,2.825308,-27.137283,
-64.163452,6.506403,-27.137283,
-66.285873,6.506403,-27.121338,
-59.537846,2.825308,-27.137283,
-59.537846,6.506403,-27.137283,
-59.537846,2.825308,-28.205971,
-59.537846,6.506403,-28.205971,
-59.537846,2.825308,-30.966789,
-59.537846,6.506403,-30.966789,
-56.296551,2.825308,-30.966789,
-56.296551,6.506403,-30.966789,
-9.448769,2.825308,-30.966789,
-9.448769,6.506403,-30.966789,
-1.895332,2.825308,-30.966789,
-1.895332,2.825308,-28.205971,
-1.895332,6.506403,-28.205971,
-1.895332,6.506403,-30.966789,
-9.448769,2.825308,-33.367661,
-9.448769,6.506403,-33.367661,
-1.895332,2.825308,-33.367661,
-1.895332,6.506403,-33.367661,
-7.255905,2.825308,-33.367661,
-7.255905,6.506403,-33.367661,
-4.466415,2.825308,-33.367661,
-4.466415,6.506403,-33.367661,
-7.255905,2.825308,-39.521469,
-7.255905,6.506403,-39.521469,
-4.477402,2.825308,-39.521469,
-4.477402,6.506403,-39.521469,
-66.274887,2.825308,39.851673,
-66.274887,6.506403,39.851673,
-61.753994,2.825308,35.611389,
-61.753994,2.825308,33.565456,
-61.753994,6.506403,33.565456,
-61.753994,6.506403,35.611389,
-61.753994,2.825308,31.376345,
-61.753994,6.506403,31.376345,
-61.753994,2.825308,29.263561,
-61.753994,6.506403,29.263561,
-61.753994,2.825308,27.069635,
-61.753994,6.506403,27.069635,
-61.753994,2.825308,25.013569,
-61.753994,6.506403,25.013569,
-61.753994,2.825308,22.920588,
-61.753994,6.506403,22.920588,
-61.753994,2.825308,21.027710,
-61.753994,6.506403,21.027710,
-61.753994,2.825308,19.183861,
-61.753994,6.506403,19.183861,
-67.346092,2.825308,15.236294,
-67.346092,6.506403,15.236294,
-60.934242,2.825308,19.170998,
-60.934242,6.506403,19.170998,
-59.942772,2.825308,17.651043,
-59.942772,6.506403,17.651043,
-58.761581,2.825308,16.134129,
-58.761581,6.506403,16.134129,
-57.547718,2.825308,15.013855,
-57.206173,2.825308,14.734707,
-57.206173,6.506403,14.734707,
-57.547718,6.506403,15.013855,
-64.152466,2.825308,15.220341,
-64.152466,2.825308,35.572872,
-64.152466,5.807889,35.572872,
-64.152466,5.807889,15.220341,
-64.857536,6.160952,39.851662,
-64.857536,3.255439,39.851662,
-64.152473,3.255420,39.851650,
-64.152466,2.825308,39.851650,
-63.467613,3.255412,39.851646,
-63.467613,6.160683,39.851646,
-64.152466,6.160769,39.851650,
-64.152466,6.506403,39.851650,
-14.108459,2.825309,15.635509,
-16.297546,2.825309,15.635513,
-16.297546,4.752828,15.635513,
-14.108459,4.752828,15.635509,
-12.352562,2.825309,15.635502,
-12.352562,4.752828,15.635502,
-63.249496,2.825309,6.377163,
-64.152466,2.825309,7.412121,
-64.152466,4.000477,7.412121,
-63.249496,4.000477,6.377163,
-63.005241,2.825309,5.167202,
-63.005241,4.000477,5.167202,
-63.249496,2.825309,3.748222,
-63.249496,4.000477,3.748222,
-64.152466,2.825309,2.507385,
-64.152466,4.000477,2.507385,
-64.152466,2.825309,-3.378048,
-64.152466,4.000477,-3.378048,
-63.462658,2.825309,-4.093586,
-63.462658,4.000477,-4.093586,
-63.002167,2.825309,-5.787811,
-63.002167,4.000477,-5.787811,
-63.462658,2.825309,-7.450565,
-63.462658,4.000477,-7.450565,
-64.152466,2.825309,-8.551788,
-64.152466,4.000477,-8.551788,
-64.152466,2.825309,-14.532089,
-64.152466,4.000477,-14.532089,
-63.422958,2.825309,-15.323906,
-63.422958,4.000477,-15.323906,
-63.120647,2.825309,-17.029716,
-63.120647,4.000477,-17.029716,
-63.422958,2.825309,-18.493881,
-63.422958,4.000477,-18.493881,
-64.152466,2.825309,-19.731621,
-64.152466,4.000477,-19.731621,
-64.152466,2.825309,-22.790886,
-64.152466,4.000477,-22.790886,
-59.526859,2.825309,-22.790886,
-59.526859,4.000477,-22.790886,
-56.285564,2.825309,-22.790886,
-56.285564,4.000477,-22.790886,
-63.494308,4.000477,7.412121,
-62.591335,4.000477,6.377163,
-62.347080,4.000477,5.167202,
-62.591335,4.000477,3.748222,
-63.494308,4.000477,2.507385,
-63.494308,4.000477,-3.378048,
-62.804497,4.000477,-4.093586,
-62.344006,4.000477,-5.787811,
-62.804497,4.000477,-7.450565,
-63.494308,4.000477,-8.551788,
-63.494308,4.000477,-14.532089,
-62.764797,4.000477,-15.323906,
-62.462486,4.000477,-17.029716,
-62.764797,4.000477,-18.493881,
-63.494308,4.000477,-19.731621,
-63.494308,4.000477,-22.069138,
-63.492275,4.000477,-22.067291,
-59.526859,4.000477,-22.067291,
-56.285564,4.000477,-22.067291,
-63.492275,2.825000,-22.067291,
-59.526859,2.825000,-22.067291,
-56.285564,2.825000,-22.067291,
-9.437782,2.825309,-28.205971,
-56.285564,2.825309,-28.205971,
-56.285564,4.027503,-28.205971,
-9.437782,4.027503,-28.205971,
-7.244919,2.825309,-28.205971,
-7.244919,4.027503,-28.205971,
-4.466415,2.825309,-28.205971,
-4.466415,4.027503,-28.205971,
-1.895332,2.825309,-28.205971,
-1.884346,4.027503,-28.205971,
-56.285564,4.027503,-27.597244,
-9.437782,4.027503,-27.597244,
-7.244919,4.027503,-27.597244,
-4.466415,4.027503,-27.597244,
-1.884346,4.027503,-27.597244,
-56.285564,2.162269,-27.597244,
-9.437782,2.162269,-27.597244,
-7.244919,2.162269,-27.597244,
-4.466415,2.162269,-27.597244,
-1.884346,2.162269,-27.597244,
-64.152466,2.825309,15.220341,
-64.152466,4.000477,15.220341,
-63.494308,4.000477,15.220341,
-63.493999,2.825309,15.220341,
-19.452721,2.825309,8.585827,
-19.452721,2.825309,-15.037392,
-19.452721,3.514134,-15.037392,
-19.452721,3.514134,8.585827,
-18.798737,3.514134,-15.037392,
-18.798737,3.514134,8.585827,
-18.798737,2.830758,-15.037392,
-18.798737,2.830757,8.585838,
-60.891647,6.505952,19.170998,
-61.746582,6.505952,19.170998,
-60.946045,6.505952,17.651043,
-59.942772,6.505952,17.651043,
-59.947937,6.505952,16.134129,
-58.761581,6.505952,16.134129,
-58.922222,6.505952,15.013855,
-57.547718,6.505952,15.013855,
-66.415512,6.505952,19.170998,
-66.415504,6.505952,17.651043,
-66.415497,6.505952,16.134129,
-66.415497,6.505952,15.013855,
-66.415482,6.505952,39.857334,
-61.746063,6.505952,39.857334,
-66.274887,-1.435185,15.220335,
-63.494270,-1.435185,15.220335,
-63.494270,2.825449,15.220335,
-66.274887,2.825449,15.220335,
-66.274887,-1.435185,20.292896,
-66.274887,-1.435185,15.591379,
-66.274887,2.825449,15.591379,
-66.274887,2.825449,20.292896,
-66.274887,-1.435185,25.741852,
-66.274887,2.825449,25.741852,
-61.290237,2.568403,36.639767,
-61.749985,2.825449,36.639767,
-53.437836,2.825449,36.639767,
-53.437836,2.568441,36.639767,
-66.274887,-1.435185,39.851631,
-66.274887,-1.435185,36.639767,
-66.274887,2.825449,36.639767,
-66.274887,2.825449,39.851631,
-61.749985,-1.435185,36.639767,
-61.749985,-1.435185,39.851631,
-61.749985,2.825449,39.851631,
-62.362183,2.234015,39.851631,
-63.959206,2.234015,39.851631,
-63.959206,2.825449,39.851631,
-65.596527,2.234015,39.851631,
-65.596489,-0.830305,39.851624,
-50.503319,-1.435185,40.889816,
-49.492439,-1.435185,36.701012,
-49.492439,2.825449,36.701012,
-50.503319,2.825449,40.889816,
-50.503319,-1.435185,45.358566,
-50.503319,2.825449,45.358566,
-66.274887,-1.435185,31.190809,
-66.274887,2.825449,31.190809,
-50.949165,2.825449,36.702461,
-50.949165,2.568407,36.702461,
-63.959206,-1.435185,39.851631,
-63.959206,-0.830336,39.851631,
-62.362038,-0.830367,39.851631,
-47.898350,2.541781,45.358566,
-50.115662,2.541607,45.358566,
-47.035110,2.825449,45.358566,
-50.115997,-0.792300,45.358566,
-47.898075,-0.792250,45.358566,
-47.035110,-1.435185,45.358566,
-49.937508,2.568411,36.701721,
-49.937477,0.535155,36.701714,
-50.949165,-1.435185,36.702461,
-50.949169,0.535145,36.702461,
-53.437836,-1.435185,36.639767,
-53.437836,0.535178,36.639767,
-61.290199,0.535090,36.639767,
-49.588509,2.828909,36.672523,
-61.713760,2.828909,36.654682,
-61.713760,4.099611,36.654682,
-49.588509,4.099611,36.672523,
-61.713760,4.099611,37.265442,
-50.216259,4.099611,37.241833,
-61.713768,2.828140,37.265442,
-50.216259,2.828140,37.241833,
-50.303833,2.828909,41.292095,
-50.303833,4.099611,41.292095,
-50.244099,4.099611,44.751194,
-50.244099,2.828909,44.751194,
-50.912189,4.099611,41.238029,
-50.932079,4.099611,45.296089,
-50.912182,2.828140,41.238026,
-50.932079,2.828140,45.296089,
-47.391731,2.828909,44.751202,
-47.391731,4.099611,44.751202,
-47.393402,4.099611,45.361961,
-47.393402,2.828140,45.361961,
-12.444214,4.156978,-15.247326,
-12.444214,4.156978,-0.140697,
-12.444214,2.824337,-0.140697,
-12.444214,2.824337,-15.247326,
-12.442398,4.152318,-9.648390,
12.922028,4.152318,-9.648396,
12.924454,4.152318,-5.246710,
-12.442406,4.152318,-5.246702,
-12.442406,4.152317,-14.960705,
14.244202,4.152316,-14.960705,
13.607071,4.152317,-12.865171,
-12.442429,4.152317,-12.865168,
14.540421,4.152318,-0.052799,
-12.442421,4.152318,-0.052790,
-12.442406,6.505945,-14.960701,
14.244202,6.505944,-14.960701,
2.107685,-1.435185,-29.580357,
7.321955,-1.435185,-29.580357,
7.321955,6.561063,-29.580357,
2.107685,6.561063,-29.580357,
-9.392083,-1.435185,-34.547672,
-9.392083,-1.435185,-39.514988,
-9.392082,6.561063,-39.514988,
-9.392082,6.561063,-34.547672,
-1.755016,-1.435185,-39.514988,
-1.755016,6.561063,-39.514988,
1.224024,-1.435185,-34.547672,
1.224024,6.561063,-34.547672,
9.096703,-1.435185,-30.327900,
9.096703,6.561063,-30.327900,
8.398495,-1.435185,-32.491039,
8.398495,6.561063,-32.491039,
12.773201,-1.435185,-34.920628,
12.773201,6.561063,-34.920628,
24.354832,-1.435185,-29.541950,
24.354832,-1.435185,-22.859676,
24.354832,6.561063,-22.859676,
24.354832,6.561063,-29.541950,
24.354832,-1.435185,-32.825787,
24.354832,6.561063,-32.825787,
19.557728,-1.435185,-39.243168,
19.557728,6.561063,-39.243168,
24.354832,-1.435185,-39.669422,
24.354832,6.561063,-39.669422,
-9.392083,-1.435185,-29.580357,
-9.392082,6.561063,-29.580357,
14.203369,6.601403,-30.940613,
19.177551,6.601402,-35.047668,
18.782608,6.601402,-19.935272,
14.206100,6.601402,-15.094086,
24.412659,6.601397,-36.744507,
24.453308,6.601396,-22.893707,
14.007690,6.601403,-35.713593,
19.572495,6.601402,-39.254272,
24.371994,6.601397,-39.689575,
8.760635,6.601403,-30.940674,
8.361710,6.601403,-32.508545,
-48.446938,-1.836732,-27.540886,
-49.132980,-1.836732,-27.540886,
-49.132980,6.600659,-27.540886,
-48.446938,6.600659,-27.540886,
-49.132980,-1.836697,-25.980356,
-49.132980,6.600694,-25.980356,
-48.446938,-1.836697,-25.980356,
-48.446938,6.600694,-25.980356,
-41.149826,-1.836732,-27.540886,
-41.835869,-1.836732,-27.540886,
-41.835869,6.600659,-27.540886,
-41.149826,6.600659,-27.540886,
-41.835869,-1.836697,-25.980356,
-41.835869,6.600694,-25.980356,
-41.149826,-1.836697,-25.980356,
-41.149826,6.600694,-25.980356,
-33.807243,-1.836732,-27.540886,
-34.493286,-1.836732,-27.540886,
-34.493286,6.600659,-27.540886,
-33.807243,6.600659,-27.540886,
-34.493286,-1.836697,-25.980356,
-34.493286,6.600694,-25.980356,
-33.807243,-1.836697,-25.980356,
-33.807243,6.600694,-25.980356,
-26.417519,-1.836732,-27.540886,
-27.103561,-1.836732,-27.540886,
-27.103561,6.600659,-27.540886,
-26.417519,6.600659,-27.540886,
-27.103561,-1.836697,-25.980356,
-27.103561,6.600694,-25.980356,
-26.417519,-1.836697,-25.980356,
-26.417519,6.600694,-25.980356,
-19.054932,-1.836732,-27.540886,
-19.740974,-1.836732,-27.540886,
-19.740974,6.600659,-27.540886,
-19.054932,6.600659,-27.540886,
-19.740974,-1.836697,-25.980356,
-19.740974,6.600694,-25.980356,
-19.054932,-1.836697,-25.980356,
-19.054932,6.600694,-25.980356,
-11.734383,-1.836732,-27.540886,
-12.420425,-1.836732,-27.540886,
-12.420425,6.600659,-27.540886,
-11.734383,6.600659,-27.540886,
-12.420425,-1.836697,-25.980356,
-12.420425,6.600694,-25.980356,
-11.734383,-1.836697,-25.980356,
-11.734383,6.600694,-25.980356,
-4.347885,-1.836732,-27.540886,
-5.033936,-1.836732,-27.540886,
-5.033936,6.600659,-27.540886,
-4.347885,6.600659,-27.540886,
-5.033936,-1.836697,-25.980356,
-5.033936,6.600694,-25.980356,
-4.347885,-1.836697,-25.980356,
-4.347885,6.600694,-25.980356,
2.926193,-1.836732,-27.540886,
2.240143,-1.836732,-27.540886,
2.240143,6.600659,-27.540886,
2.926193,6.600659,-27.540886,
2.240143,-1.836697,-25.980356,
2.240143,6.600694,-25.980356,
2.926193,-1.836697,-25.980356,
2.926193,6.600694,-25.980356,
10.341385,-1.836732,-27.540886,
9.655350,-1.836732,-27.540886,
9.655350,6.600659,-27.540886,
10.341385,6.600659,-27.540886,
9.655350,-1.836697,-25.980356,
9.655350,6.600694,-25.980356,
10.341385,-1.836697,-25.980356,
10.341385,6.600694,-25.980356,
17.678909,-1.836732,-27.540886,
16.992859,-1.836732,-27.540886,
16.992859,6.600659,-27.540886,
17.678909,6.600659,-27.540886,
16.992859,-1.836697,-25.980356,
16.992859,6.600694,-25.980356,
17.678909,-1.836697,-25.980356,
17.678909,6.600694,-25.980356,
-12.451576,2.828909,1.985695,
-12.451580,2.828909,16.046860,
-12.451580,4.099611,16.046860,
-12.451576,4.099611,1.985695,
-11.840820,4.099611,16.046860,
-11.840816,4.099611,1.987368,
-11.840820,2.828140,16.046867,
-11.840816,2.828140,1.987368,
31.201729,-5.386791,10.147689,
31.201729,-5.466165,12.064100,
31.201729,-1.721564,12.064100,
31.201729,-1.721444,10.147690,
31.201729,-5.565927,14.349014,
31.201729,-1.721713,14.349013,
31.201729,-5.663584,16.585752,
31.201729,-1.721857,16.585752,
31.201729,-5.778347,19.214247,
31.201729,-1.722026,19.214247,
31.201729,-5.874021,21.405546,
31.201729,-1.722168,21.405546,
31.201729,-5.962591,23.434132,
31.201729,-1.722300,23.434132,
31.260071,-6.078952,26.099237,
31.260071,-1.722472,26.099239,
35.247684,-0.308445,6.246616,
35.185001,-0.308445,26.071568,
35.185001,2.201479,26.071568,
35.247684,2.201479,6.246616,
-48.066105,-0.852837,-15.708874,
-48.066105,-0.998238,-15.708876,
-45.794678,-0.998238,-15.708876,
-45.794678,-0.852837,-15.708872,
-48.066158,-0.852837,-17.197760,
-45.794731,-0.852837,-17.197758,
-48.196129,-0.852837,-17.197760,
-48.196129,-0.998238,-17.197762,
-48.196095,-0.998238,-15.708876,
-48.196095,-0.852837,-15.708874,
-45.664745,-1.409195,-17.197760,
-45.664745,-0.998238,-17.197760,
-45.664711,-0.998238,-15.708876,
-45.664711,-1.409195,-15.708876,
-45.794678,-1.409195,-15.708876,
-45.664711,-0.852837,-15.708872,
-45.664745,-0.852837,-17.197758,
-48.196129,-1.409195,-17.197762,
-48.066158,-0.998238,-17.197762,
-48.066158,-1.409195,-17.197762,
-45.794731,-0.998238,-17.197760,
-48.196095,-1.409195,-15.708878,
-48.066105,-1.409195,-15.708878,
-45.794731,-1.409195,-17.197760,
-44.451096,-0.852837,-15.708874,
-44.451096,-0.998238,-15.708876,
-42.179665,-0.998238,-15.708876,
-42.179665,-0.852837,-15.708872,
-44.451149,-0.852837,-17.197760,
-42.179718,-0.852837,-17.197758,
-44.581120,-0.852837,-17.197760,
-44.581120,-0.998238,-17.197762,
-44.581085,-0.998238,-15.708876,
-44.581085,-0.852837,-15.708874,
-42.049736,-1.409195,-17.197760,
-42.049736,-0.998238,-17.197760,
-42.049702,-0.998238,-15.708876,
-42.049702,-1.409195,-15.708876,
-42.179665,-1.409195,-15.708876,
-42.049702,-0.852837,-15.708872,
-42.049736,-0.852837,-17.197758,
-44.581120,-1.409195,-17.197762,
-44.451149,-0.998238,-17.197762,
-44.451149,-1.409195,-17.197762,
-42.179718,-0.998238,-17.197760,
-44.581085,-1.409195,-15.708878,
-44.451096,-1.409195,-15.708878,
-42.179718,-1.409195,-17.197760,
-40.690746,-0.852837,-15.708874,
-40.690746,-0.998238,-15.708876,
-38.419319,-0.998238,-15.708876,
-38.419319,-0.852837,-15.708872,
-40.690800,-0.852837,-17.197760,
-38.419373,-0.852837,-17.197758,
-40.820770,-0.852837,-17.197760,
-40.820770,-0.998238,-17.197762,
-40.820736,-0.998238,-15.708876,
-40.820736,-0.852837,-15.708874,
-38.289387,-1.409195,-17.197760,
-38.289387,-0.998238,-17.197760,
-38.289352,-0.998238,-15.708876,
-38.289352,-1.409195,-15.708876,
-38.419319,-1.409195,-15.708876,
-38.289352,-0.852837,-15.708872,
-38.289387,-0.852837,-17.197758,
-40.820770,-1.409195,-17.197762,
-40.690800,-0.998238,-17.197762,
-40.690800,-1.409195,-17.197762,
-38.419373,-0.998238,-17.197760,
-40.820736,-1.409195,-15.708878,
-40.690746,-1.409195,-15.708878,
-38.419373,-1.409195,-17.197760,
-37.075737,-0.852837,-15.708874,
-37.075737,-0.998238,-15.708876,
-34.804306,-0.998238,-15.708876,
-34.804306,-0.852837,-15.708872,
-37.075790,-0.852837,-17.197760,
-34.804359,-0.852837,-17.197758,
-37.205761,-0.852837,-17.197760,
-37.205761,-0.998238,-17.197762,
-37.205727,-0.998238,-15.708876,
-37.205727,-0.852837,-15.708874,
-34.674377,-1.409195,-17.197760,
-34.674377,-0.998238,-17.197760,
-34.674343,-0.998238,-15.708876,
-34.674343,-1.409195,-15.708876,
-34.804306,-1.409195,-15.708876,
-34.674343,-0.852837,-15.708872,
-34.674377,-0.852837,-17.197758,
-37.205761,-1.409195,-17.197762,
-37.075790,-0.998238,-17.197762,
-37.075790,-1.409195,-17.197762,
-34.804359,-0.998238,-17.197760,
-37.205727,-1.409195,-15.708878,
-37.075737,-1.409195,-15.708878,
-34.804359,-1.409195,-17.197760,
-33.321083,-0.852837,-15.708874,
-33.321083,-0.998238,-15.708876,
-31.049654,-0.998238,-15.708876,
-31.049654,-0.852837,-15.708872,
-33.321136,-0.852837,-17.197760,
-31.049707,-0.852837,-17.197758,
-33.451107,-0.852837,-17.197760,
-33.451107,-0.998238,-17.197762,
-33.451073,-0.998238,-15.708876,
-33.451073,-0.852837,-15.708874,
-30.919724,-1.409195,-17.197760,
-30.919724,-0.998238,-17.197760,
-30.919689,-0.998238,-15.708876,
-30.919689,-1.409195,-15.708876,
-31.049654,-1.409195,-15.708876,
-30.919689,-0.852837,-15.708872,
-30.919724,-0.852837,-17.197758,
-33.451107,-1.409195,-17.197762,
-33.321136,-0.998238,-17.197762,
-33.321136,-1.409195,-17.197762,
-31.049707,-0.998238,-17.197760,
-33.451073,-1.409195,-15.708878,
-33.321083,-1.409195,-15.708878,
-31.049707,-1.409195,-17.197760,
-29.706074,-0.852837,-15.708874,
-29.706074,-0.998238,-15.708876,
-27.434645,-0.998238,-15.708876,
-27.434645,-0.852837,-15.708872,
-29.706127,-0.852837,-17.197760,
-27.434698,-0.852837,-17.197758,
-29.836098,-0.852837,-17.197760,
-29.836098,-0.998238,-17.197762,
-29.836063,-0.998238,-15.708876,
-29.836063,-0.852837,-15.708874,
-27.304714,-1.409195,-17.197760,
-27.304714,-0.998238,-17.197760,
-27.304680,-0.998238,-15.708876,
-27.304680,-1.409195,-15.708876,
-27.434645,-1.409195,-15.708876,
-27.304680,-0.852837,-15.708872,
-27.304714,-0.852837,-17.197758,
-29.836098,-1.409195,-17.197762,
-29.706127,-0.998238,-17.197762,
-29.706127,-1.409195,-17.197762,
-27.434698,-0.998238,-17.197760,
-29.836063,-1.409195,-15.708878,
-29.706074,-1.409195,-15.708878,
-27.434698,-1.409195,-17.197760,
-25.910156,-0.852837,-15.708874,
-25.910156,-0.998238,-15.708876,
-23.638727,-0.998238,-15.708876,
-23.638727,-0.852837,-15.708872,
-25.910210,-0.852837,-17.197760,
-23.638781,-0.852837,-17.197758,
-26.040180,-0.852837,-17.197760,
-26.040180,-0.998238,-17.197762,
-26.040146,-0.998238,-15.708876,
-26.040146,-0.852837,-15.708874,
-23.508797,-1.409195,-17.197760,
-23.508797,-0.998238,-17.197760,
-23.508762,-0.998238,-15.708876,
-23.508762,-1.409195,-15.708876,
-23.638727,-1.409195,-15.708876,
-23.508762,-0.852837,-15.708872,
-23.508797,-0.852837,-17.197758,
-26.040180,-1.409195,-17.197762,
-25.910210,-0.998238,-17.197762,
-25.910210,-1.409195,-17.197762,
-23.638781,-0.998238,-17.197760,
-26.040146,-1.409195,-15.708878,
-25.910156,-1.409195,-15.708878,
-23.638781,-1.409195,-17.197760,
-22.295147,-0.852837,-15.708874,
-22.295147,-0.998238,-15.708876,
-20.023718,-0.998238,-15.708876,
-20.023718,-0.852837,-15.708872,
-22.295200,-0.852837,-17.197760,
-20.023771,-0.852837,-17.197758,
-22.425171,-0.852837,-17.197760,
-22.425171,-0.998238,-17.197762,
-22.425137,-0.998238,-15.708876,
-22.425137,-0.852837,-15.708874,
-19.893787,-1.409195,-17.197760,
-19.893787,-0.998238,-17.197760,
-19.893753,-0.998238,-15.708876,
-19.893753,-1.409195,-15.708876,
-20.023718,-1.409195,-15.708876,
-19.893753,-0.852837,-15.708872,
-19.893787,-0.852837,-17.197758,
-22.425171,-1.409195,-17.197762,
-22.295200,-0.998238,-17.197762,
-22.295200,-1.409195,-17.197762,
-20.023771,-0.998238,-17.197760,
-22.425137,-1.409195,-15.708878,
-22.295147,-1.409195,-15.708878,
-20.023771,-1.409195,-17.197760,
-55.346306,-0.852837,-15.708874,
-55.346306,-0.998238,-15.708876,
-53.074875,-0.998238,-15.708876,
-53.074875,-0.852837,-15.708872,
-55.346359,-0.852837,-17.197760,
-53.074928,-0.852837,-17.197758,
-55.476330,-0.852837,-17.197760,
-55.476330,-0.998238,-17.197762,
-55.476295,-0.998238,-15.708876,
-55.476295,-0.852837,-15.708874,
-52.944946,-1.409195,-17.197760,
-52.944946,-0.998238,-17.197760,
-52.944912,-0.998238,-15.708876,
-52.944912,-1.409195,-15.708876,
-53.074875,-1.409195,-15.708876,
-52.944912,-0.852837,-15.708872,
-52.944946,-0.852837,-17.197758,
-55.476330,-1.409195,-17.197762,
-55.346359,-0.998238,-17.197762,
-55.346359,-1.409195,-17.197762,
-53.074928,-0.998238,-17.197760,
-55.476295,-1.409195,-15.708878,
-55.346306,-1.409195,-15.708878,
-53.074928,-1.409195,-17.197760,
-51.731300,-0.852837,-15.708874,
-51.731300,-0.998238,-15.708876,
-49.459869,-0.998238,-15.708876,
-49.459869,-0.852837,-15.708872,
-51.731354,-0.852837,-17.197760,
-49.459923,-0.852837,-17.197758,
-51.861324,-0.852837,-17.197760,
-51.861324,-0.998238,-17.197762,
-51.861290,-0.998238,-15.708876,
-51.861290,-0.852837,-15.708874,
-49.329941,-1.409195,-17.197760,
-49.329941,-0.998238,-17.197760,
-49.329906,-0.998238,-15.708876,
-49.329906,-1.409195,-15.708876,
-49.459869,-1.409195,-15.708876,
-49.329906,-0.852837,-15.708872,
-49.329941,-0.852837,-17.197758,
-51.861324,-1.409195,-17.197762,
-51.731354,-0.998238,-17.197762,
-51.731354,-1.409195,-17.197762,
-49.459923,-0.998238,-17.197760,
-51.861290,-1.409195,-15.708878,
-51.731300,-1.409195,-15.708878,
-49.459923,-1.409195,-17.197760,
-4.686184,-1.402489,-25.974203,
-35.898186,-1.402489,-25.974203,
-35.898186,-0.851601,-25.974203,
-10.597668,-0.871132,-25.974203,
-10.597702,-0.871132,-22.541338,
-35.898220,-0.851601,-22.541338,
-35.898220,-1.402489,-22.541338,
-4.686218,-1.402489,-22.541338,
-46.546249,-1.402489,-22.541338,
-46.546249,-0.851601,-22.541338,
-46.546215,-0.851601,-25.974203,
-46.546215,-1.402489,-25.974203,
-21.598370,-0.021164,-25.974203,
-35.898186,1.151505,-25.974203,
-35.898220,1.151505,-22.541338,
-21.598404,-0.021164,-22.541338,
35.185001,-1.435185,34.628563,
31.591141,-1.435185,35.172577,
31.591141,-0.308434,35.172577,
35.185001,-0.308434,34.628563,
35.199070,-1.435185,26.020508,
35.199070,-0.308434,26.020508,
35.204597,-0.308434,23.772400,
35.204597,-1.435185,23.772400,
31.612118,-1.435185,23.773813,
31.612118,-0.308434,23.773813,
31.606556,-0.308434,26.031319,
31.606556,-1.435185,26.031319,
35.185001,-1.435185,31.743967,
35.185001,-0.308434,31.743967,
-7.473011,-1.435185,40.492516,
-7.473011,-0.308434,40.492516,
-7.473011,-1.435185,37.607922,
31.591141,-1.435185,32.287979,
31.591141,-0.308434,32.287979,
-7.473011,-0.308434,37.607922,
35.741329,-0.308434,26.020508,
35.746857,-0.308434,23.772400,
35.732052,-0.308434,35.035995,
35.727261,-0.308434,31.743967,
31.591141,-0.308434,35.722107,
-7.473011,-0.308434,41.042049,
30.948029,-0.308434,31.589634,
-7.465637,-0.308434,36.824799,
35.741329,-1.723855,26.020508,
35.746857,-1.723855,23.772400,
35.732052,-1.723855,35.035995,
35.727261,-1.723855,31.743967,
31.589947,-1.723854,35.722267,
-7.471917,-1.723855,41.041904,
30.988724,-0.308434,23.773460,
30.988731,-1.723855,23.773460,
30.977009,-1.723855,26.024517,
30.977005,-0.308434,26.024517,
30.948029,-1.723855,31.589634,
-7.465628,-1.723855,36.824799,
-16.295940,-1.435185,41.824406,
-16.295940,-0.308434,41.824406,
-16.295940,-0.308434,42.373936,
-16.294846,-1.723855,42.373791,
-16.288557,-1.723855,38.156685,
35.239265,-0.308434,9.670986,
35.239265,-1.435185,9.670986,
31.646854,-1.435185,9.672337,
31.646854,-0.308434,9.672337,
35.781525,-0.308434,9.670986,
31.062145,-0.308434,9.672337,
35.781525,-1.723855,9.670986,
31.062160,-1.723855,9.672337,
35.247684,-0.308434,6.246616,
35.247684,-1.435185,6.246616,
31.652500,-1.435185,7.379467,
31.652500,-0.308434,7.379467,
35.789944,-0.308434,6.246616,
35.789944,-1.723855,6.246616,
31.074085,-0.308434,7.379467,
31.074104,-1.723855,7.378803,
31.612118,2.237202,23.773813,
31.606556,2.237202,26.031319,
30.988724,2.237202,23.773460,
30.977005,2.237202,26.024517,
31.652500,2.237202,7.379467,
31.646854,2.237202,9.672337,
31.074085,2.237202,7.379467,
31.062145,2.237202,9.672337,
-12.161179,-4.800210,-0.237246,
-12.847221,-4.800210,-0.237246,
-12.847221,2.817126,-0.237246,
-12.161179,2.817126,-0.237246,
-12.847221,-4.800174,2.022837,
-12.847221,2.817161,2.022837,
-12.161179,-4.800174,2.022837,
-12.161179,2.817161,2.022837,
-13.562515,-1.435455,15.727711,
-13.562515,-0.526691,15.727711,
-13.562515,-0.526691,-15.247300,
-13.562515,-1.435455,-15.247266,
-12.444252,-0.526691,15.727711,
-12.444252,-0.526691,-15.247300,
-12.444252,-1.435455,15.727711,
-12.444252,-1.435455,-15.247266,
-13.054993,-0.599529,2.022633,
-13.054993,-0.599529,15.728086,
-13.054993,0.082981,15.728086,
-13.054993,0.082981,2.022633,
-12.444229,0.082981,15.728086,
-12.444229,0.082981,2.022637,
-12.444229,-0.600300,15.728086,
-12.444229,-0.600300,2.022637,
-46.809895,-1.484090,14.271507,
-46.838718,-1.484090,14.108030,
-46.838718,2.786584,14.108030,
-46.809895,2.786584,14.271507,
-46.921719,-1.484090,13.964272,
-46.921719,2.786584,13.964272,
-47.048882,-1.484090,13.857570,
-47.048882,2.786584,13.857570,
-47.204868,-1.484090,13.800795,
-47.204868,2.786584,13.800795,
-47.370869,-1.484090,13.800795,
-47.370869,2.786584,13.800795,
-47.526855,-1.484090,13.857570,
-47.526855,2.786584,13.857570,
-47.654018,-1.484090,13.964272,
-47.654018,2.786584,13.964272,
-47.737019,-1.484090,14.108030,
-47.737019,2.786584,14.108030,
-47.765842,-1.484090,14.271507,
-47.765842,2.786584,14.271507,
-47.737019,-1.484090,14.434984,
-47.737019,2.786584,14.434984,
-47.654018,-1.484090,14.578743,
-47.654018,2.786584,14.578743,
-47.526855,-1.484090,14.685445,
-47.526855,2.786584,14.685445,
-47.370869,-1.484090,14.742220,
-47.370869,2.786584,14.742220,
-47.204868,-1.484090,14.742220,
-47.204868,2.786584,14.742220,
-47.048882,-1.484090,14.685445,
-47.048882,2.786584,14.685445,
-46.921719,-1.484090,14.578743,
-46.921719,2.786584,14.578743,
-46.838718,-1.484090,14.434984,
-46.838718,2.786584,14.434984,
-52.290306,-1.484090,15.235244,
-52.319130,-1.484090,15.071767,
-52.319130,2.786584,15.071767,
-52.290306,2.786584,15.235244,
-52.402130,-1.484090,14.928008,
-52.402130,2.786584,14.928008,
-52.529293,-1.484090,14.821306,
-52.529293,2.786584,14.821306,
-52.685280,-1.484090,14.764531,
-52.685280,2.786584,14.764531,
-52.851280,-1.484090,14.764531,
-52.851280,2.786584,14.764531,
-53.007267,-1.484090,14.821306,
-53.007267,2.786584,14.821306,
-53.134430,-1.484090,14.928008,
-53.134430,2.786584,14.928008,
-53.217430,-1.484090,15.071767,
-53.217430,2.786584,15.071767,
-53.246254,-1.484090,15.235244,
-53.246254,2.786584,15.235244,
-53.217430,-1.484090,15.398721,
-53.217430,2.786584,15.398721,
-53.134430,-1.484090,15.542480,
-53.134430,2.786584,15.542480,
-53.007267,-1.484090,15.649181,
-53.007267,2.786584,15.649181,
-52.851280,-1.484090,15.705956,
-52.851280,2.786584,15.705956,
-52.685280,-1.484090,15.705956,
-52.685280,2.786584,15.705956,
-52.529293,-1.484090,15.649181,
-52.529293,2.786584,15.649181,
-52.402130,-1.484090,15.542480,
-52.402130,2.786584,15.542480,
-52.319130,-1.484090,15.398721,
-52.319130,2.786584,15.398721,
-56.717003,-1.484090,18.588884,
-56.745827,-1.484090,18.425407,
-56.745827,2.786584,18.425407,
-56.717003,2.786584,18.588884,
-56.828827,-1.484090,18.281649,
-56.828827,2.786584,18.281649,
-56.955990,-1.484090,18.174946,
-56.955990,2.786584,18.174946,
-57.111977,-1.484090,18.118172,
-57.111977,2.786584,18.118172,
-57.277977,-1.484090,18.118172,
-57.277977,2.786584,18.118172,
-57.433964,-1.484090,18.174946,
-57.433964,2.786584,18.174946,
-57.561127,-1.484090,18.281649,
-57.561127,2.786584,18.281649,
-57.644127,-1.484090,18.425407,
-57.644127,2.786584,18.425407,
-57.672951,-1.484090,18.588884,
-57.672951,2.786584,18.588884,
-57.644127,-1.484090,18.752361,
-57.644127,2.786584,18.752361,
-57.561127,-1.484090,18.896120,
-57.561127,2.786584,18.896120,
-57.433964,-1.484090,19.002823,
-57.433964,2.786584,19.002823,
-57.277977,-1.484090,19.059597,
-57.277977,2.786584,19.059597,
-57.111977,-1.484090,19.059597,
-57.111977,2.786584,19.059597,
-56.955990,-1.484090,19.002823,
-56.955990,2.786584,19.002823,
-56.828827,-1.484090,18.896120,
-56.828827,2.786584,18.896120,
-56.745827,-1.484090,18.752361,
-56.745827,2.786584,18.752361,
-59.072956,-1.484090,23.762901,
-59.101780,-1.484090,23.599424,
-59.101780,2.786584,23.599424,
-59.072956,2.786584,23.762901,
-59.184780,-1.484090,23.455666,
-59.184780,2.786584,23.455666,
-59.311943,-1.484090,23.348963,
-59.311943,2.786584,23.348963,
-59.467930,-1.484090,23.292189,
-59.467930,2.786584,23.292189,
-59.633930,-1.484090,23.292189,
-59.633930,2.786584,23.292189,
-59.789917,-1.484090,23.348963,
-59.789917,2.786584,23.348963,
-59.917080,-1.484090,23.455666,
-59.917080,2.786584,23.455666,
-60.000080,-1.484090,23.599424,
-60.000080,2.786584,23.599424,
-60.028904,-1.484090,23.762901,
-60.028904,2.786584,23.762901,
-60.000080,-1.484090,23.926378,
-60.000080,2.786584,23.926378,
-59.917080,-1.484090,24.070137,
-59.917080,2.786584,24.070137,
-59.789917,-1.484090,24.176840,
-59.789917,2.786584,24.176840,
-59.633930,-1.484090,24.233614,
-59.633930,2.786584,24.233614,
-59.467930,-1.484090,24.233614,
-59.467930,2.786584,24.233614,
-59.311943,-1.484090,24.176840,
-59.311943,2.786584,24.176840,
-59.184780,-1.484090,24.070137,
-59.184780,2.786584,24.070137,
-59.101780,-1.484090,23.926378,
-59.101780,2.786584,23.926378,
-58.780560,-1.484090,29.185148,
-58.809383,-1.484090,29.021671,
-58.809383,2.786584,29.021671,
-58.780560,2.786584,29.185148,
-58.892384,-1.484090,28.877913,
-58.892384,2.786584,28.877913,
-59.019547,-1.484090,28.771210,
-59.019547,2.786584,28.771210,
-59.175533,-1.484090,28.714436,
-59.175533,2.786584,28.714436,
-59.341534,-1.484090,28.714436,
-59.341534,2.786584,28.714436,
-59.497520,-1.484090,28.771210,
-59.497520,2.786584,28.771210,
-59.624683,-1.484090,28.877913,
-59.624683,2.786584,28.877913,
-59.707684,-1.484090,29.021671,
-59.707684,2.786584,29.021671,
-59.736507,-1.484090,29.185148,
-59.736507,2.786584,29.185148,
-59.707684,-1.484090,29.348625,
-59.707684,2.786584,29.348625,
-59.624683,-1.484090,29.492384,
-59.624683,2.786584,29.492384,
-59.497520,-1.484090,29.599087,
-59.497520,2.786584,29.599087,
-59.341534,-1.484090,29.655861,
-59.341534,2.786584,29.655861,
-59.175533,-1.484090,29.655861,
-59.175533,2.786584,29.655861,
-59.019547,-1.484090,29.599087,
-59.019547,2.786584,29.599087,
-58.892384,-1.484090,29.492384,
-58.892384,2.786584,29.492384,
-58.809383,-1.484090,29.348625,
-58.809383,2.786584,29.348625,
-56.307491,-1.484090,33.722946,
-56.336315,-1.484090,33.559471,
-56.336315,2.786584,33.559471,
-56.307491,2.786584,33.722946,
-56.419315,-1.484090,33.415710,
-56.419315,2.786584,33.415710,
-56.546478,-1.484090,33.309010,
-56.546478,2.786584,33.309010,
-56.702465,-1.484090,33.252232,
-56.702465,2.786584,33.252232,
-56.868465,-1.484090,33.252232,
-56.868465,2.786584,33.252232,
-57.024452,-1.484090,33.309010,
-57.024452,2.786584,33.309010,
-57.151615,-1.484090,33.415710,
-57.151615,2.786584,33.415710,
-57.234615,-1.484090,33.559471,
-57.234615,2.786584,33.559471,
-57.263439,-1.484090,33.722946,
-57.263439,2.786584,33.722946,
-57.234615,-1.484090,33.886421,
-57.234615,2.786584,33.886421,
-57.151615,-1.484090,34.030182,
-57.151615,2.786584,34.030182,
-57.024452,-1.484090,34.136883,
-57.024452,2.786584,34.136883,
-56.868465,-1.484090,34.193661,
-56.868465,2.786584,34.193661,
-56.702465,-1.484090,34.193661,
-56.702465,2.786584,34.193661,
-56.546478,-1.484090,34.136883,
-56.546478,2.786584,34.136883,
-56.419315,-1.484090,34.030182,
-56.419315,2.786584,34.030182,
-56.336315,-1.484090,33.886425,
-56.336315,2.786584,33.886425,
-19.452332,2.825309,-15.037285,
-12.444283,2.825309,-15.037285,
-12.444283,3.514134,-15.037285,
-19.452332,3.514134,-15.037285,
-12.444283,3.514134,-14.383301,
-19.452332,3.514134,-14.383301,
-12.444283,2.830758,-14.383301,
-19.452343,2.830758,-14.383301,
-64.152466,2.796673,39.851650,
-66.274887,2.796673,39.851673,
-66.274887,2.796673,36.691322,
-64.152466,2.796673,36.683334,
-61.753716,2.796673,39.851627,
-61.744961,2.796673,36.670181,
-66.274887,2.796673,35.588825,
-66.274887,2.796673,15.236294,
-64.152466,2.796673,15.220341,
-64.152466,2.796673,35.566353,
-66.274887,2.796673,7.428074,
-66.274887,2.796673,6.079578,
-63.249496,2.796673,6.377163,
-64.152466,2.796673,7.412121,
-67.346092,2.796673,7.428074,
-67.346092,2.796673,6.079578,
-66.274887,2.796673,5.183155,
-63.005241,2.796673,5.167202,
-67.346092,2.796673,5.183155,
-66.274887,2.796673,4.077705,
-63.249496,2.796673,3.748222,
-67.346092,2.796673,4.077705,
-66.274887,2.796673,2.523338,
-64.152466,2.796673,2.507385,
-67.346092,2.796673,2.523338,
-66.274887,2.796673,-3.362095,
-64.152466,2.796673,-3.378048,
-67.346092,2.796673,-3.362095,
-66.274887,2.796673,-4.627834,
-63.462658,2.796673,-4.093586,
-67.346092,2.796673,-4.627834,
-66.274887,2.796673,-5.771858,
-63.002167,2.796673,-5.787811,
-67.357079,2.796673,-5.771858,
-66.274887,2.796673,-6.884411,
-63.462658,2.796673,-7.450565,
-67.357079,2.796673,-6.884411,
-66.274887,2.796673,-8.535835,
-64.152466,2.796673,-8.551788,
-67.357079,2.796673,-8.535835,
-66.274887,2.796673,-14.516144,
-64.152466,2.796673,-14.532089,
-67.357079,2.796673,-14.516144,
-66.274887,2.796673,-15.720688,
-63.422958,2.796673,-15.323906,
-67.357079,2.796673,-15.720688,
-66.274887,2.796673,-17.013771,
-63.120647,2.796673,-17.029716,
-67.357079,2.796673,-17.013771,
-66.274887,2.796673,-18.065208,
-63.422958,2.796673,-18.493881,
-67.357079,2.796673,-18.065208,
-66.274887,2.796673,-19.715675,
-64.152466,2.796673,-19.731621,
-67.357079,2.796673,-19.715675,
-66.274887,2.796673,-22.774940,
-64.152466,2.796673,-22.790886,
-67.357079,2.796673,-22.774940,
-66.285873,2.796673,-27.121338,
-64.163452,2.796673,-27.137283,
-67.357079,2.796673,-27.121338,
-59.537846,2.796673,-27.137283,
-59.526859,2.796673,-22.790886,
-56.285564,2.796673,-27.137283,
-56.285564,2.796673,-22.790886,
-59.537846,2.796673,-28.205971,
-56.285564,2.796673,-28.205971,
-59.537846,2.796673,-30.966789,
-56.296551,2.796673,-30.966789,
-9.448769,2.796673,-30.966789,
-9.437782,2.796673,-28.205971,
-7.244919,2.796673,-30.966789,
-7.244919,2.796673,-28.205971,
-4.466415,2.796673,-30.966789,
-4.466415,2.796673,-28.205971,
-1.895332,2.796673,-30.966789,
-1.895332,2.796673,-28.205971,
-9.448769,2.796673,-33.367661,
-7.255905,2.796673,-33.367661,
-4.466415,2.796673,-33.367661,
-1.895332,2.796673,-33.367661,
-7.255905,2.796673,-39.578110,
-4.477402,2.796673,-39.578110,
-14.108459,2.796673,15.635509,
-16.297546,2.796673,15.635513,
-16.297546,2.796673,12.911297,
-14.108459,2.796673,12.910683,
-16.297546,2.796673,-15.037399,
-14.108459,2.796673,-15.037407,
-14.108459,2.796673,8.580948,
-16.297546,2.796673,8.583389,
-19.452721,2.796673,12.911911,
-19.452721,2.796673,15.635521,
-23.408218,2.796673,15.635521,
-23.408218,2.796673,12.911911,
-14.108459,2.796673,11.110050,
-16.297546,2.796673,11.111275,
-19.452721,2.796673,8.585827,
-19.452721,2.796673,11.112495,
-23.408218,2.796673,11.112495,
-23.408218,2.796673,8.585827,
-25.092499,2.796673,15.959148,
-25.092499,2.796673,13.238945,
-28.516655,2.796673,16.743000,
-28.516655,2.796673,13.749241,
-31.548431,2.796673,17.848225,
-31.548431,2.796673,14.480362,
-34.941956,2.796673,19.489540,
-34.609955,2.796673,15.301018,
-37.674271,2.796673,21.468998,
-37.597649,2.796673,16.290749,
-40.311562,2.796673,24.352448,
-40.311562,2.796673,15.972858,
-43.112862,2.796673,16.982098,
-42.431236,2.796673,13.862358,
-42.623383,2.796673,27.359142,
-43.970779,2.796673,21.421829,
-43.942993,2.796673,29.520239,
-45.716698,2.796673,24.858179,
-45.321777,2.796673,32.098335,
-47.982056,2.796673,28.452295,
-46.522179,2.796673,35.008991,
-50.731583,2.796673,31.558289,
-46.881149,2.796673,36.778687,
-49.964928,2.796673,36.742180,
-47.541771,2.796673,41.253540,
-50.594810,2.796673,41.228714,
-47.572014,2.796673,45.420830,
-50.714729,2.796673,45.396004,
-54.494480,2.796673,36.742180,
-53.608086,2.796673,34.711922,
-55.902367,2.796673,36.742180,
-55.149765,2.796673,33.077667,
-57.825027,2.796673,36.765121,
-56.018021,2.796673,33.784565,
-59.784996,2.796673,36.717651,
-58.736996,2.796673,34.945580,
-61.753994,2.796673,35.566299,
-61.753994,2.796673,33.565456,
-59.397621,2.796673,33.151367,
-61.753994,2.796673,31.376345,
-59.802822,2.796673,30.927078,
-61.753994,2.796673,29.263561,
-60.226822,2.796673,28.811981,
-61.753994,2.796673,27.069635,
-60.468929,2.796673,26.813883,
-61.753994,2.796673,25.013569,
-60.254395,2.796673,24.749640,
-61.753994,2.796673,22.920588,
-60.131054,2.796673,22.730150,
-61.753994,2.796673,21.027710,
-59.851597,2.796673,21.065784,
-61.753994,2.796673,19.183861,
-60.934242,2.796673,19.170998,
-57.177608,2.796673,32.459763,
-58.311340,2.796673,30.435154,
-58.997673,2.796673,28.325100,
-59.236328,2.796673,26.565128,
-59.104233,2.796673,24.554258,
-58.752930,2.796673,22.598709,
-58.355850,2.796673,21.436306,
-57.709148,2.796673,20.290298,
-59.942772,2.796673,17.651043,
-56.947601,2.796673,19.060848,
-58.761581,2.796673,16.134129,
-55.947033,2.796673,17.952545,
-57.547718,2.796673,15.013855,
-54.884422,2.796673,17.058792,
-56.209232,2.796673,14.667477,
-53.867344,2.796673,12.818214,
-52.383915,2.796673,15.596470,
-53.716034,2.796673,16.330673,
-56.465889,2.796673,11.140568,
-54.890854,2.796673,11.140999,
-51.687115,2.796673,12.425659,
-50.744030,2.796673,15.027592,
-52.710625,2.796673,11.140999,
-49.324577,2.796673,12.425659,
-48.517784,2.796673,14.794556,
-50.348091,2.796673,11.140999,
-46.809105,2.796673,12.818214,
-46.346985,2.796673,14.859325,
-47.832619,2.796673,11.140999,
-44.612022,2.796673,12.818214,
-44.404030,2.796673,15.236885,
-44.768585,2.796673,11.140999,
-25.092499,2.796673,11.112495,
-28.516655,2.796673,11.112495,
-31.548431,2.796673,11.112495,
-34.277946,2.796673,11.112495,
-37.521034,2.796673,11.112495,
-40.311562,2.796673,11.112495,
-42.457314,2.796673,11.142746,
-44.752777,2.796673,16.396801,
-44.578720,2.796673,15.841824,
-12.352562,2.796673,15.635502,
-12.352562,2.796673,12.910069,
-19.452721,2.796673,-15.037392,
-12.352562,2.796673,8.578510,
-12.352562,2.796673,-15.037407,
-12.352562,2.796673,11.108829,
-67.346092,2.796673,15.236294,
-56.680573,2.796673,14.618675,
-56.680779,2.796673,11.140568,
-57.547718,2.796673,14.618927,
-58.331463,2.796673,15.013855,
-58.331463,2.796673,14.618927,
-57.889297,2.796673,15.329235,
-58.331463,2.796673,15.329227,
-64.163452,2.796673,-28.206001,
-64.163452,2.796673,-30.966995,
-22.528559,-1.399959,8.279892,
-22.528559,-1.399959,-15.270889,
-26.156296,-1.399959,-15.270889,
-26.156296,-1.399959,8.279892,
-18.840084,-1.399959,8.279892,
-18.840084,-1.399959,-15.270889,
-46.503098,-1.399959,8.279892,
-46.503098,-1.399959,-15.270889,
-53.437836,-1.399959,-15.270889,
-53.437836,-1.399959,8.279892,
-61.267780,-1.399959,-15.270889,
-61.267780,-1.399959,8.279892,
-63.545944,-1.399959,-15.270889,
-63.545944,-1.399959,8.279892,
-36.329697,-1.399959,8.279892,
-36.329697,-1.399959,-15.270889,
];
const indicesconj = [
{nombre: "Piso1", triangulos: [0,1,2,
2,3,0,
4,5,6,
6,7,4,
7,6,8,
8,9,7,
9,8,10,
10,11,9,
11,10,12,
12,13,11,
13,12,14,
14,15,13,
15,14,16,
16,17,15,
14,12,18,
18,19,14,
19,18,20,
20,21,19,
20,18,22,
22,23,20,
21,24,25,
25,19,21,
21,20,26,
26,27,21,
20,23,28,
28,26,20,
24,29,30,
30,31,24,
27,26,32,
32,33,27,
26,28,34,
34,32,26,
29,35,36,
36,30,29,
37,31,38,
38,39,37,
31,30,40,
40,38,31,
30,36,41,
41,40,30,
31,37,25,
25,24,31,
21,27,29,
29,24,21,
27,33,35,
35,29,27,
38,42,43,
43,39,38,
40,44,42,
42,38,40,
41,45,44,
44,40,41,
46,47,48,
48,49,46,
47,50,51,
51,48,47,
52,53,54,
54,55,52,
56,52,55,
55,57,56,
58,56,57,
57,59,58,
60,61,62,
62,63,60,
64,65,66,
66,67,64,
47,46,53,
53,52,47,
50,47,52,
52,56,50,
68,50,56,
56,58,68,
65,60,63,
63,66,65,
69,70,71,
71,72,69,
70,73,74,
74,71,70,
32,75,76,
76,33,32,
34,77,75,
75,32,34,
33,76,78,
78,35,33,
36,79,80,
80,41,36,
35,78,79,
79,36,35,
81,82,83,
83,59,81,
59,83,84,
84,58,59,
58,84,85,
85,68,58,
55,54,86,
86,87,55,
57,55,87,
87,88,57,
59,57,88,
88,81,59,
45,89,82,
82,81,45,
43,90,91,
91,39,43,
90,92,93,
93,91,90,
92,94,95,
95,93,92,
87,86,43,
43,42,87,
88,87,42,
42,44,88,
81,88,44,
44,45,81,
41,80,89,
89,45,41,
86,96,90,
90,43,86,
96,97,92,
92,90,96,
97,98,94,
94,92,97,
95,94,99,
99,100,95,
100,99,101,
101,102,100,
103,104,76,
76,75,103,
105,103,75,
75,77,105,
104,106,78,
78,76,104,
107,108,80,
80,79,107,
106,107,79,
79,78,106,
109,110,83,
83,82,109,
110,111,84,
84,83,110,
111,112,85,
85,84,111,
113,109,82,
82,89,113,
108,113,89,
89,80,108,
105,114,115,
115,116,105,
114,117,118,
118,115,114,
118,119,120,
120,115,118,
121,122,123,
123,124,121,
125,122,117,
117,126,125,
127,128,129,
129,130,127,
126,131,132,
132,125,126,
132,133,134,
134,128,132,
135,133,132,
132,131,135,
136,134,137,
137,138,136,
138,137,139,
139,140,138,
69,141,61,
61,60,69,
54,53,63,
63,62,54,
73,70,65,
65,64,73,
46,49,67,
67,66,46,
70,69,60,
60,65,70,
53,46,66,
66,63,53,
61,141,98,
98,97,61,
62,61,97,
97,96,62,
54,62,96,
96,86,54,
130,142,123,
123,127,130,
125,132,128,
128,127,125,
136,129,128,
128,134,136,
134,133,143,
143,137,134,
137,143,144,
144,139,137,
124,145,146,
146,147,124,
148,149,104,
104,103,148,
116,148,103,
103,105,116,
149,150,106,
106,104,149,
151,152,108,
108,107,151,
150,151,107,
107,106,150,
153,154,110,
110,109,153,
154,155,111,
111,110,154,
155,156,112,
112,111,155,
157,153,109,
109,113,157,
152,157,113,
113,108,152,
77,158,114,
114,105,77,
158,126,117,
117,114,158,
122,125,127,
127,123,122,
122,121,118,
118,117,122,
142,145,124,
124,123,142,
159,160,142,
142,130,159,
129,136,161,
161,162,129,
130,129,162,
162,163,130,
138,164,161,
161,136,138,
140,165,164,
164,138,140,
166,167,168,
140,166,168,
165,140,168,
167,166,169,
169,170,167,
170,171,172,
172,167,170,
173,172,171,
171,174,173,
172,175,168,
168,167,172,
176,160,177,
177,178,176,
172,173,179,
172,179,180,
172,180,175,
179,181,182,
182,180,179,
181,183,184,
184,182,181,
184,183,185,
185,186,184,
186,185,187,
187,188,186,
189,176,178,
187,189,178,
188,187,178,
142,160,190,
190,145,142,
145,190,191,
191,146,145,
146,191,192,
192,193,146,
194,195,120,
120,119,194,
177,160,159,
163,177,159,
130,163,159,
1,196,197,
197,2,1,
3,6,5,
5,0,3,
196,174,171,
171,197,196,
],},{nombre: "Piso0", triangulos: [198,199,200,
200,201,198,
199,202,203,
203,204,199,
204,203,205,
205,206,204,
202,207,208,
208,203,202,
205,203,208,
208,209,205,
205,209,210,
210,211,205,
211,210,212,
212,213,211,
213,212,214,
214,215,213,
207,216,217,
217,208,207,
209,208,217,
217,218,209,
210,209,218,
218,219,210,
212,210,219,
219,220,212,
214,212,220,
220,221,214,
216,222,223,
223,217,216,
218,217,223,
223,224,218,
219,218,224,
224,225,219,
220,219,225,
225,226,220,
221,220,226,
226,227,221,
223,222,228,
228,229,223,
224,223,229,
229,230,224,
225,224,230,
230,231,225,
226,225,231,
231,232,226,
227,226,232,
232,233,227,
199,204,234,
234,200,199,
198,235,202,
202,199,198,
235,236,207,
207,202,235,
236,237,216,
216,207,236,
237,238,222,
222,216,237,
222,238,239,
239,228,222,
227,233,240,
240,241,227,
228,239,242,
242,243,228,
230,229,244,
244,245,230,
231,230,245,
245,246,231,
232,231,246,
246,247,232,
233,232,247,
247,248,233,
229,228,249,
249,244,229,
240,233,248,
248,250,240,
228,243,251,
251,249,228,
245,244,252,
252,253,245,
246,245,253,
253,254,246,
247,246,254,
254,255,247,
248,247,255,
255,256,248,
244,249,257,
257,252,244,
250,248,256,
256,258,250,
249,251,259,
259,257,249,
253,252,260,
260,261,253,
254,253,261,
261,262,254,
255,254,262,
262,263,255,
256,255,263,
263,264,256,
252,257,265,
265,260,252,
258,256,264,
264,266,258,
257,259,267,
267,265,257,
261,260,268,
268,269,261,
262,261,269,
269,270,262,
263,262,270,
270,271,263,
264,263,271,
271,272,264,
260,265,273,
273,268,260,
266,264,272,
272,274,266,
265,267,275,
275,273,265,
269,268,276,
276,277,269,
270,269,277,
277,278,270,
271,270,278,
278,279,271,
272,271,279,
279,280,272,
268,273,281,
281,276,268,
274,272,280,
280,282,274,
273,275,283,
283,281,273,
277,276,284,
284,285,277,
278,277,285,
285,286,278,
279,278,286,
286,287,279,
280,279,287,
287,288,280,
276,281,289,
289,284,276,
282,280,288,
288,290,282,
281,283,291,
291,289,281,
285,284,292,
292,293,285,
286,285,293,
293,294,286,
287,286,294,
294,295,287,
288,287,295,
295,296,288,
284,289,297,
297,292,284,
290,288,296,
296,298,290,
289,291,299,
299,297,289,
],},{nombre: "Piso2", triangulos: [300,301,302,
302,303,300,
304,305,301,
301,300,304,
306,307,308,
308,309,306,
310,311,312,
312,313,310,
314,310,313,
313,315,314,
313,312,316,
316,317,313,
315,313,317,
317,318,315,
317,316,319,
319,320,317,
318,317,320,
320,321,318,
320,319,322,
322,323,320,
321,320,323,
323,324,321,
323,322,325,
325,326,323,
324,323,326,
326,327,324,
326,325,328,
328,329,326,
327,326,329,
329,330,327,
329,328,331,
331,332,329,
330,329,332,
332,333,330,
332,331,334,
334,335,332,
333,332,335,
335,336,333,
335,334,337,
337,338,335,
336,335,338,
338,339,336,
338,337,340,
340,341,338,
339,338,341,
341,342,339,
341,340,343,
343,344,341,
342,341,344,
344,345,342,
344,343,346,
346,347,344,
345,344,347,
347,348,345,
347,346,349,
349,350,347,
348,347,350,
350,351,348,
350,349,352,
352,353,350,
351,350,353,
353,354,351,
353,352,355,
355,356,353,
354,353,356,
356,357,354,
356,355,358,
358,359,356,
357,356,359,
359,360,357,
358,355,361,
361,362,358,
362,361,363,
363,364,362,
362,364,365,
365,366,362,
366,365,367,
367,368,366,
367,365,369,
369,370,367,
370,369,371,
371,372,370,
372,371,373,
373,374,372,
374,373,375,
375,376,374,
370,372,377,
377,378,370,
372,374,379,
379,377,372,
374,376,380,
380,379,374,
377,379,381,
381,382,377,
383,384,385,
385,386,383,
387,388,389,
389,390,387,
391,392,393,
393,394,391,
388,395,396,
396,389,388,
397,398,399,
399,400,397,
393,392,401,
401,402,393,
402,401,403,
403,404,402,
404,403,405,
405,406,404,
406,405,407,
407,408,406,
408,407,409,
409,410,408,
410,409,411,
411,412,410,
411,413,414,
414,412,411,
412,414,415,
415,416,412,
416,415,417,
417,418,416,
418,417,419,
419,420,418,
420,419,421,
421,422,420,
422,421,423,
423,424,422,
424,423,425,
425,426,424,
426,425,427,
427,428,426,
423,421,429,
429,430,423,
430,429,431,
431,432,430,
432,431,433,
433,434,432,
434,433,435,
435,436,434,
301,307,306,
306,302,301,
437,307,301,
301,305,437,
437,435,438,
438,439,437,
438,440,441,
441,439,438,
440,442,443,
443,441,440,
442,444,445,
445,443,442,
444,446,447,
447,445,444,
446,448,449,
449,447,446,
448,450,451,
451,449,448,
450,452,453,
453,451,450,
437,305,436,
436,435,437,
435,433,454,
454,438,435,
438,454,455,
455,440,438,
440,455,456,
456,442,440,
456,457,444,
444,442,456,
457,458,446,
446,444,457,
458,459,448,
448,446,458,
459,460,450,
450,448,459,
460,461,452,
452,450,460,
452,461,462,
462,463,452,
463,462,464,
464,465,463,
464,466,467,
467,465,464,
468,469,470,
470,471,468,
468,471,472,
472,473,468,
466,469,468,
468,467,466,
471,470,474,
474,475,471,
472,471,475,
475,476,472,
475,474,477,
477,478,475,
476,475,478,
478,479,476,
478,477,480,
480,481,478,
479,478,481,
481,482,479,
481,480,483,
483,484,481,
482,481,484,
484,485,482,
395,385,384,
384,396,395,
400,399,392,
392,391,400,
392,399,486,
486,401,392,
401,486,487,
487,403,401,
403,487,488,
488,405,403,
405,488,489,
489,407,405,
407,489,490,
490,409,407,
409,490,491,
491,411,409,
491,492,413,
413,411,491,
484,483,414,
414,413,484,
485,484,413,
413,492,485,
414,483,493,
493,494,414,
495,496,384,
384,383,495,
391,394,386,
386,385,391,
497,397,388,
388,387,497,
498,499,390,
390,389,498,
397,400,395,
395,388,397,
500,498,389,
389,396,500,
400,391,385,
385,395,400,
496,500,396,
396,384,496,
309,308,311,
311,310,309,
309,310,314,
314,501,309,
468,473,502,
502,503,468,
467,468,503,
503,504,467,
467,504,505,
505,506,467,
467,506,507,
507,508,467,
362,366,509,
509,358,362,
368,510,509,
509,366,368,
],},{nombre: "ColumnaPlaza002", triangulos: [511,512,513,
513,514,511,
512,515,516,
516,513,512,
515,517,518,
518,516,515,
517,511,514,
514,518,517,
],},{nombre: "ColumnaPlaza003", triangulos: [519,520,521,
521,522,519,
520,523,524,
524,521,520,
523,525,526,
526,524,523,
525,519,522,
522,526,525,
],},{nombre: "ColumnaPlaza004", triangulos: [527,528,529,
529,530,527,
528,531,532,
532,529,528,
531,533,534,
534,532,531,
533,527,530,
530,534,533,
],},{nombre: "ColumnaPlaza005", triangulos: [535,536,537,
537,538,535,
536,539,540,
540,537,536,
539,541,542,
542,540,539,
541,535,538,
538,542,541,
],},{nombre: "ColumnaPlaza006", triangulos: [543,544,545,
545,546,543,
544,547,548,
548,545,544,
547,549,550,
550,548,547,
549,543,546,
546,550,549,
],},{nombre: "ColumnaEntrada007", triangulos: [551,552,553,
553,554,551,
552,555,556,
556,553,552,
555,557,558,
558,556,555,
557,551,554,
554,558,557,
],},{nombre: "ColumnaEntrada008", triangulos: [559,560,561,
561,562,559,
560,563,564,
564,561,560,
563,565,566,
566,564,563,
565,559,562,
562,566,565,
],},{nombre: "ColumnaEntrada009", triangulos: [567,568,569,
569,570,567,
568,571,572,
572,569,568,
571,573,574,
574,572,571,
573,567,570,
570,574,573,
],},{nombre: "ColumnaEntrada010", triangulos: [575,576,577,
577,578,575,
576,579,580,
580,577,576,
579,581,582,
582,580,579,
581,575,578,
578,582,581,
],},{nombre: "ColumnaRampa021", triangulos: [583,584,585,
585,586,583,
584,587,588,
588,585,584,
587,589,590,
590,588,587,
589,583,586,
586,590,589,
],},{nombre: "ColumnaPlazaEsq022", triangulos: [591,592,593,
593,594,591,
592,595,596,
596,593,592,
595,597,598,
598,596,595,
597,591,594,
594,598,597,
],},{nombre: "ColumnaPlazaEsq023", triangulos: [599,600,601,
601,602,599,
600,603,604,
604,601,600,
603,605,606,
606,604,603,
605,599,602,
602,606,605,
],},{nombre: "ColumnaPlaza024", triangulos: [607,608,609,
609,610,607,
608,611,612,
612,609,608,
611,613,614,
614,612,611,
613,607,610,
610,614,613,
],},{nombre: "ColumnaPlaza025", triangulos: [615,616,617,
617,618,615,
616,619,620,
620,617,616,
619,621,622,
622,620,619,
621,615,618,
618,622,621,
],},{nombre: "ColumnaPlaza026", triangulos: [623,624,625,
625,626,623,
624,627,628,
628,625,624,
627,629,630,
630,628,627,
629,623,626,
626,630,629,
],},{nombre: "ColumnaPlazaPeq027", triangulos: [631,632,633,
633,634,631,
632,635,636,
636,633,632,
635,637,638,
638,636,635,
637,631,634,
634,638,637,
],},{nombre: "RampaCC030", triangulos: [639,640,641,
641,642,639,
640,639,643,
643,644,640,
644,643,645,
645,646,644,
646,645,647,
647,648,646,
646,648,640,
640,644,646,
648,647,649,
643,639,650,
650,651,643,
645,643,651,
651,652,645,
647,645,652,
652,653,647,
651,650,654,
654,655,651,
656,649,647,
647,657,656,
657,647,653,
653,658,657,
658,653,659,
659,660,658,
660,659,649,
649,656,660,
661,662,663,
663,664,661,
662,665,666,
666,663,662,
665,667,668,
668,666,665,
667,661,664,
664,668,667,
657,658,665,
665,662,657,
658,660,667,
667,665,658,
660,656,661,
661,667,660,
656,657,662,
662,661,656,
668,659,653,
653,666,668,
],},{nombre: "RampaCB031", triangulos: [669,670,671,
671,672,669,
670,669,673,
673,674,670,
674,673,675,
675,676,674,
676,675,677,
677,678,676,
679,680,681,
681,682,679,
682,681,683,
683,684,682,
684,683,672,
672,671,684,
670,674,676,
676,678,670,
684,671,679,
679,682,684,
673,669,677,
677,675,673,
681,680,672,
672,683,681,
],},{nombre: "EscaleraCC032", triangulos: [685,686,687,
687,688,685,
686,685,689,
689,690,686,
690,689,691,
691,692,690,
692,691,693,
693,694,692,
695,696,697,
697,698,695,
698,697,699,
699,700,698,
700,699,688,
688,687,700,
693,691,689,
689,685,693,
697,696,688,
688,699,697,
686,690,692,
692,694,686,
700,687,695,
695,698,700,
],},{nombre: "EscaleraEntrada033", triangulos: [701,702,703,
703,704,701,
702,701,705,
705,706,702,
706,705,707,
707,708,706,
708,707,709,
709,710,708,
711,712,713,
713,714,711,
714,713,715,
715,716,714,
716,715,704,
704,703,716,
709,707,705,
705,701,709,
713,712,704,
704,715,713,
702,706,708,
708,710,702,
716,703,711,
711,714,716,
717,711,718,
718,719,717,
720,721,722,
722,723,720,
723,722,724,
724,725,723,
725,724,719,
719,718,725,
722,721,719,
719,724,722,
703,702,726,
726,727,703,
703,727,728,
728,711,703,
711,728,729,
729,718,711,
717,719,730,
730,731,717,
719,721,732,
732,730,719,
720,723,733,
733,734,720,
723,725,735,
735,733,723,
725,718,729,
729,735,725,
721,720,736,
736,737,721,
720,734,738,
738,736,720,
712,711,739,
726,702,740,
740,741,726,
],},{nombre: "SalaCC034", triangulos: [742,743,744,
744,745,742,
746,742,745,
745,747,746,
748,746,747,
747,749,748,
750,748,749,
749,751,750,
752,750,751,
751,753,752,
754,752,753,
753,755,754,
756,754,755,
755,757,756,
758,756,757,
757,759,758,
760,758,759,
759,761,760,
762,760,761,
761,763,762,
764,762,763,
763,765,764,
766,764,765,
765,767,766,
768,766,767,
767,769,768,
770,768,769,
769,771,770,
772,770,771,
771,773,772,
774,772,773,
773,775,774,
776,774,775,
775,777,776,
778,776,777,
777,779,778,
780,781,782,
782,783,780,
781,778,779,
779,782,781,
784,780,783,
783,785,784,
786,784,785,
785,787,786,
788,786,787,
787,789,788,
790,788,789,
789,791,790,
792,790,791,
791,793,792,
794,795,744,
744,743,794,
796,792,793,
793,797,796,
796,797,795,
795,794,796,
797,793,791,
791,789,787,
797,791,787,
787,785,783,
783,782,779,
787,783,779,
797,787,779,
779,777,775,
775,773,771,
779,775,771,
771,769,767,
767,765,763,
771,767,763,
779,771,763,
763,761,759,
759,757,755,
763,759,755,
755,753,751,
751,749,747,
755,751,747,
763,755,747,
779,763,747,
797,779,747,
795,797,747,
795,747,745,
744,795,745,
],},{nombre: "TechoEspejoAgua035", triangulos: [798,799,800,
800,801,798,
799,798,802,
802,803,799,
804,805,803,
803,802,804,
806,807,808,
808,809,806,
810,798,801,
810,801,808,
807,810,808,
798,810,811,
811,802,798,
811,812,813,
813,804,802,
811,813,802,
813,812,814,
814,815,813,
815,814,816,
816,817,815,
816,818,819,
819,817,816,
818,820,821,
821,819,818,
822,823,824,
822,824,821,
820,822,821,
823,822,825,
825,826,823,
827,828,829,
827,829,826,
825,827,826,
828,827,830,
830,831,828,
831,830,832,
832,833,831,
832,806,809,
809,833,832,
807,806,834,
834,835,807,
810,807,835,
835,836,810,
811,810,836,
836,837,811,
812,811,837,
837,838,812,
814,812,838,
838,839,814,
816,814,839,
839,840,816,
818,816,840,
840,841,818,
820,818,841,
841,842,820,
822,820,842,
842,843,822,
825,822,843,
843,844,825,
827,825,844,
844,845,827,
830,827,845,
845,846,830,
832,830,846,
846,847,832,
806,832,847,
847,834,806,
],},{nombre: "ColumnaEspejoAgua036", triangulos: [848,849,850,
850,851,848,
849,852,853,
853,850,849,
852,854,855,
855,853,852,
854,848,851,
851,855,854,
],},{nombre: "ColumnaEspejoAgua037", triangulos: [856,857,858,
858,859,856,
857,860,861,
861,858,857,
860,862,863,
863,861,860,
862,856,859,
859,863,862,
],},{nombre: "ColumnaEspejoAgua038", triangulos: [864,865,866,
866,867,864,
865,868,869,
869,866,865,
868,870,871,
871,869,868,
870,864,867,
867,871,870,
],},{nombre: "ColumnaEspejoAgua039", triangulos: [872,873,874,
874,875,872,
873,876,877,
877,874,873,
876,878,879,
879,877,876,
878,872,875,
875,879,878,
],},{nombre: "ColumnaEspejoAgua040", triangulos: [880,881,882,
882,883,880,
881,884,885,
885,882,881,
884,886,887,
887,885,884,
886,880,883,
883,887,886,
],},{nombre: "ColumnaEspejoAgua041", triangulos: [888,889,890,
890,891,888,
889,892,893,
893,890,889,
892,894,895,
895,893,892,
894,888,891,
891,895,894,
],},{nombre: "ColumnaEspejoAgua042", triangulos: [896,897,898,
898,899,896,
897,900,901,
901,898,897,
900,902,903,
903,901,900,
902,896,899,
899,903,902,
],},{nombre: "ColumnaEspejoAgua043", triangulos: [904,905,906,
906,907,904,
905,908,909,
909,906,905,
908,910,911,
911,909,908,
910,904,907,
907,911,910,
],},{nombre: "ColumnaPuerta044", triangulos: [912,913,914,
914,915,912,
913,916,917,
917,914,913,
916,918,919,
919,917,916,
918,912,915,
915,919,918,
],},{nombre: "ColumnaPuerta045", triangulos: [920,921,922,
922,923,920,
921,924,925,
925,922,921,
924,926,927,
927,925,924,
926,920,923,
923,927,926,
],},{nombre: "ColumnaPuerta046", triangulos: [928,929,930,
930,931,928,
929,932,933,
933,930,929,
932,934,935,
935,933,932,
934,928,931,
931,935,934,
],},{nombre: "ColumnaPuerta047", triangulos: [936,937,938,
938,939,936,
937,940,941,
941,938,937,
940,942,943,
943,941,940,
942,936,939,
939,943,942,
],},{nombre: "TechoPasajeCD048", triangulos: [944,945,946,
946,947,944,
948,949,945,
945,944,948,
949,950,951,
951,945,949,
946,945,952,
952,953,946,
944,947,954,
954,955,944,
948,944,955,
955,956,948,
949,948,956,
956,957,949,
950,949,957,
957,958,950,
945,951,959,
959,952,945,
],},{nombre: "ColumnaPlazaPeq049", triangulos: [960,961,962,
962,963,960,
961,964,965,
965,962,961,
964,966,967,
967,965,964,
966,960,963,
963,967,966,
],},{nombre: "ColumnaPlazaPeq050", triangulos: [968,969,970,
970,971,968,
969,972,973,
973,970,969,
972,974,975,
975,973,972,
974,968,971,
971,975,974,
],},{nombre: "AuditorioCC051", triangulos: [976,977,978,
978,979,976,
977,980,981,
981,978,977,
980,982,983,
983,981,980,
982,984,985,
985,983,982,
984,986,987,
987,985,984,
986,988,989,
989,987,986,
988,990,991,
991,989,988,
990,992,993,
993,991,990,
992,994,995,
995,993,992,
994,996,997,
997,995,994,
996,998,999,
999,997,996,
998,1000,1001,
1001,999,998,
1000,1002,1003,
1003,1001,1000,
1002,1004,1005,
1005,1003,1002,
1004,1006,1007,
1007,1005,1004,
976,979,1008,
1008,1009,976,
1009,1008,1010,
1010,1011,1009,
1007,1006,1012,
1012,1013,1007,
1013,1012,1011,
1011,1010,1013,
978,981,983,
983,985,987,
978,983,987,
987,989,991,
991,993,995,
987,991,995,
995,997,999,
999,1001,1003,
995,999,1003,
987,995,1003,
1003,1005,1007,
1007,1013,1010,
1003,1007,1010,
987,1003,1010,
978,987,1010,
978,1010,1008,
978,1008,979,
],},{nombre: "AuditorioCD052", triangulos: [1014,1015,1016,
1016,1017,1014,
1018,1014,1017,
1017,1019,1018,
1020,1018,1019,
1019,1021,1020,
1022,1020,1021,
1021,1023,1022,
1024,1022,1023,
1023,1025,1024,
1026,1024,1025,
1025,1027,1026,
1028,1026,1027,
1027,1029,1028,
1030,1028,1029,
1029,1031,1030,
1032,1030,1031,
1031,1033,1032,
1034,1035,1036,
1036,1037,1034,
1038,1034,1037,
1037,1039,1038,
1040,1038,1039,
1039,1041,1040,
1042,1040,1041,
1041,1043,1042,
1015,1042,1043,
1043,1016,1015,
1035,1032,1033,
1033,1036,1035,
1043,1041,1039,
1043,1039,1037,
1037,1036,1033,
1033,1031,1029,
1037,1033,1029,
1043,1037,1029,
1029,1027,1025,
1025,1023,1021,
1029,1025,1021,
1043,1029,1021,
1016,1043,1021,
1016,1021,1019,
1016,1019,1017,
],},{nombre: "TechoPasajeAuditorios053", triangulos: [1044,1045,1046,
1046,1047,1044,
1048,1046,1045,
1045,1049,1048,
1050,1051,1048,
1048,1052,1050,
1051,1053,1046,
1046,1048,1051,
1053,1054,1047,
1047,1046,1053,
1054,1055,1056,
1056,1047,1054,
1045,1044,1057,
1057,1058,1045,
1049,1045,1058,
1058,1059,1049,
],},{nombre: "EscaleraEntrada054", triangulos: [1060,1061,1062,
1062,1063,1060,
1061,1060,1064,
1064,1065,1061,
1065,1064,1066,
1066,1067,1065,
1067,1066,1068,
1068,1069,1067,
1070,1071,1072,
1072,1073,1070,
1073,1072,1074,
1074,1075,1073,
1075,1074,1063,
1063,1062,1075,
1069,1061,1065,
1065,1067,1069,
1062,1070,1073,
1073,1075,1062,
1068,1066,1064,
1064,1060,1068,
1063,1074,1072,
1072,1071,1063,
1069,1068,1076,
1076,1068,1077,
1077,1078,1076,
],},{nombre: "ParedPuertaEntrada055", triangulos: [1079,1080,1081,
1081,1082,1079,
1083,1079,1082,
1082,1084,1083,
1085,1083,1084,
1084,1086,1085,
1085,1086,1087,
1087,1088,1085,
],},{nombre: "ParedPuertaEntrada056", triangulos: [1089,1090,1091,
1091,1092,1089,
1093,1089,1092,
1092,1094,1093,
1093,1094,1095,
1095,1096,1093,
],},{nombre: "ParedRampaCB057", triangulos: [1097,1098,1099,
1099,1100,1097,
1101,1097,1100,
1100,1102,1101,
1103,1101,1102,
1102,1104,1103,
1105,1103,1104,
1104,1106,1105,
1107,1105,1106,
1106,1108,1107,
1109,1107,1108,
1108,1110,1109,
1111,1109,1110,
1110,1112,1111,
1113,1114,1115,
1115,1116,1113,
1114,1117,1118,
1118,1115,1114,
1117,1119,1120,
1120,1118,1117,
1119,1111,1112,
1112,1120,1119,
1099,1098,1121,
1121,1122,1099,
],},{nombre: "ParedSalonesCurvos058", triangulos: [1123,1124,1125,
1125,1126,1123,
1127,1123,1126,
1126,1128,1127,
1129,1127,1128,
1128,1130,1129,
1131,1129,1130,
1130,1132,1131,
1133,1131,1132,
1132,1134,1133,
1135,1133,1134,
1134,1136,1135,
1137,1135,1136,
1136,1138,1137,
1139,1137,1138,
1138,1140,1139,
1141,1139,1140,
1140,1142,1141,
1143,1141,1142,
1142,1144,1143,
1145,1143,1144,
1144,1146,1145,
1147,1145,1146,
1146,1148,1147,
1149,1147,1148,
1148,1150,1149,
1151,1149,1150,
1150,1152,1151,
1153,1151,1152,
1152,1154,1153,
1155,1153,1154,
1154,1156,1155,
],},{nombre: "ColumnaPuertaEntrada059", triangulos: [1157,1158,1159,
1159,1160,1157,
1158,1161,1162,
1162,1159,1158,
1161,1163,1164,
1164,1162,1161,
1163,1157,1160,
1160,1164,1163,
],},{nombre: "ColumnaPuertaEntrada060", triangulos: [1165,1166,1167,
1167,1168,1165,
1166,1169,1170,
1170,1167,1166,
1169,1171,1172,
1172,1170,1169,
1171,1165,1168,
1168,1172,1171,
],},{nombre: "ColumnaPuertaEntrada061", triangulos: [1173,1174,1175,
1175,1176,1173,
1174,1177,1178,
1178,1175,1174,
1177,1179,1180,
1180,1178,1177,
1179,1173,1176,
1176,1180,1179,
],},{nombre: "IntercolsHoriCD062", triangulos: [1181,1182,1183,
1183,1184,1181,
1185,1186,1187,
1182,1185,1187,
1182,1187,1183,
1186,1188,1189,
1189,1187,1186,
1190,1181,1184,
1188,1190,1184,
1188,1184,1189,
],},{nombre: "ParedPuerta063", triangulos: [1191,1192,1193,
1193,1194,1191,
1192,1195,1196,
1196,1193,1192,
1195,1197,1198,
1198,1196,1195,
1197,1199,1200,
1200,1198,1197,
1200,1199,1201,
1201,1202,1200,
1201,1191,1194,
1194,1202,1201,
1196,1198,1200,
1196,1200,1202,
1196,1202,1194,
1193,1196,1194,
],},{nombre: "EspejoAgua064", triangulos: [1203,1204,1205,
1205,1206,1203,
1206,1205,1207,
1207,1208,1206,
1208,1207,1209,
1209,1210,1208,
1210,1209,1211,
1211,1212,1210,
1208,1210,1213,
1213,1214,1208,
1210,1212,1215,
1215,1213,1210,
1215,1212,1216,
1212,1211,1217,
1217,1216,1212,
1217,1211,1218,
1218,1211,1209,
1209,1219,1218,
1219,1209,1207,
1207,1220,1219,
1207,1205,1221,
1221,1220,1207,
1205,1204,1222,
1222,1221,1205,
1222,1204,1223,
1204,1203,1224,
1224,1223,1204,
1224,1203,1225,
1225,1203,1206,
1206,1226,1225,
1226,1206,1208,
1208,1214,1226,
1227,1228,1214,
1214,1213,1227,
1228,1229,1226,
1226,1214,1228,
1229,1230,1225,
1225,1226,1229,
1230,1231,1224,
1224,1225,1230,
1231,1232,1223,
1223,1224,1231,
1232,1233,1222,
1222,1223,1232,
1233,1234,1221,
1221,1222,1233,
1234,1235,1220,
1220,1221,1234,
1235,1236,1219,
1219,1220,1235,
1236,1237,1218,
1218,1219,1236,
1237,1238,1217,
1217,1218,1237,
1238,1239,1216,
1216,1217,1238,
1239,1240,1215,
1215,1216,1239,
1240,1227,1213,
1213,1215,1240,
],},{nombre: "SuperiorEntradaPuerta065", triangulos: [1241,1242,1243,
1243,1244,1241,
1242,1245,1246,
1246,1243,1242,
1245,1247,1248,
1248,1246,1245,
1247,1241,1244,
1244,1248,1247,
1246,1248,1244,
1244,1243,1246,
],},{nombre: "ParedEspejoAgua066", triangulos: [1249,1250,1251,
1251,1252,1249,
1253,1249,1252,
1252,1254,1253,
1255,1256,1257,
1257,1258,1255,
1256,1259,1260,
1260,1257,1256,
1259,1261,1262,
1262,1260,1259,
1261,1263,1264,
1264,1262,1261,
1263,1265,1266,
1266,1264,1263,
1267,1268,1269,
1269,1270,1267,
1271,1272,1273,
1273,1274,1271,
1268,1275,1276,
1276,1269,1268,
1275,1277,1278,
1278,1276,1275,
1277,1279,1280,
1280,1278,1277,
1279,1281,1282,
1282,1280,1279,
1281,1283,1284,
1284,1282,1281,
1283,1285,1286,
1286,1284,1283,
1285,1271,1274,
1274,1286,1285,
1272,1287,1288,
1288,1273,1272,
1287,1253,1254,
1254,1288,1287,
1250,1249,1289,
1289,1290,1250,
1249,1253,1291,
1291,1289,1249,
1256,1255,1292,
1292,1293,1256,
1259,1256,1293,
1293,1294,1259,
1261,1259,1294,
1294,1295,1261,
1263,1261,1295,
1295,1296,1263,
1265,1263,1296,
1296,1297,1265,
1268,1267,1298,
1298,1299,1268,
1272,1271,1300,
1300,1301,1272,
1275,1268,1299,
1299,1302,1275,
1277,1275,1302,
1302,1303,1277,
1279,1277,1303,
1303,1304,1279,
1281,1279,1304,
1304,1305,1281,
1283,1281,1305,
1305,1306,1283,
1285,1283,1306,
1306,1307,1285,
1271,1285,1307,
1307,1300,1271,
1287,1272,1301,
1301,1308,1287,
1253,1287,1308,
1308,1291,1253,
1255,1250,1290,
1290,1292,1255,
1267,1265,1297,
1297,1298,1267,
1308,1301,1309,
1309,1310,1308,
1291,1308,1310,
1310,1311,1291,
],},{nombre: "TechoSalonesCB067", triangulos: [1312,1313,1314,
1314,1315,1312,
],},{nombre: "TechoRampaCB068", triangulos: [1316,1317,1318,
1318,1319,1316,
],},{nombre: "TechoPasajeCB069", triangulos: [1320,1321,1322,
1322,1323,1320,
],},{nombre: "TechoPasajeCA071", triangulos: [1324,1325,1326,
1326,1327,1324,
1327,1326,1328,
1328,1329,1327,
],},{nombre: "ParedSalonesCB073", triangulos: [1330,1331,1332,
1332,1333,1330,
1333,1332,1334,
1334,1335,1333,
],},{nombre: "IntercolsHoriPlaza074", triangulos: [1336,1337,1338,
1338,1339,1336,
1337,1340,1341,
1341,1338,1337,
1340,1342,1343,
1343,1341,1340,
1344,1345,1346,
1346,1347,1344,
1336,1339,1348,
1348,1349,1336,
1343,1342,1350,
1350,1351,1343,
1349,1348,1345,
1345,1344,1349,
1351,1350,1347,
1347,1346,1351,
],},{nombre: "IntercolsHoriPlaza075", triangulos: [1352,1353,1354,
1354,1355,1352,
1353,1356,1357,
1357,1354,1353,
1356,1358,1359,
1359,1357,1356,
1360,1361,1362,
1362,1363,1360,
1352,1355,1364,
1364,1365,1352,
1359,1358,1366,
1366,1367,1359,
1365,1364,1361,
1361,1360,1365,
1367,1366,1363,
1363,1362,1367,
],},{nombre: "VigaPlaza076", triangulos: [1368,1369,1370,
1370,1371,1368,
1369,1372,1373,
1373,1370,1369,
1372,1374,1375,
1375,1373,1372,
1375,1371,1370,
1370,1373,1375,
],},{nombre: "SuperiorPlazaEntrada077", triangulos: [1376,1377,1378,
1378,1379,1376,
1377,1380,1381,
1381,1378,1377,
1380,1382,1383,
1383,1381,1380,
1382,1376,1379,
1379,1383,1382,
],},{nombre: "SuperiorPlaza078", triangulos: [1384,1385,1386,
1386,1387,1384,
1385,1388,1389,
1389,1386,1385,
1388,1390,1391,
1391,1389,1388,
1390,1384,1387,
1387,1391,1390,
],},{nombre: "BordePlazaCC079", triangulos: [1392,1393,1394,
1394,1395,1392,
1395,1394,1396,
1396,1397,1395,
1397,1396,1398,
1398,1399,1397,
1399,1392,1395,
1395,1397,1399,
],},{nombre: "ColumnaPlaza080", triangulos: [1400,1401,1402,
1402,1403,1400,
1401,1404,1405,
1405,1402,1401,
1404,1406,1407,
1407,1405,1404,
1406,1400,1403,
1403,1407,1406,
],},{nombre: "BordeCC081", triangulos: [1408,1409,1410,
1410,1411,1408,
1411,1410,1412,
1412,1413,1411,
1413,1412,1414,
1414,1415,1413,
1415,1408,1411,
1411,1413,1415,
],},{nombre: "ColumnaSalaCC082", triangulos: [1416,1417,1418,
1418,1419,1416,
1417,1420,1421,
1421,1418,1417,
1420,1422,1423,
1423,1421,1420,
1422,1416,1419,
1419,1423,1422,
],},{nombre: "ParedPisodos083", triangulos: [1424,1425,1426,
1426,1427,1424,
1428,1429,1430,
1430,1431,1428,
1429,1432,1433,
1433,1430,1429,
1434,1435,1436,
1436,1437,1434,
1435,1438,1439,
1439,1436,1435,
1438,1440,1441,
1441,1439,1438,
1440,1442,1443,
1443,1441,1440,
1442,1444,1445,
1445,1443,1442,
1444,1446,1447,
1447,1445,1444,
1446,1448,1449,
1449,1447,1446,
1448,1450,1451,
1451,1449,1448,
1450,1452,1453,
1453,1451,1450,
1452,1454,1455,
1455,1453,1452,
1454,1456,1457,
1457,1455,1454,
1456,1458,1459,
1459,1457,1456,
1458,1460,1461,
1461,1459,1458,
1460,1462,1463,
1463,1461,1460,
1462,1464,1465,
1465,1463,1462,
1464,1466,1467,
1467,1465,1464,
1468,1469,1470,
1470,1471,1468,
1466,1468,1471,
1471,1467,1466,
1469,1472,1473,
1473,1470,1469,
1472,1474,1475,
1475,1473,1472,
1474,1476,1477,
1477,1475,1474,
1476,1478,1479,
1479,1477,1476,
1478,1480,1481,
1481,1479,1478,
1482,1483,1484,
1484,1485,1482,
1480,1486,1487,
1487,1481,1480,
1488,1482,1485,
1485,1489,1488,
1486,1490,1491,
1491,1487,1486,
1492,1488,1489,
1489,1493,1492,
1490,1494,1495,
1495,1491,1490,
1496,1492,1493,
1493,1497,1496,
1494,1496,1497,
1497,1495,1494,
1498,1428,1431,
1431,1499,1498,
1500,1501,1502,
1502,1503,1500,
1501,1504,1505,
1505,1502,1501,
1504,1506,1507,
1507,1505,1504,
1506,1508,1509,
1509,1507,1506,
1508,1510,1511,
1511,1509,1508,
1510,1512,1513,
1513,1511,1510,
1512,1514,1515,
1515,1513,1512,
1514,1516,1517,
1517,1515,1514,
1432,1518,1519,
1519,1433,1432,
1518,1434,1437,
1437,1519,1518,
1516,1520,1521,
1521,1517,1516,
1520,1522,1523,
1523,1521,1520,
1522,1524,1525,
1525,1523,1522,
1526,1527,1528,
1528,1529,1526,
1524,1526,1529,
1529,1525,1524,
1530,1531,1532,
1532,1533,1530,
1499,1534,1535,
1535,1498,1499,
1535,1536,1537,
1537,1498,1535,
1536,1538,1425,
1425,1537,1536,
1538,1539,1426,
1426,1425,1538,
1539,1540,1541,
1541,1426,1539,
1541,1540,1534,
1534,1499,1541,
],},{nombre: "ParedPisodosCC084", triangulos: [1542,1543,1544,
1544,1545,1542,
1546,1542,1545,
1545,1547,1546,
],},{nombre: "BordePisodosCB085", triangulos: [1548,1549,1550,
1550,1551,1548,
1552,1548,1551,
1551,1553,1552,
1554,1552,1553,
1553,1555,1554,
1556,1554,1555,
1555,1557,1556,
1558,1556,1557,
1557,1559,1558,
1560,1558,1559,
1559,1561,1560,
1562,1560,1561,
1561,1563,1562,
1564,1562,1563,
1563,1565,1564,
1566,1564,1565,
1565,1567,1566,
1568,1566,1567,
1567,1569,1568,
1570,1568,1569,
1569,1571,1570,
1572,1570,1571,
1571,1573,1572,
1574,1572,1573,
1573,1575,1574,
1576,1574,1575,
1575,1577,1576,
1578,1576,1577,
1577,1579,1578,
1580,1578,1579,
1579,1581,1580,
1582,1580,1581,
1581,1583,1582,
1551,1550,1584,
1584,1585,1551,
1553,1551,1585,
1585,1586,1553,
1555,1553,1586,
1586,1587,1555,
1557,1555,1587,
1587,1588,1557,
1559,1557,1588,
1588,1589,1559,
1561,1559,1589,
1589,1590,1561,
1563,1561,1590,
1590,1591,1563,
1565,1563,1591,
1591,1592,1565,
1567,1565,1592,
1592,1593,1567,
1569,1567,1593,
1593,1594,1569,
1571,1569,1594,
1594,1595,1571,
1573,1571,1595,
1595,1596,1573,
1575,1573,1596,
1596,1597,1575,
1577,1575,1597,
1597,1598,1577,
1579,1577,1598,
1598,1599,1579,
1581,1579,1600,
1600,1601,1581,
1583,1581,1601,
1601,1602,1583,
1601,1600,1603,
1603,1604,1601,
1602,1601,1604,
1604,1605,1602,
1606,1607,1608,
1608,1609,1606,
1610,1606,1609,
1609,1611,1610,
1612,1610,1611,
1611,1613,1612,
1614,1612,1613,
1613,1615,1614,
1609,1608,1616,
1616,1617,1609,
1611,1609,1617,
1617,1618,1611,
1613,1611,1618,
1618,1619,1613,
1615,1613,1619,
1619,1620,1615,
1617,1616,1621,
1621,1622,1617,
1618,1617,1622,
1622,1623,1618,
1619,1618,1623,
1623,1624,1619,
1620,1619,1624,
1624,1625,1620,
1549,1626,1627,
1627,1550,1549,
1550,1627,1628,
1628,1584,1550,
1582,1605,1604,
1604,1580,1582,
1580,1604,1603,
1603,1578,1580,
1602,1605,1582,
1582,1583,1602,
1627,1626,1629,
1629,1628,1627,
],},{nombre: "BordePlazaPisodosCC086", triangulos: [1630,1631,1632,
1632,1633,1630,
1633,1632,1634,
1634,1635,1633,
1635,1634,1636,
1636,1637,1635,
],},{nombre: "TechoPasajeCC087", triangulos: [1638,1639,1640,
1640,1641,1638,
1641,1640,1642,
1642,1643,1641,
1643,1642,1644,
1644,1645,1643,
1639,1646,1647,
1647,1640,1639,
1640,1647,1648,
1648,1642,1640,
1642,1648,1649,
1649,1644,1642,
1650,1646,1639,
1639,1651,1650,
],},{nombre: "ParedEsquinaCC088", triangulos: [1652,1653,1654,
1654,1655,1652,
1656,1657,1658,
1658,1659,1656,
1657,1652,1655,
1655,1658,1657,
1660,1656,1659,
1659,1661,1660,
1662,1663,1664,
1664,1665,1662,
1666,1667,1668,
1668,1669,1666,
1670,1671,1672,
1672,1663,1670,
1673,1674,1675,
1675,1672,1673,
1669,1676,1677,
1677,1666,1669,
1678,1679,1680,
1680,1681,1678,
1682,1678,1681,
1681,1683,1682,
1684,1660,1661,
1661,1685,1684,
1667,1684,1685,
1685,1668,1667,
1664,1686,1687,
1687,1665,1664,
1688,1666,1677,
1677,1689,1688,
1676,1669,1675,
1675,1674,1676,
1690,1673,1672,
1672,1671,1690,
1690,1671,1688,
1688,1689,1690,
1691,1692,1683,
1683,1693,1691,
1692,1694,1682,
1682,1683,1692,
1694,1695,1696,
1696,1682,1694,
1695,1691,1693,
1693,1696,1695,
1686,1680,1697,
1697,1687,1686,
1680,1679,1698,
1698,1697,1680,
1698,1679,1699,
1699,1700,1698,
1699,1701,1702,
1702,1700,1699,
1703,1670,1663,
1663,1662,1703,
1702,1701,1670,
1670,1703,1702,
],},{nombre: "BordePisodosCC089", triangulos: [1704,1705,1706,
1706,1707,1704,
1707,1706,1708,
1708,1709,1707,
1709,1708,1710,
1710,1711,1709,
1712,1713,1714,
1714,1715,1712,
1714,1713,1716,
1716,1717,1714,
1716,1718,1719,
1719,1717,1716,
1704,1707,1713,
1713,1712,1704,
1713,1707,1709,
1709,1716,1713,
1709,1711,1718,
1718,1716,1709,
1720,1715,1714,
1714,1721,1720,
1721,1714,1717,
1717,1722,1721,
1722,1717,1719,
1719,1723,1722,
],},{nombre: "ParedEntradaExtPisodosCB090", triangulos: [1724,1725,1726,
1726,1727,1724,
],},{nombre: "TechoEntrada091", triangulos: [1728,1729,1730,
1730,1731,1728,
1732,1733,1734,
1734,1735,1732,
1735,1734,1729,
1729,1728,1735,
1736,1737,1731,
1731,1730,1736,
1733,1732,1738,
1738,1739,1733,
],},{nombre: "ParedEsquinaCA092", triangulos: [1740,1741,1742,
1742,1743,1740,
1744,1745,1746,
1746,1747,1744,
1745,1748,1749,
1749,1746,1745,
1750,1740,1743,
1743,1751,1750,
1741,1752,1753,
1753,1742,1741,
1752,1754,1755,
1755,1753,1752,
1754,1756,1757,
1757,1755,1754,
1758,1759,1760,
1760,1761,1758,
1762,1758,1761,
1761,1763,1762,
1756,1764,1765,
1765,1757,1756,
1766,1762,1763,
1763,1767,1766,
1764,1766,1767,
1767,1765,1764,
1768,1744,1747,
1747,1769,1768,
1748,1750,1751,
1751,1749,1748,
],},{nombre: "TechoEsquinaCA093", triangulos: [1770,1771,1772,
1772,1773,1770,
1771,1774,1775,
1775,1772,1771,
1776,1777,1771,
1771,1770,1776,
1777,1778,1774,
1774,1771,1777,
1776,1770,1779,
1779,1780,1776,
],},{nombre: "ColumnaRampa094", triangulos: [1781,1782,1783,
1783,1784,1781,
1782,1785,1786,
1786,1783,1782,
1785,1787,1788,
1788,1786,1785,
1787,1781,1784,
1784,1788,1787,
],},{nombre: "ColumnaRampa095", triangulos: [1789,1790,1791,
1791,1792,1789,
1790,1793,1794,
1794,1791,1790,
1793,1795,1796,
1796,1794,1793,
1795,1789,1792,
1792,1796,1795,
],},{nombre: "ColumnaRampa096", triangulos: [1797,1798,1799,
1799,1800,1797,
1798,1801,1802,
1802,1799,1798,
1801,1803,1804,
1804,1802,1801,
1803,1797,1800,
1800,1804,1803,
],},{nombre: "ColumnaRampa097", triangulos: [1805,1806,1807,
1807,1808,1805,
1806,1809,1810,
1810,1807,1806,
1809,1811,1812,
1812,1810,1809,
1811,1805,1808,
1808,1812,1811,
],},{nombre: "ColumnaRampa098", triangulos: [1813,1814,1815,
1815,1816,1813,
1814,1817,1818,
1818,1815,1814,
1817,1819,1820,
1820,1818,1817,
1819,1813,1816,
1816,1820,1819,
],},{nombre: "ColumnaRampa099", triangulos: [1821,1822,1823,
1823,1824,1821,
1822,1825,1826,
1826,1823,1822,
1825,1827,1828,
1828,1826,1825,
1827,1821,1824,
1824,1828,1827,
],},{nombre: "ColumnaRampa100", triangulos: [1829,1830,1831,
1831,1832,1829,
1830,1833,1834,
1834,1831,1830,
1833,1835,1836,
1836,1834,1833,
1835,1829,1832,
1832,1836,1835,
],},{nombre: "ColumnaRampa101", triangulos: [1837,1838,1839,
1839,1840,1837,
1838,1841,1842,
1842,1839,1838,
1841,1843,1844,
1844,1842,1841,
1843,1837,1840,
1840,1844,1843,
],},{nombre: "ColumnaRampa102", triangulos: [1845,1846,1847,
1847,1848,1845,
1846,1849,1850,
1850,1847,1846,
1849,1851,1852,
1852,1850,1849,
1851,1845,1848,
1848,1852,1851,
],},{nombre: "ColumnaRampa103", triangulos: [1853,1854,1855,
1855,1856,1853,
1854,1857,1858,
1858,1855,1854,
1857,1859,1860,
1860,1858,1857,
1859,1853,1856,
1856,1860,1859,
],},{nombre: "BordePisodosPuertaCB104", triangulos: [1861,1862,1863,
1863,1864,1861,
1864,1863,1865,
1865,1866,1864,
1866,1865,1867,
1867,1868,1866,
1867,1862,1861,
1861,1868,1867,
],},{nombre: "ParedPuertaCD106", triangulos: [1869,1870,1871,
1871,1872,1869,
1870,1873,1874,
1874,1871,1870,
1873,1875,1876,
1876,1874,1873,
1875,1877,1878,
1878,1876,1875,
1877,1879,1880,
1880,1878,1877,
1879,1881,1882,
1882,1880,1879,
1881,1883,1884,
1884,1882,1881,
],},{nombre: "ParedPasajeCD107", triangulos: [1885,1886,1887,
1887,1888,1885,
],},{nombre: "SillaPlaza108", triangulos: [1889,1890,1891,
1891,1892,1889,
1893,1889,1892,
1892,1894,1893,
1895,1896,1897,
1897,1898,1895,
1899,1900,1901,
1901,1902,1899,
1898,1897,1890,
1890,1889,1898,
1902,1901,1891,
1891,1903,1902,
1895,1898,1889,
1889,1893,1895,
1904,1905,1894,
1894,1892,1904,
1906,1896,1907,
1907,1908,1906,
1905,1900,1909,
1909,1894,1905,
1893,1894,1909,
1909,1907,1893,
1906,1910,1897,
1897,1896,1906,
1905,1904,1901,
1901,1900,1905,
1910,1911,1890,
1890,1897,1910,
1904,1892,1891,
1891,1901,1904,
1895,1893,1907,
1907,1896,1895,
1899,1912,1909,
1909,1900,1899,
1909,1891,1890,
1890,1907,1909,
1890,1911,1908,
1908,1907,1890,
1909,1912,1903,
1903,1891,1909,
],},{nombre: "SillaPlaza109", triangulos: [1913,1914,1915,
1915,1916,1913,
1917,1913,1916,
1916,1918,1917,
1919,1920,1921,
1921,1922,1919,
1923,1924,1925,
1925,1926,1923,
1922,1921,1914,
1914,1913,1922,
1926,1925,1915,
1915,1927,1926,
1919,1922,1913,
1913,1917,1919,
1928,1929,1918,
1918,1916,1928,
1930,1920,1931,
1931,1932,1930,
1929,1924,1933,
1933,1918,1929,
1917,1918,1933,
1933,1931,1917,
1930,1934,1921,
1921,1920,1930,
1929,1928,1925,
1925,1924,1929,
1934,1935,1914,
1914,1921,1934,
1928,1916,1915,
1915,1925,1928,
1919,1917,1931,
1931,1920,1919,
1923,1936,1933,
1933,1924,1923,
1933,1915,1914,
1914,1931,1933,
1914,1935,1932,
1932,1931,1914,
1933,1936,1927,
1927,1915,1933,
],},{nombre: "SillaPlaza110", triangulos: [1937,1938,1939,
1939,1940,1937,
1941,1937,1940,
1940,1942,1941,
1943,1944,1945,
1945,1946,1943,
1947,1948,1949,
1949,1950,1947,
1946,1945,1938,
1938,1937,1946,
1950,1949,1939,
1939,1951,1950,
1943,1946,1937,
1937,1941,1943,
1952,1953,1942,
1942,1940,1952,
1954,1944,1955,
1955,1956,1954,
1953,1948,1957,
1957,1942,1953,
1941,1942,1957,
1957,1955,1941,
1954,1958,1945,
1945,1944,1954,
1953,1952,1949,
1949,1948,1953,
1958,1959,1938,
1938,1945,1958,
1952,1940,1939,
1939,1949,1952,
1943,1941,1955,
1955,1944,1943,
1947,1960,1957,
1957,1948,1947,
1957,1939,1938,
1938,1955,1957,
1938,1959,1956,
1956,1955,1938,
1957,1960,1951,
1951,1939,1957,
],},{nombre: "SillaPlaza111", triangulos: [1961,1962,1963,
1963,1964,1961,
1965,1961,1964,
1964,1966,1965,
1967,1968,1969,
1969,1970,1967,
1971,1972,1973,
1973,1974,1971,
1970,1969,1962,
1962,1961,1970,
1974,1973,1963,
1963,1975,1974,
1967,1970,1961,
1961,1965,1967,
1976,1977,1966,
1966,1964,1976,
1978,1968,1979,
1979,1980,1978,
1977,1972,1981,
1981,1966,1977,
1965,1966,1981,
1981,1979,1965,
1978,1982,1969,
1969,1968,1978,
1977,1976,1973,
1973,1972,1977,
1982,1983,1962,
1962,1969,1982,
1976,1964,1963,
1963,1973,1976,
1967,1965,1979,
1979,1968,1967,
1971,1984,1981,
1981,1972,1971,
1981,1963,1962,
1962,1979,1981,
1962,1983,1980,
1980,1979,1962,
1981,1984,1975,
1975,1963,1981,
],},{nombre: "SillaPlaza112", triangulos: [1985,1986,1987,
1987,1988,1985,
1989,1985,1988,
1988,1990,1989,
1991,1992,1993,
1993,1994,1991,
1995,1996,1997,
1997,1998,1995,
1994,1993,1986,
1986,1985,1994,
1998,1997,1987,
1987,1999,1998,
1991,1994,1985,
1985,1989,1991,
2000,2001,1990,
1990,1988,2000,
2002,1992,2003,
2003,2004,2002,
2001,1996,2005,
2005,1990,2001,
1989,1990,2005,
2005,2003,1989,
2002,2006,1993,
1993,1992,2002,
2001,2000,1997,
1997,1996,2001,
2006,2007,1986,
1986,1993,2006,
2000,1988,1987,
1987,1997,2000,
1991,1989,2003,
2003,1992,1991,
1995,2008,2005,
2005,1996,1995,
2005,1987,1986,
1986,2003,2005,
1986,2007,2004,
2004,2003,1986,
2005,2008,1999,
1999,1987,2005,
],},{nombre: "SillaPlaza113", triangulos: [2009,2010,2011,
2011,2012,2009,
2013,2009,2012,
2012,2014,2013,
2015,2016,2017,
2017,2018,2015,
2019,2020,2021,
2021,2022,2019,
2018,2017,2010,
2010,2009,2018,
2022,2021,2011,
2011,2023,2022,
2015,2018,2009,
2009,2013,2015,
2024,2025,2014,
2014,2012,2024,
2026,2016,2027,
2027,2028,2026,
2025,2020,2029,
2029,2014,2025,
2013,2014,2029,
2029,2027,2013,
2026,2030,2017,
2017,2016,2026,
2025,2024,2021,
2021,2020,2025,
2030,2031,2010,
2010,2017,2030,
2024,2012,2011,
2011,2021,2024,
2015,2013,2027,
2027,2016,2015,
2019,2032,2029,
2029,2020,2019,
2029,2011,2010,
2010,2027,2029,
2010,2031,2028,
2028,2027,2010,
2029,2032,2023,
2023,2011,2029,
],},{nombre: "SillaPlaza114", triangulos: [2033,2034,2035,
2035,2036,2033,
2037,2033,2036,
2036,2038,2037,
2039,2040,2041,
2041,2042,2039,
2043,2044,2045,
2045,2046,2043,
2042,2041,2034,
2034,2033,2042,
2046,2045,2035,
2035,2047,2046,
2039,2042,2033,
2033,2037,2039,
2048,2049,2038,
2038,2036,2048,
2050,2040,2051,
2051,2052,2050,
2049,2044,2053,
2053,2038,2049,
2037,2038,2053,
2053,2051,2037,
2050,2054,2041,
2041,2040,2050,
2049,2048,2045,
2045,2044,2049,
2054,2055,2034,
2034,2041,2054,
2048,2036,2035,
2035,2045,2048,
2039,2037,2051,
2051,2040,2039,
2043,2056,2053,
2053,2044,2043,
2053,2035,2034,
2034,2051,2053,
2034,2055,2052,
2052,2051,2034,
2053,2056,2047,
2047,2035,2053,
],},{nombre: "SillaPlaza115", triangulos: [2057,2058,2059,
2059,2060,2057,
2061,2057,2060,
2060,2062,2061,
2063,2064,2065,
2065,2066,2063,
2067,2068,2069,
2069,2070,2067,
2066,2065,2058,
2058,2057,2066,
2070,2069,2059,
2059,2071,2070,
2063,2066,2057,
2057,2061,2063,
2072,2073,2062,
2062,2060,2072,
2074,2064,2075,
2075,2076,2074,
2073,2068,2077,
2077,2062,2073,
2061,2062,2077,
2077,2075,2061,
2074,2078,2065,
2065,2064,2074,
2073,2072,2069,
2069,2068,2073,
2078,2079,2058,
2058,2065,2078,
2072,2060,2059,
2059,2069,2072,
2063,2061,2075,
2075,2064,2063,
2067,2080,2077,
2077,2068,2067,
2077,2059,2058,
2058,2075,2077,
2058,2079,2076,
2076,2075,2058,
2077,2080,2071,
2071,2059,2077,
],},{nombre: "SillaPlaza116", triangulos: [2081,2082,2083,
2083,2084,2081,
2085,2081,2084,
2084,2086,2085,
2087,2088,2089,
2089,2090,2087,
2091,2092,2093,
2093,2094,2091,
2090,2089,2082,
2082,2081,2090,
2094,2093,2083,
2083,2095,2094,
2087,2090,2081,
2081,2085,2087,
2096,2097,2086,
2086,2084,2096,
2098,2088,2099,
2099,2100,2098,
2097,2092,2101,
2101,2086,2097,
2085,2086,2101,
2101,2099,2085,
2098,2102,2089,
2089,2088,2098,
2097,2096,2093,
2093,2092,2097,
2102,2103,2082,
2082,2089,2102,
2096,2084,2083,
2083,2093,2096,
2087,2085,2099,
2099,2088,2087,
2091,2104,2101,
2101,2092,2091,
2101,2083,2082,
2082,2099,2101,
2082,2103,2100,
2100,2099,2082,
2101,2104,2095,
2095,2083,2101,
],},{nombre: "SillaPlaza117", triangulos: [2105,2106,2107,
2107,2108,2105,
2109,2105,2108,
2108,2110,2109,
2111,2112,2113,
2113,2114,2111,
2115,2116,2117,
2117,2118,2115,
2114,2113,2106,
2106,2105,2114,
2118,2117,2107,
2107,2119,2118,
2111,2114,2105,
2105,2109,2111,
2120,2121,2110,
2110,2108,2120,
2122,2112,2123,
2123,2124,2122,
2121,2116,2125,
2125,2110,2121,
2109,2110,2125,
2125,2123,2109,
2122,2126,2113,
2113,2112,2122,
2121,2120,2117,
2117,2116,2121,
2126,2127,2106,
2106,2113,2126,
2120,2108,2107,
2107,2117,2120,
2111,2109,2123,
2123,2112,2111,
2115,2128,2125,
2125,2116,2115,
2125,2107,2106,
2106,2123,2125,
2106,2127,2124,
2124,2123,2106,
2125,2128,2119,
2119,2107,2125,
],},{nombre: "BajoRampaCB118", triangulos: [2129,2130,2131,
2131,2132,2129,
2133,2134,2135,
2135,2136,2133,
2137,2138,2139,
2139,2140,2137,
2140,2139,2131,
2131,2130,2140,
2138,2137,2135,
2135,2134,2138,
2139,2138,2134,
2134,2131,2139,
2141,2132,2131,
2131,2142,2141,
2131,2134,2143,
2143,2142,2131,
2134,2133,2144,
2144,2143,2134,
],},{nombre: "BordePasajeCD119", triangulos: [2145,2146,2147,
2147,2148,2145,
2149,2150,2151,
2151,2152,2149,
2153,2154,2155,
2155,2156,2153,
2157,2145,2148,
2148,2158,2157,
2146,2159,2160,
2160,2147,2146,
2161,2162,2163,
2163,2164,2161,
2150,2165,2166,
2166,2151,2150,
2158,2148,2167,
2167,2168,2158,
2148,2147,2169,
2169,2167,2148,
2147,2160,2170,
2170,2169,2147,
2164,2163,2171,
2171,2172,2164,
2165,2173,2174,
2174,2166,2165,
2168,2167,2175,
2175,2176,2168,
2167,2169,2177,
2177,2175,2167,
2169,2170,2178,
2178,2177,2169,
2179,2180,2181,
2181,2182,2179,
2172,2171,2183,
2183,2184,2172,
2180,2174,2173,
2173,2181,2180,
2175,2177,2183,
2183,2176,2175,
2177,2178,2184,
2184,2183,2177,
2160,2159,2185,
2185,2186,2160,
2170,2160,2186,
2186,2187,2170,
2178,2170,2187,
2187,2188,2178,
2184,2178,2188,
2188,2189,2184,
2157,2158,2150,
2150,2149,2157,
2190,2191,2152,
2152,2151,2190,
2192,2193,2154,
2154,2153,2192,
2163,2162,2156,
2156,2155,2163,
2158,2168,2165,
2165,2150,2158,
2194,2190,2151,
2151,2166,2194,
2193,2195,2179,
2179,2154,2193,
2171,2163,2155,
2155,2182,2171,
2168,2176,2173,
2173,2165,2168,
2196,2194,2166,
2166,2174,2196,
2195,2197,2180,
2180,2179,2195,
2183,2171,2182,
2182,2181,2183,
2197,2196,2174,
2174,2180,2197,
2176,2183,2181,
2181,2173,2176,
2198,2199,2191,
2191,2190,2198,
2200,2201,2193,
2193,2192,2200,
2202,2198,2190,
2190,2194,2202,
2203,2202,2194,
2194,2196,2203,
2204,2205,2197,
2197,2195,2204,
2205,2203,2196,
2196,2197,2205,
2155,2154,2206,
2206,2207,2155,
2154,2179,2208,
2208,2206,2154,
2179,2182,2209,
2209,2208,2179,
2182,2155,2207,
2207,2209,2182,
2193,2201,2210,
2210,2211,2193,
2201,2204,2212,
2212,2210,2201,
2204,2195,2213,
2213,2212,2204,
2195,2193,2211,
2211,2213,2195,
],},{nombre: "ColumnaPuertaEntrada151", triangulos: [2214,2215,2216,
2216,2217,2214,
2215,2218,2219,
2219,2216,2215,
2218,2220,2221,
2221,2219,2218,
2220,2214,2217,
2217,2221,2220,
],},{nombre: "BasePuertaEntrada152", triangulos: [2222,2223,2224,
2224,2225,2222,
2223,2226,2227,
2227,2224,2223,
2226,2228,2229,
2229,2227,2226,
2226,2223,2222,
2222,2228,2226,
2224,2227,2229,
2229,2225,2224,
],},{nombre: "BordeEntradaCB153", triangulos: [2230,2231,2232,
2232,2233,2230,
2233,2232,2234,
2234,2235,2233,
2235,2234,2236,
2236,2237,2235,
2234,2232,2231,
2231,2236,2234,
],},{nombre: "ColumnaCC154", triangulos: [2238,2239,2240,
2240,2241,2238,
2239,2242,2243,
2243,2240,2239,
2242,2244,2245,
2245,2243,2242,
2244,2246,2247,
2247,2245,2244,
2246,2248,2249,
2249,2247,2246,
2248,2250,2251,
2251,2249,2248,
2250,2252,2253,
2253,2251,2250,
2252,2254,2255,
2255,2253,2252,
2254,2256,2257,
2257,2255,2254,
2256,2258,2259,
2259,2257,2256,
2258,2260,2261,
2261,2259,2258,
2260,2262,2263,
2263,2261,2260,
2262,2264,2265,
2265,2263,2262,
2264,2266,2267,
2267,2265,2264,
2266,2268,2269,
2269,2267,2266,
2268,2270,2271,
2271,2269,2268,
2270,2272,2273,
2273,2271,2270,
2272,2238,2241,
2241,2273,2272,
],},{nombre: "ColumnaCC155", triangulos: [2274,2275,2276,
2276,2277,2274,
2275,2278,2279,
2279,2276,2275,
2278,2280,2281,
2281,2279,2278,
2280,2282,2283,
2283,2281,2280,
2282,2284,2285,
2285,2283,2282,
2284,2286,2287,
2287,2285,2284,
2286,2288,2289,
2289,2287,2286,
2288,2290,2291,
2291,2289,2288,
2290,2292,2293,
2293,2291,2290,
2292,2294,2295,
2295,2293,2292,
2294,2296,2297,
2297,2295,2294,
2296,2298,2299,
2299,2297,2296,
2298,2300,2301,
2301,2299,2298,
2300,2302,2303,
2303,2301,2300,
2302,2304,2305,
2305,2303,2302,
2304,2306,2307,
2307,2305,2304,
2306,2308,2309,
2309,2307,2306,
2308,2274,2277,
2277,2309,2308,
],},{nombre: "ColumnaCC156", triangulos: [2310,2311,2312,
2312,2313,2310,
2311,2314,2315,
2315,2312,2311,
2314,2316,2317,
2317,2315,2314,
2316,2318,2319,
2319,2317,2316,
2318,2320,2321,
2321,2319,2318,
2320,2322,2323,
2323,2321,2320,
2322,2324,2325,
2325,2323,2322,
2324,2326,2327,
2327,2325,2324,
2326,2328,2329,
2329,2327,2326,
2328,2330,2331,
2331,2329,2328,
2330,2332,2333,
2333,2331,2330,
2332,2334,2335,
2335,2333,2332,
2334,2336,2337,
2337,2335,2334,
2336,2338,2339,
2339,2337,2336,
2338,2340,2341,
2341,2339,2338,
2340,2342,2343,
2343,2341,2340,
2342,2344,2345,
2345,2343,2342,
2344,2310,2313,
2313,2345,2344,
],},{nombre: "ColumnaCC157", triangulos: [2346,2347,2348,
2348,2349,2346,
2347,2350,2351,
2351,2348,2347,
2350,2352,2353,
2353,2351,2350,
2352,2354,2355,
2355,2353,2352,
2354,2356,2357,
2357,2355,2354,
2356,2358,2359,
2359,2357,2356,
2358,2360,2361,
2361,2359,2358,
2360,2362,2363,
2363,2361,2360,
2362,2364,2365,
2365,2363,2362,
2364,2366,2367,
2367,2365,2364,
2366,2368,2369,
2369,2367,2366,
2368,2370,2371,
2371,2369,2368,
2370,2372,2373,
2373,2371,2370,
2372,2374,2375,
2375,2373,2372,
2374,2376,2377,
2377,2375,2374,
2376,2378,2379,
2379,2377,2376,
2378,2380,2381,
2381,2379,2378,
2380,2346,2349,
2349,2381,2380,
],},{nombre: "ColumnaCC158", triangulos: [2382,2383,2384,
2384,2385,2382,
2383,2386,2387,
2387,2384,2383,
2386,2388,2389,
2389,2387,2386,
2388,2390,2391,
2391,2389,2388,
2390,2392,2393,
2393,2391,2390,
2392,2394,2395,
2395,2393,2392,
2394,2396,2397,
2397,2395,2394,
2396,2398,2399,
2399,2397,2396,
2398,2400,2401,
2401,2399,2398,
2400,2402,2403,
2403,2401,2400,
2402,2404,2405,
2405,2403,2402,
2404,2406,2407,
2407,2405,2404,
2406,2408,2409,
2409,2407,2406,
2408,2410,2411,
2411,2409,2408,
2410,2412,2413,
2413,2411,2410,
2412,2414,2415,
2415,2413,2412,
2414,2416,2417,
2417,2415,2414,
2416,2382,2385,
2385,2417,2416,
],},{nombre: "ColumnaCC159", triangulos: [2418,2419,2420,
2420,2421,2418,
2419,2422,2423,
2423,2420,2419,
2422,2424,2425,
2425,2423,2422,
2424,2426,2427,
2427,2425,2424,
2426,2428,2429,
2429,2427,2426,
2428,2430,2431,
2431,2429,2428,
2430,2432,2433,
2433,2431,2430,
2432,2434,2435,
2435,2433,2432,
2434,2436,2437,
2437,2435,2434,
2436,2438,2439,
2439,2437,2436,
2438,2440,2441,
2441,2439,2438,
2440,2442,2443,
2443,2441,2440,
2442,2444,2445,
2445,2443,2442,
2444,2446,2447,
2447,2445,2444,
2446,2448,2449,
2449,2447,2446,
2448,2450,2451,
2451,2449,2448,
2450,2452,2453,
2453,2451,2450,
2452,2418,2421,
2421,2453,2452,
],},{nombre: "BordePlazaPisodosCC160", triangulos: [2454,2455,2456,
2456,2457,2454,
2457,2456,2458,
2458,2459,2457,
2459,2458,2460,
2460,2461,2459,
],},
{nombre: "Piso2inverso161", triangulos: [2462,2463,2464,
2464,2465,2462,
2466,2462,2465,
2465,2467,2466,
2468,2469,2470,
2470,2471,2468,
2472,2473,2474,
2474,2475,2472,
2476,2477,2473,
2473,2472,2476,
2473,2478,2479,
2479,2474,2473,
2477,2480,2478,
2478,2473,2477,
2478,2481,2482,
2482,2479,2478,
2480,2483,2481,
2481,2478,2480,
2481,2484,2485,
2485,2482,2481,
2483,2486,2484,
2484,2481,2483,
2484,2487,2488,
2488,2485,2484,
2486,2489,2487,
2487,2484,2486,
2487,2490,2491,
2491,2488,2487,
2489,2492,2490,
2490,2487,2489,
2490,2493,2494,
2494,2491,2490,
2492,2495,2493,
2493,2490,2492,
2493,2496,2497,
2497,2494,2493,
2495,2498,2496,
2496,2493,2495,
2496,2499,2500,
2500,2497,2496,
2498,2501,2499,
2499,2496,2498,
2499,2502,2503,
2503,2500,2499,
2501,2504,2502,
2502,2499,2501,
2502,2505,2506,
2506,2503,2502,
2504,2507,2505,
2505,2502,2504,
2505,2508,2509,
2509,2506,2505,
2507,2510,2508,
2508,2505,2507,
2508,2511,2512,
2512,2509,2508,
2510,2513,2511,
2511,2508,2510,
2511,2514,2515,
2515,2512,2511,
2513,2516,2514,
2514,2511,2513,
2514,2517,2518,
2518,2515,2514,
2516,2519,2517,
2517,2514,2516,
2517,2520,2521,
2521,2518,2517,
2519,2522,2520,
2520,2517,2519,
2521,2523,2524,
2524,2518,2521,
2523,2525,2526,
2526,2524,2523,
2523,2527,2528,
2528,2525,2523,
2527,2529,2530,
2530,2528,2527,
2530,2531,2532,
2532,2528,2530,
2531,2533,2534,
2534,2532,2531,
2533,2535,2536,
2536,2534,2533,
2535,2537,2538,
2538,2536,2535,
2531,2539,2540,
2540,2533,2531,
2533,2540,2541,
2541,2535,2533,
2535,2541,2542,
2542,2537,2535,
2540,2543,2544,
2544,2541,2540,
2545,2546,2547,
2547,2548,2545,
2549,2550,2551,
2551,2552,2549,
2553,2554,2555,
2555,2556,2553,
2552,2551,2557,
2557,2558,2552,
2559,2560,2561,
2561,2562,2559,
2555,2563,2564,
2564,2556,2555,
2563,2565,2566,
2566,2564,2563,
2565,2567,2568,
2568,2566,2565,
2567,2569,2570,
2570,2568,2567,
2569,2571,2572,
2572,2570,2569,
2571,2573,2574,
2574,2572,2571,
2574,2573,2575,
2575,2576,2574,
2573,2577,2578,
2578,2575,2573,
2577,2579,2580,
2580,2578,2577,
2579,2581,2582,
2582,2580,2579,
2581,2583,2584,
2584,2582,2581,
2583,2585,2586,
2586,2584,2583,
2585,2587,2588,
2588,2586,2585,
2587,2589,2590,
2590,2588,2587,
2586,2591,2592,
2592,2584,2586,
2591,2593,2594,
2594,2592,2591,
2593,2595,2596,
2596,2594,2593,
2595,2597,2598,
2598,2596,2595,
2465,2464,2468,
2468,2471,2465,
2599,2467,2465,
2465,2471,2599,
2599,2600,2601,
2601,2598,2599,
2601,2600,2602,
2602,2603,2601,
2603,2602,2604,
2604,2605,2603,
2605,2604,2606,
2606,2607,2605,
2607,2606,2608,
2608,2609,2607,
2609,2608,2610,
2610,2611,2609,
2611,2610,2612,
2612,2613,2611,
2613,2612,2614,
2614,2615,2613,
2599,2598,2597,
2597,2467,2599,
2598,2601,2616,
2616,2596,2598,
2601,2603,2617,
2617,2616,2601,
2603,2605,2618,
2618,2617,2603,
2618,2605,2607,
2607,2619,2618,
2619,2607,2609,
2609,2620,2619,
2620,2609,2611,
2611,2621,2620,
2621,2611,2613,
2613,2622,2621,
2622,2613,2615,
2615,2623,2622,
2615,2624,2625,
2625,2623,2615,
2624,2626,2627,
2627,2625,2624,
2627,2626,2628,
2628,2629,2627,
2630,2631,2632,
2632,2633,2630,
2630,2634,2635,
2635,2631,2630,
2629,2628,2630,
2630,2633,2629,
2631,2636,2637,
2637,2632,2631,
2635,2638,2636,
2636,2631,2635,
2636,2639,2640,
2640,2637,2636,
2638,2641,2639,
2639,2636,2638,
2639,2642,2643,
2643,2640,2639,
2641,2644,2642,
2642,2639,2641,
2642,2645,2646,
2646,2643,2642,
2644,2647,2645,
2645,2642,2644,
2558,2557,2548,
2548,2547,2558,
2560,2553,2556,
2556,2561,2560,
2556,2564,2648,
2648,2561,2556,
2564,2566,2649,
2649,2648,2564,
2566,2568,2650,
2650,2649,2566,
2568,2570,2651,
2651,2650,2568,
2570,2572,2652,
2652,2651,2570,
2572,2574,2653,
2653,2652,2572,
2653,2574,2576,
2576,2654,2653,
2645,2576,2575,
2575,2646,2645,
2647,2654,2576,
2576,2645,2647,
2575,2655,2656,
2656,2646,2575,
2657,2545,2548,
2548,2658,2657,
2553,2547,2546,
2546,2554,2553,
2659,2549,2552,
2552,2559,2659,
2660,2551,2550,
2550,2661,2660,
2559,2552,2558,
2558,2560,2559,
2662,2557,2551,
2551,2660,2662,
2560,2558,2547,
2547,2553,2560,
2658,2548,2557,
2557,2662,2658,
2469,2472,2475,
2475,2470,2469,
2469,2663,2476,
2476,2472,2469,
2630,2664,2665,
2665,2634,2630,
2628,2666,2664,
2664,2630,2628,
2628,2667,2668,
2668,2666,2628,
2628,2669,2670,
2670,2667,2628,
2523,2521,2671,
2671,2527,2523,
2529,2527,2671,
2671,2672,2529,
],},{nombre: "Piso1inverso162", triangulos: [2673,2674,2675,
2675,2676,2673,
2677,2678,2674,
2674,2673,2677,
2679,2680,2681,
2681,2682,2679,
2682,2681,2683,
2683,2684,2682,
2684,2683,2685,
2685,2686,2684,
2687,2688,2680,
2680,2679,2687,
2676,2675,2688,
2688,2687,2676,
],},
];
// This array defines each face as two triangles, using the
// indices into the vertex array to specify each triangle's
// position.
const indices = indicesconj[2].triangulos;
// Now create an array of positions for the cube.
const positions_normal = [
0.000000,1.000000,-0.000000,
0.000000,1.000000,0.000001,
-0.000000,1.000000,0.000000,
0.000000,1.000000,-0.000001,
0.000000,1.000000,0.000000,
-0.000001,1.000000,-0.000000,
-0.000000,1.000000,0.000123,
0.000000,1.000000,0.000127,
-0.000000,1.000000,0.000127,
0.000000,0.995073,0.099143,
-0.000052,0.995071,0.099162,
0.059671,0.993298,0.098985,
0.000000,0.993370,0.114957,
0.011693,0.993303,0.114949,
0.000000,0.992341,0.123525,
0.000000,0.999048,0.043619,
-0.002179,0.999641,0.026700,
-0.001770,0.999642,0.026684,
-0.002569,0.999651,0.026274,
-0.016162,0.999541,0.025635,
-0.002002,0.999612,0.027770,
-0.008481,0.999577,0.027819,
-0.002331,0.999590,0.028536,
-0.002418,0.999640,0.026709,
-0.008430,0.999556,0.028583,
-0.001729,0.999572,0.029208,
-0.012262,0.999651,0.023419,
-0.002796,0.999639,0.026724,
0.000000,1.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
-0.876968,0.480547,0.000912,
-0.877517,0.479546,-0.000012,
-0.000247,0.000180,1.000000,
-0.000014,0.000104,1.000000,
-0.880974,0.473165,-0.000000,
-0.880974,0.473164,-0.000003,
-0.000006,-0.000001,-1.000000,
-0.994512,-0.104627,-0.000000,
-0.000008,0.000001,-1.000000,
0.000697,0.000279,1.000000,
0.000733,0.000287,1.000000,
0.931370,0.364074,-0.000000,
-0.000024,-0.000003,-1.000000,
-0.000022,-0.000003,-1.000000,
0.000769,0.000290,1.000000,
0.000809,0.000295,1.000000,
-0.004679,-0.000476,-0.999989,
0.000373,0.000069,-1.000000,
0.000070,0.000032,-1.000000,
-0.017297,0.000537,-0.999850,
0.073733,0.007532,-0.997249,
-0.000107,-0.000558,-1.000000,
-0.002082,-0.000816,-0.999998,
-0.005209,-0.000515,-0.999986,
-0.000422,-0.000074,1.000000,
0.004763,0.000486,0.999989,
0.017306,-0.000536,0.999850,
-0.000067,-0.000032,1.000000,
0.000079,0.000555,1.000000,
-0.073731,-0.007531,0.997250,
0.005219,0.000519,0.999986,
0.002099,0.000819,0.999997,
-0.931428,-0.363926,0.000005,
-0.972081,-0.234645,0.000004,
-0.971951,-0.235182,0.000001,
-0.931424,-0.363936,-0.000000,
-0.994825,-0.101604,-0.000000,
0.931343,0.364144,-0.000004,
0.971974,0.235090,-0.000002,
0.972004,0.234965,-0.000002,
0.994825,0.101605,-0.000000,
0.994825,0.101605,0.000000,
0.994825,0.101607,-0.000005,
-0.535870,0.844300,0.001345,
-0.536871,0.843665,0.000024,
-0.000137,0.000221,-1.000000,
-0.000135,0.000212,-1.000000,
-0.536247,0.844061,-0.000027,
-0.536241,0.844065,0.000003,
0.000191,-0.000113,1.000000,
0.000198,-0.000120,1.000000,
-0.000851,0.000291,-1.000000,
-0.001164,0.001620,-0.999998,
-0.536248,0.844060,-0.000027,
-0.536244,0.844063,-0.000006,
0.000850,-0.001587,0.999998,
0.002312,-0.003047,0.999993,
0.994511,-0.104631,0.000000,
0.994512,-0.104627,-0.000006,
0.994512,-0.104627,0.000000,
-0.994511,0.104635,0.000012,
-0.994512,0.104627,-0.000000,
-0.994511,0.104635,0.000025,
-0.994513,0.104618,-0.000000,
0.000273,0.056893,-0.998380,
-0.000136,0.057079,-0.998370,
-0.999999,-0.000063,-0.001622,
-0.999997,-0.000037,-0.002393,
0.000032,0.057016,-0.998373,
0.000006,0.057019,-0.998373,
1.000000,-0.000095,-0.000907,
1.000000,-0.000145,-0.000355,
-1.000000,0.000214,0.000110,
-0.999957,0.000527,-0.009234,
-0.000002,0.057019,-0.998373,
-0.000004,0.057019,-0.998373,
0.999954,-0.000493,0.009551,
0.999868,-0.001095,0.016206,
0.000067,0.104661,0.994508,
0.000034,0.104639,0.994510,
0.000014,0.104627,0.994512,
0.000007,0.104622,0.994512,
-0.000000,-0.104639,-0.994510,
0.000007,-0.104644,-0.994510,
-0.000007,-0.104635,-0.994511,
-0.487568,0.873084,-0.001555,
-0.482560,0.875863,0.000000,
0.000108,-0.000002,1.000000,
0.000083,0.000009,1.000000,
-0.485483,0.874246,-0.000032,
-0.485470,0.874253,-0.000018,
-0.000079,0.000009,-1.000000,
-0.000095,-0.000010,-1.000000,
0.000129,0.000009,1.000000,
0.000052,0.000040,1.000000,
-0.485410,0.874287,0.000000,
-0.485403,0.874290,0.000009,
-0.000072,-0.000003,-1.000000,
-0.000084,-0.000017,-1.000000,
0.994512,0.104627,0.000006,
0.994511,0.104631,-0.000000,
0.994512,0.104627,-0.000000,
-0.994508,-0.104665,0.000000,
-0.994509,-0.104652,0.000018,
-0.994509,-0.104648,0.000019,
-0.994508,-0.104661,0.000000,
0.978280,0.207287,-0.000074,
0.978303,0.207180,0.000111,
0.004423,0.000663,0.999990,
0.014134,0.002981,0.999895,
0.978292,0.207232,-0.000018,
0.978292,0.207229,-0.000000,
-0.013426,-0.002893,-0.999906,
-0.043816,-0.008788,-0.999001,
0.994512,0.104622,-0.000019,
0.994512,0.104627,-0.000026,
0.931360,0.364100,-0.000439,
0.931364,0.364088,-0.000442,
0.931365,0.364088,-0.000005,
0.931721,0.363174,0.000858,
0.931721,0.363174,-0.000001,
0.931368,0.364079,-0.000195,
0.931359,0.364101,0.000250,
0.931368,0.364080,0.000246,
0.931365,0.364087,0.000857,
0.931359,0.364101,0.000869,
0.005040,0.002024,0.999985,
0.005039,0.002024,0.999985,
0.931365,0.364088,-0.000000,
-0.018783,-0.006157,-0.999805,
-0.016872,-0.006642,-0.999835,
0.002415,0.000238,0.999997,
0.002235,0.000158,0.999997,
-0.000223,-0.000033,1.000000,
-0.000245,-0.000034,1.000000,
0.000124,0.000019,1.000000,
0.931360,0.364100,-0.000013,
0.931368,0.364079,0.000005,
0.696892,0.000000,0.717176,
0.831751,0.000000,0.555149,
0.845978,0.000000,0.533217,
0.748767,0.000000,0.662833,
0.738824,0.000000,0.673899,
-0.727409,0.000000,0.686204,
0.631368,0.000000,0.775483,
-0.752468,0.000000,0.658629,
-0.872515,0.000000,0.488587,
-0.950959,0.000000,0.309316,
-0.990931,0.000000,0.134372,
-0.997849,0.000000,-0.065549,
-0.984244,0.000000,-0.176814,
-0.946310,0.000000,-0.323261,
-0.870902,0.000000,-0.491457,
-0.850123,0.000000,-0.526584,
-0.742262,0.000000,-0.670109,
-0.643682,0.000000,-0.765293,
-0.482695,0.000000,-0.875789,
-0.528889,0.000000,-0.848691,
-0.327741,0.000000,-0.944768,
-0.104108,0.000000,-0.994566,
0.029824,0.000000,-0.999555,
0.190754,0.000000,-0.981638,
0.960744,0.000000,0.277437,
0.515286,0.000000,-0.857018,
0.954173,0.000000,0.299256,
0.344153,0.000000,-0.938913,
0.000000,1.000000,-0.000000,
0.000000,-1.000000,-0.000000,
0.883759,0.000000,-0.467942,
0.459859,0.000000,-0.887992,
-0.055221,0.000000,-0.998474,
-0.528353,0.000000,-0.849025,
-0.885539,0.000000,-0.464564,
-0.998634,0.000000,-0.052256,
-0.931555,0.000000,0.363601,
-0.811050,0.000000,0.584977,
-0.512258,0.000000,0.858832,
0.008064,0.000000,0.999968,
0.503808,0.000000,0.863816,
0.810243,0.000000,0.586094,
0.937929,0.000000,0.346827,
0.999957,0.000000,-0.009280,
-0.315643,0.000000,-0.948878,
-0.948878,0.000000,0.315642,
0.315643,0.000000,0.948878,
0.948878,0.000000,-0.315642,
-0.315643,0.000000,-0.948878,
-0.948878,0.000000,0.315642,
0.315643,0.000000,0.948878,
0.948878,0.000000,-0.315642,
0.948878,0.000000,-0.315642,
-0.315642,0.000000,-0.948878,
-0.948878,0.000000,0.315642,
0.315642,0.000000,0.948878,
0.948878,0.000000,-0.315642,
-0.315642,0.000000,-0.948878,
-0.948878,0.000000,0.315642,
0.315642,0.000000,0.948878,
0.447765,0.000000,-0.894151,
-0.894151,0.000000,-0.447765,
-0.447765,0.000000,0.894151,
0.894151,0.000000,0.447765,
0.447765,0.000000,-0.894151,
-0.894151,0.000000,-0.447765,
-0.447765,0.000000,0.894151,
0.894151,0.000000,0.447765,
0.894151,0.000000,0.447765,
0.447765,0.000000,-0.894151,
-0.894151,0.000000,-0.447765,
-0.447765,0.000000,0.894151,
0.894151,0.000000,0.447765,
0.447765,0.000000,-0.894151,
-0.894151,0.000000,-0.447765,
-0.447765,0.000000,0.894151,
-0.659918,0.000000,-0.751338,
-0.751338,0.000000,0.659917,
0.659918,0.000000,0.751338,
0.659913,0.000000,0.751342,
0.751338,0.000000,-0.659917,
-0.659918,0.000000,-0.751338,
-0.751338,0.000000,0.659917,
0.659918,0.000000,0.751338,
0.659913,0.000000,0.751342,
0.751338,0.000000,-0.659917,
-0.659918,0.000000,-0.751338,
-0.751338,0.000000,0.659917,
0.659918,0.000000,0.751338,
0.659913,0.000000,0.751342,
0.751338,0.000000,-0.659917,
-0.659918,0.000000,-0.751338,
-0.751338,0.000000,0.659917,
0.659918,0.000000,0.751338,
0.659913,0.000000,0.751342,
0.751338,0.000000,-0.659917,
0.000000,-1.000000,-0.000000,
-0.000000,-1.000000,0.000001,
0.000000,-1.000000,0.000000,
-0.999986,0.000000,-0.005207,
0.999997,0.000000,0.002458,
0.999999,0.000000,-0.001455,
0.163454,0.000000,0.986551,
0.134939,0.000000,0.990854,
-0.135068,0.000001,-0.990836,
-0.135068,0.000000,-0.990836,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
-0.000002,0.000000,-1.000000,
0.000000,0.000000,-1.000000,
-0.188694,0.000000,-0.982036,
-0.223146,0.000000,-0.974785,
-0.342498,0.000000,-0.939518,
-0.435408,0.000000,-0.900233,
-0.586682,0.000000,-0.809818,
-0.737902,0.000000,-0.674908,
-0.792754,0.000000,-0.609542,
-0.853468,0.000000,-0.521145,
-0.881813,0.000000,-0.471600,
-0.924466,0.000000,-0.381265,
-0.980041,0.000000,-0.198795,
-0.989278,0.000000,-0.146047,
-0.999970,0.000000,-0.007698,
1.000000,0.000000,-0.000000,
0.761313,0.000000,0.648384,
-0.997710,0.000000,0.067632,
0.129605,0.000000,0.991566,
0.000000,1.000000,-0.000000,
0.314464,0.000000,-0.949269,
0.314464,-0.000000,-0.949269,
0.458296,-0.000000,-0.888799,
0.552481,-0.000000,-0.833525,
0.552482,-0.000000,-0.833525,
0.648167,-0.000000,-0.761498,
0.736457,-0.000000,-0.676485,
0.723619,-0.000000,-0.690200,
0.723619,0.000000,-0.690199,
0.820550,0.000000,-0.571574,
0.949557,0.000000,-0.313594,
0.996164,0.000000,-0.087509,
-0.639875,0.000000,0.768479,
0.000000,0.000000,1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,-0.000000,0.000053,
0.183740,0.000000,0.982975,
0.183740,-0.000000,0.982975,
0.000000,1.000000,-0.000000,
0.001330,0.999998,-0.001597,
-0.000127,1.000000,0.000098,
0.001262,0.999999,-0.000211,
0.001297,0.999999,-0.000035,
-0.000002,1.000000,0.000058,
-0.000001,1.000000,0.000058,
0.002327,0.999995,-0.002133,
0.002488,0.999985,-0.004897,
-0.000006,1.000000,0.000064,
0.000018,1.000000,0.000008,
0.000000,-1.000000,-0.000000,
-0.002193,-0.174940,-0.984577,
-0.002530,-0.174940,-0.984576,
-0.000009,-0.020037,0.999799,
0.007478,-0.012901,0.999889,
0.223766,0.099395,-0.969562,
0.232560,0.101867,-0.967233,
0.007325,-0.017580,0.999819,
-0.000003,-0.021247,0.999774,
-0.223833,-0.099373,0.969548,
-0.229380,-0.101897,0.967989,
0.227754,0.099271,-0.968645,
0.246173,0.104693,-0.963555,
0.007482,-0.012002,0.999900,
0.000000,-0.015859,0.999874,
-0.230630,-0.099480,0.967943,
-0.236670,-0.102356,0.966183,
0.000016,-0.104680,0.994506,
0.000026,-0.104687,0.994505,
0.000010,-0.104676,0.994506,
0.000000,-0.104670,0.994507,
0.000025,-0.104686,0.994505,
-0.005618,0.104672,-0.994491,
-0.005639,0.104686,-0.994489,
-0.005626,0.104677,-0.994490,
-0.005606,0.104663,-0.994492,
-0.005592,0.104642,-0.994494,
-0.005617,0.104660,-0.994492,
-0.005602,0.104649,-0.994493,
-0.005577,0.104632,-0.994495,
-0.221326,-0.099085,0.970153,
-1.000000,0.000001,-0.000022,
1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
-0.987384,0.000000,0.158344,
-0.988420,0.000000,0.151744,
0.000000,0.000000,1.000000,
0.000000,0.000000,1.000000,
0.014096,0.000000,0.999901,
-0.000756,0.000000,1.000000,
1.000000,0.000000,0.000000,
1.000000,0.000000,-0.000000,
0.753519,0.000000,0.657426,
0.980227,0.000000,0.197879,
0.985506,0.000000,-0.169639,
0.808567,0.000000,-0.588404,
0.719930,0.000000,0.694046,
0.964990,0.000000,0.262285,
0.963725,0.000000,-0.266899,
0.847463,0.000000,-0.530855,
0.735450,0.000000,0.677580,
0.984656,0.000000,0.174505,
0.979343,0.000000,-0.202208,
0.861499,0.000000,-0.507759,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
-0.000000,0.000008,-1.000000,
0.000000,-1.000000,-0.000000,
0.000000,-0.000008,1.000000,
-0.000000,1.000000,-0.000000,
-0.994313,-0.000000,0.106495,
-0.994313,0.000000,0.106495,
-0.643309,0.000000,0.765607,
-0.643309,-0.000000,0.765607,
-0.487896,0.000000,0.872902,
-0.082686,-0.000000,0.996576,
-0.082686,0.000000,0.996576,
0.969069,0.000000,-0.246789,
0.396328,0.000000,-0.918109,
0.396328,-0.000000,-0.918109,
-0.000000,1.000000,0.000099,
0.000023,1.000000,-0.000005,
0.000023,1.000000,0.000122,
-0.000049,1.000000,0.000157,
0.000000,1.000000,-0.000000,
-0.000000,1.000000,0.000000,
0.000000,1.000000,0.000000,
0.933758,0.000000,0.357906,
0.999973,0.000000,-0.007372,
0.879796,0.000000,-0.475352,
0.463336,0.000000,-0.886183,
-0.050616,0.000000,-0.998718,
-0.532834,0.000000,-0.846220,
-0.882102,0.000000,-0.471059,
-0.998671,0.000000,-0.051533,
-0.930584,0.000000,0.366079,
-0.810803,0.000000,0.585319,
-0.508210,0.000000,0.861233,
0.010727,0.000000,0.999942,
0.505265,0.000000,0.862964,
0.816046,0.000000,0.577987,
0.000000,0.000000,-1.000000,
0.000000,-1.000000,-0.000000,
0.000000,0.000000,1.000000,
-0.000000,1.000000,-0.000000,
-1.000000,-0.000001,-0.000015,
0.978599,0.000000,0.205774,
0.955813,0.000000,0.293976,
0.954532,0.000000,-0.298107,
0.781544,0.000000,-0.623851,
0.512587,0.000000,-0.858635,
0.276094,0.000000,-0.961130,
-0.078620,0.000000,-0.996905,
-0.626417,0.000000,-0.779488,
0.054544,0.000000,0.998511,
-0.773830,0.000000,-0.633393,
-0.961508,0.000000,-0.274778,
-0.999918,0.000000,0.012780,
-0.996887,0.000000,0.078842,
-0.909533,0.000000,0.415631,
-0.761160,0.000000,0.648564,
-0.365471,0.000000,0.930823,
0.464438,0.000000,0.885606,
0.725760,0.000000,0.687947,
0.512587,0.000000,-0.858636,
0.276094,0.000000,-0.961131,
0.725761,0.000000,0.687947,
1.000000,0.000000,-0.000000,
-0.300535,0.000000,-0.953771,
0.000000,-1.000000,-0.000724,
0.000000,-1.000000,-0.000125,
0.000000,-1.000000,-0.000725,
-0.000000,-1.000000,0.000001,
-0.000000,-1.000000,0.000006,
-0.000001,-1.000000,0.000007,
1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
0.000000,0.000000,-1.000000,
-0.000000,-1.000000,-0.000000,
0.000000,0.000000,1.000000,
0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000000,
0.000000,-1.000000,0.000000,
1.000000,0.000000,-0.000000,
-0.000000,1.000000,-0.000000,
1.000000,-0.000008,-0.000000,
-1.000000,0.000008,0.000000,
-1.000000,0.000000,-0.000000,
0.000000,-1.000000,0.000000,
-0.000000,-1.000000,0.000000,
1.000000,0.000000,-0.000000,
-0.000034,0.000001,1.000000,
-0.000032,0.000000,1.000000,
-0.000036,0.000002,1.000000,
-0.000038,0.000004,1.000000,
0.000000,0.000000,-1.000000,
0.000000,-1.000000,-0.000000,
0.000000,0.000000,1.000000,
-0.000000,1.000000,-0.000000,
-1.000000,-0.000000,0.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000000,
-0.000000,1.000000,-0.000000,
0.000000,0.000000,-1.000000,
0.000000,1.000000,-0.000000,
-0.000000,0.000000,1.000000,
0.999996,0.000000,0.002739,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
-1.000000,0.000000,-0.000002,
0.000000,1.000000,-0.000000,
1.000000,0.000000,0.000002,
0.002742,0.000000,-0.999996,
1.000000,0.000000,0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000000,1.000000,
-0.999996,0.000000,-0.002752,
1.000000,0.000000,-0.000000,
0.999954,0.000000,-0.009603,
0.007513,0.000000,0.999972,
0.000000,0.000000,1.000000,
-1.000000,0.000000,-0.000000,
-0.999998,0.000000,0.001785,
0.000000,0.000000,-1.000000,
0.015690,0.000000,0.999877,
0.837561,0.000000,0.546343,
0.789007,0.000000,0.614384,
0.632833,0.000000,0.774288,
0.678210,0.000000,0.734869,
-0.000009,0.000000,-1.000000,
-0.000014,-0.000000,-1.000000,
-0.000011,0.000004,-1.000000,
-0.000006,0.000022,-1.000000,
-0.000010,-0.000000,-1.000000,
-0.000011,0.000000,-1.000000,
-0.000006,0.000000,-1.000000,
-0.000010,-0.000008,-1.000000,
-0.000014,0.000000,-1.000000,
-0.000011,-0.000006,-1.000000,
-0.000002,0.000000,-1.000000,
-0.000004,0.000000,-1.000000,
-0.753519,0.000000,-0.657426,
-0.980227,0.000000,-0.197879,
-0.985506,0.000000,0.169639,
-0.808567,0.000000,0.588404,
-1.000000,0.000000,-0.000000,
-0.719930,0.000000,-0.694046,
-0.964990,0.000000,-0.262285,
-0.963725,0.000000,0.266899,
-0.847463,0.000000,0.530855,
-0.735450,0.000000,-0.677579,
-0.984656,0.000000,-0.174505,
-0.979343,0.000000,0.202208,
-0.861499,0.000000,0.507759,
0.000000,0.000000,-1.000000,
0.000000,1.000000,-0.000000,
0.000000,0.000000,1.000000,
0.000000,-1.000000,-0.000426,
1.000000,0.000000,-0.000000,
1.000000,0.000000,-0.000000,
0.000000,-1.000000,-0.000000,
-0.000001,-1.000000,-0.000000,
-1.000000,0.000000,-0.000000,
0.000000,-1.000000,-0.000000,
0.000000,-1.000000,0.000006,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
-0.000000,0.000003,-1.000000,
-0.000014,0.000000,-1.000000,
0.972093,0.000000,0.234594,
0.972093,-0.000000,0.234594,
0.025185,0.000000,-0.999683,
0.025185,-0.000000,-0.999683,
0.000000,-0.000016,-1.000000,
0.000006,0.000000,-1.000000,
0.000000,0.000003,-1.000000,
0.000001,0.000000,-1.000000,
-0.000000,0.000000,-1.000000,
-0.000996,-0.001036,-0.999999,
-0.000732,0.000000,-1.000000,
-0.001571,0.000000,-0.999999,
-0.001597,0.000005,-0.999999,
-0.000996,0.000130,-1.000000,
-0.000743,-0.000000,-1.000000,
0.001471,0.000000,-0.999999,
0.000000,1.000000,-0.000000,
0.002053,-0.000000,0.999998,
0.002053,0.000000,0.999998,
0.999851,0.000000,-0.017266,
-0.999988,-0.000006,-0.004903,
-0.999988,0.000000,-0.004901,
0.988223,0.000000,0.153022,
-0.985173,0.000000,-0.171564,
-0.985173,-0.000005,-0.171566,
0.000003,0.000000,-1.000000,
-0.018612,0.000000,0.999827,
1.000000,0.000000,-0.000000,
-0.000000,-1.000000,0.000000,
-0.000000,-1.000000,-0.000000,
0.000000,-1.000000,0.000000,
-0.000000,0.000001,-1.000000,
0.000000,0.000000,1.000000,
1.000000,-0.000000,-0.000000,
-0.984543,0.000000,0.175145,
0.388181,0.000000,0.921583,
0.951654,0.000000,-0.307171,
0.485520,0.000000,0.874225,
-1.000000,0.000000,-0.000000,
0.537328,0.000000,0.843373,
0.088508,0.000000,0.996075,
-0.857596,0.000000,0.514324,
-0.000000,-1.000000,-0.000000,
-0.000006,-1.000000,-0.000000,
-0.000001,-1.000000,-0.000001,
-0.000001,-1.000000,-0.000000,
-0.000007,-1.000000,0.000000,
-0.000006,-1.000000,-0.000001,
0.000001,-1.000000,-0.000001,
-0.000000,-1.000000,-0.000002,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
-1.000000,0.000000,-0.000000,
0.000000,1.000000,-0.000000,
1.000000,0.000000,0.000000,
-0.001259,-0.999999,-0.000000,
-1.000000,0.000000,-0.000000,
-0.999760,-0.000000,0.021886,
-0.999995,0.000000,-0.003162,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
-0.000001,-0.000027,1.000000,
-0.000002,-0.000040,1.000000,
-0.000000,1.000000,0.000000,
-1.000000,-0.000000,0.000011,
1.000000,-0.000000,-0.000011,
1.000000,0.000000,-0.000011,
0.000000,-0.000027,1.000000,
0.000000,-0.000005,1.000000,
-0.000000,0.000003,-1.000000,
-0.000000,0.000040,-1.000000,
0.000002,0.000040,-1.000000,
0.000001,0.000027,-1.000000,
0.000000,-0.000040,1.000000,
-0.000000,0.000027,-1.000000,
-0.000000,-0.000004,-1.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,-0.000018,
-1.000000,0.000000,0.000018,
-1.000000,-0.000000,0.000018,
0.000000,0.000000,-1.000000,
0.000000,0.000000,1.000000,
-1.000000,-0.000000,-0.000010,
-0.000000,1.000000,-0.000000,
-0.149668,0.000000,-0.988736,
-0.999997,0.000000,-0.002459,
0.999997,0.000000,0.002464,
-1.000000,0.000000,-0.000000,
-0.134939,0.000000,-0.990854,
0.134939,0.000000,0.990854,
0.000000,1.000000,-0.000000,
0.999997,0.000000,0.002459,
0.999999,0.000000,-0.001455,
0.163462,-0.000026,0.986550,
0.163454,-0.000001,0.986551,
0.134939,0.000002,0.990854,
0.134939,-0.000001,0.990854,
-0.999986,-0.000005,-0.005208,
-0.999986,-0.000003,-0.005206,
-0.135036,0.000000,-0.990841,
-0.135036,-0.000001,-0.990841,
0.000000,-1.000000,-0.000000,
-0.000000,-1.000000,0.000001,
0.000000,-1.000000,0.000000,
-0.149266,0.000000,-0.988797,
0.149266,0.000013,0.988797,
-0.000000,-1.000000,-0.000000,
-0.999997,0.000000,-0.002458,
0.999997,0.000000,0.002463,
0.999997,0.000000,0.002458,
-0.999986,-0.000011,-0.005207,
-0.999986,-0.000005,-0.005207,
-0.999986,0.000000,-0.005207,
-0.999986,-0.000003,-0.005207,
0.999997,0.000000,0.002462,
-0.999986,-0.000011,-0.005208,
0.000566,0.000000,-1.000000,
-0.999986,0.000000,-0.005206,
-0.010803,0.000000,0.999942,
0.000000,0.000000,-1.000000,
0.000000,0.000000,1.000000,
0.000000,0.000000,-1.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,-1.000000,-0.000000,
0.000000,1.000000,-0.000038,
-1.000000,0.000000,-0.000000,
0.000000,0.000000,1.000000,
1.000000,0.000000,-0.000000,
0.000000,-1.000000,-0.000000,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
1.000000,0.000000,0.000000,
0.939693,0.000000,-0.342020,
0.939693,-0.000000,-0.342020,
1.000000,-0.000000,0.000000,
0.766044,0.000000,-0.642788,
0.500000,0.000000,-0.866026,
0.500000,0.000000,-0.866025,
0.173648,0.000000,-0.984808,
-0.173648,0.000000,-0.984808,
-0.500000,0.000000,-0.866025,
-0.766044,0.000000,-0.642788,
-0.939693,0.000000,-0.342020,
-1.000000,0.000000,-0.000000,
-0.939693,0.000000,0.342020,
-0.766045,0.000000,0.642787,
-0.500000,0.000000,0.866025,
-0.173648,0.000000,0.984808,
0.173648,0.000000,0.984808,
0.499999,0.000000,0.866026,
0.766044,0.000000,0.642788,
0.939692,0.000000,0.342021,
-0.000000,0.000000,1.000000,
0.000000,-1.000000,-0.000000,
0.000000,0.000000,-1.000000,
0.000000,-1.000000,-0.000000,
0.000000,1.000000,-0.000000,
];
const indicesconj_normal = [
{
nombre: "Piso1",
tipoluz: "pointlight",
triangulos: [
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
1,1,1,
2,2,2,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
3,3,3,
1,1,1,
0,0,0,
0,0,0,
0,0,0,
4,4,4,
5,5,5,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
0,0,0,
],},{nombre: "Piso0", triangulos: [6,6,6,
6,6,6,
7,7,7,
8,8,8,
8,8,8,
7,7,7,
9,9,9,
9,9,9,
9,9,9,
9,9,9,
9,9,9,
10,10,10,
11,11,11,
12,12,12,
13,13,13,
14,14,14,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
6,6,6,
6,6,6,
8,8,8,
8,8,8,
9,9,9,
9,9,9,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
15,15,15,
16,16,16,
16,16,16,
17,17,17,
18,18,18,
19,19,19,
20,20,20,
21,21,21,
22,22,22,
23,23,23,
23,23,23,
24,24,24,
25,25,25,
26,26,26,
27,27,27,
],},{nombre: "Piso2", triangulos: [28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
28,28,28,
],},{nombre: "ColumnaPlaza002", triangulos: [29,29,29,
29,29,29,
30,30,30,
30,30,30,
31,31,31,
31,31,31,
32,32,32,
32,32,32,
],},{nombre: "ColumnaPlaza003", triangulos: [33,33,33,
33,33,33,
34,34,34,
34,34,34,
35,35,35,
35,35,35,
36,36,36,
36,36,36,
],},{nombre: "ColumnaPlaza004", triangulos: [37,37,37,
37,37,37,
38,38,38,
38,38,38,
39,39,39,
39,39,39,
40,40,40,
40,40,40,
],},{nombre: "ColumnaPlaza005", triangulos: [41,41,41,
41,41,41,
42,42,42,
42,42,42,
43,43,43,
43,43,43,
44,44,44,
44,44,44,
],},{nombre: "ColumnaPlaza006", triangulos: [45,45,45,
45,45,45,
46,46,46,
46,46,46,
47,47,47,
47,47,47,
48,48,48,
48,48,48,
],},{nombre: "ColumnaEntrada007", triangulos: [49,49,49,
49,49,49,
50,50,50,
50,50,50,
51,51,51,
51,51,51,
52,52,52,
52,52,52,
],},{nombre: "ColumnaEntrada008", triangulos: [53,53,53,
53,53,53,
54,54,54,
54,54,54,
55,55,55,
55,55,55,
56,56,56,
56,56,56,
],},{nombre: "ColumnaEntrada009", triangulos: [57,57,57,
57,57,57,
58,58,58,
58,58,58,
59,59,59,
59,59,59,
60,60,60,
60,60,60,
],},{nombre: "ColumnaEntrada010", triangulos: [61,61,61,
61,61,61,
62,62,62,
62,62,62,
63,63,63,
63,63,63,
64,64,64,
64,64,64,
],},{nombre: "ColumnaRampa021", triangulos: [65,65,65,
65,65,65,
66,66,66,
66,66,66,
67,67,67,
67,67,67,
68,68,68,
68,68,68,
],},{nombre: "ColumnaPlazaEsq022", triangulos: [69,69,69,
69,69,69,
70,70,70,
70,70,70,
71,71,71,
71,71,71,
72,72,72,
72,72,72,
],},{nombre: "ColumnaPlazaEsq023", triangulos: [73,73,73,
73,73,73,
74,74,74,
74,74,74,
75,75,75,
75,75,75,
76,76,76,
76,76,76,
],},{nombre: "ColumnaPlaza024", triangulos: [77,77,77,
77,77,77,
78,78,78,
78,78,78,
79,79,79,
79,79,79,
80,80,80,
80,80,80,
],},{nombre: "ColumnaPlaza025", triangulos: [81,81,81,
81,81,81,
82,82,82,
82,82,82,
83,83,83,
83,83,83,
84,84,84,
84,84,84,
],},{nombre: "ColumnaPlaza026", triangulos: [85,85,85,
85,85,85,
86,86,86,
86,86,86,
87,87,87,
87,87,87,
88,88,88,
88,88,88,
],},{nombre: "ColumnaPlazaPeq027", triangulos: [89,89,89,
89,89,89,
90,90,90,
90,90,90,
91,91,91,
91,91,91,
92,92,92,
92,92,92,
],},{nombre: "RampaCC030", triangulos: [93,93,93,
94,94,94,
95,95,95,
96,96,96,
97,97,97,
98,98,98,
99,99,99,
99,99,99,
100,100,100,
100,100,100,
101,101,101,
102,102,102,
103,103,103,
104,104,104,
104,104,104,
105,105,105,
106,106,106,
107,107,107,
108,108,108,
109,109,109,
110,110,110,
111,111,111,
112,112,112,
113,113,113,
114,114,114,
115,115,115,
116,116,116,
117,117,117,
118,118,118,
119,119,119,
120,120,120,
121,121,121,
122,122,122,
123,123,123,
124,124,124,
125,126,127,
127,128,125,
126,129,129,
129,127,126,
130,131,132,
132,130,130,
131,133,134,
134,132,131,
135,135,135,
135,135,135,
],},{nombre: "RampaCB031", triangulos: [136,136,136,
137,137,137,
138,138,138,
139,139,139,
140,140,140,
141,141,141,
142,142,142,
143,143,143,
144,144,144,
145,145,145,
146,146,146,
147,147,147,
148,148,148,
149,149,149,
150,150,150,
151,151,151,
152,152,152,
152,152,152,
153,153,153,
154,154,154,
155,155,155,
156,156,156,
],},{nombre: "EscaleraCC032", triangulos: [157,157,157,
158,158,158,
159,159,159,
160,160,160,
161,161,161,
162,162,162,
163,163,163,
164,164,164,
165,165,165,
166,166,166,
167,167,167,
168,168,168,
169,169,169,
170,170,170,
171,171,171,
172,172,172,
173,173,173,
174,174,174,
175,175,175,
176,176,176,
177,177,177,
175,175,175,
],},{nombre: "EscaleraEntrada033", triangulos: [178,178,178,
179,179,179,
180,180,180,
181,181,181,
182,182,182,
183,183,183,
184,184,184,
185,185,185,
186,186,186,
187,187,187,
188,188,188,
189,189,189,
190,190,190,
191,191,191,
192,192,192,
193,193,193,
194,194,194,
194,194,194,
195,195,195,
196,196,196,
197,197,197,
198,198,198,
199,199,199,
200,200,200,
201,201,201,
202,202,202,
203,203,203,
204,204,204,
205,205,205,
206,206,206,
207,207,207,
208,208,208,
209,209,209,
210,210,210,
211,211,211,
212,212,212,
213,213,213,
214,214,214,
215,215,215,
216,216,216,
217,217,217,
218,218,218,
219,219,219,
220,220,220,
221,221,221,
221,221,221,
222,222,222,
223,223,223,
224,224,224,
225,225,225,
226,226,226,
227,227,227,
228,228,228,
229,229,229,
230,230,230,
],},{
nombre: "SalaCC034",
tipoluz: "pointlight",
triangulos: [231,231,231,
231,231,231,
232,232,232,
232,232,232,
233,233,233,
233,233,233,
234,234,234,
234,234,234,
235,235,235,
235,235,235,
236,236,236,
236,236,236,
237,237,237,
237,237,237,
238,238,238,
238,238,238,
239,239,239,
239,239,239,
240,240,240,
240,240,240,
241,241,241,
241,241,241,
242,242,242,
242,242,242,
243,243,243,
243,243,243,
244,244,244,
244,244,244,
245,245,245,
245,245,245,
246,246,246,
246,246,246,
247,247,247,
247,247,247,
248,248,248,
248,248,248,
249,249,249,
249,249,249,
250,250,250,
250,250,250,
251,251,251,
251,251,251,
252,252,252,
252,252,252,
253,253,253,
253,253,253,
254,254,254,
254,254,254,
255,255,255,
255,255,255,
256,256,256,
256,256,256,
257,257,257,
257,257,257,
258,258,258,
258,258,258,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
259,259,259,
],},{nombre: "TechoEspejoAgua035", triangulos: [260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
260,260,260,
261,261,261,
261,261,261,
262,262,262,
262,262,262,
263,263,263,
263,263,263,
264,264,264,
264,264,264,
265,265,265,
265,265,265,
266,266,266,
266,266,266,
267,267,267,
267,267,267,
268,268,268,
268,268,268,
269,269,269,
269,269,269,
270,270,270,
270,270,270,
271,271,271,
271,271,271,
272,272,272,
272,272,272,
273,273,273,
273,273,273,
274,274,274,
274,274,274,
],},{nombre: "ColumnaEspejoAgua036", triangulos: [275,275,275,
275,275,275,
276,276,276,
276,276,276,
277,277,277,
277,277,277,
278,278,278,
278,278,278,
],},{nombre: "ColumnaEspejoAgua037", triangulos: [279,279,279,
279,279,279,
280,280,280,
280,280,280,
281,281,281,
281,281,281,
282,282,282,
282,282,282,
],},{nombre: "ColumnaEspejoAgua038", triangulos: [283,283,283,
283,283,283,
284,284,284,
284,284,284,
285,285,285,
285,285,285,
286,286,286,
286,286,286,
],},{nombre: "ColumnaEspejoAgua039", triangulos: [287,287,287,
287,287,287,
288,288,288,
288,288,288,
289,289,289,
289,289,289,
290,290,290,
290,290,290,
],},{nombre: "ColumnaEspejoAgua040", triangulos: [291,291,291,
291,291,291,
292,292,292,
292,292,292,
293,293,293,
293,293,293,
294,294,294,
294,294,294,
],},{nombre: "ColumnaEspejoAgua041", triangulos: [295,295,295,
295,295,295,
296,296,296,
296,296,296,
297,297,297,
297,297,297,
298,298,298,
298,298,298,
],},{nombre: "ColumnaEspejoAgua042", triangulos: [299,299,299,
299,299,299,
300,300,300,
300,300,300,
301,301,301,
301,301,301,
302,302,302,
302,302,302,
],},{nombre: "ColumnaEspejoAgua043", triangulos: [303,303,303,
303,303,303,
304,304,304,
304,304,304,
305,305,305,
305,305,305,
306,306,306,
306,306,306,
],},{nombre: "ColumnaPuerta044", triangulos: [307,307,307,
307,307,307,
308,308,308,
308,308,308,
309,309,309,
310,310,310,
311,311,311,
311,311,311,
],},{nombre: "ColumnaPuerta045", triangulos: [312,312,312,
312,312,312,
313,313,313,
313,313,313,
314,314,314,
315,315,315,
316,316,316,
316,316,316,
],},{nombre: "ColumnaPuerta046", triangulos: [317,317,317,
317,317,317,
318,318,318,
318,318,318,
319,319,319,
320,320,320,
321,321,321,
321,321,321,
],},{nombre: "ColumnaPuerta047", triangulos: [322,322,322,
322,322,322,
323,323,323,
323,323,323,
324,324,324,
325,325,325,
326,326,326,
326,326,326,
],},{nombre: "TechoPasajeCD048", triangulos: [327,327,327,
327,327,327,
328,328,328,
327,327,327,
327,327,327,
329,329,329,
330,330,330,
330,330,330,
331,331,331,
331,331,331,
332,332,332,
332,332,332,
333,333,333,
333,333,333,
334,334,334,
334,334,334,
335,335,335,
336,336,336,
],},{nombre: "ColumnaPlazaPeq049", triangulos: [337,337,337,
337,337,337,
338,338,338,
338,338,338,
339,339,339,
339,339,339,
340,340,340,
340,340,340,
],},{nombre: "ColumnaPlazaPeq050", triangulos: [341,341,341,
341,341,341,
342,342,342,
342,342,342,
343,343,343,
343,343,343,
344,344,344,
344,344,344,
],},{
nombre: "AuditorioCC051",
tipoluz: "pointlight",
triangulos: [345,345,345,
345,345,345,
346,346,346,
346,346,346,
347,347,347,
347,347,347,
348,348,348,
348,348,348,
349,349,349,
349,349,349,
350,350,350,
350,350,350,
351,351,351,
351,351,351,
352,352,352,
352,352,352,
353,353,353,
353,353,353,
354,354,354,
354,354,354,
355,355,355,
355,355,355,
356,356,356,
356,356,356,
357,357,357,
357,357,357,
358,358,358,
358,358,358,
359,359,359,
359,359,359,
360,360,360,
360,360,360,
361,361,361,
361,361,361,
362,362,362,
362,362,362,
363,363,363,
363,363,363,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
364,364,364,
],},{nombre: "AuditorioCD052", triangulos: [365,365,365,
366,366,366,
367,367,367,
367,367,367,
368,368,368,
369,369,369,
370,370,370,
370,370,370,
371,371,371,
371,371,371,
372,372,372,
373,373,373,
374,374,374,
374,374,374,
375,375,375,
375,375,375,
376,376,376,
376,376,376,
377,377,377,
377,377,377,
378,378,378,
378,378,378,
379,379,379,
379,379,379,
380,380,380,
380,380,380,
381,381,381,
381,381,381,
382,383,382,
382,382,382,
384,384,384,
384,384,384,
385,385,385,
386,386,386,
387,387,387,
388,388,388,
389,389,389,
390,390,390,
390,390,390,
391,391,391,
392,392,392,
393,393,393,
394,394,394,
],},{nombre: "TechoPasajeAuditorios053", triangulos: [395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
395,395,395,
396,396,396,
396,396,396,
397,397,397,
397,397,397,
],},{nombre: "EscaleraEntrada054", triangulos: [398,398,398,
399,399,399,
400,400,400,
401,401,401,
402,402,402,
403,403,403,
404,404,404,
405,405,405,
406,406,406,
407,407,407,
408,408,408,
409,409,409,
410,410,410,
411,411,411,
412,413,414,
414,415,412,
412,416,414,
414,415,412,
417,418,419,
419,420,417,
421,422,423,
423,424,421,
425,425,425,
426,426,426,
426,426,426,
],},{nombre: "ParedPuertaEntrada055", triangulos: [427,427,427,
427,427,427,
427,427,427,
427,427,427,
427,427,427,
427,427,427,
428,428,428,
428,428,428,
],},{nombre: "ParedPuertaEntrada056", triangulos: [429,429,429,
429,429,429,
430,430,430,
430,430,430,
431,431,431,
431,431,431,
],},{
nombre: "ParedRampaCB057",
tipoluz: "pointlight",
triangulos: [432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
433,433,433,
433,433,433,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
432,432,432,
434,434,434,
434,434,434,
435,435,435,
435,435,435,
],},{nombre: "ParedSalonesCurvos058", triangulos: [436,436,436,
436,436,436,
437,437,437,
437,437,437,
438,438,438,
438,438,438,
439,439,439,
439,439,439,
440,440,440,
440,440,440,
436,436,436,
436,436,436,
441,441,441,
441,441,441,
442,442,442,
442,442,442,
443,443,443,
443,443,443,
444,444,444,
444,444,444,
436,436,436,
436,436,436,
445,445,445,
445,445,445,
446,446,446,
446,446,446,
447,447,447,
447,447,447,
448,448,448,
448,448,448,
436,436,436,
436,436,436,
],},{nombre: "ColumnaPuertaEntrada059", triangulos: [449,449,449,
449,449,449,
450,450,450,
450,450,450,
451,451,451,
451,451,451,
452,452,452,
452,452,452,
],},{nombre: "ColumnaPuertaEntrada060", triangulos: [453,453,453,
453,453,453,
454,454,454,
454,454,454,
455,455,455,
455,455,455,
456,456,456,
456,456,456,
],},{nombre: "ColumnaPuertaEntrada061", triangulos: [457,457,457,
457,457,457,
458,458,458,
458,458,458,
459,459,459,
459,459,459,
460,460,460,
460,460,460,
],},{nombre: "IntercolsHoriCD062", triangulos: [461,461,461,
461,461,461,
462,462,462,
462,462,462,
462,462,462,
463,463,463,
463,463,463,
464,464,464,
464,464,464,
464,464,464,
],},{nombre: "ParedPuerta063", triangulos: [465,465,465,
466,466,466,
467,467,467,
468,468,468,
469,469,469,
469,469,469,
470,470,470,
471,471,471,
472,472,472,
472,472,472,
473,474,474,
474,473,473,
475,475,475,
476,476,476,
477,477,477,
478,478,478,
],},{nombre: "EspejoAgua064", triangulos: [479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
480,480,480,
479,479,479,
480,480,480,
479,479,479,
481,481,481,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
479,479,479,
482,482,482,
482,482,482,
483,483,483,
483,483,483,
484,484,484,
484,484,484,
485,485,485,
485,485,485,
486,486,486,
486,486,486,
487,487,487,
487,487,487,
488,488,488,
488,488,488,
489,489,489,
489,489,489,
490,490,490,
490,490,490,
491,491,491,
491,491,491,
492,492,492,
492,492,492,
493,493,493,
493,493,493,
494,494,494,
494,494,494,
495,495,495,
495,495,495,
],},{nombre: "SuperiorEntradaPuerta065", triangulos: [496,496,496,
496,496,496,
497,497,497,
497,497,497,
498,498,498,
498,498,498,
499,499,499,
499,499,499,
500,500,500,
500,500,500,
],},{nombre: "ParedEspejoAgua066", triangulos: [501,501,501,
501,501,501,
502,502,502,
502,502,502,
503,503,503,
503,503,503,
504,504,504,
504,504,504,
505,505,505,
505,505,505,
506,506,506,
506,506,506,
507,507,507,
507,507,507,
508,508,508,
508,508,508,
509,509,509,
509,509,509,
510,510,510,
510,510,510,
511,511,511,
511,511,511,
512,512,512,
512,512,512,
513,513,513,
513,513,513,
514,514,514,
514,514,514,
515,515,515,
515,515,515,
516,516,516,
516,516,516,
517,517,517,
517,517,517,
518,518,518,
518,518,518,
501,501,501,
501,501,501,
502,502,502,
502,502,502,
503,503,503,
503,503,503,
504,504,504,
504,504,504,
519,519,519,
519,519,519,
520,520,520,
520,520,520,
507,507,507,
507,507,507,
508,508,508,
508,508,508,
509,509,509,
509,509,509,
510,510,510,
510,510,510,
511,511,511,
511,511,511,
512,512,512,
512,512,512,
513,513,513,
513,513,513,
514,514,514,
514,514,514,
515,515,515,
515,515,515,
516,516,516,
516,516,516,
517,517,517,
517,517,517,
521,521,521,
521,521,521,
522,522,522,
522,522,522,
523,523,523,
523,523,523,
517,517,517,
517,517,517,
518,518,518,
518,518,518,
],},{nombre: "TechoSalonesCB067", triangulos: [524,524,524,
524,524,524,
],},{nombre: "TechoRampaCB068", triangulos: [525,525,525,
525,525,525,
],},{nombre: "TechoPasajeCB069", triangulos: [526,526,526,
526,526,526,
],},{nombre: "TechoPasajeCA071", triangulos: [527,527,527,
527,527,527,
528,528,528,
529,529,529,
],},{nombre: "ParedSalonesCB073", triangulos: [530,530,530,
530,530,530,
531,531,531,
531,531,531,
],},{nombre: "IntercolsHoriPlaza074", triangulos: [532,532,532,
532,532,532,
533,533,533,
533,533,533,
534,534,534,
534,534,534,
535,535,535,
535,535,535,
535,535,535,
535,535,535,
535,535,535,
535,535,535,
534,534,534,
534,534,534,
532,532,532,
532,532,532,
],},{nombre: "IntercolsHoriPlaza075", triangulos: [536,536,536,
536,536,536,
537,537,537,
537,537,537,
538,538,538,
538,538,538,
539,539,539,
539,539,539,
539,539,539,
539,539,539,
539,539,539,
539,539,539,
540,540,540,
540,540,540,
541,541,541,
541,541,541,
],},{nombre: "VigaPlaza076", triangulos: [542,542,542,
542,542,542,
543,543,543,
544,544,544,
545,545,545,
545,545,545,
546,547,548,
548,549,546,
],},{nombre: "SuperiorPlazaEntrada077", triangulos: [550,550,550,
550,550,550,
551,551,551,
551,551,551,
552,552,552,
552,552,552,
553,553,553,
553,553,553,
],},{nombre: "SuperiorPlaza078", triangulos: [554,554,554,
554,554,554,
555,555,555,
555,555,555,
556,556,556,
556,556,556,
557,557,557,
557,557,557,
],},{nombre: "BordePlazaCC079", triangulos: [558,558,558,
558,558,558,
559,559,559,
559,559,559,
560,560,560,
560,560,560,
561,561,561,
561,561,561,
],},{nombre: "ColumnaPlaza080", triangulos: [562,562,562,
562,562,562,
563,563,563,
563,563,563,
564,564,564,
564,564,564,
565,565,565,
565,565,565,
],},{nombre: "BordeCC081", triangulos: [566,566,566,
566,566,566,
567,567,567,
567,567,567,
568,568,568,
568,568,568,
569,569,569,
569,569,569,
],},{nombre: "ColumnaSalaCC082", triangulos: [570,570,570,
570,570,570,
571,571,571,
571,571,571,
572,572,572,
572,572,572,
573,573,573,
573,573,573,
],},{nombre: "ParedPisodos083", triangulos: [574,574,574,
574,574,574,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
576,576,576,
576,576,576,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
577,577,577,
577,577,577,
578,578,578,
578,578,578,
578,578,578,
578,578,578,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
578,578,578,
578,578,578,
578,578,578,
578,578,578,
579,579,579,
579,579,579,
575,575,575,
575,575,575,
579,579,579,
579,579,579,
578,578,578,
578,578,578,
578,578,578,
578,578,578,
575,575,575,
575,575,575,
580,580,580,
580,580,580,
578,578,578,
578,578,578,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
575,575,575,
581,581,581,
581,581,581,
575,575,575,
575,575,575,
582,582,582,
582,582,582,
583,583,583,
583,583,583,
584,584,584,
584,584,584,
585,585,585,
585,585,585,
586,586,586,
586,586,586,
579,579,579,
579,579,579,
587,587,587,
587,587,587,
588,588,588,
589,589,589,
590,590,590,
591,591,591,
592,592,592,
592,592,592,
593,593,593,
594,594,594,
595,595,595,
596,596,596,
],},{nombre: "ParedPisodosCC084", triangulos: [597,597,597,
597,597,597,
598,598,598,
598,598,598,
],},{nombre: "BordePisodosCB085", triangulos: [599,599,599,
599,599,599,
600,600,600,
600,600,600,
601,601,601,
601,601,601,
602,602,602,
602,602,602,
603,603,603,
603,603,603,
604,604,604,
604,604,604,
605,605,605,
605,605,605,
606,606,606,
606,606,606,
607,607,607,
607,607,607,
603,603,603,
603,603,603,
608,608,608,
608,608,608,
609,609,609,
609,609,609,
610,610,610,
610,610,610,
611,611,611,
611,611,611,
603,603,603,
603,603,603,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
612,612,612,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
613,613,613,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
614,614,614,
603,603,603,
603,603,603,
613,613,613,
613,613,613,
615,615,615,
615,615,615,
615,615,615,
615,615,615,
616,616,616,
616,616,616,
614,614,614,
614,614,614,
],},{nombre: "BordePlazaPisodosCC086", triangulos: [617,617,617,
617,617,617,
618,618,618,
619,619,619,
620,620,620,
620,620,620,
],},{nombre: "TechoPasajeCC087", triangulos: [621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
621,621,621,
622,622,622,
622,622,622,
],},{
nombre: "ParedEsquinaCC088",
tipoluz: "pointlight",
triangulos: [623,623,623,
623,623,623,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
625,625,625,
625,625,625,
624,624,624,
624,624,624,
626,626,626,
626,626,626,
625,625,625,
625,625,625,
627,627,627,
628,628,628,
629,629,629,
630,630,630,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
624,624,624,
631,631,631,
632,632,632,
633,633,633,
634,634,634,
635,635,635,
636,636,636,
625,625,625,
625,625,625,
625,625,625,
625,625,625,
625,625,625,
625,625,625,
637,637,637,
625,625,625,
625,625,625,
625,625,625,
637,637,637,
625,625,625,
638,638,638,
639,639,639,
640,640,640,
641,641,641,
642,642,642,
643,643,643,
631,631,631,
631,631,631,
625,625,625,
625,625,625,
625,625,625,
625,625,625,
],},{nombre: "BordePisodosCC089", triangulos: [644,644,644,
644,644,644,
645,645,645,
645,645,645,
646,646,646,
647,647,647,
648,648,648,
648,648,648,
645,645,645,
645,645,645,
649,649,649,
650,650,650,
651,651,651,
651,651,651,
645,645,645,
645,645,645,
652,652,652,
653,653,653,
654,654,654,
654,654,654,
645,645,645,
645,645,645,
655,655,655,
655,655,655,
],},{nombre: "ParedEntradaExtPisodosCB090", triangulos: [656,656,656,
656,656,656,
],},{nombre: "TechoEntrada091", triangulos: [657,657,657,
657,657,657,
657,657,657,
658,658,658,
657,657,657,
659,659,659,
657,657,657,
657,657,657,
660,660,660,
660,660,660,
],},{nombre: "ParedEsquinaCA092", triangulos: [661,661,661,
661,661,661,
662,662,662,
662,662,662,
661,661,661,
661,661,661,
663,663,663,
663,663,663,
664,664,664,
664,664,664,
665,665,665,
665,665,665,
666,666,666,
666,666,666,
667,667,667,
667,667,667,
667,667,667,
667,667,667,
668,668,668,
668,668,668,
667,667,667,
667,667,667,
669,669,669,
669,669,669,
662,662,662,
662,662,662,
670,670,670,
670,670,670,
],},{nombre: "TechoEsquinaCA093", triangulos: [671,671,671,
671,671,671,
672,672,672,
672,672,672,
673,673,673,
674,674,674,
675,675,675,
676,676,676,
677,677,677,
678,678,678,
],},{nombre: "ColumnaRampa094", triangulos: [679,679,679,
679,679,679,
680,680,680,
680,680,680,
681,681,681,
681,681,681,
682,682,682,
682,682,682,
],},{nombre: "ColumnaRampa095", triangulos: [683,683,683,
683,683,683,
684,684,684,
684,684,684,
685,685,685,
685,685,685,
686,686,686,
686,686,686,
],},{nombre: "ColumnaRampa096", triangulos: [687,687,687,
687,687,687,
688,688,688,
688,688,688,
689,689,689,
689,689,689,
690,690,690,
690,690,690,
],},{nombre: "ColumnaRampa097", triangulos: [691,691,691,
691,691,691,
692,692,692,
692,692,692,
693,693,693,
693,693,693,
694,694,694,
694,694,694,
],},{nombre: "ColumnaRampa098", triangulos: [695,695,695,
695,695,695,
696,696,696,
696,696,696,
697,697,697,
697,697,697,
698,698,698,
698,698,698,
],},{nombre: "ColumnaRampa099", triangulos: [699,699,699,
699,699,699,
700,700,700,
700,700,700,
701,701,701,
701,701,701,
702,702,702,
702,702,702,
],},{nombre: "ColumnaRampa100", triangulos: [703,703,703,
703,703,703,
704,704,704,
704,704,704,
705,705,705,
705,705,705,
706,706,706,
706,706,706,
],},{nombre: "ColumnaRampa101", triangulos: [707,707,707,
707,707,707,
708,708,708,
708,708,708,
709,709,709,
709,709,709,
710,710,710,
710,710,710,
],},{nombre: "ColumnaRampa102", triangulos: [711,711,711,
711,711,711,
712,712,712,
712,712,712,
713,713,713,
713,713,713,
714,714,714,
714,714,714,
],},{nombre: "ColumnaRampa103", triangulos: [715,715,715,
715,715,715,
716,716,716,
716,716,716,
717,717,717,
717,717,717,
718,718,718,
718,718,718,
],},{nombre: "BordePisodosPuertaCB104", triangulos: [719,719,719,
719,719,719,
720,720,720,
720,720,720,
721,721,721,
721,721,721,
722,722,722,
722,722,722,
],},{nombre: "ParedPuertaCD106", triangulos: [723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
723,723,723,
724,724,724,
724,724,724,
],},{nombre: "ParedPasajeCD107", triangulos: [725,725,725,
725,725,725,
],},{nombre: "SillaPlaza108", triangulos: [726,726,726,
727,727,727,
728,728,728,
728,728,728,
729,729,729,
729,729,729,
730,730,730,
731,731,731,
732,732,732,
732,732,732,
733,733,733,
733,733,733,
728,728,728,
728,728,728,
728,728,728,
728,728,728,
734,734,734,
734,734,734,
735,735,735,
735,735,735,
736,736,736,
737,737,737,
729,729,729,
729,729,729,
731,731,731,
731,731,731,
733,733,733,
733,733,733,
738,738,738,
738,738,738,
739,739,739,
739,739,739,
740,740,740,
740,740,740,
741,741,741,
741,741,741,
742,742,742,
742,742,742,
743,743,743,
744,744,744,
],},{nombre: "SillaPlaza109", triangulos: [745,745,745,
746,746,746,
747,747,747,
747,747,747,
748,748,748,
748,748,748,
749,749,749,
750,750,750,
751,751,751,
751,751,751,
752,752,752,
752,752,752,
747,747,747,
747,747,747,
747,747,747,
747,747,747,
753,753,753,
753,753,753,
754,754,754,
754,754,754,
755,755,755,
756,756,756,
748,748,748,
748,748,748,
750,750,750,
750,750,750,
752,752,752,
752,752,752,
757,757,757,
757,757,757,
758,758,758,
758,758,758,
759,759,759,
759,759,759,
760,760,760,
760,760,760,
761,761,761,
761,761,761,
762,762,762,
763,763,763,
],},{nombre: "SillaPlaza110", triangulos: [764,764,764,
765,765,765,
766,766,766,
766,766,766,
767,767,767,
767,767,767,
768,768,768,
769,769,769,
770,770,770,
770,770,770,
771,771,771,
771,771,771,
766,766,766,
766,766,766,
766,766,766,
766,766,766,
772,772,772,
772,772,772,
773,773,773,
773,773,773,
774,774,774,
775,775,775,
767,767,767,
767,767,767,
769,769,769,
769,769,769,
771,771,771,
771,771,771,
776,776,776,
776,776,776,
777,777,777,
777,777,777,
778,778,778,
778,778,778,
779,779,779,
779,779,779,
780,780,780,
780,780,780,
781,781,781,
782,782,782,
],},{nombre: "SillaPlaza111", triangulos: [783,783,783,
784,784,784,
785,785,785,
785,785,785,
786,786,786,
786,786,786,
787,787,787,
788,788,788,
789,789,789,
789,789,789,
790,790,790,
790,790,790,
785,785,785,
785,785,785,
785,785,785,
785,785,785,
791,791,791,
791,791,791,
792,792,792,
792,792,792,
793,793,793,
794,794,794,
786,786,786,
786,786,786,
788,788,788,
788,788,788,
790,790,790,
790,790,790,
795,795,795,
795,795,795,
796,796,796,
796,796,796,
797,797,797,
797,797,797,
798,798,798,
798,798,798,
799,799,799,
799,799,799,
800,800,800,
801,801,801,
],},{nombre: "SillaPlaza112", triangulos: [802,802,802,
803,803,803,
804,804,804,
804,804,804,
805,805,805,
805,805,805,
806,806,806,
807,807,807,
808,808,808,
808,808,808,
809,809,809,
809,809,809,
804,804,804,
804,804,804,
804,804,804,
804,804,804,
810,810,810,
810,810,810,
811,811,811,
811,811,811,
812,812,812,
813,813,813,
805,805,805,
805,805,805,
807,807,807,
807,807,807,
809,809,809,
809,809,809,
814,814,814,
814,814,814,
815,815,815,
815,815,815,
816,816,816,
816,816,816,
817,817,817,
817,817,817,
818,818,818,
818,818,818,
819,819,819,
820,820,820,
],},{nombre: "SillaPlaza113", triangulos: [821,821,821,
822,822,822,
823,823,823,
823,823,823,
824,824,824,
824,824,824,
825,825,825,
826,826,826,
827,827,827,
827,827,827,
828,828,828,
828,828,828,
823,823,823,
823,823,823,
823,823,823,
823,823,823,
829,829,829,
829,829,829,
830,830,830,
830,830,830,
831,831,831,
832,832,832,
824,824,824,
824,824,824,
826,826,826,
826,826,826,
828,828,828,
828,828,828,
833,833,833,
833,833,833,
834,834,834,
834,834,834,
835,835,835,
835,835,835,
836,836,836,
836,836,836,
837,837,837,
837,837,837,
838,838,838,
839,839,839,
],},{nombre: "SillaPlaza114", triangulos: [840,840,840,
841,841,841,
842,842,842,
842,842,842,
843,843,843,
843,843,843,
844,844,844,
845,845,845,
846,846,846,
846,846,846,
847,847,847,
847,847,847,
842,842,842,
842,842,842,
842,842,842,
842,842,842,
848,848,848,
848,848,848,
849,849,849,
849,849,849,
850,850,850,
851,851,851,
843,843,843,
843,843,843,
845,845,845,
845,845,845,
847,847,847,
847,847,847,
852,852,852,
852,852,852,
853,853,853,
853,853,853,
854,854,854,
854,854,854,
855,855,855,
855,855,855,
856,856,856,
856,856,856,
857,857,857,
858,858,858,
],},{nombre: "SillaPlaza115", triangulos: [859,859,859,
860,860,860,
861,861,861,
861,861,861,
862,862,862,
862,862,862,
863,863,863,
864,864,864,
865,865,865,
865,865,865,
866,866,866,
866,866,866,
861,861,861,
861,861,861,
861,861,861,
861,861,861,
867,867,867,
867,867,867,
868,868,868,
868,868,868,
869,869,869,
870,870,870,
862,862,862,
862,862,862,
864,864,864,
864,864,864,
866,866,866,
866,866,866,
871,871,871,
871,871,871,
872,872,872,
872,872,872,
873,873,873,
873,873,873,
874,874,874,
874,874,874,
875,875,875,
875,875,875,
876,876,876,
877,877,877,
],},{nombre: "SillaPlaza116", triangulos: [878,878,878,
879,879,879,
880,880,880,
880,880,880,
881,881,881,
881,881,881,
882,882,882,
883,883,883,
884,884,884,
884,884,884,
885,885,885,
885,885,885,
880,880,880,
880,880,880,
880,880,880,
880,880,880,
886,886,886,
886,886,886,
887,887,887,
887,887,887,
888,888,888,
889,889,889,
881,881,881,
881,881,881,
883,883,883,
883,883,883,
885,885,885,
885,885,885,
890,890,890,
890,890,890,
891,891,891,
891,891,891,
892,892,892,
892,892,892,
893,893,893,
893,893,893,
894,894,894,
894,894,894,
895,895,895,
896,896,896,
],},{nombre: "SillaPlaza117", triangulos: [897,897,897,
898,898,898,
899,899,899,
899,899,899,
900,900,900,
900,900,900,
901,901,901,
902,902,902,
903,903,903,
903,903,903,
904,904,904,
904,904,904,
899,899,899,
899,899,899,
899,899,899,
899,899,899,
905,905,905,
905,905,905,
906,906,906,
906,906,906,
907,907,907,
908,908,908,
900,900,900,
900,900,900,
902,902,902,
902,902,902,
904,904,904,
904,904,904,
909,909,909,
909,909,909,
910,910,910,
910,910,910,
911,911,911,
911,911,911,
912,912,912,
912,912,912,
913,913,913,
913,913,913,
914,914,914,
915,915,915,
],},{nombre: "BajoRampaCB118", triangulos: [916,916,916,
916,916,916,
917,917,917,
917,917,917,
918,918,918,
918,918,918,
916,916,916,
916,916,916,
917,917,917,
917,917,917,
919,919,919,
919,919,919,
916,916,916,
916,916,916,
918,918,918,
918,918,918,
917,917,917,
917,917,917,
],},{nombre: "BordePasajeCD119", triangulos: [920,920,920,
920,920,920,
921,921,921,
921,921,921,
922,922,922,
922,922,922,
923,923,923,
923,923,923,
924,924,924,
924,924,924,
925,925,925,
925,925,925,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
927,927,927,
927,927,927,
928,928,928,
928,928,928,
929,929,929,
930,930,930,
931,931,931,
932,932,932,
933,933,933,
934,934,934,
935,935,935,
936,936,936,
937,937,937,
937,937,937,
938,938,938,
937,937,937,
937,937,937,
939,939,939,
940,940,940,
940,940,940,
926,926,926,
926,926,926,
941,941,941,
941,941,941,
942,942,942,
942,942,942,
943,943,943,
943,943,943,
943,943,943,
943,943,943,
944,944,944,
944,944,944,
922,922,922,
922,922,922,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
926,926,926,
945,945,945,
945,945,945,
945,945,945,
945,945,945,
946,946,946,
947,947,947,
948,948,948,
949,949,949,
937,937,937,
937,937,937,
937,937,937,
937,937,937,
921,921,921,
921,921,921,
950,950,950,
950,950,950,
926,926,926,
926,926,926,
927,927,927,
927,927,927,
951,951,951,
946,946,946,
937,937,937,
937,937,937,
922,922,922,
922,922,922,
952,952,952,
952,952,952,
953,953,953,
953,953,953,
954,954,954,
954,954,954,
950,950,950,
950,950,950,
955,955,955,
955,955,955,
948,948,948,
948,948,948,
956,956,956,
956,956,956,
],},{nombre: "ColumnaPuertaEntrada151", triangulos: [957,957,957,
957,957,957,
958,958,958,
958,958,958,
959,959,959,
959,959,959,
960,960,960,
960,960,960,
],},{nombre: "BasePuertaEntrada152", triangulos: [961,961,961,
961,961,961,
962,962,962,
962,962,962,
963,963,963,
963,963,963,
964,964,964,
964,964,964,
965,965,965,
965,965,965,
],},{nombre: "BordeEntradaCB153", triangulos: [966,966,966,
966,966,966,
967,967,967,
967,967,967,
968,968,968,
968,968,968,
969,969,969,
969,969,969,
],},{nombre: "ColumnaCC154", triangulos: [970,971,972,
972,973,970,
971,974,974,
974,972,971,
974,975,976,
976,974,974,
975,977,977,
977,976,975,
977,978,978,
978,977,977,
978,979,979,
979,978,978,
979,980,980,
980,979,979,
980,981,981,
981,980,980,
981,982,982,
982,981,981,
982,983,983,
983,982,982,
983,984,984,
984,983,983,
984,985,985,
985,984,984,
985,986,986,
986,985,985,
986,987,987,
987,986,986,
987,988,988,
988,987,987,
988,989,989,
989,988,988,
989,990,990,
990,989,989,
990,970,973,
973,990,990,
],},{nombre: "ColumnaCC155", triangulos: [991,992,993,
993,994,991,
992,995,995,
995,993,992,
995,996,997,
997,995,995,
996,998,998,
998,997,996,
998,999,999,
999,998,998,
999,1000,1000,
1000,999,999,
1000,1001,1001,
1001,1000,1000,
1001,1002,1002,
1002,1001,1001,
1002,1003,1003,
1003,1002,1002,
1003,1004,1004,
1004,1003,1003,
1004,1005,1005,
1005,1004,1004,
1005,1006,1006,
1006,1005,1005,
1006,1007,1007,
1007,1006,1006,
1007,1008,1008,
1008,1007,1007,
1008,1009,1009,
1009,1008,1008,
1009,1010,1010,
1010,1009,1009,
1010,1011,1011,
1011,1010,1010,
1011,991,994,
994,1011,1011,
],},{nombre: "ColumnaCC156", triangulos: [1012,1013,1014,
1014,1015,1012,
1013,1016,1016,
1016,1014,1013,
1016,1017,1018,
1018,1016,1016,
1017,1019,1019,
1019,1018,1017,
1019,1020,1020,
1020,1019,1019,
1020,1021,1021,
1021,1020,1020,
1021,1022,1022,
1022,1021,1021,
1022,1023,1023,
1023,1022,1022,
1023,1024,1024,
1024,1023,1023,
1024,1025,1025,
1025,1024,1024,
1025,1026,1026,
1026,1025,1025,
1026,1027,1027,
1027,1026,1026,
1027,1028,1028,
1028,1027,1027,
1028,1029,1029,
1029,1028,1028,
1029,1030,1030,
1030,1029,1029,
1030,1031,1031,
1031,1030,1030,
1031,1032,1032,
1032,1031,1031,
1032,1012,1015,
1015,1032,1032,
],},{nombre: "ColumnaCC157", triangulos: [1033,1034,1035,
1035,1036,1033,
1034,1037,1037,
1037,1035,1034,
1037,1038,1039,
1039,1037,1037,
1038,1040,1040,
1040,1039,1038,
1040,1041,1041,
1041,1040,1040,
1041,1042,1042,
1042,1041,1041,
1042,1043,1043,
1043,1042,1042,
1043,1044,1044,
1044,1043,1043,
1044,1045,1045,
1045,1044,1044,
1045,1046,1046,
1046,1045,1045,
1046,1047,1047,
1047,1046,1046,
1047,1048,1048,
1048,1047,1047,
1048,1049,1049,
1049,1048,1048,
1049,1050,1050,
1050,1049,1049,
1050,1051,1051,
1051,1050,1050,
1051,1052,1052,
1052,1051,1051,
1052,1053,1053,
1053,1052,1052,
1053,1033,1036,
1036,1053,1053,
],},{nombre: "ColumnaCC158", triangulos: [1054,1055,1056,
1056,1057,1054,
1055,1058,1058,
1058,1056,1055,
1058,1059,1060,
1060,1058,1058,
1059,1061,1061,
1061,1060,1059,
1061,1062,1062,
1062,1061,1061,
1062,1063,1063,
1063,1062,1062,
1063,1064,1064,
1064,1063,1063,
1064,1065,1065,
1065,1064,1064,
1065,1066,1066,
1066,1065,1065,
1066,1067,1067,
1067,1066,1066,
1067,1068,1068,
1068,1067,1067,
1068,1069,1069,
1069,1068,1068,
1069,1070,1070,
1070,1069,1069,
1070,1071,1071,
1071,1070,1070,
1071,1072,1072,
1072,1071,1071,
1072,1073,1073,
1073,1072,1072,
1073,1074,1074,
1074,1073,1073,
1074,1054,1057,
1057,1074,1074,
],},{nombre: "ColumnaCC159", triangulos: [1075,1076,1077,
1077,1078,1075,
1076,1079,1079,
1079,1077,1076,
1079,1080,1081,
1081,1079,1079,
1080,1082,1082,
1082,1081,1080,
1082,1083,1083,
1083,1082,1082,
1083,1084,1084,
1084,1083,1083,
1084,1085,1085,
1085,1084,1084,
1085,1086,1086,
1086,1085,1085,
1086,1087,1087,
1087,1086,1086,
1087,1088,1088,
1088,1087,1087,
1088,1089,1089,
1089,1088,1088,
1089,1090,1090,
1090,1089,1089,
1090,1091,1091,
1091,1090,1090,
1091,1092,1092,
1092,1091,1091,
1092,1093,1093,
1093,1092,1092,
1093,1094,1094,
1094,1093,1093,
1094,1095,1095,
1095,1094,1094,
1095,1075,1078,
1078,1095,1095,
],},{nombre: "BordePlazaPisodosCC160", triangulos: [1096,1096,1096,
1096,1096,1096,
1097,1097,1097,
1097,1097,1097,
1098,1098,1098,
1098,1098,1098,
],},
{
nombre: "Piso2inverso161",
tipoluz: "pointlight",
triangulos: [1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
1099,1099,1099,
],},{
nombre: "Piso1inverso162",
triangulos: [1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
1100,1100,1100,
],},
];
// Now create an array of positions for the cube.
const positions_textura = [
0.905379,0.190262,0.000000,
0.905427,0.209832,0.000000,
0.874153,0.209820,0.000000,
0.874105,0.190168,0.000000,
0.905256,0.115327,0.000000,
0.905256,0.140438,0.000000,
0.873971,0.135702,0.000000,
0.873971,0.110591,0.000000,
0.533909,0.089391,0.000000,
0.533909,0.064280,0.000000,
0.493245,0.123250,0.000000,
0.493245,0.057299,0.000000,
0.476426,0.123250,0.000000,
0.476426,0.055182,0.000000,
0.457107,0.113331,0.000000,
0.457107,0.052484,0.000000,
0.430982,0.082814,0.000000,
0.429327,0.080779,0.000000,
0.476426,0.239917,0.000000,
0.457107,0.240122,0.000000,
0.476426,0.280845,0.000000,
0.457107,0.281050,0.000000,
0.490634,0.239917,0.000000,
0.490634,0.280845,0.000000,
0.434956,0.281050,0.000000,
0.434956,0.240122,0.000000,
0.476426,0.316645,0.000000,
0.457107,0.316850,0.000000,
0.490634,0.316645,0.000000,
0.434956,0.316850,0.000000,
0.402847,0.316850,0.000000,
0.402847,0.281050,0.000000,
0.476426,0.344493,0.000000,
0.457107,0.344698,0.000000,
0.490634,0.344493,0.000000,
0.434956,0.344698,0.000000,
0.402847,0.344698,0.000000,
0.402847,0.240122,0.000000,
0.371267,0.281050,0.000000,
0.371267,0.240122,0.000000,
0.371267,0.316850,0.000000,
0.371267,0.344698,0.000000,
0.282705,0.281050,0.000000,
0.282705,0.240122,0.000000,
0.282705,0.316850,0.000000,
0.282705,0.344698,0.000000,
0.045782,0.240122,0.000000,
0.045782,0.281050,0.000000,
0.021920,0.281050,0.000000,
0.021920,0.240122,0.000000,
0.045782,0.316850,0.000000,
0.021920,0.316850,0.000000,
0.065614,0.281050,0.000000,
0.065614,0.240122,0.000000,
0.133775,0.240122,0.000000,
0.133775,0.281050,0.000000,
0.065614,0.316850,0.000000,
0.133775,0.316850,0.000000,
0.065614,0.344698,0.000000,
0.133775,0.344698,0.000000,
0.065614,0.145253,0.000000,
0.133775,0.145253,0.000000,
0.133775,0.192688,0.000000,
0.065614,0.192688,0.000000,
0.021920,0.145253,0.000000,
0.045782,0.145253,0.000000,
0.045782,0.192688,0.000000,
0.021920,0.192688,0.000000,
0.045782,0.344698,0.000000,
0.061625,0.097819,0.000000,
0.045782,0.097819,0.000000,
0.045782,0.069811,0.000000,
0.061625,0.069811,0.000000,
0.021920,0.097819,0.000000,
0.021920,0.069811,0.000000,
0.476426,0.549507,0.000000,
0.457107,0.549712,0.000000,
0.490634,0.549507,0.000000,
0.434956,0.549712,0.000000,
0.402847,0.549712,0.000000,
0.371267,0.549712,0.000000,
0.194144,0.344698,0.000000,
0.194144,0.549712,0.000000,
0.133775,0.549712,0.000000,
0.065614,0.549712,0.000000,
0.045782,0.549712,0.000000,
0.194058,0.240073,0.000000,
0.194144,0.281050,0.000000,
0.194144,0.316850,0.000000,
0.282705,0.549712,0.000000,
0.209239,0.181735,0.000000,
0.233360,0.181735,0.000000,
0.188343,0.137229,0.000000,
0.212363,0.137229,0.000000,
0.168121,0.097286,0.000000,
0.198312,0.097286,0.000000,
0.185135,0.181567,0.000000,
0.164026,0.137213,0.000000,
0.155440,0.097273,0.000000,
0.159321,0.060821,0.000000,
0.189512,0.060821,0.000000,
0.159321,0.021920,0.000000,
0.189512,0.021920,0.000000,
0.476426,0.619125,0.000000,
0.457107,0.619330,0.000000,
0.490634,0.619125,0.000000,
0.434956,0.619330,0.000000,
0.402847,0.619330,0.000000,
0.371267,0.619330,0.000000,
0.194144,0.619330,0.000000,
0.133775,0.619330,0.000000,
0.065614,0.619330,0.000000,
0.045782,0.619330,0.000000,
0.282705,0.619330,0.000000,
0.517203,0.619125,0.000000,
0.517203,0.674279,0.000000,
0.490634,0.674279,0.000000,
0.620094,0.619125,0.000000,
0.617311,0.674279,0.000000,
0.609618,0.717521,0.000000,
0.517203,0.717521,0.000000,
0.662702,0.674279,0.000000,
0.653158,0.619125,0.000000,
0.680295,0.619125,0.000000,
0.678152,0.680787,0.000000,
0.649267,0.549507,0.000000,
0.623399,0.549507,0.000000,
0.678349,0.549507,0.000000,
0.675160,0.528770,0.000000,
0.717339,0.528770,0.000000,
0.723717,0.549507,0.000000,
0.623399,0.525703,0.000000,
0.649267,0.528770,0.000000,
0.647801,0.500767,0.000000,
0.670788,0.500767,0.000000,
0.623401,0.497149,0.000000,
0.711450,0.500767,0.000000,
0.676599,0.462450,0.000000,
0.711450,0.462450,0.000000,
0.684553,0.417491,0.000000,
0.725491,0.417491,0.000000,
0.133775,0.097819,0.000000,
0.723717,0.619125,0.000000,
0.653946,0.462450,0.000000,
0.660848,0.417491,0.000000,
0.723724,0.674289,0.000000,
0.710157,0.720767,0.000000,
0.672074,0.699617,0.000000,
0.476426,0.674279,0.000000,
0.457107,0.674484,0.000000,
0.434956,0.674484,0.000000,
0.402847,0.674484,0.000000,
0.371267,0.674484,0.000000,
0.194144,0.674484,0.000000,
0.133775,0.674484,0.000000,
0.065614,0.674484,0.000000,
0.045782,0.674484,0.000000,
0.282705,0.674484,0.000000,
0.517203,0.549507,0.000000,
0.762367,0.590282,0.000000,
0.810977,0.615774,0.000000,
0.752868,0.500767,0.000000,
0.763602,0.528770,0.000000,
0.778289,0.549507,0.000000,
0.753151,0.462450,0.000000,
0.777442,0.417491,0.000000,
0.752046,0.384225,0.000000,
0.829741,0.384225,0.000000,
0.829525,0.390260,0.000000,
0.791364,0.360753,0.000000,
0.831714,0.349162,0.000000,
0.874505,0.352536,0.000000,
0.874270,0.384225,0.000000,
0.947691,0.396061,0.000000,
0.905802,0.362398,0.000000,
0.874219,0.392525,0.000000,
0.872312,0.619125,0.000000,
0.818903,0.573286,0.000000,
0.872595,0.573862,0.000000,
0.965232,0.417491,0.000000,
0.913869,0.417491,0.000000,
0.978080,0.462450,0.000000,
0.937877,0.462450,0.000000,
0.977590,0.500767,0.000000,
0.939855,0.500767,0.000000,
0.975375,0.528770,0.000000,
0.928839,0.528770,0.000000,
0.965899,0.549507,0.000000,
0.913869,0.549507,0.000000,
0.923808,0.598906,0.000000,
0.810977,0.673945,0.000000,
0.810977,0.702532,0.000000,
0.810977,0.762107,0.000000,
0.769217,0.758396,0.000000,
0.583685,0.760762,0.000000,
0.517203,0.760762,0.000000,
0.905728,0.332588,0.000000,
0.874456,0.332576,0.000000,
0.023725,0.837531,0.000000,
0.188761,0.837532,0.000000,
0.178299,0.978077,0.000000,
0.023725,0.978073,0.000000,
0.188761,0.792194,0.000000,
0.344771,0.792194,0.000000,
0.344771,0.837532,0.000000,
0.408746,0.792194,0.000000,
0.401284,0.837532,0.000000,
0.188761,0.655438,0.000000,
0.344771,0.655439,0.000000,
0.401284,0.655439,0.000000,
0.458863,0.655439,0.000000,
0.458863,0.792194,0.000000,
0.487193,0.685862,0.000000,
0.487193,0.792194,0.000000,
0.557411,0.697344,0.000000,
0.547298,0.792194,0.000000,
0.190537,0.603197,0.000000,
0.346547,0.603198,0.000000,
0.453680,0.604837,0.000000,
0.511260,0.604837,0.000000,
0.539589,0.635260,0.000000,
0.617576,0.646742,0.000000,
0.190263,0.544923,0.000000,
0.346241,0.548095,0.000000,
0.453318,0.551913,0.000000,
0.556446,0.553624,0.000000,
0.584151,0.584617,0.000000,
0.699822,0.600728,0.000000,
0.209153,0.492825,0.000000,
0.398490,0.500149,0.000000,
0.505498,0.505579,0.000000,
0.608588,0.508844,0.000000,
0.639536,0.536561,0.000000,
0.776594,0.545289,0.000000,
0.323848,0.978080,0.000000,
0.023725,0.792193,0.000000,
0.023725,0.655438,0.000000,
0.025502,0.603197,0.000000,
0.025260,0.541750,0.000000,
0.021920,0.476722,0.000000,
0.900907,0.548442,0.000000,
0.900907,0.584028,0.000000,
0.105706,0.449273,0.000000,
0.165675,0.423873,0.000000,
0.448266,0.450411,0.000000,
0.555287,0.455565,0.000000,
0.656907,0.460837,0.000000,
0.686403,0.489702,0.000000,
0.803458,0.499252,0.000000,
0.291381,0.439597,0.000000,
0.900907,0.503715,0.000000,
0.240442,0.374268,0.000000,
0.492182,0.399753,0.000000,
0.603740,0.409507,0.000000,
0.703117,0.417053,0.000000,
0.732612,0.445918,0.000000,
0.821218,0.450920,0.000000,
0.357035,0.390555,0.000000,
0.900907,0.459932,0.000000,
0.296128,0.326825,0.000000,
0.534486,0.353654,0.000000,
0.646044,0.363409,0.000000,
0.745421,0.370955,0.000000,
0.774917,0.399819,0.000000,
0.841987,0.406416,0.000000,
0.401056,0.342205,0.000000,
0.900907,0.408479,0.000000,
0.338432,0.280727,0.000000,
0.576751,0.310760,0.000000,
0.688310,0.320514,0.000000,
0.787686,0.328061,0.000000,
0.817182,0.356925,0.000000,
0.855698,0.362024,0.000000,
0.440414,0.295593,0.000000,
0.900907,0.365585,0.000000,
0.374743,0.242622,0.000000,
0.622094,0.262759,0.000000,
0.733581,0.277107,0.000000,
0.832216,0.288352,0.000000,
0.861712,0.317216,0.000000,
0.876277,0.320099,0.000000,
0.474245,0.246778,0.000000,
0.900907,0.325876,0.000000,
0.404799,0.199431,0.000000,
0.639306,0.210590,0.000000,
0.750793,0.224938,0.000000,
0.842355,0.234502,0.000000,
0.860952,0.251210,0.000000,
0.883208,0.263150,0.000000,
0.491582,0.189477,0.000000,
0.902048,0.273707,0.000000,
0.422012,0.147262,0.000000,
0.645359,0.053708,0.000000,
0.756846,0.068057,0.000000,
0.835107,0.079640,0.000000,
0.862239,0.083065,0.000000,
0.884609,0.086520,0.000000,
0.497635,0.032595,0.000000,
0.907424,0.089256,0.000000,
0.433090,0.021920,0.000000,
0.057969,0.084568,0.000000,
0.057969,0.120209,0.000000,
0.034094,0.120119,0.000000,
0.034094,0.084568,0.000000,
0.084953,0.084568,0.000000,
0.085051,0.120357,0.000000,
0.034094,0.132521,0.000000,
0.057969,0.132774,0.000000,
0.057969,0.361648,0.000000,
0.034094,0.361468,0.000000,
0.034094,0.449304,0.000000,
0.057969,0.449483,0.000000,
0.068127,0.461125,0.000000,
0.034094,0.464473,0.000000,
0.022044,0.449304,0.000000,
0.022044,0.464473,0.000000,
0.070874,0.474736,0.000000,
0.034094,0.474557,0.000000,
0.022044,0.474557,0.000000,
0.068127,0.490699,0.000000,
0.034094,0.486992,0.000000,
0.022044,0.486992,0.000000,
0.057969,0.504657,0.000000,
0.034094,0.504477,0.000000,
0.022044,0.504477,0.000000,
0.057969,0.570862,0.000000,
0.034094,0.570683,0.000000,
0.022044,0.570683,0.000000,
0.065729,0.578912,0.000000,
0.034094,0.584921,0.000000,
0.022044,0.584921,0.000000,
0.070909,0.597970,0.000000,
0.034094,0.597791,0.000000,
0.021920,0.597791,0.000000,
0.065729,0.616675,0.000000,
0.034094,0.610306,0.000000,
0.021920,0.610306,0.000000,
0.057969,0.629062,0.000000,
0.034094,0.628883,0.000000,
0.021920,0.628883,0.000000,
0.057969,0.696335,0.000000,
0.034094,0.696156,0.000000,
0.021920,0.696156,0.000000,
0.066175,0.705242,0.000000,
0.034094,0.709706,0.000000,
0.021920,0.709706,0.000000,
0.069576,0.724431,0.000000,
0.034094,0.724252,0.000000,
0.021920,0.724252,0.000000,
0.066175,0.740902,0.000000,
0.034094,0.736080,0.000000,
0.021920,0.736080,0.000000,
0.057969,0.754825,0.000000,
0.034094,0.754646,0.000000,
0.021920,0.754646,0.000000,
0.057969,0.789239,0.000000,
0.034094,0.789060,0.000000,
0.021920,0.789060,0.000000,
0.057845,0.838132,0.000000,
0.033970,0.837953,0.000000,
0.021920,0.837953,0.000000,
0.110003,0.789239,0.000000,
0.109879,0.838132,0.000000,
0.146464,0.789239,0.000000,
0.146464,0.838132,0.000000,
0.146464,0.850154,0.000000,
0.109879,0.850154,0.000000,
0.146341,0.881211,0.000000,
0.109879,0.881211,0.000000,
0.673459,0.850154,0.000000,
0.673335,0.881211,0.000000,
0.698127,0.850154,0.000000,
0.698127,0.881211,0.000000,
0.729382,0.850154,0.000000,
0.729382,0.881211,0.000000,
0.758304,0.850154,0.000000,
0.758304,0.881211,0.000000,
0.698003,0.908218,0.000000,
0.673335,0.908218,0.000000,
0.729382,0.908218,0.000000,
0.758304,0.908218,0.000000,
0.729259,0.978080,0.000000,
0.698003,0.978080,0.000000,
0.620918,0.356977,0.000000,
0.620918,0.387629,0.000000,
0.596293,0.387622,0.000000,
0.596293,0.356977,0.000000,
0.596293,0.702020,0.000000,
0.596293,0.436307,0.000000,
0.620918,0.436335,0.000000,
0.620918,0.702020,0.000000,
0.560800,0.387615,0.000000,
0.516304,0.387615,0.000000,
0.516304,0.356977,0.000000,
0.560800,0.356977,0.000000,
0.596293,0.407871,0.000000,
0.620918,0.407885,0.000000,
0.560800,0.436280,0.000000,
0.516304,0.436280,0.000000,
0.516304,0.407857,0.000000,
0.560800,0.407857,0.000000,
0.497358,0.383937,0.000000,
0.497358,0.353337,0.000000,
0.458839,0.378196,0.000000,
0.458839,0.344519,0.000000,
0.424734,0.369972,0.000000,
0.424734,0.332086,0.000000,
0.390295,0.360740,0.000000,
0.386560,0.313623,0.000000,
0.356686,0.349607,0.000000,
0.355824,0.291356,0.000000,
0.326157,0.353183,0.000000,
0.326157,0.258920,0.000000,
0.302313,0.376924,0.000000,
0.294645,0.341830,0.000000,
0.284994,0.291887,0.000000,
0.300151,0.225097,0.000000,
0.265354,0.253231,0.000000,
0.285307,0.200787,0.000000,
0.239871,0.212800,0.000000,
0.269797,0.171786,0.000000,
0.208942,0.177861,0.000000,
0.256294,0.139044,0.000000,
0.217566,0.119547,0.000000,
0.252255,0.119136,0.000000,
0.210480,0.069077,0.000000,
0.244824,0.068798,0.000000,
0.209131,0.022199,0.000000,
0.244484,0.021920,0.000000,
0.176584,0.142385,0.000000,
0.166612,0.119547,0.000000,
0.159241,0.160769,0.000000,
0.150775,0.119547,0.000000,
0.149474,0.152817,0.000000,
0.129147,0.119289,0.000000,
0.118888,0.139757,0.000000,
0.107099,0.119823,0.000000,
0.084950,0.132774,0.000000,
0.111457,0.159940,0.000000,
0.084950,0.155282,0.000000,
0.106898,0.184961,0.000000,
0.084950,0.179908,0.000000,
0.102129,0.208754,0.000000,
0.084950,0.203674,0.000000,
0.099405,0.231231,0.000000,
0.084950,0.228354,0.000000,
0.101819,0.254452,0.000000,
0.084950,0.251483,0.000000,
0.103206,0.277169,0.000000,
0.084950,0.275027,0.000000,
0.106350,0.295892,0.000000,
0.084950,0.296320,0.000000,
0.094171,0.317206,0.000000,
0.084950,0.317062,0.000000,
0.136430,0.167720,0.000000,
0.123676,0.190495,0.000000,
0.115956,0.214231,0.000000,
0.113271,0.234029,0.000000,
0.114757,0.256650,0.000000,
0.118709,0.278648,0.000000,
0.123176,0.291724,0.000000,
0.130450,0.304615,0.000000,
0.139017,0.318446,0.000000,
0.105324,0.334305,0.000000,
0.150273,0.330913,0.000000,
0.118611,0.351368,0.000000,
0.162226,0.340967,0.000000,
0.132266,0.363971,0.000000,
0.147323,0.367867,0.000000,
0.175369,0.349158,0.000000,
0.190354,0.357417,0.000000,
0.173667,0.388669,0.000000,
0.162154,0.407537,0.000000,
0.144436,0.407541,0.000000,
0.208802,0.363816,0.000000,
0.198193,0.393085,0.000000,
0.186679,0.407537,0.000000,
0.233845,0.366437,0.000000,
0.224769,0.393085,0.000000,
0.213255,0.407537,0.000000,
0.258264,0.365709,0.000000,
0.253066,0.388669,0.000000,
0.241552,0.407537,0.000000,
0.280121,0.361462,0.000000,
0.277781,0.388669,0.000000,
0.276020,0.407537,0.000000,
0.497358,0.407857,0.000000,
0.458839,0.407857,0.000000,
0.424734,0.407857,0.000000,
0.394030,0.407857,0.000000,
0.357548,0.407857,0.000000,
0.326157,0.407857,0.000000,
0.302020,0.407517,0.000000,
0.278156,0.354657,0.000000,
0.276198,0.348414,0.000000,
0.640670,0.356978,0.000000,
0.640670,0.387636,0.000000,
0.560800,0.702019,0.000000,
0.640670,0.436362,0.000000,
0.640670,0.702020,0.000000,
0.640670,0.407898,0.000000,
0.022044,0.361468,0.000000,
0.142019,0.407541,0.000000,
0.142021,0.368416,0.000000,
0.132266,0.368413,0.000000,
0.123450,0.368413,0.000000,
0.123450,0.363971,0.000000,
0.123450,0.360423,0.000000,
0.128424,0.360423,0.000000,
0.057845,0.850154,0.000000,
0.057845,0.881213,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.440752,0.021920,0.000000,
0.526377,0.021920,0.000000,
0.526377,0.978076,0.000000,
0.440752,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.216691,0.021924,0.000000,
0.216691,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.541023,0.021920,0.000000,
0.626648,0.021920,0.000000,
0.626648,0.978076,0.000000,
0.541023,0.978076,0.000000,
0.231336,0.021924,0.000000,
0.426107,0.021920,0.000000,
0.426107,0.978076,0.000000,
0.231336,0.978080,0.000000,
0.440752,0.021920,0.000000,
0.526377,0.021920,0.000000,
0.526377,0.978076,0.000000,
0.440752,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.216691,0.021924,0.000000,
0.216691,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.541023,0.021920,0.000000,
0.626648,0.021920,0.000000,
0.626648,0.978076,0.000000,
0.541023,0.978076,0.000000,
0.231336,0.021924,0.000000,
0.426107,0.021920,0.000000,
0.426107,0.978076,0.000000,
0.231336,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.750572,0.021920,0.000000,
0.856273,0.021920,0.000000,
0.856273,0.736136,0.000000,
0.750572,0.736136,0.000000,
0.021920,0.021920,0.000000,
0.370141,0.021925,0.000000,
0.370141,0.736141,0.000000,
0.021920,0.736136,0.000000,
0.872378,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.736135,0.000000,
0.872378,0.736135,0.000000,
0.386246,0.021925,0.000000,
0.734467,0.021920,0.000000,
0.734467,0.736136,0.000000,
0.386246,0.736141,0.000000,
0.218006,0.668417,0.000000,
0.896031,0.668411,0.000000,
0.896031,0.762034,0.000000,
0.218006,0.762040,0.000000,
0.218006,0.630590,0.000000,
0.896031,0.630593,0.000000,
0.218006,0.603783,0.000000,
0.896031,0.603783,0.000000,
0.218007,0.574652,0.000000,
0.896031,0.574645,0.000000,
0.938964,0.630590,0.000000,
0.938968,0.668412,0.000000,
0.891738,0.398767,0.000000,
0.053396,0.668429,0.000000,
0.053395,0.630592,0.000000,
0.053386,0.603777,0.000000,
0.054160,0.574656,0.000000,
0.019623,0.668262,0.000000,
0.019613,0.630415,0.000000,
0.623617,0.189352,0.000000,
0.655261,0.151939,0.000000,
0.655261,0.355323,0.000000,
0.623617,0.301090,0.000000,
0.471775,0.355323,0.000000,
0.507715,0.301090,0.000000,
0.471774,0.151939,0.000000,
0.507718,0.189352,0.000000,
0.297992,0.189352,0.000000,
0.298141,0.301090,0.000000,
0.259517,0.355323,0.000000,
0.259517,0.151939,0.000000,
0.411194,0.301090,0.000000,
0.442489,0.355323,0.000000,
0.411345,0.189352,0.000000,
0.442487,0.151939,0.000000,
0.457198,0.090807,0.000000,
0.363012,0.090809,0.000000,
0.363013,0.115870,0.000000,
0.457197,0.115871,0.000000,
0.254540,0.090809,0.000000,
0.254542,0.115871,0.000000,
0.652858,0.090806,0.000000,
0.553124,0.090806,0.000000,
0.553123,0.115872,0.000000,
0.652856,0.115871,0.000000,
0.221013,0.563566,0.000000,
0.221011,0.398767,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.308635,0.224131,0.000000,
0.308635,0.782467,0.000000,
0.199825,0.782468,0.000000,
0.199825,0.224132,0.000000,
0.353002,0.224131,0.000000,
0.353002,0.782466,0.000000,
0.400120,0.224131,0.000000,
0.400120,0.782466,0.000000,
0.458630,0.224131,0.000000,
0.458630,0.782467,0.000000,
0.060841,0.782467,0.000000,
0.060968,0.224132,0.000000,
0.115751,0.224132,0.000000,
0.115751,0.782468,0.000000,
0.155468,0.224131,0.000000,
0.155468,0.782467,0.000000,
0.353002,0.976538,0.000000,
0.400120,0.976538,0.000000,
0.155468,0.976538,0.000000,
0.115751,0.976539,0.000000,
0.353002,0.029746,0.000000,
0.400120,0.029746,0.000000,
0.115751,0.029747,0.000000,
0.155468,0.029746,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.134262,0.865961,0.000000,
0.134178,0.146815,0.000000,
0.250084,0.146815,0.000000,
0.249989,0.865961,0.000000,
0.102780,0.865961,0.000000,
0.102645,0.146815,0.000000,
0.076427,0.865961,0.000000,
0.076531,0.146815,0.000000,
0.054434,0.865961,0.000000,
0.054454,0.146815,0.000000,
0.327440,0.146815,0.000000,
0.327473,0.865961,0.000000,
0.309991,0.865961,0.000000,
0.310000,0.146815,0.000000,
0.283899,0.865961,0.000000,
0.283887,0.146815,0.000000,
0.076428,0.987594,0.000000,
0.102792,0.987594,0.000000,
0.310011,0.987594,0.000000,
0.284084,0.987594,0.000000,
0.102675,0.023501,0.000000,
0.076542,0.023501,0.000000,
0.284224,0.023501,0.000000,
0.310188,0.023501,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.816035,0.240358,0.000000,
0.816040,0.724240,0.000000,
0.712521,0.724240,0.000000,
0.712523,0.240358,0.000000,
0.839755,0.240358,0.000000,
0.839755,0.724240,0.000000,
0.870890,0.240358,0.000000,
0.870890,0.724240,0.000000,
0.899908,0.240358,0.000000,
0.899915,0.724240,0.000000,
0.631128,0.724240,0.000000,
0.631129,0.240358,0.000000,
0.650871,0.240358,0.000000,
0.650869,0.724240,0.000000,
0.685237,0.240358,0.000000,
0.685234,0.724240,0.000000,
0.870890,0.210788,0.000000,
0.839755,0.210788,0.000000,
0.650868,0.210788,0.000000,
0.685236,0.210788,0.000000,
0.839755,0.755904,0.000000,
0.870890,0.755904,0.000000,
0.685234,0.755904,0.000000,
0.650867,0.755904,0.000000,
0.608326,0.289327,0.000000,
0.608329,0.781906,0.000000,
0.510400,0.781906,0.000000,
0.510400,0.289327,0.000000,
0.430606,0.781906,0.000000,
0.430606,0.289327,0.000000,
0.461773,0.289327,0.000000,
0.461772,0.781906,0.000000,
0.485991,0.289327,0.000000,
0.485991,0.781906,0.000000,
0.430605,0.260222,0.000000,
0.461773,0.260226,0.000000,
0.636997,0.781906,0.000000,
0.761998,0.781906,0.000000,
0.761996,0.947105,0.000000,
0.636992,0.947103,0.000000,
0.608328,0.947105,0.000000,
0.510400,0.947102,0.000000,
0.510400,0.200993,0.000000,
0.608325,0.200993,0.000000,
0.485991,0.289325,0.000000,
0.485991,0.200993,0.000000,
0.461773,0.947102,0.000000,
0.430606,0.947102,0.000000,
0.485991,0.947102,0.000000,
0.613314,0.046181,0.000000,
0.250695,0.182630,0.000000,
0.250695,0.038135,0.000000,
0.613317,0.038134,0.000000,
0.085499,0.182631,0.000000,
0.085498,0.038134,0.000000,
0.950300,0.191149,0.000000,
0.444858,0.146467,0.000000,
0.963063,0.046762,0.000000,
0.794485,0.781906,0.000000,
0.794482,0.947104,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.878247,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.166973,0.000000,
0.878247,0.166973,0.000000,
0.787584,0.021920,0.000000,
0.787584,0.166973,0.000000,
0.691096,0.021920,0.000000,
0.691096,0.166973,0.000000,
0.594442,0.021920,0.000000,
0.594442,0.166973,0.000000,
0.494885,0.021920,0.000000,
0.494885,0.166973,0.000000,
0.418943,0.512168,0.000000,
0.471154,0.512168,0.000000,
0.471154,0.656432,0.000000,
0.418943,0.656432,0.000000,
0.777168,0.174111,0.000000,
0.800081,0.174111,0.000000,
0.800081,0.337933,0.000000,
0.777168,0.337933,0.000000,
0.376996,0.508330,0.000000,
0.409422,0.508330,0.000000,
0.409422,0.660270,0.000000,
0.376996,0.660270,0.000000,
0.327442,0.508330,0.000000,
0.327442,0.660270,0.000000,
0.275797,0.508330,0.000000,
0.275797,0.660270,0.000000,
0.232720,0.508330,0.000000,
0.232720,0.660270,0.000000,
0.183502,0.508330,0.000000,
0.183502,0.660270,0.000000,
0.135639,0.508330,0.000000,
0.135639,0.660270,0.000000,
0.107188,0.508330,0.000000,
0.107188,0.660270,0.000000,
0.079138,0.508330,0.000000,
0.079138,0.660270,0.000000,
0.049047,0.508330,0.000000,
0.049047,0.660270,0.000000,
0.021920,0.508330,0.000000,
0.021920,0.660270,0.000000,
0.740574,0.181225,0.000000,
0.766180,0.181225,0.000000,
0.766180,0.330818,0.000000,
0.740574,0.330818,0.000000,
0.680317,0.181225,0.000000,
0.712418,0.181225,0.000000,
0.712418,0.330818,0.000000,
0.680317,0.330818,0.000000,
0.640800,0.181225,0.000000,
0.640800,0.330818,0.000000,
0.587152,0.181225,0.000000,
0.587152,0.330818,0.000000,
0.534841,0.181225,0.000000,
0.534841,0.330818,0.000000,
0.488021,0.181225,0.000000,
0.488021,0.330818,0.000000,
0.502195,0.343885,0.000000,
0.516561,0.343885,0.000000,
0.516561,0.491309,0.000000,
0.502195,0.491309,0.000000,
0.097882,0.673496,0.000000,
0.097882,0.818254,0.000000,
0.027628,0.818254,0.000000,
0.027628,0.673496,0.000000,
0.489015,0.343885,0.000000,
0.489015,0.491309,0.000000,
0.139860,0.673496,0.000000,
0.139860,0.818254,0.000000,
0.369339,0.452783,0.000000,
0.373384,0.465681,0.000000,
0.377443,0.479739,0.000000,
0.332291,0.488513,0.000000,
0.281843,0.490018,0.000000,
0.230106,0.484603,0.000000,
0.191996,0.471383,0.000000,
0.161039,0.454320,0.000000,
0.133886,0.437399,0.000000,
0.109192,0.416629,0.000000,
0.085939,0.390873,0.000000,
0.068242,0.362301,0.000000,
0.053213,0.335669,0.000000,
0.043985,0.308655,0.000000,
0.035821,0.263210,0.000000,
0.032751,0.216478,0.000000,
0.038297,0.175578,0.000000,
0.054247,0.126542,0.000000,
0.080594,0.079491,0.000000,
0.107542,0.048704,0.000000,
0.127720,0.065132,0.000000,
0.163548,0.027153,0.000000,
0.230395,0.100441,0.000000,
0.294293,0.172622,0.000000,
0.346938,0.256147,0.000000,
0.409339,0.438122,0.000000,
0.398134,0.332850,0.000000,
0.469342,0.402045,0.000000,
0.341827,0.627485,0.000000,
0.346914,0.717876,0.000000,
0.242891,0.687995,0.000000,
0.141531,0.627485,0.000000,
0.456623,0.627485,0.000000,
0.457227,0.709176,0.000000,
0.645899,0.596970,0.000000,
0.537909,0.683753,0.000000,
0.144552,0.425823,0.000000,
0.205921,0.541725,0.000000,
0.073075,0.541725,0.000000,
0.036878,0.425823,0.000000,
0.341266,0.611816,0.000000,
0.456485,0.605444,0.000000,
0.558876,0.541725,0.000000,
0.691118,0.541725,0.000000,
0.619679,0.425823,0.000000,
0.724240,0.425823,0.000000,
0.624848,0.327042,0.000000,
0.722977,0.327042,0.000000,
0.596671,0.254851,0.000000,
0.717268,0.254851,0.000000,
0.558113,0.201392,0.000000,
0.692838,0.201392,0.000000,
0.453022,0.138709,0.000000,
0.451575,0.021920,0.000000,
0.584328,0.074043,0.000000,
0.314559,0.139826,0.000000,
0.293455,0.030557,0.000000,
0.209000,0.201392,0.000000,
0.068500,0.201392,0.000000,
0.168139,0.096277,0.000000,
0.170329,0.254852,0.000000,
0.052058,0.254851,0.000000,
0.143635,0.327042,0.000000,
0.036878,0.327042,0.000000,
0.022383,0.931213,0.000000,
0.143700,0.931213,0.000000,
0.143700,0.978080,0.000000,
0.022383,0.978080,0.000000,
0.250198,0.746004,0.000000,
0.392178,0.746004,0.000000,
0.392178,0.792974,0.000000,
0.250198,0.792974,0.000000,
0.129331,0.746004,0.000000,
0.129331,0.792974,0.000000,
0.021920,0.746004,0.000000,
0.021920,0.792974,0.000000,
0.257326,0.869483,0.000000,
0.378697,0.869483,0.000000,
0.378697,0.916371,0.000000,
0.257326,0.916371,0.000000,
0.153883,0.869483,0.000000,
0.153883,0.916371,0.000000,
0.078286,0.869483,0.000000,
0.078286,0.916371,0.000000,
0.022304,0.869483,0.000000,
0.022304,0.916371,0.000000,
0.277818,0.807758,0.000000,
0.387897,0.807758,0.000000,
0.387897,0.854658,0.000000,
0.277818,0.854658,0.000000,
0.132784,0.807758,0.000000,
0.132784,0.854658,0.000000,
0.022215,0.807758,0.000000,
0.022215,0.854658,0.000000,
0.322661,0.931213,0.000000,
0.378618,0.931213,0.000000,
0.378618,0.978080,0.000000,
0.322661,0.978080,0.000000,
0.247097,0.931213,0.000000,
0.247097,0.978080,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.684655,0.021920,0.000000,
0.822789,0.021920,0.000000,
0.822789,0.835282,0.000000,
0.684655,0.835282,0.000000,
0.021920,0.021920,0.000000,
0.336131,0.021927,0.000000,
0.336131,0.835289,0.000000,
0.021920,0.835282,0.000000,
0.839946,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.835282,0.000000,
0.839946,0.835282,0.000000,
0.353288,0.021927,0.000000,
0.667499,0.021920,0.000000,
0.667499,0.835282,0.000000,
0.353288,0.835289,0.000000,
0.484048,0.021920,0.000000,
0.559874,0.021920,0.000000,
0.559874,0.978076,0.000000,
0.484048,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.194399,0.021924,0.000000,
0.194398,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.394441,0.021920,0.000000,
0.470266,0.021920,0.000000,
0.470266,0.978076,0.000000,
0.394441,0.978076,0.000000,
0.208181,0.021924,0.000000,
0.380659,0.021920,0.000000,
0.380659,0.978076,0.000000,
0.208181,0.978080,0.000000,
0.484048,0.021920,0.000000,
0.559874,0.021920,0.000000,
0.559874,0.978076,0.000000,
0.484048,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.194399,0.021924,0.000000,
0.194398,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.394441,0.021920,0.000000,
0.470266,0.021920,0.000000,
0.470266,0.978076,0.000000,
0.394441,0.978076,0.000000,
0.208181,0.021924,0.000000,
0.380659,0.021920,0.000000,
0.380659,0.978076,0.000000,
0.208181,0.978080,0.000000,
0.484048,0.021920,0.000000,
0.559874,0.021920,0.000000,
0.559874,0.978076,0.000000,
0.484048,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.194399,0.021924,0.000000,
0.194398,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.394441,0.021920,0.000000,
0.470266,0.021920,0.000000,
0.470266,0.978076,0.000000,
0.394441,0.978076,0.000000,
0.208181,0.021924,0.000000,
0.380659,0.021920,0.000000,
0.380659,0.978076,0.000000,
0.208181,0.978080,0.000000,
0.484048,0.021920,0.000000,
0.559874,0.021920,0.000000,
0.559874,0.978076,0.000000,
0.484048,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.194399,0.021924,0.000000,
0.194398,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.394441,0.021920,0.000000,
0.470266,0.021920,0.000000,
0.470266,0.978076,0.000000,
0.394441,0.978076,0.000000,
0.208181,0.021924,0.000000,
0.380659,0.021920,0.000000,
0.380659,0.978076,0.000000,
0.208181,0.978080,0.000000,
0.975685,0.584209,0.000000,
0.870218,0.580810,0.000000,
0.872995,0.047560,0.000000,
0.977065,0.022623,0.000000,
0.975790,0.656717,0.000000,
0.884559,0.671832,0.000000,
0.024212,0.788998,0.000000,
0.024350,0.696115,0.000000,
0.023815,0.058865,0.000000,
0.557069,0.058865,0.000000,
0.557069,0.077998,0.000000,
0.023815,0.077998,0.000000,
0.096419,0.021920,0.000000,
0.658006,0.021920,0.000000,
0.658006,0.041053,0.000000,
0.096419,0.041053,0.000000,
0.023912,0.021920,0.000000,
0.023912,0.041053,0.000000,
0.886410,0.807467,0.000000,
0.978080,0.807467,0.000000,
0.978080,0.826692,0.000000,
0.886410,0.826692,0.000000,
0.021920,0.807467,0.000000,
0.021920,0.826692,0.000000,
0.022160,0.844414,0.000000,
0.871930,0.844414,0.000000,
0.871930,0.863635,0.000000,
0.022160,0.863635,0.000000,
0.750572,0.021920,0.000000,
0.856273,0.021920,0.000000,
0.856273,0.736136,0.000000,
0.750572,0.736136,0.000000,
0.021920,0.021920,0.000000,
0.370141,0.021925,0.000000,
0.370141,0.736141,0.000000,
0.021920,0.736136,0.000000,
0.872378,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.736135,0.000000,
0.872378,0.736135,0.000000,
0.386246,0.021925,0.000000,
0.734467,0.021920,0.000000,
0.734467,0.736136,0.000000,
0.386246,0.736141,0.000000,
0.750572,0.021920,0.000000,
0.856273,0.021920,0.000000,
0.856273,0.736136,0.000000,
0.750572,0.736136,0.000000,
0.021920,0.021920,0.000000,
0.370141,0.021925,0.000000,
0.370141,0.736141,0.000000,
0.021920,0.736136,0.000000,
0.872378,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.736135,0.000000,
0.872378,0.736135,0.000000,
0.386246,0.021925,0.000000,
0.734467,0.021920,0.000000,
0.734467,0.736136,0.000000,
0.386246,0.736141,0.000000,
0.598228,0.021920,0.000000,
0.654287,0.021920,0.000000,
0.654287,0.132142,0.000000,
0.598228,0.132142,0.000000,
0.724581,0.021920,0.000000,
0.724581,0.132142,0.000000,
0.754509,0.021920,0.000000,
0.754509,0.132142,0.000000,
0.815355,0.021920,0.000000,
0.815355,0.132142,0.000000,
0.869227,0.021920,0.000000,
0.869227,0.132142,0.000000,
0.929528,0.021920,0.000000,
0.929528,0.132142,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.132142,0.000000,
0.024644,0.760141,0.000000,
0.076829,0.760141,0.000000,
0.076829,0.872403,0.000000,
0.024644,0.872403,0.000000,
0.131244,0.760141,0.000000,
0.131244,0.872403,0.000000,
0.170356,0.760141,0.000000,
0.170356,0.872403,0.000000,
0.217015,0.760141,0.000000,
0.217015,0.872403,0.000000,
0.269693,0.760141,0.000000,
0.269693,0.872403,0.000000,
0.301721,0.760141,0.000000,
0.301721,0.872403,0.000000,
0.382707,0.760141,0.000000,
0.382707,0.872403,0.000000,
0.453811,0.760141,0.000000,
0.453811,0.872403,0.000000,
0.589591,0.635219,0.000000,
0.589591,0.748334,0.000000,
0.237053,0.748334,0.000000,
0.237053,0.635219,0.000000,
0.021920,0.748334,0.000000,
0.021920,0.635219,0.000000,
0.531978,0.760141,0.000000,
0.531978,0.872403,0.000000,
0.603012,0.255223,0.000000,
0.603012,0.147829,0.000000,
0.965456,0.147829,0.000000,
0.965456,0.255223,0.000000,
0.522240,0.614085,0.000000,
0.454040,0.614085,0.000000,
0.425002,0.608505,0.000000,
0.365969,0.594991,0.000000,
0.313700,0.575937,0.000000,
0.255195,0.547640,0.000000,
0.208089,0.513514,0.000000,
0.162621,0.463803,0.000000,
0.122765,0.411966,0.000000,
0.100015,0.374708,0.000000,
0.076244,0.330261,0.000000,
0.055549,0.280081,0.000000,
0.049360,0.249571,0.000000,
0.037971,0.172423,0.000000,
0.037449,0.104690,0.000000,
0.042497,0.030228,0.000000,
0.403410,0.077402,0.000000,
0.576629,0.280791,0.000000,
0.576629,0.614085,0.000000,
0.834578,0.024530,0.000000,
0.928702,0.024663,0.000000,
0.932017,0.266075,0.000000,
0.837912,0.267366,0.000000,
0.745368,0.024436,0.000000,
0.748721,0.268588,0.000000,
0.642329,0.023275,0.000000,
0.645716,0.269999,0.000000,
0.561654,0.021920,0.000000,
0.565075,0.271103,0.000000,
0.775705,0.555572,0.000000,
0.834753,0.555572,0.000000,
0.846452,0.823538,0.000000,
0.787516,0.826107,0.000000,
0.726896,0.555572,0.000000,
0.738801,0.828232,0.000000,
0.671572,0.555572,0.000000,
0.683582,0.830639,0.000000,
0.604748,0.555572,0.000000,
0.616885,0.833548,0.000000,
0.550963,0.554330,0.000000,
0.563256,0.835885,0.000000,
0.067846,0.572680,0.000000,
0.178882,0.576713,0.000000,
0.178882,0.825811,0.000000,
0.067846,0.821778,0.000000,
0.021920,0.572680,0.000000,
0.021920,0.821778,0.000000,
0.574460,0.290881,0.000000,
0.881387,0.304282,0.000000,
0.870899,0.544504,0.000000,
0.563972,0.531103,0.000000,
0.901584,0.290691,0.000000,
0.937547,0.290691,0.000000,
0.937547,0.531027,0.000000,
0.901584,0.531027,0.000000,
0.864893,0.566135,0.000000,
0.978080,0.568977,0.000000,
0.967592,0.809199,0.000000,
0.854520,0.803707,0.000000,
0.548454,0.555021,0.000000,
0.548454,0.822197,0.000000,
0.067138,0.422493,0.000000,
0.031174,0.422493,0.000000,
0.031174,0.115412,0.000000,
0.075485,0.115412,0.000000,
0.182619,0.026292,0.000000,
0.539200,0.092856,0.000000,
0.534883,0.141958,0.000000,
0.514697,0.203024,0.000000,
0.479447,0.253580,0.000000,
0.436863,0.298183,0.000000,
0.387250,0.352144,0.000000,
0.321943,0.407678,0.000000,
0.067132,0.535621,0.000000,
0.234258,0.465743,0.000000,
0.155170,0.506485,0.000000,
0.136202,0.024168,0.000000,
0.214587,0.023994,0.000000,
0.215740,0.668223,0.000000,
0.136273,0.709022,0.000000,
0.282448,0.668223,0.000000,
0.282408,0.023820,0.000000,
0.452184,0.929560,0.000000,
0.282448,0.958273,0.000000,
0.452184,0.807495,0.000000,
0.215740,0.966984,0.000000,
0.136273,0.978080,0.000000,
0.021920,0.842671,0.000000,
0.028813,0.834549,0.000000,
0.364957,0.021920,0.000000,
0.443954,0.021920,0.000000,
0.443954,0.045404,0.000000,
0.364957,0.045404,0.000000,
0.296607,0.021920,0.000000,
0.296607,0.045404,0.000000,
0.164438,0.917928,0.000000,
0.164441,0.329715,0.000000,
0.282350,0.329716,0.000000,
0.282347,0.917928,0.000000,
0.127316,0.917928,0.000000,
0.127319,0.329715,0.000000,
0.093067,0.917927,0.000000,
0.093070,0.329714,0.000000,
0.056229,0.917926,0.000000,
0.056232,0.329714,0.000000,
0.375678,0.329716,0.000000,
0.375676,0.917928,0.000000,
0.345048,0.917928,0.000000,
0.345051,0.329716,0.000000,
0.318095,0.917928,0.000000,
0.318098,0.329715,0.000000,
0.093070,0.302897,0.000000,
0.127319,0.302898,0.000000,
0.318098,0.302898,0.000000,
0.345051,0.302899,0.000000,
0.093067,0.945356,0.000000,
0.127316,0.945357,0.000000,
0.318095,0.945357,0.000000,
0.345048,0.945357,0.000000,
0.944049,0.050112,0.000000,
0.330995,0.268936,0.000000,
0.330992,0.050112,0.000000,
0.088205,0.268941,0.000000,
0.088207,0.050112,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.000000,0.000000,0.000000,
0.149333,0.154302,0.000000,
0.021920,0.154302,0.000000,
0.021920,0.021920,0.000000,
0.149333,0.021920,0.000000,
0.248441,0.154302,0.000000,
0.248441,0.021920,0.000000,
0.978080,0.154302,0.000000,
0.978080,0.021920,0.000000,
0.021920,0.295049,0.000000,
0.021920,0.162666,0.000000,
0.386787,0.162666,0.000000,
0.386787,0.295049,0.000000,
0.461874,0.340783,0.000000,
0.021920,0.340783,0.000000,
0.021920,0.021920,0.000000,
0.461874,0.021920,0.000000,
0.978080,0.340783,0.000000,
0.978080,0.021920,0.000000,
0.024457,0.672298,0.000000,
0.024457,0.355363,0.000000,
0.741538,0.355363,0.000000,
0.741538,0.672298,0.000000,
0.077684,0.163397,0.000000,
0.021920,0.163397,0.000000,
0.021920,0.021920,0.000000,
0.077684,0.021920,0.000000,
0.191053,0.163397,0.000000,
0.191053,0.021920,0.000000,
0.291430,0.163397,0.000000,
0.291430,0.021920,0.000000,
0.381800,0.163397,0.000000,
0.381800,0.021920,0.000000,
0.489174,0.163397,0.000000,
0.489174,0.021920,0.000000,
0.581564,0.163397,0.000000,
0.581564,0.021920,0.000000,
0.652607,0.163397,0.000000,
0.652607,0.021920,0.000000,
0.978080,0.163397,0.000000,
0.913858,0.163397,0.000000,
0.913858,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.830575,0.163397,0.000000,
0.830575,0.021920,0.000000,
0.729129,0.163397,0.000000,
0.729129,0.021920,0.000000,
0.126718,0.171146,0.000000,
0.126718,0.312622,0.000000,
0.021921,0.312622,0.000000,
0.021921,0.171146,0.000000,
0.222135,0.161526,0.000000,
0.021920,0.161526,0.000000,
0.021920,0.021920,0.000000,
0.222135,0.021920,0.000000,
0.248673,0.161526,0.000000,
0.248673,0.021920,0.000000,
0.279698,0.161526,0.000000,
0.279698,0.021920,0.000000,
0.316083,0.161526,0.000000,
0.316083,0.021920,0.000000,
0.347900,0.161526,0.000000,
0.347900,0.021920,0.000000,
0.498812,0.161526,0.000000,
0.498812,0.021920,0.000000,
0.517159,0.161526,0.000000,
0.517159,0.021920,0.000000,
0.560601,0.161526,0.000000,
0.560601,0.021920,0.000000,
0.603237,0.161526,0.000000,
0.603237,0.021920,0.000000,
0.631474,0.161526,0.000000,
0.631474,0.021920,0.000000,
0.784818,0.161526,0.000000,
0.784818,0.021920,0.000000,
0.805122,0.161526,0.000000,
0.805122,0.021920,0.000000,
0.848861,0.161526,0.000000,
0.848861,0.021920,0.000000,
0.886405,0.161526,0.000000,
0.886405,0.021920,0.000000,
0.918142,0.161526,0.000000,
0.918142,0.021920,0.000000,
0.978080,0.161526,0.000000,
0.978080,0.021920,0.000000,
0.608449,0.021920,0.000000,
0.692427,0.021920,0.000000,
0.692427,0.978076,0.000000,
0.608449,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.298576,0.021924,0.000000,
0.298576,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.709036,0.021920,0.000000,
0.793014,0.021920,0.000000,
0.793014,0.978076,0.000000,
0.709036,0.978076,0.000000,
0.315185,0.021924,0.000000,
0.591840,0.021920,0.000000,
0.591840,0.978076,0.000000,
0.315185,0.978080,0.000000,
0.608449,0.021920,0.000000,
0.692427,0.021920,0.000000,
0.692427,0.978076,0.000000,
0.608449,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.298576,0.021924,0.000000,
0.298576,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.709036,0.021920,0.000000,
0.793014,0.021920,0.000000,
0.793014,0.978076,0.000000,
0.709036,0.978076,0.000000,
0.315185,0.021924,0.000000,
0.591840,0.021920,0.000000,
0.591840,0.978076,0.000000,
0.315185,0.978080,0.000000,
0.608449,0.021920,0.000000,
0.692427,0.021920,0.000000,
0.692427,0.978076,0.000000,
0.608449,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.298576,0.021924,0.000000,
0.298576,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.709036,0.021920,0.000000,
0.793014,0.021920,0.000000,
0.793014,0.978076,0.000000,
0.709036,0.978076,0.000000,
0.315185,0.021924,0.000000,
0.591840,0.021920,0.000000,
0.591840,0.978076,0.000000,
0.315185,0.978080,0.000000,
0.178465,0.021920,0.000000,
0.195226,0.021920,0.000000,
0.195226,0.930634,0.000000,
0.178465,0.930634,0.000000,
0.023052,0.067706,0.000000,
0.080459,0.021920,0.000000,
0.080459,0.978080,0.000000,
0.021920,0.069365,0.000000,
0.021920,0.978079,0.000000,
0.154135,0.021920,0.000000,
0.170897,0.021920,0.000000,
0.170897,0.978080,0.000000,
0.154135,0.978080,0.000000,
0.145434,0.067706,0.000000,
0.146567,0.069365,0.000000,
0.146567,0.978079,0.000000,
0.088027,0.021920,0.000000,
0.088027,0.978080,0.000000,
0.037784,0.840330,0.000000,
0.240717,0.835493,0.000000,
0.234492,0.978080,0.000000,
0.032154,0.969276,0.000000,
0.021925,0.488710,0.000000,
0.156230,0.488710,0.000000,
0.156230,0.642023,0.000000,
0.021925,0.637111,0.000000,
0.339825,0.488710,0.000000,
0.339825,0.646489,0.000000,
0.788704,0.488710,0.000000,
0.788704,0.648110,0.000000,
0.825533,0.182911,0.000000,
0.818760,0.027775,0.000000,
0.952857,0.021920,0.000000,
0.959630,0.177056,0.000000,
0.021920,0.660558,0.000000,
0.776437,0.671612,0.000000,
0.776437,0.805867,0.000000,
0.021920,0.820018,0.000000,
0.188420,0.160007,0.000000,
0.364403,0.061737,0.000000,
0.794671,0.026071,0.000000,
0.761006,0.158141,0.000000,
0.038044,0.469933,0.000000,
0.059684,0.268076,0.000000,
0.381053,0.144090,0.000000,
0.585237,0.144090,0.000000,
0.583976,0.345793,0.000000,
0.373839,0.345793,0.000000,
0.580705,0.517701,0.000000,
0.367689,0.517701,0.000000,
0.579919,0.643332,0.000000,
0.360998,0.643332,0.000000,
0.579338,0.736367,0.000000,
0.357670,0.736367,0.000000,
0.089666,0.643332,0.000000,
0.041512,0.517701,0.000000,
0.155561,0.736367,0.000000,
0.337769,0.843050,0.000000,
0.578655,0.845634,0.000000,
0.763823,0.736367,0.000000,
0.830985,0.643332,0.000000,
0.880406,0.517701,0.000000,
0.871535,0.345793,0.000000,
0.763823,0.144090,0.000000,
0.585937,0.032082,0.000000,
0.385424,0.021920,0.000000,
0.151759,0.144090,0.000000,
0.042780,0.345793,0.000000,
0.545673,0.978080,0.000000,
0.414091,0.978080,0.000000,
0.414091,0.966396,0.000000,
0.545673,0.966396,0.000000,
0.234039,0.978080,0.000000,
0.234039,0.966396,0.000000,
0.022782,0.978080,0.000000,
0.022782,0.966396,0.000000,
0.664519,0.890577,0.000000,
0.419197,0.890577,0.000000,
0.419197,0.878865,0.000000,
0.664519,0.878865,0.000000,
0.208680,0.890577,0.000000,
0.208680,0.878865,0.000000,
0.021920,0.890577,0.000000,
0.021920,0.878865,0.000000,
0.643313,0.948911,0.000000,
0.431921,0.948911,0.000000,
0.431921,0.937220,0.000000,
0.643313,0.937220,0.000000,
0.251755,0.948911,0.000000,
0.251755,0.937220,0.000000,
0.120089,0.948911,0.000000,
0.120089,0.937220,0.000000,
0.022585,0.948911,0.000000,
0.022585,0.937220,0.000000,
0.659733,0.919734,0.000000,
0.465824,0.919734,0.000000,
0.465824,0.908052,0.000000,
0.659733,0.908052,0.000000,
0.213568,0.919734,0.000000,
0.213568,0.908052,0.000000,
0.022759,0.919734,0.000000,
0.022759,0.908052,0.000000,
0.643116,0.978080,0.000000,
0.643116,0.966396,0.000000,
0.265711,0.021920,0.000000,
0.328737,0.021920,0.000000,
0.328737,0.919636,0.000000,
0.265711,0.919636,0.000000,
0.107156,0.080362,0.000000,
0.182098,0.021920,0.000000,
0.182098,0.978080,0.000000,
0.107156,0.978079,0.000000,
0.192391,0.021920,0.000000,
0.255417,0.021920,0.000000,
0.255417,0.978080,0.000000,
0.192391,0.978080,0.000000,
0.021920,0.021920,0.000000,
0.096862,0.080362,0.000000,
0.096862,0.978079,0.000000,
0.021920,0.978080,0.000000,
0.339030,0.021920,0.000000,
0.402056,0.021920,0.000000,
0.402056,0.096862,0.000000,
0.339030,0.096862,0.000000,
0.529607,0.154490,0.000000,
0.431253,0.154490,0.000000,
0.431253,0.021920,0.000000,
0.529607,0.021920,0.000000,
0.602442,0.154490,0.000000,
0.602442,0.021920,0.000000,
0.296670,0.154490,0.000000,
0.138761,0.154490,0.000000,
0.138761,0.021920,0.000000,
0.296670,0.021920,0.000000,
0.021920,0.154490,0.000000,
0.021920,0.021920,0.000000,
0.700988,0.917602,0.000000,
0.566317,0.917602,0.000000,
0.566317,0.788321,0.000000,
0.700988,0.788321,0.000000,
0.428109,0.917602,0.000000,
0.428109,0.788321,0.000000,
0.281543,0.917602,0.000000,
0.281543,0.788321,0.000000,
0.174346,0.917602,0.000000,
0.030868,0.917602,0.000000,
0.030868,0.788321,0.000000,
0.174346,0.788321,0.000000,
0.405184,0.433424,0.000000,
0.199656,0.433424,0.000000,
0.199656,0.306946,0.000000,
0.405184,0.306946,0.000000,
0.727027,0.712279,0.000000,
0.653339,0.712279,0.000000,
0.653339,0.582492,0.000000,
0.727027,0.582492,0.000000,
0.498745,0.712279,0.000000,
0.498745,0.582492,0.000000,
0.366986,0.712279,0.000000,
0.366986,0.582492,0.000000,
0.270697,0.712279,0.000000,
0.270697,0.582492,0.000000,
0.199390,0.712279,0.000000,
0.199390,0.582492,0.000000,
0.029528,0.712279,0.000000,
0.029528,0.582492,0.000000,
0.577738,0.433424,0.000000,
0.577738,0.306946,0.000000,
0.036768,0.433424,0.000000,
0.036768,0.306946,0.000000,
0.745655,0.154490,0.000000,
0.745655,0.021920,0.000000,
0.529607,0.216506,0.000000,
0.431253,0.216506,0.000000,
0.602442,0.216506,0.000000,
0.296670,0.216506,0.000000,
0.138761,0.216506,0.000000,
0.021920,0.216506,0.000000,
0.700988,0.978080,0.000000,
0.566317,0.978080,0.000000,
0.428109,0.978080,0.000000,
0.281543,0.978080,0.000000,
0.174346,0.978080,0.000000,
0.030868,0.978080,0.000000,
0.405184,0.492590,0.000000,
0.199656,0.492590,0.000000,
0.727027,0.772994,0.000000,
0.653339,0.772994,0.000000,
0.498745,0.772994,0.000000,
0.366986,0.772994,0.000000,
0.270697,0.772994,0.000000,
0.199390,0.772994,0.000000,
0.029528,0.772994,0.000000,
0.577738,0.492590,0.000000,
0.036768,0.492590,0.000000,
0.745655,0.216506,0.000000,
0.199656,0.564252,0.000000,
0.036768,0.564252,0.000000,
0.745655,0.291621,0.000000,
0.602442,0.291621,0.000000,
0.367700,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.021920,0.021920,0.000000,
0.367681,0.021920,0.000000,
0.978080,0.946245,0.000000,
0.021920,0.946245,0.000000,
0.021920,0.021920,0.000000,
0.978073,0.021920,0.000000,
0.978080,0.790798,0.000000,
0.021920,0.790798,0.000000,
0.021920,0.021920,0.000000,
0.977915,0.021920,0.000000,
0.978080,0.569497,0.000000,
0.021920,0.569497,0.000000,
0.021920,0.345273,0.000000,
0.925008,0.345273,0.000000,
0.021920,0.021920,0.000000,
0.678587,0.021920,0.000000,
0.021920,0.177967,0.000000,
0.021920,0.102804,0.000000,
0.154582,0.102804,0.000000,
0.154582,0.177967,0.000000,
0.021920,0.097083,0.000000,
0.021920,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.097083,0.000000,
0.124822,0.021920,0.000000,
0.137261,0.021920,0.000000,
0.137261,0.978079,0.000000,
0.124821,0.978079,0.000000,
0.021920,0.021920,0.000000,
0.062930,0.021921,0.000000,
0.062930,0.978080,0.000000,
0.021920,0.978079,0.000000,
0.105619,0.021920,0.000000,
0.118058,0.021920,0.000000,
0.118058,0.978079,0.000000,
0.105619,0.978079,0.000000,
0.098856,0.021920,0.000000,
0.098856,0.978079,0.000000,
0.069693,0.978079,0.000000,
0.069693,0.021920,0.000000,
0.176168,0.021920,0.000000,
0.176168,0.978079,0.000000,
0.170244,0.978079,0.000000,
0.170244,0.021920,0.000000,
0.182931,0.978079,0.000000,
0.182931,0.021920,0.000000,
0.188854,0.021920,0.000000,
0.188854,0.978079,0.000000,
0.163481,0.021920,0.000000,
0.163481,0.978079,0.000000,
0.157134,0.978079,0.000000,
0.157134,0.021920,0.000000,
0.144024,0.978079,0.000000,
0.144024,0.021920,0.000000,
0.150371,0.021920,0.000000,
0.150371,0.978079,0.000000,
0.187257,0.021920,0.000000,
0.208189,0.021920,0.000000,
0.208189,0.978078,0.000000,
0.187257,0.978078,0.000000,
0.021920,0.021920,0.000000,
0.090930,0.021921,0.000000,
0.090930,0.978080,0.000000,
0.021920,0.978079,0.000000,
0.157551,0.021920,0.000000,
0.178483,0.021920,0.000000,
0.178483,0.978079,0.000000,
0.157551,0.978079,0.000000,
0.148778,0.021920,0.000000,
0.148778,0.978079,0.000000,
0.099703,0.978079,0.000000,
0.099703,0.021920,0.000000,
0.265838,0.021920,0.000000,
0.265838,0.978079,0.000000,
0.255870,0.978079,0.000000,
0.255870,0.021920,0.000000,
0.274611,0.978079,0.000000,
0.274611,0.021921,0.000000,
0.284579,0.021920,0.000000,
0.284579,0.978079,0.000000,
0.227643,0.021920,0.000000,
0.227643,0.978079,0.000000,
0.216963,0.978079,0.000000,
0.216963,0.021920,0.000000,
0.236416,0.978079,0.000000,
0.236417,0.021920,0.000000,
0.247097,0.021920,0.000000,
0.247097,0.978079,0.000000,
0.021920,0.060527,0.000000,
0.021920,0.021920,0.000000,
0.889212,0.021920,0.000000,
0.889212,0.060527,0.000000,
0.021920,0.110787,0.000000,
0.048555,0.110787,0.000000,
0.048555,0.978080,0.000000,
0.021920,0.978079,0.000000,
0.889213,0.066552,0.000000,
0.889213,0.104762,0.000000,
0.021920,0.104762,0.000000,
0.021920,0.066552,0.000000,
0.921872,0.060130,0.000000,
0.895237,0.060527,0.000000,
0.895237,0.021920,0.000000,
0.921872,0.021920,0.000000,
0.130461,0.021920,0.000000,
0.157510,0.021920,0.000000,
0.157510,0.978079,0.000000,
0.130461,0.978079,0.000000,
0.021920,0.021920,0.000000,
0.052690,0.021920,0.000000,
0.052690,0.978080,0.000000,
0.021920,0.978079,0.000000,
0.096761,0.021920,0.000000,
0.123811,0.021920,0.000000,
0.123811,0.978079,0.000000,
0.096761,0.978079,0.000000,
0.059341,0.021920,0.000000,
0.090111,0.021920,0.000000,
0.090111,0.978079,0.000000,
0.059341,0.978080,0.000000,
0.241954,0.021920,0.000000,
0.300198,0.021920,0.000000,
0.300198,0.978079,0.000000,
0.241954,0.978079,0.000000,
0.021920,0.021920,0.000000,
0.088177,0.021921,0.000000,
0.088177,0.978080,0.000000,
0.021920,0.978079,0.000000,
0.173951,0.021920,0.000000,
0.232195,0.021920,0.000000,
0.232195,0.978079,0.000000,
0.173951,0.978079,0.000000,
0.097936,0.021921,0.000000,
0.164192,0.021920,0.000000,
0.164192,0.978079,0.000000,
0.097936,0.978080,0.000000,
0.021920,0.061619,0.000000,
0.898703,0.061619,0.000000,
0.898703,0.095821,0.000000,
0.021920,0.095821,0.000000,
0.038359,0.101297,0.000000,
0.038359,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.021920,0.101342,0.000000,
0.898659,0.056143,0.000000,
0.021920,0.056143,0.000000,
0.021920,0.021920,0.000000,
0.898659,0.021920,0.000000,
0.904135,0.021920,0.000000,
0.920574,0.021941,0.000000,
0.920574,0.056143,0.000000,
0.904135,0.056143,0.000000,
0.619627,0.021920,0.000000,
0.705252,0.021920,0.000000,
0.705252,0.978076,0.000000,
0.619627,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.304002,0.021924,0.000000,
0.304002,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.722023,0.021920,0.000000,
0.807649,0.021920,0.000000,
0.807649,0.978076,0.000000,
0.722023,0.978076,0.000000,
0.320773,0.021924,0.000000,
0.602856,0.021920,0.000000,
0.602856,0.978076,0.000000,
0.320773,0.978080,0.000000,
0.021920,0.248307,0.000000,
0.525436,0.248307,0.000000,
0.525436,0.463767,0.000000,
0.021920,0.463767,0.000000,
0.125480,0.474564,0.000000,
0.125481,0.978080,0.000000,
0.021921,0.978080,0.000000,
0.021920,0.474848,0.000000,
0.525153,0.237510,0.000000,
0.021921,0.237510,0.000000,
0.021920,0.021920,0.000000,
0.525153,0.021920,0.000000,
0.535950,0.021920,0.000000,
0.639511,0.022050,0.000000,
0.639511,0.237510,0.000000,
0.535950,0.237510,0.000000,
0.872526,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.775098,0.000000,
0.872526,0.775098,0.000000,
0.021920,0.021920,0.000000,
0.369656,0.021925,0.000000,
0.369656,0.775103,0.000000,
0.021920,0.775098,0.000000,
0.750445,0.021920,0.000000,
0.855999,0.021920,0.000000,
0.855999,0.775098,0.000000,
0.750445,0.775098,0.000000,
0.386182,0.021925,0.000000,
0.733918,0.021920,0.000000,
0.733918,0.775098,0.000000,
0.386182,0.775103,0.000000,
0.290969,0.331492,0.000000,
0.351668,0.331492,0.000000,
0.351668,0.401723,0.000000,
0.290969,0.401723,0.000000,
0.082649,0.183372,0.000000,
0.103683,0.183372,0.000000,
0.103683,0.253603,0.000000,
0.082649,0.253603,0.000000,
0.491986,0.183372,0.000000,
0.491986,0.253603,0.000000,
0.171384,0.102646,0.000000,
0.197112,0.102646,0.000000,
0.197112,0.172877,0.000000,
0.171384,0.172877,0.000000,
0.214215,0.102646,0.000000,
0.214215,0.172877,0.000000,
0.235305,0.102646,0.000000,
0.235305,0.172877,0.000000,
0.264961,0.102646,0.000000,
0.264961,0.172877,0.000000,
0.377248,0.102646,0.000000,
0.377248,0.172877,0.000000,
0.401397,0.102646,0.000000,
0.401397,0.172877,0.000000,
0.423224,0.102646,0.000000,
0.423224,0.172877,0.000000,
0.444450,0.102646,0.000000,
0.444450,0.172877,0.000000,
0.475957,0.102646,0.000000,
0.475957,0.172877,0.000000,
0.590055,0.102646,0.000000,
0.590055,0.172877,0.000000,
0.613036,0.102646,0.000000,
0.613036,0.172877,0.000000,
0.637706,0.102646,0.000000,
0.637706,0.172877,0.000000,
0.657767,0.102646,0.000000,
0.657767,0.172877,0.000000,
0.689256,0.102646,0.000000,
0.689256,0.172877,0.000000,
0.747623,0.102646,0.000000,
0.747623,0.172877,0.000000,
0.830547,0.102646,0.000000,
0.830547,0.172877,0.000000,
0.042734,0.331492,0.000000,
0.083227,0.331492,0.000000,
0.083227,0.401723,0.000000,
0.042734,0.401723,0.000000,
0.022296,0.331492,0.000000,
0.022296,0.401723,0.000000,
0.171479,0.331492,0.000000,
0.171479,0.401723,0.000000,
0.142542,0.412218,0.000000,
0.162932,0.412218,0.000000,
0.162932,0.482449,0.000000,
0.142542,0.482449,0.000000,
0.215605,0.412218,0.000000,
0.215605,0.482449,0.000000,
0.022439,0.021920,0.000000,
0.084279,0.021920,0.000000,
0.084279,0.092151,0.000000,
0.022439,0.092151,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.092151,0.000000,
0.227798,0.331492,0.000000,
0.280471,0.331492,0.000000,
0.280471,0.401723,0.000000,
0.227798,0.401723,0.000000,
0.226096,0.412218,0.000000,
0.271902,0.412218,0.000000,
0.271902,0.482449,0.000000,
0.226096,0.482449,0.000000,
0.181992,0.331492,0.000000,
0.181992,0.401723,0.000000,
0.362156,0.331492,0.000000,
0.403993,0.331492,0.000000,
0.403993,0.401723,0.000000,
0.362156,0.401723,0.000000,
0.142538,0.492944,0.000000,
0.191591,0.492944,0.000000,
0.191591,0.563175,0.000000,
0.142538,0.563175,0.000000,
0.826558,0.183372,0.000000,
0.943965,0.183372,0.000000,
0.943965,0.253603,0.000000,
0.826558,0.253603,0.000000,
0.841180,0.102646,0.000000,
0.958588,0.102646,0.000000,
0.958588,0.172877,0.000000,
0.841180,0.172877,0.000000,
0.022280,0.573669,0.000000,
0.075290,0.573669,0.000000,
0.075290,0.643901,0.000000,
0.022280,0.643901,0.000000,
0.022353,0.183372,0.000000,
0.022353,0.253603,0.000000,
0.502594,0.183372,0.000000,
0.541628,0.183372,0.000000,
0.541628,0.253603,0.000000,
0.502594,0.253603,0.000000,
0.583394,0.183372,0.000000,
0.583394,0.253603,0.000000,
0.623703,0.183372,0.000000,
0.623703,0.253603,0.000000,
0.665560,0.183372,0.000000,
0.665560,0.253603,0.000000,
0.704788,0.183372,0.000000,
0.704788,0.253603,0.000000,
0.744720,0.183372,0.000000,
0.744720,0.253603,0.000000,
0.780833,0.183372,0.000000,
0.780833,0.253603,0.000000,
0.816012,0.183372,0.000000,
0.816012,0.253603,0.000000,
0.954460,0.183372,0.000000,
0.974897,0.183372,0.000000,
0.974897,0.253603,0.000000,
0.954460,0.253603,0.000000,
0.022412,0.102646,0.000000,
0.022412,0.172877,0.000000,
0.022273,0.654395,0.000000,
0.037915,0.654395,0.000000,
0.037915,0.724626,0.000000,
0.022273,0.724626,0.000000,
0.021920,0.411981,0.000000,
0.056776,0.411981,0.000000,
0.056776,0.482685,0.000000,
0.021920,0.482685,0.000000,
0.093575,0.411981,0.000000,
0.093575,0.482685,0.000000,
0.124335,0.411981,0.000000,
0.132410,0.411981,0.000000,
0.132410,0.482685,0.000000,
0.124335,0.482685,0.000000,
0.022339,0.264095,0.000000,
0.410641,0.264095,0.000000,
0.410641,0.320999,0.000000,
0.022339,0.320999,0.000000,
0.108544,0.563175,0.000000,
0.081503,0.556584,0.000000,
0.081503,0.501150,0.000000,
0.108544,0.492944,0.000000,
0.068051,0.501150,0.000000,
0.068051,0.492944,0.000000,
0.054985,0.501150,0.000000,
0.022285,0.492944,0.000000,
0.054985,0.556579,0.000000,
0.022285,0.563175,0.000000,
0.068051,0.556580,0.000000,
0.068051,0.563175,0.000000,
0.447503,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.489100,0.000000,
0.447503,0.489100,0.000000,
0.021920,0.021920,0.000000,
0.021920,0.489100,0.000000,
0.554612,0.085964,0.000000,
0.572454,0.085964,0.000000,
0.572454,0.106223,0.000000,
0.554612,0.106223,0.000000,
0.533753,0.085964,0.000000,
0.533753,0.106223,0.000000,
0.509290,0.085964,0.000000,
0.509290,0.106223,0.000000,
0.487899,0.085964,0.000000,
0.487899,0.106223,0.000000,
0.386438,0.085964,0.000000,
0.386438,0.106223,0.000000,
0.374103,0.085964,0.000000,
0.374103,0.106223,0.000000,
0.344895,0.085964,0.000000,
0.344895,0.106223,0.000000,
0.316230,0.085964,0.000000,
0.316230,0.106223,0.000000,
0.297246,0.085964,0.000000,
0.297246,0.106223,0.000000,
0.194149,0.085964,0.000000,
0.194149,0.106223,0.000000,
0.180499,0.085964,0.000000,
0.180499,0.106223,0.000000,
0.151092,0.085964,0.000000,
0.151092,0.106223,0.000000,
0.125850,0.085964,0.000000,
0.125850,0.106223,0.000000,
0.104512,0.085964,0.000000,
0.104512,0.106223,0.000000,
0.051773,0.085964,0.000000,
0.051773,0.106223,0.000000,
0.761153,0.086198,0.000000,
0.839053,0.086198,0.000000,
0.839053,0.105989,0.000000,
0.761153,0.105989,0.000000,
0.706566,0.086198,0.000000,
0.706566,0.105989,0.000000,
0.037127,0.235779,0.000000,
0.021920,0.218349,0.000000,
0.033004,0.218349,0.000000,
0.048211,0.235779,0.000000,
0.041240,0.256156,0.000000,
0.052325,0.256156,0.000000,
0.037127,0.280053,0.000000,
0.048211,0.280053,0.000000,
0.021920,0.300950,0.000000,
0.033004,0.300950,0.000000,
0.021920,0.400067,0.000000,
0.033004,0.400067,0.000000,
0.033537,0.412117,0.000000,
0.044621,0.412117,0.000000,
0.041292,0.440650,0.000000,
0.052376,0.440650,0.000000,
0.033537,0.468652,0.000000,
0.044621,0.468652,0.000000,
0.021920,0.487198,0.000000,
0.033004,0.487198,0.000000,
0.021920,0.587912,0.000000,
0.033004,0.587912,0.000000,
0.034206,0.601247,0.000000,
0.045290,0.601247,0.000000,
0.039297,0.629975,0.000000,
0.050381,0.629975,0.000000,
0.034206,0.654633,0.000000,
0.045290,0.654633,0.000000,
0.021920,0.675478,0.000000,
0.033004,0.675478,0.000000,
0.021920,0.726999,0.000000,
0.033004,0.714844,0.000000,
0.136709,0.167104,0.000000,
0.058809,0.167104,0.000000,
0.069928,0.154918,0.000000,
0.136709,0.154918,0.000000,
0.191296,0.167104,0.000000,
0.191296,0.154918,0.000000,
0.125579,0.148623,0.000000,
0.058798,0.148623,0.000000,
0.058798,0.128827,0.000000,
0.125579,0.128827,0.000000,
0.180166,0.148623,0.000000,
0.180166,0.128827,0.000000,
0.150060,0.059648,0.000000,
0.939025,0.059648,0.000000,
0.939025,0.079894,0.000000,
0.150060,0.079894,0.000000,
0.113130,0.059648,0.000000,
0.113130,0.079894,0.000000,
0.066337,0.059648,0.000000,
0.066337,0.079894,0.000000,
0.023037,0.059648,0.000000,
0.022852,0.079894,0.000000,
0.848599,0.122534,0.000000,
0.059634,0.122534,0.000000,
0.059634,0.112282,0.000000,
0.848599,0.112282,0.000000,
0.885529,0.122534,0.000000,
0.885529,0.112282,0.000000,
0.932322,0.122534,0.000000,
0.932322,0.112282,0.000000,
0.975806,0.122534,0.000000,
0.975806,0.112282,0.000000,
0.811817,0.053332,0.000000,
0.022852,0.053332,0.000000,
0.022852,0.021920,0.000000,
0.811817,0.021920,0.000000,
0.848747,0.053332,0.000000,
0.848747,0.021920,0.000000,
0.895540,0.053332,0.000000,
0.895540,0.021920,0.000000,
0.939025,0.053332,0.000000,
0.939025,0.021920,0.000000,
0.707063,0.085964,0.000000,
0.707063,0.106223,0.000000,
0.021920,0.086851,0.000000,
0.033004,0.086851,0.000000,
0.978080,0.086190,0.000000,
0.978080,0.098376,0.000000,
0.923493,0.098376,0.000000,
0.923493,0.086190,0.000000,
0.856712,0.098376,0.000000,
0.845593,0.086190,0.000000,
0.039556,0.105994,0.000000,
0.039556,0.086198,0.000000,
0.051742,0.086203,0.000000,
0.051742,0.105994,0.000000,
0.039555,0.132088,0.000000,
0.039555,0.112297,0.000000,
0.050644,0.112297,0.000000,
0.050639,0.132088,0.000000,
0.021920,0.021920,0.000000,
0.915693,0.021920,0.000000,
0.915693,0.047981,0.000000,
0.021920,0.047981,0.000000,
0.021920,0.978080,0.000000,
0.021920,0.084307,0.000000,
0.046663,0.084307,0.000000,
0.046663,0.978080,0.000000,
0.915693,0.079072,0.000000,
0.021920,0.079072,0.000000,
0.021920,0.053217,0.000000,
0.915693,0.053216,0.000000,
0.234519,0.181917,0.000000,
0.201615,0.181917,0.000000,
0.232425,0.123418,0.000000,
0.271039,0.123418,0.000000,
0.270840,0.065036,0.000000,
0.316499,0.065036,0.000000,
0.310317,0.021920,0.000000,
0.363218,0.021920,0.000000,
0.021920,0.181917,0.000000,
0.021920,0.123418,0.000000,
0.021920,0.065036,0.000000,
0.021921,0.021920,0.000000,
0.021921,0.978080,0.000000,
0.201635,0.978080,0.000000,
0.698828,0.199576,0.000000,
0.806597,0.199576,0.000000,
0.806597,0.364706,0.000000,
0.698828,0.364706,0.000000,
0.781482,0.021920,0.000000,
0.963699,0.021920,0.000000,
0.963699,0.187050,0.000000,
0.781482,0.187050,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.187050,0.000000,
0.570296,0.021920,0.000000,
0.570296,0.187050,0.000000,
0.480451,0.354746,0.000000,
0.498270,0.364709,0.000000,
0.176105,0.364709,0.000000,
0.176105,0.354748,0.000000,
0.023441,0.021920,0.000000,
0.147924,0.021920,0.000000,
0.147924,0.187050,0.000000,
0.023441,0.187050,0.000000,
0.371086,0.377233,0.000000,
0.495569,0.377233,0.000000,
0.495569,0.542363,0.000000,
0.371086,0.542363,0.000000,
0.534680,0.341784,0.000000,
0.596576,0.341784,0.000000,
0.596576,0.364706,0.000000,
0.510953,0.364706,0.000000,
0.686326,0.364706,0.000000,
0.660034,0.341784,0.000000,
0.660033,0.223020,0.000000,
0.686326,0.199576,0.000000,
0.191492,0.376640,0.000000,
0.359697,0.376640,0.000000,
0.359697,0.542956,0.000000,
0.191492,0.542956,0.000000,
0.021920,0.376640,0.000000,
0.021920,0.542956,0.000000,
0.359110,0.021920,0.000000,
0.359110,0.187050,0.000000,
0.079649,0.364709,0.000000,
0.079649,0.354746,0.000000,
0.596576,0.199576,0.000000,
0.596576,0.223019,0.000000,
0.534675,0.223017,0.000000,
0.510953,0.199576,0.000000,
0.056478,0.709025,0.000000,
0.142415,0.709018,0.000000,
0.157439,0.720019,0.000000,
0.023021,0.720019,0.000000,
0.142427,0.579805,0.000000,
0.157439,0.554889,0.000000,
0.056467,0.579807,0.000000,
0.023021,0.554889,0.000000,
0.023188,0.364709,0.000000,
0.040438,0.354747,0.000000,
0.023188,0.199574,0.000000,
0.040437,0.275941,0.000000,
0.079649,0.199574,0.000000,
0.079649,0.275941,0.000000,
0.176105,0.199574,0.000000,
0.176105,0.275942,0.000000,
0.480450,0.275938,0.000000,
0.498270,0.199574,0.000000,
0.429356,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.079425,0.000000,
0.429356,0.079425,0.000000,
0.415799,0.121636,0.000000,
0.416607,0.670359,0.000000,
0.388967,0.670359,0.000000,
0.390035,0.150044,0.000000,
0.949657,0.149292,0.000000,
0.429342,0.149292,0.000000,
0.429341,0.091752,0.000000,
0.949657,0.091752,0.000000,
0.178998,0.682889,0.000000,
0.178998,0.740591,0.000000,
0.021920,0.740591,0.000000,
0.021920,0.682889,0.000000,
0.050202,0.151304,0.000000,
0.206742,0.154007,0.000000,
0.209189,0.181538,0.000000,
0.025543,0.182438,0.000000,
0.610103,0.219267,0.000000,
0.610103,0.161512,0.000000,
0.794434,0.161512,0.000000,
0.794434,0.219267,0.000000,
0.388772,0.682889,0.000000,
0.388772,0.740591,0.000000,
0.428583,0.219267,0.000000,
0.428583,0.161512,0.000000,
0.063098,0.021920,0.000000,
0.192181,0.021920,0.000000,
0.192181,0.079425,0.000000,
0.063098,0.079425,0.000000,
0.050202,0.022221,0.000000,
0.022562,0.022297,0.000000,
0.182612,0.257948,0.000000,
0.022443,0.257948,0.000000,
0.022443,0.200408,0.000000,
0.182612,0.200408,0.000000,
0.978080,0.106268,0.000000,
0.021920,0.106268,0.000000,
0.021920,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.021921,0.285913,0.000000,
0.920731,0.285913,0.000000,
0.920817,0.504653,0.000000,
0.021921,0.504653,0.000000,
0.021921,0.021920,0.000000,
0.967583,0.021920,0.000000,
0.945006,0.126057,0.000000,
0.021920,0.126057,0.000000,
0.978080,0.762762,0.000000,
0.021920,0.762762,0.000000,
0.967583,0.915675,0.000000,
0.021920,0.915675,0.000000,
0.021920,0.781045,0.000000,
0.967583,0.781045,0.000000,
0.708261,0.022149,0.000000,
0.908511,0.022149,0.000000,
0.908511,0.329239,0.000000,
0.708261,0.329239,0.000000,
0.632110,0.671521,0.000000,
0.820848,0.671521,0.000000,
0.820848,0.975346,0.000000,
0.632110,0.975346,0.000000,
0.685876,0.347651,0.000000,
0.976053,0.347651,0.000000,
0.976053,0.651476,0.000000,
0.685876,0.651476,0.000000,
0.231267,0.668787,0.000000,
0.426418,0.668787,0.000000,
0.426418,0.978080,0.000000,
0.231267,0.978080,0.000000,
0.976668,0.022149,0.000000,
0.976668,0.329239,0.000000,
0.840475,0.671521,0.000000,
0.926841,0.671521,0.000000,
0.926841,0.975346,0.000000,
0.840475,0.975346,0.000000,
0.022207,0.021920,0.000000,
0.214672,0.021920,0.000000,
0.214672,0.329468,0.000000,
0.022207,0.329468,0.000000,
0.410999,0.347651,0.000000,
0.664898,0.347651,0.000000,
0.664898,0.651476,0.000000,
0.410999,0.651476,0.000000,
0.286227,0.347651,0.000000,
0.286227,0.651476,0.000000,
0.523513,0.021920,0.000000,
0.523513,0.329468,0.000000,
0.026197,0.347651,0.000000,
0.026197,0.651476,0.000000,
0.692771,0.021920,0.000000,
0.692771,0.329468,0.000000,
0.443372,0.671521,0.000000,
0.443372,0.975346,0.000000,
0.021920,0.668787,0.000000,
0.021920,0.978080,0.000000,
0.362039,0.319103,0.000000,
0.202376,0.174883,0.000000,
0.789877,0.186334,0.000000,
0.978080,0.319024,0.000000,
0.136410,0.023099,0.000000,
0.674867,0.021920,0.000000,
0.176488,0.324776,0.000000,
0.038842,0.163433,0.000000,
0.021920,0.024277,0.000000,
0.362037,0.476907,0.000000,
0.301085,0.488474,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495220,0.021920,0.000000,
0.572965,0.021920,0.000000,
0.572965,0.978076,0.000000,
0.495220,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481265,0.021920,0.000000,
0.481265,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495221,0.021920,0.000000,
0.572966,0.021920,0.000000,
0.572966,0.978076,0.000000,
0.495221,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481266,0.021920,0.000000,
0.481266,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495221,0.021920,0.000000,
0.572966,0.021920,0.000000,
0.572966,0.978076,0.000000,
0.495221,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481266,0.021920,0.000000,
0.481266,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495219,0.021920,0.000000,
0.572963,0.021920,0.000000,
0.572963,0.978076,0.000000,
0.495219,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481264,0.021920,0.000000,
0.481264,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.495221,0.021920,0.000000,
0.572966,0.021920,0.000000,
0.572966,0.978076,0.000000,
0.495221,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.198765,0.021924,0.000000,
0.198765,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.403520,0.021920,0.000000,
0.481266,0.021920,0.000000,
0.481266,0.978076,0.000000,
0.403520,0.978076,0.000000,
0.212720,0.021924,0.000000,
0.389565,0.021920,0.000000,
0.389565,0.978076,0.000000,
0.212720,0.978080,0.000000,
0.021920,0.102115,0.000000,
0.817733,0.102115,0.000000,
0.817733,0.174032,0.000000,
0.021920,0.174032,0.000000,
0.099288,0.182267,0.000000,
0.099289,0.978079,0.000000,
0.064722,0.978079,0.000000,
0.064722,0.182362,0.000000,
0.817638,0.093881,0.000000,
0.021920,0.093881,0.000000,
0.021920,0.021920,0.000000,
0.817638,0.021920,0.000000,
0.021920,0.182267,0.000000,
0.056487,0.182267,0.000000,
0.056487,0.978080,0.000000,
0.021920,0.977985,0.000000,
0.031399,0.021920,0.000000,
0.145123,0.022175,0.000000,
0.135439,0.243986,0.000000,
0.021920,0.239037,0.000000,
0.280728,0.022175,0.000000,
0.270786,0.249887,0.000000,
0.413474,0.022175,0.000000,
0.403280,0.255663,0.000000,
0.569470,0.022175,0.000000,
0.558979,0.262451,0.000000,
0.699519,0.022175,0.000000,
0.688781,0.268110,0.000000,
0.819911,0.022175,0.000000,
0.808945,0.273348,0.000000,
0.978080,0.022175,0.000000,
0.966813,0.280231,0.000000,
0.021920,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.142974,0.000000,
0.021920,0.142974,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.816399,0.823309,0.000000,
0.793229,0.823309,0.000000,
0.793229,0.461361,0.000000,
0.816399,0.461361,0.000000,
0.504369,0.404586,0.000000,
0.021921,0.404577,0.000000,
0.021920,0.042630,0.000000,
0.504368,0.042638,0.000000,
0.623734,0.440652,0.000000,
0.646903,0.440652,0.000000,
0.646903,0.923100,0.000000,
0.623734,0.923100,0.000000,
0.608378,0.923100,0.000000,
0.542893,0.923100,0.000000,
0.542893,0.440653,0.000000,
0.608378,0.440653,0.000000,
0.816399,0.844022,0.000000,
0.793229,0.844022,0.000000,
0.727744,0.440652,0.000000,
0.793229,0.440652,0.000000,
0.727744,0.461361,0.000000,
0.504369,0.425296,0.000000,
0.021921,0.425291,0.000000,
0.021920,0.021920,0.000000,
0.504368,0.021925,0.000000,
0.608379,0.425291,0.000000,
0.542893,0.425291,0.000000,
0.542893,0.404580,0.000000,
0.608379,0.404580,0.000000,
0.519724,0.021920,0.000000,
0.542893,0.021920,0.000000,
0.542893,0.042633,0.000000,
0.519724,0.042633,0.000000,
0.519724,0.404580,0.000000,
0.712388,0.440652,0.000000,
0.712388,0.923099,0.000000,
0.519724,0.923099,0.000000,
0.519724,0.440652,0.000000,
0.727744,0.844022,0.000000,
0.727744,0.823309,0.000000,
0.816399,0.440652,0.000000,
0.519724,0.425291,0.000000,
0.608379,0.021920,0.000000,
0.608379,0.042633,0.000000,
0.021920,0.440660,0.000000,
0.504368,0.440652,0.000000,
0.504368,0.802599,0.000000,
0.021920,0.802608,0.000000,
0.831754,0.440652,0.000000,
0.897239,0.440652,0.000000,
0.897239,0.923100,0.000000,
0.831754,0.923099,0.000000,
0.912595,0.440652,0.000000,
0.978080,0.440652,0.000000,
0.978080,0.923099,0.000000,
0.912595,0.923099,0.000000,
0.028083,0.883218,0.000000,
0.741023,0.883218,0.000000,
0.741023,0.895801,0.000000,
0.163112,0.895355,0.000000,
0.163112,0.863726,0.000000,
0.741023,0.863280,0.000000,
0.741023,0.875864,0.000000,
0.028083,0.875864,0.000000,
0.750719,0.855499,0.000000,
0.750719,0.842916,0.000000,
0.829132,0.842916,0.000000,
0.829132,0.855499,0.000000,
0.984243,0.883218,0.000000,
0.984243,0.895801,0.000000,
0.984243,0.863280,0.000000,
0.984243,0.875864,0.000000,
0.271304,0.731759,0.000000,
0.271304,0.810172,0.000000,
0.028084,0.810172,0.000000,
0.028083,0.731759,0.000000,
0.414389,0.914770,0.000000,
0.741023,0.941556,0.000000,
0.278659,0.764417,0.000000,
0.357072,0.764417,0.000000,
0.357072,0.810172,0.000000,
0.278659,0.810172,0.000000,
0.414389,0.844312,0.000000,
0.741023,0.817526,0.000000,
0.021920,0.698529,0.000000,
0.054710,0.698529,0.000000,
0.054710,0.708693,0.000000,
0.021920,0.708693,0.000000,
0.200305,0.124900,0.000000,
0.200305,0.135064,0.000000,
0.180025,0.135064,0.000000,
0.180025,0.124900,0.000000,
0.098733,0.428024,0.000000,
0.098733,0.438189,0.000000,
0.078368,0.438189,0.000000,
0.078368,0.428024,0.000000,
0.251936,0.124900,0.000000,
0.277958,0.124900,0.000000,
0.277958,0.135064,0.000000,
0.251936,0.135064,0.000000,
0.410330,0.698529,0.000000,
0.410330,0.708693,0.000000,
0.021929,0.550421,0.000000,
0.377574,0.550421,0.000000,
0.377574,0.560586,0.000000,
0.021929,0.560586,0.000000,
0.486459,0.169445,0.000000,
0.491350,0.169445,0.000000,
0.491400,0.189725,0.000000,
0.486508,0.189725,0.000000,
0.486332,0.117815,0.000000,
0.486332,0.091793,0.000000,
0.491267,0.088118,0.000000,
0.491223,0.117815,0.000000,
0.453912,0.086886,0.000000,
0.453912,0.081929,0.000000,
0.101520,0.038895,0.000000,
0.101520,0.033938,0.000000,
0.021929,0.360226,0.000000,
0.374321,0.408217,0.000000,
0.368519,0.414517,0.000000,
0.021995,0.367291,0.000000,
0.103255,0.112499,0.000000,
0.103255,0.099731,0.000000,
0.123535,0.099731,0.000000,
0.123535,0.112499,0.000000,
0.051625,0.112499,0.000000,
0.021928,0.112499,0.000000,
0.021928,0.099731,0.000000,
0.051625,0.099731,0.000000,
0.978080,0.034691,0.000000,
0.940210,0.034691,0.000000,
0.940199,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.584654,0.034690,0.000000,
0.584664,0.021920,0.000000,
0.169822,0.489888,0.000000,
0.169822,0.477120,0.000000,
0.190128,0.477120,0.000000,
0.190128,0.489888,0.000000,
0.371656,0.538021,0.000000,
0.021929,0.538021,0.000000,
0.021929,0.525253,0.000000,
0.371656,0.525253,0.000000,
0.448468,0.518335,0.000000,
0.491390,0.518326,0.000000,
0.491340,0.538605,0.000000,
0.448362,0.538642,0.000000,
0.491257,0.619933,0.000000,
0.453891,0.626124,0.000000,
0.448101,0.588844,0.000000,
0.491213,0.590236,0.000000,
0.101520,0.674111,0.000000,
0.101577,0.636069,0.000000,
0.490826,0.698529,0.000000,
0.490826,0.708693,0.000000,
0.021929,0.026881,0.000000,
0.021929,0.021923,0.000000,
0.504157,0.034690,0.000000,
0.504167,0.021920,0.000000,
0.021930,0.686126,0.000000,
0.021986,0.648084,0.000000,
0.052818,0.135064,0.000000,
0.052818,0.124900,0.000000,
0.225940,0.428024,0.000000,
0.225940,0.438189,0.000000,
0.021927,0.438189,0.000000,
0.021927,0.428024,0.000000,
0.491713,0.316932,0.000000,
0.486821,0.316932,0.000000,
0.457080,0.233706,0.000000,
0.451806,0.233706,0.000000,
0.451143,0.106501,0.000000,
0.456767,0.106498,0.000000,
0.374460,0.464657,0.000000,
0.368781,0.464719,0.000000,
0.250742,0.099731,0.000000,
0.250742,0.112499,0.000000,
0.042617,0.489888,0.000000,
0.042617,0.477120,0.000000,
0.240331,0.477120,0.000000,
0.240331,0.489888,0.000000,
0.449130,0.391131,0.000000,
0.491703,0.391119,0.000000,
0.021928,0.135064,0.000000,
0.021928,0.124900,0.000000,
0.246624,0.428024,0.000000,
0.246624,0.438189,0.000000,
0.491789,0.347823,0.000000,
0.486897,0.347823,0.000000,
0.281633,0.099731,0.000000,
0.281633,0.112499,0.000000,
0.021933,0.489888,0.000000,
0.021927,0.477120,0.000000,
0.449238,0.370441,0.000000,
0.491779,0.360228,0.000000,
0.098733,0.461153,0.000000,
0.078368,0.461153,0.000000,
0.277105,0.428024,0.000000,
0.282729,0.428024,0.000000,
0.282729,0.450988,0.000000,
0.277105,0.450988,0.000000,
0.190128,0.512852,0.000000,
0.169822,0.512852,0.000000,
0.259026,0.428024,0.000000,
0.264705,0.428024,0.000000,
0.264705,0.450989,0.000000,
0.259026,0.450989,0.000000,
0.246624,0.461153,0.000000,
0.225940,0.461153,0.000000,
0.021926,0.586889,0.000000,
0.027144,0.586889,0.000000,
0.027144,0.609853,0.000000,
0.021926,0.609853,0.000000,
0.042617,0.512852,0.000000,
0.021933,0.512852,0.000000,
0.295129,0.428024,0.000000,
0.300404,0.428024,0.000000,
0.300404,0.450988,0.000000,
0.295129,0.450988,0.000000,
0.622945,0.021920,0.000000,
0.709060,0.021920,0.000000,
0.709060,0.978076,0.000000,
0.622945,0.978076,0.000000,
0.021920,0.021920,0.000000,
0.305614,0.021924,0.000000,
0.305614,0.978080,0.000000,
0.021920,0.978076,0.000000,
0.725879,0.021920,0.000000,
0.811993,0.021920,0.000000,
0.811993,0.978075,0.000000,
0.725879,0.978075,0.000000,
0.322433,0.021924,0.000000,
0.606126,0.021920,0.000000,
0.606126,0.978076,0.000000,
0.322433,0.978080,0.000000,
0.062392,0.021920,0.000000,
0.090445,0.021920,0.000000,
0.090445,0.978080,0.000000,
0.062392,0.978079,0.000000,
0.021920,0.021920,0.000000,
0.056439,0.021920,0.000000,
0.056439,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.096397,0.021920,0.000000,
0.124450,0.021920,0.000000,
0.124450,0.978079,0.000000,
0.096397,0.978080,0.000000,
0.164922,0.049972,0.000000,
0.130402,0.049972,0.000000,
0.130402,0.021920,0.000000,
0.164922,0.021920,0.000000,
0.130402,0.055925,0.000000,
0.164922,0.055925,0.000000,
0.164922,0.083978,0.000000,
0.130402,0.083978,0.000000,
0.076907,0.978080,0.000000,
0.076907,0.021920,0.000000,
0.124522,0.021920,0.000000,
0.124522,0.978080,0.000000,
0.131840,0.978080,0.000000,
0.131840,0.021920,0.000000,
0.174450,0.021920,0.000000,
0.174450,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.021920,0.021920,0.000000,
0.069589,0.021920,0.000000,
0.069589,0.978080,0.000000,
0.224378,0.069589,0.000000,
0.181768,0.069589,0.000000,
0.181768,0.021974,0.000000,
0.224378,0.021920,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.371545,0.033191,0.000000,
0.400871,0.033191,0.000000,
0.400871,0.966809,0.000000,
0.371545,0.966809,0.000000,
0.426660,0.033191,0.000000,
0.426660,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.045282,0.021920,0.000000,
0.045282,0.978080,0.000000,
0.021920,0.978080,0.000000,
0.073940,0.021920,0.000000,
0.073940,0.978080,0.000000,
0.104437,0.021920,0.000000,
0.104437,0.978080,0.000000,
0.133095,0.021920,0.000000,
0.133095,0.978080,0.000000,
0.156457,0.021920,0.000000,
0.156457,0.978080,0.000000,
0.441568,0.033192,0.000000,
0.467356,0.033192,0.000000,
0.467356,0.966808,0.000000,
0.441568,0.966808,0.000000,
0.496682,0.033192,0.000000,
0.496682,0.966808,0.000000,
0.526008,0.033192,0.000000,
0.526008,0.966808,0.000000,
0.551796,0.033192,0.000000,
0.551796,0.966808,0.000000,
0.168446,0.021920,0.000000,
0.191808,0.021920,0.000000,
0.191808,0.978080,0.000000,
0.168446,0.978080,0.000000,
0.220466,0.021920,0.000000,
0.220466,0.978080,0.000000,
0.250963,0.021920,0.000000,
0.250963,0.978080,0.000000,
0.279621,0.021920,0.000000,
0.279621,0.978080,0.000000,
0.302983,0.021920,0.000000,
0.302983,0.978080,0.000000,
0.316431,0.033191,0.000000,
0.342220,0.033191,0.000000,
0.342220,0.966809,0.000000,
0.316431,0.966809,0.000000,
0.021920,0.021920,0.000000,
0.807388,0.021920,0.000000,
0.807388,0.099124,0.000000,
0.021920,0.099124,0.000000,
0.021920,0.978080,0.000000,
0.021920,0.192612,0.000000,
0.095219,0.192612,0.000000,
0.095219,0.978080,0.000000,
0.807388,0.184165,0.000000,
0.021920,0.184165,0.000000,
0.021920,0.107571,0.000000,
0.807390,0.107571,0.000000,
0.057969,0.915432,0.000000,
0.034094,0.915432,0.000000,
0.034094,0.879881,0.000000,
0.057969,0.879791,0.000000,
0.084953,0.915432,0.000000,
0.085051,0.879643,0.000000,
0.034094,0.867479,0.000000,
0.034094,0.638532,0.000000,
0.057969,0.638352,0.000000,
0.057969,0.867226,0.000000,
0.034094,0.550696,0.000000,
0.034094,0.535527,0.000000,
0.068127,0.538875,0.000000,
0.057969,0.550517,0.000000,
0.022044,0.550696,0.000000,
0.022044,0.535527,0.000000,
0.034094,0.525443,0.000000,
0.070874,0.525264,0.000000,
0.022044,0.525443,0.000000,
0.034094,0.513008,0.000000,
0.068127,0.509301,0.000000,
0.022044,0.513008,0.000000,
0.034094,0.495523,0.000000,
0.057969,0.495343,0.000000,
0.022044,0.495523,0.000000,
0.034094,0.429317,0.000000,
0.057969,0.429137,0.000000,
0.022044,0.429317,0.000000,
0.034094,0.415079,0.000000,
0.065729,0.421088,0.000000,
0.022044,0.415079,0.000000,
0.034094,0.402209,0.000000,
0.070909,0.402030,0.000000,
0.021920,0.402209,0.000000,
0.034094,0.389694,0.000000,
0.065729,0.383325,0.000000,
0.021920,0.389694,0.000000,
0.034094,0.371117,0.000000,
0.057969,0.370938,0.000000,
0.021920,0.371117,0.000000,
0.034094,0.303844,0.000000,
0.057969,0.303665,0.000000,
0.021920,0.303844,0.000000,
0.034094,0.290294,0.000000,
0.066175,0.294758,0.000000,
0.021920,0.290294,0.000000,
0.034094,0.275748,0.000000,
0.069576,0.275569,0.000000,
0.021920,0.275748,0.000000,
0.034094,0.263920,0.000000,
0.066175,0.259098,0.000000,
0.021920,0.263920,0.000000,
0.034094,0.245354,0.000000,
0.057969,0.245175,0.000000,
0.021920,0.245354,0.000000,
0.034094,0.210940,0.000000,
0.057969,0.210761,0.000000,
0.021920,0.210940,0.000000,
0.033970,0.162047,0.000000,
0.057845,0.161868,0.000000,
0.021920,0.162047,0.000000,
0.109879,0.161868,0.000000,
0.110003,0.210761,0.000000,
0.146464,0.161868,0.000000,
0.146464,0.210761,0.000000,
0.109879,0.149846,0.000000,
0.146464,0.149846,0.000000,
0.109879,0.118789,0.000000,
0.146341,0.118789,0.000000,
0.673335,0.118789,0.000000,
0.673459,0.149846,0.000000,
0.698127,0.118789,0.000000,
0.698127,0.149846,0.000000,
0.729382,0.118789,0.000000,
0.729382,0.149846,0.000000,
0.758304,0.118789,0.000000,
0.758304,0.149846,0.000000,
0.673335,0.091782,0.000000,
0.698003,0.091782,0.000000,
0.729382,0.091782,0.000000,
0.758304,0.091782,0.000000,
0.698003,0.021920,0.000000,
0.729259,0.021920,0.000000,
0.620918,0.643022,0.000000,
0.596293,0.643022,0.000000,
0.596293,0.612378,0.000000,
0.620918,0.612371,0.000000,
0.596293,0.297980,0.000000,
0.620918,0.297980,0.000000,
0.620918,0.563665,0.000000,
0.596293,0.563693,0.000000,
0.560800,0.612384,0.000000,
0.560800,0.643023,0.000000,
0.516304,0.643023,0.000000,
0.516304,0.612384,0.000000,
0.620918,0.592115,0.000000,
0.596293,0.592129,0.000000,
0.560800,0.563720,0.000000,
0.560800,0.592143,0.000000,
0.516304,0.592143,0.000000,
0.516304,0.563720,0.000000,
0.497358,0.646663,0.000000,
0.497358,0.616063,0.000000,
0.458839,0.655481,0.000000,
0.458839,0.621804,0.000000,
0.424734,0.667913,0.000000,
0.424734,0.630028,0.000000,
0.386560,0.686377,0.000000,
0.390295,0.639260,0.000000,
0.355824,0.708644,0.000000,
0.356686,0.650393,0.000000,
0.326157,0.741080,0.000000,
0.326157,0.646817,0.000000,
0.294645,0.658170,0.000000,
0.302313,0.623076,0.000000,
0.300151,0.774903,0.000000,
0.284994,0.708113,0.000000,
0.285307,0.799213,0.000000,
0.265354,0.746769,0.000000,
0.269797,0.828214,0.000000,
0.239871,0.787199,0.000000,
0.256294,0.860956,0.000000,
0.208942,0.822139,0.000000,
0.252255,0.880864,0.000000,
0.217566,0.880453,0.000000,
0.244824,0.931202,0.000000,
0.210480,0.930923,0.000000,
0.244484,0.978080,0.000000,
0.209131,0.977801,0.000000,
0.166612,0.880453,0.000000,
0.176584,0.857615,0.000000,
0.150775,0.880453,0.000000,
0.159241,0.839231,0.000000,
0.129147,0.880711,0.000000,
0.149474,0.847183,0.000000,
0.107099,0.880177,0.000000,
0.118888,0.860243,0.000000,
0.084950,0.867226,0.000000,
0.084950,0.844718,0.000000,
0.111457,0.840060,0.000000,
0.084950,0.820092,0.000000,
0.106898,0.815039,0.000000,
0.084950,0.796326,0.000000,
0.102129,0.791246,0.000000,
0.084950,0.771646,0.000000,
0.099405,0.768769,0.000000,
0.084950,0.748517,0.000000,
0.101819,0.745548,0.000000,
0.084950,0.724973,0.000000,
0.103206,0.722831,0.000000,
0.084950,0.703680,0.000000,
0.106350,0.704108,0.000000,
0.084950,0.682938,0.000000,
0.094171,0.682793,0.000000,
0.136430,0.832280,0.000000,
0.123676,0.809505,0.000000,
0.115956,0.785769,0.000000,
0.113271,0.765971,0.000000,
0.114757,0.743350,0.000000,
0.118709,0.721352,0.000000,
0.123176,0.708276,0.000000,
0.130450,0.695385,0.000000,
0.105324,0.665695,0.000000,
0.139017,0.681554,0.000000,
0.118611,0.648631,0.000000,
0.150273,0.669087,0.000000,
0.132266,0.636029,0.000000,
0.162226,0.659033,0.000000,
0.147323,0.632133,0.000000,
0.173667,0.611331,0.000000,
0.190354,0.642583,0.000000,
0.175369,0.650842,0.000000,
0.144436,0.592458,0.000000,
0.162154,0.592463,0.000000,
0.198193,0.606915,0.000000,
0.208802,0.636184,0.000000,
0.186679,0.592463,0.000000,
0.224769,0.606915,0.000000,
0.233845,0.633562,0.000000,
0.213255,0.592463,0.000000,
0.253066,0.611331,0.000000,
0.258264,0.634291,0.000000,
0.241552,0.592463,0.000000,
0.277781,0.611331,0.000000,
0.280121,0.638538,0.000000,
0.276020,0.592463,0.000000,
0.497358,0.592143,0.000000,
0.458839,0.592143,0.000000,
0.424734,0.592143,0.000000,
0.394030,0.592143,0.000000,
0.357548,0.592143,0.000000,
0.326157,0.592143,0.000000,
0.302020,0.592483,0.000000,
0.276198,0.651586,0.000000,
0.278156,0.645343,0.000000,
0.640670,0.643022,0.000000,
0.640670,0.612364,0.000000,
0.560800,0.297981,0.000000,
0.640670,0.563638,0.000000,
0.640670,0.297980,0.000000,
0.640670,0.592101,0.000000,
0.022044,0.638532,0.000000,
0.142021,0.631584,0.000000,
0.142019,0.592458,0.000000,
0.132266,0.631587,0.000000,
0.123450,0.636029,0.000000,
0.123450,0.631587,0.000000,
0.128424,0.639577,0.000000,
0.123450,0.639577,0.000000,
0.057845,0.149846,0.000000,
0.057845,0.118787,0.000000,
0.899192,0.021920,0.000000,
0.899192,0.525619,0.000000,
0.821602,0.525619,0.000000,
0.821602,0.021920,0.000000,
0.978080,0.021920,0.000000,
0.978080,0.525619,0.000000,
0.386429,0.021920,0.000000,
0.386429,0.525619,0.000000,
0.238110,0.525619,0.000000,
0.238110,0.021920,0.000000,
0.070645,0.525619,0.000000,
0.070645,0.021920,0.000000,
0.021920,0.525619,0.000000,
0.021920,0.021920,0.000000,
0.604016,0.021920,0.000000,
0.604016,0.525619,0.000000,
];
const indicesconj_textura = [
{nombre: "Piso1",
escala: 8,
triangulos: [0,1,2,
2,3,0,
4,5,6,
6,7,4,
7,6,8,
8,9,7,
9,8,10,
10,11,9,
11,10,12,
12,13,11,
13,12,14,
14,15,13,
15,14,16,
16,17,15,
14,12,18,
18,19,14,
19,18,20,
20,21,19,
20,18,22,
22,23,20,
21,24,25,
25,19,21,
21,20,26,
26,27,21,
20,23,28,
28,26,20,
24,29,30,
30,31,24,
27,26,32,
32,33,27,
26,28,34,
34,32,26,
29,35,36,
36,30,29,
37,31,38,
38,39,37,
31,30,40,
40,38,31,
30,36,41,
41,40,30,
31,37,25,
25,24,31,
21,27,29,
29,24,21,
27,33,35,
35,29,27,
38,42,43,
43,39,38,
40,44,42,
42,38,40,
41,45,44,
44,40,41,
46,47,48,
48,49,46,
47,50,51,
51,48,47,
52,53,54,
54,55,52,
56,52,55,
55,57,56,
58,56,57,
57,59,58,
60,61,62,
62,63,60,
64,65,66,
66,67,64,
47,46,53,
53,52,47,
50,47,52,
52,56,50,
68,50,56,
56,58,68,
65,60,63,
63,66,65,
69,70,71,
71,72,69,
70,73,74,
74,71,70,
32,75,76,
76,33,32,
34,77,75,
75,32,34,
33,76,78,
78,35,33,
36,79,80,
80,41,36,
35,78,79,
79,36,35,
81,82,83,
83,59,81,
59,83,84,
84,58,59,
58,84,85,
85,68,58,
55,54,86,
86,87,55,
57,55,87,
87,88,57,
59,57,88,
88,81,59,
45,89,82,
82,81,45,
43,90,91,
91,39,43,
90,92,93,
93,91,90,
92,94,95,
95,93,92,
87,86,43,
43,42,87,
88,87,42,
42,44,88,
81,88,44,
44,45,81,
41,80,89,
89,45,41,
86,96,90,
90,43,86,
96,97,92,
92,90,96,
97,98,94,
94,92,97,
95,94,99,
99,100,95,
100,99,101,
101,102,100,
103,104,76,
76,75,103,
105,103,75,
75,77,105,
104,106,78,
78,76,104,
107,108,80,
80,79,107,
106,107,79,
79,78,106,
109,110,83,
83,82,109,
110,111,84,
84,83,110,
111,112,85,
85,84,111,
113,109,82,
82,89,113,
108,113,89,
89,80,108,
105,114,115,
115,116,105,
114,117,118,
118,115,114,
118,119,120,
120,115,118,
121,122,123,
123,124,121,
125,122,117,
117,126,125,
127,128,129,
129,130,127,
126,131,132,
132,125,126,
132,133,134,
134,128,132,
135,133,132,
132,131,135,
136,134,137,
137,138,136,
138,137,139,
139,140,138,
69,141,61,
61,60,69,
54,53,63,
63,62,54,
73,70,65,
65,64,73,
46,49,67,
67,66,46,
70,69,60,
60,65,70,
53,46,66,
66,63,53,
61,141,98,
98,97,61,
62,61,97,
97,96,62,
54,62,96,
96,86,54,
130,142,123,
123,127,130,
125,132,128,
128,127,125,
136,129,128,
128,134,136,
134,133,143,
143,137,134,
137,143,144,
144,139,137,
124,145,146,
146,147,124,
148,149,104,
104,103,148,
116,148,103,
103,105,116,
149,150,106,
106,104,149,
151,152,108,
108,107,151,
150,151,107,
107,106,150,
153,154,110,
110,109,153,
154,155,111,
111,110,154,
155,156,112,
112,111,155,
157,153,109,
109,113,157,
152,157,113,
113,108,152,
77,158,114,
114,105,77,
158,126,117,
117,114,158,
122,125,127,
127,123,122,
122,121,118,
118,117,122,
142,145,124,
124,123,142,
159,160,142,
142,130,159,
129,136,161,
161,162,129,
130,129,162,
162,163,130,
138,164,161,
161,136,138,
140,165,164,
164,138,140,
166,167,168,
140,166,168,
165,140,168,
167,166,169,
169,170,167,
170,171,172,
172,167,170,
173,172,171,
171,174,173,
172,175,168,
168,167,172,
176,160,177,
177,178,176,
172,173,179,
172,179,180,
172,180,175,
179,181,182,
182,180,179,
181,183,184,
184,182,181,
184,183,185,
185,186,184,
186,185,187,
187,188,186,
189,176,178,
187,189,178,
188,187,178,
142,160,190,
190,145,142,
145,190,191,
191,146,145,
146,191,192,
192,193,146,
194,195,120,
120,119,194,
177,160,159,
163,177,159,
130,163,159,
1,196,197,
197,2,1,
3,6,5,
5,0,3,
196,174,171,
171,197,196,
],},{
nombre: "Piso0",
escala: 5,
triangulos: [198,199,200,
200,201,198,
199,202,203,
203,204,199,
204,203,205,
205,206,204,
202,207,208,
208,203,202,
205,203,208,
208,209,205,
205,209,210,
210,211,205,
211,210,212,
212,213,211,
213,212,214,
214,215,213,
207,216,217,
217,208,207,
209,208,217,
217,218,209,
210,209,218,
218,219,210,
212,210,219,
219,220,212,
214,212,220,
220,221,214,
216,222,223,
223,217,216,
218,217,223,
223,224,218,
219,218,224,
224,225,219,
220,219,225,
225,226,220,
221,220,226,
226,227,221,
223,222,228,
228,229,223,
224,223,229,
229,230,224,
225,224,230,
230,231,225,
226,225,231,
231,232,226,
227,226,232,
232,233,227,
199,204,234,
234,200,199,
198,235,202,
202,199,198,
235,236,207,
207,202,235,
236,237,216,
216,207,236,
237,238,222,
222,216,237,
222,238,239,
239,228,222,
227,233,240,
240,241,227,
228,239,242,
242,243,228,
230,229,244,
244,245,230,
231,230,245,
245,246,231,
232,231,246,
246,247,232,
233,232,247,
247,248,233,
229,228,249,
249,244,229,
240,233,248,
248,250,240,
228,243,251,
251,249,228,
245,244,252,
252,253,245,
246,245,253,
253,254,246,
247,246,254,
254,255,247,
248,247,255,
255,256,248,
244,249,257,
257,252,244,
250,248,256,
256,258,250,
249,251,259,
259,257,249,
253,252,260,
260,261,253,
254,253,261,
261,262,254,
255,254,262,
262,263,255,
256,255,263,
263,264,256,
252,257,265,
265,260,252,
258,256,264,
264,266,258,
257,259,267,
267,265,257,
261,260,268,
268,269,261,
262,261,269,
269,270,262,
263,262,270,
270,271,263,
264,263,271,
271,272,264,
260,265,273,
273,268,260,
266,264,272,
272,274,266,
265,267,275,
275,273,265,
269,268,276,
276,277,269,
270,269,277,
277,278,270,
271,270,278,
278,279,271,
272,271,279,
279,280,272,
268,273,281,
281,276,268,
274,272,280,
280,282,274,
273,275,283,
283,281,273,
277,276,284,
284,285,277,
278,277,285,
285,286,278,
279,278,286,
286,287,279,
280,279,287,
287,288,280,
276,281,289,
289,284,276,
282,280,288,
288,290,282,
281,283,291,
291,289,281,
285,284,292,
292,293,285,
286,285,293,
293,294,286,
287,286,294,
294,295,287,
288,287,295,
295,296,288,
284,289,297,
297,292,284,
290,288,296,
296,298,290,
289,291,299,
299,297,289,
],},{
nombre: "Piso2",
escala: 8,
triangulos: [300,301,302,
302,303,300,
304,305,301,
301,300,304,
306,307,308,
308,309,306,
310,311,312,
312,313,310,
314,310,313,
313,315,314,
313,312,316,
316,317,313,
315,313,317,
317,318,315,
317,316,319,
319,320,317,
318,317,320,
320,321,318,
320,319,322,
322,323,320,
321,320,323,
323,324,321,
323,322,325,
325,326,323,
324,323,326,
326,327,324,
326,325,328,
328,329,326,
327,326,329,
329,330,327,
329,328,331,
331,332,329,
330,329,332,
332,333,330,
332,331,334,
334,335,332,
333,332,335,
335,336,333,
335,334,337,
337,338,335,
336,335,338,
338,339,336,
338,337,340,
340,341,338,
339,338,341,
341,342,339,
341,340,343,
343,344,341,
342,341,344,
344,345,342,
344,343,346,
346,347,344,
345,344,347,
347,348,345,
347,346,349,
349,350,347,
348,347,350,
350,351,348,
350,349,352,
352,353,350,
351,350,353,
353,354,351,
353,352,355,
355,356,353,
354,353,356,
356,357,354,
356,355,358,
358,359,356,
357,356,359,
359,360,357,
358,355,361,
361,362,358,
362,361,363,
363,364,362,
362,364,365,
365,366,362,
366,365,367,
367,368,366,
367,365,369,
369,370,367,
370,369,371,
371,372,370,
372,371,373,
373,374,372,
374,373,375,
375,376,374,
370,372,377,
377,378,370,
372,374,379,
379,377,372,
374,376,380,
380,379,374,
377,379,381,
381,382,377,
383,384,385,
385,386,383,
387,388,389,
389,390,387,
391,392,393,
393,394,391,
388,395,396,
396,389,388,
397,398,399,
399,400,397,
393,392,401,
401,402,393,
402,401,403,
403,404,402,
404,403,405,
405,406,404,
406,405,407,
407,408,406,
408,407,409,
409,410,408,
410,409,411,
411,412,410,
411,413,414,
414,412,411,
412,414,415,
415,416,412,
416,415,417,
417,418,416,
418,417,419,
419,420,418,
420,419,421,
421,422,420,
422,421,423,
423,424,422,
424,423,425,
425,426,424,
426,425,427,
427,428,426,
423,421,429,
429,430,423,
430,429,431,
431,432,430,
432,431,433,
433,434,432,
434,433,435,
435,436,434,
301,307,306,
306,302,301,
437,307,301,
301,305,437,
437,435,438,
438,439,437,
438,440,441,
441,439,438,
440,442,443,
443,441,440,
442,444,445,
445,443,442,
444,446,447,
447,445,444,
446,448,449,
449,447,446,
448,450,451,
451,449,448,
450,452,453,
453,451,450,
437,305,436,
436,435,437,
435,433,454,
454,438,435,
438,454,455,
455,440,438,
440,455,456,
456,442,440,
456,457,444,
444,442,456,
457,458,446,
446,444,457,
458,459,448,
448,446,458,
459,460,450,
450,448,459,
460,461,452,
452,450,460,
452,461,462,
462,463,452,
463,462,464,
464,465,463,
464,466,467,
467,465,464,
468,469,470,
470,471,468,
468,471,472,
472,473,468,
466,469,468,
468,467,466,
471,470,474,
474,475,471,
472,471,475,
475,476,472,
475,474,477,
477,478,475,
476,475,478,
478,479,476,
478,477,480,
480,481,478,
479,478,481,
481,482,479,
481,480,483,
483,484,481,
482,481,484,
484,485,482,
395,385,384,
384,396,395,
400,399,392,
392,391,400,
392,399,486,
486,401,392,
401,486,487,
487,403,401,
403,487,488,
488,405,403,
405,488,489,
489,407,405,
407,489,490,
490,409,407,
409,490,491,
491,411,409,
491,492,413,
413,411,491,
484,483,414,
414,413,484,
485,484,413,
413,492,485,
414,483,493,
493,494,414,
495,496,384,
384,383,495,
391,394,386,
386,385,391,
497,397,388,
388,387,497,
498,499,390,
390,389,498,
397,400,395,
395,388,397,
500,498,389,
389,396,500,
400,391,385,
385,395,400,
496,500,396,
396,384,496,
309,308,311,
311,310,309,
309,310,314,
314,501,309,
468,473,502,
502,503,468,
467,468,503,
503,504,467,
467,504,505,
505,506,467,
467,506,507,
507,508,467,
362,366,509,
509,358,362,
368,510,509,
509,366,368,
],},{nombre: "ColumnaPlaza002", triangulos: [511,512,513,
513,514,511,
515,516,517,
517,518,515,
519,520,521,
521,522,519,
523,524,525,
525,526,523,
],},{nombre: "ColumnaPlaza003", triangulos: [527,528,529,
529,530,527,
531,532,533,
533,534,531,
535,536,537,
537,538,535,
539,540,541,
541,542,539,
],},{nombre: "ColumnaPlaza004", triangulos: [543,544,545,
545,546,543,
547,548,549,
549,550,547,
551,552,553,
553,554,551,
555,556,557,
557,558,555,
],},{nombre: "ColumnaPlaza005", triangulos: [559,560,561,
561,562,559,
563,564,565,
565,566,563,
567,568,569,
569,570,567,
571,572,573,
573,574,571,
],},{nombre: "ColumnaPlaza006", triangulos: [575,576,577,
577,578,575,
579,580,581,
581,582,579,
583,584,585,
585,586,583,
587,588,589,
589,590,587,
],},{nombre: "ColumnaEntrada007", triangulos: [591,592,593,
593,594,591,
595,596,597,
597,598,595,
599,600,601,
601,602,599,
603,604,605,
605,606,603,
],},{nombre: "ColumnaEntrada008", triangulos: [607,608,609,
609,610,607,
611,612,613,
613,614,611,
615,616,617,
617,618,615,
619,620,621,
621,622,619,
],},{nombre: "ColumnaEntrada009", triangulos: [623,624,625,
625,626,623,
627,628,629,
629,630,627,
631,632,633,
633,634,631,
635,636,637,
637,638,635,
],},{nombre: "ColumnaEntrada010", triangulos: [639,640,641,
641,642,639,
643,644,645,
645,646,643,
647,648,649,
649,650,647,
651,652,653,
653,654,651,
],},{nombre: "ColumnaRampa021", triangulos: [655,656,657,
657,658,655,
659,660,661,
661,662,659,
663,664,665,
665,666,663,
667,668,669,
669,670,667,
],},{nombre: "ColumnaPlazaEsq022", triangulos: [671,672,673,
673,674,671,
675,676,677,
677,678,675,
679,680,681,
681,682,679,
683,684,685,
685,686,683,
],},{nombre: "ColumnaPlazaEsq023", triangulos: [687,688,689,
689,690,687,
691,692,693,
693,694,691,
695,696,697,
697,698,695,
699,700,701,
701,702,699,
],},{nombre: "ColumnaPlaza024", triangulos: [703,704,705,
705,706,703,
707,708,709,
709,710,707,
711,712,713,
713,714,711,
715,716,717,
717,718,715,
],},{nombre: "ColumnaPlaza025", triangulos: [719,720,721,
721,722,719,
723,724,725,
725,726,723,
727,728,729,
729,730,727,
731,732,733,
733,734,731,
],},{nombre: "ColumnaPlaza026", triangulos: [735,736,737,
737,738,735,
739,740,741,
741,742,739,
743,744,745,
745,746,743,
747,748,749,
749,750,747,
],},{nombre: "ColumnaPlazaPeq027", triangulos: [751,752,753,
753,754,751,
755,756,757,
757,758,755,
759,760,761,
761,762,759,
763,764,765,
765,766,763,
],},{
nombre: "RampaCC030",
escala: 3,
triangulos: [767,768,769,
769,770,767,
768,767,771,
771,772,768,
772,771,773,
773,774,772,
774,773,775,
775,776,774,
777,778,768,
768,772,777,
779,812,813,
771,767,780,
780,781,771,
773,771,781,
781,782,773,
775,773,782,
782,783,775,
781,780,784,
784,785,781,
786,787,788,
788,789,786,
789,788,790,
790,791,789,
791,790,792,
792,793,791,
793,792,787,
787,786,793,
794,795,796,
796,797,794,
795,798,799,
799,796,795,
798,800,801,
801,799,798,
800,794,797,
797,801,800,
802,803,804,
804,805,802,
803,806,807,
807,804,803,
808,809,810,
810,811,808,
809,802,805,
805,810,809,
801,792,790,
790,799,801,
],},{
nombre: "RampaCB031",
escala: 7,
triangulos: [825,826,827,
827,828,825,
826,825,829,
829,830,826,
830,829,831,
831,832,830,
832,831,833,
833,834,832,
835,836,837,
837,838,835,
838,837,839,
839,840,838,
840,839,828,
828,827,840,
841,830,832,
832,842,841,
840,843,844,
844,838,840,
829,845,846,
846,831,829,
837,847,848,
848,839,837,
],},{nombre: "EscaleraCC032",
escala: 3,
triangulos: [869,870,871,
871,872,869,
870,869,873,
873,874,870,
874,873,875,
875,876,874,
876,875,877,
877,878,876,
879,880,881,
881,882,879,
882,881,883,
883,884,882,
884,883,872,
872,871,884,
885,875,873,
873,886,885,
881,887,888,
888,883,881,
889,874,876,
876,890,889,
884,891,892,
892,882,884,
],},{
nombre: "EscaleraEntrada033",
escala: 1.5,
triangulos: [909,910,911,
911,912,909,
910,909,913,
913,914,910,
914,913,915,
915,916,914,
916,915,917,
917,918,916,
919,920,921,
921,922,919,
922,921,923,
923,924,922,
924,923,912,
912,911,924,
925,915,913,
913,926,925,
921,927,928,
928,923,921,
929,914,916,
916,930,929,
924,931,932,
932,922,924,
933,934,935,
935,936,933,
937,938,939,
939,940,937,
940,939,941,
941,942,940,
942,941,936,
936,935,942,
939,938,943,
943,944,939,
945,946,947,
947,948,945,
945,948,949,
949,934,945,
934,949,950,
950,935,934,
933,936,951,
951,952,933,
936,953,954,
954,951,936,
937,940,955,
955,956,937,
940,942,957,
957,955,940,
942,935,950,
950,957,942,
958,959,960,
960,961,958,
959,962,963,
963,960,959,
964,965,966,
947,946,967,
967,968,947,
],},{
nombre: "SalaCC034",
escala: 8,
triangulos: [991,992,993,
993,994,991,
995,991,994,
994,996,995,
997,995,996,
996,998,997,
999,997,998,
998,1000,999,
1001,999,1000,
1000,1002,1001,
1003,1004,1005,
1005,1006,1003,
1007,1008,1009,
1009,1010,1007,
1011,1012,1013,
1013,1014,1011,
1015,1011,1014,
1014,1016,1015,
1017,1015,1016,
1016,1018,1017,
1019,1017,1018,
1018,1020,1019,
1021,1019,1020,
1020,1022,1021,
1023,1021,1022,
1022,1024,1023,
1025,1023,1024,
1024,1026,1025,
1027,1025,1026,
1026,1028,1027,
1029,1027,1028,
1028,1030,1029,
1031,1029,1030,
1030,1032,1031,
1033,1034,1035,
1035,1036,1033,
1037,1038,1039,
1039,1040,1037,
1038,1033,1036,
1036,1039,1038,
1041,1037,1040,
1040,1042,1041,
1043,1041,1042,
1042,1044,1043,
1045,1043,1044,
1044,1046,1045,
1047,1045,1046,
1046,1048,1047,
1049,1050,1051,
1051,1052,1049,
1053,1054,1055,
1055,1056,1053,
1057,1049,1052,
1052,1058,1057,
1059,1060,1054,
1054,1053,1059,
1061,1062,1063,
1063,1064,1065,
1061,1063,1065,
1065,1066,1067,
1067,1068,1069,
1065,1067,1069,
1061,1065,1069,
1069,1070,1071,
1071,1072,1073,
1069,1071,1073,
1073,1074,1075,
1075,1076,1077,
1073,1075,1077,
1069,1073,1077,
1077,1078,1079,
1079,1080,1081,
1077,1079,1081,
1081,1082,1083,
1083,1084,1085,
1081,1083,1085,
1077,1081,1085,
1069,1077,1085,
1061,1069,1085,
1086,1061,1085,
1086,1085,1087,
1088,1086,1087,
],},{
nombre: "TechoEspejoAgua035",
escala: 6,
triangulos: [1089,1090,1091,
1091,1092,1089,
1090,1089,1093,
1093,1094,1090,
1095,1096,1094,
1094,1093,1095,
1097,1098,1099,
1099,1100,1097,
1101,1089,1092,
1101,1092,1099,
1098,1101,1099,
1089,1101,1102,
1102,1093,1089,
1102,1103,1104,
1104,1095,1093,
1102,1104,1093,
1104,1103,1105,
1105,1106,1104,
1106,1105,1107,
1107,1108,1106,
1107,1109,1110,
1110,1108,1107,
1109,1111,1112,
1112,1110,1109,
1113,1114,1115,
1113,1115,1112,
1111,1113,1112,
1114,1113,1116,
1116,1117,1114,
1118,1119,1120,
1118,1120,1117,
1116,1118,1117,
1119,1118,1121,
1121,1122,1119,
1122,1121,1123,
1123,1124,1122,
1123,1097,1100,
1100,1124,1123,
1125,1126,1127,
1127,1128,1125,
1129,1130,1131,
1131,1132,1129,
1133,1129,1132,
1132,1134,1133,
1135,1133,1134,
1134,1136,1135,
1137,1138,1139,
1139,1140,1137,
1141,1137,1140,
1140,1142,1141,
1143,1141,1142,
1142,1144,1143,
1145,1143,1144,
1144,1146,1145,
1147,1148,1149,
1149,1150,1147,
1151,1147,1150,
1150,1152,1151,
1153,1151,1152,
1152,1154,1153,
1155,1156,1157,
1157,1158,1155,
1159,1155,1158,
1158,1160,1159,
1126,1159,1160,
1160,1127,1126,
],},{nombre: "ColumnaEspejoAgua036", triangulos: [1161,1162,1163,
1163,1164,1161,
1165,1166,1167,
1167,1168,1165,
1169,1170,1171,
1171,1172,1169,
1173,1174,1175,
1175,1176,1173,
],},{nombre: "ColumnaEspejoAgua037", triangulos: [1177,1178,1179,
1179,1180,1177,
1181,1182,1183,
1183,1184,1181,
1185,1186,1187,
1187,1188,1185,
1189,1190,1191,
1191,1192,1189,
],},{nombre: "ColumnaEspejoAgua038", triangulos: [1193,1194,1195,
1195,1196,1193,
1197,1198,1199,
1199,1200,1197,
1201,1202,1203,
1203,1204,1201,
1205,1206,1207,
1207,1208,1205,
],},{nombre: "ColumnaEspejoAgua039", triangulos: [1209,1210,1211,
1211,1212,1209,
1213,1214,1215,
1215,1216,1213,
1217,1218,1219,
1219,1220,1217,
1221,1222,1223,
1223,1224,1221,
],},{nombre: "ColumnaEspejoAgua040", triangulos: [1225,1226,1227,
1227,1228,1225,
1229,1230,1231,
1231,1232,1229,
1233,1234,1235,
1235,1236,1233,
1237,1238,1239,
1239,1240,1237,
],},{nombre: "ColumnaEspejoAgua041", triangulos: [1241,1242,1243,
1243,1244,1241,
1245,1246,1247,
1247,1248,1245,
1249,1250,1251,
1251,1252,1249,
1253,1254,1255,
1255,1256,1253,
],},{nombre: "ColumnaEspejoAgua042", triangulos: [1257,1258,1259,
1259,1260,1257,
1261,1262,1263,
1263,1264,1261,
1265,1266,1267,
1267,1268,1265,
1269,1270,1271,
1271,1272,1269,
],},{nombre: "ColumnaEspejoAgua043", triangulos: [1273,1274,1275,
1275,1276,1273,
1277,1278,1279,
1279,1280,1277,
1281,1282,1283,
1283,1284,1281,
1285,1286,1287,
1287,1288,1285,
],},{nombre: "ColumnaPuerta044", triangulos: [1289,1290,1291,
1291,1292,1289,
1293,1294,1295,
1295,1296,1293,
1297,1298,1299,
1299,1300,1297,
1301,1302,1303,
1303,1304,1301,
],},{nombre: "ColumnaPuerta045", triangulos: [1305,1306,1307,
1307,1308,1305,
1309,1310,1311,
1311,1312,1309,
1313,1314,1315,
1315,1316,1313,
1317,1318,1319,
1319,1320,1317,
],},{nombre: "ColumnaPuerta046", triangulos: [1321,1322,1323,
1323,1324,1321,
1325,1326,1327,
1327,1328,1325,
1329,1330,1331,
1331,1332,1329,
1333,1334,1335,
1335,1336,1333,
],},{nombre: "ColumnaPuerta047", triangulos: [1337,1338,1339,
1339,1340,1337,
1341,1342,1343,
1343,1344,1341,
1345,1346,1347,
1347,1348,1345,
1349,1350,1351,
1351,1352,1349,
],},{nombre: "TechoPasajeCD048", triangulos: [1353,1354,1355,
1355,1356,1353,
1357,1358,1354,
1354,1353,1357,
1358,1359,1360,
1360,1354,1358,
1361,1362,1363,
1363,1364,1361,
1365,1366,1367,
1367,1368,1365,
1369,1365,1368,
1368,1370,1369,
1371,1372,1373,
1373,1374,1371,
1375,1371,1374,
1374,1376,1375,
1377,1378,1379,
1379,1380,1377,
],},{nombre: "ColumnaPlazaPeq049", triangulos: [1381,1382,1383,
1383,1384,1381,
1385,1386,1387,
1387,1388,1385,
1389,1390,1391,
1391,1392,1389,
1393,1394,1395,
1395,1396,1393,
],},{nombre: "ColumnaPlazaPeq050", triangulos: [1397,1398,1399,
1399,1400,1397,
1401,1402,1403,
1403,1404,1401,
1405,1406,1407,
1407,1408,1405,
1409,1410,1411,
1411,1412,1409,
],},{
nombre: "AuditorioCC051",
escala: 8,
triangulos: [1413,1414,1415,
1415,1416,1413,
1414,1417,1418,
1418,1415,1414,
1417,1419,1420,
1420,1418,1417,
1419,1421,1422,
1422,1420,1419,
1421,1423,1424,
1424,1422,1421,
1423,1425,1426,
1426,1424,1423,
1425,1427,1428,
1428,1426,1425,
1429,1430,1431,
1431,1432,1429,
1430,1433,1434,
1434,1431,1430,
1433,1435,1436,
1436,1434,1433,
1435,1437,1438,
1438,1436,1435,
1437,1439,1440,
1440,1438,1437,
1439,1441,1442,
1442,1440,1439,
1441,1443,1444,
1444,1442,1441,
1443,1445,1446,
1446,1444,1443,
1447,1448,1449,
1449,1450,1447,
1450,1449,1451,
1451,1452,1450,
1446,1445,1453,
1453,1454,1446,
1455,1456,1457,
1457,1458,1455,
1459,1460,1461,
1461,1462,1463,
1459,1461,1463,
1463,1464,1465,
1465,1466,1467,
1463,1465,1467,
1467,1468,1469,
1469,1470,1471,
1467,1469,1471,
1463,1467,1471,
1471,1472,1473,
1473,1474,1475,
1471,1473,1475,
1463,1471,1475,
1459,1463,1475,
1459,1475,1476,
1459,1476,1477,
],},{
nombre: "AuditorioCD052",
escala: 6,
triangulos: [1478,1479,1480,
1480,1481,1478,
1482,1478,1481,
1481,1483,1482,
1484,1482,1483,
1483,1485,1484,
1486,1484,1485,
1485,1487,1486,
1488,1489,1490,
1490,1491,1488,
1492,1488,1491,
1491,1493,1492,
1494,1492,1493,
1493,1495,1494,
1496,1494,1495,
1495,1497,1496,
1498,1496,1497,
1497,1499,1498,
1500,1501,1502,
1502,1503,1500,
1504,1500,1503,
1503,1505,1504,
1506,1507,1508,
1508,1509,1506,
1510,1511,1512,
1512,1513,1510,
1514,1515,1516,
1516,1517,1514,
1501,1518,1519,
1519,1502,1501,
1520,1521,1522,
1520,1522,1523,
1523,1524,1525,
1525,1526,1527,
1523,1525,1527,
1520,1523,1527,
1527,1528,1529,
1529,1530,1531,
1527,1529,1531,
1520,1527,1531,
1532,1520,1531,
1532,1531,1533,
1532,1533,1534,
],},{nombre: "TechoPasajeAuditorios053", triangulos: [1535,1536,1537,
1537,1538,1535,
1539,1537,1536,
1536,1540,1539,
1541,1542,1539,
1539,1543,1541,
1542,1544,1537,
1537,1539,1542,
1544,1545,1538,
1538,1537,1544,
1545,1546,1547,
1547,1538,1545,
1548,1549,1550,
1550,1551,1548,
1552,1548,1551,
1551,1553,1552,
],},{nombre: "EscaleraEntrada054", triangulos: [1554,1555,1556,
1556,1557,1554,
1555,1554,1558,
1558,1559,1555,
1559,1558,1560,
1560,1561,1559,
1561,1560,1562,
1562,1563,1561,
1564,1565,1566,
1566,1567,1564,
1567,1566,1568,
1568,1569,1567,
1569,1568,1557,
1557,1556,1569,
1570,1571,1559,
1559,1561,1570,
1572,1573,1567,
1567,1569,1572,
1574,1560,1558,
1558,1575,1574,
1576,1568,1566,
1566,1577,1576,
1578,1579,1580,
1580,1579,1581,
1581,1582,1580,
],},{
nombre: "ParedPuertaEntrada055",
escala: 3,
triangulos: [1587,1588,1589,
1589,1590,1587,
1591,1587,1590,
1590,1592,1591,
1593,1591,1592,
1592,1594,1593,
1595,1596,1597,
1597,1598,1595,
],},{nombre: "ParedPuertaEntrada056", triangulos: [1599,1600,1601,
1601,1602,1599,
1603,1599,1602,
1602,1604,1603,
1605,1606,1607,
1607,1608,1605,
],},{
nombre: "ParedRampaCB057",
escala: 3,
triangulos: [1609,1610,1611,
1611,1612,1609,
1613,1609,1612,
1612,1614,1613,
1615,1613,1614,
1614,1616,1615,
1617,1615,1616,
1616,1618,1617,
1619,1617,1618,
1618,1620,1619,
1621,1619,1620,
1620,1622,1621,
1623,1621,1622,
1622,1624,1623,
1625,1626,1627,
1627,1628,1625,
1626,1629,1630,
1630,1627,1626,
1629,1631,1632,
1632,1630,1629,
1631,1623,1624,
1624,1632,1631,
1633,1634,1635,
1635,1636,1633,
],},{
nombre: "ParedSalonesCurvos058",
escala: 5,
triangulos: [1637,1638,1639,
1639,1640,1637,
1641,1637,1640,
1640,1642,1641,
1643,1641,1642,
1642,1644,1643,
1645,1643,1644,
1644,1646,1645,
1647,1645,1646,
1646,1648,1647,
1649,1647,1648,
1648,1650,1649,
1651,1649,1650,
1650,1652,1651,
1653,1651,1652,
1652,1654,1653,
1655,1653,1654,
1654,1656,1655,
1657,1655,1656,
1656,1658,1657,
1659,1657,1658,
1658,1660,1659,
1661,1659,1660,
1660,1662,1661,
1663,1661,1662,
1662,1664,1663,
1665,1663,1664,
1664,1666,1665,
1667,1665,1666,
1666,1668,1667,
1669,1667,1668,
1668,1670,1669,
],},{nombre: "ColumnaPuertaEntrada059", triangulos: [1671,1672,1673,
1673,1674,1671,
1675,1676,1677,
1677,1678,1675,
1679,1680,1681,
1681,1682,1679,
1683,1684,1685,
1685,1686,1683,
],},{nombre: "ColumnaPuertaEntrada060", triangulos: [1687,1688,1689,
1689,1690,1687,
1691,1692,1693,
1693,1694,1691,
1695,1696,1697,
1697,1698,1695,
1699,1700,1701,
1701,1702,1699,
],},{nombre: "ColumnaPuertaEntrada061", triangulos: [1703,1704,1705,
1705,1706,1703,
1707,1708,1709,
1709,1710,1707,
1711,1712,1713,
1713,1714,1711,
1715,1716,1717,
1717,1718,1715,
],},{
nombre: "IntercolsHoriCD062",
escala: 4,
triangulos: [1719,1720,1721,
1721,1722,1719,
1723,1724,1725,
1726,1723,1725,
1726,1725,1727,
1728,1729,1730,
1730,1731,1728,
1732,1733,1734,
1735,1732,1734,
1735,1734,1736,
],},{
nombre: "ParedPuerta063",
escala: 4,
triangulos: [1737,1738,1739,
1739,1740,1737,
1741,1742,1743,
1743,1744,1741,
1742,1745,1746,
1746,1743,1742,
1745,1747,1748,
1748,1746,1745,
1749,1750,1751,
1751,1752,1749,
1753,1754,1755,
1755,1756,1753,
1757,1758,1759,
1757,1759,1760,
1757,1760,1761,
1762,1757,1761,
],},{
nombre: "EspejoAgua064",
textura: "agua",
triangulos: [1763,1764,1765,
1765,1766,1763,
1766,1765,1767,
1767,1768,1766,
1768,1767,1769,
1769,1770,1768,
1770,1769,1771,
1771,1772,1770,
1768,1770,1773,
1773,1774,1768,
1770,1772,1775,
1775,1773,1770,
1775,1772,1776,
1772,1771,1777,
1777,1776,1772,
1777,1771,1778,
1778,1771,1769,
1769,1779,1778,
1779,1769,1767,
1767,1780,1779,
1767,1765,1781,
1781,1780,1767,
1765,1764,1782,
1782,1781,1765,
1782,1764,1783,
1764,1763,1784,
1784,1783,1764,
1784,1763,1785,
1785,1763,1766,
1766,1786,1785,
1786,1766,1768,
1768,1774,1786,
1787,1788,1789,
1789,1790,1787,
1788,1791,1792,
1792,1789,1788,
1791,1793,1794,
1794,1792,1791,
1795,1796,1797,
1797,1798,1795,
1796,1799,1800,
1800,1797,1796,
1799,1801,1802,
1802,1800,1799,
1803,1804,1805,
1805,1806,1803,
1804,1807,1808,
1808,1805,1804,
1807,1809,1810,
1810,1808,1807,
1809,1811,1812,
1812,1810,1809,
1813,1814,1815,
1815,1816,1813,
1814,1817,1818,
1818,1815,1814,
1817,1819,1820,
1820,1818,1817,
1821,1787,1790,
1790,1822,1821,
],},{
nombre: "SuperiorEntradaPuerta065",
escala: 4,
triangulos: [1823,1824,1825,
1825,1826,1823,
1827,1828,1829,
1829,1830,1827,
1831,1832,1833,
1833,1834,1831,
1835,1836,1837,
1837,1838,1835,
1839,1840,1841,
1841,1842,1839,
],},{
nombre: "ParedEspejoAgua066",
escala: 4,
triangulos: [1843,1844,1845,
1845,1846,1843,
1847,1843,1846,
1846,1848,1847,
1849,1850,1851,
1851,1852,1849,
1850,1853,1854,
1854,1851,1850,
1855,1856,1857,
1857,1858,1855,
1856,1859,1860,
1860,1857,1856,
1859,1861,1862,
1862,1860,1859,
1863,1864,1865,
1865,1866,1863,
1867,1868,1869,
1869,1870,1867,
1871,1872,1873,
1873,1874,1871,
1872,1875,1876,
1876,1873,1872,
1875,1877,1878,
1878,1876,1875,
1877,1879,1880,
1880,1878,1877,
1879,1881,1882,
1882,1880,1879,
1881,1883,1884,
1884,1882,1881,
1885,1867,1870,
1870,1886,1885,
1868,1887,1888,
1888,1869,1868,
1889,1847,1848,
1848,1890,1889,
1844,1843,1891,
1891,1892,1844,
1843,1847,1893,
1893,1891,1843,
1850,1849,1894,
1894,1895,1850,
1853,1850,1895,
1895,1896,1853,
1856,1855,1897,
1897,1898,1856,
1859,1856,1898,
1898,1899,1859,
1861,1859,1899,
1899,1900,1861,
1864,1863,1901,
1901,1902,1864,
1868,1867,1903,
1903,1904,1868,
1872,1871,1905,
1905,1906,1872,
1875,1872,1906,
1906,1907,1875,
1877,1875,1907,
1907,1908,1877,
1879,1877,1908,
1908,1909,1879,
1881,1879,1909,
1909,1910,1881,
1883,1881,1910,
1910,1911,1883,
1867,1885,1912,
1912,1903,1867,
1887,1868,1904,
1904,1913,1887,
1847,1889,1914,
1914,1893,1847,
1849,1844,1892,
1892,1894,1849,
1863,1861,1900,
1900,1901,1863,
1913,1904,1915,
1915,1916,1913,
1893,1914,1917,
1917,1918,1893,
],},{nombre: "TechoSalonesCB067", triangulos: [1919,1920,1921,
1921,1922,1919,
],},{nombre: "TechoRampaCB068", triangulos: [1923,1924,1925,
1925,1926,1923,
],},{nombre: "TechoPasajeCB069", triangulos: [1927,1928,1929,
1929,1930,1927,
],},{nombre: "TechoPasajeCA071", triangulos: [1931,1932,1933,
1933,1934,1931,
1934,1933,1935,
1935,1936,1934,
],},{
nombre: "ParedSalonesCB073",
escala: 8,
triangulos: [1937,1938,1939,
1939,1940,1937,
1941,1942,1943,
1943,1944,1941,
],},{
nombre: "IntercolsHoriPlaza074",
escala: 5,
triangulos: [1945,1946,1947,
1947,1948,1945,
1949,1950,1951,
1951,1952,1949,
1953,1954,1955,
1955,1956,1953,
1957,1958,1959,
1959,1960,1957,
1961,1962,1963,
1963,1964,1961,
1965,1966,1967,
1967,1968,1965,
1969,1970,1971,
1971,1972,1969,
1973,1974,1975,
1975,1976,1973,
],},{
nombre: "IntercolsHoriPlaza075",
escala: 5,
triangulos: [1977,1978,1979,
1979,1980,1977,
1981,1982,1983,
1983,1984,1981,
1985,1986,1987,
1987,1988,1985,
1989,1990,1991,
1991,1992,1989,
1993,1994,1995,
1995,1996,1993,
1997,1998,1999,
1999,2000,1997,
2001,2002,2003,
2003,2004,2001,
2005,2006,2007,
2007,2008,2005,
],},{
nombre: "VigaPlaza076",
escala: 4,
triangulos: [2009,2010,2011,
2011,2012,2009,
2013,2014,2015,
2015,2016,2013,
2017,2018,2019,
2019,2020,2017,
2021,2022,2023,
2023,2024,2021,
],},{
nombre: "SuperiorPlazaEntrada077",
escala: 8,
triangulos: [2025,2026,2027,
2027,2028,2025,
2029,2030,2031,
2031,2032,2029,
2033,2034,2035,
2035,2036,2033,
2037,2038,2039,
2039,2040,2037,
],},{
nombre: "SuperiorPlaza078",
escala: 5,
triangulos: [2041,2042,2043,
2043,2044,2041,
2045,2046,2047,
2047,2048,2045,
2049,2050,2051,
2051,2052,2049,
2053,2054,2055,
2055,2056,2053,
],},{
nombre: "BordePlazaCC079",
escala: 4,
triangulos: [2057,2058,2059,
2059,2060,2057,
2061,2062,2063,
2063,2064,2061,
2065,2066,2067,
2067,2068,2065,
2069,2070,2071,
2071,2072,2069,
],},{nombre: "ColumnaPlaza080", triangulos: [2073,2074,2075,
2075,2076,2073,
2077,2078,2079,
2079,2080,2077,
2081,2082,2083,
2083,2084,2081,
2085,2086,2087,
2087,2088,2085,
],},{nombre: "BordeCC081", triangulos: [2089,2090,2091,
2091,2092,2089,
2093,2094,2095,
2095,2096,2093,
2097,2098,2099,
2099,2100,2097,
2101,2102,2103,
2103,2104,2101,
],},{nombre: "ColumnaSalaCC082", triangulos: [2105,2106,2107,
2107,2108,2105,
2109,2110,2111,
2111,2112,2109,
2113,2114,2115,
2115,2116,2113,
2117,2118,2119,
2119,2120,2117,
],},{
nombre: "ParedPisodos083",
escala: 6,
triangulos: [2121,2122,2123,
2123,2124,2121,
2125,2126,2127,
2127,2128,2125,
2126,2129,2130,
2130,2127,2126,
2131,2132,2133,
2133,2134,2131,
2132,2135,2136,
2136,2133,2132,
2135,2137,2138,
2138,2136,2135,
2137,2139,2140,
2140,2138,2137,
2139,2141,2142,
2142,2140,2139,
2141,2143,2144,
2144,2142,2141,
2143,2145,2146,
2146,2144,2143,
2145,2147,2148,
2148,2146,2145,
2147,2149,2150,
2150,2148,2147,
2149,2151,2152,
2152,2150,2149,
2151,2153,2154,
2154,2152,2151,
2153,2155,2156,
2156,2154,2153,
2155,2157,2158,
2158,2156,2155,
2157,2159,2160,
2160,2158,2157,
2159,2161,2162,
2162,2160,2159,
2161,2163,2164,
2164,2162,2161,
2165,2166,2167,
2167,2168,2165,
2169,2165,2168,
2168,2170,2169,
2166,2171,2172,
2172,2167,2166,
2173,2174,2175,
2175,2176,2173,
2174,2177,2178,
2178,2175,2174,
2179,2180,2181,
2181,2182,2179,
2180,2183,2184,
2184,2181,2180,
2185,2186,2187,
2187,2188,2185,
2189,2190,2191,
2191,2192,2189,
2193,2185,2188,
2188,2194,2193,
2195,2196,2197,
2197,2198,2195,
2199,2200,2201,
2201,2202,2199,
2203,2204,2205,
2205,2206,2203,
2207,2208,2209,
2209,2210,2207,
2211,2212,2213,
2213,2214,2211,
2215,2125,2128,
2128,2216,2215,
2217,2218,2219,
2219,2220,2217,
2218,2221,2222,
2222,2219,2218,
2221,2223,2224,
2224,2222,2221,
2223,2225,2226,
2226,2224,2223,
2225,2227,2228,
2228,2226,2225,
2227,2229,2230,
2230,2228,2227,
2229,2231,2232,
2232,2230,2229,
2231,2233,2234,
2234,2232,2231,
2235,2236,2237,
2237,2238,2235,
2239,2131,2134,
2134,2240,2239,
2241,2242,2243,
2243,2244,2241,
2245,2246,2247,
2247,2248,2245,
2246,2249,2250,
2250,2247,2246,
2251,2252,2253,
2253,2254,2251,
2249,2251,2254,
2254,2250,2249,
2255,2256,2257,
2257,2258,2255,
2259,2260,2261,
2261,2262,2259,
2261,2263,2264,
2264,2262,2261,
2263,2265,2266,
2266,2264,2263,
2265,2267,2268,
2268,2266,2265,
2267,2269,2270,
2270,2268,2267,
2270,2269,2260,
2260,2259,2270,
],},{nombre: "ParedPisodosCC084", triangulos: [2271,2272,2273,
2273,2274,2271,
2275,2271,2274,
2274,2276,2275,
],},{
nombre: "BordePisodosCB085",
escala: 8,
triangulos: [2277,2278,2279,
2279,2280,2277,
2281,2277,2280,
2280,2282,2281,
2283,2281,2282,
2282,2284,2283,
2285,2283,2284,
2284,2286,2285,
2287,2285,2286,
2286,2288,2287,
2289,2287,2288,
2288,2290,2289,
2291,2289,2290,
2290,2292,2291,
2293,2291,2292,
2292,2294,2293,
2295,2293,2294,
2294,2296,2295,
2297,2295,2296,
2296,2298,2297,
2299,2297,2298,
2298,2300,2299,
2301,2299,2300,
2300,2302,2301,
2303,2301,2302,
2302,2304,2303,
2305,2303,2304,
2304,2306,2305,
2307,2305,2306,
2306,2308,2307,
2309,2310,2311,
2311,2312,2309,
2313,2309,2312,
2312,2314,2313,
2315,2316,2317,
2317,2318,2315,
2319,2315,2318,
2318,2320,2319,
2321,2319,2320,
2320,2322,2321,
2323,2321,2322,
2322,2324,2323,
2325,2323,2324,
2324,2326,2325,
2327,2325,2326,
2326,2328,2327,
2329,2327,2328,
2328,2330,2329,
2331,2329,2330,
2330,2332,2331,
2333,2331,2332,
2332,2334,2333,
2335,2333,2334,
2334,2336,2335,
2337,2335,2336,
2336,2338,2337,
2339,2337,2338,
2338,2340,2339,
2341,2339,2340,
2340,2342,2341,
2343,2341,2342,
2342,2344,2343,
2345,2343,2344,
2344,2346,2345,
2347,2348,2349,
2349,2350,2347,
2351,2347,2350,
2350,2352,2351,
2353,2354,2355,
2355,2356,2353,
2357,2353,2356,
2356,2358,2357,
2359,2360,2361,
2361,2362,2359,
2363,2359,2362,
2362,2364,2363,
2365,2363,2364,
2364,2366,2365,
2367,2365,2366,
2366,2368,2367,
2369,2370,2371,
2371,2372,2369,
2373,2369,2372,
2372,2374,2373,
2375,2373,2374,
2374,2376,2375,
2377,2375,2376,
2376,2378,2377,
2379,2380,2381,
2381,2382,2379,
2383,2379,2382,
2382,2384,2383,
2385,2383,2384,
2384,2386,2385,
2387,2385,2386,
2386,2388,2387,
2278,2389,2390,
2390,2279,2278,
2316,2391,2392,
2392,2317,2316,
2393,2394,2395,
2395,2396,2393,
2396,2395,2397,
2397,2398,2396,
2399,2400,2401,
2401,2402,2399,
2403,2404,2405,
2405,2406,2403,
],},{
nombre: "BordePlazaPisodosCC086",
escala: 4,
triangulos: [2407,2408,2409,
2409,2410,2407,
2411,2412,2413,
2413,2414,2411,
2415,2416,2417,
2417,2418,2415,
],},{nombre: "TechoPasajeCC087", triangulos: [2419,2420,2421,
2421,2422,2419,
2422,2421,2423,
2423,2424,2422,
2424,2423,2425,
2425,2426,2424,
2420,2427,2428,
2428,2421,2420,
2421,2428,2429,
2429,2423,2421,
2423,2429,2430,
2430,2425,2423,
2431,2427,2420,
2420,2432,2431,
],},{
nombre: "ParedEsquinaCC088",
escala: 4,
triangulos: [2433,2434,2435,
2435,2436,2433,
2437,2438,2439,
2439,2440,2437,
2438,2441,2442,
2442,2439,2438,
2443,2437,2440,
2440,2444,2443,
2445,2446,2447,
2447,2448,2445,
2449,2450,2451,
2451,2452,2449,
2453,2454,2455,
2455,2456,2453,
2457,2458,2459,
2459,2460,2457,
2461,2462,2463,
2463,2464,2461,
2465,2466,2467,
2467,2468,2465,
2469,2465,2468,
2468,2470,2469,
2471,2443,2444,
2444,2472,2471,
2450,2471,2472,
2472,2451,2450,
2447,2473,2474,
2474,2448,2447,
2475,2464,2463,
2463,2476,2475,
2462,2461,2459,
2459,2458,2462,
2477,2457,2460,
2460,2478,2477,
2477,2478,2475,
2475,2476,2477,
2479,2480,2481,
2481,2482,2479,
2480,2483,2484,
2484,2481,2480,
2483,2485,2486,
2486,2484,2483,
2485,2479,2482,
2482,2486,2485,
2473,2487,2488,
2488,2474,2473,
2487,2489,2490,
2490,2488,2487,
2490,2489,2491,
2491,2492,2490,
2491,2493,2494,
2494,2492,2491,
2495,2496,2446,
2446,2445,2495,
2494,2493,2496,
2496,2495,2494,
],},{
nombre: "BordePisodosCC089",
escala: 4,
triangulos: [2497,2498,2499,
2499,2500,2497,
2501,2502,2503,
2503,2504,2501,
2505,2506,2507,
2507,2508,2505,
2509,2510,2511,
2511,2512,2509,
2513,2514,2515,
2515,2516,2513,
2517,2518,2519,
2519,2520,2517,
2521,2522,2510,
2510,2509,2521,
2514,2501,2504,
2504,2515,2514,
2523,2524,2518,
2518,2517,2523,
2525,2526,2527,
2527,2528,2525,
2529,2513,2516,
2516,2530,2529,
2531,2532,2533,
2533,2534,2531,
],},{
nombre: "ParedEntradaExtPisodosCB090",
escala: 2,
triangulos: [2535,2536,2537,
2537,2538,2535,
],},{
nombre: "TechoEntrada091",
escala: 2,
triangulos: [2539,2540,2541,
2541,2542,2539,
2543,2544,2545,
2545,2546,2543,
2546,2545,2540,
2540,2539,2546,
2547,2548,2542,
2542,2541,2547,
2549,2550,2551,
2551,2552,2549,
],},{
nombre: "ParedEsquinaCA092",
escala: 3,
triangulos: [2553,2554,2555,
2555,2556,2553,
2557,2558,2559,
2559,2560,2557,
2561,2562,2563,
2563,2564,2561,
2565,2566,2567,
2567,2568,2565,
2554,2569,2570,
2570,2555,2554,
2571,2572,2573,
2573,2574,2571,
2575,2576,2577,
2577,2578,2575,
2579,2580,2581,
2581,2582,2579,
2583,2579,2582,
2582,2584,2583,
2576,2585,2586,
2586,2577,2576,
2587,2583,2584,
2584,2588,2587,
2585,2589,2590,
2590,2586,2585,
2591,2557,2560,
2560,2592,2591,
2593,2565,2568,
2568,2594,2593,
],},{nombre: "TechoEsquinaCA093", triangulos: [2595,2596,2597,
2597,2598,2595,
2596,2599,2600,
2600,2597,2596,
2601,2602,2596,
2596,2595,2601,
2602,2603,2599,
2599,2596,2602,
2601,2595,2604,
2604,2605,2601,
],},{nombre: "ColumnaRampa094", triangulos: [2606,2607,2608,
2608,2609,2606,
2610,2611,2612,
2612,2613,2610,
2614,2615,2616,
2616,2617,2614,
2618,2619,2620,
2620,2621,2618,
],},{nombre: "ColumnaRampa095", triangulos: [2622,2623,2624,
2624,2625,2622,
2626,2627,2628,
2628,2629,2626,
2630,2631,2632,
2632,2633,2630,
2634,2635,2636,
2636,2637,2634,
],},{nombre: "ColumnaRampa096", triangulos: [2638,2639,2640,
2640,2641,2638,
2642,2643,2644,
2644,2645,2642,
2646,2647,2648,
2648,2649,2646,
2650,2651,2652,
2652,2653,2650,
],},{nombre: "ColumnaRampa097", triangulos: [2654,2655,2656,
2656,2657,2654,
2658,2659,2660,
2660,2661,2658,
2662,2663,2664,
2664,2665,2662,
2666,2667,2668,
2668,2669,2666,
],},{nombre: "ColumnaRampa098", triangulos: [2670,2671,2672,
2672,2673,2670,
2674,2675,2676,
2676,2677,2674,
2678,2679,2680,
2680,2681,2678,
2682,2683,2684,
2684,2685,2682,
],},{nombre: "ColumnaRampa099", triangulos: [2686,2687,2688,
2688,2689,2686,
2690,2691,2692,
2692,2693,2690,
2694,2695,2696,
2696,2697,2694,
2698,2699,2700,
2700,2701,2698,
],},{nombre: "ColumnaRampa100", triangulos: [2702,2703,2704,
2704,2705,2702,
2706,2707,2708,
2708,2709,2706,
2710,2711,2712,
2712,2713,2710,
2714,2715,2716,
2716,2717,2714,
],},{nombre: "ColumnaRampa101", triangulos: [2718,2719,2720,
2720,2721,2718,
2722,2723,2724,
2724,2725,2722,
2726,2727,2728,
2728,2729,2726,
2730,2731,2732,
2732,2733,2730,
],},{nombre: "ColumnaRampa102", triangulos: [2734,2735,2736,
2736,2737,2734,
2738,2739,2740,
2740,2741,2738,
2742,2743,2744,
2744,2745,2742,
2746,2747,2748,
2748,2749,2746,
],},{nombre: "ColumnaRampa103", triangulos: [2750,2751,2752,
2752,2753,2750,
2754,2755,2756,
2756,2757,2754,
2758,2759,2760,
2760,2761,2758,
2762,2763,2764,
2764,2765,2762,
],},{
nombre: "BordePisodosPuertaCB104",
escala: 2.5,
triangulos: [2766,2767,2768,
2768,2769,2766,
2770,2771,2772,
2772,2773,2770,
2774,2775,2776,
2776,2777,2774,
2778,2779,2780,
2780,2781,2778,
],},{
nombre: "ParedPuertaCD106",
escala: 3,
triangulos: [2782,2783,2784,
2784,2785,2782,
2783,2786,2787,
2787,2784,2783,
2786,2788,2789,
2789,2787,2786,
2788,2790,2791,
2791,2789,2788,
2790,2792,2793,
2793,2791,2790,
2792,2794,2795,
2795,2793,2792,
2794,2796,2797,
2797,2795,2794,
],},{
nombre: "ParedPasajeCD107",
escala: 3,
triangulos: [2798,2799,2800,
2800,2801,2798,
],},{
nombre: "SillaPlaza108",
textura: "silla",
triangulos: [2802,2803,2804,
2804,2805,2802,
2806,2807,2808,
2808,2809,2806,
2810,2811,2812,
2812,2813,2810,
2814,2815,2816,
2816,2817,2814,
2818,2819,2803,
2803,2802,2818,
2820,2821,2804,
2804,2822,2820,
2823,2824,2807,
2807,2806,2823,
2825,2826,2809,
2809,2808,2825,
2827,2828,2829,
2829,2830,2827,
2831,2832,2833,
2833,2834,2831,
2835,2834,2833,
2833,2829,2835,
2836,2837,2812,
2812,2811,2836,
2838,2839,2816,
2816,2815,2838,
2840,2841,2803,
2803,2819,2840,
2842,2805,2804,
2804,2821,2842,
2843,2835,2829,
2829,2828,2843,
2844,2845,2833,
2833,2832,2844,
2846,2847,2848,
2848,2849,2846,
2850,2851,2852,
2852,2853,2850,
2854,2855,2856,
2856,2857,2854,
],},{
nombre: "SillaPlaza109",
textura: "silla",
triangulos: [2858,2859,2860,
2860,2861,2858,
2862,2863,2864,
2864,2865,2862,
2866,2867,2868,
2868,2869,2866,
2870,2871,2872,
2872,2873,2870,
2874,2875,2859,
2859,2858,2874,
2876,2877,2860,
2860,2878,2876,
2879,2880,2863,
2863,2862,2879,
2881,2882,2865,
2865,2864,2881,
2883,2884,2885,
2885,2886,2883,
2887,2888,2889,
2889,2890,2887,
2891,2890,2889,
2889,2885,2891,
2892,2893,2868,
2868,2867,2892,
2894,2895,2872,
2872,2871,2894,
2896,2897,2859,
2859,2875,2896,
2898,2861,2860,
2860,2877,2898,
2899,2891,2885,
2885,2884,2899,
2900,2901,2889,
2889,2888,2900,
2902,2903,2904,
2904,2905,2902,
2906,2907,2908,
2908,2909,2906,
2910,2911,2912,
2912,2913,2910,
],},{
nombre: "SillaPlaza110",
textura: "silla",
triangulos: [2914,2915,2916,
2916,2917,2914,
2918,2919,2920,
2920,2921,2918,
2922,2923,2924,
2924,2925,2922,
2926,2927,2928,
2928,2929,2926,
2930,2931,2915,
2915,2914,2930,
2932,2933,2916,
2916,2934,2932,
2935,2936,2919,
2919,2918,2935,
2937,2938,2921,
2921,2920,2937,
2939,2940,2941,
2941,2942,2939,
2943,2944,2945,
2945,2946,2943,
2947,2946,2945,
2945,2941,2947,
2948,2949,2924,
2924,2923,2948,
2950,2951,2928,
2928,2927,2950,
2952,2953,2915,
2915,2931,2952,
2954,2917,2916,
2916,2933,2954,
2955,2947,2941,
2941,2940,2955,
2956,2957,2945,
2945,2944,2956,
2958,2959,2960,
2960,2961,2958,
2962,2963,2964,
2964,2965,2962,
2966,2967,2968,
2968,2969,2966,
],},{
nombre: "SillaPlaza111",
textura: "silla",
triangulos: [2970,2971,2972,
2972,2973,2970,
2974,2975,2976,
2976,2977,2974,
2978,2979,2980,
2980,2981,2978,
2982,2983,2984,
2984,2985,2982,
2986,2987,2971,
2971,2970,2986,
2988,2989,2972,
2972,2990,2988,
2991,2992,2975,
2975,2974,2991,
2993,2994,2977,
2977,2976,2993,
2995,2996,2997,
2997,2998,2995,
2999,3000,3001,
3001,3002,2999,
3003,3002,3001,
3001,2997,3003,
3004,3005,2980,
2980,2979,3004,
3006,3007,2984,
2984,2983,3006,
3008,3009,2971,
2971,2987,3008,
3010,2973,2972,
2972,2989,3010,
3011,3003,2997,
2997,2996,3011,
3012,3013,3001,
3001,3000,3012,
3014,3015,3016,
3016,3017,3014,
3018,3019,3020,
3020,3021,3018,
3022,3023,3024,
3024,3025,3022,
],},{
nombre: "SillaPlaza112",
textura: "silla",
triangulos: [3026,3027,3028,
3028,3029,3026,
3030,3031,3032,
3032,3033,3030,
3034,3035,3036,
3036,3037,3034,
3038,3039,3040,
3040,3041,3038,
3042,3043,3027,
3027,3026,3042,
3044,3045,3028,
3028,3046,3044,
3047,3048,3031,
3031,3030,3047,
3049,3050,3033,
3033,3032,3049,
3051,3052,3053,
3053,3054,3051,
3055,3056,3057,
3057,3058,3055,
3059,3058,3057,
3057,3053,3059,
3060,3061,3036,
3036,3035,3060,
3062,3063,3040,
3040,3039,3062,
3064,3065,3027,
3027,3043,3064,
3066,3029,3028,
3028,3045,3066,
3067,3059,3053,
3053,3052,3067,
3068,3069,3057,
3057,3056,3068,
3070,3071,3072,
3072,3073,3070,
3074,3075,3076,
3076,3077,3074,
3078,3079,3080,
3080,3081,3078,
],},{
nombre: "SillaPlaza113",
textura: "silla",
triangulos: [3082,3083,3084,
3084,3085,3082,
3086,3087,3088,
3088,3089,3086,
3090,3091,3092,
3092,3093,3090,
3094,3095,3096,
3096,3097,3094,
3098,3099,3083,
3083,3082,3098,
3100,3101,3084,
3084,3102,3100,
3103,3104,3087,
3087,3086,3103,
3105,3106,3089,
3089,3088,3105,
3107,3108,3109,
3109,3110,3107,
3111,3112,3113,
3113,3114,3111,
3115,3114,3113,
3113,3109,3115,
3116,3117,3092,
3092,3091,3116,
3118,3119,3096,
3096,3095,3118,
3120,3121,3083,
3083,3099,3120,
3122,3085,3084,
3084,3101,3122,
3123,3115,3109,
3109,3108,3123,
3124,3125,3113,
3113,3112,3124,
3126,3127,3128,
3128,3129,3126,
3130,3131,3132,
3132,3133,3130,
3134,3135,3136,
3136,3137,3134,
],},{
nombre: "SillaPlaza114",
textura: "silla",
triangulos: [3138,3139,3140,
3140,3141,3138,
3142,3143,3144,
3144,3145,3142,
3146,3147,3148,
3148,3149,3146,
3150,3151,3152,
3152,3153,3150,
3154,3155,3139,
3139,3138,3154,
3156,3157,3140,
3140,3158,3156,
3159,3160,3143,
3143,3142,3159,
3161,3162,3145,
3145,3144,3161,
3163,3164,3165,
3165,3166,3163,
3167,3168,3169,
3169,3170,3167,
3171,3170,3169,
3169,3165,3171,
3172,3173,3148,
3148,3147,3172,
3174,3175,3152,
3152,3151,3174,
3176,3177,3139,
3139,3155,3176,
3178,3141,3140,
3140,3157,3178,
3179,3171,3165,
3165,3164,3179,
3180,3181,3169,
3169,3168,3180,
3182,3183,3184,
3184,3185,3182,
3186,3187,3188,
3188,3189,3186,
3190,3191,3192,
3192,3193,3190,
],},{
nombre: "SillaPlaza115",
textura: "silla",
triangulos: [3194,3195,3196,
3196,3197,3194,
3198,3199,3200,
3200,3201,3198,
3202,3203,3204,
3204,3205,3202,
3206,3207,3208,
3208,3209,3206,
3210,3211,3195,
3195,3194,3210,
3212,3213,3196,
3196,3214,3212,
3215,3216,3199,
3199,3198,3215,
3217,3218,3201,
3201,3200,3217,
3219,3220,3221,
3221,3222,3219,
3223,3224,3225,
3225,3226,3223,
3227,3226,3225,
3225,3221,3227,
3228,3229,3204,
3204,3203,3228,
3230,3231,3208,
3208,3207,3230,
3232,3233,3195,
3195,3211,3232,
3234,3197,3196,
3196,3213,3234,
3235,3227,3221,
3221,3220,3235,
3236,3237,3225,
3225,3224,3236,
3238,3239,3240,
3240,3241,3238,
3242,3243,3244,
3244,3245,3242,
3246,3247,3248,
3248,3249,3246,
],},{
nombre: "SillaPlaza116",
textura: "silla",
triangulos: [3250,3251,3252,
3252,3253,3250,
3254,3255,3256,
3256,3257,3254,
3258,3259,3260,
3260,3261,3258,
3262,3263,3264,
3264,3265,3262,
3266,3267,3251,
3251,3250,3266,
3268,3269,3252,
3252,3270,3268,
3271,3272,3255,
3255,3254,3271,
3273,3274,3257,
3257,3256,3273,
3275,3276,3277,
3277,3278,3275,
3279,3280,3281,
3281,3282,3279,
3283,3282,3281,
3281,3277,3283,
3284,3285,3260,
3260,3259,3284,
3286,3287,3264,
3264,3263,3286,
3288,3289,3251,
3251,3267,3288,
3290,3253,3252,
3252,3269,3290,
3291,3283,3277,
3277,3276,3291,
3292,3293,3281,
3281,3280,3292,
3294,3295,3296,
3296,3297,3294,
3298,3299,3300,
3300,3301,3298,
3302,3303,3304,
3304,3305,3302,
],},{
nombre: "SillaPlaza117",
textura: "silla",
triangulos: [3306,3307,3308,
3308,3309,3306,
3310,3311,3312,
3312,3313,3310,
3314,3315,3316,
3316,3317,3314,
3318,3319,3320,
3320,3321,3318,
3322,3323,3307,
3307,3306,3322,
3324,3325,3308,
3308,3326,3324,
3327,3328,3311,
3311,3310,3327,
3329,3330,3313,
3313,3312,3329,
3331,3332,3333,
3333,3334,3331,
3335,3336,3337,
3337,3338,3335,
3339,3338,3337,
3337,3333,3339,
3340,3341,3316,
3316,3315,3340,
3342,3343,3320,
3320,3319,3342,
3344,3345,3307,
3307,3323,3344,
3346,3309,3308,
3308,3325,3346,
3347,3339,3333,
3333,3332,3347,
3348,3349,3337,
3337,3336,3348,
3350,3351,3352,
3352,3353,3350,
3354,3355,3356,
3356,3357,3354,
3358,3359,3360,
3360,3361,3358,
],},{
nombre: "BajoRampaCB118",
escala: 5,
triangulos: [3362,3363,3364,
3364,3365,3362,
3366,3367,3368,
3368,3369,3366,
3370,3371,3372,
3372,3373,3370,
3374,3375,3364,
3364,3363,3374,
3376,3377,3368,
3368,3367,3376,
3378,3379,3380,
3380,3381,3378,
3382,3365,3364,
3364,3383,3382,
3384,3385,3386,
3386,3387,3384,
3367,3366,3388,
3388,3389,3367,
],},{
nombre: "BordePasajeCD119",
escala: 12,
triangulos: [3390,3391,3392,
3392,3393,3390,
3394,3395,3396,
3396,3397,3394,
3398,3399,3400,
3400,3401,3398,
3402,3403,3404,
3404,3405,3402,
3391,3406,3407,
3407,3392,3391,
3408,3409,3410,
3410,3411,3408,
3412,3413,3414,
3414,3415,3412,
3416,3417,3418,
3418,3419,3416,
3417,3420,3421,
3421,3418,3417,
3420,3422,3423,
3423,3421,3420,
3424,3425,3426,
3426,3427,3424,
3428,3429,3430,
3430,3431,3428,
3432,3433,3434,
3434,3435,3432,
3436,3437,3438,
3438,3439,3436,
3437,3440,3441,
3441,3438,3437,
3442,3443,3444,
3444,3445,3442,
3446,3447,3448,
3448,3449,3446,
3450,3451,3452,
3452,3453,3450,
3454,3455,3456,
3456,3457,3454,
3455,3458,3459,
3459,3456,3455,
3407,3406,3460,
3460,3461,3407,
3423,3422,3462,
3462,3463,3423,
3441,3440,3464,
3464,3465,3441,
3459,3458,3466,
3466,3467,3459,
3402,3405,3395,
3395,3394,3402,
3468,3469,3397,
3397,3396,3468,
3470,3471,3399,
3399,3398,3470,
3472,3473,3401,
3401,3400,3472,
3416,3419,3413,
3413,3412,3416,
3474,3475,3415,
3415,3414,3474,
3476,3477,3478,
3478,3479,3476,
3426,3425,3480,
3480,3481,3426,
3432,3435,3429,
3429,3428,3432,
3482,3483,3431,
3431,3430,3482,
3484,3485,3443,
3443,3442,3484,
3486,3487,3445,
3445,3444,3486,
3488,3489,3451,
3451,3450,3488,
3457,3456,3453,
3453,3452,3457,
3490,3491,3469,
3469,3468,3490,
3492,3493,3471,
3471,3470,3492,
3494,3495,3475,
3475,3474,3494,
3496,3497,3483,
3483,3482,3496,
3498,3499,3485,
3485,3484,3498,
3500,3501,3489,
3489,3488,3500,
3400,3399,3502,
3502,3503,3400,
3504,3505,3506,
3506,3507,3504,
3442,3445,3508,
3508,3509,3442,
3510,3511,3512,
3512,3513,3510,
3471,3493,3514,
3514,3515,3471,
3516,3517,3518,
3518,3519,3516,
3498,3484,3520,
3520,3521,3498,
3522,3523,3524,
3524,3525,3522,
],},{nombre: "ColumnaPuertaEntrada151", triangulos: [3526,3527,3528,
3528,3529,3526,
3530,3531,3532,
3532,3533,3530,
3534,3535,3536,
3536,3537,3534,
3538,3539,3540,
3540,3541,3538,
],},{
nombre: "BasePuertaEntrada152",
escala: 3,
triangulos: [3542,3543,3544,
3544,3545,3542,
3546,3547,3548,
3548,3549,3546,
3550,3551,3552,
3552,3553,3550,
3554,3555,3556,
3556,3557,3554,
3558,3559,3560,
3560,3561,3558,
],},{nombre: "BordeEntradaCB153", triangulos: [3562,3563,3564,
3564,3565,3562,
3566,3567,3568,
3568,3569,3566,
3570,3571,3572,
3572,3573,3570,
3574,3575,3576,
3576,3577,3574,
],},{
nombre: "ColumnaCC154",
textura: "columna",
triangulos: [3578,3579,3580,
3580,3581,3578,
3579,3582,3583,
3583,3580,3579,
3584,3585,3586,
3586,3587,3584,
3585,3588,3589,
3589,3586,3585,
3588,3590,3591,
3591,3589,3588,
3590,3592,3593,
3593,3591,3590,
3592,3594,3595,
3595,3593,3592,
3596,3597,3598,
3598,3599,3596,
3597,3600,3601,
3601,3598,3597,
3600,3602,3603,
3603,3601,3600,
3602,3604,3605,
3605,3603,3602,
3606,3607,3608,
3608,3609,3606,
3607,3610,3611,
3611,3608,3607,
3610,3612,3613,
3613,3611,3610,
3612,3614,3615,
3615,3613,3612,
3614,3616,3617,
3617,3615,3614,
3618,3619,3620,
3620,3621,3618,
3619,3578,3581,
3581,3620,3619,
],},{
nombre: "ColumnaCC155",
textura: "columna",
triangulos: [3622,3623,3624,
3624,3625,3622,
3623,3626,3627,
3627,3624,3623,
3628,3629,3630,
3630,3631,3628,
3629,3632,3633,
3633,3630,3629,
3632,3634,3635,
3635,3633,3632,
3634,3636,3637,
3637,3635,3634,
3636,3638,3639,
3639,3637,3636,
3640,3641,3642,
3642,3643,3640,
3641,3644,3645,
3645,3642,3641,
3644,3646,3647,
3647,3645,3644,
3646,3648,3649,
3649,3647,3646,
3650,3651,3652,
3652,3653,3650,
3651,3654,3655,
3655,3652,3651,
3654,3656,3657,
3657,3655,3654,
3656,3658,3659,
3659,3657,3656,
3658,3660,3661,
3661,3659,3658,
3662,3663,3664,
3664,3665,3662,
3663,3622,3625,
3625,3664,3663,
],},{
nombre: "ColumnaCC156",
textura: "columna",
triangulos: [3666,3667,3668,
3668,3669,3666,
3667,3670,3671,
3671,3668,3667,
3672,3673,3674,
3674,3675,3672,
3673,3676,3677,
3677,3674,3673,
3676,3678,3679,
3679,3677,3676,
3678,3680,3681,
3681,3679,3678,
3680,3682,3683,
3683,3681,3680,
3684,3685,3686,
3686,3687,3684,
3685,3688,3689,
3689,3686,3685,
3688,3690,3691,
3691,3689,3688,
3690,3692,3693,
3693,3691,3690,
3694,3695,3696,
3696,3697,3694,
3695,3698,3699,
3699,3696,3695,
3698,3700,3701,
3701,3699,3698,
3700,3702,3703,
3703,3701,3700,
3702,3704,3705,
3705,3703,3702,
3706,3707,3708,
3708,3709,3706,
3707,3666,3669,
3669,3708,3707,
],},{
nombre: "ColumnaCC157",
textura: "columna",
triangulos: [3710,3711,3712,
3712,3713,3710,
3711,3714,3715,
3715,3712,3711,
3716,3717,3718,
3718,3719,3716,
3717,3720,3721,
3721,3718,3717,
3720,3722,3723,
3723,3721,3720,
3722,3724,3725,
3725,3723,3722,
3724,3726,3727,
3727,3725,3724,
3728,3729,3730,
3730,3731,3728,
3729,3732,3733,
3733,3730,3729,
3732,3734,3735,
3735,3733,3732,
3734,3736,3737,
3737,3735,3734,
3738,3739,3740,
3740,3741,3738,
3739,3742,3743,
3743,3740,3739,
3742,3744,3745,
3745,3743,3742,
3744,3746,3747,
3747,3745,3744,
3746,3748,3749,
3749,3747,3746,
3750,3751,3752,
3752,3753,3750,
3751,3710,3713,
3713,3752,3751,
],},{
nombre: "ColumnaCC158",
textura: "columna",
triangulos: [3754,3755,3756,
3756,3757,3754,
3755,3758,3759,
3759,3756,3755,
3760,3761,3762,
3762,3763,3760,
3761,3764,3765,
3765,3762,3761,
3764,3766,3767,
3767,3765,3764,
3766,3768,3769,
3769,3767,3766,
3768,3770,3771,
3771,3769,3768,
3772,3773,3774,
3774,3775,3772,
3773,3776,3777,
3777,3774,3773,
3776,3778,3779,
3779,3777,3776,
3778,3780,3781,
3781,3779,3778,
3782,3783,3784,
3784,3785,3782,
3783,3786,3787,
3787,3784,3783,
3786,3788,3789,
3789,3787,3786,
3788,3790,3791,
3791,3789,3788,
3790,3792,3793,
3793,3791,3790,
3794,3795,3796,
3796,3797,3794,
3795,3754,3757,
3757,3796,3795,
],},{
nombre: "ColumnaCC159",
textura: "columna",
triangulos: [3798,3799,3800,
3800,3801,3798,
3799,3802,3803,
3803,3800,3799,
3804,3805,3806,
3806,3807,3804,
3805,3808,3809,
3809,3806,3805,
3808,3810,3811,
3811,3809,3808,
3810,3812,3813,
3813,3811,3810,
3812,3814,3815,
3815,3813,3812,
3816,3817,3818,
3818,3819,3816,
3817,3820,3821,
3821,3818,3817,
3820,3822,3823,
3823,3821,3820,
3822,3824,3825,
3825,3823,3822,
3826,3827,3828,
3828,3829,3826,
3827,3830,3831,
3831,3828,3827,
3830,3832,3833,
3833,3831,3830,
3832,3834,3835,
3835,3833,3832,
3834,3836,3837,
3837,3835,3834,
3838,3839,3840,
3840,3841,3838,
3839,3798,3801,
3801,3840,3839,
],},{nombre: "BordePlazaPisodosCC160", triangulos: [3842,3843,3844,
3844,3845,3842,
3846,3847,3848,
3848,3849,3846,
3850,3851,3852,
3852,3853,3850,
],},
{nombre: "Piso2inverso161",
escala: 8,
triangulos: [3854,3855,3856,
3856,3857,3854,
3858,3854,3857,
3857,3859,3858,
3860,3861,3862,
3862,3863,3860,
3864,3865,3866,
3866,3867,3864,
3868,3869,3865,
3865,3864,3868,
3865,3870,3871,
3871,3866,3865,
3869,3872,3870,
3870,3865,3869,
3870,3873,3874,
3874,3871,3870,
3872,3875,3873,
3873,3870,3872,
3873,3876,3877,
3877,3874,3873,
3875,3878,3876,
3876,3873,3875,
3876,3879,3880,
3880,3877,3876,
3878,3881,3879,
3879,3876,3878,
3879,3882,3883,
3883,3880,3879,
3881,3884,3882,
3882,3879,3881,
3882,3885,3886,
3886,3883,3882,
3884,3887,3885,
3885,3882,3884,
3885,3888,3889,
3889,3886,3885,
3887,3890,3888,
3888,3885,3887,
3888,3891,3892,
3892,3889,3888,
3890,3893,3891,
3891,3888,3890,
3891,3894,3895,
3895,3892,3891,
3893,3896,3894,
3894,3891,3893,
3894,3897,3898,
3898,3895,3894,
3896,3899,3897,
3897,3894,3896,
3897,3900,3901,
3901,3898,3897,
3899,3902,3900,
3900,3897,3899,
3900,3903,3904,
3904,3901,3900,
3902,3905,3903,
3903,3900,3902,
3903,3906,3907,
3907,3904,3903,
3905,3908,3906,
3906,3903,3905,
3906,3909,3910,
3910,3907,3906,
3908,3911,3909,
3909,3906,3908,
3909,3912,3913,
3913,3910,3909,
3911,3914,3912,
3912,3909,3911,
3913,3915,3916,
3916,3910,3913,
3915,3917,3918,
3918,3916,3915,
3915,3919,3920,
3920,3917,3915,
3919,3921,3922,
3922,3920,3919,
3922,3923,3924,
3924,3920,3922,
3923,3925,3926,
3926,3924,3923,
3925,3927,3928,
3928,3926,3925,
3927,3929,3930,
3930,3928,3927,
3923,3931,3932,
3932,3925,3923,
3925,3932,3933,
3933,3927,3925,
3927,3933,3934,
3934,3929,3927,
3932,3935,3936,
3936,3933,3932,
3937,3938,3939,
3939,3940,3937,
3941,3942,3943,
3943,3944,3941,
3945,3946,3947,
3947,3948,3945,
3944,3943,3949,
3949,3950,3944,
3951,3952,3953,
3953,3954,3951,
3947,3955,3956,
3956,3948,3947,
3955,3957,3958,
3958,3956,3955,
3957,3959,3960,
3960,3958,3957,
3959,3961,3962,
3962,3960,3959,
3961,3963,3964,
3964,3962,3961,
3963,3965,3966,
3966,3964,3963,
3966,3965,3967,
3967,3968,3966,
3965,3969,3970,
3970,3967,3965,
3969,3971,3972,
3972,3970,3969,
3971,3973,3974,
3974,3972,3971,
3973,3975,3976,
3976,3974,3973,
3975,3977,3978,
3978,3976,3975,
3977,3979,3980,
3980,3978,3977,
3979,3981,3982,
3982,3980,3979,
3978,3983,3984,
3984,3976,3978,
3983,3985,3986,
3986,3984,3983,
3985,3987,3988,
3988,3986,3985,
3987,3989,3990,
3990,3988,3987,
3857,3856,3860,
3860,3863,3857,
3991,3859,3857,
3857,3863,3991,
3991,3992,3993,
3993,3990,3991,
3993,3992,3994,
3994,3995,3993,
3995,3994,3996,
3996,3997,3995,
3997,3996,3998,
3998,3999,3997,
3999,3998,4000,
4000,4001,3999,
4001,4000,4002,
4002,4003,4001,
4003,4002,4004,
4004,4005,4003,
4005,4004,4006,
4006,4007,4005,
3991,3990,3989,
3989,3859,3991,
3990,3993,4008,
4008,3988,3990,
3993,3995,4009,
4009,4008,3993,
3995,3997,4010,
4010,4009,3995,
4010,3997,3999,
3999,4011,4010,
4011,3999,4001,
4001,4012,4011,
4012,4001,4003,
4003,4013,4012,
4013,4003,4005,
4005,4014,4013,
4014,4005,4007,
4007,4015,4014,
4007,4016,4017,
4017,4015,4007,
4016,4018,4019,
4019,4017,4016,
4019,4018,4020,
4020,4021,4019,
4022,4023,4024,
4024,4025,4022,
4022,4026,4027,
4027,4023,4022,
4021,4020,4022,
4022,4025,4021,
4023,4028,4029,
4029,4024,4023,
4027,4030,4028,
4028,4023,4027,
4028,4031,4032,
4032,4029,4028,
4030,4033,4031,
4031,4028,4030,
4031,4034,4035,
4035,4032,4031,
4033,4036,4034,
4034,4031,4033,
4034,4037,4038,
4038,4035,4034,
4036,4039,4037,
4037,4034,4036,
3950,3949,3940,
3940,3939,3950,
3952,3945,3948,
3948,3953,3952,
3948,3956,4040,
4040,3953,3948,
3956,3958,4041,
4041,4040,3956,
3958,3960,4042,
4042,4041,3958,
3960,3962,4043,
4043,4042,3960,
3962,3964,4044,
4044,4043,3962,
3964,3966,4045,
4045,4044,3964,
4045,3966,3968,
3968,4046,4045,
4037,3968,3967,
3967,4038,4037,
4039,4046,3968,
3968,4037,4039,
3967,4047,4048,
4048,4038,3967,
4049,3937,3940,
3940,4050,4049,
3945,3939,3938,
3938,3946,3945,
4051,3941,3944,
3944,3951,4051,
4052,3943,3942,
3942,4053,4052,
3951,3944,3950,
3950,3952,3951,
4054,3949,3943,
3943,4052,4054,
3952,3950,3939,
3939,3945,3952,
4050,3940,3949,
3949,4054,4050,
3861,3864,3867,
3867,3862,3861,
3861,4055,3868,
3868,3864,3861,
4022,4056,4057,
4057,4026,4022,
4020,4058,4056,
4056,4022,4020,
4020,4059,4060,
4060,4058,4020,
4020,4061,4062,
4062,4059,4020,
3915,3913,4063,
4063,3919,3915,
3921,3919,4063,
4063,4064,3921,
],},{
nombre: "Piso1inverso162",
escala: 3.5,
triangulos: [4065,4066,4067,
4067,4068,4065,
4069,4070,4066,
4066,4065,4069,
4071,4072,4073,
4073,4074,4071,
4074,4073,4075,
4075,4076,4074,
4076,4075,4077,
4077,4078,4076,
4079,4080,4072,
4072,4071,4079,
4068,4067,4080,
4080,4079,4068,
],},
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment