From 86e7850f973621aaedf2423b1b2f79d92b5a7130 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 10:49:16 -0300 Subject: [PATCH 1/8] :lipstick: enforces a consistent source format with LF and tab indentation --- .editorconfig | 12 +++ .gitattributes | 2 +- Example/app.ts | 21 ++--- Example/index.html | 16 ++-- SpriteGL/shader.ts | 48 +++++----- SpriteGL/spriteRenderer.ts | 189 ++++++++++++++++++------------------- SpriteGL/text.ts | 104 ++++++++++---------- SpriteGL/vbo.ts | 91 +++++++++--------- gulpfile.js | 62 ++++++------ 9 files changed, 278 insertions(+), 267 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..bbe27dd --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +# Editor settings for any editor or IDE. +# References at https://editorconfig.org/. + +root = true + +# Editor settings for every file. +[*] + charset = utf-8 + end_of_line = lf + indent_style = tab + insert_final_newline = true + trim_trailing_whitespace = true diff --git a/.gitattributes b/.gitattributes index 412eeda..49e3350 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,5 @@ # Auto detect text files and perform LF normalization -* text=auto +* text=auto eol=lf # Custom for Visual Studio *.cs diff=csharp diff --git a/Example/app.ts b/Example/app.ts index 04c57d0..662e71b 100644 --- a/Example/app.ts +++ b/Example/app.ts @@ -1,13 +1,13 @@ window.onload = function () { - var canvas = document.getElementById("RenderElement"); + var canvas = document.getElementById("RenderElement"); var img = new Image(); img.src = "atlas.png"; - img.onload = function () { - var Renderer = SpriteGL.SpriteRenderer.fromCanvas(canvas, img, SpriteGL.SpriteRenderer.TextureFilteringNearest); + img.onload = function () { + var Renderer = SpriteGL.SpriteRenderer.fromCanvas(canvas, img, SpriteGL.SpriteRenderer.TextureFilteringNearest); var time = 0; var txt = Renderer.PrepareTxt("8", "White", 25, true); - var txt2 = Renderer.PrepareTxt("test", "Red", 13, true); - var txt3 = Renderer.PrepareTxt("te5235t", "Red", 13, true); + var txt2 = Renderer.PrepareTxt("test", "Red", 13, true); + var txt3 = Renderer.PrepareTxt("te5235t", "Red", 13, true); var Loop = () => { time += 0.002; var count = 100; @@ -17,20 +17,19 @@ var rotx = x * Math.cos(time) - y * Math.sin(time); var roty = y * Math.cos(time) + x * Math.sin(time); // Renderer.DrawSpr(0, 0, 32, 32, rotx, roty, 32, 32); - //Renderer.DrawSpr(0, 0, 32, 32, -roty, rotx, 32, 32); - Renderer.SetHight(Math.random()/100); + // Renderer.DrawSpr(0, 0, 32, 32, -roty, rotx, 32, 32); + Renderer.SetHight(Math.random() / 100); Renderer.DrawTxt(txt, rotx, roty); Renderer.DrawTxt(txt2, -roty, rotx); - } Renderer.DrawTxt(txt, 0, 0); Renderer.DrawTxt(txt, 0, 100); Renderer.DrawTxt(txt, 100, 0); Renderer.DrawSpr(0, 0, 32, 32, -100, 0, 32, 32); Renderer.UpdateCamera(time * 5, 0); - Renderer.RenderAll(); - Renderer.DisposeTxt(txt2); - txt2 = Renderer.PrepareTxt(time.toString(), "Red", 13, true); + Renderer.RenderAll(); + Renderer.DisposeTxt(txt2); + txt2 = Renderer.PrepareTxt(time.toString(), "Red", 13, true); requestAnimationFrame(Loop); } Loop(); diff --git a/Example/index.html b/Example/index.html index 4053fa6..d7ecf17 100644 --- a/Example/index.html +++ b/Example/index.html @@ -2,18 +2,18 @@ - - SpriteJS Example - + -

SpriteJS Example

+

SpriteJS Example

- + - - + + diff --git a/SpriteGL/shader.ts b/SpriteGL/shader.ts index 211eec1..6310bcf 100644 --- a/SpriteGL/shader.ts +++ b/SpriteGL/shader.ts @@ -1,5 +1,4 @@ module SpriteGL { - export class Shader { glProgram: WebGLProgram; VertexPosAttribute: number; @@ -17,7 +16,6 @@ this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); - } public UseProgram() { @@ -50,30 +48,32 @@ alert(gl.getShaderInfoLog(Shader)); } return Shader; - } + } - public updateMatrix(mat: TSM.mat4) { - this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); - } + public updateMatrix(mat: TSM.mat4) { + this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); + } - private static defaultVertexShaderSrc = [ - "attribute vec3 aVertexPosition;", - "attribute vec2 aTexCoord;", - "uniform mat4 uProjectionView;", - "uniform vec2 uCameraPos;", - "varying vec2 vtexCoord;", - "void main(void) {", - " vtexCoord = aTexCoord;", - " gl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;", - "}"].join("\n"); + private static defaultVertexShaderSrc = ` + attribute vec3 aVertexPosition; + attribute vec2 aTexCoord; + uniform mat4 uProjectionView; + uniform vec2 uCameraPos; + varying vec2 vtexCoord; + void main(void) { + vtexCoord = aTexCoord; + gl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView; + } + `; - private static defaultFragmentShaderSrc = [ - "precision mediump float;", - "uniform sampler2D sampler2d;", - "varying vec2 vtexCoord;", - "void main(void) {", - " gl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));", - " if(gl_FragColor.a < 0.5) discard;", - "}"].join("\n"); + private static defaultFragmentShaderSrc = ` + precision mediump float; + uniform sampler2D sampler2d; + varying vec2 vtexCoord; + void main(void) { + gl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t)); + if(gl_FragColor.a < 0.5) discard; + } + `; } } diff --git a/SpriteGL/spriteRenderer.ts b/SpriteGL/spriteRenderer.ts index f838af4..1ddd6cf 100644 --- a/SpriteGL/spriteRenderer.ts +++ b/SpriteGL/spriteRenderer.ts @@ -1,97 +1,94 @@ module SpriteGL { - export class SpriteRenderer { - private gl: WebGLRenderingContext; - private Shader: Shader; - private vbo: VBO; - private texture: WebGLTexture; - private SpriteSize: number; - private Text: TextDrawer; - - constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear) { - this.gl = webglContext; - this.vbo = new VBO(this.gl); - this.Shader = new Shader(this.gl); - this.Text = new TextDrawer(this.gl); - this.Shader.UseProgram(); - this.CreateTexture(Image, Filtering); - this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); - - this.gl.clearColor(0.0, 0.0, 0.0, 1.0); - this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); - this.gl.enable(this.gl.BLEND); - this.SetHight(0.0); - this.gl.enable(this.gl.DEPTH_TEST); - this.gl.depthFunc(this.gl.LEQUAL); - } - - RenderAll() { - this.gl.clear(this.gl.COLOR_BUFFER_BIT); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.vbo.RenderAllSpr(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); - this.vbo.RenderAllTxt(); - } - - UpdateViewPort(width: number, height: number) { - this.gl.viewport(0, 0, width, height); - var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); - var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); - this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); - } - - DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { - this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); - } - - SetHight(hight: number) { - this.vbo.SetupHeight(hight); - } - - PrepareTxt(str: string, color: string, fontSize: number, outLine = false) { - return this.Text.PrepareTxt(str, color, fontSize, outLine); - } - - DisposeTxt(txtObj) { - this.Text.DisposeTxt(txtObj); - } - - DrawTxt(txtObj, PosX: number, PosY: number) { - this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); - } - - - UpdateCamera(x: number, y: number) { - this.Shader.UpdatePosition(x, y); - } - - private CreateTexture(image: HTMLImageElement, filtering: number) { - this.texture = this.gl.createTexture(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); - if (filtering == SpriteRenderer.TextureFilteringLinear) { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); - } else { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); - } - } - - static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear): SpriteRenderer { - try { - var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); - } catch (e) { - console.log("Error with WebGL context initialization"); - return null; - } - var newRenderer = new SpriteRenderer(ctx, Image, Filtering); - newRenderer.UpdateViewPort(canvas.width, canvas.height); - return newRenderer; - } - - - static TextureFilteringLinear = 0; - static TextureFilteringNearest = 1; - } - -} \ No newline at end of file + export class SpriteRenderer { + private gl: WebGLRenderingContext; + private Shader: Shader; + private vbo: VBO; + private texture: WebGLTexture; + private SpriteSize: number; + private Text: TextDrawer; + + constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear) { + this.gl = webglContext; + this.vbo = new VBO(this.gl); + this.Shader = new Shader(this.gl); + this.Text = new TextDrawer(this.gl); + this.Shader.UseProgram(); + this.CreateTexture(Image, Filtering); + this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); + + this.gl.clearColor(0.0, 0.0, 0.0, 1.0); + this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + this.gl.enable(this.gl.BLEND); + this.SetHight(0.0); + this.gl.enable(this.gl.DEPTH_TEST); + this.gl.depthFunc(this.gl.LEQUAL); + } + + RenderAll() { + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.vbo.RenderAllSpr(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); + this.vbo.RenderAllTxt(); + } + + UpdateViewPort(width: number, height: number) { + this.gl.viewport(0, 0, width, height); + var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); + var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); + this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); + } + + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { + this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); + } + + SetHight(hight: number) { + this.vbo.SetupHeight(hight); + } + + PrepareTxt(str: string, color: string, fontSize: number, outLine = false) { + return this.Text.PrepareTxt(str, color, fontSize, outLine); + } + + DisposeTxt(txtObj) { + this.Text.DisposeTxt(txtObj); + } + + DrawTxt(txtObj, PosX: number, PosY: number) { + this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); + } + + UpdateCamera(x: number, y: number) { + this.Shader.UpdatePosition(x, y); + } + + private CreateTexture(image: HTMLImageElement, filtering: number) { + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); + if (filtering == SpriteRenderer.TextureFilteringLinear) { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } else { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); + } + } + + static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear): SpriteRenderer { + try { + var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); + } catch (e) { + console.log("Error with WebGL context initialization"); + return null; + } + var newRenderer = new SpriteRenderer(ctx, Image, Filtering); + newRenderer.UpdateViewPort(canvas.width, canvas.height); + return newRenderer; + } + + static TextureFilteringLinear = 0; + static TextureFilteringNearest = 1; + } +} diff --git a/SpriteGL/text.ts b/SpriteGL/text.ts index 298a8bb..c2b6dee 100644 --- a/SpriteGL/text.ts +++ b/SpriteGL/text.ts @@ -1,15 +1,18 @@ -class TextDrawer { +interface TextListItem { + str: string; + Pos: { x: number; y: number }; + Size: { Width: number; Height: number }; + Color: string; + OutLine: boolean; + FontSize: number; +} + +class TextDrawer { public TextureSize = { Width: 1024, Height: 1024 }; private ctx: CanvasRenderingContext2D; private canvas: HTMLCanvasElement; public texture: WebGLTexture; - private txtsList = new Array< - { - str: string; Pos: { x: number; y: number }; - Size: { Width: number; Height: number }; - Color: string; FontSize: number; OutLine: boolean; - } - >(); + private txtsList = new Array(); private gl: WebGLRenderingContext; constructor(gl: WebGLRenderingContext) { this.gl = gl; @@ -27,55 +30,58 @@ } PrepareTxt(str: string, color: string, fontSize: number, outline: boolean): any { - this.ctx.font = "bold " + fontSize + "px Tahoma"; - var currTxtWidth = this.ctx.measureText(str).width; - - var currStartY = 0; - var highestPosYIndex = 0; + this.ctx.font = "bold " + fontSize + "px Tahoma"; + var currTxtWidth = this.ctx.measureText(str).width; - for (var i = 0; i < this.txtsList.length; i++) { - if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { - highestPosYIndex = i; - currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; - } - } - var test = { - str: str, Pos: { x: 0, y: currStartY }, Size: { - Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, - Height: fontSize + Math.sqrt(fontSize) * 2 - }, - Color: color, FontSize: fontSize, OutLine: outline - }; + var currStartY = 0; + var highestPosYIndex = 0; + + for (var i = 0; i < this.txtsList.length; i++) { + if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { + highestPosYIndex = i; + currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; + } + } + var test: TextListItem = { + str: str, + Pos: { x: 0, y: currStartY }, + Size: { + Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, + Height: fontSize + Math.sqrt(fontSize) * 2 + }, + Color: color, + OutLine: outline, + FontSize: fontSize + }; this.txtsList.push(test); - this.BakeTexture(); + this.BakeTexture(); return test; } - DisposeTxt(txtObj) { - var index = this.txtsList.indexOf(txtObj); - - if (index > -1 && index) { - this.txtsList.splice(index, 1); - } + DisposeTxt(txtObj) { + var index = this.txtsList.indexOf(txtObj); - this.UpdatePositon(); - this.BakeTexture(); + if (index > -1 && index) { + this.txtsList.splice(index, 1); + } - } + this.UpdatePositon(); + this.BakeTexture(); - private UpdatePositon() { - this.txtsList.sort((a, b) => { return a.Pos.y - b.Pos.y }); - for (var i = 0; i < this.txtsList.length; i++) { - var newPosY = 0; - for (var j = 0; j < i; j++) { - newPosY += this.txtsList[j].Size.Height * 1.2; - } - this.txtsList[i].Pos.y = newPosY; - } - } + } + + private UpdatePositon() { + this.txtsList.sort((a, b) => { return a.Pos.y - b.Pos.y }); + for (var i = 0; i < this.txtsList.length; i++) { + var newPosY = 0; + for (var j = 0; j < i; j++) { + newPosY += this.txtsList[j].Size.Height * 1.2; + } + this.txtsList[i].Pos.y = newPosY; + } + } private BakeTexture() { - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); this.ctx.miterLimit = 1; this.ctx.lineJoin = "round"; @@ -83,7 +89,7 @@ this.ctx.fillStyle = this.txtsList[i].Color; this.ctx.font = "bold " + this.txtsList[i].FontSize + "px Tahoma"; if (this.txtsList[i].OutLine) { - this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize)*1.5; + this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize) * 1.5; this.ctx.strokeStyle = "black"; this.ctx.strokeText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); } @@ -92,4 +98,4 @@ this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); this.gl.texSubImage2D(this.gl.TEXTURE_2D, 0, 0, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); } -} \ No newline at end of file +} diff --git a/SpriteGL/vbo.ts b/SpriteGL/vbo.ts index 9463c88..5072bb3 100644 --- a/SpriteGL/vbo.ts +++ b/SpriteGL/vbo.ts @@ -1,32 +1,31 @@ module SpriteGL { - - export class VBO { - verticlesBuffer: WebGLBuffer; + export class VBO { + verticlesBuffer: WebGLBuffer; private sprVerts = []; private txtVerts = []; - private AtlasSize = 1; - private gl: WebGLRenderingContext = null; - private hight: number; + private AtlasSize = 1; + private gl: WebGLRenderingContext = null; + private hight: number; - constructor(gl: WebGLRenderingContext) { - this.gl = gl; - this.verticlesBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); - } + constructor(gl: WebGLRenderingContext) { + this.gl = gl; + this.verticlesBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); + } - SetupHeight(hight: number) { - this.hight = hight; - } + SetupHeight(hight: number) { + this.hight = hight; + } - SetupForDraw(vertexPositionAttr: number, textureCoordAttr: number, AtlasSize: number) { - this.gl.enableVertexAttribArray(vertexPositionAttr); - this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); + SetupForDraw(vertexPositionAttr: number, textureCoordAttr: number, AtlasSize: number) { + this.gl.enableVertexAttribArray(vertexPositionAttr); + this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); - this.gl.enableVertexAttribArray(textureCoordAttr); - this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); - this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15*10000), this.gl.STREAM_DRAW); - this.AtlasSize = AtlasSize; - } + this.gl.enableVertexAttribArray(textureCoordAttr); + this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); + this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); + this.AtlasSize = AtlasSize; + } RenderAllSpr() { this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); @@ -40,39 +39,39 @@ this.txtVerts = [] } - DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { - for (var i = 0; i < VBO.defaultVerts.length; i += 2) { - //Pos + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.sprVerts.push(this.hight); - //Tex - this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth /this.AtlasSize) + (AtlasX / this.AtlasSize)); + this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.sprVerts.push(this.hight); + //Tex + this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); - } - } + } + } DrawTxt(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { for (var i = 0; i < VBO.defaultVerts.length; i += 2) { //Pos this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.txtVerts.push(this.hight); + this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.txtVerts.push(this.hight); //Tex this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); - this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); + this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); } - } + } - private static defaultVerts = - [ //Left - 0.0, 1.0, // 1 - 1.0, 0.0, // 2 - 0.0, 0.0, // 3 - //Right - 0.0, 1.0, // 1 - 1.0, 1.0, // 4 - 1.0, 0.0 // 2 - ]; - } + private static defaultVerts = [ + //Left + 0.0, 1.0, // 1 + 1.0, 0.0, // 2 + 0.0, 0.0, // 3 + //Right + 0.0, 1.0, // 1 + 1.0, 1.0, // 4 + 1.0, 0.0 // 2 + ]; + } } diff --git a/gulpfile.js b/gulpfile.js index 586d24d..20d8231 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -7,56 +7,54 @@ var addsrc = require('gulp-add-src'); var runsequence = require("run-sequence"); var fs = require("fs"); - gulp.task("build", function () { - runsequence("build-files", "remove-internal-classes") + runsequence("build-files", "remove-internal-classes") }); gulp.task("build-files", function () { - var tsResult = gulp.src(["./SpriteGL/*.ts", "./3rd/tsm-0.7.d.ts"]) - .pipe(typescript({ sortOutput: true, target: "ES5", removeComments: true, declarationFiles: true })); + var tsResult = gulp.src(["./SpriteGL/*.ts", "./3rd/tsm-0.7.d.ts"]) + .pipe(typescript({ sortOutput: true, target: "ES5", removeComments: true, declarationFiles: true })); - tsResult.dts + tsResult.dts .pipe(concat("SpriteGL.d.ts")) .pipe(gulp.dest("./bin")); - tsResult.js - .pipe(addsrc("./3rd/tsm-0.7.js")) + tsResult.js + .pipe(addsrc("./3rd/tsm-0.7.js")) .pipe(concat("SpriteGL.js")) .pipe(gulp.dest("./bin")); }); gulp.task("debug", function () { - gulp.src("./bin/SpriteGL.js") + gulp.src("./bin/SpriteGL.js") .pipe(gulp.dest("./Example")); - var tsResult = gulp.src(["./Example/*.ts", "./bin/SpriteGL.d.ts"]) - .pipe(typescript({ target: "ES5" })) - .pipe(gulp.dest("./Example")); + var tsResult = gulp.src(["./Example/*.ts", "./bin/SpriteGL.d.ts"]) + .pipe(typescript({ target: "ES5" })) + .pipe(gulp.dest("./Example")); - var server = new StaticServer({ rootPath: './Example', port: 80, host: 'localhost' }); + var server = new StaticServer({ rootPath: './Example', port: 80, host: 'localhost' }); - server.start(function () { - console.log('Server listening to', server.port); - open("http://localhost") - }); + server.start(function () { + console.log('Server listening to', server.port); + open("http://localhost") + }); }) gulp.task("remove-internal-classes", function () { - setTimeout(function () { - var data = fs.readFileSync('./bin/SpriteGL.d.ts').toString(); - var start = data.indexOf("class SpriteRenderer {", 0); - var end = data.indexOf("}", start+1); - var new_string = data.substring(start, end + 1); - var lines = new_string.split("\n"); - for (var i = 0; i < lines.length; i++) { - if (lines[i].indexOf("private") !== -1) { - lines.splice(i, 1); - i--; - } - } - new_string = lines.join("\n"); - fs.writeFileSync('./bin/SpriteGL.d.ts',"declare module SpriteGL { \n" + new_string + "\n }"); - }, 1000); - + setTimeout(function () { + var data = fs.readFileSync('./bin/SpriteGL.d.ts').toString(); + var start = data.indexOf("class SpriteRenderer {", 0); + var end = data.indexOf("}", start + 1); + var new_string = data.substring(start, end + 1); + var lines = new_string.split("\n"); + for (var i = 0; i < lines.length; i++) { + if (lines[i].indexOf("private") !== -1) { + lines.splice(i, 1); + i--; + } + } + new_string = lines.join("\n"); + fs.writeFileSync('./bin/SpriteGL.d.ts', "declare module SpriteGL { \n" + new_string + "\n }"); + }, 1000); }); From 4f21ce9481f858b5a14c623141f1287beb3f3ce5 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 11:07:12 -0300 Subject: [PATCH 2/8] :sparkles: uses classes as modules and export them on index --- SpriteGL/Shader.ts | 77 +++++++++++++++++++++++ SpriteGL/SpriteRenderer.ts | 96 +++++++++++++++++++++++++++++ SpriteGL/{text.ts => TextDrawer.ts} | 2 +- SpriteGL/VBO.ts | 75 ++++++++++++++++++++++ SpriteGL/index.ts | 10 +++ SpriteGL/shader.ts | 79 ------------------------ SpriteGL/spriteRenderer.ts | 94 ---------------------------- SpriteGL/vbo.ts | 77 ----------------------- 8 files changed, 259 insertions(+), 251 deletions(-) create mode 100644 SpriteGL/Shader.ts create mode 100644 SpriteGL/SpriteRenderer.ts rename SpriteGL/{text.ts => TextDrawer.ts} (98%) create mode 100644 SpriteGL/VBO.ts create mode 100644 SpriteGL/index.ts delete mode 100644 SpriteGL/shader.ts delete mode 100644 SpriteGL/spriteRenderer.ts delete mode 100644 SpriteGL/vbo.ts diff --git a/SpriteGL/Shader.ts b/SpriteGL/Shader.ts new file mode 100644 index 0000000..085fc2e --- /dev/null +++ b/SpriteGL/Shader.ts @@ -0,0 +1,77 @@ +export default class Shader { + glProgram: WebGLProgram; + VertexPosAttribute: number; + TexCoordAttribute: number; + private TexSampleUniform: WebGLUniformLocation; + private MatUniform: WebGLUniformLocation; + private CameraPosUniform: WebGLUniformLocation; + private gl: WebGLRenderingContext = null; + + constructor(gl: WebGLRenderingContext) { + this.gl = gl; + this.glProgram = this.MakeProgram(gl); + this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); + this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); + this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); + this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); + this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); + } + + public UseProgram() { + this.gl.useProgram(this.glProgram); + this.gl.uniform1i(this.TexSampleUniform, 0); + } + + public UpdatePosition(x: number, y: number) { + this.gl.uniform2f(this.CameraPosUniform, x, y); + } + + private MakeProgram(gl: WebGLRenderingContext): WebGLProgram { + var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); + var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); + + var glProgram = gl.createProgram(); + gl.attachShader(glProgram, vertexShader); + gl.attachShader(glProgram, fragmentShader); + gl.linkProgram(glProgram); + + return glProgram; + } + + private CompileShader(gl: WebGLRenderingContext, src: string, type) { + var Shader = gl.createShader(type); + gl.shaderSource(Shader, src); + gl.compileShader(Shader); + + if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { + alert(gl.getShaderInfoLog(Shader)); + } + return Shader; + } + + public updateMatrix(mat: TSM.mat4) { + this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); + } + + private static defaultVertexShaderSrc = ` + attribute vec3 aVertexPosition; + attribute vec2 aTexCoord; + uniform mat4 uProjectionView; + uniform vec2 uCameraPos; + varying vec2 vtexCoord; + void main(void) { + vtexCoord = aTexCoord; + gl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView; + } + `; + + private static defaultFragmentShaderSrc = ` + precision mediump float; + uniform sampler2D sampler2d; + varying vec2 vtexCoord; + void main(void) { + gl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t)); + if(gl_FragColor.a < 0.5) discard; + } + `; +} diff --git a/SpriteGL/SpriteRenderer.ts b/SpriteGL/SpriteRenderer.ts new file mode 100644 index 0000000..64716d0 --- /dev/null +++ b/SpriteGL/SpriteRenderer.ts @@ -0,0 +1,96 @@ +import VBO from "./VBO"; +import Shader from "./Shader"; +import TextDrawer from "./TextDrawer"; + +export default class SpriteRenderer { + private gl: WebGLRenderingContext; + private Shader: Shader; + private vbo: VBO; + private texture: WebGLTexture; + private SpriteSize: number; + private Text: TextDrawer; + + constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear) { + this.gl = webglContext; + this.vbo = new VBO(this.gl); + this.Shader = new Shader(this.gl); + this.Text = new TextDrawer(this.gl); + this.Shader.UseProgram(); + this.CreateTexture(Image, Filtering); + this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); + + this.gl.clearColor(0.0, 0.0, 0.0, 1.0); + this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + this.gl.enable(this.gl.BLEND); + this.SetHight(0.0); + this.gl.enable(this.gl.DEPTH_TEST); + this.gl.depthFunc(this.gl.LEQUAL); + } + + RenderAll() { + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.vbo.RenderAllSpr(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); + this.vbo.RenderAllTxt(); + } + + UpdateViewPort(width: number, height: number) { + this.gl.viewport(0, 0, width, height); + var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); + var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); + this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); + } + + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { + this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); + } + + SetHight(hight: number) { + this.vbo.SetupHeight(hight); + } + + PrepareTxt(str: string, color: string, fontSize: number, outLine = false) { + return this.Text.PrepareTxt(str, color, fontSize, outLine); + } + + DisposeTxt(txtObj) { + this.Text.DisposeTxt(txtObj); + } + + DrawTxt(txtObj, PosX: number, PosY: number) { + this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); + } + + UpdateCamera(x: number, y: number) { + this.Shader.UpdatePosition(x, y); + } + + private CreateTexture(image: HTMLImageElement, filtering: number) { + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); + if (filtering == SpriteRenderer.TextureFilteringLinear) { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } else { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); + } + } + + static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear): SpriteRenderer { + try { + var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); + } catch (e) { + console.log("Error with WebGL context initialization"); + return null; + } + var newRenderer = new SpriteRenderer(ctx, Image, Filtering); + newRenderer.UpdateViewPort(canvas.width, canvas.height); + return newRenderer; + } + + static TextureFilteringLinear = 0; + static TextureFilteringNearest = 1; +} diff --git a/SpriteGL/text.ts b/SpriteGL/TextDrawer.ts similarity index 98% rename from SpriteGL/text.ts rename to SpriteGL/TextDrawer.ts index c2b6dee..1fe5bf4 100644 --- a/SpriteGL/text.ts +++ b/SpriteGL/TextDrawer.ts @@ -7,7 +7,7 @@ FontSize: number; } -class TextDrawer { +export default class TextDrawer { public TextureSize = { Width: 1024, Height: 1024 }; private ctx: CanvasRenderingContext2D; private canvas: HTMLCanvasElement; diff --git a/SpriteGL/VBO.ts b/SpriteGL/VBO.ts new file mode 100644 index 0000000..1374921 --- /dev/null +++ b/SpriteGL/VBO.ts @@ -0,0 +1,75 @@ +export default class VBO { + verticlesBuffer: WebGLBuffer; + private sprVerts = []; + private txtVerts = []; + private AtlasSize = 1; + private gl: WebGLRenderingContext = null; + private hight: number; + + constructor(gl: WebGLRenderingContext) { + this.gl = gl; + this.verticlesBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); + } + + SetupHeight(hight: number) { + this.hight = hight; + } + + SetupForDraw(vertexPositionAttr: number, textureCoordAttr: number, AtlasSize: number) { + this.gl.enableVertexAttribArray(vertexPositionAttr); + this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); + + this.gl.enableVertexAttribArray(textureCoordAttr); + this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); + this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); + this.AtlasSize = AtlasSize; + } + + RenderAllSpr() { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); + this.sprVerts = [] + } + + RenderAllTxt() { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); + this.txtVerts = [] + } + + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.sprVerts.push(this.hight); + //Tex + this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); + this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); + } + } + + DrawTxt(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.txtVerts.push(this.hight); + //Tex + this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); + this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); + } + } + + private static defaultVerts = [ + //Left + 0.0, 1.0, // 1 + 1.0, 0.0, // 2 + 0.0, 0.0, // 3 + //Right + 0.0, 1.0, // 1 + 1.0, 1.0, // 4 + 1.0, 0.0 // 2 + ]; +} diff --git a/SpriteGL/index.ts b/SpriteGL/index.ts new file mode 100644 index 0000000..800e912 --- /dev/null +++ b/SpriteGL/index.ts @@ -0,0 +1,10 @@ +import Shader from "./Shader"; +import SpriteRenderer from "./SpriteRenderer"; +import TextDrawer from "./TextDrawer"; +import VBO from "./VBO"; + +const SpriteGL = { Shader, SpriteRenderer, TextDrawer, VBO }; + +export { Shader, SpriteGL, SpriteRenderer, TextDrawer, VBO }; + +export default SpriteGL; diff --git a/SpriteGL/shader.ts b/SpriteGL/shader.ts deleted file mode 100644 index 6310bcf..0000000 --- a/SpriteGL/shader.ts +++ /dev/null @@ -1,79 +0,0 @@ -module SpriteGL { - export class Shader { - glProgram: WebGLProgram; - VertexPosAttribute: number; - TexCoordAttribute: number; - private TexSampleUniform: WebGLUniformLocation; - private MatUniform: WebGLUniformLocation; - private CameraPosUniform: WebGLUniformLocation; - private gl: WebGLRenderingContext = null; - - constructor(gl: WebGLRenderingContext) { - this.gl = gl; - this.glProgram = this.MakeProgram(gl); - this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); - this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); - this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); - this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); - this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); - } - - public UseProgram() { - this.gl.useProgram(this.glProgram); - this.gl.uniform1i(this.TexSampleUniform, 0); - } - - public UpdatePosition(x: number, y: number) { - this.gl.uniform2f(this.CameraPosUniform, x, y); - } - - private MakeProgram(gl: WebGLRenderingContext): WebGLProgram { - var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); - var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); - - var glProgram = gl.createProgram(); - gl.attachShader(glProgram, vertexShader); - gl.attachShader(glProgram, fragmentShader); - gl.linkProgram(glProgram); - - return glProgram; - } - - private CompileShader(gl: WebGLRenderingContext, src: string, type) { - var Shader = gl.createShader(type); - gl.shaderSource(Shader, src); - gl.compileShader(Shader); - - if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { - alert(gl.getShaderInfoLog(Shader)); - } - return Shader; - } - - public updateMatrix(mat: TSM.mat4) { - this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); - } - - private static defaultVertexShaderSrc = ` - attribute vec3 aVertexPosition; - attribute vec2 aTexCoord; - uniform mat4 uProjectionView; - uniform vec2 uCameraPos; - varying vec2 vtexCoord; - void main(void) { - vtexCoord = aTexCoord; - gl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView; - } - `; - - private static defaultFragmentShaderSrc = ` - precision mediump float; - uniform sampler2D sampler2d; - varying vec2 vtexCoord; - void main(void) { - gl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t)); - if(gl_FragColor.a < 0.5) discard; - } - `; - } -} diff --git a/SpriteGL/spriteRenderer.ts b/SpriteGL/spriteRenderer.ts deleted file mode 100644 index 1ddd6cf..0000000 --- a/SpriteGL/spriteRenderer.ts +++ /dev/null @@ -1,94 +0,0 @@ -module SpriteGL { - export class SpriteRenderer { - private gl: WebGLRenderingContext; - private Shader: Shader; - private vbo: VBO; - private texture: WebGLTexture; - private SpriteSize: number; - private Text: TextDrawer; - - constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear) { - this.gl = webglContext; - this.vbo = new VBO(this.gl); - this.Shader = new Shader(this.gl); - this.Text = new TextDrawer(this.gl); - this.Shader.UseProgram(); - this.CreateTexture(Image, Filtering); - this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); - - this.gl.clearColor(0.0, 0.0, 0.0, 1.0); - this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); - this.gl.enable(this.gl.BLEND); - this.SetHight(0.0); - this.gl.enable(this.gl.DEPTH_TEST); - this.gl.depthFunc(this.gl.LEQUAL); - } - - RenderAll() { - this.gl.clear(this.gl.COLOR_BUFFER_BIT); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.vbo.RenderAllSpr(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); - this.vbo.RenderAllTxt(); - } - - UpdateViewPort(width: number, height: number) { - this.gl.viewport(0, 0, width, height); - var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); - var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); - this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); - } - - DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { - this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); - } - - SetHight(hight: number) { - this.vbo.SetupHeight(hight); - } - - PrepareTxt(str: string, color: string, fontSize: number, outLine = false) { - return this.Text.PrepareTxt(str, color, fontSize, outLine); - } - - DisposeTxt(txtObj) { - this.Text.DisposeTxt(txtObj); - } - - DrawTxt(txtObj, PosX: number, PosY: number) { - this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); - } - - UpdateCamera(x: number, y: number) { - this.Shader.UpdatePosition(x, y); - } - - private CreateTexture(image: HTMLImageElement, filtering: number) { - this.texture = this.gl.createTexture(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); - if (filtering == SpriteRenderer.TextureFilteringLinear) { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); - } else { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); - } - } - - static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering = SpriteRenderer.TextureFilteringLinear): SpriteRenderer { - try { - var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); - } catch (e) { - console.log("Error with WebGL context initialization"); - return null; - } - var newRenderer = new SpriteRenderer(ctx, Image, Filtering); - newRenderer.UpdateViewPort(canvas.width, canvas.height); - return newRenderer; - } - - static TextureFilteringLinear = 0; - static TextureFilteringNearest = 1; - } -} diff --git a/SpriteGL/vbo.ts b/SpriteGL/vbo.ts deleted file mode 100644 index 5072bb3..0000000 --- a/SpriteGL/vbo.ts +++ /dev/null @@ -1,77 +0,0 @@ -module SpriteGL { - export class VBO { - verticlesBuffer: WebGLBuffer; - private sprVerts = []; - private txtVerts = []; - private AtlasSize = 1; - private gl: WebGLRenderingContext = null; - private hight: number; - - constructor(gl: WebGLRenderingContext) { - this.gl = gl; - this.verticlesBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); - } - - SetupHeight(hight: number) { - this.hight = hight; - } - - SetupForDraw(vertexPositionAttr: number, textureCoordAttr: number, AtlasSize: number) { - this.gl.enableVertexAttribArray(vertexPositionAttr); - this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); - - this.gl.enableVertexAttribArray(textureCoordAttr); - this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); - this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); - this.AtlasSize = AtlasSize; - } - - RenderAllSpr() { - this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); - this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); - this.sprVerts = [] - } - - RenderAllTxt() { - this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); - this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); - this.txtVerts = [] - } - - DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { - for (var i = 0; i < VBO.defaultVerts.length; i += 2) { - //Pos - this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.sprVerts.push(this.hight); - //Tex - this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); - this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); - } - } - - DrawTxt(AtlasX: number, AtlasY: number, AtlasWidth, AtlasHeigh, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight) { - for (var i = 0; i < VBO.defaultVerts.length; i += 2) { - //Pos - this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.txtVerts.push(this.hight); - //Tex - this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); - this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); - } - } - - private static defaultVerts = [ - //Left - 0.0, 1.0, // 1 - 1.0, 0.0, // 2 - 0.0, 0.0, // 3 - //Right - 0.0, 1.0, // 1 - 1.0, 1.0, // 4 - 1.0, 0.0 // 2 - ]; - } -} From 00946d6de63a42e9ac73b83407e723074c3d0fd4 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 11:08:53 -0300 Subject: [PATCH 3/8] :sparkles: uses TSM as a module --- 3rd/tsm-0.7.d.ts | 238 --- 3rd/tsm-0.7.js | 2884 ------------------------------------ SpriteGL/Shader.ts | 4 +- SpriteGL/SpriteRenderer.ts | 3 +- package.json | 3 + yarn.lock | 2325 +++++++++++++++++++++++++++++ 6 files changed, 2333 insertions(+), 3124 deletions(-) delete mode 100644 3rd/tsm-0.7.d.ts delete mode 100644 3rd/tsm-0.7.js create mode 100644 yarn.lock diff --git a/3rd/tsm-0.7.d.ts b/3rd/tsm-0.7.d.ts deleted file mode 100644 index 307b69c..0000000 --- a/3rd/tsm-0.7.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -declare var EPSILON: number; -declare module TSM { - class vec2 { - private values; - public x : number; - public y : number; - public xy : number[]; - constructor(values?: number[]); - public at(index: number): number; - public reset(): void; - public copy(dest?: vec2): vec2; - public negate(dest?: vec2): vec2; - public equals(vector: vec2, threshold?: number): boolean; - public length(): number; - public squaredLength(): number; - public add(vector: vec2): vec2; - public subtract(vector: vec2): vec2; - public multiply(vector: vec2): vec2; - public divide(vector: vec2): vec2; - public scale(value: number, dest?: vec2): vec2; - public normalize(dest?: vec2): vec2; - public multiplyMat2(matrix: TSM.mat2, dest?: vec2): vec2; - public multiplyMat3(matrix: TSM.mat3, dest?: vec2): vec2; - static cross(vector: vec2, vector2: vec2, dest?: TSM.vec3): TSM.vec3; - static dot(vector: vec2, vector2: vec2): number; - static distance(vector: vec2, vector2: vec2): number; - static squaredDistance(vector: vec2, vector2: vec2): number; - static direction(vector: vec2, vector2: vec2, dest?: vec2): vec2; - static mix(vector: vec2, vector2: vec2, time: number, dest?: vec2): vec2; - static sum(vector: vec2, vector2: vec2, dest?: vec2): vec2; - static difference(vector: vec2, vector2: vec2, dest?: vec2): vec2; - static product(vector: vec2, vector2: vec2, dest?: vec2): vec2; - static quotient(vector: vec2, vector2: vec2, dest?: vec2): vec2; - static zero: vec2; - } -} -declare module TSM { - class vec3 { - private values; - public x : number; - public y : number; - public z : number; - public xy : number[]; - public xyz : number[]; - constructor(values?: number[]); - public at(index: number): number; - public reset(): void; - public copy(dest?: vec3): vec3; - public negate(dest?: vec3): vec3; - public equals(vector: vec3, threshold?: number): boolean; - public length(): number; - public squaredLength(): number; - public add(vector: vec3): vec3; - public subtract(vector: vec3): vec3; - public multiply(vector: vec3): vec3; - public divide(vector: vec3): vec3; - public scale(value: number, dest?: vec3): vec3; - public normalize(dest?: vec3): vec3; - public multiplyByMat3(matrix: TSM.mat3, dest?: vec3): vec3; - public multiplyByQuat(quat: TSM.quat, dest?: vec3): vec3; - static cross(vector: vec3, vector2: vec3, dest?: vec3): vec3; - static dot(vector: vec3, vector2: vec3): number; - static distance(vector: vec3, vector2: vec3): number; - static squaredDistance(vector: vec3, vector2: vec3): number; - static direction(vector: vec3, vector2: vec3, dest?: vec3): vec3; - static mix(vector: vec3, vector2: vec3, time: number, dest?: vec3): vec3; - static sum(vector: vec3, vector2: vec3, dest?: vec3): vec3; - static difference(vector: vec3, vector2: vec3, dest?: vec3): vec3; - static product(vector: vec3, vector2: vec3, dest?: vec3): vec3; - static quotient(vector: vec3, vector2: vec3, dest?: vec3): vec3; - public toQuat(dest?: TSM.quat): TSM.quat; - static zero: vec3; - static up: vec3; - static right: vec3; - static forward: vec3; - } -} -declare module TSM { - class vec4 { - private values; - public x : number; - public y : number; - public z : number; - public w : number; - public xy : number[]; - public xyz : number[]; - public xyzw : number[]; - public r : number; - public g : number; - public b : number; - public a : number; - public rg : number[]; - public rgb : number[]; - public rgba : number[]; - constructor(values?: number[]); - public at(index: number): number; - public reset(): void; - public copy(dest?: vec4): vec4; - public negate(dest?: vec4): vec4; - public equals(vector: vec4, threshold?: number): boolean; - public length(): number; - public squaredLength(): number; - public add(vector: vec4): vec4; - public subtract(vector: vec4): vec4; - public multiply(vector: vec4): vec4; - public divide(vector: vec4): vec4; - public scale(value: number, dest?: vec4): vec4; - public normalize(dest?: vec4): vec4; - public multiplyMat4(matrix: TSM.mat4, dest?: vec4): vec4; - static mix(vector: vec4, vector2: vec4, time: number, dest?: vec4): vec4; - static sum(vector: vec4, vector2: vec4, dest?: vec4): vec4; - static difference(vector: vec4, vector2: vec4, dest?: vec4): vec4; - static product(vector: vec4, vector2: vec4, dest?: vec4): vec4; - static quotient(vector: vec4, vector2: vec4, dest?: vec4): vec4; - static zero: vec4; - } -} -declare module TSM { - class mat2 { - private values; - constructor(values?: number[]); - public at(index: number): number; - public init(values: number[]): mat2; - public reset(): void; - public copy(dest?: mat2): mat2; - public all(): number[]; - public row(index: number): number[]; - public col(index: number): number[]; - public equals(matrix: mat2, threshold?: number): boolean; - public determinant(): number; - public setIdentity(): mat2; - public transpose(): mat2; - public inverse(): mat2; - public multiply(matrix: mat2): mat2; - public rotate(angle: number): mat2; - public multiplyVec2(vector: TSM.vec2, result?: TSM.vec2): TSM.vec2; - public scale(vector: TSM.vec2): mat2; - static product(m1: mat2, m2: mat2, result?: mat2): mat2; - static identity: mat2; - } -} -declare module TSM { - class mat3 { - private values; - constructor(values?: number[]); - public at(index: number): number; - public init(values: number[]): mat3; - public reset(): void; - public copy(dest?: mat3): mat3; - public all(): number[]; - public row(index: number): number[]; - public col(index: number): number[]; - public equals(matrix: mat3, threshold?: number): boolean; - public determinant(): number; - public setIdentity(): mat3; - public transpose(): mat3; - public inverse(): mat3; - public multiply(matrix: mat3): mat3; - public multiplyVec2(vector: TSM.vec2, result?: TSM.vec2): TSM.vec2; - public multiplyVec3(vector: TSM.vec3, result?: TSM.vec3): TSM.vec3; - public toMat4(result?: TSM.mat4): TSM.mat4; - public toQuat(): TSM.quat; - public rotate(angle: number, axis: TSM.vec3): mat3; - static product(m1: mat3, m2: mat3, result?: mat3): mat3; - static identity: mat3; - } -} -declare module TSM { - class mat4 { - private values; - constructor(values?: number[]); - public at(index: number): number; - public init(values: number[]): mat4; - public reset(): void; - public copy(dest?: mat4): mat4; - public all(): number[]; - public row(index: number): number[]; - public col(index: number): number[]; - public equals(matrix: mat4, threshold?: number): boolean; - public determinant(): number; - public setIdentity(): mat4; - public transpose(): mat4; - public inverse(): mat4; - public multiply(matrix: mat4): mat4; - public multiplyVec3(vector: TSM.vec3): TSM.vec3; - public multiplyVec4(vector: TSM.vec4, dest?: TSM.vec4): TSM.vec4; - public toMat3(): TSM.mat3; - public toInverseMat3(): TSM.mat3; - public translate(vector: TSM.vec3): mat4; - public scale(vector: TSM.vec3): mat4; - public rotate(angle: number, axis: TSM.vec3): mat4; - static frustum(left: number, right: number, bottom: number, top: number, near: number, far: number): mat4; - static perspective(fov: number, aspect: number, near: number, far: number): mat4; - static orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): mat4; - static lookAt(position: TSM.vec3, target: TSM.vec3, up?: TSM.vec3): mat4; - static product(m1: mat4, m2: mat4, result?: mat4): mat4; - static identity: mat4; - } -} -declare module TSM { - class quat { - private values; - public x : number; - public y : number; - public z : number; - public w : number; - public xy : number[]; - public xyz : number[]; - public xyzw : number[]; - constructor(values?: number[]); - public at(index: number): number; - public reset(): void; - public copy(dest?: quat): quat; - public roll(): number; - public pitch(): number; - public yaw(): number; - public equals(vector: quat, threshold?: number): boolean; - public setIdentity(): quat; - public calculateW(): quat; - static dot(q1: quat, q2: quat): number; - public inverse(): quat; - public conjugate(): quat; - public length(): number; - public normalize(dest?: quat): quat; - public add(other: quat): quat; - public multiply(other: quat): quat; - public multiplyVec3(vector: TSM.vec3, dest?: TSM.vec3): TSM.vec3; - public toMat3(dest?: TSM.mat3): TSM.mat3; - public toMat4(dest?: TSM.mat4): TSM.mat4; - static sum(q1: quat, q2: quat, dest?: quat): quat; - static product(q1: quat, q2: quat, dest?: quat): quat; - static cross(q1: quat, q2: quat, dest?: quat): quat; - static shortMix(q1: quat, q2: quat, time: number, dest?: quat): quat; - static mix(q1: quat, q2: quat, time: number, dest?: quat): quat; - static fromAxis(axis: TSM.vec3, angle: number, dest?: quat): quat; - static identity: quat; - } -} diff --git a/3rd/tsm-0.7.js b/3rd/tsm-0.7.js deleted file mode 100644 index a950911..0000000 --- a/3rd/tsm-0.7.js +++ /dev/null @@ -1,2884 +0,0 @@ -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 EPSILON = 0.000001; -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec2 = (function () { - function vec2(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(2); - if (values) { - this.xy = values; - } - } - Object.defineProperty(vec2.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec2.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec2.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - - - - vec2.prototype.at = function (index) { - return this.values[index]; - }; - - vec2.prototype.reset = function () { - this.x = 0; - this.y = 0; - }; - - vec2.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = this.x; - dest.y = this.y; - - return dest; - }; - - vec2.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - - return dest; - }; - - vec2.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - return true; - }; - - vec2.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec2.prototype.squaredLength = function () { - var x = this.x, y = this.y; - - return (x * x + y * y); - }; - - vec2.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - - return this; - }; - - vec2.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - - return this; - }; - - vec2.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - - return this; - }; - - vec2.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - - return this; - }; - - vec2.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - - return dest; - }; - - vec2.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x = 0; - dest.y = 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - - return dest; - }; - - vec2.prototype.multiplyMat2 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec2(this, dest); - }; - - vec2.prototype.multiplyMat3 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec2(this, dest); - }; - - vec2.cross = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec3(); - - var x = vector.x, y = vector.y; - - var x2 = vector2.x, y2 = vector2.y; - - var z = x * y2 - y * x2; - - dest.x = 0; - dest.y = 0; - dest.z = z; - - return dest; - }; - - vec2.dot = function (vector, vector2) { - return (vector.x * vector2.x + vector.y * vector2.y); - }; - - vec2.distance = function (vector, vector2) { - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - - vec2.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y; - - return (x * x + y * y); - }; - - vec2.direction = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - var x = vector.x - vector2.x, y = vector.y - vector2.y; - - var length = Math.sqrt(x * x + y * y); - - if (length === 0) { - dest.x = 0; - dest.y = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - - return dest; - }; - - vec2.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - var x = vector.x, y = vector.y; - - var x2 = vector2.x, y2 = vector2.y; - - dest.x = x + time * (x2 - x); - dest.y = y + time * (y2 - y); - - return dest; - }; - - vec2.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - - return dest; - }; - - vec2.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - - return dest; - }; - - vec2.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - - return dest; - }; - - vec2.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - - return dest; - }; - - vec2.zero = new vec2([0, 0]); - return vec2; - })(); - TSM.vec2 = vec2; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec3 = (function () { - function vec3(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(3); - if (values) { - this.xyz = values; - } - } - Object.defineProperty(vec3.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - - - - - - vec3.prototype.at = function (index) { - return this.values[index]; - }; - - vec3.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - }; - - vec3.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - - return dest; - }; - - vec3.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - - return dest; - }; - - vec3.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - if (Math.abs(this.z - vector.z) > threshold) - return false; - - return true; - }; - - vec3.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec3.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z; - - return (x * x + y * y + z * z); - }; - - vec3.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - - return this; - }; - - vec3.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - - return this; - }; - - vec3.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - - return this; - }; - - vec3.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - - return this; - }; - - vec3.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - dest.z *= value; - - return dest; - }; - - vec3.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - dest.z *= length; - - return dest; - }; - - vec3.prototype.multiplyByMat3 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec3(this, dest); - }; - - vec3.prototype.multiplyByQuat = function (quat, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return quat.multiplyVec3(this, dest); - }; - - vec3.cross = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - var x = vector.x, y = vector.y, z = vector.z; - - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - - dest.x = y * z2 - z * y2; - dest.y = z * x2 - x * z2; - dest.z = x * y2 - y * x2; - - return dest; - }; - - vec3.dot = function (vector, vector2) { - var x = vector.x, y = vector.y, z = vector.z; - - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - - return (x * x2 + y * y2 + z * z2); - }; - - vec3.distance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - - vec3.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - - return (x * x + y * y + z * z); - }; - - vec3.direction = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - var x = vector.x - vector2.x, y = vector.y - vector2.y, z = vector.z - vector2.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - - return dest; - }; - - vec3.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - - return dest; - }; - - vec3.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - dest.z = vector.z + vector2.z; - - return dest; - }; - - vec3.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - dest.z = vector.z - vector2.z; - - return dest; - }; - - vec3.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - dest.z = vector.z * vector2.z; - - return dest; - }; - - vec3.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - dest.z = vector.z / vector2.z; - - return dest; - }; - - vec3.prototype.toQuat = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.quat(); - - var c = new vec3(); - var s = new vec3(); - - c.x = Math.cos(this.x * 0.5); - s.x = Math.sin(this.x * 0.5); - - c.y = Math.cos(this.y * 0.5); - s.y = Math.sin(this.y * 0.5); - - c.z = Math.cos(this.z * 0.5); - s.z = Math.sin(this.z * 0.5); - - dest.x = s.x * c.y * c.z - c.x * s.y * s.z; - dest.y = c.x * s.y * c.z + s.x * c.y * s.z; - dest.z = c.x * c.y * s.z - s.x * s.y * c.z; - dest.w = c.x * c.y * c.z + s.x * s.y * s.z; - - return dest; - }; - - vec3.zero = new vec3([0, 0, 0]); - - vec3.up = new vec3([0, 1, 0]); - vec3.right = new vec3([1, 0, 0]); - vec3.forward = new vec3([0, 0, 1]); - return vec3; - })(); - TSM.vec3 = vec3; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec4 = (function () { - function vec4(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - Object.defineProperty(vec4.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - Object.defineProperty(vec4.prototype, "r", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "g", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "b", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "a", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rg", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rgb", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rgba", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - vec4.prototype.at = function (index) { - return this.values[index]; - }; - - vec4.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 0; - }; - - vec4.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - dest.w = this.w; - - return dest; - }; - - vec4.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - dest.w = -this.w; - - return dest; - }; - - vec4.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - if (Math.abs(this.z - vector.z) > threshold) - return false; - - if (Math.abs(this.w - vector.w) > threshold) - return false; - - return true; - }; - - vec4.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec4.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return (x * x + y * y + z * z + w * w); - }; - - vec4.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - this.w += vector.w; - - return this; - }; - - vec4.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - this.w -= vector.w; - - return this; - }; - - vec4.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - this.w *= vector.w; - - return this; - }; - - vec4.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - this.w /= vector.w; - - return this; - }; - - vec4.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - dest.z *= value; - dest.w *= value; - - return dest; - }; - - vec4.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x *= 0; - dest.y *= 0; - dest.z *= 0; - dest.w *= 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - dest.z *= length; - dest.w *= length; - - return dest; - }; - - vec4.prototype.multiplyMat4 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec4(this, dest); - }; - - vec4.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - dest.w = vector.w + time * (vector2.w - vector.w); - - return dest; - }; - - vec4.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x + vector2.x, dest.y = vector.y + vector2.y, dest.z = vector.z + vector2.z, dest.w = vector.w + vector2.w; - - return dest; - }; - - vec4.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x - vector2.x, dest.y = vector.y - vector2.y, dest.z = vector.z - vector2.z, dest.w = vector.w - vector2.w; - - return dest; - }; - - vec4.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x * vector2.x, dest.y = vector.y * vector2.y, dest.z = vector.z * vector2.z, dest.w = vector.w * vector2.w; - - return dest; - }; - - vec4.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x / vector2.x, dest.y = vector.y / vector2.y, dest.z = vector.z / vector2.z, dest.w = vector.w / vector2.w; - - return dest; - }; - - vec4.zero = new vec4([0, 0, 0, 1]); - return vec4; - })(); - TSM.vec4 = vec4; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat2 = (function () { - function mat2(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.init(values); - } - } - mat2.prototype.at = function (index) { - return this.values[index]; - }; - - mat2.prototype.init = function (values) { - for (var i = 0; i < 4; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat2.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - - mat2.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat2(); - - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat2.prototype.all = function () { - var data = []; - for (var i = 0; i < 4; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat2.prototype.row = function (index) { - return [ - this.values[index * 2 + 0], - this.values[index * 2 + 1] - ]; - }; - - mat2.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 2] - ]; - }; - - mat2.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat2.prototype.determinant = function () { - return this.values[0] * this.values[3] - this.values[2] * this.values[1]; - }; - - mat2.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 1; - - return this; - }; - - mat2.prototype.transpose = function () { - var temp = this.values[1]; - - this.values[1] = this.values[2]; - this.values[2] = temp; - - return this; - }; - - mat2.prototype.inverse = function () { - var det = this.determinant(); - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = det * (this.values[3]); - this.values[1] = det * (-this.values[1]); - this.values[2] = det * (-this.values[2]); - this.values[3] = det * (this.values[0]); - - return this; - }; - - mat2.prototype.multiply = function (matrix) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - this.values[0] = a11 * matrix.at(0) + a12 * matrix.at(2); - this.values[1] = a11 * matrix.at(1) + a12 * matrix.at(3); - this.values[2] = a21 * matrix.at(0) + a22 * matrix.at(2); - this.values[3] = a21 * matrix.at(1) + a22 * matrix.at(3); - - return this; - }; - - mat2.prototype.rotate = function (angle) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - var sin = Math.sin(angle), cos = Math.cos(angle); - - this.values[0] = a11 * cos + a12 * sin; - this.values[1] = a11 * -sin + a12 * cos; - this.values[2] = a21 * cos + a22 * sin; - this.values[3] = a21 * -sin + a22 * cos; - - return this; - }; - - mat2.prototype.multiplyVec2 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y; - - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]; - - return result; - } else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]); - } - }; - - mat2.prototype.scale = function (vector) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - var x = vector.x, y = vector.y; - - this.values[0] = a11 * x; - this.values[1] = a12 * y; - this.values[2] = a21 * x; - this.values[3] = a22 * y; - - return this; - }; - - mat2.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a11 = m1.at(0), a12 = m1.at(1), a21 = m1.at(2), a22 = m1.at(3); - - if (result) { - result.init([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - - return result; - } else { - return new mat2([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - } - }; - - mat2.identity = new mat2().setIdentity(); - return mat2; - })(); - TSM.mat2 = mat2; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat3 = (function () { - function mat3(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(9); - if (values) { - this.init(values); - } - } - mat3.prototype.at = function (index) { - return this.values[index]; - }; - - mat3.prototype.init = function (values) { - for (var i = 0; i < 9; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat3.prototype.reset = function () { - for (var i = 0; i < 9; i++) { - this.values[i] = 0; - } - }; - - mat3.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat3(); - - for (var i = 0; i < 9; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat3.prototype.all = function () { - var data = []; - for (var i = 0; i < 9; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat3.prototype.row = function (index) { - return [ - this.values[index * 3 + 0], - this.values[index * 3 + 1], - this.values[index * 3 + 2] - ]; - }; - - mat3.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 3], - this.values[index + 6] - ]; - }; - - mat3.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 9; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat3.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - return a00 * det01 + a01 * det11 + a02 * det21; - }; - - mat3.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 1; - this.values[5] = 0; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 1; - - return this; - }; - - mat3.prototype.transpose = function () { - var temp01 = this.values[1], temp02 = this.values[2], temp12 = this.values[5]; - - this.values[1] = this.values[3]; - this.values[2] = this.values[6]; - this.values[3] = temp01; - this.values[5] = this.values[7]; - this.values[6] = temp02; - this.values[7] = temp12; - - return this; - }; - - mat3.prototype.inverse = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - var det = a00 * det01 + a01 * det11 + a02 * det21; - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = det01 * det; - this.values[1] = (-a22 * a01 + a02 * a21) * det; - this.values[2] = (a12 * a01 - a02 * a11) * det; - this.values[3] = det11 * det; - this.values[4] = (a22 * a00 - a02 * a20) * det; - this.values[5] = (-a12 * a00 + a02 * a10) * det; - this.values[6] = det21 * det; - this.values[7] = (-a21 * a00 + a01 * a20) * det; - this.values[8] = (a11 * a00 - a01 * a10) * det; - - return this; - }; - - mat3.prototype.multiply = function (matrix) { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var b00 = matrix.at(0), b01 = matrix.at(1), b02 = matrix.at(2), b10 = matrix.at(3), b11 = matrix.at(4), b12 = matrix.at(5), b20 = matrix.at(6), b21 = matrix.at(7), b22 = matrix.at(8); - - this.values[0] = b00 * a00 + b01 * a10 + b02 * a20; - this.values[1] = b00 * a01 + b01 * a11 + b02 * a21; - this.values[2] = b00 * a02 + b01 * a12 + b02 * a22; - - this.values[3] = b10 * a00 + b11 * a10 + b12 * a20; - this.values[4] = b10 * a01 + b11 * a11 + b12 * a21; - this.values[5] = b10 * a02 + b11 * a12 + b12 * a22; - - this.values[6] = b20 * a00 + b21 * a10 + b22 * a20; - this.values[7] = b20 * a01 + b21 * a11 + b22 * a21; - this.values[8] = b20 * a02 + b21 * a12 + b22 * a22; - - return this; - }; - - mat3.prototype.multiplyVec2 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y; - - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]; - - return result; - } else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]); - } - }; - - mat3.prototype.multiplyVec3 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y, z = vector.z; - - if (result) { - result.xyz = [ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]; - - return result; - } else { - return new TSM.vec3([ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]); - } - }; - - mat3.prototype.toMat4 = function (result) { - if (typeof result === "undefined") { result = null; } - if (result) { - result.init([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - - return result; - } else { - return new TSM.mat4([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - } - }; - - mat3.prototype.toQuat = function () { - var m00 = this.values[0], m01 = this.values[1], m02 = this.values[2], m10 = this.values[3], m11 = this.values[4], m12 = this.values[5], m20 = this.values[6], m21 = this.values[7], m22 = this.values[8]; - - var fourXSquaredMinus1 = m00 - m11 - m22; - var fourYSquaredMinus1 = m11 - m00 - m22; - var fourZSquaredMinus1 = m22 - m00 - m11; - var fourWSquaredMinus1 = m00 + m11 + m22; - - var biggestIndex = 0; - - var fourBiggestSquaredMinus1 = fourWSquaredMinus1; - - if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourXSquaredMinus1; - biggestIndex = 1; - } - - if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourYSquaredMinus1; - biggestIndex = 2; - } - - if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourZSquaredMinus1; - biggestIndex = 3; - } - - var biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5; - var mult = 0.25 / biggestVal; - - var result = new TSM.quat(); - - switch (biggestIndex) { - case 0: - result.w = biggestVal; - result.x = (m12 - m21) * mult; - result.y = (m20 - m02) * mult; - result.z = (m01 - m10) * mult; - - break; - - case 1: - result.w = (m12 - m21) * mult; - result.x = biggestVal; - result.y = (m01 + m10) * mult; - result.z = (m20 + m02) * mult; - - break; - - case 2: - result.w = (m20 - m02) * mult; - result.x = (m01 + m10) * mult; - result.y = biggestVal; - result.z = (m12 + m21) * mult; - - break; - - case 3: - result.w = (m01 - m10) * mult; - result.x = (m20 + m02) * mult; - result.y = (m12 + m21) * mult; - result.z = biggestVal; - - break; - } - - return result; - }; - - mat3.prototype.rotate = function (angle, axis) { - var x = axis.x, y = axis.y, z = axis.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (!length) - return null; - - if (length !== 1) { - length = 1 / length; - x *= length; - y *= length; - z *= length; - } - - var s = Math.sin(angle); - var c = Math.cos(angle); - - var t = 1.0 - c; - - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - - var 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; - - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - - this.values[3] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[4] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[5] = a02 * b10 + a12 * b11 + a22 * b12; - - this.values[6] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[7] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[8] = a02 * b20 + a12 * b21 + a22 * b22; - - return this; - }; - - mat3.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a10 = m1.at(3), a11 = m1.at(4), a12 = m1.at(5), a20 = m1.at(6), a21 = m1.at(7), a22 = m1.at(8); - - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b10 = m2.at(3), b11 = m2.at(4), b12 = m2.at(5), b20 = m2.at(6), b21 = m2.at(7), b22 = m2.at(8); - - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - - return result; - } else { - return new mat3([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - } - }; - - mat3.identity = new mat3().setIdentity(); - return mat3; - })(); - TSM.mat3 = mat3; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat4 = (function () { - function mat4(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(16); - if (values) { - this.init(values); - } - } - mat4.prototype.at = function (index) { - return this.values[index]; - }; - - mat4.prototype.init = function (values) { - for (var i = 0; i < 16; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat4.prototype.reset = function () { - for (var i = 0; i < 16; i++) { - this.values[i] = 0; - } - }; - - mat4.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat4(); - - for (var i = 0; i < 16; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat4.prototype.all = function () { - var data = []; - for (var i = 0; i < 16; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat4.prototype.row = function (index) { - return [ - this.values[index * 4 + 0], - this.values[index * 4 + 1], - this.values[index * 4 + 2], - this.values[index * 4 + 3] - ]; - }; - - mat4.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 4], - this.values[index + 8], - this.values[index + 12] - ]; - }; - - mat4.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 16; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat4.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - - return (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - }; - - mat4.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 0; - this.values[5] = 1; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 0; - this.values[9] = 0; - this.values[10] = 1; - this.values[11] = 0; - this.values[12] = 0; - this.values[13] = 0; - this.values[14] = 0; - this.values[15] = 1; - - return this; - }; - - mat4.prototype.transpose = function () { - var temp01 = this.values[1], temp02 = this.values[2], temp03 = this.values[3], temp12 = this.values[6], temp13 = this.values[7], temp23 = this.values[11]; - - this.values[1] = this.values[4]; - this.values[2] = this.values[8]; - this.values[3] = this.values[12]; - this.values[4] = temp01; - this.values[6] = this.values[9]; - this.values[7] = this.values[13]; - this.values[8] = temp02; - this.values[9] = temp12; - this.values[11] = this.values[14]; - this.values[12] = temp03; - this.values[13] = temp13; - this.values[14] = temp23; - - return this; - }; - - mat4.prototype.inverse = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - - var det = (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = (a11 * det11 - a12 * det10 + a13 * det09) * det; - this.values[1] = (-a01 * det11 + a02 * det10 - a03 * det09) * det; - this.values[2] = (a31 * det05 - a32 * det04 + a33 * det03) * det; - this.values[3] = (-a21 * det05 + a22 * det04 - a23 * det03) * det; - this.values[4] = (-a10 * det11 + a12 * det08 - a13 * det07) * det; - this.values[5] = (a00 * det11 - a02 * det08 + a03 * det07) * det; - this.values[6] = (-a30 * det05 + a32 * det02 - a33 * det01) * det; - this.values[7] = (a20 * det05 - a22 * det02 + a23 * det01) * det; - this.values[8] = (a10 * det10 - a11 * det08 + a13 * det06) * det; - this.values[9] = (-a00 * det10 + a01 * det08 - a03 * det06) * det; - this.values[10] = (a30 * det04 - a31 * det02 + a33 * det00) * det; - this.values[11] = (-a20 * det04 + a21 * det02 - a23 * det00) * det; - this.values[12] = (-a10 * det09 + a11 * det07 - a12 * det06) * det; - this.values[13] = (a00 * det09 - a01 * det07 + a02 * det06) * det; - this.values[14] = (-a30 * det03 + a31 * det01 - a32 * det00) * det; - this.values[15] = (a20 * det03 - a21 * det01 + a22 * det00) * det; - - return this; - }; - - mat4.prototype.multiply = function (matrix) { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3]; - var a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7]; - var a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - var a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var b0 = matrix.at(0), b1 = matrix.at(1), b2 = matrix.at(2), b3 = matrix.at(3); - - this.values[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(4); - b1 = matrix.at(5); - b2 = matrix.at(6); - b3 = matrix.at(7); - - this.values[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(8); - b1 = matrix.at(9); - b2 = matrix.at(10); - b3 = matrix.at(11); - - this.values[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(12); - b1 = matrix.at(13); - b2 = matrix.at(14); - b3 = matrix.at(15); - - this.values[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - return this; - }; - - mat4.prototype.multiplyVec3 = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - return new TSM.vec3([ - this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12], - this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13], - this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] - ]); - }; - - mat4.prototype.multiplyVec4 = function (vector, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec4(); - - var x = vector.x, y = vector.y, z = vector.z, w = vector.w; - - dest.x = this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12] * w; - dest.y = this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13] * w; - dest.z = this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] * w; - dest.w = this.values[3] * x + this.values[7] * y + this.values[11] * z + this.values[15] * w; - - return dest; - }; - - mat4.prototype.toMat3 = function () { - return new TSM.mat3([ - this.values[0], - this.values[1], - this.values[2], - this.values[4], - this.values[5], - this.values[6], - this.values[8], - this.values[9], - this.values[10] - ]); - }; - - mat4.prototype.toInverseMat3 = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - var det = a00 * det01 + a01 * det11 + a02 * det21; - - if (!det) - return null; - - det = 1.0 / det; - - return new TSM.mat3([ - det01 * det, - (-a22 * a01 + a02 * a21) * det, - (a12 * a01 - a02 * a11) * det, - det11 * det, - (a22 * a00 - a02 * a20) * det, - (-a12 * a00 + a02 * a10) * det, - det21 * det, - (-a21 * a00 + a01 * a20) * det, - (a11 * a00 - a01 * a10) * det - ]); - }; - - mat4.prototype.translate = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - this.values[12] += this.values[0] * x + this.values[4] * y + this.values[8] * z; - this.values[13] += this.values[1] * x + this.values[5] * y + this.values[9] * z; - this.values[14] += this.values[2] * x + this.values[6] * y + this.values[10] * z; - this.values[15] += this.values[3] * x + this.values[7] * y + this.values[11] * z; - - return this; - }; - - mat4.prototype.scale = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - this.values[0] *= x; - this.values[1] *= x; - this.values[2] *= x; - this.values[3] *= x; - - this.values[4] *= y; - this.values[5] *= y; - this.values[6] *= y; - this.values[7] *= y; - - this.values[8] *= z; - this.values[9] *= z; - this.values[10] *= z; - this.values[11] *= z; - - return this; - }; - - mat4.prototype.rotate = function (angle, axis) { - var x = axis.x, y = axis.y, z = axis.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (!length) - return null; - - if (length !== 1) { - length = 1 / length; - x *= length; - y *= length; - z *= length; - } - - var s = Math.sin(angle); - var c = Math.cos(angle); - - var t = 1.0 - c; - - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - - var 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; - - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - this.values[3] = a03 * b00 + a13 * b01 + a23 * b02; - - this.values[4] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[5] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[6] = a02 * b10 + a12 * b11 + a22 * b12; - this.values[7] = a03 * b10 + a13 * b11 + a23 * b12; - - this.values[8] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[9] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[10] = a02 * b20 + a12 * b21 + a22 * b22; - this.values[11] = a03 * b20 + a13 * b21 + a23 * b22; - - return this; - }; - - mat4.frustum = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - - return new mat4([ - (near * 2) / rl, - 0, - 0, - 0, - 0, - (near * 2) / tb, - 0, - 0, - (right + left) / rl, - (top + bottom) / tb, - -(far + near) / fn, - -1, - 0, - 0, - -(far * near * 2) / fn, - 0 - ]); - }; - - mat4.perspective = function (fov, aspect, near, far) { - var top = near * Math.tan(fov * Math.PI / 360.0), right = top * aspect; - - return mat4.frustum(-right, right, -top, top, near, far); - }; - - mat4.orthographic = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - - return new mat4([ - 2 / rl, - 0, - 0, - 0, - 0, - 2 / tb, - 0, - 0, - 0, - 0, - -2 / fn, - 0, - -(left + right) / rl, - -(top + bottom) / tb, - -(far + near) / fn, - 1 - ]); - }; - - mat4.lookAt = function (position, target, up) { - if (typeof up === "undefined") { up = TSM.vec3.up; } - if (position.equals(target)) { - return this.identity; - } - - var z = TSM.vec3.difference(position, target).normalize(); - - var x = TSM.vec3.cross(up, z).normalize(); - var y = TSM.vec3.cross(z, x).normalize(); - - return new mat4([ - x.x, - y.x, - z.x, - 0, - x.y, - y.y, - z.y, - 0, - x.z, - y.z, - z.z, - 0, - -TSM.vec3.dot(x, position), - -TSM.vec3.dot(y, position), - -TSM.vec3.dot(z, position), - 1 - ]); - }; - - mat4.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a03 = m1.at(3), a10 = m1.at(4), a11 = m1.at(5), a12 = m1.at(6), a13 = m1.at(7), a20 = m1.at(8), a21 = m1.at(9), a22 = m1.at(10), a23 = m1.at(11), a30 = m1.at(12), a31 = m1.at(13), a32 = m1.at(14), a33 = m1.at(15); - - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b03 = m2.at(3), b10 = m2.at(4), b11 = m2.at(5), b12 = m2.at(6), b13 = m2.at(7), b20 = m2.at(8), b21 = m2.at(9), b22 = m2.at(10), b23 = m2.at(11), b30 = m2.at(12), b31 = m2.at(13), b32 = m2.at(14), b33 = m2.at(15); - - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - - return result; - } else { - return new mat4([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - } - }; - - mat4.identity = new mat4().setIdentity(); - return mat4; - })(); - TSM.mat4 = mat4; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var quat = (function () { - function quat(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - Object.defineProperty(quat.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - quat.prototype.at = function (index) { - return this.values[index]; - }; - - quat.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - - quat.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - quat.prototype.roll = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.atan2(2.0 * (x * y + w * z), w * w + x * x - y * y - z * z); - }; - - quat.prototype.pitch = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.atan2(2.0 * (y * z + w * x), w * w - x * x - y * y + z * z); - }; - - quat.prototype.yaw = function () { - return Math.asin(2.0 * (this.x * this.z - this.w * this.y)); - }; - - quat.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - vector.at(i)) > threshold) - return false; - } - - return true; - }; - - quat.prototype.setIdentity = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 1; - - return this; - }; - - quat.prototype.calculateW = function () { - var x = this.x, y = this.y, z = this.z; - - this.w = -(Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z))); - - return this; - }; - - quat.dot = function (q1, q2) { - return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - }; - - quat.prototype.inverse = function () { - var dot = quat.dot(this, this); - - if (!dot) { - this.xyzw = [0, 0, 0, 0]; - - return this; - } - - var invDot = dot ? 1.0 / dot : 0; - - this.x *= -invDot; - this.y *= -invDot; - this.z *= -invDot; - this.w *= invDot; - - return this; - }; - - quat.prototype.conjugate = function () { - this.values[0] *= -1; - this.values[1] *= -1; - this.values[2] *= -1; - - return this; - }; - - quat.prototype.length = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.sqrt(x * x + y * y + z * z + w * w); - }; - - quat.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var x = this.x, y = this.y, z = this.z, w = this.w; - - var length = Math.sqrt(x * x + y * y + z * z + w * w); - - if (!length) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - dest.w = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - dest.w = w * length; - - return dest; - }; - - quat.prototype.add = function (other) { - for (var i = 0; i < 4; i++) { - this.values[i] += other.at(i); - } - - return this; - }; - - quat.prototype.multiply = function (other) { - var q1x = this.values[0], q1y = this.values[1], q1z = this.values[2], q1w = this.values[3]; - - var q2x = other.x, q2y = other.y, q2z = other.z, q2w = other.w; - - this.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - this.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - this.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - this.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - - return this; - }; - - quat.prototype.multiplyVec3 = function (vector, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec3(); - - var x = vector.x, y = vector.y, z = vector.z; - - var qx = this.x, qy = this.y, qz = this.z, qw = this.w; - - var ix = qw * x + qy * z - qz * y, iy = qw * y + qz * x - qx * z, iz = qw * z + qx * y - qy * x, iw = -qx * x - qy * y - qz * z; - - dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; - dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; - dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; - - return dest; - }; - - quat.prototype.toMat3 = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.mat3(); - - var x = this.x, y = this.y, z = this.z, w = this.w; - - var x2 = x + x, y2 = y + y, z2 = z + z; - - var xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - xy - wz, - 1 - (xx + zz), - yz + wx, - xz + wy, - yz - wx, - 1 - (xx + yy) - ]); - - return dest; - }; - - quat.prototype.toMat4 = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.mat4(); - - var x = this.x, y = this.y, z = this.z, w = this.w, x2 = x + x, y2 = y + y, z2 = z + z, xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - 0, - xy - wz, - 1 - (xx + zz), - yz + wx, - 0, - xz + wy, - yz - wx, - 1 - (xx + yy), - 0, - 0, - 0, - 0, - 1 - ]); - - return dest; - }; - - quat.sum = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - dest.x = q1.x + q2.x; - dest.y = q1.y + q2.y; - dest.z = q1.z + q2.z; - dest.w = q1.w + q2.w; - - return dest; - }; - - quat.product = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - - dest.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - dest.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - dest.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - dest.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - - return dest; - }; - - quat.cross = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - - dest.x = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x; - dest.y = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - dest.z = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y; - dest.w = q1w * q2y + q1y * q2w + q1z * q2x - q1x * q2z; - - return dest; - }; - - quat.shortMix = function (q1, q2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - if (time <= 0.0) { - dest.xyzw = q1.xyzw; - - return dest; - } else if (time >= 1.0) { - dest.xyzw = q2.xyzw; - - return dest; - } - - var cos = quat.dot(q1, q2), q2a = q2.copy(); - - if (cos < 0.0) { - q2a.inverse(); - cos = -cos; - } - - var k0, k1; - - if (cos > 0.9999) { - k0 = 1 - time; - k1 = 0 + time; - } else { - var sin = Math.sqrt(1 - cos * cos); - var angle = Math.atan2(sin, cos); - - var oneOverSin = 1 / sin; - - k0 = Math.sin((1 - time) * angle) * oneOverSin; - k1 = Math.sin((0 + time) * angle) * oneOverSin; - } - - dest.x = k0 * q1.x + k1 * q2a.x; - dest.y = k0 * q1.y + k1 * q2a.y; - dest.z = k0 * q1.z + k1 * q2a.z; - dest.w = k0 * q1.w + k1 * q2a.w; - - return dest; - }; - - quat.mix = function (q1, q2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var cosHalfTheta = q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - - if (Math.abs(cosHalfTheta) >= 1.0) { - dest.xyzw = q1.xyzw; - - return dest; - } - - var halfTheta = Math.acos(cosHalfTheta), sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); - - if (Math.abs(sinHalfTheta) < 0.001) { - dest.x = q1.x * 0.5 + q2.x * 0.5; - dest.y = q1.y * 0.5 + q2.y * 0.5; - dest.z = q1.z * 0.5 + q2.z * 0.5; - dest.w = q1.w * 0.5 + q2.w * 0.5; - - return dest; - } - - var ratioA = Math.sin((1 - time) * halfTheta) / sinHalfTheta, ratioB = Math.sin(time * halfTheta) / sinHalfTheta; - - dest.x = q1.x * ratioA + q2.x * ratioB; - dest.y = q1.y * ratioA + q2.y * ratioB; - dest.z = q1.z * ratioA + q2.z * ratioB; - dest.w = q1.w * ratioA + q2.w * ratioB; - - return dest; - }; - - quat.fromAxis = function (axis, angle, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - angle *= 0.5; - var sin = Math.sin(angle); - - dest.x = axis.x * sin; - dest.y = axis.y * sin; - dest.z = axis.z * sin; - dest.w = Math.cos(angle); - - return dest; - }; - - quat.identity = new quat().setIdentity(); - return quat; - })(); - TSM.quat = quat; -})(TSM || (TSM = {})); -//# sourceMappingURL=tsm-0.7.js.map diff --git a/SpriteGL/Shader.ts b/SpriteGL/Shader.ts index 085fc2e..2b1be8f 100644 --- a/SpriteGL/Shader.ts +++ b/SpriteGL/Shader.ts @@ -1,4 +1,6 @@ -export default class Shader { +import * as TSM from "tsm"; + +export default class Shader { glProgram: WebGLProgram; VertexPosAttribute: number; TexCoordAttribute: number; diff --git a/SpriteGL/SpriteRenderer.ts b/SpriteGL/SpriteRenderer.ts index 64716d0..17cdb34 100644 --- a/SpriteGL/SpriteRenderer.ts +++ b/SpriteGL/SpriteRenderer.ts @@ -1,4 +1,5 @@ -import VBO from "./VBO"; +import * as TSM from "tsm"; +import VBO from "./VBO"; import Shader from "./Shader"; import TextDrawer from "./TextDrawer"; diff --git a/package.json b/package.json index 86d9775..9ac2544 100644 --- a/package.json +++ b/package.json @@ -17,5 +17,8 @@ "open": "0.0.5", "run-sequence": "^1.0.2", "static-server": "^2.0.0" + }, + "dependencies": { + "tsm": "https://github.com/VitorluizC/tsm" } } diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..0fa779b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,2325 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + integrity sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-wrap@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= + +array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== + +array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +chalk@*: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + integrity sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ= + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +chalk@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8= + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +cloneable-readable@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" + integrity sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg== + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +commander@^2.3.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-with-sourcemaps@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + +convert-source-map@^1.1.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= + +debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +deprecated@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" + integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk= + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= + dependencies: + readable-stream "~1.1.9" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +duplexify@^3.2.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + integrity sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +end-of-stream@^1.0.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== + dependencies: + once "^1.4.0" + +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8= + dependencies: + once "~1.3.0" + +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +event-stream@~3.1.5: + version "3.1.7" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.1.7.tgz#b4c540012d0fe1498420f3d8946008db6393c37a" + integrity sha1-tMVAAS0P4UmEIPPYlGAI22OTw3o= + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.2" + stream-combiner "~0.0.4" + through "~2.3.1" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fancy-log@^1.1.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" + integrity sha1-9BEl49hPLn2JpD0G2VjI94vha+E= + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + time-stamp "^1.0.0" + +file-size@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/file-size/-/file-size-0.0.5.tgz#057d43c3a3ed735da3f90d6052ab380f1e6d5e3b" + integrity sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs= + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" + integrity sha1-s33IRLdqL15wgeiE98CuNE8VNHY= + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= + +flagged-respawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" + integrity sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c= + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= + dependencies: + for-in "^1.0.1" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8= + dependencies: + globule "~0.1.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs= + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" + integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI= + dependencies: + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs= + dependencies: + gaze "^0.5.1" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY= + dependencies: + find-index "^0.1.1" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^5.0.3: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0= + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU= + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" + integrity sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw== + dependencies: + sparkles "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg= + dependencies: + natives "^1.1.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.2: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= + +gulp-add-src@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/gulp-add-src/-/gulp-add-src-0.2.0.tgz#9e10294619f91a0e7f4217c4f5e51841bcdbef17" + integrity sha1-nhApRhn5Gg5/QhfE9eUYQbzb7xc= + dependencies: + event-stream "~3.1.5" + streamqueue "^0.1.1" + through2 "~0.4.1" + vinyl-fs "~0.3.11" + +gulp-concat@^2.4.2: + version "2.6.1" + resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" + integrity sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M= + dependencies: + concat-with-sourcemaps "^1.0.0" + through2 "^2.0.0" + vinyl "^2.0.0" + +gulp-rename@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" + integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + integrity sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw= + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-typescript@^2.3.0: + version "2.14.1" + resolved "https://registry.yarnpkg.com/gulp-typescript/-/gulp-typescript-2.14.1.tgz#bc00edf2ee71f09bda53fd1d0b873b571371d4de" + integrity sha1-vADt8u5x8JvaU/0dC4c7VxNx1N4= + dependencies: + gulp-util "~3.0.7" + source-map "~0.5.3" + through2 "~2.0.1" + typescript "1.8.10" + vinyl-fs "~2.4.3" + +gulp-util@*, gulp-util@^3.0.0, gulp-util@~3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08= + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp@^3.8.10: + version "3.9.1" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" + integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ= + dependencies: + archy "^1.0.0" + chalk "^1.0.0" + deprecated "^0.0.1" + gulp-util "^3.0.0" + interpret "^1.0.0" + liftoff "^2.1.0" + minimist "^1.1.0" + orchestrator "^0.3.0" + pretty-hrtime "^1.0.0" + semver "^4.1.0" + tildify "^1.0.0" + v8flags "^2.0.2" + vinyl-fs "^0.3.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + integrity sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4= + dependencies: + ansi-regex "^0.2.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4= + dependencies: + sparkles "^1.0.0" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= + dependencies: + parse-passwd "^1.0.0" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js= + +inherits@2, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + +interpret@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-extglob@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== + dependencies: + is-unc-path "^1.0.0" + +is-stream@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== + dependencies: + unc-path-regex "^0.1.2" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" + integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4= + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +json-stable-stringify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= + dependencies: + readable-stream "^2.0.5" + +liftoff@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" + integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= + dependencies: + extend "^3.0.0" + findup-sync "^2.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U= + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc= + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo= + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg= + dependencies: + lodash._root "^3.0.0" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8= + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= + dependencies: + readable-stream "^2.0.1" + +micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.0.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +mime@^1.2.11: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +"minimatch@2 || 3": + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc= + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + integrity sha1-x054BXT2PG+aCQ6Q775u9TpqdWo= + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s= + dependencies: + duplexer2 "0.0.2" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natives@^1.1.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" + integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== + +normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= + +object-assign@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +once@^1.3.0, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +once@~1.3.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA= + dependencies: + wrappy "1" + +open@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" + integrity sha1-QsPhjslUZra/DcQvOilFw/DK2Pw= + +opn@^5.2.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" + integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== + dependencies: + is-wsl "^1.1.0" + +orchestrator@^0.3.0: + version "0.3.8" + resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" + integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4= + dependencies: + end-of-stream "~0.1.5" + sequencify "~0.0.7" + stream-consume "~0.1.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY= + +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s= + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-parse@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= + dependencies: + path-root-regex "^0.1.0" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + dependencies: + through "~2.3" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + +randomatic@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" + integrity sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.33: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.1.7: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== + dependencies: + path-parse "^1.0.5" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +run-sequence@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb" + integrity sha1-UJWgvr6YczsBQL0I3YDsAw3azes= + dependencies: + chalk "*" + gulp-util "*" + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= + +sequencify@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" + integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@^0.5.6, source-map@~0.5.3: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +split@0.2: + version "0.2.10" + resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57" + integrity sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc= + dependencies: + through "2" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +static-server@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/static-server/-/static-server-2.2.1.tgz#49e3cae2a001736b0ee9e95d21d3d843fc95efaa" + integrity sha512-j5eeW6higxYNmXMIT8iHjsdiViTpQDthg7o+SHsRtqdbxscdHqBHXwrXjHC8hL3F0Tsu34ApUpDkwzMBPBsrLw== + dependencies: + chalk "^0.5.1" + commander "^2.3.0" + file-size "0.0.5" + mime "^1.2.11" + opn "^5.2.0" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + dependencies: + duplexer "~0.1.1" + +stream-consume@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48" + integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg== + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + +streamqueue@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/streamqueue/-/streamqueue-0.1.3.tgz#b10d65158af579ce3a5f48c9276d01db23d4f8b5" + integrity sha1-sQ1lFYr1ec46X0jJJ20B2yPU+LU= + dependencies: + isstream "~0.1.1" + readable-stream "~1.0.33" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + integrity sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA= + dependencies: + ansi-regex "^0.2.1" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-bom-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" + integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4= + dependencies: + first-chunk-stream "^1.0.0" + strip-bom "^2.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q= + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + integrity sha1-2S3iaU6z9nMjlz1649i1W0wiGQo= + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw= + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@^0.6.0, through2@^0.6.1: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@^2.0.0, through2@~2.0.0, through2@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through2@~0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" + integrity sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s= + dependencies: + readable-stream "~1.0.17" + xtend "~2.1.1" + +through@2, through@~2.3, through@~2.3.1: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +tildify@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" + integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo= + dependencies: + os-homedir "^1.0.0" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38= + dependencies: + extend-shallow "^2.0.1" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +"tsm@https://github.com/VitorluizC/tsm": + version "0.9.0" + resolved "https://github.com/VitorluizC/tsm#30089842d5641995a3b877e10edf1b5335d61b05" + +typescript@1.8.10: + version "1.8.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.8.10.tgz#b475d6e0dff0bf50f296e5ca6ef9fbb5c7320f1e" + integrity sha1-tHXW4N/wv1DyluXKbvn7tccyDx4= + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs= + +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + integrity sha1-WqADz76Uxf+GbE59ZouxxNuts2k= + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8flags@^2.0.2: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= + dependencies: + user-home "^1.1.1" + +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" + integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= + +vinyl-fs@^0.3.0, vinyl-fs@~0.3.11: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY= + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-fs@~2.4.3: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk= + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" + strip-bom "^2.0.0" + strip-bom-stream "^1.0.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" + +vinyl@^0.4.0: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc= + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +which@^1.2.14: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= + dependencies: + object-keys "~0.4.0" From 90cac74a7db70a9a51ab6831386bb6df8d43b0c6 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 12:35:20 -0300 Subject: [PATCH 4/8] :white_check_mark: fixes indent styles on configuration files & package --- .editorconfig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index bbe27dd..2a046b7 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,6 +7,11 @@ root = true [*] charset = utf-8 end_of_line = lf - indent_style = tab + indent_size = 2 + indent_style = space insert_final_newline = true trim_trailing_whitespace = true + +# Editor settings for TypeScript and JavaScript files. +[*.{ts,js}] + indent_style = tab From 616b842cf38329370909a56298a8c51952872d40 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 12:43:34 -0300 Subject: [PATCH 5/8] :package: generates bundle sources & type definitions --- bili.config.js | 11 + bin/SpriteGL.d.ts | 16 - bin/SpriteGL.js | 3187 ---------------------------- dist/SpriteGL.cjs.js | 290 +++ dist/SpriteGL.es.js | 282 +++ dist/SpriteGL.js | 2763 ++++++++++++++++++++++++ dist/SpriteGL.min.js | 7 + dist/SpriteGL.min.js.map | 1 + package.json | 22 +- tsconfig.json | 7 + types/Shader.d.ts | 18 + types/SpriteRenderer.d.ts | 21 + types/TextDrawer.d.ts | 16 + types/VBO.d.ts | 16 + types/index.d.ts | 12 + yarn.lock | 4230 ++++++++++++++++++++++--------------- 16 files changed, 6027 insertions(+), 4872 deletions(-) create mode 100644 bili.config.js delete mode 100644 bin/SpriteGL.d.ts delete mode 100644 bin/SpriteGL.js create mode 100644 dist/SpriteGL.cjs.js create mode 100644 dist/SpriteGL.es.js create mode 100644 dist/SpriteGL.js create mode 100644 dist/SpriteGL.min.js create mode 100644 dist/SpriteGL.min.js.map create mode 100644 tsconfig.json create mode 100644 types/Shader.d.ts create mode 100644 types/SpriteRenderer.d.ts create mode 100644 types/TextDrawer.d.ts create mode 100644 types/VBO.d.ts create mode 100644 types/index.d.ts diff --git a/bili.config.js b/bili.config.js new file mode 100644 index 0000000..b8b0cbf --- /dev/null +++ b/bili.config.js @@ -0,0 +1,11 @@ +"use strict"; + +module.exports = { + input: "SpriteGL/index.ts", + banner: true, + format: ["es", "cjs", "umd", "umd-min"], + "typescript2": { + clean: true, + useTsconfigDeclarationDir: true + } +}; diff --git a/bin/SpriteGL.d.ts b/bin/SpriteGL.d.ts deleted file mode 100644 index ce5e16e..0000000 --- a/bin/SpriteGL.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -declare module SpriteGL { -class SpriteRenderer { - constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering?: number); - RenderAll(): void; - UpdateViewPort(width: number, height: number): void; - DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth: any, AtlasHeigh: any, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight: any): void; - SetHight(hight: number): void; - PrepareTxt(str: string, color: string, fontSize: number, outLine?: boolean): any; - DisposeTxt(txtObj: any): void; - DrawTxt(txtObj: any, PosX: number, PosY: number): void; - UpdateCamera(x: number, y: number): void; - static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering?: number): SpriteRenderer; - static TextureFilteringLinear: number; - static TextureFilteringNearest: number; - } - } \ No newline at end of file diff --git a/bin/SpriteGL.js b/bin/SpriteGL.js deleted file mode 100644 index 54f169f..0000000 --- a/bin/SpriteGL.js +++ /dev/null @@ -1,3187 +0,0 @@ -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 EPSILON = 0.000001; -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec2 = (function () { - function vec2(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(2); - if (values) { - this.xy = values; - } - } - Object.defineProperty(vec2.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec2.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec2.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - - - - vec2.prototype.at = function (index) { - return this.values[index]; - }; - - vec2.prototype.reset = function () { - this.x = 0; - this.y = 0; - }; - - vec2.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = this.x; - dest.y = this.y; - - return dest; - }; - - vec2.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - - return dest; - }; - - vec2.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - return true; - }; - - vec2.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec2.prototype.squaredLength = function () { - var x = this.x, y = this.y; - - return (x * x + y * y); - }; - - vec2.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - - return this; - }; - - vec2.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - - return this; - }; - - vec2.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - - return this; - }; - - vec2.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - - return this; - }; - - vec2.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - - return dest; - }; - - vec2.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x = 0; - dest.y = 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - - return dest; - }; - - vec2.prototype.multiplyMat2 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec2(this, dest); - }; - - vec2.prototype.multiplyMat3 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec2(this, dest); - }; - - vec2.cross = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec3(); - - var x = vector.x, y = vector.y; - - var x2 = vector2.x, y2 = vector2.y; - - var z = x * y2 - y * x2; - - dest.x = 0; - dest.y = 0; - dest.z = z; - - return dest; - }; - - vec2.dot = function (vector, vector2) { - return (vector.x * vector2.x + vector.y * vector2.y); - }; - - vec2.distance = function (vector, vector2) { - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - - vec2.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y; - - return (x * x + y * y); - }; - - vec2.direction = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - var x = vector.x - vector2.x, y = vector.y - vector2.y; - - var length = Math.sqrt(x * x + y * y); - - if (length === 0) { - dest.x = 0; - dest.y = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - - return dest; - }; - - vec2.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - var x = vector.x, y = vector.y; - - var x2 = vector2.x, y2 = vector2.y; - - dest.x = x + time * (x2 - x); - dest.y = y + time * (y2 - y); - - return dest; - }; - - vec2.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - - return dest; - }; - - vec2.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - - return dest; - }; - - vec2.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - - return dest; - }; - - vec2.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec2(); - - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - - return dest; - }; - - vec2.zero = new vec2([0, 0]); - return vec2; - })(); - TSM.vec2 = vec2; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec3 = (function () { - function vec3(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(3); - if (values) { - this.xyz = values; - } - } - Object.defineProperty(vec3.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec3.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - - - - - - vec3.prototype.at = function (index) { - return this.values[index]; - }; - - vec3.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - }; - - vec3.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - - return dest; - }; - - vec3.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - - return dest; - }; - - vec3.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - if (Math.abs(this.z - vector.z) > threshold) - return false; - - return true; - }; - - vec3.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec3.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z; - - return (x * x + y * y + z * z); - }; - - vec3.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - - return this; - }; - - vec3.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - - return this; - }; - - vec3.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - - return this; - }; - - vec3.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - - return this; - }; - - vec3.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - dest.z *= value; - - return dest; - }; - - vec3.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - dest.z *= length; - - return dest; - }; - - vec3.prototype.multiplyByMat3 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec3(this, dest); - }; - - vec3.prototype.multiplyByQuat = function (quat, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return quat.multiplyVec3(this, dest); - }; - - vec3.cross = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - var x = vector.x, y = vector.y, z = vector.z; - - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - - dest.x = y * z2 - z * y2; - dest.y = z * x2 - x * z2; - dest.z = x * y2 - y * x2; - - return dest; - }; - - vec3.dot = function (vector, vector2) { - var x = vector.x, y = vector.y, z = vector.z; - - var x2 = vector2.x, y2 = vector2.y, z2 = vector2.z; - - return (x * x2 + y * y2 + z * z2); - }; - - vec3.distance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - - return Math.sqrt(this.squaredDistance(vector, vector2)); - }; - - vec3.squaredDistance = function (vector, vector2) { - var x = vector2.x - vector.x, y = vector2.y - vector.y, z = vector2.z - vector.z; - - return (x * x + y * y + z * z); - }; - - vec3.direction = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - var x = vector.x - vector2.x, y = vector.y - vector2.y, z = vector.z - vector2.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (length === 0) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - - return dest; - }; - - vec3.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - - return dest; - }; - - vec3.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x + vector2.x; - dest.y = vector.y + vector2.y; - dest.z = vector.z + vector2.z; - - return dest; - }; - - vec3.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x - vector2.x; - dest.y = vector.y - vector2.y; - dest.z = vector.z - vector2.z; - - return dest; - }; - - vec3.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x * vector2.x; - dest.y = vector.y * vector2.y; - dest.z = vector.z * vector2.z; - - return dest; - }; - - vec3.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec3(); - - dest.x = vector.x / vector2.x; - dest.y = vector.y / vector2.y; - dest.z = vector.z / vector2.z; - - return dest; - }; - - vec3.prototype.toQuat = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.quat(); - - var c = new vec3(); - var s = new vec3(); - - c.x = Math.cos(this.x * 0.5); - s.x = Math.sin(this.x * 0.5); - - c.y = Math.cos(this.y * 0.5); - s.y = Math.sin(this.y * 0.5); - - c.z = Math.cos(this.z * 0.5); - s.z = Math.sin(this.z * 0.5); - - dest.x = s.x * c.y * c.z - c.x * s.y * s.z; - dest.y = c.x * s.y * c.z + s.x * c.y * s.z; - dest.z = c.x * c.y * s.z - s.x * s.y * c.z; - dest.w = c.x * c.y * c.z + s.x * s.y * s.z; - - return dest; - }; - - vec3.zero = new vec3([0, 0, 0]); - - vec3.up = new vec3([0, 1, 0]); - vec3.right = new vec3([1, 0, 0]); - vec3.forward = new vec3([0, 0, 1]); - return vec3; - })(); - TSM.vec3 = vec3; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var vec4 = (function () { - function vec4(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - Object.defineProperty(vec4.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - Object.defineProperty(vec4.prototype, "r", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "g", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "b", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "a", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rg", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rgb", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(vec4.prototype, "rgba", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - vec4.prototype.at = function (index) { - return this.values[index]; - }; - - vec4.prototype.reset = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 0; - }; - - vec4.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = this.x; - dest.y = this.y; - dest.z = this.z; - dest.w = this.w; - - return dest; - }; - - vec4.prototype.negate = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x = -this.x; - dest.y = -this.y; - dest.z = -this.z; - dest.w = -this.w; - - return dest; - }; - - vec4.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - if (Math.abs(this.x - vector.x) > threshold) - return false; - - if (Math.abs(this.y - vector.y) > threshold) - return false; - - if (Math.abs(this.z - vector.z) > threshold) - return false; - - if (Math.abs(this.w - vector.w) > threshold) - return false; - - return true; - }; - - vec4.prototype.length = function () { - return Math.sqrt(this.squaredLength()); - }; - - vec4.prototype.squaredLength = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return (x * x + y * y + z * z + w * w); - }; - - vec4.prototype.add = function (vector) { - this.x += vector.x; - this.y += vector.y; - this.z += vector.z; - this.w += vector.w; - - return this; - }; - - vec4.prototype.subtract = function (vector) { - this.x -= vector.x; - this.y -= vector.y; - this.z -= vector.z; - this.w -= vector.w; - - return this; - }; - - vec4.prototype.multiply = function (vector) { - this.x *= vector.x; - this.y *= vector.y; - this.z *= vector.z; - this.w *= vector.w; - - return this; - }; - - vec4.prototype.divide = function (vector) { - this.x /= vector.x; - this.y /= vector.y; - this.z /= vector.z; - this.w /= vector.w; - - return this; - }; - - vec4.prototype.scale = function (value, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - dest.x *= value; - dest.y *= value; - dest.z *= value; - dest.w *= value; - - return dest; - }; - - vec4.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var length = this.length(); - - if (length === 1) { - return this; - } - - if (length === 0) { - dest.x *= 0; - dest.y *= 0; - dest.z *= 0; - dest.w *= 0; - - return dest; - } - - length = 1.0 / length; - - dest.x *= length; - dest.y *= length; - dest.z *= length; - dest.w *= length; - - return dest; - }; - - vec4.prototype.multiplyMat4 = function (matrix, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - return matrix.multiplyVec4(this, dest); - }; - - vec4.mix = function (vector, vector2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x + time * (vector2.x - vector.x); - dest.y = vector.y + time * (vector2.y - vector.y); - dest.z = vector.z + time * (vector2.z - vector.z); - dest.w = vector.w + time * (vector2.w - vector.w); - - return dest; - }; - - vec4.sum = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x + vector2.x, dest.y = vector.y + vector2.y, dest.z = vector.z + vector2.z, dest.w = vector.w + vector2.w; - - return dest; - }; - - vec4.difference = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x - vector2.x, dest.y = vector.y - vector2.y, dest.z = vector.z - vector2.z, dest.w = vector.w - vector2.w; - - return dest; - }; - - vec4.product = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x * vector2.x, dest.y = vector.y * vector2.y, dest.z = vector.z * vector2.z, dest.w = vector.w * vector2.w; - - return dest; - }; - - vec4.quotient = function (vector, vector2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new vec4(); - - dest.x = vector.x / vector2.x, dest.y = vector.y / vector2.y, dest.z = vector.z / vector2.z, dest.w = vector.w / vector2.w; - - return dest; - }; - - vec4.zero = new vec4([0, 0, 0, 1]); - return vec4; - })(); - TSM.vec4 = vec4; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat2 = (function () { - function mat2(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.init(values); - } - } - mat2.prototype.at = function (index) { - return this.values[index]; - }; - - mat2.prototype.init = function (values) { - for (var i = 0; i < 4; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat2.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - - mat2.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat2(); - - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat2.prototype.all = function () { - var data = []; - for (var i = 0; i < 4; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat2.prototype.row = function (index) { - return [ - this.values[index * 2 + 0], - this.values[index * 2 + 1] - ]; - }; - - mat2.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 2] - ]; - }; - - mat2.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat2.prototype.determinant = function () { - return this.values[0] * this.values[3] - this.values[2] * this.values[1]; - }; - - mat2.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 1; - - return this; - }; - - mat2.prototype.transpose = function () { - var temp = this.values[1]; - - this.values[1] = this.values[2]; - this.values[2] = temp; - - return this; - }; - - mat2.prototype.inverse = function () { - var det = this.determinant(); - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = det * (this.values[3]); - this.values[1] = det * (-this.values[1]); - this.values[2] = det * (-this.values[2]); - this.values[3] = det * (this.values[0]); - - return this; - }; - - mat2.prototype.multiply = function (matrix) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - this.values[0] = a11 * matrix.at(0) + a12 * matrix.at(2); - this.values[1] = a11 * matrix.at(1) + a12 * matrix.at(3); - this.values[2] = a21 * matrix.at(0) + a22 * matrix.at(2); - this.values[3] = a21 * matrix.at(1) + a22 * matrix.at(3); - - return this; - }; - - mat2.prototype.rotate = function (angle) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - var sin = Math.sin(angle), cos = Math.cos(angle); - - this.values[0] = a11 * cos + a12 * sin; - this.values[1] = a11 * -sin + a12 * cos; - this.values[2] = a21 * cos + a22 * sin; - this.values[3] = a21 * -sin + a22 * cos; - - return this; - }; - - mat2.prototype.multiplyVec2 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y; - - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]; - - return result; - } else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[1], - x * this.values[2] + y * this.values[3] - ]); - } - }; - - mat2.prototype.scale = function (vector) { - var a11 = this.values[0], a12 = this.values[1], a21 = this.values[2], a22 = this.values[3]; - - var x = vector.x, y = vector.y; - - this.values[0] = a11 * x; - this.values[1] = a12 * y; - this.values[2] = a21 * x; - this.values[3] = a22 * y; - - return this; - }; - - mat2.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a11 = m1.at(0), a12 = m1.at(1), a21 = m1.at(2), a22 = m1.at(3); - - if (result) { - result.init([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - - return result; - } else { - return new mat2([ - a11 * m2.at(0) + a12 * m2.at(2), - a11 * m2.at(1) + a12 * m2.at(3), - a21 * m2.at(0) + a22 * m2.at(2), - a21 * m2.at(1) + a22 * m2.at(3) - ]); - } - }; - - mat2.identity = new mat2().setIdentity(); - return mat2; - })(); - TSM.mat2 = mat2; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat3 = (function () { - function mat3(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(9); - if (values) { - this.init(values); - } - } - mat3.prototype.at = function (index) { - return this.values[index]; - }; - - mat3.prototype.init = function (values) { - for (var i = 0; i < 9; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat3.prototype.reset = function () { - for (var i = 0; i < 9; i++) { - this.values[i] = 0; - } - }; - - mat3.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat3(); - - for (var i = 0; i < 9; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat3.prototype.all = function () { - var data = []; - for (var i = 0; i < 9; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat3.prototype.row = function (index) { - return [ - this.values[index * 3 + 0], - this.values[index * 3 + 1], - this.values[index * 3 + 2] - ]; - }; - - mat3.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 3], - this.values[index + 6] - ]; - }; - - mat3.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 9; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat3.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - return a00 * det01 + a01 * det11 + a02 * det21; - }; - - mat3.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 1; - this.values[5] = 0; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 1; - - return this; - }; - - mat3.prototype.transpose = function () { - var temp01 = this.values[1], temp02 = this.values[2], temp12 = this.values[5]; - - this.values[1] = this.values[3]; - this.values[2] = this.values[6]; - this.values[3] = temp01; - this.values[5] = this.values[7]; - this.values[6] = temp02; - this.values[7] = temp12; - - return this; - }; - - mat3.prototype.inverse = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - var det = a00 * det01 + a01 * det11 + a02 * det21; - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = det01 * det; - this.values[1] = (-a22 * a01 + a02 * a21) * det; - this.values[2] = (a12 * a01 - a02 * a11) * det; - this.values[3] = det11 * det; - this.values[4] = (a22 * a00 - a02 * a20) * det; - this.values[5] = (-a12 * a00 + a02 * a10) * det; - this.values[6] = det21 * det; - this.values[7] = (-a21 * a00 + a01 * a20) * det; - this.values[8] = (a11 * a00 - a01 * a10) * det; - - return this; - }; - - mat3.prototype.multiply = function (matrix) { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[3], a11 = this.values[4], a12 = this.values[5], a20 = this.values[6], a21 = this.values[7], a22 = this.values[8]; - - var b00 = matrix.at(0), b01 = matrix.at(1), b02 = matrix.at(2), b10 = matrix.at(3), b11 = matrix.at(4), b12 = matrix.at(5), b20 = matrix.at(6), b21 = matrix.at(7), b22 = matrix.at(8); - - this.values[0] = b00 * a00 + b01 * a10 + b02 * a20; - this.values[1] = b00 * a01 + b01 * a11 + b02 * a21; - this.values[2] = b00 * a02 + b01 * a12 + b02 * a22; - - this.values[3] = b10 * a00 + b11 * a10 + b12 * a20; - this.values[4] = b10 * a01 + b11 * a11 + b12 * a21; - this.values[5] = b10 * a02 + b11 * a12 + b12 * a22; - - this.values[6] = b20 * a00 + b21 * a10 + b22 * a20; - this.values[7] = b20 * a01 + b21 * a11 + b22 * a21; - this.values[8] = b20 * a02 + b21 * a12 + b22 * a22; - - return this; - }; - - mat3.prototype.multiplyVec2 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y; - - if (result) { - result.xy = [ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]; - - return result; - } else { - return new TSM.vec2([ - x * this.values[0] + y * this.values[3] + this.values[6], - x * this.values[1] + y * this.values[4] + this.values[7] - ]); - } - }; - - mat3.prototype.multiplyVec3 = function (vector, result) { - if (typeof result === "undefined") { result = null; } - var x = vector.x, y = vector.y, z = vector.z; - - if (result) { - result.xyz = [ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]; - - return result; - } else { - return new TSM.vec3([ - x * this.values[0] + y * this.values[3] + z * this.values[6], - x * this.values[1] + y * this.values[4] + z * this.values[7], - x * this.values[2] + y * this.values[5] + z * this.values[8] - ]); - } - }; - - mat3.prototype.toMat4 = function (result) { - if (typeof result === "undefined") { result = null; } - if (result) { - result.init([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - - return result; - } else { - return new TSM.mat4([ - this.values[0], - this.values[1], - this.values[2], - 0, - this.values[3], - this.values[4], - this.values[5], - 0, - this.values[6], - this.values[7], - this.values[8], - 0, - 0, - 0, - 0, - 1 - ]); - } - }; - - mat3.prototype.toQuat = function () { - var m00 = this.values[0], m01 = this.values[1], m02 = this.values[2], m10 = this.values[3], m11 = this.values[4], m12 = this.values[5], m20 = this.values[6], m21 = this.values[7], m22 = this.values[8]; - - var fourXSquaredMinus1 = m00 - m11 - m22; - var fourYSquaredMinus1 = m11 - m00 - m22; - var fourZSquaredMinus1 = m22 - m00 - m11; - var fourWSquaredMinus1 = m00 + m11 + m22; - - var biggestIndex = 0; - - var fourBiggestSquaredMinus1 = fourWSquaredMinus1; - - if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourXSquaredMinus1; - biggestIndex = 1; - } - - if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourYSquaredMinus1; - biggestIndex = 2; - } - - if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) { - fourBiggestSquaredMinus1 = fourZSquaredMinus1; - biggestIndex = 3; - } - - var biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5; - var mult = 0.25 / biggestVal; - - var result = new TSM.quat(); - - switch (biggestIndex) { - case 0: - result.w = biggestVal; - result.x = (m12 - m21) * mult; - result.y = (m20 - m02) * mult; - result.z = (m01 - m10) * mult; - - break; - - case 1: - result.w = (m12 - m21) * mult; - result.x = biggestVal; - result.y = (m01 + m10) * mult; - result.z = (m20 + m02) * mult; - - break; - - case 2: - result.w = (m20 - m02) * mult; - result.x = (m01 + m10) * mult; - result.y = biggestVal; - result.z = (m12 + m21) * mult; - - break; - - case 3: - result.w = (m01 - m10) * mult; - result.x = (m20 + m02) * mult; - result.y = (m12 + m21) * mult; - result.z = biggestVal; - - break; - } - - return result; - }; - - mat3.prototype.rotate = function (angle, axis) { - var x = axis.x, y = axis.y, z = axis.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (!length) - return null; - - if (length !== 1) { - length = 1 / length; - x *= length; - y *= length; - z *= length; - } - - var s = Math.sin(angle); - var c = Math.cos(angle); - - var t = 1.0 - c; - - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - - var 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; - - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - - this.values[3] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[4] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[5] = a02 * b10 + a12 * b11 + a22 * b12; - - this.values[6] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[7] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[8] = a02 * b20 + a12 * b21 + a22 * b22; - - return this; - }; - - mat3.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a10 = m1.at(3), a11 = m1.at(4), a12 = m1.at(5), a20 = m1.at(6), a21 = m1.at(7), a22 = m1.at(8); - - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b10 = m2.at(3), b11 = m2.at(4), b12 = m2.at(5), b20 = m2.at(6), b21 = m2.at(7), b22 = m2.at(8); - - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - - return result; - } else { - return new mat3([ - b00 * a00 + b01 * a10 + b02 * a20, - b00 * a01 + b01 * a11 + b02 * a21, - b00 * a02 + b01 * a12 + b02 * a22, - b10 * a00 + b11 * a10 + b12 * a20, - b10 * a01 + b11 * a11 + b12 * a21, - b10 * a02 + b11 * a12 + b12 * a22, - b20 * a00 + b21 * a10 + b22 * a20, - b20 * a01 + b21 * a11 + b22 * a21, - b20 * a02 + b21 * a12 + b22 * a22 - ]); - } - }; - - mat3.identity = new mat3().setIdentity(); - return mat3; - })(); - TSM.mat3 = mat3; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var mat4 = (function () { - function mat4(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(16); - if (values) { - this.init(values); - } - } - mat4.prototype.at = function (index) { - return this.values[index]; - }; - - mat4.prototype.init = function (values) { - for (var i = 0; i < 16; i++) { - this.values[i] = values[i]; - } - - return this; - }; - - mat4.prototype.reset = function () { - for (var i = 0; i < 16; i++) { - this.values[i] = 0; - } - }; - - mat4.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new mat4(); - - for (var i = 0; i < 16; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - mat4.prototype.all = function () { - var data = []; - for (var i = 0; i < 16; i++) { - data[i] = this.values[i]; - } - - return data; - }; - - mat4.prototype.row = function (index) { - return [ - this.values[index * 4 + 0], - this.values[index * 4 + 1], - this.values[index * 4 + 2], - this.values[index * 4 + 3] - ]; - }; - - mat4.prototype.col = function (index) { - return [ - this.values[index], - this.values[index + 4], - this.values[index + 8], - this.values[index + 12] - ]; - }; - - mat4.prototype.equals = function (matrix, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 16; i++) { - if (Math.abs(this.values[i] - matrix.at(i)) > threshold) - return false; - } - - return true; - }; - - mat4.prototype.determinant = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - - return (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - }; - - mat4.prototype.setIdentity = function () { - this.values[0] = 1; - this.values[1] = 0; - this.values[2] = 0; - this.values[3] = 0; - this.values[4] = 0; - this.values[5] = 1; - this.values[6] = 0; - this.values[7] = 0; - this.values[8] = 0; - this.values[9] = 0; - this.values[10] = 1; - this.values[11] = 0; - this.values[12] = 0; - this.values[13] = 0; - this.values[14] = 0; - this.values[15] = 1; - - return this; - }; - - mat4.prototype.transpose = function () { - var temp01 = this.values[1], temp02 = this.values[2], temp03 = this.values[3], temp12 = this.values[6], temp13 = this.values[7], temp23 = this.values[11]; - - this.values[1] = this.values[4]; - this.values[2] = this.values[8]; - this.values[3] = this.values[12]; - this.values[4] = temp01; - this.values[6] = this.values[9]; - this.values[7] = this.values[13]; - this.values[8] = temp02; - this.values[9] = temp12; - this.values[11] = this.values[14]; - this.values[12] = temp03; - this.values[13] = temp13; - this.values[14] = temp23; - - return this; - }; - - mat4.prototype.inverse = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11], a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var det00 = a00 * a11 - a01 * a10, det01 = a00 * a12 - a02 * a10, det02 = a00 * a13 - a03 * a10, det03 = a01 * a12 - a02 * a11, det04 = a01 * a13 - a03 * a11, det05 = a02 * a13 - a03 * a12, det06 = a20 * a31 - a21 * a30, det07 = a20 * a32 - a22 * a30, det08 = a20 * a33 - a23 * a30, det09 = a21 * a32 - a22 * a31, det10 = a21 * a33 - a23 * a31, det11 = a22 * a33 - a23 * a32; - - var det = (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); - - if (!det) - return null; - - det = 1.0 / det; - - this.values[0] = (a11 * det11 - a12 * det10 + a13 * det09) * det; - this.values[1] = (-a01 * det11 + a02 * det10 - a03 * det09) * det; - this.values[2] = (a31 * det05 - a32 * det04 + a33 * det03) * det; - this.values[3] = (-a21 * det05 + a22 * det04 - a23 * det03) * det; - this.values[4] = (-a10 * det11 + a12 * det08 - a13 * det07) * det; - this.values[5] = (a00 * det11 - a02 * det08 + a03 * det07) * det; - this.values[6] = (-a30 * det05 + a32 * det02 - a33 * det01) * det; - this.values[7] = (a20 * det05 - a22 * det02 + a23 * det01) * det; - this.values[8] = (a10 * det10 - a11 * det08 + a13 * det06) * det; - this.values[9] = (-a00 * det10 + a01 * det08 - a03 * det06) * det; - this.values[10] = (a30 * det04 - a31 * det02 + a33 * det00) * det; - this.values[11] = (-a20 * det04 + a21 * det02 - a23 * det00) * det; - this.values[12] = (-a10 * det09 + a11 * det07 - a12 * det06) * det; - this.values[13] = (a00 * det09 - a01 * det07 + a02 * det06) * det; - this.values[14] = (-a30 * det03 + a31 * det01 - a32 * det00) * det; - this.values[15] = (a20 * det03 - a21 * det01 + a22 * det00) * det; - - return this; - }; - - mat4.prototype.multiply = function (matrix) { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3]; - var a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7]; - var a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - var a30 = this.values[12], a31 = this.values[13], a32 = this.values[14], a33 = this.values[15]; - - var b0 = matrix.at(0), b1 = matrix.at(1), b2 = matrix.at(2), b3 = matrix.at(3); - - this.values[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(4); - b1 = matrix.at(5); - b2 = matrix.at(6); - b3 = matrix.at(7); - - this.values[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(8); - b1 = matrix.at(9); - b2 = matrix.at(10); - b3 = matrix.at(11); - - this.values[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - b0 = matrix.at(12); - b1 = matrix.at(13); - b2 = matrix.at(14); - b3 = matrix.at(15); - - this.values[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; - this.values[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; - this.values[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; - this.values[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; - - return this; - }; - - mat4.prototype.multiplyVec3 = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - return new TSM.vec3([ - this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12], - this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13], - this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] - ]); - }; - - mat4.prototype.multiplyVec4 = function (vector, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec4(); - - var x = vector.x, y = vector.y, z = vector.z, w = vector.w; - - dest.x = this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12] * w; - dest.y = this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13] * w; - dest.z = this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] * w; - dest.w = this.values[3] * x + this.values[7] * y + this.values[11] * z + this.values[15] * w; - - return dest; - }; - - mat4.prototype.toMat3 = function () { - return new TSM.mat3([ - this.values[0], - this.values[1], - this.values[2], - this.values[4], - this.values[5], - this.values[6], - this.values[8], - this.values[9], - this.values[10] - ]); - }; - - mat4.prototype.toInverseMat3 = function () { - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10]; - - var det01 = a22 * a11 - a12 * a21, det11 = -a22 * a10 + a12 * a20, det21 = a21 * a10 - a11 * a20; - - var det = a00 * det01 + a01 * det11 + a02 * det21; - - if (!det) - return null; - - det = 1.0 / det; - - return new TSM.mat3([ - det01 * det, - (-a22 * a01 + a02 * a21) * det, - (a12 * a01 - a02 * a11) * det, - det11 * det, - (a22 * a00 - a02 * a20) * det, - (-a12 * a00 + a02 * a10) * det, - det21 * det, - (-a21 * a00 + a01 * a20) * det, - (a11 * a00 - a01 * a10) * det - ]); - }; - - mat4.prototype.translate = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - this.values[12] += this.values[0] * x + this.values[4] * y + this.values[8] * z; - this.values[13] += this.values[1] * x + this.values[5] * y + this.values[9] * z; - this.values[14] += this.values[2] * x + this.values[6] * y + this.values[10] * z; - this.values[15] += this.values[3] * x + this.values[7] * y + this.values[11] * z; - - return this; - }; - - mat4.prototype.scale = function (vector) { - var x = vector.x, y = vector.y, z = vector.z; - - this.values[0] *= x; - this.values[1] *= x; - this.values[2] *= x; - this.values[3] *= x; - - this.values[4] *= y; - this.values[5] *= y; - this.values[6] *= y; - this.values[7] *= y; - - this.values[8] *= z; - this.values[9] *= z; - this.values[10] *= z; - this.values[11] *= z; - - return this; - }; - - mat4.prototype.rotate = function (angle, axis) { - var x = axis.x, y = axis.y, z = axis.z; - - var length = Math.sqrt(x * x + y * y + z * z); - - if (!length) - return null; - - if (length !== 1) { - length = 1 / length; - x *= length; - y *= length; - z *= length; - } - - var s = Math.sin(angle); - var c = Math.cos(angle); - - var t = 1.0 - c; - - var a00 = this.values[0], a01 = this.values[1], a02 = this.values[2], a03 = this.values[3], a10 = this.values[4], a11 = this.values[5], a12 = this.values[6], a13 = this.values[7], a20 = this.values[8], a21 = this.values[9], a22 = this.values[10], a23 = this.values[11]; - - var 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; - - this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; - this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; - this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; - this.values[3] = a03 * b00 + a13 * b01 + a23 * b02; - - this.values[4] = a00 * b10 + a10 * b11 + a20 * b12; - this.values[5] = a01 * b10 + a11 * b11 + a21 * b12; - this.values[6] = a02 * b10 + a12 * b11 + a22 * b12; - this.values[7] = a03 * b10 + a13 * b11 + a23 * b12; - - this.values[8] = a00 * b20 + a10 * b21 + a20 * b22; - this.values[9] = a01 * b20 + a11 * b21 + a21 * b22; - this.values[10] = a02 * b20 + a12 * b21 + a22 * b22; - this.values[11] = a03 * b20 + a13 * b21 + a23 * b22; - - return this; - }; - - mat4.frustum = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - - return new mat4([ - (near * 2) / rl, - 0, - 0, - 0, - 0, - (near * 2) / tb, - 0, - 0, - (right + left) / rl, - (top + bottom) / tb, - -(far + near) / fn, - -1, - 0, - 0, - -(far * near * 2) / fn, - 0 - ]); - }; - - mat4.perspective = function (fov, aspect, near, far) { - var top = near * Math.tan(fov * Math.PI / 360.0), right = top * aspect; - - return mat4.frustum(-right, right, -top, top, near, far); - }; - - mat4.orthographic = function (left, right, bottom, top, near, far) { - var rl = (right - left), tb = (top - bottom), fn = (far - near); - - return new mat4([ - 2 / rl, - 0, - 0, - 0, - 0, - 2 / tb, - 0, - 0, - 0, - 0, - -2 / fn, - 0, - -(left + right) / rl, - -(top + bottom) / tb, - -(far + near) / fn, - 1 - ]); - }; - - mat4.lookAt = function (position, target, up) { - if (typeof up === "undefined") { up = TSM.vec3.up; } - if (position.equals(target)) { - return this.identity; - } - - var z = TSM.vec3.difference(position, target).normalize(); - - var x = TSM.vec3.cross(up, z).normalize(); - var y = TSM.vec3.cross(z, x).normalize(); - - return new mat4([ - x.x, - y.x, - z.x, - 0, - x.y, - y.y, - z.y, - 0, - x.z, - y.z, - z.z, - 0, - -TSM.vec3.dot(x, position), - -TSM.vec3.dot(y, position), - -TSM.vec3.dot(z, position), - 1 - ]); - }; - - mat4.product = function (m1, m2, result) { - if (typeof result === "undefined") { result = null; } - var a00 = m1.at(0), a01 = m1.at(1), a02 = m1.at(2), a03 = m1.at(3), a10 = m1.at(4), a11 = m1.at(5), a12 = m1.at(6), a13 = m1.at(7), a20 = m1.at(8), a21 = m1.at(9), a22 = m1.at(10), a23 = m1.at(11), a30 = m1.at(12), a31 = m1.at(13), a32 = m1.at(14), a33 = m1.at(15); - - var b00 = m2.at(0), b01 = m2.at(1), b02 = m2.at(2), b03 = m2.at(3), b10 = m2.at(4), b11 = m2.at(5), b12 = m2.at(6), b13 = m2.at(7), b20 = m2.at(8), b21 = m2.at(9), b22 = m2.at(10), b23 = m2.at(11), b30 = m2.at(12), b31 = m2.at(13), b32 = m2.at(14), b33 = m2.at(15); - - if (result) { - result.init([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - - return result; - } else { - return new mat4([ - b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, - b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, - b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, - b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, - b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, - b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, - b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, - b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, - b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, - b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, - b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, - b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, - b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, - b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, - b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, - b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33 - ]); - } - }; - - mat4.identity = new mat4().setIdentity(); - return mat4; - })(); - TSM.mat4 = mat4; -})(TSM || (TSM = {})); -/** -* @fileoverview TSM - A TypeScript vector and matrix math library -* @author Matthias Ferch -* @version 0.6 -*/ -/* -* Copyright (c) 2012 Matthias Ferch -* -* Project homepage: https://github.com/vexator/TSM -* -* 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 TSM; -(function (TSM) { - var quat = (function () { - function quat(values) { - if (typeof values === "undefined") { values = null; } - this.values = new Float32Array(4); - if (values) { - this.xyzw = values; - } - } - Object.defineProperty(quat.prototype, "x", { - get: function () { - return this.values[0]; - }, - set: function (value) { - this.values[0] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "y", { - get: function () { - return this.values[1]; - }, - set: function (value) { - this.values[1] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "z", { - get: function () { - return this.values[2]; - }, - set: function (value) { - this.values[2] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "w", { - get: function () { - return this.values[3]; - }, - set: function (value) { - this.values[3] = value; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xy", { - get: function () { - return [ - this.values[0], - this.values[1] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xyz", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - }, - enumerable: true, - configurable: true - }); - - Object.defineProperty(quat.prototype, "xyzw", { - get: function () { - return [ - this.values[0], - this.values[1], - this.values[2], - this.values[3] - ]; - }, - set: function (values) { - this.values[0] = values[0]; - this.values[1] = values[1]; - this.values[2] = values[2]; - this.values[3] = values[3]; - }, - enumerable: true, - configurable: true - }); - - - - - - - - - quat.prototype.at = function (index) { - return this.values[index]; - }; - - quat.prototype.reset = function () { - for (var i = 0; i < 4; i++) { - this.values[i] = 0; - } - }; - - quat.prototype.copy = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - for (var i = 0; i < 4; i++) { - dest.values[i] = this.values[i]; - } - - return dest; - }; - - quat.prototype.roll = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.atan2(2.0 * (x * y + w * z), w * w + x * x - y * y - z * z); - }; - - quat.prototype.pitch = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.atan2(2.0 * (y * z + w * x), w * w - x * x - y * y + z * z); - }; - - quat.prototype.yaw = function () { - return Math.asin(2.0 * (this.x * this.z - this.w * this.y)); - }; - - quat.prototype.equals = function (vector, threshold) { - if (typeof threshold === "undefined") { threshold = EPSILON; } - for (var i = 0; i < 4; i++) { - if (Math.abs(this.values[i] - vector.at(i)) > threshold) - return false; - } - - return true; - }; - - quat.prototype.setIdentity = function () { - this.x = 0; - this.y = 0; - this.z = 0; - this.w = 1; - - return this; - }; - - quat.prototype.calculateW = function () { - var x = this.x, y = this.y, z = this.z; - - this.w = -(Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z))); - - return this; - }; - - quat.dot = function (q1, q2) { - return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - }; - - quat.prototype.inverse = function () { - var dot = quat.dot(this, this); - - if (!dot) { - this.xyzw = [0, 0, 0, 0]; - - return this; - } - - var invDot = dot ? 1.0 / dot : 0; - - this.x *= -invDot; - this.y *= -invDot; - this.z *= -invDot; - this.w *= invDot; - - return this; - }; - - quat.prototype.conjugate = function () { - this.values[0] *= -1; - this.values[1] *= -1; - this.values[2] *= -1; - - return this; - }; - - quat.prototype.length = function () { - var x = this.x, y = this.y, z = this.z, w = this.w; - - return Math.sqrt(x * x + y * y + z * z + w * w); - }; - - quat.prototype.normalize = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = this; - - var x = this.x, y = this.y, z = this.z, w = this.w; - - var length = Math.sqrt(x * x + y * y + z * z + w * w); - - if (!length) { - dest.x = 0; - dest.y = 0; - dest.z = 0; - dest.w = 0; - - return dest; - } - - length = 1 / length; - - dest.x = x * length; - dest.y = y * length; - dest.z = z * length; - dest.w = w * length; - - return dest; - }; - - quat.prototype.add = function (other) { - for (var i = 0; i < 4; i++) { - this.values[i] += other.at(i); - } - - return this; - }; - - quat.prototype.multiply = function (other) { - var q1x = this.values[0], q1y = this.values[1], q1z = this.values[2], q1w = this.values[3]; - - var q2x = other.x, q2y = other.y, q2z = other.z, q2w = other.w; - - this.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - this.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - this.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - this.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - - return this; - }; - - quat.prototype.multiplyVec3 = function (vector, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.vec3(); - - var x = vector.x, y = vector.y, z = vector.z; - - var qx = this.x, qy = this.y, qz = this.z, qw = this.w; - - var ix = qw * x + qy * z - qz * y, iy = qw * y + qz * x - qx * z, iz = qw * z + qx * y - qy * x, iw = -qx * x - qy * y - qz * z; - - dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; - dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; - dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; - - return dest; - }; - - quat.prototype.toMat3 = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.mat3(); - - var x = this.x, y = this.y, z = this.z, w = this.w; - - var x2 = x + x, y2 = y + y, z2 = z + z; - - var xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - xy - wz, - 1 - (xx + zz), - yz + wx, - xz + wy, - yz - wx, - 1 - (xx + yy) - ]); - - return dest; - }; - - quat.prototype.toMat4 = function (dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new TSM.mat4(); - - var x = this.x, y = this.y, z = this.z, w = this.w, x2 = x + x, y2 = y + y, z2 = z + z, xx = x * x2, xy = x * y2, xz = x * z2, yy = y * y2, yz = y * z2, zz = z * z2, wx = w * x2, wy = w * y2, wz = w * z2; - - dest.init([ - 1 - (yy + zz), - xy + wz, - xz - wy, - 0, - xy - wz, - 1 - (xx + zz), - yz + wx, - 0, - xz + wy, - yz - wx, - 1 - (xx + yy), - 0, - 0, - 0, - 0, - 1 - ]); - - return dest; - }; - - quat.sum = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - dest.x = q1.x + q2.x; - dest.y = q1.y + q2.y; - dest.z = q1.z + q2.z; - dest.w = q1.w + q2.w; - - return dest; - }; - - quat.product = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - - dest.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; - dest.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; - dest.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; - dest.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - - return dest; - }; - - quat.cross = function (q1, q2, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var q1x = q1.x, q1y = q1.y, q1z = q1.z, q1w = q1.w, q2x = q2.x, q2y = q2.y, q2z = q2.z, q2w = q2.w; - - dest.x = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x; - dest.y = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; - dest.z = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y; - dest.w = q1w * q2y + q1y * q2w + q1z * q2x - q1x * q2z; - - return dest; - }; - - quat.shortMix = function (q1, q2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - if (time <= 0.0) { - dest.xyzw = q1.xyzw; - - return dest; - } else if (time >= 1.0) { - dest.xyzw = q2.xyzw; - - return dest; - } - - var cos = quat.dot(q1, q2), q2a = q2.copy(); - - if (cos < 0.0) { - q2a.inverse(); - cos = -cos; - } - - var k0, k1; - - if (cos > 0.9999) { - k0 = 1 - time; - k1 = 0 + time; - } else { - var sin = Math.sqrt(1 - cos * cos); - var angle = Math.atan2(sin, cos); - - var oneOverSin = 1 / sin; - - k0 = Math.sin((1 - time) * angle) * oneOverSin; - k1 = Math.sin((0 + time) * angle) * oneOverSin; - } - - dest.x = k0 * q1.x + k1 * q2a.x; - dest.y = k0 * q1.y + k1 * q2a.y; - dest.z = k0 * q1.z + k1 * q2a.z; - dest.w = k0 * q1.w + k1 * q2a.w; - - return dest; - }; - - quat.mix = function (q1, q2, time, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - var cosHalfTheta = q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; - - if (Math.abs(cosHalfTheta) >= 1.0) { - dest.xyzw = q1.xyzw; - - return dest; - } - - var halfTheta = Math.acos(cosHalfTheta), sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); - - if (Math.abs(sinHalfTheta) < 0.001) { - dest.x = q1.x * 0.5 + q2.x * 0.5; - dest.y = q1.y * 0.5 + q2.y * 0.5; - dest.z = q1.z * 0.5 + q2.z * 0.5; - dest.w = q1.w * 0.5 + q2.w * 0.5; - - return dest; - } - - var ratioA = Math.sin((1 - time) * halfTheta) / sinHalfTheta, ratioB = Math.sin(time * halfTheta) / sinHalfTheta; - - dest.x = q1.x * ratioA + q2.x * ratioB; - dest.y = q1.y * ratioA + q2.y * ratioB; - dest.z = q1.z * ratioA + q2.z * ratioB; - dest.w = q1.w * ratioA + q2.w * ratioB; - - return dest; - }; - - quat.fromAxis = function (axis, angle, dest) { - if (typeof dest === "undefined") { dest = null; } - if (!dest) - dest = new quat(); - - angle *= 0.5; - var sin = Math.sin(angle); - - dest.x = axis.x * sin; - dest.y = axis.y * sin; - dest.z = axis.z * sin; - dest.w = Math.cos(angle); - - return dest; - }; - - quat.identity = new quat().setIdentity(); - return quat; - })(); - TSM.quat = quat; -})(TSM || (TSM = {})); -//# sourceMappingURL=tsm-0.7.js.map - -var SpriteGL; -(function (SpriteGL) { - var Shader = (function () { - function Shader(gl) { - this.gl = null; - this.gl = gl; - this.glProgram = this.MakeProgram(gl); - this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); - this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); - this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); - this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); - this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); - } - Shader.prototype.UseProgram = function () { - this.gl.useProgram(this.glProgram); - this.gl.uniform1i(this.TexSampleUniform, 0); - }; - Shader.prototype.UpdatePosition = function (x, y) { - this.gl.uniform2f(this.CameraPosUniform, x, y); - }; - Shader.prototype.MakeProgram = function (gl) { - var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); - var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); - var glProgram = gl.createProgram(); - gl.attachShader(glProgram, vertexShader); - gl.attachShader(glProgram, fragmentShader); - gl.linkProgram(glProgram); - return glProgram; - }; - Shader.prototype.CompileShader = function (gl, src, type) { - var Shader = gl.createShader(type); - gl.shaderSource(Shader, src); - gl.compileShader(Shader); - if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { - alert(gl.getShaderInfoLog(Shader)); - } - return Shader; - }; - Shader.prototype.updateMatrix = function (mat) { - this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); - }; - Shader.defaultVertexShaderSrc = [ - "attribute vec3 aVertexPosition;", - "attribute vec2 aTexCoord;", - "uniform mat4 uProjectionView;", - "uniform vec2 uCameraPos;", - "varying vec2 vtexCoord;", - "void main(void) {", - " vtexCoord = aTexCoord;", - " gl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;", - "}" - ].join("\n"); - Shader.defaultFragmentShaderSrc = [ - "precision mediump float;", - "uniform sampler2D sampler2d;", - "varying vec2 vtexCoord;", - "void main(void) {", - " gl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));", - " if(gl_FragColor.a < 0.5) discard;", - "}" - ].join("\n"); - return Shader; - })(); - SpriteGL.Shader = Shader; -})(SpriteGL || (SpriteGL = {})); - -var SpriteGL; -(function (SpriteGL) { - var SpriteRenderer = (function () { - function SpriteRenderer(webglContext, Image, Filtering) { - if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } - this.gl = webglContext; - this.vbo = new SpriteGL.VBO(this.gl); - this.Shader = new SpriteGL.Shader(this.gl); - this.Text = new TextDrawer(this.gl); - this.Shader.UseProgram(); - this.CreateTexture(Image, Filtering); - this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); - this.gl.clearColor(0.0, 0.0, 0.0, 1.0); - this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); - this.gl.enable(this.gl.BLEND); - this.SetHight(0.0); - this.gl.enable(this.gl.DEPTH_TEST); - this.gl.depthFunc(this.gl.LEQUAL); - } - SpriteRenderer.prototype.RenderAll = function () { - this.gl.clear(this.gl.COLOR_BUFFER_BIT); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.vbo.RenderAllSpr(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); - this.vbo.RenderAllTxt(); - }; - SpriteRenderer.prototype.UpdateViewPort = function (width, height) { - this.gl.viewport(0, 0, width, height); - var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); - var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); - this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); - }; - SpriteRenderer.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { - this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); - }; - SpriteRenderer.prototype.SetHight = function (hight) { - this.vbo.SetupHeight(hight); - }; - SpriteRenderer.prototype.PrepareTxt = function (str, color, fontSize, outLine) { - if (outLine === void 0) { outLine = false; } - return this.Text.PrepareTxt(str, color, fontSize, outLine); - }; - SpriteRenderer.prototype.DisposeTxt = function (txtObj) { - this.Text.DisposeTxt(txtObj); - }; - SpriteRenderer.prototype.DrawTxt = function (txtObj, PosX, PosY) { - this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); - }; - SpriteRenderer.prototype.UpdateCamera = function (x, y) { - this.Shader.UpdatePosition(x, y); - }; - SpriteRenderer.prototype.CreateTexture = function (image, filtering) { - this.texture = this.gl.createTexture(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); - if (filtering == SpriteRenderer.TextureFilteringLinear) { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); - } - else { - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); - } - }; - SpriteRenderer.fromCanvas = function (canvas, Image, Filtering) { - if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } - try { - var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); - } - catch (e) { - console.log("Error with WebGL context initialization"); - return null; - } - var newRenderer = new SpriteRenderer(ctx, Image, Filtering); - newRenderer.UpdateViewPort(canvas.width, canvas.height); - return newRenderer; - }; - SpriteRenderer.TextureFilteringLinear = 0; - SpriteRenderer.TextureFilteringNearest = 1; - return SpriteRenderer; - })(); - SpriteGL.SpriteRenderer = SpriteRenderer; -})(SpriteGL || (SpriteGL = {})); - -var TextDrawer = (function () { - function TextDrawer(gl) { - this.TextureSize = { Width: 1024, Height: 1024 }; - this.txtsList = new Array(); - this.gl = gl; - this.canvas = document.createElement("canvas"); - this.canvas.width = 1024; - this.canvas.height = 1024; - this.canvas.style.backgroundColor = "black"; - this.ctx = this.canvas.getContext("2d"); - this.ctx.textBaseline = "top"; - this.texture = this.gl.createTexture(); - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); - this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); - } - TextDrawer.prototype.PrepareTxt = function (str, color, fontSize, outline) { - this.ctx.font = "bold " + fontSize + "px Tahoma"; - var currTxtWidth = this.ctx.measureText(str).width; - var currStartY = 0; - var highestPosYIndex = 0; - for (var i = 0; i < this.txtsList.length; i++) { - if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { - highestPosYIndex = i; - currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; - } - } - var test = { - str: str, - Pos: { x: 0, y: currStartY }, - Size: { - Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, - Height: fontSize + Math.sqrt(fontSize) * 2 - }, - Color: color, - FontSize: fontSize, - OutLine: outline - }; - this.txtsList.push(test); - this.BakeTexture(); - return test; - }; - TextDrawer.prototype.DisposeTxt = function (txtObj) { - var index = this.txtsList.indexOf(txtObj); - if (index > -1 && index) { - this.txtsList.splice(index, 1); - } - this.UpdatePositon(); - this.BakeTexture(); - }; - TextDrawer.prototype.UpdatePositon = function () { - this.txtsList.sort(function (a, b) { - return a.Pos.y - b.Pos.y; - }); - for (var i = 0; i < this.txtsList.length; i++) { - var newPosY = 0; - for (var j = 0; j < i; j++) { - newPosY += this.txtsList[j].Size.Height * 1.2; - } - this.txtsList[i].Pos.y = newPosY; - } - }; - TextDrawer.prototype.BakeTexture = function () { - this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); - this.ctx.miterLimit = 1; - this.ctx.lineJoin = "round"; - for (var i = 0; i < this.txtsList.length; i++) { - this.ctx.fillStyle = this.txtsList[i].Color; - this.ctx.font = "bold " + this.txtsList[i].FontSize + "px Tahoma"; - if (this.txtsList[i].OutLine) { - this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize) * 1.5; - this.ctx.strokeStyle = "black"; - this.ctx.strokeText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); - } - this.ctx.fillText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); - } - this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); - this.gl.texSubImage2D(this.gl.TEXTURE_2D, 0, 0, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); - }; - return TextDrawer; -})(); - -var SpriteGL; -(function (SpriteGL) { - var VBO = (function () { - function VBO(gl) { - this.sprVerts = []; - this.txtVerts = []; - this.AtlasSize = 1; - this.gl = null; - this.gl = gl; - this.verticlesBuffer = gl.createBuffer(); - gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); - } - VBO.prototype.SetupHeight = function (hight) { - this.hight = hight; - }; - VBO.prototype.SetupForDraw = function (vertexPositionAttr, textureCoordAttr, AtlasSize) { - this.gl.enableVertexAttribArray(vertexPositionAttr); - this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); - this.gl.enableVertexAttribArray(textureCoordAttr); - this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); - this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); - this.AtlasSize = AtlasSize; - }; - VBO.prototype.RenderAllSpr = function () { - this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); - this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); - this.sprVerts = []; - }; - VBO.prototype.RenderAllTxt = function () { - this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); - this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); - this.txtVerts = []; - }; - VBO.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { - for (var i = 0; i < VBO.defaultVerts.length; i += 2) { - this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.sprVerts.push(this.hight); - this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); - this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); - } - }; - VBO.prototype.DrawTxt = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { - for (var i = 0; i < VBO.defaultVerts.length; i += 2) { - this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); - this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); - this.txtVerts.push(this.hight); - this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); - this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); - } - }; - VBO.defaultVerts = [ - 0.0, - 1.0, - 1.0, - 0.0, - 0.0, - 0.0, - 0.0, - 1.0, - 1.0, - 1.0, - 1.0, - 0.0 - ]; - return VBO; - })(); - SpriteGL.VBO = VBO; -})(SpriteGL || (SpriteGL = {})); diff --git a/dist/SpriteGL.cjs.js b/dist/SpriteGL.cjs.js new file mode 100644 index 0000000..015475c --- /dev/null +++ b/dist/SpriteGL.cjs.js @@ -0,0 +1,290 @@ +/*! + * SpriteGL v0.0.0 + * (c) 2015-present + * Released under the ISC License. + */ +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +var TSM = require('tsm'); + +var Shader = /** @class */ (function () { + function Shader(gl) { + this.gl = null; + this.gl = gl; + this.glProgram = this.MakeProgram(gl); + this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); + this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); + this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); + this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); + this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); + } + Shader.prototype.UseProgram = function () { + this.gl.useProgram(this.glProgram); + this.gl.uniform1i(this.TexSampleUniform, 0); + }; + Shader.prototype.UpdatePosition = function (x, y) { + this.gl.uniform2f(this.CameraPosUniform, x, y); + }; + Shader.prototype.MakeProgram = function (gl) { + var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); + var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); + var glProgram = gl.createProgram(); + gl.attachShader(glProgram, vertexShader); + gl.attachShader(glProgram, fragmentShader); + gl.linkProgram(glProgram); + return glProgram; + }; + Shader.prototype.CompileShader = function (gl, src, type) { + var Shader = gl.createShader(type); + gl.shaderSource(Shader, src); + gl.compileShader(Shader); + if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { + alert(gl.getShaderInfoLog(Shader)); + } + return Shader; + }; + Shader.prototype.updateMatrix = function (mat) { + this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); + }; + Shader.defaultVertexShaderSrc = "\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTexCoord;\n\t\tuniform mat4 uProjectionView;\n\t\tuniform vec2 uCameraPos;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tvtexCoord = aTexCoord;\n\t\t\tgl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;\n\t\t}\n\t"; + Shader.defaultFragmentShaderSrc = "\n\t\tprecision mediump float;\n\t\tuniform sampler2D sampler2d;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tgl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));\n\t\t\tif(gl_FragColor.a < 0.5) discard;\n\t\t}\n\t"; + return Shader; +}()); + +var VBO = /** @class */ (function () { + function VBO(gl) { + this.sprVerts = []; + this.txtVerts = []; + this.AtlasSize = 1; + this.gl = null; + this.gl = gl; + this.verticlesBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); + } + VBO.prototype.SetupHeight = function (hight) { + this.hight = hight; + }; + VBO.prototype.SetupForDraw = function (vertexPositionAttr, textureCoordAttr, AtlasSize) { + this.gl.enableVertexAttribArray(vertexPositionAttr); + this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); + this.gl.enableVertexAttribArray(textureCoordAttr); + this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); + this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); + this.AtlasSize = AtlasSize; + }; + VBO.prototype.RenderAllSpr = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); + this.sprVerts = []; + }; + VBO.prototype.RenderAllTxt = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); + this.txtVerts = []; + }; + VBO.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.sprVerts.push(this.hight); + //Tex + this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); + this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); + } + }; + VBO.prototype.DrawTxt = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.txtVerts.push(this.hight); + //Tex + this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); + this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); + } + }; + VBO.defaultVerts = [ + //Left + 0.0, 1.0, + 1.0, 0.0, + 0.0, 0.0, + //Right + 0.0, 1.0, + 1.0, 1.0, + 1.0, 0.0 // 2 + ]; + return VBO; +}()); + +var TextDrawer = /** @class */ (function () { + function TextDrawer(gl) { + this.TextureSize = { Width: 1024, Height: 1024 }; + this.txtsList = new Array(); + this.gl = gl; + this.canvas = document.createElement("canvas"); + this.canvas.width = 1024; + this.canvas.height = 1024; + this.canvas.style.backgroundColor = "black"; + this.ctx = this.canvas.getContext("2d"); + this.ctx.textBaseline = "top"; + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + TextDrawer.prototype.PrepareTxt = function (str, color, fontSize, outline) { + this.ctx.font = "bold " + fontSize + "px Tahoma"; + var currTxtWidth = this.ctx.measureText(str).width; + var currStartY = 0; + var highestPosYIndex = 0; + for (var i = 0; i < this.txtsList.length; i++) { + if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { + highestPosYIndex = i; + currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; + } + } + var test = { + str: str, + Pos: { x: 0, y: currStartY }, + Size: { + Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, + Height: fontSize + Math.sqrt(fontSize) * 2 + }, + Color: color, + OutLine: outline, + FontSize: fontSize + }; + this.txtsList.push(test); + this.BakeTexture(); + return test; + }; + TextDrawer.prototype.DisposeTxt = function (txtObj) { + var index = this.txtsList.indexOf(txtObj); + if (index > -1 && index) { + this.txtsList.splice(index, 1); + } + this.UpdatePositon(); + this.BakeTexture(); + }; + TextDrawer.prototype.UpdatePositon = function () { + this.txtsList.sort(function (a, b) { return a.Pos.y - b.Pos.y; }); + for (var i = 0; i < this.txtsList.length; i++) { + var newPosY = 0; + for (var j = 0; j < i; j++) { + newPosY += this.txtsList[j].Size.Height * 1.2; + } + this.txtsList[i].Pos.y = newPosY; + } + }; + TextDrawer.prototype.BakeTexture = function () { + this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + this.ctx.miterLimit = 1; + this.ctx.lineJoin = "round"; + for (var i = 0; i < this.txtsList.length; i++) { + this.ctx.fillStyle = this.txtsList[i].Color; + this.ctx.font = "bold " + this.txtsList[i].FontSize + "px Tahoma"; + if (this.txtsList[i].OutLine) { + this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize) * 1.5; + this.ctx.strokeStyle = "black"; + this.ctx.strokeText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.ctx.fillText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texSubImage2D(this.gl.TEXTURE_2D, 0, 0, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + }; + return TextDrawer; +}()); + +var SpriteRenderer = /** @class */ (function () { + function SpriteRenderer(webglContext, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + this.gl = webglContext; + this.vbo = new VBO(this.gl); + this.Shader = new Shader(this.gl); + this.Text = new TextDrawer(this.gl); + this.Shader.UseProgram(); + this.CreateTexture(Image, Filtering); + this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); + this.gl.clearColor(0.0, 0.0, 0.0, 1.0); + this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + this.gl.enable(this.gl.BLEND); + this.SetHight(0.0); + this.gl.enable(this.gl.DEPTH_TEST); + this.gl.depthFunc(this.gl.LEQUAL); + } + SpriteRenderer.prototype.RenderAll = function () { + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.vbo.RenderAllSpr(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); + this.vbo.RenderAllTxt(); + }; + SpriteRenderer.prototype.UpdateViewPort = function (width, height) { + this.gl.viewport(0, 0, width, height); + var projmatrix = TSM.mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); + var cameramatrix = TSM.mat4.lookAt(new TSM.vec3([0.0, 0.0, 1.0]), new TSM.vec3([0.0, 0.0, 0.0]), new TSM.vec3([0.0, 1.0, 0.0])); + this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); + }; + SpriteRenderer.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); + }; + SpriteRenderer.prototype.SetHight = function (hight) { + this.vbo.SetupHeight(hight); + }; + SpriteRenderer.prototype.PrepareTxt = function (str, color, fontSize, outLine) { + if (outLine === void 0) { outLine = false; } + return this.Text.PrepareTxt(str, color, fontSize, outLine); + }; + SpriteRenderer.prototype.DisposeTxt = function (txtObj) { + this.Text.DisposeTxt(txtObj); + }; + SpriteRenderer.prototype.DrawTxt = function (txtObj, PosX, PosY) { + this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); + }; + SpriteRenderer.prototype.UpdateCamera = function (x, y) { + this.Shader.UpdatePosition(x, y); + }; + SpriteRenderer.prototype.CreateTexture = function (image, filtering) { + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); + if (filtering == SpriteRenderer.TextureFilteringLinear) { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + else { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); + } + }; + SpriteRenderer.fromCanvas = function (canvas, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + try { + var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); + } + catch (e) { + console.log("Error with WebGL context initialization"); + return null; + } + var newRenderer = new SpriteRenderer(ctx, Image, Filtering); + newRenderer.UpdateViewPort(canvas.width, canvas.height); + return newRenderer; + }; + SpriteRenderer.TextureFilteringLinear = 0; + SpriteRenderer.TextureFilteringNearest = 1; + return SpriteRenderer; +}()); + +var SpriteGL = { Shader: Shader, SpriteRenderer: SpriteRenderer, TextDrawer: TextDrawer, VBO: VBO }; + +exports.Shader = Shader; +exports.SpriteGL = SpriteGL; +exports.SpriteRenderer = SpriteRenderer; +exports.TextDrawer = TextDrawer; +exports.VBO = VBO; +exports.default = SpriteGL; diff --git a/dist/SpriteGL.es.js b/dist/SpriteGL.es.js new file mode 100644 index 0000000..a41a9b7 --- /dev/null +++ b/dist/SpriteGL.es.js @@ -0,0 +1,282 @@ +/*! + * SpriteGL v0.0.0 + * (c) 2015-present + * Released under the ISC License. + */ +import { mat4, vec3 } from 'tsm'; + +var Shader = /** @class */ (function () { + function Shader(gl) { + this.gl = null; + this.gl = gl; + this.glProgram = this.MakeProgram(gl); + this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); + this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); + this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); + this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); + this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); + } + Shader.prototype.UseProgram = function () { + this.gl.useProgram(this.glProgram); + this.gl.uniform1i(this.TexSampleUniform, 0); + }; + Shader.prototype.UpdatePosition = function (x, y) { + this.gl.uniform2f(this.CameraPosUniform, x, y); + }; + Shader.prototype.MakeProgram = function (gl) { + var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); + var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); + var glProgram = gl.createProgram(); + gl.attachShader(glProgram, vertexShader); + gl.attachShader(glProgram, fragmentShader); + gl.linkProgram(glProgram); + return glProgram; + }; + Shader.prototype.CompileShader = function (gl, src, type) { + var Shader = gl.createShader(type); + gl.shaderSource(Shader, src); + gl.compileShader(Shader); + if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { + alert(gl.getShaderInfoLog(Shader)); + } + return Shader; + }; + Shader.prototype.updateMatrix = function (mat) { + this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); + }; + Shader.defaultVertexShaderSrc = "\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTexCoord;\n\t\tuniform mat4 uProjectionView;\n\t\tuniform vec2 uCameraPos;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tvtexCoord = aTexCoord;\n\t\t\tgl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;\n\t\t}\n\t"; + Shader.defaultFragmentShaderSrc = "\n\t\tprecision mediump float;\n\t\tuniform sampler2D sampler2d;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tgl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));\n\t\t\tif(gl_FragColor.a < 0.5) discard;\n\t\t}\n\t"; + return Shader; +}()); + +var VBO = /** @class */ (function () { + function VBO(gl) { + this.sprVerts = []; + this.txtVerts = []; + this.AtlasSize = 1; + this.gl = null; + this.gl = gl; + this.verticlesBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); + } + VBO.prototype.SetupHeight = function (hight) { + this.hight = hight; + }; + VBO.prototype.SetupForDraw = function (vertexPositionAttr, textureCoordAttr, AtlasSize) { + this.gl.enableVertexAttribArray(vertexPositionAttr); + this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); + this.gl.enableVertexAttribArray(textureCoordAttr); + this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); + this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); + this.AtlasSize = AtlasSize; + }; + VBO.prototype.RenderAllSpr = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); + this.sprVerts = []; + }; + VBO.prototype.RenderAllTxt = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); + this.txtVerts = []; + }; + VBO.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.sprVerts.push(this.hight); + //Tex + this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); + this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); + } + }; + VBO.prototype.DrawTxt = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.txtVerts.push(this.hight); + //Tex + this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); + this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); + } + }; + VBO.defaultVerts = [ + //Left + 0.0, 1.0, + 1.0, 0.0, + 0.0, 0.0, + //Right + 0.0, 1.0, + 1.0, 1.0, + 1.0, 0.0 // 2 + ]; + return VBO; +}()); + +var TextDrawer = /** @class */ (function () { + function TextDrawer(gl) { + this.TextureSize = { Width: 1024, Height: 1024 }; + this.txtsList = new Array(); + this.gl = gl; + this.canvas = document.createElement("canvas"); + this.canvas.width = 1024; + this.canvas.height = 1024; + this.canvas.style.backgroundColor = "black"; + this.ctx = this.canvas.getContext("2d"); + this.ctx.textBaseline = "top"; + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + TextDrawer.prototype.PrepareTxt = function (str, color, fontSize, outline) { + this.ctx.font = "bold " + fontSize + "px Tahoma"; + var currTxtWidth = this.ctx.measureText(str).width; + var currStartY = 0; + var highestPosYIndex = 0; + for (var i = 0; i < this.txtsList.length; i++) { + if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { + highestPosYIndex = i; + currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; + } + } + var test = { + str: str, + Pos: { x: 0, y: currStartY }, + Size: { + Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, + Height: fontSize + Math.sqrt(fontSize) * 2 + }, + Color: color, + OutLine: outline, + FontSize: fontSize + }; + this.txtsList.push(test); + this.BakeTexture(); + return test; + }; + TextDrawer.prototype.DisposeTxt = function (txtObj) { + var index = this.txtsList.indexOf(txtObj); + if (index > -1 && index) { + this.txtsList.splice(index, 1); + } + this.UpdatePositon(); + this.BakeTexture(); + }; + TextDrawer.prototype.UpdatePositon = function () { + this.txtsList.sort(function (a, b) { return a.Pos.y - b.Pos.y; }); + for (var i = 0; i < this.txtsList.length; i++) { + var newPosY = 0; + for (var j = 0; j < i; j++) { + newPosY += this.txtsList[j].Size.Height * 1.2; + } + this.txtsList[i].Pos.y = newPosY; + } + }; + TextDrawer.prototype.BakeTexture = function () { + this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + this.ctx.miterLimit = 1; + this.ctx.lineJoin = "round"; + for (var i = 0; i < this.txtsList.length; i++) { + this.ctx.fillStyle = this.txtsList[i].Color; + this.ctx.font = "bold " + this.txtsList[i].FontSize + "px Tahoma"; + if (this.txtsList[i].OutLine) { + this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize) * 1.5; + this.ctx.strokeStyle = "black"; + this.ctx.strokeText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.ctx.fillText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texSubImage2D(this.gl.TEXTURE_2D, 0, 0, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + }; + return TextDrawer; +}()); + +var SpriteRenderer = /** @class */ (function () { + function SpriteRenderer(webglContext, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + this.gl = webglContext; + this.vbo = new VBO(this.gl); + this.Shader = new Shader(this.gl); + this.Text = new TextDrawer(this.gl); + this.Shader.UseProgram(); + this.CreateTexture(Image, Filtering); + this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); + this.gl.clearColor(0.0, 0.0, 0.0, 1.0); + this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + this.gl.enable(this.gl.BLEND); + this.SetHight(0.0); + this.gl.enable(this.gl.DEPTH_TEST); + this.gl.depthFunc(this.gl.LEQUAL); + } + SpriteRenderer.prototype.RenderAll = function () { + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.vbo.RenderAllSpr(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); + this.vbo.RenderAllTxt(); + }; + SpriteRenderer.prototype.UpdateViewPort = function (width, height) { + this.gl.viewport(0, 0, width, height); + var projmatrix = mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); + var cameramatrix = mat4.lookAt(new vec3([0.0, 0.0, 1.0]), new vec3([0.0, 0.0, 0.0]), new vec3([0.0, 1.0, 0.0])); + this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); + }; + SpriteRenderer.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); + }; + SpriteRenderer.prototype.SetHight = function (hight) { + this.vbo.SetupHeight(hight); + }; + SpriteRenderer.prototype.PrepareTxt = function (str, color, fontSize, outLine) { + if (outLine === void 0) { outLine = false; } + return this.Text.PrepareTxt(str, color, fontSize, outLine); + }; + SpriteRenderer.prototype.DisposeTxt = function (txtObj) { + this.Text.DisposeTxt(txtObj); + }; + SpriteRenderer.prototype.DrawTxt = function (txtObj, PosX, PosY) { + this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); + }; + SpriteRenderer.prototype.UpdateCamera = function (x, y) { + this.Shader.UpdatePosition(x, y); + }; + SpriteRenderer.prototype.CreateTexture = function (image, filtering) { + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); + if (filtering == SpriteRenderer.TextureFilteringLinear) { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + else { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); + } + }; + SpriteRenderer.fromCanvas = function (canvas, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + try { + var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); + } + catch (e) { + console.log("Error with WebGL context initialization"); + return null; + } + var newRenderer = new SpriteRenderer(ctx, Image, Filtering); + newRenderer.UpdateViewPort(canvas.width, canvas.height); + return newRenderer; + }; + SpriteRenderer.TextureFilteringLinear = 0; + SpriteRenderer.TextureFilteringNearest = 1; + return SpriteRenderer; +}()); + +var SpriteGL = { Shader: Shader, SpriteRenderer: SpriteRenderer, TextDrawer: TextDrawer, VBO: VBO }; + +export default SpriteGL; +export { Shader, SpriteGL, SpriteRenderer, TextDrawer, VBO }; diff --git a/dist/SpriteGL.js b/dist/SpriteGL.js new file mode 100644 index 0000000..40b8ff4 --- /dev/null +++ b/dist/SpriteGL.js @@ -0,0 +1,2763 @@ +/*! + * SpriteGL v0.0.0 + * (c) 2015-present + * Released under the ISC License. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (factory((global.spriteGl = {}))); +}(this, (function (exports) { 'use strict'; + + var Shader = /** @class */ (function () { + function Shader(gl) { + this.gl = null; + this.gl = gl; + this.glProgram = this.MakeProgram(gl); + this.VertexPosAttribute = gl.getAttribLocation(this.glProgram, "aVertexPosition"); + this.TexCoordAttribute = gl.getAttribLocation(this.glProgram, "aTexCoord"); + this.TexSampleUniform = gl.getUniformLocation(this.glProgram, "sampler2d"); + this.MatUniform = gl.getUniformLocation(this.glProgram, "uProjectionView"); + this.CameraPosUniform = gl.getUniformLocation(this.glProgram, "uCameraPos"); + } + Shader.prototype.UseProgram = function () { + this.gl.useProgram(this.glProgram); + this.gl.uniform1i(this.TexSampleUniform, 0); + }; + Shader.prototype.UpdatePosition = function (x, y) { + this.gl.uniform2f(this.CameraPosUniform, x, y); + }; + Shader.prototype.MakeProgram = function (gl) { + var vertexShader = this.CompileShader(gl, Shader.defaultVertexShaderSrc, gl.VERTEX_SHADER); + var fragmentShader = this.CompileShader(gl, Shader.defaultFragmentShaderSrc, gl.FRAGMENT_SHADER); + var glProgram = gl.createProgram(); + gl.attachShader(glProgram, vertexShader); + gl.attachShader(glProgram, fragmentShader); + gl.linkProgram(glProgram); + return glProgram; + }; + Shader.prototype.CompileShader = function (gl, src, type) { + var Shader = gl.createShader(type); + gl.shaderSource(Shader, src); + gl.compileShader(Shader); + if (!gl.getShaderParameter(Shader, gl.COMPILE_STATUS)) { + alert(gl.getShaderInfoLog(Shader)); + } + return Shader; + }; + Shader.prototype.updateMatrix = function (mat) { + this.gl.uniformMatrix4fv(this.MatUniform, false, mat.all()); + }; + Shader.defaultVertexShaderSrc = "\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTexCoord;\n\t\tuniform mat4 uProjectionView;\n\t\tuniform vec2 uCameraPos;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tvtexCoord = aTexCoord;\n\t\t\tgl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;\n\t\t}\n\t"; + Shader.defaultFragmentShaderSrc = "\n\t\tprecision mediump float;\n\t\tuniform sampler2D sampler2d;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tgl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));\n\t\t\tif(gl_FragColor.a < 0.5) discard;\n\t\t}\n\t"; + return Shader; + }()); + + /*! + * Copyright (c) 2012, 2018 Matthias Ferch + * + * Project homepage: https://github.com/matthiasferch/tsm + * + * 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 epsilon = 0.00001; + + var vec4 = /** @class */ (function () { + function vec4(values) { + this.values = new Float32Array(4); + if (values !== undefined) { + this.xyzw = values; + } + } + Object.defineProperty(vec4.prototype, "x", { + get: function () { + return this.values[0]; + }, + set: function (value) { + this.values[0] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "y", { + get: function () { + return this.values[1]; + }, + set: function (value) { + this.values[1] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "z", { + get: function () { + return this.values[2]; + }, + set: function (value) { + this.values[2] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "w", { + get: function () { + return this.values[3]; + }, + set: function (value) { + this.values[3] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "xy", { + get: function () { + return [ + this.values[0], + this.values[1], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "xyz", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "xyzw", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + this.values[3], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + this.values[3] = values[3]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "r", { + get: function () { + return this.values[0]; + }, + set: function (value) { + this.values[0] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "g", { + get: function () { + return this.values[1]; + }, + set: function (value) { + this.values[1] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "b", { + get: function () { + return this.values[2]; + }, + set: function (value) { + this.values[2] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "a", { + get: function () { + return this.values[3]; + }, + set: function (value) { + this.values[3] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "rg", { + get: function () { + return [ + this.values[0], + this.values[1], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "rgb", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec4.prototype, "rgba", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + this.values[3], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + this.values[3] = values[3]; + }, + enumerable: true, + configurable: true + }); + vec4.prototype.at = function (index) { + return this.values[index]; + }; + vec4.prototype.reset = function () { + this.x = 0; + this.y = 0; + this.z = 0; + this.w = 0; + }; + vec4.prototype.copy = function (dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = this.x; + dest.y = this.y; + dest.z = this.z; + dest.w = this.w; + return dest; + }; + vec4.prototype.negate = function (dest) { + if (!dest) { + dest = this; + } + dest.x = -this.x; + dest.y = -this.y; + dest.z = -this.z; + dest.w = -this.w; + return dest; + }; + vec4.prototype.equals = function (vector, threshold) { + if (threshold === void 0) { threshold = epsilon; } + if (Math.abs(this.x - vector.x) > threshold) { + return false; + } + if (Math.abs(this.y - vector.y) > threshold) { + return false; + } + if (Math.abs(this.z - vector.z) > threshold) { + return false; + } + if (Math.abs(this.w - vector.w) > threshold) { + return false; + } + return true; + }; + vec4.prototype.length = function () { + return Math.sqrt(this.squaredLength()); + }; + vec4.prototype.squaredLength = function () { + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + return (x * x + y * y + z * z + w * w); + }; + vec4.prototype.add = function (vector) { + this.x += vector.x; + this.y += vector.y; + this.z += vector.z; + this.w += vector.w; + return this; + }; + vec4.prototype.subtract = function (vector) { + this.x -= vector.x; + this.y -= vector.y; + this.z -= vector.z; + this.w -= vector.w; + return this; + }; + vec4.prototype.multiply = function (vector) { + this.x *= vector.x; + this.y *= vector.y; + this.z *= vector.z; + this.w *= vector.w; + return this; + }; + vec4.prototype.divide = function (vector) { + this.x /= vector.x; + this.y /= vector.y; + this.z /= vector.z; + this.w /= vector.w; + return this; + }; + vec4.prototype.scale = function (value, dest) { + if (!dest) { + dest = this; + } + dest.x *= value; + dest.y *= value; + dest.z *= value; + dest.w *= value; + return dest; + }; + vec4.prototype.normalize = function (dest) { + if (!dest) { + dest = this; + } + var length = this.length(); + if (length === 1) { + return this; + } + if (length === 0) { + dest.x *= 0; + dest.y *= 0; + dest.z *= 0; + dest.w *= 0; + return dest; + } + length = 1.0 / length; + dest.x *= length; + dest.y *= length; + dest.z *= length; + dest.w *= length; + return dest; + }; + vec4.prototype.multiplyMat4 = function (matrix, dest) { + if (!dest) { + dest = this; + } + return matrix.multiplyVec4(this, dest); + }; + vec4.mix = function (vector, vector2, time, dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = vector.x + time * (vector2.x - vector.x); + dest.y = vector.y + time * (vector2.y - vector.y); + dest.z = vector.z + time * (vector2.z - vector.z); + dest.w = vector.w + time * (vector2.w - vector.w); + return dest; + }; + vec4.sum = function (vector, vector2, dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = vector.x + vector2.x; + dest.y = vector.y + vector2.y; + dest.z = vector.z + vector2.z; + dest.w = vector.w + vector2.w; + return dest; + }; + vec4.difference = function (vector, vector2, dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = vector.x - vector2.x; + dest.y = vector.y - vector2.y; + dest.z = vector.z - vector2.z; + dest.w = vector.w - vector2.w; + return dest; + }; + vec4.product = function (vector, vector2, dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = vector.x * vector2.x; + dest.y = vector.y * vector2.y; + dest.z = vector.z * vector2.z; + dest.w = vector.w * vector2.w; + return dest; + }; + vec4.quotient = function (vector, vector2, dest) { + if (!dest) { + dest = new vec4(); + } + dest.x = vector.x / vector2.x; + dest.y = vector.y / vector2.y; + dest.z = vector.z / vector2.z; + dest.w = vector.w / vector2.w; + return dest; + }; + vec4.zero = new vec4([0, 0, 0, 1]); + vec4.one = new vec4([1, 1, 1, 1]); + return vec4; + }()); + + var mat4 = /** @class */ (function () { + function mat4(values) { + this.values = new Float32Array(16); + if (values !== undefined) { + this.init(values); + } + } + mat4.prototype.at = function (index) { + return this.values[index]; + }; + mat4.prototype.init = function (values) { + for (var i = 0; i < 16; i++) { + this.values[i] = values[i]; + } + return this; + }; + mat4.prototype.reset = function () { + for (var i = 0; i < 16; i++) { + this.values[i] = 0; + } + }; + mat4.prototype.copy = function (dest) { + if (!dest) { + dest = new mat4(); + } + for (var i = 0; i < 16; i++) { + dest.values[i] = this.values[i]; + } + return dest; + }; + mat4.prototype.all = function () { + var data = []; + for (var i = 0; i < 16; i++) { + data[i] = this.values[i]; + } + return data; + }; + mat4.prototype.row = function (index) { + return [ + this.values[index * 4 + 0], + this.values[index * 4 + 1], + this.values[index * 4 + 2], + this.values[index * 4 + 3], + ]; + }; + mat4.prototype.col = function (index) { + return [ + this.values[index], + this.values[index + 4], + this.values[index + 8], + this.values[index + 12], + ]; + }; + mat4.prototype.equals = function (matrix, threshold) { + if (threshold === void 0) { threshold = epsilon; } + for (var i = 0; i < 16; i++) { + if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { + return false; + } + } + return true; + }; + mat4.prototype.determinant = function () { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a03 = this.values[3]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a13 = this.values[7]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var a23 = this.values[11]; + var a30 = this.values[12]; + var a31 = this.values[13]; + var a32 = this.values[14]; + var a33 = this.values[15]; + var det00 = a00 * a11 - a01 * a10; + var det01 = a00 * a12 - a02 * a10; + var det02 = a00 * a13 - a03 * a10; + var det03 = a01 * a12 - a02 * a11; + var det04 = a01 * a13 - a03 * a11; + var det05 = a02 * a13 - a03 * a12; + var det06 = a20 * a31 - a21 * a30; + var det07 = a20 * a32 - a22 * a30; + var det08 = a20 * a33 - a23 * a30; + var det09 = a21 * a32 - a22 * a31; + var det10 = a21 * a33 - a23 * a31; + var det11 = a22 * a33 - a23 * a32; + return (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); + }; + mat4.prototype.setIdentity = function () { + this.values[0] = 1; + this.values[1] = 0; + this.values[2] = 0; + this.values[3] = 0; + this.values[4] = 0; + this.values[5] = 1; + this.values[6] = 0; + this.values[7] = 0; + this.values[8] = 0; + this.values[9] = 0; + this.values[10] = 1; + this.values[11] = 0; + this.values[12] = 0; + this.values[13] = 0; + this.values[14] = 0; + this.values[15] = 1; + return this; + }; + mat4.prototype.transpose = function () { + var temp01 = this.values[1]; + var temp02 = this.values[2]; + var temp03 = this.values[3]; + var temp12 = this.values[6]; + var temp13 = this.values[7]; + var temp23 = this.values[11]; + this.values[1] = this.values[4]; + this.values[2] = this.values[8]; + this.values[3] = this.values[12]; + this.values[4] = temp01; + this.values[6] = this.values[9]; + this.values[7] = this.values[13]; + this.values[8] = temp02; + this.values[9] = temp12; + this.values[11] = this.values[14]; + this.values[12] = temp03; + this.values[13] = temp13; + this.values[14] = temp23; + return this; + }; + mat4.prototype.inverse = function () { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a03 = this.values[3]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a13 = this.values[7]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var a23 = this.values[11]; + var a30 = this.values[12]; + var a31 = this.values[13]; + var a32 = this.values[14]; + var a33 = this.values[15]; + var det00 = a00 * a11 - a01 * a10; + var det01 = a00 * a12 - a02 * a10; + var det02 = a00 * a13 - a03 * a10; + var det03 = a01 * a12 - a02 * a11; + var det04 = a01 * a13 - a03 * a11; + var det05 = a02 * a13 - a03 * a12; + var det06 = a20 * a31 - a21 * a30; + var det07 = a20 * a32 - a22 * a30; + var det08 = a20 * a33 - a23 * a30; + var det09 = a21 * a32 - a22 * a31; + var det10 = a21 * a33 - a23 * a31; + var det11 = a22 * a33 - a23 * a32; + var det = (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06); + if (!det) { + return null; + } + det = 1.0 / det; + this.values[0] = (a11 * det11 - a12 * det10 + a13 * det09) * det; + this.values[1] = (-a01 * det11 + a02 * det10 - a03 * det09) * det; + this.values[2] = (a31 * det05 - a32 * det04 + a33 * det03) * det; + this.values[3] = (-a21 * det05 + a22 * det04 - a23 * det03) * det; + this.values[4] = (-a10 * det11 + a12 * det08 - a13 * det07) * det; + this.values[5] = (a00 * det11 - a02 * det08 + a03 * det07) * det; + this.values[6] = (-a30 * det05 + a32 * det02 - a33 * det01) * det; + this.values[7] = (a20 * det05 - a22 * det02 + a23 * det01) * det; + this.values[8] = (a10 * det10 - a11 * det08 + a13 * det06) * det; + this.values[9] = (-a00 * det10 + a01 * det08 - a03 * det06) * det; + this.values[10] = (a30 * det04 - a31 * det02 + a33 * det00) * det; + this.values[11] = (-a20 * det04 + a21 * det02 - a23 * det00) * det; + this.values[12] = (-a10 * det09 + a11 * det07 - a12 * det06) * det; + this.values[13] = (a00 * det09 - a01 * det07 + a02 * det06) * det; + this.values[14] = (-a30 * det03 + a31 * det01 - a32 * det00) * det; + this.values[15] = (a20 * det03 - a21 * det01 + a22 * det00) * det; + return this; + }; + mat4.prototype.multiply = function (matrix) { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a03 = this.values[3]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a13 = this.values[7]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var a23 = this.values[11]; + var a30 = this.values[12]; + var a31 = this.values[13]; + var a32 = this.values[14]; + var a33 = this.values[15]; + var b0 = matrix.at(0); + var b1 = matrix.at(1); + var b2 = matrix.at(2); + var b3 = matrix.at(3); + this.values[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + this.values[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + this.values[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + this.values[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = matrix.at(4); + b1 = matrix.at(5); + b2 = matrix.at(6); + b3 = matrix.at(7); + this.values[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + this.values[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + this.values[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + this.values[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = matrix.at(8); + b1 = matrix.at(9); + b2 = matrix.at(10); + b3 = matrix.at(11); + this.values[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + this.values[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + this.values[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + this.values[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + b0 = matrix.at(12); + b1 = matrix.at(13); + b2 = matrix.at(14); + b3 = matrix.at(15); + this.values[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30; + this.values[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31; + this.values[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32; + this.values[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33; + return this; + }; + mat4.prototype.multiplyVec3 = function (vector) { + var x = vector.x; + var y = vector.y; + var z = vector.z; + return new vec3([ + this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12], + this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13], + this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14], + ]); + }; + mat4.prototype.multiplyVec4 = function (vector, dest) { + if (!dest) { + dest = new vec4(); + } + var x = vector.x; + var y = vector.y; + var z = vector.z; + var w = vector.w; + dest.x = this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12] * w; + dest.y = this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13] * w; + dest.z = this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] * w; + dest.w = this.values[3] * x + this.values[7] * y + this.values[11] * z + this.values[15] * w; + return dest; + }; + mat4.prototype.toMat3 = function () { + return new mat3([ + this.values[0], + this.values[1], + this.values[2], + this.values[4], + this.values[5], + this.values[6], + this.values[8], + this.values[9], + this.values[10], + ]); + }; + mat4.prototype.toInverseMat3 = function () { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var det01 = a22 * a11 - a12 * a21; + var det11 = -a22 * a10 + a12 * a20; + var det21 = a21 * a10 - a11 * a20; + var det = a00 * det01 + a01 * det11 + a02 * det21; + if (!det) { + return null; + } + det = 1.0 / det; + return new mat3([ + det01 * det, + (-a22 * a01 + a02 * a21) * det, + (a12 * a01 - a02 * a11) * det, + det11 * det, + (a22 * a00 - a02 * a20) * det, + (-a12 * a00 + a02 * a10) * det, + det21 * det, + (-a21 * a00 + a01 * a20) * det, + (a11 * a00 - a01 * a10) * det, + ]); + }; + mat4.prototype.translate = function (vector) { + var x = vector.x; + var y = vector.y; + var z = vector.z; + this.values[12] += this.values[0] * x + this.values[4] * y + this.values[8] * z; + this.values[13] += this.values[1] * x + this.values[5] * y + this.values[9] * z; + this.values[14] += this.values[2] * x + this.values[6] * y + this.values[10] * z; + this.values[15] += this.values[3] * x + this.values[7] * y + this.values[11] * z; + return this; + }; + mat4.prototype.scale = function (vector) { + var x = vector.x; + var y = vector.y; + var z = vector.z; + this.values[0] *= x; + this.values[1] *= x; + this.values[2] *= x; + this.values[3] *= x; + this.values[4] *= y; + this.values[5] *= y; + this.values[6] *= y; + this.values[7] *= y; + this.values[8] *= z; + this.values[9] *= z; + this.values[10] *= z; + this.values[11] *= z; + return this; + }; + mat4.prototype.rotate = function (angle, axis) { + var x = axis.x; + var y = axis.y; + var z = axis.z; + var length = Math.sqrt(x * x + y * y + z * z); + if (!length) { + return null; + } + if (length !== 1) { + length = 1 / length; + x *= length; + y *= length; + z *= length; + } + var s = Math.sin(angle); + var c = Math.cos(angle); + var t = 1.0 - c; + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a03 = this.values[3]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a13 = this.values[7]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var a23 = this.values[11]; + var b00 = x * x * t + c; + var b01 = y * x * t + z * s; + var b02 = z * x * t - y * s; + var b10 = x * y * t - z * s; + var b11 = y * y * t + c; + var b12 = z * y * t + x * s; + var b20 = x * z * t + y * s; + var b21 = y * z * t - x * s; + var b22 = z * z * t + c; + this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; + this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; + this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; + this.values[3] = a03 * b00 + a13 * b01 + a23 * b02; + this.values[4] = a00 * b10 + a10 * b11 + a20 * b12; + this.values[5] = a01 * b10 + a11 * b11 + a21 * b12; + this.values[6] = a02 * b10 + a12 * b11 + a22 * b12; + this.values[7] = a03 * b10 + a13 * b11 + a23 * b12; + this.values[8] = a00 * b20 + a10 * b21 + a20 * b22; + this.values[9] = a01 * b20 + a11 * b21 + a21 * b22; + this.values[10] = a02 * b20 + a12 * b21 + a22 * b22; + this.values[11] = a03 * b20 + a13 * b21 + a23 * b22; + return this; + }; + mat4.frustum = function (left, right, bottom, top, near, far) { + var rl = (right - left); + var tb = (top - bottom); + var fn = (far - near); + return new mat4([ + (near * 2) / rl, + 0, + 0, + 0, + 0, + (near * 2) / tb, + 0, + 0, + (right + left) / rl, + (top + bottom) / tb, + -(far + near) / fn, + -1, + 0, + 0, + -(far * near * 2) / fn, + 0, + ]); + }; + mat4.perspective = function (fov, aspect, near, far) { + var top = near * Math.tan(fov * Math.PI / 360.0); + var right = top * aspect; + return mat4.frustum(-right, right, -top, top, near, far); + }; + mat4.orthographic = function (left, right, bottom, top, near, far) { + var rl = (right - left); + var tb = (top - bottom); + var fn = (far - near); + return new mat4([ + 2 / rl, + 0, + 0, + 0, + 0, + 2 / tb, + 0, + 0, + 0, + 0, + -2 / fn, + 0, + -(left + right) / rl, + -(top + bottom) / tb, + -(far + near) / fn, + 1, + ]); + }; + mat4.lookAt = function (position, target, up) { + if (up === void 0) { up = vec3.up; } + if (position.equals(target)) { + return this.identity; + } + var z = vec3.difference(position, target).normalize(); + var x = vec3.cross(up, z).normalize(); + var y = vec3.cross(z, x).normalize(); + return new mat4([ + x.x, + y.x, + z.x, + 0, + x.y, + y.y, + z.y, + 0, + x.z, + y.z, + z.z, + 0, + -vec3.dot(x, position), + -vec3.dot(y, position), + -vec3.dot(z, position), + 1, + ]); + }; + mat4.product = function (m1, m2, result) { + var a00 = m1.at(0); + var a01 = m1.at(1); + var a02 = m1.at(2); + var a03 = m1.at(3); + var a10 = m1.at(4); + var a11 = m1.at(5); + var a12 = m1.at(6); + var a13 = m1.at(7); + var a20 = m1.at(8); + var a21 = m1.at(9); + var a22 = m1.at(10); + var a23 = m1.at(11); + var a30 = m1.at(12); + var a31 = m1.at(13); + var a32 = m1.at(14); + var a33 = m1.at(15); + var b00 = m2.at(0); + var b01 = m2.at(1); + var b02 = m2.at(2); + var b03 = m2.at(3); + var b10 = m2.at(4); + var b11 = m2.at(5); + var b12 = m2.at(6); + var b13 = m2.at(7); + var b20 = m2.at(8); + var b21 = m2.at(9); + var b22 = m2.at(10); + var b23 = m2.at(11); + var b30 = m2.at(12); + var b31 = m2.at(13); + var b32 = m2.at(14); + var b33 = m2.at(15); + if (result) { + result.init([ + b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, + b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, + b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, + b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, + b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, + b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, + b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, + b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, + b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, + b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, + b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, + b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, + b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, + b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, + b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, + b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33, + ]); + return result; + } + else { + return new mat4([ + b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30, + b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31, + b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32, + b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33, + b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30, + b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31, + b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32, + b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33, + b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30, + b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31, + b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32, + b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33, + b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30, + b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31, + b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32, + b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33, + ]); + } + }; + mat4.identity = new mat4().setIdentity(); + return mat4; + }()); + + var mat3 = /** @class */ (function () { + function mat3(values) { + this.values = new Float32Array(9); + if (values !== undefined) { + this.init(values); + } + } + mat3.prototype.at = function (index) { + return this.values[index]; + }; + mat3.prototype.init = function (values) { + for (var i = 0; i < 9; i++) { + this.values[i] = values[i]; + } + return this; + }; + mat3.prototype.reset = function () { + for (var i = 0; i < 9; i++) { + this.values[i] = 0; + } + }; + mat3.prototype.copy = function (dest) { + if (!dest) { + dest = new mat3(); + } + for (var i = 0; i < 9; i++) { + dest.values[i] = this.values[i]; + } + return dest; + }; + mat3.prototype.all = function () { + var data = []; + for (var i = 0; i < 9; i++) { + data[i] = this.values[i]; + } + return data; + }; + mat3.prototype.row = function (index) { + return [ + this.values[index * 3 + 0], + this.values[index * 3 + 1], + this.values[index * 3 + 2], + ]; + }; + mat3.prototype.col = function (index) { + return [ + this.values[index], + this.values[index + 3], + this.values[index + 6], + ]; + }; + mat3.prototype.equals = function (matrix, threshold) { + if (threshold === void 0) { threshold = epsilon; } + for (var i = 0; i < 9; i++) { + if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { + return false; + } + } + return true; + }; + mat3.prototype.determinant = function () { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a10 = this.values[3]; + var a11 = this.values[4]; + var a12 = this.values[5]; + var a20 = this.values[6]; + var a21 = this.values[7]; + var a22 = this.values[8]; + var det01 = a22 * a11 - a12 * a21; + var det11 = -a22 * a10 + a12 * a20; + var det21 = a21 * a10 - a11 * a20; + return a00 * det01 + a01 * det11 + a02 * det21; + }; + mat3.prototype.setIdentity = function () { + this.values[0] = 1; + this.values[1] = 0; + this.values[2] = 0; + this.values[3] = 0; + this.values[4] = 1; + this.values[5] = 0; + this.values[6] = 0; + this.values[7] = 0; + this.values[8] = 1; + return this; + }; + mat3.prototype.transpose = function () { + var temp01 = this.values[1]; + var temp02 = this.values[2]; + var temp12 = this.values[5]; + this.values[1] = this.values[3]; + this.values[2] = this.values[6]; + this.values[3] = temp01; + this.values[5] = this.values[7]; + this.values[6] = temp02; + this.values[7] = temp12; + return this; + }; + mat3.prototype.inverse = function () { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a10 = this.values[3]; + var a11 = this.values[4]; + var a12 = this.values[5]; + var a20 = this.values[6]; + var a21 = this.values[7]; + var a22 = this.values[8]; + var det01 = a22 * a11 - a12 * a21; + var det11 = -a22 * a10 + a12 * a20; + var det21 = a21 * a10 - a11 * a20; + var det = a00 * det01 + a01 * det11 + a02 * det21; + if (!det) { + return null; + } + det = 1.0 / det; + this.values[0] = det01 * det; + this.values[1] = (-a22 * a01 + a02 * a21) * det; + this.values[2] = (a12 * a01 - a02 * a11) * det; + this.values[3] = det11 * det; + this.values[4] = (a22 * a00 - a02 * a20) * det; + this.values[5] = (-a12 * a00 + a02 * a10) * det; + this.values[6] = det21 * det; + this.values[7] = (-a21 * a00 + a01 * a20) * det; + this.values[8] = (a11 * a00 - a01 * a10) * det; + return this; + }; + mat3.prototype.multiply = function (matrix) { + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a10 = this.values[3]; + var a11 = this.values[4]; + var a12 = this.values[5]; + var a20 = this.values[6]; + var a21 = this.values[7]; + var a22 = this.values[8]; + var b00 = matrix.at(0); + var b01 = matrix.at(1); + var b02 = matrix.at(2); + var b10 = matrix.at(3); + var b11 = matrix.at(4); + var b12 = matrix.at(5); + var b20 = matrix.at(6); + var b21 = matrix.at(7); + var b22 = matrix.at(8); + this.values[0] = b00 * a00 + b01 * a10 + b02 * a20; + this.values[1] = b00 * a01 + b01 * a11 + b02 * a21; + this.values[2] = b00 * a02 + b01 * a12 + b02 * a22; + this.values[3] = b10 * a00 + b11 * a10 + b12 * a20; + this.values[4] = b10 * a01 + b11 * a11 + b12 * a21; + this.values[5] = b10 * a02 + b11 * a12 + b12 * a22; + this.values[6] = b20 * a00 + b21 * a10 + b22 * a20; + this.values[7] = b20 * a01 + b21 * a11 + b22 * a21; + this.values[8] = b20 * a02 + b21 * a12 + b22 * a22; + return this; + }; + mat3.prototype.multiplyVec2 = function (vector, result) { + var x = vector.x; + var y = vector.y; + if (result) { + result.xy = [ + x * this.values[0] + y * this.values[3] + this.values[6], + x * this.values[1] + y * this.values[4] + this.values[7], + ]; + return result; + } + else { + return new vec2([ + x * this.values[0] + y * this.values[3] + this.values[6], + x * this.values[1] + y * this.values[4] + this.values[7], + ]); + } + }; + mat3.prototype.multiplyVec3 = function (vector, result) { + var x = vector.x; + var y = vector.y; + var z = vector.z; + if (result) { + result.xyz = [ + x * this.values[0] + y * this.values[3] + z * this.values[6], + x * this.values[1] + y * this.values[4] + z * this.values[7], + x * this.values[2] + y * this.values[5] + z * this.values[8], + ]; + return result; + } + else { + return new vec3([ + x * this.values[0] + y * this.values[3] + z * this.values[6], + x * this.values[1] + y * this.values[4] + z * this.values[7], + x * this.values[2] + y * this.values[5] + z * this.values[8], + ]); + } + }; + mat3.prototype.toMat4 = function (result) { + if (result) { + result.init([ + this.values[0], + this.values[1], + this.values[2], + 0, + this.values[3], + this.values[4], + this.values[5], + 0, + this.values[6], + this.values[7], + this.values[8], + 0, + 0, + 0, + 0, + 1, + ]); + return result; + } + else { + return new mat4([ + this.values[0], + this.values[1], + this.values[2], + 0, + this.values[3], + this.values[4], + this.values[5], + 0, + this.values[6], + this.values[7], + this.values[8], + 0, + 0, + 0, + 0, + 1, + ]); + } + }; + mat3.prototype.toQuat = function () { + var m00 = this.values[0]; + var m01 = this.values[1]; + var m02 = this.values[2]; + var m10 = this.values[3]; + var m11 = this.values[4]; + var m12 = this.values[5]; + var m20 = this.values[6]; + var m21 = this.values[7]; + var m22 = this.values[8]; + var fourXSquaredMinus1 = m00 - m11 - m22; + var fourYSquaredMinus1 = m11 - m00 - m22; + var fourZSquaredMinus1 = m22 - m00 - m11; + var fourWSquaredMinus1 = m00 + m11 + m22; + var biggestIndex = 0; + var fourBiggestSquaredMinus1 = fourWSquaredMinus1; + if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) { + fourBiggestSquaredMinus1 = fourXSquaredMinus1; + biggestIndex = 1; + } + if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) { + fourBiggestSquaredMinus1 = fourYSquaredMinus1; + biggestIndex = 2; + } + if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) { + fourBiggestSquaredMinus1 = fourZSquaredMinus1; + biggestIndex = 3; + } + var biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5; + var mult = 0.25 / biggestVal; + var result = new quat(); + switch (biggestIndex) { + case 0: + result.w = biggestVal; + result.x = (m12 - m21) * mult; + result.y = (m20 - m02) * mult; + result.z = (m01 - m10) * mult; + break; + case 1: + result.w = (m12 - m21) * mult; + result.x = biggestVal; + result.y = (m01 + m10) * mult; + result.z = (m20 + m02) * mult; + break; + case 2: + result.w = (m20 - m02) * mult; + result.x = (m01 + m10) * mult; + result.y = biggestVal; + result.z = (m12 + m21) * mult; + break; + case 3: + result.w = (m01 - m10) * mult; + result.x = (m20 + m02) * mult; + result.y = (m12 + m21) * mult; + result.z = biggestVal; + break; + } + return result; + }; + mat3.prototype.rotate = function (angle, axis) { + var x = axis.x; + var y = axis.y; + var z = axis.z; + var length = Math.sqrt(x * x + y * y + z * z); + if (!length) { + return null; + } + if (length !== 1) { + length = 1 / length; + x *= length; + y *= length; + z *= length; + } + var s = Math.sin(angle); + var c = Math.cos(angle); + var t = 1.0 - c; + var a00 = this.values[0]; + var a01 = this.values[1]; + var a02 = this.values[2]; + var a10 = this.values[4]; + var a11 = this.values[5]; + var a12 = this.values[6]; + var a20 = this.values[8]; + var a21 = this.values[9]; + var a22 = this.values[10]; + var b00 = x * x * t + c; + var b01 = y * x * t + z * s; + var b02 = z * x * t - y * s; + var b10 = x * y * t - z * s; + var b11 = y * y * t + c; + var b12 = z * y * t + x * s; + var b20 = x * z * t + y * s; + var b21 = y * z * t - x * s; + var b22 = z * z * t + c; + this.values[0] = a00 * b00 + a10 * b01 + a20 * b02; + this.values[1] = a01 * b00 + a11 * b01 + a21 * b02; + this.values[2] = a02 * b00 + a12 * b01 + a22 * b02; + this.values[3] = a00 * b10 + a10 * b11 + a20 * b12; + this.values[4] = a01 * b10 + a11 * b11 + a21 * b12; + this.values[5] = a02 * b10 + a12 * b11 + a22 * b12; + this.values[6] = a00 * b20 + a10 * b21 + a20 * b22; + this.values[7] = a01 * b20 + a11 * b21 + a21 * b22; + this.values[8] = a02 * b20 + a12 * b21 + a22 * b22; + return this; + }; + mat3.product = function (m1, m2, result) { + var a00 = m1.at(0); + var a01 = m1.at(1); + var a02 = m1.at(2); + var a10 = m1.at(3); + var a11 = m1.at(4); + var a12 = m1.at(5); + var a20 = m1.at(6); + var a21 = m1.at(7); + var a22 = m1.at(8); + var b00 = m2.at(0); + var b01 = m2.at(1); + var b02 = m2.at(2); + var b10 = m2.at(3); + var b11 = m2.at(4); + var b12 = m2.at(5); + var b20 = m2.at(6); + var b21 = m2.at(7); + var b22 = m2.at(8); + if (result) { + result.init([ + b00 * a00 + b01 * a10 + b02 * a20, + b00 * a01 + b01 * a11 + b02 * a21, + b00 * a02 + b01 * a12 + b02 * a22, + b10 * a00 + b11 * a10 + b12 * a20, + b10 * a01 + b11 * a11 + b12 * a21, + b10 * a02 + b11 * a12 + b12 * a22, + b20 * a00 + b21 * a10 + b22 * a20, + b20 * a01 + b21 * a11 + b22 * a21, + b20 * a02 + b21 * a12 + b22 * a22, + ]); + return result; + } + else { + return new mat3([ + b00 * a00 + b01 * a10 + b02 * a20, + b00 * a01 + b01 * a11 + b02 * a21, + b00 * a02 + b01 * a12 + b02 * a22, + b10 * a00 + b11 * a10 + b12 * a20, + b10 * a01 + b11 * a11 + b12 * a21, + b10 * a02 + b11 * a12 + b12 * a22, + b20 * a00 + b21 * a10 + b22 * a20, + b20 * a01 + b21 * a11 + b22 * a21, + b20 * a02 + b21 * a12 + b22 * a22, + ]); + } + }; + mat3.identity = new mat3().setIdentity(); + return mat3; + }()); + + var quat = /** @class */ (function () { + function quat(values) { + this.values = new Float32Array(4); + if (values !== undefined) { + this.xyzw = values; + } + } + Object.defineProperty(quat.prototype, "x", { + get: function () { + return this.values[0]; + }, + set: function (value) { + this.values[0] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "y", { + get: function () { + return this.values[1]; + }, + set: function (value) { + this.values[1] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "z", { + get: function () { + return this.values[2]; + }, + set: function (value) { + this.values[2] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "w", { + get: function () { + return this.values[3]; + }, + set: function (value) { + this.values[3] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "xy", { + get: function () { + return [ + this.values[0], + this.values[1], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "xyz", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(quat.prototype, "xyzw", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + this.values[3], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + this.values[3] = values[3]; + }, + enumerable: true, + configurable: true + }); + quat.prototype.at = function (index) { + return this.values[index]; + }; + quat.prototype.reset = function () { + for (var i = 0; i < 4; i++) { + this.values[i] = 0; + } + }; + quat.prototype.copy = function (dest) { + if (!dest) { + dest = new quat(); + } + for (var i = 0; i < 4; i++) { + dest.values[i] = this.values[i]; + } + return dest; + }; + quat.prototype.roll = function () { + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + return Math.atan2(2.0 * (x * y + w * z), w * w + x * x - y * y - z * z); + }; + quat.prototype.pitch = function () { + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + return Math.atan2(2.0 * (y * z + w * x), w * w - x * x - y * y + z * z); + }; + quat.prototype.yaw = function () { + return Math.asin(2.0 * (this.x * this.z - this.w * this.y)); + }; + quat.prototype.equals = function (vector, threshold) { + if (threshold === void 0) { threshold = epsilon; } + for (var i = 0; i < 4; i++) { + if (Math.abs(this.values[i] - vector.at(i)) > threshold) { + return false; + } + } + return true; + }; + quat.prototype.setIdentity = function () { + this.x = 0; + this.y = 0; + this.z = 0; + this.w = 1; + return this; + }; + quat.prototype.calculateW = function () { + var x = this.x; + var y = this.y; + var z = this.z; + this.w = -(Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z))); + return this; + }; + quat.prototype.inverse = function () { + var dot = quat.dot(this, this); + if (!dot) { + this.xyzw = [0, 0, 0, 0]; + return this; + } + var invDot = dot ? 1.0 / dot : 0; + this.x *= -invDot; + this.y *= -invDot; + this.z *= -invDot; + this.w *= invDot; + return this; + }; + quat.prototype.conjugate = function () { + this.values[0] *= -1; + this.values[1] *= -1; + this.values[2] *= -1; + return this; + }; + quat.prototype.length = function () { + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + return Math.sqrt(x * x + y * y + z * z + w * w); + }; + quat.prototype.normalize = function (dest) { + if (!dest) { + dest = this; + } + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + var length = Math.sqrt(x * x + y * y + z * z + w * w); + if (!length) { + dest.x = 0; + dest.y = 0; + dest.z = 0; + dest.w = 0; + return dest; + } + length = 1 / length; + dest.x = x * length; + dest.y = y * length; + dest.z = z * length; + dest.w = w * length; + return dest; + }; + quat.prototype.add = function (other) { + for (var i = 0; i < 4; i++) { + this.values[i] += other.at(i); + } + return this; + }; + quat.prototype.multiply = function (other) { + var q1x = this.values[0]; + var q1y = this.values[1]; + var q1z = this.values[2]; + var q1w = this.values[3]; + var q2x = other.x; + var q2y = other.y; + var q2z = other.z; + var q2w = other.w; + this.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; + this.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; + this.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; + this.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; + return this; + }; + quat.prototype.multiplyVec3 = function (vector, dest) { + if (!dest) { + dest = new vec3(); + } + var x = vector.x; + var y = vector.y; + var z = vector.z; + var qx = this.x; + var qy = this.y; + var qz = this.z; + var qw = this.w; + 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; + dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy; + dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz; + dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx; + return dest; + }; + quat.prototype.toMat3 = function (dest) { + if (!dest) { + dest = new mat3(); + } + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + 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; + dest.init([ + 1 - (yy + zz), + xy + wz, + xz - wy, + xy - wz, + 1 - (xx + zz), + yz + wx, + xz + wy, + yz - wx, + 1 - (xx + yy), + ]); + return dest; + }; + quat.prototype.toMat4 = function (dest) { + if (!dest) { + dest = new mat4(); + } + var x = this.x; + var y = this.y; + var z = this.z; + var w = this.w; + 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; + dest.init([ + 1 - (yy + zz), + xy + wz, + xz - wy, + 0, + xy - wz, + 1 - (xx + zz), + yz + wx, + 0, + xz + wy, + yz - wx, + 1 - (xx + yy), + 0, + 0, + 0, + 0, + 1, + ]); + return dest; + }; + quat.dot = function (q1, q2) { + return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; + }; + quat.sum = function (q1, q2, dest) { + if (!dest) { + dest = new quat(); + } + dest.x = q1.x + q2.x; + dest.y = q1.y + q2.y; + dest.z = q1.z + q2.z; + dest.w = q1.w + q2.w; + return dest; + }; + quat.product = function (q1, q2, dest) { + if (!dest) { + dest = new quat(); + } + var q1x = q1.x; + var q1y = q1.y; + var q1z = q1.z; + var q1w = q1.w; + var q2x = q2.x; + var q2y = q2.y; + var q2z = q2.z; + var q2w = q2.w; + dest.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y; + dest.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z; + dest.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x; + dest.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; + return dest; + }; + quat.cross = function (q1, q2, dest) { + if (!dest) { + dest = new quat(); + } + var q1x = q1.x; + var q1y = q1.y; + var q1z = q1.z; + var q1w = q1.w; + var q2x = q2.x; + var q2y = q2.y; + var q2z = q2.z; + var q2w = q2.w; + dest.x = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x; + dest.y = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z; + dest.z = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y; + dest.w = q1w * q2y + q1y * q2w + q1z * q2x - q1x * q2z; + return dest; + }; + quat.shortMix = function (q1, q2, time, dest) { + if (!dest) { + dest = new quat(); + } + if (time <= 0.0) { + dest.xyzw = q1.xyzw; + return dest; + } + else if (time >= 1.0) { + dest.xyzw = q2.xyzw; + return dest; + } + var cos = quat.dot(q1, q2); + var q2a = q2.copy(); + if (cos < 0.0) { + q2a.inverse(); + cos = -cos; + } + var k0; + var k1; + if (cos > 0.9999) { + k0 = 1 - time; + k1 = 0 + time; + } + else { + var sin = Math.sqrt(1 - cos * cos); + var angle = Math.atan2(sin, cos); + var oneOverSin = 1 / sin; + k0 = Math.sin((1 - time) * angle) * oneOverSin; + k1 = Math.sin((0 + time) * angle) * oneOverSin; + } + dest.x = k0 * q1.x + k1 * q2a.x; + dest.y = k0 * q1.y + k1 * q2a.y; + dest.z = k0 * q1.z + k1 * q2a.z; + dest.w = k0 * q1.w + k1 * q2a.w; + return dest; + }; + quat.mix = function (q1, q2, time, dest) { + if (!dest) { + dest = new quat(); + } + var cosHalfTheta = q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w; + if (Math.abs(cosHalfTheta) >= 1.0) { + dest.xyzw = q1.xyzw; + return dest; + } + var halfTheta = Math.acos(cosHalfTheta); + var sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta); + if (Math.abs(sinHalfTheta) < 0.001) { + dest.x = q1.x * 0.5 + q2.x * 0.5; + dest.y = q1.y * 0.5 + q2.y * 0.5; + dest.z = q1.z * 0.5 + q2.z * 0.5; + dest.w = q1.w * 0.5 + q2.w * 0.5; + return dest; + } + var ratioA = Math.sin((1 - time) * halfTheta) / sinHalfTheta; + var ratioB = Math.sin(time * halfTheta) / sinHalfTheta; + dest.x = q1.x * ratioA + q2.x * ratioB; + dest.y = q1.y * ratioA + q2.y * ratioB; + dest.z = q1.z * ratioA + q2.z * ratioB; + dest.w = q1.w * ratioA + q2.w * ratioB; + return dest; + }; + quat.fromAxisAngle = function (axis, angle, dest) { + if (!dest) { + dest = new quat(); + } + angle *= 0.5; + var sin = Math.sin(angle); + dest.x = axis.x * sin; + dest.y = axis.y * sin; + dest.z = axis.z * sin; + dest.w = Math.cos(angle); + return dest; + }; + quat.identity = new quat().setIdentity(); + return quat; + }()); + + var vec3 = /** @class */ (function () { + function vec3(values) { + this.values = new Float32Array(3); + if (values !== undefined) { + this.xyz = values; + } + } + Object.defineProperty(vec3.prototype, "x", { + get: function () { + return this.values[0]; + }, + set: function (value) { + this.values[0] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec3.prototype, "y", { + get: function () { + return this.values[1]; + }, + set: function (value) { + this.values[1] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec3.prototype, "z", { + get: function () { + return this.values[2]; + }, + set: function (value) { + this.values[2] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec3.prototype, "xy", { + get: function () { + return [ + this.values[0], + this.values[1], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec3.prototype, "xyz", { + get: function () { + return [ + this.values[0], + this.values[1], + this.values[2], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + this.values[2] = values[2]; + }, + enumerable: true, + configurable: true + }); + vec3.prototype.at = function (index) { + return this.values[index]; + }; + vec3.prototype.reset = function () { + this.x = 0; + this.y = 0; + this.z = 0; + }; + vec3.prototype.copy = function (dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = this.x; + dest.y = this.y; + dest.z = this.z; + return dest; + }; + vec3.prototype.negate = function (dest) { + if (!dest) { + dest = this; + } + dest.x = -this.x; + dest.y = -this.y; + dest.z = -this.z; + return dest; + }; + vec3.prototype.equals = function (vector, threshold) { + if (threshold === void 0) { threshold = epsilon; } + if (Math.abs(this.x - vector.x) > threshold) { + return false; + } + if (Math.abs(this.y - vector.y) > threshold) { + return false; + } + if (Math.abs(this.z - vector.z) > threshold) { + return false; + } + return true; + }; + vec3.prototype.length = function () { + return Math.sqrt(this.squaredLength()); + }; + vec3.prototype.squaredLength = function () { + var x = this.x; + var y = this.y; + var z = this.z; + return (x * x + y * y + z * z); + }; + vec3.prototype.add = function (vector) { + this.x += vector.x; + this.y += vector.y; + this.z += vector.z; + return this; + }; + vec3.prototype.subtract = function (vector) { + this.x -= vector.x; + this.y -= vector.y; + this.z -= vector.z; + return this; + }; + vec3.prototype.multiply = function (vector) { + this.x *= vector.x; + this.y *= vector.y; + this.z *= vector.z; + return this; + }; + vec3.prototype.divide = function (vector) { + this.x /= vector.x; + this.y /= vector.y; + this.z /= vector.z; + return this; + }; + vec3.prototype.scale = function (value, dest) { + if (!dest) { + dest = this; + } + dest.x *= value; + dest.y *= value; + dest.z *= value; + return dest; + }; + vec3.prototype.normalize = function (dest) { + if (!dest) { + dest = this; + } + var length = this.length(); + if (length === 1) { + return this; + } + if (length === 0) { + dest.x = 0; + dest.y = 0; + dest.z = 0; + return dest; + } + length = 1.0 / length; + dest.x *= length; + dest.y *= length; + dest.z *= length; + return dest; + }; + vec3.prototype.multiplyByMat3 = function (matrix, dest) { + if (!dest) { + dest = this; + } + return matrix.multiplyVec3(this, dest); + }; + vec3.prototype.multiplyByQuat = function (quaternion, dest) { + if (!dest) { + dest = this; + } + return quaternion.multiplyVec3(this, dest); + }; + vec3.prototype.toQuat = function (dest) { + if (!dest) { + dest = new quat(); + } + var c = new vec3(); + var s = new vec3(); + c.x = Math.cos(this.x * 0.5); + s.x = Math.sin(this.x * 0.5); + c.y = Math.cos(this.y * 0.5); + s.y = Math.sin(this.y * 0.5); + c.z = Math.cos(this.z * 0.5); + s.z = Math.sin(this.z * 0.5); + dest.x = s.x * c.y * c.z - c.x * s.y * s.z; + dest.y = c.x * s.y * c.z + s.x * c.y * s.z; + dest.z = c.x * c.y * s.z - s.x * s.y * c.z; + dest.w = c.x * c.y * c.z + s.x * s.y * s.z; + return dest; + }; + vec3.cross = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + var x = vector.x; + var y = vector.y; + var z = vector.z; + var x2 = vector2.x; + var y2 = vector2.y; + var z2 = vector2.z; + dest.x = y * z2 - z * y2; + dest.y = z * x2 - x * z2; + dest.z = x * y2 - y * x2; + return dest; + }; + vec3.dot = function (vector, vector2) { + var x = vector.x; + var y = vector.y; + var z = vector.z; + var x2 = vector2.x; + var y2 = vector2.y; + var z2 = vector2.z; + return (x * x2 + y * y2 + z * z2); + }; + vec3.distance = function (vector, vector2) { + var x = vector2.x - vector.x; + var y = vector2.y - vector.y; + var z = vector2.z - vector.z; + return Math.sqrt(this.squaredDistance(vector, vector2)); + }; + vec3.squaredDistance = function (vector, vector2) { + var x = vector2.x - vector.x; + var y = vector2.y - vector.y; + var z = vector2.z - vector.z; + return (x * x + y * y + z * z); + }; + vec3.direction = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + var x = vector.x - vector2.x; + var y = vector.y - vector2.y; + var z = vector.z - vector2.z; + var length = Math.sqrt(x * x + y * y + z * z); + if (length === 0) { + dest.x = 0; + dest.y = 0; + dest.z = 0; + return dest; + } + length = 1 / length; + dest.x = x * length; + dest.y = y * length; + dest.z = z * length; + return dest; + }; + vec3.mix = function (vector, vector2, time, dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = vector.x + time * (vector2.x - vector.x); + dest.y = vector.y + time * (vector2.y - vector.y); + dest.z = vector.z + time * (vector2.z - vector.z); + return dest; + }; + vec3.sum = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = vector.x + vector2.x; + dest.y = vector.y + vector2.y; + dest.z = vector.z + vector2.z; + return dest; + }; + vec3.difference = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = vector.x - vector2.x; + dest.y = vector.y - vector2.y; + dest.z = vector.z - vector2.z; + return dest; + }; + vec3.product = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = vector.x * vector2.x; + dest.y = vector.y * vector2.y; + dest.z = vector.z * vector2.z; + return dest; + }; + vec3.quotient = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + dest.x = vector.x / vector2.x; + dest.y = vector.y / vector2.y; + dest.z = vector.z / vector2.z; + return dest; + }; + vec3.zero = new vec3([0, 0, 0]); + vec3.one = new vec3([1, 1, 1]); + vec3.up = new vec3([0, 1, 0]); + vec3.right = new vec3([1, 0, 0]); + vec3.forward = new vec3([0, 0, 1]); + return vec3; + }()); + + var vec2 = /** @class */ (function () { + function vec2(values) { + this.values = new Float32Array(2); + if (values !== undefined) { + this.xy = values; + } + } + Object.defineProperty(vec2.prototype, "x", { + get: function () { + return this.values[0]; + }, + set: function (value) { + this.values[0] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec2.prototype, "y", { + get: function () { + return this.values[1]; + }, + set: function (value) { + this.values[1] = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(vec2.prototype, "xy", { + get: function () { + return [ + this.values[0], + this.values[1], + ]; + }, + set: function (values) { + this.values[0] = values[0]; + this.values[1] = values[1]; + }, + enumerable: true, + configurable: true + }); + vec2.prototype.at = function (index) { + return this.values[index]; + }; + vec2.prototype.reset = function () { + this.x = 0; + this.y = 0; + }; + vec2.prototype.copy = function (dest) { + if (!dest) { + dest = new vec2(); + } + dest.x = this.x; + dest.y = this.y; + return dest; + }; + vec2.prototype.negate = function (dest) { + if (!dest) { + dest = this; + } + dest.x = -this.x; + dest.y = -this.y; + return dest; + }; + vec2.prototype.equals = function (vector, threshold) { + if (threshold === void 0) { threshold = epsilon; } + if (Math.abs(this.x - vector.x) > threshold) { + return false; + } + if (Math.abs(this.y - vector.y) > threshold) { + return false; + } + return true; + }; + vec2.prototype.length = function () { + return Math.sqrt(this.squaredLength()); + }; + vec2.prototype.squaredLength = function () { + var x = this.x; + var y = this.y; + return (x * x + y * y); + }; + vec2.prototype.add = function (vector) { + this.x += vector.x; + this.y += vector.y; + return this; + }; + vec2.prototype.subtract = function (vector) { + this.x -= vector.x; + this.y -= vector.y; + return this; + }; + vec2.prototype.multiply = function (vector) { + this.x *= vector.x; + this.y *= vector.y; + return this; + }; + vec2.prototype.divide = function (vector) { + this.x /= vector.x; + this.y /= vector.y; + return this; + }; + vec2.prototype.scale = function (value, dest) { + if (!dest) { + dest = this; + } + dest.x *= value; + dest.y *= value; + return dest; + }; + vec2.prototype.normalize = function (dest) { + if (!dest) { + dest = this; + } + var length = this.length(); + if (length === 1) { + return this; + } + if (length === 0) { + dest.x = 0; + dest.y = 0; + return dest; + } + length = 1.0 / length; + dest.x *= length; + dest.y *= length; + return dest; + }; + vec2.prototype.multiplyMat2 = function (matrix, dest) { + if (!dest) { + dest = this; + } + return matrix.multiplyVec2(this, dest); + }; + vec2.prototype.multiplyMat3 = function (matrix, dest) { + if (!dest) { + dest = this; + } + return matrix.multiplyVec2(this, dest); + }; + vec2.cross = function (vector, vector2, dest) { + if (!dest) { + dest = new vec3(); + } + var x = vector.x; + var y = vector.y; + var x2 = vector2.x; + var y2 = vector2.y; + var z = x * y2 - y * x2; + dest.x = 0; + dest.y = 0; + dest.z = z; + return dest; + }; + vec2.dot = function (vector, vector2) { + return (vector.x * vector2.x + vector.y * vector2.y); + }; + vec2.distance = function (vector, vector2) { + return Math.sqrt(this.squaredDistance(vector, vector2)); + }; + vec2.squaredDistance = function (vector, vector2) { + var x = vector2.x - vector.x; + var y = vector2.y - vector.y; + return (x * x + y * y); + }; + vec2.direction = function (vector, vector2, dest) { + if (!dest) { + dest = new vec2(); + } + var x = vector.x - vector2.x; + var y = vector.y - vector2.y; + var length = Math.sqrt(x * x + y * y); + if (length === 0) { + dest.x = 0; + dest.y = 0; + return dest; + } + length = 1 / length; + dest.x = x * length; + dest.y = y * length; + return dest; + }; + vec2.mix = function (vector, vector2, time, dest) { + if (!dest) { + dest = new vec2(); + } + var x = vector.x; + var y = vector.y; + var x2 = vector2.x; + var y2 = vector2.y; + dest.x = x + time * (x2 - x); + dest.y = y + time * (y2 - y); + return dest; + }; + vec2.sum = function (vector, vector2, dest) { + if (!dest) { + dest = new vec2(); + } + dest.x = vector.x + vector2.x; + dest.y = vector.y + vector2.y; + return dest; + }; + vec2.difference = function (vector, vector2, dest) { + if (!dest) { + dest = new vec2(); + } + dest.x = vector.x - vector2.x; + dest.y = vector.y - vector2.y; + return dest; + }; + vec2.product = function (vector, vector2, dest) { + if (!dest) { + dest = new vec2(); + } + dest.x = vector.x * vector2.x; + dest.y = vector.y * vector2.y; + return dest; + }; + vec2.quotient = function (vector, vector2, dest) { + if (!dest) { + dest = new vec2(); + } + dest.x = vector.x / vector2.x; + dest.y = vector.y / vector2.y; + return dest; + }; + vec2.zero = new vec2([0, 0]); + vec2.one = new vec2([1, 1]); + return vec2; + }()); + + var mat2 = /** @class */ (function () { + function mat2(values) { + this.values = new Float32Array(4); + if (values !== undefined) { + this.init(values); + } + } + mat2.prototype.at = function (index) { + return this.values[index]; + }; + mat2.prototype.init = function (values) { + for (var i = 0; i < 4; i++) { + this.values[i] = values[i]; + } + return this; + }; + mat2.prototype.reset = function () { + for (var i = 0; i < 4; i++) { + this.values[i] = 0; + } + }; + mat2.prototype.copy = function (dest) { + if (!dest) { + dest = new mat2(); + } + for (var i = 0; i < 4; i++) { + dest.values[i] = this.values[i]; + } + return dest; + }; + mat2.prototype.all = function () { + var data = []; + for (var i = 0; i < 4; i++) { + data[i] = this.values[i]; + } + return data; + }; + mat2.prototype.row = function (index) { + return [ + this.values[index * 2 + 0], + this.values[index * 2 + 1], + ]; + }; + mat2.prototype.col = function (index) { + return [ + this.values[index], + this.values[index + 2], + ]; + }; + mat2.prototype.equals = function (matrix, threshold) { + if (threshold === void 0) { threshold = epsilon; } + for (var i = 0; i < 4; i++) { + if (Math.abs(this.values[i] - matrix.at(i)) > threshold) { + return false; + } + } + return true; + }; + mat2.prototype.determinant = function () { + return this.values[0] * this.values[3] - this.values[2] * this.values[1]; + }; + mat2.prototype.setIdentity = function () { + this.values[0] = 1; + this.values[1] = 0; + this.values[2] = 0; + this.values[3] = 1; + return this; + }; + mat2.prototype.transpose = function () { + var temp = this.values[1]; + this.values[1] = this.values[2]; + this.values[2] = temp; + return this; + }; + mat2.prototype.inverse = function () { + var det = this.determinant(); + if (!det) { + return null; + } + det = 1.0 / det; + var a11 = this.values[0]; + this.values[0] = det * (this.values[3]); + this.values[1] = det * (-this.values[1]); + this.values[2] = det * (-this.values[2]); + this.values[3] = det * a11; + return this; + }; + mat2.prototype.multiply = function (matrix) { + var a11 = this.values[0]; + var a12 = this.values[1]; + var a21 = this.values[2]; + var a22 = this.values[3]; + this.values[0] = a11 * matrix.at(0) + a12 * matrix.at(2); + this.values[1] = a11 * matrix.at(1) + a12 * matrix.at(3); + this.values[2] = a21 * matrix.at(0) + a22 * matrix.at(2); + this.values[3] = a21 * matrix.at(1) + a22 * matrix.at(3); + return this; + }; + mat2.prototype.rotate = function (angle) { + var a11 = this.values[0]; + var a12 = this.values[1]; + var a21 = this.values[2]; + var a22 = this.values[3]; + var sin = Math.sin(angle); + var cos = Math.cos(angle); + this.values[0] = a11 * cos + a12 * sin; + this.values[1] = a11 * -sin + a12 * cos; + this.values[2] = a21 * cos + a22 * sin; + this.values[3] = a21 * -sin + a22 * cos; + return this; + }; + mat2.prototype.multiplyVec2 = function (vector, result) { + var x = vector.x; + var y = vector.y; + if (result) { + result.xy = [ + x * this.values[0] + y * this.values[1], + x * this.values[2] + y * this.values[3], + ]; + return result; + } + else { + return new vec2([ + x * this.values[0] + y * this.values[1], + x * this.values[2] + y * this.values[3], + ]); + } + }; + mat2.prototype.scale = function (vector) { + var a11 = this.values[0]; + var a12 = this.values[1]; + var a21 = this.values[2]; + var a22 = this.values[3]; + var x = vector.x; + var y = vector.y; + this.values[0] = a11 * x; + this.values[1] = a12 * y; + this.values[2] = a21 * x; + this.values[3] = a22 * y; + return this; + }; + mat2.product = function (m1, m2, result) { + var a11 = m1.at(0); + var a12 = m1.at(1); + var a21 = m1.at(2); + var a22 = m1.at(3); + if (result) { + result.init([ + a11 * m2.at(0) + a12 * m2.at(2), + a11 * m2.at(1) + a12 * m2.at(3), + a21 * m2.at(0) + a22 * m2.at(2), + a21 * m2.at(1) + a22 * m2.at(3), + ]); + return result; + } + else { + return new mat2([ + a11 * m2.at(0) + a12 * m2.at(2), + a11 * m2.at(1) + a12 * m2.at(3), + a21 * m2.at(0) + a22 * m2.at(2), + a21 * m2.at(1) + a22 * m2.at(3), + ]); + } + }; + mat2.identity = new mat2().setIdentity(); + return mat2; + }()); + + var VBO = /** @class */ (function () { + function VBO(gl) { + this.sprVerts = []; + this.txtVerts = []; + this.AtlasSize = 1; + this.gl = null; + this.gl = gl; + this.verticlesBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, this.verticlesBuffer); + } + VBO.prototype.SetupHeight = function (hight) { + this.hight = hight; + }; + VBO.prototype.SetupForDraw = function (vertexPositionAttr, textureCoordAttr, AtlasSize) { + this.gl.enableVertexAttribArray(vertexPositionAttr); + this.gl.vertexAttribPointer(vertexPositionAttr, 3, this.gl.FLOAT, false, 20, 0); + this.gl.enableVertexAttribArray(textureCoordAttr); + this.gl.vertexAttribPointer(textureCoordAttr, 2, this.gl.FLOAT, false, 20, 12); + this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array(15 * 10000), this.gl.STREAM_DRAW); + this.AtlasSize = AtlasSize; + }; + VBO.prototype.RenderAllSpr = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.sprVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.sprVerts.length / 5); + this.sprVerts = []; + }; + VBO.prototype.RenderAllTxt = function () { + this.gl.bufferSubData(this.gl.ARRAY_BUFFER, 0, new Float32Array(this.txtVerts)); + this.gl.drawArrays(this.gl.TRIANGLES, 0, this.txtVerts.length / 5); + this.txtVerts = []; + }; + VBO.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.sprVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.sprVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.sprVerts.push(this.hight); + //Tex + this.sprVerts.push(VBO.defaultVerts[i] * (AtlasWidth / this.AtlasSize) + (AtlasX / this.AtlasSize)); + this.sprVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / this.AtlasSize) + (AtlasY / this.AtlasSize)); + } + }; + VBO.prototype.DrawTxt = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + for (var i = 0; i < VBO.defaultVerts.length; i += 2) { + //Pos + this.txtVerts.push(VBO.defaultVerts[i] * ScreenWidth + ScreenX | 0); + this.txtVerts.push(VBO.defaultVerts[i + 1] * ScreenHeight + ScreenY | 0); + this.txtVerts.push(this.hight); + //Tex + this.txtVerts.push(VBO.defaultVerts[i] * (AtlasWidth / 1024) + (AtlasX / 1024)); + this.txtVerts.push(VBO.defaultVerts[i + 1] * (AtlasHeigh / 1024) + (AtlasY / 1024)); + } + }; + VBO.defaultVerts = [ + //Left + 0.0, 1.0, + 1.0, 0.0, + 0.0, 0.0, + //Right + 0.0, 1.0, + 1.0, 1.0, + 1.0, 0.0 // 2 + ]; + return VBO; + }()); + + var TextDrawer = /** @class */ (function () { + function TextDrawer(gl) { + this.TextureSize = { Width: 1024, Height: 1024 }; + this.txtsList = new Array(); + this.gl = gl; + this.canvas = document.createElement("canvas"); + this.canvas.width = 1024; + this.canvas.height = 1024; + this.canvas.style.backgroundColor = "black"; + this.ctx = this.canvas.getContext("2d"); + this.ctx.textBaseline = "top"; + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + TextDrawer.prototype.PrepareTxt = function (str, color, fontSize, outline) { + this.ctx.font = "bold " + fontSize + "px Tahoma"; + var currTxtWidth = this.ctx.measureText(str).width; + var currStartY = 0; + var highestPosYIndex = 0; + for (var i = 0; i < this.txtsList.length; i++) { + if (this.txtsList[i].Pos.y >= this.txtsList[highestPosYIndex].Pos.y) { + highestPosYIndex = i; + currStartY = this.txtsList[highestPosYIndex].Pos.y + this.txtsList[highestPosYIndex].Size.Height * 1.2; + } + } + var test = { + str: str, + Pos: { x: 0, y: currStartY }, + Size: { + Width: currTxtWidth + Math.sqrt(fontSize) * 1.7, + Height: fontSize + Math.sqrt(fontSize) * 2 + }, + Color: color, + OutLine: outline, + FontSize: fontSize + }; + this.txtsList.push(test); + this.BakeTexture(); + return test; + }; + TextDrawer.prototype.DisposeTxt = function (txtObj) { + var index = this.txtsList.indexOf(txtObj); + if (index > -1 && index) { + this.txtsList.splice(index, 1); + } + this.UpdatePositon(); + this.BakeTexture(); + }; + TextDrawer.prototype.UpdatePositon = function () { + this.txtsList.sort(function (a, b) { return a.Pos.y - b.Pos.y; }); + for (var i = 0; i < this.txtsList.length; i++) { + var newPosY = 0; + for (var j = 0; j < i; j++) { + newPosY += this.txtsList[j].Size.Height * 1.2; + } + this.txtsList[i].Pos.y = newPosY; + } + }; + TextDrawer.prototype.BakeTexture = function () { + this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height); + this.ctx.miterLimit = 1; + this.ctx.lineJoin = "round"; + for (var i = 0; i < this.txtsList.length; i++) { + this.ctx.fillStyle = this.txtsList[i].Color; + this.ctx.font = "bold " + this.txtsList[i].FontSize + "px Tahoma"; + if (this.txtsList[i].OutLine) { + this.ctx.lineWidth = Math.sqrt(this.txtsList[i].FontSize) * 1.5; + this.ctx.strokeStyle = "black"; + this.ctx.strokeText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.ctx.fillText(this.txtsList[i].str, 5, this.txtsList[i].Pos.y, 1024); + } + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texSubImage2D(this.gl.TEXTURE_2D, 0, 0, 0, this.gl.RGBA, this.gl.UNSIGNED_BYTE, this.canvas); + }; + return TextDrawer; + }()); + + var SpriteRenderer = /** @class */ (function () { + function SpriteRenderer(webglContext, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + this.gl = webglContext; + this.vbo = new VBO(this.gl); + this.Shader = new Shader(this.gl); + this.Text = new TextDrawer(this.gl); + this.Shader.UseProgram(); + this.CreateTexture(Image, Filtering); + this.vbo.SetupForDraw(this.Shader.VertexPosAttribute, this.Shader.TexCoordAttribute, Image.width); + this.gl.clearColor(0.0, 0.0, 0.0, 1.0); + this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA); + this.gl.enable(this.gl.BLEND); + this.SetHight(0.0); + this.gl.enable(this.gl.DEPTH_TEST); + this.gl.depthFunc(this.gl.LEQUAL); + } + SpriteRenderer.prototype.RenderAll = function () { + this.gl.clear(this.gl.COLOR_BUFFER_BIT); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.vbo.RenderAllSpr(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.Text.texture); + this.vbo.RenderAllTxt(); + }; + SpriteRenderer.prototype.UpdateViewPort = function (width, height) { + this.gl.viewport(0, 0, width, height); + var projmatrix = mat4.orthographic(-width / 2, width / 2, height / 2, -height / 2, 0.1, 2.0); + var cameramatrix = mat4.lookAt(new vec3([0.0, 0.0, 1.0]), new vec3([0.0, 0.0, 0.0]), new vec3([0.0, 1.0, 0.0])); + this.Shader.updateMatrix(projmatrix.multiply(cameramatrix)); + }; + SpriteRenderer.prototype.DrawSpr = function (AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight) { + this.vbo.DrawSpr(AtlasX, AtlasY, AtlasWidth, AtlasHeigh, ScreenX, ScreenY, ScreenWidth, ScreenHeight); + }; + SpriteRenderer.prototype.SetHight = function (hight) { + this.vbo.SetupHeight(hight); + }; + SpriteRenderer.prototype.PrepareTxt = function (str, color, fontSize, outLine) { + if (outLine === void 0) { outLine = false; } + return this.Text.PrepareTxt(str, color, fontSize, outLine); + }; + SpriteRenderer.prototype.DisposeTxt = function (txtObj) { + this.Text.DisposeTxt(txtObj); + }; + SpriteRenderer.prototype.DrawTxt = function (txtObj, PosX, PosY) { + this.vbo.DrawTxt(txtObj.Pos.x, txtObj.Pos.y, txtObj.Size.Width, txtObj.Size.Height, PosX, PosY, txtObj.Size.Width, txtObj.Size.Height); + }; + SpriteRenderer.prototype.UpdateCamera = function (x, y) { + this.Shader.UpdatePosition(x, y); + }; + SpriteRenderer.prototype.CreateTexture = function (image, filtering) { + this.texture = this.gl.createTexture(); + this.gl.bindTexture(this.gl.TEXTURE_2D, this.texture); + this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, image); + if (filtering == SpriteRenderer.TextureFilteringLinear) { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR); + } + else { + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.NEAREST); + this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.NEAREST); + } + }; + SpriteRenderer.fromCanvas = function (canvas, Image, Filtering) { + if (Filtering === void 0) { Filtering = SpriteRenderer.TextureFilteringLinear; } + try { + var ctx = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); + } + catch (e) { + console.log("Error with WebGL context initialization"); + return null; + } + var newRenderer = new SpriteRenderer(ctx, Image, Filtering); + newRenderer.UpdateViewPort(canvas.width, canvas.height); + return newRenderer; + }; + SpriteRenderer.TextureFilteringLinear = 0; + SpriteRenderer.TextureFilteringNearest = 1; + return SpriteRenderer; + }()); + + var SpriteGL = { Shader: Shader, SpriteRenderer: SpriteRenderer, TextDrawer: TextDrawer, VBO: VBO }; + + exports.Shader = Shader; + exports.SpriteGL = SpriteGL; + exports.SpriteRenderer = SpriteRenderer; + exports.TextDrawer = TextDrawer; + exports.VBO = VBO; + exports.default = SpriteGL; + + Object.defineProperty(exports, '__esModule', { value: true }); + +}))); diff --git a/dist/SpriteGL.min.js b/dist/SpriteGL.min.js new file mode 100644 index 0000000..68938f3 --- /dev/null +++ b/dist/SpriteGL.min.js @@ -0,0 +1,7 @@ +/*! + * SpriteGL v0.0.0 + * (c) 2015-present + * Released under the ISC License. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.spriteGl={})}(this,function(t){"use strict";var e=function(){function t(t){this.gl=null,this.gl=t,this.glProgram=this.MakeProgram(t),this.VertexPosAttribute=t.getAttribLocation(this.glProgram,"aVertexPosition"),this.TexCoordAttribute=t.getAttribLocation(this.glProgram,"aTexCoord"),this.TexSampleUniform=t.getUniformLocation(this.glProgram,"sampler2d"),this.MatUniform=t.getUniformLocation(this.glProgram,"uProjectionView"),this.CameraPosUniform=t.getUniformLocation(this.glProgram,"uCameraPos")}return t.prototype.UseProgram=function(){this.gl.useProgram(this.glProgram),this.gl.uniform1i(this.TexSampleUniform,0)},t.prototype.UpdatePosition=function(t,e){this.gl.uniform2f(this.CameraPosUniform,t,e)},t.prototype.MakeProgram=function(e){var s=this.CompileShader(e,t.defaultVertexShaderSrc,e.VERTEX_SHADER),i=this.CompileShader(e,t.defaultFragmentShaderSrc,e.FRAGMENT_SHADER),u=e.createProgram();return e.attachShader(u,s),e.attachShader(u,i),e.linkProgram(u),u},t.prototype.CompileShader=function(t,e,s){var i=t.createShader(s);return t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)||alert(t.getShaderInfoLog(i)),i},t.prototype.updateMatrix=function(t){this.gl.uniformMatrix4fv(this.MatUniform,!1,t.all())},t.defaultVertexShaderSrc="\n\t\tattribute vec3 aVertexPosition;\n\t\tattribute vec2 aTexCoord;\n\t\tuniform mat4 uProjectionView;\n\t\tuniform vec2 uCameraPos;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tvtexCoord = aTexCoord;\n\t\t\tgl_Position = vec4(aVertexPosition.x - uCameraPos.x, aVertexPosition.y - uCameraPos.y, aVertexPosition.z, 1.0) * uProjectionView;\n\t\t}\n\t",t.defaultFragmentShaderSrc="\n\t\tprecision mediump float;\n\t\tuniform sampler2D sampler2d;\n\t\tvarying vec2 vtexCoord;\n\t\tvoid main(void) {\n\t\t\tgl_FragColor = texture2D(sampler2d, vec2(vtexCoord.s,vtexCoord.t));\n\t\t\tif(gl_FragColor.a < 0.5) discard;\n\t\t}\n\t",t}(),s=function(){function t(t){this.values=new Float32Array(4),void 0!==t&&(this.xyzw=t)}return Object.defineProperty(t.prototype,"x",{get:function(){return this.values[0]},set:function(t){this.values[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.values[1]},set:function(t){this.values[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"z",{get:function(){return this.values[2]},set:function(t){this.values[2]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"w",{get:function(){return this.values[3]},set:function(t){this.values[3]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xy",{get:function(){return[this.values[0],this.values[1]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xyz",{get:function(){return[this.values[0],this.values[1],this.values[2]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xyzw",{get:function(){return[this.values[0],this.values[1],this.values[2],this.values[3]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2],this.values[3]=t[3]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"r",{get:function(){return this.values[0]},set:function(t){this.values[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"g",{get:function(){return this.values[1]},set:function(t){this.values[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"b",{get:function(){return this.values[2]},set:function(t){this.values[2]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"a",{get:function(){return this.values[3]},set:function(t){this.values[3]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rg",{get:function(){return[this.values[0],this.values[1]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rgb",{get:function(){return[this.values[0],this.values[1],this.values[2]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rgba",{get:function(){return[this.values[0],this.values[1],this.values[2],this.values[3]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2],this.values[3]=t[3]},enumerable:!0,configurable:!0}),t.prototype.at=function(t){return this.values[t]},t.prototype.reset=function(){this.x=0,this.y=0,this.z=0,this.w=0},t.prototype.copy=function(e){return e||(e=new t),e.x=this.x,e.y=this.y,e.z=this.z,e.w=this.w,e},t.prototype.negate=function(t){return t||(t=this),t.x=-this.x,t.y=-this.y,t.z=-this.z,t.w=-this.w,t},t.prototype.equals=function(t,e){return void 0===e&&(e=1e-5),!(Math.abs(this.x-t.x)>e)&&(!(Math.abs(this.y-t.y)>e)&&(!(Math.abs(this.z-t.z)>e)&&!(Math.abs(this.w-t.w)>e)))},t.prototype.length=function(){return Math.sqrt(this.squaredLength())},t.prototype.squaredLength=function(){var t=this.x,e=this.y,s=this.z,i=this.w;return t*t+e*e+s*s+i*i},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},t.prototype.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},t.prototype.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},t.prototype.divide=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},t.prototype.scale=function(t,e){return e||(e=this),e.x*=t,e.y*=t,e.z*=t,e.w*=t,e},t.prototype.normalize=function(t){t||(t=this);var e=this.length();return 1===e?this:0===e?(t.x*=0,t.y*=0,t.z*=0,t.w*=0,t):(e=1/e,t.x*=e,t.y*=e,t.z*=e,t.w*=e,t)},t.prototype.multiplyMat4=function(t,e){return e||(e=this),t.multiplyVec4(this,e)},t.mix=function(e,s,i,u){return u||(u=new t),u.x=e.x+i*(s.x-e.x),u.y=e.y+i*(s.y-e.y),u.z=e.z+i*(s.z-e.z),u.w=e.w+i*(s.w-e.w),u},t.sum=function(e,s,i){return i||(i=new t),i.x=e.x+s.x,i.y=e.y+s.y,i.z=e.z+s.z,i.w=e.w+s.w,i},t.difference=function(e,s,i){return i||(i=new t),i.x=e.x-s.x,i.y=e.y-s.y,i.z=e.z-s.z,i.w=e.w-s.w,i},t.product=function(e,s,i){return i||(i=new t),i.x=e.x*s.x,i.y=e.y*s.y,i.z=e.z*s.z,i.w=e.w*s.w,i},t.quotient=function(e,s,i){return i||(i=new t),i.x=e.x/s.x,i.y=e.y/s.y,i.z=e.z/s.z,i.w=e.w/s.w,i},t.zero=new t([0,0,0,1]),t.one=new t([1,1,1,1]),t}(),i=function(){function t(t){this.values=new Float32Array(16),void 0!==t&&this.init(t)}return t.prototype.at=function(t){return this.values[t]},t.prototype.init=function(t){for(var e=0;e<16;e++)this.values[e]=t[e];return this},t.prototype.reset=function(){for(var t=0;t<16;t++)this.values[t]=0},t.prototype.copy=function(e){e||(e=new t);for(var s=0;s<16;s++)e.values[s]=this.values[s];return e},t.prototype.all=function(){for(var t=[],e=0;e<16;e++)t[e]=this.values[e];return t},t.prototype.row=function(t){return[this.values[4*t+0],this.values[4*t+1],this.values[4*t+2],this.values[4*t+3]]},t.prototype.col=function(t){return[this.values[t],this.values[t+4],this.values[t+8],this.values[t+12]]},t.prototype.equals=function(t,e){void 0===e&&(e=1e-5);for(var s=0;s<16;s++)if(Math.abs(this.values[s]-t.at(s))>e)return!1;return!0},t.prototype.determinant=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[3],u=this.values[4],r=this.values[5],a=this.values[6],h=this.values[7],n=this.values[8],o=this.values[9],l=this.values[10],v=this.values[11],y=this.values[12],p=this.values[13],c=this.values[14],f=this.values[15];return(t*r-e*u)*(l*f-v*c)-(t*a-s*u)*(o*f-v*p)+(t*h-i*u)*(o*c-l*p)+(e*a-s*r)*(n*f-v*y)-(e*h-i*r)*(n*c-l*y)+(s*h-i*a)*(n*p-o*y)},t.prototype.setIdentity=function(){return this.values[0]=1,this.values[1]=0,this.values[2]=0,this.values[3]=0,this.values[4]=0,this.values[5]=1,this.values[6]=0,this.values[7]=0,this.values[8]=0,this.values[9]=0,this.values[10]=1,this.values[11]=0,this.values[12]=0,this.values[13]=0,this.values[14]=0,this.values[15]=1,this},t.prototype.transpose=function(){var t=this.values[1],e=this.values[2],s=this.values[3],i=this.values[6],u=this.values[7],r=this.values[11];return this.values[1]=this.values[4],this.values[2]=this.values[8],this.values[3]=this.values[12],this.values[4]=t,this.values[6]=this.values[9],this.values[7]=this.values[13],this.values[8]=e,this.values[9]=i,this.values[11]=this.values[14],this.values[12]=s,this.values[13]=u,this.values[14]=r,this},t.prototype.inverse=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[3],u=this.values[4],r=this.values[5],a=this.values[6],h=this.values[7],n=this.values[8],o=this.values[9],l=this.values[10],v=this.values[11],y=this.values[12],p=this.values[13],c=this.values[14],f=this.values[15],x=t*r-e*u,g=t*a-s*u,d=t*h-i*u,w=e*a-s*r,z=e*h-i*r,b=s*h-i*a,m=n*p-o*y,T=n*c-l*y,P=n*f-v*y,M=o*c-l*p,E=o*f-v*p,S=l*f-v*c,A=x*S-g*E+d*M+w*P-z*T+b*m;return A?(A=1/A,this.values[0]=(r*S-a*E+h*M)*A,this.values[1]=(-e*S+s*E-i*M)*A,this.values[2]=(p*b-c*z+f*w)*A,this.values[3]=(-o*b+l*z-v*w)*A,this.values[4]=(-u*S+a*P-h*T)*A,this.values[5]=(t*S-s*P+i*T)*A,this.values[6]=(-y*b+c*d-f*g)*A,this.values[7]=(n*b-l*d+v*g)*A,this.values[8]=(u*E-r*P+h*m)*A,this.values[9]=(-t*E+e*P-i*m)*A,this.values[10]=(y*z-p*d+f*x)*A,this.values[11]=(-n*z+o*d-v*x)*A,this.values[12]=(-u*M+r*T-a*m)*A,this.values[13]=(t*M-e*T+s*m)*A,this.values[14]=(-y*w+p*g-c*x)*A,this.values[15]=(n*w-o*g+l*x)*A,this):null},t.prototype.multiply=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3],r=this.values[4],a=this.values[5],h=this.values[6],n=this.values[7],o=this.values[8],l=this.values[9],v=this.values[10],y=this.values[11],p=this.values[12],c=this.values[13],f=this.values[14],x=this.values[15],g=t.at(0),d=t.at(1),w=t.at(2),z=t.at(3);return this.values[0]=g*e+d*r+w*o+z*p,this.values[1]=g*s+d*a+w*l+z*c,this.values[2]=g*i+d*h+w*v+z*f,this.values[3]=g*u+d*n+w*y+z*x,g=t.at(4),d=t.at(5),w=t.at(6),z=t.at(7),this.values[4]=g*e+d*r+w*o+z*p,this.values[5]=g*s+d*a+w*l+z*c,this.values[6]=g*i+d*h+w*v+z*f,this.values[7]=g*u+d*n+w*y+z*x,g=t.at(8),d=t.at(9),w=t.at(10),z=t.at(11),this.values[8]=g*e+d*r+w*o+z*p,this.values[9]=g*s+d*a+w*l+z*c,this.values[10]=g*i+d*h+w*v+z*f,this.values[11]=g*u+d*n+w*y+z*x,g=t.at(12),d=t.at(13),w=t.at(14),z=t.at(15),this.values[12]=g*e+d*r+w*o+z*p,this.values[13]=g*s+d*a+w*l+z*c,this.values[14]=g*i+d*h+w*v+z*f,this.values[15]=g*u+d*n+w*y+z*x,this},t.prototype.multiplyVec3=function(t){var e=t.x,s=t.y,i=t.z;return new a([this.values[0]*e+this.values[4]*s+this.values[8]*i+this.values[12],this.values[1]*e+this.values[5]*s+this.values[9]*i+this.values[13],this.values[2]*e+this.values[6]*s+this.values[10]*i+this.values[14]])},t.prototype.multiplyVec4=function(t,e){e||(e=new s);var i=t.x,u=t.y,r=t.z,a=t.w;return e.x=this.values[0]*i+this.values[4]*u+this.values[8]*r+this.values[12]*a,e.y=this.values[1]*i+this.values[5]*u+this.values[9]*r+this.values[13]*a,e.z=this.values[2]*i+this.values[6]*u+this.values[10]*r+this.values[14]*a,e.w=this.values[3]*i+this.values[7]*u+this.values[11]*r+this.values[15]*a,e},t.prototype.toMat3=function(){return new u([this.values[0],this.values[1],this.values[2],this.values[4],this.values[5],this.values[6],this.values[8],this.values[9],this.values[10]])},t.prototype.toInverseMat3=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[4],r=this.values[5],a=this.values[6],h=this.values[8],n=this.values[9],o=this.values[10],l=o*r-a*n,v=-o*i+a*h,y=n*i-r*h,p=t*l+e*v+s*y;return p?new u([l*(p=1/p),(-o*e+s*n)*p,(a*e-s*r)*p,v*p,(o*t-s*h)*p,(-a*t+s*i)*p,y*p,(-n*t+e*h)*p,(r*t-e*i)*p]):null},t.prototype.translate=function(t){var e=t.x,s=t.y,i=t.z;return this.values[12]+=this.values[0]*e+this.values[4]*s+this.values[8]*i,this.values[13]+=this.values[1]*e+this.values[5]*s+this.values[9]*i,this.values[14]+=this.values[2]*e+this.values[6]*s+this.values[10]*i,this.values[15]+=this.values[3]*e+this.values[7]*s+this.values[11]*i,this},t.prototype.scale=function(t){var e=t.x,s=t.y,i=t.z;return this.values[0]*=e,this.values[1]*=e,this.values[2]*=e,this.values[3]*=e,this.values[4]*=s,this.values[5]*=s,this.values[6]*=s,this.values[7]*=s,this.values[8]*=i,this.values[9]*=i,this.values[10]*=i,this.values[11]*=i,this},t.prototype.rotate=function(t,e){var s=e.x,i=e.y,u=e.z,r=Math.sqrt(s*s+i*i+u*u);if(!r)return null;1!==r&&(s*=r=1/r,i*=r,u*=r);var a=Math.sin(t),h=Math.cos(t),n=1-h,o=this.values[0],l=this.values[1],v=this.values[2],y=this.values[3],p=this.values[4],c=this.values[5],f=this.values[6],x=this.values[7],g=this.values[8],d=this.values[9],w=this.values[10],z=this.values[11],b=s*s*n+h,m=i*s*n+u*a,T=u*s*n-i*a,P=s*i*n-u*a,M=i*i*n+h,E=u*i*n+s*a,S=s*u*n+i*a,A=i*u*n-s*a,R=u*u*n+h;return this.values[0]=o*b+p*m+g*T,this.values[1]=l*b+c*m+d*T,this.values[2]=v*b+f*m+w*T,this.values[3]=y*b+x*m+z*T,this.values[4]=o*P+p*M+g*E,this.values[5]=l*P+c*M+d*E,this.values[6]=v*P+f*M+w*E,this.values[7]=y*P+x*M+z*E,this.values[8]=o*S+p*A+g*R,this.values[9]=l*S+c*A+d*R,this.values[10]=v*S+f*A+w*R,this.values[11]=y*S+x*A+z*R,this},t.frustum=function(e,s,i,u,r,a){var h=s-e,n=u-i,o=a-r;return new t([2*r/h,0,0,0,0,2*r/n,0,0,(s+e)/h,(u+i)/n,-(a+r)/o,-1,0,0,-a*r*2/o,0])},t.perspective=function(e,s,i,u){var r=i*Math.tan(e*Math.PI/360),a=r*s;return t.frustum(-a,a,-r,r,i,u)},t.orthographic=function(e,s,i,u,r,a){var h=s-e,n=u-i,o=a-r;return new t([2/h,0,0,0,0,2/n,0,0,0,0,-2/o,0,-(e+s)/h,-(u+i)/n,-(a+r)/o,1])},t.lookAt=function(e,s,i){if(void 0===i&&(i=a.up),e.equals(s))return this.identity;var u=a.difference(e,s).normalize(),r=a.cross(i,u).normalize(),h=a.cross(u,r).normalize();return new t([r.x,h.x,u.x,0,r.y,h.y,u.y,0,r.z,h.z,u.z,0,-a.dot(r,e),-a.dot(h,e),-a.dot(u,e),1])},t.product=function(e,s,i){var u=e.at(0),r=e.at(1),a=e.at(2),h=e.at(3),n=e.at(4),o=e.at(5),l=e.at(6),v=e.at(7),y=e.at(8),p=e.at(9),c=e.at(10),f=e.at(11),x=e.at(12),g=e.at(13),d=e.at(14),w=e.at(15),z=s.at(0),b=s.at(1),m=s.at(2),T=s.at(3),P=s.at(4),M=s.at(5),E=s.at(6),S=s.at(7),A=s.at(8),R=s.at(9),L=s.at(10),V=s.at(11),U=s.at(12),_=s.at(13),D=s.at(14),F=s.at(15);return i?(i.init([z*u+b*n+m*y+T*x,z*r+b*o+m*p+T*g,z*a+b*l+m*c+T*d,z*h+b*v+m*f+T*w,P*u+M*n+E*y+S*x,P*r+M*o+E*p+S*g,P*a+M*l+E*c+S*d,P*h+M*v+E*f+S*w,A*u+R*n+L*y+V*x,A*r+R*o+L*p+V*g,A*a+R*l+L*c+V*d,A*h+R*v+L*f+V*w,U*u+_*n+D*y+F*x,U*r+_*o+D*p+F*g,U*a+_*l+D*c+F*d,U*h+_*v+D*f+F*w]),i):new t([z*u+b*n+m*y+T*x,z*r+b*o+m*p+T*g,z*a+b*l+m*c+T*d,z*h+b*v+m*f+T*w,P*u+M*n+E*y+S*x,P*r+M*o+E*p+S*g,P*a+M*l+E*c+S*d,P*h+M*v+E*f+S*w,A*u+R*n+L*y+V*x,A*r+R*o+L*p+V*g,A*a+R*l+L*c+V*d,A*h+R*v+L*f+V*w,U*u+_*n+D*y+F*x,U*r+_*o+D*p+F*g,U*a+_*l+D*c+F*d,U*h+_*v+D*f+F*w])},t.identity=(new t).setIdentity(),t}(),u=function(){function t(t){this.values=new Float32Array(9),void 0!==t&&this.init(t)}return t.prototype.at=function(t){return this.values[t]},t.prototype.init=function(t){for(var e=0;e<9;e++)this.values[e]=t[e];return this},t.prototype.reset=function(){for(var t=0;t<9;t++)this.values[t]=0},t.prototype.copy=function(e){e||(e=new t);for(var s=0;s<9;s++)e.values[s]=this.values[s];return e},t.prototype.all=function(){for(var t=[],e=0;e<9;e++)t[e]=this.values[e];return t},t.prototype.row=function(t){return[this.values[3*t+0],this.values[3*t+1],this.values[3*t+2]]},t.prototype.col=function(t){return[this.values[t],this.values[t+3],this.values[t+6]]},t.prototype.equals=function(t,e){void 0===e&&(e=1e-5);for(var s=0;s<9;s++)if(Math.abs(this.values[s]-t.at(s))>e)return!1;return!0},t.prototype.determinant=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[3],u=this.values[4],r=this.values[5],a=this.values[6],h=this.values[7],n=this.values[8];return t*(n*u-r*h)+e*(-n*i+r*a)+s*(h*i-u*a)},t.prototype.setIdentity=function(){return this.values[0]=1,this.values[1]=0,this.values[2]=0,this.values[3]=0,this.values[4]=1,this.values[5]=0,this.values[6]=0,this.values[7]=0,this.values[8]=1,this},t.prototype.transpose=function(){var t=this.values[1],e=this.values[2],s=this.values[5];return this.values[1]=this.values[3],this.values[2]=this.values[6],this.values[3]=t,this.values[5]=this.values[7],this.values[6]=e,this.values[7]=s,this},t.prototype.inverse=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[3],u=this.values[4],r=this.values[5],a=this.values[6],h=this.values[7],n=this.values[8],o=n*u-r*h,l=-n*i+r*a,v=h*i-u*a,y=t*o+e*l+s*v;return y?(y=1/y,this.values[0]=o*y,this.values[1]=(-n*e+s*h)*y,this.values[2]=(r*e-s*u)*y,this.values[3]=l*y,this.values[4]=(n*t-s*a)*y,this.values[5]=(-r*t+s*i)*y,this.values[6]=v*y,this.values[7]=(-h*t+e*a)*y,this.values[8]=(u*t-e*i)*y,this):null},t.prototype.multiply=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3],r=this.values[4],a=this.values[5],h=this.values[6],n=this.values[7],o=this.values[8],l=t.at(0),v=t.at(1),y=t.at(2),p=t.at(3),c=t.at(4),f=t.at(5),x=t.at(6),g=t.at(7),d=t.at(8);return this.values[0]=l*e+v*u+y*h,this.values[1]=l*s+v*r+y*n,this.values[2]=l*i+v*a+y*o,this.values[3]=p*e+c*u+f*h,this.values[4]=p*s+c*r+f*n,this.values[5]=p*i+c*a+f*o,this.values[6]=x*e+g*u+d*h,this.values[7]=x*s+g*r+d*n,this.values[8]=x*i+g*a+d*o,this},t.prototype.multiplyVec2=function(t,e){var s=t.x,i=t.y;return e?(e.xy=[s*this.values[0]+i*this.values[3]+this.values[6],s*this.values[1]+i*this.values[4]+this.values[7]],e):new h([s*this.values[0]+i*this.values[3]+this.values[6],s*this.values[1]+i*this.values[4]+this.values[7]])},t.prototype.multiplyVec3=function(t,e){var s=t.x,i=t.y,u=t.z;return e?(e.xyz=[s*this.values[0]+i*this.values[3]+u*this.values[6],s*this.values[1]+i*this.values[4]+u*this.values[7],s*this.values[2]+i*this.values[5]+u*this.values[8]],e):new a([s*this.values[0]+i*this.values[3]+u*this.values[6],s*this.values[1]+i*this.values[4]+u*this.values[7],s*this.values[2]+i*this.values[5]+u*this.values[8]])},t.prototype.toMat4=function(t){return t?(t.init([this.values[0],this.values[1],this.values[2],0,this.values[3],this.values[4],this.values[5],0,this.values[6],this.values[7],this.values[8],0,0,0,0,1]),t):new i([this.values[0],this.values[1],this.values[2],0,this.values[3],this.values[4],this.values[5],0,this.values[6],this.values[7],this.values[8],0,0,0,0,1])},t.prototype.toQuat=function(){var t=this.values[0],e=this.values[1],s=this.values[2],i=this.values[3],u=this.values[4],a=this.values[5],h=this.values[6],n=this.values[7],o=this.values[8],l=t-u-o,v=u-t-o,y=o-t-u,p=0,c=t+u+o;l>c&&(c=l,p=1),v>c&&(c=v,p=2),y>c&&(c=y,p=3);var f=.5*Math.sqrt(c+1),x=.25/f,g=new r;switch(p){case 0:g.w=f,g.x=(a-n)*x,g.y=(h-s)*x,g.z=(e-i)*x;break;case 1:g.w=(a-n)*x,g.x=f,g.y=(e+i)*x,g.z=(h+s)*x;break;case 2:g.w=(h-s)*x,g.x=(e+i)*x,g.y=f,g.z=(a+n)*x;break;case 3:g.w=(e-i)*x,g.x=(h+s)*x,g.y=(a+n)*x,g.z=f}return g},t.prototype.rotate=function(t,e){var s=e.x,i=e.y,u=e.z,r=Math.sqrt(s*s+i*i+u*u);if(!r)return null;1!==r&&(s*=r=1/r,i*=r,u*=r);var a=Math.sin(t),h=Math.cos(t),n=1-h,o=this.values[0],l=this.values[1],v=this.values[2],y=this.values[4],p=this.values[5],c=this.values[6],f=this.values[8],x=this.values[9],g=this.values[10],d=s*s*n+h,w=i*s*n+u*a,z=u*s*n-i*a,b=s*i*n-u*a,m=i*i*n+h,T=u*i*n+s*a,P=s*u*n+i*a,M=i*u*n-s*a,E=u*u*n+h;return this.values[0]=o*d+y*w+f*z,this.values[1]=l*d+p*w+x*z,this.values[2]=v*d+c*w+g*z,this.values[3]=o*b+y*m+f*T,this.values[4]=l*b+p*m+x*T,this.values[5]=v*b+c*m+g*T,this.values[6]=o*P+y*M+f*E,this.values[7]=l*P+p*M+x*E,this.values[8]=v*P+c*M+g*E,this},t.product=function(e,s,i){var u=e.at(0),r=e.at(1),a=e.at(2),h=e.at(3),n=e.at(4),o=e.at(5),l=e.at(6),v=e.at(7),y=e.at(8),p=s.at(0),c=s.at(1),f=s.at(2),x=s.at(3),g=s.at(4),d=s.at(5),w=s.at(6),z=s.at(7),b=s.at(8);return i?(i.init([p*u+c*h+f*l,p*r+c*n+f*v,p*a+c*o+f*y,x*u+g*h+d*l,x*r+g*n+d*v,x*a+g*o+d*y,w*u+z*h+b*l,w*r+z*n+b*v,w*a+z*o+b*y]),i):new t([p*u+c*h+f*l,p*r+c*n+f*v,p*a+c*o+f*y,x*u+g*h+d*l,x*r+g*n+d*v,x*a+g*o+d*y,w*u+z*h+b*l,w*r+z*n+b*v,w*a+z*o+b*y])},t.identity=(new t).setIdentity(),t}(),r=function(){function t(t){this.values=new Float32Array(4),void 0!==t&&(this.xyzw=t)}return Object.defineProperty(t.prototype,"x",{get:function(){return this.values[0]},set:function(t){this.values[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.values[1]},set:function(t){this.values[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"z",{get:function(){return this.values[2]},set:function(t){this.values[2]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"w",{get:function(){return this.values[3]},set:function(t){this.values[3]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xy",{get:function(){return[this.values[0],this.values[1]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xyz",{get:function(){return[this.values[0],this.values[1],this.values[2]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xyzw",{get:function(){return[this.values[0],this.values[1],this.values[2],this.values[3]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2],this.values[3]=t[3]},enumerable:!0,configurable:!0}),t.prototype.at=function(t){return this.values[t]},t.prototype.reset=function(){for(var t=0;t<4;t++)this.values[t]=0},t.prototype.copy=function(e){e||(e=new t);for(var s=0;s<4;s++)e.values[s]=this.values[s];return e},t.prototype.roll=function(){var t=this.x,e=this.y,s=this.z,i=this.w;return Math.atan2(2*(t*e+i*s),i*i+t*t-e*e-s*s)},t.prototype.pitch=function(){var t=this.x,e=this.y,s=this.z,i=this.w;return Math.atan2(2*(e*s+i*t),i*i-t*t-e*e+s*s)},t.prototype.yaw=function(){return Math.asin(2*(this.x*this.z-this.w*this.y))},t.prototype.equals=function(t,e){void 0===e&&(e=1e-5);for(var s=0;s<4;s++)if(Math.abs(this.values[s]-t.at(s))>e)return!1;return!0},t.prototype.setIdentity=function(){return this.x=0,this.y=0,this.z=0,this.w=1,this},t.prototype.calculateW=function(){var t=this.x,e=this.y,s=this.z;return this.w=-Math.sqrt(Math.abs(1-t*t-e*e-s*s)),this},t.prototype.inverse=function(){var e=t.dot(this,this);if(!e)return this.xyzw=[0,0,0,0],this;var s=e?1/e:0;return this.x*=-s,this.y*=-s,this.z*=-s,this.w*=s,this},t.prototype.conjugate=function(){return this.values[0]*=-1,this.values[1]*=-1,this.values[2]*=-1,this},t.prototype.length=function(){var t=this.x,e=this.y,s=this.z,i=this.w;return Math.sqrt(t*t+e*e+s*s+i*i)},t.prototype.normalize=function(t){t||(t=this);var e=this.x,s=this.y,i=this.z,u=this.w,r=Math.sqrt(e*e+s*s+i*i+u*u);return r?(r=1/r,t.x=e*r,t.y=s*r,t.z=i*r,t.w=u*r,t):(t.x=0,t.y=0,t.z=0,t.w=0,t)},t.prototype.add=function(t){for(var e=0;e<4;e++)this.values[e]+=t.at(e);return this},t.prototype.multiply=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3],r=t.x,a=t.y,h=t.z,n=t.w;return this.x=e*n+u*r+s*h-i*a,this.y=s*n+u*a+i*r-e*h,this.z=i*n+u*h+e*a-s*r,this.w=u*n-e*r-s*a-i*h,this},t.prototype.multiplyVec3=function(t,e){e||(e=new a);var s=t.x,i=t.y,u=t.z,r=this.x,h=this.y,n=this.z,o=this.w,l=o*s+h*u-n*i,v=o*i+n*s-r*u,y=o*u+r*i-h*s,p=-r*s-h*i-n*u;return e.x=l*o+p*-r+v*-n-y*-h,e.y=v*o+p*-h+y*-r-l*-n,e.z=y*o+p*-n+l*-h-v*-r,e},t.prototype.toMat3=function(t){t||(t=new u);var e=this.x,s=this.y,i=this.z,r=this.w,a=e+e,h=s+s,n=i+i,o=e*a,l=e*h,v=e*n,y=s*h,p=s*n,c=i*n,f=r*a,x=r*h,g=r*n;return t.init([1-(y+c),l+g,v-x,l-g,1-(o+c),p+f,v+x,p-f,1-(o+y)]),t},t.prototype.toMat4=function(t){t||(t=new i);var e=this.x,s=this.y,u=this.z,r=this.w,a=e+e,h=s+s,n=u+u,o=e*a,l=e*h,v=e*n,y=s*h,p=s*n,c=u*n,f=r*a,x=r*h,g=r*n;return t.init([1-(y+c),l+g,v-x,0,l-g,1-(o+c),p+f,0,v+x,p-f,1-(o+y),0,0,0,0,1]),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},t.sum=function(e,s,i){return i||(i=new t),i.x=e.x+s.x,i.y=e.y+s.y,i.z=e.z+s.z,i.w=e.w+s.w,i},t.product=function(e,s,i){i||(i=new t);var u=e.x,r=e.y,a=e.z,h=e.w,n=s.x,o=s.y,l=s.z,v=s.w;return i.x=u*v+h*n+r*l-a*o,i.y=r*v+h*o+a*n-u*l,i.z=a*v+h*l+u*o-r*n,i.w=h*v-u*n-r*o-a*l,i},t.cross=function(e,s,i){i||(i=new t);var u=e.x,r=e.y,a=e.z,h=e.w,n=s.x,o=s.y,l=s.z,v=s.w;return i.x=h*l+a*v+u*o-r*n,i.y=h*v-u*n-r*o-a*l,i.z=h*n+u*v+r*l-a*o,i.w=h*o+r*v+a*n-u*l,i},t.shortMix=function(e,s,i,u){if(u||(u=new t),i<=0)return u.xyzw=e.xyzw,u;if(i>=1)return u.xyzw=s.xyzw,u;var r,a,h=t.dot(e,s),n=s.copy();if(h<0&&(n.inverse(),h=-h),h>.9999)r=1-i,a=0+i;else{var o=Math.sqrt(1-h*h),l=Math.atan2(o,h),v=1/o;r=Math.sin((1-i)*l)*v,a=Math.sin((0+i)*l)*v}return u.x=r*e.x+a*n.x,u.y=r*e.y+a*n.y,u.z=r*e.z+a*n.z,u.w=r*e.w+a*n.w,u},t.mix=function(e,s,i,u){u||(u=new t);var r=e.x*s.x+e.y*s.y+e.z*s.z+e.w*s.w;if(Math.abs(r)>=1)return u.xyzw=e.xyzw,u;var a=Math.acos(r),h=Math.sqrt(1-r*r);if(Math.abs(h)<.001)return u.x=.5*e.x+.5*s.x,u.y=.5*e.y+.5*s.y,u.z=.5*e.z+.5*s.z,u.w=.5*e.w+.5*s.w,u;var n=Math.sin((1-i)*a)/h,o=Math.sin(i*a)/h;return u.x=e.x*n+s.x*o,u.y=e.y*n+s.y*o,u.z=e.z*n+s.z*o,u.w=e.w*n+s.w*o,u},t.fromAxisAngle=function(e,s,i){i||(i=new t),s*=.5;var u=Math.sin(s);return i.x=e.x*u,i.y=e.y*u,i.z=e.z*u,i.w=Math.cos(s),i},t.identity=(new t).setIdentity(),t}(),a=function(){function t(t){this.values=new Float32Array(3),void 0!==t&&(this.xyz=t)}return Object.defineProperty(t.prototype,"x",{get:function(){return this.values[0]},set:function(t){this.values[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.values[1]},set:function(t){this.values[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"z",{get:function(){return this.values[2]},set:function(t){this.values[2]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xy",{get:function(){return[this.values[0],this.values[1]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xyz",{get:function(){return[this.values[0],this.values[1],this.values[2]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1],this.values[2]=t[2]},enumerable:!0,configurable:!0}),t.prototype.at=function(t){return this.values[t]},t.prototype.reset=function(){this.x=0,this.y=0,this.z=0},t.prototype.copy=function(e){return e||(e=new t),e.x=this.x,e.y=this.y,e.z=this.z,e},t.prototype.negate=function(t){return t||(t=this),t.x=-this.x,t.y=-this.y,t.z=-this.z,t},t.prototype.equals=function(t,e){return void 0===e&&(e=1e-5),!(Math.abs(this.x-t.x)>e)&&(!(Math.abs(this.y-t.y)>e)&&!(Math.abs(this.z-t.z)>e))},t.prototype.length=function(){return Math.sqrt(this.squaredLength())},t.prototype.squaredLength=function(){var t=this.x,e=this.y,s=this.z;return t*t+e*e+s*s},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},t.prototype.multiply=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},t.prototype.divide=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},t.prototype.scale=function(t,e){return e||(e=this),e.x*=t,e.y*=t,e.z*=t,e},t.prototype.normalize=function(t){t||(t=this);var e=this.length();return 1===e?this:0===e?(t.x=0,t.y=0,t.z=0,t):(e=1/e,t.x*=e,t.y*=e,t.z*=e,t)},t.prototype.multiplyByMat3=function(t,e){return e||(e=this),t.multiplyVec3(this,e)},t.prototype.multiplyByQuat=function(t,e){return e||(e=this),t.multiplyVec3(this,e)},t.prototype.toQuat=function(e){e||(e=new r);var s=new t,i=new t;return s.x=Math.cos(.5*this.x),i.x=Math.sin(.5*this.x),s.y=Math.cos(.5*this.y),i.y=Math.sin(.5*this.y),s.z=Math.cos(.5*this.z),i.z=Math.sin(.5*this.z),e.x=i.x*s.y*s.z-s.x*i.y*i.z,e.y=s.x*i.y*s.z+i.x*s.y*i.z,e.z=s.x*s.y*i.z-i.x*i.y*s.z,e.w=s.x*s.y*s.z+i.x*i.y*i.z,e},t.cross=function(e,s,i){i||(i=new t);var u=e.x,r=e.y,a=e.z,h=s.x,n=s.y,o=s.z;return i.x=r*o-a*n,i.y=a*h-u*o,i.z=u*n-r*h,i},t.dot=function(t,e){var s=t.x,i=t.y,u=t.z;return s*e.x+i*e.y+u*e.z},t.distance=function(t,e){e.x,t.x,e.y,t.y,e.z,t.z;return Math.sqrt(this.squaredDistance(t,e))},t.squaredDistance=function(t,e){var s=e.x-t.x,i=e.y-t.y,u=e.z-t.z;return s*s+i*i+u*u},t.direction=function(e,s,i){i||(i=new t);var u=e.x-s.x,r=e.y-s.y,a=e.z-s.z,h=Math.sqrt(u*u+r*r+a*a);return 0===h?(i.x=0,i.y=0,i.z=0,i):(h=1/h,i.x=u*h,i.y=r*h,i.z=a*h,i)},t.mix=function(e,s,i,u){return u||(u=new t),u.x=e.x+i*(s.x-e.x),u.y=e.y+i*(s.y-e.y),u.z=e.z+i*(s.z-e.z),u},t.sum=function(e,s,i){return i||(i=new t),i.x=e.x+s.x,i.y=e.y+s.y,i.z=e.z+s.z,i},t.difference=function(e,s,i){return i||(i=new t),i.x=e.x-s.x,i.y=e.y-s.y,i.z=e.z-s.z,i},t.product=function(e,s,i){return i||(i=new t),i.x=e.x*s.x,i.y=e.y*s.y,i.z=e.z*s.z,i},t.quotient=function(e,s,i){return i||(i=new t),i.x=e.x/s.x,i.y=e.y/s.y,i.z=e.z/s.z,i},t.zero=new t([0,0,0]),t.one=new t([1,1,1]),t.up=new t([0,1,0]),t.right=new t([1,0,0]),t.forward=new t([0,0,1]),t}(),h=function(){function t(t){this.values=new Float32Array(2),void 0!==t&&(this.xy=t)}return Object.defineProperty(t.prototype,"x",{get:function(){return this.values[0]},set:function(t){this.values[0]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.values[1]},set:function(t){this.values[1]=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"xy",{get:function(){return[this.values[0],this.values[1]]},set:function(t){this.values[0]=t[0],this.values[1]=t[1]},enumerable:!0,configurable:!0}),t.prototype.at=function(t){return this.values[t]},t.prototype.reset=function(){this.x=0,this.y=0},t.prototype.copy=function(e){return e||(e=new t),e.x=this.x,e.y=this.y,e},t.prototype.negate=function(t){return t||(t=this),t.x=-this.x,t.y=-this.y,t},t.prototype.equals=function(t,e){return void 0===e&&(e=1e-5),!(Math.abs(this.x-t.x)>e)&&!(Math.abs(this.y-t.y)>e)},t.prototype.length=function(){return Math.sqrt(this.squaredLength())},t.prototype.squaredLength=function(){var t=this.x,e=this.y;return t*t+e*e},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.multiply=function(t){return this.x*=t.x,this.y*=t.y,this},t.prototype.divide=function(t){return this.x/=t.x,this.y/=t.y,this},t.prototype.scale=function(t,e){return e||(e=this),e.x*=t,e.y*=t,e},t.prototype.normalize=function(t){t||(t=this);var e=this.length();return 1===e?this:0===e?(t.x=0,t.y=0,t):(e=1/e,t.x*=e,t.y*=e,t)},t.prototype.multiplyMat2=function(t,e){return e||(e=this),t.multiplyVec2(this,e)},t.prototype.multiplyMat3=function(t,e){return e||(e=this),t.multiplyVec2(this,e)},t.cross=function(t,e,s){s||(s=new a);var i=t.x,u=t.y,r=e.x,h=i*e.y-u*r;return s.x=0,s.y=0,s.z=h,s},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.distance=function(t,e){return Math.sqrt(this.squaredDistance(t,e))},t.squaredDistance=function(t,e){var s=e.x-t.x,i=e.y-t.y;return s*s+i*i},t.direction=function(e,s,i){i||(i=new t);var u=e.x-s.x,r=e.y-s.y,a=Math.sqrt(u*u+r*r);return 0===a?(i.x=0,i.y=0,i):(a=1/a,i.x=u*a,i.y=r*a,i)},t.mix=function(e,s,i,u){u||(u=new t);var r=e.x,a=e.y,h=s.x,n=s.y;return u.x=r+i*(h-r),u.y=a+i*(n-a),u},t.sum=function(e,s,i){return i||(i=new t),i.x=e.x+s.x,i.y=e.y+s.y,i},t.difference=function(e,s,i){return i||(i=new t),i.x=e.x-s.x,i.y=e.y-s.y,i},t.product=function(e,s,i){return i||(i=new t),i.x=e.x*s.x,i.y=e.y*s.y,i},t.quotient=function(e,s,i){return i||(i=new t),i.x=e.x/s.x,i.y=e.y/s.y,i},t.zero=new t([0,0]),t.one=new t([1,1]),t}(),n=(function(){function t(t){this.values=new Float32Array(4),void 0!==t&&this.init(t)}t.prototype.at=function(t){return this.values[t]},t.prototype.init=function(t){for(var e=0;e<4;e++)this.values[e]=t[e];return this},t.prototype.reset=function(){for(var t=0;t<4;t++)this.values[t]=0},t.prototype.copy=function(e){e||(e=new t);for(var s=0;s<4;s++)e.values[s]=this.values[s];return e},t.prototype.all=function(){for(var t=[],e=0;e<4;e++)t[e]=this.values[e];return t},t.prototype.row=function(t){return[this.values[2*t+0],this.values[2*t+1]]},t.prototype.col=function(t){return[this.values[t],this.values[t+2]]},t.prototype.equals=function(t,e){void 0===e&&(e=1e-5);for(var s=0;s<4;s++)if(Math.abs(this.values[s]-t.at(s))>e)return!1;return!0},t.prototype.determinant=function(){return this.values[0]*this.values[3]-this.values[2]*this.values[1]},t.prototype.setIdentity=function(){return this.values[0]=1,this.values[1]=0,this.values[2]=0,this.values[3]=1,this},t.prototype.transpose=function(){var t=this.values[1];return this.values[1]=this.values[2],this.values[2]=t,this},t.prototype.inverse=function(){var t=this.determinant();if(!t)return null;t=1/t;var e=this.values[0];return this.values[0]=t*this.values[3],this.values[1]=t*-this.values[1],this.values[2]=t*-this.values[2],this.values[3]=t*e,this},t.prototype.multiply=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3];return this.values[0]=e*t.at(0)+s*t.at(2),this.values[1]=e*t.at(1)+s*t.at(3),this.values[2]=i*t.at(0)+u*t.at(2),this.values[3]=i*t.at(1)+u*t.at(3),this},t.prototype.rotate=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3],r=Math.sin(t),a=Math.cos(t);return this.values[0]=e*a+s*r,this.values[1]=e*-r+s*a,this.values[2]=i*a+u*r,this.values[3]=i*-r+u*a,this},t.prototype.multiplyVec2=function(t,e){var s=t.x,i=t.y;return e?(e.xy=[s*this.values[0]+i*this.values[1],s*this.values[2]+i*this.values[3]],e):new h([s*this.values[0]+i*this.values[1],s*this.values[2]+i*this.values[3]])},t.prototype.scale=function(t){var e=this.values[0],s=this.values[1],i=this.values[2],u=this.values[3],r=t.x,a=t.y;return this.values[0]=e*r,this.values[1]=s*a,this.values[2]=i*r,this.values[3]=u*a,this},t.product=function(e,s,i){var u=e.at(0),r=e.at(1),a=e.at(2),h=e.at(3);return i?(i.init([u*s.at(0)+r*s.at(2),u*s.at(1)+r*s.at(3),a*s.at(0)+h*s.at(2),a*s.at(1)+h*s.at(3)]),i):new t([u*s.at(0)+r*s.at(2),u*s.at(1)+r*s.at(3),a*s.at(0)+h*s.at(2),a*s.at(1)+h*s.at(3)])},t.identity=(new t).setIdentity()}(),function(){function t(t){this.sprVerts=[],this.txtVerts=[],this.AtlasSize=1,this.gl=null,this.gl=t,this.verticlesBuffer=t.createBuffer(),t.bindBuffer(t.ARRAY_BUFFER,this.verticlesBuffer)}return t.prototype.SetupHeight=function(t){this.hight=t},t.prototype.SetupForDraw=function(t,e,s){this.gl.enableVertexAttribArray(t),this.gl.vertexAttribPointer(t,3,this.gl.FLOAT,!1,20,0),this.gl.enableVertexAttribArray(e),this.gl.vertexAttribPointer(e,2,this.gl.FLOAT,!1,20,12),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(15e4),this.gl.STREAM_DRAW),this.AtlasSize=s},t.prototype.RenderAllSpr=function(){this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,new Float32Array(this.sprVerts)),this.gl.drawArrays(this.gl.TRIANGLES,0,this.sprVerts.length/5),this.sprVerts=[]},t.prototype.RenderAllTxt=function(){this.gl.bufferSubData(this.gl.ARRAY_BUFFER,0,new Float32Array(this.txtVerts)),this.gl.drawArrays(this.gl.TRIANGLES,0,this.txtVerts.length/5),this.txtVerts=[]},t.prototype.DrawSpr=function(e,s,i,u,r,a,h,n){for(var o=0;o=this.txtsList[a].Pos.y&&(a=h,r=this.txtsList[a].Pos.y+1.2*this.txtsList[a].Size.Height);var n={str:t,Pos:{x:0,y:r},Size:{Width:u+1.7*Math.sqrt(s),Height:s+2*Math.sqrt(s)},Color:e,OutLine:i,FontSize:s};return this.txtsList.push(n),this.BakeTexture(),n},t.prototype.DisposeTxt=function(t){var e=this.txtsList.indexOf(t);e>-1&&e&&this.txtsList.splice(e,1),this.UpdatePositon(),this.BakeTexture()},t.prototype.UpdatePositon=function(){this.txtsList.sort(function(t,e){return t.Pos.y-e.Pos.y});for(var t=0;t threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.y - vector.y) > threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.z - vector.z) > threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.w - vector.w) > threshold) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n vec4.prototype.length = function () {\r\n return Math.sqrt(this.squaredLength());\r\n };\r\n vec4.prototype.squaredLength = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n return (x * x + y * y + z * z + w * w);\r\n };\r\n vec4.prototype.add = function (vector) {\r\n this.x += vector.x;\r\n this.y += vector.y;\r\n this.z += vector.z;\r\n this.w += vector.w;\r\n return this;\r\n };\r\n vec4.prototype.subtract = function (vector) {\r\n this.x -= vector.x;\r\n this.y -= vector.y;\r\n this.z -= vector.z;\r\n this.w -= vector.w;\r\n return this;\r\n };\r\n vec4.prototype.multiply = function (vector) {\r\n this.x *= vector.x;\r\n this.y *= vector.y;\r\n this.z *= vector.z;\r\n this.w *= vector.w;\r\n return this;\r\n };\r\n vec4.prototype.divide = function (vector) {\r\n this.x /= vector.x;\r\n this.y /= vector.y;\r\n this.z /= vector.z;\r\n this.w /= vector.w;\r\n return this;\r\n };\r\n vec4.prototype.scale = function (value, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n dest.x *= value;\r\n dest.y *= value;\r\n dest.z *= value;\r\n dest.w *= value;\r\n return dest;\r\n };\r\n vec4.prototype.normalize = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n var length = this.length();\r\n if (length === 1) {\r\n return this;\r\n }\r\n if (length === 0) {\r\n dest.x *= 0;\r\n dest.y *= 0;\r\n dest.z *= 0;\r\n dest.w *= 0;\r\n return dest;\r\n }\r\n length = 1.0 / length;\r\n dest.x *= length;\r\n dest.y *= length;\r\n dest.z *= length;\r\n dest.w *= length;\r\n return dest;\r\n };\r\n vec4.prototype.multiplyMat4 = function (matrix, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n return matrix.multiplyVec4(this, dest);\r\n };\r\n vec4.mix = function (vector, vector2, time, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n dest.x = vector.x + time * (vector2.x - vector.x);\r\n dest.y = vector.y + time * (vector2.y - vector.y);\r\n dest.z = vector.z + time * (vector2.z - vector.z);\r\n dest.w = vector.w + time * (vector2.w - vector.w);\r\n return dest;\r\n };\r\n vec4.sum = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n dest.x = vector.x + vector2.x;\r\n dest.y = vector.y + vector2.y;\r\n dest.z = vector.z + vector2.z;\r\n dest.w = vector.w + vector2.w;\r\n return dest;\r\n };\r\n vec4.difference = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n dest.x = vector.x - vector2.x;\r\n dest.y = vector.y - vector2.y;\r\n dest.z = vector.z - vector2.z;\r\n dest.w = vector.w - vector2.w;\r\n return dest;\r\n };\r\n vec4.product = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n dest.x = vector.x * vector2.x;\r\n dest.y = vector.y * vector2.y;\r\n dest.z = vector.z * vector2.z;\r\n dest.w = vector.w * vector2.w;\r\n return dest;\r\n };\r\n vec4.quotient = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n dest.x = vector.x / vector2.x;\r\n dest.y = vector.y / vector2.y;\r\n dest.z = vector.z / vector2.z;\r\n dest.w = vector.w / vector2.w;\r\n return dest;\r\n };\r\n vec4.zero = new vec4([0, 0, 0, 1]);\r\n vec4.one = new vec4([1, 1, 1, 1]);\r\n return vec4;\r\n}());\n\nvar mat4 = /** @class */ (function () {\r\n function mat4(values) {\r\n this.values = new Float32Array(16);\r\n if (values !== undefined) {\r\n this.init(values);\r\n }\r\n }\r\n mat4.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n mat4.prototype.init = function (values) {\r\n for (var i = 0; i < 16; i++) {\r\n this.values[i] = values[i];\r\n }\r\n return this;\r\n };\r\n mat4.prototype.reset = function () {\r\n for (var i = 0; i < 16; i++) {\r\n this.values[i] = 0;\r\n }\r\n };\r\n mat4.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new mat4();\r\n }\r\n for (var i = 0; i < 16; i++) {\r\n dest.values[i] = this.values[i];\r\n }\r\n return dest;\r\n };\r\n mat4.prototype.all = function () {\r\n var data = [];\r\n for (var i = 0; i < 16; i++) {\r\n data[i] = this.values[i];\r\n }\r\n return data;\r\n };\r\n mat4.prototype.row = function (index) {\r\n return [\r\n this.values[index * 4 + 0],\r\n this.values[index * 4 + 1],\r\n this.values[index * 4 + 2],\r\n this.values[index * 4 + 3],\r\n ];\r\n };\r\n mat4.prototype.col = function (index) {\r\n return [\r\n this.values[index],\r\n this.values[index + 4],\r\n this.values[index + 8],\r\n this.values[index + 12],\r\n ];\r\n };\r\n mat4.prototype.equals = function (matrix, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n for (var i = 0; i < 16; i++) {\r\n if (Math.abs(this.values[i] - matrix.at(i)) > threshold) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n mat4.prototype.determinant = function () {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a03 = this.values[3];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a13 = this.values[7];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var a23 = this.values[11];\r\n var a30 = this.values[12];\r\n var a31 = this.values[13];\r\n var a32 = this.values[14];\r\n var a33 = this.values[15];\r\n var det00 = a00 * a11 - a01 * a10;\r\n var det01 = a00 * a12 - a02 * a10;\r\n var det02 = a00 * a13 - a03 * a10;\r\n var det03 = a01 * a12 - a02 * a11;\r\n var det04 = a01 * a13 - a03 * a11;\r\n var det05 = a02 * a13 - a03 * a12;\r\n var det06 = a20 * a31 - a21 * a30;\r\n var det07 = a20 * a32 - a22 * a30;\r\n var det08 = a20 * a33 - a23 * a30;\r\n var det09 = a21 * a32 - a22 * a31;\r\n var det10 = a21 * a33 - a23 * a31;\r\n var det11 = a22 * a33 - a23 * a32;\r\n return (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06);\r\n };\r\n mat4.prototype.setIdentity = function () {\r\n this.values[0] = 1;\r\n this.values[1] = 0;\r\n this.values[2] = 0;\r\n this.values[3] = 0;\r\n this.values[4] = 0;\r\n this.values[5] = 1;\r\n this.values[6] = 0;\r\n this.values[7] = 0;\r\n this.values[8] = 0;\r\n this.values[9] = 0;\r\n this.values[10] = 1;\r\n this.values[11] = 0;\r\n this.values[12] = 0;\r\n this.values[13] = 0;\r\n this.values[14] = 0;\r\n this.values[15] = 1;\r\n return this;\r\n };\r\n mat4.prototype.transpose = function () {\r\n var temp01 = this.values[1];\r\n var temp02 = this.values[2];\r\n var temp03 = this.values[3];\r\n var temp12 = this.values[6];\r\n var temp13 = this.values[7];\r\n var temp23 = this.values[11];\r\n this.values[1] = this.values[4];\r\n this.values[2] = this.values[8];\r\n this.values[3] = this.values[12];\r\n this.values[4] = temp01;\r\n this.values[6] = this.values[9];\r\n this.values[7] = this.values[13];\r\n this.values[8] = temp02;\r\n this.values[9] = temp12;\r\n this.values[11] = this.values[14];\r\n this.values[12] = temp03;\r\n this.values[13] = temp13;\r\n this.values[14] = temp23;\r\n return this;\r\n };\r\n mat4.prototype.inverse = function () {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a03 = this.values[3];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a13 = this.values[7];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var a23 = this.values[11];\r\n var a30 = this.values[12];\r\n var a31 = this.values[13];\r\n var a32 = this.values[14];\r\n var a33 = this.values[15];\r\n var det00 = a00 * a11 - a01 * a10;\r\n var det01 = a00 * a12 - a02 * a10;\r\n var det02 = a00 * a13 - a03 * a10;\r\n var det03 = a01 * a12 - a02 * a11;\r\n var det04 = a01 * a13 - a03 * a11;\r\n var det05 = a02 * a13 - a03 * a12;\r\n var det06 = a20 * a31 - a21 * a30;\r\n var det07 = a20 * a32 - a22 * a30;\r\n var det08 = a20 * a33 - a23 * a30;\r\n var det09 = a21 * a32 - a22 * a31;\r\n var det10 = a21 * a33 - a23 * a31;\r\n var det11 = a22 * a33 - a23 * a32;\r\n var det = (det00 * det11 - det01 * det10 + det02 * det09 + det03 * det08 - det04 * det07 + det05 * det06);\r\n if (!det) {\r\n return null;\r\n }\r\n det = 1.0 / det;\r\n this.values[0] = (a11 * det11 - a12 * det10 + a13 * det09) * det;\r\n this.values[1] = (-a01 * det11 + a02 * det10 - a03 * det09) * det;\r\n this.values[2] = (a31 * det05 - a32 * det04 + a33 * det03) * det;\r\n this.values[3] = (-a21 * det05 + a22 * det04 - a23 * det03) * det;\r\n this.values[4] = (-a10 * det11 + a12 * det08 - a13 * det07) * det;\r\n this.values[5] = (a00 * det11 - a02 * det08 + a03 * det07) * det;\r\n this.values[6] = (-a30 * det05 + a32 * det02 - a33 * det01) * det;\r\n this.values[7] = (a20 * det05 - a22 * det02 + a23 * det01) * det;\r\n this.values[8] = (a10 * det10 - a11 * det08 + a13 * det06) * det;\r\n this.values[9] = (-a00 * det10 + a01 * det08 - a03 * det06) * det;\r\n this.values[10] = (a30 * det04 - a31 * det02 + a33 * det00) * det;\r\n this.values[11] = (-a20 * det04 + a21 * det02 - a23 * det00) * det;\r\n this.values[12] = (-a10 * det09 + a11 * det07 - a12 * det06) * det;\r\n this.values[13] = (a00 * det09 - a01 * det07 + a02 * det06) * det;\r\n this.values[14] = (-a30 * det03 + a31 * det01 - a32 * det00) * det;\r\n this.values[15] = (a20 * det03 - a21 * det01 + a22 * det00) * det;\r\n return this;\r\n };\r\n mat4.prototype.multiply = function (matrix) {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a03 = this.values[3];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a13 = this.values[7];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var a23 = this.values[11];\r\n var a30 = this.values[12];\r\n var a31 = this.values[13];\r\n var a32 = this.values[14];\r\n var a33 = this.values[15];\r\n var b0 = matrix.at(0);\r\n var b1 = matrix.at(1);\r\n var b2 = matrix.at(2);\r\n var b3 = matrix.at(3);\r\n this.values[0] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\r\n this.values[1] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\r\n this.values[2] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\r\n this.values[3] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\r\n b0 = matrix.at(4);\r\n b1 = matrix.at(5);\r\n b2 = matrix.at(6);\r\n b3 = matrix.at(7);\r\n this.values[4] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\r\n this.values[5] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\r\n this.values[6] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\r\n this.values[7] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\r\n b0 = matrix.at(8);\r\n b1 = matrix.at(9);\r\n b2 = matrix.at(10);\r\n b3 = matrix.at(11);\r\n this.values[8] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\r\n this.values[9] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\r\n this.values[10] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\r\n this.values[11] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\r\n b0 = matrix.at(12);\r\n b1 = matrix.at(13);\r\n b2 = matrix.at(14);\r\n b3 = matrix.at(15);\r\n this.values[12] = b0 * a00 + b1 * a10 + b2 * a20 + b3 * a30;\r\n this.values[13] = b0 * a01 + b1 * a11 + b2 * a21 + b3 * a31;\r\n this.values[14] = b0 * a02 + b1 * a12 + b2 * a22 + b3 * a32;\r\n this.values[15] = b0 * a03 + b1 * a13 + b2 * a23 + b3 * a33;\r\n return this;\r\n };\r\n mat4.prototype.multiplyVec3 = function (vector) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n return new vec3([\r\n this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12],\r\n this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13],\r\n this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14],\r\n ]);\r\n };\r\n mat4.prototype.multiplyVec4 = function (vector, dest) {\r\n if (!dest) {\r\n dest = new vec4();\r\n }\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n var w = vector.w;\r\n dest.x = this.values[0] * x + this.values[4] * y + this.values[8] * z + this.values[12] * w;\r\n dest.y = this.values[1] * x + this.values[5] * y + this.values[9] * z + this.values[13] * w;\r\n dest.z = this.values[2] * x + this.values[6] * y + this.values[10] * z + this.values[14] * w;\r\n dest.w = this.values[3] * x + this.values[7] * y + this.values[11] * z + this.values[15] * w;\r\n return dest;\r\n };\r\n mat4.prototype.toMat3 = function () {\r\n return new mat3([\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n this.values[4],\r\n this.values[5],\r\n this.values[6],\r\n this.values[8],\r\n this.values[9],\r\n this.values[10],\r\n ]);\r\n };\r\n mat4.prototype.toInverseMat3 = function () {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var det01 = a22 * a11 - a12 * a21;\r\n var det11 = -a22 * a10 + a12 * a20;\r\n var det21 = a21 * a10 - a11 * a20;\r\n var det = a00 * det01 + a01 * det11 + a02 * det21;\r\n if (!det) {\r\n return null;\r\n }\r\n det = 1.0 / det;\r\n return new mat3([\r\n det01 * det,\r\n (-a22 * a01 + a02 * a21) * det,\r\n (a12 * a01 - a02 * a11) * det,\r\n det11 * det,\r\n (a22 * a00 - a02 * a20) * det,\r\n (-a12 * a00 + a02 * a10) * det,\r\n det21 * det,\r\n (-a21 * a00 + a01 * a20) * det,\r\n (a11 * a00 - a01 * a10) * det,\r\n ]);\r\n };\r\n mat4.prototype.translate = function (vector) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n this.values[12] += this.values[0] * x + this.values[4] * y + this.values[8] * z;\r\n this.values[13] += this.values[1] * x + this.values[5] * y + this.values[9] * z;\r\n this.values[14] += this.values[2] * x + this.values[6] * y + this.values[10] * z;\r\n this.values[15] += this.values[3] * x + this.values[7] * y + this.values[11] * z;\r\n return this;\r\n };\r\n mat4.prototype.scale = function (vector) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n this.values[0] *= x;\r\n this.values[1] *= x;\r\n this.values[2] *= x;\r\n this.values[3] *= x;\r\n this.values[4] *= y;\r\n this.values[5] *= y;\r\n this.values[6] *= y;\r\n this.values[7] *= y;\r\n this.values[8] *= z;\r\n this.values[9] *= z;\r\n this.values[10] *= z;\r\n this.values[11] *= z;\r\n return this;\r\n };\r\n mat4.prototype.rotate = function (angle, axis) {\r\n var x = axis.x;\r\n var y = axis.y;\r\n var z = axis.z;\r\n var length = Math.sqrt(x * x + y * y + z * z);\r\n if (!length) {\r\n return null;\r\n }\r\n if (length !== 1) {\r\n length = 1 / length;\r\n x *= length;\r\n y *= length;\r\n z *= length;\r\n }\r\n var s = Math.sin(angle);\r\n var c = Math.cos(angle);\r\n var t = 1.0 - c;\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a03 = this.values[3];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a13 = this.values[7];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var a23 = this.values[11];\r\n var b00 = x * x * t + c;\r\n var b01 = y * x * t + z * s;\r\n var b02 = z * x * t - y * s;\r\n var b10 = x * y * t - z * s;\r\n var b11 = y * y * t + c;\r\n var b12 = z * y * t + x * s;\r\n var b20 = x * z * t + y * s;\r\n var b21 = y * z * t - x * s;\r\n var b22 = z * z * t + c;\r\n this.values[0] = a00 * b00 + a10 * b01 + a20 * b02;\r\n this.values[1] = a01 * b00 + a11 * b01 + a21 * b02;\r\n this.values[2] = a02 * b00 + a12 * b01 + a22 * b02;\r\n this.values[3] = a03 * b00 + a13 * b01 + a23 * b02;\r\n this.values[4] = a00 * b10 + a10 * b11 + a20 * b12;\r\n this.values[5] = a01 * b10 + a11 * b11 + a21 * b12;\r\n this.values[6] = a02 * b10 + a12 * b11 + a22 * b12;\r\n this.values[7] = a03 * b10 + a13 * b11 + a23 * b12;\r\n this.values[8] = a00 * b20 + a10 * b21 + a20 * b22;\r\n this.values[9] = a01 * b20 + a11 * b21 + a21 * b22;\r\n this.values[10] = a02 * b20 + a12 * b21 + a22 * b22;\r\n this.values[11] = a03 * b20 + a13 * b21 + a23 * b22;\r\n return this;\r\n };\r\n mat4.frustum = function (left, right, bottom, top, near, far) {\r\n var rl = (right - left);\r\n var tb = (top - bottom);\r\n var fn = (far - near);\r\n return new mat4([\r\n (near * 2) / rl,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n (near * 2) / tb,\r\n 0,\r\n 0,\r\n (right + left) / rl,\r\n (top + bottom) / tb,\r\n -(far + near) / fn,\r\n -1,\r\n 0,\r\n 0,\r\n -(far * near * 2) / fn,\r\n 0,\r\n ]);\r\n };\r\n mat4.perspective = function (fov, aspect, near, far) {\r\n var top = near * Math.tan(fov * Math.PI / 360.0);\r\n var right = top * aspect;\r\n return mat4.frustum(-right, right, -top, top, near, far);\r\n };\r\n mat4.orthographic = function (left, right, bottom, top, near, far) {\r\n var rl = (right - left);\r\n var tb = (top - bottom);\r\n var fn = (far - near);\r\n return new mat4([\r\n 2 / rl,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 2 / tb,\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n -2 / fn,\r\n 0,\r\n -(left + right) / rl,\r\n -(top + bottom) / tb,\r\n -(far + near) / fn,\r\n 1,\r\n ]);\r\n };\r\n mat4.lookAt = function (position, target, up) {\r\n if (up === void 0) { up = vec3.up; }\r\n if (position.equals(target)) {\r\n return this.identity;\r\n }\r\n var z = vec3.difference(position, target).normalize();\r\n var x = vec3.cross(up, z).normalize();\r\n var y = vec3.cross(z, x).normalize();\r\n return new mat4([\r\n x.x,\r\n y.x,\r\n z.x,\r\n 0,\r\n x.y,\r\n y.y,\r\n z.y,\r\n 0,\r\n x.z,\r\n y.z,\r\n z.z,\r\n 0,\r\n -vec3.dot(x, position),\r\n -vec3.dot(y, position),\r\n -vec3.dot(z, position),\r\n 1,\r\n ]);\r\n };\r\n mat4.product = function (m1, m2, result) {\r\n var a00 = m1.at(0);\r\n var a01 = m1.at(1);\r\n var a02 = m1.at(2);\r\n var a03 = m1.at(3);\r\n var a10 = m1.at(4);\r\n var a11 = m1.at(5);\r\n var a12 = m1.at(6);\r\n var a13 = m1.at(7);\r\n var a20 = m1.at(8);\r\n var a21 = m1.at(9);\r\n var a22 = m1.at(10);\r\n var a23 = m1.at(11);\r\n var a30 = m1.at(12);\r\n var a31 = m1.at(13);\r\n var a32 = m1.at(14);\r\n var a33 = m1.at(15);\r\n var b00 = m2.at(0);\r\n var b01 = m2.at(1);\r\n var b02 = m2.at(2);\r\n var b03 = m2.at(3);\r\n var b10 = m2.at(4);\r\n var b11 = m2.at(5);\r\n var b12 = m2.at(6);\r\n var b13 = m2.at(7);\r\n var b20 = m2.at(8);\r\n var b21 = m2.at(9);\r\n var b22 = m2.at(10);\r\n var b23 = m2.at(11);\r\n var b30 = m2.at(12);\r\n var b31 = m2.at(13);\r\n var b32 = m2.at(14);\r\n var b33 = m2.at(15);\r\n if (result) {\r\n result.init([\r\n b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30,\r\n b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31,\r\n b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32,\r\n b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33,\r\n b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30,\r\n b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31,\r\n b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32,\r\n b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33,\r\n b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30,\r\n b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31,\r\n b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32,\r\n b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33,\r\n b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30,\r\n b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31,\r\n b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32,\r\n b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33,\r\n ]);\r\n return result;\r\n }\r\n else {\r\n return new mat4([\r\n b00 * a00 + b01 * a10 + b02 * a20 + b03 * a30,\r\n b00 * a01 + b01 * a11 + b02 * a21 + b03 * a31,\r\n b00 * a02 + b01 * a12 + b02 * a22 + b03 * a32,\r\n b00 * a03 + b01 * a13 + b02 * a23 + b03 * a33,\r\n b10 * a00 + b11 * a10 + b12 * a20 + b13 * a30,\r\n b10 * a01 + b11 * a11 + b12 * a21 + b13 * a31,\r\n b10 * a02 + b11 * a12 + b12 * a22 + b13 * a32,\r\n b10 * a03 + b11 * a13 + b12 * a23 + b13 * a33,\r\n b20 * a00 + b21 * a10 + b22 * a20 + b23 * a30,\r\n b20 * a01 + b21 * a11 + b22 * a21 + b23 * a31,\r\n b20 * a02 + b21 * a12 + b22 * a22 + b23 * a32,\r\n b20 * a03 + b21 * a13 + b22 * a23 + b23 * a33,\r\n b30 * a00 + b31 * a10 + b32 * a20 + b33 * a30,\r\n b30 * a01 + b31 * a11 + b32 * a21 + b33 * a31,\r\n b30 * a02 + b31 * a12 + b32 * a22 + b33 * a32,\r\n b30 * a03 + b31 * a13 + b32 * a23 + b33 * a33,\r\n ]);\r\n }\r\n };\r\n mat4.identity = new mat4().setIdentity();\r\n return mat4;\r\n}());\n\nvar mat3 = /** @class */ (function () {\r\n function mat3(values) {\r\n this.values = new Float32Array(9);\r\n if (values !== undefined) {\r\n this.init(values);\r\n }\r\n }\r\n mat3.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n mat3.prototype.init = function (values) {\r\n for (var i = 0; i < 9; i++) {\r\n this.values[i] = values[i];\r\n }\r\n return this;\r\n };\r\n mat3.prototype.reset = function () {\r\n for (var i = 0; i < 9; i++) {\r\n this.values[i] = 0;\r\n }\r\n };\r\n mat3.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new mat3();\r\n }\r\n for (var i = 0; i < 9; i++) {\r\n dest.values[i] = this.values[i];\r\n }\r\n return dest;\r\n };\r\n mat3.prototype.all = function () {\r\n var data = [];\r\n for (var i = 0; i < 9; i++) {\r\n data[i] = this.values[i];\r\n }\r\n return data;\r\n };\r\n mat3.prototype.row = function (index) {\r\n return [\r\n this.values[index * 3 + 0],\r\n this.values[index * 3 + 1],\r\n this.values[index * 3 + 2],\r\n ];\r\n };\r\n mat3.prototype.col = function (index) {\r\n return [\r\n this.values[index],\r\n this.values[index + 3],\r\n this.values[index + 6],\r\n ];\r\n };\r\n mat3.prototype.equals = function (matrix, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n for (var i = 0; i < 9; i++) {\r\n if (Math.abs(this.values[i] - matrix.at(i)) > threshold) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n mat3.prototype.determinant = function () {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a10 = this.values[3];\r\n var a11 = this.values[4];\r\n var a12 = this.values[5];\r\n var a20 = this.values[6];\r\n var a21 = this.values[7];\r\n var a22 = this.values[8];\r\n var det01 = a22 * a11 - a12 * a21;\r\n var det11 = -a22 * a10 + a12 * a20;\r\n var det21 = a21 * a10 - a11 * a20;\r\n return a00 * det01 + a01 * det11 + a02 * det21;\r\n };\r\n mat3.prototype.setIdentity = function () {\r\n this.values[0] = 1;\r\n this.values[1] = 0;\r\n this.values[2] = 0;\r\n this.values[3] = 0;\r\n this.values[4] = 1;\r\n this.values[5] = 0;\r\n this.values[6] = 0;\r\n this.values[7] = 0;\r\n this.values[8] = 1;\r\n return this;\r\n };\r\n mat3.prototype.transpose = function () {\r\n var temp01 = this.values[1];\r\n var temp02 = this.values[2];\r\n var temp12 = this.values[5];\r\n this.values[1] = this.values[3];\r\n this.values[2] = this.values[6];\r\n this.values[3] = temp01;\r\n this.values[5] = this.values[7];\r\n this.values[6] = temp02;\r\n this.values[7] = temp12;\r\n return this;\r\n };\r\n mat3.prototype.inverse = function () {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a10 = this.values[3];\r\n var a11 = this.values[4];\r\n var a12 = this.values[5];\r\n var a20 = this.values[6];\r\n var a21 = this.values[7];\r\n var a22 = this.values[8];\r\n var det01 = a22 * a11 - a12 * a21;\r\n var det11 = -a22 * a10 + a12 * a20;\r\n var det21 = a21 * a10 - a11 * a20;\r\n var det = a00 * det01 + a01 * det11 + a02 * det21;\r\n if (!det) {\r\n return null;\r\n }\r\n det = 1.0 / det;\r\n this.values[0] = det01 * det;\r\n this.values[1] = (-a22 * a01 + a02 * a21) * det;\r\n this.values[2] = (a12 * a01 - a02 * a11) * det;\r\n this.values[3] = det11 * det;\r\n this.values[4] = (a22 * a00 - a02 * a20) * det;\r\n this.values[5] = (-a12 * a00 + a02 * a10) * det;\r\n this.values[6] = det21 * det;\r\n this.values[7] = (-a21 * a00 + a01 * a20) * det;\r\n this.values[8] = (a11 * a00 - a01 * a10) * det;\r\n return this;\r\n };\r\n mat3.prototype.multiply = function (matrix) {\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a10 = this.values[3];\r\n var a11 = this.values[4];\r\n var a12 = this.values[5];\r\n var a20 = this.values[6];\r\n var a21 = this.values[7];\r\n var a22 = this.values[8];\r\n var b00 = matrix.at(0);\r\n var b01 = matrix.at(1);\r\n var b02 = matrix.at(2);\r\n var b10 = matrix.at(3);\r\n var b11 = matrix.at(4);\r\n var b12 = matrix.at(5);\r\n var b20 = matrix.at(6);\r\n var b21 = matrix.at(7);\r\n var b22 = matrix.at(8);\r\n this.values[0] = b00 * a00 + b01 * a10 + b02 * a20;\r\n this.values[1] = b00 * a01 + b01 * a11 + b02 * a21;\r\n this.values[2] = b00 * a02 + b01 * a12 + b02 * a22;\r\n this.values[3] = b10 * a00 + b11 * a10 + b12 * a20;\r\n this.values[4] = b10 * a01 + b11 * a11 + b12 * a21;\r\n this.values[5] = b10 * a02 + b11 * a12 + b12 * a22;\r\n this.values[6] = b20 * a00 + b21 * a10 + b22 * a20;\r\n this.values[7] = b20 * a01 + b21 * a11 + b22 * a21;\r\n this.values[8] = b20 * a02 + b21 * a12 + b22 * a22;\r\n return this;\r\n };\r\n mat3.prototype.multiplyVec2 = function (vector, result) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n if (result) {\r\n result.xy = [\r\n x * this.values[0] + y * this.values[3] + this.values[6],\r\n x * this.values[1] + y * this.values[4] + this.values[7],\r\n ];\r\n return result;\r\n }\r\n else {\r\n return new vec2([\r\n x * this.values[0] + y * this.values[3] + this.values[6],\r\n x * this.values[1] + y * this.values[4] + this.values[7],\r\n ]);\r\n }\r\n };\r\n mat3.prototype.multiplyVec3 = function (vector, result) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n if (result) {\r\n result.xyz = [\r\n x * this.values[0] + y * this.values[3] + z * this.values[6],\r\n x * this.values[1] + y * this.values[4] + z * this.values[7],\r\n x * this.values[2] + y * this.values[5] + z * this.values[8],\r\n ];\r\n return result;\r\n }\r\n else {\r\n return new vec3([\r\n x * this.values[0] + y * this.values[3] + z * this.values[6],\r\n x * this.values[1] + y * this.values[4] + z * this.values[7],\r\n x * this.values[2] + y * this.values[5] + z * this.values[8],\r\n ]);\r\n }\r\n };\r\n mat3.prototype.toMat4 = function (result) {\r\n if (result) {\r\n result.init([\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n 0,\r\n this.values[3],\r\n this.values[4],\r\n this.values[5],\r\n 0,\r\n this.values[6],\r\n this.values[7],\r\n this.values[8],\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n ]);\r\n return result;\r\n }\r\n else {\r\n return new mat4([\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n 0,\r\n this.values[3],\r\n this.values[4],\r\n this.values[5],\r\n 0,\r\n this.values[6],\r\n this.values[7],\r\n this.values[8],\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n ]);\r\n }\r\n };\r\n mat3.prototype.toQuat = function () {\r\n var m00 = this.values[0];\r\n var m01 = this.values[1];\r\n var m02 = this.values[2];\r\n var m10 = this.values[3];\r\n var m11 = this.values[4];\r\n var m12 = this.values[5];\r\n var m20 = this.values[6];\r\n var m21 = this.values[7];\r\n var m22 = this.values[8];\r\n var fourXSquaredMinus1 = m00 - m11 - m22;\r\n var fourYSquaredMinus1 = m11 - m00 - m22;\r\n var fourZSquaredMinus1 = m22 - m00 - m11;\r\n var fourWSquaredMinus1 = m00 + m11 + m22;\r\n var biggestIndex = 0;\r\n var fourBiggestSquaredMinus1 = fourWSquaredMinus1;\r\n if (fourXSquaredMinus1 > fourBiggestSquaredMinus1) {\r\n fourBiggestSquaredMinus1 = fourXSquaredMinus1;\r\n biggestIndex = 1;\r\n }\r\n if (fourYSquaredMinus1 > fourBiggestSquaredMinus1) {\r\n fourBiggestSquaredMinus1 = fourYSquaredMinus1;\r\n biggestIndex = 2;\r\n }\r\n if (fourZSquaredMinus1 > fourBiggestSquaredMinus1) {\r\n fourBiggestSquaredMinus1 = fourZSquaredMinus1;\r\n biggestIndex = 3;\r\n }\r\n var biggestVal = Math.sqrt(fourBiggestSquaredMinus1 + 1) * 0.5;\r\n var mult = 0.25 / biggestVal;\r\n var result = new quat();\r\n switch (biggestIndex) {\r\n case 0:\r\n result.w = biggestVal;\r\n result.x = (m12 - m21) * mult;\r\n result.y = (m20 - m02) * mult;\r\n result.z = (m01 - m10) * mult;\r\n break;\r\n case 1:\r\n result.w = (m12 - m21) * mult;\r\n result.x = biggestVal;\r\n result.y = (m01 + m10) * mult;\r\n result.z = (m20 + m02) * mult;\r\n break;\r\n case 2:\r\n result.w = (m20 - m02) * mult;\r\n result.x = (m01 + m10) * mult;\r\n result.y = biggestVal;\r\n result.z = (m12 + m21) * mult;\r\n break;\r\n case 3:\r\n result.w = (m01 - m10) * mult;\r\n result.x = (m20 + m02) * mult;\r\n result.y = (m12 + m21) * mult;\r\n result.z = biggestVal;\r\n break;\r\n }\r\n return result;\r\n };\r\n mat3.prototype.rotate = function (angle, axis) {\r\n var x = axis.x;\r\n var y = axis.y;\r\n var z = axis.z;\r\n var length = Math.sqrt(x * x + y * y + z * z);\r\n if (!length) {\r\n return null;\r\n }\r\n if (length !== 1) {\r\n length = 1 / length;\r\n x *= length;\r\n y *= length;\r\n z *= length;\r\n }\r\n var s = Math.sin(angle);\r\n var c = Math.cos(angle);\r\n var t = 1.0 - c;\r\n var a00 = this.values[0];\r\n var a01 = this.values[1];\r\n var a02 = this.values[2];\r\n var a10 = this.values[4];\r\n var a11 = this.values[5];\r\n var a12 = this.values[6];\r\n var a20 = this.values[8];\r\n var a21 = this.values[9];\r\n var a22 = this.values[10];\r\n var b00 = x * x * t + c;\r\n var b01 = y * x * t + z * s;\r\n var b02 = z * x * t - y * s;\r\n var b10 = x * y * t - z * s;\r\n var b11 = y * y * t + c;\r\n var b12 = z * y * t + x * s;\r\n var b20 = x * z * t + y * s;\r\n var b21 = y * z * t - x * s;\r\n var b22 = z * z * t + c;\r\n this.values[0] = a00 * b00 + a10 * b01 + a20 * b02;\r\n this.values[1] = a01 * b00 + a11 * b01 + a21 * b02;\r\n this.values[2] = a02 * b00 + a12 * b01 + a22 * b02;\r\n this.values[3] = a00 * b10 + a10 * b11 + a20 * b12;\r\n this.values[4] = a01 * b10 + a11 * b11 + a21 * b12;\r\n this.values[5] = a02 * b10 + a12 * b11 + a22 * b12;\r\n this.values[6] = a00 * b20 + a10 * b21 + a20 * b22;\r\n this.values[7] = a01 * b20 + a11 * b21 + a21 * b22;\r\n this.values[8] = a02 * b20 + a12 * b21 + a22 * b22;\r\n return this;\r\n };\r\n mat3.product = function (m1, m2, result) {\r\n var a00 = m1.at(0);\r\n var a01 = m1.at(1);\r\n var a02 = m1.at(2);\r\n var a10 = m1.at(3);\r\n var a11 = m1.at(4);\r\n var a12 = m1.at(5);\r\n var a20 = m1.at(6);\r\n var a21 = m1.at(7);\r\n var a22 = m1.at(8);\r\n var b00 = m2.at(0);\r\n var b01 = m2.at(1);\r\n var b02 = m2.at(2);\r\n var b10 = m2.at(3);\r\n var b11 = m2.at(4);\r\n var b12 = m2.at(5);\r\n var b20 = m2.at(6);\r\n var b21 = m2.at(7);\r\n var b22 = m2.at(8);\r\n if (result) {\r\n result.init([\r\n b00 * a00 + b01 * a10 + b02 * a20,\r\n b00 * a01 + b01 * a11 + b02 * a21,\r\n b00 * a02 + b01 * a12 + b02 * a22,\r\n b10 * a00 + b11 * a10 + b12 * a20,\r\n b10 * a01 + b11 * a11 + b12 * a21,\r\n b10 * a02 + b11 * a12 + b12 * a22,\r\n b20 * a00 + b21 * a10 + b22 * a20,\r\n b20 * a01 + b21 * a11 + b22 * a21,\r\n b20 * a02 + b21 * a12 + b22 * a22,\r\n ]);\r\n return result;\r\n }\r\n else {\r\n return new mat3([\r\n b00 * a00 + b01 * a10 + b02 * a20,\r\n b00 * a01 + b01 * a11 + b02 * a21,\r\n b00 * a02 + b01 * a12 + b02 * a22,\r\n b10 * a00 + b11 * a10 + b12 * a20,\r\n b10 * a01 + b11 * a11 + b12 * a21,\r\n b10 * a02 + b11 * a12 + b12 * a22,\r\n b20 * a00 + b21 * a10 + b22 * a20,\r\n b20 * a01 + b21 * a11 + b22 * a21,\r\n b20 * a02 + b21 * a12 + b22 * a22,\r\n ]);\r\n }\r\n };\r\n mat3.identity = new mat3().setIdentity();\r\n return mat3;\r\n}());\n\nvar quat = /** @class */ (function () {\r\n function quat(values) {\r\n this.values = new Float32Array(4);\r\n if (values !== undefined) {\r\n this.xyzw = values;\r\n }\r\n }\r\n Object.defineProperty(quat.prototype, \"x\", {\r\n get: function () {\r\n return this.values[0];\r\n },\r\n set: function (value) {\r\n this.values[0] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"y\", {\r\n get: function () {\r\n return this.values[1];\r\n },\r\n set: function (value) {\r\n this.values[1] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"z\", {\r\n get: function () {\r\n return this.values[2];\r\n },\r\n set: function (value) {\r\n this.values[2] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"w\", {\r\n get: function () {\r\n return this.values[3];\r\n },\r\n set: function (value) {\r\n this.values[3] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"xy\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"xyz\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n this.values[2] = values[2];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(quat.prototype, \"xyzw\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n this.values[3],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n this.values[2] = values[2];\r\n this.values[3] = values[3];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n quat.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n quat.prototype.reset = function () {\r\n for (var i = 0; i < 4; i++) {\r\n this.values[i] = 0;\r\n }\r\n };\r\n quat.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n for (var i = 0; i < 4; i++) {\r\n dest.values[i] = this.values[i];\r\n }\r\n return dest;\r\n };\r\n quat.prototype.roll = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n return Math.atan2(2.0 * (x * y + w * z), w * w + x * x - y * y - z * z);\r\n };\r\n quat.prototype.pitch = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n return Math.atan2(2.0 * (y * z + w * x), w * w - x * x - y * y + z * z);\r\n };\r\n quat.prototype.yaw = function () {\r\n return Math.asin(2.0 * (this.x * this.z - this.w * this.y));\r\n };\r\n quat.prototype.equals = function (vector, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n for (var i = 0; i < 4; i++) {\r\n if (Math.abs(this.values[i] - vector.at(i)) > threshold) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n quat.prototype.setIdentity = function () {\r\n this.x = 0;\r\n this.y = 0;\r\n this.z = 0;\r\n this.w = 1;\r\n return this;\r\n };\r\n quat.prototype.calculateW = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n this.w = -(Math.sqrt(Math.abs(1.0 - x * x - y * y - z * z)));\r\n return this;\r\n };\r\n quat.prototype.inverse = function () {\r\n var dot = quat.dot(this, this);\r\n if (!dot) {\r\n this.xyzw = [0, 0, 0, 0];\r\n return this;\r\n }\r\n var invDot = dot ? 1.0 / dot : 0;\r\n this.x *= -invDot;\r\n this.y *= -invDot;\r\n this.z *= -invDot;\r\n this.w *= invDot;\r\n return this;\r\n };\r\n quat.prototype.conjugate = function () {\r\n this.values[0] *= -1;\r\n this.values[1] *= -1;\r\n this.values[2] *= -1;\r\n return this;\r\n };\r\n quat.prototype.length = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n return Math.sqrt(x * x + y * y + z * z + w * w);\r\n };\r\n quat.prototype.normalize = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n var length = Math.sqrt(x * x + y * y + z * z + w * w);\r\n if (!length) {\r\n dest.x = 0;\r\n dest.y = 0;\r\n dest.z = 0;\r\n dest.w = 0;\r\n return dest;\r\n }\r\n length = 1 / length;\r\n dest.x = x * length;\r\n dest.y = y * length;\r\n dest.z = z * length;\r\n dest.w = w * length;\r\n return dest;\r\n };\r\n quat.prototype.add = function (other) {\r\n for (var i = 0; i < 4; i++) {\r\n this.values[i] += other.at(i);\r\n }\r\n return this;\r\n };\r\n quat.prototype.multiply = function (other) {\r\n var q1x = this.values[0];\r\n var q1y = this.values[1];\r\n var q1z = this.values[2];\r\n var q1w = this.values[3];\r\n var q2x = other.x;\r\n var q2y = other.y;\r\n var q2z = other.z;\r\n var q2w = other.w;\r\n this.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y;\r\n this.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z;\r\n this.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x;\r\n this.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z;\r\n return this;\r\n };\r\n quat.prototype.multiplyVec3 = function (vector, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n var qx = this.x;\r\n var qy = this.y;\r\n var qz = this.z;\r\n var qw = this.w;\r\n var ix = qw * x + qy * z - qz * y;\r\n var iy = qw * y + qz * x - qx * z;\r\n var iz = qw * z + qx * y - qy * x;\r\n var iw = -qx * x - qy * y - qz * z;\r\n dest.x = ix * qw + iw * -qx + iy * -qz - iz * -qy;\r\n dest.y = iy * qw + iw * -qy + iz * -qx - ix * -qz;\r\n dest.z = iz * qw + iw * -qz + ix * -qy - iy * -qx;\r\n return dest;\r\n };\r\n quat.prototype.toMat3 = function (dest) {\r\n if (!dest) {\r\n dest = new mat3();\r\n }\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n var x2 = x + x;\r\n var y2 = y + y;\r\n var z2 = z + z;\r\n var xx = x * x2;\r\n var xy = x * y2;\r\n var xz = x * z2;\r\n var yy = y * y2;\r\n var yz = y * z2;\r\n var zz = z * z2;\r\n var wx = w * x2;\r\n var wy = w * y2;\r\n var wz = w * z2;\r\n dest.init([\r\n 1 - (yy + zz),\r\n xy + wz,\r\n xz - wy,\r\n xy - wz,\r\n 1 - (xx + zz),\r\n yz + wx,\r\n xz + wy,\r\n yz - wx,\r\n 1 - (xx + yy),\r\n ]);\r\n return dest;\r\n };\r\n quat.prototype.toMat4 = function (dest) {\r\n if (!dest) {\r\n dest = new mat4();\r\n }\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n var w = this.w;\r\n var x2 = x + x;\r\n var y2 = y + y;\r\n var z2 = z + z;\r\n var xx = x * x2;\r\n var xy = x * y2;\r\n var xz = x * z2;\r\n var yy = y * y2;\r\n var yz = y * z2;\r\n var zz = z * z2;\r\n var wx = w * x2;\r\n var wy = w * y2;\r\n var wz = w * z2;\r\n dest.init([\r\n 1 - (yy + zz),\r\n xy + wz,\r\n xz - wy,\r\n 0,\r\n xy - wz,\r\n 1 - (xx + zz),\r\n yz + wx,\r\n 0,\r\n xz + wy,\r\n yz - wx,\r\n 1 - (xx + yy),\r\n 0,\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n ]);\r\n return dest;\r\n };\r\n quat.dot = function (q1, q2) {\r\n return q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w;\r\n };\r\n quat.sum = function (q1, q2, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n dest.x = q1.x + q2.x;\r\n dest.y = q1.y + q2.y;\r\n dest.z = q1.z + q2.z;\r\n dest.w = q1.w + q2.w;\r\n return dest;\r\n };\r\n quat.product = function (q1, q2, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n var q1x = q1.x;\r\n var q1y = q1.y;\r\n var q1z = q1.z;\r\n var q1w = q1.w;\r\n var q2x = q2.x;\r\n var q2y = q2.y;\r\n var q2z = q2.z;\r\n var q2w = q2.w;\r\n dest.x = q1x * q2w + q1w * q2x + q1y * q2z - q1z * q2y;\r\n dest.y = q1y * q2w + q1w * q2y + q1z * q2x - q1x * q2z;\r\n dest.z = q1z * q2w + q1w * q2z + q1x * q2y - q1y * q2x;\r\n dest.w = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z;\r\n return dest;\r\n };\r\n quat.cross = function (q1, q2, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n var q1x = q1.x;\r\n var q1y = q1.y;\r\n var q1z = q1.z;\r\n var q1w = q1.w;\r\n var q2x = q2.x;\r\n var q2y = q2.y;\r\n var q2z = q2.z;\r\n var q2w = q2.w;\r\n dest.x = q1w * q2z + q1z * q2w + q1x * q2y - q1y * q2x;\r\n dest.y = q1w * q2w - q1x * q2x - q1y * q2y - q1z * q2z;\r\n dest.z = q1w * q2x + q1x * q2w + q1y * q2z - q1z * q2y;\r\n dest.w = q1w * q2y + q1y * q2w + q1z * q2x - q1x * q2z;\r\n return dest;\r\n };\r\n quat.shortMix = function (q1, q2, time, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n if (time <= 0.0) {\r\n dest.xyzw = q1.xyzw;\r\n return dest;\r\n }\r\n else if (time >= 1.0) {\r\n dest.xyzw = q2.xyzw;\r\n return dest;\r\n }\r\n var cos = quat.dot(q1, q2);\r\n var q2a = q2.copy();\r\n if (cos < 0.0) {\r\n q2a.inverse();\r\n cos = -cos;\r\n }\r\n var k0;\r\n var k1;\r\n if (cos > 0.9999) {\r\n k0 = 1 - time;\r\n k1 = 0 + time;\r\n }\r\n else {\r\n var sin = Math.sqrt(1 - cos * cos);\r\n var angle = Math.atan2(sin, cos);\r\n var oneOverSin = 1 / sin;\r\n k0 = Math.sin((1 - time) * angle) * oneOverSin;\r\n k1 = Math.sin((0 + time) * angle) * oneOverSin;\r\n }\r\n dest.x = k0 * q1.x + k1 * q2a.x;\r\n dest.y = k0 * q1.y + k1 * q2a.y;\r\n dest.z = k0 * q1.z + k1 * q2a.z;\r\n dest.w = k0 * q1.w + k1 * q2a.w;\r\n return dest;\r\n };\r\n quat.mix = function (q1, q2, time, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n var cosHalfTheta = q1.x * q2.x + q1.y * q2.y + q1.z * q2.z + q1.w * q2.w;\r\n if (Math.abs(cosHalfTheta) >= 1.0) {\r\n dest.xyzw = q1.xyzw;\r\n return dest;\r\n }\r\n var halfTheta = Math.acos(cosHalfTheta);\r\n var sinHalfTheta = Math.sqrt(1.0 - cosHalfTheta * cosHalfTheta);\r\n if (Math.abs(sinHalfTheta) < 0.001) {\r\n dest.x = q1.x * 0.5 + q2.x * 0.5;\r\n dest.y = q1.y * 0.5 + q2.y * 0.5;\r\n dest.z = q1.z * 0.5 + q2.z * 0.5;\r\n dest.w = q1.w * 0.5 + q2.w * 0.5;\r\n return dest;\r\n }\r\n var ratioA = Math.sin((1 - time) * halfTheta) / sinHalfTheta;\r\n var ratioB = Math.sin(time * halfTheta) / sinHalfTheta;\r\n dest.x = q1.x * ratioA + q2.x * ratioB;\r\n dest.y = q1.y * ratioA + q2.y * ratioB;\r\n dest.z = q1.z * ratioA + q2.z * ratioB;\r\n dest.w = q1.w * ratioA + q2.w * ratioB;\r\n return dest;\r\n };\r\n quat.fromAxisAngle = function (axis, angle, dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n angle *= 0.5;\r\n var sin = Math.sin(angle);\r\n dest.x = axis.x * sin;\r\n dest.y = axis.y * sin;\r\n dest.z = axis.z * sin;\r\n dest.w = Math.cos(angle);\r\n return dest;\r\n };\r\n quat.identity = new quat().setIdentity();\r\n return quat;\r\n}());\n\nvar vec3 = /** @class */ (function () {\r\n function vec3(values) {\r\n this.values = new Float32Array(3);\r\n if (values !== undefined) {\r\n this.xyz = values;\r\n }\r\n }\r\n Object.defineProperty(vec3.prototype, \"x\", {\r\n get: function () {\r\n return this.values[0];\r\n },\r\n set: function (value) {\r\n this.values[0] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec3.prototype, \"y\", {\r\n get: function () {\r\n return this.values[1];\r\n },\r\n set: function (value) {\r\n this.values[1] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec3.prototype, \"z\", {\r\n get: function () {\r\n return this.values[2];\r\n },\r\n set: function (value) {\r\n this.values[2] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec3.prototype, \"xy\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec3.prototype, \"xyz\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n this.values[2],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n this.values[2] = values[2];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n vec3.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n vec3.prototype.reset = function () {\r\n this.x = 0;\r\n this.y = 0;\r\n this.z = 0;\r\n };\r\n vec3.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = this.x;\r\n dest.y = this.y;\r\n dest.z = this.z;\r\n return dest;\r\n };\r\n vec3.prototype.negate = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n dest.x = -this.x;\r\n dest.y = -this.y;\r\n dest.z = -this.z;\r\n return dest;\r\n };\r\n vec3.prototype.equals = function (vector, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n if (Math.abs(this.x - vector.x) > threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.y - vector.y) > threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.z - vector.z) > threshold) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n vec3.prototype.length = function () {\r\n return Math.sqrt(this.squaredLength());\r\n };\r\n vec3.prototype.squaredLength = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n var z = this.z;\r\n return (x * x + y * y + z * z);\r\n };\r\n vec3.prototype.add = function (vector) {\r\n this.x += vector.x;\r\n this.y += vector.y;\r\n this.z += vector.z;\r\n return this;\r\n };\r\n vec3.prototype.subtract = function (vector) {\r\n this.x -= vector.x;\r\n this.y -= vector.y;\r\n this.z -= vector.z;\r\n return this;\r\n };\r\n vec3.prototype.multiply = function (vector) {\r\n this.x *= vector.x;\r\n this.y *= vector.y;\r\n this.z *= vector.z;\r\n return this;\r\n };\r\n vec3.prototype.divide = function (vector) {\r\n this.x /= vector.x;\r\n this.y /= vector.y;\r\n this.z /= vector.z;\r\n return this;\r\n };\r\n vec3.prototype.scale = function (value, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n dest.x *= value;\r\n dest.y *= value;\r\n dest.z *= value;\r\n return dest;\r\n };\r\n vec3.prototype.normalize = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n var length = this.length();\r\n if (length === 1) {\r\n return this;\r\n }\r\n if (length === 0) {\r\n dest.x = 0;\r\n dest.y = 0;\r\n dest.z = 0;\r\n return dest;\r\n }\r\n length = 1.0 / length;\r\n dest.x *= length;\r\n dest.y *= length;\r\n dest.z *= length;\r\n return dest;\r\n };\r\n vec3.prototype.multiplyByMat3 = function (matrix, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n return matrix.multiplyVec3(this, dest);\r\n };\r\n vec3.prototype.multiplyByQuat = function (quaternion, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n return quaternion.multiplyVec3(this, dest);\r\n };\r\n vec3.prototype.toQuat = function (dest) {\r\n if (!dest) {\r\n dest = new quat();\r\n }\r\n var c = new vec3();\r\n var s = new vec3();\r\n c.x = Math.cos(this.x * 0.5);\r\n s.x = Math.sin(this.x * 0.5);\r\n c.y = Math.cos(this.y * 0.5);\r\n s.y = Math.sin(this.y * 0.5);\r\n c.z = Math.cos(this.z * 0.5);\r\n s.z = Math.sin(this.z * 0.5);\r\n dest.x = s.x * c.y * c.z - c.x * s.y * s.z;\r\n dest.y = c.x * s.y * c.z + s.x * c.y * s.z;\r\n dest.z = c.x * c.y * s.z - s.x * s.y * c.z;\r\n dest.w = c.x * c.y * c.z + s.x * s.y * s.z;\r\n return dest;\r\n };\r\n vec3.cross = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n var x2 = vector2.x;\r\n var y2 = vector2.y;\r\n var z2 = vector2.z;\r\n dest.x = y * z2 - z * y2;\r\n dest.y = z * x2 - x * z2;\r\n dest.z = x * y2 - y * x2;\r\n return dest;\r\n };\r\n vec3.dot = function (vector, vector2) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n var z = vector.z;\r\n var x2 = vector2.x;\r\n var y2 = vector2.y;\r\n var z2 = vector2.z;\r\n return (x * x2 + y * y2 + z * z2);\r\n };\r\n vec3.distance = function (vector, vector2) {\r\n var x = vector2.x - vector.x;\r\n var y = vector2.y - vector.y;\r\n var z = vector2.z - vector.z;\r\n return Math.sqrt(this.squaredDistance(vector, vector2));\r\n };\r\n vec3.squaredDistance = function (vector, vector2) {\r\n var x = vector2.x - vector.x;\r\n var y = vector2.y - vector.y;\r\n var z = vector2.z - vector.z;\r\n return (x * x + y * y + z * z);\r\n };\r\n vec3.direction = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n var x = vector.x - vector2.x;\r\n var y = vector.y - vector2.y;\r\n var z = vector.z - vector2.z;\r\n var length = Math.sqrt(x * x + y * y + z * z);\r\n if (length === 0) {\r\n dest.x = 0;\r\n dest.y = 0;\r\n dest.z = 0;\r\n return dest;\r\n }\r\n length = 1 / length;\r\n dest.x = x * length;\r\n dest.y = y * length;\r\n dest.z = z * length;\r\n return dest;\r\n };\r\n vec3.mix = function (vector, vector2, time, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = vector.x + time * (vector2.x - vector.x);\r\n dest.y = vector.y + time * (vector2.y - vector.y);\r\n dest.z = vector.z + time * (vector2.z - vector.z);\r\n return dest;\r\n };\r\n vec3.sum = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = vector.x + vector2.x;\r\n dest.y = vector.y + vector2.y;\r\n dest.z = vector.z + vector2.z;\r\n return dest;\r\n };\r\n vec3.difference = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = vector.x - vector2.x;\r\n dest.y = vector.y - vector2.y;\r\n dest.z = vector.z - vector2.z;\r\n return dest;\r\n };\r\n vec3.product = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = vector.x * vector2.x;\r\n dest.y = vector.y * vector2.y;\r\n dest.z = vector.z * vector2.z;\r\n return dest;\r\n };\r\n vec3.quotient = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n dest.x = vector.x / vector2.x;\r\n dest.y = vector.y / vector2.y;\r\n dest.z = vector.z / vector2.z;\r\n return dest;\r\n };\r\n vec3.zero = new vec3([0, 0, 0]);\r\n vec3.one = new vec3([1, 1, 1]);\r\n vec3.up = new vec3([0, 1, 0]);\r\n vec3.right = new vec3([1, 0, 0]);\r\n vec3.forward = new vec3([0, 0, 1]);\r\n return vec3;\r\n}());\n\nvar vec2 = /** @class */ (function () {\r\n function vec2(values) {\r\n this.values = new Float32Array(2);\r\n if (values !== undefined) {\r\n this.xy = values;\r\n }\r\n }\r\n Object.defineProperty(vec2.prototype, \"x\", {\r\n get: function () {\r\n return this.values[0];\r\n },\r\n set: function (value) {\r\n this.values[0] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec2.prototype, \"y\", {\r\n get: function () {\r\n return this.values[1];\r\n },\r\n set: function (value) {\r\n this.values[1] = value;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(vec2.prototype, \"xy\", {\r\n get: function () {\r\n return [\r\n this.values[0],\r\n this.values[1],\r\n ];\r\n },\r\n set: function (values) {\r\n this.values[0] = values[0];\r\n this.values[1] = values[1];\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n vec2.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n vec2.prototype.reset = function () {\r\n this.x = 0;\r\n this.y = 0;\r\n };\r\n vec2.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n dest.x = this.x;\r\n dest.y = this.y;\r\n return dest;\r\n };\r\n vec2.prototype.negate = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n dest.x = -this.x;\r\n dest.y = -this.y;\r\n return dest;\r\n };\r\n vec2.prototype.equals = function (vector, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n if (Math.abs(this.x - vector.x) > threshold) {\r\n return false;\r\n }\r\n if (Math.abs(this.y - vector.y) > threshold) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n vec2.prototype.length = function () {\r\n return Math.sqrt(this.squaredLength());\r\n };\r\n vec2.prototype.squaredLength = function () {\r\n var x = this.x;\r\n var y = this.y;\r\n return (x * x + y * y);\r\n };\r\n vec2.prototype.add = function (vector) {\r\n this.x += vector.x;\r\n this.y += vector.y;\r\n return this;\r\n };\r\n vec2.prototype.subtract = function (vector) {\r\n this.x -= vector.x;\r\n this.y -= vector.y;\r\n return this;\r\n };\r\n vec2.prototype.multiply = function (vector) {\r\n this.x *= vector.x;\r\n this.y *= vector.y;\r\n return this;\r\n };\r\n vec2.prototype.divide = function (vector) {\r\n this.x /= vector.x;\r\n this.y /= vector.y;\r\n return this;\r\n };\r\n vec2.prototype.scale = function (value, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n dest.x *= value;\r\n dest.y *= value;\r\n return dest;\r\n };\r\n vec2.prototype.normalize = function (dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n var length = this.length();\r\n if (length === 1) {\r\n return this;\r\n }\r\n if (length === 0) {\r\n dest.x = 0;\r\n dest.y = 0;\r\n return dest;\r\n }\r\n length = 1.0 / length;\r\n dest.x *= length;\r\n dest.y *= length;\r\n return dest;\r\n };\r\n vec2.prototype.multiplyMat2 = function (matrix, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n return matrix.multiplyVec2(this, dest);\r\n };\r\n vec2.prototype.multiplyMat3 = function (matrix, dest) {\r\n if (!dest) {\r\n dest = this;\r\n }\r\n return matrix.multiplyVec2(this, dest);\r\n };\r\n vec2.cross = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec3();\r\n }\r\n var x = vector.x;\r\n var y = vector.y;\r\n var x2 = vector2.x;\r\n var y2 = vector2.y;\r\n var z = x * y2 - y * x2;\r\n dest.x = 0;\r\n dest.y = 0;\r\n dest.z = z;\r\n return dest;\r\n };\r\n vec2.dot = function (vector, vector2) {\r\n return (vector.x * vector2.x + vector.y * vector2.y);\r\n };\r\n vec2.distance = function (vector, vector2) {\r\n return Math.sqrt(this.squaredDistance(vector, vector2));\r\n };\r\n vec2.squaredDistance = function (vector, vector2) {\r\n var x = vector2.x - vector.x;\r\n var y = vector2.y - vector.y;\r\n return (x * x + y * y);\r\n };\r\n vec2.direction = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n var x = vector.x - vector2.x;\r\n var y = vector.y - vector2.y;\r\n var length = Math.sqrt(x * x + y * y);\r\n if (length === 0) {\r\n dest.x = 0;\r\n dest.y = 0;\r\n return dest;\r\n }\r\n length = 1 / length;\r\n dest.x = x * length;\r\n dest.y = y * length;\r\n return dest;\r\n };\r\n vec2.mix = function (vector, vector2, time, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n var x = vector.x;\r\n var y = vector.y;\r\n var x2 = vector2.x;\r\n var y2 = vector2.y;\r\n dest.x = x + time * (x2 - x);\r\n dest.y = y + time * (y2 - y);\r\n return dest;\r\n };\r\n vec2.sum = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n dest.x = vector.x + vector2.x;\r\n dest.y = vector.y + vector2.y;\r\n return dest;\r\n };\r\n vec2.difference = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n dest.x = vector.x - vector2.x;\r\n dest.y = vector.y - vector2.y;\r\n return dest;\r\n };\r\n vec2.product = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n dest.x = vector.x * vector2.x;\r\n dest.y = vector.y * vector2.y;\r\n return dest;\r\n };\r\n vec2.quotient = function (vector, vector2, dest) {\r\n if (!dest) {\r\n dest = new vec2();\r\n }\r\n dest.x = vector.x / vector2.x;\r\n dest.y = vector.y / vector2.y;\r\n return dest;\r\n };\r\n vec2.zero = new vec2([0, 0]);\r\n vec2.one = new vec2([1, 1]);\r\n return vec2;\r\n}());\n\nvar mat2 = /** @class */ (function () {\r\n function mat2(values) {\r\n this.values = new Float32Array(4);\r\n if (values !== undefined) {\r\n this.init(values);\r\n }\r\n }\r\n mat2.prototype.at = function (index) {\r\n return this.values[index];\r\n };\r\n mat2.prototype.init = function (values) {\r\n for (var i = 0; i < 4; i++) {\r\n this.values[i] = values[i];\r\n }\r\n return this;\r\n };\r\n mat2.prototype.reset = function () {\r\n for (var i = 0; i < 4; i++) {\r\n this.values[i] = 0;\r\n }\r\n };\r\n mat2.prototype.copy = function (dest) {\r\n if (!dest) {\r\n dest = new mat2();\r\n }\r\n for (var i = 0; i < 4; i++) {\r\n dest.values[i] = this.values[i];\r\n }\r\n return dest;\r\n };\r\n mat2.prototype.all = function () {\r\n var data = [];\r\n for (var i = 0; i < 4; i++) {\r\n data[i] = this.values[i];\r\n }\r\n return data;\r\n };\r\n mat2.prototype.row = function (index) {\r\n return [\r\n this.values[index * 2 + 0],\r\n this.values[index * 2 + 1],\r\n ];\r\n };\r\n mat2.prototype.col = function (index) {\r\n return [\r\n this.values[index],\r\n this.values[index + 2],\r\n ];\r\n };\r\n mat2.prototype.equals = function (matrix, threshold) {\r\n if (threshold === void 0) { threshold = epsilon; }\r\n for (var i = 0; i < 4; i++) {\r\n if (Math.abs(this.values[i] - matrix.at(i)) > threshold) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n mat2.prototype.determinant = function () {\r\n return this.values[0] * this.values[3] - this.values[2] * this.values[1];\r\n };\r\n mat2.prototype.setIdentity = function () {\r\n this.values[0] = 1;\r\n this.values[1] = 0;\r\n this.values[2] = 0;\r\n this.values[3] = 1;\r\n return this;\r\n };\r\n mat2.prototype.transpose = function () {\r\n var temp = this.values[1];\r\n this.values[1] = this.values[2];\r\n this.values[2] = temp;\r\n return this;\r\n };\r\n mat2.prototype.inverse = function () {\r\n var det = this.determinant();\r\n if (!det) {\r\n return null;\r\n }\r\n det = 1.0 / det;\r\n var a11 = this.values[0];\r\n this.values[0] = det * (this.values[3]);\r\n this.values[1] = det * (-this.values[1]);\r\n this.values[2] = det * (-this.values[2]);\r\n this.values[3] = det * a11;\r\n return this;\r\n };\r\n mat2.prototype.multiply = function (matrix) {\r\n var a11 = this.values[0];\r\n var a12 = this.values[1];\r\n var a21 = this.values[2];\r\n var a22 = this.values[3];\r\n this.values[0] = a11 * matrix.at(0) + a12 * matrix.at(2);\r\n this.values[1] = a11 * matrix.at(1) + a12 * matrix.at(3);\r\n this.values[2] = a21 * matrix.at(0) + a22 * matrix.at(2);\r\n this.values[3] = a21 * matrix.at(1) + a22 * matrix.at(3);\r\n return this;\r\n };\r\n mat2.prototype.rotate = function (angle) {\r\n var a11 = this.values[0];\r\n var a12 = this.values[1];\r\n var a21 = this.values[2];\r\n var a22 = this.values[3];\r\n var sin = Math.sin(angle);\r\n var cos = Math.cos(angle);\r\n this.values[0] = a11 * cos + a12 * sin;\r\n this.values[1] = a11 * -sin + a12 * cos;\r\n this.values[2] = a21 * cos + a22 * sin;\r\n this.values[3] = a21 * -sin + a22 * cos;\r\n return this;\r\n };\r\n mat2.prototype.multiplyVec2 = function (vector, result) {\r\n var x = vector.x;\r\n var y = vector.y;\r\n if (result) {\r\n result.xy = [\r\n x * this.values[0] + y * this.values[1],\r\n x * this.values[2] + y * this.values[3],\r\n ];\r\n return result;\r\n }\r\n else {\r\n return new vec2([\r\n x * this.values[0] + y * this.values[1],\r\n x * this.values[2] + y * this.values[3],\r\n ]);\r\n }\r\n };\r\n mat2.prototype.scale = function (vector) {\r\n var a11 = this.values[0];\r\n var a12 = this.values[1];\r\n var a21 = this.values[2];\r\n var a22 = this.values[3];\r\n var x = vector.x;\r\n var y = vector.y;\r\n this.values[0] = a11 * x;\r\n this.values[1] = a12 * y;\r\n this.values[2] = a21 * x;\r\n this.values[3] = a22 * y;\r\n return this;\r\n };\r\n mat2.product = function (m1, m2, result) {\r\n var a11 = m1.at(0);\r\n var a12 = m1.at(1);\r\n var a21 = m1.at(2);\r\n var a22 = m1.at(3);\r\n if (result) {\r\n result.init([\r\n a11 * m2.at(0) + a12 * m2.at(2),\r\n a11 * m2.at(1) + a12 * m2.at(3),\r\n a21 * m2.at(0) + a22 * m2.at(2),\r\n a21 * m2.at(1) + a22 * m2.at(3),\r\n ]);\r\n return result;\r\n }\r\n else {\r\n return new mat2([\r\n a11 * m2.at(0) + a12 * m2.at(2),\r\n a11 * m2.at(1) + a12 * m2.at(3),\r\n a21 * m2.at(0) + a22 * m2.at(2),\r\n a21 * m2.at(1) + a22 * m2.at(3),\r\n ]);\r\n }\r\n };\r\n mat2.identity = new mat2().setIdentity();\r\n return mat2;\r\n}());\n\nvar index = { mat2: mat2, mat3: mat3, mat4: mat4, quat: quat, vec2: vec2, vec3: vec3, vec4: vec4 };\n\nexport default index;\nexport { mat2, mat3, mat4, quat, vec2, vec3, vec4 };\n"],"names":["vec4","values","this","Float32Array","undefined","xyzw","Object","defineProperty","prototype","get","set","value","enumerable","configurable","at","index","reset","x","y","z","w","copy","dest","negate","equals","vector","threshold","Math","abs","length","sqrt","squaredLength","add","subtract","multiply","divide","scale","normalize","multiplyMat4","matrix","multiplyVec4","mix","vector2","time","sum","difference","product","quotient","zero","one","mat4","init","i","all","data","row","col","determinant","a00","a01","a02","a03","a10","a11","a12","a13","a20","a21","a22","a23","a30","a31","a32","a33","setIdentity","transpose","temp01","temp02","temp03","temp12","temp13","temp23","inverse","det00","det01","det02","det03","det04","det05","det06","det07","det08","det09","det10","det11","det","b0","b1","b2","b3","multiplyVec3","vec3","toMat3","mat3","toInverseMat3","det21","translate","rotate","angle","axis","s","sin","c","cos","t","b00","b01","b02","b10","b11","b12","b20","b21","b22","frustum","left","right","bottom","top","near","far","rl","tb","fn","perspective","fov","aspect","tan","PI","orthographic","lookAt","position","target","up","identity","cross","dot","m1","m2","result","b03","b13","b23","b30","b31","b32","b33","multiplyVec2","xy","vec2","xyz","toMat4","toQuat","m00","m01","m02","m10","m11","m12","m20","m21","m22","fourXSquaredMinus1","fourYSquaredMinus1","fourZSquaredMinus1","biggestIndex","fourBiggestSquaredMinus1","biggestVal","mult","quat","roll","atan2","pitch","yaw","asin","calculateW","invDot","conjugate","other","q1x","q1y","q1z","q1w","q2x","q2y","q2z","q2w","qx","qy","qz","qw","ix","iy","iz","iw","x2","y2","z2","xx","xz","yy","yz","zz","wx","wy","wz","q1","q2","shortMix","k0","k1","q2a","oneOverSin","cosHalfTheta","halfTheta","acos","sinHalfTheta","ratioA","ratioB","fromAxisAngle","multiplyByMat3","multiplyByQuat","quaternion","distance","squaredDistance","direction","forward","multiplyMat2","multiplyMat3","mat2","temp"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 9ac2544..bab7366 100644 --- a/package.json +++ b/package.json @@ -2,21 +2,23 @@ "name": "SpriteGL", "version": "0.0.0", "description": "Easy and fast sprite rendereing", - "main": "none", + "cdn": "dist/SpriteGL.min.js", + "main": "dist/SpriteGL.cjs.js", + "types": "types/index.d.ts", + "unpkg": "dist/SpriteGL.min.js", + "module": "dist/SpriteGL.es.js", + "jsdelivr": "dist/SpriteGL.min.js", + "umd:main": "dist/SpriteGL.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "build": "bili" }, "author": "", "license": "ISC", "devDependencies": { - "gulp": "^3.8.10", - "gulp-add-src": "^0.2.0", - "gulp-concat": "^2.4.2", - "gulp-rename": "^1.2.0", - "gulp-typescript": "^2.3.0", - "open": "0.0.5", - "run-sequence": "^1.0.2", - "static-server": "^2.0.0" + "bili": "^3.1.2", + "rollup-plugin-typescript2": "^0.17.1", + "typescript": "^3.1.2" }, "dependencies": { "tsm": "https://github.com/VitorluizC/tsm" diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..a183b01 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": ["SpriteGL/index.ts"], + "compilerOptions": { + "declaration": true, + "declarationDir": "types/" + } +} diff --git a/types/Shader.d.ts b/types/Shader.d.ts new file mode 100644 index 0000000..bf4b412 --- /dev/null +++ b/types/Shader.d.ts @@ -0,0 +1,18 @@ +import * as TSM from "tsm"; +export default class Shader { + glProgram: WebGLProgram; + VertexPosAttribute: number; + TexCoordAttribute: number; + private TexSampleUniform; + private MatUniform; + private CameraPosUniform; + private gl; + constructor(gl: WebGLRenderingContext); + UseProgram(): void; + UpdatePosition(x: number, y: number): void; + private MakeProgram; + private CompileShader; + updateMatrix(mat: TSM.mat4): void; + private static defaultVertexShaderSrc; + private static defaultFragmentShaderSrc; +} diff --git a/types/SpriteRenderer.d.ts b/types/SpriteRenderer.d.ts new file mode 100644 index 0000000..b900bb2 --- /dev/null +++ b/types/SpriteRenderer.d.ts @@ -0,0 +1,21 @@ +export default class SpriteRenderer { + private gl; + private Shader; + private vbo; + private texture; + private SpriteSize; + private Text; + constructor(webglContext: WebGLRenderingContext, Image: HTMLImageElement, Filtering?: number); + RenderAll(): void; + UpdateViewPort(width: number, height: number): void; + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth: any, AtlasHeigh: any, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight: any): void; + SetHight(hight: number): void; + PrepareTxt(str: string, color: string, fontSize: number, outLine?: boolean): any; + DisposeTxt(txtObj: any): void; + DrawTxt(txtObj: any, PosX: number, PosY: number): void; + UpdateCamera(x: number, y: number): void; + private CreateTexture; + static fromCanvas(canvas: HTMLCanvasElement, Image: HTMLImageElement, Filtering?: number): SpriteRenderer; + static TextureFilteringLinear: number; + static TextureFilteringNearest: number; +} diff --git a/types/TextDrawer.d.ts b/types/TextDrawer.d.ts new file mode 100644 index 0000000..58d99ea --- /dev/null +++ b/types/TextDrawer.d.ts @@ -0,0 +1,16 @@ +export default class TextDrawer { + TextureSize: { + Width: number; + Height: number; + }; + private ctx; + private canvas; + texture: WebGLTexture; + private txtsList; + private gl; + constructor(gl: WebGLRenderingContext); + PrepareTxt(str: string, color: string, fontSize: number, outline: boolean): any; + DisposeTxt(txtObj: any): void; + private UpdatePositon; + private BakeTexture; +} diff --git a/types/VBO.d.ts b/types/VBO.d.ts new file mode 100644 index 0000000..2fb12d0 --- /dev/null +++ b/types/VBO.d.ts @@ -0,0 +1,16 @@ +export default class VBO { + verticlesBuffer: WebGLBuffer; + private sprVerts; + private txtVerts; + private AtlasSize; + private gl; + private hight; + constructor(gl: WebGLRenderingContext); + SetupHeight(hight: number): void; + SetupForDraw(vertexPositionAttr: number, textureCoordAttr: number, AtlasSize: number): void; + RenderAllSpr(): void; + RenderAllTxt(): void; + DrawSpr(AtlasX: number, AtlasY: number, AtlasWidth: any, AtlasHeigh: any, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight: any): void; + DrawTxt(AtlasX: number, AtlasY: number, AtlasWidth: any, AtlasHeigh: any, ScreenX: number, ScreenY: number, ScreenWidth: number, ScreenHeight: any): void; + private static defaultVerts; +} diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..ebb8745 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,12 @@ +import Shader from "./Shader"; +import SpriteRenderer from "./SpriteRenderer"; +import TextDrawer from "./TextDrawer"; +import VBO from "./VBO"; +declare const SpriteGL: { + Shader: typeof Shader; + SpriteRenderer: typeof SpriteRenderer; + TextDrawer: typeof TextDrawer; + VBO: typeof VBO; +}; +export { Shader, SpriteGL, SpriteRenderer, TextDrawer, VBO }; +export default SpriteGL; diff --git a/yarn.lock b/yarn.lock index 0fa779b..0e2e3b4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,27 +2,727 @@ # yarn lockfile v1 -ansi-gray@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" - integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/core@^7.0.0-beta.39": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.2.tgz#f8d2a9ceb6832887329a7b60f9d035791400ba4e" + integrity sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.1.2" + "@babel/helpers" "^7.1.2" + "@babel/parser" "^7.1.2" + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.1.2" + convert-source-map "^1.1.0" + debug "^3.1.0" + json5 "^0.5.0" + lodash "^4.17.10" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/generator@^7.0.0", "@babel/generator@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.2.tgz#fde75c072575ce7abbd97322e8fef5bae67e4630" + integrity sha512-70A9HWLS/1RHk3Ck8tNHKxOoKQuSKocYgwDN85Pyl/RBduss6AKxUR7RIZ/lzduQMSYfWEM4DDBu6A+XGbkFig== + dependencies: + "@babel/types" "^7.1.2" + jsesc "^2.5.1" + lodash "^4.17.10" + source-map "^0.5.0" + trim-right "^1.0.1" + +"@babel/helper-annotate-as-pure@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" + integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-builder-react-jsx@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0.tgz#fa154cb53eb918cf2a9a7ce928e29eb649c5acdb" + integrity sha512-ebJ2JM6NAKW0fQEqN8hOLxK84RbRz9OkUhGS/Xd5u56ejMfVbayJ4+LykERZCOUM6faa6Fp3SZNX3fcT16MKHw== + dependencies: + "@babel/types" "^7.0.0" + esutils "^2.0.0" + +"@babel/helper-call-delegate@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" + integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-define-map@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" + integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@babel/helper-explode-assignable-expression@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + dependencies: + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== + dependencies: + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-hoist-variables@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" + integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-member-expression-to-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-transforms@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz#470d4f9676d9fad50b324cdcce5fbabbc3da5787" + integrity sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + +"@babel/helper-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" + integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== + dependencies: + lodash "^4.17.10" + +"@babel/helper-remap-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-wrap-function" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-replace-supers@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362" + integrity sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-simple-access@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== + dependencies: + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-split-export-declaration@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" + integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-wrap-function@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz#8cf54e9190706067f016af8f75cb3df829cc8c66" + integrity sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helpers@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.1.2.tgz#ab752e8c35ef7d39987df4e8586c63b8846234b5" + integrity sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA== + dependencies: + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.1.2" + +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.2.tgz#85c5c47af6d244fab77bce6b9bd830e38c978409" + integrity sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ== + +"@babel/plugin-proposal-async-generator-functions@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz#41c1a702e10081456e23a7b74d891922dd1bb6ce" + integrity sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" + +"@babel/plugin-proposal-class-properties@^7.0.0-beta.39": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.1.0.tgz#9af01856b1241db60ec8838d84691aa0bd1e8df4" + integrity sha512-/PCJWN+CKt5v1xcGn4vnuu13QDoV+P7NcICP44BoonAJoPSGwVkgrXihFIQGiEjjPlUDBIw1cM7wYFLARS2/hw== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + "@babel/plugin-syntax-class-properties" "^7.0.0" + +"@babel/plugin-proposal-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e" + integrity sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.0.0" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.0.0-beta.39": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e" + integrity sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425" + integrity sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33" + integrity sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.2.0" + +"@babel/plugin-syntax-async-generators@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c" + integrity sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-class-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.0.0.tgz#e051af5d300cbfbcec4a7476e37a803489881634" + integrity sha512-cR12g0Qzn4sgkjrbrzWy2GE7m9vMl/sFkqZ3gIpAQdrvPDnLM8180i+ANDFIXfjHo9aqp0ccJlQ0QNZcFUbf9w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-flow@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0.tgz#70638aeaad9ee426bc532e51523cff8ff02f6f17" + integrity sha512-zGcuZWiWWDa5qTZ6iAnpG0fnX/GOu49pGR5PFvkQ9GmKNaSphXQnlNXh/LG20sqWtNrx/eB6krzfEzcwvUyeFA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd" + integrity sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-jsx@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0.tgz#034d5e2b4e14ccaea2e4c137af7e4afb39375ffd" + integrity sha512-PdmL2AoPsCLWxhIr3kG2+F9v4WH06Q3z+NoGVpQgnUNGcagXHq5sB3OXxkSahKq9TLdNMN/AJzFYSOo8UKDMHg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b" + integrity sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475" + integrity sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw== dependencies: - ansi-wrap "0.1.0" + "@babel/helper-plugin-utils" "^7.0.0" -ansi-regex@^0.2.0, ansi-regex@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" - integrity sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk= +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749" + integrity sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz#109e036496c51dd65857e16acab3bafdf3c57811" + integrity sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07" + integrity sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc" + integrity sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.10" + +"@babel/plugin-transform-classes@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz#ab3f8a564361800cbc8ab1ca6f21108038432249" + integrity sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.1.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31" + integrity sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-destructuring@^7.0.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.2.tgz#5fa77d473f5a0a3f5266ad7ce2e8c995a164d60a" + integrity sha512-cvToXvp/OsYxtEn57XJu9BvsGSEYjAh9UeUuXpoi7x6QHB7YdWyQ4lRU/q0Fu1IJNT0o0u4FQ1DMQBzJ8/8vZg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-dotall-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58" + integrity sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/plugin-transform-duplicate-keys@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86" + integrity sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-exponentiation-operator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz#9c34c2ee7fd77e02779cfa37e403a2e1003ccc73" + integrity sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-flow-strip-types@^7.0.0-beta.39": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0.tgz#c40ced34c2783985d90d9f9ac77a13e6fb396a01" + integrity sha512-WhXUNb4It5a19RsgKKbQPrjmy4yWOY1KynpEbNw7bnd1QTcrT/EIl3MJvnGgpgvrKyKbqX7nUNOJfkpLOnoDKA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + +"@babel/plugin-transform-for-of@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39" + integrity sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz#29c5550d5c46208e7f730516d41eeddd4affadbb" + integrity sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86" + integrity sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-amd@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz#f9e0a7072c12e296079b5a59f408ff5b97bf86a8" + integrity sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-commonjs@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c" + integrity sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + +"@babel/plugin-transform-modules-systemjs@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz#8873d876d4fee23209decc4d1feab8f198cf2df4" + integrity sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-umd@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz#a29a7d85d6f28c3561c33964442257cc6a21f2a8" + integrity sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-new-target@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" + integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-object-super@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz#b1ae194a054b826d8d4ba7ca91486d4ada0f91bb" + integrity sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + +"@babel/plugin-transform-parameters@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz#44f492f9d618c9124026e62301c296bf606a7aed" + integrity sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw== + dependencies: + "@babel/helper-call-delegate" "^7.1.0" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-react-jsx@^7.0.0-beta.39": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0.tgz#524379e4eca5363cd10c4446ba163f093da75f3e" + integrity sha512-0TMP21hXsSUjIQJmu/r7RiVxeFrXRcMUigbKu0BLegJK9PkYodHstaszcig7zxXfaBji2LYUdtqIkHs+hgYkJQ== + dependencies: + "@babel/helper-builder-react-jsx" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + +"@babel/plugin-transform-regenerator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" + integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== + dependencies: + regenerator-transform "^0.13.3" + +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15" + integrity sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b" + integrity sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-sticky-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366" + integrity sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65" + integrity sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typeof-symbol@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9" + integrity sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-unicode-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc" + integrity sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/preset-env@^7.0.0-beta.39": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.0.tgz#e67ea5b0441cfeab1d6f41e9b5c79798800e8d11" + integrity sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.1.0" + "@babel/plugin-proposal-json-strings" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.0.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.1.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.1.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-dotall-regex" "^7.0.0" + "@babel/plugin-transform-duplicate-keys" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.1.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.1.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-amd" "^7.1.0" + "@babel/plugin-transform-modules-commonjs" "^7.1.0" + "@babel/plugin-transform-modules-systemjs" "^7.0.0" + "@babel/plugin-transform-modules-umd" "^7.1.0" + "@babel/plugin-transform-new-target" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.1.0" + "@babel/plugin-transform-parameters" "^7.1.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typeof-symbol" "^7.0.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + browserslist "^4.1.0" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.3.0" + +"@babel/template@^7.1.0", "@babel/template@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644" + integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.1.2" + "@babel/types" "^7.1.2" + +"@babel/traverse@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.0.tgz#503ec6669387efd182c3888c4eec07bcc45d91b2" + integrity sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + debug "^3.1.0" + globals "^11.1.0" + lodash "^4.17.10" + +"@babel/types@^7.0.0", "@babel/types@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.2.tgz#183e7952cf6691628afdc2e2b90d03240bac80c0" + integrity sha512-pb1I05sZEKiSlMUV9UReaqsCPUpgbHHHu2n1piRm7JkuBkm6QxcaIzKu6FMnMtCbih/cEYTR+RGYYC96Yk9HAg== + dependencies: + esutils "^2.0.2" + lodash "^4.17.10" + to-fast-properties "^2.0.0" + +"@types/acorn@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.3.tgz#d1f3e738dde52536f9aad3d3380d14e448820afd" + integrity sha512-gou/kWQkGPMZjdCKNZGDpqxLm9+ErG/pFZKPX4tvCjr0Xf4FCYYX3nAsu7aDVKJV3KUe27+mvqqyWT/9VZoM/A== + dependencies: + "@types/estree" "*" + +"@types/estree@*": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/estree@0.0.38": + version "0.0.38" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.38.tgz#c1be40aa933723c608820a99a373a16d215a1ca2" + integrity sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA== + +"@vue/component-compiler-utils@^1.0.0": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz#686f0b913d59590ae327b2a1cb4b6d9b931bbe0e" + integrity sha512-IyjJW6ToMitgAhp3xh22QiEW8JvHfLyzlyY/J+GjJ71miod9tNsy6xT2ckm/VirlhPMfeM43kgYZe34jhmmzpw== + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^6.0.20" + postcss-selector-parser "^3.1.1" + prettier "^1.13.0" + source-map "^0.5.6" + vue-template-es2015-compiler "^1.6.0" + +acorn-dynamic-import@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" + integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg== + dependencies: + acorn "^5.0.0" + +acorn-es7-plugin@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz#f2ee1f3228a90eead1245f9ab1922eb2e71d336b" + integrity sha1-8u4fMiipDurRJF+asZIusucdM2s= + +acorn-jsx@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e" + integrity sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw== + dependencies: + acorn "^5.0.3" + +"acorn@>= 2.5.2 <= 5.7.3", acorn@^5.0.0, acorn@^5.0.3, acorn@^5.4.1, acorn@^5.5.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + +ansi-escapes@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" + integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= -ansi-styles@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" - integrity sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94= +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= ansi-styles@^2.2.1: version "2.2.1" @@ -36,15 +736,12 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-wrap@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" - integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" arr-diff@^2.0.0: version "2.0.0" @@ -53,37 +750,19 @@ arr-diff@^2.0.0: dependencies: arr-flatten "^1.0.1" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.0.1, arr-flatten@^1.1.0: +arr-flatten@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= - -array-each@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" - integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8= - -array-slice@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" - integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" -array-uniq@^1.0.2: +array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= @@ -93,45 +772,114 @@ array-unique@^0.2.1: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ= + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +babel-plugin-alter-object-assign@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-alter-object-assign/-/babel-plugin-alter-object-assign-1.0.2.tgz#eb73f6c18b391093a2be8849ee2f8351d7751f3f" + integrity sha512-16m4iTnj1FQ439wM4bisjfnd10Kk9ArY6x7oLbZ3OyaNckyXzhmuQWQ/ntdDaZxhrkBGJZiJtUNH/k3kLRxD+Q== -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +babel-plugin-transform-vue-jsx@^4: + version "4.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-4.0.1.tgz#2c8bddce87a6ef09eaa59869ff1bfbeeafc5f88d" + integrity sha512-wbOz7ITB5cloLSjKUU1hWn8zhR+Dwah/RZiTiJY/CQliCwhowmzu6m7NEF+y5EJX/blDzGjRtZvC10Vdb3Q7vw== + dependencies: + esutils "^2.0.2" -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -beeper@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" - integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== -brace-expansion@^1.0.0, brace-expansion@^1.1.7: +bili@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bili/-/bili-3.1.2.tgz#0888ef9f479331c5f213899e2821a2e3ea35c72a" + integrity sha1-CIjvn0eTMcXyE4meKCGi4+o1xyo= + dependencies: + "@babel/core" "^7.0.0-beta.39" + "@babel/plugin-proposal-class-properties" "^7.0.0-beta.39" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0-beta.39" + "@babel/plugin-transform-flow-strip-types" "^7.0.0-beta.39" + "@babel/plugin-transform-react-jsx" "^7.0.0-beta.39" + "@babel/preset-env" "^7.0.0-beta.39" + babel-plugin-alter-object-assign "^1.0.1" + babel-plugin-transform-vue-jsx "^4" + boxen "^1.3.0" + bytes "^3.0.0" + cac "^4.2.4" + camelcase "^4.1.0" + chalk "^2.3.0" + fast-async "^6.3.0" + find-babel-config "^1.1.0" + first-commit-date "^0.2.0" + fs-extra "^5.0.0" + globby "^7.1.1" + gzip-size "^4.1.0" + is-builtin-module "^2.0.0" + is-ci "^1.1.0" + log-update "^2.3.0" + parse-package-name "^0.1.0" + resolve-from "^4.0.0" + rollup "^0.57.1" + rollup-plugin-alias "^1.4.0" + rollup-plugin-babel "^4.0.0-beta.2" + rollup-plugin-buble "^0.19.2" + rollup-plugin-commonjs "^9.1.0" + rollup-plugin-hashbang "^1.0.1" + rollup-plugin-json "^2.3.0" + rollup-plugin-node-resolve "^3.3.0" + rollup-plugin-postcss "^1.2.3" + rollup-plugin-replace "^2.0.0" + rollup-plugin-uglify "^3.0.0" + string-width "^2.1.1" + stringify-author "^0.1.3" + text-table "^0.2.0" + use-config "^2.0.4" + +bluebird@^3.1.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" + integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== + +boxen@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== @@ -148,58 +896,91 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk= + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.2.0.tgz#3e5e5edf7fa9758ded0885cf88c1e4be753a591c" + integrity sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w== + dependencies: + caniuse-lite "^1.0.30000889" + electron-to-chromium "^1.3.73" + node-releases "^1.0.0-alpha.12" + +buble@^0.19.4: + version "0.19.4" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.19.4.tgz#0b51466592555ee34ff5fbe1030a97f3812e4d0a" + integrity sha512-xaTfnWdx80TiajGDZoSYB17nEDqjGnVxeug5W7tvXIAMn61yMa5AfTuWu3F4nLL2Fv/hK8T6GktZvQ6yvPZMpA== + dependencies: + acorn "^5.4.1" + acorn-dynamic-import "^3.0.0" + acorn-jsx "^4.1.1" + chalk "^2.3.1" + magic-string "^0.22.4" + minimist "^1.2.0" + os-homedir "^1.0.1" + regexpu-core "^4.1.3" + vlq "^1.0.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -chalk@*: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +builtin-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e" + integrity sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg== -chalk@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" - integrity sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ= +bytes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +cac@^4.2.4: + version "4.4.4" + resolved "https://registry.yarnpkg.com/cac/-/cac-4.4.4.tgz#dec5f3f6aae29ce988d7654e1fb3c6e8077924b1" + integrity sha1-3sXz9qrinOmI12VOH7PG6Ad5JLE= + dependencies: + chalk "^2.0.1" + minimost "^1.0.0" + read-pkg-up "^2.0.0" + redent "^2.0.0" + string-width "^2.1.1" + text-table "^0.2.0" + +camelcase@^4.0.0, camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw= dependencies: - ansi-styles "^1.1.0" - escape-string-regexp "^1.0.0" - has-ansi "^0.1.0" - strip-ansi "^0.3.0" - supports-color "^0.2.0" + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000890" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000890.tgz#b406595db8b631975b8dc5fa174f32925c23778b" + integrity sha512-aO5uw1Taw8GkNMMXIWOz/WJz3y6tR1ETUAdH/pvO5EoJ3I1Po9vNJd9aMjY1GKucS/OXWMiQbXRbk3O1sgCbRA== -chalk@^1.0.0: +caniuse-lite@^1.0.30000889: + version "1.0.30000890" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz#86a18ffcc65d79ec6a437e985761b8bf1c4efeaf" + integrity sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg== + +chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= @@ -210,64 +991,52 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== + dependencies: + chalk "^1.1.3" -clone-stats@^1.0.0: +cli-boxes@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -clone@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" - integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8= +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" -clone@^1.0.0, clone@^1.0.2: +clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - integrity sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" + q "^1.1.2" -color-convert@^1.9.0: +color-convert@^1.3.0, color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -279,159 +1048,269 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -commander@^2.3.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= + dependencies: + color-name "^1.0.0" -component-emitter@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM= + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= + +commander@~2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" + integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-with-sourcemaps@^1.0.0: +concat-with-sourcemaps@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== dependencies: source-map "^0.6.1" -convert-source-map@^1.1.1: +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +convert-source-map@^1.1.0: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -dateformat@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" - integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + integrity sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A== dependencies: - ms "2.0.0" + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -defaults@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= dependencies: - clone "^1.0.2" + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= +css-modules-loader-core@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" + integrity sha1-WQhmgpShvs0mGuCkziGwtVHyHRY= + dependencies: + icss-replace-symbols "1.1.0" + postcss "6.0.1" + postcss-modules-extract-imports "1.1.0" + postcss-modules-local-by-default "1.2.0" + postcss-modules-scope "1.1.0" + postcss-modules-values "1.3.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" + integrity sha1-5piEdK6MlTR3v15+/s/OzNnPTIY= + dependencies: + cssesc "^0.1.0" + fastparse "^1.1.1" + regexpu-core "^1.0.0" + +cssesc@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" + integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= + +cssnano@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= dependencies: - is-descriptor "^0.1.0" + clap "^1.0.9" + source-map "^0.5.3" -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= +date-time@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" + integrity sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g== dependencies: - is-descriptor "^1.0.0" + time-zone "^1.0.0" -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== +debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" + ms "^2.1.1" -deprecated@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" - integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk= +decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= -detect-file@^1.0.0: +defined@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + +dir-glob@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" + integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== + dependencies: + arrify "^1.0.1" + path-type "^3.0.0" -duplexer2@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= +dot-prop@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== dependencies: - readable-stream "~1.1.9" + is-obj "^1.0.0" -duplexer@~0.1.1: +duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= -duplexify@^3.2.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" - integrity sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.73: + version "1.3.77" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.77.tgz#9207a874a21a8fcb665bb4ff1675a11ba65517f4" + integrity sha512-XIfQcdU9L4qUte31fFATwptHodMH0Otf53N8y1AKxd1+79vR+2UYpLq+Z1Zbtbuy+w0xd7KwIUrvlnje/htiOg== -end-of-stream@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -end-of-stream@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8= +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: - once "~1.3.0" + is-arrayish "^0.2.1" -escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -event-stream@~3.1.5: - version "3.1.7" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.1.7.tgz#b4c540012d0fe1498420f3d8946008db6393c37a" - integrity sha1-tMVAAS0P4UmEIPPYlGAI22OTw3o= - dependencies: - duplexer "~0.1.1" - from "~0" - map-stream "~0.1.0" - pause-stream "0.0.11" - split "0.2" - stream-combiner "~0.0.4" - through "~2.3.1" +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +estree-walker@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" + integrity sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig== + +esutils@^2.0.0, esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" expand-brackets@^0.1.4: version "0.1.5" @@ -440,19 +1319,6 @@ expand-brackets@^0.1.4: dependencies: is-posix-bracket "^0.1.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" @@ -460,33 +1326,6 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -494,33 +1333,18 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -fancy-log@^1.1.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" - integrity sha1-9BEl49hPLn2JpD0G2VjI94vha+E= +fast-async@^6.3.0: + version "6.3.8" + resolved "https://registry.yarnpkg.com/fast-async/-/fast-async-6.3.8.tgz#031b9e1d5a84608b117b3e7c999ad477ed2b08a2" + integrity sha512-TjlooyqrYm/gOXjD2UHNwfrWkvTbzU105Nk4bvcRTeRoL+wIeK6rqbqDg3CN9z5p37cE2iXhP6SxQFz8OVIaUg== dependencies: - ansi-gray "^0.1.1" - color-support "^1.1.3" - time-stamp "^1.0.0" + nodent-compiler "^3.2.10" + nodent-runtime ">=3.2.1" -file-size@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/file-size/-/file-size-0.0.5.tgz#057d43c3a3ed735da3f90d6052ab380f1e6d5e3b" - integrity sha1-BX1Dw6Ptc12j+Q1gUqs4Dx5tXjs= +fastparse@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" + integrity sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg= filename-regex@^2.0.0: version "2.0.1" @@ -538,53 +1362,34 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= +find-babel-config@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355" + integrity sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U= dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -find-index@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ= + json5 "^0.5.1" + path-exists "^3.0.0" -findup-sync@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" - integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: - detect-file "^1.0.0" - is-glob "^3.1.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" + locate-path "^2.0.0" -fined@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" - integrity sha1-s33IRLdqL15wgeiE98CuNE8VNHY= +first-commit-date@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/first-commit-date/-/first-commit-date-0.2.0.tgz#2ee97057ed52103862a58acf4b1d244d7705e261" + integrity sha1-LulwV+1SEDhipYrPSx0kTXcF4mE= dependencies: - expand-tilde "^2.0.2" - is-plain-object "^2.0.3" - object.defaults "^1.1.0" - object.pick "^1.2.0" - parse-filepath "^1.0.1" - -first-chunk-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" - integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= + get-first-commit "^0.2.0" -flagged-respawn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" - integrity sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c= +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= -for-in@^1.0.1, for-in@^1.0.2: +for-in@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= @@ -596,36 +1401,58 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" -for-own@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" - integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs= +fs-extra@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" + integrity sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ== dependencies: - for-in "^1.0.1" + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= +fs-extra@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd" + integrity sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ== dependencies: - map-cache "^0.2.2" + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" -from@~0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" - integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -gaze@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" - integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8= +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +generic-names@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" + integrity sha1-LXhqEhruUIh2eWk56OO/+DbCCRc= + dependencies: + loader-utils "^0.2.16" + +get-first-commit@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/get-first-commit/-/get-first-commit-0.2.0.tgz#e2948c0bf7859b40ddba6b5525f383db87251396" + integrity sha1-4pSMC/eFm0DdumtVJfOD24clE5Y= dependencies: - globule "~0.1.0" + gitty "^3.2.3" + lazy-cache "^0.2.4" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +gitty@^3.2.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/gitty/-/gitty-3.6.0.tgz#4a001a6cb2f749cc28f7fbe2ca9ed415d71c1e53" + integrity sha1-SgAabLL3Scwo9/viyp7UFdccHlM= glob-base@^0.3.0: version "0.3.0" @@ -642,296 +1469,120 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-stream@^3.1.5: - version "3.1.18" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" - integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs= - dependencies: - glob "^4.3.1" - glob2base "^0.0.12" - minimatch "^2.0.1" - ordered-read-streams "^0.1.0" - through2 "^0.6.1" - unique-stream "^1.0.0" - -glob-stream@^5.3.2: - version "5.3.5" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" - integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI= - dependencies: - extend "^3.0.0" - glob "^5.0.3" - glob-parent "^3.0.0" - micromatch "^2.3.7" - ordered-read-streams "^0.3.0" - through2 "^0.6.0" - to-absolute-glob "^0.1.1" - unique-stream "^2.0.2" - -glob-watcher@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" - integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs= - dependencies: - gaze "^0.5.1" - -glob2base@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY= - dependencies: - find-index "^0.1.1" - -glob@^4.3.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" - integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "^2.0.1" - once "^1.3.0" - -glob@^5.0.3: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= +glob@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== dependencies: + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "2 || 3" + minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" -glob@~3.1.21: - version "3.1.21" - resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" - integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0= - dependencies: - graceful-fs "~1.2.0" - inherits "1" - minimatch "~0.2.11" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -globule@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" - integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU= - dependencies: - glob "~3.1.21" - lodash "~1.0.1" - minimatch "~0.2.11" - -glogg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" - integrity sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw== - dependencies: - sparkles "^1.0.0" +globals@^11.1.0: + version "11.8.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.8.0.tgz#c1ef45ee9bed6badf0663c5cb90e8d1adec1321d" + integrity sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA== -graceful-fs@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - integrity sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg= +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= dependencies: - natives "^1.1.0" + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.2: +graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= -graceful-fs@~1.2.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= - -gulp-add-src@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/gulp-add-src/-/gulp-add-src-0.2.0.tgz#9e10294619f91a0e7f4217c4f5e51841bcdbef17" - integrity sha1-nhApRhn5Gg5/QhfE9eUYQbzb7xc= +gzip-size@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c" + integrity sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw= dependencies: - event-stream "~3.1.5" - streamqueue "^0.1.1" - through2 "~0.4.1" - vinyl-fs "~0.3.11" + duplexer "^0.1.1" + pify "^3.0.0" -gulp-concat@^2.4.2: - version "2.6.1" - resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" - integrity sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M= +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: - concat-with-sourcemaps "^1.0.0" - through2 "^2.0.0" - vinyl "^2.0.0" - -gulp-rename@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" - integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== + ansi-regex "^2.0.0" -gulp-sourcemaps@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" - integrity sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw= - dependencies: - convert-source-map "^1.1.1" - graceful-fs "^4.1.2" - strip-bom "^2.0.0" - through2 "^2.0.0" - vinyl "^1.0.0" - -gulp-typescript@^2.3.0: - version "2.14.1" - resolved "https://registry.yarnpkg.com/gulp-typescript/-/gulp-typescript-2.14.1.tgz#bc00edf2ee71f09bda53fd1d0b873b571371d4de" - integrity sha1-vADt8u5x8JvaU/0dC4c7VxNx1N4= - dependencies: - gulp-util "~3.0.7" - source-map "~0.5.3" - through2 "~2.0.1" - typescript "1.8.10" - vinyl-fs "~2.4.3" - -gulp-util@*, gulp-util@^3.0.0, gulp-util@~3.0.7: - version "3.0.8" - resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" - integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08= - dependencies: - array-differ "^1.0.0" - array-uniq "^1.0.2" - beeper "^1.0.0" - chalk "^1.0.0" - dateformat "^2.0.0" - fancy-log "^1.1.0" - gulplog "^1.0.0" - has-gulplog "^0.1.0" - lodash._reescape "^3.0.0" - lodash._reevaluate "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.template "^3.0.0" - minimist "^1.1.0" - multipipe "^0.1.2" - object-assign "^3.0.0" - replace-ext "0.0.1" - through2 "^2.0.0" - vinyl "^0.5.0" - -gulp@^3.8.10: - version "3.9.1" - resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4" - integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ= - dependencies: - archy "^1.0.0" - chalk "^1.0.0" - deprecated "^0.0.1" - gulp-util "^3.0.0" - interpret "^1.0.0" - liftoff "^2.1.0" - minimist "^1.1.0" - orchestrator "^0.3.0" - pretty-hrtime "^1.0.0" - semver "^4.1.0" - tildify "^1.0.0" - v8flags "^2.0.2" - vinyl-fs "^0.3.0" - -gulplog@^1.0.0: +has-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" - integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= - dependencies: - glogg "^1.0.0" - -has-ansi@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" - integrity sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4= - dependencies: - ansi-regex "^0.2.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-gulplog@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" - integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4= +has@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: - sparkles "^1.0.0" + function-bind "^1.1.1" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= +icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + +import-cwd@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" + import-from "^2.1.0" -homedir-polyfill@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" - integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= dependencies: - parse-passwd "^1.0.0" + resolve-from "^3.0.0" + +indent-string@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" + integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= inflight@^1.0.4: version "1.0.6" @@ -941,84 +1592,58 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" - integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js= - -inherits@2, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: +inherits@2: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ= - -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" + loose-envify "^1.0.0" -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: +is-builtin-module@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= dependencies: - kind-of "^6.0.0" + builtin-modules "^1.0.0" -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== +is-builtin-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-2.0.0.tgz#431104b3b4ba838ec7a17d82bb3bccd2233e8cd9" + integrity sha512-G2jLHphOywpgrL/AaJKWDXpdpGR9X4V1PCkB+EwG5Z28z8EukgdWnAUFAS2wdBtIpwHhHBIiq0NBOWEbSXN0Rg== dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + builtin-modules "^2.0.0" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +is-ci@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + ci-info "^1.5.0" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-dotfile@^1.0.0: version "1.0.3" @@ -1032,27 +1657,20 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-extendable@^0.1.0, is-extendable@^0.1.1: +is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= -is-extglob@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" @@ -1061,12 +1679,10 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= is-number@^2.1.0: version "2.1.0" @@ -1075,24 +1691,20 @@ is-number@^2.1.0: dependencies: kind-of "^3.0.2" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= is-posix-bracket@^0.1.0: version "0.1.1" @@ -1104,51 +1716,26 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== +is-reference@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.0.tgz#50e6ef3f64c361e2c53c0416cdc9420037f2685b" + integrity sha512-h37O/IX4efe56o9k41II1ECMqKwtqHa7/12dLDEzJIFux2x15an4WCDb0/eKdmUgRpLJ3bR0DrzDc7vOrVgRDw== dependencies: - is-unc-path "^1.0.0" + "@types/estree" "0.0.38" -is-stream@^1.0.1: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk= dependencies: - unc-path-regex "^0.1.2" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-valid-glob@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" - integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4= - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + html-comment-regex "^1.1.0" -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@~1.0.0: +isarray@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -1165,224 +1752,185 @@ isobject@^2.0.0: dependencies: isarray "1.0.0" -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +js-base64@^2.1.9: + version "2.4.9" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03" + integrity sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ== -isstream@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +js-levenshtein@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e" + integrity sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow== -json-stable-stringify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.4.3: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= dependencies: - jsonify "~0.0.0" + argparse "^1.0.7" + esprima "^2.6.0" + +jsesc@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + integrity sha1-5CGiqOINawgZ3yiQj3glJrlt0f4= -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: +kind-of@^3.0.2: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - -liftoff@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" - integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew= - dependencies: - extend "^3.0.0" - findup-sync "^2.0.0" - fined "^1.0.1" - flagged-respawn "^1.0.0" - is-plain-object "^2.0.4" - object.map "^1.0.0" - rechoir "^0.6.2" - resolve "^1.1.7" - -lodash._basecopy@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" - integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= - -lodash._basetostring@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" - integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U= - -lodash._basevalues@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" - integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc= - -lodash._getnative@^3.0.0: - version "3.9.1" - resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" - integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= - -lodash._isiterateecall@^3.0.0: - version "3.0.9" - resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" - integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= - -lodash._reescape@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" - integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo= - -lodash._reevaluate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" - integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash._root@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" - integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= +lazy-cache@^0.2.4: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= -lodash.escape@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" - integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg= +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= dependencies: - lodash._root "^3.0.0" + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +locate-character@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/locate-character/-/locate-character-2.0.5.tgz#f2d2614d49820ecb3c92d80d193b8db755f74c0f" + integrity sha512-n2GmejDXtOPBAZdIiEFy5dJ5N38xBCXLNOtw2WpB9kGh6pnrEuKlwYI+Tkpofc4wDtVXHtoAOJaMRlYG/oYaxg== + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= -lodash.isarray@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" - integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.isequal@^4.0.0: +lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - -lodash.keys@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" - integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= - dependencies: - lodash._getnative "^3.0.0" - lodash.isarguments "^3.0.0" - lodash.isarray "^3.0.0" - -lodash.restparam@^3.0.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" - integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= - -lodash.template@^3.0.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" - integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8= - dependencies: - lodash._basecopy "^3.0.0" - lodash._basetostring "^3.0.0" - lodash._basevalues "^3.0.0" - lodash._isiterateecall "^3.0.0" - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" - lodash.keys "^3.0.0" - lodash.restparam "^3.0.0" - lodash.templatesettings "^3.0.0" - -lodash.templatesettings@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" - integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU= - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.escape "^3.0.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" - integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= +lodash@^4.17.10: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lru-cache@2: - version "2.7.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" - integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI= +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" -make-iterator@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" - integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw== +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: - kind-of "^6.0.2" + js-tokens "^3.0.0 || ^4.0.0" -map-cache@^0.2.0, map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" -map-stream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= +magic-string@^0.22.4: + version "0.22.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" + integrity sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w== + dependencies: + vlq "^0.2.2" -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= +magic-string@^0.25.1: + version "0.25.1" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.1.tgz#b1c248b399cd7485da0fe7385c2fc7011843266e" + integrity sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg== dependencies: - object-visit "^1.0.0" + sourcemap-codec "^1.4.1" + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + integrity sha1-3oGf282E3M2PrlnGrreWFbnSZqw= math-random@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= -merge-stream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" - integrity sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE= +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== dependencies: - readable-stream "^2.0.1" + source-map "^0.6.1" -micromatch@^2.3.7: +micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= @@ -1401,110 +1949,83 @@ micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.0.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -mime@^1.2.11: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== -"minimatch@2 || 3": +minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimatch@^2.0.1: - version "2.0.10" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" - integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc= - dependencies: - brace-expansion "^1.0.0" - -minimatch@~0.2.11: - version "0.2.14" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" - integrity sha1-x054BXT2PG+aCQ6Q775u9TpqdWo= - dependencies: - lru-cache "2" - sigmund "~1.0.0" - minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.1.0: +minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= -mixin-deep@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" - integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== +minimost@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minimost/-/minimost-1.1.0.tgz#b0356d50fec059c965743d72ce4d202d262a9705" + integrity sha1-sDVtUP7AWclldD1yzk0gLSYqlwU= dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" + minimist "^1.2.0" -mkdirp@^0.5.0: +mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -multipipe@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" - integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s= - dependencies: - duplexer2 "0.0.2" - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natives@^1.1.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" - integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== +node-releases@^1.0.0-alpha.12: + version "1.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.12.tgz#32e461b879ea76ac674e511d9832cf29da345268" + integrity sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q== + dependencies: + semver "^5.3.0" + +nodent-compiler@^3.2.10: + version "3.2.11" + resolved "https://registry.yarnpkg.com/nodent-compiler/-/nodent-compiler-3.2.11.tgz#8f4bc703d7d8d0e563f5e09ea22efdce04dbaf9b" + integrity sha512-rfDrGWdgIJYomPUzR8nXiWNuIhJ7cVodPeZP3Ho65LEycuaX2uVNZ0ytpcfrmUKzdFeLRtye9+pHe8OynPZuPQ== + dependencies: + acorn ">= 2.5.2 <= 5.7.3" + acorn-es7-plugin "^1.1.7" + nodent-transform "^3.2.9" + source-map "^0.5.7" + +nodent-runtime@>=3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/nodent-runtime/-/nodent-runtime-3.2.1.tgz#9e2755d85e39f764288f0d4752ebcfe3e541e00e" + integrity sha512-7Ws63oC+215smeKJQCxzrK21VFVlCFBkwl0MOObt0HOpVQXs3u483sAmtkF33nNqZ5rSOQjB76fgyPBmAUrtCA== + +nodent-transform@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/nodent-transform/-/nodent-transform-3.2.9.tgz#ec11a6116b5476e60bc212371cf6b8e4c74f40b6" + integrity sha512-4a5FH4WLi+daH/CGD5o/JWRR8W5tlCkd3nrDSkxbOzscJTyTUITltvOJeQjg3HJ1YgEuNyiPhQbvbtRjkQBByQ== + +normalize-package-data@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" normalize-path@^2.0.1: version "2.1.1" @@ -1513,54 +2034,37 @@ normalize-path@^2.0.1: dependencies: remove-trailing-separator "^1.0.1" -object-assign@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" - integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= - -object-assign@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" - integrity sha1-KKaq50KN0sOpLz2V8hM13SBOAzY= + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= dependencies: - isobject "^3.0.0" + path-key "^2.0.0" -object.defaults@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" - integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8= - dependencies: - array-each "^1.0.1" - array-slice "^1.0.0" - for-own "^1.0.0" - isobject "^3.0.0" +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -object.map@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" - integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc= - dependencies: - for-own "^1.0.0" - make-iterator "^1.0.0" +object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object.omit@^2.0.0: version "2.0.1" @@ -1570,74 +2074,53 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" -object.pick@^1.2.0, object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA= +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= dependencies: - wrappy "1" + mimic-fn "^1.0.0" -open@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" - integrity sha1-QsPhjslUZra/DcQvOilFw/DK2Pw= +os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -opn@^5.2.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" - integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== - dependencies: - is-wsl "^1.1.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -orchestrator@^0.3.0: - version "0.3.8" - resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e" - integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4= +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: - end-of-stream "~0.1.5" - sequencify "~0.0.7" - stream-consume "~0.1.0" + p-try "^1.0.0" -ordered-read-streams@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" - integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY= - -ordered-read-streams@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" - integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s= +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: - is-stream "^1.0.1" - readable-stream "^2.0.1" + p-limit "^1.1.0" -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +p-queue@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-2.4.2.tgz#03609826682b743be9a22dba25051bd46724fc34" + integrity sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng== -parse-filepath@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.1.1" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= parse-glob@^3.0.4: version "3.0.4" @@ -1649,376 +2132,882 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +parse-ms@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" + integrity sha1-VjRtR0nXjyNDDKDHE4UK75GqNh0= -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= +parse-package-name@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/parse-package-name/-/parse-package-name-0.1.0.tgz#3f44dd838feb4c2be4bf318bae4477d7706bade4" + integrity sha1-P0Tdg4/rTCvkvzGLrkR313BrreQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-parse@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= dependencies: - path-root-regex "^0.1.0" + pify "^2.0.0" -pause-stream@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: - through "~2.3" + pify "^3.0.0" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= -pretty-hrtime@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" - integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14= + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks= + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" -randomatic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" - integrity sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ== +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0= dependencies: - is-number "^4.0.0" - kind-of "^6.0.0" - math-random "^1.0.1" + postcss "^5.0.11" + postcss-value-parser "^3.1.2" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17, readable-stream@~1.0.33: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0= + dependencies: + postcss "^5.0.14" -readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + integrity sha1-uavye4isGIFYpesSq8riAmO5GTI= dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" + postcss "^5.0.4" -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU= dependencies: - resolve "^1.1.6" + postcss "^5.0.14" -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg= dependencies: - is-equal-shallow "^0.1.3" + postcss "^5.0.16" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM= dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" + postcss "^5.0.14" + uniqs "^2.0.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= +postcss-filter-plugins@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" + integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ== + dependencies: + postcss "^5.0.4" -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== +postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + integrity sha1-U56a/J3chiASHr+djDZz4M5Q0oo= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" -repeat-string@^1.5.2, repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + integrity sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + integrity sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI= + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" -replace-ext@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA= + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg= dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" + postcss "^5.0.4" -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE= + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" -resolve@^1.1.6, resolve@^1.1.7: - version "1.8.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" - integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k= dependencies: - path-parse "^1.0.5" + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE= + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" -run-sequence@^1.0.2: +postcss-minify-params@^1.0.4: version "1.2.2" - resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb" - integrity sha1-UJWgvr6YczsBQL0I3YDsAw3azes= + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM= dependencies: - chalk "*" - gulp-util "*" + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8= + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" -safe-regex@^1.1.0: +postcss-modules-extract-imports@1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" + integrity sha1-thTJcgvmgW6u41+zpfqh26agXds= dependencies: - ret "~0.1.10" + postcss "^6.0.1" -semver@^4.1.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= +postcss-modules-local-by-default@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" -sequencify@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c" - integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw= +postcss-modules-scope@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" -set-value@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" - integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= +postcss-modules-values@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.1" - to-object-path "^0.3.0" + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" -set-value@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" - integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== +postcss-modules@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-1.4.1.tgz#8aa35bd3461db67e27377a7ce770d77b654a84ef" + integrity sha512-btTrbK+Xc3NBuYF8TPBjCMRSp5h6NoQ1iVZ6WiDQENIze6KIYCSf0+UFQuV3yJ7gRHA+4AAtF8i2jRvUpbBMMg== dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" + css-modules-loader-core "^1.1.0" + generic-names "^1.0.3" + lodash.camelcase "^4.3.0" + postcss "^7.0.1" + string-hash "^1.1.1" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E= + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" -sigmund@~1.0.0: +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo= + dependencies: + postcss "^5.0.4" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE= dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= dependencies: - kind-of "^3.2.0" + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== +postcss-selector-parser@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" + integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" + dot-prop "^4.1.1" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0= + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0= + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + integrity sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU= + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI= + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.1.tgz#000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2" + integrity sha1-AA29H47vIXqjaLmiEsX8QLKo8/I= + dependencies: + chalk "^1.1.3" source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" + supports-color "^3.2.3" -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= +postcss@^6.0.1, postcss@^6.0.20, postcss@^6.0.21: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" -source-map@^0.5.6, source-map@~0.5.3: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +postcss@^7.0.1: + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55" + integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.5.0" -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= -sparkles@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" - integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +prettier@^1.13.0: + version "1.14.3" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.3.tgz#90238dd4c0684b7edce5f83b0fb7328e48bd0895" + integrity sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg== + +pretty-ms@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-3.2.0.tgz#87a8feaf27fc18414d75441467d411d6e6098a25" + integrity sha512-ZypexbfVUGTFxb0v+m1bUyy92DHe5SyYlnyY0msyms5zd3RwyvNgyxZZsXXgoyzlxjx5MiqtXUdhUfvQbe0A2Q== + dependencies: + parse-ms "^1.0.0" + +private@^0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +promise.series@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" + integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +pupa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-1.0.0.tgz#9a9568a5af7e657b8462a6e9d5328743560ceff6" + integrity sha1-mpVopa9+ZXuEYqbp1TKHQ1YM7/Y= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -split-string@^3.0.1, split-string@^3.0.2: +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +randomatic@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" + integrity sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +redent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" + integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= dependencies: - extend-shallow "^3.0.0" + indent-string "^3.0.0" + strip-indent "^2.0.0" -split@0.2: - version "0.2.10" - resolved "https://registry.yarnpkg.com/split/-/split-0.2.10.tgz#67097c601d697ce1368f418f06cd201cf0521a57" - integrity sha1-Zwl8YB1pfOE2j0GPBs0gHPBSGlc= +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= dependencies: - through "2" + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + integrity sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk= + dependencies: + balanced-match "^0.4.2" + +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.2.1, regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== + +regenerator-transform@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" + integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== + dependencies: + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regexpu-core@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" + integrity sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs= + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^4.1.3, regexpu-core@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d" + integrity sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.4.0" + regjsparser "^0.3.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + +regjsgen@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561" + integrity sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA== + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= + dependencies: + jsesc "~0.5.0" + +regjsparser@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96" + integrity sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -static-extend@^0.1.1: +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= + +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" + integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= + +reserved-words@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + resolved "https://registry.yarnpkg.com/reserved-words/-/reserved-words-0.1.2.tgz#00a0940f98cd501aeaaac316411d9adc52b31ab1" + integrity sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE= + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@1.8.1, resolve@^1.1.6, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" + path-parse "^1.0.5" -static-server@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/static-server/-/static-server-2.2.1.tgz#49e3cae2a001736b0ee9e95d21d3d843fc95efaa" - integrity sha512-j5eeW6higxYNmXMIT8iHjsdiViTpQDthg7o+SHsRtqdbxscdHqBHXwrXjHC8hL3F0Tsu34ApUpDkwzMBPBsrLw== +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= dependencies: - chalk "^0.5.1" - commander "^2.3.0" - file-size "0.0.5" - mime "^1.2.11" - opn "^5.2.0" + onetime "^2.0.0" + signal-exit "^3.0.2" -stream-combiner@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= +rollup-plugin-alias@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.4.0.tgz#120cba7c46621c03138f0ca6fd5dd2ade9872db9" + integrity sha512-lB094zdi19FS+1bVarVp9kBN0Zk41PdTGoCk0z8xesKO7RGjOo18cp1hUzEqrOQ4bM9+KLD9nbnu/XUxQm9pbg== dependencies: - duplexer "~0.1.1" + slash "^1.0.0" -stream-consume@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48" - integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg== +rollup-plugin-babel@^4.0.0-beta.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-4.0.3.tgz#8282b0e22233160d679e9c7631342e848422fb02" + integrity sha512-/PP0MgbPQyRywI4zRIJim6ySjTcOLo4kQbEbROqp9kOR3kHC3FeU++QpBDZhS2BcHtJTVZMVbBV46flbBN5zxQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + rollup-pluginutils "^2.3.0" + +rollup-plugin-buble@^0.19.2: + version "0.19.4" + resolved "https://registry.yarnpkg.com/rollup-plugin-buble/-/rollup-plugin-buble-0.19.4.tgz#b0dde11ad2736b68e94ba2aa34de7822c6e28d24" + integrity sha512-mahvTRn9mUVKEUyA5QbrfdybOH7tipHRe4zkKZjEGMB3YSaLW95kHFSB4Vdt7BofyG9r7zMCCmAsEqZKkRaN6A== + dependencies: + buble "^0.19.4" + rollup-pluginutils "^2.3.3" + +rollup-plugin-commonjs@^9.1.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-9.2.0.tgz#4604e25069e0c78a09e08faa95dc32dec27f7c89" + integrity sha512-0RM5U4Vd6iHjL6rLvr3lKBwnPsaVml+qxOGaaNUWN1lSq6S33KhITOfHmvxV3z2vy9Mk4t0g4rNlVaJJsNQPWA== + dependencies: + estree-walker "^0.5.2" + magic-string "^0.25.1" + resolve "^1.8.1" + rollup-pluginutils "^2.3.3" + +rollup-plugin-hashbang@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-hashbang/-/rollup-plugin-hashbang-1.0.1.tgz#4bfa5afc55d92fbfb52cc0bd99270ed06eec6cf0" + integrity sha512-m35A6J3ZT4n8+ZDnMex4RLb8UdEuAMuN22Wh3V+NDgLB8drJ80U5W+huwgBIMkOSzT6CRVRlx0hvGVODB7Y/gg== + dependencies: + magic-string "^0.22.4" + +rollup-plugin-json@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-json/-/rollup-plugin-json-2.3.1.tgz#9759d27f33dcd2c896de18b6235df162b88edd77" + integrity sha512-alQQQVPo2z9pl6LSK8QqyDlWwCH5KeE8YxgQv7fa/SeTxz+gQe36jBjcha7hQW68MrVh9Ms71EQaMZDAG3w2yw== + dependencies: + rollup-pluginutils "^2.0.1" + +rollup-plugin-node-resolve@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz#908585eda12e393caac7498715a01e08606abc89" + integrity sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg== + dependencies: + builtin-modules "^2.0.0" + is-module "^1.0.0" + resolve "^1.1.6" + +rollup-plugin-postcss@^1.2.3: + version "1.6.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-1.6.2.tgz#f3422a56dab21bcb2e9b7182763733d4ff2c1b4c" + integrity sha512-kKUdZRWSG7IQwXztKA4NTxFKcII7dn5rxAuJyNRJ9QTErRaM6mH4GoFCBPm0KT9TUZDOGCREdRI4VHUdEV+MJA== + dependencies: + "@vue/component-compiler-utils" "^1.0.0" + chalk "^2.0.0" + concat-with-sourcemaps "^1.0.5" + cssnano "^3.10.0" + fs-extra "^5.0.0" + import-cwd "^2.1.0" + p-queue "^2.4.2" + pify "^3.0.0" + postcss "^6.0.21" + postcss-load-config "^1.2.0" + postcss-modules "^1.1.0" + promise.series "^0.2.0" + reserved-words "^0.1.2" + resolve "^1.5.0" + rollup-pluginutils "^2.0.1" + style-inject "^0.3.0" + +rollup-plugin-replace@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-2.1.0.tgz#f9c07a4a89a2f8be912ee54b3f0f68d91e9ed0ae" + integrity sha512-SxrAIgpH/B5/W4SeULgreOemxcpEgKs2gcD42zXw50bhqGWmcnlXneVInQpAqzA/cIly4bJrOpeelmB9p4YXSQ== + dependencies: + magic-string "^0.25.1" + minimatch "^3.0.2" + rollup-pluginutils "^2.0.1" + +rollup-plugin-typescript2@^0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.17.1.tgz#298099f372270ae3f41fa63188400c3df2dbdb2b" + integrity sha512-WZJ220IID2UJm3P15zIWQR6vi6YekRsL4irXYq/C9JHg+j9rqQOsihzXQM644LMgtwS3NUWKegbCOhUlCO7hKQ== + dependencies: + fs-extra "7.0.0" + resolve "1.8.1" + rollup-pluginutils "2.3.3" + tslib "1.9.3" + +rollup-plugin-uglify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-3.0.0.tgz#a34eca24617709c6bf1778e9653baafa06099b86" + integrity sha512-dehLu9eRRoV4l09aC+ySntRw1OAfoyKdbk8Nelblj03tHoynkSybqyEpgavemi1LBOH6S1vzI58/mpxkZIe1iQ== + dependencies: + uglify-es "^3.3.7" + +rollup-pluginutils@2.3.3, rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.3.0, rollup-pluginutils@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz#3aad9b1eb3e7fe8262820818840bf091e5ae6794" + integrity sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA== + dependencies: + estree-walker "^0.5.2" + micromatch "^2.3.11" + +rollup@^0.57.1: + version "0.57.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.57.1.tgz#0bb28be6151d253f67cf4a00fea48fb823c74027" + integrity sha512-I18GBqP0qJoJC1K1osYjreqA8VAKovxuI3I81RSk0Dmr4TgloI0tAULjZaox8OsJ+n7XRrhH6i0G2By/pj1LCA== + dependencies: + "@types/acorn" "^4.0.3" + acorn "^5.5.3" + acorn-dynamic-import "^3.0.0" + date-time "^2.1.0" + is-reference "^1.1.0" + locate-character "^2.0.5" + pretty-ms "^3.1.0" + require-relative "^0.8.7" + rollup-pluginutils "^2.0.1" + signal-exit "^3.0.2" + sourcemap-codec "^1.4.1" + +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -stream-shift@^1.0.0: +sax@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= -streamqueue@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/streamqueue/-/streamqueue-0.1.3.tgz#b10d65158af579ce3a5f48c9276d01db23d4f8b5" - integrity sha1-sQ1lFYr1ec46X0jJJ20B2yPU+LU= +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= dependencies: - isstream "~0.1.1" - readable-stream "~1.0.33" + is-plain-obj "^1.0.0" -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +sourcemap-codec@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33" + integrity sha512-vFrY/x/NdsD7Yc8mpTJXuao9S8lq08Z/kOITHz6b7YbfI9xL8Spe5EvSQUHOI7SbpY8bRPr0U3kKSsPuqEGSfA== + +spdx-correct@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" + integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ== dependencies: - safe-buffer "~5.1.0" + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" -strip-ansi@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" - integrity sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA= +spdx-exceptions@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" + integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== dependencies: - ansi-regex "^0.2.1" + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" + integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-hash@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" + integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= + +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +stringify-author@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stringify-author/-/stringify-author-0.1.3.tgz#d581e02ce0b55cda3c953e62add211fae4b0ef66" + integrity sha1-1YHgLOC1XNo8lT5irdIR+uSw72Y= strip-ansi@^3.0.0: version "3.0.1" @@ -2027,299 +3016,222 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" -strip-bom-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" - integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4= +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= dependencies: - first-chunk-stream "^1.0.0" - strip-bom "^2.0.0" + ansi-regex "^3.0.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-bom@^1.0.0: +strip-eof@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" - integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q= - dependencies: - first-chunk-stream "^1.0.0" - is-utf8 "^0.2.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= -strip-bom@^2.0.0: +strip-indent@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" - integrity sha1-2S3iaU6z9nMjlz1649i1W0wiGQo= +style-inject@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" + integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0, supports-color@^5.4.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" -through2-filter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" - integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw= - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^0.6.0, through2@^0.6.1: - version "0.6.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" - integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= - dependencies: - readable-stream ">=1.0.33-1 <1.1.0-0" - xtend ">=4.0.0 <4.1.0-0" - -through2@^2.0.0, through2@~2.0.0, through2@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" - integrity sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s= +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= dependencies: - readable-stream "~1.0.17" - xtend "~2.1.1" + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" -through@2, through@~2.3, through@~2.3.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -tildify@^1.0.0: +term-size@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a" - integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo= + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= dependencies: - os-homedir "^1.0.0" + execa "^0.7.0" -time-stamp@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" - integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -to-absolute-glob@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" - integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38= - dependencies: - extend-shallow "^2.0.1" +time-zone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" + integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" +tslib@1.9.3: + version "1.9.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" + integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== "tsm@https://github.com/VitorluizC/tsm": version "0.9.0" resolved "https://github.com/VitorluizC/tsm#30089842d5641995a3b877e10edf1b5335d61b05" -typescript@1.8.10: - version "1.8.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-1.8.10.tgz#b475d6e0dff0bf50f296e5ca6ef9fbb5c7320f1e" - integrity sha1-tHXW4N/wv1DyluXKbvn7tccyDx4= - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= +typescript@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.2.tgz#c03a5d16f30bb60ad8bb6fe8e7cb212eedeec950" + integrity sha512-gOoGJWbNnFAfP9FlrSV63LYD5DJqYJHG5ky1kOXSl3pCImn4rqWy/flyq1BRd4iChQsoCqjbQaqtmXO4yCVPCA== -union-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" - integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= +uglify-es@^3.3.7: + version "3.3.9" + resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" + integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ== dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" + commander "~2.13.0" + source-map "~0.6.1" -unique-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" - integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs= +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== -unique-stream@^2.0.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" - integrity sha1-WqADz76Uxf+GbE59ZouxxNuts2k= +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== dependencies: - json-stable-stringify "^1.0.0" - through2-filter "^2.0.0" + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== -v8flags@^2.0.2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" - integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ= +use-config@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/use-config/-/use-config-2.0.4.tgz#1e14e5dbc600533aa5cd1b35d43a5be849b45b0c" + integrity sha512-9ruSpSQAElcvdSZxZGb8J/Ep3n3OcO23Ab3weE4RSCH6oXVSmt0evRpElsM+pESkpWmRO2aqnvTswIlnerB6cw== dependencies: - user-home "^1.1.1" + load-json-file "^2.0.0" + path-exists "^3.0.0" + pupa "^1.0.0" -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= - -vinyl-fs@^0.3.0, vinyl-fs@~0.3.11: - version "0.3.14" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" - integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY= - dependencies: - defaults "^1.0.0" - glob-stream "^3.1.5" - glob-watcher "^0.0.6" - graceful-fs "^3.0.0" - mkdirp "^0.5.0" - strip-bom "^1.0.0" - through2 "^0.6.1" - vinyl "^0.4.0" - -vinyl-fs@~2.4.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" - integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk= - dependencies: - duplexify "^3.2.0" - glob-stream "^5.3.2" - graceful-fs "^4.0.0" - gulp-sourcemaps "1.6.0" - is-valid-glob "^0.3.0" - lazystream "^1.0.0" - lodash.isequal "^4.0.0" - merge-stream "^1.0.0" - mkdirp "^0.5.0" - object-assign "^4.0.0" - readable-stream "^2.0.4" - strip-bom "^2.0.0" - strip-bom-stream "^1.0.0" - through2 "^2.0.0" - through2-filter "^2.0.0" - vali-date "^1.0.0" - vinyl "^1.0.0" - -vinyl@^0.4.0: - version "0.4.6" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" - integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc= - dependencies: - clone "^0.2.0" - clone-stats "^0.0.1" - -vinyl@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" - integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4= - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" -vinyl@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" - integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" +vendors@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + integrity sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ== + +vlq@^0.2.2: + version "0.2.3" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.3.tgz#8f3e4328cf63b1540c0d67e1b2778386f8975b26" + integrity sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow== + +vlq@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806" + integrity sha512-o3WmXySo+oI5thgqr7Qy8uBkT/v9Zr+sRyrh1lr8aWPUkgDWdWt4Nae2WKBrLsocgE8BuWWD0jLc+VW8LeU+2g== + +vue-template-es2015-compiler@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" + integrity sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg== + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= -which@^1.2.14: +which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" +widest-line@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" + integrity sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM= + dependencies: + string-width "^2.1.1" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= - -xtend@~2.1.1: +yallist@^2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" - integrity sha1-bv7MKk2tjmlixJAbM3znuoe10os= - dependencies: - object-keys "~0.4.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= From 3bb0a8cd851712c25d5d329e0b7aabbc7c31afeb Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 12:48:42 -0300 Subject: [PATCH 6/8] :sparkles: bundle and executes Example with Parcel --- .gitignore | 425 +++--- Example/app.ts | 6 +- Example/index.html | 15 +- package.json | 2 + yarn.lock | 3113 +++++++++++++++++++++++++++++++++++++++++++- 5 files changed, 3282 insertions(+), 279 deletions(-) diff --git a/.gitignore b/.gitignore index ba18f2a..2830aef 100644 --- a/.gitignore +++ b/.gitignore @@ -1,199 +1,200 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Oo]bj/ - -# Roslyn cache directories -*.ide/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -#NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# If using the old MSBuild-Integrated Package Restore, uncomment this: -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -sql/ -*.Cache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# ========================= -# Operating System Files -# ========================= - -# OSX -# ========================= - +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +build/ +bld/ +[Oo]bj/ + +# Roslyn cache directories +*.ide/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +#NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding addin-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# If using the old MSBuild-Integrated Package Restore, uncomment this: +#!**/packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.pfx +*.publishsettings +node_modules/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# ========================= +# Operating System Files +# ========================= + +# OSX +# ========================= + .DS_Store .AppleDouble .LSOverride # Icon must end with two \r -Icon +Icon + # Thumbnails ._* @@ -208,24 +209,24 @@ Icon Network Trash Folder Temporary Items .apdisk - -# Windows -# ========================= - -# Windows image file caches -Thumbs.db -ehthumbs.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -Example/*.js + +# Windows +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +Example/dist diff --git a/Example/app.ts b/Example/app.ts index 662e71b..09848ec 100644 --- a/Example/app.ts +++ b/Example/app.ts @@ -1,7 +1,9 @@ -window.onload = function () { +var SpriteGL = require("../SpriteGL"); + +window.onload = function () { var canvas = document.getElementById("RenderElement"); var img = new Image(); - img.src = "atlas.png"; + img.src = require("./atlas.png"); img.onload = function () { var Renderer = SpriteGL.SpriteRenderer.fromCanvas(canvas, img, SpriteGL.SpriteRenderer.TextureFilteringNearest); var time = 0; diff --git a/Example/index.html b/Example/index.html index d7ecf17..b9c23ee 100644 --- a/Example/index.html +++ b/Example/index.html @@ -2,18 +2,17 @@ - - SpriteJS Example - + -

SpriteJS Example

+

SpriteJS Example

- + - - + diff --git a/package.json b/package.json index bab7366..6677d0c 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,14 @@ "umd:main": "dist/SpriteGL.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", + "start": "parcel Example/index.html --out-dir Example/dist", "build": "bili" }, "author": "", "license": "ISC", "devDependencies": { "bili": "^3.1.2", + "parcel-bundler": "^1.10.2", "rollup-plugin-typescript2": "^0.17.1", "typescript": "^3.1.2" }, diff --git a/yarn.lock b/yarn.lock index 0e2e3b4..2022f40 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.0.0-beta.39": +"@babel/core@^7.0.0", "@babel/core@^7.0.0-beta.39": version "7.1.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.2.tgz#f8d2a9ceb6832887329a7b60f9d035791400ba4e" integrity sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw== @@ -221,7 +221,7 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.1.2": +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.2": version "7.1.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.2.tgz#85c5c47af6d244fab77bce6b9bd830e38c978409" integrity sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ== @@ -412,7 +412,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-flow-strip-types@^7.0.0-beta.39": +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.0.0-beta.39": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0.tgz#c40ced34c2783985d90d9f9ac77a13e6fb396a01" integrity sha512-WhXUNb4It5a19RsgKKbQPrjmy4yWOY1KynpEbNw7bnd1QTcrT/EIl3MJvnGgpgvrKyKbqX7nUNOJfkpLOnoDKA== @@ -450,7 +450,7 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-commonjs@^7.1.0": +"@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c" integrity sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA== @@ -499,7 +499,7 @@ "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-jsx@^7.0.0-beta.39": +"@babel/plugin-transform-react-jsx@^7.0.0", "@babel/plugin-transform-react-jsx@^7.0.0-beta.39": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0.tgz#524379e4eca5363cd10c4446ba163f093da75f3e" integrity sha512-0TMP21hXsSUjIQJmu/r7RiVxeFrXRcMUigbKu0BLegJK9PkYodHstaszcig7zxXfaBji2LYUdtqIkHs+hgYkJQ== @@ -561,7 +561,7 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" -"@babel/preset-env@^7.0.0-beta.39": +"@babel/preset-env@^7.0.0", "@babel/preset-env@^7.0.0-beta.39": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.0.tgz#e67ea5b0441cfeab1d6f41e9b5c79798800e8d11" integrity sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg== @@ -608,7 +608,14 @@ js-levenshtein "^1.1.3" semver "^5.3.0" -"@babel/template@^7.1.0", "@babel/template@^7.1.2": +"@babel/runtime@^7.0.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3" + integrity sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg== + dependencies: + regenerator-runtime "^0.12.0" + +"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2": version "7.1.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644" integrity sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag== @@ -617,7 +624,7 @@ "@babel/parser" "^7.1.2" "@babel/types" "^7.1.2" -"@babel/traverse@^7.1.0": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.0.tgz#503ec6669387efd182c3888c4eec07bcc45d91b2" integrity sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw== @@ -641,6 +648,19 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz#54c5a964462be3d4d78af631363c18d6fa91ac26" + integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw== + "@types/acorn@^4.0.3": version "4.0.3" resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.3.tgz#d1f3e738dde52536f9aad3d3380d14e448820afd" @@ -648,6 +668,13 @@ dependencies: "@types/estree" "*" +"@types/commander@^2.11.0": + version "2.12.2" + resolved "https://registry.yarnpkg.com/@types/commander/-/commander-2.12.2.tgz#183041a23842d4281478fa5d23c5ca78e6fd08ae" + integrity sha512-0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q== + dependencies: + commander "*" + "@types/estree@*": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" @@ -658,6 +685,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.38.tgz#c1be40aa933723c608820a99a373a16d215a1ca2" integrity sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA== +"@types/semver@^5.4.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" + integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== + "@vue/component-compiler-utils@^1.0.0": version "1.3.1" resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz#686f0b913d59590ae327b2a1cb4b6d9b931bbe0e" @@ -673,6 +705,11 @@ source-map "^0.5.6" vue-template-es2015-compiler "^1.6.0" +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + acorn-dynamic-import@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" @@ -697,7 +734,7 @@ acorn-jsx@^4.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: +alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= @@ -736,6 +773,34 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-to-html@^0.6.4: + version "0.6.6" + resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.6.tgz#58a8d04b87ec9a85e3ad273c12a5fbc7147b9c42" + integrity sha512-90M/2sZna3OsoOEbSyXK46poFnlClBC53Rx6etNKQK7iShsX5fI5E/M9Ld6FurtLaxAWLuAPi0Jp8p3y5oAkxg== + dependencies: + entities "^1.1.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -750,11 +815,21 @@ arr-diff@^2.0.0: dependencies: arr-flatten "^1.0.1" -arr-flatten@^1.0.1: +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -772,11 +847,52 @@ array-unique@^0.2.1: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + integrity sha1-GdOGodntxufByF04iu28xW0zYC0= + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== + +atob@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -801,6 +917,33 @@ babel-plugin-transform-vue-jsx@^4: dependencies: esutils "^2.0.2" +babel-runtime@^6.11.6, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-types@^6.15.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon-walk@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/babylon-walk/-/babylon-walk-1.0.2.tgz#3b15a5ddbb482a78b4ce9c01c8ba181702d9d6ce" + integrity sha1-OxWl3btIKni0zpwByLoYFwLZ1s4= + dependencies: + babel-runtime "^6.11.6" + babel-types "^6.15.0" + lodash.clone "^4.5.0" + balanced-match@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" @@ -811,6 +954,24 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" @@ -861,11 +1022,31 @@ bili@^3.1.2: text-table "^0.2.0" use-config "^2.0.4" +binary-extensions@^1.0.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14" + integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg== + +bindings@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" + integrity sha1-FK1hE4EtLTfXLme0ystLtyZQXxE= + bluebird@^3.1.1: version "3.5.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.2.tgz#1be0908e054a751754549c270489c1505d4ab15a" integrity sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + boxen@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -896,6 +1077,96 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" +braces@^2.3.0, braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brfs@^1.2.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.6.1.tgz#b78ce2336d818e25eea04a0947cba6d4fb8849c3" + integrity sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ== + dependencies: + quote-stream "^1.0.1" + resolve "^1.1.5" + static-module "^2.2.0" + through2 "^2.0.0" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: version "1.7.7" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" @@ -904,7 +1175,7 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -browserslist@^4.1.0: +browserslist@^4.0.0, browserslist@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.2.0.tgz#3e5e5edf7fa9758ded0885cf88c1e4be753a591c" integrity sha512-Berls1CHL7qfQz8Lct6QxYA5d2Tvt4doDWHcjvAISybpd+EKZVppNtXgXhaN6SdrPKo7YLTSZuYBs5cYrSWN8w== @@ -928,6 +1199,30 @@ buble@^0.19.4: regexpu-core "^4.1.3" vlq "^1.0.0" +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" @@ -938,6 +1233,11 @@ builtin-modules@^2.0.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-2.0.0.tgz#60b7ef5ae6546bd7deefa74b08b62a43a232648e" integrity sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg== +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + bytes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -955,6 +1255,26 @@ cac@^4.2.4: string-width "^2.1.1" text-table "^0.2.0" +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -970,12 +1290,22 @@ caniuse-api@^1.5.2: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: version "1.0.30000890" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000890.tgz#b406595db8b631975b8dc5fa174f32925c23778b" integrity sha512-aO5uw1Taw8GkNMMXIWOz/WJz3y6tR1ETUAdH/pvO5EoJ3I1Po9vNJd9aMjY1GKucS/OXWMiQbXRbk3O1sgCbRA== -caniuse-lite@^1.0.30000889: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000889: version "1.0.30000890" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz#86a18ffcc65d79ec6a437e985761b8bf1c4efeaf" integrity sha512-4NI3s4Y6ROm+SgZN5sLUG4k7nVWQnedis3c/RWkynV5G6cHSY7+a8fwFyn2yoBDE3E6VswhTNNwR3PvzGqlTkg== @@ -991,7 +1321,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== @@ -1000,11 +1330,44 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chokidar@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.0.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + clap@^1.0.9: version "1.2.3" resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" @@ -1012,23 +1375,48 @@ clap@^1.0.9: dependencies: chalk "^1.1.3" +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + cli-boxes@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -cli-cursor@^2.0.0: +cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= dependencies: restore-cursor "^2.0.0" +cli-spinners@^1.1.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +clones@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/clones/-/clones-1.1.0.tgz#87e904132d6140c5c0b72006c08c0d05bd7b63b3" + integrity sha1-h+kEEy1hQMXAtyAGwIwNBb17Y7M= + coa@~1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" @@ -1036,7 +1424,27 @@ coa@~1.0.1: dependencies: q "^1.1.2" -color-convert@^1.3.0, color-convert@^1.9.0: +coa@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af" + integrity sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ== + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -1060,6 +1468,14 @@ color-string@^0.3.0: dependencies: color-name "^1.0.0" +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + color@^0.11.0: version "0.11.4" resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" @@ -1069,6 +1485,14 @@ color@^0.11.0: color-convert "^1.3.0" color-string "^0.3.0" +color@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.0.tgz#d8e9fb096732875774c84bf922815df0308d0ffc" + integrity sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colormin@^1.0.5: version "1.1.2" resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" @@ -1083,16 +1507,46 @@ colors@~1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= +command-exists@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.7.tgz#16828f0c3ff2b0c58805861ef211b64fc15692a8" + integrity sha512-doWDvhXCcW5LK0cIUWrOQ8oMFXJv3lEQCkJpGVjM8v9SV0uhqYXB943538tEA2CiaWqSyuYUGAm5ezDwEx9xlw== + +commander@*, commander@^2.11.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" integrity sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA== +commander@~2.17.1: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concat-stream@~1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + concat-with-sourcemaps@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" @@ -1100,6 +1554,26 @@ concat-with-sourcemaps@^1.0.5: dependencies: source-map "^0.6.1" +config-chain@~1.1.5: + version "1.1.12" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" + integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + consolidate@^0.15.1: version "0.15.1" resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" @@ -1107,13 +1581,33 @@ consolidate@^0.15.1: dependencies: bluebird "^3.1.1" -convert-source-map@^1.1.0: +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +convert-source-map@^1.1.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js@^2.4.0: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw== + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: version "2.2.2" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" @@ -1127,6 +1621,46 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: parse-json "^2.2.0" require-from-string "^1.1.0" +cosmiconfig@^5.0.0: + version "5.0.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.6.tgz#dca6cf680a0bd03589aff684700858c81abeeb39" + integrity sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ== + dependencies: + is-directory "^0.3.1" + js-yaml "^3.9.0" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -1136,11 +1670,47 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -css-color-names@0.0.4: +cross-spawn@^6.0.4: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" + integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + css-modules-loader-core@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz#5908668294a1becd261ae0a4ce21b0b551f21d16" @@ -1153,6 +1723,21 @@ css-modules-loader-core@^1.1.0: postcss-modules-scope "1.1.0" postcss-modules-values "1.3.0" +css-select-base-adapter@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990" + integrity sha1-AQKz0UYw34bD65+p9UVicBBs+ZA= + +css-select@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.0.0.tgz#7aa2921392114831f68db175c0b6a555df74bbd5" + integrity sha512-MGhoq1S9EyPgZIGnts8Yz5WwUOyHmPMdlqeifsYs/xFX7AAm3hY0RJe1dqVlXtYPI66Nsk39R/sa5/ree6L2qg== + dependencies: + boolbase "^1.0.0" + css-what "2.1" + domutils "^1.7.0" + nth-check "^1.0.1" + css-selector-tokenizer@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz#e6988474ae8c953477bf5e7efecfceccd9cf4c86" @@ -1162,12 +1747,101 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-tree@1.0.0-alpha.28: + version "1.0.0-alpha.28" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f" + integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w== + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg== + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-unit-converter@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" + integrity sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY= + +css-url-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + integrity sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w= + +css-what@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + integrity sha1-lGfQMsOM+u+58teVASUwYvh/ob0= + cssesc@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= -cssnano@^3.10.0: +cssnano-preset-default@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.2.tgz#1de3f27e73b7f0fbf87c1d7fd7a63ae980ac3774" + integrity sha512-zO9PeP84l1E4kbrdyF7NSLtA/JrJY1paX5FHy5+w/ziIXO2kDqDMfJ/mosXkaHHSa3RPiIY3eB6aEgwx3IiGqA== + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^6.0.2" + postcss-colormin "^4.0.2" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.1" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.6" + postcss-merge-rules "^4.0.2" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.1" + postcss-minify-params "^4.0.1" + postcss-minify-selectors "^4.0.1" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.1" + postcss-normalize-positions "^4.0.1" + postcss-normalize-repeat-style "^4.0.1" + postcss-normalize-string "^4.0.1" + postcss-normalize-timing-functions "^4.0.1" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.1" + postcss-ordered-values "^4.1.1" + postcss-reduce-initial "^4.0.2" + postcss-reduce-transforms "^4.0.1" + postcss-svgo "^4.0.1" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" + integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" + integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + +cssnano@^3.10.0, cssnano@^3.4.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= @@ -1205,6 +1879,23 @@ cssnano@^3.10.0: postcss-value-parser "^3.2.3" postcss-zindex "^2.0.1" +cssnano@^4.0.0: + version "4.1.4" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.4.tgz#55b71e3d8f5451dd3edc7955673415c98795788f" + integrity sha512-wP0wbOM9oqsek14CiNRYrK9N3w3jgadtGZKHXysgC/OMVpy0KZgWVPdNqODSZbz7txO9Gekr9taOfcCgL0pOOw== + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.2" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^3.5.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg== + dependencies: + css-tree "1.0.0-alpha.29" + csso@~2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" @@ -1213,6 +1904,11 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= + date-time@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/date-time/-/date-time-2.1.0.tgz#0286d1b4c769633b3ca13e1e62558d2dbdc2eba2" @@ -1220,6 +1916,21 @@ date-time@^2.1.0: dependencies: time-zone "^1.0.0" +deasync@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.13.tgz#815c2b69bbd1117cae570152cd895661c09f20ea" + integrity sha512-/6ngYM7AapueqLtvOzjv9+11N2fHDSrkxeMF1YPE20WIfaaawiBg+HZH1E5lHrcJxlKR42t6XPOEmMmqcAsU1g== + dependencies: + bindings "~1.2.1" + nan "^2.0.7" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" @@ -1232,11 +1943,99 @@ decamelize@^1.1.2: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + defined@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + dir-glob@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" @@ -1245,6 +2044,44 @@ dir-glob@^2.0.0: arrify "^1.0.1" path-type "^3.0.0" +dom-serializer@0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + integrity sha1-BzxpdUbOB4DOI75KKOKT5AvDDII= + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@1, domelementtype@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + integrity sha1-sXrtguirWeUt2cGbF1bg/BhyBMI= + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + integrity sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs= + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + +domutils@^1.5.1, domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + dot-prop@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" @@ -1252,43 +2089,159 @@ dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" +dotenv-expand@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275" + integrity sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU= + +dotenv@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" + integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== + +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= +editorconfig@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.0.tgz#b6dd4a0b6b9e76ce48e066bdc15381aebb8804fd" + integrity sha512-j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg== + dependencies: + "@types/commander" "^2.11.0" + "@types/semver" "^5.4.0" + commander "^2.11.0" + lru-cache "^4.1.1" + semver "^5.4.1" + sigmund "^1.0.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.73: version "1.3.77" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.77.tgz#9207a874a21a8fcb665bb4ff1675a11ba65517f4" integrity sha512-XIfQcdU9L4qUte31fFATwptHodMH0Otf53N8y1AKxd1+79vR+2UYpLq+Z1Zbtbuy+w0xd7KwIUrvlnje/htiOg== +elliptic@^6.0.0: + version "6.4.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a" + integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ== + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -error-ex@^1.2.0: +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +entities@^1.1.1, entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + integrity sha1-blwtClYhtdra7O+AuQ7ftc13cvA= + +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" +es-abstract@^1.5.1, es-abstract@^1.6.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +escodegen@^1.8.1: + version "1.11.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.11.0.tgz#b27a9389481d5bfd5bec76f7bb1eb3f8f4556589" + integrity sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw== + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +escodegen@~1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2" + integrity sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q== + dependencies: + esprima "^3.1.3" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= +esprima@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +estraverse@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= + estree-walker@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.5.2.tgz#d3850be7529c9580d815600b53126515e146dd39" @@ -1299,6 +2252,24 @@ esutils@^2.0.0, esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -1319,6 +2290,19 @@ expand-brackets@^0.1.4: dependencies: is-posix-bracket "^0.1.0" +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" @@ -1326,6 +2310,21 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + extglob@^0.3.1: version "0.3.2" resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" @@ -1333,6 +2332,30 @@ extglob@^0.3.1: dependencies: is-extglob "^1.0.0" +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +falafel@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/falafel/-/falafel-2.1.0.tgz#96bb17761daba94f46d001738b3cedf3a67fe06c" + integrity sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw= + dependencies: + acorn "^5.0.0" + foreach "^2.0.5" + isarray "0.0.1" + object-keys "^1.0.6" + fast-async@^6.3.0: version "6.3.8" resolved "https://registry.yarnpkg.com/fast-async/-/fast-async-6.3.8.tgz#031b9e1d5a84608b117b3e7c999ad477ed2b08a2" @@ -1341,6 +2364,23 @@ fast-async@^6.3.0: nodent-compiler "^3.2.10" nodent-runtime ">=3.2.1" +fast-glob@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.3.tgz#d09d378e9ef6b0076a0fa1ba7519d9d4d9699c28" + integrity sha512-NiX+JXjnx43RzvVFwRWfPKo4U+1BrK5pJPsHQdKMlLoFHrrGktXglQhHliSihWAq+m1z6fHk3uwGHrtRbS9vLA== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.0.1" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.1" + micromatch "^3.1.10" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + fastparse@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8" @@ -1351,6 +2391,11 @@ filename-regex@^2.0.0: resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= +filesize@^3.6.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + fill-range@^2.1.0: version "2.2.4" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" @@ -1362,6 +2407,16 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + find-babel-config@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355" @@ -1389,7 +2444,7 @@ flatten@^1.0.2: resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= -for-in@^1.0.1: +for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= @@ -1401,6 +2456,23 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + fs-extra@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" @@ -1419,16 +2491,52 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ== + dependencies: + minipass "^2.2.1" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -function-bind@^1.1.1: +fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fswatcher-child@^1.0.5: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fswatcher-child/-/fswatcher-child-1.1.1.tgz#264dd95f9c4b5f8615327d7d7567884591846b9b" + integrity sha512-FVDjVhR71TkJ+ud6vnRwCHvCgK9drGRdimWcTLqw8iN88uL5tTX+/xrwigJdcuQGrWYo3TRw9gRzk9xqR0UPPQ== + dependencies: + chokidar "^2.0.3" + +function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + generic-names@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-1.0.3.tgz#2d786a121aee508876796939e8e3bff836c20917" @@ -1444,11 +2552,21 @@ get-first-commit@^0.2.0: gitty "^3.2.3" lazy-cache "^0.2.4" +get-port@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw= + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + gitty@^3.2.3: version "3.6.0" resolved "https://registry.yarnpkg.com/gitty/-/gitty-3.6.0.tgz#4a001a6cb2f749cc28f7fbe2ca9ed415d71c1e53" @@ -1469,7 +2587,20 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@^7.1.2: +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.5, glob@^7.1.2: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -1498,11 +2629,19 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg= +grapheme-breaker@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz#5b9e6b78c3832452d2ba2bb1cb830f96276410ac" + integrity sha1-W55reMODJFLSuiuxy4MPlidkEKw= + dependencies: + brfs "^1.2.0" + unicode-trie "^0.3.1" + gzip-size@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c" @@ -1528,33 +2667,172 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has@^1.0.1: +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + hash-sum@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" + integrity sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hosted-git-info@^2.1.4: version "2.7.1" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + html-comment-regex@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== +htmlnano@^0.1.9: + version "0.1.10" + resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-0.1.10.tgz#a0a548eb4c76ae2cf2423ec7a25c881734d3dea6" + integrity sha512-eTEUzz8VdWYp+w/KUdb99kwao4reR64epUySyZkQeepcyzPQ2n2EPWzibf6QDxmkGy10Kr+CKxYqI3izSbmhJQ== + dependencies: + cssnano "^3.4.0" + object-assign "^4.0.1" + posthtml "^0.11.3" + posthtml-render "^1.1.4" + svgo "^1.0.5" + terser "^3.8.1" + +htmlparser2@^3.9.2: + version "3.9.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" + integrity sha1-G9+HrMoPP55T+k/M6w9LTLsAszg= + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^2.0.2" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +iconv-lite@^0.4.4: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= +ieee754@^1.1.4: + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA== + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== + dependencies: + minimatch "^3.0.4" + ignore@^3.3.5: version "3.3.10" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" @@ -1584,6 +2862,11 @@ indexes-of@^1.0.1: resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1592,11 +2875,21 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -1609,11 +2902,37 @@ is-absolute-url@^2.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -1633,6 +2952,11 @@ is-builtin-module@^2.0.0: dependencies: builtin-modules "^2.0.0" +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + is-ci@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" @@ -1640,6 +2964,55 @@ is-ci@^1.1.0: dependencies: ci-info "^1.5.0" +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" @@ -1657,16 +3030,35 @@ is-equal-shallow@^0.1.3: dependencies: is-primitive "^2.0.0" -is-extendable@^0.1.1: +is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -1679,6 +3071,20 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A= + dependencies: + is-extglob "^2.1.1" + is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -1691,6 +3097,13 @@ is-number@^2.1.0: dependencies: kind-of "^3.0.2" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + is-number@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" @@ -1706,6 +3119,13 @@ is-plain-obj@^1.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -1723,6 +3143,18 @@ is-reference@^1.1.0: dependencies: "@types/estree" "0.0.38" +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -1735,7 +3167,41 @@ is-svg@^2.0.0: dependencies: html-comment-regex "^1.1.0" -isarray@1.0.0: +is-svg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" + integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + +is-url@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= @@ -1745,18 +3211,33 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: +isobject@^2.0.0, isobject@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= dependencies: isarray "1.0.0" +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + js-base64@^2.1.9: version "2.4.9" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03" integrity sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ== +js-beautify@^1.7.5: + version "1.8.6" + resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.8.6.tgz#6a7e61e47a6e45fb58c5e22499eed350f8607d98" + integrity sha512-TYDZa+lg8vEC5U0OmGQEEwiZ0XFBfvZAUeNOtqflLe+woKuIqF4JzlsBx/C1KVYW5lUewZy2ODL4Obq6sH7a4Q== + dependencies: + config-chain "~1.1.5" + editorconfig "^0.15.0" + mkdirp "~0.5.0" + nopt "~4.0.1" + js-levenshtein@^1.1.3: version "1.1.4" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e" @@ -1767,7 +3248,7 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.4.3: +js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.4.3, js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== @@ -1793,11 +3274,23 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -1805,14 +3298,26 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" -kind-of@^3.0.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: is-buffer "^1.1.5" -kind-of@^6.0.0: +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== @@ -1822,6 +3327,14 @@ lazy-cache@^0.2.4: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -1860,6 +3373,16 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= +lodash.clone@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" + integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" @@ -1870,11 +3393,18 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -lodash@^4.17.10: +lodash@^4.17.10, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + log-update@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" @@ -1891,7 +3421,7 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -lru-cache@^4.0.1, lru-cache@^4.1.2: +lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2: version "4.1.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA== @@ -1913,6 +3443,18 @@ magic-string@^0.25.1: dependencies: sourcemap-codec "^1.4.1" +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + math-expression-evaluator@^1.2.14: version "1.2.17" resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" @@ -1923,6 +3465,27 @@ math-random@^1.0.1: resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" integrity sha1-izqsWIuKZuSXXjzepn97sylgH6w= +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA== + +merge-source-map@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" + integrity sha1-pd5GU42uhNQRTMXqArR3KmNGcB8= + dependencies: + source-map "^0.5.6" + merge-source-map@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" @@ -1930,6 +3493,11 @@ merge-source-map@^1.1.0: dependencies: source-map "^0.6.1" +merge2@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" + integrity sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg== + micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" @@ -1949,11 +3517,53 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + integrity sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" @@ -1966,7 +3576,7 @@ minimist@0.0.8: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= -minimist@^1.2.0: +minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= @@ -1978,18 +3588,132 @@ minimost@^1.0.0: dependencies: minimist "^1.2.0" -mkdirp@~0.5.1: +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" + integrity sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.1.tgz#6734acc045a46e61d596a43bb9d9cd326e19cc42" + integrity sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg== + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== +nan@^2.0.7, nan@^2.9.2: + version "2.11.1" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" + integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +needle@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" + integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA== + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-forge@^0.7.1: + version "0.7.6" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" + integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + integrity sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A== + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + node-releases@^1.0.0-alpha.12: version "1.0.0-alpha.12" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.12.tgz#32e461b879ea76ac674e511d9832cf29da345268" @@ -2017,6 +3741,14 @@ nodent-transform@^3.2.9: resolved "https://registry.yarnpkg.com/nodent-transform/-/nodent-transform-3.2.9.tgz#ec11a6116b5476e60bc212371cf6b8e4c74f40b6" integrity sha512-4a5FH4WLi+daH/CGD5o/JWRR8W5tlCkd3nrDSkxbOzscJTyTUITltvOJeQjg3HJ1YgEuNyiPhQbvbtRjkQBByQ== +nopt@^4.0.1, nopt@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + dependencies: + abbrev "1" + osenv "^0.1.4" + normalize-package-data@^2.3.2: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" @@ -2027,7 +3759,7 @@ normalize-package-data@^2.3.2: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.1: +normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= @@ -2049,6 +3781,24 @@ normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" + integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + +npm-bundled@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" + integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g== + +npm-packlist@^1.1.6: + version "1.1.12" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a" + integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g== + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -2056,16 +3806,72 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + integrity sha1-mSms32KPwsQQmN6rgqxYDPFJquQ= + dependencies: + boolbase "~1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -object-assign@^4.0.1, object-assign@^4.1.0: +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@~1.4.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.4.1.tgz#37ffb10e71adaf3748d05f713b4c9452f402cbc4" + integrity sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw== + +object-keys@^1.0.12, object-keys@^1.0.6: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -2074,6 +3880,30 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + integrity sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -2088,11 +3918,60 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -os-homedir@^1.0.1: +opn@^5.1.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" + integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +ora@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-2.1.0.tgz#6caf2830eb924941861ec53a173799e008b51e5b" + integrity sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA== + dependencies: + chalk "^2.3.1" + cli-cursor "^2.1.0" + cli-spinners "^1.1.0" + log-symbols "^2.2.0" + strip-ansi "^4.0.0" + wcwidth "^1.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= +os-tmpdir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -2122,6 +4001,90 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= +pako@^0.2.5: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg== + +parcel-bundler@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/parcel-bundler/-/parcel-bundler-1.10.2.tgz#be8448de155552d43ba9b44c2f81389812586b78" + integrity sha512-n6DZ2W/rqxBy2snZZKMUSR1W8brNpV0+n3qBdFU4EIYbHH5dqe+lB8kMWs51jtDIo/hE6KDVxfAUIfdw2nHG7A== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/core" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/preset-env" "^7.0.0" + "@babel/runtime" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + ansi-to-html "^0.6.4" + babylon-walk "^1.0.2" + browserslist "^4.1.0" + chalk "^2.1.0" + clone "^2.1.1" + command-exists "^1.2.6" + commander "^2.11.0" + cross-spawn "^6.0.4" + cssnano "^4.0.0" + deasync "^0.1.13" + dotenv "^5.0.0" + dotenv-expand "^4.2.0" + fast-glob "^2.2.2" + filesize "^3.6.0" + fswatcher-child "^1.0.5" + get-port "^3.2.0" + grapheme-breaker "^0.3.2" + htmlnano "^0.1.9" + is-glob "^4.0.0" + is-url "^1.2.2" + js-yaml "^3.10.0" + json5 "^1.0.1" + micromatch "^3.0.4" + mkdirp "^0.5.1" + node-forge "^0.7.1" + node-libs-browser "^2.0.0" + opn "^5.1.0" + ora "^2.1.0" + physical-cpu-count "^2.0.0" + postcss "^6.0.19" + postcss-value-parser "^3.3.0" + posthtml "^0.11.2" + posthtml-parser "^0.4.0" + posthtml-render "^1.1.3" + resolve "^1.4.0" + semver "^5.4.1" + serialize-to-js "^1.1.1" + serve-static "^1.12.4" + source-map "0.6.1" + strip-ansi "^4.0.0" + terser "^3.7.3" + toml "^2.3.3" + tomlify-j0.4 "^3.0.0" + v8-compile-cache "^2.0.0" + ws "^5.1.1" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + integrity sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw== + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -2139,6 +4102,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parse-ms@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" @@ -2149,6 +4120,26 @@ parse-package-name@^0.1.0: resolved "https://registry.yarnpkg.com/parse-package-name/-/parse-package-name-0.1.0.tgz#3f44dd838feb4c2be4bf318bae4477d7706bade4" integrity sha1-P0Tdg4/rTCvkvzGLrkR313BrreQ= +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -2159,7 +4150,7 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0: +path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= @@ -2183,6 +4174,22 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +pbkdf2@^3.0.3: + version "3.0.17" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" + integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +physical-cpu-count@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz#18de2f97e4bf7a9551ad7511942b5496f7aba660" + integrity sha1-GN4vl+S/epVRrXURlCtUlverpmA= + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -2193,6 +4200,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + postcss-calc@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" @@ -2202,6 +4214,16 @@ postcss-calc@^5.2.0: postcss-message-helpers "^2.0.0" reduce-css-calc "^1.2.6" +postcss-calc@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-6.0.2.tgz#4d9a43e27dbbf27d095fecb021ac6896e2318337" + integrity sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA== + dependencies: + css-unit-converter "^1.1.1" + postcss "^7.0.2" + postcss-selector-parser "^2.2.2" + reduce-css-calc "^2.0.0" + postcss-colormin@^2.1.8: version "2.2.2" resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" @@ -2211,6 +4233,17 @@ postcss-colormin@^2.1.8: postcss "^5.0.13" postcss-value-parser "^3.2.3" +postcss-colormin@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.2.tgz#93cd1fa11280008696887db1a528048b18e7ed99" + integrity sha512-1QJc2coIehnVFsz0otges8kQLsryi4lo19WD+U5xCWvXd0uw/Z+KKYnbiNDCnO9GP+PvErPHCG0jNvWTngk9Rw== + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-convert-values@^2.3.4: version "2.6.1" resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" @@ -2219,6 +4252,14 @@ postcss-convert-values@^2.3.4: postcss "^5.0.11" postcss-value-parser "^3.1.2" +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" + integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-discard-comments@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" @@ -2226,6 +4267,13 @@ postcss-discard-comments@^2.0.4: dependencies: postcss "^5.0.14" +postcss-discard-comments@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.1.tgz#30697735b0c476852a7a11050eb84387a67ef55d" + integrity sha512-Ay+rZu1Sz6g8IdzRjUgG2NafSNpp2MSMOQUb+9kkzzzP+kh07fP0yNbhtFejURnyVXSX3FYy2nVNW1QTnNjgBQ== + dependencies: + postcss "^7.0.0" + postcss-discard-duplicates@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" @@ -2233,6 +4281,13 @@ postcss-discard-duplicates@^2.0.1: dependencies: postcss "^5.0.4" +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" + integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + dependencies: + postcss "^7.0.0" + postcss-discard-empty@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" @@ -2240,6 +4295,13 @@ postcss-discard-empty@^2.0.1: dependencies: postcss "^5.0.14" +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" + integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + dependencies: + postcss "^7.0.0" + postcss-discard-overridden@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" @@ -2247,6 +4309,13 @@ postcss-discard-overridden@^0.1.1: dependencies: postcss "^5.0.16" +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" + integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + dependencies: + postcss "^7.0.0" + postcss-discard-unused@^2.2.1: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" @@ -2304,6 +4373,16 @@ postcss-merge-longhand@^2.0.1: dependencies: postcss "^5.0.4" +postcss-merge-longhand@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.6.tgz#2b938fa3529c3d1657e53dc7ff0fd604dbc85ff1" + integrity sha512-JavnI+V4IHWsaUAfOoKeMEiJQGXTraEy1nHM0ILlE6NIQPEZrJDAnPh3lNGZ5HAk2mSSrwp66JoGhvjp6SqShA== + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + postcss-merge-rules@^2.0.3: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" @@ -2315,6 +4394,18 @@ postcss-merge-rules@^2.0.3: postcss-selector-parser "^2.2.2" vendors "^1.0.0" +postcss-merge-rules@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.2.tgz#2be44401bf19856f27f32b8b12c0df5af1b88e74" + integrity sha512-UiuXwCCJtQy9tAIxsnurfF0mrNHKc4NnNx6NxqmzNNjXpQwLSukUxELHTRF0Rg1pAmcoKLih8PwvZbiordchag== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + postcss-message-helpers@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" @@ -2329,6 +4420,14 @@ postcss-minify-font-values@^1.0.2: postcss "^5.0.4" postcss-value-parser "^3.0.2" +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" + integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-minify-gradients@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" @@ -2337,6 +4436,16 @@ postcss-minify-gradients@^1.0.1: postcss "^5.0.12" postcss-value-parser "^3.3.0" +postcss-minify-gradients@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.1.tgz#6da95c6e92a809f956bb76bf0c04494953e1a7dd" + integrity sha512-pySEW3E6Ly5mHm18rekbWiAjVi/Wj8KKt2vwSfVFAWdW6wOIekgqxKxLU7vJfb107o3FDNPkaYFCxGAJBFyogA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-minify-params@^1.0.4: version "1.2.2" resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" @@ -2347,6 +4456,18 @@ postcss-minify-params@^1.0.4: postcss-value-parser "^3.0.2" uniqs "^2.0.0" +postcss-minify-params@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.1.tgz#5b2e2d0264dd645ef5d68f8fec0d4c38c1cf93d2" + integrity sha512-h4W0FEMEzBLxpxIVelRtMheskOKKp52ND6rJv+nBS33G1twu2tCyurYj/YtgU76+UDCvWeNs0hs8HFAWE2OUFg== + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + postcss-minify-selectors@^2.0.4: version "2.1.1" resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" @@ -2357,6 +4478,16 @@ postcss-minify-selectors@^2.0.4: postcss "^5.0.14" postcss-selector-parser "^2.0.0" +postcss-minify-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.1.tgz#a891c197977cc37abf60b3ea06b84248b1c1e9cd" + integrity sha512-8+plQkomve3G+CodLCgbhAKrb5lekAnLYuL1d7Nz+/7RANpBEVdgBkPNwljfSKvZ9xkkZTZITd04KP+zeJTJqg== + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + postcss-modules-extract-imports@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb" @@ -2406,6 +4537,69 @@ postcss-normalize-charset@^1.1.0: dependencies: postcss "^5.0.5" +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" + integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.1.tgz#d9a83d47c716e8a980f22f632c8b0458cfb48a4c" + integrity sha512-R5mC4vaDdvsrku96yXP7zak+O3Mm9Y8IslUobk7IMP+u/g+lXvcN4jngmHY5zeJnrQvE13dfAg5ViU05ZFDwdg== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.1.tgz#ee2d4b67818c961964c6be09d179894b94fd6ba1" + integrity sha512-GNoOaLRBM0gvH+ZRb2vKCIujzz4aclli64MBwDuYGU2EY53LwiP7MxOZGE46UGtotrSnmarPPZ69l2S/uxdaWA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.1.tgz#5293f234b94d7669a9f805495d35b82a581c50e5" + integrity sha512-fFHPGIjBUyUiswY2rd9rsFcC0t3oRta4wxE1h3lpwfQZwFeFjXFSiDtdJ7APCmHQOnUZnqYBADNRPKPwFAONgA== + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.1.tgz#23c5030c2cc24175f66c914fa5199e2e3c10fef3" + integrity sha512-IJoexFTkAvAq5UZVxWXAGE0yLoNN/012v7TQh5nDo6imZJl2Fwgbhy3J2qnIoaDBrtUP0H7JrXlX1jjn2YcvCQ== + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.1.tgz#8be83e0b9cb3ff2d1abddee032a49108f05f95d7" + integrity sha512-1nOtk7ze36+63ONWD8RCaRDYsnzorrj+Q6fxkQV+mlY5+471Qx9kspqv0O/qQNMeApg8KNrRf496zHwJ3tBZ7w== + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" + integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-normalize-url@^3.0.7: version "3.0.8" resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" @@ -2416,13 +4610,40 @@ postcss-normalize-url@^3.0.7: postcss "^5.0.14" postcss-value-parser "^3.2.3" +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" + integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.1.tgz#d14cb639b61238418ac8bc8d3b7bdd65fc86575e" + integrity sha512-U8MBODMB2L+nStzOk6VvWWjZgi5kQNShCyjRhMT3s+W9Jw93yIjOnrEkKYD3Ul7ChWbEcjDWmXq0qOL9MIAnAw== + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-ordered-values@^2.1.0: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= dependencies: - postcss "^5.0.4" - postcss-value-parser "^3.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-ordered-values@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.1.tgz#2e3b432ef3e489b18333aeca1f1295eb89be9fc2" + integrity sha512-PeJiLgJWPzkVF8JuKSBcylaU+hDJ/TX3zqAMIjlghgn1JBi6QwQaDZoDIlqWRcCAI8SxKrt3FCPSRmOgKRB97Q== + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" postcss-reduce-idents@^2.2.2: version "2.4.0" @@ -2439,6 +4660,16 @@ postcss-reduce-initial@^1.0.0: dependencies: postcss "^5.0.4" +postcss-reduce-initial@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.2.tgz#bac8e325d67510ee01fa460676dc8ea9e3b40f15" + integrity sha512-epUiC39NonKUKG+P3eAOKKZtm5OtAtQJL7Ye0CBN1f+UQTHzqotudp+hki7zxXm7tT0ZAKDMBj1uihpPjP25ug== + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-reduce-transforms@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" @@ -2448,6 +4679,16 @@ postcss-reduce-transforms@^1.0.3: postcss "^5.0.8" postcss-value-parser "^3.0.1" +postcss-reduce-transforms@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.1.tgz#8600d5553bdd3ad640f43bff81eb52f8760d4561" + integrity sha512-sZVr3QlGs0pjh6JAIe6DzWvBaqYw05V1t3d9Tp+VnFRT5j+rsqoWsysh/iSD7YNsULjq9IAylCznIwVd5oU/zA== + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: version "2.2.3" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" @@ -2457,7 +4698,7 @@ postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^3.1.1: +postcss-selector-parser@^3.0.0, postcss-selector-parser@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz#4f875f4afb0c96573d5cf4d74011aee250a7e865" integrity sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU= @@ -2476,6 +4717,16 @@ postcss-svgo@^2.1.1: postcss-value-parser "^3.2.3" svgo "^0.7.0" +postcss-svgo@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.1.tgz#5628cdb38f015de6b588ce6d0bf0724b492b581d" + integrity sha512-YD5uIk5NDRySy0hcI+ZJHwqemv2WiqqzDgtvgMzO8EGSkK5aONyX8HMVFRFJSdO8wUWTuisUFn/d7yRRbBr5Qw== + dependencies: + is-svg "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + postcss-unique-selectors@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" @@ -2485,7 +4736,16 @@ postcss-unique-selectors@^2.0.2: postcss "^5.0.4" uniqs "^2.0.0" -postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" + integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" integrity sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU= @@ -2518,7 +4778,7 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0 source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1, postcss@^6.0.20, postcss@^6.0.21: +postcss@^6.0.1, postcss@^6.0.19, postcss@^6.0.20, postcss@^6.0.21: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== @@ -2527,7 +4787,7 @@ postcss@^6.0.1, postcss@^6.0.20, postcss@^6.0.21: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.1: +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.2: version "7.0.5" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.5.tgz#70e6443e36a6d520b0fd4e7593fcca3635ee9f55" integrity sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ== @@ -2536,6 +4796,42 @@ postcss@^7.0.1: source-map "^0.6.1" supports-color "^5.5.0" +posthtml-parser@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.3.3.tgz#3fe986fca9f00c0f109d731ba590b192f26e776d" + integrity sha512-H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A== + dependencies: + htmlparser2 "^3.9.2" + isobject "^2.1.0" + object-assign "^4.1.1" + +posthtml-parser@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.4.1.tgz#95b78fef766fbbe0a6f861b6e95582bc3d1ff933" + integrity sha512-h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ== + dependencies: + htmlparser2 "^3.9.2" + object-assign "^4.1.1" + +posthtml-render@^1.1.0, posthtml-render@^1.1.3, posthtml-render@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.4.tgz#95dac09892f4f183fad5ac823f08f42c0256551e" + integrity sha512-jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA== + +posthtml@^0.11.2, posthtml@^0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.11.3.tgz#17ea2921b0555b7455f33c977bd16d8b8cb74f27" + integrity sha512-quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA== + dependencies: + object-assign "^4.1.1" + posthtml-parser "^0.3.3" + posthtml-render "^1.1.0" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -2563,16 +4859,53 @@ private@^0.1.6: resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + promise.series@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd" integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70= +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + pupa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pupa/-/pupa-1.0.0.tgz#9a9568a5af7e657b8462a6e9d5328743560ceff6" @@ -2591,6 +4924,25 @@ query-string@^4.1.0: object-assign "^4.1.0" strict-uri-encode "^1.0.0" +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +quote-stream@^1.0.1, quote-stream@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" + integrity sha1-hJY/jJwmuULhU/7rU6rnRlK34LI= + dependencies: + buffer-equal "0.0.1" + minimist "^1.1.3" + through2 "^2.0.0" + randomatic@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.0.tgz#36f2ca708e9e567f5ed2ec01949026d50aa10116" @@ -2600,6 +4952,36 @@ randomatic@^3.0.0: kind-of "^6.0.0" math-random "^1.0.1" +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + read-pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" @@ -2617,6 +4999,28 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" +readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.3: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -2634,6 +5038,14 @@ reduce-css-calc@^1.2.6: math-expression-evaluator "^1.2.14" reduce-function-call "^1.0.1" +reduce-css-calc@^2.0.0: + version "2.1.5" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-2.1.5.tgz#f283712f0c9708ef952d328f4b16112d57b03714" + integrity sha512-AybiBU03FKbjYzyvJvwkJZY6NLN+80Ufc2EqEs+41yQH+8wqBEslD6eGiS0oIeq5TNLA5PrhBeYHXWdn8gtW7A== + dependencies: + css-unit-converter "^1.1.1" + postcss-value-parser "^3.3.0" + reduce-function-call@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" @@ -2653,6 +5065,16 @@ regenerate@^1.2.1, regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.12.0: + version "0.12.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== + regenerator-transform@^0.13.3: version "0.13.3" resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" @@ -2667,6 +5089,14 @@ regex-cache@^0.4.2: dependencies: is-equal-shallow "^0.1.3" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + regexpu-core@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-1.0.0.tgz#86a763f58ee4d7c2f6b102e4764050de7ed90c6b" @@ -2722,7 +5152,7 @@ repeat-element@^1.1.2: resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== -repeat-string@^1.5.2: +repeat-string@^1.5.2, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= @@ -2752,7 +5182,12 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@1.8.1, resolve@^1.1.6, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.8.1, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== @@ -2767,6 +5202,36 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + rollup-plugin-alias@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/rollup-plugin-alias/-/rollup-plugin-alias-1.4.0.tgz#120cba7c46621c03138f0ca6fd5dd2ade9872db9" @@ -2896,21 +5361,125 @@ rollup@^0.57.1: signal-exit "^3.0.2" sourcemap-codec "^1.4.1" -safe-buffer@~5.1.1: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -sax@~1.2.1: +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +safer-eval@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/safer-eval/-/safer-eval-1.2.3.tgz#73ba74a34bc8a07d6a44135c815fd18a8eebe7a0" + integrity sha512-nDwXOhiheoaBT6op02n8wzsshjLXHhh4YAeqsDEoVmy1k2+lGv/ENLsGaWqkaKArUkUx48VO12/ZPa3sI/OEqQ== + dependencies: + clones "^1.1.0" + +sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + integrity sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serialize-to-js@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/serialize-to-js/-/serialize-to-js-1.2.1.tgz#2e87f61f938826d24c463a7cbd0dd2929ec38008" + integrity sha512-TK6d30GNkOLeFDPuP6Jfy1Q1V31GxzppYTt2lzr8KWmIUKomFj+260QP5o4AhHLu0pr6urgyS8i/Z1PqurjBoA== + dependencies: + js-beautify "^1.7.5" + safer-eval "^1.2.3" + +serve-static@^1.12.4: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-copy@~0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" + integrity sha1-QV9CcC1z2BAzApLMXuhurhoRoXA= + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -2923,16 +5492,58 @@ shebang-regex@^1.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +sigmund@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + sort-keys@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" @@ -2940,16 +5551,40 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= +source-map-resolve@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" -source-map@^0.6.1, source-map@~0.6.1: +source-map-support@~0.5.6: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" + integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + +source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + sourcemap-codec@^1.4.1: version "1.4.3" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.3.tgz#0ba615b73ec35112f63c2f2d9e7c3f87282b0e33" @@ -2981,11 +5616,87 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w== +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= +stable@~0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +static-eval@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.0.tgz#0e821f8926847def7b4b50cda5d55c04a9b13864" + integrity sha512-6flshd3F1Gwm+Ksxq463LtFd1liC77N/PX1FVVc3OzL3hAmo2fwHFbuArkcfi7s9rTNsLEhcRmXGFZhlgy40uw== + dependencies: + escodegen "^1.8.1" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +static-module@^2.2.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/static-module/-/static-module-2.2.5.tgz#bd40abceae33da6b7afb84a0e4329ff8852bfbbf" + integrity sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ== + dependencies: + concat-stream "~1.6.0" + convert-source-map "^1.5.1" + duplexer2 "~0.1.4" + escodegen "~1.9.0" + falafel "^2.1.0" + has "^1.0.1" + magic-string "^0.22.4" + merge-source-map "1.0.4" + object-inspect "~1.4.0" + quote-stream "~1.0.2" + readable-stream "~2.3.3" + shallow-copy "~0.0.1" + static-eval "^2.0.0" + through2 "~2.0.3" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + integrity sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew== + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -2996,7 +5707,16 @@ string-hash@^1.1.1: resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= -string-width@^2.0.0, string-width@^2.1.1: +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -3004,12 +5724,19 @@ string-width@^2.0.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + stringify-author@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/stringify-author/-/stringify-author-0.1.3.tgz#d581e02ce0b55cda3c953e62add211fae4b0ef66" integrity sha1-1YHgLOC1XNo8lT5irdIR+uSw72Y= -strip-ansi@^3.0.0: +strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= @@ -3038,11 +5765,25 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + style-inject@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== +stylehacks@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2" + integrity sha512-TK5zEPeD9NyC1uPIdjikzsgWxdQQN/ry1X3d1iOz1UkYDCmcr928gWD1KHgyC27F50UnE0xCTrBOO1l6KR8M4w== + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -3075,6 +5816,39 @@ svgo@^0.7.0: sax "~1.2.1" whet.extend "~0.9.9" +svgo@^1.0.0, svgo@^1.0.5: + version "1.1.1" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.1.1.tgz#12384b03335bcecd85cfa5f4e3375fed671cb985" + integrity sha512-GBkJbnTuFpM4jFbiERHDWhZc/S/kpHToqmZag3aEBjPYK44JAN2QBjvrGIxLOoCyMZjuFQIfTO2eJd8uwLY/9g== + dependencies: + coa "~2.0.1" + colors "~1.1.2" + css-select "^2.0.0" + css-select-base-adapter "~0.1.0" + css-tree "1.0.0-alpha.28" + css-url-regex "^1.1.0" + csso "^3.5.0" + js-yaml "^3.12.0" + mkdirp "~0.5.1" + object.values "^1.0.4" + sax "~1.2.4" + stable "~0.1.6" + unquote "~1.1.1" + util.promisify "~1.0.0" + +tar@^4: + version "4.4.6" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + integrity sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg== + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -3082,21 +5856,100 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" +terser@^3.7.3, terser@^3.8.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.10.0.tgz#6ae15dafecbd02c9788d5f36d27fca32196b533a" + integrity sha512-hNh2WR3YxtKoY7BNSb3+CJ9Xv9bbUuOU9uriIf2F1tiAYNA4rNy2wWuSDV8iKcag27q65KPJ/sPpMWEh6qttgw== + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + source-map-support "~0.5.6" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= +through2@^2.0.0, through2@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + time-zone@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= +timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-inflate@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7" + integrity sha1-k9nez/yIBb1X6uQxDwt0Xptvs6c= + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toml@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.3.tgz#8d683d729577cb286231dfc7a8affe58d31728fb" + integrity sha512-O7L5hhSQHxuufWUdcTRPfuTh3phKfAZ/dqfxZFoxPCj2RYmpaSGLEIs016FCXItQwNr08yefUB5TSjzRYnajTA== + +tomlify-j0.4@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tomlify-j0.4/-/tomlify-j0.4-3.0.0.tgz#99414d45268c3a3b8bf38be82145b7bba34b7473" + integrity sha512-2Ulkc8T7mXJ2l0W476YC/A209PR38Nw8PuaCNtk9uI3t1zzFdGQeWYGQvmj2PZkVvRC/Yoi4xQKMRnWc/N29tQ== + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -3111,6 +5964,23 @@ tslib@1.9.3: version "0.9.0" resolved "https://github.com/VitorluizC/tsm#30089842d5641995a3b877e10edf1b5335d61b05" +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + typescript@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.2.tgz#c03a5d16f30bb60ad8bb6fe8e7cb212eedeec950" @@ -3147,6 +6017,24 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== +unicode-trie@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/unicode-trie/-/unicode-trie-0.3.1.tgz#d671dddd89101a08bac37b6a5161010602052085" + integrity sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU= + dependencies: + pako "^0.2.5" + tiny-inflate "^1.0.0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -3162,6 +6050,37 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + use-config@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/use-config/-/use-config-2.0.4.tgz#1e14e5dbc600533aa5cd1b35d43a5be849b45b0c" @@ -3171,6 +6090,43 @@ use-config@^2.0.4: path-exists "^3.0.0" pupa "^1.0.0" +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A== + dependencies: + inherits "2.0.3" + +v8-compile-cache@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" + integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -3194,11 +6150,25 @@ vlq@^1.0.0: resolved "https://registry.yarnpkg.com/vlq/-/vlq-1.0.0.tgz#8101be90843422954c2b13eb27f2f3122bdcc806" integrity sha512-o3WmXySo+oI5thgqr7Qy8uBkT/v9Zr+sRyrh1lr8aWPUkgDWdWt4Nae2WKBrLsocgE8BuWWD0jLc+VW8LeU+2g== +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= + dependencies: + indexof "0.0.1" + vue-template-es2015-compiler@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18" integrity sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg== +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" @@ -3211,6 +6181,13 @@ which@^1.2.9: dependencies: isexe "^2.0.0" +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + widest-line@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.0.tgz#0142a4e8a243f8882c0233aa0e0281aa76152273" @@ -3218,6 +6195,11 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + wrap-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" @@ -3231,7 +6213,24 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +ws@^5.1.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" + integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + dependencies: + async-limiter "~1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= From d1769adc74c343c364b8c25de436c85480b0c791 Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 12:55:34 -0300 Subject: [PATCH 7/8] :building_construction: uses a common module structure --- .gitignore | 3 +- .vs/config/applicationhost.config | 1033 --------------------------- Example/Example.csproj | 65 -- SpriteGL.sln | 34 - SpriteGL/SpriteGL.csproj | 65 -- bili.config.js | 2 +- {Example => demo}/app.ts | 2 +- {Example => demo}/atlas.png | Bin {Example => demo}/index.html | 0 gulpfile.js | 60 -- package.json | 2 +- {SpriteGL => src}/Shader.ts | 0 {SpriteGL => src}/SpriteRenderer.ts | 0 {SpriteGL => src}/TextDrawer.ts | 0 {SpriteGL => src}/VBO.ts | 0 {SpriteGL => src}/index.ts | 0 tsconfig.json | 2 +- 17 files changed, 6 insertions(+), 1262 deletions(-) delete mode 100644 .vs/config/applicationhost.config delete mode 100644 Example/Example.csproj delete mode 100644 SpriteGL.sln delete mode 100644 SpriteGL/SpriteGL.csproj rename {Example => demo}/app.ts (97%) rename {Example => demo}/atlas.png (100%) rename {Example => demo}/index.html (100%) delete mode 100644 gulpfile.js rename {SpriteGL => src}/Shader.ts (100%) rename {SpriteGL => src}/SpriteRenderer.ts (100%) rename {SpriteGL => src}/TextDrawer.ts (100%) rename {SpriteGL => src}/VBO.ts (100%) rename {SpriteGL => src}/index.ts (100%) diff --git a/.gitignore b/.gitignore index 2830aef..649c577 100644 --- a/.gitignore +++ b/.gitignore @@ -229,4 +229,5 @@ $RECYCLE.BIN/ *.msm *.msp -Example/dist +# Demo bundled sources. +demo/dist diff --git a/.vs/config/applicationhost.config b/.vs/config/applicationhost.config deleted file mode 100644 index 0981446..0000000 --- a/.vs/config/applicationhost.config +++ /dev/null @@ -1,1033 +0,0 @@ - - - - - - - - -
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
- -
-
- -
-
-
- - -
-
-
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Example/Example.csproj b/Example/Example.csproj deleted file mode 100644 index 6163a57..0000000 --- a/Example/Example.csproj +++ /dev/null @@ -1,65 +0,0 @@ - - - - - Debug - {3A2CFE47-DF00-4C73-BBA2-EE58504551F2} - {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - bin - v4.5 - full - true - 1.1 - true - - - - - - - - - - - SpriteGL.d.ts - - - - - 12.0 - - - Example - - - - - - - - True - True - 50668 - / - http://localhost:50668/ - False - False - - - False - - - - - - True - False - False - - - true - false - - - \ No newline at end of file diff --git a/SpriteGL.sln b/SpriteGL.sln deleted file mode 100644 index ab818f0..0000000 --- a/SpriteGL.sln +++ /dev/null @@ -1,34 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.31101.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SpriteGL", "SpriteGL\SpriteGL.csproj", "{45F195DA-75B3-46D7-8329-A461AC171EA9}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BF54AC41-5037-4F9C-9FF6-17CE56F92D94}" - ProjectSection(SolutionItems) = preProject - gulpfile.js = gulpfile.js - package.json = package.json - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Example", "Example\Example.csproj", "{3A2CFE47-DF00-4C73-BBA2-EE58504551F2}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {45F195DA-75B3-46D7-8329-A461AC171EA9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {45F195DA-75B3-46D7-8329-A461AC171EA9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {45F195DA-75B3-46D7-8329-A461AC171EA9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {45F195DA-75B3-46D7-8329-A461AC171EA9}.Release|Any CPU.Build.0 = Release|Any CPU - {3A2CFE47-DF00-4C73-BBA2-EE58504551F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3A2CFE47-DF00-4C73-BBA2-EE58504551F2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3A2CFE47-DF00-4C73-BBA2-EE58504551F2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3A2CFE47-DF00-4C73-BBA2-EE58504551F2}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/SpriteGL/SpriteGL.csproj b/SpriteGL/SpriteGL.csproj deleted file mode 100644 index 34f642b..0000000 --- a/SpriteGL/SpriteGL.csproj +++ /dev/null @@ -1,65 +0,0 @@ - - - - - Debug - {45F195DA-75B3-46D7-8329-A461AC171EA9} - {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - bin - v4.5 - full - true - 1.1 - true - - - - - - - - tsm-0.7.d.ts - - - - - - - - 12.0 - - - SpriteGL - - - - - - - - True - True - 63111 - / - http://localhost:63111/ - False - False - - - False - - - - - - True - False - False - - - true - false - - - \ No newline at end of file diff --git a/bili.config.js b/bili.config.js index b8b0cbf..0fb6b81 100644 --- a/bili.config.js +++ b/bili.config.js @@ -1,7 +1,7 @@ "use strict"; module.exports = { - input: "SpriteGL/index.ts", + input: "src/index.ts", banner: true, format: ["es", "cjs", "umd", "umd-min"], "typescript2": { diff --git a/Example/app.ts b/demo/app.ts similarity index 97% rename from Example/app.ts rename to demo/app.ts index 09848ec..19da394 100644 --- a/Example/app.ts +++ b/demo/app.ts @@ -1,4 +1,4 @@ -var SpriteGL = require("../SpriteGL"); +var SpriteGL = require("../"); window.onload = function () { var canvas = document.getElementById("RenderElement"); diff --git a/Example/atlas.png b/demo/atlas.png similarity index 100% rename from Example/atlas.png rename to demo/atlas.png diff --git a/Example/index.html b/demo/index.html similarity index 100% rename from Example/index.html rename to demo/index.html diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 20d8231..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,60 +0,0 @@ -var gulp = require("gulp"); -var typescript = require("gulp-typescript"); -var concat = require("gulp-concat"); -var open = require("open"); -var StaticServer = require('static-server'); -var addsrc = require('gulp-add-src'); -var runsequence = require("run-sequence"); -var fs = require("fs"); - -gulp.task("build", function () { - runsequence("build-files", "remove-internal-classes") -}); - -gulp.task("build-files", function () { - var tsResult = gulp.src(["./SpriteGL/*.ts", "./3rd/tsm-0.7.d.ts"]) - .pipe(typescript({ sortOutput: true, target: "ES5", removeComments: true, declarationFiles: true })); - - tsResult.dts - .pipe(concat("SpriteGL.d.ts")) - .pipe(gulp.dest("./bin")); - - tsResult.js - .pipe(addsrc("./3rd/tsm-0.7.js")) - .pipe(concat("SpriteGL.js")) - .pipe(gulp.dest("./bin")); -}); - -gulp.task("debug", function () { - gulp.src("./bin/SpriteGL.js") - .pipe(gulp.dest("./Example")); - - var tsResult = gulp.src(["./Example/*.ts", "./bin/SpriteGL.d.ts"]) - .pipe(typescript({ target: "ES5" })) - .pipe(gulp.dest("./Example")); - - var server = new StaticServer({ rootPath: './Example', port: 80, host: 'localhost' }); - - server.start(function () { - console.log('Server listening to', server.port); - open("http://localhost") - }); -}) - -gulp.task("remove-internal-classes", function () { - setTimeout(function () { - var data = fs.readFileSync('./bin/SpriteGL.d.ts').toString(); - var start = data.indexOf("class SpriteRenderer {", 0); - var end = data.indexOf("}", start + 1); - var new_string = data.substring(start, end + 1); - var lines = new_string.split("\n"); - for (var i = 0; i < lines.length; i++) { - if (lines[i].indexOf("private") !== -1) { - lines.splice(i, 1); - i--; - } - } - new_string = lines.join("\n"); - fs.writeFileSync('./bin/SpriteGL.d.ts', "declare module SpriteGL { \n" + new_string + "\n }"); - }, 1000); -}); diff --git a/package.json b/package.json index 6677d0c..2096152 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "umd:main": "dist/SpriteGL.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "start": "parcel Example/index.html --out-dir Example/dist", + "start": "parcel demo/index.html --out-dir demo/dist", "build": "bili" }, "author": "", diff --git a/SpriteGL/Shader.ts b/src/Shader.ts similarity index 100% rename from SpriteGL/Shader.ts rename to src/Shader.ts diff --git a/SpriteGL/SpriteRenderer.ts b/src/SpriteRenderer.ts similarity index 100% rename from SpriteGL/SpriteRenderer.ts rename to src/SpriteRenderer.ts diff --git a/SpriteGL/TextDrawer.ts b/src/TextDrawer.ts similarity index 100% rename from SpriteGL/TextDrawer.ts rename to src/TextDrawer.ts diff --git a/SpriteGL/VBO.ts b/src/VBO.ts similarity index 100% rename from SpriteGL/VBO.ts rename to src/VBO.ts diff --git a/SpriteGL/index.ts b/src/index.ts similarity index 100% rename from SpriteGL/index.ts rename to src/index.ts diff --git a/tsconfig.json b/tsconfig.json index a183b01..952ae50 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "files": ["SpriteGL/index.ts"], + "files": ["src/index.ts"], "compilerOptions": { "declaration": true, "declarationDir": "types/" From 2848bfc07da6a3b22a7ff25761911305e06d5d5a Mon Sep 17 00:00:00 2001 From: Vitor Luiz Cavalcanti Date: Thu, 11 Oct 2018 13:07:52 -0300 Subject: [PATCH 8/8] :memo: creates docs to run demo and install --- README.md | 27 +++++++++++++++++++++++++-- package.json | 2 +- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5a7520a..de1a718 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,28 @@ # SpriteGL -Simple library for displaying sprites +Simple library for displaying sprites. -Example use in ```./Example/app.ts``` +## Installation + +Install from GitHub. + +```sh +npm install --save https://github.com/krtr/SpriteGL + +# For Yarn use the command below. +yarn add https://github.com/krtr/SpriteGL +``` + +## Running demo app + +To execute demo app you have to install dependencies and run `start` script. + +```sh +# Installs library dependencies. +npm install + +# Bundle and starts demo app. +npm run start +``` + +Demo app will be at http://localhost:1234. diff --git a/package.json b/package.json index 2096152..f1aee4b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpriteGL", - "version": "0.0.0", + "version": "0.1.0", "description": "Easy and fast sprite rendereing", "cdn": "dist/SpriteGL.min.js", "main": "dist/SpriteGL.cjs.js",